From 1d07b7c4ce836c902b8619eb2edcee43ce1f2788 Mon Sep 17 00:00:00 2001 From: Javier Rodriguez Date: Wed, 3 May 2017 11:00:10 +0200 Subject: [PATCH 1/3] Checks if the composer is empty inside the asynchronous function --- src/views/composer.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/views/composer.js b/src/views/composer.js index 17be2f8..ab6f14c 100644 --- a/src/views/composer.js +++ b/src/views/composer.js @@ -425,8 +425,8 @@ // Ensures when editor is empty and not line breaks mode, the inital state has a paragraph in it on focus with caret inside paragraph if (!this.config.useLineBreaks) { dom.observe(this.element, ["focus"], function() { - if (that.isEmpty()) { - setTimeout(function() { + setTimeout(function() { + if (that.isEmpty()) { var paragraph = that.doc.createElement("P"); that.element.innerHTML = ""; that.element.appendChild(paragraph); @@ -436,8 +436,8 @@ } else { that.selection.selectNode(paragraph, true); } - }, 0); - } + } + }, 0); }); } From 0e202797540c2cd903486a32cafa16d395c5eda7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Rodr=C3=ADguez?= Date: Wed, 3 May 2017 11:46:49 +0200 Subject: [PATCH 2/3] Updates dist --- dist/minified/wysihtml.all-commands.min.js | 2 +- dist/minified/wysihtml.min.js | 8 ++++---- dist/minified/wysihtml.min.map | 2 +- dist/wysihtml.js | 10 +++++----- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/dist/minified/wysihtml.all-commands.min.js b/dist/minified/wysihtml.all-commands.min.js index 1169bd1..235c510 100644 --- a/dist/minified/wysihtml.all-commands.min.js +++ b/dist/minified/wysihtml.all-commands.min.js @@ -1,4 +1,4 @@ -/*! wysihtml - v0.6.0-beta1 (2016-09-01) */ +/*! wysihtml - v0.6.0-beta1 (2017-05-03) */ wysihtml.commands.alignCenterStyle=function(){var a={styleProperty:"textAlign",styleValue:"center",toggle:!0};return{exec:function(b,c){return wysihtml.commands.formatBlock.exec(b,"formatBlock",a)},state:function(b,c){return wysihtml.commands.formatBlock.state(b,"formatBlock",a)}}}(),wysihtml.commands.alignJustifyStyle=function(){var a={styleProperty:"textAlign",styleValue:"justify",toggle:!0};return{exec:function(b,c){return wysihtml.commands.formatBlock.exec(b,"formatBlock",a)},state:function(b,c){return wysihtml.commands.formatBlock.state(b,"formatBlock",a)}}}(),wysihtml.commands.alignLeftStyle=function(){var a={styleProperty:"textAlign",styleValue:"left",toggle:!0};return{exec:function(b,c){return wysihtml.commands.formatBlock.exec(b,"formatBlock",a)},state:function(b,c){return wysihtml.commands.formatBlock.state(b,"formatBlock",a)}}}(),wysihtml.commands.alignRightStyle=function(){var a={styleProperty:"textAlign",styleValue:"right",toggle:!0};return{exec:function(b,c){return wysihtml.commands.formatBlock.exec(b,"formatBlock",a)},state:function(b,c){return wysihtml.commands.formatBlock.state(b,"formatBlock",a)}}}(),wysihtml.commands.bgColorStyle=function(){return{exec:function(a,b,c){var d,e=wysihtml.quirks.styleParser.parseColor("background-color:"+(c.color||c),"background-color");e&&(d=(1===e[3]?"rgb("+[e[0],e[1],e[2]].join(", "):"rgba("+e.join(", "))+")",wysihtml.commands.formatInline.exec(a,b,{styleProperty:"backgroundColor",styleValue:d}))},state:function(a,b,c){var d,e=c?wysihtml.quirks.styleParser.parseColor("background-color:"+(c.color||c),"background-color"):null;return e&&(d=(1===e[3]?"rgb("+[e[0],e[1],e[2]].join(", "):"rgba("+e.join(", "))+")"),wysihtml.commands.formatInline.state(a,b,{styleProperty:"backgroundColor",styleValue:d})},remove:function(a,b){return wysihtml.commands.formatInline.remove(a,b,{styleProperty:"backgroundColor"})},stateValue:function(a,b,c){var d,e=this.state(a,b),f=!1;return e&&wysihtml.lang.object(e).isArray()&&(e=e[0]),e&&(d=e.getAttribute("style"))?(f=wysihtml.quirks.styleParser.parseColor(d,"background-color"),wysihtml.quirks.styleParser.unparseColor(f,c)):!1}}}(),wysihtml.commands.bold=function(){var a={nodeName:"B",toggle:!0};return{exec:function(b,c){wysihtml.commands.formatInline.exec(b,c,a)},state:function(b,c){return wysihtml.commands.formatInline.state(b,c,a)}}}(),wysihtml.commands.formatCode=function(){return{exec:function(a,b,c){var d,e,f,g=this.state(a)[0];g?a.selection.executeAndRestore(function(){d=g.querySelector("code"),wysihtml.dom.replaceWithChildNodes(g),d&&wysihtml.dom.replaceWithChildNodes(d)}):(e=a.selection.getRange(),f=e.extractContents(),g=a.doc.createElement("pre"),d=a.doc.createElement("code"),c&&(d.className=c),g.appendChild(d),d.appendChild(f),e.insertNode(g),a.selection.selectNode(g))},state:function(a){var b,c=a.selection.getSelectedNode();return c&&c.nodeName&&"PRE"==c.nodeName&&c.firstChild&&c.firstChild.nodeName&&"CODE"==c.firstChild.nodeName?[c]:(b=wysihtml.dom.getParentElement(c,{query:"pre code"}),b?[b.parentNode]:!1)}}}(),wysihtml.commands.insertImage=function(){var a="IMG";return{exec:function(b,c,d){d="object"==typeof d?d:{src:d};var e,f,g=b.doc,h=this.state(b);if(h&&!d.src)return b.selection.setBefore(h),f=h.parentNode,f.removeChild(h),wysihtml.dom.removeEmptyTextNodes(f),"A"!==f.nodeName||f.firstChild||(b.selection.setAfter(f),f.parentNode.removeChild(f)),void wysihtml.quirks.redraw(b.element);if(h)for(var i in d)d.hasOwnProperty(i)&&h.setAttribute("className"===i?"class":i,d[i]);else{h=g.createElement(a);for(var j in d)h.setAttribute("className"===j?"class":j,d[j]);b.selection.insertNode(h),wysihtml.browser.hasProblemsSettingCaretAfterImg()?(e=g.createTextNode(wysihtml.INVISIBLE_SPACE),b.selection.insertNode(e),b.selection.setAfter(e)):b.selection.setAfter(h)}},state:function(b){var c,d,e,f=b.doc;return wysihtml.dom.hasElementWithTagName(f,a)&&(c=b.selection.getSelectedNode())?c.nodeName===a?c:c.nodeType!==wysihtml.ELEMENT_NODE?!1:(d=b.selection.getText(),(d=wysihtml.lang.string(d).trim())?!1:(e=b.selection.getNodes(wysihtml.ELEMENT_NODE,function(a){return"IMG"===a.nodeName}),1!==e.length?!1:e[0])):!1}}}(),wysihtml.commands.fontSize=function(){var a=/wysiwyg-font-size-[0-9a-z\-]+/g;return{exec:function(b,c,d){wysihtml.commands.formatInline.exec(b,c,{className:"wysiwyg-font-size-"+d,classRegExp:a,toggle:!0})},state:function(a,b,c){return wysihtml.commands.formatInline.state(a,b,{className:"wysiwyg-font-size-"+c})}}}(),wysihtml.commands.fontSizeStyle=function(){return{exec:function(a,b,c){c=c.size||c,/^\s*$/.test(c)||wysihtml.commands.formatInline.exec(a,b,{styleProperty:"fontSize",styleValue:c,toggle:!1})},state:function(a,b,c){return wysihtml.commands.formatInline.state(a,b,{styleProperty:"fontSize",styleValue:c||void 0})},remove:function(a,b){return wysihtml.commands.formatInline.remove(a,b,{styleProperty:"fontSize"})},stateValue:function(a,b){var c,d=this.state(a,b);return d&&wysihtml.lang.object(d).isArray()&&(d=d[0]),d&&(c=d.getAttribute("style"))?wysihtml.quirks.styleParser.parseFontSize(c):!1}}}(),wysihtml.commands.foreColor=function(){var a=/wysiwyg-color-[0-9a-z]+/g;return{exec:function(b,c,d){wysihtml.commands.formatInline.exec(b,c,{className:"wysiwyg-color-"+d,classRegExp:a,toggle:!0})},state:function(a,b,c){return wysihtml.commands.formatInline.state(a,b,{className:"wysiwyg-color-"+c})}}}(),wysihtml.commands.foreColorStyle=function(){return{exec:function(a,b,c){var d,e;c&&(d=wysihtml.quirks.styleParser.parseColor("color:"+(c.color||c),"color"),d&&(e=(1===d[3]?"rgb("+[d[0],d[1],d[2]].join(", "):"rgba("+d.join(", "))+")",wysihtml.commands.formatInline.exec(a,b,{styleProperty:"color",styleValue:e})))},state:function(a,b,c){var d,e=c?wysihtml.quirks.styleParser.parseColor("color:"+(c.color||c),"color"):null;return e&&(d=(1===e[3]?"rgb("+[e[0],e[1],e[2]].join(", "):"rgba("+e.join(", "))+")"),wysihtml.commands.formatInline.state(a,b,{styleProperty:"color",styleValue:d})},remove:function(a,b){return wysihtml.commands.formatInline.remove(a,b,{styleProperty:"color"})},stateValue:function(a,b,c){var d,e=this.state(a,b),f=!1;return e&&wysihtml.lang.object(e).isArray()&&(e=e[0]),e&&(d=e.getAttribute("style"))?(f=wysihtml.quirks.styleParser.parseColor(d,"color"),wysihtml.quirks.styleParser.unparseColor(f,c)):!1}}}(),wysihtml.commands.insertBlockQuote=function(){var a={nodeName:"BLOCKQUOTE",toggle:!0};return{exec:function(b,c){return wysihtml.commands.formatBlock.exec(b,"formatBlock",a)},state:function(b,c){return wysihtml.commands.formatBlock.state(b,"formatBlock",a)}}}(),wysihtml.commands.insertHorizontalRule=function(){return{exec:function(a){var b=a.selection.getSelectedNode(),c=wysihtml.dom.getParentElement(b,{query:wysihtml.PERMITTED_PHRASING_CONTENT_ONLY},null,a.editableArea),d=document.createElement("hr");c?a.selection.splitElementAtCaret(c,d):a.selection.insertNode(d),d.nextSibling?a.selection.setBefore(d.nextSibling):a.selection.setAfter(d)},state:function(){return!1}}}(),wysihtml.commands.insertOrderedList=function(){return{exec:function(a,b){wysihtml.commands.insertList.exec(a,b,"OL")},state:function(a,b){return wysihtml.commands.insertList.state(a,b,"OL")}}}(),wysihtml.commands.insertUnorderedList=function(){return{exec:function(a,b){wysihtml.commands.insertList.exec(a,b,"UL")},state:function(a,b){return wysihtml.commands.insertList.state(a,b,"UL")}}}(),wysihtml.commands.italic=function(){var a={nodeName:"I",toggle:!0};return{exec:function(b,c){wysihtml.commands.formatInline.exec(b,c,a)},state:function(b,c){return wysihtml.commands.formatInline.state(b,c,a)}}}(),wysihtml.commands.justifyCenter=function(){var a={className:"wysiwyg-text-align-center",classRegExp:/wysiwyg-text-align-[0-9a-z]+/g,toggle:!0};return{exec:function(b,c){return wysihtml.commands.formatBlock.exec(b,"formatBlock",a)},state:function(b,c){return wysihtml.commands.formatBlock.state(b,"formatBlock",a)}}}(),wysihtml.commands.justifyFull=function(){var a={className:"wysiwyg-text-align-justify",classRegExp:/wysiwyg-text-align-[0-9a-z]+/g,toggle:!0};return{exec:function(b,c){return wysihtml.commands.formatBlock.exec(b,"formatBlock",a)},state:function(b,c){return wysihtml.commands.formatBlock.state(b,"formatBlock",a)}}}(),wysihtml.commands.justifyLeft=function(){var a={className:"wysiwyg-text-align-left",classRegExp:/wysiwyg-text-align-[0-9a-z]+/g,toggle:!0};return{exec:function(b,c){return wysihtml.commands.formatBlock.exec(b,"formatBlock",a)},state:function(b,c){return wysihtml.commands.formatBlock.state(b,"formatBlock",a)}}}(),wysihtml.commands.justifyRight=function(){var a={className:"wysiwyg-text-align-right",classRegExp:/wysiwyg-text-align-[0-9a-z]+/g,toggle:!0};return{exec:function(b,c){return wysihtml.commands.formatBlock.exec(b,"formatBlock",a)},state:function(b,c){return wysihtml.commands.formatBlock.state(b,"formatBlock",a)}}}(),wysihtml.commands.subscript=function(){var a={nodeName:"SUB",toggle:!0};return{exec:function(b,c){wysihtml.commands.formatInline.exec(b,c,a)},state:function(b,c){return wysihtml.commands.formatInline.state(b,c,a)}}}(),wysihtml.commands.superscript=function(){var a={nodeName:"SUP",toggle:!0};return{exec:function(b,c){wysihtml.commands.formatInline.exec(b,c,a)},state:function(b,c){return wysihtml.commands.formatInline.state(b,c,a)}}}(),wysihtml.commands.underline=function(){var a={nodeName:"U",toggle:!0};return{exec:function(b,c){wysihtml.commands.formatInline.exec(b,c,a)},state:function(b,c){return wysihtml.commands.formatInline.state(b,c,a)}}}(); //# sourceMappingURL=wysihtml.all-commands.min.map \ No newline at end of file diff --git a/dist/minified/wysihtml.min.js b/dist/minified/wysihtml.min.js index 781415d..a0c8ed4 100644 --- a/dist/minified/wysihtml.min.js +++ b/dist/minified/wysihtml.min.js @@ -1,10 +1,10 @@ -/*! wysihtml - v0.6.0-beta1 (2016-09-01) */ +/*! wysihtml - v0.6.0-beta1 (2017-05-03) */ var wysihtml={version:"0.6.0-beta1",commands:{},dom:{},quirks:{},toolbar:{},lang:{},selection:{},views:{},editorExtenders:[],extendEditor:function(a){this.editorExtenders.push(a)},INVISIBLE_SPACE:"\ufeff",INVISIBLE_SPACE_REG_EXP:/\uFEFF/g,VOID_ELEMENTS:"area, base, br, col, embed, hr, img, input, keygen, link, meta, param, source, track, wbr",PERMITTED_PHRASING_CONTENT_ONLY:"h1, h2, h3, h4, h5, h6, p, pre",EMPTY_FUNCTION:function(){},ELEMENT_NODE:1,TEXT_NODE:3,BACKSPACE_KEY:8,ENTER_KEY:13,ESCAPE_KEY:27,SPACE_KEY:32,TAB_KEY:9,DELETE_KEY:46};wysihtml.polyfills=function(a,b){var c={normalizeHasCaretError:function(){if("createRange"in b&&"getSelection"in a){var c,d,e,f=window.pageYOffset,g=window.pageXOffset,h=b.createElement("div"),i=b.createTextNode("a"),j=b.createTextNode("a"),k=b.createTextNode("a"),l=b.createRange();return document.activeElement&&(1===document.activeElement.nodeType&&["INPUT","TEXTAREA","SELECT","BUTTON"].indexOf(document.activeElement.nodeName)>-1?c={type:"form",node:document.activeElement,start:document.activeElement.selectionStart,end:document.activeElement.selectionEnd}:(d=a.getSelection(),d&&d.anchorNode&&(c={type:"range",anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}))),h.setAttribute("contenteditable","true"),h.appendChild(i),h.appendChild(j),h.appendChild(k),b.body.appendChild(h),l.setStart(j,1),l.setEnd(j,1),d=a.getSelection(),d.removeAllRanges(),d.addRange(l),h.normalize(),d=a.getSelection(),e=1!==h.childNodes.length||d.anchorNode!==h.firstChild||2!==d.anchorOffset,h.parentNode.removeChild(h),d.removeAllRanges(),c&&("form"===c.type?("undefined"!=typeof c.start&&"undefined"!=typeof c.end&&c.node.setSelectionRange(c.start,c.end),c.node.focus()):"range"===c.type&&(l=b.createRange(),l.setStart(c.anchorNode,c.anchorOffset),l.setEnd(c.focusNode,c.focusOffset),d.addRange(l))),(f!==window.pageYOffset||g!==window.pageXOffset)&&a.scrollTo(g,f),e}},apply:function(){function d(){try{var b=new a.CustomEvent("cat",{detail:{foo:"bar"}});return"cat"===b.type&&"bar"===b.detail.foo}catch(c){}return!1}!function(a){a.matches=a.matches||a.mozMatchesSelector||a.msMatchesSelector||a.oMatchesSelector||a.webkitMatchesSelector||function(a){for(var b=this,c=(b.document||b.ownerDocument).querySelectorAll(a),d=0;c[d]&&c[d]!==b;)++d;return c[d]?!0:!1},a.closest=a.closest||function(a){for(var b=this;b&&!b.matches(a);)b=b.parentElement;return b},a.remove=a.remove||function(){this.parentNode&&this.parentNode.removeChild(this)}}(a.Element.prototype),"classList"in b.documentElement||!a.Object.defineProperty||"undefined"==typeof a.HTMLElement||a.Object.defineProperty(a.HTMLElement.prototype,"classList",{get:function(){function b(a){return function(b){var d=c.className.split(/\s+/),e=d.indexOf(b);a(d,e,b),c.className=d.join(" ")}}var c=this,d={add:b(function(a,b,c){~b||a.push(c)}),remove:b(function(a,b){~b&&a.splice(b,1)}),toggle:b(function(a,b,c){~b?a.splice(b,1):a.push(c)}),contains:function(a){return!!~c.className.split(/\s+/).indexOf(a)},item:function(a){return c.className.split(/\s+/)[a]||null}};return a.Object.defineProperty(d,"length",{get:function(){return c.className.split(/\s+/).length}}),d}});var e=function(a){var b=[];for(a=a.firstChild;a;a=a.nextSibling)3==a.nodeType?b.push(a):b=b.concat(e(a));return b},f=function(a){var b=a.ownerDocument,c=a;do{if(c===b)return!0;c=c.parentNode}while(c);return!1},g=function(){var b=(a.Node.prototype.normalize,function(){var b=e(this),c=this.ownerDocument.defaultView.getSelection(),d=c.anchorNode,g=c.anchorOffset,h=d&&1===d.nodeType&&d.childNodes.length>0?d.childNodes[g]:void 0,i=c.focusNode,j=c.focusOffset,k=i&&1===i.nodeType&&j>0?i.childNodes[j-1]:void 0,l=this.ownerDocument.createRange(),m=b.shift(),n=m?b.shift():null;for(k&&3===k.nodeType&&(i=k,j=k.nodeValue.length,k=void 0),h&&3===h.nodeType&&(d=h,g=0,h=void 0),(d===i&&g>j||d!==i&&d.compareDocumentPosition(i)&a.Node.DOCUMENT_POSITION_PRECEDING&&!(d.compareDocumentPosition(i)&a.Node.DOCUMENT_POSITION_CONTAINS))&&(i=[d,d=i][0],j=[g,g=j][0]);m&&n;)n.previousSibling&&n.previousSibling===m?(d===n&&(d=m,g=m.nodeValue.length+g),i===n&&(i=m,j=m.nodeValue.length+j),m.nodeValue=m.nodeValue+n.nodeValue,n.parentNode.removeChild(n),n=b.shift()):(m=n,n=b.shift());k&&(j=Array.prototype.indexOf.call(k.parentNode.childNodes,k)+1),h&&(g=Array.prototype.indexOf.call(h.parentNode.childNodes,h)),f(this)&&d&&d.parentNode&&i&&i.parentNode&&(l.setStart(d,g),l.setEnd(i,j),c.removeAllRanges(),c.addRange(l))});a.Node.prototype.normalize=b},h=function(){a.removeEventListener("load",h),"Node"in a&&"normalize"in a.Node.prototype&&c.normalizeHasCaretError()&&g()};"complete"!==b.readyState?a.addEventListener("load",h):h(),function(){function c(a,c){c=c||{bubbles:!1,cancelable:!1,detail:void 0};var d=b.createEvent("CustomEvent");return d.initCustomEvent(a,c.bubbles,c.cancelable,c.detail),d}!d()&&"CustomEvent"in a&&(c.prototype=a.Event.prototype,a.CustomEvent=c)}()}};return c},wysihtml.polyfills(window,document).apply();var Base=function(){};Base.extend=function(a,b){var c=Base.prototype.extend;Base._prototyping=!0;var d=new this;c.call(d,a),d.base=function(){},delete Base._prototyping;var e=d.constructor,f=d.constructor=function(){if(!Base._prototyping)if(this._constructing||this.constructor==f)this._constructing=!0,e.apply(this,arguments),delete this._constructing;else if(null!=arguments[0])return(arguments[0].extend||c).call(arguments[0],d)};return f.ancestor=this,f.extend=this.extend,f.forEach=this.forEach,f.implement=this.implement,f.prototype=d,f.toString=this.toString,f.valueOf=function(a){return"object"==a?f:e.valueOf()},c.call(f,b),"function"==typeof f.init&&f.init(),f},Base.prototype={extend:function(a,b){if(arguments.length>1){var c=this[a];if(c&&"function"==typeof b&&(!c.valueOf||c.valueOf()!=b.valueOf())&&/\bbase\b/.test(b)){var d=b.valueOf();b=function(){var a=this.base||Base.prototype.base;this.base=c;var b=d.apply(this,arguments);return this.base=a,b},b.valueOf=function(a){return"object"==a?b:d},b.toString=Base.toString}this[a]=b}else if(a){var e=Base.prototype.extend;Base._prototyping||"function"==typeof this||(e=this.extend||e);for(var f={toSource:null},g=["constructor","toString","valueOf"],h=Base._prototyping?0:1;i=g[h++];)a[i]!=f[i]&&e.call(this,i,a[i]);for(var i in a)f[i]||e.call(this,i,a[i])}return this}},Base=Base.extend({constructor:function(){this.extend(arguments[0])}},{ancestor:Object,version:"1.1",forEach:function(a,b,c){for(var d in a)void 0===this.prototype[d]&&b.call(c,a[d],d,a)},implement:function(){for(var a=0;an;++n)try{K[n](H)}catch(q){l="Rangy init listener threw an exception. Continuing. Detail: "+k(q),g(l)}}}function m(a,b,c){c&&(a+=" in module "+c.name),H.warn("DEPRECATED: "+a+" is deprecated. Please use "+b+" instead.")}function n(a,b,c,d){a[b]=function(){return m(b,c,d),a[c].apply(a,G.toArray(arguments))}}function o(a){a=a||window,l();for(var b=0,c=L.length;c>b;++b)L[b](a)}function p(a,b,c){this.name=a,this.dependencies=b,this.initialized=!1,this.supported=!1,this.initializer=c}function q(a,b,c){var d=new p(a,b,function(b){if(!b.initialized){b.initialized=!0;try{c(H,b),b.supported=!0}catch(d){var e="Module '"+a+"' failed to load: "+k(d);g(e),d.stack&&g(d.stack)}}});return E[a]=d,d}function r(){}function s(){}var t="object",u="function",v="undefined",w=["startContainer","startOffset","endContainer","endOffset","collapsed","commonAncestorContainer"],x=["setStart","setStartBefore","setStartAfter","setEnd","setEndBefore","setEndAfter","collapse","selectNode","selectNodeContents","compareBoundaryPoints","deleteContents","extractContents","cloneContents","insertNode","surroundContents","cloneRange","toString","detach"],y=["boundingHeight","boundingLeft","boundingTop","boundingWidth","htmlText","text"],z=["collapse","compareEndPoints","duplicate","moveToElementText","parentElement","select","setEndPoint","getBoundingClientRect"],A=d(a),B=d(b),C=d(c),D=[].forEach?function(a,b){a.forEach(b)}:function(a,b){for(var c=0,d=a.length;d>c;++c)b(a[c],c)},E={},F=typeof window!=v&&typeof document!=v,G={isHostMethod:a,isHostObject:b,isHostProperty:c,areHostMethods:A,areHostObjects:B,areHostProperties:C,isTextRange:e,getBody:f,forEach:D},H={version:"1.3.1-dev",initialized:!1,isBrowser:F,supported:!0,util:G,features:{},modules:E,config:{alertOnFail:!1,alertOnWarn:!1,preferTextRange:!1,autoInitialize:typeof rangyAutoInitialize==v?!0:rangyAutoInitialize}};H.fail=i,H.warn=j;var I;({}).hasOwnProperty?(G.extend=I=function(a,b,c){var d,e;for(var f in b)b.hasOwnProperty(f)&&(d=a[f],e=b[f],c&&null!==d&&"object"==typeof d&&null!==e&&"object"==typeof e&&I(d,e,!0),a[f]=e);return b.hasOwnProperty("toString")&&(a.toString=b.toString),a},G.createOptions=function(a,b){var c={};return I(c,b),a&&I(c,a),c}):i("hasOwnProperty not supported"),F||i("Rangy can only run in a browser"),function(){var a;if(F){var b=document.createElement("div");b.appendChild(document.createElement("span"));var c=[].slice;try{1==c.call(b.childNodes,0)[0].nodeType&&(a=function(a){return c.call(a,0)})}catch(d){}}a||(a=function(a){for(var b=[],c=0,d=a.length;d>c;++c)b[c]=a[c];return b}),G.toArray=a}();var J;F&&(a(document,"addEventListener")?J=function(a,b,c){a.addEventListener(b,c,!1)}:a(document,"attachEvent")?J=function(a,b,c){a.attachEvent("on"+b,c)}:i("Document does not have required addEventListener or attachEvent method"),G.addListener=J);var K=[];G.deprecationNotice=m,G.createAliasForDeprecatedMethod=n,H.init=l,H.addInitListener=function(a){H.initialized?a(H):K.push(a)};var L=[];H.addShimListener=function(a){L.push(a)},F&&(H.shim=H.createMissingNativeApi=o,n(H,"createMissingNativeApi","shim")),p.prototype={init:function(){for(var a,b,c=this.dependencies||[],d=0,e=c.length;e>d;++d){if(b=c[d],a=E[b],!(a&&a instanceof p))throw new Error("required module '"+b+"' not found");if(a.init(),!a.supported)throw new Error("required module '"+b+"' not supported")}this.initializer(this)},fail:function(a){throw this.initialized=!0,this.supported=!1,new Error(a)},warn:function(a){H.warn("Module "+this.name+": "+a)},deprecationNotice:function(a,b){H.warn("DEPRECATED: "+a+" in module "+this.name+" is deprecated. Please use "+b+" instead")},createError:function(a){return new Error("Error in Rangy "+this.name+" module: "+a)}},H.createModule=function(a){var b,c;2==arguments.length?(b=arguments[1],c=[]):(b=arguments[2],c=arguments[1]);var d=q(a,c,b);H.initialized&&H.supported&&d.init()},H.createCoreModule=function(a,b,c){q(a,b,c)},H.RangePrototype=r,H.rangePrototype=new r,H.selectionPrototype=new s,H.createCoreModule("DomUtil",[],function(a,b){function c(a){var b;return typeof a.namespaceURI==F||null===(b=a.namespaceURI)||"http://www.w3.org/1999/xhtml"==b}function d(a){var b=a.parentNode;return 1==b.nodeType?b:null}function e(a){for(var b=0;a=a.previousSibling;)++b;return b}function f(a){switch(a.nodeType){case 7:case 10:return 0;case 3:case 8:return a.length;default:return a.childNodes.length}}function g(a,b){var c,d=[];for(c=a;c;c=c.parentNode)d.push(c);for(c=b;c;c=c.parentNode)if(K(d,c))return c;return null}function h(a,b,c){for(var d=c?b:b.parentNode;d;){if(d===a)return!0;d=d.parentNode}return!1}function i(a,b){return h(a,b,!0)}function j(a,b,c){for(var d,e=c?a:a.parentNode;e;){if(d=e.parentNode,d===b)return e;e=d}return null}function k(a){var b=a.nodeType;return 3==b||4==b||8==b}function l(a){if(!a)return!1;var b=a.nodeType;return 3==b||8==b}function m(a,b){var c=b.nextSibling,d=b.parentNode;return c?d.insertBefore(a,c):d.appendChild(a),a}function n(a,b,c){var d=a.cloneNode(!1);if(d.deleteData(0,b),a.deleteData(b,a.length-b),m(d,a),c)for(var f,g=0;f=c[g++];)f.node==a&&f.offset>b?(f.node=d,f.offset-=b):f.node==a.parentNode&&f.offset>e(a)&&++f.offset;return d}function o(a){if(9==a.nodeType)return a;if(typeof a.ownerDocument!=F)return a.ownerDocument;if(typeof a.document!=F)return a.document;if(a.parentNode)return o(a.parentNode);throw b.createError("getDocument: no document found for node")}function p(a){var c=o(a);if(typeof c.defaultView!=F)return c.defaultView;if(typeof c.parentWindow!=F)return c.parentWindow;throw b.createError("Cannot get a window object for node")}function q(a){if(typeof a.contentDocument!=F)return a.contentDocument;if(typeof a.contentWindow!=F)return a.contentWindow.document;throw b.createError("getIframeDocument: No Document object found for iframe element")}function r(a){if(typeof a.contentWindow!=F)return a.contentWindow;if(typeof a.contentDocument!=F)return a.contentDocument.defaultView;throw b.createError("getIframeWindow: No Window object found for iframe element")}function s(a){return a&&G.isHostMethod(a,"setTimeout")&&G.isHostObject(a,"document")}function t(a,b,c){var d;if(a?G.isHostProperty(a,"nodeType")?d=1==a.nodeType&&"iframe"==a.tagName.toLowerCase()?q(a):o(a):s(a)&&(d=a.document):d=document,!d)throw b.createError(c+"(): Parameter must be a Window object or DOM node");return d}function u(a){for(var b;b=a.parentNode;)a=b;return a}function v(a,c,d,f){var h,i,k,l,m;if(a==d)return c===f?0:f>c?-1:1;if(h=j(d,a,!0))return c<=e(h)?-1:1;if(h=j(a,d,!0))return e(h)[index:"+e(a)+",length:"+a.childNodes.length+"]["+(a.innerHTML||"[innerHTML not supported]").slice(0,25)+"]"}return a.nodeName}function y(a){for(var b,c=o(a).createDocumentFragment();b=a.firstChild;)c.appendChild(b);return c}function z(a,b,c){var d=H(a),e=a.createElement("div");e.contentEditable=""+!!c,b&&(e.innerHTML=b);var f=d.firstChild;return f?d.insertBefore(e,f):d.appendChild(e),e}function A(a){return a.parentNode.removeChild(a)}function B(a){this.root=a,this._next=a}function C(a){return new B(a)}function D(a,b){this.node=a,this.offset=b}function E(a){this.code=this[a],this.codeName=a,this.message="DOMException: "+this.codeName}var F="undefined",G=a.util,H=G.getBody;G.areHostMethods(document,["createDocumentFragment","createElement","createTextNode"])||b.fail("document missing a Node creation method"),G.isHostMethod(document,"getElementsByTagName")||b.fail("document missing getElementsByTagName method");var I=document.createElement("div");G.areHostMethods(I,["insertBefore","appendChild","cloneNode"]||!G.areHostObjects(I,["previousSibling","nextSibling","childNodes","parentNode"]))||b.fail("Incomplete Element implementation"),G.isHostProperty(I,"innerHTML")||b.fail("Element is missing innerHTML property");var J=document.createTextNode("test");G.areHostMethods(J,["splitText","deleteData","insertData","appendData","cloneNode"]||!G.areHostObjects(I,["previousSibling","nextSibling","childNodes","parentNode"])||!G.areHostProperties(J,["data"]))||b.fail("Incomplete Text Node implementation");var K=function(a,b){for(var c=a.length;c--;)if(a[c]===b)return!0;return!1},L=!1;!function(){var b=document.createElement("b");b.innerHTML="1";var c=b.firstChild;b.innerHTML="
",L=w(c),a.features.crashyTextNodes=L}();var M;typeof window.getComputedStyle!=F?M=function(a,b){return p(a).getComputedStyle(a,null)[b]}:typeof document.documentElement.currentStyle!=F?M=function(a,b){return a.currentStyle?a.currentStyle[b]:""}:b.fail("No means of obtaining computed style properties found"),B.prototype={_current:null,hasNext:function(){return!!this._next},next:function(){var a,b,c=this._current=this._next;if(this._current)if(a=c.firstChild)this._next=a;else{for(b=null;c!==this.root&&!(b=c.nextSibling);)c=c.parentNode;this._next=b}return this._current},detach:function(){this._current=this._next=this.root=null}},D.prototype={equals:function(a){return!!a&&this.node===a.node&&this.offset==a.offset},inspect:function(){return"[DomPosition("+x(this.node)+":"+this.offset+")]"},toString:function(){return this.inspect()}},E.prototype={INDEX_SIZE_ERR:1,HIERARCHY_REQUEST_ERR:3,WRONG_DOCUMENT_ERR:4,NO_MODIFICATION_ALLOWED_ERR:7,NOT_FOUND_ERR:8,NOT_SUPPORTED_ERR:9,INVALID_STATE_ERR:11,INVALID_NODE_TYPE_ERR:24},E.prototype.toString=function(){return this.message},a.dom={arrayContains:K,isHtmlNamespace:c,parentElement:d,getNodeIndex:e,getNodeLength:f,getCommonAncestor:g,isAncestorOf:h,isOrIsAncestorOf:i,getClosestAncestorIn:j,isCharacterDataNode:k,isTextOrCommentNode:l,insertAfter:m,splitDataNode:n,getDocument:o,getWindow:p,getIframeWindow:r,getIframeDocument:q,getBody:H,isWindow:s,getContentDocument:t,getRootContainer:u,comparePoints:v,isBrokenNode:w,inspectNode:x,getComputedStyleProperty:M,createTestElement:z,removeNode:A,fragmentFromNodeChildren:y,createIterator:C,DomPosition:D},a.DOMException=E}),H.createCoreModule("DomRange",["DomUtil"],function(a,b){function c(a,b){return 3!=a.nodeType&&(P(a,b.startContainer)||P(a,b.endContainer))}function d(a){return a.document||Q(a.startContainer)}function e(a){return W(a.startContainer)}function f(a){return new L(a.parentNode,O(a))}function g(a){return new L(a.parentNode,O(a)+1)}function h(a,b,c){var d=11==a.nodeType?a.firstChild:a;return N(b)?c==b.length?J.insertAfter(a,b):b.parentNode.insertBefore(a,0==c?b:S(b,c)):c>=b.childNodes.length?b.appendChild(a):b.insertBefore(a,b.childNodes[c]),d}function i(a,b,c){if(z(a),z(b),d(b)!=d(a))throw new M("WRONG_DOCUMENT_ERR");var e=R(a.startContainer,a.startOffset,b.endContainer,b.endOffset),f=R(a.endContainer,a.endOffset,b.startContainer,b.startOffset);return c?0>=e&&f>=0:0>e&&f>0}function j(a){for(var b,c,e,f=d(a.range).createDocumentFragment();c=a.next();){if(b=a.isPartiallySelectedSubtree(),c=c.cloneNode(!b),b&&(e=a.getSubtreeIterator(),c.appendChild(j(e)),e.detach()),10==c.nodeType)throw new M("HIERARCHY_REQUEST_ERR");f.appendChild(c)}return f}function k(a,b,c){var d,e;c=c||{stop:!1};for(var f,g;f=a.next();)if(a.isPartiallySelectedSubtree()){if(b(f)===!1)return void(c.stop=!0);if(g=a.getSubtreeIterator(),k(g,b,c),g.detach(),c.stop)return}else for(d=J.createIterator(f);e=d.next();)if(b(e)===!1)return void(c.stop=!0)}function l(a){for(var b;a.next();)a.isPartiallySelectedSubtree()?(b=a.getSubtreeIterator(),l(b),b.detach()):a.remove()}function m(a){for(var b,c,e=d(a.range).createDocumentFragment();b=a.next();){if(a.isPartiallySelectedSubtree()?(b=b.cloneNode(!1),c=a.getSubtreeIterator(),b.appendChild(m(c)),c.detach()):a.remove(),10==b.nodeType)throw new M("HIERARCHY_REQUEST_ERR");e.appendChild(b)}return e}function n(a,b,c){var d,e=!(!b||!b.length),f=!!c;e&&(d=new RegExp("^("+b.join("|")+")$"));var g=[];return k(new p(a,!1),function(b){if((!e||d.test(b.nodeType))&&(!f||c(b))){var h=a.startContainer;if(b!=h||!N(h)||a.startOffset!=h.length){var i=a.endContainer;b==i&&N(i)&&0==a.endOffset||g.push(b)}}}),g}function o(a){var b="undefined"==typeof a.getName?"Range":a.getName();return"["+b+"("+J.inspectNode(a.startContainer)+":"+a.startOffset+", "+J.inspectNode(a.endContainer)+":"+a.endOffset+")]"}function p(a,b){if(this.range=a,this.clonePartiallySelectedTextNodes=b,!a.collapsed){this.sc=a.startContainer,this.so=a.startOffset,this.ec=a.endContainer,this.eo=a.endOffset;var c=a.commonAncestorContainer;this.sc===this.ec&&N(this.sc)?(this.isSingleCharacterDataNode=!0,this._first=this._last=this._next=this.sc):(this._first=this._next=this.sc!==c||N(this.sc)?T(this.sc,c,!0):this.sc.childNodes[this.so],this._last=this.ec!==c||N(this.ec)?T(this.ec,c,!0):this.ec.childNodes[this.eo-1])}}function q(a){return function(b,c){for(var d,e=c?b:b.parentNode;e;){if(d=e.nodeType,V(a,d))return e;e=e.parentNode}return null}}function r(a,b){if(ea(a,b))throw new M("INVALID_NODE_TYPE_ERR")}function s(a,b){if(!V(b,a.nodeType))throw new M("INVALID_NODE_TYPE_ERR")}function t(a,b){if(0>b||b>(N(a)?a.length:a.childNodes.length))throw new M("INDEX_SIZE_ERR")}function u(a,b){if(ca(a,!0)!==ca(b,!0))throw new M("WRONG_DOCUMENT_ERR")}function v(a){if(da(a,!0))throw new M("NO_MODIFICATION_ALLOWED_ERR")}function w(a,b){if(!a)throw new M(b)}function x(a,b){return b<=(N(a)?a.length:a.childNodes.length)}function y(a){return!!a.startContainer&&!!a.endContainer&&!(X&&(J.isBrokenNode(a.startContainer)||J.isBrokenNode(a.endContainer)))&&W(a.startContainer)==W(a.endContainer)&&x(a.startContainer,a.startOffset)&&x(a.endContainer,a.endOffset)}function z(a){if(!y(a))throw new Error("Range error: Range is not valid. This usually happens after DOM mutation. Range: ("+a.inspect()+")")}function A(a,b){z(a);var c=a.startContainer,d=a.startOffset,e=a.endContainer,f=a.endOffset,g=c===e;N(e)&&f>0&&f0&&d=O(c)&&f++,d=0),a.setStartAndEnd(c,d,e,f)}function B(a){z(a);var b=a.commonAncestorContainer.parentNode.cloneNode(!1);return b.appendChild(a.cloneContents()),b.innerHTML}function C(a){a.START_TO_START=ka,a.START_TO_END=la,a.END_TO_END=ma,a.END_TO_START=na,a.NODE_BEFORE=oa,a.NODE_AFTER=pa,a.NODE_BEFORE_AND_AFTER=qa,a.NODE_INSIDE=ra}function D(a){C(a),C(a.prototype)}function E(a,b){return function(){z(this);var c,d,e=this.startContainer,f=this.startOffset,h=this.commonAncestorContainer,i=new p(this,!0);e!==h&&(c=T(e,h,!0),d=g(c),e=d.node,f=d.offset),k(i,v),i.reset();var j=a(i);return i.detach(),b(this,e,f,e,f),j}}function F(b,d){function e(a,b){return function(c){s(c,Z),s(W(c),$);var d=(a?f:g)(c);(b?h:i)(this,d.node,d.offset)}}function h(a,b,c){var e=a.endContainer,f=a.endOffset;(b!==a.startContainer||c!==a.startOffset)&&((W(b)!=W(e)||1==R(b,c,e,f))&&(e=b,f=c),d(a,b,c,e,f))}function i(a,b,c){var e=a.startContainer,f=a.startOffset;(b!==a.endContainer||c!==a.endOffset)&&((W(b)!=W(e)||-1==R(b,c,e,f))&&(e=b,f=c),d(a,e,f,b,c))}var j=function(){};j.prototype=a.rangePrototype,b.prototype=new j,K.extend(b.prototype,{setStart:function(a,b){r(a,!0),t(a,b),h(this,a,b)},setEnd:function(a,b){r(a,!0),t(a,b),i(this,a,b)},setStartAndEnd:function(){var a=arguments,b=a[0],c=a[1],e=b,f=c;switch(a.length){case 3:f=a[2];break;case 4:e=a[2],f=a[3]}d(this,b,c,e,f)},setBoundary:function(a,b,c){this["set"+(c?"Start":"End")](a,b)},setStartBefore:e(!0,!0),setStartAfter:e(!1,!0),setEndBefore:e(!0,!1),setEndAfter:e(!1,!1),collapse:function(a){z(this),a?d(this,this.startContainer,this.startOffset,this.startContainer,this.startOffset):d(this,this.endContainer,this.endOffset,this.endContainer,this.endOffset)},selectNodeContents:function(a){r(a,!0),d(this,a,0,a,U(a))},selectNode:function(a){r(a,!1),s(a,Z);var b=f(a),c=g(a);d(this,b.node,b.offset,c.node,c.offset)},extractContents:E(m,d),deleteContents:E(l,d),canSurroundContents:function(){z(this),v(this.startContainer),v(this.endContainer);var a=new p(this,!0),b=a._first&&c(a._first,this)||a._last&&c(a._last,this);return a.detach(),!b},splitBoundaries:function(){A(this)},splitBoundariesPreservingPositions:function(a){A(this,a)},normalizeBoundaries:function(){z(this);var a,b=this.startContainer,c=this.startOffset,e=this.endContainer,f=this.endOffset,g=function(a){var b=a.nextSibling;b&&b.nodeType==a.nodeType&&(e=a,f=a.length,a.appendData(b.data),Y(b))},h=function(a){var d=a.previousSibling;if(d&&d.nodeType==a.nodeType){b=a;var g=a.length;if(c=d.length,a.insertData(0,d.data),Y(d),b==e)f+=c,e=b;else if(e==a.parentNode){var h=O(a);f==h?(e=a,f=g):f>h&&f--}}},i=!0;if(N(e))f==e.length?g(e):0==f&&(a=e.previousSibling,a&&a.nodeType==e.nodeType&&(f=a.length,b==e&&(i=!1),a.appendData(e.data),Y(e),e=a));else{if(f>0){var j=e.childNodes[f-1];j&&N(j)&&g(j)}i=!this.collapsed}if(i){if(N(b))0==c?h(b):c==b.length&&(a=b.nextSibling,a&&a.nodeType==b.nodeType&&(e==a&&(e=b,f+=b.length),b.appendData(a.data),Y(a)));else if(cx",ga=3==fa.firstChild.nodeType}catch(ha){}a.features.htmlParsingConforms=ga;var ia=ga?function(a){var b=this.startContainer,c=Q(b);if(!b)throw new M("INVALID_STATE_ERR");var d=null;return 1==b.nodeType?d=b:N(b)&&(d=J.parentElement(b)),d=null===d||"HTML"==d.nodeName&&J.isHtmlNamespace(Q(d).documentElement)&&J.isHtmlNamespace(d)?c.createElement("body"):d.cloneNode(!1),d.innerHTML=a,J.fragmentFromNodeChildren(d)}:function(a){var b=d(this),c=b.createElement("body");return c.innerHTML=a,J.fragmentFromNodeChildren(c)},ja=["startContainer","startOffset","endContainer","endOffset","collapsed","commonAncestorContainer"],ka=0,la=1,ma=2,na=3,oa=0,pa=1,qa=2,ra=3;K.extend(a.rangePrototype,{compareBoundaryPoints:function(a,b){z(this),u(this.startContainer,b.startContainer);var c,d,e,f,g=a==na||a==ka?"start":"end",h=a==la||a==ka?"start":"end";return c=this[g+"Container"],d=this[g+"Offset"],e=b[h+"Container"],f=b[h+"Offset"],R(c,d,e,f)},insertNode:function(a){if(z(this),s(a,aa),v(this.startContainer),P(a,this.startContainer))throw new M("HIERARCHY_REQUEST_ERR");var b=h(a,this.startContainer,this.startOffset);this.setStartBefore(b)},cloneContents:function(){z(this);var a,b;if(this.collapsed)return d(this).createDocumentFragment();if(this.startContainer===this.endContainer&&N(this.startContainer))return a=this.startContainer.cloneNode(!0),a.data=a.data.slice(this.startOffset,this.endOffset),b=d(this).createDocumentFragment(),b.appendChild(a),b;var c=new p(this,!0);return a=j(c),c.detach(),a},canSurroundContents:function(){z(this),v(this.startContainer),v(this.endContainer);var a=new p(this,!0),b=a._first&&c(a._first,this)||a._last&&c(a._last,this);return a.detach(),!b},surroundContents:function(a){if(s(a,ba),!this.canSurroundContents())throw new M("INVALID_STATE_ERR");var b=this.extractContents();if(a.hasChildNodes())for(;a.lastChild;)a.removeChild(a.lastChild);h(a,this.startContainer,this.startOffset),a.appendChild(b),this.selectNode(a)},cloneRange:function(){z(this);for(var a,b=new I(d(this)),c=ja.length;c--;)a=ja[c],b[a]=this[a];return b},toString:function(){z(this);var a=this.startContainer;if(a===this.endContainer&&N(a))return 3==a.nodeType||4==a.nodeType?a.data.slice(this.startOffset,this.endOffset):"";var b=[],c=new p(this,!0);return k(c,function(a){(3==a.nodeType||4==a.nodeType)&&b.push(a.data)}),c.detach(),b.join("")},compareNode:function(a){z(this);var b=a.parentNode,c=O(a);if(!b)throw new M("NOT_FOUND_ERR");var d=this.comparePoint(b,c),e=this.comparePoint(b,c+1);return 0>d?e>0?qa:oa:e>0?pa:ra},comparePoint:function(a,b){return z(this),w(a,"HIERARCHY_REQUEST_ERR"),u(a,this.startContainer),R(a,b,this.startContainer,this.startOffset)<0?-1:R(a,b,this.endContainer,this.endOffset)>0?1:0},createContextualFragment:ia,toHtml:function(){return B(this)},intersectsNode:function(a,b){if(z(this),W(a)!=e(this))return!1;var c=a.parentNode,d=O(a);if(!c)return!0;var f=R(c,d,this.endContainer,this.endOffset),g=R(c,d+1,this.startContainer,this.startOffset);return b?0>=f&&g>=0:0>f&&g>0},isPointInRange:function(a,b){return z(this),w(a,"HIERARCHY_REQUEST_ERR"),u(a,this.startContainer),R(a,b,this.startContainer,this.startOffset)>=0&&R(a,b,this.endContainer,this.endOffset)<=0},intersectsRange:function(a){return i(this,a,!1)},intersectsOrTouchesRange:function(a){return i(this,a,!0)},intersection:function(a){if(this.intersectsRange(a)){var b=R(this.startContainer,this.startOffset,a.startContainer,a.startOffset),c=R(this.endContainer,this.endOffset,a.endContainer,a.endOffset),d=this.cloneRange();return-1==b&&d.setStart(a.startContainer,a.startOffset),1==c&&d.setEnd(a.endContainer,a.endOffset),d}return null},union:function(a){if(this.intersectsOrTouchesRange(a)){var b=this.cloneRange();return-1==R(a.startContainer,a.startOffset,this.startContainer,this.startOffset)&&b.setStart(a.startContainer,a.startOffset),1==R(a.endContainer,a.endOffset,this.endContainer,this.endOffset)&&b.setEnd(a.endContainer,a.endOffset),b}throw new M("Ranges do not intersect")},containsNode:function(a,b){return b?this.intersectsNode(a,!1):this.compareNode(a)==ra},containsNodeContents:function(a){return this.comparePoint(a,0)>=0&&this.comparePoint(a,U(a))<=0},containsRange:function(a){var b=this.intersection(a);return null!==b&&a.equals(b)},containsNodeText:function(a){var b=this.cloneRange();b.selectNode(a);var c=b.getNodes([3]);if(c.length>0){b.setStart(c[0],0);var d=c.pop();return b.setEnd(d,d.length),this.containsRange(b)}return this.containsNodeContents(a); },getNodes:function(a,b){return z(this),n(this,a,b)},getDocument:function(){return d(this)},collapseBefore:function(a){this.setEndBefore(a),this.collapse(!1)},collapseAfter:function(a){this.setStartAfter(a),this.collapse(!0)},getBookmark:function(b){var c=d(this),e=a.createRange(c);b=b||J.getBody(c),e.selectNodeContents(b);var f=this.intersection(e),g=0,h=0;return f&&(e.setEnd(f.startContainer,f.startOffset),g=e.toString().length,h=g+f.toString().length),{start:g,end:h,containerNode:b}},moveToBookmark:function(a){var b=a.containerNode,c=0;this.setStart(b,0),this.collapse(!0);for(var d,e,f,g,h=[b],i=!1,j=!1;!j&&(d=h.pop());)if(3==d.nodeType)e=c+d.length,!i&&a.start>=c&&a.start<=e&&(this.setStart(d,a.start-c),i=!0),i&&a.end>=c&&a.end<=e&&(this.setEnd(d,a.end-c),j=!0),c=e;else for(g=d.childNodes,f=g.length;f--;)h.push(g[f])},getName:function(){return"DomRange"},equals:function(a){return I.rangesEqual(this,a)},isValid:function(){return y(this)},inspect:function(){return o(this)},detach:function(){}}),F(I,H),K.extend(I,{rangeProperties:ja,RangeIterator:p,copyComparisonConstants:D,createPrototypeRange:F,inspect:o,toHtml:B,getRangeDocument:d,rangesEqual:function(a,b){return a.startContainer===b.startContainer&&a.startOffset===b.startOffset&&a.endContainer===b.endContainer&&a.endOffset===b.endOffset}}),a.DomRange=I}),H.createCoreModule("WrappedRange",["DomRange"],function(a,b){var c,d,e=a.dom,f=a.util,g=e.DomPosition,h=a.DomRange,i=e.getBody,j=e.getContentDocument,k=e.isCharacterDataNode;if(a.features.implementsDomRange&&!function(){function d(a){for(var b,c=m.length;c--;)b=m[c],a[b]=a.nativeRange[b];a.collapsed=a.startContainer===a.endContainer&&a.startOffset===a.endOffset}function g(a,b,c,d,e){var f=a.startContainer!==b||a.startOffset!=c,g=a.endContainer!==d||a.endOffset!=e,h=!a.equals(a.nativeRange);(f||g||h)&&(a.setEnd(d,e),a.setStart(b,c))}var k,l,m=h.rangeProperties;c=function(a){if(!a)throw b.createError("WrappedRange: Range must be specified");this.nativeRange=a,d(this)},h.createPrototypeRange(c,g),k=c.prototype,k.selectNode=function(a){this.nativeRange.selectNode(a),d(this)},k.cloneContents=function(){return this.nativeRange.cloneContents()},k.surroundContents=function(a){this.nativeRange.surroundContents(a),d(this)},k.collapse=function(a){this.nativeRange.collapse(a),d(this)},k.cloneRange=function(){return new c(this.nativeRange.cloneRange())},k.refresh=function(){d(this)},k.toString=function(){return this.nativeRange.toString()};var n=document.createTextNode("test");i(document).appendChild(n);var o=document.createRange();o.setStart(n,0),o.setEnd(n,0);try{o.setStart(n,1),k.setStart=function(a,b){this.nativeRange.setStart(a,b),d(this)},k.setEnd=function(a,b){this.nativeRange.setEnd(a,b),d(this)},l=function(a){return function(b){this.nativeRange[a](b),d(this)}}}catch(p){k.setStart=function(a,b){try{this.nativeRange.setStart(a,b)}catch(c){this.nativeRange.setEnd(a,b),this.nativeRange.setStart(a,b)}d(this)},k.setEnd=function(a,b){try{this.nativeRange.setEnd(a,b)}catch(c){this.nativeRange.setStart(a,b),this.nativeRange.setEnd(a,b)}d(this)},l=function(a,b){return function(c){try{this.nativeRange[a](c)}catch(e){this.nativeRange[b](c),this.nativeRange[a](c)}d(this)}}}k.setStartBefore=l("setStartBefore","setEndBefore"),k.setStartAfter=l("setStartAfter","setEndAfter"),k.setEndBefore=l("setEndBefore","setStartBefore"),k.setEndAfter=l("setEndAfter","setStartAfter"),k.selectNodeContents=function(a){this.setStartAndEnd(a,0,e.getNodeLength(a))},o.selectNodeContents(n),o.setEnd(n,3);var q=document.createRange();q.selectNodeContents(n),q.setEnd(n,4),q.setStart(n,2),-1==o.compareBoundaryPoints(o.START_TO_END,q)&&1==o.compareBoundaryPoints(o.END_TO_START,q)?k.compareBoundaryPoints=function(a,b){return b=b.nativeRange||b,a==b.START_TO_END?a=b.END_TO_START:a==b.END_TO_START&&(a=b.START_TO_END),this.nativeRange.compareBoundaryPoints(a,b)}:k.compareBoundaryPoints=function(a,b){return this.nativeRange.compareBoundaryPoints(a,b.nativeRange||b)};var r=document.createElement("div");r.innerHTML="123";var s=r.firstChild,t=i(document);t.appendChild(r),o.setStart(s,1),o.setEnd(s,2),o.deleteContents(),"13"==s.data&&(k.deleteContents=function(){this.nativeRange.deleteContents(),d(this)},k.extractContents=function(){var a=this.nativeRange.extractContents();return d(this),a}),t.removeChild(r),t=null,f.isHostMethod(o,"createContextualFragment")&&(k.createContextualFragment=function(a){return this.nativeRange.createContextualFragment(a)}),i(document).removeChild(n),k.getName=function(){return"WrappedRange"},a.WrappedRange=c,a.createNativeRange=function(a){return a=j(a,b,"createNativeRange"),a.createRange()}}(),a.features.implementsTextRange){var l=function(a){var b=a.parentElement(),c=a.duplicate();c.collapse(!0);var d=c.parentElement();c=a.duplicate(),c.collapse(!1);var f=c.parentElement(),g=d==f?d:e.getCommonAncestor(d,f);return g==b?g:e.getCommonAncestor(b,g)},m=function(a){return 0==a.compareEndPoints("StartToEnd",a)},n=function(a,b,c,d,f){var h=a.duplicate();h.collapse(c);var i=h.parentElement();if(e.isOrIsAncestorOf(b,i)||(i=b),!i.canHaveHTML){var j=new g(i.parentNode,e.getNodeIndex(i));return{boundaryPosition:j,nodeInfo:{nodeIndex:j.offset,containerElement:j.node}}}var l=e.getDocument(i).createElement("span");l.parentNode&&e.removeNode(l);for(var m,n,o,p,q,r=c?"StartToStart":"StartToEnd",s=f&&f.containerElement==i?f.nodeIndex:0,t=i.childNodes.length,u=t,v=u;;){if(v==t?i.appendChild(l):i.insertBefore(l,i.childNodes[v]),h.moveToElementText(l),m=h.compareEndPoints(r,a),0==m||s==u)break;if(-1==m){if(u==s+1)break;s=v}else u=u==s+1?s:v;v=Math.floor((s+u)/2),i.removeChild(l)}if(q=l.nextSibling,-1==m&&q&&k(q)){h.setEndPoint(c?"EndToStart":"EndToEnd",a);var w;if(/[\r\n]/.test(q.data)){var x=h.duplicate(),y=x.text.replace(/\r\n/g,"\r").length;for(w=x.moveStart("character",y);-1==(m=x.compareEndPoints("StartToEnd",x));)w++,x.moveStart("character",1)}else w=h.text.length;p=new g(q,w)}else n=(d||!c)&&l.previousSibling,o=(d||c)&&l.nextSibling,p=o&&k(o)?new g(o,0):n&&k(n)?new g(n,n.data.length):new g(i,e.getNodeIndex(l));return e.removeNode(l),{boundaryPosition:p,nodeInfo:{nodeIndex:v,containerElement:i}}},o=function(a,b){var c,d,f,g,h=a.offset,j=e.getDocument(a.node),l=i(j).createTextRange(),m=k(a.node);return m?(c=a.node,d=c.parentNode):(g=a.node.childNodes,c=hb;++b)if(!C.isAncestorOf(a[0],a[b]))return!1;return!0}function m(a){var c=a.getNodes();if(!l(c))throw b.createError("getSingleElementFromRange: range "+a.inspect()+" did not consist of a single element");return c[0]}function n(a){return!!a&&"undefined"!=typeof a.text}function o(a,b){var c=new G(b);a._ranges=[c],h(a,c,!1),a.rangeCount=1,a.isCollapsed=c.collapsed}function p(b){if(b._ranges.length=0,"None"==b.docSelection.type)j(b);else{var c=b.docSelection.createRange();if(n(c))o(b,c);else{b.rangeCount=c.length;for(var d,e=L(c.item(0)),f=0;fh;++h)g.add(d.item(h));try{g.add(e)}catch(j){throw b.createError("addRange(): Element within the specified Range could not be added to control selection (does it have layout?)")}g.select(),p(a)}function r(a,b,c){this.nativeSelection=a,this.docSelection=b,this._ranges=[],this.win=c,this.refresh()}function s(a){a.win=a.anchorNode=a.focusNode=a._ranges=null,a.rangeCount=a.anchorOffset=a.focusOffset=0,a.detached=!0}function t(a,b){for(var c,d,e=ba.length;e--;)if(c=ba[e],d=c.selection,"deleteAll"==b)s(d);else if(c.win==a)return"delete"==b?(ba.splice(e,1),!0):d;return"deleteAll"==b&&(ba.length=0),null}function u(a,c){for(var d,e=L(c[0].startContainer),f=M(e).createControlRange(),g=0,h=c.length;h>g;++g){d=m(c[g]);try{f.add(d)}catch(i){throw b.createError("setRanges(): Element within one of the specified Ranges could not be added to control selection (does it have layout?)")}}f.select(),p(a)}function v(a,b){if(a.win.document!=L(b))throw new H("WRONG_DOCUMENT_ERR")}function w(b){return function(c,d){var e;this.rangeCount?(e=this.getRangeAt(0),e["set"+(b?"Start":"End")](c,d)):(e=a.createRange(this.win.document),e.setStartAndEnd(c,d)),this.setSingleRange(e,this.isBackward())}}function x(a){var b=[],c=new I(a.anchorNode,a.anchorOffset),d=new I(a.focusNode,a.focusOffset),e="function"==typeof a.getName?a.getName():"Selection";if("undefined"!=typeof a.rangeCount)for(var f=0,g=a.rangeCount;g>f;++f)b[f]=F.inspect(a.getRangeAt(f));return"["+e+"(Ranges: "+b.join(", ")+")(anchor: "+c.inspect()+", focus: "+d.inspect()+"]"}a.config.checkSelectionRanges=!0;var y,z,A="boolean",B="number",C=a.dom,D=a.util,E=D.isHostMethod,F=a.DomRange,G=a.WrappedRange,H=a.DOMException,I=C.DomPosition,J=a.features,K="Control",L=C.getDocument,M=C.getBody,N=F.rangesEqual,O=E(window,"getSelection"),P=D.isHostObject(document,"selection");J.implementsWinGetSelection=O,J.implementsDocSelection=P;var Q=P&&(!O||a.config.preferTextRange);if(Q)y=f,a.isSelectionValid=function(a){var b=d(a,"isSelectionValid").document,c=b.selection;return"None"!=c.type||L(c.createRange().parentElement())==b};else{if(!O)return b.fail("Neither document.selection or window.getSelection() detected."),!1;y=e,a.isSelectionValid=function(){return!0}}a.getNativeSelection=y;var R=y();if(!R)return b.fail("Native selection was null (possibly issue 138?)"),!1;var S=a.createNativeRange(document),T=M(document),U=D.areHostProperties(R,["anchorNode","focusNode","anchorOffset","focusOffset"]);J.selectionHasAnchorAndFocus=U;var V=E(R,"extend");J.selectionHasExtend=V;var W=typeof R.rangeCount==B;J.selectionHasRangeCount=W;var X=!1,Y=!0,Z=V?function(b,c){var d=F.getRangeDocument(c),e=a.createRange(d);e.collapseToPoint(c.endContainer,c.endOffset),b.addRange(k(e)),b.extend(c.startContainer,c.startOffset)}:null;D.areHostMethods(R,["addRange","getRangeAt","removeAllRanges"])&&typeof R.rangeCount==B&&J.implementsDomRange&&!function(){var b=window.getSelection();if(b){for(var c=b.rangeCount,d=c>1,e=[],f=g(b),h=0;c>h;++h)e[h]=b.getRangeAt(h);var i=C.createTestElement(document,"",!1),j=i.appendChild(document.createTextNode("   ")),k=document.createRange();if(k.setStart(j,1),k.collapse(!0),b.removeAllRanges(),b.addRange(k),Y=1==b.rangeCount,b.removeAllRanges(),!d){var l=window.navigator.appVersion.match(/Chrome\/(.*?) /);if(l&&parseInt(l[1])>=36)X=!1;else{var m=k.cloneRange();k.setStart(j,0),m.setEnd(j,3),m.setStart(j,2),b.addRange(k),b.addRange(m),X=2==b.rangeCount}}for(C.removeNode(i),b.removeAllRanges(),h=0;c>h;++h)0==h&&f?Z?Z(b,e[h]):(a.warn("Rangy initialization: original selection was backwards but selection has been restored forwards because the browser does not support Selection.extend"),b.addRange(e[h])):b.addRange(e[h])}}(),J.selectionSupportsMultipleRanges=X,J.collapsedNonEditableSelectionsSupported=Y;var $,_=!1;T&&E(T,"createControlRange")&&($=T.createControlRange(),D.areHostProperties($,["item","add"])&&(_=!0)),J.implementsControlRange=_,z=U?function(a){return a.anchorNode===a.focusNode&&a.anchorOffset===a.focusOffset}:function(a){return a.rangeCount?a.getRangeAt(a.rangeCount-1).collapsed:!1};var aa;E(R,"getRangeAt")?aa=function(a,b){try{return a.getRangeAt(b)}catch(c){return null}}:U&&(aa=function(b){var c=L(b.anchorNode),d=a.createRange(c);return d.setStartAndEnd(b.anchorNode,b.anchorOffset,b.focusNode,b.focusOffset),d.collapsed!==this.isCollapsed&&d.setStartAndEnd(b.focusNode,b.focusOffset,b.anchorNode,b.anchorOffset),d}),r.prototype=a.selectionPrototype;var ba=[],ca=function(a){if(a&&a instanceof r)return a.refresh(),a;a=d(a,"getNativeSelection");var b=t(a),c=y(a),e=P?f(a):null;return b?(b.nativeSelection=c,b.docSelection=e,b.refresh()):(b=new r(c,e,a),ba.push({win:a,selection:b})),b};a.getSelection=ca,D.createAliasForDeprecatedMethod(a,"getIframeSelection","getSelection");var da=r.prototype;if(!Q&&U&&D.areHostMethods(R,["removeAllRanges","addRange"])){da.removeAllRanges=function(){this.nativeSelection.removeAllRanges(),j(this)};var ea=function(a,b){Z(a.nativeSelection,b),a.refresh()};W?da.addRange=function(b,d){if(_&&P&&this.docSelection.type==K)q(this,b);else if(c(d)&&V)ea(this,b);else{var e;X?e=this.rangeCount:(this.removeAllRanges(),e=0);var f=k(b).cloneRange();try{this.nativeSelection.addRange(f)}catch(g){}if(this.rangeCount=this.nativeSelection.rangeCount,this.rangeCount==e+1){if(a.config.checkSelectionRanges){var i=aa(this.nativeSelection,this.rangeCount-1);i&&!N(i,b)&&(b=new G(i))}this._ranges[this.rangeCount-1]=b,h(this,b,ha(this.nativeSelection)),this.isCollapsed=z(this)}else this.refresh()}}:da.addRange=function(a,b){c(b)&&V?ea(this,a):(this.nativeSelection.addRange(k(a)),this.refresh())},da.setRanges=function(a){if(_&&P&&a.length>1)u(this,a);else{this.removeAllRanges();for(var b=0,c=a.length;c>b;++b)this.addRange(a[b])}}}else{if(!(E(R,"empty")&&E(S,"select")&&_&&Q))return b.fail("No means of selecting a Range or TextRange was found"),!1;da.removeAllRanges=function(){try{if(this.docSelection.empty(),"None"!=this.docSelection.type){var a;if(this.anchorNode)a=L(this.anchorNode);else if(this.docSelection.type==K){var b=this.docSelection.createRange();b.length&&(a=L(b.item(0)))}if(a){var c=M(a).createTextRange();c.select(),this.docSelection.empty()}}}catch(d){}j(this)},da.addRange=function(b){this.docSelection.type==K?q(this,b):(a.WrappedTextRange.rangeToTextRange(b).select(),this._ranges[0]=b,this.rangeCount=1,this.isCollapsed=this._ranges[0].collapsed,h(this,b,!1))},da.setRanges=function(a){this.removeAllRanges();var b=a.length;b>1?u(this,a):b&&this.addRange(a[0])}}da.getRangeAt=function(a){if(0>a||a>=this.rangeCount)throw new H("INDEX_SIZE_ERR");return this._ranges[a].cloneRange()};var fa;if(Q)fa=function(b){var c;a.isSelectionValid(b.win)?c=b.docSelection.createRange():(c=M(b.win.document).createTextRange(),c.collapse(!0)),b.docSelection.type==K?p(b):n(c)?o(b,c):j(b)};else if(E(R,"getRangeAt")&&typeof R.rangeCount==B)fa=function(b){if(_&&P&&b.docSelection.type==K)p(b);else if(b._ranges.length=b.rangeCount=b.nativeSelection.rangeCount,b.rangeCount){for(var c=0,d=b.rangeCount;d>c;++c)b._ranges[c]=new a.WrappedRange(b.nativeSelection.getRangeAt(c));h(b,b._ranges[b.rangeCount-1],ha(b.nativeSelection)),b.isCollapsed=z(b)}else j(b)};else{if(!U||typeof R.isCollapsed!=A||typeof S.collapsed!=A||!J.implementsDomRange)return b.fail("No means of obtaining a Range or TextRange from the user's selection was found"),!1;fa=function(a){var b,c=a.nativeSelection;c.anchorNode?(b=aa(c,0),a._ranges=[b],a.rangeCount=1,i(a),a.isCollapsed=z(a)):j(a)}}da.refresh=function(a){var b=a?this._ranges.slice(0):null,c=this.anchorNode,d=this.anchorOffset;if(fa(this),a){var e=b.length;if(e!=this._ranges.length)return!0;if(this.anchorNode!=c||this.anchorOffset!=d)return!0;for(;e--;)if(!N(b[e],this._ranges[e]))return!0;return!1}};var ga=function(a,b){var c=a.getAllRanges();a.removeAllRanges();for(var d=0,e=c.length;e>d;++d)N(b,c[d])||a.addRange(c[d]);a.rangeCount||j(a)};_&&P?da.removeRange=function(a){if(this.docSelection.type==K){for(var b,c=this.docSelection.createRange(),d=m(a),e=L(c.item(0)),f=M(e).createControlRange(),g=!1,h=0,i=c.length;i>h;++h)b=c.item(h),b!==d||g?f.add(c.item(h)):g=!0;f.select(),p(this)}else ga(this,a)}:da.removeRange=function(a){ga(this,a)};var ha;!Q&&U&&J.implementsDomRange?(ha=g,da.isBackward=function(){return ha(this)}):ha=da.isBackward=function(){return!1},da.isBackwards=da.isBackward,da.toString=function(){for(var a=[],b=0,c=this.rangeCount;c>b;++b)a[b]=""+this._ranges[b];return a.join("")},da.collapse=function(b,c){v(this,b);var d=a.createRange(b);d.collapseToPoint(b,c),this.setSingleRange(d),this.isCollapsed=!0},da.collapseToStart=function(){if(!this.rangeCount)throw new H("INVALID_STATE_ERR");var a=this._ranges[0];this.collapse(a.startContainer,a.startOffset)},da.collapseToEnd=function(){if(!this.rangeCount)throw new H("INVALID_STATE_ERR");var a=this._ranges[this.rangeCount-1];this.collapse(a.endContainer,a.endOffset)},da.selectAllChildren=function(b){v(this,b);var c=a.createRange(b);c.selectNodeContents(b),this.setSingleRange(c)},da.deleteFromDocument=function(){if(_&&P&&this.docSelection.type==K){for(var a,b=this.docSelection.createRange();b.length;)a=b.item(0),b.remove(a),C.removeNode(a);this.refresh()}else if(this.rangeCount){var c=this.getAllRanges();if(c.length){this.removeAllRanges();for(var d=0,e=c.length;e>d;++d)c[d].deleteContents();this.addRange(c[e-1])}}},da.eachRange=function(a,b){for(var c=0,d=this._ranges.length;d>c;++c)if(a(this.getRangeAt(c)))return b},da.getAllRanges=function(){var a=[];return this.eachRange(function(b){a.push(b)}),a},da.setSingleRange=function(a,b){this.removeAllRanges(),this.addRange(a,b)},da.callMethodOnEachRange=function(a,b){var c=[];return this.eachRange(function(d){c.push(d[a].apply(d,b||[]))}),c},da.setStart=w(!0),da.setEnd=w(!1),a.rangePrototype.select=function(a){ca(this.getDocument()).setSingleRange(this,a)},da.changeEachRange=function(a){var b=[],c=this.isBackward();this.eachRange(function(c){a(c),b.push(c)}),this.removeAllRanges(),c&&1==b.length?this.addRange(b[0],"backward"):this.setRanges(b)},da.containsNode=function(a,b){return this.eachRange(function(c){return c.containsNode(a,b)},!0)||!1},da.getBookmark=function(a){return{backward:this.isBackward(),rangeBookmarks:this.callMethodOnEachRange("getBookmark",[a])}},da.moveToBookmark=function(b){for(var c,d,e=[],f=0;c=b.rangeBookmarks[f++];)d=a.createRange(this.win),d.moveToBookmark(c),e.push(d);b.backward?this.setSingleRange(e[0],"backward"):this.setRanges(e)},da.saveRanges=function(){return{backward:this.isBackward(),ranges:this.callMethodOnEachRange("cloneRange")}},da.restoreRanges=function(a){this.removeAllRanges();for(var b,c=0;b=a.ranges[c];++c)this.addRange(b,a.backward&&0==c)},da.toHtml=function(){var a=[];return this.eachRange(function(b){a.push(F.toHtml(b))}),a.join("")},J.implementsTextRange&&(da.getNativeTextRange=function(){var c;if(c=this.docSelection){var d=c.createRange();if(n(d))return d;throw b.createError("getNativeTextRange: selection is a control selection")}if(this.rangeCount>0)return a.WrappedTextRange.rangeToTextRange(this.getRangeAt(0));throw b.createError("getNativeTextRange: selection contains no range")}),da.getName=function(){return"WrappedSelection"},da.inspect=function(){return x(this)},da.detach=function(){t(this.win,"delete"),s(this)},r.detachAll=function(){t(null,"deleteAll")},r.inspect=x,r.isDirectionBackward=c,a.Selection=r,a.selectionPrototype=da,a.addShimListener(function(a){"undefined"==typeof a.getSelection&&(a.getSelection=function(){return ca(a)}),a=null})});var M=!1,N=function(a){M||(M=!0,!H.initialized&&H.config.autoInitialize&&l())};F&&("complete"==document.readyState?N():(a(document,"addEventListener")&&document.addEventListener("DOMContentLoaded",N,!1),J(window,"load",N))),rangy=H}(),rangy.createModule("SaveRestore",["WrappedRange"],function(a,b){function c(a,b){return(b||document).getElementById(a)}function d(a,b){var c,d="selectionBoundary_"+ +new Date+"_"+(""+Math.random()).slice(2),e=o.getDocument(a.startContainer),f=a.cloneRange();return f.collapse(b),c=e.createElement("span"),c.id=d,c.style.lineHeight="0",c.style.display="none",c.className="rangySelectionBoundary",c.appendChild(e.createTextNode(r)),f.insertNode(c),c}function e(a,d,e,f){var g=c(e,a);g?(d[f?"setStartBefore":"setEndBefore"](g),p(g)):b.warn("Marker element has been removed. Cannot restore selection.")}function f(a,b){return b.compareBoundaryPoints(a.START_TO_START,a)}function g(b,c){var e,f,g=a.DomRange.getRangeDocument(b),h=b.toString(),i=q(c);return b.collapsed?(f=d(b,!1),{document:g,markerId:f.id,collapsed:!0}):(f=d(b,!1),e=d(b,!0),{document:g,startMarkerId:e.id,endMarkerId:f.id,collapsed:!1,backward:i,toString:function(){return"original text: '"+h+"', new text: '"+b.toString()+"'"}})}function h(d,f){var g=d.document;"undefined"==typeof f&&(f=!0);var h=a.createRange(g);if(d.collapsed){var i=c(d.markerId,g);if(i){i.style.display="inline";var j=i.previousSibling;j&&3==j.nodeType?(p(i),h.collapseToPoint(j,j.length)):(h.collapseBefore(i),p(i))}else b.warn("Marker element has been removed. Cannot restore selection.")}else e(g,h,d.startMarkerId,!0),e(g,h,d.endMarkerId,!1);return f&&h.normalizeBoundaries(),h}function i(b,d){var e,h,i=[],j=q(d);b=b.slice(0),b.sort(f);for(var k=0,l=b.length;l>k;++k)i[k]=g(b[k],j);for(k=l-1;k>=0;--k)e=b[k],h=a.DomRange.getRangeDocument(e),e.collapsed?e.collapseAfter(c(i[k].markerId,h)):(e.setEndBefore(c(i[k].endMarkerId,h)),e.setStartAfter(c(i[k].startMarkerId,h)));return i}function j(c){if(!a.isSelectionValid(c))return b.warn("Cannot save selection. This usually happens when the selection is collapsed and the selection document has lost focus."),null;var d=a.getSelection(c),e=d.getAllRanges(),f=1==e.length&&d.isBackward(),g=i(e,f);return f?d.setSingleRange(e[0],f):d.setRanges(e),{win:c,rangeInfos:g,restored:!1}}function k(a){for(var b=[],c=a.length,d=c-1;d>=0;d--)b[d]=h(a[d],!0);return b}function l(b,c){if(!b.restored){var d=b.rangeInfos,e=a.getSelection(b.win),f=k(d),g=d.length;1==g&&c&&a.features.selectionHasExtend&&d[0].backward?(e.removeAllRanges(),e.addRange(f[0],!0)):e.setRanges(f),b.restored=!0}}function m(a,b){var d=c(b,a);d&&p(d)}function n(a){for(var b,c=a.rangeInfos,d=0,e=c.length;e>d;++d)b=c[d],b.collapsed?m(a.doc,b.markerId):(m(a.doc,b.startMarkerId),m(a.doc,b.endMarkerId))}var o=a.dom,p=o.removeNode,q=a.Selection.isDirectionBackward,r="\ufeff";a.util.extend(a,{saveRange:g,restoreRange:h,saveRanges:i,restoreRanges:k,saveSelection:j,restoreSelection:l,removeMarkerElement:m,removeMarkers:n})}),rangy.createModule("TextRange",["WrappedSelection"],function(a,b){function c(a,b){function c(a,b,c){h.push({start:a,end:b,isWord:c})}for(var d,e,f,g=a.join(""),h=[],i=0;d=b.wordRegex.exec(g);){if(e=d.index,f=e+d[0].length,e>i&&c(i,e,!1),b.includeTrailingSpace)for(;$.test(a[f]);)++f;c(e,f,!0),i=f}return ie;++e)c[e].token=d;return d}function e(a,b,c){for(var e,f=c(a,b),g=[],h=0;e=f[h++];)g.push(d(a,e));return g}function f(a){var b=a||"",c="string"==typeof b?b.split(""):b;return c.sort(function(a,b){return a.charCodeAt(0)-b.charCodeAt(0)}),c.join("").replace(/(.)\1+/g,"$1")}function g(a){var b,c;return a?(b=a.language||_,c={},U(c,ia[b]||ia[_]),U(c,a),c):ia[_]}function h(a,b){var c=V(a,b);return b.hasOwnProperty("wordOptions")&&(c.wordOptions=g(c.wordOptions)),b.hasOwnProperty("characterOptions")&&(c.characterOptions=V(c.characterOptions,ga)),c}function i(a,b){var c=na(a,"display",b),d=a.tagName.toLowerCase();return"block"==c&&fa&&oa.hasOwnProperty(d)?oa[d]:c}function j(a){for(var b=o(a),c=0,d=b.length;d>c;++c)if(1==b[c].nodeType&&"none"==i(b[c]))return!0;return!1}function k(a){var b;return 3==a.nodeType&&(b=a.parentNode)&&"hidden"==na(b,"visibility")}function l(a){return a&&(1==a.nodeType&&!/^(inline(-block|-table)?|none)$/.test(i(a))||9==a.nodeType||11==a.nodeType)}function m(a){return S.isCharacterDataNode(a)||!/^(area|base|basefont|br|col|frame|hr|img|input|isindex|link|meta|param)$/i.test(a.nodeName)}function n(a){for(var b=[];a.parentNode;)b.unshift(a.parentNode),a=a.parentNode;return b}function o(a){return n(a).concat([a])}function p(a){for(;a&&!a.nextSibling;)a=a.parentNode;return a?a.nextSibling:null}function q(a,b){return!b&&a.hasChildNodes()?a.firstChild:p(a)}function r(a){var b=a.previousSibling;if(b){for(a=b;a.hasChildNodes();)a=a.lastChild;return a}var c=a.parentNode;return c&&1==c.nodeType?c:null}function s(a){if(!a||3!=a.nodeType)return!1;var b=a.data;if(""===b)return!0;var c=a.parentNode;if(!c||1!=c.nodeType)return!1;var d=na(a.parentNode,"whiteSpace");return/^[\t\n\r ]+$/.test(b)&&/^(normal|nowrap)$/.test(d)||/^[\t\r ]+$/.test(b)&&"pre-line"==d}function t(a){if(""===a.data)return!0;if(!s(a))return!1;var b=a.parentNode;return b?j(a)?!0:!1:!0}function u(a){var b=a.nodeType;return 7==b||8==b||j(a)||/^(script|style)$/i.test(a.nodeName)||k(a)||t(a)}function v(a,b){var c=a.nodeType;return 7==c||8==c||1==c&&"none"==i(a,b)}function w(){this.store={}}function x(a,b,c){return function(d){var e=this.cache;if(e.hasOwnProperty(a))return pa++,e[a];qa++;var f=b.call(this,c?this[c]:this,d);return e[a]=f,f}}function y(a,b){this.node=a,this.session=b,this.cache=new w,this.positions=new w}function z(a,b){this.offset=b,this.nodeWrapper=a,this.node=a.node,this.session=a.session,this.cache=new w}function A(){return"[Position("+S.inspectNode(this.node)+":"+this.offset+")]"}function B(){return D(),Da=new Ea}function C(){return Da||B()}function D(){Da&&Da.detach(),Da=null}function E(a,c,d,e){function f(){var a=null;return c?(a=h,i||(h=h.previousVisible(),i=!h||d&&h.equals(d))):i||(a=h=h.nextVisible(),i=!h||d&&h.equals(d)),i&&(h=null),a}d&&(c?u(d.node)&&(d=a.previousVisible()):u(d.node)&&(d=d.nextVisible()));var g,h=a,i=!1,j=!1;return{next:function(){if(j)return j=!1,g;for(var a,b;a=f();)if(b=a.getCharacter(e))return g=a,a;return null},rewind:function(){if(!g)throw b.createError("createCharacterIterator: cannot rewind. Only one position can be rewound.");j=!0},dispose:function(){a=d=null}}}function F(a,b,c){function d(a){for(var b,c,d=[],e=a?f:g,h=!1,i=!1;b=e.next();){if(c=b.character,Z.test(c))i&&(i=!1,h=!0);else{if(h){e.rewind();break}i=!0}d.push(b)}return d}var f=E(a,!1,null,b),g=E(a,!0,null,b),h=c.tokenizer,i=d(!0),j=d(!1).reverse(),k=e(j.concat(i),c,h),l=i.length?k.slice(Fa(k,i[0].token)):[],m=j.length?k.slice(0,Fa(k,j.pop().token)+1):[];return{nextEndToken:function(){for(var a,b;1==l.length&&!(a=l[0]).isWord&&(b=d(!0)).length>0;)l=e(a.chars.concat(b),c,h);return l.shift()},previousStartToken:function(){for(var a,b;1==m.length&&!(a=m[0]).isWord&&(b=d(!1)).length>0;)m=e(b.reverse().concat(a.chars),c,h);return m.pop()},dispose:function(){f.dispose(),g.dispose(),l=m=null}}}function G(a,b,c,d,e){var f,g,h,i,j=0,k=a,l=Math.abs(c);if(0!==c){var m=0>c;switch(b){case Q:for(g=E(a,m,null,d);(f=g.next())&&l>j;)++j,k=f;h=f,g.dispose();break;case R:for(var n=F(a,d,e),o=m?n.previousStartToken:n.nextEndToken;(i=o())&&l>j;)i.isWord&&(++j,k=m?i.chars[0]:i.chars[i.chars.length-1]);break;default:throw new Error("movePositionBy: unit '"+b+"' not implemented")}m?(k=k.previousVisible(),j=-j):k&&k.isLeadingSpace&&!k.isTrailingSpace&&(b==R&&(g=E(a,!1,null,d),h=g.next(),g.dispose()),h&&(k=h.previousVisible()))}return{position:k,unitsMoved:j}}function H(a,b,c,d){var e=a.getRangeBoundaryPosition(b,!0),f=a.getRangeBoundaryPosition(b,!1),g=d?f:e,h=d?e:f;return E(g,!!d,h,c)}function I(a,b,c){for(var d,e=[],f=H(a,b,c);d=f.next();)e.push(d);return f.dispose(),e}function J(b,c,d){var e=a.createRange(b.node);return e.setStartAndEnd(b.node,b.offset,c.node,c.offset),!e.expand("word",{wordOptions:d})}function K(a,b,c,d,e){function f(a,b){var c=p[a].previousVisible(),d=p[b-1],f=!e.wholeWordsOnly||J(c,d,e.wordOptions);return{startPos:c,endPos:d,valid:f}}for(var g,h,i,j,k,l,m=aa(e.direction),n=E(a,m,a.session.getRangeBoundaryPosition(d,m),e.characterOptions),o="",p=[],q=null;g=n.next();)if(h=g.character,c||e.caseSensitive||(h=h.toLowerCase()),m?(p.unshift(g),o=h+o):(p.push(g),o+=h),c){if(k=b.exec(o))if(i=k.index,j=i+k[0].length,l){if(!m&&j0){q=f(i,j);break}}else l=!0}else if(-1!=(i=o.indexOf(b))){q=f(i,i+b.length);break}return l&&(q=f(i,j)),n.dispose(),q}function L(a){return function(){var b=!!Da,c=C(),d=[c].concat(T.toArray(arguments)),e=a.apply(this,d);return b||D(),e}}function M(a,b){return L(function(c,d,e,f){typeof e==P&&(e=d,d=Q),f=h(f,ka);var g=a;b&&(g=e>=0,this.collapse(!g));var i=G(c.getRangeBoundaryPosition(this,g),d,e,f.characterOptions,f.wordOptions),j=i.position;return this[g?"setStart":"setEnd"](j.node,j.offset),i.unitsMoved})}function N(a){return L(function(b,c){c=V(c,ga);for(var d,e=H(b,this,c,!a),f=0;(d=e.next())&&Z.test(d.character);)++f;e.dispose();var g=f>0;return g&&this[a?"moveStart":"moveEnd"]("character",a?f:-f,{characterOptions:c}),g})}function O(a){return L(function(b,c){var d=!1;return this.changeEachRange(function(b){d=b[a](c)||d}),d})}var P="undefined",Q="character",R="word",S=a.dom,T=a.util,U=T.extend,V=T.createOptions,W=S.getBody,X=/^[ \t\f\r\n]+$/,Y=/^[ \t\f\r]+$/,Z=/^[\t-\r \u0085\u00A0\u1680\u180E\u2000-\u200B\u2028\u2029\u202F\u205F\u3000]+$/,$=/^[\t \u00A0\u1680\u180E\u2000-\u200B\u202F\u205F\u3000]+$/,_="en",aa=a.Selection.isDirectionBackward,ba=!1,ca=!1,da=!1,ea=!0;!function(){var b=S.createTestElement(document,"

1

",!0),c=b.firstChild,d=a.getSelection();d.collapse(c.lastChild,2),d.setStart(c.firstChild,0),ba=1==(""+d).length,b.innerHTML="1
",d.collapse(b,2),d.setStart(b.firstChild,0),ca=1==(""+d).length,b.innerHTML="1

1

", d.collapse(b,2),d.setStart(b.firstChild,0),da=1==(""+d).length,S.removeNode(b),d.removeAllRanges()}();var fa,ga={includeBlockContentTrailingSpace:!0,includeSpaceBeforeBr:!0,includeSpaceBeforeBlock:!0,includePreLineTrailingSpace:!0,ignoreCharacters:""},ha={includeBlockContentTrailingSpace:!ea,includeSpaceBeforeBr:!ca,includeSpaceBeforeBlock:!da,includePreLineTrailingSpace:!0},ia={en:{wordRegex:/[a-z0-9]+('[a-z0-9]+)*/gi,includeTrailingSpace:!1,tokenizer:c}},ja={caseSensitive:!1,withinRange:null,wholeWordsOnly:!1,wrap:!1,direction:"forward",wordOptions:null,characterOptions:null},ka={wordOptions:null,characterOptions:null},la={wordOptions:null,characterOptions:null,trim:!1,trimStart:!0,trimEnd:!0},ma={wordOptions:null,characterOptions:null,direction:"forward"},na=S.getComputedStyleProperty;!function(){var a=document.createElement("table"),b=W(document);b.appendChild(a),fa="block"==na(a,"display"),b.removeChild(a)}();var oa={table:"table",caption:"table-caption",colgroup:"table-column-group",col:"table-column",thead:"table-header-group",tbody:"table-row-group",tfoot:"table-footer-group",tr:"table-row",td:"table-cell",th:"table-cell"};w.prototype={get:function(a){return this.store.hasOwnProperty(a)?this.store[a]:null},set:function(a,b){return this.store[a]=b}};var pa=0,qa=0,ra={getPosition:function(a){var b=this.positions;return b.get(a)||b.set(a,new z(this,a))},toString:function(){return"[NodeWrapper("+S.inspectNode(this.node)+")]"}};y.prototype=ra;var sa="EMPTY",ta="NON_SPACE",ua="UNCOLLAPSIBLE_SPACE",va="COLLAPSIBLE_SPACE",wa="TRAILING_SPACE_BEFORE_BLOCK",xa="TRAILING_SPACE_IN_BLOCK",ya="TRAILING_SPACE_BEFORE_BR",za="PRE_LINE_TRAILING_SPACE_BEFORE_LINE_BREAK",Aa="TRAILING_LINE_BREAK_AFTER_BR",Ba="INCLUDED_TRAILING_LINE_BREAK_AFTER_BR";U(ra,{isCharacterDataNode:x("isCharacterDataNode",S.isCharacterDataNode,"node"),getNodeIndex:x("nodeIndex",S.getNodeIndex,"node"),getLength:x("nodeLength",S.getNodeLength,"node"),containsPositions:x("containsPositions",m,"node"),isWhitespace:x("isWhitespace",s,"node"),isCollapsedWhitespace:x("isCollapsedWhitespace",t,"node"),getComputedDisplay:x("computedDisplay",i,"node"),isCollapsed:x("collapsed",u,"node"),isIgnored:x("ignored",v,"node"),next:x("nextPos",q,"node"),previous:x("previous",r,"node"),getTextNodeInfo:x("textNodeInfo",function(a){var b=null,c=!1,d=na(a.parentNode,"whiteSpace"),e="pre-line"==d;return e?(b=Y,c=!0):("normal"==d||"nowrap"==d)&&(b=X,c=!0),{node:a,text:a.data,spaceRegex:b,collapseSpaces:c,preLine:e}},"node"),hasInnerText:x("hasInnerText",function(a,b){for(var c=this.session,d=c.getPosition(a.parentNode,this.getNodeIndex()+1),e=c.getPosition(a,0),f=b?d:e,g=b?e:d;f!==g;){if(f.prepopulateChar(),f.isDefinitelyNonEmpty())return!0;f=b?f.previousVisible():f.nextVisible()}return!1},"node"),isRenderedBlock:x("isRenderedBlock",function(a){for(var b=a.getElementsByTagName("br"),c=0,d=b.length;d>c;++c)if(!u(b[c]))return!0;return this.hasInnerText()},"node"),getTrailingSpace:x("trailingSpace",function(a){if("br"==a.tagName.toLowerCase())return"";switch(this.getComputedDisplay()){case"inline":for(var b=a.lastChild;b;){if(!v(b))return 1==b.nodeType?this.session.getNodeWrapper(b).getTrailingSpace():"";b=b.previousSibling}break;case"inline-block":case"inline-table":case"none":case"table-column":case"table-column-group":break;case"table-cell":return" ";default:return this.isRenderedBlock(!0)?"\n":""}return""},"node"),getLeadingSpace:x("leadingSpace",function(a){switch(this.getComputedDisplay()){case"inline":case"inline-block":case"inline-table":case"none":case"table-column":case"table-column-group":case"table-cell":break;default:return this.isRenderedBlock(!1)?"\n":""}return""},"node")});var Ca={character:"",characterType:sa,isBr:!1,prepopulateChar:function(){var a=this;if(!a.prepopulatedChar){var b=a.node,c=a.offset,d="",e=sa,f=!1;if(c>0)if(3==b.nodeType){var g=b.data,h=g.charAt(c-1),i=a.nodeWrapper.getTextNodeInfo(),j=i.spaceRegex;i.collapseSpaces?j.test(h)?c>1&&j.test(g.charAt(c-2))||(i.preLine&&"\n"===g.charAt(c)?(d=" ",e=za):(d=" ",e=va)):(d=h,e=ta,f=!0):(d=h,e=ua,f=!0)}else{var k=b.childNodes[c-1];if(k&&1==k.nodeType&&!u(k)&&("br"==k.tagName.toLowerCase()?(d="\n",a.isBr=!0,e=va,f=!1):a.checkForTrailingSpace=!0),!d){var l=b.childNodes[c];l&&1==l.nodeType&&!u(l)&&(a.checkForLeadingSpace=!0)}}a.prepopulatedChar=!0,a.character=d,a.characterType=e,a.isCharInvariant=f}},isDefinitelyNonEmpty:function(){var a=this.characterType;return a==ta||a==ua},resolveLeadingAndTrailingSpaces:function(){if(this.prepopulatedChar||this.prepopulateChar(),this.checkForTrailingSpace){var a=this.session.getNodeWrapper(this.node.childNodes[this.offset-1]).getTrailingSpace();a&&(this.isTrailingSpace=!0,this.character=a,this.characterType=va),this.checkForTrailingSpace=!1}if(this.checkForLeadingSpace){var b=this.session.getNodeWrapper(this.node.childNodes[this.offset]).getLeadingSpace();b&&(this.isLeadingSpace=!0,this.character=b,this.characterType=va),this.checkForLeadingSpace=!1}},getPrecedingUncollapsedPosition:function(a){for(var b,c=this;c=c.previousVisible();)if(b=c.getCharacter(a),""!==b)return c;return null},getCharacter:function(a){function b(){return n||(k=o.getPrecedingUncollapsedPosition(a),n=!0),k}this.resolveLeadingAndTrailingSpaces();var c,d=this.character,e=f(a.ignoreCharacters),g=""!==d&&e.indexOf(d)>-1;if(this.isCharInvariant)return c=g?"":d;var h=["character",a.includeSpaceBeforeBr,a.includeBlockContentTrailingSpace,a.includePreLineTrailingSpace,e].join("_"),i=this.cache.get(h);if(null!==i)return i;var j,k,l="",m=this.characterType==va,n=!1,o=this;return m&&(this.type==Ba?l="\n":" "==d&&(!b()||k.isTrailingSpace||"\n"==k.character||" "==k.character&&k.characterType==va)||("\n"==d&&this.isLeadingSpace?b()&&"\n"!=k.character&&(l="\n"):(j=this.nextUncollapsed(),j&&(j.isBr?this.type=ya:j.isTrailingSpace&&"\n"==j.character?this.type=xa:j.isLeadingSpace&&"\n"==j.character&&(this.type=wa),"\n"==j.character?(this.type!=ya||a.includeSpaceBeforeBr)&&(this.type!=wa||a.includeSpaceBeforeBlock)&&(this.type==xa&&j.isTrailingSpace&&!a.includeBlockContentTrailingSpace||(this.type!=za||j.type!=ta||a.includePreLineTrailingSpace)&&("\n"==d?j.isTrailingSpace?this.isTrailingSpace||this.isBr&&(j.type=Aa,b()&&k.isLeadingSpace&&!k.isTrailingSpace&&"\n"==k.character?j.character="":j.type=Ba):l="\n":" "==d&&(l=" "))):l=d)))),e.indexOf(l)>-1&&(l=""),this.cache.set(h,l),l},equals:function(a){return!!a&&this.node===a.node&&this.offset===a.offset},inspect:A,toString:function(){return this.character}};z.prototype=Ca,U(Ca,{next:x("nextPos",function(a){var b=a.nodeWrapper,c=a.node,d=a.offset,e=b.session;if(!c)return null;var f,g,h;return d==b.getLength()?(f=c.parentNode,g=f?b.getNodeIndex()+1:0):b.isCharacterDataNode()?(f=c,g=d+1):(h=c.childNodes[d],e.getNodeWrapper(h).containsPositions()?(f=h,g=0):(f=c,g=d+1)),f?e.getPosition(f,g):null}),previous:x("previous",function(a){var b,c,d,e=a.nodeWrapper,f=a.node,g=a.offset,h=e.session;return 0==g?(b=f.parentNode,c=b?e.getNodeIndex():0):e.isCharacterDataNode()?(b=f,c=g-1):(d=f.childNodes[g-1],h.getNodeWrapper(d).containsPositions()?(b=d,c=S.getNodeLength(d)):(b=f,c=g-1)),b?h.getPosition(b,c):null}),nextVisible:x("nextVisible",function(a){var b=a.next();if(!b)return null;var c=b.nodeWrapper,d=b.node,e=b;return c.isCollapsed()&&(e=c.session.getPosition(d.parentNode,c.getNodeIndex()+1)),e}),nextUncollapsed:x("nextUncollapsed",function(a){for(var b=a;b=b.nextVisible();)if(b.resolveLeadingAndTrailingSpaces(),""!==b.character)return b;return null}),previousVisible:x("previousVisible",function(a){var b=a.previous();if(!b)return null;var c=b.nodeWrapper,d=b.node,e=b;return c.isCollapsed()&&(e=c.session.getPosition(d.parentNode,c.getNodeIndex())),e})});var Da=null,Ea=function(){function a(a){var b=new w;return{get:function(c){var d=b.get(c[a]);if(d)for(var e,f=0;e=d[f++];)if(e.node===c)return e;return null},set:function(c){var d=c.node[a],e=b.get(d)||b.set(d,[]);e.push(c)}}}function b(){this.initCaches()}var c=T.isHostProperty(document.documentElement,"uniqueID");return b.prototype={initCaches:function(){this.elementCache=c?function(){var a=new w;return{get:function(b){return a.get(b.uniqueID)},set:function(b){a.set(b.node.uniqueID,b)}}}():a("tagName"),this.textNodeCache=a("data"),this.otherNodeCache=a("nodeName")},getNodeWrapper:function(a){var b;switch(a.nodeType){case 1:b=this.elementCache;break;case 3:b=this.textNodeCache;break;default:b=this.otherNodeCache}var c=b.get(a);return c||(c=new y(a,this),b.set(c)),c},getPosition:function(a,b){return this.getNodeWrapper(a).getPosition(b)},getRangeBoundaryPosition:function(a,b){var c=b?"start":"end";return this.getPosition(a[c+"Container"],a[c+"Offset"])},detach:function(){this.elementCache=this.textNodeCache=this.otherNodeCache=null}},b}();U(S,{nextNode:q,previousNode:r});var Fa=Array.prototype.indexOf?function(a,b){return a.indexOf(b)}:function(a,b){for(var c=0,d=a.length;d>c;++c)if(a[c]===b)return c;return-1};U(a.rangePrototype,{moveStart:M(!0,!1),moveEnd:M(!1,!1),move:M(!0,!0),trimStart:N(!0),trimEnd:N(!1),trim:L(function(a,b){var c=this.trimStart(b),d=this.trimEnd(b);return c||d}),expand:L(function(a,b,c){var d=!1;c=h(c,la);var e=c.characterOptions;if(b||(b=Q),b==R){var f,g,i=c.wordOptions,j=a.getRangeBoundaryPosition(this,!0),k=a.getRangeBoundaryPosition(this,!1),l=F(j,e,i),m=l.nextEndToken(),n=m.chars[0].previousVisible();if(this.collapsed)f=m;else{var o=F(k,e,i);f=o.previousStartToken()}return g=f.chars[f.chars.length-1],n.equals(j)||(this.setStart(n.node,n.offset),d=!0),g&&!g.equals(k)&&(this.setEnd(g.node,g.offset),d=!0),c.trim&&(c.trimStart&&(d=this.trimStart(e)||d),c.trimEnd&&(d=this.trimEnd(e)||d)),d}return this.moveEnd(Q,1,c)}),text:L(function(a,b){return this.collapsed?"":I(a,this,V(b,ga)).join("")}),selectCharacters:L(function(a,b,c,d,e){var f={characterOptions:e};b||(b=W(this.getDocument())),this.selectNodeContents(b),this.collapse(!0),this.moveStart("character",c,f),this.collapse(!0),this.moveEnd("character",d-c,f)}),toCharacterRange:L(function(a,b,c){b||(b=W(this.getDocument()));var d,e,f=b.parentNode,g=S.getNodeIndex(b),h=-1==S.comparePoints(this.startContainer,this.endContainer,f,g),i=this.cloneRange();return h?(i.setStartAndEnd(this.startContainer,this.startOffset,f,g),d=-i.text(c).length):(i.setStartAndEnd(f,g,this.startContainer,this.startOffset),d=i.text(c).length),e=d+this.text(c).length,{start:d,end:e}}),findText:L(function(b,c,d){d=h(d,ja),d.wholeWordsOnly&&(d.wordOptions.includeTrailingSpace=!1);var e=aa(d.direction),f=d.withinRange;f||(f=a.createRange(),f.selectNodeContents(this.getDocument()));var g=c,i=!1;"string"==typeof g?d.caseSensitive||(g=g.toLowerCase()):i=!0;var j=b.getRangeBoundaryPosition(this,!e),k=f.comparePoint(j.node,j.offset);-1===k?j=b.getRangeBoundaryPosition(f,!0):1===k&&(j=b.getRangeBoundaryPosition(f,!1));for(var l,m=j,n=!1;;)if(l=K(m,g,i,f,d)){if(l.valid)return this.setStartAndEnd(l.startPos.node,l.startPos.offset,l.endPos.node,l.endPos.offset),!0;m=e?l.startPos:l.endPos}else{if(!d.wrap||n)return!1;f=f.cloneRange(),m=b.getRangeBoundaryPosition(f,!e),f.setBoundary(j.node,j.offset,e),n=!0}}),pasteHtml:function(a){if(this.deleteContents(),a){var b=this.createContextualFragment(a),c=b.lastChild;this.insertNode(b),this.collapseAfter(c)}}}),U(a.selectionPrototype,{expand:L(function(a,b,c){this.changeEachRange(function(a){a.expand(b,c)})}),move:L(function(a,b,c,d){var e=0;if(this.focusNode){this.collapse(this.focusNode,this.focusOffset);var f=this.getRangeAt(0);d||(d={}),d.characterOptions=V(d.characterOptions,ha),e=f.move(b,c,d),this.setSingleRange(f)}return e}),trimStart:O("trimStart"),trimEnd:O("trimEnd"),trim:O("trim"),selectCharacters:L(function(b,c,d,e,f,g){var h=a.createRange(c);h.selectCharacters(c,d,e,g),this.setSingleRange(h,f)}),saveCharacterRanges:L(function(a,b,c){for(var d=this.getAllRanges(),e=d.length,f=[],g=1==e&&this.isBackward(),h=0,i=d.length;i>h;++h)f[h]={characterRange:d[h].toCharacterRange(b,c),backward:g,characterOptions:c};return f}),restoreCharacterRanges:L(function(b,c,d){this.removeAllRanges();for(var e,f,g,h=0,i=d.length;i>h;++h)f=d[h],g=f.characterRange,e=a.createRange(c),e.selectCharacters(c,g.start,g.end,f.characterOptions),this.addRange(e,f.backward)}),text:L(function(a,b){for(var c=[],d=0,e=this.rangeCount;e>d;++d)c[d]=this.getRangeAt(d).text(b);return c.join("")})}),a.innerText=function(b,c){var d=a.createRange(b);d.selectNodeContents(b);var e=d.text(c);return e},a.createWordIterator=function(a,b,c){var d=C();c=h(c,ma);var e=d.getPosition(a,b),f=F(e,c.characterOptions,c.wordOptions),g=aa(c.direction);return{next:function(){return g?f.previousStartToken():f.nextEndToken()},dispose:function(){f.dispose(),this.next=function(){}}}},a.noMutation=function(a){var b=C();a(b),D()},a.noMutation.createEntryPointFunction=L,a.textRange={isBlockNode:l,isCollapsedWhitespaceNode:t,createPosition:L(function(a,b,c){return a.getPosition(b,c)})}}),wysihtml.browser=function(){function a(a){return+(/ipad|iphone|ipod/.test(a)&&a.match(/ os (\d+).+? like mac os x/)||[void 0,0])[1]}function b(a){return+(a.match(/android (\d+)/)||[void 0,0])[1]}function c(a,b){var c,d=-1;return"Microsoft Internet Explorer"==navigator.appName?c=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})"):"Netscape"==navigator.appName&&(navigator.userAgent.indexOf("Trident")>-1?c=new RegExp("Trident/.*rv:([0-9]{1,}[.0-9]{0,})"):/Edge\/(\d+)./i.test(navigator.userAgent)&&(c=/Edge\/(\d+)./i)),c&&null!=c.exec(navigator.userAgent)&&(d=parseFloat(RegExp.$1)),-1===d?!1:a?b?"<"===b?d>a:">"===b?a>d:"<="===b?d>=a:">="===b?a>=d:void 0:a===d:!0}var d=navigator.userAgent,e=document.createElement("div"),f=-1!==d.indexOf("Gecko")&&-1===d.indexOf("KHTML")&&!c(),g=-1!==d.indexOf("AppleWebKit/")&&!c(),h=-1!==d.indexOf("Chrome/")&&!c(),i=-1!==d.indexOf("Opera/")&&!c();return{USER_AGENT:d,supported:function(){var c=this.USER_AGENT.toLowerCase(),d="contentEditable"in e,f=document.execCommand&&document.queryCommandSupported&&document.queryCommandState,g=document.querySelector&&document.querySelectorAll,h=this.isIos()&&a(c)<5||this.isAndroid()&&b(c)<4||-1!==c.indexOf("opera mobi")||-1!==c.indexOf("hpwos/");return d&&f&&g&&!h},isTouchDevice:function(){return this.supportsEvent("touchmove")},isIos:function(){return/ipad|iphone|ipod/i.test(this.USER_AGENT)},isAndroid:function(){return-1!==this.USER_AGENT.indexOf("Android")},supportsSandboxedIframes:function(){return c()},throwsMixedContentWarningWhenIframeSrcIsEmpty:function(){return!("querySelector"in document)},displaysCaretInEmptyContentEditableCorrectly:function(){return c(12,">")},hasCurrentStyleProperty:function(){return"currentStyle"in e},insertsLineBreaksOnReturn:function(){return f},supportsPlaceholderAttributeOn:function(a){return"placeholder"in a},supportsEvent:function(a){return"on"+a in e||function(){return e.setAttribute("on"+a,"return;"),"function"==typeof e["on"+a]}()},supportsEventsInIframeCorrectly:function(){return!i},supportsHTML5Tags:function(a){var b=a.createElement("div"),c="
foo
";return b.innerHTML=c,b.innerHTML.toLowerCase()===c},supportsCommand:function(){var a={formatBlock:c(10,"<="),insertUnorderedList:c(),insertOrderedList:c()},b={insertHTML:f};return function(c,d){var e=a[d];if(!e){try{return c.queryCommandSupported(d)}catch(f){}try{return c.queryCommandEnabled(d)}catch(g){return!!b[d]}}return!1}}(),doesAutoLinkingInContentEditable:function(){return c()},canDisableAutoLinking:function(){return this.supportsCommand(document,"AutoUrlDetect")},clearsContentEditableCorrectly:function(){return f||i||g},supportsGetAttributeCorrectly:function(){var a=document.createElement("td");return"1"!=a.getAttribute("rowspan")},canSelectImagesInContentEditable:function(){return f||c()||i},autoScrollsToCaret:function(){return!g},autoClosesUnclosedTags:function(){var a,b,c=e.cloneNode(!1);return c.innerHTML="

",b=c.innerHTML.toLowerCase(),a="

"===b||"

"===b,this.autoClosesUnclosedTags=function(){return a},a},supportsNativeGetElementsByClassName:function(){return-1!==String(document.getElementsByClassName).indexOf("[native code]")},supportsSelectionModify:function(){return"getSelection"in window&&"modify"in window.getSelection()},needsSpaceAfterLineBreak:function(){return i},supportsSpeechApiOn:function(a){var b=d.match(/Chrome\/(\d+)/)||[void 0,0];return b[1]>=11&&("onwebkitspeechchange"in a||"speech"in a)},crashesWhenDefineProperty:function(a){return c(9)&&("XMLHttpRequest"===a||"XDomainRequest"===a)},doesAsyncFocus:function(){return c(12,">")},hasProblemsSettingCaretAfterImg:function(){return c()},hasLiDeletingProblem:function(){return c()},hasUndoInContextMenu:function(){return f||h||i},hasInsertNodeIssue:function(){return i},hasIframeFocusIssue:function(){return c()},createsNestedInvalidMarkupAfterPaste:function(){return g},hasCaretBlockElementIssue:function(){return g},supportsMutationEvents:function(){return"MutationEvent"in window},supportsModernPaste:function(){return!c()},fixStyleKey:function(a){return"cssFloat"===a?"styleFloat"in document.createElement("div").style?"styleFloat":"cssFloat":a},usesControlRanges:function(){return document.body&&"createControlRange"in document.body},hasCaretAtLinkEndInsertionProblems:function(){return g}}}(),wysihtml.lang.array=function(a){return{contains:function(b){if(Array.isArray(b)){for(var c=b.length;c--;)if(-1!==wysihtml.lang.array(a).indexOf(b[c]))return!0;return!1}return-1!==wysihtml.lang.array(a).indexOf(b)},indexOf:function(b){if(a.indexOf)return a.indexOf(b);for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},without:function(b){b=wysihtml.lang.array(b);for(var c=[],d=0,e=a.length;e>d;d++)b.contains(a[d])||c.push(a[d]);return c},get:function(){for(var b=0,c=a.length,d=[];c>b;b++)d.push(a[b]);return d},map:function(b,c){if(Array.prototype.map)return a.map(b,c);for(var d=a.length>>>0,e=new Array(d),f=0;d>f;f++)e[f]=b.call(c,a[f],f,a);return e},unique:function(){for(var b=[],c=a.length,d=0;c>d;)wysihtml.lang.array(b).contains(a[d])||b.push(a[d]),d++;return b}}},wysihtml.lang.Dispatcher=Base.extend({on:function(a,b){return this.events=this.events||{},this.events[a]=this.events[a]||[],this.events[a].push(b),this},off:function(a,b){this.events=this.events||{};var c,d,e=0;if(a){for(c=this.events[a]||[],d=[];e\t"]/g,d={"&":"&","<":"<",">":">",'"':"""," ":"  "};wysihtml.lang.string=function(e){return e=String(e),{trim:function(){return e.replace(a,"").replace(b,"")},interpolate:function(a){for(var b in a)e=this.replace("#{"+b+"}").by(a[b]);return e},replace:function(a){return{by:function(b){return e.split(a).join(b)}}},escapeHTML:function(a,b){var f=e.replace(c,function(a){return d[a]});return a&&(f=f.replace(/(?:\r\n|\r|\n)/g,"
")),b&&(f=f.replace(/ /gi,"  ")),f}}}}(),function(a){function b(a,b){return f(a,b)?a:(a===a.ownerDocument.documentElement&&(a=a.ownerDocument.body),g(a,b))}function c(a){return a.replace(i,function(a,b){var c=(b.match(j)||[])[1]||"",d=l[c];b=b.replace(j,""),b.split(d).length>b.split(c).length&&(b+=c,c="");var e=b,f=b;return b.length>k&&(f=f.substr(0,k)+"..."),"www."===e.substr(0,4)&&(e="http://"+e),''+f+""+c})}function d(a){var b=a._wysihtml_tempElement;return b||(b=a._wysihtml_tempElement=a.createElement("div")),b}function e(b){var e=b.parentNode,f=a.lang.string(b.data).escapeHTML(),g=d(e.ownerDocument);for(g.innerHTML=""+c(f),g.removeChild(g.firstChild);g.firstChild;)e.insertBefore(g.firstChild,b);e.removeChild(b)}function f(b,c){for(var d;b.parentNode;){if(b=b.parentNode,d=b.nodeName,b.className&&a.lang.array(b.className.split(" ")).contains(c))return!0;if(h.contains(d))return!0;if("body"===d)return!1}return!1}function g(b,c){if(!(h.contains(b.nodeName)||b.className&&a.lang.array(b.className.split(" ")).contains(c))){if(b.nodeType===a.TEXT_NODE&&b.data.match(i))return void e(b);for(var d=a.lang.array(b.childNodes).get(),f=d.length,j=0;f>j;j++)g(d[j],c);return b}}var h=a.lang.array(["CODE","PRE","A","SCRIPT","HEAD","TITLE","STYLE"]),i=/((https?:\/\/|www\.)[^\s<]{3,})/gi,j=/([^\w\/\-](,?))$/i,k=100,l={")":"(","]":"[","}":"{"};a.dom.autoLink=b,a.dom.autoLink.URL_REG_EXP=i}(wysihtml),function(a){var b=a.dom;b.addClass=function(a,c){var d=a.classList;return d?d.add(c):void(b.hasClass(a,c)||(a.className+=" "+c))},b.removeClass=function(a,b){var c=a.classList;return c?c.remove(b):void(a.className=a.className.replace(new RegExp("(^|\\s+)"+b+"(\\s+|$)")," "))},b.hasClass=function(a,b){var c=a.classList;if(c)return c.contains(b);var d=a.className;return d.length>0&&(d==b||new RegExp("(^|\\s)"+b+"(\\s|$)").test(d))}}(wysihtml),wysihtml.dom.compareDocumentPosition=function(){var a=document.documentElement;return a.compareDocumentPosition?function(a,b){return a.compareDocumentPosition(b)}:function(a,b){var c,d;if(c=9===a.nodeType?a:a.ownerDocument,d=9===b.nodeType?b:b.ownerDocument,a===b)return 0;if(a===b.ownerDocument)return 20;if(a.ownerDocument===b)return 10;if(c!==d)return 1;if(2===a.nodeType&&a.childNodes&&-1!==wysihtml.lang.array(a.childNodes).indexOf(b))return 20;if(2===b.nodeType&&b.childNodes&&-1!==wysihtml.lang.array(b.childNodes).indexOf(a))return 10;for(var e=a,f=[],g=null;e;){if(e==b)return 10;f.push(e),e=e.parentNode}for(e=b,g=null;e;){if(e==a)return 20;var h=wysihtml.lang.array(f).indexOf(e);if(-1!==h){var i=f[h],j=wysihtml.lang.array(i.childNodes).indexOf(f[h-1]),k=wysihtml.lang.array(i.childNodes).indexOf(g);return j>k?2:4}g=e,e=e.parentNode}return 1}}(),wysihtml.dom.contains=function(){var a=document.documentElement;return a.contains?function(a,b){if(b.nodeType!==wysihtml.ELEMENT_NODE){if(b.parentNode===a)return!0;b=b.parentNode}return a!==b&&a.contains(b)}:a.compareDocumentPosition?function(a,b){return!!(16&a.compareDocumentPosition(b))}:void 0}(),function(a){var b=document;a.dom.ContentEditableArea=Base.extend({getContentEditable:function(){return this.element},getWindow:function(){return this.element.ownerDocument.defaultView||this.element.ownerDocument.parentWindow},getDocument:function(){return this.element.ownerDocument},constructor:function(b,c,d){this.callback=b||a.EMPTY_FUNCTION,this.config=a.lang.object({}).merge(c).get(),this.config.className||(this.config.className="wysihtml-sandbox"),d?this.element=this._bindElement(d):this.element=this._createElement()},destroy:function(){},_createElement:function(){var a=b.createElement("div");return a.className=this.config.className,this._loadElement(a),a},_bindElement:function(a){return a.className=a.className?a.className+" wysihtml-sandbox":"wysihtml-sandbox",this._loadElement(a,!0),a},_loadElement:function(a,b){var c=this;if(!b){var d=this._getHtml();a.innerHTML=d}this.loaded=!0,setTimeout(function(){c.callback(c)},0)},_getHtml:function(a){return""}})}(wysihtml),wysihtml.dom.convertToList=function(){function a(a,b){var c=a.createElement("li");return b.appendChild(c),c}function b(a,b){return a.createElement(b)}function c(c,d,e){if("UL"===c.nodeName||"OL"===c.nodeName||"MENU"===c.nodeName)return c;var f,g,h,i,j,k,l,m,n,o=c.ownerDocument,p=b(o,d),q=c.querySelectorAll("br"),r=q.length;for(n=0;r>n;n++)for(i=q[n];(j=i.parentNode)&&j!==c&&j.lastChild===i;){if("block"===wysihtml.dom.getStyle("display").from(j)){j.removeChild(i);break}wysihtml.dom.insert(i).after(i.parentNode)}for(f=wysihtml.lang.array(c.childNodes).get(),g=f.length,n=0;g>n;n++)m=m||a(o,p),h=f[n],k="block"===wysihtml.dom.getStyle("display").from(h),l="BR"===h.nodeName,!k||e&&wysihtml.dom.hasClass(h,e)?l?m=m.firstChild?null:m:m.appendChild(h):(m=m.firstChild?a(o,p):m,m.appendChild(h),m=null);return 0===f.length&&a(o,p),c.parentNode.replaceChild(p,c),p}return c}(),wysihtml.dom.copyAttributes=function(a){return{from:function(b){return{to:function c(d){for(var e,f=0,g=a.length;g>f;f++)e=a[f],"undefined"!=typeof b[e]&&""!==b[e]&&(d[e]=b[e]);return{andTo:c}}}}}},function(a){var b=["-webkit-box-sizing","-moz-box-sizing","-ms-box-sizing","box-sizing"],c=function(b){return d(b)?parseInt(a.getStyle("width").from(b),10)d;d++)if("border-box"===a.getStyle(b[d]).from(c))return b[d]};a.copyStyles=function(d){return{from:function(e){c(e)&&(d=wysihtml.lang.array(d).without(b));for(var f,g="",h=d.length,i=0;h>i;i++)f=d[i],g+=f+":"+a.getStyle(f).from(e)+";";return{to:function j(b){return a.setStyles(g).on(b),{andTo:j}}}}}}}(wysihtml.dom),function(a){a.dom.delegate=function(a,b,c,d){var e=function(c){for(var e=c.target,f=3===e.nodeType?e.parentNode:e,g=a.querySelectorAll(b),h=0,i=g.length;i>h;h++)g[h].contains(f)&&d.call(g[h],c)};return a.addEventListener(c,e,!1),{stop:function(){a.removeEventListener(c,e,!1)}}}}(wysihtml),function(a){function b(a,b){for(var c=[a],d=a;b&&d&&d!==b||!b&&d;)c.unshift(d),d=d.parentNode;return c}a.dom.domNode=function(c){var d=[a.ELEMENT_NODE,a.TEXT_NODE];return{is:{emptyTextNode:function(b){var d=b?/^\s*$/g:/^[\r\n]*$/g;return c&&c.nodeType===a.TEXT_NODE&&d.test(c.data)},rangyBookmark:function(){return c&&1===c.nodeType&&c.classList.contains("rangySelectionBoundary")},visible:function(){var b=!/^\s*$/g.test(a.dom.getTextContent(c));return b||1===c.nodeType&&c.querySelector("img, br, hr, object, embed, canvas, input, textarea")&&(b=!0),b},lineBreak:function(){return c&&1===c.nodeType&&"BR"===c.nodeName},block:function(){return c&&1===c.nodeType&&"block"===c.ownerDocument.defaultView.getComputedStyle(c).display},voidElement:function(){return a.dom.domNode(c).test({query:a.VOID_ELEMENTS})}},prev:function(b){var e=c.previousSibling,f=b&&b.nodeTypes?b.nodeTypes:d;return e?a.dom.domNode(e).is.rangyBookmark()||!a.lang.array(f).contains(e.nodeType)||b&&b.ignoreBlankTexts&&a.dom.domNode(e).is.emptyTextNode(!0)?a.dom.domNode(e).prev(b):e:null},next:function(b){var e=c.nextSibling,f=b&&b.nodeTypes?b.nodeTypes:d;return e?a.dom.domNode(e).is.rangyBookmark()||!a.lang.array(f).contains(e.nodeType)||b&&b.ignoreBlankTexts&&a.dom.domNode(e).is.emptyTextNode(!0)?a.dom.domNode(e).next(b):e:null},commonAncestor:function(a,d){var e=b(c,d),f=b(a,d);if(e[0]!=f[0])return null;for(var g=0;g0)for(var f=!1,g=Array.isArray(b.styleProperty)?b.styleProperty:[b.styleProperty],h=0,i=g.length;i>h;h++){if(d=a.browser.fixStyleKey(g[h]),c.style[d]){if(!b.styleValue){f=!0;break}if(b.styleValue instanceof RegExp){if(c.style[d].trim().match(b.styleValue).length>0){f=!0;break}}else if(Array.isArray(b.styleValue)){if(b.styleValue.indexOf(c.style[d].trim())){f=!0;break}}else if(b.styleValue===c.style[d].trim().replace(/, /g,",")){f=!0;break}}if(!f)return!1}if(b.attribute){var j=a.dom.getAttributes(c),k=[],l=!1;Array.isArray(b.attribute)?k=b.attribute:k[b.attribute]=b.attributeValue;for(var m in k)if(k.hasOwnProperty(m))if("undefined"==typeof k[m]){if("undefined"!=typeof j[m]){l=!0;break}}else if(j[m]===k[m]){l=!0;break}if(!l)return!1}return!0}}}}(wysihtml),wysihtml.dom.getAsDom=function(){var a=function(a,b){var c=b.createElement("div");c.style.display="none",b.body.appendChild(c);try{c.innerHTML=a}catch(d){}return b.body.removeChild(c),c},b=function(a){if(!a._wysihtml_supportsHTML5Tags){for(var b=0,d=c.length;d>b;b++)a.createElement(c[b]);a._wysihtml_supportsHTML5Tags=!0}},c=["abbr","article","aside","audio","bdi","canvas","command","datalist","details","figcaption","figure","footer","header","hgroup","keygen","mark","meter","nav","output","progress","rp","rt","ruby","svg","section","source","summary","time","track","video","wbr"];return function(c,d){d=d||document;var e;return"object"==typeof c&&c.nodeType?(e=d.createElement("div"),e.appendChild(c)):wysihtml.browser.supportsHTML5Tags(d)?(e=d.createElement("div"),e.innerHTML=c):(b(d),e=a(c,d)),e}}(),wysihtml.dom.getAttribute=function(a,b){var c=!wysihtml.browser.supportsGetAttributeCorrectly();b=b.toLowerCase();var d=a.nodeName;if("IMG"==d&&"src"==b&&wysihtml.dom.isLoadedImage(a)===!0)return a.src;if(c&&"outerHTML"in a){var e=a.outerHTML.toLowerCase(),f=-1!=e.indexOf(" "+b+"=");return f?a.getAttribute(b):null}return a.getAttribute(b)},wysihtml.dom.getAttributes=function(a){var b,c=!wysihtml.browser.supportsGetAttributeCorrectly(),d=a.nodeName,e=[];for(b in a.attributes)(a.attributes.hasOwnProperty&&a.attributes.hasOwnProperty(b)||!a.attributes.hasOwnProperty&&Object.prototype.hasOwnProperty.call(a.attributes,b))&&a.attributes[b].specified&&("IMG"==d&&"src"==a.attributes[b].name.toLowerCase()&&wysihtml.dom.isLoadedImage(a)===!0?e.src=a.src:wysihtml.lang.array(["rowspan","colspan"]).contains(a.attributes[b].name.toLowerCase())&&c?1!==a.attributes[b].value&&(e[a.attributes[b].name]=a.attributes[b].value):e[a.attributes[b].name]=a.attributes[b].value); return e},wysihtml.dom.getParentElement=function(){return function(a,b,c,d){for(c=c||50;c--&&a&&"BODY"!==a.nodeName&&(!d||a!==d);){if(wysihtml.dom.domNode(a).test(b))return a;a=a.parentNode}return null}}(),wysihtml.dom.getPastedHtml=function(a){var b;return wysihtml.browser.supportsModernPaste()&&a.clipboardData&&(wysihtml.lang.array(a.clipboardData.types).contains("text/html")?b=a.clipboardData.getData("text/html"):wysihtml.lang.array(a.clipboardData.types).contains("text/plain")&&(b=wysihtml.lang.string(a.clipboardData.getData("text/plain")).escapeHTML(!0,!0))),b},wysihtml.dom.getPastedHtmlWithDiv=function(a,b){var c=a.selection.getBookmark(),d=a.element.ownerDocument,e=d.createElement("DIV"),f=a.getScrollPos();d.body.appendChild(e),e.style.width="1px",e.style.height="1px",e.style.overflow="hidden",e.style.position="absolute",e.style.top=f.y+"px",e.style.left=f.x+"px",e.setAttribute("contenteditable","true"),e.focus(),setTimeout(function(){var d;a.selection.setBookmark(c),d=e.innerHTML,d&&/^$/i.test(d.trim())&&(d=!1),b(d),e.parentNode.removeChild(e)},0)},wysihtml.dom.getStyle=function(){function a(a){return a.replace(c,function(a){return a.charAt(1).toUpperCase()})}var b={"float":"styleFloat"in document.createElement("div").style?"styleFloat":"cssFloat"},c=/\-[a-z]/g;return function(c){return{from:function(d){if(d.nodeType===wysihtml.ELEMENT_NODE){var e=d.ownerDocument,f=b[c]||a(c),g=d.style,h=d.currentStyle,i=g[f];if(i)return i;if(h)try{return h[f]}catch(j){}var k,l,m=e.defaultView||e.parentWindow,n=("height"===c||"width"===c)&&"TEXTAREA"===d.nodeName;return m.getComputedStyle?(n&&(k=g.overflow,g.overflow="hidden"),l=m.getComputedStyle(d,null).getPropertyValue(c),n&&(g.overflow=k||""),l):void 0}}}}}(),wysihtml.dom.getTextNodes=function(a,b){var c=[];for(a=a.firstChild;a;a=a.nextSibling)3==a.nodeType?b&&/^\s*$/.test(a.innerText||a.textContent)||c.push(a):c=c.concat(wysihtml.dom.getTextNodes(a,b));return c},function(a){function b(a){return a._wysihtml_identifier||(a._wysihtml_identifier=d++)}var c={},d=1;a.dom.hasElementWithClassName=function(d,e){if(!a.browser.supportsNativeGetElementsByClassName())return!!d.querySelector("."+e);var f=b(d)+":"+e,g=c[f];return g||(g=c[f]=d.getElementsByClassName(e)),g.length>0}}(wysihtml),wysihtml.dom.hasElementWithTagName=function(){function a(a){return a._wysihtml_identifier||(a._wysihtml_identifier=c++)}var b={},c=1;return function(c,d){var e=a(c)+":"+d,f=b[e];return f||(f=b[e]=c.getElementsByTagName(d)),f.length>0}}(),wysihtml.dom.insert=function(a){return{after:function(b){b.parentNode.insertBefore(a,b.nextSibling)},before:function(b){b.parentNode.insertBefore(a,b)},into:function(b){b.appendChild(a)}}},wysihtml.dom.insertCSS=function(a){return a=a.join("\n"),{into:function(b){var c=b.createElement("style");c.type="text/css",c.styleSheet?c.styleSheet.cssText=a:c.appendChild(b.createTextNode(a));var d=b.querySelector("head link");if(d)return void d.parentNode.insertBefore(c,d);var e=b.querySelector("head");e&&e.appendChild(c)}}},wysihtml.dom.isLoadedImage=function(a){try{return a.complete&&!a.mozMatchesSelector(":-moz-broken")}catch(b){if(a.complete&&"complete"===a.readyState)return!0}},function(a){a.dom.lineBreaks=function(b){function c(a){return"BR"===a.nodeName}function d(b){return c(b)?!0:"block"===a.dom.getStyle("display").from(b)?!0:!1}return{add:function(c){var e=b.ownerDocument,f=a.dom.domNode(b).next({ignoreBlankTexts:!0}),g=a.dom.domNode(b).prev({ignoreBlankTexts:!0});f&&!d(f)&&a.dom.insert(e.createElement("br")).after(b),g&&!d(g)&&a.dom.insert(e.createElement("br")).before(b)},remove:function(d){var e=a.dom.domNode(b).next({ignoreBlankTexts:!0}),f=a.dom.domNode(b).prev({ignoreBlankTexts:!0});e&&c(e)&&e.parentNode.removeChild(e),f&&c(f)&&f.parentNode.removeChild(f)}}}}(wysihtml),wysihtml.dom.observe=function(a,b,c){b="string"==typeof b?[b]:b;for(var d,e,f=0,g=b.length;g>f;f++)e=b[f],a.addEventListener?a.addEventListener(e,c,!1):(d=function(b){"target"in b||(b.target=b.srcElement),b.preventDefault=b.preventDefault||function(){this.returnValue=!1},b.stopPropagation=b.stopPropagation||function(){this.cancelBubble=!0},c.call(a,b)},a.attachEvent("on"+e,d));return{stop:function(){for(var e,f=0,g=b.length;g>f;f++)e=b[f],a.removeEventListener?a.removeEventListener(e,c,!1):a.detachEvent("on"+e,d)}}},wysihtml.dom.parse=function(a,b){function c(a,b){wysihtml.lang.object(t).merge(s).merge(b.rules).get();var c,f,g,h=b.context||a.ownerDocument||document,i=h.createDocumentFragment(),j="string"==typeof a,k=!1;for(b.clearInternals===!0&&(k=!0),c=j?wysihtml.dom.getAsDom(a,h):a,t.selectors&&e(c,t.selectors);c.firstChild;)g=c.firstChild,f=d(g,b.cleanUp,k,b.uneditableClass),f&&i.appendChild(f),g!==f&&c.removeChild(g);if(b.unjoinNbsps)for(var l=wysihtml.dom.getTextNodes(i),m=l.length;m--;)l[m].nodeValue=l[m].nodeValue.replace(/([\S\u00A0])\u00A0/gi,"$1 ");return c.innerHTML="",c.appendChild(i),j?wysihtml.quirks.getCorrectInnerHTML(c):c}function d(a,b,c,e){var f,g,h,i,j=a.nodeType,k=a.childNodes,l=k.length,m=p[j],n=0;if(e&&1===j&&wysihtml.dom.hasClass(a,e))return a;if(g=m&&m(a,c),!g){if(g===!1){for(f=a.ownerDocument.createDocumentFragment(),n=l;n--;)k[n]&&(h=d(k[n],b,c,e),h&&(k[n]===h&&n--,f.insertBefore(h,f.firstChild)));return i=wysihtml.dom.getStyle("display").from(a),""===i&&(i=wysihtml.lang.array(u).contains(a.tagName)?"block":""),wysihtml.lang.array(["block","flex","table"]).contains(i)&&f.appendChild(a.ownerDocument.createElement("br")),wysihtml.lang.array(["div","pre","p","table","td","th","ul","ol","li","dd","dl","footer","header","section","h1","h2","h3","h4","h5","h6"]).contains(a.nodeName.toLowerCase())&&a.parentNode.lastChild!==a&&(a.nextSibling&&3===a.nextSibling.nodeType&&/^\s/.test(a.nextSibling.nodeValue)||f.appendChild(a.ownerDocument.createTextNode(" "))),f.normalize&&f.normalize(),f}return null}for(n=0;l>n;n++)k[n]&&(h=d(k[n],b,c,e),h&&(k[n]===h&&n--,g.appendChild(h)));if(b&&g.nodeName.toLowerCase()===q&&(!g.childNodes.length||/^\s*$/gi.test(g.innerHTML)&&(c||"_wysihtml-temp-placeholder"!==a.className&&"rangySelectionBoundary"!==a.className)||!g.attributes.length)){for(f=g.ownerDocument.createDocumentFragment();g.firstChild;)f.appendChild(g.firstChild);return f.normalize&&f.normalize(),f}return g.normalize&&g.normalize(),g}function e(a,b){var c,d,e;for(c in b)if(b.hasOwnProperty(c)){wysihtml.lang.object(b[c]).isFunction()?d=b[c]:"string"==typeof b[c]&&z[b[c]]&&(d=z[b[c]]),e=a.querySelectorAll(c);for(var f=e.length;f--;)d(e[f])}}function f(a,b){var c,d,e,f=t.tags,h=a.nodeName.toLowerCase(),j=a.scopeName;if(a._wysihtml)return null;if(a._wysihtml=1,"wysihtml-temp"===a.className)return null;if(j&&"HTML"!=j&&(h=j+":"+h),"outerHTML"in a&&(wysihtml.browser.autoClosesUnclosedTags()||"P"!==a.nodeName||"

"===a.outerHTML.slice(-4).toLowerCase()||(h="div")),h in f){if(c=f[h],!c||c.remove)return null;if(c.unwrap)return!1;c="string"==typeof c?{rename_tag:c}:c}else{if(!a.firstChild)return null;c={rename_tag:q}}if(c.one_of_type&&!g(a,t,c.one_of_type,b)){if(!c.remove_action)return null;if("unwrap"===c.remove_action)return!1;if("rename"!==c.remove_action)return null;e=c.remove_action_rename_to||q}return d=a.ownerDocument.createElement(e||c.rename_tag||h),m(a,d,c,b),i(a,d,c),a=null,d.normalize&&d.normalize(),d}function g(a,b,c,d){var e,f;if("SPAN"===a.nodeName&&!d&&("_wysihtml-temp-placeholder"===a.className||"rangySelectionBoundary"===a.className))return!0;for(f in c)if(c.hasOwnProperty(f)&&b.type_definitions&&b.type_definitions[f]&&(e=b.type_definitions[f],h(a,e)))return!0;return!1}function h(a,b){var c,d,e,f,g,h=a.getAttribute("class"),i=a.getAttribute("style");if(b.methods)for(var j in b.methods)if(b.methods.hasOwnProperty(j)&&y[j]&&y[j](a))return!0;if(h&&b.classes){h=h.replace(/^\s+/g,"").replace(/\s+$/g,"").split(r),c=h.length;for(var k=0;c>k;k++)if(b.classes[h[k]])return!0}if(i&&b.styles){i=i.split(";");for(d in b.styles)if(b.styles.hasOwnProperty(d))for(var l=i.length;l--;)if(g=i[l].split(":"),g[0].replace(/\s/g,"").toLowerCase()===d&&(b.styles[d]===!0||1===b.styles[d]||wysihtml.lang.array(b.styles[d]).contains(g[1].replace(/\s/g,"").toLowerCase())))return!0}if(b.attrs)for(e in b.attrs)if(b.attrs.hasOwnProperty(e)&&(f=wysihtml.dom.getAttribute(a,e),"string"==typeof f&&f.search(b.attrs[e])>-1))return!0;return!1}function i(a,b,c){var d,e;if(c&&c.keep_styles)for(d in c.keep_styles)if(c.keep_styles.hasOwnProperty(d)){if(e="float"===d?a.style.styleFloat||a.style.cssFloat:a.style[d],c.keep_styles[d]instanceof RegExp&&!c.keep_styles[d].test(e))continue;"float"===d?b.style[a.style.styleFloat?"styleFloat":"cssFloat"]=e:a.style[d]&&(b.style[d]=e)}}function j(a,b){var c=[];for(var d in b)b.hasOwnProperty(d)&&0===d.indexOf(a)&&c.push(d);return c}function k(a,b,c,d){var e,f=wysihtml.lang.object(c).isFunction()?c:v[c];return f&&(e=f(b,d),"string"==typeof e)?e:!1}function l(a,b){var c,d,e,f=wysihtml.lang.object(t.attributes||{}).clone(),g=wysihtml.lang.object(f).merge(wysihtml.lang.object(b||{}).clone()).get(),h={},i=wysihtml.dom.getAttributes(a);for(c in g)if(/\*$/.test(c)){e=j(c.slice(0,-1),i);for(var l=0,m=e.length;m>l;l++)d=k(e[l],i[e[l]],g[c],a.nodeName),d!==!1&&(h[e[l]]=d)}else d=k(c,i[c],g[c],a.nodeName),d!==!1&&(h[c]=d);return h}function m(a,b,c,d){var e,f,g,h,i,j={},k=c.set_class,m=c.add_class,n=c.add_style,o=c.set_attributes,p=t.classes,q=0,s=[],u=[],v=[],y=[];if(o&&(j=wysihtml.lang.object(o).clone()),j=wysihtml.lang.object(j).merge(l(a,c.check_attributes)).get(),k&&s.push(k),m)for(h in m)i=x[m[h]],i&&(g=i(wysihtml.dom.getAttribute(a,h)),"string"==typeof g&&s.push(g));if(n)for(h in n)i=w[n[h]],i&&(newStyle=i(wysihtml.dom.getAttribute(a,h)),"string"==typeof newStyle&&u.push(newStyle));if("string"==typeof p&&"any"===p)if(a.getAttribute("class"))if(t.classes_blacklist){for(y=a.getAttribute("class"),y&&(s=s.concat(y.split(r))),e=s.length;e>q;q++)f=s[q],t.classes_blacklist[f]||v.push(f);v.length&&(j["class"]=wysihtml.lang.array(v).unique().join(" "))}else j["class"]=a.getAttribute("class");else s&&s.length>0&&(j["class"]=wysihtml.lang.array(s).unique().join(" "));else{for(d||(p["_wysihtml-temp-placeholder"]=1,p._rangySelectionBoundary=1,p["wysiwyg-tmp-selected-cell"]=1),y=a.getAttribute("class"),y&&(s=s.concat(y.split(r))),e=s.length;e>q;q++)f=s[q],p[f]&&v.push(f);v.length&&(j["class"]=wysihtml.lang.array(v).unique().join(" "))}j["class"]&&d&&(j["class"]=j["class"].replace("wysiwyg-tmp-selected-cell",""),/^\s*$/g.test(j["class"])&&delete j["class"]),u.length&&(j.style=wysihtml.lang.array(u).unique().join(" "));for(h in j)try{b.setAttribute(h,j[h])}catch(z){}j.src&&("undefined"!=typeof j.width&&b.setAttribute("width",j.width),"undefined"!=typeof j.height&&b.setAttribute("height",j.height))}function n(a){var b=a.nextSibling;if(!b||b.nodeType!==wysihtml.TEXT_NODE){var c=a.data.replace(wysihtml.INVISIBLE_SPACE_REG_EXP,"");return a.ownerDocument.createTextNode(c)}b.data=a.data.replace(wysihtml.INVISIBLE_SPACE_REG_EXP,"")+b.data.replace(wysihtml.INVISIBLE_SPACE_REG_EXP,"")}function o(a){return t.comments?a.ownerDocument.createComment(a.nodeValue):void 0}var p={1:f,3:n,8:o},q="span",r=/\s+/,s={tags:{},classes:{}},t={},u=["ADDRESS","BLOCKQUOTE","CENTER","DIR","DIV","DL","FIELDSET","FORM","H1","H2","H3","H4","H5","H6","ISINDEX","MENU","NOFRAMES","NOSCRIPT","OL","P","PRE","TABLE","UL"],v={url:function(){var a=/^https?:\/\//i;return function(b){return b&&b.match(a)?b.replace(a,function(a){return a.toLowerCase()}):null}}(),src:function(){var a=/^(\/|https?:\/\/)/i;return function(b){return b&&b.match(a)?b.replace(a,function(a){return a.toLowerCase()}):null}}(),href:function(){var a=/^(#|\/|https?:\/\/|mailto:|tel:)/i;return function(b){return b&&b.match(a)?b.replace(a,function(a){return a.toLowerCase()}):null}}(),alt:function(){var a=/[^ a-z0-9_\-]/gi;return function(b,c){return b?b.replace(a,""):"IMG"===c?"":null}}(),numbers:function(){var a=/\D/g;return function(b){return b=(b||"").replace(a,""),b||null}}(),dimension:function(){var a=/\D*(\d+)(\.\d+)?\s?(%)?\D*/;return function(b){return b=(b||"").replace(a,"$1$2$3"),b||null}}(),any:function(){return function(a){return a?a:null}}()},w={align_text:function(){var a={left:"text-align: left;",right:"text-align: right;",center:"text-align: center;"};return function(b){return a[String(b).toLowerCase()]}}()},x={align_img:function(){var a={left:"wysiwyg-float-left",right:"wysiwyg-float-right"};return function(b){return a[String(b).toLowerCase()]}}(),align_text:function(){var a={left:"wysiwyg-text-align-left",right:"wysiwyg-text-align-right",center:"wysiwyg-text-align-center",justify:"wysiwyg-text-align-justify"};return function(b){return a[String(b).toLowerCase()]}}(),clear_br:function(){var a={left:"wysiwyg-clear-left",right:"wysiwyg-clear-right",both:"wysiwyg-clear-both",all:"wysiwyg-clear-both"};return function(b){return a[String(b).toLowerCase()]}}(),size_font:function(){var a={1:"wysiwyg-font-size-xx-small",2:"wysiwyg-font-size-small",3:"wysiwyg-font-size-medium",4:"wysiwyg-font-size-large",5:"wysiwyg-font-size-x-large",6:"wysiwyg-font-size-xx-large",7:"wysiwyg-font-size-xx-large","-":"wysiwyg-font-size-smaller","+":"wysiwyg-font-size-larger"};return function(b){return a[String(b).charAt(0)]}}()},y={has_visible_contet:function(){var a,b=["img","video","picture","br","script","noscript","style","table","iframe","object","embed","audio","svg","input","button","select","textarea","canvas"];return function(c){if(a=(c.innerText||c.textContent).replace(/\s/g,""),a&&a.length>0)return!0;for(var d=b.length;d--;)if(c.querySelector(b[d]))return!0;return c.offsetWidth&&c.offsetWidth>0&&c.offsetHeight&&c.offsetHeight>0?!0:!1}}()},z={unwrap:function(a){wysihtml.dom.unwrap(a)},remove:function(a){a.parentNode.removeChild(a)}};return c(a,b)},wysihtml.dom.query=function(a,b){var c,d=[];a.nodeType&&(a=[a]);for(var e=0,f=a.length;f>e;e++)if(c=a[e].querySelectorAll(b))for(var g=c.length;g--;d.unshift(c[g]));return d},wysihtml.dom.removeEmptyTextNodes=function(a){for(var b,c=wysihtml.lang.array(a.childNodes).get(),d=c.length,e=0;d>e;e++)b=c[e],b.nodeType===wysihtml.TEXT_NODE&&/^[\n\r]*$/.test(b.data)&&b.parentNode.removeChild(b)},wysihtml.dom.removeInvisibleSpaces=function(a){for(var b=wysihtml.dom.getTextNodes(a),c=b.length;c--;)b[c].nodeValue=b[c].nodeValue.replace(wysihtml.INVISIBLE_SPACE_REG_EXP,"")},wysihtml.dom.renameElement=function(a,b){for(var c,d=a.ownerDocument.createElement(b);c=a.firstChild;)d.appendChild(c);return wysihtml.dom.copyAttributes(["align","className"]).from(a).to(d),a.parentNode&&a.parentNode.replaceChild(d,a),d},wysihtml.dom.replaceWithChildNodes=function(a){if(a.parentNode){for(;a.firstChild;)a.parentNode.insertBefore(a.firstChild,a);a.parentNode.removeChild(a)}},function(a){function b(b){return"block"===a.getStyle("display").from(b)}function c(a){return"BR"===a.nodeName}function d(a){var b=a.ownerDocument.createElement("br");a.appendChild(b)}function e(a,e){if(a.nodeName.match(/^(MENU|UL|OL)$/)){var f,g,h,i,j,k,l,m=a.ownerDocument,n=m.createDocumentFragment(),o=wysihtml.dom.domNode(a).prev({ignoreBlankTexts:!0}),p=wysihtml.dom.domNode(a).next({ignoreBlankTexts:!0}),q=a.lastElementChild||a.lastChild;if(e)for(!o||b(o)||c(o)||d(n);k=a.firstElementChild||a.firstChild;){for(g=k.lastChild,l=k===q;f=k.firstChild;)h=f===g,i=(!l||p&&!b(p))&&h&&!b(f)&&!c(f),n.appendChild(f),i&&d(n);k.parentNode.removeChild(k)}else for(;k=a.firstElementChild||a.firstChild;){if(k.querySelector&&k.querySelector("div, p, ul, ol, menu, blockquote, h1, h2, h3, h4, h5, h6"))for(;f=k.firstChild;)n.appendChild(f);else{for(j=m.createElement("p");f=k.firstChild;)j.appendChild(f);n.appendChild(j)}k.parentNode.removeChild(k)}a.parentNode.replaceChild(n,a)}}a.resolveList=e}(wysihtml.dom),function(a){var b=document,c=["parent","top","opener","frameElement","frames","localStorage","globalStorage","sessionStorage","indexedDB"],d=["open","close","openDialog","showModalDialog","alert","confirm","prompt","openDatabase","postMessage","XMLHttpRequest","XDomainRequest"],e=["referrer","write","open","close"];a.dom.Sandbox=Base.extend({constructor:function(b,c){this.callback=b||a.EMPTY_FUNCTION,this.config=a.lang.object({}).merge(c).get(),this.config.className||(this.config.className="wysihtml-sandbox"),this.editableArea=this._createIframe()},insertInto:function(a){"string"==typeof a&&(a=b.getElementById(a)),a.appendChild(this.editableArea)},getIframe:function(){return this.editableArea},getWindow:function(){this._readyError()},getDocument:function(){this._readyError()},destroy:function(){var a=this.getIframe();a.parentNode.removeChild(a)},_readyError:function(){throw new Error("wysihtml.Sandbox: Sandbox iframe isn't loaded yet")},_createIframe:function(){var c=this,d=b.createElement("iframe");return d.className=this.config.className,a.dom.setAttributes({security:"restricted",allowtransparency:"true",frameborder:0,width:0,height:0,marginwidth:0,marginheight:0}).on(d),a.browser.throwsMixedContentWarningWhenIframeSrcIsEmpty()&&(d.src="javascript:''"),d.onload=function(){d.onreadystatechange=d.onload=null,c._onLoadIframe(d)},d.onreadystatechange=function(){/loaded|complete/.test(d.readyState)&&(d.onreadystatechange=d.onload=null,c._onLoadIframe(d))},d},_onLoadIframe:function(f){if(a.dom.contains(b.documentElement,f)){var g=this,h=f.contentWindow,i=f.contentWindow.document,j=b.characterSet||b.charset||"utf-8",k=this._getHtml({charset:j,stylesheets:this.config.stylesheets});if(i.open("text/html","replace"),i.write(k),i.close(),this.getWindow=function(){return f.contentWindow},this.getDocument=function(){return f.contentWindow.document},h.onerror=function(a,b,c){throw new Error("wysihtml.Sandbox: "+a,b,c)},!a.browser.supportsSandboxedIframes()){var l,m;for(l=0,m=c.length;m>l;l++)this._unset(h,c[l]);for(l=0,m=d.length;m>l;l++)this._unset(h,d[l],a.EMPTY_FUNCTION);for(l=0,m=e.length;m>l;l++)this._unset(i,e[l]);this._unset(i,"cookie","",!0)}a.polyfills&&a.polyfills(h,i).apply(),this.loaded=!0,setTimeout(function(){g.callback(g)},0)}},_getHtml:function(b){var c,d=b.stylesheets,e="",f=0;if(d="string"==typeof d?[d]:d)for(c=d.length;c>f;f++)e+='';return b.stylesheets=e,a.lang.string('#{stylesheets}').interpolate(b)},_unset:function(b,c,d,e){try{b[c]=d}catch(f){}try{b.__defineGetter__(c,function(){return d})}catch(f){}if(e)try{b.__defineSetter__(c,function(){})}catch(f){}if(!a.browser.crashesWhenDefineProperty(c))try{var g={get:function(){return d}};e&&(g.set=function(){}),Object.defineProperty(b,c,g)}catch(f){}}})}(wysihtml),function(){var a={className:"class"};wysihtml.dom.setAttributes=function(b){return{on:function(c){for(var d in b)c.setAttribute(a[d]||d,b[d])}}}}(),wysihtml.dom.setStyles=function(a){return{on:function(b){var c=b.style;if("string"==typeof a)return void(c.cssText+=";"+a);for(var d in a)"float"===d?(c.cssFloat=a[d],c.styleFloat=a[d]):c[d]=a[d]}}},function(a){a.simulatePlaceholder=function(b,c,d,e){var f=e||"wysihtml-placeholder",g=function(){var b=c.element.offsetWidth>0&&c.element.offsetHeight>0;c.hasPlaceholderSet()&&(c.clear(),c.element.focus(),b&&setTimeout(function(){var a=c.selection.getSelection();a.focusNode&&a.anchorNode||c.selection.selectNode(c.element.firstChild||c.element)},0)),c.placeholderSet=!1,a.removeClass(c.element,f)},h=function(){c.isEmpty()&&!c.placeholderSet&&(c.placeholderSet=!0,c.setValue(d,!1),a.addClass(c.element,f))};b.on("set_placeholder",h).on("unset_placeholder",g).on("focus:composer",g).on("paste:composer",g).on("blur:composer",h),h()}}(wysihtml.dom),function(a){var b=document.documentElement;"textContent"in b?(a.setTextContent=function(a,b){a.textContent=b},a.getTextContent=function(a){return a.textContent}):"innerText"in b?(a.setTextContent=function(a,b){a.innerText=b},a.getTextContent=function(a){return a.innerText}):(a.setTextContent=function(a,b){a.nodeValue=b},a.getTextContent=function(a){return a.nodeValue})}(wysihtml.dom),wysihtml.dom.unwrap=function(a){var b=[];if(a.parentNode){for(;a.lastChild;)b.unshift(a.lastChild),wysihtml.dom.insert(a.lastChild).after(a);a.parentNode.removeChild(a)}return b},wysihtml.quirks.cleanPastedHTML=function(){var a=function(a){var b=wysihtml.lang.string(a).trim(),c=b.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");return new RegExp("^((?!^"+c+"$).)*$","i")},b=function(b,c){var d,e,f=wysihtml.lang.object(b).clone(!0);for(d in f.tags)if(f.tags.hasOwnProperty(d)&&f.tags[d].keep_styles)for(e in f.tags[d].keep_styles)f.tags[d].keep_styles.hasOwnProperty(e)&&c[e]&&(f.tags[d].keep_styles[e]=a(c[e]));return f},c=function(a,b){var c;if(!a)return null;for(var d=0,e=a.length;e>d;d++)if(a[d].condition||(c=a[d].set),a[d].condition&&a[d].condition.test(b))return a[d].set;return c};return function(a,d){var e,f={color:wysihtml.dom.getStyle("color").from(d.referenceNode),fontSize:wysihtml.dom.getStyle("font-size").from(d.referenceNode)},g=b(c(d.rules,a)||{},f);return e=wysihtml.dom.parse(a,{rules:g,cleanUp:!0,context:d.referenceNode.ownerDocument,uneditableClass:d.uneditableClass,clearInternals:!0,unjoinNbsps:!0})}}(),wysihtml.quirks.ensureProperClearing=function(){var a=function(){var a=this;setTimeout(function(){var b=a.innerHTML.toLowerCase();("

 

"==b||"

 

 

"==b)&&(a.innerHTML="")},0)};return function(b){wysihtml.dom.observe(b.element,["cut","keydown"],a)}}(),function(a){var b="%7E";a.quirks.getCorrectInnerHTML=function(c){var d=c.innerHTML;if(-1===d.indexOf(b))return d;var e,f,g,h,i=c.querySelectorAll("[href*='~'], [src*='~']");for(h=0,g=i.length;g>h;h++)e=i[h].href||i[h].src,f=a.lang.string(e).replace("~").by(b),d=a.lang.string(d).replace(f).by(e);return d}}(wysihtml),function(a){var b="wysihtml-quirks-redraw";a.quirks.redraw=function(c){a.dom.addClass(c,b),a.dom.removeClass(c,b);try{var d=c.ownerDocument;d.execCommand("italic",!1,null),d.execCommand("italic",!1,null)}catch(e){}}}(wysihtml),function(a){function b(a){var b,c;for(b in d)if(d.hasOwnProperty(b)&&(c=d[b],c.regex.test(a)))return c}function c(a){var c=b(a);return c?c.name:void 0}var d={rgba:{regex:/^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*([\d\.]+)\s*\)/i,name:"rgba"},rgb:{regex:/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/i,name:"rgb"},hex6:{regex:/^#([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])/i,name:"hex",radix:16},hex3:{regex:/^#([0-9a-f])([0-9a-f])([0-9a-f])/i,name:"hex",radix:16}},e=function(a){return new RegExp("(^|\\s|;)"+a+"\\s*:\\s*[^;$]+","gi")};a.quirks.styleParser={getColorParseMethod:b,getColorFormat:c,parseColor:function(c,f){var g,h,i,j,k,l=c;if(f){if(g=e(f),!(h=c.match(g)))return!1;h=h.pop().split(":")[1],l=a.lang.string(h).trim()}return(i=b(l))&&(j=l.match(i.regex))?(k=i.radix||10,i===d.hex3?(j.shift(),j.push(1),a.lang.array(j).map(function(a,b){return 3>b?parseInt(a,k)*k+parseInt(a,k):parseFloat(a)})):(j.shift(),j[3]||j.push(1),a.lang.array(j).map(function(a,b){return 3>b?parseInt(a,k):parseFloat(a)}))):!1},unparseColor:function(a,b){var c=16;return"hex"===b?(a[0].toString(c)+a[1].toString(c)+a[2].toString(c)).toUpperCase():"hash"===b?"#"+(a[0].toString(c)+a[1].toString(c)+a[2].toString(c)).toUpperCase():"rgb"===b?"rgb("+a[0]+","+a[1]+","+a[2]+")":"rgba"===b?"rgba("+a[0]+","+a[1]+","+a[2]+","+a[3]+")":"csv"===b?a[0]+","+a[1]+","+a[2]+","+a[3]:a[3]&&1!==a[3]?"rgba("+a[0]+","+a[1]+","+a[2]+","+a[3]+")":"rgb("+a[0]+","+a[1]+","+a[2]+")"},parseFontSize:function(b){var c=b.match(e("font-size"));return c?a.lang.string(c[c.length-1].split(":")[1]).trim():!1}}}(wysihtml),function(a){function b(a){var b=0;if(a.parentNode)do b+=a.offsetTop||0,a=a.offsetParent;while(a);return b}function c(a,b){for(var c=0;b!==a;)if(c++,b=b.parentNode,!b)throw new Error("not a descendant of ancestor!");return c}function d(a,b){return 3===a.nodeType?a:a.childNodes[b]||a}function e(b){var c=document.createElement("span"),d=function(a){b.removeEventListener("mouseup",d),b.removeEventListener("keydown",d),b.removeEventListener("touchstart",d),b.removeEventListener("focus",d),b.removeEventListener("blur",d),b.removeEventListener("paste",e),b.removeEventListener("drop",e),b.removeEventListener("beforepaste",e),c&&c.parentNode&&c.parentNode.removeChild(c)},e=function(a){c&&c.parentNode&&setTimeout(d,0)};return c.appendChild(b.ownerDocument.createTextNode(a.INVISIBLE_SPACE)),c.className="_wysihtml-temp-caret-fix",c.style.display="block",c.style.minWidth="1px",c.style.height="0px",b.addEventListener("mouseup",d),b.addEventListener("keydown",d),b.addEventListener("touchstart",d),b.addEventListener("focus",d),b.addEventListener("blur",d),b.addEventListener("paste",e),b.addEventListener("drop",e),b.addEventListener("beforepaste",e),c}function f(a){if(!a.canSurroundContents())for(var b=a.commonAncestorContainer,d=c(b,a.startContainer),e=c(b,a.endContainer);!a.canSurroundContents();)d>e?(a.setStartBefore(a.startContainer),d=c(b,a.startContainer)):(a.setEndAfter(a.endContainer),e=c(b,a.endContainer))}var g=a.dom;a.Selection=Base.extend({constructor:function(a,b,c){rangy.init(),this.editor=a,this.composer=a.composer,this.doc=this.composer.doc,this.win=this.composer.win,this.contain=b,this.unselectableClass=c||!1},getBookmark:function(){var a=this.getRange();return a&&a.cloneRange()},setBookmark:function(a){a&&this.setSelection(a)},setBefore:function(a){var b=rangy.createRange(this.doc);return b.setStartBefore(a),b.setEndBefore(a),this.setSelection(b)},createTemporaryCaretSpaceAfter:function(b){var c=this.doc.createElement("span"),d=this.doc.createTextNode(a.INVISIBLE_SPACE),e=function(b){var d;this.contain.removeEventListener("mouseup",e),this.contain.removeEventListener("keydown",g),this.contain.removeEventListener("touchstart",e),this.contain.removeEventListener("focus",e),this.contain.removeEventListener("blur",e),this.contain.removeEventListener("paste",f),this.contain.removeEventListener("drop",f),this.contain.removeEventListener("beforepaste",f),c&&c.parentNode&&(c.innerHTML=c.innerHTML.replace(a.INVISIBLE_SPACE_REG_EXP,""),/[^\s]+/.test(c.innerHTML)?(d=c.lastChild,a.dom.unwrap(c),this.setAfter(d)):c.parentNode.removeChild(c))}.bind(this),f=function(a){c&&c.parentNode&&setTimeout(e,0)},g=function(a){8===a.which||91===a.which||17===a.which||86===a.which&&(a.ctrlKey||a.metaKey)||e()};return c.className="_wysihtml-temp-caret-fix",c.style.position="absolute",c.style.display="block",c.style.minWidth="1px",c.style.zIndex="99999",c.appendChild(d),b.parentNode.insertBefore(c,b.nextSibling),this.setBefore(d),this.contain.addEventListener("mouseup",e),this.contain.addEventListener("keydown",g),this.contain.addEventListener("touchstart",e),this.contain.addEventListener("focus",e),this.contain.addEventListener("blur",e),this.contain.addEventListener("paste",f),this.contain.addEventListener("drop",f),this.contain.addEventListener("beforepaste",f),c},setAfter:function(b,c,d){var e,f=this.win,g=rangy.createRange(this.doc),h=function(){var d=b.parentNode,g=d?d.childNodes[d.childNodes.length-1]:null;if(!e||g===b&&1===b.nodeType&&"block"===f.getComputedStyle(b).display)if(c){var h=this.doc.createTextNode(a.INVISIBLE_SPACE);b.parentNode.insertBefore(h,b.nextSibling),this.selectNode(h),setTimeout(function(){h&&h.parentNode&&h.parentNode.removeChild(h)},0)}else this.createTemporaryCaretSpaceAfter(b)}.bind(this);if(g.setStartAfter(b),g.setEndAfter(b),document.activeElement&&document.activeElement===this.composer.element)e=this.setSelection(g),h(),d&&d(e);else{var i=this.composer.getScrollPos();this.composer.element.focus(),this.composer.setScrollPos(i),setTimeout(function(){e=this.setSelection(g),h(),d&&d(e)}.bind(this),0)}},selectNode:function(b,c){var d=rangy.createRange(this.doc),e=b.nodeType===a.ELEMENT_NODE,f="canHaveHTML"in b?b.canHaveHTML:"IMG"!==b.nodeName,h=e?b.innerHTML:b.data,i=""===h||h===a.INVISIBLE_SPACE,j=g.getStyle("display").from(b),k="block"===j||"list-item"===j;if(i&&e&&f&&!c)try{b.innerHTML=a.INVISIBLE_SPACE}catch(l){}f?d.selectNodeContents(b):d.selectNode(b),f&&i&&e?d.collapse(k):f&&i&&(d.setStartAfter(b),d.setEndAfter(b)),this.setSelection(d)},getSelectedNode:function(a){var b,c;return a&&this.doc.selection&&"Control"===this.doc.selection.type&&(c=this.doc.selection.createRange(),c&&c.length)?c.item(0):(b=this.getSelection(this.doc),b.focusNode===b.anchorNode?b.focusNode:(c=this.getRange(this.doc),c?c.commonAncestorContainer:this.doc.body))},fixSelBorders:function(){var a=this.getRange();f(a),this.setSelection(a)},getSelectedOwnNodes:function(a){for(var b=this.getOwnRanges(),c=[],d=0,e=b.length;e>d;d++)c.push(b[d].commonAncestorContainer||this.doc.body);return c},findNodesInSelection:function(b){for(var c,d=this.getOwnRanges(),e=[],f=0,g=d.length;g>f;f++)c=d[f].getNodes([1],function(c){return a.lang.array(b).contains(c.nodeName)}),e=e.concat(c);return e},filterElements:function(a){for(var b,c=this.getOwnRanges(),d=[],e=0,f=c.length;f>e;e++)b=c[e].getNodes([1],function(b){return a(b,c[e])}),d=d.concat(b);return d},containsUneditable:function(){for(var a=this.getOwnUneditables(),b=this.getSelection(),c=0,d=a.length;d>c;c++)if(b.containsNode(a[c]))return!0;return!1},deleteContents:function(){var a=this.getRange();this.deleteRangeContents(a),this.setSelection(a)},deleteRangeContents:function(b){var c,d,e,f;if(this.unselectableClass){(c=a.dom.getParentElement(b.startContainer,{query:"."+this.unselectableClass},!1,this.contain))&&b.setStartBefore(c),(d=a.dom.getParentElement(b.endContainer,{query:"."+this.unselectableClass},!1,this.contain))&&b.setEndAfter(d),e=b.getNodes([1],function(b){return a.dom.hasClass(b,this.unselectableClass)}.bind(this));for(var g=e.length;g--;)try{f=new CustomEvent("wysihtml:uneditable:delete"),e[g].dispatchEvent(f)}catch(h){}}b.deleteContents()},getCaretNode:function(){var a=this.getSelection();return a&&a.anchorNode?d(a.anchorNode,a.anchorOffset):null},getPreviousNode:function(b,c){var e;if(!b){var f=this.getSelection();b=f&&f.anchorNode?d(f.anchorNode,f.anchorOffset):null}if(b===this.contain)return!1;var g,h=b.previousSibling;return h===this.contain?!1:(h&&3!==h.nodeType&&1!==h.nodeType?h=this.getPreviousNode(h,c):h&&3===h.nodeType&&/^\s*$/.test(h.textContent)?h=this.getPreviousNode(h,c):c&&h&&1===h.nodeType?(e=a.dom.getStyle("display").from(h),a.lang.array(["BR","HR","IMG"]).contains(h.nodeName)||a.lang.array(["block","inline-block","flex","list-item","table"]).contains(e)||!/^[\s]*$/.test(h.innerHTML)||(h=this.getPreviousNode(h,c))):h||b===this.contain||(g=b.parentNode,g!==this.contain&&(h=this.getPreviousNode(g,c))),h!==this.contain?h:!1)},getNodesNearCaret:function(){if(!this.isCollapsed())throw"Selection must be caret when using selection.getNodesNearCaret()";var a,b,c,d,e=this.getOwnRanges();return e&&e.length>0?(1===e[0].startContainer.nodeType?(a=e[0].startContainer.childNodes[e[0].startOffset-1],a||0!==e[0].startOffset?a&&(b=a.previousSibling,c=a.nextSibling):c=e[0].startContainer.childNodes[0]):(0===e[0].startOffset&&e[0].startContainer.previousSibling?(a=e[0].startContainer.previousSibling,3===a.nodeType&&(d=a.data.length)):(a=e[0].startContainer,d=e[0].startOffset),b=a.previousSibling,c=a.nextSibling),{caretNode:a,prevNode:b,nextNode:c,textOffset:d}):null},getSelectionParentsByTag:function(b){for(var c,d=this.getSelectedOwnNodes(),e=[],f=0,g=d.length;g>f;f++)c=d[f].nodeName&&"LI"===d[f].nodeName?d[f]:a.dom.getParentElement(d[f],{query:"li"},!1,this.contain),c&&e.push(c);return e.length?e:null},getRangeToNodeEnd:function(){if(this.isCollapsed()){var a,b,c,d=this.getRange();if(d)return a=d.startContainer,b=d.startOffset,c=rangy.createRange(this.doc),c.selectNodeContents(a),c.setStart(a,b),c}},getRangeToNodeBeginning:function(){if(this.isCollapsed()){var a=this.getRange(),b=a.startContainer,c=a.startOffset,d=rangy.createRange(this.doc);return d.selectNodeContents(b),d.setEnd(b,c),d}},caretIsInTheEndOfNode:function(a){var b,c,d,e,f=(rangy.createRange(this.doc),this.getSelection(),this.getRangeToNodeEnd());return f?(b=f.cloneContents(), -c=b.textContent,/^\s*$/.test(c)?a?(d=this.getRangeToNodeBeginning().cloneContents(),e=d.textContent,!/[\u00A0 ][\s\uFEFF]*$/.test(e)):!0:!1):!1},caretIsFirstInSelection:function(b){var c=rangy.createRange(this.doc),e=this.getSelection(),f=this.getRange(),g=d(f.startContainer,f.startOffset);if(g){if(g.nodeType===a.TEXT_NODE){if(!g.parentNode)return!1;if(!this.isCollapsed()||g.parentNode.firstChild!==g&&!a.dom.domNode(g.previousSibling).is.block())return!1;var h=this.win.getComputedStyle(g.parentNode).whiteSpace;return"pre"===h||"pre-wrap"===h?0===f.startOffset:/^\s*$/.test(g.data.substr(0,f.startOffset))}return b&&a.dom.domNode(g).is.lineBreak()?!0:(c.selectNodeContents(this.getRange().commonAncestorContainer),c.collapse(!0),this.isCollapsed()&&(c.startContainer===e.anchorNode||c.endContainer===e.anchorNode)&&c.startOffset===e.anchorOffset)}},caretIsInTheBeginnig:function(b){var c=this.getSelection(),d=c.anchorNode,e=c.anchorOffset;return b&&d?0===e&&(d.nodeName&&d.nodeName===b.toUpperCase()||a.dom.getParentElement(d.parentNode,{query:b},1)):d?0===e&&!this.getPreviousNode(d,!0):void 0},getBeforeSelection:function(b){var c,d,e=this.getSelection(),f=e.isBackwards()?e.focusNode:e.anchorNode,g=e.isBackwards()?e.focusOffset:e.anchorOffset,h=this.createRange();if(f&&3===f.nodeType&&/^\s*$/.test(f.data.slice(0,g))&&(g=0),d=a.dom.getParentElement(f,{query:"._wysihtml-temp-caret-fix"},1),d&&(f=d.parentNode,g=Array.prototype.indexOf.call(f.childNodes,d)),f){if(g>0)return 3===f.nodeType?(h.setStart(f,0),h.setEnd(f,g),{type:"text",range:h,offset:g,node:f}):(h.setStartBefore(f.childNodes[0]),c=f.childNodes[g-1],h.setEndAfter(c),{type:"element",range:h,offset:g,node:c});if(h.setStartAndEnd(f,0),b){var i=this.getPreviousNode(f,!0),j=null;if(i&&(j=1===i.nodeType&&a.dom.hasClass(i,this.unselectableClass)?i:a.dom.domNode(i).lastLeafNode()),j)return{type:"leafnode",range:h,offset:g,node:j}}return{type:"none",range:h,offset:g,node:f}}return null},executeAndRestoreRangy:function(a,b){var c=rangy.saveSelection(this.win);if(c)try{a()}catch(d){setTimeout(function(){throw d},0)}else a();rangy.restoreSelection(c)},executeAndRestore:function(b,c){var d,e,f,h,i,j,k,l,m=this.doc.body,n=c&&m.scrollTop,o=c&&m.scrollLeft,p="_wysihtml-temp-placeholder",q=''+a.INVISIBLE_SPACE+"",r=this.getRange(!0);if(!r)return void b(m,m);r.collapsed||(k=r.cloneRange(),j=k.createContextualFragment(q),k.collapse(!1),k.insertNode(j),k.detach()),i=r.createContextualFragment(q),r.insertNode(i),j&&(d=this.contain.querySelectorAll("."+p),r.setStartBefore(d[0]),r.setEndAfter(d[d.length-1])),this.setSelection(r);try{b(r.startContainer,r.endContainer)}catch(s){setTimeout(function(){throw s},0)}if(d=this.contain.querySelectorAll("."+p),d&&d.length){l=rangy.createRange(this.doc),f=d[0].nextSibling,d.length>1&&(h=d[d.length-1].previousSibling),h&&f?(l.setStartBefore(f),l.setEndAfter(h)):(e=this.doc.createTextNode(a.INVISIBLE_SPACE),g.insert(e).after(d[0]),l.setStartBefore(e),l.setEndAfter(e)),this.setSelection(l);for(var t=d.length;t--;)d[t].parentNode.removeChild(d[t])}else this.contain.focus();c&&(m.scrollTop=n,m.scrollLeft=o);try{d.parentNode.removeChild(d)}catch(u){}},set:function(a,b){var c=rangy.createRange(this.doc);c.setStart(a,b||0),this.setSelection(c)},insertHTML:function(a){var b,c,d=this.getRange(),e=this.doc.createElement("DIV"),f=this.doc.createDocumentFragment();if(d){for(d.deleteContents(),e.innerHTML=a,b=e.lastChild;e.firstChild;)f.appendChild(e.firstChild);for(d.insertNode(f),c=this.contain.lastChild;c&&3===c.nodeType&&c.previousSibling&&/^\s*$/.test(c.data);)c=c.previousSibling;b&&(c&&b===c&&1===b.nodeType&&this.contain.appendChild(this.doc.createElement("br")),this.setAfter(b))}},insertNode:function(a){var b=this.getRange();b&&(b.deleteContents(),b.insertNode(a))},canAppendChild:function(a){var b,c,d=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],e=this.getRange();return b=a||e.startContainer,b&&(c=(b.tagName||b.nodeName).toLowerCase()),-1===d.indexOf(c)},splitElementAtCaret:function(b,c){var d,e,f,g,h,i=this.getSelection();if(i.rangeCount>0){d=i.getRangeAt(0).cloneRange(),d.setEndAfter(b),e=d.extractContents(),h=e.childNodes;for(var j=h.length;j--;)a.dom.domNode(h[j]).is.visible()||e.removeChild(h[j]);b.parentNode.insertBefore(e,b.nextSibling),c?(f=c.firstChild||c,g=c.lastChild||c,b.parentNode.insertBefore(c,b.nextSibling),f&&g&&(d.setStartBefore(f),d.setEndAfter(g),this.setSelection(d))):(d.setStartAfter(b),d.setEndAfter(b)),a.dom.domNode(b).is.visible()||(""===a.dom.getTextContent(b)?b.parentNode.removeChild(b):b.parentNode.replaceChild(this.doc.createTextNode(" "),b))}},surround:function(a){var b,c=this.getOwnRanges(),d=[];if(0==c.length)return d;for(var e=c.length;e--;){b=this.doc.createElement(a.nodeName),d.push(b),a.className&&(b.className=a.className),a.cssStyle&&b.setAttribute("style",a.cssStyle);try{c[e].surroundContents(b),this.selectNode(b)}catch(f){b.appendChild(c[e].extractContents()),c[e].insertNode(b)}}return d},scrollIntoView:function(){var c,d=this.doc,e=5,f=d.documentElement.scrollHeight>d.documentElement.offsetHeight,g=d._wysihtmlScrollIntoViewElement=d._wysihtmlScrollIntoViewElement||function(){var b=d.createElement("span");return b.innerHTML=a.INVISIBLE_SPACE,b}();f&&(this.insertNode(g),c=b(g),g.parentNode.removeChild(g),c>=d.body.scrollTop+d.documentElement.offsetHeight-e&&(d.body.scrollTop=c))},selectLine:function(){var b=rangy.createRange();a.browser.supportsSelectionModify()?this._selectLine_W3C():b.nativeRange&&b.nativeRange.getBoundingClientRect&&this._selectLineUniversal()},includeRangyRangeHelpers:function(){var a=this.getSelection(),b=a.getRangeAt(0),c=function(a){return a&&1===a.nodeType&&a.classList.contains("rangySelectionBoundary")},d=function(a){return 1===a.nodeType?a.childNodes&&a.childNodes.length||0:a.data&&a.data.length||0},e=1===a.anchorNode.nodeType?a.anchorNode.childNodes[a.anchorOffset]:a.anchorNode,f=1===a.focusNode.nodeType?a.focusNode.childNodes[a.focusOffset]:a.focusNode;f&&a.focusOffset===d(f)&&f.nextSibling&&c(f.nextSibling)&&b.setEndAfter(f.nextSibling),e&&0===a.anchorOffset&&e.previousSibling&&c(e.previousSibling)&&b.setStartBefore(e.previousSibling),b.select()},_selectLine_W3C:function(){var a=this.win.getSelection(),b=[a.anchorNode,a.anchorOffset,a.focusNode,a.focusOffset];a.modify("move","left","lineboundary"),a.modify("extend","right","lineboundary"),a.anchorNode===b[0]&&a.anchorOffset===b[1]&&a.focusNode===b[2]&&a.focusOffset===b[3]?this._selectLineUniversal():this.includeRangyRangeHelpers()},toLineBoundary:function(b,c){if(c="undefined"==typeof c?!1:c,a.browser.supportsSelectionModify()){var d=this.win.getSelection();d.modify("extend",b,"lineboundary"),c&&("left"===b?d.collapseToStart():"right"===b&&d.collapseToEnd())}},getRangeRect:function(a){var b,c=(this.doc.createTextNode("i"),this.doc.createTextNode("i"));return a.collapsed?(a.insertNode(c),a.selectNode(c),b=a.nativeRange.getBoundingClientRect(),a.deleteContents()):b=a.nativeRange.getBoundingClientRect(),b},_selectLineUniversal:function(){var b,c,d,e,f,g,h=this.getSelection(),i=h.getRangeAt(0),j=0,k=this,l=function(b){return b&&1===b.nodeType&&("block"===k.win.getComputedStyle(b).display||a.lang.array(["BR","HR"]).contains(b.nodeName))},m=function(a){var b=a;if(b)for(;b&&(1===b.nodeType&&b.classList.contains("rangySelectionBoundary")||3===b.nodeType&&/^\s*$/.test(b.data));)b=b.previousSibling;return b};c=i.cloneRange(),d=i.cloneRange(),i.collapsed&&(3===i.startContainer.nodeType&&i.startOffset0?i.moveEnd("character",1):i.startOffset>0&&(3===i.startContainer.nodeType||1===i.startContainer.nodeType&&!l(m(i.startContainer.childNodes[i.startOffset-1])))&&i.moveStart("character",-1)),i.collapsed||i.insertNode(this.doc.createTextNode(a.INVISIBLE_SPACE)),b=i.nativeRange.getBoundingClientRect();do e=i.moveStart("character",-1),f=i.nativeRange.getBoundingClientRect(),f&&Math.floor(f.top)===Math.floor(b.top)||(i.moveStart("character",1),g=!0),j++;while(0!==e&&!g&&2e3>j);if(j=0,g=!1,b=i.nativeRange.getBoundingClientRect(),i.endContainer!==this.contain||this.contain.lastChild&&this.contain.childNodes[i.endOffset]!==this.contain.lastChild)do e=i.moveEnd("character",1),f=i.nativeRange.getBoundingClientRect(),f&&Math.floor(f.bottom)===Math.floor(b.bottom)||(i.moveEnd("character",-1),i.endContainer&&1===i.endContainer.nodeType&&i.endContainer.childNodes[i.endOffset]&&1===i.endContainer.childNodes[i.endOffset].nodeType&&"BR"===i.endContainer.childNodes[i.endOffset].nodeName&&i.endContainer.childNodes[i.endOffset].previousSibling&&(1===i.endContainer.childNodes[i.endOffset].previousSibling.nodeType?i.setEnd(i.endContainer.childNodes[i.endOffset].previousSibling,i.endContainer.childNodes[i.endOffset].previousSibling.childNodes.length):3===i.endContainer.childNodes[i.endOffset].previousSibling.nodeType&&i.setEnd(i.endContainer.childNodes[i.endOffset].previousSibling,i.endContainer.childNodes[i.endOffset].previousSibling.data.length)),g=!0),j++;while(0!==e&&!g&&2e3>j);i.select(),this.includeRangyRangeHelpers()},getText:function(){var a=this.getSelection();return a?a.toString():""},getNodes:function(a,b){var c=this.getRange();return c?c.getNodes(Array.isArray(a)?a:[a],b):[]},getOwnNodes:function(a,b,c){for(var d=this.getOwnRanges(),e=[],f=0,g=d.length;g>f;f++)d[f]&&(c&&d[f].splitBoundaries(),e=e.concat(d[f].getNodes(Array.isArray(a)?a:[a],b)));return e},fixRangeOverflow:function(a){if(this.contain&&this.contain.firstChild&&a){var b=a.compareNode(this.contain);if(2!==b)1===b&&a.setStartBefore(this.contain.firstChild),0===b&&a.setEndAfter(this.contain.lastChild),3===b&&(a.setStartBefore(this.contain.firstChild),a.setEndAfter(this.contain.lastChild));else if(this._detectInlineRangeProblems(a)){var c=a.endContainer.previousElementSibling;c&&a.setEnd(c,this._endOffsetForNode(c))}}},_endOffsetForNode:function(a){var b=document.createRange();return b.selectNodeContents(a),b.endOffset},_detectInlineRangeProblems:function(a){var b=g.compareDocumentPosition(a.startContainer,a.endContainer);return 0==a.endOffset&&4&b},getRange:function(a){var b=this.getSelection(),c=b&&b.rangeCount&&b.getRangeAt(0);return a!==!0&&this.fixRangeOverflow(c),c},getOwnUneditables:function(){var b=g.query(this.contain,"."+this.unselectableClass),c=g.query(b,"."+this.unselectableClass);return a.lang.array(b).without(c)},getOwnRanges:function(){var a,b=[],c=this.getRange();if(c&&b.push(c),this.unselectableClass&&this.contain&&c){var d,e=this.getOwnUneditables();if(e.length>0)for(var f=0,g=e.length;g>f;f++){a=[];for(var h=0,i=b.length;i>h;h++){if(b[h])switch(b[h].compareNode(e[f])){case 2:break;case 3:d=b[h].cloneRange(),d.setEndBefore(e[f]),a.push(d),d=b[h].cloneRange(),d.setStartAfter(e[f]),a.push(d);break;default:a.push(b[h])}b=a}}}return b},getSelection:function(){return rangy.getSelection(this.win)},setSelection:function(a){var b=rangy.getSelection(this.win);return b.setSingleRange(a),b&&b.anchorNode&&b.focusNode?b:null},selectAll:function(){var b,c=this.createRange(),d=this.composer,f=this,g=e(this.composer.element),h=e(this.composer.element),i=function(){c.setStart(d.element,0),c.setEnd(d.element,d.element.childNodes.length),b=f.setSelection(c)},j=function(){return!b||b.nativeSelection&&b.nativeSelection.type&&("Caret"===b.nativeSelection.type||"None"===b.nativeSelection.type)};a.dom.removeInvisibleSpaces(this.composer.element),i(),this.composer.element.firstChild&&j()&&(this.composer.element.appendChild(g),i(),j()&&(g.parentNode.removeChild(g),this.composer.element.insertBefore(h,this.composer.element.firstChild),i(),j()&&(this.composer.element.appendChild(g),i())))},createRange:function(){return rangy.createRange(this.doc)},isCollapsed:function(){return this.getSelection().isCollapsed},getHtml:function(){return this.getSelection().toHtml()},getPlainText:function(){return this.getSelection().toString()},isEndToEndInNode:function(b){var c=this.getRange(),d=c.commonAncestorContainer,e=c.startContainer,f=c.endContainer;if(d.nodeType===a.TEXT_NODE&&(d=d.parentNode),e.nodeType===a.TEXT_NODE&&!/^\s*$/.test(e.data.substr(c.startOffset)))return!1;if(f.nodeType===a.TEXT_NODE&&!/^\s*$/.test(f.data.substr(c.endOffset)))return!1;for(;e&&e!==d;){if(e.nodeType!==a.TEXT_NODE&&!a.dom.contains(d,e))return!1;if(a.dom.domNode(e).prev({ignoreBlankTexts:!0}))return!1;e=e.parentNode}for(;f&&f!==d;){if(f.nodeType!==a.TEXT_NODE&&!a.dom.contains(d,f))return!1;if(a.dom.domNode(f).next({ignoreBlankTexts:!0}))return!1;f=f.parentNode}return a.lang.array(b).contains(d.nodeName)?d:!1},isInThisEditable:function(){var b=this.getSelection(),c=b.focusNode,d=b.anchorNode;return c&&1!==c.nodeType&&(c=c.parentNode),d&&1!==d.nodeType&&(d=d.parentNode),d&&c&&(a.dom.contains(this.composer.element,c)||this.composer.element===c)&&(a.dom.contains(this.composer.element,d)||this.composer.element===d)},deselect:function(){var a=this.getSelection();a&&a.removeAllRanges()}})}(wysihtml),wysihtml.Commands=Base.extend({constructor:function(a){this.editor=a,this.composer=a.composer,this.doc=this.composer.doc},support:function(a){return wysihtml.browser.supportsCommand(this.doc,a)},exec:function(a,b){var c=wysihtml.commands[a],d=wysihtml.lang.array(arguments).get(),e=c&&c.exec,f=null;if(this.composer.hasPlaceholderSet()&&!wysihtml.lang.array(["styleWithCSS","enableObjectResizing","enableInlineTableEditing"]).contains(a)&&(this.composer.element.innerHTML="",this.composer.selection.selectNode(this.composer.element)),this.editor.fire("beforecommand:composer"),e)d.unshift(this.composer),f=e.apply(c,d);else try{f=this.doc.execCommand(a,!1,b)}catch(g){}return this.editor.fire("aftercommand:composer"),f},remove:function(a,b){var c=wysihtml.commands[a],d=wysihtml.lang.array(arguments).get(),e=c&&c.remove;return e?(d.unshift(this.composer),e.apply(c,d)):void 0},state:function(a,b){var c=wysihtml.commands[a],d=wysihtml.lang.array(arguments).get(),e=c&&c.state;if(e)return d.unshift(this.composer),e.apply(c,d);try{return this.doc.queryCommandState(a)}catch(f){return!1}},stateValue:function(a){var b=wysihtml.commands[a],c=wysihtml.lang.array(arguments).get(),d=b&&b.stateValue;return d?(c.unshift(this.composer),d.apply(b,c)):!1}}),function(a){function b(b){return a.lang.object({}).merge(c).merge({attribute:b}).get()}var c={nodeName:"A",toggle:!1};a.commands.createLink={exec:function(c,d,e){var f=b(e);if(c.selection.isCollapsed()&&!this.state(c,d)){var g=c.doc.createTextNode(f.attribute.href);c.selection.insertNode(g),c.selection.selectNode(g)}a.commands.formatInline.exec(c,d,f)},state:function(b,d){return a.commands.formatInline.state(b,d,c)}}}(wysihtml),function(a){function b(a){return{nodeName:a.nodeName||null,className:a.classRegExp?null:a.className||null,classRegExp:a.classRegExp||null,styleProperty:a.styleProperty||null}}function c(a,b){return 3===a.nodeType?a:a.childNodes[b]||a}function d(a){return a&&1===a.nodeType&&"BR"===a.nodeName}function e(a,b){return a&&1===a.nodeType&&"block"===b.win.getComputedStyle(a).display}function f(a){return a&&1===a.nodeType&&a.classList.contains("rangySelectionBoundary")}function g(a,b){return d(a)||e(a,b)}function h(b,c){a.dom.removeInvisibleSpaces(b.element);for(var d,e=b.element,f=e.querySelectorAll(E),g=b.config.classNames.uneditableContainer+[""].concat(E.split(",")).join(", "+b.config.classNames.uneditableContainer+" "),h=e.querySelectorAll(g),i=a.lang.array(f).without(h),j=i.length;j--;)""!==i[j].innerHTML.replace(/[\uFEFF]/g,"")||0!==c.length&&i[j]===c[c.length-1]||(d=a.lang.array(c).indexOf(i[j]),d>-1&&c.splice(d,1),i[j].parentNode.removeChild(i[j]));return c}function i(a){return a.config.useLineBreaks?"DIV":"P"}function j(a,b,c){for(var d=a,e=null;d&&b&&d!==b;)1===d.nodeType&&d.matches(c?E:D)&&(e=d),d=d.parentNode;return e}function k(a,b){for(var c,d,e,f=a,g=null;f&&b&&f!==b;)1===f.nodeType&&f.matches(F)&&(d=f,null===g?(g=f.cloneNode(!1),c=g):(e=f.cloneNode(!1),e.appendChild(g),g=e)),f=f.parentNode;return{parent:d,outerNode:g,innerNode:c}}function l(b,c,d){return b||(b=d.doc.createElement(c.nodeName||i(d)),b.appendChild(d.doc.createTextNode(a.INVISIBLE_SPACE))),c.nodeName&&b.nodeName!==c.nodeName&&(b=C.renameElement(b,c.nodeName)),c.classRegExp&&(b.className=b.className.replace(c.classRegExp,"")),c.className&&b.classList.add(c.className),c.styleProperty&&"undefined"!=typeof c.styleValue&&(b.style[a.browser.fixStyleKey(c.styleProperty)]=c.styleValue),b}function m(b,c,d){var e,f=b.previousSibling,g=b.nextSibling,h=!1;c.styleProperty&&(b.style[a.browser.fixStyleKey(c.styleProperty)]=""),c.className&&b.classList.remove(c.className),c.classRegExp&&(b.className=b.className.replace(c.classRegExp,"")),null!==b.getAttribute("class")&&""===b.getAttribute("class").trim()&&b.removeAttribute("class"),c.nodeName&&b.nodeName.toLowerCase()===c.nodeName.toLowerCase()&&(e=b.getAttribute("style"),e&&""!==e.trim()?b=C.renameElement(b,i(d)):(C.unwrap(b),h=!0)),null!==b.getAttribute("style")&&""===b.getAttribute("style").trim()&&b.removeAttribute("style"),h&&u(f,g,d)}function n(b){for(var c,d,e=b.querySelectorAll(E)||[],f=e.length;f--;)c=a.dom.domNode(e[f]).next({nodeTypes:[1,3],ignoreBlankTexts:!0}),d=a.dom.domNode(e[f]).prev({nodeTypes:[1,3],ignoreBlankTexts:!0}),c&&1!==c.nodeType&&"BR"!==c.nodeName&&""!==(e[f].innerHTML||e[f].nodeValue||"").trim()&&e[f].parentNode.insertBefore(e[f].ownerDocument.createElement("BR"),c),c&&1!==c.nodeType&&"BR"!==c.nodeName&&""!==(e[f].innerHTML||e[f].nodeValue||"").trim()&&e[f].parentNode.insertBefore(e[f].ownerDocument.createElement("BR"),c),a.dom.unwrap(e[f])}function o(a,b){var c,d=a.startContainer,e=a.endContainer;return d&&1===d.nodeType&&d===e?void(d.firstChild===d.lastChild&&1===a.endOffset&&d!==b.element&&"LI"!==d.nodeName&&"TD"!==d.nodeName&&(a.setStartBefore(d),a.setEndAfter(e))):d&&1===d.nodeType&&3===e.nodeType?void(d.firstChild===e&&a.endOffset===e.data.length&&d!==b.element&&"LI"!==d.nodeName&&"TD"!==d.nodeName&&a.setEndAfter(d)):e&&1===e.nodeType&&3===d.nodeType?void(e.firstChild===d&&0===a.startOffset&&e!==b.element&&"LI"!==e.nodeName&&"TD"!==e.nodeName&&a.setStartBefore(e)):d&&3===d.nodeType&&d===e&&1===d.parentNode.childNodes.length?void(a.endOffset==e.data.length&&0===a.startOffset&&(c=d.parentNode,c!==b.element&&"LI"!==c.nodeName&&"TD"!==c.nodeName&&(a.setStartBefore(c),a.setEndAfter(c)))):void 0}function p(b){for(var c,d,e,f,g,h,i=[],j=0,k=b.length;k>j;j++)if(1===b[j].startContainer.nodeType&&b[j].startContainer.matches("ul, ol")&&b[j].setStart(b[j].startContainer.childNodes[b[j].startOffset],0),1===b[j].endContainer.nodeType&&b[j].endContainer.matches("ul, ol")&&(h=b[j].endContainer.childNodes[Math.max(b[j].endOffset-1,0)],h.childNodes&&b[j].setEnd(h,h.childNodes.length)),c=b[j].getNodes([1],function(a){return"LI"===a.nodeName}),c.length>0){for(d=0,e=c.length;e>d;d++)g=b[j].compareNode(c[d]),(g===b[j].NODE_AFTER||g===b[j].NODE_INSIDE)&&(f=b[j].cloneRange(),h=a.dom.domNode(c[d]).prev({nodeTypes:[1]}),h?f.setEnd(h,h.childNodes.length):c[d].closest("ul, ol")?f.setEndBefore(c[d].closest("ul, ol")):f.setEndBefore(c[d]),i.push(f),b[j].setStart(c[d],0)),(g===b[j].NODE_BEFORE||g===b[j].NODE_INSIDE)&&(f=b[j].cloneRange(),f.setEnd(c[d],c[d].childNodes.length),i.push(f),h=a.dom.domNode(c[d]).next({nodeTypes:[1]}),h?b[j].setStart(h,0):c[d].closest("ul, ol")?b[j].setStartAfter(c[d].closest("ul, ol")):b[j].setStartAfter(c[d]));i.push(b[j])}else i.push(b[j]);return i}function q(b,c,d){var e=b?a.lang.object(b).clone(!0):null;return e&&(e.nodeName=e.nodeName||c||i(d)),e}function r(b,c,d,e){var f,h,i,l,m,n=c.startContainer,e=e||j(n,d.element,!0);if(e)h=b.firstChild,i=b.lastChild,d.selection.splitElementAtCaret(e,b),m=a.dom.domNode(i).next({nodeTypes:[1,3],ignoreBlankTexts:!0}),l=a.dom.domNode(h).prev({nodeTypes:[1,3],ignoreBlankTexts:!0}),h&&!g(h,d)&&l&&!g(l,d)&&h.parentNode.insertBefore(d.doc.createElement("br"),h),i&&!g(i,d)&&m&&!g(m,d)&&m.parentNode.insertBefore(d.doc.createElement("br"),m);else if(f=k(n,d.element),f.outerNode&&f.innerNode&&f.parent){if(1===b.childNodes.length){for(;b.firstChild.firstChild;)f.innerNode.appendChild(b.firstChild.firstChild);b.firstChild.appendChild(f.outerNode)}d.selection.splitElementAtCaret(f.parent,b)}else{var o=b.firstChild,p=b.lastChild;c.insertNode(b),c.setStartBefore(o),c.setEndAfter(p)}}function s(b,d,e){for(var f,h,i=b.cloneRange(),j=c(i.startContainer,i.startOffset).previousSibling,k=c(i.endContainer,i.endOffset).nextSibling,l=i.extractContents(),m=e.doc.createDocumentFragment(),o=!0;l.firstChild;){if(1===l.firstChild.nodeType&&l.firstChild.matches(E)){n(l.firstChild),f=a.dom.unwrap(l.firstChild),f.length>0&&(m.lastChild&&(1!==m.lastChild.nodeType||!g(m.lastChild,e))||!m.lastChild&&j&&(1!==j.nodeType||g(j,e)))&&m.appendChild(e.doc.createElement("BR"));for(var p=0,q=f.length;q>p;p++)m.appendChild(f[p]);f.length>0&&(1===m.lastChild.nodeType&&g(m.lastChild,e)||(k||m.lastChild!==l.lastChild)&&m.appendChild(e.doc.createElement("BR")))}else m.appendChild(l.firstChild);o=!1}return h=a.lang.array(m.childNodes).get(),r(m,i,e),h}function t(b,c,e){var f=b&&a.dom.domNode(b).prev({nodeTypes:[1,3],ignoreBlankTexts:!0});d(c)&&c.parentNode.removeChild(c),!d(b)||f&&1===f.nodeType&&"block"===e.win.getComputedStyle(f).display||b.parentNode.removeChild(b)}function u(a,b,c){var e;a&&f(a)&&(a=a.previousSibling),b&&f(b)&&(b=b.nextSibling),e=a&&a.previousSibling,a&&(1!==a.nodeType||"block"!==c.win.getComputedStyle(a).display&&!d(a))&&a.parentNode&&a.parentNode.insertBefore(c.doc.createElement("br"),a.nextSibling),b&&(1!==b.nodeType||"block"!==c.win.getComputedStyle(b).display)&&b.parentNode&&b.parentNode.insertBefore(c.doc.createElement("br"),b)}function v(d,e,f,g){var h,i,k=e?b(e):null,m=d.cloneRange(),o=m.startContainer,p=c(m.startContainer,m.startOffset),s=c(m.endContainer,m.endOffset),u=m.startContainer!==p||3!==p.nodeType||G(p,m.startOffset)?a.dom.domNode(p).prev({nodeTypes:[1,3],ignoreBlankTexts:!0}):p,v=1===m.endContainer.nodeType&&m.endContainer.childNodes[m.endOffset]===s&&(1===s.nodeType||!H(s,m.endOffset)&&!a.dom.domNode(s).is.rangyBookmark())||m.endContainer===s&&3===s.nodeType&&!H(s,m.endOffset)?s:a.dom.domNode(s).next({nodeTypes:[1,3],ignoreBlankTexts:!0}),w=m.extractContents(),x=g.doc.createDocumentFragment(),y=k?a.dom.getParentElement(o,k,null,g.element):null,z=!f||!e||"BLOCKQUOTE"===e.nodeName&&"BLOCKQUOTE"===f,A=y||j(o,g.element,z);if(a.dom.domNode(v).is.rangyBookmark()&&(s=v,v=s.nextSibling),I(w),e&&"BLOCKQUOTE"===e.nodeName){var B=l(null,e,g);B.appendChild(w),x.appendChild(B),i=[B]}else{if(w.firstChild)for(;w.firstChild;)if(1==w.firstChild.nodeType&&w.firstChild.matches(E))l(w.firstChild,e,g),w.firstChild.matches(D)&&n(w.firstChild),x.appendChild(w.firstChild);else{for(h=l(null,q(e,f,g),g);w.firstChild&&(1!==w.firstChild.nodeType||!w.firstChild.matches(E));)1==w.firstChild.nodeType&&h.matches(D)&&n(w.firstChild),h.appendChild(w.firstChild);x.appendChild(h)}else x.appendChild(l(null,e,g));i=a.lang.array(x.childNodes).get()}return r(x,m,g,A),t(u,v,g),i.length>0&&("undefined"==typeof i[i.length-1].lastChild||a.dom.domNode(i[i.length-1].lastChild).is.rangyBookmark())&&i[i.length-1].appendChild(g.doc.createElement("br")),i}function w(b,c){var d=a.dom.getParentElement(b,{query:E},null,c.element);return d?d.nodeName:null}function x(b,c){var d,e=a.dom.getParentElement(b.selection.getOwnRanges()[0].startContainer,{query:D+", "+(c?c.toLowerCase():"div")},null,b.element);e?(d=b.selection.createRange(),d.selectNode(e),b.selection.setSelection(d)):b.isEmpty()||b.selection.selectLine()}function y(a,b){var c=b.selection.createRange(),d=a[a.length-1],e=1===d.nodeType&&d.childNodes?0|d.childNodes.length:d.length||0;c.setStart(a[0],0),c.setEnd(d,e),c.select()}function z(a,b,c){var d,e=b.selection.getOwnRanges(),f=[];e=p(e);for(var g=e.length;g--;)o(e[g],b),d=w(e[g].startContainer,b),f="remove"===a?f.concat(s(e[g],d,b)):f.concat(v(e[g],c,d,b));return f}function A(a){return"string"==typeof a&&(a={nodeName:a.toUpperCase()}),a}function B(b){var c;return b.selection.isCollapsed()&&(c=b.selection.getNodesNearCaret(),c&&c.caretNode&&(a.dom.domNode(c.caretNode).is.lineBreak()||3===c.caretNode.nodeType&&0===c.textOffset&&(!c.prevNode||a.dom.domNode(c.prevNode).is.lineBreak())||1===c.caretNode.nodeType&&c.caretNode.classList.contains("rangySelectionBoundary")&&(!c.prevNode||a.dom.domNode(c.prevNode).is.lineBreak()||a.dom.domNode(c.prevNode).is.block())&&(!c.nextNode||a.dom.domNode(c.nextNode).is.lineBreak()||a.dom.domNode(c.nextNode).is.block())))?!0:!1}var C=a.dom,D="h1, h2, h3, h4, h5, h6, p, pre",E="h1, h2, h3, h4, h5, h6, p, pre, div, blockquote",F="b, big, i, small, tt, abbr, acronym, cite, code, dfn, em, kbd, strong, samp, var, a, bdo, br, q, span, sub, sup, button, label, textarea, input, select, u",G=function(a,b){var c=a.data?a.data.slice(0,b):"";return/^\s*$/.test(c)},H=function(a,b){var c=a.data?a.data.slice(b):"";return/^\s*$/.test(c)},I=function(a){if(a){for(;a.firstChild&&3===a.firstChild.nodeType&&/^\s*$/.test(a.firstChild.data)&&a.lastChild!==a.firstChild;)a.removeChild(a.firstChild);for(;a.lastChild&&3===a.lastChild.nodeType&&/^\s*$/.test(a.lastChild.data)&&a.lastChild!==a.firstChild;)a.removeChild(a.lastChild);a.firstChild&&1===a.firstChild.nodeType&&"BR"===a.firstChild.nodeName&&a.lastChild!==a.firstChild&&a.removeChild(a.firstChild),a.lastChild&&1===a.lastChild.nodeType&&"BR"===a.lastChild.nodeName&&a.lastChild!==a.firstChild&&a.removeChild(a.lastChild)}};a.commands.formatBlock={exec:function(a,b,c){c=A(c);var d,e,f=[];if(c&&c.toggle&&(e=this.state(a,b,c)),e){d=rangy.saveSelection(a.win);for(var g=0,i=e.length;i>g;g++)m(e[g],c,a)}else a.selection.isCollapsed()&&(d=rangy.saveSelection(a.win),B(a)?a.selection.selectLine():x(a,c&&c.nodeName?c.nodeName.toUpperCase():void 0)),f=c?z("apply",a,c):z("remove",a);f=h(a,f),d?rangy.restoreSelection(d):y(f,a)},remove:function(a,b,c){c=A(c);var d,e;a.selection.isCollapsed()&&(e=rangy.saveSelection(a.win),x(a,c&&c.nodeName?c.nodeName.toUpperCase():void 0)),d=z("remove",a),d=h(a,d),e?rangy.restoreSelection(e):y(d,a)},state:function(b,c,d){d=A(d);for(var e,f=b.selection.filterElements(function(b){return a.dom.domNode(b).test(d||{query:E})}.bind(this)),g=b.selection.getSelectedOwnNodes(),h=0,i=g.length;i>h;h++)e=C.getParentElement(g[h],d||{query:E},null,b.element),e&&-1===f.indexOf(e)&&f.push(e);return 0===f.length?!1:f}}}(wysihtml),function(a){function b(a){return/^\s*$/.test(a.className)}function c(a){return!a.getAttribute("style")||/^\s*$/.test(a.getAttribute("style"))}function d(b){var c=a.dom.getAttributes(b);return a.lang.object(c).isEmpty()}function e(b,c){var d,e,f,g;return 1!==b.nodeType||1!==c.nodeType?!1:b.nodeName!==c.nodeName?!1:(d=b.className.trim().replace(/\s+/g," ").split(" "),e=c.className.trim().replace(/\s+/g," ").split(" "),a.lang.array(d).without(e).length>0?!1:(f=a.dom.getAttributes(b),g=a.dom.getAttributes(c),f.length===g.length&&a.lang.object(a.lang.object(f).difference(g)).isEmpty()?!0:!1))}function f(b,c){var d=c&&c.nodeName||F,e=b.ownerDocument.createElement(d);if(c.classRegExp&&(e.className=e.className.replace(c.classRegExp,"")),c.className&&e.classList.add(c.className),c.styleProperty&&"undefined"!=typeof c.styleValue&&(e.style[a.browser.fixStyleKey(c.styleProperty)]=c.styleValue),c.attribute)if("object"==typeof c.attribute)for(var f in c.attribute)c.attribute.hasOwnProperty(f)&&e.setAttribute(f,c.attribute[f]);else"undefined"!=typeof c.attributeValue&&e.setAttribute(c.attribute,c.attributeValue);return e}function g(a,b){for(var c in a)if(a.hasOwnProperty(c)&&(void 0===typeof b[c]||b[c]!==a[c]))return!1;return!0}function h(b,c,d){var e,f=a.dom.getAttributes(b),h=g(c,f);a.lang.object(f).difference(c);if(h&&d!==!1)for(e in c)c.hasOwnProperty(e)&&b.removeAttribute(e);else for(e in c)c.hasOwnProperty(e)&&b.setAttribute(e,c[e])}function i(e,f){var g,i,j;f.className&&(f.toggle!==!1&&e.classList.contains(f.className)?e.classList.remove(f.className):(f.classRegExp&&(e.className=e.className.replace(f.classRegExp,"")),e.classList.add(f.className)),b(e)&&e.removeAttribute("class")),f.styleProperty&&(f.toggle!==!1&&e.style[a.browser.fixStyleKey(f.styleProperty)].trim().replace(/, /g,",")===f.styleValue?e.style[a.browser.fixStyleKey(f.styleProperty)]="":e.style[a.browser.fixStyleKey(f.styleProperty)]=f.styleValue),c(e)&&e.removeAttribute("style"),f.attribute&&("object"==typeof f.attribute?g=f.attribute:(g={},g[f.attribute]=f.attributeValue||""),h(e,g,f.toggle)),i=f.nodeName?H[f.nodeName.toLowerCase()]||f.nodeName.toLowerCase():null,j=i?a.dom.domNode(e).test({query:i}):!1,(!f.nodeName||f.nodeName===F||j)&&(f.toggle!==!1&&j||!f.nodeName&&e.nodeName===F)&&b(e)&&c(e)&&d(e)&&a.dom.unwrap(e)}function j(b,c){var d=[];return b.isCollapsed()||(d=d.concat(b.getOwnNodes([3],function(b){return!a.dom.domNode(b).is.emptyTextNode()},c))),d}function k(a,b,c,d){var e=a,f=d?b:l(b);do{if(1===e.nodeType&&m(e,f))return e;e=e.parentNode}while(e&&e!==c);return null}function l(a){return{nodeName:a.nodeName||null,className:a.classRegExp?null:a.className||null,classRegExp:a.classRegExp||null,styleProperty:a.styleProperty||null}}function m(b,c){var d;if(c.nodeName){var e=H[c.nodeName.toLowerCase()]||c.nodeName.toLowerCase();return a.dom.domNode(b).test({query:e})}return d=a.lang.object(c).clone(),d.query=G,a.dom.domNode(b).test(d)}function n(b,c){var d=document.documentElement||document.body,e=d.scrollTop,f=d.scrollLeft;rangy.getSelection(b.win);rangy.getSelection(b.win).removeAllRanges();try{rangy.getSelection(b.win).addRange(c)}catch(g){}b.doc.activeElement&&a.dom.contains(b.element,b.doc.activeElement)||(b.element.focus(),d.scrollTop=e,d.scrollLeft=f,rangy.getSelection(b.win).addRange(c))}function o(a,b){var c=rangy.createRange(b.doc),d=a[a.length-1];a[0]&&d&&(c.setStart(a[0],0),c.setEnd(d,d.length),n(b,c))}function p(a,b,c,d){var e=rangy.createRange(a.doc);b&&(e.setStart(b,c),e.setEnd(b,"undefined"!=typeof d?d:c),n(a,e))}function q(a,b,c){var d,e,f,g=j(a.selection),h=[],i=!1;if(a.selection.isInThisEditable()){if(0===g.length&&a.selection.isCollapsed()){if(f=a.selection.getSelection().anchorNode,!f)return{nodes:[],partial:!1};3===f.nodeType&&(g=[f])}g.length||(e=a.selection.getOwnRanges()[0],e&&(g=[e.endContainer]));for(var l=0,m=g.length;m>l;l++)d=k(g[l],b,a.element,c),d?h.push(d):i=!0}return{nodes:h,partial:i}}function r(a){var b,c,d,e;return a&&(b=a.anchorNode,c=a.anchorOffset,b&&3===b.nodeType&&c>0&&c0&&/\w/.test(c.data[g-1]);)g--;for(;h0&&o(b,a),u(q(a,c).nodes),b.length>0&&o(b,a)}function w(a,b,c,d){p(a,b,c),u(q(a,d).nodes),p(a,b,c)}function x(a,b){var c=f(a,b);a.parentNode.insertBefore(c,a),c.appendChild(a)}function y(b,c,d){var e,f=c.element,g=k(b,d,f);g&&(e=g.cloneNode(!1),a.dom.domNode(b).escapeParent(g,e),i(e,d))}function z(b,c,d){var e=c.element,f=k(b,d,e);f&&a.dom.domNode(b).escapeParent(f)}function A(a,b,c){var d=f(a.endContainer,c);a.surroundContents(d),b.selection.selectNode(d)}function B(b,c,d,e){var f,g,h,j,l=q(b,e,!0),m=b.selection.getSelection(); -if(c.length){if(l.partial||e.toggle===!1)for(j=c.length;j--;)k(c[j],e,b.element)&&y(c[j],b,e),k(c[j],e,b.element)||x(c[j],e);else for(j=c.length;j--;)y(c[j],b,e);v(b,c,e)}else if(e.toggle!==!1)if(r(m))f=s(m),g=f.textNode,y(f.textNode,b,e),w(b,f.textNode,f.wordOffset,e);else{g=b.doc.createTextNode(a.INVISIBLE_SPACE),h=d.nodes[0].cloneNode(!1),h.appendChild(g),b.selection.splitElementAtCaret(d.nodes[0],h),i(h,e),v(b,[g],e);var n=b.selection.getSelection();if(n.anchorNode&&n.focusNode)try{n.collapseToEnd()}catch(o){}}else for(j=d.nodes.length;j--;)i(d.nodes[j],e)}function C(b,c,d,e){var f,g,h,i=b.selection.getSelection();if(c.length){for(h=c.length;h--;)z(c[h],b,e);v(b,c,e)}else{for(f=i.anchorNode,g=i.anchorOffset,h=d.nodes.length;h--;)a.dom.unwrap(d.nodes[h]);w(b,f,g,e)}}function D(a,b,c){var d,e,f=a.selection.getSelection();if(b.length){for(e=b.length;e--;)x(b[e],c);v(a,b,c)}else if(r(f))d=s(f),x(d.textNode,c),w(a,d.textNode,d.wordOffset,c);else{var g=a.selection.getOwnRanges()[0];g&&A(g,a,c)}}function E(a){return a="string"==typeof a?{nodeName:a}:a,a.nodeName&&(a.nodeName=a.nodeName.toUpperCase()),a}var F="SPAN",G="b, big, i, small, tt, abbr, acronym, cite, code, dfn, em, kbd, strong, samp, var, a, bdo, br, q, span, sub, sup, button, label, textarea, input, select, u",H={b:"b, strong",strong:"b, strong",em:"em, i",i:"em, i"};a.commands.formatInline={exec:function(a,b,c){c=E(c),a.element.normalize();var d=j(a.selection,!0),e=q(a,c);e.nodes.length>0?B(a,d,e,c):D(a,d,c),a.element.normalize()},remove:function(a,b,c){c=E(c),a.element.normalize();var d=j(a.selection,!0),e=q(a,c);e.nodes.length>0&&C(a,d,e,c),a.element.normalize()},state:function(a,b,c){c=E(c);var d=q(a,c,!0).nodes;return 0===d.length?!1:d}}}(wysihtml),function(a){a.commands.indentList={exec:function(a,b,c){var d=a.selection.getSelectionParentsByTag("LI");return d?this.tryToPushLiLevel(d,a.selection):!1},state:function(a,b){return!1},tryToPushLiLevel:function(b,c){var d,e,f,g,h,i=!1;return c.executeAndRestoreRangy(function(){for(var c=b.length;c--;)g=b[c],d="OL"===g.parentNode.nodeName?"OL":"UL",e=g.ownerDocument.createElement(d),f=a.dom.domNode(g).prev({nodeTypes:[a.ELEMENT_NODE]}),h=f?f.querySelector("ul, ol"):null,f&&(h?h.appendChild(g):(e.appendChild(g),f.appendChild(e)),i=!0)}),i}}}(wysihtml),function(a){a.commands.insertHTML={exec:function(a,b,c){a.selection.insertHTML(c)},state:function(){return!1}}}(wysihtml),function(a){var b="
"+(a.browser.needsSpaceAfterLineBreak()?" ":"");a.commands.insertLineBreak={exec:function(a,c){a.selection.insertHTML(b)},state:function(){return!1}}}(wysihtml),wysihtml.commands.insertList=function(a){var b=function(a,b){if(a&&a.nodeName){"string"==typeof b&&(b=[b]);for(var c=b.length;c--;)if(a.nodeName===b[c])return!0}return!1},c=function(c,d,e){var f={el:null,other:!1};if(c){var g=a.dom.getParentElement(c,{query:"li"},!1,e.element),h="UL"===d?"OL":"UL";b(c,d)?f.el=c:b(c,h)?f={el:c,other:!0}:g&&(b(g.parentNode,d)?f.el=g.parentNode:b(g.parentNode,h)&&(f={el:g.parentNode,other:!0}))}return f.el&&!e.element.contains(f.el)&&(f.el=null),f},d=function(b,c,d){var e,g,h="UL"===c?"OL":"UL";d.selection.executeAndRestoreRangy(function(){if(e=f(h,d),e.length)for(var i=e.length;i--;)a.dom.renameElement(e[i],c.toLowerCase());else{g=f(["OL","UL"],d);for(var j=g.length;j--;)a.dom.resolveList(g[j],d.config.useLineBreaks);0===g.length&&a.dom.resolveList(b,d.config.useLineBreaks)}})},e=function(b,c,d){var e="UL"===c?"OL":"UL";d.selection.executeAndRestoreRangy(function(){for(var g=[b].concat(f(e,d)),h=g.length;h--;)a.dom.renameElement(g[h],c.toLowerCase())})},f=function(a,c){for(var d=c.selection.getOwnRanges(),e=[],f=d.length;f--;)e=e.concat(d[f].getNodes([1],function(c){return b(c,a)}));return e},g=function(b,c){var d,e,f=rangy.saveSelection(c.win),g="_wysihtml-temp-"+(new Date).getTime();c.commands.exec("formatBlock",{nodeName:"div",className:g});var h=c.element.querySelector("."+g);h.innerHTML=h.innerHTML.replace(a.INVISIBLE_SPACE_REG_EXP,""),h&&(d=/^(\s|(
))+$/i.test(h.innerHTML),e=a.dom.convertToList(h,b.toLowerCase(),c.parent.config.classNames.uneditableContainer),f&&rangy.restoreSelection(f),d&&c.selection.selectNode(e.querySelector("li"),!0))};return{exec:function(b,f,h){var i,j,k=b.doc,l="OL"===h?"insertOrderedList":"insertUnorderedList",m=b.selection.getSelection(),n=1===m.anchorNode.nodeType&&m.anchorNode.firstChild?m.anchorNode.childNodes[m.anchorOffset]:m.anchorNode,o=1===m.focusNode.nodeType&&m.focusNode.firstChild?m.focusNode.childNodes[m.focusOffset]||m.focusNode.lastChild:m.focusNode;m.isBackwards()&&(n=[o,o=n][0]),a.dom.domNode(o).is.emptyTextNode(!0)&&o&&(o=a.dom.domNode(o).prev({nodeTypes:[1,3],ignoreBlankTexts:!0})),a.dom.domNode(n).is.emptyTextNode(!0)&&n&&(n=a.dom.domNode(n).next({nodeTypes:[1,3],ignoreBlankTexts:!0})),i=n&&o?n===o?n:a.dom.domNode(n).commonAncestor(o,b.element):b.selection.getSelectedNode(),j=c(i,h,b),j.el?j.other?e(j.el,h,b):d(j.el,h,b):b.commands.support(l)?k.execCommand(l,!1,null):g(h,b)},state:function(a,b,d){var e=a.selection.getSelectedNode(),f=c(e,d,a);return f.el&&!f.other?f.el:!1}}}(wysihtml),function(a){a.commands.outdentList={exec:function(a,b,c){var d=a.selection.getSelectionParentsByTag("LI");return d?this.tryToPullLiLevel(d,a):!1},state:function(a,b){return!1},tryToPullLiLevel:function(b,c){var d,e,f,g,h,i=!1,j=this;return c.selection.executeAndRestoreRangy(function(){for(var k=b.length;k--;)if(g=b[k],g.parentNode&&(d=g.parentNode,"OL"===d.tagName||"UL"===d.tagName)){if(i=!0,e=a.dom.getParentElement(d.parentNode,{query:"ol, ul"},!1,c.element),f=a.dom.getParentElement(d.parentNode,{query:"li"},!1,c.element),e&&f)g.nextSibling&&(h=j.getAfterList(d,g),g.appendChild(h)),e.insertBefore(g,f.nextSibling);else{g.nextSibling&&(h=j.getAfterList(d,g),g.appendChild(h));for(var l=g.childNodes.length;l--;)d.parentNode.insertBefore(g.childNodes[l],d.nextSibling);d.parentNode.insertBefore(document.createElement("br"),d.nextSibling),g.parentNode.removeChild(g)}0===d.childNodes.length&&d.parentNode.removeChild(d)}}),i},getAfterList:function(a,b){for(var c=a.nodeName,d=document.createElement(c);b.nextSibling;)d.appendChild(b.nextSibling);return d}}}(wysihtml),function(a){a.commands.redo={exec:function(a){return a.undoManager.redo()},state:function(a){return!1}}}(wysihtml),function(a){var b={nodeName:"A"};a.commands.removeLink={exec:function(c,d){a.commands.formatInline.remove(c,d,b)},state:function(c,d){return a.commands.formatInline.state(c,d,b)}}}(wysihtml),function(a){a.commands.undo={exec:function(a){return a.undoManager.undo()},state:function(a){return!1}}}(wysihtml),function(a){var b=90,c=89,d=8,e=46,f=25,g="data-wysihtml-selection-node",h="data-wysihtml-selection-offset",i=(''+a.INVISIBLE_SPACE+"",''+a.INVISIBLE_SPACE+"",a.dom);a.UndoManager=a.lang.Dispatcher.extend({constructor:function(a){this.editor=a,this.composer=a.composer,this.element=this.composer.element,this.position=0,this.historyStr=[],this.historyDom=[],this.transact(),this._observe()},_observe:function(){var a,f=this;this.composer.sandbox.getDocument();i.observe(this.element,"keydown",function(a){if(!a.altKey&&(a.ctrlKey||a.metaKey)){var d=a.keyCode,e=d===b&&!a.shiftKey,g=d===b&&a.shiftKey||d===c;e?(f.undo(),a.preventDefault()):g&&(f.redo(),a.preventDefault())}}),i.observe(this.element,"keydown",function(b){var c=b.keyCode;c!==a&&(a=c,(c===d||c===e)&&f.transact())}),this.editor.on("newword:composer",function(){f.transact()}).on("beforecommand:composer",function(){f.transact()})},transact:function(){var b,c,d,e,i,j=this.historyStr[this.position-1],k=this.composer.getValue(!1,!1),l=this.element.offsetWidth>0&&this.element.offsetHeight>0;if(k!==j){var m=this.historyStr.length=this.historyDom.length=this.position;m>f&&(this.historyStr.shift(),this.historyDom.shift(),this.position--),this.position++,l&&(b=this.composer.selection.getRange(),c=b&&b.startContainer?b.startContainer:this.element,d=b&&b.startOffset?b.startOffset:0,c.nodeType===a.ELEMENT_NODE?e=c:(e=c.parentNode,i=this.getChildNodeIndex(e,c)),e.setAttribute(h,d),"undefined"!=typeof i&&e.setAttribute(g,i));var n=this.element.cloneNode(!!k);this.historyDom.push(n),this.historyStr.push(k),e&&(e.removeAttribute(h),e.removeAttribute(g))}},undo:function(){this.transact(),this.undoPossible()&&(this.set(this.historyDom[--this.position-1]),this.editor.fire("undo:composer"))},redo:function(){this.redoPossible()&&(this.set(this.historyDom[++this.position-1]),this.editor.fire("redo:composer"))},undoPossible:function(){return this.position>1},redoPossible:function(){return this.positionb;b++)this.element.appendChild(c[b].cloneNode(!0));var e,f,i;a.hasAttribute(h)?(e=a.getAttribute(h),i=a.getAttribute(g),f=this.element):(f=this.element.querySelector("["+h+"]")||this.element,e=f.getAttribute(h),i=f.getAttribute(g),f.removeAttribute(h),f.removeAttribute(g)),null!==i&&(f=this.getChildNodeByIndex(f,+i)),this.composer.selection.set(f,e)},getChildNodeIndex:function(a,b){for(var c=0,d=a.childNodes,e=d.length;e>c;c++)if(d[c]===b)return c},getChildNodeByIndex:function(a,b){return a.childNodes[b]}})}(wysihtml),wysihtml.views.View=Base.extend({constructor:function(a,b,c){this.parent=a,this.element=b,this.config=c,this.config.noTextarea||this._observeViewChange()},_observeViewChange:function(){var a=this;this.parent.on("beforeload",function(){a.parent.on("change_view",function(b){b===a.name?(a.parent.currentView=a,a.show(),setTimeout(function(){a.focus()},0)):a.hide()})})},focus:function(){if(!this.element||!this.element.ownerDocument||this.element.ownerDocument.querySelector(":focus")!==this.element)try{this.element&&this.element.focus()}catch(a){}},hide:function(){this.element.style.display="none"},show:function(){this.element.style.display=""},disable:function(){this.element.setAttribute("disabled","disabled")},enable:function(){this.element.removeAttribute("disabled")}}),function(a){var b=a.dom,c=a.browser;a.views.Composer=a.views.View.extend({name:"composer",constructor:function(a,b,c){this.base(a,b,c),this.config.noTextarea?this.editableArea=b:this.textarea=this.parent.textarea,this.config.contentEditableMode?this._initContentEditableArea():this._initSandbox()},clear:function(){this.element.innerHTML=c.displaysCaretInEmptyContentEditableCorrectly()?"":"
"},getValue:function(b,c){var d=this.isEmpty()?"":a.quirks.getCorrectInnerHTML(this.element);return b!==!1&&(d=this.parent.parse(d,c===!1?!1:!0)),d},setValue:function(a,b){b!==!1&&(a=this.parent.parse(a));try{this.element.innerHTML=a}catch(c){this.element.innerText=a}},cleanUp:function(a){var b;this.selection&&this.selection.isInThisEditable()&&(b=rangy.saveSelection(this.win)),this.parent.parse(this.element,void 0,a),b&&rangy.restoreSelection(b)},show:function(){this.editableArea.style.display=this._displayStyle||"",this.config.noTextarea||this.textarea.element.disabled||(this.disable(),this.enable())},hide:function(){this._displayStyle=b.getStyle("display").from(this.editableArea),"none"===this._displayStyle&&(this._displayStyle=null),this.editableArea.style.display="none"},disable:function(){this.parent.fire("disable:composer"),this.element.removeAttribute("contentEditable")},enable:function(){this.parent.fire("enable:composer"),this.element.setAttribute("contentEditable","true")},focus:function(b){a.browser.doesAsyncFocus()&&this.hasPlaceholderSet()&&this.clear(),this.base();var c=this.element.lastChild;b&&c&&this.selection&&("BR"===c.nodeName?this.selection.setBefore(this.element.lastChild):this.selection.setAfter(this.element.lastChild))},getScrollPos:function(){if(this.doc&&this.win){var a={};return"undefined"!=typeof this.win.pageYOffset?a.y=this.win.pageYOffset:a.y=(this.doc.documentElement||this.doc.body.parentNode||this.doc.body).scrollTop,"undefined"!=typeof this.win.pageXOffset?a.x=this.win.pageXOffset:a.x=(this.doc.documentElement||this.doc.body.parentNode||this.doc.body).scrollLeft,a}},setScrollPos:function(a){a&&"undefined"!=typeof a.x&&"undefined"!=typeof a.y&&this.win.scrollTo(a.x,a.y)},getTextContent:function(){return b.getTextContent(this.element)},hasPlaceholderSet:function(){return this.getTextContent()==(this.config.noTextarea?this.editableArea.getAttribute("data-placeholder"):this.textarea.element.getAttribute("placeholder"))&&this.placeholderSet},isEmpty:function(){var a=this.element.innerHTML.toLowerCase();return/^(\s|
|<\/br>|

|<\/p>)*$/i.test(a)||""===a||"
"===a||"

"===a||"


"===a||this.hasPlaceholderSet()},_initContentEditableArea:function(){var a=this;this.config.noTextarea?this.sandbox=new b.ContentEditableArea(function(){a._create()},{className:this.config.classNames.sandbox},this.editableArea):(this.sandbox=new b.ContentEditableArea(function(){a._create()},{className:this.config.classNames.sandbox}),this.editableArea=this.sandbox.getContentEditable(),b.insert(this.editableArea).after(this.textarea.element),this._createWysiwygFormField())},_initSandbox:function(){var a=this;this.sandbox=new b.Sandbox(function(){a._create()},{stylesheets:this.config.stylesheets,className:this.config.classNames.sandbox}),this.editableArea=this.sandbox.getIframe();var c=this.textarea.element;b.insert(this.editableArea).after(c),this._createWysiwygFormField()},_createWysiwygFormField:function(){if(this.textarea.element.form){var a=document.createElement("input");a.type="hidden",a.name="_wysihtml_mode",a.value=1,b.insert(a).after(this.textarea.element)}},_create:function(){var d=this;this.doc=this.sandbox.getDocument(),this.win=this.sandbox.getWindow(),this.element=this.config.contentEditableMode?this.sandbox.getContentEditable():this.doc.body,this.config.noTextarea?this.cleanUp():(this.textarea=this.parent.textarea,this.element.innerHTML=this.textarea.getValue(!0,!1)),this.selection=new a.Selection(this.parent,this.element,this.config.classNames.uneditableContainer),this.commands=new a.Commands(this.parent),this.config.noTextarea||b.copyAttributes(["className","spellcheck","title","lang","dir","accessKey"]).from(this.textarea.element).to(this.element),this._initAutoLinking(),b.addClass(this.element,this.config.classNames.composer),this.config.style&&!this.config.contentEditableMode&&this.style(),this.observe();var e=this.config.name;e&&(b.addClass(this.element,e),this.config.contentEditableMode||b.addClass(this.editableArea,e)),this.enable(),!this.config.noTextarea&&this.textarea.element.disabled&&this.disable();var f="string"==typeof this.config.placeholder?this.config.placeholder:this.config.noTextarea?this.editableArea.getAttribute("data-placeholder"):this.textarea.element.getAttribute("placeholder");f&&b.simulatePlaceholder(this.parent,this,f,this.config.classNames.placeholder),this.commands.exec("styleWithCSS",!1),this._initObjectResizing(),this._initUndoManager(),this._initLineBreaking(),this.config.noTextarea||!this.textarea.element.hasAttribute("autofocus")&&document.querySelector(":focus")!=this.textarea.element||c.isIos()||setTimeout(function(){d.focus(!0)},100),c.clearsContentEditableCorrectly()||a.quirks.ensureProperClearing(this),this.initSync&&this.config.sync&&this.initSync(),this.config.noTextarea||this.textarea.hide(),this.parent.fire("beforeload").fire("load")},_initAutoLinking:function(){var d=this,e=c.canDisableAutoLinking(),f=c.doesAutoLinkingInContentEditable();if(e&&this.commands.exec("AutoUrlDetect",!1,!1),this.config.autoLink){(!f||f&&e)&&(this.parent.on("newword:composer",function(){if(b.getTextContent(d.element).match(b.autoLink.URL_REG_EXP)){for(var c=d.selection.getSelectedNode(),e=d.element.querySelectorAll("."+d.config.classNames.uneditableContainer),f=!1,g=e.length;g--;)a.dom.contains(e[g],c)&&(f=!0);f||b.autoLink(c,[d.config.classNames.uneditableContainer])}}),b.observe(this.element,"blur",function(){b.autoLink(d.element,[d.config.classNames.uneditableContainer])}));var g=this.sandbox.getDocument().getElementsByTagName("a"),h=b.autoLink.URL_REG_EXP,i=function(c){var d=a.lang.string(b.getTextContent(c)).trim();return"www."===d.substr(0,4)&&(d="http://"+d),d};b.observe(this.element,"keydown",function(a){if(g.length){var c,e=d.selection.getSelectedNode(a.target.ownerDocument),f=b.getParentElement(e,{query:"a"},4);f&&(c=i(f),setTimeout(function(){var a=i(f);a!==c&&a.match(h)&&f.setAttribute("href",a)},0))}})}},_initObjectResizing:function(){if(this.commands.exec("enableObjectResizing",!0),c.supportsEvent("resizeend")){var d=["width","height"],e=d.length,f=this.element;b.observe(f,"resizeend",function(b){var c,g=b.target||b.srcElement,h=g.style,i=0;if("IMG"===g.nodeName){for(;e>i;i++)c=d[i],h[c]&&(g.setAttribute(c,parseInt(h[c],10)),h[c]="");a.quirks.redraw(f)}})}},_initUndoManager:function(){this.undoManager=new a.UndoManager(this.parent)},_initLineBreaking:function(){function d(a){var c=b.getParentElement(a,{query:"p, div"},2);c&&b.contains(e.element,c)&&e.selection.executeAndRestoreRangy(function(){e.config.useLineBreaks?((!c.firstChild||c.firstChild===c.lastChild&&1===c.firstChild.nodeType&&c.firstChild.classList.contains("rangySelectionBoundary"))&&c.appendChild(e.doc.createElement("br")),b.replaceWithChildNodes(c)):"P"!==c.nodeName&&b.renameElement(c,"p")})}var e=this,f="li, p, h1, h2, h3, h4, h5, h6",g="ul, ol, menu";this.config.useLineBreaks||b.observe(this.element,["focus"],function(){e.isEmpty()&&setTimeout(function(){var a=e.doc.createElement("P");e.element.innerHTML="",e.element.appendChild(a),c.displaysCaretInEmptyContentEditableCorrectly()?e.selection.selectNode(a,!0):(a.innerHTML="
",e.selection.setBefore(a.firstChild))},0)}),b.observe(this.element,"keydown",function(c){var h=c.keyCode;if(!(c.shiftKey||c.ctrlKey||c.defaultPrevented||h!==a.ENTER_KEY&&h!==a.BACKSPACE_KEY)){var i=b.getParentElement(e.selection.getSelectedNode(),{query:f},4);return i?void setTimeout(function(){var c,f=e.selection.getSelectedNode();if("LI"===i.nodeName){if(!f)return;c=b.getParentElement(f,{query:g},2),c||d(f)}h===a.ENTER_KEY&&i.nodeName.match(/^H[1-6]$/)&&d(f)},0):void(e.config.useLineBreaks&&h===a.ENTER_KEY&&!a.browser.insertsLineBreaksOnReturn()&&(c.preventDefault(),e.commands.exec("insertLineBreak")))}})}})}(wysihtml),function(a){var b=a.dom,c=document,d=window,e=c.createElement("div"),f=["background-color","color","cursor","font-family","font-size","font-style","font-variant","font-weight","line-height","letter-spacing","text-align","text-decoration","text-indent","text-rendering","word-break","word-wrap","word-spacing"],g=["background-color","border-collapse","border-bottom-color","border-bottom-style","border-bottom-width","border-left-color","border-left-style","border-left-width","border-right-color","border-right-style","border-right-width","border-top-color","border-top-style","border-top-width","clear","display","float","margin-bottom","margin-left","margin-right","margin-top","outline-color","outline-offset","outline-width","outline-style","padding-left","padding-right","padding-top","padding-bottom","position","top","left","right","bottom","z-index","vertical-align","text-align","-webkit-box-sizing","-moz-box-sizing","-ms-box-sizing","box-sizing","-webkit-box-shadow","-moz-box-shadow","-ms-box-shadow","box-shadow","-webkit-border-top-right-radius","-moz-border-radius-topright","border-top-right-radius","-webkit-border-bottom-right-radius","-moz-border-radius-bottomright","border-bottom-right-radius","-webkit-border-bottom-left-radius","-moz-border-radius-bottomleft","border-bottom-left-radius","-webkit-border-top-left-radius","-moz-border-radius-topleft","border-top-left-radius","width","height"],h=["html { height: 100%; }","body { height: 100%; padding: 1px 0 0 0; margin: -1px 0 0 0; }","body > p:first-child { margin-top: 0; }","._wysihtml-temp { display: none; }",a.browser.isGecko?"body.placeholder { color: graytext !important; }":"body.placeholder { color: #a9a9a9 !important; }","img:-moz-broken { -moz-force-broken-image-icon: 1; height: 24px; width: 24px; }"],i=function(a){if(a.setActive)try{a.setActive()}catch(e){}else{var f=a.style,g=c.documentElement.scrollTop||c.body.scrollTop,h=c.documentElement.scrollLeft||c.body.scrollLeft,i={position:f.position,top:f.top,left:f.left,WebkitUserSelect:f.WebkitUserSelect};b.setStyles({position:"absolute",top:"-99999px",left:"-99999px",WebkitUserSelect:"none"}).on(a),a.focus(),b.setStyles(i).on(a),d.scrollTo&&d.scrollTo(h,g)}};a.views.Composer.prototype.style=function(){var d,j=this,k=c.querySelector(":focus"),l=this.textarea.element,m=l.hasAttribute("placeholder"),n=m&&l.getAttribute("placeholder"),o=l.style.display,p=l.disabled;this.focusStylesHost=e.cloneNode(!1),this.blurStylesHost=e.cloneNode(!1),this.disabledStylesHost=e.cloneNode(!1),m&&l.removeAttribute("placeholder"),l===k&&l.blur(),l.disabled=!1,l.style.display=d="none",(l.getAttribute("rows")&&"auto"===b.getStyle("height").from(l)||l.getAttribute("cols")&&"auto"===b.getStyle("width").from(l))&&(l.style.display=d=o),b.copyStyles(g).from(l).to(this.editableArea).andTo(this.blurStylesHost),b.copyStyles(f).from(l).to(this.element).andTo(this.blurStylesHost),b.insertCSS(h).into(this.element.ownerDocument),l.disabled=!0,b.copyStyles(g).from(l).to(this.disabledStylesHost),b.copyStyles(f).from(l).to(this.disabledStylesHost),l.disabled=p,l.style.display=o,i(l),l.style.display=d,b.copyStyles(g).from(l).to(this.focusStylesHost),b.copyStyles(f).from(l).to(this.focusStylesHost),l.style.display=o,b.copyStyles(["display"]).from(l).to(this.editableArea);var q=a.lang.array(g).without(["display"]);return k?i(k):l.blur(),m&&l.setAttribute("placeholder",n),this.parent.on("focus:composer",function(){b.copyStyles(q).from(j.focusStylesHost).to(j.editableArea),b.copyStyles(f).from(j.focusStylesHost).to(j.element)}),this.parent.on("blur:composer",function(){b.copyStyles(q).from(j.blurStylesHost).to(j.editableArea),b.copyStyles(f).from(j.blurStylesHost).to(j.element)}),this.parent.observe("disable:composer",function(){b.copyStyles(q).from(j.disabledStylesHost).to(j.editableArea),b.copyStyles(f).from(j.disabledStylesHost).to(j.element)}),this.parent.observe("enable:composer",function(){b.copyStyles(q).from(j.blurStylesHost).to(j.editableArea),b.copyStyles(f).from(j.blurStylesHost).to(j.element)}),this}}(wysihtml),function(a){var b=a.dom,c=b.domNode,d=a.browser,e={66:"bold",73:"italic",85:"underline"},f={addListeners:function(a,b,c){for(var d=0,e=b.length;e>d;d++)a.addEventListener(b[d],c,!1)},removeListeners:function(a,b,c){for(var d=0,e=b.length;e>d;d++)a.removeEventListener(b[d],c,!1)},fixLastBrDeletionInTable:function(b,c){if(b.selection.caretIsInTheEndOfNode()){var d=b.selection.getSelection(),e=d.anchorNode;if(e&&1===e.nodeType&&(a.dom.getParentElement(e,{query:"td, th"},!1,b.element)||c)){var f=e.childNodes[d.anchorOffset];if(f&&1===f.nodeType&"BR"===f.nodeName)return f.parentNode.removeChild(f),!0}}return!1},handleUneditableDeletion:function(a){var b=a.selection.getBeforeSelection(!0);if(b&&("element"===b.type||"leafnode"===b.type)&&1===b.node.nodeType&&b.node.classList.contains(a.config.classNames.uneditableContainer)){if(f.fixLastBrDeletionInTable(a,!0))return!0;try{var c=new CustomEvent("wysihtml:uneditable:delete",{bubbles:!0,cancelable:!1});b.node.dispatchEvent(c)}catch(d){}return b.node.parentNode.removeChild(b.node),!0}return!1},fixDeleteInTheBeginningOfBlock:function(b){var d=b.selection,e=d.getPreviousNode();if(d.caretIsFirstInSelection(a.browser.usesControlRanges())&&e&&1===e.nodeType&&a.dom.domNode(e).is.block()&&!c(e).test({query:"ol, ul, table, tr, dl"})){if(/^\s*$/.test(e.textContent||e.innerText))return e.parentNode.removeChild(e),!0;if(e.lastChild){var f=e.lastChild,g=d.getSelectedNode(),h=c(e).commonAncestor(g,b.element),i=a.dom.getParentElement(g,{query:"h1, h2, h3, h4, h5, h6, p, pre, div, blockquote"},!1,h||b.element);if(i)return c(i).transferContentTo(e,!0),d.setAfter(f),!0;if(a.browser.usesControlRanges())return g=d.getCaretNode(),c(g).transferContentTo(e,!0),d.setAfter(f),!0}}return!1},fixDeleteInTheBeginningOfLi:function(b){if(a.browser.hasLiDeletingProblem()){var d,e,d,f,g=b.selection.getSelection(),h=g.anchorNode,i=b.selection.caretIsFirstInSelection();if(3===h.nodeType&&0===g.anchorOffset&&h===h.parentNode.firstChild&&(h=h.parentNode,i=!0),i&&h&&1===h.nodeType&&"LI"===h.nodeName&&(d=c(h).prev({nodeTypes:[1,3],ignoreBlankTexts:!0}),d||!h.parentNode||"UL"!==h.parentNode.nodeName&&"OL"!==h.parentNode.nodeName||(d=c(h.parentNode).prev({nodeTypes:[1,3],ignoreBlankTexts:!0}),f=h.parentNode),d))return e=h.firstChild,c(h).transferContentTo(d,!0),f&&0===f.children.length&&f.remove(),e?b.selection.setBefore(e):d&&(1===d.nodeType?d.lastChild?b.selection.setAfter(d.lastChild):b.selection.selectNode(d):b.selection.setAfter(d)),!0}return!1},fixDeleteInTheBeginningOfControlSelection:function(a){var b,d=a.selection,e=d.getPreviousNode(),f=d.getSelectedNode();return d.caretIsFirstInSelection()?(3===f.nodeType&&(f=f.parentNode),b=f.firstChild,c(f).transferContentTo(e,!0),b&&a.selection.setBefore(b),!0):!1},doLineBreaksModeEnterWithCaret:function(d){var e,f,g="p, pre, div, blockquote",h=!1;if(e=d.selection.getNodesNearCaret(),e&&((e.caretNode||e.nextNode)&&(f=b.getParentElement(e.caretNode||e.nextNode,{query:g},2),f===d.element&&(f=void 0)),f&&e.caretNode))if(c(e.caretNode).is.lineBreak()){if(d.config.doubleLineBreakEscapesBlock){h=!0,e.caretNode.parentNode.removeChild(e.caretNode),c(e.nextNode).is.lineBreak()&&e.nextNode.parentNode.removeChild(e.nextNode);var i=d.doc.createElement("br");c(e.nextNode).is.lineBreak()&&e.nextNode===f.lastChild?f.parentNode.insertBefore(i,f.nextSibling):d.selection.splitElementAtCaret(f,i),e.nextNode&&3===e.nextNode.nodeType&&(e.nextNode.data=e.nextNode.data.replace(/^ *[\r\n]+/,"")),d.selection.setBefore(i)}}else if(3===e.caretNode.nodeType&&a.browser.hasCaretBlockElementIssue()&&e.textOffset===e.caretNode.data.length&&!e.nextNode){h=!0;var j=d.doc.createElement("br"),k=d.doc.createElement("br"),l=d.doc.createDocumentFragment();l.appendChild(j),l.appendChild(k),d.selection.insertNode(l),d.selection.setBefore(k)}return h}},g=function(b,c){var d=c.selection;c.element;if(d.isCollapsed()){if(c.isEmpty()&&!c.config.useLineBreaks)return void b.preventDefault();if(f.handleUneditableDeletion(c))return void b.preventDefault();if(f.fixDeleteInTheBeginningOfLi(c))return void b.preventDefault();if(f.fixDeleteInTheBeginningOfBlock(c))return void b.preventDefault();if(f.fixLastBrDeletionInTable(c))return void b.preventDefault();if(a.browser.usesControlRanges()&&f.fixDeleteInTheBeginningOfControlSelection(c))return void b.preventDefault()}else d.containsUneditable()&&(b.preventDefault(),d.deleteContents())},h=function(a,b){if(b.config.useLineBreaks&&!a.shiftKey&&!a.ctrlKey){b.selection.isCollapsed()&&f.doLineBreaksModeEnterWithCaret(b)&&a.preventDefault()}if(d.hasCaretAtLinkEndInsertionProblems()&&b.selection.caretIsInTheEndOfNode()){var c=b.selection.getSelectedNode(!0),e=c&&3===c.nodeType?c.parentNode:c;e&&e.closest("a")&&3===c.nodeType&&c===e.lastChild&&b.selection.setAfter(e)}},i=function(a,b,c){if(a.selection.isCollapsed()){if(a.selection.caretIsInTheBeginnig("li"))if(c){if(a.commands.exec("outdentList"))return}else if(a.commands.exec("indentList"))return}else a.selection.deleteContents();a.commands.exec("insertHTML"," ")},j=function(a){this.domNodeRemovedInterval&&clearInterval(domNodeRemovedInterval),this.parent.fire("destroy:composer")},k=function(a){this.parent.fire("beforeinteraction",a).fire("beforeinteraction:composer",a),setTimeout(function(){this.parent.fire("interaction",a).fire("interaction:composer",a)}.bind(this),0)},l=function(a){this.parent.fire("focus",a).fire("focus:composer",a),setTimeout(function(){this.focusState=this.getValue(!1,!1)}.bind(this),0)},m=function(a){if(this.focusState!==this.getValue(!1,!1)){var b=a;"function"==typeof Object.create&&(b=Object.create(a,{type:{value:"change"}})),this.parent.fire("change",b).fire("change:composer",b)}this.parent.fire("blur",a).fire("blur:composer",a)},n=function(a){this.parent.fire(a.type,a).fire(a.type+":composer",a),"paste"===a.type&&setTimeout(function(){this.parent.fire("newword:composer")}.bind(this),0)},o=function(b){this.config.copyedFromMarking&&(a.browser.supportsModernPaste()&&(b.clipboardData.setData("text/html",this.config.copyedFromMarking+this.selection.getHtml()),b.clipboardData.setData("text/plain",this.selection.getPlainText()),b.preventDefault()),this.parent.fire(b.type,b).fire(b.type+":composer",b))},p=function(b){var c=b.keyCode;(c===a.SPACE_KEY||c===a.ENTER_KEY)&&this.parent.fire("newword:composer")},q=function(b){if(!d.canSelectImagesInContentEditable()){var c=b.target,e=this.element.querySelectorAll("img"),f=this.element.querySelectorAll("."+this.config.classNames.uneditableContainer+" img"),g=a.lang.array(e).without(f);"IMG"===c.nodeName&&a.lang.array(g).contains(c)&&this.selection.selectNode(c)}a.browser.usesControlRanges()&&(this.selection.lastMouseDownPos={x:b.clientX,y:b.clientY},setTimeout(function(){delete this.selection.lastMouseDownPos}.bind(this),0))},r=function(a){var b=(a.target,this.selection.lastMouseDownPos);if(b){var c=document.body.createTextRange();setTimeout(function(){try{c.moveToPoint(b.x,b.y),c.select()}catch(a){}}.bind(this),0)}},s=function(b){if(this.config.classNames.uneditableContainer){var c=a.dom.getParentElement(b.target,{query:"."+this.config.classNames.uneditableContainer},!1,this.element);c&&this.selection.setAfter(c)}},t=function(a){d.canSelectImagesInContentEditable()||setTimeout(function(){this.selection.getSelection().removeAllRanges()}.bind(this),0)},u=function(b){var c,d=b.keyCode,f=e[d],j=this.selection.getSelectedNode(!0);j&&3===j.nodeType?j.parentNode:j;return!b.ctrlKey&&!b.metaKey||b.altKey||65!==d?((b.ctrlKey||b.metaKey)&&!b.altKey&&f&&(this.commands.exec(f),b.preventDefault()),d===a.BACKSPACE_KEY&&g(b,this),(d===a.BACKSPACE_KEY||d===a.DELETE_KEY)&&j&&"IMG"===j.nodeName&&(b.preventDefault(),c=j.parentNode,c.removeChild(j),"A"!==c.nodeName||c.firstChild||c.parentNode.removeChild(c),setTimeout(function(){a.quirks.redraw(this.element)}.bind(this),0)),this.config.handleTabKey&&d===a.TAB_KEY&&(b.preventDefault(),i(this,this.element,b.shiftKey)),void(d===a.ENTER_KEY&&h(b,this))):(this.selection.selectAll(),void b.preventDefault())},v=function(b){if(0!==b.which&&this.selection.caretIsInTheEndOfNode()){var c,e,f=this.selection.getSelectedNode(!0),g=f&&3===f.nodeType?f.parentNode:f;g&&g.closest("a")&&f===g.lastChild&&(32!==b.which||this.selection.caretIsInTheEndOfNode(!0)&&d.hasCaretAtLinkEndInsertionProblems()?(c=this.doc.createTextNode(a.INVISIBLE_SPACE),this.selection.insertNode(c),this.selection.setBefore(c),setTimeout(function(){c.textContent.length>1?(c.textContent=c.textContent.replace(a.INVISIBLE_SPACE_REG_EXP,""),this.selection.setAfter(c)):c.remove()}.bind(this),0)):32===b.which&&3===f.nodeType&&/[\u00A0 ]$/.test(f.textContent)&&(f.textContent=f.textContent.replace(/[\u00A0 ]$/,""),e=this.doc.createTextNode(" "),g.parentNode.insertBefore(e,g.nextSibling),this.selection.setAfter(e,!1),b.preventDefault()))}};a.views.Composer.prototype.observeActions=f,a.views.Composer.prototype.observe=function(){var c=this.sandbox.getIframe?this.sandbox.getIframe():this.sandbox.getContentEditable(),e=(this.element,d.supportsEventsInIframeCorrectly()||this.sandbox.getContentEditable?this.element:this.sandbox.getWindow());this.focusState=this.getValue(!1,!1),this.actions=f,c.addEventListener(["DOMNodeRemoved"],j.bind(this),!1),d.supportsMutationEvents()||(this.domNodeRemovedInterval=setInterval(function(){b.contains(document.documentElement,c)||j.call(this)},250)),f.addListeners(e,["drop","paste","mouseup","focus","keyup"],k.bind(this)),e.addEventListener("focus",l.bind(this),!1),e.addEventListener("blur",m.bind(this),!1),f.addListeners(this.element,["drop","paste","beforepaste"],n.bind(this),!1), -this.element.addEventListener("copy",o.bind(this),!1),this.element.addEventListener("mousedown",q.bind(this),!1),this.element.addEventListener("click",s.bind(this),!1),this.element.addEventListener("drop",t.bind(this),!1),this.element.addEventListener("keyup",p.bind(this),!1),this.element.addEventListener("keydown",u.bind(this),!1),this.element.addEventListener("keypress",v.bind(this),!1),a.browser.usesControlRanges()&&this.element.addEventListener("mscontrolselect",r.bind(this),!1),this.element.addEventListener("dragenter",function(){this.parent.fire("unset_placeholder")}.bind(this),!1)}}(wysihtml),function(a){var b=400;a.views.Synchronizer=Base.extend({constructor:function(a,b,c){this.editor=a,this.textarea=b,this.composer=c,this._observe()},fromComposerToTextarea:function(b){this.textarea.setValue(a.lang.string(this.composer.getValue(!1,!1)).trim(),b)},fromTextareaToComposer:function(a){var b=this.textarea.getValue(!1,!1);b?this.composer.setValue(b,a):(this.composer.clear(),this.editor.fire("set_placeholder"))},sync:function(a){"textarea"===this.editor.currentView.name?this.fromTextareaToComposer(a):this.fromComposerToTextarea(a)},_observe:function(){var c,d=this,e=this.textarea.element.form,f=function(){c=setInterval(function(){d.fromComposerToTextarea()},b)},g=function(){clearInterval(c),c=null};f(),e&&(a.dom.observe(e,"submit",function(){d.sync(!0)}),a.dom.observe(e,"reset",function(){setTimeout(function(){d.fromTextareaToComposer()},0)})),this.editor.on("change_view",function(a){"composer"!==a||c?"textarea"===a&&(d.fromComposerToTextarea(!0),g()):(d.fromTextareaToComposer(!0),f())}),this.editor.on("destroy:composer",g)}})}(wysihtml),function(a){a.views.SourceView=Base.extend({constructor:function(a,b){this.editor=a,this.composer=b,this._observe()},switchToTextarea:function(a){var b=this.composer.win.getComputedStyle(this.composer.element),c=parseFloat(b.width),d=Math.max(parseFloat(b.height),100);this.textarea||(this.textarea=this.composer.doc.createElement("textarea"),this.textarea.className="wysihtml-source-view"),this.textarea.style.width=c+"px",this.textarea.style.height=d+"px",this.textarea.value=this.editor.getValue(a,!0),this.composer.element.parentNode.insertBefore(this.textarea,this.composer.element),this.editor.currentView="source",this.composer.element.style.display="none"},switchToComposer:function(a){var b=this.textarea.value;b?this.composer.setValue(b,a):(this.composer.clear(),this.editor.fire("set_placeholder")),this.textarea.parentNode.removeChild(this.textarea),this.editor.currentView=this.composer,this.composer.element.style.display=""},_observe:function(){this.editor.on("change_view",function(a){"composer"===a?this.switchToComposer(!0):"textarea"===a&&this.switchToTextarea(!0)}.bind(this))}})}(wysihtml),wysihtml.views.Textarea=wysihtml.views.View.extend({name:"textarea",constructor:function(a,b,c){this.base(a,b,c),this._observe()},clear:function(){this.element.value=""},getValue:function(a){var b=this.isEmpty()?"":this.element.value;return a!==!1&&(b=this.parent.parse(b)),b},setValue:function(a,b){b!==!1&&(a=this.parent.parse(a)),this.element.value=a},cleanUp:function(a){var b=this.parent.parse(this.element.value,void 0,a);this.element.value=b},hasPlaceholderSet:function(){var a=wysihtml.browser.supportsPlaceholderAttributeOn(this.element),b=this.element.getAttribute("placeholder")||null,c=this.element.value,d=!c;return a&&d||c===b},isEmpty:function(){return!wysihtml.lang.string(this.element.value).trim()||this.hasPlaceholderSet()},_observe:function(){var a=this.element,b=this.parent,c={focusin:"focus",focusout:"blur"},d=wysihtml.browser.supportsEvent("focusin")?["focusin","focusout","change"]:["focus","blur","change"];b.on("beforeload",function(){wysihtml.dom.observe(a,d,function(a){var d=c[a.type]||a.type;b.fire(d).fire(d+":textarea")}),wysihtml.dom.observe(a,["paste","drop"],function(){setTimeout(function(){b.fire("paste").fire("paste:textarea")},0)})})}}),function(a){var b;a.Editor=a.lang.Dispatcher.extend({defaults:{name:b,style:!0,autoLink:!0,handleTabKey:!0,parserRules:{tags:{br:{},span:{},div:{},p:{},b:{},i:{},u:{}},classes:{}},pasteParserRulesets:null,parser:a.dom.parse,useLineBreaks:!0,doubleLineBreakEscapesBlock:!0,stylesheets:[],placeholderText:b,supportTouchDevices:!0,cleanUp:!0,contentEditableMode:!1,classNames:{composer:"wysihtml-editor",body:"wysihtml-supported",sandbox:"wysihtml-sandbox",placeholder:"wysihtml-placeholder",uneditableContainer:"wysihtml-uneditable-container"},copyedFromMarking:''},constructor:function(b,c){if(this.editableElement="string"==typeof b?document.getElementById(b):b,this.config=a.lang.object({}).merge(this.defaults).merge(c).get(),this._isCompatible=a.browser.supported(),c&&c.classNames&&a.lang.object(this.config.classNames).merge(c.classNames),"textarea"!=this.editableElement.nodeName.toLowerCase()&&(this.config.contentEditableMode=!0,this.config.noTextarea=!0),this.config.noTextarea||(this.textarea=new a.views.Textarea(this,this.editableElement,this.config),this.currentView=this.textarea),!this._isCompatible||!this.config.supportTouchDevices&&a.browser.isTouchDevice()){var d=this;return void setTimeout(function(){d.fire("beforeload").fire("load")},0)}a.dom.addClass(document.body,this.config.classNames.body),this.composer=new a.views.Composer(this,this.editableElement,this.config),this.currentView=this.composer,"function"==typeof this.config.parser&&this._initParser(),this.on("beforeload",this.handleBeforeLoad)},handleBeforeLoad:function(){this.config.noTextarea?this.sourceView=new a.views.SourceView(this,this.composer):this.synchronizer=new a.views.Synchronizer(this,this.textarea,this.composer),this.runEditorExtenders()},runEditorExtenders:function(){a.editorExtenders.forEach(function(a){a(this)}.bind(this))},isCompatible:function(){return this._isCompatible},clear:function(){return this.currentView.clear(),this},getValue:function(a,b){return this.currentView.getValue(a,b)},setValue:function(a,b){return this.fire("unset_placeholder"),a?(this.currentView.setValue(a,b),this):this.clear()},cleanUp:function(a){this.currentView.cleanUp(a)},focus:function(a){return this.currentView.focus(a),this},disable:function(){return this.currentView.disable(),this},enable:function(){return this.currentView.enable(),this},isEmpty:function(){return this.currentView.isEmpty()},hasPlaceholderSet:function(){return this.currentView.hasPlaceholderSet()},destroy:function(){this.composer&&this.composer.sandbox&&this.composer.sandbox.destroy(),this.fire("destroy:composer"),this.off()},parse:function(b,c,d){var e=this.config.contentEditableMode?document:this.composer?this.composer.sandbox.getDocument():null,f=this.config.parser(b,{rules:d||this.config.parserRules,cleanUp:this.config.cleanUp,context:e,uneditableClass:this.config.classNames.uneditableContainer,clearInternals:c});return"object"==typeof b&&a.quirks.redraw(b),f},_initParser:function(){var b;a.browser.supportsModernPaste()?this.on("paste:composer",function(c){c.preventDefault(),b=a.dom.getPastedHtml(c),b&&this._cleanAndPaste(b)}.bind(this)):this.on("beforepaste:composer",function(b){b.preventDefault();var c=this.composer.getScrollPos();a.dom.getPastedHtmlWithDiv(this.composer,function(a){a&&this._cleanAndPaste(a),this.composer.setScrollPos(c)}.bind(this))}.bind(this))},_cleanAndPaste:function(b){var c=a.quirks.cleanPastedHTML(b,{referenceNode:this.composer.element,rules:this.config.pasteParserRulesets||[{set:this.config.parserRules}],uneditableClass:this.config.classNames.uneditableContainer});this.composer.selection.deleteContents(),this.composer.selection.insertHTML(c)}})}(wysihtml); +c=b.textContent,/^\s*$/.test(c)?a?(d=this.getRangeToNodeBeginning().cloneContents(),e=d.textContent,!/[\u00A0 ][\s\uFEFF]*$/.test(e)):!0:!1):!1},caretIsFirstInSelection:function(b){var c=rangy.createRange(this.doc),e=this.getSelection(),f=this.getRange(),g=d(f.startContainer,f.startOffset);if(g){if(g.nodeType===a.TEXT_NODE){if(!g.parentNode)return!1;if(!this.isCollapsed()||g.parentNode.firstChild!==g&&!a.dom.domNode(g.previousSibling).is.block())return!1;var h=this.win.getComputedStyle(g.parentNode).whiteSpace;return"pre"===h||"pre-wrap"===h?0===f.startOffset:/^\s*$/.test(g.data.substr(0,f.startOffset))}return b&&a.dom.domNode(g).is.lineBreak()?!0:(c.selectNodeContents(this.getRange().commonAncestorContainer),c.collapse(!0),this.isCollapsed()&&(c.startContainer===e.anchorNode||c.endContainer===e.anchorNode)&&c.startOffset===e.anchorOffset)}},caretIsInTheBeginnig:function(b){var c=this.getSelection(),d=c.anchorNode,e=c.anchorOffset;return b&&d?0===e&&(d.nodeName&&d.nodeName===b.toUpperCase()||a.dom.getParentElement(d.parentNode,{query:b},1)):d?0===e&&!this.getPreviousNode(d,!0):void 0},getBeforeSelection:function(b){var c,d,e=this.getSelection(),f=e.isBackwards()?e.focusNode:e.anchorNode,g=e.isBackwards()?e.focusOffset:e.anchorOffset,h=this.createRange();if(f&&3===f.nodeType&&/^\s*$/.test(f.data.slice(0,g))&&(g=0),d=a.dom.getParentElement(f,{query:"._wysihtml-temp-caret-fix"},1),d&&(f=d.parentNode,g=Array.prototype.indexOf.call(f.childNodes,d)),f){if(g>0)return 3===f.nodeType?(h.setStart(f,0),h.setEnd(f,g),{type:"text",range:h,offset:g,node:f}):(h.setStartBefore(f.childNodes[0]),c=f.childNodes[g-1],h.setEndAfter(c),{type:"element",range:h,offset:g,node:c});if(h.setStartAndEnd(f,0),b){var i=this.getPreviousNode(f,!0),j=null;if(i&&(j=1===i.nodeType&&a.dom.hasClass(i,this.unselectableClass)?i:a.dom.domNode(i).lastLeafNode()),j)return{type:"leafnode",range:h,offset:g,node:j}}return{type:"none",range:h,offset:g,node:f}}return null},executeAndRestoreRangy:function(a,b){var c=rangy.saveSelection(this.win);if(c)try{a()}catch(d){setTimeout(function(){throw d},0)}else a();rangy.restoreSelection(c)},executeAndRestore:function(b,c){var d,e,f,h,i,j,k,l,m=this.doc.body,n=c&&m.scrollTop,o=c&&m.scrollLeft,p="_wysihtml-temp-placeholder",q=''+a.INVISIBLE_SPACE+"",r=this.getRange(!0);if(!r)return void b(m,m);r.collapsed||(k=r.cloneRange(),j=k.createContextualFragment(q),k.collapse(!1),k.insertNode(j),k.detach()),i=r.createContextualFragment(q),r.insertNode(i),j&&(d=this.contain.querySelectorAll("."+p),r.setStartBefore(d[0]),r.setEndAfter(d[d.length-1])),this.setSelection(r);try{b(r.startContainer,r.endContainer)}catch(s){setTimeout(function(){throw s},0)}if(d=this.contain.querySelectorAll("."+p),d&&d.length){l=rangy.createRange(this.doc),f=d[0].nextSibling,d.length>1&&(h=d[d.length-1].previousSibling),h&&f?(l.setStartBefore(f),l.setEndAfter(h)):(e=this.doc.createTextNode(a.INVISIBLE_SPACE),g.insert(e).after(d[0]),l.setStartBefore(e),l.setEndAfter(e)),this.setSelection(l);for(var t=d.length;t--;)d[t].parentNode.removeChild(d[t])}else this.contain.focus();c&&(m.scrollTop=n,m.scrollLeft=o);try{d.parentNode.removeChild(d)}catch(u){}},set:function(a,b){var c=rangy.createRange(this.doc);c.setStart(a,b||0),this.setSelection(c)},insertHTML:function(a){var b,c,d=this.getRange(),e=this.doc.createElement("DIV"),f=this.doc.createDocumentFragment();if(d){for(d.deleteContents(),e.innerHTML=a,b=e.lastChild;e.firstChild;)f.appendChild(e.firstChild);for(d.insertNode(f),c=this.contain.lastChild;c&&3===c.nodeType&&c.previousSibling&&/^\s*$/.test(c.data);)c=c.previousSibling;b&&(c&&b===c&&1===b.nodeType&&this.contain.appendChild(this.doc.createElement("br")),this.setAfter(b))}},insertNode:function(a){var b=this.getRange();b&&(b.deleteContents(),b.insertNode(a))},canAppendChild:function(a){var b,c,d=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],e=this.getRange();return b=a||e.startContainer,b&&(c=(b.tagName||b.nodeName).toLowerCase()),-1===d.indexOf(c)},splitElementAtCaret:function(b,c){var d,e,f,g,h,i=this.getSelection();if(i.rangeCount>0){d=i.getRangeAt(0).cloneRange(),d.setEndAfter(b),e=d.extractContents(),h=e.childNodes;for(var j=h.length;j--;)a.dom.domNode(h[j]).is.visible()||e.removeChild(h[j]);b.parentNode.insertBefore(e,b.nextSibling),c?(f=c.firstChild||c,g=c.lastChild||c,b.parentNode.insertBefore(c,b.nextSibling),f&&g&&(d.setStartBefore(f),d.setEndAfter(g),this.setSelection(d))):(d.setStartAfter(b),d.setEndAfter(b)),a.dom.domNode(b).is.visible()||(""===a.dom.getTextContent(b)?b.parentNode.removeChild(b):b.parentNode.replaceChild(this.doc.createTextNode(" "),b))}},surround:function(a){var b,c=this.getOwnRanges(),d=[];if(0==c.length)return d;for(var e=c.length;e--;){b=this.doc.createElement(a.nodeName),d.push(b),a.className&&(b.className=a.className),a.cssStyle&&b.setAttribute("style",a.cssStyle);try{c[e].surroundContents(b),this.selectNode(b)}catch(f){b.appendChild(c[e].extractContents()),c[e].insertNode(b)}}return d},scrollIntoView:function(){var c,d=this.doc,e=5,f=d.documentElement.scrollHeight>d.documentElement.offsetHeight,g=d._wysihtmlScrollIntoViewElement=d._wysihtmlScrollIntoViewElement||function(){var b=d.createElement("span");return b.innerHTML=a.INVISIBLE_SPACE,b}();f&&(this.insertNode(g),c=b(g),g.parentNode.removeChild(g),c>=d.body.scrollTop+d.documentElement.offsetHeight-e&&(d.body.scrollTop=c))},selectLine:function(){var b=rangy.createRange();a.browser.supportsSelectionModify()?this._selectLine_W3C():b.nativeRange&&b.nativeRange.getBoundingClientRect&&this._selectLineUniversal()},includeRangyRangeHelpers:function(){var a=this.getSelection(),b=a.getRangeAt(0),c=function(a){return a&&1===a.nodeType&&a.classList.contains("rangySelectionBoundary")},d=function(a){return 1===a.nodeType?a.childNodes&&a.childNodes.length||0:a.data&&a.data.length||0},e=1===a.anchorNode.nodeType?a.anchorNode.childNodes[a.anchorOffset]:a.anchorNode,f=1===a.focusNode.nodeType?a.focusNode.childNodes[a.focusOffset]:a.focusNode;f&&a.focusOffset===d(f)&&f.nextSibling&&c(f.nextSibling)&&b.setEndAfter(f.nextSibling),e&&0===a.anchorOffset&&e.previousSibling&&c(e.previousSibling)&&b.setStartBefore(e.previousSibling),b.select()},_selectLine_W3C:function(){var a=this.win.getSelection(),b=[a.anchorNode,a.anchorOffset,a.focusNode,a.focusOffset];a.modify("move","left","lineboundary"),a.modify("extend","right","lineboundary"),a.anchorNode===b[0]&&a.anchorOffset===b[1]&&a.focusNode===b[2]&&a.focusOffset===b[3]?this._selectLineUniversal():this.includeRangyRangeHelpers()},toLineBoundary:function(b,c){if(c="undefined"==typeof c?!1:c,a.browser.supportsSelectionModify()){var d=this.win.getSelection();d.modify("extend",b,"lineboundary"),c&&("left"===b?d.collapseToStart():"right"===b&&d.collapseToEnd())}},getRangeRect:function(a){var b,c=(this.doc.createTextNode("i"),this.doc.createTextNode("i"));return a.collapsed?(a.insertNode(c),a.selectNode(c),b=a.nativeRange.getBoundingClientRect(),a.deleteContents()):b=a.nativeRange.getBoundingClientRect(),b},_selectLineUniversal:function(){var b,c,d,e,f,g,h=this.getSelection(),i=h.getRangeAt(0),j=0,k=this,l=function(b){return b&&1===b.nodeType&&("block"===k.win.getComputedStyle(b).display||a.lang.array(["BR","HR"]).contains(b.nodeName))},m=function(a){var b=a;if(b)for(;b&&(1===b.nodeType&&b.classList.contains("rangySelectionBoundary")||3===b.nodeType&&/^\s*$/.test(b.data));)b=b.previousSibling;return b};c=i.cloneRange(),d=i.cloneRange(),i.collapsed&&(3===i.startContainer.nodeType&&i.startOffset0?i.moveEnd("character",1):i.startOffset>0&&(3===i.startContainer.nodeType||1===i.startContainer.nodeType&&!l(m(i.startContainer.childNodes[i.startOffset-1])))&&i.moveStart("character",-1)),i.collapsed||i.insertNode(this.doc.createTextNode(a.INVISIBLE_SPACE)),b=i.nativeRange.getBoundingClientRect();do e=i.moveStart("character",-1),f=i.nativeRange.getBoundingClientRect(),f&&Math.floor(f.top)===Math.floor(b.top)||(i.moveStart("character",1),g=!0),j++;while(0!==e&&!g&&2e3>j);if(j=0,g=!1,b=i.nativeRange.getBoundingClientRect(),i.endContainer!==this.contain||this.contain.lastChild&&this.contain.childNodes[i.endOffset]!==this.contain.lastChild)do e=i.moveEnd("character",1),f=i.nativeRange.getBoundingClientRect(),f&&Math.floor(f.bottom)===Math.floor(b.bottom)||(i.moveEnd("character",-1),i.endContainer&&1===i.endContainer.nodeType&&i.endContainer.childNodes[i.endOffset]&&1===i.endContainer.childNodes[i.endOffset].nodeType&&"BR"===i.endContainer.childNodes[i.endOffset].nodeName&&i.endContainer.childNodes[i.endOffset].previousSibling&&(1===i.endContainer.childNodes[i.endOffset].previousSibling.nodeType?i.setEnd(i.endContainer.childNodes[i.endOffset].previousSibling,i.endContainer.childNodes[i.endOffset].previousSibling.childNodes.length):3===i.endContainer.childNodes[i.endOffset].previousSibling.nodeType&&i.setEnd(i.endContainer.childNodes[i.endOffset].previousSibling,i.endContainer.childNodes[i.endOffset].previousSibling.data.length)),g=!0),j++;while(0!==e&&!g&&2e3>j);i.select(),this.includeRangyRangeHelpers()},getText:function(){var a=this.getSelection();return a?a.toString():""},getNodes:function(a,b){var c=this.getRange();return c?c.getNodes(Array.isArray(a)?a:[a],b):[]},getOwnNodes:function(a,b,c){for(var d=this.getOwnRanges(),e=[],f=0,g=d.length;g>f;f++)d[f]&&(c&&d[f].splitBoundaries(),e=e.concat(d[f].getNodes(Array.isArray(a)?a:[a],b)));return e},fixRangeOverflow:function(a){if(this.contain&&this.contain.firstChild&&a){var b=a.compareNode(this.contain);if(2!==b)1===b&&a.setStartBefore(this.contain.firstChild),0===b&&a.setEndAfter(this.contain.lastChild),3===b&&(a.setStartBefore(this.contain.firstChild),a.setEndAfter(this.contain.lastChild));else if(this._detectInlineRangeProblems(a)){var c=a.endContainer.previousElementSibling;c&&a.setEnd(c,this._endOffsetForNode(c))}}},_endOffsetForNode:function(a){var b=document.createRange();return b.selectNodeContents(a),b.endOffset},_detectInlineRangeProblems:function(a){var b=g.compareDocumentPosition(a.startContainer,a.endContainer);return 0==a.endOffset&&4&b},getRange:function(a){var b=this.getSelection(),c=b&&b.rangeCount&&b.getRangeAt(0);return a!==!0&&this.fixRangeOverflow(c),c},getOwnUneditables:function(){var b=g.query(this.contain,"."+this.unselectableClass),c=g.query(b,"."+this.unselectableClass);return a.lang.array(b).without(c)},getOwnRanges:function(){var a,b=[],c=this.getRange();if(c&&b.push(c),this.unselectableClass&&this.contain&&c){var d,e=this.getOwnUneditables();if(e.length>0)for(var f=0,g=e.length;g>f;f++){a=[];for(var h=0,i=b.length;i>h;h++){if(b[h])switch(b[h].compareNode(e[f])){case 2:break;case 3:d=b[h].cloneRange(),d.setEndBefore(e[f]),a.push(d),d=b[h].cloneRange(),d.setStartAfter(e[f]),a.push(d);break;default:a.push(b[h])}b=a}}}return b},getSelection:function(){return rangy.getSelection(this.win)},setSelection:function(a){var b=rangy.getSelection(this.win);return b.setSingleRange(a),b&&b.anchorNode&&b.focusNode?b:null},selectAll:function(){var b,c=this.createRange(),d=this.composer,f=this,g=e(this.composer.element),h=e(this.composer.element),i=function(){c.setStart(d.element,0),c.setEnd(d.element,d.element.childNodes.length),b=f.setSelection(c)},j=function(){return!b||b.nativeSelection&&b.nativeSelection.type&&("Caret"===b.nativeSelection.type||"None"===b.nativeSelection.type)};a.dom.removeInvisibleSpaces(this.composer.element),i(),this.composer.element.firstChild&&j()&&(this.composer.element.appendChild(g),i(),j()&&(g.parentNode.removeChild(g),this.composer.element.insertBefore(h,this.composer.element.firstChild),i(),j()&&(this.composer.element.appendChild(g),i())))},createRange:function(){return rangy.createRange(this.doc)},isCollapsed:function(){return this.getSelection().isCollapsed},getHtml:function(){return this.getSelection().toHtml()},getPlainText:function(){return this.getSelection().toString()},isEndToEndInNode:function(b){var c=this.getRange(),d=c.commonAncestorContainer,e=c.startContainer,f=c.endContainer;if(d.nodeType===a.TEXT_NODE&&(d=d.parentNode),e.nodeType===a.TEXT_NODE&&!/^\s*$/.test(e.data.substr(c.startOffset)))return!1;if(f.nodeType===a.TEXT_NODE&&!/^\s*$/.test(f.data.substr(c.endOffset)))return!1;for(;e&&e!==d;){if(e.nodeType!==a.TEXT_NODE&&!a.dom.contains(d,e))return!1;if(a.dom.domNode(e).prev({ignoreBlankTexts:!0}))return!1;e=e.parentNode}for(;f&&f!==d;){if(f.nodeType!==a.TEXT_NODE&&!a.dom.contains(d,f))return!1;if(a.dom.domNode(f).next({ignoreBlankTexts:!0}))return!1;f=f.parentNode}return a.lang.array(b).contains(d.nodeName)?d:!1},isInThisEditable:function(){var b=this.getSelection(),c=b.focusNode,d=b.anchorNode;return c&&1!==c.nodeType&&(c=c.parentNode),d&&1!==d.nodeType&&(d=d.parentNode),d&&c&&(a.dom.contains(this.composer.element,c)||this.composer.element===c)&&(a.dom.contains(this.composer.element,d)||this.composer.element===d)},deselect:function(){var a=this.getSelection();a&&a.removeAllRanges()}})}(wysihtml),wysihtml.Commands=Base.extend({constructor:function(a){this.editor=a,this.composer=a.composer,this.doc=this.composer.doc},support:function(a){return wysihtml.browser.supportsCommand(this.doc,a)},exec:function(a,b){var c=wysihtml.commands[a],d=wysihtml.lang.array(arguments).get(),e=c&&c.exec,f=null;if(this.composer.hasPlaceholderSet()&&!wysihtml.lang.array(["styleWithCSS","enableObjectResizing","enableInlineTableEditing"]).contains(a)&&(this.composer.element.innerHTML="",this.composer.selection.selectNode(this.composer.element)),this.editor.fire("beforecommand:composer"),e)d.unshift(this.composer),f=e.apply(c,d);else try{f=this.doc.execCommand(a,!1,b)}catch(g){}return this.editor.fire("aftercommand:composer"),f},remove:function(a,b){var c=wysihtml.commands[a],d=wysihtml.lang.array(arguments).get(),e=c&&c.remove;return e?(d.unshift(this.composer),e.apply(c,d)):void 0},state:function(a,b){var c=wysihtml.commands[a],d=wysihtml.lang.array(arguments).get(),e=c&&c.state;if(e)return d.unshift(this.composer),e.apply(c,d);try{return this.doc.queryCommandState(a)}catch(f){return!1}},stateValue:function(a){var b=wysihtml.commands[a],c=wysihtml.lang.array(arguments).get(),d=b&&b.stateValue;return d?(c.unshift(this.composer),d.apply(b,c)):!1}}),function(a){function b(b){var d="object"==typeof b?b:{href:b};return a.lang.object({}).merge(c).merge({attribute:d}).get()}var c={nodeName:"A",toggle:!1};a.commands.createLink={exec:function(c,d,e){var f=b(e);if(c.selection.isCollapsed()&&!this.state(c,d)){var g=c.doc.createTextNode(f.attribute.href);c.selection.insertNode(g),c.selection.selectNode(g)}a.commands.formatInline.exec(c,d,f)},state:function(b,d){return a.commands.formatInline.state(b,d,c)}}}(wysihtml),function(a){function b(a){return{nodeName:a.nodeName||null,className:a.classRegExp?null:a.className||null,classRegExp:a.classRegExp||null,styleProperty:a.styleProperty||null}}function c(a,b){return 3===a.nodeType?a:a.childNodes[b]||a}function d(a){return a&&1===a.nodeType&&"BR"===a.nodeName}function e(a,b){return a&&1===a.nodeType&&"block"===b.win.getComputedStyle(a).display}function f(a){return a&&1===a.nodeType&&a.classList.contains("rangySelectionBoundary")}function g(a,b){return d(a)||e(a,b)}function h(b,c){a.dom.removeInvisibleSpaces(b.element);for(var d,e=b.element,f=e.querySelectorAll(E),g=b.config.classNames.uneditableContainer+[""].concat(E.split(",")).join(", "+b.config.classNames.uneditableContainer+" "),h=e.querySelectorAll(g),i=a.lang.array(f).without(h),j=i.length;j--;)""!==i[j].innerHTML.replace(/[\uFEFF]/g,"")||0!==c.length&&i[j]===c[c.length-1]||(d=a.lang.array(c).indexOf(i[j]),d>-1&&c.splice(d,1),i[j].parentNode.removeChild(i[j]));return c}function i(a){return a.config.useLineBreaks?"DIV":"P"}function j(a,b,c){for(var d=a,e=null;d&&b&&d!==b;)1===d.nodeType&&d.matches(c?E:D)&&(e=d),d=d.parentNode;return e}function k(a,b){for(var c,d,e,f=a,g=null;f&&b&&f!==b;)1===f.nodeType&&f.matches(F)&&(d=f,null===g?(g=f.cloneNode(!1),c=g):(e=f.cloneNode(!1),e.appendChild(g),g=e)),f=f.parentNode;return{parent:d,outerNode:g,innerNode:c}}function l(b,c,d){return b||(b=d.doc.createElement(c.nodeName||i(d)),b.appendChild(d.doc.createTextNode(a.INVISIBLE_SPACE))),c.nodeName&&b.nodeName!==c.nodeName&&(b=C.renameElement(b,c.nodeName)),c.classRegExp&&(b.className=b.className.replace(c.classRegExp,"")),c.className&&b.classList.add(c.className),c.styleProperty&&"undefined"!=typeof c.styleValue&&(b.style[a.browser.fixStyleKey(c.styleProperty)]=c.styleValue),b}function m(b,c,d){var e,f=b.previousSibling,g=b.nextSibling,h=!1;c.styleProperty&&(b.style[a.browser.fixStyleKey(c.styleProperty)]=""),c.className&&b.classList.remove(c.className),c.classRegExp&&(b.className=b.className.replace(c.classRegExp,"")),null!==b.getAttribute("class")&&""===b.getAttribute("class").trim()&&b.removeAttribute("class"),c.nodeName&&b.nodeName.toLowerCase()===c.nodeName.toLowerCase()&&(e=b.getAttribute("style"),e&&""!==e.trim()?b=C.renameElement(b,i(d)):(C.unwrap(b),h=!0)),null!==b.getAttribute("style")&&""===b.getAttribute("style").trim()&&b.removeAttribute("style"),h&&u(f,g,d)}function n(b){for(var c,d,e=b.querySelectorAll(E)||[],f=e.length;f--;)c=a.dom.domNode(e[f]).next({nodeTypes:[1,3],ignoreBlankTexts:!0}),d=a.dom.domNode(e[f]).prev({nodeTypes:[1,3],ignoreBlankTexts:!0}),c&&1!==c.nodeType&&"BR"!==c.nodeName&&""!==(e[f].innerHTML||e[f].nodeValue||"").trim()&&e[f].parentNode.insertBefore(e[f].ownerDocument.createElement("BR"),c),c&&1!==c.nodeType&&"BR"!==c.nodeName&&""!==(e[f].innerHTML||e[f].nodeValue||"").trim()&&e[f].parentNode.insertBefore(e[f].ownerDocument.createElement("BR"),c),a.dom.unwrap(e[f])}function o(a,b){var c,d=a.startContainer,e=a.endContainer;return d&&1===d.nodeType&&d===e?void(d.firstChild===d.lastChild&&1===a.endOffset&&d!==b.element&&"LI"!==d.nodeName&&"TD"!==d.nodeName&&(a.setStartBefore(d),a.setEndAfter(e))):d&&1===d.nodeType&&3===e.nodeType?void(d.firstChild===e&&a.endOffset===e.data.length&&d!==b.element&&"LI"!==d.nodeName&&"TD"!==d.nodeName&&a.setEndAfter(d)):e&&1===e.nodeType&&3===d.nodeType?void(e.firstChild===d&&0===a.startOffset&&e!==b.element&&"LI"!==e.nodeName&&"TD"!==e.nodeName&&a.setStartBefore(e)):d&&3===d.nodeType&&d===e&&1===d.parentNode.childNodes.length?void(a.endOffset==e.data.length&&0===a.startOffset&&(c=d.parentNode,c!==b.element&&"LI"!==c.nodeName&&"TD"!==c.nodeName&&(a.setStartBefore(c),a.setEndAfter(c)))):void 0}function p(b){for(var c,d,e,f,g,h,i=[],j=0,k=b.length;k>j;j++)if(1===b[j].startContainer.nodeType&&b[j].startContainer.matches("ul, ol")&&b[j].setStart(b[j].startContainer.childNodes[b[j].startOffset],0),1===b[j].endContainer.nodeType&&b[j].endContainer.matches("ul, ol")&&(h=b[j].endContainer.childNodes[Math.max(b[j].endOffset-1,0)],h.childNodes&&b[j].setEnd(h,h.childNodes.length)),c=b[j].getNodes([1],function(a){return"LI"===a.nodeName}),c.length>0){for(d=0,e=c.length;e>d;d++)g=b[j].compareNode(c[d]),(g===b[j].NODE_AFTER||g===b[j].NODE_INSIDE)&&(f=b[j].cloneRange(),h=a.dom.domNode(c[d]).prev({nodeTypes:[1]}),h?f.setEnd(h,h.childNodes.length):c[d].closest("ul, ol")?f.setEndBefore(c[d].closest("ul, ol")):f.setEndBefore(c[d]),i.push(f),b[j].setStart(c[d],0)),(g===b[j].NODE_BEFORE||g===b[j].NODE_INSIDE)&&(f=b[j].cloneRange(),f.setEnd(c[d],c[d].childNodes.length),i.push(f),h=a.dom.domNode(c[d]).next({nodeTypes:[1]}),h?b[j].setStart(h,0):c[d].closest("ul, ol")?b[j].setStartAfter(c[d].closest("ul, ol")):b[j].setStartAfter(c[d]));i.push(b[j])}else i.push(b[j]);return i}function q(b,c,d){var e=b?a.lang.object(b).clone(!0):null;return e&&(e.nodeName=e.nodeName||c||i(d)),e}function r(b,c,d,e){var f,h,i,l,m,n=c.startContainer,e=e||j(n,d.element,!0);if(e)h=b.firstChild,i=b.lastChild,d.selection.splitElementAtCaret(e,b),m=a.dom.domNode(i).next({nodeTypes:[1,3],ignoreBlankTexts:!0}),l=a.dom.domNode(h).prev({nodeTypes:[1,3],ignoreBlankTexts:!0}),h&&!g(h,d)&&l&&!g(l,d)&&h.parentNode.insertBefore(d.doc.createElement("br"),h),i&&!g(i,d)&&m&&!g(m,d)&&m.parentNode.insertBefore(d.doc.createElement("br"),m);else if(f=k(n,d.element),f.outerNode&&f.innerNode&&f.parent){if(1===b.childNodes.length){for(;b.firstChild.firstChild;)f.innerNode.appendChild(b.firstChild.firstChild);b.firstChild.appendChild(f.outerNode)}d.selection.splitElementAtCaret(f.parent,b)}else{var o=b.firstChild,p=b.lastChild;c.insertNode(b),c.setStartBefore(o),c.setEndAfter(p)}}function s(b,d,e){for(var f,h,i=b.cloneRange(),j=c(i.startContainer,i.startOffset).previousSibling,k=c(i.endContainer,i.endOffset).nextSibling,l=i.extractContents(),m=e.doc.createDocumentFragment(),o=!0;l.firstChild;){if(1===l.firstChild.nodeType&&l.firstChild.matches(E)){n(l.firstChild),f=a.dom.unwrap(l.firstChild),f.length>0&&(m.lastChild&&(1!==m.lastChild.nodeType||!g(m.lastChild,e))||!m.lastChild&&j&&(1!==j.nodeType||g(j,e)))&&m.appendChild(e.doc.createElement("BR"));for(var p=0,q=f.length;q>p;p++)m.appendChild(f[p]);f.length>0&&(1===m.lastChild.nodeType&&g(m.lastChild,e)||(k||m.lastChild!==l.lastChild)&&m.appendChild(e.doc.createElement("BR")))}else m.appendChild(l.firstChild);o=!1}return h=a.lang.array(m.childNodes).get(),r(m,i,e),h}function t(b,c,e){var f=b&&a.dom.domNode(b).prev({nodeTypes:[1,3],ignoreBlankTexts:!0});d(c)&&c.parentNode.removeChild(c),!d(b)||f&&1===f.nodeType&&"block"===e.win.getComputedStyle(f).display||b.parentNode.removeChild(b)}function u(a,b,c){var e;a&&f(a)&&(a=a.previousSibling),b&&f(b)&&(b=b.nextSibling),e=a&&a.previousSibling,a&&(1!==a.nodeType||"block"!==c.win.getComputedStyle(a).display&&!d(a))&&a.parentNode&&a.parentNode.insertBefore(c.doc.createElement("br"),a.nextSibling),b&&(1!==b.nodeType||"block"!==c.win.getComputedStyle(b).display)&&b.parentNode&&b.parentNode.insertBefore(c.doc.createElement("br"),b)}function v(d,e,f,g){var h,i,k=e?b(e):null,m=d.cloneRange(),o=m.startContainer,p=c(m.startContainer,m.startOffset),s=c(m.endContainer,m.endOffset),u=m.startContainer!==p||3!==p.nodeType||G(p,m.startOffset)?a.dom.domNode(p).prev({nodeTypes:[1,3],ignoreBlankTexts:!0}):p,v=1===m.endContainer.nodeType&&m.endContainer.childNodes[m.endOffset]===s&&(1===s.nodeType||!H(s,m.endOffset)&&!a.dom.domNode(s).is.rangyBookmark())||m.endContainer===s&&3===s.nodeType&&!H(s,m.endOffset)?s:a.dom.domNode(s).next({nodeTypes:[1,3],ignoreBlankTexts:!0}),w=m.extractContents(),x=g.doc.createDocumentFragment(),y=k?a.dom.getParentElement(o,k,null,g.element):null,z=!f||!e||"BLOCKQUOTE"===e.nodeName&&"BLOCKQUOTE"===f,A=y||j(o,g.element,z);if(a.dom.domNode(v).is.rangyBookmark()&&(s=v,v=s.nextSibling),I(w),e&&"BLOCKQUOTE"===e.nodeName){var B=l(null,e,g);B.appendChild(w),x.appendChild(B),i=[B]}else{if(w.firstChild)for(;w.firstChild;)if(1==w.firstChild.nodeType&&w.firstChild.matches(E))l(w.firstChild,e,g),w.firstChild.matches(D)&&n(w.firstChild),x.appendChild(w.firstChild);else{for(h=l(null,q(e,f,g),g);w.firstChild&&(1!==w.firstChild.nodeType||!w.firstChild.matches(E));)1==w.firstChild.nodeType&&h.matches(D)&&n(w.firstChild),h.appendChild(w.firstChild);x.appendChild(h)}else x.appendChild(l(null,e,g));i=a.lang.array(x.childNodes).get()}return r(x,m,g,A),t(u,v,g),i.length>0&&("undefined"==typeof i[i.length-1].lastChild||a.dom.domNode(i[i.length-1].lastChild).is.rangyBookmark())&&i[i.length-1].appendChild(g.doc.createElement("br")),i}function w(b,c){var d=a.dom.getParentElement(b,{query:E},null,c.element);return d?d.nodeName:null}function x(b,c){var d,e=a.dom.getParentElement(b.selection.getOwnRanges()[0].startContainer,{query:D+", "+(c?c.toLowerCase():"div")},null,b.element);e?(d=b.selection.createRange(),d.selectNode(e),b.selection.setSelection(d)):b.isEmpty()||b.selection.selectLine()}function y(a,b){var c=b.selection.createRange(),d=a[a.length-1],e=1===d.nodeType&&d.childNodes?0|d.childNodes.length:d.length||0;c.setStart(a[0],0),c.setEnd(d,e),c.select()}function z(a,b,c){var d,e=b.selection.getOwnRanges(),f=[];e=p(e);for(var g=e.length;g--;)o(e[g],b),d=w(e[g].startContainer,b),f="remove"===a?f.concat(s(e[g],d,b)):f.concat(v(e[g],c,d,b));return f}function A(a){return"string"==typeof a&&(a={nodeName:a.toUpperCase()}),a}function B(b){var c;return b.selection.isCollapsed()&&(c=b.selection.getNodesNearCaret(),c&&c.caretNode&&(a.dom.domNode(c.caretNode).is.lineBreak()||3===c.caretNode.nodeType&&0===c.textOffset&&(!c.prevNode||a.dom.domNode(c.prevNode).is.lineBreak())||1===c.caretNode.nodeType&&c.caretNode.classList.contains("rangySelectionBoundary")&&(!c.prevNode||a.dom.domNode(c.prevNode).is.lineBreak()||a.dom.domNode(c.prevNode).is.block())&&(!c.nextNode||a.dom.domNode(c.nextNode).is.lineBreak()||a.dom.domNode(c.nextNode).is.block())))?!0:!1}var C=a.dom,D="h1, h2, h3, h4, h5, h6, p, pre",E="h1, h2, h3, h4, h5, h6, p, pre, div, blockquote",F="b, big, i, small, tt, abbr, acronym, cite, code, dfn, em, kbd, strong, samp, var, a, bdo, br, q, span, sub, sup, button, label, textarea, input, select, u",G=function(a,b){var c=a.data?a.data.slice(0,b):"";return/^\s*$/.test(c)},H=function(a,b){var c=a.data?a.data.slice(b):"";return/^\s*$/.test(c)},I=function(a){if(a){for(;a.firstChild&&3===a.firstChild.nodeType&&/^\s*$/.test(a.firstChild.data)&&a.lastChild!==a.firstChild;)a.removeChild(a.firstChild);for(;a.lastChild&&3===a.lastChild.nodeType&&/^\s*$/.test(a.lastChild.data)&&a.lastChild!==a.firstChild;)a.removeChild(a.lastChild);a.firstChild&&1===a.firstChild.nodeType&&"BR"===a.firstChild.nodeName&&a.lastChild!==a.firstChild&&a.removeChild(a.firstChild),a.lastChild&&1===a.lastChild.nodeType&&"BR"===a.lastChild.nodeName&&a.lastChild!==a.firstChild&&a.removeChild(a.lastChild)}};a.commands.formatBlock={exec:function(a,b,c){c=A(c);var d,e,f=[];if(c&&c.toggle&&(e=this.state(a,b,c)),e){d=rangy.saveSelection(a.win);for(var g=0,i=e.length;i>g;g++)m(e[g],c,a)}else a.selection.isCollapsed()&&(d=rangy.saveSelection(a.win),B(a)?a.selection.selectLine():x(a,c&&c.nodeName?c.nodeName.toUpperCase():void 0)),f=c?z("apply",a,c):z("remove",a);f=h(a,f),d?rangy.restoreSelection(d):y(f,a)},remove:function(a,b,c){c=A(c);var d,e;a.selection.isCollapsed()&&(e=rangy.saveSelection(a.win),x(a,c&&c.nodeName?c.nodeName.toUpperCase():void 0)),d=z("remove",a),d=h(a,d),e?rangy.restoreSelection(e):y(d,a)},state:function(b,c,d){d=A(d);for(var e,f=b.selection.filterElements(function(b){return a.dom.domNode(b).test(d||{query:E})}.bind(this)),g=b.selection.getSelectedOwnNodes(),h=0,i=g.length;i>h;h++)e=C.getParentElement(g[h],d||{query:E},null,b.element),e&&-1===f.indexOf(e)&&f.push(e);return 0===f.length?!1:f}}}(wysihtml),function(a){function b(a){return/^\s*$/.test(a.className)}function c(a){return!a.getAttribute("style")||/^\s*$/.test(a.getAttribute("style"))}function d(b){var c=a.dom.getAttributes(b);return a.lang.object(c).isEmpty()}function e(b,c){var d,e,f,g;return 1!==b.nodeType||1!==c.nodeType?!1:b.nodeName!==c.nodeName?!1:(d=b.className.trim().replace(/\s+/g," ").split(" "),e=c.className.trim().replace(/\s+/g," ").split(" "),a.lang.array(d).without(e).length>0?!1:(f=a.dom.getAttributes(b),g=a.dom.getAttributes(c),f.length===g.length&&a.lang.object(a.lang.object(f).difference(g)).isEmpty()?!0:!1))}function f(b,c){var d=c&&c.nodeName||F,e=b.ownerDocument.createElement(d);if(c.classRegExp&&(e.className=e.className.replace(c.classRegExp,"")),c.className&&e.classList.add(c.className),c.styleProperty&&"undefined"!=typeof c.styleValue&&(e.style[a.browser.fixStyleKey(c.styleProperty)]=c.styleValue),c.attribute)if("object"==typeof c.attribute)for(var f in c.attribute)c.attribute.hasOwnProperty(f)&&e.setAttribute(f,c.attribute[f]);else"undefined"!=typeof c.attributeValue&&e.setAttribute(c.attribute,c.attributeValue);return e}function g(a,b){for(var c in a)if(a.hasOwnProperty(c)&&(void 0===typeof b[c]||b[c]!==a[c]))return!1;return!0}function h(b,c,d){var e,f=a.dom.getAttributes(b),h=g(c,f);a.lang.object(f).difference(c);if(h&&d!==!1)for(e in c)c.hasOwnProperty(e)&&b.removeAttribute(e);else for(e in c)c.hasOwnProperty(e)&&b.setAttribute(e,c[e])}function i(e,f){var g,i,j;f.className&&(f.toggle!==!1&&e.classList.contains(f.className)?e.classList.remove(f.className):(f.classRegExp&&(e.className=e.className.replace(f.classRegExp,"")),e.classList.add(f.className)),b(e)&&e.removeAttribute("class")),f.styleProperty&&(f.toggle!==!1&&e.style[a.browser.fixStyleKey(f.styleProperty)].trim().replace(/, /g,",")===f.styleValue?e.style[a.browser.fixStyleKey(f.styleProperty)]="":e.style[a.browser.fixStyleKey(f.styleProperty)]=f.styleValue),c(e)&&e.removeAttribute("style"),f.attribute&&("object"==typeof f.attribute?g=f.attribute:(g={},g[f.attribute]=f.attributeValue||""),h(e,g,f.toggle)),i=f.nodeName?H[f.nodeName.toLowerCase()]||f.nodeName.toLowerCase():null,j=i?a.dom.domNode(e).test({query:i}):!1,(!f.nodeName||f.nodeName===F||j)&&(f.toggle!==!1&&j||!f.nodeName&&e.nodeName===F)&&b(e)&&c(e)&&d(e)&&a.dom.unwrap(e)}function j(b,c){var d=[];return b.isCollapsed()||(d=d.concat(b.getOwnNodes([3],function(b){return!a.dom.domNode(b).is.emptyTextNode()},c))),d}function k(a,b,c,d){var e=a,f=d?b:l(b);do{if(1===e.nodeType&&m(e,f))return e;e=e.parentNode}while(e&&e!==c);return null}function l(a){return{nodeName:a.nodeName||null,className:a.classRegExp?null:a.className||null,classRegExp:a.classRegExp||null,styleProperty:a.styleProperty||null}}function m(b,c){var d;if(c.nodeName){var e=H[c.nodeName.toLowerCase()]||c.nodeName.toLowerCase();return a.dom.domNode(b).test({query:e})}return d=a.lang.object(c).clone(),d.query=G,a.dom.domNode(b).test(d)}function n(b,c){var d=document.documentElement||document.body,e=d.scrollTop,f=d.scrollLeft;rangy.getSelection(b.win);rangy.getSelection(b.win).removeAllRanges();try{rangy.getSelection(b.win).addRange(c)}catch(g){}b.doc.activeElement&&a.dom.contains(b.element,b.doc.activeElement)||(b.element.focus(),d.scrollTop=e,d.scrollLeft=f,rangy.getSelection(b.win).addRange(c))}function o(a,b){var c=rangy.createRange(b.doc),d=a[a.length-1];a[0]&&d&&(c.setStart(a[0],0),c.setEnd(d,d.length),n(b,c))}function p(a,b,c,d){var e=rangy.createRange(a.doc);b&&(e.setStart(b,c),e.setEnd(b,"undefined"!=typeof d?d:c),n(a,e))}function q(a,b,c){var d,e,f,g=j(a.selection),h=[],i=!1;if(a.selection.isInThisEditable()){if(0===g.length&&a.selection.isCollapsed()){if(f=a.selection.getSelection().anchorNode,!f)return{nodes:[],partial:!1};3===f.nodeType&&(g=[f])}g.length||(e=a.selection.getOwnRanges()[0],e&&(g=[e.endContainer]));for(var l=0,m=g.length;m>l;l++)d=k(g[l],b,a.element,c),d?h.push(d):i=!0}return{nodes:h,partial:i}}function r(a){var b,c,d,e;return a&&(b=a.anchorNode,c=a.anchorOffset,b&&3===b.nodeType&&c>0&&c0&&/\w/.test(c.data[g-1]);)g--;for(;h0&&o(b,a),u(q(a,c).nodes),b.length>0&&o(b,a)}function w(a,b,c,d){p(a,b,c),u(q(a,d).nodes),p(a,b,c)}function x(a,b){var c=f(a,b);a.parentNode.insertBefore(c,a),c.appendChild(a)}function y(b,c,d){var e,f=c.element,g=k(b,d,f);g&&(e=g.cloneNode(!1),a.dom.domNode(b).escapeParent(g,e),i(e,d))}function z(b,c,d){var e=c.element,f=k(b,d,e);f&&a.dom.domNode(b).escapeParent(f)}function A(a,b,c){var d=f(a.endContainer,c);a.surroundContents(d),b.selection.selectNode(d); +}function B(b,c,d,e){var f,g,h,j,l=q(b,e,!0),m=b.selection.getSelection();if(c.length){if(l.partial||e.toggle===!1)for(j=c.length;j--;)k(c[j],e,b.element)&&y(c[j],b,e),k(c[j],e,b.element)||x(c[j],e);else for(j=c.length;j--;)y(c[j],b,e);v(b,c,e)}else if(e.toggle!==!1)if(r(m))f=s(m),g=f.textNode,y(f.textNode,b,e),w(b,f.textNode,f.wordOffset,e);else{g=b.doc.createTextNode(a.INVISIBLE_SPACE),h=d.nodes[0].cloneNode(!1),h.appendChild(g),b.selection.splitElementAtCaret(d.nodes[0],h),i(h,e),v(b,[g],e);var n=b.selection.getSelection();if(n.anchorNode&&n.focusNode)try{n.collapseToEnd()}catch(o){}}else for(j=d.nodes.length;j--;)i(d.nodes[j],e)}function C(b,c,d,e){var f,g,h,i=b.selection.getSelection();if(c.length){for(h=c.length;h--;)z(c[h],b,e);v(b,c,e)}else{for(f=i.anchorNode,g=i.anchorOffset,h=d.nodes.length;h--;)a.dom.unwrap(d.nodes[h]);w(b,f,g,e)}}function D(a,b,c){var d,e,f=a.selection.getSelection();if(b.length){for(e=b.length;e--;)x(b[e],c);v(a,b,c)}else if(r(f))d=s(f),x(d.textNode,c),w(a,d.textNode,d.wordOffset,c);else{var g=a.selection.getOwnRanges()[0];g&&A(g,a,c)}}function E(a){return a="string"==typeof a?{nodeName:a}:a,a.nodeName&&(a.nodeName=a.nodeName.toUpperCase()),a}var F="SPAN",G="b, big, i, small, tt, abbr, acronym, cite, code, dfn, em, kbd, strong, samp, var, a, bdo, br, q, span, sub, sup, button, label, textarea, input, select, u",H={b:"b, strong",strong:"b, strong",em:"em, i",i:"em, i"};a.commands.formatInline={exec:function(a,b,c){c=E(c),a.element.normalize();var d=j(a.selection,!0),e=q(a,c);e.nodes.length>0?B(a,d,e,c):D(a,d,c),a.element.normalize()},remove:function(a,b,c){c=E(c),a.element.normalize();var d=j(a.selection,!0),e=q(a,c);e.nodes.length>0&&C(a,d,e,c),a.element.normalize()},state:function(a,b,c){c=E(c);var d=q(a,c,!0).nodes;return 0===d.length?!1:d}}}(wysihtml),function(a){a.commands.indentList={exec:function(a,b,c){var d=a.selection.getSelectionParentsByTag("LI");return d?this.tryToPushLiLevel(d,a.selection):!1},state:function(a,b){return!1},tryToPushLiLevel:function(b,c){var d,e,f,g,h,i=!1;return c.executeAndRestoreRangy(function(){for(var c=b.length;c--;)g=b[c],d="OL"===g.parentNode.nodeName?"OL":"UL",e=g.ownerDocument.createElement(d),f=a.dom.domNode(g).prev({nodeTypes:[a.ELEMENT_NODE]}),h=f?f.querySelector("ul, ol"):null,f&&(h?h.appendChild(g):(e.appendChild(g),f.appendChild(e)),i=!0)}),i}}}(wysihtml),function(a){a.commands.insertHTML={exec:function(a,b,c){a.selection.insertHTML(c)},state:function(){return!1}}}(wysihtml),function(a){var b="
"+(a.browser.needsSpaceAfterLineBreak()?" ":"");a.commands.insertLineBreak={exec:function(a,c){a.selection.insertHTML(b)},state:function(){return!1}}}(wysihtml),wysihtml.commands.insertList=function(a){var b=function(a,b){if(a&&a.nodeName){"string"==typeof b&&(b=[b]);for(var c=b.length;c--;)if(a.nodeName===b[c])return!0}return!1},c=function(c,d,e){var f={el:null,other:!1};if(c){var g=a.dom.getParentElement(c,{query:"li"},!1,e.element),h="UL"===d?"OL":"UL";b(c,d)?f.el=c:b(c,h)?f={el:c,other:!0}:g&&(b(g.parentNode,d)?f.el=g.parentNode:b(g.parentNode,h)&&(f={el:g.parentNode,other:!0}))}return f.el&&!e.element.contains(f.el)&&(f.el=null),f},d=function(b,c,d){var e,g,h="UL"===c?"OL":"UL";d.selection.executeAndRestoreRangy(function(){if(e=f(h,d),e.length)for(var i=e.length;i--;)a.dom.renameElement(e[i],c.toLowerCase());else{g=f(["OL","UL"],d);for(var j=g.length;j--;)a.dom.resolveList(g[j],d.config.useLineBreaks);0===g.length&&a.dom.resolveList(b,d.config.useLineBreaks)}})},e=function(b,c,d){var e="UL"===c?"OL":"UL";d.selection.executeAndRestoreRangy(function(){for(var g=[b].concat(f(e,d)),h=g.length;h--;)a.dom.renameElement(g[h],c.toLowerCase())})},f=function(a,c){for(var d=c.selection.getOwnRanges(),e=[],f=d.length;f--;)e=e.concat(d[f].getNodes([1],function(c){return b(c,a)}));return e},g=function(b,c){var d,e,f=rangy.saveSelection(c.win),g="_wysihtml-temp-"+(new Date).getTime();c.commands.exec("formatBlock",{nodeName:"div",className:g});var h=c.element.querySelector("."+g);h.innerHTML=h.innerHTML.replace(a.INVISIBLE_SPACE_REG_EXP,""),h&&(d=/^(\s|(
))+$/i.test(h.innerHTML),e=a.dom.convertToList(h,b.toLowerCase(),c.parent.config.classNames.uneditableContainer),f&&rangy.restoreSelection(f),d&&c.selection.selectNode(e.querySelector("li"),!0))};return{exec:function(b,f,h){var i,j,k=b.doc,l="OL"===h?"insertOrderedList":"insertUnorderedList",m=b.selection.getSelection(),n=1===m.anchorNode.nodeType&&m.anchorNode.firstChild?m.anchorNode.childNodes[m.anchorOffset]:m.anchorNode,o=1===m.focusNode.nodeType&&m.focusNode.firstChild?m.focusNode.childNodes[m.focusOffset]||m.focusNode.lastChild:m.focusNode;m.isBackwards()&&(n=[o,o=n][0]),a.dom.domNode(o).is.emptyTextNode(!0)&&o&&(o=a.dom.domNode(o).prev({nodeTypes:[1,3],ignoreBlankTexts:!0})),a.dom.domNode(n).is.emptyTextNode(!0)&&n&&(n=a.dom.domNode(n).next({nodeTypes:[1,3],ignoreBlankTexts:!0})),i=n&&o?n===o?n:a.dom.domNode(n).commonAncestor(o,b.element):b.selection.getSelectedNode(),j=c(i,h,b),j.el?j.other?e(j.el,h,b):d(j.el,h,b):b.commands.support(l)?k.execCommand(l,!1,null):g(h,b)},state:function(a,b,d){var e=a.selection.getSelectedNode(),f=c(e,d,a);return f.el&&!f.other?f.el:!1}}}(wysihtml),function(a){a.commands.outdentList={exec:function(a,b,c){var d=a.selection.getSelectionParentsByTag("LI");return d?this.tryToPullLiLevel(d,a):!1},state:function(a,b){return!1},tryToPullLiLevel:function(b,c){var d,e,f,g,h,i=!1,j=this;return c.selection.executeAndRestoreRangy(function(){for(var k=b.length;k--;)if(g=b[k],g.parentNode&&(d=g.parentNode,"OL"===d.tagName||"UL"===d.tagName)){if(i=!0,e=a.dom.getParentElement(d.parentNode,{query:"ol, ul"},!1,c.element),f=a.dom.getParentElement(d.parentNode,{query:"li"},!1,c.element),e&&f)g.nextSibling&&(h=j.getAfterList(d,g),g.appendChild(h)),e.insertBefore(g,f.nextSibling);else{g.nextSibling&&(h=j.getAfterList(d,g),g.appendChild(h));for(var l=g.childNodes.length;l--;)d.parentNode.insertBefore(g.childNodes[l],d.nextSibling);d.parentNode.insertBefore(document.createElement("br"),d.nextSibling),g.parentNode.removeChild(g)}0===d.childNodes.length&&d.parentNode.removeChild(d)}}),i},getAfterList:function(a,b){for(var c=a.nodeName,d=document.createElement(c);b.nextSibling;)d.appendChild(b.nextSibling);return d}}}(wysihtml),function(a){a.commands.redo={exec:function(a){return a.undoManager.redo()},state:function(a){return!1}}}(wysihtml),function(a){var b={nodeName:"A"};a.commands.removeLink={exec:function(c,d){a.commands.formatInline.remove(c,d,b)},state:function(c,d){return a.commands.formatInline.state(c,d,b)}}}(wysihtml),function(a){a.commands.undo={exec:function(a){return a.undoManager.undo()},state:function(a){return!1}}}(wysihtml),function(a){var b=90,c=89,d=8,e=46,f=25,g="data-wysihtml-selection-node",h="data-wysihtml-selection-offset",i=(''+a.INVISIBLE_SPACE+"",''+a.INVISIBLE_SPACE+"",a.dom);a.UndoManager=a.lang.Dispatcher.extend({constructor:function(a){this.editor=a,this.composer=a.composer,this.element=this.composer.element,this.position=0,this.historyStr=[],this.historyDom=[],this.transact(),this._observe()},_observe:function(){var a,f=this;this.composer.sandbox.getDocument();i.observe(this.element,"keydown",function(a){if(!a.altKey&&(a.ctrlKey||a.metaKey)){var d=a.keyCode,e=d===b&&!a.shiftKey,g=d===b&&a.shiftKey||d===c;e?(f.undo(),a.preventDefault()):g&&(f.redo(),a.preventDefault())}}),i.observe(this.element,"keydown",function(b){var c=b.keyCode;c!==a&&(a=c,(c===d||c===e)&&f.transact())}),this.editor.on("newword:composer",function(){f.transact()}).on("beforecommand:composer",function(){f.transact()})},transact:function(){var b,c,d,e,i,j=this.historyStr[this.position-1],k=this.composer.getValue(!1,!1),l=this.element.offsetWidth>0&&this.element.offsetHeight>0;if(k!==j){var m=this.historyStr.length=this.historyDom.length=this.position;m>f&&(this.historyStr.shift(),this.historyDom.shift(),this.position--),this.position++,l&&(b=this.composer.selection.getRange(),c=b&&b.startContainer?b.startContainer:this.element,d=b&&b.startOffset?b.startOffset:0,c.nodeType===a.ELEMENT_NODE?e=c:(e=c.parentNode,i=this.getChildNodeIndex(e,c)),e.setAttribute(h,d),"undefined"!=typeof i&&e.setAttribute(g,i));var n=this.element.cloneNode(!!k);this.historyDom.push(n),this.historyStr.push(k),e&&(e.removeAttribute(h),e.removeAttribute(g))}},undo:function(){this.transact(),this.undoPossible()&&(this.set(this.historyDom[--this.position-1]),this.editor.fire("undo:composer"))},redo:function(){this.redoPossible()&&(this.set(this.historyDom[++this.position-1]),this.editor.fire("redo:composer"))},undoPossible:function(){return this.position>1},redoPossible:function(){return this.positionb;b++)this.element.appendChild(c[b].cloneNode(!0));var e,f,i;a.hasAttribute(h)?(e=a.getAttribute(h),i=a.getAttribute(g),f=this.element):(f=this.element.querySelector("["+h+"]")||this.element,e=f.getAttribute(h),i=f.getAttribute(g),f.removeAttribute(h),f.removeAttribute(g)),null!==i&&(f=this.getChildNodeByIndex(f,+i)),this.composer.selection.set(f,e)},getChildNodeIndex:function(a,b){for(var c=0,d=a.childNodes,e=d.length;e>c;c++)if(d[c]===b)return c},getChildNodeByIndex:function(a,b){return a.childNodes[b]}})}(wysihtml),wysihtml.views.View=Base.extend({constructor:function(a,b,c){this.parent=a,this.element=b,this.config=c,this.config.noTextarea||this._observeViewChange()},_observeViewChange:function(){var a=this;this.parent.on("beforeload",function(){a.parent.on("change_view",function(b){b===a.name?(a.parent.currentView=a,a.show(),setTimeout(function(){a.focus()},0)):a.hide()})})},focus:function(){if(!this.element||!this.element.ownerDocument||this.element.ownerDocument.querySelector(":focus")!==this.element)try{this.element&&this.element.focus()}catch(a){}},hide:function(){this.element.style.display="none"},show:function(){this.element.style.display=""},disable:function(){this.element.setAttribute("disabled","disabled")},enable:function(){this.element.removeAttribute("disabled")}}),function(a){var b=a.dom,c=a.browser;a.views.Composer=a.views.View.extend({name:"composer",constructor:function(a,b,c){this.base(a,b,c),this.config.noTextarea?this.editableArea=b:this.textarea=this.parent.textarea,this.config.contentEditableMode?this._initContentEditableArea():this._initSandbox()},clear:function(){this.element.innerHTML=c.displaysCaretInEmptyContentEditableCorrectly()?"":"
"},getValue:function(b,c){var d=this.isEmpty()?"":a.quirks.getCorrectInnerHTML(this.element);return b!==!1&&(d=this.parent.parse(d,c===!1?!1:!0)),d},setValue:function(a,b){b!==!1&&(a=this.parent.parse(a));try{this.element.innerHTML=a}catch(c){this.element.innerText=a}},cleanUp:function(a){var b;this.selection&&this.selection.isInThisEditable()&&(b=rangy.saveSelection(this.win)),this.parent.parse(this.element,void 0,a),b&&rangy.restoreSelection(b)},show:function(){this.editableArea.style.display=this._displayStyle||"",this.config.noTextarea||this.textarea.element.disabled||(this.disable(),this.enable())},hide:function(){this._displayStyle=b.getStyle("display").from(this.editableArea),"none"===this._displayStyle&&(this._displayStyle=null),this.editableArea.style.display="none"},disable:function(){this.parent.fire("disable:composer"),this.element.removeAttribute("contentEditable")},enable:function(){this.parent.fire("enable:composer"),this.element.setAttribute("contentEditable","true")},focus:function(b){a.browser.doesAsyncFocus()&&this.hasPlaceholderSet()&&this.clear(),this.base();var c=this.element.lastChild;b&&c&&this.selection&&("BR"===c.nodeName?this.selection.setBefore(this.element.lastChild):this.selection.setAfter(this.element.lastChild))},getScrollPos:function(){if(this.doc&&this.win){var a={};return"undefined"!=typeof this.win.pageYOffset?a.y=this.win.pageYOffset:a.y=(this.doc.documentElement||this.doc.body.parentNode||this.doc.body).scrollTop,"undefined"!=typeof this.win.pageXOffset?a.x=this.win.pageXOffset:a.x=(this.doc.documentElement||this.doc.body.parentNode||this.doc.body).scrollLeft,a}},setScrollPos:function(a){a&&"undefined"!=typeof a.x&&"undefined"!=typeof a.y&&this.win.scrollTo(a.x,a.y)},getTextContent:function(){return b.getTextContent(this.element)},hasPlaceholderSet:function(){return this.getTextContent()==(this.config.noTextarea?this.editableArea.getAttribute("data-placeholder"):this.textarea.element.getAttribute("placeholder"))&&this.placeholderSet},isEmpty:function(){var a=this.element.innerHTML.toLowerCase();return/^(\s|
|<\/br>|

|<\/p>)*$/i.test(a)||""===a||"
"===a||"

"===a||"


"===a||this.hasPlaceholderSet()},_initContentEditableArea:function(){var a=this;this.config.noTextarea?this.sandbox=new b.ContentEditableArea(function(){a._create()},{className:this.config.classNames.sandbox},this.editableArea):(this.sandbox=new b.ContentEditableArea(function(){a._create()},{className:this.config.classNames.sandbox}),this.editableArea=this.sandbox.getContentEditable(),b.insert(this.editableArea).after(this.textarea.element),this._createWysiwygFormField())},_initSandbox:function(){var a=this;this.sandbox=new b.Sandbox(function(){a._create()},{stylesheets:this.config.stylesheets,className:this.config.classNames.sandbox}),this.editableArea=this.sandbox.getIframe();var c=this.textarea.element;b.insert(this.editableArea).after(c),this._createWysiwygFormField()},_createWysiwygFormField:function(){if(this.textarea.element.form){var a=document.createElement("input");a.type="hidden",a.name="_wysihtml_mode",a.value=1,b.insert(a).after(this.textarea.element)}},_create:function(){var d=this;this.doc=this.sandbox.getDocument(),this.win=this.sandbox.getWindow(),this.element=this.config.contentEditableMode?this.sandbox.getContentEditable():this.doc.body,this.config.noTextarea?this.cleanUp():(this.textarea=this.parent.textarea,this.element.innerHTML=this.textarea.getValue(!0,!1)),this.selection=new a.Selection(this.parent,this.element,this.config.classNames.uneditableContainer),this.commands=new a.Commands(this.parent),this.config.noTextarea||b.copyAttributes(["className","spellcheck","title","lang","dir","accessKey"]).from(this.textarea.element).to(this.element),this._initAutoLinking(),b.addClass(this.element,this.config.classNames.composer),this.config.style&&!this.config.contentEditableMode&&this.style(),this.observe();var e=this.config.name;e&&(b.addClass(this.element,e),this.config.contentEditableMode||b.addClass(this.editableArea,e)),this.enable(),!this.config.noTextarea&&this.textarea.element.disabled&&this.disable();var f="string"==typeof this.config.placeholder?this.config.placeholder:this.config.noTextarea?this.editableArea.getAttribute("data-placeholder"):this.textarea.element.getAttribute("placeholder");f&&b.simulatePlaceholder(this.parent,this,f,this.config.classNames.placeholder),this.commands.exec("styleWithCSS",!1),this._initObjectResizing(),this._initUndoManager(),this._initLineBreaking(),this.config.noTextarea||!this.textarea.element.hasAttribute("autofocus")&&document.querySelector(":focus")!=this.textarea.element||c.isIos()||setTimeout(function(){d.focus(!0)},100),c.clearsContentEditableCorrectly()||a.quirks.ensureProperClearing(this),this.initSync&&this.config.sync&&this.initSync(),this.config.noTextarea||this.textarea.hide(),this.parent.fire("beforeload").fire("load")},_initAutoLinking:function(){var d=this,e=c.canDisableAutoLinking(),f=c.doesAutoLinkingInContentEditable();if(e&&this.commands.exec("AutoUrlDetect",!1,!1),this.config.autoLink){(!f||f&&e)&&(this.parent.on("newword:composer",function(){if(b.getTextContent(d.element).match(b.autoLink.URL_REG_EXP)){for(var c=d.selection.getSelectedNode(),e=d.element.querySelectorAll("."+d.config.classNames.uneditableContainer),f=!1,g=e.length;g--;)a.dom.contains(e[g],c)&&(f=!0);f||b.autoLink(c,[d.config.classNames.uneditableContainer])}}),b.observe(this.element,"blur",function(){b.autoLink(d.element,[d.config.classNames.uneditableContainer])}));var g=this.sandbox.getDocument().getElementsByTagName("a"),h=b.autoLink.URL_REG_EXP,i=function(c){var d=a.lang.string(b.getTextContent(c)).trim();return"www."===d.substr(0,4)&&(d="http://"+d),d};b.observe(this.element,"keydown",function(a){if(g.length){var c,e=d.selection.getSelectedNode(a.target.ownerDocument),f=b.getParentElement(e,{query:"a"},4);f&&(c=i(f),setTimeout(function(){var a=i(f);a!==c&&a.match(h)&&f.setAttribute("href",a)},0))}})}},_initObjectResizing:function(){if(this.commands.exec("enableObjectResizing",!0),c.supportsEvent("resizeend")){var d=["width","height"],e=d.length,f=this.element;b.observe(f,"resizeend",function(b){var c,g=b.target||b.srcElement,h=g.style,i=0;if("IMG"===g.nodeName){for(;e>i;i++)c=d[i],h[c]&&(g.setAttribute(c,parseInt(h[c],10)),h[c]="");a.quirks.redraw(f)}})}},_initUndoManager:function(){this.undoManager=new a.UndoManager(this.parent)},_initLineBreaking:function(){function d(a){var c=b.getParentElement(a,{query:"p, div"},2);c&&b.contains(e.element,c)&&e.selection.executeAndRestoreRangy(function(){e.config.useLineBreaks?((!c.firstChild||c.firstChild===c.lastChild&&1===c.firstChild.nodeType&&c.firstChild.classList.contains("rangySelectionBoundary"))&&c.appendChild(e.doc.createElement("br")),b.replaceWithChildNodes(c)):"P"!==c.nodeName&&b.renameElement(c,"p")})}var e=this,f="li, p, h1, h2, h3, h4, h5, h6",g="ul, ol, menu";this.config.useLineBreaks||b.observe(this.element,["focus"],function(){setTimeout(function(){if(e.isEmpty()){var a=e.doc.createElement("P");e.element.innerHTML="",e.element.appendChild(a),c.displaysCaretInEmptyContentEditableCorrectly()?e.selection.selectNode(a,!0):(a.innerHTML="
",e.selection.setBefore(a.firstChild))}},0)}),b.observe(this.element,"keydown",function(c){var h=c.keyCode;if(!(c.shiftKey||c.ctrlKey||c.defaultPrevented||h!==a.ENTER_KEY&&h!==a.BACKSPACE_KEY)){var i=b.getParentElement(e.selection.getSelectedNode(),{query:f},4);return i?void setTimeout(function(){var c,f=e.selection.getSelectedNode();if("LI"===i.nodeName){if(!f)return;c=b.getParentElement(f,{query:g},2),c||d(f)}h===a.ENTER_KEY&&i.nodeName.match(/^H[1-6]$/)&&d(f)},0):void(e.config.useLineBreaks&&h===a.ENTER_KEY&&!a.browser.insertsLineBreaksOnReturn()&&(c.preventDefault(),e.commands.exec("insertLineBreak")))}})}})}(wysihtml),function(a){var b=a.dom,c=document,d=window,e=c.createElement("div"),f=["background-color","color","cursor","font-family","font-size","font-style","font-variant","font-weight","line-height","letter-spacing","text-align","text-decoration","text-indent","text-rendering","word-break","word-wrap","word-spacing"],g=["background-color","border-collapse","border-bottom-color","border-bottom-style","border-bottom-width","border-left-color","border-left-style","border-left-width","border-right-color","border-right-style","border-right-width","border-top-color","border-top-style","border-top-width","clear","display","float","margin-bottom","margin-left","margin-right","margin-top","outline-color","outline-offset","outline-width","outline-style","padding-left","padding-right","padding-top","padding-bottom","position","top","left","right","bottom","z-index","vertical-align","text-align","-webkit-box-sizing","-moz-box-sizing","-ms-box-sizing","box-sizing","-webkit-box-shadow","-moz-box-shadow","-ms-box-shadow","box-shadow","-webkit-border-top-right-radius","-moz-border-radius-topright","border-top-right-radius","-webkit-border-bottom-right-radius","-moz-border-radius-bottomright","border-bottom-right-radius","-webkit-border-bottom-left-radius","-moz-border-radius-bottomleft","border-bottom-left-radius","-webkit-border-top-left-radius","-moz-border-radius-topleft","border-top-left-radius","width","height"],h=["html { height: 100%; }","body { height: 100%; padding: 1px 0 0 0; margin: -1px 0 0 0; }","body > p:first-child { margin-top: 0; }","._wysihtml-temp { display: none; }",a.browser.isGecko?"body.placeholder { color: graytext !important; }":"body.placeholder { color: #a9a9a9 !important; }","img:-moz-broken { -moz-force-broken-image-icon: 1; height: 24px; width: 24px; }"],i=function(a){if(a.setActive)try{a.setActive()}catch(e){}else{var f=a.style,g=c.documentElement.scrollTop||c.body.scrollTop,h=c.documentElement.scrollLeft||c.body.scrollLeft,i={position:f.position,top:f.top,left:f.left,WebkitUserSelect:f.WebkitUserSelect};b.setStyles({position:"absolute",top:"-99999px",left:"-99999px",WebkitUserSelect:"none"}).on(a),a.focus(),b.setStyles(i).on(a),d.scrollTo&&d.scrollTo(h,g)}};a.views.Composer.prototype.style=function(){var d,j=this,k=c.querySelector(":focus"),l=this.textarea.element,m=l.hasAttribute("placeholder"),n=m&&l.getAttribute("placeholder"),o=l.style.display,p=l.disabled;this.focusStylesHost=e.cloneNode(!1),this.blurStylesHost=e.cloneNode(!1),this.disabledStylesHost=e.cloneNode(!1),m&&l.removeAttribute("placeholder"),l===k&&l.blur(),l.disabled=!1,l.style.display=d="none",(l.getAttribute("rows")&&"auto"===b.getStyle("height").from(l)||l.getAttribute("cols")&&"auto"===b.getStyle("width").from(l))&&(l.style.display=d=o),b.copyStyles(g).from(l).to(this.editableArea).andTo(this.blurStylesHost),b.copyStyles(f).from(l).to(this.element).andTo(this.blurStylesHost),b.insertCSS(h).into(this.element.ownerDocument),l.disabled=!0,b.copyStyles(g).from(l).to(this.disabledStylesHost),b.copyStyles(f).from(l).to(this.disabledStylesHost),l.disabled=p,l.style.display=o,i(l),l.style.display=d,b.copyStyles(g).from(l).to(this.focusStylesHost),b.copyStyles(f).from(l).to(this.focusStylesHost),l.style.display=o,b.copyStyles(["display"]).from(l).to(this.editableArea);var q=a.lang.array(g).without(["display"]);return k?i(k):l.blur(),m&&l.setAttribute("placeholder",n),this.parent.on("focus:composer",function(){b.copyStyles(q).from(j.focusStylesHost).to(j.editableArea),b.copyStyles(f).from(j.focusStylesHost).to(j.element)}),this.parent.on("blur:composer",function(){b.copyStyles(q).from(j.blurStylesHost).to(j.editableArea),b.copyStyles(f).from(j.blurStylesHost).to(j.element)}),this.parent.observe("disable:composer",function(){b.copyStyles(q).from(j.disabledStylesHost).to(j.editableArea),b.copyStyles(f).from(j.disabledStylesHost).to(j.element)}),this.parent.observe("enable:composer",function(){b.copyStyles(q).from(j.blurStylesHost).to(j.editableArea),b.copyStyles(f).from(j.blurStylesHost).to(j.element)}),this}}(wysihtml),function(a){var b=a.dom,c=b.domNode,d=a.browser,e={66:"bold",73:"italic",85:"underline"},f={addListeners:function(a,b,c){for(var d=0,e=b.length;e>d;d++)a.addEventListener(b[d],c,!1)},removeListeners:function(a,b,c){for(var d=0,e=b.length;e>d;d++)a.removeEventListener(b[d],c,!1)},fixLastBrDeletionInTable:function(b,c){if(b.selection.caretIsInTheEndOfNode()){var d=b.selection.getSelection(),e=d.anchorNode;if(e&&1===e.nodeType&&(a.dom.getParentElement(e,{query:"td, th"},!1,b.element)||c)){var f=e.childNodes[d.anchorOffset];if(f&&1===f.nodeType&"BR"===f.nodeName)return f.parentNode.removeChild(f),!0}}return!1},handleUneditableDeletion:function(a){var b=a.selection.getBeforeSelection(!0);if(b&&("element"===b.type||"leafnode"===b.type)&&1===b.node.nodeType&&b.node.classList.contains(a.config.classNames.uneditableContainer)){if(f.fixLastBrDeletionInTable(a,!0))return!0;try{var c=new CustomEvent("wysihtml:uneditable:delete",{bubbles:!0,cancelable:!1});b.node.dispatchEvent(c)}catch(d){}return b.node.parentNode.removeChild(b.node),!0}return!1},fixDeleteInTheBeginningOfBlock:function(b){var d=b.selection,e=d.getPreviousNode();if(d.caretIsFirstInSelection(a.browser.usesControlRanges())&&e&&1===e.nodeType&&a.dom.domNode(e).is.block()&&!c(e).test({query:"ol, ul, table, tr, dl"})){if(/^\s*$/.test(e.textContent||e.innerText))return e.parentNode.removeChild(e),!0;if(e.lastChild){var f=e.lastChild,g=d.getSelectedNode(),h=c(e).commonAncestor(g,b.element),i=a.dom.getParentElement(g,{query:"h1, h2, h3, h4, h5, h6, p, pre, div, blockquote"},!1,h||b.element);if(i)return c(i).transferContentTo(e,!0),d.setAfter(f),!0;if(a.browser.usesControlRanges())return g=d.getCaretNode(),c(g).transferContentTo(e,!0),d.setAfter(f),!0}}return!1},fixDeleteInTheBeginningOfLi:function(b){if(a.browser.hasLiDeletingProblem()){var d,e,d,f,g=b.selection.getSelection(),h=g.anchorNode,i=b.selection.caretIsFirstInSelection();if(3===h.nodeType&&0===g.anchorOffset&&h===h.parentNode.firstChild&&(h=h.parentNode,i=!0),i&&h&&1===h.nodeType&&"LI"===h.nodeName&&(d=c(h).prev({nodeTypes:[1,3],ignoreBlankTexts:!0}),d||!h.parentNode||"UL"!==h.parentNode.nodeName&&"OL"!==h.parentNode.nodeName||(d=c(h.parentNode).prev({nodeTypes:[1,3],ignoreBlankTexts:!0}),f=h.parentNode),d))return e=h.firstChild,c(h).transferContentTo(d,!0),f&&0===f.children.length&&f.remove(),e?b.selection.setBefore(e):d&&(1===d.nodeType?d.lastChild?b.selection.setAfter(d.lastChild):b.selection.selectNode(d):b.selection.setAfter(d)),!0}return!1},fixDeleteInTheBeginningOfControlSelection:function(a){var b,d=a.selection,e=d.getPreviousNode(),f=d.getSelectedNode();return d.caretIsFirstInSelection()?(3===f.nodeType&&(f=f.parentNode),b=f.firstChild,c(f).transferContentTo(e,!0),b&&a.selection.setBefore(b),!0):!1},doLineBreaksModeEnterWithCaret:function(d){var e,f,g="p, pre, div, blockquote",h=!1;if(e=d.selection.getNodesNearCaret(),e&&((e.caretNode||e.nextNode)&&(f=b.getParentElement(e.caretNode||e.nextNode,{query:g},2),f===d.element&&(f=void 0)),f&&e.caretNode))if(c(e.caretNode).is.lineBreak()){if(d.config.doubleLineBreakEscapesBlock){h=!0,e.caretNode.parentNode.removeChild(e.caretNode),c(e.nextNode).is.lineBreak()&&e.nextNode.parentNode.removeChild(e.nextNode);var i=d.doc.createElement("br");c(e.nextNode).is.lineBreak()&&e.nextNode===f.lastChild?f.parentNode.insertBefore(i,f.nextSibling):d.selection.splitElementAtCaret(f,i),e.nextNode&&3===e.nextNode.nodeType&&(e.nextNode.data=e.nextNode.data.replace(/^ *[\r\n]+/,"")),d.selection.setBefore(i)}}else if(3===e.caretNode.nodeType&&a.browser.hasCaretBlockElementIssue()&&e.textOffset===e.caretNode.data.length&&!e.nextNode){h=!0;var j=d.doc.createElement("br"),k=d.doc.createElement("br"),l=d.doc.createDocumentFragment();l.appendChild(j),l.appendChild(k),d.selection.insertNode(l),d.selection.setBefore(k)}return h}},g=function(b,c){var d=c.selection;c.element;if(d.isCollapsed()){if(c.isEmpty()&&!c.config.useLineBreaks)return void b.preventDefault();if(f.handleUneditableDeletion(c))return void b.preventDefault();if(f.fixDeleteInTheBeginningOfLi(c))return void b.preventDefault();if(f.fixDeleteInTheBeginningOfBlock(c))return void b.preventDefault();if(f.fixLastBrDeletionInTable(c))return void b.preventDefault();if(a.browser.usesControlRanges()&&f.fixDeleteInTheBeginningOfControlSelection(c))return void b.preventDefault()}else d.containsUneditable()&&(b.preventDefault(),d.deleteContents())},h=function(a,b){if(b.config.useLineBreaks&&!a.shiftKey&&!a.ctrlKey){b.selection.isCollapsed()&&f.doLineBreaksModeEnterWithCaret(b)&&a.preventDefault()}if(d.hasCaretAtLinkEndInsertionProblems()&&b.selection.caretIsInTheEndOfNode()){var c=b.selection.getSelectedNode(!0),e=c&&3===c.nodeType?c.parentNode:c;e&&e.closest("a")&&3===c.nodeType&&c===e.lastChild&&b.selection.setAfter(e)}},i=function(a,b,c){if(a.selection.isCollapsed()){if(a.selection.caretIsInTheBeginnig("li"))if(c){if(a.commands.exec("outdentList"))return}else if(a.commands.exec("indentList"))return}else a.selection.deleteContents();a.commands.exec("insertHTML"," ")},j=function(a){this.domNodeRemovedInterval&&clearInterval(domNodeRemovedInterval),this.parent.fire("destroy:composer")},k=function(a){this.parent.fire("beforeinteraction",a).fire("beforeinteraction:composer",a),setTimeout(function(){this.parent.fire("interaction",a).fire("interaction:composer",a)}.bind(this),0)},l=function(a){this.parent.fire("focus",a).fire("focus:composer",a),setTimeout(function(){this.focusState=this.getValue(!1,!1)}.bind(this),0)},m=function(a){if(this.focusState!==this.getValue(!1,!1)){var b=a;"function"==typeof Object.create&&(b=Object.create(a,{type:{value:"change"}})),this.parent.fire("change",b).fire("change:composer",b)}this.parent.fire("blur",a).fire("blur:composer",a)},n=function(a){this.parent.fire(a.type,a).fire(a.type+":composer",a),"paste"===a.type&&setTimeout(function(){this.parent.fire("newword:composer")}.bind(this),0)},o=function(b){this.config.copyedFromMarking&&(a.browser.supportsModernPaste()&&(b.clipboardData.setData("text/html",this.config.copyedFromMarking+this.selection.getHtml()),b.clipboardData.setData("text/plain",this.selection.getPlainText()),b.preventDefault()),this.parent.fire(b.type,b).fire(b.type+":composer",b))},p=function(b){var c=b.keyCode;(c===a.SPACE_KEY||c===a.ENTER_KEY)&&this.parent.fire("newword:composer")},q=function(b){if(!d.canSelectImagesInContentEditable()){var c=b.target,e=this.element.querySelectorAll("img"),f=this.element.querySelectorAll("."+this.config.classNames.uneditableContainer+" img"),g=a.lang.array(e).without(f);"IMG"===c.nodeName&&a.lang.array(g).contains(c)&&this.selection.selectNode(c)}a.browser.usesControlRanges()&&(this.selection.lastMouseDownPos={x:b.clientX,y:b.clientY},setTimeout(function(){delete this.selection.lastMouseDownPos}.bind(this),0))},r=function(a){var b=(a.target,this.selection.lastMouseDownPos);if(b){var c=document.body.createTextRange();setTimeout(function(){try{c.moveToPoint(b.x,b.y),c.select()}catch(a){}}.bind(this),0)}},s=function(b){if(this.config.classNames.uneditableContainer){var c=a.dom.getParentElement(b.target,{query:"."+this.config.classNames.uneditableContainer},!1,this.element);c&&this.selection.setAfter(c)}},t=function(a){d.canSelectImagesInContentEditable()||setTimeout(function(){this.selection.getSelection().removeAllRanges()}.bind(this),0)},u=function(b){var c,d=b.keyCode,f=e[d],j=this.selection.getSelectedNode(!0);j&&3===j.nodeType?j.parentNode:j;return!b.ctrlKey&&!b.metaKey||b.altKey||65!==d?((b.ctrlKey||b.metaKey)&&!b.altKey&&f&&(this.commands.exec(f),b.preventDefault()),d===a.BACKSPACE_KEY&&g(b,this),(d===a.BACKSPACE_KEY||d===a.DELETE_KEY)&&j&&"IMG"===j.nodeName&&(b.preventDefault(),c=j.parentNode,c.removeChild(j),"A"!==c.nodeName||c.firstChild||c.parentNode.removeChild(c),setTimeout(function(){a.quirks.redraw(this.element)}.bind(this),0)),this.config.handleTabKey&&d===a.TAB_KEY&&(b.preventDefault(),i(this,this.element,b.shiftKey)),void(d===a.ENTER_KEY&&h(b,this))):(this.selection.selectAll(),void b.preventDefault())},v=function(b){if(0!==b.which&&this.selection.caretIsInTheEndOfNode()){var c,e,f=this.selection.getSelectedNode(!0),g=f&&3===f.nodeType?f.parentNode:f;g&&g.closest("a")&&f===g.lastChild&&(32!==b.which||this.selection.caretIsInTheEndOfNode(!0)&&d.hasCaretAtLinkEndInsertionProblems()?(c=this.doc.createTextNode(a.INVISIBLE_SPACE),this.selection.insertNode(c),this.selection.setBefore(c),setTimeout(function(){c.textContent.length>1?(c.textContent=c.textContent.replace(a.INVISIBLE_SPACE_REG_EXP,""),this.selection.setAfter(c)):c.remove()}.bind(this),0)):32===b.which&&3===f.nodeType&&/[\u00A0 ]$/.test(f.textContent)&&(f.textContent=f.textContent.replace(/[\u00A0 ]$/,""),e=this.doc.createTextNode(" "),g.parentNode.insertBefore(e,g.nextSibling),this.selection.setAfter(e,!1),b.preventDefault()))}};a.views.Composer.prototype.observeActions=f,a.views.Composer.prototype.observe=function(){var c=this.sandbox.getIframe?this.sandbox.getIframe():this.sandbox.getContentEditable(),e=(this.element,d.supportsEventsInIframeCorrectly()||this.sandbox.getContentEditable?this.element:this.sandbox.getWindow());this.focusState=this.getValue(!1,!1),this.actions=f,c.addEventListener(["DOMNodeRemoved"],j.bind(this),!1),d.supportsMutationEvents()||(this.domNodeRemovedInterval=setInterval(function(){b.contains(document.documentElement,c)||j.call(this)},250)),f.addListeners(e,["drop","paste","mouseup","focus","keyup"],k.bind(this)),e.addEventListener("focus",l.bind(this),!1), +e.addEventListener("blur",m.bind(this),!1),f.addListeners(this.element,["drop","paste","beforepaste"],n.bind(this),!1),this.element.addEventListener("copy",o.bind(this),!1),this.element.addEventListener("mousedown",q.bind(this),!1),this.element.addEventListener("click",s.bind(this),!1),this.element.addEventListener("drop",t.bind(this),!1),this.element.addEventListener("keyup",p.bind(this),!1),this.element.addEventListener("keydown",u.bind(this),!1),this.element.addEventListener("keypress",v.bind(this),!1),a.browser.usesControlRanges()&&this.element.addEventListener("mscontrolselect",r.bind(this),!1),this.element.addEventListener("dragenter",function(){this.parent.fire("unset_placeholder")}.bind(this),!1)}}(wysihtml),function(a){var b=400;a.views.Synchronizer=Base.extend({constructor:function(a,b,c){this.editor=a,this.textarea=b,this.composer=c,this._observe()},fromComposerToTextarea:function(b){this.textarea.setValue(a.lang.string(this.composer.getValue(!1,!1)).trim(),b)},fromTextareaToComposer:function(a){var b=this.textarea.getValue(!1,!1);b?this.composer.setValue(b,a):(this.composer.clear(),this.editor.fire("set_placeholder"))},sync:function(a){"textarea"===this.editor.currentView.name?this.fromTextareaToComposer(a):this.fromComposerToTextarea(a)},_observe:function(){var c,d=this,e=this.textarea.element.form,f=function(){c=setInterval(function(){d.fromComposerToTextarea()},b)},g=function(){clearInterval(c),c=null};f(),e&&(a.dom.observe(e,"submit",function(){d.sync(!0)}),a.dom.observe(e,"reset",function(){setTimeout(function(){d.fromTextareaToComposer()},0)})),this.editor.on("change_view",function(a){"composer"!==a||c?"textarea"===a&&(d.fromComposerToTextarea(!0),g()):(d.fromTextareaToComposer(!0),f())}),this.editor.on("destroy:composer",g)}})}(wysihtml),function(a){a.views.SourceView=Base.extend({constructor:function(a,b){this.editor=a,this.composer=b,this._observe()},switchToTextarea:function(a){var b=this.composer.win.getComputedStyle(this.composer.element),c=parseFloat(b.width),d=Math.max(parseFloat(b.height),100);this.textarea||(this.textarea=this.composer.doc.createElement("textarea"),this.textarea.className="wysihtml-source-view"),this.textarea.style.width=c+"px",this.textarea.style.height=d+"px",this.textarea.value=this.editor.getValue(a,!0),this.composer.element.parentNode.insertBefore(this.textarea,this.composer.element),this.editor.currentView="source",this.composer.element.style.display="none"},switchToComposer:function(a){var b=this.textarea.value;b?this.composer.setValue(b,a):(this.composer.clear(),this.editor.fire("set_placeholder")),this.textarea.parentNode.removeChild(this.textarea),this.editor.currentView=this.composer,this.composer.element.style.display=""},_observe:function(){this.editor.on("change_view",function(a){"composer"===a?this.switchToComposer(!0):"textarea"===a&&this.switchToTextarea(!0)}.bind(this))}})}(wysihtml),wysihtml.views.Textarea=wysihtml.views.View.extend({name:"textarea",constructor:function(a,b,c){this.base(a,b,c),this._observe()},clear:function(){this.element.value=""},getValue:function(a){var b=this.isEmpty()?"":this.element.value;return a!==!1&&(b=this.parent.parse(b)),b},setValue:function(a,b){b!==!1&&(a=this.parent.parse(a)),this.element.value=a},cleanUp:function(a){var b=this.parent.parse(this.element.value,void 0,a);this.element.value=b},hasPlaceholderSet:function(){var a=wysihtml.browser.supportsPlaceholderAttributeOn(this.element),b=this.element.getAttribute("placeholder")||null,c=this.element.value,d=!c;return a&&d||c===b},isEmpty:function(){return!wysihtml.lang.string(this.element.value).trim()||this.hasPlaceholderSet()},_observe:function(){var a=this.element,b=this.parent,c={focusin:"focus",focusout:"blur"},d=wysihtml.browser.supportsEvent("focusin")?["focusin","focusout","change"]:["focus","blur","change"];b.on("beforeload",function(){wysihtml.dom.observe(a,d,function(a){var d=c[a.type]||a.type;b.fire(d).fire(d+":textarea")}),wysihtml.dom.observe(a,["paste","drop"],function(){setTimeout(function(){b.fire("paste").fire("paste:textarea")},0)})})}}),function(a){var b;a.Editor=a.lang.Dispatcher.extend({defaults:{name:b,style:!0,autoLink:!0,handleTabKey:!0,parserRules:{tags:{br:{},span:{},div:{},p:{},b:{},i:{},u:{}},classes:{}},pasteParserRulesets:null,parser:a.dom.parse,useLineBreaks:!0,doubleLineBreakEscapesBlock:!0,stylesheets:[],placeholderText:b,supportTouchDevices:!0,cleanUp:!0,contentEditableMode:!1,classNames:{composer:"wysihtml-editor",body:"wysihtml-supported",sandbox:"wysihtml-sandbox",placeholder:"wysihtml-placeholder",uneditableContainer:"wysihtml-uneditable-container"},copyedFromMarking:''},constructor:function(b,c){if(this.editableElement="string"==typeof b?document.getElementById(b):b,this.config=a.lang.object({}).merge(this.defaults).merge(c).get(),this._isCompatible=a.browser.supported(),c&&c.classNames&&a.lang.object(this.config.classNames).merge(c.classNames),"textarea"!=this.editableElement.nodeName.toLowerCase()&&(this.config.contentEditableMode=!0,this.config.noTextarea=!0),this.config.noTextarea||(this.textarea=new a.views.Textarea(this,this.editableElement,this.config),this.currentView=this.textarea),!this._isCompatible||!this.config.supportTouchDevices&&a.browser.isTouchDevice()){var d=this;return void setTimeout(function(){d.fire("beforeload").fire("load")},0)}a.dom.addClass(document.body,this.config.classNames.body),this.composer=new a.views.Composer(this,this.editableElement,this.config),this.currentView=this.composer,"function"==typeof this.config.parser&&this._initParser(),this.on("beforeload",this.handleBeforeLoad)},handleBeforeLoad:function(){this.config.noTextarea?this.sourceView=new a.views.SourceView(this,this.composer):this.synchronizer=new a.views.Synchronizer(this,this.textarea,this.composer),this.runEditorExtenders()},runEditorExtenders:function(){a.editorExtenders.forEach(function(a){a(this)}.bind(this))},isCompatible:function(){return this._isCompatible},clear:function(){return this.currentView.clear(),this},getValue:function(a,b){return this.currentView.getValue(a,b)},setValue:function(a,b){return this.fire("unset_placeholder"),a?(this.currentView.setValue(a,b),this):this.clear()},cleanUp:function(a){this.currentView.cleanUp(a)},focus:function(a){return this.currentView.focus(a),this},disable:function(){return this.currentView.disable(),this},enable:function(){return this.currentView.enable(),this},isEmpty:function(){return this.currentView.isEmpty()},hasPlaceholderSet:function(){return this.currentView.hasPlaceholderSet()},destroy:function(){this.composer&&this.composer.sandbox&&this.composer.sandbox.destroy(),this.fire("destroy:composer"),this.off()},parse:function(b,c,d){var e=this.config.contentEditableMode?document:this.composer?this.composer.sandbox.getDocument():null,f=this.config.parser(b,{rules:d||this.config.parserRules,cleanUp:this.config.cleanUp,context:e,uneditableClass:this.config.classNames.uneditableContainer,clearInternals:c});return"object"==typeof b&&a.quirks.redraw(b),f},_initParser:function(){var b;a.browser.supportsModernPaste()?this.on("paste:composer",function(c){c.preventDefault(),b=a.dom.getPastedHtml(c),b&&this._cleanAndPaste(b)}.bind(this)):this.on("beforepaste:composer",function(b){b.preventDefault();var c=this.composer.getScrollPos();a.dom.getPastedHtmlWithDiv(this.composer,function(a){a&&this._cleanAndPaste(a),this.composer.setScrollPos(c)}.bind(this))}.bind(this))},_cleanAndPaste:function(b){var c=a.quirks.cleanPastedHTML(b,{referenceNode:this.composer.element,rules:this.config.pasteParserRulesets||[{set:this.config.parserRules}],uneditableClass:this.config.classNames.uneditableContainer});this.composer.selection.deleteContents(),this.composer.selection.insertHTML(c)}})}(wysihtml); //# sourceMappingURL=wysihtml.min.map \ No newline at end of file diff --git a/dist/minified/wysihtml.min.map b/dist/minified/wysihtml.min.map index 0dc8dbf..f116d57 100644 --- a/dist/minified/wysihtml.min.map +++ b/dist/minified/wysihtml.min.map @@ -1 +1 @@ -{"version":3,"file":"wysihtml.min.js","sources":["../wysihtml.js"],"names":["wysihtml","version","commands","dom","quirks","toolbar","lang","selection","views","editorExtenders","extendEditor","extender","this","push","INVISIBLE_SPACE","INVISIBLE_SPACE_REG_EXP","VOID_ELEMENTS","PERMITTED_PHRASING_CONTENT_ONLY","EMPTY_FUNCTION","ELEMENT_NODE","TEXT_NODE","BACKSPACE_KEY","ENTER_KEY","ESCAPE_KEY","SPACE_KEY","TAB_KEY","DELETE_KEY","polyfills","win","doc","methods","normalizeHasCaretError","originalTarget","s","ret","scrollTop","window","pageYOffset","scrollLeft","pageXOffset","e","createElement","t1","createTextNode","t2","t3","r","createRange","document","activeElement","nodeType","indexOf","nodeName","type","node","start","selectionStart","end","selectionEnd","getSelection","anchorNode","anchorOffset","focusNode","focusOffset","setAttribute","appendChild","body","setStart","setEnd","removeAllRanges","addRange","normalize","childNodes","length","firstChild","parentNode","removeChild","setSelectionRange","focus","scrollTo","apply","nativeCustomEventSupported","p","CustomEvent","detail","foo","ELEMENT","matches","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","selector","element","elements","ownerDocument","querySelectorAll","index","closest","parentElement","remove","Element","prototype","documentElement","Object","defineProperty","HTMLElement","get","update","fn","value","classes","self","className","split","join","add","splice","toggle","contains","item","i","getTextNodes","all","nextSibling","concat","isInDom","n","normalizeFix","nf","Node","texts","defaultView","anode","aoffset","aelement","undefined","fnode","foffset","felement","prevTxt","shift","curText","nodeValue","compareDocumentPosition","DOCUMENT_POSITION_PRECEDING","DOCUMENT_POSITION_CONTAINS","previousSibling","Array","call","F","removeEventListener","readyState","addEventListener","event","params","bubbles","cancelable","evt","createEvent","initCustomEvent","Event","Base","extend","_instance","_static","_prototyping","proto","base","constructor","klass","_constructing","arguments","ancestor","forEach","implement","toString","valueOf","init","source","test","method","previous","returnValue","toSource","hidden","key","object","block","context","String","rangy","isHostMethod","o","t","FUNCTION","OBJECT","isHostObject","isHostProperty","UNDEFINED","createMultiplePropertyTest","testFunc","props","isTextRange","range","areHostMethods","textRangeMethods","areHostProperties","textRangeProperties","getBody","getElementsByTagName","consoleLog","msg","console","log","alertOrLog","shouldAlert","isBrowser","alert","fail","reason","api","initialized","supported","config","alertOnFail","warn","alertOnWarn","getErrorDesc","ex","message","description","testRange","implementsDomRange","implementsTextRange","domRangeMethods","domRangeProperties","toLowerCase","createTextRange","features","module","errorMessage","moduleName","modules","Module","len","initListeners","deprecationNotice","deprecated","replacement","name","createAliasForDeprecatedMethod","owner","util","toArray","shim","shimListeners","dependencies","initializer","createModule","initFunc","newModule","stack","RangePrototype","SelectionPrototype","areHostObjects","arr","func","preferTextRange","autoInitialize","rangyAutoInitialize","hasOwnProperty","obj","deep","createOptions","optionsParam","defaults","options","el","slice","arrayLike","addListener","eventType","listener","attachEvent","addInitListener","addShimListener","createMissingNativeApi","requiredModule","requiredModuleNames","Error","createError","createCoreModule","rangePrototype","selectionPrototype","isHtmlNamespace","ns","namespaceURI","UNDEF","parent","getNodeIndex","getNodeLength","getCommonAncestor","node1","node2","ancestors","arrayContains","isAncestorOf","descendant","selfIsAncestor","isOrIsAncestorOf","getClosestAncestorIn","isCharacterDataNode","isTextOrCommentNode","insertAfter","precedingNode","nextNode","insertBefore","splitDataNode","positionsToPreserve","newNode","cloneNode","deleteData","position","offset","getDocument","getWindow","parentWindow","getIframeDocument","iframeEl","contentDocument","contentWindow","getIframeWindow","isWindow","getContentDocument","methodName","tagName","getRootContainer","comparePoints","nodeA","offsetA","nodeB","offsetB","nodeC","root","childA","childB","isBrokenNode","inspectNode","crashyTextNodes","data","idAttr","id","innerHTML","fragmentFromNodeChildren","child","fragment","createDocumentFragment","createTestElement","html","contentEditable","bodyFirstChild","removeNode","NodeIterator","_next","createIterator","DomPosition","DOMException","codeName","code","textNode","val","getComputedStyleProperty","getComputedStyle","propName","currentStyle","_current","hasNext","next","detach","equals","pos","inspect","INDEX_SIZE_ERR","HIERARCHY_REQUEST_ERR","WRONG_DOCUMENT_ERR","NO_MODIFICATION_ALLOWED_ERR","NOT_FOUND_ERR","NOT_SUPPORTED_ERR","INVALID_STATE_ERR","INVALID_NODE_TYPE_ERR","isNonTextPartiallySelected","startContainer","endContainer","getRangeDocument","getRangeRoot","getBoundaryBeforeNode","getBoundaryAfterNode","insertNodeAtPosition","firstNodeInserted","rangesIntersect","rangeA","rangeB","touchingIsIntersecting","assertRangeValid","startComparison","startOffset","endOffset","endComparison","cloneSubtree","iterator","partiallySelected","subIterator","frag","isPartiallySelectedSubtree","getSubtreeIterator","iterateSubtree","rangeIterator","iteratorState","it","stop","subRangeIterator","deleteSubtree","extractSubtree","getNodesInRange","nodeTypes","filter","regex","filterNodeTypes","filterExists","RegExp","nodes","RangeIterator","sc","ec","getName","clonePartiallySelectedTextNodes","collapsed","so","eo","commonAncestorContainer","isSingleCharacterDataNode","_first","_last","createAncestorFinder","assertNoDocTypeNotationEntityAncestor","allowSelf","getDocTypeNotationEntityAncestor","assertValidNodeType","invalidTypes","assertValidOffset","assertSameDocumentOrFragment","getDocumentOrFragmentContainer","assertNodeNotReadOnly","getReadonlyAncestor","assertNode","isValidOffset","isRangeValid","splitRangeBoundaries","startEndSame","setStartAndEnd","rangeToHtml","container","cloneContents","copyComparisonConstantsToObject","START_TO_START","s2s","START_TO_END","s2e","END_TO_END","e2e","END_TO_START","e2s","NODE_BEFORE","n_b","NODE_AFTER","n_a","NODE_BEFORE_AND_AFTER","n_b_a","NODE_INSIDE","n_i","copyComparisonConstants","createRangeContentRemover","remover","boundaryUpdater","boundary","reset","createPrototypeRange","createBeforeAfterNodeSetter","isBefore","isStart","beforeAfterNodeTypes","rootContainerNodeTypes","setRangeStart","setRangeEnd","args","setBoundary","setStartBefore","setStartAfter","setEndBefore","setEndAfter","collapse","selectNodeContents","selectNode","extractContents","deleteContents","canSurroundContents","boundariesInvalid","splitBoundaries","splitBoundariesPreservingPositions","normalizeBoundaries","sibling","mergeForward","appendData","mergeBackward","nodeLength","insertData","nodeIndex","normalizeStart","endNode","startNode","collapseToPoint","updateCollapsedAndCommonAncestor","updateBoundaries","Range","current","subRange","cloneRange","readonlyNodeTypes","insertableNodeTypes","surroundNodeTypes","styleEl","htmlParsingConforms","createContextualFragment","fragmentStr","rangeProperties","compareBoundaryPoints","how","prefixA","prefixB","insertNode","clone","surroundContents","content","hasChildNodes","lastChild","prop","textParts","compareNode","comparePoint","toHtml","intersectsNode","isPointInRange","intersectsRange","intersectsOrTouchesRange","intersection","intersectionRange","union","unionRange","containsNode","allowPartial","containsNodeContents","containsRange","containsNodeText","nodeRange","textNodes","getNodes","lastTextNode","pop","collapseBefore","collapseAfter","getBookmark","containerNode","preSelectionRange","moveToBookmark","bookmark","charIndex","nextCharIndex","nodeStack","foundStart","rangesEqual","isValid","r1","r2","DomRange","WrappedRange","WrappedTextRange","updateRangeProperties","nativeRange","updateNativeRange","startMoved","endMoved","nativeRangeDifferent","rangeProto","refresh","testTextNode","oppositeName","range2","createNativeRange","getTextRangeContainerElement","textRange","parentEl","duplicate","startEl","endEl","startEndContainer","textRangeIsCollapsed","compareEndPoints","getTextRangeBoundaryPosition","wholeRangeContainerElement","isCollapsed","startInfo","workingRange","containerElement","canHaveHTML","boundaryPosition","nodeInfo","workingNode","comparison","previousNode","boundaryNode","workingComparisonType","childNodeCount","moveToElementText","Math","floor","setEndPoint","tempRange","rangeLength","text","replace","moveStart","createBoundaryTextRange","boundaryParent","boundaryOffset","nodeIsDataNode","startBoundary","rangeContainerElement","rangeToTextRange","startRange","endRange","toTextRange","globalObj","f","Function","createRangyRange","isDirectionBackward","dir","WrappedSelection","getWinSelection","winParam","getDocSelection","winSelectionIsBackward","sel","backward","updateAnchorAndFocusFromRange","anchorPrefix","focusPrefix","updateAnchorAndFocusFromNativeSelection","nativeSel","nativeSelection","updateEmptySelection","rangeCount","_ranges","getNativeRange","rangeContainsSingleElement","rangeNodes","getSingleElementFromRange","updateFromTextRange","wrappedRange","updateControlSelection","docSelection","controlRange","addRangeToControlSelection","rangeElement","newControlRange","createControlRange","select","deleteProperties","detached","actOnCachedSelection","action","cached","cachedRangySelections","createControlSelection","ranges","assertNodeInSameDocument","createStartOrEndSetter","getRangeAt","setSingleRange","isBackward","rangeInspects","anchor","checkSelectionRanges","getNativeSelection","selectionIsCollapsed","BOOLEAN","NUMBER","CONTROL","implementsWinGetSelection","implementsDocSelection","useDocumentSelection","isSelectionValid","testSelection","selectionHasAnchorAndFocus","selectionHasExtend","selectionHasRangeCount","selectionSupportsMultipleRanges","collapsedNonEditableSelectionsSupported","addRangeBackwardToNative","originalSelectionRangeCount","selectionHasMultipleRanges","originalSelectionRanges","originalSelectionBackward","testEl","chromeMatch","navigator","appVersion","match","parseInt","testControlRange","implementsControlRange","getSelectionRangeAt","docSel","selProto","addRangeBackward","direction","previousRangeCount","clonedNativeRange","selectionIsBackward","setRanges","empty","refreshSelection","checkForChanges","oldRanges","oldAnchorNode","oldAnchorOffset","removeRangeManually","getAllRanges","removeRange","removed","isBackwards","rangeTexts","collapseToStart","collapseToEnd","selectAllChildren","deleteFromDocument","eachRange","callMethodOnEachRange","results","changeEachRange","rangeBookmarks","rangeBookmark","selRanges","saveRanges","restoreRanges","rangeHtmls","getNativeTextRange","detachAll","Selection","docReady","loadHandler","gEBI","getElementById","insertRangeBoundaryMarker","atStart","markerEl","markerId","Date","random","boundaryRange","style","lineHeight","display","markerTextChar","setRangeBoundary","compareRanges","saveRange","startMarkerId","endMarkerId","restoreRange","rangeInfo","rangeInfos","sort","saveSelection","restored","restoreSelection","savedSelection","preserveDirection","removeMarkerElement","removeMarkers","defaultTokenizer","chars","wordOptions","createTokenRange","isWord","tokenRanges","result","wordStart","wordEnd","word","lastWordEnd","wordRegex","exec","includeTrailingSpace","nonLineBreakWhiteSpaceRegex","convertCharRangeToToken","tokenRange","tokenChars","token","tokenize","tokenizer","tokens","normalizeIgnoredCharacters","ignoredCharacters","ignoredChars","ignoredCharsArray","char1","char2","charCodeAt","createWordOptions","language","defaultLanguage","defaultWordOptions","createNestedOptions","characterOptions","defaultCharacterOptions","getComputedDisplay","tableCssDisplayBlock","defaultDisplayValueForTag","isHidden","getAncestorsAndSelf","isVisibilityHiddenTextNode","isBlockNode","containsPositions","getAncestors","unshift","nextNodeDescendants","excludeChildren","isWhitespaceNode","computedWhiteSpace","isCollapsedWhitespaceNode","isCollapsedNode","isIgnoredNode","Cache","store","createCachingGetter","objProperty","cache","cachedCount","uncachedCount","NodeWrapper","session","positions","Position","nodeWrapper","inspectPosition","startSession","endSession","currentSession","Session","getSession","createCharacterIterator","startPos","endPos","charPos","finished","previousVisible","nextVisible","previousTextPos","returnPreviousTextPos","character","getCharacter","rewind","dispose","createTokenizedTextProvider","consumeWord","forward","textChar","newChars","forwardIterator","backwardIterator","passedWordBoundary","insideWord","allWhiteSpaceRegex","forwardChars","backwardChars","reverse","forwardTokensBuffer","arrayIndexOf","backwardTokensBuffer","nextEndToken","lastToken","previousStartToken","movePositionBy","unit","count","currentPos","charIterator","nextPos","unitsMoved","newPos","absCount","abs","CHARACTER","WORD","tokenizedTextProvider","isLeadingSpace","isTrailingSpace","createRangeCharacterIterator","rangeStart","getRangeBoundaryPosition","rangeEnd","itStart","itEnd","getRangeCharacters","isWholeWord","expand","findTextFromPosition","initialPos","searchTerm","isRegex","searchScopeRange","findOptions","handleMatch","startIndex","endIndex","valid","wholeWordsOnly","currentChar","matchStartIndex","matchEndIndex","insideRegexMatch","caseSensitive","createEntryPointFunction","sessionRunning","createRangeBoundaryMover","moveOptions","defaultMoveOptions","boundaryIsStart","moveResult","createRangeTrimmer","trimCharCount","trimmed","createSelectionTrimmer","spacesRegex","spacesMinusLineBreaksRegex","trailingSpaceInBlockCollapses","trailingSpaceBeforeBrCollapses","trailingSpaceBeforeBlockCollapses","trailingSpaceBeforeLineBreakInPreLineCollapses","includeBlockContentTrailingSpace","includeSpaceBeforeBr","includeSpaceBeforeBlock","includePreLineTrailingSpace","ignoreCharacters","defaultCaretCharacterOptions","en","defaultFindOptions","withinRange","wrap","defaultExpandOptions","trim","trimStart","trimEnd","defaultWordIteratorOptions","table","caption","colgroup","col","thead","tbody","tfoot","tr","td","th","set","nodeProto","getPosition","EMPTY","NON_SPACE","UNCOLLAPSIBLE_SPACE","COLLAPSIBLE_SPACE","TRAILING_SPACE_BEFORE_BLOCK","TRAILING_SPACE_IN_BLOCK","TRAILING_SPACE_BEFORE_BR","PRE_LINE_TRAILING_SPACE_BEFORE_LINE_BREAK","TRAILING_LINE_BREAK_AFTER_BR","INCLUDED_TRAILING_LINE_BREAK_AFTER_BR","getLength","isWhitespace","isCollapsedWhitespace","isIgnored","getTextNodeInfo","spaceRegex","collapseSpaces","cssWhitespace","preLine","hasInnerText","posAfterEl","firstPosInEl","prepopulateChar","isDefinitelyNonEmpty","isRenderedBlock","brs","getTrailingSpace","getNodeWrapper","getLeadingSpace","positionProto","characterType","isBr","prepopulatedChar","visibleChar","charType","finalizedChar","charAt","nodePassed","checkForTrailingSpace","checkForLeadingSpace","isCharInvariant","resolveLeadingAndTrailingSpaces","trailingSpace","leadingSpace","getPrecedingUncollapsedPosition","getPreviousPos","gotPreviousPos","previousPos","returnChar","thisChar","isIgnoredCharacter","cacheKey","cachedChar","collapsible","nextUncollapsed","nextOffset","previousOffset","createWrapperCache","nodeProperty","wrappersByProperty","wrapper","property","initCaches","uniqueIDSupported","elementCache","elementsCache","uniqueID","elWrapper","textNodeCache","otherNodeCache","wrapperCache","prefix","moveEnd","move","startTrimmed","endTrimmed","expandOptions","moved","endToken","newEndPos","startTokenizedTextProvider","startToken","newStartPos","endTokenizedTextProvider","selectCharacters","toCharacterRange","rangeStartsBeforeNode","rangeBetween","findText","searchTermParam","findResult","wrappedAround","pasteHtml","saveCharacterRanges","characterRange","restoreCharacterRanges","saved","innerText","createWordIterator","iteratorOptions","noMutation","createPosition","browser","iosVersion","userAgent","androidVersion","isIE","equation","re","rv","appName","parseFloat","$1","testElement","isGecko","isWebKit","isChrome","isOpera","USER_AGENT","hasContentEditableSupport","hasEditingApiSupport","execCommand","queryCommandSupported","queryCommandState","hasQuerySelectorSupport","querySelector","isIncompatibleMobileBrowser","isIos","isAndroid","isTouchDevice","supportsEvent","supportsSandboxedIframes","throwsMixedContentWarningWhenIframeSrcIsEmpty","displaysCaretInEmptyContentEditableCorrectly","hasCurrentStyleProperty","insertsLineBreaksOnReturn","supportsPlaceholderAttributeOn","eventName","supportsEventsInIframeCorrectly","supportsHTML5Tags","html5","supportsCommand","buggyCommands","formatBlock","insertUnorderedList","insertOrderedList","insertHTML","command","isBuggy","e1","queryCommandEnabled","e2","doesAutoLinkingInContentEditable","canDisableAutoLinking","clearsContentEditableCorrectly","supportsGetAttributeCorrectly","getAttribute","canSelectImagesInContentEditable","autoScrollsToCaret","autoClosesUnclosedTags","clonedTestElement","supportsNativeGetElementsByClassName","getElementsByClassName","supportsSelectionModify","needsSpaceAfterLineBreak","supportsSpeechApiOn","input","chromeVersion","crashesWhenDefineProperty","doesAsyncFocus","hasProblemsSettingCaretAfterImg","hasLiDeletingProblem","hasUndoInContextMenu","hasInsertNodeIssue","hasIframeFocusIssue","createsNestedInvalidMarkupAfterPaste","hasCaretBlockElementIssue","supportsMutationEvents","supportsModernPaste","fixStyleKey","usesControlRanges","hasCaretAtLinkEndInsertionProblems","array","needle","isArray","without","arrayToSubstract","newArr","newArray","map","callback","thisArg","A","unique","vals","max","idx","Dispatcher","on","handler","events","off","handlers","newHandlers","fire","payload","observe","stopObserving","merge","otherObj","isPlainObject","difference","diffObj","newObj","isFunction","Text","isEmpty","WHITE_SPACE_START","WHITE_SPACE_END","ENTITY_REG_EXP","ENTITY_MAP","&","<",">","\"","\t","string","str","interpolate","vars","by","search","escapeHTML","linebreaks","convertSpaces","c","autoLink","ignoreInClasses","_hasParentThatShouldBeIgnored","_parseNode","_convertUrlsToLinks","URL_REG_EXP","url","punctuation","TRAILING_CHAR_REG_EXP","opening","BRACKETS","realUrl","displayUrl","MAX_DISPLAY_LENGTH","substr","_getTempElement","tempElement","_wysihtml_tempElement","_wrapMatchesInNode","IGNORE_URLS_IN","childNodesLength",")","]","}","addClass","classList","hasClass","removeClass","elementClassName","thisOwner","otherOwner","point","parents","location_index","smallest_common_ancestor","this_index","other_index","ContentEditableArea","getContentEditable","readyCallback","_bindElement","_createElement","destroy","_loadElement","contentExists","that","innerHtml","_getHtml","loaded","setTimeout","templateVars","convertToList","_createListItem","list","listItem","_createList","listType","uneditableClass","childNode","lineBreak","isBlockElement","isLineBreak","currentListItem","lineBreaks","lineBreaksLength","getStyle","from","insert","after","replaceChild","copyAttributes","attributesToCopy","elementToCopyFrom","to","pasteElementAttributesTo","elementToCopyTo","attribute","andTo","BOX_SIZING_PROPERTIES","shouldIgnoreBoxSizingBorderBox","hasBoxSizingBorderBox","offsetWidth","copyStyles","stylesToCopy","cssText","pasteStylesTo","setStyles","delegate","target","domNode","defaultNodeTypes","is","emptyTextNode","ignoreWhitespace","regx","rangyBookmark","visible","isVisible","getTextContent","voidElement","query","prev","prevNode","types","ignoreBlankTexts","commonAncestor","parents1","parents2","lastLeafNode","leafClasses","escapeParent","newWrapper","split2","nodeWrap","curNode","transferContentTo","targetNode","removeOldWrapper","properties","classRegExp","styleProperty","hasOneStyle","styles","j","maxStyleP","styleValue","attr","getAttributes","attrList","hasOneAttribute","attributeValue","a","getAsDom","_innerHTMLShiv","_ensureHTML5Compatibility","_wysihtml_supportsHTML5Tags","HTML5_ELEMENTS","attributeName","HAS_GET_ATTRIBUTE_BUG","isLoadedImage","src","outerHTML","hasAttribute","attributes","specified","getParentElement","levels","getPastedHtml","clipboardData","getData","getPastedHtmlWithDiv","composer","selBookmark","cleanerDiv","scrollPos","getScrollPos","width","height","overflow","top","y","left","x","setBookmark","camelize","REG_EXP_CAMELIZE","toUpperCase","stylePropertyMapping","float","camelizedProperty","originalOverflow","needsOverflowReset","getPropertyValue","ingoreEmpty","textContent","_getDocumentIdentifier","_wysihtml_identifier","DOCUMENT_IDENTIFIER","LIVE_CACHE","hasElementWithClassName","cacheEntry","hasElementWithTagName","elementToInsert","before","into","insertCSS","rules","styleElement","styleSheet","link","head","complete","_isLineBreak","_isLineBreakOrBlockElement","eventNames","handlerWrapper","srcElement","preventDefault","stopPropagation","cancelBubble","detachEvent","parse","elementOrHtml_current","config_current","elementOrHtml","currentRules","defaultRules","isString","clearInternals","selectors","_applySelectorRules","_convert","cleanUp","unjoinNbsps","txtnodes","getCorrectInnerHTML","oldNode","newChild","nodeDisplay","oldNodeType","oldChilds","oldChildsLength","NODE_TYPE_MAPPING","blockElements","DEFAULT_NODE_NAME","selectorRules","els","elementHandlingMethods","_handleElement","rule","renameTag","tagRules","tags","scopeName","_wysihtml","unwrap","rename_tag","one_of_type","_testTypes","remove_action","remove_action_rename_to","_handleAttributes","_handleStyles","definition","type_definitions","_testType","classesLength","styleProp","nodeClasses","nodeStyles","m","typeCeckMethods","WHITE_SPACE_REG_EXP","sp","attrs","v","keep_styles","styleFloat","cssFloat","_getAttributesBeginningWith","beginning","returnAttributes","_checkAttribute","newAttributeValue","attributeCheckMethods","_checkAttributes","local_attributes","newValue","matchingAttributes","globalAttributes","checkAttributes","oldAttributes","imax","currentClass","newClass","setClass","set_class","add_class","addStyle","add_style","setAttributes","set_attributes","allowedClasses","newClasses","oldClasses","check_attributes","addClassMethods","addStyleMethods","newStyle","classes_blacklist","_handleText","_handleComment","comments","createComment","1","3","8","REG_EXP","href","alt","numbers","dimension","any","align_text","mapping","right","center","align_img","justify","clear_br","both","size_font","2","4","5","6","7","-","+","has_visible_contet","txt","visibleElements","offsetHeight","q","removeEmptyTextNodes","removeInvisibleSpaces","renameElement","newNodeName","newElement","replaceWithChildNodes","_isBlockElement","_appendLineBreak","resolveList","useLineBreaks","isLastChild","shouldAppendLineBreak","paragraph","isLastItem","lastListItem","lastElementChild","firstElementChild","windowProperties","windowProperties2","documentProperties","Sandbox","editableArea","_createIframe","insertInto","getIframe","_readyError","iframe","security","allowtransparency","frameborder","marginwidth","marginheight","onload","onreadystatechange","_onLoadIframe","iframeWindow","iframeDocument","charset","characterSet","sandboxHtml","stylesheets","open","write","close","onerror","fileName","lineNumber","_unset","setter","__defineGetter__","__defineSetter__","simulatePlaceholder","editor","view","placeholderText","placeholderClassName","CLASS_NAME","unset","composerIsVisible","hasPlaceholderSet","clear","placeholderSet","setValue","setTextContent","children","cleanPastedHTML","styleToRegex","styleStr","trimmedStr","escapedStr","extendRulesWithStyleExceptions","exceptStyles","tag","newRules","pickRuleset","ruleset","defaultSet","condition","newHtml","color","referenceNode","fontSize","ensureProperClearing","clearIfNecessary","TILDE_ESCAPED","urlToSearch","elementsWithTilde","redraw","getColorParseMethod","colorStr","colorTypeConf","colorParseMethods","getColorFormat","rgba","rgb","hex6","radix","hex3","makeParamRegExp","styleParser","parseColor","stylesStr","paramName","paramsRegex","colorType","colorMatch","d","unparseColor","colorFormat","hexRadix","parseFontSize","_getCumulativeOffsetTop","offsetTop","offsetParent","getDepth","getRangeNode","getWebkitSelectionFixNode","blankNode","placeholderRemover","delayedPlaceholderRemover","minWidth","expandRangeToSurround","common","start_depth","end_depth","contain","unselectableClass","getRange","setSelection","setBefore","createTemporaryCaretSpaceAfter","caretPlaceholder","caretPlaceholderText","keyDownHandler","setAfter","bind","which","ctrlKey","metaKey","zIndex","notVisual","fixWebkitSelection","lastSibling","setScrollPos","avoidInvisibleSpace","isElement","displayStyle","getSelectedNode","fixSelBorders","getSelectedOwnNodes","getOwnRanges","ownNodes","maxi","findNodesInSelection","curNodes","filterElements","containsUneditable","uneditables","getOwnUneditables","deleteRangeContents","startParent","endParent","ev","dispatchEvent","err","getCaretNode","getPreviousNode","ignoreEmpty","getNodesNearCaret","caretNode","textOffset","getSelectionParentsByTag","curEl","getRangeToNodeEnd","sNode","lastR","getRangeToNodeBeginning","caretIsInTheEndOfNode","ignoreIfSpaceIsBeforeCaret","endc","endtxt","beginc","begintxt","rangeToNodeEnd","caretIsFirstInSelection","includeLineBreaks","ws","whiteSpace","caretIsInTheBeginnig","ofNode","getBeforeSelection","includePrevLeaves","inTmpCaret","rng","prevLeaf","executeAndRestoreRangy","restoreScrollPosition","executeAndRestore","newCaretPlaceholder","prevSibling","newRange","oldScrollTop","oldScrollLeft","placeholderHtml","lastEditorElement","canAppendChild","anchorNodeTagNameLower","voidElements","splitElementAtCaret","contentAfterRangeStart","surround","nodeOptions","cssStyle","scrollIntoView","tolerance","hasScrollBars","scrollHeight","_wysihtmlScrollIntoViewElement","selectLine","_selectLine_W3C","getBoundingClientRect","_selectLineUniversal","includeRangyRangeHelpers","isHelperNode","initialBoundry","modify","toLineBoundary","location","getRangeRect","rect","testNode","amount","testRect","found","isLineBreakingElement","pnode","bottom","getText","getOwnNodes","splitBounds","rmax","fixRangeOverflow","containment","_detectInlineRangeProblems","previousElementSibling","_endOffsetForNode","dontFix","allUneditables","deepUneditables","tmpRanges","tmpRange","jmax","selectAll","blankEndNode","blankStartNode","doSelect","notSelected","getHtml","getPlainText","isEndToEndInNode","nodeNames","isInThisEditable","deselect","Commands","support","commandValue","state","stateValue","getOptions","createLink","opts","formatInline","correctOptionsForSimilarityCheck","isBlock","isBookmark","isLineBreaking","cleanup","newBlockElements","nbIdx","allElements","BLOCK_ELEMENTS","noEditQuery","classNames","uneditableContainer","defaultNodeName","findOuterBlock","allBlocks","UNNESTABLE_BLOCK_ELEMENTS","cloneOuterInlines","innerNode","el2","INLINE_ELEMENTS","outerNode","applyOptionsToElement","removeOptionsFromElement","unwrapped","removeAttribute","applySurroundingLineBreaks","unwrapBlocksFromContent","nextEl","prevEl","blocks","fixRangeCoverage","fixNotPermittedInsertionPoints","lis","maxj","rangePos","closestLI","newRanges","getOptionsWithNodename","defaultName","correctedOptions","injectFragmentToRange","firstOuterBlock","outerInlines","first","last","rangeStartContainer","fc","lc","clearRangeBlockFromating","closestBlockName","cmax","removeSurroundingLineBreaks","prevPrev","wrapRangeWithElement","similarOptions","isWhitespaceBefore","isWhitespaceAfter","similarOuterBlock","splitAllBlocks","trimBlankTextsAndBreaks","tmpEl","getParentBlockNodeName","expandCaretToBlock","insertingNodeName","selectElements","lastEl","lastOffset","formatSelection","parseOptions","caretIsOnEmptyLine","caretInfo","parentNodes","hasNoClass","hasNoStyle","hasNoAttributes","isSameNode","element1","element2","classes1","classes2","attr1","attr2","createWrapNode","defaultTag","containsSameAttributes","updateElementAttributes","newAttributes","fullContain","updateFormatOfElement","nodeNameQuery","nodeQueryMatch","queryAliasMap","getSelectedTextNodes","findSimilarTextNodeWrapper","exact","isSimilarNode","selectRange","selectTextNodes","lastText","selectTextNode","getState","searchNodes","partial","caretIsInsideWord","beforeChar","afterChar","getRangeForWord","offsetStart","offsetEnd","txtNodes","wordOffset","mergeContents","mergeConsequentSimilarElements","cleanupAndSetSelection","cleanupAndSetCaret","formatTextNode","wrapNode","unformatTextNode","newWrapNode","removeFormatFromTextNode","formatTextRange","updateFormat","wordObj","exactState","removeFormat","applyFormat","fixOptions","b","strong","em","indentList","listEls","tryToPushLiLevel","liNodes","listTag","prevLi","liNode","prevLiList","LINE_BREAK","insertLineBreak","insertList","isNode","findListEl","other","parentLi","otherNodeName","handleSameTypeList","otherLists","innerLists","getListsInSelection","l","handleOtherTypeList","renameLists","createListFallback","tempClassName","getTime","selectedNode","cmd","outdentList","tryToPullLiLevel","listNode","outerListNode","outerLiNode","afterList","getAfterList","newList","redo","undoManager","removeLink","undo","Z_KEY","Y_KEY","MAX_HISTORY_ENTRIES","DATA_ATTR_NODE","DATA_ATTR_OFFSET","UndoManager","historyStr","historyDom","transact","_observe","lastKey","sandbox","altKey","keyCode","isUndo","shiftKey","isRedo","previousHtml","currentHtml","getValue","getChildNodeIndex","undoPossible","redoPossible","historyEntry","getChildNodeByIndex","View","textareaElement","noTextarea","_observeViewChange","currentView","show","hide","disable","enable","Composer","editableElement","textarea","contentEditableMode","_initContentEditableArea","_initSandbox","_displayStyle","disabled","setToEnd","_create","_createWysiwygFormField","form","hiddenField","_initAutoLinking","placeholder","_initObjectResizing","_initUndoManager","_initLineBreaking","initSync","sync","supportsDisablingOfAutoLinking","supportsAutoLinking","nodeWithSelection","isInUneditable","links","urlRegExp","newTextContent","propertiesLength","adjust","USE_NATIVE_LINE_BREAK_INSIDE_TAGS","LIST_TAGS","defaultPrevented","blockElement","HOST_TEMPLATE","TEXT_FORMATTING","BOX_FORMATTING","ADDITIONAL_CSS_RULES","focusWithoutScrolling","setActive","elementStyle","originalScrollTop","originalScrollLeft","originalStyles","WebkitUserSelect","displayValueForCopying","originalActiveElement","hasPlaceholder","originalPlaceholder","originalDisplayValue","originalDisabled","focusStylesHost","blurStylesHost","disabledStylesHost","blur","boxFormattingStyles","shortcuts","66","73","85","actions","addListeners","removeListeners","fixLastBrDeletionInTable","force","aNode","handleUneditableDeletion","fixDeleteInTheBeginningOfBlock","selNode","commonAncestorNode","fixDeleteInTheBeginningOfLi","firstNode","intermediaryNode","isInBeginnig","fixDeleteInTheBeginningOfControlSelection","afterCaretNode","doLineBreaksModeEnterWithCaret","breakNodes","doubleLineBreakEscapesBlock","brNode","br1","br2","handleDeleteKeyPress","handleEnterKeyPress","targetEl","handleTabKeyDown","handleDomNodeRemoved","domNodeRemovedInterval","clearInterval","handleUserInteraction","handleFocus","focusState","handleBlur","changeevent","create","handlePaste","handleCopy","copyedFromMarking","setData","handleKeyUp","handleMouseDown","allImages","notMyImages","myImages","lastMouseDownPos","clientX","clientY","handleIEControlSelect","caretPosition","moveToPoint","handleClick","uneditable","handleDrop","handleKeyDown","handleTabKey","handleKeyPress","invisibleSpace","space","observeActions","focusBlurElement","setInterval","INTERVAL","Synchronizer","fromComposerToTextarea","shouldParseHtml","fromTextareaToComposer","textareaValue","interval","startInterval","stopInterval","SourceView","switchToTextarea","composerStyles","switchToComposer","Textarea","supportsPlaceholder","eventMapping","focusin","focusout","undef","Editor","parserRules","br","span","div","u","pasteParserRulesets","parser","supportTouchDevices","_isCompatible","_initParser","handleBeforeLoad","sourceView","synchronizer","runEditorExtenders","isCompatible","htmlOrElement","customRules","parseContext","oldHtml","_cleanAndPaste","pastedHTML","cleanHtml"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"wysihtml.min.js","sources":["../wysihtml.js"],"names":["wysihtml","version","commands","dom","quirks","toolbar","lang","selection","views","editorExtenders","extendEditor","extender","this","push","INVISIBLE_SPACE","INVISIBLE_SPACE_REG_EXP","VOID_ELEMENTS","PERMITTED_PHRASING_CONTENT_ONLY","EMPTY_FUNCTION","ELEMENT_NODE","TEXT_NODE","BACKSPACE_KEY","ENTER_KEY","ESCAPE_KEY","SPACE_KEY","TAB_KEY","DELETE_KEY","polyfills","win","doc","methods","normalizeHasCaretError","originalTarget","s","ret","scrollTop","window","pageYOffset","scrollLeft","pageXOffset","e","createElement","t1","createTextNode","t2","t3","r","createRange","document","activeElement","nodeType","indexOf","nodeName","type","node","start","selectionStart","end","selectionEnd","getSelection","anchorNode","anchorOffset","focusNode","focusOffset","setAttribute","appendChild","body","setStart","setEnd","removeAllRanges","addRange","normalize","childNodes","length","firstChild","parentNode","removeChild","setSelectionRange","focus","scrollTo","apply","nativeCustomEventSupported","p","CustomEvent","detail","foo","ELEMENT","matches","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","selector","element","elements","ownerDocument","querySelectorAll","index","closest","parentElement","remove","Element","prototype","documentElement","Object","defineProperty","HTMLElement","get","update","fn","value","classes","self","className","split","join","add","splice","toggle","contains","item","i","getTextNodes","all","nextSibling","concat","isInDom","n","normalizeFix","nf","Node","texts","defaultView","anode","aoffset","aelement","undefined","fnode","foffset","felement","prevTxt","shift","curText","nodeValue","compareDocumentPosition","DOCUMENT_POSITION_PRECEDING","DOCUMENT_POSITION_CONTAINS","previousSibling","Array","call","F","removeEventListener","readyState","addEventListener","event","params","bubbles","cancelable","evt","createEvent","initCustomEvent","Event","Base","extend","_instance","_static","_prototyping","proto","base","constructor","klass","_constructing","arguments","ancestor","forEach","implement","toString","valueOf","init","source","test","method","previous","returnValue","toSource","hidden","key","object","block","context","String","rangy","isHostMethod","o","t","FUNCTION","OBJECT","isHostObject","isHostProperty","UNDEFINED","createMultiplePropertyTest","testFunc","props","isTextRange","range","areHostMethods","textRangeMethods","areHostProperties","textRangeProperties","getBody","getElementsByTagName","consoleLog","msg","console","log","alertOrLog","shouldAlert","isBrowser","alert","fail","reason","api","initialized","supported","config","alertOnFail","warn","alertOnWarn","getErrorDesc","ex","message","description","testRange","implementsDomRange","implementsTextRange","domRangeMethods","domRangeProperties","toLowerCase","createTextRange","features","module","errorMessage","moduleName","modules","Module","len","initListeners","deprecationNotice","deprecated","replacement","name","createAliasForDeprecatedMethod","owner","util","toArray","shim","shimListeners","dependencies","initializer","createModule","initFunc","newModule","stack","RangePrototype","SelectionPrototype","areHostObjects","arr","func","preferTextRange","autoInitialize","rangyAutoInitialize","hasOwnProperty","obj","deep","createOptions","optionsParam","defaults","options","el","slice","arrayLike","addListener","eventType","listener","attachEvent","addInitListener","addShimListener","createMissingNativeApi","requiredModule","requiredModuleNames","Error","createError","createCoreModule","rangePrototype","selectionPrototype","isHtmlNamespace","ns","namespaceURI","UNDEF","parent","getNodeIndex","getNodeLength","getCommonAncestor","node1","node2","ancestors","arrayContains","isAncestorOf","descendant","selfIsAncestor","isOrIsAncestorOf","getClosestAncestorIn","isCharacterDataNode","isTextOrCommentNode","insertAfter","precedingNode","nextNode","insertBefore","splitDataNode","positionsToPreserve","newNode","cloneNode","deleteData","position","offset","getDocument","getWindow","parentWindow","getIframeDocument","iframeEl","contentDocument","contentWindow","getIframeWindow","isWindow","getContentDocument","methodName","tagName","getRootContainer","comparePoints","nodeA","offsetA","nodeB","offsetB","nodeC","root","childA","childB","isBrokenNode","inspectNode","crashyTextNodes","data","idAttr","id","innerHTML","fragmentFromNodeChildren","child","fragment","createDocumentFragment","createTestElement","html","contentEditable","bodyFirstChild","removeNode","NodeIterator","_next","createIterator","DomPosition","DOMException","codeName","code","textNode","val","getComputedStyleProperty","getComputedStyle","propName","currentStyle","_current","hasNext","next","detach","equals","pos","inspect","INDEX_SIZE_ERR","HIERARCHY_REQUEST_ERR","WRONG_DOCUMENT_ERR","NO_MODIFICATION_ALLOWED_ERR","NOT_FOUND_ERR","NOT_SUPPORTED_ERR","INVALID_STATE_ERR","INVALID_NODE_TYPE_ERR","isNonTextPartiallySelected","startContainer","endContainer","getRangeDocument","getRangeRoot","getBoundaryBeforeNode","getBoundaryAfterNode","insertNodeAtPosition","firstNodeInserted","rangesIntersect","rangeA","rangeB","touchingIsIntersecting","assertRangeValid","startComparison","startOffset","endOffset","endComparison","cloneSubtree","iterator","partiallySelected","subIterator","frag","isPartiallySelectedSubtree","getSubtreeIterator","iterateSubtree","rangeIterator","iteratorState","it","stop","subRangeIterator","deleteSubtree","extractSubtree","getNodesInRange","nodeTypes","filter","regex","filterNodeTypes","filterExists","RegExp","nodes","RangeIterator","sc","ec","getName","clonePartiallySelectedTextNodes","collapsed","so","eo","commonAncestorContainer","isSingleCharacterDataNode","_first","_last","createAncestorFinder","assertNoDocTypeNotationEntityAncestor","allowSelf","getDocTypeNotationEntityAncestor","assertValidNodeType","invalidTypes","assertValidOffset","assertSameDocumentOrFragment","getDocumentOrFragmentContainer","assertNodeNotReadOnly","getReadonlyAncestor","assertNode","isValidOffset","isRangeValid","splitRangeBoundaries","startEndSame","setStartAndEnd","rangeToHtml","container","cloneContents","copyComparisonConstantsToObject","START_TO_START","s2s","START_TO_END","s2e","END_TO_END","e2e","END_TO_START","e2s","NODE_BEFORE","n_b","NODE_AFTER","n_a","NODE_BEFORE_AND_AFTER","n_b_a","NODE_INSIDE","n_i","copyComparisonConstants","createRangeContentRemover","remover","boundaryUpdater","boundary","reset","createPrototypeRange","createBeforeAfterNodeSetter","isBefore","isStart","beforeAfterNodeTypes","rootContainerNodeTypes","setRangeStart","setRangeEnd","args","setBoundary","setStartBefore","setStartAfter","setEndBefore","setEndAfter","collapse","selectNodeContents","selectNode","extractContents","deleteContents","canSurroundContents","boundariesInvalid","splitBoundaries","splitBoundariesPreservingPositions","normalizeBoundaries","sibling","mergeForward","appendData","mergeBackward","nodeLength","insertData","nodeIndex","normalizeStart","endNode","startNode","collapseToPoint","updateCollapsedAndCommonAncestor","updateBoundaries","Range","current","subRange","cloneRange","readonlyNodeTypes","insertableNodeTypes","surroundNodeTypes","styleEl","htmlParsingConforms","createContextualFragment","fragmentStr","rangeProperties","compareBoundaryPoints","how","prefixA","prefixB","insertNode","clone","surroundContents","content","hasChildNodes","lastChild","prop","textParts","compareNode","comparePoint","toHtml","intersectsNode","isPointInRange","intersectsRange","intersectsOrTouchesRange","intersection","intersectionRange","union","unionRange","containsNode","allowPartial","containsNodeContents","containsRange","containsNodeText","nodeRange","textNodes","getNodes","lastTextNode","pop","collapseBefore","collapseAfter","getBookmark","containerNode","preSelectionRange","moveToBookmark","bookmark","charIndex","nextCharIndex","nodeStack","foundStart","rangesEqual","isValid","r1","r2","DomRange","WrappedRange","WrappedTextRange","updateRangeProperties","nativeRange","updateNativeRange","startMoved","endMoved","nativeRangeDifferent","rangeProto","refresh","testTextNode","oppositeName","range2","createNativeRange","getTextRangeContainerElement","textRange","parentEl","duplicate","startEl","endEl","startEndContainer","textRangeIsCollapsed","compareEndPoints","getTextRangeBoundaryPosition","wholeRangeContainerElement","isCollapsed","startInfo","workingRange","containerElement","canHaveHTML","boundaryPosition","nodeInfo","workingNode","comparison","previousNode","boundaryNode","workingComparisonType","childNodeCount","moveToElementText","Math","floor","setEndPoint","tempRange","rangeLength","text","replace","moveStart","createBoundaryTextRange","boundaryParent","boundaryOffset","nodeIsDataNode","startBoundary","rangeContainerElement","rangeToTextRange","startRange","endRange","toTextRange","globalObj","f","Function","createRangyRange","isDirectionBackward","dir","WrappedSelection","getWinSelection","winParam","getDocSelection","winSelectionIsBackward","sel","backward","updateAnchorAndFocusFromRange","anchorPrefix","focusPrefix","updateAnchorAndFocusFromNativeSelection","nativeSel","nativeSelection","updateEmptySelection","rangeCount","_ranges","getNativeRange","rangeContainsSingleElement","rangeNodes","getSingleElementFromRange","updateFromTextRange","wrappedRange","updateControlSelection","docSelection","controlRange","addRangeToControlSelection","rangeElement","newControlRange","createControlRange","select","deleteProperties","detached","actOnCachedSelection","action","cached","cachedRangySelections","createControlSelection","ranges","assertNodeInSameDocument","createStartOrEndSetter","getRangeAt","setSingleRange","isBackward","rangeInspects","anchor","checkSelectionRanges","getNativeSelection","selectionIsCollapsed","BOOLEAN","NUMBER","CONTROL","implementsWinGetSelection","implementsDocSelection","useDocumentSelection","isSelectionValid","testSelection","selectionHasAnchorAndFocus","selectionHasExtend","selectionHasRangeCount","selectionSupportsMultipleRanges","collapsedNonEditableSelectionsSupported","addRangeBackwardToNative","originalSelectionRangeCount","selectionHasMultipleRanges","originalSelectionRanges","originalSelectionBackward","testEl","chromeMatch","navigator","appVersion","match","parseInt","testControlRange","implementsControlRange","getSelectionRangeAt","docSel","selProto","addRangeBackward","direction","previousRangeCount","clonedNativeRange","selectionIsBackward","setRanges","empty","refreshSelection","checkForChanges","oldRanges","oldAnchorNode","oldAnchorOffset","removeRangeManually","getAllRanges","removeRange","removed","isBackwards","rangeTexts","collapseToStart","collapseToEnd","selectAllChildren","deleteFromDocument","eachRange","callMethodOnEachRange","results","changeEachRange","rangeBookmarks","rangeBookmark","selRanges","saveRanges","restoreRanges","rangeHtmls","getNativeTextRange","detachAll","Selection","docReady","loadHandler","gEBI","getElementById","insertRangeBoundaryMarker","atStart","markerEl","markerId","Date","random","boundaryRange","style","lineHeight","display","markerTextChar","setRangeBoundary","compareRanges","saveRange","startMarkerId","endMarkerId","restoreRange","rangeInfo","rangeInfos","sort","saveSelection","restored","restoreSelection","savedSelection","preserveDirection","removeMarkerElement","removeMarkers","defaultTokenizer","chars","wordOptions","createTokenRange","isWord","tokenRanges","result","wordStart","wordEnd","word","lastWordEnd","wordRegex","exec","includeTrailingSpace","nonLineBreakWhiteSpaceRegex","convertCharRangeToToken","tokenRange","tokenChars","token","tokenize","tokenizer","tokens","normalizeIgnoredCharacters","ignoredCharacters","ignoredChars","ignoredCharsArray","char1","char2","charCodeAt","createWordOptions","language","defaultLanguage","defaultWordOptions","createNestedOptions","characterOptions","defaultCharacterOptions","getComputedDisplay","tableCssDisplayBlock","defaultDisplayValueForTag","isHidden","getAncestorsAndSelf","isVisibilityHiddenTextNode","isBlockNode","containsPositions","getAncestors","unshift","nextNodeDescendants","excludeChildren","isWhitespaceNode","computedWhiteSpace","isCollapsedWhitespaceNode","isCollapsedNode","isIgnoredNode","Cache","store","createCachingGetter","objProperty","cache","cachedCount","uncachedCount","NodeWrapper","session","positions","Position","nodeWrapper","inspectPosition","startSession","endSession","currentSession","Session","getSession","createCharacterIterator","startPos","endPos","charPos","finished","previousVisible","nextVisible","previousTextPos","returnPreviousTextPos","character","getCharacter","rewind","dispose","createTokenizedTextProvider","consumeWord","forward","textChar","newChars","forwardIterator","backwardIterator","passedWordBoundary","insideWord","allWhiteSpaceRegex","forwardChars","backwardChars","reverse","forwardTokensBuffer","arrayIndexOf","backwardTokensBuffer","nextEndToken","lastToken","previousStartToken","movePositionBy","unit","count","currentPos","charIterator","nextPos","unitsMoved","newPos","absCount","abs","CHARACTER","WORD","tokenizedTextProvider","isLeadingSpace","isTrailingSpace","createRangeCharacterIterator","rangeStart","getRangeBoundaryPosition","rangeEnd","itStart","itEnd","getRangeCharacters","isWholeWord","expand","findTextFromPosition","initialPos","searchTerm","isRegex","searchScopeRange","findOptions","handleMatch","startIndex","endIndex","valid","wholeWordsOnly","currentChar","matchStartIndex","matchEndIndex","insideRegexMatch","caseSensitive","createEntryPointFunction","sessionRunning","createRangeBoundaryMover","moveOptions","defaultMoveOptions","boundaryIsStart","moveResult","createRangeTrimmer","trimCharCount","trimmed","createSelectionTrimmer","spacesRegex","spacesMinusLineBreaksRegex","trailingSpaceInBlockCollapses","trailingSpaceBeforeBrCollapses","trailingSpaceBeforeBlockCollapses","trailingSpaceBeforeLineBreakInPreLineCollapses","includeBlockContentTrailingSpace","includeSpaceBeforeBr","includeSpaceBeforeBlock","includePreLineTrailingSpace","ignoreCharacters","defaultCaretCharacterOptions","en","defaultFindOptions","withinRange","wrap","defaultExpandOptions","trim","trimStart","trimEnd","defaultWordIteratorOptions","table","caption","colgroup","col","thead","tbody","tfoot","tr","td","th","set","nodeProto","getPosition","EMPTY","NON_SPACE","UNCOLLAPSIBLE_SPACE","COLLAPSIBLE_SPACE","TRAILING_SPACE_BEFORE_BLOCK","TRAILING_SPACE_IN_BLOCK","TRAILING_SPACE_BEFORE_BR","PRE_LINE_TRAILING_SPACE_BEFORE_LINE_BREAK","TRAILING_LINE_BREAK_AFTER_BR","INCLUDED_TRAILING_LINE_BREAK_AFTER_BR","getLength","isWhitespace","isCollapsedWhitespace","isIgnored","getTextNodeInfo","spaceRegex","collapseSpaces","cssWhitespace","preLine","hasInnerText","posAfterEl","firstPosInEl","prepopulateChar","isDefinitelyNonEmpty","isRenderedBlock","brs","getTrailingSpace","getNodeWrapper","getLeadingSpace","positionProto","characterType","isBr","prepopulatedChar","visibleChar","charType","finalizedChar","charAt","nodePassed","checkForTrailingSpace","checkForLeadingSpace","isCharInvariant","resolveLeadingAndTrailingSpaces","trailingSpace","leadingSpace","getPrecedingUncollapsedPosition","getPreviousPos","gotPreviousPos","previousPos","returnChar","thisChar","isIgnoredCharacter","cacheKey","cachedChar","collapsible","nextUncollapsed","nextOffset","previousOffset","createWrapperCache","nodeProperty","wrappersByProperty","wrapper","property","initCaches","uniqueIDSupported","elementCache","elementsCache","uniqueID","elWrapper","textNodeCache","otherNodeCache","wrapperCache","prefix","moveEnd","move","startTrimmed","endTrimmed","expandOptions","moved","endToken","newEndPos","startTokenizedTextProvider","startToken","newStartPos","endTokenizedTextProvider","selectCharacters","toCharacterRange","rangeStartsBeforeNode","rangeBetween","findText","searchTermParam","findResult","wrappedAround","pasteHtml","saveCharacterRanges","characterRange","restoreCharacterRanges","saved","innerText","createWordIterator","iteratorOptions","noMutation","createPosition","browser","iosVersion","userAgent","androidVersion","isIE","equation","re","rv","appName","parseFloat","$1","testElement","isGecko","isWebKit","isChrome","isOpera","USER_AGENT","hasContentEditableSupport","hasEditingApiSupport","execCommand","queryCommandSupported","queryCommandState","hasQuerySelectorSupport","querySelector","isIncompatibleMobileBrowser","isIos","isAndroid","isTouchDevice","supportsEvent","supportsSandboxedIframes","throwsMixedContentWarningWhenIframeSrcIsEmpty","displaysCaretInEmptyContentEditableCorrectly","hasCurrentStyleProperty","insertsLineBreaksOnReturn","supportsPlaceholderAttributeOn","eventName","supportsEventsInIframeCorrectly","supportsHTML5Tags","html5","supportsCommand","buggyCommands","formatBlock","insertUnorderedList","insertOrderedList","insertHTML","command","isBuggy","e1","queryCommandEnabled","e2","doesAutoLinkingInContentEditable","canDisableAutoLinking","clearsContentEditableCorrectly","supportsGetAttributeCorrectly","getAttribute","canSelectImagesInContentEditable","autoScrollsToCaret","autoClosesUnclosedTags","clonedTestElement","supportsNativeGetElementsByClassName","getElementsByClassName","supportsSelectionModify","needsSpaceAfterLineBreak","supportsSpeechApiOn","input","chromeVersion","crashesWhenDefineProperty","doesAsyncFocus","hasProblemsSettingCaretAfterImg","hasLiDeletingProblem","hasUndoInContextMenu","hasInsertNodeIssue","hasIframeFocusIssue","createsNestedInvalidMarkupAfterPaste","hasCaretBlockElementIssue","supportsMutationEvents","supportsModernPaste","fixStyleKey","usesControlRanges","hasCaretAtLinkEndInsertionProblems","array","needle","isArray","without","arrayToSubstract","newArr","newArray","map","callback","thisArg","A","unique","vals","max","idx","Dispatcher","on","handler","events","off","handlers","newHandlers","fire","payload","observe","stopObserving","merge","otherObj","isPlainObject","difference","diffObj","newObj","isFunction","Text","isEmpty","WHITE_SPACE_START","WHITE_SPACE_END","ENTITY_REG_EXP","ENTITY_MAP","&","<",">","\"","\t","string","str","interpolate","vars","by","search","escapeHTML","linebreaks","convertSpaces","c","autoLink","ignoreInClasses","_hasParentThatShouldBeIgnored","_parseNode","_convertUrlsToLinks","URL_REG_EXP","url","punctuation","TRAILING_CHAR_REG_EXP","opening","BRACKETS","realUrl","displayUrl","MAX_DISPLAY_LENGTH","substr","_getTempElement","tempElement","_wysihtml_tempElement","_wrapMatchesInNode","IGNORE_URLS_IN","childNodesLength",")","]","}","addClass","classList","hasClass","removeClass","elementClassName","thisOwner","otherOwner","point","parents","location_index","smallest_common_ancestor","this_index","other_index","ContentEditableArea","getContentEditable","readyCallback","_bindElement","_createElement","destroy","_loadElement","contentExists","that","innerHtml","_getHtml","loaded","setTimeout","templateVars","convertToList","_createListItem","list","listItem","_createList","listType","uneditableClass","childNode","lineBreak","isBlockElement","isLineBreak","currentListItem","lineBreaks","lineBreaksLength","getStyle","from","insert","after","replaceChild","copyAttributes","attributesToCopy","elementToCopyFrom","to","pasteElementAttributesTo","elementToCopyTo","attribute","andTo","BOX_SIZING_PROPERTIES","shouldIgnoreBoxSizingBorderBox","hasBoxSizingBorderBox","offsetWidth","copyStyles","stylesToCopy","cssText","pasteStylesTo","setStyles","delegate","target","domNode","defaultNodeTypes","is","emptyTextNode","ignoreWhitespace","regx","rangyBookmark","visible","isVisible","getTextContent","voidElement","query","prev","prevNode","types","ignoreBlankTexts","commonAncestor","parents1","parents2","lastLeafNode","leafClasses","escapeParent","newWrapper","split2","nodeWrap","curNode","transferContentTo","targetNode","removeOldWrapper","properties","classRegExp","styleProperty","hasOneStyle","styles","j","maxStyleP","styleValue","attr","getAttributes","attrList","hasOneAttribute","attributeValue","a","getAsDom","_innerHTMLShiv","_ensureHTML5Compatibility","_wysihtml_supportsHTML5Tags","HTML5_ELEMENTS","attributeName","HAS_GET_ATTRIBUTE_BUG","isLoadedImage","src","outerHTML","hasAttribute","attributes","specified","getParentElement","levels","getPastedHtml","clipboardData","getData","getPastedHtmlWithDiv","composer","selBookmark","cleanerDiv","scrollPos","getScrollPos","width","height","overflow","top","y","left","x","setBookmark","camelize","REG_EXP_CAMELIZE","toUpperCase","stylePropertyMapping","float","camelizedProperty","originalOverflow","needsOverflowReset","getPropertyValue","ingoreEmpty","textContent","_getDocumentIdentifier","_wysihtml_identifier","DOCUMENT_IDENTIFIER","LIVE_CACHE","hasElementWithClassName","cacheEntry","hasElementWithTagName","elementToInsert","before","into","insertCSS","rules","styleElement","styleSheet","link","head","complete","_isLineBreak","_isLineBreakOrBlockElement","eventNames","handlerWrapper","srcElement","preventDefault","stopPropagation","cancelBubble","detachEvent","parse","elementOrHtml_current","config_current","elementOrHtml","currentRules","defaultRules","isString","clearInternals","selectors","_applySelectorRules","_convert","cleanUp","unjoinNbsps","txtnodes","getCorrectInnerHTML","oldNode","newChild","nodeDisplay","oldNodeType","oldChilds","oldChildsLength","NODE_TYPE_MAPPING","blockElements","DEFAULT_NODE_NAME","selectorRules","els","elementHandlingMethods","_handleElement","rule","renameTag","tagRules","tags","scopeName","_wysihtml","unwrap","rename_tag","one_of_type","_testTypes","remove_action","remove_action_rename_to","_handleAttributes","_handleStyles","definition","type_definitions","_testType","classesLength","styleProp","nodeClasses","nodeStyles","m","typeCeckMethods","WHITE_SPACE_REG_EXP","sp","attrs","v","keep_styles","styleFloat","cssFloat","_getAttributesBeginningWith","beginning","returnAttributes","_checkAttribute","newAttributeValue","attributeCheckMethods","_checkAttributes","local_attributes","newValue","matchingAttributes","globalAttributes","checkAttributes","oldAttributes","imax","currentClass","newClass","setClass","set_class","add_class","addStyle","add_style","setAttributes","set_attributes","allowedClasses","newClasses","oldClasses","check_attributes","addClassMethods","addStyleMethods","newStyle","classes_blacklist","_handleText","_handleComment","comments","createComment","1","3","8","REG_EXP","href","alt","numbers","dimension","any","align_text","mapping","right","center","align_img","justify","clear_br","both","size_font","2","4","5","6","7","-","+","has_visible_contet","txt","visibleElements","offsetHeight","q","removeEmptyTextNodes","removeInvisibleSpaces","renameElement","newNodeName","newElement","replaceWithChildNodes","_isBlockElement","_appendLineBreak","resolveList","useLineBreaks","isLastChild","shouldAppendLineBreak","paragraph","isLastItem","lastListItem","lastElementChild","firstElementChild","windowProperties","windowProperties2","documentProperties","Sandbox","editableArea","_createIframe","insertInto","getIframe","_readyError","iframe","security","allowtransparency","frameborder","marginwidth","marginheight","onload","onreadystatechange","_onLoadIframe","iframeWindow","iframeDocument","charset","characterSet","sandboxHtml","stylesheets","open","write","close","onerror","fileName","lineNumber","_unset","setter","__defineGetter__","__defineSetter__","simulatePlaceholder","editor","view","placeholderText","placeholderClassName","CLASS_NAME","unset","composerIsVisible","hasPlaceholderSet","clear","placeholderSet","setValue","setTextContent","children","cleanPastedHTML","styleToRegex","styleStr","trimmedStr","escapedStr","extendRulesWithStyleExceptions","exceptStyles","tag","newRules","pickRuleset","ruleset","defaultSet","condition","newHtml","color","referenceNode","fontSize","ensureProperClearing","clearIfNecessary","TILDE_ESCAPED","urlToSearch","elementsWithTilde","redraw","getColorParseMethod","colorStr","colorTypeConf","colorParseMethods","getColorFormat","rgba","rgb","hex6","radix","hex3","makeParamRegExp","styleParser","parseColor","stylesStr","paramName","paramsRegex","colorType","colorMatch","d","unparseColor","colorFormat","hexRadix","parseFontSize","_getCumulativeOffsetTop","offsetTop","offsetParent","getDepth","getRangeNode","getWebkitSelectionFixNode","blankNode","placeholderRemover","delayedPlaceholderRemover","minWidth","expandRangeToSurround","common","start_depth","end_depth","contain","unselectableClass","getRange","setSelection","setBefore","createTemporaryCaretSpaceAfter","caretPlaceholder","caretPlaceholderText","keyDownHandler","setAfter","bind","which","ctrlKey","metaKey","zIndex","notVisual","fixWebkitSelection","lastSibling","setScrollPos","avoidInvisibleSpace","isElement","displayStyle","getSelectedNode","fixSelBorders","getSelectedOwnNodes","getOwnRanges","ownNodes","maxi","findNodesInSelection","curNodes","filterElements","containsUneditable","uneditables","getOwnUneditables","deleteRangeContents","startParent","endParent","ev","dispatchEvent","err","getCaretNode","getPreviousNode","ignoreEmpty","getNodesNearCaret","caretNode","textOffset","getSelectionParentsByTag","curEl","getRangeToNodeEnd","sNode","lastR","getRangeToNodeBeginning","caretIsInTheEndOfNode","ignoreIfSpaceIsBeforeCaret","endc","endtxt","beginc","begintxt","rangeToNodeEnd","caretIsFirstInSelection","includeLineBreaks","ws","whiteSpace","caretIsInTheBeginnig","ofNode","getBeforeSelection","includePrevLeaves","inTmpCaret","rng","prevLeaf","executeAndRestoreRangy","restoreScrollPosition","executeAndRestore","newCaretPlaceholder","prevSibling","newRange","oldScrollTop","oldScrollLeft","placeholderHtml","lastEditorElement","canAppendChild","anchorNodeTagNameLower","voidElements","splitElementAtCaret","contentAfterRangeStart","surround","nodeOptions","cssStyle","scrollIntoView","tolerance","hasScrollBars","scrollHeight","_wysihtmlScrollIntoViewElement","selectLine","_selectLine_W3C","getBoundingClientRect","_selectLineUniversal","includeRangyRangeHelpers","isHelperNode","initialBoundry","modify","toLineBoundary","location","getRangeRect","rect","testNode","amount","testRect","found","isLineBreakingElement","pnode","bottom","getText","getOwnNodes","splitBounds","rmax","fixRangeOverflow","containment","_detectInlineRangeProblems","previousElementSibling","_endOffsetForNode","dontFix","allUneditables","deepUneditables","tmpRanges","tmpRange","jmax","selectAll","blankEndNode","blankStartNode","doSelect","notSelected","getHtml","getPlainText","isEndToEndInNode","nodeNames","isInThisEditable","deselect","Commands","support","commandValue","state","stateValue","getOptions","createLink","opts","formatInline","correctOptionsForSimilarityCheck","isBlock","isBookmark","isLineBreaking","cleanup","newBlockElements","nbIdx","allElements","BLOCK_ELEMENTS","noEditQuery","classNames","uneditableContainer","defaultNodeName","findOuterBlock","allBlocks","UNNESTABLE_BLOCK_ELEMENTS","cloneOuterInlines","innerNode","el2","INLINE_ELEMENTS","outerNode","applyOptionsToElement","removeOptionsFromElement","unwrapped","removeAttribute","applySurroundingLineBreaks","unwrapBlocksFromContent","nextEl","prevEl","blocks","fixRangeCoverage","fixNotPermittedInsertionPoints","lis","maxj","rangePos","closestLI","newRanges","getOptionsWithNodename","defaultName","correctedOptions","injectFragmentToRange","firstOuterBlock","outerInlines","first","last","rangeStartContainer","fc","lc","clearRangeBlockFromating","closestBlockName","cmax","removeSurroundingLineBreaks","prevPrev","wrapRangeWithElement","similarOptions","isWhitespaceBefore","isWhitespaceAfter","similarOuterBlock","splitAllBlocks","trimBlankTextsAndBreaks","tmpEl","getParentBlockNodeName","expandCaretToBlock","insertingNodeName","selectElements","lastEl","lastOffset","formatSelection","parseOptions","caretIsOnEmptyLine","caretInfo","parentNodes","hasNoClass","hasNoStyle","hasNoAttributes","isSameNode","element1","element2","classes1","classes2","attr1","attr2","createWrapNode","defaultTag","containsSameAttributes","updateElementAttributes","newAttributes","fullContain","updateFormatOfElement","nodeNameQuery","nodeQueryMatch","queryAliasMap","getSelectedTextNodes","findSimilarTextNodeWrapper","exact","isSimilarNode","selectRange","selectTextNodes","lastText","selectTextNode","getState","searchNodes","partial","caretIsInsideWord","beforeChar","afterChar","getRangeForWord","offsetStart","offsetEnd","txtNodes","wordOffset","mergeContents","mergeConsequentSimilarElements","cleanupAndSetSelection","cleanupAndSetCaret","formatTextNode","wrapNode","unformatTextNode","newWrapNode","removeFormatFromTextNode","formatTextRange","updateFormat","wordObj","exactState","removeFormat","applyFormat","fixOptions","b","strong","em","indentList","listEls","tryToPushLiLevel","liNodes","listTag","prevLi","liNode","prevLiList","LINE_BREAK","insertLineBreak","insertList","isNode","findListEl","other","parentLi","otherNodeName","handleSameTypeList","otherLists","innerLists","getListsInSelection","l","handleOtherTypeList","renameLists","createListFallback","tempClassName","getTime","selectedNode","cmd","outdentList","tryToPullLiLevel","listNode","outerListNode","outerLiNode","afterList","getAfterList","newList","redo","undoManager","removeLink","undo","Z_KEY","Y_KEY","MAX_HISTORY_ENTRIES","DATA_ATTR_NODE","DATA_ATTR_OFFSET","UndoManager","historyStr","historyDom","transact","_observe","lastKey","sandbox","altKey","keyCode","isUndo","shiftKey","isRedo","previousHtml","currentHtml","getValue","getChildNodeIndex","undoPossible","redoPossible","historyEntry","getChildNodeByIndex","View","textareaElement","noTextarea","_observeViewChange","currentView","show","hide","disable","enable","Composer","editableElement","textarea","contentEditableMode","_initContentEditableArea","_initSandbox","_displayStyle","disabled","setToEnd","_create","_createWysiwygFormField","form","hiddenField","_initAutoLinking","placeholder","_initObjectResizing","_initUndoManager","_initLineBreaking","initSync","sync","supportsDisablingOfAutoLinking","supportsAutoLinking","nodeWithSelection","isInUneditable","links","urlRegExp","newTextContent","propertiesLength","adjust","USE_NATIVE_LINE_BREAK_INSIDE_TAGS","LIST_TAGS","defaultPrevented","blockElement","HOST_TEMPLATE","TEXT_FORMATTING","BOX_FORMATTING","ADDITIONAL_CSS_RULES","focusWithoutScrolling","setActive","elementStyle","originalScrollTop","originalScrollLeft","originalStyles","WebkitUserSelect","displayValueForCopying","originalActiveElement","hasPlaceholder","originalPlaceholder","originalDisplayValue","originalDisabled","focusStylesHost","blurStylesHost","disabledStylesHost","blur","boxFormattingStyles","shortcuts","66","73","85","actions","addListeners","removeListeners","fixLastBrDeletionInTable","force","aNode","handleUneditableDeletion","fixDeleteInTheBeginningOfBlock","selNode","commonAncestorNode","fixDeleteInTheBeginningOfLi","firstNode","intermediaryNode","isInBeginnig","fixDeleteInTheBeginningOfControlSelection","afterCaretNode","doLineBreaksModeEnterWithCaret","breakNodes","doubleLineBreakEscapesBlock","brNode","br1","br2","handleDeleteKeyPress","handleEnterKeyPress","targetEl","handleTabKeyDown","handleDomNodeRemoved","domNodeRemovedInterval","clearInterval","handleUserInteraction","handleFocus","focusState","handleBlur","changeevent","create","handlePaste","handleCopy","copyedFromMarking","setData","handleKeyUp","handleMouseDown","allImages","notMyImages","myImages","lastMouseDownPos","clientX","clientY","handleIEControlSelect","caretPosition","moveToPoint","handleClick","uneditable","handleDrop","handleKeyDown","handleTabKey","handleKeyPress","invisibleSpace","space","observeActions","focusBlurElement","setInterval","INTERVAL","Synchronizer","fromComposerToTextarea","shouldParseHtml","fromTextareaToComposer","textareaValue","interval","startInterval","stopInterval","SourceView","switchToTextarea","composerStyles","switchToComposer","Textarea","supportsPlaceholder","eventMapping","focusin","focusout","undef","Editor","parserRules","br","span","div","u","pasteParserRulesets","parser","supportTouchDevices","_isCompatible","_initParser","handleBeforeLoad","sourceView","synchronizer","runEditorExtenders","isCompatible","htmlOrElement","customRules","parseContext","oldHtml","_cleanAndPaste","pastedHTML","cleanHtml"],"mappings":";;AAWA,GAAIA,WACFC,QAAS,cAGTC,YACAC,OACAC,UACAC,WACAC,QACAC,aACAC,SAEAC,mBACAC,aAAc,SAASC,GACrBC,KAAKH,gBAAgBI,KAAKF,IAG5BG,gBAAiB,SACjBC,wBAAyB,UAEzBC,cAAe,4FACfC,gCAAiC,iCAEjCC,eAAgB,aAEhBC,aAAc,EACdC,UAAc,EAEdC,cAAgB,EAChBC,UAAgB,GAChBC,WAAgB,GAChBC,UAAgB,GAChBC,QAAgB,EAChBC,WAAgB,GAGlB1B,UAAS2B,UAAY,SAASC,EAAKC,GAEjC,GAAIC,IAIFC,uBAAwB,WACtB,GAAI,eAAiBF,IAAO,gBAAkBD,GAAK,CACjD,GAAII,GAQAC,EAAGC,EAPHC,EAAYC,OAAOC,YACnBC,EAAaF,OAAOG,YACpBC,EAAIX,EAAIY,cAAc,OACtBC,EAAKb,EAAIc,eAAe,KACxBC,EAAKf,EAAIc,eAAe,KACxBE,EAAKhB,EAAIc,eAAe,KACxBG,EAAIjB,EAAIkB,aA8DZ,OA3DIC,UAASC,gBAC6B,IAApCD,SAASC,cAAcC,WAAmB,QAAS,WAAY,SAAU,UAAUC,QAAQH,SAASC,cAAcG,UAAY,GAChIpB,GACEqB,KAAM,OACNC,KAAMN,SAASC,cACfM,MAAOP,SAASC,cAAcO,eAC9BC,IAAKT,SAASC,cAAcS,eAG9BzB,EAAIL,EAAI+B,eACJ1B,GAAKA,EAAE2B,aACT5B,GACEqB,KAAM,QACNO,WAAY3B,EAAE2B,WACdC,aAAc5B,EAAE4B,aAChBC,UAAW7B,EAAE6B,UACbC,YAAa9B,EAAE8B,gBAMvBvB,EAAEwB,aAAa,kBAAmB,QAClCxB,EAAEyB,YAAYvB,GACdF,EAAEyB,YAAYrB,GACdJ,EAAEyB,YAAYpB,GACdhB,EAAIqC,KAAKD,YAAYzB,GACrBM,EAAEqB,SAASvB,EAAI,GACfE,EAAEsB,OAAOxB,EAAI,GAEbX,EAAIL,EAAI+B,eACR1B,EAAEoC,kBACFpC,EAAEqC,SAASxB,GACXN,EAAE+B,YACFtC,EAAIL,EAAI+B,eAERzB,EAA+B,IAAxBM,EAAEgC,WAAWC,QAAgBxC,EAAE2B,aAAepB,EAAEkC,YAAiC,IAAnBzC,EAAE4B,aACvErB,EAAEmC,WAAWC,YAAYpC,GACzBP,EAAEoC,kBAEErC,IAC0B,SAAxBA,EAAeqB,MAEmB,mBAAzBrB,GAAeuB,OAAuD,mBAAvBvB,GAAeyB,KACvEzB,EAAesB,KAAKuB,kBAAkB7C,EAAeuB,MAAOvB,EAAeyB,KAE7EzB,EAAesB,KAAKwB,SACa,UAAxB9C,EAAeqB,OACxBP,EAAIjB,EAAIkB,cACRD,EAAEqB,SAASnC,EAAe4B,WAAY5B,EAAe6B,cACrDf,EAAEsB,OAAOpC,EAAe8B,UAAW9B,EAAe+B,aAClD9B,EAAEqC,SAASxB,MAIXX,IAAcC,OAAOC,aAAeC,IAAeF,OAAOG,cAC5DX,EAAImD,SAASzC,EAAYH,GAGpBD,IAIX8C,MAAO,WAmML,QAASC,KACP,IACE,GAAIC,GAAI,GAAItD,GAAIuD,YAAY,OAAQC,QAASC,IAAK,QAClD,OAAQ,QAAUH,EAAE7B,MAAQ,QAAU6B,EAAEE,OAAOC,IAC/C,MAAO7C,IACT,OAAO,GArMR,SAAU8C,GACTA,EAAQC,QAAUD,EAAQC,SAAWD,EAAQE,oBAAsBF,EAAQG,mBAAqBH,EAAQI,kBAAoBJ,EAAQK,uBAAyB,SAAiBC,GAM5K,IALA,GACAC,GAAUjF,KACVkF,GAAYD,EAAQ7C,UAAY6C,EAAQE,eAAeC,iBAAiBJ,GACxEK,EAAQ,EAEDH,EAASG,IAAUH,EAASG,KAAWJ,KAC1CI,CAGJ,OAAOH,GAASG,IAAS,GAAO,GAGlCX,EAAQY,QAAUZ,EAAQY,SAAW,SAAiBN,GAGpD,IAFA,GAAIC,GAAUjF,KAEPiF,IACDA,EAAQN,QAAQK,IAIpBC,EAAUA,EAAQM,aAGpB,OAAON,IAGTP,EAAQc,OAASd,EAAQc,QAAU,WAC7BxF,KAAK+D,YACP/D,KAAK+D,WAAWC,YAAYhE,QAIhCgB,EAAIyE,QAAQC,WAER,aAAezE,GAAI0E,kBAAoB3E,EAAI4E,OAAOC,gBAA6C,mBAApB7E,GAAI8E,aACnF9E,EAAI4E,OAAOC,eAAe7E,EAAI8E,YAAYJ,UAAW,aACnDK,IAAK,WAEH,QAASC,GAAOC,GACd,MAAO,UAASC,GACd,GAAIC,GAAUC,EAAKC,UAAUC,MAAM,OAC/BjB,EAAQc,EAAQ5D,QAAQ2D,EAE5BD,GAAGE,EAASd,EAAOa,GACnBE,EAAKC,UAAYF,EAAQI,KAAK,MAPlC,GAAIH,GAAOpG,KAWPsB,GACAkF,IAAKR,EAAO,SAASG,EAASd,EAAOa,IAClCb,GAASc,EAAQlG,KAAKiG,KAGzBV,OAAQQ,EAAO,SAASG,EAASd,IAC9BA,GAASc,EAAQM,OAAOpB,EAAO,KAGlCqB,OAAQV,EAAO,SAASG,EAASd,EAAOa,IACrCb,EAAQc,EAAQM,OAAOpB,EAAO,GAAKc,EAAQlG,KAAKiG,KAGnDS,SAAU,SAAST,GACjB,SAAUE,EAAKC,UAAUC,MAAM,OAAO/D,QAAQ2D,IAGhDU,KAAM,SAASC,GACb,MAAOT,GAAKC,UAAUC,MAAM,OAAOO,IAAM,MAU/C,OANA7F,GAAI4E,OAAOC,eAAevE,EAAK,UAC7ByE,IAAK,WACH,MAAOK,GAAKC,UAAUC,MAAM,OAAOzC,UAIhCvC,IAKb,IAAIwF,GAAe,SAASpE,GAC1B,GAAIqE,KACJ,KAAKrE,EAAKA,EAAKoB,WAAWpB,EAAKA,EAAKA,EAAKsE,YAClB,GAAjBtE,EAAKJ,SACLyE,EAAI9G,KAAKyC,GAEXqE,EAAMA,EAAIE,OAAOH,EAAapE,GAGlC,OAAOqE,IAGLG,EAAU,SAASxE,GACrB,GAAIzB,GAAMyB,EAAKyC,cACXgC,EAAIzE,CAER,GAAG,CACD,GAAIyE,IAAMlG,EACR,OAAO,CAETkG,GAAIA,EAAEpD,iBACAoD,EAER,QAAO,GAGLC,EAAe,WACjB,GACIC,IADIrG,EAAIsG,KAAK5B,UAAU/B,UAClB,WACP,GAAI4D,GAAQT,EAAa9G,MACrBqB,EAAIrB,KAAKmF,cAAcqC,YAAYzE,eACnC0E,EAAQpG,EAAE2B,WACV0E,EAAUrG,EAAE4B,aACZ0E,EAAWF,GAA4B,IAAnBA,EAAMnF,UAAkBmF,EAAM7D,WAAWC,OAAS,EAAI4D,EAAM7D,WAAW8D,GAAWE,OACtGC,EAAQxG,EAAE6B,UACV4E,EAAUzG,EAAE8B,YACZ4E,EAAWF,GAA4B,IAAnBA,EAAMvF,UAAkBwF,EAAU,EAAID,EAAMjE,WAAWkE,EAAS,GAAKF,OACzF1F,EAAIlC,KAAKmF,cAAchD,cACvB6F,EAAUT,EAAMU,QAChBC,EAAUF,EAAUT,EAAMU,QAAU,IAmBxC,KAjBIF,GAAkC,IAAtBA,EAASzF,WACvBuF,EAAQE,EACRD,EAAUC,EAASI,UAAUtE,OAC7BkE,EAAWH,QAGTD,GAAkC,IAAtBA,EAASrF,WACvBmF,EAAQE,EACRD,EAAU,EACVC,EAAWC,SAGRH,IAAUI,GAAmBH,EAAVI,GAAuBL,IAAUI,GAAUJ,EAAMW,wBAAwBP,GAAS7G,EAAIsG,KAAKe,+BAAkCZ,EAAMW,wBAAwBP,GAAS7G,EAAIsG,KAAKgB,+BACnMT,GAASJ,EAAOA,EAAQI,GAAO,GAC/BC,GAAWJ,EAASA,EAAUI,GAAS,IAGnCE,GAAWE,GACXA,EAAQK,iBAAmBL,EAAQK,kBAAoBP,GACrDP,IAAUS,IACZT,EAAQO,EACRN,EAAUM,EAAQG,UAAUtE,OAAU6D,GAEpCG,IAAUK,IACZL,EAAQG,EACRF,EAAUE,EAAQG,UAAUtE,OAAUiE,GAExCE,EAAQG,UAAYH,EAAQG,UAAYD,EAAQC,UAChDD,EAAQnE,WAAWC,YAAYkE,GAC/BA,EAAUX,EAAMU,UAEhBD,EAAUE,EACVA,EAAUX,EAAMU,QAIhBF,KACFD,EAAUU,MAAM9C,UAAUnD,QAAQkG,KAAKV,EAAShE,WAAWH,WAAYmE,GAAY,GAGjFJ,IACFD,EAAUc,MAAM9C,UAAUnD,QAAQkG,KAAKd,EAAS5D,WAAWH,WAAY+D,IAGrET,EAAQlH,OAASyH,GAASA,EAAM1D,YAAc8D,GAASA,EAAM9D,aAC/D7B,EAAEqB,SAASkE,EAAOC,GAClBxF,EAAEsB,OAAOqE,EAAOC,GAChBzG,EAAEoC,kBACFpC,EAAEqC,SAASxB,KAGflB,GAAIsG,KAAK5B,UAAU/B,UAAY0D,GAG7BqB,EAAI,WACN1H,EAAI2H,oBAAoB,OAAQD,GAC5B,QAAU1H,IAAO,aAAeA,GAAIsG,KAAK5B,WAAaxE,EAAQC,0BAChEiG,IAImB,cAAnBnG,EAAI2H,WACN5H,EAAI6H,iBAAiB,OAAQH,GAE7BA,IAaF,WAEI,QAASnE,GAAYuE,EAAOC,GAC1BA,EAASA,IAAWC,SAAS,EAAOC,YAAY,EAAOzE,OAAQoD,OAC/D,IAAIsB,GAAMjI,EAAIkI,YAAY,cAE1B,OADAD,GAAIE,gBAAgBN,EAAOC,EAAOC,QAASD,EAAOE,WAAYF,EAAOvE,QAC9D0E,GALN7E,KAAgC,eAAiBrD,KAOpDuD,EAAYmB,UAAY1E,EAAIqI,MAAM3D,UAClC1E,EAAIuD,YAAcA,OAM1B,OAAOrD,IAGT9B,SAAS2B,UAAUS,OAAQY,UAAUgC,OAQrC,IAAIkF,MAAO,YAIXA,MAAKC,OAAS,SAASC,EAAWC,GACjC,GAAIF,GAASD,KAAK5D,UAAU6D,MAG5BD,MAAKI,cAAe,CACpB,IAAIC,GAAQ,GAAI3J,KAChBuJ,GAAOd,KAAKkB,EAAOH,GAClBG,EAAMC,KAAO,mBAGPN,MAAKI,YAIZ,IAAIG,GAAcF,EAAME,YACpBC,EAAQH,EAAME,YAAc,WAC/B,IAAKP,KAAKI,aACT,GAAI1J,KAAK+J,eAAiB/J,KAAK6J,aAAeC,EAC7C9J,KAAK+J,eAAgB,EACrBF,EAAYzF,MAAMpE,KAAMgK,iBACjBhK,MAAK+J,kBACN,IAAoB,MAAhBC,UAAU,GACpB,OAAQA,UAAU,GAAGT,QAAUA,GAAQd,KAAKuB,UAAU,GAAIL,GAmB7D,OAbAG,GAAMG,SAAWjK,KACjB8J,EAAMP,OAASvJ,KAAKuJ,OACpBO,EAAMI,QAAUlK,KAAKkK,QACrBJ,EAAMK,UAAYnK,KAAKmK,UACvBL,EAAMpE,UAAYiE,EAClBG,EAAMM,SAAWpK,KAAKoK,SACtBN,EAAMO,QAAU,SAAS5H,GAExB,MAAgB,UAARA,EAAoBqH,EAAQD,EAAYQ,WAEjDd,EAAOd,KAAKqB,EAAOL,GAEM,kBAAdK,GAAMQ,MAAoBR,EAAMQ,OACpCR,GAGRR,KAAK5D,WACJ6D,OAAQ,SAASgB,EAAQrE,GACxB,GAAI8D,UAAUnG,OAAS,EAAG,CACzB,GAAIoG,GAAWjK,KAAKuK,EACpB,IAAIN,GAA6B,kBAAT/D,MAErB+D,EAASI,SAAWJ,EAASI,WAAanE,EAAMmE,YAClD,WAAWG,KAAKtE,GAAQ,CAExB,GAAIuE,GAASvE,EAAMmE,SAEnBnE,GAAQ,WACP,GAAIwE,GAAW1K,KAAK4J,MAAQN,KAAK5D,UAAUkE,IAC3C5J,MAAK4J,KAAOK,CACZ,IAAIU,GAAcF,EAAOrG,MAAMpE,KAAMgK,UAErC,OADAhK,MAAK4J,KAAOc,EACLC,GAGRzE,EAAMmE,QAAU,SAAS5H,GACxB,MAAgB,UAARA,EAAoByD,EAAQuE,GAErCvE,EAAMkE,SAAWd,KAAKc,SAEvBpK,KAAKuK,GAAUrE,MACT,IAAIqE,EAAQ,CAClB,GAAIhB,GAASD,KAAK5D,UAAU6D,MAEvBD,MAAKI,cAA+B,kBAAR1J,QAChCuJ,EAASvJ,KAAKuJ,QAAUA,EAOzB,KALA,GAAII,IAASiB,SAAU,MAEnBC,GAAU,cAAe,WAAY,WAErChE,EAAIyC,KAAKI,aAAe,EAAI,EACzBoB,EAAMD,EAAOhE,MACf0D,EAAOO,IAAQnB,EAAMmB,IACxBvB,EAAOd,KAAKzI,KAAM8K,EAAKP,EAAOO,GAKhC,KAAK,GAAIA,KAAOP,GACVZ,EAAMmB,IAAMvB,EAAOd,KAAKzI,KAAM8K,EAAKP,EAAOO,IAGjD,MAAO9K,QAKTsJ,KAAOA,KAAKC,QACXM,YAAa,WACZ7J,KAAKuJ,OAAOS,UAAU,OAGvBC,SAAUrE,OACVvG,QAAS,MAET6K,QAAS,SAASa,EAAQC,EAAOC,GAChC,IAAK,GAAIH,KAAOC,GACanD,SAAxB5H,KAAK0F,UAAUoF,IAClBE,EAAMvC,KAAKwC,EAASF,EAAOD,GAAMA,EAAKC,IAKzCZ,UAAW,WACV,IAAK,GAAItD,GAAI,EAAGA,EAAImD,UAAUnG,OAAQgD,IACV,kBAAhBmD,WAAUnD,GAEpBmD,UAAUnD,GAAG7G,KAAK0F,WAGlB1F,KAAK0F,UAAU6D,OAAOS,UAAUnD,GAGlC,OAAO7G,OAGRoK,SAAU,WACT,MAAOc,QAAOlL,KAAKqK,aAcrB,IAAIc,QAEJ,WAuBI,QAASC,GAAaC,EAAG/G,GACrB,GAAIgH,SAAWD,GAAE/G,EACjB,OAAOgH,IAAKC,KAAgBD,GAAKE,IAAUH,EAAE/G,KAAa,WAALgH,EAGzD,QAASG,GAAaJ,EAAG/G,GACrB,cAAiB+G,GAAE/G,IAAMkH,IAAUH,EAAE/G,IAGzC,QAASoH,GAAeL,EAAG/G,GACvB,aAAc+G,GAAE/G,IAAMqH,EAI1B,QAASC,GAA2BC,GAChC,MAAO,UAASR,EAAGS,GAEf,IADA,GAAIjF,GAAIiF,EAAMjI,OACPgD,KACH,IAAKgF,EAASR,EAAGS,EAAMjF,IACnB,OAAO,CAGf,QAAO,GASf,QAASkF,GAAYC,GACjB,MAAOA,IAASC,EAAeD,EAAOE,IAAqBC,EAAkBH,EAAOI,GAGxF,QAASC,GAAQpL,GACb,MAAOwK,GAAaxK,EAAK,QAAUA,EAAIqC,KAAOrC,EAAIqL,qBAAqB,QAAQ,GA6CnF,QAASC,GAAWC,SACLC,UAAWd,GAAaP,EAAaqB,QAAS,QACrDA,QAAQC,IAAIF,GAIpB,QAASG,GAAWH,EAAKI,GACjBC,GAAaD,EACbE,MAAMN,GAEND,EAAWC,GAInB,QAASO,GAAKC,GACVC,EAAIC,aAAc,EAClBD,EAAIE,WAAY,EAChBR,EAAW,uDAAyDK,EAAQC,EAAIG,OAAOC,aAK3F,QAASC,GAAKd,GACVG,EAAW,kBAAoBH,EAAKS,EAAIG,OAAOG,aA+FnD,QAASC,GAAaC,GAClB,MAAOA,GAAGC,SAAWD,EAAGE,aAAezC,OAAOuC,GAIlD,QAASnD,KACL,GAAKuC,IAAaI,EAAIC,YAAtB,CAGA,GAAIU,GACAC,GAAqB,EAAOC,GAAsB,CAIlD1C,GAAahJ,SAAU,iBACvBwL,EAAYxL,SAASD,cACjB8J,EAAe2B,EAAWG,IAAoB5B,EAAkByB,EAAWI,KAC3EH,GAAqB,GAI7B,IAAIvK,GAAO+I,EAAQjK,SACnB,KAAKkB,GAAuC,QAA/BA,EAAKd,SAASyL,cAEvB,WADAlB,GAAK,wBAWT,IAPIzJ,GAAQ8H,EAAa9H,EAAM,qBAC3BsK,EAAYtK,EAAK4K,kBACbnC,EAAY6B,KACZE,GAAsB,KAIzBD,IAAuBC,EAExB,WADAf,GAAK,4CAITE,GAAIC,aAAc,EAClBD,EAAIkB,UACAN,mBAAoBA,EACpBC,oBAAqBA,EAIzB,IAAIM,GAAQC,CACZ,KAAK,GAAIC,KAAcC,IACbH,EAASG,EAAQD,aAAwBE,IAC3CJ,EAAO9D,KAAK8D,EAAQnB,EAK5B,KAAK,GAAIpG,GAAI,EAAG4H,EAAMC,EAAc7K,OAAY4K,EAAJ5H,IAAWA,EACnD,IACI6H,EAAc7H,GAAGoG,GACnB,MAAOQ,GACLY,EAAe,+DAAiEb,EAAaC,GAC7FlB,EAAW8B,KAKvB,QAASM,GAAkBC,EAAYC,EAAaT,GAC5CA,IACAQ,GAAc,cAAgBR,EAAOU,MAEzC7B,EAAIK,KAAK,eAAiBsB,EAAa,8BACvCC,EAAc,aAGlB,QAASE,GAA+BC,EAAOJ,EAAYC,EAAaT,GACpEY,EAAMJ,GAAc,WAEhB,MADAD,GAAkBC,EAAYC,EAAaT,GACpCY,EAAMH,GAAazK,MAAM4K,EAAOC,EAAKC,QAAQlF,aAyB5D,QAASmF,GAAKnO,GACVA,EAAMA,GAAOQ,OACb8I,GAGA,KAAK,GAAIzD,GAAI,EAAG4H,EAAMW,EAAcvL,OAAY4K,EAAJ5H,IAAWA,EACnDuI,EAAcvI,GAAG7F,GASzB,QAASwN,GAAOM,EAAMO,EAAcC,GAChCtP,KAAK8O,KAAOA,EACZ9O,KAAKqP,aAAeA,EACpBrP,KAAKkN,aAAc,EACnBlN,KAAKmN,WAAY,EACjBnN,KAAKsP,YAAcA,EA6CvB,QAASC,GAAaT,EAAMO,EAAcG,GACtC,GAAIC,GAAY,GAAIjB,GAAOM,EAAMO,EAAc,SAASjB,GACpD,IAAKA,EAAOlB,YAAa,CACrBkB,EAAOlB,aAAc,CACrB,KACIsC,EAASvC,EAAKmB,GACdA,EAAOjB,WAAY,EACrB,MAAOM,GACL,GAAIY,GAAe,WAAaS,EAAO,qBAAuBtB,EAAaC,EAC3ElB,GAAW8B,GACPZ,EAAGiC,OACHnD,EAAWkB,EAAGiC,UAM9B,OADAnB,GAAQO,GAAQW,EACTA,EA8BX,QAASE,MAIT,QAASC,MArbT,GAAIpE,GAAS,SAAUD,EAAW,WAAYI,EAAY,YAItDqC,GAAsB,iBAAkB,cAAe,eAAgB,YAAa,YACpF,2BAGAD,GAAmB,WAAY,iBAAkB,gBAAiB,SAAU,eAC5E,cAAe,WAAY,aAAc,qBAAsB,wBAAyB,iBACxF,kBAAmB,gBAAiB,aAAc,mBAAoB,aAAc,WAAY,UAEhG3B,GAAuB,iBAAkB,eAAgB,cAAe,gBAAiB,WAAY,QAGrGF,GAAoB,WAAY,mBAAoB,YAAa,oBAAqB,gBAAiB,SACvG,cAAe,yBAiCfD,EAAiBL,EAA2BR,GAC5CyE,EAAiBjE,EAA2BH,GAC5CU,EAAoBP,EAA2BF,GAU/CxB,KAAaA,QACb,SAAS4F,EAAKC,GACVD,EAAI5F,QAAQ6F,IAEhB,SAASD,EAAKC,GACV,IAAK,GAAIlJ,GAAI,EAAG4H,EAAMqB,EAAIjM,OAAY4K,EAAJ5H,IAAWA,EACzCkJ,EAAKD,EAAIjJ,GAAIA,IAIrB0H,KAEA1B,QAAoBrL,SAAUmK,SAAoBvJ,WAAYuJ,EAE9DsD,GACA7D,aAAcA,EACdK,aAAcA,EACdC,eAAgBA,EAChBO,eAAgBA,EAChB4D,eAAgBA,EAChB1D,kBAAmBA,EACnBJ,YAAaA,EACbM,QAASA,EACTnC,QAASA,GAGT+C,GACA5N,QAAS,YACT6N,aAAa,EACbL,UAAWA,EACXM,WAAW,EACX8B,KAAMA,EACNd,YACAI,QAASA,EACTnB,QACIC,aAAa,EACbE,aAAa,EACbyC,iBAAiB,EACjBC,qBAAwBC,sBAAuBvE,GAAa,EAAOuE,qBAwB3EjD,GAAIF,KAAOA,EAMXE,EAAIK,KAAOA,CAGX,IAAI/D,QACG4G,gBACHlB,EAAK1F,OAASA,EAAS,SAAS6G,EAAKtE,EAAOuE,GACxC,GAAIhF,GAAG/G,CACP,KAAK,GAAIuC,KAAKiF,GACNA,EAAMqE,eAAetJ,KACrBwE,EAAI+E,EAAIvJ,GACRvC,EAAIwH,EAAMjF,GACNwJ,GAAc,OAANhF,GAA0B,gBAALA,IAAuB,OAAN/G,GAA0B,gBAALA,IACnEiF,EAAO8B,EAAG/G,GAAG,GAEjB8L,EAAIvJ,GAAKvC,EAOjB,OAHIwH,GAAMqE,eAAe,cACrBC,EAAIhG,SAAW0B,EAAM1B,UAElBgG,GAGXnB,EAAKqB,cAAgB,SAASC,EAAcC,GACxC,GAAIC,KAKJ,OAJAlH,GAAOkH,EAASD,GACZD,GACAhH,EAAOkH,EAASF,GAEbE,IAGX1D,EAAK,gCAIJF,GACDE,EAAK,mCAIT,WACI,GAAImC,EAEJ,IAAIrC,EAAW,CACX,GAAI6D,GAAKtO,SAASP,cAAc,MAChC6O,GAAGrN,YAAYjB,SAASP,cAAc,QACtC,IAAI8O,MAAWA,KACf,KACoD,GAA5CA,EAAMlI,KAAKiI,EAAG9M,WAAY,GAAG,GAAGtB,WAChC4M,EAAU,SAAS0B,GACf,MAAOD,GAAMlI,KAAKmI,EAAW,KAGvC,MAAOhP,KAGRsN,IACDA,EAAU,SAAS0B,GAEf,IAAK,GADDd,MACKjJ,EAAI,EAAG4H,EAAMmC,EAAU/M,OAAY4K,EAAJ5H,IAAWA,EAC/CiJ,EAAIjJ,GAAK+J,EAAU/J,EAEvB,OAAOiJ,KAIfb,EAAKC,QAAUA,IAKnB,IAAI2B,EACAhE,KACIzB,EAAahJ,SAAU,oBACvByO,EAAc,SAAST,EAAKU,EAAWC,GACnCX,EAAIvH,iBAAiBiI,EAAWC,GAAU,IAEvC3F,EAAahJ,SAAU,eAC9ByO,EAAc,SAAST,EAAKU,EAAWC,GACnCX,EAAIY,YAAY,KAAOF,EAAWC,IAGtChE,EAAK,0EAGTkC,EAAK4B,YAAcA,EAGvB,IAAInC,KAiFJO,GAAKN,kBAAoBA,EACzBM,EAAKF,+BAAiCA,EAGtC9B,EAAI3C,KAAOA,EAGX2C,EAAIgE,gBAAkB,SAASF,GACvB9D,EAAIC,YACJ6D,EAAS9D,GAETyB,EAAczO,KAAK8Q,GAI3B,IAAI3B,KAEJnC,GAAIiE,gBAAkB,SAASH,GAC3B3B,EAAcnP,KAAK8Q,IAanBlE,IACAI,EAAIkC,KAAOlC,EAAIkE,uBAAyBhC,EACxCJ,EAA+B9B,EAAK,yBAA0B,SAWlEuB,EAAO9I,WACH4E,KAAM,WAEF,IAAK,GAA6C8G,GAAgB9C,EAD9D+C,EAAsBrR,KAAKqP,iBACtBxI,EAAI,EAAG4H,EAAM4C,EAAoBxN,OAAwC4K,EAAJ5H,IAAWA,EAAG,CAIxF,GAHAyH,EAAa+C,EAAoBxK,GAEjCuK,EAAiB7C,EAAQD,KACpB8C,GAAoBA,YAA0B5C,IAC/C,KAAM,IAAI8C,OAAM,oBAAsBhD,EAAa,cAKvD,IAFA8C,EAAe9G,QAEV8G,EAAejE,UAChB,KAAM,IAAImE,OAAM,oBAAsBhD,EAAa,mBAK3DtO,KAAKsP,YAAYtP,OAGrB+M,KAAM,SAASC,GAGX,KAFAhN,MAAKkN,aAAc,EACnBlN,KAAKmN,WAAY,EACX,GAAImE,OAAMtE,IAGpBM,KAAM,SAASd,GACXS,EAAIK,KAAK,UAAYtN,KAAK8O,KAAO,KAAOtC,IAG5CmC,kBAAmB,SAASC,EAAYC,GACpC5B,EAAIK,KAAK,eAAiBsB,EAAa,cAAgB5O,KAAK8O,KAAO,8BAC/DD,EAAc,aAGtB0C,YAAa,SAAS/E,GAClB,MAAO,IAAI8E,OAAM,kBAAoBtR,KAAK8O,KAAO,YAActC,KAwBvES,EAAIsC,aAAe,SAAST,GAExB,GAAIU,GAAUH,CACU,IAApBrF,UAAUnG,QACV2L,EAAWxF,UAAU,GACrBqF,OAEAG,EAAWxF,UAAU,GACrBqF,EAAerF,UAAU,GAG7B,IAAIoE,GAASmB,EAAaT,EAAMO,EAAcG,EAG1CvC,GAAIC,aAAeD,EAAIE,WACvBiB,EAAO9D,QAIf2C,EAAIuE,iBAAmB,SAAS1C,EAAMO,EAAcG,GAChDD,EAAaT,EAAMO,EAAcG,IAQrCvC,EAAI0C,eAAiBA,EACrB1C,EAAIwE,eAAiB,GAAI9B,GAGzB1C,EAAIyE,mBAAqB,GAAI9B,GAK7B3C,EAAIuE,iBAAiB,aAAe,SAASvE,EAAKmB,GAqD9C,QAASuD,GAAgBjP,GACrB,GAAIkP,EACJ,cAAclP,GAAKmP,cAAgBC,GAAuC,QAA5BF,EAAKlP,EAAKmP,eAAgC,gCAAND,EAGtF,QAASrM,GAAc7C,GACnB,GAAIqP,GAASrP,EAAKqB,UAClB,OAA2B,IAAnBgO,EAAOzP,SAAiByP,EAAS,KAG7C,QAASC,GAAatP,GAElB,IADA,GAAImE,GAAI,EACAnE,EAAOA,EAAK6F,mBACd1B,CAEN,OAAOA,GAGX,QAASoL,GAAcvP,GACnB,OAAQA,EAAKJ,UACT,IAAK,GACL,IAAK,IACD,MAAO,EACX,KAAK,GACL,IAAK,GACD,MAAOI,GAAKmB,MAChB,SACI,MAAOnB,GAAKkB,WAAWC,QAInC,QAASqO,GAAkBC,EAAOC,GAC9B,GAAoBjL,GAAhBkL,IACJ,KAAKlL,EAAIgL,EAAOhL,EAAGA,EAAIA,EAAEpD,WACrBsO,EAAUpS,KAAKkH,EAGnB,KAAKA,EAAIiL,EAAOjL,EAAGA,EAAIA,EAAEpD,WACrB,GAAIuO,EAAcD,EAAWlL,GACzB,MAAOA,EAIf,OAAO,MAGX,QAASoL,GAAatI,EAAUuI,EAAYC,GAExC,IADA,GAAItL,GAAIsL,EAAiBD,EAAaA,EAAWzO,WAC1CoD,GAAG,CACN,GAAIA,IAAM8C,EACN,OAAO,CAEP9C,GAAIA,EAAEpD,WAGd,OAAO,EAGX,QAAS2O,GAAiBzI,EAAUuI,GAChC,MAAOD,GAAatI,EAAUuI,GAAY,GAG9C,QAASG,GAAqBjQ,EAAMuH,EAAUwI,GAE1C,IADA,GAAInO,GAAG6C,EAAIsL,EAAiB/P,EAAOA,EAAKqB,WACjCoD,GAAG,CAEN,GADA7C,EAAI6C,EAAEpD,WACFO,IAAM2F,EACN,MAAO9C,EAEXA,GAAI7C,EAER,MAAO,MAGX,QAASsO,GAAoBlQ,GACzB,GAAI4I,GAAI5I,EAAKJ,QACb,OAAY,IAALgJ,GAAe,GAALA,GAAe,GAALA,EAG/B,QAASuH,GAAoBnQ,GACzB,IAAKA,EACD,OAAO,CAEX,IAAI4I,GAAI5I,EAAKJ,QACb,OAAY,IAALgJ,GAAe,GAALA,EAGrB,QAASwH,GAAYpQ,EAAMqQ,GACvB,GAAIC,GAAWD,EAAc/L,YAAa+K,EAASgB,EAAchP,UAMjE,OALIiP,GACAjB,EAAOkB,aAAavQ,EAAMsQ,GAE1BjB,EAAO1O,YAAYX,GAEhBA,EAIX,QAASwQ,GAAcxQ,EAAM2C,EAAO8N,GAChC,GAAIC,GAAU1Q,EAAK2Q,WAAU,EAM7B,IALAD,EAAQE,WAAW,EAAGjO,GACtB3C,EAAK4Q,WAAWjO,EAAO3C,EAAKmB,OAASwB,GACrCyN,EAAYM,EAAS1Q,GAGjByQ,EACA,IAAK,GAAWI,GAAP1M,EAAI,EAAa0M,EAAWJ,EAAoBtM,MAEjD0M,EAAS7Q,MAAQA,GAAQ6Q,EAASC,OAASnO,GAC3CkO,EAAS7Q,KAAO0Q,EAChBG,EAASC,QAAUnO,GAGdkO,EAAS7Q,MAAQA,EAAKqB,YAAcwP,EAASC,OAASxB,EAAatP,MACtE6Q,EAASC,MAIvB,OAAOJ,GAGX,QAASK,GAAY/Q,GACjB,GAAqB,GAAjBA,EAAKJ,SACL,MAAOI,EACJ,UAAWA,GAAKyC,eAAiB2M,EACpC,MAAOpP,GAAKyC,aACT,UAAWzC,GAAKN,UAAY0P,EAC/B,MAAOpP,GAAKN,QACT,IAAIM,EAAKqB,WACZ,MAAO0P,GAAY/Q,EAAKqB,WAExB,MAAMqK,GAAOmD,YAAY,2CAIjC,QAASmC,GAAUhR,GACf,GAAIzB,GAAMwS,EAAY/Q,EACtB,UAAWzB,GAAIuG,aAAesK,EAC1B,MAAO7Q,GAAIuG,WACR,UAAWvG,GAAI0S,cAAgB7B,EAClC,MAAO7Q,GAAI0S,YAEX,MAAMvF,GAAOmD,YAAY,uCAIjC,QAASqC,GAAkBC,GACvB,SAAWA,GAASC,iBAAmBhC,EACnC,MAAO+B,GAASC,eACb,UAAWD,GAASE,eAAiBjC,EACxC,MAAO+B,GAASE,cAAc3R,QAE9B,MAAMgM,GAAOmD,YAAY,kEAIjC,QAASyC,GAAgBH,GACrB,SAAWA,GAASE,eAAiBjC,EACjC,MAAO+B,GAASE,aACb,UAAWF,GAASC,iBAAmBhC,EAC1C,MAAO+B,GAASC,gBAAgBtM,WAEhC,MAAM4G,GAAOmD,YAAY,8DAKjC,QAAS0C,GAAS7D,GACd,MAAOA,IAAOnB,EAAK7D,aAAagF,EAAK,eAAiBnB,EAAKxD,aAAa2E,EAAK,YAGjF,QAAS8D,GAAmB9D,EAAKhC,EAAQ+F,GACrC,GAAIlT,EAiBJ,IAfKmP,EAKInB,EAAKvD,eAAe0E,EAAK,YAC9BnP,EAAuB,GAAhBmP,EAAI9N,UAA8C,UAA7B8N,EAAIgE,QAAQnG,cACpC2F,EAAkBxD,GAAOqD,EAAYrD,GAIpC6D,EAAS7D,KACdnP,EAAMmP,EAAIhO,UAXVnB,EAAMmB,UAcLnB,EACD,KAAMmN,GAAOmD,YAAY4C,EAAa,oDAG1C,OAAOlT,GAGX,QAASoT,GAAiB3R,GAEtB,IADA,GAAIqP,GACKA,EAASrP,EAAKqB,YACnBrB,EAAOqP,CAEX,OAAOrP,GAGX,QAAS4R,GAAcC,EAAOC,EAASC,EAAOC,GAE1C,GAAIC,GAAOC,EAAMC,EAAQC,EAAQ3N,CACjC,IAAIoN,GAASE,EAET,MAAOD,KAAYE,EAAU,EAAeA,EAAVF,EAAqB,GAAK,CACzD,IAAMG,EAAQhC,EAAqB8B,EAAOF,GAAO,GAEpD,MAAOC,IAAWxC,EAAa2C,GAAS,GAAK,CAC1C,IAAMA,EAAQhC,EAAqB4B,EAAOE,GAAO,GAEpD,MAAOzC,GAAa2C,GAASD,EAAW,GAAK,CAG7C,IADAE,EAAO1C,EAAkBqC,EAAOE,IAC3BG,EACD,KAAM,IAAItD,OAAM,qDAOpB,IAHAuD,EAAUN,IAAUK,EAAQA,EAAOjC,EAAqB4B,EAAOK,GAAM,GACrEE,EAAUL,IAAUG,EAAQA,EAAOjC,EAAqB8B,EAAOG,GAAM,GAEjEC,IAAWC,EAEX,KAAM1G,GAAOmD,YAAY,kEAGzB,KADApK,EAAIyN,EAAK9Q,WACFqD,GAAG,CACN,GAAIA,IAAM0N,EACN,MAAO,EACJ,IAAI1N,IAAM2N,EACb,MAAO,EAEX3N,GAAIA,EAAEH,aAWtB,QAAS+N,GAAarS,GAClB,GAAIyE,EACJ,KAEI,MADAA,GAAIzE,EAAKqB,YACF,EACT,MAAOnC,GACL,OAAO,GAgBf,QAASoT,GAAYtS,GACjB,IAAKA,EACD,MAAO,WAEX,IAAIuS,GAAmBF,EAAarS,GAChC,MAAO,eAEX,IAAIkQ,EAAoBlQ,GACpB,MAAO,IAAMA,EAAKwS,KAAO,GAE7B,IAAqB,GAAjBxS,EAAKJ,SAAe,CACpB,GAAI6S,GAASzS,EAAK0S,GAAK,QAAU1S,EAAK0S,GAAK,IAAM,EACjD,OAAO,IAAM1S,EAAKF,SAAW2S,EAAS,WAAanD,EAAatP,GAAQ,WAAaA,EAAKkB,WAAWC,OAAS,MAAQnB,EAAK2S,WAAa,6BAA6B1E,MAAM,EAAG,IAAM,IAExL,MAAOjO,GAAKF,SAGhB,QAAS8S,GAAyB5S,GAE9B,IADA,GAA2D6S,GAAvDC,EAAW/B,EAAY/Q,GAAM+S,yBACxBF,EAAQ7S,EAAKoB,YAClB0R,EAASnS,YAAYkS,EAEzB,OAAOC,GAgBX,QAASE,GAAkBzU,EAAK0U,EAAMC,GAClC,GAAItS,GAAO+I,EAAQpL,GACfyP,EAAKzP,EAAIY,cAAc,MAC3B6O,GAAGkF,gBAAkB,KAAOA,EACxBD,IACAjF,EAAG2E,UAAYM,EAInB,IAAIE,GAAiBvS,EAAKQ,UAO1B,OANI+R,GACAvS,EAAK2P,aAAavC,EAAImF,GAEtBvS,EAAKD,YAAYqN,GAGdA,EAGX,QAASoF,GAAWpT,GAChB,MAAOA,GAAKqB,WAAWC,YAAYtB,GAGvC,QAASqT,GAAanB,GAClB5U,KAAK4U,KAAOA,EACZ5U,KAAKgW,MAAQpB,EAiCjB,QAASqB,GAAerB,GACpB,MAAO,IAAImB,GAAanB,GAG5B,QAASsB,GAAYxT,EAAM8Q,GACvBxT,KAAK0C,KAAOA,EACZ1C,KAAKwT,OAASA,EAiBlB,QAAS2C,GAAaC,GAClBpW,KAAKqW,KAAOrW,KAAKoW,GACjBpW,KAAKoW,SAAWA,EAChBpW,KAAK0N,QAAU,iBAAmB1N,KAAKoW,SA5b3C,GAAItE,GAAQ,YACR7C,EAAOhC,EAAIgC,KACX5C,EAAU4C,EAAK5C,OAGd4C,GAAKhD,eAAe7J,UAAW,yBAA0B,gBAAiB,oBAC3EgM,EAAOrB,KAAK,2CAGXkC,EAAK7D,aAAahJ,SAAU,yBAC7BgM,EAAOrB,KAAK,+CAGhB,IAAI2D,GAAKtO,SAASP,cAAc,MAC3BoN,GAAKhD,eAAeyE,GAAK,eAAgB,cAAe,eACpDzB,EAAKY,eAAea,GAAK,kBAAmB,cAAe,aAAc,iBAC9EtC,EAAOrB,KAAK,qCAIXkC,EAAKvD,eAAegF,EAAI,cACzBtC,EAAOrB,KAAK,wCAGhB,IAAIuJ,GAAWlU,SAASL,eAAe,OAClCkN,GAAKhD,eAAeqK,GAAW,YAAa,aAAc,aAAc,aAAc,eAClFrH,EAAKY,eAAea,GAAK,kBAAmB,cAAe,aAAc,iBACzEzB,EAAK9C,kBAAkBmK,GAAW,WACvClI,EAAOrB,KAAK,sCAQhB,IAAIuF,GAKA,SAASxC,EAAKyG,GAEV,IADA,GAAI1P,GAAIiJ,EAAIjM,OACLgD,KACH,GAAIiJ,EAAIjJ,KAAO0P,EACX,OAAO,CAGf,QAAO,GA0PXtB,GAAkB,GAYtB,WACI,GAAIvE,GAAKtO,SAASP,cAAc,IAChC6O,GAAG2E,UAAY,GACf,IAAIiB,GAAW5F,EAAG5M,UAClB4M,GAAG2E,UAAY,SACfJ,EAAkBF,EAAauB,GAE/BrJ,EAAIkB,SAAS8G,gBAAkBA,IA8BnC,IAAIuB,SACOhV,QAAOiV,kBAAoB3E,EAClC0E,EAA2B,SAAS9F,EAAIgG,GACpC,MAAOhD,GAAUhD,GAAI+F,iBAAiB/F,EAAI,MAAMgG,UAEtCtU,UAASuD,gBAAgBgR,cAAgB7E,EACvD0E,EAA2B,SAAS9F,EAAIgG,GACpC,MAAOhG,GAAGiG,aAAejG,EAAGiG,aAAaD,GAAY,IAGzDtI,EAAOrB,KAAK,yDA+BhBgJ,EAAarQ,WACTkR,SAAU,KAEVC,QAAS,WACL,QAAS7W,KAAKgW,OAGlBc,KAAM,WACF,GACIvB,GAAOuB,EADP3P,EAAInH,KAAK4W,SAAW5W,KAAKgW,KAE7B,IAAIhW,KAAK4W,SAEL,GADArB,EAAQpO,EAAErD,WAEN9D,KAAKgW,MAAQT,MACV,CAEH,IADAuB,EAAO,KACC3P,IAAMnH,KAAK4U,QAAWkC,EAAO3P,EAAEH,cACnCG,EAAIA,EAAEpD,UAEV/D,MAAKgW,MAAQc,EAGrB,MAAO9W,MAAK4W,UAGhBG,OAAQ,WACJ/W,KAAK4W,SAAW5W,KAAKgW,MAAQhW,KAAK4U,KAAO,OAajDsB,EAAYxQ,WACRsR,OAAQ,SAASC,GACb,QAASA,GAAOjX,KAAK0C,OAASuU,EAAIvU,MAAQ1C,KAAKwT,QAAUyD,EAAIzD,QAGjE0D,QAAS,WACL,MAAO,gBAAkBlC,EAAYhV,KAAK0C,MAAQ,IAAM1C,KAAKwT,OAAS,MAG1EpJ,SAAU,WACN,MAAOpK,MAAKkX,YAUpBf,EAAazQ,WACTyR,eAAgB,EAChBC,sBAAuB,EACvBC,mBAAoB,EACpBC,4BAA6B,EAC7BC,cAAe,EACfC,kBAAmB,EACnBC,kBAAmB,GACnBC,sBAAuB,IAG3BvB,EAAazQ,UAAU0E,SAAW,WAC9B,MAAOpK,MAAK0N,SAGhBT,EAAI1N,KACA+S,cAAeA,EACfX,gBAAiBA,EACjBpM,cAAeA,EACfyM,aAAcA,EACdC,cAAeA,EACfC,kBAAmBA,EACnBK,aAAcA,EACdG,iBAAkBA,EAClBC,qBAAsBA,EACtBC,oBAAqBA,EACrBC,oBAAqBA,EACrBC,YAAaA,EACbI,cAAeA,EACfO,YAAaA,EACbC,UAAWA,EACXM,gBAAiBA,EACjBJ,kBAAmBA,EACnBvH,QAASA,EACT4H,SAAUA,EACVC,mBAAoBA,EACpBG,iBAAkBA,EAClBC,cAAeA,EACfS,aAAcA,EACdC,YAAaA,EACbwB,yBAA0BA,EAC1Bd,kBAAmBA,EACnBI,WAAYA,EACZR,yBAA0BA,EAC1BW,eAAgBA,EAChBC,YAAaA,GAGjBjJ,EAAIkJ,aAAeA,IAMvBlJ,EAAIuE,iBAAiB,YAAa,WAAY,SAASvE,EAAKmB,GAwBxD,QAASuJ,GAA2BjV,EAAMsJ,GACtC,MAAyB,IAAjBtJ,EAAKJ,WACLoQ,EAAiBhQ,EAAMsJ,EAAM4L,iBAAmBlF,EAAiBhQ,EAAMsJ,EAAM6L,eAGzF,QAASC,GAAiB9L,GACtB,MAAOA,GAAM5J,UAAYqR,EAAYzH,EAAM4L,gBAG/C,QAASG,GAAa/L,GAClB,MAAOqI,GAAiBrI,EAAM4L,gBAGlC,QAASI,GAAsBtV,GAC3B,MAAO,IAAIwT,GAAYxT,EAAKqB,WAAYiO,EAAatP,IAGzD,QAASuV,GAAqBvV,GAC1B,MAAO,IAAIwT,GAAYxT,EAAKqB,WAAYiO,EAAatP,GAAQ,GAGjE,QAASwV,GAAqBxV,EAAMyE,EAAGkE,GACnC,GAAI8M,GAAqC,IAAjBzV,EAAKJ,SAAiBI,EAAKoB,WAAapB,CAYhE,OAXIkQ,GAAoBzL,GAChBkE,GAAKlE,EAAEtD,OACPtE,EAAIuT,YAAYpQ,EAAMyE,GAEtBA,EAAEpD,WAAWkP,aAAavQ,EAAW,GAAL2I,EAASlE,EAAI+L,EAAc/L,EAAGkE,IAE3DA,GAAKlE,EAAEvD,WAAWC,OACzBsD,EAAE9D,YAAYX,GAEdyE,EAAE8L,aAAavQ,EAAMyE,EAAEvD,WAAWyH,IAE/B8M,EAGX,QAASC,GAAgBC,EAAQC,EAAQC,GAIrC,GAHAC,EAAiBH,GACjBG,EAAiBF,GAEbR,EAAiBQ,IAAWR,EAAiBO,GAC7C,KAAM,IAAIlC,GAAa,qBAG3B,IAAIsC,GAAkBnE,EAAc+D,EAAOT,eAAgBS,EAAOK,YAAaJ,EAAOT,aAAcS,EAAOK,WACvGC,EAAgBtE,EAAc+D,EAAOR,aAAcQ,EAAOM,UAAWL,EAAOV,eAAgBU,EAAOI,YAEvG,OAAOH,GAA4C,GAAnBE,GAAwBG,GAAiB,EAAsB,EAAlBH,GAAuBG,EAAgB,EAGxH,QAASC,GAAaC,GAElB,IAAK,GADDC,GACKrW,EAAwEsW,EAAlEC,EAAOnB,EAAiBgB,EAAS9M,OAAOyJ,yBAAuC/S,EAAOoW,EAAShC,QAAU,CASpH,GARAiC,EAAoBD,EAASI,6BAC7BxW,EAAOA,EAAK2Q,WAAW0F,GACnBA,IACAC,EAAcF,EAASK,qBACvBzW,EAAKW,YAAYwV,EAAaG,IAC9BA,EAAYjC,UAGK,IAAjBrU,EAAKJ,SACL,KAAM,IAAI6T,GAAa,wBAE3B8C,GAAK5V,YAAYX,GAErB,MAAOuW,GAGX,QAASG,GAAeC,EAAetJ,EAAMuJ,GACzC,GAAIC,GAAIpS,CACRmS,GAAgBA,IAAmBE,MAAM,EACzC,KAAK,GAAI9W,GAAM+W,EAAkB/W,EAAO2W,EAAcvC,QAClD,GAAIuC,EAAcH,6BAA8B,CAC5C,GAAInJ,EAAKrN,MAAU,EAEf,YADA4W,EAAcE,MAAO,EAQrB,IAHAC,EAAmBJ,EAAcF,qBACjCC,EAAeK,EAAkB1J,EAAMuJ,GACvCG,EAAiB1C,SACbuC,EAAcE,KACd,WAOR,KADAD,EAAKha,EAAI0W,eAAevT,GACfyE,EAAIoS,EAAGzC,QACZ,GAAI/G,EAAK5I,MAAO,EAEZ,YADAmS,EAAcE,MAAO,GAQzC,QAASE,GAAcZ,GAEnB,IADA,GAAIE,GACGF,EAAShC,QACRgC,EAASI,8BACTF,EAAcF,EAASK,qBACvBO,EAAcV,GACdA,EAAYjC,UAEZ+B,EAAStT,SAKrB,QAASmU,GAAeb,GACpB,IAAK,GAAIpW,GAAwEsW,EAAlEC,EAAOnB,EAAiBgB,EAAS9M,OAAOyJ,yBAAuC/S,EAAOoW,EAAShC,QAAU,CAUpH,GARIgC,EAASI,8BACTxW,EAAOA,EAAK2Q,WAAU,GACtB2F,EAAcF,EAASK,qBACvBzW,EAAKW,YAAYsW,EAAeX,IAChCA,EAAYjC,UAEZ+B,EAAStT,SAEQ,IAAjB9C,EAAKJ,SACL,KAAM,IAAI6T,GAAa,wBAE3B8C,GAAK5V,YAAYX,GAErB,MAAOuW,GAGX,QAASW,GAAgB5N,EAAO6N,EAAWC,GACvC,GAAyDC,GAArDC,KAAqBH,IAAaA,EAAUhW,QAC5CoW,IAAiBH,CACjBE,KACAD,EAAQ,GAAIG,QAAO,KAAOL,EAAUtT,KAAK,KAAO,MAGpD,IAAI4T,KAsBJ,OArBAf,GAAe,GAAIgB,GAAcpO,GAAO,GAAQ,SAAStJ,GACrD,KAAIsX,GAAoBD,EAAMvP,KAAK9H,EAAKJ,cAGpC2X,GAAiBH,EAAOpX,IAA5B,CAKA,GAAI2X,GAAKrO,EAAM4L,cACf,IAAIlV,GAAQ2X,IAAMzH,EAAoByH,IAAOrO,EAAM0M,aAAe2B,EAAGxW,OAArE,CAIA,GAAIyW,GAAKtO,EAAM6L,YACXnV,IAAQ4X,GAAM1H,EAAoB0H,IAA0B,GAAnBtO,EAAM2M,WAInDwB,EAAMla,KAAKyC,OAERyX,EAGX,QAASjD,GAAQlL,GACb,GAAI8C,GAAgC,mBAAjB9C,GAAMuO,QAA0B,QAAUvO,EAAMuO,SACnE,OAAO,IAAMzL,EAAO,IAAMvP,EAAIyV,YAAYhJ,EAAM4L,gBAAkB,IAAM5L,EAAM0M,YAAc,KACpFnZ,EAAIyV,YAAYhJ,EAAM6L,cAAgB,IAAM7L,EAAM2M,UAAY,KAO1E,QAASyB,GAAcpO,EAAOwO,GAK1B,GAJAxa,KAAKgM,MAAQA,EACbhM,KAAKwa,gCAAkCA,GAGlCxO,EAAMyO,UAAW,CAClBza,KAAKqa,GAAKrO,EAAM4L,eAChB5X,KAAK0a,GAAK1O,EAAM0M,YAChB1Y,KAAKsa,GAAKtO,EAAM6L,aAChB7X,KAAK2a,GAAK3O,EAAM2M,SAChB,IAAI/D,GAAO5I,EAAM4O,uBAEb5a,MAAKqa,KAAOra,KAAKsa,IAAM1H,EAAoB5S,KAAKqa,KAChDra,KAAK6a,2BAA4B,EACjC7a,KAAK8a,OAAS9a,KAAK+a,MAAQ/a,KAAKgW,MAAQhW,KAAKqa,KAE7Cra,KAAK8a,OAAS9a,KAAKgW,MAAShW,KAAKqa,KAAOzF,GAAShC,EAAoB5S,KAAKqa,IACxC1H,EAAqB3S,KAAKqa,GAAIzF,GAAM,GAAlE5U,KAAKqa,GAAGzW,WAAW5D,KAAK0a,IAC5B1a,KAAK+a,MAAS/a,KAAKsa,KAAO1F,GAAShC,EAAoB5S,KAAKsa,IACtB3H,EAAqB3S,KAAKsa,GAAI1F,GAAM,GAAtE5U,KAAKsa,GAAG1W,WAAW5D,KAAK2a,GAAK,KAqG7C,QAASK,GAAqBnB,GAC1B,MAAO,UAASnX,EAAM+P,GAElB,IADA,GAAInH,GAAGnE,EAAIsL,EAAiB/P,EAAOA,EAAKqB,WACjCoD,GAAG,CAEN,GADAmE,EAAInE,EAAE7E,SACFgQ,EAAcuH,EAAWvO,GACzB,MAAOnE,EAEXA,GAAIA,EAAEpD,WAEV,MAAO,OAQf,QAASkX,GAAsCvY,EAAMwY,GACjD,GAAIC,GAAiCzY,EAAMwY,GACvC,KAAM,IAAI/E,GAAa,yBAI/B,QAASiF,GAAoB1Y,EAAM2Y,GAC/B,IAAK/I,EAAc+I,EAAc3Y,EAAKJ,UAClC,KAAM,IAAI6T,GAAa,yBAI/B,QAASmF,GAAkB5Y,EAAM8Q,GAC7B,GAAa,EAATA,GAAcA,GAAUZ,EAAoBlQ,GAAQA,EAAKmB,OAASnB,EAAKkB,WAAWC,QAClF,KAAM,IAAIsS,GAAa,kBAI/B,QAASoF,GAA6BpJ,EAAOC,GACzC,GAAIoJ,GAA+BrJ,GAAO,KAAUqJ,GAA+BpJ,GAAO,GACtF,KAAM,IAAI+D,GAAa,sBAI/B,QAASsF,GAAsB/Y,GAC3B,GAAIgZ,GAAoBhZ,GAAM,GAC1B,KAAM,IAAIyT,GAAa,+BAI/B,QAASwF,GAAWjZ,EAAM0T,GACtB,IAAK1T,EACD,KAAM,IAAIyT,GAAaC,GAI/B,QAASwF,GAAclZ,EAAM8Q,GACzB,MAAOA,KAAWZ,EAAoBlQ,GAAQA,EAAKmB,OAASnB,EAAKkB,WAAWC,QAGhF,QAASgY,GAAa7P,GAClB,QAAUA,EAAM4L,kBAAoB5L,EAAM6L,gBAChC5C,IAAoB1V,EAAIwV,aAAa/I,EAAM4L,iBAAmBrY,EAAIwV,aAAa/I,EAAM6L,iBACvFxD,EAAiBrI,EAAM4L,iBAAmBvD,EAAiBrI,EAAM6L,eACjE+D,EAAc5P,EAAM4L,eAAgB5L,EAAM0M,cAC1CkD,EAAc5P,EAAM6L,aAAc7L,EAAM2M,WAGpD,QAASH,GAAiBxM,GACtB,IAAK6P,EAAa7P,GACd,KAAM,IAAIsF,OAAM,qFAAuFtF,EAAMkL,UAAY,KAyFjI,QAAS4E,GAAqB9P,EAAOmH,GACjCqF,EAAiBxM,EAEjB,IAAIqO,GAAKrO,EAAM4L,eAAgB8C,EAAK1O,EAAM0M,YAAa4B,EAAKtO,EAAM6L,aAAc8C,EAAK3O,EAAM2M,UACvFoD,EAAgB1B,IAAOC,CAEvB1H,GAAoB0H,IAAOK,EAAK,GAAKA,EAAKL,EAAGzW,QAC7CqP,EAAcoH,EAAIK,EAAIxH,GAGtBP,EAAoByH,IAAOK,EAAK,GAAKA,EAAKL,EAAGxW,SAC7CwW,EAAKnH,EAAcmH,EAAIK,EAAIvH,GACvB4I,GACApB,GAAMD,EACNJ,EAAKD,GACEC,GAAMD,EAAGtW,YAAc4W,GAAM3I,EAAaqI,IACjDM,IAEJD,EAAK,GAET1O,EAAMgQ,eAAe3B,EAAIK,EAAIJ,EAAIK,GAGrC,QAASsB,GAAYjQ,GACjBwM,EAAiBxM,EACjB,IAAIkQ,GAAYlQ,EAAM4O,wBAAwB7W,WAAWsP,WAAU,EAEnE,OADA6I,GAAU7Y,YAAa2I,EAAMmQ,iBACtBD,EAAU7G,UA+WrB,QAAS+G,GAAgChM,GACrCA,EAAIiM,eAAiBC,GACrBlM,EAAImM,aAAeC,GACnBpM,EAAIqM,WAAaC,GACjBtM,EAAIuM,aAAeC,GAEnBxM,EAAIyM,YAAcC,GAClB1M,EAAI2M,WAAaC,GACjB5M,EAAI6M,sBAAwBC,GAC5B9M,EAAI+M,YAAcC,GAGtB,QAASC,GAAwBxT,GAC7BuS,EAAgCvS,GAChCuS,EAAgCvS,EAAYnE,WAGhD,QAAS4X,GAA0BC,EAASC,GACxC,MAAO,YACHhF,EAAiBxY,KAEjB,IAKI0C,GAAM+a,EALNpD,EAAKra,KAAK4X,eAAgB8C,EAAK1a,KAAK0Y,YAAa9D,EAAO5U,KAAK4a,wBAE7D9B,EAAW,GAAIsB,GAAcpa,MAAM,EAInCqa,KAAOzF,IACPlS,EAAOiQ,EAAqB0H,EAAIzF,GAAM,GACtC6I,EAAWxF,EAAqBvV,GAChC2X,EAAKoD,EAAS/a,KACdgY,EAAK+C,EAASjK,QAIlB4F,EAAeN,EAAU2C,GAEzB3C,EAAS4E,OAGT,IAAI/S,GAAc4S,EAAQzE,EAM1B,OALAA,GAAS/B,SAGTyG,EAAgBxd,KAAMqa,EAAIK,EAAIL,EAAIK,GAE3B/P,GAIf,QAASgT,GAAqB9T,EAAa2T,GACvC,QAASI,GAA4BC,EAAUC,GAC3C,MAAO,UAASpb,GACZ0Y,EAAoB1Y,EAAMqb,GAC1B3C,EAAoB/G,EAAiB3R,GAAOsb,EAE5C,IAAIP,IAAYI,EAAW7F,EAAwBC,GAAsBvV,IACxEob,EAAUG,EAAgBC,GAAale,KAAMyd,EAAS/a,KAAM+a,EAASjK,SAI9E,QAASyK,GAAcjS,EAAOtJ,EAAM8Q,GAChC,GAAI8G,GAAKtO,EAAM6L,aAAc8C,EAAK3O,EAAM2M,WACpCjW,IAASsJ,EAAM4L,gBAAkBpE,IAAWxH,EAAM0M,gBAG9CrE,EAAiB3R,IAAS2R,EAAiBiG,IAA8C,GAAvChG,EAAc5R,EAAM8Q,EAAQ8G,EAAIK,MAClFL,EAAK5X,EACLiY,EAAKnH,GAETgK,EAAgBxR,EAAOtJ,EAAM8Q,EAAQ8G,EAAIK,IAIjD,QAASuD,GAAYlS,EAAOtJ,EAAM8Q,GAC9B,GAAI6G,GAAKrO,EAAM4L,eAAgB8C,EAAK1O,EAAM0M,aACtChW,IAASsJ,EAAM6L,cAAgBrE,IAAWxH,EAAM2M,cAG5CtE,EAAiB3R,IAAS2R,EAAiBgG,IAA8C,IAAvC/F,EAAc5R,EAAM8Q,EAAQ6G,EAAIK,MAClFL,EAAK3X,EACLgY,EAAKlH,GAETgK,EAAgBxR,EAAOqO,EAAIK,EAAIhY,EAAM8Q,IAK7C,GAAI9K,GAAI,YACRA,GAAEhD,UAAYuH,EAAIwE,eAClB5H,EAAYnE,UAAY,GAAIgD,GAE5BuG,EAAK1F,OAAOM,EAAYnE,WACpBnC,SAAU,SAASb,EAAM8Q,GACrByH,EAAsCvY,GAAM,GAC5C4Y,EAAkB5Y,EAAM8Q,GAExByK,EAAcje,KAAM0C,EAAM8Q,IAG9BhQ,OAAQ,SAASd,EAAM8Q,GACnByH,EAAsCvY,GAAM,GAC5C4Y,EAAkB5Y,EAAM8Q,GAExB0K,EAAYle,KAAM0C,EAAM8Q,IAW5BwI,eAAgB,WACZ,GAAImC,GAAOnU,UACPqQ,EAAK8D,EAAK,GAAIzD,EAAKyD,EAAK,GAAI7D,EAAKD,EAAIM,EAAKD,CAE9C,QAAQyD,EAAKta,QACT,IAAK,GACD8W,EAAKwD,EAAK,EACV,MACJ,KAAK,GACD7D,EAAK6D,EAAK,GACVxD,EAAKwD,EAAK,GAIlBX,EAAgBxd,KAAMqa,EAAIK,EAAIJ,EAAIK,IAGtCyD,YAAa,SAAS1b,EAAM8Q,EAAQsK,GAChC9d,KAAK,OAAS8d,EAAU,QAAU,QAAQpb,EAAM8Q,IAGpD6K,eAAgBT,GAA4B,GAAM,GAClDU,cAAeV,GAA4B,GAAO,GAClDW,aAAcX,GAA4B,GAAM,GAChDY,YAAaZ,GAA4B,GAAO,GAEhDa,SAAU,SAASX,GACftF,EAAiBxY,MACb8d,EACAN,EAAgBxd,KAAMA,KAAK4X,eAAgB5X,KAAK0Y,YAAa1Y,KAAK4X,eAAgB5X,KAAK0Y,aAEvF8E,EAAgBxd,KAAMA,KAAK6X,aAAc7X,KAAK2Y,UAAW3Y,KAAK6X,aAAc7X,KAAK2Y,YAIzF+F,mBAAoB,SAAShc,GACzBuY,EAAsCvY,GAAM,GAE5C8a,EAAgBxd,KAAM0C,EAAM,EAAGA,EAAMuP,EAAcvP,KAGvDic,WAAY,SAASjc,GACjBuY,EAAsCvY,GAAM,GAC5C0Y,EAAoB1Y,EAAMqb,EAE1B,IAAIpb,GAAQqV,EAAsBtV,GAAOG,EAAMoV,EAAqBvV,EACpE8a,GAAgBxd,KAAM2C,EAAMD,KAAMC,EAAM6Q,OAAQ3Q,EAAIH,KAAMG,EAAI2Q,SAGlEoL,gBAAiBtB,EAA0B3D,EAAgB6D,GAE3DqB,eAAgBvB,EAA0B5D,EAAe8D,GAEzDsB,oBAAqB,WACjBtG,EAAiBxY,MACjByb,EAAsBzb,KAAK4X,gBAC3B6D,EAAsBzb,KAAK6X,aAI3B,IAAIiB,GAAW,GAAIsB,GAAcpa,MAAM,GACnC+e,EAAqBjG,EAASgC,QAAUnD,EAA2BmB,EAASgC,OAAQ9a,OAC/E8Y,EAASiC,OAASpD,EAA2BmB,EAASiC,MAAO/a,KAEtE,OADA8Y,GAAS/B,UACDgI,GAGZC,gBAAiB,WACblD,EAAqB9b,OAGzBif,mCAAoC,SAAS9L,GACzC2I,EAAqB9b,KAAMmT,IAG/B+L,oBAAqB,WACjB1G,EAAiBxY,KAEjB,IAoCImf,GApCA9E,EAAKra,KAAK4X,eAAgB8C,EAAK1a,KAAK0Y,YAAa4B,EAAKta,KAAK6X,aAAc8C,EAAK3a,KAAK2Y,UAEnFyG,EAAe,SAAS1c,GACxB,GAAIyc,GAAUzc,EAAKsE,WACfmY,IAAWA,EAAQ7c,UAAYI,EAAKJ,WACpCgY,EAAK5X,EACLiY,EAAKjY,EAAKmB,OACVnB,EAAK2c,WAAWF,EAAQjK,MACxBY,EAAWqJ,KAIfG,EAAgB,SAAS5c,GACzB,GAAIyc,GAAUzc,EAAK6F,eACnB,IAAI4W,GAAWA,EAAQ7c,UAAYI,EAAKJ,SAAU,CAC9C+X,EAAK3X,CACL,IAAI6c,GAAa7c,EAAKmB,MAItB,IAHA6W,EAAKyE,EAAQtb,OACbnB,EAAK8c,WAAW,EAAGL,EAAQjK,MAC3BY,EAAWqJ,GACP9E,GAAMC,EACNK,GAAMD,EACNJ,EAAKD,MACF,IAAIC,GAAM5X,EAAKqB,WAAY,CAC9B,GAAI0b,GAAYzN,EAAatP,EACzBiY,IAAM8E,GACNnF,EAAK5X,EACLiY,EAAK4E,GACE5E,EAAK8E,GACZ9E,OAMZ+E,GAAiB,CAGrB,IAAI9M,EAAoB0H,GAChBK,GAAML,EAAGzW,OACTub,EAAa9E,GACA,GAANK,IACPwE,EAAU7E,EAAG/R,gBACT4W,GAAWA,EAAQ7c,UAAYgY,EAAGhY,WAClCqY,EAAKwE,EAAQtb,OACTwW,GAAMC,IACNoF,GAAiB,GAErBP,EAAQE,WAAW/E,EAAGpF,MACtBY,EAAWwE,GACXA,EAAK6E,QAGV,CACH,GAAIxE,EAAK,EAAG,CACR,GAAIgF,GAAUrF,EAAG1W,WAAW+W,EAAK,EAC7BgF,IAAW/M,EAAoB+M,IAC/BP,EAAaO,GAGrBD,GAAkB1f,KAAKya,UAG3B,GAAIiF,GACA,GAAI9M,EAAoByH,GACV,GAANK,EACA4E,EAAcjF,GACPK,GAAML,EAAGxW,SAChBsb,EAAU9E,EAAGrT,YACTmY,GAAWA,EAAQ7c,UAAY+X,EAAG/X,WAC9BgY,GAAM6E,IACN7E,EAAKD,EACLM,GAAMN,EAAGxW,QAEbwW,EAAGgF,WAAWF,EAAQjK,MACtBY,EAAWqJ,SAInB,IAAIzE,EAAKL,EAAGzW,WAAWC,OAAQ,CAC3B,GAAI+b,GAAYvF,EAAGzW,WAAW8W,EAC1BkF,IAAahN,EAAoBgN,IACjCN,EAAcM,QAK1BvF,GAAKC,EACLI,EAAKC,CAGT6C,GAAgBxd,KAAMqa,EAAIK,EAAIJ,EAAIK,IAGtCkF,gBAAiB,SAASnd,EAAM8Q,GAC5ByH,EAAsCvY,GAAM,GAC5C4Y,EAAkB5Y,EAAM8Q,GACxBxT,KAAKgc,eAAetZ,EAAM8Q,MAIlC6J,EAAwBxT,GAM5B,QAASiW,GAAiC9T,GACtCA,EAAMyO,UAAazO,EAAM4L,iBAAmB5L,EAAM6L,cAAgB7L,EAAM0M,cAAgB1M,EAAM2M,UAC9F3M,EAAM4O,wBAA0B5O,EAAMyO,UAClCzO,EAAM4L,eAAiBrY,EAAI2S,kBAAkBlG,EAAM4L,eAAgB5L,EAAM6L,cAGjF,QAASkI,GAAiB/T,EAAO4L,EAAgBc,EAAab,EAAcc,GACxE3M,EAAM4L,eAAiBA,EACvB5L,EAAM0M,YAAcA,EACpB1M,EAAM6L,aAAeA,EACrB7L,EAAM2M,UAAYA,EAClB3M,EAAM5J,SAAW7C,EAAIkU,YAAYmE,GAEjCkI,EAAiC9T,GAGrC,QAASgU,GAAM/e,GACXjB,KAAK4X,eAAiB3W,EACtBjB,KAAK0Y,YAAc,EACnB1Y,KAAK6X,aAAe5W,EACpBjB,KAAK2Y,UAAY,EACjB3Y,KAAKoC,SAAWnB,EAChB6e,EAAiC9f,MAxqCrC,GAAIT,GAAM0N,EAAI1N,IACV0P,EAAOhC,EAAIgC,KACXiH,EAAc3W,EAAI2W,YAClBC,EAAelJ,EAAIkJ,aAEnBvD,EAAsBrT,EAAIqT,oBAC1BZ,EAAezS,EAAIyS,aACnBU,EAAmBnT,EAAImT,iBACvBe,EAAclU,EAAIkU,YAClBa,EAAgB/U,EAAI+U,cACpBpB,EAAgB3T,EAAI2T,cACpBP,EAAuBpT,EAAIoT,qBAC3BV,EAAgB1S,EAAI0S,cACpBK,EAAgB/S,EAAI+S,cACpB+B,EAAmB9U,EAAI8U,iBACvBY,EAAkBhI,EAAIkB,SAAS8G,gBAE/Ba,EAAavW,EAAIuW,UA8MrBsE,GAAc1U,WACVkR,SAAU,KACVZ,MAAO,KACP8E,OAAQ,KACRC,MAAO,KACPF,2BAA2B,EAE3B6C,MAAO,WACH1d,KAAK4W,SAAW,KAChB5W,KAAKgW,MAAQhW,KAAK8a,QAGtBjE,QAAS,WACL,QAAS7W,KAAKgW,OAGlBc,KAAM,WAEF,GAAImJ,GAAUjgB,KAAK4W,SAAW5W,KAAKgW,KAenC,OAdIiK,KACAjgB,KAAKgW,MAASiK,IAAYjgB,KAAK+a,MAASkF,EAAQjZ,YAAc,KAG1D4L,EAAoBqN,IAAYjgB,KAAKwa,kCACjCyF,IAAYjgB,KAAKsa,KAChB2F,EAAUA,EAAQ5M,WAAU,IAAOC,WAAWtT,KAAK2a,GAAIsF,EAAQpc,OAAS7D,KAAK2a,IAE9E3a,KAAK4W,WAAa5W,KAAKqa,KACtB4F,EAAUA,EAAQ5M,WAAU,IAAOC,WAAW,EAAGtT,KAAK0a,MAK5DuF,GAGXza,OAAQ,WACJ,GAA6B7C,GAAOE,EAAhCod,EAAUjgB,KAAK4W,UAEfhE,EAAoBqN,IAAaA,IAAYjgB,KAAKqa,IAAM4F,IAAYjgB,KAAKsa,GAOrE2F,EAAQlc,YACR+R,EAAWmK,IAPftd,EAASsd,IAAYjgB,KAAKqa,GAAMra,KAAK0a,GAAK,EAC1C7X,EAAOod,IAAYjgB,KAAKsa,GAAMta,KAAK2a,GAAKsF,EAAQpc,OAC5ClB,GAASE,GACTod,EAAQ3M,WAAW3Q,EAAOE,EAAMF,KAW5CuW,2BAA4B,WACxB,GAAI+G,GAAUjgB,KAAK4W,QACnB,OAAOe,GAA2BsI,EAASjgB,KAAKgM,QAGpDmN,mBAAoB,WAChB,GAAI+G,EACJ,IAAIlgB,KAAK6a,0BACLqF,EAAWlgB,KAAKgM,MAAMmU,aACtBD,EAASzB,UAAS,OACf,CACHyB,EAAW,GAAIF,GAAMlI,EAAiB9X,KAAKgM,OAC3C,IAAIiU,GAAUjgB,KAAK4W,SACfgB,EAAiBqI,EAASvH,EAAc,EAAGb,EAAeoI,EAAStH,EAAY1G,EAAcgO,EAE7FvN,GAAiBuN,EAASjgB,KAAKqa,MAC/BzC,EAAiB5X,KAAKqa,GACtB3B,EAAc1Y,KAAK0a,IAEnBhI,EAAiBuN,EAASjgB,KAAKsa,MAC/BzC,EAAe7X,KAAKsa,GACpB3B,EAAY3Y,KAAK2a,IAGrBoF,EAAiBG,EAAUtI,EAAgBc,EAAab,EAAcc,GAE1E,MAAO,IAAIyB,GAAc8F,EAAUlgB,KAAKwa,kCAG5CzD,OAAQ,WACJ/W,KAAKgM,MAAQhM,KAAK4W,SAAW5W,KAAKgW,MAAQhW,KAAK8a,OAAS9a,KAAK+a,MAAQ/a,KAAKqa,GAAKra,KAAK0a,GAAK1a,KAAKsa,GAAKta,KAAK2a,GAAK,MAMrH,IAAIoD,IAAwB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAC1CC,GAA0B,EAAG,EAAG,IAChCoC,GAAqB,EAAG,EAAG,GAAI,IAC/BC,IAAuB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC7CC,IAAqB,EAAG,EAAG,EAAG,EAAG,EAAG,GAgBpC9E,GAAiCR,GAAuB,EAAG,KAC3DU,GAAsBV,EAAqBoF,GAC3CjF,GAAmCH,GAAuB,EAAG,GAAI,KA2DjEuF,GAAUne,SAASP,cAAc,SACjC2e,IAAsB,CAC1B,KACID,GAAQlL,UAAY,WACpBmL,GAAsD,GAA/BD,GAAQzc,WAAWxB,SAC5C,MAAOV,KAITqL,EAAIkB,SAASqS,oBAAsBA,EAEnC,IAAIC,IAA2BD,GAM3B,SAASE,GAEL,GAAIhe,GAAO1C,KAAK4X,eACZ3W,EAAMwS,EAAY/Q,EAItB,KAAKA,EACD,KAAM,IAAIyT,GAAa,oBAK3B,IAAIzF,GAAK,IAuCT,OApCqB,IAAjBhO,EAAKJ,SACLoO,EAAKhO,EAGEkQ,EAAoBlQ,KAC3BgO,EAAKnR,EAAIgG,cAAc7C,IAcvBgO,EARO,OAAPA,GACe,QAAfA,EAAGlO,UACHjD,EAAIoS,gBAAgB8B,EAAY/C,GAAI/K,kBACpCpG,EAAIoS,gBAAgBjB,GAKfzP,EAAIY,cAAc,QAElB6O,EAAG2C,WAAU,GAOtB3C,EAAG2E,UAAYqL,EAQRnhB,EAAI+V,yBAAyB5E,IAKxC,SAASgQ,GACL,GAAIzf,GAAM6W,EAAiB9X,MACvB0Q,EAAKzP,EAAIY,cAAc,OAG3B,OAFA6O,GAAG2E,UAAYqL,EAERnhB,EAAI+V,yBAAyB5E,IAmCxCiQ,IAAmB,iBAAkB,cAAe,eAAgB,YAAa,YACjF,2BAEArE,GAAM,EAAGE,GAAM,EAAGE,GAAM,EAAGE,GAAM,EACjCE,GAAM,EAAGE,GAAM,EAAGE,GAAQ,EAAGE,GAAM,CAEvCnO,GAAK1F,OAAO0D,EAAIwE,gBACZmP,sBAAuB,SAASC,EAAK7U,GACjCwM,EAAiBxY,MACjBub,EAA6Bvb,KAAK4X,eAAgB5L,EAAM4L,eAExD,IAAIrD,GAAOC,EAASC,EAAOC,EACvBoM,EAAWD,GAAOjE,IAAOiE,GAAOvE,GAAO,QAAU,MACjDyE,EAAWF,GAAOrE,IAAOqE,GAAOvE,GAAO,QAAU,KAKrD,OAJA/H,GAAQvU,KAAK8gB,EAAU,aACvBtM,EAAUxU,KAAK8gB,EAAU,UACzBrM,EAAQzI,EAAM+U,EAAU,aACxBrM,EAAU1I,EAAM+U,EAAU,UACnBzM,EAAcC,EAAOC,EAASC,EAAOC,IAGhDsM,WAAY,SAASte,GAKjB,GAJA8V,EAAiBxY,MACjBob,EAAoB1Y,EAAM2d,IAC1B5E,EAAsBzb,KAAK4X,gBAEvBlF,EAAiBhQ,EAAM1C,KAAK4X,gBAC5B,KAAM,IAAIzB,GAAa,wBAO3B,IAAIgC,GAAoBD,EAAqBxV,EAAM1C,KAAK4X,eAAgB5X,KAAK0Y,YAC7E1Y,MAAKqe,eAAelG,IAGxBgE,cAAe,WACX3D,EAAiBxY,KAEjB,IAAIihB,GAAOhI,CACX,IAAIjZ,KAAKya,UACL,MAAO3C,GAAiB9X,MAAMyV,wBAE9B,IAAIzV,KAAK4X,iBAAmB5X,KAAK6X,cAAgBjF,EAAoB5S,KAAK4X,gBAKtE,MAJAqJ,GAAQjhB,KAAK4X,eAAevE,WAAU,GACtC4N,EAAM/L,KAAO+L,EAAM/L,KAAKvE,MAAM3Q,KAAK0Y,YAAa1Y,KAAK2Y,WACrDM,EAAOnB,EAAiB9X,MAAMyV,yBAC9BwD,EAAK5V,YAAY4d,GACVhI,CAEP,IAAIH,GAAW,GAAIsB,GAAcpa,MAAM,EAI3C,OAHIihB,GAAQpI,EAAaC,GACrBA,EAAS/B,SAENkK,GAIfnC,oBAAqB,WACjBtG,EAAiBxY,MACjByb,EAAsBzb,KAAK4X,gBAC3B6D,EAAsBzb,KAAK6X,aAI3B,IAAIiB,GAAW,GAAIsB,GAAcpa,MAAM,GACnC+e,EAAqBjG,EAASgC,QAAWnD,EAA2BmB,EAASgC,OAAQ9a,OAChF8Y,EAASiC,OAASpD,EAA2BmB,EAASiC,MAAO/a,KAEtE,OADA8Y,GAAS/B,UACDgI,GAGZmC,iBAAkB,SAASxe,GAGvB,GAFA0Y,EAAoB1Y,EAAM4d,KAErBtgB,KAAK8e,sBACN,KAAM,IAAI3I,GAAa,oBAI3B,IAAIgL,GAAUnhB,KAAK4e,iBAGnB,IAAIlc,EAAK0e,gBACL,KAAO1e,EAAK2e,WACR3e,EAAKsB,YAAYtB,EAAK2e,UAK9BnJ,GAAqBxV,EAAM1C,KAAK4X,eAAgB5X,KAAK0Y,aACrDhW,EAAKW,YAAY8d,GAEjBnhB,KAAK2e,WAAWjc,IAGpByd,WAAY,WACR3H,EAAiBxY,KAGjB,KAFA,GACgCshB,GAD5BtV,EAAQ,GAAIgU,GAAMlI,EAAiB9X,OACnC6G,EAAI8Z,GAAgB9c,OACjBgD,KACHya,EAAOX,GAAgB9Z,GACvBmF,EAAMsV,GAAQthB,KAAKshB,EAEvB,OAAOtV,IAGX5B,SAAU,WACNoO,EAAiBxY,KACjB,IAAIqa,GAAKra,KAAK4X,cACd,IAAIyC,IAAOra,KAAK6X,cAAgBjF,EAAoByH,GAChD,MAAuB,IAAfA,EAAG/X,UAAgC,GAAf+X,EAAG/X,SAAiB+X,EAAGnF,KAAKvE,MAAM3Q,KAAK0Y,YAAa1Y,KAAK2Y,WAAa,EAElG,IAAI4I,MAAgBzI,EAAW,GAAIsB,GAAcpa,MAAM,EAQvD,OAPAoZ,GAAeN,EAAU,SAASpW,IAET,GAAjBA,EAAKJ,UAAkC,GAAjBI,EAAKJ,WAC3Bif,EAAUthB,KAAKyC,EAAKwS,QAG5B4D,EAAS/B,SACFwK,EAAUhb,KAAK,KAO9Bib,YAAa,SAAS9e,GAClB8V,EAAiBxY,KAEjB,IAAI+R,GAASrP,EAAKqB,WACd0b,EAAYzN,EAAatP,EAE7B,KAAKqP,EACD,KAAM,IAAIoE,GAAa,gBAG3B,IAAIsC,GAAkBzY,KAAKyhB,aAAa1P,EAAQ0N,GAC5C7G,EAAgB5Y,KAAKyhB,aAAa1P,EAAQ0N,EAAY,EAE1D,OAAsB,GAAlBhH,EACQG,EAAgB,EAAKsE,GAAQJ,GAE7BlE,EAAgB,EAAKoE,GAAMI,IAI3CqE,aAAc,SAAS/e,EAAM8Q,GAKzB,MAJAgF,GAAiBxY,MACjB2b,EAAWjZ,EAAM,yBACjB6Y,EAA6B7Y,EAAM1C,KAAK4X,gBAEpCtD,EAAc5R,EAAM8Q,EAAQxT,KAAK4X,eAAgB5X,KAAK0Y,aAAe,EAC9D,GACApE,EAAc5R,EAAM8Q,EAAQxT,KAAK6X,aAAc7X,KAAK2Y,WAAa,EACjE,EAEJ,GAGX8H,yBAA0BA,GAE1BiB,OAAQ,WACJ,MAAOzF,GAAYjc,OAKvB2hB,eAAgB,SAASjf,EAAM6V,GAE3B,GADAC,EAAiBxY,MACbqU,EAAiB3R,IAASqV,EAAa/X,MACvC,OAAO,CAGX,IAAI+R,GAASrP,EAAKqB,WAAYyP,EAASxB,EAAatP,EACpD,KAAKqP,EACD,OAAO,CAGX,IAAI0G,GAAkBnE,EAAcvC,EAAQyB,EAAQxT,KAAK6X,aAAc7X,KAAK2Y,WACxEC,EAAgBtE,EAAcvC,EAAQyB,EAAS,EAAGxT,KAAK4X,eAAgB5X,KAAK0Y,YAEhF,OAAOH,GAA4C,GAAnBE,GAAwBG,GAAiB,EAAsB,EAAlBH,GAAuBG,EAAgB,GAGxHgJ,eAAgB,SAASlf,EAAM8Q,GAK3B,MAJAgF,GAAiBxY,MACjB2b,EAAWjZ,EAAM,yBACjB6Y,EAA6B7Y,EAAM1C,KAAK4X,gBAEhCtD,EAAc5R,EAAM8Q,EAAQxT,KAAK4X,eAAgB5X,KAAK0Y,cAAgB,GACtEpE,EAAc5R,EAAM8Q,EAAQxT,KAAK6X,aAAc7X,KAAK2Y,YAAc,GAM9EkJ,gBAAiB,SAAS7V,GACtB,MAAOoM,GAAgBpY,KAAMgM,GAAO,IAIxC8V,yBAA0B,SAAS9V,GAC/B,MAAOoM,GAAgBpY,KAAMgM,GAAO,IAGxC+V,aAAc,SAAS/V,GACnB,GAAIhM,KAAK6hB,gBAAgB7V,GAAQ,CAC7B,GAAIyM,GAAkBnE,EAActU,KAAK4X,eAAgB5X,KAAK0Y,YAAa1M,EAAM4L,eAAgB5L,EAAM0M,aACnGE,EAAgBtE,EAActU,KAAK6X,aAAc7X,KAAK2Y,UAAW3M,EAAM6L,aAAc7L,EAAM2M,WAE3FqJ,EAAoBhiB,KAAKmgB,YAO7B,OANuB,IAAnB1H,GACAuJ,EAAkBze,SAASyI,EAAM4L,eAAgB5L,EAAM0M,aAEtC,GAAjBE,GACAoJ,EAAkBxe,OAAOwI,EAAM6L,aAAc7L,EAAM2M,WAEhDqJ,EAEX,MAAO,OAGXC,MAAO,SAASjW,GACZ,GAAIhM,KAAK8hB,yBAAyB9V,GAAQ,CACtC,GAAIkW,GAAaliB,KAAKmgB,YAOtB,OANqG,IAAjG7L,EAActI,EAAM4L,eAAgB5L,EAAM0M,YAAa1Y,KAAK4X,eAAgB5X,KAAK0Y,cACjFwJ,EAAW3e,SAASyI,EAAM4L,eAAgB5L,EAAM0M,aAEyC,GAAzFpE,EAActI,EAAM6L,aAAc7L,EAAM2M,UAAW3Y,KAAK6X,aAAc7X,KAAK2Y,YAC3EuJ,EAAW1e,OAAOwI,EAAM6L,aAAc7L,EAAM2M,WAEzCuJ,EAEP,KAAM,IAAI/L,GAAa,4BAI/BgM,aAAc,SAASzf,EAAM0f,GACzB,MAAIA,GACOpiB,KAAK2hB,eAAejf,GAAM,GAE1B1C,KAAKwhB,YAAY9e,IAAS0a,IAIzCiF,qBAAsB,SAAS3f,GAC3B,MAAO1C,MAAKyhB,aAAa/e,EAAM,IAAM,GAAK1C,KAAKyhB,aAAa/e,EAAMuP,EAAcvP,KAAU,GAG9F4f,cAAe,SAAStW,GACpB,GAAI+V,GAAe/hB,KAAK+hB,aAAa/V,EACrC,OAAwB,QAAjB+V,GAAyB/V,EAAMgL,OAAO+K,IAGjDQ,iBAAkB,SAAS7f,GACvB,GAAI8f,GAAYxiB,KAAKmgB,YACrBqC,GAAU7D,WAAWjc,EACrB,IAAI+f,GAAYD,EAAUE,UAAU,GACpC,IAAID,EAAU5e,OAAS,EAAG,CACtB2e,EAAUjf,SAASkf,EAAU,GAAI,EACjC,IAAIE,GAAeF,EAAUG,KAE7B,OADAJ,GAAUhf,OAAOmf,EAAcA,EAAa9e,QACrC7D,KAAKsiB,cAAcE,GAE1B,MAAOxiB,MAAKqiB,qBAAqB3f;EAIzCggB,SAAU,SAAS7I,EAAWC,GAE1B,MADAtB,GAAiBxY,MACV4Z,EAAgB5Z,KAAM6Z,EAAWC,IAG5CrG,YAAa,WACT,MAAOqE,GAAiB9X,OAG5B6iB,eAAgB,SAASngB,GACrB1C,KAAKue,aAAa7b,GAClB1C,KAAKye,UAAS,IAGlBqE,cAAe,SAASpgB,GACpB1C,KAAKse,cAAc5b,GACnB1C,KAAKye,UAAS,IAGlBsE,YAAa,SAASC,GAClB,GAAI/hB,GAAM6W,EAAiB9X,MACvBijB,EAAoBhW,EAAI9K,YAAYlB,EACxC+hB,GAAgBA,GAAiBzjB,EAAI8M,QAAQpL,GAC7CgiB,EAAkBvE,mBAAmBsE,EACrC,IAAIhX,GAAQhM,KAAK+hB,aAAakB,GAC1BtgB,EAAQ,EAAGE,EAAM,CAOrB,OANImJ,KACAiX,EAAkBzf,OAAOwI,EAAM4L,eAAgB5L,EAAM0M,aACrD/V,EAAQsgB,EAAkB7Y,WAAWvG,OACrChB,EAAMF,EAAQqJ,EAAM5B,WAAWvG,SAI/BlB,MAAOA,EACPE,IAAKA,EACLmgB,cAAeA,IAIvBE,eAAgB,SAASC,GACrB,GAAIH,GAAgBG,EAASH,cACzBI,EAAY,CAChBpjB,MAAKuD,SAASyf,EAAe,GAC7BhjB,KAAKye,UAAS,EAId,KAHA,GAAiC/b,GAC7B2gB,EAAexc,EAAGjD,EADlB0f,GAAaN,GAAsBO,GAAa,EAAO/J,GAAO,GAG1DA,IAAS9W,EAAO4gB,EAAUV,QAC9B,GAAqB,GAAjBlgB,EAAKJ,SACL+gB,EAAgBD,EAAY1gB,EAAKmB,QAC5B0f,GAAcJ,EAASxgB,OAASygB,GAAaD,EAASxgB,OAAS0gB,IAChErjB,KAAKuD,SAASb,EAAMygB,EAASxgB,MAAQygB,GACrCG,GAAa,GAEbA,GAAcJ,EAAStgB,KAAOugB,GAAaD,EAAStgB,KAAOwgB,IAC3DrjB,KAAKwD,OAAOd,EAAMygB,EAAStgB,IAAMugB,GACjC5J,GAAO,GAEX4J,EAAYC,MAIZ,KAFAzf,EAAalB,EAAKkB,WAClBiD,EAAIjD,EAAWC,OACRgD,KACHyc,EAAUrjB,KAAK2D,EAAWiD,KAM1C0T,QAAS,WACL,MAAO,YAGXvD,OAAQ,SAAShL,GACb,MAAOgU,GAAMwD,YAAYxjB,KAAMgM,IAGnCyX,QAAS,WACL,MAAO5H,GAAa7b,OAGxBkX,QAAS,WACL,MAAOA,GAAQlX,OAGnB+W,OAAQ,eA0UZ4G,EAAqBqC,EAAOD,GAE5B9Q,EAAK1F,OAAOyW,GACRW,gBAAiBA,GACjBvG,cAAeA,EACfiD,wBAAyBA,EACzBM,qBAAsBA,EACtBzG,QAASA,EACTwK,OAAQzF,EACRnE,iBAAkBA,EAClB0L,YAAa,SAASE,EAAIC,GACtB,MAAOD,GAAG9L,iBAAmB+L,EAAG/L,gBAC5B8L,EAAGhL,cAAgBiL,EAAGjL,aACtBgL,EAAG7L,eAAiB8L,EAAG9L,cACvB6L,EAAG/K,YAAcgL,EAAGhL,aAIhC1L,EAAI2W,SAAW5D,IAMnB/S,EAAIuE,iBAAiB,gBAAiB,YAAa,SAASvE,EAAKmB,GAC7D,GAAIyV,GAAcC,EACdvkB,EAAM0N,EAAI1N,IACV0P,EAAOhC,EAAIgC,KACXiH,EAAc3W,EAAI2W,YAClB0N,EAAW3W,EAAI2W,SACfvX,EAAU9M,EAAI8M,QACd6H,EAAqB3U,EAAI2U,mBACzBtB,EAAsBrT,EAAIqT,mBAkQ9B,IA7PI3F,EAAIkB,SAASN,qBAKb,WAII,QAASkW,GAAsB/X,GAE3B,IADA,GAAgCsV,GAA5Bza,EAAI8Z,EAAgB9c,OACjBgD,KACHya,EAAOX,EAAgB9Z,GACvBmF,EAAMsV,GAAQtV,EAAMgY,YAAY1C,EAGpCtV,GAAMyO,UAAazO,EAAM4L,iBAAmB5L,EAAM6L,cAAgB7L,EAAM0M,cAAgB1M,EAAM2M,UAGlG,QAASsL,GAAkBjY,EAAO4L,EAAgBc,EAAab,EAAcc,GACzE,GAAIuL,GAAclY,EAAM4L,iBAAmBA,GAAkB5L,EAAM0M,aAAeA,EAC9EyL,EAAYnY,EAAM6L,eAAiBA,GAAgB7L,EAAM2M,WAAaA,EACtEyL,GAAwBpY,EAAMgL,OAAOhL,EAAMgY,cAG3CE,GAAcC,GAAYC,KAC1BpY,EAAMxI,OAAOqU,EAAcc,GAC3B3M,EAAMzI,SAASqU,EAAgBc,IArBvC,GAAI2L,GAyBAzG,EAxBA+C,EAAkBiD,EAASjD,eA0B/BkD,GAAe,SAAS7X,GACpB,IAAKA,EACD,KAAMoC,GAAOmD,YAAY,wCAE7BvR,MAAKgkB,YAAchY,EACnB+X,EAAsB/jB,OAG1B4jB,EAASjG,qBAAqBkG,EAAcI,GAE5CI,EAAaR,EAAane,UAE1B2e,EAAW1F,WAAa,SAASjc,GAC7B1C,KAAKgkB,YAAYrF,WAAWjc,GAC5BqhB,EAAsB/jB,OAG1BqkB,EAAWlI,cAAgB,WACvB,MAAOnc,MAAKgkB,YAAY7H,iBAM5BkI,EAAWnD,iBAAmB,SAASxe,GACnC1C,KAAKgkB,YAAY9C,iBAAiBxe,GAClCqhB,EAAsB/jB,OAG1BqkB,EAAW5F,SAAW,SAASX,GAC3B9d,KAAKgkB,YAAYvF,SAASX,GAC1BiG,EAAsB/jB,OAG1BqkB,EAAWlE,WAAa,WACpB,MAAO,IAAI0D,GAAa7jB,KAAKgkB,YAAY7D,eAG7CkE,EAAWC,QAAU,WACjBP,EAAsB/jB,OAG1BqkB,EAAWja,SAAW,WAClB,MAAOpK,MAAKgkB,YAAY5Z,WAK5B,IAAIma,GAAeniB,SAASL,eAAe,OAC3CsK,GAAQjK,UAAUiB,YAAYkhB,EAC9B,IAAIvY,GAAQ5J,SAASD,aAOrB6J,GAAMzI,SAASghB,EAAc,GAC7BvY,EAAMxI,OAAO+gB,EAAc,EAE3B,KACIvY,EAAMzI,SAASghB,EAAc,GAE7BF,EAAW9gB,SAAW,SAASb,EAAM8Q,GACjCxT,KAAKgkB,YAAYzgB,SAASb,EAAM8Q,GAChCuQ,EAAsB/jB,OAG1BqkB,EAAW7gB,OAAS,SAASd,EAAM8Q,GAC/BxT,KAAKgkB,YAAYxgB,OAAOd,EAAM8Q,GAC9BuQ,EAAsB/jB,OAG1B4d,EAA8B,SAAS9O,GACnC,MAAO,UAASpM,GACZ1C,KAAKgkB,YAAYlV,GAAMpM,GACvBqhB,EAAsB/jB,QAIhC,MAAMyN,GAEJ4W,EAAW9gB,SAAW,SAASb,EAAM8Q,GACjC,IACIxT,KAAKgkB,YAAYzgB,SAASb,EAAM8Q,GAClC,MAAO/F,GACLzN,KAAKgkB,YAAYxgB,OAAOd,EAAM8Q,GAC9BxT,KAAKgkB,YAAYzgB,SAASb,EAAM8Q,GAEpCuQ,EAAsB/jB,OAG1BqkB,EAAW7gB,OAAS,SAASd,EAAM8Q,GAC/B,IACIxT,KAAKgkB,YAAYxgB,OAAOd,EAAM8Q,GAChC,MAAO/F,GACLzN,KAAKgkB,YAAYzgB,SAASb,EAAM8Q,GAChCxT,KAAKgkB,YAAYxgB,OAAOd,EAAM8Q,GAElCuQ,EAAsB/jB,OAG1B4d,EAA8B,SAAS9O,EAAM0V,GACzC,MAAO,UAAS9hB,GACZ,IACI1C,KAAKgkB,YAAYlV,GAAMpM,GACzB,MAAO+K,GACLzN,KAAKgkB,YAAYQ,GAAc9hB,GAC/B1C,KAAKgkB,YAAYlV,GAAMpM,GAE3BqhB,EAAsB/jB,QAKlCqkB,EAAWhG,eAAiBT,EAA4B,iBAAkB,gBAC1EyG,EAAW/F,cAAgBV,EAA4B,gBAAiB,eACxEyG,EAAW9F,aAAeX,EAA4B,eAAgB,kBACtEyG,EAAW7F,YAAcZ,EAA4B,cAAe,iBAMpEyG,EAAW3F,mBAAqB,SAAShc,GACrC1C,KAAKgc,eAAetZ,EAAM,EAAGnD,EAAI0S,cAAcvP,KAQnDsJ,EAAM0S,mBAAmB6F,GACzBvY,EAAMxI,OAAO+gB,EAAc,EAE3B,IAAIE,GAASriB,SAASD,aACtBsiB,GAAO/F,mBAAmB6F,GAC1BE,EAAOjhB,OAAO+gB,EAAc,GAC5BE,EAAOlhB,SAASghB,EAAc,GAEiC,IAA3DvY,EAAM4U,sBAAsB5U,EAAMuQ,aAAckI,IACe,GAA3DzY,EAAM4U,sBAAsB5U,EAAM2Q,aAAc8H,GAGpDJ,EAAWzD,sBAAwB,SAASne,EAAMuJ,GAO9C,MANAA,GAAQA,EAAMgY,aAAehY,EACzBvJ,GAAQuJ,EAAMuQ,aACd9Z,EAAOuJ,EAAM2Q,aACNla,GAAQuJ,EAAM2Q,eACrBla,EAAOuJ,EAAMuQ,cAEVvc,KAAKgkB,YAAYpD,sBAAsBne,EAAMuJ,IAGxDqY,EAAWzD,sBAAwB,SAASne,EAAMuJ,GAC9C,MAAOhM,MAAKgkB,YAAYpD,sBAAsBne,EAAMuJ,EAAMgY,aAAehY,GAQjF,IAAI0E,GAAKtO,SAASP,cAAc,MAChC6O,GAAG2E,UAAY,KACf,IAAIiB,GAAW5F,EAAG5M,WACdR,EAAO+I,EAAQjK,SACnBkB,GAAKD,YAAYqN,GAEjB1E,EAAMzI,SAAS+S,EAAU,GACzBtK,EAAMxI,OAAO8S,EAAU,GACvBtK,EAAM6S,iBAEe,MAAjBvI,EAASpB,OAGTmP,EAAWxF,eAAiB,WACxB7e,KAAKgkB,YAAYnF,iBACjBkF,EAAsB/jB,OAG1BqkB,EAAWzF,gBAAkB,WACzB,GAAI3F,GAAOjZ,KAAKgkB,YAAYpF,iBAE5B,OADAmF,GAAsB/jB,MACfiZ,IAKf3V,EAAKU,YAAY0M,GACjBpN,EAAO,KAKH2L,EAAK7D,aAAaY,EAAO,8BACzBqY,EAAW5D,yBAA2B,SAASC,GAC3C,MAAO1gB,MAAKgkB,YAAYvD,yBAAyBC,KAOzDrU,EAAQjK,UAAU4B,YAAYugB,GAE9BF,EAAW9J,QAAU,WACjB,MAAO,gBAGXtN,EAAI4W,aAAeA,EAEnB5W,EAAIyX,kBAAoB,SAASzjB,GAE7B,MADAA,GAAMiT,EAAmBjT,EAAKmN,EAAQ,qBAC/BnN,EAAIkB,kBAKnB8K,EAAIkB,SAASL,oBAAqB,CAelC,GAAI6W,GAA+B,SAASC,GACxC,GAAIC,GAAWD,EAAUrf,gBACrByG,EAAQ4Y,EAAUE,WACtB9Y,GAAMyS,UAAS,EACf,IAAIsG,GAAU/Y,EAAMzG,eACpByG,GAAQ4Y,EAAUE,YAClB9Y,EAAMyS,UAAS,EACf,IAAIuG,GAAQhZ,EAAMzG,gBACd0f,EAAqBF,GAAWC,EAASD,EAAUxlB,EAAI2S,kBAAkB6S,EAASC,EAEtF,OAAOC,IAAqBJ,EAAWI,EAAoB1lB,EAAI2S,kBAAkB2S,EAAUI,IAG3FC,EAAuB,SAASN,GAChC,MAA8D,IAAvDA,EAAUO,iBAAiB,aAAcP,IAOhDQ,EAA+B,SAASR,EAAWS,EAA4BvH,EAASwH,EAAaC,GACrG,GAAIC,GAAeZ,EAAUE,WAC7BU,GAAa/G,SAASX,EACtB,IAAI2H,GAAmBD,EAAajgB,eAWpC,IAPKhG,EAAImT,iBAAiB2S,EAA4BI,KAClDA,EAAmBJ,IAMlBI,EAAiBC,YAAa,CAC/B,GAAIzO,GAAM,GAAIf,GAAYuP,EAAiB1hB,WAAYxE,EAAIyS,aAAayT,GACxE,QACIE,iBAAkB1O,EAClB2O,UACInG,UAAWxI,EAAIzD,OACfiS,iBAAkBxO,EAAIvU,OAKlC,GAAImjB,GAActmB,EAAIkU,YAAYgS,GAAkB5jB,cAAc,OAI9DgkB,GAAY9hB,YACZxE,EAAIuW,WAAW+P,EAanB,KAVA,GAAIC,GACAC,EAAc/S,EAAU2S,EAAkBK,EAD9BC,EAAwBnI,EAAU,eAAiB,aAE/Dnb,EAAS4iB,GAAaA,EAAUE,kBAAoBA,EAAoBF,EAAU9F,UAAY,EAC9FyG,EAAiBT,EAAiB7hB,WAAWC,OAC7ChB,EAAMqjB,EAINzG,EAAY5c,IAEH,CAQT,GAPI4c,GAAayG,EACbT,EAAiBpiB,YAAYwiB,GAE7BJ,EAAiBxS,aAAa4S,EAAaJ,EAAiB7hB,WAAW6b,IAE3E+F,EAAaW,kBAAkBN,GAC/BC,EAAaN,EAAaL,iBAAiBc,EAAuBrB,GAChD,GAAdkB,GAAmBnjB,GAASE,EAC5B,KACG,IAAkB,IAAdijB,EAAkB,CACzB,GAAIjjB,GAAOF,EAAQ,EAEf,KAEAA,GAAQ8c,MAGZ5c,GAAOA,GAAOF,EAAQ,EAAKA,EAAQ8c,CAEvCA,GAAY2G,KAAKC,OAAO1jB,EAAQE,GAAO,GACvC4iB,EAAiBzhB,YAAY6hB,GAQjC,GAFAG,EAAeH,EAAY7e,YAET,IAAd8e,GAAoBE,GAAgBpT,EAAoBoT,GAAe,CAIvER,EAAac,YAAYxI,EAAU,aAAe,WAAY8G,EAE9D,IAAIpR,EAEJ,IAAI,SAAShJ,KAAKwb,EAAa9Q,MAAO,CA+BlC,GAAIqR,GAAYf,EAAaV,YACzB0B,EAAcD,EAAUE,KAAKC,QAAQ,QAAS,MAAM7iB,MAGxD,KADA2P,EAAS+S,EAAUI,UAAU,YAAaH,GACoC,KAArEV,EAAaS,EAAUpB,iBAAiB,aAAcoB,KAC3D/S,IACA+S,EAAUI,UAAU,YAAa,OAGrCnT,GAASgS,EAAaiB,KAAK5iB,MAE/B8hB,GAAmB,GAAIzP,GAAY8P,EAAcxS,OAKjDuS,IAAgBT,IAAgBxH,IAAY+H,EAAYtd,gBACxDyK,GAAYsS,GAAexH,IAAY+H,EAAY7e,YAE/C2e,EADA3S,GAAYJ,EAAoBI,GACb,GAAIkD,GAAYlD,EAAU,GACtC+S,GAAgBnT,EAAoBmT,GACxB,GAAI7P,GAAY6P,EAAcA,EAAa7Q,KAAKrR,QAEhD,GAAIqS,GAAYuP,EAAkBlmB,EAAIyS,aAAa6T,GAO9E,OAFAtmB,GAAIuW,WAAW+P,IAGXF,iBAAkBA,EAClBC,UACInG,UAAWA,EACXgG,iBAAkBA,KAQ1BmB,EAA0B,SAASjB,EAAkB7H,GACrD,GAAIkI,GAAca,EAEdhB,EAAajiB,EAFiBkjB,EAAiBnB,EAAiBnS,OAChEvS,EAAM1B,EAAIkU,YAAYkS,EAAiBjjB,MACd8iB,EAAenZ,EAAQpL,GAAKiN,kBACrD6Y,EAAiBnU,EAAoB+S,EAAiBjjB,KAqC1D,OAnCIqkB,IACAf,EAAeL,EAAiBjjB,KAChCmkB,EAAiBb,EAAajiB,aAE9BH,EAAa+hB,EAAiBjjB,KAAKkB,WACnCoiB,EAAgBc,EAAiBljB,EAAWC,OAAUD,EAAWkjB,GAAkB,KACnFD,EAAiBlB,EAAiBjjB,MAItCmjB,EAAc5kB,EAAIY,cAAc,QAIhCgkB,EAAYxQ,UAAY,UAIpB2Q,EACAa,EAAe5T,aAAa4S,EAAaG,GAEzCa,EAAexjB,YAAYwiB,GAG/BL,EAAaW,kBAAkBN,GAC/BL,EAAa/G,UAAUX,GAGvB+I,EAAe7iB,YAAY6hB,GAGvBkB,GACAvB,EAAa1H,EAAU,YAAc,WAAW,YAAagJ,GAG1DtB,EAQX1B,GAAmB,SAASc,GACxB5kB,KAAK4kB,UAAYA,EACjB5kB,KAAKskB,WAGTR,EAAiBpe,UAAY,GAAIke,GAASxhB,UAE1C0hB,EAAiBpe,UAAU4e,QAAU,WACjC,GAAI3hB,GAAOE,EAAKmkB,EAGZC,EAAwBtC,EAA6B3kB,KAAK4kB,UAE1DM,GAAqBllB,KAAK4kB,WAC1B/hB,EAAMF,EAAQyiB,EAA6BplB,KAAK4kB,UAAWqC,GAAuB,GAC9E,GAAMtB,kBAEVqB,EAAgB5B,EAA6BplB,KAAK4kB,UAAWqC,GAAuB,GAAM,GAC1FtkB,EAAQqkB,EAAcrB,iBAKtB9iB,EAAMuiB,EAA6BplB,KAAK4kB,UAAWqC,GAAuB,GAAO,EAC7ED,EAAcpB,UAAUD,kBAGhC3lB,KAAKuD,SAASZ,EAAMD,KAAMC,EAAM6Q,QAChCxT,KAAKwD,OAAOX,EAAIH,KAAMG,EAAI2Q,SAG9BsQ,EAAiBpe,UAAU6U,QAAU,WACjC,MAAO,oBAGXqJ,EAASvG,wBAAwByG,EAEjC,IAAIoD,GAAmB,SAASlb,GAC5B,GAAIA,EAAMyO,UACN,MAAOmM,GAAwB,GAAI1Q,GAAYlK,EAAM4L,eAAgB5L,EAAM0M,cAAc,EAEzF,IAAIyO,GAAaP,EAAwB,GAAI1Q,GAAYlK,EAAM4L,eAAgB5L,EAAM0M,cAAc,GAC/F0O,EAAWR,EAAwB,GAAI1Q,GAAYlK,EAAM6L,aAAc7L,EAAM2M,YAAY,GACzFiM,EAAYvY,EAASuX,EAAS9L,iBAAiB9L,IAASkC,iBAG5D,OAFA0W,GAAU0B,YAAY,eAAgBa,GACtCvC,EAAU0B,YAAY,WAAYc,GAC3BxC,EAcf,IAVAd,EAAiBoD,iBAAmBA,EAEpCpD,EAAiBpe,UAAU2hB,YAAc,WACrC,MAAOH,GAAiBlnB,OAG5BiN,EAAI6W,iBAAmBA,GAIlB7W,EAAIkB,SAASN,oBAAsBZ,EAAIG,OAAO4C,gBAAiB,CAEhE,GAAIsX,GAAY,SAAUC,GAAK,MAAOA,GAAE,mBAAsBC,SAChC,oBAAnBF,GAAUtH,QACjBsH,EAAUtH,MAAQ8D,GAGtB7W,EAAIyX,kBAAoB,SAASzjB,GAE7B,MADAA,GAAMiT,EAAmBjT,EAAKmN,EAAQ,qBAC/B/B,EAAQpL,GAAKiN,mBAGxBjB,EAAI4W,aAAeC,GAI3B7W,EAAI9K,YAAc,SAASlB,GAEvB,MADAA,GAAMiT,EAAmBjT,EAAKmN,EAAQ,eAC/B,GAAInB,GAAI4W,aAAa5W,EAAIyX,kBAAkBzjB,KAGtDgM,EAAIwa,iBAAmB,SAASxmB,GAE5B,MADAA,GAAMiT,EAAmBjT,EAAKmN,EAAQ,oBAC/B,GAAIwV,GAAS3iB,IAGxBgO,EAAKF,+BAA+B9B,EAAK,oBAAqB,eAC9DgC,EAAKF,+BAA+B9B,EAAK,yBAA0B,oBAEnEA,EAAIiE,gBAAgB,SAASlQ,GACzB,GAAIC,GAAMD,EAAIoB,QACgB,oBAAnBnB,GAAIkB,cACXlB,EAAIkB,YAAc,WACd,MAAO8K,GAAI9K,YAAYlB,KAG/BA,EAAMD,EAAM,SAQpBiM,EAAIuE,iBAAiB,oBAAqB,WAAY,gBAAiB,SAASvE,EAAKmB,GAuBjF,QAASsZ,GAAoBC,GACzB,MAAsB,gBAAPA,GAAmB,kBAAkBnd,KAAKmd,KAASA,EAGtE,QAASjU,GAAU1S,EAAKmT,GACpB,GAAKnT,EAEE,CAAA,GAAIzB,EAAI0U,SAASjT,GACpB,MAAOA,EACJ,IAAIA,YAAe4mB,GACtB,MAAO5mB,GAAIA,GAEX,IAAIC,GAAM1B,EAAI2U,mBAAmBlT,EAAKoN,EAAQ+F,EAC9C,OAAO5U,GAAImU,UAAUzS,GAPrB,MAAOO,QAWf,QAASqmB,GAAgBC,GACrB,MAAOpU,GAAUoU,EAAU,mBAAmB/kB,eAGlD,QAASglB,GAAgBD,GACrB,MAAOpU,GAAUoU,EAAU,mBAAmB1lB,SAASzC,UAG3D,QAASqoB,GAAuBC,GAC5B,GAAIC,IAAW,CAIf,OAHID,GAAIjlB,aACJklB,EAAmG,GAAvF3oB,EAAI+U,cAAc2T,EAAIjlB,WAAYilB,EAAIhlB,aAAcglB,EAAI/kB,UAAW+kB,EAAI9kB,cAEhF+kB,EA2KX,QAASC,GAA8BF,EAAKjc,EAAOkc,GAC/C,GAAIE,GAAeF,EAAW,MAAQ,QAASG,EAAcH,EAAW,QAAU,KAClFD,GAAIjlB,WAAagJ,EAAMoc,EAAe,aACtCH,EAAIhlB,aAAe+I,EAAMoc,EAAe,UACxCH,EAAI/kB,UAAY8I,EAAMqc,EAAc,aACpCJ,EAAI9kB,YAAc6I,EAAMqc,EAAc,UAG1C,QAASC,GAAwCL,GAC7C,GAAIM,GAAYN,EAAIO,eACpBP,GAAIjlB,WAAaulB,EAAUvlB,WAC3BilB,EAAIhlB,aAAeslB,EAAUtlB,aAC7BglB,EAAI/kB,UAAYqlB,EAAUrlB,UAC1B+kB,EAAI9kB,YAAcolB,EAAUplB,YAGhC,QAASslB,GAAqBR,GAC1BA,EAAIjlB,WAAailB,EAAI/kB,UAAY,KACjC+kB,EAAIhlB,aAAeglB,EAAI9kB,YAAc,EACrC8kB,EAAIS,WAAa,EACjBT,EAAI3C,aAAc,EAClB2C,EAAIU,QAAQ9kB,OAAS,EAGzB,QAAS+kB,GAAe5c,GACpB,GAAIgY,EAUJ,OATIhY,aAAiB4X,IACjBI,EAAc/W,EAAIyX,kBAAkB1Y,EAAMyH,eAC1CuQ,EAAYxgB,OAAOwI,EAAM6L,aAAc7L,EAAM2M,WAC7CqL,EAAYzgB,SAASyI,EAAM4L,eAAgB5L,EAAM0M,cAC1C1M,YAAiB6X,GACxBG,EAAchY,EAAMgY,YACb7V,EAASN,oBAAuB7B,YAAiBzM,GAAImU,UAAU1H,EAAM4L,gBAAgBoI,QAC5FgE,EAAchY,GAEXgY,EAGX,QAAS6E,GAA2BC,GAChC,IAAKA,EAAWjlB,QAAoC,GAA1BilB,EAAW,GAAGxmB,SACpC,OAAO,CAEX,KAAK,GAAIuE,GAAI,EAAG4H,EAAMqa,EAAWjlB,OAAY4K,EAAJ5H,IAAWA,EAChD,IAAKtH,EAAIgT,aAAauW,EAAW,GAAIA,EAAWjiB,IAC5C,OAAO,CAGf,QAAO,EAGX,QAASkiB,GAA0B/c,GAC/B,GAAImO,GAAQnO,EAAM0W,UAClB,KAAKmG,EAA2B1O,GAC5B,KAAM/L,GAAOmD,YAAY,oCAAsCvF,EAAMkL,UAAY,uCAErF,OAAOiD,GAAM,GAIjB,QAASpO,GAAYC,GACjB,QAASA,GAA8B,mBAAdA,GAAMya,KAGnC,QAASuC,GAAoBf,EAAKjc,GAE9B,GAAIid,GAAe,GAAIpF,GAAa7X,EACpCic,GAAIU,SAAWM,GAEfd,EAA8BF,EAAKgB,GAAc,GACjDhB,EAAIS,WAAa,EACjBT,EAAI3C,YAAc2D,EAAaxO,UAGnC,QAASyO,GAAuBjB,GAG5B,GADAA,EAAIU,QAAQ9kB,OAAS,EACQ,QAAzBokB,EAAIkB,aAAa1mB,KACjBgmB,EAAqBR,OAClB,CACH,GAAImB,GAAenB,EAAIkB,aAAahnB,aACpC,IAAI4J,EAAYqd,GAIZJ,EAAoBf,EAAKmB,OACtB,CACHnB,EAAIS,WAAaU,EAAavlB,MAE9B,KAAK,GADDmI,GAAO/K,EAAMwS,EAAY2V,EAAaxiB,KAAK,IACtCC,EAAI,EAAGA,EAAIohB,EAAIS,aAAc7hB,EAClCmF,EAAQiB,EAAI9K,YAAYlB,GACxB+K,EAAM2S,WAAWyK,EAAaxiB,KAAKC,IACnCohB,EAAIU,QAAQ1oB,KAAK+L,EAErBic,GAAI3C,YAAgC,GAAlB2C,EAAIS,YAAmBT,EAAIU,QAAQ,GAAGlO,UACxD0N,EAA8BF,EAAKA,EAAIU,QAAQV,EAAIS,WAAa,IAAI,KAKhF,QAASW,GAA2BpB,EAAKjc,GAQrC,IAAK,GAPDod,GAAenB,EAAIkB,aAAahnB,cAChCmnB,EAAeP,EAA0B/c,GAIzC/K,EAAMwS,EAAY2V,EAAaxiB,KAAK,IACpC2iB,EAAkBld,EAAQpL,GAAKuoB,qBAC1B3iB,EAAI,EAAG4H,EAAM2a,EAAavlB,OAAY4K,EAAJ5H,IAAWA,EAClD0iB,EAAgB/iB,IAAI4iB,EAAaxiB,KAAKC,GAE1C,KACI0iB,EAAgB/iB,IAAI8iB,GACtB,MAAO7b,GACL,KAAMW,GAAOmD,YAAY,iHAE7BgY,EAAgBE,SAGhBP,EAAuBjB,GAgC3B,QAASL,GAAiBjoB,EAAWwpB,EAAcnoB,GAC/ChB,KAAKwoB,gBAAkB7oB,EACvBK,KAAKmpB,aAAeA,EACpBnpB,KAAK2oB,WACL3oB,KAAKgB,IAAMA,EACXhB,KAAKskB,UAKT,QAASoF,GAAiBzB,GACtBA,EAAIjnB,IAAMinB,EAAIjlB,WAAailB,EAAI/kB,UAAY+kB,EAAIU,QAAU,KACzDV,EAAIS,WAAaT,EAAIhlB,aAAeglB,EAAI9kB,YAAc,EACtD8kB,EAAI0B,UAAW,EAKnB,QAASC,GAAqB5oB,EAAK6oB,GAE/B,IADA,GAAsCC,GAAQ7B,EAA1CphB,EAAIkjB,GAAsBlmB,OACvBgD,KAGH,GAFAijB,EAASC,GAAsBljB,GAC/BohB,EAAM6B,EAAOnqB,UACC,aAAVkqB,EACAH,EAAiBzB,OACd,IAAI6B,EAAO9oB,KAAOA,EACrB,MAAc,UAAV6oB,GACAE,GAAsBtjB,OAAOI,EAAG,IACzB,GAEAohB,CAOnB,OAHc,aAAV4B,IACAE,GAAsBlmB,OAAS,GAE5B,KA+BX,QAASmmB,GAAuB/B,EAAKgC,GAIjC,IAAK,GAAWvZ,GAFZzP,EAAMwS,EAAYwW,EAAO,GAAGrS,gBAC5BwR,EAAe/c,EAAQpL,GAAKuoB,qBACvB3iB,EAAI,EAAO4H,EAAMwb,EAAOpmB,OAAY4K,EAAJ5H,IAAWA,EAAG,CACnD6J,EAAKqY,EAA0BkB,EAAOpjB,GACtC,KACIuiB,EAAa5iB,IAAIkK,GACnB,MAAOjD,GACL,KAAMW,GAAOmD,YAAY,2HAGjC6X,EAAaK,SAGbP,EAAuBjB,GAqT3B,QAASiC,GAAyBjC,EAAKvlB,GACnC,GAAIulB,EAAIjnB,IAAIoB,UAAYqR,EAAY/Q,GAChC,KAAM,IAAIyT,GAAa,sBA+F/B,QAASgU,GAAuBrM,GAC5B,MAAO,UAASpb,EAAM8Q,GAClB,GAAIxH,EACAhM,MAAK0oB,YACL1c,EAAQhM,KAAKoqB,WAAW,GACxBpe,EAAM,OAAS8R,EAAU,QAAU,QAAQpb,EAAM8Q,KAEjDxH,EAAQiB,EAAI9K,YAAYnC,KAAKgB,IAAIoB,UACjC4J,EAAMgQ,eAAetZ,EAAM8Q,IAE/BxT,KAAKqqB,eAAere,EAAOhM,KAAKsqB,eAgGxC,QAASpT,GAAQ+Q,GACb,GAAIsC,MACAC,EAAS,GAAItU,GAAY+R,EAAIjlB,WAAYilB,EAAIhlB,cAC7CiB,EAAQ,GAAIgS,GAAY+R,EAAI/kB,UAAW+kB,EAAI9kB,aAC3C2L,EAA8B,kBAAfmZ,GAAI1N,QAAyB0N,EAAI1N,UAAY,WAEhE,IAA6B,mBAAlB0N,GAAIS,WACX,IAAK,GAAI7hB,GAAI,EAAG4H,EAAMwZ,EAAIS,WAAgBja,EAAJ5H,IAAWA,EAC7C0jB,EAAc1jB,GAAK+c,EAAS1M,QAAQ+Q,EAAImC,WAAWvjB,GAG3D,OAAO,IAAMiI,EAAO,YAAcyb,EAAchkB,KAAK,MAC7C,aAAeikB,EAAOtT,UAAY,YAAchT,EAAMgT,UAAY,IAp9B9EjK,EAAIG,OAAOqd,sBAAuB,CAElC,IASIC,GACAC,EAVAC,EAAU,UACVC,EAAS,SACTtrB,EAAM0N,EAAI1N,IACV0P,EAAOhC,EAAIgC,KACX7D,EAAe6D,EAAK7D,aACpBwY,EAAW3W,EAAI2W,SACfC,EAAe5W,EAAI4W,aACnB1N,EAAelJ,EAAIkJ,aACnBD,EAAc3W,EAAI2W,YAGlB/H,EAAWlB,EAAIkB,SACf2c,EAAU,UACVrX,EAAclU,EAAIkU,YAClBpH,EAAU9M,EAAI8M,QACdmX,EAAcI,EAASJ,YAwCvBuH,EAA4B3f,EAAa5J,OAAQ,gBACjDwpB,EAAyB/b,EAAKxD,aAAarJ,SAAU,YAEzD+L,GAAS4c,0BAA4BA,EACrC5c,EAAS6c,uBAAyBA,CAElC,IAAIC,GAAuBD,KAA4BD,GAA6B9d,EAAIG,OAAO4C,gBAE/F,IAAIib,EACAP,EAAqB3C,EACrB9a,EAAIie,iBAAmB,SAASpD,GAC5B,GAAI7mB,GAAMyS,EAAUoU,EAAU,oBAAoB1lB,SAAUmmB,EAAYtnB,EAAItB,SAG5E,OAA0B,QAAlB4oB,EAAU9lB,MAAkBgR,EAAY8U,EAAUpmB,cAAcoD,kBAAoBtE,OAE7F,CAAA,IAAI8pB,EAOP,MADA3c,GAAOrB,KAAK,kEACL,CANP2d,GAAqB7C,EACrB5a,EAAIie,iBAAmB,WACnB,OAAO,GAOfje,EAAIyd,mBAAqBA,CAEzB,IAAIS,GAAgBT,GAGpB,KAAKS,EAED,MADA/c,GAAOrB,KAAK,oDACL,CAGX,IAAIa,GAAYX,EAAIyX,kBAAkBtiB,UAClCkB,EAAO+I,EAAQjK,UAGfgpB,EAA6Bnc,EAAK9C,kBAAkBgf,GACnD,aAAc,YAAa,eAAgB,eAEhDhd,GAASid,2BAA6BA,CAGtC,IAAIC,GAAqBjgB,EAAa+f,EAAe,SACrDhd,GAASkd,mBAAqBA,CAG9B,IAAIC,SAAiCH,GAAczC,YAAcmC,CACjE1c,GAASmd,uBAAyBA,CAElC,IAAIC,IAAkC,EAClCC,GAA0C,EAE1CC,EAA2BJ,EAC3B,SAAS7C,EAAiBxc,GACtB,GAAI/K,GAAM2iB,EAAS9L,iBAAiB9L,GAChCob,EAAWna,EAAI9K,YAAYlB,EAC/BmmB,GAASvH,gBAAgB7T,EAAM6L,aAAc7L,EAAM2M,WACnD6P,EAAgB9kB,SAASklB,EAAexB,IACxCoB,EAAgBjf,OAAOyC,EAAM4L,eAAgB5L,EAAM0M,cACnD,IAEJzJ,GAAKhD,eAAekf,GAAgB,WAAY,aAAc,2BACnDA,GAAczC,YAAcmC,GAAU1c,EAASN,qBAE1D,WAOI,GAAIoa,GAAMzmB,OAAOuB,cACjB,IAAIklB,EAAK,CAML,IAAK,GAJDyD,GAA8BzD,EAAIS,WAClCiD,EAA8BD,EAA8B,EAC5DE,KACAC,EAA4B7D,EAAuBC,GAC9CphB,EAAI,EAAO6kB,EAAJ7kB,IAAmCA,EAC/C+kB,EAAwB/kB,GAAKohB,EAAImC,WAAWvjB,EAIhD,IAAIilB,GAASvsB,EAAImW,kBAAkBtT,SAAU,IAAI,GAC7CkU,EAAWwV,EAAOzoB,YAAajB,SAASL,eAAe,QAGvD2hB,EAAKthB,SAASD,aAUlB,IARAuhB,EAAGngB,SAAS+S,EAAU,GACtBoN,EAAGjF,UAAS,GACZwJ,EAAIxkB,kBACJwkB,EAAIvkB,SAASggB,GACb8H,EAA6D,GAAlBvD,EAAIS,WAC/CT,EAAIxkB,mBAGCkoB,EAA4B,CAM7B,GAAII,GAAcvqB,OAAOwqB,UAAUC,WAAWC,MAAM,iBACpD,IAAIH,GAAeI,SAASJ,EAAY,KAAO,GAC3CR,GAAkC,MAC/B,CACH,GAAI5H,GAAKD,EAAGvD,YACZuD,GAAGngB,SAAS+S,EAAU,GACtBqN,EAAGngB,OAAO8S,EAAU,GACpBqN,EAAGpgB,SAAS+S,EAAU,GACtB2R,EAAIvkB,SAASggB,GACbuE,EAAIvkB,SAASigB,GACb4H,EAAqD,GAAlBtD,EAAIS,YAQ/C,IAHAnpB,EAAIuW,WAAWgW,GACf7D,EAAIxkB,kBAECoD,EAAI,EAAO6kB,EAAJ7kB,IAAmCA,EAClC,GAALA,GAAUglB,EACNJ,EACAA,EAAyBxD,EAAK2D,EAAwB/kB,KAEtDoG,EAAIK,KAAK,yJACT2a,EAAIvkB,SAASkoB,EAAwB/kB,KAGzCohB,EAAIvkB,SAASkoB,EAAwB/kB,QAOzDsH,EAASod,gCAAkCA,EAC3Cpd,EAASqd,wCAA0CA,CAGnD,IAAoCY,GAAhCC,GAAyB,CAEzB/oB,IAAQ8H,EAAa9H,EAAM,wBAC3B8oB,EAAmB9oB,EAAKkmB,qBACpBva,EAAK9C,kBAAkBigB,GAAmB,OAAQ,UAClDC,GAAyB,IAGjCle,EAASke,uBAAyBA,EAI9B1B,EADAS,EACuB,SAASnD,GAC5B,MAAOA,GAAIjlB,aAAeilB,EAAI/kB,WAAa+kB,EAAIhlB,eAAiBglB,EAAI9kB,aAGjD,SAAS8kB,GAC5B,MAAOA,GAAIS,WAAaT,EAAImC,WAAWnC,EAAIS,WAAa,GAAGjO,WAAY,EA6H/E,IAAI6R,GAEAlhB,GAAa+f,EAAe,cAI5BmB,GAAsB,SAASrE,EAAK5iB,GAChC,IACI,MAAO4iB,GAAImC,WAAW/kB,GACxB,MAAOoI,GACL,MAAO,QAGR2d,IACPkB,GAAsB,SAASrE,GAC3B,GAAIhnB,GAAMwS,EAAYwU,EAAIjlB,YACtBgJ,EAAQiB,EAAI9K,YAAYlB,EAS5B,OARA+K,GAAMgQ,eAAeiM,EAAIjlB,WAAYilB,EAAIhlB,aAAcglB,EAAI/kB,UAAW+kB,EAAI9kB,aAItE6I,EAAMyO,YAAcza,KAAKslB,aACzBtZ,EAAMgQ,eAAeiM,EAAI/kB,UAAW+kB,EAAI9kB,YAAa8kB,EAAIjlB,WAAYilB,EAAIhlB,cAGtE+I,IAYf4b,EAAiBliB,UAAYuH,EAAIyE,kBAQjC,IAAIqY,OAwBAhnB,GAAe,SAAS/B,GAExB,GAAIA,GAAOA,YAAe4mB,GAEtB,MADA5mB,GAAIsjB,UACGtjB,CAGXA,GAAM0S,EAAU1S,EAAK,qBAErB,IAAIinB,GAAM2B,EAAqB5oB,GAC3BunB,EAAYmC,EAAmB1pB,GAAMurB,EAASvB,EAAyBjD,EAAgB/mB,GAAO,IASlG,OARIinB,IACAA,EAAIO,gBAAkBD,EACtBN,EAAIkB,aAAeoD,EACnBtE,EAAI3D,YAEJ2D,EAAM,GAAIL,GAAiBW,EAAWgE,EAAQvrB,GAC9C+oB,GAAsB9pB,MAAQe,IAAKA,EAAKrB,UAAWsoB,KAEhDA,EAGXhb,GAAIlK,aAAeA,GAEnBkM,EAAKF,+BAA+B9B,EAAK,qBAAsB,eAE/D,IAAIuf,IAAW5E,EAAiBliB,SAqBhC,KAAKulB,GAAwBG,GAA8Bnc,EAAKhD,eAAekf,GAAgB,kBAAmB,aAAc,CAC5HqB,GAAS/oB,gBAAkB,WACvBzD,KAAKwoB,gBAAgB/kB,kBACrBglB,EAAqBzoB,MAGzB,IAAIysB,IAAmB,SAASxE,EAAKjc,GACjCyf,EAAyBxD,EAAIO,gBAAiBxc,GAC9Cic,EAAI3D,UAGJgH,GACAkB,GAAS9oB,SAAW,SAASsI,EAAO0gB,GAChC,GAAIL,GAA0BrB,GAA0BhrB,KAAKmpB,aAAa1mB,MAAQqoB,EAC9EzB,EAA2BrpB,KAAMgM,OAEjC,IAAI0b,EAAoBgF,IAAcrB,EAClCoB,GAAiBzsB,KAAMgM,OACpB,CACH,GAAI2gB,EACApB,GACAoB,EAAqB3sB,KAAK0oB,YAE1B1oB,KAAKyD,kBACLkpB,EAAqB,EAKzB,IAAIC,GAAoBhE,EAAe5c,GAAOmU,YAC9C,KACIngB,KAAKwoB,gBAAgB9kB,SAASkpB,GAChC,MAAOnf,IAMT,GAFAzN,KAAK0oB,WAAa1oB,KAAKwoB,gBAAgBE,WAEnC1oB,KAAK0oB,YAAciE,EAAqB,EAAG,CAK3C,GAAI1f,EAAIG,OAAOqd,qBAAsB,CACjC,GAAIzG,GAAcsI,GAAoBtsB,KAAKwoB,gBAAiBxoB,KAAK0oB,WAAa,EAC1E1E,KAAgBR,EAAYQ,EAAahY,KAEzCA,EAAQ,GAAI6X,GAAaG,IAGjChkB,KAAK2oB,QAAQ3oB,KAAK0oB,WAAa,GAAK1c,EACpCmc,EAA8BnoB,KAAMgM,EAAO6gB,GAAoB7sB,KAAKwoB,kBACpExoB,KAAKslB,YAAcqF,EAAqB3qB,UAGxCA,MAAKskB,YAMrBkI,GAAS9oB,SAAW,SAASsI,EAAO0gB,GAC5BhF,EAAoBgF,IAAcrB,EAClCoB,GAAiBzsB,KAAMgM,IAEvBhM,KAAKwoB,gBAAgB9kB,SAASklB,EAAe5c,IAC7ChM,KAAKskB,YAKjBkI,GAASM,UAAY,SAAS7C,GAC1B,GAAIoC,GAA0BrB,GAA0Bf,EAAOpmB,OAAS,EACpEmmB,EAAuBhqB,KAAMiqB,OAC1B,CACHjqB,KAAKyD,iBACL,KAAK,GAAIoD,GAAI,EAAG4H,EAAMwb,EAAOpmB,OAAY4K,EAAJ5H,IAAWA,EAC5C7G,KAAK0D,SAASumB,EAAOpjB,UAI9B,CAAA,KAAIuE,EAAa+f,EAAe,UAAY/f,EAAawC,EAAW,WAChEye,GAA0BpB,GAqDjC,MADA7c,GAAOrB,KAAK,yDACL,CAnDPyf,IAAS/oB,gBAAkB,WAEvB,IAII,GAHAzD,KAAKmpB,aAAa4D,QAGY,QAA1B/sB,KAAKmpB,aAAa1mB,KAAgB,CAGlC,GAAIxB,EACJ,IAAIjB,KAAKgD,WACL/B,EAAMwS,EAAYzT,KAAKgD,gBACpB,IAAIhD,KAAKmpB,aAAa1mB,MAAQqoB,EAAS,CAC1C,GAAI1B,GAAeppB,KAAKmpB,aAAahnB,aACjCinB,GAAavlB,SACb5C,EAAMwS,EAAa2V,EAAaxiB,KAAK,KAG7C,GAAI3F,EAAK,CACL,GAAI2jB,GAAYvY,EAAQpL,GAAKiN,iBAC7B0W,GAAU6E,SACVzpB,KAAKmpB,aAAa4D,UAG5B,MAAMtf,IACRgb,EAAqBzoB,OAGzBwsB,GAAS9oB,SAAW,SAASsI,GACrBhM,KAAKmpB,aAAa1mB,MAAQqoB,EAC1BzB,EAA2BrpB,KAAMgM,IAEjCiB,EAAI6W,iBAAiBoD,iBAAiBlb,GAAOyd,SAC7CzpB,KAAK2oB,QAAQ,GAAK3c,EAClBhM,KAAK0oB,WAAa,EAClB1oB,KAAKslB,YAActlB,KAAK2oB,QAAQ,GAAGlO,UACnC0N,EAA8BnoB,KAAMgM,GAAO,KAInDwgB,GAASM,UAAY,SAAS7C,GAC1BjqB,KAAKyD,iBACL,IAAIilB,GAAauB,EAAOpmB,MACpB6kB,GAAa,EACbsB,EAAuBhqB,KAAMiqB,GACtBvB,GACP1oB,KAAK0D,SAASumB,EAAO,KAQjCuC,GAASpC,WAAa,SAAS/kB,GAC3B,GAAY,EAARA,GAAaA,GAASrF,KAAK0oB,WAC3B,KAAM,IAAIvS,GAAa,iBAGvB,OAAOnW,MAAK2oB,QAAQtjB,GAAO8a,aAInC,IAAI6M,GAEJ,IAAI/B,EACA+B,GAAmB,SAAS/E,GACxB,GAAIjc,EACAiB,GAAIie,iBAAiBjD,EAAIjnB,KACzBgL,EAAQic,EAAIkB,aAAahnB,eAEzB6J,EAAQK,EAAQ4b,EAAIjnB,IAAIoB,UAAU8L,kBAClClC,EAAMyS,UAAS,IAGfwJ,EAAIkB,aAAa1mB,MAAQqoB,EACzB5B,EAAuBjB,GAChBlc,EAAYC,GACnBgd,EAAoBf,EAAKjc,GAEzByc,EAAqBR,QAG1B,IAAI7c,EAAa+f,EAAe,qBAAwBA,GAAczC,YAAcmC,EACvFmC,GAAmB,SAAS/E,GACxB,GAAIoE,GAA0BrB,GAA0B/C,EAAIkB,aAAa1mB,MAAQqoB,EAC7E5B,EAAuBjB,OAGvB,IADAA,EAAIU,QAAQ9kB,OAASokB,EAAIS,WAAaT,EAAIO,gBAAgBE,WACtDT,EAAIS,WAAY,CAChB,IAAK,GAAI7hB,GAAI,EAAG4H,EAAMwZ,EAAIS,WAAgBja,EAAJ5H,IAAWA,EAC7CohB,EAAIU,QAAQ9hB,GAAK,GAAIoG,GAAI4W,aAAaoE,EAAIO,gBAAgB4B,WAAWvjB,GAEzEshB,GAA8BF,EAAKA,EAAIU,QAAQV,EAAIS,WAAa,GAAImE,GAAoB5E,EAAIO,kBAC5FP,EAAI3C,YAAcqF,EAAqB1C,OAEvCQ,GAAqBR,QAI9B,CAAA,IAAImD,SAAqCD,GAAc7F,aAAesF,SAAkBhd,GAAU6M,WAAamQ,IAAWzc,EAASN,mBAetI,MADAO,GAAOrB,KAAK,mFACL,CAdPigB,IAAmB,SAAS/E,GACxB,GAAIjc,GAAOuc,EAAYN,EAAIO,eACvBD,GAAUvlB,YACVgJ,EAAQsgB,GAAoB/D,EAAW,GACvCN,EAAIU,SAAW3c,GACfic,EAAIS,WAAa,EACjBJ,EAAwCL,GACxCA,EAAI3C,YAAcqF,EAAqB1C,IAEvCQ,EAAqBR,IAQjCuE,GAASlI,QAAU,SAAS2I,GACxB,GAAIC,GAAYD,EAAkBjtB,KAAK2oB,QAAQhY,MAAM,GAAK,KACtDwc,EAAgBntB,KAAKgD,WAAYoqB,EAAkBptB,KAAKiD,YAG5D,IADA+pB,GAAiBhtB,MACbitB,EAAiB,CAEjB,GAAIpmB,GAAIqmB,EAAUrpB,MAClB,IAAIgD,GAAK7G,KAAK2oB,QAAQ9kB,OAClB,OAAO,CAKX,IAAI7D,KAAKgD,YAAcmqB,GAAiBntB,KAAKiD,cAAgBmqB,EACzD,OAAO,CAIX,MAAOvmB,KACH,IAAK2c,EAAY0J,EAAUrmB,GAAI7G,KAAK2oB,QAAQ9hB,IACxC,OAAO,CAGf,QAAO,GAKf,IAAIwmB,IAAsB,SAASpF,EAAKjc,GACpC,GAAIie,GAAShC,EAAIqF,cACjBrF,GAAIxkB,iBACJ,KAAK,GAAIoD,GAAI,EAAG4H,EAAMwb,EAAOpmB,OAAY4K,EAAJ5H,IAAWA,EACvC2c,EAAYxX,EAAOie,EAAOpjB,KAC3BohB,EAAIvkB,SAASumB,EAAOpjB,GAGvBohB,GAAIS,YACLD,EAAqBR,GAIzBoE,IAA0BrB,EAC1BwB,GAASe,YAAc,SAASvhB,GAC5B,GAAIhM,KAAKmpB,aAAa1mB,MAAQqoB,EAAS,CASnC,IAAK,GADDpa,GAPA0Y,EAAeppB,KAAKmpB,aAAahnB,cACjCmnB,EAAeP,EAA0B/c,GAIzC/K,EAAMwS,EAAY2V,EAAaxiB,KAAK,IACpC2iB,EAAkBld,EAAQpL,GAAKuoB,qBAC3BgE,GAAU,EACT3mB,EAAI,EAAG4H,EAAM2a,EAAavlB,OAAY4K,EAAJ5H,IAAWA,EAClD6J,EAAK0Y,EAAaxiB,KAAKC,GACnB6J,IAAO4Y,GAAgBkE,EACvBjE,EAAgB/iB,IAAI4iB,EAAaxiB,KAAKC,IAEtC2mB,GAAU,CAGlBjE,GAAgBE,SAGhBP,EAAuBlpB,UAEvBqtB,IAAoBrtB,KAAMgM,IAIlCwgB,GAASe,YAAc,SAASvhB,GAC5BqhB,GAAoBrtB,KAAMgM,GAKlC,IAAI6gB,KACC5B,GAAwBG,GAA8Bjd,EAASN,oBAChEgf,GAAsB7E,EAEtBwE,GAASlC,WAAa,WAClB,MAAOuC,IAAoB7sB,QAG/B6sB,GAAsBL,GAASlC,WAAa,WACxC,OAAO,GAKfkC,GAASiB,YAAcjB,GAASlC,WAKhCkC,GAASpiB,SAAW,WAEhB,IAAK,GADDsjB,MACK7mB,EAAI,EAAG4H,EAAMzO,KAAK0oB,WAAgBja,EAAJ5H,IAAWA,EAC9C6mB,EAAW7mB,GAAK,GAAK7G,KAAK2oB,QAAQ9hB,EAEtC,OAAO6mB,GAAWnnB,KAAK,KAU3BimB,GAAS/N,SAAW,SAAS/b,EAAM8Q,GAC/B0W,EAAyBlqB,KAAM0C,EAC/B,IAAIsJ,GAAQiB,EAAI9K,YAAYO,EAC5BsJ,GAAM6T,gBAAgBnd,EAAM8Q,GAC5BxT,KAAKqqB,eAAere,GACpBhM,KAAKslB,aAAc,GAGvBkH,GAASmB,gBAAkB,WACvB,IAAI3tB,KAAK0oB,WAIL,KAAM,IAAIvS,GAAa,oBAHvB,IAAInK,GAAQhM,KAAK2oB,QAAQ,EACzB3oB,MAAKye,SAASzS,EAAM4L,eAAgB5L,EAAM0M,cAMlD8T,GAASoB,cAAgB,WACrB,IAAI5tB,KAAK0oB,WAIL,KAAM,IAAIvS,GAAa,oBAHvB,IAAInK,GAAQhM,KAAK2oB,QAAQ3oB,KAAK0oB,WAAa,EAC3C1oB,MAAKye,SAASzS,EAAM6L,aAAc7L,EAAM2M,YAQhD6T,GAASqB,kBAAoB,SAASnrB,GAClCwnB,EAAyBlqB,KAAM0C,EAC/B,IAAIsJ,GAAQiB,EAAI9K,YAAYO,EAC5BsJ,GAAM0S,mBAAmBhc,GACzB1C,KAAKqqB,eAAere,IAGxBwgB,GAASsB,mBAAqB,WAE1B,GAAIzB,GAA0BrB,GAA0BhrB,KAAKmpB,aAAa1mB,MAAQqoB,EAAS,CAGvF,IAFA,GACI7lB,GADAmkB,EAAeppB,KAAKmpB,aAAahnB,cAE9BinB,EAAavlB,QAChBoB,EAAUmkB,EAAaxiB,KAAK,GAC5BwiB,EAAa5jB,OAAOP,GACpB1F,EAAIuW,WAAW7Q,EAEnBjF,MAAKskB,cACF,IAAItkB,KAAK0oB,WAAY,CACxB,GAAIuB,GAASjqB,KAAKstB,cAClB,IAAIrD,EAAOpmB,OAAQ,CACf7D,KAAKyD,iBACL,KAAK,GAAIoD,GAAI,EAAG4H,EAAMwb,EAAOpmB,OAAY4K,EAAJ5H,IAAWA,EAC5CojB,EAAOpjB,GAAGgY,gBAId7e,MAAK0D,SAASumB,EAAOxb,EAAM,OAMvC+d,GAASuB,UAAY,SAAShe,EAAMpF,GAChC,IAAK,GAAI9D,GAAI,EAAG4H,EAAMzO,KAAK2oB,QAAQ9kB,OAAY4K,EAAJ5H,IAAWA,EAClD,GAAKkJ,EAAM/P,KAAKoqB,WAAWvjB,IACvB,MAAO8D,IAKnB6hB,GAASc,aAAe,WACpB,GAAIrD,KAIJ,OAHAjqB,MAAK+tB,UAAU,SAAS/hB,GACpBie,EAAOhqB,KAAK+L,KAETie,GAGXuC,GAASnC,eAAiB,SAASre,EAAO0gB,GACtC1sB,KAAKyD,kBACLzD,KAAK0D,SAASsI,EAAO0gB,IAGzBF,GAASwB,sBAAwB,SAAS7Z,EAAYpL,GAClD,GAAIklB,KAIJ,OAHAjuB,MAAK+tB,UAAW,SAAS/hB,GACrBiiB,EAAQhuB,KAAM+L,EAAMmI,GAAY/P,MAAM4H,EAAOjD,UAE1CklB,GAiBXzB,GAASjpB,SAAW4mB,GAAuB,GAC3CqC,GAAShpB,OAAS2mB,GAAuB,GAGzCld,EAAIwE,eAAegY,OAAS,SAASiD,GACjC3pB,GAAc/C,KAAKyT,eAAgB4W,eAAerqB,KAAM0sB,IAG5DF,GAAS0B,gBAAkB,SAASne,GAChC,GAAIka,MACA/B,EAAWloB,KAAKsqB,YAEpBtqB,MAAK+tB,UAAU,SAAS/hB,GACpB+D,EAAK/D,GACLie,EAAOhqB,KAAK+L,KAGhBhM,KAAKyD,kBACDykB,GAA6B,GAAjB+B,EAAOpmB,OACnB7D,KAAK0D,SAASumB,EAAO,GAAI,YAEzBjqB,KAAK8sB,UAAU7C,IAIvBuC,GAASrK,aAAe,SAASzf,EAAM0f,GACnC,MAAOpiB,MAAK+tB,UAAW,SAAS/hB,GAC5B,MAAOA,GAAMmW,aAAazf,EAAM0f,KACjC,KAAU,GAGjBoK,GAASzJ,YAAc,SAASC,GAC5B,OACIkF,SAAUloB,KAAKsqB,aACf6D,eAAgBnuB,KAAKguB,sBAAsB,eAAgBhL,MAInEwJ,GAAStJ,eAAiB,SAASC,GAE/B,IAAK,GAAWiL,GAAepiB,EAD3BqiB,KACKxnB,EAAI,EAAyBunB,EAAgBjL,EAASgL,eAAetnB,MAC1EmF,EAAQiB,EAAI9K,YAAYnC,KAAKgB,KAC7BgL,EAAMkX,eAAekL,GACrBC,EAAUpuB,KAAK+L,EAEfmX,GAAS+E,SACTloB,KAAKqqB,eAAegE,EAAU,GAAI,YAElCruB,KAAK8sB,UAAUuB,IAIvB7B,GAAS8B,WAAa,WAClB,OACIpG,SAAUloB,KAAKsqB,aACfL,OAAQjqB,KAAKguB,sBAAsB,gBAI3CxB,GAAS+B,cAAgB,SAASF,GAC9BruB,KAAKyD,iBACL,KAAK,GAAWuI,GAAPnF,EAAI,EAAUmF,EAAQqiB,EAAUpE,OAAOpjB,KAAMA,EAClD7G,KAAK0D,SAASsI,EAAQqiB,EAAUnG,UAAiB,GAALrhB,IAIpD2lB,GAAS9K,OAAS,WACd,GAAI8M,KAIJ,OAHAxuB,MAAK+tB,UAAU,SAAS/hB,GACpBwiB,EAAWvuB,KAAM2jB,EAASlC,OAAO1V,MAE9BwiB,EAAWjoB,KAAK,KAGvB4H,EAASL,sBACT0e,GAASiC,mBAAqB,WAC1B,GAAIxG,EACJ,IAAMA,EAAMjoB,KAAKmpB,aAAgB,CAC7B,GAAInd,GAAQic,EAAI9lB,aAChB,IAAI4J,EAAYC,GACZ,MAAOA,EAEP,MAAMoC,GAAOmD,YAAY,wDAE1B,GAAIvR,KAAK0oB,WAAa,EACzB,MAAOzb,GAAI6W,iBAAiBoD,iBAAkBlnB,KAAKoqB,WAAW,GAE9D,MAAMhc,GAAOmD,YAAY,qDAoBrCib,GAASjS,QAAU,WACf,MAAO,oBAGXiS,GAAStV,QAAU,WACf,MAAOA,GAAQlX,OAGnBwsB,GAASzV,OAAS,WACd6S,EAAqB5pB,KAAKgB,IAAK,UAC/B0oB,EAAiB1pB,OAGrB4nB,EAAiB8G,UAAY,WACzB9E,EAAqB,KAAM,cAG/BhC,EAAiB1Q,QAAUA,EAC3B0Q,EAAiBF,oBAAsBA,EAEvCza,EAAI0hB,UAAY/G,EAEhB3a,EAAIyE,mBAAqB8a,GAEzBvf,EAAIiE,gBAAgB,SAASlQ,GACM,mBAApBA,GAAI+B,eACX/B,EAAI+B,aAAe,WACf,MAAOA,IAAa/B,KAG5BA,EAAM,QAQd,IAAI4tB,IAAW,EAEXC,EAAc,SAASjtB,GAClBgtB,IACDA,GAAW,GACN3hB,EAAIC,aAAeD,EAAIG,OAAO6C,gBAC/B3F,KAKRuC,KAE2B,YAAvBzK,SAASwG,WACTimB,KAEIzjB,EAAahJ,SAAU,qBACvBA,SAASyG,iBAAiB,mBAAoBgmB,GAAa,GAI/Dhe,EAAYrP,OAAQ,OAAQqtB,KAIpC1jB,MAAQ8B,KAmBZ9B,MAAMoE,aAAa,eAAgB,gBAAiB,SAAStC,EAAKmB,GAM9D,QAAS0gB,GAAK1Z,EAAInU,GACd,OAAQA,GAAOmB,UAAU2sB,eAAe3Z,GAG5C,QAAS4Z,GAA0BhjB,EAAOijB,GACtC,GACIC,GADAC,EAAW,uBAAyB,GAAIC,MAAU,KAAO,GAAKhJ,KAAKiJ,UAAU1e,MAAM,GAEnF1P,EAAM1B,EAAIkU,YAAYzH,EAAM4L,gBAG5B0X,EAAgBtjB,EAAMmU,YAY1B,OAXAmP,GAAc7Q,SAASwQ,GAGvBC,EAAWjuB,EAAIY,cAAc,QAC7BqtB,EAAS9Z,GAAK+Z,EACdD,EAASK,MAAMC,WAAa,IAC5BN,EAASK,MAAME,QAAU,OACzBP,EAAS7oB,UAAY,yBACrB6oB,EAAS7rB,YAAYpC,EAAIc,eAAe2tB,IAExCJ,EAActO,WAAWkO,GAClBA,EAGX,QAASS,GAAiB1uB,EAAK+K,EAAOmjB,EAAUF,GAC5C,GAAIC,GAAWJ,EAAKK,EAAUluB,EAC1BiuB,IACAljB,EAAMijB,EAAU,iBAAmB,gBAAgBC,GACnDpZ,EAAWoZ,IAEX9gB,EAAOd,KAAK,8DAIpB,QAASsiB,GAAclM,EAAIC,GACvB,MAAOA,GAAG/C,sBAAsB8C,EAAGrH,eAAgBqH,GAGvD,QAASmM,GAAU7jB,EAAO0gB,GACtB,GAAI3H,GAASC,EAAO/jB,EAAMgM,EAAI2W,SAAS9L,iBAAiB9L,GAAQya,EAAOza,EAAM5B,WACzE8d,EAAWR,EAAoBgF,EAEnC,OAAI1gB,GAAMyO,WACNuK,EAAQgK,EAA0BhjB,GAAO,IAErC5J,SAAUnB,EACVkuB,SAAUnK,EAAM5P,GAChBqF,WAAW,KAGfuK,EAAQgK,EAA0BhjB,GAAO,GACzC+Y,EAAUiK,EAA0BhjB,GAAO,IAGvC5J,SAAUnB,EACV6uB,cAAe/K,EAAQ3P,GACvB2a,YAAa/K,EAAM5P,GACnBqF,WAAW,EACXyN,SAAUA,EACV9d,SAAU,WACN,MAAO,mBAAqBqc,EAAO,iBAAmBza,EAAM5B,WAAa,OAMzF,QAAS4lB,GAAaC,EAAWtsB,GAC7B,GAAI1C,GAAMgvB,EAAU7tB,QACI,oBAAbuB,KACPA,GAAY,EAEhB,IAAIqI,GAAQiB,EAAI9K,YAAYlB,EAC5B,IAAIgvB,EAAUxV,UAAW,CACrB,GAAIyU,GAAWJ,EAAKmB,EAAUd,SAAUluB,EACxC,IAAIiuB,EAAU,CACVA,EAASK,MAAME,QAAU,QACzB,IAAI1J,GAAemJ,EAAS3mB,eAGxBwd,IAAyC,GAAzBA,EAAazjB,UAC7BwT,EAAWoZ,GACXljB,EAAM6T,gBAAgBkG,EAAcA,EAAaliB,UAEjDmI,EAAM6W,eAAeqM,GACrBpZ,EAAWoZ,QAGf9gB,GAAOd,KAAK,kEAGhBqiB,GAAiB1uB,EAAK+K,EAAOikB,EAAUH,eAAe,GACtDH,EAAiB1uB,EAAK+K,EAAOikB,EAAUF,aAAa,EAOxD,OAJIpsB,IACAqI,EAAMkT,sBAGHlT,EAGX,QAASsiB,GAAWrE,EAAQyC,GACxB,GAAqB1gB,GAAO/K,EAAxBivB,KACAhI,EAAWR,EAAoBgF,EAGnCzC,GAASA,EAAOtZ,MAAM,GACtBsZ,EAAOkG,KAAKP,EAEZ,KAAK,GAAI/oB,GAAI,EAAG4H,EAAMwb,EAAOpmB,OAAY4K,EAAJ5H,IAAWA,EAC5CqpB,EAAWrpB,GAAKgpB,EAAU5F,EAAOpjB,GAAIqhB,EAKzC,KAAKrhB,EAAI4H,EAAM,EAAG5H,GAAK,IAAKA,EACxBmF,EAAQie,EAAOpjB,GACf5F,EAAMgM,EAAI2W,SAAS9L,iBAAiB9L,GAChCA,EAAMyO,UACNzO,EAAM8W,cAAcgM,EAAKoB,EAAWrpB,GAAGsoB,SAAUluB,KAEjD+K,EAAMuS,aAAauQ,EAAKoB,EAAWrpB,GAAGkpB,YAAa9uB,IACnD+K,EAAMsS,cAAcwQ,EAAKoB,EAAWrpB,GAAGipB,cAAe7uB,IAI9D,OAAOivB,GAGX,QAASE,GAAcpvB,GACnB,IAAKiM,EAAIie,iBAAiBlqB,GAEtB,MADAoN,GAAOd,KAAK,0HACL,IAEX,IAAI2a,GAAMhb,EAAIlK,aAAa/B,GACvBipB,EAAShC,EAAIqF,eACbpF,EAA6B,GAAjB+B,EAAOpmB,QAAeokB,EAAIqC,aAEtC4F,EAAa5B,EAAWrE,EAAQ/B,EASpC,OANIA,GACAD,EAAIoC,eAAeJ,EAAO,GAAI/B,GAE9BD,EAAI6E,UAAU7C,IAIdjpB,IAAKA,EACLkvB,WAAYA,EACZG,UAAU,GAIlB,QAAS9B,GAAc2B,GAOnB,IAAK,GANDjG,MAIAvB,EAAawH,EAAWrsB,OAEnBgD,EAAI6hB,EAAa,EAAG7hB,GAAK,EAAGA,IACjCojB,EAAOpjB,GAAKmpB,EAAaE,EAAWrpB,IAAI,EAG5C,OAAOojB,GAGX,QAASqG,GAAiBC,EAAgBC,GACtC,IAAKD,EAAeF,SAAU,CAC1B,GAAIH,GAAaK,EAAeL,WAC5BjI,EAAMhb,EAAIlK,aAAawtB,EAAevvB,KACtCipB,EAASsE,EAAc2B,GAAaxH,EAAawH,EAAWrsB,MAE9C,IAAd6kB,GAAmB8H,GAAqBvjB,EAAIkB,SAASkd,oBAAsB6E,EAAW,GAAGhI,UACzFD,EAAIxkB,kBACJwkB,EAAIvkB,SAASumB,EAAO,IAAI,IAExBhC,EAAI6E,UAAU7C,GAGlBsG,EAAeF,UAAW,GAIlC,QAASI,GAAoBxvB,EAAKkuB,GAC9B,GAAID,GAAWJ,EAAKK,EAAUluB,EAC1BiuB,IACApZ,EAAWoZ,GAInB,QAASwB,GAAcH,GAEnB,IAAK,GAAoCN,GADrCC,EAAaK,EAAeL,WACvBrpB,EAAI,EAAG4H,EAAMyhB,EAAWrsB,OAAuB4K,EAAJ5H,IAAWA,EAC3DopB,EAAYC,EAAWrpB,GACnBopB,EAAUxV,UACVgW,EAAoBF,EAAetvB,IAAKgvB,EAAUd,WAElDsB,EAAoBF,EAAetvB,IAAKgvB,EAAUH,eAClDW,EAAoBF,EAAetvB,IAAKgvB,EAAUF,cA9M9D,GAAIxwB,GAAM0N,EAAI1N,IACVuW,EAAavW,EAAIuW,WACjB4R,EAAsBza,EAAI0hB,UAAUjH,oBACpCgI,EAAiB,QAgNrBziB,GAAIgC,KAAK1F,OAAO0D,GACZ4iB,UAAWA,EACXG,aAAcA,EACd1B,WAAYA,EACZC,cAAeA,EACf6B,cAAeA,EACfE,iBAAkBA,EAClBG,oBAAqBA,EACrBC,cAAeA,MAuEvBvlB,MAAMoE,aAAa,aAAc,oBAAqB,SAAStC,EAAKmB,GAmDhE,QAASuiB,GAAiBC,EAAOC,GAG7B,QAASC,GAAiBnuB,EAAOE,EAAKkuB,GAClCC,EAAY/wB,MAAQ0C,MAAOA,EAAOE,IAAKA,EAAKkuB,OAAQA,IAKxD,IARA,GAA2BE,GAONC,EAAWC,EAP5BC,EAAOR,EAAMrqB,KAAK,IAAayqB,KAO/BK,EAAc,EACTJ,EAASJ,EAAYS,UAAUC,KAAKH,IAAS,CAUlD,GATAF,EAAYD,EAAO5rB,MACnB8rB,EAAUD,EAAYD,EAAO,GAAGptB,OAG5BqtB,EAAYG,GACZP,EAAiBO,EAAaH,GAAW,GAIzCL,EAAYW,qBACZ,KAAQC,EAA4BjnB,KAAKomB,EAAMO,OACzCA,CAGVL,GAAiBI,EAAWC,GAAS,GACrCE,EAAcF,EAQlB,MAJIE,GAAcT,EAAM/sB,QACpBitB,EAAiBO,EAAaT,EAAM/sB,QAAQ,GAGzCmtB,EAGX,QAASU,GAAwBd,EAAOe,GASpC,IAAK,GARDC,GAAahB,EAAMjgB,MAAMghB,EAAWhvB,MAAOgvB,EAAW9uB,KACtDgvB,GACAd,OAAQY,EAAWZ,OACnBH,MAAOgB,EACPxnB,SAAU,WACN,MAAOwnB,GAAWrrB,KAAK,MAGtBM,EAAI,EAAG4H,EAAMmjB,EAAW/tB,OAAY4K,EAAJ5H,IAAWA,EAChD+qB,EAAW/qB,GAAGgrB,MAAQA,CAE1B,OAAOA,GAGX,QAASC,GAASlB,EAAOC,EAAakB,GAGlC,IAAK,GAAWJ,GAFZX,EAAce,EAAUnB,EAAOC,GAC/BmB,KACKnrB,EAAI,EAAe8qB,EAAaX,EAAYnqB,MACjDmrB,EAAO/xB,KAAMyxB,EAAwBd,EAAOe,GAEhD,OAAOK,GAWX,QAASC,GAA2BC,GAEhC,GAAIC,GAAeD,GAAqB,GAGpCE,EAA4C,gBAAhBD,GAA4BA,EAAa7rB,MAAM,IAAM6rB,CAMrF,OALAC,GAAkBjC,KAAK,SAASkC,EAAOC,GACnC,MAAOD,GAAME,WAAW,GAAKD,EAAMC,WAAW,KAI3CH,EAAkB7rB,KAAK,IAAImgB,QAAQ,UAAW,MA+CzD,QAAS8L,GAAkB/hB,GACvB,GAAI/Q,GAAM8Q,CACV,OAAKC,IAGD/Q,EAAO+Q,EAAQgiB,UAAYC,EAC3BliB,KACAjH,EAAOiH,EAAUmiB,GAAmBjzB,IAASizB,GAAmBD,IAChEnpB,EAAOiH,EAAUC,GACVD,GANAmiB,GAAmBD,GAUlC,QAASE,GAAoBriB,EAAcC,GACvC,GAAIC,GAAUH,EAAcC,EAAcC,EAO1C,OANIA,GAASL,eAAe,iBACxBM,EAAQogB,YAAc2B,EAAkB/hB,EAAQogB,cAEhDrgB,EAASL,eAAe,sBACxBM,EAAQoiB,iBAAmBviB,EAAcG,EAAQoiB,iBAAkBC,KAEhEriB,EAkCX,QAASsiB,GAAmBriB,EAAI1P,GAC5B,GAAIyuB,GAAUjZ,GAAyB9F,EAAI,UAAW1P,GAClDoT,EAAU1D,EAAG0D,QAAQnG,aACzB,OAAmB,SAAXwhB,GACAuD,IACAC,GAA0B9iB,eAAeiE,GAC7C6e,GAA0B7e,GAAWqb,EAG7C,QAASyD,GAASxwB,GAEd,IAAK,GADD2P,GAAY8gB,EAAoBzwB,GAC3BmE,EAAI,EAAG4H,EAAM4D,EAAUxO,OAAY4K,EAAJ5H,IAAWA,EAC/C,GAA6B,GAAzBwL,EAAUxL,GAAGvE,UAAqD,QAApCywB,EAAmB1gB,EAAUxL,IAC3D,OAAO,CAIf,QAAO,EAGX,QAASusB,GAA2B9c,GAChC,GAAI5F,EACJ,OAA4B,IAArB4F,EAAShU,WACXoO,EAAK4F,EAASvS,aAC+B,UAA9CyS,GAAyB9F,EAAI,cASrC,QAAS2iB,GAAY3wB,GACjB,MAAOA,KACgB,GAAjBA,EAAKJ,WAAkB,kCAAkCkI,KAAKuoB,EAAmBrwB,KAClE,GAAjBA,EAAKJ,UAAkC,IAAjBI,EAAKJ,UAQnC,QAASgxB,GAAkB5wB,GACvB,MAAOnD,GAAIqT,oBAAoBlQ,KAC1B,4EAA4E8H,KAAK9H,EAAKF,UAG/F,QAAS+wB,GAAa7wB,GAElB,IADA,GAAI2P,MACG3P,EAAKqB,YACRsO,EAAUmhB,QAAQ9wB,EAAKqB,YACvBrB,EAAOA,EAAKqB,UAEhB,OAAOsO,GAGX,QAAS8gB,GAAoBzwB,GACzB,MAAO6wB,GAAa7wB,GAAMuE,QAAQvE,IAGtC,QAAS+wB,GAAoB/wB,GACzB,KAAOA,IAASA,EAAKsE,aACjBtE,EAAOA,EAAKqB,UAEhB,OAAKrB,GAGEA,EAAKsE,YAFD,KAKf,QAASgM,GAAStQ,EAAMgxB,GACpB,OAAKA,GAAmBhxB,EAAK0e,gBAClB1e,EAAKoB,WAET2vB,EAAoB/wB,GAG/B,QAASqjB,GAAarjB,GAClB,GAAIgI,GAAWhI,EAAK6F,eACpB,IAAImC,EAAU,CAEV,IADAhI,EAAOgI,EACAhI,EAAK0e,iBACR1e,EAAOA,EAAK2e,SAEhB,OAAO3e,GAEX,GAAIqP,GAASrP,EAAKqB,UAClB,OAAIgO,IAA6B,GAAnBA,EAAOzP,SACVyP,EAEJ,KAWX,QAAS4hB,GAAiBjxB,GACtB,IAAKA,GAAyB,GAAjBA,EAAKJ,SACd,OAAO,CAEX,IAAImkB,GAAO/jB,EAAKwS,IAChB,IAAa,KAATuR,EACA,OAAO,CAEX,IAAI1U,GAASrP,EAAKqB,UAClB,KAAKgO,GAA6B,GAAnBA,EAAOzP,SAClB,OAAO,CAEX,IAAIsxB,GAAqBpd,GAAyB9T,EAAKqB,WAAY,aAEnE,OAAQ,eAAeyG,KAAKic,IAAS,oBAAoBjc,KAAKopB,IACzD,aAAappB,KAAKic,IAA+B,YAAtBmN,EAMpC,QAASC,GAA0BnxB,GAE/B,GAAkB,KAAdA,EAAKwS,KACL,OAAO,CAIX,KAAKye,EAAiBjxB,GAClB,OAAO,CAIX,IAAIuH,GAAWvH,EAAKqB,UAGpB,OAAKkG,GAKDipB,EAASxwB,IACF,GAGJ,GARI,EAWf,QAASoxB,GAAgBpxB,GACrB,GAAID,GAAOC,EAAKJ,QAChB,OAAe,IAARG,GACK,GAARA,GACAywB,EAASxwB,IACT,oBAAoB8H,KAAK9H,EAAKF,WAC9B4wB,EAA2B1wB,IAC3BmxB,EAA0BnxB,GAGlC,QAASqxB,GAAcrxB,EAAM1B,GACzB,GAAIyB,GAAOC,EAAKJ,QAChB,OAAe,IAARG,GACK,GAARA,GACS,GAARA,GAA8C,QAAjCswB,EAAmBrwB,EAAM1B,GAO/C,QAASgzB,KACLh0B,KAAKi0B,SAeT,QAASC,GAAoB/f,EAAYpE,EAAMokB,GAC3C,MAAO,UAAShW,GACZ,GAAIiW,GAAQp0B,KAAKo0B,KACjB,IAAIA,EAAMjkB,eAAegE,GAErB,MADAkgB,MACOD,EAAMjgB,EAEbmgB,KACA,IAAIpuB,GAAQ6J,EAAKtH,KAAKzI,KAAMm0B,EAAcn0B,KAAKm0B,GAAen0B,KAAMme,EAEpE,OADAiW,GAAMjgB,GAAcjO,EACbA,GAOnB,QAASquB,GAAY7xB,EAAM8xB,GACvBx0B,KAAK0C,KAAOA,EACZ1C,KAAKw0B,QAAUA,EACfx0B,KAAKo0B,MAAQ,GAAIJ,GACjBh0B,KAAKy0B,UAAY,GAAIT,GA4KzB,QAASU,GAASC,EAAanhB,GAC3BxT,KAAKwT,OAASA,EACdxT,KAAK20B,YAAcA,EACnB30B,KAAK0C,KAAOiyB,EAAYjyB,KACxB1C,KAAKw0B,QAAUG,EAAYH,QAC3Bx0B,KAAKo0B,MAAQ,GAAIJ,GAGrB,QAASY,KACL,MAAO,aAAer1B,EAAIyV,YAAYhV,KAAK0C,MAAQ,IAAM1C,KAAKwT,OAAS,KA6b3E,QAASqhB,KAEL,MADAC,KACQC,GAAiB,GAAIC,IAGjC,QAASC,KACL,MAAOF,KAAkBF,IAG7B,QAASC,KACDC,IACAA,GAAehe,SAEnBge,GAAiB,KAcrB,QAASG,GAAwBC,EAAUjN,EAAUkN,EAAQvC,GAiBzD,QAAS/b,KACL,GAAIue,GAAU,IAgBd,OAfInN,IACAmN,EAAUpe,EACLqe,IACDre,EAAMA,EAAIse,kBACVD,GAAYre,GAAQme,GAAUne,EAAID,OAAOoe,KAGxCE,IACDD,EAAUpe,EAAMA,EAAIue,cACpBF,GAAYre,GAAQme,GAAUne,EAAID,OAAOoe,IAG7CE,IACAre,EAAM,MAEHoe,EA/BPD,IACIlN,EACI4L,EAAgBsB,EAAO1yB,QACvB0yB,EAASD,EAASI,mBAGlBzB,EAAgBsB,EAAO1yB,QACvB0yB,EAASA,EAAOI,eAK5B,IAsBIC,GAtBAxe,EAAMke,EAAUG,GAAW,EAsBVI,GAAwB,CAE7C,QACI5e,KAAM,WACF,GAAI4e,EAEA,MADAA,IAAwB,EACjBD,CAGP,KADA,GAAIxe,GAAK0e,EACA1e,EAAMH,KAEX,GADA6e,EAAY1e,EAAI2e,aAAa/C,GAGzB,MADA4C,GAAkBxe,EACXA,CAGf,OAAO,OAIf4e,OAAQ,WACJ,IAAIJ,EAGA,KAAMrnB,GAAOmD,YAAY,4EAFzBmkB,IAAwB,GAMhCI,QAAS,WACLX,EAAWC,EAAS,OAoBhC,QAASW,GAA4B9e,EAAK4b,EAAkBhC,GAMxD,QAASmF,GAAYC,GAMjB,IALA,GAAIhf,GAAKif,EACLC,KAAe5c,EAAK0c,EAAUG,EAAkBC,EAEhDC,GAAqB,EAAOC,GAAa,EAEpCtf,EAAMsC,EAAGzC,QAAU,CAIxB,GAHAof,EAAWjf,EAAI0e,UAGXa,EAAmBhsB,KAAK0rB,GACpBK,IACAA,GAAa,EACbD,GAAqB,OAEtB,CACH,GAAIA,EAAoB,CACpB/c,EAAGsc,QACH,OAEAU,GAAa,EAGrBJ,EAASl2B,KAAKgX,GAIlB,MAAOkf,GAhCX,GAAIC,GAAkBlB,EAAwBje,GAAK,EAAO,KAAM4b,GAC5DwD,EAAmBnB,EAAwBje,GAAK,EAAM,KAAM4b,GAC5Dd,EAAYlB,EAAYkB,UAkCxB0E,EAAeT,GAAY,GAC3BU,EAAgBV,GAAY,GAAOW,UACnC3E,EAASF,EAAS4E,EAAczvB,OAAOwvB,GAAe5F,EAAakB,GAGnE6E,EAAsBH,EAAa5yB,OACnCmuB,EAAOrhB,MAAMkmB,GAAa7E,EAAQyE,EAAa,GAAG5E,WAElDiF,EAAuBJ,EAAc7yB,OACrCmuB,EAAOrhB,MAAM,EAAGkmB,GAAa7E,EAAQ0E,EAAc9T,MAAMiP,OAAS,KAWtE,QACIkF,aAAc,WAKV,IAJA,GAAIC,GAAWP,EAIuB,GAA9BG,EAAoB/yB,UACtBmzB,EAAYJ,EAAoB,IAAI7F,SACrC0F,EAAeT,GAAY,IAAOnyB,OAAS,GAG5C+yB,EAAsB9E,EAASkF,EAAUpG,MAAM3pB,OAAOwvB,GAAe5F,EAAakB,EAGtF,OAAO6E,GAAoB3uB,SAG/BgvB,mBAAoB,WAKhB,IAJA,GAAID,GAAWN,EAIwB,GAA/BI,EAAqBjzB,UACvBmzB,EAAYF,EAAqB,IAAI/F,SACtC2F,EAAgBV,GAAY,IAAQnyB,OAAS,GAG9CizB,EAAuBhF,EAAS4E,EAAcC,UAAU1vB,OAAO+vB,EAAUpG,OAAQC,EAAakB,EAGlG,OAAO+E,GAAqBlU,OAGhCkT,QAAS,WACLM,EAAgBN,UAChBO,EAAiBP,UACjBc,EAAsBE,EAAuB,OAKzD,QAASI,GAAejgB,EAAKkgB,EAAMC,EAAOvE,EAAkBhC,GACxD,GAAoBwG,GAA0BC,EAAcC,EAAqC1F,EAA7F2F,EAAa,EAAeC,EAASxgB,EAA4BygB,EAAWtR,KAAKuR,IAAIP,EACzF,IAAc,IAAVA,EAAa,CACb,GAAIlP,GAAoB,EAARkP,CAEhB,QAAQD,GACJ,IAAKS,GAED,IADAN,EAAepC,EAAwBje,EAAKiR,EAAU,KAAM2K,IACnDwE,EAAaC,EAAaxgB,SAAwB4gB,EAAbF,KACxCA,EACFC,EAASJ,CAEbE,GAAUF,EACVC,EAAaxB,SACb,MACJ,KAAK+B,GAID,IAHA,GAAIC,GAAwB/B,EAA4B9e,EAAK4b,EAAkBhC,GAC3E/Z,EAAOoR,EAAW4P,EAAsBb,mBAAqBa,EAAsBf,cAE9ElF,EAAQ/a,MAAwB4gB,EAAbF,GACpB3F,EAAMd,WACJyG,EACFC,EAASvP,EAAW2J,EAAMjB,MAAM,GAAKiB,EAAMjB,MAAMiB,EAAMjB,MAAM/sB,OAAS,GAG9E,MACJ,SACI,KAAM,IAAIyN,OAAM,yBAA2B6lB,EAAO,qBAItDjP,GACAuP,EAASA,EAAOlC,kBAChBiC,GAAcA,GACPC,GAAUA,EAAOM,iBAAmBN,EAAOO,kBAO9Cb,GAAQU,IACRP,EAAepC,EAAwBje,GAAK,EAAO,KAAM4b,GACzD0E,EAAUD,EAAaxgB,OACvBwgB,EAAaxB,WAEbyB,IACAE,EAASF,EAAQhC,oBAM7B,OACIhiB,SAAUkkB,EACVD,WAAYA,GAIpB,QAASS,GAA6BzD,EAASxoB,EAAO6mB,EAAkB3K,GACpE,GAAIgQ,GAAa1D,EAAQ2D,yBAAyBnsB,GAAO,GACrDosB,EAAW5D,EAAQ2D,yBAAyBnsB,GAAO,GACnDqsB,EAAUnQ,EAAWkQ,EAAWF,EAChCI,EAAQpQ,EAAWgQ,EAAaE,CAEpC,OAAOlD,GAAwBmD,IAAWnQ,EAAUoQ,EAAOzF,GAG/D,QAAS0F,GAAmB/D,EAASxoB,EAAO6mB,GAGxC,IADA,GAAqF5b,GAAjF2Z,KAAYrX,EAAK0e,EAA6BzD,EAASxoB,EAAO6mB,GACzD5b,EAAMsC,EAAGzC,QACd8Z,EAAM3wB,KAAKgX,EAIf,OADAsC,GAAGuc,UACIlF,EAGX,QAAS4H,GAAYrD,EAAUC,EAAQvE,GACnC,GAAI7kB,GAAQiB,EAAI9K,YAAYgzB,EAASzyB,KAErC,OADAsJ,GAAMgQ,eAAemZ,EAASzyB,KAAMyyB,EAAS3hB,OAAQ4hB,EAAO1yB,KAAM0yB,EAAO5hB,SACjExH,EAAMysB,OAAO,QAAU5H,YAAaA,IAGhD,QAAS6H,GAAqBC,EAAYC,EAAYC,EAASC,EAAkBC,GAY7E,QAASC,GAAYC,EAAYC,GAC7B,GAAI/D,GAAWvE,EAAMqI,GAAY1D,kBAC7BH,EAASxE,EAAMsI,EAAW,GAC1BC,GAAUJ,EAAYK,gBAAkBZ,EAAYrD,EAAUC,EAAQ2D,EAAYlI,YAEtF,QACIsE,SAAUA,EACVC,OAAQA,EACR+D,MAAOA,GAIf,IAvBA,GAO2BliB,GAAKoiB,EAAaC,EAAiBC,EAC1DtI,EAAQuI,EARRtR,EAAWR,GAAoBqR,EAAYrM,WAC3CnT,EAAK2b,EACLyD,EACAzQ,EACAyQ,EAAWnE,QAAQ2D,yBAAyBW,EAAkB5Q,GAC9D6Q,EAAYlG,kBAEZpM,EAAO,GAAImK,KAEXjmB,EAAc,KAcTsM,EAAMsC,EAAGzC,QAcd,GAbAuiB,EAAcpiB,EAAI0e,UACbkD,GAAYE,EAAYU,gBACzBJ,EAAcA,EAAYprB,eAG1Bia,GACA0I,EAAM4C,QAAQvc,GACdwP,EAAO4S,EAAc5S,IAErBmK,EAAM3wB,KAAKgX,GACXwP,GAAQ4S,GAGRR,GAEA,GADA5H,EAAS2H,EAAWrH,KAAK9K,GAIrB,GAFA6S,EAAkBrI,EAAO5rB,MACzBk0B,EAAgBD,EAAkBrI,EAAO,GAAGptB,OACxC21B,GAEA,IAAMtR,GAAYqR,EAAgB9S,EAAK5iB,QAAYqkB,GAAYoR,EAAkB,EAAI,CACjF3uB,EAAcquB,EAAYM,EAAiBC,EAC3C,YAGJC,IAAmB,MAGxB,IAAqD,KAA/CF,EAAkB7S,EAAKlkB,QAAQq2B,IAAqB,CAC7DjuB,EAAcquB,EAAYM,EAAiBA,EAAkBV,EAAW/0B,OACxE,OAUR,MALI21B,KACA7uB,EAAcquB,EAAYM,EAAiBC,IAE/ChgB,EAAGuc,UAEInrB,EAGX,QAAS+uB,GAAyB3pB,GAC9B,MAAO,YACH,GAAI4pB,KAAmB5E,GACnBP,EAAUS,IACV9W,GAAQqW,GAASvtB,OAAQgI,EAAKC,QAAQlF,YACtCW,EAAcoF,EAAK3L,MAAMpE,KAAMme,EAInC,OAHKwb,IACD7E,IAEGnqB,GAQf,QAASivB,GAAyB9b,EAASW,GAUvC,MAAOib,GACH,SAASlF,EAAS2C,EAAMC,EAAOyC,SAChBzC,IAAStlB,IAChBslB,EAAQD,EACRA,EAAOS,GAEXiC,EAAcjH,EAAoBiH,EAAaC,GAE/C,IAAIC,GAAkBjc,CAClBW,KACAsb,EAAmB3C,GAAS,EAC5Bp3B,KAAKye,UAAUsb,GAEnB,IAAIC,GAAa9C,EAAe1C,EAAQ2D,yBAAyBn4B,KAAM+5B,GAAkB5C,EAAMC,EAAOyC,EAAYhH,iBAAkBgH,EAAYhJ,aAC5I4G,EAASuC,EAAWzmB,QAExB,OADAvT,MAAK+5B,EAAkB,WAAa,UAAUtC,EAAO/0B,KAAM+0B,EAAOjkB,QAC3DwmB,EAAWxC,aAK9B,QAASyC,GAAmBnc,GACxB,MAAO4b,GACH,SAASlF,EAAS3B,GACdA,EAAmBviB,EAAcuiB,EAAkBC,GAInD,KAHA,GAAI7b,GACAsC,EAAK0e,EAA6BzD,EAASx0B,KAAM6yB,GAAmB/U,GACpEoc,EAAgB,GACXjjB,EAAMsC,EAAGzC,SAAW0f,EAAmBhsB,KAAKyM,EAAI0e,cACnDuE,CAEN3gB,GAAGuc,SACH,IAAIqE,GAAWD,EAAgB,CAQ/B,OAPIC,IACAn6B,KAAK8d,EAAU,YAAc,WACzB,YACAA,EAAUoc,GAAiBA,GACzBrH,iBAAkBA,IAGrBsH,IAgNnB,QAASC,GAAuBjmB,GAC5B,MAAOulB,GACH,SAASlF,EAAS3B,GACd,GAAIsH,IAAU,CAId,OAHAn6B,MAAKkuB,gBAAgB,SAASliB,GAC1BmuB,EAAUnuB,EAAMmI,GAAY0e,IAAqBsH,IAE9CA,IAhrDnB,GAAIroB,GAAQ,YACR8lB,EAAY,YAAaC,EAAO,OAChCt4B,EAAM0N,EAAI1N,IAAK0P,EAAOhC,EAAIgC,KAC1B1F,EAAS0F,EAAK1F,OACd+G,EAAgBrB,EAAKqB,cACrBjE,EAAU9M,EAAI8M,QAGdguB,EAAc,iBACdC,EAA6B,eAC7B9D,EAAqB,iFACrB/E,EAA8B,4DAG9BiB,EAAkB,KAElBhL,GAAsBza,EAAI0hB,UAAUjH,oBAIpC6S,IAAgC,EAChCC,IAAiC,EACjCC,IAAoC,EACpCC,IAAiD,GAErD,WACI,GAAIhqB,GAAKnR,EAAImW,kBAAkBtT,SAAU,oBAAoB,GACzDkC,EAAIoM,EAAG5M,WACPmkB,EAAMhb,EAAIlK,cACdklB,GAAIxJ,SAASna,EAAE+c,UAAW,GAC1B4G,EAAI1kB,SAASe,EAAER,WAAY,GAC3By2B,GAAqD,IAApB,GAAKtS,GAAKpkB,OAE3C6M,EAAG2E,UAAY,WACf4S,EAAIxJ,SAAS/N,EAAI,GACjBuX,EAAI1kB,SAASmN,EAAG5M,WAAY,GAC5B02B,GAAsD,IAApB,GAAKvS,GAAKpkB,OAE5C6M,EAAG2E,UAAY;AACf4S,EAAIxJ,SAAS/N,EAAI,GACjBuX,EAAI1kB,SAASmN,EAAG5M,WAAY,GAC5B22B,GAAyD,IAApB,GAAKxS,GAAKpkB,OAE/CtE,EAAIuW,WAAWpF,GACfuX,EAAIxkB,oBAkER,IAkGIuvB,IAlGAF,IACA6H,kCAAkC,EAClCC,sBAAsB,EACtBC,yBAAyB,EACzBC,6BAA6B,EAC7BC,iBAAkB,IAiBlBC,IACAL,kCAAmCD,GACnCE,sBAAuBJ,GACvBK,yBAA0BJ,GAC1BK,6BAA6B,GAG7BnI,IACAsI,IACI3J,UAAW,2BACXE,sBAAsB,EACtBO,UAAWpB,IAIfuK,IACAzB,eAAe,EACf0B,YAAa,KACb/B,gBAAgB,EAChBgC,MAAM,EACN1O,UAAW,UACXmE,YAAa,KACbgC,iBAAkB,MAGlBiH,IACAjJ,YAAa,KACbgC,iBAAkB,MAGlBwI,IACAxK,YAAa,KACbgC,iBAAkB,KAClByI,MAAM,EACNC,WAAW,EACXC,SAAS,GAGTC,IACA5K,YAAa,KACbgC,iBAAkB,KAClBnG,UAAW,WA8BXlW,GAA2BjX,EAAIiX,0BAMnC,WACI,GAAIklB,GAAQt5B,SAASP,cAAc,SAC/ByB,EAAO+I,EAAQjK,SACnBkB,GAAKD,YAAYq4B,GACjB1I,GAAsE,SAA9Cxc,GAAyBklB,EAAO,WACxDp4B,EAAKU,YAAY03B,KAGrB,IAAIzI,KACAyI,MAAO,QACPC,QAAS,gBACTC,SAAU,qBACVC,IAAK,eACLC,MAAO,qBACPC,MAAO,kBACPC,MAAO,qBACPC,GAAI,YACJC,GAAI,aACJC,GAAI,aAoLRnI,GAAMtuB,WACFK,IAAK,SAAS+E,GACV,MAAO9K,MAAKi0B,MAAM9jB,eAAerF,GAAO9K,KAAKi0B,MAAMnpB,GAAO,MAG9DsxB,IAAK,SAAStxB,EAAK5E,GACf,MAAOlG,MAAKi0B,MAAMnpB,GAAO5E,GAIjC,IAAImuB,IAAc,EAAGC,GAAgB,EA0BjC+H,IACAC,YAAa,SAAS9oB,GAClB,GAAIihB,GAAYz0B,KAAKy0B,SACrB,OAAOA,GAAU1uB,IAAIyN,IAAWihB,EAAU2H,IAAI5oB,EAAQ,GAAIkhB,GAAS10B,KAAMwT,KAG7EpJ,SAAU,WACN,MAAO,gBAAkB7K,EAAIyV,YAAYhV,KAAK0C,MAAQ,MAI9D6xB,GAAY7uB,UAAY22B,EAExB,IAAIE,IAAQ,QACRC,GAAY,YACZC,GAAsB,sBACtBC,GAAoB,oBACpBC,GAA8B,8BAC9BC,GAA0B,0BAC1BC,GAA2B,2BAC3BC,GAA4C,4CAC5CC,GAA+B,+BAC/BC,GAAwC,uCAE5CzzB,GAAO8yB,IACHzpB,oBAAqBshB,EAAoB,sBAAuB30B,EAAIqT,oBAAqB,QACzFZ,aAAckiB,EAAoB,YAAa30B,EAAIyS,aAAc,QACjEirB,UAAW/I,EAAoB,aAAc30B,EAAI0S,cAAe,QAChEqhB,kBAAmBY,EAAoB,oBAAqBZ,EAAmB,QAC/E4J,aAAchJ,EAAoB,eAAgBP,EAAkB,QACpEwJ,sBAAuBjJ,EAAoB,wBAAyBL,EAA2B,QAC/Fd,mBAAoBmB,EAAoB,kBAAmBnB,EAAoB,QAC/EzN,YAAa4O,EAAoB,YAAaJ,EAAiB,QAC/DsJ,UAAWlJ,EAAoB,UAAWH,EAAe,QACzDjd,KAAMod,EAAoB,UAAWlhB,EAAU,QAC/CtI,SAAUwpB,EAAoB,WAAYnO,EAAc,QAExDsX,gBAAiBnJ,EAAoB,eAAgB,SAAS5d,GAC1D,GAAIgnB,GAAa,KAAMC,GAAiB,EACpCC,EAAgBhnB,GAAyBF,EAASvS,WAAY,cAC9D05B,EAA4B,YAAjBD,CASf,OARIC,IACAH,EAAahD,EACbiD,GAAiB,IACO,UAAjBC,GAA8C,UAAjBA,KACpCF,EAAajD,EACbkD,GAAiB,IAIjB76B,KAAM4T,EACNmQ,KAAMnQ,EAASpB,KACfooB,WAAYA,EACZC,eAAgBA,EAChBE,QAASA,IAEd,QAEHC,aAAcxJ,EAAoB,eAAgB,SAASxjB,EAAIwX,GAyC3D,IAxCA,GAAIsM,GAAUx0B,KAAKw0B,QACfmJ,EAAanJ,EAAQ8H,YAAY5rB,EAAG3M,WAAY/D,KAAKgS,eAAiB,GACtE4rB,EAAepJ,EAAQ8H,YAAY5rB,EAAI,GAEvCuG,EAAMiR,EAAWyV,EAAaC,EAC9BxI,EAASlN,EAAW0V,EAAeD,EAmChC1mB,IAAQme,GAAQ,CAEnB,GADAne,EAAI4mB,kBACA5mB,EAAI6mB,uBACJ,OAAO,CAEX7mB,GAAMiR,EAAWjR,EAAIse,kBAAoBte,EAAIue,cAGjD,OAAO,GACR,QAEHuI,gBAAiB7J,EAAoB,kBAAmB,SAASxjB,GAG7D,IAAK,GADDstB,GAAMttB,EAAGpE,qBAAqB,MACzBzF,EAAI,EAAG4H,EAAMuvB,EAAIn6B,OAAY4K,EAAJ5H,IAAWA,EACzC,IAAKitB,EAAgBkK,EAAIn3B,IACrB,OAAO,CAGf,OAAO7G,MAAK09B,gBACb,QAEHO,iBAAkB/J,EAAoB,gBAAiB,SAASxjB,GAC5D,GAAgC,MAA5BA,EAAG0D,QAAQnG,cACX,MAAO,EAEP,QAAQjO,KAAK+yB,sBACT,IAAK,SAED,IADA,GAAIxd,GAAQ7E,EAAG2Q,UACR9L,GAAO,CACV,IAAKwe,EAAcxe,GACf,MAA0B,IAAlBA,EAAMjT,SAAiBtC,KAAKw0B,QAAQ0J,eAAe3oB,GAAO0oB,mBAAqB,EAE3F1oB,GAAQA,EAAMhN,gBAElB,KACJ,KAAK,eACL,IAAK,eACL,IAAK,OACL,IAAK,eACL,IAAK,qBACD,KACJ,KAAK,aACD,MAAO,GACX,SACI,MAAOvI,MAAK+9B,iBAAgB,GAAQ,KAAO,GAGvD,MAAO,IACR,QAEHI,gBAAiBjK,EAAoB,eAAgB,SAASxjB,GAC1D,OAAQ1Q,KAAK+yB,sBACT,IAAK,SACL,IAAK,eACL,IAAK,eACL,IAAK,OACL,IAAK,eACL,IAAK,qBACL,IAAK,aACD,KACJ,SACI,MAAO/yB,MAAK+9B,iBAAgB,GAAS,KAAO,GAEpD,MAAO,IACR,SAiBP,IAAIK,KACAzI,UAAW,GACX0I,cAAe9B,GACf+B,MAAM,EAONT,gBAAiB,WACb,GAAI5mB,GAAMjX,IACV,KAAKiX,EAAIsnB,iBAAkB,CACvB,GAAI77B,GAAOuU,EAAIvU,KAAM8Q,EAASyD,EAAIzD,OAC9BgrB,EAAc,GAAIC,EAAWlC,GAC7BmC,GAAgB,CACpB,IAAIlrB,EAAS,EACT,GAAqB,GAAjB9Q,EAAKJ,SAAe,CACpB,GAAImkB,GAAO/jB,EAAKwS,KACZghB,EAAWzP,EAAKkY,OAAOnrB,EAAS,GAEhCoS,EAAW3O,EAAI0d,YAAY0I,kBAC3BC,EAAa1X,EAAS0X,UACtB1X,GAAS2X,eACLD,EAAW9yB,KAAK0rB,GAMZ1iB,EAAS,GAAK8pB,EAAW9yB,KAAKic,EAAKkY,OAAOnrB,EAAS,MAC5CoS,EAAS6X,SAAmC,OAAxBhX,EAAKkY,OAAOnrB,IACvCgrB,EAAc,IACdC,EAAW3B,KAEX0B,EAAc,IAEdC,EAAW/B,MAGf8B,EAActI,EACduI,EAAWjC,GACXkC,GAAgB,IAGpBF,EAActI,EACduI,EAAWhC,GACXiC,GAAgB,OAEjB,CACH,GAAIE,GAAal8B,EAAKkB,WAAW4P,EAAS,EAc1C,IAbIorB,GAAqC,GAAvBA,EAAWt8B,WAAkBwxB,EAAgB8K,KACnB,MAApCA,EAAWxqB,QAAQnG,eACnBuwB,EAAc,KACdvnB,EAAIqnB,MAAO,EACXG,EAAW/B,GACXgC,GAAgB,GAEhBznB,EAAI4nB,uBAAwB,IAM/BL,EAAa,CACd,GAAIxrB,GAAWtQ,EAAKkB,WAAW4P,EAC3BR,IAAiC,GAArBA,EAAS1Q,WAAkBwxB,EAAgB9gB,KACvDiE,EAAI6nB,sBAAuB,IAM3C7nB,EAAIsnB,kBAAmB,EACvBtnB,EAAI0e,UAAY6I,EAChBvnB,EAAIonB,cAAgBI,EACpBxnB,EAAI8nB,gBAAkBL,IAI9BZ,qBAAsB,WAClB,GAAIW,GAAWz+B,KAAKq+B,aACpB,OAAOI,IAAYjC,IAAaiC,GAAYhC,IAIhDuC,gCAAiC,WAI7B,GAHKh/B,KAAKu+B,kBACNv+B,KAAK69B,kBAEL79B,KAAK6+B,sBAAuB,CAC5B,GAAII,GAAgBj/B,KAAKw0B,QAAQ0J,eAAel+B,KAAK0C,KAAKkB,WAAW5D,KAAKwT,OAAS,IAAIyqB,kBACnFgB,KACAj/B,KAAKg4B,iBAAkB,EACvBh4B,KAAK21B,UAAYsJ,EACjBj/B,KAAKq+B,cAAgB3B,IAEzB18B,KAAK6+B,uBAAwB,EAEjC,GAAI7+B,KAAK8+B,qBAAsB,CAC3B,GAAII,GAAel/B,KAAKw0B,QAAQ0J,eAAel+B,KAAK0C,KAAKkB,WAAW5D,KAAKwT,SAAS2qB,iBAC9Ee,KACAl/B,KAAK+3B,gBAAiB,EACtB/3B,KAAK21B,UAAYuJ,EACjBl/B,KAAKq+B,cAAgB3B,IAEzB18B,KAAK8+B,sBAAuB,IAIpCK,gCAAiC,SAAStM,GAEtC,IADA,GAAgB8C,GAAZ1e,EAAMjX,KACDiX,EAAMA,EAAIse,mBAEf,GADAI,EAAY1e,EAAI2e,aAAa/C,GACX,KAAd8C,EACA,MAAO1e,EAIf,OAAO,OAGX2e,aAAc,SAAS/C,GA8BnB,QAASuM,KAKL,MAJKC,KACDC,EAAcroB,EAAIkoB,gCAAgCtM,GAClDwM,GAAiB,GAEdC,EAlCXt/B,KAAKg/B,iCAEL,IAA+BO,GAA3BC,EAAWx/B,KAAK21B,UAGhBxD,EAAeF,EAA2BY,EAAiBkI,kBAC3D0E,EAAmC,KAAbD,GAAmBrN,EAAa5vB,QAAQi9B,GAAY,EAI9E,IAAIx/B,KAAK++B,gBAEL,MADAQ,GAAaE,EAAqB,GAAKD,CAI3C,IAAIE,IAAY,YAAa7M,EAAiB+H,qBAAsB/H,EAAiB8H,iCAAkC9H,EAAiBiI,4BAA6B3I,GAAc5rB,KAAK,KACpLo5B,EAAa3/B,KAAKo0B,MAAMruB,IAAI25B,EAChC,IAAmB,OAAfC,EACA,MAAOA,EAIX,IAGIpI,GAAS+H,EAHT3J,EAAY,GACZiK,EAAe5/B,KAAKq+B,eAAiB3B,GAGrC2C,GAAiB,EACjBpoB,EAAMjX,IA6EV,OAlEI4/B,KAEI5/B,KAAKyC,MAAQu6B,GACbrH,EAAY,KAIK,KAAZ6J,KACCJ,KAAoBE,EAAYtH,iBAA4C,MAAzBsH,EAAY3J,WAA+C,KAAzB2J,EAAY3J,WAAoB2J,EAAYjB,eAAiB3B,MAGvI,MAAZ8C,GAAoBx/B,KAAK+3B,eAC1BqH,KAA6C,MAAzBE,EAAY3J,YAChCA,EAAY,OAIhB4B,EAAUv3B,KAAK6/B,kBACXtI,IACIA,EAAQ+G,KACRt+B,KAAKyC,KAAOo6B,GACLtF,EAAQS,iBAAwC,MAArBT,EAAQ5B,UAC1C31B,KAAKyC,KAAOm6B,GACLrF,EAAQQ,gBAAuC,MAArBR,EAAQ5B,YACzC31B,KAAKyC,KAAOk6B,IAGS,MAArBpF,EAAQ5B,WACJ31B,KAAKyC,MAAQo6B,IAA6BhK,EAAiB+H,wBACpD56B,KAAKyC,MAAQk6B,IAAgC9J,EAAiBgI,2BAC9D76B,KAAKyC,MAAQm6B,IAA2BrF,EAAQS,kBAAoBnF,EAAiB8H,mCACrF36B,KAAKyC,MAAQq6B,IAA6CvF,EAAQ90B,MAAQ+5B,IAAc3J,EAAiBiI,+BAC7F,MAAZ0E,EACHjI,EAAQS,gBACJh4B,KAAKg4B,iBACEh4B,KAAKs+B,OACZ/G,EAAQ90B,KAAOs6B,GAEXqC,KAAoBE,EAAYvH,iBAAmBuH,EAAYtH,iBAA4C,MAAzBsH,EAAY3J,UAC9F4B,EAAQ5B,UAAY,GAEpB4B,EAAQ90B,KAAOu6B,IAIvBrH,EAAY,KAEG,KAAZ6J,IACP7J,EAAY,OAIhBA,EAAY6J,MAOxBrN,EAAa5vB,QAAQozB,GAAa,KAClCA,EAAY,IAIhB31B,KAAKo0B,MAAMgI,IAAIsD,EAAU/J,GAElBA,GAGX3e,OAAQ,SAASC,GACb,QAASA,GAAOjX,KAAK0C,OAASuU,EAAIvU,MAAQ1C,KAAKwT,SAAWyD,EAAIzD,QAGlE0D,QAAS0d,EAETxqB,SAAU,WACN,MAAOpK,MAAK21B,WAIpBjB,GAAShvB,UAAY04B,GAErB70B,EAAO60B,IACHtnB,KAAMod,EAAoB,UAAW,SAASjd,GAC1C,GAAI0d,GAAc1d,EAAI0d,YAAajyB,EAAOuU,EAAIvU,KAAM8Q,EAASyD,EAAIzD,OAAQghB,EAAUG,EAAYH,OAC/F,KAAK9xB,EACD,MAAO,KAEX,IAAIsQ,GAAU8sB,EAAYvqB,CAsB1B,OArBI/B,IAAUmhB,EAAYsI,aAEtBjqB,EAAWtQ,EAAKqB,WAChB+7B,EAAa9sB,EAAW2hB,EAAY3iB,eAAiB,EAAI,GAErD2iB,EAAY/hB,uBACZI,EAAWtQ,EACXo9B,EAAatsB,EAAS,IAEtB+B,EAAQ7S,EAAKkB,WAAW4P,GAEpBghB,EAAQ0J,eAAe3oB,GAAO+d,qBAC9BtgB,EAAWuC,EACXuqB,EAAa,IAEb9sB,EAAWtQ,EACXo9B,EAAatsB,EAAS,IAK3BR,EAAWwhB,EAAQ8H,YAAYtpB,EAAU8sB,GAAc,OAGlEp1B,SAAUwpB,EAAoB,WAAY,SAASjd,GAC/C,GACI8O,GAAcga,EAAgBxqB,EAD9Bof,EAAc1d,EAAI0d,YAAajyB,EAAOuU,EAAIvU,KAAM8Q,EAASyD,EAAIzD,OAAQghB,EAAUG,EAAYH,OAqB/F,OAnBc,IAAVhhB,GACAuS,EAAerjB,EAAKqB,WACpBg8B,EAAiBha,EAAe4O,EAAY3iB,eAAiB,GAEzD2iB,EAAY/hB,uBACZmT,EAAerjB,EACfq9B,EAAiBvsB,EAAS,IAE1B+B,EAAQ7S,EAAKkB,WAAW4P,EAAS,GAE7BghB,EAAQ0J,eAAe3oB,GAAO+d,qBAC9BvN,EAAexQ,EACfwqB,EAAiBxgC,EAAI0S,cAAcsD,KAEnCwQ,EAAerjB,EACfq9B,EAAiBvsB,EAAS,IAI/BuS,EAAeyO,EAAQ8H,YAAYvW,EAAcga,GAAkB,OAS9EvK,YAAatB,EAAoB,cAAe,SAASjd,GACrD,GAAIH,GAAOG,EAAIH,MACf,KAAKA,EACD,MAAO,KAEX,IAAI6d,GAAc7d,EAAK6d,YAAajyB,EAAOoU,EAAKpU,KAC5C+0B,EAAS3gB,CAKb,OAJI6d,GAAYrP,gBAEZmS,EAAS9C,EAAYH,QAAQ8H,YAAY55B,EAAKqB,WAAY4wB,EAAY3iB,eAAiB,IAEpFylB,IAGXoI,gBAAiB3L,EAAoB,kBAAmB,SAASjd,GAE7D,IADA,GAAIsgB,GAAUtgB,EACLsgB,EAAUA,EAAQ/B,eAEvB,GADA+B,EAAQyH,kCACkB,KAAtBzH,EAAQ5B,UACR,MAAO4B,EAGf,OAAO,QAGXhC,gBAAiBrB,EAAoB,kBAAmB,SAASjd,GAC7D,GAAIvM,GAAWuM,EAAIvM,UACnB,KAAKA,EACD,MAAO,KAEX,IAAIiqB,GAAcjqB,EAASiqB,YAAajyB,EAAOgI,EAAShI,KACpD+0B,EAAS/sB,CAKb,OAJIiqB,GAAYrP,gBAEZmS,EAAS9C,EAAYH,QAAQ8H,YAAY55B,EAAKqB,WAAY4wB,EAAY3iB,iBAEnEylB,KAMf,IAAI1C,IAAiB,KAEjBC,GAAU,WACV,QAASgL,GAAmBC,GACxB,GAAI7L,GAAQ,GAAIJ,EAEhB,QACIjuB,IAAK,SAASrD,GACV,GAAIw9B,GAAqB9L,EAAMruB,IAAIrD,EAAKu9B,GACxC,IAAIC,EACA,IAAK,GAAWC,GAAPt5B,EAAI,EAAYs5B,EAAUD,EAAmBr5B,MAClD,GAAIs5B,EAAQz9B,OAASA,EACjB,MAAOy9B,EAInB,OAAO,OAGX/D,IAAK,SAASzH,GACV,GAAIyL,GAAWzL,EAAYjyB,KAAKu9B,GAC5BC,EAAqB9L,EAAMruB,IAAIq6B,IAAahM,EAAMgI,IAAIgE,KAC1DF,GAAmBjgC,KAAK00B,KAOpC,QAASK,KACLh1B,KAAKqgC,aAHT,GAAIC,GAAoBrxB,EAAKvD,eAAetJ,SAASuD,gBAAiB,WA+DtE,OAzDAqvB,GAAQtvB,WACJ26B,WAAY,WACRrgC,KAAKugC,aAAeD,EAAoB,WACpC,GAAIE,GAAgB,GAAIxM,EAExB,QACIjuB,IAAK,SAAS2K,GACV,MAAO8vB,GAAcz6B,IAAI2K,EAAG+vB,WAGhCrE,IAAK,SAASsE,GACVF,EAAcpE,IAAIsE,EAAUh+B,KAAK+9B,SAAUC,QAGhDV,EAAmB,WAG1BhgC,KAAK2gC,cAAgBX,EAAmB,QACxChgC,KAAK4gC,eAAiBZ,EAAmB,aAG7C9B,eAAgB,SAASx7B,GACrB,GAAIm+B,EACJ,QAAQn+B,EAAKJ,UACT,IAAK,GACDu+B,EAAe7gC,KAAKugC,YACpB,MACJ,KAAK,GACDM,EAAe7gC,KAAK2gC,aACpB,MACJ,SACIE,EAAe7gC,KAAK4gC,eAI5B,GAAIT,GAAUU,EAAa96B,IAAIrD,EAK/B,OAJKy9B,KACDA,EAAU,GAAI5L,GAAY7xB,EAAM1C,MAChC6gC,EAAazE,IAAI+D,IAEdA,GAGX7D,YAAa,SAAS55B,EAAM8Q,GACxB,MAAOxT,MAAKk+B,eAAex7B,GAAM45B,YAAY9oB,IAGjD2kB,yBAA0B,SAASnsB,EAAO8R,GACtC,GAAIgjB,GAAShjB,EAAU,QAAU,KACjC,OAAO9d,MAAKs8B,YAAYtwB,EAAM80B,EAAS,aAAc90B,EAAM80B,EAAS,YAGxE/pB,OAAQ,WACJ/W,KAAKugC,aAAevgC,KAAK2gC,cAAgB3gC,KAAK4gC,eAAiB,OAIhE5L,IAyBXzrB,GAAOhK,GACHyT,SAAUA,EACV+S,aAAcA,GA4ElB,IAAI8Q,IAAeruB,MAAM9C,UAAUnD,QAC/B,SAASuN,EAAKyG,GACV,MAAOzG,GAAIvN,QAAQgU,IAEvB,SAASzG,EAAKyG,GACV,IAAK,GAAI1P,GAAI,EAAG4H,EAAMqB,EAAIjM,OAAY4K,EAAJ5H,IAAWA,EACzC,GAAIiJ,EAAIjJ,KAAO0P,EACX,MAAO1P,EAGf,OAAO,GAwUf0C,GAAO0D,EAAIwE,gBACPkV,UAAWiT,GAAyB,GAAM,GAE1CmH,QAASnH,GAAyB,GAAO,GAEzCoH,KAAMpH,GAAyB,GAAM,GAErC2B,UAAWtB,GAAmB,GAE9BuB,QAASvB,GAAmB,GAE5BqB,KAAM5B,EACF,SAASlF,EAAS3B,GACd,GAAIoO,GAAejhC,KAAKu7B,UAAU1I,GAAmBqO,EAAalhC,KAAKw7B,QAAQ3I,EAC/E,OAAOoO,IAAgBC,IAI/BzI,OAAQiB,EACJ,SAASlF,EAAS2C,EAAMgK,GACpB,GAAIC,IAAQ,CACZD,GAAgBvO,EAAoBuO,EAAe9F,GACnD,IAAIxI,GAAmBsO,EAActO,gBAIrC,IAHKsE,IACDA,EAAOS,GAEPT,GAAQU,EAAM,CACd,GAOIwJ,GAAUC,EAPVzQ,EAAcsQ,EAActQ,YAC5BsE,EAAWX,EAAQ2D,yBAAyBn4B,MAAM,GAClDo1B,EAASZ,EAAQ2D,yBAAyBn4B,MAAM,GAEhDuhC,EAA6BxL,EAA4BZ,EAAUtC,EAAkBhC,GACrF2Q,EAAaD,EAA2BxK,eACxC0K,EAAcD,EAAW5Q,MAAM,GAAG2E,iBAGtC,IAAIv1B,KAAKya,UACL4mB,EAAWG,MACR,CACH,GAAIE,GAA2B3L,EAA4BX,EAAQvC,EAAkBhC,EACrFwQ,GAAWK,EAAyBzK,qBAsBxC,MApBAqK,GAAYD,EAASzQ,MAAMyQ,EAASzQ,MAAM/sB,OAAS,GAE9C49B,EAAYzqB,OAAOme,KACpBn1B,KAAKuD,SAASk+B,EAAY/+B,KAAM++B,EAAYjuB,QAC5C4tB,GAAQ,GAERE,IAAcA,EAAUtqB,OAAOoe,KAC/Bp1B,KAAKwD,OAAO89B,EAAU5+B,KAAM4+B,EAAU9tB,QACtC4tB,GAAQ,GAGRD,EAAc7F,OACV6F,EAAc5F,YACd6F,EAAQphC,KAAKu7B,UAAU1I,IAAqBuO,GAE5CD,EAAc3F,UACd4F,EAAQphC,KAAKw7B,QAAQ3I,IAAqBuO,IAI3CA,EAEP,MAAOphC,MAAK+gC,QAAQnJ,EAAW,EAAGuJ,KAK9C1a,KAAMiT,EACF,SAASlF,EAAS3B,GACd,MAAO7yB,MAAKya,UACR,GAAK8d,EAAmB/D,EAASx0B,KAAMsQ,EAAcuiB,EAAkBC,KAA0BvsB,KAAK,MAIlHo7B,iBAAkBjI,EACd,SAASlF,EAASxR,EAAeiW,EAAYC,EAAUrG,GACnD,GAAIgH,IAAgBhH,iBAAkBA,EACjC7P,KACDA,EAAgB3W,EAASrM,KAAKyT,gBAElCzT,KAAK0e,mBAAmBsE,GACxBhjB,KAAKye,UAAS,GACdze,KAAK2mB,UAAU,YAAasS,EAAYY,GACxC75B,KAAKye,UAAS,GACdze,KAAK+gC,QAAQ,YAAa7H,EAAWD,EAAYY,KAKzD+H,iBAAkBlI,EACd,SAASlF,EAASxR,EAAe6P,GACxB7P,IACDA,EAAgB3W,EAASrM,KAAKyT,eAElC,IAGIwlB,GAAYC,EAHZnnB,EAASiR,EAAcjf,WAAY0b,EAAYlgB,EAAIyS,aAAagR,GAChE6e,EAAyG,IAAhFtiC,EAAI+U,cAActU,KAAK4X,eAAgB5X,KAAK6X,aAAc9F,EAAQ0N,GAC3FqiB,EAAe9hC,KAAKmgB,YAWxB,OATI0hB,IACAC,EAAa9lB,eAAehc,KAAK4X,eAAgB5X,KAAK0Y,YAAa3G,EAAQ0N,GAC3EwZ,GAAc6I,EAAarb,KAAKoM,GAAkBhvB,SAElDi+B,EAAa9lB,eAAejK,EAAQ0N,EAAWzf,KAAK4X,eAAgB5X,KAAK0Y,aACzEugB,EAAa6I,EAAarb,KAAKoM,GAAkBhvB,QAErDq1B,EAAWD,EAAaj5B,KAAKymB,KAAKoM,GAAkBhvB,QAGhDlB,MAAOs2B,EACPp2B,IAAKq2B,KAKjB6I,SAAUrI,EACN,SAASlF,EAASwN,EAAiBjJ,GAE/BA,EAAcnG,EAAoBmG,EAAamC,IAG3CnC,EAAYK,iBAEZL,EAAYlI,YAAYW,sBAAuB,EAGnD,IAAItJ,GAAWR,GAAoBqR,EAAYrM,WAG3CoM,EAAmBC,EAAYoC,WAC9BrC,KACDA,EAAmB7rB,EAAI9K,cACvB22B,EAAiBpa,mBAAmB1e,KAAKyT,eAI7C,IAAImlB,GAAaoJ,EAAiBnJ,GAAU,CACnB,iBAAdD,GACFG,EAAYU,gBACbb,EAAaA,EAAW3qB,eAG5B4qB,GAAU,CAGd,IAAIF,GAAanE,EAAQ2D,yBAAyBn4B,MAAOkoB,GAGrDpC,EAAagT,EAAiBrX,aAAakX,EAAWj2B,KAAMi2B,EAAWnlB,OAExD,MAAfsS,EACA6S,EAAanE,EAAQ2D,yBAAyBW,GAAkB,GAC1C,IAAfhT,IACP6S,EAAanE,EAAQ2D,yBAAyBW,GAAkB,GAQpE,KALA,GAIImJ,GAJAhrB,EAAM0hB,EACNuJ,GAAgB,IAOhB,GAFAD,EAAavJ,EAAqBzhB,EAAK2hB,EAAYC,EAASC,EAAkBC,GAE9D,CACZ,GAAIkJ,EAAW9I,MAEX,MADAn5B,MAAKgc,eAAeimB,EAAW9M,SAASzyB,KAAMu/B,EAAW9M,SAAS3hB,OAAQyuB,EAAW7M,OAAO1yB,KAAMu/B,EAAW7M,OAAO5hB,SAC7G,CAIPyD,GAAMiR,EAAW+Z,EAAW9M,SAAW8M,EAAW7M,WAEnD,CAAA,IAAI2D,EAAYqC,MAAS8G,EAQ5B,OAAO,CANPpJ,GAAmBA,EAAiB3Y,aACpClJ,EAAMud,EAAQ2D,yBAAyBW,GAAmB5Q,GAC1D4Q,EAAiB1a,YAAYua,EAAWj2B,KAAMi2B,EAAWnlB,OAAQ0U,GACjEga,GAAgB,KAShCC,UAAW,SAASxsB,GAEhB,GADA3V,KAAK6e,iBACDlJ,EAAM,CACN,GAAIsD,GAAOjZ,KAAKygB,yBAAyB9K,GACrC0L,EAAYpI,EAAKoI,SACrBrhB,MAAKghB,WAAW/H,GAChBjZ,KAAK8iB,cAAczB,OAqB/B9X,EAAO0D,EAAIyE,oBACP+mB,OAAQiB,EACJ,SAASlF,EAAS2C,EAAMgK,GACpBnhC,KAAKkuB,gBAAgB,SAASliB,GAC1BA,EAAMysB,OAAOtB,EAAMgK,OAK/BH,KAAMtH,EACF,SAASlF,EAAS2C,EAAMC,EAAO3mB,GAC3B,GAAI+mB,GAAa,CACjB,IAAIx3B,KAAKkD,UAAW,CAChBlD,KAAKye,SAASze,KAAKkD,UAAWlD,KAAKmD,YACnC,IAAI6I,GAAQhM,KAAKoqB,WAAW,EACvB3Z,KACDA,MAEJA,EAAQoiB,iBAAmBviB,EAAcG,EAAQoiB,iBAAkBmI,IACnExD,EAAaxrB,EAAMg1B,KAAK7J,EAAMC,EAAO3mB,GACrCzQ,KAAKqqB,eAAere,GAExB,MAAOwrB,KAIf+D,UAAWnB,EAAuB,aAClCoB,QAASpB,EAAuB,WAChCkB,KAAMlB,EAAuB,QAE7BuH,iBAAkBjI,EACd,SAASlF,EAASxR,EAAeiW,EAAYC,EAAUxM,EAAWmG,GAC9D,GAAI7mB,GAAQiB,EAAI9K,YAAY6gB,EAC5BhX,GAAM21B,iBAAiB3e,EAAeiW,EAAYC,EAAUrG,GAC5D7yB,KAAKqqB,eAAere,EAAO0gB,KAInC0V,oBAAqB1I,EACjB,SAASlF,EAASxR,EAAe6P,GAM7B,IAAK,GALD5I,GAASjqB,KAAKstB,eAAgB5E,EAAauB,EAAOpmB,OAClDqsB,KAEAhI,EAAyB,GAAdQ,GAAmB1oB,KAAKsqB,aAE9BzjB,EAAI,EAAG4H,EAAMwb,EAAOpmB,OAAY4K,EAAJ5H,IAAWA,EAC5CqpB,EAAWrpB,IACPw7B,eAAgBpY,EAAOpjB,GAAG+6B,iBAAiB5e,EAAe6P,GAC1D3K,SAAUA,EACV2K,iBAAkBA,EAI1B,OAAO3C,KAIfoS,uBAAwB5I,EACpB,SAASlF,EAASxR,EAAeuf,GAC7BviC,KAAKyD,iBACL,KAAK,GAA+BuI,GAAOikB,EAAWoS,EAA7Cx7B,EAAI,EAAG4H,EAAM8zB,EAAM1+B,OAA8C4K,EAAJ5H,IAAWA,EAC7EopB,EAAYsS,EAAM17B,GAClBw7B,EAAiBpS,EAAUoS,eAC3Br2B,EAAQiB,EAAI9K,YAAY6gB,GACxBhX,EAAM21B,iBAAiB3e,EAAeqf,EAAe1/B,MAAO0/B,EAAex/B,IAAKotB,EAAU4C,kBAC1F7yB,KAAK0D,SAASsI,EAAOikB,EAAU/H,YAK3CzB,KAAMiT,EACF,SAASlF,EAAS3B,GAEd,IAAK,GADDnF,MACK7mB,EAAI,EAAG4H,EAAMzO,KAAK0oB,WAAgBja,EAAJ5H,IAAWA,EAC9C6mB,EAAW7mB,GAAK7G,KAAKoqB,WAAWvjB,GAAG4f,KAAKoM,EAE5C,OAAOnF,GAAWnnB,KAAK,QASnC0G,EAAIu1B,UAAY,SAAS9xB,EAAImiB,GACzB,GAAI7mB,GAAQiB,EAAI9K,YAAYuO,EAC5B1E,GAAM0S,mBAAmBhO,EACzB,IAAI+V,GAAOza,EAAMya,KAAKoM,EACtB,OAAOpM,IAGXxZ,EAAIw1B,mBAAqB,SAAS7iB,EAAWlH,EAAagqB,GACtD,GAAIlO,GAAUS,GACdyN,GAAkB9P,EAAoB8P,EAAiBjH,GACvD,IAAItG,GAAWX,EAAQ8H,YAAY1c,EAAWlH,GAC1Cof,EAAwB/B,EAA4BZ,EAAUuN,EAAgB7P,iBAAkB6P,EAAgB7R,aAChH3I,EAAWR,GAAoBgb,EAAgBhW,UAEnD,QACI5V,KAAM,WACF,MAAOoR,GAAW4P,EAAsBb,qBAAuBa,EAAsBf,gBAGzFjB,QAAS,WACLgC,EAAsBhC,UACtB91B,KAAK8W,KAAO,gBAOxB7J,EAAI01B,WAAa,SAAS5yB,GACtB,GAAIykB,GAAUS,GACdllB,GAAKykB,GACLM,KAGJ7nB,EAAI01B,WAAWjJ,yBAA2BA,EAE1CzsB,EAAI2X,WACAyO,YAAaA,EACbQ,0BAA2BA,EAE3B+O,eAAgBlJ,EACZ,SAASlF,EAAS9xB,EAAM8Q,GACpB,MAAOghB,GAAQ8H,YAAY55B,EAAM8Q,QASjDpU,SAASyjC,QAAU,WAUjB,QAASC,GAAWC,GAClB,QAAU,mBAAmBv4B,KAAKu4B,IAAcA,EAAU7W,MAAM,gCAAmCtkB,OAAW,IAAI,GAGpH,QAASo7B,GAAeD,GACtB,QAASA,EAAU7W,MAAM,mBAAqBtkB,OAAW,IAAI,GAG/D,QAASq7B,GAAK5jC,EAAS6jC,GACrB,GACIC,GADAC,EAAK,EAiBT,OAdyB,+BAArBpX,UAAUqX,QACZF,EAAK,GAAIjpB,QAAO,8BACc,YAArB8R,UAAUqX,UACfrX,UAAU+W,UAAUxgC,QAAQ,WAAa,GAC3C4gC,EAAK,GAAIjpB,QAAO,sCACP,gBAAkB1P,KAAKwhB,UAAU+W,aAC1CI,EAAK,kBAILA,GAAsC,MAAhCA,EAAG5R,KAAKvF,UAAU+W,aAC1BK,EAAKE,WAAWppB,OAAOqpB,KAGd,KAAPH,GAAoB,EACnB/jC,EACA6jC,EACY,MAAbA,EAAqCE,EAAV/jC,EACd,MAAb6jC,EAA2B7jC,EAAU+jC,EACxB,OAAbF,EAAuCE,GAAX/jC,EACf,OAAb6jC,EAA4B7jC,GAAW+jC,EAA3C,OAJwB/jC,IAAY+jC,GADb,EApCzB,GAAIL,GAAc/W,UAAU+W,UACxBS,EAAcphC,SAASP,cAAc,OAGrC4hC,EAAoD,KAAtCV,EAAUxgC,QAAQ,UAAyD,KAA/BwgC,EAAUxgC,QAAQ,WAAoB0gC,IAChGS,EAAoD,KAAtCX,EAAUxgC,QAAQ,kBAA2B0gC,IAC3DU,EAAoD,KAAtCZ,EAAUxgC,QAAQ,aAA2B0gC,IAC3DW,EAAoD,KAAtCb,EAAUxgC,QAAQ,YAA2B0gC,GAqC/D,QAEEY,WAAYd,EAUZ51B,UAAW,WACT,GAAI41B,GAA8B/iC,KAAK6jC,WAAW51B,cAE9C61B,EAA8B,mBAAqBN,GAEnDO,EAA8B3hC,SAAS4hC,aAAe5hC,SAAS6hC,uBAAyB7hC,SAAS8hC,kBAEjGC,EAA8B/hC,SAASgiC,eAAiBhiC,SAASgD,iBAEjEi/B,EAA+BrkC,KAAKskC,SAAWxB,EAAWC,GAAa,GAAO/iC,KAAKukC,aAAevB,EAAeD,GAAa,GAA0C,KAApCA,EAAUxgC,QAAQ,eAAwD,KAAhCwgC,EAAUxgC,QAAQ,SACpM,OAAOuhC,IACFC,GACAI,IACCE,GAGRG,cAAe,WACb,MAAOxkC,MAAKykC,cAAc,cAG5BH,MAAO,WACL,MAAO,oBAAsB95B,KAAKxK,KAAK6jC,aAGzCU,UAAW,WACT,MAA8C,KAAvCvkC,KAAK6jC,WAAWthC,QAAQ,YAYjCmiC,yBAA0B,WACxB,MAAOzB,MAQT0B,8CAA+C,WAC7C,QAAS,iBAAmBviC,YAO9BwiC,6CAA8C,WAC5C,MAAO3B,GAAK,GAAI,MAQlB4B,wBAAyB,WACvB,MAAO,gBAAkBrB,IAM3BsB,0BAA2B,WACzB,MAAOrB,IAGTsB,+BAAgC,SAAS9/B,GACvC,MAAO,eAAiBA,IAG1Bw/B,cAAe,SAASO,GACtB,MAAO,KAAOA,IAAaxB,IAAe,WAExC,MADAA,GAAYpgC,aAAa,KAAO4hC,EAAW,WACM,kBAAnCxB,GAAY,KAAOwB,OAOrCC,gCAAiC,WAC/B,OAAQrB,GAWVsB,kBAAmB,SAASj6B,GAC1B,GAAIhG,GAAUgG,EAAQpJ,cAAc,OAChCsjC,EAAU,wBAEd,OADAlgC,GAAQoQ,UAAY8vB,EACblgC,EAAQoQ,UAAUpH,gBAAkBk3B,GAe7CC,gBAAiB,WAGf,GAAIC,IAEFC,YAAwBrC,EAAK,GAAI,MAIjCsC,oBAAwBtC,IACxBuC,kBAAwBvC,KAItB91B,GACFs4B,WAAchC,EAGhB,OAAO,UAASxiC,EAAKykC,GACnB,GAAIC,GAAUN,EAAcK,EAC5B,KAAKC,EAAS,CAEZ,IACE,MAAO1kC,GAAIgjC,sBAAsByB,GACjC,MAAME,IAER,IACE,MAAO3kC,GAAI4kC,oBAAoBH,GAC/B,MAAMI,GACN,QAAS34B,EAAUu4B,IAGvB,OAAO,MAcXK,iCAAkC,WAChC,MAAO9C,MAOT+C,sBAAuB,WACrB,MAAOhmC,MAAKolC,gBAAgBhjC,SAAU,kBAOxC6jC,+BAAgC,WAC9B,MAAOxC,IAAWG,GAAWF,GAM/BwC,8BAA+B,WAC7B,GAAIhK,GAAK95B,SAASP,cAAc,KAChC,OAAqC,KAA9Bq6B,EAAGiK,aAAa,YAOzBC,iCAAkC,WAChC,MAAO3C,IAAWR,KAAUW,GAM9ByC,mBAAoB,WAClB,OAAQ3C,GAMV4C,uBAAwB,WACtB,GACI37B,GACA0K,EAFAkxB,EAAoB/C,EAAYnwB,WAAU,EAW9C,OAPAkzB,GAAkBlxB,UAAY,iBAC9BA,EAA8BkxB,EAAkBlxB,UAAUpH,cAC1DtD,EAA4C,uBAAd0K,GAAoD,uBAAdA,EAGpErV,KAAKsmC,uBAAyB,WAAa,MAAO37B,IAE3CA,GAMT67B,qCAAsC,WACpC,MAA4E,KAArEt7B,OAAO9I,SAASqkC,wBAAwBlkC,QAAQ,kBAOzDmkC,wBAAyB,WACvB,MAAO,gBAAkBllC,SAAU,UAAYA,QAAOuB,gBAMxD4jC,yBAA0B,WACxB,MAAO/C,IAaTgD,oBAAqB,SAASC,GAC5B,GAAIC,GAAgB/D,EAAU7W,MAAM,mBAAqBtkB,OAAW,EACpE,OAAOk/B,GAAc,IAAM,KAAO,wBAA0BD,IAAS,UAAYA,KAQnFE,0BAA2B,SAAS3G,GAClC,MAAO6C,GAAK,KAAoB,mBAAb7C,GAA8C,mBAAbA,IAMtD4G,eAAgB,WACd,MAAO/D,GAAK,GAAI,MAMlBgE,gCAAiC,WAC/B,MAAOhE,MAITiE,qBAAsB,WACpB,MAAOjE,MAGTkE,qBAAsB,WACpB,MAAO1D,IAAWE,GAAYC,GAShCwD,mBAAoB,WAClB,MAAOxD,IAMTyD,oBAAqB,WACnB,MAAOpE,MAWTqE,qCAAsC,WACpC,MAAO5D,IAKT6D,0BAA2B,WACzB,MAAO7D,IAGT8D,uBAAwB,WACtB,MAAQ,iBAAmBhmC,SAQ7BimC,oBAAqB,WACnB,OAAQxE,KAKVyE,YAAa,SAAS58B,GACpB,MAAY,aAARA,EACM,cAAgB1I,UAASP,cAAc,OAAO0tB,MAAS,aAAe,WAEzEzkB,GAGT68B,kBAAmB,WACjB,MAAOvlC,UAASkB,MAAQ,sBAAwBlB,UAASkB,MAO3DskC,mCAAoC,WAClC,MAAOlE,QAKbtkC,SAASM,KAAKmoC,MAAQ,SAAS/3B,GAC7B,OAUEnJ,SAAU,SAASmhC,GACjB,GAAIt/B,MAAMu/B,QAAQD,GAAS,CACzB,IAAK,GAAIjhC,GAAIihC,EAAOjkC,OAAQgD,KAC1B,GAAoD,KAAhDzH,SAASM,KAAKmoC,MAAM/3B,GAAKvN,QAAQulC,EAAOjhC,IAC1C,OAAO,CAGX,QAAO,EAEP,MAAoD,KAA7CzH,SAASM,KAAKmoC,MAAM/3B,GAAKvN,QAAQulC,IAY5CvlC,QAAS,SAASulC,GACd,GAAIh4B,EAAIvN,QACN,MAAOuN,GAAIvN,QAAQulC,EAEnB,KAAK,GAAIjhC,GAAE,EAAGhD,EAAOiM,EAAIjM,OAAUA,EAAFgD,EAAUA,IACzC,GAAIiJ,EAAIjJ,KAAOihC,EAAU,MAAOjhC,EAElC,OAAO,IAWbmhC,QAAS,SAASC,GAChBA,EAAmB7oC,SAASM,KAAKmoC,MAAMI,EAIvC,KAHA,GAAIC,MACArhC,EAAU,EACVhD,EAAUiM,EAAIjM,OACTA,EAAFgD,EAAUA,IACVohC,EAAiBthC,SAASmJ,EAAIjJ,KACjCqhC,EAAOjoC,KAAK6P,EAAIjJ,GAGpB,OAAOqhC,IAUTniC,IAAK,WAIH,IAHA,GAAIc,GAAW,EACXhD,EAAWiM,EAAIjM,OACfskC,KACKtkC,EAAFgD,EAAUA,IACfshC,EAASloC,KAAK6P,EAAIjJ,GAEpB,OAAOshC,IAaTC,IAAK,SAASC,EAAUC,GACtB,GAAI9/B,MAAM9C,UAAU0iC,IAClB,MAAOt4B,GAAIs4B,IAAIC,EAAUC,EAKzB,KAHA,GAAI75B,GAAMqB,EAAIjM,SAAW,EACrB0kC,EAAI,GAAI//B,OAAMiG,GACd5H,EAAI,EACG4H,EAAJ5H,EAASA,IACb0hC,EAAE1hC,GAAKwhC,EAAS5/B,KAAK6/B,EAASx4B,EAAIjJ,GAAIA,EAAGiJ,EAE5C,OAAOy4B,IAUXC,OAAQ,WAKN,IAJA,GAAIC,MACAC,EAAM54B,EAAIjM,OACV8kC,EAAM,EAEGD,EAANC,GACAvpC,SAASM,KAAKmoC,MAAMY,GAAM9hC,SAASmJ,EAAI64B,KAC1CF,EAAKxoC,KAAK6P,EAAI64B,IAEhBA,GAEF,OAAOF,MAMbrpC,SAASM,KAAKkpC,WAAat/B,KAAKC,QAE9Bs/B,GAAI,SAAS7D,EAAW8D,GAItB,MAHA9oC,MAAK+oC,OAAS/oC,KAAK+oC,WACnB/oC,KAAK+oC,OAAO/D,GAAahlC,KAAK+oC,OAAO/D,OACrChlC,KAAK+oC,OAAO/D,GAAW/kC,KAAK6oC,GACrB9oC,MAGTgpC,IAAK,SAAShE,EAAW8D,GACvB9oC,KAAK+oC,OAAS/oC,KAAK+oC,UACnB,IACIE,GACAC,EAFAriC,EAAI,CAGR,IAAIm+B,EAAW,CAGb,IAFAiE,EAAcjpC,KAAK+oC,OAAO/D,OAC1BkE,KACOriC,EAAEoiC,EAASplC,OAAQgD,IACpBoiC,EAASpiC,KAAOiiC,GAAWA,GAC7BI,EAAYjpC,KAAKgpC,EAASpiC,GAG9B7G,MAAK+oC,OAAO/D,GAAakE,MAGzBlpC,MAAK+oC,SAEP,OAAO/oC,OAGTmpC,KAAM,SAASnE,EAAWoE,GACxBppC,KAAK+oC,OAAS/oC,KAAK+oC,UAGnB,KAFA,GAAIE,GAAWjpC,KAAK+oC,OAAO/D,OACvBn+B,EAAW,EACRA,EAAEoiC,EAASplC,OAAQgD,IACxBoiC,EAASpiC,GAAG4B,KAAKzI,KAAMopC,EAEzB,OAAOppC,OAITqpC,QAAS,WACP,MAAOrpC,MAAK6oC,GAAGzkC,MAAMpE,KAAMgK,YAI7Bs/B,cAAe,WACb,MAAOtpC,MAAKgpC,IAAI5kC,MAAMpE,KAAMgK,cAIhC5K,SAASM,KAAKqL,OAAS,SAASqF,GAC9B,OAMEm5B,MAAO,SAASC,EAAUn5B,GACxB,IAAK,GAAIxJ,KAAK2iC,GACRn5B,GAAQjR,SAASM,KAAKqL,OAAOy+B,EAAS3iC,IAAI4iC,kBAAsC,mBAAXr5B,GAAIvJ,IAAsBzH,SAASM,KAAKqL,OAAOqF,EAAIvJ,IAAI4iC,iBACxG,mBAAXr5B,GAAIvJ,GACbuJ,EAAIvJ,GAAKzH,SAASM,KAAKqL,OAAOy+B,EAAS3iC,IAAIoa,OAAM,GAEjD7hB,SAASM,KAAKqL,OAAOqF,EAAIvJ,IAAI0iC,MAAMnqC,SAASM,KAAKqL,OAAOy+B,EAAS3iC,IAAIoa,OAAM,IAG7E7Q,EAAIvJ,GAAKzH,SAASM,KAAKqL,OAAOy+B,EAAS3iC,IAAI4iC,gBAAkBrqC,SAASM,KAAKqL,OAAOy+B,EAAS3iC,IAAIoa,OAAM,GAAQuoB,EAAS3iC,EAG1H,OAAO7G,OAGT0pC,WAAY,SAAUF,GACpB,GAAIG,KAGJ,KAAK,GAAI9iC,KAAKuJ,GACRA,EAAID,eAAetJ,KAChB2iC,EAASr5B,eAAetJ,KAC3B8iC,EAAQ9iC,GAAKuJ,EAAIvJ,IAMvB,KAAK,GAAIwE,KAAKm+B,GACRA,EAASr5B,eAAe9E,KACrB+E,EAAID,eAAe9E,IAAM+E,EAAI/E,KAAOm+B,EAASn+B,KAChDs+B,EAAQ,GAAKv5B,EAAI,IAIvB,OAAOu5B,IAGT5jC,IAAK,WACH,MAAOqK,IAUT6Q,MAAO,SAAS5Q,GACd,GACIxJ,GADA+iC,IAGJ,IAAY,OAARx5B,IAAiBhR,SAASM,KAAKqL,OAAOqF,GAAKq5B,gBAC7C,MAAOr5B,EAGT,KAAKvJ,IAAKuJ,GACLA,EAAID,eAAetJ,KAChBwJ,EACFu5B,EAAO/iC,GAAKzH,SAASM,KAAKqL,OAAOqF,EAAIvJ,IAAIoa,MAAM5Q,GAE/Cu5B,EAAO/iC,GAAKuJ,EAAIvJ,GAItB,OAAO+iC,IAQT7B,QAAS,WACP,MAA+C,mBAAxCniC,OAAOF,UAAU0E,SAAS3B,KAAK2H,IAQxCy5B,WAAY,WACV,MAA+C,sBAAxCjkC,OAAOF,UAAU0E,SAAS3B,KAAK2H,IAGxCq5B,cAAe,WACb,MAAOr5B,IAA+C,oBAAxCxK,OAAOF,UAAU0E,SAAS3B,KAAK2H,MAAiC,QAAU5O,QAAU4O,YAAe9I,MAAO8I,YAAe3K,UAAW2K,YAAe05B,QAQnKC,QAAS,WACP,IAAK,GAAIljC,KAAKuJ,GACZ,GAAIA,EAAID,eAAetJ,GACrB,OAAO,CAGX,QAAO,KAKb,WACE,GAAImjC,GAAoB,OACpBC,EAAoB,OACpBC,EAAoB,YACpBC,GACEC,IAAK,QACLC,IAAK,OACLC,IAAK,OACLC,IAAK,SACLC,IAAK,UAEXprC,UAASM,KAAK+qC,OAAS,SAASC,GAE9B,MADAA,GAAMx/B,OAAOw/B,IAOXpP,KAAM,WACJ,MAAOoP,GAAIhkB,QAAQsjB,EAAmB,IAAItjB,QAAQujB,EAAiB,KAQrEU,YAAa,SAASC,GACpB,IAAK,GAAI/jC,KAAK+jC,GACZF,EAAM1qC,KAAK0mB,QAAQ,KAAO7f,EAAI,KAAKgkC,GAAGD,EAAK/jC,GAE7C,OAAO6jC,IAQThkB,QAAS,SAASokB,GAChB,OACED,GAAI,SAASnkB,GACX,MAAOgkB,GAAIpkC,MAAMwkC,GAAQvkC,KAAKmgB,MAUpCqkB,WAAY,SAASC,EAAYC,GAC/B,GAAIt1B,GAAO+0B,EAAIhkB,QAAQwjB,EAAgB,SAASgB,GAAK,MAAOf,GAAWe,IAOvE,OANIF,KACFr1B,EAAOA,EAAK+Q,QAAQ,kBAAmB,WAErCukB,IACFt1B,EAAOA,EAAK+Q,QAAQ,OAAQ,YAEvB/Q,QAgBf,SAAUvW,GAoBR,QAAS+rC,GAASlmC,EAASmmC,GACzB,MAAIC,GAA8BpmC,EAASmmC,GAClCnmC,GAGLA,IAAYA,EAAQE,cAAcQ,kBACpCV,EAAUA,EAAQE,cAAc7B,MAG3BgoC,EAAWrmC,EAASmmC,IAO7B,QAASG,GAAoBb,GAC3B,MAAOA,GAAIhkB,QAAQ8kB,EAAa,SAAStf,EAAOuf,GAC9C,GAAIC,IAAeD,EAAIvf,MAAMyf,QAA8B,IAAM,GAC7DC,EAAcC,EAASH,EAC3BD,GAAMA,EAAI/kB,QAAQilB,EAAuB,IAErCF,EAAInlC,MAAMslC,GAAS/nC,OAAS4nC,EAAInlC,MAAMolC,GAAa7nC,SACrD4nC,GAAYC,EACZA,EAAc,GAEhB,IAAII,GAAaL,EACbM,EAAaN,CASjB,OARIA,GAAI5nC,OAASmoC,IACfD,EAAaA,EAAWE,OAAO,EAAGD,GAAsB,OAG7B,SAAzBF,EAAQG,OAAO,EAAG,KACpBH,EAAU,UAAYA,GAGjB,YAAcA,EAAU,KAAOC,EAAa,OAASL,IAQhE,QAASQ,GAAgBjhC,GACvB,GAAIkhC,GAAclhC,EAAQmhC,qBAI1B,OAHKD,KACHA,EAAclhC,EAAQmhC,sBAAwBnhC,EAAQpJ,cAAc,QAE/DsqC,EAMT,QAASE,GAAmB/1B,GAC1B,GAAIvS,GAAcuS,EAASvS,WACvBoE,EAAc/I,EAASM,KAAK+qC,OAAOn0B,EAASpB,MAAM61B,aAClDoB,EAAcD,EAAgBnoC,EAAWoB,cAO7C,KAHAgnC,EAAY92B,UAAY,gBAAkBk2B,EAAoBpjC,GAC9DgkC,EAAYnoC,YAAYmoC,EAAYroC,YAE7BqoC,EAAYroC,YAEjBC,EAAWkP,aAAak5B,EAAYroC,WAAYwS,EAElDvS,GAAWC,YAAYsS,GAGzB,QAAS+0B,GAA8B3oC,EAAM0oC,GAE3C,IADA,GAAI5oC,GACGE,EAAKqB,YAAY,CAGtB,GAFArB,EAAOA,EAAKqB,WACZvB,EAAWE,EAAKF,SACZE,EAAK2D,WAAajH,EAASM,KAAKmoC,MAAMnlC,EAAK2D,UAAUC,MAAM,MAAMK,SAASykC,GAC5E,OAAO,CAET,IAAIkB,EAAe3lC,SAASnE,GAC1B,OAAO,CACF,IAAiB,SAAbA,EACT,OAAO,EAGX,OAAO,EAGT,QAAS8oC,GAAWrmC,EAASmmC,GAC3B,KAAIkB,EAAe3lC,SAAS1B,EAAQzC,WAIhCyC,EAAQoB,WAAajH,EAASM,KAAKmoC,MAAM5iC,EAAQoB,UAAUC,MAAM,MAAMK,SAASykC,IAApF,CAIA,GAAInmC,EAAQ3C,WAAalD,EAASoB,WAAayE,EAAQiQ,KAAKgX,MAAMsf,GAEhE,WADAa,GAAmBpnC,EAQrB,KAJA,GAAIrB,GAAoBxE,EAASM,KAAKmoC,MAAM5iC,EAAQrB,YAAYmC,MAC5DwmC,EAAoB3oC,EAAWC,OAC/BgD,EAAoB,EAEf0lC,EAAF1lC,EAAoBA,IACzBykC,EAAW1nC,EAAWiD,GAAIukC,EAG5B,OAAOnmC,IAlIT,GAGIqnC,GAAwBltC,EAASM,KAAKmoC,OAAO,OAAQ,MAAO,IAAK,SAAU,OAAQ,QAAS,UAW5F2D,EAAwB,oCACxBG,EAAwB,oBACxBK,EAAwB,IACxBH,GAA0BW,IAAK,IAAKC,IAAK,IAAKC,IAAK,IAoHvDttC,GAASG,IAAI4rC,SAAWA,EAGxB/rC,EAASG,IAAI4rC,SAASK,YAAcA,GACnCpsC,UAEH,SAAUA,GACR,GAAI6N,GAAM7N,EAASG,GAEnB0N,GAAI0/B,SAAW,SAAS1nC,EAASoB,GAC/B,GAAIumC,GAAY3nC,EAAQ2nC,SACxB,OAAIA,GACKA,EAAUpmC,IAAIH,QAEnB4G,EAAI4/B,SAAS5nC,EAASoB,KAG1BpB,EAAQoB,WAAa,IAAMA,KAG7B4G,EAAI6/B,YAAc,SAAS7nC,EAASoB,GAClC,GAAIumC,GAAY3nC,EAAQ2nC,SACxB,OAAIA,GACKA,EAAUpnC,OAAOa,QAG1BpB,EAAQoB,UAAYpB,EAAQoB,UAAUqgB,QAAQ,GAAIxM,QAAO,WAAa7T,EAAY,YAAa,OAGjG4G,EAAI4/B,SAAW,SAAS5nC,EAASoB,GAC/B,GAAIumC,GAAY3nC,EAAQ2nC,SACxB,IAAIA,EACF,MAAOA,GAAUjmC,SAASN,EAG5B,IAAI0mC,GAAmB9nC,EAAQoB,SAC/B,OAAQ0mC,GAAiBlpC,OAAS,IAAMkpC,GAAoB1mC,GAAa,GAAI6T,QAAO,UAAY7T,EAAY,WAAWmE,KAAKuiC,MAE7H3tC,UAEHA,SAASG,IAAI6I,wBAA0B,WACrC,GAAIzC,GAAkBvD,SAASuD,eAC/B,OAAIA,GAAgByC,wBACX,SAAS8T,EAAWjX,GACzB,MAAOiX,GAAU9T,wBAAwBnD,IAGpC,SAAUiX,EAAWjX,GAE1B,GAAI+nC,GAAWC,CAYf,IATED,EADyB,IAAvB9wB,EAAU5Z,SACA4Z,EAEAA,EAAU/W,cAGtB8nC,EADuB,IAArBhoC,EAAQ3C,SACG2C,EAEAA,EAAQE,cAEnB+W,IAAcjX,EAAU,MAAO,EACnC,IAAIiX,IAAcjX,EAAQE,cAAgB,MAAO,GACjD,IAAI+W,EAAU/W,gBAAkBF,EAAU,MAAO,GACjD,IAAI+nC,IAAcC,EAAa,MAAO,EAGtC,IAA2B,IAAvB/wB,EAAU5Z,UAA0C4Z,EAAUtY,YAA+E,KAAjExE,SAASM,KAAKmoC,MAAM3rB,EAAUtY,YAAYrB,QAAS0C,GACjI,MAAO,GAET,IAAyB,IAArBA,EAAQ3C,UAA0C2C,EAAQrB,YAA+E,KAAjExE,SAASM,KAAKmoC,MAAM5iC,EAAQrB,YAAYrB,QAAS2Z,GAC3H,MAAO,GAKT,KAHA,GAAIgxB,GAAQhxB,EACRixB,KACAziC,EAAW,KACRwiC,GAAQ,CACb,GAAIA,GAASjoC,EAAU,MAAO,GAC9BkoC,GAAQltC,KAAMitC,GACdA,EAAQA,EAAMnpC,WAIhB,IAFAmpC,EAAQjoC,EACRyF,EAAW,KACJwiC,GAAQ,CACb,GAAIA,GAAShxB,EAAY,MAAO,GAChC,IAAIkxB,GAAiBhuC,SAASM,KAAKmoC,MAAMsF,GAAS5qC,QAAS2qC,EAC3D,IAAuB,KAAnBE,EAAuB,CAC1B,GAAIC,GAA2BF,EAASC,GACpCE,EAAaluC,SAASM,KAAKmoC,MAAMwF,EAAyBzpC,YAAYrB,QAAS4qC,EAAQC,EAAiB,IACxGG,EAAcnuC,SAASM,KAAKmoC,MAAMwF,EAAyBzpC,YAAYrB,QAASmI,EACpF,OAAI4iC,GAAaC,EACJ,EAGJ,EAGV7iC,EAAWwiC,EACXA,EAAQA,EAAMnpC,WAEhB,MAAO,OAKb3E,SAASG,IAAIoH,SAAW,WACtB,GAAIhB,GAAkBvD,SAASuD,eAC/B,OAAIA,GAAgBgB,SACX,SAASuV,EAAWjX,GACzB,GAAIA,EAAQ3C,WAAalD,SAASmB,aAAc,CAC9C,GAAI0E,EAAQlB,aAAemY,EACzB,OAAO,CAETjX,GAAUA,EAAQlB,WAEpB,MAAOmY,KAAcjX,GAAWiX,EAAUvV,SAAS1B,IAE5CU,EAAgByC,wBAClB,SAAS8T,EAAWjX,GAEzB,SAAuD,GAA7CiX,EAAU9T,wBAAwBnD,KAHzC,UAQT,SAAU7F,GACR,GAAI6B,GAAMmB,QACVhD,GAASG,IAAIiuC,oBAAsBlkC,KAAKC,QACpCkkC,mBAAoB,WAClB,MAAOztC,MAAKiF,SAGdyO,UAAW,WACT,MAAO1T,MAAKiF,QAAQE,cAAcqC,aAAexH,KAAKiF,QAAQE,cAAcwO,cAG9EF,YAAa,WACX,MAAOzT,MAAKiF,QAAQE,eAGtB0E,YAAa,SAAS6jC,EAAetgC,EAAQwI,GAC3C5V,KAAKqoC,SAAWqF,GAAiBtuC,EAASkB,eAC1CN,KAAKoN,OAAWhO,EAASM,KAAKqL,WAAWw+B,MAAMn8B,GAAQrH,MAClD/F,KAAKoN,OAAO/G,YACfrG,KAAKoN,OAAO/G,UAAY,oBAEtBuP,EACA5V,KAAKiF,QAAUjF,KAAK2tC,aAAa/3B,GAEjC5V,KAAKiF,QAAUjF,KAAK4tC,kBAI1BC,QAAS,aAKTD,eAAgB,WACd,GAAI3oC,GAAUhE,EAAIY,cAAc,MAGhC,OAFAoD,GAAQoB,UAAYrG,KAAKoN,OAAO/G,UAChCrG,KAAK8tC,aAAa7oC,GACXA,GAIT0oC,aAAc,SAAS/3B,GAGrB,MAFAA,GAAgBvP,UAAYuP,EAAgBvP,UAAYuP,EAAgBvP,UAAY,oBAAsB,mBAC1GrG,KAAK8tC,aAAal4B,GAAiB,GAC5BA,GAGTk4B,aAAc,SAAS7oC,EAAS8oC,GAC9B,GAAIC,GAAOhuC,IAEX,KAAK+tC,EAAe,CAChB,GAAIE,GAAYjuC,KAAKkuC,UACrBjpC,GAAQoQ,UAAY44B,EAGxBjuC,KAAKmuC,QAAS,EAEdC,WAAW,WAAaJ,EAAK3F,SAAS2F,IAAU,IAGlDE,SAAU,SAASG,GACjB,MAAO,OAIZjvC,UA4BHA,SAASG,IAAI+uC,cAAgB,WAC3B,QAASC,GAAgBttC,EAAKutC,GAC5B,GAAIC,GAAWxtC,EAAIY,cAAc,KAEjC,OADA2sC,GAAKnrC,YAAYorC,GACVA,EAGT,QAASC,GAAYztC,EAAKwB,GACxB,MAAOxB,GAAIY,cAAcY,GAG3B,QAAS6rC,GAAcrpC,EAAS0pC,EAAUC,GACxC,GAAyB,OAArB3pC,EAAQzC,UAA0C,OAArByC,EAAQzC,UAA0C,SAArByC,EAAQzC,SAEpE,MAAOyC,EAGT,IAIIrB,GACA2oC,EACAsC,EACAC,EACA/qC,EACAgrC,EACAC,EACAC,EACApoC,EAZA5F,EAAoBgE,EAAQE,cAC5BqpC,EAAoBE,EAAYztC,EAAK0tC,GACrCO,EAAoBjqC,EAAQG,iBAAiB,MAC7C+pC,EAAoBD,EAAWrrC,MAYnC,KAAKgD,EAAE,EAAKsoC,EAAFtoC,EAAoBA,IAE5B,IADAioC,EAAYI,EAAWroC,IACf9C,EAAa+qC,EAAU/qC,aAAeA,IAAekB,GAAWlB,EAAWsd,YAAcytB,GAAW,CAC1G,GAA0D,UAAtD1vC,SAASG,IAAI6vC,SAAS,WAAWC,KAAKtrC,GAAyB,CACjEA,EAAWC,YAAY8qC,EACvB,OAEF1vC,SAASG,IAAI+vC,OAAOR,GAAWS,MAAMT,EAAU/qC,YAOnD,IAHAH,EAAoBxE,SAASM,KAAKmoC,MAAM5iC,EAAQrB,YAAYmC,MAC5DwmC,EAAoB3oC,EAAWC,OAE1BgD,EAAE,EAAK0lC,EAAF1lC,EAAoBA,IAC5BooC,EAAoBA,GAAmBV,EAAgBttC,EAAKutC,GAC5DK,EAAoBjrC,EAAWiD,GAC/BkoC,EAAyE,UAArD3vC,SAASG,IAAI6vC,SAAS,WAAWC,KAAKR,GAC1DG,EAA2C,OAAvBH,EAAUrsC,UAG1BusC,GAAoBH,GAAoBxvC,SAASG,IAAIstC,SAASgC,EAAWD,GAQzEI,EAEFC,EAAkBA,EAAgBnrC,WAAa,KAAOmrC,EAIxDA,EAAgB5rC,YAAYwrC,IAZ1BI,EAAkBA,EAAgBnrC,WAAayqC,EAAgBttC,EAAKutC,GAAQS,EAC5EA,EAAgB5rC,YAAYwrC,GAC5BI,EAAkB,KAkBtB,OAL0B,KAAtBrrC,EAAWC,QACb0qC,EAAgBttC,EAAKutC,GAGvBvpC,EAAQlB,WAAWyrC,aAAahB,EAAMvpC,GAC/BupC,EAGT,MAAOF,MAkBTlvC,SAASG,IAAIkwC,eAAiB,SAASC,GACrC,OACEL,KAAM,SAASM,GACb,OACEC,GAAI,QAASC,GAAyBC,GAIpC,IAHA,GAAIC,GACAlpC,EAAY,EACZhD,EAAY6rC,EAAiB7rC,OACxBA,EAAFgD,EAAUA,IACfkpC,EAAYL,EAAiB7oC,GACgB,mBAAlC8oC,GAAkBI,IAAgE,KAAjCJ,EAAkBI,KAC5ED,EAAgBC,GAAaJ,EAAkBI,GAGnD,QAASC,MAAOH,QA0B1B,SAAUtwC,GASR,GAAI0wC,IAAyB,qBAAsB,kBAAmB,iBAAkB,cAEpFC,EAAiC,SAASjrC,GAC5C,MAAIkrC,GAAsBlrC,GAChBknB,SAAS5sB,EAAI6vC,SAAS,SAASC,KAAKpqC,GAAU,IAAMA,EAAQmrC,aAE/D,GAGLD,EAAwB,SAASlrC,GAGnC,IAFA,GAAI4B,GAAU,EACVhD,EAAUosC,EAAsBpsC,OAC3BA,EAAFgD,EAAUA,IACf,GAA6D,eAAzDtH,EAAI6vC,SAASa,EAAsBppC,IAAIwoC,KAAKpqC,GAC9C,MAAOgrC,GAAsBppC,GAKnCtH,GAAI8wC,WAAa,SAASC,GACxB,OACEjB,KAAM,SAASpqC,GACTirC,EAA+BjrC,KACjCqrC,EAAelxC,SAASM,KAAKmoC,MAAMyI,GAActI,QAAQiI,GAO3D,KAJA,GAGI7P,GAHAmQ,EAAU,GACV1sC,EAAUysC,EAAazsC,OACvBgD,EAAU,EAELhD,EAAFgD,EAAUA,IACfu5B,EAAWkQ,EAAazpC,GACxB0pC,GAAWnQ,EAAW,IAAM7gC,EAAI6vC,SAAShP,GAAUiP,KAAKpqC,GAAW,GAGrE,QACE2qC,GAAI,QAASY,GAAcvrC,GAEzB,MADA1F,GAAIkxC,UAAUF,GAAS1H,GAAG5jC,IACjB+qC,MAAOQ,SAMzBpxC,SAASG,KAUZ,SAAUH,GACRA,EAASG,IAAImxC,SAAW,SAASx0B,EAAWlX,EAAUggC,EAAW8D,GAC/D,GAAIT,GAAW,SAASv/B,GAKtB,IAAK,GAJD6nC,GAAS7nC,EAAM6nC,OACf1rC,EAA+B,IAApB0rC,EAAOruC,SAAkBquC,EAAO5sC,WAAa4sC,EACxDhsC,EAAWuX,EAAU9W,iBAAiBJ,GAEjC6B,EAAI,EAAG6hC,EAAM/jC,EAAQd,OAAY6kC,EAAJ7hC,EAASA,IACzClC,EAAQkC,GAAGF,SAAS1B,IACtB6jC,EAAQrgC,KAAK9D,EAAQkC,GAAIiC,GAM/B,OADAoT,GAAUrT,iBAAiBm8B,EAAWqD,GAAU,IAE9C7uB,KAAM,WACJ0C,EAAUvT,oBAAoBq8B,EAAWqD,GAAU,OAIxDjpC,UAGH,SAAUA,GAIR,QAAS+tC,GAAQzqC,EAAMwZ,GAIrB,IAHA,GAAI/B,IAASzX,GAAOyE,EAAIzE,EAGjBwZ,GAAa/U,GAAKA,IAAM+U,IAAgBA,GAAa/U,GAC1DgT,EAAMqZ,QAAQrsB,GACdA,EAAIA,EAAEpD,UAER,OAAOoW,GAGT/a,EAASG,IAAIqxC,QAAU,SAASluC,GAC9B,GAAImuC,IAAoBzxC,EAASmB,aAAcnB,EAASoB,UAExD,QAEEswC,IACEC,cAAe,SAASC,GACtB,GAAIC,GAAOD,EAAmB,SAAa,YAC3C,OAAOtuC,IAAQA,EAAKJ,WAAalD,EAASoB,WAAa,EAAOgK,KAAK9H,EAAKwS,OAI1Eg8B,cAAe,WACb,MAAOxuC,IAA0B,IAAlBA,EAAKJ,UAAkBI,EAAKkqC,UAAUjmC,SAAS,2BAGhEwqC,QAAS,WACP,GAAIC,IAAa,SAAW5mC,KAAKpL,EAASG,IAAI8xC,eAAe3uC,GAO7D,OALK0uC,IACmB,IAAlB1uC,EAAKJ,UAAkBI,EAAK0hC,cAAc,yDAC5CgN,GAAY,GAGTA,GAETtC,UAAW,WACT,MAAOpsC,IAA0B,IAAlBA,EAAKJ,UAAoC,OAAlBI,EAAKF,UAE7CwI,MAAO,WACL,MAAOtI,IAA0B,IAAlBA,EAAKJ,UAAoF,UAAlEI,EAAKyC,cAAcqC,YAAYiP,iBAAiB/T,GAAM+sB,SAK9F6hB,YAAa,WACX,MAAOlyC,GAASG,IAAIqxC,QAAQluC,GAAM8H,MAChC+mC,MAAOnyC,EAASgB,kBAMtBoxC,KAAM,SAAS/gC,GACb,GAAIghC,GAAW/uC,EAAK6F,gBAChBmpC,EAASjhC,GAAWA,EAAQoJ,UAAapJ,EAAQoJ,UAAYg3B,CAEjE,OAAKY,GAKHryC,EAASG,IAAIqxC,QAAQa,GAAUX,GAAGI,kBAChC9xC,EAASM,KAAKmoC,MAAM6J,GAAO/qC,SAAS8qC,EAASnvC,WAC9CmO,GAAWA,EAAQkhC,kBAAoBvyC,EAASG,IAAIqxC,QAAQa,GAAUX,GAAGC,eAAc,GAEjF3xC,EAASG,IAAIqxC,QAAQa,GAAUD,KAAK/gC,GAGtCghC,EAXE,MAeX36B,KAAM,SAASrG,GACb,GAAIuC,GAAWtQ,EAAKsE,YAChB0qC,EAASjhC,GAAWA,EAAQoJ,UAAapJ,EAAQoJ,UAAYg3B,CAEjE,OAAK79B,GAKH5T,EAASG,IAAIqxC,QAAQ59B,GAAU89B,GAAGI,kBAChC9xC,EAASM,KAAKmoC,MAAM6J,GAAO/qC,SAASqM,EAAS1Q,WAC9CmO,GAAWA,EAAQkhC,kBAAoBvyC,EAASG,IAAIqxC,QAAQ59B,GAAU89B,GAAGC,eAAc,GAEjF3xC,EAASG,IAAIqxC,QAAQ59B,GAAU8D,KAAKrG,GAGtCuC,EAXE,MAkBX4+B,eAAgB,SAASx/B,EAAO8J,GAC9B,GAAI21B,GAAW1E,EAAQzqC,EAAMwZ,GACzB41B,EAAW3E,EAAQ/6B,EAAO8J,EAG9B,IAAI21B,EAAS,IAAMC,EAAS,GAC1B,MAAO,KAKT,KAAK,GAAIjrC,GAAI,EAAGA,EAAIgrC,EAAShuC,OAAQgD,IACnC,GAAIgrC,EAAShrC,IAAMirC,EAASjrC,GAC1B,MAAOgrC,GAAShrC,EAAI,EAIxB,OAAO,OAMTkrC,aAAc,SAASthC,GACrB,GAAI4Q,EAGJ,IAAsB,IAAlB3e,EAAKJ,SACP,MAAOI,EAKT,IADA2e,EAAY3e,EAAK2e,WACZA,EACH,MAAO3e,EAIT,IAAI+N,GAAWA,EAAQuhC,YACrB,IAAK,GAAInrC,GAAI4J,EAAQuhC,YAAYnuC,OAAQgD,KACvC,GAAIzH,EAASG,IAAIstC,SAASnqC,EAAM+N,EAAQuhC,YAAYnrC,IAClD,MAAOnE,EAKb,OAAOtD,GAASG,IAAIqxC,QAAQvvB,GAAW0wB,aAAathC,IAMtDwhC,aAAc,SAAShtC,EAASitC,GAC9B,GAAIngC,GAAQogC,EAAQC,EAChBC,EAAU3vC,CAGd,KAAKtD,EAASG,IAAIoH,SAAS1B,EAASvC,GAClC,KAAM,IAAI4O,OAAM,qCAIlB,GAAG,CAMD,IAJAS,EAASsgC,EAAQtuC,WAGjBouC,EAASpgC,EAAOsB,WAAU,GACnBtB,EAAOsP,WAAatP,EAAOsP,YAAcgxB,GAC9CF,EAAOl/B,aAAalB,EAAOsP,UAAW8wB,EAAOruC,WAY/C,IARIiO,IAAW9M,IACbmtC,EAAWrgC,EAAOsB,WAAU,GAC5B++B,EAAS/uC,YAAYgvC,GACrBA,EAAUD,GAEZrgC,EAAOhO,WAAWkP,aAAao/B,EAAStgC,EAAO/K,aAGtB,KAArBmrC,EAAO98B,UAET,GAAI,QAAU7K,KAAK2nC,EAAO98B,WACxB,KAAO88B,EAAO9wB,WACZtP,EAAOhO,WAAWkP,aAAak/B,EAAO9wB,UAAWgxB,EAAQrrC,iBAG3D+K,GAAOhO,WAAWkP,aAAak/B,EAAQE,EAAQrrC,YAKnD,IAAyB,KAArB+K,EAAOsD,UACTtD,EAAOhO,WAAWC,YAAY+N,OACzB,IAAI,QAAUvH,KAAKuH,EAAOsD,WAAY,CAC3C,KAAOtD,EAAOjO,YACZiO,EAAOhO,WAAWkP,aAAalB,EAAOjO,WAAYiO,EAEpDA,GAAOhO,WAAWC,YAAY+N,UAGzBA,GAAUA,IAAW9M,EAE1BitC,IAAcG,IAChBA,EAAQtuC,WAAWkP,aAAai/B,EAAYG,GAC5CH,EAAW7uC,YAAYgvC,KAI3BC,kBAAmB,SAASC,EAAYC,GACtC,GAAsB,IAAlB9vC,EAAKJ,SAAgB,CACvB,GAAIlD,EAASG,IAAIqxC,QAAQ2B,GAAYzB,GAAGQ,eAAyC,IAAxBiB,EAAWjwC,SAClE,KAAOI,EAAK2e,WACVkxB,EAAWxuC,WAAWkP,aAAavQ,EAAK2e,UAAWkxB,EAAWvrC,iBAGhE,MAAOtE,EAAKoB,YACVyuC,EAAWlvC,YAAYX,EAAKoB,WAG5B0uC,IACF9vC,EAAKqB,WAAWC,YAAYtB,QAEH,IAAlBA,EAAKJ,UAAoC,IAAlBI,EAAKJ,YACjClD,EAASG,IAAIqxC,QAAQ2B,GAAYzB,GAAGQ,cACtCiB,EAAWxuC,WAAWkP,aAAavQ,EAAM6vC,EAAWvrC,aAEpDurC,EAAWlvC,YAAYX,KAwB7B8H,KAAM,SAASioC,GACb,GAAInxB,EAGJ,KAAKmxB,EACH,OAAO,CAIT,IAAsB,IAAlB/vC,EAAKJ,SACP,OAAO,CAGT,IAAImwC,EAAWlB,QACR7uC,EAAKiC,QAAQ8tC,EAAWlB,OAC3B,OAAO,CAIX,IAAIkB,EAAWjwC,UAAYE,EAAKF,SAASyL,gBAAkBwkC,EAAWjwC,SAASyL,cAC7E,OAAO,CAGT,IAAIwkC,EAAWpsC,YAAc3D,EAAKkqC,UAAUjmC,SAAS8rC,EAAWpsC,WAC9D,OAAO,CAIT,IAAIosC,EAAWC,YAAa,CAC1B,GAAI/tC,IAAWjC,EAAK2D,WAAa,IAAI6lB,MAAMumB,EAAWC,gBACtD,IAAuB,IAAnB/tC,EAAQd,OACV,OAAO,EAKX,GAAI4uC,EAAWE,eAAiBF,EAAWE,cAAc9uC,OAAS,EAGhE,IAAK,GAFD+uC,IAAc,EACdC,EAAUrqC,MAAMu/B,QAAQ0K,EAAWE,eAAkBF,EAAWE,eAAiBF,EAAWE,eACvFG,EAAI,EAAGC,EAAYF,EAAOhvC,OAAYkvC,EAAJD,EAAeA,IAAK,CAG7D,GADAxxB,EAAOliB,EAASyjC,QAAQ6E,YAAYmL,EAAOC,IACvCpwC,EAAK6sB,MAAMjO,GAAO,CACpB,IAAImxB,EAAWO,WAqBR,CACLJ,GAAc,CACd,OArBA,GAAIH,EAAWO,qBAAsB94B,SAEnC,GAAIxX,EAAK6sB,MAAMjO,GAAMga,OAAOpP,MAAMumB,EAAWO,YAAYnvC,OAAS,EAAG,CACnE+uC,GAAc,CACd,YAEG,IAAIpqC,MAAMu/B,QAAQ0K,EAAWO,aAElC,GAAIP,EAAWO,WAAWzwC,QAAQG,EAAK6sB,MAAMjO,GAAMga,QAAS,CAC1DsX,GAAc,CACd,YAIF,IAAIH,EAAWO,aAAetwC,EAAK6sB,MAAMjO,GAAMga,OAAO5U,QAAQ,MAAO,KAAM,CACzEksB,GAAc,CACd,QAQR,IAAKA,EACH,OAAO,EAKb,GAAIH,EAAW1C,UAAW,CACxB,GAAIkD,GAAO7zC,EAASG,IAAI2zC,cAAcxwC,GAClCywC,KACAC,GAAkB,CAElB5qC,OAAMu/B,QAAQ0K,EAAW1C,WAC3BoD,EAAWV,EAAW1C,UAEtBoD,EAASV,EAAW1C,WAAa0C,EAAWY,cAG9C,KAAK,GAAIC,KAAKH,GACZ,GAAIA,EAAShjC,eAAemjC,GAC1B,GAA2B,mBAAhBH,GAASG,IAClB,GAAuB,mBAAZL,GAAKK,GAAoB,CAClCF,GAAkB,CAClB,YAEG,IAAIH,EAAKK,KAAOH,EAASG,GAAI,CAClCF,GAAkB,CAClB,OAKN,IAAKA,EACH,OAAO,EAKX,OAAO,MAKZh0C,UAcHA,SAASG,IAAIg0C,SAAW,WAEtB,GAAIC,GAAiB,SAAS79B,EAAM1K,GAClC,GAAIkhC,GAAclhC,EAAQpJ,cAAc,MACxCsqC,GAAY5c,MAAME,QAAU,OAC5BxkB,EAAQ3H,KAAKD,YAAY8oC,EAEzB,KAAMA,EAAY92B,UAAYM,EAAQ,MAAM/T,IAE5C,MADAqJ,GAAQ3H,KAAKU,YAAYmoC,GAClBA,GAMLsH,EAA4B,SAASxoC,GACvC,IAAIA,EAAQyoC,4BAAZ,CAGA,IAAK,GAAI7sC,GAAE,EAAGhD,EAAO8vC,EAAe9vC,OAAUA,EAAFgD,EAAUA,IACpDoE,EAAQpJ,cAAc8xC,EAAe9sC,GAEvCoE,GAAQyoC,6BAA8B,IAQpCC,GACF,OAAQ,UAAW,QAAS,QAAS,MAAO,SAAU,UAAW,WAAY,UAAW,aACxF,SAAU,SAAU,SAAU,SAAU,SAAU,OAAQ,QAAS,MAAO,SAAU,WACpF,KAAM,KAAM,OAAQ,MAAO,UAAW,SAAU,UAAW,OAAQ,QAAS,QAAS,MAGvF,OAAO,UAASh+B,EAAM1K,GACpBA,EAAUA,GAAW7I,QACrB,IAAI+pC,EAWJ,OAVqB,gBAAX,IAAuBx2B,EAAKrT,UACpC6pC,EAAclhC,EAAQpJ,cAAc,OACpCsqC,EAAY9oC,YAAYsS,IACfvW,SAASyjC,QAAQqC,kBAAkBj6B,IAC5CkhC,EAAclhC,EAAQpJ,cAAc,OACpCsqC,EAAY92B,UAAYM,IAExB89B,EAA0BxoC,GAC1BkhC,EAAcqH,EAAe79B,EAAM1K,IAE9BkhC,MAcX/sC,SAASG,IAAI4mC,aAAe,SAASzjC,EAAMkxC,GACzC,GAAIC,IAAyBz0C,SAASyjC,QAAQqD,+BAC9C0N,GAAgBA,EAAc3lC,aAC9B,IAAIzL,GAAWE,EAAKF,QACpB,IAAgB,OAAZA,GAAsC,OAAjBoxC,GAA0Bx0C,SAASG,IAAIu0C,cAAcpxC,MAAU,EAKtF,MAAOA,GAAKqxC,GACP,IAAIF,GAAyB,aAAenxC,GAAM,CAEvD,GAAIsxC,GAAiBtxC,EAAKsxC,UAAU/lC,cAEhCgmC,EAAkE,IAAjDD,EAAUzxC,QAAQ,IAAMqxC,EAAiB,IAE9D,OAAOK,GAAevxC,EAAKyjC,aAAayN,GAAiB,KAEzD,MAAOlxC,GAAKyjC,aAAayN,IAc7Bx0C,SAASG,IAAI2zC,cAAgB,SAASxwC,GACpC,GAGIuwC,GAHAY,GAAyBz0C,SAASyjC,QAAQqD,gCAC1C1jC,EAAWE,EAAKF,SAChB0xC,IAGJ,KAAKjB,IAAQvwC,GAAKwxC,YACXxxC,EAAKwxC,WAAW/jC,gBAAkBzN,EAAKwxC,WAAW/jC,eAAe8iC,KAAYvwC,EAAKwxC,WAAW/jC,gBAAkBvK,OAAOF,UAAUyK,eAAe1H,KAAK/F,EAAKwxC,WAAYjB,KACpKvwC,EAAKwxC,WAAWjB,GAAMkB,YACR,OAAZ3xC,GAAiE,OAA5CE,EAAKwxC,WAAWjB,GAAMnkC,KAAKb,eAA0B7O,SAASG,IAAIu0C,cAAcpxC,MAAU,EACjHwxC,EAAgB,IAAIxxC,EAAKqxC,IAChB30C,SAASM,KAAKmoC,OAAO,UAAW,YAAYlhC,SAASjE,EAAKwxC,WAAWjB,GAAMnkC,KAAKb,gBAAkB4lC,EACvE,IAAhCnxC,EAAKwxC,WAAWjB,GAAM/sC,QACxBguC,EAAWxxC,EAAKwxC,WAAWjB,GAAMnkC,MAAQpM,EAAKwxC,WAAWjB,GAAM/sC,OAGjEguC,EAAWxxC,EAAKwxC,WAAWjB,GAAMnkC,MAAQpM,EAAKwxC,WAAWjB,GAAM/sC;AAKvE,MAAOguC,IAoBT90C,SAASG,IAAI60C,iBAAmB,WAE9B,MAAO,UAAS1xC,EAAM+vC,EAAY4B,EAAQn4B,GAExC,IADAm4B,EAASA,GAAU,GACZA,KAAY3xC,GAA0B,SAAlBA,EAAKF,YAAyB0Z,GAAaxZ,IAASwZ,IAAY,CACzF,GAAI9c,SAASG,IAAIqxC,QAAQluC,GAAM8H,KAAKioC,GAClC,MAAO/vC,EAETA,GAAOA,EAAKqB,WAEd,MAAO,UAaX3E,SAASG,IAAI+0C,cAAgB,SAASxrC,GACpC,GAAI6M,EAQJ,OAPIvW,UAASyjC,QAAQ4E,uBAAyB3+B,EAAMyrC,gBAC9Cn1C,SAASM,KAAKmoC,MAAM/+B,EAAMyrC,cAAc7C,OAAO/qC,SAAS,aAC1DgP,EAAO7M,EAAMyrC,cAAcC,QAAQ,aAC1Bp1C,SAASM,KAAKmoC,MAAM/+B,EAAMyrC,cAAc7C,OAAO/qC,SAAS,gBACjEgP,EAAOvW,SAASM,KAAK+qC,OAAO3hC,EAAMyrC,cAAcC,QAAQ,eAAezJ,YAAW,GAAM,KAGrFp1B,GAITvW,SAASG,IAAIk1C,qBAAuB,SAAUC,EAAUntB,GACtD,GAAIotB,GAAcD,EAAS/0C,UAAUojB,cACjC9hB,EAAMyzC,EAASzvC,QAAQE,cACvByvC,EAAa3zC,EAAIY,cAAc,OAC/BgzC,EAAYH,EAASI,cAEzB7zC,GAAIqC,KAAKD,YAAYuxC,GAErBA,EAAWrlB,MAAMwlB,MAAQ,MACzBH,EAAWrlB,MAAMylB,OAAS,MAC1BJ,EAAWrlB,MAAM0lB,SAAW,SAC5BL,EAAWrlB,MAAMhc,SAAW,WAC5BqhC,EAAWrlB,MAAM2lB,IAAML,EAAUM,EAAI,KACrCP,EAAWrlB,MAAM6lB,KAAOP,EAAUQ,EAAI,KAEtCT,EAAWxxC,aAAa,kBAAmB,QAC3CwxC,EAAW1wC,QAEXkqC,WAAW,WACT,GAAIz4B,EAEJ++B,GAAS/0C,UAAU21C,YAAYX,GAC/Bh/B,EAAOi/B,EAAWv/B,UACdM,GAAQ,aAAenL,KAAKmL,EAAK2lB,UACnC3lB,GAAO,GAET4R,EAAE5R,GACFi/B,EAAW7wC,WAAWC,YAAY4wC,IACjC,IAaLx1C,SAASG,IAAI6vC,SAAW,WAMtB,QAASmG,GAAS7K,GAChB,MAAOA,GAAIhkB,QAAQ8uB,EAAkB,SAAStpB,GAC5C,MAAOA,GAAMyS,OAAO,GAAG8W,gBAP3B,GAAIC,IACEC,QAAU,cAAgBvzC,UAASP,cAAc,OAAO0tB,MAAS,aAAe,YAElFimB,EAAmB,UAQvB,OAAO,UAASpV,GACd,OACEiP,KAAM,SAASpqC,GACb,GAAIA,EAAQ3C,WAAalD,SAASmB,aAAlC,CAIA,GAAIU,GAAoBgE,EAAQE,cAC5BywC,EAAoBF,EAAqBtV,IAAamV,EAASnV,GAC/D7Q,EAAoBtqB,EAAQsqB,MAC5B5Y,EAAoB1R,EAAQ0R,aAC5Bq8B,EAAoBzjB,EAAMqmB,EAC9B,IAAI5C,EACF,MAAOA,EAQT,IAAIr8B,EACF,IACE,MAAOA,GAAai/B,GACpB,MAAMh0C,IAKV,GAEIi0C,GACAlrC,EAHA3J,EAAsBC,EAAIuG,aAAevG,EAAI0S,aAC7CmiC,GAAoC,WAAb1V,GAAsC,UAAbA,IAA8C,aAArBn7B,EAAQzC,QAIrF,OAAIxB,GAAIyV,kBAGFq/B,IACFD,EAAmBtmB,EAAM0lB,SACzB1lB,EAAM0lB,SAAW,UAEnBtqC,EAAc3J,EAAIyV,iBAAiBxR,EAAS,MAAM8wC,iBAAiB3V,GAC/D0V,IACFvmB,EAAM0lB,SAAWY,GAAoB,IAEhClrC,GAXT,cAkBRvL,SAASG,IAAIuH,aAAe,SAASpE,EAAMszC,GACzC,GAAIjvC,KACJ,KAAKrE,EAAKA,EAAKoB,WAAWpB,EAAKA,EAAKA,EAAKsE,YAClB,GAAjBtE,EAAKJ,SACF0zC,GAAgB,QAAUxrC,KAAK9H,EAAK8/B,WAAa9/B,EAAKuzC,cACzDlvC,EAAI9G,KAAKyC,GAGXqE,EAAMA,EAAIE,OAAO7H,SAASG,IAAIuH,aAAapE,EAAMszC,GAGrD,OAAOjvC,IAaT,SAAU3H,GAIR,QAAS82C,GAAuBj1C,GAC9B,MAAOA,GAAIk1C,uBAAyBl1C,EAAIk1C,qBAAuBC,KAJjE,GAAIC,MACAD,EAAsB,CAM1Bh3C,GAASG,IAAI+2C,wBAA0B,SAASr1C,EAAKoF,GAGnD,IAAKjH,EAASyjC,QAAQ2D,uCACpB,QAASvlC,EAAImjC,cAAc,IAAM/9B,EAGnC,IAAIyE,GAAcorC,EAAuBj1C,GAAO,IAAMoF,EAClDkwC,EAAcF,EAAWvrC,EAK7B,OAJKyrC,KACHA,EAAaF,EAAWvrC,GAAO7J,EAAIwlC,uBAAuBpgC,IAGrDkwC,EAAW1yC,OAAS,IAE5BzE,UAYHA,SAASG,IAAIi3C,sBAAwB,WAInC,QAASN,GAAuBj1C,GAC9B,MAAOA,GAAIk1C,uBAAyBl1C,EAAIk1C,qBAAuBC,KAJjE,GAAIC,MACAD,EAAsB,CAM1B,OAAO,UAASn1C,EAAKmT,GACnB,GAAItJ,GAAcorC,EAAuBj1C,GAAO,IAAMmT,EAClDmiC,EAAcF,EAAWvrC,EAK7B,OAJKyrC,KACHA,EAAaF,EAAWvrC,GAAO7J,EAAIqL,qBAAqB8H,IAGnDmiC,EAAW1yC,OAAS,MAI/BzE,SAASG,IAAI+vC,OAAS,SAASmH,GAC7B,OACElH,MAAO,SAAStqC,GACdA,EAAQlB,WAAWkP,aAAawjC,EAAiBxxC,EAAQ+B,cAG3D0vC,OAAQ,SAASzxC,GACfA,EAAQlB,WAAWkP,aAAawjC,EAAiBxxC,IAGnD0xC,KAAM,SAAS1xC,GACbA,EAAQ5B,YAAYozC,MAK1Br3C,SAASG,IAAIq3C,UAAY,SAASC,GAGhC,MAFAA,GAAQA,EAAMtwC,KAAK,OAGjBowC,KAAM,SAAS11C,GACb,GAAI61C,GAAe71C,EAAIY,cAAc,QACrCi1C,GAAar0C,KAAO,WAEhBq0C,EAAaC,WACfD,EAAaC,WAAWxG,QAAUsG,EAElCC,EAAazzC,YAAYpC,EAAIc,eAAe80C,GAG9C,IAAIG,GAAO/1C,EAAImjC,cAAc,YAC7B,IAAI4S,EAEF,WADAA,GAAKjzC,WAAWkP,aAAa6jC,EAAcE,EAG3C,IAAIC,GAAOh2C,EAAImjC,cAAc,OACzB6S,IACFA,EAAK5zC,YAAYyzC,MAY3B13C,SAASG,IAAIu0C,cAAgB,SAAUpxC,GACrC,IACE,MAAOA,GAAKw0C,WAAax0C,EAAKkC,mBAAmB,gBACjD,MAAMhD,GACN,GAAIc,EAAKw0C,UAAgC,aAApBx0C,EAAKkG,WACxB,OAAO,IAMb,SAAUxJ,GACRA,EAASG,IAAI2vC,WAAa,SAASxsC,GAEjC,QAASy0C,GAAahwC,GACpB,MAAsB,OAAfA,EAAE3E,SAOX,QAAS40C,GAA2BnyC,GAClC,MAAIkyC,GAAalyC,IACR,EAG8C,UAAnD7F,EAASG,IAAI6vC,SAAS,WAAWC,KAAKpqC,IACjC,GAGF,EAGT,OAOEuB,IAAK,SAASiK,GACZ,GAAIxP,GAAkByB,EAAKyC,cACzB6B,EAAkB5H,EAASG,IAAIqxC,QAAQluC,GAAMoU,MAAM66B,kBAAkB,IACrEppC,EAAkBnJ,EAASG,IAAIqxC,QAAQluC,GAAM8uC,MAAMG,kBAAkB,GAEnE3qC,KAAgBowC,EAA2BpwC,IAC7C5H,EAASG,IAAI+vC,OAAOruC,EAAIY,cAAc,OAAO0tC,MAAM7sC,GAEjD6F,IAAoB6uC,EAA2B7uC,IACjDnJ,EAASG,IAAI+vC,OAAOruC,EAAIY,cAAc,OAAO60C,OAAOh0C,IAQxD8C,OAAQ,SAASiL,GACf,GAAIzJ,GAAkB5H,EAASG,IAAIqxC,QAAQluC,GAAMoU,MAAM66B,kBAAkB,IACrEppC,EAAkBnJ,EAASG,IAAIqxC,QAAQluC,GAAM8uC,MAAMG,kBAAkB,GAErE3qC,IAAemwC,EAAanwC,IAC9BA,EAAYjD,WAAWC,YAAYgD,GAEjCuB,GAAmB4uC,EAAa5uC,IAClCA,EAAgBxE,WAAWC,YAAYuE,OAK9CnJ,UAOHA,SAASG,IAAI8pC,QAAU,SAASpkC,EAASoyC,EAAYvO,GACnDuO,EAAoC,gBAAjB,IAA6BA,GAAcA,CAO9D,KALA,GAAIC,GACAtS,EACAn+B,EAAU,EACVhD,EAAUwzC,EAAWxzC,OAEhBA,EAAFgD,EAAUA,IACfm+B,EAAYqS,EAAWxwC,GACnB5B,EAAQ4D,iBACV5D,EAAQ4D,iBAAiBm8B,EAAW8D,GAAS,IAE7CwO,EAAiB,SAASxuC,GAClB,UAAYA,KAChBA,EAAM6nC,OAAS7nC,EAAMyuC,YAEvBzuC,EAAM0uC,eAAiB1uC,EAAM0uC,gBAAkB,WAC7Cx3C,KAAK2K,aAAc,GAErB7B,EAAM2uC,gBAAkB3uC,EAAM2uC,iBAAmB,WAC/Cz3C,KAAK03C,cAAe,GAEtB5O,EAAQrgC,KAAKxD,EAAS6D,IAExB7D,EAAQ+L,YAAY,KAAOg0B,EAAWsS,GAI1C,QACE99B,KAAM,WAIJ,IAHA,GAAIwrB,GACAn+B,EAAU,EACVhD,EAAUwzC,EAAWxzC,OAChBA,EAAFgD,EAAUA,IACfm+B,EAAYqS,EAAWxwC,GACnB5B,EAAQ0D,oBACV1D,EAAQ0D,oBAAoBq8B,EAAW8D,GAAS,GAEhD7jC,EAAQ0yC,YAAY,KAAO3S,EAAWsS,MA2DhDl4C,SAASG,IAAIq4C,MAAQ,SAASC,EAAuBC,GA6BlD,QAASF,GAAMG,EAAe3qC,GAC7BhO,SAASM,KAAKqL,OAAOitC,GAAczO,MAAM0O,GAAc1O,MAAMn8B,EAAOypC,OAAO9wC,KAE3E,IAIId,GACAmO,EACAtP,EANAmH,EAAgBmC,EAAOnC,SAAW8sC,EAAc5yC,eAAiB/C,SACjEoT,EAAgBvK,EAAQwK,yBACxByiC,EAA0C,gBAApB,GACtBC,GAAiB,CAmBrB,KAdI/qC,EAAO+qC,kBAAmB,IAC5BA,GAAiB,GAIjBlzC,EADEizC,EACQ94C,SAASG,IAAIg0C,SAASwE,EAAe9sC,GAErC8sC,EAGRC,EAAaI,WACfC,EAAoBpzC,EAAS+yC,EAAaI,WAGrCnzC,EAAQnB,YACbA,EAAamB,EAAQnB,WACrBsP,EAAUklC,EAASx0C,EAAYsJ,EAAOmrC,QAASJ,EAAgB/qC,EAAOwhC,iBAClEx7B,GACFoC,EAASnS,YAAY+P,GAEnBtP,IAAesP,GACjBnO,EAAQjB,YAAYF,EAIxB,IAAIsJ,EAAOorC,YAGT,IAAK,GADDC,GAAWr5C,SAASG,IAAIuH,aAAa0O,GAChCrO,EAAIsxC,EAAS50C,OAAQsD,KAC5BsxC,EAAStxC,GAAGgB,UAAYswC,EAAStxC,GAAGgB,UAAUue,QAAQ,uBAAwB,MAUlF,OALAzhB,GAAQoQ,UAAY,GAGpBpQ,EAAQ5B,YAAYmS,GAEb0iC,EAAW94C,SAASI,OAAOk5C,oBAAoBzzC,GAAWA,EAGnE,QAASqzC,GAASK,EAASJ,EAASJ,EAAgBvJ,GAClD,GAKIp5B,GACApC,EACAwlC,EACAC,EARAC,EAAkBH,EAAQr2C,SAC1By2C,EAAkBJ,EAAQ/0C,WAC1Bo1C,EAAkBD,EAAUl1C,OAC5B4G,EAAkBwuC,EAAkBH,GACpCjyC,EAAkB,CAOtB,IAAI+nC,GAAmC,IAAhBkK,GAAqB15C,SAASG,IAAIstC,SAAS8L,EAAS/J,GACvE,MAAO+J,EAMX,IAHAvlC,EAAU3I,GAAUA,EAAOkuC,EAASR,IAG/B/kC,EAAS,CACV,GAAIA,KAAY,EAAO,CAInB,IAFAoC,EAAWmjC,EAAQxzC,cAAcsQ,yBAE5B5O,EAAImyC,EAAiBnyC,KACpBkyC,EAAUlyC,KACZ+xC,EAAWN,EAASS,EAAUlyC,GAAI0xC,EAASJ,EAAgBvJ,GACvDgK,IACEG,EAAUlyC,KAAO+xC,GACnB/xC,IAEF2O,EAASvC,aAAa2lC,EAAUpjC,EAAS1R,aAiC/C,OA5BA+0C,GAAcz5C,SAASG,IAAI6vC,SAAS,WAAWC,KAAKsJ,GAEhC,KAAhBE,IAEFA,EAAcz5C,SAASM,KAAKmoC,MAAMqR,GAAevyC,SAASgyC,EAAQvkC,SAAW,QAAU,IAErFhV,SAASM,KAAKmoC,OAAO,QAAS,OAAQ,UAAUlhC,SAASkyC,IAC3DrjC,EAASnS,YAAYs1C,EAAQxzC,cAActD,cAAc,OAIvDzC,SAASM,KAAKmoC,OACd,MAAO,MAAO,IACd,QAAS,KAAM,KACf,KAAM,KAAM,KACZ,KAAM,KACN,SAAU,SAAU,UACpB,KAAM,KAAM,KAAM,KAAM,KAAM,OAC/BlhC,SAASgyC,EAAQn2C,SAASyL,gBAAkB0qC,EAAQ50C,WAAWsd,YAAcs3B,IAEvEA,EAAQ3xC,aAAgD,IAAjC2xC,EAAQ3xC,YAAY1E,UAAmB,MAAQkI,KAAKmuC,EAAQ3xC,YAAYmB,YAClGqN,EAASnS,YAAYs1C,EAAQxzC,cAAcpD,eAAe,OAI5DyT,EAAS7R,WACX6R,EAAS7R,YAEJ6R,EAGT,MAAO,MAKb,IAAK3O,EAAE,EAAKmyC,EAAFnyC,EAAmBA,IACvBkyC,EAAUlyC,KACZ+xC,EAAWN,EAASS,EAAUlyC,GAAI0xC,EAASJ,EAAgBvJ,GACvDgK,IACEG,EAAUlyC,KAAO+xC,GACnB/xC,IAEFuM,EAAQ/P,YAAYu1C,IAM1B,IAAIL,GACAnlC,EAAQ5Q,SAASyL,gBAAkBkrC,KACjC/lC,EAAQxP,WAAWC,QACnB,UAAY2G,KAAK4I,EAAQiC,aAAe8iC,GAAyC,+BAAtBQ,EAAQtyC,WAAoE,2BAAtBsyC,EAAQtyC,aACzH+M,EAAQ8gC,WAAWrwC,QACnB,CAEJ,IADA2R,EAAWpC,EAAQjO,cAAcsQ,yBAC1BrC,EAAQtP,YACb0R,EAASnS,YAAY+P,EAAQtP,WAK/B,OAHI0R,GAAS7R,WACX6R,EAAS7R,YAEJ6R,EAMT,MAHIpC,GAAQzP,WACVyP,EAAQzP,YAEHyP,EAGT,QAASilC,GAAqBpzC,EAASm0C,GACrC,GAAInxB,GAAKxd,EAAQ4uC,CAEjB,KAAKpxB,IAAOmxB,GACV,GAAIA,EAAcjpC,eAAe8X,GAAM,CACjC7oB,SAASM,KAAKqL,OAAOquC,EAAcnxB,IAAM4hB,aAC3Cp/B,EAAS2uC,EAAcnxB,GACiB,gBAAxBmxB,GAAcnxB,IAAsBqxB,EAAuBF,EAAcnxB,MACzFxd,EAAS6uC,EAAuBF,EAAcnxB,KAEhDoxB,EAAMp0C,EAAQG,iBAAiB6iB,EAC/B,KAAK,GAAIphB,GAAIwyC,EAAIx1C,OAAQgD,KACvB4D,EAAO4uC,EAAIxyC,KAMnB,QAAS0yC,GAAeZ,EAASR,GAC/B,GAAIqB,GACApmC,EAIAqmC,EAHAC,EAAc1B,EAAa2B,KAC3Bn3C,EAAcm2C,EAAQn2C,SAASyL,cAC/B2rC,EAAcjB,EAAQiB,SAO1B,IAAIjB,EAAQkB,UACV,MAAO,KAIT,IAFAlB,EAAQkB,UAAY,EAEM,kBAAtBlB,EAAQtyC,UACV,MAAO,KAyBT,IAhBIuzC,GAA0B,QAAbA,IACfp3C,EAAWo3C,EAAY,IAAMp3C,GAO3B,aAAem2C,KACZv5C,SAASyjC,QAAQyD,0BACG,MAArBqS,EAAQn2C,UACsC,SAA9Cm2C,EAAQ3E,UAAUrjC,MAAM,IAAI1C,gBAC9BzL,EAAW,QAIXA,IAAYk3C,GAAU,CAExB,GADAF,EAAOE,EAASl3C,IACXg3C,GAAQA,EAAKh0C,OAChB,MAAO,KACF,IAAIg0C,EAAKM,OACd,OAAO,CAETN,GAAwB,gBAAX,IAAwBO,WAAYP,GAASA,MACrD,CAAA,IAAIb,EAAQ70C,WAIjB,MAAO,KAHP01C,IAASO,WAAYZ,GAOvB,GAAIK,EAAKQ,cAAgBC,EAAWtB,EAASX,EAAcwB,EAAKQ,YAAa7B,GAAiB,CAC5F,IAAIqB,EAAKU,cASP,MAAO,KARP,IAA2B,WAAvBV,EAAKU,cACP,OAAO,CACF,IAA2B,WAAvBV,EAAKU,cAGd,MAAO,KAFPT,GAAYD,EAAKW,yBAA2BhB,EAgBlD,MAPA/lC,GAAUulC,EAAQxzC,cAActD,cAAc43C,GAAaD,EAAKO,YAAcv3C,GAC9E43C,EAAkBzB,EAASvlC,EAASomC,EAAMrB,GAC1CkC,EAAc1B,EAASvlC,EAASomC,GAEhCb,EAAU,KAENvlC,EAAQzP,WAAayP,EAAQzP,YAC1ByP,EAGT,QAAS6mC,GAAWtB,EAAS9B,EAAOnF,EAAOyG,GACzC,GAAImC,GAAY73C,CAGhB,IAAyB,SAArBk2C,EAAQn2C,WAAwB21C,IAAyC,+BAAtBQ,EAAQtyC,WAAoE,2BAAtBsyC,EAAQtyC,WACnH,OAAO,CAGT,KAAK5D,IAAQivC,GACX,GAAIA,EAAMvhC,eAAe1N,IAASo0C,EAAM0D,kBAAoB1D,EAAM0D,iBAAiB93C,KACjF63C,EAAazD,EAAM0D,iBAAiB93C,GAChC+3C,EAAU7B,EAAS2B,IACrB,OAAO,CAIb,QAAO,EAaT,QAASE,GAAU7B,EAAS2B,GAE1B,GAEIG,GAAep5C,EAAgBiyC,EAAGL,EAAoByH,EAFtDC,EAAchC,EAAQxS,aAAa,SACnCyU,EAAcjC,EAAQxS,aAAa,QAIvC,IAAImU,EAAWp5C,QACb,IAAK,GAAI25C,KAAKP,GAAWp5C,QACvB,GAAIo5C,EAAWp5C,QAAQiP,eAAe0qC,IAAMC,EAAgBD,IAEtDC,EAAgBD,GAAGlC,GACrB,OAAO,CAOf,IAAIgC,GAAeL,EAAWn0C,QAAS,CACrCw0C,EAAcA,EAAYj0B,QAAQ,QAAS,IAAIA,QAAQ,QAAS,IAAIpgB,MAAMy0C,GAC1EN,EAAgBE,EAAY92C,MAC5B,KAAK,GAAIgD,GAAI,EAAO4zC,EAAJ5zC,EAAmBA,IACjC,GAAIyzC,EAAWn0C,QAAQw0C,EAAY9zC,IACjC,OAAO,EAMb,GAAI+zC,GAAcN,EAAWzH,OAAQ,CAEnC+H,EAAaA,EAAWt0C,MAAM,IAC9B,KAAKjF,IAAKi5C,GAAWzH,OACnB,GAAIyH,EAAWzH,OAAO1iC,eAAe9O,GACnC,IAAK,GAAI25C,GAAKJ,EAAW/2C,OAAQm3C,KAG/B,GAFAN,EAAYE,EAAWI,GAAI10C,MAAM,KAE7Bo0C,EAAU,GAAGh0B,QAAQ,MAAO,IAAIzY,gBAAkB5M,IAChDi5C,EAAWzH,OAAOxxC,MAAO,GAAiC,IAAzBi5C,EAAWzH,OAAOxxC,IAAYjC,SAASM,KAAKmoC,MAAMyS,EAAWzH,OAAOxxC,IAAIsF,SAAS+zC,EAAU,GAAGh0B,QAAQ,MAAO,IAAIzY,gBACpJ,OAAO,EASnB,GAAIqsC,EAAWW,MACX,IAAK3H,IAAKgH,GAAWW,MACjB,GAAIX,EAAWW,MAAM9qC,eAAemjC,KAChCL,EAAO7zC,SAASG,IAAI4mC,aAAawS,EAASrF,GACrB,gBAAX,IACFL,EAAKnI,OAAOwP,EAAWW,MAAM3H,IAAM,IACnC,OAAO,CAM3B,QAAO,EAGT,QAAS+G,GAAc1B,EAASvlC,EAASomC,GACvC,GAAIn4C,GAAG65C,CACP,IAAG1B,GAAQA,EAAK2B,YACd,IAAK95C,IAAKm4C,GAAK2B,YACb,GAAI3B,EAAK2B,YAAYhrC,eAAe9O,GAAI,CAGtC,GAFA65C,EAAW,UAAN75C,EAAiBs3C,EAAQppB,MAAM6rB,YAAczC,EAAQppB,MAAM8rB,SAAW1C,EAAQppB,MAAMluB,GAErFm4C,EAAK2B,YAAY95C,YAAc6Y,UAAYs/B,EAAK2B,YAAY95C,GAAGmJ,KAAK0wC,GACtE,QAEQ,WAAN75C,EAEF+R,EAAQmc,MAAOopB,EAAQppB,MAAgB,WAAI,aAAc,YAAc2rB,EAC7DvC,EAAQppB,MAAMluB,KACvB+R,EAAQmc,MAAMluB,GAAK65C,IAO9B,QAASI,GAA4BC,EAAWrH,GAC9C,GAAIsH,KACJ,KAAK,GAAIvI,KAAQiB,GACXA,EAAW/jC,eAAe8iC,IAAqC,IAA5BA,EAAK1wC,QAAQg5C,IAClDC,EAAiBv7C,KAAKgzC,EAG1B,OAAOuI,GAGT,QAASC,GAAgB7H,EAAeP,EAAgBl/B,EAAY3R,GAClE,GACIk5C,GADAjxC,EAASrL,SAASM,KAAKqL,OAAOoJ,GAAY01B,aAAe11B,EAAawnC,EAAsBxnC,EAGhG,OAAI1J,KACFixC,EAAoBjxC,EAAO4oC,EAAgB7wC,GACT,gBAAxB,IACDk5C,GAIJ,EAGT,QAASE,GAAiBjD,EAASkD,GACjC,GAIIjI,GAAekI,EAAUC,EAJzBC,EAAoB58C,SAASM,KAAKqL,OAAOitC,EAAa9D,gBAAkBjzB,QACxEg7B,EAAoB78C,SAASM,KAAKqL,OAAOixC,GAAkBzS,MAAOnqC,SAASM,KAAKqL,OAAO8wC,OAAwB56B,SAASlb,MACxHmuC,KACAgI,EAAoB98C,SAASG,IAAI2zC,cAAcyF,EAGnD,KAAK/E,IAAiBqI,GACpB,GAAI,MAAQzxC,KAAKopC,GAAgB,CAE/BmI,EAAqBT,EAA4B1H,EAAcjjC,MAAM,EAAE,IAAKurC,EAC5E,KAAK,GAAIr1C,GAAI,EAAGs1C,EAAOJ,EAAmBl4C,OAAYs4C,EAAJt1C,EAAUA,IAE1Di1C,EAAWL,EAAgBM,EAAmBl1C,GAAIq1C,EAAcH,EAAmBl1C,IAAKo1C,EAAgBrI,GAAgB+E,EAAQn2C,UAC5Hs5C,KAAa,IACf5H,EAAW6H,EAAmBl1C,IAAMi1C,OAIxCA,GAAWL,EAAgB7H,EAAesI,EAActI,GAAgBqI,EAAgBrI,GAAgB+E,EAAQn2C,UAC5Gs5C,KAAa,IACf5H,EAAWN,GAAiBkI,EAKlC,OAAO5H,GAIT,QAASkG,GAAkBzB,EAASvlC,EAASomC,EAAMrB,GACjD,GAWIsC,GAEA2B,EACAC,EACAzI,EACAnpC,EAhBAypC,KACAoI,EAAsB9C,EAAK+C,UAC3B5P,EAAsB6M,EAAKgD,UAC3BC,EAAsBjD,EAAKkD,UAC3BC,EAAsBnD,EAAKoD,eAC3BC,EAAsB7E,EAAa7xC,QACnCU,EAAsB,EACtBV,KACA0sC,KACAiK,KACAC,IAmBJ,IAXIJ,IACFzI,EAAa90C,SAASM,KAAKqL,OAAO4xC,GAAe17B,SAInDizB,EAAa90C,SAASM,KAAKqL,OAAOmpC,GAAY3K,MAAMqS,EAAiBjD,EAAUa,EAAKwD,mBAAmBj3C,MAEnGu2C,GACFn2C,EAAQlG,KAAKq8C,GAGX3P,EACF,IAAKiH,IAAiBjH,GACpBliC,EAASwyC,EAAgBtQ,EAASiH,IAC7BnpC,IAGL4xC,EAAW5xC,EAAOrL,SAASG,IAAI4mC,aAAawS,EAAS/E,IAC5B,gBAAf,IACRztC,EAAQlG,KAAKo8C,GAKnB,IAAII,EACF,IAAK7I,IAAiB6I,GACpBhyC,EAASyyC,EAAgBT,EAAS7I,IAC7BnpC,IAIL0yC,SAAW1yC,EAAOrL,SAASG,IAAI4mC,aAAawS,EAAS/E,IAC5B,gBAAf,WACRf,EAAO5yC,KAAKk9C,UAMlB,IAA+B,gBAArB,IAAoD,QAAnBN,EACzC,GAAIlE,EAAQxS,aAAa,SACvB,GAAI6R,EAAaoF,kBAAmB,CAOlC,IANAL,EAAapE,EAAQxS,aAAa,SAC9B4W,IACF52C,EAAUA,EAAQc,OAAO81C,EAAWz2C,MAAMy0C,KAG5CN,EAAgBt0C,EAAQtC,OACf42C,EAAF5zC,EAAiBA,IACtBu1C,EAAej2C,EAAQU,GAClBmxC,EAAaoF,kBAAkBhB,IAClCU,EAAW78C,KAAKm8C,EAIhBU,GAAWj5C,SACbqwC,EAAW,SAAW90C,SAASM,KAAKmoC,MAAMiV,GAAYtU,SAASjiC,KAAK,UAItE2tC,GAAW,SAAWyE,EAAQxS,aAAa,aAG1ChgC,IAAWA,EAAQtC,OAAS,IAC7BqwC,EAAW,SAAW90C,SAASM,KAAKmoC,MAAM1hC,GAASqiC,SAASjiC,KAAK,UAGhE,CAcL,IAZK4xC,IACH0E,EAAe,8BAAgC,EAC/CA,EAAwC,wBAAI,EAC5CA,EAAe,6BAA+B,GAIhDE,EAAapE,EAAQxS,aAAa,SAC9B4W,IACF52C,EAAUA,EAAQc,OAAO81C,EAAWz2C,MAAMy0C,KAE5CN,EAAgBt0C,EAAQtC,OACf42C,EAAF5zC,EAAiBA,IACtBu1C,EAAej2C,EAAQU,GACnBg2C,EAAeT,IACjBU,EAAW78C,KAAKm8C,EAIhBU,GAAWj5C,SACbqwC,EAAW,SAAW90C,SAASM,KAAKmoC,MAAMiV,GAAYtU,SAASjiC,KAAK,MAKpE2tC,EAAW,UAAYiE,IACzBjE,EAAW,SAAWA,EAAW,SAASxtB,QAAQ,4BAA6B,IAC3E,SAAWlc,KAAK0pC,EAAW,iBACtBA,GAAW,UAIlBrB,EAAOhvC,SACTqwC,EAAkB,MAAI90C,SAASM,KAAKmoC,MAAMgL,GAAQrK,SAASjiC,KAAK,KAIlE,KAAKqtC,IAAiBM,GAIpB,IACE9gC,EAAQhQ,aAAawwC,EAAeM,EAAWN,IAC/C,MAAMhyC,IAKNsyC,EAAWH,MACoB,mBAAtBG,GAAgB,OACzB9gC,EAAQhQ,aAAa,QAAS8wC,EAAWa,OAET,mBAAvBb,GAAiB,QAC1B9gC,EAAQhQ,aAAa,SAAU8wC,EAAWc,SAKhD,QAASqI,GAAY1E,GACnB,GAAI3xC,GAAc2xC,EAAQ3xC,WAC1B,KAAIA,GAAeA,EAAY1E,WAAalD,SAASoB,UAG9C,CAEL,GAAI0U,GAAOyjC,EAAQzjC,KAAKwR,QAAQtnB,SAASe,wBAAyB,GAClE,OAAOw4C,GAAQxzC,cAAcpD,eAAemT,GAJ5ClO,EAAYkO,KAAOyjC,EAAQzjC,KAAKwR,QAAQtnB,SAASe,wBAAyB,IAAM6G,EAAYkO,KAAKwR,QAAQtnB,SAASe,wBAAyB,IAQ/I,QAASm9C,GAAe3E,GACtB,MAAIX,GAAauF,SACR5E,EAAQxzC,cAAcq4C,cAAc7E,EAAQxwC,WADrD,OA9lBF,GAAI8wC,IACEwE,EAAKlE,EACLmE,EAAKL,EACLM,EAAKL,GAGPnE,EAAsB,OACtB4B,EAAsB,MACtB9C,GAAwB0B,QAAUxzC,YAClC6xC,KACAkB,GAAuB,UAAW,aAAc,SAAU,MAAO,MAAO,KAAM,WACvD,OAAQ,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,UAAW,OACvD,WAAY,WAAY,KAAM,IAAK,MAAM,QAAS,MAwlBzEyC,GACFlQ,IAAK,WACH,GAAImS,GAAU,eACd,OAAO,UAASvK,GACd,MAAKA,IAAmBA,EAAennB,MAAM0xB,GAGtCvK,EAAe3sB,QAAQk3B,EAAS,SAAS1xB,GAC9C,MAAOA,GAAMje,gBAHN,SAQb8lC,IAAK,WACH,GAAI6J,GAAU,oBACd,OAAO,UAASvK,GACd,MAAKA,IAAmBA,EAAennB,MAAM0xB,GAGtCvK,EAAe3sB,QAAQk3B,EAAS,SAAS1xB,GAC9C,MAAOA,GAAMje,gBAHN,SAQb4vC,KAAM,WACJ,GAAID,GAAU,mCACd,OAAO,UAASvK,GACd,MAAKA,IAAmBA,EAAennB,MAAM0xB,GAGtCvK,EAAe3sB,QAAQk3B,EAAS,SAAS1xB,GAC9C,MAAOA,GAAMje,gBAHN,SAQb6vC,IAAK,WACH,GAAIF,GAAU,iBACd,OAAO,UAASvK,EAAgB7wC,GAC9B,MAAK6wC,GAOEA,EAAe3sB,QAAQk3B,EAAS,IANpB,QAAbp7C,EACK,GAEA,SAQfu7C,QAAS,WACP,GAAIH,GAAU,KACd,OAAO,UAASvK,GAEd,MADAA,IAAkBA,GAAkB,IAAI3sB,QAAQk3B,EAAS,IAClDvK,GAAkB,SAK7B2K,UAAW,WACT,GAAIJ,GAAU,4BACd,OAAO,UAASvK,GAEd,MADAA,IAAkBA,GAAkB,IAAI3sB,QAAQk3B,EAAS,UAClDvK,GAAkB,SAI7B4K,IAAK,WACH,MAAO,UAAS5K,GACd,MAAKA,GAGEA,EAFE,UAQX6J,GACFgB,WAAY,WACV,GAAIC,IACF/I,KAAU,oBACVgJ,MAAU,qBACVC,OAAU,sBAEZ,OAAO,UAAShL,GACd,MAAO8K,GAAQjzC,OAAOmoC,GAAgBplC,oBAMxCgvC,GACFqB,UAAW,WACT,GAAIH,IACF/I,KAAQ,qBACRgJ,MAAQ,sBAEV,OAAO,UAAS/K,GACd,MAAO8K,GAAQjzC,OAAOmoC,GAAgBplC,mBAI1CiwC,WAAY,WACV,GAAIC,IACF/I,KAAU,0BACVgJ,MAAU,2BACVC,OAAU,4BACVE,QAAU,6BAEZ,OAAO,UAASlL,GACd,MAAO8K,GAAQjzC,OAAOmoC,GAAgBplC,mBAI1CuwC,SAAU,WACR,GAAIL,IACF/I,KAAQ,qBACRgJ,MAAQ,sBACRK,KAAQ,qBACR13C,IAAQ,qBAEV,OAAO,UAASssC,GACd,MAAO8K,GAAQjzC,OAAOmoC,GAAgBplC,mBAI1CywC,UAAW,WACT,GAAIP,IACFV,EAAK,6BACLkB,EAAK,0BACLjB,EAAK,2BACLkB,EAAK,0BACLC,EAAK,4BACLC,EAAK,6BACLC,EAAK,6BACLC,IAAK,4BACLC,IAAK,2BAEP,OAAO,UAAS5L,GACd,MAAO8K,GAAQjzC,OAAOmoC,GAAgB1U,OAAO,SAM/Cmc,GACFoE,mBAAoB,WAClB,GAAIC,GAEAC,GAAmB,MAAO,QAAS,UAAW,KAAM,SAAU,WAC3C,QAAS,QAAS,SAAU,SAAU,QAAS,QAC/C,MAAO,QAAS,SAAU,SAAS,WAAY,SAEtE,OAAO,UAAS1uC,GAId,GADAyuC,GAAOzuC,EAAG8xB,WAAa9xB,EAAGulC,aAAavvB,QAAQ,MAAO,IAClDy4B,GAAOA,EAAIt7C,OAAS,EACtB,OAAO,CAIT,KAAK,GAAIgD,GAAIu4C,EAAgBv7C,OAAQgD,KACnC,GAAI6J,EAAG0zB,cAAcgb,EAAgBv4C,IACnC,OAAO,CAKX,OAAI6J,GAAG0/B,aAAe1/B,EAAG0/B,YAAc,GAAK1/B,EAAG2uC,cAAgB3uC,EAAG2uC,aAAe,GACxE,GAGF,OAKT/F,GACFQ,OAAQ,SAAU70C,GAChB7F,SAASG,IAAIu6C,OAAO70C,IAGtBO,OAAQ,SAAUP,GAChBA,EAAQlB,WAAWC,YAAYiB,IAInC,OAAO2yC,GAAMC,EAAuBC,IAItC14C,SAASG,IAAIgyC,MAAQ,SAASrsC,EAAUqsC,GACpC,GACI+N,GADAh+C,IAGA4D,GAAS5C,WACT4C,GAAYA,GAGhB,KAAK,GAAItD,GAAI,EAAG6M,EAAMvJ,EAASrB,OAAY4K,EAAJ7M,EAASA,IAE5C,GADA09C,EAAIp6C,EAAStD,GAAGwD,iBAAiBmsC,GAE7B,IAAI,GAAI1qC,GAAIy4C,EAAEz7C,OAAQgD,IAAKvF,EAAIkyB,QAAQ8rB,EAAEz4C,KAGjD,MAAOvF,IAUXlC,SAASG,IAAIggD,qBAAuB,SAAS78C,GAM3C,IALA,GAAImsC,GACAjrC,EAAoBxE,SAASM,KAAKmoC,MAAMnlC,EAAKkB,YAAYmC,MACzDwmC,EAAoB3oC,EAAWC,OAC/BgD,EAAoB,EAEf0lC,EAAF1lC,EAAoBA,IACzBgoC,EAAYjrC,EAAWiD,GACnBgoC,EAAUvsC,WAAalD,SAASoB,WAAa,YAAcgK,KAAKqkC,EAAU35B,OAC5E25B,EAAU9qC,WAAWC,YAAY6qC,IAKvCzvC,SAASG,IAAIigD,sBAAwB,SAAS98C,GAE5C,IAAK,GADD+f,GAAYrjB,SAASG,IAAIuH,aAAapE,GACjCyE,EAAIsb,EAAU5e,OAAQsD,KAC7Bsb,EAAUtb,GAAGgB,UAAYsa,EAAUtb,GAAGgB,UAAUue,QAAQtnB,SAASe,wBAAyB,KA6B9Ff,SAASG,IAAIkgD,cAAgB,SAASx6C,EAASy6C,GAG7C,IAFA,GACI57C,GADA67C,EAAa16C,EAAQE,cAActD,cAAc69C,GAE9C57C,EAAamB,EAAQnB,YAC1B67C,EAAWt8C,YAAYS,EAQzB,OANA1E,UAASG,IAAIkwC,gBAAgB,QAAS,cAAcJ,KAAKpqC,GAAS2qC,GAAG+P,GAEjE16C,EAAQlB,YACVkB,EAAQlB,WAAWyrC,aAAamQ,EAAY16C,GAGvC06C,GAgBTvgD,SAASG,IAAIqgD,sBAAwB,SAASl9C,GAC5C,GAAKA,EAAKqB,WAAV,CAIA,KAAOrB,EAAKoB,YACVpB,EAAKqB,WAAWkP,aAAavQ,EAAKoB,WAAYpB,EAEhDA,GAAKqB,WAAWC,YAAYtB,KAyB9B,SAAUnD,GACR,QAASsgD,GAAgBn9C,GACvB,MAA8C,UAAvCnD,EAAI6vC,SAAS,WAAWC,KAAK3sC,GAGtC,QAASy0C,GAAaz0C,GACpB,MAAyB,OAAlBA,EAAKF,SAGd,QAASs9C,GAAiB76C,GACxB,GAAI6pC,GAAY7pC,EAAQE,cAActD,cAAc,KACpDoD,GAAQ5B,YAAYyrC,GAGtB,QAASiR,GAAYvR,EAAMwR,GACzB,GAAKxR,EAAKhsC,SAAS0pB,MAAM,kBAAzB,CAIA,GAIIpoB,GACAud,EACA4+B,EACAC,EACAC,EACA1R,EAEA2R,EAXAn/C,EAAkButC,EAAKrpC,cACvBqQ,EAAkBvU,EAAIwU,yBACtBlN,EAAkBnJ,SAASG,IAAIqxC,QAAQpC,GAAMgD,MAAMG,kBAAkB,IACrE3qC,EAAc5H,SAASG,IAAIqxC,QAAQpC,GAAM13B,MAAM66B,kBAAkB,IAOjE0O,EAAe7R,EAAK8R,kBAAoB9R,EAAKntB,SAGjD,IAAI2+B,EAMF,KAJIz3C,GAAoBs3C,EAAgBt3C,IAAqB4uC,EAAa5uC,IACxEu3C,EAAiBtqC,GAGZi5B,EAAYD,EAAK+R,mBAAqB/R,EAAK1qC,YAAa,CAG7D,IAFAud,EAAYotB,EAASptB,UACrB++B,EAAa3R,IAAa4R,EACnBv8C,EAAa2qC,EAAS3qC,YAC3Bm8C,EAAwBn8C,IAAeud,EAEvC6+B,IAA0BE,GAAep5C,IAAgB64C,EAAgB74C,KAAkBi5C,IAAgBJ,EAAgB/7C,KAAgBqzC,EAAarzC,GACxJ0R,EAASnS,YAAYS,GACjBo8C,GACFJ,EAAiBtqC,EAIrBi5B,GAAS1qC,WAAWC,YAAYyqC,OAGlC,MAAOA,EAAYD,EAAK+R,mBAAqB/R,EAAK1qC,YAAa,CAC7D,GAAI2qC,EAASrK,eAAiBqK,EAASrK,cAAc,4DACnD,KAAOtgC,EAAa2qC,EAAS3qC,YAC3B0R,EAASnS,YAAYS,OAElB,CAEL,IADAq8C,EAAYl/C,EAAIY,cAAc,KACvBiC,EAAa2qC,EAAS3qC,YAC3Bq8C,EAAU98C,YAAYS,EAExB0R,GAASnS,YAAY88C,GAEvB1R,EAAS1qC,WAAWC,YAAYyqC,GAIpCD,EAAKzqC,WAAWyrC,aAAah6B,EAAUg5B,IAGzCjvC,EAAIwgD,YAAcA,GACjB3gD,SAASG,KAwBZ,SAAUH,GACR,GAGI6B,GAAsBmB,SAItBo+C,GACE,SAAU,MAAO,SAAU,eAAgB,SAC3C,eAAgB,gBAAiB,iBAAkB,aAKrDC,GACE,OAAQ,QAAS,aAAc,kBAC/B,QAAS,UAAW,SACpB,eAAgB,cAChB,iBAAkB,kBAKpBC,GACE,WACA,QAAS,OAAQ,QAGvBthD,GAASG,IAAIohD,QAAUr3C,KAAKC,QAG1BM,YAAa,SAAS6jC,EAAetgC,GACnCpN,KAAKqoC,SAAWqF,GAAiBtuC,EAASkB,eAC1CN,KAAKoN,OAAWhO,EAASM,KAAKqL,WAAWw+B,MAAMn8B,GAAQrH,MAClD/F,KAAKoN,OAAO/G,YACfrG,KAAKoN,OAAO/G,UAAY,oBAE1BrG,KAAK4gD,aAAiB5gD,KAAK6gD,iBAG7BC,WAAY,SAAS77C,GACK,gBAAd,KACRA,EAAUhE,EAAI8tB,eAAe9pB,IAG/BA,EAAQ5B,YAAYrD,KAAK4gD,eAG3BG,UAAW,WACT,MAAO/gD,MAAK4gD,cAGdltC,UAAW,WACT1T,KAAKghD,eAGPvtC,YAAa,WACXzT,KAAKghD,eAGPnT,QAAS,WACP,GAAIoT,GAASjhD,KAAK+gD,WAClBE,GAAOl9C,WAAWC,YAAYi9C,IAGhCD,YAAa,WACX,KAAM,IAAI1vC,OAAM,sDAsBlBuvC,cAAe,WACb,GAAI7S,GAAShuC,KACTihD,EAAShgD,EAAIY,cAAc,SA6B/B,OA5BAo/C,GAAO56C,UAAYrG,KAAKoN,OAAO/G,UAC/BjH,EAASG,IAAIo9C,eACXuE,SAAsB,aACtBC,kBAAsB,OACtBC,YAAsB,EACtBrM,MAAsB,EACtBC,OAAsB,EACtBqM,YAAsB,EACtBC,aAAsB,IACrBzY,GAAGoY,GAGF7hD,EAASyjC,QAAQ8B,kDACnBsc,EAAOlN,IAAM,8BAGfkN,EAAOM,OAAS,WACdN,EAAOO,mBAAqBP,EAAOM,OAAS,KAC5CvT,EAAKyT,cAAcR,IAGrBA,EAAOO,mBAAqB,WACtB,kBAAkBh3C,KAAKy2C,EAAOr4C,cAChCq4C,EAAOO,mBAAqBP,EAAOM,OAAS,KAC5CvT,EAAKyT,cAAcR,KAIhBA,GAMTQ,cAAe,SAASR,GAEtB,GAAK7hD,EAASG,IAAIoH,SAAS1F,EAAI0E,gBAAiBs7C,GAAhD,CAIA,GAAIjT,GAAiBhuC,KACjB0hD,EAAiBT,EAAOltC,cACxB4tC,EAAiBV,EAAOltC,cAAc3R,SACtCw/C,EAAiB3gD,EAAI4gD,cAAgB5gD,EAAI2gD,SAAW,QACpDE,EAAiB9hD,KAAKkuC,UACpB0T,QAAcA,EACdG,YAAc/hD,KAAKoN,OAAO20C,aAkBhC,IAdAJ,EAAeK,KAAK,YAAa,WACjCL,EAAeM,MAAMH,GACrBH,EAAeO,QAEfliD,KAAK0T,UAAY,WAAa,MAAOutC,GAAOltC,eAC5C/T,KAAKyT,YAAc,WAAa,MAAOwtC,GAAOltC,cAAc3R,UAK5Ds/C,EAAaS,QAAU,SAAS9zC,EAAc+zC,EAAUC,GACtD,KAAM,IAAI/wC,OAAM,qBAAuBjD,EAAc+zC,EAAUC,KAG5DjjD,EAASyjC,QAAQ6B,2BAA4B,CAOhD,GAAI79B,GAAGhD,CACP,KAAKgD,EAAE,EAAGhD,EAAO28C,EAAiB38C,OAAUA,EAAFgD,EAAUA,IAClD7G,KAAKsiD,OAAOZ,EAAclB,EAAiB35C,GAE7C,KAAKA,EAAE,EAAGhD,EAAO48C,EAAkB58C,OAAUA,EAAFgD,EAAUA,IACnD7G,KAAKsiD,OAAOZ,EAAcjB,EAAkB55C,GAAIzH,EAASkB,eAE3D,KAAKuG,EAAE,EAAGhD,EAAO68C,EAAmB78C,OAAUA,EAAFgD,EAAUA,IACpD7G,KAAKsiD,OAAOX,EAAgBjB,EAAmB75C,GAIjD7G,MAAKsiD,OAAOX,EAAgB,SAAU,IAAI,GAGxCviD,EAAS2B,WACX3B,EAAS2B,UAAU2gD,EAAcC,GAAgBv9C,QAGnDpE,KAAKmuC,QAAS,EAGdC,WAAW,WAAaJ,EAAK3F,SAAS2F,IAAU,KAGlDE,SAAU,SAASG,GACjB,GAGIxqC,GAHAk+C,EAAc1T,EAAa0T,YAC3BpsC,EAAc,GACd9O,EAAc,CAGlB,IADAk7C,EAAsC,gBAAlB,IAA8BA,GAAeA,EAG/D,IADAl+C,EAASk+C,EAAYl+C,OACZA,EAAFgD,EAAUA,IACf8O,GAAQ,gCAAkCosC,EAAYl7C,GAAK,IAK/D,OAFAwnC,GAAa0T,YAAcpsC,EAEpBvW,EAASM,KAAK+qC,OACnB,mGAGAE,YAAY0D,IAShBiU,OAAQ,SAASv3C,EAAQq1B,EAAUl6B,EAAOq8C,GACxC,IAAMx3C,EAAOq1B,GAAYl6B,EAAS,MAAMtE,IAExC,IAAMmJ,EAAOy3C,iBAAiBpiB,EAAU,WAAa,MAAOl6B,KAAa,MAAMtE,IAC/E,GAAI2gD,EACF,IAAMx3C,EAAO03C,iBAAiBriB,EAAU,cAAkB,MAAMx+B,IAGlE,IAAKxC,EAASyjC,QAAQkE,0BAA0B3G,GAC9C,IACE,GAAIhzB,IACFrH,IAAK,WAAa,MAAOG,IAEvBq8C,KACFn1C,EAAOgvB,IAAM,cAEfx2B,OAAOC,eAAekF,EAAQq1B,EAAUhzB,GACxC,MAAMxL,SAIbxC,UAEH,WACE,GAAI++C,IACF93C,UAAa,QAEfjH,UAASG,IAAIo9C,cAAgB,SAASzI,GACpC,OACErL,GAAI,SAAS5jC,GACX,IAAK,GAAI4B,KAAKqtC,GACZjvC,EAAQ7B,aAAa+6C,EAAQt3C,IAAMA,EAAGqtC,EAAWrtC,UAO3DzH,SAASG,IAAIkxC,UAAY,SAASoC,GAChC,OACEhK,GAAI,SAAS5jC,GACX,GAAIsqB,GAAQtqB,EAAQsqB,KACpB,IAAuB,gBAAb,GAER,YADAA,EAAMghB,SAAW,IAAMsC,EAGzB,KAAK,GAAIhsC,KAAKgsC,GACF,UAANhsC,GACF0oB,EAAM8rB,SAAWxI,EAAOhsC,GACxB0oB,EAAM6rB,WAAavI,EAAOhsC,IAE1B0oB,EAAM1oB,GAAKgsC,EAAOhsC,MAqB5B,SAAUtH,GACRA,EAAImjD,oBAAsB,SAASC,EAAQC,EAAMC,EAAiBC,GAChE,GAAIC,GAAaD,GAAwB,uBACrCE,EAAQ,WACN,GAAIC,GAAsBL,EAAK39C,QAAQmrC,YAAc,GAAKwS,EAAK39C,QAAQo6C,aAAe,CAClFuD,GAAKM,sBACPN,EAAKO,QACLP,EAAK39C,QAAQf,QACT++C,GACF7U,WAAW,WACT,GAAInmB,GAAM26B,EAAKjjD,UAAUoD,cACpBklB,GAAI/kB,WAAc+kB,EAAIjlB,YACzB4/C,EAAKjjD,UAAUgf,WAAWikC,EAAK39C,QAAQnB,YAAc8+C,EAAK39C,UAE3D,IAGP29C,EAAKQ,gBAAiB,EACtB7jD,EAAIutC,YAAY8V,EAAK39C,QAAS89C,IAEhC3mB,EAAM,WACAwmB,EAAK7Y,YAAc6Y,EAAKQ,iBAC1BR,EAAKQ,gBAAiB,EACtBR,EAAKS,SAASR,GAAiB,GAC/BtjD,EAAIotC,SAASiW,EAAK39C,QAAS89C,IAInCJ,GACG9Z,GAAG,kBAAmBzM,GACtByM,GAAG,oBAAqBma,GACxBna,GAAG,iBAAkBma,GACrBna,GAAG,iBAAkBma,GACrBna,GAAG,gBAAiBzM,GAEvBA,MAEDh9B,SAASG,KAEZ,SAAUA,GACR,GAAIoG,GAAkBvD,SAASuD,eAC3B,gBAAiBA,IACnBpG,EAAI+jD,eAAiB,SAASr+C,EAASwhB,GACrCxhB,EAAQgxC,YAAcxvB,GAGxBlnB,EAAI8xC,eAAiB,SAASpsC,GAC5B,MAAOA,GAAQgxC,cAER,aAAetwC,IACxBpG,EAAI+jD,eAAiB,SAASr+C,EAASwhB,GACrCxhB,EAAQu9B,UAAY/b,GAGtBlnB,EAAI8xC,eAAiB,SAASpsC,GAC5B,MAAOA,GAAQu9B,aAGjBjjC,EAAI+jD,eAAiB,SAASr+C,EAASwhB,GACrCxhB,EAAQkD,UAAYse,GAGtBlnB,EAAI8xC,eAAiB,SAASpsC,GAC5B,MAAOA,GAAQkD,aAGlB/I,SAASG,KAQZH,SAASG,IAAIu6C,OAAS,SAASp3C,GAC7B,GAAI6gD,KACJ,IAAI7gD,EAAKqB,WAAY,CACnB,KAAOrB,EAAK2e,WACVkiC,EAAS/vB,QAAQ9wB,EAAK2e,WACtBjiB,SAASG,IAAI+vC,OAAO5sC,EAAK2e,WAAWkuB,MAAM7sC,EAE5CA,GAAKqB,WAAWC,YAAYtB,GAE9B,MAAO6gD,IASTnkD,SAASI,OAAOgkD,gBAAkB,WAEhC,GAAIC,GAAe,SAAUC,GAC3B,GAAIC,GAAavkD,SAASM,KAAK+qC,OAAOiZ,GAAUpoB,OAC5CsoB,EAAaD,EAAWj9B,QAAQ,sCAAuC,OAE3E,OAAO,IAAIxM,QAAO,SAAW0pC,EAAa,SAAU,MAGlDC,EAAiC,SAAUhN,EAAOiN,GACpD,GACIC,GAAKx0B,EADLy0B,EAAW5kD,SAASM,KAAKqL,OAAO8rC,GAAO51B,OAAM,EAGjD,KAAK8iC,IAAOC,GAASrK,KAEnB,GAAIqK,EAASrK,KAAKxpC,eAAe4zC,IAC3BC,EAASrK,KAAKoK,GAAK5I,YACrB,IAAK5rB,IAASy0B,GAASrK,KAAKoK,GAAK5I,YAC3B6I,EAASrK,KAAKoK,GAAK5I,YAAYhrC,eAAeof,IAC5Cu0B,EAAav0B,KACfy0B,EAASrK,KAAKoK,GAAK5I,YAAY5rB,GAASk0B,EAAaK,EAAav0B,IAQ9E,OAAOy0B,IAGLC,EAAc,SAASC,EAASvuC,GAClC,GAAewuC,EAEf,KAAKD,EACH,MAAO,KAGT,KAAK,GAAIr9C,GAAI,EAAG6hC,EAAMwb,EAAQrgD,OAAY6kC,EAAJ7hC,EAASA,IAI7C,GAHKq9C,EAAQr9C,GAAGu9C,YACdD,EAAaD,EAAQr9C,GAAGu1B,KAEtB8nB,EAAQr9C,GAAGu9C,WAAaF,EAAQr9C,GAAGu9C,UAAU55C,KAAKmL,GACpD,MAAOuuC,GAAQr9C,GAAGu1B,GAItB,OAAO+nB,GAGT,OAAO,UAASxuC,EAAMlF,GACpB,GAKI4zC,GALAP,GACEQ,MAASllD,SAASG,IAAI6vC,SAAS,SAASC,KAAK5+B,EAAQ8zC,eACrDC,SAAYplD,SAASG,IAAI6vC,SAAS,aAAaC,KAAK5+B,EAAQ8zC,gBAE9D1N,EAAQgN,EAA+BI,EAAYxzC,EAAQomC,MAAOlhC,OAAamuC,EAYnF,OATAO,GAAUjlD,SAASG,IAAIq4C,MAAMjiC,GAC3BkhC,MAASA,EACT0B,SAAW,EACXttC,QAAWwF,EAAQ8zC,cAAcp/C,cACjCypC,gBAAmBn+B,EAAQm+B,gBAC3BuJ,gBAAmB,EACnBK,aAAgB,QAetBp5C,SAASI,OAAOilD,qBAAuB,WACrC,GAAIC,GAAmB,WACrB,GAAIz/C,GAAUjF,IACdouC,YAAW,WACT,GAAI/4B,GAAYpQ,EAAQoQ,UAAUpH,eACjB,iBAAboH,GACa,8BAAbA,KACFpQ,EAAQoQ,UAAY,KAErB,GAGL,OAAO,UAASq/B,GACdt1C,SAASG,IAAI8pC,QAAQqL,EAASzvC,SAAU,MAAO,WAAYy/C,OAa/D,SAAUtlD,GACR,GAAIulD,GAAgB,KACpBvlD,GAASI,OAAOk5C,oBAAsB,SAASzzC,GAC7C,GAAIoQ,GAAYpQ,EAAQoQ,SACxB,IAAyC,KAArCA,EAAU9S,QAAQoiD,GACpB,MAAOtvC,EAGT,IACIo2B,GACAmZ,EACA/gD,EACAgD,EAJAg+C,EAAoB5/C,EAAQG,iBAAiB,0BAKjD,KAAKyB,EAAE,EAAGhD,EAAOghD,EAAkBhhD,OAAUA,EAAFgD,EAAUA,IACnD4kC,EAAcoZ,EAAkBh+C,GAAGg3C,MAAQgH,EAAkBh+C,GAAGktC,IAChE6Q,EAAcxlD,EAASM,KAAK+qC,OAAOgB,GAAK/kB,QAAQ,KAAKmkB,GAAG8Z,GACxDtvC,EAAcjW,EAASM,KAAK+qC,OAAOp1B,GAAWqR,QAAQk+B,GAAa/Z,GAAGY,EAExE,OAAOp2B,KAERjW,UAUH,SAAUA,GACR,GAAI2jD,GAAa,wBAEjB3jD,GAASI,OAAOslD,OAAS,SAAS7/C,GAChC7F,EAASG,IAAIotC,SAAS1nC,EAAS89C,GAC/B3jD,EAASG,IAAIutC,YAAY7nC,EAAS89C,EAGlC,KACE,GAAI9hD,GAAMgE,EAAQE,aAClBlE,GAAI+iC,YAAY,UAAU,EAAO,MACjC/iC,EAAI+iC,YAAY,UAAU,EAAO,MACjC,MAAMpiC,OAETxC,UAEH,SAAUA,GA8BR,QAAS2lD,GAAqBC,GAC5B,GAAI1jC,GAAM2jC,CAEV,KAAK3jC,IAAQ4jC,GACX,GAAKA,EAAkB/0C,eAAemR,KAEtC2jC,EAAgBC,EAAkB5jC,GAE9B2jC,EAAclrC,MAAMvP,KAAKw6C,IAC3B,MAAOC,GAMb,QAASE,GAAgBH,GACvB,GAAIviD,GAAOsiD,EAAoBC,EAE/B,OAAOviD,GAAOA,EAAKqM,KAAOlH,OA5C5B,GAAIs9C,IACEE,MACErrC,MAAO,4EACPjL,KAAM,QAERu2C,KACEtrC,MAAO,2DACPjL,KAAM,OAERw2C,MACEvrC,MAAO,4DACPjL,KAAM,MACNy2C,MAAO,IAETC,MACEzrC,MAAO,oCACPjL,KAAM,MACNy2C,MAAO,KAIXE,EAAkB,SAAUnhD,GAC1B,MAAO,IAAI4V,QAAO,YAAc5V,EAAI,kBAAmB,MA0B7DlF,GAASI,OAAOkmD,aAGdX,oBAAsBA,EAGtBI,eAAiBA,EAcjBQ,WAAa,SAAUC,EAAWC,GAChC,GAAIC,GAAa/8C,EAAQg9C,EAAWC,EAAYT,EAC5CP,EAAWY,CAEf,IAAIC,EAAW,CAGb,GAFAC,EAAcL,EAAgBI,KAExB98C,EAAS68C,EAAU15B,MAAM45B,IAAiB,OAAO,CAEvD/8C,GAASA,EAAO6Z,MAAMtc,MAAM,KAAK,GACjC0+C,EAAW5lD,EAASM,KAAK+qC,OAAO1hC,GAAQuyB,OAG1C,OAAMyqB,EAAYhB,EAAoBC,MAChCgB,EAAahB,EAAS94B,MAAM65B,EAAUhsC,SAE5CwrC,EAAQQ,EAAUR,OAAS,GAEvBQ,IAAcb,EAAkBM,MAClCQ,EAAW/9C,QACX+9C,EAAW/lD,KAAK,GACTb,EAASM,KAAKmoC,MAAMme,GAAY5d,IAAI,SAAS6d,EAAGtd,GACrD,MAAc,GAANA,EAAYxc,SAAS85B,EAAGV,GAASA,EAASp5B,SAAS85B,EAAGV,GAAQjiB,WAAW2iB,OAIrFD,EAAW/9C,QAEN+9C,EAAW,IACdA,EAAW/lD,KAAK,GAGXb,EAASM,KAAKmoC,MAAMme,GAAY5d,IAAI,SAAS6d,EAAGtd,GACrD,MAAc,GAANA,EAAWxc,SAAS85B,EAAGV,GAAQjiB,WAAW2iB,QApBO,GAqC7DC,aAAc,SAAS3vC,EAAK4vC,GAC1B,GAAIC,GAAW,EAEf,OAAoB,QAAhBD,GACM5vC,EAAI,GAAGnM,SAASg8C,GAAY7vC,EAAI,GAAGnM,SAASg8C,GAAY7vC,EAAI,GAAGnM,SAASg8C,IAAW3Q,cAClE,SAAhB0Q,EACF,KAAO5vC,EAAI,GAAGnM,SAASg8C,GAAY7vC,EAAI,GAAGnM,SAASg8C,GAAY7vC,EAAI,GAAGnM,SAASg8C,IAAW3Q,cACxE,QAAhB0Q,EACF,OAAS5vC,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMA,EAAI,GAAK,IAC9B,SAAhB4vC,EACF,QAAU5vC,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMA,EAAI,GAAK,IAC9C,QAAhB4vC,EACD5vC,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMA,EAAI,GAGvDA,EAAI,IAAiB,IAAXA,EAAI,GACT,QAAUA,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMA,EAAI,GAAK,IAEhE,OAASA,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMA,EAAI,GAAK,KAK3D8vC,cAAe,SAAST,GACtB,GAAI78C,GAAS68C,EAAU15B,MAAMu5B,EAAgB,aAC7C,OAAI18C,GACK3J,EAASM,KAAK+qC,OAAO1hC,EAAOA,EAAOlF,OAAS,GAAGyC,MAAM,KAAK,IAAIg1B,QAEhE,KAIVl8B,UAQH,SAAUA,GAGR,QAASknD,GAAwBrhD,GAC/B,GAAIiwC,GAAM,CACV,IAAIjwC,EAAQlB,WACV,EACEmxC,IAAOjwC,EAAQshD,WAAa,EAC5BthD,EAAUA,EAAQuhD,mBACXvhD,EAEX,OAAOiwC,GAIT,QAASuR,GAASx8C,EAAUuI,GAExB,IADA,GAAIlR,GAAM,EACHkR,IAAevI,GAGlB,GAFA3I,IACAkR,EAAaA,EAAWzO,YACnByO,EACD,KAAM,IAAIlB,OAAM,gCAExB,OAAOhQ,GAGX,QAASolD,GAAahkD,EAAM8Q,GAC1B,MAAsB,KAAlB9Q,EAAKJ,SACAI,EAEAA,EAAKkB,WAAW4P,IAAW9Q,EAItC,QAASikD,GAA0BzqC,GACjC,GAAI0qC,GAAYxkD,SAASP,cAAc,QAEnCglD,EAAqB,SAAS/9C,GAIhCoT,EAAUvT,oBAAoB,UAAWk+C,GACzC3qC,EAAUvT,oBAAoB,UAAWk+C,GACzC3qC,EAAUvT,oBAAoB,aAAck+C,GAC5C3qC,EAAUvT,oBAAoB,QAASk+C,GACvC3qC,EAAUvT,oBAAoB,OAAQk+C,GACtC3qC,EAAUvT,oBAAoB,QAASm+C,GACvC5qC,EAAUvT,oBAAoB,OAAQm+C,GACtC5qC,EAAUvT,oBAAoB,cAAem+C,GAEzCF,GAAaA,EAAU7iD,YACzB6iD,EAAU7iD,WAAWC,YAAY4iD,IAGrCE,EAA4B,SAAUh+C,GAChC89C,GAAaA,EAAU7iD,YACzBqqC,WAAWyY,EAAoB,GAmBnC,OAfAD,GAAUvjD,YAAY6Y,EAAU/W,cAAcpD,eAAe3C,EAASc,kBACtE0mD,EAAUvgD,UAAY,2BACtBugD,EAAUr3B,MAAME,QAAU,QAC1Bm3B,EAAUr3B,MAAMw3B,SAAW,MAC3BH,EAAUr3B,MAAMylB,OAAS,MAEzB94B,EAAUrT,iBAAiB,UAAWg+C,GACtC3qC,EAAUrT,iBAAiB,UAAWg+C,GACtC3qC,EAAUrT,iBAAiB,aAAcg+C,GACzC3qC,EAAUrT,iBAAiB,QAASg+C,GACpC3qC,EAAUrT,iBAAiB,OAAQg+C,GACnC3qC,EAAUrT,iBAAiB,QAASi+C,GACpC5qC,EAAUrT,iBAAiB,OAAQi+C,GACnC5qC,EAAUrT,iBAAiB,cAAei+C,GAEnCF,EAKT,QAASI,GAAsBh7C,GAC3B,IAAIA,EAAM8S,sBAMV,IAJA,GAAImoC,GAASj7C,EAAM4O,wBACfssC,EAAcT,EAASQ,EAAQj7C,EAAM4L,gBACrCuvC,EAAYV,EAASQ,EAAQj7C,EAAM6L,eAEhC7L,EAAM8S,uBAEPooC,EAAcC,GACdn7C,EAAMqS,eAAerS,EAAM4L,gBAC3BsvC,EAAcT,EAASQ,EAAQj7C,EAAM4L,kBAGrC5L,EAAMwS,YAAYxS,EAAM6L,cACxBsvC,EAAYV,EAASQ,EAAQj7C,EAAM6L,eA9F7C,GAAItY,GAAMH,EAASG,GAmGnBH,GAASuvB,UAAYrlB,KAAKC,QAExBM,YAAa,SAAS84C,EAAQyE,EAASC,GAErCl8C,MAAMb,OAENtK,KAAK2iD,OAAWA,EAChB3iD,KAAK00C,SAAWiO,EAAOjO,SACvB10C,KAAKiB,IAAWjB,KAAK00C,SAASzzC,IAC9BjB,KAAKgB,IAAWhB,KAAK00C,SAAS1zC,IAC9BhB,KAAKonD,QAAUA,EACfpnD,KAAKqnD,kBAAoBA,IAAqB,GAQhDtkC,YAAa,WACX,GAAI/W,GAAQhM,KAAKsnD,UACjB,OAAOt7C,IAASA,EAAMmU,cAQxBm1B,YAAa,SAASnyB,GACfA,GAILnjB,KAAKunD,aAAapkC,IAUpBqkC,UAAW,SAAS9kD,GAClB,GAAIsJ,GAAQb,MAAMhJ,YAAYnC,KAAKiB,IAGnC,OAFA+K,GAAMqS,eAAe3b,GACrBsJ,EAAMuS,aAAa7b,GACZ1C,KAAKunD,aAAav7C,IAK3By7C,+BAAgC,SAAU/kD,GACxC,GAAIglD,GAAmB1nD,KAAKiB,IAAIY,cAAc,QAC1C8lD,EAAuB3nD,KAAKiB,IAAIc,eAAe3C,EAASc,iBACxD2mD,EAAqB,SAAU/9C,GAE7B,GAAIuY,EAEJrhB,MAAKonD,QAAQz+C,oBAAoB,UAAWk+C,GAC5C7mD,KAAKonD,QAAQz+C,oBAAoB,UAAWi/C,GAC5C5nD,KAAKonD,QAAQz+C,oBAAoB,aAAck+C,GAC/C7mD,KAAKonD,QAAQz+C,oBAAoB,QAASk+C,GAC1C7mD,KAAKonD,QAAQz+C,oBAAoB,OAAQk+C,GACzC7mD,KAAKonD,QAAQz+C,oBAAoB,QAASm+C,GAC1C9mD,KAAKonD,QAAQz+C,oBAAoB,OAAQm+C,GACzC9mD,KAAKonD,QAAQz+C,oBAAoB,cAAem+C,GAI5CY,GAAoBA,EAAiB3jD,aACvC2jD,EAAiBryC,UAAYqyC,EAAiBryC,UAAUqR,QAAQtnB,EAASe,wBAAyB,IAC9F,SAAWqK,KAAKk9C,EAAiBryC,YACnCgM,EAAYqmC,EAAiBrmC,UAC7BjiB,EAASG,IAAIu6C,OAAO4N,GACpB1nD,KAAK6nD,SAASxmC,IAEdqmC,EAAiB3jD,WAAWC,YAAY0jD,KAI3CI,KAAK9nD,MACR8mD,EAA4B,SAAUh+C,GAChC4+C,GAAoBA,EAAiB3jD,YACvCqqC,WAAWyY,EAAoB,IAGnCe,EAAiB,SAAS9+C,GACJ,IAAhBA,EAAMi/C,OAA+B,KAAhBj/C,EAAMi/C,OAAgC,KAAhBj/C,EAAMi/C,OAAiC,KAAhBj/C,EAAMi/C,QAAkBj/C,EAAMk/C,SAAYl/C,EAAMm/C,UACpHpB,IAwBR,OApBAa,GAAiBrhD,UAAY,2BAC7BqhD,EAAiBn4B,MAAMhc,SAAW,WAClCm0C,EAAiBn4B,MAAME,QAAU,QACjCi4B,EAAiBn4B,MAAMw3B,SAAW,MAClCW,EAAiBn4B,MAAM24B,OAAS,QAChCR,EAAiBrkD,YAAYskD,GAE7BjlD,EAAKqB,WAAWkP,aAAay0C,EAAkBhlD,EAAKsE,aACpDhH,KAAKwnD,UAAUG,GAGf3nD,KAAKonD,QAAQv+C,iBAAiB,UAAWg+C,GACzC7mD,KAAKonD,QAAQv+C,iBAAiB,UAAW++C,GACzC5nD,KAAKonD,QAAQv+C,iBAAiB,aAAcg+C,GAC5C7mD,KAAKonD,QAAQv+C,iBAAiB,QAASg+C,GACvC7mD,KAAKonD,QAAQv+C,iBAAiB,OAAQg+C,GACtC7mD,KAAKonD,QAAQv+C,iBAAiB,QAASi+C,GACvC9mD,KAAKonD,QAAQv+C,iBAAiB,OAAQi+C,GACtC9mD,KAAKonD,QAAQv+C,iBAAiB,cAAei+C,GAEtCY,GAWTG,SAAU,SAASnlD,EAAMylD,EAAW9f,GAClC,GAyBIpgB,GAzBAjnB,EAAMhB,KAAKgB,IACXgL,EAAQb,MAAMhJ,YAAYnC,KAAKiB,KAC/BmnD,EAAqB,WAGnB,GAAIr2C,GAASrP,EAAKqB,WACdskD,EAAct2C,EAASA,EAAOnO,WAAWmO,EAAOnO,WAAWC,OAAS,GAAK,IAE7E,KAAKokB,GAAQogC,IAAgB3lD,GAA0B,IAAlBA,EAAKJ,UAAyD,UAAvCtB,EAAIyV,iBAAiB/T,GAAM+sB,QACrF,GAAI04B,EAAW,CAGb,GAAIT,GAAmB1nD,KAAKiB,IAAIc,eAAe3C,EAASc,gBACxDwC,GAAKqB,WAAWkP,aAAay0C,EAAkBhlD,EAAKsE,aACpDhH,KAAK2e,WAAW+oC,GAChBtZ,WAAW,WACLsZ,GAAoBA,EAAiB3jD,YACvC2jD,EAAiB3jD,WAAWC,YAAY0jD,IAEzC,OAEH1nD,MAAKynD,+BAA+B/kD,IAGxColD,KAAK9nD,KAQX,IALAgM,EAAMsS,cAAc5b,GACpBsJ,EAAMwS,YAAY9b,GAIbN,SAASC,eAAiBD,SAASC,gBAAkBrC,KAAK00C,SAASzvC,QAYtEgjB,EAAMjoB,KAAKunD,aAAav7C,GACxBo8C,IACI/f,GACFA,EAASpgB,OAfoE,CAC/E,GAAI4sB,GAAY70C,KAAK00C,SAASI,cAC9B90C,MAAK00C,SAASzvC,QAAQf,QACtBlE,KAAK00C,SAAS4T,aAAazT,GAC3BzG,WAAW,WACTnmB,EAAMjoB,KAAKunD,aAAav7C,GACxBo8C,IACI/f,GACFA,EAASpgB,IAEX6/B,KAAK9nD,MAAO,KAiBlB2e,WAAY,SAASjc,EAAM6lD,GACzB,GAAIv8C,GAAkBb,MAAMhJ,YAAYnC,KAAKiB,KACzCunD,EAAkB9lD,EAAKJ,WAAalD,EAASmB,aAC7CmlB,EAAkB,eAAiBhjB,GAAOA,EAAKgjB,YAAiC,QAAlBhjB,EAAKF,SACnE2e,EAAkBqnC,EAAY9lD,EAAK2S,UAAY3S,EAAKwS,KACpD60B,EAA+B,KAAZ5oB,GAAkBA,IAAY/hB,EAASc,gBAC1DuoD,EAAkBlpD,EAAI6vC,SAAS,WAAWC,KAAK3sC,GAC/CqsC,EAAoC,UAAjB0Z,GAA6C,cAAjBA,CAEnD,IAAI1e,GAAWye,GAAa9iC,IAAgB6iC,EAE1C,IAAM7lD,EAAK2S,UAAYjW,EAASc,gBAAmB,MAAM0B,IAEvD8jB,EACF1Z,EAAM0S,mBAAmBhc,GAEzBsJ,EAAM2S,WAAWjc,GAGfgjB,GAAeqkB,GAAWye,EAC5Bx8C,EAAMyS,SAASswB,GACNrpB,GAAeqkB,IACxB/9B,EAAMsS,cAAc5b,GACpBsJ,EAAMwS,YAAY9b,IAGpB1C,KAAKunD,aAAav7C,IAWpB08C,gBAAiB,SAASt/B,GACxB,GAAIzpB,GACAqM,CAEJ,OAAIod,IAAgBppB,KAAKiB,IAAItB,WAAyC,YAA5BK,KAAKiB,IAAItB,UAAU8C,OAC3DuJ,EAAQhM,KAAKiB,IAAItB,UAAUwC,cACvB6J,GAASA,EAAMnI,QACVmI,EAAMpF,KAAK,IAItBjH,EAAYK,KAAK+C,aAAa/C,KAAKiB,KAC/BtB,EAAUuD,YAAcvD,EAAUqD,WAC7BrD,EAAUuD,WAEjB8I,EAAQhM,KAAKsnD,SAAStnD,KAAKiB,KACpB+K,EAAQA,EAAM4O,wBAA0B5a,KAAKiB,IAAIqC,QAI5DqlD,cAAe,WACb,GAAI38C,GAAQhM,KAAKsnD,UACjBN,GAAsBh7C,GACtBhM,KAAKunD,aAAav7C,IAGpB48C,oBAAqB,SAASx/B,GAK5B,IAAK,GAHDa,GAASjqB,KAAK6oD,eACdC,KAEKjiD,EAAI,EAAGkiD,EAAO9+B,EAAOpmB,OAAYklD,EAAJliD,EAAUA,IAC5CiiD,EAAS7oD,KAAKgqB,EAAOpjB,GAAG+T,yBAA2B5a,KAAKiB,IAAIqC,KAEhE,OAAOwlD,IAGTE,qBAAsB,SAASnvC,GAG7B,IAAK,GADWovC,GADZh/B,EAASjqB,KAAK6oD,eACd1uC,KACKtT,EAAI,EAAGkiD,EAAO9+B,EAAOpmB,OAAYklD,EAAJliD,EAAUA,IAC9CoiD,EAAWh/B,EAAOpjB,GAAG6b,UAAU,GAAI,SAAShgB,GACxC,MAAOtD,GAASM,KAAKmoC,MAAMhuB,GAAWlT,SAASjE,EAAKF,YAExD2X,EAAQA,EAAMlT,OAAOgiD,EAEvB,OAAO9uC,IAGT+uC,eAAgB,SAASpvC,GAIvB,IAAK,GAFWmvC,GADZh/B,EAASjqB,KAAK6oD,eACd1uC,KAEKtT,EAAI,EAAGkiD,EAAO9+B,EAAOpmB,OAAYklD,EAAJliD,EAAUA,IAC9CoiD,EAAWh/B,EAAOpjB,GAAG6b,UAAU,GAAI,SAASzd,GAC1C,MAAO6U,GAAO7U,EAASglB,EAAOpjB,MAEhCsT,EAAQA,EAAMlT,OAAOgiD,EAEvB,OAAO9uC,IAGTgvC,mBAAoB,WAIlB,IAAK,GAHDC,GAAcppD,KAAKqpD,oBACnB1pD,EAAYK,KAAK+C,eAEZ8D,EAAI,EAAGkiD,EAAOK,EAAYvlD,OAAYklD,EAAJliD,EAAUA,IACnD,GAAIlH,EAAUwiB,aAAainC,EAAYviD,IACrC,OAAO,CAIX,QAAO,GAKTgY,eAAgB,WACd,GAAI7S,GAAQhM,KAAKsnD,UACjBtnD,MAAKspD,oBAAoBt9C,GACzBhM,KAAKunD,aAAav7C,IAIpBs9C,oBAAqB,SAAUt9C,GAC7B,GAAIu9C,GAAaC,EAAWJ,EAAaK,CAEzC,IAAIzpD,KAAKqnD,kBAAmB,EACrBkC,EAAcnqD,EAASG,IAAI60C,iBAAiBpoC,EAAM4L,gBAAkB25B,MAAO,IAAMvxC,KAAKqnD,oBAAqB,EAAOrnD,KAAKonD,WAC1Hp7C,EAAMqS,eAAekrC,IAElBC,EAAYpqD,EAASG,IAAI60C,iBAAiBpoC,EAAM6L,cAAgB05B,MAAO,IAAMvxC,KAAKqnD,oBAAqB,EAAOrnD,KAAKonD,WACtHp7C,EAAMwS,YAAYgrC,GAIpBJ,EAAcp9C,EAAM0W,UAAU,GAAI,SAAWhgB,GAC3C,MAAOtD,GAASG,IAAIstC,SAASnqC,EAAM1C,KAAKqnD,oBACvCS,KAAK9nD,MACR,KAAK,GAAI6G,GAAIuiD,EAAYvlD,OAAQgD,KAC/B,IACE4iD,EAAK,GAAIllD,aAAY,8BACrB6kD,EAAYviD,GAAG6iD,cAAcD,GAC7B,MAAOE,KAGb39C,EAAM6S,kBAGR+qC,aAAc,WACZ,GAAIjqD,GAAYK,KAAK+C,cACrB,OAAQpD,IAAaA,EAAUqD,WAAc0jD,EAAa/mD,EAAUqD,WAAYrD,EAAUsD,cAAgB,MAG5G4mD,gBAAiB,SAASnnD,EAAMonD,GAC9B,GAAIrB,EACJ,KAAK/lD,EAAM,CACT,GAAI/C,GAAYK,KAAK+C,cACrBL,GAAQ/C,GAAaA,EAAUqD,WAAc0jD,EAAa/mD,EAAUqD,WAAYrD,EAAUsD,cAAgB,KAG5G,GAAIP,IAAS1C,KAAKonD,QACd,OAAO,CAGX,IACIr1C,GADAzQ,EAAMoB,EAAK6F,eAGf,OAAIjH,KAAQtB,KAAKonD,SACN,GAGP9lD,GAAwB,IAAjBA,EAAIgB,UAAmC,IAAjBhB,EAAIgB,SAElChB,EAAMtB,KAAK6pD,gBAAgBvoD,EAAKwoD,GACxBxoD,GAAwB,IAAjBA,EAAIgB,UAAkB,QAAUkI,KAAKlJ,EAAI20C,aAEzD30C,EAAMtB,KAAK6pD,gBAAgBvoD,EAAKwoD,GACvBA,GAAexoD,GAAwB,IAAjBA,EAAIgB,UAGnCmmD,EAAerpD,EAASG,IAAI6vC,SAAS,WAAWC,KAAK/tC,GAEhDlC,EAASM,KAAKmoC,OAAO,KAAM,KAAM,QAAQlhC,SAASrF,EAAIkB,WACtDpD,EAASM,KAAKmoC,OAAO,QAAS,eAAgB,OAAQ,YAAa,UAAUlhC,SAAS8hD,KACvF,UAAYj+C,KAAKlJ,EAAI+T,aAErB/T,EAAMtB,KAAK6pD,gBAAgBvoD,EAAKwoD,KAE1BxoD,GAAOoB,IAAS1C,KAAKonD,UAC/Br1C,EAASrP,EAAKqB,WACVgO,IAAW/R,KAAKonD,UAChB9lD,EAAMtB,KAAK6pD,gBAAgB93C,EAAQ+3C,KAIjCxoD,IAAQtB,KAAKonD,QAAW9lD,GAAM,IAIxCyoD,kBAAmB,WACjB,IAAK/pD,KAAKslB,cACR,KAAM,kEAGR,IACI0kC,GAAWvY,EAAUz+B,EAAUQ,EAD/BtR,EAAIlC,KAAK6oD,cAGb,OAAI3mD,IAAKA,EAAE2B,OAAS,GACmB,IAAjC3B,EAAE,GAAG0V,eAAetV,UACtB0nD,EAAY9nD,EAAE,GAAG0V,eAAehU,WAAW1B,EAAE,GAAGwW,YAAc,GACzDsxC,GAAkC,IAArB9nD,EAAE,GAAGwW,YAGZsxC,IACTvY,EAAWuY,EAAUzhD,gBACrByK,EAAWg3C,EAAUhjD,aAHrBgM,EAAW9Q,EAAE,GAAG0V,eAAehU,WAAW,KAMnB,IAArB1B,EAAE,GAAGwW,aAAqBxW,EAAE,GAAG0V,eAAerP,iBAChDyhD,EAAY9nD,EAAE,GAAG0V,eAAerP,gBACL,IAAvByhD,EAAU1nD,WACZkR,EAASw2C,EAAU90C,KAAKrR,UAG1BmmD,EAAY9nD,EAAE,GAAG0V,eACjBpE,EAAStR,EAAE,GAAGwW,aAEhB+4B,EAAWuY,EAAUzhD,gBACrByK,EAAWg3C,EAAUhjD,cAIrBgjD,UAAaA,EACbvY,SAAYA,EACZz+B,SAAYA,EACZi3C,WAAcz2C,IAIX,MAGT02C,yBAA0B,SAAS91C,GAIjC,IAAK,GAFD+1C,GADAhwC,EAAQna,KAAK4oD,sBACNzb,KAEFtmC,EAAI,EAAGkiD,EAAO5uC,EAAMtW,OAAYklD,EAAJliD,EAAUA,IAC7CsjD,EAAShwC,EAAMtT,GAAGrE,UAAmC,OAAtB2X,EAAMtT,GAAGrE,SAAqB2X,EAAMtT,GAAKzH,EAASG,IAAI60C,iBAAiBj6B,EAAMtT,IAAM0qC,MAAO,OAAO,EAAOvxC,KAAKonD,SACxI+C,GACFhd,EAAQltC,KAAKkqD,EAGjB,OAAQhd,GAAc,OAAIA,EAAU,MAGtCid,kBAAmB,WACjB,GAAIpqD,KAAKslB,cAAe,CACtB,GACI+kC,GAAOpzC,EAAKqzC,EADZt+C,EAAQhM,KAAKsnD,UAEjB,IAAIt7C,EAOF,MANAq+C,GAAQr+C,EAAM4L,eACdX,EAAMjL,EAAM0M,YACZ4xC,EAAQn/C,MAAMhJ,YAAYnC,KAAKiB,KAE/BqpD,EAAM5rC,mBAAmB2rC,GACzBC,EAAM/mD,SAAS8mD,EAAOpzC,GACfqzC,IAKbC,wBAAyB,WACvB,GAAIvqD,KAAKslB,cAAe,CACtB,GAAItZ,GAAQhM,KAAKsnD,WACb+C,EAAQr+C,EAAM4L,eACdX,EAAMjL,EAAM0M,YACZ4xC,EAAQn/C,MAAMhJ,YAAYnC,KAAKiB,IAInC,OAFAqpD,GAAM5rC,mBAAmB2rC,GACzBC,EAAM9mD,OAAO6mD,EAAOpzC,GACbqzC,IAKXE,sBAAuB,SAASC,GAC9B,GAGIC,GAAMC,EAAQC,EAAQC,EADtBC,GAFI3/C,MAAMhJ,YAAYnC,KAAKiB,KACvBjB,KAAK+C,eACQ/C,KAAKoqD,oBAG1B,OAAIU,IACFJ,EAAOI,EAAe3uC;AACtBwuC,EAASD,EAAKzU,YAEV,QAAUzrC,KAAKmgD,GACbF,GACFG,EAAS5qD,KAAKuqD,0BAA0BpuC,gBACxC0uC,EAAWD,EAAO3U,aACV,wBAA0BzrC,KAAKqgD,KAEhC,GAGF,IAGF,GAIXE,wBAAyB,SAASC,GAChC,GAAI9oD,GAAIiJ,MAAMhJ,YAAYnC,KAAKiB,KAC3BI,EAAIrB,KAAK+C,eACTiJ,EAAQhM,KAAKsnD,WACb1nC,EAAY8mC,EAAa16C,EAAM4L,eAAgB5L,EAAM0M,YAEzD,IAAIkH,EAAW,CACb,GAAIA,EAAUtd,WAAalD,EAASoB,UAAW,CAC7C,IAAKof,EAAU7b,WACb,OAAO,CAET,KAAK/D,KAAKslB,eAAkB1F,EAAU7b,WAAWD,aAAe8b,IAAcxgB,EAASG,IAAIqxC,QAAQhxB,EAAUrX,iBAAiBuoC,GAAG9lC,QAC/H,OAAO,CAET,IAAIigD,GAAKjrD,KAAKgB,IAAIyV,iBAAiBmJ,EAAU7b,YAAYmnD,UACzD,OAAe,QAAPD,GAAuB,aAAPA,EAA2C,IAAtBj/C,EAAM0M,YAAoB,QAAUlO,KAAKoV,EAAU1K,KAAK+2B,OAAO,EAAEjgC,EAAM0M,cAC/G,MAAIsyC,IAAqB5rD,EAASG,IAAIqxC,QAAQhxB,GAAWkxB,GAAGhC,aAC1D,GAEP5sC,EAAEwc,mBAAmB1e,KAAKsnD,WAAW1sC,yBACrC1Y,EAAEuc,UAAS,GACHze,KAAKslB,gBAAkBpjB,EAAE0V,iBAAmBvW,EAAE2B,YAAcd,EAAE2V,eAAiBxW,EAAE2B,aAAed,EAAEwW,cAAgBrX,EAAE4B,gBAKlIkoD,qBAAsB,SAASC,GAC3B,GAAIzrD,GAAYK,KAAK+C,eACjBL,EAAO/C,EAAUqD,WACjBwQ,EAAS7T,EAAUsD,YACvB,OAAImoD,IAAU1oD,EACO,IAAX8Q,IAAiB9Q,EAAKF,UAAYE,EAAKF,WAAa4oD,EAAO3V,eAAiBr2C,EAASG,IAAI60C,iBAAiB1xC,EAAKqB,YAAcwtC,MAAO6Z,GAAU,IAC7I1oD,EACU,IAAX8Q,IAAiBxT,KAAK6pD,gBAAgBnnD,GAAM,GAD/C,QAOX2oD,mBAAoB,SAASC,GAC3B,GAG8B3rC,GAAS4rC,EAHnCtjC,EAAMjoB,KAAK+C,eACX6c,EAAaqI,EAAIwF,cAAiBxF,EAAI/kB,UAAY+kB,EAAIjlB,WACtD0V,EAAeuP,EAAIwF,cAAiBxF,EAAI9kB,YAAc8kB,EAAIhlB,aAC1DuoD,EAAMxrD,KAAKmC,aAcf,IAXIyd,GAAoC,IAAvBA,EAAUtd,UAAkB,QAAUkI,KAAKoV,EAAU1K,KAAKvE,MAAM,EAAG+H,MAClFA,EAAc,GAIhB6yC,EAAansD,EAASG,IAAI60C,iBAAiBx0B,GAAa2xB,MAAO,6BAA+B,GAC1Fga,IACF3rC,EAAY2rC,EAAWxnD,WACvB2U,EAAclQ,MAAM9C,UAAUnD,QAAQkG,KAAKmX,EAAUhc,WAAY2nD,IAG/D3rC,EAAW,CACb,GAAIlH,EAAc,EAChB,MAA2B,KAAvBkH,EAAUtd,UACZkpD,EAAIjoD,SAASqc,EAAW,GACxB4rC,EAAIhoD,OAAOoc,EAAWlH,IAEpBjW,KAAM,OACNuJ,MAAOw/C,EACPh4C,OAASkF,EACThW,KAAMkd,KAGR4rC,EAAIntC,eAAeuB,EAAUhc,WAAW,IACxC+b,EAAUC,EAAUhc,WAAW8U,EAAc,GAC7C8yC,EAAIhtC,YAAYmB,IAEdld,KAAM,UACNuJ,MAAOw/C,EACPh4C,OAASkF,EACThW,KAAMid,GAMV,IAFA6rC,EAAIxvC,eAAe4D,EAAW,GAE1B0rC,EAAmB,CACrB,GAAI7Z,GAAWzxC,KAAK6pD,gBAAgBjqC,GAAW,GAC3C6rC,EAAW,IAUf,IARGha,IAECga,EADwB,IAAtBha,EAASnvC,UAAkBlD,EAASG,IAAIstC,SAAS4E,EAAUzxC,KAAKqnD,mBACvD5V,EAEAryC,EAASG,IAAIqxC,QAAQa,GAAUM,gBAI1C0Z,EACF,OACEhpD,KAAM,WACNuJ,MAAOw/C,EACPh4C,OAASkF,EACThW,KAAM+oD,GAKZ,OACEhpD,KAAM,OACNuJ,MAAOw/C,EACPh4C,OAASkF,EACThW,KAAMkd,GAIZ,MAAO,OAIT8rC,uBAAwB,SAASjhD,EAAQkhD,GACvC,GAAI1jC,GAAM9c,MAAMilB,cAAcpwB,KAAKgB,IACnC,IAAKinB,EAGH,IACExd,IACA,MAAM7I,GACNwsC,WAAW,WAAa,KAAMxsC,IAAM,OALtC6I,IAQFU,OAAMmlB,iBAAiBrI,IAIzB2jC,kBAAmB,SAASnhD,EAAQkhD,GAClC,GAMIjE,GACAmE,EACA7kD,EAAa8kD,EACbppD,EAAM0P,EAAOqS,EACbsnC,EAVAzoD,EAAwBtD,KAAKiB,IAAIqC,KACjC0oD,EAAwBL,GAAyBroD,EAAK/B,UACtD0qD,EAAwBN,GAAyBroD,EAAK5B,WACtD2E,EAAwB,6BACxB6lD,EAAwB,gBAAkB7lD,EAAY,KAAOjH,EAASc,gBAAkB,UACxF8L,EAAwBhM,KAAKsnD,UAAS,EAQ1C,KAAKt7C,EAEH,WADAvB,GAAOnH,EAAMA,EAIV0I,GAAMyO,YACTgK,EAASzY,EAAMmU,aACf/N,EAAQqS,EAAOhE,yBAAyByrC,GACxCznC,EAAOhG,UAAS,GAChBgG,EAAOzD,WAAW5O,GAClBqS,EAAO1N,UAGTrU,EAAOsJ,EAAMyU,yBAAyByrC,GACtClgD,EAAMgV,WAAWte,GAEb0P,IACFs1C,EAAmB1nD,KAAKonD,QAAQhiD,iBAAiB,IAAMiB,GACvD2F,EAAMqS,eAAeqpC,EAAiB,IACtC17C,EAAMwS,YAAYkpC,EAAiBA,EAAiB7jD,OAAQ,KAE9D7D,KAAKunD,aAAav7C,EAGlB,KACEvB,EAAOuB,EAAM4L,eAAgB5L,EAAM6L,cACnC,MAAMjW,GACNwsC,WAAW,WAAa,KAAMxsC,IAAM,GAGtC,GADA8lD,EAAmB1nD,KAAKonD,QAAQhiD,iBAAiB,IAAMiB,GACnDqhD,GAAoBA,EAAiB7jD,OAAQ,CAC/CkoD,EAAW5gD,MAAMhJ,YAAYnC,KAAKiB,KAClC+F,EAAc0gD,EAAiB,GAAG1gD,YAC9B0gD,EAAiB7jD,OAAS,IAC5BioD,EAAcpE,EAAiBA,EAAiB7jD,OAAQ,GAAG0E,iBAEzDujD,GAAe9kD,GACjB+kD,EAAS1tC,eAAerX,GACxB+kD,EAASvtC,YAAYstC,KAErBD,EAAsB7rD,KAAKiB,IAAIc,eAAe3C,EAASc,iBACvDX,EAAI+vC,OAAOuc,GAAqBtc,MAAMmY,EAAiB,IACvDqE,EAAS1tC,eAAewtC,GACxBE,EAASvtC,YAAYqtC,IAEvB7rD,KAAKunD,aAAawE,EAClB,KAAK,GAAIllD,GAAI6gD,EAAiB7jD,OAAQgD,KACpC6gD,EAAiB7gD,GAAG9C,WAAWC,YAAY0jD,EAAiB7gD,QAK9D7G,MAAKonD,QAAQljD,OAGXynD,KACFroD,EAAK/B,UAAayqD,EAClB1oD,EAAK5B,WAAauqD,EAIpB,KACEvE,EAAiB3jD,WAAWC,YAAY0jD,GACxC,MAAM5hB,MAGV1J,IAAK,SAAS15B,EAAM8Q,GAClB,GAAIu4C,GAAW5gD,MAAMhJ,YAAYnC,KAAKiB,IACtC8qD,GAASxoD,SAASb,EAAM8Q,GAAU,GAClCxT,KAAKunD,aAAawE,IAWpBtmB,WAAY,SAAS9vB,GACnB,GAGI0L,GAAW8qC,EAHXngD,EAAYhM,KAAKsnD,WACjB5kD,EAAO1C,KAAKiB,IAAIY,cAAc,OAC9B2T,EAAWxV,KAAKiB,IAAIwU,wBAGxB,IAAIzJ,EAAO,CAKT,IAJAA,EAAM6S,iBACNnc,EAAK2S,UAAYM,EACjB0L,EAAY3e,EAAK2e,UAEV3e,EAAKoB,YACV0R,EAASnS,YAAYX,EAAKoB,WAK5B,KAHAkI,EAAMgV,WAAWxL,GAEjB22C,EAAoBnsD,KAAKonD,QAAQ/lC,UAC1B8qC,GAAoD,IAA/BA,EAAkB7pD,UAAkB6pD,EAAkB5jD,iBAAmB,QAAUiC,KAAK2hD,EAAkBj3C,OACpIi3C,EAAoBA,EAAkB5jD,eAGpC8Y,KAEE8qC,GAAqB9qC,IAAc8qC,GAA4C,IAAvB9qC,EAAU/e,UACpEtC,KAAKonD,QAAQ/jD,YAAYrD,KAAKiB,IAAIY,cAAc,OAElD7B,KAAK6nD,SAASxmC,MAYpBL,WAAY,SAASte,GACnB,GAAIsJ,GAAQhM,KAAKsnD,UACbt7C,KACFA,EAAM6S,iBACN7S,EAAMgV,WAAWte,KAIrB0pD,eAAgB,SAAU1pD,GACxB,GAAIM,GAAYqpD,EACZC,GAAgB,OAAQ,OAAQ,KAAM,MAAO,UAAW,QAAS,KAAM,MAAO,QAAS,SAAU,OAAQ,OAAQ,QAAS,SAAU,QAAS,OAC7ItgD,EAAQhM,KAAKsnD,UAQjB,OANAtkD,GAAaN,GAAQsJ,EAAM4L,eAEvB5U,IACFqpD,GAA0BrpD,EAAWoR,SAAWpR,EAAWR,UAAUyL,eAGf,KAAjDq+C,EAAa/pD,QAAQ8pD,IAG9BE,oBAAqB,SAAUtnD,EAAS+b,GACtC,GACIhV,GAAOwgD,EACP1oD,EAAYud,EAAWzd,EAFvBqkB,EAAMjoB,KAAK+C,cAIf,IAAIklB,EAAIS,WAAa,EAAG,CACtB1c,EAAQic,EAAImC,WAAW,GAAGjK,aAE1BnU,EAAMwS,YAAYvZ,GAClBunD,EAAyBxgD,EAAM4S,kBAE/Bhb,EAAa4oD,EAAuB5oD,UAGpC,KAAK,GAAIiD,GAAIjD,EAAWC,OAAQgD,KACzBzH,EAASG,IAAIqxC,QAAQhtC,EAAWiD,IAAIiqC,GAAGK,WAC1Cqb,EAAuBxoD,YAAYJ,EAAWiD,GAIlD5B,GAAQlB,WAAWkP,aAAau5C,EAAwBvnD,EAAQ+B,aAE5Dga,GACFld,EAAakd,EAAWld,YAAckd,EACtCK,EAAYL,EAAWK,WAAaL,EAEpC/b,EAAQlB,WAAWkP,aAAa+N,EAAY/b,EAAQ+B,aAGhDlD,GAAcud,IACfrV,EAAMqS,eAAeva,GACrBkI,EAAMwS,YAAY6C,GAClBrhB,KAAKunD,aAAav7C,MAGrBA,EAAMsS,cAAcrZ,GACpB+G,EAAMwS,YAAYvZ,IAGf7F,EAASG,IAAIqxC,QAAQ3rC,GAAS6rC,GAAGK,YACS,KAAzC/xC,EAASG,IAAI8xC,eAAepsC,GAC9BA,EAAQlB,WAAWC,YAAYiB,GAE/BA,EAAQlB,WAAWyrC,aAAaxvC,KAAKiB,IAAIc,eAAe,KAAMkD,MAatEwnD,SAAU,SAASC,GACjB,GACIhqD,GADAunB,EAASjqB,KAAK6oD,eACR1uC,IACV,IAAqB,GAAjB8P,EAAOpmB,OACT,MAAOsW,EAGT,KAAK,GAAItT,GAAIojB,EAAOpmB,OAAQgD,KAAM,CAChCnE,EAAO1C,KAAKiB,IAAIY,cAAc6qD,EAAYlqD,UAC1C2X,EAAMla,KAAKyC,GACPgqD,EAAYrmD,YACd3D,EAAK2D,UAAYqmD,EAAYrmD,WAE3BqmD,EAAYC,UACdjqD,EAAKU,aAAa,QAASspD,EAAYC,SAEzC,KAEE1iC,EAAOpjB,GAAGqa,iBAAiBxe,GAC3B1C,KAAK2e,WAAWjc,GAChB,MAAMd,GAENc,EAAKW,YAAY4mB,EAAOpjB,GAAG+X,mBAC3BqL,EAAOpjB,GAAGma,WAAWte,IAGzB,MAAOyX,IAUTyyC,eAAgB,WACd,GASIrG,GATAtlD,EAAgBjB,KAAKiB,IACrB4rD,EAAgB,EAChBC,EAAgB7rD,EAAI0E,gBAAgBonD,aAAe9rD,EAAI0E,gBAAgB05C,aACvElT,EAAgBlrC,EAAI+rD,+BAAiC/rD,EAAI+rD,gCAAkC,WACzF,GAAI/nD,GAAUhE,EAAIY,cAAc,OAGhC,OADAoD,GAAQoQ,UAAYjW,EAASc,gBACtB+E,IAIT6nD,KACF9sD,KAAKghB,WAAWmrB,GAChBoa,EAAYD,EAAwBna,GACpCA,EAAYpoC,WAAWC,YAAYmoC,GAC/Boa,GAActlD,EAAIqC,KAAK/B,UAAYN,EAAI0E,gBAAgB05C,aAAewN,IACxE5rD,EAAIqC,KAAK/B,UAAYglD,KAQ3B0G,WAAY,WACV,GAAI/qD,GAAIiJ,MAAMhJ,aACV/C,GAASyjC,QAAQ6D,0BACnB1mC,KAAKktD,kBACIhrD,EAAE8hB,aAAe9hB,EAAE8hB,YAAYmpC,uBAExCntD,KAAKotD,wBAITC,yBAA0B,WACxB,GAAIhsD,GAAIrB,KAAK+C,eACTb,EAAIb,EAAE+oB,WAAW,GACjBkjC,EAAe,SAAS5qD,GACtB,MAAQA,IAA0B,IAAlBA,EAAKJ,UAAkBI,EAAKkqC,UAAUjmC,SAAS,2BAEjEsL,EAAgB,SAAUvP,GACxB,MAAsB,KAAlBA,EAAKJ,SACAI,EAAKkB,YAAclB,EAAKkB,WAAWC,QAAU,EAE7CnB,EAAKwS,MAAQxS,EAAKwS,KAAKrR,QAAU,GAG5C4D,EAAkC,IAA1BpG,EAAE2B,WAAWV,SAAiBjB,EAAE2B,WAAWY,WAAWvC,EAAE4B,cAAgB5B,EAAE2B,WAClF6E,EAAiC,IAAzBxG,EAAE6B,UAAUZ,SAAiBjB,EAAE6B,UAAUU,WAAWvC,EAAE8B,aAAe9B,EAAE6B,SAE/E2E,IAASxG,EAAE8B,cAAgB8O,EAAcpK,IAAUA,EAAMb,aAAesmD,EAAazlD,EAAMb,cAC7F9E,EAAEsc,YAAY3W,EAAMb,aAElBS,GAA4B,IAAnBpG,EAAE4B,cAAsBwE,EAAMc,iBAAmB+kD,EAAa7lD,EAAMc,kBAC/ErG,EAAEmc,eAAe5W,EAAMc,iBAEzBrG,EAAEunB,UAMJyjC,gBAAiB,WACf,GAAIvtD,GAAYK,KAAKgB,IAAI+B,eACrBwqD,GAAkB5tD,EAAUqD,WAAYrD,EAAUsD,aAActD,EAAUuD,UAAWvD,EAAUwD,YAEnGxD,GAAU6tD,OAAO,OAAQ,OAAQ,gBACjC7tD,EAAU6tD,OAAO,SAAU,QAAS,gBAGhC7tD,EAAUqD,aAAeuqD,EAAe,IACxC5tD,EAAUsD,eAAiBsqD,EAAe,IAC1C5tD,EAAUuD,YAAcqqD,EAAe,IACvC5tD,EAAUwD,cAAgBoqD,EAAe,GAE3CvtD,KAAKotD,uBAELptD,KAAKqtD,4BAKTI,eAAgB,SAAUC,EAAUjvC,GAElC,GADAA,EAAgC,mBAAbA,IAA4B,EAAQA,EACnDrf,EAASyjC,QAAQ6D,0BAA2B,CAC9C,GAAI/mC,GAAYK,KAAKgB,IAAI+B,cAEzBpD,GAAU6tD,OAAO,SAAUE,EAAU,gBACjCjvC,IACe,SAAbivC,EACF/tD,EAAUguB,kBACY,UAAb+/B,GACT/tD,EAAUiuB,mBAMlB+/B,aAAc,SAASzrD,GACrB,GAEI0rD,GADAC,GADW7tD,KAAKiB,IAAIc,eAAe,KACxB/B,KAAKiB,IAAIc,eAAe,KAmBvC,OAVIG,GAAEuY,WACJvY,EAAE8e,WAAW6sC,GACb3rD,EAAEyc,WAAWkvC,GACbD,EAAO1rD,EAAE8hB,YAAYmpC,wBACrBjrD,EAAE2c,kBAGF+uC,EAAO1rD,EAAE8hB,YAAYmpC,wBAGhBS,GAITR,qBAAsB,WACpB,GAEIQ,GACAzmC,EAAYC,EAEZ0mC,EAAQC,EAAUC,EALlB3sD,EAAIrB,KAAK+C,eACTb,EAAIb,EAAE+oB,WAAW,GAGjBgN,EAAQ,EAER4W,EAAOhuC,KACPiuD,EAAwB,SAASv9C,GAC/B,MAAOA,IAAsB,IAAhBA,EAAGpO,WAA6D,UAA1C0rC,EAAKhtC,IAAIyV,iBAAiB/F,GAAI+e,SAAuBrwB,EAASM,KAAKmoC,OAAO,KAAM,OAAOlhC,SAAS+J,EAAGlO,YAExIivC,EAAW,SAAS/uC,GAClB,GAAIwrD,GAAQxrD,CACZ,IAAIwrD,EACF,KAAOA,IAA8B,IAAnBA,EAAM5rD,UAAkB4rD,EAAMthB,UAAUjmC,SAAS,2BAAkD,IAAnBunD,EAAM5rD,UAAkB,QAAUkI,KAAK0jD,EAAMh5C,QAC7Ig5C,EAAQA,EAAM3lD,eAGlB,OAAO2lD,GAGb/mC,GAAajlB,EAAEie,aACfiH,EAAWllB,EAAEie,aAETje,EAAEuY,YAG8B,IAA9BvY,EAAE0V,eAAetV,UAAkBJ,EAAEwW,YAAcxW,EAAE0V,eAAe1C,KAAKrR,OAC3E3B,EAAE6+B,QAAQ,YAAa,GACgB,IAA9B7+B,EAAE0V,eAAetV,UAAkBJ,EAAE0V,eAAehU,WAAW1B,EAAEwW,cAAwE,IAAxDxW,EAAE0V,eAAehU,WAAW1B,EAAEwW,aAAapW,UAAkBJ,EAAE0V,eAAehU,WAAW1B,EAAEwW,aAAaxD,KAAKrR,OAAS,EAChN3B,EAAE6+B,QAAQ,YAAa,GAEvB7+B,EAAEwW,YAAc,IAEgB,IAA9BxW,EAAE0V,eAAetV,UAEe,IAA9BJ,EAAE0V,eAAetV,WAChB2rD,EAAsBxc,EAASvvC,EAAE0V,eAAehU,WAAW1B,EAAEwW,YAAc,OAIhFxW,EAAEykB,UAAU,YAAa,KAGxBzkB,EAAEuY,WACLvY,EAAE8e,WAAWhhB,KAAKiB,IAAIc,eAAe3C,EAASc,kBAIhD0tD,EAAO1rD,EAAE8hB,YAAYmpC,uBAErB,GACEW,GAAS5rD,EAAEykB,UAAU,YAAa,IAClConC,EAAY7rD,EAAE8hB,YAAYmpC,wBAErBY,GAAY3nC,KAAKC,MAAM0nC,EAAS7Y,OAAS9uB,KAAKC,MAAMunC,EAAK1Y,OAC5DhzC,EAAEykB,UAAU,YAAa,GACzBqnC,GAAQ,GAEV52B,UACkB,IAAX02B,IAAiBE,GAAiB,IAAR52B,EAKnC,IAJAA,EAAQ,EACR42B,GAAQ,EACRJ,EAAO1rD,EAAE8hB,YAAYmpC,wBAEjBjrD,EAAE2V,eAAiB7X,KAAKonD,SAAYpnD,KAAKonD,QAAQ/lC,WAAarhB,KAAKonD,QAAQxjD,WAAW1B,EAAEyW,aAAe3Y,KAAKonD,QAAQ/lC,UACtH,EACEysC,GAAS5rD,EAAE6+B,QAAQ,YAAa,GAChCgtB,EAAY7rD,EAAE8hB,YAAYmpC,wBACrBY,GAAY3nC,KAAKC,MAAM0nC,EAASI,UAAY/nC,KAAKC,MAAMunC,EAAKO,UAC/DjsD,EAAE6+B,QAAQ,YAAa,IAInB7+B,EAAE2V,cAA4C,IAA5B3V,EAAE2V,aAAavV,UAAkBJ,EAAE2V,aAAajU,WAAW1B,EAAEyW,YAAkE,IAApDzW,EAAE2V,aAAajU,WAAW1B,EAAEyW,WAAWrW,UAAsE,OAApDJ,EAAE2V,aAAajU,WAAW1B,EAAEyW,WAAWnW,UAAqBN,EAAE2V,aAAajU,WAAW1B,EAAEyW,WAAWpQ,kBACnL,IAApErG,EAAE2V,aAAajU,WAAW1B,EAAEyW,WAAWpQ,gBAAgBjG,SACzDJ,EAAEsB,OAAOtB,EAAE2V,aAAajU,WAAW1B,EAAEyW,WAAWpQ,gBAAiBrG,EAAE2V,aAAajU,WAAW1B,EAAEyW,WAAWpQ,gBAAgB3E,WAAWC,QACtD,IAApE3B,EAAE2V,aAAajU,WAAW1B,EAAEyW,WAAWpQ,gBAAgBjG,UAChEJ,EAAEsB,OAAOtB,EAAE2V,aAAajU,WAAW1B,EAAEyW,WAAWpQ,gBAAiBrG,EAAE2V,aAAajU,WAAW1B,EAAEyW,WAAWpQ,gBAAgB2M,KAAKrR,SAGjImqD,GAAQ,GAEV52B,UACkB,IAAX02B,IAAiBE,GAAiB,IAAR52B,EAErCl1B,GAAEunB,SACFzpB,KAAKqtD,4BAGPe,QAAS,WACP,GAAIzuD,GAAYK,KAAK+C,cACrB,OAAOpD,GAAYA,EAAUyK,WAAa,IAG5CsY,SAAU,SAASpgB,EAAUwX,GAC3B,GAAI9N,GAAQhM,KAAKsnD,UACjB,OAAIt7C,GACKA,EAAM0W,SAASla,MAAMu/B,QAAQzlC,GAAYA,GAAYA,GAAWwX,OAS3Eu0C,YAAa,SAAS/rD,EAAUwX,EAAQw0C,GAGtC,IAAK,GAFDrkC,GAASjqB,KAAK6oD,eACd1uC,KACKjY,EAAI,EAAGqsD,EAAOtkC,EAAOpmB,OAAY0qD,EAAJrsD,EAAUA,IAC1C+nB,EAAO/nB,KACLosD,GACFrkC,EAAO/nB,GAAG8c,kBAEZ7E,EAAQA,EAAMlT,OAAOgjB,EAAO/nB,GAAGwgB,SAASla,MAAMu/B,QAAQzlC,GAAYA,GAAYA,GAAWwX,IAI7F,OAAOK,IAGTq0C,iBAAkB,SAASxiD,GACzB,GAAIhM,KAAKonD,SAAWpnD,KAAKonD,QAAQtjD,YAAckI,EAAO,CACpD,GAAIyiD,GAAcziD,EAAMwV,YAAYxhB,KAAKonD,QACzC,IAAoB,IAAhBqH,EACkB,IAAhBA,GACFziD,EAAMqS,eAAere,KAAKonD,QAAQtjD,YAEhB,IAAhB2qD,GACFziD,EAAMwS,YAAYxe,KAAKonD,QAAQ/lC,WAEb,IAAhBotC,IACFziD,EAAMqS,eAAere,KAAKonD,QAAQtjD,YAClCkI,EAAMwS,YAAYxe,KAAKonD,QAAQ/lC,gBAE5B,IAAIrhB,KAAK0uD,2BAA2B1iD,GAAQ,CACjD,GAAI2iD,GAAyB3iD,EAAM6L,aAAa82C,sBAC5CA,IACF3iD,EAAMxI,OAAOmrD,EAAwB3uD,KAAK4uD,kBAAkBD,OAMpEC,kBAAmB,SAASlsD,GAC1B,GAAIsJ,GAAQ5J,SAASD,aAErB,OADA6J,GAAM0S,mBAAmBhc,GAClBsJ,EAAM2M,WAGf+1C,2BAA4B,SAAS1iD,GACnC,GAAIuH,GAAWhU,EAAI6I,wBAAwB4D,EAAM4L,eAAgB5L,EAAM6L,aACvE,OACqB,IAAnB7L,EAAM2M,WACK,EAAXpF,GAIJ+zC,SAAU,SAASuH,GACjB,GAAIlvD,GAAYK,KAAK+C,eACjBiJ,EAAQrM,GAAaA,EAAU+oB,YAAc/oB,EAAUyqB,WAAW,EAMtE,OAJIykC,MAAY,GACd7uD,KAAKwuD,iBAAiBxiD,GAGjBA,GAGTq9C,kBAAmB,WACjB,GAAIyF,GAAiBvvD,EAAIgyC,MAAMvxC,KAAKonD,QAAS,IAAMpnD,KAAKqnD,mBACpD0H,EAAkBxvD,EAAIgyC,MAAMud,EAAgB,IAAM9uD,KAAKqnD,kBAE3D,OAAOjoD,GAASM,KAAKmoC,MAAMinB,GAAgB9mB,QAAQ+mB,IAMrDlG,aAAc,WACZ,GAEImG,GAFA/kC,KACA/nB,EAAIlC,KAAKsnD,UAKb,IAFIplD,GAAK+nB,EAAOhqB,KAAKiC,GAEjBlC,KAAKqnD,mBAAqBrnD,KAAKonD,SAAWllD,EAAG,CAC/C,GACI+sD,GADA7F,EAAcppD,KAAKqpD,mBAEvB,IAAID,EAAYvlD,OAAS,EACvB,IAAK,GAAIgD,GAAI,EAAGs1C,EAAOiN,EAAYvlD,OAAYs4C,EAAJt1C,EAAUA,IAAK,CACxDmoD,IACA,KAAK,GAAIlc,GAAI,EAAGoc,EAAOjlC,EAAOpmB,OAAYqrD,EAAJpc,EAAUA,IAAK,CACnD,GAAI7oB,EAAO6oB,GACT,OAAQ7oB,EAAO6oB,GAAGtxB,YAAY4nC,EAAYviD,KACxC,IAAK,GAEL,KACA,KAAK,GAEHooD,EAAWhlC,EAAO6oB,GAAG3yB,aACrB8uC,EAAS1wC,aAAa6qC,EAAYviD,IAClCmoD,EAAU/uD,KAAKgvD,GAEfA,EAAWhlC,EAAO6oB,GAAG3yB,aACrB8uC,EAAS3wC,cAAc8qC,EAAYviD,IACnCmoD,EAAU/uD,KAAKgvD,EACjB,MACA,SAEED,EAAU/uD,KAAKgqB,EAAO6oB,IAG5B7oB,EAAS+kC,IAKjB,MAAO/kC,IAGTlnB,aAAc,WACZ,MAAOoI,OAAMpI,aAAa/C,KAAKgB,MAMjCumD,aAAc,SAASv7C,GACrB,GAAIrM,GAAYwL,MAAMpI,aAAa/C,KAAKgB,IAExC,OADArB,GAAU0qB,eAAere,GACjBrM,GAAaA,EAAUqD,YAAcrD,EAAUuD,UAAavD,EAAY,MAMlFwvD,UAAW,WACT,GAKI9tD,GALA2K,EAAQhM,KAAKmC,cACbuyC,EAAW10C,KAAK00C,SAChB1G,EAAOhuC,KACPovD,EAAezI,EAA0B3mD,KAAK00C,SAASzvC,SACvDoqD,EAAiB1I,EAA0B3mD,KAAK00C,SAASzvC,SAGzDqqD,EAAW,WACbtjD,EAAMzI,SAASmxC,EAASzvC,QAAS,GACjC+G,EAAMxI,OAAOkxC,EAASzvC,QAASyvC,EAASzvC,QAAQrB,WAAWC,QAC3DxC,EAAI2sC,EAAKuZ,aAAav7C,IAGpBujD,EAAc,WAChB,OAAQluD,GAAMA,EAAEmnB,iBAAmBnnB,EAAEmnB,gBAAgB/lB,OAAoC,UAA3BpB,EAAEmnB,gBAAgB/lB,MAA+C,SAA3BpB,EAAEmnB,gBAAgB/lB,MAGxHrD,GAASG,IAAIigD,sBAAsBx/C,KAAK00C,SAASzvC,SACjDqqD,IAEItvD,KAAK00C,SAASzvC,QAAQnB,YAAcyrD,MAEtCvvD,KAAK00C,SAASzvC,QAAQ5B,YAAY+rD,GAClCE,IAEIC,MAEFH,EAAarrD,WAAWC,YAAYorD,GAGpCpvD,KAAK00C,SAASzvC,QAAQgO,aAAao8C,EAAgBrvD,KAAK00C,SAASzvC,QAAQnB,YACzEwrD,IAEIC,MAEFvvD,KAAK00C,SAASzvC,QAAQ5B,YAAY+rD,GAClCE,QAMRntD,YAAa,WACX,MAAOgJ,OAAMhJ,YAAYnC,KAAKiB,MAGhCqkB,YAAa,WACT,MAAOtlB,MAAK+C,eAAeuiB,aAG/BkqC,QAAS,WACP,MAAOxvD,MAAK+C,eAAe2e,UAG7B+tC,aAAc,WACZ,MAAOzvD,MAAK+C,eAAeqH,YAG7BslD,iBAAkB,SAASC,GACzB,GAAI3jD,GAAQhM,KAAKsnD,WACb/hD,EAAgByG,EAAM4O,wBACtBgF,EAAY5T,EAAM4L,eAClB+H,EAAU3T,EAAM6L,YAOlB,IAJItS,EAAcjD,WAAalD,EAASoB,YACtC+E,EAAgBA,EAAcxB,YAG5B6b,EAAUtd,WAAalD,EAASoB,YAAc,QAAUgK,KAAKoV,EAAU1K,KAAK+2B,OAAOjgC,EAAM0M,cAC3F,OAAO,CAGT,IAAIiH,EAAQrd,WAAalD,EAASoB,YAAc,QAAUgK,KAAKmV,EAAQzK,KAAK+2B,OAAOjgC,EAAM2M,YACvF,OAAO,CAGT,MAAOiH,GAAaA,IAAcra,GAAe,CAC/C,GAAIqa,EAAUtd,WAAalD,EAASoB,YAAcpB,EAASG,IAAIoH,SAASpB,EAAeqa,GACrF,OAAO,CAET,IAAIxgB,EAASG,IAAIqxC,QAAQhxB,GAAW4xB,MAAMG,kBAAkB,IAC1D,OAAO,CAET/xB,GAAYA,EAAU7b,WAGxB,KAAO4b,GAAWA,IAAYpa,GAAe,CAC3C,GAAIoa,EAAQrd,WAAalD,EAASoB,YAAcpB,EAASG,IAAIoH,SAASpB,EAAeoa,GACnF,OAAO,CAET,IAAIvgB,EAASG,IAAIqxC,QAAQjxB,GAAS7I,MAAM66B,kBAAkB,IACxD,OAAO,CAEThyB,GAAUA,EAAQ5b,WAGpB,MAAQ3E,GAASM,KAAKmoC,MAAM8nB,GAAWhpD,SAASpB,EAAc/C,UAAa+C,GAAgB,GAG/FqqD,iBAAkB,WAChB,GAAI3nC,GAAMjoB,KAAK+C,eACX8E,EAAQogB,EAAI/kB,UACZuE,EAAQwgB,EAAIjlB,UAWhB,OARI6E,IAA4B,IAAnBA,EAAMvF,WACjBuF,EAAQA,EAAM9D,YAGZ0D,GAA4B,IAAnBA,EAAMnF,WACjBmF,EAAQA,EAAM1D,YAGT0D,GAASI,IACRzI,EAASG,IAAIoH,SAAS3G,KAAK00C,SAASzvC,QAAS4C,IAAU7H,KAAK00C,SAASzvC,UAAY4C,KACjFzI,EAASG,IAAIoH,SAAS3G,KAAK00C,SAASzvC,QAASwC,IAAUzH,KAAK00C,SAASzvC,UAAYwC,IAG3FooD,SAAU,WACR,GAAI5nC,GAAMjoB,KAAK+C,cACfklB,IAAOA,EAAIxkB,sBAIdrE,UAQHA,SAAS0wD,SAAWxmD,KAAKC,QAEvBM,YAAa,SAAS84C,GACpB3iD,KAAK2iD,OAAWA,EAChB3iD,KAAK00C,SAAWiO,EAAOjO,SACvB10C,KAAKiB,IAAWjB,KAAK00C,SAASzzC,KAUhC8uD,QAAS,SAASrqB,GAChB,MAAOtmC,UAASyjC,QAAQuC,gBAAgBplC,KAAKiB,IAAKykC,IAWpDnU,KAAM,SAASmU,EAASx/B,GACtB,GAAIkK,GAAUhR,SAASE,SAASomC,GAC5BvnB,EAAU/e,SAASM,KAAKmoC,MAAM79B,WAAWjE,MACzC0E,EAAU2F,GAAOA,EAAImhB,KACrBN,EAAU,IAWd,IAPIjxB,KAAK00C,SAASwO,sBAAwB9jD,SAASM,KAAKmoC,OAAO,eAAgB,uBAAwB,6BAA6BlhC,SAAS++B,KAC3I1lC,KAAK00C,SAASzvC,QAAQoQ,UAAY,GAClCrV,KAAK00C,SAAS/0C,UAAUgf,WAAW3e,KAAK00C,SAASzvC,UAGnDjF,KAAK2iD,OAAOxZ,KAAK,0BAEb1+B,EACF0T,EAAKqV,QAAQxzB,KAAK00C,UAClBzjB,EAASxmB,EAAOrG,MAAMgM,EAAK+N,OAE3B,KAEE8S,EAASjxB,KAAKiB,IAAI+iC,YAAY0B,GAAS,EAAOx/B,GAC9C,MAAMtE,IAIV,MADA5B,MAAK2iD,OAAOxZ,KAAK,yBACVlY,GAGTzrB,OAAQ,SAASkgC,EAASsqB,GACxB,GAAI5/C,GAAUhR,SAASE,SAASomC,GAC5BvnB,EAAU/e,SAASM,KAAKmoC,MAAM79B,WAAWjE,MACzC0E,EAAU2F,GAAOA,EAAI5K,MACzB,OAAIiF,IACF0T,EAAKqV,QAAQxzB,KAAK00C,UACXjqC,EAAOrG,MAAMgM,EAAK+N,IAF3B,QAgBF8xC,MAAO,SAASvqB,EAASsqB,GACvB,GAAI5/C,GAAUhR,SAASE,SAASomC,GAC5BvnB,EAAU/e,SAASM,KAAKmoC,MAAM79B,WAAWjE,MACzC0E,EAAU2F,GAAOA,EAAI6/C,KACzB,IAAIxlD,EAEF,MADA0T,GAAKqV,QAAQxzB,KAAK00C,UACXjqC,EAAOrG,MAAMgM,EAAK+N,EAEzB,KAEE,MAAOne,MAAKiB,IAAIijC,kBAAkBwB,GAClC,MAAM9jC,GACN,OAAO,IAMbsuD,WAAY,SAASxqB,GACnB,GAAIt1B,GAAUhR,SAASE,SAASomC,GAC5BvnB,EAAU/e,SAASM,KAAKmoC,MAAM79B,WAAWjE,MACzC0E,EAAU2F,GAAOA,EAAI8/C,UACzB,OAAIzlD,IACF0T,EAAKqV,QAAQxzB,KAAK00C,UACXjqC,EAAOrG,MAAMgM,EAAK+N,KAElB,KAKb,SAAU/e,GAOR,QAAS+wD,GAAWjqD,GAClB,GAAIuK,GAA2B,gBAAVvK,GAAqBA,GAAS23C,KAAQ33C,EAC3D,OAAO9G,GAASM,KAAKqL,WAAWw+B,MAAMmjB,GAAanjB,OAAOwG,UAAat/B,IAAU1K,MAPnF,GAAI2mD,IACFlqD,SAAU,IACVkE,QAAQ,EAQVtH,GAASE,SAAS8wD,YAChB7+B,KAAM,SAASmjB,EAAUhP,EAASx/B,GAChC,GAAImqD,GAAOF,EAAWjqD,EAEtB,IAAIwuC,EAAS/0C,UAAU2lB,gBAAkBtlB,KAAKiwD,MAAMvb,EAAUhP,GAAU,CACtE,GAAIpvB,GAAWo+B,EAASzzC,IAAIc,eAAesuD,EAAKtgB,UAAU8N,KAC1DnJ,GAAS/0C,UAAUqhB,WAAW1K,GAC9Bo+B,EAAS/0C,UAAUgf,WAAWrI,GAEhClX,EAASE,SAASgxD,aAAa/+B,KAAKmjB,EAAUhP,EAAS2qB,IAGzDJ,MAAO,SAASvb,EAAUhP,GACxB,MAAOtmC,GAASE,SAASgxD,aAAaL,MAAMvb,EAAUhP,EAASgnB,MAIlEttD,UAOH,SAAUA,GASR,QAASmxD,GAAiC9/C,GACxC,OACEjO,SAAUiO,EAAQjO,UAAY,KAC9B6D,UAAaoK,EAAQiiC,YAA2C,KAA5BjiC,EAAQpK,WAAa,KACzDqsC,YAAajiC,EAAQiiC,aAAe,KACpCC,cAAeliC,EAAQkiC,eAAiB,MAI5C,QAAS+T,GAAahkD,EAAM8Q,GAC1B,MAAsB,KAAlB9Q,EAAKJ,SACAI,EAEAA,EAAKkB,WAAW4P,IAAW9Q,EAKtC,QAAS47B,GAAKn3B,GACZ,MAAOA,IAAoB,IAAfA,EAAE7E,UAAiC,OAAf6E,EAAE3E,SAIpC,QAASguD,GAAQrpD,EAAGutC,GAClB,MAAOvtC,IAAoB,IAAfA,EAAE7E,UAA+D,UAA7CoyC,EAAS1zC,IAAIyV,iBAAiBtP,GAAGsoB,QAInE,QAASghC,GAAWtpD,GAClB,MAAOA,IAAoB,IAAfA,EAAE7E,UAAkB6E,EAAEylC,UAAUjmC,SAAS,0BAIvD,QAAS+pD,GAAevpD,EAAGutC,GACzB,MAAOpW,GAAKn3B,IAAMqpD,EAAQrpD,EAAGutC,GAI/B,QAASic,GAAQjc,EAAUkc,GACzBxxD,EAASG,IAAIigD,sBAAsB9K,EAASzvC,QAQ5C,KAAK,GAFD4rD,GALA30C,EAAYw4B,EAASzvC,QACrB6rD,EAAc50C,EAAU9W,iBAAiB2rD,GACzCC,EAActc,EAAStnC,OAAO6jD,WAAWC,qBAAwB,IAAKjqD,OAAO8pD,EAAezqD,MAAM,MAAMC,KAAK,KAAOmuC,EAAStnC,OAAO6jD,WAAWC,oBAAsB,KACrK9H,EAAcltC,EAAU9W,iBAAiB4rD,GACzC9rD,EAAW9F,EAASM,KAAKmoC,MAAMipB,GAAa9oB,QAAQohB,GAG/CviD,EAAI3B,EAASrB,OAAQgD,KAC2B,KAAnD3B,EAAS2B,GAAGwO,UAAUqR,QAAQ,YAAa,KAA2C,IAA5BkqC,EAAiB/sD,QAAgBqB,EAAS2B,KAAO+pD,EAAiBA,EAAiB/sD,OAAS,KAExJgtD,EAAQzxD,EAASM,KAAKmoC,MAAM+oB,GAAkBruD,QAAQ2C,EAAS2B,IAC3DgqD,EAAQ,IACVD,EAAiBnqD,OAAOoqD,EAAO,GAEjC3rD,EAAS2B,GAAG9C,WAAWC,YAAYkB,EAAS2B,IAIhD,OAAO+pD,GAGT,QAASO,GAAgBzc,GACvB,MAAOA,GAAStnC,OAAO4yC,cAAgB,MAAQ,IAIjD,QAASoR,GAAe1uD,EAAMwZ,EAAWm1C,GAIvC,IAHA,GAAIlqD,GAAIzE,EACJsI,EAAQ,KAEL7D,GAAK+U,GAAa/U,IAAM+U,GACV,IAAf/U,EAAE7E,UAAkB6E,EAAExC,QAAQ0sD,EAAYN,EAAiBO,KAC7DtmD,EAAQ7D,GAEVA,EAAIA,EAAEpD,UAGR,OAAOiH,GAKT,QAASumD,GAAkB7uD,EAAMwZ,GAO/B,IANA,GACIs1C,GACAztD,EAEA0tD,EAJAtqD,EAAIzE,EAGJgO,EAAK,KAGFvJ,GAAK+U,GAAa/U,IAAM+U,GACV,IAAf/U,EAAE7E,UAAkB6E,EAAExC,QAAQ+sD,KAChC3tD,EAAaoD,EACF,OAAPuJ,GACFA,EAAKvJ,EAAEkM,WAAU,GACjBm+C,EAAY9gD,IAEZ+gD,EAAMtqD,EAAEkM,WAAU,GAClBo+C,EAAIpuD,YAAYqN,GAChBA,EAAK+gD,IAGTtqD,EAAIA,EAAEpD,UAGR,QACEgO,OAAQhO,EACR4tD,UAAWjhD,EACX8gD,UAAWA,GAOf,QAASI,GAAsB3sD,EAASwL,EAASikC,GAwB/C,MAtBKzvC,KACHA,EAAUyvC,EAASzzC,IAAIY,cAAc4O,EAAQjO,UAAY2uD,EAAgBzc,IAEzEzvC,EAAQ5B,YAAYqxC,EAASzzC,IAAIc,eAAe3C,EAASc,mBAGvDuQ,EAAQjO,UAAYyC,EAAQzC,WAAaiO,EAAQjO,WACnDyC,EAAU1F,EAAIkgD,cAAcx6C,EAASwL,EAAQjO,WAI3CiO,EAAQiiC,cACVztC,EAAQoB,UAAYpB,EAAQoB,UAAUqgB,QAAQjW,EAAQiiC,YAAa,KAEjEjiC,EAAQpK,WACVpB,EAAQ2nC,UAAUpmC,IAAIiK,EAAQpK,WAG5BoK,EAAQkiC,eAA+C,mBAAvBliC,GAAQuiC,aAC1C/tC,EAAQsqB,MAAMnwB,EAASyjC,QAAQ6E,YAAYj3B,EAAQkiC,gBAAkBliC,EAAQuiC,YAGxE/tC,EAKT,QAAS4sD,GAAyB5sD,EAASwL,EAASikC,GAClD,GAAInlB,GACAkiB,EAAWxsC,EAAQsD,gBACnByK,EAAW/N,EAAQ+B,YACnB8qD,GAAY,CAEZrhD,GAAQkiC,gBACV1tC,EAAQsqB,MAAMnwB,EAASyjC,QAAQ6E,YAAYj3B,EAAQkiC,gBAAkB,IAEnEliC,EAAQpK,WACVpB,EAAQ2nC,UAAUpnC,OAAOiL,EAAQpK,WAG/BoK,EAAQiiC,cACVztC,EAAQoB,UAAYpB,EAAQoB,UAAUqgB,QAAQjW,EAAQiiC,YAAa,KAI/B,OAAlCztC,EAAQkhC,aAAa,UAA8D,KAAzClhC,EAAQkhC,aAAa,SAAS7K,QAC1Er2B,EAAQ8sD,gBAAgB,SAGtBthD,EAAQjO,UAAYyC,EAAQzC,SAASyL,gBAAkBwC,EAAQjO,SAASyL,gBAC1EshB,EAAQtqB,EAAQkhC,aAAa,SACxB5W,GAA0B,KAAjBA,EAAM+L,OAIlBr2B,EAAU1F,EAAIkgD,cAAcx6C,EAASksD,EAAgBzc,KAHrDn1C,EAAIu6C,OAAO70C,GACX6sD,GAAY,IAOsB,OAAlC7sD,EAAQkhC,aAAa,UAA8D,KAAzClhC,EAAQkhC,aAAa,SAAS7K,QAC1Er2B,EAAQ8sD,gBAAgB,SAGtBD,GACFE,EAA2BvgB,EAAUz+B,EAAU0hC,GAMnD,QAASud,GAAwBhtD,GAI/B,IAAK,GAFDitD,GAAQC,EADRC,EAASntD,EAAQG,iBAAiB2rD,OAG7BlqD,EAAIurD,EAAOvuD,OAAQgD,KAC1BqrD,EAAS9yD,EAASG,IAAIqxC,QAAQwhB,EAAOvrD,IAAIiQ,MAAM+C,WAAY,EAAE,GAAI83B,kBAAkB,IACnFwgB,EAAS/yD,EAASG,IAAIqxC,QAAQwhB,EAAOvrD,IAAI2qC,MAAM33B,WAAY,EAAE,GAAI83B,kBAAkB,IAE/EugB,GAA8B,IAApBA,EAAO5vD,UAAsC,OAApB4vD,EAAO1vD,UACsB,MAA7D4vD,EAAOvrD,GAAGwO,WAAa+8C,EAAOvrD,GAAGsB,WAAa,IAAImzB,QACrD82B,EAAOvrD,GAAG9C,WAAWkP,aAAam/C,EAAOvrD,GAAG1B,cAActD,cAAc,MAAOqwD,GAG/EA,GAA8B,IAApBA,EAAO5vD,UAAsC,OAApB4vD,EAAO1vD,UACsB,MAA7D4vD,EAAOvrD,GAAGwO,WAAa+8C,EAAOvrD,GAAGsB,WAAa,IAAImzB,QACrD82B,EAAOvrD,GAAG9C,WAAWkP,aAAam/C,EAAOvrD,GAAG1B,cAActD,cAAc,MAAOqwD,GAGnF9yD,EAASG,IAAIu6C,OAAOsY,EAAOvrD,IAK/B,QAASwrD,GAAiBrmD,EAAO0oC,GAC/B,GAAIhyC,GACAC,EAAQqJ,EAAM4L,eACd/U,EAAMmJ,EAAM6L,YAIhB,OAAIlV,IAA4B,IAAnBA,EAAML,UAAkBK,IAAUE,OACzCF,EAAMmB,aAAenB,EAAM0e,WAAiC,IAApBrV,EAAM2M,WAC5ChW,IAAU+xC,EAASzvC,SAA8B,OAAnBtC,EAAMH,UAAwC,OAAnBG,EAAMH,WACjEwJ,EAAMqS,eAAe1b,GACrBqJ,EAAMwS,YAAY3b,KAOpBF,GAA4B,IAAnBA,EAAML,UAAmC,IAAjBO,EAAIP,cACnCK,EAAMmB,aAAejB,GAAOmJ,EAAM2M,YAAc9V,EAAIqS,KAAKrR,QACvDlB,IAAU+xC,EAASzvC,SAA8B,OAAnBtC,EAAMH,UAAwC,OAAnBG,EAAMH,UACjEwJ,EAAMwS,YAAY7b,IAOpBE,GAAwB,IAAjBA,EAAIP,UAAqC,IAAnBK,EAAML,cACjCO,EAAIiB,aAAenB,GAA+B,IAAtBqJ,EAAM0M,aAChC7V,IAAQ6xC,EAASzvC,SAA4B,OAAjBpC,EAAIL,UAAsC,OAAjBK,EAAIL,UAC3DwJ,EAAMqS,eAAexb,IAOvBF,GAA4B,IAAnBA,EAAML,UAAkBK,IAAUE,GAA8C,IAAvCF,EAAMoB,WAAWH,WAAWC,YAC5EmI,EAAM2M,WAAa9V,EAAIqS,KAAKrR,QAAgC,IAAtBmI,EAAM0M,cAC9ChW,EAAOC,EAAMoB,WACTrB,IAASgyC,EAASzvC,SAA6B,OAAlBvC,EAAKF,UAAuC,OAAlBE,EAAKF,WAC9DwJ,EAAMqS,eAAe3b,GACrBsJ,EAAMwS,YAAY9b,MALxB,OAeF,QAAS4vD,GAA+BroC,GAItC,IAAK,GAFDsoC,GAAKzf,EAAG0f,EAAMvD,EAAUwD,EAAUC,EADlCC,KAGK9rD,EAAI,EAAGkiD,EAAO9+B,EAAOpmB,OAAYklD,EAAJliD,EAAUA,IAoB9C,GAjB0C,IAAtCojB,EAAOpjB,GAAG+Q,eAAetV,UAAkB2nB,EAAOpjB,GAAG+Q,eAAejT,QAAQ,WAC9EslB,EAAOpjB,GAAGtD,SAAS0mB,EAAOpjB,GAAG+Q,eAAehU,WAAWqmB,EAAOpjB,GAAG6R,aAAc,GAEzC,IAApCuR,EAAOpjB,GAAGgR,aAAavV,UAAkB2nB,EAAOpjB,GAAGgR,aAAalT,QAAQ,YAC1E+tD,EAAYzoC,EAAOpjB,GAAGgR,aAAajU,WAAWwiB,KAAKsiB,IAAIze,EAAOpjB,GAAG8R,UAAY,EAAG,IAC5E+5C,EAAU9uD,YACZqmB,EAAOpjB,GAAGrD,OAAOkvD,EAAWA,EAAU9uD,WAAWC,SAQrD0uD,EAAMtoC,EAAOpjB,GAAG6b,UAAU,GAAI,SAAShgB,GACrC,MAAyB,OAAlBA,EAAKF,WAEV+vD,EAAI1uD,OAAS,EAAG,CAElB,IAAKivC,EAAI,EAAG0f,EAAOD,EAAI1uD,OAAY2uD,EAAJ1f,EAAUA,IACvC2f,EAAWxoC,EAAOpjB,GAAG2a,YAAY+wC,EAAIzf,KAGjC2f,IAAaxoC,EAAOpjB,GAAGkW,YAAc01C,IAAaxoC,EAAOpjB,GAAGsW,eAG9D8xC,EAAWhlC,EAAOpjB,GAAGsZ,aACrBuyC,EAAYtzD,EAASG,IAAIqxC,QAAQ2hB,EAAIzf,IAAItB,MAAM33B,WAAY,KAEvD64C,EACFzD,EAASzrD,OAAOkvD,EAAWA,EAAU9uD,WAAWC,QACvC0uD,EAAIzf,GAAGxtC,QAAQ,UACxB2pD,EAAS1wC,aAAag0C,EAAIzf,GAAGxtC,QAAQ,WAErC2pD,EAAS1wC,aAAag0C,EAAIzf,IAE5B6f,EAAU1yD,KAAKgvD,GACfhlC,EAAOpjB,GAAGtD,SAASgvD,EAAIzf,GAAI,KAIzB2f,IAAaxoC,EAAOpjB,GAAGgW,aAAe41C,IAAaxoC,EAAOpjB,GAAGsW,eAG/D8xC,EAAWhlC,EAAOpjB,GAAGsZ,aACrB8uC,EAASzrD,OAAO+uD,EAAIzf,GAAIyf,EAAIzf,GAAGlvC,WAAWC,QAC1C8uD,EAAU1yD,KAAKgvD,GAGfyD,EAAYtzD,EAASG,IAAIqxC,QAAQ2hB,EAAIzf,IAAIh8B,MAAM+C,WAAY,KACvD64C,EACFzoC,EAAOpjB,GAAGtD,SAASmvD,EAAW,GACrBH,EAAIzf,GAAGxtC,QAAQ,UACxB2kB,EAAOpjB,GAAGyX,cAAci0C,EAAIzf,GAAGxtC,QAAQ,WAEvC2kB,EAAOpjB,GAAGyX,cAAci0C,EAAIzf,IAIlC6f,GAAU1yD,KAAKgqB,EAAOpjB,QAEtB8rD,GAAU1yD,KAAKgqB,EAAOpjB,GAG1B,OAAO8rD,GAKT,QAASC,GAAuBniD,EAASoiD,EAAane,GACpD,GAAIoe,GAAmB,EAAY1zD,EAASM,KAAKqL,OAAO0F,GAASwQ,OAAM,GAAQ,IAI/E,OAHI6xC,KACFA,EAAiBtwD,SAAWswD,EAAiBtwD,UAAYqwD,GAAe1B,EAAgBzc,IAEnFoe,EAMT,QAASC,GAAsBv9C,EAAUxJ,EAAO0oC,EAAUse,GACxD,GAEIC,GAAcC,EAAOC,EAAM3hB,EAAM16B,EAFjCs8C,EAAsBpnD,EAAM4L,eAC5Bo7C,EAAkBA,GAAmB5B,EAAegC,EAAqB1e,EAASzvC,SAAS,EAG/F,IAAI+tD,EAEFE,EAAQ19C,EAAS1R,WACjBqvD,EAAO39C,EAAS6L,UAEhBqzB,EAAS/0C,UAAU4sD,oBAAoByG,EAAiBx9C,GAExDsB,EAAO1X,EAASG,IAAIqxC,QAAQuiB,GAAMr8C,MAAM+C,WAAY,EAAE,GAAI83B,kBAAkB,IAC5EH,EAAOpyC,EAASG,IAAIqxC,QAAQsiB,GAAO1hB,MAAM33B,WAAY,EAAE,GAAI83B,kBAAkB,IAEzEuhB,IAAUxC,EAAewC,EAAOxe,IAAalD,IAASkf,EAAelf,EAAMkD,IAC7Ewe,EAAMnvD,WAAWkP,aAAayhC,EAASzzC,IAAIY,cAAc,MAAOqxD,GAG9DC,IAASzC,EAAeyC,EAAMze,IAAa59B,IAAS45C,EAAe55C,EAAM49B,IAC3E59B,EAAK/S,WAAWkP,aAAayhC,EAASzzC,IAAIY,cAAc,MAAOiV,OAMjE,IADAm8C,EAAe1B,EAAkB6B,EAAqB1e,EAASzvC,SAC3DguD,EAAatB,WAAasB,EAAazB,WAAayB,EAAalhD,OAAQ,CAC3E,GAAmC,IAA/ByD,EAAS5R,WAAWC,OAAc,CACpC,KAAM2R,EAAS1R,WAAWA,YACxBmvD,EAAazB,UAAUnuD,YAAYmS,EAAS1R,WAAWA,WAEzD0R,GAAS1R,WAAWT,YAAY4vD,EAAatB,WAE/Cjd,EAAS/0C,UAAU4sD,oBAAoB0G,EAAalhD,OAAQyD,OACvD,CACL,GAAI69C,GAAK79C,EAAS1R,WACdwvD,EAAK99C,EAAS6L,SAElBrV,GAAMgV,WAAWxL,GAEjBxJ,EAAMqS,eAAeg1C,GACrBrnD,EAAMwS,YAAY80C,IAMxB,QAASC,GAAyBvnD,EAAOwnD,EAAkB9e,GASzD,IARA,GAKI6O,GAAU6O,EALVlwD,EAAI8J,EAAMmU,aACVsxB,EAAWiV,EAAaxkD,EAAE0V,eAAgB1V,EAAEwW,aAAanQ,gBACzDyK,EAAW0zC,EAAaxkD,EAAE2V,aAAc3V,EAAEyW,WAAW3R,YACrDma,EAAUjf,EAAE0c,kBACZpJ,EAAWk/B,EAASzzC,IAAIwU,yBAExBy9C,GAAQ,EAEN/xC,EAAQrd,YAAY,CAExB,GAAoC,IAAhCqd,EAAQrd,WAAWxB,UAAkB6e,EAAQrd,WAAWa,QAAQosD,GAAiB,CAInFkB,EAAwB9wC,EAAQrd,YAChCy/C,EAAWnkD,EAASG,IAAIu6C,OAAO34B,EAAQrd,YAGnCy/C,EAAS1/C,OAAS,IAEjB2R,EAAS6L,YAA8C,IAAhC7L,EAAS6L,UAAU/e,WAAmBouD,EAAel7C,EAAS6L,UAAWqzB,MAC/Fl/B,EAAS6L,WAAaowB,IAAmC,IAAtBA,EAASnvC,UAAkBouD,EAAejf,EAAUiD,MAEzFl/B,EAASnS,YAAYqxC,EAASzzC,IAAIY,cAAc,MAIpD,KAAK,GAAIqpC,GAAI,EAAGuoB,EAAOlQ,EAAS1/C,OAAY4vD,EAAJvoB,EAAUA,IAChD11B,EAASnS,YAAYkgD,EAASrY,GAI5BqY,GAAS1/C,OAAS,IACgB,IAAhC2R,EAAS6L,UAAU/e,UAAmBouD,EAAel7C,EAAS6L,UAAWqzB,KACvE1hC,GAAYwC,EAAS6L,YAAcF,EAAQE,YAC7C7L,EAASnS,YAAYqxC,EAASzzC,IAAIY,cAAc,YAMtD2T,GAASnS,YAAY8d,EAAQrd,WAG/BovD,IAAQ,EAIV,MAFAd,GAAShzD,EAASM,KAAKmoC,MAAMryB,EAAS5R,YAAYmC,MAClDgtD,EAAsBv9C,EAAUtT,EAAGwyC,GAC5B0d,EAIT,QAASsB,GAA4BjiB,EAAUz+B,EAAU0hC,GACvD,GAAIif,GAAWliB,GAAYryC,EAASG,IAAIqxC,QAAQa,GAAUD,MAAM33B,WAAY,EAAE,GAAI83B,kBAAkB,GAChGrT,GAAKtrB,IACPA,EAASjP,WAAWC,YAAYgP,IAE9BsrB,EAAKmT,IAAekiB,GAAkC,IAAtBA,EAASrxD,UAAsE,UAApDoyC,EAAS1zC,IAAIyV,iBAAiBk9C,GAAUlkC,SACrGgiB,EAAS1tC,WAAWC,YAAYytC,GAIpC,QAASugB,GAA2BvgB,EAAUz+B,EAAU0hC,GACtD,GAAIif,EAEAliB,IAAYgf,EAAWhf,KACzBA,EAAWA,EAASlpC,iBAElByK,GAAYy9C,EAAWz9C,KACzBA,EAAWA,EAAShM,aAGtB2sD,EAAWliB,GAAYA,EAASlpC,gBAE5BkpC,IAAmC,IAAtBA,EAASnvC,UAAuE,UAApDoyC,EAAS1zC,IAAIyV,iBAAiBg7B,GAAUhiB,UAAwB6O,EAAKmT,KAAeA,EAAS1tC,YACxI0tC,EAAS1tC,WAAWkP,aAAayhC,EAASzzC,IAAIY,cAAc,MAAO4vC,EAASzqC,aAG1EgM,IAAmC,IAAtBA,EAAS1Q,UAAsE,UAApDoyC,EAAS1zC,IAAIyV,iBAAiBzD,GAAUyc,UAAwBzc,EAASjP,YACnHiP,EAASjP,WAAWkP,aAAayhC,EAASzzC,IAAIY,cAAc,MAAOmR,GAoCvE,QAAS4gD,GAAqB5nD,EAAOyE,EAAS+iD,EAAkB9e,GAC9D,GA0BIvU,GAASiyB,EA1BTyB,EAAiBpjD,EAAU8/C,EAAiC9/C,GAAW,KACvEvO,EAAI8J,EAAMmU,aACVizC,EAAsBlxD,EAAE0V,eACxBgI,EAAY8mC,EAAaxkD,EAAE0V,eAAgB1V,EAAEwW,aAC7CiH,EAAU+mC,EAAaxkD,EAAE2V,aAAc3V,EAAEyW,WACzC84B,EAAYvvC,EAAE0V,iBAAmBgI,GAAoC,IAAvBA,EAAUtd,UAAmBwxD,EAAmBl0C,EAAW1d,EAAEwW,aAA6BtZ,EAASG,IAAIqxC,QAAQhxB,GAAW4xB,MAAM33B,WAAY,EAAE,GAAI83B,kBAAkB,IAAvF/xB,EAC3H5M,EAEgC,IAA5B9Q,EAAE2V,aAAavV,UACfJ,EAAE2V,aAAajU,WAAW1B,EAAEyW,aAAegH,IAEpB,IAArBA,EAAQrd,WACPyxD,EAAkBp0C,EAASzd,EAAEyW,aAC7BvZ,EAASG,IAAIqxC,QAAQjxB,GAASmxB,GAAGI,kBAGpChvC,EAAE2V,eAAiB8H,GACE,IAArBA,EAAQrd,WACPyxD,EAAkBp0C,EAASzd,EAAEyW,WAE9BgH,EAAUvgB,EAASG,IAAIqxC,QAAQjxB,GAAS7I,MAAM+C,WAAY,EAAE,GAAI83B,kBAAkB,IACtFxwB,EAAUjf,EAAE0c,kBACZpJ,EAAWk/B,EAASzzC,IAAIwU,yBACxBu+C,EAAoBH,EAAiBz0D,EAASG,IAAI60C,iBAAiBgf,EAAqBS,EAAgB,KAAMnf,EAASzvC,SAAW,KAClIgvD,GAAkBT,IAAqB/iD,GAAiC,eAArBA,EAAQjO,UAAkD,eAArBgxD,EACxFR,EAAkBgB,GAAqB5C,EAAegC,EAAqB1e,EAASzvC,QAASgvD,EAWjG,IAPI70D,EAASG,IAAIqxC,QAAQ59B,GAAU89B,GAAGI,kBACpCvxB,EAAU3M,EACVA,EAAW2M,EAAQ3Y,aAGrBktD,EAAwB/yC,GAEpB1Q,GAAgC,eAArBA,EAAQjO,SAA2B,CAGhD,GAAI2xD,GAAQvC,EAAsB,KAAMnhD,EAASikC,EACjDyf,GAAM9wD,YAAY8d,GAClB3L,EAASnS,YAAY8wD,GACrB/B,GAAU+B,OAEL,CAEL,GAAKhzC,EAAQrd,WAKX,KAAMqd,EAAQrd,YAGZ,GAAmC,GAA/Bqd,EAAQrd,WAAWxB,UAAiB6e,EAAQrd,WAAWa,QAAQosD,GAIjEa,EAAsBzwC,EAAQrd,WAAY2M,EAASikC,GAC/CvzB,EAAQrd,WAAWa,QAAQ2sD,IAC7BW,EAAwB9wC,EAAQrd,YAElC0R,EAASnS,YAAY8d,EAAQrd,gBAExB,CAIL,IADAq8B,EAAUyxB,EAAsB,KAAMgB,EAAuBniD,EAAS+iD,EAAkB9e,GAAWA,GAC7FvzB,EAAQrd,aAA+C,IAAhCqd,EAAQrd,WAAWxB,WAAmB6e,EAAQrd,WAAWa,QAAQosD,KACzD,GAA/B5vC,EAAQrd,WAAWxB,UAAiB69B,EAAQx7B,QAAQ2sD,IACtDW,EAAwB9wC,EAAQrd,YAElCq8B,EAAQ98B,YAAY8d,EAAQrd,WAE9B0R,GAASnS,YAAY88B,OA1BzB3qB,GAASnS,YAAYuuD,EAAsB,KAAMnhD,EAASikC,GA+B5D0d,GAAShzD,EAASM,KAAKmoC,MAAMryB,EAAS5R,YAAYmC,MAcpD,MAZAgtD,GAAsBv9C,EAAUtT,EAAGwyC,EAAUse,GAC7CU,EAA4BjiB,EAAUz+B,EAAU0hC,GAI5C0d,EAAOvuD,OAAS,IAE+B,mBAAxCuuD,GAAOA,EAAOvuD,OAAS,GAAGwd,WAA6BjiB,EAASG,IAAIqxC,QAAQwhB,EAAOA,EAAOvuD,OAAS,GAAGwd,WAAWyvB,GAAGI,kBAG7HkhB,EAAOA,EAAOvuD,OAAS,GAAGR,YAAYqxC,EAASzzC,IAAIY,cAAc,OAE5DuwD,EAIT,QAASgC,GAAuBnvD,EAASyvC,GACvC,GAAI3wC,GAAa3E,EAASG,IAAI60C,iBAAiBnvC,GACzCssC,MAAOwf,GACN,KAAMrc,EAASzvC,QAEtB,OAAO,GAAelB,EAAWvB,SAAW,KAU9C,QAAS6xD,GAAmB3f,EAAU4f,GACpC,GAGItoD,GAHA+F,EAAS3S,EAASG,IAAI60C,iBAAiBM,EAAS/0C,UAAUkpD,eAAe,GAAGjxC,gBAC1E25B,MAAO+f,EAA4B,MAAQgD,EAAoBA,EAAkBrmD,cAAgB,QAChG,KAAMymC,EAASzvC,QAGlB8M,IACF/F,EAAQ0oC,EAAS/0C,UAAUwC,cAC3B6J,EAAM2S,WAAW5M,GACjB2iC,EAAS/0C,UAAU4nD,aAAav7C,IACtB0oC,EAAS3K,WACnB2K,EAAS/0C,UAAUstD,aAMvB,QAASsH,GAAe3D,EAAkBlc,GACxC,GAAI1oC,GAAQ0oC,EAAS/0C,UAAUwC,cAC3BqyD,EAAS5D,EAAiBA,EAAiB/sD,OAAS,GACpD4wD,EAAkC,IAApBD,EAAOlyD,UAAkBkyD,EAAO5wD,WAAyC,EAA3B4wD,EAAO5wD,WAAWC,OAAc2wD,EAAO3wD,QAAU,CAEjHmI,GAAMzI,SAASqtD,EAAiB,GAAI,GACpC5kD,EAAMxI,OAAOgxD,EAAQC,GACrBzoD,EAAMyd,SAMR,QAASirC,GAAgBjqD,EAAQiqC,EAAUjkC,GACzC,GAEI+iD,GAFAvpC,EAASyqB,EAAS/0C,UAAUkpD,eAC5B+H,IAIJ3mC,GAASqoC,EAA+BroC,EAExC,KAAK,GAAIpjB,GAAIojB,EAAOpmB,OAAQgD,KAC1BwrD,EAAiBpoC,EAAOpjB,GAAI6tC,GAC5B8e,EAAmBY,EAAuBnqC,EAAOpjB,GAAG+Q,eAAgB88B,GAElEkc,EADa,WAAXnmD,EACiBmmD,EAAiB3pD,OAAOssD,EAAyBtpC,EAAOpjB,GAAI2sD,EAAkB9e,IAE9Ekc,EAAiB3pD,OAAO2sD,EAAqB3pC,EAAOpjB,GAAI4J,EAAS+iD,EAAkB9e,GAG1G,OAAOkc,GAIT,QAAS+D,GAAalkD,GAMpB,MALuB,gBAAZA,KACTA,GACEjO,SAAUiO,EAAQglC,gBAGfhlC,EAGT,QAASmkD,GAAmBlgB,GAC1B,GAAImgB,EACJ,OAAIngB,GAAS/0C,UAAU2lB,gBACrBuvC,EAAYngB,EAAS/0C,UAAUoqD,oBAC3B8K,GAAaA,EAAU7K,YAGvB5qD,EAASG,IAAIqxC,QAAQikB,EAAU7K,WAAWlZ,GAAGhC,aAEX,IAAjC+lB,EAAU7K,UAAU1nD,UAA2C,IAAzBuyD,EAAU5K,cAAsB4K,EAAUpjB,UAAYryC,EAASG,IAAIqxC,QAAQikB,EAAUpjB,UAAUX,GAAGhC,cAEvG,IAAjC+lB,EAAU7K,UAAU1nD,UAAkBuyD,EAAU7K,UAAUpd,UAAUjmC,SAAS,6BAC1EkuD,EAAUpjB,UAAYryC,EAASG,IAAIqxC,QAAQikB,EAAUpjB,UAAUX,GAAGhC,aAAe1vC,EAASG,IAAIqxC,QAAQikB,EAAUpjB,UAAUX,GAAG9lC,YAC7H6pD,EAAU7hD,UAAY5T,EAASG,IAAIqxC,QAAQikB,EAAU7hD,UAAU89B,GAAGhC,aAAe1vC,EAASG,IAAIqxC,QAAQikB,EAAU7hD,UAAU89B,GAAG9lC,YAG1H,GAIN,EAzsBT,GAAIzL,GAAMH,EAASG,IAGf+xD,EAA4B,iCAC5BP,EAAiB,kDACjBW,EAAkB,6JAmelBoC,EAAqB,SAAUx9C,EAAU9C,GAC3C,GAAIk3B,GAAMp0B,EAASpB,KAAOoB,EAASpB,KAAKvE,MAAM,EAAG6C,GAAU,EAC3D,OAAO,QAAUhJ,KAAKkgC,IAGpBqpB,EAAoB,SAAUz9C,EAAU9C,GAC1C,GAAIk3B,GAAMp0B,EAASpB,KAAOoB,EAASpB,KAAKvE,MAAM6C,GAAU,EACxD,OAAO,QAAUhJ,KAAKkgC,IAGpBwpB,EAA0B,SAAS1+C,GACrC,GAAIA,EAAU,CACZ,KAAOA,EAAS1R,YAA+C,IAAjC0R,EAAS1R,WAAWxB,UAAkB,QAAUkI,KAAKgL,EAAS1R,WAAWoR,OAASM,EAAS6L,YAAc7L,EAAS1R,YAC9I0R,EAASxR,YAAYwR,EAAS1R,WAGhC,MAAO0R,EAAS6L,WAA6C,IAAhC7L,EAAS6L,UAAU/e,UAAkB,QAAUkI,KAAKgL,EAAS6L,UAAUnM,OAASM,EAAS6L,YAAc7L,EAAS1R,YAC3I0R,EAASxR,YAAYwR,EAAS6L,UAG5B7L,GAAS1R,YAA+C,IAAjC0R,EAAS1R,WAAWxB,UAAmD,OAAjCkT,EAAS1R,WAAWtB,UAAqBgT,EAAS6L,YAAc7L,EAAS1R,YACxI0R,EAASxR,YAAYwR,EAAS1R,YAG5B0R,EAAS6L,WAA6C,IAAhC7L,EAAS6L,UAAU/e,UAAkD,OAAhCkT,EAAS6L,UAAU7e,UAAqBgT,EAAS6L,YAAc7L,EAAS1R,YACrI0R,EAASxR,YAAYwR,EAAS6L,YA2MpCjiB,GAASE,SAASgmC,aAChB/T,KAAM,SAASmjB,EAAUhP,EAASj1B,GAChCA,EAAUkkD,EAAalkD,EACvB,IACmB0S,GAAU8sC,EADzBW,IAQJ,IAHIngD,GAAWA,EAAQ/J,SACrBupD,EAAQjwD,KAAKiwD,MAAMvb,EAAUhP,EAASj1B,IAEpCw/C,EAAO,CAET9sC,EAAWhY,MAAMilB,cAAcskB,EAAS1zC,IACxC,KAAK,GAAI8xC,GAAI,EAAGoc,EAAOe,EAAMpsD,OAAYqrD,EAAJpc,EAAUA,IAC7C+e,EAAyB5B,EAAMnd,GAAIriC,EAASikC,OAK1CA,GAAS/0C,UAAU2lB,gBACrBnC,EAAWhY,MAAMilB,cAAcskB,EAAS1zC,KACpC4zD,EAAmBlgB,GACrBA,EAAS/0C,UAAUstD,aAEnBoH,EAAmB3f,EAAUjkC,GAAWA,EAAQjO,SAAWiO,EAAQjO,SAASizC,cAAgB7tC,SAI9FgpD,EADEngD,EACiBikD,EAAgB,QAAShgB,EAAUjkC,GAGnCikD,EAAgB,SAAUhgB,EAOjDkc,GAAmBD,EAAQjc,EAAUkc,GAGjCztC,EACFhY,MAAMmlB,iBAAiBnN,GAEvBoxC,EAAe3D,EAAkBlc,IAKrClvC,OAAQ,SAASkvC,EAAUhP,EAASj1B,GAClCA,EAAUkkD,EAAalkD,EACvB,IAAImgD,GAAkBztC,CAGlBuxB,GAAS/0C,UAAU2lB,gBACrBnC,EAAWhY,MAAMilB,cAAcskB,EAAS1zC,KACxCqzD,EAAmB3f,EAAUjkC,GAAWA,EAAQjO,SAAWiO,EAAQjO,SAASizC,cAAgB7tC,SAG9FgpD,EAAmB8D,EAAgB,SAAUhgB,GAC7Ckc,EAAmBD,EAAQjc,EAAUkc,GAGjCztC,EACFhY,MAAMmlB,iBAAiBnN,GAEvBoxC,EAAe3D,EAAkBlc,IAKrCub,MAAO,SAASvb,EAAUhP,EAASj1B,GACjCA,EAAUkkD,EAAalkD,EASvB,KAAK,GAHDsB,GAJAoI,EAAQu6B,EAAS/0C,UAAUupD,eAAe,SAAWjkD,GACnD,MAAO7F,GAASG,IAAIqxC,QAAQ3rC,GAASuF,KAAKiG,IAAa8gC,MAAOwf,KAC7DjJ,KAAK9nD,OACR80D,EAAcpgB,EAAS/0C,UAAUipD,sBAI5B/hD,EAAI,EAAGkiD,EAAO+L,EAAYjxD,OAAYklD,EAAJliD,EAAUA,IACnDkL,EAASxS,EAAI60C,iBAAiB0gB,EAAYjuD,GAAI4J,IAAa8gC,MAAOwf,GAAkB,KAAMrc,EAASzvC,SAC/F8M,GAAoC,KAA1BoI,EAAM5X,QAAQwP,IAC1BoI,EAAMla,KAAK8R,EAIf,OAAyB,KAAjBoI,EAAMtW,QAAgB,EAAQsW,KAIzC/a,UAOH,SAAUA,GAWR,QAAS21D,GAAW9vD,GAClB,MAAO,QAAUuF,KAAKvF,EAAQoB,WAGhC,QAAS2uD,GAAW/vD,GAClB,OAAQA,EAAQkhC,aAAa,UAAY,QAAU37B,KAAKvF,EAAQkhC,aAAa,UAK/E,QAAS8uB,GAAgBhwD,GACvB,GAAIguC,GAAO7zC,EAASG,IAAI2zC,cAAcjuC,EACtC,OAAO7F,GAASM,KAAKqL,OAAOkoC,GAAMlJ,UAKpC,QAASmrB,GAAWC,EAAUC,GAC5B,GAAIC,GAAUC,EACVC,EAAOC,CAEX,OAA0B,KAAtBL,EAAS7yD,UAAwC,IAAtB8yD,EAAS9yD,UAC/B,EAGL6yD,EAAS3yD,WAAa4yD,EAAS5yD,UAC1B,GAGT6yD,EAAWF,EAAS9uD,UAAUi1B,OAAO5U,QAAQ,OAAQ,KAAKpgB,MAAM,KAChEgvD,EAAWF,EAAS/uD,UAAUi1B,OAAO5U,QAAQ,OAAQ,KAAKpgB,MAAM,KAC5DlH,EAASM,KAAKmoC,MAAMwtB,GAAUrtB,QAAQstB,GAAUzxD,OAAS,GACpD,GAGT0xD,EAAQn2D,EAASG,IAAI2zC,cAAciiB,GACnCK,EAAQp2D,EAASG,IAAI2zC,cAAckiB,GAE/BG,EAAM1xD,SAAW2xD,EAAM3xD,QAAWzE,EAASM,KAAKqL,OAAO3L,EAASM,KAAKqL,OAAOwqD,GAAO7rB,WAAW8rB,IAAQzrB,WAInG,GAHE,IAMX,QAAS0rB,GAAen/C,EAAU7F,GAChC,GAAIjO,GAAWiO,GAAWA,EAAQjO,UAAYkzD,EAC1CzwD,EAAUqR,EAASnR,cAActD,cAAcW,EAenD,IAZIiO,EAAQiiC,cACVztC,EAAQoB,UAAYpB,EAAQoB,UAAUqgB,QAAQjW,EAAQiiC,YAAa,KAGjEjiC,EAAQpK,WACVpB,EAAQ2nC,UAAUpmC,IAAIiK,EAAQpK,WAG5BoK,EAAQkiC,eAA+C,mBAAvBliC,GAAQuiC,aAC1C/tC,EAAQsqB,MAAMnwB,EAASyjC,QAAQ6E,YAAYj3B,EAAQkiC,gBAAkBliC,EAAQuiC,YAG3EviC,EAAQs/B,UACV,GAAiC,gBAAtBt/B,GAAQs/B,UACjB,IAAK,GAAIuD,KAAK7iC,GAAQs/B,UAChBt/B,EAAQs/B,UAAU5/B,eAAemjC,IACnCruC,EAAQ7B,aAAakwC,EAAG7iC,EAAQs/B,UAAUuD,QAGH,mBAA3B7iC,GAAQ4iC,gBACxBpuC,EAAQ7B,aAAaqN,EAAQs/B,UAAWt/B,EAAQ4iC,eAIpD,OAAOpuC,GAKT,QAAS0wD,GAAuBJ,EAAOC,GACrC,IAAK,GAAIliB,KAAKiiB,GACZ,GAAIA,EAAMplD,eAAemjC,KACC1rC,eAAb4tD,GAAMliB,IAAoBkiB,EAAMliB,KAAOiiB,EAAMjiB,IACtD,OAAO,CAIb,QAAO,EAKT,QAASsiB,GAAwB3wD,EAAS4wD,EAAenvD,GACvD,GAGI4sC,GAHAL,EAAO7zC,EAASG,IAAI2zC,cAAcjuC,GAClC6wD,EAAcH,EAAuBE,EAAe5iB,EACnC7zC,GAASM,KAAKqL,OAAOkoC,GAAMvJ,WAAWmsB,EAG3D,IAAIC,GAAepvD,KAAW,EAC5B,IAAK4sC,IAAKuiB,GACJA,EAAc1lD,eAAemjC,IAC/BruC,EAAQ8sD,gBAAgBze,OAa5B,KAAKA,IAAKuiB,GACJA,EAAc1lD,eAAemjC,IAC/BruC,EAAQ7B,aAAakwC,EAAGuiB,EAAcviB,IAM9C,QAASyiB,GAAsB9wD,EAASwL,GACtC,GAAsBolD,GAAeG,EAAeC,CAEhDxlD,GAAQpK,YACNoK,EAAQ/J,UAAW,GAASzB,EAAQ2nC,UAAUjmC,SAAS8J,EAAQpK,WACjEpB,EAAQ2nC,UAAUpnC,OAAOiL,EAAQpK,YAE7BoK,EAAQiiC,cACVztC,EAAQoB,UAAYpB,EAAQoB,UAAUqgB,QAAQjW,EAAQiiC,YAAa,KAErEztC,EAAQ2nC,UAAUpmC,IAAIiK,EAAQpK,YAE5B0uD,EAAW9vD,IACbA,EAAQ8sD,gBAAgB,UAKxBthD,EAAQkiC,gBACNliC,EAAQ/J,UAAW,GAASzB,EAAQsqB,MAAMnwB,EAASyjC,QAAQ6E,YAAYj3B,EAAQkiC,gBAAgBrX,OAAO5U,QAAQ,MAAO,OAASjW,EAAQuiC,WACxI/tC,EAAQsqB,MAAMnwB,EAASyjC,QAAQ6E,YAAYj3B,EAAQkiC,gBAAkB,GAErE1tC,EAAQsqB,MAAMnwB,EAASyjC,QAAQ6E,YAAYj3B,EAAQkiC,gBAAkBliC,EAAQuiC,YAG7EgiB,EAAW/vD,IACbA,EAAQ8sD,gBAAgB,SAGtBthD,EAAQs/B,YACuB,gBAAtBt/B,GAAQs/B,UACjB8lB,EAAiBplD,EAAQs/B,WAEzB8lB,KACAA,EAAcplD,EAAQs/B,WAAat/B,EAAQ4iC,gBAAkB,IAE/DuiB,EAAwB3wD,EAAS4wD,EAAeplD,EAAQ/J,SAK1DsvD,EAAgBvlD,EAAQjO,SAAW0zD,EAAczlD,EAAQjO,SAASyL,gBAAkBwC,EAAQjO,SAASyL,cAAgB,KACrHgoD,EAAiBD,EAAgB52D,EAASG,IAAIqxC,QAAQ3rC,GAASuF,MAAO+mC,MAAOykB,KAAmB,IAI3FvlD,EAAQjO,UAAYiO,EAAQjO,WAAakzD,GAAcO,KAEtDxlD,EAAQ/J,UAAW,GAASuvD,IAAqBxlD,EAAQjO,UAAYyC,EAAQzC,WAAakzD,IAC5FX,EAAW9vD,IAAY+vD,EAAW/vD,IAAYgwD,EAAgBhwD,IAE9D7F,EAASG,IAAIu6C,OAAO70C,GAQ1B,QAASkxD,GAAqBx2D,EAAW2uD,GACvC,GAAI7rC,KASJ,OAPK9iB,GAAU2lB,gBACb7C,EAAYA,EAAUxb,OAAOtH,EAAU0uD,aAAa,GAAI,SAAS3rD,GAE/D,OAAStD,EAASG,IAAIqxC,QAAQluC,GAAMouC,GAAGC,iBACtCud,KAGE7rC,EAGT,QAAS2zC,GAA2B9/C,EAAU7F,EAASyL,EAAWm6C,GAChE,GAAI3zD,GAAO4T,EACPu9C,EAAiBwC,EAAQ5lD,EAAU8/C,EAAiC9/C,EAExE,GAAG,CACD,GAAsB,IAAlB/N,EAAKJ,UAAkBg0D,EAAc5zD,EAAMmxD,GAC7C,MAAOnxD,EAETA,GAAOA,EAAKqB,iBACLrB,GAAQA,IAASwZ,EAE1B,OAAO,MAGT,QAASq0C,GAAiC9/C,GACxC,OACEjO,SAAUiO,EAAQjO,UAAY,KAC9B6D,UAAaoK,EAAQiiC,YAA2C,KAA5BjiC,EAAQpK,WAAa,KACzDqsC,YAAajiC,EAAQiiC,aAAe,KACpCC,cAAeliC,EAAQkiC,eAAiB,MAM5C,QAAS2jB,GAAc5zD,EAAM+N,GAC3B,GAAIpF,EACJ,IAAIoF,EAAQjO,SAAU,CACpB,GAAI+uC,GAAQ2kB,EAAczlD,EAAQjO,SAASyL,gBAAkBwC,EAAQjO,SAASyL,aAC9E,OAAO7O,GAASG,IAAIqxC,QAAQluC,GAAM8H,MAAO+mC,MAAOA,IAIhD,MAFAlmC,GAAIjM,EAASM,KAAKqL,OAAO0F,GAASwQ,QAClC5V,EAAEkmC,MAAQmgB,EACHtyD,EAASG,IAAIqxC,QAAQluC,GAAM8H,KAAKa,GAI3C,QAASkrD,GAAY7hB,EAAU1oC,GAC7B,GAAIi6C,GAAI7jD,SAASuD,iBAAmBvD,SAASkB,KACzC0oD,EAAgB/F,EAAE1kD,UAClB0qD,EAAgBhG,EAAEvkD,UACNyJ,OAAMpI,aAAa2xC,EAAS1zC,IAE5CmK,OAAMpI,aAAa2xC,EAAS1zC,KAAKyC,iBAGjC,KACE0H,MAAMpI,aAAa2xC,EAAS1zC,KAAK0C,SAASsI,GAC1C,MAAOpK,IACJ8yC,EAASzzC,IAAIoB,eAAkBjD,EAASG,IAAIoH,SAAS+tC,EAASzvC,QAASyvC,EAASzzC,IAAIoB,iBACvFqyC,EAASzvC,QAAQf,QACjB+hD,EAAE1kD,UAAayqD,EACf/F,EAAEvkD,WAAauqD,EACf9gD,MAAMpI,aAAa2xC,EAAS1zC,KAAK0C,SAASsI,IAI9C,QAASwqD,GAAgB/zC,EAAWiyB,GAClC,GAAI1oC,GAAQb,MAAMhJ,YAAYuyC,EAASzzC,KACnCw1D,EAAWh0C,EAAUA,EAAU5e,OAAS,EAExC4e,GAAU,IAAMg0C,IAClBzqD,EAAMzI,SAASkf,EAAU,GAAI,GAC7BzW,EAAMxI,OAAOizD,EAAUA,EAAS5yD,QAChC0yD,EAAY7hB,EAAU1oC,IAK1B,QAAS0qD,GAAehiB,EAAUhyC,EAAMC,EAAOE,GAC7C,GAAImJ,GAAQb,MAAMhJ,YAAYuyC,EAASzzC,IACnCyB,KACFsJ,EAAMzI,SAASb,EAAMC,GACrBqJ,EAAMxI,OAAOd,EAAqB,mBAARG,GAAsBA,EAAMF,GACtD4zD,EAAY7hB,EAAU1oC,IAI1B,QAAS2qD,GAASjiB,EAAUjkC,EAAS4lD,GACnC,GAGI3zD,GAAMsJ,EAAOg+C,EAHb4M,EAAcT,EAAqBzhB,EAAS/0C,WAC5Cwa,KACA08C,GAAU,CAGd,IAAIniB,EAAS/0C,UAAUiwD,mBAAoB,CAEzC,GAA2B,IAAvBgH,EAAY/yD,QAAgB6wC,EAAS/0C,UAAU2lB,cAAe,CAEhE,GADA0kC,EAAYtV,EAAS/0C,UAAUoD,eAAeC,YACzCgnD,EAEH,OACI7vC,SACA08C,SAAS,EAGY,KAAvB7M,EAAU1nD,WACZs0D,GAAe5M,IAKd4M,EAAY/yD,SACfmI,EAAQ0oC,EAAS/0C,UAAUkpD,eAAe,GACtC78C,IACF4qD,GAAe5qD,EAAM6L,eAIzB,KAAK,GAAIhR,GAAI,EAAGkiD,EAAO6N,EAAY/yD,OAAYklD,EAAJliD,EAAUA,IACnDnE,EAAO0zD,EAA2BQ,EAAY/vD,GAAI4J,EAASikC,EAASzvC,QAASoxD,GACzE3zD,EACFyX,EAAMla,KAAKyC,GAEXm0D,GAAU,EAMhB,OACE18C,MAAOA,EACP08C,QAASA,GAMb,QAASC,GAAkBn3D,GACzB,GAAI6qB,GAAQhX,EAAQujD,EAAYC,CAChC,OAAIr3D,KACF6qB,EAAS7qB,EAAUqD,WACnBwQ,EAAS7T,EAAUsD,aACfunB,GAA8B,IAApBA,EAAOloB,UAAkBkR,EAAS,GAAKA,EAASgX,EAAOtV,KAAKrR,SACxEkzD,EAAavsC,EAAOtV,KAAK1B,EAAS,GAClCwjD,EAAYxsC,EAAOtV,KAAK1B,GACjB,KAAOhJ,KAAKusD,IAAe,KAAOvsD,KAAKwsD,KAG3C,EAMT,QAASC,GAAgBt3D,GACvB,GAAI6qB,GAAQhX,EAAQvS,EAAK+K,EAAOkrD,EAAaC,EACzCC,IACJ,IAAIz3D,IACF6qB,EAAS7qB,EAAUqD,WACnBwQ,EAAS0jD,EAAcC,EAAYx3D,EAAUsD,aAC7ChC,EAAMupB,EAAOrlB,cACb6G,EAAQb,MAAMhJ,YAAYlB,GAEtBupB,GAA8B,IAApBA,EAAOloB,UAAgB,CAEnC,KAAO40D,EAAc,GAAK,KAAO1sD,KAAKggB,EAAOtV,KAAKgiD,EAAc,KAC9DA,GAGF,MAAOC,EAAY3sC,EAAOtV,KAAKrR,QAAU,KAAO2G,KAAKggB,EAAOtV,KAAKiiD,KAC/DA,GASF,OANAnrD,GAAMgQ,eAAewO,EAAQ0sC,EAAaC,GAC1CnrD,EAAMgT,kBACNo4C,EAAWprD,EAAM0W,UAAU,GAAI,SAAShgB,GACtC,OAAStD,EAASG,IAAIqxC,QAAQluC,GAAMouC,GAAGC,mBAIvCsmB,WAAY7jD,EAAS0jD,EACrBlrD,MAAOA,EACPsK,SAAU8gD,EAAS,IAKzB,OAAO,EAIT,QAASE,GAAcnC,EAAUC,GAC/B,KAAOA,EAAStxD,YACdqxD,EAAS9xD,YAAY+xD,EAAStxD,WAEhCsxD,GAASrxD,WAAWC,YAAYoxD,GAGlC,QAASmC,GAA+BryD,GACtC,IAAK,GAAI2B,GAAI3B,EAASrB,OAAQgD,KAExB3B,EAAS2B,IAAM3B,EAAS2B,GAAG9C,aAEzBmB,EAAS2B,GAAGG,aAAekuD,EAAWhwD,EAAS2B,GAAI3B,EAAS2B,GAAGG,cACjEswD,EAAcpyD,EAAS2B,GAAI3B,EAAS2B,GAAGG,aAGrC9B,EAAS2B,GAAG0B,iBAAmB2sD,EAAWhwD,EAAS2B,GAAM3B,EAAS2B,GAAG0B,kBACvE+uD,EAAcpyD,EAAS2B,GAAG0B,gBAAiBrD,EAAS2B,KAO5D,QAAS2wD,GAAuB9iB,EAAUjyB,EAAWhS,GAC/CgS,EAAU5e,OAAS,GACrB2yD,EAAgB/zC,EAAWiyB,GAE7B6iB,EAA+BZ,EAASjiB,EAAUjkC,GAAS0J,OACvDsI,EAAU5e,OAAS,GACrB2yD,EAAgB/zC,EAAWiyB,GAI/B,QAAS+iB,GAAmB/iB,EAAUp+B,EAAU9C,EAAQ/C,GACtDimD,EAAehiB,EAAUp+B,EAAU9C,GACnC+jD,EAA+BZ,EAASjiB,EAAUjkC,GAAS0J,OAC3Du8C,EAAehiB,EAAUp+B,EAAU9C,GAIrC,QAASkkD,GAAephD,EAAU7F,GAChC,GAAIknD,GAAWlC,EAAen/C,EAAU7F,EAExC6F,GAASvS,WAAWkP,aAAa0kD,EAAUrhD,GAC3CqhD,EAASt0D,YAAYiT,GAIvB,QAASshD,GAAiBthD,EAAUo+B,EAAUjkC,GAC5C,GAEIonD,GAFA37C,EAAYw4B,EAASzvC,QACrB0yD,EAAWvB,EAA2B9/C,EAAU7F,EAASyL,EAGzDy7C,KACFE,EAAcF,EAAStkD,WAAU,GAEjCjU,EAASG,IAAIqxC,QAAQt6B,GAAU27B,aAAa0lB,EAAUE,GACtD9B,EAAsB8B,EAAapnD,IAKvC,QAASqnD,GAAyBxhD,EAAUo+B,EAAUjkC,GACpD,GAAIyL,GAAYw4B,EAASzvC,QACrB0yD,EAAWvB,EAA2B9/C,EAAU7F,EAASyL,EAEzDy7C,IACFv4D,EAASG,IAAIqxC,QAAQt6B,GAAU27B,aAAa0lB,GAKhD,QAASI,GAAgB/rD,EAAO0oC,EAAUjkC,GACxC,GAAIknD,GAAWlC,EAAezpD,EAAM6L,aAAcpH,EAElDzE,GAAMkV,iBAAiBy2C,GACvBjjB,EAAS/0C,UAAUgf,WAAWg5C;CAIhC,QAASK,GAAatjB,EAAUjyB,EAAWwtC,EAAOx/C,GAChD,GAEIwnD,GAAS3hD,EAAUlD,EAASvM,EAF5BqxD,EAAavB,EAASjiB,EAAUjkC,GAAS,GACzC9Q,EAAY+0C,EAAS/0C,UAAUoD,cAGnC,IAAK0f,EAAU5e,OAqCR,CAEL,GAAKq0D,EAAWrB,SAAWpmD,EAAQ/J,UAAW,EAe5C,IAAKG,EAAI4b,EAAU5e,OAAQgD,KAErBuvD,EAA2B3zC,EAAU5b,GAAI4J,EAASikC,EAASzvC,UAC7D2yD,EAAiBn1C,EAAU5b,GAAI6tC,EAAUjkC,GAGtC2lD,EAA2B3zC,EAAU5b,GAAI4J,EAASikC,EAASzvC,UAC9DyyD,EAAej1C,EAAU5b,GAAI4J,OAjBjC,KAAK5J,EAAI4b,EAAU5e,OAAQgD,KACzB+wD,EAAiBn1C,EAAU5b,GAAI6tC,EAAUjkC,EAsB7C+mD,GAAuB9iB,EAAUjyB,EAAWhS,OA/D5C,IAAIA,EAAQ/J,UAAW,EACrB,GAAIowD,EAAkBn3D,GAGpBs4D,EAAUhB,EAAgBt3D,GAC1B2W,EAAW2hD,EAAQ3hD,SACnBshD,EAAiBK,EAAQ3hD,SAAUo+B,EAAUjkC,GAC7CgnD,EAAmB/iB,EAAUujB,EAAQ3hD,SAAU2hD,EAAQZ,WAAY5mD,OAE9D,CAGL6F,EAAWo+B,EAASzzC,IAAIc,eAAe3C,EAASc,iBAChDkT,EAAU68C,EAAM91C,MAAM,GAAG9G,WAAU,GACnCD,EAAQ/P,YAAYiT,GACpBo+B,EAAS/0C,UAAU4sD,oBAAoB0D,EAAM91C,MAAM,GAAI/G,GACvD2iD,EAAsB3iD,EAAS3C,GAC/B+mD,EAAuB9iB,GAAWp+B,GAAW7F,EAC7C,IAAIpP,GAAIqzC,EAAS/0C,UAAUoD,cAC3B,IAAI1B,EAAE2B,YAAc3B,EAAE6B,UAEpB,IACE7B,EAAEusB,gBACF,MAAOhsB,SAKb,KAAKiF,EAAIopD,EAAM91C,MAAMtW,OAAQgD,KAC3BkvD,EAAsB9F,EAAM91C,MAAMtT,GAAI4J,GAuC9C,QAAS0nD,GAAazjB,EAAUjyB,EAAWwtC,EAAOx/C,GAChD,GAAI6F,GAAU2zC,EAAqBpjD,EAC/BlH,EAAY+0C,EAAS/0C,UAAUoD,cAEnC,IAAK0f,EAAU5e,OASR,CACL,IAAKgD,EAAI4b,EAAU5e,OAAQgD,KACzBixD,EAAyBr1C,EAAU5b,GAAI6tC,EAAUjkC,EAEnD+mD,GAAuB9iB,EAAUjyB,EAAWhS,OAbvB,CAIrB,IAHA6F,EAAW3W,EAAUqD,WACrBinD,EAAatqD,EAAUsD,aAElB4D,EAAIopD,EAAM91C,MAAMtW,OAAQgD,KAC3BzH,EAASG,IAAIu6C,OAAOmW,EAAM91C,MAAMtT,GAGlC4wD,GAAmB/iB,EAAUp+B,EAAU2zC,EAAYx5C,IAUvD,QAAS2nD,GAAY1jB,EAAUjyB,EAAWhS,GACxC,GAAIwnD,GAASpxD,EACTlH,EAAY+0C,EAAS/0C,UAAUoD,cAEnC,IAAK0f,EAAU5e,OAeR,CAEL,IAAKgD,EAAI4b,EAAU5e,OAAQgD,KACzB6wD,EAAej1C,EAAU5b,GAAI4J,EAE/B+mD,GAAuB9iB,EAAUjyB,EAAWhS,OAlB5C,IAAIqmD,EAAkBn3D,GAEpBs4D,EAAUhB,EAAgBt3D,GAC1B+3D,EAAeO,EAAQ3hD,SAAU7F,GACjCgnD,EAAmB/iB,EAAUujB,EAAQ3hD,SAAU2hD,EAAQZ,WAAY5mD,OAE9D,CACL,GAAIvO,GAAIwyC,EAAS/0C,UAAUkpD,eAAe,EACtC3mD,IACF61D,EAAgB71D,EAAGwyC,EAAUjkC,IAcrC,QAAS4nD,GAAW5nD,GAGlB,MAFAA,GAA8B,gBAAZA,IAA0BjO,SAAUiO,GAAYA,EAC9DA,EAAQjO,WAAYiO,EAAQjO,SAAWiO,EAAQjO,SAASizC,eACrDhlC,EAplBT,GAAIilD,GAAa,OACbhE,EAAkB,6JAClBwE,GACEoC,EAAK,YACLC,OAAU,YACVC,GAAM,QACN3xD,EAAK,QAilBXzH,GAASE,SAASgxD,cAMhB/+B,KAAM,SAASmjB,EAAUhP,EAASj1B,GAChCA,EAAU4nD,EAAW5nD,GAGrBikC,EAASzvC,QAAQtB,WAEjB,IAAI8e,GAAY0zC,EAAqBzhB,EAAS/0C,WAAW,GACrDswD,EAAQ0G,EAASjiB,EAAUjkC,EAC3Bw/C,GAAM91C,MAAMtW,OAAS,EAEvBm0D,EAAatjB,EAAUjyB,EAAWwtC,EAAOx/C,GAGzC2nD,EAAY1jB,EAAUjyB,EAAWhS,GAEnCikC,EAASzvC,QAAQtB,aAGnB6B,OAAQ,SAASkvC,EAAUhP,EAASj1B,GAClCA,EAAU4nD,EAAW5nD,GACrBikC,EAASzvC,QAAQtB,WAEjB,IAAI8e,GAAY0zC,EAAqBzhB,EAAS/0C,WAAW,GACrDswD,EAAQ0G,EAASjiB,EAAUjkC,EAE3Bw/C,GAAM91C,MAAMtW,OAAS,GAEvBs0D,EAAazjB,EAAUjyB,EAAWwtC,EAAOx/C,GAG3CikC,EAASzvC,QAAQtB,aAGnBssD,MAAO,SAASvb,EAAUhP,EAASj1B,GACjCA,EAAU4nD,EAAW5nD,EACrB,IAAI0J,GAAQw8C,EAASjiB,EAAUjkC,GAAS,GAAM0J,KAC9C,OAAyB,KAAjBA,EAAMtW,QAAgB,EAAQsW,KAIzC/a,UAEF,SAASA,GACRA,EAASE,SAASm5D,YAChBlnC,KAAM,SAASmjB,EAAUhP,EAASx/B,GAChC,GAAIwyD,GAAUhkB,EAAS/0C,UAAUuqD,yBAAyB,KAC1D,OAAIwO,GACK14D,KAAK24D,iBAAiBD,EAAShkB,EAAS/0C,YAE1C,GAGTswD,MAAO,SAASvb,EAAUhP,GACtB,OAAO,GAGXizB,iBAAkB,SAASC,EAASj5D,GAClC,GAAIk5D,GAASrqB,EAAMsqB,EAAQC,EAAQC,EAC/BhL,GAAQ,CAuBZ,OArBAruD,GAAU+rD,uBAAuB,WAE/B,IAAK,GAAI7kD,GAAI+xD,EAAQ/0D,OAAQgD,KAC3BkyD,EAASH,EAAQ/xD,GACjBgyD,EAA0C,OAA/BE,EAAOh1D,WAAWvB,SAAqB,KAAO,KACzDgsC,EAAOuqB,EAAO5zD,cAActD,cAAcg3D,GAC1CC,EAAS15D,EAASG,IAAIqxC,QAAQmoB,GAAQvnB,MAAM33B,WAAYza,EAASmB,gBACjEy4D,EAAa,EAAWF,EAAO10B,cAAc,UAAY,KAErD00B,IACEE,EACFA,EAAW31D,YAAY01D,IAEvBvqB,EAAKnrC,YAAY01D,GACjBD,EAAOz1D,YAAYmrC,IAErBwf,GAAQ,KAKPA,KAGX5uD,UAED,SAASA,GACRA,EAASE,SAASmmC,YAChBlU,KAAM,SAASmjB,EAAUhP,EAAS/vB,GAC9B++B,EAAS/0C,UAAU8lC,WAAW9vB,IAGlCs6C,MAAO,WACL,OAAO,KAGX7wD,UAEF,SAAUA,GACR,GAAI65D,GAAa,QAAU75D,EAASyjC,QAAQ8D,2BAA6B,IAAM,GAE/EvnC,GAASE,SAAS45D,iBAChB3nC,KAAM,SAASmjB,EAAUhP,GACvBgP,EAAS/0C,UAAU8lC,WAAWwzB,IAGhChJ,MAAO,WACL,OAAO,KAGV7wD,UAEHA,SAASE,SAAS65D,WAAa,SAAU/5D,GAEvC,GAAIg6D,GAAS,SAAS12D,EAAMoM,GAC1B,GAAIpM,GAAQA,EAAKF,SAAU,CACL,gBAATsM,KACTA,GAAQA,GAEV,KAAK,GAAI3H,GAAI2H,EAAKjL,OAAQsD,KACxB,GAAIzE,EAAKF,WAAasM,EAAK3H,GACzB,OAAO,EAIb,OAAO,GAGLkyD,EAAa,SAAS32D,EAAMF,EAAUkyC,GACxC,GAAIpzC,IACEoP,GAAI,KACJ4oD,OAAO,EAGb,IAAI52D,EAAM,CACR,GAAI62D,GAAWn6D,EAASG,IAAI60C,iBAAiB1xC,GAAQ6uC,MAAO,OAAQ,EAAOmD,EAASzvC,SAChFu0D,EAA8B,OAAbh3D,EAAqB,KAAO,IAE7C42D,GAAO12D,EAAMF,GACflB,EAAIoP,GAAKhO,EACA02D,EAAO12D,EAAM82D,GACtBl4D,GACEoP,GAAIhO,EACJ42D,OAAO,GAEAC,IACLH,EAAOG,EAASx1D,WAAYvB,GAC9BlB,EAAIoP,GAAK6oD,EAASx1D,WACTq1D,EAAOG,EAASx1D,WAAYy1D,KACrCl4D,GACEoP,GAAK6oD,EAASx1D,WACdu1D,OAAO,KAWf,MAJIh4D,GAAIoP,KAAOgkC,EAASzvC,QAAQ0B,SAASrF,EAAIoP,MAC3CpP,EAAIoP,GAAK,MAGJpP,GAGLm4D,EAAqB,SAAS/oD,EAAIlO,EAAUkyC,GAC9C,GACIglB,GAAYC,EADZH,EAA8B,OAAbh3D,EAAqB,KAAO,IAOjDkyC,GAAS/0C,UAAU+rD,uBAAuB,WAExC,GADAgO,EAAaE,EAAoBJ,EAAe9kB,GAC5CglB,EAAW71D,OACb,IAAK,GAAIg2D,GAAIH,EAAW71D,OAAQg2D,KAC9Bz6D,EAASG,IAAIkgD,cAAcia,EAAWG,GAAIr3D,EAASyL,mBAEhD,CACL0rD,EAAaC,GAAqB,KAAM,MAAOllB,EAC/C,KAAK,GAAI7tC,GAAI8yD,EAAW91D,OAAQgD,KAC9BzH,EAASG,IAAIwgD,YAAY4Z,EAAW9yD,GAAI6tC,EAAStnC,OAAO4yC,cAEhC,KAAtB2Z,EAAW91D,QACbzE,EAASG,IAAIwgD,YAAYrvC,EAAIgkC,EAAStnC,OAAO4yC,mBAMjD8Z,EAAuB,SAASppD,EAAIlO,EAAUkyC,GAChD,GAAI8kB,GAA8B,OAAbh3D,EAAqB,KAAO,IAMjDkyC,GAAS/0C,UAAU+rD,uBAAuB,WAIxC,IAAK,GAHDqO,IAAerpD,GAAIzJ,OAAO2yD,EAAoBJ,EAAe9kB,IAGxDmlB,EAAIE,EAAYl2D,OAAQg2D,KAC/Bz6D,EAASG,IAAIkgD,cAAcsa,EAAYF,GAAIr3D,EAASyL,kBAKtD2rD,EAAsB,SAASp3D,EAAUkyC,GAIzC,IAAK,GAHDzqB,GAASyqB,EAAS/0C,UAAUkpD,eAC5BkR,KAEK73D,EAAI+nB,EAAOpmB,OAAQ3B,KAC1B63D,EAAcA,EAAY9yD,OAAOgjB,EAAO/nB,GAAGwgB,UAAU,GAAI,SAAShgB,GAChE,MAAO02D,GAAO12D,EAAMF,KAIxB,OAAOu3D,IAGPC,EAAqB,SAASx3D,EAAUkyC,GAC1C,GAII3K,GAASyE,EAJTvmB,EAAM9c,MAAMilB,cAAcskB,EAAS1zC,KAGnCi5D,EAAiB,mBAAoB,GAAI7qC,OAAO8qC,SAGpDxlB,GAASp1C,SAASiyB,KAAK,eACrB/uB,SAAY,MACZ6D,UAAa4zD,GAGf,IAAI9tB,GAAcuI,EAASzvC,QAAQm/B,cAAc,IAAM61B,EAIvD9tB,GAAY92B,UAAY82B,EAAY92B,UAAUqR,QAAQtnB,EAASe,wBAAyB,IACpFgsC,IACFpC,EAAU,kBAAoBv/B,KAAK2hC,EAAY92B,WAC/Cm5B,EAAOpvC,EAASG,IAAI+uC,cAAcnC,EAAa3pC,EAASyL,cAAeymC,EAAS3iC,OAAO3E,OAAO6jD,WAAWC,qBACrGjpC,GACF9c,MAAMmlB,iBAAiBrI,GAErB8hB,GACF2K,EAAS/0C,UAAUgf,WAAW6vB,EAAKpK,cAAc,OAAO,IAK9D,QACE7S,KAAM,SAASmjB,EAAUhP,EAASljC,GAChC,GAKI23D,GAAc3rB,EALdvtC,EAAgByzC,EAASzzC,IACzBm5D,EAA8B,OAAb53D,EAAqB,oBAAsB,sBAC5DnB,EAAIqzC,EAAS/0C,UAAUoD,eACvB0E,EAAkC,IAA1BpG,EAAE2B,WAAWV,UAAkBjB,EAAE2B,WAAWc,WAAazC,EAAE2B,WAAWY,WAAWvC,EAAE4B,cAAgB5B,EAAE2B,WAC7G6E,EAAiC,IAAzBxG,EAAE6B,UAAUZ,UAAkBjB,EAAE6B,UAAUY,WAAazC,EAAE6B,UAAUU,WAAWvC,EAAE8B,cAAgB9B,EAAE6B,UAAUme,UAAYhgB,EAAE6B,SAGlI7B,GAAEosB,gBAEJhmB,GAASI,EAAOA,EAAQJ,GAAO,IAG7BrI,EAASG,IAAIqxC,QAAQ/oC,GAAOipC,GAAGC,eAAc,IAASlpC,IACxDA,EAAQzI,EAASG,IAAIqxC,QAAQ/oC,GAAO2pC,MAAM33B,WAAY,EAAE,GAAI83B,kBAAkB,KAE5EvyC,EAASG,IAAIqxC,QAAQnpC,GAAOqpC,GAAGC,eAAc,IAAStpC,IACxDA,EAAQrI,EAASG,IAAIqxC,QAAQnpC,GAAOqP,MAAM+C,WAAY,EAAE,GAAI83B,kBAAkB,KAK5EwoB,EAFA1yD,GAASI,EACPJ,IAAUI,EACGJ,EAEArI,EAASG,IAAIqxC,QAAQnpC,GAAOmqC,eAAe/pC,EAAO6sC,EAASzvC,SAG5DyvC,EAAS/0C,UAAU+oD,kBAGrCla,EAAO6qB,EAAWc,EAAc33D,EAAUkyC,GAErClG,EAAK99B,GAMC89B,EAAK8qB,MACdQ,EAAoBtrB,EAAK99B,GAAIlO,EAAUkyC,GAEvC+kB,EAAmBjrB,EAAK99B,GAAIlO,EAAUkyC,GARlCA,EAASp1C,SAASywD,QAAQqK,GAC5Bn5D,EAAI+iC,YAAYo2B,GAAK,EAAO,MAE5BJ,EAAmBx3D,EAAUkyC,IASnCub,MAAO,SAASvb,EAAUhP,EAASljC,GACjC,GAAI23D,GAAezlB,EAAS/0C,UAAU+oD,kBAClCla,EAAe6qB,EAAWc,EAAc33D,EAAUkyC,EAEtD,OAAQlG,GAAK99B,KAAO89B,EAAK8qB,MAAS9qB,EAAK99B,IAAK,KAI/CtR,UAEF,SAASA,GAERA,EAASE,SAAS+6D,aAChB9oC,KAAM,SAASmjB,EAAUhP,EAASx/B,GAChC,GAAIwyD,GAAUhkB,EAAS/0C,UAAUuqD,yBAAyB,KAC1D,OAAIwO,GACK14D,KAAKs6D,iBAAiB5B,EAAShkB,IAEjC,GAGTub,MAAO,SAASvb,EAAUhP,GACtB,OAAO,GAGX40B,iBAAkB,SAAS1B,EAASlkB,GAClC,GAAI6lB,GAAUC,EAAeC,EAA2B1B,EAAQ2B,EAC5D1M,GAAQ,EACRhgB,EAAOhuC,IAgDX,OA9CA00C,GAAS/0C,UAAU+rD,uBAAuB,WAExC,IAAK,GAAI7kD,GAAI+xD,EAAQ/0D,OAAQgD,KAE3B,GADAkyD,EAASH,EAAQ/xD,GACbkyD,EAAOh1D,aACTw2D,EAAWxB,EAAOh1D,WAEO,OAArBw2D,EAASnmD,SAAyC,OAArBmmD,EAASnmD,SAAkB,CAM1D,GALA45C,GAAQ,EAERwM,EAAgBp7D,EAASG,IAAI60C,iBAAiBmmB,EAASx2D,YAAcwtC,MAAO,WAAY,EAAOmD,EAASzvC,SACxGw1D,EAAcr7D,EAASG,IAAI60C,iBAAiBmmB,EAASx2D,YAAcwtC,MAAO,OAAQ,EAAOmD,EAASzvC,SAE9Fu1D,GAAiBC,EAEf1B,EAAO/xD,cACT0zD,EAAY1sB,EAAK2sB,aAAaJ,EAAUxB,GACxCA,EAAO11D,YAAYq3D,IAErBF,EAAcvnD,aAAa8lD,EAAQ0B,EAAYzzD,iBAE1C,CAED+xD,EAAO/xD,cACT0zD,EAAY1sB,EAAK2sB,aAAaJ,EAAUxB,GACxCA,EAAO11D,YAAYq3D,GAGrB,KAAK,GAAI5nB,GAAIimB,EAAOn1D,WAAWC,OAAQivC,KACrCynB,EAASx2D,WAAWkP,aAAa8lD,EAAOn1D,WAAWkvC,GAAIynB,EAASvzD,YAGlEuzD,GAASx2D,WAAWkP,aAAa7Q,SAASP,cAAc,MAAO04D,EAASvzD,aACxE+xD,EAAOh1D,WAAWC,YAAY+0D,GAKG,IAA/BwB,EAAS32D,WAAWC,QACpB02D,EAASx2D,WAAWC,YAAYu2D,MAOrCvM,GAGT2M,aAAc,SAASJ,EAAUxB,GAI/B,IAHA,GAAIv2D,GAAW+3D,EAAS/3D,SACpBo4D,EAAUx4D,SAASP,cAAcW,GAE9Bu2D,EAAO/xD,aACZ4zD,EAAQv3D,YAAY01D,EAAO/xD,YAE7B,OAAO4zD,MAIXx7D,UAED,SAASA,GACRA,EAASE,SAASu7D,MAChBtpC,KAAM,SAASmjB,GACb,MAAOA,GAASomB,YAAYD,QAG9B5K,MAAO,SAASvb,GACd,OAAO,KAGXt1C,UAEF,SAAUA,GAER,GAAIstD,IACFlqD,SAAU,IAGZpD,GAASE,SAASy7D,YAChBxpC,KAAM,SAASmjB,EAAUhP,GACvBtmC,EAASE,SAASgxD,aAAa9qD,OAAOkvC,EAAUhP,EAASgnB,IAG3DuD,MAAO,SAASvb,EAAUhP,GACxB,MAAOtmC,GAASE,SAASgxD,aAAaL,MAAMvb,EAAUhP,EAASgnB,MAIlEttD,UAEF,SAASA,GACRA,EAASE,SAAS07D,MAChBzpC,KAAM,SAASmjB,GACb,MAAOA,GAASomB,YAAYE,QAG9B/K,MAAO,SAASvb,GACd,OAAO,KAGXt1C,UAMF,SAAUA,GACR,GAAI67D,GAAsB,GACtBC,EAAsB,GACtBz6D,EAAsB,EACtBK,EAAsB,GACtBq6D,EAAsB,GACtBC,EAAsB,+BACtBC,EAAsB,iCAGtB97D,GAFsB,oDAAsDH,EAASc,gBAAkB,UACjF,oDAAsDd,EAASc,gBAAkB,UACjFd,EAASG,IASnCH,GAASk8D,YAAcl8D,EAASM,KAAKkpC,WAAWr/B,QAE9CM,YAAa,SAAS84C,GACpB3iD,KAAK2iD,OAASA,EACd3iD,KAAK00C,SAAWiO,EAAOjO,SACvB10C,KAAKiF,QAAUjF,KAAK00C,SAASzvC,QAE7BjF,KAAKuT,SAAW,EAChBvT,KAAKu7D,cACLv7D,KAAKw7D,cAELx7D,KAAKy7D,WAELz7D,KAAK07D,YAGPA,SAAU,WACR,GAEIC,GAFA3tB,EAAYhuC,IACAA,MAAK00C,SAASknB,QAAQnoD,aAItClU,GAAI8pC,QAAQrpC,KAAKiF,QAAS,UAAW,SAAS6D,GAC5C,IAAIA,EAAM+yD,SAAY/yD,EAAMk/C,SAAYl/C,EAAMm/C,SAA9C,CAIA,GAAI6T,GAAUhzD,EAAMgzD,QAChBC,EAASD,IAAYb,IAAUnyD,EAAMkzD,SACrCC,EAAUH,IAAYb,GAASnyD,EAAMkzD,UAAcF,IAAYZ,CAE/Da,IACF/tB,EAAKgtB,OACLlyD,EAAM0uC,kBACGykB,IACTjuB,EAAK6sB,OACL/xD,EAAM0uC,qBAKVj4C,EAAI8pC,QAAQrpC,KAAKiF,QAAS,UAAW,SAAS6D,GAC5C,GAAIgzD,GAAUhzD,EAAMgzD,OAChBA,KAAYH,IAIhBA,EAAUG,GAENA,IAAYr7D,GAAiBq7D,IAAYh7D,IAC3CktC,EAAKytB,cAITz7D,KAAK2iD,OACF9Z,GAAG,mBAAoB,WACtBmF,EAAKytB,aAGN5yB,GAAG,yBAA0B,WAC5BmF,EAAKytB,cAIXA,SAAU,WACR,GAGIzvD,GAAOtJ,EAAM8Q,EAAQvO,EAASsO,EAH9B2oD,EAAoBl8D,KAAKu7D,WAAWv7D,KAAKuT,SAAW,GACpD4oD,EAAoBn8D,KAAK00C,SAAS0nB,UAAS,GAAO,GAClDnZ,EAAsBjjD,KAAKiF,QAAQmrC,YAAc,GAAKpwC,KAAKiF,QAAQo6C,aAAe,CAGtF,IAAI8c,IAAgBD,EAApB,CAIA,GAAIr4D,GAAS7D,KAAKu7D,WAAW13D,OAAS7D,KAAKw7D,WAAW33D,OAAS7D,KAAKuT,QAChE1P,GAASs3D,IACXn7D,KAAKu7D,WAAWtzD,QAChBjI,KAAKw7D,WAAWvzD,QAChBjI,KAAKuT,YAGPvT,KAAKuT,WAED0vC,IAEFj3C,EAAUhM,KAAK00C,SAAS/0C,UAAU2nD,WAClC5kD,EAAWsJ,GAASA,EAAM4L,eAAkB5L,EAAM4L,eAAiB5X,KAAKiF,QACxEuO,EAAWxH,GAASA,EAAM0M,YAAe1M,EAAM0M,YAAc,EAEzDhW,EAAKJ,WAAalD,EAASmB,aAC7B0E,EAAUvC,GAEVuC,EAAWvC,EAAKqB,WAChBwP,EAAWvT,KAAKq8D,kBAAkBp3D,EAASvC,IAG7CuC,EAAQ7B,aAAai4D,EAAkB7nD,GACd,mBAAf,IACRvO,EAAQ7B,aAAag4D,EAAgB7nD,GAIzC,IAAI0N,GAAQjhB,KAAKiF,QAAQoO,YAAY8oD,EACrCn8D,MAAKw7D,WAAWv7D,KAAKghB,GACrBjhB,KAAKu7D,WAAWt7D,KAAKk8D,GAEjBl3D,IACFA,EAAQ8sD,gBAAgBsJ,GACxBp2D,EAAQ8sD,gBAAgBqJ,MAK5BJ,KAAM,WACJh7D,KAAKy7D,WAEAz7D,KAAKs8D,iBAIVt8D,KAAKo8B,IAAIp8B,KAAKw7D,aAAax7D,KAAKuT,SAAW,IAC3CvT,KAAK2iD,OAAOxZ,KAAK,mBAGnB0xB,KAAM,WACC76D,KAAKu8D,iBAIVv8D,KAAKo8B,IAAIp8B,KAAKw7D,aAAax7D,KAAKuT,SAAW,IAC3CvT,KAAK2iD,OAAOxZ,KAAK,mBAGnBmzB,aAAc,WACZ,MAAOt8D,MAAKuT,SAAW,GAGzBgpD,aAAc,WACZ,MAAOv8D,MAAKuT,SAAWvT,KAAKu7D,WAAW13D,QAGzCu4B,IAAK,SAASogC,GACZx8D,KAAKiF,QAAQoQ,UAAY,EAMzB,KAJA,GAAIxO,GAAI,EACJjD,EAAa44D,EAAa54D,WAC1BC,EAAS24D,EAAa54D,WAAWC,OAE5BA,EAAFgD,EAAUA,IACf7G,KAAKiF,QAAQ5B,YAAYO,EAAWiD,GAAGwM,WAAU,GAInD,IAAIG,GACA9Q,EACA6Q,CAEAipD,GAAavoB,aAAaonB,IAC5B7nD,EAAYgpD,EAAar2B,aAAak1B,GACtC9nD,EAAYipD,EAAar2B,aAAai1B,GACtC14D,EAAY1C,KAAKiF,UAEjBvC,EAAY1C,KAAKiF,QAAQm/B,cAAc,IAAMi3B,EAAmB,MAAQr7D,KAAKiF,QAC7EuO,EAAY9Q,EAAKyjC,aAAak1B,GAC9B9nD,EAAY7Q,EAAKyjC,aAAai1B,GAC9B14D,EAAKqvD,gBAAgBsJ,GACrB34D,EAAKqvD,gBAAgBqJ,IAGN,OAAb7nD,IACF7Q,EAAO1C,KAAKy8D,oBAAoB/5D,GAAO6Q,IAGzCvT,KAAK00C,SAAS/0C,UAAUy8B,IAAI15B,EAAM8Q,IAGpC6oD,kBAAmB,SAAStqD,EAAQwD,GAIlC,IAHA,GAAI1O,GAAc,EACdjD,EAAcmO,EAAOnO,WACrBC,EAAcD,EAAWC,OACpBA,EAAFgD,EAAUA,IACf,GAAIjD,EAAWiD,KAAO0O,EACpB,MAAO1O,IAKb41D,oBAAqB,SAAS1qD,EAAQ1M,GACpC,MAAO0M,GAAOnO,WAAWyB,OAG5BjG,UAKHA,SAASQ,MAAM88D,KAAOpzD,KAAKC,QAEzBM,YAAa,SAASkI,EAAQ4qD,EAAiBvvD,GAC7CpN,KAAK+R,OAAWA,EAChB/R,KAAKiF,QAAW03D,EAChB38D,KAAKoN,OAAWA,EACXpN,KAAKoN,OAAOwvD,YACb58D,KAAK68D,sBAIXA,mBAAoB,WAClB,GAAI7uB,GAAOhuC,IACXA,MAAK+R,OAAO82B,GAAG,aAAc,WAC3BmF,EAAKj8B,OAAO82B,GAAG,cAAe,SAAS+Z,GACjCA,IAAS5U,EAAKl/B,MAChBk/B,EAAKj8B,OAAO+qD,YAAc9uB,EAC1BA,EAAK+uB,OAEL3uB,WAAW,WAAaJ,EAAK9pC,SAAY,IAEzC8pC,EAAKgvB,YAMb94D,MAAO,WACL,IAAIlE,KAAKiF,UAAWjF,KAAKiF,QAAQE,eAAiBnF,KAAKiF,QAAQE,cAAci/B,cAAc,YAAcpkC,KAAKiF,QAI9G,IAASjF,KAAKiF,SAAWjF,KAAKiF,QAAQf,QAAa,MAAMtC,MAG3Do7D,KAAM,WACJh9D,KAAKiF,QAAQsqB,MAAME,QAAU,QAG/BstC,KAAM,WACJ/8D,KAAKiF,QAAQsqB,MAAME,QAAU,IAG/BwtC,QAAS,WACPj9D,KAAKiF,QAAQ7B,aAAa,WAAY,aAGxC85D,OAAQ,WACNl9D,KAAKiF,QAAQ8sD,gBAAgB,eAIjC,SAAU3yD,GACR,GAAIG,GAAYH,EAASG,IACrBsjC,EAAYzjC,EAASyjC,OAEzBzjC,GAASQ,MAAMu9D,SAAW/9D,EAASQ,MAAM88D,KAAKnzD,QAE5CuF,KAAM,WAENjF,YAAa,SAASkI,EAAQqrD,EAAiBhwD,GAC7CpN,KAAK4J,KAAKmI,EAAQqrD,EAAiBhwD,GAC9BpN,KAAKoN,OAAOwvD,WAGb58D,KAAK4gD,aAAewc,EAFpBp9D,KAAKq9D,SAAWr9D,KAAK+R,OAAOsrD,SAI5Br9D,KAAKoN,OAAOkwD,oBACZt9D,KAAKu9D,2BAELv9D,KAAKw9D,gBAIXra,MAAO,WACLnjD,KAAKiF,QAAQoQ,UAAYwtB,EAAQ+B,+CAAiD,GAAK,QAGzFw3B,SAAU,SAASxkB,EAAOO,GACxB,GAAIjyC,GAAQlG,KAAK+pC,UAAY,GAAK3qC,EAASI,OAAOk5C,oBAAoB14C,KAAKiF,QAI3E,OAHI2yC,MAAU,IACZ1xC,EAAQlG,KAAK+R,OAAO6lC,MAAM1xC,EAAQiyC,KAAmB,GAAS,GAAQ,IAEjEjyC,GAGTm9C,SAAU,SAAS1tC,EAAMiiC,GACnBA,KAAU,IACZjiC,EAAO3V,KAAK+R,OAAO6lC,MAAMjiC,GAG3B,KACE3V,KAAKiF,QAAQoQ,UAAYM,EACzB,MAAO/T,GACP5B,KAAKiF,QAAQu9B,UAAY7sB,IAI7B4iC,QAAS,SAAS1B,GAChB,GAAI1zB,EACAnjB,MAAKL,WAAaK,KAAKL,UAAUiwD,qBACnCzsC,EAAWhY,MAAMilB,cAAcpwB,KAAKgB,MAEtChB,KAAK+R,OAAO6lC,MAAM53C,KAAKiF,QAAS2C,OAAWivC,GACvC1zB,GACFhY,MAAMmlB,iBAAiBnN,IAI3B45C,KAAM,WACJ/8D,KAAK4gD,aAAarxB,MAAME,QAAUzvB,KAAKy9D,eAAiB,GAEnDz9D,KAAKoN,OAAOwvD,YAAe58D,KAAKq9D,SAASp4D,QAAQy4D,WAEpD19D,KAAKi9D,UACLj9D,KAAKk9D,WAITF,KAAM,WACJh9D,KAAKy9D,cAAgBl+D,EAAI6vC,SAAS,WAAWC,KAAKrvC,KAAK4gD,cAC5B,SAAvB5gD,KAAKy9D,gBACPz9D,KAAKy9D,cAAgB,MAEvBz9D,KAAK4gD,aAAarxB,MAAME,QAAU,QAGpCwtC,QAAS,WACPj9D,KAAK+R,OAAOo3B,KAAK,oBACjBnpC,KAAKiF,QAAQ8sD,gBAAgB,oBAG/BmL,OAAQ,WACNl9D,KAAK+R,OAAOo3B,KAAK,mBACjBnpC,KAAKiF,QAAQ7B,aAAa,kBAAmB,SAG/Cc,MAAO,SAASy5D,GAIVv+D,EAASyjC,QAAQmE,kBAAoBhnC,KAAKkjD,qBAC5CljD,KAAKmjD,QAGPnjD,KAAK4J,MAEL,IAAIyX,GAAYrhB,KAAKiF,QAAQoc,SACzBs8C,IAAYt8C,GAAarhB,KAAKL,YACL,OAAvB0hB,EAAU7e,SACZxC,KAAKL,UAAU6nD,UAAUxnD,KAAKiF,QAAQoc,WAEtCrhB,KAAKL,UAAUkoD,SAAS7nD,KAAKiF,QAAQoc,aAK3CyzB,aAAc,WACZ,GAAI90C,KAAKiB,KAAOjB,KAAKgB,IAAK,CACxB,GAAIiW,KAcJ,OAZoC,mBAAzBjX,MAAKgB,IAAIS,YAClBwV,EAAIk+B,EAAIn1C,KAAKgB,IAAIS,YAEjBwV,EAAIk+B,GAAKn1C,KAAKiB,IAAI0E,iBAAmB3F,KAAKiB,IAAIqC,KAAKS,YAAc/D,KAAKiB,IAAIqC,MAAM/B,UAG9C,mBAAzBvB,MAAKgB,IAAIW,YAClBsV,EAAIo+B,EAAIr1C,KAAKgB,IAAIW,YAEjBsV,EAAIo+B,GAAKr1C,KAAKiB,IAAI0E,iBAAmB3F,KAAKiB,IAAIqC,KAAKS,YAAc/D,KAAKiB,IAAIqC,MAAM5B,WAG3EuV,IAIXqxC,aAAc,SAASrxC,GACjBA,GAAwB,mBAAVA,GAAIo+B,GAAsC,mBAAVp+B,GAAIk+B,GACpDn1C,KAAKgB,IAAImD,SAAS8S,EAAIo+B,EAAGp+B,EAAIk+B,IAIjC9D,eAAgB,WACd,MAAO9xC,GAAI8xC,eAAerxC,KAAKiF,UAGjCi+C,kBAAmB,WACjB,MAAOljD,MAAKqxC,mBAAsBrxC,KAAKoN,OAAiB,WAAIpN,KAAK4gD,aAAaza,aAAa,oBAAsBnmC,KAAKq9D,SAASp4D,QAAQkhC,aAAa,iBAAmBnmC,KAAKojD,gBAG9KrZ,QAAS,WACP,GAAI10B,GAAYrV,KAAKiF,QAAQoQ,UAAUpH,aACvC,OAAO,iCAAmCzD,KAAK6K,IAC1B,KAAdA,GACc,SAAdA,GACc,YAAdA,GACc,gBAAdA,GACArV,KAAKkjD,qBAGdqa,yBAA0B,WACtB,GAAIvvB,GAAOhuC,IACPA,MAAKoN,OAAOwvD,WACZ58D,KAAK47D,QAAU,GAAIr8D,GAAIiuC,oBAAoB,WACvCQ,EAAK4vB,YAEPv3D,UAAWrG,KAAKoN,OAAO6jD,WAAW2K,SACjC57D,KAAK4gD,eAER5gD,KAAK47D,QAAU,GAAIr8D,GAAIiuC,oBAAoB,WACvCQ,EAAK4vB,YAEPv3D,UAAWrG,KAAKoN,OAAO6jD,WAAW2K,UAEpC57D,KAAK4gD,aAAe5gD,KAAK47D,QAAQnuB,qBACjCluC,EAAI+vC,OAAOtvC,KAAK4gD,cAAcrR,MAAMvvC,KAAKq9D,SAASp4D,SAClDjF,KAAK69D,4BAIbL,aAAc,WACZ,GAAIxvB,GAAOhuC,IACXA,MAAK47D,QAAU,GAAIr8D,GAAIohD,QAAQ,WAC7B3S,EAAK4vB,YAEL7b,YAAc/hD,KAAKoN,OAAO20C,YAC1B17C,UAAWrG,KAAKoN,OAAO6jD,WAAW2K,UAEpC57D,KAAK4gD,aAAgB5gD,KAAK47D,QAAQ7a,WAElC,IAAI4b,GAAkB38D,KAAKq9D,SAASp4D,OACpC1F,GAAI+vC,OAAOtvC,KAAK4gD,cAAcrR,MAAMotB,GAEpC38D,KAAK69D,2BAIPA,wBAAyB,WACrB,GAAI79D,KAAKq9D,SAASp4D,QAAQ64D,KAAM,CAC9B,GAAIC,GAAc37D,SAASP,cAAc,QACzCk8D,GAAYt7D,KAAS,SACrBs7D,EAAYjvD,KAAS,iBACrBivD,EAAY73D,MAAS,EACrB3G,EAAI+vC,OAAOyuB,GAAaxuB,MAAMvvC,KAAKq9D,SAASp4D,WAIlD24D,QAAS,WACP,GAAI5vB,GAAOhuC,IACXA,MAAKiB,IAAqBjB,KAAK47D,QAAQnoD,cACvCzT,KAAKgB,IAAqBhB,KAAK47D,QAAQloD,YACvC1T,KAAKiF,QAAsBjF,KAAKoN,OAA0B,oBAAIpN,KAAK47D,QAAQnuB,qBAAuBztC,KAAKiB,IAAIqC,KACtGtD,KAAKoN,OAAOwvD,WAIb58D,KAAKu4C,WAHLv4C,KAAKq9D,SAAqBr9D,KAAK+R,OAAOsrD,SACtCr9D,KAAKiF,QAAQoQ,UAAarV,KAAKq9D,SAASjB,UAAS,GAAM,IAM3Dp8D,KAAKL,UAAY,GAAIP,GAASuvB,UAAU3uB,KAAK+R,OAAQ/R,KAAKiF,QAASjF,KAAKoN,OAAO6jD,WAAWC,qBAG1FlxD,KAAKV,SAAY,GAAIF,GAAS0wD,SAAS9vD,KAAK+R,QAEvC/R,KAAKoN,OAAOwvD,YACbr9D,EAAIkwC,gBACA,YAAa,aAAc,QAAS,OAAQ,MAAO,cACpDJ,KAAKrvC,KAAKq9D,SAASp4D,SAAS2qC,GAAG5vC,KAAKiF,SAG3CjF,KAAKg+D,mBAELz+D,EAAIotC,SAAS3sC,KAAKiF,QAASjF,KAAKoN,OAAO6jD,WAAWvc,UAG9C10C,KAAKoN,OAAOmiB,QAAUvvB,KAAKoN,OAAOkwD,qBACpCt9D,KAAKuvB,QAGPvvB,KAAKqpC,SAEL,IAAIv6B,GAAO9O,KAAKoN,OAAO0B,IACnBA,KACFvP,EAAIotC,SAAS3sC,KAAKiF,QAAS6J,GACtB9O,KAAKoN,OAAOkwD,qBAAuB/9D,EAAIotC,SAAS3sC,KAAK4gD,aAAc9xC,IAG1E9O,KAAKk9D,UAEAl9D,KAAKoN,OAAOwvD,YAAc58D,KAAKq9D,SAASp4D,QAAQy4D,UACnD19D,KAAKi9D,SAIP,IAAIpa,GAAsD,gBAA7B7iD,MAAKoN,OAAkB,YAChDpN,KAAKoN,OAAO6wD,YACVj+D,KAAKoN,OAAiB,WAAIpN,KAAK4gD,aAAaza,aAAa,oBAAsBnmC,KAAKq9D,SAASp4D,QAAQkhC,aAAa,cACpH0c,IACFtjD,EAAImjD,oBAAoB1iD,KAAK+R,OAAQ/R,KAAM6iD,EAAiB7iD,KAAKoN,OAAO6jD,WAAWgN,aAIrFj+D,KAAKV,SAASiyB,KAAK,gBAAgB,GAEnCvxB,KAAKk+D,sBACLl+D,KAAKm+D,mBACLn+D,KAAKo+D,oBAIAp+D,KAAKoN,OAAOwvD,aAAe58D,KAAKq9D,SAASp4D,QAAQgvC,aAAa,cAAgB7xC,SAASgiC,cAAc,WAAapkC,KAAKq9D,SAASp4D,SAAa49B,EAAQyB,SACxJ8J,WAAW,WAAaJ,EAAK9pC,OAAM,IAAU,KAI1C2+B,EAAQoD,kCACX7mC,EAASI,OAAOilD,qBAAqBzkD,MAInCA,KAAKq+D,UAAYr+D,KAAKoN,OAAOkxD,MAC/Bt+D,KAAKq+D,WAIFr+D,KAAKoN,OAAOwvD,YAAc58D,KAAKq9D,SAASL,OAG7Ch9D,KAAK+R,OAAOo3B,KAAK,cAAcA,KAAK,SAGtC60B,iBAAkB,WAChB,GAAIhwB,GAAiChuC,KACjCu+D,EAAiC17B,EAAQmD,wBACzCw4B,EAAiC37B,EAAQkD,kCAM7C,IAJIw4B,GACFv+D,KAAKV,SAASiyB,KAAK,iBAAiB,GAAO,GAGxCvxB,KAAKoN,OAAO+9B,SAAjB,GAMKqzB,GAAwBA,GAAuBD,KAClDv+D,KAAK+R,OAAO82B,GAAG,mBAAoB,WACjC,GAAItpC,EAAI8xC,eAAerD,EAAK/oC,SAASinB,MAAM3sB,EAAI4rC,SAASK,aAAc,CAKpE,IAAK,GAJDizB,GAAoBzwB,EAAKruC,UAAU+oD,kBACnCU,EAAcpb,EAAK/oC,QAAQG,iBAAiB,IAAM4oC,EAAK5gC,OAAO6jD,WAAWC,qBACzEwN,GAAiB,EAEZ73D,EAAIuiD,EAAYvlD,OAAQgD,KAC3BzH,EAASG,IAAIoH,SAASyiD,EAAYviD,GAAI43D,KACxCC,GAAiB,EAIhBA,IAAgBn/D,EAAI4rC,SAASszB,GAAoBzwB,EAAK5gC,OAAO6jD,WAAWC,yBAIjF3xD,EAAI8pC,QAAQrpC,KAAKiF,QAAS,OAAQ,WAChC1F,EAAI4rC,SAAS6C,EAAK/oC,SAAU+oC,EAAK5gC,OAAO6jD,WAAWC,wBAQvD,IACIyN,GAAkB3+D,KAAK47D,QAAQnoD,cAAcnH,qBAAqB,KAElEsyD,EAAkBr/D,EAAI4rC,SAASK,YAC/B6F,EAAkB,SAASpsC,GACzB,GAAIgxC,GAAc72C,EAASM,KAAK+qC,OAAOlrC,EAAI8xC,eAAepsC,IAAUq2B,MAIpE,OAHiC,SAA7B2a,EAAYhK,OAAO,EAAG,KACxBgK,EAAc,UAAYA,GAErBA,EAGb12C,GAAI8pC,QAAQrpC,KAAKiF,QAAS,UAAW,SAAS6D,GAC5C,GAAK61D,EAAM96D,OAAX,CAIA,GAEIoyC,GAFAkkB,EAAensB,EAAKruC,UAAU+oD,gBAAgB5/C,EAAM6nC,OAAOxrC,eAC3D6xC,EAAez3C,EAAI60C,iBAAiB+lB,GAAgB5oB,MAAO,KAAO,EAGjEyF,KAILf,EAAc5E,EAAe2F,GAG7B5I,WAAW,WACT,GAAIywB,GAAiBxtB,EAAe2F,EAChC6nB,KAAmB5oB,GAKnB4oB,EAAe3yC,MAAM0yC,IACvB5nB,EAAK5zC,aAAa,OAAQy7D,IAE3B,SAIPX,oBAAqB,WAMnB,GALAl+D,KAAKV,SAASiyB,KAAK,wBAAwB,GAKvCsR,EAAQ4B,cAAc,aAAc,CACtC,GAAIgO,IAAqB,QAAS,UAC9BqsB,EAAoBrsB,EAAW5uC,OAC/BoB,EAAoBjF,KAAKiF,OAE7B1F,GAAI8pC,QAAQpkC,EAAS,YAAa,SAAS6D,GACzC,GAGIs3B,GAHAuQ,EAAS7nC,EAAM6nC,QAAU7nC,EAAMyuC,WAC/BhoB,EAASohB,EAAOphB,MAChB1oB,EAAS,CAGb,IAAwB,QAApB8pC,EAAOnuC,SAAX,CAIA,KAASs8D,EAAFj4D,EAAoBA,IACzBu5B,EAAWqS,EAAW5rC,GAClB0oB,EAAM6Q,KACRuQ,EAAOvtC,aAAag9B,EAAUjU,SAASoD,EAAM6Q,GAAW,KACxD7Q,EAAM6Q,GAAY,GAKtBhhC,GAASI,OAAOslD,OAAO7/C,QAK7Bk5D,iBAAkB,WAChBn+D,KAAK86D,YAAc,GAAI17D,GAASk8D,YAAYt7D,KAAK+R,SAGnDqsD,kBAAmB,WAKjB,QAASW,GAAO5E,GACd,GAAI50D,GAAgBhG,EAAI60C,iBAAiB+lB,GAAgB5oB,MAAO,UAAY,EACxEhsC,IAAiBhG,EAAIoH,SAASqnC,EAAK/oC,QAASM,IAC9CyoC,EAAKruC,UAAU+rD,uBAAuB,WAChC1d,EAAK5gC,OAAO4yC,iBACTz6C,EAAczB,YAAeyB,EAAczB,aAAeyB,EAAc8b,WAAmD,IAAtC9b,EAAczB,WAAWxB,UAAkBiD,EAAczB,WAAW8oC,UAAUjmC,SAAS,4BAC/KpB,EAAclC,YAAY2qC,EAAK/sC,IAAIY,cAAc,OAEnDtC,EAAIqgD,sBAAsBr6C,IACU,MAA3BA,EAAc/C,UACvBjD,EAAIkgD,cAAcl6C,EAAe,OAdzC,GAAIyoC,GAAoChuC,KACpCg/D,EAAoC,gCACpCC,EAAoC,cAmBnCj/D,MAAKoN,OAAO4yC,eACfzgD,EAAI8pC,QAAQrpC,KAAKiF,SAAU,SAAU,WACnCmpC,WAAW,WACT,GAAIJ,EAAKjE,UAAW,CAClB,GAAIoW,GAAYnS,EAAK/sC,IAAIY,cAAc,IACvCmsC,GAAK/oC,QAAQoQ,UAAY,GACzB24B,EAAK/oC,QAAQ5B,YAAY88C,GACpBtd,EAAQ+B,+CAIXoJ,EAAKruC,UAAUgf,WAAWwhC,GAAW,IAHrCA,EAAU9qC,UAAY,OACtB24B,EAAKruC,UAAU6nD,UAAUrH,EAAUr8C,eAKtC,KAIPvE,EAAI8pC,QAAQrpC,KAAKiF,QAAS,UAAW,SAAS6D,GAC5C,GAAIgzD,GAAUhzD,EAAMgzD,OAEpB,MAAIhzD,EAAMkzD,UAAYlzD,EAAMk/C,SAAWl/C,EAAMo2D,kBAIzCpD,IAAY18D,EAASsB,WAAao7D,IAAY18D,EAASqB,eAA3D,CAGA,GAAI0+D,GAAe5/D,EAAI60C,iBAAiBpG,EAAKruC,UAAU+oD,mBAAqBnX,MAAOytB,GAAqC,EACxH,OAAIG,OACF/wB,YAAW,WAET,GACII,GADA2rB,EAAensB,EAAKruC,UAAU+oD,iBAGlC,IAA8B,OAA1ByW,EAAa38D,SAAmB,CAClC,IAAK23D,EACH,MAGF3rB,GAAOjvC,EAAI60C,iBAAiB+lB,GAAgB5oB,MAAO0tB,GAAa,GAE3DzwB,GACHuwB,EAAO5E,GAIP2B,IAAY18D,EAASsB,WAAay+D,EAAa38D,SAAS0pB,MAAM,aAChE6yC,EAAO5E,IAER,QAGDnsB,EAAK5gC,OAAO4yC,eAAiB8b,IAAY18D,EAASsB,YAActB,EAASyjC,QAAQiC,8BACnFh8B,EAAM0uC,iBACNxJ,EAAK1uC,SAASiyB,KAAK,4BAK1BnyB,UAEH,SAAUA,GACR,GAAIG,GAAkBH,EAASG,IAC3B0B,EAAkBmB,SAClBpB,EAAkBQ,OAClB49D,EAAkBn+D,EAAIY,cAAc,OAIpCw9D,GACE,mBACA,QAAS,SACT,cAAe,YAAa,aAAc,eAAgB,cAC1D,cAAe,iBACf,aAAc,kBAAmB,cAAe,iBAChD,aAAc,YAAa,gBAK7BC,GACE,mBACA,kBACA,sBAAuB,sBAAuB,sBAC9C,oBAAqB,oBAAqB,oBAC1C,qBAAsB,qBAAsB,qBAC5C,mBAAoB,mBAAoB,mBACxC,QAAS,UAAW,QACpB,gBAAiB,cAAe,eAAgB,aAChD,gBAAiB,iBAAkB,gBAAiB,gBACpD,eAAgB,gBAAiB,cAAe,iBAChD,WAAY,MAAO,OAAQ,QAAS,SAAU,UAC9C,iBAAkB,aAClB,qBAAsB,kBAAmB,iBAAkB,aAC3D,qBAAsB,kBAAmB,iBAAiB,aAC1D,kCAAmC,8BAA+B,0BAClE,qCAAsC,iCAAkC,6BACxE,oCAAqC,gCAAiC,4BACtE,iCAAkC,6BAA8B,yBAChE,QAAS,UAEXC,GACE,yCACA,iFACA,0CACA,yCACAngE,EAASyjC,QAAQY,QACf,mDACA,kDAEF,wFAWF+7B,EAAwB,SAASv6D,GACnC,GAAIA,EAAQw6D,UAGV,IAAMx6D,EAAQw6D,YAAe,MAAM79D,QAC9B,CACL,GAAI89D,GAAez6D,EAAQsqB,MACvBowC,EAAoB1+D,EAAI0E,gBAAgBpE,WAAaN,EAAIqC,KAAK/B,UAC9Dq+D,EAAqB3+D,EAAI0E,gBAAgBjE,YAAcT,EAAIqC,KAAK5B,WAChEm+D,GACEtsD,SAAkBmsD,EAAansD,SAC/B2hC,IAAkBwqB,EAAaxqB,IAC/BE,KAAkBsqB,EAAatqB,KAC/B0qB,iBAAkBJ,EAAaI,iBAGrCvgE,GAAIkxC,WACFl9B,SAAkB,WAClB2hC,IAAkB,WAClBE,KAAkB,WAElB0qB,iBAAkB,SACjBj3B,GAAG5jC,GAENA,EAAQf,QAER3E,EAAIkxC,UAAUovB,GAAgBh3B,GAAG5jC,GAE7BjE,EAAImD,UAINnD,EAAImD,SAASy7D,EAAoBD,IAMvCvgE,GAASQ,MAAMu9D,SAASz3D,UAAU6pB,MAAQ,WACxC,GAOIwwC,GAPA/xB,EAAwBhuC,KACxBggE,EAAwB/+D,EAAImjC,cAAc,UAC1Cu4B,EAAwB38D,KAAKq9D,SAASp4D,QACtCg7D,EAAwBtD,EAAgB1oB,aAAa,eACrDisB,EAAwBD,GAAkBtD,EAAgBx2B,aAAa,eACvEg6B,EAAwBxD,EAAgBptC,MAAME,QAC9C2wC,EAAwBzD,EAAgBe,QAG5C19D,MAAKqgE,gBAAuBjB,EAAc/rD,WAAU,GACpDrT,KAAKsgE,eAAuBlB,EAAc/rD,WAAU,GACpDrT,KAAKugE,mBAAuBnB,EAAc/rD,WAAU,GAGhD4sD,GACFtD,EAAgB5K,gBAAgB,eAG9B4K,IAAoBqD,GACtBrD,EAAgB6D,OAIlB7D,EAAgBe,UAAW,EAG3Bf,EAAgBptC,MAAME,QAAUswC,EAAyB,QAEpDpD,EAAgBx2B,aAAa,SAA4D,SAAjD5mC,EAAI6vC,SAAS,UAAUC,KAAKstB,IACpEA,EAAgBx2B,aAAa,SAA2D,SAAhD5mC,EAAI6vC,SAAS,SAASC,KAAKstB,MACtEA,EAAgBptC,MAAME,QAAUswC,EAAyBI,GAI3D5gE,EAAI8wC,WAAWivB,GAAgBjwB,KAAKstB,GAAiB/sB,GAAG5vC,KAAK4gD,cAAc5Q,MAAMhwC,KAAKsgE,gBAGtF/gE,EAAI8wC,WAAWgvB,GAAiBhwB,KAAKstB,GAAiB/sB,GAAG5vC,KAAKiF,SAAS+qC,MAAMhwC,KAAKsgE,gBAGlF/gE,EAAIq3C,UAAU2oB,GAAsB5oB,KAAK32C,KAAKiF,QAAQE,eAGtDw3D,EAAgBe,UAAW,EAC3Bn+D,EAAI8wC,WAAWivB,GAAgBjwB,KAAKstB,GAAiB/sB,GAAG5vC,KAAKugE,oBAC7DhhE,EAAI8wC,WAAWgvB,GAAiBhwB,KAAKstB,GAAiB/sB,GAAG5vC,KAAKugE,oBAC9D5D,EAAgBe,SAAW0C,EAG3BzD,EAAgBptC,MAAME,QAAU0wC,EAChCX,EAAsB7C,GACtBA,EAAgBptC,MAAME,QAAUswC,EAEhCxgE,EAAI8wC,WAAWivB,GAAgBjwB,KAAKstB,GAAiB/sB,GAAG5vC,KAAKqgE,iBAC7D9gE,EAAI8wC,WAAWgvB,GAAiBhwB,KAAKstB,GAAiB/sB,GAAG5vC,KAAKqgE,iBAG9D1D,EAAgBptC,MAAME,QAAU0wC,EAEhC5gE,EAAI8wC,YAAY,YAAYhB,KAAKstB,GAAiB/sB,GAAG5vC,KAAK4gD,aAK1D,IAAI6f,GAAsBrhE,EAASM,KAAKmoC,MAAMy3B,GAAgBt3B,SAAS,WAmCvE,OAhCIg4B,GACFR,EAAsBQ,GAEtBrD,EAAgB6D,OAIdP,GACFtD,EAAgBv5D,aAAa,cAAe88D,GAI9ClgE,KAAK+R,OAAO82B,GAAG,iBAAkB,WAC/BtpC,EAAI8wC,WAAWowB,GAAsBpxB,KAAKrB,EAAKqyB,iBAAiBzwB,GAAG5B,EAAK4S,cACxErhD,EAAI8wC,WAAWgvB,GAAsBhwB,KAAKrB,EAAKqyB,iBAAiBzwB,GAAG5B,EAAK/oC,WAG1EjF,KAAK+R,OAAO82B,GAAG,gBAAiB,WAC9BtpC,EAAI8wC,WAAWowB,GAAsBpxB,KAAKrB,EAAKsyB,gBAAgB1wB,GAAG5B,EAAK4S,cACvErhD,EAAI8wC,WAAWgvB,GAAsBhwB,KAAKrB,EAAKsyB,gBAAgB1wB,GAAG5B,EAAK/oC,WAGzEjF,KAAK+R,OAAOs3B,QAAQ,mBAAoB,WACtC9pC,EAAI8wC,WAAWowB,GAAsBpxB,KAAKrB,EAAKuyB,oBAAoB3wB,GAAG5B,EAAK4S,cAC3ErhD,EAAI8wC,WAAWgvB,GAAsBhwB,KAAKrB,EAAKuyB,oBAAoB3wB,GAAG5B,EAAK/oC,WAG7EjF,KAAK+R,OAAOs3B,QAAQ,kBAAmB,WACrC9pC,EAAI8wC,WAAWowB,GAAsBpxB,KAAKrB,EAAKsyB,gBAAgB1wB,GAAG5B,EAAK4S,cACvErhD,EAAI8wC,WAAWgvB,GAAsBhwB,KAAKrB,EAAKsyB,gBAAgB1wB,GAAG5B,EAAK/oC,WAGlEjF,OAERZ,UAUH,SAAUA,GACR,GAAIG,GAAYH,EAASG,IACrBqxC,EAAUrxC,EAAIqxC,QACd/N,EAAYzjC,EAASyjC,QAIrB69B,GACEC,GAAM,OACNC,GAAM,SACNC,GAAM,aAGRC,GAIFC,aAAc,SAAUpwB,EAAQ5H,EAAQV,GACtC,IAAI,GAAIxhC,GAAI,EAAG6hC,EAAMK,EAAOllC,OAAY6kC,EAAJ7hC,EAASA,IAC3C8pC,EAAO9nC,iBAAiBkgC,EAAOliC,GAAIwhC,GAAU,IAMjD24B,gBAAiB,SAAUrwB,EAAQ5H,EAAQV,GACzC,IAAI,GAAIxhC,GAAI,EAAG6hC,EAAMK,EAAOllC,OAAY6kC,EAAJ7hC,EAASA,IAC3C8pC,EAAOhoC,oBAAoBogC,EAAOliC,GAAIwhC,GAAU,IAKpD44B,yBAA0B,SAASvsB,EAAUwsB,GAC3C,GAAIxsB,EAAS/0C,UAAU6qD,wBAAyB,CAC9C,GAAIviC,GAAMysB,EAAS/0C,UAAUoD,eACzBo+D,EAAQl5C,EAAIjlB,UAChB,IAAIm+D,GAA4B,IAAnBA,EAAM7+D,WAAmBlD,EAASG,IAAI60C,iBAAiB+sB,GAAQ5vB,MAAO,WAAW,EAAOmD,EAASzvC,UAAYi8D,GAAQ,CAChI,GAAIluD,GAAWmuD,EAAMv9D,WAAWqkB,EAAIhlB,aACpC,IAAI+P,GAAkC,IAAtBA,EAAS1Q,SAAuC,OAAtB0Q,EAASxQ,SAEjD,MADAwQ,GAASjP,WAAWC,YAAYgP,IACzB,GAIb,OAAO,GAITouD,yBAA0B,SAAS1sB,GACjC,GAAIgC,GAAShC,EAAS/0C,UAAU0rD,oBAAmB,EACnD,IAAI3U,IAA2B,YAAhBA,EAAOj0C,MAAsC,aAAhBi0C,EAAOj0C,OAAiD,IAAzBi0C,EAAOh0C,KAAKJ,UAAkBo0C,EAAOh0C,KAAKkqC,UAAUjmC,SAAS+tC,EAAStnC,OAAO6jD,WAAWC,qBAAsB,CACvL,GAAI4P,EAAQG,yBAAyBvsB,GAAU,GAC7C,OAAO,CAET,KACE,GAAI+U,GAAK,GAAIllD,aAAY,8BAA+ByE,SAAS,EAAMC,YAAY,GACnFytC,GAAOh0C,KAAKgnD,cAAcD,GAC1B,MAAOE,IAET,MADAjT,GAAOh0C,KAAKqB,WAAWC,YAAY0yC,EAAOh0C,OACnC,EAET,OAAO,GAKT2+D,+BAAgC,SAAS3sB,GACvC,GAAI/0C,GAAY+0C,EAAS/0C,UACrB8xC,EAAW9xC,EAAUkqD,iBAEzB,IAAIlqD,EAAUorD,wBAAwB3rD,EAASyjC,QAAQ8E,sBAAwB8J,GACnD,IAAtBA,EAASnvC,UACTlD,EAASG,IAAIqxC,QAAQa,GAAUX,GAAG9lC,UACjC4lC,EAAQa,GAAUjnC,MACjB+mC,MAAO,0BAEX,CACA,GAAI,QAAU/mC,KAAKinC,EAASwE,aAAexE,EAASjP,WAGlD,MADAiP,GAAS1tC,WAAWC,YAAYytC,IACzB,CAEP,IAAIA,EAASpwB,UAAW,CACtB,GAAIigD,GAAU7vB,EAASpwB,UACnB84C,EAAex6D,EAAU+oD,kBACzB6Y,EAAqB3wB,EAAQa,GAAUG,eAAeuoB,EAAczlB,EAASzvC,SAC7EotC,EAAUjzC,EAASG,IAAI60C,iBAAiB+lB,GACtC5oB,MAAO,oDACN,EAAOgwB,GAAsB7sB,EAASzvC,QAE7C,IAAIotC,EAGF,MAFAzB,GAAQyB,GAASC,kBAAkBb,GAAU,GAC7C9xC,EAAUkoD,SAASyZ,IACZ,CACF,IAAIliE,EAASyjC,QAAQ8E,oBAI1B,MAHAwyB,GAAex6D,EAAUiqD,eACzBhZ,EAAQupB,GAAc7nB,kBAAkBb,GAAU,GAClD9xC,EAAUkoD,SAASyZ,IACZ,GAMjB,OAAO,GAKTE,4BAA6B,SAAS9sB,GACpC,GAAIt1C,EAASyjC,QAAQqE,uBAAwB,CAC3C,GAEcuK,GAAUgwB,EAEpBhwB,EACAiwB,EALA/hE,EAAY+0C,EAAS/0C,UAAUoD,eAC/Bo+D,EAAQxhE,EAAUqD,WAElB2+D,EAAejtB,EAAS/0C,UAAUorD,yBAUtC,IALuB,IAAnBoW,EAAM7+D,UAA6C,IAA3B3C,EAAUsD,cAAsBk+D,IAAUA,EAAMp9D,WAAWD,aACrFq9D,EAAQA,EAAMp9D,WACd49D,GAAe,GAGbA,GAAgBR,GAA4B,IAAnBA,EAAM7+D,UAAqC,OAAnB6+D,EAAM3+D,WACzDivC,EAAWb,EAAQuwB,GAAO3vB,MAAM33B,WAAY,EAAE,GAAI83B,kBAAkB,IAC/DF,IAAY0vB,EAAMp9D,YAA6C,OAA9Bo9D,EAAMp9D,WAAWvB,UAAmD,OAA9B2+D,EAAMp9D,WAAWvB,WAC3FivC,EAAWb,EAAQuwB,EAAMp9D,YAAYytC,MAAM33B,WAAY,EAAE,GAAI83B,kBAAkB,IAC/E+vB,EAAmBP,EAAMp9D,YAEvB0tC,GAqBF,MApBAgwB,GAAYN,EAAMr9D,WAClB8sC,EAAQuwB,GAAO7uB,kBAAkBb,GAAU,GAEvCiwB,GAAyD,IAArCA,EAAiBne,SAAS1/C,QAChD69D,EAAiBl8D,SAGfi8D,EACF/sB,EAAS/0C,UAAU6nD,UAAUia,GACpBhwB,IACiB,IAAtBA,EAASnvC,SACPmvC,EAASpwB,UACXqzB,EAAS/0C,UAAUkoD,SAASpW,EAASpwB,WAErCqzB,EAAS/0C,UAAUgf,WAAW8yB,GAGhCiD,EAAS/0C,UAAUkoD,SAASpW,KAGzB,EAIb,OAAO,GAGTmwB,0CAA2C,SAASltB,GAClD,GAGImtB,GAHAliE,EAAY+0C,EAAS/0C,UACrB8xC,EAAW9xC,EAAUkqD,kBACrBsQ,EAAex6D,EAAU+oD,iBAG7B,OAAI/oD,GAAUorD,2BACkB,IAA1BoP,EAAa73D,WACf63D,EAAeA,EAAap2D,YAE9B89D,EAAiB1H,EAAar2D,WAC9B8sC,EAAQupB,GAAc7nB,kBAAkBb,GAAU,GAC9CowB,GACFntB,EAAS/0C,UAAU6nD,UAAUqa,IAExB,IAEF,GAKTC,+BAAgC,SAASptB,GACvC,GACImgB,GAAW9iD,EADXgwD,EAAa,0BAEbzgE,GAAM,CAGV,IADAuzD,EAAYngB,EAAS/0C,UAAUoqD,oBAC3B8K,KAEEA,EAAU7K,WAAa6K,EAAU7hD,YACnCjB,EAASxS,EAAI60C,iBAAiBygB,EAAU7K,WAAa6K,EAAU7hD,UAAYu+B,MAAOwwB,GAAc,GAC5FhwD,IAAW2iC,EAASzvC,UACtB8M,EAASnK,SAITmK,GAAU8iD,EAAU7K,WACtB,GAAIpZ,EAAQikB,EAAU7K,WAAWlZ,GAAGhC,aAElC,GAAI4F,EAAStnC,OAAO40D,4BAA6B,CAE/C1gE,GAAM,EACNuzD,EAAU7K,UAAUjmD,WAAWC,YAAY6wD,EAAU7K,WAGjDpZ,EAAQikB,EAAU7hD,UAAU89B,GAAGhC,aACjC+lB,EAAU7hD,SAASjP,WAAWC,YAAY6wD,EAAU7hD,SAGtD,IAAIivD,GAASvtB,EAASzzC,IAAIY,cAAc,KACpC+uC,GAAQikB,EAAU7hD,UAAU89B,GAAGhC,aAAe+lB,EAAU7hD,WAAajB,EAAOsP,UAC9EtP,EAAOhO,WAAWkP,aAAagvD,EAAQlwD,EAAO/K,aAE9C0tC,EAAS/0C,UAAU4sD,oBAAoBx6C,EAAQkwD,GAI7CpN,EAAU7hD,UAA4C,IAAhC6hD,EAAU7hD,SAAS1Q,WAE3CuyD,EAAU7hD,SAASkC,KAAO2/C,EAAU7hD,SAASkC,KAAKwR,QAAQ,aAAc,KAE1EguB,EAAS/0C,UAAU6nD,UAAUya,QAG1B,IAAqC,IAAjCpN,EAAU7K,UAAU1nD,UAAkBlD,EAASyjC,QAAQ0E,6BAA+BstB,EAAU5K,aAAe4K,EAAU7K,UAAU90C,KAAKrR,SAAWgxD,EAAU7hD,SAAU,CAIhL1R,GAAM,CACN,IAAI4gE,GAAMxtB,EAASzzC,IAAIY,cAAc,MACjCsgE,EAAMztB,EAASzzC,IAAIY,cAAc,MACjC0lB,EAAImtB,EAASzzC,IAAIwU,wBACrB8R,GAAElkB,YAAY6+D,GACd36C,EAAElkB,YAAY8+D,GACdztB,EAAS/0C,UAAUqhB,WAAWuG,GAC9BmtB,EAAS/0C,UAAU6nD,UAAU2a,GAKnC,MAAO7gE,KAIP8gE,EAAuB,SAASt5D,EAAO4rC,GACzC,GAAI/0C,GAAY+0C,EAAS/0C,SACX+0C,GAASzvC,OAEvB,IAAItF,EAAU2lB,cAAe,CAK3B,GAAIovB,EAAS3K,YAAc2K,EAAStnC,OAAO4yC,cAEzC,WADAl3C,GAAM0uC,gBAGR,IAAIspB,EAAQM,yBAAyB1sB,GAEnC,WADA5rC,GAAM0uC,gBAGR,IAAIspB,EAAQU,4BAA4B9sB,GAEtC,WADA5rC,GAAM0uC,gBAGR,IAAIspB,EAAQO,+BAA+B3sB,GAEzC,WADA5rC,GAAM0uC,gBAGR,IAAIspB,EAAQG,yBAAyBvsB,GAEnC,WADA5rC,GAAM0uC,gBAGR,IAAIp4C,EAASyjC,QAAQ8E,qBACfm5B,EAAQc,0CAA0CltB,GAEpD,WADA5rC,GAAM0uC,qBAKN73C,GAAUwpD,uBACZrgD,EAAM0uC,iBACN73C,EAAUkf,mBAKZwjD,EAAsB,SAASv5D,EAAO4rC,GACxC,GAAIA,EAAStnC,OAAO4yC,gBAAkBl3C,EAAMkzD,WAAalzD,EAAMk/C,QAAS,CAMlEtT,EAAS/0C,UAAU2lB,eACjBw7C,EAAQgB,+BAA+BptB,IACzC5rC,EAAM0uC,iBAKZ,GAAI3U,EAAQ+E,sCAAwC8M,EAAS/0C,UAAU6qD,wBAAyB,CAC9F,GAAI7Z,GAAS+D,EAAS/0C,UAAU+oD,iBAAgB,GAC5C4Z,EAAY3xB,GAA8B,IAApBA,EAAOruC,SAAkBquC,EAAO5sC,WAAa4sC,CAGnE2xB,IAAYA,EAASh9D,QAAQ,MAA4B,IAApBqrC,EAAOruC,UAAkBquC,IAAW2xB,EAASjhD,WAGpFqzB,EAAS/0C,UAAUkoD,SAASya,KAK9BC,EAAmB,SAAS7tB,EAAUzvC,EAAS+2D,GACjD,GAAKtnB,EAAS/0C,UAAU2lB,eAEjB,GAAIovB,EAAS/0C,UAAUwrD,qBAAqB,MACjD,GAAI6Q,GACF,GAAItnB,EAASp1C,SAASiyB,KAAK,eAAgB,WAE3C,IAAImjB,EAASp1C,SAASiyB,KAAK,cAAe,WAL5CmjB,GAAS/0C,UAAUkf,gBAUrB61B,GAASp1C,SAASiyB,KAAK,aAAc,WAGnCixC,EAAuB,SAAS15D,GAC5B9I,KAAKyiE,wBACPC,cAAcD,wBAEhBziE,KAAK+R,OAAOo3B,KAAK,qBAIjBw5B,EAAwB,SAAU75D,GACpC9I,KAAK+R,OAAOo3B,KAAK,oBAAqBrgC,GAAOqgC,KAAK,6BAA8BrgC,GAChFslC,WAAW,WACTpuC,KAAK+R,OAAOo3B,KAAK,cAAergC,GAAOqgC,KAAK,uBAAwBrgC,IACnEg/C,KAAK9nD,MAAO,IAGb4iE,EAAc,SAAS95D,GACzB9I,KAAK+R,OAAOo3B,KAAK,QAASrgC,GAAOqgC,KAAK,iBAAkBrgC,GAIxDslC,WAAW,WACTpuC,KAAK6iE,WAAa7iE,KAAKo8D,UAAS,GAAO,IACtCtU,KAAK9nD,MAAO,IAGb8iE,EAAa,SAASh6D,GACxB,GAAI9I,KAAK6iE,aAAe7iE,KAAKo8D,UAAS,GAAO,GAAQ,CAEnD,GAAI2G,GAAcj6D,CACS,mBAAjBlD,QAAOo9D,SACfD,EAAcn9D,OAAOo9D,OAAOl6D,GAASrG,MAAQyD,MAAO,aAEtDlG,KAAK+R,OAAOo3B,KAAK,SAAU45B,GAAa55B,KAAK,kBAAmB45B,GAElE/iE,KAAK+R,OAAOo3B,KAAK,OAAQrgC,GAAOqgC,KAAK,gBAAiBrgC,IAGpDm6D,EAAc,SAASn6D,GACzB9I,KAAK+R,OAAOo3B,KAAKrgC,EAAMrG,KAAMqG,GAAOqgC,KAAKrgC,EAAMrG,KAAO,YAAaqG,GAChD,UAAfA,EAAMrG,MACR2rC,WAAW,WACTpuC,KAAK+R,OAAOo3B,KAAK,qBAChB2e,KAAK9nD,MAAO,IAIfkjE,EAAa,SAASp6D,GACpB9I,KAAKoN,OAAO+1D,oBAGV/jE,EAASyjC,QAAQ4E,wBACnB3+B,EAAMyrC,cAAc6uB,QAAQ,YAAapjE,KAAKoN,OAAO+1D,kBAAoBnjE,KAAKL,UAAU6vD,WACxF1mD,EAAMyrC,cAAc6uB,QAAQ,aAAcpjE,KAAKL,UAAU8vD,gBACzD3mD,EAAM0uC,kBAERx3C,KAAK+R,OAAOo3B,KAAKrgC,EAAMrG,KAAMqG,GAAOqgC,KAAKrgC,EAAMrG,KAAO,YAAaqG,KAInEu6D,EAAc,SAASv6D,GACzB,GAAIgzD,GAAUhzD,EAAMgzD,SAChBA,IAAY18D,EAASwB,WAAak7D,IAAY18D,EAASsB,YACzDV,KAAK+R,OAAOo3B,KAAK,qBAIjBm6B,EAAkB,SAASx6D,GAC7B,IAAK+5B,EAAQuD,mCAAoC,CAE/C,GAAIuK,GAAS7nC,EAAM6nC,OACf4yB,EAAYvjE,KAAKiF,QAAQG,iBAAiB,OAC1Co+D,EAAcxjE,KAAKiF,QAAQG,iBAAiB,IAAMpF,KAAKoN,OAAO6jD,WAAWC,oBAAsB,QAC/FuS,EAAWrkE,EAASM,KAAKmoC,MAAM07B,GAAWv7B,QAAQw7B,EAE9B,SAApB7yB,EAAOnuC,UAAsBpD,EAASM,KAAKmoC,MAAM47B,GAAU98D,SAASgqC,IACtE3wC,KAAKL,UAAUgf,WAAWgyB,GAK1BvxC,EAASyjC,QAAQ8E,sBACnB3nC,KAAKL,UAAU+jE,kBAAoBruB,EAAGvsC,EAAM66D,QAASxuB,EAAGrsC,EAAM86D,SAC9Dx1B,WAAW,iBACFpuC,MAAKL,UAAU+jE,kBACtB5b,KAAK9nD,MAAO,KAMd6jE,EAAwB,SAAS/6D,GACnC,GACImO,IADSnO,EAAM6nC,OACT3wC,KAAKL,UAAU+jE,iBACzB,IAAIzsD,EAAK,CACP,GAAI6sD,GAAgB1hE,SAASkB,KAAK4K,iBAChCkgC,YAAW,WACT,IACE01B,EAAcC,YAAY9sD,EAAIo+B,EAAGp+B,EAAIk+B,GACrC2uB,EAAcr6C,SACd,MAAO7nB,MACTkmD,KAAK9nD,MAAO,KAIhBgkE,EAAc,SAASl7D,GACzB,GAAI9I,KAAKoN,OAAO6jD,WAAWC,oBAAqB,CAG9C,GAAI+S,GAAa7kE,EAASG,IAAI60C,iBAAiBtrC,EAAM6nC,QAAUY,MAAO,IAAMvxC,KAAKoN,OAAO6jD,WAAWC,sBAAuB,EAAOlxD,KAAKiF,QAClIg/D,IACFjkE,KAAKL,UAAUkoD,SAASoc,KAK1BC,EAAa,SAASp7D,GACnB+5B,EAAQuD,oCAEXgI,WAAW,WACTpuC,KAAKL,UAAUoD,eAAeU,mBAC7BqkD,KAAK9nD,MAAO,IAIfmkE,EAAgB,SAASr7D,GAC3B,GAIIiJ,GAJA+pD,EAAUhzD,EAAMgzD,QAChBp2B,EAAUg7B,EAAU5E,GACpBnrB,EAAS3wC,KAAKL,UAAU+oD,iBAAgB,EAC5B/X,IAA8B,IAApBA,EAAOruC,SAAkBquC,EAAO5sC,WAAa4sC,CAIvE,QAAK7nC,EAAMk/C,UAAWl/C,EAAMm/C,SAAan/C,EAAM+yD,QAAsB,KAAZC,IAOpDhzD,EAAMk/C,SAAWl/C,EAAMm/C,WAAan/C,EAAM+yD,QAAUn2B,IACvD1lC,KAAKV,SAASiyB,KAAKmU,GACnB58B,EAAM0uC,kBAGJskB,IAAY18D,EAASqB,eAEvB2hE,EAAqBt5D,EAAO9I,OAI1B87D,IAAY18D,EAASqB,eAAiBq7D,IAAY18D,EAAS0B,aACzD6vC,GAA8B,QAApBA,EAAOnuC,WACnBsG,EAAM0uC,iBACNzlC,EAAS4+B,EAAO5sC,WAChBgO,EAAO/N,YAAY2sC,GAEK,MAApB5+B,EAAOvP,UAAqBuP,EAAOjO,YACrCiO,EAAOhO,WAAWC,YAAY+N,GAEhCq8B,WAAW,WACThvC,EAASI,OAAOslD,OAAO9kD,KAAKiF,UAC3B6iD,KAAK9nD,MAAO,IAIfA,KAAKoN,OAAOg3D,cAAgBtI,IAAY18D,EAASyB,UAEnDiI,EAAM0uC,iBACN+qB,EAAiBviE,KAAMA,KAAKiF,QAAS6D,EAAMkzD,gBAGzCF,IAAY18D,EAASsB,WACvB2hE,EAAoBv5D,EAAO9I,SAvC3BA,KAAKL,UAAUwvD,gBACfrmD,GAAM0uC,mBA2CN6sB,EAAiB,SAASv7D,GAG5B,GAAoB,IAAhBA,EAAMi/C,OAUJ/nD,KAAKL,UAAU6qD,wBAAyB,CAC1C,GAEI8Z,GAAgBC,EAFhB5zB,EAAS3wC,KAAKL,UAAU+oD,iBAAgB,GACxC4Z,EAAY3xB,GAA8B,IAApBA,EAAOruC,SAAkBquC,EAAO5sC,WAAa4sC,CAGnE2xB,IAAYA,EAASh9D,QAAQ,MAAQqrC,IAAW2xB,EAASjhD,YAEvC,KAAhBvY,EAAMi/C,OAAgB/nD,KAAKL,UAAU6qD,uBAAsB,IAAS3nB,EAAQ+E,sCAK9E08B,EAAiBtkE,KAAKiB,IAAIc,eAAe3C,EAASc,iBAClDF,KAAKL,UAAUqhB,WAAWsjD,GAC1BtkE,KAAKL,UAAU6nD,UAAU8c,GACzBl2B,WAAW,WAELk2B,EAAeruB,YAAYpyC,OAAS,GACtCygE,EAAeruB,YAAcquB,EAAeruB,YAAYvvB,QAAQtnB,EAASe,wBAAyB,IAClGH,KAAKL,UAAUkoD,SAASyc,IAExBA,EAAe9+D,UAGjBsiD,KAAK9nD,MAAO,IACW,KAAhB8I,EAAMi/C,OAKS,IAApBpX,EAAOruC,UAAkB,aAAekI,KAAKmmC,EAAOsF,eAEtDtF,EAAOsF,YAActF,EAAOsF,YAAYvvB,QAAQ,aAAc,IAC9D69C,EAAQvkE,KAAKiB,IAAIc,eAAe,KAChCugE,EAASv+D,WAAWkP,aAAasxD,EAAOjC,EAASt7D,aACjDhH,KAAKL,UAAUkoD,SAAS0c,GAAO,GAC/Bz7D,EAAM0uC,oBAwBlBp4C,GAASQ,MAAMu9D,SAASz3D,UAAU8+D,eAAiB1D,EAEnD1hE,EAASQ,MAAMu9D,SAASz3D,UAAU2jC,QAAU,WAC1C,GACIntB,GAAuBlc,KAAK47D,QAAiB,UAAI57D,KAAK47D,QAAQ7a,YAAc/gD,KAAK47D,QAAQnuB,qBAEzFg3B,GADsBzkE,KAAKiF,QACJ49B,EAAQoC,mCAAqCjlC,KAAK47D,QAAQnuB,mBAAsBztC,KAAKiF,QAAUjF,KAAK47D,QAAQloD,YAEvI1T,MAAK6iE,WAAa7iE,KAAKo8D,UAAS,GAAO,GACvCp8D,KAAK8gE,QAAUA,EAGf5kD,EAAUrT,kBAAkB,kBAAmB25D,EAAqB1a,KAAK9nD,OAAO,GAI3E6iC,EAAQ2E,2BACXxnC,KAAKyiE,uBAAyBiC,YAAY,WACnCnlE,EAAIoH,SAASvE,SAASuD,gBAAiBuW,IAC1CsmD,EAAqB/5D,KAAKzI,OAE3B,MAGL8gE,EAAQC,aAAa0D,GAAmB,OAAQ,QAAS,UAAW,QAAS,SAAU9B,EAAsB7a,KAAK9nD,OAClHykE,EAAiB57D,iBAAiB,QAAS+5D,EAAY9a,KAAK9nD,OAAO;AACnEykE,EAAiB57D,iBAAiB,OAASi6D,EAAWhb,KAAK9nD,OAAO,GAElE8gE,EAAQC,aAAa/gE,KAAKiF,SAAU,OAAQ,QAAS,eAAgBg+D,EAAYnb,KAAK9nD,OAAO,GAC7FA,KAAKiF,QAAQ4D,iBAAiB,OAAcq6D,EAAWpb,KAAK9nD,OAAO,GACnEA,KAAKiF,QAAQ4D,iBAAiB,YAAcy6D,EAAgBxb,KAAK9nD,OAAO,GACxEA,KAAKiF,QAAQ4D,iBAAiB,QAAcm7D,EAAYlc,KAAK9nD,OAAO,GACpEA,KAAKiF,QAAQ4D,iBAAiB,OAAcq7D,EAAWpc,KAAK9nD,OAAO,GACnEA,KAAKiF,QAAQ4D,iBAAiB,QAAcw6D,EAAYvb,KAAK9nD,OAAO,GACpEA,KAAKiF,QAAQ4D,iBAAiB,UAAcs7D,EAAcrc,KAAK9nD,OAAO,GACtEA,KAAKiF,QAAQ4D,iBAAiB,WAAcw7D,EAAevc,KAAK9nD,OAAO,GAGnEZ,EAASyjC,QAAQ8E,qBACnB3nC,KAAKiF,QAAQ4D,iBAAiB,kBAAmBg7D,EAAsB/b,KAAK9nD,OAAO,GAGrFA,KAAKiF,QAAQ4D,iBAAiB,YAAa,WACzC7I,KAAK+R,OAAOo3B,KAAK,sBAChB2e,KAAK9nD,OAAO,KAGhBZ,UAKH,SAAUA,GACR,GAAIulE,GAAW,GAEfvlE,GAASQ,MAAMglE,aAAet7D,KAAKC,QAGjCM,YAAa,SAAS84C,EAAQ0a,EAAU3oB,GACtC10C,KAAK2iD,OAAWA,EAChB3iD,KAAKq9D,SAAWA,EAChBr9D,KAAK00C,SAAWA,EAEhB10C,KAAK07D,YAQPmJ,uBAAwB,SAASC,GAC/B9kE,KAAKq9D,SAASha,SAASjkD,EAASM,KAAK+qC,OAAOzqC,KAAK00C,SAAS0nB,UAAS,GAAO,IAAQ9gC,OAAQwpC,IAQ5FC,uBAAwB,SAASD,GAC/B,GAAIE,GAAgBhlE,KAAKq9D,SAASjB,UAAS,GAAO,EAC9C4I,GACFhlE,KAAK00C,SAAS2O,SAAS2hB,EAAeF,IAEtC9kE,KAAK00C,SAASyO,QACdnjD,KAAK2iD,OAAOxZ,KAAK,qBAQrBm1B,KAAM,SAASwG,GACwB,aAAjC9kE,KAAK2iD,OAAOma,YAAYhuD,KAC1B9O,KAAK+kE,uBAAuBD,GAE5B9kE,KAAK6kE,uBAAuBC,IAShCpJ,SAAU,WACR,GAAIuJ,GACAj3B,EAAgBhuC,KAChB89D,EAAgB99D,KAAKq9D,SAASp4D,QAAQ64D,KACtCoH,EAAgB,WACdD,EAAWP,YAAY,WAAa12B,EAAK62B,0BAA6BF,IAExEQ,EAAgB,WACdzC,cAAcuC,GACdA,EAAW,KAGjBC,KAEIpH,IAGF1+D,EAASG,IAAI8pC,QAAQy0B,EAAM,SAAU,WACnC9vB,EAAKswB,MAAK,KAEZl/D,EAASG,IAAI8pC,QAAQy0B,EAAM,QAAS,WAClC1vB,WAAW,WAAaJ,EAAK+2B,0BAA6B,MAI9D/kE,KAAK2iD,OAAO9Z,GAAG,cAAe,SAAS+Z,GACxB,aAATA,GAAwBqiB,EAGR,aAATriB,IACT5U,EAAK62B,wBAAuB,GAC5BM,MAJAn3B,EAAK+2B,wBAAuB,GAC5BG,OAOJllE,KAAK2iD,OAAO9Z,GAAG,mBAAoBs8B,OAGtC/lE,UAEH,SAAUA,GAERA,EAASQ,MAAMwlE,WAAa97D,KAAKC,QAG/BM,YAAa,SAAS84C,EAAQjO,GAC5B10C,KAAK2iD,OAAWA,EAChB3iD,KAAK00C,SAAWA,EAEhB10C,KAAK07D,YAGP2J,iBAAkB,SAASP,GACzB,GAAIQ,GAAiBtlE,KAAK00C,SAAS1zC,IAAIyV,iBAAiBzW,KAAK00C,SAASzvC,SAClE8vC,EAAQzR,WAAWgiC,EAAevwB,OAClCC,EAAS5uB,KAAKsiB,IAAIpF,WAAWgiC,EAAetwB,QAAS,IAEpDh1C,MAAKq9D,WACRr9D,KAAKq9D,SAAWr9D,KAAK00C,SAASzzC,IAAIY,cAAc,YAChD7B,KAAKq9D,SAASh3D,UAAY,wBAE5BrG,KAAKq9D,SAAS9tC,MAAMwlB,MAAQA,EAAQ,KACpC/0C,KAAKq9D,SAAS9tC,MAAMylB,OAASA,EAAS,KACtCh1C,KAAKq9D,SAASn3D,MAAQlG,KAAK2iD,OAAOyZ,SAAS0I,GAAiB,GAC5D9kE,KAAK00C,SAASzvC,QAAQlB,WAAWkP,aAAajT,KAAKq9D,SAAUr9D,KAAK00C,SAASzvC,SAC3EjF,KAAK2iD,OAAOma,YAAc,SAC1B98D,KAAK00C,SAASzvC,QAAQsqB,MAAME,QAAU,QAGxC81C,iBAAkB,SAAST,GACzB,GAAIE,GAAgBhlE,KAAKq9D,SAASn3D,KAC9B8+D,GACFhlE,KAAK00C,SAAS2O,SAAS2hB,EAAeF,IAEtC9kE,KAAK00C,SAASyO,QACdnjD,KAAK2iD,OAAOxZ,KAAK,oBAEnBnpC,KAAKq9D,SAASt5D,WAAWC,YAAYhE,KAAKq9D,UAC1Cr9D,KAAK2iD,OAAOma,YAAc98D,KAAK00C,SAC/B10C,KAAK00C,SAASzvC,QAAQsqB,MAAME,QAAU,IAGxCisC,SAAU,WACR17D,KAAK2iD,OAAO9Z,GAAG,cAAe,SAAS+Z,GACxB,aAATA,EACF5iD,KAAKulE,kBAAiB,GACJ,aAAT3iB,GACT5iD,KAAKqlE,kBAAiB,IAExBvd,KAAK9nD,WAKVZ,UAEHA,SAASQ,MAAM4lE,SAAWpmE,SAASQ,MAAM88D,KAAKnzD,QAE5CuF,KAAM,WAENjF,YAAa,SAASkI,EAAQ4qD,EAAiBvvD,GAC7CpN,KAAK4J,KAAKmI,EAAQ4qD,EAAiBvvD,GAEnCpN,KAAK07D,YAGPvY,MAAO,WACLnjD,KAAKiF,QAAQiB,MAAQ,IAGvBk2D,SAAU,SAASxkB,GACjB,GAAI1xC,GAAQlG,KAAK+pC,UAAY,GAAK/pC,KAAKiF,QAAQiB,KAI/C,OAHI0xC,MAAU,IACZ1xC,EAAQlG,KAAK+R,OAAO6lC,MAAM1xC,IAErBA,GAGTm9C,SAAU,SAAS1tC,EAAMiiC,GACnBA,KAAU,IACZjiC,EAAO3V,KAAK+R,OAAO6lC,MAAMjiC,IAE3B3V,KAAKiF,QAAQiB,MAAQyP,GAGvB4iC,QAAS,SAAS1B,GACd,GAAIlhC,GAAO3V,KAAK+R,OAAO6lC,MAAM53C,KAAKiF,QAAQiB,MAAO0B,OAAWivC,EAC5D72C,MAAKiF,QAAQiB,MAAQyP,GAGzButC,kBAAmB,WACjB,GAAIuiB,GAAsBrmE,SAASyjC,QAAQkC,+BAA+B/kC,KAAKiF,SAC3E49C,EAAsB7iD,KAAKiF,QAAQkhC,aAAa,gBAAkB,KAClEjgC,EAAsBlG,KAAKiF,QAAQiB,MACnC6jC,GAAuB7jC,CAC3B,OAAQu/D,IAAuB17B,GAAa7jC,IAAU28C,GAGxD9Y,QAAS,WACP,OAAQ3qC,SAASM,KAAK+qC,OAAOzqC,KAAKiF,QAAQiB,OAAOo1B,QAAUt7B,KAAKkjD,qBAGlEwY,SAAU,WACR,GAAIz2D,GAAUjF,KAAKiF,QACf8M,EAAU/R,KAAK+R,OACf2zD,GACEC,QAAU,QACVC,SAAU,QAMZ78B,EAAS3pC,SAASyjC,QAAQ4B,cAAc,YAAc,UAAW,WAAY,WAAa,QAAS,OAAQ,SAE/G1yB,GAAO82B,GAAG,aAAc,WACtBzpC,SAASG,IAAI8pC,QAAQpkC,EAAS8jC,EAAQ,SAASjgC,GAC7C,GAAIk8B,GAAY0gC,EAAa58D,EAAMrG,OAASqG,EAAMrG,IAClDsP,GAAOo3B,KAAKnE,GAAWmE,KAAKnE,EAAY,eAG1C5lC,SAASG,IAAI8pC,QAAQpkC,GAAU,QAAS,QAAS,WAC/CmpC,WAAW,WAAar8B,EAAOo3B,KAAK,SAASA,KAAK,mBAAsB,UAqChF,SAAU/pC,GACR,GAAIymE,EAEJzmE,GAAS0mE,OAAS1mE,EAASM,KAAKkpC,WAAWr/B,QAEzCiH,UAEE1B,KAAsB+2D,EAEtBt2C,OAAsB,EAEtB4b,UAAsB,EAEtBi5B,cAAsB,EAGtB2B,aAAwBpsB,MAAQqsB,MAAQC,QAAUC,OAAS5hE,KAAOg0D,KAAOzxD,KAAOs/D,MAAShgE,YAEzFigE,oBAAqB,KAErBC,OAAsBjnE,EAASG,IAAIq4C,MAEnCoI,eAAsB,EAGtBgiB,6BAA6B,EAE7BjgB,eAEAc,gBAAsBgjB,EAEtBS,qBAAsB,EAEtB/tB,SAAsB,EAEtB+kB,qBAAqB,EACrBrM,YAEEvc,SAAU,kBAEVpxC,KAAM,qBAENs4D,QAAS,mBAETqC,YAAa,uBAEb/M,oBAAqB,iCAMvBiS,kBAAmB,gDAGrBt5D,YAAa,SAASuzD,EAAiBhwD,GAoBrC,GAnBApN,KAAKo9D,gBAA+C,gBAAtB,GAAiCh7D,SAAS2sB,eAAequC,GAAmBA,EAC1Gp9D,KAAKoN,OAAmBhO,EAASM,KAAKqL,WAAWw+B,MAAMvpC,KAAKwQ,UAAU+4B,MAAMn8B,GAAQrH,MACpF/F,KAAKumE,cAAmBnnE,EAASyjC,QAAQ11B,YAGrCC,GAAUA,EAAO6jD,YACnB7xD,EAASM,KAAKqL,OAAO/K,KAAKoN,OAAO6jD,YAAY1nB,MAAMn8B,EAAO6jD,YAGT,YAA/CjxD,KAAKo9D,gBAAgB56D,SAASyL,gBAC9BjO,KAAKoN,OAAOkwD,qBAAsB,EAClCt9D,KAAKoN,OAAOwvD,YAAa,GAExB58D,KAAKoN,OAAOwvD,aACb58D,KAAKq9D,SAAmB,GAAIj+D,GAASQ,MAAM4lE,SAASxlE,KAAMA,KAAKo9D,gBAAiBp9D,KAAKoN,QACrFpN,KAAK88D,YAAmB98D,KAAKq9D,WAI5Br9D,KAAKumE,gBAAmBvmE,KAAKoN,OAAOk5D,qBAAuBlnE,EAASyjC,QAAQ2B,gBAAkB,CACjG,GAAIwJ,GAAOhuC,IAEX,YADAouC,YAAW,WAAaJ,EAAK7E,KAAK,cAAcA,KAAK,SAAY,GAKnE/pC,EAASG,IAAIotC,SAASvqC,SAASkB,KAAMtD,KAAKoN,OAAO6jD,WAAW3tD,MAE5DtD,KAAK00C,SAAW,GAAIt1C,GAASQ,MAAMu9D,SAASn9D,KAAMA,KAAKo9D,gBAAiBp9D,KAAKoN,QAC7EpN,KAAK88D,YAAc98D,KAAK00C,SAEW,kBAAxB10C,MAAKoN,OAAa,QAC3BpN,KAAKwmE,cAGPxmE,KAAK6oC,GAAG,aAAc7oC,KAAKymE,mBAG7BA,iBAAkB,WACTzmE,KAAKoN,OAAOwvD,WAGf58D,KAAK0mE,WAAa,GAAItnE,GAASQ,MAAMwlE,WAAWplE,KAAMA,KAAK00C,UAF3D10C,KAAK2mE,aAAe,GAAIvnE,GAASQ,MAAMglE,aAAa5kE,KAAMA,KAAKq9D,SAAUr9D,KAAK00C,UAIhF10C,KAAK4mE,sBAGTA,mBAAoB,WAClBxnE,EAASS,gBAAgBqK,QAAQ,SAASnK,GACxCA,EAASC,OACT8nD,KAAK9nD,QAGT6mE,aAAc,WACZ,MAAO7mE,MAAKumE,eAGdpjB,MAAO,WAEL,MADAnjD,MAAK88D,YAAY3Z,QACVnjD,MAGTo8D,SAAU,SAASxkB,EAAOO,GACxB,MAAOn4C,MAAK88D,YAAYV,SAASxkB,EAAOO,IAG1CkL,SAAU,SAAS1tC,EAAMiiC,GAGvB,MAFA53C,MAAKmpC,KAAK,qBAELxzB,GAIL3V,KAAK88D,YAAYzZ,SAAS1tC,EAAMiiC,GACzB53C,MAJEA,KAAKmjD,SAOhB5K,QAAS,SAAS1B,GACd72C,KAAK88D,YAAYvkB,QAAQ1B,IAG7B3yC,MAAO,SAASy5D,GAEd,MADA39D,MAAK88D,YAAY54D,MAAMy5D,GAChB39D,MAMTi9D,QAAS,WAEP,MADAj9D,MAAK88D,YAAYG,UACVj9D,MAMTk9D,OAAQ,WAEN,MADAl9D,MAAK88D,YAAYI,SACVl9D,MAGT+pC,QAAS,WACP,MAAO/pC,MAAK88D,YAAY/yB,WAG1BmZ,kBAAmB,WACjB,MAAOljD,MAAK88D,YAAY5Z,qBAG1BrV,QAAS,WACH7tC,KAAK00C,UAAY10C,KAAK00C,SAASknB,SACjC57D,KAAK00C,SAASknB,QAAQ/tB,UAExB7tC,KAAKmpC,KAAK,oBACVnpC,KAAKgpC,OAGP4O,MAAO,SAASkvB,EAAe3uB,EAAgB4uB,GAC7C,GAAIC,GAAgBhnE,KAAKoN,OAA0B,oBAAIhL,SAAapC,KAAa,SAAIA,KAAK00C,SAASknB,QAAQnoD,cAAgB,KACvH9I,EAAc3K,KAAKoN,OAAOi5D,OAAOS,GACnCjwB,MAASkwB,GAAe/mE,KAAKoN,OAAO24D,YACpCxtB,QAAWv4C,KAAKoN,OAAOmrC,QACvBttC,QAAW+7D,EACXp4B,gBAAmB5uC,KAAKoN,OAAO6jD,WAAWC,oBAC1C/Y,eAAmBA,GAKrB,OAH8B,gBAApB,IACR/4C,EAASI,OAAOslD,OAAOgiB,GAElBn8D,GAOT67D,YAAa,WACX,GAAIS,EAEA7nE,GAASyjC,QAAQ4E,sBACnBznC,KAAK6oC,GAAG,iBAAkB,SAAS//B,GACjCA,EAAM0uC,iBACNyvB,EAAU7nE,EAASG,IAAI+0C,cAAcxrC,GACjCm+D,GACFjnE,KAAKknE,eAAeD,IAEtBnf,KAAK9nD,OAGPA,KAAK6oC,GAAG,uBAAwB,SAAS//B,GACvCA,EAAM0uC,gBACN,IAAI3C,GAAY70C,KAAK00C,SAASI,cAE9B11C,GAASG,IAAIk1C,qBAAqBz0C,KAAK00C,SAAU,SAASyyB,GACpDA,GACFnnE,KAAKknE,eAAeC,GAEtBnnE,KAAK00C,SAAS4T,aAAazT,IAC3BiT,KAAK9nD,QAEP8nD,KAAK9nD,QAIXknE,eAAgB,SAAUD,GACxB,GAAIG,GAAYhoE,EAASI,OAAOgkD,gBAAgByjB,GAC9C1iB,cAAiBvkD,KAAK00C,SAASzvC,QAC/B4xC,MAAS72C,KAAKoN,OAAOg5D,uBAAyBhqC,IAAOp8B,KAAKoN,OAAO24D,cACjEn3B,gBAAmB5uC,KAAKoN,OAAO6jD,WAAWC,qBAE5ClxD,MAAK00C,SAAS/0C,UAAUkf,iBACxB7e,KAAK00C,SAAS/0C,UAAU8lC,WAAW2hC,OAGtChoE"} \ No newline at end of file diff --git a/dist/wysihtml.js b/dist/wysihtml.js index 2590e76..e15283c 100644 --- a/dist/wysihtml.js +++ b/dist/wysihtml.js @@ -12134,7 +12134,7 @@ wysihtml.Commands = Base.extend( function getOptions(value) { var options = typeof value === 'object' ? value : {'href': value}; - return wysihtml.lang.object({}).merge(nodeOptions).merge({'attribute': value}).get(); + return wysihtml.lang.object({}).merge(nodeOptions).merge({'attribute': options}).get(); } wysihtml.commands.createLink = { @@ -14714,8 +14714,8 @@ wysihtml.views.View = Base.extend( // Ensures when editor is empty and not line breaks mode, the inital state has a paragraph in it on focus with caret inside paragraph if (!this.config.useLineBreaks) { dom.observe(this.element, ["focus"], function() { - if (that.isEmpty()) { - setTimeout(function() { + setTimeout(function() { + if (that.isEmpty()) { var paragraph = that.doc.createElement("P"); that.element.innerHTML = ""; that.element.appendChild(paragraph); @@ -14725,8 +14725,8 @@ wysihtml.views.View = Base.extend( } else { that.selection.selectNode(paragraph, true); } - }, 0); - } + } + }, 0); }); } From a896165bea1eb2e599e4eb6db802609e0116fef5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Rodr=C3=ADguez?= Date: Mon, 26 Mar 2018 10:06:54 +0200 Subject: [PATCH 3/3] Removes trailing BR when pasting code --- dist/minified/wysihtml.all-commands.min.js | 2 +- dist/minified/wysihtml.min.js | 4 ++-- dist/minified/wysihtml.min.map | 2 +- dist/wysihtml.js | 21 ++++++++++++++++++--- src/editor.js | 21 ++++++++++++++++++--- 5 files changed, 40 insertions(+), 10 deletions(-) diff --git a/dist/minified/wysihtml.all-commands.min.js b/dist/minified/wysihtml.all-commands.min.js index 235c510..68e6b5d 100644 --- a/dist/minified/wysihtml.all-commands.min.js +++ b/dist/minified/wysihtml.all-commands.min.js @@ -1,4 +1,4 @@ -/*! wysihtml - v0.6.0-beta1 (2017-05-03) */ +/*! wysihtml - v0.6.0-beta1 (2018-03-26) */ wysihtml.commands.alignCenterStyle=function(){var a={styleProperty:"textAlign",styleValue:"center",toggle:!0};return{exec:function(b,c){return wysihtml.commands.formatBlock.exec(b,"formatBlock",a)},state:function(b,c){return wysihtml.commands.formatBlock.state(b,"formatBlock",a)}}}(),wysihtml.commands.alignJustifyStyle=function(){var a={styleProperty:"textAlign",styleValue:"justify",toggle:!0};return{exec:function(b,c){return wysihtml.commands.formatBlock.exec(b,"formatBlock",a)},state:function(b,c){return wysihtml.commands.formatBlock.state(b,"formatBlock",a)}}}(),wysihtml.commands.alignLeftStyle=function(){var a={styleProperty:"textAlign",styleValue:"left",toggle:!0};return{exec:function(b,c){return wysihtml.commands.formatBlock.exec(b,"formatBlock",a)},state:function(b,c){return wysihtml.commands.formatBlock.state(b,"formatBlock",a)}}}(),wysihtml.commands.alignRightStyle=function(){var a={styleProperty:"textAlign",styleValue:"right",toggle:!0};return{exec:function(b,c){return wysihtml.commands.formatBlock.exec(b,"formatBlock",a)},state:function(b,c){return wysihtml.commands.formatBlock.state(b,"formatBlock",a)}}}(),wysihtml.commands.bgColorStyle=function(){return{exec:function(a,b,c){var d,e=wysihtml.quirks.styleParser.parseColor("background-color:"+(c.color||c),"background-color");e&&(d=(1===e[3]?"rgb("+[e[0],e[1],e[2]].join(", "):"rgba("+e.join(", "))+")",wysihtml.commands.formatInline.exec(a,b,{styleProperty:"backgroundColor",styleValue:d}))},state:function(a,b,c){var d,e=c?wysihtml.quirks.styleParser.parseColor("background-color:"+(c.color||c),"background-color"):null;return e&&(d=(1===e[3]?"rgb("+[e[0],e[1],e[2]].join(", "):"rgba("+e.join(", "))+")"),wysihtml.commands.formatInline.state(a,b,{styleProperty:"backgroundColor",styleValue:d})},remove:function(a,b){return wysihtml.commands.formatInline.remove(a,b,{styleProperty:"backgroundColor"})},stateValue:function(a,b,c){var d,e=this.state(a,b),f=!1;return e&&wysihtml.lang.object(e).isArray()&&(e=e[0]),e&&(d=e.getAttribute("style"))?(f=wysihtml.quirks.styleParser.parseColor(d,"background-color"),wysihtml.quirks.styleParser.unparseColor(f,c)):!1}}}(),wysihtml.commands.bold=function(){var a={nodeName:"B",toggle:!0};return{exec:function(b,c){wysihtml.commands.formatInline.exec(b,c,a)},state:function(b,c){return wysihtml.commands.formatInline.state(b,c,a)}}}(),wysihtml.commands.formatCode=function(){return{exec:function(a,b,c){var d,e,f,g=this.state(a)[0];g?a.selection.executeAndRestore(function(){d=g.querySelector("code"),wysihtml.dom.replaceWithChildNodes(g),d&&wysihtml.dom.replaceWithChildNodes(d)}):(e=a.selection.getRange(),f=e.extractContents(),g=a.doc.createElement("pre"),d=a.doc.createElement("code"),c&&(d.className=c),g.appendChild(d),d.appendChild(f),e.insertNode(g),a.selection.selectNode(g))},state:function(a){var b,c=a.selection.getSelectedNode();return c&&c.nodeName&&"PRE"==c.nodeName&&c.firstChild&&c.firstChild.nodeName&&"CODE"==c.firstChild.nodeName?[c]:(b=wysihtml.dom.getParentElement(c,{query:"pre code"}),b?[b.parentNode]:!1)}}}(),wysihtml.commands.insertImage=function(){var a="IMG";return{exec:function(b,c,d){d="object"==typeof d?d:{src:d};var e,f,g=b.doc,h=this.state(b);if(h&&!d.src)return b.selection.setBefore(h),f=h.parentNode,f.removeChild(h),wysihtml.dom.removeEmptyTextNodes(f),"A"!==f.nodeName||f.firstChild||(b.selection.setAfter(f),f.parentNode.removeChild(f)),void wysihtml.quirks.redraw(b.element);if(h)for(var i in d)d.hasOwnProperty(i)&&h.setAttribute("className"===i?"class":i,d[i]);else{h=g.createElement(a);for(var j in d)h.setAttribute("className"===j?"class":j,d[j]);b.selection.insertNode(h),wysihtml.browser.hasProblemsSettingCaretAfterImg()?(e=g.createTextNode(wysihtml.INVISIBLE_SPACE),b.selection.insertNode(e),b.selection.setAfter(e)):b.selection.setAfter(h)}},state:function(b){var c,d,e,f=b.doc;return wysihtml.dom.hasElementWithTagName(f,a)&&(c=b.selection.getSelectedNode())?c.nodeName===a?c:c.nodeType!==wysihtml.ELEMENT_NODE?!1:(d=b.selection.getText(),(d=wysihtml.lang.string(d).trim())?!1:(e=b.selection.getNodes(wysihtml.ELEMENT_NODE,function(a){return"IMG"===a.nodeName}),1!==e.length?!1:e[0])):!1}}}(),wysihtml.commands.fontSize=function(){var a=/wysiwyg-font-size-[0-9a-z\-]+/g;return{exec:function(b,c,d){wysihtml.commands.formatInline.exec(b,c,{className:"wysiwyg-font-size-"+d,classRegExp:a,toggle:!0})},state:function(a,b,c){return wysihtml.commands.formatInline.state(a,b,{className:"wysiwyg-font-size-"+c})}}}(),wysihtml.commands.fontSizeStyle=function(){return{exec:function(a,b,c){c=c.size||c,/^\s*$/.test(c)||wysihtml.commands.formatInline.exec(a,b,{styleProperty:"fontSize",styleValue:c,toggle:!1})},state:function(a,b,c){return wysihtml.commands.formatInline.state(a,b,{styleProperty:"fontSize",styleValue:c||void 0})},remove:function(a,b){return wysihtml.commands.formatInline.remove(a,b,{styleProperty:"fontSize"})},stateValue:function(a,b){var c,d=this.state(a,b);return d&&wysihtml.lang.object(d).isArray()&&(d=d[0]),d&&(c=d.getAttribute("style"))?wysihtml.quirks.styleParser.parseFontSize(c):!1}}}(),wysihtml.commands.foreColor=function(){var a=/wysiwyg-color-[0-9a-z]+/g;return{exec:function(b,c,d){wysihtml.commands.formatInline.exec(b,c,{className:"wysiwyg-color-"+d,classRegExp:a,toggle:!0})},state:function(a,b,c){return wysihtml.commands.formatInline.state(a,b,{className:"wysiwyg-color-"+c})}}}(),wysihtml.commands.foreColorStyle=function(){return{exec:function(a,b,c){var d,e;c&&(d=wysihtml.quirks.styleParser.parseColor("color:"+(c.color||c),"color"),d&&(e=(1===d[3]?"rgb("+[d[0],d[1],d[2]].join(", "):"rgba("+d.join(", "))+")",wysihtml.commands.formatInline.exec(a,b,{styleProperty:"color",styleValue:e})))},state:function(a,b,c){var d,e=c?wysihtml.quirks.styleParser.parseColor("color:"+(c.color||c),"color"):null;return e&&(d=(1===e[3]?"rgb("+[e[0],e[1],e[2]].join(", "):"rgba("+e.join(", "))+")"),wysihtml.commands.formatInline.state(a,b,{styleProperty:"color",styleValue:d})},remove:function(a,b){return wysihtml.commands.formatInline.remove(a,b,{styleProperty:"color"})},stateValue:function(a,b,c){var d,e=this.state(a,b),f=!1;return e&&wysihtml.lang.object(e).isArray()&&(e=e[0]),e&&(d=e.getAttribute("style"))?(f=wysihtml.quirks.styleParser.parseColor(d,"color"),wysihtml.quirks.styleParser.unparseColor(f,c)):!1}}}(),wysihtml.commands.insertBlockQuote=function(){var a={nodeName:"BLOCKQUOTE",toggle:!0};return{exec:function(b,c){return wysihtml.commands.formatBlock.exec(b,"formatBlock",a)},state:function(b,c){return wysihtml.commands.formatBlock.state(b,"formatBlock",a)}}}(),wysihtml.commands.insertHorizontalRule=function(){return{exec:function(a){var b=a.selection.getSelectedNode(),c=wysihtml.dom.getParentElement(b,{query:wysihtml.PERMITTED_PHRASING_CONTENT_ONLY},null,a.editableArea),d=document.createElement("hr");c?a.selection.splitElementAtCaret(c,d):a.selection.insertNode(d),d.nextSibling?a.selection.setBefore(d.nextSibling):a.selection.setAfter(d)},state:function(){return!1}}}(),wysihtml.commands.insertOrderedList=function(){return{exec:function(a,b){wysihtml.commands.insertList.exec(a,b,"OL")},state:function(a,b){return wysihtml.commands.insertList.state(a,b,"OL")}}}(),wysihtml.commands.insertUnorderedList=function(){return{exec:function(a,b){wysihtml.commands.insertList.exec(a,b,"UL")},state:function(a,b){return wysihtml.commands.insertList.state(a,b,"UL")}}}(),wysihtml.commands.italic=function(){var a={nodeName:"I",toggle:!0};return{exec:function(b,c){wysihtml.commands.formatInline.exec(b,c,a)},state:function(b,c){return wysihtml.commands.formatInline.state(b,c,a)}}}(),wysihtml.commands.justifyCenter=function(){var a={className:"wysiwyg-text-align-center",classRegExp:/wysiwyg-text-align-[0-9a-z]+/g,toggle:!0};return{exec:function(b,c){return wysihtml.commands.formatBlock.exec(b,"formatBlock",a)},state:function(b,c){return wysihtml.commands.formatBlock.state(b,"formatBlock",a)}}}(),wysihtml.commands.justifyFull=function(){var a={className:"wysiwyg-text-align-justify",classRegExp:/wysiwyg-text-align-[0-9a-z]+/g,toggle:!0};return{exec:function(b,c){return wysihtml.commands.formatBlock.exec(b,"formatBlock",a)},state:function(b,c){return wysihtml.commands.formatBlock.state(b,"formatBlock",a)}}}(),wysihtml.commands.justifyLeft=function(){var a={className:"wysiwyg-text-align-left",classRegExp:/wysiwyg-text-align-[0-9a-z]+/g,toggle:!0};return{exec:function(b,c){return wysihtml.commands.formatBlock.exec(b,"formatBlock",a)},state:function(b,c){return wysihtml.commands.formatBlock.state(b,"formatBlock",a)}}}(),wysihtml.commands.justifyRight=function(){var a={className:"wysiwyg-text-align-right",classRegExp:/wysiwyg-text-align-[0-9a-z]+/g,toggle:!0};return{exec:function(b,c){return wysihtml.commands.formatBlock.exec(b,"formatBlock",a)},state:function(b,c){return wysihtml.commands.formatBlock.state(b,"formatBlock",a)}}}(),wysihtml.commands.subscript=function(){var a={nodeName:"SUB",toggle:!0};return{exec:function(b,c){wysihtml.commands.formatInline.exec(b,c,a)},state:function(b,c){return wysihtml.commands.formatInline.state(b,c,a)}}}(),wysihtml.commands.superscript=function(){var a={nodeName:"SUP",toggle:!0};return{exec:function(b,c){wysihtml.commands.formatInline.exec(b,c,a)},state:function(b,c){return wysihtml.commands.formatInline.state(b,c,a)}}}(),wysihtml.commands.underline=function(){var a={nodeName:"U",toggle:!0};return{exec:function(b,c){wysihtml.commands.formatInline.exec(b,c,a)},state:function(b,c){return wysihtml.commands.formatInline.state(b,c,a)}}}(); //# sourceMappingURL=wysihtml.all-commands.min.map \ No newline at end of file diff --git a/dist/minified/wysihtml.min.js b/dist/minified/wysihtml.min.js index a0c8ed4..9407dfe 100644 --- a/dist/minified/wysihtml.min.js +++ b/dist/minified/wysihtml.min.js @@ -1,4 +1,4 @@ -/*! wysihtml - v0.6.0-beta1 (2017-05-03) */ +/*! wysihtml - v0.6.0-beta1 (2018-03-26) */ var wysihtml={version:"0.6.0-beta1",commands:{},dom:{},quirks:{},toolbar:{},lang:{},selection:{},views:{},editorExtenders:[],extendEditor:function(a){this.editorExtenders.push(a)},INVISIBLE_SPACE:"\ufeff",INVISIBLE_SPACE_REG_EXP:/\uFEFF/g,VOID_ELEMENTS:"area, base, br, col, embed, hr, img, input, keygen, link, meta, param, source, track, wbr",PERMITTED_PHRASING_CONTENT_ONLY:"h1, h2, h3, h4, h5, h6, p, pre",EMPTY_FUNCTION:function(){},ELEMENT_NODE:1,TEXT_NODE:3,BACKSPACE_KEY:8,ENTER_KEY:13,ESCAPE_KEY:27,SPACE_KEY:32,TAB_KEY:9,DELETE_KEY:46};wysihtml.polyfills=function(a,b){var c={normalizeHasCaretError:function(){if("createRange"in b&&"getSelection"in a){var c,d,e,f=window.pageYOffset,g=window.pageXOffset,h=b.createElement("div"),i=b.createTextNode("a"),j=b.createTextNode("a"),k=b.createTextNode("a"),l=b.createRange();return document.activeElement&&(1===document.activeElement.nodeType&&["INPUT","TEXTAREA","SELECT","BUTTON"].indexOf(document.activeElement.nodeName)>-1?c={type:"form",node:document.activeElement,start:document.activeElement.selectionStart,end:document.activeElement.selectionEnd}:(d=a.getSelection(),d&&d.anchorNode&&(c={type:"range",anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}))),h.setAttribute("contenteditable","true"),h.appendChild(i),h.appendChild(j),h.appendChild(k),b.body.appendChild(h),l.setStart(j,1),l.setEnd(j,1),d=a.getSelection(),d.removeAllRanges(),d.addRange(l),h.normalize(),d=a.getSelection(),e=1!==h.childNodes.length||d.anchorNode!==h.firstChild||2!==d.anchorOffset,h.parentNode.removeChild(h),d.removeAllRanges(),c&&("form"===c.type?("undefined"!=typeof c.start&&"undefined"!=typeof c.end&&c.node.setSelectionRange(c.start,c.end),c.node.focus()):"range"===c.type&&(l=b.createRange(),l.setStart(c.anchorNode,c.anchorOffset),l.setEnd(c.focusNode,c.focusOffset),d.addRange(l))),(f!==window.pageYOffset||g!==window.pageXOffset)&&a.scrollTo(g,f),e}},apply:function(){function d(){try{var b=new a.CustomEvent("cat",{detail:{foo:"bar"}});return"cat"===b.type&&"bar"===b.detail.foo}catch(c){}return!1}!function(a){a.matches=a.matches||a.mozMatchesSelector||a.msMatchesSelector||a.oMatchesSelector||a.webkitMatchesSelector||function(a){for(var b=this,c=(b.document||b.ownerDocument).querySelectorAll(a),d=0;c[d]&&c[d]!==b;)++d;return c[d]?!0:!1},a.closest=a.closest||function(a){for(var b=this;b&&!b.matches(a);)b=b.parentElement;return b},a.remove=a.remove||function(){this.parentNode&&this.parentNode.removeChild(this)}}(a.Element.prototype),"classList"in b.documentElement||!a.Object.defineProperty||"undefined"==typeof a.HTMLElement||a.Object.defineProperty(a.HTMLElement.prototype,"classList",{get:function(){function b(a){return function(b){var d=c.className.split(/\s+/),e=d.indexOf(b);a(d,e,b),c.className=d.join(" ")}}var c=this,d={add:b(function(a,b,c){~b||a.push(c)}),remove:b(function(a,b){~b&&a.splice(b,1)}),toggle:b(function(a,b,c){~b?a.splice(b,1):a.push(c)}),contains:function(a){return!!~c.className.split(/\s+/).indexOf(a)},item:function(a){return c.className.split(/\s+/)[a]||null}};return a.Object.defineProperty(d,"length",{get:function(){return c.className.split(/\s+/).length}}),d}});var e=function(a){var b=[];for(a=a.firstChild;a;a=a.nextSibling)3==a.nodeType?b.push(a):b=b.concat(e(a));return b},f=function(a){var b=a.ownerDocument,c=a;do{if(c===b)return!0;c=c.parentNode}while(c);return!1},g=function(){var b=(a.Node.prototype.normalize,function(){var b=e(this),c=this.ownerDocument.defaultView.getSelection(),d=c.anchorNode,g=c.anchorOffset,h=d&&1===d.nodeType&&d.childNodes.length>0?d.childNodes[g]:void 0,i=c.focusNode,j=c.focusOffset,k=i&&1===i.nodeType&&j>0?i.childNodes[j-1]:void 0,l=this.ownerDocument.createRange(),m=b.shift(),n=m?b.shift():null;for(k&&3===k.nodeType&&(i=k,j=k.nodeValue.length,k=void 0),h&&3===h.nodeType&&(d=h,g=0,h=void 0),(d===i&&g>j||d!==i&&d.compareDocumentPosition(i)&a.Node.DOCUMENT_POSITION_PRECEDING&&!(d.compareDocumentPosition(i)&a.Node.DOCUMENT_POSITION_CONTAINS))&&(i=[d,d=i][0],j=[g,g=j][0]);m&&n;)n.previousSibling&&n.previousSibling===m?(d===n&&(d=m,g=m.nodeValue.length+g),i===n&&(i=m,j=m.nodeValue.length+j),m.nodeValue=m.nodeValue+n.nodeValue,n.parentNode.removeChild(n),n=b.shift()):(m=n,n=b.shift());k&&(j=Array.prototype.indexOf.call(k.parentNode.childNodes,k)+1),h&&(g=Array.prototype.indexOf.call(h.parentNode.childNodes,h)),f(this)&&d&&d.parentNode&&i&&i.parentNode&&(l.setStart(d,g),l.setEnd(i,j),c.removeAllRanges(),c.addRange(l))});a.Node.prototype.normalize=b},h=function(){a.removeEventListener("load",h),"Node"in a&&"normalize"in a.Node.prototype&&c.normalizeHasCaretError()&&g()};"complete"!==b.readyState?a.addEventListener("load",h):h(),function(){function c(a,c){c=c||{bubbles:!1,cancelable:!1,detail:void 0};var d=b.createEvent("CustomEvent");return d.initCustomEvent(a,c.bubbles,c.cancelable,c.detail),d}!d()&&"CustomEvent"in a&&(c.prototype=a.Event.prototype,a.CustomEvent=c)}()}};return c},wysihtml.polyfills(window,document).apply();var Base=function(){};Base.extend=function(a,b){var c=Base.prototype.extend;Base._prototyping=!0;var d=new this;c.call(d,a),d.base=function(){},delete Base._prototyping;var e=d.constructor,f=d.constructor=function(){if(!Base._prototyping)if(this._constructing||this.constructor==f)this._constructing=!0,e.apply(this,arguments),delete this._constructing;else if(null!=arguments[0])return(arguments[0].extend||c).call(arguments[0],d)};return f.ancestor=this,f.extend=this.extend,f.forEach=this.forEach,f.implement=this.implement,f.prototype=d,f.toString=this.toString,f.valueOf=function(a){return"object"==a?f:e.valueOf()},c.call(f,b),"function"==typeof f.init&&f.init(),f},Base.prototype={extend:function(a,b){if(arguments.length>1){var c=this[a];if(c&&"function"==typeof b&&(!c.valueOf||c.valueOf()!=b.valueOf())&&/\bbase\b/.test(b)){var d=b.valueOf();b=function(){var a=this.base||Base.prototype.base;this.base=c;var b=d.apply(this,arguments);return this.base=a,b},b.valueOf=function(a){return"object"==a?b:d},b.toString=Base.toString}this[a]=b}else if(a){var e=Base.prototype.extend;Base._prototyping||"function"==typeof this||(e=this.extend||e);for(var f={toSource:null},g=["constructor","toString","valueOf"],h=Base._prototyping?0:1;i=g[h++];)a[i]!=f[i]&&e.call(this,i,a[i]);for(var i in a)f[i]||e.call(this,i,a[i])}return this}},Base=Base.extend({constructor:function(){this.extend(arguments[0])}},{ancestor:Object,version:"1.1",forEach:function(a,b,c){for(var d in a)void 0===this.prototype[d]&&b.call(c,a[d],d,a)},implement:function(){for(var a=0;an;++n)try{K[n](H)}catch(q){l="Rangy init listener threw an exception. Continuing. Detail: "+k(q),g(l)}}}function m(a,b,c){c&&(a+=" in module "+c.name),H.warn("DEPRECATED: "+a+" is deprecated. Please use "+b+" instead.")}function n(a,b,c,d){a[b]=function(){return m(b,c,d),a[c].apply(a,G.toArray(arguments))}}function o(a){a=a||window,l();for(var b=0,c=L.length;c>b;++b)L[b](a)}function p(a,b,c){this.name=a,this.dependencies=b,this.initialized=!1,this.supported=!1,this.initializer=c}function q(a,b,c){var d=new p(a,b,function(b){if(!b.initialized){b.initialized=!0;try{c(H,b),b.supported=!0}catch(d){var e="Module '"+a+"' failed to load: "+k(d);g(e),d.stack&&g(d.stack)}}});return E[a]=d,d}function r(){}function s(){}var t="object",u="function",v="undefined",w=["startContainer","startOffset","endContainer","endOffset","collapsed","commonAncestorContainer"],x=["setStart","setStartBefore","setStartAfter","setEnd","setEndBefore","setEndAfter","collapse","selectNode","selectNodeContents","compareBoundaryPoints","deleteContents","extractContents","cloneContents","insertNode","surroundContents","cloneRange","toString","detach"],y=["boundingHeight","boundingLeft","boundingTop","boundingWidth","htmlText","text"],z=["collapse","compareEndPoints","duplicate","moveToElementText","parentElement","select","setEndPoint","getBoundingClientRect"],A=d(a),B=d(b),C=d(c),D=[].forEach?function(a,b){a.forEach(b)}:function(a,b){for(var c=0,d=a.length;d>c;++c)b(a[c],c)},E={},F=typeof window!=v&&typeof document!=v,G={isHostMethod:a,isHostObject:b,isHostProperty:c,areHostMethods:A,areHostObjects:B,areHostProperties:C,isTextRange:e,getBody:f,forEach:D},H={version:"1.3.1-dev",initialized:!1,isBrowser:F,supported:!0,util:G,features:{},modules:E,config:{alertOnFail:!1,alertOnWarn:!1,preferTextRange:!1,autoInitialize:typeof rangyAutoInitialize==v?!0:rangyAutoInitialize}};H.fail=i,H.warn=j;var I;({}).hasOwnProperty?(G.extend=I=function(a,b,c){var d,e;for(var f in b)b.hasOwnProperty(f)&&(d=a[f],e=b[f],c&&null!==d&&"object"==typeof d&&null!==e&&"object"==typeof e&&I(d,e,!0),a[f]=e);return b.hasOwnProperty("toString")&&(a.toString=b.toString),a},G.createOptions=function(a,b){var c={};return I(c,b),a&&I(c,a),c}):i("hasOwnProperty not supported"),F||i("Rangy can only run in a browser"),function(){var a;if(F){var b=document.createElement("div");b.appendChild(document.createElement("span"));var c=[].slice;try{1==c.call(b.childNodes,0)[0].nodeType&&(a=function(a){return c.call(a,0)})}catch(d){}}a||(a=function(a){for(var b=[],c=0,d=a.length;d>c;++c)b[c]=a[c];return b}),G.toArray=a}();var J;F&&(a(document,"addEventListener")?J=function(a,b,c){a.addEventListener(b,c,!1)}:a(document,"attachEvent")?J=function(a,b,c){a.attachEvent("on"+b,c)}:i("Document does not have required addEventListener or attachEvent method"),G.addListener=J);var K=[];G.deprecationNotice=m,G.createAliasForDeprecatedMethod=n,H.init=l,H.addInitListener=function(a){H.initialized?a(H):K.push(a)};var L=[];H.addShimListener=function(a){L.push(a)},F&&(H.shim=H.createMissingNativeApi=o,n(H,"createMissingNativeApi","shim")),p.prototype={init:function(){for(var a,b,c=this.dependencies||[],d=0,e=c.length;e>d;++d){if(b=c[d],a=E[b],!(a&&a instanceof p))throw new Error("required module '"+b+"' not found");if(a.init(),!a.supported)throw new Error("required module '"+b+"' not supported")}this.initializer(this)},fail:function(a){throw this.initialized=!0,this.supported=!1,new Error(a)},warn:function(a){H.warn("Module "+this.name+": "+a)},deprecationNotice:function(a,b){H.warn("DEPRECATED: "+a+" in module "+this.name+" is deprecated. Please use "+b+" instead")},createError:function(a){return new Error("Error in Rangy "+this.name+" module: "+a)}},H.createModule=function(a){var b,c;2==arguments.length?(b=arguments[1],c=[]):(b=arguments[2],c=arguments[1]);var d=q(a,c,b);H.initialized&&H.supported&&d.init()},H.createCoreModule=function(a,b,c){q(a,b,c)},H.RangePrototype=r,H.rangePrototype=new r,H.selectionPrototype=new s,H.createCoreModule("DomUtil",[],function(a,b){function c(a){var b;return typeof a.namespaceURI==F||null===(b=a.namespaceURI)||"http://www.w3.org/1999/xhtml"==b}function d(a){var b=a.parentNode;return 1==b.nodeType?b:null}function e(a){for(var b=0;a=a.previousSibling;)++b;return b}function f(a){switch(a.nodeType){case 7:case 10:return 0;case 3:case 8:return a.length;default:return a.childNodes.length}}function g(a,b){var c,d=[];for(c=a;c;c=c.parentNode)d.push(c);for(c=b;c;c=c.parentNode)if(K(d,c))return c;return null}function h(a,b,c){for(var d=c?b:b.parentNode;d;){if(d===a)return!0;d=d.parentNode}return!1}function i(a,b){return h(a,b,!0)}function j(a,b,c){for(var d,e=c?a:a.parentNode;e;){if(d=e.parentNode,d===b)return e;e=d}return null}function k(a){var b=a.nodeType;return 3==b||4==b||8==b}function l(a){if(!a)return!1;var b=a.nodeType;return 3==b||8==b}function m(a,b){var c=b.nextSibling,d=b.parentNode;return c?d.insertBefore(a,c):d.appendChild(a),a}function n(a,b,c){var d=a.cloneNode(!1);if(d.deleteData(0,b),a.deleteData(b,a.length-b),m(d,a),c)for(var f,g=0;f=c[g++];)f.node==a&&f.offset>b?(f.node=d,f.offset-=b):f.node==a.parentNode&&f.offset>e(a)&&++f.offset;return d}function o(a){if(9==a.nodeType)return a;if(typeof a.ownerDocument!=F)return a.ownerDocument;if(typeof a.document!=F)return a.document;if(a.parentNode)return o(a.parentNode);throw b.createError("getDocument: no document found for node")}function p(a){var c=o(a);if(typeof c.defaultView!=F)return c.defaultView;if(typeof c.parentWindow!=F)return c.parentWindow;throw b.createError("Cannot get a window object for node")}function q(a){if(typeof a.contentDocument!=F)return a.contentDocument;if(typeof a.contentWindow!=F)return a.contentWindow.document;throw b.createError("getIframeDocument: No Document object found for iframe element")}function r(a){if(typeof a.contentWindow!=F)return a.contentWindow;if(typeof a.contentDocument!=F)return a.contentDocument.defaultView;throw b.createError("getIframeWindow: No Window object found for iframe element")}function s(a){return a&&G.isHostMethod(a,"setTimeout")&&G.isHostObject(a,"document")}function t(a,b,c){var d;if(a?G.isHostProperty(a,"nodeType")?d=1==a.nodeType&&"iframe"==a.tagName.toLowerCase()?q(a):o(a):s(a)&&(d=a.document):d=document,!d)throw b.createError(c+"(): Parameter must be a Window object or DOM node");return d}function u(a){for(var b;b=a.parentNode;)a=b;return a}function v(a,c,d,f){var h,i,k,l,m;if(a==d)return c===f?0:f>c?-1:1;if(h=j(d,a,!0))return c<=e(h)?-1:1;if(h=j(a,d,!0))return e(h)[index:"+e(a)+",length:"+a.childNodes.length+"]["+(a.innerHTML||"[innerHTML not supported]").slice(0,25)+"]"}return a.nodeName}function y(a){for(var b,c=o(a).createDocumentFragment();b=a.firstChild;)c.appendChild(b);return c}function z(a,b,c){var d=H(a),e=a.createElement("div");e.contentEditable=""+!!c,b&&(e.innerHTML=b);var f=d.firstChild;return f?d.insertBefore(e,f):d.appendChild(e),e}function A(a){return a.parentNode.removeChild(a)}function B(a){this.root=a,this._next=a}function C(a){return new B(a)}function D(a,b){this.node=a,this.offset=b}function E(a){this.code=this[a],this.codeName=a,this.message="DOMException: "+this.codeName}var F="undefined",G=a.util,H=G.getBody;G.areHostMethods(document,["createDocumentFragment","createElement","createTextNode"])||b.fail("document missing a Node creation method"),G.isHostMethod(document,"getElementsByTagName")||b.fail("document missing getElementsByTagName method");var I=document.createElement("div");G.areHostMethods(I,["insertBefore","appendChild","cloneNode"]||!G.areHostObjects(I,["previousSibling","nextSibling","childNodes","parentNode"]))||b.fail("Incomplete Element implementation"),G.isHostProperty(I,"innerHTML")||b.fail("Element is missing innerHTML property");var J=document.createTextNode("test");G.areHostMethods(J,["splitText","deleteData","insertData","appendData","cloneNode"]||!G.areHostObjects(I,["previousSibling","nextSibling","childNodes","parentNode"])||!G.areHostProperties(J,["data"]))||b.fail("Incomplete Text Node implementation");var K=function(a,b){for(var c=a.length;c--;)if(a[c]===b)return!0;return!1},L=!1;!function(){var b=document.createElement("b");b.innerHTML="1";var c=b.firstChild;b.innerHTML="
",L=w(c),a.features.crashyTextNodes=L}();var M;typeof window.getComputedStyle!=F?M=function(a,b){return p(a).getComputedStyle(a,null)[b]}:typeof document.documentElement.currentStyle!=F?M=function(a,b){return a.currentStyle?a.currentStyle[b]:""}:b.fail("No means of obtaining computed style properties found"),B.prototype={_current:null,hasNext:function(){return!!this._next},next:function(){var a,b,c=this._current=this._next;if(this._current)if(a=c.firstChild)this._next=a;else{for(b=null;c!==this.root&&!(b=c.nextSibling);)c=c.parentNode;this._next=b}return this._current},detach:function(){this._current=this._next=this.root=null}},D.prototype={equals:function(a){return!!a&&this.node===a.node&&this.offset==a.offset},inspect:function(){return"[DomPosition("+x(this.node)+":"+this.offset+")]"},toString:function(){return this.inspect()}},E.prototype={INDEX_SIZE_ERR:1,HIERARCHY_REQUEST_ERR:3,WRONG_DOCUMENT_ERR:4,NO_MODIFICATION_ALLOWED_ERR:7,NOT_FOUND_ERR:8,NOT_SUPPORTED_ERR:9,INVALID_STATE_ERR:11,INVALID_NODE_TYPE_ERR:24},E.prototype.toString=function(){return this.message},a.dom={arrayContains:K,isHtmlNamespace:c,parentElement:d,getNodeIndex:e,getNodeLength:f,getCommonAncestor:g,isAncestorOf:h,isOrIsAncestorOf:i,getClosestAncestorIn:j,isCharacterDataNode:k,isTextOrCommentNode:l,insertAfter:m,splitDataNode:n,getDocument:o,getWindow:p,getIframeWindow:r,getIframeDocument:q,getBody:H,isWindow:s,getContentDocument:t,getRootContainer:u,comparePoints:v,isBrokenNode:w,inspectNode:x,getComputedStyleProperty:M,createTestElement:z,removeNode:A,fragmentFromNodeChildren:y,createIterator:C,DomPosition:D},a.DOMException=E}),H.createCoreModule("DomRange",["DomUtil"],function(a,b){function c(a,b){return 3!=a.nodeType&&(P(a,b.startContainer)||P(a,b.endContainer))}function d(a){return a.document||Q(a.startContainer)}function e(a){return W(a.startContainer)}function f(a){return new L(a.parentNode,O(a))}function g(a){return new L(a.parentNode,O(a)+1)}function h(a,b,c){var d=11==a.nodeType?a.firstChild:a;return N(b)?c==b.length?J.insertAfter(a,b):b.parentNode.insertBefore(a,0==c?b:S(b,c)):c>=b.childNodes.length?b.appendChild(a):b.insertBefore(a,b.childNodes[c]),d}function i(a,b,c){if(z(a),z(b),d(b)!=d(a))throw new M("WRONG_DOCUMENT_ERR");var e=R(a.startContainer,a.startOffset,b.endContainer,b.endOffset),f=R(a.endContainer,a.endOffset,b.startContainer,b.startOffset);return c?0>=e&&f>=0:0>e&&f>0}function j(a){for(var b,c,e,f=d(a.range).createDocumentFragment();c=a.next();){if(b=a.isPartiallySelectedSubtree(),c=c.cloneNode(!b),b&&(e=a.getSubtreeIterator(),c.appendChild(j(e)),e.detach()),10==c.nodeType)throw new M("HIERARCHY_REQUEST_ERR");f.appendChild(c)}return f}function k(a,b,c){var d,e;c=c||{stop:!1};for(var f,g;f=a.next();)if(a.isPartiallySelectedSubtree()){if(b(f)===!1)return void(c.stop=!0);if(g=a.getSubtreeIterator(),k(g,b,c),g.detach(),c.stop)return}else for(d=J.createIterator(f);e=d.next();)if(b(e)===!1)return void(c.stop=!0)}function l(a){for(var b;a.next();)a.isPartiallySelectedSubtree()?(b=a.getSubtreeIterator(),l(b),b.detach()):a.remove()}function m(a){for(var b,c,e=d(a.range).createDocumentFragment();b=a.next();){if(a.isPartiallySelectedSubtree()?(b=b.cloneNode(!1),c=a.getSubtreeIterator(),b.appendChild(m(c)),c.detach()):a.remove(),10==b.nodeType)throw new M("HIERARCHY_REQUEST_ERR");e.appendChild(b)}return e}function n(a,b,c){var d,e=!(!b||!b.length),f=!!c;e&&(d=new RegExp("^("+b.join("|")+")$"));var g=[];return k(new p(a,!1),function(b){if((!e||d.test(b.nodeType))&&(!f||c(b))){var h=a.startContainer;if(b!=h||!N(h)||a.startOffset!=h.length){var i=a.endContainer;b==i&&N(i)&&0==a.endOffset||g.push(b)}}}),g}function o(a){var b="undefined"==typeof a.getName?"Range":a.getName();return"["+b+"("+J.inspectNode(a.startContainer)+":"+a.startOffset+", "+J.inspectNode(a.endContainer)+":"+a.endOffset+")]"}function p(a,b){if(this.range=a,this.clonePartiallySelectedTextNodes=b,!a.collapsed){this.sc=a.startContainer,this.so=a.startOffset,this.ec=a.endContainer,this.eo=a.endOffset;var c=a.commonAncestorContainer;this.sc===this.ec&&N(this.sc)?(this.isSingleCharacterDataNode=!0,this._first=this._last=this._next=this.sc):(this._first=this._next=this.sc!==c||N(this.sc)?T(this.sc,c,!0):this.sc.childNodes[this.so],this._last=this.ec!==c||N(this.ec)?T(this.ec,c,!0):this.ec.childNodes[this.eo-1])}}function q(a){return function(b,c){for(var d,e=c?b:b.parentNode;e;){if(d=e.nodeType,V(a,d))return e;e=e.parentNode}return null}}function r(a,b){if(ea(a,b))throw new M("INVALID_NODE_TYPE_ERR")}function s(a,b){if(!V(b,a.nodeType))throw new M("INVALID_NODE_TYPE_ERR")}function t(a,b){if(0>b||b>(N(a)?a.length:a.childNodes.length))throw new M("INDEX_SIZE_ERR")}function u(a,b){if(ca(a,!0)!==ca(b,!0))throw new M("WRONG_DOCUMENT_ERR")}function v(a){if(da(a,!0))throw new M("NO_MODIFICATION_ALLOWED_ERR")}function w(a,b){if(!a)throw new M(b)}function x(a,b){return b<=(N(a)?a.length:a.childNodes.length)}function y(a){return!!a.startContainer&&!!a.endContainer&&!(X&&(J.isBrokenNode(a.startContainer)||J.isBrokenNode(a.endContainer)))&&W(a.startContainer)==W(a.endContainer)&&x(a.startContainer,a.startOffset)&&x(a.endContainer,a.endOffset)}function z(a){if(!y(a))throw new Error("Range error: Range is not valid. This usually happens after DOM mutation. Range: ("+a.inspect()+")")}function A(a,b){z(a);var c=a.startContainer,d=a.startOffset,e=a.endContainer,f=a.endOffset,g=c===e;N(e)&&f>0&&f0&&d=O(c)&&f++,d=0),a.setStartAndEnd(c,d,e,f)}function B(a){z(a);var b=a.commonAncestorContainer.parentNode.cloneNode(!1);return b.appendChild(a.cloneContents()),b.innerHTML}function C(a){a.START_TO_START=ka,a.START_TO_END=la,a.END_TO_END=ma,a.END_TO_START=na,a.NODE_BEFORE=oa,a.NODE_AFTER=pa,a.NODE_BEFORE_AND_AFTER=qa,a.NODE_INSIDE=ra}function D(a){C(a),C(a.prototype)}function E(a,b){return function(){z(this);var c,d,e=this.startContainer,f=this.startOffset,h=this.commonAncestorContainer,i=new p(this,!0);e!==h&&(c=T(e,h,!0),d=g(c),e=d.node,f=d.offset),k(i,v),i.reset();var j=a(i);return i.detach(),b(this,e,f,e,f),j}}function F(b,d){function e(a,b){return function(c){s(c,Z),s(W(c),$);var d=(a?f:g)(c);(b?h:i)(this,d.node,d.offset)}}function h(a,b,c){var e=a.endContainer,f=a.endOffset;(b!==a.startContainer||c!==a.startOffset)&&((W(b)!=W(e)||1==R(b,c,e,f))&&(e=b,f=c),d(a,b,c,e,f))}function i(a,b,c){var e=a.startContainer,f=a.startOffset;(b!==a.endContainer||c!==a.endOffset)&&((W(b)!=W(e)||-1==R(b,c,e,f))&&(e=b,f=c),d(a,e,f,b,c))}var j=function(){};j.prototype=a.rangePrototype,b.prototype=new j,K.extend(b.prototype,{setStart:function(a,b){r(a,!0),t(a,b),h(this,a,b)},setEnd:function(a,b){r(a,!0),t(a,b),i(this,a,b)},setStartAndEnd:function(){var a=arguments,b=a[0],c=a[1],e=b,f=c;switch(a.length){case 3:f=a[2];break;case 4:e=a[2],f=a[3]}d(this,b,c,e,f)},setBoundary:function(a,b,c){this["set"+(c?"Start":"End")](a,b)},setStartBefore:e(!0,!0),setStartAfter:e(!1,!0),setEndBefore:e(!0,!1),setEndAfter:e(!1,!1),collapse:function(a){z(this),a?d(this,this.startContainer,this.startOffset,this.startContainer,this.startOffset):d(this,this.endContainer,this.endOffset,this.endContainer,this.endOffset)},selectNodeContents:function(a){r(a,!0),d(this,a,0,a,U(a))},selectNode:function(a){r(a,!1),s(a,Z);var b=f(a),c=g(a);d(this,b.node,b.offset,c.node,c.offset)},extractContents:E(m,d),deleteContents:E(l,d),canSurroundContents:function(){z(this),v(this.startContainer),v(this.endContainer);var a=new p(this,!0),b=a._first&&c(a._first,this)||a._last&&c(a._last,this);return a.detach(),!b},splitBoundaries:function(){A(this)},splitBoundariesPreservingPositions:function(a){A(this,a)},normalizeBoundaries:function(){z(this);var a,b=this.startContainer,c=this.startOffset,e=this.endContainer,f=this.endOffset,g=function(a){var b=a.nextSibling;b&&b.nodeType==a.nodeType&&(e=a,f=a.length,a.appendData(b.data),Y(b))},h=function(a){var d=a.previousSibling;if(d&&d.nodeType==a.nodeType){b=a;var g=a.length;if(c=d.length,a.insertData(0,d.data),Y(d),b==e)f+=c,e=b;else if(e==a.parentNode){var h=O(a);f==h?(e=a,f=g):f>h&&f--}}},i=!0;if(N(e))f==e.length?g(e):0==f&&(a=e.previousSibling,a&&a.nodeType==e.nodeType&&(f=a.length,b==e&&(i=!1),a.appendData(e.data),Y(e),e=a));else{if(f>0){var j=e.childNodes[f-1];j&&N(j)&&g(j)}i=!this.collapsed}if(i){if(N(b))0==c?h(b):c==b.length&&(a=b.nextSibling,a&&a.nodeType==b.nodeType&&(e==a&&(e=b,f+=b.length),b.appendData(a.data),Y(a)));else if(cx",ga=3==fa.firstChild.nodeType}catch(ha){}a.features.htmlParsingConforms=ga;var ia=ga?function(a){var b=this.startContainer,c=Q(b);if(!b)throw new M("INVALID_STATE_ERR");var d=null;return 1==b.nodeType?d=b:N(b)&&(d=J.parentElement(b)),d=null===d||"HTML"==d.nodeName&&J.isHtmlNamespace(Q(d).documentElement)&&J.isHtmlNamespace(d)?c.createElement("body"):d.cloneNode(!1),d.innerHTML=a,J.fragmentFromNodeChildren(d)}:function(a){var b=d(this),c=b.createElement("body");return c.innerHTML=a,J.fragmentFromNodeChildren(c)},ja=["startContainer","startOffset","endContainer","endOffset","collapsed","commonAncestorContainer"],ka=0,la=1,ma=2,na=3,oa=0,pa=1,qa=2,ra=3;K.extend(a.rangePrototype,{compareBoundaryPoints:function(a,b){z(this),u(this.startContainer,b.startContainer);var c,d,e,f,g=a==na||a==ka?"start":"end",h=a==la||a==ka?"start":"end";return c=this[g+"Container"],d=this[g+"Offset"],e=b[h+"Container"],f=b[h+"Offset"],R(c,d,e,f)},insertNode:function(a){if(z(this),s(a,aa),v(this.startContainer),P(a,this.startContainer))throw new M("HIERARCHY_REQUEST_ERR");var b=h(a,this.startContainer,this.startOffset);this.setStartBefore(b)},cloneContents:function(){z(this);var a,b;if(this.collapsed)return d(this).createDocumentFragment();if(this.startContainer===this.endContainer&&N(this.startContainer))return a=this.startContainer.cloneNode(!0),a.data=a.data.slice(this.startOffset,this.endOffset),b=d(this).createDocumentFragment(),b.appendChild(a),b;var c=new p(this,!0);return a=j(c),c.detach(),a},canSurroundContents:function(){z(this),v(this.startContainer),v(this.endContainer);var a=new p(this,!0),b=a._first&&c(a._first,this)||a._last&&c(a._last,this);return a.detach(),!b},surroundContents:function(a){if(s(a,ba),!this.canSurroundContents())throw new M("INVALID_STATE_ERR");var b=this.extractContents();if(a.hasChildNodes())for(;a.lastChild;)a.removeChild(a.lastChild);h(a,this.startContainer,this.startOffset),a.appendChild(b),this.selectNode(a)},cloneRange:function(){z(this);for(var a,b=new I(d(this)),c=ja.length;c--;)a=ja[c],b[a]=this[a];return b},toString:function(){z(this);var a=this.startContainer;if(a===this.endContainer&&N(a))return 3==a.nodeType||4==a.nodeType?a.data.slice(this.startOffset,this.endOffset):"";var b=[],c=new p(this,!0);return k(c,function(a){(3==a.nodeType||4==a.nodeType)&&b.push(a.data)}),c.detach(),b.join("")},compareNode:function(a){z(this);var b=a.parentNode,c=O(a);if(!b)throw new M("NOT_FOUND_ERR");var d=this.comparePoint(b,c),e=this.comparePoint(b,c+1);return 0>d?e>0?qa:oa:e>0?pa:ra},comparePoint:function(a,b){return z(this),w(a,"HIERARCHY_REQUEST_ERR"),u(a,this.startContainer),R(a,b,this.startContainer,this.startOffset)<0?-1:R(a,b,this.endContainer,this.endOffset)>0?1:0},createContextualFragment:ia,toHtml:function(){return B(this)},intersectsNode:function(a,b){if(z(this),W(a)!=e(this))return!1;var c=a.parentNode,d=O(a);if(!c)return!0;var f=R(c,d,this.endContainer,this.endOffset),g=R(c,d+1,this.startContainer,this.startOffset);return b?0>=f&&g>=0:0>f&&g>0},isPointInRange:function(a,b){return z(this),w(a,"HIERARCHY_REQUEST_ERR"),u(a,this.startContainer),R(a,b,this.startContainer,this.startOffset)>=0&&R(a,b,this.endContainer,this.endOffset)<=0},intersectsRange:function(a){return i(this,a,!1)},intersectsOrTouchesRange:function(a){return i(this,a,!0)},intersection:function(a){if(this.intersectsRange(a)){var b=R(this.startContainer,this.startOffset,a.startContainer,a.startOffset),c=R(this.endContainer,this.endOffset,a.endContainer,a.endOffset),d=this.cloneRange();return-1==b&&d.setStart(a.startContainer,a.startOffset),1==c&&d.setEnd(a.endContainer,a.endOffset),d}return null},union:function(a){if(this.intersectsOrTouchesRange(a)){var b=this.cloneRange();return-1==R(a.startContainer,a.startOffset,this.startContainer,this.startOffset)&&b.setStart(a.startContainer,a.startOffset),1==R(a.endContainer,a.endOffset,this.endContainer,this.endOffset)&&b.setEnd(a.endContainer,a.endOffset),b}throw new M("Ranges do not intersect")},containsNode:function(a,b){return b?this.intersectsNode(a,!1):this.compareNode(a)==ra},containsNodeContents:function(a){return this.comparePoint(a,0)>=0&&this.comparePoint(a,U(a))<=0},containsRange:function(a){var b=this.intersection(a);return null!==b&&a.equals(b)},containsNodeText:function(a){var b=this.cloneRange();b.selectNode(a);var c=b.getNodes([3]);if(c.length>0){b.setStart(c[0],0);var d=c.pop();return b.setEnd(d,d.length),this.containsRange(b)}return this.containsNodeContents(a); },getNodes:function(a,b){return z(this),n(this,a,b)},getDocument:function(){return d(this)},collapseBefore:function(a){this.setEndBefore(a),this.collapse(!1)},collapseAfter:function(a){this.setStartAfter(a),this.collapse(!0)},getBookmark:function(b){var c=d(this),e=a.createRange(c);b=b||J.getBody(c),e.selectNodeContents(b);var f=this.intersection(e),g=0,h=0;return f&&(e.setEnd(f.startContainer,f.startOffset),g=e.toString().length,h=g+f.toString().length),{start:g,end:h,containerNode:b}},moveToBookmark:function(a){var b=a.containerNode,c=0;this.setStart(b,0),this.collapse(!0);for(var d,e,f,g,h=[b],i=!1,j=!1;!j&&(d=h.pop());)if(3==d.nodeType)e=c+d.length,!i&&a.start>=c&&a.start<=e&&(this.setStart(d,a.start-c),i=!0),i&&a.end>=c&&a.end<=e&&(this.setEnd(d,a.end-c),j=!0),c=e;else for(g=d.childNodes,f=g.length;f--;)h.push(g[f])},getName:function(){return"DomRange"},equals:function(a){return I.rangesEqual(this,a)},isValid:function(){return y(this)},inspect:function(){return o(this)},detach:function(){}}),F(I,H),K.extend(I,{rangeProperties:ja,RangeIterator:p,copyComparisonConstants:D,createPrototypeRange:F,inspect:o,toHtml:B,getRangeDocument:d,rangesEqual:function(a,b){return a.startContainer===b.startContainer&&a.startOffset===b.startOffset&&a.endContainer===b.endContainer&&a.endOffset===b.endOffset}}),a.DomRange=I}),H.createCoreModule("WrappedRange",["DomRange"],function(a,b){var c,d,e=a.dom,f=a.util,g=e.DomPosition,h=a.DomRange,i=e.getBody,j=e.getContentDocument,k=e.isCharacterDataNode;if(a.features.implementsDomRange&&!function(){function d(a){for(var b,c=m.length;c--;)b=m[c],a[b]=a.nativeRange[b];a.collapsed=a.startContainer===a.endContainer&&a.startOffset===a.endOffset}function g(a,b,c,d,e){var f=a.startContainer!==b||a.startOffset!=c,g=a.endContainer!==d||a.endOffset!=e,h=!a.equals(a.nativeRange);(f||g||h)&&(a.setEnd(d,e),a.setStart(b,c))}var k,l,m=h.rangeProperties;c=function(a){if(!a)throw b.createError("WrappedRange: Range must be specified");this.nativeRange=a,d(this)},h.createPrototypeRange(c,g),k=c.prototype,k.selectNode=function(a){this.nativeRange.selectNode(a),d(this)},k.cloneContents=function(){return this.nativeRange.cloneContents()},k.surroundContents=function(a){this.nativeRange.surroundContents(a),d(this)},k.collapse=function(a){this.nativeRange.collapse(a),d(this)},k.cloneRange=function(){return new c(this.nativeRange.cloneRange())},k.refresh=function(){d(this)},k.toString=function(){return this.nativeRange.toString()};var n=document.createTextNode("test");i(document).appendChild(n);var o=document.createRange();o.setStart(n,0),o.setEnd(n,0);try{o.setStart(n,1),k.setStart=function(a,b){this.nativeRange.setStart(a,b),d(this)},k.setEnd=function(a,b){this.nativeRange.setEnd(a,b),d(this)},l=function(a){return function(b){this.nativeRange[a](b),d(this)}}}catch(p){k.setStart=function(a,b){try{this.nativeRange.setStart(a,b)}catch(c){this.nativeRange.setEnd(a,b),this.nativeRange.setStart(a,b)}d(this)},k.setEnd=function(a,b){try{this.nativeRange.setEnd(a,b)}catch(c){this.nativeRange.setStart(a,b),this.nativeRange.setEnd(a,b)}d(this)},l=function(a,b){return function(c){try{this.nativeRange[a](c)}catch(e){this.nativeRange[b](c),this.nativeRange[a](c)}d(this)}}}k.setStartBefore=l("setStartBefore","setEndBefore"),k.setStartAfter=l("setStartAfter","setEndAfter"),k.setEndBefore=l("setEndBefore","setStartBefore"),k.setEndAfter=l("setEndAfter","setStartAfter"),k.selectNodeContents=function(a){this.setStartAndEnd(a,0,e.getNodeLength(a))},o.selectNodeContents(n),o.setEnd(n,3);var q=document.createRange();q.selectNodeContents(n),q.setEnd(n,4),q.setStart(n,2),-1==o.compareBoundaryPoints(o.START_TO_END,q)&&1==o.compareBoundaryPoints(o.END_TO_START,q)?k.compareBoundaryPoints=function(a,b){return b=b.nativeRange||b,a==b.START_TO_END?a=b.END_TO_START:a==b.END_TO_START&&(a=b.START_TO_END),this.nativeRange.compareBoundaryPoints(a,b)}:k.compareBoundaryPoints=function(a,b){return this.nativeRange.compareBoundaryPoints(a,b.nativeRange||b)};var r=document.createElement("div");r.innerHTML="123";var s=r.firstChild,t=i(document);t.appendChild(r),o.setStart(s,1),o.setEnd(s,2),o.deleteContents(),"13"==s.data&&(k.deleteContents=function(){this.nativeRange.deleteContents(),d(this)},k.extractContents=function(){var a=this.nativeRange.extractContents();return d(this),a}),t.removeChild(r),t=null,f.isHostMethod(o,"createContextualFragment")&&(k.createContextualFragment=function(a){return this.nativeRange.createContextualFragment(a)}),i(document).removeChild(n),k.getName=function(){return"WrappedRange"},a.WrappedRange=c,a.createNativeRange=function(a){return a=j(a,b,"createNativeRange"),a.createRange()}}(),a.features.implementsTextRange){var l=function(a){var b=a.parentElement(),c=a.duplicate();c.collapse(!0);var d=c.parentElement();c=a.duplicate(),c.collapse(!1);var f=c.parentElement(),g=d==f?d:e.getCommonAncestor(d,f);return g==b?g:e.getCommonAncestor(b,g)},m=function(a){return 0==a.compareEndPoints("StartToEnd",a)},n=function(a,b,c,d,f){var h=a.duplicate();h.collapse(c);var i=h.parentElement();if(e.isOrIsAncestorOf(b,i)||(i=b),!i.canHaveHTML){var j=new g(i.parentNode,e.getNodeIndex(i));return{boundaryPosition:j,nodeInfo:{nodeIndex:j.offset,containerElement:j.node}}}var l=e.getDocument(i).createElement("span");l.parentNode&&e.removeNode(l);for(var m,n,o,p,q,r=c?"StartToStart":"StartToEnd",s=f&&f.containerElement==i?f.nodeIndex:0,t=i.childNodes.length,u=t,v=u;;){if(v==t?i.appendChild(l):i.insertBefore(l,i.childNodes[v]),h.moveToElementText(l),m=h.compareEndPoints(r,a),0==m||s==u)break;if(-1==m){if(u==s+1)break;s=v}else u=u==s+1?s:v;v=Math.floor((s+u)/2),i.removeChild(l)}if(q=l.nextSibling,-1==m&&q&&k(q)){h.setEndPoint(c?"EndToStart":"EndToEnd",a);var w;if(/[\r\n]/.test(q.data)){var x=h.duplicate(),y=x.text.replace(/\r\n/g,"\r").length;for(w=x.moveStart("character",y);-1==(m=x.compareEndPoints("StartToEnd",x));)w++,x.moveStart("character",1)}else w=h.text.length;p=new g(q,w)}else n=(d||!c)&&l.previousSibling,o=(d||c)&&l.nextSibling,p=o&&k(o)?new g(o,0):n&&k(n)?new g(n,n.data.length):new g(i,e.getNodeIndex(l));return e.removeNode(l),{boundaryPosition:p,nodeInfo:{nodeIndex:v,containerElement:i}}},o=function(a,b){var c,d,f,g,h=a.offset,j=e.getDocument(a.node),l=i(j).createTextRange(),m=k(a.node);return m?(c=a.node,d=c.parentNode):(g=a.node.childNodes,c=hb;++b)if(!C.isAncestorOf(a[0],a[b]))return!1;return!0}function m(a){var c=a.getNodes();if(!l(c))throw b.createError("getSingleElementFromRange: range "+a.inspect()+" did not consist of a single element");return c[0]}function n(a){return!!a&&"undefined"!=typeof a.text}function o(a,b){var c=new G(b);a._ranges=[c],h(a,c,!1),a.rangeCount=1,a.isCollapsed=c.collapsed}function p(b){if(b._ranges.length=0,"None"==b.docSelection.type)j(b);else{var c=b.docSelection.createRange();if(n(c))o(b,c);else{b.rangeCount=c.length;for(var d,e=L(c.item(0)),f=0;fh;++h)g.add(d.item(h));try{g.add(e)}catch(j){throw b.createError("addRange(): Element within the specified Range could not be added to control selection (does it have layout?)")}g.select(),p(a)}function r(a,b,c){this.nativeSelection=a,this.docSelection=b,this._ranges=[],this.win=c,this.refresh()}function s(a){a.win=a.anchorNode=a.focusNode=a._ranges=null,a.rangeCount=a.anchorOffset=a.focusOffset=0,a.detached=!0}function t(a,b){for(var c,d,e=ba.length;e--;)if(c=ba[e],d=c.selection,"deleteAll"==b)s(d);else if(c.win==a)return"delete"==b?(ba.splice(e,1),!0):d;return"deleteAll"==b&&(ba.length=0),null}function u(a,c){for(var d,e=L(c[0].startContainer),f=M(e).createControlRange(),g=0,h=c.length;h>g;++g){d=m(c[g]);try{f.add(d)}catch(i){throw b.createError("setRanges(): Element within one of the specified Ranges could not be added to control selection (does it have layout?)")}}f.select(),p(a)}function v(a,b){if(a.win.document!=L(b))throw new H("WRONG_DOCUMENT_ERR")}function w(b){return function(c,d){var e;this.rangeCount?(e=this.getRangeAt(0),e["set"+(b?"Start":"End")](c,d)):(e=a.createRange(this.win.document),e.setStartAndEnd(c,d)),this.setSingleRange(e,this.isBackward())}}function x(a){var b=[],c=new I(a.anchorNode,a.anchorOffset),d=new I(a.focusNode,a.focusOffset),e="function"==typeof a.getName?a.getName():"Selection";if("undefined"!=typeof a.rangeCount)for(var f=0,g=a.rangeCount;g>f;++f)b[f]=F.inspect(a.getRangeAt(f));return"["+e+"(Ranges: "+b.join(", ")+")(anchor: "+c.inspect()+", focus: "+d.inspect()+"]"}a.config.checkSelectionRanges=!0;var y,z,A="boolean",B="number",C=a.dom,D=a.util,E=D.isHostMethod,F=a.DomRange,G=a.WrappedRange,H=a.DOMException,I=C.DomPosition,J=a.features,K="Control",L=C.getDocument,M=C.getBody,N=F.rangesEqual,O=E(window,"getSelection"),P=D.isHostObject(document,"selection");J.implementsWinGetSelection=O,J.implementsDocSelection=P;var Q=P&&(!O||a.config.preferTextRange);if(Q)y=f,a.isSelectionValid=function(a){var b=d(a,"isSelectionValid").document,c=b.selection;return"None"!=c.type||L(c.createRange().parentElement())==b};else{if(!O)return b.fail("Neither document.selection or window.getSelection() detected."),!1;y=e,a.isSelectionValid=function(){return!0}}a.getNativeSelection=y;var R=y();if(!R)return b.fail("Native selection was null (possibly issue 138?)"),!1;var S=a.createNativeRange(document),T=M(document),U=D.areHostProperties(R,["anchorNode","focusNode","anchorOffset","focusOffset"]);J.selectionHasAnchorAndFocus=U;var V=E(R,"extend");J.selectionHasExtend=V;var W=typeof R.rangeCount==B;J.selectionHasRangeCount=W;var X=!1,Y=!0,Z=V?function(b,c){var d=F.getRangeDocument(c),e=a.createRange(d);e.collapseToPoint(c.endContainer,c.endOffset),b.addRange(k(e)),b.extend(c.startContainer,c.startOffset)}:null;D.areHostMethods(R,["addRange","getRangeAt","removeAllRanges"])&&typeof R.rangeCount==B&&J.implementsDomRange&&!function(){var b=window.getSelection();if(b){for(var c=b.rangeCount,d=c>1,e=[],f=g(b),h=0;c>h;++h)e[h]=b.getRangeAt(h);var i=C.createTestElement(document,"",!1),j=i.appendChild(document.createTextNode("   ")),k=document.createRange();if(k.setStart(j,1),k.collapse(!0),b.removeAllRanges(),b.addRange(k),Y=1==b.rangeCount,b.removeAllRanges(),!d){var l=window.navigator.appVersion.match(/Chrome\/(.*?) /);if(l&&parseInt(l[1])>=36)X=!1;else{var m=k.cloneRange();k.setStart(j,0),m.setEnd(j,3),m.setStart(j,2),b.addRange(k),b.addRange(m),X=2==b.rangeCount}}for(C.removeNode(i),b.removeAllRanges(),h=0;c>h;++h)0==h&&f?Z?Z(b,e[h]):(a.warn("Rangy initialization: original selection was backwards but selection has been restored forwards because the browser does not support Selection.extend"),b.addRange(e[h])):b.addRange(e[h])}}(),J.selectionSupportsMultipleRanges=X,J.collapsedNonEditableSelectionsSupported=Y;var $,_=!1;T&&E(T,"createControlRange")&&($=T.createControlRange(),D.areHostProperties($,["item","add"])&&(_=!0)),J.implementsControlRange=_,z=U?function(a){return a.anchorNode===a.focusNode&&a.anchorOffset===a.focusOffset}:function(a){return a.rangeCount?a.getRangeAt(a.rangeCount-1).collapsed:!1};var aa;E(R,"getRangeAt")?aa=function(a,b){try{return a.getRangeAt(b)}catch(c){return null}}:U&&(aa=function(b){var c=L(b.anchorNode),d=a.createRange(c);return d.setStartAndEnd(b.anchorNode,b.anchorOffset,b.focusNode,b.focusOffset),d.collapsed!==this.isCollapsed&&d.setStartAndEnd(b.focusNode,b.focusOffset,b.anchorNode,b.anchorOffset),d}),r.prototype=a.selectionPrototype;var ba=[],ca=function(a){if(a&&a instanceof r)return a.refresh(),a;a=d(a,"getNativeSelection");var b=t(a),c=y(a),e=P?f(a):null;return b?(b.nativeSelection=c,b.docSelection=e,b.refresh()):(b=new r(c,e,a),ba.push({win:a,selection:b})),b};a.getSelection=ca,D.createAliasForDeprecatedMethod(a,"getIframeSelection","getSelection");var da=r.prototype;if(!Q&&U&&D.areHostMethods(R,["removeAllRanges","addRange"])){da.removeAllRanges=function(){this.nativeSelection.removeAllRanges(),j(this)};var ea=function(a,b){Z(a.nativeSelection,b),a.refresh()};W?da.addRange=function(b,d){if(_&&P&&this.docSelection.type==K)q(this,b);else if(c(d)&&V)ea(this,b);else{var e;X?e=this.rangeCount:(this.removeAllRanges(),e=0);var f=k(b).cloneRange();try{this.nativeSelection.addRange(f)}catch(g){}if(this.rangeCount=this.nativeSelection.rangeCount,this.rangeCount==e+1){if(a.config.checkSelectionRanges){var i=aa(this.nativeSelection,this.rangeCount-1);i&&!N(i,b)&&(b=new G(i))}this._ranges[this.rangeCount-1]=b,h(this,b,ha(this.nativeSelection)),this.isCollapsed=z(this)}else this.refresh()}}:da.addRange=function(a,b){c(b)&&V?ea(this,a):(this.nativeSelection.addRange(k(a)),this.refresh())},da.setRanges=function(a){if(_&&P&&a.length>1)u(this,a);else{this.removeAllRanges();for(var b=0,c=a.length;c>b;++b)this.addRange(a[b])}}}else{if(!(E(R,"empty")&&E(S,"select")&&_&&Q))return b.fail("No means of selecting a Range or TextRange was found"),!1;da.removeAllRanges=function(){try{if(this.docSelection.empty(),"None"!=this.docSelection.type){var a;if(this.anchorNode)a=L(this.anchorNode);else if(this.docSelection.type==K){var b=this.docSelection.createRange();b.length&&(a=L(b.item(0)))}if(a){var c=M(a).createTextRange();c.select(),this.docSelection.empty()}}}catch(d){}j(this)},da.addRange=function(b){this.docSelection.type==K?q(this,b):(a.WrappedTextRange.rangeToTextRange(b).select(),this._ranges[0]=b,this.rangeCount=1,this.isCollapsed=this._ranges[0].collapsed,h(this,b,!1))},da.setRanges=function(a){this.removeAllRanges();var b=a.length;b>1?u(this,a):b&&this.addRange(a[0])}}da.getRangeAt=function(a){if(0>a||a>=this.rangeCount)throw new H("INDEX_SIZE_ERR");return this._ranges[a].cloneRange()};var fa;if(Q)fa=function(b){var c;a.isSelectionValid(b.win)?c=b.docSelection.createRange():(c=M(b.win.document).createTextRange(),c.collapse(!0)),b.docSelection.type==K?p(b):n(c)?o(b,c):j(b)};else if(E(R,"getRangeAt")&&typeof R.rangeCount==B)fa=function(b){if(_&&P&&b.docSelection.type==K)p(b);else if(b._ranges.length=b.rangeCount=b.nativeSelection.rangeCount,b.rangeCount){for(var c=0,d=b.rangeCount;d>c;++c)b._ranges[c]=new a.WrappedRange(b.nativeSelection.getRangeAt(c));h(b,b._ranges[b.rangeCount-1],ha(b.nativeSelection)),b.isCollapsed=z(b)}else j(b)};else{if(!U||typeof R.isCollapsed!=A||typeof S.collapsed!=A||!J.implementsDomRange)return b.fail("No means of obtaining a Range or TextRange from the user's selection was found"),!1;fa=function(a){var b,c=a.nativeSelection;c.anchorNode?(b=aa(c,0),a._ranges=[b],a.rangeCount=1,i(a),a.isCollapsed=z(a)):j(a)}}da.refresh=function(a){var b=a?this._ranges.slice(0):null,c=this.anchorNode,d=this.anchorOffset;if(fa(this),a){var e=b.length;if(e!=this._ranges.length)return!0;if(this.anchorNode!=c||this.anchorOffset!=d)return!0;for(;e--;)if(!N(b[e],this._ranges[e]))return!0;return!1}};var ga=function(a,b){var c=a.getAllRanges();a.removeAllRanges();for(var d=0,e=c.length;e>d;++d)N(b,c[d])||a.addRange(c[d]);a.rangeCount||j(a)};_&&P?da.removeRange=function(a){if(this.docSelection.type==K){for(var b,c=this.docSelection.createRange(),d=m(a),e=L(c.item(0)),f=M(e).createControlRange(),g=!1,h=0,i=c.length;i>h;++h)b=c.item(h),b!==d||g?f.add(c.item(h)):g=!0;f.select(),p(this)}else ga(this,a)}:da.removeRange=function(a){ga(this,a)};var ha;!Q&&U&&J.implementsDomRange?(ha=g,da.isBackward=function(){return ha(this)}):ha=da.isBackward=function(){return!1},da.isBackwards=da.isBackward,da.toString=function(){for(var a=[],b=0,c=this.rangeCount;c>b;++b)a[b]=""+this._ranges[b];return a.join("")},da.collapse=function(b,c){v(this,b);var d=a.createRange(b);d.collapseToPoint(b,c),this.setSingleRange(d),this.isCollapsed=!0},da.collapseToStart=function(){if(!this.rangeCount)throw new H("INVALID_STATE_ERR");var a=this._ranges[0];this.collapse(a.startContainer,a.startOffset)},da.collapseToEnd=function(){if(!this.rangeCount)throw new H("INVALID_STATE_ERR");var a=this._ranges[this.rangeCount-1];this.collapse(a.endContainer,a.endOffset)},da.selectAllChildren=function(b){v(this,b);var c=a.createRange(b);c.selectNodeContents(b),this.setSingleRange(c)},da.deleteFromDocument=function(){if(_&&P&&this.docSelection.type==K){for(var a,b=this.docSelection.createRange();b.length;)a=b.item(0),b.remove(a),C.removeNode(a);this.refresh()}else if(this.rangeCount){var c=this.getAllRanges();if(c.length){this.removeAllRanges();for(var d=0,e=c.length;e>d;++d)c[d].deleteContents();this.addRange(c[e-1])}}},da.eachRange=function(a,b){for(var c=0,d=this._ranges.length;d>c;++c)if(a(this.getRangeAt(c)))return b},da.getAllRanges=function(){var a=[];return this.eachRange(function(b){a.push(b)}),a},da.setSingleRange=function(a,b){this.removeAllRanges(),this.addRange(a,b)},da.callMethodOnEachRange=function(a,b){var c=[];return this.eachRange(function(d){c.push(d[a].apply(d,b||[]))}),c},da.setStart=w(!0),da.setEnd=w(!1),a.rangePrototype.select=function(a){ca(this.getDocument()).setSingleRange(this,a)},da.changeEachRange=function(a){var b=[],c=this.isBackward();this.eachRange(function(c){a(c),b.push(c)}),this.removeAllRanges(),c&&1==b.length?this.addRange(b[0],"backward"):this.setRanges(b)},da.containsNode=function(a,b){return this.eachRange(function(c){return c.containsNode(a,b)},!0)||!1},da.getBookmark=function(a){return{backward:this.isBackward(),rangeBookmarks:this.callMethodOnEachRange("getBookmark",[a])}},da.moveToBookmark=function(b){for(var c,d,e=[],f=0;c=b.rangeBookmarks[f++];)d=a.createRange(this.win),d.moveToBookmark(c),e.push(d);b.backward?this.setSingleRange(e[0],"backward"):this.setRanges(e)},da.saveRanges=function(){return{backward:this.isBackward(),ranges:this.callMethodOnEachRange("cloneRange")}},da.restoreRanges=function(a){this.removeAllRanges();for(var b,c=0;b=a.ranges[c];++c)this.addRange(b,a.backward&&0==c)},da.toHtml=function(){var a=[];return this.eachRange(function(b){a.push(F.toHtml(b))}),a.join("")},J.implementsTextRange&&(da.getNativeTextRange=function(){var c;if(c=this.docSelection){var d=c.createRange();if(n(d))return d;throw b.createError("getNativeTextRange: selection is a control selection")}if(this.rangeCount>0)return a.WrappedTextRange.rangeToTextRange(this.getRangeAt(0));throw b.createError("getNativeTextRange: selection contains no range")}),da.getName=function(){return"WrappedSelection"},da.inspect=function(){return x(this)},da.detach=function(){t(this.win,"delete"),s(this)},r.detachAll=function(){t(null,"deleteAll")},r.inspect=x,r.isDirectionBackward=c,a.Selection=r,a.selectionPrototype=da,a.addShimListener(function(a){"undefined"==typeof a.getSelection&&(a.getSelection=function(){return ca(a)}),a=null})});var M=!1,N=function(a){M||(M=!0,!H.initialized&&H.config.autoInitialize&&l())};F&&("complete"==document.readyState?N():(a(document,"addEventListener")&&document.addEventListener("DOMContentLoaded",N,!1),J(window,"load",N))),rangy=H}(),rangy.createModule("SaveRestore",["WrappedRange"],function(a,b){function c(a,b){return(b||document).getElementById(a)}function d(a,b){var c,d="selectionBoundary_"+ +new Date+"_"+(""+Math.random()).slice(2),e=o.getDocument(a.startContainer),f=a.cloneRange();return f.collapse(b),c=e.createElement("span"),c.id=d,c.style.lineHeight="0",c.style.display="none",c.className="rangySelectionBoundary",c.appendChild(e.createTextNode(r)),f.insertNode(c),c}function e(a,d,e,f){var g=c(e,a);g?(d[f?"setStartBefore":"setEndBefore"](g),p(g)):b.warn("Marker element has been removed. Cannot restore selection.")}function f(a,b){return b.compareBoundaryPoints(a.START_TO_START,a)}function g(b,c){var e,f,g=a.DomRange.getRangeDocument(b),h=b.toString(),i=q(c);return b.collapsed?(f=d(b,!1),{document:g,markerId:f.id,collapsed:!0}):(f=d(b,!1),e=d(b,!0),{document:g,startMarkerId:e.id,endMarkerId:f.id,collapsed:!1,backward:i,toString:function(){return"original text: '"+h+"', new text: '"+b.toString()+"'"}})}function h(d,f){var g=d.document;"undefined"==typeof f&&(f=!0);var h=a.createRange(g);if(d.collapsed){var i=c(d.markerId,g);if(i){i.style.display="inline";var j=i.previousSibling;j&&3==j.nodeType?(p(i),h.collapseToPoint(j,j.length)):(h.collapseBefore(i),p(i))}else b.warn("Marker element has been removed. Cannot restore selection.")}else e(g,h,d.startMarkerId,!0),e(g,h,d.endMarkerId,!1);return f&&h.normalizeBoundaries(),h}function i(b,d){var e,h,i=[],j=q(d);b=b.slice(0),b.sort(f);for(var k=0,l=b.length;l>k;++k)i[k]=g(b[k],j);for(k=l-1;k>=0;--k)e=b[k],h=a.DomRange.getRangeDocument(e),e.collapsed?e.collapseAfter(c(i[k].markerId,h)):(e.setEndBefore(c(i[k].endMarkerId,h)),e.setStartAfter(c(i[k].startMarkerId,h)));return i}function j(c){if(!a.isSelectionValid(c))return b.warn("Cannot save selection. This usually happens when the selection is collapsed and the selection document has lost focus."),null;var d=a.getSelection(c),e=d.getAllRanges(),f=1==e.length&&d.isBackward(),g=i(e,f);return f?d.setSingleRange(e[0],f):d.setRanges(e),{win:c,rangeInfos:g,restored:!1}}function k(a){for(var b=[],c=a.length,d=c-1;d>=0;d--)b[d]=h(a[d],!0);return b}function l(b,c){if(!b.restored){var d=b.rangeInfos,e=a.getSelection(b.win),f=k(d),g=d.length;1==g&&c&&a.features.selectionHasExtend&&d[0].backward?(e.removeAllRanges(),e.addRange(f[0],!0)):e.setRanges(f),b.restored=!0}}function m(a,b){var d=c(b,a);d&&p(d)}function n(a){for(var b,c=a.rangeInfos,d=0,e=c.length;e>d;++d)b=c[d],b.collapsed?m(a.doc,b.markerId):(m(a.doc,b.startMarkerId),m(a.doc,b.endMarkerId))}var o=a.dom,p=o.removeNode,q=a.Selection.isDirectionBackward,r="\ufeff";a.util.extend(a,{saveRange:g,restoreRange:h,saveRanges:i,restoreRanges:k,saveSelection:j,restoreSelection:l,removeMarkerElement:m,removeMarkers:n})}),rangy.createModule("TextRange",["WrappedSelection"],function(a,b){function c(a,b){function c(a,b,c){h.push({start:a,end:b,isWord:c})}for(var d,e,f,g=a.join(""),h=[],i=0;d=b.wordRegex.exec(g);){if(e=d.index,f=e+d[0].length,e>i&&c(i,e,!1),b.includeTrailingSpace)for(;$.test(a[f]);)++f;c(e,f,!0),i=f}return ie;++e)c[e].token=d;return d}function e(a,b,c){for(var e,f=c(a,b),g=[],h=0;e=f[h++];)g.push(d(a,e));return g}function f(a){var b=a||"",c="string"==typeof b?b.split(""):b;return c.sort(function(a,b){return a.charCodeAt(0)-b.charCodeAt(0)}),c.join("").replace(/(.)\1+/g,"$1")}function g(a){var b,c;return a?(b=a.language||_,c={},U(c,ia[b]||ia[_]),U(c,a),c):ia[_]}function h(a,b){var c=V(a,b);return b.hasOwnProperty("wordOptions")&&(c.wordOptions=g(c.wordOptions)),b.hasOwnProperty("characterOptions")&&(c.characterOptions=V(c.characterOptions,ga)),c}function i(a,b){var c=na(a,"display",b),d=a.tagName.toLowerCase();return"block"==c&&fa&&oa.hasOwnProperty(d)?oa[d]:c}function j(a){for(var b=o(a),c=0,d=b.length;d>c;++c)if(1==b[c].nodeType&&"none"==i(b[c]))return!0;return!1}function k(a){var b;return 3==a.nodeType&&(b=a.parentNode)&&"hidden"==na(b,"visibility")}function l(a){return a&&(1==a.nodeType&&!/^(inline(-block|-table)?|none)$/.test(i(a))||9==a.nodeType||11==a.nodeType)}function m(a){return S.isCharacterDataNode(a)||!/^(area|base|basefont|br|col|frame|hr|img|input|isindex|link|meta|param)$/i.test(a.nodeName)}function n(a){for(var b=[];a.parentNode;)b.unshift(a.parentNode),a=a.parentNode;return b}function o(a){return n(a).concat([a])}function p(a){for(;a&&!a.nextSibling;)a=a.parentNode;return a?a.nextSibling:null}function q(a,b){return!b&&a.hasChildNodes()?a.firstChild:p(a)}function r(a){var b=a.previousSibling;if(b){for(a=b;a.hasChildNodes();)a=a.lastChild;return a}var c=a.parentNode;return c&&1==c.nodeType?c:null}function s(a){if(!a||3!=a.nodeType)return!1;var b=a.data;if(""===b)return!0;var c=a.parentNode;if(!c||1!=c.nodeType)return!1;var d=na(a.parentNode,"whiteSpace");return/^[\t\n\r ]+$/.test(b)&&/^(normal|nowrap)$/.test(d)||/^[\t\r ]+$/.test(b)&&"pre-line"==d}function t(a){if(""===a.data)return!0;if(!s(a))return!1;var b=a.parentNode;return b?j(a)?!0:!1:!0}function u(a){var b=a.nodeType;return 7==b||8==b||j(a)||/^(script|style)$/i.test(a.nodeName)||k(a)||t(a)}function v(a,b){var c=a.nodeType;return 7==c||8==c||1==c&&"none"==i(a,b)}function w(){this.store={}}function x(a,b,c){return function(d){var e=this.cache;if(e.hasOwnProperty(a))return pa++,e[a];qa++;var f=b.call(this,c?this[c]:this,d);return e[a]=f,f}}function y(a,b){this.node=a,this.session=b,this.cache=new w,this.positions=new w}function z(a,b){this.offset=b,this.nodeWrapper=a,this.node=a.node,this.session=a.session,this.cache=new w}function A(){return"[Position("+S.inspectNode(this.node)+":"+this.offset+")]"}function B(){return D(),Da=new Ea}function C(){return Da||B()}function D(){Da&&Da.detach(),Da=null}function E(a,c,d,e){function f(){var a=null;return c?(a=h,i||(h=h.previousVisible(),i=!h||d&&h.equals(d))):i||(a=h=h.nextVisible(),i=!h||d&&h.equals(d)),i&&(h=null),a}d&&(c?u(d.node)&&(d=a.previousVisible()):u(d.node)&&(d=d.nextVisible()));var g,h=a,i=!1,j=!1;return{next:function(){if(j)return j=!1,g;for(var a,b;a=f();)if(b=a.getCharacter(e))return g=a,a;return null},rewind:function(){if(!g)throw b.createError("createCharacterIterator: cannot rewind. Only one position can be rewound.");j=!0},dispose:function(){a=d=null}}}function F(a,b,c){function d(a){for(var b,c,d=[],e=a?f:g,h=!1,i=!1;b=e.next();){if(c=b.character,Z.test(c))i&&(i=!1,h=!0);else{if(h){e.rewind();break}i=!0}d.push(b)}return d}var f=E(a,!1,null,b),g=E(a,!0,null,b),h=c.tokenizer,i=d(!0),j=d(!1).reverse(),k=e(j.concat(i),c,h),l=i.length?k.slice(Fa(k,i[0].token)):[],m=j.length?k.slice(0,Fa(k,j.pop().token)+1):[];return{nextEndToken:function(){for(var a,b;1==l.length&&!(a=l[0]).isWord&&(b=d(!0)).length>0;)l=e(a.chars.concat(b),c,h);return l.shift()},previousStartToken:function(){for(var a,b;1==m.length&&!(a=m[0]).isWord&&(b=d(!1)).length>0;)m=e(b.reverse().concat(a.chars),c,h);return m.pop()},dispose:function(){f.dispose(),g.dispose(),l=m=null}}}function G(a,b,c,d,e){var f,g,h,i,j=0,k=a,l=Math.abs(c);if(0!==c){var m=0>c;switch(b){case Q:for(g=E(a,m,null,d);(f=g.next())&&l>j;)++j,k=f;h=f,g.dispose();break;case R:for(var n=F(a,d,e),o=m?n.previousStartToken:n.nextEndToken;(i=o())&&l>j;)i.isWord&&(++j,k=m?i.chars[0]:i.chars[i.chars.length-1]);break;default:throw new Error("movePositionBy: unit '"+b+"' not implemented")}m?(k=k.previousVisible(),j=-j):k&&k.isLeadingSpace&&!k.isTrailingSpace&&(b==R&&(g=E(a,!1,null,d),h=g.next(),g.dispose()),h&&(k=h.previousVisible()))}return{position:k,unitsMoved:j}}function H(a,b,c,d){var e=a.getRangeBoundaryPosition(b,!0),f=a.getRangeBoundaryPosition(b,!1),g=d?f:e,h=d?e:f;return E(g,!!d,h,c)}function I(a,b,c){for(var d,e=[],f=H(a,b,c);d=f.next();)e.push(d);return f.dispose(),e}function J(b,c,d){var e=a.createRange(b.node);return e.setStartAndEnd(b.node,b.offset,c.node,c.offset),!e.expand("word",{wordOptions:d})}function K(a,b,c,d,e){function f(a,b){var c=p[a].previousVisible(),d=p[b-1],f=!e.wholeWordsOnly||J(c,d,e.wordOptions);return{startPos:c,endPos:d,valid:f}}for(var g,h,i,j,k,l,m=aa(e.direction),n=E(a,m,a.session.getRangeBoundaryPosition(d,m),e.characterOptions),o="",p=[],q=null;g=n.next();)if(h=g.character,c||e.caseSensitive||(h=h.toLowerCase()),m?(p.unshift(g),o=h+o):(p.push(g),o+=h),c){if(k=b.exec(o))if(i=k.index,j=i+k[0].length,l){if(!m&&j0){q=f(i,j);break}}else l=!0}else if(-1!=(i=o.indexOf(b))){q=f(i,i+b.length);break}return l&&(q=f(i,j)),n.dispose(),q}function L(a){return function(){var b=!!Da,c=C(),d=[c].concat(T.toArray(arguments)),e=a.apply(this,d);return b||D(),e}}function M(a,b){return L(function(c,d,e,f){typeof e==P&&(e=d,d=Q),f=h(f,ka);var g=a;b&&(g=e>=0,this.collapse(!g));var i=G(c.getRangeBoundaryPosition(this,g),d,e,f.characterOptions,f.wordOptions),j=i.position;return this[g?"setStart":"setEnd"](j.node,j.offset),i.unitsMoved})}function N(a){return L(function(b,c){c=V(c,ga);for(var d,e=H(b,this,c,!a),f=0;(d=e.next())&&Z.test(d.character);)++f;e.dispose();var g=f>0;return g&&this[a?"moveStart":"moveEnd"]("character",a?f:-f,{characterOptions:c}),g})}function O(a){return L(function(b,c){var d=!1;return this.changeEachRange(function(b){d=b[a](c)||d}),d})}var P="undefined",Q="character",R="word",S=a.dom,T=a.util,U=T.extend,V=T.createOptions,W=S.getBody,X=/^[ \t\f\r\n]+$/,Y=/^[ \t\f\r]+$/,Z=/^[\t-\r \u0085\u00A0\u1680\u180E\u2000-\u200B\u2028\u2029\u202F\u205F\u3000]+$/,$=/^[\t \u00A0\u1680\u180E\u2000-\u200B\u202F\u205F\u3000]+$/,_="en",aa=a.Selection.isDirectionBackward,ba=!1,ca=!1,da=!1,ea=!0;!function(){var b=S.createTestElement(document,"

1

",!0),c=b.firstChild,d=a.getSelection();d.collapse(c.lastChild,2),d.setStart(c.firstChild,0),ba=1==(""+d).length,b.innerHTML="1
",d.collapse(b,2),d.setStart(b.firstChild,0),ca=1==(""+d).length,b.innerHTML="1

1

", @@ -6,5 +6,5 @@ d.collapse(b,2),d.setStart(b.firstChild,0),da=1==(""+d).length,S.removeNode(b),d return e},wysihtml.dom.getParentElement=function(){return function(a,b,c,d){for(c=c||50;c--&&a&&"BODY"!==a.nodeName&&(!d||a!==d);){if(wysihtml.dom.domNode(a).test(b))return a;a=a.parentNode}return null}}(),wysihtml.dom.getPastedHtml=function(a){var b;return wysihtml.browser.supportsModernPaste()&&a.clipboardData&&(wysihtml.lang.array(a.clipboardData.types).contains("text/html")?b=a.clipboardData.getData("text/html"):wysihtml.lang.array(a.clipboardData.types).contains("text/plain")&&(b=wysihtml.lang.string(a.clipboardData.getData("text/plain")).escapeHTML(!0,!0))),b},wysihtml.dom.getPastedHtmlWithDiv=function(a,b){var c=a.selection.getBookmark(),d=a.element.ownerDocument,e=d.createElement("DIV"),f=a.getScrollPos();d.body.appendChild(e),e.style.width="1px",e.style.height="1px",e.style.overflow="hidden",e.style.position="absolute",e.style.top=f.y+"px",e.style.left=f.x+"px",e.setAttribute("contenteditable","true"),e.focus(),setTimeout(function(){var d;a.selection.setBookmark(c),d=e.innerHTML,d&&/^$/i.test(d.trim())&&(d=!1),b(d),e.parentNode.removeChild(e)},0)},wysihtml.dom.getStyle=function(){function a(a){return a.replace(c,function(a){return a.charAt(1).toUpperCase()})}var b={"float":"styleFloat"in document.createElement("div").style?"styleFloat":"cssFloat"},c=/\-[a-z]/g;return function(c){return{from:function(d){if(d.nodeType===wysihtml.ELEMENT_NODE){var e=d.ownerDocument,f=b[c]||a(c),g=d.style,h=d.currentStyle,i=g[f];if(i)return i;if(h)try{return h[f]}catch(j){}var k,l,m=e.defaultView||e.parentWindow,n=("height"===c||"width"===c)&&"TEXTAREA"===d.nodeName;return m.getComputedStyle?(n&&(k=g.overflow,g.overflow="hidden"),l=m.getComputedStyle(d,null).getPropertyValue(c),n&&(g.overflow=k||""),l):void 0}}}}}(),wysihtml.dom.getTextNodes=function(a,b){var c=[];for(a=a.firstChild;a;a=a.nextSibling)3==a.nodeType?b&&/^\s*$/.test(a.innerText||a.textContent)||c.push(a):c=c.concat(wysihtml.dom.getTextNodes(a,b));return c},function(a){function b(a){return a._wysihtml_identifier||(a._wysihtml_identifier=d++)}var c={},d=1;a.dom.hasElementWithClassName=function(d,e){if(!a.browser.supportsNativeGetElementsByClassName())return!!d.querySelector("."+e);var f=b(d)+":"+e,g=c[f];return g||(g=c[f]=d.getElementsByClassName(e)),g.length>0}}(wysihtml),wysihtml.dom.hasElementWithTagName=function(){function a(a){return a._wysihtml_identifier||(a._wysihtml_identifier=c++)}var b={},c=1;return function(c,d){var e=a(c)+":"+d,f=b[e];return f||(f=b[e]=c.getElementsByTagName(d)),f.length>0}}(),wysihtml.dom.insert=function(a){return{after:function(b){b.parentNode.insertBefore(a,b.nextSibling)},before:function(b){b.parentNode.insertBefore(a,b)},into:function(b){b.appendChild(a)}}},wysihtml.dom.insertCSS=function(a){return a=a.join("\n"),{into:function(b){var c=b.createElement("style");c.type="text/css",c.styleSheet?c.styleSheet.cssText=a:c.appendChild(b.createTextNode(a));var d=b.querySelector("head link");if(d)return void d.parentNode.insertBefore(c,d);var e=b.querySelector("head");e&&e.appendChild(c)}}},wysihtml.dom.isLoadedImage=function(a){try{return a.complete&&!a.mozMatchesSelector(":-moz-broken")}catch(b){if(a.complete&&"complete"===a.readyState)return!0}},function(a){a.dom.lineBreaks=function(b){function c(a){return"BR"===a.nodeName}function d(b){return c(b)?!0:"block"===a.dom.getStyle("display").from(b)?!0:!1}return{add:function(c){var e=b.ownerDocument,f=a.dom.domNode(b).next({ignoreBlankTexts:!0}),g=a.dom.domNode(b).prev({ignoreBlankTexts:!0});f&&!d(f)&&a.dom.insert(e.createElement("br")).after(b),g&&!d(g)&&a.dom.insert(e.createElement("br")).before(b)},remove:function(d){var e=a.dom.domNode(b).next({ignoreBlankTexts:!0}),f=a.dom.domNode(b).prev({ignoreBlankTexts:!0});e&&c(e)&&e.parentNode.removeChild(e),f&&c(f)&&f.parentNode.removeChild(f)}}}}(wysihtml),wysihtml.dom.observe=function(a,b,c){b="string"==typeof b?[b]:b;for(var d,e,f=0,g=b.length;g>f;f++)e=b[f],a.addEventListener?a.addEventListener(e,c,!1):(d=function(b){"target"in b||(b.target=b.srcElement),b.preventDefault=b.preventDefault||function(){this.returnValue=!1},b.stopPropagation=b.stopPropagation||function(){this.cancelBubble=!0},c.call(a,b)},a.attachEvent("on"+e,d));return{stop:function(){for(var e,f=0,g=b.length;g>f;f++)e=b[f],a.removeEventListener?a.removeEventListener(e,c,!1):a.detachEvent("on"+e,d)}}},wysihtml.dom.parse=function(a,b){function c(a,b){wysihtml.lang.object(t).merge(s).merge(b.rules).get();var c,f,g,h=b.context||a.ownerDocument||document,i=h.createDocumentFragment(),j="string"==typeof a,k=!1;for(b.clearInternals===!0&&(k=!0),c=j?wysihtml.dom.getAsDom(a,h):a,t.selectors&&e(c,t.selectors);c.firstChild;)g=c.firstChild,f=d(g,b.cleanUp,k,b.uneditableClass),f&&i.appendChild(f),g!==f&&c.removeChild(g);if(b.unjoinNbsps)for(var l=wysihtml.dom.getTextNodes(i),m=l.length;m--;)l[m].nodeValue=l[m].nodeValue.replace(/([\S\u00A0])\u00A0/gi,"$1 ");return c.innerHTML="",c.appendChild(i),j?wysihtml.quirks.getCorrectInnerHTML(c):c}function d(a,b,c,e){var f,g,h,i,j=a.nodeType,k=a.childNodes,l=k.length,m=p[j],n=0;if(e&&1===j&&wysihtml.dom.hasClass(a,e))return a;if(g=m&&m(a,c),!g){if(g===!1){for(f=a.ownerDocument.createDocumentFragment(),n=l;n--;)k[n]&&(h=d(k[n],b,c,e),h&&(k[n]===h&&n--,f.insertBefore(h,f.firstChild)));return i=wysihtml.dom.getStyle("display").from(a),""===i&&(i=wysihtml.lang.array(u).contains(a.tagName)?"block":""),wysihtml.lang.array(["block","flex","table"]).contains(i)&&f.appendChild(a.ownerDocument.createElement("br")),wysihtml.lang.array(["div","pre","p","table","td","th","ul","ol","li","dd","dl","footer","header","section","h1","h2","h3","h4","h5","h6"]).contains(a.nodeName.toLowerCase())&&a.parentNode.lastChild!==a&&(a.nextSibling&&3===a.nextSibling.nodeType&&/^\s/.test(a.nextSibling.nodeValue)||f.appendChild(a.ownerDocument.createTextNode(" "))),f.normalize&&f.normalize(),f}return null}for(n=0;l>n;n++)k[n]&&(h=d(k[n],b,c,e),h&&(k[n]===h&&n--,g.appendChild(h)));if(b&&g.nodeName.toLowerCase()===q&&(!g.childNodes.length||/^\s*$/gi.test(g.innerHTML)&&(c||"_wysihtml-temp-placeholder"!==a.className&&"rangySelectionBoundary"!==a.className)||!g.attributes.length)){for(f=g.ownerDocument.createDocumentFragment();g.firstChild;)f.appendChild(g.firstChild);return f.normalize&&f.normalize(),f}return g.normalize&&g.normalize(),g}function e(a,b){var c,d,e;for(c in b)if(b.hasOwnProperty(c)){wysihtml.lang.object(b[c]).isFunction()?d=b[c]:"string"==typeof b[c]&&z[b[c]]&&(d=z[b[c]]),e=a.querySelectorAll(c);for(var f=e.length;f--;)d(e[f])}}function f(a,b){var c,d,e,f=t.tags,h=a.nodeName.toLowerCase(),j=a.scopeName;if(a._wysihtml)return null;if(a._wysihtml=1,"wysihtml-temp"===a.className)return null;if(j&&"HTML"!=j&&(h=j+":"+h),"outerHTML"in a&&(wysihtml.browser.autoClosesUnclosedTags()||"P"!==a.nodeName||"

"===a.outerHTML.slice(-4).toLowerCase()||(h="div")),h in f){if(c=f[h],!c||c.remove)return null;if(c.unwrap)return!1;c="string"==typeof c?{rename_tag:c}:c}else{if(!a.firstChild)return null;c={rename_tag:q}}if(c.one_of_type&&!g(a,t,c.one_of_type,b)){if(!c.remove_action)return null;if("unwrap"===c.remove_action)return!1;if("rename"!==c.remove_action)return null;e=c.remove_action_rename_to||q}return d=a.ownerDocument.createElement(e||c.rename_tag||h),m(a,d,c,b),i(a,d,c),a=null,d.normalize&&d.normalize(),d}function g(a,b,c,d){var e,f;if("SPAN"===a.nodeName&&!d&&("_wysihtml-temp-placeholder"===a.className||"rangySelectionBoundary"===a.className))return!0;for(f in c)if(c.hasOwnProperty(f)&&b.type_definitions&&b.type_definitions[f]&&(e=b.type_definitions[f],h(a,e)))return!0;return!1}function h(a,b){var c,d,e,f,g,h=a.getAttribute("class"),i=a.getAttribute("style");if(b.methods)for(var j in b.methods)if(b.methods.hasOwnProperty(j)&&y[j]&&y[j](a))return!0;if(h&&b.classes){h=h.replace(/^\s+/g,"").replace(/\s+$/g,"").split(r),c=h.length;for(var k=0;c>k;k++)if(b.classes[h[k]])return!0}if(i&&b.styles){i=i.split(";");for(d in b.styles)if(b.styles.hasOwnProperty(d))for(var l=i.length;l--;)if(g=i[l].split(":"),g[0].replace(/\s/g,"").toLowerCase()===d&&(b.styles[d]===!0||1===b.styles[d]||wysihtml.lang.array(b.styles[d]).contains(g[1].replace(/\s/g,"").toLowerCase())))return!0}if(b.attrs)for(e in b.attrs)if(b.attrs.hasOwnProperty(e)&&(f=wysihtml.dom.getAttribute(a,e),"string"==typeof f&&f.search(b.attrs[e])>-1))return!0;return!1}function i(a,b,c){var d,e;if(c&&c.keep_styles)for(d in c.keep_styles)if(c.keep_styles.hasOwnProperty(d)){if(e="float"===d?a.style.styleFloat||a.style.cssFloat:a.style[d],c.keep_styles[d]instanceof RegExp&&!c.keep_styles[d].test(e))continue;"float"===d?b.style[a.style.styleFloat?"styleFloat":"cssFloat"]=e:a.style[d]&&(b.style[d]=e)}}function j(a,b){var c=[];for(var d in b)b.hasOwnProperty(d)&&0===d.indexOf(a)&&c.push(d);return c}function k(a,b,c,d){var e,f=wysihtml.lang.object(c).isFunction()?c:v[c];return f&&(e=f(b,d),"string"==typeof e)?e:!1}function l(a,b){var c,d,e,f=wysihtml.lang.object(t.attributes||{}).clone(),g=wysihtml.lang.object(f).merge(wysihtml.lang.object(b||{}).clone()).get(),h={},i=wysihtml.dom.getAttributes(a);for(c in g)if(/\*$/.test(c)){e=j(c.slice(0,-1),i);for(var l=0,m=e.length;m>l;l++)d=k(e[l],i[e[l]],g[c],a.nodeName),d!==!1&&(h[e[l]]=d)}else d=k(c,i[c],g[c],a.nodeName),d!==!1&&(h[c]=d);return h}function m(a,b,c,d){var e,f,g,h,i,j={},k=c.set_class,m=c.add_class,n=c.add_style,o=c.set_attributes,p=t.classes,q=0,s=[],u=[],v=[],y=[];if(o&&(j=wysihtml.lang.object(o).clone()),j=wysihtml.lang.object(j).merge(l(a,c.check_attributes)).get(),k&&s.push(k),m)for(h in m)i=x[m[h]],i&&(g=i(wysihtml.dom.getAttribute(a,h)),"string"==typeof g&&s.push(g));if(n)for(h in n)i=w[n[h]],i&&(newStyle=i(wysihtml.dom.getAttribute(a,h)),"string"==typeof newStyle&&u.push(newStyle));if("string"==typeof p&&"any"===p)if(a.getAttribute("class"))if(t.classes_blacklist){for(y=a.getAttribute("class"),y&&(s=s.concat(y.split(r))),e=s.length;e>q;q++)f=s[q],t.classes_blacklist[f]||v.push(f);v.length&&(j["class"]=wysihtml.lang.array(v).unique().join(" "))}else j["class"]=a.getAttribute("class");else s&&s.length>0&&(j["class"]=wysihtml.lang.array(s).unique().join(" "));else{for(d||(p["_wysihtml-temp-placeholder"]=1,p._rangySelectionBoundary=1,p["wysiwyg-tmp-selected-cell"]=1),y=a.getAttribute("class"),y&&(s=s.concat(y.split(r))),e=s.length;e>q;q++)f=s[q],p[f]&&v.push(f);v.length&&(j["class"]=wysihtml.lang.array(v).unique().join(" "))}j["class"]&&d&&(j["class"]=j["class"].replace("wysiwyg-tmp-selected-cell",""),/^\s*$/g.test(j["class"])&&delete j["class"]),u.length&&(j.style=wysihtml.lang.array(u).unique().join(" "));for(h in j)try{b.setAttribute(h,j[h])}catch(z){}j.src&&("undefined"!=typeof j.width&&b.setAttribute("width",j.width),"undefined"!=typeof j.height&&b.setAttribute("height",j.height))}function n(a){var b=a.nextSibling;if(!b||b.nodeType!==wysihtml.TEXT_NODE){var c=a.data.replace(wysihtml.INVISIBLE_SPACE_REG_EXP,"");return a.ownerDocument.createTextNode(c)}b.data=a.data.replace(wysihtml.INVISIBLE_SPACE_REG_EXP,"")+b.data.replace(wysihtml.INVISIBLE_SPACE_REG_EXP,"")}function o(a){return t.comments?a.ownerDocument.createComment(a.nodeValue):void 0}var p={1:f,3:n,8:o},q="span",r=/\s+/,s={tags:{},classes:{}},t={},u=["ADDRESS","BLOCKQUOTE","CENTER","DIR","DIV","DL","FIELDSET","FORM","H1","H2","H3","H4","H5","H6","ISINDEX","MENU","NOFRAMES","NOSCRIPT","OL","P","PRE","TABLE","UL"],v={url:function(){var a=/^https?:\/\//i;return function(b){return b&&b.match(a)?b.replace(a,function(a){return a.toLowerCase()}):null}}(),src:function(){var a=/^(\/|https?:\/\/)/i;return function(b){return b&&b.match(a)?b.replace(a,function(a){return a.toLowerCase()}):null}}(),href:function(){var a=/^(#|\/|https?:\/\/|mailto:|tel:)/i;return function(b){return b&&b.match(a)?b.replace(a,function(a){return a.toLowerCase()}):null}}(),alt:function(){var a=/[^ a-z0-9_\-]/gi;return function(b,c){return b?b.replace(a,""):"IMG"===c?"":null}}(),numbers:function(){var a=/\D/g;return function(b){return b=(b||"").replace(a,""),b||null}}(),dimension:function(){var a=/\D*(\d+)(\.\d+)?\s?(%)?\D*/;return function(b){return b=(b||"").replace(a,"$1$2$3"),b||null}}(),any:function(){return function(a){return a?a:null}}()},w={align_text:function(){var a={left:"text-align: left;",right:"text-align: right;",center:"text-align: center;"};return function(b){return a[String(b).toLowerCase()]}}()},x={align_img:function(){var a={left:"wysiwyg-float-left",right:"wysiwyg-float-right"};return function(b){return a[String(b).toLowerCase()]}}(),align_text:function(){var a={left:"wysiwyg-text-align-left",right:"wysiwyg-text-align-right",center:"wysiwyg-text-align-center",justify:"wysiwyg-text-align-justify"};return function(b){return a[String(b).toLowerCase()]}}(),clear_br:function(){var a={left:"wysiwyg-clear-left",right:"wysiwyg-clear-right",both:"wysiwyg-clear-both",all:"wysiwyg-clear-both"};return function(b){return a[String(b).toLowerCase()]}}(),size_font:function(){var a={1:"wysiwyg-font-size-xx-small",2:"wysiwyg-font-size-small",3:"wysiwyg-font-size-medium",4:"wysiwyg-font-size-large",5:"wysiwyg-font-size-x-large",6:"wysiwyg-font-size-xx-large",7:"wysiwyg-font-size-xx-large","-":"wysiwyg-font-size-smaller","+":"wysiwyg-font-size-larger"};return function(b){return a[String(b).charAt(0)]}}()},y={has_visible_contet:function(){var a,b=["img","video","picture","br","script","noscript","style","table","iframe","object","embed","audio","svg","input","button","select","textarea","canvas"];return function(c){if(a=(c.innerText||c.textContent).replace(/\s/g,""),a&&a.length>0)return!0;for(var d=b.length;d--;)if(c.querySelector(b[d]))return!0;return c.offsetWidth&&c.offsetWidth>0&&c.offsetHeight&&c.offsetHeight>0?!0:!1}}()},z={unwrap:function(a){wysihtml.dom.unwrap(a)},remove:function(a){a.parentNode.removeChild(a)}};return c(a,b)},wysihtml.dom.query=function(a,b){var c,d=[];a.nodeType&&(a=[a]);for(var e=0,f=a.length;f>e;e++)if(c=a[e].querySelectorAll(b))for(var g=c.length;g--;d.unshift(c[g]));return d},wysihtml.dom.removeEmptyTextNodes=function(a){for(var b,c=wysihtml.lang.array(a.childNodes).get(),d=c.length,e=0;d>e;e++)b=c[e],b.nodeType===wysihtml.TEXT_NODE&&/^[\n\r]*$/.test(b.data)&&b.parentNode.removeChild(b)},wysihtml.dom.removeInvisibleSpaces=function(a){for(var b=wysihtml.dom.getTextNodes(a),c=b.length;c--;)b[c].nodeValue=b[c].nodeValue.replace(wysihtml.INVISIBLE_SPACE_REG_EXP,"")},wysihtml.dom.renameElement=function(a,b){for(var c,d=a.ownerDocument.createElement(b);c=a.firstChild;)d.appendChild(c);return wysihtml.dom.copyAttributes(["align","className"]).from(a).to(d),a.parentNode&&a.parentNode.replaceChild(d,a),d},wysihtml.dom.replaceWithChildNodes=function(a){if(a.parentNode){for(;a.firstChild;)a.parentNode.insertBefore(a.firstChild,a);a.parentNode.removeChild(a)}},function(a){function b(b){return"block"===a.getStyle("display").from(b)}function c(a){return"BR"===a.nodeName}function d(a){var b=a.ownerDocument.createElement("br");a.appendChild(b)}function e(a,e){if(a.nodeName.match(/^(MENU|UL|OL)$/)){var f,g,h,i,j,k,l,m=a.ownerDocument,n=m.createDocumentFragment(),o=wysihtml.dom.domNode(a).prev({ignoreBlankTexts:!0}),p=wysihtml.dom.domNode(a).next({ignoreBlankTexts:!0}),q=a.lastElementChild||a.lastChild;if(e)for(!o||b(o)||c(o)||d(n);k=a.firstElementChild||a.firstChild;){for(g=k.lastChild,l=k===q;f=k.firstChild;)h=f===g,i=(!l||p&&!b(p))&&h&&!b(f)&&!c(f),n.appendChild(f),i&&d(n);k.parentNode.removeChild(k)}else for(;k=a.firstElementChild||a.firstChild;){if(k.querySelector&&k.querySelector("div, p, ul, ol, menu, blockquote, h1, h2, h3, h4, h5, h6"))for(;f=k.firstChild;)n.appendChild(f);else{for(j=m.createElement("p");f=k.firstChild;)j.appendChild(f);n.appendChild(j)}k.parentNode.removeChild(k)}a.parentNode.replaceChild(n,a)}}a.resolveList=e}(wysihtml.dom),function(a){var b=document,c=["parent","top","opener","frameElement","frames","localStorage","globalStorage","sessionStorage","indexedDB"],d=["open","close","openDialog","showModalDialog","alert","confirm","prompt","openDatabase","postMessage","XMLHttpRequest","XDomainRequest"],e=["referrer","write","open","close"];a.dom.Sandbox=Base.extend({constructor:function(b,c){this.callback=b||a.EMPTY_FUNCTION,this.config=a.lang.object({}).merge(c).get(),this.config.className||(this.config.className="wysihtml-sandbox"),this.editableArea=this._createIframe()},insertInto:function(a){"string"==typeof a&&(a=b.getElementById(a)),a.appendChild(this.editableArea)},getIframe:function(){return this.editableArea},getWindow:function(){this._readyError()},getDocument:function(){this._readyError()},destroy:function(){var a=this.getIframe();a.parentNode.removeChild(a)},_readyError:function(){throw new Error("wysihtml.Sandbox: Sandbox iframe isn't loaded yet")},_createIframe:function(){var c=this,d=b.createElement("iframe");return d.className=this.config.className,a.dom.setAttributes({security:"restricted",allowtransparency:"true",frameborder:0,width:0,height:0,marginwidth:0,marginheight:0}).on(d),a.browser.throwsMixedContentWarningWhenIframeSrcIsEmpty()&&(d.src="javascript:''"),d.onload=function(){d.onreadystatechange=d.onload=null,c._onLoadIframe(d)},d.onreadystatechange=function(){/loaded|complete/.test(d.readyState)&&(d.onreadystatechange=d.onload=null,c._onLoadIframe(d))},d},_onLoadIframe:function(f){if(a.dom.contains(b.documentElement,f)){var g=this,h=f.contentWindow,i=f.contentWindow.document,j=b.characterSet||b.charset||"utf-8",k=this._getHtml({charset:j,stylesheets:this.config.stylesheets});if(i.open("text/html","replace"),i.write(k),i.close(),this.getWindow=function(){return f.contentWindow},this.getDocument=function(){return f.contentWindow.document},h.onerror=function(a,b,c){throw new Error("wysihtml.Sandbox: "+a,b,c)},!a.browser.supportsSandboxedIframes()){var l,m;for(l=0,m=c.length;m>l;l++)this._unset(h,c[l]);for(l=0,m=d.length;m>l;l++)this._unset(h,d[l],a.EMPTY_FUNCTION);for(l=0,m=e.length;m>l;l++)this._unset(i,e[l]);this._unset(i,"cookie","",!0)}a.polyfills&&a.polyfills(h,i).apply(),this.loaded=!0,setTimeout(function(){g.callback(g)},0)}},_getHtml:function(b){var c,d=b.stylesheets,e="",f=0;if(d="string"==typeof d?[d]:d)for(c=d.length;c>f;f++)e+='';return b.stylesheets=e,a.lang.string('#{stylesheets}').interpolate(b)},_unset:function(b,c,d,e){try{b[c]=d}catch(f){}try{b.__defineGetter__(c,function(){return d})}catch(f){}if(e)try{b.__defineSetter__(c,function(){})}catch(f){}if(!a.browser.crashesWhenDefineProperty(c))try{var g={get:function(){return d}};e&&(g.set=function(){}),Object.defineProperty(b,c,g)}catch(f){}}})}(wysihtml),function(){var a={className:"class"};wysihtml.dom.setAttributes=function(b){return{on:function(c){for(var d in b)c.setAttribute(a[d]||d,b[d])}}}}(),wysihtml.dom.setStyles=function(a){return{on:function(b){var c=b.style;if("string"==typeof a)return void(c.cssText+=";"+a);for(var d in a)"float"===d?(c.cssFloat=a[d],c.styleFloat=a[d]):c[d]=a[d]}}},function(a){a.simulatePlaceholder=function(b,c,d,e){var f=e||"wysihtml-placeholder",g=function(){var b=c.element.offsetWidth>0&&c.element.offsetHeight>0;c.hasPlaceholderSet()&&(c.clear(),c.element.focus(),b&&setTimeout(function(){var a=c.selection.getSelection();a.focusNode&&a.anchorNode||c.selection.selectNode(c.element.firstChild||c.element)},0)),c.placeholderSet=!1,a.removeClass(c.element,f)},h=function(){c.isEmpty()&&!c.placeholderSet&&(c.placeholderSet=!0,c.setValue(d,!1),a.addClass(c.element,f))};b.on("set_placeholder",h).on("unset_placeholder",g).on("focus:composer",g).on("paste:composer",g).on("blur:composer",h),h()}}(wysihtml.dom),function(a){var b=document.documentElement;"textContent"in b?(a.setTextContent=function(a,b){a.textContent=b},a.getTextContent=function(a){return a.textContent}):"innerText"in b?(a.setTextContent=function(a,b){a.innerText=b},a.getTextContent=function(a){return a.innerText}):(a.setTextContent=function(a,b){a.nodeValue=b},a.getTextContent=function(a){return a.nodeValue})}(wysihtml.dom),wysihtml.dom.unwrap=function(a){var b=[];if(a.parentNode){for(;a.lastChild;)b.unshift(a.lastChild),wysihtml.dom.insert(a.lastChild).after(a);a.parentNode.removeChild(a)}return b},wysihtml.quirks.cleanPastedHTML=function(){var a=function(a){var b=wysihtml.lang.string(a).trim(),c=b.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");return new RegExp("^((?!^"+c+"$).)*$","i")},b=function(b,c){var d,e,f=wysihtml.lang.object(b).clone(!0);for(d in f.tags)if(f.tags.hasOwnProperty(d)&&f.tags[d].keep_styles)for(e in f.tags[d].keep_styles)f.tags[d].keep_styles.hasOwnProperty(e)&&c[e]&&(f.tags[d].keep_styles[e]=a(c[e]));return f},c=function(a,b){var c;if(!a)return null;for(var d=0,e=a.length;e>d;d++)if(a[d].condition||(c=a[d].set),a[d].condition&&a[d].condition.test(b))return a[d].set;return c};return function(a,d){var e,f={color:wysihtml.dom.getStyle("color").from(d.referenceNode),fontSize:wysihtml.dom.getStyle("font-size").from(d.referenceNode)},g=b(c(d.rules,a)||{},f);return e=wysihtml.dom.parse(a,{rules:g,cleanUp:!0,context:d.referenceNode.ownerDocument,uneditableClass:d.uneditableClass,clearInternals:!0,unjoinNbsps:!0})}}(),wysihtml.quirks.ensureProperClearing=function(){var a=function(){var a=this;setTimeout(function(){var b=a.innerHTML.toLowerCase();("

 

"==b||"

 

 

"==b)&&(a.innerHTML="")},0)};return function(b){wysihtml.dom.observe(b.element,["cut","keydown"],a)}}(),function(a){var b="%7E";a.quirks.getCorrectInnerHTML=function(c){var d=c.innerHTML;if(-1===d.indexOf(b))return d;var e,f,g,h,i=c.querySelectorAll("[href*='~'], [src*='~']");for(h=0,g=i.length;g>h;h++)e=i[h].href||i[h].src,f=a.lang.string(e).replace("~").by(b),d=a.lang.string(d).replace(f).by(e);return d}}(wysihtml),function(a){var b="wysihtml-quirks-redraw";a.quirks.redraw=function(c){a.dom.addClass(c,b),a.dom.removeClass(c,b);try{var d=c.ownerDocument;d.execCommand("italic",!1,null),d.execCommand("italic",!1,null)}catch(e){}}}(wysihtml),function(a){function b(a){var b,c;for(b in d)if(d.hasOwnProperty(b)&&(c=d[b],c.regex.test(a)))return c}function c(a){var c=b(a);return c?c.name:void 0}var d={rgba:{regex:/^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*([\d\.]+)\s*\)/i,name:"rgba"},rgb:{regex:/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/i,name:"rgb"},hex6:{regex:/^#([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])/i,name:"hex",radix:16},hex3:{regex:/^#([0-9a-f])([0-9a-f])([0-9a-f])/i,name:"hex",radix:16}},e=function(a){return new RegExp("(^|\\s|;)"+a+"\\s*:\\s*[^;$]+","gi")};a.quirks.styleParser={getColorParseMethod:b,getColorFormat:c,parseColor:function(c,f){var g,h,i,j,k,l=c;if(f){if(g=e(f),!(h=c.match(g)))return!1;h=h.pop().split(":")[1],l=a.lang.string(h).trim()}return(i=b(l))&&(j=l.match(i.regex))?(k=i.radix||10,i===d.hex3?(j.shift(),j.push(1),a.lang.array(j).map(function(a,b){return 3>b?parseInt(a,k)*k+parseInt(a,k):parseFloat(a)})):(j.shift(),j[3]||j.push(1),a.lang.array(j).map(function(a,b){return 3>b?parseInt(a,k):parseFloat(a)}))):!1},unparseColor:function(a,b){var c=16;return"hex"===b?(a[0].toString(c)+a[1].toString(c)+a[2].toString(c)).toUpperCase():"hash"===b?"#"+(a[0].toString(c)+a[1].toString(c)+a[2].toString(c)).toUpperCase():"rgb"===b?"rgb("+a[0]+","+a[1]+","+a[2]+")":"rgba"===b?"rgba("+a[0]+","+a[1]+","+a[2]+","+a[3]+")":"csv"===b?a[0]+","+a[1]+","+a[2]+","+a[3]:a[3]&&1!==a[3]?"rgba("+a[0]+","+a[1]+","+a[2]+","+a[3]+")":"rgb("+a[0]+","+a[1]+","+a[2]+")"},parseFontSize:function(b){var c=b.match(e("font-size"));return c?a.lang.string(c[c.length-1].split(":")[1]).trim():!1}}}(wysihtml),function(a){function b(a){var b=0;if(a.parentNode)do b+=a.offsetTop||0,a=a.offsetParent;while(a);return b}function c(a,b){for(var c=0;b!==a;)if(c++,b=b.parentNode,!b)throw new Error("not a descendant of ancestor!");return c}function d(a,b){return 3===a.nodeType?a:a.childNodes[b]||a}function e(b){var c=document.createElement("span"),d=function(a){b.removeEventListener("mouseup",d),b.removeEventListener("keydown",d),b.removeEventListener("touchstart",d),b.removeEventListener("focus",d),b.removeEventListener("blur",d),b.removeEventListener("paste",e),b.removeEventListener("drop",e),b.removeEventListener("beforepaste",e),c&&c.parentNode&&c.parentNode.removeChild(c)},e=function(a){c&&c.parentNode&&setTimeout(d,0)};return c.appendChild(b.ownerDocument.createTextNode(a.INVISIBLE_SPACE)),c.className="_wysihtml-temp-caret-fix",c.style.display="block",c.style.minWidth="1px",c.style.height="0px",b.addEventListener("mouseup",d),b.addEventListener("keydown",d),b.addEventListener("touchstart",d),b.addEventListener("focus",d),b.addEventListener("blur",d),b.addEventListener("paste",e),b.addEventListener("drop",e),b.addEventListener("beforepaste",e),c}function f(a){if(!a.canSurroundContents())for(var b=a.commonAncestorContainer,d=c(b,a.startContainer),e=c(b,a.endContainer);!a.canSurroundContents();)d>e?(a.setStartBefore(a.startContainer),d=c(b,a.startContainer)):(a.setEndAfter(a.endContainer),e=c(b,a.endContainer))}var g=a.dom;a.Selection=Base.extend({constructor:function(a,b,c){rangy.init(),this.editor=a,this.composer=a.composer,this.doc=this.composer.doc,this.win=this.composer.win,this.contain=b,this.unselectableClass=c||!1},getBookmark:function(){var a=this.getRange();return a&&a.cloneRange()},setBookmark:function(a){a&&this.setSelection(a)},setBefore:function(a){var b=rangy.createRange(this.doc);return b.setStartBefore(a),b.setEndBefore(a),this.setSelection(b)},createTemporaryCaretSpaceAfter:function(b){var c=this.doc.createElement("span"),d=this.doc.createTextNode(a.INVISIBLE_SPACE),e=function(b){var d;this.contain.removeEventListener("mouseup",e),this.contain.removeEventListener("keydown",g),this.contain.removeEventListener("touchstart",e),this.contain.removeEventListener("focus",e),this.contain.removeEventListener("blur",e),this.contain.removeEventListener("paste",f),this.contain.removeEventListener("drop",f),this.contain.removeEventListener("beforepaste",f),c&&c.parentNode&&(c.innerHTML=c.innerHTML.replace(a.INVISIBLE_SPACE_REG_EXP,""),/[^\s]+/.test(c.innerHTML)?(d=c.lastChild,a.dom.unwrap(c),this.setAfter(d)):c.parentNode.removeChild(c))}.bind(this),f=function(a){c&&c.parentNode&&setTimeout(e,0)},g=function(a){8===a.which||91===a.which||17===a.which||86===a.which&&(a.ctrlKey||a.metaKey)||e()};return c.className="_wysihtml-temp-caret-fix",c.style.position="absolute",c.style.display="block",c.style.minWidth="1px",c.style.zIndex="99999",c.appendChild(d),b.parentNode.insertBefore(c,b.nextSibling),this.setBefore(d),this.contain.addEventListener("mouseup",e),this.contain.addEventListener("keydown",g),this.contain.addEventListener("touchstart",e),this.contain.addEventListener("focus",e),this.contain.addEventListener("blur",e),this.contain.addEventListener("paste",f),this.contain.addEventListener("drop",f),this.contain.addEventListener("beforepaste",f),c},setAfter:function(b,c,d){var e,f=this.win,g=rangy.createRange(this.doc),h=function(){var d=b.parentNode,g=d?d.childNodes[d.childNodes.length-1]:null;if(!e||g===b&&1===b.nodeType&&"block"===f.getComputedStyle(b).display)if(c){var h=this.doc.createTextNode(a.INVISIBLE_SPACE);b.parentNode.insertBefore(h,b.nextSibling),this.selectNode(h),setTimeout(function(){h&&h.parentNode&&h.parentNode.removeChild(h)},0)}else this.createTemporaryCaretSpaceAfter(b)}.bind(this);if(g.setStartAfter(b),g.setEndAfter(b),document.activeElement&&document.activeElement===this.composer.element)e=this.setSelection(g),h(),d&&d(e);else{var i=this.composer.getScrollPos();this.composer.element.focus(),this.composer.setScrollPos(i),setTimeout(function(){e=this.setSelection(g),h(),d&&d(e)}.bind(this),0)}},selectNode:function(b,c){var d=rangy.createRange(this.doc),e=b.nodeType===a.ELEMENT_NODE,f="canHaveHTML"in b?b.canHaveHTML:"IMG"!==b.nodeName,h=e?b.innerHTML:b.data,i=""===h||h===a.INVISIBLE_SPACE,j=g.getStyle("display").from(b),k="block"===j||"list-item"===j;if(i&&e&&f&&!c)try{b.innerHTML=a.INVISIBLE_SPACE}catch(l){}f?d.selectNodeContents(b):d.selectNode(b),f&&i&&e?d.collapse(k):f&&i&&(d.setStartAfter(b),d.setEndAfter(b)),this.setSelection(d)},getSelectedNode:function(a){var b,c;return a&&this.doc.selection&&"Control"===this.doc.selection.type&&(c=this.doc.selection.createRange(),c&&c.length)?c.item(0):(b=this.getSelection(this.doc),b.focusNode===b.anchorNode?b.focusNode:(c=this.getRange(this.doc),c?c.commonAncestorContainer:this.doc.body))},fixSelBorders:function(){var a=this.getRange();f(a),this.setSelection(a)},getSelectedOwnNodes:function(a){for(var b=this.getOwnRanges(),c=[],d=0,e=b.length;e>d;d++)c.push(b[d].commonAncestorContainer||this.doc.body);return c},findNodesInSelection:function(b){for(var c,d=this.getOwnRanges(),e=[],f=0,g=d.length;g>f;f++)c=d[f].getNodes([1],function(c){return a.lang.array(b).contains(c.nodeName)}),e=e.concat(c);return e},filterElements:function(a){for(var b,c=this.getOwnRanges(),d=[],e=0,f=c.length;f>e;e++)b=c[e].getNodes([1],function(b){return a(b,c[e])}),d=d.concat(b);return d},containsUneditable:function(){for(var a=this.getOwnUneditables(),b=this.getSelection(),c=0,d=a.length;d>c;c++)if(b.containsNode(a[c]))return!0;return!1},deleteContents:function(){var a=this.getRange();this.deleteRangeContents(a),this.setSelection(a)},deleteRangeContents:function(b){var c,d,e,f;if(this.unselectableClass){(c=a.dom.getParentElement(b.startContainer,{query:"."+this.unselectableClass},!1,this.contain))&&b.setStartBefore(c),(d=a.dom.getParentElement(b.endContainer,{query:"."+this.unselectableClass},!1,this.contain))&&b.setEndAfter(d),e=b.getNodes([1],function(b){return a.dom.hasClass(b,this.unselectableClass)}.bind(this));for(var g=e.length;g--;)try{f=new CustomEvent("wysihtml:uneditable:delete"),e[g].dispatchEvent(f)}catch(h){}}b.deleteContents()},getCaretNode:function(){var a=this.getSelection();return a&&a.anchorNode?d(a.anchorNode,a.anchorOffset):null},getPreviousNode:function(b,c){var e;if(!b){var f=this.getSelection();b=f&&f.anchorNode?d(f.anchorNode,f.anchorOffset):null}if(b===this.contain)return!1;var g,h=b.previousSibling;return h===this.contain?!1:(h&&3!==h.nodeType&&1!==h.nodeType?h=this.getPreviousNode(h,c):h&&3===h.nodeType&&/^\s*$/.test(h.textContent)?h=this.getPreviousNode(h,c):c&&h&&1===h.nodeType?(e=a.dom.getStyle("display").from(h),a.lang.array(["BR","HR","IMG"]).contains(h.nodeName)||a.lang.array(["block","inline-block","flex","list-item","table"]).contains(e)||!/^[\s]*$/.test(h.innerHTML)||(h=this.getPreviousNode(h,c))):h||b===this.contain||(g=b.parentNode,g!==this.contain&&(h=this.getPreviousNode(g,c))),h!==this.contain?h:!1)},getNodesNearCaret:function(){if(!this.isCollapsed())throw"Selection must be caret when using selection.getNodesNearCaret()";var a,b,c,d,e=this.getOwnRanges();return e&&e.length>0?(1===e[0].startContainer.nodeType?(a=e[0].startContainer.childNodes[e[0].startOffset-1],a||0!==e[0].startOffset?a&&(b=a.previousSibling,c=a.nextSibling):c=e[0].startContainer.childNodes[0]):(0===e[0].startOffset&&e[0].startContainer.previousSibling?(a=e[0].startContainer.previousSibling,3===a.nodeType&&(d=a.data.length)):(a=e[0].startContainer,d=e[0].startOffset),b=a.previousSibling,c=a.nextSibling),{caretNode:a,prevNode:b,nextNode:c,textOffset:d}):null},getSelectionParentsByTag:function(b){for(var c,d=this.getSelectedOwnNodes(),e=[],f=0,g=d.length;g>f;f++)c=d[f].nodeName&&"LI"===d[f].nodeName?d[f]:a.dom.getParentElement(d[f],{query:"li"},!1,this.contain),c&&e.push(c);return e.length?e:null},getRangeToNodeEnd:function(){if(this.isCollapsed()){var a,b,c,d=this.getRange();if(d)return a=d.startContainer,b=d.startOffset,c=rangy.createRange(this.doc),c.selectNodeContents(a),c.setStart(a,b),c}},getRangeToNodeBeginning:function(){if(this.isCollapsed()){var a=this.getRange(),b=a.startContainer,c=a.startOffset,d=rangy.createRange(this.doc);return d.selectNodeContents(b),d.setEnd(b,c),d}},caretIsInTheEndOfNode:function(a){var b,c,d,e,f=(rangy.createRange(this.doc),this.getSelection(),this.getRangeToNodeEnd());return f?(b=f.cloneContents(), c=b.textContent,/^\s*$/.test(c)?a?(d=this.getRangeToNodeBeginning().cloneContents(),e=d.textContent,!/[\u00A0 ][\s\uFEFF]*$/.test(e)):!0:!1):!1},caretIsFirstInSelection:function(b){var c=rangy.createRange(this.doc),e=this.getSelection(),f=this.getRange(),g=d(f.startContainer,f.startOffset);if(g){if(g.nodeType===a.TEXT_NODE){if(!g.parentNode)return!1;if(!this.isCollapsed()||g.parentNode.firstChild!==g&&!a.dom.domNode(g.previousSibling).is.block())return!1;var h=this.win.getComputedStyle(g.parentNode).whiteSpace;return"pre"===h||"pre-wrap"===h?0===f.startOffset:/^\s*$/.test(g.data.substr(0,f.startOffset))}return b&&a.dom.domNode(g).is.lineBreak()?!0:(c.selectNodeContents(this.getRange().commonAncestorContainer),c.collapse(!0),this.isCollapsed()&&(c.startContainer===e.anchorNode||c.endContainer===e.anchorNode)&&c.startOffset===e.anchorOffset)}},caretIsInTheBeginnig:function(b){var c=this.getSelection(),d=c.anchorNode,e=c.anchorOffset;return b&&d?0===e&&(d.nodeName&&d.nodeName===b.toUpperCase()||a.dom.getParentElement(d.parentNode,{query:b},1)):d?0===e&&!this.getPreviousNode(d,!0):void 0},getBeforeSelection:function(b){var c,d,e=this.getSelection(),f=e.isBackwards()?e.focusNode:e.anchorNode,g=e.isBackwards()?e.focusOffset:e.anchorOffset,h=this.createRange();if(f&&3===f.nodeType&&/^\s*$/.test(f.data.slice(0,g))&&(g=0),d=a.dom.getParentElement(f,{query:"._wysihtml-temp-caret-fix"},1),d&&(f=d.parentNode,g=Array.prototype.indexOf.call(f.childNodes,d)),f){if(g>0)return 3===f.nodeType?(h.setStart(f,0),h.setEnd(f,g),{type:"text",range:h,offset:g,node:f}):(h.setStartBefore(f.childNodes[0]),c=f.childNodes[g-1],h.setEndAfter(c),{type:"element",range:h,offset:g,node:c});if(h.setStartAndEnd(f,0),b){var i=this.getPreviousNode(f,!0),j=null;if(i&&(j=1===i.nodeType&&a.dom.hasClass(i,this.unselectableClass)?i:a.dom.domNode(i).lastLeafNode()),j)return{type:"leafnode",range:h,offset:g,node:j}}return{type:"none",range:h,offset:g,node:f}}return null},executeAndRestoreRangy:function(a,b){var c=rangy.saveSelection(this.win);if(c)try{a()}catch(d){setTimeout(function(){throw d},0)}else a();rangy.restoreSelection(c)},executeAndRestore:function(b,c){var d,e,f,h,i,j,k,l,m=this.doc.body,n=c&&m.scrollTop,o=c&&m.scrollLeft,p="_wysihtml-temp-placeholder",q=''+a.INVISIBLE_SPACE+"",r=this.getRange(!0);if(!r)return void b(m,m);r.collapsed||(k=r.cloneRange(),j=k.createContextualFragment(q),k.collapse(!1),k.insertNode(j),k.detach()),i=r.createContextualFragment(q),r.insertNode(i),j&&(d=this.contain.querySelectorAll("."+p),r.setStartBefore(d[0]),r.setEndAfter(d[d.length-1])),this.setSelection(r);try{b(r.startContainer,r.endContainer)}catch(s){setTimeout(function(){throw s},0)}if(d=this.contain.querySelectorAll("."+p),d&&d.length){l=rangy.createRange(this.doc),f=d[0].nextSibling,d.length>1&&(h=d[d.length-1].previousSibling),h&&f?(l.setStartBefore(f),l.setEndAfter(h)):(e=this.doc.createTextNode(a.INVISIBLE_SPACE),g.insert(e).after(d[0]),l.setStartBefore(e),l.setEndAfter(e)),this.setSelection(l);for(var t=d.length;t--;)d[t].parentNode.removeChild(d[t])}else this.contain.focus();c&&(m.scrollTop=n,m.scrollLeft=o);try{d.parentNode.removeChild(d)}catch(u){}},set:function(a,b){var c=rangy.createRange(this.doc);c.setStart(a,b||0),this.setSelection(c)},insertHTML:function(a){var b,c,d=this.getRange(),e=this.doc.createElement("DIV"),f=this.doc.createDocumentFragment();if(d){for(d.deleteContents(),e.innerHTML=a,b=e.lastChild;e.firstChild;)f.appendChild(e.firstChild);for(d.insertNode(f),c=this.contain.lastChild;c&&3===c.nodeType&&c.previousSibling&&/^\s*$/.test(c.data);)c=c.previousSibling;b&&(c&&b===c&&1===b.nodeType&&this.contain.appendChild(this.doc.createElement("br")),this.setAfter(b))}},insertNode:function(a){var b=this.getRange();b&&(b.deleteContents(),b.insertNode(a))},canAppendChild:function(a){var b,c,d=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],e=this.getRange();return b=a||e.startContainer,b&&(c=(b.tagName||b.nodeName).toLowerCase()),-1===d.indexOf(c)},splitElementAtCaret:function(b,c){var d,e,f,g,h,i=this.getSelection();if(i.rangeCount>0){d=i.getRangeAt(0).cloneRange(),d.setEndAfter(b),e=d.extractContents(),h=e.childNodes;for(var j=h.length;j--;)a.dom.domNode(h[j]).is.visible()||e.removeChild(h[j]);b.parentNode.insertBefore(e,b.nextSibling),c?(f=c.firstChild||c,g=c.lastChild||c,b.parentNode.insertBefore(c,b.nextSibling),f&&g&&(d.setStartBefore(f),d.setEndAfter(g),this.setSelection(d))):(d.setStartAfter(b),d.setEndAfter(b)),a.dom.domNode(b).is.visible()||(""===a.dom.getTextContent(b)?b.parentNode.removeChild(b):b.parentNode.replaceChild(this.doc.createTextNode(" "),b))}},surround:function(a){var b,c=this.getOwnRanges(),d=[];if(0==c.length)return d;for(var e=c.length;e--;){b=this.doc.createElement(a.nodeName),d.push(b),a.className&&(b.className=a.className),a.cssStyle&&b.setAttribute("style",a.cssStyle);try{c[e].surroundContents(b),this.selectNode(b)}catch(f){b.appendChild(c[e].extractContents()),c[e].insertNode(b)}}return d},scrollIntoView:function(){var c,d=this.doc,e=5,f=d.documentElement.scrollHeight>d.documentElement.offsetHeight,g=d._wysihtmlScrollIntoViewElement=d._wysihtmlScrollIntoViewElement||function(){var b=d.createElement("span");return b.innerHTML=a.INVISIBLE_SPACE,b}();f&&(this.insertNode(g),c=b(g),g.parentNode.removeChild(g),c>=d.body.scrollTop+d.documentElement.offsetHeight-e&&(d.body.scrollTop=c))},selectLine:function(){var b=rangy.createRange();a.browser.supportsSelectionModify()?this._selectLine_W3C():b.nativeRange&&b.nativeRange.getBoundingClientRect&&this._selectLineUniversal()},includeRangyRangeHelpers:function(){var a=this.getSelection(),b=a.getRangeAt(0),c=function(a){return a&&1===a.nodeType&&a.classList.contains("rangySelectionBoundary")},d=function(a){return 1===a.nodeType?a.childNodes&&a.childNodes.length||0:a.data&&a.data.length||0},e=1===a.anchorNode.nodeType?a.anchorNode.childNodes[a.anchorOffset]:a.anchorNode,f=1===a.focusNode.nodeType?a.focusNode.childNodes[a.focusOffset]:a.focusNode;f&&a.focusOffset===d(f)&&f.nextSibling&&c(f.nextSibling)&&b.setEndAfter(f.nextSibling),e&&0===a.anchorOffset&&e.previousSibling&&c(e.previousSibling)&&b.setStartBefore(e.previousSibling),b.select()},_selectLine_W3C:function(){var a=this.win.getSelection(),b=[a.anchorNode,a.anchorOffset,a.focusNode,a.focusOffset];a.modify("move","left","lineboundary"),a.modify("extend","right","lineboundary"),a.anchorNode===b[0]&&a.anchorOffset===b[1]&&a.focusNode===b[2]&&a.focusOffset===b[3]?this._selectLineUniversal():this.includeRangyRangeHelpers()},toLineBoundary:function(b,c){if(c="undefined"==typeof c?!1:c,a.browser.supportsSelectionModify()){var d=this.win.getSelection();d.modify("extend",b,"lineboundary"),c&&("left"===b?d.collapseToStart():"right"===b&&d.collapseToEnd())}},getRangeRect:function(a){var b,c=(this.doc.createTextNode("i"),this.doc.createTextNode("i"));return a.collapsed?(a.insertNode(c),a.selectNode(c),b=a.nativeRange.getBoundingClientRect(),a.deleteContents()):b=a.nativeRange.getBoundingClientRect(),b},_selectLineUniversal:function(){var b,c,d,e,f,g,h=this.getSelection(),i=h.getRangeAt(0),j=0,k=this,l=function(b){return b&&1===b.nodeType&&("block"===k.win.getComputedStyle(b).display||a.lang.array(["BR","HR"]).contains(b.nodeName))},m=function(a){var b=a;if(b)for(;b&&(1===b.nodeType&&b.classList.contains("rangySelectionBoundary")||3===b.nodeType&&/^\s*$/.test(b.data));)b=b.previousSibling;return b};c=i.cloneRange(),d=i.cloneRange(),i.collapsed&&(3===i.startContainer.nodeType&&i.startOffset0?i.moveEnd("character",1):i.startOffset>0&&(3===i.startContainer.nodeType||1===i.startContainer.nodeType&&!l(m(i.startContainer.childNodes[i.startOffset-1])))&&i.moveStart("character",-1)),i.collapsed||i.insertNode(this.doc.createTextNode(a.INVISIBLE_SPACE)),b=i.nativeRange.getBoundingClientRect();do e=i.moveStart("character",-1),f=i.nativeRange.getBoundingClientRect(),f&&Math.floor(f.top)===Math.floor(b.top)||(i.moveStart("character",1),g=!0),j++;while(0!==e&&!g&&2e3>j);if(j=0,g=!1,b=i.nativeRange.getBoundingClientRect(),i.endContainer!==this.contain||this.contain.lastChild&&this.contain.childNodes[i.endOffset]!==this.contain.lastChild)do e=i.moveEnd("character",1),f=i.nativeRange.getBoundingClientRect(),f&&Math.floor(f.bottom)===Math.floor(b.bottom)||(i.moveEnd("character",-1),i.endContainer&&1===i.endContainer.nodeType&&i.endContainer.childNodes[i.endOffset]&&1===i.endContainer.childNodes[i.endOffset].nodeType&&"BR"===i.endContainer.childNodes[i.endOffset].nodeName&&i.endContainer.childNodes[i.endOffset].previousSibling&&(1===i.endContainer.childNodes[i.endOffset].previousSibling.nodeType?i.setEnd(i.endContainer.childNodes[i.endOffset].previousSibling,i.endContainer.childNodes[i.endOffset].previousSibling.childNodes.length):3===i.endContainer.childNodes[i.endOffset].previousSibling.nodeType&&i.setEnd(i.endContainer.childNodes[i.endOffset].previousSibling,i.endContainer.childNodes[i.endOffset].previousSibling.data.length)),g=!0),j++;while(0!==e&&!g&&2e3>j);i.select(),this.includeRangyRangeHelpers()},getText:function(){var a=this.getSelection();return a?a.toString():""},getNodes:function(a,b){var c=this.getRange();return c?c.getNodes(Array.isArray(a)?a:[a],b):[]},getOwnNodes:function(a,b,c){for(var d=this.getOwnRanges(),e=[],f=0,g=d.length;g>f;f++)d[f]&&(c&&d[f].splitBoundaries(),e=e.concat(d[f].getNodes(Array.isArray(a)?a:[a],b)));return e},fixRangeOverflow:function(a){if(this.contain&&this.contain.firstChild&&a){var b=a.compareNode(this.contain);if(2!==b)1===b&&a.setStartBefore(this.contain.firstChild),0===b&&a.setEndAfter(this.contain.lastChild),3===b&&(a.setStartBefore(this.contain.firstChild),a.setEndAfter(this.contain.lastChild));else if(this._detectInlineRangeProblems(a)){var c=a.endContainer.previousElementSibling;c&&a.setEnd(c,this._endOffsetForNode(c))}}},_endOffsetForNode:function(a){var b=document.createRange();return b.selectNodeContents(a),b.endOffset},_detectInlineRangeProblems:function(a){var b=g.compareDocumentPosition(a.startContainer,a.endContainer);return 0==a.endOffset&&4&b},getRange:function(a){var b=this.getSelection(),c=b&&b.rangeCount&&b.getRangeAt(0);return a!==!0&&this.fixRangeOverflow(c),c},getOwnUneditables:function(){var b=g.query(this.contain,"."+this.unselectableClass),c=g.query(b,"."+this.unselectableClass);return a.lang.array(b).without(c)},getOwnRanges:function(){var a,b=[],c=this.getRange();if(c&&b.push(c),this.unselectableClass&&this.contain&&c){var d,e=this.getOwnUneditables();if(e.length>0)for(var f=0,g=e.length;g>f;f++){a=[];for(var h=0,i=b.length;i>h;h++){if(b[h])switch(b[h].compareNode(e[f])){case 2:break;case 3:d=b[h].cloneRange(),d.setEndBefore(e[f]),a.push(d),d=b[h].cloneRange(),d.setStartAfter(e[f]),a.push(d);break;default:a.push(b[h])}b=a}}}return b},getSelection:function(){return rangy.getSelection(this.win)},setSelection:function(a){var b=rangy.getSelection(this.win);return b.setSingleRange(a),b&&b.anchorNode&&b.focusNode?b:null},selectAll:function(){var b,c=this.createRange(),d=this.composer,f=this,g=e(this.composer.element),h=e(this.composer.element),i=function(){c.setStart(d.element,0),c.setEnd(d.element,d.element.childNodes.length),b=f.setSelection(c)},j=function(){return!b||b.nativeSelection&&b.nativeSelection.type&&("Caret"===b.nativeSelection.type||"None"===b.nativeSelection.type)};a.dom.removeInvisibleSpaces(this.composer.element),i(),this.composer.element.firstChild&&j()&&(this.composer.element.appendChild(g),i(),j()&&(g.parentNode.removeChild(g),this.composer.element.insertBefore(h,this.composer.element.firstChild),i(),j()&&(this.composer.element.appendChild(g),i())))},createRange:function(){return rangy.createRange(this.doc)},isCollapsed:function(){return this.getSelection().isCollapsed},getHtml:function(){return this.getSelection().toHtml()},getPlainText:function(){return this.getSelection().toString()},isEndToEndInNode:function(b){var c=this.getRange(),d=c.commonAncestorContainer,e=c.startContainer,f=c.endContainer;if(d.nodeType===a.TEXT_NODE&&(d=d.parentNode),e.nodeType===a.TEXT_NODE&&!/^\s*$/.test(e.data.substr(c.startOffset)))return!1;if(f.nodeType===a.TEXT_NODE&&!/^\s*$/.test(f.data.substr(c.endOffset)))return!1;for(;e&&e!==d;){if(e.nodeType!==a.TEXT_NODE&&!a.dom.contains(d,e))return!1;if(a.dom.domNode(e).prev({ignoreBlankTexts:!0}))return!1;e=e.parentNode}for(;f&&f!==d;){if(f.nodeType!==a.TEXT_NODE&&!a.dom.contains(d,f))return!1;if(a.dom.domNode(f).next({ignoreBlankTexts:!0}))return!1;f=f.parentNode}return a.lang.array(b).contains(d.nodeName)?d:!1},isInThisEditable:function(){var b=this.getSelection(),c=b.focusNode,d=b.anchorNode;return c&&1!==c.nodeType&&(c=c.parentNode),d&&1!==d.nodeType&&(d=d.parentNode),d&&c&&(a.dom.contains(this.composer.element,c)||this.composer.element===c)&&(a.dom.contains(this.composer.element,d)||this.composer.element===d)},deselect:function(){var a=this.getSelection();a&&a.removeAllRanges()}})}(wysihtml),wysihtml.Commands=Base.extend({constructor:function(a){this.editor=a,this.composer=a.composer,this.doc=this.composer.doc},support:function(a){return wysihtml.browser.supportsCommand(this.doc,a)},exec:function(a,b){var c=wysihtml.commands[a],d=wysihtml.lang.array(arguments).get(),e=c&&c.exec,f=null;if(this.composer.hasPlaceholderSet()&&!wysihtml.lang.array(["styleWithCSS","enableObjectResizing","enableInlineTableEditing"]).contains(a)&&(this.composer.element.innerHTML="",this.composer.selection.selectNode(this.composer.element)),this.editor.fire("beforecommand:composer"),e)d.unshift(this.composer),f=e.apply(c,d);else try{f=this.doc.execCommand(a,!1,b)}catch(g){}return this.editor.fire("aftercommand:composer"),f},remove:function(a,b){var c=wysihtml.commands[a],d=wysihtml.lang.array(arguments).get(),e=c&&c.remove;return e?(d.unshift(this.composer),e.apply(c,d)):void 0},state:function(a,b){var c=wysihtml.commands[a],d=wysihtml.lang.array(arguments).get(),e=c&&c.state;if(e)return d.unshift(this.composer),e.apply(c,d);try{return this.doc.queryCommandState(a)}catch(f){return!1}},stateValue:function(a){var b=wysihtml.commands[a],c=wysihtml.lang.array(arguments).get(),d=b&&b.stateValue;return d?(c.unshift(this.composer),d.apply(b,c)):!1}}),function(a){function b(b){var d="object"==typeof b?b:{href:b};return a.lang.object({}).merge(c).merge({attribute:d}).get()}var c={nodeName:"A",toggle:!1};a.commands.createLink={exec:function(c,d,e){var f=b(e);if(c.selection.isCollapsed()&&!this.state(c,d)){var g=c.doc.createTextNode(f.attribute.href);c.selection.insertNode(g),c.selection.selectNode(g)}a.commands.formatInline.exec(c,d,f)},state:function(b,d){return a.commands.formatInline.state(b,d,c)}}}(wysihtml),function(a){function b(a){return{nodeName:a.nodeName||null,className:a.classRegExp?null:a.className||null,classRegExp:a.classRegExp||null,styleProperty:a.styleProperty||null}}function c(a,b){return 3===a.nodeType?a:a.childNodes[b]||a}function d(a){return a&&1===a.nodeType&&"BR"===a.nodeName}function e(a,b){return a&&1===a.nodeType&&"block"===b.win.getComputedStyle(a).display}function f(a){return a&&1===a.nodeType&&a.classList.contains("rangySelectionBoundary")}function g(a,b){return d(a)||e(a,b)}function h(b,c){a.dom.removeInvisibleSpaces(b.element);for(var d,e=b.element,f=e.querySelectorAll(E),g=b.config.classNames.uneditableContainer+[""].concat(E.split(",")).join(", "+b.config.classNames.uneditableContainer+" "),h=e.querySelectorAll(g),i=a.lang.array(f).without(h),j=i.length;j--;)""!==i[j].innerHTML.replace(/[\uFEFF]/g,"")||0!==c.length&&i[j]===c[c.length-1]||(d=a.lang.array(c).indexOf(i[j]),d>-1&&c.splice(d,1),i[j].parentNode.removeChild(i[j]));return c}function i(a){return a.config.useLineBreaks?"DIV":"P"}function j(a,b,c){for(var d=a,e=null;d&&b&&d!==b;)1===d.nodeType&&d.matches(c?E:D)&&(e=d),d=d.parentNode;return e}function k(a,b){for(var c,d,e,f=a,g=null;f&&b&&f!==b;)1===f.nodeType&&f.matches(F)&&(d=f,null===g?(g=f.cloneNode(!1),c=g):(e=f.cloneNode(!1),e.appendChild(g),g=e)),f=f.parentNode;return{parent:d,outerNode:g,innerNode:c}}function l(b,c,d){return b||(b=d.doc.createElement(c.nodeName||i(d)),b.appendChild(d.doc.createTextNode(a.INVISIBLE_SPACE))),c.nodeName&&b.nodeName!==c.nodeName&&(b=C.renameElement(b,c.nodeName)),c.classRegExp&&(b.className=b.className.replace(c.classRegExp,"")),c.className&&b.classList.add(c.className),c.styleProperty&&"undefined"!=typeof c.styleValue&&(b.style[a.browser.fixStyleKey(c.styleProperty)]=c.styleValue),b}function m(b,c,d){var e,f=b.previousSibling,g=b.nextSibling,h=!1;c.styleProperty&&(b.style[a.browser.fixStyleKey(c.styleProperty)]=""),c.className&&b.classList.remove(c.className),c.classRegExp&&(b.className=b.className.replace(c.classRegExp,"")),null!==b.getAttribute("class")&&""===b.getAttribute("class").trim()&&b.removeAttribute("class"),c.nodeName&&b.nodeName.toLowerCase()===c.nodeName.toLowerCase()&&(e=b.getAttribute("style"),e&&""!==e.trim()?b=C.renameElement(b,i(d)):(C.unwrap(b),h=!0)),null!==b.getAttribute("style")&&""===b.getAttribute("style").trim()&&b.removeAttribute("style"),h&&u(f,g,d)}function n(b){for(var c,d,e=b.querySelectorAll(E)||[],f=e.length;f--;)c=a.dom.domNode(e[f]).next({nodeTypes:[1,3],ignoreBlankTexts:!0}),d=a.dom.domNode(e[f]).prev({nodeTypes:[1,3],ignoreBlankTexts:!0}),c&&1!==c.nodeType&&"BR"!==c.nodeName&&""!==(e[f].innerHTML||e[f].nodeValue||"").trim()&&e[f].parentNode.insertBefore(e[f].ownerDocument.createElement("BR"),c),c&&1!==c.nodeType&&"BR"!==c.nodeName&&""!==(e[f].innerHTML||e[f].nodeValue||"").trim()&&e[f].parentNode.insertBefore(e[f].ownerDocument.createElement("BR"),c),a.dom.unwrap(e[f])}function o(a,b){var c,d=a.startContainer,e=a.endContainer;return d&&1===d.nodeType&&d===e?void(d.firstChild===d.lastChild&&1===a.endOffset&&d!==b.element&&"LI"!==d.nodeName&&"TD"!==d.nodeName&&(a.setStartBefore(d),a.setEndAfter(e))):d&&1===d.nodeType&&3===e.nodeType?void(d.firstChild===e&&a.endOffset===e.data.length&&d!==b.element&&"LI"!==d.nodeName&&"TD"!==d.nodeName&&a.setEndAfter(d)):e&&1===e.nodeType&&3===d.nodeType?void(e.firstChild===d&&0===a.startOffset&&e!==b.element&&"LI"!==e.nodeName&&"TD"!==e.nodeName&&a.setStartBefore(e)):d&&3===d.nodeType&&d===e&&1===d.parentNode.childNodes.length?void(a.endOffset==e.data.length&&0===a.startOffset&&(c=d.parentNode,c!==b.element&&"LI"!==c.nodeName&&"TD"!==c.nodeName&&(a.setStartBefore(c),a.setEndAfter(c)))):void 0}function p(b){for(var c,d,e,f,g,h,i=[],j=0,k=b.length;k>j;j++)if(1===b[j].startContainer.nodeType&&b[j].startContainer.matches("ul, ol")&&b[j].setStart(b[j].startContainer.childNodes[b[j].startOffset],0),1===b[j].endContainer.nodeType&&b[j].endContainer.matches("ul, ol")&&(h=b[j].endContainer.childNodes[Math.max(b[j].endOffset-1,0)],h.childNodes&&b[j].setEnd(h,h.childNodes.length)),c=b[j].getNodes([1],function(a){return"LI"===a.nodeName}),c.length>0){for(d=0,e=c.length;e>d;d++)g=b[j].compareNode(c[d]),(g===b[j].NODE_AFTER||g===b[j].NODE_INSIDE)&&(f=b[j].cloneRange(),h=a.dom.domNode(c[d]).prev({nodeTypes:[1]}),h?f.setEnd(h,h.childNodes.length):c[d].closest("ul, ol")?f.setEndBefore(c[d].closest("ul, ol")):f.setEndBefore(c[d]),i.push(f),b[j].setStart(c[d],0)),(g===b[j].NODE_BEFORE||g===b[j].NODE_INSIDE)&&(f=b[j].cloneRange(),f.setEnd(c[d],c[d].childNodes.length),i.push(f),h=a.dom.domNode(c[d]).next({nodeTypes:[1]}),h?b[j].setStart(h,0):c[d].closest("ul, ol")?b[j].setStartAfter(c[d].closest("ul, ol")):b[j].setStartAfter(c[d]));i.push(b[j])}else i.push(b[j]);return i}function q(b,c,d){var e=b?a.lang.object(b).clone(!0):null;return e&&(e.nodeName=e.nodeName||c||i(d)),e}function r(b,c,d,e){var f,h,i,l,m,n=c.startContainer,e=e||j(n,d.element,!0);if(e)h=b.firstChild,i=b.lastChild,d.selection.splitElementAtCaret(e,b),m=a.dom.domNode(i).next({nodeTypes:[1,3],ignoreBlankTexts:!0}),l=a.dom.domNode(h).prev({nodeTypes:[1,3],ignoreBlankTexts:!0}),h&&!g(h,d)&&l&&!g(l,d)&&h.parentNode.insertBefore(d.doc.createElement("br"),h),i&&!g(i,d)&&m&&!g(m,d)&&m.parentNode.insertBefore(d.doc.createElement("br"),m);else if(f=k(n,d.element),f.outerNode&&f.innerNode&&f.parent){if(1===b.childNodes.length){for(;b.firstChild.firstChild;)f.innerNode.appendChild(b.firstChild.firstChild);b.firstChild.appendChild(f.outerNode)}d.selection.splitElementAtCaret(f.parent,b)}else{var o=b.firstChild,p=b.lastChild;c.insertNode(b),c.setStartBefore(o),c.setEndAfter(p)}}function s(b,d,e){for(var f,h,i=b.cloneRange(),j=c(i.startContainer,i.startOffset).previousSibling,k=c(i.endContainer,i.endOffset).nextSibling,l=i.extractContents(),m=e.doc.createDocumentFragment(),o=!0;l.firstChild;){if(1===l.firstChild.nodeType&&l.firstChild.matches(E)){n(l.firstChild),f=a.dom.unwrap(l.firstChild),f.length>0&&(m.lastChild&&(1!==m.lastChild.nodeType||!g(m.lastChild,e))||!m.lastChild&&j&&(1!==j.nodeType||g(j,e)))&&m.appendChild(e.doc.createElement("BR"));for(var p=0,q=f.length;q>p;p++)m.appendChild(f[p]);f.length>0&&(1===m.lastChild.nodeType&&g(m.lastChild,e)||(k||m.lastChild!==l.lastChild)&&m.appendChild(e.doc.createElement("BR")))}else m.appendChild(l.firstChild);o=!1}return h=a.lang.array(m.childNodes).get(),r(m,i,e),h}function t(b,c,e){var f=b&&a.dom.domNode(b).prev({nodeTypes:[1,3],ignoreBlankTexts:!0});d(c)&&c.parentNode.removeChild(c),!d(b)||f&&1===f.nodeType&&"block"===e.win.getComputedStyle(f).display||b.parentNode.removeChild(b)}function u(a,b,c){var e;a&&f(a)&&(a=a.previousSibling),b&&f(b)&&(b=b.nextSibling),e=a&&a.previousSibling,a&&(1!==a.nodeType||"block"!==c.win.getComputedStyle(a).display&&!d(a))&&a.parentNode&&a.parentNode.insertBefore(c.doc.createElement("br"),a.nextSibling),b&&(1!==b.nodeType||"block"!==c.win.getComputedStyle(b).display)&&b.parentNode&&b.parentNode.insertBefore(c.doc.createElement("br"),b)}function v(d,e,f,g){var h,i,k=e?b(e):null,m=d.cloneRange(),o=m.startContainer,p=c(m.startContainer,m.startOffset),s=c(m.endContainer,m.endOffset),u=m.startContainer!==p||3!==p.nodeType||G(p,m.startOffset)?a.dom.domNode(p).prev({nodeTypes:[1,3],ignoreBlankTexts:!0}):p,v=1===m.endContainer.nodeType&&m.endContainer.childNodes[m.endOffset]===s&&(1===s.nodeType||!H(s,m.endOffset)&&!a.dom.domNode(s).is.rangyBookmark())||m.endContainer===s&&3===s.nodeType&&!H(s,m.endOffset)?s:a.dom.domNode(s).next({nodeTypes:[1,3],ignoreBlankTexts:!0}),w=m.extractContents(),x=g.doc.createDocumentFragment(),y=k?a.dom.getParentElement(o,k,null,g.element):null,z=!f||!e||"BLOCKQUOTE"===e.nodeName&&"BLOCKQUOTE"===f,A=y||j(o,g.element,z);if(a.dom.domNode(v).is.rangyBookmark()&&(s=v,v=s.nextSibling),I(w),e&&"BLOCKQUOTE"===e.nodeName){var B=l(null,e,g);B.appendChild(w),x.appendChild(B),i=[B]}else{if(w.firstChild)for(;w.firstChild;)if(1==w.firstChild.nodeType&&w.firstChild.matches(E))l(w.firstChild,e,g),w.firstChild.matches(D)&&n(w.firstChild),x.appendChild(w.firstChild);else{for(h=l(null,q(e,f,g),g);w.firstChild&&(1!==w.firstChild.nodeType||!w.firstChild.matches(E));)1==w.firstChild.nodeType&&h.matches(D)&&n(w.firstChild),h.appendChild(w.firstChild);x.appendChild(h)}else x.appendChild(l(null,e,g));i=a.lang.array(x.childNodes).get()}return r(x,m,g,A),t(u,v,g),i.length>0&&("undefined"==typeof i[i.length-1].lastChild||a.dom.domNode(i[i.length-1].lastChild).is.rangyBookmark())&&i[i.length-1].appendChild(g.doc.createElement("br")),i}function w(b,c){var d=a.dom.getParentElement(b,{query:E},null,c.element);return d?d.nodeName:null}function x(b,c){var d,e=a.dom.getParentElement(b.selection.getOwnRanges()[0].startContainer,{query:D+", "+(c?c.toLowerCase():"div")},null,b.element);e?(d=b.selection.createRange(),d.selectNode(e),b.selection.setSelection(d)):b.isEmpty()||b.selection.selectLine()}function y(a,b){var c=b.selection.createRange(),d=a[a.length-1],e=1===d.nodeType&&d.childNodes?0|d.childNodes.length:d.length||0;c.setStart(a[0],0),c.setEnd(d,e),c.select()}function z(a,b,c){var d,e=b.selection.getOwnRanges(),f=[];e=p(e);for(var g=e.length;g--;)o(e[g],b),d=w(e[g].startContainer,b),f="remove"===a?f.concat(s(e[g],d,b)):f.concat(v(e[g],c,d,b));return f}function A(a){return"string"==typeof a&&(a={nodeName:a.toUpperCase()}),a}function B(b){var c;return b.selection.isCollapsed()&&(c=b.selection.getNodesNearCaret(),c&&c.caretNode&&(a.dom.domNode(c.caretNode).is.lineBreak()||3===c.caretNode.nodeType&&0===c.textOffset&&(!c.prevNode||a.dom.domNode(c.prevNode).is.lineBreak())||1===c.caretNode.nodeType&&c.caretNode.classList.contains("rangySelectionBoundary")&&(!c.prevNode||a.dom.domNode(c.prevNode).is.lineBreak()||a.dom.domNode(c.prevNode).is.block())&&(!c.nextNode||a.dom.domNode(c.nextNode).is.lineBreak()||a.dom.domNode(c.nextNode).is.block())))?!0:!1}var C=a.dom,D="h1, h2, h3, h4, h5, h6, p, pre",E="h1, h2, h3, h4, h5, h6, p, pre, div, blockquote",F="b, big, i, small, tt, abbr, acronym, cite, code, dfn, em, kbd, strong, samp, var, a, bdo, br, q, span, sub, sup, button, label, textarea, input, select, u",G=function(a,b){var c=a.data?a.data.slice(0,b):"";return/^\s*$/.test(c)},H=function(a,b){var c=a.data?a.data.slice(b):"";return/^\s*$/.test(c)},I=function(a){if(a){for(;a.firstChild&&3===a.firstChild.nodeType&&/^\s*$/.test(a.firstChild.data)&&a.lastChild!==a.firstChild;)a.removeChild(a.firstChild);for(;a.lastChild&&3===a.lastChild.nodeType&&/^\s*$/.test(a.lastChild.data)&&a.lastChild!==a.firstChild;)a.removeChild(a.lastChild);a.firstChild&&1===a.firstChild.nodeType&&"BR"===a.firstChild.nodeName&&a.lastChild!==a.firstChild&&a.removeChild(a.firstChild),a.lastChild&&1===a.lastChild.nodeType&&"BR"===a.lastChild.nodeName&&a.lastChild!==a.firstChild&&a.removeChild(a.lastChild)}};a.commands.formatBlock={exec:function(a,b,c){c=A(c);var d,e,f=[];if(c&&c.toggle&&(e=this.state(a,b,c)),e){d=rangy.saveSelection(a.win);for(var g=0,i=e.length;i>g;g++)m(e[g],c,a)}else a.selection.isCollapsed()&&(d=rangy.saveSelection(a.win),B(a)?a.selection.selectLine():x(a,c&&c.nodeName?c.nodeName.toUpperCase():void 0)),f=c?z("apply",a,c):z("remove",a);f=h(a,f),d?rangy.restoreSelection(d):y(f,a)},remove:function(a,b,c){c=A(c);var d,e;a.selection.isCollapsed()&&(e=rangy.saveSelection(a.win),x(a,c&&c.nodeName?c.nodeName.toUpperCase():void 0)),d=z("remove",a),d=h(a,d),e?rangy.restoreSelection(e):y(d,a)},state:function(b,c,d){d=A(d);for(var e,f=b.selection.filterElements(function(b){return a.dom.domNode(b).test(d||{query:E})}.bind(this)),g=b.selection.getSelectedOwnNodes(),h=0,i=g.length;i>h;h++)e=C.getParentElement(g[h],d||{query:E},null,b.element),e&&-1===f.indexOf(e)&&f.push(e);return 0===f.length?!1:f}}}(wysihtml),function(a){function b(a){return/^\s*$/.test(a.className)}function c(a){return!a.getAttribute("style")||/^\s*$/.test(a.getAttribute("style"))}function d(b){var c=a.dom.getAttributes(b);return a.lang.object(c).isEmpty()}function e(b,c){var d,e,f,g;return 1!==b.nodeType||1!==c.nodeType?!1:b.nodeName!==c.nodeName?!1:(d=b.className.trim().replace(/\s+/g," ").split(" "),e=c.className.trim().replace(/\s+/g," ").split(" "),a.lang.array(d).without(e).length>0?!1:(f=a.dom.getAttributes(b),g=a.dom.getAttributes(c),f.length===g.length&&a.lang.object(a.lang.object(f).difference(g)).isEmpty()?!0:!1))}function f(b,c){var d=c&&c.nodeName||F,e=b.ownerDocument.createElement(d);if(c.classRegExp&&(e.className=e.className.replace(c.classRegExp,"")),c.className&&e.classList.add(c.className),c.styleProperty&&"undefined"!=typeof c.styleValue&&(e.style[a.browser.fixStyleKey(c.styleProperty)]=c.styleValue),c.attribute)if("object"==typeof c.attribute)for(var f in c.attribute)c.attribute.hasOwnProperty(f)&&e.setAttribute(f,c.attribute[f]);else"undefined"!=typeof c.attributeValue&&e.setAttribute(c.attribute,c.attributeValue);return e}function g(a,b){for(var c in a)if(a.hasOwnProperty(c)&&(void 0===typeof b[c]||b[c]!==a[c]))return!1;return!0}function h(b,c,d){var e,f=a.dom.getAttributes(b),h=g(c,f);a.lang.object(f).difference(c);if(h&&d!==!1)for(e in c)c.hasOwnProperty(e)&&b.removeAttribute(e);else for(e in c)c.hasOwnProperty(e)&&b.setAttribute(e,c[e])}function i(e,f){var g,i,j;f.className&&(f.toggle!==!1&&e.classList.contains(f.className)?e.classList.remove(f.className):(f.classRegExp&&(e.className=e.className.replace(f.classRegExp,"")),e.classList.add(f.className)),b(e)&&e.removeAttribute("class")),f.styleProperty&&(f.toggle!==!1&&e.style[a.browser.fixStyleKey(f.styleProperty)].trim().replace(/, /g,",")===f.styleValue?e.style[a.browser.fixStyleKey(f.styleProperty)]="":e.style[a.browser.fixStyleKey(f.styleProperty)]=f.styleValue),c(e)&&e.removeAttribute("style"),f.attribute&&("object"==typeof f.attribute?g=f.attribute:(g={},g[f.attribute]=f.attributeValue||""),h(e,g,f.toggle)),i=f.nodeName?H[f.nodeName.toLowerCase()]||f.nodeName.toLowerCase():null,j=i?a.dom.domNode(e).test({query:i}):!1,(!f.nodeName||f.nodeName===F||j)&&(f.toggle!==!1&&j||!f.nodeName&&e.nodeName===F)&&b(e)&&c(e)&&d(e)&&a.dom.unwrap(e)}function j(b,c){var d=[];return b.isCollapsed()||(d=d.concat(b.getOwnNodes([3],function(b){return!a.dom.domNode(b).is.emptyTextNode()},c))),d}function k(a,b,c,d){var e=a,f=d?b:l(b);do{if(1===e.nodeType&&m(e,f))return e;e=e.parentNode}while(e&&e!==c);return null}function l(a){return{nodeName:a.nodeName||null,className:a.classRegExp?null:a.className||null,classRegExp:a.classRegExp||null,styleProperty:a.styleProperty||null}}function m(b,c){var d;if(c.nodeName){var e=H[c.nodeName.toLowerCase()]||c.nodeName.toLowerCase();return a.dom.domNode(b).test({query:e})}return d=a.lang.object(c).clone(),d.query=G,a.dom.domNode(b).test(d)}function n(b,c){var d=document.documentElement||document.body,e=d.scrollTop,f=d.scrollLeft;rangy.getSelection(b.win);rangy.getSelection(b.win).removeAllRanges();try{rangy.getSelection(b.win).addRange(c)}catch(g){}b.doc.activeElement&&a.dom.contains(b.element,b.doc.activeElement)||(b.element.focus(),d.scrollTop=e,d.scrollLeft=f,rangy.getSelection(b.win).addRange(c))}function o(a,b){var c=rangy.createRange(b.doc),d=a[a.length-1];a[0]&&d&&(c.setStart(a[0],0),c.setEnd(d,d.length),n(b,c))}function p(a,b,c,d){var e=rangy.createRange(a.doc);b&&(e.setStart(b,c),e.setEnd(b,"undefined"!=typeof d?d:c),n(a,e))}function q(a,b,c){var d,e,f,g=j(a.selection),h=[],i=!1;if(a.selection.isInThisEditable()){if(0===g.length&&a.selection.isCollapsed()){if(f=a.selection.getSelection().anchorNode,!f)return{nodes:[],partial:!1};3===f.nodeType&&(g=[f])}g.length||(e=a.selection.getOwnRanges()[0],e&&(g=[e.endContainer]));for(var l=0,m=g.length;m>l;l++)d=k(g[l],b,a.element,c),d?h.push(d):i=!0}return{nodes:h,partial:i}}function r(a){var b,c,d,e;return a&&(b=a.anchorNode,c=a.anchorOffset,b&&3===b.nodeType&&c>0&&c0&&/\w/.test(c.data[g-1]);)g--;for(;h0&&o(b,a),u(q(a,c).nodes),b.length>0&&o(b,a)}function w(a,b,c,d){p(a,b,c),u(q(a,d).nodes),p(a,b,c)}function x(a,b){var c=f(a,b);a.parentNode.insertBefore(c,a),c.appendChild(a)}function y(b,c,d){var e,f=c.element,g=k(b,d,f);g&&(e=g.cloneNode(!1),a.dom.domNode(b).escapeParent(g,e),i(e,d))}function z(b,c,d){var e=c.element,f=k(b,d,e);f&&a.dom.domNode(b).escapeParent(f)}function A(a,b,c){var d=f(a.endContainer,c);a.surroundContents(d),b.selection.selectNode(d); }function B(b,c,d,e){var f,g,h,j,l=q(b,e,!0),m=b.selection.getSelection();if(c.length){if(l.partial||e.toggle===!1)for(j=c.length;j--;)k(c[j],e,b.element)&&y(c[j],b,e),k(c[j],e,b.element)||x(c[j],e);else for(j=c.length;j--;)y(c[j],b,e);v(b,c,e)}else if(e.toggle!==!1)if(r(m))f=s(m),g=f.textNode,y(f.textNode,b,e),w(b,f.textNode,f.wordOffset,e);else{g=b.doc.createTextNode(a.INVISIBLE_SPACE),h=d.nodes[0].cloneNode(!1),h.appendChild(g),b.selection.splitElementAtCaret(d.nodes[0],h),i(h,e),v(b,[g],e);var n=b.selection.getSelection();if(n.anchorNode&&n.focusNode)try{n.collapseToEnd()}catch(o){}}else for(j=d.nodes.length;j--;)i(d.nodes[j],e)}function C(b,c,d,e){var f,g,h,i=b.selection.getSelection();if(c.length){for(h=c.length;h--;)z(c[h],b,e);v(b,c,e)}else{for(f=i.anchorNode,g=i.anchorOffset,h=d.nodes.length;h--;)a.dom.unwrap(d.nodes[h]);w(b,f,g,e)}}function D(a,b,c){var d,e,f=a.selection.getSelection();if(b.length){for(e=b.length;e--;)x(b[e],c);v(a,b,c)}else if(r(f))d=s(f),x(d.textNode,c),w(a,d.textNode,d.wordOffset,c);else{var g=a.selection.getOwnRanges()[0];g&&A(g,a,c)}}function E(a){return a="string"==typeof a?{nodeName:a}:a,a.nodeName&&(a.nodeName=a.nodeName.toUpperCase()),a}var F="SPAN",G="b, big, i, small, tt, abbr, acronym, cite, code, dfn, em, kbd, strong, samp, var, a, bdo, br, q, span, sub, sup, button, label, textarea, input, select, u",H={b:"b, strong",strong:"b, strong",em:"em, i",i:"em, i"};a.commands.formatInline={exec:function(a,b,c){c=E(c),a.element.normalize();var d=j(a.selection,!0),e=q(a,c);e.nodes.length>0?B(a,d,e,c):D(a,d,c),a.element.normalize()},remove:function(a,b,c){c=E(c),a.element.normalize();var d=j(a.selection,!0),e=q(a,c);e.nodes.length>0&&C(a,d,e,c),a.element.normalize()},state:function(a,b,c){c=E(c);var d=q(a,c,!0).nodes;return 0===d.length?!1:d}}}(wysihtml),function(a){a.commands.indentList={exec:function(a,b,c){var d=a.selection.getSelectionParentsByTag("LI");return d?this.tryToPushLiLevel(d,a.selection):!1},state:function(a,b){return!1},tryToPushLiLevel:function(b,c){var d,e,f,g,h,i=!1;return c.executeAndRestoreRangy(function(){for(var c=b.length;c--;)g=b[c],d="OL"===g.parentNode.nodeName?"OL":"UL",e=g.ownerDocument.createElement(d),f=a.dom.domNode(g).prev({nodeTypes:[a.ELEMENT_NODE]}),h=f?f.querySelector("ul, ol"):null,f&&(h?h.appendChild(g):(e.appendChild(g),f.appendChild(e)),i=!0)}),i}}}(wysihtml),function(a){a.commands.insertHTML={exec:function(a,b,c){a.selection.insertHTML(c)},state:function(){return!1}}}(wysihtml),function(a){var b="
"+(a.browser.needsSpaceAfterLineBreak()?" ":"");a.commands.insertLineBreak={exec:function(a,c){a.selection.insertHTML(b)},state:function(){return!1}}}(wysihtml),wysihtml.commands.insertList=function(a){var b=function(a,b){if(a&&a.nodeName){"string"==typeof b&&(b=[b]);for(var c=b.length;c--;)if(a.nodeName===b[c])return!0}return!1},c=function(c,d,e){var f={el:null,other:!1};if(c){var g=a.dom.getParentElement(c,{query:"li"},!1,e.element),h="UL"===d?"OL":"UL";b(c,d)?f.el=c:b(c,h)?f={el:c,other:!0}:g&&(b(g.parentNode,d)?f.el=g.parentNode:b(g.parentNode,h)&&(f={el:g.parentNode,other:!0}))}return f.el&&!e.element.contains(f.el)&&(f.el=null),f},d=function(b,c,d){var e,g,h="UL"===c?"OL":"UL";d.selection.executeAndRestoreRangy(function(){if(e=f(h,d),e.length)for(var i=e.length;i--;)a.dom.renameElement(e[i],c.toLowerCase());else{g=f(["OL","UL"],d);for(var j=g.length;j--;)a.dom.resolveList(g[j],d.config.useLineBreaks);0===g.length&&a.dom.resolveList(b,d.config.useLineBreaks)}})},e=function(b,c,d){var e="UL"===c?"OL":"UL";d.selection.executeAndRestoreRangy(function(){for(var g=[b].concat(f(e,d)),h=g.length;h--;)a.dom.renameElement(g[h],c.toLowerCase())})},f=function(a,c){for(var d=c.selection.getOwnRanges(),e=[],f=d.length;f--;)e=e.concat(d[f].getNodes([1],function(c){return b(c,a)}));return e},g=function(b,c){var d,e,f=rangy.saveSelection(c.win),g="_wysihtml-temp-"+(new Date).getTime();c.commands.exec("formatBlock",{nodeName:"div",className:g});var h=c.element.querySelector("."+g);h.innerHTML=h.innerHTML.replace(a.INVISIBLE_SPACE_REG_EXP,""),h&&(d=/^(\s|(
))+$/i.test(h.innerHTML),e=a.dom.convertToList(h,b.toLowerCase(),c.parent.config.classNames.uneditableContainer),f&&rangy.restoreSelection(f),d&&c.selection.selectNode(e.querySelector("li"),!0))};return{exec:function(b,f,h){var i,j,k=b.doc,l="OL"===h?"insertOrderedList":"insertUnorderedList",m=b.selection.getSelection(),n=1===m.anchorNode.nodeType&&m.anchorNode.firstChild?m.anchorNode.childNodes[m.anchorOffset]:m.anchorNode,o=1===m.focusNode.nodeType&&m.focusNode.firstChild?m.focusNode.childNodes[m.focusOffset]||m.focusNode.lastChild:m.focusNode;m.isBackwards()&&(n=[o,o=n][0]),a.dom.domNode(o).is.emptyTextNode(!0)&&o&&(o=a.dom.domNode(o).prev({nodeTypes:[1,3],ignoreBlankTexts:!0})),a.dom.domNode(n).is.emptyTextNode(!0)&&n&&(n=a.dom.domNode(n).next({nodeTypes:[1,3],ignoreBlankTexts:!0})),i=n&&o?n===o?n:a.dom.domNode(n).commonAncestor(o,b.element):b.selection.getSelectedNode(),j=c(i,h,b),j.el?j.other?e(j.el,h,b):d(j.el,h,b):b.commands.support(l)?k.execCommand(l,!1,null):g(h,b)},state:function(a,b,d){var e=a.selection.getSelectedNode(),f=c(e,d,a);return f.el&&!f.other?f.el:!1}}}(wysihtml),function(a){a.commands.outdentList={exec:function(a,b,c){var d=a.selection.getSelectionParentsByTag("LI");return d?this.tryToPullLiLevel(d,a):!1},state:function(a,b){return!1},tryToPullLiLevel:function(b,c){var d,e,f,g,h,i=!1,j=this;return c.selection.executeAndRestoreRangy(function(){for(var k=b.length;k--;)if(g=b[k],g.parentNode&&(d=g.parentNode,"OL"===d.tagName||"UL"===d.tagName)){if(i=!0,e=a.dom.getParentElement(d.parentNode,{query:"ol, ul"},!1,c.element),f=a.dom.getParentElement(d.parentNode,{query:"li"},!1,c.element),e&&f)g.nextSibling&&(h=j.getAfterList(d,g),g.appendChild(h)),e.insertBefore(g,f.nextSibling);else{g.nextSibling&&(h=j.getAfterList(d,g),g.appendChild(h));for(var l=g.childNodes.length;l--;)d.parentNode.insertBefore(g.childNodes[l],d.nextSibling);d.parentNode.insertBefore(document.createElement("br"),d.nextSibling),g.parentNode.removeChild(g)}0===d.childNodes.length&&d.parentNode.removeChild(d)}}),i},getAfterList:function(a,b){for(var c=a.nodeName,d=document.createElement(c);b.nextSibling;)d.appendChild(b.nextSibling);return d}}}(wysihtml),function(a){a.commands.redo={exec:function(a){return a.undoManager.redo()},state:function(a){return!1}}}(wysihtml),function(a){var b={nodeName:"A"};a.commands.removeLink={exec:function(c,d){a.commands.formatInline.remove(c,d,b)},state:function(c,d){return a.commands.formatInline.state(c,d,b)}}}(wysihtml),function(a){a.commands.undo={exec:function(a){return a.undoManager.undo()},state:function(a){return!1}}}(wysihtml),function(a){var b=90,c=89,d=8,e=46,f=25,g="data-wysihtml-selection-node",h="data-wysihtml-selection-offset",i=(''+a.INVISIBLE_SPACE+"",''+a.INVISIBLE_SPACE+"",a.dom);a.UndoManager=a.lang.Dispatcher.extend({constructor:function(a){this.editor=a,this.composer=a.composer,this.element=this.composer.element,this.position=0,this.historyStr=[],this.historyDom=[],this.transact(),this._observe()},_observe:function(){var a,f=this;this.composer.sandbox.getDocument();i.observe(this.element,"keydown",function(a){if(!a.altKey&&(a.ctrlKey||a.metaKey)){var d=a.keyCode,e=d===b&&!a.shiftKey,g=d===b&&a.shiftKey||d===c;e?(f.undo(),a.preventDefault()):g&&(f.redo(),a.preventDefault())}}),i.observe(this.element,"keydown",function(b){var c=b.keyCode;c!==a&&(a=c,(c===d||c===e)&&f.transact())}),this.editor.on("newword:composer",function(){f.transact()}).on("beforecommand:composer",function(){f.transact()})},transact:function(){var b,c,d,e,i,j=this.historyStr[this.position-1],k=this.composer.getValue(!1,!1),l=this.element.offsetWidth>0&&this.element.offsetHeight>0;if(k!==j){var m=this.historyStr.length=this.historyDom.length=this.position;m>f&&(this.historyStr.shift(),this.historyDom.shift(),this.position--),this.position++,l&&(b=this.composer.selection.getRange(),c=b&&b.startContainer?b.startContainer:this.element,d=b&&b.startOffset?b.startOffset:0,c.nodeType===a.ELEMENT_NODE?e=c:(e=c.parentNode,i=this.getChildNodeIndex(e,c)),e.setAttribute(h,d),"undefined"!=typeof i&&e.setAttribute(g,i));var n=this.element.cloneNode(!!k);this.historyDom.push(n),this.historyStr.push(k),e&&(e.removeAttribute(h),e.removeAttribute(g))}},undo:function(){this.transact(),this.undoPossible()&&(this.set(this.historyDom[--this.position-1]),this.editor.fire("undo:composer"))},redo:function(){this.redoPossible()&&(this.set(this.historyDom[++this.position-1]),this.editor.fire("redo:composer"))},undoPossible:function(){return this.position>1},redoPossible:function(){return this.positionb;b++)this.element.appendChild(c[b].cloneNode(!0));var e,f,i;a.hasAttribute(h)?(e=a.getAttribute(h),i=a.getAttribute(g),f=this.element):(f=this.element.querySelector("["+h+"]")||this.element,e=f.getAttribute(h),i=f.getAttribute(g),f.removeAttribute(h),f.removeAttribute(g)),null!==i&&(f=this.getChildNodeByIndex(f,+i)),this.composer.selection.set(f,e)},getChildNodeIndex:function(a,b){for(var c=0,d=a.childNodes,e=d.length;e>c;c++)if(d[c]===b)return c},getChildNodeByIndex:function(a,b){return a.childNodes[b]}})}(wysihtml),wysihtml.views.View=Base.extend({constructor:function(a,b,c){this.parent=a,this.element=b,this.config=c,this.config.noTextarea||this._observeViewChange()},_observeViewChange:function(){var a=this;this.parent.on("beforeload",function(){a.parent.on("change_view",function(b){b===a.name?(a.parent.currentView=a,a.show(),setTimeout(function(){a.focus()},0)):a.hide()})})},focus:function(){if(!this.element||!this.element.ownerDocument||this.element.ownerDocument.querySelector(":focus")!==this.element)try{this.element&&this.element.focus()}catch(a){}},hide:function(){this.element.style.display="none"},show:function(){this.element.style.display=""},disable:function(){this.element.setAttribute("disabled","disabled")},enable:function(){this.element.removeAttribute("disabled")}}),function(a){var b=a.dom,c=a.browser;a.views.Composer=a.views.View.extend({name:"composer",constructor:function(a,b,c){this.base(a,b,c),this.config.noTextarea?this.editableArea=b:this.textarea=this.parent.textarea,this.config.contentEditableMode?this._initContentEditableArea():this._initSandbox()},clear:function(){this.element.innerHTML=c.displaysCaretInEmptyContentEditableCorrectly()?"":"
"},getValue:function(b,c){var d=this.isEmpty()?"":a.quirks.getCorrectInnerHTML(this.element);return b!==!1&&(d=this.parent.parse(d,c===!1?!1:!0)),d},setValue:function(a,b){b!==!1&&(a=this.parent.parse(a));try{this.element.innerHTML=a}catch(c){this.element.innerText=a}},cleanUp:function(a){var b;this.selection&&this.selection.isInThisEditable()&&(b=rangy.saveSelection(this.win)),this.parent.parse(this.element,void 0,a),b&&rangy.restoreSelection(b)},show:function(){this.editableArea.style.display=this._displayStyle||"",this.config.noTextarea||this.textarea.element.disabled||(this.disable(),this.enable())},hide:function(){this._displayStyle=b.getStyle("display").from(this.editableArea),"none"===this._displayStyle&&(this._displayStyle=null),this.editableArea.style.display="none"},disable:function(){this.parent.fire("disable:composer"),this.element.removeAttribute("contentEditable")},enable:function(){this.parent.fire("enable:composer"),this.element.setAttribute("contentEditable","true")},focus:function(b){a.browser.doesAsyncFocus()&&this.hasPlaceholderSet()&&this.clear(),this.base();var c=this.element.lastChild;b&&c&&this.selection&&("BR"===c.nodeName?this.selection.setBefore(this.element.lastChild):this.selection.setAfter(this.element.lastChild))},getScrollPos:function(){if(this.doc&&this.win){var a={};return"undefined"!=typeof this.win.pageYOffset?a.y=this.win.pageYOffset:a.y=(this.doc.documentElement||this.doc.body.parentNode||this.doc.body).scrollTop,"undefined"!=typeof this.win.pageXOffset?a.x=this.win.pageXOffset:a.x=(this.doc.documentElement||this.doc.body.parentNode||this.doc.body).scrollLeft,a}},setScrollPos:function(a){a&&"undefined"!=typeof a.x&&"undefined"!=typeof a.y&&this.win.scrollTo(a.x,a.y)},getTextContent:function(){return b.getTextContent(this.element)},hasPlaceholderSet:function(){return this.getTextContent()==(this.config.noTextarea?this.editableArea.getAttribute("data-placeholder"):this.textarea.element.getAttribute("placeholder"))&&this.placeholderSet},isEmpty:function(){var a=this.element.innerHTML.toLowerCase();return/^(\s|
|<\/br>|

|<\/p>)*$/i.test(a)||""===a||"
"===a||"

"===a||"


"===a||this.hasPlaceholderSet()},_initContentEditableArea:function(){var a=this;this.config.noTextarea?this.sandbox=new b.ContentEditableArea(function(){a._create()},{className:this.config.classNames.sandbox},this.editableArea):(this.sandbox=new b.ContentEditableArea(function(){a._create()},{className:this.config.classNames.sandbox}),this.editableArea=this.sandbox.getContentEditable(),b.insert(this.editableArea).after(this.textarea.element),this._createWysiwygFormField())},_initSandbox:function(){var a=this;this.sandbox=new b.Sandbox(function(){a._create()},{stylesheets:this.config.stylesheets,className:this.config.classNames.sandbox}),this.editableArea=this.sandbox.getIframe();var c=this.textarea.element;b.insert(this.editableArea).after(c),this._createWysiwygFormField()},_createWysiwygFormField:function(){if(this.textarea.element.form){var a=document.createElement("input");a.type="hidden",a.name="_wysihtml_mode",a.value=1,b.insert(a).after(this.textarea.element)}},_create:function(){var d=this;this.doc=this.sandbox.getDocument(),this.win=this.sandbox.getWindow(),this.element=this.config.contentEditableMode?this.sandbox.getContentEditable():this.doc.body,this.config.noTextarea?this.cleanUp():(this.textarea=this.parent.textarea,this.element.innerHTML=this.textarea.getValue(!0,!1)),this.selection=new a.Selection(this.parent,this.element,this.config.classNames.uneditableContainer),this.commands=new a.Commands(this.parent),this.config.noTextarea||b.copyAttributes(["className","spellcheck","title","lang","dir","accessKey"]).from(this.textarea.element).to(this.element),this._initAutoLinking(),b.addClass(this.element,this.config.classNames.composer),this.config.style&&!this.config.contentEditableMode&&this.style(),this.observe();var e=this.config.name;e&&(b.addClass(this.element,e),this.config.contentEditableMode||b.addClass(this.editableArea,e)),this.enable(),!this.config.noTextarea&&this.textarea.element.disabled&&this.disable();var f="string"==typeof this.config.placeholder?this.config.placeholder:this.config.noTextarea?this.editableArea.getAttribute("data-placeholder"):this.textarea.element.getAttribute("placeholder");f&&b.simulatePlaceholder(this.parent,this,f,this.config.classNames.placeholder),this.commands.exec("styleWithCSS",!1),this._initObjectResizing(),this._initUndoManager(),this._initLineBreaking(),this.config.noTextarea||!this.textarea.element.hasAttribute("autofocus")&&document.querySelector(":focus")!=this.textarea.element||c.isIos()||setTimeout(function(){d.focus(!0)},100),c.clearsContentEditableCorrectly()||a.quirks.ensureProperClearing(this),this.initSync&&this.config.sync&&this.initSync(),this.config.noTextarea||this.textarea.hide(),this.parent.fire("beforeload").fire("load")},_initAutoLinking:function(){var d=this,e=c.canDisableAutoLinking(),f=c.doesAutoLinkingInContentEditable();if(e&&this.commands.exec("AutoUrlDetect",!1,!1),this.config.autoLink){(!f||f&&e)&&(this.parent.on("newword:composer",function(){if(b.getTextContent(d.element).match(b.autoLink.URL_REG_EXP)){for(var c=d.selection.getSelectedNode(),e=d.element.querySelectorAll("."+d.config.classNames.uneditableContainer),f=!1,g=e.length;g--;)a.dom.contains(e[g],c)&&(f=!0);f||b.autoLink(c,[d.config.classNames.uneditableContainer])}}),b.observe(this.element,"blur",function(){b.autoLink(d.element,[d.config.classNames.uneditableContainer])}));var g=this.sandbox.getDocument().getElementsByTagName("a"),h=b.autoLink.URL_REG_EXP,i=function(c){var d=a.lang.string(b.getTextContent(c)).trim();return"www."===d.substr(0,4)&&(d="http://"+d),d};b.observe(this.element,"keydown",function(a){if(g.length){var c,e=d.selection.getSelectedNode(a.target.ownerDocument),f=b.getParentElement(e,{query:"a"},4);f&&(c=i(f),setTimeout(function(){var a=i(f);a!==c&&a.match(h)&&f.setAttribute("href",a)},0))}})}},_initObjectResizing:function(){if(this.commands.exec("enableObjectResizing",!0),c.supportsEvent("resizeend")){var d=["width","height"],e=d.length,f=this.element;b.observe(f,"resizeend",function(b){var c,g=b.target||b.srcElement,h=g.style,i=0;if("IMG"===g.nodeName){for(;e>i;i++)c=d[i],h[c]&&(g.setAttribute(c,parseInt(h[c],10)),h[c]="");a.quirks.redraw(f)}})}},_initUndoManager:function(){this.undoManager=new a.UndoManager(this.parent)},_initLineBreaking:function(){function d(a){var c=b.getParentElement(a,{query:"p, div"},2);c&&b.contains(e.element,c)&&e.selection.executeAndRestoreRangy(function(){e.config.useLineBreaks?((!c.firstChild||c.firstChild===c.lastChild&&1===c.firstChild.nodeType&&c.firstChild.classList.contains("rangySelectionBoundary"))&&c.appendChild(e.doc.createElement("br")),b.replaceWithChildNodes(c)):"P"!==c.nodeName&&b.renameElement(c,"p")})}var e=this,f="li, p, h1, h2, h3, h4, h5, h6",g="ul, ol, menu";this.config.useLineBreaks||b.observe(this.element,["focus"],function(){setTimeout(function(){if(e.isEmpty()){var a=e.doc.createElement("P");e.element.innerHTML="",e.element.appendChild(a),c.displaysCaretInEmptyContentEditableCorrectly()?e.selection.selectNode(a,!0):(a.innerHTML="
",e.selection.setBefore(a.firstChild))}},0)}),b.observe(this.element,"keydown",function(c){var h=c.keyCode;if(!(c.shiftKey||c.ctrlKey||c.defaultPrevented||h!==a.ENTER_KEY&&h!==a.BACKSPACE_KEY)){var i=b.getParentElement(e.selection.getSelectedNode(),{query:f},4);return i?void setTimeout(function(){var c,f=e.selection.getSelectedNode();if("LI"===i.nodeName){if(!f)return;c=b.getParentElement(f,{query:g},2),c||d(f)}h===a.ENTER_KEY&&i.nodeName.match(/^H[1-6]$/)&&d(f)},0):void(e.config.useLineBreaks&&h===a.ENTER_KEY&&!a.browser.insertsLineBreaksOnReturn()&&(c.preventDefault(),e.commands.exec("insertLineBreak")))}})}})}(wysihtml),function(a){var b=a.dom,c=document,d=window,e=c.createElement("div"),f=["background-color","color","cursor","font-family","font-size","font-style","font-variant","font-weight","line-height","letter-spacing","text-align","text-decoration","text-indent","text-rendering","word-break","word-wrap","word-spacing"],g=["background-color","border-collapse","border-bottom-color","border-bottom-style","border-bottom-width","border-left-color","border-left-style","border-left-width","border-right-color","border-right-style","border-right-width","border-top-color","border-top-style","border-top-width","clear","display","float","margin-bottom","margin-left","margin-right","margin-top","outline-color","outline-offset","outline-width","outline-style","padding-left","padding-right","padding-top","padding-bottom","position","top","left","right","bottom","z-index","vertical-align","text-align","-webkit-box-sizing","-moz-box-sizing","-ms-box-sizing","box-sizing","-webkit-box-shadow","-moz-box-shadow","-ms-box-shadow","box-shadow","-webkit-border-top-right-radius","-moz-border-radius-topright","border-top-right-radius","-webkit-border-bottom-right-radius","-moz-border-radius-bottomright","border-bottom-right-radius","-webkit-border-bottom-left-radius","-moz-border-radius-bottomleft","border-bottom-left-radius","-webkit-border-top-left-radius","-moz-border-radius-topleft","border-top-left-radius","width","height"],h=["html { height: 100%; }","body { height: 100%; padding: 1px 0 0 0; margin: -1px 0 0 0; }","body > p:first-child { margin-top: 0; }","._wysihtml-temp { display: none; }",a.browser.isGecko?"body.placeholder { color: graytext !important; }":"body.placeholder { color: #a9a9a9 !important; }","img:-moz-broken { -moz-force-broken-image-icon: 1; height: 24px; width: 24px; }"],i=function(a){if(a.setActive)try{a.setActive()}catch(e){}else{var f=a.style,g=c.documentElement.scrollTop||c.body.scrollTop,h=c.documentElement.scrollLeft||c.body.scrollLeft,i={position:f.position,top:f.top,left:f.left,WebkitUserSelect:f.WebkitUserSelect};b.setStyles({position:"absolute",top:"-99999px",left:"-99999px",WebkitUserSelect:"none"}).on(a),a.focus(),b.setStyles(i).on(a),d.scrollTo&&d.scrollTo(h,g)}};a.views.Composer.prototype.style=function(){var d,j=this,k=c.querySelector(":focus"),l=this.textarea.element,m=l.hasAttribute("placeholder"),n=m&&l.getAttribute("placeholder"),o=l.style.display,p=l.disabled;this.focusStylesHost=e.cloneNode(!1),this.blurStylesHost=e.cloneNode(!1),this.disabledStylesHost=e.cloneNode(!1),m&&l.removeAttribute("placeholder"),l===k&&l.blur(),l.disabled=!1,l.style.display=d="none",(l.getAttribute("rows")&&"auto"===b.getStyle("height").from(l)||l.getAttribute("cols")&&"auto"===b.getStyle("width").from(l))&&(l.style.display=d=o),b.copyStyles(g).from(l).to(this.editableArea).andTo(this.blurStylesHost),b.copyStyles(f).from(l).to(this.element).andTo(this.blurStylesHost),b.insertCSS(h).into(this.element.ownerDocument),l.disabled=!0,b.copyStyles(g).from(l).to(this.disabledStylesHost),b.copyStyles(f).from(l).to(this.disabledStylesHost),l.disabled=p,l.style.display=o,i(l),l.style.display=d,b.copyStyles(g).from(l).to(this.focusStylesHost),b.copyStyles(f).from(l).to(this.focusStylesHost),l.style.display=o,b.copyStyles(["display"]).from(l).to(this.editableArea);var q=a.lang.array(g).without(["display"]);return k?i(k):l.blur(),m&&l.setAttribute("placeholder",n),this.parent.on("focus:composer",function(){b.copyStyles(q).from(j.focusStylesHost).to(j.editableArea),b.copyStyles(f).from(j.focusStylesHost).to(j.element)}),this.parent.on("blur:composer",function(){b.copyStyles(q).from(j.blurStylesHost).to(j.editableArea),b.copyStyles(f).from(j.blurStylesHost).to(j.element)}),this.parent.observe("disable:composer",function(){b.copyStyles(q).from(j.disabledStylesHost).to(j.editableArea),b.copyStyles(f).from(j.disabledStylesHost).to(j.element)}),this.parent.observe("enable:composer",function(){b.copyStyles(q).from(j.blurStylesHost).to(j.editableArea),b.copyStyles(f).from(j.blurStylesHost).to(j.element)}),this}}(wysihtml),function(a){var b=a.dom,c=b.domNode,d=a.browser,e={66:"bold",73:"italic",85:"underline"},f={addListeners:function(a,b,c){for(var d=0,e=b.length;e>d;d++)a.addEventListener(b[d],c,!1)},removeListeners:function(a,b,c){for(var d=0,e=b.length;e>d;d++)a.removeEventListener(b[d],c,!1)},fixLastBrDeletionInTable:function(b,c){if(b.selection.caretIsInTheEndOfNode()){var d=b.selection.getSelection(),e=d.anchorNode;if(e&&1===e.nodeType&&(a.dom.getParentElement(e,{query:"td, th"},!1,b.element)||c)){var f=e.childNodes[d.anchorOffset];if(f&&1===f.nodeType&"BR"===f.nodeName)return f.parentNode.removeChild(f),!0}}return!1},handleUneditableDeletion:function(a){var b=a.selection.getBeforeSelection(!0);if(b&&("element"===b.type||"leafnode"===b.type)&&1===b.node.nodeType&&b.node.classList.contains(a.config.classNames.uneditableContainer)){if(f.fixLastBrDeletionInTable(a,!0))return!0;try{var c=new CustomEvent("wysihtml:uneditable:delete",{bubbles:!0,cancelable:!1});b.node.dispatchEvent(c)}catch(d){}return b.node.parentNode.removeChild(b.node),!0}return!1},fixDeleteInTheBeginningOfBlock:function(b){var d=b.selection,e=d.getPreviousNode();if(d.caretIsFirstInSelection(a.browser.usesControlRanges())&&e&&1===e.nodeType&&a.dom.domNode(e).is.block()&&!c(e).test({query:"ol, ul, table, tr, dl"})){if(/^\s*$/.test(e.textContent||e.innerText))return e.parentNode.removeChild(e),!0;if(e.lastChild){var f=e.lastChild,g=d.getSelectedNode(),h=c(e).commonAncestor(g,b.element),i=a.dom.getParentElement(g,{query:"h1, h2, h3, h4, h5, h6, p, pre, div, blockquote"},!1,h||b.element);if(i)return c(i).transferContentTo(e,!0),d.setAfter(f),!0;if(a.browser.usesControlRanges())return g=d.getCaretNode(),c(g).transferContentTo(e,!0),d.setAfter(f),!0}}return!1},fixDeleteInTheBeginningOfLi:function(b){if(a.browser.hasLiDeletingProblem()){var d,e,d,f,g=b.selection.getSelection(),h=g.anchorNode,i=b.selection.caretIsFirstInSelection();if(3===h.nodeType&&0===g.anchorOffset&&h===h.parentNode.firstChild&&(h=h.parentNode,i=!0),i&&h&&1===h.nodeType&&"LI"===h.nodeName&&(d=c(h).prev({nodeTypes:[1,3],ignoreBlankTexts:!0}),d||!h.parentNode||"UL"!==h.parentNode.nodeName&&"OL"!==h.parentNode.nodeName||(d=c(h.parentNode).prev({nodeTypes:[1,3],ignoreBlankTexts:!0}),f=h.parentNode),d))return e=h.firstChild,c(h).transferContentTo(d,!0),f&&0===f.children.length&&f.remove(),e?b.selection.setBefore(e):d&&(1===d.nodeType?d.lastChild?b.selection.setAfter(d.lastChild):b.selection.selectNode(d):b.selection.setAfter(d)),!0}return!1},fixDeleteInTheBeginningOfControlSelection:function(a){var b,d=a.selection,e=d.getPreviousNode(),f=d.getSelectedNode();return d.caretIsFirstInSelection()?(3===f.nodeType&&(f=f.parentNode),b=f.firstChild,c(f).transferContentTo(e,!0),b&&a.selection.setBefore(b),!0):!1},doLineBreaksModeEnterWithCaret:function(d){var e,f,g="p, pre, div, blockquote",h=!1;if(e=d.selection.getNodesNearCaret(),e&&((e.caretNode||e.nextNode)&&(f=b.getParentElement(e.caretNode||e.nextNode,{query:g},2),f===d.element&&(f=void 0)),f&&e.caretNode))if(c(e.caretNode).is.lineBreak()){if(d.config.doubleLineBreakEscapesBlock){h=!0,e.caretNode.parentNode.removeChild(e.caretNode),c(e.nextNode).is.lineBreak()&&e.nextNode.parentNode.removeChild(e.nextNode);var i=d.doc.createElement("br");c(e.nextNode).is.lineBreak()&&e.nextNode===f.lastChild?f.parentNode.insertBefore(i,f.nextSibling):d.selection.splitElementAtCaret(f,i),e.nextNode&&3===e.nextNode.nodeType&&(e.nextNode.data=e.nextNode.data.replace(/^ *[\r\n]+/,"")),d.selection.setBefore(i)}}else if(3===e.caretNode.nodeType&&a.browser.hasCaretBlockElementIssue()&&e.textOffset===e.caretNode.data.length&&!e.nextNode){h=!0;var j=d.doc.createElement("br"),k=d.doc.createElement("br"),l=d.doc.createDocumentFragment();l.appendChild(j),l.appendChild(k),d.selection.insertNode(l),d.selection.setBefore(k)}return h}},g=function(b,c){var d=c.selection;c.element;if(d.isCollapsed()){if(c.isEmpty()&&!c.config.useLineBreaks)return void b.preventDefault();if(f.handleUneditableDeletion(c))return void b.preventDefault();if(f.fixDeleteInTheBeginningOfLi(c))return void b.preventDefault();if(f.fixDeleteInTheBeginningOfBlock(c))return void b.preventDefault();if(f.fixLastBrDeletionInTable(c))return void b.preventDefault();if(a.browser.usesControlRanges()&&f.fixDeleteInTheBeginningOfControlSelection(c))return void b.preventDefault()}else d.containsUneditable()&&(b.preventDefault(),d.deleteContents())},h=function(a,b){if(b.config.useLineBreaks&&!a.shiftKey&&!a.ctrlKey){b.selection.isCollapsed()&&f.doLineBreaksModeEnterWithCaret(b)&&a.preventDefault()}if(d.hasCaretAtLinkEndInsertionProblems()&&b.selection.caretIsInTheEndOfNode()){var c=b.selection.getSelectedNode(!0),e=c&&3===c.nodeType?c.parentNode:c;e&&e.closest("a")&&3===c.nodeType&&c===e.lastChild&&b.selection.setAfter(e)}},i=function(a,b,c){if(a.selection.isCollapsed()){if(a.selection.caretIsInTheBeginnig("li"))if(c){if(a.commands.exec("outdentList"))return}else if(a.commands.exec("indentList"))return}else a.selection.deleteContents();a.commands.exec("insertHTML"," ")},j=function(a){this.domNodeRemovedInterval&&clearInterval(domNodeRemovedInterval),this.parent.fire("destroy:composer")},k=function(a){this.parent.fire("beforeinteraction",a).fire("beforeinteraction:composer",a),setTimeout(function(){this.parent.fire("interaction",a).fire("interaction:composer",a)}.bind(this),0)},l=function(a){this.parent.fire("focus",a).fire("focus:composer",a),setTimeout(function(){this.focusState=this.getValue(!1,!1)}.bind(this),0)},m=function(a){if(this.focusState!==this.getValue(!1,!1)){var b=a;"function"==typeof Object.create&&(b=Object.create(a,{type:{value:"change"}})),this.parent.fire("change",b).fire("change:composer",b)}this.parent.fire("blur",a).fire("blur:composer",a)},n=function(a){this.parent.fire(a.type,a).fire(a.type+":composer",a),"paste"===a.type&&setTimeout(function(){this.parent.fire("newword:composer")}.bind(this),0)},o=function(b){this.config.copyedFromMarking&&(a.browser.supportsModernPaste()&&(b.clipboardData.setData("text/html",this.config.copyedFromMarking+this.selection.getHtml()),b.clipboardData.setData("text/plain",this.selection.getPlainText()),b.preventDefault()),this.parent.fire(b.type,b).fire(b.type+":composer",b))},p=function(b){var c=b.keyCode;(c===a.SPACE_KEY||c===a.ENTER_KEY)&&this.parent.fire("newword:composer")},q=function(b){if(!d.canSelectImagesInContentEditable()){var c=b.target,e=this.element.querySelectorAll("img"),f=this.element.querySelectorAll("."+this.config.classNames.uneditableContainer+" img"),g=a.lang.array(e).without(f);"IMG"===c.nodeName&&a.lang.array(g).contains(c)&&this.selection.selectNode(c)}a.browser.usesControlRanges()&&(this.selection.lastMouseDownPos={x:b.clientX,y:b.clientY},setTimeout(function(){delete this.selection.lastMouseDownPos}.bind(this),0))},r=function(a){var b=(a.target,this.selection.lastMouseDownPos);if(b){var c=document.body.createTextRange();setTimeout(function(){try{c.moveToPoint(b.x,b.y),c.select()}catch(a){}}.bind(this),0)}},s=function(b){if(this.config.classNames.uneditableContainer){var c=a.dom.getParentElement(b.target,{query:"."+this.config.classNames.uneditableContainer},!1,this.element);c&&this.selection.setAfter(c)}},t=function(a){d.canSelectImagesInContentEditable()||setTimeout(function(){this.selection.getSelection().removeAllRanges()}.bind(this),0)},u=function(b){var c,d=b.keyCode,f=e[d],j=this.selection.getSelectedNode(!0);j&&3===j.nodeType?j.parentNode:j;return!b.ctrlKey&&!b.metaKey||b.altKey||65!==d?((b.ctrlKey||b.metaKey)&&!b.altKey&&f&&(this.commands.exec(f),b.preventDefault()),d===a.BACKSPACE_KEY&&g(b,this),(d===a.BACKSPACE_KEY||d===a.DELETE_KEY)&&j&&"IMG"===j.nodeName&&(b.preventDefault(),c=j.parentNode,c.removeChild(j),"A"!==c.nodeName||c.firstChild||c.parentNode.removeChild(c),setTimeout(function(){a.quirks.redraw(this.element)}.bind(this),0)),this.config.handleTabKey&&d===a.TAB_KEY&&(b.preventDefault(),i(this,this.element,b.shiftKey)),void(d===a.ENTER_KEY&&h(b,this))):(this.selection.selectAll(),void b.preventDefault())},v=function(b){if(0!==b.which&&this.selection.caretIsInTheEndOfNode()){var c,e,f=this.selection.getSelectedNode(!0),g=f&&3===f.nodeType?f.parentNode:f;g&&g.closest("a")&&f===g.lastChild&&(32!==b.which||this.selection.caretIsInTheEndOfNode(!0)&&d.hasCaretAtLinkEndInsertionProblems()?(c=this.doc.createTextNode(a.INVISIBLE_SPACE),this.selection.insertNode(c),this.selection.setBefore(c),setTimeout(function(){c.textContent.length>1?(c.textContent=c.textContent.replace(a.INVISIBLE_SPACE_REG_EXP,""),this.selection.setAfter(c)):c.remove()}.bind(this),0)):32===b.which&&3===f.nodeType&&/[\u00A0 ]$/.test(f.textContent)&&(f.textContent=f.textContent.replace(/[\u00A0 ]$/,""),e=this.doc.createTextNode(" "),g.parentNode.insertBefore(e,g.nextSibling),this.selection.setAfter(e,!1),b.preventDefault()))}};a.views.Composer.prototype.observeActions=f,a.views.Composer.prototype.observe=function(){var c=this.sandbox.getIframe?this.sandbox.getIframe():this.sandbox.getContentEditable(),e=(this.element,d.supportsEventsInIframeCorrectly()||this.sandbox.getContentEditable?this.element:this.sandbox.getWindow());this.focusState=this.getValue(!1,!1),this.actions=f,c.addEventListener(["DOMNodeRemoved"],j.bind(this),!1),d.supportsMutationEvents()||(this.domNodeRemovedInterval=setInterval(function(){b.contains(document.documentElement,c)||j.call(this)},250)),f.addListeners(e,["drop","paste","mouseup","focus","keyup"],k.bind(this)),e.addEventListener("focus",l.bind(this),!1), -e.addEventListener("blur",m.bind(this),!1),f.addListeners(this.element,["drop","paste","beforepaste"],n.bind(this),!1),this.element.addEventListener("copy",o.bind(this),!1),this.element.addEventListener("mousedown",q.bind(this),!1),this.element.addEventListener("click",s.bind(this),!1),this.element.addEventListener("drop",t.bind(this),!1),this.element.addEventListener("keyup",p.bind(this),!1),this.element.addEventListener("keydown",u.bind(this),!1),this.element.addEventListener("keypress",v.bind(this),!1),a.browser.usesControlRanges()&&this.element.addEventListener("mscontrolselect",r.bind(this),!1),this.element.addEventListener("dragenter",function(){this.parent.fire("unset_placeholder")}.bind(this),!1)}}(wysihtml),function(a){var b=400;a.views.Synchronizer=Base.extend({constructor:function(a,b,c){this.editor=a,this.textarea=b,this.composer=c,this._observe()},fromComposerToTextarea:function(b){this.textarea.setValue(a.lang.string(this.composer.getValue(!1,!1)).trim(),b)},fromTextareaToComposer:function(a){var b=this.textarea.getValue(!1,!1);b?this.composer.setValue(b,a):(this.composer.clear(),this.editor.fire("set_placeholder"))},sync:function(a){"textarea"===this.editor.currentView.name?this.fromTextareaToComposer(a):this.fromComposerToTextarea(a)},_observe:function(){var c,d=this,e=this.textarea.element.form,f=function(){c=setInterval(function(){d.fromComposerToTextarea()},b)},g=function(){clearInterval(c),c=null};f(),e&&(a.dom.observe(e,"submit",function(){d.sync(!0)}),a.dom.observe(e,"reset",function(){setTimeout(function(){d.fromTextareaToComposer()},0)})),this.editor.on("change_view",function(a){"composer"!==a||c?"textarea"===a&&(d.fromComposerToTextarea(!0),g()):(d.fromTextareaToComposer(!0),f())}),this.editor.on("destroy:composer",g)}})}(wysihtml),function(a){a.views.SourceView=Base.extend({constructor:function(a,b){this.editor=a,this.composer=b,this._observe()},switchToTextarea:function(a){var b=this.composer.win.getComputedStyle(this.composer.element),c=parseFloat(b.width),d=Math.max(parseFloat(b.height),100);this.textarea||(this.textarea=this.composer.doc.createElement("textarea"),this.textarea.className="wysihtml-source-view"),this.textarea.style.width=c+"px",this.textarea.style.height=d+"px",this.textarea.value=this.editor.getValue(a,!0),this.composer.element.parentNode.insertBefore(this.textarea,this.composer.element),this.editor.currentView="source",this.composer.element.style.display="none"},switchToComposer:function(a){var b=this.textarea.value;b?this.composer.setValue(b,a):(this.composer.clear(),this.editor.fire("set_placeholder")),this.textarea.parentNode.removeChild(this.textarea),this.editor.currentView=this.composer,this.composer.element.style.display=""},_observe:function(){this.editor.on("change_view",function(a){"composer"===a?this.switchToComposer(!0):"textarea"===a&&this.switchToTextarea(!0)}.bind(this))}})}(wysihtml),wysihtml.views.Textarea=wysihtml.views.View.extend({name:"textarea",constructor:function(a,b,c){this.base(a,b,c),this._observe()},clear:function(){this.element.value=""},getValue:function(a){var b=this.isEmpty()?"":this.element.value;return a!==!1&&(b=this.parent.parse(b)),b},setValue:function(a,b){b!==!1&&(a=this.parent.parse(a)),this.element.value=a},cleanUp:function(a){var b=this.parent.parse(this.element.value,void 0,a);this.element.value=b},hasPlaceholderSet:function(){var a=wysihtml.browser.supportsPlaceholderAttributeOn(this.element),b=this.element.getAttribute("placeholder")||null,c=this.element.value,d=!c;return a&&d||c===b},isEmpty:function(){return!wysihtml.lang.string(this.element.value).trim()||this.hasPlaceholderSet()},_observe:function(){var a=this.element,b=this.parent,c={focusin:"focus",focusout:"blur"},d=wysihtml.browser.supportsEvent("focusin")?["focusin","focusout","change"]:["focus","blur","change"];b.on("beforeload",function(){wysihtml.dom.observe(a,d,function(a){var d=c[a.type]||a.type;b.fire(d).fire(d+":textarea")}),wysihtml.dom.observe(a,["paste","drop"],function(){setTimeout(function(){b.fire("paste").fire("paste:textarea")},0)})})}}),function(a){var b;a.Editor=a.lang.Dispatcher.extend({defaults:{name:b,style:!0,autoLink:!0,handleTabKey:!0,parserRules:{tags:{br:{},span:{},div:{},p:{},b:{},i:{},u:{}},classes:{}},pasteParserRulesets:null,parser:a.dom.parse,useLineBreaks:!0,doubleLineBreakEscapesBlock:!0,stylesheets:[],placeholderText:b,supportTouchDevices:!0,cleanUp:!0,contentEditableMode:!1,classNames:{composer:"wysihtml-editor",body:"wysihtml-supported",sandbox:"wysihtml-sandbox",placeholder:"wysihtml-placeholder",uneditableContainer:"wysihtml-uneditable-container"},copyedFromMarking:''},constructor:function(b,c){if(this.editableElement="string"==typeof b?document.getElementById(b):b,this.config=a.lang.object({}).merge(this.defaults).merge(c).get(),this._isCompatible=a.browser.supported(),c&&c.classNames&&a.lang.object(this.config.classNames).merge(c.classNames),"textarea"!=this.editableElement.nodeName.toLowerCase()&&(this.config.contentEditableMode=!0,this.config.noTextarea=!0),this.config.noTextarea||(this.textarea=new a.views.Textarea(this,this.editableElement,this.config),this.currentView=this.textarea),!this._isCompatible||!this.config.supportTouchDevices&&a.browser.isTouchDevice()){var d=this;return void setTimeout(function(){d.fire("beforeload").fire("load")},0)}a.dom.addClass(document.body,this.config.classNames.body),this.composer=new a.views.Composer(this,this.editableElement,this.config),this.currentView=this.composer,"function"==typeof this.config.parser&&this._initParser(),this.on("beforeload",this.handleBeforeLoad)},handleBeforeLoad:function(){this.config.noTextarea?this.sourceView=new a.views.SourceView(this,this.composer):this.synchronizer=new a.views.Synchronizer(this,this.textarea,this.composer),this.runEditorExtenders()},runEditorExtenders:function(){a.editorExtenders.forEach(function(a){a(this)}.bind(this))},isCompatible:function(){return this._isCompatible},clear:function(){return this.currentView.clear(),this},getValue:function(a,b){return this.currentView.getValue(a,b)},setValue:function(a,b){return this.fire("unset_placeholder"),a?(this.currentView.setValue(a,b),this):this.clear()},cleanUp:function(a){this.currentView.cleanUp(a)},focus:function(a){return this.currentView.focus(a),this},disable:function(){return this.currentView.disable(),this},enable:function(){return this.currentView.enable(),this},isEmpty:function(){return this.currentView.isEmpty()},hasPlaceholderSet:function(){return this.currentView.hasPlaceholderSet()},destroy:function(){this.composer&&this.composer.sandbox&&this.composer.sandbox.destroy(),this.fire("destroy:composer"),this.off()},parse:function(b,c,d){var e=this.config.contentEditableMode?document:this.composer?this.composer.sandbox.getDocument():null,f=this.config.parser(b,{rules:d||this.config.parserRules,cleanUp:this.config.cleanUp,context:e,uneditableClass:this.config.classNames.uneditableContainer,clearInternals:c});return"object"==typeof b&&a.quirks.redraw(b),f},_initParser:function(){var b;a.browser.supportsModernPaste()?this.on("paste:composer",function(c){c.preventDefault(),b=a.dom.getPastedHtml(c),b&&this._cleanAndPaste(b)}.bind(this)):this.on("beforepaste:composer",function(b){b.preventDefault();var c=this.composer.getScrollPos();a.dom.getPastedHtmlWithDiv(this.composer,function(a){a&&this._cleanAndPaste(a),this.composer.setScrollPos(c)}.bind(this))}.bind(this))},_cleanAndPaste:function(b){var c=a.quirks.cleanPastedHTML(b,{referenceNode:this.composer.element,rules:this.config.pasteParserRulesets||[{set:this.config.parserRules}],uneditableClass:this.config.classNames.uneditableContainer});this.composer.selection.deleteContents(),this.composer.selection.insertHTML(c)}})}(wysihtml); +e.addEventListener("blur",m.bind(this),!1),f.addListeners(this.element,["drop","paste","beforepaste"],n.bind(this),!1),this.element.addEventListener("copy",o.bind(this),!1),this.element.addEventListener("mousedown",q.bind(this),!1),this.element.addEventListener("click",s.bind(this),!1),this.element.addEventListener("drop",t.bind(this),!1),this.element.addEventListener("keyup",p.bind(this),!1),this.element.addEventListener("keydown",u.bind(this),!1),this.element.addEventListener("keypress",v.bind(this),!1),a.browser.usesControlRanges()&&this.element.addEventListener("mscontrolselect",r.bind(this),!1),this.element.addEventListener("dragenter",function(){this.parent.fire("unset_placeholder")}.bind(this),!1)}}(wysihtml),function(a){var b=400;a.views.Synchronizer=Base.extend({constructor:function(a,b,c){this.editor=a,this.textarea=b,this.composer=c,this._observe()},fromComposerToTextarea:function(b){this.textarea.setValue(a.lang.string(this.composer.getValue(!1,!1)).trim(),b)},fromTextareaToComposer:function(a){var b=this.textarea.getValue(!1,!1);b?this.composer.setValue(b,a):(this.composer.clear(),this.editor.fire("set_placeholder"))},sync:function(a){"textarea"===this.editor.currentView.name?this.fromTextareaToComposer(a):this.fromComposerToTextarea(a)},_observe:function(){var c,d=this,e=this.textarea.element.form,f=function(){c=setInterval(function(){d.fromComposerToTextarea()},b)},g=function(){clearInterval(c),c=null};f(),e&&(a.dom.observe(e,"submit",function(){d.sync(!0)}),a.dom.observe(e,"reset",function(){setTimeout(function(){d.fromTextareaToComposer()},0)})),this.editor.on("change_view",function(a){"composer"!==a||c?"textarea"===a&&(d.fromComposerToTextarea(!0),g()):(d.fromTextareaToComposer(!0),f())}),this.editor.on("destroy:composer",g)}})}(wysihtml),function(a){a.views.SourceView=Base.extend({constructor:function(a,b){this.editor=a,this.composer=b,this._observe()},switchToTextarea:function(a){var b=this.composer.win.getComputedStyle(this.composer.element),c=parseFloat(b.width),d=Math.max(parseFloat(b.height),100);this.textarea||(this.textarea=this.composer.doc.createElement("textarea"),this.textarea.className="wysihtml-source-view"),this.textarea.style.width=c+"px",this.textarea.style.height=d+"px",this.textarea.value=this.editor.getValue(a,!0),this.composer.element.parentNode.insertBefore(this.textarea,this.composer.element),this.editor.currentView="source",this.composer.element.style.display="none"},switchToComposer:function(a){var b=this.textarea.value;b?this.composer.setValue(b,a):(this.composer.clear(),this.editor.fire("set_placeholder")),this.textarea.parentNode.removeChild(this.textarea),this.editor.currentView=this.composer,this.composer.element.style.display=""},_observe:function(){this.editor.on("change_view",function(a){"composer"===a?this.switchToComposer(!0):"textarea"===a&&this.switchToTextarea(!0)}.bind(this))}})}(wysihtml),wysihtml.views.Textarea=wysihtml.views.View.extend({name:"textarea",constructor:function(a,b,c){this.base(a,b,c),this._observe()},clear:function(){this.element.value=""},getValue:function(a){var b=this.isEmpty()?"":this.element.value;return a!==!1&&(b=this.parent.parse(b)),b},setValue:function(a,b){b!==!1&&(a=this.parent.parse(a)),this.element.value=a},cleanUp:function(a){var b=this.parent.parse(this.element.value,void 0,a);this.element.value=b},hasPlaceholderSet:function(){var a=wysihtml.browser.supportsPlaceholderAttributeOn(this.element),b=this.element.getAttribute("placeholder")||null,c=this.element.value,d=!c;return a&&d||c===b},isEmpty:function(){return!wysihtml.lang.string(this.element.value).trim()||this.hasPlaceholderSet()},_observe:function(){var a=this.element,b=this.parent,c={focusin:"focus",focusout:"blur"},d=wysihtml.browser.supportsEvent("focusin")?["focusin","focusout","change"]:["focus","blur","change"];b.on("beforeload",function(){wysihtml.dom.observe(a,d,function(a){var d=c[a.type]||a.type;b.fire(d).fire(d+":textarea")}),wysihtml.dom.observe(a,["paste","drop"],function(){setTimeout(function(){b.fire("paste").fire("paste:textarea")},0)})})}}),function(a){var b;a.Editor=a.lang.Dispatcher.extend({defaults:{name:b,style:!0,autoLink:!0,handleTabKey:!0,parserRules:{tags:{br:{},span:{},div:{},p:{},b:{},i:{},u:{}},classes:{}},pasteParserRulesets:null,parser:a.dom.parse,useLineBreaks:!0,doubleLineBreakEscapesBlock:!0,stylesheets:[],placeholderText:b,supportTouchDevices:!0,cleanUp:!0,contentEditableMode:!1,classNames:{composer:"wysihtml-editor",body:"wysihtml-supported",sandbox:"wysihtml-sandbox",placeholder:"wysihtml-placeholder",uneditableContainer:"wysihtml-uneditable-container"},copyedFromMarking:''},constructor:function(b,c){if(this.editableElement="string"==typeof b?document.getElementById(b):b,this.config=a.lang.object({}).merge(this.defaults).merge(c).get(),this._isCompatible=a.browser.supported(),c&&c.classNames&&a.lang.object(this.config.classNames).merge(c.classNames),"textarea"!=this.editableElement.nodeName.toLowerCase()&&(this.config.contentEditableMode=!0,this.config.noTextarea=!0),this.config.noTextarea||(this.textarea=new a.views.Textarea(this,this.editableElement,this.config),this.currentView=this.textarea),!this._isCompatible||!this.config.supportTouchDevices&&a.browser.isTouchDevice()){var d=this;return void setTimeout(function(){d.fire("beforeload").fire("load")},0)}a.dom.addClass(document.body,this.config.classNames.body),this.composer=new a.views.Composer(this,this.editableElement,this.config),this.currentView=this.composer,"function"==typeof this.config.parser&&this._initParser(),this.on("beforeload",this.handleBeforeLoad)},handleBeforeLoad:function(){this.config.noTextarea?this.sourceView=new a.views.SourceView(this,this.composer):this.synchronizer=new a.views.Synchronizer(this,this.textarea,this.composer),this.runEditorExtenders()},runEditorExtenders:function(){a.editorExtenders.forEach(function(a){a(this)}.bind(this))},isCompatible:function(){return this._isCompatible},clear:function(){return this.currentView.clear(),this},getValue:function(a,b){return this.currentView.getValue(a,b)},setValue:function(a,b){return this.fire("unset_placeholder"),a?(this.currentView.setValue(a,b),this):this.clear()},cleanUp:function(a){this.currentView.cleanUp(a)},focus:function(a){return this.currentView.focus(a),this},disable:function(){return this.currentView.disable(),this},enable:function(){return this.currentView.enable(),this},isEmpty:function(){return this.currentView.isEmpty()},hasPlaceholderSet:function(){return this.currentView.hasPlaceholderSet()},destroy:function(){this.composer&&this.composer.sandbox&&this.composer.sandbox.destroy(),this.fire("destroy:composer"),this.off()},parse:function(b,c,d){var e=this.config.contentEditableMode?document:this.composer?this.composer.sandbox.getDocument():null,f=this.config.parser(b,{rules:d||this.config.parserRules,cleanUp:this.config.cleanUp,context:e,uneditableClass:this.config.classNames.uneditableContainer,clearInternals:c});return"object"==typeof b&&a.quirks.redraw(b),f},_initParser:function(){var b;a.browser.supportsModernPaste()?this.on("paste:composer",function(c){c.preventDefault(),b=a.dom.getPastedHtml(c),b&&this._cleanAndPaste(b)}.bind(this)):this.on("beforepaste:composer",function(b){b.preventDefault();var c=this.composer.getScrollPos();a.dom.getPastedHtmlWithDiv(this.composer,function(a){a&&this._cleanAndPaste(a),this.composer.setScrollPos(c)}.bind(this))}.bind(this))},_cleanAndPaste:function(b){var c=a.quirks.cleanPastedHTML(b,{referenceNode:this.composer.element,rules:this.config.pasteParserRulesets||[{set:this.config.parserRules}],uneditableClass:this.config.classNames.uneditableContainer});if(this.composer.selection.deleteContents(),!this.config.useLineBreaks&&this.composer.selection.caretIsInTheEndOfNode()){var d,e=this.composer.selection.getSelection(),f=e.anchorNode;f&&"P"===f.nodeName&&1===f.childNodes.length&&(d=f.firstChild,"BR"===d.nodeName&&f.removeChild(d))}this.composer.selection.insertHTML(c)}})}(wysihtml); //# sourceMappingURL=wysihtml.min.map \ No newline at end of file diff --git a/dist/minified/wysihtml.min.map b/dist/minified/wysihtml.min.map index f116d57..998be9e 100644 --- a/dist/minified/wysihtml.min.map +++ b/dist/minified/wysihtml.min.map @@ -1 +1 @@ -{"version":3,"file":"wysihtml.min.js","sources":["../wysihtml.js"],"names":["wysihtml","version","commands","dom","quirks","toolbar","lang","selection","views","editorExtenders","extendEditor","extender","this","push","INVISIBLE_SPACE","INVISIBLE_SPACE_REG_EXP","VOID_ELEMENTS","PERMITTED_PHRASING_CONTENT_ONLY","EMPTY_FUNCTION","ELEMENT_NODE","TEXT_NODE","BACKSPACE_KEY","ENTER_KEY","ESCAPE_KEY","SPACE_KEY","TAB_KEY","DELETE_KEY","polyfills","win","doc","methods","normalizeHasCaretError","originalTarget","s","ret","scrollTop","window","pageYOffset","scrollLeft","pageXOffset","e","createElement","t1","createTextNode","t2","t3","r","createRange","document","activeElement","nodeType","indexOf","nodeName","type","node","start","selectionStart","end","selectionEnd","getSelection","anchorNode","anchorOffset","focusNode","focusOffset","setAttribute","appendChild","body","setStart","setEnd","removeAllRanges","addRange","normalize","childNodes","length","firstChild","parentNode","removeChild","setSelectionRange","focus","scrollTo","apply","nativeCustomEventSupported","p","CustomEvent","detail","foo","ELEMENT","matches","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","selector","element","elements","ownerDocument","querySelectorAll","index","closest","parentElement","remove","Element","prototype","documentElement","Object","defineProperty","HTMLElement","get","update","fn","value","classes","self","className","split","join","add","splice","toggle","contains","item","i","getTextNodes","all","nextSibling","concat","isInDom","n","normalizeFix","nf","Node","texts","defaultView","anode","aoffset","aelement","undefined","fnode","foffset","felement","prevTxt","shift","curText","nodeValue","compareDocumentPosition","DOCUMENT_POSITION_PRECEDING","DOCUMENT_POSITION_CONTAINS","previousSibling","Array","call","F","removeEventListener","readyState","addEventListener","event","params","bubbles","cancelable","evt","createEvent","initCustomEvent","Event","Base","extend","_instance","_static","_prototyping","proto","base","constructor","klass","_constructing","arguments","ancestor","forEach","implement","toString","valueOf","init","source","test","method","previous","returnValue","toSource","hidden","key","object","block","context","String","rangy","isHostMethod","o","t","FUNCTION","OBJECT","isHostObject","isHostProperty","UNDEFINED","createMultiplePropertyTest","testFunc","props","isTextRange","range","areHostMethods","textRangeMethods","areHostProperties","textRangeProperties","getBody","getElementsByTagName","consoleLog","msg","console","log","alertOrLog","shouldAlert","isBrowser","alert","fail","reason","api","initialized","supported","config","alertOnFail","warn","alertOnWarn","getErrorDesc","ex","message","description","testRange","implementsDomRange","implementsTextRange","domRangeMethods","domRangeProperties","toLowerCase","createTextRange","features","module","errorMessage","moduleName","modules","Module","len","initListeners","deprecationNotice","deprecated","replacement","name","createAliasForDeprecatedMethod","owner","util","toArray","shim","shimListeners","dependencies","initializer","createModule","initFunc","newModule","stack","RangePrototype","SelectionPrototype","areHostObjects","arr","func","preferTextRange","autoInitialize","rangyAutoInitialize","hasOwnProperty","obj","deep","createOptions","optionsParam","defaults","options","el","slice","arrayLike","addListener","eventType","listener","attachEvent","addInitListener","addShimListener","createMissingNativeApi","requiredModule","requiredModuleNames","Error","createError","createCoreModule","rangePrototype","selectionPrototype","isHtmlNamespace","ns","namespaceURI","UNDEF","parent","getNodeIndex","getNodeLength","getCommonAncestor","node1","node2","ancestors","arrayContains","isAncestorOf","descendant","selfIsAncestor","isOrIsAncestorOf","getClosestAncestorIn","isCharacterDataNode","isTextOrCommentNode","insertAfter","precedingNode","nextNode","insertBefore","splitDataNode","positionsToPreserve","newNode","cloneNode","deleteData","position","offset","getDocument","getWindow","parentWindow","getIframeDocument","iframeEl","contentDocument","contentWindow","getIframeWindow","isWindow","getContentDocument","methodName","tagName","getRootContainer","comparePoints","nodeA","offsetA","nodeB","offsetB","nodeC","root","childA","childB","isBrokenNode","inspectNode","crashyTextNodes","data","idAttr","id","innerHTML","fragmentFromNodeChildren","child","fragment","createDocumentFragment","createTestElement","html","contentEditable","bodyFirstChild","removeNode","NodeIterator","_next","createIterator","DomPosition","DOMException","codeName","code","textNode","val","getComputedStyleProperty","getComputedStyle","propName","currentStyle","_current","hasNext","next","detach","equals","pos","inspect","INDEX_SIZE_ERR","HIERARCHY_REQUEST_ERR","WRONG_DOCUMENT_ERR","NO_MODIFICATION_ALLOWED_ERR","NOT_FOUND_ERR","NOT_SUPPORTED_ERR","INVALID_STATE_ERR","INVALID_NODE_TYPE_ERR","isNonTextPartiallySelected","startContainer","endContainer","getRangeDocument","getRangeRoot","getBoundaryBeforeNode","getBoundaryAfterNode","insertNodeAtPosition","firstNodeInserted","rangesIntersect","rangeA","rangeB","touchingIsIntersecting","assertRangeValid","startComparison","startOffset","endOffset","endComparison","cloneSubtree","iterator","partiallySelected","subIterator","frag","isPartiallySelectedSubtree","getSubtreeIterator","iterateSubtree","rangeIterator","iteratorState","it","stop","subRangeIterator","deleteSubtree","extractSubtree","getNodesInRange","nodeTypes","filter","regex","filterNodeTypes","filterExists","RegExp","nodes","RangeIterator","sc","ec","getName","clonePartiallySelectedTextNodes","collapsed","so","eo","commonAncestorContainer","isSingleCharacterDataNode","_first","_last","createAncestorFinder","assertNoDocTypeNotationEntityAncestor","allowSelf","getDocTypeNotationEntityAncestor","assertValidNodeType","invalidTypes","assertValidOffset","assertSameDocumentOrFragment","getDocumentOrFragmentContainer","assertNodeNotReadOnly","getReadonlyAncestor","assertNode","isValidOffset","isRangeValid","splitRangeBoundaries","startEndSame","setStartAndEnd","rangeToHtml","container","cloneContents","copyComparisonConstantsToObject","START_TO_START","s2s","START_TO_END","s2e","END_TO_END","e2e","END_TO_START","e2s","NODE_BEFORE","n_b","NODE_AFTER","n_a","NODE_BEFORE_AND_AFTER","n_b_a","NODE_INSIDE","n_i","copyComparisonConstants","createRangeContentRemover","remover","boundaryUpdater","boundary","reset","createPrototypeRange","createBeforeAfterNodeSetter","isBefore","isStart","beforeAfterNodeTypes","rootContainerNodeTypes","setRangeStart","setRangeEnd","args","setBoundary","setStartBefore","setStartAfter","setEndBefore","setEndAfter","collapse","selectNodeContents","selectNode","extractContents","deleteContents","canSurroundContents","boundariesInvalid","splitBoundaries","splitBoundariesPreservingPositions","normalizeBoundaries","sibling","mergeForward","appendData","mergeBackward","nodeLength","insertData","nodeIndex","normalizeStart","endNode","startNode","collapseToPoint","updateCollapsedAndCommonAncestor","updateBoundaries","Range","current","subRange","cloneRange","readonlyNodeTypes","insertableNodeTypes","surroundNodeTypes","styleEl","htmlParsingConforms","createContextualFragment","fragmentStr","rangeProperties","compareBoundaryPoints","how","prefixA","prefixB","insertNode","clone","surroundContents","content","hasChildNodes","lastChild","prop","textParts","compareNode","comparePoint","toHtml","intersectsNode","isPointInRange","intersectsRange","intersectsOrTouchesRange","intersection","intersectionRange","union","unionRange","containsNode","allowPartial","containsNodeContents","containsRange","containsNodeText","nodeRange","textNodes","getNodes","lastTextNode","pop","collapseBefore","collapseAfter","getBookmark","containerNode","preSelectionRange","moveToBookmark","bookmark","charIndex","nextCharIndex","nodeStack","foundStart","rangesEqual","isValid","r1","r2","DomRange","WrappedRange","WrappedTextRange","updateRangeProperties","nativeRange","updateNativeRange","startMoved","endMoved","nativeRangeDifferent","rangeProto","refresh","testTextNode","oppositeName","range2","createNativeRange","getTextRangeContainerElement","textRange","parentEl","duplicate","startEl","endEl","startEndContainer","textRangeIsCollapsed","compareEndPoints","getTextRangeBoundaryPosition","wholeRangeContainerElement","isCollapsed","startInfo","workingRange","containerElement","canHaveHTML","boundaryPosition","nodeInfo","workingNode","comparison","previousNode","boundaryNode","workingComparisonType","childNodeCount","moveToElementText","Math","floor","setEndPoint","tempRange","rangeLength","text","replace","moveStart","createBoundaryTextRange","boundaryParent","boundaryOffset","nodeIsDataNode","startBoundary","rangeContainerElement","rangeToTextRange","startRange","endRange","toTextRange","globalObj","f","Function","createRangyRange","isDirectionBackward","dir","WrappedSelection","getWinSelection","winParam","getDocSelection","winSelectionIsBackward","sel","backward","updateAnchorAndFocusFromRange","anchorPrefix","focusPrefix","updateAnchorAndFocusFromNativeSelection","nativeSel","nativeSelection","updateEmptySelection","rangeCount","_ranges","getNativeRange","rangeContainsSingleElement","rangeNodes","getSingleElementFromRange","updateFromTextRange","wrappedRange","updateControlSelection","docSelection","controlRange","addRangeToControlSelection","rangeElement","newControlRange","createControlRange","select","deleteProperties","detached","actOnCachedSelection","action","cached","cachedRangySelections","createControlSelection","ranges","assertNodeInSameDocument","createStartOrEndSetter","getRangeAt","setSingleRange","isBackward","rangeInspects","anchor","checkSelectionRanges","getNativeSelection","selectionIsCollapsed","BOOLEAN","NUMBER","CONTROL","implementsWinGetSelection","implementsDocSelection","useDocumentSelection","isSelectionValid","testSelection","selectionHasAnchorAndFocus","selectionHasExtend","selectionHasRangeCount","selectionSupportsMultipleRanges","collapsedNonEditableSelectionsSupported","addRangeBackwardToNative","originalSelectionRangeCount","selectionHasMultipleRanges","originalSelectionRanges","originalSelectionBackward","testEl","chromeMatch","navigator","appVersion","match","parseInt","testControlRange","implementsControlRange","getSelectionRangeAt","docSel","selProto","addRangeBackward","direction","previousRangeCount","clonedNativeRange","selectionIsBackward","setRanges","empty","refreshSelection","checkForChanges","oldRanges","oldAnchorNode","oldAnchorOffset","removeRangeManually","getAllRanges","removeRange","removed","isBackwards","rangeTexts","collapseToStart","collapseToEnd","selectAllChildren","deleteFromDocument","eachRange","callMethodOnEachRange","results","changeEachRange","rangeBookmarks","rangeBookmark","selRanges","saveRanges","restoreRanges","rangeHtmls","getNativeTextRange","detachAll","Selection","docReady","loadHandler","gEBI","getElementById","insertRangeBoundaryMarker","atStart","markerEl","markerId","Date","random","boundaryRange","style","lineHeight","display","markerTextChar","setRangeBoundary","compareRanges","saveRange","startMarkerId","endMarkerId","restoreRange","rangeInfo","rangeInfos","sort","saveSelection","restored","restoreSelection","savedSelection","preserveDirection","removeMarkerElement","removeMarkers","defaultTokenizer","chars","wordOptions","createTokenRange","isWord","tokenRanges","result","wordStart","wordEnd","word","lastWordEnd","wordRegex","exec","includeTrailingSpace","nonLineBreakWhiteSpaceRegex","convertCharRangeToToken","tokenRange","tokenChars","token","tokenize","tokenizer","tokens","normalizeIgnoredCharacters","ignoredCharacters","ignoredChars","ignoredCharsArray","char1","char2","charCodeAt","createWordOptions","language","defaultLanguage","defaultWordOptions","createNestedOptions","characterOptions","defaultCharacterOptions","getComputedDisplay","tableCssDisplayBlock","defaultDisplayValueForTag","isHidden","getAncestorsAndSelf","isVisibilityHiddenTextNode","isBlockNode","containsPositions","getAncestors","unshift","nextNodeDescendants","excludeChildren","isWhitespaceNode","computedWhiteSpace","isCollapsedWhitespaceNode","isCollapsedNode","isIgnoredNode","Cache","store","createCachingGetter","objProperty","cache","cachedCount","uncachedCount","NodeWrapper","session","positions","Position","nodeWrapper","inspectPosition","startSession","endSession","currentSession","Session","getSession","createCharacterIterator","startPos","endPos","charPos","finished","previousVisible","nextVisible","previousTextPos","returnPreviousTextPos","character","getCharacter","rewind","dispose","createTokenizedTextProvider","consumeWord","forward","textChar","newChars","forwardIterator","backwardIterator","passedWordBoundary","insideWord","allWhiteSpaceRegex","forwardChars","backwardChars","reverse","forwardTokensBuffer","arrayIndexOf","backwardTokensBuffer","nextEndToken","lastToken","previousStartToken","movePositionBy","unit","count","currentPos","charIterator","nextPos","unitsMoved","newPos","absCount","abs","CHARACTER","WORD","tokenizedTextProvider","isLeadingSpace","isTrailingSpace","createRangeCharacterIterator","rangeStart","getRangeBoundaryPosition","rangeEnd","itStart","itEnd","getRangeCharacters","isWholeWord","expand","findTextFromPosition","initialPos","searchTerm","isRegex","searchScopeRange","findOptions","handleMatch","startIndex","endIndex","valid","wholeWordsOnly","currentChar","matchStartIndex","matchEndIndex","insideRegexMatch","caseSensitive","createEntryPointFunction","sessionRunning","createRangeBoundaryMover","moveOptions","defaultMoveOptions","boundaryIsStart","moveResult","createRangeTrimmer","trimCharCount","trimmed","createSelectionTrimmer","spacesRegex","spacesMinusLineBreaksRegex","trailingSpaceInBlockCollapses","trailingSpaceBeforeBrCollapses","trailingSpaceBeforeBlockCollapses","trailingSpaceBeforeLineBreakInPreLineCollapses","includeBlockContentTrailingSpace","includeSpaceBeforeBr","includeSpaceBeforeBlock","includePreLineTrailingSpace","ignoreCharacters","defaultCaretCharacterOptions","en","defaultFindOptions","withinRange","wrap","defaultExpandOptions","trim","trimStart","trimEnd","defaultWordIteratorOptions","table","caption","colgroup","col","thead","tbody","tfoot","tr","td","th","set","nodeProto","getPosition","EMPTY","NON_SPACE","UNCOLLAPSIBLE_SPACE","COLLAPSIBLE_SPACE","TRAILING_SPACE_BEFORE_BLOCK","TRAILING_SPACE_IN_BLOCK","TRAILING_SPACE_BEFORE_BR","PRE_LINE_TRAILING_SPACE_BEFORE_LINE_BREAK","TRAILING_LINE_BREAK_AFTER_BR","INCLUDED_TRAILING_LINE_BREAK_AFTER_BR","getLength","isWhitespace","isCollapsedWhitespace","isIgnored","getTextNodeInfo","spaceRegex","collapseSpaces","cssWhitespace","preLine","hasInnerText","posAfterEl","firstPosInEl","prepopulateChar","isDefinitelyNonEmpty","isRenderedBlock","brs","getTrailingSpace","getNodeWrapper","getLeadingSpace","positionProto","characterType","isBr","prepopulatedChar","visibleChar","charType","finalizedChar","charAt","nodePassed","checkForTrailingSpace","checkForLeadingSpace","isCharInvariant","resolveLeadingAndTrailingSpaces","trailingSpace","leadingSpace","getPrecedingUncollapsedPosition","getPreviousPos","gotPreviousPos","previousPos","returnChar","thisChar","isIgnoredCharacter","cacheKey","cachedChar","collapsible","nextUncollapsed","nextOffset","previousOffset","createWrapperCache","nodeProperty","wrappersByProperty","wrapper","property","initCaches","uniqueIDSupported","elementCache","elementsCache","uniqueID","elWrapper","textNodeCache","otherNodeCache","wrapperCache","prefix","moveEnd","move","startTrimmed","endTrimmed","expandOptions","moved","endToken","newEndPos","startTokenizedTextProvider","startToken","newStartPos","endTokenizedTextProvider","selectCharacters","toCharacterRange","rangeStartsBeforeNode","rangeBetween","findText","searchTermParam","findResult","wrappedAround","pasteHtml","saveCharacterRanges","characterRange","restoreCharacterRanges","saved","innerText","createWordIterator","iteratorOptions","noMutation","createPosition","browser","iosVersion","userAgent","androidVersion","isIE","equation","re","rv","appName","parseFloat","$1","testElement","isGecko","isWebKit","isChrome","isOpera","USER_AGENT","hasContentEditableSupport","hasEditingApiSupport","execCommand","queryCommandSupported","queryCommandState","hasQuerySelectorSupport","querySelector","isIncompatibleMobileBrowser","isIos","isAndroid","isTouchDevice","supportsEvent","supportsSandboxedIframes","throwsMixedContentWarningWhenIframeSrcIsEmpty","displaysCaretInEmptyContentEditableCorrectly","hasCurrentStyleProperty","insertsLineBreaksOnReturn","supportsPlaceholderAttributeOn","eventName","supportsEventsInIframeCorrectly","supportsHTML5Tags","html5","supportsCommand","buggyCommands","formatBlock","insertUnorderedList","insertOrderedList","insertHTML","command","isBuggy","e1","queryCommandEnabled","e2","doesAutoLinkingInContentEditable","canDisableAutoLinking","clearsContentEditableCorrectly","supportsGetAttributeCorrectly","getAttribute","canSelectImagesInContentEditable","autoScrollsToCaret","autoClosesUnclosedTags","clonedTestElement","supportsNativeGetElementsByClassName","getElementsByClassName","supportsSelectionModify","needsSpaceAfterLineBreak","supportsSpeechApiOn","input","chromeVersion","crashesWhenDefineProperty","doesAsyncFocus","hasProblemsSettingCaretAfterImg","hasLiDeletingProblem","hasUndoInContextMenu","hasInsertNodeIssue","hasIframeFocusIssue","createsNestedInvalidMarkupAfterPaste","hasCaretBlockElementIssue","supportsMutationEvents","supportsModernPaste","fixStyleKey","usesControlRanges","hasCaretAtLinkEndInsertionProblems","array","needle","isArray","without","arrayToSubstract","newArr","newArray","map","callback","thisArg","A","unique","vals","max","idx","Dispatcher","on","handler","events","off","handlers","newHandlers","fire","payload","observe","stopObserving","merge","otherObj","isPlainObject","difference","diffObj","newObj","isFunction","Text","isEmpty","WHITE_SPACE_START","WHITE_SPACE_END","ENTITY_REG_EXP","ENTITY_MAP","&","<",">","\"","\t","string","str","interpolate","vars","by","search","escapeHTML","linebreaks","convertSpaces","c","autoLink","ignoreInClasses","_hasParentThatShouldBeIgnored","_parseNode","_convertUrlsToLinks","URL_REG_EXP","url","punctuation","TRAILING_CHAR_REG_EXP","opening","BRACKETS","realUrl","displayUrl","MAX_DISPLAY_LENGTH","substr","_getTempElement","tempElement","_wysihtml_tempElement","_wrapMatchesInNode","IGNORE_URLS_IN","childNodesLength",")","]","}","addClass","classList","hasClass","removeClass","elementClassName","thisOwner","otherOwner","point","parents","location_index","smallest_common_ancestor","this_index","other_index","ContentEditableArea","getContentEditable","readyCallback","_bindElement","_createElement","destroy","_loadElement","contentExists","that","innerHtml","_getHtml","loaded","setTimeout","templateVars","convertToList","_createListItem","list","listItem","_createList","listType","uneditableClass","childNode","lineBreak","isBlockElement","isLineBreak","currentListItem","lineBreaks","lineBreaksLength","getStyle","from","insert","after","replaceChild","copyAttributes","attributesToCopy","elementToCopyFrom","to","pasteElementAttributesTo","elementToCopyTo","attribute","andTo","BOX_SIZING_PROPERTIES","shouldIgnoreBoxSizingBorderBox","hasBoxSizingBorderBox","offsetWidth","copyStyles","stylesToCopy","cssText","pasteStylesTo","setStyles","delegate","target","domNode","defaultNodeTypes","is","emptyTextNode","ignoreWhitespace","regx","rangyBookmark","visible","isVisible","getTextContent","voidElement","query","prev","prevNode","types","ignoreBlankTexts","commonAncestor","parents1","parents2","lastLeafNode","leafClasses","escapeParent","newWrapper","split2","nodeWrap","curNode","transferContentTo","targetNode","removeOldWrapper","properties","classRegExp","styleProperty","hasOneStyle","styles","j","maxStyleP","styleValue","attr","getAttributes","attrList","hasOneAttribute","attributeValue","a","getAsDom","_innerHTMLShiv","_ensureHTML5Compatibility","_wysihtml_supportsHTML5Tags","HTML5_ELEMENTS","attributeName","HAS_GET_ATTRIBUTE_BUG","isLoadedImage","src","outerHTML","hasAttribute","attributes","specified","getParentElement","levels","getPastedHtml","clipboardData","getData","getPastedHtmlWithDiv","composer","selBookmark","cleanerDiv","scrollPos","getScrollPos","width","height","overflow","top","y","left","x","setBookmark","camelize","REG_EXP_CAMELIZE","toUpperCase","stylePropertyMapping","float","camelizedProperty","originalOverflow","needsOverflowReset","getPropertyValue","ingoreEmpty","textContent","_getDocumentIdentifier","_wysihtml_identifier","DOCUMENT_IDENTIFIER","LIVE_CACHE","hasElementWithClassName","cacheEntry","hasElementWithTagName","elementToInsert","before","into","insertCSS","rules","styleElement","styleSheet","link","head","complete","_isLineBreak","_isLineBreakOrBlockElement","eventNames","handlerWrapper","srcElement","preventDefault","stopPropagation","cancelBubble","detachEvent","parse","elementOrHtml_current","config_current","elementOrHtml","currentRules","defaultRules","isString","clearInternals","selectors","_applySelectorRules","_convert","cleanUp","unjoinNbsps","txtnodes","getCorrectInnerHTML","oldNode","newChild","nodeDisplay","oldNodeType","oldChilds","oldChildsLength","NODE_TYPE_MAPPING","blockElements","DEFAULT_NODE_NAME","selectorRules","els","elementHandlingMethods","_handleElement","rule","renameTag","tagRules","tags","scopeName","_wysihtml","unwrap","rename_tag","one_of_type","_testTypes","remove_action","remove_action_rename_to","_handleAttributes","_handleStyles","definition","type_definitions","_testType","classesLength","styleProp","nodeClasses","nodeStyles","m","typeCeckMethods","WHITE_SPACE_REG_EXP","sp","attrs","v","keep_styles","styleFloat","cssFloat","_getAttributesBeginningWith","beginning","returnAttributes","_checkAttribute","newAttributeValue","attributeCheckMethods","_checkAttributes","local_attributes","newValue","matchingAttributes","globalAttributes","checkAttributes","oldAttributes","imax","currentClass","newClass","setClass","set_class","add_class","addStyle","add_style","setAttributes","set_attributes","allowedClasses","newClasses","oldClasses","check_attributes","addClassMethods","addStyleMethods","newStyle","classes_blacklist","_handleText","_handleComment","comments","createComment","1","3","8","REG_EXP","href","alt","numbers","dimension","any","align_text","mapping","right","center","align_img","justify","clear_br","both","size_font","2","4","5","6","7","-","+","has_visible_contet","txt","visibleElements","offsetHeight","q","removeEmptyTextNodes","removeInvisibleSpaces","renameElement","newNodeName","newElement","replaceWithChildNodes","_isBlockElement","_appendLineBreak","resolveList","useLineBreaks","isLastChild","shouldAppendLineBreak","paragraph","isLastItem","lastListItem","lastElementChild","firstElementChild","windowProperties","windowProperties2","documentProperties","Sandbox","editableArea","_createIframe","insertInto","getIframe","_readyError","iframe","security","allowtransparency","frameborder","marginwidth","marginheight","onload","onreadystatechange","_onLoadIframe","iframeWindow","iframeDocument","charset","characterSet","sandboxHtml","stylesheets","open","write","close","onerror","fileName","lineNumber","_unset","setter","__defineGetter__","__defineSetter__","simulatePlaceholder","editor","view","placeholderText","placeholderClassName","CLASS_NAME","unset","composerIsVisible","hasPlaceholderSet","clear","placeholderSet","setValue","setTextContent","children","cleanPastedHTML","styleToRegex","styleStr","trimmedStr","escapedStr","extendRulesWithStyleExceptions","exceptStyles","tag","newRules","pickRuleset","ruleset","defaultSet","condition","newHtml","color","referenceNode","fontSize","ensureProperClearing","clearIfNecessary","TILDE_ESCAPED","urlToSearch","elementsWithTilde","redraw","getColorParseMethod","colorStr","colorTypeConf","colorParseMethods","getColorFormat","rgba","rgb","hex6","radix","hex3","makeParamRegExp","styleParser","parseColor","stylesStr","paramName","paramsRegex","colorType","colorMatch","d","unparseColor","colorFormat","hexRadix","parseFontSize","_getCumulativeOffsetTop","offsetTop","offsetParent","getDepth","getRangeNode","getWebkitSelectionFixNode","blankNode","placeholderRemover","delayedPlaceholderRemover","minWidth","expandRangeToSurround","common","start_depth","end_depth","contain","unselectableClass","getRange","setSelection","setBefore","createTemporaryCaretSpaceAfter","caretPlaceholder","caretPlaceholderText","keyDownHandler","setAfter","bind","which","ctrlKey","metaKey","zIndex","notVisual","fixWebkitSelection","lastSibling","setScrollPos","avoidInvisibleSpace","isElement","displayStyle","getSelectedNode","fixSelBorders","getSelectedOwnNodes","getOwnRanges","ownNodes","maxi","findNodesInSelection","curNodes","filterElements","containsUneditable","uneditables","getOwnUneditables","deleteRangeContents","startParent","endParent","ev","dispatchEvent","err","getCaretNode","getPreviousNode","ignoreEmpty","getNodesNearCaret","caretNode","textOffset","getSelectionParentsByTag","curEl","getRangeToNodeEnd","sNode","lastR","getRangeToNodeBeginning","caretIsInTheEndOfNode","ignoreIfSpaceIsBeforeCaret","endc","endtxt","beginc","begintxt","rangeToNodeEnd","caretIsFirstInSelection","includeLineBreaks","ws","whiteSpace","caretIsInTheBeginnig","ofNode","getBeforeSelection","includePrevLeaves","inTmpCaret","rng","prevLeaf","executeAndRestoreRangy","restoreScrollPosition","executeAndRestore","newCaretPlaceholder","prevSibling","newRange","oldScrollTop","oldScrollLeft","placeholderHtml","lastEditorElement","canAppendChild","anchorNodeTagNameLower","voidElements","splitElementAtCaret","contentAfterRangeStart","surround","nodeOptions","cssStyle","scrollIntoView","tolerance","hasScrollBars","scrollHeight","_wysihtmlScrollIntoViewElement","selectLine","_selectLine_W3C","getBoundingClientRect","_selectLineUniversal","includeRangyRangeHelpers","isHelperNode","initialBoundry","modify","toLineBoundary","location","getRangeRect","rect","testNode","amount","testRect","found","isLineBreakingElement","pnode","bottom","getText","getOwnNodes","splitBounds","rmax","fixRangeOverflow","containment","_detectInlineRangeProblems","previousElementSibling","_endOffsetForNode","dontFix","allUneditables","deepUneditables","tmpRanges","tmpRange","jmax","selectAll","blankEndNode","blankStartNode","doSelect","notSelected","getHtml","getPlainText","isEndToEndInNode","nodeNames","isInThisEditable","deselect","Commands","support","commandValue","state","stateValue","getOptions","createLink","opts","formatInline","correctOptionsForSimilarityCheck","isBlock","isBookmark","isLineBreaking","cleanup","newBlockElements","nbIdx","allElements","BLOCK_ELEMENTS","noEditQuery","classNames","uneditableContainer","defaultNodeName","findOuterBlock","allBlocks","UNNESTABLE_BLOCK_ELEMENTS","cloneOuterInlines","innerNode","el2","INLINE_ELEMENTS","outerNode","applyOptionsToElement","removeOptionsFromElement","unwrapped","removeAttribute","applySurroundingLineBreaks","unwrapBlocksFromContent","nextEl","prevEl","blocks","fixRangeCoverage","fixNotPermittedInsertionPoints","lis","maxj","rangePos","closestLI","newRanges","getOptionsWithNodename","defaultName","correctedOptions","injectFragmentToRange","firstOuterBlock","outerInlines","first","last","rangeStartContainer","fc","lc","clearRangeBlockFromating","closestBlockName","cmax","removeSurroundingLineBreaks","prevPrev","wrapRangeWithElement","similarOptions","isWhitespaceBefore","isWhitespaceAfter","similarOuterBlock","splitAllBlocks","trimBlankTextsAndBreaks","tmpEl","getParentBlockNodeName","expandCaretToBlock","insertingNodeName","selectElements","lastEl","lastOffset","formatSelection","parseOptions","caretIsOnEmptyLine","caretInfo","parentNodes","hasNoClass","hasNoStyle","hasNoAttributes","isSameNode","element1","element2","classes1","classes2","attr1","attr2","createWrapNode","defaultTag","containsSameAttributes","updateElementAttributes","newAttributes","fullContain","updateFormatOfElement","nodeNameQuery","nodeQueryMatch","queryAliasMap","getSelectedTextNodes","findSimilarTextNodeWrapper","exact","isSimilarNode","selectRange","selectTextNodes","lastText","selectTextNode","getState","searchNodes","partial","caretIsInsideWord","beforeChar","afterChar","getRangeForWord","offsetStart","offsetEnd","txtNodes","wordOffset","mergeContents","mergeConsequentSimilarElements","cleanupAndSetSelection","cleanupAndSetCaret","formatTextNode","wrapNode","unformatTextNode","newWrapNode","removeFormatFromTextNode","formatTextRange","updateFormat","wordObj","exactState","removeFormat","applyFormat","fixOptions","b","strong","em","indentList","listEls","tryToPushLiLevel","liNodes","listTag","prevLi","liNode","prevLiList","LINE_BREAK","insertLineBreak","insertList","isNode","findListEl","other","parentLi","otherNodeName","handleSameTypeList","otherLists","innerLists","getListsInSelection","l","handleOtherTypeList","renameLists","createListFallback","tempClassName","getTime","selectedNode","cmd","outdentList","tryToPullLiLevel","listNode","outerListNode","outerLiNode","afterList","getAfterList","newList","redo","undoManager","removeLink","undo","Z_KEY","Y_KEY","MAX_HISTORY_ENTRIES","DATA_ATTR_NODE","DATA_ATTR_OFFSET","UndoManager","historyStr","historyDom","transact","_observe","lastKey","sandbox","altKey","keyCode","isUndo","shiftKey","isRedo","previousHtml","currentHtml","getValue","getChildNodeIndex","undoPossible","redoPossible","historyEntry","getChildNodeByIndex","View","textareaElement","noTextarea","_observeViewChange","currentView","show","hide","disable","enable","Composer","editableElement","textarea","contentEditableMode","_initContentEditableArea","_initSandbox","_displayStyle","disabled","setToEnd","_create","_createWysiwygFormField","form","hiddenField","_initAutoLinking","placeholder","_initObjectResizing","_initUndoManager","_initLineBreaking","initSync","sync","supportsDisablingOfAutoLinking","supportsAutoLinking","nodeWithSelection","isInUneditable","links","urlRegExp","newTextContent","propertiesLength","adjust","USE_NATIVE_LINE_BREAK_INSIDE_TAGS","LIST_TAGS","defaultPrevented","blockElement","HOST_TEMPLATE","TEXT_FORMATTING","BOX_FORMATTING","ADDITIONAL_CSS_RULES","focusWithoutScrolling","setActive","elementStyle","originalScrollTop","originalScrollLeft","originalStyles","WebkitUserSelect","displayValueForCopying","originalActiveElement","hasPlaceholder","originalPlaceholder","originalDisplayValue","originalDisabled","focusStylesHost","blurStylesHost","disabledStylesHost","blur","boxFormattingStyles","shortcuts","66","73","85","actions","addListeners","removeListeners","fixLastBrDeletionInTable","force","aNode","handleUneditableDeletion","fixDeleteInTheBeginningOfBlock","selNode","commonAncestorNode","fixDeleteInTheBeginningOfLi","firstNode","intermediaryNode","isInBeginnig","fixDeleteInTheBeginningOfControlSelection","afterCaretNode","doLineBreaksModeEnterWithCaret","breakNodes","doubleLineBreakEscapesBlock","brNode","br1","br2","handleDeleteKeyPress","handleEnterKeyPress","targetEl","handleTabKeyDown","handleDomNodeRemoved","domNodeRemovedInterval","clearInterval","handleUserInteraction","handleFocus","focusState","handleBlur","changeevent","create","handlePaste","handleCopy","copyedFromMarking","setData","handleKeyUp","handleMouseDown","allImages","notMyImages","myImages","lastMouseDownPos","clientX","clientY","handleIEControlSelect","caretPosition","moveToPoint","handleClick","uneditable","handleDrop","handleKeyDown","handleTabKey","handleKeyPress","invisibleSpace","space","observeActions","focusBlurElement","setInterval","INTERVAL","Synchronizer","fromComposerToTextarea","shouldParseHtml","fromTextareaToComposer","textareaValue","interval","startInterval","stopInterval","SourceView","switchToTextarea","composerStyles","switchToComposer","Textarea","supportsPlaceholder","eventMapping","focusin","focusout","undef","Editor","parserRules","br","span","div","u","pasteParserRulesets","parser","supportTouchDevices","_isCompatible","_initParser","handleBeforeLoad","sourceView","synchronizer","runEditorExtenders","isCompatible","htmlOrElement","customRules","parseContext","oldHtml","_cleanAndPaste","pastedHTML","cleanHtml"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"wysihtml.min.js","sources":["../wysihtml.js"],"names":["wysihtml","version","commands","dom","quirks","toolbar","lang","selection","views","editorExtenders","extendEditor","extender","this","push","INVISIBLE_SPACE","INVISIBLE_SPACE_REG_EXP","VOID_ELEMENTS","PERMITTED_PHRASING_CONTENT_ONLY","EMPTY_FUNCTION","ELEMENT_NODE","TEXT_NODE","BACKSPACE_KEY","ENTER_KEY","ESCAPE_KEY","SPACE_KEY","TAB_KEY","DELETE_KEY","polyfills","win","doc","methods","normalizeHasCaretError","originalTarget","s","ret","scrollTop","window","pageYOffset","scrollLeft","pageXOffset","e","createElement","t1","createTextNode","t2","t3","r","createRange","document","activeElement","nodeType","indexOf","nodeName","type","node","start","selectionStart","end","selectionEnd","getSelection","anchorNode","anchorOffset","focusNode","focusOffset","setAttribute","appendChild","body","setStart","setEnd","removeAllRanges","addRange","normalize","childNodes","length","firstChild","parentNode","removeChild","setSelectionRange","focus","scrollTo","apply","nativeCustomEventSupported","p","CustomEvent","detail","foo","ELEMENT","matches","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","selector","element","elements","ownerDocument","querySelectorAll","index","closest","parentElement","remove","Element","prototype","documentElement","Object","defineProperty","HTMLElement","get","update","fn","value","classes","self","className","split","join","add","splice","toggle","contains","item","i","getTextNodes","all","nextSibling","concat","isInDom","n","normalizeFix","nf","Node","texts","defaultView","anode","aoffset","aelement","undefined","fnode","foffset","felement","prevTxt","shift","curText","nodeValue","compareDocumentPosition","DOCUMENT_POSITION_PRECEDING","DOCUMENT_POSITION_CONTAINS","previousSibling","Array","call","F","removeEventListener","readyState","addEventListener","event","params","bubbles","cancelable","evt","createEvent","initCustomEvent","Event","Base","extend","_instance","_static","_prototyping","proto","base","constructor","klass","_constructing","arguments","ancestor","forEach","implement","toString","valueOf","init","source","test","method","previous","returnValue","toSource","hidden","key","object","block","context","String","rangy","isHostMethod","o","t","FUNCTION","OBJECT","isHostObject","isHostProperty","UNDEFINED","createMultiplePropertyTest","testFunc","props","isTextRange","range","areHostMethods","textRangeMethods","areHostProperties","textRangeProperties","getBody","getElementsByTagName","consoleLog","msg","console","log","alertOrLog","shouldAlert","isBrowser","alert","fail","reason","api","initialized","supported","config","alertOnFail","warn","alertOnWarn","getErrorDesc","ex","message","description","testRange","implementsDomRange","implementsTextRange","domRangeMethods","domRangeProperties","toLowerCase","createTextRange","features","module","errorMessage","moduleName","modules","Module","len","initListeners","deprecationNotice","deprecated","replacement","name","createAliasForDeprecatedMethod","owner","util","toArray","shim","shimListeners","dependencies","initializer","createModule","initFunc","newModule","stack","RangePrototype","SelectionPrototype","areHostObjects","arr","func","preferTextRange","autoInitialize","rangyAutoInitialize","hasOwnProperty","obj","deep","createOptions","optionsParam","defaults","options","el","slice","arrayLike","addListener","eventType","listener","attachEvent","addInitListener","addShimListener","createMissingNativeApi","requiredModule","requiredModuleNames","Error","createError","createCoreModule","rangePrototype","selectionPrototype","isHtmlNamespace","ns","namespaceURI","UNDEF","parent","getNodeIndex","getNodeLength","getCommonAncestor","node1","node2","ancestors","arrayContains","isAncestorOf","descendant","selfIsAncestor","isOrIsAncestorOf","getClosestAncestorIn","isCharacterDataNode","isTextOrCommentNode","insertAfter","precedingNode","nextNode","insertBefore","splitDataNode","positionsToPreserve","newNode","cloneNode","deleteData","position","offset","getDocument","getWindow","parentWindow","getIframeDocument","iframeEl","contentDocument","contentWindow","getIframeWindow","isWindow","getContentDocument","methodName","tagName","getRootContainer","comparePoints","nodeA","offsetA","nodeB","offsetB","nodeC","root","childA","childB","isBrokenNode","inspectNode","crashyTextNodes","data","idAttr","id","innerHTML","fragmentFromNodeChildren","child","fragment","createDocumentFragment","createTestElement","html","contentEditable","bodyFirstChild","removeNode","NodeIterator","_next","createIterator","DomPosition","DOMException","codeName","code","textNode","val","getComputedStyleProperty","getComputedStyle","propName","currentStyle","_current","hasNext","next","detach","equals","pos","inspect","INDEX_SIZE_ERR","HIERARCHY_REQUEST_ERR","WRONG_DOCUMENT_ERR","NO_MODIFICATION_ALLOWED_ERR","NOT_FOUND_ERR","NOT_SUPPORTED_ERR","INVALID_STATE_ERR","INVALID_NODE_TYPE_ERR","isNonTextPartiallySelected","startContainer","endContainer","getRangeDocument","getRangeRoot","getBoundaryBeforeNode","getBoundaryAfterNode","insertNodeAtPosition","firstNodeInserted","rangesIntersect","rangeA","rangeB","touchingIsIntersecting","assertRangeValid","startComparison","startOffset","endOffset","endComparison","cloneSubtree","iterator","partiallySelected","subIterator","frag","isPartiallySelectedSubtree","getSubtreeIterator","iterateSubtree","rangeIterator","iteratorState","it","stop","subRangeIterator","deleteSubtree","extractSubtree","getNodesInRange","nodeTypes","filter","regex","filterNodeTypes","filterExists","RegExp","nodes","RangeIterator","sc","ec","getName","clonePartiallySelectedTextNodes","collapsed","so","eo","commonAncestorContainer","isSingleCharacterDataNode","_first","_last","createAncestorFinder","assertNoDocTypeNotationEntityAncestor","allowSelf","getDocTypeNotationEntityAncestor","assertValidNodeType","invalidTypes","assertValidOffset","assertSameDocumentOrFragment","getDocumentOrFragmentContainer","assertNodeNotReadOnly","getReadonlyAncestor","assertNode","isValidOffset","isRangeValid","splitRangeBoundaries","startEndSame","setStartAndEnd","rangeToHtml","container","cloneContents","copyComparisonConstantsToObject","START_TO_START","s2s","START_TO_END","s2e","END_TO_END","e2e","END_TO_START","e2s","NODE_BEFORE","n_b","NODE_AFTER","n_a","NODE_BEFORE_AND_AFTER","n_b_a","NODE_INSIDE","n_i","copyComparisonConstants","createRangeContentRemover","remover","boundaryUpdater","boundary","reset","createPrototypeRange","createBeforeAfterNodeSetter","isBefore","isStart","beforeAfterNodeTypes","rootContainerNodeTypes","setRangeStart","setRangeEnd","args","setBoundary","setStartBefore","setStartAfter","setEndBefore","setEndAfter","collapse","selectNodeContents","selectNode","extractContents","deleteContents","canSurroundContents","boundariesInvalid","splitBoundaries","splitBoundariesPreservingPositions","normalizeBoundaries","sibling","mergeForward","appendData","mergeBackward","nodeLength","insertData","nodeIndex","normalizeStart","endNode","startNode","collapseToPoint","updateCollapsedAndCommonAncestor","updateBoundaries","Range","current","subRange","cloneRange","readonlyNodeTypes","insertableNodeTypes","surroundNodeTypes","styleEl","htmlParsingConforms","createContextualFragment","fragmentStr","rangeProperties","compareBoundaryPoints","how","prefixA","prefixB","insertNode","clone","surroundContents","content","hasChildNodes","lastChild","prop","textParts","compareNode","comparePoint","toHtml","intersectsNode","isPointInRange","intersectsRange","intersectsOrTouchesRange","intersection","intersectionRange","union","unionRange","containsNode","allowPartial","containsNodeContents","containsRange","containsNodeText","nodeRange","textNodes","getNodes","lastTextNode","pop","collapseBefore","collapseAfter","getBookmark","containerNode","preSelectionRange","moveToBookmark","bookmark","charIndex","nextCharIndex","nodeStack","foundStart","rangesEqual","isValid","r1","r2","DomRange","WrappedRange","WrappedTextRange","updateRangeProperties","nativeRange","updateNativeRange","startMoved","endMoved","nativeRangeDifferent","rangeProto","refresh","testTextNode","oppositeName","range2","createNativeRange","getTextRangeContainerElement","textRange","parentEl","duplicate","startEl","endEl","startEndContainer","textRangeIsCollapsed","compareEndPoints","getTextRangeBoundaryPosition","wholeRangeContainerElement","isCollapsed","startInfo","workingRange","containerElement","canHaveHTML","boundaryPosition","nodeInfo","workingNode","comparison","previousNode","boundaryNode","workingComparisonType","childNodeCount","moveToElementText","Math","floor","setEndPoint","tempRange","rangeLength","text","replace","moveStart","createBoundaryTextRange","boundaryParent","boundaryOffset","nodeIsDataNode","startBoundary","rangeContainerElement","rangeToTextRange","startRange","endRange","toTextRange","globalObj","f","Function","createRangyRange","isDirectionBackward","dir","WrappedSelection","getWinSelection","winParam","getDocSelection","winSelectionIsBackward","sel","backward","updateAnchorAndFocusFromRange","anchorPrefix","focusPrefix","updateAnchorAndFocusFromNativeSelection","nativeSel","nativeSelection","updateEmptySelection","rangeCount","_ranges","getNativeRange","rangeContainsSingleElement","rangeNodes","getSingleElementFromRange","updateFromTextRange","wrappedRange","updateControlSelection","docSelection","controlRange","addRangeToControlSelection","rangeElement","newControlRange","createControlRange","select","deleteProperties","detached","actOnCachedSelection","action","cached","cachedRangySelections","createControlSelection","ranges","assertNodeInSameDocument","createStartOrEndSetter","getRangeAt","setSingleRange","isBackward","rangeInspects","anchor","checkSelectionRanges","getNativeSelection","selectionIsCollapsed","BOOLEAN","NUMBER","CONTROL","implementsWinGetSelection","implementsDocSelection","useDocumentSelection","isSelectionValid","testSelection","selectionHasAnchorAndFocus","selectionHasExtend","selectionHasRangeCount","selectionSupportsMultipleRanges","collapsedNonEditableSelectionsSupported","addRangeBackwardToNative","originalSelectionRangeCount","selectionHasMultipleRanges","originalSelectionRanges","originalSelectionBackward","testEl","chromeMatch","navigator","appVersion","match","parseInt","testControlRange","implementsControlRange","getSelectionRangeAt","docSel","selProto","addRangeBackward","direction","previousRangeCount","clonedNativeRange","selectionIsBackward","setRanges","empty","refreshSelection","checkForChanges","oldRanges","oldAnchorNode","oldAnchorOffset","removeRangeManually","getAllRanges","removeRange","removed","isBackwards","rangeTexts","collapseToStart","collapseToEnd","selectAllChildren","deleteFromDocument","eachRange","callMethodOnEachRange","results","changeEachRange","rangeBookmarks","rangeBookmark","selRanges","saveRanges","restoreRanges","rangeHtmls","getNativeTextRange","detachAll","Selection","docReady","loadHandler","gEBI","getElementById","insertRangeBoundaryMarker","atStart","markerEl","markerId","Date","random","boundaryRange","style","lineHeight","display","markerTextChar","setRangeBoundary","compareRanges","saveRange","startMarkerId","endMarkerId","restoreRange","rangeInfo","rangeInfos","sort","saveSelection","restored","restoreSelection","savedSelection","preserveDirection","removeMarkerElement","removeMarkers","defaultTokenizer","chars","wordOptions","createTokenRange","isWord","tokenRanges","result","wordStart","wordEnd","word","lastWordEnd","wordRegex","exec","includeTrailingSpace","nonLineBreakWhiteSpaceRegex","convertCharRangeToToken","tokenRange","tokenChars","token","tokenize","tokenizer","tokens","normalizeIgnoredCharacters","ignoredCharacters","ignoredChars","ignoredCharsArray","char1","char2","charCodeAt","createWordOptions","language","defaultLanguage","defaultWordOptions","createNestedOptions","characterOptions","defaultCharacterOptions","getComputedDisplay","tableCssDisplayBlock","defaultDisplayValueForTag","isHidden","getAncestorsAndSelf","isVisibilityHiddenTextNode","isBlockNode","containsPositions","getAncestors","unshift","nextNodeDescendants","excludeChildren","isWhitespaceNode","computedWhiteSpace","isCollapsedWhitespaceNode","isCollapsedNode","isIgnoredNode","Cache","store","createCachingGetter","objProperty","cache","cachedCount","uncachedCount","NodeWrapper","session","positions","Position","nodeWrapper","inspectPosition","startSession","endSession","currentSession","Session","getSession","createCharacterIterator","startPos","endPos","charPos","finished","previousVisible","nextVisible","previousTextPos","returnPreviousTextPos","character","getCharacter","rewind","dispose","createTokenizedTextProvider","consumeWord","forward","textChar","newChars","forwardIterator","backwardIterator","passedWordBoundary","insideWord","allWhiteSpaceRegex","forwardChars","backwardChars","reverse","forwardTokensBuffer","arrayIndexOf","backwardTokensBuffer","nextEndToken","lastToken","previousStartToken","movePositionBy","unit","count","currentPos","charIterator","nextPos","unitsMoved","newPos","absCount","abs","CHARACTER","WORD","tokenizedTextProvider","isLeadingSpace","isTrailingSpace","createRangeCharacterIterator","rangeStart","getRangeBoundaryPosition","rangeEnd","itStart","itEnd","getRangeCharacters","isWholeWord","expand","findTextFromPosition","initialPos","searchTerm","isRegex","searchScopeRange","findOptions","handleMatch","startIndex","endIndex","valid","wholeWordsOnly","currentChar","matchStartIndex","matchEndIndex","insideRegexMatch","caseSensitive","createEntryPointFunction","sessionRunning","createRangeBoundaryMover","moveOptions","defaultMoveOptions","boundaryIsStart","moveResult","createRangeTrimmer","trimCharCount","trimmed","createSelectionTrimmer","spacesRegex","spacesMinusLineBreaksRegex","trailingSpaceInBlockCollapses","trailingSpaceBeforeBrCollapses","trailingSpaceBeforeBlockCollapses","trailingSpaceBeforeLineBreakInPreLineCollapses","includeBlockContentTrailingSpace","includeSpaceBeforeBr","includeSpaceBeforeBlock","includePreLineTrailingSpace","ignoreCharacters","defaultCaretCharacterOptions","en","defaultFindOptions","withinRange","wrap","defaultExpandOptions","trim","trimStart","trimEnd","defaultWordIteratorOptions","table","caption","colgroup","col","thead","tbody","tfoot","tr","td","th","set","nodeProto","getPosition","EMPTY","NON_SPACE","UNCOLLAPSIBLE_SPACE","COLLAPSIBLE_SPACE","TRAILING_SPACE_BEFORE_BLOCK","TRAILING_SPACE_IN_BLOCK","TRAILING_SPACE_BEFORE_BR","PRE_LINE_TRAILING_SPACE_BEFORE_LINE_BREAK","TRAILING_LINE_BREAK_AFTER_BR","INCLUDED_TRAILING_LINE_BREAK_AFTER_BR","getLength","isWhitespace","isCollapsedWhitespace","isIgnored","getTextNodeInfo","spaceRegex","collapseSpaces","cssWhitespace","preLine","hasInnerText","posAfterEl","firstPosInEl","prepopulateChar","isDefinitelyNonEmpty","isRenderedBlock","brs","getTrailingSpace","getNodeWrapper","getLeadingSpace","positionProto","characterType","isBr","prepopulatedChar","visibleChar","charType","finalizedChar","charAt","nodePassed","checkForTrailingSpace","checkForLeadingSpace","isCharInvariant","resolveLeadingAndTrailingSpaces","trailingSpace","leadingSpace","getPrecedingUncollapsedPosition","getPreviousPos","gotPreviousPos","previousPos","returnChar","thisChar","isIgnoredCharacter","cacheKey","cachedChar","collapsible","nextUncollapsed","nextOffset","previousOffset","createWrapperCache","nodeProperty","wrappersByProperty","wrapper","property","initCaches","uniqueIDSupported","elementCache","elementsCache","uniqueID","elWrapper","textNodeCache","otherNodeCache","wrapperCache","prefix","moveEnd","move","startTrimmed","endTrimmed","expandOptions","moved","endToken","newEndPos","startTokenizedTextProvider","startToken","newStartPos","endTokenizedTextProvider","selectCharacters","toCharacterRange","rangeStartsBeforeNode","rangeBetween","findText","searchTermParam","findResult","wrappedAround","pasteHtml","saveCharacterRanges","characterRange","restoreCharacterRanges","saved","innerText","createWordIterator","iteratorOptions","noMutation","createPosition","browser","iosVersion","userAgent","androidVersion","isIE","equation","re","rv","appName","parseFloat","$1","testElement","isGecko","isWebKit","isChrome","isOpera","USER_AGENT","hasContentEditableSupport","hasEditingApiSupport","execCommand","queryCommandSupported","queryCommandState","hasQuerySelectorSupport","querySelector","isIncompatibleMobileBrowser","isIos","isAndroid","isTouchDevice","supportsEvent","supportsSandboxedIframes","throwsMixedContentWarningWhenIframeSrcIsEmpty","displaysCaretInEmptyContentEditableCorrectly","hasCurrentStyleProperty","insertsLineBreaksOnReturn","supportsPlaceholderAttributeOn","eventName","supportsEventsInIframeCorrectly","supportsHTML5Tags","html5","supportsCommand","buggyCommands","formatBlock","insertUnorderedList","insertOrderedList","insertHTML","command","isBuggy","e1","queryCommandEnabled","e2","doesAutoLinkingInContentEditable","canDisableAutoLinking","clearsContentEditableCorrectly","supportsGetAttributeCorrectly","getAttribute","canSelectImagesInContentEditable","autoScrollsToCaret","autoClosesUnclosedTags","clonedTestElement","supportsNativeGetElementsByClassName","getElementsByClassName","supportsSelectionModify","needsSpaceAfterLineBreak","supportsSpeechApiOn","input","chromeVersion","crashesWhenDefineProperty","doesAsyncFocus","hasProblemsSettingCaretAfterImg","hasLiDeletingProblem","hasUndoInContextMenu","hasInsertNodeIssue","hasIframeFocusIssue","createsNestedInvalidMarkupAfterPaste","hasCaretBlockElementIssue","supportsMutationEvents","supportsModernPaste","fixStyleKey","usesControlRanges","hasCaretAtLinkEndInsertionProblems","array","needle","isArray","without","arrayToSubstract","newArr","newArray","map","callback","thisArg","A","unique","vals","max","idx","Dispatcher","on","handler","events","off","handlers","newHandlers","fire","payload","observe","stopObserving","merge","otherObj","isPlainObject","difference","diffObj","newObj","isFunction","Text","isEmpty","WHITE_SPACE_START","WHITE_SPACE_END","ENTITY_REG_EXP","ENTITY_MAP","&","<",">","\"","\t","string","str","interpolate","vars","by","search","escapeHTML","linebreaks","convertSpaces","c","autoLink","ignoreInClasses","_hasParentThatShouldBeIgnored","_parseNode","_convertUrlsToLinks","URL_REG_EXP","url","punctuation","TRAILING_CHAR_REG_EXP","opening","BRACKETS","realUrl","displayUrl","MAX_DISPLAY_LENGTH","substr","_getTempElement","tempElement","_wysihtml_tempElement","_wrapMatchesInNode","IGNORE_URLS_IN","childNodesLength",")","]","}","addClass","classList","hasClass","removeClass","elementClassName","thisOwner","otherOwner","point","parents","location_index","smallest_common_ancestor","this_index","other_index","ContentEditableArea","getContentEditable","readyCallback","_bindElement","_createElement","destroy","_loadElement","contentExists","that","innerHtml","_getHtml","loaded","setTimeout","templateVars","convertToList","_createListItem","list","listItem","_createList","listType","uneditableClass","childNode","lineBreak","isBlockElement","isLineBreak","currentListItem","lineBreaks","lineBreaksLength","getStyle","from","insert","after","replaceChild","copyAttributes","attributesToCopy","elementToCopyFrom","to","pasteElementAttributesTo","elementToCopyTo","attribute","andTo","BOX_SIZING_PROPERTIES","shouldIgnoreBoxSizingBorderBox","hasBoxSizingBorderBox","offsetWidth","copyStyles","stylesToCopy","cssText","pasteStylesTo","setStyles","delegate","target","domNode","defaultNodeTypes","is","emptyTextNode","ignoreWhitespace","regx","rangyBookmark","visible","isVisible","getTextContent","voidElement","query","prev","prevNode","types","ignoreBlankTexts","commonAncestor","parents1","parents2","lastLeafNode","leafClasses","escapeParent","newWrapper","split2","nodeWrap","curNode","transferContentTo","targetNode","removeOldWrapper","properties","classRegExp","styleProperty","hasOneStyle","styles","j","maxStyleP","styleValue","attr","getAttributes","attrList","hasOneAttribute","attributeValue","a","getAsDom","_innerHTMLShiv","_ensureHTML5Compatibility","_wysihtml_supportsHTML5Tags","HTML5_ELEMENTS","attributeName","HAS_GET_ATTRIBUTE_BUG","isLoadedImage","src","outerHTML","hasAttribute","attributes","specified","getParentElement","levels","getPastedHtml","clipboardData","getData","getPastedHtmlWithDiv","composer","selBookmark","cleanerDiv","scrollPos","getScrollPos","width","height","overflow","top","y","left","x","setBookmark","camelize","REG_EXP_CAMELIZE","toUpperCase","stylePropertyMapping","float","camelizedProperty","originalOverflow","needsOverflowReset","getPropertyValue","ingoreEmpty","textContent","_getDocumentIdentifier","_wysihtml_identifier","DOCUMENT_IDENTIFIER","LIVE_CACHE","hasElementWithClassName","cacheEntry","hasElementWithTagName","elementToInsert","before","into","insertCSS","rules","styleElement","styleSheet","link","head","complete","_isLineBreak","_isLineBreakOrBlockElement","eventNames","handlerWrapper","srcElement","preventDefault","stopPropagation","cancelBubble","detachEvent","parse","elementOrHtml_current","config_current","elementOrHtml","currentRules","defaultRules","isString","clearInternals","selectors","_applySelectorRules","_convert","cleanUp","unjoinNbsps","txtnodes","getCorrectInnerHTML","oldNode","newChild","nodeDisplay","oldNodeType","oldChilds","oldChildsLength","NODE_TYPE_MAPPING","blockElements","DEFAULT_NODE_NAME","selectorRules","els","elementHandlingMethods","_handleElement","rule","renameTag","tagRules","tags","scopeName","_wysihtml","unwrap","rename_tag","one_of_type","_testTypes","remove_action","remove_action_rename_to","_handleAttributes","_handleStyles","definition","type_definitions","_testType","classesLength","styleProp","nodeClasses","nodeStyles","m","typeCeckMethods","WHITE_SPACE_REG_EXP","sp","attrs","v","keep_styles","styleFloat","cssFloat","_getAttributesBeginningWith","beginning","returnAttributes","_checkAttribute","newAttributeValue","attributeCheckMethods","_checkAttributes","local_attributes","newValue","matchingAttributes","globalAttributes","checkAttributes","oldAttributes","imax","currentClass","newClass","setClass","set_class","add_class","addStyle","add_style","setAttributes","set_attributes","allowedClasses","newClasses","oldClasses","check_attributes","addClassMethods","addStyleMethods","newStyle","classes_blacklist","_handleText","_handleComment","comments","createComment","1","3","8","REG_EXP","href","alt","numbers","dimension","any","align_text","mapping","right","center","align_img","justify","clear_br","both","size_font","2","4","5","6","7","-","+","has_visible_contet","txt","visibleElements","offsetHeight","q","removeEmptyTextNodes","removeInvisibleSpaces","renameElement","newNodeName","newElement","replaceWithChildNodes","_isBlockElement","_appendLineBreak","resolveList","useLineBreaks","isLastChild","shouldAppendLineBreak","paragraph","isLastItem","lastListItem","lastElementChild","firstElementChild","windowProperties","windowProperties2","documentProperties","Sandbox","editableArea","_createIframe","insertInto","getIframe","_readyError","iframe","security","allowtransparency","frameborder","marginwidth","marginheight","onload","onreadystatechange","_onLoadIframe","iframeWindow","iframeDocument","charset","characterSet","sandboxHtml","stylesheets","open","write","close","onerror","fileName","lineNumber","_unset","setter","__defineGetter__","__defineSetter__","simulatePlaceholder","editor","view","placeholderText","placeholderClassName","CLASS_NAME","unset","composerIsVisible","hasPlaceholderSet","clear","placeholderSet","setValue","setTextContent","children","cleanPastedHTML","styleToRegex","styleStr","trimmedStr","escapedStr","extendRulesWithStyleExceptions","exceptStyles","tag","newRules","pickRuleset","ruleset","defaultSet","condition","newHtml","color","referenceNode","fontSize","ensureProperClearing","clearIfNecessary","TILDE_ESCAPED","urlToSearch","elementsWithTilde","redraw","getColorParseMethod","colorStr","colorTypeConf","colorParseMethods","getColorFormat","rgba","rgb","hex6","radix","hex3","makeParamRegExp","styleParser","parseColor","stylesStr","paramName","paramsRegex","colorType","colorMatch","d","unparseColor","colorFormat","hexRadix","parseFontSize","_getCumulativeOffsetTop","offsetTop","offsetParent","getDepth","getRangeNode","getWebkitSelectionFixNode","blankNode","placeholderRemover","delayedPlaceholderRemover","minWidth","expandRangeToSurround","common","start_depth","end_depth","contain","unselectableClass","getRange","setSelection","setBefore","createTemporaryCaretSpaceAfter","caretPlaceholder","caretPlaceholderText","keyDownHandler","setAfter","bind","which","ctrlKey","metaKey","zIndex","notVisual","fixWebkitSelection","lastSibling","setScrollPos","avoidInvisibleSpace","isElement","displayStyle","getSelectedNode","fixSelBorders","getSelectedOwnNodes","getOwnRanges","ownNodes","maxi","findNodesInSelection","curNodes","filterElements","containsUneditable","uneditables","getOwnUneditables","deleteRangeContents","startParent","endParent","ev","dispatchEvent","err","getCaretNode","getPreviousNode","ignoreEmpty","getNodesNearCaret","caretNode","textOffset","getSelectionParentsByTag","curEl","getRangeToNodeEnd","sNode","lastR","getRangeToNodeBeginning","caretIsInTheEndOfNode","ignoreIfSpaceIsBeforeCaret","endc","endtxt","beginc","begintxt","rangeToNodeEnd","caretIsFirstInSelection","includeLineBreaks","ws","whiteSpace","caretIsInTheBeginnig","ofNode","getBeforeSelection","includePrevLeaves","inTmpCaret","rng","prevLeaf","executeAndRestoreRangy","restoreScrollPosition","executeAndRestore","newCaretPlaceholder","prevSibling","newRange","oldScrollTop","oldScrollLeft","placeholderHtml","lastEditorElement","canAppendChild","anchorNodeTagNameLower","voidElements","splitElementAtCaret","contentAfterRangeStart","surround","nodeOptions","cssStyle","scrollIntoView","tolerance","hasScrollBars","scrollHeight","_wysihtmlScrollIntoViewElement","selectLine","_selectLine_W3C","getBoundingClientRect","_selectLineUniversal","includeRangyRangeHelpers","isHelperNode","initialBoundry","modify","toLineBoundary","location","getRangeRect","rect","testNode","amount","testRect","found","isLineBreakingElement","pnode","bottom","getText","getOwnNodes","splitBounds","rmax","fixRangeOverflow","containment","_detectInlineRangeProblems","previousElementSibling","_endOffsetForNode","dontFix","allUneditables","deepUneditables","tmpRanges","tmpRange","jmax","selectAll","blankEndNode","blankStartNode","doSelect","notSelected","getHtml","getPlainText","isEndToEndInNode","nodeNames","isInThisEditable","deselect","Commands","support","commandValue","state","stateValue","getOptions","createLink","opts","formatInline","correctOptionsForSimilarityCheck","isBlock","isBookmark","isLineBreaking","cleanup","newBlockElements","nbIdx","allElements","BLOCK_ELEMENTS","noEditQuery","classNames","uneditableContainer","defaultNodeName","findOuterBlock","allBlocks","UNNESTABLE_BLOCK_ELEMENTS","cloneOuterInlines","innerNode","el2","INLINE_ELEMENTS","outerNode","applyOptionsToElement","removeOptionsFromElement","unwrapped","removeAttribute","applySurroundingLineBreaks","unwrapBlocksFromContent","nextEl","prevEl","blocks","fixRangeCoverage","fixNotPermittedInsertionPoints","lis","maxj","rangePos","closestLI","newRanges","getOptionsWithNodename","defaultName","correctedOptions","injectFragmentToRange","firstOuterBlock","outerInlines","first","last","rangeStartContainer","fc","lc","clearRangeBlockFromating","closestBlockName","cmax","removeSurroundingLineBreaks","prevPrev","wrapRangeWithElement","similarOptions","isWhitespaceBefore","isWhitespaceAfter","similarOuterBlock","splitAllBlocks","trimBlankTextsAndBreaks","tmpEl","getParentBlockNodeName","expandCaretToBlock","insertingNodeName","selectElements","lastEl","lastOffset","formatSelection","parseOptions","caretIsOnEmptyLine","caretInfo","parentNodes","hasNoClass","hasNoStyle","hasNoAttributes","isSameNode","element1","element2","classes1","classes2","attr1","attr2","createWrapNode","defaultTag","containsSameAttributes","updateElementAttributes","newAttributes","fullContain","updateFormatOfElement","nodeNameQuery","nodeQueryMatch","queryAliasMap","getSelectedTextNodes","findSimilarTextNodeWrapper","exact","isSimilarNode","selectRange","selectTextNodes","lastText","selectTextNode","getState","searchNodes","partial","caretIsInsideWord","beforeChar","afterChar","getRangeForWord","offsetStart","offsetEnd","txtNodes","wordOffset","mergeContents","mergeConsequentSimilarElements","cleanupAndSetSelection","cleanupAndSetCaret","formatTextNode","wrapNode","unformatTextNode","newWrapNode","removeFormatFromTextNode","formatTextRange","updateFormat","wordObj","exactState","removeFormat","applyFormat","fixOptions","b","strong","em","indentList","listEls","tryToPushLiLevel","liNodes","listTag","prevLi","liNode","prevLiList","LINE_BREAK","insertLineBreak","insertList","isNode","findListEl","other","parentLi","otherNodeName","handleSameTypeList","otherLists","innerLists","getListsInSelection","l","handleOtherTypeList","renameLists","createListFallback","tempClassName","getTime","selectedNode","cmd","outdentList","tryToPullLiLevel","listNode","outerListNode","outerLiNode","afterList","getAfterList","newList","redo","undoManager","removeLink","undo","Z_KEY","Y_KEY","MAX_HISTORY_ENTRIES","DATA_ATTR_NODE","DATA_ATTR_OFFSET","UndoManager","historyStr","historyDom","transact","_observe","lastKey","sandbox","altKey","keyCode","isUndo","shiftKey","isRedo","previousHtml","currentHtml","getValue","getChildNodeIndex","undoPossible","redoPossible","historyEntry","getChildNodeByIndex","View","textareaElement","noTextarea","_observeViewChange","currentView","show","hide","disable","enable","Composer","editableElement","textarea","contentEditableMode","_initContentEditableArea","_initSandbox","_displayStyle","disabled","setToEnd","_create","_createWysiwygFormField","form","hiddenField","_initAutoLinking","placeholder","_initObjectResizing","_initUndoManager","_initLineBreaking","initSync","sync","supportsDisablingOfAutoLinking","supportsAutoLinking","nodeWithSelection","isInUneditable","links","urlRegExp","newTextContent","propertiesLength","adjust","USE_NATIVE_LINE_BREAK_INSIDE_TAGS","LIST_TAGS","defaultPrevented","blockElement","HOST_TEMPLATE","TEXT_FORMATTING","BOX_FORMATTING","ADDITIONAL_CSS_RULES","focusWithoutScrolling","setActive","elementStyle","originalScrollTop","originalScrollLeft","originalStyles","WebkitUserSelect","displayValueForCopying","originalActiveElement","hasPlaceholder","originalPlaceholder","originalDisplayValue","originalDisabled","focusStylesHost","blurStylesHost","disabledStylesHost","blur","boxFormattingStyles","shortcuts","66","73","85","actions","addListeners","removeListeners","fixLastBrDeletionInTable","force","aNode","handleUneditableDeletion","fixDeleteInTheBeginningOfBlock","selNode","commonAncestorNode","fixDeleteInTheBeginningOfLi","firstNode","intermediaryNode","isInBeginnig","fixDeleteInTheBeginningOfControlSelection","afterCaretNode","doLineBreaksModeEnterWithCaret","breakNodes","doubleLineBreakEscapesBlock","brNode","br1","br2","handleDeleteKeyPress","handleEnterKeyPress","targetEl","handleTabKeyDown","handleDomNodeRemoved","domNodeRemovedInterval","clearInterval","handleUserInteraction","handleFocus","focusState","handleBlur","changeevent","create","handlePaste","handleCopy","copyedFromMarking","setData","handleKeyUp","handleMouseDown","allImages","notMyImages","myImages","lastMouseDownPos","clientX","clientY","handleIEControlSelect","caretPosition","moveToPoint","handleClick","uneditable","handleDrop","handleKeyDown","handleTabKey","handleKeyPress","invisibleSpace","space","observeActions","focusBlurElement","setInterval","INTERVAL","Synchronizer","fromComposerToTextarea","shouldParseHtml","fromTextareaToComposer","textareaValue","interval","startInterval","stopInterval","SourceView","switchToTextarea","composerStyles","switchToComposer","Textarea","supportsPlaceholder","eventMapping","focusin","focusout","undef","Editor","parserRules","br","span","div","u","pasteParserRulesets","parser","supportTouchDevices","_isCompatible","_initParser","handleBeforeLoad","sourceView","synchronizer","runEditorExtenders","isCompatible","htmlOrElement","customRules","parseContext","oldHtml","_cleanAndPaste","pastedHTML","cleanHtml"],"mappings":";;AAWA,GAAIA,WACFC,QAAS,cAGTC,YACAC,OACAC,UACAC,WACAC,QACAC,aACAC,SAEAC,mBACAC,aAAc,SAASC,GACrBC,KAAKH,gBAAgBI,KAAKF,IAG5BG,gBAAiB,SACjBC,wBAAyB,UAEzBC,cAAe,4FACfC,gCAAiC,iCAEjCC,eAAgB,aAEhBC,aAAc,EACdC,UAAc,EAEdC,cAAgB,EAChBC,UAAgB,GAChBC,WAAgB,GAChBC,UAAgB,GAChBC,QAAgB,EAChBC,WAAgB,GAGlB1B,UAAS2B,UAAY,SAASC,EAAKC,GAEjC,GAAIC,IAIFC,uBAAwB,WACtB,GAAI,eAAiBF,IAAO,gBAAkBD,GAAK,CACjD,GAAII,GAQAC,EAAGC,EAPHC,EAAYC,OAAOC,YACnBC,EAAaF,OAAOG,YACpBC,EAAIX,EAAIY,cAAc,OACtBC,EAAKb,EAAIc,eAAe,KACxBC,EAAKf,EAAIc,eAAe,KACxBE,EAAKhB,EAAIc,eAAe,KACxBG,EAAIjB,EAAIkB,aA8DZ,OA3DIC,UAASC,gBAC6B,IAApCD,SAASC,cAAcC,WAAmB,QAAS,WAAY,SAAU,UAAUC,QAAQH,SAASC,cAAcG,UAAY,GAChIpB,GACEqB,KAAM,OACNC,KAAMN,SAASC,cACfM,MAAOP,SAASC,cAAcO,eAC9BC,IAAKT,SAASC,cAAcS,eAG9BzB,EAAIL,EAAI+B,eACJ1B,GAAKA,EAAE2B,aACT5B,GACEqB,KAAM,QACNO,WAAY3B,EAAE2B,WACdC,aAAc5B,EAAE4B,aAChBC,UAAW7B,EAAE6B,UACbC,YAAa9B,EAAE8B,gBAMvBvB,EAAEwB,aAAa,kBAAmB,QAClCxB,EAAEyB,YAAYvB,GACdF,EAAEyB,YAAYrB,GACdJ,EAAEyB,YAAYpB,GACdhB,EAAIqC,KAAKD,YAAYzB,GACrBM,EAAEqB,SAASvB,EAAI,GACfE,EAAEsB,OAAOxB,EAAI,GAEbX,EAAIL,EAAI+B,eACR1B,EAAEoC,kBACFpC,EAAEqC,SAASxB,GACXN,EAAE+B,YACFtC,EAAIL,EAAI+B,eAERzB,EAA+B,IAAxBM,EAAEgC,WAAWC,QAAgBxC,EAAE2B,aAAepB,EAAEkC,YAAiC,IAAnBzC,EAAE4B,aACvErB,EAAEmC,WAAWC,YAAYpC,GACzBP,EAAEoC,kBAEErC,IAC0B,SAAxBA,EAAeqB,MAEmB,mBAAzBrB,GAAeuB,OAAuD,mBAAvBvB,GAAeyB,KACvEzB,EAAesB,KAAKuB,kBAAkB7C,EAAeuB,MAAOvB,EAAeyB,KAE7EzB,EAAesB,KAAKwB,SACa,UAAxB9C,EAAeqB,OACxBP,EAAIjB,EAAIkB,cACRD,EAAEqB,SAASnC,EAAe4B,WAAY5B,EAAe6B,cACrDf,EAAEsB,OAAOpC,EAAe8B,UAAW9B,EAAe+B,aAClD9B,EAAEqC,SAASxB,MAIXX,IAAcC,OAAOC,aAAeC,IAAeF,OAAOG,cAC5DX,EAAImD,SAASzC,EAAYH,GAGpBD,IAIX8C,MAAO,WAmML,QAASC,KACP,IACE,GAAIC,GAAI,GAAItD,GAAIuD,YAAY,OAAQC,QAASC,IAAK,QAClD,OAAQ,QAAUH,EAAE7B,MAAQ,QAAU6B,EAAEE,OAAOC,IAC/C,MAAO7C,IACT,OAAO,GArMR,SAAU8C,GACTA,EAAQC,QAAUD,EAAQC,SAAWD,EAAQE,oBAAsBF,EAAQG,mBAAqBH,EAAQI,kBAAoBJ,EAAQK,uBAAyB,SAAiBC,GAM5K,IALA,GACAC,GAAUjF,KACVkF,GAAYD,EAAQ7C,UAAY6C,EAAQE,eAAeC,iBAAiBJ,GACxEK,EAAQ,EAEDH,EAASG,IAAUH,EAASG,KAAWJ,KAC1CI,CAGJ,OAAOH,GAASG,IAAS,GAAO,GAGlCX,EAAQY,QAAUZ,EAAQY,SAAW,SAAiBN,GAGpD,IAFA,GAAIC,GAAUjF,KAEPiF,IACDA,EAAQN,QAAQK,IAIpBC,EAAUA,EAAQM,aAGpB,OAAON,IAGTP,EAAQc,OAASd,EAAQc,QAAU,WAC7BxF,KAAK+D,YACP/D,KAAK+D,WAAWC,YAAYhE,QAIhCgB,EAAIyE,QAAQC,WAER,aAAezE,GAAI0E,kBAAoB3E,EAAI4E,OAAOC,gBAA6C,mBAApB7E,GAAI8E,aACnF9E,EAAI4E,OAAOC,eAAe7E,EAAI8E,YAAYJ,UAAW,aACnDK,IAAK,WAEH,QAASC,GAAOC,GACd,MAAO,UAASC,GACd,GAAIC,GAAUC,EAAKC,UAAUC,MAAM,OAC/BjB,EAAQc,EAAQ5D,QAAQ2D,EAE5BD,GAAGE,EAASd,EAAOa,GACnBE,EAAKC,UAAYF,EAAQI,KAAK,MAPlC,GAAIH,GAAOpG,KAWPsB,GACAkF,IAAKR,EAAO,SAASG,EAASd,EAAOa,IAClCb,GAASc,EAAQlG,KAAKiG,KAGzBV,OAAQQ,EAAO,SAASG,EAASd,IAC9BA,GAASc,EAAQM,OAAOpB,EAAO,KAGlCqB,OAAQV,EAAO,SAASG,EAASd,EAAOa,IACrCb,EAAQc,EAAQM,OAAOpB,EAAO,GAAKc,EAAQlG,KAAKiG,KAGnDS,SAAU,SAAST,GACjB,SAAUE,EAAKC,UAAUC,MAAM,OAAO/D,QAAQ2D,IAGhDU,KAAM,SAASC,GACb,MAAOT,GAAKC,UAAUC,MAAM,OAAOO,IAAM,MAU/C,OANA7F,GAAI4E,OAAOC,eAAevE,EAAK,UAC7ByE,IAAK,WACH,MAAOK,GAAKC,UAAUC,MAAM,OAAOzC,UAIhCvC,IAKb,IAAIwF,GAAe,SAASpE,GAC1B,GAAIqE,KACJ,KAAKrE,EAAKA,EAAKoB,WAAWpB,EAAKA,EAAKA,EAAKsE,YAClB,GAAjBtE,EAAKJ,SACLyE,EAAI9G,KAAKyC,GAEXqE,EAAMA,EAAIE,OAAOH,EAAapE,GAGlC,OAAOqE,IAGLG,EAAU,SAASxE,GACrB,GAAIzB,GAAMyB,EAAKyC,cACXgC,EAAIzE,CAER,GAAG,CACD,GAAIyE,IAAMlG,EACR,OAAO,CAETkG,GAAIA,EAAEpD,iBACAoD,EAER,QAAO,GAGLC,EAAe,WACjB,GACIC,IADIrG,EAAIsG,KAAK5B,UAAU/B,UAClB,WACP,GAAI4D,GAAQT,EAAa9G,MACrBqB,EAAIrB,KAAKmF,cAAcqC,YAAYzE,eACnC0E,EAAQpG,EAAE2B,WACV0E,EAAUrG,EAAE4B,aACZ0E,EAAWF,GAA4B,IAAnBA,EAAMnF,UAAkBmF,EAAM7D,WAAWC,OAAS,EAAI4D,EAAM7D,WAAW8D,GAAWE,OACtGC,EAAQxG,EAAE6B,UACV4E,EAAUzG,EAAE8B,YACZ4E,EAAWF,GAA4B,IAAnBA,EAAMvF,UAAkBwF,EAAU,EAAID,EAAMjE,WAAWkE,EAAS,GAAKF,OACzF1F,EAAIlC,KAAKmF,cAAchD,cACvB6F,EAAUT,EAAMU,QAChBC,EAAUF,EAAUT,EAAMU,QAAU,IAmBxC,KAjBIF,GAAkC,IAAtBA,EAASzF,WACvBuF,EAAQE,EACRD,EAAUC,EAASI,UAAUtE,OAC7BkE,EAAWH,QAGTD,GAAkC,IAAtBA,EAASrF,WACvBmF,EAAQE,EACRD,EAAU,EACVC,EAAWC,SAGRH,IAAUI,GAAmBH,EAAVI,GAAuBL,IAAUI,GAAUJ,EAAMW,wBAAwBP,GAAS7G,EAAIsG,KAAKe,+BAAkCZ,EAAMW,wBAAwBP,GAAS7G,EAAIsG,KAAKgB,+BACnMT,GAASJ,EAAOA,EAAQI,GAAO,GAC/BC,GAAWJ,EAASA,EAAUI,GAAS,IAGnCE,GAAWE,GACXA,EAAQK,iBAAmBL,EAAQK,kBAAoBP,GACrDP,IAAUS,IACZT,EAAQO,EACRN,EAAUM,EAAQG,UAAUtE,OAAU6D,GAEpCG,IAAUK,IACZL,EAAQG,EACRF,EAAUE,EAAQG,UAAUtE,OAAUiE,GAExCE,EAAQG,UAAYH,EAAQG,UAAYD,EAAQC,UAChDD,EAAQnE,WAAWC,YAAYkE,GAC/BA,EAAUX,EAAMU,UAEhBD,EAAUE,EACVA,EAAUX,EAAMU,QAIhBF,KACFD,EAAUU,MAAM9C,UAAUnD,QAAQkG,KAAKV,EAAShE,WAAWH,WAAYmE,GAAY,GAGjFJ,IACFD,EAAUc,MAAM9C,UAAUnD,QAAQkG,KAAKd,EAAS5D,WAAWH,WAAY+D,IAGrET,EAAQlH,OAASyH,GAASA,EAAM1D,YAAc8D,GAASA,EAAM9D,aAC/D7B,EAAEqB,SAASkE,EAAOC,GAClBxF,EAAEsB,OAAOqE,EAAOC,GAChBzG,EAAEoC,kBACFpC,EAAEqC,SAASxB,KAGflB,GAAIsG,KAAK5B,UAAU/B,UAAY0D,GAG7BqB,EAAI,WACN1H,EAAI2H,oBAAoB,OAAQD,GAC5B,QAAU1H,IAAO,aAAeA,GAAIsG,KAAK5B,WAAaxE,EAAQC,0BAChEiG,IAImB,cAAnBnG,EAAI2H,WACN5H,EAAI6H,iBAAiB,OAAQH,GAE7BA,IAaF,WAEI,QAASnE,GAAYuE,EAAOC,GAC1BA,EAASA,IAAWC,SAAS,EAAOC,YAAY,EAAOzE,OAAQoD,OAC/D,IAAIsB,GAAMjI,EAAIkI,YAAY,cAE1B,OADAD,GAAIE,gBAAgBN,EAAOC,EAAOC,QAASD,EAAOE,WAAYF,EAAOvE,QAC9D0E,GALN7E,KAAgC,eAAiBrD,KAOpDuD,EAAYmB,UAAY1E,EAAIqI,MAAM3D,UAClC1E,EAAIuD,YAAcA,OAM1B,OAAOrD,IAGT9B,SAAS2B,UAAUS,OAAQY,UAAUgC,OAQrC,IAAIkF,MAAO,YAIXA,MAAKC,OAAS,SAASC,EAAWC,GACjC,GAAIF,GAASD,KAAK5D,UAAU6D,MAG5BD,MAAKI,cAAe,CACpB,IAAIC,GAAQ,GAAI3J,KAChBuJ,GAAOd,KAAKkB,EAAOH,GAClBG,EAAMC,KAAO,mBAGPN,MAAKI,YAIZ,IAAIG,GAAcF,EAAME,YACpBC,EAAQH,EAAME,YAAc,WAC/B,IAAKP,KAAKI,aACT,GAAI1J,KAAK+J,eAAiB/J,KAAK6J,aAAeC,EAC7C9J,KAAK+J,eAAgB,EACrBF,EAAYzF,MAAMpE,KAAMgK,iBACjBhK,MAAK+J,kBACN,IAAoB,MAAhBC,UAAU,GACpB,OAAQA,UAAU,GAAGT,QAAUA,GAAQd,KAAKuB,UAAU,GAAIL,GAmB7D,OAbAG,GAAMG,SAAWjK,KACjB8J,EAAMP,OAASvJ,KAAKuJ,OACpBO,EAAMI,QAAUlK,KAAKkK,QACrBJ,EAAMK,UAAYnK,KAAKmK,UACvBL,EAAMpE,UAAYiE,EAClBG,EAAMM,SAAWpK,KAAKoK,SACtBN,EAAMO,QAAU,SAAS5H,GAExB,MAAgB,UAARA,EAAoBqH,EAAQD,EAAYQ,WAEjDd,EAAOd,KAAKqB,EAAOL,GAEM,kBAAdK,GAAMQ,MAAoBR,EAAMQ,OACpCR,GAGRR,KAAK5D,WACJ6D,OAAQ,SAASgB,EAAQrE,GACxB,GAAI8D,UAAUnG,OAAS,EAAG,CACzB,GAAIoG,GAAWjK,KAAKuK,EACpB,IAAIN,GAA6B,kBAAT/D,MAErB+D,EAASI,SAAWJ,EAASI,WAAanE,EAAMmE,YAClD,WAAWG,KAAKtE,GAAQ,CAExB,GAAIuE,GAASvE,EAAMmE,SAEnBnE,GAAQ,WACP,GAAIwE,GAAW1K,KAAK4J,MAAQN,KAAK5D,UAAUkE,IAC3C5J,MAAK4J,KAAOK,CACZ,IAAIU,GAAcF,EAAOrG,MAAMpE,KAAMgK,UAErC,OADAhK,MAAK4J,KAAOc,EACLC,GAGRzE,EAAMmE,QAAU,SAAS5H,GACxB,MAAgB,UAARA,EAAoByD,EAAQuE,GAErCvE,EAAMkE,SAAWd,KAAKc,SAEvBpK,KAAKuK,GAAUrE,MACT,IAAIqE,EAAQ,CAClB,GAAIhB,GAASD,KAAK5D,UAAU6D,MAEvBD,MAAKI,cAA+B,kBAAR1J,QAChCuJ,EAASvJ,KAAKuJ,QAAUA,EAOzB,KALA,GAAII,IAASiB,SAAU,MAEnBC,GAAU,cAAe,WAAY,WAErChE,EAAIyC,KAAKI,aAAe,EAAI,EACzBoB,EAAMD,EAAOhE,MACf0D,EAAOO,IAAQnB,EAAMmB,IACxBvB,EAAOd,KAAKzI,KAAM8K,EAAKP,EAAOO,GAKhC,KAAK,GAAIA,KAAOP,GACVZ,EAAMmB,IAAMvB,EAAOd,KAAKzI,KAAM8K,EAAKP,EAAOO,IAGjD,MAAO9K,QAKTsJ,KAAOA,KAAKC,QACXM,YAAa,WACZ7J,KAAKuJ,OAAOS,UAAU,OAGvBC,SAAUrE,OACVvG,QAAS,MAET6K,QAAS,SAASa,EAAQC,EAAOC,GAChC,IAAK,GAAIH,KAAOC,GACanD,SAAxB5H,KAAK0F,UAAUoF,IAClBE,EAAMvC,KAAKwC,EAASF,EAAOD,GAAMA,EAAKC,IAKzCZ,UAAW,WACV,IAAK,GAAItD,GAAI,EAAGA,EAAImD,UAAUnG,OAAQgD,IACV,kBAAhBmD,WAAUnD,GAEpBmD,UAAUnD,GAAG7G,KAAK0F,WAGlB1F,KAAK0F,UAAU6D,OAAOS,UAAUnD,GAGlC,OAAO7G,OAGRoK,SAAU,WACT,MAAOc,QAAOlL,KAAKqK,aAcrB,IAAIc,QAEJ,WAuBI,QAASC,GAAaC,EAAG/G,GACrB,GAAIgH,SAAWD,GAAE/G,EACjB,OAAOgH,IAAKC,KAAgBD,GAAKE,IAAUH,EAAE/G,KAAa,WAALgH,EAGzD,QAASG,GAAaJ,EAAG/G,GACrB,cAAiB+G,GAAE/G,IAAMkH,IAAUH,EAAE/G,IAGzC,QAASoH,GAAeL,EAAG/G,GACvB,aAAc+G,GAAE/G,IAAMqH,EAI1B,QAASC,GAA2BC,GAChC,MAAO,UAASR,EAAGS,GAEf,IADA,GAAIjF,GAAIiF,EAAMjI,OACPgD,KACH,IAAKgF,EAASR,EAAGS,EAAMjF,IACnB,OAAO,CAGf,QAAO,GASf,QAASkF,GAAYC,GACjB,MAAOA,IAASC,EAAeD,EAAOE,IAAqBC,EAAkBH,EAAOI,GAGxF,QAASC,GAAQpL,GACb,MAAOwK,GAAaxK,EAAK,QAAUA,EAAIqC,KAAOrC,EAAIqL,qBAAqB,QAAQ,GA6CnF,QAASC,GAAWC,SACLC,UAAWd,GAAaP,EAAaqB,QAAS,QACrDA,QAAQC,IAAIF,GAIpB,QAASG,GAAWH,EAAKI,GACjBC,GAAaD,EACbE,MAAMN,GAEND,EAAWC,GAInB,QAASO,GAAKC,GACVC,EAAIC,aAAc,EAClBD,EAAIE,WAAY,EAChBR,EAAW,uDAAyDK,EAAQC,EAAIG,OAAOC,aAK3F,QAASC,GAAKd,GACVG,EAAW,kBAAoBH,EAAKS,EAAIG,OAAOG,aA+FnD,QAASC,GAAaC,GAClB,MAAOA,GAAGC,SAAWD,EAAGE,aAAezC,OAAOuC,GAIlD,QAASnD,KACL,GAAKuC,IAAaI,EAAIC,YAAtB,CAGA,GAAIU,GACAC,GAAqB,EAAOC,GAAsB,CAIlD1C,GAAahJ,SAAU,iBACvBwL,EAAYxL,SAASD,cACjB8J,EAAe2B,EAAWG,IAAoB5B,EAAkByB,EAAWI,KAC3EH,GAAqB,GAI7B,IAAIvK,GAAO+I,EAAQjK,SACnB,KAAKkB,GAAuC,QAA/BA,EAAKd,SAASyL,cAEvB,WADAlB,GAAK,wBAWT,IAPIzJ,GAAQ8H,EAAa9H,EAAM,qBAC3BsK,EAAYtK,EAAK4K,kBACbnC,EAAY6B,KACZE,GAAsB,KAIzBD,IAAuBC,EAExB,WADAf,GAAK,4CAITE,GAAIC,aAAc,EAClBD,EAAIkB,UACAN,mBAAoBA,EACpBC,oBAAqBA,EAIzB,IAAIM,GAAQC,CACZ,KAAK,GAAIC,KAAcC,IACbH,EAASG,EAAQD,aAAwBE,IAC3CJ,EAAO9D,KAAK8D,EAAQnB,EAK5B,KAAK,GAAIpG,GAAI,EAAG4H,EAAMC,EAAc7K,OAAY4K,EAAJ5H,IAAWA,EACnD,IACI6H,EAAc7H,GAAGoG,GACnB,MAAOQ,GACLY,EAAe,+DAAiEb,EAAaC,GAC7FlB,EAAW8B,KAKvB,QAASM,GAAkBC,EAAYC,EAAaT,GAC5CA,IACAQ,GAAc,cAAgBR,EAAOU,MAEzC7B,EAAIK,KAAK,eAAiBsB,EAAa,8BACvCC,EAAc,aAGlB,QAASE,GAA+BC,EAAOJ,EAAYC,EAAaT,GACpEY,EAAMJ,GAAc,WAEhB,MADAD,GAAkBC,EAAYC,EAAaT,GACpCY,EAAMH,GAAazK,MAAM4K,EAAOC,EAAKC,QAAQlF,aAyB5D,QAASmF,GAAKnO,GACVA,EAAMA,GAAOQ,OACb8I,GAGA,KAAK,GAAIzD,GAAI,EAAG4H,EAAMW,EAAcvL,OAAY4K,EAAJ5H,IAAWA,EACnDuI,EAAcvI,GAAG7F,GASzB,QAASwN,GAAOM,EAAMO,EAAcC,GAChCtP,KAAK8O,KAAOA,EACZ9O,KAAKqP,aAAeA,EACpBrP,KAAKkN,aAAc,EACnBlN,KAAKmN,WAAY,EACjBnN,KAAKsP,YAAcA,EA6CvB,QAASC,GAAaT,EAAMO,EAAcG,GACtC,GAAIC,GAAY,GAAIjB,GAAOM,EAAMO,EAAc,SAASjB,GACpD,IAAKA,EAAOlB,YAAa,CACrBkB,EAAOlB,aAAc,CACrB,KACIsC,EAASvC,EAAKmB,GACdA,EAAOjB,WAAY,EACrB,MAAOM,GACL,GAAIY,GAAe,WAAaS,EAAO,qBAAuBtB,EAAaC,EAC3ElB,GAAW8B,GACPZ,EAAGiC,OACHnD,EAAWkB,EAAGiC,UAM9B,OADAnB,GAAQO,GAAQW,EACTA,EA8BX,QAASE,MAIT,QAASC,MArbT,GAAIpE,GAAS,SAAUD,EAAW,WAAYI,EAAY,YAItDqC,GAAsB,iBAAkB,cAAe,eAAgB,YAAa,YACpF,2BAGAD,GAAmB,WAAY,iBAAkB,gBAAiB,SAAU,eAC5E,cAAe,WAAY,aAAc,qBAAsB,wBAAyB,iBACxF,kBAAmB,gBAAiB,aAAc,mBAAoB,aAAc,WAAY,UAEhG3B,GAAuB,iBAAkB,eAAgB,cAAe,gBAAiB,WAAY,QAGrGF,GAAoB,WAAY,mBAAoB,YAAa,oBAAqB,gBAAiB,SACvG,cAAe,yBAiCfD,EAAiBL,EAA2BR,GAC5CyE,EAAiBjE,EAA2BH,GAC5CU,EAAoBP,EAA2BF,GAU/CxB,KAAaA,QACb,SAAS4F,EAAKC,GACVD,EAAI5F,QAAQ6F,IAEhB,SAASD,EAAKC,GACV,IAAK,GAAIlJ,GAAI,EAAG4H,EAAMqB,EAAIjM,OAAY4K,EAAJ5H,IAAWA,EACzCkJ,EAAKD,EAAIjJ,GAAIA,IAIrB0H,KAEA1B,QAAoBrL,SAAUmK,SAAoBvJ,WAAYuJ,EAE9DsD,GACA7D,aAAcA,EACdK,aAAcA,EACdC,eAAgBA,EAChBO,eAAgBA,EAChB4D,eAAgBA,EAChB1D,kBAAmBA,EACnBJ,YAAaA,EACbM,QAASA,EACTnC,QAASA,GAGT+C,GACA5N,QAAS,YACT6N,aAAa,EACbL,UAAWA,EACXM,WAAW,EACX8B,KAAMA,EACNd,YACAI,QAASA,EACTnB,QACIC,aAAa,EACbE,aAAa,EACbyC,iBAAiB,EACjBC,qBAAwBC,sBAAuBvE,GAAa,EAAOuE,qBAwB3EjD,GAAIF,KAAOA,EAMXE,EAAIK,KAAOA,CAGX,IAAI/D,QACG4G,gBACHlB,EAAK1F,OAASA,EAAS,SAAS6G,EAAKtE,EAAOuE,GACxC,GAAIhF,GAAG/G,CACP,KAAK,GAAIuC,KAAKiF,GACNA,EAAMqE,eAAetJ,KACrBwE,EAAI+E,EAAIvJ,GACRvC,EAAIwH,EAAMjF,GACNwJ,GAAc,OAANhF,GAA0B,gBAALA,IAAuB,OAAN/G,GAA0B,gBAALA,IACnEiF,EAAO8B,EAAG/G,GAAG,GAEjB8L,EAAIvJ,GAAKvC,EAOjB,OAHIwH,GAAMqE,eAAe,cACrBC,EAAIhG,SAAW0B,EAAM1B,UAElBgG,GAGXnB,EAAKqB,cAAgB,SAASC,EAAcC,GACxC,GAAIC,KAKJ,OAJAlH,GAAOkH,EAASD,GACZD,GACAhH,EAAOkH,EAASF,GAEbE,IAGX1D,EAAK,gCAIJF,GACDE,EAAK,mCAIT,WACI,GAAImC,EAEJ,IAAIrC,EAAW,CACX,GAAI6D,GAAKtO,SAASP,cAAc,MAChC6O,GAAGrN,YAAYjB,SAASP,cAAc,QACtC,IAAI8O,MAAWA,KACf,KACoD,GAA5CA,EAAMlI,KAAKiI,EAAG9M,WAAY,GAAG,GAAGtB,WAChC4M,EAAU,SAAS0B,GACf,MAAOD,GAAMlI,KAAKmI,EAAW,KAGvC,MAAOhP,KAGRsN,IACDA,EAAU,SAAS0B,GAEf,IAAK,GADDd,MACKjJ,EAAI,EAAG4H,EAAMmC,EAAU/M,OAAY4K,EAAJ5H,IAAWA,EAC/CiJ,EAAIjJ,GAAK+J,EAAU/J,EAEvB,OAAOiJ,KAIfb,EAAKC,QAAUA,IAKnB,IAAI2B,EACAhE,KACIzB,EAAahJ,SAAU,oBACvByO,EAAc,SAAST,EAAKU,EAAWC,GACnCX,EAAIvH,iBAAiBiI,EAAWC,GAAU,IAEvC3F,EAAahJ,SAAU,eAC9ByO,EAAc,SAAST,EAAKU,EAAWC,GACnCX,EAAIY,YAAY,KAAOF,EAAWC,IAGtChE,EAAK,0EAGTkC,EAAK4B,YAAcA,EAGvB,IAAInC,KAiFJO,GAAKN,kBAAoBA,EACzBM,EAAKF,+BAAiCA,EAGtC9B,EAAI3C,KAAOA,EAGX2C,EAAIgE,gBAAkB,SAASF,GACvB9D,EAAIC,YACJ6D,EAAS9D,GAETyB,EAAczO,KAAK8Q,GAI3B,IAAI3B,KAEJnC,GAAIiE,gBAAkB,SAASH,GAC3B3B,EAAcnP,KAAK8Q,IAanBlE,IACAI,EAAIkC,KAAOlC,EAAIkE,uBAAyBhC,EACxCJ,EAA+B9B,EAAK,yBAA0B,SAWlEuB,EAAO9I,WACH4E,KAAM,WAEF,IAAK,GAA6C8G,GAAgB9C,EAD9D+C,EAAsBrR,KAAKqP,iBACtBxI,EAAI,EAAG4H,EAAM4C,EAAoBxN,OAAwC4K,EAAJ5H,IAAWA,EAAG,CAIxF,GAHAyH,EAAa+C,EAAoBxK,GAEjCuK,EAAiB7C,EAAQD,KACpB8C,GAAoBA,YAA0B5C,IAC/C,KAAM,IAAI8C,OAAM,oBAAsBhD,EAAa,cAKvD,IAFA8C,EAAe9G,QAEV8G,EAAejE,UAChB,KAAM,IAAImE,OAAM,oBAAsBhD,EAAa,mBAK3DtO,KAAKsP,YAAYtP,OAGrB+M,KAAM,SAASC,GAGX,KAFAhN,MAAKkN,aAAc,EACnBlN,KAAKmN,WAAY,EACX,GAAImE,OAAMtE,IAGpBM,KAAM,SAASd,GACXS,EAAIK,KAAK,UAAYtN,KAAK8O,KAAO,KAAOtC,IAG5CmC,kBAAmB,SAASC,EAAYC,GACpC5B,EAAIK,KAAK,eAAiBsB,EAAa,cAAgB5O,KAAK8O,KAAO,8BAC/DD,EAAc,aAGtB0C,YAAa,SAAS/E,GAClB,MAAO,IAAI8E,OAAM,kBAAoBtR,KAAK8O,KAAO,YAActC,KAwBvES,EAAIsC,aAAe,SAAST,GAExB,GAAIU,GAAUH,CACU,IAApBrF,UAAUnG,QACV2L,EAAWxF,UAAU,GACrBqF,OAEAG,EAAWxF,UAAU,GACrBqF,EAAerF,UAAU,GAG7B,IAAIoE,GAASmB,EAAaT,EAAMO,EAAcG,EAG1CvC,GAAIC,aAAeD,EAAIE,WACvBiB,EAAO9D,QAIf2C,EAAIuE,iBAAmB,SAAS1C,EAAMO,EAAcG,GAChDD,EAAaT,EAAMO,EAAcG,IAQrCvC,EAAI0C,eAAiBA,EACrB1C,EAAIwE,eAAiB,GAAI9B,GAGzB1C,EAAIyE,mBAAqB,GAAI9B,GAK7B3C,EAAIuE,iBAAiB,aAAe,SAASvE,EAAKmB,GAqD9C,QAASuD,GAAgBjP,GACrB,GAAIkP,EACJ,cAAclP,GAAKmP,cAAgBC,GAAuC,QAA5BF,EAAKlP,EAAKmP,eAAgC,gCAAND,EAGtF,QAASrM,GAAc7C,GACnB,GAAIqP,GAASrP,EAAKqB,UAClB,OAA2B,IAAnBgO,EAAOzP,SAAiByP,EAAS,KAG7C,QAASC,GAAatP,GAElB,IADA,GAAImE,GAAI,EACAnE,EAAOA,EAAK6F,mBACd1B,CAEN,OAAOA,GAGX,QAASoL,GAAcvP,GACnB,OAAQA,EAAKJ,UACT,IAAK,GACL,IAAK,IACD,MAAO,EACX,KAAK,GACL,IAAK,GACD,MAAOI,GAAKmB,MAChB,SACI,MAAOnB,GAAKkB,WAAWC,QAInC,QAASqO,GAAkBC,EAAOC,GAC9B,GAAoBjL,GAAhBkL,IACJ,KAAKlL,EAAIgL,EAAOhL,EAAGA,EAAIA,EAAEpD,WACrBsO,EAAUpS,KAAKkH,EAGnB,KAAKA,EAAIiL,EAAOjL,EAAGA,EAAIA,EAAEpD,WACrB,GAAIuO,EAAcD,EAAWlL,GACzB,MAAOA,EAIf,OAAO,MAGX,QAASoL,GAAatI,EAAUuI,EAAYC,GAExC,IADA,GAAItL,GAAIsL,EAAiBD,EAAaA,EAAWzO,WAC1CoD,GAAG,CACN,GAAIA,IAAM8C,EACN,OAAO,CAEP9C,GAAIA,EAAEpD,WAGd,OAAO,EAGX,QAAS2O,GAAiBzI,EAAUuI,GAChC,MAAOD,GAAatI,EAAUuI,GAAY,GAG9C,QAASG,GAAqBjQ,EAAMuH,EAAUwI,GAE1C,IADA,GAAInO,GAAG6C,EAAIsL,EAAiB/P,EAAOA,EAAKqB,WACjCoD,GAAG,CAEN,GADA7C,EAAI6C,EAAEpD,WACFO,IAAM2F,EACN,MAAO9C,EAEXA,GAAI7C,EAER,MAAO,MAGX,QAASsO,GAAoBlQ,GACzB,GAAI4I,GAAI5I,EAAKJ,QACb,OAAY,IAALgJ,GAAe,GAALA,GAAe,GAALA,EAG/B,QAASuH,GAAoBnQ,GACzB,IAAKA,EACD,OAAO,CAEX,IAAI4I,GAAI5I,EAAKJ,QACb,OAAY,IAALgJ,GAAe,GAALA,EAGrB,QAASwH,GAAYpQ,EAAMqQ,GACvB,GAAIC,GAAWD,EAAc/L,YAAa+K,EAASgB,EAAchP,UAMjE,OALIiP,GACAjB,EAAOkB,aAAavQ,EAAMsQ,GAE1BjB,EAAO1O,YAAYX,GAEhBA,EAIX,QAASwQ,GAAcxQ,EAAM2C,EAAO8N,GAChC,GAAIC,GAAU1Q,EAAK2Q,WAAU,EAM7B,IALAD,EAAQE,WAAW,EAAGjO,GACtB3C,EAAK4Q,WAAWjO,EAAO3C,EAAKmB,OAASwB,GACrCyN,EAAYM,EAAS1Q,GAGjByQ,EACA,IAAK,GAAWI,GAAP1M,EAAI,EAAa0M,EAAWJ,EAAoBtM,MAEjD0M,EAAS7Q,MAAQA,GAAQ6Q,EAASC,OAASnO,GAC3CkO,EAAS7Q,KAAO0Q,EAChBG,EAASC,QAAUnO,GAGdkO,EAAS7Q,MAAQA,EAAKqB,YAAcwP,EAASC,OAASxB,EAAatP,MACtE6Q,EAASC,MAIvB,OAAOJ,GAGX,QAASK,GAAY/Q,GACjB,GAAqB,GAAjBA,EAAKJ,SACL,MAAOI,EACJ,UAAWA,GAAKyC,eAAiB2M,EACpC,MAAOpP,GAAKyC,aACT,UAAWzC,GAAKN,UAAY0P,EAC/B,MAAOpP,GAAKN,QACT,IAAIM,EAAKqB,WACZ,MAAO0P,GAAY/Q,EAAKqB,WAExB,MAAMqK,GAAOmD,YAAY,2CAIjC,QAASmC,GAAUhR,GACf,GAAIzB,GAAMwS,EAAY/Q,EACtB,UAAWzB,GAAIuG,aAAesK,EAC1B,MAAO7Q,GAAIuG,WACR,UAAWvG,GAAI0S,cAAgB7B,EAClC,MAAO7Q,GAAI0S,YAEX,MAAMvF,GAAOmD,YAAY,uCAIjC,QAASqC,GAAkBC,GACvB,SAAWA,GAASC,iBAAmBhC,EACnC,MAAO+B,GAASC,eACb,UAAWD,GAASE,eAAiBjC,EACxC,MAAO+B,GAASE,cAAc3R,QAE9B,MAAMgM,GAAOmD,YAAY,kEAIjC,QAASyC,GAAgBH,GACrB,SAAWA,GAASE,eAAiBjC,EACjC,MAAO+B,GAASE,aACb,UAAWF,GAASC,iBAAmBhC,EAC1C,MAAO+B,GAASC,gBAAgBtM,WAEhC,MAAM4G,GAAOmD,YAAY,8DAKjC,QAAS0C,GAAS7D,GACd,MAAOA,IAAOnB,EAAK7D,aAAagF,EAAK,eAAiBnB,EAAKxD,aAAa2E,EAAK,YAGjF,QAAS8D,GAAmB9D,EAAKhC,EAAQ+F,GACrC,GAAIlT,EAiBJ,IAfKmP,EAKInB,EAAKvD,eAAe0E,EAAK,YAC9BnP,EAAuB,GAAhBmP,EAAI9N,UAA8C,UAA7B8N,EAAIgE,QAAQnG,cACpC2F,EAAkBxD,GAAOqD,EAAYrD,GAIpC6D,EAAS7D,KACdnP,EAAMmP,EAAIhO,UAXVnB,EAAMmB,UAcLnB,EACD,KAAMmN,GAAOmD,YAAY4C,EAAa,oDAG1C,OAAOlT,GAGX,QAASoT,GAAiB3R,GAEtB,IADA,GAAIqP,GACKA,EAASrP,EAAKqB,YACnBrB,EAAOqP,CAEX,OAAOrP,GAGX,QAAS4R,GAAcC,EAAOC,EAASC,EAAOC,GAE1C,GAAIC,GAAOC,EAAMC,EAAQC,EAAQ3N,CACjC,IAAIoN,GAASE,EAET,MAAOD,KAAYE,EAAU,EAAeA,EAAVF,EAAqB,GAAK,CACzD,IAAMG,EAAQhC,EAAqB8B,EAAOF,GAAO,GAEpD,MAAOC,IAAWxC,EAAa2C,GAAS,GAAK,CAC1C,IAAMA,EAAQhC,EAAqB4B,EAAOE,GAAO,GAEpD,MAAOzC,GAAa2C,GAASD,EAAW,GAAK,CAG7C,IADAE,EAAO1C,EAAkBqC,EAAOE,IAC3BG,EACD,KAAM,IAAItD,OAAM,qDAOpB,IAHAuD,EAAUN,IAAUK,EAAQA,EAAOjC,EAAqB4B,EAAOK,GAAM,GACrEE,EAAUL,IAAUG,EAAQA,EAAOjC,EAAqB8B,EAAOG,GAAM,GAEjEC,IAAWC,EAEX,KAAM1G,GAAOmD,YAAY,kEAGzB,KADApK,EAAIyN,EAAK9Q,WACFqD,GAAG,CACN,GAAIA,IAAM0N,EACN,MAAO,EACJ,IAAI1N,IAAM2N,EACb,MAAO,EAEX3N,GAAIA,EAAEH,aAWtB,QAAS+N,GAAarS,GAClB,GAAIyE,EACJ,KAEI,MADAA,GAAIzE,EAAKqB,YACF,EACT,MAAOnC,GACL,OAAO,GAgBf,QAASoT,GAAYtS,GACjB,IAAKA,EACD,MAAO,WAEX,IAAIuS,GAAmBF,EAAarS,GAChC,MAAO,eAEX,IAAIkQ,EAAoBlQ,GACpB,MAAO,IAAMA,EAAKwS,KAAO,GAE7B,IAAqB,GAAjBxS,EAAKJ,SAAe,CACpB,GAAI6S,GAASzS,EAAK0S,GAAK,QAAU1S,EAAK0S,GAAK,IAAM,EACjD,OAAO,IAAM1S,EAAKF,SAAW2S,EAAS,WAAanD,EAAatP,GAAQ,WAAaA,EAAKkB,WAAWC,OAAS,MAAQnB,EAAK2S,WAAa,6BAA6B1E,MAAM,EAAG,IAAM,IAExL,MAAOjO,GAAKF,SAGhB,QAAS8S,GAAyB5S,GAE9B,IADA,GAA2D6S,GAAvDC,EAAW/B,EAAY/Q,GAAM+S,yBACxBF,EAAQ7S,EAAKoB,YAClB0R,EAASnS,YAAYkS,EAEzB,OAAOC,GAgBX,QAASE,GAAkBzU,EAAK0U,EAAMC,GAClC,GAAItS,GAAO+I,EAAQpL,GACfyP,EAAKzP,EAAIY,cAAc,MAC3B6O,GAAGkF,gBAAkB,KAAOA,EACxBD,IACAjF,EAAG2E,UAAYM,EAInB,IAAIE,GAAiBvS,EAAKQ,UAO1B,OANI+R,GACAvS,EAAK2P,aAAavC,EAAImF,GAEtBvS,EAAKD,YAAYqN,GAGdA,EAGX,QAASoF,GAAWpT,GAChB,MAAOA,GAAKqB,WAAWC,YAAYtB,GAGvC,QAASqT,GAAanB,GAClB5U,KAAK4U,KAAOA,EACZ5U,KAAKgW,MAAQpB,EAiCjB,QAASqB,GAAerB,GACpB,MAAO,IAAImB,GAAanB,GAG5B,QAASsB,GAAYxT,EAAM8Q,GACvBxT,KAAK0C,KAAOA,EACZ1C,KAAKwT,OAASA,EAiBlB,QAAS2C,GAAaC,GAClBpW,KAAKqW,KAAOrW,KAAKoW,GACjBpW,KAAKoW,SAAWA,EAChBpW,KAAK0N,QAAU,iBAAmB1N,KAAKoW,SA5b3C,GAAItE,GAAQ,YACR7C,EAAOhC,EAAIgC,KACX5C,EAAU4C,EAAK5C,OAGd4C,GAAKhD,eAAe7J,UAAW,yBAA0B,gBAAiB,oBAC3EgM,EAAOrB,KAAK,2CAGXkC,EAAK7D,aAAahJ,SAAU,yBAC7BgM,EAAOrB,KAAK,+CAGhB,IAAI2D,GAAKtO,SAASP,cAAc,MAC3BoN,GAAKhD,eAAeyE,GAAK,eAAgB,cAAe,eACpDzB,EAAKY,eAAea,GAAK,kBAAmB,cAAe,aAAc,iBAC9EtC,EAAOrB,KAAK,qCAIXkC,EAAKvD,eAAegF,EAAI,cACzBtC,EAAOrB,KAAK,wCAGhB,IAAIuJ,GAAWlU,SAASL,eAAe,OAClCkN,GAAKhD,eAAeqK,GAAW,YAAa,aAAc,aAAc,aAAc,eAClFrH,EAAKY,eAAea,GAAK,kBAAmB,cAAe,aAAc,iBACzEzB,EAAK9C,kBAAkBmK,GAAW,WACvClI,EAAOrB,KAAK,sCAQhB,IAAIuF,GAKA,SAASxC,EAAKyG,GAEV,IADA,GAAI1P,GAAIiJ,EAAIjM,OACLgD,KACH,GAAIiJ,EAAIjJ,KAAO0P,EACX,OAAO,CAGf,QAAO,GA0PXtB,GAAkB,GAYtB,WACI,GAAIvE,GAAKtO,SAASP,cAAc,IAChC6O,GAAG2E,UAAY,GACf,IAAIiB,GAAW5F,EAAG5M,UAClB4M,GAAG2E,UAAY,SACfJ,EAAkBF,EAAauB,GAE/BrJ,EAAIkB,SAAS8G,gBAAkBA,IA8BnC,IAAIuB,SACOhV,QAAOiV,kBAAoB3E,EAClC0E,EAA2B,SAAS9F,EAAIgG,GACpC,MAAOhD,GAAUhD,GAAI+F,iBAAiB/F,EAAI,MAAMgG,UAEtCtU,UAASuD,gBAAgBgR,cAAgB7E,EACvD0E,EAA2B,SAAS9F,EAAIgG,GACpC,MAAOhG,GAAGiG,aAAejG,EAAGiG,aAAaD,GAAY,IAGzDtI,EAAOrB,KAAK,yDA+BhBgJ,EAAarQ,WACTkR,SAAU,KAEVC,QAAS,WACL,QAAS7W,KAAKgW,OAGlBc,KAAM,WACF,GACIvB,GAAOuB,EADP3P,EAAInH,KAAK4W,SAAW5W,KAAKgW,KAE7B,IAAIhW,KAAK4W,SAEL,GADArB,EAAQpO,EAAErD,WAEN9D,KAAKgW,MAAQT,MACV,CAEH,IADAuB,EAAO,KACC3P,IAAMnH,KAAK4U,QAAWkC,EAAO3P,EAAEH,cACnCG,EAAIA,EAAEpD,UAEV/D,MAAKgW,MAAQc,EAGrB,MAAO9W,MAAK4W,UAGhBG,OAAQ,WACJ/W,KAAK4W,SAAW5W,KAAKgW,MAAQhW,KAAK4U,KAAO,OAajDsB,EAAYxQ,WACRsR,OAAQ,SAASC,GACb,QAASA,GAAOjX,KAAK0C,OAASuU,EAAIvU,MAAQ1C,KAAKwT,QAAUyD,EAAIzD,QAGjE0D,QAAS,WACL,MAAO,gBAAkBlC,EAAYhV,KAAK0C,MAAQ,IAAM1C,KAAKwT,OAAS,MAG1EpJ,SAAU,WACN,MAAOpK,MAAKkX,YAUpBf,EAAazQ,WACTyR,eAAgB,EAChBC,sBAAuB,EACvBC,mBAAoB,EACpBC,4BAA6B,EAC7BC,cAAe,EACfC,kBAAmB,EACnBC,kBAAmB,GACnBC,sBAAuB,IAG3BvB,EAAazQ,UAAU0E,SAAW,WAC9B,MAAOpK,MAAK0N,SAGhBT,EAAI1N,KACA+S,cAAeA,EACfX,gBAAiBA,EACjBpM,cAAeA,EACfyM,aAAcA,EACdC,cAAeA,EACfC,kBAAmBA,EACnBK,aAAcA,EACdG,iBAAkBA,EAClBC,qBAAsBA,EACtBC,oBAAqBA,EACrBC,oBAAqBA,EACrBC,YAAaA,EACbI,cAAeA,EACfO,YAAaA,EACbC,UAAWA,EACXM,gBAAiBA,EACjBJ,kBAAmBA,EACnBvH,QAASA,EACT4H,SAAUA,EACVC,mBAAoBA,EACpBG,iBAAkBA,EAClBC,cAAeA,EACfS,aAAcA,EACdC,YAAaA,EACbwB,yBAA0BA,EAC1Bd,kBAAmBA,EACnBI,WAAYA,EACZR,yBAA0BA,EAC1BW,eAAgBA,EAChBC,YAAaA,GAGjBjJ,EAAIkJ,aAAeA,IAMvBlJ,EAAIuE,iBAAiB,YAAa,WAAY,SAASvE,EAAKmB,GAwBxD,QAASuJ,GAA2BjV,EAAMsJ,GACtC,MAAyB,IAAjBtJ,EAAKJ,WACLoQ,EAAiBhQ,EAAMsJ,EAAM4L,iBAAmBlF,EAAiBhQ,EAAMsJ,EAAM6L,eAGzF,QAASC,GAAiB9L,GACtB,MAAOA,GAAM5J,UAAYqR,EAAYzH,EAAM4L,gBAG/C,QAASG,GAAa/L,GAClB,MAAOqI,GAAiBrI,EAAM4L,gBAGlC,QAASI,GAAsBtV,GAC3B,MAAO,IAAIwT,GAAYxT,EAAKqB,WAAYiO,EAAatP,IAGzD,QAASuV,GAAqBvV,GAC1B,MAAO,IAAIwT,GAAYxT,EAAKqB,WAAYiO,EAAatP,GAAQ,GAGjE,QAASwV,GAAqBxV,EAAMyE,EAAGkE,GACnC,GAAI8M,GAAqC,IAAjBzV,EAAKJ,SAAiBI,EAAKoB,WAAapB,CAYhE,OAXIkQ,GAAoBzL,GAChBkE,GAAKlE,EAAEtD,OACPtE,EAAIuT,YAAYpQ,EAAMyE,GAEtBA,EAAEpD,WAAWkP,aAAavQ,EAAW,GAAL2I,EAASlE,EAAI+L,EAAc/L,EAAGkE,IAE3DA,GAAKlE,EAAEvD,WAAWC,OACzBsD,EAAE9D,YAAYX,GAEdyE,EAAE8L,aAAavQ,EAAMyE,EAAEvD,WAAWyH,IAE/B8M,EAGX,QAASC,GAAgBC,EAAQC,EAAQC,GAIrC,GAHAC,EAAiBH,GACjBG,EAAiBF,GAEbR,EAAiBQ,IAAWR,EAAiBO,GAC7C,KAAM,IAAIlC,GAAa,qBAG3B,IAAIsC,GAAkBnE,EAAc+D,EAAOT,eAAgBS,EAAOK,YAAaJ,EAAOT,aAAcS,EAAOK,WACvGC,EAAgBtE,EAAc+D,EAAOR,aAAcQ,EAAOM,UAAWL,EAAOV,eAAgBU,EAAOI,YAEvG,OAAOH,GAA4C,GAAnBE,GAAwBG,GAAiB,EAAsB,EAAlBH,GAAuBG,EAAgB,EAGxH,QAASC,GAAaC,GAElB,IAAK,GADDC,GACKrW,EAAwEsW,EAAlEC,EAAOnB,EAAiBgB,EAAS9M,OAAOyJ,yBAAuC/S,EAAOoW,EAAShC,QAAU,CASpH,GARAiC,EAAoBD,EAASI,6BAC7BxW,EAAOA,EAAK2Q,WAAW0F,GACnBA,IACAC,EAAcF,EAASK,qBACvBzW,EAAKW,YAAYwV,EAAaG,IAC9BA,EAAYjC,UAGK,IAAjBrU,EAAKJ,SACL,KAAM,IAAI6T,GAAa,wBAE3B8C,GAAK5V,YAAYX,GAErB,MAAOuW,GAGX,QAASG,GAAeC,EAAetJ,EAAMuJ,GACzC,GAAIC,GAAIpS,CACRmS,GAAgBA,IAAmBE,MAAM,EACzC,KAAK,GAAI9W,GAAM+W,EAAkB/W,EAAO2W,EAAcvC,QAClD,GAAIuC,EAAcH,6BAA8B,CAC5C,GAAInJ,EAAKrN,MAAU,EAEf,YADA4W,EAAcE,MAAO,EAQrB,IAHAC,EAAmBJ,EAAcF,qBACjCC,EAAeK,EAAkB1J,EAAMuJ,GACvCG,EAAiB1C,SACbuC,EAAcE,KACd,WAOR,KADAD,EAAKha,EAAI0W,eAAevT,GACfyE,EAAIoS,EAAGzC,QACZ,GAAI/G,EAAK5I,MAAO,EAEZ,YADAmS,EAAcE,MAAO,GAQzC,QAASE,GAAcZ,GAEnB,IADA,GAAIE,GACGF,EAAShC,QACRgC,EAASI,8BACTF,EAAcF,EAASK,qBACvBO,EAAcV,GACdA,EAAYjC,UAEZ+B,EAAStT,SAKrB,QAASmU,GAAeb,GACpB,IAAK,GAAIpW,GAAwEsW,EAAlEC,EAAOnB,EAAiBgB,EAAS9M,OAAOyJ,yBAAuC/S,EAAOoW,EAAShC,QAAU,CAUpH,GARIgC,EAASI,8BACTxW,EAAOA,EAAK2Q,WAAU,GACtB2F,EAAcF,EAASK,qBACvBzW,EAAKW,YAAYsW,EAAeX,IAChCA,EAAYjC,UAEZ+B,EAAStT,SAEQ,IAAjB9C,EAAKJ,SACL,KAAM,IAAI6T,GAAa,wBAE3B8C,GAAK5V,YAAYX,GAErB,MAAOuW,GAGX,QAASW,GAAgB5N,EAAO6N,EAAWC,GACvC,GAAyDC,GAArDC,KAAqBH,IAAaA,EAAUhW,QAC5CoW,IAAiBH,CACjBE,KACAD,EAAQ,GAAIG,QAAO,KAAOL,EAAUtT,KAAK,KAAO,MAGpD,IAAI4T,KAsBJ,OArBAf,GAAe,GAAIgB,GAAcpO,GAAO,GAAQ,SAAStJ,GACrD,KAAIsX,GAAoBD,EAAMvP,KAAK9H,EAAKJ,cAGpC2X,GAAiBH,EAAOpX,IAA5B,CAKA,GAAI2X,GAAKrO,EAAM4L,cACf,IAAIlV,GAAQ2X,IAAMzH,EAAoByH,IAAOrO,EAAM0M,aAAe2B,EAAGxW,OAArE,CAIA,GAAIyW,GAAKtO,EAAM6L,YACXnV,IAAQ4X,GAAM1H,EAAoB0H,IAA0B,GAAnBtO,EAAM2M,WAInDwB,EAAMla,KAAKyC,OAERyX,EAGX,QAASjD,GAAQlL,GACb,GAAI8C,GAAgC,mBAAjB9C,GAAMuO,QAA0B,QAAUvO,EAAMuO,SACnE,OAAO,IAAMzL,EAAO,IAAMvP,EAAIyV,YAAYhJ,EAAM4L,gBAAkB,IAAM5L,EAAM0M,YAAc,KACpFnZ,EAAIyV,YAAYhJ,EAAM6L,cAAgB,IAAM7L,EAAM2M,UAAY,KAO1E,QAASyB,GAAcpO,EAAOwO,GAK1B,GAJAxa,KAAKgM,MAAQA,EACbhM,KAAKwa,gCAAkCA,GAGlCxO,EAAMyO,UAAW,CAClBza,KAAKqa,GAAKrO,EAAM4L,eAChB5X,KAAK0a,GAAK1O,EAAM0M,YAChB1Y,KAAKsa,GAAKtO,EAAM6L,aAChB7X,KAAK2a,GAAK3O,EAAM2M,SAChB,IAAI/D,GAAO5I,EAAM4O,uBAEb5a,MAAKqa,KAAOra,KAAKsa,IAAM1H,EAAoB5S,KAAKqa,KAChDra,KAAK6a,2BAA4B,EACjC7a,KAAK8a,OAAS9a,KAAK+a,MAAQ/a,KAAKgW,MAAQhW,KAAKqa,KAE7Cra,KAAK8a,OAAS9a,KAAKgW,MAAShW,KAAKqa,KAAOzF,GAAShC,EAAoB5S,KAAKqa,IACxC1H,EAAqB3S,KAAKqa,GAAIzF,GAAM,GAAlE5U,KAAKqa,GAAGzW,WAAW5D,KAAK0a,IAC5B1a,KAAK+a,MAAS/a,KAAKsa,KAAO1F,GAAShC,EAAoB5S,KAAKsa,IACtB3H,EAAqB3S,KAAKsa,GAAI1F,GAAM,GAAtE5U,KAAKsa,GAAG1W,WAAW5D,KAAK2a,GAAK,KAqG7C,QAASK,GAAqBnB,GAC1B,MAAO,UAASnX,EAAM+P,GAElB,IADA,GAAInH,GAAGnE,EAAIsL,EAAiB/P,EAAOA,EAAKqB,WACjCoD,GAAG,CAEN,GADAmE,EAAInE,EAAE7E,SACFgQ,EAAcuH,EAAWvO,GACzB,MAAOnE,EAEXA,GAAIA,EAAEpD,WAEV,MAAO,OAQf,QAASkX,GAAsCvY,EAAMwY,GACjD,GAAIC,GAAiCzY,EAAMwY,GACvC,KAAM,IAAI/E,GAAa,yBAI/B,QAASiF,GAAoB1Y,EAAM2Y,GAC/B,IAAK/I,EAAc+I,EAAc3Y,EAAKJ,UAClC,KAAM,IAAI6T,GAAa,yBAI/B,QAASmF,GAAkB5Y,EAAM8Q,GAC7B,GAAa,EAATA,GAAcA,GAAUZ,EAAoBlQ,GAAQA,EAAKmB,OAASnB,EAAKkB,WAAWC,QAClF,KAAM,IAAIsS,GAAa,kBAI/B,QAASoF,GAA6BpJ,EAAOC,GACzC,GAAIoJ,GAA+BrJ,GAAO,KAAUqJ,GAA+BpJ,GAAO,GACtF,KAAM,IAAI+D,GAAa,sBAI/B,QAASsF,GAAsB/Y,GAC3B,GAAIgZ,GAAoBhZ,GAAM,GAC1B,KAAM,IAAIyT,GAAa,+BAI/B,QAASwF,GAAWjZ,EAAM0T,GACtB,IAAK1T,EACD,KAAM,IAAIyT,GAAaC,GAI/B,QAASwF,GAAclZ,EAAM8Q,GACzB,MAAOA,KAAWZ,EAAoBlQ,GAAQA,EAAKmB,OAASnB,EAAKkB,WAAWC,QAGhF,QAASgY,GAAa7P,GAClB,QAAUA,EAAM4L,kBAAoB5L,EAAM6L,gBAChC5C,IAAoB1V,EAAIwV,aAAa/I,EAAM4L,iBAAmBrY,EAAIwV,aAAa/I,EAAM6L,iBACvFxD,EAAiBrI,EAAM4L,iBAAmBvD,EAAiBrI,EAAM6L,eACjE+D,EAAc5P,EAAM4L,eAAgB5L,EAAM0M,cAC1CkD,EAAc5P,EAAM6L,aAAc7L,EAAM2M,WAGpD,QAASH,GAAiBxM,GACtB,IAAK6P,EAAa7P,GACd,KAAM,IAAIsF,OAAM,qFAAuFtF,EAAMkL,UAAY,KAyFjI,QAAS4E,GAAqB9P,EAAOmH,GACjCqF,EAAiBxM,EAEjB,IAAIqO,GAAKrO,EAAM4L,eAAgB8C,EAAK1O,EAAM0M,YAAa4B,EAAKtO,EAAM6L,aAAc8C,EAAK3O,EAAM2M,UACvFoD,EAAgB1B,IAAOC,CAEvB1H,GAAoB0H,IAAOK,EAAK,GAAKA,EAAKL,EAAGzW,QAC7CqP,EAAcoH,EAAIK,EAAIxH,GAGtBP,EAAoByH,IAAOK,EAAK,GAAKA,EAAKL,EAAGxW,SAC7CwW,EAAKnH,EAAcmH,EAAIK,EAAIvH,GACvB4I,GACApB,GAAMD,EACNJ,EAAKD,GACEC,GAAMD,EAAGtW,YAAc4W,GAAM3I,EAAaqI,IACjDM,IAEJD,EAAK,GAET1O,EAAMgQ,eAAe3B,EAAIK,EAAIJ,EAAIK,GAGrC,QAASsB,GAAYjQ,GACjBwM,EAAiBxM,EACjB,IAAIkQ,GAAYlQ,EAAM4O,wBAAwB7W,WAAWsP,WAAU,EAEnE,OADA6I,GAAU7Y,YAAa2I,EAAMmQ,iBACtBD,EAAU7G,UA+WrB,QAAS+G,GAAgChM,GACrCA,EAAIiM,eAAiBC,GACrBlM,EAAImM,aAAeC,GACnBpM,EAAIqM,WAAaC,GACjBtM,EAAIuM,aAAeC,GAEnBxM,EAAIyM,YAAcC,GAClB1M,EAAI2M,WAAaC,GACjB5M,EAAI6M,sBAAwBC,GAC5B9M,EAAI+M,YAAcC,GAGtB,QAASC,GAAwBxT,GAC7BuS,EAAgCvS,GAChCuS,EAAgCvS,EAAYnE,WAGhD,QAAS4X,GAA0BC,EAASC,GACxC,MAAO,YACHhF,EAAiBxY,KAEjB,IAKI0C,GAAM+a,EALNpD,EAAKra,KAAK4X,eAAgB8C,EAAK1a,KAAK0Y,YAAa9D,EAAO5U,KAAK4a,wBAE7D9B,EAAW,GAAIsB,GAAcpa,MAAM,EAInCqa,KAAOzF,IACPlS,EAAOiQ,EAAqB0H,EAAIzF,GAAM,GACtC6I,EAAWxF,EAAqBvV,GAChC2X,EAAKoD,EAAS/a,KACdgY,EAAK+C,EAASjK,QAIlB4F,EAAeN,EAAU2C,GAEzB3C,EAAS4E,OAGT,IAAI/S,GAAc4S,EAAQzE,EAM1B,OALAA,GAAS/B,SAGTyG,EAAgBxd,KAAMqa,EAAIK,EAAIL,EAAIK,GAE3B/P,GAIf,QAASgT,GAAqB9T,EAAa2T,GACvC,QAASI,GAA4BC,EAAUC,GAC3C,MAAO,UAASpb,GACZ0Y,EAAoB1Y,EAAMqb,GAC1B3C,EAAoB/G,EAAiB3R,GAAOsb,EAE5C,IAAIP,IAAYI,EAAW7F,EAAwBC,GAAsBvV,IACxEob,EAAUG,EAAgBC,GAAale,KAAMyd,EAAS/a,KAAM+a,EAASjK,SAI9E,QAASyK,GAAcjS,EAAOtJ,EAAM8Q,GAChC,GAAI8G,GAAKtO,EAAM6L,aAAc8C,EAAK3O,EAAM2M,WACpCjW,IAASsJ,EAAM4L,gBAAkBpE,IAAWxH,EAAM0M,gBAG9CrE,EAAiB3R,IAAS2R,EAAiBiG,IAA8C,GAAvChG,EAAc5R,EAAM8Q,EAAQ8G,EAAIK,MAClFL,EAAK5X,EACLiY,EAAKnH,GAETgK,EAAgBxR,EAAOtJ,EAAM8Q,EAAQ8G,EAAIK,IAIjD,QAASuD,GAAYlS,EAAOtJ,EAAM8Q,GAC9B,GAAI6G,GAAKrO,EAAM4L,eAAgB8C,EAAK1O,EAAM0M,aACtChW,IAASsJ,EAAM6L,cAAgBrE,IAAWxH,EAAM2M,cAG5CtE,EAAiB3R,IAAS2R,EAAiBgG,IAA8C,IAAvC/F,EAAc5R,EAAM8Q,EAAQ6G,EAAIK,MAClFL,EAAK3X,EACLgY,EAAKlH,GAETgK,EAAgBxR,EAAOqO,EAAIK,EAAIhY,EAAM8Q,IAK7C,GAAI9K,GAAI,YACRA,GAAEhD,UAAYuH,EAAIwE,eAClB5H,EAAYnE,UAAY,GAAIgD,GAE5BuG,EAAK1F,OAAOM,EAAYnE,WACpBnC,SAAU,SAASb,EAAM8Q,GACrByH,EAAsCvY,GAAM,GAC5C4Y,EAAkB5Y,EAAM8Q,GAExByK,EAAcje,KAAM0C,EAAM8Q,IAG9BhQ,OAAQ,SAASd,EAAM8Q,GACnByH,EAAsCvY,GAAM,GAC5C4Y,EAAkB5Y,EAAM8Q,GAExB0K,EAAYle,KAAM0C,EAAM8Q,IAW5BwI,eAAgB,WACZ,GAAImC,GAAOnU,UACPqQ,EAAK8D,EAAK,GAAIzD,EAAKyD,EAAK,GAAI7D,EAAKD,EAAIM,EAAKD,CAE9C,QAAQyD,EAAKta,QACT,IAAK,GACD8W,EAAKwD,EAAK,EACV,MACJ,KAAK,GACD7D,EAAK6D,EAAK,GACVxD,EAAKwD,EAAK,GAIlBX,EAAgBxd,KAAMqa,EAAIK,EAAIJ,EAAIK,IAGtCyD,YAAa,SAAS1b,EAAM8Q,EAAQsK,GAChC9d,KAAK,OAAS8d,EAAU,QAAU,QAAQpb,EAAM8Q,IAGpD6K,eAAgBT,GAA4B,GAAM,GAClDU,cAAeV,GAA4B,GAAO,GAClDW,aAAcX,GAA4B,GAAM,GAChDY,YAAaZ,GAA4B,GAAO,GAEhDa,SAAU,SAASX,GACftF,EAAiBxY,MACb8d,EACAN,EAAgBxd,KAAMA,KAAK4X,eAAgB5X,KAAK0Y,YAAa1Y,KAAK4X,eAAgB5X,KAAK0Y,aAEvF8E,EAAgBxd,KAAMA,KAAK6X,aAAc7X,KAAK2Y,UAAW3Y,KAAK6X,aAAc7X,KAAK2Y,YAIzF+F,mBAAoB,SAAShc,GACzBuY,EAAsCvY,GAAM,GAE5C8a,EAAgBxd,KAAM0C,EAAM,EAAGA,EAAMuP,EAAcvP,KAGvDic,WAAY,SAASjc,GACjBuY,EAAsCvY,GAAM,GAC5C0Y,EAAoB1Y,EAAMqb,EAE1B,IAAIpb,GAAQqV,EAAsBtV,GAAOG,EAAMoV,EAAqBvV,EACpE8a,GAAgBxd,KAAM2C,EAAMD,KAAMC,EAAM6Q,OAAQ3Q,EAAIH,KAAMG,EAAI2Q,SAGlEoL,gBAAiBtB,EAA0B3D,EAAgB6D,GAE3DqB,eAAgBvB,EAA0B5D,EAAe8D,GAEzDsB,oBAAqB,WACjBtG,EAAiBxY,MACjByb,EAAsBzb,KAAK4X,gBAC3B6D,EAAsBzb,KAAK6X,aAI3B,IAAIiB,GAAW,GAAIsB,GAAcpa,MAAM,GACnC+e,EAAqBjG,EAASgC,QAAUnD,EAA2BmB,EAASgC,OAAQ9a,OAC/E8Y,EAASiC,OAASpD,EAA2BmB,EAASiC,MAAO/a,KAEtE,OADA8Y,GAAS/B,UACDgI,GAGZC,gBAAiB,WACblD,EAAqB9b,OAGzBif,mCAAoC,SAAS9L,GACzC2I,EAAqB9b,KAAMmT,IAG/B+L,oBAAqB,WACjB1G,EAAiBxY,KAEjB,IAoCImf,GApCA9E,EAAKra,KAAK4X,eAAgB8C,EAAK1a,KAAK0Y,YAAa4B,EAAKta,KAAK6X,aAAc8C,EAAK3a,KAAK2Y,UAEnFyG,EAAe,SAAS1c,GACxB,GAAIyc,GAAUzc,EAAKsE,WACfmY,IAAWA,EAAQ7c,UAAYI,EAAKJ,WACpCgY,EAAK5X,EACLiY,EAAKjY,EAAKmB,OACVnB,EAAK2c,WAAWF,EAAQjK,MACxBY,EAAWqJ,KAIfG,EAAgB,SAAS5c,GACzB,GAAIyc,GAAUzc,EAAK6F,eACnB,IAAI4W,GAAWA,EAAQ7c,UAAYI,EAAKJ,SAAU,CAC9C+X,EAAK3X,CACL,IAAI6c,GAAa7c,EAAKmB,MAItB,IAHA6W,EAAKyE,EAAQtb,OACbnB,EAAK8c,WAAW,EAAGL,EAAQjK,MAC3BY,EAAWqJ,GACP9E,GAAMC,EACNK,GAAMD,EACNJ,EAAKD,MACF,IAAIC,GAAM5X,EAAKqB,WAAY,CAC9B,GAAI0b,GAAYzN,EAAatP,EACzBiY,IAAM8E,GACNnF,EAAK5X,EACLiY,EAAK4E,GACE5E,EAAK8E,GACZ9E,OAMZ+E,GAAiB,CAGrB,IAAI9M,EAAoB0H,GAChBK,GAAML,EAAGzW,OACTub,EAAa9E,GACA,GAANK,IACPwE,EAAU7E,EAAG/R,gBACT4W,GAAWA,EAAQ7c,UAAYgY,EAAGhY,WAClCqY,EAAKwE,EAAQtb,OACTwW,GAAMC,IACNoF,GAAiB,GAErBP,EAAQE,WAAW/E,EAAGpF,MACtBY,EAAWwE,GACXA,EAAK6E,QAGV,CACH,GAAIxE,EAAK,EAAG,CACR,GAAIgF,GAAUrF,EAAG1W,WAAW+W,EAAK,EAC7BgF,IAAW/M,EAAoB+M,IAC/BP,EAAaO,GAGrBD,GAAkB1f,KAAKya,UAG3B,GAAIiF,GACA,GAAI9M,EAAoByH,GACV,GAANK,EACA4E,EAAcjF,GACPK,GAAML,EAAGxW,SAChBsb,EAAU9E,EAAGrT,YACTmY,GAAWA,EAAQ7c,UAAY+X,EAAG/X,WAC9BgY,GAAM6E,IACN7E,EAAKD,EACLM,GAAMN,EAAGxW,QAEbwW,EAAGgF,WAAWF,EAAQjK,MACtBY,EAAWqJ,SAInB,IAAIzE,EAAKL,EAAGzW,WAAWC,OAAQ,CAC3B,GAAI+b,GAAYvF,EAAGzW,WAAW8W,EAC1BkF,IAAahN,EAAoBgN,IACjCN,EAAcM,QAK1BvF,GAAKC,EACLI,EAAKC,CAGT6C,GAAgBxd,KAAMqa,EAAIK,EAAIJ,EAAIK,IAGtCkF,gBAAiB,SAASnd,EAAM8Q,GAC5ByH,EAAsCvY,GAAM,GAC5C4Y,EAAkB5Y,EAAM8Q,GACxBxT,KAAKgc,eAAetZ,EAAM8Q,MAIlC6J,EAAwBxT,GAM5B,QAASiW,GAAiC9T,GACtCA,EAAMyO,UAAazO,EAAM4L,iBAAmB5L,EAAM6L,cAAgB7L,EAAM0M,cAAgB1M,EAAM2M,UAC9F3M,EAAM4O,wBAA0B5O,EAAMyO,UAClCzO,EAAM4L,eAAiBrY,EAAI2S,kBAAkBlG,EAAM4L,eAAgB5L,EAAM6L,cAGjF,QAASkI,GAAiB/T,EAAO4L,EAAgBc,EAAab,EAAcc,GACxE3M,EAAM4L,eAAiBA,EACvB5L,EAAM0M,YAAcA,EACpB1M,EAAM6L,aAAeA,EACrB7L,EAAM2M,UAAYA,EAClB3M,EAAM5J,SAAW7C,EAAIkU,YAAYmE,GAEjCkI,EAAiC9T,GAGrC,QAASgU,GAAM/e,GACXjB,KAAK4X,eAAiB3W,EACtBjB,KAAK0Y,YAAc,EACnB1Y,KAAK6X,aAAe5W,EACpBjB,KAAK2Y,UAAY,EACjB3Y,KAAKoC,SAAWnB,EAChB6e,EAAiC9f,MAxqCrC,GAAIT,GAAM0N,EAAI1N,IACV0P,EAAOhC,EAAIgC,KACXiH,EAAc3W,EAAI2W,YAClBC,EAAelJ,EAAIkJ,aAEnBvD,EAAsBrT,EAAIqT,oBAC1BZ,EAAezS,EAAIyS,aACnBU,EAAmBnT,EAAImT,iBACvBe,EAAclU,EAAIkU,YAClBa,EAAgB/U,EAAI+U,cACpBpB,EAAgB3T,EAAI2T,cACpBP,EAAuBpT,EAAIoT,qBAC3BV,EAAgB1S,EAAI0S,cACpBK,EAAgB/S,EAAI+S,cACpB+B,EAAmB9U,EAAI8U,iBACvBY,EAAkBhI,EAAIkB,SAAS8G,gBAE/Ba,EAAavW,EAAIuW,UA8MrBsE,GAAc1U,WACVkR,SAAU,KACVZ,MAAO,KACP8E,OAAQ,KACRC,MAAO,KACPF,2BAA2B,EAE3B6C,MAAO,WACH1d,KAAK4W,SAAW,KAChB5W,KAAKgW,MAAQhW,KAAK8a,QAGtBjE,QAAS,WACL,QAAS7W,KAAKgW,OAGlBc,KAAM,WAEF,GAAImJ,GAAUjgB,KAAK4W,SAAW5W,KAAKgW,KAenC,OAdIiK,KACAjgB,KAAKgW,MAASiK,IAAYjgB,KAAK+a,MAASkF,EAAQjZ,YAAc,KAG1D4L,EAAoBqN,IAAYjgB,KAAKwa,kCACjCyF,IAAYjgB,KAAKsa,KAChB2F,EAAUA,EAAQ5M,WAAU,IAAOC,WAAWtT,KAAK2a,GAAIsF,EAAQpc,OAAS7D,KAAK2a,IAE9E3a,KAAK4W,WAAa5W,KAAKqa,KACtB4F,EAAUA,EAAQ5M,WAAU,IAAOC,WAAW,EAAGtT,KAAK0a,MAK5DuF,GAGXza,OAAQ,WACJ,GAA6B7C,GAAOE,EAAhCod,EAAUjgB,KAAK4W,UAEfhE,EAAoBqN,IAAaA,IAAYjgB,KAAKqa,IAAM4F,IAAYjgB,KAAKsa,GAOrE2F,EAAQlc,YACR+R,EAAWmK,IAPftd,EAASsd,IAAYjgB,KAAKqa,GAAMra,KAAK0a,GAAK,EAC1C7X,EAAOod,IAAYjgB,KAAKsa,GAAMta,KAAK2a,GAAKsF,EAAQpc,OAC5ClB,GAASE,GACTod,EAAQ3M,WAAW3Q,EAAOE,EAAMF,KAW5CuW,2BAA4B,WACxB,GAAI+G,GAAUjgB,KAAK4W,QACnB,OAAOe,GAA2BsI,EAASjgB,KAAKgM,QAGpDmN,mBAAoB,WAChB,GAAI+G,EACJ,IAAIlgB,KAAK6a,0BACLqF,EAAWlgB,KAAKgM,MAAMmU,aACtBD,EAASzB,UAAS,OACf,CACHyB,EAAW,GAAIF,GAAMlI,EAAiB9X,KAAKgM,OAC3C,IAAIiU,GAAUjgB,KAAK4W,SACfgB,EAAiBqI,EAASvH,EAAc,EAAGb,EAAeoI,EAAStH,EAAY1G,EAAcgO,EAE7FvN,GAAiBuN,EAASjgB,KAAKqa,MAC/BzC,EAAiB5X,KAAKqa,GACtB3B,EAAc1Y,KAAK0a,IAEnBhI,EAAiBuN,EAASjgB,KAAKsa,MAC/BzC,EAAe7X,KAAKsa,GACpB3B,EAAY3Y,KAAK2a,IAGrBoF,EAAiBG,EAAUtI,EAAgBc,EAAab,EAAcc,GAE1E,MAAO,IAAIyB,GAAc8F,EAAUlgB,KAAKwa,kCAG5CzD,OAAQ,WACJ/W,KAAKgM,MAAQhM,KAAK4W,SAAW5W,KAAKgW,MAAQhW,KAAK8a,OAAS9a,KAAK+a,MAAQ/a,KAAKqa,GAAKra,KAAK0a,GAAK1a,KAAKsa,GAAKta,KAAK2a,GAAK,MAMrH,IAAIoD,IAAwB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAC1CC,GAA0B,EAAG,EAAG,IAChCoC,GAAqB,EAAG,EAAG,GAAI,IAC/BC,IAAuB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC7CC,IAAqB,EAAG,EAAG,EAAG,EAAG,EAAG,GAgBpC9E,GAAiCR,GAAuB,EAAG,KAC3DU,GAAsBV,EAAqBoF,GAC3CjF,GAAmCH,GAAuB,EAAG,GAAI,KA2DjEuF,GAAUne,SAASP,cAAc,SACjC2e,IAAsB,CAC1B,KACID,GAAQlL,UAAY,WACpBmL,GAAsD,GAA/BD,GAAQzc,WAAWxB,SAC5C,MAAOV,KAITqL,EAAIkB,SAASqS,oBAAsBA,EAEnC,IAAIC,IAA2BD,GAM3B,SAASE,GAEL,GAAIhe,GAAO1C,KAAK4X,eACZ3W,EAAMwS,EAAY/Q,EAItB,KAAKA,EACD,KAAM,IAAIyT,GAAa,oBAK3B,IAAIzF,GAAK,IAuCT,OApCqB,IAAjBhO,EAAKJ,SACLoO,EAAKhO,EAGEkQ,EAAoBlQ,KAC3BgO,EAAKnR,EAAIgG,cAAc7C,IAcvBgO,EARO,OAAPA,GACe,QAAfA,EAAGlO,UACHjD,EAAIoS,gBAAgB8B,EAAY/C,GAAI/K,kBACpCpG,EAAIoS,gBAAgBjB,GAKfzP,EAAIY,cAAc,QAElB6O,EAAG2C,WAAU,GAOtB3C,EAAG2E,UAAYqL,EAQRnhB,EAAI+V,yBAAyB5E,IAKxC,SAASgQ,GACL,GAAIzf,GAAM6W,EAAiB9X,MACvB0Q,EAAKzP,EAAIY,cAAc,OAG3B,OAFA6O,GAAG2E,UAAYqL,EAERnhB,EAAI+V,yBAAyB5E,IAmCxCiQ,IAAmB,iBAAkB,cAAe,eAAgB,YAAa,YACjF,2BAEArE,GAAM,EAAGE,GAAM,EAAGE,GAAM,EAAGE,GAAM,EACjCE,GAAM,EAAGE,GAAM,EAAGE,GAAQ,EAAGE,GAAM,CAEvCnO,GAAK1F,OAAO0D,EAAIwE,gBACZmP,sBAAuB,SAASC,EAAK7U,GACjCwM,EAAiBxY,MACjBub,EAA6Bvb,KAAK4X,eAAgB5L,EAAM4L,eAExD,IAAIrD,GAAOC,EAASC,EAAOC,EACvBoM,EAAWD,GAAOjE,IAAOiE,GAAOvE,GAAO,QAAU,MACjDyE,EAAWF,GAAOrE,IAAOqE,GAAOvE,GAAO,QAAU,KAKrD,OAJA/H,GAAQvU,KAAK8gB,EAAU,aACvBtM,EAAUxU,KAAK8gB,EAAU,UACzBrM,EAAQzI,EAAM+U,EAAU,aACxBrM,EAAU1I,EAAM+U,EAAU,UACnBzM,EAAcC,EAAOC,EAASC,EAAOC,IAGhDsM,WAAY,SAASte,GAKjB,GAJA8V,EAAiBxY,MACjBob,EAAoB1Y,EAAM2d,IAC1B5E,EAAsBzb,KAAK4X,gBAEvBlF,EAAiBhQ,EAAM1C,KAAK4X,gBAC5B,KAAM,IAAIzB,GAAa,wBAO3B,IAAIgC,GAAoBD,EAAqBxV,EAAM1C,KAAK4X,eAAgB5X,KAAK0Y,YAC7E1Y,MAAKqe,eAAelG,IAGxBgE,cAAe,WACX3D,EAAiBxY,KAEjB,IAAIihB,GAAOhI,CACX,IAAIjZ,KAAKya,UACL,MAAO3C,GAAiB9X,MAAMyV,wBAE9B,IAAIzV,KAAK4X,iBAAmB5X,KAAK6X,cAAgBjF,EAAoB5S,KAAK4X,gBAKtE,MAJAqJ,GAAQjhB,KAAK4X,eAAevE,WAAU,GACtC4N,EAAM/L,KAAO+L,EAAM/L,KAAKvE,MAAM3Q,KAAK0Y,YAAa1Y,KAAK2Y,WACrDM,EAAOnB,EAAiB9X,MAAMyV,yBAC9BwD,EAAK5V,YAAY4d,GACVhI,CAEP,IAAIH,GAAW,GAAIsB,GAAcpa,MAAM,EAI3C,OAHIihB,GAAQpI,EAAaC,GACrBA,EAAS/B,SAENkK,GAIfnC,oBAAqB,WACjBtG,EAAiBxY,MACjByb,EAAsBzb,KAAK4X,gBAC3B6D,EAAsBzb,KAAK6X,aAI3B,IAAIiB,GAAW,GAAIsB,GAAcpa,MAAM,GACnC+e,EAAqBjG,EAASgC,QAAWnD,EAA2BmB,EAASgC,OAAQ9a,OAChF8Y,EAASiC,OAASpD,EAA2BmB,EAASiC,MAAO/a,KAEtE,OADA8Y,GAAS/B,UACDgI,GAGZmC,iBAAkB,SAASxe,GAGvB,GAFA0Y,EAAoB1Y,EAAM4d,KAErBtgB,KAAK8e,sBACN,KAAM,IAAI3I,GAAa,oBAI3B,IAAIgL,GAAUnhB,KAAK4e,iBAGnB,IAAIlc,EAAK0e,gBACL,KAAO1e,EAAK2e,WACR3e,EAAKsB,YAAYtB,EAAK2e,UAK9BnJ,GAAqBxV,EAAM1C,KAAK4X,eAAgB5X,KAAK0Y,aACrDhW,EAAKW,YAAY8d,GAEjBnhB,KAAK2e,WAAWjc,IAGpByd,WAAY,WACR3H,EAAiBxY,KAGjB,KAFA,GACgCshB,GAD5BtV,EAAQ,GAAIgU,GAAMlI,EAAiB9X,OACnC6G,EAAI8Z,GAAgB9c,OACjBgD,KACHya,EAAOX,GAAgB9Z,GACvBmF,EAAMsV,GAAQthB,KAAKshB,EAEvB,OAAOtV,IAGX5B,SAAU,WACNoO,EAAiBxY,KACjB,IAAIqa,GAAKra,KAAK4X,cACd,IAAIyC,IAAOra,KAAK6X,cAAgBjF,EAAoByH,GAChD,MAAuB,IAAfA,EAAG/X,UAAgC,GAAf+X,EAAG/X,SAAiB+X,EAAGnF,KAAKvE,MAAM3Q,KAAK0Y,YAAa1Y,KAAK2Y,WAAa,EAElG,IAAI4I,MAAgBzI,EAAW,GAAIsB,GAAcpa,MAAM,EAQvD,OAPAoZ,GAAeN,EAAU,SAASpW,IAET,GAAjBA,EAAKJ,UAAkC,GAAjBI,EAAKJ,WAC3Bif,EAAUthB,KAAKyC,EAAKwS,QAG5B4D,EAAS/B,SACFwK,EAAUhb,KAAK,KAO9Bib,YAAa,SAAS9e,GAClB8V,EAAiBxY,KAEjB,IAAI+R,GAASrP,EAAKqB,WACd0b,EAAYzN,EAAatP,EAE7B,KAAKqP,EACD,KAAM,IAAIoE,GAAa,gBAG3B,IAAIsC,GAAkBzY,KAAKyhB,aAAa1P,EAAQ0N,GAC5C7G,EAAgB5Y,KAAKyhB,aAAa1P,EAAQ0N,EAAY,EAE1D,OAAsB,GAAlBhH,EACQG,EAAgB,EAAKsE,GAAQJ,GAE7BlE,EAAgB,EAAKoE,GAAMI,IAI3CqE,aAAc,SAAS/e,EAAM8Q,GAKzB,MAJAgF,GAAiBxY,MACjB2b,EAAWjZ,EAAM,yBACjB6Y,EAA6B7Y,EAAM1C,KAAK4X,gBAEpCtD,EAAc5R,EAAM8Q,EAAQxT,KAAK4X,eAAgB5X,KAAK0Y,aAAe,EAC9D,GACApE,EAAc5R,EAAM8Q,EAAQxT,KAAK6X,aAAc7X,KAAK2Y,WAAa,EACjE,EAEJ,GAGX8H,yBAA0BA,GAE1BiB,OAAQ,WACJ,MAAOzF,GAAYjc,OAKvB2hB,eAAgB,SAASjf,EAAM6V,GAE3B,GADAC,EAAiBxY,MACbqU,EAAiB3R,IAASqV,EAAa/X,MACvC,OAAO,CAGX,IAAI+R,GAASrP,EAAKqB,WAAYyP,EAASxB,EAAatP,EACpD,KAAKqP,EACD,OAAO,CAGX,IAAI0G,GAAkBnE,EAAcvC,EAAQyB,EAAQxT,KAAK6X,aAAc7X,KAAK2Y,WACxEC,EAAgBtE,EAAcvC,EAAQyB,EAAS,EAAGxT,KAAK4X,eAAgB5X,KAAK0Y,YAEhF,OAAOH,GAA4C,GAAnBE,GAAwBG,GAAiB,EAAsB,EAAlBH,GAAuBG,EAAgB,GAGxHgJ,eAAgB,SAASlf,EAAM8Q,GAK3B,MAJAgF,GAAiBxY,MACjB2b,EAAWjZ,EAAM,yBACjB6Y,EAA6B7Y,EAAM1C,KAAK4X,gBAEhCtD,EAAc5R,EAAM8Q,EAAQxT,KAAK4X,eAAgB5X,KAAK0Y,cAAgB,GACtEpE,EAAc5R,EAAM8Q,EAAQxT,KAAK6X,aAAc7X,KAAK2Y,YAAc,GAM9EkJ,gBAAiB,SAAS7V,GACtB,MAAOoM,GAAgBpY,KAAMgM,GAAO,IAIxC8V,yBAA0B,SAAS9V,GAC/B,MAAOoM,GAAgBpY,KAAMgM,GAAO,IAGxC+V,aAAc,SAAS/V,GACnB,GAAIhM,KAAK6hB,gBAAgB7V,GAAQ,CAC7B,GAAIyM,GAAkBnE,EAActU,KAAK4X,eAAgB5X,KAAK0Y,YAAa1M,EAAM4L,eAAgB5L,EAAM0M,aACnGE,EAAgBtE,EAActU,KAAK6X,aAAc7X,KAAK2Y,UAAW3M,EAAM6L,aAAc7L,EAAM2M,WAE3FqJ,EAAoBhiB,KAAKmgB,YAO7B,OANuB,IAAnB1H,GACAuJ,EAAkBze,SAASyI,EAAM4L,eAAgB5L,EAAM0M,aAEtC,GAAjBE,GACAoJ,EAAkBxe,OAAOwI,EAAM6L,aAAc7L,EAAM2M,WAEhDqJ,EAEX,MAAO,OAGXC,MAAO,SAASjW,GACZ,GAAIhM,KAAK8hB,yBAAyB9V,GAAQ,CACtC,GAAIkW,GAAaliB,KAAKmgB,YAOtB,OANqG,IAAjG7L,EAActI,EAAM4L,eAAgB5L,EAAM0M,YAAa1Y,KAAK4X,eAAgB5X,KAAK0Y,cACjFwJ,EAAW3e,SAASyI,EAAM4L,eAAgB5L,EAAM0M,aAEyC,GAAzFpE,EAActI,EAAM6L,aAAc7L,EAAM2M,UAAW3Y,KAAK6X,aAAc7X,KAAK2Y,YAC3EuJ,EAAW1e,OAAOwI,EAAM6L,aAAc7L,EAAM2M,WAEzCuJ,EAEP,KAAM,IAAI/L,GAAa,4BAI/BgM,aAAc,SAASzf,EAAM0f,GACzB,MAAIA,GACOpiB,KAAK2hB,eAAejf,GAAM,GAE1B1C,KAAKwhB,YAAY9e,IAAS0a,IAIzCiF,qBAAsB,SAAS3f,GAC3B,MAAO1C,MAAKyhB,aAAa/e,EAAM,IAAM,GAAK1C,KAAKyhB,aAAa/e,EAAMuP,EAAcvP,KAAU,GAG9F4f,cAAe,SAAStW,GACpB,GAAI+V,GAAe/hB,KAAK+hB,aAAa/V,EACrC,OAAwB,QAAjB+V,GAAyB/V,EAAMgL,OAAO+K,IAGjDQ,iBAAkB,SAAS7f,GACvB,GAAI8f,GAAYxiB,KAAKmgB,YACrBqC,GAAU7D,WAAWjc,EACrB,IAAI+f,GAAYD,EAAUE,UAAU,GACpC,IAAID,EAAU5e,OAAS,EAAG,CACtB2e,EAAUjf,SAASkf,EAAU,GAAI,EACjC,IAAIE,GAAeF,EAAUG,KAE7B,OADAJ,GAAUhf,OAAOmf,EAAcA,EAAa9e,QACrC7D,KAAKsiB,cAAcE,GAE1B,MAAOxiB,MAAKqiB,qBAAqB3f;EAIzCggB,SAAU,SAAS7I,EAAWC,GAE1B,MADAtB,GAAiBxY,MACV4Z,EAAgB5Z,KAAM6Z,EAAWC,IAG5CrG,YAAa,WACT,MAAOqE,GAAiB9X,OAG5B6iB,eAAgB,SAASngB,GACrB1C,KAAKue,aAAa7b,GAClB1C,KAAKye,UAAS,IAGlBqE,cAAe,SAASpgB,GACpB1C,KAAKse,cAAc5b,GACnB1C,KAAKye,UAAS,IAGlBsE,YAAa,SAASC,GAClB,GAAI/hB,GAAM6W,EAAiB9X,MACvBijB,EAAoBhW,EAAI9K,YAAYlB,EACxC+hB,GAAgBA,GAAiBzjB,EAAI8M,QAAQpL,GAC7CgiB,EAAkBvE,mBAAmBsE,EACrC,IAAIhX,GAAQhM,KAAK+hB,aAAakB,GAC1BtgB,EAAQ,EAAGE,EAAM,CAOrB,OANImJ,KACAiX,EAAkBzf,OAAOwI,EAAM4L,eAAgB5L,EAAM0M,aACrD/V,EAAQsgB,EAAkB7Y,WAAWvG,OACrChB,EAAMF,EAAQqJ,EAAM5B,WAAWvG,SAI/BlB,MAAOA,EACPE,IAAKA,EACLmgB,cAAeA,IAIvBE,eAAgB,SAASC,GACrB,GAAIH,GAAgBG,EAASH,cACzBI,EAAY,CAChBpjB,MAAKuD,SAASyf,EAAe,GAC7BhjB,KAAKye,UAAS,EAId,KAHA,GAAiC/b,GAC7B2gB,EAAexc,EAAGjD,EADlB0f,GAAaN,GAAsBO,GAAa,EAAO/J,GAAO,GAG1DA,IAAS9W,EAAO4gB,EAAUV,QAC9B,GAAqB,GAAjBlgB,EAAKJ,SACL+gB,EAAgBD,EAAY1gB,EAAKmB,QAC5B0f,GAAcJ,EAASxgB,OAASygB,GAAaD,EAASxgB,OAAS0gB,IAChErjB,KAAKuD,SAASb,EAAMygB,EAASxgB,MAAQygB,GACrCG,GAAa,GAEbA,GAAcJ,EAAStgB,KAAOugB,GAAaD,EAAStgB,KAAOwgB,IAC3DrjB,KAAKwD,OAAOd,EAAMygB,EAAStgB,IAAMugB,GACjC5J,GAAO,GAEX4J,EAAYC,MAIZ,KAFAzf,EAAalB,EAAKkB,WAClBiD,EAAIjD,EAAWC,OACRgD,KACHyc,EAAUrjB,KAAK2D,EAAWiD,KAM1C0T,QAAS,WACL,MAAO,YAGXvD,OAAQ,SAAShL,GACb,MAAOgU,GAAMwD,YAAYxjB,KAAMgM,IAGnCyX,QAAS,WACL,MAAO5H,GAAa7b,OAGxBkX,QAAS,WACL,MAAOA,GAAQlX,OAGnB+W,OAAQ,eA0UZ4G,EAAqBqC,EAAOD,GAE5B9Q,EAAK1F,OAAOyW,GACRW,gBAAiBA,GACjBvG,cAAeA,EACfiD,wBAAyBA,EACzBM,qBAAsBA,EACtBzG,QAASA,EACTwK,OAAQzF,EACRnE,iBAAkBA,EAClB0L,YAAa,SAASE,EAAIC,GACtB,MAAOD,GAAG9L,iBAAmB+L,EAAG/L,gBAC5B8L,EAAGhL,cAAgBiL,EAAGjL,aACtBgL,EAAG7L,eAAiB8L,EAAG9L,cACvB6L,EAAG/K,YAAcgL,EAAGhL,aAIhC1L,EAAI2W,SAAW5D,IAMnB/S,EAAIuE,iBAAiB,gBAAiB,YAAa,SAASvE,EAAKmB,GAC7D,GAAIyV,GAAcC,EACdvkB,EAAM0N,EAAI1N,IACV0P,EAAOhC,EAAIgC,KACXiH,EAAc3W,EAAI2W,YAClB0N,EAAW3W,EAAI2W,SACfvX,EAAU9M,EAAI8M,QACd6H,EAAqB3U,EAAI2U,mBACzBtB,EAAsBrT,EAAIqT,mBAkQ9B,IA7PI3F,EAAIkB,SAASN,qBAKb,WAII,QAASkW,GAAsB/X,GAE3B,IADA,GAAgCsV,GAA5Bza,EAAI8Z,EAAgB9c,OACjBgD,KACHya,EAAOX,EAAgB9Z,GACvBmF,EAAMsV,GAAQtV,EAAMgY,YAAY1C,EAGpCtV,GAAMyO,UAAazO,EAAM4L,iBAAmB5L,EAAM6L,cAAgB7L,EAAM0M,cAAgB1M,EAAM2M,UAGlG,QAASsL,GAAkBjY,EAAO4L,EAAgBc,EAAab,EAAcc,GACzE,GAAIuL,GAAclY,EAAM4L,iBAAmBA,GAAkB5L,EAAM0M,aAAeA,EAC9EyL,EAAYnY,EAAM6L,eAAiBA,GAAgB7L,EAAM2M,WAAaA,EACtEyL,GAAwBpY,EAAMgL,OAAOhL,EAAMgY,cAG3CE,GAAcC,GAAYC,KAC1BpY,EAAMxI,OAAOqU,EAAcc,GAC3B3M,EAAMzI,SAASqU,EAAgBc,IArBvC,GAAI2L,GAyBAzG,EAxBA+C,EAAkBiD,EAASjD,eA0B/BkD,GAAe,SAAS7X,GACpB,IAAKA,EACD,KAAMoC,GAAOmD,YAAY,wCAE7BvR,MAAKgkB,YAAchY,EACnB+X,EAAsB/jB,OAG1B4jB,EAASjG,qBAAqBkG,EAAcI,GAE5CI,EAAaR,EAAane,UAE1B2e,EAAW1F,WAAa,SAASjc,GAC7B1C,KAAKgkB,YAAYrF,WAAWjc,GAC5BqhB,EAAsB/jB,OAG1BqkB,EAAWlI,cAAgB,WACvB,MAAOnc,MAAKgkB,YAAY7H,iBAM5BkI,EAAWnD,iBAAmB,SAASxe,GACnC1C,KAAKgkB,YAAY9C,iBAAiBxe,GAClCqhB,EAAsB/jB,OAG1BqkB,EAAW5F,SAAW,SAASX,GAC3B9d,KAAKgkB,YAAYvF,SAASX,GAC1BiG,EAAsB/jB,OAG1BqkB,EAAWlE,WAAa,WACpB,MAAO,IAAI0D,GAAa7jB,KAAKgkB,YAAY7D,eAG7CkE,EAAWC,QAAU,WACjBP,EAAsB/jB,OAG1BqkB,EAAWja,SAAW,WAClB,MAAOpK,MAAKgkB,YAAY5Z,WAK5B,IAAIma,GAAeniB,SAASL,eAAe,OAC3CsK,GAAQjK,UAAUiB,YAAYkhB,EAC9B,IAAIvY,GAAQ5J,SAASD,aAOrB6J,GAAMzI,SAASghB,EAAc,GAC7BvY,EAAMxI,OAAO+gB,EAAc,EAE3B,KACIvY,EAAMzI,SAASghB,EAAc,GAE7BF,EAAW9gB,SAAW,SAASb,EAAM8Q,GACjCxT,KAAKgkB,YAAYzgB,SAASb,EAAM8Q,GAChCuQ,EAAsB/jB,OAG1BqkB,EAAW7gB,OAAS,SAASd,EAAM8Q,GAC/BxT,KAAKgkB,YAAYxgB,OAAOd,EAAM8Q,GAC9BuQ,EAAsB/jB,OAG1B4d,EAA8B,SAAS9O,GACnC,MAAO,UAASpM,GACZ1C,KAAKgkB,YAAYlV,GAAMpM,GACvBqhB,EAAsB/jB,QAIhC,MAAMyN,GAEJ4W,EAAW9gB,SAAW,SAASb,EAAM8Q,GACjC,IACIxT,KAAKgkB,YAAYzgB,SAASb,EAAM8Q,GAClC,MAAO/F,GACLzN,KAAKgkB,YAAYxgB,OAAOd,EAAM8Q,GAC9BxT,KAAKgkB,YAAYzgB,SAASb,EAAM8Q,GAEpCuQ,EAAsB/jB,OAG1BqkB,EAAW7gB,OAAS,SAASd,EAAM8Q,GAC/B,IACIxT,KAAKgkB,YAAYxgB,OAAOd,EAAM8Q,GAChC,MAAO/F,GACLzN,KAAKgkB,YAAYzgB,SAASb,EAAM8Q,GAChCxT,KAAKgkB,YAAYxgB,OAAOd,EAAM8Q,GAElCuQ,EAAsB/jB,OAG1B4d,EAA8B,SAAS9O,EAAM0V,GACzC,MAAO,UAAS9hB,GACZ,IACI1C,KAAKgkB,YAAYlV,GAAMpM,GACzB,MAAO+K,GACLzN,KAAKgkB,YAAYQ,GAAc9hB,GAC/B1C,KAAKgkB,YAAYlV,GAAMpM,GAE3BqhB,EAAsB/jB,QAKlCqkB,EAAWhG,eAAiBT,EAA4B,iBAAkB,gBAC1EyG,EAAW/F,cAAgBV,EAA4B,gBAAiB,eACxEyG,EAAW9F,aAAeX,EAA4B,eAAgB,kBACtEyG,EAAW7F,YAAcZ,EAA4B,cAAe,iBAMpEyG,EAAW3F,mBAAqB,SAAShc,GACrC1C,KAAKgc,eAAetZ,EAAM,EAAGnD,EAAI0S,cAAcvP,KAQnDsJ,EAAM0S,mBAAmB6F,GACzBvY,EAAMxI,OAAO+gB,EAAc,EAE3B,IAAIE,GAASriB,SAASD,aACtBsiB,GAAO/F,mBAAmB6F,GAC1BE,EAAOjhB,OAAO+gB,EAAc,GAC5BE,EAAOlhB,SAASghB,EAAc,GAEiC,IAA3DvY,EAAM4U,sBAAsB5U,EAAMuQ,aAAckI,IACe,GAA3DzY,EAAM4U,sBAAsB5U,EAAM2Q,aAAc8H,GAGpDJ,EAAWzD,sBAAwB,SAASne,EAAMuJ,GAO9C,MANAA,GAAQA,EAAMgY,aAAehY,EACzBvJ,GAAQuJ,EAAMuQ,aACd9Z,EAAOuJ,EAAM2Q,aACNla,GAAQuJ,EAAM2Q,eACrBla,EAAOuJ,EAAMuQ,cAEVvc,KAAKgkB,YAAYpD,sBAAsBne,EAAMuJ,IAGxDqY,EAAWzD,sBAAwB,SAASne,EAAMuJ,GAC9C,MAAOhM,MAAKgkB,YAAYpD,sBAAsBne,EAAMuJ,EAAMgY,aAAehY,GAQjF,IAAI0E,GAAKtO,SAASP,cAAc,MAChC6O,GAAG2E,UAAY,KACf,IAAIiB,GAAW5F,EAAG5M,WACdR,EAAO+I,EAAQjK,SACnBkB,GAAKD,YAAYqN,GAEjB1E,EAAMzI,SAAS+S,EAAU,GACzBtK,EAAMxI,OAAO8S,EAAU,GACvBtK,EAAM6S,iBAEe,MAAjBvI,EAASpB,OAGTmP,EAAWxF,eAAiB,WACxB7e,KAAKgkB,YAAYnF,iBACjBkF,EAAsB/jB,OAG1BqkB,EAAWzF,gBAAkB,WACzB,GAAI3F,GAAOjZ,KAAKgkB,YAAYpF,iBAE5B,OADAmF,GAAsB/jB,MACfiZ,IAKf3V,EAAKU,YAAY0M,GACjBpN,EAAO,KAKH2L,EAAK7D,aAAaY,EAAO,8BACzBqY,EAAW5D,yBAA2B,SAASC,GAC3C,MAAO1gB,MAAKgkB,YAAYvD,yBAAyBC,KAOzDrU,EAAQjK,UAAU4B,YAAYugB,GAE9BF,EAAW9J,QAAU,WACjB,MAAO,gBAGXtN,EAAI4W,aAAeA,EAEnB5W,EAAIyX,kBAAoB,SAASzjB,GAE7B,MADAA,GAAMiT,EAAmBjT,EAAKmN,EAAQ,qBAC/BnN,EAAIkB,kBAKnB8K,EAAIkB,SAASL,oBAAqB,CAelC,GAAI6W,GAA+B,SAASC,GACxC,GAAIC,GAAWD,EAAUrf,gBACrByG,EAAQ4Y,EAAUE,WACtB9Y,GAAMyS,UAAS,EACf,IAAIsG,GAAU/Y,EAAMzG,eACpByG,GAAQ4Y,EAAUE,YAClB9Y,EAAMyS,UAAS,EACf,IAAIuG,GAAQhZ,EAAMzG,gBACd0f,EAAqBF,GAAWC,EAASD,EAAUxlB,EAAI2S,kBAAkB6S,EAASC,EAEtF,OAAOC,IAAqBJ,EAAWI,EAAoB1lB,EAAI2S,kBAAkB2S,EAAUI,IAG3FC,EAAuB,SAASN,GAChC,MAA8D,IAAvDA,EAAUO,iBAAiB,aAAcP,IAOhDQ,EAA+B,SAASR,EAAWS,EAA4BvH,EAASwH,EAAaC,GACrG,GAAIC,GAAeZ,EAAUE,WAC7BU,GAAa/G,SAASX,EACtB,IAAI2H,GAAmBD,EAAajgB,eAWpC,IAPKhG,EAAImT,iBAAiB2S,EAA4BI,KAClDA,EAAmBJ,IAMlBI,EAAiBC,YAAa,CAC/B,GAAIzO,GAAM,GAAIf,GAAYuP,EAAiB1hB,WAAYxE,EAAIyS,aAAayT,GACxE,QACIE,iBAAkB1O,EAClB2O,UACInG,UAAWxI,EAAIzD,OACfiS,iBAAkBxO,EAAIvU,OAKlC,GAAImjB,GAActmB,EAAIkU,YAAYgS,GAAkB5jB,cAAc,OAI9DgkB,GAAY9hB,YACZxE,EAAIuW,WAAW+P,EAanB,KAVA,GAAIC,GACAC,EAAc/S,EAAU2S,EAAkBK,EAD9BC,EAAwBnI,EAAU,eAAiB,aAE/Dnb,EAAS4iB,GAAaA,EAAUE,kBAAoBA,EAAoBF,EAAU9F,UAAY,EAC9FyG,EAAiBT,EAAiB7hB,WAAWC,OAC7ChB,EAAMqjB,EAINzG,EAAY5c,IAEH,CAQT,GAPI4c,GAAayG,EACbT,EAAiBpiB,YAAYwiB,GAE7BJ,EAAiBxS,aAAa4S,EAAaJ,EAAiB7hB,WAAW6b,IAE3E+F,EAAaW,kBAAkBN,GAC/BC,EAAaN,EAAaL,iBAAiBc,EAAuBrB,GAChD,GAAdkB,GAAmBnjB,GAASE,EAC5B,KACG,IAAkB,IAAdijB,EAAkB,CACzB,GAAIjjB,GAAOF,EAAQ,EAEf,KAEAA,GAAQ8c,MAGZ5c,GAAOA,GAAOF,EAAQ,EAAKA,EAAQ8c,CAEvCA,GAAY2G,KAAKC,OAAO1jB,EAAQE,GAAO,GACvC4iB,EAAiBzhB,YAAY6hB,GAQjC,GAFAG,EAAeH,EAAY7e,YAET,IAAd8e,GAAoBE,GAAgBpT,EAAoBoT,GAAe,CAIvER,EAAac,YAAYxI,EAAU,aAAe,WAAY8G,EAE9D,IAAIpR,EAEJ,IAAI,SAAShJ,KAAKwb,EAAa9Q,MAAO,CA+BlC,GAAIqR,GAAYf,EAAaV,YACzB0B,EAAcD,EAAUE,KAAKC,QAAQ,QAAS,MAAM7iB,MAGxD,KADA2P,EAAS+S,EAAUI,UAAU,YAAaH,GACoC,KAArEV,EAAaS,EAAUpB,iBAAiB,aAAcoB,KAC3D/S,IACA+S,EAAUI,UAAU,YAAa,OAGrCnT,GAASgS,EAAaiB,KAAK5iB,MAE/B8hB,GAAmB,GAAIzP,GAAY8P,EAAcxS,OAKjDuS,IAAgBT,IAAgBxH,IAAY+H,EAAYtd,gBACxDyK,GAAYsS,GAAexH,IAAY+H,EAAY7e,YAE/C2e,EADA3S,GAAYJ,EAAoBI,GACb,GAAIkD,GAAYlD,EAAU,GACtC+S,GAAgBnT,EAAoBmT,GACxB,GAAI7P,GAAY6P,EAAcA,EAAa7Q,KAAKrR,QAEhD,GAAIqS,GAAYuP,EAAkBlmB,EAAIyS,aAAa6T,GAO9E,OAFAtmB,GAAIuW,WAAW+P,IAGXF,iBAAkBA,EAClBC,UACInG,UAAWA,EACXgG,iBAAkBA,KAQ1BmB,EAA0B,SAASjB,EAAkB7H,GACrD,GAAIkI,GAAca,EAEdhB,EAAajiB,EAFiBkjB,EAAiBnB,EAAiBnS,OAChEvS,EAAM1B,EAAIkU,YAAYkS,EAAiBjjB,MACd8iB,EAAenZ,EAAQpL,GAAKiN,kBACrD6Y,EAAiBnU,EAAoB+S,EAAiBjjB,KAqC1D,OAnCIqkB,IACAf,EAAeL,EAAiBjjB,KAChCmkB,EAAiBb,EAAajiB,aAE9BH,EAAa+hB,EAAiBjjB,KAAKkB,WACnCoiB,EAAgBc,EAAiBljB,EAAWC,OAAUD,EAAWkjB,GAAkB,KACnFD,EAAiBlB,EAAiBjjB,MAItCmjB,EAAc5kB,EAAIY,cAAc,QAIhCgkB,EAAYxQ,UAAY,UAIpB2Q,EACAa,EAAe5T,aAAa4S,EAAaG,GAEzCa,EAAexjB,YAAYwiB,GAG/BL,EAAaW,kBAAkBN,GAC/BL,EAAa/G,UAAUX,GAGvB+I,EAAe7iB,YAAY6hB,GAGvBkB,GACAvB,EAAa1H,EAAU,YAAc,WAAW,YAAagJ,GAG1DtB,EAQX1B,GAAmB,SAASc,GACxB5kB,KAAK4kB,UAAYA,EACjB5kB,KAAKskB,WAGTR,EAAiBpe,UAAY,GAAIke,GAASxhB,UAE1C0hB,EAAiBpe,UAAU4e,QAAU,WACjC,GAAI3hB,GAAOE,EAAKmkB,EAGZC,EAAwBtC,EAA6B3kB,KAAK4kB,UAE1DM,GAAqBllB,KAAK4kB,WAC1B/hB,EAAMF,EAAQyiB,EAA6BplB,KAAK4kB,UAAWqC,GAAuB,GAC9E,GAAMtB,kBAEVqB,EAAgB5B,EAA6BplB,KAAK4kB,UAAWqC,GAAuB,GAAM,GAC1FtkB,EAAQqkB,EAAcrB,iBAKtB9iB,EAAMuiB,EAA6BplB,KAAK4kB,UAAWqC,GAAuB,GAAO,EAC7ED,EAAcpB,UAAUD,kBAGhC3lB,KAAKuD,SAASZ,EAAMD,KAAMC,EAAM6Q,QAChCxT,KAAKwD,OAAOX,EAAIH,KAAMG,EAAI2Q,SAG9BsQ,EAAiBpe,UAAU6U,QAAU,WACjC,MAAO,oBAGXqJ,EAASvG,wBAAwByG,EAEjC,IAAIoD,GAAmB,SAASlb,GAC5B,GAAIA,EAAMyO,UACN,MAAOmM,GAAwB,GAAI1Q,GAAYlK,EAAM4L,eAAgB5L,EAAM0M,cAAc,EAEzF,IAAIyO,GAAaP,EAAwB,GAAI1Q,GAAYlK,EAAM4L,eAAgB5L,EAAM0M,cAAc,GAC/F0O,EAAWR,EAAwB,GAAI1Q,GAAYlK,EAAM6L,aAAc7L,EAAM2M,YAAY,GACzFiM,EAAYvY,EAASuX,EAAS9L,iBAAiB9L,IAASkC,iBAG5D,OAFA0W,GAAU0B,YAAY,eAAgBa,GACtCvC,EAAU0B,YAAY,WAAYc,GAC3BxC,EAcf,IAVAd,EAAiBoD,iBAAmBA,EAEpCpD,EAAiBpe,UAAU2hB,YAAc,WACrC,MAAOH,GAAiBlnB,OAG5BiN,EAAI6W,iBAAmBA,GAIlB7W,EAAIkB,SAASN,oBAAsBZ,EAAIG,OAAO4C,gBAAiB,CAEhE,GAAIsX,GAAY,SAAUC,GAAK,MAAOA,GAAE,mBAAsBC,SAChC,oBAAnBF,GAAUtH,QACjBsH,EAAUtH,MAAQ8D,GAGtB7W,EAAIyX,kBAAoB,SAASzjB,GAE7B,MADAA,GAAMiT,EAAmBjT,EAAKmN,EAAQ,qBAC/B/B,EAAQpL,GAAKiN,mBAGxBjB,EAAI4W,aAAeC,GAI3B7W,EAAI9K,YAAc,SAASlB,GAEvB,MADAA,GAAMiT,EAAmBjT,EAAKmN,EAAQ,eAC/B,GAAInB,GAAI4W,aAAa5W,EAAIyX,kBAAkBzjB,KAGtDgM,EAAIwa,iBAAmB,SAASxmB,GAE5B,MADAA,GAAMiT,EAAmBjT,EAAKmN,EAAQ,oBAC/B,GAAIwV,GAAS3iB,IAGxBgO,EAAKF,+BAA+B9B,EAAK,oBAAqB,eAC9DgC,EAAKF,+BAA+B9B,EAAK,yBAA0B,oBAEnEA,EAAIiE,gBAAgB,SAASlQ,GACzB,GAAIC,GAAMD,EAAIoB,QACgB,oBAAnBnB,GAAIkB,cACXlB,EAAIkB,YAAc,WACd,MAAO8K,GAAI9K,YAAYlB,KAG/BA,EAAMD,EAAM,SAQpBiM,EAAIuE,iBAAiB,oBAAqB,WAAY,gBAAiB,SAASvE,EAAKmB,GAuBjF,QAASsZ,GAAoBC,GACzB,MAAsB,gBAAPA,GAAmB,kBAAkBnd,KAAKmd,KAASA,EAGtE,QAASjU,GAAU1S,EAAKmT,GACpB,GAAKnT,EAEE,CAAA,GAAIzB,EAAI0U,SAASjT,GACpB,MAAOA,EACJ,IAAIA,YAAe4mB,GACtB,MAAO5mB,GAAIA,GAEX,IAAIC,GAAM1B,EAAI2U,mBAAmBlT,EAAKoN,EAAQ+F,EAC9C,OAAO5U,GAAImU,UAAUzS,GAPrB,MAAOO,QAWf,QAASqmB,GAAgBC,GACrB,MAAOpU,GAAUoU,EAAU,mBAAmB/kB,eAGlD,QAASglB,GAAgBD,GACrB,MAAOpU,GAAUoU,EAAU,mBAAmB1lB,SAASzC,UAG3D,QAASqoB,GAAuBC,GAC5B,GAAIC,IAAW,CAIf,OAHID,GAAIjlB,aACJklB,EAAmG,GAAvF3oB,EAAI+U,cAAc2T,EAAIjlB,WAAYilB,EAAIhlB,aAAcglB,EAAI/kB,UAAW+kB,EAAI9kB,cAEhF+kB,EA2KX,QAASC,GAA8BF,EAAKjc,EAAOkc,GAC/C,GAAIE,GAAeF,EAAW,MAAQ,QAASG,EAAcH,EAAW,QAAU,KAClFD,GAAIjlB,WAAagJ,EAAMoc,EAAe,aACtCH,EAAIhlB,aAAe+I,EAAMoc,EAAe,UACxCH,EAAI/kB,UAAY8I,EAAMqc,EAAc,aACpCJ,EAAI9kB,YAAc6I,EAAMqc,EAAc,UAG1C,QAASC,GAAwCL,GAC7C,GAAIM,GAAYN,EAAIO,eACpBP,GAAIjlB,WAAaulB,EAAUvlB,WAC3BilB,EAAIhlB,aAAeslB,EAAUtlB,aAC7BglB,EAAI/kB,UAAYqlB,EAAUrlB,UAC1B+kB,EAAI9kB,YAAcolB,EAAUplB,YAGhC,QAASslB,GAAqBR,GAC1BA,EAAIjlB,WAAailB,EAAI/kB,UAAY,KACjC+kB,EAAIhlB,aAAeglB,EAAI9kB,YAAc,EACrC8kB,EAAIS,WAAa,EACjBT,EAAI3C,aAAc,EAClB2C,EAAIU,QAAQ9kB,OAAS,EAGzB,QAAS+kB,GAAe5c,GACpB,GAAIgY,EAUJ,OATIhY,aAAiB4X,IACjBI,EAAc/W,EAAIyX,kBAAkB1Y,EAAMyH,eAC1CuQ,EAAYxgB,OAAOwI,EAAM6L,aAAc7L,EAAM2M,WAC7CqL,EAAYzgB,SAASyI,EAAM4L,eAAgB5L,EAAM0M,cAC1C1M,YAAiB6X,GACxBG,EAAchY,EAAMgY,YACb7V,EAASN,oBAAuB7B,YAAiBzM,GAAImU,UAAU1H,EAAM4L,gBAAgBoI,QAC5FgE,EAAchY,GAEXgY,EAGX,QAAS6E,GAA2BC,GAChC,IAAKA,EAAWjlB,QAAoC,GAA1BilB,EAAW,GAAGxmB,SACpC,OAAO,CAEX,KAAK,GAAIuE,GAAI,EAAG4H,EAAMqa,EAAWjlB,OAAY4K,EAAJ5H,IAAWA,EAChD,IAAKtH,EAAIgT,aAAauW,EAAW,GAAIA,EAAWjiB,IAC5C,OAAO,CAGf,QAAO,EAGX,QAASkiB,GAA0B/c,GAC/B,GAAImO,GAAQnO,EAAM0W,UAClB,KAAKmG,EAA2B1O,GAC5B,KAAM/L,GAAOmD,YAAY,oCAAsCvF,EAAMkL,UAAY,uCAErF,OAAOiD,GAAM,GAIjB,QAASpO,GAAYC,GACjB,QAASA,GAA8B,mBAAdA,GAAMya,KAGnC,QAASuC,GAAoBf,EAAKjc,GAE9B,GAAIid,GAAe,GAAIpF,GAAa7X,EACpCic,GAAIU,SAAWM,GAEfd,EAA8BF,EAAKgB,GAAc,GACjDhB,EAAIS,WAAa,EACjBT,EAAI3C,YAAc2D,EAAaxO,UAGnC,QAASyO,GAAuBjB,GAG5B,GADAA,EAAIU,QAAQ9kB,OAAS,EACQ,QAAzBokB,EAAIkB,aAAa1mB,KACjBgmB,EAAqBR,OAClB,CACH,GAAImB,GAAenB,EAAIkB,aAAahnB,aACpC,IAAI4J,EAAYqd,GAIZJ,EAAoBf,EAAKmB,OACtB,CACHnB,EAAIS,WAAaU,EAAavlB,MAE9B,KAAK,GADDmI,GAAO/K,EAAMwS,EAAY2V,EAAaxiB,KAAK,IACtCC,EAAI,EAAGA,EAAIohB,EAAIS,aAAc7hB,EAClCmF,EAAQiB,EAAI9K,YAAYlB,GACxB+K,EAAM2S,WAAWyK,EAAaxiB,KAAKC,IACnCohB,EAAIU,QAAQ1oB,KAAK+L,EAErBic,GAAI3C,YAAgC,GAAlB2C,EAAIS,YAAmBT,EAAIU,QAAQ,GAAGlO,UACxD0N,EAA8BF,EAAKA,EAAIU,QAAQV,EAAIS,WAAa,IAAI,KAKhF,QAASW,GAA2BpB,EAAKjc,GAQrC,IAAK,GAPDod,GAAenB,EAAIkB,aAAahnB,cAChCmnB,EAAeP,EAA0B/c,GAIzC/K,EAAMwS,EAAY2V,EAAaxiB,KAAK,IACpC2iB,EAAkBld,EAAQpL,GAAKuoB,qBAC1B3iB,EAAI,EAAG4H,EAAM2a,EAAavlB,OAAY4K,EAAJ5H,IAAWA,EAClD0iB,EAAgB/iB,IAAI4iB,EAAaxiB,KAAKC,GAE1C,KACI0iB,EAAgB/iB,IAAI8iB,GACtB,MAAO7b,GACL,KAAMW,GAAOmD,YAAY,iHAE7BgY,EAAgBE,SAGhBP,EAAuBjB,GAgC3B,QAASL,GAAiBjoB,EAAWwpB,EAAcnoB,GAC/ChB,KAAKwoB,gBAAkB7oB,EACvBK,KAAKmpB,aAAeA,EACpBnpB,KAAK2oB,WACL3oB,KAAKgB,IAAMA,EACXhB,KAAKskB,UAKT,QAASoF,GAAiBzB,GACtBA,EAAIjnB,IAAMinB,EAAIjlB,WAAailB,EAAI/kB,UAAY+kB,EAAIU,QAAU,KACzDV,EAAIS,WAAaT,EAAIhlB,aAAeglB,EAAI9kB,YAAc,EACtD8kB,EAAI0B,UAAW,EAKnB,QAASC,GAAqB5oB,EAAK6oB,GAE/B,IADA,GAAsCC,GAAQ7B,EAA1CphB,EAAIkjB,GAAsBlmB,OACvBgD,KAGH,GAFAijB,EAASC,GAAsBljB,GAC/BohB,EAAM6B,EAAOnqB,UACC,aAAVkqB,EACAH,EAAiBzB,OACd,IAAI6B,EAAO9oB,KAAOA,EACrB,MAAc,UAAV6oB,GACAE,GAAsBtjB,OAAOI,EAAG,IACzB,GAEAohB,CAOnB,OAHc,aAAV4B,IACAE,GAAsBlmB,OAAS,GAE5B,KA+BX,QAASmmB,GAAuB/B,EAAKgC,GAIjC,IAAK,GAAWvZ,GAFZzP,EAAMwS,EAAYwW,EAAO,GAAGrS,gBAC5BwR,EAAe/c,EAAQpL,GAAKuoB,qBACvB3iB,EAAI,EAAO4H,EAAMwb,EAAOpmB,OAAY4K,EAAJ5H,IAAWA,EAAG,CACnD6J,EAAKqY,EAA0BkB,EAAOpjB,GACtC,KACIuiB,EAAa5iB,IAAIkK,GACnB,MAAOjD,GACL,KAAMW,GAAOmD,YAAY,2HAGjC6X,EAAaK,SAGbP,EAAuBjB,GAqT3B,QAASiC,GAAyBjC,EAAKvlB,GACnC,GAAIulB,EAAIjnB,IAAIoB,UAAYqR,EAAY/Q,GAChC,KAAM,IAAIyT,GAAa,sBA+F/B,QAASgU,GAAuBrM,GAC5B,MAAO,UAASpb,EAAM8Q,GAClB,GAAIxH,EACAhM,MAAK0oB,YACL1c,EAAQhM,KAAKoqB,WAAW,GACxBpe,EAAM,OAAS8R,EAAU,QAAU,QAAQpb,EAAM8Q,KAEjDxH,EAAQiB,EAAI9K,YAAYnC,KAAKgB,IAAIoB,UACjC4J,EAAMgQ,eAAetZ,EAAM8Q,IAE/BxT,KAAKqqB,eAAere,EAAOhM,KAAKsqB,eAgGxC,QAASpT,GAAQ+Q,GACb,GAAIsC,MACAC,EAAS,GAAItU,GAAY+R,EAAIjlB,WAAYilB,EAAIhlB,cAC7CiB,EAAQ,GAAIgS,GAAY+R,EAAI/kB,UAAW+kB,EAAI9kB,aAC3C2L,EAA8B,kBAAfmZ,GAAI1N,QAAyB0N,EAAI1N,UAAY,WAEhE,IAA6B,mBAAlB0N,GAAIS,WACX,IAAK,GAAI7hB,GAAI,EAAG4H,EAAMwZ,EAAIS,WAAgBja,EAAJ5H,IAAWA,EAC7C0jB,EAAc1jB,GAAK+c,EAAS1M,QAAQ+Q,EAAImC,WAAWvjB,GAG3D,OAAO,IAAMiI,EAAO,YAAcyb,EAAchkB,KAAK,MAC7C,aAAeikB,EAAOtT,UAAY,YAAchT,EAAMgT,UAAY,IAp9B9EjK,EAAIG,OAAOqd,sBAAuB,CAElC,IASIC,GACAC,EAVAC,EAAU,UACVC,EAAS,SACTtrB,EAAM0N,EAAI1N,IACV0P,EAAOhC,EAAIgC,KACX7D,EAAe6D,EAAK7D,aACpBwY,EAAW3W,EAAI2W,SACfC,EAAe5W,EAAI4W,aACnB1N,EAAelJ,EAAIkJ,aACnBD,EAAc3W,EAAI2W,YAGlB/H,EAAWlB,EAAIkB,SACf2c,EAAU,UACVrX,EAAclU,EAAIkU,YAClBpH,EAAU9M,EAAI8M,QACdmX,EAAcI,EAASJ,YAwCvBuH,EAA4B3f,EAAa5J,OAAQ,gBACjDwpB,EAAyB/b,EAAKxD,aAAarJ,SAAU,YAEzD+L,GAAS4c,0BAA4BA,EACrC5c,EAAS6c,uBAAyBA,CAElC,IAAIC,GAAuBD,KAA4BD,GAA6B9d,EAAIG,OAAO4C,gBAE/F,IAAIib,EACAP,EAAqB3C,EACrB9a,EAAIie,iBAAmB,SAASpD,GAC5B,GAAI7mB,GAAMyS,EAAUoU,EAAU,oBAAoB1lB,SAAUmmB,EAAYtnB,EAAItB,SAG5E,OAA0B,QAAlB4oB,EAAU9lB,MAAkBgR,EAAY8U,EAAUpmB,cAAcoD,kBAAoBtE,OAE7F,CAAA,IAAI8pB,EAOP,MADA3c,GAAOrB,KAAK,kEACL,CANP2d,GAAqB7C,EACrB5a,EAAIie,iBAAmB,WACnB,OAAO,GAOfje,EAAIyd,mBAAqBA,CAEzB,IAAIS,GAAgBT,GAGpB,KAAKS,EAED,MADA/c,GAAOrB,KAAK,oDACL,CAGX,IAAIa,GAAYX,EAAIyX,kBAAkBtiB,UAClCkB,EAAO+I,EAAQjK,UAGfgpB,EAA6Bnc,EAAK9C,kBAAkBgf,GACnD,aAAc,YAAa,eAAgB,eAEhDhd,GAASid,2BAA6BA,CAGtC,IAAIC,GAAqBjgB,EAAa+f,EAAe,SACrDhd,GAASkd,mBAAqBA,CAG9B,IAAIC,SAAiCH,GAAczC,YAAcmC,CACjE1c,GAASmd,uBAAyBA,CAElC,IAAIC,IAAkC,EAClCC,GAA0C,EAE1CC,EAA2BJ,EAC3B,SAAS7C,EAAiBxc,GACtB,GAAI/K,GAAM2iB,EAAS9L,iBAAiB9L,GAChCob,EAAWna,EAAI9K,YAAYlB,EAC/BmmB,GAASvH,gBAAgB7T,EAAM6L,aAAc7L,EAAM2M,WACnD6P,EAAgB9kB,SAASklB,EAAexB,IACxCoB,EAAgBjf,OAAOyC,EAAM4L,eAAgB5L,EAAM0M,cACnD,IAEJzJ,GAAKhD,eAAekf,GAAgB,WAAY,aAAc,2BACnDA,GAAczC,YAAcmC,GAAU1c,EAASN,qBAE1D,WAOI,GAAIoa,GAAMzmB,OAAOuB,cACjB,IAAIklB,EAAK,CAML,IAAK,GAJDyD,GAA8BzD,EAAIS,WAClCiD,EAA8BD,EAA8B,EAC5DE,KACAC,EAA4B7D,EAAuBC,GAC9CphB,EAAI,EAAO6kB,EAAJ7kB,IAAmCA,EAC/C+kB,EAAwB/kB,GAAKohB,EAAImC,WAAWvjB,EAIhD,IAAIilB,GAASvsB,EAAImW,kBAAkBtT,SAAU,IAAI,GAC7CkU,EAAWwV,EAAOzoB,YAAajB,SAASL,eAAe,QAGvD2hB,EAAKthB,SAASD,aAUlB,IARAuhB,EAAGngB,SAAS+S,EAAU,GACtBoN,EAAGjF,UAAS,GACZwJ,EAAIxkB,kBACJwkB,EAAIvkB,SAASggB,GACb8H,EAA6D,GAAlBvD,EAAIS,WAC/CT,EAAIxkB,mBAGCkoB,EAA4B,CAM7B,GAAII,GAAcvqB,OAAOwqB,UAAUC,WAAWC,MAAM,iBACpD,IAAIH,GAAeI,SAASJ,EAAY,KAAO,GAC3CR,GAAkC,MAC/B,CACH,GAAI5H,GAAKD,EAAGvD,YACZuD,GAAGngB,SAAS+S,EAAU,GACtBqN,EAAGngB,OAAO8S,EAAU,GACpBqN,EAAGpgB,SAAS+S,EAAU,GACtB2R,EAAIvkB,SAASggB,GACbuE,EAAIvkB,SAASigB,GACb4H,EAAqD,GAAlBtD,EAAIS,YAQ/C,IAHAnpB,EAAIuW,WAAWgW,GACf7D,EAAIxkB,kBAECoD,EAAI,EAAO6kB,EAAJ7kB,IAAmCA,EAClC,GAALA,GAAUglB,EACNJ,EACAA,EAAyBxD,EAAK2D,EAAwB/kB,KAEtDoG,EAAIK,KAAK,yJACT2a,EAAIvkB,SAASkoB,EAAwB/kB,KAGzCohB,EAAIvkB,SAASkoB,EAAwB/kB,QAOzDsH,EAASod,gCAAkCA,EAC3Cpd,EAASqd,wCAA0CA,CAGnD,IAAoCY,GAAhCC,GAAyB,CAEzB/oB,IAAQ8H,EAAa9H,EAAM,wBAC3B8oB,EAAmB9oB,EAAKkmB,qBACpBva,EAAK9C,kBAAkBigB,GAAmB,OAAQ,UAClDC,GAAyB,IAGjCle,EAASke,uBAAyBA,EAI9B1B,EADAS,EACuB,SAASnD,GAC5B,MAAOA,GAAIjlB,aAAeilB,EAAI/kB,WAAa+kB,EAAIhlB,eAAiBglB,EAAI9kB,aAGjD,SAAS8kB,GAC5B,MAAOA,GAAIS,WAAaT,EAAImC,WAAWnC,EAAIS,WAAa,GAAGjO,WAAY,EA6H/E,IAAI6R,GAEAlhB,GAAa+f,EAAe,cAI5BmB,GAAsB,SAASrE,EAAK5iB,GAChC,IACI,MAAO4iB,GAAImC,WAAW/kB,GACxB,MAAOoI,GACL,MAAO,QAGR2d,IACPkB,GAAsB,SAASrE,GAC3B,GAAIhnB,GAAMwS,EAAYwU,EAAIjlB,YACtBgJ,EAAQiB,EAAI9K,YAAYlB,EAS5B,OARA+K,GAAMgQ,eAAeiM,EAAIjlB,WAAYilB,EAAIhlB,aAAcglB,EAAI/kB,UAAW+kB,EAAI9kB,aAItE6I,EAAMyO,YAAcza,KAAKslB,aACzBtZ,EAAMgQ,eAAeiM,EAAI/kB,UAAW+kB,EAAI9kB,YAAa8kB,EAAIjlB,WAAYilB,EAAIhlB,cAGtE+I,IAYf4b,EAAiBliB,UAAYuH,EAAIyE,kBAQjC,IAAIqY,OAwBAhnB,GAAe,SAAS/B,GAExB,GAAIA,GAAOA,YAAe4mB,GAEtB,MADA5mB,GAAIsjB,UACGtjB,CAGXA,GAAM0S,EAAU1S,EAAK,qBAErB,IAAIinB,GAAM2B,EAAqB5oB,GAC3BunB,EAAYmC,EAAmB1pB,GAAMurB,EAASvB,EAAyBjD,EAAgB/mB,GAAO,IASlG,OARIinB,IACAA,EAAIO,gBAAkBD,EACtBN,EAAIkB,aAAeoD,EACnBtE,EAAI3D,YAEJ2D,EAAM,GAAIL,GAAiBW,EAAWgE,EAAQvrB,GAC9C+oB,GAAsB9pB,MAAQe,IAAKA,EAAKrB,UAAWsoB,KAEhDA,EAGXhb,GAAIlK,aAAeA,GAEnBkM,EAAKF,+BAA+B9B,EAAK,qBAAsB,eAE/D,IAAIuf,IAAW5E,EAAiBliB,SAqBhC,KAAKulB,GAAwBG,GAA8Bnc,EAAKhD,eAAekf,GAAgB,kBAAmB,aAAc,CAC5HqB,GAAS/oB,gBAAkB,WACvBzD,KAAKwoB,gBAAgB/kB,kBACrBglB,EAAqBzoB,MAGzB,IAAIysB,IAAmB,SAASxE,EAAKjc,GACjCyf,EAAyBxD,EAAIO,gBAAiBxc,GAC9Cic,EAAI3D,UAGJgH,GACAkB,GAAS9oB,SAAW,SAASsI,EAAO0gB,GAChC,GAAIL,GAA0BrB,GAA0BhrB,KAAKmpB,aAAa1mB,MAAQqoB,EAC9EzB,EAA2BrpB,KAAMgM,OAEjC,IAAI0b,EAAoBgF,IAAcrB,EAClCoB,GAAiBzsB,KAAMgM,OACpB,CACH,GAAI2gB,EACApB,GACAoB,EAAqB3sB,KAAK0oB,YAE1B1oB,KAAKyD,kBACLkpB,EAAqB,EAKzB,IAAIC,GAAoBhE,EAAe5c,GAAOmU,YAC9C,KACIngB,KAAKwoB,gBAAgB9kB,SAASkpB,GAChC,MAAOnf,IAMT,GAFAzN,KAAK0oB,WAAa1oB,KAAKwoB,gBAAgBE,WAEnC1oB,KAAK0oB,YAAciE,EAAqB,EAAG,CAK3C,GAAI1f,EAAIG,OAAOqd,qBAAsB,CACjC,GAAIzG,GAAcsI,GAAoBtsB,KAAKwoB,gBAAiBxoB,KAAK0oB,WAAa,EAC1E1E,KAAgBR,EAAYQ,EAAahY,KAEzCA,EAAQ,GAAI6X,GAAaG,IAGjChkB,KAAK2oB,QAAQ3oB,KAAK0oB,WAAa,GAAK1c,EACpCmc,EAA8BnoB,KAAMgM,EAAO6gB,GAAoB7sB,KAAKwoB,kBACpExoB,KAAKslB,YAAcqF,EAAqB3qB,UAGxCA,MAAKskB,YAMrBkI,GAAS9oB,SAAW,SAASsI,EAAO0gB,GAC5BhF,EAAoBgF,IAAcrB,EAClCoB,GAAiBzsB,KAAMgM,IAEvBhM,KAAKwoB,gBAAgB9kB,SAASklB,EAAe5c,IAC7ChM,KAAKskB,YAKjBkI,GAASM,UAAY,SAAS7C,GAC1B,GAAIoC,GAA0BrB,GAA0Bf,EAAOpmB,OAAS,EACpEmmB,EAAuBhqB,KAAMiqB,OAC1B,CACHjqB,KAAKyD,iBACL,KAAK,GAAIoD,GAAI,EAAG4H,EAAMwb,EAAOpmB,OAAY4K,EAAJ5H,IAAWA,EAC5C7G,KAAK0D,SAASumB,EAAOpjB,UAI9B,CAAA,KAAIuE,EAAa+f,EAAe,UAAY/f,EAAawC,EAAW,WAChEye,GAA0BpB,GAqDjC,MADA7c,GAAOrB,KAAK,yDACL,CAnDPyf,IAAS/oB,gBAAkB,WAEvB,IAII,GAHAzD,KAAKmpB,aAAa4D,QAGY,QAA1B/sB,KAAKmpB,aAAa1mB,KAAgB,CAGlC,GAAIxB,EACJ,IAAIjB,KAAKgD,WACL/B,EAAMwS,EAAYzT,KAAKgD,gBACpB,IAAIhD,KAAKmpB,aAAa1mB,MAAQqoB,EAAS,CAC1C,GAAI1B,GAAeppB,KAAKmpB,aAAahnB,aACjCinB,GAAavlB,SACb5C,EAAMwS,EAAa2V,EAAaxiB,KAAK,KAG7C,GAAI3F,EAAK,CACL,GAAI2jB,GAAYvY,EAAQpL,GAAKiN,iBAC7B0W,GAAU6E,SACVzpB,KAAKmpB,aAAa4D,UAG5B,MAAMtf,IACRgb,EAAqBzoB,OAGzBwsB,GAAS9oB,SAAW,SAASsI,GACrBhM,KAAKmpB,aAAa1mB,MAAQqoB,EAC1BzB,EAA2BrpB,KAAMgM,IAEjCiB,EAAI6W,iBAAiBoD,iBAAiBlb,GAAOyd,SAC7CzpB,KAAK2oB,QAAQ,GAAK3c,EAClBhM,KAAK0oB,WAAa,EAClB1oB,KAAKslB,YAActlB,KAAK2oB,QAAQ,GAAGlO,UACnC0N,EAA8BnoB,KAAMgM,GAAO,KAInDwgB,GAASM,UAAY,SAAS7C,GAC1BjqB,KAAKyD,iBACL,IAAIilB,GAAauB,EAAOpmB,MACpB6kB,GAAa,EACbsB,EAAuBhqB,KAAMiqB,GACtBvB,GACP1oB,KAAK0D,SAASumB,EAAO,KAQjCuC,GAASpC,WAAa,SAAS/kB,GAC3B,GAAY,EAARA,GAAaA,GAASrF,KAAK0oB,WAC3B,KAAM,IAAIvS,GAAa,iBAGvB,OAAOnW,MAAK2oB,QAAQtjB,GAAO8a,aAInC,IAAI6M,GAEJ,IAAI/B,EACA+B,GAAmB,SAAS/E,GACxB,GAAIjc,EACAiB,GAAIie,iBAAiBjD,EAAIjnB,KACzBgL,EAAQic,EAAIkB,aAAahnB,eAEzB6J,EAAQK,EAAQ4b,EAAIjnB,IAAIoB,UAAU8L,kBAClClC,EAAMyS,UAAS,IAGfwJ,EAAIkB,aAAa1mB,MAAQqoB,EACzB5B,EAAuBjB,GAChBlc,EAAYC,GACnBgd,EAAoBf,EAAKjc,GAEzByc,EAAqBR,QAG1B,IAAI7c,EAAa+f,EAAe,qBAAwBA,GAAczC,YAAcmC,EACvFmC,GAAmB,SAAS/E,GACxB,GAAIoE,GAA0BrB,GAA0B/C,EAAIkB,aAAa1mB,MAAQqoB,EAC7E5B,EAAuBjB,OAGvB,IADAA,EAAIU,QAAQ9kB,OAASokB,EAAIS,WAAaT,EAAIO,gBAAgBE,WACtDT,EAAIS,WAAY,CAChB,IAAK,GAAI7hB,GAAI,EAAG4H,EAAMwZ,EAAIS,WAAgBja,EAAJ5H,IAAWA,EAC7CohB,EAAIU,QAAQ9hB,GAAK,GAAIoG,GAAI4W,aAAaoE,EAAIO,gBAAgB4B,WAAWvjB,GAEzEshB,GAA8BF,EAAKA,EAAIU,QAAQV,EAAIS,WAAa,GAAImE,GAAoB5E,EAAIO,kBAC5FP,EAAI3C,YAAcqF,EAAqB1C,OAEvCQ,GAAqBR,QAI9B,CAAA,IAAImD,SAAqCD,GAAc7F,aAAesF,SAAkBhd,GAAU6M,WAAamQ,IAAWzc,EAASN,mBAetI,MADAO,GAAOrB,KAAK,mFACL,CAdPigB,IAAmB,SAAS/E,GACxB,GAAIjc,GAAOuc,EAAYN,EAAIO,eACvBD,GAAUvlB,YACVgJ,EAAQsgB,GAAoB/D,EAAW,GACvCN,EAAIU,SAAW3c,GACfic,EAAIS,WAAa,EACjBJ,EAAwCL,GACxCA,EAAI3C,YAAcqF,EAAqB1C,IAEvCQ,EAAqBR,IAQjCuE,GAASlI,QAAU,SAAS2I,GACxB,GAAIC,GAAYD,EAAkBjtB,KAAK2oB,QAAQhY,MAAM,GAAK,KACtDwc,EAAgBntB,KAAKgD,WAAYoqB,EAAkBptB,KAAKiD,YAG5D,IADA+pB,GAAiBhtB,MACbitB,EAAiB,CAEjB,GAAIpmB,GAAIqmB,EAAUrpB,MAClB,IAAIgD,GAAK7G,KAAK2oB,QAAQ9kB,OAClB,OAAO,CAKX,IAAI7D,KAAKgD,YAAcmqB,GAAiBntB,KAAKiD,cAAgBmqB,EACzD,OAAO,CAIX,MAAOvmB,KACH,IAAK2c,EAAY0J,EAAUrmB,GAAI7G,KAAK2oB,QAAQ9hB,IACxC,OAAO,CAGf,QAAO,GAKf,IAAIwmB,IAAsB,SAASpF,EAAKjc,GACpC,GAAIie,GAAShC,EAAIqF,cACjBrF,GAAIxkB,iBACJ,KAAK,GAAIoD,GAAI,EAAG4H,EAAMwb,EAAOpmB,OAAY4K,EAAJ5H,IAAWA,EACvC2c,EAAYxX,EAAOie,EAAOpjB,KAC3BohB,EAAIvkB,SAASumB,EAAOpjB,GAGvBohB,GAAIS,YACLD,EAAqBR,GAIzBoE,IAA0BrB,EAC1BwB,GAASe,YAAc,SAASvhB,GAC5B,GAAIhM,KAAKmpB,aAAa1mB,MAAQqoB,EAAS,CASnC,IAAK,GADDpa,GAPA0Y,EAAeppB,KAAKmpB,aAAahnB,cACjCmnB,EAAeP,EAA0B/c,GAIzC/K,EAAMwS,EAAY2V,EAAaxiB,KAAK,IACpC2iB,EAAkBld,EAAQpL,GAAKuoB,qBAC3BgE,GAAU,EACT3mB,EAAI,EAAG4H,EAAM2a,EAAavlB,OAAY4K,EAAJ5H,IAAWA,EAClD6J,EAAK0Y,EAAaxiB,KAAKC,GACnB6J,IAAO4Y,GAAgBkE,EACvBjE,EAAgB/iB,IAAI4iB,EAAaxiB,KAAKC,IAEtC2mB,GAAU,CAGlBjE,GAAgBE,SAGhBP,EAAuBlpB,UAEvBqtB,IAAoBrtB,KAAMgM,IAIlCwgB,GAASe,YAAc,SAASvhB,GAC5BqhB,GAAoBrtB,KAAMgM,GAKlC,IAAI6gB,KACC5B,GAAwBG,GAA8Bjd,EAASN,oBAChEgf,GAAsB7E,EAEtBwE,GAASlC,WAAa,WAClB,MAAOuC,IAAoB7sB,QAG/B6sB,GAAsBL,GAASlC,WAAa,WACxC,OAAO,GAKfkC,GAASiB,YAAcjB,GAASlC,WAKhCkC,GAASpiB,SAAW,WAEhB,IAAK,GADDsjB,MACK7mB,EAAI,EAAG4H,EAAMzO,KAAK0oB,WAAgBja,EAAJ5H,IAAWA,EAC9C6mB,EAAW7mB,GAAK,GAAK7G,KAAK2oB,QAAQ9hB,EAEtC,OAAO6mB,GAAWnnB,KAAK,KAU3BimB,GAAS/N,SAAW,SAAS/b,EAAM8Q,GAC/B0W,EAAyBlqB,KAAM0C,EAC/B,IAAIsJ,GAAQiB,EAAI9K,YAAYO,EAC5BsJ,GAAM6T,gBAAgBnd,EAAM8Q,GAC5BxT,KAAKqqB,eAAere,GACpBhM,KAAKslB,aAAc,GAGvBkH,GAASmB,gBAAkB,WACvB,IAAI3tB,KAAK0oB,WAIL,KAAM,IAAIvS,GAAa,oBAHvB,IAAInK,GAAQhM,KAAK2oB,QAAQ,EACzB3oB,MAAKye,SAASzS,EAAM4L,eAAgB5L,EAAM0M,cAMlD8T,GAASoB,cAAgB,WACrB,IAAI5tB,KAAK0oB,WAIL,KAAM,IAAIvS,GAAa,oBAHvB,IAAInK,GAAQhM,KAAK2oB,QAAQ3oB,KAAK0oB,WAAa,EAC3C1oB,MAAKye,SAASzS,EAAM6L,aAAc7L,EAAM2M,YAQhD6T,GAASqB,kBAAoB,SAASnrB,GAClCwnB,EAAyBlqB,KAAM0C,EAC/B,IAAIsJ,GAAQiB,EAAI9K,YAAYO,EAC5BsJ,GAAM0S,mBAAmBhc,GACzB1C,KAAKqqB,eAAere,IAGxBwgB,GAASsB,mBAAqB,WAE1B,GAAIzB,GAA0BrB,GAA0BhrB,KAAKmpB,aAAa1mB,MAAQqoB,EAAS,CAGvF,IAFA,GACI7lB,GADAmkB,EAAeppB,KAAKmpB,aAAahnB,cAE9BinB,EAAavlB,QAChBoB,EAAUmkB,EAAaxiB,KAAK,GAC5BwiB,EAAa5jB,OAAOP,GACpB1F,EAAIuW,WAAW7Q,EAEnBjF,MAAKskB,cACF,IAAItkB,KAAK0oB,WAAY,CACxB,GAAIuB,GAASjqB,KAAKstB,cAClB,IAAIrD,EAAOpmB,OAAQ,CACf7D,KAAKyD,iBACL,KAAK,GAAIoD,GAAI,EAAG4H,EAAMwb,EAAOpmB,OAAY4K,EAAJ5H,IAAWA,EAC5CojB,EAAOpjB,GAAGgY,gBAId7e,MAAK0D,SAASumB,EAAOxb,EAAM,OAMvC+d,GAASuB,UAAY,SAAShe,EAAMpF,GAChC,IAAK,GAAI9D,GAAI,EAAG4H,EAAMzO,KAAK2oB,QAAQ9kB,OAAY4K,EAAJ5H,IAAWA,EAClD,GAAKkJ,EAAM/P,KAAKoqB,WAAWvjB,IACvB,MAAO8D,IAKnB6hB,GAASc,aAAe,WACpB,GAAIrD,KAIJ,OAHAjqB,MAAK+tB,UAAU,SAAS/hB,GACpBie,EAAOhqB,KAAK+L,KAETie,GAGXuC,GAASnC,eAAiB,SAASre,EAAO0gB,GACtC1sB,KAAKyD,kBACLzD,KAAK0D,SAASsI,EAAO0gB,IAGzBF,GAASwB,sBAAwB,SAAS7Z,EAAYpL,GAClD,GAAIklB,KAIJ,OAHAjuB,MAAK+tB,UAAW,SAAS/hB,GACrBiiB,EAAQhuB,KAAM+L,EAAMmI,GAAY/P,MAAM4H,EAAOjD,UAE1CklB,GAiBXzB,GAASjpB,SAAW4mB,GAAuB,GAC3CqC,GAAShpB,OAAS2mB,GAAuB,GAGzCld,EAAIwE,eAAegY,OAAS,SAASiD,GACjC3pB,GAAc/C,KAAKyT,eAAgB4W,eAAerqB,KAAM0sB,IAG5DF,GAAS0B,gBAAkB,SAASne,GAChC,GAAIka,MACA/B,EAAWloB,KAAKsqB,YAEpBtqB,MAAK+tB,UAAU,SAAS/hB,GACpB+D,EAAK/D,GACLie,EAAOhqB,KAAK+L,KAGhBhM,KAAKyD,kBACDykB,GAA6B,GAAjB+B,EAAOpmB,OACnB7D,KAAK0D,SAASumB,EAAO,GAAI,YAEzBjqB,KAAK8sB,UAAU7C,IAIvBuC,GAASrK,aAAe,SAASzf,EAAM0f,GACnC,MAAOpiB,MAAK+tB,UAAW,SAAS/hB,GAC5B,MAAOA,GAAMmW,aAAazf,EAAM0f,KACjC,KAAU,GAGjBoK,GAASzJ,YAAc,SAASC,GAC5B,OACIkF,SAAUloB,KAAKsqB,aACf6D,eAAgBnuB,KAAKguB,sBAAsB,eAAgBhL,MAInEwJ,GAAStJ,eAAiB,SAASC,GAE/B,IAAK,GAAWiL,GAAepiB,EAD3BqiB,KACKxnB,EAAI,EAAyBunB,EAAgBjL,EAASgL,eAAetnB,MAC1EmF,EAAQiB,EAAI9K,YAAYnC,KAAKgB,KAC7BgL,EAAMkX,eAAekL,GACrBC,EAAUpuB,KAAK+L,EAEfmX,GAAS+E,SACTloB,KAAKqqB,eAAegE,EAAU,GAAI,YAElCruB,KAAK8sB,UAAUuB,IAIvB7B,GAAS8B,WAAa,WAClB,OACIpG,SAAUloB,KAAKsqB,aACfL,OAAQjqB,KAAKguB,sBAAsB,gBAI3CxB,GAAS+B,cAAgB,SAASF,GAC9BruB,KAAKyD,iBACL,KAAK,GAAWuI,GAAPnF,EAAI,EAAUmF,EAAQqiB,EAAUpE,OAAOpjB,KAAMA,EAClD7G,KAAK0D,SAASsI,EAAQqiB,EAAUnG,UAAiB,GAALrhB,IAIpD2lB,GAAS9K,OAAS,WACd,GAAI8M,KAIJ,OAHAxuB,MAAK+tB,UAAU,SAAS/hB,GACpBwiB,EAAWvuB,KAAM2jB,EAASlC,OAAO1V,MAE9BwiB,EAAWjoB,KAAK,KAGvB4H,EAASL,sBACT0e,GAASiC,mBAAqB,WAC1B,GAAIxG,EACJ,IAAMA,EAAMjoB,KAAKmpB,aAAgB,CAC7B,GAAInd,GAAQic,EAAI9lB,aAChB,IAAI4J,EAAYC,GACZ,MAAOA,EAEP,MAAMoC,GAAOmD,YAAY,wDAE1B,GAAIvR,KAAK0oB,WAAa,EACzB,MAAOzb,GAAI6W,iBAAiBoD,iBAAkBlnB,KAAKoqB,WAAW,GAE9D,MAAMhc,GAAOmD,YAAY,qDAoBrCib,GAASjS,QAAU,WACf,MAAO,oBAGXiS,GAAStV,QAAU,WACf,MAAOA,GAAQlX,OAGnBwsB,GAASzV,OAAS,WACd6S,EAAqB5pB,KAAKgB,IAAK,UAC/B0oB,EAAiB1pB,OAGrB4nB,EAAiB8G,UAAY,WACzB9E,EAAqB,KAAM,cAG/BhC,EAAiB1Q,QAAUA,EAC3B0Q,EAAiBF,oBAAsBA,EAEvCza,EAAI0hB,UAAY/G,EAEhB3a,EAAIyE,mBAAqB8a,GAEzBvf,EAAIiE,gBAAgB,SAASlQ,GACM,mBAApBA,GAAI+B,eACX/B,EAAI+B,aAAe,WACf,MAAOA,IAAa/B,KAG5BA,EAAM,QAQd,IAAI4tB,IAAW,EAEXC,EAAc,SAASjtB,GAClBgtB,IACDA,GAAW,GACN3hB,EAAIC,aAAeD,EAAIG,OAAO6C,gBAC/B3F,KAKRuC,KAE2B,YAAvBzK,SAASwG,WACTimB,KAEIzjB,EAAahJ,SAAU,qBACvBA,SAASyG,iBAAiB,mBAAoBgmB,GAAa,GAI/Dhe,EAAYrP,OAAQ,OAAQqtB,KAIpC1jB,MAAQ8B,KAmBZ9B,MAAMoE,aAAa,eAAgB,gBAAiB,SAAStC,EAAKmB,GAM9D,QAAS0gB,GAAK1Z,EAAInU,GACd,OAAQA,GAAOmB,UAAU2sB,eAAe3Z,GAG5C,QAAS4Z,GAA0BhjB,EAAOijB,GACtC,GACIC,GADAC,EAAW,uBAAyB,GAAIC,MAAU,KAAO,GAAKhJ,KAAKiJ,UAAU1e,MAAM,GAEnF1P,EAAM1B,EAAIkU,YAAYzH,EAAM4L,gBAG5B0X,EAAgBtjB,EAAMmU,YAY1B,OAXAmP,GAAc7Q,SAASwQ,GAGvBC,EAAWjuB,EAAIY,cAAc,QAC7BqtB,EAAS9Z,GAAK+Z,EACdD,EAASK,MAAMC,WAAa,IAC5BN,EAASK,MAAME,QAAU,OACzBP,EAAS7oB,UAAY,yBACrB6oB,EAAS7rB,YAAYpC,EAAIc,eAAe2tB,IAExCJ,EAActO,WAAWkO,GAClBA,EAGX,QAASS,GAAiB1uB,EAAK+K,EAAOmjB,EAAUF,GAC5C,GAAIC,GAAWJ,EAAKK,EAAUluB,EAC1BiuB,IACAljB,EAAMijB,EAAU,iBAAmB,gBAAgBC,GACnDpZ,EAAWoZ,IAEX9gB,EAAOd,KAAK,8DAIpB,QAASsiB,GAAclM,EAAIC,GACvB,MAAOA,GAAG/C,sBAAsB8C,EAAGrH,eAAgBqH,GAGvD,QAASmM,GAAU7jB,EAAO0gB,GACtB,GAAI3H,GAASC,EAAO/jB,EAAMgM,EAAI2W,SAAS9L,iBAAiB9L,GAAQya,EAAOza,EAAM5B,WACzE8d,EAAWR,EAAoBgF,EAEnC,OAAI1gB,GAAMyO,WACNuK,EAAQgK,EAA0BhjB,GAAO,IAErC5J,SAAUnB,EACVkuB,SAAUnK,EAAM5P,GAChBqF,WAAW,KAGfuK,EAAQgK,EAA0BhjB,GAAO,GACzC+Y,EAAUiK,EAA0BhjB,GAAO,IAGvC5J,SAAUnB,EACV6uB,cAAe/K,EAAQ3P,GACvB2a,YAAa/K,EAAM5P,GACnBqF,WAAW,EACXyN,SAAUA,EACV9d,SAAU,WACN,MAAO,mBAAqBqc,EAAO,iBAAmBza,EAAM5B,WAAa,OAMzF,QAAS4lB,GAAaC,EAAWtsB,GAC7B,GAAI1C,GAAMgvB,EAAU7tB,QACI,oBAAbuB,KACPA,GAAY,EAEhB,IAAIqI,GAAQiB,EAAI9K,YAAYlB,EAC5B,IAAIgvB,EAAUxV,UAAW,CACrB,GAAIyU,GAAWJ,EAAKmB,EAAUd,SAAUluB,EACxC,IAAIiuB,EAAU,CACVA,EAASK,MAAME,QAAU,QACzB,IAAI1J,GAAemJ,EAAS3mB,eAGxBwd,IAAyC,GAAzBA,EAAazjB,UAC7BwT,EAAWoZ,GACXljB,EAAM6T,gBAAgBkG,EAAcA,EAAaliB,UAEjDmI,EAAM6W,eAAeqM,GACrBpZ,EAAWoZ,QAGf9gB,GAAOd,KAAK,kEAGhBqiB,GAAiB1uB,EAAK+K,EAAOikB,EAAUH,eAAe,GACtDH,EAAiB1uB,EAAK+K,EAAOikB,EAAUF,aAAa,EAOxD,OAJIpsB,IACAqI,EAAMkT,sBAGHlT,EAGX,QAASsiB,GAAWrE,EAAQyC,GACxB,GAAqB1gB,GAAO/K,EAAxBivB,KACAhI,EAAWR,EAAoBgF,EAGnCzC,GAASA,EAAOtZ,MAAM,GACtBsZ,EAAOkG,KAAKP,EAEZ,KAAK,GAAI/oB,GAAI,EAAG4H,EAAMwb,EAAOpmB,OAAY4K,EAAJ5H,IAAWA,EAC5CqpB,EAAWrpB,GAAKgpB,EAAU5F,EAAOpjB,GAAIqhB,EAKzC,KAAKrhB,EAAI4H,EAAM,EAAG5H,GAAK,IAAKA,EACxBmF,EAAQie,EAAOpjB,GACf5F,EAAMgM,EAAI2W,SAAS9L,iBAAiB9L,GAChCA,EAAMyO,UACNzO,EAAM8W,cAAcgM,EAAKoB,EAAWrpB,GAAGsoB,SAAUluB,KAEjD+K,EAAMuS,aAAauQ,EAAKoB,EAAWrpB,GAAGkpB,YAAa9uB,IACnD+K,EAAMsS,cAAcwQ,EAAKoB,EAAWrpB,GAAGipB,cAAe7uB,IAI9D,OAAOivB,GAGX,QAASE,GAAcpvB,GACnB,IAAKiM,EAAIie,iBAAiBlqB,GAEtB,MADAoN,GAAOd,KAAK,0HACL,IAEX,IAAI2a,GAAMhb,EAAIlK,aAAa/B,GACvBipB,EAAShC,EAAIqF,eACbpF,EAA6B,GAAjB+B,EAAOpmB,QAAeokB,EAAIqC,aAEtC4F,EAAa5B,EAAWrE,EAAQ/B,EASpC,OANIA,GACAD,EAAIoC,eAAeJ,EAAO,GAAI/B,GAE9BD,EAAI6E,UAAU7C,IAIdjpB,IAAKA,EACLkvB,WAAYA,EACZG,UAAU,GAIlB,QAAS9B,GAAc2B,GAOnB,IAAK,GANDjG,MAIAvB,EAAawH,EAAWrsB,OAEnBgD,EAAI6hB,EAAa,EAAG7hB,GAAK,EAAGA,IACjCojB,EAAOpjB,GAAKmpB,EAAaE,EAAWrpB,IAAI,EAG5C,OAAOojB,GAGX,QAASqG,GAAiBC,EAAgBC,GACtC,IAAKD,EAAeF,SAAU,CAC1B,GAAIH,GAAaK,EAAeL,WAC5BjI,EAAMhb,EAAIlK,aAAawtB,EAAevvB,KACtCipB,EAASsE,EAAc2B,GAAaxH,EAAawH,EAAWrsB,MAE9C,IAAd6kB,GAAmB8H,GAAqBvjB,EAAIkB,SAASkd,oBAAsB6E,EAAW,GAAGhI,UACzFD,EAAIxkB,kBACJwkB,EAAIvkB,SAASumB,EAAO,IAAI,IAExBhC,EAAI6E,UAAU7C,GAGlBsG,EAAeF,UAAW,GAIlC,QAASI,GAAoBxvB,EAAKkuB,GAC9B,GAAID,GAAWJ,EAAKK,EAAUluB,EAC1BiuB,IACApZ,EAAWoZ,GAInB,QAASwB,GAAcH,GAEnB,IAAK,GAAoCN,GADrCC,EAAaK,EAAeL,WACvBrpB,EAAI,EAAG4H,EAAMyhB,EAAWrsB,OAAuB4K,EAAJ5H,IAAWA,EAC3DopB,EAAYC,EAAWrpB,GACnBopB,EAAUxV,UACVgW,EAAoBF,EAAetvB,IAAKgvB,EAAUd,WAElDsB,EAAoBF,EAAetvB,IAAKgvB,EAAUH,eAClDW,EAAoBF,EAAetvB,IAAKgvB,EAAUF,cA9M9D,GAAIxwB,GAAM0N,EAAI1N,IACVuW,EAAavW,EAAIuW,WACjB4R,EAAsBza,EAAI0hB,UAAUjH,oBACpCgI,EAAiB,QAgNrBziB,GAAIgC,KAAK1F,OAAO0D,GACZ4iB,UAAWA,EACXG,aAAcA,EACd1B,WAAYA,EACZC,cAAeA,EACf6B,cAAeA,EACfE,iBAAkBA,EAClBG,oBAAqBA,EACrBC,cAAeA,MAuEvBvlB,MAAMoE,aAAa,aAAc,oBAAqB,SAAStC,EAAKmB,GAmDhE,QAASuiB,GAAiBC,EAAOC,GAG7B,QAASC,GAAiBnuB,EAAOE,EAAKkuB,GAClCC,EAAY/wB,MAAQ0C,MAAOA,EAAOE,IAAKA,EAAKkuB,OAAQA,IAKxD,IARA,GAA2BE,GAONC,EAAWC,EAP5BC,EAAOR,EAAMrqB,KAAK,IAAayqB,KAO/BK,EAAc,EACTJ,EAASJ,EAAYS,UAAUC,KAAKH,IAAS,CAUlD,GATAF,EAAYD,EAAO5rB,MACnB8rB,EAAUD,EAAYD,EAAO,GAAGptB,OAG5BqtB,EAAYG,GACZP,EAAiBO,EAAaH,GAAW,GAIzCL,EAAYW,qBACZ,KAAQC,EAA4BjnB,KAAKomB,EAAMO,OACzCA,CAGVL,GAAiBI,EAAWC,GAAS,GACrCE,EAAcF,EAQlB,MAJIE,GAAcT,EAAM/sB,QACpBitB,EAAiBO,EAAaT,EAAM/sB,QAAQ,GAGzCmtB,EAGX,QAASU,GAAwBd,EAAOe,GASpC,IAAK,GARDC,GAAahB,EAAMjgB,MAAMghB,EAAWhvB,MAAOgvB,EAAW9uB,KACtDgvB,GACAd,OAAQY,EAAWZ,OACnBH,MAAOgB,EACPxnB,SAAU,WACN,MAAOwnB,GAAWrrB,KAAK,MAGtBM,EAAI,EAAG4H,EAAMmjB,EAAW/tB,OAAY4K,EAAJ5H,IAAWA,EAChD+qB,EAAW/qB,GAAGgrB,MAAQA,CAE1B,OAAOA,GAGX,QAASC,GAASlB,EAAOC,EAAakB,GAGlC,IAAK,GAAWJ,GAFZX,EAAce,EAAUnB,EAAOC,GAC/BmB,KACKnrB,EAAI,EAAe8qB,EAAaX,EAAYnqB,MACjDmrB,EAAO/xB,KAAMyxB,EAAwBd,EAAOe,GAEhD,OAAOK,GAWX,QAASC,GAA2BC,GAEhC,GAAIC,GAAeD,GAAqB,GAGpCE,EAA4C,gBAAhBD,GAA4BA,EAAa7rB,MAAM,IAAM6rB,CAMrF,OALAC,GAAkBjC,KAAK,SAASkC,EAAOC,GACnC,MAAOD,GAAME,WAAW,GAAKD,EAAMC,WAAW,KAI3CH,EAAkB7rB,KAAK,IAAImgB,QAAQ,UAAW,MA+CzD,QAAS8L,GAAkB/hB,GACvB,GAAI/Q,GAAM8Q,CACV,OAAKC,IAGD/Q,EAAO+Q,EAAQgiB,UAAYC,EAC3BliB,KACAjH,EAAOiH,EAAUmiB,GAAmBjzB,IAASizB,GAAmBD,IAChEnpB,EAAOiH,EAAUC,GACVD,GANAmiB,GAAmBD,GAUlC,QAASE,GAAoBriB,EAAcC,GACvC,GAAIC,GAAUH,EAAcC,EAAcC,EAO1C,OANIA,GAASL,eAAe,iBACxBM,EAAQogB,YAAc2B,EAAkB/hB,EAAQogB,cAEhDrgB,EAASL,eAAe,sBACxBM,EAAQoiB,iBAAmBviB,EAAcG,EAAQoiB,iBAAkBC,KAEhEriB,EAkCX,QAASsiB,GAAmBriB,EAAI1P,GAC5B,GAAIyuB,GAAUjZ,GAAyB9F,EAAI,UAAW1P,GAClDoT,EAAU1D,EAAG0D,QAAQnG,aACzB,OAAmB,SAAXwhB,GACAuD,IACAC,GAA0B9iB,eAAeiE,GAC7C6e,GAA0B7e,GAAWqb,EAG7C,QAASyD,GAASxwB,GAEd,IAAK,GADD2P,GAAY8gB,EAAoBzwB,GAC3BmE,EAAI,EAAG4H,EAAM4D,EAAUxO,OAAY4K,EAAJ5H,IAAWA,EAC/C,GAA6B,GAAzBwL,EAAUxL,GAAGvE,UAAqD,QAApCywB,EAAmB1gB,EAAUxL,IAC3D,OAAO,CAIf,QAAO,EAGX,QAASusB,GAA2B9c,GAChC,GAAI5F,EACJ,OAA4B,IAArB4F,EAAShU,WACXoO,EAAK4F,EAASvS,aAC+B,UAA9CyS,GAAyB9F,EAAI,cASrC,QAAS2iB,GAAY3wB,GACjB,MAAOA,KACgB,GAAjBA,EAAKJ,WAAkB,kCAAkCkI,KAAKuoB,EAAmBrwB,KAClE,GAAjBA,EAAKJ,UAAkC,IAAjBI,EAAKJ,UAQnC,QAASgxB,GAAkB5wB,GACvB,MAAOnD,GAAIqT,oBAAoBlQ,KAC1B,4EAA4E8H,KAAK9H,EAAKF,UAG/F,QAAS+wB,GAAa7wB,GAElB,IADA,GAAI2P,MACG3P,EAAKqB,YACRsO,EAAUmhB,QAAQ9wB,EAAKqB,YACvBrB,EAAOA,EAAKqB,UAEhB,OAAOsO,GAGX,QAAS8gB,GAAoBzwB,GACzB,MAAO6wB,GAAa7wB,GAAMuE,QAAQvE,IAGtC,QAAS+wB,GAAoB/wB,GACzB,KAAOA,IAASA,EAAKsE,aACjBtE,EAAOA,EAAKqB,UAEhB,OAAKrB,GAGEA,EAAKsE,YAFD,KAKf,QAASgM,GAAStQ,EAAMgxB,GACpB,OAAKA,GAAmBhxB,EAAK0e,gBAClB1e,EAAKoB,WAET2vB,EAAoB/wB,GAG/B,QAASqjB,GAAarjB,GAClB,GAAIgI,GAAWhI,EAAK6F,eACpB,IAAImC,EAAU,CAEV,IADAhI,EAAOgI,EACAhI,EAAK0e,iBACR1e,EAAOA,EAAK2e,SAEhB,OAAO3e,GAEX,GAAIqP,GAASrP,EAAKqB,UAClB,OAAIgO,IAA6B,GAAnBA,EAAOzP,SACVyP,EAEJ,KAWX,QAAS4hB,GAAiBjxB,GACtB,IAAKA,GAAyB,GAAjBA,EAAKJ,SACd,OAAO,CAEX,IAAImkB,GAAO/jB,EAAKwS,IAChB,IAAa,KAATuR,EACA,OAAO,CAEX,IAAI1U,GAASrP,EAAKqB,UAClB,KAAKgO,GAA6B,GAAnBA,EAAOzP,SAClB,OAAO,CAEX,IAAIsxB,GAAqBpd,GAAyB9T,EAAKqB,WAAY,aAEnE,OAAQ,eAAeyG,KAAKic,IAAS,oBAAoBjc,KAAKopB,IACzD,aAAappB,KAAKic,IAA+B,YAAtBmN,EAMpC,QAASC,GAA0BnxB,GAE/B,GAAkB,KAAdA,EAAKwS,KACL,OAAO,CAIX,KAAKye,EAAiBjxB,GAClB,OAAO,CAIX,IAAIuH,GAAWvH,EAAKqB,UAGpB,OAAKkG,GAKDipB,EAASxwB,IACF,GAGJ,GARI,EAWf,QAASoxB,GAAgBpxB,GACrB,GAAID,GAAOC,EAAKJ,QAChB,OAAe,IAARG,GACK,GAARA,GACAywB,EAASxwB,IACT,oBAAoB8H,KAAK9H,EAAKF,WAC9B4wB,EAA2B1wB,IAC3BmxB,EAA0BnxB,GAGlC,QAASqxB,GAAcrxB,EAAM1B,GACzB,GAAIyB,GAAOC,EAAKJ,QAChB,OAAe,IAARG,GACK,GAARA,GACS,GAARA,GAA8C,QAAjCswB,EAAmBrwB,EAAM1B,GAO/C,QAASgzB,KACLh0B,KAAKi0B,SAeT,QAASC,GAAoB/f,EAAYpE,EAAMokB,GAC3C,MAAO,UAAShW,GACZ,GAAIiW,GAAQp0B,KAAKo0B,KACjB,IAAIA,EAAMjkB,eAAegE,GAErB,MADAkgB,MACOD,EAAMjgB,EAEbmgB,KACA,IAAIpuB,GAAQ6J,EAAKtH,KAAKzI,KAAMm0B,EAAcn0B,KAAKm0B,GAAen0B,KAAMme,EAEpE,OADAiW,GAAMjgB,GAAcjO,EACbA,GAOnB,QAASquB,GAAY7xB,EAAM8xB,GACvBx0B,KAAK0C,KAAOA,EACZ1C,KAAKw0B,QAAUA,EACfx0B,KAAKo0B,MAAQ,GAAIJ,GACjBh0B,KAAKy0B,UAAY,GAAIT,GA4KzB,QAASU,GAASC,EAAanhB,GAC3BxT,KAAKwT,OAASA,EACdxT,KAAK20B,YAAcA,EACnB30B,KAAK0C,KAAOiyB,EAAYjyB,KACxB1C,KAAKw0B,QAAUG,EAAYH,QAC3Bx0B,KAAKo0B,MAAQ,GAAIJ,GAGrB,QAASY,KACL,MAAO,aAAer1B,EAAIyV,YAAYhV,KAAK0C,MAAQ,IAAM1C,KAAKwT,OAAS,KA6b3E,QAASqhB,KAEL,MADAC,KACQC,GAAiB,GAAIC,IAGjC,QAASC,KACL,MAAOF,KAAkBF,IAG7B,QAASC,KACDC,IACAA,GAAehe,SAEnBge,GAAiB,KAcrB,QAASG,GAAwBC,EAAUjN,EAAUkN,EAAQvC,GAiBzD,QAAS/b,KACL,GAAIue,GAAU,IAgBd,OAfInN,IACAmN,EAAUpe,EACLqe,IACDre,EAAMA,EAAIse,kBACVD,GAAYre,GAAQme,GAAUne,EAAID,OAAOoe,KAGxCE,IACDD,EAAUpe,EAAMA,EAAIue,cACpBF,GAAYre,GAAQme,GAAUne,EAAID,OAAOoe,IAG7CE,IACAre,EAAM,MAEHoe,EA/BPD,IACIlN,EACI4L,EAAgBsB,EAAO1yB,QACvB0yB,EAASD,EAASI,mBAGlBzB,EAAgBsB,EAAO1yB,QACvB0yB,EAASA,EAAOI,eAK5B,IAsBIC,GAtBAxe,EAAMke,EAAUG,GAAW,EAsBVI,GAAwB,CAE7C,QACI5e,KAAM,WACF,GAAI4e,EAEA,MADAA,IAAwB,EACjBD,CAGP,KADA,GAAIxe,GAAK0e,EACA1e,EAAMH,KAEX,GADA6e,EAAY1e,EAAI2e,aAAa/C,GAGzB,MADA4C,GAAkBxe,EACXA,CAGf,OAAO,OAIf4e,OAAQ,WACJ,IAAIJ,EAGA,KAAMrnB,GAAOmD,YAAY,4EAFzBmkB,IAAwB,GAMhCI,QAAS,WACLX,EAAWC,EAAS,OAoBhC,QAASW,GAA4B9e,EAAK4b,EAAkBhC,GAMxD,QAASmF,GAAYC,GAMjB,IALA,GAAIhf,GAAKif,EACLC,KAAe5c,EAAK0c,EAAUG,EAAkBC,EAEhDC,GAAqB,EAAOC,GAAa,EAEpCtf,EAAMsC,EAAGzC,QAAU,CAIxB,GAHAof,EAAWjf,EAAI0e,UAGXa,EAAmBhsB,KAAK0rB,GACpBK,IACAA,GAAa,EACbD,GAAqB,OAEtB,CACH,GAAIA,EAAoB,CACpB/c,EAAGsc,QACH,OAEAU,GAAa,EAGrBJ,EAASl2B,KAAKgX,GAIlB,MAAOkf,GAhCX,GAAIC,GAAkBlB,EAAwBje,GAAK,EAAO,KAAM4b,GAC5DwD,EAAmBnB,EAAwBje,GAAK,EAAM,KAAM4b,GAC5Dd,EAAYlB,EAAYkB,UAkCxB0E,EAAeT,GAAY,GAC3BU,EAAgBV,GAAY,GAAOW,UACnC3E,EAASF,EAAS4E,EAAczvB,OAAOwvB,GAAe5F,EAAakB,GAGnE6E,EAAsBH,EAAa5yB,OACnCmuB,EAAOrhB,MAAMkmB,GAAa7E,EAAQyE,EAAa,GAAG5E,WAElDiF,EAAuBJ,EAAc7yB,OACrCmuB,EAAOrhB,MAAM,EAAGkmB,GAAa7E,EAAQ0E,EAAc9T,MAAMiP,OAAS,KAWtE,QACIkF,aAAc,WAKV,IAJA,GAAIC,GAAWP,EAIuB,GAA9BG,EAAoB/yB,UACtBmzB,EAAYJ,EAAoB,IAAI7F,SACrC0F,EAAeT,GAAY,IAAOnyB,OAAS,GAG5C+yB,EAAsB9E,EAASkF,EAAUpG,MAAM3pB,OAAOwvB,GAAe5F,EAAakB,EAGtF,OAAO6E,GAAoB3uB,SAG/BgvB,mBAAoB,WAKhB,IAJA,GAAID,GAAWN,EAIwB,GAA/BI,EAAqBjzB,UACvBmzB,EAAYF,EAAqB,IAAI/F,SACtC2F,EAAgBV,GAAY,IAAQnyB,OAAS,GAG9CizB,EAAuBhF,EAAS4E,EAAcC,UAAU1vB,OAAO+vB,EAAUpG,OAAQC,EAAakB,EAGlG,OAAO+E,GAAqBlU,OAGhCkT,QAAS,WACLM,EAAgBN,UAChBO,EAAiBP,UACjBc,EAAsBE,EAAuB,OAKzD,QAASI,GAAejgB,EAAKkgB,EAAMC,EAAOvE,EAAkBhC,GACxD,GAAoBwG,GAA0BC,EAAcC,EAAqC1F,EAA7F2F,EAAa,EAAeC,EAASxgB,EAA4BygB,EAAWtR,KAAKuR,IAAIP,EACzF,IAAc,IAAVA,EAAa,CACb,GAAIlP,GAAoB,EAARkP,CAEhB,QAAQD,GACJ,IAAKS,GAED,IADAN,EAAepC,EAAwBje,EAAKiR,EAAU,KAAM2K,IACnDwE,EAAaC,EAAaxgB,SAAwB4gB,EAAbF,KACxCA,EACFC,EAASJ,CAEbE,GAAUF,EACVC,EAAaxB,SACb,MACJ,KAAK+B,GAID,IAHA,GAAIC,GAAwB/B,EAA4B9e,EAAK4b,EAAkBhC,GAC3E/Z,EAAOoR,EAAW4P,EAAsBb,mBAAqBa,EAAsBf,cAE9ElF,EAAQ/a,MAAwB4gB,EAAbF,GACpB3F,EAAMd,WACJyG,EACFC,EAASvP,EAAW2J,EAAMjB,MAAM,GAAKiB,EAAMjB,MAAMiB,EAAMjB,MAAM/sB,OAAS,GAG9E,MACJ,SACI,KAAM,IAAIyN,OAAM,yBAA2B6lB,EAAO,qBAItDjP,GACAuP,EAASA,EAAOlC,kBAChBiC,GAAcA,GACPC,GAAUA,EAAOM,iBAAmBN,EAAOO,kBAO9Cb,GAAQU,IACRP,EAAepC,EAAwBje,GAAK,EAAO,KAAM4b,GACzD0E,EAAUD,EAAaxgB,OACvBwgB,EAAaxB,WAEbyB,IACAE,EAASF,EAAQhC,oBAM7B,OACIhiB,SAAUkkB,EACVD,WAAYA,GAIpB,QAASS,GAA6BzD,EAASxoB,EAAO6mB,EAAkB3K,GACpE,GAAIgQ,GAAa1D,EAAQ2D,yBAAyBnsB,GAAO,GACrDosB,EAAW5D,EAAQ2D,yBAAyBnsB,GAAO,GACnDqsB,EAAUnQ,EAAWkQ,EAAWF,EAChCI,EAAQpQ,EAAWgQ,EAAaE,CAEpC,OAAOlD,GAAwBmD,IAAWnQ,EAAUoQ,EAAOzF,GAG/D,QAAS0F,GAAmB/D,EAASxoB,EAAO6mB,GAGxC,IADA,GAAqF5b,GAAjF2Z,KAAYrX,EAAK0e,EAA6BzD,EAASxoB,EAAO6mB,GACzD5b,EAAMsC,EAAGzC,QACd8Z,EAAM3wB,KAAKgX,EAIf,OADAsC,GAAGuc,UACIlF,EAGX,QAAS4H,GAAYrD,EAAUC,EAAQvE,GACnC,GAAI7kB,GAAQiB,EAAI9K,YAAYgzB,EAASzyB,KAErC,OADAsJ,GAAMgQ,eAAemZ,EAASzyB,KAAMyyB,EAAS3hB,OAAQ4hB,EAAO1yB,KAAM0yB,EAAO5hB,SACjExH,EAAMysB,OAAO,QAAU5H,YAAaA,IAGhD,QAAS6H,GAAqBC,EAAYC,EAAYC,EAASC,EAAkBC,GAY7E,QAASC,GAAYC,EAAYC,GAC7B,GAAI/D,GAAWvE,EAAMqI,GAAY1D,kBAC7BH,EAASxE,EAAMsI,EAAW,GAC1BC,GAAUJ,EAAYK,gBAAkBZ,EAAYrD,EAAUC,EAAQ2D,EAAYlI,YAEtF,QACIsE,SAAUA,EACVC,OAAQA,EACR+D,MAAOA,GAIf,IAvBA,GAO2BliB,GAAKoiB,EAAaC,EAAiBC,EAC1DtI,EAAQuI,EARRtR,EAAWR,GAAoBqR,EAAYrM,WAC3CnT,EAAK2b,EACLyD,EACAzQ,EACAyQ,EAAWnE,QAAQ2D,yBAAyBW,EAAkB5Q,GAC9D6Q,EAAYlG,kBAEZpM,EAAO,GAAImK,KAEXjmB,EAAc,KAcTsM,EAAMsC,EAAGzC,QAcd,GAbAuiB,EAAcpiB,EAAI0e,UACbkD,GAAYE,EAAYU,gBACzBJ,EAAcA,EAAYprB,eAG1Bia,GACA0I,EAAM4C,QAAQvc,GACdwP,EAAO4S,EAAc5S,IAErBmK,EAAM3wB,KAAKgX,GACXwP,GAAQ4S,GAGRR,GAEA,GADA5H,EAAS2H,EAAWrH,KAAK9K,GAIrB,GAFA6S,EAAkBrI,EAAO5rB,MACzBk0B,EAAgBD,EAAkBrI,EAAO,GAAGptB,OACxC21B,GAEA,IAAMtR,GAAYqR,EAAgB9S,EAAK5iB,QAAYqkB,GAAYoR,EAAkB,EAAI,CACjF3uB,EAAcquB,EAAYM,EAAiBC,EAC3C,YAGJC,IAAmB,MAGxB,IAAqD,KAA/CF,EAAkB7S,EAAKlkB,QAAQq2B,IAAqB,CAC7DjuB,EAAcquB,EAAYM,EAAiBA,EAAkBV,EAAW/0B,OACxE,OAUR,MALI21B,KACA7uB,EAAcquB,EAAYM,EAAiBC,IAE/ChgB,EAAGuc,UAEInrB,EAGX,QAAS+uB,GAAyB3pB,GAC9B,MAAO,YACH,GAAI4pB,KAAmB5E,GACnBP,EAAUS,IACV9W,GAAQqW,GAASvtB,OAAQgI,EAAKC,QAAQlF,YACtCW,EAAcoF,EAAK3L,MAAMpE,KAAMme,EAInC,OAHKwb,IACD7E,IAEGnqB,GAQf,QAASivB,GAAyB9b,EAASW,GAUvC,MAAOib,GACH,SAASlF,EAAS2C,EAAMC,EAAOyC,SAChBzC,IAAStlB,IAChBslB,EAAQD,EACRA,EAAOS,GAEXiC,EAAcjH,EAAoBiH,EAAaC,GAE/C,IAAIC,GAAkBjc,CAClBW,KACAsb,EAAmB3C,GAAS,EAC5Bp3B,KAAKye,UAAUsb,GAEnB,IAAIC,GAAa9C,EAAe1C,EAAQ2D,yBAAyBn4B,KAAM+5B,GAAkB5C,EAAMC,EAAOyC,EAAYhH,iBAAkBgH,EAAYhJ,aAC5I4G,EAASuC,EAAWzmB,QAExB,OADAvT,MAAK+5B,EAAkB,WAAa,UAAUtC,EAAO/0B,KAAM+0B,EAAOjkB,QAC3DwmB,EAAWxC,aAK9B,QAASyC,GAAmBnc,GACxB,MAAO4b,GACH,SAASlF,EAAS3B,GACdA,EAAmBviB,EAAcuiB,EAAkBC,GAInD,KAHA,GAAI7b,GACAsC,EAAK0e,EAA6BzD,EAASx0B,KAAM6yB,GAAmB/U,GACpEoc,EAAgB,GACXjjB,EAAMsC,EAAGzC,SAAW0f,EAAmBhsB,KAAKyM,EAAI0e,cACnDuE,CAEN3gB,GAAGuc,SACH,IAAIqE,GAAWD,EAAgB,CAQ/B,OAPIC,IACAn6B,KAAK8d,EAAU,YAAc,WACzB,YACAA,EAAUoc,GAAiBA,GACzBrH,iBAAkBA,IAGrBsH,IAgNnB,QAASC,GAAuBjmB,GAC5B,MAAOulB,GACH,SAASlF,EAAS3B,GACd,GAAIsH,IAAU,CAId,OAHAn6B,MAAKkuB,gBAAgB,SAASliB,GAC1BmuB,EAAUnuB,EAAMmI,GAAY0e,IAAqBsH,IAE9CA,IAhrDnB,GAAIroB,GAAQ,YACR8lB,EAAY,YAAaC,EAAO,OAChCt4B,EAAM0N,EAAI1N,IAAK0P,EAAOhC,EAAIgC,KAC1B1F,EAAS0F,EAAK1F,OACd+G,EAAgBrB,EAAKqB,cACrBjE,EAAU9M,EAAI8M,QAGdguB,EAAc,iBACdC,EAA6B,eAC7B9D,EAAqB,iFACrB/E,EAA8B,4DAG9BiB,EAAkB,KAElBhL,GAAsBza,EAAI0hB,UAAUjH,oBAIpC6S,IAAgC,EAChCC,IAAiC,EACjCC,IAAoC,EACpCC,IAAiD,GAErD,WACI,GAAIhqB,GAAKnR,EAAImW,kBAAkBtT,SAAU,oBAAoB,GACzDkC,EAAIoM,EAAG5M,WACPmkB,EAAMhb,EAAIlK,cACdklB,GAAIxJ,SAASna,EAAE+c,UAAW,GAC1B4G,EAAI1kB,SAASe,EAAER,WAAY,GAC3By2B,GAAqD,IAApB,GAAKtS,GAAKpkB,OAE3C6M,EAAG2E,UAAY,WACf4S,EAAIxJ,SAAS/N,EAAI,GACjBuX,EAAI1kB,SAASmN,EAAG5M,WAAY,GAC5B02B,GAAsD,IAApB,GAAKvS,GAAKpkB,OAE5C6M,EAAG2E,UAAY;AACf4S,EAAIxJ,SAAS/N,EAAI,GACjBuX,EAAI1kB,SAASmN,EAAG5M,WAAY,GAC5B22B,GAAyD,IAApB,GAAKxS,GAAKpkB,OAE/CtE,EAAIuW,WAAWpF,GACfuX,EAAIxkB,oBAkER,IAkGIuvB,IAlGAF,IACA6H,kCAAkC,EAClCC,sBAAsB,EACtBC,yBAAyB,EACzBC,6BAA6B,EAC7BC,iBAAkB,IAiBlBC,IACAL,kCAAmCD,GACnCE,sBAAuBJ,GACvBK,yBAA0BJ,GAC1BK,6BAA6B,GAG7BnI,IACAsI,IACI3J,UAAW,2BACXE,sBAAsB,EACtBO,UAAWpB,IAIfuK,IACAzB,eAAe,EACf0B,YAAa,KACb/B,gBAAgB,EAChBgC,MAAM,EACN1O,UAAW,UACXmE,YAAa,KACbgC,iBAAkB,MAGlBiH,IACAjJ,YAAa,KACbgC,iBAAkB,MAGlBwI,IACAxK,YAAa,KACbgC,iBAAkB,KAClByI,MAAM,EACNC,WAAW,EACXC,SAAS,GAGTC,IACA5K,YAAa,KACbgC,iBAAkB,KAClBnG,UAAW,WA8BXlW,GAA2BjX,EAAIiX,0BAMnC,WACI,GAAIklB,GAAQt5B,SAASP,cAAc,SAC/ByB,EAAO+I,EAAQjK,SACnBkB,GAAKD,YAAYq4B,GACjB1I,GAAsE,SAA9Cxc,GAAyBklB,EAAO,WACxDp4B,EAAKU,YAAY03B,KAGrB,IAAIzI,KACAyI,MAAO,QACPC,QAAS,gBACTC,SAAU,qBACVC,IAAK,eACLC,MAAO,qBACPC,MAAO,kBACPC,MAAO,qBACPC,GAAI,YACJC,GAAI,aACJC,GAAI,aAoLRnI,GAAMtuB,WACFK,IAAK,SAAS+E,GACV,MAAO9K,MAAKi0B,MAAM9jB,eAAerF,GAAO9K,KAAKi0B,MAAMnpB,GAAO,MAG9DsxB,IAAK,SAAStxB,EAAK5E,GACf,MAAOlG,MAAKi0B,MAAMnpB,GAAO5E,GAIjC,IAAImuB,IAAc,EAAGC,GAAgB,EA0BjC+H,IACAC,YAAa,SAAS9oB,GAClB,GAAIihB,GAAYz0B,KAAKy0B,SACrB,OAAOA,GAAU1uB,IAAIyN,IAAWihB,EAAU2H,IAAI5oB,EAAQ,GAAIkhB,GAAS10B,KAAMwT,KAG7EpJ,SAAU,WACN,MAAO,gBAAkB7K,EAAIyV,YAAYhV,KAAK0C,MAAQ,MAI9D6xB,GAAY7uB,UAAY22B,EAExB,IAAIE,IAAQ,QACRC,GAAY,YACZC,GAAsB,sBACtBC,GAAoB,oBACpBC,GAA8B,8BAC9BC,GAA0B,0BAC1BC,GAA2B,2BAC3BC,GAA4C,4CAC5CC,GAA+B,+BAC/BC,GAAwC,uCAE5CzzB,GAAO8yB,IACHzpB,oBAAqBshB,EAAoB,sBAAuB30B,EAAIqT,oBAAqB,QACzFZ,aAAckiB,EAAoB,YAAa30B,EAAIyS,aAAc,QACjEirB,UAAW/I,EAAoB,aAAc30B,EAAI0S,cAAe,QAChEqhB,kBAAmBY,EAAoB,oBAAqBZ,EAAmB,QAC/E4J,aAAchJ,EAAoB,eAAgBP,EAAkB,QACpEwJ,sBAAuBjJ,EAAoB,wBAAyBL,EAA2B,QAC/Fd,mBAAoBmB,EAAoB,kBAAmBnB,EAAoB,QAC/EzN,YAAa4O,EAAoB,YAAaJ,EAAiB,QAC/DsJ,UAAWlJ,EAAoB,UAAWH,EAAe,QACzDjd,KAAMod,EAAoB,UAAWlhB,EAAU,QAC/CtI,SAAUwpB,EAAoB,WAAYnO,EAAc,QAExDsX,gBAAiBnJ,EAAoB,eAAgB,SAAS5d,GAC1D,GAAIgnB,GAAa,KAAMC,GAAiB,EACpCC,EAAgBhnB,GAAyBF,EAASvS,WAAY,cAC9D05B,EAA4B,YAAjBD,CASf,OARIC,IACAH,EAAahD,EACbiD,GAAiB,IACO,UAAjBC,GAA8C,UAAjBA,KACpCF,EAAajD,EACbkD,GAAiB,IAIjB76B,KAAM4T,EACNmQ,KAAMnQ,EAASpB,KACfooB,WAAYA,EACZC,eAAgBA,EAChBE,QAASA,IAEd,QAEHC,aAAcxJ,EAAoB,eAAgB,SAASxjB,EAAIwX,GAyC3D,IAxCA,GAAIsM,GAAUx0B,KAAKw0B,QACfmJ,EAAanJ,EAAQ8H,YAAY5rB,EAAG3M,WAAY/D,KAAKgS,eAAiB,GACtE4rB,EAAepJ,EAAQ8H,YAAY5rB,EAAI,GAEvCuG,EAAMiR,EAAWyV,EAAaC,EAC9BxI,EAASlN,EAAW0V,EAAeD,EAmChC1mB,IAAQme,GAAQ,CAEnB,GADAne,EAAI4mB,kBACA5mB,EAAI6mB,uBACJ,OAAO,CAEX7mB,GAAMiR,EAAWjR,EAAIse,kBAAoBte,EAAIue,cAGjD,OAAO,GACR,QAEHuI,gBAAiB7J,EAAoB,kBAAmB,SAASxjB,GAG7D,IAAK,GADDstB,GAAMttB,EAAGpE,qBAAqB,MACzBzF,EAAI,EAAG4H,EAAMuvB,EAAIn6B,OAAY4K,EAAJ5H,IAAWA,EACzC,IAAKitB,EAAgBkK,EAAIn3B,IACrB,OAAO,CAGf,OAAO7G,MAAK09B,gBACb,QAEHO,iBAAkB/J,EAAoB,gBAAiB,SAASxjB,GAC5D,GAAgC,MAA5BA,EAAG0D,QAAQnG,cACX,MAAO,EAEP,QAAQjO,KAAK+yB,sBACT,IAAK,SAED,IADA,GAAIxd,GAAQ7E,EAAG2Q,UACR9L,GAAO,CACV,IAAKwe,EAAcxe,GACf,MAA0B,IAAlBA,EAAMjT,SAAiBtC,KAAKw0B,QAAQ0J,eAAe3oB,GAAO0oB,mBAAqB,EAE3F1oB,GAAQA,EAAMhN,gBAElB,KACJ,KAAK,eACL,IAAK,eACL,IAAK,OACL,IAAK,eACL,IAAK,qBACD,KACJ,KAAK,aACD,MAAO,GACX,SACI,MAAOvI,MAAK+9B,iBAAgB,GAAQ,KAAO,GAGvD,MAAO,IACR,QAEHI,gBAAiBjK,EAAoB,eAAgB,SAASxjB,GAC1D,OAAQ1Q,KAAK+yB,sBACT,IAAK,SACL,IAAK,eACL,IAAK,eACL,IAAK,OACL,IAAK,eACL,IAAK,qBACL,IAAK,aACD,KACJ,SACI,MAAO/yB,MAAK+9B,iBAAgB,GAAS,KAAO,GAEpD,MAAO,IACR,SAiBP,IAAIK,KACAzI,UAAW,GACX0I,cAAe9B,GACf+B,MAAM,EAONT,gBAAiB,WACb,GAAI5mB,GAAMjX,IACV,KAAKiX,EAAIsnB,iBAAkB,CACvB,GAAI77B,GAAOuU,EAAIvU,KAAM8Q,EAASyD,EAAIzD,OAC9BgrB,EAAc,GAAIC,EAAWlC,GAC7BmC,GAAgB,CACpB,IAAIlrB,EAAS,EACT,GAAqB,GAAjB9Q,EAAKJ,SAAe,CACpB,GAAImkB,GAAO/jB,EAAKwS,KACZghB,EAAWzP,EAAKkY,OAAOnrB,EAAS,GAEhCoS,EAAW3O,EAAI0d,YAAY0I,kBAC3BC,EAAa1X,EAAS0X,UACtB1X,GAAS2X,eACLD,EAAW9yB,KAAK0rB,GAMZ1iB,EAAS,GAAK8pB,EAAW9yB,KAAKic,EAAKkY,OAAOnrB,EAAS,MAC5CoS,EAAS6X,SAAmC,OAAxBhX,EAAKkY,OAAOnrB,IACvCgrB,EAAc,IACdC,EAAW3B,KAEX0B,EAAc,IAEdC,EAAW/B,MAGf8B,EAActI,EACduI,EAAWjC,GACXkC,GAAgB,IAGpBF,EAActI,EACduI,EAAWhC,GACXiC,GAAgB,OAEjB,CACH,GAAIE,GAAal8B,EAAKkB,WAAW4P,EAAS,EAc1C,IAbIorB,GAAqC,GAAvBA,EAAWt8B,WAAkBwxB,EAAgB8K,KACnB,MAApCA,EAAWxqB,QAAQnG,eACnBuwB,EAAc,KACdvnB,EAAIqnB,MAAO,EACXG,EAAW/B,GACXgC,GAAgB,GAEhBznB,EAAI4nB,uBAAwB,IAM/BL,EAAa,CACd,GAAIxrB,GAAWtQ,EAAKkB,WAAW4P,EAC3BR,IAAiC,GAArBA,EAAS1Q,WAAkBwxB,EAAgB9gB,KACvDiE,EAAI6nB,sBAAuB,IAM3C7nB,EAAIsnB,kBAAmB,EACvBtnB,EAAI0e,UAAY6I,EAChBvnB,EAAIonB,cAAgBI,EACpBxnB,EAAI8nB,gBAAkBL,IAI9BZ,qBAAsB,WAClB,GAAIW,GAAWz+B,KAAKq+B,aACpB,OAAOI,IAAYjC,IAAaiC,GAAYhC,IAIhDuC,gCAAiC,WAI7B,GAHKh/B,KAAKu+B,kBACNv+B,KAAK69B,kBAEL79B,KAAK6+B,sBAAuB,CAC5B,GAAII,GAAgBj/B,KAAKw0B,QAAQ0J,eAAel+B,KAAK0C,KAAKkB,WAAW5D,KAAKwT,OAAS,IAAIyqB,kBACnFgB,KACAj/B,KAAKg4B,iBAAkB,EACvBh4B,KAAK21B,UAAYsJ,EACjBj/B,KAAKq+B,cAAgB3B,IAEzB18B,KAAK6+B,uBAAwB,EAEjC,GAAI7+B,KAAK8+B,qBAAsB,CAC3B,GAAII,GAAel/B,KAAKw0B,QAAQ0J,eAAel+B,KAAK0C,KAAKkB,WAAW5D,KAAKwT,SAAS2qB,iBAC9Ee,KACAl/B,KAAK+3B,gBAAiB,EACtB/3B,KAAK21B,UAAYuJ,EACjBl/B,KAAKq+B,cAAgB3B,IAEzB18B,KAAK8+B,sBAAuB,IAIpCK,gCAAiC,SAAStM,GAEtC,IADA,GAAgB8C,GAAZ1e,EAAMjX,KACDiX,EAAMA,EAAIse,mBAEf,GADAI,EAAY1e,EAAI2e,aAAa/C,GACX,KAAd8C,EACA,MAAO1e,EAIf,OAAO,OAGX2e,aAAc,SAAS/C,GA8BnB,QAASuM,KAKL,MAJKC,KACDC,EAAcroB,EAAIkoB,gCAAgCtM,GAClDwM,GAAiB,GAEdC,EAlCXt/B,KAAKg/B,iCAEL,IAA+BO,GAA3BC,EAAWx/B,KAAK21B,UAGhBxD,EAAeF,EAA2BY,EAAiBkI,kBAC3D0E,EAAmC,KAAbD,GAAmBrN,EAAa5vB,QAAQi9B,GAAY,EAI9E,IAAIx/B,KAAK++B,gBAEL,MADAQ,GAAaE,EAAqB,GAAKD,CAI3C,IAAIE,IAAY,YAAa7M,EAAiB+H,qBAAsB/H,EAAiB8H,iCAAkC9H,EAAiBiI,4BAA6B3I,GAAc5rB,KAAK,KACpLo5B,EAAa3/B,KAAKo0B,MAAMruB,IAAI25B,EAChC,IAAmB,OAAfC,EACA,MAAOA,EAIX,IAGIpI,GAAS+H,EAHT3J,EAAY,GACZiK,EAAe5/B,KAAKq+B,eAAiB3B,GAGrC2C,GAAiB,EACjBpoB,EAAMjX,IA6EV,OAlEI4/B,KAEI5/B,KAAKyC,MAAQu6B,GACbrH,EAAY,KAIK,KAAZ6J,KACCJ,KAAoBE,EAAYtH,iBAA4C,MAAzBsH,EAAY3J,WAA+C,KAAzB2J,EAAY3J,WAAoB2J,EAAYjB,eAAiB3B,MAGvI,MAAZ8C,GAAoBx/B,KAAK+3B,eAC1BqH,KAA6C,MAAzBE,EAAY3J,YAChCA,EAAY,OAIhB4B,EAAUv3B,KAAK6/B,kBACXtI,IACIA,EAAQ+G,KACRt+B,KAAKyC,KAAOo6B,GACLtF,EAAQS,iBAAwC,MAArBT,EAAQ5B,UAC1C31B,KAAKyC,KAAOm6B,GACLrF,EAAQQ,gBAAuC,MAArBR,EAAQ5B,YACzC31B,KAAKyC,KAAOk6B,IAGS,MAArBpF,EAAQ5B,WACJ31B,KAAKyC,MAAQo6B,IAA6BhK,EAAiB+H,wBACpD56B,KAAKyC,MAAQk6B,IAAgC9J,EAAiBgI,2BAC9D76B,KAAKyC,MAAQm6B,IAA2BrF,EAAQS,kBAAoBnF,EAAiB8H,mCACrF36B,KAAKyC,MAAQq6B,IAA6CvF,EAAQ90B,MAAQ+5B,IAAc3J,EAAiBiI,+BAC7F,MAAZ0E,EACHjI,EAAQS,gBACJh4B,KAAKg4B,iBACEh4B,KAAKs+B,OACZ/G,EAAQ90B,KAAOs6B,GAEXqC,KAAoBE,EAAYvH,iBAAmBuH,EAAYtH,iBAA4C,MAAzBsH,EAAY3J,UAC9F4B,EAAQ5B,UAAY,GAEpB4B,EAAQ90B,KAAOu6B,IAIvBrH,EAAY,KAEG,KAAZ6J,IACP7J,EAAY,OAIhBA,EAAY6J,MAOxBrN,EAAa5vB,QAAQozB,GAAa,KAClCA,EAAY,IAIhB31B,KAAKo0B,MAAMgI,IAAIsD,EAAU/J,GAElBA,GAGX3e,OAAQ,SAASC,GACb,QAASA,GAAOjX,KAAK0C,OAASuU,EAAIvU,MAAQ1C,KAAKwT,SAAWyD,EAAIzD,QAGlE0D,QAAS0d,EAETxqB,SAAU,WACN,MAAOpK,MAAK21B,WAIpBjB,GAAShvB,UAAY04B,GAErB70B,EAAO60B,IACHtnB,KAAMod,EAAoB,UAAW,SAASjd,GAC1C,GAAI0d,GAAc1d,EAAI0d,YAAajyB,EAAOuU,EAAIvU,KAAM8Q,EAASyD,EAAIzD,OAAQghB,EAAUG,EAAYH,OAC/F,KAAK9xB,EACD,MAAO,KAEX,IAAIsQ,GAAU8sB,EAAYvqB,CAsB1B,OArBI/B,IAAUmhB,EAAYsI,aAEtBjqB,EAAWtQ,EAAKqB,WAChB+7B,EAAa9sB,EAAW2hB,EAAY3iB,eAAiB,EAAI,GAErD2iB,EAAY/hB,uBACZI,EAAWtQ,EACXo9B,EAAatsB,EAAS,IAEtB+B,EAAQ7S,EAAKkB,WAAW4P,GAEpBghB,EAAQ0J,eAAe3oB,GAAO+d,qBAC9BtgB,EAAWuC,EACXuqB,EAAa,IAEb9sB,EAAWtQ,EACXo9B,EAAatsB,EAAS,IAK3BR,EAAWwhB,EAAQ8H,YAAYtpB,EAAU8sB,GAAc,OAGlEp1B,SAAUwpB,EAAoB,WAAY,SAASjd,GAC/C,GACI8O,GAAcga,EAAgBxqB,EAD9Bof,EAAc1d,EAAI0d,YAAajyB,EAAOuU,EAAIvU,KAAM8Q,EAASyD,EAAIzD,OAAQghB,EAAUG,EAAYH,OAqB/F,OAnBc,IAAVhhB,GACAuS,EAAerjB,EAAKqB,WACpBg8B,EAAiBha,EAAe4O,EAAY3iB,eAAiB,GAEzD2iB,EAAY/hB,uBACZmT,EAAerjB,EACfq9B,EAAiBvsB,EAAS,IAE1B+B,EAAQ7S,EAAKkB,WAAW4P,EAAS,GAE7BghB,EAAQ0J,eAAe3oB,GAAO+d,qBAC9BvN,EAAexQ,EACfwqB,EAAiBxgC,EAAI0S,cAAcsD,KAEnCwQ,EAAerjB,EACfq9B,EAAiBvsB,EAAS,IAI/BuS,EAAeyO,EAAQ8H,YAAYvW,EAAcga,GAAkB,OAS9EvK,YAAatB,EAAoB,cAAe,SAASjd,GACrD,GAAIH,GAAOG,EAAIH,MACf,KAAKA,EACD,MAAO,KAEX,IAAI6d,GAAc7d,EAAK6d,YAAajyB,EAAOoU,EAAKpU,KAC5C+0B,EAAS3gB,CAKb,OAJI6d,GAAYrP,gBAEZmS,EAAS9C,EAAYH,QAAQ8H,YAAY55B,EAAKqB,WAAY4wB,EAAY3iB,eAAiB,IAEpFylB,IAGXoI,gBAAiB3L,EAAoB,kBAAmB,SAASjd,GAE7D,IADA,GAAIsgB,GAAUtgB,EACLsgB,EAAUA,EAAQ/B,eAEvB,GADA+B,EAAQyH,kCACkB,KAAtBzH,EAAQ5B,UACR,MAAO4B,EAGf,OAAO,QAGXhC,gBAAiBrB,EAAoB,kBAAmB,SAASjd,GAC7D,GAAIvM,GAAWuM,EAAIvM,UACnB,KAAKA,EACD,MAAO,KAEX,IAAIiqB,GAAcjqB,EAASiqB,YAAajyB,EAAOgI,EAAShI,KACpD+0B,EAAS/sB,CAKb,OAJIiqB,GAAYrP,gBAEZmS,EAAS9C,EAAYH,QAAQ8H,YAAY55B,EAAKqB,WAAY4wB,EAAY3iB,iBAEnEylB,KAMf,IAAI1C,IAAiB,KAEjBC,GAAU,WACV,QAASgL,GAAmBC,GACxB,GAAI7L,GAAQ,GAAIJ,EAEhB,QACIjuB,IAAK,SAASrD,GACV,GAAIw9B,GAAqB9L,EAAMruB,IAAIrD,EAAKu9B,GACxC,IAAIC,EACA,IAAK,GAAWC,GAAPt5B,EAAI,EAAYs5B,EAAUD,EAAmBr5B,MAClD,GAAIs5B,EAAQz9B,OAASA,EACjB,MAAOy9B,EAInB,OAAO,OAGX/D,IAAK,SAASzH,GACV,GAAIyL,GAAWzL,EAAYjyB,KAAKu9B,GAC5BC,EAAqB9L,EAAMruB,IAAIq6B,IAAahM,EAAMgI,IAAIgE,KAC1DF,GAAmBjgC,KAAK00B,KAOpC,QAASK,KACLh1B,KAAKqgC,aAHT,GAAIC,GAAoBrxB,EAAKvD,eAAetJ,SAASuD,gBAAiB,WA+DtE,OAzDAqvB,GAAQtvB,WACJ26B,WAAY,WACRrgC,KAAKugC,aAAeD,EAAoB,WACpC,GAAIE,GAAgB,GAAIxM,EAExB,QACIjuB,IAAK,SAAS2K,GACV,MAAO8vB,GAAcz6B,IAAI2K,EAAG+vB,WAGhCrE,IAAK,SAASsE,GACVF,EAAcpE,IAAIsE,EAAUh+B,KAAK+9B,SAAUC,QAGhDV,EAAmB,WAG1BhgC,KAAK2gC,cAAgBX,EAAmB,QACxChgC,KAAK4gC,eAAiBZ,EAAmB,aAG7C9B,eAAgB,SAASx7B,GACrB,GAAIm+B,EACJ,QAAQn+B,EAAKJ,UACT,IAAK,GACDu+B,EAAe7gC,KAAKugC,YACpB,MACJ,KAAK,GACDM,EAAe7gC,KAAK2gC,aACpB,MACJ,SACIE,EAAe7gC,KAAK4gC,eAI5B,GAAIT,GAAUU,EAAa96B,IAAIrD,EAK/B,OAJKy9B,KACDA,EAAU,GAAI5L,GAAY7xB,EAAM1C,MAChC6gC,EAAazE,IAAI+D,IAEdA,GAGX7D,YAAa,SAAS55B,EAAM8Q,GACxB,MAAOxT,MAAKk+B,eAAex7B,GAAM45B,YAAY9oB,IAGjD2kB,yBAA0B,SAASnsB,EAAO8R,GACtC,GAAIgjB,GAAShjB,EAAU,QAAU,KACjC,OAAO9d,MAAKs8B,YAAYtwB,EAAM80B,EAAS,aAAc90B,EAAM80B,EAAS,YAGxE/pB,OAAQ,WACJ/W,KAAKugC,aAAevgC,KAAK2gC,cAAgB3gC,KAAK4gC,eAAiB,OAIhE5L,IAyBXzrB,GAAOhK,GACHyT,SAAUA,EACV+S,aAAcA,GA4ElB,IAAI8Q,IAAeruB,MAAM9C,UAAUnD,QAC/B,SAASuN,EAAKyG,GACV,MAAOzG,GAAIvN,QAAQgU,IAEvB,SAASzG,EAAKyG,GACV,IAAK,GAAI1P,GAAI,EAAG4H,EAAMqB,EAAIjM,OAAY4K,EAAJ5H,IAAWA,EACzC,GAAIiJ,EAAIjJ,KAAO0P,EACX,MAAO1P,EAGf,OAAO,GAwUf0C,GAAO0D,EAAIwE,gBACPkV,UAAWiT,GAAyB,GAAM,GAE1CmH,QAASnH,GAAyB,GAAO,GAEzCoH,KAAMpH,GAAyB,GAAM,GAErC2B,UAAWtB,GAAmB,GAE9BuB,QAASvB,GAAmB,GAE5BqB,KAAM5B,EACF,SAASlF,EAAS3B,GACd,GAAIoO,GAAejhC,KAAKu7B,UAAU1I,GAAmBqO,EAAalhC,KAAKw7B,QAAQ3I,EAC/E,OAAOoO,IAAgBC,IAI/BzI,OAAQiB,EACJ,SAASlF,EAAS2C,EAAMgK,GACpB,GAAIC,IAAQ,CACZD,GAAgBvO,EAAoBuO,EAAe9F,GACnD,IAAIxI,GAAmBsO,EAActO,gBAIrC,IAHKsE,IACDA,EAAOS,GAEPT,GAAQU,EAAM,CACd,GAOIwJ,GAAUC,EAPVzQ,EAAcsQ,EAActQ,YAC5BsE,EAAWX,EAAQ2D,yBAAyBn4B,MAAM,GAClDo1B,EAASZ,EAAQ2D,yBAAyBn4B,MAAM,GAEhDuhC,EAA6BxL,EAA4BZ,EAAUtC,EAAkBhC,GACrF2Q,EAAaD,EAA2BxK,eACxC0K,EAAcD,EAAW5Q,MAAM,GAAG2E,iBAGtC,IAAIv1B,KAAKya,UACL4mB,EAAWG,MACR,CACH,GAAIE,GAA2B3L,EAA4BX,EAAQvC,EAAkBhC,EACrFwQ,GAAWK,EAAyBzK,qBAsBxC,MApBAqK,GAAYD,EAASzQ,MAAMyQ,EAASzQ,MAAM/sB,OAAS,GAE9C49B,EAAYzqB,OAAOme,KACpBn1B,KAAKuD,SAASk+B,EAAY/+B,KAAM++B,EAAYjuB,QAC5C4tB,GAAQ,GAERE,IAAcA,EAAUtqB,OAAOoe,KAC/Bp1B,KAAKwD,OAAO89B,EAAU5+B,KAAM4+B,EAAU9tB,QACtC4tB,GAAQ,GAGRD,EAAc7F,OACV6F,EAAc5F,YACd6F,EAAQphC,KAAKu7B,UAAU1I,IAAqBuO,GAE5CD,EAAc3F,UACd4F,EAAQphC,KAAKw7B,QAAQ3I,IAAqBuO,IAI3CA,EAEP,MAAOphC,MAAK+gC,QAAQnJ,EAAW,EAAGuJ,KAK9C1a,KAAMiT,EACF,SAASlF,EAAS3B,GACd,MAAO7yB,MAAKya,UACR,GAAK8d,EAAmB/D,EAASx0B,KAAMsQ,EAAcuiB,EAAkBC,KAA0BvsB,KAAK,MAIlHo7B,iBAAkBjI,EACd,SAASlF,EAASxR,EAAeiW,EAAYC,EAAUrG,GACnD,GAAIgH,IAAgBhH,iBAAkBA,EACjC7P,KACDA,EAAgB3W,EAASrM,KAAKyT,gBAElCzT,KAAK0e,mBAAmBsE,GACxBhjB,KAAKye,UAAS,GACdze,KAAK2mB,UAAU,YAAasS,EAAYY,GACxC75B,KAAKye,UAAS,GACdze,KAAK+gC,QAAQ,YAAa7H,EAAWD,EAAYY,KAKzD+H,iBAAkBlI,EACd,SAASlF,EAASxR,EAAe6P,GACxB7P,IACDA,EAAgB3W,EAASrM,KAAKyT,eAElC,IAGIwlB,GAAYC,EAHZnnB,EAASiR,EAAcjf,WAAY0b,EAAYlgB,EAAIyS,aAAagR,GAChE6e,EAAyG,IAAhFtiC,EAAI+U,cAActU,KAAK4X,eAAgB5X,KAAK6X,aAAc9F,EAAQ0N,GAC3FqiB,EAAe9hC,KAAKmgB,YAWxB,OATI0hB,IACAC,EAAa9lB,eAAehc,KAAK4X,eAAgB5X,KAAK0Y,YAAa3G,EAAQ0N,GAC3EwZ,GAAc6I,EAAarb,KAAKoM,GAAkBhvB,SAElDi+B,EAAa9lB,eAAejK,EAAQ0N,EAAWzf,KAAK4X,eAAgB5X,KAAK0Y,aACzEugB,EAAa6I,EAAarb,KAAKoM,GAAkBhvB,QAErDq1B,EAAWD,EAAaj5B,KAAKymB,KAAKoM,GAAkBhvB,QAGhDlB,MAAOs2B,EACPp2B,IAAKq2B,KAKjB6I,SAAUrI,EACN,SAASlF,EAASwN,EAAiBjJ,GAE/BA,EAAcnG,EAAoBmG,EAAamC,IAG3CnC,EAAYK,iBAEZL,EAAYlI,YAAYW,sBAAuB,EAGnD,IAAItJ,GAAWR,GAAoBqR,EAAYrM,WAG3CoM,EAAmBC,EAAYoC,WAC9BrC,KACDA,EAAmB7rB,EAAI9K,cACvB22B,EAAiBpa,mBAAmB1e,KAAKyT,eAI7C,IAAImlB,GAAaoJ,EAAiBnJ,GAAU,CACnB,iBAAdD,GACFG,EAAYU,gBACbb,EAAaA,EAAW3qB,eAG5B4qB,GAAU,CAGd,IAAIF,GAAanE,EAAQ2D,yBAAyBn4B,MAAOkoB,GAGrDpC,EAAagT,EAAiBrX,aAAakX,EAAWj2B,KAAMi2B,EAAWnlB,OAExD,MAAfsS,EACA6S,EAAanE,EAAQ2D,yBAAyBW,GAAkB,GAC1C,IAAfhT,IACP6S,EAAanE,EAAQ2D,yBAAyBW,GAAkB,GAQpE,KALA,GAIImJ,GAJAhrB,EAAM0hB,EACNuJ,GAAgB,IAOhB,GAFAD,EAAavJ,EAAqBzhB,EAAK2hB,EAAYC,EAASC,EAAkBC,GAE9D,CACZ,GAAIkJ,EAAW9I,MAEX,MADAn5B,MAAKgc,eAAeimB,EAAW9M,SAASzyB,KAAMu/B,EAAW9M,SAAS3hB,OAAQyuB,EAAW7M,OAAO1yB,KAAMu/B,EAAW7M,OAAO5hB,SAC7G,CAIPyD,GAAMiR,EAAW+Z,EAAW9M,SAAW8M,EAAW7M,WAEnD,CAAA,IAAI2D,EAAYqC,MAAS8G,EAQ5B,OAAO,CANPpJ,GAAmBA,EAAiB3Y,aACpClJ,EAAMud,EAAQ2D,yBAAyBW,GAAmB5Q,GAC1D4Q,EAAiB1a,YAAYua,EAAWj2B,KAAMi2B,EAAWnlB,OAAQ0U,GACjEga,GAAgB,KAShCC,UAAW,SAASxsB,GAEhB,GADA3V,KAAK6e,iBACDlJ,EAAM,CACN,GAAIsD,GAAOjZ,KAAKygB,yBAAyB9K,GACrC0L,EAAYpI,EAAKoI,SACrBrhB,MAAKghB,WAAW/H,GAChBjZ,KAAK8iB,cAAczB,OAqB/B9X,EAAO0D,EAAIyE,oBACP+mB,OAAQiB,EACJ,SAASlF,EAAS2C,EAAMgK,GACpBnhC,KAAKkuB,gBAAgB,SAASliB,GAC1BA,EAAMysB,OAAOtB,EAAMgK,OAK/BH,KAAMtH,EACF,SAASlF,EAAS2C,EAAMC,EAAO3mB,GAC3B,GAAI+mB,GAAa,CACjB,IAAIx3B,KAAKkD,UAAW,CAChBlD,KAAKye,SAASze,KAAKkD,UAAWlD,KAAKmD,YACnC,IAAI6I,GAAQhM,KAAKoqB,WAAW,EACvB3Z,KACDA,MAEJA,EAAQoiB,iBAAmBviB,EAAcG,EAAQoiB,iBAAkBmI,IACnExD,EAAaxrB,EAAMg1B,KAAK7J,EAAMC,EAAO3mB,GACrCzQ,KAAKqqB,eAAere,GAExB,MAAOwrB,KAIf+D,UAAWnB,EAAuB,aAClCoB,QAASpB,EAAuB,WAChCkB,KAAMlB,EAAuB,QAE7BuH,iBAAkBjI,EACd,SAASlF,EAASxR,EAAeiW,EAAYC,EAAUxM,EAAWmG,GAC9D,GAAI7mB,GAAQiB,EAAI9K,YAAY6gB,EAC5BhX,GAAM21B,iBAAiB3e,EAAeiW,EAAYC,EAAUrG,GAC5D7yB,KAAKqqB,eAAere,EAAO0gB,KAInC0V,oBAAqB1I,EACjB,SAASlF,EAASxR,EAAe6P,GAM7B,IAAK,GALD5I,GAASjqB,KAAKstB,eAAgB5E,EAAauB,EAAOpmB,OAClDqsB,KAEAhI,EAAyB,GAAdQ,GAAmB1oB,KAAKsqB,aAE9BzjB,EAAI,EAAG4H,EAAMwb,EAAOpmB,OAAY4K,EAAJ5H,IAAWA,EAC5CqpB,EAAWrpB,IACPw7B,eAAgBpY,EAAOpjB,GAAG+6B,iBAAiB5e,EAAe6P,GAC1D3K,SAAUA,EACV2K,iBAAkBA,EAI1B,OAAO3C,KAIfoS,uBAAwB5I,EACpB,SAASlF,EAASxR,EAAeuf,GAC7BviC,KAAKyD,iBACL,KAAK,GAA+BuI,GAAOikB,EAAWoS,EAA7Cx7B,EAAI,EAAG4H,EAAM8zB,EAAM1+B,OAA8C4K,EAAJ5H,IAAWA,EAC7EopB,EAAYsS,EAAM17B,GAClBw7B,EAAiBpS,EAAUoS,eAC3Br2B,EAAQiB,EAAI9K,YAAY6gB,GACxBhX,EAAM21B,iBAAiB3e,EAAeqf,EAAe1/B,MAAO0/B,EAAex/B,IAAKotB,EAAU4C,kBAC1F7yB,KAAK0D,SAASsI,EAAOikB,EAAU/H,YAK3CzB,KAAMiT,EACF,SAASlF,EAAS3B,GAEd,IAAK,GADDnF,MACK7mB,EAAI,EAAG4H,EAAMzO,KAAK0oB,WAAgBja,EAAJ5H,IAAWA,EAC9C6mB,EAAW7mB,GAAK7G,KAAKoqB,WAAWvjB,GAAG4f,KAAKoM,EAE5C,OAAOnF,GAAWnnB,KAAK,QASnC0G,EAAIu1B,UAAY,SAAS9xB,EAAImiB,GACzB,GAAI7mB,GAAQiB,EAAI9K,YAAYuO,EAC5B1E,GAAM0S,mBAAmBhO,EACzB,IAAI+V,GAAOza,EAAMya,KAAKoM,EACtB,OAAOpM,IAGXxZ,EAAIw1B,mBAAqB,SAAS7iB,EAAWlH,EAAagqB,GACtD,GAAIlO,GAAUS,GACdyN,GAAkB9P,EAAoB8P,EAAiBjH,GACvD,IAAItG,GAAWX,EAAQ8H,YAAY1c,EAAWlH,GAC1Cof,EAAwB/B,EAA4BZ,EAAUuN,EAAgB7P,iBAAkB6P,EAAgB7R,aAChH3I,EAAWR,GAAoBgb,EAAgBhW,UAEnD,QACI5V,KAAM,WACF,MAAOoR,GAAW4P,EAAsBb,qBAAuBa,EAAsBf,gBAGzFjB,QAAS,WACLgC,EAAsBhC,UACtB91B,KAAK8W,KAAO,gBAOxB7J,EAAI01B,WAAa,SAAS5yB,GACtB,GAAIykB,GAAUS,GACdllB,GAAKykB,GACLM,KAGJ7nB,EAAI01B,WAAWjJ,yBAA2BA,EAE1CzsB,EAAI2X,WACAyO,YAAaA,EACbQ,0BAA2BA,EAE3B+O,eAAgBlJ,EACZ,SAASlF,EAAS9xB,EAAM8Q,GACpB,MAAOghB,GAAQ8H,YAAY55B,EAAM8Q,QASjDpU,SAASyjC,QAAU,WAUjB,QAASC,GAAWC,GAClB,QAAU,mBAAmBv4B,KAAKu4B,IAAcA,EAAU7W,MAAM,gCAAmCtkB,OAAW,IAAI,GAGpH,QAASo7B,GAAeD,GACtB,QAASA,EAAU7W,MAAM,mBAAqBtkB,OAAW,IAAI,GAG/D,QAASq7B,GAAK5jC,EAAS6jC,GACrB,GACIC,GADAC,EAAK,EAiBT,OAdyB,+BAArBpX,UAAUqX,QACZF,EAAK,GAAIjpB,QAAO,8BACc,YAArB8R,UAAUqX,UACfrX,UAAU+W,UAAUxgC,QAAQ,WAAa,GAC3C4gC,EAAK,GAAIjpB,QAAO,sCACP,gBAAkB1P,KAAKwhB,UAAU+W,aAC1CI,EAAK,kBAILA,GAAsC,MAAhCA,EAAG5R,KAAKvF,UAAU+W,aAC1BK,EAAKE,WAAWppB,OAAOqpB,KAGd,KAAPH,GAAoB,EACnB/jC,EACA6jC,EACY,MAAbA,EAAqCE,EAAV/jC,EACd,MAAb6jC,EAA2B7jC,EAAU+jC,EACxB,OAAbF,EAAuCE,GAAX/jC,EACf,OAAb6jC,EAA4B7jC,GAAW+jC,EAA3C,OAJwB/jC,IAAY+jC,GADb,EApCzB,GAAIL,GAAc/W,UAAU+W,UACxBS,EAAcphC,SAASP,cAAc,OAGrC4hC,EAAoD,KAAtCV,EAAUxgC,QAAQ,UAAyD,KAA/BwgC,EAAUxgC,QAAQ,WAAoB0gC,IAChGS,EAAoD,KAAtCX,EAAUxgC,QAAQ,kBAA2B0gC,IAC3DU,EAAoD,KAAtCZ,EAAUxgC,QAAQ,aAA2B0gC,IAC3DW,EAAoD,KAAtCb,EAAUxgC,QAAQ,YAA2B0gC,GAqC/D,QAEEY,WAAYd,EAUZ51B,UAAW,WACT,GAAI41B,GAA8B/iC,KAAK6jC,WAAW51B,cAE9C61B,EAA8B,mBAAqBN,GAEnDO,EAA8B3hC,SAAS4hC,aAAe5hC,SAAS6hC,uBAAyB7hC,SAAS8hC,kBAEjGC,EAA8B/hC,SAASgiC,eAAiBhiC,SAASgD,iBAEjEi/B,EAA+BrkC,KAAKskC,SAAWxB,EAAWC,GAAa,GAAO/iC,KAAKukC,aAAevB,EAAeD,GAAa,GAA0C,KAApCA,EAAUxgC,QAAQ,eAAwD,KAAhCwgC,EAAUxgC,QAAQ,SACpM,OAAOuhC,IACFC,GACAI,IACCE,GAGRG,cAAe,WACb,MAAOxkC,MAAKykC,cAAc,cAG5BH,MAAO,WACL,MAAO,oBAAsB95B,KAAKxK,KAAK6jC,aAGzCU,UAAW,WACT,MAA8C,KAAvCvkC,KAAK6jC,WAAWthC,QAAQ,YAYjCmiC,yBAA0B,WACxB,MAAOzB,MAQT0B,8CAA+C,WAC7C,QAAS,iBAAmBviC,YAO9BwiC,6CAA8C,WAC5C,MAAO3B,GAAK,GAAI,MAQlB4B,wBAAyB,WACvB,MAAO,gBAAkBrB,IAM3BsB,0BAA2B,WACzB,MAAOrB,IAGTsB,+BAAgC,SAAS9/B,GACvC,MAAO,eAAiBA,IAG1Bw/B,cAAe,SAASO,GACtB,MAAO,KAAOA,IAAaxB,IAAe,WAExC,MADAA,GAAYpgC,aAAa,KAAO4hC,EAAW,WACM,kBAAnCxB,GAAY,KAAOwB,OAOrCC,gCAAiC,WAC/B,OAAQrB,GAWVsB,kBAAmB,SAASj6B,GAC1B,GAAIhG,GAAUgG,EAAQpJ,cAAc,OAChCsjC,EAAU,wBAEd,OADAlgC,GAAQoQ,UAAY8vB,EACblgC,EAAQoQ,UAAUpH,gBAAkBk3B,GAe7CC,gBAAiB,WAGf,GAAIC,IAEFC,YAAwBrC,EAAK,GAAI,MAIjCsC,oBAAwBtC,IACxBuC,kBAAwBvC,KAItB91B,GACFs4B,WAAchC,EAGhB,OAAO,UAASxiC,EAAKykC,GACnB,GAAIC,GAAUN,EAAcK,EAC5B,KAAKC,EAAS,CAEZ,IACE,MAAO1kC,GAAIgjC,sBAAsByB,GACjC,MAAME,IAER,IACE,MAAO3kC,GAAI4kC,oBAAoBH,GAC/B,MAAMI,GACN,QAAS34B,EAAUu4B,IAGvB,OAAO,MAcXK,iCAAkC,WAChC,MAAO9C,MAOT+C,sBAAuB,WACrB,MAAOhmC,MAAKolC,gBAAgBhjC,SAAU,kBAOxC6jC,+BAAgC,WAC9B,MAAOxC,IAAWG,GAAWF,GAM/BwC,8BAA+B,WAC7B,GAAIhK,GAAK95B,SAASP,cAAc,KAChC,OAAqC,KAA9Bq6B,EAAGiK,aAAa,YAOzBC,iCAAkC,WAChC,MAAO3C,IAAWR,KAAUW,GAM9ByC,mBAAoB,WAClB,OAAQ3C,GAMV4C,uBAAwB,WACtB,GACI37B,GACA0K,EAFAkxB,EAAoB/C,EAAYnwB,WAAU,EAW9C,OAPAkzB,GAAkBlxB,UAAY,iBAC9BA,EAA8BkxB,EAAkBlxB,UAAUpH,cAC1DtD,EAA4C,uBAAd0K,GAAoD,uBAAdA,EAGpErV,KAAKsmC,uBAAyB,WAAa,MAAO37B,IAE3CA,GAMT67B,qCAAsC,WACpC,MAA4E,KAArEt7B,OAAO9I,SAASqkC,wBAAwBlkC,QAAQ,kBAOzDmkC,wBAAyB,WACvB,MAAO,gBAAkBllC,SAAU,UAAYA,QAAOuB,gBAMxD4jC,yBAA0B,WACxB,MAAO/C,IAaTgD,oBAAqB,SAASC,GAC5B,GAAIC,GAAgB/D,EAAU7W,MAAM,mBAAqBtkB,OAAW,EACpE,OAAOk/B,GAAc,IAAM,KAAO,wBAA0BD,IAAS,UAAYA,KAQnFE,0BAA2B,SAAS3G,GAClC,MAAO6C,GAAK,KAAoB,mBAAb7C,GAA8C,mBAAbA,IAMtD4G,eAAgB,WACd,MAAO/D,GAAK,GAAI,MAMlBgE,gCAAiC,WAC/B,MAAOhE,MAITiE,qBAAsB,WACpB,MAAOjE,MAGTkE,qBAAsB,WACpB,MAAO1D,IAAWE,GAAYC,GAShCwD,mBAAoB,WAClB,MAAOxD,IAMTyD,oBAAqB,WACnB,MAAOpE,MAWTqE,qCAAsC,WACpC,MAAO5D,IAKT6D,0BAA2B,WACzB,MAAO7D,IAGT8D,uBAAwB,WACtB,MAAQ,iBAAmBhmC,SAQ7BimC,oBAAqB,WACnB,OAAQxE,KAKVyE,YAAa,SAAS58B,GACpB,MAAY,aAARA,EACM,cAAgB1I,UAASP,cAAc,OAAO0tB,MAAS,aAAe,WAEzEzkB,GAGT68B,kBAAmB,WACjB,MAAOvlC,UAASkB,MAAQ,sBAAwBlB,UAASkB,MAO3DskC,mCAAoC,WAClC,MAAOlE,QAKbtkC,SAASM,KAAKmoC,MAAQ,SAAS/3B,GAC7B,OAUEnJ,SAAU,SAASmhC,GACjB,GAAIt/B,MAAMu/B,QAAQD,GAAS,CACzB,IAAK,GAAIjhC,GAAIihC,EAAOjkC,OAAQgD,KAC1B,GAAoD,KAAhDzH,SAASM,KAAKmoC,MAAM/3B,GAAKvN,QAAQulC,EAAOjhC,IAC1C,OAAO,CAGX,QAAO,EAEP,MAAoD,KAA7CzH,SAASM,KAAKmoC,MAAM/3B,GAAKvN,QAAQulC,IAY5CvlC,QAAS,SAASulC,GACd,GAAIh4B,EAAIvN,QACN,MAAOuN,GAAIvN,QAAQulC,EAEnB,KAAK,GAAIjhC,GAAE,EAAGhD,EAAOiM,EAAIjM,OAAUA,EAAFgD,EAAUA,IACzC,GAAIiJ,EAAIjJ,KAAOihC,EAAU,MAAOjhC,EAElC,OAAO,IAWbmhC,QAAS,SAASC,GAChBA,EAAmB7oC,SAASM,KAAKmoC,MAAMI,EAIvC,KAHA,GAAIC,MACArhC,EAAU,EACVhD,EAAUiM,EAAIjM,OACTA,EAAFgD,EAAUA,IACVohC,EAAiBthC,SAASmJ,EAAIjJ,KACjCqhC,EAAOjoC,KAAK6P,EAAIjJ,GAGpB,OAAOqhC,IAUTniC,IAAK,WAIH,IAHA,GAAIc,GAAW,EACXhD,EAAWiM,EAAIjM,OACfskC,KACKtkC,EAAFgD,EAAUA,IACfshC,EAASloC,KAAK6P,EAAIjJ,GAEpB,OAAOshC,IAaTC,IAAK,SAASC,EAAUC,GACtB,GAAI9/B,MAAM9C,UAAU0iC,IAClB,MAAOt4B,GAAIs4B,IAAIC,EAAUC,EAKzB,KAHA,GAAI75B,GAAMqB,EAAIjM,SAAW,EACrB0kC,EAAI,GAAI//B,OAAMiG,GACd5H,EAAI,EACG4H,EAAJ5H,EAASA,IACb0hC,EAAE1hC,GAAKwhC,EAAS5/B,KAAK6/B,EAASx4B,EAAIjJ,GAAIA,EAAGiJ,EAE5C,OAAOy4B,IAUXC,OAAQ,WAKN,IAJA,GAAIC,MACAC,EAAM54B,EAAIjM,OACV8kC,EAAM,EAEGD,EAANC,GACAvpC,SAASM,KAAKmoC,MAAMY,GAAM9hC,SAASmJ,EAAI64B,KAC1CF,EAAKxoC,KAAK6P,EAAI64B,IAEhBA,GAEF,OAAOF,MAMbrpC,SAASM,KAAKkpC,WAAat/B,KAAKC,QAE9Bs/B,GAAI,SAAS7D,EAAW8D,GAItB,MAHA9oC,MAAK+oC,OAAS/oC,KAAK+oC,WACnB/oC,KAAK+oC,OAAO/D,GAAahlC,KAAK+oC,OAAO/D,OACrChlC,KAAK+oC,OAAO/D,GAAW/kC,KAAK6oC,GACrB9oC,MAGTgpC,IAAK,SAAShE,EAAW8D,GACvB9oC,KAAK+oC,OAAS/oC,KAAK+oC,UACnB,IACIE,GACAC,EAFAriC,EAAI,CAGR,IAAIm+B,EAAW,CAGb,IAFAiE,EAAcjpC,KAAK+oC,OAAO/D,OAC1BkE,KACOriC,EAAEoiC,EAASplC,OAAQgD,IACpBoiC,EAASpiC,KAAOiiC,GAAWA,GAC7BI,EAAYjpC,KAAKgpC,EAASpiC,GAG9B7G,MAAK+oC,OAAO/D,GAAakE,MAGzBlpC,MAAK+oC,SAEP,OAAO/oC,OAGTmpC,KAAM,SAASnE,EAAWoE,GACxBppC,KAAK+oC,OAAS/oC,KAAK+oC,UAGnB,KAFA,GAAIE,GAAWjpC,KAAK+oC,OAAO/D,OACvBn+B,EAAW,EACRA,EAAEoiC,EAASplC,OAAQgD,IACxBoiC,EAASpiC,GAAG4B,KAAKzI,KAAMopC,EAEzB,OAAOppC,OAITqpC,QAAS,WACP,MAAOrpC,MAAK6oC,GAAGzkC,MAAMpE,KAAMgK,YAI7Bs/B,cAAe,WACb,MAAOtpC,MAAKgpC,IAAI5kC,MAAMpE,KAAMgK,cAIhC5K,SAASM,KAAKqL,OAAS,SAASqF,GAC9B,OAMEm5B,MAAO,SAASC,EAAUn5B,GACxB,IAAK,GAAIxJ,KAAK2iC,GACRn5B,GAAQjR,SAASM,KAAKqL,OAAOy+B,EAAS3iC,IAAI4iC,kBAAsC,mBAAXr5B,GAAIvJ,IAAsBzH,SAASM,KAAKqL,OAAOqF,EAAIvJ,IAAI4iC,iBACxG,mBAAXr5B,GAAIvJ,GACbuJ,EAAIvJ,GAAKzH,SAASM,KAAKqL,OAAOy+B,EAAS3iC,IAAIoa,OAAM,GAEjD7hB,SAASM,KAAKqL,OAAOqF,EAAIvJ,IAAI0iC,MAAMnqC,SAASM,KAAKqL,OAAOy+B,EAAS3iC,IAAIoa,OAAM,IAG7E7Q,EAAIvJ,GAAKzH,SAASM,KAAKqL,OAAOy+B,EAAS3iC,IAAI4iC,gBAAkBrqC,SAASM,KAAKqL,OAAOy+B,EAAS3iC,IAAIoa,OAAM,GAAQuoB,EAAS3iC,EAG1H,OAAO7G,OAGT0pC,WAAY,SAAUF,GACpB,GAAIG,KAGJ,KAAK,GAAI9iC,KAAKuJ,GACRA,EAAID,eAAetJ,KAChB2iC,EAASr5B,eAAetJ,KAC3B8iC,EAAQ9iC,GAAKuJ,EAAIvJ,IAMvB,KAAK,GAAIwE,KAAKm+B,GACRA,EAASr5B,eAAe9E,KACrB+E,EAAID,eAAe9E,IAAM+E,EAAI/E,KAAOm+B,EAASn+B,KAChDs+B,EAAQ,GAAKv5B,EAAI,IAIvB,OAAOu5B,IAGT5jC,IAAK,WACH,MAAOqK,IAUT6Q,MAAO,SAAS5Q,GACd,GACIxJ,GADA+iC,IAGJ,IAAY,OAARx5B,IAAiBhR,SAASM,KAAKqL,OAAOqF,GAAKq5B,gBAC7C,MAAOr5B,EAGT,KAAKvJ,IAAKuJ,GACLA,EAAID,eAAetJ,KAChBwJ,EACFu5B,EAAO/iC,GAAKzH,SAASM,KAAKqL,OAAOqF,EAAIvJ,IAAIoa,MAAM5Q,GAE/Cu5B,EAAO/iC,GAAKuJ,EAAIvJ,GAItB,OAAO+iC,IAQT7B,QAAS,WACP,MAA+C,mBAAxCniC,OAAOF,UAAU0E,SAAS3B,KAAK2H,IAQxCy5B,WAAY,WACV,MAA+C,sBAAxCjkC,OAAOF,UAAU0E,SAAS3B,KAAK2H,IAGxCq5B,cAAe,WACb,MAAOr5B,IAA+C,oBAAxCxK,OAAOF,UAAU0E,SAAS3B,KAAK2H,MAAiC,QAAU5O,QAAU4O,YAAe9I,MAAO8I,YAAe3K,UAAW2K,YAAe05B,QAQnKC,QAAS,WACP,IAAK,GAAIljC,KAAKuJ,GACZ,GAAIA,EAAID,eAAetJ,GACrB,OAAO,CAGX,QAAO,KAKb,WACE,GAAImjC,GAAoB,OACpBC,EAAoB,OACpBC,EAAoB,YACpBC,GACEC,IAAK,QACLC,IAAK,OACLC,IAAK,OACLC,IAAK,SACLC,IAAK,UAEXprC,UAASM,KAAK+qC,OAAS,SAASC,GAE9B,MADAA,GAAMx/B,OAAOw/B,IAOXpP,KAAM,WACJ,MAAOoP,GAAIhkB,QAAQsjB,EAAmB,IAAItjB,QAAQujB,EAAiB,KAQrEU,YAAa,SAASC,GACpB,IAAK,GAAI/jC,KAAK+jC,GACZF,EAAM1qC,KAAK0mB,QAAQ,KAAO7f,EAAI,KAAKgkC,GAAGD,EAAK/jC,GAE7C,OAAO6jC,IAQThkB,QAAS,SAASokB,GAChB,OACED,GAAI,SAASnkB,GACX,MAAOgkB,GAAIpkC,MAAMwkC,GAAQvkC,KAAKmgB,MAUpCqkB,WAAY,SAASC,EAAYC,GAC/B,GAAIt1B,GAAO+0B,EAAIhkB,QAAQwjB,EAAgB,SAASgB,GAAK,MAAOf,GAAWe,IAOvE,OANIF,KACFr1B,EAAOA,EAAK+Q,QAAQ,kBAAmB,WAErCukB,IACFt1B,EAAOA,EAAK+Q,QAAQ,OAAQ,YAEvB/Q,QAgBf,SAAUvW,GAoBR,QAAS+rC,GAASlmC,EAASmmC,GACzB,MAAIC,GAA8BpmC,EAASmmC,GAClCnmC,GAGLA,IAAYA,EAAQE,cAAcQ,kBACpCV,EAAUA,EAAQE,cAAc7B,MAG3BgoC,EAAWrmC,EAASmmC,IAO7B,QAASG,GAAoBb,GAC3B,MAAOA,GAAIhkB,QAAQ8kB,EAAa,SAAStf,EAAOuf,GAC9C,GAAIC,IAAeD,EAAIvf,MAAMyf,QAA8B,IAAM,GAC7DC,EAAcC,EAASH,EAC3BD,GAAMA,EAAI/kB,QAAQilB,EAAuB,IAErCF,EAAInlC,MAAMslC,GAAS/nC,OAAS4nC,EAAInlC,MAAMolC,GAAa7nC,SACrD4nC,GAAYC,EACZA,EAAc,GAEhB,IAAII,GAAaL,EACbM,EAAaN,CASjB,OARIA,GAAI5nC,OAASmoC,IACfD,EAAaA,EAAWE,OAAO,EAAGD,GAAsB,OAG7B,SAAzBF,EAAQG,OAAO,EAAG,KACpBH,EAAU,UAAYA,GAGjB,YAAcA,EAAU,KAAOC,EAAa,OAASL,IAQhE,QAASQ,GAAgBjhC,GACvB,GAAIkhC,GAAclhC,EAAQmhC,qBAI1B,OAHKD,KACHA,EAAclhC,EAAQmhC,sBAAwBnhC,EAAQpJ,cAAc,QAE/DsqC,EAMT,QAASE,GAAmB/1B,GAC1B,GAAIvS,GAAcuS,EAASvS,WACvBoE,EAAc/I,EAASM,KAAK+qC,OAAOn0B,EAASpB,MAAM61B,aAClDoB,EAAcD,EAAgBnoC,EAAWoB,cAO7C,KAHAgnC,EAAY92B,UAAY,gBAAkBk2B,EAAoBpjC,GAC9DgkC,EAAYnoC,YAAYmoC,EAAYroC,YAE7BqoC,EAAYroC,YAEjBC,EAAWkP,aAAak5B,EAAYroC,WAAYwS,EAElDvS,GAAWC,YAAYsS,GAGzB,QAAS+0B,GAA8B3oC,EAAM0oC,GAE3C,IADA,GAAI5oC,GACGE,EAAKqB,YAAY,CAGtB,GAFArB,EAAOA,EAAKqB,WACZvB,EAAWE,EAAKF,SACZE,EAAK2D,WAAajH,EAASM,KAAKmoC,MAAMnlC,EAAK2D,UAAUC,MAAM,MAAMK,SAASykC,GAC5E,OAAO,CAET,IAAIkB,EAAe3lC,SAASnE,GAC1B,OAAO,CACF,IAAiB,SAAbA,EACT,OAAO,EAGX,OAAO,EAGT,QAAS8oC,GAAWrmC,EAASmmC,GAC3B,KAAIkB,EAAe3lC,SAAS1B,EAAQzC,WAIhCyC,EAAQoB,WAAajH,EAASM,KAAKmoC,MAAM5iC,EAAQoB,UAAUC,MAAM,MAAMK,SAASykC,IAApF,CAIA,GAAInmC,EAAQ3C,WAAalD,EAASoB,WAAayE,EAAQiQ,KAAKgX,MAAMsf,GAEhE,WADAa,GAAmBpnC,EAQrB,KAJA,GAAIrB,GAAoBxE,EAASM,KAAKmoC,MAAM5iC,EAAQrB,YAAYmC,MAC5DwmC,EAAoB3oC,EAAWC,OAC/BgD,EAAoB,EAEf0lC,EAAF1lC,EAAoBA,IACzBykC,EAAW1nC,EAAWiD,GAAIukC,EAG5B,OAAOnmC,IAlIT,GAGIqnC,GAAwBltC,EAASM,KAAKmoC,OAAO,OAAQ,MAAO,IAAK,SAAU,OAAQ,QAAS,UAW5F2D,EAAwB,oCACxBG,EAAwB,oBACxBK,EAAwB,IACxBH,GAA0BW,IAAK,IAAKC,IAAK,IAAKC,IAAK,IAoHvDttC,GAASG,IAAI4rC,SAAWA,EAGxB/rC,EAASG,IAAI4rC,SAASK,YAAcA,GACnCpsC,UAEH,SAAUA,GACR,GAAI6N,GAAM7N,EAASG,GAEnB0N,GAAI0/B,SAAW,SAAS1nC,EAASoB,GAC/B,GAAIumC,GAAY3nC,EAAQ2nC,SACxB,OAAIA,GACKA,EAAUpmC,IAAIH,QAEnB4G,EAAI4/B,SAAS5nC,EAASoB,KAG1BpB,EAAQoB,WAAa,IAAMA,KAG7B4G,EAAI6/B,YAAc,SAAS7nC,EAASoB,GAClC,GAAIumC,GAAY3nC,EAAQ2nC,SACxB,OAAIA,GACKA,EAAUpnC,OAAOa,QAG1BpB,EAAQoB,UAAYpB,EAAQoB,UAAUqgB,QAAQ,GAAIxM,QAAO,WAAa7T,EAAY,YAAa,OAGjG4G,EAAI4/B,SAAW,SAAS5nC,EAASoB,GAC/B,GAAIumC,GAAY3nC,EAAQ2nC,SACxB,IAAIA,EACF,MAAOA,GAAUjmC,SAASN,EAG5B,IAAI0mC,GAAmB9nC,EAAQoB,SAC/B,OAAQ0mC,GAAiBlpC,OAAS,IAAMkpC,GAAoB1mC,GAAa,GAAI6T,QAAO,UAAY7T,EAAY,WAAWmE,KAAKuiC,MAE7H3tC,UAEHA,SAASG,IAAI6I,wBAA0B,WACrC,GAAIzC,GAAkBvD,SAASuD,eAC/B,OAAIA,GAAgByC,wBACX,SAAS8T,EAAWjX,GACzB,MAAOiX,GAAU9T,wBAAwBnD,IAGpC,SAAUiX,EAAWjX,GAE1B,GAAI+nC,GAAWC,CAYf,IATED,EADyB,IAAvB9wB,EAAU5Z,SACA4Z,EAEAA,EAAU/W,cAGtB8nC,EADuB,IAArBhoC,EAAQ3C,SACG2C,EAEAA,EAAQE,cAEnB+W,IAAcjX,EAAU,MAAO,EACnC,IAAIiX,IAAcjX,EAAQE,cAAgB,MAAO,GACjD,IAAI+W,EAAU/W,gBAAkBF,EAAU,MAAO,GACjD,IAAI+nC,IAAcC,EAAa,MAAO,EAGtC,IAA2B,IAAvB/wB,EAAU5Z,UAA0C4Z,EAAUtY,YAA+E,KAAjExE,SAASM,KAAKmoC,MAAM3rB,EAAUtY,YAAYrB,QAAS0C,GACjI,MAAO,GAET,IAAyB,IAArBA,EAAQ3C,UAA0C2C,EAAQrB,YAA+E,KAAjExE,SAASM,KAAKmoC,MAAM5iC,EAAQrB,YAAYrB,QAAS2Z,GAC3H,MAAO,GAKT,KAHA,GAAIgxB,GAAQhxB,EACRixB,KACAziC,EAAW,KACRwiC,GAAQ,CACb,GAAIA,GAASjoC,EAAU,MAAO,GAC9BkoC,GAAQltC,KAAMitC,GACdA,EAAQA,EAAMnpC,WAIhB,IAFAmpC,EAAQjoC,EACRyF,EAAW,KACJwiC,GAAQ,CACb,GAAIA,GAAShxB,EAAY,MAAO,GAChC,IAAIkxB,GAAiBhuC,SAASM,KAAKmoC,MAAMsF,GAAS5qC,QAAS2qC,EAC3D,IAAuB,KAAnBE,EAAuB,CAC1B,GAAIC,GAA2BF,EAASC,GACpCE,EAAaluC,SAASM,KAAKmoC,MAAMwF,EAAyBzpC,YAAYrB,QAAS4qC,EAAQC,EAAiB,IACxGG,EAAcnuC,SAASM,KAAKmoC,MAAMwF,EAAyBzpC,YAAYrB,QAASmI,EACpF,OAAI4iC,GAAaC,EACJ,EAGJ,EAGV7iC,EAAWwiC,EACXA,EAAQA,EAAMnpC,WAEhB,MAAO,OAKb3E,SAASG,IAAIoH,SAAW,WACtB,GAAIhB,GAAkBvD,SAASuD,eAC/B,OAAIA,GAAgBgB,SACX,SAASuV,EAAWjX,GACzB,GAAIA,EAAQ3C,WAAalD,SAASmB,aAAc,CAC9C,GAAI0E,EAAQlB,aAAemY,EACzB,OAAO,CAETjX,GAAUA,EAAQlB,WAEpB,MAAOmY,KAAcjX,GAAWiX,EAAUvV,SAAS1B,IAE5CU,EAAgByC,wBAClB,SAAS8T,EAAWjX,GAEzB,SAAuD,GAA7CiX,EAAU9T,wBAAwBnD,KAHzC,UAQT,SAAU7F,GACR,GAAI6B,GAAMmB,QACVhD,GAASG,IAAIiuC,oBAAsBlkC,KAAKC,QACpCkkC,mBAAoB,WAClB,MAAOztC,MAAKiF,SAGdyO,UAAW,WACT,MAAO1T,MAAKiF,QAAQE,cAAcqC,aAAexH,KAAKiF,QAAQE,cAAcwO,cAG9EF,YAAa,WACX,MAAOzT,MAAKiF,QAAQE,eAGtB0E,YAAa,SAAS6jC,EAAetgC,EAAQwI,GAC3C5V,KAAKqoC,SAAWqF,GAAiBtuC,EAASkB,eAC1CN,KAAKoN,OAAWhO,EAASM,KAAKqL,WAAWw+B,MAAMn8B,GAAQrH,MAClD/F,KAAKoN,OAAO/G,YACfrG,KAAKoN,OAAO/G,UAAY,oBAEtBuP,EACA5V,KAAKiF,QAAUjF,KAAK2tC,aAAa/3B,GAEjC5V,KAAKiF,QAAUjF,KAAK4tC,kBAI1BC,QAAS,aAKTD,eAAgB,WACd,GAAI3oC,GAAUhE,EAAIY,cAAc,MAGhC,OAFAoD,GAAQoB,UAAYrG,KAAKoN,OAAO/G,UAChCrG,KAAK8tC,aAAa7oC,GACXA,GAIT0oC,aAAc,SAAS/3B,GAGrB,MAFAA,GAAgBvP,UAAYuP,EAAgBvP,UAAYuP,EAAgBvP,UAAY,oBAAsB,mBAC1GrG,KAAK8tC,aAAal4B,GAAiB,GAC5BA,GAGTk4B,aAAc,SAAS7oC,EAAS8oC,GAC9B,GAAIC,GAAOhuC,IAEX,KAAK+tC,EAAe,CAChB,GAAIE,GAAYjuC,KAAKkuC,UACrBjpC,GAAQoQ,UAAY44B,EAGxBjuC,KAAKmuC,QAAS,EAEdC,WAAW,WAAaJ,EAAK3F,SAAS2F,IAAU,IAGlDE,SAAU,SAASG,GACjB,MAAO,OAIZjvC,UA4BHA,SAASG,IAAI+uC,cAAgB,WAC3B,QAASC,GAAgBttC,EAAKutC,GAC5B,GAAIC,GAAWxtC,EAAIY,cAAc,KAEjC,OADA2sC,GAAKnrC,YAAYorC,GACVA,EAGT,QAASC,GAAYztC,EAAKwB,GACxB,MAAOxB,GAAIY,cAAcY,GAG3B,QAAS6rC,GAAcrpC,EAAS0pC,EAAUC,GACxC,GAAyB,OAArB3pC,EAAQzC,UAA0C,OAArByC,EAAQzC,UAA0C,SAArByC,EAAQzC,SAEpE,MAAOyC,EAGT,IAIIrB,GACA2oC,EACAsC,EACAC,EACA/qC,EACAgrC,EACAC,EACAC,EACApoC,EAZA5F,EAAoBgE,EAAQE,cAC5BqpC,EAAoBE,EAAYztC,EAAK0tC,GACrCO,EAAoBjqC,EAAQG,iBAAiB,MAC7C+pC,EAAoBD,EAAWrrC,MAYnC,KAAKgD,EAAE,EAAKsoC,EAAFtoC,EAAoBA,IAE5B,IADAioC,EAAYI,EAAWroC,IACf9C,EAAa+qC,EAAU/qC,aAAeA,IAAekB,GAAWlB,EAAWsd,YAAcytB,GAAW,CAC1G,GAA0D,UAAtD1vC,SAASG,IAAI6vC,SAAS,WAAWC,KAAKtrC,GAAyB,CACjEA,EAAWC,YAAY8qC,EACvB,OAEF1vC,SAASG,IAAI+vC,OAAOR,GAAWS,MAAMT,EAAU/qC,YAOnD,IAHAH,EAAoBxE,SAASM,KAAKmoC,MAAM5iC,EAAQrB,YAAYmC,MAC5DwmC,EAAoB3oC,EAAWC,OAE1BgD,EAAE,EAAK0lC,EAAF1lC,EAAoBA,IAC5BooC,EAAoBA,GAAmBV,EAAgBttC,EAAKutC,GAC5DK,EAAoBjrC,EAAWiD,GAC/BkoC,EAAyE,UAArD3vC,SAASG,IAAI6vC,SAAS,WAAWC,KAAKR,GAC1DG,EAA2C,OAAvBH,EAAUrsC,UAG1BusC,GAAoBH,GAAoBxvC,SAASG,IAAIstC,SAASgC,EAAWD,GAQzEI,EAEFC,EAAkBA,EAAgBnrC,WAAa,KAAOmrC,EAIxDA,EAAgB5rC,YAAYwrC,IAZ1BI,EAAkBA,EAAgBnrC,WAAayqC,EAAgBttC,EAAKutC,GAAQS,EAC5EA,EAAgB5rC,YAAYwrC,GAC5BI,EAAkB,KAkBtB,OAL0B,KAAtBrrC,EAAWC,QACb0qC,EAAgBttC,EAAKutC,GAGvBvpC,EAAQlB,WAAWyrC,aAAahB,EAAMvpC,GAC/BupC,EAGT,MAAOF,MAkBTlvC,SAASG,IAAIkwC,eAAiB,SAASC,GACrC,OACEL,KAAM,SAASM,GACb,OACEC,GAAI,QAASC,GAAyBC,GAIpC,IAHA,GAAIC,GACAlpC,EAAY,EACZhD,EAAY6rC,EAAiB7rC,OACxBA,EAAFgD,EAAUA,IACfkpC,EAAYL,EAAiB7oC,GACgB,mBAAlC8oC,GAAkBI,IAAgE,KAAjCJ,EAAkBI,KAC5ED,EAAgBC,GAAaJ,EAAkBI,GAGnD,QAASC,MAAOH,QA0B1B,SAAUtwC,GASR,GAAI0wC,IAAyB,qBAAsB,kBAAmB,iBAAkB,cAEpFC,EAAiC,SAASjrC,GAC5C,MAAIkrC,GAAsBlrC,GAChBknB,SAAS5sB,EAAI6vC,SAAS,SAASC,KAAKpqC,GAAU,IAAMA,EAAQmrC,aAE/D,GAGLD,EAAwB,SAASlrC,GAGnC,IAFA,GAAI4B,GAAU,EACVhD,EAAUosC,EAAsBpsC,OAC3BA,EAAFgD,EAAUA,IACf,GAA6D,eAAzDtH,EAAI6vC,SAASa,EAAsBppC,IAAIwoC,KAAKpqC,GAC9C,MAAOgrC,GAAsBppC,GAKnCtH,GAAI8wC,WAAa,SAASC,GACxB,OACEjB,KAAM,SAASpqC,GACTirC,EAA+BjrC,KACjCqrC,EAAelxC,SAASM,KAAKmoC,MAAMyI,GAActI,QAAQiI,GAO3D,KAJA,GAGI7P,GAHAmQ,EAAU,GACV1sC,EAAUysC,EAAazsC,OACvBgD,EAAU,EAELhD,EAAFgD,EAAUA,IACfu5B,EAAWkQ,EAAazpC,GACxB0pC,GAAWnQ,EAAW,IAAM7gC,EAAI6vC,SAAShP,GAAUiP,KAAKpqC,GAAW,GAGrE,QACE2qC,GAAI,QAASY,GAAcvrC,GAEzB,MADA1F,GAAIkxC,UAAUF,GAAS1H,GAAG5jC,IACjB+qC,MAAOQ,SAMzBpxC,SAASG,KAUZ,SAAUH,GACRA,EAASG,IAAImxC,SAAW,SAASx0B,EAAWlX,EAAUggC,EAAW8D,GAC/D,GAAIT,GAAW,SAASv/B,GAKtB,IAAK,GAJD6nC,GAAS7nC,EAAM6nC,OACf1rC,EAA+B,IAApB0rC,EAAOruC,SAAkBquC,EAAO5sC,WAAa4sC,EACxDhsC,EAAWuX,EAAU9W,iBAAiBJ,GAEjC6B,EAAI,EAAG6hC,EAAM/jC,EAAQd,OAAY6kC,EAAJ7hC,EAASA,IACzClC,EAAQkC,GAAGF,SAAS1B,IACtB6jC,EAAQrgC,KAAK9D,EAAQkC,GAAIiC,GAM/B,OADAoT,GAAUrT,iBAAiBm8B,EAAWqD,GAAU,IAE9C7uB,KAAM,WACJ0C,EAAUvT,oBAAoBq8B,EAAWqD,GAAU,OAIxDjpC,UAGH,SAAUA,GAIR,QAAS+tC,GAAQzqC,EAAMwZ,GAIrB,IAHA,GAAI/B,IAASzX,GAAOyE,EAAIzE,EAGjBwZ,GAAa/U,GAAKA,IAAM+U,IAAgBA,GAAa/U,GAC1DgT,EAAMqZ,QAAQrsB,GACdA,EAAIA,EAAEpD,UAER,OAAOoW,GAGT/a,EAASG,IAAIqxC,QAAU,SAASluC,GAC9B,GAAImuC,IAAoBzxC,EAASmB,aAAcnB,EAASoB,UAExD,QAEEswC,IACEC,cAAe,SAASC,GACtB,GAAIC,GAAOD,EAAmB,SAAa,YAC3C,OAAOtuC,IAAQA,EAAKJ,WAAalD,EAASoB,WAAa,EAAOgK,KAAK9H,EAAKwS,OAI1Eg8B,cAAe,WACb,MAAOxuC,IAA0B,IAAlBA,EAAKJ,UAAkBI,EAAKkqC,UAAUjmC,SAAS,2BAGhEwqC,QAAS,WACP,GAAIC,IAAa,SAAW5mC,KAAKpL,EAASG,IAAI8xC,eAAe3uC,GAO7D,OALK0uC,IACmB,IAAlB1uC,EAAKJ,UAAkBI,EAAK0hC,cAAc,yDAC5CgN,GAAY,GAGTA,GAETtC,UAAW,WACT,MAAOpsC,IAA0B,IAAlBA,EAAKJ,UAAoC,OAAlBI,EAAKF,UAE7CwI,MAAO,WACL,MAAOtI,IAA0B,IAAlBA,EAAKJ,UAAoF,UAAlEI,EAAKyC,cAAcqC,YAAYiP,iBAAiB/T,GAAM+sB,SAK9F6hB,YAAa,WACX,MAAOlyC,GAASG,IAAIqxC,QAAQluC,GAAM8H,MAChC+mC,MAAOnyC,EAASgB,kBAMtBoxC,KAAM,SAAS/gC,GACb,GAAIghC,GAAW/uC,EAAK6F,gBAChBmpC,EAASjhC,GAAWA,EAAQoJ,UAAapJ,EAAQoJ,UAAYg3B,CAEjE,OAAKY,GAKHryC,EAASG,IAAIqxC,QAAQa,GAAUX,GAAGI,kBAChC9xC,EAASM,KAAKmoC,MAAM6J,GAAO/qC,SAAS8qC,EAASnvC,WAC9CmO,GAAWA,EAAQkhC,kBAAoBvyC,EAASG,IAAIqxC,QAAQa,GAAUX,GAAGC,eAAc,GAEjF3xC,EAASG,IAAIqxC,QAAQa,GAAUD,KAAK/gC,GAGtCghC,EAXE,MAeX36B,KAAM,SAASrG,GACb,GAAIuC,GAAWtQ,EAAKsE,YAChB0qC,EAASjhC,GAAWA,EAAQoJ,UAAapJ,EAAQoJ,UAAYg3B,CAEjE,OAAK79B,GAKH5T,EAASG,IAAIqxC,QAAQ59B,GAAU89B,GAAGI,kBAChC9xC,EAASM,KAAKmoC,MAAM6J,GAAO/qC,SAASqM,EAAS1Q,WAC9CmO,GAAWA,EAAQkhC,kBAAoBvyC,EAASG,IAAIqxC,QAAQ59B,GAAU89B,GAAGC,eAAc,GAEjF3xC,EAASG,IAAIqxC,QAAQ59B,GAAU8D,KAAKrG,GAGtCuC,EAXE,MAkBX4+B,eAAgB,SAASx/B,EAAO8J,GAC9B,GAAI21B,GAAW1E,EAAQzqC,EAAMwZ,GACzB41B,EAAW3E,EAAQ/6B,EAAO8J,EAG9B,IAAI21B,EAAS,IAAMC,EAAS,GAC1B,MAAO,KAKT,KAAK,GAAIjrC,GAAI,EAAGA,EAAIgrC,EAAShuC,OAAQgD,IACnC,GAAIgrC,EAAShrC,IAAMirC,EAASjrC,GAC1B,MAAOgrC,GAAShrC,EAAI,EAIxB,OAAO,OAMTkrC,aAAc,SAASthC,GACrB,GAAI4Q,EAGJ,IAAsB,IAAlB3e,EAAKJ,SACP,MAAOI,EAKT,IADA2e,EAAY3e,EAAK2e,WACZA,EACH,MAAO3e,EAIT,IAAI+N,GAAWA,EAAQuhC,YACrB,IAAK,GAAInrC,GAAI4J,EAAQuhC,YAAYnuC,OAAQgD,KACvC,GAAIzH,EAASG,IAAIstC,SAASnqC,EAAM+N,EAAQuhC,YAAYnrC,IAClD,MAAOnE,EAKb,OAAOtD,GAASG,IAAIqxC,QAAQvvB,GAAW0wB,aAAathC,IAMtDwhC,aAAc,SAAShtC,EAASitC,GAC9B,GAAIngC,GAAQogC,EAAQC,EAChBC,EAAU3vC,CAGd,KAAKtD,EAASG,IAAIoH,SAAS1B,EAASvC,GAClC,KAAM,IAAI4O,OAAM,qCAIlB,GAAG,CAMD,IAJAS,EAASsgC,EAAQtuC,WAGjBouC,EAASpgC,EAAOsB,WAAU,GACnBtB,EAAOsP,WAAatP,EAAOsP,YAAcgxB,GAC9CF,EAAOl/B,aAAalB,EAAOsP,UAAW8wB,EAAOruC,WAY/C,IARIiO,IAAW9M,IACbmtC,EAAWrgC,EAAOsB,WAAU,GAC5B++B,EAAS/uC,YAAYgvC,GACrBA,EAAUD,GAEZrgC,EAAOhO,WAAWkP,aAAao/B,EAAStgC,EAAO/K,aAGtB,KAArBmrC,EAAO98B,UAET,GAAI,QAAU7K,KAAK2nC,EAAO98B,WACxB,KAAO88B,EAAO9wB,WACZtP,EAAOhO,WAAWkP,aAAak/B,EAAO9wB,UAAWgxB,EAAQrrC,iBAG3D+K,GAAOhO,WAAWkP,aAAak/B,EAAQE,EAAQrrC,YAKnD,IAAyB,KAArB+K,EAAOsD,UACTtD,EAAOhO,WAAWC,YAAY+N,OACzB,IAAI,QAAUvH,KAAKuH,EAAOsD,WAAY,CAC3C,KAAOtD,EAAOjO,YACZiO,EAAOhO,WAAWkP,aAAalB,EAAOjO,WAAYiO,EAEpDA,GAAOhO,WAAWC,YAAY+N,UAGzBA,GAAUA,IAAW9M,EAE1BitC,IAAcG,IAChBA,EAAQtuC,WAAWkP,aAAai/B,EAAYG,GAC5CH,EAAW7uC,YAAYgvC,KAI3BC,kBAAmB,SAASC,EAAYC,GACtC,GAAsB,IAAlB9vC,EAAKJ,SAAgB,CACvB,GAAIlD,EAASG,IAAIqxC,QAAQ2B,GAAYzB,GAAGQ,eAAyC,IAAxBiB,EAAWjwC,SAClE,KAAOI,EAAK2e,WACVkxB,EAAWxuC,WAAWkP,aAAavQ,EAAK2e,UAAWkxB,EAAWvrC,iBAGhE,MAAOtE,EAAKoB,YACVyuC,EAAWlvC,YAAYX,EAAKoB,WAG5B0uC,IACF9vC,EAAKqB,WAAWC,YAAYtB,QAEH,IAAlBA,EAAKJ,UAAoC,IAAlBI,EAAKJ,YACjClD,EAASG,IAAIqxC,QAAQ2B,GAAYzB,GAAGQ,cACtCiB,EAAWxuC,WAAWkP,aAAavQ,EAAM6vC,EAAWvrC,aAEpDurC,EAAWlvC,YAAYX,KAwB7B8H,KAAM,SAASioC,GACb,GAAInxB,EAGJ,KAAKmxB,EACH,OAAO,CAIT,IAAsB,IAAlB/vC,EAAKJ,SACP,OAAO,CAGT,IAAImwC,EAAWlB,QACR7uC,EAAKiC,QAAQ8tC,EAAWlB,OAC3B,OAAO,CAIX,IAAIkB,EAAWjwC,UAAYE,EAAKF,SAASyL,gBAAkBwkC,EAAWjwC,SAASyL,cAC7E,OAAO,CAGT,IAAIwkC,EAAWpsC,YAAc3D,EAAKkqC,UAAUjmC,SAAS8rC,EAAWpsC,WAC9D,OAAO,CAIT,IAAIosC,EAAWC,YAAa,CAC1B,GAAI/tC,IAAWjC,EAAK2D,WAAa,IAAI6lB,MAAMumB,EAAWC,gBACtD,IAAuB,IAAnB/tC,EAAQd,OACV,OAAO,EAKX,GAAI4uC,EAAWE,eAAiBF,EAAWE,cAAc9uC,OAAS,EAGhE,IAAK,GAFD+uC,IAAc,EACdC,EAAUrqC,MAAMu/B,QAAQ0K,EAAWE,eAAkBF,EAAWE,eAAiBF,EAAWE,eACvFG,EAAI,EAAGC,EAAYF,EAAOhvC,OAAYkvC,EAAJD,EAAeA,IAAK,CAG7D,GADAxxB,EAAOliB,EAASyjC,QAAQ6E,YAAYmL,EAAOC,IACvCpwC,EAAK6sB,MAAMjO,GAAO,CACpB,IAAImxB,EAAWO,WAqBR,CACLJ,GAAc,CACd,OArBA,GAAIH,EAAWO,qBAAsB94B,SAEnC,GAAIxX,EAAK6sB,MAAMjO,GAAMga,OAAOpP,MAAMumB,EAAWO,YAAYnvC,OAAS,EAAG,CACnE+uC,GAAc,CACd,YAEG,IAAIpqC,MAAMu/B,QAAQ0K,EAAWO,aAElC,GAAIP,EAAWO,WAAWzwC,QAAQG,EAAK6sB,MAAMjO,GAAMga,QAAS,CAC1DsX,GAAc,CACd,YAIF,IAAIH,EAAWO,aAAetwC,EAAK6sB,MAAMjO,GAAMga,OAAO5U,QAAQ,MAAO,KAAM,CACzEksB,GAAc,CACd,QAQR,IAAKA,EACH,OAAO,EAKb,GAAIH,EAAW1C,UAAW,CACxB,GAAIkD,GAAO7zC,EAASG,IAAI2zC,cAAcxwC,GAClCywC,KACAC,GAAkB,CAElB5qC,OAAMu/B,QAAQ0K,EAAW1C,WAC3BoD,EAAWV,EAAW1C,UAEtBoD,EAASV,EAAW1C,WAAa0C,EAAWY,cAG9C,KAAK,GAAIC,KAAKH,GACZ,GAAIA,EAAShjC,eAAemjC,GAC1B,GAA2B,mBAAhBH,GAASG,IAClB,GAAuB,mBAAZL,GAAKK,GAAoB,CAClCF,GAAkB,CAClB,YAEG,IAAIH,EAAKK,KAAOH,EAASG,GAAI,CAClCF,GAAkB,CAClB,OAKN,IAAKA,EACH,OAAO,EAKX,OAAO,MAKZh0C,UAcHA,SAASG,IAAIg0C,SAAW,WAEtB,GAAIC,GAAiB,SAAS79B,EAAM1K,GAClC,GAAIkhC,GAAclhC,EAAQpJ,cAAc,MACxCsqC,GAAY5c,MAAME,QAAU,OAC5BxkB,EAAQ3H,KAAKD,YAAY8oC,EAEzB,KAAMA,EAAY92B,UAAYM,EAAQ,MAAM/T,IAE5C,MADAqJ,GAAQ3H,KAAKU,YAAYmoC,GAClBA,GAMLsH,EAA4B,SAASxoC,GACvC,IAAIA,EAAQyoC,4BAAZ,CAGA,IAAK,GAAI7sC,GAAE,EAAGhD,EAAO8vC,EAAe9vC,OAAUA,EAAFgD,EAAUA,IACpDoE,EAAQpJ,cAAc8xC,EAAe9sC,GAEvCoE,GAAQyoC,6BAA8B,IAQpCC,GACF,OAAQ,UAAW,QAAS,QAAS,MAAO,SAAU,UAAW,WAAY,UAAW,aACxF,SAAU,SAAU,SAAU,SAAU,SAAU,OAAQ,QAAS,MAAO,SAAU,WACpF,KAAM,KAAM,OAAQ,MAAO,UAAW,SAAU,UAAW,OAAQ,QAAS,QAAS,MAGvF,OAAO,UAASh+B,EAAM1K,GACpBA,EAAUA,GAAW7I,QACrB,IAAI+pC,EAWJ,OAVqB,gBAAX,IAAuBx2B,EAAKrT,UACpC6pC,EAAclhC,EAAQpJ,cAAc,OACpCsqC,EAAY9oC,YAAYsS,IACfvW,SAASyjC,QAAQqC,kBAAkBj6B,IAC5CkhC,EAAclhC,EAAQpJ,cAAc,OACpCsqC,EAAY92B,UAAYM,IAExB89B,EAA0BxoC,GAC1BkhC,EAAcqH,EAAe79B,EAAM1K,IAE9BkhC,MAcX/sC,SAASG,IAAI4mC,aAAe,SAASzjC,EAAMkxC,GACzC,GAAIC,IAAyBz0C,SAASyjC,QAAQqD,+BAC9C0N,GAAgBA,EAAc3lC,aAC9B,IAAIzL,GAAWE,EAAKF,QACpB,IAAgB,OAAZA,GAAsC,OAAjBoxC,GAA0Bx0C,SAASG,IAAIu0C,cAAcpxC,MAAU,EAKtF,MAAOA,GAAKqxC,GACP,IAAIF,GAAyB,aAAenxC,GAAM,CAEvD,GAAIsxC,GAAiBtxC,EAAKsxC,UAAU/lC,cAEhCgmC,EAAkE,IAAjDD,EAAUzxC,QAAQ,IAAMqxC,EAAiB,IAE9D,OAAOK,GAAevxC,EAAKyjC,aAAayN,GAAiB,KAEzD,MAAOlxC,GAAKyjC,aAAayN,IAc7Bx0C,SAASG,IAAI2zC,cAAgB,SAASxwC,GACpC,GAGIuwC,GAHAY,GAAyBz0C,SAASyjC,QAAQqD,gCAC1C1jC,EAAWE,EAAKF,SAChB0xC,IAGJ,KAAKjB,IAAQvwC,GAAKwxC,YACXxxC,EAAKwxC,WAAW/jC,gBAAkBzN,EAAKwxC,WAAW/jC,eAAe8iC,KAAYvwC,EAAKwxC,WAAW/jC,gBAAkBvK,OAAOF,UAAUyK,eAAe1H,KAAK/F,EAAKwxC,WAAYjB,KACpKvwC,EAAKwxC,WAAWjB,GAAMkB,YACR,OAAZ3xC,GAAiE,OAA5CE,EAAKwxC,WAAWjB,GAAMnkC,KAAKb,eAA0B7O,SAASG,IAAIu0C,cAAcpxC,MAAU,EACjHwxC,EAAgB,IAAIxxC,EAAKqxC,IAChB30C,SAASM,KAAKmoC,OAAO,UAAW,YAAYlhC,SAASjE,EAAKwxC,WAAWjB,GAAMnkC,KAAKb,gBAAkB4lC,EACvE,IAAhCnxC,EAAKwxC,WAAWjB,GAAM/sC,QACxBguC,EAAWxxC,EAAKwxC,WAAWjB,GAAMnkC,MAAQpM,EAAKwxC,WAAWjB,GAAM/sC,OAGjEguC,EAAWxxC,EAAKwxC,WAAWjB,GAAMnkC,MAAQpM,EAAKwxC,WAAWjB,GAAM/sC;AAKvE,MAAOguC,IAoBT90C,SAASG,IAAI60C,iBAAmB,WAE9B,MAAO,UAAS1xC,EAAM+vC,EAAY4B,EAAQn4B,GAExC,IADAm4B,EAASA,GAAU,GACZA,KAAY3xC,GAA0B,SAAlBA,EAAKF,YAAyB0Z,GAAaxZ,IAASwZ,IAAY,CACzF,GAAI9c,SAASG,IAAIqxC,QAAQluC,GAAM8H,KAAKioC,GAClC,MAAO/vC,EAETA,GAAOA,EAAKqB,WAEd,MAAO,UAaX3E,SAASG,IAAI+0C,cAAgB,SAASxrC,GACpC,GAAI6M,EAQJ,OAPIvW,UAASyjC,QAAQ4E,uBAAyB3+B,EAAMyrC,gBAC9Cn1C,SAASM,KAAKmoC,MAAM/+B,EAAMyrC,cAAc7C,OAAO/qC,SAAS,aAC1DgP,EAAO7M,EAAMyrC,cAAcC,QAAQ,aAC1Bp1C,SAASM,KAAKmoC,MAAM/+B,EAAMyrC,cAAc7C,OAAO/qC,SAAS,gBACjEgP,EAAOvW,SAASM,KAAK+qC,OAAO3hC,EAAMyrC,cAAcC,QAAQ,eAAezJ,YAAW,GAAM,KAGrFp1B,GAITvW,SAASG,IAAIk1C,qBAAuB,SAAUC,EAAUntB,GACtD,GAAIotB,GAAcD,EAAS/0C,UAAUojB,cACjC9hB,EAAMyzC,EAASzvC,QAAQE,cACvByvC,EAAa3zC,EAAIY,cAAc,OAC/BgzC,EAAYH,EAASI,cAEzB7zC,GAAIqC,KAAKD,YAAYuxC,GAErBA,EAAWrlB,MAAMwlB,MAAQ,MACzBH,EAAWrlB,MAAMylB,OAAS,MAC1BJ,EAAWrlB,MAAM0lB,SAAW,SAC5BL,EAAWrlB,MAAMhc,SAAW,WAC5BqhC,EAAWrlB,MAAM2lB,IAAML,EAAUM,EAAI,KACrCP,EAAWrlB,MAAM6lB,KAAOP,EAAUQ,EAAI,KAEtCT,EAAWxxC,aAAa,kBAAmB,QAC3CwxC,EAAW1wC,QAEXkqC,WAAW,WACT,GAAIz4B,EAEJ++B,GAAS/0C,UAAU21C,YAAYX,GAC/Bh/B,EAAOi/B,EAAWv/B,UACdM,GAAQ,aAAenL,KAAKmL,EAAK2lB,UACnC3lB,GAAO,GAET4R,EAAE5R,GACFi/B,EAAW7wC,WAAWC,YAAY4wC,IACjC,IAaLx1C,SAASG,IAAI6vC,SAAW,WAMtB,QAASmG,GAAS7K,GAChB,MAAOA,GAAIhkB,QAAQ8uB,EAAkB,SAAStpB,GAC5C,MAAOA,GAAMyS,OAAO,GAAG8W,gBAP3B,GAAIC,IACEC,QAAU,cAAgBvzC,UAASP,cAAc,OAAO0tB,MAAS,aAAe,YAElFimB,EAAmB,UAQvB,OAAO,UAASpV,GACd,OACEiP,KAAM,SAASpqC,GACb,GAAIA,EAAQ3C,WAAalD,SAASmB,aAAlC,CAIA,GAAIU,GAAoBgE,EAAQE,cAC5BywC,EAAoBF,EAAqBtV,IAAamV,EAASnV,GAC/D7Q,EAAoBtqB,EAAQsqB,MAC5B5Y,EAAoB1R,EAAQ0R,aAC5Bq8B,EAAoBzjB,EAAMqmB,EAC9B,IAAI5C,EACF,MAAOA,EAQT,IAAIr8B,EACF,IACE,MAAOA,GAAai/B,GACpB,MAAMh0C,IAKV,GAEIi0C,GACAlrC,EAHA3J,EAAsBC,EAAIuG,aAAevG,EAAI0S,aAC7CmiC,GAAoC,WAAb1V,GAAsC,UAAbA,IAA8C,aAArBn7B,EAAQzC,QAIrF,OAAIxB,GAAIyV,kBAGFq/B,IACFD,EAAmBtmB,EAAM0lB,SACzB1lB,EAAM0lB,SAAW,UAEnBtqC,EAAc3J,EAAIyV,iBAAiBxR,EAAS,MAAM8wC,iBAAiB3V,GAC/D0V,IACFvmB,EAAM0lB,SAAWY,GAAoB,IAEhClrC,GAXT,cAkBRvL,SAASG,IAAIuH,aAAe,SAASpE,EAAMszC,GACzC,GAAIjvC,KACJ,KAAKrE,EAAKA,EAAKoB,WAAWpB,EAAKA,EAAKA,EAAKsE,YAClB,GAAjBtE,EAAKJ,SACF0zC,GAAgB,QAAUxrC,KAAK9H,EAAK8/B,WAAa9/B,EAAKuzC,cACzDlvC,EAAI9G,KAAKyC,GAGXqE,EAAMA,EAAIE,OAAO7H,SAASG,IAAIuH,aAAapE,EAAMszC,GAGrD,OAAOjvC,IAaT,SAAU3H,GAIR,QAAS82C,GAAuBj1C,GAC9B,MAAOA,GAAIk1C,uBAAyBl1C,EAAIk1C,qBAAuBC,KAJjE,GAAIC,MACAD,EAAsB,CAM1Bh3C,GAASG,IAAI+2C,wBAA0B,SAASr1C,EAAKoF,GAGnD,IAAKjH,EAASyjC,QAAQ2D,uCACpB,QAASvlC,EAAImjC,cAAc,IAAM/9B,EAGnC,IAAIyE,GAAcorC,EAAuBj1C,GAAO,IAAMoF,EAClDkwC,EAAcF,EAAWvrC,EAK7B,OAJKyrC,KACHA,EAAaF,EAAWvrC,GAAO7J,EAAIwlC,uBAAuBpgC,IAGrDkwC,EAAW1yC,OAAS,IAE5BzE,UAYHA,SAASG,IAAIi3C,sBAAwB,WAInC,QAASN,GAAuBj1C,GAC9B,MAAOA,GAAIk1C,uBAAyBl1C,EAAIk1C,qBAAuBC,KAJjE,GAAIC,MACAD,EAAsB,CAM1B,OAAO,UAASn1C,EAAKmT,GACnB,GAAItJ,GAAcorC,EAAuBj1C,GAAO,IAAMmT,EAClDmiC,EAAcF,EAAWvrC,EAK7B,OAJKyrC,KACHA,EAAaF,EAAWvrC,GAAO7J,EAAIqL,qBAAqB8H,IAGnDmiC,EAAW1yC,OAAS,MAI/BzE,SAASG,IAAI+vC,OAAS,SAASmH,GAC7B,OACElH,MAAO,SAAStqC,GACdA,EAAQlB,WAAWkP,aAAawjC,EAAiBxxC,EAAQ+B,cAG3D0vC,OAAQ,SAASzxC,GACfA,EAAQlB,WAAWkP,aAAawjC,EAAiBxxC,IAGnD0xC,KAAM,SAAS1xC,GACbA,EAAQ5B,YAAYozC,MAK1Br3C,SAASG,IAAIq3C,UAAY,SAASC,GAGhC,MAFAA,GAAQA,EAAMtwC,KAAK,OAGjBowC,KAAM,SAAS11C,GACb,GAAI61C,GAAe71C,EAAIY,cAAc,QACrCi1C,GAAar0C,KAAO,WAEhBq0C,EAAaC,WACfD,EAAaC,WAAWxG,QAAUsG,EAElCC,EAAazzC,YAAYpC,EAAIc,eAAe80C,GAG9C,IAAIG,GAAO/1C,EAAImjC,cAAc,YAC7B,IAAI4S,EAEF,WADAA,GAAKjzC,WAAWkP,aAAa6jC,EAAcE,EAG3C,IAAIC,GAAOh2C,EAAImjC,cAAc,OACzB6S,IACFA,EAAK5zC,YAAYyzC,MAY3B13C,SAASG,IAAIu0C,cAAgB,SAAUpxC,GACrC,IACE,MAAOA,GAAKw0C,WAAax0C,EAAKkC,mBAAmB,gBACjD,MAAMhD,GACN,GAAIc,EAAKw0C,UAAgC,aAApBx0C,EAAKkG,WACxB,OAAO,IAMb,SAAUxJ,GACRA,EAASG,IAAI2vC,WAAa,SAASxsC,GAEjC,QAASy0C,GAAahwC,GACpB,MAAsB,OAAfA,EAAE3E,SAOX,QAAS40C,GAA2BnyC,GAClC,MAAIkyC,GAAalyC,IACR,EAG8C,UAAnD7F,EAASG,IAAI6vC,SAAS,WAAWC,KAAKpqC,IACjC,GAGF,EAGT,OAOEuB,IAAK,SAASiK,GACZ,GAAIxP,GAAkByB,EAAKyC,cACzB6B,EAAkB5H,EAASG,IAAIqxC,QAAQluC,GAAMoU,MAAM66B,kBAAkB,IACrEppC,EAAkBnJ,EAASG,IAAIqxC,QAAQluC,GAAM8uC,MAAMG,kBAAkB,GAEnE3qC,KAAgBowC,EAA2BpwC,IAC7C5H,EAASG,IAAI+vC,OAAOruC,EAAIY,cAAc,OAAO0tC,MAAM7sC,GAEjD6F,IAAoB6uC,EAA2B7uC,IACjDnJ,EAASG,IAAI+vC,OAAOruC,EAAIY,cAAc,OAAO60C,OAAOh0C,IAQxD8C,OAAQ,SAASiL,GACf,GAAIzJ,GAAkB5H,EAASG,IAAIqxC,QAAQluC,GAAMoU,MAAM66B,kBAAkB,IACrEppC,EAAkBnJ,EAASG,IAAIqxC,QAAQluC,GAAM8uC,MAAMG,kBAAkB,GAErE3qC,IAAemwC,EAAanwC,IAC9BA,EAAYjD,WAAWC,YAAYgD,GAEjCuB,GAAmB4uC,EAAa5uC,IAClCA,EAAgBxE,WAAWC,YAAYuE,OAK9CnJ,UAOHA,SAASG,IAAI8pC,QAAU,SAASpkC,EAASoyC,EAAYvO,GACnDuO,EAAoC,gBAAjB,IAA6BA,GAAcA,CAO9D,KALA,GAAIC,GACAtS,EACAn+B,EAAU,EACVhD,EAAUwzC,EAAWxzC,OAEhBA,EAAFgD,EAAUA,IACfm+B,EAAYqS,EAAWxwC,GACnB5B,EAAQ4D,iBACV5D,EAAQ4D,iBAAiBm8B,EAAW8D,GAAS,IAE7CwO,EAAiB,SAASxuC,GAClB,UAAYA,KAChBA,EAAM6nC,OAAS7nC,EAAMyuC,YAEvBzuC,EAAM0uC,eAAiB1uC,EAAM0uC,gBAAkB,WAC7Cx3C,KAAK2K,aAAc,GAErB7B,EAAM2uC,gBAAkB3uC,EAAM2uC,iBAAmB,WAC/Cz3C,KAAK03C,cAAe,GAEtB5O,EAAQrgC,KAAKxD,EAAS6D,IAExB7D,EAAQ+L,YAAY,KAAOg0B,EAAWsS,GAI1C,QACE99B,KAAM,WAIJ,IAHA,GAAIwrB,GACAn+B,EAAU,EACVhD,EAAUwzC,EAAWxzC,OAChBA,EAAFgD,EAAUA,IACfm+B,EAAYqS,EAAWxwC,GACnB5B,EAAQ0D,oBACV1D,EAAQ0D,oBAAoBq8B,EAAW8D,GAAS,GAEhD7jC,EAAQ0yC,YAAY,KAAO3S,EAAWsS,MA2DhDl4C,SAASG,IAAIq4C,MAAQ,SAASC,EAAuBC,GA6BlD,QAASF,GAAMG,EAAe3qC,GAC7BhO,SAASM,KAAKqL,OAAOitC,GAAczO,MAAM0O,GAAc1O,MAAMn8B,EAAOypC,OAAO9wC,KAE3E,IAIId,GACAmO,EACAtP,EANAmH,EAAgBmC,EAAOnC,SAAW8sC,EAAc5yC,eAAiB/C,SACjEoT,EAAgBvK,EAAQwK,yBACxByiC,EAA0C,gBAApB,GACtBC,GAAiB,CAmBrB,KAdI/qC,EAAO+qC,kBAAmB,IAC5BA,GAAiB,GAIjBlzC,EADEizC,EACQ94C,SAASG,IAAIg0C,SAASwE,EAAe9sC,GAErC8sC,EAGRC,EAAaI,WACfC,EAAoBpzC,EAAS+yC,EAAaI,WAGrCnzC,EAAQnB,YACbA,EAAamB,EAAQnB,WACrBsP,EAAUklC,EAASx0C,EAAYsJ,EAAOmrC,QAASJ,EAAgB/qC,EAAOwhC,iBAClEx7B,GACFoC,EAASnS,YAAY+P,GAEnBtP,IAAesP,GACjBnO,EAAQjB,YAAYF,EAIxB,IAAIsJ,EAAOorC,YAGT,IAAK,GADDC,GAAWr5C,SAASG,IAAIuH,aAAa0O,GAChCrO,EAAIsxC,EAAS50C,OAAQsD,KAC5BsxC,EAAStxC,GAAGgB,UAAYswC,EAAStxC,GAAGgB,UAAUue,QAAQ,uBAAwB,MAUlF,OALAzhB,GAAQoQ,UAAY,GAGpBpQ,EAAQ5B,YAAYmS,GAEb0iC,EAAW94C,SAASI,OAAOk5C,oBAAoBzzC,GAAWA,EAGnE,QAASqzC,GAASK,EAASJ,EAASJ,EAAgBvJ,GAClD,GAKIp5B,GACApC,EACAwlC,EACAC,EARAC,EAAkBH,EAAQr2C,SAC1By2C,EAAkBJ,EAAQ/0C,WAC1Bo1C,EAAkBD,EAAUl1C,OAC5B4G,EAAkBwuC,EAAkBH,GACpCjyC,EAAkB,CAOtB,IAAI+nC,GAAmC,IAAhBkK,GAAqB15C,SAASG,IAAIstC,SAAS8L,EAAS/J,GACvE,MAAO+J,EAMX,IAHAvlC,EAAU3I,GAAUA,EAAOkuC,EAASR,IAG/B/kC,EAAS,CACV,GAAIA,KAAY,EAAO,CAInB,IAFAoC,EAAWmjC,EAAQxzC,cAAcsQ,yBAE5B5O,EAAImyC,EAAiBnyC,KACpBkyC,EAAUlyC,KACZ+xC,EAAWN,EAASS,EAAUlyC,GAAI0xC,EAASJ,EAAgBvJ,GACvDgK,IACEG,EAAUlyC,KAAO+xC,GACnB/xC,IAEF2O,EAASvC,aAAa2lC,EAAUpjC,EAAS1R,aAiC/C,OA5BA+0C,GAAcz5C,SAASG,IAAI6vC,SAAS,WAAWC,KAAKsJ,GAEhC,KAAhBE,IAEFA,EAAcz5C,SAASM,KAAKmoC,MAAMqR,GAAevyC,SAASgyC,EAAQvkC,SAAW,QAAU,IAErFhV,SAASM,KAAKmoC,OAAO,QAAS,OAAQ,UAAUlhC,SAASkyC,IAC3DrjC,EAASnS,YAAYs1C,EAAQxzC,cAActD,cAAc,OAIvDzC,SAASM,KAAKmoC,OACd,MAAO,MAAO,IACd,QAAS,KAAM,KACf,KAAM,KAAM,KACZ,KAAM,KACN,SAAU,SAAU,UACpB,KAAM,KAAM,KAAM,KAAM,KAAM,OAC/BlhC,SAASgyC,EAAQn2C,SAASyL,gBAAkB0qC,EAAQ50C,WAAWsd,YAAcs3B,IAEvEA,EAAQ3xC,aAAgD,IAAjC2xC,EAAQ3xC,YAAY1E,UAAmB,MAAQkI,KAAKmuC,EAAQ3xC,YAAYmB,YAClGqN,EAASnS,YAAYs1C,EAAQxzC,cAAcpD,eAAe,OAI5DyT,EAAS7R,WACX6R,EAAS7R,YAEJ6R,EAGT,MAAO,MAKb,IAAK3O,EAAE,EAAKmyC,EAAFnyC,EAAmBA,IACvBkyC,EAAUlyC,KACZ+xC,EAAWN,EAASS,EAAUlyC,GAAI0xC,EAASJ,EAAgBvJ,GACvDgK,IACEG,EAAUlyC,KAAO+xC,GACnB/xC,IAEFuM,EAAQ/P,YAAYu1C,IAM1B,IAAIL,GACAnlC,EAAQ5Q,SAASyL,gBAAkBkrC,KACjC/lC,EAAQxP,WAAWC,QACnB,UAAY2G,KAAK4I,EAAQiC,aAAe8iC,GAAyC,+BAAtBQ,EAAQtyC,WAAoE,2BAAtBsyC,EAAQtyC,aACzH+M,EAAQ8gC,WAAWrwC,QACnB,CAEJ,IADA2R,EAAWpC,EAAQjO,cAAcsQ,yBAC1BrC,EAAQtP,YACb0R,EAASnS,YAAY+P,EAAQtP,WAK/B,OAHI0R,GAAS7R,WACX6R,EAAS7R,YAEJ6R,EAMT,MAHIpC,GAAQzP,WACVyP,EAAQzP,YAEHyP,EAGT,QAASilC,GAAqBpzC,EAASm0C,GACrC,GAAInxB,GAAKxd,EAAQ4uC,CAEjB,KAAKpxB,IAAOmxB,GACV,GAAIA,EAAcjpC,eAAe8X,GAAM,CACjC7oB,SAASM,KAAKqL,OAAOquC,EAAcnxB,IAAM4hB,aAC3Cp/B,EAAS2uC,EAAcnxB,GACiB,gBAAxBmxB,GAAcnxB,IAAsBqxB,EAAuBF,EAAcnxB,MACzFxd,EAAS6uC,EAAuBF,EAAcnxB,KAEhDoxB,EAAMp0C,EAAQG,iBAAiB6iB,EAC/B,KAAK,GAAIphB,GAAIwyC,EAAIx1C,OAAQgD,KACvB4D,EAAO4uC,EAAIxyC,KAMnB,QAAS0yC,GAAeZ,EAASR,GAC/B,GAAIqB,GACApmC,EAIAqmC,EAHAC,EAAc1B,EAAa2B,KAC3Bn3C,EAAcm2C,EAAQn2C,SAASyL,cAC/B2rC,EAAcjB,EAAQiB,SAO1B,IAAIjB,EAAQkB,UACV,MAAO,KAIT,IAFAlB,EAAQkB,UAAY,EAEM,kBAAtBlB,EAAQtyC,UACV,MAAO,KAyBT,IAhBIuzC,GAA0B,QAAbA,IACfp3C,EAAWo3C,EAAY,IAAMp3C,GAO3B,aAAem2C,KACZv5C,SAASyjC,QAAQyD,0BACG,MAArBqS,EAAQn2C,UACsC,SAA9Cm2C,EAAQ3E,UAAUrjC,MAAM,IAAI1C,gBAC9BzL,EAAW,QAIXA,IAAYk3C,GAAU,CAExB,GADAF,EAAOE,EAASl3C,IACXg3C,GAAQA,EAAKh0C,OAChB,MAAO,KACF,IAAIg0C,EAAKM,OACd,OAAO,CAETN,GAAwB,gBAAX,IAAwBO,WAAYP,GAASA,MACrD,CAAA,IAAIb,EAAQ70C,WAIjB,MAAO,KAHP01C,IAASO,WAAYZ,GAOvB,GAAIK,EAAKQ,cAAgBC,EAAWtB,EAASX,EAAcwB,EAAKQ,YAAa7B,GAAiB,CAC5F,IAAIqB,EAAKU,cASP,MAAO,KARP,IAA2B,WAAvBV,EAAKU,cACP,OAAO,CACF,IAA2B,WAAvBV,EAAKU,cAGd,MAAO,KAFPT,GAAYD,EAAKW,yBAA2BhB,EAgBlD,MAPA/lC,GAAUulC,EAAQxzC,cAActD,cAAc43C,GAAaD,EAAKO,YAAcv3C,GAC9E43C,EAAkBzB,EAASvlC,EAASomC,EAAMrB,GAC1CkC,EAAc1B,EAASvlC,EAASomC,GAEhCb,EAAU,KAENvlC,EAAQzP,WAAayP,EAAQzP,YAC1ByP,EAGT,QAAS6mC,GAAWtB,EAAS9B,EAAOnF,EAAOyG,GACzC,GAAImC,GAAY73C,CAGhB,IAAyB,SAArBk2C,EAAQn2C,WAAwB21C,IAAyC,+BAAtBQ,EAAQtyC,WAAoE,2BAAtBsyC,EAAQtyC,WACnH,OAAO,CAGT,KAAK5D,IAAQivC,GACX,GAAIA,EAAMvhC,eAAe1N,IAASo0C,EAAM0D,kBAAoB1D,EAAM0D,iBAAiB93C,KACjF63C,EAAazD,EAAM0D,iBAAiB93C,GAChC+3C,EAAU7B,EAAS2B,IACrB,OAAO,CAIb,QAAO,EAaT,QAASE,GAAU7B,EAAS2B,GAE1B,GAEIG,GAAep5C,EAAgBiyC,EAAGL,EAAoByH,EAFtDC,EAAchC,EAAQxS,aAAa,SACnCyU,EAAcjC,EAAQxS,aAAa,QAIvC,IAAImU,EAAWp5C,QACb,IAAK,GAAI25C,KAAKP,GAAWp5C,QACvB,GAAIo5C,EAAWp5C,QAAQiP,eAAe0qC,IAAMC,EAAgBD,IAEtDC,EAAgBD,GAAGlC,GACrB,OAAO,CAOf,IAAIgC,GAAeL,EAAWn0C,QAAS,CACrCw0C,EAAcA,EAAYj0B,QAAQ,QAAS,IAAIA,QAAQ,QAAS,IAAIpgB,MAAMy0C,GAC1EN,EAAgBE,EAAY92C,MAC5B,KAAK,GAAIgD,GAAI,EAAO4zC,EAAJ5zC,EAAmBA,IACjC,GAAIyzC,EAAWn0C,QAAQw0C,EAAY9zC,IACjC,OAAO,EAMb,GAAI+zC,GAAcN,EAAWzH,OAAQ,CAEnC+H,EAAaA,EAAWt0C,MAAM,IAC9B,KAAKjF,IAAKi5C,GAAWzH,OACnB,GAAIyH,EAAWzH,OAAO1iC,eAAe9O,GACnC,IAAK,GAAI25C,GAAKJ,EAAW/2C,OAAQm3C,KAG/B,GAFAN,EAAYE,EAAWI,GAAI10C,MAAM,KAE7Bo0C,EAAU,GAAGh0B,QAAQ,MAAO,IAAIzY,gBAAkB5M,IAChDi5C,EAAWzH,OAAOxxC,MAAO,GAAiC,IAAzBi5C,EAAWzH,OAAOxxC,IAAYjC,SAASM,KAAKmoC,MAAMyS,EAAWzH,OAAOxxC,IAAIsF,SAAS+zC,EAAU,GAAGh0B,QAAQ,MAAO,IAAIzY,gBACpJ,OAAO,EASnB,GAAIqsC,EAAWW,MACX,IAAK3H,IAAKgH,GAAWW,MACjB,GAAIX,EAAWW,MAAM9qC,eAAemjC,KAChCL,EAAO7zC,SAASG,IAAI4mC,aAAawS,EAASrF,GACrB,gBAAX,IACFL,EAAKnI,OAAOwP,EAAWW,MAAM3H,IAAM,IACnC,OAAO,CAM3B,QAAO,EAGT,QAAS+G,GAAc1B,EAASvlC,EAASomC,GACvC,GAAIn4C,GAAG65C,CACP,IAAG1B,GAAQA,EAAK2B,YACd,IAAK95C,IAAKm4C,GAAK2B,YACb,GAAI3B,EAAK2B,YAAYhrC,eAAe9O,GAAI,CAGtC,GAFA65C,EAAW,UAAN75C,EAAiBs3C,EAAQppB,MAAM6rB,YAAczC,EAAQppB,MAAM8rB,SAAW1C,EAAQppB,MAAMluB,GAErFm4C,EAAK2B,YAAY95C,YAAc6Y,UAAYs/B,EAAK2B,YAAY95C,GAAGmJ,KAAK0wC,GACtE,QAEQ,WAAN75C,EAEF+R,EAAQmc,MAAOopB,EAAQppB,MAAgB,WAAI,aAAc,YAAc2rB,EAC7DvC,EAAQppB,MAAMluB,KACvB+R,EAAQmc,MAAMluB,GAAK65C,IAO9B,QAASI,GAA4BC,EAAWrH,GAC9C,GAAIsH,KACJ,KAAK,GAAIvI,KAAQiB,GACXA,EAAW/jC,eAAe8iC,IAAqC,IAA5BA,EAAK1wC,QAAQg5C,IAClDC,EAAiBv7C,KAAKgzC,EAG1B,OAAOuI,GAGT,QAASC,GAAgB7H,EAAeP,EAAgBl/B,EAAY3R,GAClE,GACIk5C,GADAjxC,EAASrL,SAASM,KAAKqL,OAAOoJ,GAAY01B,aAAe11B,EAAawnC,EAAsBxnC,EAGhG,OAAI1J,KACFixC,EAAoBjxC,EAAO4oC,EAAgB7wC,GACT,gBAAxB,IACDk5C,GAIJ,EAGT,QAASE,GAAiBjD,EAASkD,GACjC,GAIIjI,GAAekI,EAAUC,EAJzBC,EAAoB58C,SAASM,KAAKqL,OAAOitC,EAAa9D,gBAAkBjzB,QACxEg7B,EAAoB78C,SAASM,KAAKqL,OAAOixC,GAAkBzS,MAAOnqC,SAASM,KAAKqL,OAAO8wC,OAAwB56B,SAASlb,MACxHmuC,KACAgI,EAAoB98C,SAASG,IAAI2zC,cAAcyF,EAGnD,KAAK/E,IAAiBqI,GACpB,GAAI,MAAQzxC,KAAKopC,GAAgB,CAE/BmI,EAAqBT,EAA4B1H,EAAcjjC,MAAM,EAAE,IAAKurC,EAC5E,KAAK,GAAIr1C,GAAI,EAAGs1C,EAAOJ,EAAmBl4C,OAAYs4C,EAAJt1C,EAAUA,IAE1Di1C,EAAWL,EAAgBM,EAAmBl1C,GAAIq1C,EAAcH,EAAmBl1C,IAAKo1C,EAAgBrI,GAAgB+E,EAAQn2C,UAC5Hs5C,KAAa,IACf5H,EAAW6H,EAAmBl1C,IAAMi1C,OAIxCA,GAAWL,EAAgB7H,EAAesI,EAActI,GAAgBqI,EAAgBrI,GAAgB+E,EAAQn2C,UAC5Gs5C,KAAa,IACf5H,EAAWN,GAAiBkI,EAKlC,OAAO5H,GAIT,QAASkG,GAAkBzB,EAASvlC,EAASomC,EAAMrB,GACjD,GAWIsC,GAEA2B,EACAC,EACAzI,EACAnpC,EAhBAypC,KACAoI,EAAsB9C,EAAK+C,UAC3B5P,EAAsB6M,EAAKgD,UAC3BC,EAAsBjD,EAAKkD,UAC3BC,EAAsBnD,EAAKoD,eAC3BC,EAAsB7E,EAAa7xC,QACnCU,EAAsB,EACtBV,KACA0sC,KACAiK,KACAC,IAmBJ,IAXIJ,IACFzI,EAAa90C,SAASM,KAAKqL,OAAO4xC,GAAe17B,SAInDizB,EAAa90C,SAASM,KAAKqL,OAAOmpC,GAAY3K,MAAMqS,EAAiBjD,EAAUa,EAAKwD,mBAAmBj3C,MAEnGu2C,GACFn2C,EAAQlG,KAAKq8C,GAGX3P,EACF,IAAKiH,IAAiBjH,GACpBliC,EAASwyC,EAAgBtQ,EAASiH,IAC7BnpC,IAGL4xC,EAAW5xC,EAAOrL,SAASG,IAAI4mC,aAAawS,EAAS/E,IAC5B,gBAAf,IACRztC,EAAQlG,KAAKo8C,GAKnB,IAAII,EACF,IAAK7I,IAAiB6I,GACpBhyC,EAASyyC,EAAgBT,EAAS7I,IAC7BnpC,IAIL0yC,SAAW1yC,EAAOrL,SAASG,IAAI4mC,aAAawS,EAAS/E,IAC5B,gBAAf,WACRf,EAAO5yC,KAAKk9C,UAMlB,IAA+B,gBAArB,IAAoD,QAAnBN,EACzC,GAAIlE,EAAQxS,aAAa,SACvB,GAAI6R,EAAaoF,kBAAmB,CAOlC,IANAL,EAAapE,EAAQxS,aAAa,SAC9B4W,IACF52C,EAAUA,EAAQc,OAAO81C,EAAWz2C,MAAMy0C,KAG5CN,EAAgBt0C,EAAQtC,OACf42C,EAAF5zC,EAAiBA,IACtBu1C,EAAej2C,EAAQU,GAClBmxC,EAAaoF,kBAAkBhB,IAClCU,EAAW78C,KAAKm8C,EAIhBU,GAAWj5C,SACbqwC,EAAW,SAAW90C,SAASM,KAAKmoC,MAAMiV,GAAYtU,SAASjiC,KAAK,UAItE2tC,GAAW,SAAWyE,EAAQxS,aAAa,aAG1ChgC,IAAWA,EAAQtC,OAAS,IAC7BqwC,EAAW,SAAW90C,SAASM,KAAKmoC,MAAM1hC,GAASqiC,SAASjiC,KAAK,UAGhE,CAcL,IAZK4xC,IACH0E,EAAe,8BAAgC,EAC/CA,EAAwC,wBAAI,EAC5CA,EAAe,6BAA+B,GAIhDE,EAAapE,EAAQxS,aAAa,SAC9B4W,IACF52C,EAAUA,EAAQc,OAAO81C,EAAWz2C,MAAMy0C,KAE5CN,EAAgBt0C,EAAQtC,OACf42C,EAAF5zC,EAAiBA,IACtBu1C,EAAej2C,EAAQU,GACnBg2C,EAAeT,IACjBU,EAAW78C,KAAKm8C,EAIhBU,GAAWj5C,SACbqwC,EAAW,SAAW90C,SAASM,KAAKmoC,MAAMiV,GAAYtU,SAASjiC,KAAK,MAKpE2tC,EAAW,UAAYiE,IACzBjE,EAAW,SAAWA,EAAW,SAASxtB,QAAQ,4BAA6B,IAC3E,SAAWlc,KAAK0pC,EAAW,iBACtBA,GAAW,UAIlBrB,EAAOhvC,SACTqwC,EAAkB,MAAI90C,SAASM,KAAKmoC,MAAMgL,GAAQrK,SAASjiC,KAAK,KAIlE,KAAKqtC,IAAiBM,GAIpB,IACE9gC,EAAQhQ,aAAawwC,EAAeM,EAAWN,IAC/C,MAAMhyC,IAKNsyC,EAAWH,MACoB,mBAAtBG,GAAgB,OACzB9gC,EAAQhQ,aAAa,QAAS8wC,EAAWa,OAET,mBAAvBb,GAAiB,QAC1B9gC,EAAQhQ,aAAa,SAAU8wC,EAAWc,SAKhD,QAASqI,GAAY1E,GACnB,GAAI3xC,GAAc2xC,EAAQ3xC,WAC1B,KAAIA,GAAeA,EAAY1E,WAAalD,SAASoB,UAG9C,CAEL,GAAI0U,GAAOyjC,EAAQzjC,KAAKwR,QAAQtnB,SAASe,wBAAyB,GAClE,OAAOw4C,GAAQxzC,cAAcpD,eAAemT,GAJ5ClO,EAAYkO,KAAOyjC,EAAQzjC,KAAKwR,QAAQtnB,SAASe,wBAAyB,IAAM6G,EAAYkO,KAAKwR,QAAQtnB,SAASe,wBAAyB,IAQ/I,QAASm9C,GAAe3E,GACtB,MAAIX,GAAauF,SACR5E,EAAQxzC,cAAcq4C,cAAc7E,EAAQxwC,WADrD,OA9lBF,GAAI8wC,IACEwE,EAAKlE,EACLmE,EAAKL,EACLM,EAAKL,GAGPnE,EAAsB,OACtB4B,EAAsB,MACtB9C,GAAwB0B,QAAUxzC,YAClC6xC,KACAkB,GAAuB,UAAW,aAAc,SAAU,MAAO,MAAO,KAAM,WACvD,OAAQ,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,UAAW,OACvD,WAAY,WAAY,KAAM,IAAK,MAAM,QAAS,MAwlBzEyC,GACFlQ,IAAK,WACH,GAAImS,GAAU,eACd,OAAO,UAASvK,GACd,MAAKA,IAAmBA,EAAennB,MAAM0xB,GAGtCvK,EAAe3sB,QAAQk3B,EAAS,SAAS1xB,GAC9C,MAAOA,GAAMje,gBAHN,SAQb8lC,IAAK,WACH,GAAI6J,GAAU,oBACd,OAAO,UAASvK,GACd,MAAKA,IAAmBA,EAAennB,MAAM0xB,GAGtCvK,EAAe3sB,QAAQk3B,EAAS,SAAS1xB,GAC9C,MAAOA,GAAMje,gBAHN,SAQb4vC,KAAM,WACJ,GAAID,GAAU,mCACd,OAAO,UAASvK,GACd,MAAKA,IAAmBA,EAAennB,MAAM0xB,GAGtCvK,EAAe3sB,QAAQk3B,EAAS,SAAS1xB,GAC9C,MAAOA,GAAMje,gBAHN,SAQb6vC,IAAK,WACH,GAAIF,GAAU,iBACd,OAAO,UAASvK,EAAgB7wC,GAC9B,MAAK6wC,GAOEA,EAAe3sB,QAAQk3B,EAAS,IANpB,QAAbp7C,EACK,GAEA,SAQfu7C,QAAS,WACP,GAAIH,GAAU,KACd,OAAO,UAASvK,GAEd,MADAA,IAAkBA,GAAkB,IAAI3sB,QAAQk3B,EAAS,IAClDvK,GAAkB,SAK7B2K,UAAW,WACT,GAAIJ,GAAU,4BACd,OAAO,UAASvK,GAEd,MADAA,IAAkBA,GAAkB,IAAI3sB,QAAQk3B,EAAS,UAClDvK,GAAkB,SAI7B4K,IAAK,WACH,MAAO,UAAS5K,GACd,MAAKA,GAGEA,EAFE,UAQX6J,GACFgB,WAAY,WACV,GAAIC,IACF/I,KAAU,oBACVgJ,MAAU,qBACVC,OAAU,sBAEZ,OAAO,UAAShL,GACd,MAAO8K,GAAQjzC,OAAOmoC,GAAgBplC,oBAMxCgvC,GACFqB,UAAW,WACT,GAAIH,IACF/I,KAAQ,qBACRgJ,MAAQ,sBAEV,OAAO,UAAS/K,GACd,MAAO8K,GAAQjzC,OAAOmoC,GAAgBplC,mBAI1CiwC,WAAY,WACV,GAAIC,IACF/I,KAAU,0BACVgJ,MAAU,2BACVC,OAAU,4BACVE,QAAU,6BAEZ,OAAO,UAASlL,GACd,MAAO8K,GAAQjzC,OAAOmoC,GAAgBplC,mBAI1CuwC,SAAU,WACR,GAAIL,IACF/I,KAAQ,qBACRgJ,MAAQ,sBACRK,KAAQ,qBACR13C,IAAQ,qBAEV,OAAO,UAASssC,GACd,MAAO8K,GAAQjzC,OAAOmoC,GAAgBplC,mBAI1CywC,UAAW,WACT,GAAIP,IACFV,EAAK,6BACLkB,EAAK,0BACLjB,EAAK,2BACLkB,EAAK,0BACLC,EAAK,4BACLC,EAAK,6BACLC,EAAK,6BACLC,IAAK,4BACLC,IAAK,2BAEP,OAAO,UAAS5L,GACd,MAAO8K,GAAQjzC,OAAOmoC,GAAgB1U,OAAO,SAM/Cmc,GACFoE,mBAAoB,WAClB,GAAIC,GAEAC,GAAmB,MAAO,QAAS,UAAW,KAAM,SAAU,WAC3C,QAAS,QAAS,SAAU,SAAU,QAAS,QAC/C,MAAO,QAAS,SAAU,SAAS,WAAY,SAEtE,OAAO,UAAS1uC,GAId,GADAyuC,GAAOzuC,EAAG8xB,WAAa9xB,EAAGulC,aAAavvB,QAAQ,MAAO,IAClDy4B,GAAOA,EAAIt7C,OAAS,EACtB,OAAO,CAIT,KAAK,GAAIgD,GAAIu4C,EAAgBv7C,OAAQgD,KACnC,GAAI6J,EAAG0zB,cAAcgb,EAAgBv4C,IACnC,OAAO,CAKX,OAAI6J,GAAG0/B,aAAe1/B,EAAG0/B,YAAc,GAAK1/B,EAAG2uC,cAAgB3uC,EAAG2uC,aAAe,GACxE,GAGF,OAKT/F,GACFQ,OAAQ,SAAU70C,GAChB7F,SAASG,IAAIu6C,OAAO70C,IAGtBO,OAAQ,SAAUP,GAChBA,EAAQlB,WAAWC,YAAYiB,IAInC,OAAO2yC,GAAMC,EAAuBC,IAItC14C,SAASG,IAAIgyC,MAAQ,SAASrsC,EAAUqsC,GACpC,GACI+N,GADAh+C,IAGA4D,GAAS5C,WACT4C,GAAYA,GAGhB,KAAK,GAAItD,GAAI,EAAG6M,EAAMvJ,EAASrB,OAAY4K,EAAJ7M,EAASA,IAE5C,GADA09C,EAAIp6C,EAAStD,GAAGwD,iBAAiBmsC,GAE7B,IAAI,GAAI1qC,GAAIy4C,EAAEz7C,OAAQgD,IAAKvF,EAAIkyB,QAAQ8rB,EAAEz4C,KAGjD,MAAOvF,IAUXlC,SAASG,IAAIggD,qBAAuB,SAAS78C,GAM3C,IALA,GAAImsC,GACAjrC,EAAoBxE,SAASM,KAAKmoC,MAAMnlC,EAAKkB,YAAYmC,MACzDwmC,EAAoB3oC,EAAWC,OAC/BgD,EAAoB,EAEf0lC,EAAF1lC,EAAoBA,IACzBgoC,EAAYjrC,EAAWiD,GACnBgoC,EAAUvsC,WAAalD,SAASoB,WAAa,YAAcgK,KAAKqkC,EAAU35B,OAC5E25B,EAAU9qC,WAAWC,YAAY6qC,IAKvCzvC,SAASG,IAAIigD,sBAAwB,SAAS98C,GAE5C,IAAK,GADD+f,GAAYrjB,SAASG,IAAIuH,aAAapE,GACjCyE,EAAIsb,EAAU5e,OAAQsD,KAC7Bsb,EAAUtb,GAAGgB,UAAYsa,EAAUtb,GAAGgB,UAAUue,QAAQtnB,SAASe,wBAAyB,KA6B9Ff,SAASG,IAAIkgD,cAAgB,SAASx6C,EAASy6C,GAG7C,IAFA,GACI57C,GADA67C,EAAa16C,EAAQE,cAActD,cAAc69C,GAE9C57C,EAAamB,EAAQnB,YAC1B67C,EAAWt8C,YAAYS,EAQzB,OANA1E,UAASG,IAAIkwC,gBAAgB,QAAS,cAAcJ,KAAKpqC,GAAS2qC,GAAG+P,GAEjE16C,EAAQlB,YACVkB,EAAQlB,WAAWyrC,aAAamQ,EAAY16C,GAGvC06C,GAgBTvgD,SAASG,IAAIqgD,sBAAwB,SAASl9C,GAC5C,GAAKA,EAAKqB,WAAV,CAIA,KAAOrB,EAAKoB,YACVpB,EAAKqB,WAAWkP,aAAavQ,EAAKoB,WAAYpB,EAEhDA,GAAKqB,WAAWC,YAAYtB,KAyB9B,SAAUnD,GACR,QAASsgD,GAAgBn9C,GACvB,MAA8C,UAAvCnD,EAAI6vC,SAAS,WAAWC,KAAK3sC,GAGtC,QAASy0C,GAAaz0C,GACpB,MAAyB,OAAlBA,EAAKF,SAGd,QAASs9C,GAAiB76C,GACxB,GAAI6pC,GAAY7pC,EAAQE,cAActD,cAAc,KACpDoD,GAAQ5B,YAAYyrC,GAGtB,QAASiR,GAAYvR,EAAMwR,GACzB,GAAKxR,EAAKhsC,SAAS0pB,MAAM,kBAAzB,CAIA,GAIIpoB,GACAud,EACA4+B,EACAC,EACAC,EACA1R,EAEA2R,EAXAn/C,EAAkButC,EAAKrpC,cACvBqQ,EAAkBvU,EAAIwU,yBACtBlN,EAAkBnJ,SAASG,IAAIqxC,QAAQpC,GAAMgD,MAAMG,kBAAkB,IACrE3qC,EAAc5H,SAASG,IAAIqxC,QAAQpC,GAAM13B,MAAM66B,kBAAkB,IAOjE0O,EAAe7R,EAAK8R,kBAAoB9R,EAAKntB,SAGjD,IAAI2+B,EAMF,KAJIz3C,GAAoBs3C,EAAgBt3C,IAAqB4uC,EAAa5uC,IACxEu3C,EAAiBtqC,GAGZi5B,EAAYD,EAAK+R,mBAAqB/R,EAAK1qC,YAAa,CAG7D,IAFAud,EAAYotB,EAASptB,UACrB++B,EAAa3R,IAAa4R,EACnBv8C,EAAa2qC,EAAS3qC,YAC3Bm8C,EAAwBn8C,IAAeud,EAEvC6+B,IAA0BE,GAAep5C,IAAgB64C,EAAgB74C,KAAkBi5C,IAAgBJ,EAAgB/7C,KAAgBqzC,EAAarzC,GACxJ0R,EAASnS,YAAYS,GACjBo8C,GACFJ,EAAiBtqC,EAIrBi5B,GAAS1qC,WAAWC,YAAYyqC,OAGlC,MAAOA,EAAYD,EAAK+R,mBAAqB/R,EAAK1qC,YAAa,CAC7D,GAAI2qC,EAASrK,eAAiBqK,EAASrK,cAAc,4DACnD,KAAOtgC,EAAa2qC,EAAS3qC,YAC3B0R,EAASnS,YAAYS,OAElB,CAEL,IADAq8C,EAAYl/C,EAAIY,cAAc,KACvBiC,EAAa2qC,EAAS3qC,YAC3Bq8C,EAAU98C,YAAYS,EAExB0R,GAASnS,YAAY88C,GAEvB1R,EAAS1qC,WAAWC,YAAYyqC,GAIpCD,EAAKzqC,WAAWyrC,aAAah6B,EAAUg5B,IAGzCjvC,EAAIwgD,YAAcA,GACjB3gD,SAASG,KAwBZ,SAAUH,GACR,GAGI6B,GAAsBmB,SAItBo+C,GACE,SAAU,MAAO,SAAU,eAAgB,SAC3C,eAAgB,gBAAiB,iBAAkB,aAKrDC,GACE,OAAQ,QAAS,aAAc,kBAC/B,QAAS,UAAW,SACpB,eAAgB,cAChB,iBAAkB,kBAKpBC,GACE,WACA,QAAS,OAAQ,QAGvBthD,GAASG,IAAIohD,QAAUr3C,KAAKC,QAG1BM,YAAa,SAAS6jC,EAAetgC,GACnCpN,KAAKqoC,SAAWqF,GAAiBtuC,EAASkB,eAC1CN,KAAKoN,OAAWhO,EAASM,KAAKqL,WAAWw+B,MAAMn8B,GAAQrH,MAClD/F,KAAKoN,OAAO/G,YACfrG,KAAKoN,OAAO/G,UAAY,oBAE1BrG,KAAK4gD,aAAiB5gD,KAAK6gD,iBAG7BC,WAAY,SAAS77C,GACK,gBAAd,KACRA,EAAUhE,EAAI8tB,eAAe9pB,IAG/BA,EAAQ5B,YAAYrD,KAAK4gD,eAG3BG,UAAW,WACT,MAAO/gD,MAAK4gD,cAGdltC,UAAW,WACT1T,KAAKghD,eAGPvtC,YAAa,WACXzT,KAAKghD,eAGPnT,QAAS,WACP,GAAIoT,GAASjhD,KAAK+gD,WAClBE,GAAOl9C,WAAWC,YAAYi9C,IAGhCD,YAAa,WACX,KAAM,IAAI1vC,OAAM,sDAsBlBuvC,cAAe,WACb,GAAI7S,GAAShuC,KACTihD,EAAShgD,EAAIY,cAAc,SA6B/B,OA5BAo/C,GAAO56C,UAAYrG,KAAKoN,OAAO/G,UAC/BjH,EAASG,IAAIo9C,eACXuE,SAAsB,aACtBC,kBAAsB,OACtBC,YAAsB,EACtBrM,MAAsB,EACtBC,OAAsB,EACtBqM,YAAsB,EACtBC,aAAsB,IACrBzY,GAAGoY,GAGF7hD,EAASyjC,QAAQ8B,kDACnBsc,EAAOlN,IAAM,8BAGfkN,EAAOM,OAAS,WACdN,EAAOO,mBAAqBP,EAAOM,OAAS,KAC5CvT,EAAKyT,cAAcR,IAGrBA,EAAOO,mBAAqB,WACtB,kBAAkBh3C,KAAKy2C,EAAOr4C,cAChCq4C,EAAOO,mBAAqBP,EAAOM,OAAS,KAC5CvT,EAAKyT,cAAcR,KAIhBA,GAMTQ,cAAe,SAASR,GAEtB,GAAK7hD,EAASG,IAAIoH,SAAS1F,EAAI0E,gBAAiBs7C,GAAhD,CAIA,GAAIjT,GAAiBhuC,KACjB0hD,EAAiBT,EAAOltC,cACxB4tC,EAAiBV,EAAOltC,cAAc3R,SACtCw/C,EAAiB3gD,EAAI4gD,cAAgB5gD,EAAI2gD,SAAW,QACpDE,EAAiB9hD,KAAKkuC,UACpB0T,QAAcA,EACdG,YAAc/hD,KAAKoN,OAAO20C,aAkBhC,IAdAJ,EAAeK,KAAK,YAAa,WACjCL,EAAeM,MAAMH,GACrBH,EAAeO,QAEfliD,KAAK0T,UAAY,WAAa,MAAOutC,GAAOltC,eAC5C/T,KAAKyT,YAAc,WAAa,MAAOwtC,GAAOltC,cAAc3R,UAK5Ds/C,EAAaS,QAAU,SAAS9zC,EAAc+zC,EAAUC,GACtD,KAAM,IAAI/wC,OAAM,qBAAuBjD,EAAc+zC,EAAUC,KAG5DjjD,EAASyjC,QAAQ6B,2BAA4B,CAOhD,GAAI79B,GAAGhD,CACP,KAAKgD,EAAE,EAAGhD,EAAO28C,EAAiB38C,OAAUA,EAAFgD,EAAUA,IAClD7G,KAAKsiD,OAAOZ,EAAclB,EAAiB35C,GAE7C,KAAKA,EAAE,EAAGhD,EAAO48C,EAAkB58C,OAAUA,EAAFgD,EAAUA,IACnD7G,KAAKsiD,OAAOZ,EAAcjB,EAAkB55C,GAAIzH,EAASkB,eAE3D,KAAKuG,EAAE,EAAGhD,EAAO68C,EAAmB78C,OAAUA,EAAFgD,EAAUA,IACpD7G,KAAKsiD,OAAOX,EAAgBjB,EAAmB75C,GAIjD7G,MAAKsiD,OAAOX,EAAgB,SAAU,IAAI,GAGxCviD,EAAS2B,WACX3B,EAAS2B,UAAU2gD,EAAcC,GAAgBv9C,QAGnDpE,KAAKmuC,QAAS,EAGdC,WAAW,WAAaJ,EAAK3F,SAAS2F,IAAU,KAGlDE,SAAU,SAASG,GACjB,GAGIxqC,GAHAk+C,EAAc1T,EAAa0T,YAC3BpsC,EAAc,GACd9O,EAAc,CAGlB,IADAk7C,EAAsC,gBAAlB,IAA8BA,GAAeA,EAG/D,IADAl+C,EAASk+C,EAAYl+C,OACZA,EAAFgD,EAAUA,IACf8O,GAAQ,gCAAkCosC,EAAYl7C,GAAK,IAK/D,OAFAwnC,GAAa0T,YAAcpsC,EAEpBvW,EAASM,KAAK+qC,OACnB,mGAGAE,YAAY0D,IAShBiU,OAAQ,SAASv3C,EAAQq1B,EAAUl6B,EAAOq8C,GACxC,IAAMx3C,EAAOq1B,GAAYl6B,EAAS,MAAMtE,IAExC,IAAMmJ,EAAOy3C,iBAAiBpiB,EAAU,WAAa,MAAOl6B,KAAa,MAAMtE,IAC/E,GAAI2gD,EACF,IAAMx3C,EAAO03C,iBAAiBriB,EAAU,cAAkB,MAAMx+B,IAGlE,IAAKxC,EAASyjC,QAAQkE,0BAA0B3G,GAC9C,IACE,GAAIhzB,IACFrH,IAAK,WAAa,MAAOG,IAEvBq8C,KACFn1C,EAAOgvB,IAAM,cAEfx2B,OAAOC,eAAekF,EAAQq1B,EAAUhzB,GACxC,MAAMxL,SAIbxC,UAEH,WACE,GAAI++C,IACF93C,UAAa,QAEfjH,UAASG,IAAIo9C,cAAgB,SAASzI,GACpC,OACErL,GAAI,SAAS5jC,GACX,IAAK,GAAI4B,KAAKqtC,GACZjvC,EAAQ7B,aAAa+6C,EAAQt3C,IAAMA,EAAGqtC,EAAWrtC,UAO3DzH,SAASG,IAAIkxC,UAAY,SAASoC,GAChC,OACEhK,GAAI,SAAS5jC,GACX,GAAIsqB,GAAQtqB,EAAQsqB,KACpB,IAAuB,gBAAb,GAER,YADAA,EAAMghB,SAAW,IAAMsC,EAGzB,KAAK,GAAIhsC,KAAKgsC,GACF,UAANhsC,GACF0oB,EAAM8rB,SAAWxI,EAAOhsC,GACxB0oB,EAAM6rB,WAAavI,EAAOhsC,IAE1B0oB,EAAM1oB,GAAKgsC,EAAOhsC,MAqB5B,SAAUtH,GACRA,EAAImjD,oBAAsB,SAASC,EAAQC,EAAMC,EAAiBC,GAChE,GAAIC,GAAaD,GAAwB,uBACrCE,EAAQ,WACN,GAAIC,GAAsBL,EAAK39C,QAAQmrC,YAAc,GAAKwS,EAAK39C,QAAQo6C,aAAe,CAClFuD,GAAKM,sBACPN,EAAKO,QACLP,EAAK39C,QAAQf,QACT++C,GACF7U,WAAW,WACT,GAAInmB,GAAM26B,EAAKjjD,UAAUoD,cACpBklB,GAAI/kB,WAAc+kB,EAAIjlB,YACzB4/C,EAAKjjD,UAAUgf,WAAWikC,EAAK39C,QAAQnB,YAAc8+C,EAAK39C,UAE3D,IAGP29C,EAAKQ,gBAAiB,EACtB7jD,EAAIutC,YAAY8V,EAAK39C,QAAS89C,IAEhC3mB,EAAM,WACAwmB,EAAK7Y,YAAc6Y,EAAKQ,iBAC1BR,EAAKQ,gBAAiB,EACtBR,EAAKS,SAASR,GAAiB,GAC/BtjD,EAAIotC,SAASiW,EAAK39C,QAAS89C,IAInCJ,GACG9Z,GAAG,kBAAmBzM,GACtByM,GAAG,oBAAqBma,GACxBna,GAAG,iBAAkBma,GACrBna,GAAG,iBAAkBma,GACrBna,GAAG,gBAAiBzM,GAEvBA,MAEDh9B,SAASG,KAEZ,SAAUA,GACR,GAAIoG,GAAkBvD,SAASuD,eAC3B,gBAAiBA,IACnBpG,EAAI+jD,eAAiB,SAASr+C,EAASwhB,GACrCxhB,EAAQgxC,YAAcxvB,GAGxBlnB,EAAI8xC,eAAiB,SAASpsC,GAC5B,MAAOA,GAAQgxC,cAER,aAAetwC,IACxBpG,EAAI+jD,eAAiB,SAASr+C,EAASwhB,GACrCxhB,EAAQu9B,UAAY/b,GAGtBlnB,EAAI8xC,eAAiB,SAASpsC,GAC5B,MAAOA,GAAQu9B,aAGjBjjC,EAAI+jD,eAAiB,SAASr+C,EAASwhB,GACrCxhB,EAAQkD,UAAYse,GAGtBlnB,EAAI8xC,eAAiB,SAASpsC,GAC5B,MAAOA,GAAQkD,aAGlB/I,SAASG,KAQZH,SAASG,IAAIu6C,OAAS,SAASp3C,GAC7B,GAAI6gD,KACJ,IAAI7gD,EAAKqB,WAAY,CACnB,KAAOrB,EAAK2e,WACVkiC,EAAS/vB,QAAQ9wB,EAAK2e,WACtBjiB,SAASG,IAAI+vC,OAAO5sC,EAAK2e,WAAWkuB,MAAM7sC,EAE5CA,GAAKqB,WAAWC,YAAYtB,GAE9B,MAAO6gD,IASTnkD,SAASI,OAAOgkD,gBAAkB,WAEhC,GAAIC,GAAe,SAAUC,GAC3B,GAAIC,GAAavkD,SAASM,KAAK+qC,OAAOiZ,GAAUpoB,OAC5CsoB,EAAaD,EAAWj9B,QAAQ,sCAAuC,OAE3E,OAAO,IAAIxM,QAAO,SAAW0pC,EAAa,SAAU,MAGlDC,EAAiC,SAAUhN,EAAOiN,GACpD,GACIC,GAAKx0B,EADLy0B,EAAW5kD,SAASM,KAAKqL,OAAO8rC,GAAO51B,OAAM,EAGjD,KAAK8iC,IAAOC,GAASrK,KAEnB,GAAIqK,EAASrK,KAAKxpC,eAAe4zC,IAC3BC,EAASrK,KAAKoK,GAAK5I,YACrB,IAAK5rB,IAASy0B,GAASrK,KAAKoK,GAAK5I,YAC3B6I,EAASrK,KAAKoK,GAAK5I,YAAYhrC,eAAeof,IAC5Cu0B,EAAav0B,KACfy0B,EAASrK,KAAKoK,GAAK5I,YAAY5rB,GAASk0B,EAAaK,EAAav0B,IAQ9E,OAAOy0B,IAGLC,EAAc,SAASC,EAASvuC,GAClC,GAAewuC,EAEf,KAAKD,EACH,MAAO,KAGT,KAAK,GAAIr9C,GAAI,EAAG6hC,EAAMwb,EAAQrgD,OAAY6kC,EAAJ7hC,EAASA,IAI7C,GAHKq9C,EAAQr9C,GAAGu9C,YACdD,EAAaD,EAAQr9C,GAAGu1B,KAEtB8nB,EAAQr9C,GAAGu9C,WAAaF,EAAQr9C,GAAGu9C,UAAU55C,KAAKmL,GACpD,MAAOuuC,GAAQr9C,GAAGu1B,GAItB,OAAO+nB,GAGT,OAAO,UAASxuC,EAAMlF,GACpB,GAKI4zC,GALAP,GACEQ,MAASllD,SAASG,IAAI6vC,SAAS,SAASC,KAAK5+B,EAAQ8zC,eACrDC,SAAYplD,SAASG,IAAI6vC,SAAS,aAAaC,KAAK5+B,EAAQ8zC,gBAE9D1N,EAAQgN,EAA+BI,EAAYxzC,EAAQomC,MAAOlhC,OAAamuC,EAYnF,OATAO,GAAUjlD,SAASG,IAAIq4C,MAAMjiC,GAC3BkhC,MAASA,EACT0B,SAAW,EACXttC,QAAWwF,EAAQ8zC,cAAcp/C,cACjCypC,gBAAmBn+B,EAAQm+B,gBAC3BuJ,gBAAmB,EACnBK,aAAgB,QAetBp5C,SAASI,OAAOilD,qBAAuB,WACrC,GAAIC,GAAmB,WACrB,GAAIz/C,GAAUjF,IACdouC,YAAW,WACT,GAAI/4B,GAAYpQ,EAAQoQ,UAAUpH,eACjB,iBAAboH,GACa,8BAAbA,KACFpQ,EAAQoQ,UAAY,KAErB,GAGL,OAAO,UAASq/B,GACdt1C,SAASG,IAAI8pC,QAAQqL,EAASzvC,SAAU,MAAO,WAAYy/C,OAa/D,SAAUtlD,GACR,GAAIulD,GAAgB,KACpBvlD,GAASI,OAAOk5C,oBAAsB,SAASzzC,GAC7C,GAAIoQ,GAAYpQ,EAAQoQ,SACxB,IAAyC,KAArCA,EAAU9S,QAAQoiD,GACpB,MAAOtvC,EAGT,IACIo2B,GACAmZ,EACA/gD,EACAgD,EAJAg+C,EAAoB5/C,EAAQG,iBAAiB,0BAKjD,KAAKyB,EAAE,EAAGhD,EAAOghD,EAAkBhhD,OAAUA,EAAFgD,EAAUA,IACnD4kC,EAAcoZ,EAAkBh+C,GAAGg3C,MAAQgH,EAAkBh+C,GAAGktC,IAChE6Q,EAAcxlD,EAASM,KAAK+qC,OAAOgB,GAAK/kB,QAAQ,KAAKmkB,GAAG8Z,GACxDtvC,EAAcjW,EAASM,KAAK+qC,OAAOp1B,GAAWqR,QAAQk+B,GAAa/Z,GAAGY,EAExE,OAAOp2B,KAERjW,UAUH,SAAUA,GACR,GAAI2jD,GAAa,wBAEjB3jD,GAASI,OAAOslD,OAAS,SAAS7/C,GAChC7F,EAASG,IAAIotC,SAAS1nC,EAAS89C,GAC/B3jD,EAASG,IAAIutC,YAAY7nC,EAAS89C,EAGlC,KACE,GAAI9hD,GAAMgE,EAAQE,aAClBlE,GAAI+iC,YAAY,UAAU,EAAO,MACjC/iC,EAAI+iC,YAAY,UAAU,EAAO,MACjC,MAAMpiC,OAETxC,UAEH,SAAUA,GA8BR,QAAS2lD,GAAqBC,GAC5B,GAAI1jC,GAAM2jC,CAEV,KAAK3jC,IAAQ4jC,GACX,GAAKA,EAAkB/0C,eAAemR,KAEtC2jC,EAAgBC,EAAkB5jC,GAE9B2jC,EAAclrC,MAAMvP,KAAKw6C,IAC3B,MAAOC,GAMb,QAASE,GAAgBH,GACvB,GAAIviD,GAAOsiD,EAAoBC,EAE/B,OAAOviD,GAAOA,EAAKqM,KAAOlH,OA5C5B,GAAIs9C,IACEE,MACErrC,MAAO,4EACPjL,KAAM,QAERu2C,KACEtrC,MAAO,2DACPjL,KAAM,OAERw2C,MACEvrC,MAAO,4DACPjL,KAAM,MACNy2C,MAAO,IAETC,MACEzrC,MAAO,oCACPjL,KAAM,MACNy2C,MAAO,KAIXE,EAAkB,SAAUnhD,GAC1B,MAAO,IAAI4V,QAAO,YAAc5V,EAAI,kBAAmB,MA0B7DlF,GAASI,OAAOkmD,aAGdX,oBAAsBA,EAGtBI,eAAiBA,EAcjBQ,WAAa,SAAUC,EAAWC,GAChC,GAAIC,GAAa/8C,EAAQg9C,EAAWC,EAAYT,EAC5CP,EAAWY,CAEf,IAAIC,EAAW,CAGb,GAFAC,EAAcL,EAAgBI,KAExB98C,EAAS68C,EAAU15B,MAAM45B,IAAiB,OAAO,CAEvD/8C,GAASA,EAAO6Z,MAAMtc,MAAM,KAAK,GACjC0+C,EAAW5lD,EAASM,KAAK+qC,OAAO1hC,GAAQuyB,OAG1C,OAAMyqB,EAAYhB,EAAoBC,MAChCgB,EAAahB,EAAS94B,MAAM65B,EAAUhsC,SAE5CwrC,EAAQQ,EAAUR,OAAS,GAEvBQ,IAAcb,EAAkBM,MAClCQ,EAAW/9C,QACX+9C,EAAW/lD,KAAK,GACTb,EAASM,KAAKmoC,MAAMme,GAAY5d,IAAI,SAAS6d,EAAGtd,GACrD,MAAc,GAANA,EAAYxc,SAAS85B,EAAGV,GAASA,EAASp5B,SAAS85B,EAAGV,GAAQjiB,WAAW2iB,OAIrFD,EAAW/9C,QAEN+9C,EAAW,IACdA,EAAW/lD,KAAK,GAGXb,EAASM,KAAKmoC,MAAMme,GAAY5d,IAAI,SAAS6d,EAAGtd,GACrD,MAAc,GAANA,EAAWxc,SAAS85B,EAAGV,GAAQjiB,WAAW2iB,QApBO,GAqC7DC,aAAc,SAAS3vC,EAAK4vC,GAC1B,GAAIC,GAAW,EAEf,OAAoB,QAAhBD,GACM5vC,EAAI,GAAGnM,SAASg8C,GAAY7vC,EAAI,GAAGnM,SAASg8C,GAAY7vC,EAAI,GAAGnM,SAASg8C,IAAW3Q,cAClE,SAAhB0Q,EACF,KAAO5vC,EAAI,GAAGnM,SAASg8C,GAAY7vC,EAAI,GAAGnM,SAASg8C,GAAY7vC,EAAI,GAAGnM,SAASg8C,IAAW3Q,cACxE,QAAhB0Q,EACF,OAAS5vC,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMA,EAAI,GAAK,IAC9B,SAAhB4vC,EACF,QAAU5vC,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMA,EAAI,GAAK,IAC9C,QAAhB4vC,EACD5vC,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMA,EAAI,GAGvDA,EAAI,IAAiB,IAAXA,EAAI,GACT,QAAUA,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMA,EAAI,GAAK,IAEhE,OAASA,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMA,EAAI,GAAK,KAK3D8vC,cAAe,SAAST,GACtB,GAAI78C,GAAS68C,EAAU15B,MAAMu5B,EAAgB,aAC7C,OAAI18C,GACK3J,EAASM,KAAK+qC,OAAO1hC,EAAOA,EAAOlF,OAAS,GAAGyC,MAAM,KAAK,IAAIg1B,QAEhE,KAIVl8B,UAQH,SAAUA,GAGR,QAASknD,GAAwBrhD,GAC/B,GAAIiwC,GAAM,CACV,IAAIjwC,EAAQlB,WACV,EACEmxC,IAAOjwC,EAAQshD,WAAa,EAC5BthD,EAAUA,EAAQuhD,mBACXvhD,EAEX,OAAOiwC,GAIT,QAASuR,GAASx8C,EAAUuI,GAExB,IADA,GAAIlR,GAAM,EACHkR,IAAevI,GAGlB,GAFA3I,IACAkR,EAAaA,EAAWzO,YACnByO,EACD,KAAM,IAAIlB,OAAM,gCAExB,OAAOhQ,GAGX,QAASolD,GAAahkD,EAAM8Q,GAC1B,MAAsB,KAAlB9Q,EAAKJ,SACAI,EAEAA,EAAKkB,WAAW4P,IAAW9Q,EAItC,QAASikD,GAA0BzqC,GACjC,GAAI0qC,GAAYxkD,SAASP,cAAc,QAEnCglD,EAAqB,SAAS/9C,GAIhCoT,EAAUvT,oBAAoB,UAAWk+C,GACzC3qC,EAAUvT,oBAAoB,UAAWk+C,GACzC3qC,EAAUvT,oBAAoB,aAAck+C,GAC5C3qC,EAAUvT,oBAAoB,QAASk+C,GACvC3qC,EAAUvT,oBAAoB,OAAQk+C,GACtC3qC,EAAUvT,oBAAoB,QAASm+C,GACvC5qC,EAAUvT,oBAAoB,OAAQm+C,GACtC5qC,EAAUvT,oBAAoB,cAAem+C,GAEzCF,GAAaA,EAAU7iD,YACzB6iD,EAAU7iD,WAAWC,YAAY4iD,IAGrCE,EAA4B,SAAUh+C,GAChC89C,GAAaA,EAAU7iD,YACzBqqC,WAAWyY,EAAoB,GAmBnC,OAfAD,GAAUvjD,YAAY6Y,EAAU/W,cAAcpD,eAAe3C,EAASc,kBACtE0mD,EAAUvgD,UAAY,2BACtBugD,EAAUr3B,MAAME,QAAU,QAC1Bm3B,EAAUr3B,MAAMw3B,SAAW,MAC3BH,EAAUr3B,MAAMylB,OAAS,MAEzB94B,EAAUrT,iBAAiB,UAAWg+C,GACtC3qC,EAAUrT,iBAAiB,UAAWg+C,GACtC3qC,EAAUrT,iBAAiB,aAAcg+C,GACzC3qC,EAAUrT,iBAAiB,QAASg+C,GACpC3qC,EAAUrT,iBAAiB,OAAQg+C,GACnC3qC,EAAUrT,iBAAiB,QAASi+C,GACpC5qC,EAAUrT,iBAAiB,OAAQi+C,GACnC5qC,EAAUrT,iBAAiB,cAAei+C,GAEnCF,EAKT,QAASI,GAAsBh7C,GAC3B,IAAIA,EAAM8S,sBAMV,IAJA,GAAImoC,GAASj7C,EAAM4O,wBACfssC,EAAcT,EAASQ,EAAQj7C,EAAM4L,gBACrCuvC,EAAYV,EAASQ,EAAQj7C,EAAM6L,eAEhC7L,EAAM8S,uBAEPooC,EAAcC,GACdn7C,EAAMqS,eAAerS,EAAM4L,gBAC3BsvC,EAAcT,EAASQ,EAAQj7C,EAAM4L,kBAGrC5L,EAAMwS,YAAYxS,EAAM6L,cACxBsvC,EAAYV,EAASQ,EAAQj7C,EAAM6L,eA9F7C,GAAItY,GAAMH,EAASG,GAmGnBH,GAASuvB,UAAYrlB,KAAKC,QAExBM,YAAa,SAAS84C,EAAQyE,EAASC,GAErCl8C,MAAMb,OAENtK,KAAK2iD,OAAWA,EAChB3iD,KAAK00C,SAAWiO,EAAOjO,SACvB10C,KAAKiB,IAAWjB,KAAK00C,SAASzzC,IAC9BjB,KAAKgB,IAAWhB,KAAK00C,SAAS1zC,IAC9BhB,KAAKonD,QAAUA,EACfpnD,KAAKqnD,kBAAoBA,IAAqB,GAQhDtkC,YAAa,WACX,GAAI/W,GAAQhM,KAAKsnD,UACjB,OAAOt7C,IAASA,EAAMmU,cAQxBm1B,YAAa,SAASnyB,GACfA,GAILnjB,KAAKunD,aAAapkC,IAUpBqkC,UAAW,SAAS9kD,GAClB,GAAIsJ,GAAQb,MAAMhJ,YAAYnC,KAAKiB,IAGnC,OAFA+K,GAAMqS,eAAe3b,GACrBsJ,EAAMuS,aAAa7b,GACZ1C,KAAKunD,aAAav7C,IAK3By7C,+BAAgC,SAAU/kD,GACxC,GAAIglD,GAAmB1nD,KAAKiB,IAAIY,cAAc,QAC1C8lD,EAAuB3nD,KAAKiB,IAAIc,eAAe3C,EAASc,iBACxD2mD,EAAqB,SAAU/9C,GAE7B,GAAIuY,EAEJrhB,MAAKonD,QAAQz+C,oBAAoB,UAAWk+C,GAC5C7mD,KAAKonD,QAAQz+C,oBAAoB,UAAWi/C,GAC5C5nD,KAAKonD,QAAQz+C,oBAAoB,aAAck+C,GAC/C7mD,KAAKonD,QAAQz+C,oBAAoB,QAASk+C,GAC1C7mD,KAAKonD,QAAQz+C,oBAAoB,OAAQk+C,GACzC7mD,KAAKonD,QAAQz+C,oBAAoB,QAASm+C,GAC1C9mD,KAAKonD,QAAQz+C,oBAAoB,OAAQm+C,GACzC9mD,KAAKonD,QAAQz+C,oBAAoB,cAAem+C,GAI5CY,GAAoBA,EAAiB3jD,aACvC2jD,EAAiBryC,UAAYqyC,EAAiBryC,UAAUqR,QAAQtnB,EAASe,wBAAyB,IAC9F,SAAWqK,KAAKk9C,EAAiBryC,YACnCgM,EAAYqmC,EAAiBrmC,UAC7BjiB,EAASG,IAAIu6C,OAAO4N,GACpB1nD,KAAK6nD,SAASxmC,IAEdqmC,EAAiB3jD,WAAWC,YAAY0jD,KAI3CI,KAAK9nD,MACR8mD,EAA4B,SAAUh+C,GAChC4+C,GAAoBA,EAAiB3jD,YACvCqqC,WAAWyY,EAAoB,IAGnCe,EAAiB,SAAS9+C,GACJ,IAAhBA,EAAMi/C,OAA+B,KAAhBj/C,EAAMi/C,OAAgC,KAAhBj/C,EAAMi/C,OAAiC,KAAhBj/C,EAAMi/C,QAAkBj/C,EAAMk/C,SAAYl/C,EAAMm/C,UACpHpB,IAwBR,OApBAa,GAAiBrhD,UAAY,2BAC7BqhD,EAAiBn4B,MAAMhc,SAAW,WAClCm0C,EAAiBn4B,MAAME,QAAU,QACjCi4B,EAAiBn4B,MAAMw3B,SAAW,MAClCW,EAAiBn4B,MAAM24B,OAAS,QAChCR,EAAiBrkD,YAAYskD,GAE7BjlD,EAAKqB,WAAWkP,aAAay0C,EAAkBhlD,EAAKsE,aACpDhH,KAAKwnD,UAAUG,GAGf3nD,KAAKonD,QAAQv+C,iBAAiB,UAAWg+C,GACzC7mD,KAAKonD,QAAQv+C,iBAAiB,UAAW++C,GACzC5nD,KAAKonD,QAAQv+C,iBAAiB,aAAcg+C,GAC5C7mD,KAAKonD,QAAQv+C,iBAAiB,QAASg+C,GACvC7mD,KAAKonD,QAAQv+C,iBAAiB,OAAQg+C,GACtC7mD,KAAKonD,QAAQv+C,iBAAiB,QAASi+C,GACvC9mD,KAAKonD,QAAQv+C,iBAAiB,OAAQi+C,GACtC9mD,KAAKonD,QAAQv+C,iBAAiB,cAAei+C,GAEtCY,GAWTG,SAAU,SAASnlD,EAAMylD,EAAW9f,GAClC,GAyBIpgB,GAzBAjnB,EAAMhB,KAAKgB,IACXgL,EAAQb,MAAMhJ,YAAYnC,KAAKiB,KAC/BmnD,EAAqB,WAGnB,GAAIr2C,GAASrP,EAAKqB,WACdskD,EAAct2C,EAASA,EAAOnO,WAAWmO,EAAOnO,WAAWC,OAAS,GAAK,IAE7E,KAAKokB,GAAQogC,IAAgB3lD,GAA0B,IAAlBA,EAAKJ,UAAyD,UAAvCtB,EAAIyV,iBAAiB/T,GAAM+sB,QACrF,GAAI04B,EAAW,CAGb,GAAIT,GAAmB1nD,KAAKiB,IAAIc,eAAe3C,EAASc,gBACxDwC,GAAKqB,WAAWkP,aAAay0C,EAAkBhlD,EAAKsE,aACpDhH,KAAK2e,WAAW+oC,GAChBtZ,WAAW,WACLsZ,GAAoBA,EAAiB3jD,YACvC2jD,EAAiB3jD,WAAWC,YAAY0jD,IAEzC,OAEH1nD,MAAKynD,+BAA+B/kD,IAGxColD,KAAK9nD,KAQX,IALAgM,EAAMsS,cAAc5b,GACpBsJ,EAAMwS,YAAY9b,GAIbN,SAASC,eAAiBD,SAASC,gBAAkBrC,KAAK00C,SAASzvC,QAYtEgjB,EAAMjoB,KAAKunD,aAAav7C,GACxBo8C,IACI/f,GACFA,EAASpgB,OAfoE,CAC/E,GAAI4sB,GAAY70C,KAAK00C,SAASI,cAC9B90C,MAAK00C,SAASzvC,QAAQf,QACtBlE,KAAK00C,SAAS4T,aAAazT,GAC3BzG,WAAW,WACTnmB,EAAMjoB,KAAKunD,aAAav7C,GACxBo8C,IACI/f,GACFA,EAASpgB,IAEX6/B,KAAK9nD,MAAO,KAiBlB2e,WAAY,SAASjc,EAAM6lD,GACzB,GAAIv8C,GAAkBb,MAAMhJ,YAAYnC,KAAKiB,KACzCunD,EAAkB9lD,EAAKJ,WAAalD,EAASmB,aAC7CmlB,EAAkB,eAAiBhjB,GAAOA,EAAKgjB,YAAiC,QAAlBhjB,EAAKF,SACnE2e,EAAkBqnC,EAAY9lD,EAAK2S,UAAY3S,EAAKwS,KACpD60B,EAA+B,KAAZ5oB,GAAkBA,IAAY/hB,EAASc,gBAC1DuoD,EAAkBlpD,EAAI6vC,SAAS,WAAWC,KAAK3sC,GAC/CqsC,EAAoC,UAAjB0Z,GAA6C,cAAjBA,CAEnD,IAAI1e,GAAWye,GAAa9iC,IAAgB6iC,EAE1C,IAAM7lD,EAAK2S,UAAYjW,EAASc,gBAAmB,MAAM0B,IAEvD8jB,EACF1Z,EAAM0S,mBAAmBhc,GAEzBsJ,EAAM2S,WAAWjc,GAGfgjB,GAAeqkB,GAAWye,EAC5Bx8C,EAAMyS,SAASswB,GACNrpB,GAAeqkB,IACxB/9B,EAAMsS,cAAc5b,GACpBsJ,EAAMwS,YAAY9b,IAGpB1C,KAAKunD,aAAav7C,IAWpB08C,gBAAiB,SAASt/B,GACxB,GAAIzpB,GACAqM,CAEJ,OAAIod,IAAgBppB,KAAKiB,IAAItB,WAAyC,YAA5BK,KAAKiB,IAAItB,UAAU8C,OAC3DuJ,EAAQhM,KAAKiB,IAAItB,UAAUwC,cACvB6J,GAASA,EAAMnI,QACVmI,EAAMpF,KAAK,IAItBjH,EAAYK,KAAK+C,aAAa/C,KAAKiB,KAC/BtB,EAAUuD,YAAcvD,EAAUqD,WAC7BrD,EAAUuD,WAEjB8I,EAAQhM,KAAKsnD,SAAStnD,KAAKiB,KACpB+K,EAAQA,EAAM4O,wBAA0B5a,KAAKiB,IAAIqC,QAI5DqlD,cAAe,WACb,GAAI38C,GAAQhM,KAAKsnD,UACjBN,GAAsBh7C,GACtBhM,KAAKunD,aAAav7C,IAGpB48C,oBAAqB,SAASx/B,GAK5B,IAAK,GAHDa,GAASjqB,KAAK6oD,eACdC,KAEKjiD,EAAI,EAAGkiD,EAAO9+B,EAAOpmB,OAAYklD,EAAJliD,EAAUA,IAC5CiiD,EAAS7oD,KAAKgqB,EAAOpjB,GAAG+T,yBAA2B5a,KAAKiB,IAAIqC,KAEhE,OAAOwlD,IAGTE,qBAAsB,SAASnvC,GAG7B,IAAK,GADWovC,GADZh/B,EAASjqB,KAAK6oD,eACd1uC,KACKtT,EAAI,EAAGkiD,EAAO9+B,EAAOpmB,OAAYklD,EAAJliD,EAAUA,IAC9CoiD,EAAWh/B,EAAOpjB,GAAG6b,UAAU,GAAI,SAAShgB,GACxC,MAAOtD,GAASM,KAAKmoC,MAAMhuB,GAAWlT,SAASjE,EAAKF,YAExD2X,EAAQA,EAAMlT,OAAOgiD,EAEvB,OAAO9uC,IAGT+uC,eAAgB,SAASpvC,GAIvB,IAAK,GAFWmvC,GADZh/B,EAASjqB,KAAK6oD,eACd1uC,KAEKtT,EAAI,EAAGkiD,EAAO9+B,EAAOpmB,OAAYklD,EAAJliD,EAAUA,IAC9CoiD,EAAWh/B,EAAOpjB,GAAG6b,UAAU,GAAI,SAASzd,GAC1C,MAAO6U,GAAO7U,EAASglB,EAAOpjB,MAEhCsT,EAAQA,EAAMlT,OAAOgiD,EAEvB,OAAO9uC,IAGTgvC,mBAAoB,WAIlB,IAAK,GAHDC,GAAcppD,KAAKqpD,oBACnB1pD,EAAYK,KAAK+C,eAEZ8D,EAAI,EAAGkiD,EAAOK,EAAYvlD,OAAYklD,EAAJliD,EAAUA,IACnD,GAAIlH,EAAUwiB,aAAainC,EAAYviD,IACrC,OAAO,CAIX,QAAO,GAKTgY,eAAgB,WACd,GAAI7S,GAAQhM,KAAKsnD,UACjBtnD,MAAKspD,oBAAoBt9C,GACzBhM,KAAKunD,aAAav7C,IAIpBs9C,oBAAqB,SAAUt9C,GAC7B,GAAIu9C,GAAaC,EAAWJ,EAAaK,CAEzC,IAAIzpD,KAAKqnD,kBAAmB,EACrBkC,EAAcnqD,EAASG,IAAI60C,iBAAiBpoC,EAAM4L,gBAAkB25B,MAAO,IAAMvxC,KAAKqnD,oBAAqB,EAAOrnD,KAAKonD,WAC1Hp7C,EAAMqS,eAAekrC,IAElBC,EAAYpqD,EAASG,IAAI60C,iBAAiBpoC,EAAM6L,cAAgB05B,MAAO,IAAMvxC,KAAKqnD,oBAAqB,EAAOrnD,KAAKonD,WACtHp7C,EAAMwS,YAAYgrC,GAIpBJ,EAAcp9C,EAAM0W,UAAU,GAAI,SAAWhgB,GAC3C,MAAOtD,GAASG,IAAIstC,SAASnqC,EAAM1C,KAAKqnD,oBACvCS,KAAK9nD,MACR,KAAK,GAAI6G,GAAIuiD,EAAYvlD,OAAQgD,KAC/B,IACE4iD,EAAK,GAAIllD,aAAY,8BACrB6kD,EAAYviD,GAAG6iD,cAAcD,GAC7B,MAAOE,KAGb39C,EAAM6S,kBAGR+qC,aAAc,WACZ,GAAIjqD,GAAYK,KAAK+C,cACrB,OAAQpD,IAAaA,EAAUqD,WAAc0jD,EAAa/mD,EAAUqD,WAAYrD,EAAUsD,cAAgB,MAG5G4mD,gBAAiB,SAASnnD,EAAMonD,GAC9B,GAAIrB,EACJ,KAAK/lD,EAAM,CACT,GAAI/C,GAAYK,KAAK+C,cACrBL,GAAQ/C,GAAaA,EAAUqD,WAAc0jD,EAAa/mD,EAAUqD,WAAYrD,EAAUsD,cAAgB,KAG5G,GAAIP,IAAS1C,KAAKonD,QACd,OAAO,CAGX,IACIr1C,GADAzQ,EAAMoB,EAAK6F,eAGf,OAAIjH,KAAQtB,KAAKonD,SACN,GAGP9lD,GAAwB,IAAjBA,EAAIgB,UAAmC,IAAjBhB,EAAIgB,SAElChB,EAAMtB,KAAK6pD,gBAAgBvoD,EAAKwoD,GACxBxoD,GAAwB,IAAjBA,EAAIgB,UAAkB,QAAUkI,KAAKlJ,EAAI20C,aAEzD30C,EAAMtB,KAAK6pD,gBAAgBvoD,EAAKwoD,GACvBA,GAAexoD,GAAwB,IAAjBA,EAAIgB,UAGnCmmD,EAAerpD,EAASG,IAAI6vC,SAAS,WAAWC,KAAK/tC,GAEhDlC,EAASM,KAAKmoC,OAAO,KAAM,KAAM,QAAQlhC,SAASrF,EAAIkB,WACtDpD,EAASM,KAAKmoC,OAAO,QAAS,eAAgB,OAAQ,YAAa,UAAUlhC,SAAS8hD,KACvF,UAAYj+C,KAAKlJ,EAAI+T,aAErB/T,EAAMtB,KAAK6pD,gBAAgBvoD,EAAKwoD,KAE1BxoD,GAAOoB,IAAS1C,KAAKonD,UAC/Br1C,EAASrP,EAAKqB,WACVgO,IAAW/R,KAAKonD,UAChB9lD,EAAMtB,KAAK6pD,gBAAgB93C,EAAQ+3C,KAIjCxoD,IAAQtB,KAAKonD,QAAW9lD,GAAM,IAIxCyoD,kBAAmB,WACjB,IAAK/pD,KAAKslB,cACR,KAAM,kEAGR,IACI0kC,GAAWvY,EAAUz+B,EAAUQ,EAD/BtR,EAAIlC,KAAK6oD,cAGb,OAAI3mD,IAAKA,EAAE2B,OAAS,GACmB,IAAjC3B,EAAE,GAAG0V,eAAetV,UACtB0nD,EAAY9nD,EAAE,GAAG0V,eAAehU,WAAW1B,EAAE,GAAGwW,YAAc,GACzDsxC,GAAkC,IAArB9nD,EAAE,GAAGwW,YAGZsxC,IACTvY,EAAWuY,EAAUzhD,gBACrByK,EAAWg3C,EAAUhjD,aAHrBgM,EAAW9Q,EAAE,GAAG0V,eAAehU,WAAW,KAMnB,IAArB1B,EAAE,GAAGwW,aAAqBxW,EAAE,GAAG0V,eAAerP,iBAChDyhD,EAAY9nD,EAAE,GAAG0V,eAAerP,gBACL,IAAvByhD,EAAU1nD,WACZkR,EAASw2C,EAAU90C,KAAKrR,UAG1BmmD,EAAY9nD,EAAE,GAAG0V,eACjBpE,EAAStR,EAAE,GAAGwW,aAEhB+4B,EAAWuY,EAAUzhD,gBACrByK,EAAWg3C,EAAUhjD,cAIrBgjD,UAAaA,EACbvY,SAAYA,EACZz+B,SAAYA,EACZi3C,WAAcz2C,IAIX,MAGT02C,yBAA0B,SAAS91C,GAIjC,IAAK,GAFD+1C,GADAhwC,EAAQna,KAAK4oD,sBACNzb,KAEFtmC,EAAI,EAAGkiD,EAAO5uC,EAAMtW,OAAYklD,EAAJliD,EAAUA,IAC7CsjD,EAAShwC,EAAMtT,GAAGrE,UAAmC,OAAtB2X,EAAMtT,GAAGrE,SAAqB2X,EAAMtT,GAAKzH,EAASG,IAAI60C,iBAAiBj6B,EAAMtT,IAAM0qC,MAAO,OAAO,EAAOvxC,KAAKonD,SACxI+C,GACFhd,EAAQltC,KAAKkqD,EAGjB,OAAQhd,GAAc,OAAIA,EAAU,MAGtCid,kBAAmB,WACjB,GAAIpqD,KAAKslB,cAAe,CACtB,GACI+kC,GAAOpzC,EAAKqzC,EADZt+C,EAAQhM,KAAKsnD,UAEjB,IAAIt7C,EAOF,MANAq+C,GAAQr+C,EAAM4L,eACdX,EAAMjL,EAAM0M,YACZ4xC,EAAQn/C,MAAMhJ,YAAYnC,KAAKiB,KAE/BqpD,EAAM5rC,mBAAmB2rC,GACzBC,EAAM/mD,SAAS8mD,EAAOpzC,GACfqzC,IAKbC,wBAAyB,WACvB,GAAIvqD,KAAKslB,cAAe,CACtB,GAAItZ,GAAQhM,KAAKsnD,WACb+C,EAAQr+C,EAAM4L,eACdX,EAAMjL,EAAM0M,YACZ4xC,EAAQn/C,MAAMhJ,YAAYnC,KAAKiB,IAInC,OAFAqpD,GAAM5rC,mBAAmB2rC,GACzBC,EAAM9mD,OAAO6mD,EAAOpzC,GACbqzC,IAKXE,sBAAuB,SAASC,GAC9B,GAGIC,GAAMC,EAAQC,EAAQC,EADtBC,GAFI3/C,MAAMhJ,YAAYnC,KAAKiB,KACvBjB,KAAK+C,eACQ/C,KAAKoqD,oBAG1B,OAAIU,IACFJ,EAAOI,EAAe3uC;AACtBwuC,EAASD,EAAKzU,YAEV,QAAUzrC,KAAKmgD,GACbF,GACFG,EAAS5qD,KAAKuqD,0BAA0BpuC,gBACxC0uC,EAAWD,EAAO3U,aACV,wBAA0BzrC,KAAKqgD,KAEhC,GAGF,IAGF,GAIXE,wBAAyB,SAASC,GAChC,GAAI9oD,GAAIiJ,MAAMhJ,YAAYnC,KAAKiB,KAC3BI,EAAIrB,KAAK+C,eACTiJ,EAAQhM,KAAKsnD,WACb1nC,EAAY8mC,EAAa16C,EAAM4L,eAAgB5L,EAAM0M,YAEzD,IAAIkH,EAAW,CACb,GAAIA,EAAUtd,WAAalD,EAASoB,UAAW,CAC7C,IAAKof,EAAU7b,WACb,OAAO,CAET,KAAK/D,KAAKslB,eAAkB1F,EAAU7b,WAAWD,aAAe8b,IAAcxgB,EAASG,IAAIqxC,QAAQhxB,EAAUrX,iBAAiBuoC,GAAG9lC,QAC/H,OAAO,CAET,IAAIigD,GAAKjrD,KAAKgB,IAAIyV,iBAAiBmJ,EAAU7b,YAAYmnD,UACzD,OAAe,QAAPD,GAAuB,aAAPA,EAA2C,IAAtBj/C,EAAM0M,YAAoB,QAAUlO,KAAKoV,EAAU1K,KAAK+2B,OAAO,EAAEjgC,EAAM0M,cAC/G,MAAIsyC,IAAqB5rD,EAASG,IAAIqxC,QAAQhxB,GAAWkxB,GAAGhC,aAC1D,GAEP5sC,EAAEwc,mBAAmB1e,KAAKsnD,WAAW1sC,yBACrC1Y,EAAEuc,UAAS,GACHze,KAAKslB,gBAAkBpjB,EAAE0V,iBAAmBvW,EAAE2B,YAAcd,EAAE2V,eAAiBxW,EAAE2B,aAAed,EAAEwW,cAAgBrX,EAAE4B,gBAKlIkoD,qBAAsB,SAASC,GAC3B,GAAIzrD,GAAYK,KAAK+C,eACjBL,EAAO/C,EAAUqD,WACjBwQ,EAAS7T,EAAUsD,YACvB,OAAImoD,IAAU1oD,EACO,IAAX8Q,IAAiB9Q,EAAKF,UAAYE,EAAKF,WAAa4oD,EAAO3V,eAAiBr2C,EAASG,IAAI60C,iBAAiB1xC,EAAKqB,YAAcwtC,MAAO6Z,GAAU,IAC7I1oD,EACU,IAAX8Q,IAAiBxT,KAAK6pD,gBAAgBnnD,GAAM,GAD/C,QAOX2oD,mBAAoB,SAASC,GAC3B,GAG8B3rC,GAAS4rC,EAHnCtjC,EAAMjoB,KAAK+C,eACX6c,EAAaqI,EAAIwF,cAAiBxF,EAAI/kB,UAAY+kB,EAAIjlB,WACtD0V,EAAeuP,EAAIwF,cAAiBxF,EAAI9kB,YAAc8kB,EAAIhlB,aAC1DuoD,EAAMxrD,KAAKmC,aAcf,IAXIyd,GAAoC,IAAvBA,EAAUtd,UAAkB,QAAUkI,KAAKoV,EAAU1K,KAAKvE,MAAM,EAAG+H,MAClFA,EAAc,GAIhB6yC,EAAansD,EAASG,IAAI60C,iBAAiBx0B,GAAa2xB,MAAO,6BAA+B,GAC1Fga,IACF3rC,EAAY2rC,EAAWxnD,WACvB2U,EAAclQ,MAAM9C,UAAUnD,QAAQkG,KAAKmX,EAAUhc,WAAY2nD,IAG/D3rC,EAAW,CACb,GAAIlH,EAAc,EAChB,MAA2B,KAAvBkH,EAAUtd,UACZkpD,EAAIjoD,SAASqc,EAAW,GACxB4rC,EAAIhoD,OAAOoc,EAAWlH,IAEpBjW,KAAM,OACNuJ,MAAOw/C,EACPh4C,OAASkF,EACThW,KAAMkd,KAGR4rC,EAAIntC,eAAeuB,EAAUhc,WAAW,IACxC+b,EAAUC,EAAUhc,WAAW8U,EAAc,GAC7C8yC,EAAIhtC,YAAYmB,IAEdld,KAAM,UACNuJ,MAAOw/C,EACPh4C,OAASkF,EACThW,KAAMid,GAMV,IAFA6rC,EAAIxvC,eAAe4D,EAAW,GAE1B0rC,EAAmB,CACrB,GAAI7Z,GAAWzxC,KAAK6pD,gBAAgBjqC,GAAW,GAC3C6rC,EAAW,IAUf,IARGha,IAECga,EADwB,IAAtBha,EAASnvC,UAAkBlD,EAASG,IAAIstC,SAAS4E,EAAUzxC,KAAKqnD,mBACvD5V,EAEAryC,EAASG,IAAIqxC,QAAQa,GAAUM,gBAI1C0Z,EACF,OACEhpD,KAAM,WACNuJ,MAAOw/C,EACPh4C,OAASkF,EACThW,KAAM+oD,GAKZ,OACEhpD,KAAM,OACNuJ,MAAOw/C,EACPh4C,OAASkF,EACThW,KAAMkd,GAIZ,MAAO,OAIT8rC,uBAAwB,SAASjhD,EAAQkhD,GACvC,GAAI1jC,GAAM9c,MAAMilB,cAAcpwB,KAAKgB,IACnC,IAAKinB,EAGH,IACExd,IACA,MAAM7I,GACNwsC,WAAW,WAAa,KAAMxsC,IAAM,OALtC6I,IAQFU,OAAMmlB,iBAAiBrI,IAIzB2jC,kBAAmB,SAASnhD,EAAQkhD,GAClC,GAMIjE,GACAmE,EACA7kD,EAAa8kD,EACbppD,EAAM0P,EAAOqS,EACbsnC,EAVAzoD,EAAwBtD,KAAKiB,IAAIqC,KACjC0oD,EAAwBL,GAAyBroD,EAAK/B,UACtD0qD,EAAwBN,GAAyBroD,EAAK5B,WACtD2E,EAAwB,6BACxB6lD,EAAwB,gBAAkB7lD,EAAY,KAAOjH,EAASc,gBAAkB,UACxF8L,EAAwBhM,KAAKsnD,UAAS,EAQ1C,KAAKt7C,EAEH,WADAvB,GAAOnH,EAAMA,EAIV0I,GAAMyO,YACTgK,EAASzY,EAAMmU,aACf/N,EAAQqS,EAAOhE,yBAAyByrC,GACxCznC,EAAOhG,UAAS,GAChBgG,EAAOzD,WAAW5O,GAClBqS,EAAO1N,UAGTrU,EAAOsJ,EAAMyU,yBAAyByrC,GACtClgD,EAAMgV,WAAWte,GAEb0P,IACFs1C,EAAmB1nD,KAAKonD,QAAQhiD,iBAAiB,IAAMiB,GACvD2F,EAAMqS,eAAeqpC,EAAiB,IACtC17C,EAAMwS,YAAYkpC,EAAiBA,EAAiB7jD,OAAQ,KAE9D7D,KAAKunD,aAAav7C,EAGlB,KACEvB,EAAOuB,EAAM4L,eAAgB5L,EAAM6L,cACnC,MAAMjW,GACNwsC,WAAW,WAAa,KAAMxsC,IAAM,GAGtC,GADA8lD,EAAmB1nD,KAAKonD,QAAQhiD,iBAAiB,IAAMiB,GACnDqhD,GAAoBA,EAAiB7jD,OAAQ,CAC/CkoD,EAAW5gD,MAAMhJ,YAAYnC,KAAKiB,KAClC+F,EAAc0gD,EAAiB,GAAG1gD,YAC9B0gD,EAAiB7jD,OAAS,IAC5BioD,EAAcpE,EAAiBA,EAAiB7jD,OAAQ,GAAG0E,iBAEzDujD,GAAe9kD,GACjB+kD,EAAS1tC,eAAerX,GACxB+kD,EAASvtC,YAAYstC,KAErBD,EAAsB7rD,KAAKiB,IAAIc,eAAe3C,EAASc,iBACvDX,EAAI+vC,OAAOuc,GAAqBtc,MAAMmY,EAAiB,IACvDqE,EAAS1tC,eAAewtC,GACxBE,EAASvtC,YAAYqtC,IAEvB7rD,KAAKunD,aAAawE,EAClB,KAAK,GAAIllD,GAAI6gD,EAAiB7jD,OAAQgD,KACpC6gD,EAAiB7gD,GAAG9C,WAAWC,YAAY0jD,EAAiB7gD,QAK9D7G,MAAKonD,QAAQljD,OAGXynD,KACFroD,EAAK/B,UAAayqD,EAClB1oD,EAAK5B,WAAauqD,EAIpB,KACEvE,EAAiB3jD,WAAWC,YAAY0jD,GACxC,MAAM5hB,MAGV1J,IAAK,SAAS15B,EAAM8Q,GAClB,GAAIu4C,GAAW5gD,MAAMhJ,YAAYnC,KAAKiB,IACtC8qD,GAASxoD,SAASb,EAAM8Q,GAAU,GAClCxT,KAAKunD,aAAawE,IAWpBtmB,WAAY,SAAS9vB,GACnB,GAGI0L,GAAW8qC,EAHXngD,EAAYhM,KAAKsnD,WACjB5kD,EAAO1C,KAAKiB,IAAIY,cAAc,OAC9B2T,EAAWxV,KAAKiB,IAAIwU,wBAGxB,IAAIzJ,EAAO,CAKT,IAJAA,EAAM6S,iBACNnc,EAAK2S,UAAYM,EACjB0L,EAAY3e,EAAK2e,UAEV3e,EAAKoB,YACV0R,EAASnS,YAAYX,EAAKoB,WAK5B,KAHAkI,EAAMgV,WAAWxL,GAEjB22C,EAAoBnsD,KAAKonD,QAAQ/lC,UAC1B8qC,GAAoD,IAA/BA,EAAkB7pD,UAAkB6pD,EAAkB5jD,iBAAmB,QAAUiC,KAAK2hD,EAAkBj3C,OACpIi3C,EAAoBA,EAAkB5jD,eAGpC8Y,KAEE8qC,GAAqB9qC,IAAc8qC,GAA4C,IAAvB9qC,EAAU/e,UACpEtC,KAAKonD,QAAQ/jD,YAAYrD,KAAKiB,IAAIY,cAAc,OAElD7B,KAAK6nD,SAASxmC,MAYpBL,WAAY,SAASte,GACnB,GAAIsJ,GAAQhM,KAAKsnD,UACbt7C,KACFA,EAAM6S,iBACN7S,EAAMgV,WAAWte,KAIrB0pD,eAAgB,SAAU1pD,GACxB,GAAIM,GAAYqpD,EACZC,GAAgB,OAAQ,OAAQ,KAAM,MAAO,UAAW,QAAS,KAAM,MAAO,QAAS,SAAU,OAAQ,OAAQ,QAAS,SAAU,QAAS,OAC7ItgD,EAAQhM,KAAKsnD,UAQjB,OANAtkD,GAAaN,GAAQsJ,EAAM4L,eAEvB5U,IACFqpD,GAA0BrpD,EAAWoR,SAAWpR,EAAWR,UAAUyL,eAGf,KAAjDq+C,EAAa/pD,QAAQ8pD,IAG9BE,oBAAqB,SAAUtnD,EAAS+b,GACtC,GACIhV,GAAOwgD,EACP1oD,EAAYud,EAAWzd,EAFvBqkB,EAAMjoB,KAAK+C,cAIf,IAAIklB,EAAIS,WAAa,EAAG,CACtB1c,EAAQic,EAAImC,WAAW,GAAGjK,aAE1BnU,EAAMwS,YAAYvZ,GAClBunD,EAAyBxgD,EAAM4S,kBAE/Bhb,EAAa4oD,EAAuB5oD,UAGpC,KAAK,GAAIiD,GAAIjD,EAAWC,OAAQgD,KACzBzH,EAASG,IAAIqxC,QAAQhtC,EAAWiD,IAAIiqC,GAAGK,WAC1Cqb,EAAuBxoD,YAAYJ,EAAWiD,GAIlD5B,GAAQlB,WAAWkP,aAAau5C,EAAwBvnD,EAAQ+B,aAE5Dga,GACFld,EAAakd,EAAWld,YAAckd,EACtCK,EAAYL,EAAWK,WAAaL,EAEpC/b,EAAQlB,WAAWkP,aAAa+N,EAAY/b,EAAQ+B,aAGhDlD,GAAcud,IACfrV,EAAMqS,eAAeva,GACrBkI,EAAMwS,YAAY6C,GAClBrhB,KAAKunD,aAAav7C,MAGrBA,EAAMsS,cAAcrZ,GACpB+G,EAAMwS,YAAYvZ,IAGf7F,EAASG,IAAIqxC,QAAQ3rC,GAAS6rC,GAAGK,YACS,KAAzC/xC,EAASG,IAAI8xC,eAAepsC,GAC9BA,EAAQlB,WAAWC,YAAYiB,GAE/BA,EAAQlB,WAAWyrC,aAAaxvC,KAAKiB,IAAIc,eAAe,KAAMkD,MAatEwnD,SAAU,SAASC,GACjB,GACIhqD,GADAunB,EAASjqB,KAAK6oD,eACR1uC,IACV,IAAqB,GAAjB8P,EAAOpmB,OACT,MAAOsW,EAGT,KAAK,GAAItT,GAAIojB,EAAOpmB,OAAQgD,KAAM,CAChCnE,EAAO1C,KAAKiB,IAAIY,cAAc6qD,EAAYlqD,UAC1C2X,EAAMla,KAAKyC,GACPgqD,EAAYrmD,YACd3D,EAAK2D,UAAYqmD,EAAYrmD,WAE3BqmD,EAAYC,UACdjqD,EAAKU,aAAa,QAASspD,EAAYC,SAEzC,KAEE1iC,EAAOpjB,GAAGqa,iBAAiBxe,GAC3B1C,KAAK2e,WAAWjc,GAChB,MAAMd,GAENc,EAAKW,YAAY4mB,EAAOpjB,GAAG+X,mBAC3BqL,EAAOpjB,GAAGma,WAAWte,IAGzB,MAAOyX,IAUTyyC,eAAgB,WACd,GASIrG,GATAtlD,EAAgBjB,KAAKiB,IACrB4rD,EAAgB,EAChBC,EAAgB7rD,EAAI0E,gBAAgBonD,aAAe9rD,EAAI0E,gBAAgB05C,aACvElT,EAAgBlrC,EAAI+rD,+BAAiC/rD,EAAI+rD,gCAAkC,WACzF,GAAI/nD,GAAUhE,EAAIY,cAAc,OAGhC,OADAoD,GAAQoQ,UAAYjW,EAASc,gBACtB+E,IAIT6nD,KACF9sD,KAAKghB,WAAWmrB,GAChBoa,EAAYD,EAAwBna,GACpCA,EAAYpoC,WAAWC,YAAYmoC,GAC/Boa,GAActlD,EAAIqC,KAAK/B,UAAYN,EAAI0E,gBAAgB05C,aAAewN,IACxE5rD,EAAIqC,KAAK/B,UAAYglD,KAQ3B0G,WAAY,WACV,GAAI/qD,GAAIiJ,MAAMhJ,aACV/C,GAASyjC,QAAQ6D,0BACnB1mC,KAAKktD,kBACIhrD,EAAE8hB,aAAe9hB,EAAE8hB,YAAYmpC,uBAExCntD,KAAKotD,wBAITC,yBAA0B,WACxB,GAAIhsD,GAAIrB,KAAK+C,eACTb,EAAIb,EAAE+oB,WAAW,GACjBkjC,EAAe,SAAS5qD,GACtB,MAAQA,IAA0B,IAAlBA,EAAKJ,UAAkBI,EAAKkqC,UAAUjmC,SAAS,2BAEjEsL,EAAgB,SAAUvP,GACxB,MAAsB,KAAlBA,EAAKJ,SACAI,EAAKkB,YAAclB,EAAKkB,WAAWC,QAAU,EAE7CnB,EAAKwS,MAAQxS,EAAKwS,KAAKrR,QAAU,GAG5C4D,EAAkC,IAA1BpG,EAAE2B,WAAWV,SAAiBjB,EAAE2B,WAAWY,WAAWvC,EAAE4B,cAAgB5B,EAAE2B,WAClF6E,EAAiC,IAAzBxG,EAAE6B,UAAUZ,SAAiBjB,EAAE6B,UAAUU,WAAWvC,EAAE8B,aAAe9B,EAAE6B,SAE/E2E,IAASxG,EAAE8B,cAAgB8O,EAAcpK,IAAUA,EAAMb,aAAesmD,EAAazlD,EAAMb,cAC7F9E,EAAEsc,YAAY3W,EAAMb,aAElBS,GAA4B,IAAnBpG,EAAE4B,cAAsBwE,EAAMc,iBAAmB+kD,EAAa7lD,EAAMc,kBAC/ErG,EAAEmc,eAAe5W,EAAMc,iBAEzBrG,EAAEunB,UAMJyjC,gBAAiB,WACf,GAAIvtD,GAAYK,KAAKgB,IAAI+B,eACrBwqD,GAAkB5tD,EAAUqD,WAAYrD,EAAUsD,aAActD,EAAUuD,UAAWvD,EAAUwD,YAEnGxD,GAAU6tD,OAAO,OAAQ,OAAQ,gBACjC7tD,EAAU6tD,OAAO,SAAU,QAAS,gBAGhC7tD,EAAUqD,aAAeuqD,EAAe,IACxC5tD,EAAUsD,eAAiBsqD,EAAe,IAC1C5tD,EAAUuD,YAAcqqD,EAAe,IACvC5tD,EAAUwD,cAAgBoqD,EAAe,GAE3CvtD,KAAKotD,uBAELptD,KAAKqtD,4BAKTI,eAAgB,SAAUC,EAAUjvC,GAElC,GADAA,EAAgC,mBAAbA,IAA4B,EAAQA,EACnDrf,EAASyjC,QAAQ6D,0BAA2B,CAC9C,GAAI/mC,GAAYK,KAAKgB,IAAI+B,cAEzBpD,GAAU6tD,OAAO,SAAUE,EAAU,gBACjCjvC,IACe,SAAbivC,EACF/tD,EAAUguB,kBACY,UAAb+/B,GACT/tD,EAAUiuB,mBAMlB+/B,aAAc,SAASzrD,GACrB,GAEI0rD,GADAC,GADW7tD,KAAKiB,IAAIc,eAAe,KACxB/B,KAAKiB,IAAIc,eAAe,KAmBvC,OAVIG,GAAEuY,WACJvY,EAAE8e,WAAW6sC,GACb3rD,EAAEyc,WAAWkvC,GACbD,EAAO1rD,EAAE8hB,YAAYmpC,wBACrBjrD,EAAE2c,kBAGF+uC,EAAO1rD,EAAE8hB,YAAYmpC,wBAGhBS,GAITR,qBAAsB,WACpB,GAEIQ,GACAzmC,EAAYC,EAEZ0mC,EAAQC,EAAUC,EALlB3sD,EAAIrB,KAAK+C,eACTb,EAAIb,EAAE+oB,WAAW,GAGjBgN,EAAQ,EAER4W,EAAOhuC,KACPiuD,EAAwB,SAASv9C,GAC/B,MAAOA,IAAsB,IAAhBA,EAAGpO,WAA6D,UAA1C0rC,EAAKhtC,IAAIyV,iBAAiB/F,GAAI+e,SAAuBrwB,EAASM,KAAKmoC,OAAO,KAAM,OAAOlhC,SAAS+J,EAAGlO,YAExIivC,EAAW,SAAS/uC,GAClB,GAAIwrD,GAAQxrD,CACZ,IAAIwrD,EACF,KAAOA,IAA8B,IAAnBA,EAAM5rD,UAAkB4rD,EAAMthB,UAAUjmC,SAAS,2BAAkD,IAAnBunD,EAAM5rD,UAAkB,QAAUkI,KAAK0jD,EAAMh5C,QAC7Ig5C,EAAQA,EAAM3lD,eAGlB,OAAO2lD,GAGb/mC,GAAajlB,EAAEie,aACfiH,EAAWllB,EAAEie,aAETje,EAAEuY,YAG8B,IAA9BvY,EAAE0V,eAAetV,UAAkBJ,EAAEwW,YAAcxW,EAAE0V,eAAe1C,KAAKrR,OAC3E3B,EAAE6+B,QAAQ,YAAa,GACgB,IAA9B7+B,EAAE0V,eAAetV,UAAkBJ,EAAE0V,eAAehU,WAAW1B,EAAEwW,cAAwE,IAAxDxW,EAAE0V,eAAehU,WAAW1B,EAAEwW,aAAapW,UAAkBJ,EAAE0V,eAAehU,WAAW1B,EAAEwW,aAAaxD,KAAKrR,OAAS,EAChN3B,EAAE6+B,QAAQ,YAAa,GAEvB7+B,EAAEwW,YAAc,IAEgB,IAA9BxW,EAAE0V,eAAetV,UAEe,IAA9BJ,EAAE0V,eAAetV,WAChB2rD,EAAsBxc,EAASvvC,EAAE0V,eAAehU,WAAW1B,EAAEwW,YAAc,OAIhFxW,EAAEykB,UAAU,YAAa,KAGxBzkB,EAAEuY,WACLvY,EAAE8e,WAAWhhB,KAAKiB,IAAIc,eAAe3C,EAASc,kBAIhD0tD,EAAO1rD,EAAE8hB,YAAYmpC,uBAErB,GACEW,GAAS5rD,EAAEykB,UAAU,YAAa,IAClConC,EAAY7rD,EAAE8hB,YAAYmpC,wBAErBY,GAAY3nC,KAAKC,MAAM0nC,EAAS7Y,OAAS9uB,KAAKC,MAAMunC,EAAK1Y,OAC5DhzC,EAAEykB,UAAU,YAAa,GACzBqnC,GAAQ,GAEV52B,UACkB,IAAX02B,IAAiBE,GAAiB,IAAR52B,EAKnC,IAJAA,EAAQ,EACR42B,GAAQ,EACRJ,EAAO1rD,EAAE8hB,YAAYmpC,wBAEjBjrD,EAAE2V,eAAiB7X,KAAKonD,SAAYpnD,KAAKonD,QAAQ/lC,WAAarhB,KAAKonD,QAAQxjD,WAAW1B,EAAEyW,aAAe3Y,KAAKonD,QAAQ/lC,UACtH,EACEysC,GAAS5rD,EAAE6+B,QAAQ,YAAa,GAChCgtB,EAAY7rD,EAAE8hB,YAAYmpC,wBACrBY,GAAY3nC,KAAKC,MAAM0nC,EAASI,UAAY/nC,KAAKC,MAAMunC,EAAKO,UAC/DjsD,EAAE6+B,QAAQ,YAAa,IAInB7+B,EAAE2V,cAA4C,IAA5B3V,EAAE2V,aAAavV,UAAkBJ,EAAE2V,aAAajU,WAAW1B,EAAEyW,YAAkE,IAApDzW,EAAE2V,aAAajU,WAAW1B,EAAEyW,WAAWrW,UAAsE,OAApDJ,EAAE2V,aAAajU,WAAW1B,EAAEyW,WAAWnW,UAAqBN,EAAE2V,aAAajU,WAAW1B,EAAEyW,WAAWpQ,kBACnL,IAApErG,EAAE2V,aAAajU,WAAW1B,EAAEyW,WAAWpQ,gBAAgBjG,SACzDJ,EAAEsB,OAAOtB,EAAE2V,aAAajU,WAAW1B,EAAEyW,WAAWpQ,gBAAiBrG,EAAE2V,aAAajU,WAAW1B,EAAEyW,WAAWpQ,gBAAgB3E,WAAWC,QACtD,IAApE3B,EAAE2V,aAAajU,WAAW1B,EAAEyW,WAAWpQ,gBAAgBjG,UAChEJ,EAAEsB,OAAOtB,EAAE2V,aAAajU,WAAW1B,EAAEyW,WAAWpQ,gBAAiBrG,EAAE2V,aAAajU,WAAW1B,EAAEyW,WAAWpQ,gBAAgB2M,KAAKrR,SAGjImqD,GAAQ,GAEV52B,UACkB,IAAX02B,IAAiBE,GAAiB,IAAR52B,EAErCl1B,GAAEunB,SACFzpB,KAAKqtD,4BAGPe,QAAS,WACP,GAAIzuD,GAAYK,KAAK+C,cACrB,OAAOpD,GAAYA,EAAUyK,WAAa,IAG5CsY,SAAU,SAASpgB,EAAUwX,GAC3B,GAAI9N,GAAQhM,KAAKsnD,UACjB,OAAIt7C,GACKA,EAAM0W,SAASla,MAAMu/B,QAAQzlC,GAAYA,GAAYA,GAAWwX,OAS3Eu0C,YAAa,SAAS/rD,EAAUwX,EAAQw0C,GAGtC,IAAK,GAFDrkC,GAASjqB,KAAK6oD,eACd1uC,KACKjY,EAAI,EAAGqsD,EAAOtkC,EAAOpmB,OAAY0qD,EAAJrsD,EAAUA,IAC1C+nB,EAAO/nB,KACLosD,GACFrkC,EAAO/nB,GAAG8c,kBAEZ7E,EAAQA,EAAMlT,OAAOgjB,EAAO/nB,GAAGwgB,SAASla,MAAMu/B,QAAQzlC,GAAYA,GAAYA,GAAWwX,IAI7F,OAAOK,IAGTq0C,iBAAkB,SAASxiD,GACzB,GAAIhM,KAAKonD,SAAWpnD,KAAKonD,QAAQtjD,YAAckI,EAAO,CACpD,GAAIyiD,GAAcziD,EAAMwV,YAAYxhB,KAAKonD,QACzC,IAAoB,IAAhBqH,EACkB,IAAhBA,GACFziD,EAAMqS,eAAere,KAAKonD,QAAQtjD,YAEhB,IAAhB2qD,GACFziD,EAAMwS,YAAYxe,KAAKonD,QAAQ/lC,WAEb,IAAhBotC,IACFziD,EAAMqS,eAAere,KAAKonD,QAAQtjD,YAClCkI,EAAMwS,YAAYxe,KAAKonD,QAAQ/lC,gBAE5B,IAAIrhB,KAAK0uD,2BAA2B1iD,GAAQ,CACjD,GAAI2iD,GAAyB3iD,EAAM6L,aAAa82C,sBAC5CA,IACF3iD,EAAMxI,OAAOmrD,EAAwB3uD,KAAK4uD,kBAAkBD,OAMpEC,kBAAmB,SAASlsD,GAC1B,GAAIsJ,GAAQ5J,SAASD,aAErB,OADA6J,GAAM0S,mBAAmBhc,GAClBsJ,EAAM2M,WAGf+1C,2BAA4B,SAAS1iD,GACnC,GAAIuH,GAAWhU,EAAI6I,wBAAwB4D,EAAM4L,eAAgB5L,EAAM6L,aACvE,OACqB,IAAnB7L,EAAM2M,WACK,EAAXpF,GAIJ+zC,SAAU,SAASuH,GACjB,GAAIlvD,GAAYK,KAAK+C,eACjBiJ,EAAQrM,GAAaA,EAAU+oB,YAAc/oB,EAAUyqB,WAAW,EAMtE,OAJIykC,MAAY,GACd7uD,KAAKwuD,iBAAiBxiD,GAGjBA,GAGTq9C,kBAAmB,WACjB,GAAIyF,GAAiBvvD,EAAIgyC,MAAMvxC,KAAKonD,QAAS,IAAMpnD,KAAKqnD,mBACpD0H,EAAkBxvD,EAAIgyC,MAAMud,EAAgB,IAAM9uD,KAAKqnD,kBAE3D,OAAOjoD,GAASM,KAAKmoC,MAAMinB,GAAgB9mB,QAAQ+mB,IAMrDlG,aAAc,WACZ,GAEImG,GAFA/kC,KACA/nB,EAAIlC,KAAKsnD,UAKb,IAFIplD,GAAK+nB,EAAOhqB,KAAKiC,GAEjBlC,KAAKqnD,mBAAqBrnD,KAAKonD,SAAWllD,EAAG,CAC/C,GACI+sD,GADA7F,EAAcppD,KAAKqpD,mBAEvB,IAAID,EAAYvlD,OAAS,EACvB,IAAK,GAAIgD,GAAI,EAAGs1C,EAAOiN,EAAYvlD,OAAYs4C,EAAJt1C,EAAUA,IAAK,CACxDmoD,IACA,KAAK,GAAIlc,GAAI,EAAGoc,EAAOjlC,EAAOpmB,OAAYqrD,EAAJpc,EAAUA,IAAK,CACnD,GAAI7oB,EAAO6oB,GACT,OAAQ7oB,EAAO6oB,GAAGtxB,YAAY4nC,EAAYviD,KACxC,IAAK,GAEL,KACA,KAAK,GAEHooD,EAAWhlC,EAAO6oB,GAAG3yB,aACrB8uC,EAAS1wC,aAAa6qC,EAAYviD,IAClCmoD,EAAU/uD,KAAKgvD,GAEfA,EAAWhlC,EAAO6oB,GAAG3yB,aACrB8uC,EAAS3wC,cAAc8qC,EAAYviD,IACnCmoD,EAAU/uD,KAAKgvD,EACjB,MACA,SAEED,EAAU/uD,KAAKgqB,EAAO6oB,IAG5B7oB,EAAS+kC,IAKjB,MAAO/kC,IAGTlnB,aAAc,WACZ,MAAOoI,OAAMpI,aAAa/C,KAAKgB,MAMjCumD,aAAc,SAASv7C,GACrB,GAAIrM,GAAYwL,MAAMpI,aAAa/C,KAAKgB,IAExC,OADArB,GAAU0qB,eAAere,GACjBrM,GAAaA,EAAUqD,YAAcrD,EAAUuD,UAAavD,EAAY,MAMlFwvD,UAAW,WACT,GAKI9tD,GALA2K,EAAQhM,KAAKmC,cACbuyC,EAAW10C,KAAK00C,SAChB1G,EAAOhuC,KACPovD,EAAezI,EAA0B3mD,KAAK00C,SAASzvC,SACvDoqD,EAAiB1I,EAA0B3mD,KAAK00C,SAASzvC,SAGzDqqD,EAAW,WACbtjD,EAAMzI,SAASmxC,EAASzvC,QAAS,GACjC+G,EAAMxI,OAAOkxC,EAASzvC,QAASyvC,EAASzvC,QAAQrB,WAAWC,QAC3DxC,EAAI2sC,EAAKuZ,aAAav7C,IAGpBujD,EAAc,WAChB,OAAQluD,GAAMA,EAAEmnB,iBAAmBnnB,EAAEmnB,gBAAgB/lB,OAAoC,UAA3BpB,EAAEmnB,gBAAgB/lB,MAA+C,SAA3BpB,EAAEmnB,gBAAgB/lB,MAGxHrD,GAASG,IAAIigD,sBAAsBx/C,KAAK00C,SAASzvC,SACjDqqD,IAEItvD,KAAK00C,SAASzvC,QAAQnB,YAAcyrD,MAEtCvvD,KAAK00C,SAASzvC,QAAQ5B,YAAY+rD,GAClCE,IAEIC,MAEFH,EAAarrD,WAAWC,YAAYorD,GAGpCpvD,KAAK00C,SAASzvC,QAAQgO,aAAao8C,EAAgBrvD,KAAK00C,SAASzvC,QAAQnB,YACzEwrD,IAEIC,MAEFvvD,KAAK00C,SAASzvC,QAAQ5B,YAAY+rD,GAClCE,QAMRntD,YAAa,WACX,MAAOgJ,OAAMhJ,YAAYnC,KAAKiB,MAGhCqkB,YAAa,WACT,MAAOtlB,MAAK+C,eAAeuiB,aAG/BkqC,QAAS,WACP,MAAOxvD,MAAK+C,eAAe2e,UAG7B+tC,aAAc,WACZ,MAAOzvD,MAAK+C,eAAeqH,YAG7BslD,iBAAkB,SAASC,GACzB,GAAI3jD,GAAQhM,KAAKsnD,WACb/hD,EAAgByG,EAAM4O,wBACtBgF,EAAY5T,EAAM4L,eAClB+H,EAAU3T,EAAM6L,YAOlB,IAJItS,EAAcjD,WAAalD,EAASoB,YACtC+E,EAAgBA,EAAcxB,YAG5B6b,EAAUtd,WAAalD,EAASoB,YAAc,QAAUgK,KAAKoV,EAAU1K,KAAK+2B,OAAOjgC,EAAM0M,cAC3F,OAAO,CAGT,IAAIiH,EAAQrd,WAAalD,EAASoB,YAAc,QAAUgK,KAAKmV,EAAQzK,KAAK+2B,OAAOjgC,EAAM2M,YACvF,OAAO,CAGT,MAAOiH,GAAaA,IAAcra,GAAe,CAC/C,GAAIqa,EAAUtd,WAAalD,EAASoB,YAAcpB,EAASG,IAAIoH,SAASpB,EAAeqa,GACrF,OAAO,CAET,IAAIxgB,EAASG,IAAIqxC,QAAQhxB,GAAW4xB,MAAMG,kBAAkB,IAC1D,OAAO,CAET/xB,GAAYA,EAAU7b,WAGxB,KAAO4b,GAAWA,IAAYpa,GAAe,CAC3C,GAAIoa,EAAQrd,WAAalD,EAASoB,YAAcpB,EAASG,IAAIoH,SAASpB,EAAeoa,GACnF,OAAO,CAET,IAAIvgB,EAASG,IAAIqxC,QAAQjxB,GAAS7I,MAAM66B,kBAAkB,IACxD,OAAO,CAEThyB,GAAUA,EAAQ5b,WAGpB,MAAQ3E,GAASM,KAAKmoC,MAAM8nB,GAAWhpD,SAASpB,EAAc/C,UAAa+C,GAAgB,GAG/FqqD,iBAAkB,WAChB,GAAI3nC,GAAMjoB,KAAK+C,eACX8E,EAAQogB,EAAI/kB,UACZuE,EAAQwgB,EAAIjlB,UAWhB,OARI6E,IAA4B,IAAnBA,EAAMvF,WACjBuF,EAAQA,EAAM9D,YAGZ0D,GAA4B,IAAnBA,EAAMnF,WACjBmF,EAAQA,EAAM1D,YAGT0D,GAASI,IACRzI,EAASG,IAAIoH,SAAS3G,KAAK00C,SAASzvC,QAAS4C,IAAU7H,KAAK00C,SAASzvC,UAAY4C,KACjFzI,EAASG,IAAIoH,SAAS3G,KAAK00C,SAASzvC,QAASwC,IAAUzH,KAAK00C,SAASzvC,UAAYwC,IAG3FooD,SAAU,WACR,GAAI5nC,GAAMjoB,KAAK+C,cACfklB,IAAOA,EAAIxkB,sBAIdrE,UAQHA,SAAS0wD,SAAWxmD,KAAKC,QAEvBM,YAAa,SAAS84C,GACpB3iD,KAAK2iD,OAAWA,EAChB3iD,KAAK00C,SAAWiO,EAAOjO,SACvB10C,KAAKiB,IAAWjB,KAAK00C,SAASzzC,KAUhC8uD,QAAS,SAASrqB,GAChB,MAAOtmC,UAASyjC,QAAQuC,gBAAgBplC,KAAKiB,IAAKykC,IAWpDnU,KAAM,SAASmU,EAASx/B,GACtB,GAAIkK,GAAUhR,SAASE,SAASomC,GAC5BvnB,EAAU/e,SAASM,KAAKmoC,MAAM79B,WAAWjE,MACzC0E,EAAU2F,GAAOA,EAAImhB,KACrBN,EAAU,IAWd,IAPIjxB,KAAK00C,SAASwO,sBAAwB9jD,SAASM,KAAKmoC,OAAO,eAAgB,uBAAwB,6BAA6BlhC,SAAS++B,KAC3I1lC,KAAK00C,SAASzvC,QAAQoQ,UAAY,GAClCrV,KAAK00C,SAAS/0C,UAAUgf,WAAW3e,KAAK00C,SAASzvC,UAGnDjF,KAAK2iD,OAAOxZ,KAAK,0BAEb1+B,EACF0T,EAAKqV,QAAQxzB,KAAK00C,UAClBzjB,EAASxmB,EAAOrG,MAAMgM,EAAK+N,OAE3B,KAEE8S,EAASjxB,KAAKiB,IAAI+iC,YAAY0B,GAAS,EAAOx/B,GAC9C,MAAMtE,IAIV,MADA5B,MAAK2iD,OAAOxZ,KAAK,yBACVlY,GAGTzrB,OAAQ,SAASkgC,EAASsqB,GACxB,GAAI5/C,GAAUhR,SAASE,SAASomC,GAC5BvnB,EAAU/e,SAASM,KAAKmoC,MAAM79B,WAAWjE,MACzC0E,EAAU2F,GAAOA,EAAI5K,MACzB,OAAIiF,IACF0T,EAAKqV,QAAQxzB,KAAK00C,UACXjqC,EAAOrG,MAAMgM,EAAK+N,IAF3B,QAgBF8xC,MAAO,SAASvqB,EAASsqB,GACvB,GAAI5/C,GAAUhR,SAASE,SAASomC,GAC5BvnB,EAAU/e,SAASM,KAAKmoC,MAAM79B,WAAWjE,MACzC0E,EAAU2F,GAAOA,EAAI6/C,KACzB,IAAIxlD,EAEF,MADA0T,GAAKqV,QAAQxzB,KAAK00C,UACXjqC,EAAOrG,MAAMgM,EAAK+N,EAEzB,KAEE,MAAOne,MAAKiB,IAAIijC,kBAAkBwB,GAClC,MAAM9jC,GACN,OAAO,IAMbsuD,WAAY,SAASxqB,GACnB,GAAIt1B,GAAUhR,SAASE,SAASomC,GAC5BvnB,EAAU/e,SAASM,KAAKmoC,MAAM79B,WAAWjE,MACzC0E,EAAU2F,GAAOA,EAAI8/C,UACzB,OAAIzlD,IACF0T,EAAKqV,QAAQxzB,KAAK00C,UACXjqC,EAAOrG,MAAMgM,EAAK+N,KAElB,KAKb,SAAU/e,GAOR,QAAS+wD,GAAWjqD,GAClB,GAAIuK,GAA2B,gBAAVvK,GAAqBA,GAAS23C,KAAQ33C,EAC3D,OAAO9G,GAASM,KAAKqL,WAAWw+B,MAAMmjB,GAAanjB,OAAOwG,UAAat/B,IAAU1K,MAPnF,GAAI2mD,IACFlqD,SAAU,IACVkE,QAAQ,EAQVtH,GAASE,SAAS8wD,YAChB7+B,KAAM,SAASmjB,EAAUhP,EAASx/B,GAChC,GAAImqD,GAAOF,EAAWjqD,EAEtB,IAAIwuC,EAAS/0C,UAAU2lB,gBAAkBtlB,KAAKiwD,MAAMvb,EAAUhP,GAAU,CACtE,GAAIpvB,GAAWo+B,EAASzzC,IAAIc,eAAesuD,EAAKtgB,UAAU8N,KAC1DnJ,GAAS/0C,UAAUqhB,WAAW1K,GAC9Bo+B,EAAS/0C,UAAUgf,WAAWrI,GAEhClX,EAASE,SAASgxD,aAAa/+B,KAAKmjB,EAAUhP,EAAS2qB,IAGzDJ,MAAO,SAASvb,EAAUhP,GACxB,MAAOtmC,GAASE,SAASgxD,aAAaL,MAAMvb,EAAUhP,EAASgnB,MAIlEttD,UAOH,SAAUA,GASR,QAASmxD,GAAiC9/C,GACxC,OACEjO,SAAUiO,EAAQjO,UAAY,KAC9B6D,UAAaoK,EAAQiiC,YAA2C,KAA5BjiC,EAAQpK,WAAa,KACzDqsC,YAAajiC,EAAQiiC,aAAe,KACpCC,cAAeliC,EAAQkiC,eAAiB,MAI5C,QAAS+T,GAAahkD,EAAM8Q,GAC1B,MAAsB,KAAlB9Q,EAAKJ,SACAI,EAEAA,EAAKkB,WAAW4P,IAAW9Q,EAKtC,QAAS47B,GAAKn3B,GACZ,MAAOA,IAAoB,IAAfA,EAAE7E,UAAiC,OAAf6E,EAAE3E,SAIpC,QAASguD,GAAQrpD,EAAGutC,GAClB,MAAOvtC,IAAoB,IAAfA,EAAE7E,UAA+D,UAA7CoyC,EAAS1zC,IAAIyV,iBAAiBtP,GAAGsoB,QAInE,QAASghC,GAAWtpD,GAClB,MAAOA,IAAoB,IAAfA,EAAE7E,UAAkB6E,EAAEylC,UAAUjmC,SAAS,0BAIvD,QAAS+pD,GAAevpD,EAAGutC,GACzB,MAAOpW,GAAKn3B,IAAMqpD,EAAQrpD,EAAGutC,GAI/B,QAASic,GAAQjc,EAAUkc,GACzBxxD,EAASG,IAAIigD,sBAAsB9K,EAASzvC,QAQ5C,KAAK,GAFD4rD,GALA30C,EAAYw4B,EAASzvC,QACrB6rD,EAAc50C,EAAU9W,iBAAiB2rD,GACzCC,EAActc,EAAStnC,OAAO6jD,WAAWC,qBAAwB,IAAKjqD,OAAO8pD,EAAezqD,MAAM,MAAMC,KAAK,KAAOmuC,EAAStnC,OAAO6jD,WAAWC,oBAAsB,KACrK9H,EAAcltC,EAAU9W,iBAAiB4rD,GACzC9rD,EAAW9F,EAASM,KAAKmoC,MAAMipB,GAAa9oB,QAAQohB,GAG/CviD,EAAI3B,EAASrB,OAAQgD,KAC2B,KAAnD3B,EAAS2B,GAAGwO,UAAUqR,QAAQ,YAAa,KAA2C,IAA5BkqC,EAAiB/sD,QAAgBqB,EAAS2B,KAAO+pD,EAAiBA,EAAiB/sD,OAAS,KAExJgtD,EAAQzxD,EAASM,KAAKmoC,MAAM+oB,GAAkBruD,QAAQ2C,EAAS2B,IAC3DgqD,EAAQ,IACVD,EAAiBnqD,OAAOoqD,EAAO,GAEjC3rD,EAAS2B,GAAG9C,WAAWC,YAAYkB,EAAS2B,IAIhD,OAAO+pD,GAGT,QAASO,GAAgBzc,GACvB,MAAOA,GAAStnC,OAAO4yC,cAAgB,MAAQ,IAIjD,QAASoR,GAAe1uD,EAAMwZ,EAAWm1C,GAIvC,IAHA,GAAIlqD,GAAIzE,EACJsI,EAAQ,KAEL7D,GAAK+U,GAAa/U,IAAM+U,GACV,IAAf/U,EAAE7E,UAAkB6E,EAAExC,QAAQ0sD,EAAYN,EAAiBO,KAC7DtmD,EAAQ7D,GAEVA,EAAIA,EAAEpD,UAGR,OAAOiH,GAKT,QAASumD,GAAkB7uD,EAAMwZ,GAO/B,IANA,GACIs1C,GACAztD,EAEA0tD,EAJAtqD,EAAIzE,EAGJgO,EAAK,KAGFvJ,GAAK+U,GAAa/U,IAAM+U,GACV,IAAf/U,EAAE7E,UAAkB6E,EAAExC,QAAQ+sD,KAChC3tD,EAAaoD,EACF,OAAPuJ,GACFA,EAAKvJ,EAAEkM,WAAU,GACjBm+C,EAAY9gD,IAEZ+gD,EAAMtqD,EAAEkM,WAAU,GAClBo+C,EAAIpuD,YAAYqN,GAChBA,EAAK+gD,IAGTtqD,EAAIA,EAAEpD,UAGR,QACEgO,OAAQhO,EACR4tD,UAAWjhD,EACX8gD,UAAWA,GAOf,QAASI,GAAsB3sD,EAASwL,EAASikC,GAwB/C,MAtBKzvC,KACHA,EAAUyvC,EAASzzC,IAAIY,cAAc4O,EAAQjO,UAAY2uD,EAAgBzc,IAEzEzvC,EAAQ5B,YAAYqxC,EAASzzC,IAAIc,eAAe3C,EAASc,mBAGvDuQ,EAAQjO,UAAYyC,EAAQzC,WAAaiO,EAAQjO,WACnDyC,EAAU1F,EAAIkgD,cAAcx6C,EAASwL,EAAQjO,WAI3CiO,EAAQiiC,cACVztC,EAAQoB,UAAYpB,EAAQoB,UAAUqgB,QAAQjW,EAAQiiC,YAAa,KAEjEjiC,EAAQpK,WACVpB,EAAQ2nC,UAAUpmC,IAAIiK,EAAQpK,WAG5BoK,EAAQkiC,eAA+C,mBAAvBliC,GAAQuiC,aAC1C/tC,EAAQsqB,MAAMnwB,EAASyjC,QAAQ6E,YAAYj3B,EAAQkiC,gBAAkBliC,EAAQuiC,YAGxE/tC,EAKT,QAAS4sD,GAAyB5sD,EAASwL,EAASikC,GAClD,GAAInlB,GACAkiB,EAAWxsC,EAAQsD,gBACnByK,EAAW/N,EAAQ+B,YACnB8qD,GAAY,CAEZrhD,GAAQkiC,gBACV1tC,EAAQsqB,MAAMnwB,EAASyjC,QAAQ6E,YAAYj3B,EAAQkiC,gBAAkB,IAEnEliC,EAAQpK,WACVpB,EAAQ2nC,UAAUpnC,OAAOiL,EAAQpK,WAG/BoK,EAAQiiC,cACVztC,EAAQoB,UAAYpB,EAAQoB,UAAUqgB,QAAQjW,EAAQiiC,YAAa,KAI/B,OAAlCztC,EAAQkhC,aAAa,UAA8D,KAAzClhC,EAAQkhC,aAAa,SAAS7K,QAC1Er2B,EAAQ8sD,gBAAgB,SAGtBthD,EAAQjO,UAAYyC,EAAQzC,SAASyL,gBAAkBwC,EAAQjO,SAASyL,gBAC1EshB,EAAQtqB,EAAQkhC,aAAa,SACxB5W,GAA0B,KAAjBA,EAAM+L,OAIlBr2B,EAAU1F,EAAIkgD,cAAcx6C,EAASksD,EAAgBzc,KAHrDn1C,EAAIu6C,OAAO70C,GACX6sD,GAAY,IAOsB,OAAlC7sD,EAAQkhC,aAAa,UAA8D,KAAzClhC,EAAQkhC,aAAa,SAAS7K,QAC1Er2B,EAAQ8sD,gBAAgB,SAGtBD,GACFE,EAA2BvgB,EAAUz+B,EAAU0hC,GAMnD,QAASud,GAAwBhtD,GAI/B,IAAK,GAFDitD,GAAQC,EADRC,EAASntD,EAAQG,iBAAiB2rD,OAG7BlqD,EAAIurD,EAAOvuD,OAAQgD,KAC1BqrD,EAAS9yD,EAASG,IAAIqxC,QAAQwhB,EAAOvrD,IAAIiQ,MAAM+C,WAAY,EAAE,GAAI83B,kBAAkB,IACnFwgB,EAAS/yD,EAASG,IAAIqxC,QAAQwhB,EAAOvrD,IAAI2qC,MAAM33B,WAAY,EAAE,GAAI83B,kBAAkB,IAE/EugB,GAA8B,IAApBA,EAAO5vD,UAAsC,OAApB4vD,EAAO1vD,UACsB,MAA7D4vD,EAAOvrD,GAAGwO,WAAa+8C,EAAOvrD,GAAGsB,WAAa,IAAImzB,QACrD82B,EAAOvrD,GAAG9C,WAAWkP,aAAam/C,EAAOvrD,GAAG1B,cAActD,cAAc,MAAOqwD,GAG/EA,GAA8B,IAApBA,EAAO5vD,UAAsC,OAApB4vD,EAAO1vD,UACsB,MAA7D4vD,EAAOvrD,GAAGwO,WAAa+8C,EAAOvrD,GAAGsB,WAAa,IAAImzB,QACrD82B,EAAOvrD,GAAG9C,WAAWkP,aAAam/C,EAAOvrD,GAAG1B,cAActD,cAAc,MAAOqwD,GAGnF9yD,EAASG,IAAIu6C,OAAOsY,EAAOvrD,IAK/B,QAASwrD,GAAiBrmD,EAAO0oC,GAC/B,GAAIhyC,GACAC,EAAQqJ,EAAM4L,eACd/U,EAAMmJ,EAAM6L,YAIhB,OAAIlV,IAA4B,IAAnBA,EAAML,UAAkBK,IAAUE,OACzCF,EAAMmB,aAAenB,EAAM0e,WAAiC,IAApBrV,EAAM2M,WAC5ChW,IAAU+xC,EAASzvC,SAA8B,OAAnBtC,EAAMH,UAAwC,OAAnBG,EAAMH,WACjEwJ,EAAMqS,eAAe1b,GACrBqJ,EAAMwS,YAAY3b,KAOpBF,GAA4B,IAAnBA,EAAML,UAAmC,IAAjBO,EAAIP,cACnCK,EAAMmB,aAAejB,GAAOmJ,EAAM2M,YAAc9V,EAAIqS,KAAKrR,QACvDlB,IAAU+xC,EAASzvC,SAA8B,OAAnBtC,EAAMH,UAAwC,OAAnBG,EAAMH,UACjEwJ,EAAMwS,YAAY7b,IAOpBE,GAAwB,IAAjBA,EAAIP,UAAqC,IAAnBK,EAAML,cACjCO,EAAIiB,aAAenB,GAA+B,IAAtBqJ,EAAM0M,aAChC7V,IAAQ6xC,EAASzvC,SAA4B,OAAjBpC,EAAIL,UAAsC,OAAjBK,EAAIL,UAC3DwJ,EAAMqS,eAAexb,IAOvBF,GAA4B,IAAnBA,EAAML,UAAkBK,IAAUE,GAA8C,IAAvCF,EAAMoB,WAAWH,WAAWC,YAC5EmI,EAAM2M,WAAa9V,EAAIqS,KAAKrR,QAAgC,IAAtBmI,EAAM0M,cAC9ChW,EAAOC,EAAMoB,WACTrB,IAASgyC,EAASzvC,SAA6B,OAAlBvC,EAAKF,UAAuC,OAAlBE,EAAKF,WAC9DwJ,EAAMqS,eAAe3b,GACrBsJ,EAAMwS,YAAY9b,MALxB,OAeF,QAAS4vD,GAA+BroC,GAItC,IAAK,GAFDsoC,GAAKzf,EAAG0f,EAAMvD,EAAUwD,EAAUC,EADlCC,KAGK9rD,EAAI,EAAGkiD,EAAO9+B,EAAOpmB,OAAYklD,EAAJliD,EAAUA,IAoB9C,GAjB0C,IAAtCojB,EAAOpjB,GAAG+Q,eAAetV,UAAkB2nB,EAAOpjB,GAAG+Q,eAAejT,QAAQ,WAC9EslB,EAAOpjB,GAAGtD,SAAS0mB,EAAOpjB,GAAG+Q,eAAehU,WAAWqmB,EAAOpjB,GAAG6R,aAAc,GAEzC,IAApCuR,EAAOpjB,GAAGgR,aAAavV,UAAkB2nB,EAAOpjB,GAAGgR,aAAalT,QAAQ,YAC1E+tD,EAAYzoC,EAAOpjB,GAAGgR,aAAajU,WAAWwiB,KAAKsiB,IAAIze,EAAOpjB,GAAG8R,UAAY,EAAG,IAC5E+5C,EAAU9uD,YACZqmB,EAAOpjB,GAAGrD,OAAOkvD,EAAWA,EAAU9uD,WAAWC,SAQrD0uD,EAAMtoC,EAAOpjB,GAAG6b,UAAU,GAAI,SAAShgB,GACrC,MAAyB,OAAlBA,EAAKF,WAEV+vD,EAAI1uD,OAAS,EAAG,CAElB,IAAKivC,EAAI,EAAG0f,EAAOD,EAAI1uD,OAAY2uD,EAAJ1f,EAAUA,IACvC2f,EAAWxoC,EAAOpjB,GAAG2a,YAAY+wC,EAAIzf,KAGjC2f,IAAaxoC,EAAOpjB,GAAGkW,YAAc01C,IAAaxoC,EAAOpjB,GAAGsW,eAG9D8xC,EAAWhlC,EAAOpjB,GAAGsZ,aACrBuyC,EAAYtzD,EAASG,IAAIqxC,QAAQ2hB,EAAIzf,IAAItB,MAAM33B,WAAY,KAEvD64C,EACFzD,EAASzrD,OAAOkvD,EAAWA,EAAU9uD,WAAWC,QACvC0uD,EAAIzf,GAAGxtC,QAAQ,UACxB2pD,EAAS1wC,aAAag0C,EAAIzf,GAAGxtC,QAAQ,WAErC2pD,EAAS1wC,aAAag0C,EAAIzf,IAE5B6f,EAAU1yD,KAAKgvD,GACfhlC,EAAOpjB,GAAGtD,SAASgvD,EAAIzf,GAAI,KAIzB2f,IAAaxoC,EAAOpjB,GAAGgW,aAAe41C,IAAaxoC,EAAOpjB,GAAGsW,eAG/D8xC,EAAWhlC,EAAOpjB,GAAGsZ,aACrB8uC,EAASzrD,OAAO+uD,EAAIzf,GAAIyf,EAAIzf,GAAGlvC,WAAWC,QAC1C8uD,EAAU1yD,KAAKgvD,GAGfyD,EAAYtzD,EAASG,IAAIqxC,QAAQ2hB,EAAIzf,IAAIh8B,MAAM+C,WAAY,KACvD64C,EACFzoC,EAAOpjB,GAAGtD,SAASmvD,EAAW,GACrBH,EAAIzf,GAAGxtC,QAAQ,UACxB2kB,EAAOpjB,GAAGyX,cAAci0C,EAAIzf,GAAGxtC,QAAQ,WAEvC2kB,EAAOpjB,GAAGyX,cAAci0C,EAAIzf,IAIlC6f,GAAU1yD,KAAKgqB,EAAOpjB,QAEtB8rD,GAAU1yD,KAAKgqB,EAAOpjB,GAG1B,OAAO8rD,GAKT,QAASC,GAAuBniD,EAASoiD,EAAane,GACpD,GAAIoe,GAAmB,EAAY1zD,EAASM,KAAKqL,OAAO0F,GAASwQ,OAAM,GAAQ,IAI/E,OAHI6xC,KACFA,EAAiBtwD,SAAWswD,EAAiBtwD,UAAYqwD,GAAe1B,EAAgBzc,IAEnFoe,EAMT,QAASC,GAAsBv9C,EAAUxJ,EAAO0oC,EAAUse,GACxD,GAEIC,GAAcC,EAAOC,EAAM3hB,EAAM16B,EAFjCs8C,EAAsBpnD,EAAM4L,eAC5Bo7C,EAAkBA,GAAmB5B,EAAegC,EAAqB1e,EAASzvC,SAAS,EAG/F,IAAI+tD,EAEFE,EAAQ19C,EAAS1R,WACjBqvD,EAAO39C,EAAS6L,UAEhBqzB,EAAS/0C,UAAU4sD,oBAAoByG,EAAiBx9C,GAExDsB,EAAO1X,EAASG,IAAIqxC,QAAQuiB,GAAMr8C,MAAM+C,WAAY,EAAE,GAAI83B,kBAAkB,IAC5EH,EAAOpyC,EAASG,IAAIqxC,QAAQsiB,GAAO1hB,MAAM33B,WAAY,EAAE,GAAI83B,kBAAkB,IAEzEuhB,IAAUxC,EAAewC,EAAOxe,IAAalD,IAASkf,EAAelf,EAAMkD,IAC7Ewe,EAAMnvD,WAAWkP,aAAayhC,EAASzzC,IAAIY,cAAc,MAAOqxD,GAG9DC,IAASzC,EAAeyC,EAAMze,IAAa59B,IAAS45C,EAAe55C,EAAM49B,IAC3E59B,EAAK/S,WAAWkP,aAAayhC,EAASzzC,IAAIY,cAAc,MAAOiV,OAMjE,IADAm8C,EAAe1B,EAAkB6B,EAAqB1e,EAASzvC,SAC3DguD,EAAatB,WAAasB,EAAazB,WAAayB,EAAalhD,OAAQ,CAC3E,GAAmC,IAA/ByD,EAAS5R,WAAWC,OAAc,CACpC,KAAM2R,EAAS1R,WAAWA,YACxBmvD,EAAazB,UAAUnuD,YAAYmS,EAAS1R,WAAWA,WAEzD0R,GAAS1R,WAAWT,YAAY4vD,EAAatB,WAE/Cjd,EAAS/0C,UAAU4sD,oBAAoB0G,EAAalhD,OAAQyD,OACvD,CACL,GAAI69C,GAAK79C,EAAS1R,WACdwvD,EAAK99C,EAAS6L,SAElBrV,GAAMgV,WAAWxL,GAEjBxJ,EAAMqS,eAAeg1C,GACrBrnD,EAAMwS,YAAY80C,IAMxB,QAASC,GAAyBvnD,EAAOwnD,EAAkB9e,GASzD,IARA,GAKI6O,GAAU6O,EALVlwD,EAAI8J,EAAMmU,aACVsxB,EAAWiV,EAAaxkD,EAAE0V,eAAgB1V,EAAEwW,aAAanQ,gBACzDyK,EAAW0zC,EAAaxkD,EAAE2V,aAAc3V,EAAEyW,WAAW3R,YACrDma,EAAUjf,EAAE0c,kBACZpJ,EAAWk/B,EAASzzC,IAAIwU,yBAExBy9C,GAAQ,EAEN/xC,EAAQrd,YAAY,CAExB,GAAoC,IAAhCqd,EAAQrd,WAAWxB,UAAkB6e,EAAQrd,WAAWa,QAAQosD,GAAiB,CAInFkB,EAAwB9wC,EAAQrd,YAChCy/C,EAAWnkD,EAASG,IAAIu6C,OAAO34B,EAAQrd,YAGnCy/C,EAAS1/C,OAAS,IAEjB2R,EAAS6L,YAA8C,IAAhC7L,EAAS6L,UAAU/e,WAAmBouD,EAAel7C,EAAS6L,UAAWqzB,MAC/Fl/B,EAAS6L,WAAaowB,IAAmC,IAAtBA,EAASnvC,UAAkBouD,EAAejf,EAAUiD,MAEzFl/B,EAASnS,YAAYqxC,EAASzzC,IAAIY,cAAc,MAIpD,KAAK,GAAIqpC,GAAI,EAAGuoB,EAAOlQ,EAAS1/C,OAAY4vD,EAAJvoB,EAAUA,IAChD11B,EAASnS,YAAYkgD,EAASrY,GAI5BqY,GAAS1/C,OAAS,IACgB,IAAhC2R,EAAS6L,UAAU/e,UAAmBouD,EAAel7C,EAAS6L,UAAWqzB,KACvE1hC,GAAYwC,EAAS6L,YAAcF,EAAQE,YAC7C7L,EAASnS,YAAYqxC,EAASzzC,IAAIY,cAAc,YAMtD2T,GAASnS,YAAY8d,EAAQrd,WAG/BovD,IAAQ,EAIV,MAFAd,GAAShzD,EAASM,KAAKmoC,MAAMryB,EAAS5R,YAAYmC,MAClDgtD,EAAsBv9C,EAAUtT,EAAGwyC,GAC5B0d,EAIT,QAASsB,GAA4BjiB,EAAUz+B,EAAU0hC,GACvD,GAAIif,GAAWliB,GAAYryC,EAASG,IAAIqxC,QAAQa,GAAUD,MAAM33B,WAAY,EAAE,GAAI83B,kBAAkB,GAChGrT,GAAKtrB,IACPA,EAASjP,WAAWC,YAAYgP,IAE9BsrB,EAAKmT,IAAekiB,GAAkC,IAAtBA,EAASrxD,UAAsE,UAApDoyC,EAAS1zC,IAAIyV,iBAAiBk9C,GAAUlkC,SACrGgiB,EAAS1tC,WAAWC,YAAYytC,GAIpC,QAASugB,GAA2BvgB,EAAUz+B,EAAU0hC,GACtD,GAAIif,EAEAliB,IAAYgf,EAAWhf,KACzBA,EAAWA,EAASlpC,iBAElByK,GAAYy9C,EAAWz9C,KACzBA,EAAWA,EAAShM,aAGtB2sD,EAAWliB,GAAYA,EAASlpC,gBAE5BkpC,IAAmC,IAAtBA,EAASnvC,UAAuE,UAApDoyC,EAAS1zC,IAAIyV,iBAAiBg7B,GAAUhiB,UAAwB6O,EAAKmT,KAAeA,EAAS1tC,YACxI0tC,EAAS1tC,WAAWkP,aAAayhC,EAASzzC,IAAIY,cAAc,MAAO4vC,EAASzqC,aAG1EgM,IAAmC,IAAtBA,EAAS1Q,UAAsE,UAApDoyC,EAAS1zC,IAAIyV,iBAAiBzD,GAAUyc,UAAwBzc,EAASjP,YACnHiP,EAASjP,WAAWkP,aAAayhC,EAASzzC,IAAIY,cAAc,MAAOmR,GAoCvE,QAAS4gD,GAAqB5nD,EAAOyE,EAAS+iD,EAAkB9e,GAC9D,GA0BIvU,GAASiyB,EA1BTyB,EAAiBpjD,EAAU8/C,EAAiC9/C,GAAW,KACvEvO,EAAI8J,EAAMmU,aACVizC,EAAsBlxD,EAAE0V,eACxBgI,EAAY8mC,EAAaxkD,EAAE0V,eAAgB1V,EAAEwW,aAC7CiH,EAAU+mC,EAAaxkD,EAAE2V,aAAc3V,EAAEyW,WACzC84B,EAAYvvC,EAAE0V,iBAAmBgI,GAAoC,IAAvBA,EAAUtd,UAAmBwxD,EAAmBl0C,EAAW1d,EAAEwW,aAA6BtZ,EAASG,IAAIqxC,QAAQhxB,GAAW4xB,MAAM33B,WAAY,EAAE,GAAI83B,kBAAkB,IAAvF/xB,EAC3H5M,EAEgC,IAA5B9Q,EAAE2V,aAAavV,UACfJ,EAAE2V,aAAajU,WAAW1B,EAAEyW,aAAegH,IAEpB,IAArBA,EAAQrd,WACPyxD,EAAkBp0C,EAASzd,EAAEyW,aAC7BvZ,EAASG,IAAIqxC,QAAQjxB,GAASmxB,GAAGI,kBAGpChvC,EAAE2V,eAAiB8H,GACE,IAArBA,EAAQrd,WACPyxD,EAAkBp0C,EAASzd,EAAEyW,WAE9BgH,EAAUvgB,EAASG,IAAIqxC,QAAQjxB,GAAS7I,MAAM+C,WAAY,EAAE,GAAI83B,kBAAkB,IACtFxwB,EAAUjf,EAAE0c,kBACZpJ,EAAWk/B,EAASzzC,IAAIwU,yBACxBu+C,EAAoBH,EAAiBz0D,EAASG,IAAI60C,iBAAiBgf,EAAqBS,EAAgB,KAAMnf,EAASzvC,SAAW,KAClIgvD,GAAkBT,IAAqB/iD,GAAiC,eAArBA,EAAQjO,UAAkD,eAArBgxD,EACxFR,EAAkBgB,GAAqB5C,EAAegC,EAAqB1e,EAASzvC,QAASgvD,EAWjG,IAPI70D,EAASG,IAAIqxC,QAAQ59B,GAAU89B,GAAGI,kBACpCvxB,EAAU3M,EACVA,EAAW2M,EAAQ3Y,aAGrBktD,EAAwB/yC,GAEpB1Q,GAAgC,eAArBA,EAAQjO,SAA2B,CAGhD,GAAI2xD,GAAQvC,EAAsB,KAAMnhD,EAASikC,EACjDyf,GAAM9wD,YAAY8d,GAClB3L,EAASnS,YAAY8wD,GACrB/B,GAAU+B,OAEL,CAEL,GAAKhzC,EAAQrd,WAKX,KAAMqd,EAAQrd,YAGZ,GAAmC,GAA/Bqd,EAAQrd,WAAWxB,UAAiB6e,EAAQrd,WAAWa,QAAQosD,GAIjEa,EAAsBzwC,EAAQrd,WAAY2M,EAASikC,GAC/CvzB,EAAQrd,WAAWa,QAAQ2sD,IAC7BW,EAAwB9wC,EAAQrd,YAElC0R,EAASnS,YAAY8d,EAAQrd,gBAExB,CAIL,IADAq8B,EAAUyxB,EAAsB,KAAMgB,EAAuBniD,EAAS+iD,EAAkB9e,GAAWA,GAC7FvzB,EAAQrd,aAA+C,IAAhCqd,EAAQrd,WAAWxB,WAAmB6e,EAAQrd,WAAWa,QAAQosD,KACzD,GAA/B5vC,EAAQrd,WAAWxB,UAAiB69B,EAAQx7B,QAAQ2sD,IACtDW,EAAwB9wC,EAAQrd,YAElCq8B,EAAQ98B,YAAY8d,EAAQrd,WAE9B0R,GAASnS,YAAY88B,OA1BzB3qB,GAASnS,YAAYuuD,EAAsB,KAAMnhD,EAASikC,GA+B5D0d,GAAShzD,EAASM,KAAKmoC,MAAMryB,EAAS5R,YAAYmC,MAcpD,MAZAgtD,GAAsBv9C,EAAUtT,EAAGwyC,EAAUse,GAC7CU,EAA4BjiB,EAAUz+B,EAAU0hC,GAI5C0d,EAAOvuD,OAAS,IAE+B,mBAAxCuuD,GAAOA,EAAOvuD,OAAS,GAAGwd,WAA6BjiB,EAASG,IAAIqxC,QAAQwhB,EAAOA,EAAOvuD,OAAS,GAAGwd,WAAWyvB,GAAGI,kBAG7HkhB,EAAOA,EAAOvuD,OAAS,GAAGR,YAAYqxC,EAASzzC,IAAIY,cAAc,OAE5DuwD,EAIT,QAASgC,GAAuBnvD,EAASyvC,GACvC,GAAI3wC,GAAa3E,EAASG,IAAI60C,iBAAiBnvC,GACzCssC,MAAOwf,GACN,KAAMrc,EAASzvC,QAEtB,OAAO,GAAelB,EAAWvB,SAAW,KAU9C,QAAS6xD,GAAmB3f,EAAU4f,GACpC,GAGItoD,GAHA+F,EAAS3S,EAASG,IAAI60C,iBAAiBM,EAAS/0C,UAAUkpD,eAAe,GAAGjxC,gBAC1E25B,MAAO+f,EAA4B,MAAQgD,EAAoBA,EAAkBrmD,cAAgB,QAChG,KAAMymC,EAASzvC,QAGlB8M,IACF/F,EAAQ0oC,EAAS/0C,UAAUwC,cAC3B6J,EAAM2S,WAAW5M,GACjB2iC,EAAS/0C,UAAU4nD,aAAav7C,IACtB0oC,EAAS3K,WACnB2K,EAAS/0C,UAAUstD,aAMvB,QAASsH,GAAe3D,EAAkBlc,GACxC,GAAI1oC,GAAQ0oC,EAAS/0C,UAAUwC,cAC3BqyD,EAAS5D,EAAiBA,EAAiB/sD,OAAS,GACpD4wD,EAAkC,IAApBD,EAAOlyD,UAAkBkyD,EAAO5wD,WAAyC,EAA3B4wD,EAAO5wD,WAAWC,OAAc2wD,EAAO3wD,QAAU,CAEjHmI,GAAMzI,SAASqtD,EAAiB,GAAI,GACpC5kD,EAAMxI,OAAOgxD,EAAQC,GACrBzoD,EAAMyd,SAMR,QAASirC,GAAgBjqD,EAAQiqC,EAAUjkC,GACzC,GAEI+iD,GAFAvpC,EAASyqB,EAAS/0C,UAAUkpD,eAC5B+H,IAIJ3mC,GAASqoC,EAA+BroC,EAExC,KAAK,GAAIpjB,GAAIojB,EAAOpmB,OAAQgD,KAC1BwrD,EAAiBpoC,EAAOpjB,GAAI6tC,GAC5B8e,EAAmBY,EAAuBnqC,EAAOpjB,GAAG+Q,eAAgB88B,GAElEkc,EADa,WAAXnmD,EACiBmmD,EAAiB3pD,OAAOssD,EAAyBtpC,EAAOpjB,GAAI2sD,EAAkB9e,IAE9Ekc,EAAiB3pD,OAAO2sD,EAAqB3pC,EAAOpjB,GAAI4J,EAAS+iD,EAAkB9e,GAG1G,OAAOkc,GAIT,QAAS+D,GAAalkD,GAMpB,MALuB,gBAAZA,KACTA,GACEjO,SAAUiO,EAAQglC,gBAGfhlC,EAGT,QAASmkD,GAAmBlgB,GAC1B,GAAImgB,EACJ,OAAIngB,GAAS/0C,UAAU2lB,gBACrBuvC,EAAYngB,EAAS/0C,UAAUoqD,oBAC3B8K,GAAaA,EAAU7K,YAGvB5qD,EAASG,IAAIqxC,QAAQikB,EAAU7K,WAAWlZ,GAAGhC,aAEX,IAAjC+lB,EAAU7K,UAAU1nD,UAA2C,IAAzBuyD,EAAU5K,cAAsB4K,EAAUpjB,UAAYryC,EAASG,IAAIqxC,QAAQikB,EAAUpjB,UAAUX,GAAGhC,cAEvG,IAAjC+lB,EAAU7K,UAAU1nD,UAAkBuyD,EAAU7K,UAAUpd,UAAUjmC,SAAS,6BAC1EkuD,EAAUpjB,UAAYryC,EAASG,IAAIqxC,QAAQikB,EAAUpjB,UAAUX,GAAGhC,aAAe1vC,EAASG,IAAIqxC,QAAQikB,EAAUpjB,UAAUX,GAAG9lC,YAC7H6pD,EAAU7hD,UAAY5T,EAASG,IAAIqxC,QAAQikB,EAAU7hD,UAAU89B,GAAGhC,aAAe1vC,EAASG,IAAIqxC,QAAQikB,EAAU7hD,UAAU89B,GAAG9lC,YAG1H,GAIN,EAzsBT,GAAIzL,GAAMH,EAASG,IAGf+xD,EAA4B,iCAC5BP,EAAiB,kDACjBW,EAAkB,6JAmelBoC,EAAqB,SAAUx9C,EAAU9C,GAC3C,GAAIk3B,GAAMp0B,EAASpB,KAAOoB,EAASpB,KAAKvE,MAAM,EAAG6C,GAAU,EAC3D,OAAO,QAAUhJ,KAAKkgC,IAGpBqpB,EAAoB,SAAUz9C,EAAU9C,GAC1C,GAAIk3B,GAAMp0B,EAASpB,KAAOoB,EAASpB,KAAKvE,MAAM6C,GAAU,EACxD,OAAO,QAAUhJ,KAAKkgC,IAGpBwpB,EAA0B,SAAS1+C,GACrC,GAAIA,EAAU,CACZ,KAAOA,EAAS1R,YAA+C,IAAjC0R,EAAS1R,WAAWxB,UAAkB,QAAUkI,KAAKgL,EAAS1R,WAAWoR,OAASM,EAAS6L,YAAc7L,EAAS1R,YAC9I0R,EAASxR,YAAYwR,EAAS1R,WAGhC,MAAO0R,EAAS6L,WAA6C,IAAhC7L,EAAS6L,UAAU/e,UAAkB,QAAUkI,KAAKgL,EAAS6L,UAAUnM,OAASM,EAAS6L,YAAc7L,EAAS1R,YAC3I0R,EAASxR,YAAYwR,EAAS6L,UAG5B7L,GAAS1R,YAA+C,IAAjC0R,EAAS1R,WAAWxB,UAAmD,OAAjCkT,EAAS1R,WAAWtB,UAAqBgT,EAAS6L,YAAc7L,EAAS1R,YACxI0R,EAASxR,YAAYwR,EAAS1R,YAG5B0R,EAAS6L,WAA6C,IAAhC7L,EAAS6L,UAAU/e,UAAkD,OAAhCkT,EAAS6L,UAAU7e,UAAqBgT,EAAS6L,YAAc7L,EAAS1R,YACrI0R,EAASxR,YAAYwR,EAAS6L,YA2MpCjiB,GAASE,SAASgmC,aAChB/T,KAAM,SAASmjB,EAAUhP,EAASj1B,GAChCA,EAAUkkD,EAAalkD,EACvB,IACmB0S,GAAU8sC,EADzBW,IAQJ,IAHIngD,GAAWA,EAAQ/J,SACrBupD,EAAQjwD,KAAKiwD,MAAMvb,EAAUhP,EAASj1B,IAEpCw/C,EAAO,CAET9sC,EAAWhY,MAAMilB,cAAcskB,EAAS1zC,IACxC,KAAK,GAAI8xC,GAAI,EAAGoc,EAAOe,EAAMpsD,OAAYqrD,EAAJpc,EAAUA,IAC7C+e,EAAyB5B,EAAMnd,GAAIriC,EAASikC,OAK1CA,GAAS/0C,UAAU2lB,gBACrBnC,EAAWhY,MAAMilB,cAAcskB,EAAS1zC,KACpC4zD,EAAmBlgB,GACrBA,EAAS/0C,UAAUstD,aAEnBoH,EAAmB3f,EAAUjkC,GAAWA,EAAQjO,SAAWiO,EAAQjO,SAASizC,cAAgB7tC,SAI9FgpD,EADEngD,EACiBikD,EAAgB,QAAShgB,EAAUjkC,GAGnCikD,EAAgB,SAAUhgB,EAOjDkc,GAAmBD,EAAQjc,EAAUkc,GAGjCztC,EACFhY,MAAMmlB,iBAAiBnN,GAEvBoxC,EAAe3D,EAAkBlc,IAKrClvC,OAAQ,SAASkvC,EAAUhP,EAASj1B,GAClCA,EAAUkkD,EAAalkD,EACvB,IAAImgD,GAAkBztC,CAGlBuxB,GAAS/0C,UAAU2lB,gBACrBnC,EAAWhY,MAAMilB,cAAcskB,EAAS1zC,KACxCqzD,EAAmB3f,EAAUjkC,GAAWA,EAAQjO,SAAWiO,EAAQjO,SAASizC,cAAgB7tC,SAG9FgpD,EAAmB8D,EAAgB,SAAUhgB,GAC7Ckc,EAAmBD,EAAQjc,EAAUkc,GAGjCztC,EACFhY,MAAMmlB,iBAAiBnN,GAEvBoxC,EAAe3D,EAAkBlc,IAKrCub,MAAO,SAASvb,EAAUhP,EAASj1B,GACjCA,EAAUkkD,EAAalkD,EASvB,KAAK,GAHDsB,GAJAoI,EAAQu6B,EAAS/0C,UAAUupD,eAAe,SAAWjkD,GACnD,MAAO7F,GAASG,IAAIqxC,QAAQ3rC,GAASuF,KAAKiG,IAAa8gC,MAAOwf,KAC7DjJ,KAAK9nD,OACR80D,EAAcpgB,EAAS/0C,UAAUipD,sBAI5B/hD,EAAI,EAAGkiD,EAAO+L,EAAYjxD,OAAYklD,EAAJliD,EAAUA,IACnDkL,EAASxS,EAAI60C,iBAAiB0gB,EAAYjuD,GAAI4J,IAAa8gC,MAAOwf,GAAkB,KAAMrc,EAASzvC,SAC/F8M,GAAoC,KAA1BoI,EAAM5X,QAAQwP,IAC1BoI,EAAMla,KAAK8R,EAIf,OAAyB,KAAjBoI,EAAMtW,QAAgB,EAAQsW,KAIzC/a,UAOH,SAAUA,GAWR,QAAS21D,GAAW9vD,GAClB,MAAO,QAAUuF,KAAKvF,EAAQoB,WAGhC,QAAS2uD,GAAW/vD,GAClB,OAAQA,EAAQkhC,aAAa,UAAY,QAAU37B,KAAKvF,EAAQkhC,aAAa,UAK/E,QAAS8uB,GAAgBhwD,GACvB,GAAIguC,GAAO7zC,EAASG,IAAI2zC,cAAcjuC,EACtC,OAAO7F,GAASM,KAAKqL,OAAOkoC,GAAMlJ,UAKpC,QAASmrB,GAAWC,EAAUC,GAC5B,GAAIC,GAAUC,EACVC,EAAOC,CAEX,OAA0B,KAAtBL,EAAS7yD,UAAwC,IAAtB8yD,EAAS9yD,UAC/B,EAGL6yD,EAAS3yD,WAAa4yD,EAAS5yD,UAC1B,GAGT6yD,EAAWF,EAAS9uD,UAAUi1B,OAAO5U,QAAQ,OAAQ,KAAKpgB,MAAM,KAChEgvD,EAAWF,EAAS/uD,UAAUi1B,OAAO5U,QAAQ,OAAQ,KAAKpgB,MAAM,KAC5DlH,EAASM,KAAKmoC,MAAMwtB,GAAUrtB,QAAQstB,GAAUzxD,OAAS,GACpD,GAGT0xD,EAAQn2D,EAASG,IAAI2zC,cAAciiB,GACnCK,EAAQp2D,EAASG,IAAI2zC,cAAckiB,GAE/BG,EAAM1xD,SAAW2xD,EAAM3xD,QAAWzE,EAASM,KAAKqL,OAAO3L,EAASM,KAAKqL,OAAOwqD,GAAO7rB,WAAW8rB,IAAQzrB,WAInG,GAHE,IAMX,QAAS0rB,GAAen/C,EAAU7F,GAChC,GAAIjO,GAAWiO,GAAWA,EAAQjO,UAAYkzD,EAC1CzwD,EAAUqR,EAASnR,cAActD,cAAcW,EAenD,IAZIiO,EAAQiiC,cACVztC,EAAQoB,UAAYpB,EAAQoB,UAAUqgB,QAAQjW,EAAQiiC,YAAa,KAGjEjiC,EAAQpK,WACVpB,EAAQ2nC,UAAUpmC,IAAIiK,EAAQpK,WAG5BoK,EAAQkiC,eAA+C,mBAAvBliC,GAAQuiC,aAC1C/tC,EAAQsqB,MAAMnwB,EAASyjC,QAAQ6E,YAAYj3B,EAAQkiC,gBAAkBliC,EAAQuiC,YAG3EviC,EAAQs/B,UACV,GAAiC,gBAAtBt/B,GAAQs/B,UACjB,IAAK,GAAIuD,KAAK7iC,GAAQs/B,UAChBt/B,EAAQs/B,UAAU5/B,eAAemjC,IACnCruC,EAAQ7B,aAAakwC,EAAG7iC,EAAQs/B,UAAUuD,QAGH,mBAA3B7iC,GAAQ4iC,gBACxBpuC,EAAQ7B,aAAaqN,EAAQs/B,UAAWt/B,EAAQ4iC,eAIpD,OAAOpuC,GAKT,QAAS0wD,GAAuBJ,EAAOC,GACrC,IAAK,GAAIliB,KAAKiiB,GACZ,GAAIA,EAAMplD,eAAemjC,KACC1rC,eAAb4tD,GAAMliB,IAAoBkiB,EAAMliB,KAAOiiB,EAAMjiB,IACtD,OAAO,CAIb,QAAO,EAKT,QAASsiB,GAAwB3wD,EAAS4wD,EAAenvD,GACvD,GAGI4sC,GAHAL,EAAO7zC,EAASG,IAAI2zC,cAAcjuC,GAClC6wD,EAAcH,EAAuBE,EAAe5iB,EACnC7zC,GAASM,KAAKqL,OAAOkoC,GAAMvJ,WAAWmsB,EAG3D,IAAIC,GAAepvD,KAAW,EAC5B,IAAK4sC,IAAKuiB,GACJA,EAAc1lD,eAAemjC,IAC/BruC,EAAQ8sD,gBAAgBze,OAa5B,KAAKA,IAAKuiB,GACJA,EAAc1lD,eAAemjC,IAC/BruC,EAAQ7B,aAAakwC,EAAGuiB,EAAcviB,IAM9C,QAASyiB,GAAsB9wD,EAASwL,GACtC,GAAsBolD,GAAeG,EAAeC,CAEhDxlD,GAAQpK,YACNoK,EAAQ/J,UAAW,GAASzB,EAAQ2nC,UAAUjmC,SAAS8J,EAAQpK,WACjEpB,EAAQ2nC,UAAUpnC,OAAOiL,EAAQpK,YAE7BoK,EAAQiiC,cACVztC,EAAQoB,UAAYpB,EAAQoB,UAAUqgB,QAAQjW,EAAQiiC,YAAa,KAErEztC,EAAQ2nC,UAAUpmC,IAAIiK,EAAQpK,YAE5B0uD,EAAW9vD,IACbA,EAAQ8sD,gBAAgB,UAKxBthD,EAAQkiC,gBACNliC,EAAQ/J,UAAW,GAASzB,EAAQsqB,MAAMnwB,EAASyjC,QAAQ6E,YAAYj3B,EAAQkiC,gBAAgBrX,OAAO5U,QAAQ,MAAO,OAASjW,EAAQuiC,WACxI/tC,EAAQsqB,MAAMnwB,EAASyjC,QAAQ6E,YAAYj3B,EAAQkiC,gBAAkB,GAErE1tC,EAAQsqB,MAAMnwB,EAASyjC,QAAQ6E,YAAYj3B,EAAQkiC,gBAAkBliC,EAAQuiC,YAG7EgiB,EAAW/vD,IACbA,EAAQ8sD,gBAAgB,SAGtBthD,EAAQs/B,YACuB,gBAAtBt/B,GAAQs/B,UACjB8lB,EAAiBplD,EAAQs/B,WAEzB8lB,KACAA,EAAcplD,EAAQs/B,WAAat/B,EAAQ4iC,gBAAkB,IAE/DuiB,EAAwB3wD,EAAS4wD,EAAeplD,EAAQ/J,SAK1DsvD,EAAgBvlD,EAAQjO,SAAW0zD,EAAczlD,EAAQjO,SAASyL,gBAAkBwC,EAAQjO,SAASyL,cAAgB,KACrHgoD,EAAiBD,EAAgB52D,EAASG,IAAIqxC,QAAQ3rC,GAASuF,MAAO+mC,MAAOykB,KAAmB,IAI3FvlD,EAAQjO,UAAYiO,EAAQjO,WAAakzD,GAAcO,KAEtDxlD,EAAQ/J,UAAW,GAASuvD,IAAqBxlD,EAAQjO,UAAYyC,EAAQzC,WAAakzD,IAC5FX,EAAW9vD,IAAY+vD,EAAW/vD,IAAYgwD,EAAgBhwD,IAE9D7F,EAASG,IAAIu6C,OAAO70C,GAQ1B,QAASkxD,GAAqBx2D,EAAW2uD,GACvC,GAAI7rC,KASJ,OAPK9iB,GAAU2lB,gBACb7C,EAAYA,EAAUxb,OAAOtH,EAAU0uD,aAAa,GAAI,SAAS3rD,GAE/D,OAAStD,EAASG,IAAIqxC,QAAQluC,GAAMouC,GAAGC,iBACtCud,KAGE7rC,EAGT,QAAS2zC,GAA2B9/C,EAAU7F,EAASyL,EAAWm6C,GAChE,GAAI3zD,GAAO4T,EACPu9C,EAAiBwC,EAAQ5lD,EAAU8/C,EAAiC9/C,EAExE,GAAG,CACD,GAAsB,IAAlB/N,EAAKJ,UAAkBg0D,EAAc5zD,EAAMmxD,GAC7C,MAAOnxD,EAETA,GAAOA,EAAKqB,iBACLrB,GAAQA,IAASwZ,EAE1B,OAAO,MAGT,QAASq0C,GAAiC9/C,GACxC,OACEjO,SAAUiO,EAAQjO,UAAY,KAC9B6D,UAAaoK,EAAQiiC,YAA2C,KAA5BjiC,EAAQpK,WAAa,KACzDqsC,YAAajiC,EAAQiiC,aAAe,KACpCC,cAAeliC,EAAQkiC,eAAiB,MAM5C,QAAS2jB,GAAc5zD,EAAM+N,GAC3B,GAAIpF,EACJ,IAAIoF,EAAQjO,SAAU,CACpB,GAAI+uC,GAAQ2kB,EAAczlD,EAAQjO,SAASyL,gBAAkBwC,EAAQjO,SAASyL,aAC9E,OAAO7O,GAASG,IAAIqxC,QAAQluC,GAAM8H,MAAO+mC,MAAOA,IAIhD,MAFAlmC,GAAIjM,EAASM,KAAKqL,OAAO0F,GAASwQ,QAClC5V,EAAEkmC,MAAQmgB,EACHtyD,EAASG,IAAIqxC,QAAQluC,GAAM8H,KAAKa,GAI3C,QAASkrD,GAAY7hB,EAAU1oC,GAC7B,GAAIi6C,GAAI7jD,SAASuD,iBAAmBvD,SAASkB,KACzC0oD,EAAgB/F,EAAE1kD,UAClB0qD,EAAgBhG,EAAEvkD,UACNyJ,OAAMpI,aAAa2xC,EAAS1zC,IAE5CmK,OAAMpI,aAAa2xC,EAAS1zC,KAAKyC,iBAGjC,KACE0H,MAAMpI,aAAa2xC,EAAS1zC,KAAK0C,SAASsI,GAC1C,MAAOpK,IACJ8yC,EAASzzC,IAAIoB,eAAkBjD,EAASG,IAAIoH,SAAS+tC,EAASzvC,QAASyvC,EAASzzC,IAAIoB,iBACvFqyC,EAASzvC,QAAQf,QACjB+hD,EAAE1kD,UAAayqD,EACf/F,EAAEvkD,WAAauqD,EACf9gD,MAAMpI,aAAa2xC,EAAS1zC,KAAK0C,SAASsI,IAI9C,QAASwqD,GAAgB/zC,EAAWiyB,GAClC,GAAI1oC,GAAQb,MAAMhJ,YAAYuyC,EAASzzC,KACnCw1D,EAAWh0C,EAAUA,EAAU5e,OAAS,EAExC4e,GAAU,IAAMg0C,IAClBzqD,EAAMzI,SAASkf,EAAU,GAAI,GAC7BzW,EAAMxI,OAAOizD,EAAUA,EAAS5yD,QAChC0yD,EAAY7hB,EAAU1oC,IAK1B,QAAS0qD,GAAehiB,EAAUhyC,EAAMC,EAAOE,GAC7C,GAAImJ,GAAQb,MAAMhJ,YAAYuyC,EAASzzC,IACnCyB,KACFsJ,EAAMzI,SAASb,EAAMC,GACrBqJ,EAAMxI,OAAOd,EAAqB,mBAARG,GAAsBA,EAAMF,GACtD4zD,EAAY7hB,EAAU1oC,IAI1B,QAAS2qD,GAASjiB,EAAUjkC,EAAS4lD,GACnC,GAGI3zD,GAAMsJ,EAAOg+C,EAHb4M,EAAcT,EAAqBzhB,EAAS/0C,WAC5Cwa,KACA08C,GAAU,CAGd,IAAIniB,EAAS/0C,UAAUiwD,mBAAoB,CAEzC,GAA2B,IAAvBgH,EAAY/yD,QAAgB6wC,EAAS/0C,UAAU2lB,cAAe,CAEhE,GADA0kC,EAAYtV,EAAS/0C,UAAUoD,eAAeC,YACzCgnD,EAEH,OACI7vC,SACA08C,SAAS,EAGY,KAAvB7M,EAAU1nD,WACZs0D,GAAe5M,IAKd4M,EAAY/yD,SACfmI,EAAQ0oC,EAAS/0C,UAAUkpD,eAAe,GACtC78C,IACF4qD,GAAe5qD,EAAM6L,eAIzB,KAAK,GAAIhR,GAAI,EAAGkiD,EAAO6N,EAAY/yD,OAAYklD,EAAJliD,EAAUA,IACnDnE,EAAO0zD,EAA2BQ,EAAY/vD,GAAI4J,EAASikC,EAASzvC,QAASoxD,GACzE3zD,EACFyX,EAAMla,KAAKyC,GAEXm0D,GAAU,EAMhB,OACE18C,MAAOA,EACP08C,QAASA,GAMb,QAASC,GAAkBn3D,GACzB,GAAI6qB,GAAQhX,EAAQujD,EAAYC,CAChC,OAAIr3D,KACF6qB,EAAS7qB,EAAUqD,WACnBwQ,EAAS7T,EAAUsD,aACfunB,GAA8B,IAApBA,EAAOloB,UAAkBkR,EAAS,GAAKA,EAASgX,EAAOtV,KAAKrR,SACxEkzD,EAAavsC,EAAOtV,KAAK1B,EAAS,GAClCwjD,EAAYxsC,EAAOtV,KAAK1B,GACjB,KAAOhJ,KAAKusD,IAAe,KAAOvsD,KAAKwsD,KAG3C,EAMT,QAASC,GAAgBt3D,GACvB,GAAI6qB,GAAQhX,EAAQvS,EAAK+K,EAAOkrD,EAAaC,EACzCC,IACJ,IAAIz3D,IACF6qB,EAAS7qB,EAAUqD,WACnBwQ,EAAS0jD,EAAcC,EAAYx3D,EAAUsD,aAC7ChC,EAAMupB,EAAOrlB,cACb6G,EAAQb,MAAMhJ,YAAYlB,GAEtBupB,GAA8B,IAApBA,EAAOloB,UAAgB,CAEnC,KAAO40D,EAAc,GAAK,KAAO1sD,KAAKggB,EAAOtV,KAAKgiD,EAAc,KAC9DA,GAGF,MAAOC,EAAY3sC,EAAOtV,KAAKrR,QAAU,KAAO2G,KAAKggB,EAAOtV,KAAKiiD,KAC/DA,GASF,OANAnrD,GAAMgQ,eAAewO,EAAQ0sC,EAAaC,GAC1CnrD,EAAMgT,kBACNo4C,EAAWprD,EAAM0W,UAAU,GAAI,SAAShgB,GACtC,OAAStD,EAASG,IAAIqxC,QAAQluC,GAAMouC,GAAGC,mBAIvCsmB,WAAY7jD,EAAS0jD,EACrBlrD,MAAOA,EACPsK,SAAU8gD,EAAS,IAKzB,OAAO,EAIT,QAASE,GAAcnC,EAAUC,GAC/B,KAAOA,EAAStxD,YACdqxD,EAAS9xD,YAAY+xD,EAAStxD,WAEhCsxD,GAASrxD,WAAWC,YAAYoxD,GAGlC,QAASmC,GAA+BryD,GACtC,IAAK,GAAI2B,GAAI3B,EAASrB,OAAQgD,KAExB3B,EAAS2B,IAAM3B,EAAS2B,GAAG9C,aAEzBmB,EAAS2B,GAAGG,aAAekuD,EAAWhwD,EAAS2B,GAAI3B,EAAS2B,GAAGG,cACjEswD,EAAcpyD,EAAS2B,GAAI3B,EAAS2B,GAAGG,aAGrC9B,EAAS2B,GAAG0B,iBAAmB2sD,EAAWhwD,EAAS2B,GAAM3B,EAAS2B,GAAG0B,kBACvE+uD,EAAcpyD,EAAS2B,GAAG0B,gBAAiBrD,EAAS2B,KAO5D,QAAS2wD,GAAuB9iB,EAAUjyB,EAAWhS,GAC/CgS,EAAU5e,OAAS,GACrB2yD,EAAgB/zC,EAAWiyB,GAE7B6iB,EAA+BZ,EAASjiB,EAAUjkC,GAAS0J,OACvDsI,EAAU5e,OAAS,GACrB2yD,EAAgB/zC,EAAWiyB,GAI/B,QAAS+iB,GAAmB/iB,EAAUp+B,EAAU9C,EAAQ/C,GACtDimD,EAAehiB,EAAUp+B,EAAU9C,GACnC+jD,EAA+BZ,EAASjiB,EAAUjkC,GAAS0J,OAC3Du8C,EAAehiB,EAAUp+B,EAAU9C,GAIrC,QAASkkD,GAAephD,EAAU7F,GAChC,GAAIknD,GAAWlC,EAAen/C,EAAU7F,EAExC6F,GAASvS,WAAWkP,aAAa0kD,EAAUrhD,GAC3CqhD,EAASt0D,YAAYiT,GAIvB,QAASshD,GAAiBthD,EAAUo+B,EAAUjkC,GAC5C,GAEIonD,GAFA37C,EAAYw4B,EAASzvC,QACrB0yD,EAAWvB,EAA2B9/C,EAAU7F,EAASyL,EAGzDy7C,KACFE,EAAcF,EAAStkD,WAAU,GAEjCjU,EAASG,IAAIqxC,QAAQt6B,GAAU27B,aAAa0lB,EAAUE,GACtD9B,EAAsB8B,EAAapnD,IAKvC,QAASqnD,GAAyBxhD,EAAUo+B,EAAUjkC,GACpD,GAAIyL,GAAYw4B,EAASzvC,QACrB0yD,EAAWvB,EAA2B9/C,EAAU7F,EAASyL,EAEzDy7C,IACFv4D,EAASG,IAAIqxC,QAAQt6B,GAAU27B,aAAa0lB,GAKhD,QAASI,GAAgB/rD,EAAO0oC,EAAUjkC,GACxC,GAAIknD,GAAWlC,EAAezpD,EAAM6L,aAAcpH,EAElDzE,GAAMkV,iBAAiBy2C,GACvBjjB,EAAS/0C,UAAUgf,WAAWg5C;CAIhC,QAASK,GAAatjB,EAAUjyB,EAAWwtC,EAAOx/C,GAChD,GAEIwnD,GAAS3hD,EAAUlD,EAASvM,EAF5BqxD,EAAavB,EAASjiB,EAAUjkC,GAAS,GACzC9Q,EAAY+0C,EAAS/0C,UAAUoD,cAGnC,IAAK0f,EAAU5e,OAqCR,CAEL,GAAKq0D,EAAWrB,SAAWpmD,EAAQ/J,UAAW,EAe5C,IAAKG,EAAI4b,EAAU5e,OAAQgD,KAErBuvD,EAA2B3zC,EAAU5b,GAAI4J,EAASikC,EAASzvC,UAC7D2yD,EAAiBn1C,EAAU5b,GAAI6tC,EAAUjkC,GAGtC2lD,EAA2B3zC,EAAU5b,GAAI4J,EAASikC,EAASzvC,UAC9DyyD,EAAej1C,EAAU5b,GAAI4J,OAjBjC,KAAK5J,EAAI4b,EAAU5e,OAAQgD,KACzB+wD,EAAiBn1C,EAAU5b,GAAI6tC,EAAUjkC,EAsB7C+mD,GAAuB9iB,EAAUjyB,EAAWhS,OA/D5C,IAAIA,EAAQ/J,UAAW,EACrB,GAAIowD,EAAkBn3D,GAGpBs4D,EAAUhB,EAAgBt3D,GAC1B2W,EAAW2hD,EAAQ3hD,SACnBshD,EAAiBK,EAAQ3hD,SAAUo+B,EAAUjkC,GAC7CgnD,EAAmB/iB,EAAUujB,EAAQ3hD,SAAU2hD,EAAQZ,WAAY5mD,OAE9D,CAGL6F,EAAWo+B,EAASzzC,IAAIc,eAAe3C,EAASc,iBAChDkT,EAAU68C,EAAM91C,MAAM,GAAG9G,WAAU,GACnCD,EAAQ/P,YAAYiT,GACpBo+B,EAAS/0C,UAAU4sD,oBAAoB0D,EAAM91C,MAAM,GAAI/G,GACvD2iD,EAAsB3iD,EAAS3C,GAC/B+mD,EAAuB9iB,GAAWp+B,GAAW7F,EAC7C,IAAIpP,GAAIqzC,EAAS/0C,UAAUoD,cAC3B,IAAI1B,EAAE2B,YAAc3B,EAAE6B,UAEpB,IACE7B,EAAEusB,gBACF,MAAOhsB,SAKb,KAAKiF,EAAIopD,EAAM91C,MAAMtW,OAAQgD,KAC3BkvD,EAAsB9F,EAAM91C,MAAMtT,GAAI4J,GAuC9C,QAAS0nD,GAAazjB,EAAUjyB,EAAWwtC,EAAOx/C,GAChD,GAAI6F,GAAU2zC,EAAqBpjD,EAC/BlH,EAAY+0C,EAAS/0C,UAAUoD,cAEnC,IAAK0f,EAAU5e,OASR,CACL,IAAKgD,EAAI4b,EAAU5e,OAAQgD,KACzBixD,EAAyBr1C,EAAU5b,GAAI6tC,EAAUjkC,EAEnD+mD,GAAuB9iB,EAAUjyB,EAAWhS,OAbvB,CAIrB,IAHA6F,EAAW3W,EAAUqD,WACrBinD,EAAatqD,EAAUsD,aAElB4D,EAAIopD,EAAM91C,MAAMtW,OAAQgD,KAC3BzH,EAASG,IAAIu6C,OAAOmW,EAAM91C,MAAMtT,GAGlC4wD,GAAmB/iB,EAAUp+B,EAAU2zC,EAAYx5C,IAUvD,QAAS2nD,GAAY1jB,EAAUjyB,EAAWhS,GACxC,GAAIwnD,GAASpxD,EACTlH,EAAY+0C,EAAS/0C,UAAUoD,cAEnC,IAAK0f,EAAU5e,OAeR,CAEL,IAAKgD,EAAI4b,EAAU5e,OAAQgD,KACzB6wD,EAAej1C,EAAU5b,GAAI4J,EAE/B+mD,GAAuB9iB,EAAUjyB,EAAWhS,OAlB5C,IAAIqmD,EAAkBn3D,GAEpBs4D,EAAUhB,EAAgBt3D,GAC1B+3D,EAAeO,EAAQ3hD,SAAU7F,GACjCgnD,EAAmB/iB,EAAUujB,EAAQ3hD,SAAU2hD,EAAQZ,WAAY5mD,OAE9D,CACL,GAAIvO,GAAIwyC,EAAS/0C,UAAUkpD,eAAe,EACtC3mD,IACF61D,EAAgB71D,EAAGwyC,EAAUjkC,IAcrC,QAAS4nD,GAAW5nD,GAGlB,MAFAA,GAA8B,gBAAZA,IAA0BjO,SAAUiO,GAAYA,EAC9DA,EAAQjO,WAAYiO,EAAQjO,SAAWiO,EAAQjO,SAASizC,eACrDhlC,EAplBT,GAAIilD,GAAa,OACbhE,EAAkB,6JAClBwE,GACEoC,EAAK,YACLC,OAAU,YACVC,GAAM,QACN3xD,EAAK,QAilBXzH,GAASE,SAASgxD,cAMhB/+B,KAAM,SAASmjB,EAAUhP,EAASj1B,GAChCA,EAAU4nD,EAAW5nD,GAGrBikC,EAASzvC,QAAQtB,WAEjB,IAAI8e,GAAY0zC,EAAqBzhB,EAAS/0C,WAAW,GACrDswD,EAAQ0G,EAASjiB,EAAUjkC,EAC3Bw/C,GAAM91C,MAAMtW,OAAS,EAEvBm0D,EAAatjB,EAAUjyB,EAAWwtC,EAAOx/C,GAGzC2nD,EAAY1jB,EAAUjyB,EAAWhS,GAEnCikC,EAASzvC,QAAQtB,aAGnB6B,OAAQ,SAASkvC,EAAUhP,EAASj1B,GAClCA,EAAU4nD,EAAW5nD,GACrBikC,EAASzvC,QAAQtB,WAEjB,IAAI8e,GAAY0zC,EAAqBzhB,EAAS/0C,WAAW,GACrDswD,EAAQ0G,EAASjiB,EAAUjkC,EAE3Bw/C,GAAM91C,MAAMtW,OAAS,GAEvBs0D,EAAazjB,EAAUjyB,EAAWwtC,EAAOx/C,GAG3CikC,EAASzvC,QAAQtB,aAGnBssD,MAAO,SAASvb,EAAUhP,EAASj1B,GACjCA,EAAU4nD,EAAW5nD,EACrB,IAAI0J,GAAQw8C,EAASjiB,EAAUjkC,GAAS,GAAM0J,KAC9C,OAAyB,KAAjBA,EAAMtW,QAAgB,EAAQsW,KAIzC/a,UAEF,SAASA,GACRA,EAASE,SAASm5D,YAChBlnC,KAAM,SAASmjB,EAAUhP,EAASx/B,GAChC,GAAIwyD,GAAUhkB,EAAS/0C,UAAUuqD,yBAAyB,KAC1D,OAAIwO,GACK14D,KAAK24D,iBAAiBD,EAAShkB,EAAS/0C,YAE1C,GAGTswD,MAAO,SAASvb,EAAUhP,GACtB,OAAO,GAGXizB,iBAAkB,SAASC,EAASj5D,GAClC,GAAIk5D,GAASrqB,EAAMsqB,EAAQC,EAAQC,EAC/BhL,GAAQ,CAuBZ,OArBAruD,GAAU+rD,uBAAuB,WAE/B,IAAK,GAAI7kD,GAAI+xD,EAAQ/0D,OAAQgD,KAC3BkyD,EAASH,EAAQ/xD,GACjBgyD,EAA0C,OAA/BE,EAAOh1D,WAAWvB,SAAqB,KAAO,KACzDgsC,EAAOuqB,EAAO5zD,cAActD,cAAcg3D,GAC1CC,EAAS15D,EAASG,IAAIqxC,QAAQmoB,GAAQvnB,MAAM33B,WAAYza,EAASmB,gBACjEy4D,EAAa,EAAWF,EAAO10B,cAAc,UAAY,KAErD00B,IACEE,EACFA,EAAW31D,YAAY01D,IAEvBvqB,EAAKnrC,YAAY01D,GACjBD,EAAOz1D,YAAYmrC,IAErBwf,GAAQ,KAKPA,KAGX5uD,UAED,SAASA,GACRA,EAASE,SAASmmC,YAChBlU,KAAM,SAASmjB,EAAUhP,EAAS/vB,GAC9B++B,EAAS/0C,UAAU8lC,WAAW9vB,IAGlCs6C,MAAO,WACL,OAAO,KAGX7wD,UAEF,SAAUA,GACR,GAAI65D,GAAa,QAAU75D,EAASyjC,QAAQ8D,2BAA6B,IAAM,GAE/EvnC,GAASE,SAAS45D,iBAChB3nC,KAAM,SAASmjB,EAAUhP,GACvBgP,EAAS/0C,UAAU8lC,WAAWwzB,IAGhChJ,MAAO,WACL,OAAO,KAGV7wD,UAEHA,SAASE,SAAS65D,WAAa,SAAU/5D,GAEvC,GAAIg6D,GAAS,SAAS12D,EAAMoM,GAC1B,GAAIpM,GAAQA,EAAKF,SAAU,CACL,gBAATsM,KACTA,GAAQA,GAEV,KAAK,GAAI3H,GAAI2H,EAAKjL,OAAQsD,KACxB,GAAIzE,EAAKF,WAAasM,EAAK3H,GACzB,OAAO,EAIb,OAAO,GAGLkyD,EAAa,SAAS32D,EAAMF,EAAUkyC,GACxC,GAAIpzC,IACEoP,GAAI,KACJ4oD,OAAO,EAGb,IAAI52D,EAAM,CACR,GAAI62D,GAAWn6D,EAASG,IAAI60C,iBAAiB1xC,GAAQ6uC,MAAO,OAAQ,EAAOmD,EAASzvC,SAChFu0D,EAA8B,OAAbh3D,EAAqB,KAAO,IAE7C42D,GAAO12D,EAAMF,GACflB,EAAIoP,GAAKhO,EACA02D,EAAO12D,EAAM82D,GACtBl4D,GACEoP,GAAIhO,EACJ42D,OAAO,GAEAC,IACLH,EAAOG,EAASx1D,WAAYvB,GAC9BlB,EAAIoP,GAAK6oD,EAASx1D,WACTq1D,EAAOG,EAASx1D,WAAYy1D,KACrCl4D,GACEoP,GAAK6oD,EAASx1D,WACdu1D,OAAO,KAWf,MAJIh4D,GAAIoP,KAAOgkC,EAASzvC,QAAQ0B,SAASrF,EAAIoP,MAC3CpP,EAAIoP,GAAK,MAGJpP,GAGLm4D,EAAqB,SAAS/oD,EAAIlO,EAAUkyC,GAC9C,GACIglB,GAAYC,EADZH,EAA8B,OAAbh3D,EAAqB,KAAO,IAOjDkyC,GAAS/0C,UAAU+rD,uBAAuB,WAExC,GADAgO,EAAaE,EAAoBJ,EAAe9kB,GAC5CglB,EAAW71D,OACb,IAAK,GAAIg2D,GAAIH,EAAW71D,OAAQg2D,KAC9Bz6D,EAASG,IAAIkgD,cAAcia,EAAWG,GAAIr3D,EAASyL,mBAEhD,CACL0rD,EAAaC,GAAqB,KAAM,MAAOllB,EAC/C,KAAK,GAAI7tC,GAAI8yD,EAAW91D,OAAQgD,KAC9BzH,EAASG,IAAIwgD,YAAY4Z,EAAW9yD,GAAI6tC,EAAStnC,OAAO4yC,cAEhC,KAAtB2Z,EAAW91D,QACbzE,EAASG,IAAIwgD,YAAYrvC,EAAIgkC,EAAStnC,OAAO4yC,mBAMjD8Z,EAAuB,SAASppD,EAAIlO,EAAUkyC,GAChD,GAAI8kB,GAA8B,OAAbh3D,EAAqB,KAAO,IAMjDkyC,GAAS/0C,UAAU+rD,uBAAuB,WAIxC,IAAK,GAHDqO,IAAerpD,GAAIzJ,OAAO2yD,EAAoBJ,EAAe9kB,IAGxDmlB,EAAIE,EAAYl2D,OAAQg2D,KAC/Bz6D,EAASG,IAAIkgD,cAAcsa,EAAYF,GAAIr3D,EAASyL,kBAKtD2rD,EAAsB,SAASp3D,EAAUkyC,GAIzC,IAAK,GAHDzqB,GAASyqB,EAAS/0C,UAAUkpD,eAC5BkR,KAEK73D,EAAI+nB,EAAOpmB,OAAQ3B,KAC1B63D,EAAcA,EAAY9yD,OAAOgjB,EAAO/nB,GAAGwgB,UAAU,GAAI,SAAShgB,GAChE,MAAO02D,GAAO12D,EAAMF,KAIxB,OAAOu3D,IAGPC,EAAqB,SAASx3D,EAAUkyC,GAC1C,GAII3K,GAASyE,EAJTvmB,EAAM9c,MAAMilB,cAAcskB,EAAS1zC,KAGnCi5D,EAAiB,mBAAoB,GAAI7qC,OAAO8qC,SAGpDxlB,GAASp1C,SAASiyB,KAAK,eACrB/uB,SAAY,MACZ6D,UAAa4zD,GAGf,IAAI9tB,GAAcuI,EAASzvC,QAAQm/B,cAAc,IAAM61B,EAIvD9tB,GAAY92B,UAAY82B,EAAY92B,UAAUqR,QAAQtnB,EAASe,wBAAyB,IACpFgsC,IACFpC,EAAU,kBAAoBv/B,KAAK2hC,EAAY92B,WAC/Cm5B,EAAOpvC,EAASG,IAAI+uC,cAAcnC,EAAa3pC,EAASyL,cAAeymC,EAAS3iC,OAAO3E,OAAO6jD,WAAWC,qBACrGjpC,GACF9c,MAAMmlB,iBAAiBrI,GAErB8hB,GACF2K,EAAS/0C,UAAUgf,WAAW6vB,EAAKpK,cAAc,OAAO,IAK9D,QACE7S,KAAM,SAASmjB,EAAUhP,EAASljC,GAChC,GAKI23D,GAAc3rB,EALdvtC,EAAgByzC,EAASzzC,IACzBm5D,EAA8B,OAAb53D,EAAqB,oBAAsB,sBAC5DnB,EAAIqzC,EAAS/0C,UAAUoD,eACvB0E,EAAkC,IAA1BpG,EAAE2B,WAAWV,UAAkBjB,EAAE2B,WAAWc,WAAazC,EAAE2B,WAAWY,WAAWvC,EAAE4B,cAAgB5B,EAAE2B,WAC7G6E,EAAiC,IAAzBxG,EAAE6B,UAAUZ,UAAkBjB,EAAE6B,UAAUY,WAAazC,EAAE6B,UAAUU,WAAWvC,EAAE8B,cAAgB9B,EAAE6B,UAAUme,UAAYhgB,EAAE6B,SAGlI7B,GAAEosB,gBAEJhmB,GAASI,EAAOA,EAAQJ,GAAO,IAG7BrI,EAASG,IAAIqxC,QAAQ/oC,GAAOipC,GAAGC,eAAc,IAASlpC,IACxDA,EAAQzI,EAASG,IAAIqxC,QAAQ/oC,GAAO2pC,MAAM33B,WAAY,EAAE,GAAI83B,kBAAkB,KAE5EvyC,EAASG,IAAIqxC,QAAQnpC,GAAOqpC,GAAGC,eAAc,IAAStpC,IACxDA,EAAQrI,EAASG,IAAIqxC,QAAQnpC,GAAOqP,MAAM+C,WAAY,EAAE,GAAI83B,kBAAkB,KAK5EwoB,EAFA1yD,GAASI,EACPJ,IAAUI,EACGJ,EAEArI,EAASG,IAAIqxC,QAAQnpC,GAAOmqC,eAAe/pC,EAAO6sC,EAASzvC,SAG5DyvC,EAAS/0C,UAAU+oD,kBAGrCla,EAAO6qB,EAAWc,EAAc33D,EAAUkyC,GAErClG,EAAK99B,GAMC89B,EAAK8qB,MACdQ,EAAoBtrB,EAAK99B,GAAIlO,EAAUkyC,GAEvC+kB,EAAmBjrB,EAAK99B,GAAIlO,EAAUkyC,GARlCA,EAASp1C,SAASywD,QAAQqK,GAC5Bn5D,EAAI+iC,YAAYo2B,GAAK,EAAO,MAE5BJ,EAAmBx3D,EAAUkyC,IASnCub,MAAO,SAASvb,EAAUhP,EAASljC,GACjC,GAAI23D,GAAezlB,EAAS/0C,UAAU+oD,kBAClCla,EAAe6qB,EAAWc,EAAc33D,EAAUkyC,EAEtD,OAAQlG,GAAK99B,KAAO89B,EAAK8qB,MAAS9qB,EAAK99B,IAAK,KAI/CtR,UAEF,SAASA,GAERA,EAASE,SAAS+6D,aAChB9oC,KAAM,SAASmjB,EAAUhP,EAASx/B,GAChC,GAAIwyD,GAAUhkB,EAAS/0C,UAAUuqD,yBAAyB,KAC1D,OAAIwO,GACK14D,KAAKs6D,iBAAiB5B,EAAShkB,IAEjC,GAGTub,MAAO,SAASvb,EAAUhP,GACtB,OAAO,GAGX40B,iBAAkB,SAAS1B,EAASlkB,GAClC,GAAI6lB,GAAUC,EAAeC,EAA2B1B,EAAQ2B,EAC5D1M,GAAQ,EACRhgB,EAAOhuC,IAgDX,OA9CA00C,GAAS/0C,UAAU+rD,uBAAuB,WAExC,IAAK,GAAI7kD,GAAI+xD,EAAQ/0D,OAAQgD,KAE3B,GADAkyD,EAASH,EAAQ/xD,GACbkyD,EAAOh1D,aACTw2D,EAAWxB,EAAOh1D,WAEO,OAArBw2D,EAASnmD,SAAyC,OAArBmmD,EAASnmD,SAAkB,CAM1D,GALA45C,GAAQ,EAERwM,EAAgBp7D,EAASG,IAAI60C,iBAAiBmmB,EAASx2D,YAAcwtC,MAAO,WAAY,EAAOmD,EAASzvC,SACxGw1D,EAAcr7D,EAASG,IAAI60C,iBAAiBmmB,EAASx2D,YAAcwtC,MAAO,OAAQ,EAAOmD,EAASzvC,SAE9Fu1D,GAAiBC,EAEf1B,EAAO/xD,cACT0zD,EAAY1sB,EAAK2sB,aAAaJ,EAAUxB,GACxCA,EAAO11D,YAAYq3D,IAErBF,EAAcvnD,aAAa8lD,EAAQ0B,EAAYzzD,iBAE1C,CAED+xD,EAAO/xD,cACT0zD,EAAY1sB,EAAK2sB,aAAaJ,EAAUxB,GACxCA,EAAO11D,YAAYq3D,GAGrB,KAAK,GAAI5nB,GAAIimB,EAAOn1D,WAAWC,OAAQivC,KACrCynB,EAASx2D,WAAWkP,aAAa8lD,EAAOn1D,WAAWkvC,GAAIynB,EAASvzD,YAGlEuzD,GAASx2D,WAAWkP,aAAa7Q,SAASP,cAAc,MAAO04D,EAASvzD,aACxE+xD,EAAOh1D,WAAWC,YAAY+0D,GAKG,IAA/BwB,EAAS32D,WAAWC,QACpB02D,EAASx2D,WAAWC,YAAYu2D,MAOrCvM,GAGT2M,aAAc,SAASJ,EAAUxB,GAI/B,IAHA,GAAIv2D,GAAW+3D,EAAS/3D,SACpBo4D,EAAUx4D,SAASP,cAAcW,GAE9Bu2D,EAAO/xD,aACZ4zD,EAAQv3D,YAAY01D,EAAO/xD,YAE7B,OAAO4zD,MAIXx7D,UAED,SAASA,GACRA,EAASE,SAASu7D,MAChBtpC,KAAM,SAASmjB,GACb,MAAOA,GAASomB,YAAYD,QAG9B5K,MAAO,SAASvb,GACd,OAAO,KAGXt1C,UAEF,SAAUA,GAER,GAAIstD,IACFlqD,SAAU,IAGZpD,GAASE,SAASy7D,YAChBxpC,KAAM,SAASmjB,EAAUhP,GACvBtmC,EAASE,SAASgxD,aAAa9qD,OAAOkvC,EAAUhP,EAASgnB,IAG3DuD,MAAO,SAASvb,EAAUhP,GACxB,MAAOtmC,GAASE,SAASgxD,aAAaL,MAAMvb,EAAUhP,EAASgnB,MAIlEttD,UAEF,SAASA,GACRA,EAASE,SAAS07D,MAChBzpC,KAAM,SAASmjB,GACb,MAAOA,GAASomB,YAAYE,QAG9B/K,MAAO,SAASvb,GACd,OAAO,KAGXt1C,UAMF,SAAUA,GACR,GAAI67D,GAAsB,GACtBC,EAAsB,GACtBz6D,EAAsB,EACtBK,EAAsB,GACtBq6D,EAAsB,GACtBC,EAAsB,+BACtBC,EAAsB,iCAGtB97D,GAFsB,oDAAsDH,EAASc,gBAAkB,UACjF,oDAAsDd,EAASc,gBAAkB,UACjFd,EAASG,IASnCH,GAASk8D,YAAcl8D,EAASM,KAAKkpC,WAAWr/B,QAE9CM,YAAa,SAAS84C,GACpB3iD,KAAK2iD,OAASA,EACd3iD,KAAK00C,SAAWiO,EAAOjO,SACvB10C,KAAKiF,QAAUjF,KAAK00C,SAASzvC,QAE7BjF,KAAKuT,SAAW,EAChBvT,KAAKu7D,cACLv7D,KAAKw7D,cAELx7D,KAAKy7D,WAELz7D,KAAK07D,YAGPA,SAAU,WACR,GAEIC,GAFA3tB,EAAYhuC,IACAA,MAAK00C,SAASknB,QAAQnoD,aAItClU,GAAI8pC,QAAQrpC,KAAKiF,QAAS,UAAW,SAAS6D,GAC5C,IAAIA,EAAM+yD,SAAY/yD,EAAMk/C,SAAYl/C,EAAMm/C,SAA9C,CAIA,GAAI6T,GAAUhzD,EAAMgzD,QAChBC,EAASD,IAAYb,IAAUnyD,EAAMkzD,SACrCC,EAAUH,IAAYb,GAASnyD,EAAMkzD,UAAcF,IAAYZ,CAE/Da,IACF/tB,EAAKgtB,OACLlyD,EAAM0uC,kBACGykB,IACTjuB,EAAK6sB,OACL/xD,EAAM0uC,qBAKVj4C,EAAI8pC,QAAQrpC,KAAKiF,QAAS,UAAW,SAAS6D,GAC5C,GAAIgzD,GAAUhzD,EAAMgzD,OAChBA,KAAYH,IAIhBA,EAAUG,GAENA,IAAYr7D,GAAiBq7D,IAAYh7D,IAC3CktC,EAAKytB,cAITz7D,KAAK2iD,OACF9Z,GAAG,mBAAoB,WACtBmF,EAAKytB,aAGN5yB,GAAG,yBAA0B,WAC5BmF,EAAKytB,cAIXA,SAAU,WACR,GAGIzvD,GAAOtJ,EAAM8Q,EAAQvO,EAASsO,EAH9B2oD,EAAoBl8D,KAAKu7D,WAAWv7D,KAAKuT,SAAW,GACpD4oD,EAAoBn8D,KAAK00C,SAAS0nB,UAAS,GAAO,GAClDnZ,EAAsBjjD,KAAKiF,QAAQmrC,YAAc,GAAKpwC,KAAKiF,QAAQo6C,aAAe,CAGtF,IAAI8c,IAAgBD,EAApB,CAIA,GAAIr4D,GAAS7D,KAAKu7D,WAAW13D,OAAS7D,KAAKw7D,WAAW33D,OAAS7D,KAAKuT,QAChE1P,GAASs3D,IACXn7D,KAAKu7D,WAAWtzD,QAChBjI,KAAKw7D,WAAWvzD,QAChBjI,KAAKuT,YAGPvT,KAAKuT,WAED0vC,IAEFj3C,EAAUhM,KAAK00C,SAAS/0C,UAAU2nD,WAClC5kD,EAAWsJ,GAASA,EAAM4L,eAAkB5L,EAAM4L,eAAiB5X,KAAKiF,QACxEuO,EAAWxH,GAASA,EAAM0M,YAAe1M,EAAM0M,YAAc,EAEzDhW,EAAKJ,WAAalD,EAASmB,aAC7B0E,EAAUvC,GAEVuC,EAAWvC,EAAKqB,WAChBwP,EAAWvT,KAAKq8D,kBAAkBp3D,EAASvC,IAG7CuC,EAAQ7B,aAAai4D,EAAkB7nD,GACd,mBAAf,IACRvO,EAAQ7B,aAAag4D,EAAgB7nD,GAIzC,IAAI0N,GAAQjhB,KAAKiF,QAAQoO,YAAY8oD,EACrCn8D,MAAKw7D,WAAWv7D,KAAKghB,GACrBjhB,KAAKu7D,WAAWt7D,KAAKk8D,GAEjBl3D,IACFA,EAAQ8sD,gBAAgBsJ,GACxBp2D,EAAQ8sD,gBAAgBqJ,MAK5BJ,KAAM,WACJh7D,KAAKy7D,WAEAz7D,KAAKs8D,iBAIVt8D,KAAKo8B,IAAIp8B,KAAKw7D,aAAax7D,KAAKuT,SAAW,IAC3CvT,KAAK2iD,OAAOxZ,KAAK,mBAGnB0xB,KAAM,WACC76D,KAAKu8D,iBAIVv8D,KAAKo8B,IAAIp8B,KAAKw7D,aAAax7D,KAAKuT,SAAW,IAC3CvT,KAAK2iD,OAAOxZ,KAAK,mBAGnBmzB,aAAc,WACZ,MAAOt8D,MAAKuT,SAAW,GAGzBgpD,aAAc,WACZ,MAAOv8D,MAAKuT,SAAWvT,KAAKu7D,WAAW13D,QAGzCu4B,IAAK,SAASogC,GACZx8D,KAAKiF,QAAQoQ,UAAY,EAMzB,KAJA,GAAIxO,GAAI,EACJjD,EAAa44D,EAAa54D,WAC1BC,EAAS24D,EAAa54D,WAAWC,OAE5BA,EAAFgD,EAAUA,IACf7G,KAAKiF,QAAQ5B,YAAYO,EAAWiD,GAAGwM,WAAU,GAInD,IAAIG,GACA9Q,EACA6Q,CAEAipD,GAAavoB,aAAaonB,IAC5B7nD,EAAYgpD,EAAar2B,aAAak1B,GACtC9nD,EAAYipD,EAAar2B,aAAai1B,GACtC14D,EAAY1C,KAAKiF,UAEjBvC,EAAY1C,KAAKiF,QAAQm/B,cAAc,IAAMi3B,EAAmB,MAAQr7D,KAAKiF,QAC7EuO,EAAY9Q,EAAKyjC,aAAak1B,GAC9B9nD,EAAY7Q,EAAKyjC,aAAai1B,GAC9B14D,EAAKqvD,gBAAgBsJ,GACrB34D,EAAKqvD,gBAAgBqJ,IAGN,OAAb7nD,IACF7Q,EAAO1C,KAAKy8D,oBAAoB/5D,GAAO6Q,IAGzCvT,KAAK00C,SAAS/0C,UAAUy8B,IAAI15B,EAAM8Q,IAGpC6oD,kBAAmB,SAAStqD,EAAQwD,GAIlC,IAHA,GAAI1O,GAAc,EACdjD,EAAcmO,EAAOnO,WACrBC,EAAcD,EAAWC,OACpBA,EAAFgD,EAAUA,IACf,GAAIjD,EAAWiD,KAAO0O,EACpB,MAAO1O,IAKb41D,oBAAqB,SAAS1qD,EAAQ1M,GACpC,MAAO0M,GAAOnO,WAAWyB,OAG5BjG,UAKHA,SAASQ,MAAM88D,KAAOpzD,KAAKC,QAEzBM,YAAa,SAASkI,EAAQ4qD,EAAiBvvD,GAC7CpN,KAAK+R,OAAWA,EAChB/R,KAAKiF,QAAW03D,EAChB38D,KAAKoN,OAAWA,EACXpN,KAAKoN,OAAOwvD,YACb58D,KAAK68D,sBAIXA,mBAAoB,WAClB,GAAI7uB,GAAOhuC,IACXA,MAAK+R,OAAO82B,GAAG,aAAc,WAC3BmF,EAAKj8B,OAAO82B,GAAG,cAAe,SAAS+Z,GACjCA,IAAS5U,EAAKl/B,MAChBk/B,EAAKj8B,OAAO+qD,YAAc9uB,EAC1BA,EAAK+uB,OAEL3uB,WAAW,WAAaJ,EAAK9pC,SAAY,IAEzC8pC,EAAKgvB,YAMb94D,MAAO,WACL,IAAIlE,KAAKiF,UAAWjF,KAAKiF,QAAQE,eAAiBnF,KAAKiF,QAAQE,cAAci/B,cAAc,YAAcpkC,KAAKiF,QAI9G,IAASjF,KAAKiF,SAAWjF,KAAKiF,QAAQf,QAAa,MAAMtC,MAG3Do7D,KAAM,WACJh9D,KAAKiF,QAAQsqB,MAAME,QAAU,QAG/BstC,KAAM,WACJ/8D,KAAKiF,QAAQsqB,MAAME,QAAU,IAG/BwtC,QAAS,WACPj9D,KAAKiF,QAAQ7B,aAAa,WAAY,aAGxC85D,OAAQ,WACNl9D,KAAKiF,QAAQ8sD,gBAAgB,eAIjC,SAAU3yD,GACR,GAAIG,GAAYH,EAASG,IACrBsjC,EAAYzjC,EAASyjC,OAEzBzjC,GAASQ,MAAMu9D,SAAW/9D,EAASQ,MAAM88D,KAAKnzD,QAE5CuF,KAAM,WAENjF,YAAa,SAASkI,EAAQqrD,EAAiBhwD,GAC7CpN,KAAK4J,KAAKmI,EAAQqrD,EAAiBhwD,GAC9BpN,KAAKoN,OAAOwvD,WAGb58D,KAAK4gD,aAAewc,EAFpBp9D,KAAKq9D,SAAWr9D,KAAK+R,OAAOsrD,SAI5Br9D,KAAKoN,OAAOkwD,oBACZt9D,KAAKu9D,2BAELv9D,KAAKw9D,gBAIXra,MAAO,WACLnjD,KAAKiF,QAAQoQ,UAAYwtB,EAAQ+B,+CAAiD,GAAK,QAGzFw3B,SAAU,SAASxkB,EAAOO,GACxB,GAAIjyC,GAAQlG,KAAK+pC,UAAY,GAAK3qC,EAASI,OAAOk5C,oBAAoB14C,KAAKiF,QAI3E,OAHI2yC,MAAU,IACZ1xC,EAAQlG,KAAK+R,OAAO6lC,MAAM1xC,EAAQiyC,KAAmB,GAAS,GAAQ,IAEjEjyC,GAGTm9C,SAAU,SAAS1tC,EAAMiiC,GACnBA,KAAU,IACZjiC,EAAO3V,KAAK+R,OAAO6lC,MAAMjiC,GAG3B,KACE3V,KAAKiF,QAAQoQ,UAAYM,EACzB,MAAO/T,GACP5B,KAAKiF,QAAQu9B,UAAY7sB,IAI7B4iC,QAAS,SAAS1B,GAChB,GAAI1zB,EACAnjB,MAAKL,WAAaK,KAAKL,UAAUiwD,qBACnCzsC,EAAWhY,MAAMilB,cAAcpwB,KAAKgB,MAEtChB,KAAK+R,OAAO6lC,MAAM53C,KAAKiF,QAAS2C,OAAWivC,GACvC1zB,GACFhY,MAAMmlB,iBAAiBnN,IAI3B45C,KAAM,WACJ/8D,KAAK4gD,aAAarxB,MAAME,QAAUzvB,KAAKy9D,eAAiB,GAEnDz9D,KAAKoN,OAAOwvD,YAAe58D,KAAKq9D,SAASp4D,QAAQy4D,WAEpD19D,KAAKi9D,UACLj9D,KAAKk9D,WAITF,KAAM,WACJh9D,KAAKy9D,cAAgBl+D,EAAI6vC,SAAS,WAAWC,KAAKrvC,KAAK4gD,cAC5B,SAAvB5gD,KAAKy9D,gBACPz9D,KAAKy9D,cAAgB,MAEvBz9D,KAAK4gD,aAAarxB,MAAME,QAAU,QAGpCwtC,QAAS,WACPj9D,KAAK+R,OAAOo3B,KAAK,oBACjBnpC,KAAKiF,QAAQ8sD,gBAAgB,oBAG/BmL,OAAQ,WACNl9D,KAAK+R,OAAOo3B,KAAK,mBACjBnpC,KAAKiF,QAAQ7B,aAAa,kBAAmB,SAG/Cc,MAAO,SAASy5D,GAIVv+D,EAASyjC,QAAQmE,kBAAoBhnC,KAAKkjD,qBAC5CljD,KAAKmjD,QAGPnjD,KAAK4J,MAEL,IAAIyX,GAAYrhB,KAAKiF,QAAQoc,SACzBs8C,IAAYt8C,GAAarhB,KAAKL,YACL,OAAvB0hB,EAAU7e,SACZxC,KAAKL,UAAU6nD,UAAUxnD,KAAKiF,QAAQoc,WAEtCrhB,KAAKL,UAAUkoD,SAAS7nD,KAAKiF,QAAQoc,aAK3CyzB,aAAc,WACZ,GAAI90C,KAAKiB,KAAOjB,KAAKgB,IAAK,CACxB,GAAIiW,KAcJ,OAZoC,mBAAzBjX,MAAKgB,IAAIS,YAClBwV,EAAIk+B,EAAIn1C,KAAKgB,IAAIS,YAEjBwV,EAAIk+B,GAAKn1C,KAAKiB,IAAI0E,iBAAmB3F,KAAKiB,IAAIqC,KAAKS,YAAc/D,KAAKiB,IAAIqC,MAAM/B,UAG9C,mBAAzBvB,MAAKgB,IAAIW,YAClBsV,EAAIo+B,EAAIr1C,KAAKgB,IAAIW,YAEjBsV,EAAIo+B,GAAKr1C,KAAKiB,IAAI0E,iBAAmB3F,KAAKiB,IAAIqC,KAAKS,YAAc/D,KAAKiB,IAAIqC,MAAM5B,WAG3EuV,IAIXqxC,aAAc,SAASrxC,GACjBA,GAAwB,mBAAVA,GAAIo+B,GAAsC,mBAAVp+B,GAAIk+B,GACpDn1C,KAAKgB,IAAImD,SAAS8S,EAAIo+B,EAAGp+B,EAAIk+B,IAIjC9D,eAAgB,WACd,MAAO9xC,GAAI8xC,eAAerxC,KAAKiF,UAGjCi+C,kBAAmB,WACjB,MAAOljD,MAAKqxC,mBAAsBrxC,KAAKoN,OAAiB,WAAIpN,KAAK4gD,aAAaza,aAAa,oBAAsBnmC,KAAKq9D,SAASp4D,QAAQkhC,aAAa,iBAAmBnmC,KAAKojD,gBAG9KrZ,QAAS,WACP,GAAI10B,GAAYrV,KAAKiF,QAAQoQ,UAAUpH,aACvC,OAAO,iCAAmCzD,KAAK6K,IAC1B,KAAdA,GACc,SAAdA,GACc,YAAdA,GACc,gBAAdA,GACArV,KAAKkjD,qBAGdqa,yBAA0B,WACtB,GAAIvvB,GAAOhuC,IACPA,MAAKoN,OAAOwvD,WACZ58D,KAAK47D,QAAU,GAAIr8D,GAAIiuC,oBAAoB,WACvCQ,EAAK4vB,YAEPv3D,UAAWrG,KAAKoN,OAAO6jD,WAAW2K,SACjC57D,KAAK4gD,eAER5gD,KAAK47D,QAAU,GAAIr8D,GAAIiuC,oBAAoB,WACvCQ,EAAK4vB,YAEPv3D,UAAWrG,KAAKoN,OAAO6jD,WAAW2K,UAEpC57D,KAAK4gD,aAAe5gD,KAAK47D,QAAQnuB,qBACjCluC,EAAI+vC,OAAOtvC,KAAK4gD,cAAcrR,MAAMvvC,KAAKq9D,SAASp4D,SAClDjF,KAAK69D,4BAIbL,aAAc,WACZ,GAAIxvB,GAAOhuC,IACXA,MAAK47D,QAAU,GAAIr8D,GAAIohD,QAAQ,WAC7B3S,EAAK4vB,YAEL7b,YAAc/hD,KAAKoN,OAAO20C,YAC1B17C,UAAWrG,KAAKoN,OAAO6jD,WAAW2K,UAEpC57D,KAAK4gD,aAAgB5gD,KAAK47D,QAAQ7a,WAElC,IAAI4b,GAAkB38D,KAAKq9D,SAASp4D,OACpC1F,GAAI+vC,OAAOtvC,KAAK4gD,cAAcrR,MAAMotB,GAEpC38D,KAAK69D,2BAIPA,wBAAyB,WACrB,GAAI79D,KAAKq9D,SAASp4D,QAAQ64D,KAAM,CAC9B,GAAIC,GAAc37D,SAASP,cAAc,QACzCk8D,GAAYt7D,KAAS,SACrBs7D,EAAYjvD,KAAS,iBACrBivD,EAAY73D,MAAS,EACrB3G,EAAI+vC,OAAOyuB,GAAaxuB,MAAMvvC,KAAKq9D,SAASp4D,WAIlD24D,QAAS,WACP,GAAI5vB,GAAOhuC,IACXA,MAAKiB,IAAqBjB,KAAK47D,QAAQnoD,cACvCzT,KAAKgB,IAAqBhB,KAAK47D,QAAQloD,YACvC1T,KAAKiF,QAAsBjF,KAAKoN,OAA0B,oBAAIpN,KAAK47D,QAAQnuB,qBAAuBztC,KAAKiB,IAAIqC,KACtGtD,KAAKoN,OAAOwvD,WAIb58D,KAAKu4C,WAHLv4C,KAAKq9D,SAAqBr9D,KAAK+R,OAAOsrD,SACtCr9D,KAAKiF,QAAQoQ,UAAarV,KAAKq9D,SAASjB,UAAS,GAAM,IAM3Dp8D,KAAKL,UAAY,GAAIP,GAASuvB,UAAU3uB,KAAK+R,OAAQ/R,KAAKiF,QAASjF,KAAKoN,OAAO6jD,WAAWC,qBAG1FlxD,KAAKV,SAAY,GAAIF,GAAS0wD,SAAS9vD,KAAK+R,QAEvC/R,KAAKoN,OAAOwvD,YACbr9D,EAAIkwC,gBACA,YAAa,aAAc,QAAS,OAAQ,MAAO,cACpDJ,KAAKrvC,KAAKq9D,SAASp4D,SAAS2qC,GAAG5vC,KAAKiF,SAG3CjF,KAAKg+D,mBAELz+D,EAAIotC,SAAS3sC,KAAKiF,QAASjF,KAAKoN,OAAO6jD,WAAWvc,UAG9C10C,KAAKoN,OAAOmiB,QAAUvvB,KAAKoN,OAAOkwD,qBACpCt9D,KAAKuvB,QAGPvvB,KAAKqpC,SAEL,IAAIv6B,GAAO9O,KAAKoN,OAAO0B,IACnBA,KACFvP,EAAIotC,SAAS3sC,KAAKiF,QAAS6J,GACtB9O,KAAKoN,OAAOkwD,qBAAuB/9D,EAAIotC,SAAS3sC,KAAK4gD,aAAc9xC,IAG1E9O,KAAKk9D,UAEAl9D,KAAKoN,OAAOwvD,YAAc58D,KAAKq9D,SAASp4D,QAAQy4D,UACnD19D,KAAKi9D,SAIP,IAAIpa,GAAsD,gBAA7B7iD,MAAKoN,OAAkB,YAChDpN,KAAKoN,OAAO6wD,YACVj+D,KAAKoN,OAAiB,WAAIpN,KAAK4gD,aAAaza,aAAa,oBAAsBnmC,KAAKq9D,SAASp4D,QAAQkhC,aAAa,cACpH0c,IACFtjD,EAAImjD,oBAAoB1iD,KAAK+R,OAAQ/R,KAAM6iD,EAAiB7iD,KAAKoN,OAAO6jD,WAAWgN,aAIrFj+D,KAAKV,SAASiyB,KAAK,gBAAgB,GAEnCvxB,KAAKk+D,sBACLl+D,KAAKm+D,mBACLn+D,KAAKo+D,oBAIAp+D,KAAKoN,OAAOwvD,aAAe58D,KAAKq9D,SAASp4D,QAAQgvC,aAAa,cAAgB7xC,SAASgiC,cAAc,WAAapkC,KAAKq9D,SAASp4D,SAAa49B,EAAQyB,SACxJ8J,WAAW,WAAaJ,EAAK9pC,OAAM,IAAU,KAI1C2+B,EAAQoD,kCACX7mC,EAASI,OAAOilD,qBAAqBzkD,MAInCA,KAAKq+D,UAAYr+D,KAAKoN,OAAOkxD,MAC/Bt+D,KAAKq+D,WAIFr+D,KAAKoN,OAAOwvD,YAAc58D,KAAKq9D,SAASL,OAG7Ch9D,KAAK+R,OAAOo3B,KAAK,cAAcA,KAAK,SAGtC60B,iBAAkB,WAChB,GAAIhwB,GAAiChuC,KACjCu+D,EAAiC17B,EAAQmD,wBACzCw4B,EAAiC37B,EAAQkD,kCAM7C,IAJIw4B,GACFv+D,KAAKV,SAASiyB,KAAK,iBAAiB,GAAO,GAGxCvxB,KAAKoN,OAAO+9B,SAAjB,GAMKqzB,GAAwBA,GAAuBD,KAClDv+D,KAAK+R,OAAO82B,GAAG,mBAAoB,WACjC,GAAItpC,EAAI8xC,eAAerD,EAAK/oC,SAASinB,MAAM3sB,EAAI4rC,SAASK,aAAc,CAKpE,IAAK,GAJDizB,GAAoBzwB,EAAKruC,UAAU+oD,kBACnCU,EAAcpb,EAAK/oC,QAAQG,iBAAiB,IAAM4oC,EAAK5gC,OAAO6jD,WAAWC,qBACzEwN,GAAiB,EAEZ73D,EAAIuiD,EAAYvlD,OAAQgD,KAC3BzH,EAASG,IAAIoH,SAASyiD,EAAYviD,GAAI43D,KACxCC,GAAiB,EAIhBA,IAAgBn/D,EAAI4rC,SAASszB,GAAoBzwB,EAAK5gC,OAAO6jD,WAAWC,yBAIjF3xD,EAAI8pC,QAAQrpC,KAAKiF,QAAS,OAAQ,WAChC1F,EAAI4rC,SAAS6C,EAAK/oC,SAAU+oC,EAAK5gC,OAAO6jD,WAAWC,wBAQvD,IACIyN,GAAkB3+D,KAAK47D,QAAQnoD,cAAcnH,qBAAqB,KAElEsyD,EAAkBr/D,EAAI4rC,SAASK,YAC/B6F,EAAkB,SAASpsC,GACzB,GAAIgxC,GAAc72C,EAASM,KAAK+qC,OAAOlrC,EAAI8xC,eAAepsC,IAAUq2B,MAIpE,OAHiC,SAA7B2a,EAAYhK,OAAO,EAAG,KACxBgK,EAAc,UAAYA,GAErBA,EAGb12C,GAAI8pC,QAAQrpC,KAAKiF,QAAS,UAAW,SAAS6D,GAC5C,GAAK61D,EAAM96D,OAAX,CAIA,GAEIoyC,GAFAkkB,EAAensB,EAAKruC,UAAU+oD,gBAAgB5/C,EAAM6nC,OAAOxrC,eAC3D6xC,EAAez3C,EAAI60C,iBAAiB+lB,GAAgB5oB,MAAO,KAAO,EAGjEyF,KAILf,EAAc5E,EAAe2F,GAG7B5I,WAAW,WACT,GAAIywB,GAAiBxtB,EAAe2F,EAChC6nB,KAAmB5oB,GAKnB4oB,EAAe3yC,MAAM0yC,IACvB5nB,EAAK5zC,aAAa,OAAQy7D,IAE3B,SAIPX,oBAAqB,WAMnB,GALAl+D,KAAKV,SAASiyB,KAAK,wBAAwB,GAKvCsR,EAAQ4B,cAAc,aAAc,CACtC,GAAIgO,IAAqB,QAAS,UAC9BqsB,EAAoBrsB,EAAW5uC,OAC/BoB,EAAoBjF,KAAKiF,OAE7B1F,GAAI8pC,QAAQpkC,EAAS,YAAa,SAAS6D,GACzC,GAGIs3B,GAHAuQ,EAAS7nC,EAAM6nC,QAAU7nC,EAAMyuC,WAC/BhoB,EAASohB,EAAOphB,MAChB1oB,EAAS,CAGb,IAAwB,QAApB8pC,EAAOnuC,SAAX,CAIA,KAASs8D,EAAFj4D,EAAoBA,IACzBu5B,EAAWqS,EAAW5rC,GAClB0oB,EAAM6Q,KACRuQ,EAAOvtC,aAAag9B,EAAUjU,SAASoD,EAAM6Q,GAAW,KACxD7Q,EAAM6Q,GAAY,GAKtBhhC,GAASI,OAAOslD,OAAO7/C,QAK7Bk5D,iBAAkB,WAChBn+D,KAAK86D,YAAc,GAAI17D,GAASk8D,YAAYt7D,KAAK+R,SAGnDqsD,kBAAmB,WAKjB,QAASW,GAAO5E,GACd,GAAI50D,GAAgBhG,EAAI60C,iBAAiB+lB,GAAgB5oB,MAAO,UAAY,EACxEhsC,IAAiBhG,EAAIoH,SAASqnC,EAAK/oC,QAASM,IAC9CyoC,EAAKruC,UAAU+rD,uBAAuB,WAChC1d,EAAK5gC,OAAO4yC,iBACTz6C,EAAczB,YAAeyB,EAAczB,aAAeyB,EAAc8b,WAAmD,IAAtC9b,EAAczB,WAAWxB,UAAkBiD,EAAczB,WAAW8oC,UAAUjmC,SAAS,4BAC/KpB,EAAclC,YAAY2qC,EAAK/sC,IAAIY,cAAc,OAEnDtC,EAAIqgD,sBAAsBr6C,IACU,MAA3BA,EAAc/C,UACvBjD,EAAIkgD,cAAcl6C,EAAe,OAdzC,GAAIyoC,GAAoChuC,KACpCg/D,EAAoC,gCACpCC,EAAoC,cAmBnCj/D,MAAKoN,OAAO4yC,eACfzgD,EAAI8pC,QAAQrpC,KAAKiF,SAAU,SAAU,WACnCmpC,WAAW,WACT,GAAIJ,EAAKjE,UAAW,CAClB,GAAIoW,GAAYnS,EAAK/sC,IAAIY,cAAc,IACvCmsC,GAAK/oC,QAAQoQ,UAAY,GACzB24B,EAAK/oC,QAAQ5B,YAAY88C,GACpBtd,EAAQ+B,+CAIXoJ,EAAKruC,UAAUgf,WAAWwhC,GAAW,IAHrCA,EAAU9qC,UAAY,OACtB24B,EAAKruC,UAAU6nD,UAAUrH,EAAUr8C,eAKtC,KAIPvE,EAAI8pC,QAAQrpC,KAAKiF,QAAS,UAAW,SAAS6D,GAC5C,GAAIgzD,GAAUhzD,EAAMgzD,OAEpB,MAAIhzD,EAAMkzD,UAAYlzD,EAAMk/C,SAAWl/C,EAAMo2D,kBAIzCpD,IAAY18D,EAASsB,WAAao7D,IAAY18D,EAASqB,eAA3D,CAGA,GAAI0+D,GAAe5/D,EAAI60C,iBAAiBpG,EAAKruC,UAAU+oD,mBAAqBnX,MAAOytB,GAAqC,EACxH,OAAIG,OACF/wB,YAAW,WAET,GACII,GADA2rB,EAAensB,EAAKruC,UAAU+oD,iBAGlC,IAA8B,OAA1ByW,EAAa38D,SAAmB,CAClC,IAAK23D,EACH,MAGF3rB,GAAOjvC,EAAI60C,iBAAiB+lB,GAAgB5oB,MAAO0tB,GAAa,GAE3DzwB,GACHuwB,EAAO5E,GAIP2B,IAAY18D,EAASsB,WAAay+D,EAAa38D,SAAS0pB,MAAM,aAChE6yC,EAAO5E,IAER,QAGDnsB,EAAK5gC,OAAO4yC,eAAiB8b,IAAY18D,EAASsB,YAActB,EAASyjC,QAAQiC,8BACnFh8B,EAAM0uC,iBACNxJ,EAAK1uC,SAASiyB,KAAK,4BAK1BnyB,UAEH,SAAUA,GACR,GAAIG,GAAkBH,EAASG,IAC3B0B,EAAkBmB,SAClBpB,EAAkBQ,OAClB49D,EAAkBn+D,EAAIY,cAAc,OAIpCw9D,GACE,mBACA,QAAS,SACT,cAAe,YAAa,aAAc,eAAgB,cAC1D,cAAe,iBACf,aAAc,kBAAmB,cAAe,iBAChD,aAAc,YAAa,gBAK7BC,GACE,mBACA,kBACA,sBAAuB,sBAAuB,sBAC9C,oBAAqB,oBAAqB,oBAC1C,qBAAsB,qBAAsB,qBAC5C,mBAAoB,mBAAoB,mBACxC,QAAS,UAAW,QACpB,gBAAiB,cAAe,eAAgB,aAChD,gBAAiB,iBAAkB,gBAAiB,gBACpD,eAAgB,gBAAiB,cAAe,iBAChD,WAAY,MAAO,OAAQ,QAAS,SAAU,UAC9C,iBAAkB,aAClB,qBAAsB,kBAAmB,iBAAkB,aAC3D,qBAAsB,kBAAmB,iBAAiB,aAC1D,kCAAmC,8BAA+B,0BAClE,qCAAsC,iCAAkC,6BACxE,oCAAqC,gCAAiC,4BACtE,iCAAkC,6BAA8B,yBAChE,QAAS,UAEXC,GACE,yCACA,iFACA,0CACA,yCACAngE,EAASyjC,QAAQY,QACf,mDACA,kDAEF,wFAWF+7B,EAAwB,SAASv6D,GACnC,GAAIA,EAAQw6D,UAGV,IAAMx6D,EAAQw6D,YAAe,MAAM79D,QAC9B,CACL,GAAI89D,GAAez6D,EAAQsqB,MACvBowC,EAAoB1+D,EAAI0E,gBAAgBpE,WAAaN,EAAIqC,KAAK/B,UAC9Dq+D,EAAqB3+D,EAAI0E,gBAAgBjE,YAAcT,EAAIqC,KAAK5B,WAChEm+D,GACEtsD,SAAkBmsD,EAAansD,SAC/B2hC,IAAkBwqB,EAAaxqB,IAC/BE,KAAkBsqB,EAAatqB,KAC/B0qB,iBAAkBJ,EAAaI,iBAGrCvgE,GAAIkxC,WACFl9B,SAAkB,WAClB2hC,IAAkB,WAClBE,KAAkB,WAElB0qB,iBAAkB,SACjBj3B,GAAG5jC,GAENA,EAAQf,QAER3E,EAAIkxC,UAAUovB,GAAgBh3B,GAAG5jC,GAE7BjE,EAAImD,UAINnD,EAAImD,SAASy7D,EAAoBD,IAMvCvgE,GAASQ,MAAMu9D,SAASz3D,UAAU6pB,MAAQ,WACxC,GAOIwwC,GAPA/xB,EAAwBhuC,KACxBggE,EAAwB/+D,EAAImjC,cAAc,UAC1Cu4B,EAAwB38D,KAAKq9D,SAASp4D,QACtCg7D,EAAwBtD,EAAgB1oB,aAAa,eACrDisB,EAAwBD,GAAkBtD,EAAgBx2B,aAAa,eACvEg6B,EAAwBxD,EAAgBptC,MAAME,QAC9C2wC,EAAwBzD,EAAgBe,QAG5C19D,MAAKqgE,gBAAuBjB,EAAc/rD,WAAU,GACpDrT,KAAKsgE,eAAuBlB,EAAc/rD,WAAU,GACpDrT,KAAKugE,mBAAuBnB,EAAc/rD,WAAU,GAGhD4sD,GACFtD,EAAgB5K,gBAAgB,eAG9B4K,IAAoBqD,GACtBrD,EAAgB6D,OAIlB7D,EAAgBe,UAAW,EAG3Bf,EAAgBptC,MAAME,QAAUswC,EAAyB,QAEpDpD,EAAgBx2B,aAAa,SAA4D,SAAjD5mC,EAAI6vC,SAAS,UAAUC,KAAKstB,IACpEA,EAAgBx2B,aAAa,SAA2D,SAAhD5mC,EAAI6vC,SAAS,SAASC,KAAKstB,MACtEA,EAAgBptC,MAAME,QAAUswC,EAAyBI,GAI3D5gE,EAAI8wC,WAAWivB,GAAgBjwB,KAAKstB,GAAiB/sB,GAAG5vC,KAAK4gD,cAAc5Q,MAAMhwC,KAAKsgE,gBAGtF/gE,EAAI8wC,WAAWgvB,GAAiBhwB,KAAKstB,GAAiB/sB,GAAG5vC,KAAKiF,SAAS+qC,MAAMhwC,KAAKsgE,gBAGlF/gE,EAAIq3C,UAAU2oB,GAAsB5oB,KAAK32C,KAAKiF,QAAQE,eAGtDw3D,EAAgBe,UAAW,EAC3Bn+D,EAAI8wC,WAAWivB,GAAgBjwB,KAAKstB,GAAiB/sB,GAAG5vC,KAAKugE,oBAC7DhhE,EAAI8wC,WAAWgvB,GAAiBhwB,KAAKstB,GAAiB/sB,GAAG5vC,KAAKugE,oBAC9D5D,EAAgBe,SAAW0C,EAG3BzD,EAAgBptC,MAAME,QAAU0wC,EAChCX,EAAsB7C,GACtBA,EAAgBptC,MAAME,QAAUswC,EAEhCxgE,EAAI8wC,WAAWivB,GAAgBjwB,KAAKstB,GAAiB/sB,GAAG5vC,KAAKqgE,iBAC7D9gE,EAAI8wC,WAAWgvB,GAAiBhwB,KAAKstB,GAAiB/sB,GAAG5vC,KAAKqgE,iBAG9D1D,EAAgBptC,MAAME,QAAU0wC,EAEhC5gE,EAAI8wC,YAAY,YAAYhB,KAAKstB,GAAiB/sB,GAAG5vC,KAAK4gD,aAK1D,IAAI6f,GAAsBrhE,EAASM,KAAKmoC,MAAMy3B,GAAgBt3B,SAAS,WAmCvE,OAhCIg4B,GACFR,EAAsBQ,GAEtBrD,EAAgB6D,OAIdP,GACFtD,EAAgBv5D,aAAa,cAAe88D,GAI9ClgE,KAAK+R,OAAO82B,GAAG,iBAAkB,WAC/BtpC,EAAI8wC,WAAWowB,GAAsBpxB,KAAKrB,EAAKqyB,iBAAiBzwB,GAAG5B,EAAK4S,cACxErhD,EAAI8wC,WAAWgvB,GAAsBhwB,KAAKrB,EAAKqyB,iBAAiBzwB,GAAG5B,EAAK/oC,WAG1EjF,KAAK+R,OAAO82B,GAAG,gBAAiB,WAC9BtpC,EAAI8wC,WAAWowB,GAAsBpxB,KAAKrB,EAAKsyB,gBAAgB1wB,GAAG5B,EAAK4S,cACvErhD,EAAI8wC,WAAWgvB,GAAsBhwB,KAAKrB,EAAKsyB,gBAAgB1wB,GAAG5B,EAAK/oC,WAGzEjF,KAAK+R,OAAOs3B,QAAQ,mBAAoB,WACtC9pC,EAAI8wC,WAAWowB,GAAsBpxB,KAAKrB,EAAKuyB,oBAAoB3wB,GAAG5B,EAAK4S,cAC3ErhD,EAAI8wC,WAAWgvB,GAAsBhwB,KAAKrB,EAAKuyB,oBAAoB3wB,GAAG5B,EAAK/oC,WAG7EjF,KAAK+R,OAAOs3B,QAAQ,kBAAmB,WACrC9pC,EAAI8wC,WAAWowB,GAAsBpxB,KAAKrB,EAAKsyB,gBAAgB1wB,GAAG5B,EAAK4S,cACvErhD,EAAI8wC,WAAWgvB,GAAsBhwB,KAAKrB,EAAKsyB,gBAAgB1wB,GAAG5B,EAAK/oC,WAGlEjF,OAERZ,UAUH,SAAUA,GACR,GAAIG,GAAYH,EAASG,IACrBqxC,EAAUrxC,EAAIqxC,QACd/N,EAAYzjC,EAASyjC,QAIrB69B,GACEC,GAAM,OACNC,GAAM,SACNC,GAAM,aAGRC,GAIFC,aAAc,SAAUpwB,EAAQ5H,EAAQV,GACtC,IAAI,GAAIxhC,GAAI,EAAG6hC,EAAMK,EAAOllC,OAAY6kC,EAAJ7hC,EAASA,IAC3C8pC,EAAO9nC,iBAAiBkgC,EAAOliC,GAAIwhC,GAAU,IAMjD24B,gBAAiB,SAAUrwB,EAAQ5H,EAAQV,GACzC,IAAI,GAAIxhC,GAAI,EAAG6hC,EAAMK,EAAOllC,OAAY6kC,EAAJ7hC,EAASA,IAC3C8pC,EAAOhoC,oBAAoBogC,EAAOliC,GAAIwhC,GAAU,IAKpD44B,yBAA0B,SAASvsB,EAAUwsB,GAC3C,GAAIxsB,EAAS/0C,UAAU6qD,wBAAyB,CAC9C,GAAIviC,GAAMysB,EAAS/0C,UAAUoD,eACzBo+D,EAAQl5C,EAAIjlB,UAChB,IAAIm+D,GAA4B,IAAnBA,EAAM7+D,WAAmBlD,EAASG,IAAI60C,iBAAiB+sB,GAAQ5vB,MAAO,WAAW,EAAOmD,EAASzvC,UAAYi8D,GAAQ,CAChI,GAAIluD,GAAWmuD,EAAMv9D,WAAWqkB,EAAIhlB,aACpC,IAAI+P,GAAkC,IAAtBA,EAAS1Q,SAAuC,OAAtB0Q,EAASxQ,SAEjD,MADAwQ,GAASjP,WAAWC,YAAYgP,IACzB,GAIb,OAAO,GAITouD,yBAA0B,SAAS1sB,GACjC,GAAIgC,GAAShC,EAAS/0C,UAAU0rD,oBAAmB,EACnD,IAAI3U,IAA2B,YAAhBA,EAAOj0C,MAAsC,aAAhBi0C,EAAOj0C,OAAiD,IAAzBi0C,EAAOh0C,KAAKJ,UAAkBo0C,EAAOh0C,KAAKkqC,UAAUjmC,SAAS+tC,EAAStnC,OAAO6jD,WAAWC,qBAAsB,CACvL,GAAI4P,EAAQG,yBAAyBvsB,GAAU,GAC7C,OAAO,CAET,KACE,GAAI+U,GAAK,GAAIllD,aAAY,8BAA+ByE,SAAS,EAAMC,YAAY,GACnFytC,GAAOh0C,KAAKgnD,cAAcD,GAC1B,MAAOE,IAET,MADAjT,GAAOh0C,KAAKqB,WAAWC,YAAY0yC,EAAOh0C,OACnC,EAET,OAAO,GAKT2+D,+BAAgC,SAAS3sB,GACvC,GAAI/0C,GAAY+0C,EAAS/0C,UACrB8xC,EAAW9xC,EAAUkqD,iBAEzB,IAAIlqD,EAAUorD,wBAAwB3rD,EAASyjC,QAAQ8E,sBAAwB8J,GACnD,IAAtBA,EAASnvC,UACTlD,EAASG,IAAIqxC,QAAQa,GAAUX,GAAG9lC,UACjC4lC,EAAQa,GAAUjnC,MACjB+mC,MAAO,0BAEX,CACA,GAAI,QAAU/mC,KAAKinC,EAASwE,aAAexE,EAASjP,WAGlD,MADAiP,GAAS1tC,WAAWC,YAAYytC,IACzB,CAEP,IAAIA,EAASpwB,UAAW,CACtB,GAAIigD,GAAU7vB,EAASpwB,UACnB84C,EAAex6D,EAAU+oD,kBACzB6Y,EAAqB3wB,EAAQa,GAAUG,eAAeuoB,EAAczlB,EAASzvC,SAC7EotC,EAAUjzC,EAASG,IAAI60C,iBAAiB+lB,GACtC5oB,MAAO,oDACN,EAAOgwB,GAAsB7sB,EAASzvC,QAE7C,IAAIotC,EAGF,MAFAzB,GAAQyB,GAASC,kBAAkBb,GAAU,GAC7C9xC,EAAUkoD,SAASyZ,IACZ,CACF,IAAIliE,EAASyjC,QAAQ8E,oBAI1B,MAHAwyB,GAAex6D,EAAUiqD,eACzBhZ,EAAQupB,GAAc7nB,kBAAkBb,GAAU,GAClD9xC,EAAUkoD,SAASyZ,IACZ,GAMjB,OAAO,GAKTE,4BAA6B,SAAS9sB,GACpC,GAAIt1C,EAASyjC,QAAQqE,uBAAwB,CAC3C,GAEcuK,GAAUgwB,EAEpBhwB,EACAiwB,EALA/hE,EAAY+0C,EAAS/0C,UAAUoD,eAC/Bo+D,EAAQxhE,EAAUqD,WAElB2+D,EAAejtB,EAAS/0C,UAAUorD,yBAUtC,IALuB,IAAnBoW,EAAM7+D,UAA6C,IAA3B3C,EAAUsD,cAAsBk+D,IAAUA,EAAMp9D,WAAWD,aACrFq9D,EAAQA,EAAMp9D,WACd49D,GAAe,GAGbA,GAAgBR,GAA4B,IAAnBA,EAAM7+D,UAAqC,OAAnB6+D,EAAM3+D,WACzDivC,EAAWb,EAAQuwB,GAAO3vB,MAAM33B,WAAY,EAAE,GAAI83B,kBAAkB,IAC/DF,IAAY0vB,EAAMp9D,YAA6C,OAA9Bo9D,EAAMp9D,WAAWvB,UAAmD,OAA9B2+D,EAAMp9D,WAAWvB,WAC3FivC,EAAWb,EAAQuwB,EAAMp9D,YAAYytC,MAAM33B,WAAY,EAAE,GAAI83B,kBAAkB,IAC/E+vB,EAAmBP,EAAMp9D,YAEvB0tC,GAqBF,MApBAgwB,GAAYN,EAAMr9D,WAClB8sC,EAAQuwB,GAAO7uB,kBAAkBb,GAAU,GAEvCiwB,GAAyD,IAArCA,EAAiBne,SAAS1/C,QAChD69D,EAAiBl8D,SAGfi8D,EACF/sB,EAAS/0C,UAAU6nD,UAAUia,GACpBhwB,IACiB,IAAtBA,EAASnvC,SACPmvC,EAASpwB,UACXqzB,EAAS/0C,UAAUkoD,SAASpW,EAASpwB,WAErCqzB,EAAS/0C,UAAUgf,WAAW8yB,GAGhCiD,EAAS/0C,UAAUkoD,SAASpW,KAGzB,EAIb,OAAO,GAGTmwB,0CAA2C,SAASltB,GAClD,GAGImtB,GAHAliE,EAAY+0C,EAAS/0C,UACrB8xC,EAAW9xC,EAAUkqD,kBACrBsQ,EAAex6D,EAAU+oD,iBAG7B,OAAI/oD,GAAUorD,2BACkB,IAA1BoP,EAAa73D,WACf63D,EAAeA,EAAap2D,YAE9B89D,EAAiB1H,EAAar2D,WAC9B8sC,EAAQupB,GAAc7nB,kBAAkBb,GAAU,GAC9CowB,GACFntB,EAAS/0C,UAAU6nD,UAAUqa,IAExB,IAEF,GAKTC,+BAAgC,SAASptB,GACvC,GACImgB,GAAW9iD,EADXgwD,EAAa,0BAEbzgE,GAAM,CAGV,IADAuzD,EAAYngB,EAAS/0C,UAAUoqD,oBAC3B8K,KAEEA,EAAU7K,WAAa6K,EAAU7hD,YACnCjB,EAASxS,EAAI60C,iBAAiBygB,EAAU7K,WAAa6K,EAAU7hD,UAAYu+B,MAAOwwB,GAAc,GAC5FhwD,IAAW2iC,EAASzvC,UACtB8M,EAASnK,SAITmK,GAAU8iD,EAAU7K,WACtB,GAAIpZ,EAAQikB,EAAU7K,WAAWlZ,GAAGhC,aAElC,GAAI4F,EAAStnC,OAAO40D,4BAA6B,CAE/C1gE,GAAM,EACNuzD,EAAU7K,UAAUjmD,WAAWC,YAAY6wD,EAAU7K,WAGjDpZ,EAAQikB,EAAU7hD,UAAU89B,GAAGhC,aACjC+lB,EAAU7hD,SAASjP,WAAWC,YAAY6wD,EAAU7hD,SAGtD,IAAIivD,GAASvtB,EAASzzC,IAAIY,cAAc,KACpC+uC,GAAQikB,EAAU7hD,UAAU89B,GAAGhC,aAAe+lB,EAAU7hD,WAAajB,EAAOsP,UAC9EtP,EAAOhO,WAAWkP,aAAagvD,EAAQlwD,EAAO/K,aAE9C0tC,EAAS/0C,UAAU4sD,oBAAoBx6C,EAAQkwD,GAI7CpN,EAAU7hD,UAA4C,IAAhC6hD,EAAU7hD,SAAS1Q,WAE3CuyD,EAAU7hD,SAASkC,KAAO2/C,EAAU7hD,SAASkC,KAAKwR,QAAQ,aAAc,KAE1EguB,EAAS/0C,UAAU6nD,UAAUya,QAG1B,IAAqC,IAAjCpN,EAAU7K,UAAU1nD,UAAkBlD,EAASyjC,QAAQ0E,6BAA+BstB,EAAU5K,aAAe4K,EAAU7K,UAAU90C,KAAKrR,SAAWgxD,EAAU7hD,SAAU,CAIhL1R,GAAM,CACN,IAAI4gE,GAAMxtB,EAASzzC,IAAIY,cAAc,MACjCsgE,EAAMztB,EAASzzC,IAAIY,cAAc,MACjC0lB,EAAImtB,EAASzzC,IAAIwU,wBACrB8R,GAAElkB,YAAY6+D,GACd36C,EAAElkB,YAAY8+D,GACdztB,EAAS/0C,UAAUqhB,WAAWuG,GAC9BmtB,EAAS/0C,UAAU6nD,UAAU2a,GAKnC,MAAO7gE,KAIP8gE,EAAuB,SAASt5D,EAAO4rC,GACzC,GAAI/0C,GAAY+0C,EAAS/0C,SACX+0C,GAASzvC,OAEvB,IAAItF,EAAU2lB,cAAe,CAK3B,GAAIovB,EAAS3K,YAAc2K,EAAStnC,OAAO4yC,cAEzC,WADAl3C,GAAM0uC,gBAGR,IAAIspB,EAAQM,yBAAyB1sB,GAEnC,WADA5rC,GAAM0uC,gBAGR,IAAIspB,EAAQU,4BAA4B9sB,GAEtC,WADA5rC,GAAM0uC,gBAGR,IAAIspB,EAAQO,+BAA+B3sB,GAEzC,WADA5rC,GAAM0uC,gBAGR,IAAIspB,EAAQG,yBAAyBvsB,GAEnC,WADA5rC,GAAM0uC,gBAGR,IAAIp4C,EAASyjC,QAAQ8E,qBACfm5B,EAAQc,0CAA0CltB,GAEpD,WADA5rC,GAAM0uC,qBAKN73C,GAAUwpD,uBACZrgD,EAAM0uC,iBACN73C,EAAUkf,mBAKZwjD,EAAsB,SAASv5D,EAAO4rC,GACxC,GAAIA,EAAStnC,OAAO4yC,gBAAkBl3C,EAAMkzD,WAAalzD,EAAMk/C,QAAS,CAMlEtT,EAAS/0C,UAAU2lB,eACjBw7C,EAAQgB,+BAA+BptB,IACzC5rC,EAAM0uC,iBAKZ,GAAI3U,EAAQ+E,sCAAwC8M,EAAS/0C,UAAU6qD,wBAAyB,CAC9F,GAAI7Z,GAAS+D,EAAS/0C,UAAU+oD,iBAAgB,GAC5C4Z,EAAY3xB,GAA8B,IAApBA,EAAOruC,SAAkBquC,EAAO5sC,WAAa4sC,CAGnE2xB,IAAYA,EAASh9D,QAAQ,MAA4B,IAApBqrC,EAAOruC,UAAkBquC,IAAW2xB,EAASjhD,WAGpFqzB,EAAS/0C,UAAUkoD,SAASya,KAK9BC,EAAmB,SAAS7tB,EAAUzvC,EAAS+2D,GACjD,GAAKtnB,EAAS/0C,UAAU2lB,eAEjB,GAAIovB,EAAS/0C,UAAUwrD,qBAAqB,MACjD,GAAI6Q,GACF,GAAItnB,EAASp1C,SAASiyB,KAAK,eAAgB,WAE3C,IAAImjB,EAASp1C,SAASiyB,KAAK,cAAe,WAL5CmjB,GAAS/0C,UAAUkf,gBAUrB61B,GAASp1C,SAASiyB,KAAK,aAAc,WAGnCixC,EAAuB,SAAS15D,GAC5B9I,KAAKyiE,wBACPC,cAAcD,wBAEhBziE,KAAK+R,OAAOo3B,KAAK,qBAIjBw5B,EAAwB,SAAU75D,GACpC9I,KAAK+R,OAAOo3B,KAAK,oBAAqBrgC,GAAOqgC,KAAK,6BAA8BrgC,GAChFslC,WAAW,WACTpuC,KAAK+R,OAAOo3B,KAAK,cAAergC,GAAOqgC,KAAK,uBAAwBrgC,IACnEg/C,KAAK9nD,MAAO,IAGb4iE,EAAc,SAAS95D,GACzB9I,KAAK+R,OAAOo3B,KAAK,QAASrgC,GAAOqgC,KAAK,iBAAkBrgC,GAIxDslC,WAAW,WACTpuC,KAAK6iE,WAAa7iE,KAAKo8D,UAAS,GAAO,IACtCtU,KAAK9nD,MAAO,IAGb8iE,EAAa,SAASh6D,GACxB,GAAI9I,KAAK6iE,aAAe7iE,KAAKo8D,UAAS,GAAO,GAAQ,CAEnD,GAAI2G,GAAcj6D,CACS,mBAAjBlD,QAAOo9D,SACfD,EAAcn9D,OAAOo9D,OAAOl6D,GAASrG,MAAQyD,MAAO,aAEtDlG,KAAK+R,OAAOo3B,KAAK,SAAU45B,GAAa55B,KAAK,kBAAmB45B,GAElE/iE,KAAK+R,OAAOo3B,KAAK,OAAQrgC,GAAOqgC,KAAK,gBAAiBrgC,IAGpDm6D,EAAc,SAASn6D,GACzB9I,KAAK+R,OAAOo3B,KAAKrgC,EAAMrG,KAAMqG,GAAOqgC,KAAKrgC,EAAMrG,KAAO,YAAaqG,GAChD,UAAfA,EAAMrG,MACR2rC,WAAW,WACTpuC,KAAK+R,OAAOo3B,KAAK,qBAChB2e,KAAK9nD,MAAO,IAIfkjE,EAAa,SAASp6D,GACpB9I,KAAKoN,OAAO+1D,oBAGV/jE,EAASyjC,QAAQ4E,wBACnB3+B,EAAMyrC,cAAc6uB,QAAQ,YAAapjE,KAAKoN,OAAO+1D,kBAAoBnjE,KAAKL,UAAU6vD,WACxF1mD,EAAMyrC,cAAc6uB,QAAQ,aAAcpjE,KAAKL,UAAU8vD,gBACzD3mD,EAAM0uC,kBAERx3C,KAAK+R,OAAOo3B,KAAKrgC,EAAMrG,KAAMqG,GAAOqgC,KAAKrgC,EAAMrG,KAAO,YAAaqG,KAInEu6D,EAAc,SAASv6D,GACzB,GAAIgzD,GAAUhzD,EAAMgzD,SAChBA,IAAY18D,EAASwB,WAAak7D,IAAY18D,EAASsB,YACzDV,KAAK+R,OAAOo3B,KAAK,qBAIjBm6B,EAAkB,SAASx6D,GAC7B,IAAK+5B,EAAQuD,mCAAoC,CAE/C,GAAIuK,GAAS7nC,EAAM6nC,OACf4yB,EAAYvjE,KAAKiF,QAAQG,iBAAiB,OAC1Co+D,EAAcxjE,KAAKiF,QAAQG,iBAAiB,IAAMpF,KAAKoN,OAAO6jD,WAAWC,oBAAsB,QAC/FuS,EAAWrkE,EAASM,KAAKmoC,MAAM07B,GAAWv7B,QAAQw7B,EAE9B,SAApB7yB,EAAOnuC,UAAsBpD,EAASM,KAAKmoC,MAAM47B,GAAU98D,SAASgqC,IACtE3wC,KAAKL,UAAUgf,WAAWgyB,GAK1BvxC,EAASyjC,QAAQ8E,sBACnB3nC,KAAKL,UAAU+jE,kBAAoBruB,EAAGvsC,EAAM66D,QAASxuB,EAAGrsC,EAAM86D,SAC9Dx1B,WAAW,iBACFpuC,MAAKL,UAAU+jE,kBACtB5b,KAAK9nD,MAAO,KAMd6jE,EAAwB,SAAS/6D,GACnC,GACImO,IADSnO,EAAM6nC,OACT3wC,KAAKL,UAAU+jE,iBACzB,IAAIzsD,EAAK,CACP,GAAI6sD,GAAgB1hE,SAASkB,KAAK4K,iBAChCkgC,YAAW,WACT,IACE01B,EAAcC,YAAY9sD,EAAIo+B,EAAGp+B,EAAIk+B,GACrC2uB,EAAcr6C,SACd,MAAO7nB,MACTkmD,KAAK9nD,MAAO,KAIhBgkE,EAAc,SAASl7D,GACzB,GAAI9I,KAAKoN,OAAO6jD,WAAWC,oBAAqB,CAG9C,GAAI+S,GAAa7kE,EAASG,IAAI60C,iBAAiBtrC,EAAM6nC,QAAUY,MAAO,IAAMvxC,KAAKoN,OAAO6jD,WAAWC,sBAAuB,EAAOlxD,KAAKiF,QAClIg/D,IACFjkE,KAAKL,UAAUkoD,SAASoc,KAK1BC,EAAa,SAASp7D,GACnB+5B,EAAQuD,oCAEXgI,WAAW,WACTpuC,KAAKL,UAAUoD,eAAeU,mBAC7BqkD,KAAK9nD,MAAO,IAIfmkE,EAAgB,SAASr7D,GAC3B,GAIIiJ,GAJA+pD,EAAUhzD,EAAMgzD,QAChBp2B,EAAUg7B,EAAU5E,GACpBnrB,EAAS3wC,KAAKL,UAAU+oD,iBAAgB,EAC5B/X,IAA8B,IAApBA,EAAOruC,SAAkBquC,EAAO5sC,WAAa4sC,CAIvE,QAAK7nC,EAAMk/C,UAAWl/C,EAAMm/C,SAAan/C,EAAM+yD,QAAsB,KAAZC,IAOpDhzD,EAAMk/C,SAAWl/C,EAAMm/C,WAAan/C,EAAM+yD,QAAUn2B,IACvD1lC,KAAKV,SAASiyB,KAAKmU,GACnB58B,EAAM0uC,kBAGJskB,IAAY18D,EAASqB,eAEvB2hE,EAAqBt5D,EAAO9I,OAI1B87D,IAAY18D,EAASqB,eAAiBq7D,IAAY18D,EAAS0B,aACzD6vC,GAA8B,QAApBA,EAAOnuC,WACnBsG,EAAM0uC,iBACNzlC,EAAS4+B,EAAO5sC,WAChBgO,EAAO/N,YAAY2sC,GAEK,MAApB5+B,EAAOvP,UAAqBuP,EAAOjO,YACrCiO,EAAOhO,WAAWC,YAAY+N,GAEhCq8B,WAAW,WACThvC,EAASI,OAAOslD,OAAO9kD,KAAKiF,UAC3B6iD,KAAK9nD,MAAO,IAIfA,KAAKoN,OAAOg3D,cAAgBtI,IAAY18D,EAASyB,UAEnDiI,EAAM0uC,iBACN+qB,EAAiBviE,KAAMA,KAAKiF,QAAS6D,EAAMkzD,gBAGzCF,IAAY18D,EAASsB,WACvB2hE,EAAoBv5D,EAAO9I,SAvC3BA,KAAKL,UAAUwvD,gBACfrmD,GAAM0uC,mBA2CN6sB,EAAiB,SAASv7D,GAG5B,GAAoB,IAAhBA,EAAMi/C,OAUJ/nD,KAAKL,UAAU6qD,wBAAyB,CAC1C,GAEI8Z,GAAgBC,EAFhB5zB,EAAS3wC,KAAKL,UAAU+oD,iBAAgB,GACxC4Z,EAAY3xB,GAA8B,IAApBA,EAAOruC,SAAkBquC,EAAO5sC,WAAa4sC,CAGnE2xB,IAAYA,EAASh9D,QAAQ,MAAQqrC,IAAW2xB,EAASjhD,YAEvC,KAAhBvY,EAAMi/C,OAAgB/nD,KAAKL,UAAU6qD,uBAAsB,IAAS3nB,EAAQ+E,sCAK9E08B,EAAiBtkE,KAAKiB,IAAIc,eAAe3C,EAASc,iBAClDF,KAAKL,UAAUqhB,WAAWsjD,GAC1BtkE,KAAKL,UAAU6nD,UAAU8c,GACzBl2B,WAAW,WAELk2B,EAAeruB,YAAYpyC,OAAS,GACtCygE,EAAeruB,YAAcquB,EAAeruB,YAAYvvB,QAAQtnB,EAASe,wBAAyB,IAClGH,KAAKL,UAAUkoD,SAASyc,IAExBA,EAAe9+D,UAGjBsiD,KAAK9nD,MAAO,IACW,KAAhB8I,EAAMi/C,OAKS,IAApBpX,EAAOruC,UAAkB,aAAekI,KAAKmmC,EAAOsF,eAEtDtF,EAAOsF,YAActF,EAAOsF,YAAYvvB,QAAQ,aAAc,IAC9D69C,EAAQvkE,KAAKiB,IAAIc,eAAe,KAChCugE,EAASv+D,WAAWkP,aAAasxD,EAAOjC,EAASt7D,aACjDhH,KAAKL,UAAUkoD,SAAS0c,GAAO,GAC/Bz7D,EAAM0uC,oBAwBlBp4C,GAASQ,MAAMu9D,SAASz3D,UAAU8+D,eAAiB1D,EAEnD1hE,EAASQ,MAAMu9D,SAASz3D,UAAU2jC,QAAU,WAC1C,GACIntB,GAAuBlc,KAAK47D,QAAiB,UAAI57D,KAAK47D,QAAQ7a,YAAc/gD,KAAK47D,QAAQnuB,qBAEzFg3B,GADsBzkE,KAAKiF,QACJ49B,EAAQoC,mCAAqCjlC,KAAK47D,QAAQnuB,mBAAsBztC,KAAKiF,QAAUjF,KAAK47D,QAAQloD,YAEvI1T,MAAK6iE,WAAa7iE,KAAKo8D,UAAS,GAAO,GACvCp8D,KAAK8gE,QAAUA,EAGf5kD,EAAUrT,kBAAkB,kBAAmB25D,EAAqB1a,KAAK9nD,OAAO,GAI3E6iC,EAAQ2E,2BACXxnC,KAAKyiE,uBAAyBiC,YAAY,WACnCnlE,EAAIoH,SAASvE,SAASuD,gBAAiBuW,IAC1CsmD,EAAqB/5D,KAAKzI,OAE3B,MAGL8gE,EAAQC,aAAa0D,GAAmB,OAAQ,QAAS,UAAW,QAAS,SAAU9B,EAAsB7a,KAAK9nD,OAClHykE,EAAiB57D,iBAAiB,QAAS+5D,EAAY9a,KAAK9nD,OAAO;AACnEykE,EAAiB57D,iBAAiB,OAASi6D,EAAWhb,KAAK9nD,OAAO,GAElE8gE,EAAQC,aAAa/gE,KAAKiF,SAAU,OAAQ,QAAS,eAAgBg+D,EAAYnb,KAAK9nD,OAAO,GAC7FA,KAAKiF,QAAQ4D,iBAAiB,OAAcq6D,EAAWpb,KAAK9nD,OAAO,GACnEA,KAAKiF,QAAQ4D,iBAAiB,YAAcy6D,EAAgBxb,KAAK9nD,OAAO,GACxEA,KAAKiF,QAAQ4D,iBAAiB,QAAcm7D,EAAYlc,KAAK9nD,OAAO,GACpEA,KAAKiF,QAAQ4D,iBAAiB,OAAcq7D,EAAWpc,KAAK9nD,OAAO,GACnEA,KAAKiF,QAAQ4D,iBAAiB,QAAcw6D,EAAYvb,KAAK9nD,OAAO,GACpEA,KAAKiF,QAAQ4D,iBAAiB,UAAcs7D,EAAcrc,KAAK9nD,OAAO,GACtEA,KAAKiF,QAAQ4D,iBAAiB,WAAcw7D,EAAevc,KAAK9nD,OAAO,GAGnEZ,EAASyjC,QAAQ8E,qBACnB3nC,KAAKiF,QAAQ4D,iBAAiB,kBAAmBg7D,EAAsB/b,KAAK9nD,OAAO,GAGrFA,KAAKiF,QAAQ4D,iBAAiB,YAAa,WACzC7I,KAAK+R,OAAOo3B,KAAK,sBAChB2e,KAAK9nD,OAAO,KAGhBZ,UAKH,SAAUA,GACR,GAAIulE,GAAW,GAEfvlE,GAASQ,MAAMglE,aAAet7D,KAAKC,QAGjCM,YAAa,SAAS84C,EAAQ0a,EAAU3oB,GACtC10C,KAAK2iD,OAAWA,EAChB3iD,KAAKq9D,SAAWA,EAChBr9D,KAAK00C,SAAWA,EAEhB10C,KAAK07D,YAQPmJ,uBAAwB,SAASC,GAC/B9kE,KAAKq9D,SAASha,SAASjkD,EAASM,KAAK+qC,OAAOzqC,KAAK00C,SAAS0nB,UAAS,GAAO,IAAQ9gC,OAAQwpC,IAQ5FC,uBAAwB,SAASD,GAC/B,GAAIE,GAAgBhlE,KAAKq9D,SAASjB,UAAS,GAAO,EAC9C4I,GACFhlE,KAAK00C,SAAS2O,SAAS2hB,EAAeF,IAEtC9kE,KAAK00C,SAASyO,QACdnjD,KAAK2iD,OAAOxZ,KAAK,qBAQrBm1B,KAAM,SAASwG,GACwB,aAAjC9kE,KAAK2iD,OAAOma,YAAYhuD,KAC1B9O,KAAK+kE,uBAAuBD,GAE5B9kE,KAAK6kE,uBAAuBC,IAShCpJ,SAAU,WACR,GAAIuJ,GACAj3B,EAAgBhuC,KAChB89D,EAAgB99D,KAAKq9D,SAASp4D,QAAQ64D,KACtCoH,EAAgB,WACdD,EAAWP,YAAY,WAAa12B,EAAK62B,0BAA6BF,IAExEQ,EAAgB,WACdzC,cAAcuC,GACdA,EAAW,KAGjBC,KAEIpH,IAGF1+D,EAASG,IAAI8pC,QAAQy0B,EAAM,SAAU,WACnC9vB,EAAKswB,MAAK,KAEZl/D,EAASG,IAAI8pC,QAAQy0B,EAAM,QAAS,WAClC1vB,WAAW,WAAaJ,EAAK+2B,0BAA6B,MAI9D/kE,KAAK2iD,OAAO9Z,GAAG,cAAe,SAAS+Z,GACxB,aAATA,GAAwBqiB,EAGR,aAATriB,IACT5U,EAAK62B,wBAAuB,GAC5BM,MAJAn3B,EAAK+2B,wBAAuB,GAC5BG,OAOJllE,KAAK2iD,OAAO9Z,GAAG,mBAAoBs8B,OAGtC/lE,UAEH,SAAUA,GAERA,EAASQ,MAAMwlE,WAAa97D,KAAKC,QAG/BM,YAAa,SAAS84C,EAAQjO,GAC5B10C,KAAK2iD,OAAWA,EAChB3iD,KAAK00C,SAAWA,EAEhB10C,KAAK07D,YAGP2J,iBAAkB,SAASP,GACzB,GAAIQ,GAAiBtlE,KAAK00C,SAAS1zC,IAAIyV,iBAAiBzW,KAAK00C,SAASzvC,SAClE8vC,EAAQzR,WAAWgiC,EAAevwB,OAClCC,EAAS5uB,KAAKsiB,IAAIpF,WAAWgiC,EAAetwB,QAAS,IAEpDh1C,MAAKq9D,WACRr9D,KAAKq9D,SAAWr9D,KAAK00C,SAASzzC,IAAIY,cAAc,YAChD7B,KAAKq9D,SAASh3D,UAAY,wBAE5BrG,KAAKq9D,SAAS9tC,MAAMwlB,MAAQA,EAAQ,KACpC/0C,KAAKq9D,SAAS9tC,MAAMylB,OAASA,EAAS,KACtCh1C,KAAKq9D,SAASn3D,MAAQlG,KAAK2iD,OAAOyZ,SAAS0I,GAAiB,GAC5D9kE,KAAK00C,SAASzvC,QAAQlB,WAAWkP,aAAajT,KAAKq9D,SAAUr9D,KAAK00C,SAASzvC,SAC3EjF,KAAK2iD,OAAOma,YAAc,SAC1B98D,KAAK00C,SAASzvC,QAAQsqB,MAAME,QAAU,QAGxC81C,iBAAkB,SAAST,GACzB,GAAIE,GAAgBhlE,KAAKq9D,SAASn3D,KAC9B8+D,GACFhlE,KAAK00C,SAAS2O,SAAS2hB,EAAeF,IAEtC9kE,KAAK00C,SAASyO,QACdnjD,KAAK2iD,OAAOxZ,KAAK,oBAEnBnpC,KAAKq9D,SAASt5D,WAAWC,YAAYhE,KAAKq9D,UAC1Cr9D,KAAK2iD,OAAOma,YAAc98D,KAAK00C,SAC/B10C,KAAK00C,SAASzvC,QAAQsqB,MAAME,QAAU,IAGxCisC,SAAU,WACR17D,KAAK2iD,OAAO9Z,GAAG,cAAe,SAAS+Z,GACxB,aAATA,EACF5iD,KAAKulE,kBAAiB,GACJ,aAAT3iB,GACT5iD,KAAKqlE,kBAAiB,IAExBvd,KAAK9nD,WAKVZ,UAEHA,SAASQ,MAAM4lE,SAAWpmE,SAASQ,MAAM88D,KAAKnzD,QAE5CuF,KAAM,WAENjF,YAAa,SAASkI,EAAQ4qD,EAAiBvvD,GAC7CpN,KAAK4J,KAAKmI,EAAQ4qD,EAAiBvvD,GAEnCpN,KAAK07D,YAGPvY,MAAO,WACLnjD,KAAKiF,QAAQiB,MAAQ,IAGvBk2D,SAAU,SAASxkB,GACjB,GAAI1xC,GAAQlG,KAAK+pC,UAAY,GAAK/pC,KAAKiF,QAAQiB,KAI/C,OAHI0xC,MAAU,IACZ1xC,EAAQlG,KAAK+R,OAAO6lC,MAAM1xC,IAErBA,GAGTm9C,SAAU,SAAS1tC,EAAMiiC,GACnBA,KAAU,IACZjiC,EAAO3V,KAAK+R,OAAO6lC,MAAMjiC,IAE3B3V,KAAKiF,QAAQiB,MAAQyP,GAGvB4iC,QAAS,SAAS1B,GACd,GAAIlhC,GAAO3V,KAAK+R,OAAO6lC,MAAM53C,KAAKiF,QAAQiB,MAAO0B,OAAWivC,EAC5D72C,MAAKiF,QAAQiB,MAAQyP,GAGzButC,kBAAmB,WACjB,GAAIuiB,GAAsBrmE,SAASyjC,QAAQkC,+BAA+B/kC,KAAKiF,SAC3E49C,EAAsB7iD,KAAKiF,QAAQkhC,aAAa,gBAAkB,KAClEjgC,EAAsBlG,KAAKiF,QAAQiB,MACnC6jC,GAAuB7jC,CAC3B,OAAQu/D,IAAuB17B,GAAa7jC,IAAU28C,GAGxD9Y,QAAS,WACP,OAAQ3qC,SAASM,KAAK+qC,OAAOzqC,KAAKiF,QAAQiB,OAAOo1B,QAAUt7B,KAAKkjD,qBAGlEwY,SAAU,WACR,GAAIz2D,GAAUjF,KAAKiF,QACf8M,EAAU/R,KAAK+R,OACf2zD,GACEC,QAAU,QACVC,SAAU,QAMZ78B,EAAS3pC,SAASyjC,QAAQ4B,cAAc,YAAc,UAAW,WAAY,WAAa,QAAS,OAAQ,SAE/G1yB,GAAO82B,GAAG,aAAc,WACtBzpC,SAASG,IAAI8pC,QAAQpkC,EAAS8jC,EAAQ,SAASjgC,GAC7C,GAAIk8B,GAAY0gC,EAAa58D,EAAMrG,OAASqG,EAAMrG,IAClDsP,GAAOo3B,KAAKnE,GAAWmE,KAAKnE,EAAY,eAG1C5lC,SAASG,IAAI8pC,QAAQpkC,GAAU,QAAS,QAAS,WAC/CmpC,WAAW,WAAar8B,EAAOo3B,KAAK,SAASA,KAAK,mBAAsB,UAqChF,SAAU/pC,GACR,GAAIymE,EAEJzmE,GAAS0mE,OAAS1mE,EAASM,KAAKkpC,WAAWr/B,QAEzCiH,UAEE1B,KAAsB+2D,EAEtBt2C,OAAsB,EAEtB4b,UAAsB,EAEtBi5B,cAAsB,EAGtB2B,aAAwBpsB,MAAQqsB,MAAQC,QAAUC,OAAS5hE,KAAOg0D,KAAOzxD,KAAOs/D,MAAShgE,YAEzFigE,oBAAqB,KAErBC,OAAsBjnE,EAASG,IAAIq4C,MAEnCoI,eAAsB,EAGtBgiB,6BAA6B,EAE7BjgB,eAEAc,gBAAsBgjB,EAEtBS,qBAAsB,EAEtB/tB,SAAsB,EAEtB+kB,qBAAqB,EACrBrM,YAEEvc,SAAU,kBAEVpxC,KAAM,qBAENs4D,QAAS,mBAETqC,YAAa,uBAEb/M,oBAAqB,iCAMvBiS,kBAAmB,gDAGrBt5D,YAAa,SAASuzD,EAAiBhwD,GAoBrC,GAnBApN,KAAKo9D,gBAA+C,gBAAtB,GAAiCh7D,SAAS2sB,eAAequC,GAAmBA,EAC1Gp9D,KAAKoN,OAAmBhO,EAASM,KAAKqL,WAAWw+B,MAAMvpC,KAAKwQ,UAAU+4B,MAAMn8B,GAAQrH,MACpF/F,KAAKumE,cAAmBnnE,EAASyjC,QAAQ11B,YAGrCC,GAAUA,EAAO6jD,YACnB7xD,EAASM,KAAKqL,OAAO/K,KAAKoN,OAAO6jD,YAAY1nB,MAAMn8B,EAAO6jD,YAGT,YAA/CjxD,KAAKo9D,gBAAgB56D,SAASyL,gBAC9BjO,KAAKoN,OAAOkwD,qBAAsB,EAClCt9D,KAAKoN,OAAOwvD,YAAa,GAExB58D,KAAKoN,OAAOwvD,aACb58D,KAAKq9D,SAAmB,GAAIj+D,GAASQ,MAAM4lE,SAASxlE,KAAMA,KAAKo9D,gBAAiBp9D,KAAKoN,QACrFpN,KAAK88D,YAAmB98D,KAAKq9D,WAI5Br9D,KAAKumE,gBAAmBvmE,KAAKoN,OAAOk5D,qBAAuBlnE,EAASyjC,QAAQ2B,gBAAkB,CACjG,GAAIwJ,GAAOhuC,IAEX,YADAouC,YAAW,WAAaJ,EAAK7E,KAAK,cAAcA,KAAK,SAAY,GAKnE/pC,EAASG,IAAIotC,SAASvqC,SAASkB,KAAMtD,KAAKoN,OAAO6jD,WAAW3tD,MAE5DtD,KAAK00C,SAAW,GAAIt1C,GAASQ,MAAMu9D,SAASn9D,KAAMA,KAAKo9D,gBAAiBp9D,KAAKoN,QAC7EpN,KAAK88D,YAAc98D,KAAK00C,SAEW,kBAAxB10C,MAAKoN,OAAa,QAC3BpN,KAAKwmE,cAGPxmE,KAAK6oC,GAAG,aAAc7oC,KAAKymE,mBAG7BA,iBAAkB,WACTzmE,KAAKoN,OAAOwvD,WAGf58D,KAAK0mE,WAAa,GAAItnE,GAASQ,MAAMwlE,WAAWplE,KAAMA,KAAK00C,UAF3D10C,KAAK2mE,aAAe,GAAIvnE,GAASQ,MAAMglE,aAAa5kE,KAAMA,KAAKq9D,SAAUr9D,KAAK00C,UAIhF10C,KAAK4mE,sBAGTA,mBAAoB,WAClBxnE,EAASS,gBAAgBqK,QAAQ,SAASnK,GACxCA,EAASC,OACT8nD,KAAK9nD,QAGT6mE,aAAc,WACZ,MAAO7mE,MAAKumE,eAGdpjB,MAAO,WAEL,MADAnjD,MAAK88D,YAAY3Z,QACVnjD,MAGTo8D,SAAU,SAASxkB,EAAOO,GACxB,MAAOn4C,MAAK88D,YAAYV,SAASxkB,EAAOO,IAG1CkL,SAAU,SAAS1tC,EAAMiiC,GAGvB,MAFA53C,MAAKmpC,KAAK,qBAELxzB,GAIL3V,KAAK88D,YAAYzZ,SAAS1tC,EAAMiiC,GACzB53C,MAJEA,KAAKmjD,SAOhB5K,QAAS,SAAS1B,GACd72C,KAAK88D,YAAYvkB,QAAQ1B,IAG7B3yC,MAAO,SAASy5D,GAEd,MADA39D,MAAK88D,YAAY54D,MAAMy5D,GAChB39D,MAMTi9D,QAAS,WAEP,MADAj9D,MAAK88D,YAAYG,UACVj9D,MAMTk9D,OAAQ,WAEN,MADAl9D,MAAK88D,YAAYI,SACVl9D,MAGT+pC,QAAS,WACP,MAAO/pC,MAAK88D,YAAY/yB,WAG1BmZ,kBAAmB,WACjB,MAAOljD,MAAK88D,YAAY5Z,qBAG1BrV,QAAS,WACH7tC,KAAK00C,UAAY10C,KAAK00C,SAASknB,SACjC57D,KAAK00C,SAASknB,QAAQ/tB,UAExB7tC,KAAKmpC,KAAK,oBACVnpC,KAAKgpC,OAGP4O,MAAO,SAASkvB,EAAe3uB,EAAgB4uB,GAC7C,GAAIC,GAAgBhnE,KAAKoN,OAA0B,oBAAIhL,SAAapC,KAAa,SAAIA,KAAK00C,SAASknB,QAAQnoD,cAAgB,KACvH9I,EAAc3K,KAAKoN,OAAOi5D,OAAOS,GACnCjwB,MAASkwB,GAAe/mE,KAAKoN,OAAO24D,YACpCxtB,QAAWv4C,KAAKoN,OAAOmrC,QACvBttC,QAAW+7D,EACXp4B,gBAAmB5uC,KAAKoN,OAAO6jD,WAAWC,oBAC1C/Y,eAAmBA,GAKrB,OAH8B,gBAApB,IACR/4C,EAASI,OAAOslD,OAAOgiB,GAElBn8D,GAOT67D,YAAa,WACX,GAAIS,EAEA7nE,GAASyjC,QAAQ4E,sBACnBznC,KAAK6oC,GAAG,iBAAkB,SAAS//B,GACjCA,EAAM0uC,iBACNyvB,EAAU7nE,EAASG,IAAI+0C,cAAcxrC,GACjCm+D,GACFjnE,KAAKknE,eAAeD,IAEtBnf,KAAK9nD,OAGPA,KAAK6oC,GAAG,uBAAwB,SAAS//B,GACvCA,EAAM0uC,gBACN,IAAI3C,GAAY70C,KAAK00C,SAASI,cAE9B11C,GAASG,IAAIk1C,qBAAqBz0C,KAAK00C,SAAU,SAASyyB,GACpDA,GACFnnE,KAAKknE,eAAeC,GAEtBnnE,KAAK00C,SAAS4T,aAAazT,IAC3BiT,KAAK9nD,QAEP8nD,KAAK9nD,QAIXknE,eAAgB,SAAUD,GACxB,GAAIG,GAAYhoE,EAASI,OAAOgkD,gBAAgByjB,GAC9C1iB,cAAiBvkD,KAAK00C,SAASzvC,QAC/B4xC,MAAS72C,KAAKoN,OAAOg5D,uBAAyBhqC,IAAOp8B,KAAKoN,OAAO24D,cACjEn3B,gBAAmB5uC,KAAKoN,OAAO6jD,WAAWC,qBAI5C,IAFAlxD,KAAK00C,SAAS/0C,UAAUkf,kBAEnB7e,KAAKoN,OAAO4yC,eAAiBhgD,KAAK00C,SAAS/0C,UAAU6qD,wBAAyB,CACjF,GAEI3b,GAFA5mB,EAAMjoB,KAAK00C,SAAS/0C,UAAUoD,eAC9Bo+D,EAAQl5C,EAAIjlB,UAGZm+D,IAA4B,MAAnBA,EAAM3+D,UAAgD,IAA5B2+D,EAAMv9D,WAAWC,SACtDgrC,EAAYsyB,EAAMr9D,WAES,OAAvB+qC,EAAUrsC,UACZ2+D,EAAMn9D,YAAY6qC,IAKxB7uC,KAAK00C,SAAS/0C,UAAU8lC,WAAW2hC,OAGtChoE"} \ No newline at end of file diff --git a/dist/wysihtml.js b/dist/wysihtml.js index e15283c..360a6ec 100644 --- a/dist/wysihtml.js +++ b/dist/wysihtml.js @@ -15917,12 +15917,12 @@ wysihtml.views.Textarea = wysihtml.views.View.extend( uneditableContainer: "wysihtml-uneditable-container" }, // Browsers that support copied source handling will get a marking of the origin of the copied source (for determinig code cleanup rules on paste) - // Also copied source is based directly on selection - + // Also copied source is based directly on selection - // (very useful for webkit based browsers where copy will otherwise contain a lot of code and styles based on whatever and not actually in selection). // If falsy value is passed source override is also disabled copyedFromMarking: '' }, - + constructor: function(editableElement, config) { this.editableElement = typeof(editableElement) === "string" ? document.getElementById(editableElement) : editableElement; this.config = wysihtml.lang.object({}).merge(this.defaults).merge(config).get(); @@ -15970,7 +15970,7 @@ wysihtml.views.Textarea = wysihtml.views.View.extend( } this.runEditorExtenders(); }, - + runEditorExtenders: function() { wysihtml.editorExtenders.forEach(function(extender) { extender(this); @@ -16096,6 +16096,21 @@ wysihtml.views.Textarea = wysihtml.views.View.extend( "uneditableClass": this.config.classNames.uneditableContainer }); this.composer.selection.deleteContents(); + + if (!this.config.useLineBreaks && this.composer.selection.caretIsInTheEndOfNode()) { + var sel = this.composer.selection.getSelection(), + aNode = sel.anchorNode, + childNode; + + if (aNode && aNode.nodeName === 'P' && aNode.childNodes.length === 1) { + childNode = aNode.firstChild; + + if (childNode.nodeName === 'BR') { + aNode.removeChild(childNode); + } + } + } + this.composer.selection.insertHTML(cleanHtml); } }); diff --git a/src/editor.js b/src/editor.js index b9f1f05..2bc1294 100644 --- a/src/editor.js +++ b/src/editor.js @@ -78,12 +78,12 @@ uneditableContainer: "wysihtml-uneditable-container" }, // Browsers that support copied source handling will get a marking of the origin of the copied source (for determinig code cleanup rules on paste) - // Also copied source is based directly on selection - + // Also copied source is based directly on selection - // (very useful for webkit based browsers where copy will otherwise contain a lot of code and styles based on whatever and not actually in selection). // If falsy value is passed source override is also disabled copyedFromMarking: '' }, - + constructor: function(editableElement, config) { this.editableElement = typeof(editableElement) === "string" ? document.getElementById(editableElement) : editableElement; this.config = wysihtml.lang.object({}).merge(this.defaults).merge(config).get(); @@ -131,7 +131,7 @@ } this.runEditorExtenders(); }, - + runEditorExtenders: function() { wysihtml.editorExtenders.forEach(function(extender) { extender(this); @@ -257,6 +257,21 @@ "uneditableClass": this.config.classNames.uneditableContainer }); this.composer.selection.deleteContents(); + + if (!this.config.useLineBreaks && this.composer.selection.caretIsInTheEndOfNode()) { + var sel = this.composer.selection.getSelection(), + aNode = sel.anchorNode, + childNode; + + if (aNode && aNode.nodeName === 'P' && aNode.childNodes.length === 1) { + childNode = aNode.firstChild; + + if (childNode.nodeName === 'BR') { + aNode.removeChild(childNode); + } + } + } + this.composer.selection.insertHTML(cleanHtml); } });