diff --git a/dist/modeler.js b/dist/modeler.js new file mode 100644 index 00000000..0c259954 --- /dev/null +++ b/dist/modeler.js @@ -0,0 +1,172 @@ +/*! For license information please see modeler.js.LICENSE.txt */ +(()=>{var e={480:(e,t,n)=>{"use strict";var i=n(603);function o(e,t,n){var o=function(e,t){var n=[],o=e.get("extensionElements");if(void 0!==o){var r=o.get("values");void 0!==r&&(n=i.filter(r,(function(e){return function(e,t){return e&&"function"==typeof e.$instanceOf&&e.$instanceOf(t)}(e,t)})))}return n}(e,t);return n?(o[0]||{})[n]||[]:o}function r(e,t){var n=function(e){return(o(e,"camunda:InputOutput")||[])[0]}(e);return n&&n.get(t)||[]}function s(e){for(var t=[],n=e;n.$parent;)t.push(n.$parent),n=n.$parent;return t}function a(e,t,n){n=n||0,i.isArray(e)||(e=[e]),i.forEach(e,(function(e,o){var r=t(e,o,n);i.isArray(r)&&r.length&&a(r,t,n+1)}))}function l(e,t,n){var i=!n||-1===e.indexOf(t);return i&&e.push(t),i}function c(e,t,n){var i=[],o=[];return a(e,(function(e,r,s){l(i,e,t);var a=e.flowElements;if((-1===n||s=0?e[r].origin=(n=e[r].origin,o=t.origin,n.concat(o)):e.push(t)}function p(e,t,n){var o,a,l,c,u=(o=n,a=t,l=s(e),c=i.find(l,(function(e){return(t=e)&&"function"==typeof t.$instanceOf&&t.$instanceOf("bpmn:SubProcess")&&function(e,t){return i.find(function(e){return r(e,"inputParameters")}(e),(function(e){return e.name===t}))}(e,a);var t})),c||o);return{name:t,origin:[e],scope:u}}function d(e,t){var n=e.eventDefinitions;return n&&t?i.filter(n,(function(e){return function(e,t){return e&&"function"==typeof e.$instanceOf&&e.$instanceOf(t)}(e,t)})):n}var f=[function(e){var t=e.elements,n=e.containerElement,o=e.processVariables;return i.isArray(t)||(t=[t]),i.forEach(t,(function(e){var t=function(e){return r(e,"outputParameters")}(e);i.forEach(t,(function(t){var i=p(e,t.name,n);h(o,i)}))})),o},function(e){var t=e.elements,n=e.containerElement,o=e.processVariables;return i.isArray(t)||(t=[t]),i.forEach(t,(function(e){var t=function(e){return e.get("camunda:resultVariable")}(e);if(t){var i=p(e,t,n);h(o,i)}})),o},function(e){var t=e.elements,n=e.containerElement,r=e.processVariables;return i.isArray(t)||(t=[t]),i.forEach(t,(function(e){var t=function(e){var t=function(e){return o(e,"camunda:FormData")[0]}(e);return t&&t.get("fields")||[]}(e);i.forEach(t,(function(t){var i=p(e,t.id,n);h(r,i)}))})),r},function(e){var t=e.elements,n=e.containerElement,r=e.processVariables;return i.isArray(t)||(t=[t]),i.forEach(t,(function(e){var t=function(e){return o(e,"camunda:Out")}(e);i.forEach(t,(function(t){if(!t.local){var i=p(e,t.target,n);h(r,i)}}))})),r},function(e){var t=e.elements,n=e.containerElement,o=e.processVariables,r=function(e,t){var i=p(e,t,n);h(o,i)};return i.isArray(t)||(t=[t]),i.forEach(t,(function(e){var t=function(e){return d(e,"bpmn:ErrorEventDefinition")}(e);i.forEach(t,(function(t){var n=t.get("errorCodeVariable"),i=t.get("errorMessageVariable");n&&r(e,n),i&&r(e,i)}));var n=function(e){return d(e,"bpmn:EscalationEventDefinition")}(e);i.forEach(n,(function(t){var n=t.get("escalationCodeVariable");n&&r(e,n)}))})),o}];t.Zc=async function(e,t,n=[]){var o,r=await function(e,t=[]){const n=[];var o=[],r=u([e],!1);return i.forEach([...f,...t],(function(t){n.push(t({elements:r,containerElement:e,processVariables:o}))})),Promise.all(n).then((()=>o))}(t,n),a=function(e,t){var n=u(t);return i.find(n,(function(t){return t.id===e}))}(e,t),l=i.filter(r,(function(e){return e.scope.id===a.id})),c=s(a);return o=i.filter(r,(function(e){return i.find(c,(function(t){return t.id===e.scope.id}))})),l.concat(o)}},285:(e,t,n)=>{"use strict";var i=n(603);function o(e){return(r(e,"zeebe:IoMapping")||[])[0]}function r(e,t,n){var o=function(e,t){var n=[],o=e.get("extensionElements");if(void 0!==o){var r=o.get("values");void 0!==r&&(n=i.filter(r,(function(e){return function(e,t){return e&&"function"==typeof e.$instanceOf&&e.$instanceOf(t)}(e,t)})))}return n}(e,t);return n?(o[0]||{})[n]||[]:o}function s(e){for(var t=[],n=e;n.$parent;)t.push(n.$parent),n=n.$parent;return t}function a(e,t,n){n=n||0,i.isArray(e)||(e=[e]),i.forEach(e,(function(e,o){var r=t(e,o,n);i.isArray(r)&&r.length&&a(r,t,n+1)}))}function l(e,t,n){var i=!n||-1===e.indexOf(t);return i&&e.push(t),i}function c(e,t,n){var i=[],o=[];return a(e,(function(e,r,s){l(i,e,t);var a=e.flowElements;if((-1===n||s=0?e[r].origin=(n=e[r].origin,o=t.origin,n.concat(o)):e.push(t)}function p(e,t,n){var r,a,l,c,u=(r=n,a=t,l=s(e),c=i.find(l,(function(e){return(t=e)&&"function"==typeof t.$instanceOf&&t.$instanceOf("bpmn:SubProcess")&&function(e,t){return i.find(function(e){return function(e,t){var n=o(e);return n&&n.get("inputParameters")||[]}(e)}(e),(function(e){return e.target===t}))}(e,a);var t})),c||r);return{name:t,origin:[e],scope:u}}var d=[function(e){var t=e.elements,n=e.processVariables;return i.isArray(t)||(t=[t]),i.forEach(t,(function(e){var t=function(e){return(o(e)||{}).inputParameters}(e);i.forEach(t,(function(t){var i=p(e,t.target,e);h(n,i)}))})),n},function(e){var t=e.elements,n=e.processVariables;return i.isArray(t)||(t=[t]),i.forEach(t,(function(e){var t=e.loopCharacteristics,i=t&&function(e){const t=r(e,"zeebe:LoopCharacteristics")[0];return t&&t.inputElement}(t);if(i){var o=p(e,i,e);h(n,o)}})),n},function(e){var t=e.elements,n=e.containerElement,r=e.processVariables;return i.isArray(t)||(t=[t]),i.forEach(t,(function(e){var t=function(e){return(o(e)||{}).outputParameters}(e);i.forEach(t,(function(t){var i=p(e,t.target,n);h(r,i)}))})),r},function(e){var t=e.elements,n=e.containerElement,o=e.processVariables;return i.isArray(t)||(t=[t]),i.forEach(t,(function(e){var t=e.loopCharacteristics,i=t&&function(e){const t=r(e,"zeebe:LoopCharacteristics")[0];return t&&t.outputCollection}(t);if(i){var s=p(e,i,n);h(o,s)}})),o},function(e){var t=e.elements,n=e.containerElement,o=e.processVariables;return i.isArray(t)||(t=[t]),i.forEach(t,(function(e){var t=function(e){return(r(e,"zeebe:CalledDecision")||[])[0]}(e)||function(e){return(r(e,"zeebe:Script")||[])[0]}(e);if(t){var i=t.resultVariable;if(i){var s=p(e,i,n);h(o,s)}}})),o}];async function f(e,t,n=[]){var o,r=await function(e,t=[]){var n=[],o=u([e],!1);const r=[];return i.forEach([...d,...t],(function(t){r.push(t({elements:o,containerElement:e,processVariables:n}))})),Promise.all(r).then((()=>n))}(t,n),a=function(e,t){var n=u(t);return i.find(n,(function(t){return t.id===e}))}(e,t),l=i.filter(r,(function(e){return e.scope.id===a.id})),c=s(a);return o=i.filter(r,(function(e){return i.find(c,(function(t){return t.id===e.scope.id}))})),l.concat(o)}function m(e){return e&&e.businessObject||e}function g(e,t){var n=m(e);return n&&"function"==typeof n.$instanceOf&&n.$instanceOf(t)}t.Hp=function(e,t=[]){return f(function(e){const t=m(e);return g(e,"bpmn:Participant")?t.processRef.id:t.id}(e),function(e){const t=m(e);if(g(t,"bpmn:Participant"))return t.processRef;if(g(t,"bpmn:Process"))return t;let n=t;for(;n.$parent&&!g(n,"bpmn:Process");)n=n.$parent;return n}(e),t)}},485:(e,t)=>{var n;!function(){"use strict";var i={}.hasOwnProperty;function o(){for(var e=[],t=0;t2096103.424&&d!==p))return navigator.msSaveBlob?navigator.msSaveBlob(b(c),f):w(c);l=(c=b(c)).type||a}else if(/([\x80-\xff])/.test(c)){for(var g=0,v=new Uint8Array(c.length),y=v.length;g=Number.MAX_SAFE_INTEGER);n++)t+=e.charCodeAt(n);return t}(t.seed);else{if(void 0!==t.seed&&null!==t.seed)throw new TypeError("The seed value must be an integer or string");e=null}var a,l;if(null!==t.count&&void 0!==t.count){for(var c=t.count,h=[],d=0;dh.length;){var f=i(t);null!==e&&(t.seed=e),h.push(f)}return t.count=c,h}return function(e,t){switch(t.format){case"hsvArray":return e;case"hslArray":return p(e);case"hsl":var n=p(e);return"hsl("+n[0]+", "+n[1]+"%, "+n[2]+"%)";case"hsla":var i=p(e),o=t.alpha||Math.random();return"hsla("+i[0]+", "+i[1]+"%, "+i[2]+"%, "+o+")";case"rgbArray":return u(e);case"rgb":return"rgb("+u(e).join(", ")+")";case"rgba":var r=u(e);return o=t.alpha||Math.random(),"rgba("+r.join(", ")+", "+o+")";default:return function(e){var t=u(e);function n(e){var t=e.toString(16);return 1==t.length?"0"+t:t}return"#"+n(t[0])+n(t[1])+n(t[2])}(e)}}([a=o(t),l=r(a,t),s(a,l,t)],t)};function o(e){if(n.length>0){var i=l(s=function(e){if(isNaN(e)){if("string"==typeof e)if(t[e]){var n=t[e];if(n.hueRange)return n.hueRange}else if(e.match(/^#?([0-9A-F]{3}|[0-9A-F]{6})$/i))return a(h(e)[0]).hueRange}else{var i=parseInt(e);if(i<360&&i>0)return a(e).hueRange}return[0,360]}(e.hue)),o=(s[1]-s[0])/n.length,r=parseInt((i-s[0])/o);return!0===n[r]?r=(r+2)%n.length:n[r]=!0,(i=l(s=[(s[0]+r*o)%359,(s[0]+(r+1)*o)%359]))<0&&(i=360+i),i}var s;return(i=l(s=function(e){if("number"==typeof parseInt(e)){var n=parseInt(e);if(n<360&&n>0)return[n,n]}if("string"==typeof e)if(t[e]){var i=t[e];if(i.hueRange)return i.hueRange}else if(e.match(/^#?([0-9A-F]{3}|[0-9A-F]{6})$/i)){var o=h(e)[0];return[o,o]}return[0,360]}(e.hue)))<0&&(i=360+i),i}function r(e,t){if("monochrome"===t.hue)return 0;if("random"===t.luminosity)return l([0,100]);var n=function(e){return a(e).saturationRange}(e),i=n[0],o=n[1];switch(t.luminosity){case"bright":i=55;break;case"dark":i=o-10;break;case"light":o=55}return l([i,o])}function s(e,t,n){var i=function(e,t){for(var n=a(e).lowerBounds,i=0;i=o&&t<=s){var c=(l-r)/(s-o);return c*t+(r-c*o)}}return 0}(e,t),o=100;switch(n.luminosity){case"dark":o=i+20;break;case"light":i=(o+i)/2;break;case"random":i=0,o=100}return l([i,o])}function a(e){for(var n in e>=334&&e<=360&&(e-=360),t){var i=t[n];if(i.hueRange&&e>=i.hueRange[0]&&e<=i.hueRange[1])return t[n]}return"Color not found"}function l(t){if(null===e){var n=Math.random();return n+=.618033988749895,n%=1,Math.floor(t[0]+n*(t[1]+1-t[0]))}var i=t[1]||1,o=t[0]||0,r=(e=(9301*e+49297)%233280)/233280;return Math.floor(o+r*(i-o))}function c(e,n,i){var o=i[0][0],r=i[i.length-1][0],s=i[i.length-1][1],a=i[0][1];t[e]={hueRange:n,lowerBounds:i,saturationRange:[o,r],brightnessRange:[s,a]}}function u(e){var t=e[0];0===t&&(t=1),360===t&&(t=359),t/=360;var n=e[1]/100,i=e[2]/100,o=Math.floor(6*t),r=6*t-o,s=i*(1-n),a=i*(1-r*n),l=i*(1-(1-r)*n),c=256,u=256,h=256;switch(o){case 0:c=i,u=l,h=s;break;case 1:c=a,u=i,h=s;break;case 2:c=s,u=i,h=l;break;case 3:c=s,u=a,h=i;break;case 4:c=l,u=s,h=i;break;case 5:c=i,u=s,h=a}return[Math.floor(255*c),Math.floor(255*u),Math.floor(255*h)]}function h(e){e=3===(e=e.replace(/^#/,"")).length?e.replace(/(.)/g,"$1$1"):e;var t=parseInt(e.substr(0,2),16)/255,n=parseInt(e.substr(2,2),16)/255,i=parseInt(e.substr(4,2),16)/255,o=Math.max(t,n,i),r=o-Math.min(t,n,i),s=o?r/o:0;switch(o){case t:return[(n-i)/r%6*60||0,s,o];case n:return[60*((i-t)/r+2)||0,s,o];case i:return[60*((t-n)/r+4)||0,s,o]}}function p(e){var t=e[0],n=e[1]/100,i=e[2]/100,o=(2-n)*i;return[t,Math.round(n*i/(o<1?o:2-o)*1e4)/100,o/2*100]}return i}(),e&&e.exports&&(t=e.exports=i),t.randomColor=i},603:(e,t)=>{"use strict";const n=Object.prototype.toString,i=Object.prototype.hasOwnProperty;function o(e){return void 0===e}function r(e){return void 0!==e}function s(e){return null==e}function a(e){return"[object Array]"===n.call(e)}function l(e){return"[object Object]"===n.call(e)}function c(e){const t=n.call(e);return"[object Function]"===t||"[object AsyncFunction]"===t||"[object GeneratorFunction]"===t||"[object AsyncGeneratorFunction]"===t||"[object Proxy]"===t}function u(e){if(!a(e))throw new Error("must supply array")}function h(e,t){return i.call(e,t)}function p(e,t){const n=_(t);let i;return d(e,(function(e,t){if(n(e,t))return i=e,!1})),i}function d(e,t){let n,i;if(o(e))return;const r=a(e)?k:E;for(let o in e)if(h(e,o)&&(n=e[o],i=t(n,r(o)),!1===i))return n}function f(e,t,n){return d(e,(function(e,i){n=t(n,e,i)})),n}function m(e,t){return!!f(e,(function(e,n,i){return e&&t(n,i)}),!0)}function g(e,t){let n=[];return d(e,(function(e,i){n.push(t(e,i))})),n}function v(e){return e&&Object.keys(e)||[]}function y(e,t,n={}){return t=x(t),d(e,(function(e){let i=t(e)||"_",o=n[i];o||(o=n[i]=[]),o.push(e)})),n}function b(e,...t){e=x(e);let n={};return d(t,(t=>y(t,e,n))),g(n,(function(e,t){return e[0]}))}const w=b;function x(e){return c(e)?e:t=>t[e]}function _(e){return c(e)?e:t=>t===e}function E(e){return e}function k(e){return Number(e)}t.assign=function(e,...t){return Object.assign(e,...t)},t.bind=function(e,t){return e.bind(t)},t.debounce=function(e,t){let n,i,o,r;function s(n){let s=Date.now(),c=n?0:r+t-s;if(c>0)return a(c);e.apply(o,i),l()}function a(e){n=setTimeout(s,e)}function l(){n&&clearTimeout(n),n=r=i=o=void 0}function c(...e){r=Date.now(),i=e,o=this,n||a(t)}return c.flush=function(){n&&s(!0),l()},c.cancel=l,c},t.ensureArray=u,t.every=m,t.filter=function(e,t){const n=_(t);let i=[];return d(e,(function(e,t){n(e,t)&&i.push(e)})),i},t.find=p,t.findIndex=function(e,t){const n=_(t);let i=a(e)?-1:void 0;return d(e,(function(e,t){if(n(e,t))return i=t,!1})),i},t.flatten=function(e){return Array.prototype.concat.apply([],e)},t.forEach=d,t.get=function(e,t,n){let i=e;return d(t,(function(e){if(s(i))return i=void 0,!1;i=i[e]})),o(i)?n:i},t.groupBy=y,t.has=h,t.isArray=a,t.isDefined=r,t.isFunction=c,t.isNil=s,t.isNumber=function(e){return"[object Number]"===n.call(e)},t.isObject=l,t.isString=function(e){return"[object String]"===n.call(e)},t.isUndefined=o,t.keys=v,t.map=g,t.matchPattern=function(e){return function(t){return m(e,(function(e,n){return t[n]===e}))}},t.merge=function e(t,...n){return n.length?(d(n,(function(n){n&&l(n)&&d(n,(function(n,i){if("__proto__"===i)return;let o=t[i];l(n)?(l(o)||(o={}),t[i]=e(o,n)):t[i]=n}))})),t):t},t.omit=function(e,t){let n={};return d(Object(e),(function(e,i){-1===t.indexOf(i)&&(n[i]=e)})),n},t.pick=function(e,t){let n={},i=Object(e);return d(t,(function(t){t in i&&(n[t]=e[t])})),n},t.reduce=f,t.set=function(e,t,n){let i=e;return d(t,(function(e,a){if("number"!=typeof e&&"string"!=typeof e)throw new Error("illegal key type: "+typeof e+". Key should be of type number or string.");if("constructor"===e)throw new Error("illegal key: constructor");if("__proto__"===e)throw new Error("illegal key: __proto__");let l=t[a+1],c=i[e];r(l)&&s(c)&&(c=i[e]=isNaN(+l)?{}:[]),o(l)?o(n)?delete i[e]:i[e]=n:i=c})),e},t.size=function(e){return v(e).length},t.some=function(e,t){return!!p(e,t)},t.sortBy=function(e,t){t=x(t);let n=[];return d(e,(function(e,i){let o=t(e,i),r={d:o,v:e};for(var s=0;se.v))},t.throttle=function(e,t){let n=!1;return function(...i){n||(e(...i),n=!0,setTimeout((()=>{n=!1}),t))}},t.unionBy=w,t.uniqueBy=b,t.values=function(e){return g(e,(e=>e))},t.without=function(e,t){if(o(e))return[];u(e);const n=_(t);return e.filter((function(e,t){return!n(e,t)}))}}},t={};function n(i){var o=t[i];if(void 0!==o)return o.exports;var r=t[i]={id:i,loaded:!1,exports:{}};return e[i].call(r.exports,r,r.exports,n),r.loaded=!0,r.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{"use strict";var e,t=(function(e){var t=e.exports=function(e,n){if(n||(n=16),void 0===e&&(e=128),e<=0)return"0";for(var i=Math.log(Math.pow(2,e))/Math.log(n),o=2;i===1/0;o*=2)i=Math.log(Math.pow(2,e/o))/Math.log(n)*o;var r=i-Math.floor(i),s="";for(o=0;o=Math.pow(2,e)?t(e,n):s};t.rack=function(e,n,i){var o=function(o){var s=0;do{if(s++>10){if(!i)throw new Error("too many ID collisions, use more bits");e+=i}var a=t(e,n)}while(Object.hasOwnProperty.call(r,a));return r[a]=o,a},r=o.hats={};return o.get=function(e){return o.hats[e]},o.set=function(e,t){return o.hats[e]=t,o},o.bits=e||128,o.base=n||16,o}}(e={exports:{}}),e.exports);function i(e){if(!(this instanceof i))return new i(e);e=e||[128,36,1],this._seed=e.length?t.rack(e[0],e[1],e[2]):e}i.prototype.next=function(e){return this._seed(e||!0)},i.prototype.nextPrefixed=function(e,t){var n;do{n=e+this.next(!0)}while(this.assigned(n));return this.claim(n,t),n},i.prototype.claim=function(e,t){this._seed.set(e,t||!0)},i.prototype.assigned=function(e){return this._seed.get(e)||!1},i.prototype.unclaim=function(e){delete this._seed.hats[e]},i.prototype.clear=function(){var e,t=this._seed.hats;for(e in t)this.unclaim(e)};const o=i,r=Object.freeze({ACTIVATED:1,RUNNING:2,ENDING:4,ENDED:8,DESTROYED:16,FAILED:32,TERMINATED:64,CANCELED:128,COMPLETED:256,COMPENSABLE:512,ACTIVE:7,NOT_DEAD:9}),s={};function a(e,t){throw new Error(`illegal transition: ${e.name} -> ${t}`)}function l(e,t){return e===s?t:e}class c{constructor(e,t,{start:n,cancel:i,complete:o,destroy:r,fail:s,terminate:a,compensable:c}={}){this.name=e,this.traits=t,this._start=l(n,this),this._compensable=l(c,this),this._cancel=l(i,this),this._complete=l(o,this),this._destroy=l(r,this),this._fail=l(s,this),this._terminate=l(a,this)}hasTrait(e){return!!(this.traits&e)}complete(){return this._complete||a(this,"complete")}destroy(){return this._destroy||a(this,"destroy")}cancel(){return this._cancel||a(this,"cancel")}fail(){return this._fail||a(this,"fail")}terminate(){return this._terminate||a(this,"terminate")}compensable(){return this._compensable||a(this,"compensable")}start(){return this._start||a(this,"start")}}const u=new c("failed",r.DESTROYED|r.FAILED),h=new c("terminated",r.DESTROYED|r.TERMINATED),p=new c("completed",r.DESTROYED|r.COMPLETED),d=new c("terminating",r.ENDING|r.TERMINATED,{destroy:h}),f=new c("canceling",r.ENDING|r.FAILED|r.CANCELED,{destroy:u,complete:s,terminate:d}),m=new c("completing",r.ENDING|r.COMPLETED,{destroy:p,cancel:f,terminate:d}),g=new c("failing",r.ENDING|r.FAILED,{cancel:f,complete:m,destroy:u,terminate:d}),v=new c("compensable:failing",r.ENDING|r.FAILED,{complete:s,terminate:d,destroy:u}),y=new c("compensable:completed",r.ENDED|r.COMPLETED,{cancel:f,fail:v,destroy:p,compensable:s}),b=new c("compensable:completing",r.ENDING|r.COMPLETED,{destroy:y,terminate:d,compensable:s}),w=new c("compensable:running",r.RUNNING|r.COMPENSABLE,{cancel:f,complete:b,compensable:s,destroy:y,fail:g,terminate:d}),x=new c("running",r.RUNNING,{cancel:f,complete:m,compensable:w,destroy:h,fail:g,terminate:d}),_=new c("activated",r.ACTIVATED,{start:x,destroy:h}),E=Object.freeze({ACTIVATED:_,RUNNING:x,CANCELING:f,COMPLETING:m,COMPLETED:p,FAILING:g,FAILED:u,TERMINATING:d,TERMINATED:h});class k{constructor(e,t,n=null,i=null){this.id=e,this.element=t,this.parent=n,this.initiator=i,this.subscriptions=new Set,this.children=[],this.state=E.ACTIVATED}get running(){return this.hasTrait(r.RUNNING)}get destroyed(){return this.hasTrait(r.DESTROYED)}get completed(){return this.hasTrait(r.COMPLETED)}get canceled(){return this.hasTrait(r.CANCELED)}get failed(){return this.hasTrait(r.FAILED)}hasTrait(e){return this.state.hasTrait(e)}start(){return this.state=this.state.start(),this}compensable(){return this.state=this.state.compensable(),this}fail(e){return this.failed||(this.state=this.state.fail(),this.failInitiator=e),this}cancel(e){return this.canceled||(this.state=this.state.cancel(),this.cancelInitiator=e),this}terminate(e){return this.state=this.state.terminate(),this.terminateInitiator=e,this}complete(){return this.state=this.state.complete(),this}destroy(e){return this.state=this.state.destroy(),this.destroyInitiator=e,this}getTokens(){return this.children.filter((e=>!e.destroyed)).length}getTokensByElement(e){return this.children.filter((t=>!t.destroyed&&t.element===e)).length}}function S(e,t){const n=[];for(const i of e)t(i)&&n.push(i);return n}function C(e,t){for(const n of e)if(t(n))return n;return null}function O(e,t){const n=["type","name","iref"].every((n=>!(n in e)||e[n]===t[n])),i=!t.ref&&("error"===t.type||"escalation"===t.type);return n&&(i||P(e,t))}function P(e,t){const n="ref";return!(n in e)||e[n]===t[n]}function M(e){return Array.prototype.concat.apply([],e)}const A=Object.prototype.toString,T=Object.prototype.hasOwnProperty;function B(e){return void 0===e}function R(e){return void 0!==e}function D(e){return null==e}function L(e){return"[object Array]"===A.call(e)}function N(e){return"[object Object]"===A.call(e)}function z(e){return"[object Number]"===A.call(e)}function I(e){const t=A.call(e);return"[object Function]"===t||"[object AsyncFunction]"===t||"[object GeneratorFunction]"===t||"[object AsyncGeneratorFunction]"===t||"[object Proxy]"===t}function F(e){return"[object String]"===A.call(e)}function $(e,t){return T.call(e,t)}function j(e,t){const n=oe(t);let i;return V(e,(function(e,t){if(n(e,t))return i=e,!1})),i}function q(e,t){const n=oe(t);let i=L(e)?-1:void 0;return V(e,(function(e,t){if(n(e,t))return i=t,!1})),i}function H(e,t){const n=oe(t);let i=[];return V(e,(function(e,t){n(e,t)&&i.push(e)})),i}function V(e,t){let n,i;if(B(e))return;const o=L(e)?se:re;for(let r in e)if($(e,r)&&(n=e[r],i=t(n,o(r)),!1===i))return n}function W(e,t){if(B(e))return[];!function(e){if(!L(e))throw new Error("must supply array")}(e);const n=oe(t);return e.filter((function(e,t){return!n(e,t)}))}function G(e,t,n){return V(e,(function(e,i){n=t(n,e,i)})),n}function Q(e,t){return!!G(e,(function(e,n,i){return e&&t(n,i)}),!0)}function X(e,t){return!!j(e,t)}function U(e,t){let n=[];return V(e,(function(e,i){n.push(t(e,i))})),n}function Y(e){return e&&Object.keys(e)||[]}function K(e){return U(e,(e=>e))}function Z(e,t,n={}){return t=ie(t),V(e,(function(e){let i=t(e)||"_",o=n[i];o||(o=n[i]=[]),o.push(e)})),n}function J(e,...t){e=ie(e);let n={};return V(t,(t=>Z(t,e,n))),U(n,(function(e,t){return e[0]}))}const ee=J;function te(e,t){t=ie(t);let n=[];return V(e,(function(e,i){let o=t(e,i),r={d:o,v:e};for(var s=0;se.v))}function ne(e){return function(t){return Q(e,(function(e,n){return t[n]===e}))}}function ie(e){return I(e)?e:t=>t[e]}function oe(e){return I(e)?e:t=>t===e}function re(e){return e}function se(e){return Number(e)}function ae(e,t){let n,i,o,r;function s(n){let s=Date.now(),c=n?0:r+t-s;if(c>0)return a(c);e.apply(o,i),l()}function a(e){n=setTimeout(s,e)}function l(){n&&clearTimeout(n),n=r=i=o=void 0}function c(...e){r=Date.now(),i=e,o=this,n||a(t)}return c.flush=function(){n&&s(!0),l()},c.cancel=l,c}function le(e,t){return e.bind(t)}function ce(e,...t){return Object.assign(e,...t)}function ue(e,t,n){let i=e;return V(t,(function(e,o){if("number"!=typeof e&&"string"!=typeof e)throw new Error("illegal key type: "+typeof e+". Key should be of type number or string.");if("constructor"===e)throw new Error("illegal key: constructor");if("__proto__"===e)throw new Error("illegal key: __proto__");let r=t[o+1],s=i[e];R(r)&&D(s)&&(s=i[e]=isNaN(+r)?{}:[]),B(r)?B(n)?delete i[e]:i[e]=n:i=s})),e}function he(e,t){let n={},i=Object(e);return V(t,(function(t){t in i&&(n[t]=e[t])})),n}function pe(e,t){let n={};return V(Object(e),(function(e,i){-1===t.indexOf(i)&&(n[i]=e)})),n}function de(e,t){var n=me(e);return n&&"function"==typeof n.$instanceOf&&n.$instanceOf(t)}function fe(e,t){return X(t,(function(t){return de(e,t)}))}function me(e){return e&&e.businessObject||e}function ge(e){return e&&e.di}function ve(e){return e.filter((e=>de(e,"bpmn:SequenceFlow")))}function ye(e){return de(e,"bpmn:MessageFlow")}function be(e){return de(e,"bpmn:SequenceFlow")}function we(e){return Ee(e)&&Be(e,"bpmn:LinkEventDefinition")}function xe(e){return Ee(e)&&Be(e,"bpmn:CompensateEventDefinition")}function _e(e){return de(e,"bpmn:Activity")&&e.businessObject.isForCompensation}function Ee(e){return(de(e,"bpmn:CatchEvent")||de(e,"bpmn:ReceiveTask"))&&!Pe(e)}function ke(e){return de(e,"bpmn:BoundaryEvent")&&!Pe(e)}function Se(e){return Oe(e)&&!Be(e)}function Ce(e){return!Pe(e)&&(!!Te(e,["bpmn:Activity","bpmn:IntermediateCatchEvent","bpmn:IntermediateThrowEvent","bpmn:Gateway","bpmn:EndEvent"])&&(!we(e)&&(!e.incoming.find(be)&&!_e(e)&&!Me(e))))}function Oe(e){return de(e,"bpmn:StartEvent")&&!Pe(e)}function Pe(e){return!!e.labelTarget}function Me(e){return me(e).triggeredByEvent}function Ae(e){return de(e,"bpmn:StartEvent")&&me(e).isInterrupting||de(e,"bpmn:BoundaryEvent")&&me(e).cancelActivity}function Te(e,t){return t.some((t=>de(e,t)))}function Be(e,t){return X(me(e).eventDefinitions,(e=>!t||de(e,t)))}function Re(e,t,n){const i=e.get("scopeIds",!1)||new o([32,36]),s={},a={},l=new De,c=new Set,u=[],h=new Set,p=new Set;function d(e,t){if(u.push([t,e]),1!==u.length)return;let n;for(;n=u[0];){const[e,t]=n;t.destroyed||e(),u.shift()}R("tick")}function f(e){return a[e.type]||l}function m(e){const{element:t,parentScope:n,initiator:i=null,scope:o=z({element:t,parent:n,initiator:i})}=e;return d(o,(function(){o.running||o.start(),A("signal",{...e,scope:o}),f(t).signal({...e,scope:o}),o.parent&&B(o.parent)})),o}function g(e){const{event:t,initiator:n,scope:i}=e,o=w(t),r=i.subscriptions;let s=S(r,(e=>O(o,e.event)));if("error"===o.type||"escalation"===o.type){const e=S(s,(e=>P(o,e.event)));(s.every((e=>e.event.boundary))&&e.some((e=>e.event.boundary))||e.some((e=>!e.event.boundary)))&&(s=e)}const a=s.filter((e=>!e.event.interrupting)),l=s.filter((e=>e.event.interrupting));if(!l.length)return a.map((e=>e.triggerFn(n))).flat();const c=l.find((e=>!e.event.boundary))||l[0],u=S(r,(e=>e.event.persistent||function(e,t){return e.type===t.type&&e.boundary&&!t.boundary}(e.event,c.event)));return r.forEach((e=>{u.includes(e)||e.remove()})),[c.triggerFn(n)].flat().filter((e=>e))}function v(e,t,n){const i=(t=w(t)).element,o={scope:e,event:t,element:i,triggerFn:n,remove(){y(o)}};return p.add(o),e.subscriptions.add(o),i&&T(i),o}function y(e){const{scope:t,event:n}=e;p.delete(e),t.subscriptions.delete(e),n.element&&T(n.element)}function b(e){return{element:e,interrupting:!1,boundary:!1,iref:e.id,type:"none"}}function w(e){if(!e.businessObject)return e;const t=Ae(e),i=ke(e),o=function(e){return de(e,"bpmn:StartEvent")||de(e,"bpmn:IntermediateCatchEvent")||de(e,"bpmn:ReceiveTask")||function(e){if(!ke(e))return!1;const t=Ne(e);return!t[0]||Te(t[0],["bpmn:ConditionalEventDefinition","bpmn:TimerEventDefinition"])}(e)?me(e).name||e.id:null}(e),r={element:e,interrupting:t,boundary:i,...o?{iref:o}:{}},s=Ne(e)[0];if(!s)return{...r,type:Le(e)?"message":"none"};if(de(s,"bpmn:LinkEventDefinition"))return{...r,type:"link",name:s.name};if(de(s,"bpmn:SignalEventDefinition"))return{...r,type:"signal",ref:s.signalRef};if(de(s,"bpmn:TimerEventDefinition"))return{...r,type:"timer"};if(de(s,"bpmn:ConditionalEventDefinition"))return{...r,type:"condition"};if(de(s,"bpmn:EscalationEventDefinition"))return{...r,type:"escalation",ref:s.escalationRef};if(de(s,"bpmn:CancelEventDefinition"))return{...r,type:"cancel"};if(de(s,"bpmn:ErrorEventDefinition"))return{...r,type:"error",ref:s.errorRef};if(de(s,"bpmn:MessageEventDefinition"))return{...r,type:"message",ref:s.messageRef};if(de(s,"bpmn:CompensateEventDefinition")){let t=s.activityRef&&n.get(s.activityRef.id);return t||(t=Oe(e)&&Me(e.parent)?e.parent.parent:ke(e)?e.host:e.parent),{...r,type:"compensate",ref:t,persistent:!0}}throw new Error("unknown event definition",s)}function x(e,t=!0){const{element:n,parent:o,initiator:r}=e;t&&A("createScope",{element:n,scope:o});const s=new k(i.next(),n,o,r);return o&&o.children.push(s),h.add(s),t&&R("createScope",{scope:s}),T(n),o&&T(o.element),s}function _(e){if("function"==typeof e)return e;const{event:t,element:n,scope:i}=e,o=e.elements||n&&[n],r=t&&w(t);return e=>(!r||O(r,e.event))&&(!o||o.includes(e.element))&&(!i||i===e.scope)}function E(e){if("function"==typeof e)return e;const{element:t,waitsOnElement:n,parent:i,trait:o=r.RUNNING,subscribedTo:s}=e,a=s?function(e){const t="function"===e?e:_(e);return e=>Array.from(e.subscriptions).some(t)}(s):()=>!0;return e=>(!t||e.element===t)&&(!i||e.parent===i)&&(!n||e.getTokensByElement(n)>0)&&e.hasTrait(o)&&a(e)}function M(e,t=null){if(!e.destroyed){e.destroy(t);for(const t of e.subscriptions){const n=t.event.traits||r.ACTIVE;e.hasTrait(n)||y(t)}if(e.destroyed){for(const n of e.children)n.destroyed||M(n,t);A("destroyScope",{element:e.element,scope:e}),h.delete(e),R("destroyScope",{scope:e})}T(e.element),e.parent&&T(e.parent.element)}}function A(e,t){R("trace",{...t,action:e})}function T(e){c.add(e),u.length||R("tick")}function B(e){R("scopeChanged",{scope:e})}function R(e,n={}){return t.fire(`tokenSimulation.simulator.${e}`,n)}function D(e,n){t.on("tokenSimulation.simulator."+e,n)}function L(e,n){t.off("tokenSimulation.simulator."+e,n)}function N(e,t){const n=I(e);s[e.id||e]={...n,...t},T(e)}function z(e){const{element:t}=e,n=x(e),{children:i=[],attachers:o=[]}=t;for(const e of i)if(Me(e)){const t=e.children.filter((e=>Oe(e)&&!xe(e)));for(const i of t)v(n,i,(t=>m({element:e,parentScope:n,startEvent:i,initiator:t})))}for(const e of o)ke(e)&&!xe(e)&&v(n,e,(t=>m({element:e,parentScope:n.parent,hostScope:n,initiator:t})));return n}function I(e){return s[e.id||e]||{}}D("tick",(function(){for(const e of c)R("elementChanged",{element:e});c.clear()})),this.createScope=x,this.destroyScope=M,this.findScope=function(e){return C(h,E(e))},this.findScopes=function(e){return S(h,E(e))},this.findSubscription=function(e){return C(p,_(e))},this.findSubscriptions=function(e){return S(p,_(e))},this.waitAtElement=function(e,t=!0){N(e,{wait:t})},this.waitForScopes=function(e,t){if(!t.length)return;const n={type:"all-completed",persistent:!1},i=new Set(t),o=t=>{i.delete(t.scope),0===i.size&&(L("destroyScope",o),g({scope:e,event:n}))};return D("destroyScope",o),n},this.setConfig=N,this.getConfig=I,this.signal=m,this.enter=function(e){const{element:t,scope:n,initiator:i=n}=e,o=z({element:t,parent:n,initiator:i});return d(o,(function(){o.running||o.start(),A("enter",e),f(t).enter({...e,initiator:i,scope:o}),o.parent&&B(o.parent)})),o},this.exit=function(e){const{element:t,scope:n,initiator:i=n}=e;d(n,(function(){A("exit",e),f(t).exit({...e,initiator:i}),n.running&&n.complete(),M(n,i),n.parent&&B(n.parent)}))},this.subscribe=v,this.trigger=g,this.reset=function(){for(const e of h)M(e);for(const e of function(){const e=[];return n.forEach((t=>{if(!Te(t,["bpmn:Process","bpmn:Participant"]))return;const n=x({element:t},!1);e.push(n);const i=t.children.filter(Oe),o=t.children.filter(Ce);for(const e of i)v(n,{...w(e),interrupting:!1},(n=>m({element:t,startEvent:e,initiator:n})));if(!i.length)for(const e of o)v(n,b(e),(e=>m({element:t,initiator:e})))})),e}())h.add(e);R("tick"),R("reset")},this.on=D,this.off=L,this.registerBehavior=function(e,t){a[e]=t}}function De(){this.signal=function(e){console.log("ignored #exit",e.element)},this.exit=function(e){console.log("ignored #exit",e.element)},this.enter=function(e){console.log("ignored #enter",e.element)}}function Le(e){return de(e,"bpmn:ReceiveTask")||e.incoming.some((e=>de(e,"bpmn:MessageFlow")))}function Ne(e){return e.businessObject.get("eventDefinitions")||[]}function ze(e,t){this._simulator=e,this._activityBehavior=t,e.registerBehavior("bpmn:StartEvent",this)}function Ie(e,t,n){this._intermediateThrowEventBehavior=n,this._scopeBehavior=t,e.registerBehavior("bpmn:EndEvent",this)}function Fe(e,t,n){this._simulator=e,this._activityBehavior=t,this._scopeBehavior=n,e.registerBehavior("bpmn:BoundaryEvent",this)}function $e(e,t){this._activityBehavior=t,this._simulator=e,e.registerBehavior("bpmn:IntermediateCatchEvent",this),e.registerBehavior("bpmn:ReceiveTask",this)}function je(e,t,n){this._simulator=e,this._activityBehavior=t,this._eventBehaviors=n,e.registerBehavior("bpmn:IntermediateThrowEvent",this),e.registerBehavior("bpmn:SendTask",this)}function qe(e,t){this._scopeBehavior=t,this._simulator=e,e.registerBehavior("bpmn:ExclusiveGateway",this)}function He(e,t){this._simulator=e,this._activityBehavior=t,e.registerBehavior("bpmn:ParallelGateway",this)}function Ve(e){this._simulator=e,e.registerBehavior("bpmn:EventBasedGateway",this)}function We(e,t){this._simulator=e,this._activityBehavior=t,e.registerBehavior("bpmn:InclusiveGateway",this)}function Ge(e,t,n){this._simulator=e,this._scopeBehavior=t,this._transactionBehavior=n;const i=["bpmn:BusinessRuleTask","bpmn:CallActivity","bpmn:ManualTask","bpmn:ScriptTask","bpmn:ServiceTask","bpmn:Task","bpmn:UserTask"];for(const t of i)e.registerBehavior(t,this)}function Qe(e,t,n,i,o){this._simulator=e,this._activityBehavior=t,this._scopeBehavior=n,this._transactionBehavior=i,this._elementRegistry=o,e.registerBehavior("bpmn:SubProcess",this),e.registerBehavior("bpmn:Transaction",this),e.registerBehavior("bpmn:AdHocSubProcess",this)}Re.$inject=["injector","eventBus","elementRegistry"],ze.prototype.signal=function(e){this._simulator.exit(e)},ze.prototype.exit=function(e){this._activityBehavior.exit(e)},ze.$inject=["simulator","activityBehavior"],Ie.$inject=["simulator","scopeBehavior","intermediateThrowEventBehavior"],Ie.prototype.enter=function(e){this._intermediateThrowEventBehavior.enter(e)},Ie.prototype.signal=function(e){this._intermediateThrowEventBehavior.signal(e)},Ie.prototype.exit=function(e){const{scope:t}=e;this._scopeBehavior.tryExit(t.parent,t)},Fe.prototype.signal=function(e){const{element:t,scope:n,hostScope:i=this._simulator.findScope({parent:n.parent,element:t.host})}=e;if(!i)throw new Error("host scope not found");if(me(t).cancelActivity){this._scopeBehavior.interrupt(i,n);const t=this._scopeBehavior.tryExit(i,n);if(t){const n=this._simulator.subscribe(i,t,(t=>(n.remove(),this._simulator.exit(e))));return}}this._simulator.exit(e)},Fe.prototype.exit=function(e){this._activityBehavior.exit(e)},Fe.$inject=["simulator","activityBehavior","scopeBehavior"],$e.$inject=["simulator","activityBehavior"],$e.prototype.signal=function(e){return this._simulator.exit(e)},$e.prototype.enter=function(e){const{element:t}=e;return this._activityBehavior.signalOnEvent(e,t)},$e.prototype.exit=function(e){this._activityBehavior.exit(e)},je.prototype.enter=function(e){const{element:t}=e,n=this._eventBehaviors.get(t);if(n){const t=n(e);if(t)return this._activityBehavior.signalOnEvent(e,t)}this._activityBehavior.enter(e)},je.prototype.signal=function(e){this._activityBehavior.signal(e)},je.prototype.exit=function(e){this._activityBehavior.exit(e)},je.$inject=["simulator","activityBehavior","eventBehaviors"],qe.prototype.enter=function(e){this._simulator.exit(e)},qe.prototype.exit=function(e){const{element:t,scope:n}=e,i=ve(t.outgoing);if(1===i.length)return this._simulator.enter({element:i[0],scope:n.parent});const{activeOutgoing:o}=this._simulator.getConfig(t),r=i.find((e=>e===o));return r?this._simulator.enter({element:r,scope:n.parent}):this._scopeBehavior.tryExit(n.parent,n)},qe.$inject=["simulator","scopeBehavior"],He.prototype.enter=function(e){const{scope:t}=e,n=this._findJoiningScopes(e);if(n.length){for(const e of n)e!==t&&this._simulator.destroyScope(e.complete(),t);this._simulator.exit(e)}},He.prototype._findJoiningScopes=function(e){const{scope:t,element:n}=e,i=ve(n.incoming),{parent:o}=t,r=this._simulator.findScopes({parent:o,element:n}),s=i.map((e=>r.find((t=>t.initiator.element===e)))).filter((e=>e));return s.length===i.length?s:[]},He.prototype.exit=function(e){this._activityBehavior.exit(e)},He.$inject=["simulator","activityBehavior"],Ve.$inject=["simulator"],Ve.prototype.enter=function(e){const{element:t,scope:n}=e,i=n.parent,o=function(e){return e.outgoing.map((e=>e.target)).filter((e=>Te(e,["bpmn:IntermediateCatchEvent","bpmn:ReceiveTask"])))}(t),r=o.map((e=>this._simulator.subscribe(i,e,(t=>(r.forEach((e=>e.remove())),this._simulator.destroyScope(n,t),this._simulator.signal({element:e,parentScope:i,initiator:t}))))))},We.prototype.enter=function(e){this._tryJoin(e)},We.prototype.exit=function(e){const{element:t,scope:n}=e;if(ve(t.outgoing).length>1){const{activeOutgoing:e=[]}=this._simulator.getConfig(t);if(!e.length)throw new Error("no outgoing configured");for(const t of e)this._simulator.enter({element:t,scope:n.parent})}else this._activityBehavior.exit(e)},We.prototype._tryJoin=function(e){const t=this._getRemainingScopes(e),n=t.map((e=>e.element));if(!this._canReachAnyElement(n,e.element))return this._join(e);const i=this._getElementScopes(e),{scope:o}=e;if(i[0]!==o)return;const r=this._simulator.waitForScopes(o,t),s=this._simulator.subscribe(o,r,(()=>{s.remove(),this._tryJoin(e)}))},We.prototype._getRemainingScopes=function(e){const{scope:t,element:n}=e,{parent:i}=t;return this._simulator.findScopes((e=>e.parent===i&&e.element!==n))},We.prototype._join=function(e){const t=this._getElementScopes(e);for(const n of t)n!==e.scope&&this._simulator.destroyScope(n.complete(),e.scope);this._simulator.exit(e)},We.prototype._getElementScopes=function(e){const{element:t,scope:n}=e;return this._simulator.findScopes({parent:n.parent,element:t})},We.prototype._canReachAnyElement=function(e,t,n=new Set){if(!e.length)return!1;if(n.has(t))return!1;if(n.add(t),e.some((e=>e===t)))return!0;if(be(t))return this._canReachAnyElement(e,t.source,n);const i=ve(t.incoming);for(const t of i)if(this._canReachAnyElement(e,t,n))return!0;return!1},We.$inject=["simulator","activityBehavior"],Ge.$inject=["simulator","scopeBehavior","transactionBehavior"],Ge.prototype.signal=function(e){const t=this._triggerMessages(e);if(t)return this.signalOnEvent(e,t);this._simulator.exit(e)},Ge.prototype.enter=function(e){const{element:t}=e,n=this.waitAtElement(t);if(n)return this.signalOnEvent(e,n);const i=this._triggerMessages(e);if(i)return this.signalOnEvent(e,i);this._simulator.exit(e)},Ge.prototype.exit=function(e){const{element:t,scope:n}=e,i=n.parent,o=!n.failed;o&&!Me(t)&&this._transactionBehavior.registerCompensation(n);const r=o?t.outgoing.filter(be):[];r.forEach((e=>this._simulator.enter({element:e,scope:i}))),0===r.length&&this._scopeBehavior.tryExit(i,n)},Ge.prototype.signalOnEvent=function(e,t){const{scope:n,element:i}=e,o=this._simulator.subscribe(n,t,(e=>(o.remove(),this._simulator.signal({scope:n,element:i,initiator:e}))))},Ge.prototype.waitAtElement=function(e){return this._simulator.getConfig(e).wait&&{element:e,type:"continue",interrupting:!1,boundary:!1}},Ge.prototype._getMessageContexts=function(e,t=null){const n=t?e=>e.referencePoint.x>t.x:()=>!0;return[...e.incoming.filter(ye).map((e=>{return{incoming:e,referencePoint:(t=e.waypoints,t&&t[t.length-1])};var t})),...e.outgoing.filter(ye).map((e=>{return{outgoing:e,referencePoint:(t=e.waypoints,t&&t[0])};var t}))].sort(((e,t)=>e.referencePoint.x-t.referencePoint.x)).filter(n)},Ge.prototype._triggerMessages=function(e){const{element:t,initiator:n,scope:i}=e;let o=i.messageContexts;o||(o=i.messageContexts=this._getMessageContexts(t));const r=n&&n.element;if(ye(r)&&i.expectedIncoming!==r)console.debug("Simulator :: ActivityBehavior :: ignoring out-of-bounds message");else for(;o.length;){const{incoming:e,outgoing:r}=o.shift();if(e){if(!n)continue;return i.expectedIncoming=e,{element:t,type:"message",name:e.id,interrupting:!1,boundary:!1}}this._simulator.signal({element:r})}},Qe.$inject=["simulator","activityBehavior","scopeBehavior","transactionBehavior","elementRegistry"],Qe.prototype.signal=function(e){this._start(e)},Qe.prototype.enter=function(e){const{element:t}=e,n=this._activityBehavior.waitAtElement(t);if(n)return this._activityBehavior.signalOnEvent(e,n);this._start(e)},Qe.prototype.exit=function(e){const{scope:t}=e,n=t.parent;n.failInitiator===t&&n.complete(),this._activityBehavior.exit(e)},Qe.prototype._start=function(e){const{element:t,startEvent:n,scope:i}=e,o=i.parent;if(Me(t)){if(!n)throw new Error("missing : required for event sub-process")}else if(n)throw new Error("unexpected : not allowed for sub-process");if(o.destroyed)throw new Error(`target scope <${o.id}> destroyed`);(function(e){return de(e,"bpmn:Transaction")})(t)&&this._transactionBehavior.setup(e),n&&Ae(n)&&this._scopeBehavior.interrupt(o,i);const r=this._findStarts(t,n);for(const e of r)Oe(e)?this._simulator.signal({element:e,parentScope:i,initiator:i}):this._simulator.enter({element:e,scope:i,initiator:i})},Qe.prototype._findStarts=function(e,t){e=this._elementRegistry.get(e.id+"_plane")||e;const n=t?e=>t===e:e=>Se(e);return e.children.filter((e=>n(e)||Ce(e)))};const Xe={type:"cancel",interrupting:!0,boundary:!1,persistent:!0};function Ue(e,t){this._simulator=e,this._scopeBehavior=t}function Ye(e,t){this._simulator=e,this._scopeBehavior=t,e.registerBehavior("bpmn:SequenceFlow",this)}function Ke(e){this._simulator=e,e.registerBehavior("bpmn:MessageFlow",this)}function Ze(e,t){return"label"!==e.type&&(Array.isArray(t)||(t=[t]),t.some((function(t){return de(e,t)})))}function Je(e,t,n){this._simulator=e,this._elementRegistry=t,this._scopeBehavior=n}function et(e){return"bpmn:LinkEventDefinition",j(me(e).eventDefinitions,(e=>Ze(e,"bpmn:LinkEventDefinition")))}function tt(e){for(;Me(e.parent.element);)e=e.parent;return e.parent}Ue.$inject=["simulator","scopeBehavior"],Ue.prototype.setup=function(e){const{scope:t}=e,n=this._simulator.subscribe(t,Xe,(e=>(n.remove(),this.cancel({scope:t,initiator:e})))),i={type:"compensate",ref:t.element,persistent:!0,traits:r.NOT_DEAD},o=this._simulator.subscribe(t,i,(e=>t.canceled?(o.remove(),this.compensate({scope:t,element:t.element,initiator:e})):this._simulator.trigger({event:Xe,scope:t})))},Ue.prototype.cancel=function(e){const{scope:t,initiator:n}=e;if(!t.destroyed)return t.cancel(n),this._simulator.trigger({event:{type:"compensate",ref:t.element},initiator:n,scope:t}),this._simulator.trigger({scope:t,initiator:n,event:Xe})},Ue.prototype.registerCompensation=function(e){const{element:t}=e,n=t.children.filter(Me).map((e=>e.children.find((e=>Oe(e)&&xe(e))))).filter((e=>e)),i=t.attachers.filter(xe);if(!n.length&&!i.length)return;const o=this.findTransactionScope(e.parent);de(o.element,"bpmn:Transaction")||this.makeCompensable(o);for(const i of n){const n={element:i,type:"compensate",persistent:!0,interrupting:!0,ref:t,traits:r.NOT_DEAD},o=i.parent,s=this._simulator.subscribe(e,n,(t=>(s.remove(),this._simulator.signal({initiator:t,element:o,startEvent:i,parentScope:e}))))}for(const e of i){const n={element:e,type:"compensate",persistent:!0,ref:t,traits:r.NOT_DEAD},i=e.outgoing.map((e=>e.target)).find(_e);if(!i)continue;const s=this._simulator.subscribe(o,n,(e=>(s.remove(),this._simulator.enter({initiator:e,element:i,scope:o}))))}},Ue.prototype.makeCompensable=function(e){if(e.hasTrait(r.COMPENSABLE)||!e.parent)return;const t={type:"compensate",ref:e.element,interrupting:!0,persistent:!0,traits:r.NOT_DEAD};e.compensable();const n=this._simulator.subscribe(e,t,(t=>(n.remove(),e.fail(t),this.compensate({scope:e,element:e.element,initiator:t}),this._scopeBehavior.tryExit(e,t),e))),i=e.parent;if(!i)return;const o=this._simulator.subscribe(i,t,(n=>(o.remove(),this._simulator.trigger({scope:e,event:t,initiator:n}))));this.makeCompensable(i)},Ue.prototype.findTransactionScope=function(e){let t=e;for(;t;){const e=t.element;if(de(e,"bpmn:SubProcess")&&!Me(e))return t;if(Te(e,["bpmn:Transaction","bpmn:Process","bpmn:Participant"]))return t;t=t.parent}throw function(e){throw new Error(`no transaction context for <${e.id}>`)}(e)},Ue.prototype.compensate=function(e){const{scope:t,element:n}=e,i=S(t.subscriptions,(e=>O({type:"compensate"},e.event))),o=i.filter((e=>e.event.ref===n)),r=i.filter((e=>e.event.ref!==n));for(const e of o)this._scopeBehavior.preExit(t,(t=>this._simulator.trigger(e)));for(const e of r.reverse())this._scopeBehavior.preExit(t,(t=>this._simulator.trigger(e)))},Ye.prototype.enter=function(e){this._simulator.exit(e)},Ye.prototype.exit=function(e){const{element:t,scope:n}=e;this._simulator.enter({initiator:n,element:t.target,scope:n.parent})},Ye.$inject=["simulator","scopeBehavior"],Ke.$inject=["simulator"],Ke.prototype.signal=function(e){this._simulator.exit(e)},Ke.prototype.exit=function(e){const{element:t,scope:n}=e,i=t.target,o=Ee(i)?i:{type:"message",element:t,name:t.id},r=this._simulator.findSubscription({event:o,elements:[i,i.parent]});r&&this._simulator.trigger({event:o,initiator:n,scope:r.scope})},Je.$inject=["simulator","elementRegistry","scopeBehavior"],Je.prototype.get=function(e){const t={"bpmn:LinkEventDefinition":e=>{const{element:t,scope:n}=e,i=et(t),o=n.parent,r=o.element.children.filter((e=>we(e)&&et(e).name===i.name));for(const e of r)this._simulator.signal({element:e,parentScope:o,initiator:n})},"bpmn:SignalEventDefinition":e=>{const{element:t,scope:n}=e,i=this._simulator.findSubscriptions({event:t}),o=new Set;for(const e of i){const i=e.scope;o.has(i)||(o.add(i),this._simulator.trigger({event:t,scope:i,initiator:n}))}},"bpmn:EscalationEventDefinition":e=>{const{element:t,scope:n}=e,i=this._simulator.findScopes({subscribedTo:{event:t},trait:r.ACTIVE});let o=n;for(;o=o.parent;)if(i.includes(o)){this._simulator.trigger({event:t,scope:o,initiator:n});break}},"bpmn:ErrorEventDefinition":e=>{const{element:t,scope:n}=e,i=this._simulator.findScopes({subscribedTo:{event:t},trait:r.ACTIVE});let o=n;for(;o=o.parent;)if(i.includes(o)){this._simulator.trigger({event:t,scope:o,initiator:n});break}},"bpmn:TerminateEventDefinition":e=>{const{scope:t}=e;this._scopeBehavior.terminate(t.parent,t)},"bpmn:CancelEventDefinition":e=>{const{scope:t,element:n}=e;this._simulator.trigger({event:n,initiator:t,scope:tt(t)})},"bpmn:CompensateEventDefinition":e=>{const{scope:t,element:n}=e;return this._simulator.waitForScopes(t,this._simulator.trigger({event:n,scope:tt(t)}))}},n=Object.entries(t).find((t=>{return n=e,i=t[0],X(me(n).eventDefinitions,(e=>Ze(e,i)));var n,i}));return n&&n[1]};const nt={type:"pre-exit",persistent:!0,interrupting:!0,boundary:!1},it={type:"exit",interrupting:!0,boundary:!1,persistent:!0};function ot(e){this._simulator=e}function rt(e){return"function"==typeof e?e:t=>t===e}function st(e,t){this._simulator=e,this._scopeBehavior=t,e.registerBehavior("bpmn:Process",this),e.registerBehavior("bpmn:Participant",this)}ot.$inject=["simulator"],ot.prototype.isFinished=function(e,t=null){return t=rt(t),e.children.every((e=>e.destroyed||e.completed||t(e)))},ot.prototype.destroyChildren=function(e,t,n=null){n=rt(n),e.children.filter((e=>!e.destroyed&&!n(e))).map((e=>{this._simulator.destroyScope(e,t)}))},ot.prototype.terminate=function(e,t){this.destroyChildren(e,t),e.terminate(t),this.tryExit(e,t)},ot.prototype.interrupt=function(e,t){this.destroyChildren(e,t,t),e.fail(t)},ot.prototype.tryExit=function(e,t){if(!e)throw new Error("missing ");if(t||(t=e),!this.isFinished(e,t))return it;const n=this._simulator.findSubscriptions({event:nt,scope:e});for(const e of n){const{event:n,scope:i}=e;if(this._simulator.trigger({event:n,scope:i,initiator:t}).length)return it}this._simulator.trigger({event:it,scope:e,initiator:t}),this.exit({scope:e,initiator:t})},ot.prototype.exit=function(e){const{scope:t,initiator:n}=e;if(!n)throw new Error("missing ");this._simulator.exit({element:t.element,scope:t,initiator:n})},ot.prototype.preExit=function(e,t){const n=this._simulator.subscribe(e,nt,(e=>(n.remove(),t(e))));return n},st.prototype.signal=function(e){const{element:t,startEvent:n,startNodes:i=this._findStarts(t,n),scope:o}=e;if(!i.length)throw new Error("missing or ");for(const e of i)Oe(e)?this._simulator.signal({element:e,parentScope:o}):this._simulator.enter({element:e,scope:o})},st.prototype.exit=function(e){const{scope:t,initiator:n}=e;this._scopeBehavior.destroyChildren(t,n)},st.prototype._findStarts=function(e,t){const n=t?e=>t===e:e=>Se(e);return e.children.filter((e=>n(e)||Ce(e)))},st.$inject=["simulator","scopeBehavior"];const at={__depends__:[{__init__:["startEventBehavior","endEventBehavior","boundaryEventBehavior","intermediateCatchEventBehavior","intermediateThrowEventBehavior","exclusiveGatewayBehavior","parallelGatewayBehavior","eventBasedGatewayBehavior","inclusiveGatewayBehavior","subProcessBehavior","sequenceFlowBehavior","messageFlowBehavior","processBehavior"],startEventBehavior:["type",ze],endEventBehavior:["type",Ie],boundaryEventBehavior:["type",Fe],intermediateCatchEventBehavior:["type",$e],intermediateThrowEventBehavior:["type",je],exclusiveGatewayBehavior:["type",qe],parallelGatewayBehavior:["type",He],eventBasedGatewayBehavior:["type",Ve],inclusiveGatewayBehavior:["type",We],activityBehavior:["type",Ge],subProcessBehavior:["type",Qe],sequenceFlowBehavior:["type",Ye],messageFlowBehavior:["type",Ke],eventBehaviors:["type",Je],scopeBehavior:["type",ot],processBehavior:["type",st],transactionBehavior:["type",Ue]}],__init__:[["eventBus","simulator",function(e,t){e.on(["tokenSimulation.toggleMode","tokenSimulation.resetSimulation"],5e3,(e=>{t.reset()}))}]],simulator:["type",Re]};function lt(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}function ct(e,t){e.invoke(Ke,this),this._animation=t}function ut(e,t){e.invoke(Ye,this),this._animation=t}lt(ct,Ke),ct.$inject=["injector","animation"],ct.prototype.signal=function(e){const{element:t,scope:n}=e;this._animation.animate(t,n,(()=>{Ke.prototype.signal.call(this,e)}))},lt(ut,Ye),ut.$inject=["injector","animation"],ut.prototype.enter=function(e){const{element:t,scope:n}=e;this._animation.animate(t,n,(()=>{Ye.prototype.enter.call(this,e)}))};const ht={sequenceFlowBehavior:["type",ut],messageFlowBehavior:["type",ct]},pt="tokenSimulation.toggleMode",dt="tokenSimulation.playSimulation",ft="tokenSimulation.pauseSimulation",mt="tokenSimulation.resetSimulation",gt="tokenSimulation.animationSpeedChanged",vt="tokenSimulation.simulator.elementChanged",yt="tokenSimulation.simulator.destroyScope",bt="tokenSimulation.simulator.createScope",wt="tokenSimulation.scopeFilterChanged",xt="tokenSimulation.simulator.trace",_t=e=>!0;function Et(e,t){this._eventBus=e,this._simulator=t,this._filter=_t,e.on([pt,mt],(()=>{this._filter=_t})),e.on(yt,(e=>{const{scope:t}=e;this._scope===t&&t.parent&&this.toggle(t.parent)})),e.on(bt,(e=>{const{scope:t}=e;t.parent||!this._scope||kt(this._scope,t)||this.toggle(null)}))}function kt(e,t){do{if(e===t)return!0}while(t=t.parent);return!1}Et.prototype.toggle=function(e){const t=this._scope!==e;this._scope=t?e:null,this._filter=this._scope?e=>kt(this._scope,e):e=>!0,this._eventBus.fire(wt,{filter:this._filter,scope:this._scope})},Et.prototype.isShown=function(e){return"string"==typeof e&&(e=this._simulator.findScope((t=>t.id===e))),e&&this._filter(e)},Et.prototype.findScope=function(e){return this._simulator.findScopes(e).filter((e=>this.isShown(e)))[0]},Et.$inject=["eventBus","simulator"];const St={scopeFilter:["type",Et]};function Ct(e,t){return t.forEach((function(t){t&&"string"!=typeof t&&!Array.isArray(t)&&Object.keys(t).forEach((function(n){if("default"!==n&&!(n in e)){var i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,i.get?i:{enumerable:!0,get:function(){return t[n]}})}}))})),Object.freeze(e)}const Ot=Object.prototype.toString,Pt=Object.prototype.hasOwnProperty;function Mt(e,t){return Pt.call(e,t)}function At(e,t){let n,i;if(void 0===e)return;const o=(r=e,"[object Array]"===Ot.call(r)?Bt:Tt);var r;for(let r in e)if(Mt(e,r)&&(n=e[r],i=t(n,o(r)),!1===i))return n}function Tt(e){return e}function Bt(e){return Number(e)}function Rt(e,...t){const n=e.style;return At(t,(function(e){e&&At(e,(function(e,t){n[t]=e}))})),e}function Dt(e,t,n){return 2==arguments.length?e.getAttribute(t):null===n?e.removeAttribute(t):(e.setAttribute(t,n),e)}const Lt=Object.prototype.toString;function Nt(e){return new zt(e)}function zt(e){if(!e||!e.nodeType)throw new Error("A DOM element reference is required");this.el=e,this.list=e.classList}function It(e){for(var t;t=e.firstChild;)e.removeChild(t);return e}function Ft(e,t,n){var i=n?e:e.parentNode;return i&&"function"==typeof i.closest&&i.closest(t)||null}zt.prototype.add=function(e){return this.list.add(e),this},zt.prototype.remove=function(e){return"[object RegExp]"==Lt.call(e)?this.removeMatching(e):(this.list.remove(e),this)},zt.prototype.removeMatching=function(e){const t=this.array();for(let n=0;n
a',Ut=!Wt.getElementsByTagName("link").length,Wt=void 0);var Yt={legend:[1,"
","
"],tr:[2,"","
"],col:[2,"","
"],_default:Ut?[1,"X
","
"]:[0,"",""]};Yt.td=Yt.th=[3,"","
"],Yt.option=Yt.optgroup=[1,'"],Yt.thead=Yt.tbody=Yt.colgroup=Yt.caption=Yt.tfoot=[1,"","
"],Yt.polyline=Yt.ellipse=Yt.polygon=Yt.circle=Yt.text=Yt.line=Yt.path=Yt.rect=Yt.g=[1,'',""];var Kt=function(e,t){if("string"!=typeof e)throw new TypeError("String expected");t||(t=document);var n=/<([\w:]+)/.exec(e);if(!n)return t.createTextNode(e);e=e.replace(/^\s+|\s+$/g,"");var i=n[1];if("body"==i)return(l=t.createElement("html")).innerHTML=e,l.removeChild(l.lastChild);var o=Object.prototype.hasOwnProperty.call(Yt,i)?Yt[i]:Yt._default,r=o[0],s=o[1],a=o[2],l=t.createElement("div");for(l.innerHTML=s+e+a;r--;)l=l.lastChild;if(l.firstChild==l.lastChild)return l.removeChild(l.firstChild);for(var c=t.createDocumentFragment();l.firstChild;)c.appendChild(l.removeChild(l.firstChild));return c};function Zt(e,t){return e&&"function"==typeof e.matches&&e.matches(t)||!1}function Jt(e,t){return(t=t||document).querySelector(e)}function en(e,t){return(t=t||document).querySelectorAll(e)}function tn(e){e.parentNode&&e.parentNode.removeChild(e)}function nn(e,t){return t.appendChild(function(e,t){if(e.ownerDocument!==t.ownerDocument)try{return t.ownerDocument.importNode(e,!0)}catch(e){}return e}(e,t))}function on(e,t){return nn(t,e),e}var rn=2,sn={"alignment-baseline":1,"baseline-shift":1,clip:1,"clip-path":1,"clip-rule":1,color:1,"color-interpolation":1,"color-interpolation-filters":1,"color-profile":1,"color-rendering":1,cursor:1,direction:1,display:1,"dominant-baseline":1,"enable-background":1,fill:1,"fill-opacity":1,"fill-rule":1,filter:1,"flood-color":1,"flood-opacity":1,font:1,"font-family":1,"font-size":rn,"font-size-adjust":1,"font-stretch":1,"font-style":1,"font-variant":1,"font-weight":1,"glyph-orientation-horizontal":1,"glyph-orientation-vertical":1,"image-rendering":1,kerning:1,"letter-spacing":1,"lighting-color":1,marker:1,"marker-end":1,"marker-mid":1,"marker-start":1,mask:1,opacity:1,overflow:1,"pointer-events":1,"shape-rendering":1,"stop-color":1,"stop-opacity":1,stroke:1,"stroke-dasharray":1,"stroke-dashoffset":1,"stroke-linecap":1,"stroke-linejoin":1,"stroke-miterlimit":1,"stroke-opacity":1,"stroke-width":rn,"text-anchor":1,"text-decoration":1,"text-rendering":1,"unicode-bidi":1,visibility:1,"word-spacing":1,"writing-mode":1};function an(e,t,n){var i=t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),o=sn[i];o?(o===rn&&"number"==typeof n&&(n=String(n)+"px"),e.style[i]=n):e.setAttributeNS(null,t,n)}function ln(e,t,n){if("string"==typeof t){if(void 0===n)return function(e,t){return sn[t]?e.style[t]:e.getAttributeNS(null,t)}(e,t);an(e,t,n)}else!function(e,t){var n,i,o=Object.keys(t);for(n=0;i=o[n];n++)an(e,i,t[i])}(e,t);return e}const cn=Object.prototype.toString;function un(e){return new hn(e)}function hn(e){if(!e||!e.nodeType)throw new Error("A DOM element reference is required");this.el=e,this.list=e.classList}function pn(e){for(var t;t=e.firstChild;)e.removeChild(t);return e}function dn(e){return e.cloneNode(!0)}hn.prototype.add=function(e){return this.list.add(e),this},hn.prototype.remove=function(e){return"[object RegExp]"==cn.call(e)?this.removeMatching(e):(this.list.remove(e),this)},hn.prototype.removeMatching=function(e){const t=this.array();for(let n=0;n"+e+"",t=!0);var n=function(e){var t;return(t=new DOMParser).async=!1,t.parseFromString(e,"text/xml")}(e);if(!t)return n;for(var i=document.createDocumentFragment(),o=n.firstChild;o.firstChild;)i.appendChild(o.firstChild);return i}function vn(e,t){var n;return"<"===(e=e.trim()).charAt(0)?(n=gn(e).firstChild,n=document.importNode(n,!0)):n=document.createElementNS(fn.svg,e),t&&ln(n,t),n}var yn=null;function bn(){return null===yn&&(yn=vn("svg")),yn}function wn(e,t){var n,i,o=Object.keys(t);for(n=0;i=o[n];n++)e[i]=t[i];return e}function xn(e){return e?bn().createSVGTransformFromMatrix(e):bn().createSVGTransform()}var _n=/([&<>]{1})/g,En=/([\n\r"]{1})/g,kn={"&":"&","<":"<",">":">",'"':"'"};function Sn(e,t){return e.replace(t,(function(e,t){return kn[t]||t}))}function Cn(e,t){var n,i,o,r,s;switch(e.nodeType){case 3:t.push(Sn(e.textContent,_n));break;case 1:if(t.push("<",e.tagName),e.hasAttributes())for(n=0,i=(o=e.attributes).length;n"),n=0,i=(s=e.childNodes).length;n")}else t.push("/>");break;case 8:t.push("\x3c!--",Sn(e.nodeValue,_n),"--\x3e");break;case 4:t.push("");break;default:throw new Error("unable to handle node "+e.nodeType)}return t}function On(e,t){if(void 0!==t){try{!function(e,t){var n=gn(t);if(pn(e),t){(function(e){return"#document-fragment"===e.nodeName})(n)||(n=n.documentElement);for(var i,o=(i=n.childNodes,Array.prototype.slice.call(i)),r=0;r{this.clearAnimations()})),n.on(ft,(()=>{this.pause()})),n.on(dt,(()=>{this.play()})),n.on(wt,(e=>{this.each((e=>{this._scopeFilter.isShown(e.scope)?e.show():e.hide()}))})),n.on(yt,(e=>{const{scope:t}=e;this.clearAnimations(t)}))}function jn(e,t,n,i){this.gfx=e,this.waypoints=t,this.done=i,this.randomize=n,this._paused=!0,this._t=0,this._parts=[],this.create()}$n.prototype.animate=function(e,t,n){this.createAnimation(e,t,n)},$n.prototype.pause=function(){this.each((e=>e.pause()))},$n.prototype.play=function(){this.each((e=>e.play()))},$n.prototype.each=function(e){this._animations.forEach(e)},$n.prototype.createAnimation=function(e,t,n=Dn){const i=this._getGroup(t);if(!i)return;const o=new jn(this._createTokenGfx(i,t),e.waypoints,this._randomize,(()=>{this._clearAnimation(o),n()}));return o.setSpeed(this.getAnimationSpeed()),this._scopeFilter.isShown(t)||o.hide(),o.scope=t,o.element=e,this._animations.add(o),this._eventBus.fire("tokenSimulation.animationCreated",{animation:o}),o.play(),o},$n.prototype.setAnimationSpeed=function(e){this._speed=e,this.each((t=>t.setSpeed(e))),this._eventBus.fire(gt,{speed:e})},$n.prototype.getAnimationSpeed=function(){return this._speed},$n.prototype.clearAnimations=function(e){this.each((t=>{e&&t.scope!==e||this._clearAnimation(t)}))},$n.prototype._clearAnimation=function(e){e.remove(),this._animations.delete(e)},$n.prototype._createTokenGfx=function(e,t){return nn(vn(this._getTokenSVG(t).trim()),e)},$n.prototype._getTokenSVG=function(e){const t=e.colors||{primary:Bn,auxiliary:Rn};return`\n \n \n 1\n \n `},$n.prototype._getGroup=function(e){var t,n,i=this._canvas;"findRoot"in i?(n=i.findRoot(e.element),t=i._findPlaneForRoot(n).layer):t=Jt(".viewport",i._svg);var o=Jt(".bts-animation-tokens",t);return o||nn(o=vn(''),t),o},$n.$inject=["config.animation","canvas","eventBus","scopeFilter"],jn.prototype.pause=function(){this._paused=!0},jn.prototype.play=function(){this._paused&&(this._paused=!1,this.tick(0)),this.schedule()},jn.prototype.schedule=function(){if(this._paused)return;if(this._scheduled)return;const e=Date.now();this._scheduled=!0,requestAnimationFrame((()=>{this._scheduled=!1,this._paused||(this.tick((Date.now()-e)*this._speed),this.schedule())}))},jn.prototype.tick=function(e){const t=this._t=this._t+e,n=this._parts.find((e=>e.startTime<=t&&e.endTime>t));if(!n)return this.completed();const i=t-n.startTime,o=n.length*n.easing(i/n.duration),r=n.startLength+o,s=this._path.getPointAtLength(r);this.move(s.x,s.y)},jn.prototype.move=function(e,t){ln(this.gfx,"transform",`translate(${e}, ${t})`)},jn.prototype.create=function(){const e=this.waypoints,t=e.reduce(((t,n,i)=>{const o=e[i-1];if(o){const r=t[t.length-1],s=r&&r.endLength||0,a=function(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}(o,n);t.push({startLength:s,endLength:s+a,length:a,easing:Ln(i,e)})}return t}),[]),n=t.reduce((function(e,t){return e+t.length}),0),i=e.reduce(((e,t,n)=>{const i=t.x-10,o=t.y-10;return e.push([n>0?"L":"M",i,o]),e}),[]).flat().join(" "),o=function(e,t=!1){return Math.log(e)*(t?250+Math.floor(50*Math.random()):250)}(n,this._randomize);this._parts=t.reduce(((e,t,i)=>{const r=o/n*t.length,s=i>0?e[i-1].endTime:0,a=s+r;return[...e,{...t,startTime:s,endTime:a,duration:r}]}),[]),this._path=vn(``),this._t=0},jn.prototype.show=function(){ln(this.gfx,"display","")},jn.prototype.hide=function(){ln(this.gfx,"display","none")},jn.prototype.completed=function(){this.done()},jn.prototype.remove=function(){this.pause(),Pn(this.gfx)},jn.prototype.setSpeed=function(e){this._speed=e};const qn={__depends__:[at,ht,St],animation:["type",$n]};var Hn=n(555),Vn=n.n(Hn);function Wn(e){const t=Vn()({count:60}).filter((e=>n(e.substring(1))<200));function n(e){return(299*parseInt(e.substr(0,2),16)+587*parseInt(e.substr(2,2),16)+114*parseInt(e.substr(4,2),16))/1e3}let i=0;e.on(bt,1500,(e=>{const{scope:o}=e;o.colors=function(e){const{element:o}=e;if(o&&"bpmn:MessageFlow"===o.type)return{primary:"#999",auxiliary:"#FFF"};if(e.parent)return e.parent.colors;const r=t[i++%t.length];return{primary:r,auxiliary:n(r)>=128?"#111":"#fff"}}(o)}))}Wn.$inject=["eventBus"];const Gn={__init__:["coloredScopes"],coloredScopes:["type",Wn]};function Qn(e){return function(t=""){return`${e}`}}const Xn=Qn('\x3c!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --\x3e'),Un=Qn('\x3c!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --\x3e'),Yn=Qn('\x3c!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --\x3e'),Kn=Qn('\n \n \n\n'),Zn=Qn('\x3c!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --\x3e'),Jn=Qn('\x3c!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --\x3e'),ei=Qn('\x3c!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --\x3e'),ti=Qn('\x3c!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --\x3e'),ni=Qn('\x3c!-- Adapted from Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --\x3e'),ii=Qn('\x3c!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --\x3e'),oi=Qn('\x3c!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --\x3e'),ri=Qn('\x3c!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --\x3e'),si=Qn('\x3c!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --\x3e'),ai=Qn('\x3c!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --\x3e'),li=Qn('\x3c!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --\x3e');function ci(e){this._exclusiveGatewaySettings=e}function ui(e){this._inclusiveGatewaySettings=e}function hi(e){this._simulator=e}function pi(e){this._simulator=e}function di(e,t,n,i,o,r){this._elementRegistry=t,this._overlays=n,this._injector=i,this._canvas=o,this._scopeFilter=r,this._overlayCache=new Map,this._handlerIdx=0,this._handlers=[],this.registerHandler("bpmn:ExclusiveGateway",ci),this.registerHandler("bpmn:InclusiveGateway",ui),this.registerHandler("bpmn:Activity",hi),this.registerHandler("bpmn:Event",pi),this.registerHandler("bpmn:Gateway",pi),this.registerHandler("bpmn:Activity",pi),e.on(pt,500,(e=>{e.active?this.openContextPads():this.closeContextPads()})),e.on(mt,500,(()=>{this.closeContextPads(),this.openContextPads()})),e.on(wt,(e=>{const t=en(".djs-overlay-ts-context-menu [data-scope-ids]",n._overlayRoot);for(const e of t){const t=e.dataset.scopeIds.split(",").some((e=>r.isShown(e)));Nt(e).toggle("hidden",!t)}const i=en(".djs-overlay-ts-context-menu [data-hide-scope-ids]",n._overlayRoot);for(const e of i){const t=e.dataset.hideScopeIds.split(",").some((e=>r.isShown(e)));Nt(e).toggle("hidden",t)}})),e.on(vt,500,(e=>{const{element:t}=e;this.updateElementContextPads(t)}))}ci.prototype.createContextPads=function(e){if(e.outgoing.filter((function(e){return Ze(e,"bpmn:SequenceFlow")})).length<2)return;const t=`\n
\n ${Zn()}\n
\n `;return[{action:()=>{this._exclusiveGatewaySettings.setSequenceFlow(e)},element:e,html:t}]},ci.$inject=["exclusiveGatewaySettings"],ui.prototype.createContextPads=function(e){const t=e.outgoing.filter(be);if(t.length<2)return;const n=t.filter((t=>{const n=me(t);return me(e).default!==n})),i=`\n
\n ${Zn()}\n
\n `;return n.map((t=>({action:()=>{this._inclusiveGatewaySettings.toggleSequenceFlow(e,t)},element:t,html:i})))},ui.$inject=["inclusiveGatewaySettings"],hi.prototype.createContextPads=function(e){return Ze(e,"bpmn:ReceiveTask")||Ze(e,"bpmn:SubProcess")&&me(e).triggeredByEvent?[]:[this.createPauseContextPad(e)]},hi.prototype.createPauseContextPad=function(e){const t=this._isPaused(e),n=`\n
\n ${(t?Kn:ti)("show-hover")}\n ${ti("hide-hover")}\n
\n `;return{action:()=>{this._togglePaused(e)},element:e,hideContexts:()=>this._findSubscriptions({element:e}),html:n}},hi.prototype._isPaused=function(e){const{wait:t}=this._simulator.getConfig(e);return t},hi.prototype._togglePaused=function(e){const t=!this._isPaused(e);this._simulator.waitAtElement(e,t)},hi.prototype._findSubscriptions=function(e){return this._simulator.findSubscriptions(e)},hi.$inject=["simulator"],pi.$inject=["simulator"],pi.prototype.createContextPads=function(e){return[this.createTriggerContextPad(e)]},pi.prototype.createTriggerContextPad=function(e){const t=`\n
\n ${ni()}\n
\n `;return{action:e=>{const{event:t,scope:n}=e[0];return this._simulator.trigger({event:t,scope:n})},element:e,html:t,contexts:()=>{const t=this._findSubscriptions({element:e}).slice().sort(((e,t)=>"none"===e.event.type?1:-1));return t}}},pi.prototype._findSubscriptions=function(e){return this._simulator.findSubscriptions(e)},di.prototype.registerHandler=function(e,t){const n=this._injector.instantiate(t);n.hash=String(this._handlerIdx++),this._handlers.push({handler:n,type:e})},di.prototype.getHandlers=function(e){return this._handlers.filter((({type:t})=>Ze(e,t))).map((({handler:e})=>e))},di.prototype.openContextPads=function(e){e||(e=this._canvas.getRootElement()),this._elementRegistry.forEach((t=>{(function(e,t){do{if(e===t)return!0;t=t.parent}while(t);return!1})(e,t)&&this.updateElementContextPads(t)}))},di.prototype._getOverlays=function(e){return this._overlayCache.get(e)||[]},di.prototype._addOverlay=function(e,t){const{handlerHash:n}=t;if(!n)throw new Error(" required");const i=this._overlays.add(e,"bts-context-menu",{...t,position:{top:-15,left:-15},show:{minZoom:.5}}),o=this._overlays.get(i),r=this._overlayCache;r.has(n)||r.set(n,[]),r.get(n).push(o)},di.prototype._removeOverlay=function(e){const{id:t,handlerHash:n}=e;this._overlays.remove(t);const i=this._overlayCache.get(n)||[],o=i.indexOf(e);-1!==o&&i.splice(o,1)},di.prototype.updateElementContextPads=function(e){for(const t of this.getHandlers(e))this._updateElementContextPads(e,t)},di.prototype._updateElementContextPads=function(e,t){const n=this._canvas,i=(t.createContextPads(e)||[]).filter((e=>e)),o=`${e.id}------${t.hash}`,r=this._getOverlays(o),s=[];for(const e of i){const{element:t,contexts:i,hideContexts:a,action:l,html:c}=e,u=`${e.element.id}-------${c}`;let h=r.find((e=>e.hash===u));const p=h&&h.html||Kt(c);if(i){const e=i();p.dataset.scopeIds=e.map((e=>e.scope.id)).join(",");const t=e.filter((e=>this._scopeFilter.isShown(e.scope)));Nt(p).toggle("hidden",0===t.length)}if(a){const e=a();p.dataset.hideScopeIds=e.map((e=>e.scope.id)).join(",");const t=e.filter((e=>this._scopeFilter.isShown(e.scope)));Nt(p).toggle("hidden",t.length>0)}h?s.push(h):(l&&Gt.bind(p,"click",(e=>{e.preventDefault();const t=i?i().filter((e=>this._scopeFilter.isShown(e.scope))):null;l(t),"restoreFocus"in n&&n.restoreFocus()})),this._addOverlay(t,{hash:u,handlerHash:o,html:p}))}for(const e of r)s.includes(e)||this._removeOverlay(e)},di.prototype.closeContextPads=function(){for(const e of this._overlayCache.values())for(const t of e)this._closeOverlay(t);this._overlayCache.clear()},di.prototype._closeOverlay=function(e){this._overlays.remove(e.id)},di.$inject=["eventBus","elementRegistry","overlays","injector","canvas","scopeFilter"];const fi={__depends__:[St],__init__:["contextPads"],contextPads:["type",di]};function mi(e,t,n){e.on(yt,(e=>{const{scope:t}=e,{destroyInitiator:i,element:o}=t;t.completed&&i&&["bpmn:Process","bpmn:Participant"].includes(o.type)&&n.addElementNotification(i.element,{type:"success",icon:Yn(),text:"Finished",scope:t})}))}function gi(e,t){this._overlays=e,t.on([mt,bt,pt],(()=>{this.clear()}))}mi.$inject=["eventBus","simulator","elementNotifications"],gi.prototype.addElementNotification=function(e,t){const{type:n,icon:i,text:o,scope:r={}}=t,s=r.colors,a=s?`style="color: ${s.auxiliary}; background: ${s.primary}"`:"",l=Kt(`\n
\n ${i||""}\n ${o}\n
\n `);this._overlays.add(e,"bts-element-notification",{position:{top:-15,right:15},html:l,show:{minZoom:.5}})},gi.prototype.clear=function(){this._overlays.remove({type:"bts-element-notification"})},gi.prototype.removeElementNotification=function(e){this._overlays.remove({element:e})},gi.$inject=["overlays","eventBus"];const vi={elementNotifications:["type",gi]},yi=2e3,bi=ei();function wi(e,t,n){this._eventBus=e,this._canvas=t,this._scopeFilter=n,this._init(),e.on([pt,mt],(e=>{this.clear()}))}wi.prototype._init=function(){this.container=Kt('
'),this._canvas.getContainer().appendChild(this.container)},wi.prototype.showNotification=function(e){const{text:t,type:n="info",icon:i=bi,scope:o,ttl:r=yi}=e;if(o&&!this._scopeFilter.isShown(o))return;const s=i.startsWith("<")?i:``,a=o&&o.colors,l=a?`style="color: ${a.auxiliary}; background: ${a.primary}"`:"",c=Kt(`\n
\n ${s}\n ${t}\n ${o?`${o.id}`:""}\n
\n `);for(this.container.appendChild(c);this.container.children.length>5;)this.container.children[0].remove();setTimeout((function(){c.remove()}),r)},wi.prototype.clear=function(){for(;this.container.children.length;)this.container.children[0].remove()},wi.$inject=["eventBus","canvas","scopeFilter"];const xi={__depends__:[St],notifications:["type",wi]},_i={__depends__:[vi,xi],__init__:["simulationState"],simulationState:["type",mi]},Ei="show-scopes";function ki(e,t,n,i,o){this._eventBus=e,this._canvas=t,this._scopeFilter=n,this._elementColors=i,this._simulationStyles=o,this._highlight=null,this._init(),e.on(pt,(e=>{e.active?Nt(this._container).remove("hidden"):(Nt(this._container).add("hidden"),It(this._container),this.unhighlightScope())})),e.on(wt,(e=>{const t=this.getScopeElements();for(const e of t){const t=e.dataset.scopeId;Nt(e).toggle("inactive",!this._scopeFilter.isShown(t))}})),e.on(bt,(e=>{this.addScope(e.scope)})),e.on(yt,(e=>{this.removeScope(e.scope)})),e.on("tokenSimulation.simulator.scopeChanged",(e=>{this.updateScope(e.scope)})),e.on(mt,(()=>{this.removeAllInstances()}))}function Si(){this._cache={}}function Ci(){return{getPropertyValue:()=>""}}ki.prototype._init=function(){this._container=Kt(''),this._canvas.getContainer().appendChild(this._container)},ki.prototype.addScope=function(e){const{element:t}=e;if(!["bpmn:Process","bpmn:SubProcess","bpmn:Participant"].includes(t.type))return;const n=e.colors,i=n?`style="color: ${n.auxiliary}; background: ${n.primary}"`:"",o=Kt(`\n
\n ${e.getTokens()}\n
\n `);Gt.bind(o,"click",(()=>{this._scopeFilter.toggle(e)})),Gt.bind(o,"mouseenter",(()=>{this.highlightScope(t)})),Gt.bind(o,"mouseleave",(()=>{this.unhighlightScope()})),this._scopeFilter.isShown(e)||Nt(o).add("inactive"),this._container.appendChild(o)},ki.prototype.getScopeElements=function(){return en("[data-scope-id]",this._container)},ki.prototype.getScopeElement=function(e){return Jt(`[data-scope-id="${e.id}"]`,this._container)},ki.prototype.updateScope=function(e){const t=this.getScopeElement(e);t&&(t.textContent=e.getTokens())},ki.prototype.removeScope=function(e){const t=this.getScopeElement(e);t&&t.remove()},ki.prototype.removeAllInstances=function(){this._container.innerHTML=""},ki.prototype.highlightScope=function(e){this.unhighlightScope(),this._highlight=e,this._elementColors.add(e,Ei,this._getHighlightColors(),3e3),e.parent||Nt(this._canvas.getContainer()).add("highlight")},ki.prototype.unhighlightScope=function(){if(!this._highlight)return;const e=this._highlight;this._elementColors.remove(e,Ei),e.parent||Nt(this._canvas.getContainer()).remove("highlight"),this._highlight=null},ki.prototype._getHighlightColors=function(){return{fill:this._simulationStyles.get("--token-simulation-silver-base-97"),stroke:this._simulationStyles.get("--token-simulation-green-base-44")}},ki.$inject=["eventBus","canvas","scopeFilter","elementColors","simulationStyles"],Si.$inject=[],Si.prototype.get=function(e){return this._cache[e]||(this._computedStyle||(this._computedStyle=this._getComputedStyle()),this._cache[e]=this._computedStyle.getPropertyValue(e).trim())},Si.prototype._getComputedStyle=function(){return("function"==typeof getComputedStyle?getComputedStyle:Ci)("undefined"!=typeof document?document.documentElement:{})};const Oi={simulationStyles:["type",Si]},Pi={__depends__:[St,Oi],__init__:["showScopes"],showScopes:["type",ki]};var Mi={"&":"&","<":"<",">":">",'"':""","'":"'"};const Ai=ei();function Ti(e){const t=e&&e.businessObject.name;return t&&(n=""+(n=t))&&n.replace(/[&<>"']/g,(function(e){return Mi[e]}));var n}function Bi(e,t){const n=Ri(e);return"none"===n?"bpmn-icon-intermediate-event-none":`bpmn-icon-intermediate-event-${t}-${n}`}function Ri(e){const t=me(e);if(0===t.get("eventDefinitions").length)return"none";const n=t.eventDefinitions[0];return Ze(n,"bpmn:MessageEventDefinition")?"message":Ze(n,"bpmn:TimerEventDefinition")?"timer":Ze(n,"bpmn:SignalEventDefinition")?"signal":Ze(n,"bpmn:ErrorEventDefinition")?"error":Ze(n,"bpmn:EscalationEventDefinition")?"escalation":Ze(n,"bpmn:CompensateEventDefinition")?"compensation":Ze(n,"bpmn:ConditionalEventDefinition")?"condition":Ze(n,"bpmn:LinkEventDefinition")?"link":Ze(n,"bpmn:CancelEventDefinition")?"cancel":Ze(n,"bpmn:TerminateEventDefinition")?"terminate":"none"}function Di(e,t,n,i,o,r){this._notifications=t,this._tokenSimulationPalette=n,this._canvas=i,this._scopeFilter=o,this._init(),e.on(wt,(e=>{const t=en(".bts-entry[data-scope-id]",this._container);for(const e of t){const t=e.dataset.scopeId;Nt(e).toggle("inactive",!this._scopeFilter.isShown(t))}})),e.on(yt,(e=>{const{scope:t}=e,{element:n}=t,i=t.completed;if(!["bpmn:Process","bpmn:Participant","bpmn:SubProcess"].includes(n.type))return;const o=`${Ze(n,"bpmn:SubProcess")?Ti(n)||"SubProcess":"Process"} ${i?"finished":"canceled"}`;this.log({text:o,icon:i?Yn():ri(),scope:t})})),e.on(bt,(e=>{const{scope:t}=e,{element:n}=t;if(!["bpmn:Process","bpmn:Participant","bpmn:SubProcess"].includes(n.type))return;const i=`${Ze(n,"bpmn:SubProcess")?Ti(n)||"SubProcess":"Process"} started`;this.log({text:i,icon:Yn(),scope:t})})),e.on(xt,(e=>{const{action:t,scope:n,element:i}=e;if("exit"!==t)return;const o=n.parent,r=Ti(i);return Ze(i,"bpmn:ServiceTask")?this.log({text:r||"Service Task",icon:"bpmn-icon-service",scope:o}):Ze(i,"bpmn:UserTask")?this.log({text:r||"User Task",icon:"bpmn-icon-user",scope:o}):Ze(i,"bpmn:CallActivity")?this.log({text:r||"Call Activity",icon:"bpmn-icon-call-activity",scope:o}):Ze(i,"bpmn:ScriptTask")?this.log({text:r||"Script Task",icon:"bpmn-icon-script",scope:o}):Ze(i,"bpmn:BusinessRuleTask")?this.log({text:r||"Business Rule Task",icon:"bpmn-icon-business-rule",scope:o}):Ze(i,"bpmn:ManualTask")?this.log({text:r||"Manual Task",icon:"bpmn-icon-manual-task",scope:o}):Ze(i,"bpmn:ReceiveTask")?this.log({text:r||"Receive Task",icon:"bpmn-icon-receive",scope:o}):Ze(i,"bpmn:SendTask")?this.log({text:r||"Send Task",icon:"bpmn-icon-send",scope:o}):Ze(i,"bpmn:Task")?this.log({text:r||"Task",icon:"bpmn-icon-task",scope:o}):Ze(i,"bpmn:ExclusiveGateway")?this.log({text:r||"Exclusive Gateway",icon:"bpmn-icon-gateway-xor",scope:o}):Ze(i,"bpmn:ParallelGateway")?this.log({text:r||"Parallel Gateway",icon:"bpmn-icon-gateway-parallel",scope:o}):Ze(i,"bpmn:InclusiveGateway")?this.log({text:r||"Inclusive Gateway",icon:"bpmn-icon-gateway-or",scope:o}):Ze(i,"bpmn:StartEvent")?this.log({text:r||"Start Event",icon:`bpmn-icon-start-event-${Ri(i)}`,scope:o}):Ze(i,"bpmn:IntermediateCatchEvent")?this.log({text:r||"Intermediate Event",icon:Bi(i,"catch"),scope:o}):Ze(i,"bpmn:IntermediateThrowEvent")?this.log({text:r||"Intermediate Event",icon:Bi(i,"throw"),scope:o}):Ze(i,"bpmn:BoundaryEvent")?this.log({text:r||"Boundary Event",icon:Bi(i,"catch"),scope:o}):Ze(i,"bpmn:EndEvent")?this.log({text:r||"End Event",icon:`bpmn-icon-end-event-${Ri(i)}`,scope:o}):void 0})),e.on([pt,mt],(e=>{this.clear(),this.toggle(!1)}))}Di.prototype._init=function(){this._container=Kt(`\n \n `),this._placeholder=Jt(".bts-placeholder",this._container),this._content=Jt(".bts-content",this._container),Gt.bind(this._content,"mousedown",(e=>{e.stopPropagation()})),this._close=Jt(".bts-close",this._container),Gt.bind(this._close,"click",(()=>{this.toggle(!1)})),this._icon=Jt(".bts-log-icon",this._container),Gt.bind(this._icon,"click",(()=>{this.toggle()})),this._canvas.getContainer().appendChild(this._container),this.paletteEntry=Kt(`\n
\n ${Xn()}\n
\n `),Gt.bind(this.paletteEntry,"click",(()=>{this.toggle()})),this._tokenSimulationPalette.addEntry(this.paletteEntry,3)},Di.prototype.isShown=function(){return!Nt(this._container).has("hidden")},Di.prototype.toggle=function(e=!this.isShown()){const t=this._container;e?Nt(t).remove("hidden"):Nt(t).add("hidden")},Di.prototype.log=function(e){const{text:t,type:n="info",icon:i=Ai,scope:o}=e,r=this._content;Nt(this._placeholder).add("hidden"),this.isShown()||this._notifications.showNotification(e);const s=i.startsWith("<")?i:``,a=o&&o.colors,l=a?`style="background: ${a.primary}; color: ${a.auxiliary}"`:"",c=Kt(`\n

\n ${s}\n ${t}\n ${o?`${o.id}`:""}\n

\n `);Xt.bind(c,".bts-scope[data-scope-id]","click",(e=>{this._scopeFilter.toggle(o)}));const u=Math.abs(r.clientHeight+r.scrollTop-r.scrollHeight)<2;r.appendChild(c),u&&(r.scrollTop=r.scrollHeight)},Di.prototype.clear=function(){for(;this._content.firstChild;)this._content.removeChild(this._content.firstChild);this._placeholder=Kt('

No Entries

'),this._content.appendChild(this._placeholder)},Di.$inject=["eventBus","notifications","tokenSimulationPalette","canvas","scopeFilter","simulator"];const Li={__depends__:[xi,St],__init__:["log"],log:["type",Di]},Ni=["bpmn:ComplexGateway"];function zi(e,t,n,i,o){this._eventBus=e,this._elementRegistry=t,this._elementNotifications=o,this._notifications=i,this._canvasParent=n.getContainer().parentNode,e.on(pt,(e=>{e.active?this.enable():this.clear()}))}zi.prototype.getUnsupportedElements=function(){return this._unsupportedElements},zi.prototype.enable=function(){const e=[];this._elementRegistry.forEach((t=>{(function(e){return e.labelTarget})(t)||Ze(t,Ni)&&(this.showWarning(t),e.push(t))})),e.length&&this._notifications.showNotification({text:"Found unsupported elements",icon:Jn(),type:"warning",ttl:5e3}),this._unsupportedElements=e},zi.prototype.clear=function(){Nt(this._canvasParent).remove("warning")},zi.prototype.showWarning=function(e){this._elementNotifications.addElementNotification(e,{type:"warning",icon:Jn(),text:"Not supported"})},zi.$inject=["eventBus","elementRegistry","canvas","notifications","elementNotifications"];const Ii={__depends__:[vi,xi],__init__:["elementSupport"],elementSupport:["type",zi]},Fi=ni(),$i=ti();function ji(e,t,n,i){this._eventBus=e,this._tokenSimulationPalette=t,this._notifications=n,this.canvasParent=i.getContainer().parentNode,this.isActive=!1,this.isPaused=!0,this._init(),e.on(bt,1500,(e=>{this.activate(),this.unpause()})),e.on([mt,pt],(()=>{this.deactivate(),this.pause()})),e.on(xt,1500,(e=>{this.unpause()}))}ji.prototype._init=function(){this.paletteEntry=Kt(`\n
\n ${Fi}\n
\n `),Gt.bind(this.paletteEntry,"click",this.toggle.bind(this)),this._tokenSimulationPalette.addEntry(this.paletteEntry,1)},ji.prototype.toggle=function(){this.isPaused?this.unpause():this.pause()},ji.prototype.pause=function(){this.isActive&&(Nt(this.paletteEntry).remove("active"),Nt(this.canvasParent).add("paused"),this.paletteEntry.innerHTML=Fi,this._eventBus.fire(ft),this._notifications.showNotification({text:"Pause Simulation"}),this.isPaused=!0)},ji.prototype.unpause=function(){this.isActive&&this.isPaused&&(Nt(this.paletteEntry).add("active"),Nt(this.canvasParent).remove("paused"),this.paletteEntry.innerHTML=$i,this._eventBus.fire(dt),this._notifications.showNotification({text:"Play Simulation"}),this.isPaused=!1)},ji.prototype.activate=function(){this.isActive=!0,Nt(this.paletteEntry).remove("disabled")},ji.prototype.deactivate=function(){this.isActive=!1,Nt(this.paletteEntry).remove("active"),Nt(this.paletteEntry).add("disabled")},ji.$inject=["eventBus","tokenSimulationPalette","notifications","canvas"];const qi={__depends__:[xi],__init__:["pauseSimulation"],pauseSimulation:["type",ji]};function Hi(e,t,n){this._eventBus=e,this._tokenSimulationPalette=t,this._notifications=n,this._init(),e.on(bt,(()=>{Nt(this._paletteEntry).remove("disabled")})),e.on(pt,(e=>{(this._active=e.active)||this.resetSimulation()}))}Hi.prototype._init=function(){this._paletteEntry=Kt(`\n
\n ${ii()}\n
\n `),Gt.bind(this._paletteEntry,"click",(()=>{this.resetSimulation(),this._notifications.showNotification({text:"Reset Simulation",type:"info"})})),this._tokenSimulationPalette.addEntry(this._paletteEntry,2)},Hi.prototype.resetSimulation=function(){Nt(this._paletteEntry).add("disabled"),this._eventBus.fire(mt)},Hi.$inject=["eventBus","tokenSimulationPalette","notifications"];const Vi={__depends__:[xi],__init__:["resetSimulation"],resetSimulation:["type",Hi]};function Wi(e,t,n,i,o){this._overlays=t,this._scopeFilter=i,this._simulator=n,this._simulationStyles=o,this.overlayIds={},e.on(vt,500,(e=>{const{element:t}=e;this.removeTokenCounts(t),this.addTokenCounts(t)})),e.on(wt,(e=>{const n=en(".bts-token-count[data-scope-id]",t._overlayRoot);for(const e of n){const t=e.dataset.scopeId;Nt(e).toggle("inactive",!this._scopeFilter.isShown(t))}}))}Wi.prototype.addTokenCounts=function(e){if(Ze(e,"bpmn:MessageFlow")||Ze(e,"bpmn:SequenceFlow"))return;const t=this._simulator.findScopes((t=>!t.destroyed&&t.children.some((t=>!t.destroyed&&t.element===e&&!t.children.length))));this.addTokenCount(e,t)},Wi.prototype.addTokenCount=function(e,t){if(!t.length)return;const n=t.map((t=>this._getTokenHTML(e,t))).join(""),i=Kt(`\n
\n ${n}\n
\n `),o=this._overlays.add(e,"bts-token-count",{position:{bottom:10,left:-15},html:i,show:{minZoom:.5}});this.overlayIds[e.id]=o},Wi.prototype.removeTokenCounts=function(e){this.removeTokenCount(e)},Wi.prototype.removeTokenCount=function(e){const t=this.overlayIds[e.id];t&&(this._overlays.remove(t),delete this.overlayIds[e.id])},Wi.prototype._getTokenHTML=function(e,t){const n=t.colors||this._getDefaultColors();return`\n
\n ${t.getTokensByElement(e)}\n
\n `},Wi.prototype._getDefaultColors=function(){return{primary:this._simulationStyles.get("--token-simulation-green-base-44"),auxiliary:this._simuationStyles.get("--token-simulation-white")}},Wi.$inject=["eventBus","overlays","simulator","scopeFilter","simulationStyles"];const Gi={__depends__:[St,Oi],__init__:["tokenCount"],tokenCount:["type",Wi]},Qi=[["Slow",.5],["Normal",1],["Fast",2]];function Xi(e,t,n){this._canvas=e,this._animation=t,this._eventBus=n,this._init(t.getAnimationSpeed()),n.on(pt,(e=>{e.active?Nt(this._container).remove("hidden"):Nt(this._container).add("hidden")})),n.on(gt,(e=>{this.setActive(e.speed)}))}Xi.prototype.getToggleSpeed=function(e){return parseFloat(e.dataset.speed)},Xi.prototype._init=function(e){this._container=Kt(`\n \n `),Xt.bind(this._container,"[data-speed]","click",(e=>{const t=e.delegateTarget,n=this.getToggleSpeed(t);this._animation.setAnimationSpeed(n)})),this._canvas.getContainer().appendChild(this._container)},Xi.prototype.setActive=function(e){en("[data-speed]",this._container).forEach((t=>{const n=this.getToggleSpeed(t)===e;Nt(t)[n?"add":"remove"]("active")}))},Xi.$inject=["canvas","animation","eventBus"];const Ui={__init__:["setAnimationSpeed"],setAnimationSpeed:["type",Xi]};function Yi(e){return Ze(e,"bpmn:SequenceFlow")}function Ki(e,t,n,i,o){this._elementRegistry=t,this._elementColors=n,this._simulator=i,this._simulationStyles=o,e.on(pt,(e=>{e.active?this.setSequenceFlowsDefault():this.resetSequenceFlows()}))}function Zi(e,t,n){this._elementRegistry=e,this._eventBus=t,this._graphicsFactory=n,this._originalColors={},this._customColors={},t.on(pt,5e4,(e=>{e.active?this._saveOriginalColors():(this._applyOriginalColors(),this._originalColors={},this._customColors={})})),t.on("saveXML.start",5e4,(()=>{this._applyOriginalColors(),t.once("saveXML.done",(()=>this._applyCustomColors()))}))}function Ji(e){return"labelTarget"in e}function eo(e={}){const t=Object.values(e).reduce(((e,t)=>{const{priority:n=1e3}=t;return!e||n>e.priority?t:e}),void 0);if(t){const{priority:e,...n}=t;return n}}Ki.prototype.setSequenceFlowsDefault=function(){const e=this._elementRegistry.filter((e=>Ze(e,"bpmn:ExclusiveGateway")));for(const t of e)this.setSequenceFlow(t)},Ki.prototype.resetSequenceFlows=function(){this._elementRegistry.filter((e=>Ze(e,"bpmn:ExclusiveGateway"))).forEach((e=>{e.outgoing.filter(Yi).length&&this.resetSequenceFlow(e)}))},Ki.prototype.resetSequenceFlow=function(e){this._simulator.setConfig(e,{activeOutgoing:void 0})},Ki.prototype.setSequenceFlow=function(e){const t=e.outgoing.filter(Yi);if(t.length<2)return;const{activeOutgoing:n}=this._simulator.getConfig(e);let i;i=n?function(e,t){var n=e.outgoing.filter(Yi),i=n.indexOf(t||e.sequenceFlow);return n[i+1]?n[i+1]:n[0]}(e,n):t[0],this._simulator.setConfig(e,{activeOutgoing:i}),e.outgoing.forEach((e=>{const t=e===i?"--token-simulation-grey-darken-30":"--token-simulation-grey-lighten-56",n=this._simulationStyles.get(t);this._elementColors.add(e,"exclusive-gateway-settings",{stroke:n},2e3)}))},Ki.$inject=["eventBus","elementRegistry","elementColors","simulator","simulationStyles"],Zi.$inject=["elementRegistry","eventBus","graphicsFactory"],Zi.prototype.add=function(e,t,n,i=1e3){let o=this._customColors[e.id];o||(o=this._customColors[e.id]={}),o[t]={...n,priority:i},this._applyHighestPriorityColor(e)},Zi.prototype.remove=function(e,t){const n=this._customColors[e.id];n&&(delete n[t],Object.keys(n)||delete this._customColors[e.id]),this._applyHighestPriorityColor(e)},Zi.prototype._get=function(e){const t=ge(e);if(t)return Ji(e)?{stroke:t.label&&t.label.get("color")}:fe(t,["bpmndi:BPMNEdge","bpmndi:BPMNShape"])?{fill:t.get("background-color"),stroke:t.get("border-color")}:void 0},Zi.prototype._set=function(e,t={}){const{fill:n,stroke:i}=t,o=ge(e);o&&(Ji(e)?o.label&&o.label.set("color",i):fe(o,["bpmndi:BPMNEdge","bpmndi:BPMNShape"])&&(o.set("background-color",n),o.set("border-color",i)),this._forceRedraw(e))},Zi.prototype._saveOriginalColors=function(){this._originalColors={},this._elementRegistry.forEach((e=>{this._originalColors[e.id]=this._get(e)}))},Zi.prototype._applyOriginalColors=function(){this._elementRegistry.forEach((e=>{const t=this._originalColors[e.id];t&&this._set(e,t)}))},Zi.prototype._applyCustomColors=function(){this._elementRegistry.forEach((e=>{const t=this._customColors[e.id];t&&this._set(e,eo(t))}))},Zi.prototype._applyHighestPriorityColor=function(e){const t=this._customColors[e.id];t?this._set(e,eo(t)):this._set(e,this._originalColors[e.id])},Zi.prototype._forceRedraw=function(e){const t=this._elementRegistry.getGraphics(e),n=e.waypoints?"connection":"shape";this._graphicsFactory.update(n,e,t)};const to={elementColors:["type",Zi]},no={__depends__:[to,Oi],exclusiveGatewaySettings:["type",Ki]};function io(e,t,n){this._elementRegistry=t,this._elementColors=n,e.on(pt,(e=>{const{active:t}=e;t&&this._setNeutralColors()}))}io.prototype._setNeutralColors=function(){this._elementRegistry.forEach((e=>{this._elementColors.add(e,"neutral-element-colors",{stroke:"#212121",fill:"#fff"})}))},io.$inject=["eventBus","elementRegistry","elementColors"];const oo={__depends__:[to],__init__:["neutralElementColors"],neutralElementColors:["type",io]};function ro(e,t,n,i,o){this._elementRegistry=t,this._elementColors=n,this._simulator=i,this._simulationStyles=o,e.on(pt,(e=>{e.active?this.setDefaults():this.reset()}))}function so(e){const t=me(e).default;if(t)return e.outgoing.find((e=>me(e)===t))}function ao(e,t){return e.filter((e=>e!==t))}ro.prototype.setDefaults=function(){this._elementRegistry.filter((e=>de(e,"bpmn:InclusiveGateway"))).forEach((e=>{e.outgoing.filter(be).length>1&&this._setGatewayDefaults(e)}))},ro.prototype.reset=function(){this._elementRegistry.filter((e=>de(e,"bpmn:InclusiveGateway"))).forEach((e=>{e.outgoing.filter(be).length>1&&this._resetGateway(e)}))},ro.prototype.toggleSequenceFlow=function(e,t){const n=this._getActiveOutgoing(e),i=so(e),o=function(e){const t=so(e);return e.outgoing.filter((e=>me(e)!==t))}(e);let r;r=n.includes(t)?ao(n,t):ao(n,i).concat(t),r.length||(r=i?[i]:[o.find((e=>e!==t))]),this._setActiveOutgoing(e,r)},ro.prototype._getActiveOutgoing=function(e){const{activeOutgoing:t}=this._simulator.getConfig(e);return t},ro.prototype._setActiveOutgoing=function(e,t){this._simulator.setConfig(e,{activeOutgoing:t}),e.outgoing.filter(be).forEach((e=>{const n=!t||t.includes(e)?"--token-simulation-grey-darken-30":"--token-simulation-grey-lighten-56",i=this._simulationStyles.get(n);this._elementColors.add(e,"inclusive-gateway-settings",{stroke:i})}))},ro.prototype._setGatewayDefaults=function(e){const t=ao(e.outgoing.filter(be),so(e));this._setActiveOutgoing(e,t)},ro.prototype._resetGateway=function(e){this._setActiveOutgoing(e,void 0)},ro.$inject=["eventBus","elementRegistry","elementColors","simulator","simulationStyles"];const lo={__depends__:[to,Oi],inclusiveGatewaySettings:["type",ro]};function co(e,t){var n=this;this._canvas=t,this.entries=[],this._init(),e.on(pt,(function(e){e.active?Nt(n.container).remove("hidden"):Nt(n.container).add("hidden")}))}co.prototype._init=function(){this.container=Kt(''),this._canvas.getContainer().appendChild(this.container)},co.prototype.addEntry=function(e,t){var n=0;this.entries.forEach((function(e){t>=e.index&&n++})),this.container.insertBefore(e,this.container.childNodes[n]),this.entries.push({entry:e,index:t})},co.$inject=["eventBus","canvas"];const uo={__depends__:[at,qn,Gn,fi,_i,Pi,Li,Ii,qi,Vi,Gi,Ui,no,oo,lo,{__init__:["tokenSimulationPalette"],tokenSimulationPalette:["type",co]}]};function ho(e,t,n,i,o,r,s){let a=!1;function l(e,t,n){const i=e[t];e[t]=function(){return n.call(this,i,arguments)}}function c(e,t){l(e,t,(function(e,t){if(!a)return e.apply(this,t)}))}function u(e,t){l(e,t,(function(e,t){if(a)throw new Error("model is read-only");return e.apply(this,t)}))}e.on(pt,10001,(e=>{a=e.active,a&&(i.cancel(),n.cancel()),s._update()})),c(n,"init"),c(i,"activate"),c(n,"init"),c(i,"activate"),u(r,"moveShape"),u(r,"updateAttachment"),u(r,"moveElements"),u(r,"moveConnection"),u(r,"layoutConnection"),u(r,"createConnection"),u(r,"createShape"),u(r,"createLabel"),u(r,"appendShape"),u(r,"removeElements"),u(r,"distributeElements"),u(r,"removeShape"),u(r,"removeConnection"),u(r,"replaceShape"),u(r,"pasteElements"),u(r,"alignElements"),u(r,"resizeShape"),u(r,"createSpace"),u(r,"updateWaypoints"),u(r,"reconnectStart"),u(r,"reconnectEnd"),l(o,"trigger",(function(e,t){const n=t[0];if(!a||!function(e,t){return["undo","redo","copy","paste","removeSelection","spaceTool","lassoTool","globalConnectTool","distributeElements","alignElements","directEditing"].indexOf(t)>-1}(0,n))return e.apply(this,t)}))}ho.$inject=["eventBus","contextPad","dragging","directEditing","editorActions","modeling","palette"];const po={__init__:["disableModeling"],disableModeling:["type",ho]};function fo(e,t,n,i){this._eventBus=e,this._canvas=t,this._selection=n,this._contextPad=i,this._active=!1,e.on("import.parse.start",(()=>{this._active&&(this.toggleMode(!1),e.once("import.done",(()=>{this.toggleMode(!0)})))})),e.on("diagram.init",(()=>{this._canvasParent=this._canvas.getContainer().parentNode,this._palette=Jt(".djs-palette",this._canvas.getContainer()),this._init()}))}fo.prototype._init=function(){this._container=Kt(`\n
\n Token Simulation ${ai()}\n
\n `),Gt.bind(this._container,"click",(()=>this.toggleMode())),this._canvas.getContainer().appendChild(this._container)},fo.prototype.toggleMode=function(e=!this._active){if(e!==this._active){if(e)this._container.innerHTML=`Token Simulation ${li()}`,Nt(this._canvasParent).add("simulation"),Nt(this._palette).add("hidden");else{this._container.innerHTML=`Token Simulation ${ai()}`,Nt(this._canvasParent).remove("simulation"),Nt(this._palette).remove("hidden");const e=this._selection.get();1===e.length&&this._contextPad.open(e[0])}this._eventBus.fire(pt,{active:e}),this._active=e}},fo.$inject=["eventBus","canvas","selection","contextPad"];const mo={__init__:["toggleMode"],toggleMode:["type",fo]};function go(e,t,n,i,o,r){var s=!1;o.register({toggleTokenSimulation:function(){t.toggleMode()}}),o.register({togglePauseTokenSimulation:function(){s&&n.toggle()}}),o.register({resetTokenSimulation:function(){s&&i.resetSimulation()}});const a=r.get("log",!1);a&&o.register({toggleTokenSimulationLog:function(){a.toggle()}}),e.on(pt,(e=>{s=e.active}))}go.$inject=["eventBus","toggleMode","pauseSimulation","resetSimulation","editorActions","injector"];const vo={__init__:["tokenSimulationEditorActions"],tokenSimulationEditorActions:["type",go]};function yo(e,t){var n=t.get("editorActions",!1),i=t.get("keyboard",!1);if(i&&n){var o=!1;e.on("keyboard.init",(function(){i.addListener(1e4,(function(e){var t;bo(["t","T"],t=e.keyEvent)?n.trigger("toggleTokenSimulation"):o&&(bo(["l","L"],t)?n.trigger("toggleTokenSimulationLog"):bo([" ","Spacebar"],t)?n.trigger("togglePauseTokenSimulation"):bo(["r","R"],t)&&n.trigger("resetTokenSimulation"))}))})),e.on(pt,(function(e){var t=e.active;o=!!t}))}}function bo(e,t){return e.indexOf(t.key)>-1}yo.$inject=["eventBus","injector"];const wo={__depends__:[uo,po,mo,vo,{__init__:["tokenSimulationKeyboardBindings"],tokenSimulationKeyboardBindings:["type",yo]}]},xo=/^class[ {]/;function _o(e){return Array.isArray(e)}function Eo(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function ko(...e){1===e.length&&_o(e[0])&&(e=e[0]);const t=(e=[...e]).pop();return t.$inject=e,t}const So=/constructor\s*[^(]*\(\s*([^)]*)\)/m,Co=/^(?:async\s+)?(?:function\s*[^(]*)?(?:\(\s*([^)]*)\)|(\w+))/m,Oo=/\/\*([^*]*)\*\//m;function Po(e){if("function"!=typeof e)throw new Error(`Cannot annotate "${e}". Expected a function!`);const t=e.toString().match(function(e){return xo.test(e.toString())}(e)?So:Co);if(!t)return[];const n=t[1]||t[2];return n&&n.split(",").map((e=>{const t=e.match(Oo);return(t&&t[1]||e).trim()}))||[]}function Mo(e,t){const n=t||{get:function(e,t){if(i.push(e),!1===t)return null;throw a(`No provider for "${e}"!`)}},i=[],o=this._providers=Object.create(n._providers||null),r=this._instances=Object.create(null),s=r.injector=this,a=function(e){const t=i.join(" -> ");return i.length=0,new Error(t?`${e} (Resolving: ${t})`:e)};function l(e,t){if(!o[e]&&e.includes(".")){const t=e.split(".");let n=l(t.shift());for(;t.length;)n=n[t.shift()];return n}if(Eo(r,e))return r[e];if(Eo(o,e)){if(-1!==i.indexOf(e))throw i.push(e),a("Cannot resolve circular dependency!");return i.push(e),r[e]=o[e][0](o[e][1]),i.pop(),r[e]}return n.get(e,t)}function c(e,t){if(void 0===t&&(t={}),"function"!=typeof e){if(!_o(e))throw a(`Cannot invoke "${e}". Expected a function!`);e=ko(e.slice())}return{fn:e,dependencies:(e.$inject||Po(e)).map((e=>Eo(t,e)?t[e]:l(e)))}}function u(e){const{fn:t,dependencies:n}=c(e);return new(Function.prototype.bind.call(t,null,...n))}function h(e,t,n){const{fn:i,dependencies:o}=c(e,n);return i.apply(t,o)}function p(e){return ko((t=>e.get(t)))}function d(e,t){if(t&&t.length){const n=Object.create(null),i=Object.create(null),r=[],s=[],a=[];let l,c,u,h;for(let e in o)l=o[e],-1!==t.indexOf(e)&&("private"===l[2]?(c=r.indexOf(l[3]),-1===c?(u=l[3].createChild([],t),h=p(u),r.push(l[3]),s.push(u),a.push(h),n[e]=[h,e,"private",u]):n[e]=[a[c],e,"private",s[c]]):n[e]=[l[2],l[1]],i[e]=!0),"factory"!==l[2]&&"type"!==l[2]||!l[1].$scope||t.forEach((t=>{-1!==l[1].$scope.indexOf(t)&&(n[e]=[l[2],l[1]],i[t]=!0)}));t.forEach((e=>{if(!i[e])throw new Error('No provider for "'+e+'". Cannot use provider from the parent!')})),e.unshift(n)}return new Mo(e,s)}const f={factory:h,type:u,value:function(e){return e}};function m(e,t){const n=e.__init__||[];return function(){n.forEach((e=>{"string"==typeof e?t.get(e):t.invoke(e)}))}}function g(e){const t=e.__exports__;if(t){const n=e.__modules__,i=Object.keys(e).reduce(((t,n)=>("__exports__"!==n&&"__modules__"!==n&&"__init__"!==n&&"__depends__"!==n&&(t[n]=e[n]),t)),Object.create(null)),r=d((n||[]).concat(i)),s=ko((function(e){return r.get(e)}));t.forEach((function(e){o[e]=[s,e,"private",r]}));const a=(e.__init__||[]).slice();return a.unshift((function(){r.init()})),m(e=Object.assign({},e,{__init__:a}),r)}return Object.keys(e).forEach((function(t){if("__init__"===t||"__depends__"===t)return;const n=e[t];if("private"===n[2])return void(o[t]=n);const i=n[0],r=n[1];o[t]=[f[i],Ao(i,r),i]})),m(e,s)}function v(e,t){return-1!==e.indexOf(t)||-1!==(e=(t.__depends__||[]).reduce(v,e)).indexOf(t)?e:e.concat(t)}this.get=l,this.invoke=h,this.instantiate=u,this.createChild=d,this.init=function(e){const t=e.reduce(v,[]).map(g);let n=!1;return function(){n||(n=!0,t.forEach((e=>e())))}}(e)}function Ao(e,t){return"value"!==e&&_o(t)&&(t=ko(t.slice())),t}var To=1e3;function Bo(e,t){var n=this;t=t||To,e.on(["render.shape","render.connection"],t,(function(e,t){var i=e.type,o=t.element,r=t.gfx,s=t.attrs;if(n.canRender(o))return"render.shape"===i?n.drawShape(r,o,s):n.drawConnection(r,o,s)})),e.on(["render.getShapePath","render.getConnectionPath"],t,(function(e,t){if(n.canRender(t))return"render.getShapePath"===e.type?n.getShapePath(t):n.getConnectionPath(t)}))}function Ro(e){return e.flat().join(",").replace(/,?([A-z]),?/g,"$1")}function Do(e){return["L",e.x,e.y]}function Lo(e,t){const n=e.length,i=[(o=e[0],["M",o.x,o.y])];var o,r,s,a;for(let o=1;oo||void 0===o)&&(o=a+u),(l+c>r||void 0===r)&&(r=l+c)})),{x:n,y:i,height:r-i,width:o-n}}function Go(e){return"waypoints"in e?"connection":"x"in e?"shape":"root"}function Qo(e){return!(!e||!e.isFrame)}function Xo(e,t){return ce({},e||{},t||{})}function Uo(e,t){Bo.call(this,e,1),this.CONNECTION_STYLE=t.style(["no-fill"],{strokeWidth:5,stroke:"fuchsia"}),this.SHAPE_STYLE=t.style({fill:"white",stroke:"fuchsia",strokeWidth:2}),this.FRAME_STYLE=t.style(["no-fill"],{stroke:"fuchsia",strokeDasharray:4,strokeWidth:2})}Bo.prototype.canRender=function(e){},Bo.prototype.drawShape=function(e,t){},Bo.prototype.drawConnection=function(e,t){},Bo.prototype.getShapePath=function(e){},Bo.prototype.getConnectionPath=function(e){},lt(Uo,Bo),Uo.prototype.canRender=function(){return!0},Uo.prototype.drawShape=function(e,t,n){var i=vn("rect");return ln(i,{x:0,y:0,width:t.width||0,height:t.height||0}),Qo(t)?ln(i,ce({},this.FRAME_STYLE,n||{})):ln(i,ce({},this.SHAPE_STYLE,n||{})),on(e,i),i},Uo.prototype.drawConnection=function(e,t,n){var i=Io(t.waypoints,ce({},this.CONNECTION_STYLE,n||{}));return on(e,i),i},Uo.prototype.getShapePath=function(e){var t=e.x,n=e.y,i=e.width;return Ro([["M",t,n],["l",i,0],["l",0,e.height],["l",-i,0],["z"]])},Uo.prototype.getConnectionPath=function(e){var t,n,i=e.waypoints,o=[];for(t=0;n=i[t];t++)n=n.original||n,o.push([0===t?"M":"L",n.x,n.y]);return Ro(o)},Uo.$inject=["eventBus","styles"];const Yo={__init__:["defaultRenderer"],defaultRenderer:["type",Uo],styles:["type",function(){var e={"no-fill":{fill:"none"},"no-border":{strokeOpacity:0},"no-events":{pointerEvents:"none"}},t=this;this.cls=function(e,t,n){return ce(this.style(t,n),{class:e})},this.style=function(t,n){L(t)||n||(n=t,t=[]);var i=G(t,(function(t,n){return ce(t,e[n]||{})}),{});return n?ce(i,n):i},this.computeStyle=function(e,n,i){return L(n)||(i=n,n=[]),t.style(n||[],ce({},i,e||{}))}}]};function Ko(e,t){if(!e||!t)return-1;var n=e.indexOf(t);return-1!==n&&e.splice(n,1),n}function Zo(e,t,n){if(e&&t){"number"!=typeof n&&(n=-1);var i=e.indexOf(t);if(-1!==i){if(i===n)return;if(-1===n)return;e.splice(i,1)}-1!==n?e.splice(n,0,t):e.push(t)}}function Jo(e,t){return e&&t?e.indexOf(t):-1}function er(e,t){return e&&t?Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)):-1}function tr(e,t,n,i){if(void 0===i&&(i=5),!e||!t||!n)return!1;var o=(t.x-e.x)*(n.y-e.y)-(t.y-e.y)*(n.x-e.x),r=er(e,t);return Math.abs(o/r)<=i}var nr=2;function ir(e,t){var n=Array.from(arguments).flat();const i={x:"v",y:"h"};for(const[e,t]of Object.entries(i))if(or(e,n))return t;return!1}function or(e,t){const n=t[0];return Q(t,(function(t){return Math.abs(n[e]-t[e])<=nr}))}function rr(e,t,n){return n=n||0,e.x>t.x-n&&e.y>t.y-n&&e.x=e.x&&t<=e.x+e.width&&n>=e.y&&n<=e.y+e.height}function Or(e,t,n,i,o){return e*(e*(-3*t+9*n-9*i+3*o)+6*t-12*n+6*i)-3*t+3*n}function Pr(e,t,n,i,o,r,s,a,l){null==l&&(l=1);for(var c=(l=l>1?1:l<0?0:l)/2,u=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],h=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],p=0,d=0;d<12;d++){var f=c*u[d]+c,m=Or(f,e,n,o,s),g=Or(f,t,i,r,a),v=m*m+g*g;p+=h[d]*cr.sqrt(v)}return c*p}function Mr(e,t,n,i,o,r,s,a){if(!(pr(e,n)pr(o,s)||pr(t,i)pr(r,a))){var l=(e*i-t*n)*(r-a)-(t-i)*(o*a-r*s),c=(e-n)*(r-a)-(t-i)*(o-s);if(c){var u=Ar(((e*i-t*n)*(o-s)-(e-n)*(o*a-r*s))/c),h=Ar(l/c),p=+u.toFixed(2),d=+h.toFixed(2);if(!(p<+hr(e,n).toFixed(2)||p>+pr(e,n).toFixed(2)||p<+hr(o,s).toFixed(2)||p>+pr(o,s).toFixed(2)||d<+hr(t,i).toFixed(2)||d>+pr(t,i).toFixed(2)||d<+hr(r,a).toFixed(2)||d>+pr(r,a).toFixed(2)))return{x:u,y:h}}}}function Ar(e){return Math.round(1e11*e)/1e11}function Tr(e,t,n){if(i=Sr(e),o=Sr(t),i=xr(i),!(Cr(o=xr(o),i.x,i.y)||Cr(o,i.x2,i.y)||Cr(o,i.x,i.y2)||Cr(o,i.x2,i.y2)||Cr(i,o.x,o.y)||Cr(i,o.x2,o.y)||Cr(i,o.x,o.y2)||Cr(i,o.x2,o.y2)||(i.xo.x||o.xi.x)&&(i.yo.y||o.yi.y)))return n?0:[];for(var i,o,r=Pr(...e),s=Pr(...t),a=Dr(e)?1:~~(r/5)||1,l=Dr(t)?1:~~(s/5)||1,c=[],u=[],h={},p=n?0:[],d=0;d=0&&k<=1&&S>=0&&S<=1&&(n?p++:p.push({x:E.x,y:E.y,t1:k,t2:S}))}}return p}function Br(e,t,n){e=Ir(e),t=Ir(t);for(var i,o,r,s,a,l,c,u,h,p,d=n?0:[],f=0,m=e.length;f2&&(i.push([t,...r.splice(0,2)]),s="l",t="m"==t?"l":"L");r.length>=n[s]&&(i.push([t,...r.splice(0,n[s])]),n[s]););})),i.toString=wr.toString,t.arr=br(i),i}(e)),!e||!e.length)return[["M",0,0]];var n,i=[],o=0,r=0,s=0,a=0,l=0;"M"==e[0][0]&&(s=o=+e[0][1],a=r=+e[0][2],l++,i[0]=["M",o,r]);for(var c,u,h=l,p=e.length;h=1e3&&delete n[i.shift()],i.push(t),n[t]=function(e,t,n){return{x:e*cr.cos(n)-t*cr.sin(n),y:e*cr.sin(n)+t*cr.cos(n)}}(...arguments),n[t])};if(c)E=c[0],k=c[1],x=c[2],_=c[3];else{e=(u=f(e,t,-p)).x,t=u.y;var m=(e-(a=(u=f(a,l,-p)).x))/2,g=(t-(l=u.y))/2,v=m*m/(n*n)+g*g/(i*i);v>1&&(n*=v=cr.sqrt(v),i*=v);var y=n*n,b=i*i,w=(r==s?-1:1)*cr.sqrt(fr((y*b-y*g*g-b*m*m)/(y*g*g+b*m*m))),x=w*n*g/i+(e+a)/2,_=w*-i*m/n+(t+l)/2,E=cr.asin(((t-_)/i).toFixed(9)),k=cr.asin(((l-_)/i).toFixed(9));(E=ek&&(E-=2*ur),!s&&k>E&&(k-=2*ur)}var S=k-E;if(fr(S)>h){var C=k,O=a,P=l;k=E+h*(s&&k>E?1:-1),d=zr(a=x+n*cr.cos(k),l=_+i*cr.sin(k),n,i,o,0,s,O,P,[k,C,x,_])}S=k-E;var M=cr.cos(E),A=cr.sin(E),T=cr.cos(k),B=cr.sin(k),R=cr.tan(S/4),D=4/3*n*R,L=4/3*i*R,N=[e,t],z=[e+D*A,t-L*M],I=[a+D*B,l-L*T],F=[a,l];if(z[0]=2*N[0]-z[0],z[1]=2*N[1]-z[1],c)return[z,I,F].concat(d);for(var $=[],j=0,q=(d=[z,I,F].concat(d).join().split(",")).length;j7){e[t].shift();for(var i=e[t];i.length;)s[t]="A",e.splice(t++,0,["C",...i.splice(0,6)]);e.splice(t,1),u=n.length}},s=[],a="",l="",c=0,u=n.length;c=o.right,a=i.top-n.y>=o.bottom,l=r?"top":a?"bottom":null,c=i.right+n.x<=o.left?"left":s?"right":null;return c&&l?l+"-"+c:c||l||"intersect"}function Qr(e,t,n){var i=function(e,t){return Br(e,t)}(e,t);return 1===i.length||2===i.length&&er(i[0],i[1])<1?qr(i[0]):i.length>1?(i=te(i,(function(e){var t=Math.floor(100*e.t2)||1;return t=((t=100-t)<10?"0":"")+t,e.segment2+"#"+t})),qr(i[n?0:i.length-1])):null}function Xr(e,t){return Math.round(e*t)/t}function Ur(e){return z(e)?e+"px":e}function Yr(e,t,n){const i=vn("g");un(i).add(t);const o=void 0!==n?n:e.childNodes.length-1;return e.insertBefore(i,e.childNodes[o]||null),i}const Kr={shape:["x","y","width","height"],connection:["waypoints"]};function Zr(e,t,n,i){this._eventBus=t,this._elementRegistry=i,this._graphicsFactory=n,this._rootsIdx=0,this._layers={},this._planes=[],this._rootElement=null,this._init(e||{})}function Jr(e,t){const n="matrix("+t.a+","+t.b+","+t.c+","+t.d+","+t.e+","+t.f+")";e.setAttribute("transform",n)}Zr.$inject=["config.canvas","eventBus","graphicsFactory","elementRegistry"],Zr.prototype._init=function(e){const t=this._eventBus,n=this._container=function(e){const t=(e=ce({},{width:"100%",height:"100%"},e)).container||document.body,n=document.createElement("div");return n.setAttribute("class","djs-container djs-parent"),Rt(n,{position:"relative",overflow:"hidden",width:Ur(e.width),height:Ur(e.height)}),t.appendChild(n),n}(e),i=this._svg=vn("svg");ln(i,{width:"100%",height:"100%"}),on(n,i);const o=this._viewport=Yr(i,"viewport");e.deferUpdate&&(this._viewboxChanged=ae(le(this._viewboxChanged,this),300)),t.on("diagram.init",(()=>{t.fire("canvas.init",{svg:i,viewport:o})})),t.on(["shape.added","connection.added","shape.removed","connection.removed","elements.changed","root.set"],(()=>{delete this._cachedViewbox})),t.on("diagram.destroy",500,this._destroy,this),t.on("diagram.clear",500,this._clear,this)},Zr.prototype._destroy=function(){this._eventBus.fire("canvas.destroy",{svg:this._svg,viewport:this._viewport});const e=this._container.parentNode;e&&e.removeChild(this._container),delete this._svg,delete this._container,delete this._layers,delete this._planes,delete this._rootElement,delete this._viewport},Zr.prototype._clear=function(){this._elementRegistry.getAll().forEach((e=>{const t=Go(e);"root"===t?this.removeRootElement(e):this._removeElement(e,t)})),this._planes=[],this._rootElement=null,delete this._cachedViewbox},Zr.prototype.getDefaultLayer=function(){return this.getLayer("base",0)},Zr.prototype.getLayer=function(e,t){if(!e)throw new Error("must specify a name");let n=this._layers[e];if(n||(n=this._layers[e]=this._createLayer(e,t)),void 0!==t&&n.index!==t)throw new Error("layer <"+e+"> already created at index <"+t+">");return n.group},Zr.prototype._getChildIndex=function(e){return G(this._layers,(function(t,n){return n.visible&&e>=n.index&&t++,t}),0)},Zr.prototype._createLayer=function(e,t){void 0===t&&(t=1);const n=this._getChildIndex(t);return{group:Yr(this._viewport,"layer-"+e,n),index:t,visible:!0}},Zr.prototype.showLayer=function(e){if(!e)throw new Error("must specify a name");const t=this._layers[e];if(!t)throw new Error("layer <"+e+"> does not exist");const n=this._viewport,i=t.group,o=t.index;if(t.visible)return i;const r=this._getChildIndex(o);return n.insertBefore(i,n.childNodes[r]||null),t.visible=!0,i},Zr.prototype.hideLayer=function(e){if(!e)throw new Error("must specify a name");const t=this._layers[e];if(!t)throw new Error("layer <"+e+"> does not exist");const n=t.group;return t.visible?(Pn(n),t.visible=!1,n):n},Zr.prototype._removeLayer=function(e){const t=this._layers[e];t&&(delete this._layers[e],Pn(t.group))},Zr.prototype.getActiveLayer=function(){const e=this._findPlaneForRoot(this.getRootElement());return e?e.layer:null},Zr.prototype.findRoot=function(e){if("string"==typeof e&&(e=this._elementRegistry.get(e)),!e)return;const t=this._findPlaneForRoot(function(e){for(;e.parent;)e=e.parent;return e}(e))||{};return t.rootElement},Zr.prototype.getRootElements=function(){return this._planes.map((function(e){return e.rootElement}))},Zr.prototype._findPlaneForRoot=function(e){return j(this._planes,(function(t){return t.rootElement===e}))},Zr.prototype.getContainer=function(){return this._container},Zr.prototype._updateMarker=function(e,t,n){let i;e.id||(e=this._elementRegistry.get(e)),e.markers=e.markers||new Set,i=this._elementRegistry._elements[e.id],i&&(V([i.gfx,i.secondaryGfx],(function(i){i&&(n?(e.markers.add(t),un(i).add(t)):(e.markers.delete(t),un(i).remove(t)))})),this._eventBus.fire("element.marker.update",{element:e,gfx:i.gfx,marker:t,add:!!n}))},Zr.prototype.addMarker=function(e,t){this._updateMarker(e,t,!0)},Zr.prototype.removeMarker=function(e,t){this._updateMarker(e,t,!1)},Zr.prototype.hasMarker=function(e,t){return e.id||(e=this._elementRegistry.get(e)),!!e.markers&&e.markers.has(t)},Zr.prototype.toggleMarker=function(e,t){this.hasMarker(e,t)?this.removeMarker(e,t):this.addMarker(e,t)},Zr.prototype.getRootElement=function(){const e=this._rootElement;return e||this._planes.length?e:this.setRootElement(this.addRootElement(null))},Zr.prototype.addRootElement=function(e){const t=this._rootsIdx++;e||(e={id:"__implicitroot_"+t,children:[],isImplicit:!0});const n=e.layer="root-"+t;this._ensureValid("root",e);const i=this.getLayer(n,0);return this.hideLayer(n),this._addRoot(e,i),this._planes.push({rootElement:e,layer:i}),e},Zr.prototype.removeRootElement=function(e){if("string"==typeof e&&(e=this._elementRegistry.get(e)),this._findPlaneForRoot(e))return this._removeRoot(e),this._removeLayer(e.layer),this._planes=this._planes.filter((function(t){return t.rootElement!==e})),this._rootElement===e&&(this._rootElement=null),e},Zr.prototype.setRootElement=function(e){if(e===this._rootElement)return e;let t;if(!e)throw new Error("rootElement required");return t=this._findPlaneForRoot(e),t||(e=this.addRootElement(e)),this._setRoot(e),e},Zr.prototype._removeRoot=function(e){const t=this._elementRegistry,n=this._eventBus;n.fire("root.remove",{element:e}),n.fire("root.removed",{element:e}),t.remove(e)},Zr.prototype._addRoot=function(e,t){const n=this._elementRegistry,i=this._eventBus;i.fire("root.add",{element:e}),n.add(e,t),i.fire("root.added",{element:e,gfx:t})},Zr.prototype._setRoot=function(e,t){const n=this._rootElement;n&&(this._elementRegistry.updateGraphics(n,null,!0),this.hideLayer(n.layer)),e&&(t||(t=this._findPlaneForRoot(e).layer),this._elementRegistry.updateGraphics(e,this._svg,!0),this.showLayer(e.layer)),this._rootElement=e,this._eventBus.fire("root.set",{element:e})},Zr.prototype._ensureValid=function(e,t){if(!t.id)throw new Error("element must have an id");if(this._elementRegistry.get(t.id))throw new Error("element <"+t.id+"> already exists");const n=Kr[e],i=Q(n,(function(e){return void 0!==t[e]}));if(!i)throw new Error("must supply { "+n.join(", ")+" } with "+e)},Zr.prototype._setParent=function(e,t,n){Zo(t.children,e,n),e.parent=t},Zr.prototype._addElement=function(e,t,n,i){n=n||this.getRootElement();const o=this._eventBus,r=this._graphicsFactory;this._ensureValid(e,t),o.fire(e+".add",{element:t,parent:n}),this._setParent(t,n,i);const s=r.create(e,t,i);return this._elementRegistry.add(t,s),r.update(e,t,s),o.fire(e+".added",{element:t,gfx:s}),t},Zr.prototype.addShape=function(e,t,n){return this._addElement("shape",e,t,n)},Zr.prototype.addConnection=function(e,t,n){return this._addElement("connection",e,t,n)},Zr.prototype._removeElement=function(e,t){const n=this._elementRegistry,i=this._graphicsFactory,o=this._eventBus;if(e=n.get(e.id||e))return o.fire(t+".remove",{element:e}),i.remove(e),Ko(e.parent&&e.parent.children,e),e.parent=null,o.fire(t+".removed",{element:e}),n.remove(e),e},Zr.prototype.removeShape=function(e){return this._removeElement(e,"shape")},Zr.prototype.removeConnection=function(e){return this._removeElement(e,"connection")},Zr.prototype.getGraphics=function(e,t){return this._elementRegistry.getGraphics(e,t)},Zr.prototype._changeViewbox=function(e){this._eventBus.fire("canvas.viewbox.changing"),e.apply(this),this._cachedViewbox=null,this._viewboxChanged()},Zr.prototype._viewboxChanged=function(){this._eventBus.fire("canvas.viewbox.changed",{viewbox:this.viewbox()})},Zr.prototype.viewbox=function(e){if(void 0===e&&this._cachedViewbox)return structuredClone(this._cachedViewbox);const t=this._viewport,n=this.getSize();let i,o,r,s,a,l,c;return e?(this._changeViewbox((function(){a=Math.min(n.width/e.width,n.height/e.height);const i=this._svg.createSVGMatrix().scale(a).translate(-e.x,-e.y);An(t,i)})),e):(r=this._rootElement?this.getActiveLayer():null,i=r&&r.getBBox()||{},s=An(t),o=s?s.matrix:function(e,t,n,i,o,r){var s=bn().createSVGMatrix();switch(arguments.length){case 0:return s;case 1:return wn(s,e);case 6:return wn(s,{a:e,b:t,c:n,d:i,e:o,f:r})}}(),a=Xr(o.a,1e3),l=Xr(-o.e||0,1e3),c=Xr(-o.f||0,1e3),e=this._cachedViewbox={x:l?l/a:0,y:c?c/a:0,width:n.width/a,height:n.height/a,scale:a,inner:{width:i.width||0,height:i.height||0,x:i.x||0,y:i.y||0},outer:n})},Zr.prototype.scroll=function(e){const t=this._viewport;let n=t.getCTM();return e&&this._changeViewbox((function(){e=ce({dx:0,dy:0},e||{}),n=this._svg.createSVGMatrix().translate(e.dx,e.dy).multiply(n),Jr(t,n)})),{x:n.e,y:n.f}},Zr.prototype.scrollToElement=function(e,t){let n=100;"string"==typeof e&&(e=this._elementRegistry.get(e));const i=this.findRoot(e);if(i!==this.getRootElement()&&this.setRootElement(i),i===e)return;t||(t={}),"number"==typeof t&&(n=t),t={top:t.top||n,right:t.right||n,bottom:t.bottom||n,left:t.left||n};const o=Wo(e),r=Hr(o),s=this.viewbox(),a=this.zoom();let l,c;s.y+=t.top/a,s.x+=t.left/a,s.width-=(t.right+t.left)/a,s.height-=(t.bottom+t.top)/a;const u=Hr(s);if(o.width=0&&i.y>=0&&i.x+i.width<=n.width&&i.y+i.height<=n.height&&!e?r={x:0,y:0,width:Math.max(i.width+i.x,n.width),height:Math.max(i.height+i.y,n.height)}:(o=Math.min(1,n.width/i.width,n.height/i.height),r={x:i.x+(e?i.width/2-n.width/o/2:0),y:i.y+(e?i.height/2-n.height/o/2:0),width:n.width/o,height:n.height/o}),this.viewbox(r),this.viewbox(!1).scale},Zr.prototype._setZoom=function(e,t){const n=this._svg,i=this._viewport,o=n.createSVGMatrix(),r=n.createSVGPoint();let s,a,l,c,u;l=i.getCTM();const h=l.a;return t?(s=ce(r,t),a=s.matrixTransform(l.inverse()),c=o.translate(a.x,a.y).scale(1/h*e).translate(-a.x,-a.y),u=l.multiply(c)):u=o.scale(e),Jr(this._viewport,u),u},Zr.prototype.getSize=function(){return{width:this._container.clientWidth,height:this._container.clientHeight}},Zr.prototype.getAbsoluteBBox=function(e){const t=this.viewbox();let n;return n=e.waypoints?this.getGraphics(e).getBBox():e,{x:n.x*t.scale-t.x*t.scale,y:n.y*t.scale-t.y*t.scale,width:n.width*t.scale,height:n.height*t.scale}},Zr.prototype.resized=function(){delete this._cachedViewbox,this._eventBus.fire("canvas.resized")};var es="data-element-id";function ts(e){this._elements={},this._eventBus=e}function ns(e,t,n){var i=function(e,t,n,i){var o=n.inverse;return Object.defineProperty(e,"remove",{value:function(e){var n=this.indexOf(e);return-1!==n&&(this.splice(n,1),t.unset(e,o,i)),e}}),Object.defineProperty(e,"contains",{value:function(e){return-1!==this.indexOf(e)}}),Object.defineProperty(e,"add",{value:function(e,n){var r=this.indexOf(e);if(void 0===n){if(-1!==r)return;n=this.length}-1!==r&&this.splice(r,1),this.splice(n,0,e),-1===r&&t.set(e,o,i)}}),Object.defineProperty(e,"__refs_collection",{value:!0}),e}(n[t.name]||[],e,t,n);Object.defineProperty(n,t.name,{enumerable:t.enumerable,value:i}),i.length&&i.forEach((function(i){e.set(i,t.inverse,n)}))}function is(e,t){if(!(this instanceof is))return new is(e,t);e.inverse=t,t.inverse=e,this.props={},this.props[e.name]=e,this.props[t.name]=t}ts.$inject=["eventBus"],ts.prototype.add=function(e,t,n){var i=e.id;this._validateId(i),ln(t,es,i),n&&ln(n,es,i),this._elements[i]={element:e,gfx:t,secondaryGfx:n}},ts.prototype.remove=function(e){var t=this._elements,n=e.id||e,i=n&&t[n];i&&(ln(i.gfx,es,""),i.secondaryGfx&&ln(i.secondaryGfx,es,""),delete t[n])},ts.prototype.updateId=function(e,t){this._validateId(t),"string"==typeof e&&(e=this.get(e)),this._eventBus.fire("element.updateId",{element:e,newId:t});var n=this.getGraphics(e),i=this.getGraphics(e,!0);this.remove(e),e.id=t,this.add(e,n,i)},ts.prototype.updateGraphics=function(e,t,n){var i=e.id||e,o=this._elements[i];return n?o.secondaryGfx=t:o.gfx=t,t&&ln(t,es,i),t},ts.prototype.get=function(e){var t;t="string"==typeof e?e:e&&ln(e,es);var n=this._elements[t];return n&&n.element},ts.prototype.filter=function(e){var t=[];return this.forEach((function(n,i){e(n,i)&&t.push(n)})),t},ts.prototype.find=function(e){for(var t=this._elements,n=Object.keys(t),i=0;i in ref");t=this.props[t]}t.collection?ns(this,t,e):function(e,t,n){var i=t.inverse,o=n[t.name];Object.defineProperty(n,t.name,{configurable:t.configurable,enumerable:t.enumerable,get:function(){return o},set:function(t){if(t!==o){var r=o;o=null,r&&e.unset(r,i,n),o=t,e.set(o,i,n)}}})}(this,t,e)},is.prototype.ensureRefsCollection=function(e,t){var n=e[t.name];return function(e){return!0===e.__refs_collection}(n)||ns(this,t,e),n},is.prototype.ensureBound=function(e,t){(function(e,t){return Object.prototype.hasOwnProperty.call(e,t.name||t)})(e,t)||this.bind(e,t)},is.prototype.unset=function(e,t,n){e&&(this.ensureBound(e,t),t.collection?this.ensureRefsCollection(e,t).remove(n):e[t.name]=void 0)},is.prototype.set=function(e,t,n){e&&(this.ensureBound(e,t),t.collection?this.ensureRefsCollection(e,t).add(n):e[t.name]=n)};var os=new is({name:"children",enumerable:!0,collection:!0},{name:"parent"}),rs=new is({name:"labels",enumerable:!0,collection:!0},{name:"labelTarget"}),ss=new is({name:"attachers",collection:!0},{name:"host"}),as=new is({name:"outgoing",collection:!0},{name:"source"}),ls=new is({name:"incoming",collection:!0},{name:"target"});function cs(){Object.defineProperty(this,"businessObject",{writable:!0}),Object.defineProperty(this,"label",{get:function(){return this.labels[0]},set:function(e){var t=this.label,n=this.labels;!e&&t?n.remove(t):n.add(e,0)}}),os.bind(this,"parent"),rs.bind(this,"labels"),as.bind(this,"outgoing"),ls.bind(this,"incoming")}function us(){cs.call(this),os.bind(this,"children"),ss.bind(this,"host"),ss.bind(this,"attachers")}function hs(){cs.call(this),os.bind(this,"children")}function ps(){us.call(this),rs.bind(this,"labelTarget")}function ds(){cs.call(this),as.bind(this,"source"),ls.bind(this,"target")}lt(us,cs),lt(hs,us),lt(ps,us),lt(ds,cs);var fs={connection:ds,shape:us,label:ps,root:hs};function ms(){this._uid=12}ms.prototype.createRoot=function(e){return this.create("root",e)},ms.prototype.createLabel=function(e){return this.create("label",e)},ms.prototype.createShape=function(e){return this.create("shape",e)},ms.prototype.createConnection=function(e){return this.create("connection",e)},ms.prototype.create=function(e,t){return(t=ce({},t||{})).id||(t.id=e+"_"+this._uid++),function(e,t){var n=fs[e];if(!n)throw new Error("unknown type: <"+e+">");return ce(new n,t)}(e,t)};var gs="__fn",vs=Array.prototype.slice;function ys(){this._listeners={},this.on("diagram.destroy",1,this._destroy,this)}function bs(){}function ws(e){return e.childNodes[0]}function xs(e,t,n,i,o){var r=xn();r.setTranslate(t,n);var s=xn();s.setRotate(i||0,0,0);var a=xn();a.setScale(o||1,o||1),An(e,[r,s,a])}function _s(e,t,n){var i=xn();i.setTranslate(t,n),An(e,i)}function Es(e,t){var n=xn();n.setRotate(t,0,0),An(e,n)}function ks(e,t){this._eventBus=e,this._elementRegistry=t}function Ss(e,t,n){var i=n||t.firstChild;e!==i&&t.insertBefore(e,i)}ys.prototype.on=function(e,t,n,i){if(e=L(e)?e:[e],I(t)&&(i=n,n=t,t=1e3),!z(t))throw new Error("priority must be a number");var o=n;i&&((o=le(n,i))[gs]=n[gs]||n);var r=this;e.forEach((function(e){r._addListener(e,{priority:t,callback:o,next:null})}))},ys.prototype.once=function(e,t,n,i){var o=this;if(I(t)&&(i=n,n=t,t=1e3),!z(t))throw new Error("priority must be a number");function r(){r.__isTomb=!0;var t=n.apply(i,arguments);return o.off(e,r),t}r[gs]=n,this.on(e,t,r)},ys.prototype.off=function(e,t){e=L(e)?e:[e];var n=this;e.forEach((function(e){n._removeListener(e,t)}))},ys.prototype.createEvent=function(e){var t=new bs;return t.init(e),t},ys.prototype.fire=function(e,t){var n,i,o,r;if(r=vs.call(arguments),"object"==typeof e&&(e=(t=e).type),!e)throw new Error("no event type specified");if(i=this._listeners[e]){n=t instanceof bs?t:this.createEvent(t),r[0]=n;var s=n.type;e!==s&&(n.type=e);try{o=this._invokeListeners(n,r,i)}finally{e!==s&&(n.type=s)}return void 0===o&&n.defaultPrevented&&(o=!1),o}},ys.prototype.handleError=function(e){return!1===this.fire("error",{error:e})},ys.prototype._destroy=function(){this._listeners={}},ys.prototype._invokeListeners=function(e,t,n){for(var i;n&&!e.cancelBubble;)i=this._invokeListener(e,t,n),n=n.next;return i},ys.prototype._invokeListener=function(e,t,n){var i;if(n.callback.__isTomb)return i;try{i=function(e,t){return e.apply(null,t)}(n.callback,t),void 0!==i&&(e.returnValue=i,e.stopPropagation()),!1===i&&e.preventDefault()}catch(e){if(!this.handleError(e))throw console.error("unhandled error in event listener",e),e}return i},ys.prototype._addListener=function(e,t){var n,i=this._getListeners(e);if(i){for(;i;){if(i.priority or , got "+e);n=o[1],i=o[0]}return{name:e=(i?i+":":"")+n,prefix:i,localName:n}}function Ns(e){this.ns=e,this.name=e.name,this.allTypes=[],this.allTypesByName={},this.properties=[],this.propertiesByName={}}function zs(e,t){this.packageMap={},this.typeMap={},this.packages=[],this.properties=t,V(e,le(this.registerPackage,this))}function Is(e,t,n){var i=t[n];if(i in e)throw new Error("package with "+n+" <"+i+"> already defined")}function Fs(e){this.model=e}function $s(e,t,n){Object.defineProperty(e,t.name,{enumerable:!t.isReference,writable:!0,value:n,configurable:!0})}function js(e){return e.replace(/^:/,"")}function qs(e,t={}){this.properties=new Fs(this),this.factory=new Ms(this,this.properties),this.registry=new zs(e,this.properties),this.typeCache={},this.config=t}Ns.prototype.build=function(){return he(this,["ns","name","allTypes","allTypesByName","properties","propertiesByName","bodyProperty","idProperty"])},Ns.prototype.addProperty=function(e,t,n){"boolean"==typeof t&&(n=t,t=void 0),this.addNamedProperty(e,!1!==n);var i=this.properties;void 0!==t?i.splice(t,0,e):i.push(e)},Ns.prototype.replaceProperty=function(e,t,n){var i=e.ns,o=this.properties,r=this.propertiesByName,s=e.name!==t.name;if(e.isId){if(!t.isId)throw new Error("property <"+t.ns.name+"> must be id property to refine <"+e.ns.name+">");this.setIdProperty(t,!1)}if(e.isBody){if(!t.isBody)throw new Error("property <"+t.ns.name+"> must be body property to refine <"+e.ns.name+">");this.setBodyProperty(t,!1)}var a=o.indexOf(e);if(-1===a)throw new Error("property <"+i.name+"> not found in property list");o.splice(a,1),this.addProperty(t,n?void 0:a,s),r[i.name]=r[i.localName]=t},Ns.prototype.redefineProperty=function(e,t,n){var i=e.ns.prefix,o=t.split("#"),r=Ls(o[0],i),s=Ls(o[1],r.prefix).name,a=this.propertiesByName[s];if(!a)throw new Error("refined property <"+s+"> not found");this.replaceProperty(a,e,n),delete e.redefines},Ns.prototype.addNamedProperty=function(e,t){var n=e.ns,i=this.propertiesByName;t&&(this.assertNotDefined(e,n.name),this.assertNotDefined(e,n.localName)),i[n.name]=i[n.localName]=e},Ns.prototype.removeNamedProperty=function(e){var t=e.ns,n=this.propertiesByName;delete n[t.name],delete n[t.localName]},Ns.prototype.setBodyProperty=function(e,t){if(t&&this.bodyProperty)throw new Error("body property defined multiple times (<"+this.bodyProperty.ns.name+">, <"+e.ns.name+">)");this.bodyProperty=e},Ns.prototype.setIdProperty=function(e,t){if(t&&this.idProperty)throw new Error("id property defined multiple times (<"+this.idProperty.ns.name+">, <"+e.ns.name+">)");this.idProperty=e},Ns.prototype.assertNotTrait=function(e){if((e.extends||[]).length)throw new Error(`cannot create <${e.name}> extending <${e.extends}>`)},Ns.prototype.assertNotDefined=function(e,t){var n=e.name,i=this.propertiesByName[n];if(i)throw new Error("property <"+n+"> already defined; override of <"+i.definedBy.ns.name+"#"+i.ns.name+"> by <"+e.definedBy.ns.name+"#"+e.ns.name+"> not allowed without redefines")},Ns.prototype.hasProperty=function(e){return this.propertiesByName[e]},Ns.prototype.addTrait=function(e,t){t&&this.assertNotTrait(e);var n=this.allTypesByName,i=this.allTypes,o=e.name;o in n||(V(e.properties,le((function(n){n=ce({},n,{name:n.ns.localName,inherited:t}),Object.defineProperty(n,"definedBy",{value:e});var i=n.replaces,o=n.redefines;i||o?this.redefineProperty(n,i||o,i):(n.isBody&&this.setBodyProperty(n),n.isId&&this.setIdProperty(n),this.addProperty(n))}),this)),i.push(e),n[o]=e)},zs.prototype.getPackage=function(e){return this.packageMap[e]},zs.prototype.getPackages=function(){return this.packages},zs.prototype.registerPackage=function(e){e=ce({},e);var t=this.packageMap;Is(t,e,"prefix"),Is(t,e,"uri"),V(e.types,le((function(t){this.registerType(t,e)}),this)),t[e.uri]=t[e.prefix]=e,this.packages.push(e)},zs.prototype.registerType=function(e,t){var n=Ls((e=ce({},e,{superClass:(e.superClass||[]).slice(),extends:(e.extends||[]).slice(),properties:(e.properties||[]).slice(),meta:ce(e.meta||{})})).name,t.prefix),i=n.name,o={};V(e.properties,le((function(e){var t=Ls(e.name,n.prefix),i=t.name;Rs(e.type)||(e.type=Ls(e.type,t.prefix).name),ce(e,{ns:t,name:i}),o[i]=e}),this)),ce(e,{ns:n,name:i,propertiesByName:o}),V(e.extends,le((function(e){var t=Ls(e,n.prefix),o=this.typeMap[t.name];o.traits=o.traits||[],o.traits.push(i)}),this)),this.definePackage(e,t),this.typeMap[i]=e},zs.prototype.mapTypes=function(e,t,n){var i=Rs(e.name)?{name:e.name}:this.typeMap[e.name],o=this;function r(n,i){var r=Ls(n,Rs(n)?"":e.prefix);o.mapTypes(r,t,i)}function s(e){return r(e,!0)}if(!i)throw new Error("unknown type <"+e.name+">");V(i.superClass,n?s:function(e){return r(e,!1)}),t(i,!n),V(i.traits,s)},zs.prototype.getEffectiveDescriptor=function(e){var t=Ls(e),n=new Ns(t);this.mapTypes(t,(function(e,t){n.addTrait(e,t)}));var i=n.build();return this.definePackage(i,i.allTypes[i.allTypes.length-1].$pkg),i},zs.prototype.definePackage=function(e,t){this.properties.define(e,"$pkg",{value:t})},Fs.prototype.set=function(e,t,n){if(!F(t)||!t.length)throw new TypeError("property name must be a non-empty string");var i=this.getProperty(e,t),o=i&&i.name;void 0===n?i?delete e[o]:delete e.$attrs[js(t)]:i?o in e?e[o]=n:$s(e,i,n):e.$attrs[js(t)]=n},Fs.prototype.get=function(e,t){var n=this.getProperty(e,t);if(!n)return e.$attrs[js(t)];var i=n.name;return!e[i]&&n.isMany&&$s(e,n,[]),e[i]},Fs.prototype.define=function(e,t,n){if(!n.writable){var i=n.value;delete(n=ce({},n,{get:function(){return i}})).value}Object.defineProperty(e,t,n)},Fs.prototype.defineDescriptor=function(e,t){this.define(e,"$descriptor",{value:t})},Fs.prototype.defineModel=function(e,t){this.define(e,"$model",{value:t})},Fs.prototype.getProperty=function(e,t){var n=this.model,i=n.getPropertyDescriptor(e,t);if(i)return i;if(t.includes(":"))return null;const o=n.config.strict;if(void 0!==o){const n=new TypeError(`unknown property <${t}> on <${e.$type}>`);if(o)throw n;"undefined"!=typeof console&&console.warn(n)}return null},qs.prototype.create=function(e,t){var n=this.getType(e);if(!n)throw new Error("unknown type <"+e+">");return new n(t)},qs.prototype.getType=function(e){var t=this.typeCache,n=F(e)?e:e.ns.name,i=t[n];return i||(e=this.registry.getEffectiveDescriptor(n),i=t[n]=this.factory.createType(e)),i},qs.prototype.createAny=function(e,t,n){var i=Ls(e),o={$type:e,$instanceOf:function(e){return e===this.$type},get:function(e){return this[e]},set:function(e,t){ue(this,[e],t)}},r={name:e,isGeneric:!0,ns:{prefix:i.prefix,localName:i.localName,uri:t}};return this.properties.defineDescriptor(o,r),this.properties.defineModel(o,this),this.properties.define(o,"get",{enumerable:!1,writable:!0}),this.properties.define(o,"set",{enumerable:!1,writable:!0}),this.properties.define(o,"$parent",{enumerable:!1,writable:!0}),this.properties.define(o,"$instanceOf",{enumerable:!1,writable:!0}),V(n,(function(e,t){N(e)&&void 0!==e.value?o[e.name]=e.value:o[t]=e})),o},qs.prototype.getPackage=function(e){return this.registry.getPackage(e)},qs.prototype.getPackages=function(){return this.registry.getPackages()},qs.prototype.getElementDescriptor=function(e){return e.$descriptor},qs.prototype.hasType=function(e,t){return void 0===t&&(t=e,e=this),t in e.$model.getElementDescriptor(e).allTypesByName},qs.prototype.getPropertyDescriptor=function(e,t){return this.getElementDescriptor(e).propertiesByName[t]},qs.prototype.getTypeDescriptor=function(e){return this.registry.typeMap[e]};var Hs=String.fromCharCode,Vs=Object.prototype.hasOwnProperty,Ws=/&#(\d+);|&#x([0-9a-f]+);|&(\w+);/gi,Gs={amp:"&",apos:"'",gt:">",lt:"<",quot:'"'};function Qs(e,t,n,i){return i?Vs.call(Gs,i)?Gs[i]:"&"+i+";":Hs(t||parseInt(n,16))}function Xs(e){return e.length>3&&-1!==e.indexOf("&")?e.replace(Ws,Qs):e}Object.keys(Gs).forEach((function(e){Gs[e.toUpperCase()]=Gs[e]}));var Us="xsi:type",Ys="non-whitespace outside of root node";function Ks(e){return new Error(e)}function Zs(e){return"missing namespace for prefix <"+e+">"}function Js(e){return{get:e,enumerable:!0}}function ea(e){var t,n={};for(t in e)n[t]=e[t];return n}function ta(e){return e+"$uri"}function na(){return{line:0,column:0}}function ia(e){throw e}function oa(e){if(!this)return new oa(e);var t,n,i,o,r,s,a,l,c,u=e&&e.proxy,h=ia,p=na,d=!1,f=!1,m=null,g=!1;function v(e){e instanceof Error||(e=Ks(e)),m=e,h(e,p)}function y(e){r&&(e instanceof Error||(e=Ks(e)),r(e,p))}this.on=function(e,c){if("function"!=typeof c)throw Ks("required args ");switch(e){case"openTag":n=c;break;case"text":t=c;break;case"closeTag":i=c;break;case"error":h=c;break;case"warn":r=c;break;case"cdata":o=c;break;case"attention":l=c;break;case"question":a=c;break;case"comment":s=c;break;default:throw Ks("unsupported event: "+e)}return this},this.ns=function(e){if(void 0===e&&(e={}),"object"!=typeof e)throw Ks("required args ");var t,n={};for(t in e)n[t]=e[t];return n["http://www.w3.org/2001/XMLSchema-instance"]="xsi",f=!0,c=n,this},this.parse=function(e){if("string"!=typeof e)throw Ks("required args ");return m=null,function(e){var r,h,m,b,w,x,_,E,k,S,C,O=f?[]:null,P=f?function(e){var t,n,i={};for(t in e)i[n=e[t]]=n,i[ta(n)]=t;return i}(c):null,M=[],A=0,T=!1,B=!1,R=0,D=0,L="",N=0;function z(){if(null!==C)return C;var e,t,n,i,o,r,s,a,l,u,h,p=f&&P.xmlns,m=f&&d?[]:null,g=N,v=L,b=v.length,w={},x={};e:for(;g8)){for((u<65||u>122||u>90&&u<97)&&95!==u&&58!==u&&(y("illegal first char attribute name"),l=!0),h=g+1;h96&&u<123||u>64&&u<91||u>47&&u<59||46===u||45===u||95===u)){if(32===u||u<14&&u>8){y("missing attribute value"),g=h;continue e}if(61===u)break;y("illegal attribute name char"),l=!0}if("xmlns:xmlns"===(a=v.substring(g,h))&&(y("illegal declaration of xmlns"),l=!0),34===(u=v.charCodeAt(h+1)))-1===(h=v.indexOf('"',g=h+2))&&-1!==(h=v.indexOf("'",g))&&(y("attribute value quote missmatch"),l=!0);else if(39===u)-1===(h=v.indexOf("'",g=h+2))&&-1!==(h=v.indexOf('"',g))&&(y("attribute value quote missmatch"),l=!0);else for(y("missing attribute value quotes"),l=!0,h+=1;h8);h++);for(-1===h&&(y("missing closing quotes"),h=b,l=!0),l||(r=v.substring(g,h)),g=h;h+18);h++)g===h&&(y("illegal character after attribute end"),l=!0);if(g=h+1,!l)if(a in x)y("attribute <"+a+"> already defined");else if(x[a]=!0,f)if(d){if(null!==(o="xmlns"===a?"xmlns":120===a.charCodeAt(0)&&"xmlns:"===a.substr(0,6)?a.substr(6):null)){if(e=Xs(r),t=ta(o),!(s=c[e])){if("xmlns"===o||t in P&&P[t]!==e)do{s="ns"+A++}while(void 0!==P[s]);else s=o;c[e]=s}P[o]!==s&&(i||(P=ea(P),i=!0),P[o]=s,"xmlns"===o&&(P[ta(s)]=e,p=s),P[t]=e),w[a]=r;continue}m.push(a,r)}else-1!==(u=a.indexOf(":"))?(n=P[a.substring(0,u)])?((a=p===n?a.substr(u+1):n+a.substr(u))===Us&&(-1!==(u=r.indexOf(":"))?(n=r.substring(0,u),r=(n=P[n]||n)+r.substring(u)):r=p+":"+r),w[a]=r):y(Zs(a.substring(0,u))):w[a]=r;else w[a]=r}if(d)for(g=0,b=m.length;g=s&&(t=i.exec(e))&&!((a=t[0].length+t.index)>R);)o+=1,s=a;return-1==R?(r=a,n=e.substring(D)):0===D?n=e.substring(D,R):(r=R-s,n=-1==D?e.substring(R):e.substring(R,D+1)),{data:n,line:o,column:r}},u&&(S=Object.create({},{name:Js((function(){return E})),originalName:Js((function(){return k})),attrs:Js(z),ns:Js((function(){return P}))}));-1!==D;){if(-1===(R=60===e.charCodeAt(D)?D:e.indexOf("<",D)))return M.length?v("unexpected end of file"):0===D?v("missing start tag"):void(D",R)))return v("unclosed cdata");if(o&&(o(e.substring(R+9,D),p),g))return;D+=3;continue}if(45===b&&45===e.charCodeAt(R+3)){if(-1===(D=e.indexOf("--\x3e",R)))return v("unclosed comment");if(s&&(s(e.substring(R+4,D),Xs,p),g))return;D+=3;continue}}if(63!==w){for(h=R+1;;h++){if(x=e.charCodeAt(h),isNaN(x))return D=-1,v("unclosed tag");if(34===x)h=-1!==(b=e.indexOf('"',h+1))?b:h;else if(39===x)h=-1!==(b=e.indexOf("'",h+1))?b:h;else if(62===x){D=h;break}}if(33!==w){if(C={},47===w){if(T=!1,B=!0,!M.length)return v("missing open tag");if(h=E=M.pop(),b=R+2+h.length,e.substring(R+2,b)!==h)return v("closing tag mismatch");for(;b8&&w<14))return v("close tag")}else{if(47===e.charCodeAt(D-1)?(h=E=e.substring(R+1,D-1),T=!0,B=!0):(h=E=e.substring(R+1,D),T=!0,B=!1),!(w>96&&w<123||w>64&&w<91||95===w||58===w))return v("illegal first char nodeName");for(b=1,m=h.length;b96&&w<123||w>64&&w<91||w>47&&w<59||45===w||95===w||46==w)){if(32===w||w<14&&w>8){E=h.substring(0,b),C=null;break}return v("invalid nodeName")}B||M.push(E)}if(f){if(r=P,T&&(B||O.push(r),null===C&&(d=-1!==h.indexOf("xmlns",b))&&(N=b,L=h,z(),d=!1)),k=E,-1!==(w=E.indexOf(":"))){if(!(_=P[E.substring(0,w)]))return v("missing namespace on <"+k+">");E=E.substr(w+1)}else _=P.xmlns;_&&(E=_+":"+E)}if(T&&(N=b,L=h,n&&(u?n(S,Xs,B,p):n(E,z,Xs,B,p),g)))return;if(B){if(i&&(i(u?S:E,Xs,T,p),g))return;f&&(P=T?r:O.pop())}D+=1}else{if(l&&(l(e.substring(R,D+1),Xs,p),g))return;D+=1}}else{if(-1===(D=e.indexOf("?>",R)))return v("unclosed question");if(a&&(a(e.substring(R,D+2),p),g))return;D+=2}}}(e),p=na,g=!1,m},this.stop=function(){g=!0}}function ra(e){return e.xml&&"lowerCase"===e.xml.tagAlias}var sa={xsi:"http://www.w3.org/2001/XMLSchema-instance",xml:"http://www.w3.org/XML/1998/namespace"},aa="xsi:type";function la(e){return e.xml&&e.xml.serialize}function ca(e){return la(e)===aa}function ua(e,t){return ra(t)?e.prefix+":"+((n=e.localName).charAt(0).toUpperCase()+n.slice(1)):e.name;var n}function ha(e){return new Error(e)}function pa(e){return e.$descriptor}function da(e){ce(this,e),this.elementsById={},this.references=[],this.warnings=[],this.addReference=function(e){this.references.push(e)},this.addElement=function(e){if(!e)throw ha("expected element");var t,n=this.elementsById,i=pa(e).idProperty;if(i&&(t=e.get(i.name))){if(!/^([a-z][\w-.]*:)?[a-z_][\w-.]*$/i.test(t))throw new Error("illegal ID <"+t+">");if(n[t])throw ha("duplicate ID <"+t+">");n[t]=e}},this.addWarning=function(e){this.warnings.push(e)}}function fa(){}function ma(){}function ga(){}function va(e,t){this.property=e,this.context=t}function ya(e,t){this.element=t,this.propertyDesc=e}function ba(){}function wa(e,t,n){this.model=e,this.type=e.getType(t),this.context=n}function xa(e,t,n){wa.call(this,e,t,n)}function _a(e,t,n){this.model=e,this.context=n}function Ea(e){e instanceof qs&&(e={model:e}),ce(this,{lax:!1},e)}fa.prototype.handleEnd=function(){},fa.prototype.handleText=function(){},fa.prototype.handleNode=function(){},ma.prototype=Object.create(fa.prototype),ma.prototype.handleNode=function(){return this},ga.prototype=Object.create(fa.prototype),ga.prototype.handleText=function(e){this.body=(this.body||"")+e},va.prototype=Object.create(ga.prototype),va.prototype.handleNode=function(e){if(this.element)throw ha("expected no sub nodes");return this.element=this.createReference(e),this},va.prototype.handleEnd=function(){this.element.id=this.body},va.prototype.createReference=function(e){return{property:this.property.ns.name,id:""}},ya.prototype=Object.create(ga.prototype),ya.prototype.handleEnd=function(){var e=this.body||"",t=this.element,n=this.propertyDesc;e=Bs(n.type,e),n.isMany?t.get(n.name).push(e):t.set(n.name,e)},ba.prototype=Object.create(ga.prototype),ba.prototype.handleNode=function(e){var t=this,n=this.element;return n?t=this.handleChild(e):(n=this.element=this.createElement(e),this.context.addElement(n)),t},wa.prototype=Object.create(ba.prototype),wa.prototype.addReference=function(e){this.context.addReference(e)},wa.prototype.handleText=function(e){if(!pa(this.element).bodyProperty)throw ha("unexpected body text <"+e+">");ga.prototype.handleText.call(this,e)},wa.prototype.handleEnd=function(){var e=this.body,t=this.element,n=pa(t).bodyProperty;n&&void 0!==e&&(e=Bs(n.type,e),t.set(n.name,e))},wa.prototype.createElement=function(e){var t,n=e.attributes,i=this.type,o=pa(i),r=this.context,s=new i({}),a=this.model;return V(n,(function(e,n){var i=o.propertiesByName[n];i&&i.isReference?i.isMany?V(e.split(" "),(function(e){r.addReference({element:s,property:i.ns.name,id:e})})):r.addReference({element:s,property:i.ns.name,id:e}):(i?e=Bs(i.type,e):"xmlns"!==n&&(t=Ls(n,o.ns.prefix),a.getPackage(t.prefix)&&r.addWarning({message:"unknown attribute <"+n+">",element:s,property:n,value:e})),s.set(n,e))})),s},wa.prototype.getPropertyForNode=function(e){var t,n,i=Ls(e.name),o=this.type,r=this.model,s=pa(o),a=i.name,l=s.propertiesByName[a];if(l&&!l.isAttr)return ca(l)&&(t=e.attributes[aa])?(t=function(e,t){var n=Ls(e);return function(e,t){var n=e.name,i=e.localName,o=t.xml&&t.xml.typePrefix;return o&&0===i.indexOf(o)?e.prefix+":"+i.slice(o.length):n}(n,t.getPackage(n.prefix))}(t,r),ce({},l,{effectiveType:pa(n=r.getType(t)).name})):l;var c=r.getPackage(i.prefix);if(c){if(t=ua(i,c),n=r.getType(t),l=j(s.properties,(function(e){return!e.isVirtual&&!e.isReference&&!e.isAttribute&&n.hasType(e.type)})),l)return ce({},l,{effectiveType:pa(n).name})}else if(l=j(s.properties,(function(e){return!e.isReference&&!e.isAttribute&&"Element"===e.type})),l)return l;throw ha("unrecognized element <"+i.name+">")},wa.prototype.toString=function(){return"ElementDescriptor["+pa(this.type).name+"]"},wa.prototype.valueHandler=function(e,t){return new ya(e,t)},wa.prototype.referenceHandler=function(e){return new va(e,this.context)},wa.prototype.handler=function(e){return"Element"===e?new _a(this.model,e,this.context):new wa(this.model,e,this.context)},wa.prototype.handleChild=function(e){var t,n,i,o;if(t=this.getPropertyForNode(e),i=this.element,Ds(n=t.effectiveType||t.type))return this.valueHandler(t,i);var r=(o=t.isReference?this.referenceHandler(t).handleNode(e):this.handler(n).handleNode(e)).element;return void 0!==r&&(t.isMany?i.get(t.name).push(r):i.set(t.name,r),t.isReference?(ce(r,{element:i}),this.context.addReference(r)):r.$parent=i),o},xa.prototype=Object.create(wa.prototype),xa.prototype.createElement=function(e){var t=e.name,n=Ls(t),i=this.model,o=this.type,r=i.getPackage(n.prefix),s=r&&ua(n,r)||t;if(!o.hasType(s))throw ha("unexpected element <"+e.originalName+">");return wa.prototype.createElement.call(this,e)},_a.prototype=Object.create(ba.prototype),_a.prototype.createElement=function(e){var t=e.name,n=Ls(t).prefix,i=e.ns[n+"$uri"],o=e.attributes;return this.model.createAny(t,i,o)},_a.prototype.handleChild=function(e){var t=new _a(this.model,"Element",this.context).handleNode(e),n=this.element,i=t.element;return void 0!==i&&((n.$children=n.$children||[]).push(i),i.$parent=n),t},_a.prototype.handleEnd=function(){this.body&&(this.element.$body=this.body)},Ea.prototype.fromXML=function(e,t,n){var i=t.rootHandler;t instanceof wa?(i=t,t={}):"string"==typeof t?(i=this.handler(t),t={}):"string"==typeof i&&(i=this.handler(i));var o=this.model,r=this.lax,s=new da(ce({},t,{rootHandler:i})),a=new oa({proxy:!0}),l=function(){var e=[];return Object.defineProperty(e,"peek",{value:function(){return this[this.length-1]}}),e}();function c(e,t,n){var i=t(),o=i.line,r=i.column,a=i.data;"<"===a.charAt(0)&&-1!==a.indexOf(" ")&&(a=a.slice(0,a.indexOf(" "))+">");var l="unparsable content "+(a?a+" ":"")+"detected\n\tline: "+o+"\n\tcolumn: "+r+"\n\tnested error: "+e.message;if(n)return s.addWarning({message:l,error:e}),!0;throw ha(l)}function u(e,t){return c(e,t,!0)}i.context=s,l.push(i);var h=/^<\?xml /i,p=/ encoding="([^"]+)"/i,d=/^utf-8$/i;function f(e,t){try{l.peek().handleText(e)}catch(e){u(e,t)}}var m=o.getPackages().reduce((function(e,t){return e[t.uri]=t.prefix,e}),{"http://www.w3.org/XML/1998/namespace":"xml"});return a.ns(m).on("openTag",(function(e,t,n,i){var o=e.attrs||{},s=Object.keys(o).reduce((function(e,n){var i=t(o[n]);return e[n]=i,e}),{});!function(e,t){var n=l.peek();try{l.push(n.handleNode(e))}catch(e){c(e,t,r)&&l.push(new ma)}}({name:e.name,originalName:e.originalName,attributes:s,ns:e.ns},i)})).on("question",(function(e){if(h.test(e)){var t=p.exec(e),n=t&&t[1];n&&!d.test(n)&&s.addWarning({message:"unsupported document encoding <"+n+">, falling back to UTF-8"})}})).on("closeTag",(function(){l.pop().handleEnd()})).on("cdata",f).on("text",(function(e,t,n){!function(e,t){e.trim()&&f(e,t)}(t(e),n)})).on("error",c).on("warn",u),new Promise((function(t,n){var o;try{a.parse(e),function(){var e,t,n=s.elementsById,i=s.references;for(e=0;t=i[e];e++){var o=t.element,r=n[t.id],a=pa(o).propertiesByName[t.property];if(r||s.addWarning({message:"unresolved reference <"+t.id+">",element:t.element,property:t.property,value:t.id}),a.isMany){var l=o.get(a.name),c=l.indexOf(t);-1===c&&(c=l.length),r?l[c]=r:l.splice(c,1)}else o.set(a.name,r)}}()}catch(e){o=e}var r=i.element;o||r||(o=ha("failed to parse document as <"+i.type.$descriptor.name+">"));var l=s.warnings,c=s.references,u=s.elementsById;return o?(o.warnings=l,n(o)):t({rootElement:r,elementsById:u,references:c,warnings:l})}))},Ea.prototype.handler=function(e){return new xa(this.model,e)};var ka=/<|>|'|"|&|\n\r|\n/g,Sa=/<|>|&/g;function Ca(e){var t={},n={},i={},o=[],r=[];this.byUri=function(t){return n[t]||e&&e.byUri(t)},this.add=function(e,t){n[e.uri]=e,t?o.push(e):r.push(e),this.mapPrefix(e.prefix,e.uri)},this.uriByPrefix=function(e){return t[e||"xmlns"]},this.mapPrefix=function(e,n){t[e||"xmlns"]=n},this.getNSKey=function(e){return void 0!==e.prefix?e.uri+"|"+e.prefix:e.uri},this.logUsed=function(t){var n=t.uri,o=this.getNSKey(t);i[o]=this.byUri(n),e&&e.logUsed(t)},this.getUsed=function(e){var t=this;return[].concat(o,r).filter((function(e){var n=t.getNSKey(e);return i[n]}))}}function Oa(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}function Pa(e){return F(e)?e:(e.prefix?e.prefix+":":"")+e.localName}var Ma={"\n":"#10","\n\r":"#10",'"':"#34","'":"#39","<":"#60",">":"#62","&":"#38"},Aa={"<":"lt",">":"gt","&":"amp"};function Ta(e,t,n){return(e=F(e)?e:""+e).replace(t,(function(e){return"&"+n[e]+";"}))}function Ba(e){this.tagName=e}function Ra(){}function Da(e){this.tagName=e}function La(e,t){this.body=[],this.attrs=[],this.parent=e,this.propertyDescriptor=t}function Na(e,t){La.call(this,e,t)}function za(){this.value="",this.write=function(e){this.value+=e}}function Ia(e,t){var n=[""];this.append=function(t){return e.write(t),this},this.appendNewLine=function(){return t&&e.write("\n"),this},this.appendIndent=function(){return t&&e.write(n.join(" ")),this},this.indent=function(){return n.push(""),this},this.unindent=function(){return n.pop(),this}}function Fa(e){return e=ce({format:!1,preamble:!0},e||{}),{toXML:function(t,n){var i=n||new za,o=new Ia(i,e.format);if(e.preamble&&o.append('\n'),(new La).build(t).serializeTo(o),!n)return i.value}}}function $a(e,t){qs.call(this,e,t)}Ba.prototype.build=function(e){return this.element=e,this},Ba.prototype.serializeTo=function(e){e.appendIndent().append("<"+this.tagName+">"+this.element.id+"").appendNewLine()},Ra.prototype.serializeValue=Ra.prototype.serializeTo=function(e){e.append(this.escape?Ta(this.value,Sa,Aa):this.value)},Ra.prototype.build=function(e,t){return this.value=t,"String"===e.type&&-1!==t.search(Sa)&&(this.escape=!0),this},Oa(Da,Ra),Da.prototype.serializeTo=function(e){e.appendIndent().append("<"+this.tagName+">"),this.serializeValue(e),e.append("").appendNewLine()},La.prototype.build=function(e){this.element=e;var t,n,i=e.$descriptor,o=this.propertyDescriptor,r=i.isGeneric;return t=r?this.parseGeneric(e):this.parseNsAttributes(e),this.ns=o?this.nsPropertyTagName(o):this.nsTagName(i),this.tagName=this.addTagName(this.ns),r||(n=function(e){return H(e.$descriptor.properties,(function(t){var n=t.name;if(t.isVirtual)return!1;if(!$(e,n))return!1;var i=e[n];return i!==t.default&&null!==i&&(!t.isMany||i.length)}))}(e),this.parseAttributes(H(n,(function(e){return e.isAttr}))),this.parseContainments(H(n,(function(e){return!e.isAttr})))),this.parseGenericAttributes(e,t),this},La.prototype.nsTagName=function(e){return function(e,t){return t.isGeneric?ce({localName:t.ns.localName},e):ce({localName:(n=t.ns.localName,i=t.$pkg,ra(i)?function(e){return e.charAt(0).toLowerCase()+e.slice(1)}(n):n)},e);var n,i}(this.logNamespaceUsed(e.ns),e)},La.prototype.nsPropertyTagName=function(e){return function(e,t){return ce({localName:t.ns.localName},e)}(this.logNamespaceUsed(e.ns),e)},La.prototype.isLocalNs=function(e){return e.uri===this.ns.uri},La.prototype.nsAttributeName=function(e){var t;if(t=F(e)?Ls(e):e.ns,e.inherited)return{localName:t.localName};var n=this.logNamespaceUsed(t);return this.getNamespaces().logUsed(n),this.isLocalNs(n)?{localName:t.localName}:ce({localName:t.localName},n)},La.prototype.parseGeneric=function(e){var t=this,n=this.body,i=[];return V(e,(function(o,r){"$body"===r?n.push((new Ra).build({type:"String"},o)):"$children"===r?V(o,(function(e){n.push(new La(t).build(e))})):0!==r.indexOf("$")&&t.parseNsAttribute(e,r,o)&&i.push({name:r,value:o})})),i},La.prototype.parseNsAttribute=function(e,t,n){var i,o=e.$model,r=Ls(t);if("xmlns"===r.prefix&&(i={prefix:r.localName,uri:n}),r.prefix||"xmlns"!==r.localName||(i={uri:n}),!i)return{name:t,value:n};if(o&&o.getPackage(n))this.logNamespace(i,!0,!0);else{var s=this.logNamespaceUsed(i,!0);this.getNamespaces().logUsed(s)}},La.prototype.parseNsAttributes=function(e,t){var n=this,i=e.$attrs,o=[];return V(i,(function(t,i){var r=n.parseNsAttribute(e,i,t);r&&o.push(r)})),o},La.prototype.parseGenericAttributes=function(e,t){var n=this;V(t,(function(t){if(t.name!==aa)try{n.addAttribute(n.nsAttributeName(t.name),t.value)}catch(n){console.warn("missing namespace information for ",t.name,"=",t.value,"on",e,n)}}))},La.prototype.parseContainments=function(e){var t=this,n=this.body,i=this.element;V(e,(function(e){var o=i.get(e.name),r=e.isReference;if(e.isMany||(o=[o]),e.isBody)n.push((new Ra).build(e,o[0]));else if(Ds(e.type))V(o,(function(i){n.push(new Da(t.addTagName(t.nsPropertyTagName(e))).build(e,i))}));else if(r)V(o,(function(i){n.push(new Ba(t.addTagName(t.nsPropertyTagName(e))).build(i))}));else{var s=ca(e),a=function(e){return"property"===la(e)}(e);V(o,(function(i){var o;o=s?new Na(t,e):a?new La(t,e):new La(t),n.push(o.build(i))}))}}))},La.prototype.getNamespaces=function(e){var t,n=this.namespaces,i=this.parent;return n||(t=i&&i.getNamespaces(),e||!t?this.namespaces=n=new Ca(t):n=t),n},La.prototype.logNamespace=function(e,t,n){var i=this.getNamespaces(n),o=e.uri,r=e.prefix;return i.byUri(o)&&!n||i.add(e,t),i.mapPrefix(r,o),e},La.prototype.logNamespaceUsed=function(e,t){var n,i,o,r=this.element.$model,s=this.getNamespaces(t),a=e.prefix,l=e.uri;if(!a&&!l)return{localName:e.localName};if(o=sa[a]||r&&(r.getPackage(a)||{}).uri,!(l=l||o||s.uriByPrefix(a)))throw new Error("no namespace uri given for prefix <"+a+">");if(!(e=s.byUri(l))){for(n=a,i=1;s.uriByPrefix(n);)n=a+"_"+i++;e=this.logNamespace({prefix:n,uri:l},o===l)}return a&&s.mapPrefix(a,l),e},La.prototype.parseAttributes=function(e){var t=this,n=this.element;V(e,(function(e){var i=n.get(e.name);if(e.isReference)if(e.isMany){var o=[];V(i,(function(e){o.push(e.id)})),i=o.join(" ")}else i=i.id;t.addAttribute(t.nsAttributeName(e),i)}))},La.prototype.addTagName=function(e){var t=this.logNamespaceUsed(e);return this.getNamespaces().logUsed(t),Pa(e)},La.prototype.addAttribute=function(e,t){var n=this.attrs;F(t)&&(t=Ta(t,ka,Ma));var i=q(n,(function(t){return t.name.localName===e.localName&&t.name.uri===e.uri&&t.name.prefix===e.prefix})),o={name:e,value:t};-1!==i?n.splice(i,1,o):n.push(o)},La.prototype.serializeAttributes=function(e){var t=this.attrs,n=this.namespaces;n&&(t=function(e){return e.getUsed().filter((function(e){return"xml"!==e.prefix})).map((function(e){return{name:"xmlns"+(e.prefix?":"+e.prefix:""),value:e.uri}}))}(n).concat(t)),V(t,(function(t){e.append(" ").append(Pa(t.name)).append('="').append(t.value).append('"')}))},La.prototype.serializeTo=function(e){var t=this.body[0],n=t&&t.constructor!==Ra;e.appendIndent().append("<"+this.tagName),this.serializeAttributes(e),e.append(t?">":" />"),t&&(n&&e.appendNewLine().indent(),V(this.body,(function(t){t.serializeTo(e)})),n&&e.unindent().appendIndent(),e.append("")),e.appendNewLine()},Oa(Na,La),Na.prototype.parseNsAttributes=function(e){var t=La.prototype.parseNsAttributes.call(this,e),n=e.$descriptor;if(n.name===this.propertyDescriptor.type)return t;var i=this.typeNs=this.nsTagName(n);this.getNamespaces().logUsed(this.typeNs);var o=e.$model.getPackage(i.uri),r=o.xml&&o.xml.typePrefix||"";return this.addAttribute(this.nsAttributeName(aa),(i.prefix?i.prefix+":":"")+r+n.ns.localName),t},Na.prototype.isLocalNs=function(e){return e.uri===(this.typeNs||this.ns).uri},$a.prototype=Object.create(qs.prototype),$a.prototype.fromXML=function(e,t,n){F(t)||(n=t,t="bpmn:Definitions");var i=new Ea(ce({model:this,lax:!0},n)),o=i.handler(t);return i.fromXML(e,o)},$a.prototype.toXML=function(e,t){var n=new Fa(t);return new Promise((function(t,i){try{return t({xml:n.toXML(e)})}catch(e){return i(e)}}))};var ja={bpmn:{name:"BPMN20",uri:"http://www.omg.org/spec/BPMN/20100524/MODEL",prefix:"bpmn",associations:[],types:[{name:"Interface",superClass:["RootElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"operations",type:"Operation",isMany:!0},{name:"implementationRef",isAttr:!0,type:"String"}]},{name:"Operation",superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"inMessageRef",type:"Message",isReference:!0},{name:"outMessageRef",type:"Message",isReference:!0},{name:"errorRef",type:"Error",isMany:!0,isReference:!0},{name:"implementationRef",isAttr:!0,type:"String"}]},{name:"EndPoint",superClass:["RootElement"]},{name:"Auditing",superClass:["BaseElement"]},{name:"GlobalTask",superClass:["CallableElement"],properties:[{name:"resources",type:"ResourceRole",isMany:!0}]},{name:"Monitoring",superClass:["BaseElement"]},{name:"Performer",superClass:["ResourceRole"]},{name:"Process",superClass:["FlowElementsContainer","CallableElement"],properties:[{name:"processType",type:"ProcessType",isAttr:!0},{name:"isClosed",isAttr:!0,type:"Boolean"},{name:"auditing",type:"Auditing"},{name:"monitoring",type:"Monitoring"},{name:"properties",type:"Property",isMany:!0},{name:"laneSets",isMany:!0,replaces:"FlowElementsContainer#laneSets",type:"LaneSet"},{name:"flowElements",isMany:!0,replaces:"FlowElementsContainer#flowElements",type:"FlowElement"},{name:"artifacts",type:"Artifact",isMany:!0},{name:"resources",type:"ResourceRole",isMany:!0},{name:"correlationSubscriptions",type:"CorrelationSubscription",isMany:!0},{name:"supports",type:"Process",isMany:!0,isReference:!0},{name:"definitionalCollaborationRef",type:"Collaboration",isAttr:!0,isReference:!0},{name:"isExecutable",isAttr:!0,type:"Boolean"}]},{name:"LaneSet",superClass:["BaseElement"],properties:[{name:"lanes",type:"Lane",isMany:!0},{name:"name",isAttr:!0,type:"String"}]},{name:"Lane",superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"partitionElementRef",type:"BaseElement",isAttr:!0,isReference:!0},{name:"partitionElement",type:"BaseElement"},{name:"flowNodeRef",type:"FlowNode",isMany:!0,isReference:!0},{name:"childLaneSet",type:"LaneSet",xml:{serialize:"xsi:type"}}]},{name:"GlobalManualTask",superClass:["GlobalTask"]},{name:"ManualTask",superClass:["Task"]},{name:"UserTask",superClass:["Task"],properties:[{name:"renderings",type:"Rendering",isMany:!0},{name:"implementation",isAttr:!0,type:"String"}]},{name:"Rendering",superClass:["BaseElement"]},{name:"HumanPerformer",superClass:["Performer"]},{name:"PotentialOwner",superClass:["HumanPerformer"]},{name:"GlobalUserTask",superClass:["GlobalTask"],properties:[{name:"implementation",isAttr:!0,type:"String"},{name:"renderings",type:"Rendering",isMany:!0}]},{name:"Gateway",isAbstract:!0,superClass:["FlowNode"],properties:[{name:"gatewayDirection",type:"GatewayDirection",default:"Unspecified",isAttr:!0}]},{name:"EventBasedGateway",superClass:["Gateway"],properties:[{name:"instantiate",default:!1,isAttr:!0,type:"Boolean"},{name:"eventGatewayType",type:"EventBasedGatewayType",isAttr:!0,default:"Exclusive"}]},{name:"ComplexGateway",superClass:["Gateway"],properties:[{name:"activationCondition",type:"Expression",xml:{serialize:"xsi:type"}},{name:"default",type:"SequenceFlow",isAttr:!0,isReference:!0}]},{name:"ExclusiveGateway",superClass:["Gateway"],properties:[{name:"default",type:"SequenceFlow",isAttr:!0,isReference:!0}]},{name:"InclusiveGateway",superClass:["Gateway"],properties:[{name:"default",type:"SequenceFlow",isAttr:!0,isReference:!0}]},{name:"ParallelGateway",superClass:["Gateway"]},{name:"RootElement",isAbstract:!0,superClass:["BaseElement"]},{name:"Relationship",superClass:["BaseElement"],properties:[{name:"type",isAttr:!0,type:"String"},{name:"direction",type:"RelationshipDirection",isAttr:!0},{name:"source",isMany:!0,isReference:!0,type:"Element"},{name:"target",isMany:!0,isReference:!0,type:"Element"}]},{name:"BaseElement",isAbstract:!0,properties:[{name:"id",isAttr:!0,type:"String",isId:!0},{name:"documentation",type:"Documentation",isMany:!0},{name:"extensionDefinitions",type:"ExtensionDefinition",isMany:!0,isReference:!0},{name:"extensionElements",type:"ExtensionElements"}]},{name:"Extension",properties:[{name:"mustUnderstand",default:!1,isAttr:!0,type:"Boolean"},{name:"definition",type:"ExtensionDefinition",isAttr:!0,isReference:!0}]},{name:"ExtensionDefinition",properties:[{name:"name",isAttr:!0,type:"String"},{name:"extensionAttributeDefinitions",type:"ExtensionAttributeDefinition",isMany:!0}]},{name:"ExtensionAttributeDefinition",properties:[{name:"name",isAttr:!0,type:"String"},{name:"type",isAttr:!0,type:"String"},{name:"isReference",default:!1,isAttr:!0,type:"Boolean"},{name:"extensionDefinition",type:"ExtensionDefinition",isAttr:!0,isReference:!0}]},{name:"ExtensionElements",properties:[{name:"valueRef",isAttr:!0,isReference:!0,type:"Element"},{name:"values",type:"Element",isMany:!0},{name:"extensionAttributeDefinition",type:"ExtensionAttributeDefinition",isAttr:!0,isReference:!0}]},{name:"Documentation",superClass:["BaseElement"],properties:[{name:"text",type:"String",isBody:!0},{name:"textFormat",default:"text/plain",isAttr:!0,type:"String"}]},{name:"Event",isAbstract:!0,superClass:["FlowNode","InteractionNode"],properties:[{name:"properties",type:"Property",isMany:!0}]},{name:"IntermediateCatchEvent",superClass:["CatchEvent"]},{name:"IntermediateThrowEvent",superClass:["ThrowEvent"]},{name:"EndEvent",superClass:["ThrowEvent"]},{name:"StartEvent",superClass:["CatchEvent"],properties:[{name:"isInterrupting",default:!0,isAttr:!0,type:"Boolean"}]},{name:"ThrowEvent",isAbstract:!0,superClass:["Event"],properties:[{name:"dataInputs",type:"DataInput",isMany:!0},{name:"dataInputAssociations",type:"DataInputAssociation",isMany:!0},{name:"inputSet",type:"InputSet"},{name:"eventDefinitions",type:"EventDefinition",isMany:!0},{name:"eventDefinitionRef",type:"EventDefinition",isMany:!0,isReference:!0}]},{name:"CatchEvent",isAbstract:!0,superClass:["Event"],properties:[{name:"parallelMultiple",isAttr:!0,type:"Boolean",default:!1},{name:"dataOutputs",type:"DataOutput",isMany:!0},{name:"dataOutputAssociations",type:"DataOutputAssociation",isMany:!0},{name:"outputSet",type:"OutputSet"},{name:"eventDefinitions",type:"EventDefinition",isMany:!0},{name:"eventDefinitionRef",type:"EventDefinition",isMany:!0,isReference:!0}]},{name:"BoundaryEvent",superClass:["CatchEvent"],properties:[{name:"cancelActivity",default:!0,isAttr:!0,type:"Boolean"},{name:"attachedToRef",type:"Activity",isAttr:!0,isReference:!0}]},{name:"EventDefinition",isAbstract:!0,superClass:["RootElement"]},{name:"CancelEventDefinition",superClass:["EventDefinition"]},{name:"ErrorEventDefinition",superClass:["EventDefinition"],properties:[{name:"errorRef",type:"Error",isAttr:!0,isReference:!0}]},{name:"TerminateEventDefinition",superClass:["EventDefinition"]},{name:"EscalationEventDefinition",superClass:["EventDefinition"],properties:[{name:"escalationRef",type:"Escalation",isAttr:!0,isReference:!0}]},{name:"Escalation",properties:[{name:"structureRef",type:"ItemDefinition",isAttr:!0,isReference:!0},{name:"name",isAttr:!0,type:"String"},{name:"escalationCode",isAttr:!0,type:"String"}],superClass:["RootElement"]},{name:"CompensateEventDefinition",superClass:["EventDefinition"],properties:[{name:"waitForCompletion",isAttr:!0,type:"Boolean",default:!0},{name:"activityRef",type:"Activity",isAttr:!0,isReference:!0}]},{name:"TimerEventDefinition",superClass:["EventDefinition"],properties:[{name:"timeDate",type:"Expression",xml:{serialize:"xsi:type"}},{name:"timeCycle",type:"Expression",xml:{serialize:"xsi:type"}},{name:"timeDuration",type:"Expression",xml:{serialize:"xsi:type"}}]},{name:"LinkEventDefinition",superClass:["EventDefinition"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"target",type:"LinkEventDefinition",isReference:!0},{name:"source",type:"LinkEventDefinition",isMany:!0,isReference:!0}]},{name:"MessageEventDefinition",superClass:["EventDefinition"],properties:[{name:"messageRef",type:"Message",isAttr:!0,isReference:!0},{name:"operationRef",type:"Operation",isAttr:!0,isReference:!0}]},{name:"ConditionalEventDefinition",superClass:["EventDefinition"],properties:[{name:"condition",type:"Expression",xml:{serialize:"xsi:type"}}]},{name:"SignalEventDefinition",superClass:["EventDefinition"],properties:[{name:"signalRef",type:"Signal",isAttr:!0,isReference:!0}]},{name:"Signal",superClass:["RootElement"],properties:[{name:"structureRef",type:"ItemDefinition",isAttr:!0,isReference:!0},{name:"name",isAttr:!0,type:"String"}]},{name:"ImplicitThrowEvent",superClass:["ThrowEvent"]},{name:"DataState",superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"}]},{name:"ItemAwareElement",superClass:["BaseElement"],properties:[{name:"itemSubjectRef",type:"ItemDefinition",isAttr:!0,isReference:!0},{name:"dataState",type:"DataState"}]},{name:"DataAssociation",superClass:["BaseElement"],properties:[{name:"sourceRef",type:"ItemAwareElement",isMany:!0,isReference:!0},{name:"targetRef",type:"ItemAwareElement",isReference:!0},{name:"transformation",type:"FormalExpression",xml:{serialize:"property"}},{name:"assignment",type:"Assignment",isMany:!0}]},{name:"DataInput",superClass:["ItemAwareElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"isCollection",default:!1,isAttr:!0,type:"Boolean"},{name:"inputSetRef",type:"InputSet",isMany:!0,isVirtual:!0,isReference:!0},{name:"inputSetWithOptional",type:"InputSet",isMany:!0,isVirtual:!0,isReference:!0},{name:"inputSetWithWhileExecuting",type:"InputSet",isMany:!0,isVirtual:!0,isReference:!0}]},{name:"DataOutput",superClass:["ItemAwareElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"isCollection",default:!1,isAttr:!0,type:"Boolean"},{name:"outputSetRef",type:"OutputSet",isMany:!0,isVirtual:!0,isReference:!0},{name:"outputSetWithOptional",type:"OutputSet",isMany:!0,isVirtual:!0,isReference:!0},{name:"outputSetWithWhileExecuting",type:"OutputSet",isMany:!0,isVirtual:!0,isReference:!0}]},{name:"InputSet",superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"dataInputRefs",type:"DataInput",isMany:!0,isReference:!0},{name:"optionalInputRefs",type:"DataInput",isMany:!0,isReference:!0},{name:"whileExecutingInputRefs",type:"DataInput",isMany:!0,isReference:!0},{name:"outputSetRefs",type:"OutputSet",isMany:!0,isReference:!0}]},{name:"OutputSet",superClass:["BaseElement"],properties:[{name:"dataOutputRefs",type:"DataOutput",isMany:!0,isReference:!0},{name:"name",isAttr:!0,type:"String"},{name:"inputSetRefs",type:"InputSet",isMany:!0,isReference:!0},{name:"optionalOutputRefs",type:"DataOutput",isMany:!0,isReference:!0},{name:"whileExecutingOutputRefs",type:"DataOutput",isMany:!0,isReference:!0}]},{name:"Property",superClass:["ItemAwareElement"],properties:[{name:"name",isAttr:!0,type:"String"}]},{name:"DataInputAssociation",superClass:["DataAssociation"]},{name:"DataOutputAssociation",superClass:["DataAssociation"]},{name:"InputOutputSpecification",superClass:["BaseElement"],properties:[{name:"dataInputs",type:"DataInput",isMany:!0},{name:"dataOutputs",type:"DataOutput",isMany:!0},{name:"inputSets",type:"InputSet",isMany:!0},{name:"outputSets",type:"OutputSet",isMany:!0}]},{name:"DataObject",superClass:["FlowElement","ItemAwareElement"],properties:[{name:"isCollection",default:!1,isAttr:!0,type:"Boolean"}]},{name:"InputOutputBinding",properties:[{name:"inputDataRef",type:"InputSet",isAttr:!0,isReference:!0},{name:"outputDataRef",type:"OutputSet",isAttr:!0,isReference:!0},{name:"operationRef",type:"Operation",isAttr:!0,isReference:!0}]},{name:"Assignment",superClass:["BaseElement"],properties:[{name:"from",type:"Expression",xml:{serialize:"xsi:type"}},{name:"to",type:"Expression",xml:{serialize:"xsi:type"}}]},{name:"DataStore",superClass:["RootElement","ItemAwareElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"capacity",isAttr:!0,type:"Integer"},{name:"isUnlimited",default:!0,isAttr:!0,type:"Boolean"}]},{name:"DataStoreReference",superClass:["ItemAwareElement","FlowElement"],properties:[{name:"dataStoreRef",type:"DataStore",isAttr:!0,isReference:!0}]},{name:"DataObjectReference",superClass:["ItemAwareElement","FlowElement"],properties:[{name:"dataObjectRef",type:"DataObject",isAttr:!0,isReference:!0}]},{name:"ConversationLink",superClass:["BaseElement"],properties:[{name:"sourceRef",type:"InteractionNode",isAttr:!0,isReference:!0},{name:"targetRef",type:"InteractionNode",isAttr:!0,isReference:!0},{name:"name",isAttr:!0,type:"String"}]},{name:"ConversationAssociation",superClass:["BaseElement"],properties:[{name:"innerConversationNodeRef",type:"ConversationNode",isAttr:!0,isReference:!0},{name:"outerConversationNodeRef",type:"ConversationNode",isAttr:!0,isReference:!0}]},{name:"CallConversation",superClass:["ConversationNode"],properties:[{name:"calledCollaborationRef",type:"Collaboration",isAttr:!0,isReference:!0},{name:"participantAssociations",type:"ParticipantAssociation",isMany:!0}]},{name:"Conversation",superClass:["ConversationNode"]},{name:"SubConversation",superClass:["ConversationNode"],properties:[{name:"conversationNodes",type:"ConversationNode",isMany:!0}]},{name:"ConversationNode",isAbstract:!0,superClass:["InteractionNode","BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"participantRef",type:"Participant",isMany:!0,isReference:!0},{name:"messageFlowRefs",type:"MessageFlow",isMany:!0,isReference:!0},{name:"correlationKeys",type:"CorrelationKey",isMany:!0}]},{name:"GlobalConversation",superClass:["Collaboration"]},{name:"PartnerEntity",superClass:["RootElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"participantRef",type:"Participant",isMany:!0,isReference:!0}]},{name:"PartnerRole",superClass:["RootElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"participantRef",type:"Participant",isMany:!0,isReference:!0}]},{name:"CorrelationProperty",superClass:["RootElement"],properties:[{name:"correlationPropertyRetrievalExpression",type:"CorrelationPropertyRetrievalExpression",isMany:!0},{name:"name",isAttr:!0,type:"String"},{name:"type",type:"ItemDefinition",isAttr:!0,isReference:!0}]},{name:"Error",superClass:["RootElement"],properties:[{name:"structureRef",type:"ItemDefinition",isAttr:!0,isReference:!0},{name:"name",isAttr:!0,type:"String"},{name:"errorCode",isAttr:!0,type:"String"}]},{name:"CorrelationKey",superClass:["BaseElement"],properties:[{name:"correlationPropertyRef",type:"CorrelationProperty",isMany:!0,isReference:!0},{name:"name",isAttr:!0,type:"String"}]},{name:"Expression",superClass:["BaseElement"],isAbstract:!1,properties:[{name:"body",isBody:!0,type:"String"}]},{name:"FormalExpression",superClass:["Expression"],properties:[{name:"language",isAttr:!0,type:"String"},{name:"evaluatesToTypeRef",type:"ItemDefinition",isAttr:!0,isReference:!0}]},{name:"Message",superClass:["RootElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"itemRef",type:"ItemDefinition",isAttr:!0,isReference:!0}]},{name:"ItemDefinition",superClass:["RootElement"],properties:[{name:"itemKind",type:"ItemKind",isAttr:!0},{name:"structureRef",isAttr:!0,type:"String"},{name:"isCollection",default:!1,isAttr:!0,type:"Boolean"},{name:"import",type:"Import",isAttr:!0,isReference:!0}]},{name:"FlowElement",isAbstract:!0,superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"auditing",type:"Auditing"},{name:"monitoring",type:"Monitoring"},{name:"categoryValueRef",type:"CategoryValue",isMany:!0,isReference:!0}]},{name:"SequenceFlow",superClass:["FlowElement"],properties:[{name:"isImmediate",isAttr:!0,type:"Boolean"},{name:"conditionExpression",type:"Expression",xml:{serialize:"xsi:type"}},{name:"sourceRef",type:"FlowNode",isAttr:!0,isReference:!0},{name:"targetRef",type:"FlowNode",isAttr:!0,isReference:!0}]},{name:"FlowElementsContainer",isAbstract:!0,superClass:["BaseElement"],properties:[{name:"laneSets",type:"LaneSet",isMany:!0},{name:"flowElements",type:"FlowElement",isMany:!0}]},{name:"CallableElement",isAbstract:!0,superClass:["RootElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"ioSpecification",type:"InputOutputSpecification",xml:{serialize:"property"}},{name:"supportedInterfaceRef",type:"Interface",isMany:!0,isReference:!0},{name:"ioBinding",type:"InputOutputBinding",isMany:!0,xml:{serialize:"property"}}]},{name:"FlowNode",isAbstract:!0,superClass:["FlowElement"],properties:[{name:"incoming",type:"SequenceFlow",isMany:!0,isReference:!0},{name:"outgoing",type:"SequenceFlow",isMany:!0,isReference:!0},{name:"lanes",type:"Lane",isMany:!0,isVirtual:!0,isReference:!0}]},{name:"CorrelationPropertyRetrievalExpression",superClass:["BaseElement"],properties:[{name:"messagePath",type:"FormalExpression"},{name:"messageRef",type:"Message",isAttr:!0,isReference:!0}]},{name:"CorrelationPropertyBinding",superClass:["BaseElement"],properties:[{name:"dataPath",type:"FormalExpression"},{name:"correlationPropertyRef",type:"CorrelationProperty",isAttr:!0,isReference:!0}]},{name:"Resource",superClass:["RootElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"resourceParameters",type:"ResourceParameter",isMany:!0}]},{name:"ResourceParameter",superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"isRequired",isAttr:!0,type:"Boolean"},{name:"type",type:"ItemDefinition",isAttr:!0,isReference:!0}]},{name:"CorrelationSubscription",superClass:["BaseElement"],properties:[{name:"correlationKeyRef",type:"CorrelationKey",isAttr:!0,isReference:!0},{name:"correlationPropertyBinding",type:"CorrelationPropertyBinding",isMany:!0}]},{name:"MessageFlow",superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"sourceRef",type:"InteractionNode",isAttr:!0,isReference:!0},{name:"targetRef",type:"InteractionNode",isAttr:!0,isReference:!0},{name:"messageRef",type:"Message",isAttr:!0,isReference:!0}]},{name:"MessageFlowAssociation",superClass:["BaseElement"],properties:[{name:"innerMessageFlowRef",type:"MessageFlow",isAttr:!0,isReference:!0},{name:"outerMessageFlowRef",type:"MessageFlow",isAttr:!0,isReference:!0}]},{name:"InteractionNode",isAbstract:!0,properties:[{name:"incomingConversationLinks",type:"ConversationLink",isMany:!0,isVirtual:!0,isReference:!0},{name:"outgoingConversationLinks",type:"ConversationLink",isMany:!0,isVirtual:!0,isReference:!0}]},{name:"Participant",superClass:["InteractionNode","BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"interfaceRef",type:"Interface",isMany:!0,isReference:!0},{name:"participantMultiplicity",type:"ParticipantMultiplicity"},{name:"endPointRefs",type:"EndPoint",isMany:!0,isReference:!0},{name:"processRef",type:"Process",isAttr:!0,isReference:!0}]},{name:"ParticipantAssociation",superClass:["BaseElement"],properties:[{name:"innerParticipantRef",type:"Participant",isAttr:!0,isReference:!0},{name:"outerParticipantRef",type:"Participant",isAttr:!0,isReference:!0}]},{name:"ParticipantMultiplicity",properties:[{name:"minimum",default:0,isAttr:!0,type:"Integer"},{name:"maximum",default:1,isAttr:!0,type:"Integer"}],superClass:["BaseElement"]},{name:"Collaboration",superClass:["RootElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"isClosed",isAttr:!0,type:"Boolean"},{name:"participants",type:"Participant",isMany:!0},{name:"messageFlows",type:"MessageFlow",isMany:!0},{name:"artifacts",type:"Artifact",isMany:!0},{name:"conversations",type:"ConversationNode",isMany:!0},{name:"conversationAssociations",type:"ConversationAssociation"},{name:"participantAssociations",type:"ParticipantAssociation",isMany:!0},{name:"messageFlowAssociations",type:"MessageFlowAssociation",isMany:!0},{name:"correlationKeys",type:"CorrelationKey",isMany:!0},{name:"choreographyRef",type:"Choreography",isMany:!0,isReference:!0},{name:"conversationLinks",type:"ConversationLink",isMany:!0}]},{name:"ChoreographyActivity",isAbstract:!0,superClass:["FlowNode"],properties:[{name:"participantRef",type:"Participant",isMany:!0,isReference:!0},{name:"initiatingParticipantRef",type:"Participant",isAttr:!0,isReference:!0},{name:"correlationKeys",type:"CorrelationKey",isMany:!0},{name:"loopType",type:"ChoreographyLoopType",default:"None",isAttr:!0}]},{name:"CallChoreography",superClass:["ChoreographyActivity"],properties:[{name:"calledChoreographyRef",type:"Choreography",isAttr:!0,isReference:!0},{name:"participantAssociations",type:"ParticipantAssociation",isMany:!0}]},{name:"SubChoreography",superClass:["ChoreographyActivity","FlowElementsContainer"],properties:[{name:"artifacts",type:"Artifact",isMany:!0}]},{name:"ChoreographyTask",superClass:["ChoreographyActivity"],properties:[{name:"messageFlowRef",type:"MessageFlow",isMany:!0,isReference:!0}]},{name:"Choreography",superClass:["Collaboration","FlowElementsContainer"]},{name:"GlobalChoreographyTask",superClass:["Choreography"],properties:[{name:"initiatingParticipantRef",type:"Participant",isAttr:!0,isReference:!0}]},{name:"TextAnnotation",superClass:["Artifact"],properties:[{name:"text",type:"String"},{name:"textFormat",default:"text/plain",isAttr:!0,type:"String"}]},{name:"Group",superClass:["Artifact"],properties:[{name:"categoryValueRef",type:"CategoryValue",isAttr:!0,isReference:!0}]},{name:"Association",superClass:["Artifact"],properties:[{name:"associationDirection",type:"AssociationDirection",isAttr:!0},{name:"sourceRef",type:"BaseElement",isAttr:!0,isReference:!0},{name:"targetRef",type:"BaseElement",isAttr:!0,isReference:!0}]},{name:"Category",superClass:["RootElement"],properties:[{name:"categoryValue",type:"CategoryValue",isMany:!0},{name:"name",isAttr:!0,type:"String"}]},{name:"Artifact",isAbstract:!0,superClass:["BaseElement"]},{name:"CategoryValue",superClass:["BaseElement"],properties:[{name:"categorizedFlowElements",type:"FlowElement",isMany:!0,isVirtual:!0,isReference:!0},{name:"value",isAttr:!0,type:"String"}]},{name:"Activity",isAbstract:!0,superClass:["FlowNode"],properties:[{name:"isForCompensation",default:!1,isAttr:!0,type:"Boolean"},{name:"default",type:"SequenceFlow",isAttr:!0,isReference:!0},{name:"ioSpecification",type:"InputOutputSpecification",xml:{serialize:"property"}},{name:"boundaryEventRefs",type:"BoundaryEvent",isMany:!0,isReference:!0},{name:"properties",type:"Property",isMany:!0},{name:"dataInputAssociations",type:"DataInputAssociation",isMany:!0},{name:"dataOutputAssociations",type:"DataOutputAssociation",isMany:!0},{name:"startQuantity",default:1,isAttr:!0,type:"Integer"},{name:"resources",type:"ResourceRole",isMany:!0},{name:"completionQuantity",default:1,isAttr:!0,type:"Integer"},{name:"loopCharacteristics",type:"LoopCharacteristics"}]},{name:"ServiceTask",superClass:["Task"],properties:[{name:"implementation",isAttr:!0,type:"String"},{name:"operationRef",type:"Operation",isAttr:!0,isReference:!0}]},{name:"SubProcess",superClass:["Activity","FlowElementsContainer","InteractionNode"],properties:[{name:"triggeredByEvent",default:!1,isAttr:!0,type:"Boolean"},{name:"artifacts",type:"Artifact",isMany:!0}]},{name:"LoopCharacteristics",isAbstract:!0,superClass:["BaseElement"]},{name:"MultiInstanceLoopCharacteristics",superClass:["LoopCharacteristics"],properties:[{name:"isSequential",default:!1,isAttr:!0,type:"Boolean"},{name:"behavior",type:"MultiInstanceBehavior",default:"All",isAttr:!0},{name:"loopCardinality",type:"Expression",xml:{serialize:"xsi:type"}},{name:"loopDataInputRef",type:"ItemAwareElement",isReference:!0},{name:"loopDataOutputRef",type:"ItemAwareElement",isReference:!0},{name:"inputDataItem",type:"DataInput",xml:{serialize:"property"}},{name:"outputDataItem",type:"DataOutput",xml:{serialize:"property"}},{name:"complexBehaviorDefinition",type:"ComplexBehaviorDefinition",isMany:!0},{name:"completionCondition",type:"Expression",xml:{serialize:"xsi:type"}},{name:"oneBehaviorEventRef",type:"EventDefinition",isAttr:!0,isReference:!0},{name:"noneBehaviorEventRef",type:"EventDefinition",isAttr:!0,isReference:!0}]},{name:"StandardLoopCharacteristics",superClass:["LoopCharacteristics"],properties:[{name:"testBefore",default:!1,isAttr:!0,type:"Boolean"},{name:"loopCondition",type:"Expression",xml:{serialize:"xsi:type"}},{name:"loopMaximum",type:"Integer",isAttr:!0}]},{name:"CallActivity",superClass:["Activity","InteractionNode"],properties:[{name:"calledElement",type:"String",isAttr:!0}]},{name:"Task",superClass:["Activity","InteractionNode"]},{name:"SendTask",superClass:["Task"],properties:[{name:"implementation",isAttr:!0,type:"String"},{name:"operationRef",type:"Operation",isAttr:!0,isReference:!0},{name:"messageRef",type:"Message",isAttr:!0,isReference:!0}]},{name:"ReceiveTask",superClass:["Task"],properties:[{name:"implementation",isAttr:!0,type:"String"},{name:"instantiate",default:!1,isAttr:!0,type:"Boolean"},{name:"operationRef",type:"Operation",isAttr:!0,isReference:!0},{name:"messageRef",type:"Message",isAttr:!0,isReference:!0}]},{name:"ScriptTask",superClass:["Task"],properties:[{name:"scriptFormat",isAttr:!0,type:"String"},{name:"script",type:"String"}]},{name:"BusinessRuleTask",superClass:["Task"],properties:[{name:"implementation",isAttr:!0,type:"String"}]},{name:"AdHocSubProcess",superClass:["SubProcess"],properties:[{name:"completionCondition",type:"Expression",xml:{serialize:"xsi:type"}},{name:"ordering",type:"AdHocOrdering",isAttr:!0},{name:"cancelRemainingInstances",default:!0,isAttr:!0,type:"Boolean"}]},{name:"Transaction",superClass:["SubProcess"],properties:[{name:"protocol",isAttr:!0,type:"String"},{name:"method",isAttr:!0,type:"String"}]},{name:"GlobalScriptTask",superClass:["GlobalTask"],properties:[{name:"scriptLanguage",isAttr:!0,type:"String"},{name:"script",isAttr:!0,type:"String"}]},{name:"GlobalBusinessRuleTask",superClass:["GlobalTask"],properties:[{name:"implementation",isAttr:!0,type:"String"}]},{name:"ComplexBehaviorDefinition",superClass:["BaseElement"],properties:[{name:"condition",type:"FormalExpression"},{name:"event",type:"ImplicitThrowEvent"}]},{name:"ResourceRole",superClass:["BaseElement"],properties:[{name:"resourceRef",type:"Resource",isReference:!0},{name:"resourceParameterBindings",type:"ResourceParameterBinding",isMany:!0},{name:"resourceAssignmentExpression",type:"ResourceAssignmentExpression"},{name:"name",isAttr:!0,type:"String"}]},{name:"ResourceParameterBinding",properties:[{name:"expression",type:"Expression",xml:{serialize:"xsi:type"}},{name:"parameterRef",type:"ResourceParameter",isAttr:!0,isReference:!0}],superClass:["BaseElement"]},{name:"ResourceAssignmentExpression",properties:[{name:"expression",type:"Expression",xml:{serialize:"xsi:type"}}],superClass:["BaseElement"]},{name:"Import",properties:[{name:"importType",isAttr:!0,type:"String"},{name:"location",isAttr:!0,type:"String"},{name:"namespace",isAttr:!0,type:"String"}]},{name:"Definitions",superClass:["BaseElement"],properties:[{name:"name",isAttr:!0,type:"String"},{name:"targetNamespace",isAttr:!0,type:"String"},{name:"expressionLanguage",default:"http://www.w3.org/1999/XPath",isAttr:!0,type:"String"},{name:"typeLanguage",default:"http://www.w3.org/2001/XMLSchema",isAttr:!0,type:"String"},{name:"imports",type:"Import",isMany:!0},{name:"extensions",type:"Extension",isMany:!0},{name:"rootElements",type:"RootElement",isMany:!0},{name:"diagrams",isMany:!0,type:"bpmndi:BPMNDiagram"},{name:"exporter",isAttr:!0,type:"String"},{name:"relationships",type:"Relationship",isMany:!0},{name:"exporterVersion",isAttr:!0,type:"String"}]}],enumerations:[{name:"ProcessType",literalValues:[{name:"None"},{name:"Public"},{name:"Private"}]},{name:"GatewayDirection",literalValues:[{name:"Unspecified"},{name:"Converging"},{name:"Diverging"},{name:"Mixed"}]},{name:"EventBasedGatewayType",literalValues:[{name:"Parallel"},{name:"Exclusive"}]},{name:"RelationshipDirection",literalValues:[{name:"None"},{name:"Forward"},{name:"Backward"},{name:"Both"}]},{name:"ItemKind",literalValues:[{name:"Physical"},{name:"Information"}]},{name:"ChoreographyLoopType",literalValues:[{name:"None"},{name:"Standard"},{name:"MultiInstanceSequential"},{name:"MultiInstanceParallel"}]},{name:"AssociationDirection",literalValues:[{name:"None"},{name:"One"},{name:"Both"}]},{name:"MultiInstanceBehavior",literalValues:[{name:"None"},{name:"One"},{name:"All"},{name:"Complex"}]},{name:"AdHocOrdering",literalValues:[{name:"Parallel"},{name:"Sequential"}]}],xml:{tagAlias:"lowerCase",typePrefix:"t"}},bpmndi:{name:"BPMNDI",uri:"http://www.omg.org/spec/BPMN/20100524/DI",prefix:"bpmndi",types:[{name:"BPMNDiagram",properties:[{name:"plane",type:"BPMNPlane",redefines:"di:Diagram#rootElement"},{name:"labelStyle",type:"BPMNLabelStyle",isMany:!0}],superClass:["di:Diagram"]},{name:"BPMNPlane",properties:[{name:"bpmnElement",isAttr:!0,isReference:!0,type:"bpmn:BaseElement",redefines:"di:DiagramElement#modelElement"}],superClass:["di:Plane"]},{name:"BPMNShape",properties:[{name:"bpmnElement",isAttr:!0,isReference:!0,type:"bpmn:BaseElement",redefines:"di:DiagramElement#modelElement"},{name:"isHorizontal",isAttr:!0,type:"Boolean"},{name:"isExpanded",isAttr:!0,type:"Boolean"},{name:"isMarkerVisible",isAttr:!0,type:"Boolean"},{name:"label",type:"BPMNLabel"},{name:"isMessageVisible",isAttr:!0,type:"Boolean"},{name:"participantBandKind",type:"ParticipantBandKind",isAttr:!0},{name:"choreographyActivityShape",type:"BPMNShape",isAttr:!0,isReference:!0}],superClass:["di:LabeledShape"]},{name:"BPMNEdge",properties:[{name:"label",type:"BPMNLabel"},{name:"bpmnElement",isAttr:!0,isReference:!0,type:"bpmn:BaseElement",redefines:"di:DiagramElement#modelElement"},{name:"sourceElement",isAttr:!0,isReference:!0,type:"di:DiagramElement",redefines:"di:Edge#source"},{name:"targetElement",isAttr:!0,isReference:!0,type:"di:DiagramElement",redefines:"di:Edge#target"},{name:"messageVisibleKind",type:"MessageVisibleKind",isAttr:!0,default:"initiating"}],superClass:["di:LabeledEdge"]},{name:"BPMNLabel",properties:[{name:"labelStyle",type:"BPMNLabelStyle",isAttr:!0,isReference:!0,redefines:"di:DiagramElement#style"}],superClass:["di:Label"]},{name:"BPMNLabelStyle",properties:[{name:"font",type:"dc:Font"}],superClass:["di:Style"]}],enumerations:[{name:"ParticipantBandKind",literalValues:[{name:"top_initiating"},{name:"middle_initiating"},{name:"bottom_initiating"},{name:"top_non_initiating"},{name:"middle_non_initiating"},{name:"bottom_non_initiating"}]},{name:"MessageVisibleKind",literalValues:[{name:"initiating"},{name:"non_initiating"}]}],associations:[]},dc:{name:"DC",uri:"http://www.omg.org/spec/DD/20100524/DC",prefix:"dc",types:[{name:"Boolean"},{name:"Integer"},{name:"Real"},{name:"String"},{name:"Font",properties:[{name:"name",type:"String",isAttr:!0},{name:"size",type:"Real",isAttr:!0},{name:"isBold",type:"Boolean",isAttr:!0},{name:"isItalic",type:"Boolean",isAttr:!0},{name:"isUnderline",type:"Boolean",isAttr:!0},{name:"isStrikeThrough",type:"Boolean",isAttr:!0}]},{name:"Point",properties:[{name:"x",type:"Real",default:"0",isAttr:!0},{name:"y",type:"Real",default:"0",isAttr:!0}]},{name:"Bounds",properties:[{name:"x",type:"Real",default:"0",isAttr:!0},{name:"y",type:"Real",default:"0",isAttr:!0},{name:"width",type:"Real",isAttr:!0},{name:"height",type:"Real",isAttr:!0}]}],associations:[]},di:{name:"DI",uri:"http://www.omg.org/spec/DD/20100524/DI",prefix:"di",types:[{name:"DiagramElement",isAbstract:!0,properties:[{name:"id",isAttr:!0,isId:!0,type:"String"},{name:"extension",type:"Extension"},{name:"owningDiagram",type:"Diagram",isReadOnly:!0,isVirtual:!0,isReference:!0},{name:"owningElement",type:"DiagramElement",isReadOnly:!0,isVirtual:!0,isReference:!0},{name:"modelElement",isReadOnly:!0,isVirtual:!0,isReference:!0,type:"Element"},{name:"style",type:"Style",isReadOnly:!0,isVirtual:!0,isReference:!0},{name:"ownedElement",type:"DiagramElement",isReadOnly:!0,isMany:!0,isVirtual:!0}]},{name:"Node",isAbstract:!0,superClass:["DiagramElement"]},{name:"Edge",isAbstract:!0,superClass:["DiagramElement"],properties:[{name:"source",type:"DiagramElement",isReadOnly:!0,isVirtual:!0,isReference:!0},{name:"target",type:"DiagramElement",isReadOnly:!0,isVirtual:!0,isReference:!0},{name:"waypoint",isUnique:!1,isMany:!0,type:"dc:Point",xml:{serialize:"xsi:type"}}]},{name:"Diagram",isAbstract:!0,properties:[{name:"id",isAttr:!0,isId:!0,type:"String"},{name:"rootElement",type:"DiagramElement",isReadOnly:!0,isVirtual:!0},{name:"name",isAttr:!0,type:"String"},{name:"documentation",isAttr:!0,type:"String"},{name:"resolution",isAttr:!0,type:"Real"},{name:"ownedStyle",type:"Style",isReadOnly:!0,isMany:!0,isVirtual:!0}]},{name:"Shape",isAbstract:!0,superClass:["Node"],properties:[{name:"bounds",type:"dc:Bounds"}]},{name:"Plane",isAbstract:!0,superClass:["Node"],properties:[{name:"planeElement",type:"DiagramElement",subsettedProperty:"DiagramElement-ownedElement",isMany:!0}]},{name:"LabeledEdge",isAbstract:!0,superClass:["Edge"],properties:[{name:"ownedLabel",type:"Label",isReadOnly:!0,subsettedProperty:"DiagramElement-ownedElement",isMany:!0,isVirtual:!0}]},{name:"LabeledShape",isAbstract:!0,superClass:["Shape"],properties:[{name:"ownedLabel",type:"Label",isReadOnly:!0,subsettedProperty:"DiagramElement-ownedElement",isMany:!0,isVirtual:!0}]},{name:"Label",isAbstract:!0,superClass:["Node"],properties:[{name:"bounds",type:"dc:Bounds"}]},{name:"Style",isAbstract:!0,properties:[{name:"id",isAttr:!0,isId:!0,type:"String"}]},{name:"Extension",properties:[{name:"values",isMany:!0,type:"Element"}]}],associations:[],xml:{tagAlias:"lowerCase"}},bioc:{name:"bpmn.io colors for BPMN",uri:"http://bpmn.io/schema/bpmn/biocolor/1.0",prefix:"bioc",types:[{name:"ColoredShape",extends:["bpmndi:BPMNShape"],properties:[{name:"stroke",isAttr:!0,type:"String"},{name:"fill",isAttr:!0,type:"String"}]},{name:"ColoredEdge",extends:["bpmndi:BPMNEdge"],properties:[{name:"stroke",isAttr:!0,type:"String"},{name:"fill",isAttr:!0,type:"String"}]}],enumerations:[],associations:[]},color:{name:"BPMN in Color",uri:"http://www.omg.org/spec/BPMN/non-normative/color/1.0",prefix:"color",types:[{name:"ColoredLabel",extends:["bpmndi:BPMNLabel"],properties:[{name:"color",isAttr:!0,type:"String"}]},{name:"ColoredShape",extends:["bpmndi:BPMNShape"],properties:[{name:"background-color",isAttr:!0,type:"String"},{name:"border-color",isAttr:!0,type:"String"}]},{name:"ColoredEdge",extends:["bpmndi:BPMNEdge"],properties:[{name:"border-color",isAttr:!0,type:"String"}]}],enumerations:[],associations:[]}};function qa(e,t){return new $a(ce({},ja,e),t)}function Ha(e){return e?"<"+e.$type+(e.id?' id="'+e.id:"")+'" />':""}var Va="Tried to access di from the businessObject. The di is available through the diagram element only. For more information, see https://github.com/bpmn-io/bpmn-js/issues/1472";function Wa(e){$(e,"di")||Object.defineProperty(e,"di",{enumerable:!1,get:function(){throw new Error(Va)}})}function Ga(e,t){return e.$instanceOf(t)}function Qa(e){var t={},n=[],i={};function o(e,t){return function(n){e(n,t)}}function r(e){t[e.id]=e}function s(t,n){try{var o=i[t.id]&&function(t,n){if(t.gfx)throw new Error(`already rendered ${Ha(t)}`);return e.element(t,i[t.id],n)}(t,n);return r(t),o}catch(e){a(e.message,{element:t,error:e}),console.error(`failed to import ${Ha(t)}`,e)}}function a(t,n){e.error(t,n)}var l=this.registerDi=function(e){var t=e.bpmnElement;t?i[t.id]?a(`multiple DI elements defined for ${Ha(t)}`,{element:t}):(i[t.id]=e,Wa(t)):a(`no bpmnElement referenced in ${Ha(e)}`,{element:e})};function c(e){l(e)}this.handleDefinitions=function(r,s){var d=r.diagrams;if(s&&-1===d.indexOf(s))throw new Error("diagram not part of ");if(!s&&d&&d.length&&(s=d[0]),!s)throw new Error("no diagram to display");i={},function(e){var t;t=e.plane,l(t),V(t.planeElement,c)}(s);var f=s.plane;if(!f)throw new Error(`no plane for ${Ha(s)}`);var m=f.bpmnElement;if(!m){if(m=function(e){return j(e.rootElements,(function(e){return Ga(e,"bpmn:Process")||Ga(e,"bpmn:Collaboration")}))}(r),!m)throw new Error("no process or collaboration to display");a(`correcting missing bpmnElement on ${Ha(f)} to ${Ha(m)}`),f.bpmnElement=m,l(f)}var g,y,b=function(t,n){return e.root(t,i[t.id],n)}(m,f);if(Ga(m,"bpmn:Process")||Ga(m,"bpmn:SubProcess"))h(m,b);else{if(!Ga(m,"bpmn:Collaboration"))throw new Error(`unsupported bpmnElement for ${Ha(f)}: ${Ha(m)}`);y=b,V((g=m).participants,o(k,y)),v(g.artifacts,y),n.push((function(){!function(e,t){V(e,o(p,t))}(g.messageFlows,y)})),function(e,n){H(e,(function(e){return!t[e.id]&&Ga(e,"bpmn:Process")&&e.laneSets})).forEach(o(h,n))}(r.rootElements,b)}u(n)};var u=this.handleDeferred=function(){for(;n.length;)n.shift()()};function h(e,t){E(e,t),y(e.ioSpecification,t),v(e.artifacts,t),r(e)}function p(e,t){s(e,t)}function d(e,t){s(e,t)}function f(e,t){s(e,t)}function m(e,t){s(e,t)}function g(e,t){s(e,t)}function v(e,t){V(e,(function(e){Ga(e,"bpmn:Association")?n.push((function(){g(e,t)})):g(e,t)}))}function y(e,t){e&&(V(e.dataInputs,o(f,t)),V(e.dataOutputs,o(m,t)))}var b=this.handleSubProcess=function(e,t){E(e,t),v(e.artifacts,t)};function w(e,t){var i=s(e,t);Ga(e,"bpmn:SubProcess")&&b(e,i||t),Ga(e,"bpmn:Activity")&&y(e.ioSpecification,t),n.push((function(){V(e.dataInputAssociations,o(d,t)),V(e.dataOutputAssociations,o(d,t))}))}function x(e,t){n.push((function(){var n=s(e,t);e.childLaneSet&&_(e.childLaneSet,n||t),function(e){V(e.flowNodeRef,(function(t){var n=t.get("lanes");n&&n.push(e)}))}(e)}))}function _(e,t){V(e.lanes,o(x,t))}function E(e,t){!function(e,t){V(e,(function(e){Ga(e,"bpmn:SequenceFlow")?n.push((function(){!function(e,t){s(e,t)}(e,t)})):Ga(e,"bpmn:BoundaryEvent")?n.unshift((function(){w(e,t)})):Ga(e,"bpmn:FlowNode")?w(e,t):Ga(e,"bpmn:DataObject")||(Ga(e,"bpmn:DataStoreReference")||Ga(e,"bpmn:DataObjectReference")?function(e,t){s(e,t)}(e,t):a(`unrecognized flowElement ${Ha(e)} in context ${Ha(t&&t.businessObject)}`,{element:e,context:t}))}))}(e.flowElements,t),e.laneSets&&function(e,t){V(e,o(_,t))}(e.laneSets,t)}function k(e,t){var n=s(e,t),i=e.processRef;i&&h(i,n||t)}}function Xa(e,t,n){var i,o,r,s=[];function a(e,t){var n=new Qa({root:function(e,t){return i.add(e,t)},element:function(e,t,n){return i.add(e,t,n)},error:function(e,t){s.push({message:e,context:t})}});t=t||e.diagrams&&e.diagrams[0];var o=function(e,t){if(t&&t.plane){var n,i=t.plane.bpmnElement,o=i;de(i,"bpmn:Process")||de(i,"bpmn:Collaboration")||(o=function(e){for(var t=e;t;){if(de(t,"bpmn:Process"))return t;t=t.$parent}}(i)),n=de(o,"bpmn:Collaboration")?o:j(e.rootElements,(function(e){if(de(e,"bpmn:Collaboration"))return j(e.participants,(function(e){return e.processRef===o}))}));var r=[o];n&&(r=U(n.participants,(function(e){return e.processRef}))).push(n);var s=Ua(r),a=[t],l=[i];return V(e.diagrams,(function(e){if(e.plane){var t=e.plane.bpmnElement;-1!==s.indexOf(t)&&-1===l.indexOf(t)&&(a.push(e),l.push(t))}})),a}}(e,t);if(!o)throw new Error("no diagram to display");V(o,(function(t){n.handleDefinitions(e,t)}));var a=t.plane.bpmnElement.id;r.setRootElement(r.findRoot(a+"_plane")||r.findRoot(a))}return new Promise((function(l,c){try{return i=e.get("bpmnImporter"),o=e.get("eventBus"),r=e.get("canvas"),o.fire("import.render.start",{definitions:t}),a(t,n),o.fire("import.render.complete",{error:void 0,warnings:s}),l({warnings:s})}catch(e){return e.warnings=s,c(e)}}))}function Ua(e){var t=[];return V(e,(function(e){e&&(t.push(e),t=t.concat(Ua(e.flowElements)))})),t}var Ya,Ka='',Za={verticalAlign:"middle"},Ja={color:"#404040"},el={zIndex:"1001",position:"fixed",top:"0",left:"0",right:"0",bottom:"0"},tl={width:"100%",height:"100%",background:"rgba(40,40,40,0.2)"},nl={position:"absolute",left:"50%",top:"40%",transform:"translate(-50%)",width:"260px",padding:"10px",background:"white",boxShadow:"0 1px 4px rgba(0,0,0,0.3)",fontFamily:"Helvetica, Arial, sans-serif",fontSize:"14px",display:"flex",lineHeight:"1.3"},il='
'+Ka+'Web-based tooling for BPMN, DMN and forms powered by bpmn.io.
';function ol(e){e=ce({},sl,e),this._moddle=this._createModdle(e),this._container=this._createContainer(e),function(e){const t=Kt(''+Ka+"");Rt(Jt("svg",t),Za),Rt(t,Ja,{position:"absolute",bottom:"15px",right:"15px",zIndex:"100"}),e.appendChild(t),Gt.bind(t,"click",(function(e){Ya||(Rt(Ya=Kt(il),el),Rt(Jt("svg",Ya),Za),Rt(Jt(".backdrop",Ya),tl),Rt(Jt(".notice",Ya),nl),Rt(Jt(".link",Ya),Ja,{margin:"15px 20px 15px 10px",alignSelf:"center"}),Xt.bind(Ya,".backdrop","click",(function(e){document.body.removeChild(Ya)}))),document.body.appendChild(Ya),e.preventDefault()}))}(this._container),this._init(this._container,this._moddle,e)}function rl(e,t){return e.warnings=t,e}lt(ol,Os),ol.prototype.importXML=async function(e,t){const n=this;let i=[];try{let r;e=this._emit("import.parse.start",{xml:e})||e;try{r=await this._moddle.fromXML(e,"bpmn:Definitions")}catch(e){throw this._emit("import.parse.complete",{error:e}),e}let s=r.rootElement;const a=r.references,l=r.warnings,c=r.elementsById;i=i.concat(l),s=this._emit("import.parse.complete",(o={error:null,definitions:s,elementsById:c,references:a,warnings:i},n.get("eventBus").createEvent(o)))||s;const u=await this.importDefinitions(s,t);return i=i.concat(u.warnings),this._emit("import.done",{error:null,warnings:i}),{warnings:i}}catch(e){let t=e;throw i=i.concat(t.warnings||[]),rl(t,i),t=function(e){const t=/unparsable content <([^>]+)> detected([\s\S]*)$/.exec(e.message);return t&&(e.message="unparsable content <"+t[1]+"> detected; this may indicate an invalid BPMN 2.0 diagram file"+t[2]),e}(t),this._emit("import.done",{error:t,warnings:t.warnings}),t}var o},ol.prototype.importDefinitions=async function(e,t){return this._setDefinitions(e),{warnings:(await this.open(t)).warnings}},ol.prototype.open=async function(e){const t=this._definitions;let n=e;if(!t){const e=new Error("no XML imported");throw rl(e,[]),e}if("string"==typeof e&&(n=function(e,t){return t&&j(e.diagrams,(function(e){return e.id===t}))||null}(t,e),!n)){const t=new Error("BPMNDiagram <"+e+"> not found");throw rl(t,[]),t}try{this.clear()}catch(e){throw rl(e,[]),e}const{warnings:i}=await Xa(this,t,n);return{warnings:i}},ol.prototype.saveXML=async function(e){e=e||{};let t,n,i=this._definitions;try{if(!i)throw new Error("no definitions loaded");i=this._emit("saveXML.start",{definitions:i})||i,n=(await this._moddle.toXML(i,e)).xml,n=this._emit("saveXML.serialized",{xml:n})||n}catch(e){t=e}const o=t?{error:t}:{xml:n};if(this._emit("saveXML.done",o),t)throw t;return o},ol.prototype.saveSVG=async function(){let e,t;this._emit("saveSVG.start");try{const t=this.get("canvas"),n=t.getActiveLayer(),i=Jt(":scope > defs",t._svg),o=On(n),r=i?""+On(i)+"":"",s=n.getBBox();e='\n\x3c!-- created with bpmn-js / http://bpmn.io --\x3e\n\n'+r+o+""}catch(e){t=e}if(this._emit("saveSVG.done",{error:t,svg:e}),t)throw t;return{svg:e}},ol.prototype._setDefinitions=function(e){this._definitions=e},ol.prototype.getModules=function(){return this._modules},ol.prototype.clear=function(){this.getDefinitions()&&Os.prototype.clear.call(this)},ol.prototype.destroy=function(){Os.prototype.destroy.call(this),tn(this._container)},ol.prototype.on=function(e,t,n,i){return this.get("eventBus").on(e,t,n,i)},ol.prototype.off=function(e,t){this.get("eventBus").off(e,t)},ol.prototype.attachTo=function(e){if(!e)throw new Error("parentNode required");this.detach(),e.get&&e.constructor.prototype.jquery&&(e=e.get(0)),"string"==typeof e&&(e=Jt(e)),e.appendChild(this._container),this._emit("attach",{}),this.get("canvas").resized()},ol.prototype.getDefinitions=function(){return this._definitions},ol.prototype.detach=function(){const e=this._container,t=e.parentNode;t&&(this._emit("detach",{}),t.removeChild(e))},ol.prototype._init=function(e,t,n){const i=n.modules||this.getModules(n),o=n.additionalModules||[],r=[].concat([{bpmnjs:["value",this],moddle:["value",t]}],i,o),s=ce(pe(n,["additionalModules"]),{canvas:ce({},n.canvas,{container:e}),modules:r});Os.call(this,s),n&&n.container&&this.attachTo(n.container)},ol.prototype._emit=function(e,t){return this.get("eventBus").fire(e,t)},ol.prototype._createContainer=function(e){const t=Kt('
');return Rt(t,{width:al(e.width),height:al(e.height),position:e.position}),t},ol.prototype._createModdle=function(e){return new qa(ce({},this._moddleExtensions,e.moddleExtensions))},ol.prototype._modules=[];const sl={width:"100%",height:"100%",position:"relative"};function al(e){return e+(z(e)?"px":"")}function ll(e){ol.call(this,e),this.on("import.parse.complete",(function(e){e.error||this._collectIds(e.definitions,e.elementsById)}),this),this.on("diagram.destroy",(function(){this.get("moddle").ids.clear()}),this)}function cl(e,t){return!de(e,"bpmn:CallActivity")&&(de(e,"bpmn:SubProcess")?!(!(t=t||ge(e))||!de(t,"bpmndi:BPMNPlane"))||t&&!!t.isExpanded:!de(e,"bpmn:Participant")||!!me(e).processRef)}function ul(e){if(de(e,"bpmn:Participant")||de(e,"bpmn:Lane")){var t=ge(e).isHorizontal;return void 0===t||t}}function hl(e){return e&&!1!==me(e).isInterrupting}function pl(e){return e&&!!me(e).triggeredByEvent}function dl(e,t){return X(me(e).eventDefinitions,(function(e){return de(e,t)}))}lt(ll,ol),ll.prototype._createModdle=function(e){var t=ol.prototype._createModdle.call(this,e);return t.ids=new o([32,36,1]),t},ll.prototype._collectIds=function(e,t){var n,i=e.$model.ids;for(n in i.clear(),t)i.claim(n,t[n])};var fl={width:90,height:20},ml=15;function gl(e){return de(e,"bpmn:Event")||de(e,"bpmn:Gateway")||de(e,"bpmn:DataStoreReference")||de(e,"bpmn:DataObjectReference")||de(e,"bpmn:DataInput")||de(e,"bpmn:DataOutput")||de(e,"bpmn:SequenceFlow")||de(e,"bpmn:MessageFlow")||de(e,"bpmn:Group")}function vl(e){return $r(e.label)}function yl(e){return e.waypoints?function(e){var t=e.length/2-1,n=e[Math.floor(t)],i=e[Math.ceil(t+.01)],o=function(e){var t=e.length/2-1,n=e[Math.floor(t)],i=e[Math.ceil(t+.01)];return{x:n.x+(i.x-n.x)/2,y:n.y+(i.y-n.y)/2}}(e),r=Math.atan((i.y-n.y)/(i.x-n.x)),s=o.x,a=o.y;return Math.abs(r) defs",s);l||on(s,l=vn("defs")),on(l,a)}function d(e,t,n,i){var o=Al.nextPrefixed("marker-");return function(e,t,n,i,o){"sequenceflow-end"===n&&p(t,{element:vn("path",{d:"M 1 5 L 11 10 L 1 15 Z",...u({fill:o,stroke:o,strokeWidth:1})}),ref:{x:11,y:10},scale:.5,parentGfx:e}),"messageflow-start"===n&&p(t,{element:vn("circle",{cx:6,cy:6,r:3.5,...u({fill:i,stroke:o,strokeWidth:1,strokeDasharray:[1e4,1]})}),ref:{x:6,y:6},parentGfx:e}),"messageflow-end"===n&&p(t,{element:vn("path",{d:"m 1 5 l 0 -3 l 7 3 l -7 3 z",...u({fill:i,stroke:o,strokeWidth:1,strokeDasharray:[1e4,1]})}),ref:{x:8.5,y:5},parentGfx:e}),"association-start"===n&&p(t,{element:vn("path",{d:"M 11 5 L 1 10 L 11 15",...h({fill:"none",stroke:o,strokeWidth:1.5,strokeDasharray:[1e4,1]})}),ref:{x:1,y:10},scale:.5,parentGfx:e}),"association-end"===n&&p(t,{element:vn("path",{d:"M 1 5 L 11 10 L 1 15",...h({fill:"none",stroke:o,strokeWidth:1.5,strokeDasharray:[1e4,1]})}),ref:{x:11,y:10},scale:.5,parentGfx:e}),"conditional-flow-marker"===n&&p(t,{element:vn("path",{d:"M 0 10 L 8 6 L 16 10 L 8 14 Z",...u({fill:i,stroke:o})}),ref:{x:-1,y:10},scale:.5,parentGfx:e}),"conditional-default-flow-marker"===n&&p(t,{element:vn("path",{d:"M 6 4 L 10 16",...u({stroke:o,fill:"none"})}),ref:{x:0,y:10},scale:.5,parentGfx:e})}(e,o,t,n,i),"url(#"+o+")"}function f(e,t,n,i,o={}){N(i)&&(o=i,i=0),i=i||0,o=u(o);var r=vn("circle",{cx:t/2,cy:n/2,r:Math.round((t+n)/4-i),...o});return on(e,r),r}function m(e,t,n,i,o,r){N(o)&&(r=o,o=0),o=o||0,r=u(r);var s=vn("rect",{x:o,y:o,width:t-2*o,height:n-2*o,rx:i,ry:i,...r});return on(e,s),s}function g(e,t,n,i){var o=Io(t,n=h(n),i);return on(e,o),o}function v(e,t,n){return g(e,t,n,5)}function y(e,t,n){n=h(n);var i=vn("path",{...n,d:t});return on(e,i),i}function b(e,t,n,i){return y(t,n,ce({"data-marker":e},i))}function w(e){return I[e]}function x(e){return function(t,n,i){return w(e)(t,n,i)}}function _(e,t,n={}){var o,r=me(e),s="bpmn:IntermediateThrowEvent"===(o=r).$type||"bpmn:EndEvent"===o.$type;return r.get("eventDefinitions")&&r.get("eventDefinitions").length>1?r.get("parallelMultiple")?function(e,t,n={}){return y(e,i.getScaledPath("EVENT_PARALLEL_MULTIPLE",{xScaleFactor:1.2,yScaleFactor:1.2,containerWidth:t.width,containerHeight:t.height,position:{mx:.458,my:.194}}),{fill:kl(t,a,n.fill),stroke:Sl(t,l,n.stroke),strokeWidth:1})}(t,e,n):function(e,t,n={},o){return y(e,i.getScaledPath("EVENT_MULTIPLE",{xScaleFactor:1.1,yScaleFactor:1.1,containerWidth:t.width,containerHeight:t.height,position:{mx:.222,my:.36}}),{fill:o?Sl(t,l,n.stroke):kl(t,a,n.fill),strokeWidth:1})}(t,e,n,s):El(r,"bpmn:MessageEventDefinition")?function(e,t,n={},o){return y(e,i.getScaledPath("EVENT_MESSAGE",{xScaleFactor:.9,yScaleFactor:.9,containerWidth:t.width,containerHeight:t.height,position:{mx:.235,my:.315}}),{fill:o?Sl(t,l,n.stroke):kl(t,a,n.fill),stroke:o?kl(t,a,n.fill):Sl(t,l,n.stroke),strokeWidth:1})}(t,e,n,s):El(r,"bpmn:TimerEventDefinition")?function(e,t,n={}){var o=f(e,t.width,t.height,.2*t.height,{fill:kl(t,a,n.fill),stroke:Sl(t,l,n.stroke),strokeWidth:2});y(e,i.getScaledPath("EVENT_TIMER_WH",{xScaleFactor:.75,yScaleFactor:.75,containerWidth:t.width,containerHeight:t.height,position:{mx:.5,my:.5}}),{stroke:Sl(t,l,n.stroke),strokeWidth:2});for(var r=0;r<12;r++){var s=i.getScaledPath("EVENT_TIMER_LINE",{xScaleFactor:.75,yScaleFactor:.75,containerWidth:t.width,containerHeight:t.height,position:{mx:.5,my:.5}}),c=t.width/2,u=t.height/2;y(e,s,{strokeWidth:1,stroke:Sl(t,l,n.stroke),transform:"rotate("+30*r+","+u+","+c+")"})}return o}(t,e,n):El(r,"bpmn:ConditionalEventDefinition")?function(e,t,n={}){return y(e,i.getScaledPath("EVENT_CONDITIONAL",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:.5,my:.222}}),{fill:kl(t,a,n.fill),stroke:Sl(t,l,n.stroke),strokeWidth:1})}(t,e,n):El(r,"bpmn:SignalEventDefinition")?function(e,t,n={},o){return y(e,i.getScaledPath("EVENT_SIGNAL",{xScaleFactor:.9,yScaleFactor:.9,containerWidth:t.width,containerHeight:t.height,position:{mx:.5,my:.2}}),{strokeWidth:1,fill:o?Sl(t,l,n.stroke):kl(t,a,n.fill),stroke:Sl(t,l,n.stroke)})}(t,e,n,s):El(r,"bpmn:EscalationEventDefinition")?function(e,t,n={},o){return y(e,i.getScaledPath("EVENT_ESCALATION",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:.5,my:.2}}),{fill:o?Sl(t,l,n.stroke):kl(t,a,n.fill),stroke:Sl(t,l,n.stroke),strokeWidth:1})}(t,e,n,s):El(r,"bpmn:LinkEventDefinition")?function(e,t,n={},o){return y(e,i.getScaledPath("EVENT_LINK",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:.57,my:.263}}),{fill:o?Sl(t,l,n.stroke):kl(t,a,n.fill),stroke:Sl(t,l,n.stroke),strokeWidth:1})}(t,e,n,s):El(r,"bpmn:ErrorEventDefinition")?function(e,t,n={},o){return y(e,i.getScaledPath("EVENT_ERROR",{xScaleFactor:1.1,yScaleFactor:1.1,containerWidth:t.width,containerHeight:t.height,position:{mx:.2,my:.722}}),{fill:o?Sl(t,l,n.stroke):kl(t,a,n.fill),stroke:Sl(t,l,n.stroke),strokeWidth:1})}(t,e,n,s):El(r,"bpmn:CancelEventDefinition")?function(e,t,n={},o){var r=y(e,i.getScaledPath("EVENT_CANCEL_45",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:.638,my:-.055}}),{fill:o?Sl(t,l,n.stroke):"none",stroke:Sl(t,l,n.stroke),strokeWidth:1});return Es(r,45),r}(t,e,n,s):El(r,"bpmn:CompensateEventDefinition")?function(e,t,n={},o){return y(e,i.getScaledPath("EVENT_COMPENSATION",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:.22,my:.5}}),{fill:o?Sl(t,l,n.stroke):kl(t,a,n.fill),stroke:Sl(t,l,n.stroke),strokeWidth:1})}(t,e,n,s):El(r,"bpmn:TerminateEventDefinition")?function(e,t,n={}){return f(e,t.width,t.height,8,{fill:Sl(t,l,n.stroke),stroke:Sl(t,l,n.stroke),strokeWidth:4})}(t,e,n):null}var E={ParticipantMultiplicityMarker:function(e,t,n={}){var o=Pl(t,n),r=Ml(t,n);b("participant-multiplicity",e,i.getScaledPath("MARKER_PARALLEL",{xScaleFactor:1,yScaleFactor:1,containerWidth:o,containerHeight:r,position:{mx:(o/2-6)/o,my:(r-15)/r}}),{strokeWidth:2,fill:kl(t,a,n.fill),stroke:Sl(t,l,n.stroke)})},SubProcessMarker:function(e,t,n={}){_s(m(e,14,14,0,{strokeWidth:1,fill:kl(t,a,n.fill),stroke:Sl(t,l,n.stroke)}),t.width/2-7.5,t.height-20),b("sub-process",e,i.getScaledPath("MARKER_SUB_PROCESS",{xScaleFactor:1.5,yScaleFactor:1.5,containerWidth:t.width,containerHeight:t.height,position:{mx:(t.width/2-7.5)/t.width,my:(t.height-20)/t.height}}),{fill:kl(t,a,n.fill),stroke:Sl(t,l,n.stroke)})},ParallelMarker:function(e,t,n){var o=Pl(t,n),r=Ml(t,n);b("parallel",e,i.getScaledPath("MARKER_PARALLEL",{xScaleFactor:1,yScaleFactor:1,containerWidth:o,containerHeight:r,position:{mx:(o/2+n.parallel)/o,my:(r-20)/r}}),{fill:kl(t,a,n.fill),stroke:Sl(t,l,n.stroke)})},SequentialMarker:function(e,t,n){b("sequential",e,i.getScaledPath("MARKER_SEQUENTIAL",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:(t.width/2+n.seq)/t.width,my:(t.height-19)/t.height}}),{fill:kl(t,a,n.fill),stroke:Sl(t,l,n.stroke)})},CompensationMarker:function(e,t,n){b("compensation",e,i.getScaledPath("MARKER_COMPENSATION",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:(t.width/2+n.compensation)/t.width,my:(t.height-13)/t.height}}),{strokeWidth:1,fill:kl(t,a,n.fill),stroke:Sl(t,l,n.stroke)})},LoopMarker:function(e,t,n){var o=Pl(t,n),r=Ml(t,n);b("loop",e,i.getScaledPath("MARKER_LOOP",{xScaleFactor:1,yScaleFactor:1,containerWidth:o,containerHeight:r,position:{mx:(o/2+n.loop)/o,my:(r-7)/r}}),{strokeWidth:1.5,fill:"none",stroke:Sl(t,l,n.stroke),strokeMiterlimit:.5})},AdhocMarker:function(e,t,n){var o=Pl(t,n),r=Ml(t,n);b("adhoc",e,i.getScaledPath("MARKER_ADHOC",{xScaleFactor:1,yScaleFactor:1,containerWidth:o,containerHeight:r,position:{mx:(o/2+n.adhoc)/o,my:(r-15)/r}}),{strokeWidth:1,fill:Sl(t,l,n.stroke),stroke:Sl(t,l,n.stroke)})}};function k(e,t,n,i){E[e](t,n,i)}function S(e,t,n,i={}){i={fill:i.fill,stroke:i.stroke,width:Pl(t,i),height:Ml(t,i)};var o=me(t),r=n&&n.includes("SubProcessMarker");i=r?{...i,seq:-21,parallel:-22,compensation:-42,loop:-18,adhoc:10}:{...i,seq:-5,parallel:-6,compensation:-27,loop:0,adhoc:10},V(n,(function(n){k(n,e,t,i)})),o.get("isForCompensation")&&k("CompensationMarker",e,t,i),de(o,"bpmn:AdHocSubProcess")&&k("AdhocMarker",e,t,i);var s=o.get("loopCharacteristics"),a=s&&s.get("isSequential");s&&(void 0===a&&k("LoopMarker",e,t,i),!1===a&&k("ParallelMarker",e,t,i),!0===a&&k("SequentialMarker",e,t,i))}function C(e,t,n={}){n=ce({size:{width:100}},n);var i=r.createText(t||"",n);return un(i).add("djs-label"),on(e,i),i}function O(e,t,n,i={}){var o=me(t),r=Ol({x:t.x,y:t.y,width:t.width,height:t.height},i);return C(e,o.name,{align:n,box:r,padding:7,style:{fill:Cl(t,c,l,i.stroke)}})}function P(e,t,n,i={}){var o=ul(n),r=C(e,t,{box:{height:30,width:o?Ml(n,i):Pl(n,i)},align:"center-middle",style:{fill:Cl(n,c,l,i.stroke)}});o&&xs(r,0,1*Ml(n,i),270)}function M(e,t,n={}){var{width:i,height:o}=Ol(t,n);return m(e,i,o,10,{...n,fill:kl(t,a,n.fill),fillOpacity:Tl,stroke:Sl(t,l,n.stroke)})}function A(e,t,n={}){var i=me(t),o=kl(t,a,n.fill),r=Sl(t,l,n.stroke);return"One"!==i.get("associationDirection")&&"Both"!==i.get("associationDirection")||(n.markerEnd=d(e,"association-end",o,r)),"Both"===i.get("associationDirection")&&(n.markerStart=d(e,"association-start",o,r)),n=Rl(n,["markerStart","markerEnd"]),v(e,t.waypoints,{...n,stroke:r,strokeDasharray:"0, 5"})}function T(e,t,n={}){var o=kl(t,a,n.fill),r=Sl(t,l,n.stroke),s=y(e,i.getScaledPath("DATA_OBJECT_PATH",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:.474,my:.296}}),{fill:o,fillOpacity:Tl,stroke:r});return function(e){var t=e.dataObjectRef;return e.isCollection||t&&t.isCollection}(me(t))&&y(e,i.getScaledPath("DATA_OBJECT_COLLECTION_PATH",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:.33,my:(t.height-18)/t.height}}),{strokeWidth:2,fill:o,stroke:r}),s}function B(e,t,n={}){return f(e,t.width,t.height,{fillOpacity:Tl,...n,fill:kl(t,a,n.fill),stroke:Sl(t,l,n.stroke)})}function R(e,t,n={}){return function(e,t,n,i){var o=t/2,r=n/2,s=[{x:o,y:0},{x:t,y:r},{x:o,y:n},{x:0,y:r}].map((function(e){return e.x+","+e.y})).join(" ");i=u(i);var a=vn("polygon",{...i,points:s});return on(e,a),a}(e,t.width,t.height,{fill:kl(t,a,n.fill),fillOpacity:Tl,stroke:Sl(t,l,n.stroke)})}function D(e,t,n={}){var i=m(e,Pl(t,n),Ml(t,n),0,{fill:kl(t,a,n.fill),fillOpacity:n.fillOpacity||Tl,stroke:Sl(t,l,n.stroke),strokeWidth:1.5}),o=me(t);return de(o,"bpmn:Lane")&&P(e,o.get("name"),t,n),i}function L(e,t,n={}){var i=M(e,t,n);pl(t)&&ln(i,{strokeDasharray:"0, 5.5",strokeWidth:2.5});var o=cl(t);return O(e,t,o?"center-top":"center-middle",n),S(e,t,o?void 0:["SubProcessMarker"],n),i}function z(e,t,n={}){var i=M(e,t,n);return O(e,t,"center-middle",n),S(e,t,void 0,n),i}var I=this.handlers={"bpmn:AdHocSubProcess":function(e,t,n={}){return L(e,t,n=cl(t)?Rl(n,["fill","stroke","width","height"]):Rl(n,["fill","stroke"]))},"bpmn:Association":function(e,t,n={}){return A(e,t,n=Rl(n,["fill","stroke"]))},"bpmn:BoundaryEvent":function(e,t,n={}){var{renderIcon:i=!0}=n;n=Rl(n,["fill","stroke"]);var o=me(t).get("cancelActivity");n={strokeWidth:1.5,fill:kl(t,a,n.fill),fillOpacity:1,stroke:Sl(t,l,n.stroke)},o||(n.strokeDasharray="6");var r=B(e,t,n);return f(e,t.width,t.height,3,{...n,fill:"none"}),i&&_(t,e,n),r},"bpmn:BusinessRuleTask":function(e,t,n={}){var o=z(e,t,n=Rl(n,["fill","stroke"]));return ln(y(e,i.getScaledPath("TASK_TYPE_BUSINESS_RULE_MAIN",{abspos:{x:8,y:8}})),{fill:kl(t,a,n.fill),stroke:Sl(t,l,n.stroke),strokeWidth:1}),ln(y(e,i.getScaledPath("TASK_TYPE_BUSINESS_RULE_HEADER",{abspos:{x:8,y:8}})),{fill:Sl(t,l,n.stroke),stroke:Sl(t,l,n.stroke),strokeWidth:1}),o},"bpmn:CallActivity":function(e,t,n={}){return n=Rl(n,["fill","stroke"]),L(e,t,{strokeWidth:5,...n})},"bpmn:ComplexGateway":function(e,t,n={}){var o=R(e,t,n=Rl(n,["fill","stroke"]));return y(e,i.getScaledPath("GATEWAY_COMPLEX",{xScaleFactor:.5,yScaleFactor:.5,containerWidth:t.width,containerHeight:t.height,position:{mx:.46,my:.26}}),{fill:Sl(t,l,n.stroke),stroke:Sl(t,l,n.stroke),strokeWidth:1}),o},"bpmn:DataInput":function(e,t,n={}){n=Rl(n,["fill","stroke"]);var o=i.getRawPath("DATA_ARROW"),r=T(e,t,n);return y(e,o,{fill:"none",stroke:Sl(t,l,n.stroke),strokeWidth:1}),r},"bpmn:DataInputAssociation":function(e,t,n={}){return n=Rl(n,["fill","stroke"]),A(e,t,{...n,markerEnd:d(e,"association-end",kl(t,a,n.fill),Sl(t,l,n.stroke))})},"bpmn:DataObject":function(e,t,n={}){return T(e,t,n=Rl(n,["fill","stroke"]))},"bpmn:DataObjectReference":x("bpmn:DataObject"),"bpmn:DataOutput":function(e,t,n={}){n=Rl(n,["fill","stroke"]);var o=i.getRawPath("DATA_ARROW"),r=T(e,t,n);return y(e,o,{strokeWidth:1,fill:kl(t,a,n.fill),stroke:Sl(t,l,n.stroke)}),r},"bpmn:DataOutputAssociation":function(e,t,n={}){return n=Rl(n,["fill","stroke"]),A(e,t,{...n,markerEnd:d(e,"association-end",kl(t,a,n.fill),Sl(t,l,n.stroke))})},"bpmn:DataStoreReference":function(e,t,n={}){return n=Rl(n,["fill","stroke"]),y(e,i.getScaledPath("DATA_STORE",{xScaleFactor:1,yScaleFactor:1,containerWidth:t.width,containerHeight:t.height,position:{mx:0,my:.133}}),{fill:kl(t,a,n.fill),fillOpacity:Tl,stroke:Sl(t,l,n.stroke),strokeWidth:2})},"bpmn:EndEvent":function(e,t,n={}){var{renderIcon:i=!0}=n;n=Rl(n,["fill","stroke"]);var o=B(e,t,{...n,strokeWidth:4});return i&&_(t,e,n),o},"bpmn:EventBasedGateway":function(e,t,n={}){n=Rl(n,["fill","stroke"]);var o=me(t),r=R(e,t,n);f(e,t.width,t.height,.2*t.height,{fill:kl(t,"none",n.fill),stroke:Sl(t,l,n.stroke),strokeWidth:1});var s=o.get("eventGatewayType"),a=!!o.get("instantiate");if("Parallel"===s){var c=i.getScaledPath("GATEWAY_PARALLEL",{xScaleFactor:.4,yScaleFactor:.4,containerWidth:t.width,containerHeight:t.height,position:{mx:.474,my:.296}});y(e,c,{fill:"none",stroke:Sl(t,l,n.stroke),strokeWidth:1})}else"Exclusive"===s&&(a||f(e,t.width,t.height,.26*t.height,{fill:"none",stroke:Sl(t,l,n.stroke),strokeWidth:1}),function(){var o=i.getScaledPath("GATEWAY_EVENT_BASED",{xScaleFactor:.18,yScaleFactor:.18,containerWidth:t.width,containerHeight:t.height,position:{mx:.36,my:.44}});y(e,o,{fill:"none",stroke:Sl(t,l,n.stroke),strokeWidth:2})}());return r},"bpmn:ExclusiveGateway":function(e,t,n={}){var o=R(e,t,n=Rl(n,["fill","stroke"])),r=i.getScaledPath("GATEWAY_EXCLUSIVE",{xScaleFactor:.4,yScaleFactor:.4,containerWidth:t.width,containerHeight:t.height,position:{mx:.32,my:.3}});return ge(t).get("isMarkerVisible")&&y(e,r,{fill:Sl(t,l,n.stroke),stroke:Sl(t,l,n.stroke),strokeWidth:1}),o},"bpmn:Gateway":function(e,t,n={}){return R(e,t,n=Rl(n,["fill","stroke"]))},"bpmn:Group":function(e,t,n={}){return n=Rl(n,["fill","stroke","width","height"]),m(e,t.width,t.height,10,{stroke:Sl(t,l,n.stroke),strokeWidth:1.5,strokeDasharray:"10, 6, 0, 6",fill:"none",pointerEvents:"none",width:Pl(t,n),height:Ml(t,n)})},"bpmn:InclusiveGateway":function(e,t,n={}){var i=R(e,t,n=Rl(n,["fill","stroke"]));return f(e,t.width,t.height,.24*t.height,{fill:kl(t,a,n.fill),stroke:Sl(t,l,n.stroke),strokeWidth:2.5}),i},"bpmn:IntermediateEvent":function(e,t,n={}){var{renderIcon:i=!0}=n;n=Rl(n,["fill","stroke"]);var o=B(e,t,{...n,strokeWidth:1.5});return f(e,t.width,t.height,3,{fill:"none",stroke:Sl(t,l,n.stroke),strokeWidth:1.5}),i&&_(t,e,n),o},"bpmn:IntermediateCatchEvent":x("bpmn:IntermediateEvent"),"bpmn:IntermediateThrowEvent":x("bpmn:IntermediateEvent"),"bpmn:Lane":function(e,t,n={}){return n=Rl(n,["fill","stroke","width","height"]),D(e,t,{...n,fillOpacity:.25})},"bpmn:ManualTask":function(e,t,n={}){var o=z(e,t,n=Rl(n,["fill","stroke"]));return y(e,i.getScaledPath("TASK_TYPE_MANUAL",{abspos:{x:17,y:15}}),{fill:kl(t,a,n.fill),stroke:Sl(t,l,n.stroke),strokeWidth:.5}),o},"bpmn:MessageFlow":function(e,t,n={}){n=Rl(n,["fill","stroke"]);var o=me(t),r=ge(t),s=kl(t,a,n.fill),c=Sl(t,l,n.stroke),u=v(e,t.waypoints,{markerEnd:d(e,"messageflow-end",s,c),markerStart:d(e,"messageflow-start",s,c),stroke:c,strokeDasharray:"10, 11",strokeWidth:1.5});if(o.get("messageRef")){var h=u.getPointAtLength(u.getTotalLength()/2),p=i.getScaledPath("MESSAGE_FLOW_MARKER",{abspos:{x:h.x,y:h.y}}),f={strokeWidth:1};"initiating"===r.get("messageVisibleKind")?(f.fill=s,f.stroke=c):(f.fill=c,f.stroke=s);var m=y(e,p,f),g=C(e,o.get("messageRef").get("name"),{align:"center-top",fitBox:!0,style:{fill:c}}),b=m.getBBox(),w=g.getBBox();xs(g,h.x-w.width/2,h.y+b.height/2+10,0)}return u},"bpmn:ParallelGateway":function(e,t,n={}){var o=R(e,t,n=Rl(n,["fill","stroke"]));return y(e,i.getScaledPath("GATEWAY_PARALLEL",{xScaleFactor:.6,yScaleFactor:.6,containerWidth:t.width,containerHeight:t.height,position:{mx:.46,my:.2}}),{fill:Sl(t,l,n.stroke),stroke:Sl(t,l,n.stroke),strokeWidth:1}),o},"bpmn:Participant":function(e,t,n={}){var i=D(e,t,n=Rl(n,["fill","stroke","width","height"])),o=cl(t),r=ul(t),s=me(t),a=s.get("name");if(o)g(e,r?[{x:30,y:0},{x:30,y:Ml(t,n)}]:[{x:0,y:30},{x:Pl(t,n),y:30}],{stroke:Sl(t,l,n.stroke),strokeWidth:1.5}),P(e,a,t,n);else{var u=Ol(t,n);r||(u.height=Pl(t,n),u.width=Ml(t,n));var h=C(e,a,{box:u,align:"center-middle",style:{fill:Cl(t,c,l,n.stroke)}});r||xs(h,0,1*Ml(t,n),270)}return s.get("participantMultiplicity")&&k("ParticipantMultiplicityMarker",e,t,n),i},"bpmn:ReceiveTask":function(e,t,n={}){n=Rl(n,["fill","stroke"]);var o,r=me(t),s=z(e,t,n);return r.get("instantiate")?(f(e,28,28,4.4,{fill:kl(t,a,n.fill),stroke:Sl(t,l,n.stroke),strokeWidth:1}),o=i.getScaledPath("TASK_TYPE_INSTANTIATING_SEND",{abspos:{x:7.77,y:9.52}})):o=i.getScaledPath("TASK_TYPE_SEND",{xScaleFactor:.9,yScaleFactor:.9,containerWidth:21,containerHeight:14,position:{mx:.3,my:.4}}),y(e,o,{fill:kl(t,a,n.fill),stroke:Sl(t,l,n.stroke),strokeWidth:1}),s},"bpmn:ScriptTask":function(e,t,n={}){var o=z(e,t,n=Rl(n,["fill","stroke"]));return y(e,i.getScaledPath("TASK_TYPE_SCRIPT",{abspos:{x:15,y:20}}),{fill:kl(t,a,n.fill),stroke:Sl(t,l,n.stroke),strokeWidth:1}),o},"bpmn:SendTask":function(e,t,n={}){var o=z(e,t,n=Rl(n,["fill","stroke"]));return y(e,i.getScaledPath("TASK_TYPE_SEND",{xScaleFactor:1,yScaleFactor:1,containerWidth:21,containerHeight:14,position:{mx:.285,my:.357}}),{fill:Sl(t,l,n.stroke),stroke:kl(t,a,n.fill),strokeWidth:1}),o},"bpmn:SequenceFlow":function(e,t,n={}){n=Rl(n,["fill","stroke"]);var i=kl(t,a,n.fill),o=Sl(t,l,n.stroke),r=v(e,t.waypoints,{markerEnd:d(e,"sequenceflow-end",i,o),stroke:o}),s=me(t),{source:c}=t;if(c){var u=me(c);s.get("conditionExpression")&&de(u,"bpmn:Activity")&&ln(r,{markerStart:d(e,"conditional-flow-marker",i,o)}),u.get("default")&&(de(u,"bpmn:Gateway")||de(u,"bpmn:Activity"))&&u.get("default")===s&&ln(r,{markerStart:d(e,"conditional-default-flow-marker",i,o)})}return r},"bpmn:ServiceTask":function(e,t,n={}){var o=z(e,t,n=Rl(n,["fill","stroke"]));return f(e,10,10,{fill:kl(t,a,n.fill),stroke:"none",transform:"translate(6, 6)"}),y(e,i.getScaledPath("TASK_TYPE_SERVICE",{abspos:{x:12,y:18}}),{fill:kl(t,a,n.fill),stroke:Sl(t,l,n.stroke),strokeWidth:1}),f(e,10,10,{fill:kl(t,a,n.fill),stroke:"none",transform:"translate(11, 10)"}),y(e,i.getScaledPath("TASK_TYPE_SERVICE",{abspos:{x:17,y:22}}),{fill:kl(t,a,n.fill),stroke:Sl(t,l,n.stroke),strokeWidth:1}),o},"bpmn:StartEvent":function(e,t,n={}){var{renderIcon:i=!0}=n;n=Rl(n,["fill","stroke"]),me(t).get("isInterrupting")||(n={...n,strokeDasharray:"6"});var o=B(e,t,n);return i&&_(t,e,n),o},"bpmn:SubProcess":function(e,t,n={}){return L(e,t,n=cl(t)?Rl(n,["fill","stroke","width","height"]):Rl(n,["fill","stroke"]))},"bpmn:Task":function(e,t,n={}){return z(e,t,n=Rl(n,["fill","stroke"]))},"bpmn:TextAnnotation":function(e,t,n={}){n=Rl(n,["fill","stroke","width","height"]);var{width:o,height:r}=Ol(t,n),s=m(e,o,r,0,0,{fill:"none",stroke:"none"});return y(e,i.getScaledPath("TEXT_ANNOTATION",{xScaleFactor:1,yScaleFactor:1,containerWidth:o,containerHeight:r,position:{mx:0,my:0}}),{stroke:Sl(t,l,n.stroke)}),C(e,me(t).get("text")||"",{align:"left-top",box:Ol(t,n),padding:7,style:{fill:Cl(t,c,l,n.stroke)}}),s},"bpmn:Transaction":function(e,t,i={}){i=cl(t)?Rl(i,["fill","stroke","width","height"]):Rl(i,["fill","stroke"]);var o=L(e,t,{strokeWidth:1.5,...i}),r=n.style(["no-fill","no-events"],{stroke:Sl(t,l,i.stroke),strokeWidth:1.5});return cl(t)||(i={}),m(e,Pl(t,i),Ml(t,i),7,3,r),o},"bpmn:UserTask":function(e,t,n={}){var o=z(e,t,n=Rl(n,["fill","stroke"]));return y(e,i.getScaledPath("TASK_TYPE_USER_1",{abspos:{x:15,y:12}}),{fill:kl(t,a,n.fill),stroke:Sl(t,l,n.stroke),strokeWidth:.5}),y(e,i.getScaledPath("TASK_TYPE_USER_2",{abspos:{x:15,y:12}}),{fill:kl(t,a,n.fill),stroke:Sl(t,l,n.stroke),strokeWidth:.5}),y(e,i.getScaledPath("TASK_TYPE_USER_3",{abspos:{x:15,y:12}}),{fill:Sl(t,l,n.stroke),stroke:Sl(t,l,n.stroke),strokeWidth:.5}),o},label:function(e,t,n={}){return function(e,t,n={}){var i={width:90,height:30,x:t.width/2+t.x,y:t.height/2+t.y};return C(e,wl(t),{box:i,fitBox:!0,style:ce({},r.getExternalStyle(),{fill:Cl(t,c,l,n.stroke)})})}(e,t,n)}};this._drawPath=y,this._renderer=w}function Rl(e,t=[]){return t.reduce(((t,n)=>(e[n]&&(t[n]=e[n]),t)),{})}lt(Bl,Bo),Bl.$inject=["config.bpmnRenderer","eventBus","styles","pathMap","canvas","textRenderer"],Bl.prototype.canRender=function(e){return de(e,"bpmn:BaseElement")},Bl.prototype.drawShape=function(e,t,n={}){var{type:i}=t;return this._renderer(i)(e,t,n)},Bl.prototype.drawConnection=function(e,t,n={}){var{type:i}=t;return this._renderer(i)(e,t,n)},Bl.prototype.getShapePath=function(e){return de(e,"bpmn:Event")?function(e){var t=e.x+e.width/2,n=e.y+e.height/2,i=e.width/2;return Ro([["M",t,n],["m",0,-i],["a",i,i,0,1,1,0,2*i],["a",i,i,0,1,1,0,-2*i],["z"]])}(e):de(e,"bpmn:Activity")?function(e,t){var n=e.x,i=e.y,o=e.width,r=e.height;return Ro([["M",n+t,i],["l",o-20,0],["a",t,t,0,0,1,t,t],["l",0,r-20],["a",t,t,0,0,1,-10,t],["l",20-o,0],["a",t,t,0,0,1,-10,-10],["l",0,20-r],["a",t,t,0,0,1,t,-10],["z"]])}(e,10):de(e,"bpmn:Gateway")?function(e){var t=e.width/2,n=e.height/2;return Ro([["M",e.x+t,e.y],["l",t,n],["l",-t,n],["l",-t,-n],["z"]])}(e):function(e){var t=e.x,n=e.y,i=e.width;return Ro([["M",t,n],["l",i,0],["l",0,e.height],["l",-i,0],["z"]])}(e)};var Dl=0,Ll={width:150,height:50};function Nl(e,t){var n;t.textContent=e;try{var i,o=""===e;return t.textContent=o?"dummy":e,i={width:(n=t.getBBox()).width+2*n.x,height:n.height},o&&(i.width=0),i}catch(e){return{width:0,height:0}}}function zl(e,t,n){for(var i,o=e.shift(),r=o;;){if((i=Nl(r,n)).width=r?i.width:0," "===r||""===r||i.width1)for(;n=i.shift();){if(!(n.length+re?t.width:e}),0),m=s.top;"middle"===r.vertical&&(m+=(i.height-d)/2),m-=(l||u[0].height)/4;var g=vn("text");return ln(g,o),V(u,(function(e){var t;switch(m+=l||e.height,r.horizontal){case"left":t=s.left;break;case"right":t=(a?f:h)-s.right-e.width;break;default:t=Math.max(((a?f:h)-e.width)/2+s.left,0)}var n=vn("tspan");ln(n,{x:t,y:m}),n.textContent=e.text,on(g,n)})),Pn(p),{dimensions:{width:f,height:d},element:g}},ql.$inject=["config.textRenderer"];var Hl=/\{([^{}]+)\}/g,Vl=/(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g;const Wl={__init__:["bpmnRenderer"],bpmnRenderer:["type",Bl],textRenderer:["type",ql],pathMap:["type",function(){this.pathMap={EVENT_MESSAGE:{d:"m {mx},{my} l 0,{e.y1} l {e.x1},0 l 0,-{e.y1} z l {e.x0},{e.y0} l {e.x0},-{e.y0}",height:36,width:36,heightElements:[6,14],widthElements:[10.5,21]},EVENT_SIGNAL:{d:"M {mx},{my} l {e.x0},{e.y0} l -{e.x1},0 Z",height:36,width:36,heightElements:[18],widthElements:[10,20]},EVENT_ESCALATION:{d:"M {mx},{my} l {e.x0},{e.y0} l -{e.x0},-{e.y1} l -{e.x0},{e.y1} Z",height:36,width:36,heightElements:[20,7],widthElements:[8]},EVENT_CONDITIONAL:{d:"M {e.x0},{e.y0} l {e.x1},0 l 0,{e.y2} l -{e.x1},0 Z M {e.x2},{e.y3} l {e.x0},0 M {e.x2},{e.y4} l {e.x0},0 M {e.x2},{e.y5} l {e.x0},0 M {e.x2},{e.y6} l {e.x0},0 M {e.x2},{e.y7} l {e.x0},0 M {e.x2},{e.y8} l {e.x0},0 ",height:36,width:36,heightElements:[8.5,14.5,18,11.5,14.5,17.5,20.5,23.5,26.5],widthElements:[10.5,14.5,12.5]},EVENT_LINK:{d:"m {mx},{my} 0,{e.y0} -{e.x1},0 0,{e.y1} {e.x1},0 0,{e.y0} {e.x0},-{e.y2} -{e.x0},-{e.y2} z",height:36,width:36,heightElements:[4.4375,6.75,7.8125],widthElements:[9.84375,13.5]},EVENT_ERROR:{d:"m {mx},{my} {e.x0},-{e.y0} {e.x1},-{e.y1} {e.x2},{e.y2} {e.x3},-{e.y3} -{e.x4},{e.y4} -{e.x5},-{e.y5} z",height:36,width:36,heightElements:[.023,8.737,8.151,16.564,10.591,8.714],widthElements:[.085,6.672,6.97,4.273,5.337,6.636]},EVENT_CANCEL_45:{d:"m {mx},{my} -{e.x1},0 0,{e.x0} {e.x1},0 0,{e.y1} {e.x0},0 0,-{e.y1} {e.x1},0 0,-{e.y0} -{e.x1},0 0,-{e.y1} -{e.x0},0 z",height:36,width:36,heightElements:[4.75,8.5],widthElements:[4.75,8.5]},EVENT_COMPENSATION:{d:"m {mx},{my} {e.x0},-{e.y0} 0,{e.y1} z m {e.x1},-{e.y2} {e.x2},-{e.y3} 0,{e.y1} -{e.x2},-{e.y3} z",height:36,width:36,heightElements:[6.5,13,.4,6.1],widthElements:[9,9.3,8.7]},EVENT_TIMER_WH:{d:"M {mx},{my} l {e.x0},-{e.y0} m -{e.x0},{e.y0} l {e.x1},{e.y1} ",height:36,width:36,heightElements:[10,2],widthElements:[3,7]},EVENT_TIMER_LINE:{d:"M {mx},{my} m {e.x0},{e.y0} l -{e.x1},{e.y1} ",height:36,width:36,heightElements:[10,3],widthElements:[0,0]},EVENT_MULTIPLE:{d:"m {mx},{my} {e.x1},-{e.y0} {e.x1},{e.y0} -{e.x0},{e.y1} -{e.x2},0 z",height:36,width:36,heightElements:[6.28099,12.56199],widthElements:[3.1405,9.42149,12.56198]},EVENT_PARALLEL_MULTIPLE:{d:"m {mx},{my} {e.x0},0 0,{e.y1} {e.x1},0 0,{e.y0} -{e.x1},0 0,{e.y1} -{e.x0},0 0,-{e.y1} -{e.x1},0 0,-{e.y0} {e.x1},0 z",height:36,width:36,heightElements:[2.56228,7.68683],widthElements:[2.56228,7.68683]},GATEWAY_EXCLUSIVE:{d:"m {mx},{my} {e.x0},{e.y0} {e.x1},{e.y0} {e.x2},0 {e.x4},{e.y2} {e.x4},{e.y1} {e.x2},0 {e.x1},{e.y3} {e.x0},{e.y3} {e.x3},0 {e.x5},{e.y1} {e.x5},{e.y2} {e.x3},0 z",height:17.5,width:17.5,heightElements:[8.5,6.5312,-6.5312,-8.5],widthElements:[6.5,-6.5,3,-3,5,-5]},GATEWAY_PARALLEL:{d:"m {mx},{my} 0,{e.y1} -{e.x1},0 0,{e.y0} {e.x1},0 0,{e.y1} {e.x0},0 0,-{e.y1} {e.x1},0 0,-{e.y0} -{e.x1},0 0,-{e.y1} -{e.x0},0 z",height:30,width:30,heightElements:[5,12.5],widthElements:[5,12.5]},GATEWAY_EVENT_BASED:{d:"m {mx},{my} {e.x0},{e.y0} {e.x0},{e.y1} {e.x1},{e.y2} {e.x2},0 z",height:11,width:11,heightElements:[-6,6,12,-12],widthElements:[9,-3,-12]},GATEWAY_COMPLEX:{d:"m {mx},{my} 0,{e.y0} -{e.x0},-{e.y1} -{e.x1},{e.y2} {e.x0},{e.y1} -{e.x2},0 0,{e.y3} {e.x2},0 -{e.x0},{e.y1} l {e.x1},{e.y2} {e.x0},-{e.y1} 0,{e.y0} {e.x3},0 0,-{e.y0} {e.x0},{e.y1} {e.x1},-{e.y2} -{e.x0},-{e.y1} {e.x2},0 0,-{e.y3} -{e.x2},0 {e.x0},-{e.y1} -{e.x1},-{e.y2} -{e.x0},{e.y1} 0,-{e.y0} -{e.x3},0 z",height:17.125,width:17.125,heightElements:[4.875,3.4375,2.125,3],widthElements:[3.4375,2.125,4.875,3]},DATA_OBJECT_PATH:{d:"m 0,0 {e.x1},0 {e.x0},{e.y0} 0,{e.y1} -{e.x2},0 0,-{e.y2} {e.x1},0 0,{e.y0} {e.x0},0",height:61,width:51,heightElements:[10,50,60],widthElements:[10,40,50,60]},DATA_OBJECT_COLLECTION_PATH:{d:"m{mx},{my} m 3,2 l 0,10 m 3,-10 l 0,10 m 3,-10 l 0,10",height:10,width:10,heightElements:[],widthElements:[]},DATA_ARROW:{d:"m 5,9 9,0 0,-3 5,5 -5,5 0,-3 -9,0 z",height:61,width:51,heightElements:[],widthElements:[]},DATA_STORE:{d:"m {mx},{my} l 0,{e.y2} c {e.x0},{e.y1} {e.x1},{e.y1} {e.x2},0 l 0,-{e.y2} c -{e.x0},-{e.y1} -{e.x1},-{e.y1} -{e.x2},0c {e.x0},{e.y1} {e.x1},{e.y1} {e.x2},0 m -{e.x2},{e.y0}c {e.x0},{e.y1} {e.x1},{e.y1} {e.x2},0m -{e.x2},{e.y0}c {e.x0},{e.y1} {e.x1},{e.y1} {e.x2},0",height:61,width:61,heightElements:[7,10,45],widthElements:[2,58,60]},TEXT_ANNOTATION:{d:"m {mx}, {my} m 10,0 l -10,0 l 0,{e.y0} l 10,0",height:30,width:10,heightElements:[30],widthElements:[10]},MARKER_SUB_PROCESS:{d:"m{mx},{my} m 7,2 l 0,10 m -5,-5 l 10,0",height:10,width:10,heightElements:[],widthElements:[]},MARKER_PARALLEL:{d:"m{mx},{my} m 3,2 l 0,10 m 3,-10 l 0,10 m 3,-10 l 0,10",height:10,width:10,heightElements:[],widthElements:[]},MARKER_SEQUENTIAL:{d:"m{mx},{my} m 0,3 l 10,0 m -10,3 l 10,0 m -10,3 l 10,0",height:10,width:10,heightElements:[],widthElements:[]},MARKER_COMPENSATION:{d:"m {mx},{my} 7,-5 0,10 z m 7.1,-0.3 6.9,-4.7 0,10 -6.9,-4.7 z",height:10,width:21,heightElements:[],widthElements:[]},MARKER_LOOP:{d:"m {mx},{my} c 3.526979,0 6.386161,-2.829858 6.386161,-6.320661 0,-3.490806 -2.859182,-6.320661 -6.386161,-6.320661 -3.526978,0 -6.38616,2.829855 -6.38616,6.320661 0,1.745402 0.714797,3.325567 1.870463,4.469381 0.577834,0.571908 1.265885,1.034728 2.029916,1.35457 l -0.718163,-3.909793 m 0.718163,3.909793 -3.885211,0.802902",height:13.9,width:13.7,heightElements:[],widthElements:[]},MARKER_ADHOC:{d:"m {mx},{my} m 0.84461,2.64411 c 1.05533,-1.23780996 2.64337,-2.07882 4.29653,-1.97997996 2.05163,0.0805 3.85579,1.15803 5.76082,1.79107 1.06385,0.34139996 2.24454,0.1438 3.18759,-0.43767 0.61743,-0.33642 1.2775,-0.64078 1.7542,-1.17511 0,0.56023 0,1.12046 0,1.6807 -0.98706,0.96237996 -2.29792,1.62393996 -3.6918,1.66181996 -1.24459,0.0927 -2.46671,-0.2491 -3.59505,-0.74812 -1.35789,-0.55965 -2.75133,-1.33436996 -4.27027,-1.18121996 -1.37741,0.14601 -2.41842,1.13685996 -3.44288,1.96782996 z",height:4,width:15,heightElements:[],widthElements:[]},TASK_TYPE_SEND:{d:"m {mx},{my} l 0,{e.y1} l {e.x1},0 l 0,-{e.y1} z l {e.x0},{e.y0} l {e.x0},-{e.y0}",height:14,width:21,heightElements:[6,14],widthElements:[10.5,21]},TASK_TYPE_SCRIPT:{d:"m {mx},{my} c 9.966553,-6.27276 -8.000926,-7.91932 2.968968,-14.938 l -8.802728,0 c -10.969894,7.01868 6.997585,8.66524 -2.968967,14.938 z m -7,-12 l 5,0 m -4.5,3 l 4.5,0 m -3,3 l 5,0m -4,3 l 5,0",height:15,width:12.6,heightElements:[6,14],widthElements:[10.5,21]},TASK_TYPE_USER_1:{d:"m {mx},{my} c 0.909,-0.845 1.594,-2.049 1.594,-3.385 0,-2.554 -1.805,-4.62199999 -4.357,-4.62199999 -2.55199998,0 -4.28799998,2.06799999 -4.28799998,4.62199999 0,1.348 0.974,2.562 1.89599998,3.405 -0.52899998,0.187 -5.669,2.097 -5.794,4.7560005 v 6.718 h 17 v -6.718 c 0,-2.2980005 -5.5279996,-4.5950005 -6.0509996,-4.7760005 zm -8,6 l 0,5.5 m 11,0 l 0,-5"},TASK_TYPE_USER_2:{d:"m {mx},{my} m 2.162,1.009 c 0,2.4470005 -2.158,4.4310005 -4.821,4.4310005 -2.66499998,0 -4.822,-1.981 -4.822,-4.4310005 "},TASK_TYPE_USER_3:{d:"m {mx},{my} m -6.9,-3.80 c 0,0 2.25099998,-2.358 4.27399998,-1.177 2.024,1.181 4.221,1.537 4.124,0.965 -0.098,-0.57 -0.117,-3.79099999 -4.191,-4.13599999 -3.57499998,0.001 -4.20799998,3.36699999 -4.20699998,4.34799999 z"},TASK_TYPE_MANUAL:{d:"m {mx},{my} c 0.234,-0.01 5.604,0.008 8.029,0.004 0.808,0 1.271,-0.172 1.417,-0.752 0.227,-0.898 -0.334,-1.314 -1.338,-1.316 -2.467,-0.01 -7.886,-0.004 -8.108,-0.004 -0.014,-0.079 0.016,-0.533 0,-0.61 0.195,-0.042 8.507,0.006 9.616,0.002 0.877,-0.007 1.35,-0.438 1.353,-1.208 0.003,-0.768 -0.479,-1.09 -1.35,-1.091 -2.968,-0.002 -9.619,-0.013 -9.619,-0.013 v -0.591 c 0,0 5.052,-0.016 7.225,-0.016 0.888,-0.002 1.354,-0.416 1.351,-1.193 -0.006,-0.761 -0.492,-1.196 -1.361,-1.196 -3.473,-0.005 -10.86,-0.003 -11.0829995,-0.003 -0.022,-0.047 -0.045,-0.094 -0.069,-0.139 0.3939995,-0.319 2.0409995,-1.626 2.4149995,-2.017 0.469,-0.4870005 0.519,-1.1650005 0.162,-1.6040005 -0.414,-0.511 -0.973,-0.5 -1.48,-0.236 -1.4609995,0.764 -6.5999995,3.6430005 -7.7329995,4.2710005 -0.9,0.499 -1.516,1.253 -1.882,2.19 -0.37000002,0.95 -0.17,2.01 -0.166,2.979 0.004,0.718 -0.27300002,1.345 -0.055,2.063 0.629,2.087 2.425,3.312 4.859,3.318 4.6179995,0.014 9.2379995,-0.139 13.8569995,-0.158 0.755,-0.004 1.171,-0.301 1.182,-1.033 0.012,-0.754 -0.423,-0.969 -1.183,-0.973 -1.778,-0.01 -5.824,-0.004 -6.04,-0.004 10e-4,-0.084 0.003,-0.586 10e-4,-0.67 z"},TASK_TYPE_INSTANTIATING_SEND:{d:"m {mx},{my} l 0,8.4 l 12.6,0 l 0,-8.4 z l 6.3,3.6 l 6.3,-3.6"},TASK_TYPE_SERVICE:{d:"m {mx},{my} v -1.71335 c 0.352326,-0.0705 0.703932,-0.17838 1.047628,-0.32133 0.344416,-0.14465 0.665822,-0.32133 0.966377,-0.52145 l 1.19431,1.18005 1.567487,-1.57688 -1.195028,-1.18014 c 0.403376,-0.61394 0.683079,-1.29908 0.825447,-2.01824 l 1.622133,-0.01 v -2.2196 l -1.636514,0.01 c -0.07333,-0.35153 -0.178319,-0.70024 -0.323564,-1.04372 -0.145244,-0.34406 -0.321407,-0.6644 -0.522735,-0.96217 l 1.131035,-1.13631 -1.583305,-1.56293 -1.129598,1.13589 c -0.614052,-0.40108 -1.302883,-0.68093 -2.022633,-0.82247 l 0.0093,-1.61852 h -2.241173 l 0.0042,1.63124 c -0.353763,0.0736 -0.705369,0.17977 -1.049785,0.32371 -0.344415,0.14437 -0.665102,0.32092 -0.9635006,0.52046 l -1.1698628,-1.15823 -1.5667691,1.5792 1.1684265,1.15669 c -0.4026573,0.61283 -0.68308,1.29797 -0.8247287,2.01713 l -1.6588041,0.003 v 2.22174 l 1.6724648,-0.006 c 0.073327,0.35077 0.1797598,0.70243 0.3242851,1.04472 0.1452428,0.34448 0.3214064,0.6644 0.5227339,0.96066 l -1.1993431,1.19723 1.5840256,1.56011 1.1964668,-1.19348 c 0.6140517,0.40346 1.3028827,0.68232 2.0233517,0.82331 l 7.19e-4,1.69892 h 2.226848 z m 0.221462,-3.9957 c -1.788948,0.7502 -3.8576,-0.0928 -4.6097055,-1.87438 -0.7521065,-1.78321 0.090598,-3.84627 1.8802645,-4.59604 1.78823,-0.74936 3.856881,0.0929 4.608987,1.87437 0.752106,1.78165 -0.0906,3.84612 -1.879546,4.59605 z"},TASK_TYPE_SERVICE_FILL:{d:"m {mx},{my} c -1.788948,0.7502 -3.8576,-0.0928 -4.6097055,-1.87438 -0.7521065,-1.78321 0.090598,-3.84627 1.8802645,-4.59604 1.78823,-0.74936 3.856881,0.0929 4.608987,1.87437 0.752106,1.78165 -0.0906,3.84612 -1.879546,4.59605 z"},TASK_TYPE_BUSINESS_RULE_HEADER:{d:"m {mx},{my} 0,4 20,0 0,-4 z"},TASK_TYPE_BUSINESS_RULE_MAIN:{d:"m {mx},{my} 0,12 20,0 0,-12 zm 0,8 l 20,0 m -13,-4 l 0,8"},MESSAGE_FLOW_MARKER:{d:"m {mx},{my} m -10.5 ,-7 l 0,14 l 21,0 l 0,-14 z l 10.5,6 l 10.5,-6"}},this.getRawPath=function(e){return this.pathMap[e].d},this.getScaledPath=function(e,t){var n,i,o=this.pathMap[e];t.abspos?(n=t.abspos.x,i=t.abspos.y):(n=t.containerWidth*t.position.mx,i=t.containerHeight*t.position.my);var r,s,a={};if(t.position){for(var l=t.containerHeight/o.height*t.yScaleFactor,c=t.containerWidth/o.width*t.xScaleFactor,u=0;u=e.x&&n<=e.x+e.width&&i>=e.y&&i<=e.y+e.height}(n,Wr(c))||(n=this._canvas.findRoot(n))),this._canvas.addShape(i,n,r)}else{if(!de(t,"bpmndi:BPMNEdge"))throw new Error(`unknown di ${Ha(t)} for element ${Ha(e)}`);var u=this._getSource(e),h=this._getTarget(e);o=n&&(n.hidden||n.collapsed),i=this._elementFactory.createConnection(Ql(e,t,{hidden:o,source:u,target:h,waypoints:Xl(t,u,h)})),de(e,"bpmn:DataAssociation")&&(n=this._canvas.findRoot(n)),this._canvas.addConnection(i,n,r)}return gl(e)&&wl(i)&&this.addLabel(e,t,i),this._eventBus.fire("bpmnElement.added",{element:i}),i},Yl.prototype._attachBoundary=function(e,t){var n=e.attachedToRef;if(!n)throw new Error(`missing ${Ha(e)}#attachedToRef`);var i=this._elementRegistry.get(n.id),o=i&&i.attachers;if(!i)throw Ul(e,n,"attachedToRef");t.host=i,o||(i.attachers=o=[]),-1===o.indexOf(t)&&o.push(t)},Yl.prototype.addLabel=function(e,t,n){var i,o,r;return i=function(e,t){var n,i,o,r=e.label;return r&&r.bounds?(o=r.bounds,i={width:Math.max(fl.width,o.width),height:o.height},n={x:o.x+o.width/2,y:o.y+o.height/2}):(n=yl(t),i=fl),ce({x:n.x-i.width/2,y:n.y-i.height/2},i)}(t,n),(o=wl(n))&&(i=this._textRenderer.getExternalLabelBounds(i,o)),r=this._elementFactory.createLabel(Ql(e,t,{id:e.id+"_label",labelTarget:n,type:"label",hidden:n.hidden||!wl(n),x:Math.round(i.x),y:Math.round(i.y),width:Math.round(i.width),height:Math.round(i.height)})),this._canvas.addShape(r,n.parent)},Yl.prototype._getConnectedElement=function(e,t){var n,i,o=e.$type;if(i=e[t+"Ref"],"source"===t&&"bpmn:DataInputAssociation"===o&&(i=i&&i[0]),("source"===t&&"bpmn:DataOutputAssociation"===o||"target"===t&&"bpmn:DataInputAssociation"===o)&&(i=e.$parent),n=i&&this._getElement(i))return n;throw i?Ul(e,i,t+"Ref"):new Error(`${Ha(e)}#${t} Ref not specified`)},Yl.prototype._getSource=function(e){return this._getConnectedElement(e,"source")},Yl.prototype._getTarget=function(e){return this._getConnectedElement(e,"target")},Yl.prototype._getElement=function(e){return this._elementRegistry.get(e.id)};const Kl={__depends__:[Wl,{__depends__:[Gl],bpmnImporter:["type",Yl]}]};function Zl(e){this._counter=0,this._prefix=(e?e+"-":"")+Math.floor(1e9*Math.random())+"-"}Zl.prototype.next=function(){return this._prefix+ ++this._counter};var Jl=new Zl("ov");function ec(e,t,n,i){var o,r;this._eventBus=t,this._canvas=n,this._elementRegistry=i,this._ids=Jl,this._overlayDefaults=ce({show:null,scale:!0},e&&e.defaults),this._overlays={},this._overlayContainers=[],this._overlayRoot=(o=n.getContainer(),Rt(r=Kt('
'),{position:"absolute",width:0,height:0}),o.insertBefore(r,o.firstChild),r),this._init()}function tc(e,t,n){Rt(e,{left:t+"px",top:n+"px"})}function nc(e,t){e.style.display=!1===t?"none":""}function ic(e,t){e.style["transform-origin"]="top left",["","-ms-","-webkit-"].forEach((function(n){e.style[n+"transform"]=t}))}ec.$inject=["config.overlays","eventBus","canvas","elementRegistry"],ec.prototype.get=function(e){if(F(e)&&(e={id:e}),F(e.element)&&(e.element=this._elementRegistry.get(e.element)),e.element){var t=this._getOverlayContainer(e.element,!0);return t?e.type?H(t.overlays,ne({type:e.type})):t.overlays.slice():[]}return e.type?H(this._overlays,ne({type:e.type})):e.id?this._overlays[e.id]:null},ec.prototype.add=function(e,t,n){if(N(t)&&(n=t,t=null),e.id||(e=this._elementRegistry.get(e)),!n.position)throw new Error("must specifiy overlay position");if(!n.html)throw new Error("must specifiy overlay html");if(!e)throw new Error("invalid element specified");var i=this._ids.next();return n=ce({},this._overlayDefaults,n,{id:i,type:t,element:e,html:n.html}),this._addOverlay(n),i},ec.prototype.remove=function(e){var t=this.get(e)||[];L(t)||(t=[t]);var n=this;V(t,(function(e){var t=n._getOverlayContainer(e.element,!0);if(e&&(tn(e.html),tn(e.htmlContainer),delete e.htmlContainer,delete e.element,delete n._overlays[e.id]),t){var i=t.overlays.indexOf(e);-1!==i&&t.overlays.splice(i,1)}}))},ec.prototype.isShown=function(){return"none"!==this._overlayRoot.style.display},ec.prototype.show=function(){nc(this._overlayRoot)},ec.prototype.hide=function(){nc(this._overlayRoot,!1)},ec.prototype.clear=function(){this._overlays={},this._overlayContainers=[],It(this._overlayRoot)},ec.prototype._updateOverlayContainer=function(e){var t=e.element,n=e.html,i=t.x,o=t.y;if(t.waypoints){var r=Wo(t);i=r.x,o=r.y}tc(n,i,o),Dt(e.html,"data-container-id",t.id)},ec.prototype._updateOverlay=function(e){var t,n,i=e.position,o=e.htmlContainer,r=e.element,s=i.left,a=i.top;void 0!==i.right&&(t=r.waypoints?Wo(r).width:r.width,s=-1*i.right+t),void 0!==i.bottom&&(n=r.waypoints?Wo(r).height:r.height,a=-1*i.bottom+n),tc(o,s||0,a||0),this._updateOverlayVisibilty(e,this._canvas.viewbox())},ec.prototype._createOverlayContainer=function(e){var t=Kt('
');Rt(t,{position:"absolute"}),this._overlayRoot.appendChild(t);var n={html:t,element:e,overlays:[]};return this._updateOverlayContainer(n),this._overlayContainers.push(n),n},ec.prototype._updateRoot=function(e){var t=e.scale||1,n="matrix("+[t,0,0,t,-1*e.x*t,-1*e.y*t].join(",")+")";ic(this._overlayRoot,n)},ec.prototype._getOverlayContainer=function(e,t){var n=j(this._overlayContainers,(function(t){return t.element===e}));return n||t?n:this._createOverlayContainer(e)},ec.prototype._addOverlay=function(e){var t,n,i=e.id,o=e.element,r=e.html;r.get&&r.constructor.prototype.jquery&&(r=r.get(0)),F(r)&&(r=Kt(r)),n=this._getOverlayContainer(o),Rt(t=Kt('
'),{position:"absolute"}),t.appendChild(r),e.type&&Nt(t).add("djs-overlay-"+e.type),nc(t,this._canvas.findRoot(o)===this._canvas.getRootElement()),e.htmlContainer=t,n.overlays.push(e),n.html.appendChild(t),this._overlays[i]=e,this._updateOverlay(e),this._updateOverlayVisibilty(e,this._canvas.viewbox())},ec.prototype._updateOverlayVisibilty=function(e,t){var n=e.show,i=this._canvas.findRoot(e.element),o=n&&n.minZoom,r=n&&n.maxZoom,s=e.htmlContainer,a=!0;(i!==this._canvas.getRootElement()||n&&(R(o)&&o>t.scale||R(r)&&ri&&(o=(1/t.scale||1)*i)),R(o)&&(a="scale("+o+","+o+")"),ic(s,a)},ec.prototype._updateOverlaysVisibilty=function(e){var t=this;V(this._overlays,(function(n){t._updateOverlayVisibilty(n,e)}))},ec.prototype._init=function(){var e=this._eventBus,t=this;e.on("canvas.viewbox.changing",(function(e){t.hide()})),e.on("canvas.viewbox.changed",(function(e){var n;n=e.viewbox,t._updateRoot(n),t._updateOverlaysVisibilty(n),t.show()})),e.on(["shape.remove","connection.remove"],(function(e){var n=e.element;V(t.get({element:n}),(function(e){t.remove(e.id)}));var i=t._getOverlayContainer(n);if(i){tn(i.html);var o=t._overlayContainers.indexOf(i);-1!==o&&t._overlayContainers.splice(o,1)}})),e.on("element.changed",500,(function(e){var n=e.element,i=t._getOverlayContainer(n,!0);i&&(V(i.overlays,(function(e){t._updateOverlay(e)})),t._updateOverlayContainer(i))})),e.on("element.marker.update",(function(e){var n=t._getOverlayContainer(e.element,!0);n&&Nt(n.html)[e.add?"add":"remove"](e.marker)})),e.on("root.set",(function(){t._updateOverlaysVisibilty(t._canvas.viewbox())})),e.on("diagram.clear",this.clear,this)};const oc={__init__:["overlays"],overlays:["type",ec]};function rc(e,t,n,i){e.on("element.changed",(function(i){var o=i.element;(o.parent||o===t.getRootElement())&&(i.gfx=n.getGraphics(o)),i.gfx&&e.fire(Go(o)+".changed",i)})),e.on("elements.changed",(function(t){var n=t.elements;n.forEach((function(t){e.fire("element.changed",{element:t})})),i.updateContainments(n)})),e.on("shape.changed",(function(e){i.update("shape",e.element,e.gfx)})),e.on("connection.changed",(function(e){i.update("connection",e.element,e.gfx)}))}rc.$inject=["eventBus","canvas","elementRegistry","graphicsFactory"];const sc={__init__:["changeSupport"],changeSupport:["type",rc]};function ac(e){this._eventBus=e}function lc(e){return function(t,n,i,o,r){(I(t)||z(t))&&(r=o,o=i,i=n,n=t,t=null),this.on(t,e,n,i,o,r)}}function cc(e,t){t.invoke(ac,this),this.executed((function(t){var n=t.context;n.rootElement?e.setRootElement(n.rootElement):n.rootElement=e.getRootElement()})),this.revert((function(t){var n=t.context;n.rootElement&&e.setRootElement(n.rootElement)}))}ac.$inject=["eventBus"],ac.prototype.on=function(e,t,n,i,o,r){if((I(t)||z(t))&&(r=o,o=i,i=n,n=t,t=null),I(n)&&(r=o,o=i,i=n,n=1e3),N(o)&&(r=o,o=!1),!I(i))throw new Error("handlerFn must be a function");L(e)||(e=[e]);var s=this._eventBus;V(e,(function(e){var a=["commandStack",e,t].filter((function(e){return e})).join(".");s.on(a,n,o?function(e,t){return function(n){return e.call(t||null,n.context,n.command,n)}}(i,r):i,r)}))},ac.prototype.canExecute=lc("canExecute"),ac.prototype.preExecute=lc("preExecute"),ac.prototype.preExecuted=lc("preExecuted"),ac.prototype.execute=lc("execute"),ac.prototype.executed=lc("executed"),ac.prototype.postExecute=lc("postExecute"),ac.prototype.postExecuted=lc("postExecuted"),ac.prototype.revert=lc("revert"),ac.prototype.reverted=lc("reverted"),lt(cc,ac),cc.$inject=["canvas","injector"];const uc={__init__:["rootElementsBehavior"],rootElementsBehavior:["type",cc]};function hc(e){return CSS.escape(e)}var pc={"&":"&","<":"<",">":">",'"':""","'":"'"};function dc(e){return(e=""+e)&&e.replace(/[&<>"']/g,(function(e){return pc[e]}))}var fc="_plane";function mc(e){return function(e){return e.replace(new RegExp(fc+"$"),"")}(e.id)}function gc(e){var t=e.id;return de(e,"bpmn:SubProcess")?bc(t):t}function vc(e){return bc(e)}function yc(e){return de(ge(e),"bpmndi:BPMNPlane")}function bc(e){return e+fc}function wc(e,t,n){var i=Kt('
    '),o=n.getContainer(),r=Nt(o);o.appendChild(i);var s=[];function a(e){e&&(s=function(e){for(var t=[],n=me(e);n;n=n.$parent)(de(n,"bpmn:SubProcess")||de(n,"bpmn:Process"))&&t.push(n);return t.reverse()}(e));var o=s.flatMap((function(e){var i=n.findRoot(gc(e))||n.findRoot(e.id);if(!i&&de(e,"bpmn:Process")){var o=t.find((function(t){var n=me(t);return n&&n.get("processRef")===e}));i=o&&n.findRoot(o.id)}if(!i)return[];var r=dc(e.name||e.id),s=Kt('
  • '+r+"
  • ");return s.addEventListener("click",(function(){n.setRootElement(i)})),s}));i.innerHTML="";var a=o.length>1;r.toggle("bjs-breadcrumbs-shown",a),o.forEach((function(e){i.appendChild(e)}))}e.on("element.changed",(function(e){var t=me(e.element);j(s,(function(e){return e===t}))&&a()})),e.on("root.set",(function(e){a(e.element)}))}function xc(e,t){var n=null,i=new _c;e.on("root.set",(function(e){var o=e.element,r=t.viewbox(),s=i.get(o);if(i.set(n,{x:r.x,y:r.y,zoom:r.scale}),n=o,de(o,"bpmn:SubProcess")||s){s=s||{x:0,y:0,zoom:1};var a=(r.x-s.x)*r.scale,l=(r.y-s.y)*r.scale;0===a&&0===l||t.scroll({dx:a,dy:l}),s.zoom!==r.scale&&t.zoom(s.zoom,{x:0,y:0})}})),e.on("diagram.clear",(function(){i.clear(),n=null}))}function _c(){this._entries=[],this.set=function(e,t){var n=!1;for(var i in this._entries)if(this._entries[i][0]===e){this._entries[i][1]=t,n=!0;break}n||this._entries.push([e,t])},this.get=function(e){for(var t in this._entries)if(this._entries[t][0]===e)return this._entries[t][1];return null},this.clear=function(){this._entries.length=0},this.remove=function(e){var t=-1;for(var n in this._entries)if(this._entries[n][0]===e){t=n;break}-1!==t&&this._entries.splice(t,1)}}wc.$inject=["eventBus","elementRegistry","canvas"],xc.$inject=["eventBus","canvas"];function Ec(e,t){this._eventBus=e,this._moddle=t;var n=this;e.on("import.render.start",1500,(function(e,t){n._handleImport(t.definitions)}))}function kc(e){return de(e,"bpmndi:BPMNDiagram")?e:kc(e.$parent)}Ec.prototype._handleImport=function(e){if(e.diagrams){var t=this;this._definitions=e,this._processToDiagramMap={},e.diagrams.forEach((function(e){e.plane&&e.plane.bpmnElement&&(t._processToDiagramMap[e.plane.bpmnElement.id]=e)})),e.diagrams.filter((e=>e.plane)).flatMap((e=>t._createNewDiagrams(e.plane))).forEach((function(e){t._movePlaneElementsToOrigin(e.plane)}))}},Ec.prototype._createNewDiagrams=function(e){var t=this,n=[],i=[];e.get("planeElement").forEach((function(t){var o=t.bpmnElement;if(o){var r=o.$parent;de(o,"bpmn:SubProcess")&&!t.isExpanded&&n.push(o),function(e,t){var n=e.$parent;return!(!de(n,"bpmn:SubProcess")||n===t.bpmnElement)&&!fe(e,["bpmn:DataInputAssociation","bpmn:DataOutputAssociation"])}(o,e)&&i.push({diElement:t,parent:r})}}));var o=[];return n.forEach((function(e){if(!t._processToDiagramMap[e.id]){var n=t._createDiagram(e);t._processToDiagramMap[e.id]=n,o.push(n)}})),i.forEach((function(e){for(var i=e.diElement,o=e.parent;o&&-1===n.indexOf(o);)o=o.$parent;if(o){var r=t._processToDiagramMap[o.id];t._moveToDiPlane(i,r.plane)}})),o},Ec.prototype._movePlaneElementsToOrigin=function(e){var t=e.get("planeElement"),n=function(e){var t={top:1/0,right:-1/0,bottom:-1/0,left:1/0};return e.planeElement.forEach((function(e){if(e.bounds){var n=Hr(e.bounds);t.top=Math.min(n.top,t.top),t.left=Math.min(n.left,t.left)}})),Vr(t)}(e),i=n.x-180,o=n.y-160;t.forEach((function(e){e.waypoint?e.waypoint.forEach((function(e){e.x=e.x-i,e.y=e.y-o})):e.bounds&&(e.bounds.x=e.bounds.x-i,e.bounds.y=e.bounds.y-o)}))},Ec.prototype._moveToDiPlane=function(e,t){var n=kc(e).plane.get("planeElement");n.splice(n.indexOf(e),1),t.get("planeElement").push(e)},Ec.prototype._createDiagram=function(e){var t=this._moddle.create("bpmndi:BPMNPlane",{bpmnElement:e}),n=this._moddle.create("bpmndi:BPMNDiagram",{plane:t});return t.$parent=n,t.bpmnElement=e,n.$parent=this._definitions,this._definitions.diagrams.push(n),n},Ec.$inject=["eventBus","moddle"];var Sc=250;function Cc(e,t,n,i,o){ac.call(this,t),this._canvas=e,this._eventBus=t,this._elementRegistry=n,this._overlays=i,this._translate=o;var r=this;this.executed("shape.toggleCollapse",Sc,(function(e){var t=e.shape;r._canDrillDown(t)?r._addOverlay(t):r._removeOverlay(t)}),!0),this.reverted("shape.toggleCollapse",Sc,(function(e){var t=e.shape;r._canDrillDown(t)?r._addOverlay(t):r._removeOverlay(t)}),!0),this.executed(["shape.create","shape.move","shape.delete"],Sc,(function(e){var t=e.oldParent,n=e.newParent||e.parent,i=e.shape;r._canDrillDown(i)&&r._addOverlay(i),r._updateDrilldownOverlay(t),r._updateDrilldownOverlay(n),r._updateDrilldownOverlay(i)}),!0),this.reverted(["shape.create","shape.move","shape.delete"],Sc,(function(e){var t=e.oldParent,n=e.newParent||e.parent,i=e.shape;r._canDrillDown(i)&&r._addOverlay(i),r._updateDrilldownOverlay(t),r._updateDrilldownOverlay(n),r._updateDrilldownOverlay(i)}),!0),t.on("import.render.complete",(function(){n.filter((function(e){return r._canDrillDown(e)})).map((function(e){r._addOverlay(e)}))}))}lt(Cc,ac),Cc.prototype._updateDrilldownOverlay=function(e){var t=this._canvas;if(e){var n=t.findRoot(e);n&&this._updateOverlayVisibility(n)}},Cc.prototype._canDrillDown=function(e){var t=this._canvas;return de(e,"bpmn:SubProcess")&&t.findRoot(gc(e))},Cc.prototype._updateOverlayVisibility=function(e){var t=this._overlays,n=me(e),i=t.get({element:n.id,type:"drilldown"})[0];if(i){var o=n&&n.get("flowElements")&&n.get("flowElements").length;Nt(i.html).toggle("bjs-drilldown-empty",!o)}},Cc.prototype._addOverlay=function(e){var t=this._canvas,n=this._overlays,i=me(e);n.get({element:e,type:"drilldown"}).length&&this._removeOverlay(e);var o=Kt(''),r=i.get("name")||i.get("id"),s=this._translate("Open {element}",{element:r});o.setAttribute("title",s),o.addEventListener("click",(function(){t.setRootElement(t.findRoot(gc(e)))})),n.add(e,"drilldown",{position:{bottom:-7,right:-8},html:o}),this._updateOverlayVisibility(e)},Cc.prototype._removeOverlay=function(e){this._overlays.remove({element:e,type:"drilldown"})},Cc.$inject=["canvas","eventBus","elementRegistry","overlays","translate"];const Oc={__depends__:[oc,sc,uc],__init__:["drilldownBreadcrumbs","drilldownOverlayBehavior","drilldownCentering","subprocessCompatibility"],drilldownBreadcrumbs:["type",wc],drilldownCentering:["type",xc],drilldownOverlayBehavior:["type",Cc],subprocessCompatibility:["type",Ec]};function Pc(e,t){this._eventBus=e,this.offset=5;var n=t.cls("djs-outline",["no-fill"]),i=this;function o(e){var t=vn("rect");return ln(t,ce({x:0,y:0,rx:4,width:100,height:100},n)),t}e.on(["shape.added","shape.changed"],500,(function(e){var t=e.element,n=e.gfx,r=Jt(".djs-outline",n);r||on(n,r=i.getOutline(t)||o()),i.updateShapeOutline(r,t)})),e.on(["connection.added","connection.changed"],(function(e){var t=e.element,n=e.gfx,r=Jt(".djs-outline",n);r||on(n,r=o()),i.updateConnectionOutline(r,t)}))}Pc.prototype.updateShapeOutline=function(e,t){var n=!1,i=this._getProviders();i.length&&V(i,(function(i){n=n||i.updateOutline(t,e)})),n||ln(e,{x:-this.offset,y:-this.offset,width:t.width+2*this.offset,height:t.height+2*this.offset})},Pc.prototype.updateConnectionOutline=function(e,t){var n=Wo(t);ln(e,{x:n.x-this.offset,y:n.y-this.offset,width:n.width+2*this.offset,height:n.height+2*this.offset})},Pc.prototype.registerProvider=function(e,t){t||(t=e,e=1e3),this._eventBus.on("outline.getProviders",e,(function(e){e.providers.push(t)}))},Pc.prototype._getProviders=function(){var e=this._eventBus.createEvent({type:"outline.getProviders",providers:[]});return this._eventBus.fire(e),e.providers},Pc.prototype.getOutline=function(e){var t;return V(this._getProviders(),(function(n){I(n.getOutline)&&(t=t||n.getOutline(e))})),t},Pc.$inject=["eventBus","styles","elementRegistry"];const Mc={__init__:["outline"],outline:["type",Pc]},Ac={width:36,height:50},Tc={width:50,height:50};function Bc(e,t,n){return vn("path",{d:e,strokeWidth:2,transform:`translate(${t.x}, ${t.y})`,...n})}function Rc(e,t){this._styles=t,e.registerProvider(this)}function Dc(e,t){var n;return"bpmn:DataObjectReference"===t?n=Ac:"bpmn:DataStoreReference"===t&&(n=Tc),e.width===n.width&&e.height===n.height}Rc.$inject=["outline","styles"],Rc.prototype.getOutline=function(e){const t=this._styles.cls("djs-outline",["no-fill"]);var n;if(!$r(e))return de(e,"bpmn:Gateway")?(ce((n=vn("rect")).style,{"transform-box":"fill-box",transform:"rotate(45deg)","transform-origin":"center"}),ln(n,ce({x:2,y:2,rx:4,width:e.width-4,height:e.height-4},t))):fe(e,["bpmn:Task","bpmn:SubProcess","bpmn:Group","bpmn:CallActivity"])?ln(n=vn("rect"),ce({x:-5,y:-5,rx:14,width:e.width+10,height:e.height+10},t)):de(e,"bpmn:EndEvent")?ln(n=vn("circle"),ce({cx:e.width/2,cy:e.height/2,r:e.width/2+5+1},t)):de(e,"bpmn:Event")?ln(n=vn("circle"),ce({cx:e.width/2,cy:e.height/2,r:e.width/2+5},t)):de(e,"bpmn:DataObjectReference")&&Dc(e,"bpmn:DataObjectReference")?n=Bc("M44.7648 11.3263L36.9892 2.64074C36.0451 1.58628 34.5651 0.988708 33.1904 0.988708H5.98667C3.22688 0.988708 0.989624 3.34892 0.989624 6.26039V55.0235C0.989624 57.9349 3.22688 60.2952 5.98667 60.2952H40.966C43.7257 60.2952 45.963 57.9349 45.963 55.0235V14.9459C45.963 13.5998 45.6407 12.3048 44.7648 11.3263Z",{x:-6,y:-6},t):de(e,"bpmn:DataStoreReference")&&Dc(e,"bpmn:DataStoreReference")&&(n=Bc("M1.03845 48.1347C1.03845 49.3511 1.07295 50.758 1.38342 52.064C1.69949 53.3938 2.32428 54.7154 3.56383 55.6428C6.02533 57.4841 10.1161 58.7685 14.8212 59.6067C19.5772 60.4538 25.1388 60.8738 30.6831 60.8738C36.2276 60.8738 41.7891 60.4538 46.545 59.6067C51.2504 58.7687 55.3412 57.4842 57.8028 55.6429C59.0424 54.7156 59.6673 53.3938 59.9834 52.064C60.2938 50.7579 60.3285 49.351 60.3285 48.1344V13.8415C60.3285 12.6249 60.2938 11.218 59.9834 9.91171C59.6673 8.58194 59.0423 7.2602 57.8027 6.33294C55.341 4.49168 51.2503 3.20723 46.545 2.36914C41.7891 1.522 36.2276 1.10204 30.6831 1.10205C25.1388 1.10206 19.5772 1.52206 14.8213 2.36923C10.1162 3.20734 6.02543 4.49183 3.5639 6.33314C2.32433 7.26038 1.69951 8.58206 1.38343 9.91181C1.07295 11.2179 1.03845 12.6247 1.03845 13.8411V48.1347Z",{x:-6,y:-6},t)),n},Rc.prototype.updateOutline=function(e,t){if(!$r(e))return fe(e,["bpmn:SubProcess","bpmn:Group"])?(ln(t,{width:e.width+10,height:e.height+10}),!0):!!fe(e,["bpmn:Event","bpmn:Gateway","bpmn:DataStoreReference","bpmn:DataObjectReference"])};const Lc={__depends__:[Mc],__init__:["outlineProvider"],outlineProvider:["type",Rc]};function Nc(e){e&&"function"==typeof e.stopPropagation&&e.stopPropagation()}function zc(e){return e.originalEvent||e.srcEvent}function Ic(e){Nc(e),Nc(zc(e))}function Fc(e){return e.pointers&&e.pointers.length&&(e=e.pointers[0]),e.touches&&e.touches.length&&(e=e.touches[0]),e?{x:e.clientX,y:e.clientY}:null}function $c(){return/mac/i.test(navigator.platform)}function jc(e,t){return(zc(e)||e).button===t}function qc(e){return jc(e,0)}function Hc(e){var t=zc(e)||e;return!!qc(e)&&($c()?t.metaKey:t.ctrlKey)}function Vc(e){var t=zc(e)||e;return qc(e)&&t.shiftKey}function Wc(e){return!0}function Gc(e){return qc(e)||function(e){return jc(e,1)}(e)}function Qc(e,t,n){var i=this;function o(n,i,o){var r,s;(function(e,t){return!(l[e]||qc)(t)})(n,i)||(o?s=t.getGraphics(o):(r=i.delegateTarget||i.target)&&(s=r,o=t.get(s)),s&&o&&!1===e.fire(n,{element:o,gfx:s,originalEvent:i})&&(i.stopPropagation(),i.preventDefault()))}var r={};function s(e){return r[e]}var a={click:"element.click",contextmenu:"element.contextmenu",dblclick:"element.dblclick",mousedown:"element.mousedown",mousemove:"element.mousemove",mouseover:"element.hover",mouseout:"element.out",mouseup:"element.mouseup"},l={"element.contextmenu":Wc,"element.mousedown":Gc,"element.mouseup":Gc,"element.click":Gc,"element.dblclick":Gc};function c(e,t,n,i){var s=r[n]=function(e){o(n,e)};i&&(l[n]=i),s.$delegate=Xt.bind(e,"svg, .djs-element",t,s)}function u(e,t,n){var i=s(n);i&&Xt.unbind(e,t,i.$delegate)}e.on("canvas.destroy",(function(e){!function(e){V(a,(function(t,n){u(e,n,t)}))}(e.svg)})),e.on("canvas.init",(function(e){!function(e){V(a,(function(t,n){c(e,n,t)}))}(e.svg)})),e.on(["shape.added","connection.added"],(function(t){var n=t.element,i=t.gfx;e.fire("interactionEvents.createHit",{element:n,gfx:i})})),e.on(["shape.changed","connection.changed"],500,(function(t){var n=t.element,i=t.gfx;e.fire("interactionEvents.updateHit",{element:n,gfx:i})})),e.on("interactionEvents.createHit",500,(function(e){var t=e.element,n=e.gfx;i.createDefaultHit(t,n)})),e.on("interactionEvents.updateHit",(function(e){var t=e.element,n=e.gfx;i.updateDefaultHit(t,n)}));var h=f("djs-hit djs-hit-stroke"),p=f("djs-hit djs-hit-click-stroke"),d={all:f("djs-hit djs-hit-all"),"click-stroke":p,stroke:h,"no-move":f("djs-hit djs-hit-no-move")};function f(e,t){return t=ce({stroke:"white",strokeWidth:15},t||{}),n.cls(e,["no-fill","no-border"],t)}function m(e,t){var n=d[t];if(!n)throw new Error("invalid hit type <"+t+">");return ln(e,n),e}function g(e,t){on(e,t)}this.removeHits=function(e){V(en(".djs-hit",e),Pn)},this.createDefaultHit=function(e,t){var n,i=e.waypoints,o=e.isFrame;return i?this.createWaypointsHit(t,i):(n=o?"stroke":"all",this.createBoxHit(t,n,{width:e.width,height:e.height}))},this.createWaypointsHit=function(e,t){var n=Io(t);return m(n,"stroke"),g(e,n),n},this.createBoxHit=function(e,t,n){n=ce({x:0,y:0},n);var i=vn("rect");return m(i,t),ln(i,n),g(e,i),i},this.updateDefaultHit=function(e,t){var n=Jt(".djs-hit",t);if(n)return e.waypoints?Fo(n,e.waypoints):ln(n,{width:e.width,height:e.height}),n},this.fire=o,this.triggerMouseEvent=function(e,t,n){var i=a[e];if(!i)throw new Error("unmapped DOM event name <"+e+">");return o(i,t,n)},this.mouseHandler=s,this.registerEvent=c,this.unregisterEvent=u}Qc.$inject=["eventBus","elementRegistry","styles"];const Xc={__init__:["interactionEvents"],interactionEvents:["type",Qc]};function Uc(e,t){this._eventBus=e,this._canvas=t,this._selectedElements=[];var n=this;e.on(["shape.remove","connection.remove"],(function(e){var t=e.element;n.deselect(t)})),e.on(["diagram.clear","root.set"],(function(e){n.select(null)}))}Uc.$inject=["eventBus","canvas"],Uc.prototype.deselect=function(e){var t=this._selectedElements,n=t.indexOf(e);if(-1!==n){var i=t.slice();t.splice(n,1),this._eventBus.fire("selection.changed",{oldSelection:i,newSelection:t})}},Uc.prototype.get=function(){return this._selectedElements},Uc.prototype.isSelected=function(e){return-1!==this._selectedElements.indexOf(e)},Uc.prototype.select=function(e,t){var n=this._selectedElements,i=n.slice();L(e)||(e=e?[e]:[]);var o=this._canvas,r=o.getRootElement();e=e.filter((function(e){var t=o.findRoot(e);return r===t})),t?V(e,(function(e){-1===n.indexOf(e)&&n.push(e)})):this._selectedElements=n=e.slice(),this._eventBus.fire("selection.changed",{oldSelection:i,newSelection:n})};var Yc="hover",Kc="selected";function Zc(e,t,n){this._canvas=e;var i=this;function o(t,n){e.addMarker(t,n)}function r(t,n){e.removeMarker(t,n)}this._multiSelectionBox=null,t.on("element.hover",(function(e){o(e.element,Yc)})),t.on("element.out",(function(e){r(e.element,Yc)})),t.on("selection.changed",(function(e){var t=e.oldSelection,n=e.newSelection;V(t,(function(e){-1===n.indexOf(e)&&function(e){r(e,Kc)}(e)})),V(n,(function(e){-1===t.indexOf(e)&&function(e){o(e,Kc)}(e)})),i._updateSelectionOutline(n)})),t.on("element.changed",(function(e){n.isSelected(e.element)&&i._updateSelectionOutline(n.get())}))}function Jc(e,t,n,i){e.on("create.end",500,(function(e){var n=e.context,i=n.canExecute,o=n.elements,r=(n.hints||{}).autoSelect;if(i){if(!1===r)return;L(r)?t.select(r):t.select(o.filter(eu))}})),e.on("connect.end",500,(function(e){var n=e.context.connection;n&&t.select(n)})),e.on("shape.move.end",500,(function(e){var n=e.previousSelection||[],o=i.get(e.context.shape.id);j(n,(function(e){return o.id===e.id}))||t.select(o)})),e.on("element.click",(function(e){if(qc(e)){var i=e.element;i===n.getRootElement()&&(i=null);var o=t.isSelected(i),r=t.get().length>1,s=Vc(e);if(o&&r)return s?t.deselect(i):t.select(i);o?t.deselect(i):t.select(i,s)}}))}function eu(e){return!e.hidden}Zc.$inject=["canvas","eventBus","selection"],Zc.prototype._updateSelectionOutline=function(e){var t=this._canvas.getLayer("selectionOutline");pn(t);var n=e.length>1;if(un(this._canvas.getContainer())[n?"add":"remove"]("djs-multi-select"),n){var i=function(e){return{x:e.x-6,y:e.y-6,width:e.width+12,height:e.height+12}}(Wo(e)),o=vn("rect");ln(o,ce({rx:3},i)),un(o).add("djs-selection-outline"),on(t,o)}},Jc.$inject=["eventBus","selection","canvas","elementRegistry"];const tu={__init__:["selectionVisuals","selectionBehavior"],__depends__:[Xc,Mc],selection:["type",Uc],selectionVisuals:["type",Zc],selectionBehavior:["type",Jc]};function nu(e){ol.call(this,e)}lt(nu,ol),nu.prototype._modules=[Kl,Oc,Lc,oc,tu,Gl],nu.prototype._moddleExtensions={};var iu=["c","C"],ou=["v","V"],ru=["y","Y"],su=["z","Z"];function au(e){return!e.altKey&&(e.ctrlKey||e.metaKey)}function lu(e,t){return-1!==(e=L(e)?e:[e]).indexOf(t.key)||-1!==e.indexOf(t.code)}function cu(e){return e.shiftKey}var uu="keyboard.keydown",hu="input-handle-modified-keys";function pu(e,t){var n=this;this._config=e||{},this._eventBus=t,this._keydownHandler=this._keydownHandler.bind(this),this._keyupHandler=this._keyupHandler.bind(this),t.on("diagram.destroy",(function(){n._fire("destroy"),n.unbind()})),t.on("diagram.init",(function(){n._fire("init")})),t.on("attach",(function(){e&&e.bindTo&&n.bind(e.bindTo)})),t.on("detach",(function(){n.unbind()}))}pu.$inject=["config.keyboard","eventBus"],pu.prototype._keydownHandler=function(e){this._keyHandler(e,uu)},pu.prototype._keyupHandler=function(e){this._keyHandler(e,"keyboard.keyup")},pu.prototype._keyHandler=function(e,t){if(!this._isEventIgnored(e)){var n={keyEvent:e};this._eventBus.fire(t||uu,n)&&e.preventDefault()}},pu.prototype._isEventIgnored=function(e){return!!e.defaultPrevented||((t=e.target)&&(Zt(t,"input, textarea")||"true"===t.contentEditable)||function(e){return e&&Zt(e,"button, input[type=submit], input[type=button], a[href], [aria-role=button]")}(e.target)&&lu([" ","Enter"],e))&&this._isModifiedKeyIgnored(e);var t},pu.prototype._isModifiedKeyIgnored=function(e){return!au(e)||-1===this._getAllowedModifiers(e.target).indexOf(e.key)},pu.prototype._getAllowedModifiers=function(e){var t=Ft(e,"["+hu+"]",!0);return!t||this._node&&!this._node.contains(t)?[]:t.getAttribute(hu).split(",")},pu.prototype.bind=function(e){this.unbind(),this._node=e,Gt.bind(e,"keydown",this._keydownHandler),Gt.bind(e,"keyup",this._keyupHandler),this._fire("bind")},pu.prototype.getBinding=function(){return this._node},pu.prototype.unbind=function(){var e=this._node;e&&(this._fire("unbind"),Gt.unbind(e,"keydown",this._keydownHandler),Gt.unbind(e,"keyup",this._keyupHandler)),this._node=null},pu.prototype._fire=function(e){this._eventBus.fire("keyboard."+e,{node:this._node})},pu.prototype.addListener=function(e,t,n){I(e)&&(n=t,t=e,e=1e3),this._eventBus.on(n||uu,e,t)},pu.prototype.removeListener=function(e,t){this._eventBus.off(t||uu,e)},pu.prototype.hasModifier=function(e){return e.ctrlKey||e.metaKey||e.shiftKey||e.altKey},pu.prototype.isCmd=au,pu.prototype.isShift=cu,pu.prototype.isKey=lu;var du=500;function fu(e,t){var n=this;e.on("editorActions.init",du,(function(e){var i=e.editorActions;n.registerBindings(t,i)}))}fu.$inject=["eventBus","keyboard"],fu.prototype.registerBindings=function(e,t){function n(n,i){t.isRegistered(n)&&e.addListener(i)}n("undo",(function(e){if(au(n=e.keyEvent)&&!cu(n)&&lu(su,n))return t.trigger("undo"),!0;var n})),n("redo",(function(e){if(au(n=e.keyEvent)&&(lu(ru,n)||lu(su,n)&&cu(n)))return t.trigger("redo"),!0;var n})),n("copy",(function(e){if(au(n=e.keyEvent)&&lu(iu,n))return t.trigger("copy"),!0;var n})),n("paste",(function(e){if(au(n=e.keyEvent)&&lu(ou,n))return t.trigger("paste"),!0;var n})),n("stepZoom",(function(e){var n=e.keyEvent;if(lu(["+","Add","="],n)&&au(n))return t.trigger("stepZoom",{value:1}),!0})),n("stepZoom",(function(e){var n=e.keyEvent;if(lu(["-","Subtract"],n)&&au(n))return t.trigger("stepZoom",{value:-1}),!0})),n("zoom",(function(e){var n=e.keyEvent;if(lu("0",n)&&au(n))return t.trigger("zoom",{value:1}),!0})),n("removeSelection",(function(e){if(lu(["Backspace","Delete","Del"],e.keyEvent))return t.trigger("removeSelection"),!0}))};const mu={__init__:["keyboard","keyboardBindings"],keyboard:["type",pu],keyboardBindings:["type",fu]};var gu={moveSpeed:50,moveSpeedAccelerated:200};function vu(e,t,n){var i=this;this._config=ce({},gu,e||{}),t.addListener((function(e){var n=e.keyEvent,o=i._config;if(t.isCmd(n)&&t.isKey(["ArrowLeft","Left","ArrowUp","Up","ArrowDown","Down","ArrowRight","Right"],n)){var r,s=t.isShift(n)?o.moveSpeedAccelerated:o.moveSpeed;switch(n.key){case"ArrowLeft":case"Left":r="left";break;case"ArrowUp":case"Up":r="up";break;case"ArrowRight":case"Right":r="right";break;case"ArrowDown":case"Down":r="down"}return i.moveCanvas({speed:s,direction:r}),!0}})),this.moveCanvas=function(e){var t=0,i=0,o=e.speed/Math.min(Math.sqrt(n.viewbox().scale),1);switch(e.direction){case"left":t=o;break;case"up":i=o;break;case"right":t=-o;break;case"down":i=-o}n.scroll({dx:t,dy:i})}}vu.$inject=["config.keyboardMove","keyboard","canvas"];const yu={__depends__:[mu],__init__:["keyboardMove"],keyboardMove:["type",vu]};var bu=/^djs-cursor-.*$/;function wu(e){var t=Nt(document.body);t.removeMatching(bu),e&&t.add("djs-cursor-"+e)}function xu(){wu(null)}var _u=5e3;function Eu(e,t){function n(){return!1}return t=t||"element.click",e.once(t,_u,n),function(){e.off(t,n)}}function ku(e){return{x:e.x+e.width/2,y:e.y+e.height/2}}function Su(e,t){return{x:e.x-t.x,y:e.y-t.y}}function Cu(e,t){var n;function i(i){var o,r=n.start,s=n.button,a=Fc(i),l=Su(a,r);!n.dragging&&(o=l,Math.sqrt(Math.pow(o.x,2)+Math.pow(o.y,2))>15)&&(n.dragging=!0,0===s&&Eu(e),wu("grab")),n.dragging&&(l=Su(a,n.last||n.start),t.scroll({dx:l.x,dy:l.y}),n.last=a),i.preventDefault()}function o(e){Gt.unbind(document,"mousemove",i),Gt.unbind(document,"mouseup",o),n=null,xu()}e.on("element.mousedown",500,(function(e){return function(e){if(!Ft(e.target,".djs-draggable")){var t=e.button;if(!(t>=2||e.ctrlKey||e.shiftKey||e.altKey))return n={button:t,start:Fc(e)},Gt.bind(document,"mousemove",i),Gt.bind(document,"mouseup",o),!0}}(e.originalEvent)})),this.isActive=function(){return!!n}}Cu.$inject=["eventBus","canvas"];const Ou={__init__:["moveCanvas"],moveCanvas:["type",Cu]};function Pu(e){return Math.log(e)/Math.log(10)}function Mu(e,t){var n=Pu(e.min),i=Pu(e.max);return(Math.abs(n)+Math.abs(i))/t}var Au=Math.sign||function(e){return e>=0?1:-1},Tu={min:.2,max:4};function Bu(e,t,n){e=e||{},this._enabled=!1,this._canvas=n,this._container=n._container,this._handleWheel=le(this._handleWheel,this),this._totalDelta=0,this._scale=e.scale||.75;var i=this;t.on("canvas.init",(function(t){i._init(!1!==e.enabled)}))}Bu.$inject=["config.zoomScroll","eventBus","canvas"],Bu.prototype.scroll=function(e){this._canvas.scroll(e)},Bu.prototype.reset=function(){this._canvas.zoom("fit-viewport")},Bu.prototype.zoom=function(e,t){var n=Mu(Tu,20);this._totalDelta+=e,Math.abs(this._totalDelta)>.1&&(this._zoom(e,t,n),this._totalDelta=0)},Bu.prototype._handleWheel=function(e){if(!Ft(e.target,".djs-scrollable",!0)){var t=this._container;e.preventDefault();var n,i=e.ctrlKey||$c()&&e.metaKey,o=e.shiftKey,r=-1*this._scale;if(r*=i?0===e.deltaMode?.02:.32:0===e.deltaMode?1:16,i){var s=t.getBoundingClientRect(),a={x:e.clientX-s.left,y:e.clientY-s.top};n=Math.sqrt(Math.pow(e.deltaY,2)+Math.pow(e.deltaX,2))*Au(e.deltaY)*r,this.zoom(n,a)}else n=o?{dx:r*e.deltaY,dy:0}:{dx:r*e.deltaX,dy:r*e.deltaY},this.scroll(n)}},Bu.prototype.stepZoom=function(e,t){var n=Mu(Tu,10);this._zoom(e,t,n)},Bu.prototype._zoom=function(e,t,n){var i=this._canvas,o=e>0?1:-1,r=Pu(i.zoom()),s=Math.round(r/n)*n;s+=n*o;var a,l,c=Math.pow(10,s);i.zoom((a=Tu,l=c,Math.max(a.min,Math.min(a.max,l))),t)},Bu.prototype.toggle=function(e){var t=this._container,n=this._handleWheel,i=this._enabled;return void 0===e&&(e=!i),i!==e&&Gt[e?"bind":"unbind"](t,"wheel",n,!1),this._enabled=e,e},Bu.prototype._init=function(e){this.toggle(e)};const Ru={__init__:["zoomScroll"],zoomScroll:["type",Bu]};function Du(e){nu.call(this,e)}function Lu(e){return e&&e[e.length-1]}function Nu(e){return e.y}function zu(e){return e.x}lt(Du,nu),Du.prototype._navigationModules=[yu,Ou,Ru],Du.prototype._modules=[].concat(nu.prototype._modules,Du.prototype._navigationModules);var Iu={left:zu,center:zu,right:function(e){return e.x+e.width},top:Nu,middle:Nu,bottom:function(e){return e.y+e.height}};function Fu(e,t){this._modeling=e,this._rules=t}Fu.$inject=["modeling","rules"],Fu.prototype._getOrientationDetails=function(e){var t="x",n="width";return-1!==["top","bottom","middle"].indexOf(e)&&(t="y",n="height"),{axis:t,dimension:n}},Fu.prototype._isType=function(e,t){return-1!==t.indexOf(e)},Fu.prototype._alignmentPosition=function(e,t){var n,i,o,r,s,a=this._getOrientationDetails(e),l=a.axis,c=a.dimension,u={},h={},p=!1;if(this._isType(e,["left","top"]))u[e]=t[0][l];else if(this._isType(e,["right","bottom"]))o=Lu(t),u[e]=o[l]+o[c];else if(this._isType(e,["center","middle"])){if(V(t,(function(e){var t=e[l]+Math.round(e[c]/2);h[t]?h[t].elements.push(e):h[t]={elements:[e],center:t}})),n=te(h,(function(e){return e.elements.length>1&&(p=!0),e.elements.length})),p)return u[e]=Lu(n).center,u;i=t[0],o=Lu(t=te(t,(function(e){return e[l]+e[c]}))),u[e]=(r=i,s=o,Math.round((r[l]+s[l]+s[c])/2))}return u},Fu.prototype.trigger=function(e,t){var n,i=this._modeling,o=H(e,(function(e){return!(e.waypoints||e.host||e.labelTarget)}));if(L(n=this._rules.allowed("elements.align",{elements:o}))&&(o=n),!(o.length<2)&&n){var r=te(o,Iu[t]),s=this._alignmentPosition(t,r);i.alignElements(r,s)}};const $u={__init__:["alignElements"],alignElements:["type",Fu]},ju=new Zl;function qu(e){this._scheduled={},e.on("diagram.destroy",(()=>{Object.keys(this._scheduled).forEach((e=>{this.cancel(e)}))}))}qu.$inject=["eventBus"],qu.prototype.schedule=function(e,t=ju.next()){this.cancel(t);const n=this._schedule(e,t);return this._scheduled[t]=n,n.promise},qu.prototype._schedule=function(e,t){const{promise:n,resolve:i,reject:o}=function(){let e,t;return{promise:new Promise(((n,i)=>{e=n,t=i})),resolve:e,reject:t}}(),r=requestAnimationFrame((()=>{try{i(e())}catch(e){o(e)}}));return{executionId:r,promise:n}},qu.prototype.cancel=function(e){const t=this._scheduled[e];t&&(this._cancel(t),this._scheduled[e]=null)},qu.prototype._cancel=function(e){cancelAnimationFrame(e.executionId)};const Hu={scheduler:["type",qu]};var Vu=".entry";function Wu(e,t,n,i){this._canvas=e,this._elementRegistry=t,this._eventBus=n,this._scheduler=i,this._current=null,this._init()}Wu.$inject=["canvas","elementRegistry","eventBus","scheduler"],Wu.prototype._init=function(){var e=this;this._eventBus.on("selection.changed",(function(t){var n=t.newSelection,i=n.length?1===n.length?n[0]:n:null;i?e.open(i,!0):e.close()})),this._eventBus.on("elements.changed",(function(t){var n=t.elements,i=e._current;if(i){var o=i.target,r=L(o)?o:[o];if(r.filter((function(e){return n.includes(e)})).length){e.close();var s=r.filter((function(t){return e._elementRegistry.get(t.id)}));s.length&&e._updateAndOpen(s.length>1?s:s[0])}}})),this._eventBus.on("canvas.viewbox.changed",(function(){e._updatePosition()})),this._eventBus.on("element.marker.update",(function(t){if(e.isOpen()){var n=t.element,i=e._current;(L(i.target)?i.target:[i.target]).includes(n)&&e._updateVisibility()}})),this._container=this._createContainer()},Wu.prototype._createContainer=function(){var e=Kt('
    ');return this._canvas.getContainer().appendChild(e),e},Wu.prototype.registerProvider=function(e,t){t||(t=e,e=1e3),this._eventBus.on("contextPad.getProviders",e,(function(e){e.providers.push(t)}))},Wu.prototype.getEntries=function(e){var t=this._getProviders(),n=L(e)?"getMultiElementContextPadEntries":"getContextPadEntries",i={};return V(t,(function(t){if(I(t[n])){var o=t[n](e);I(o)?i=o(i):V(o,(function(e,t){i[t]=e}))}})),i},Wu.prototype.trigger=function(e,t,n){var i,o,r=this,s=t.delegateTarget||t.target;return s?(i=Dt(s,"data-action"),o=t.originalEvent||t,"mouseover"!==e?"mouseout"===e?(clearTimeout(this._timeout),void(this._mouseout&&(this._mouseout(),this._mouseout=null))):this.triggerEntry(i,e,o,n):void(this._timeout=setTimeout((function(){r._mouseout=r.triggerEntry(i,"hover",o,n)}),300))):t.preventDefault()},Wu.prototype.triggerEntry=function(e,t,n,i){if(this.isShown()){var o=this._current.target,r=this._current.entries[e];if(r){var s=r.action;if(!1!==this._eventBus.fire("contextPad.trigger",{entry:r,event:n})){if(I(s)){if("click"===t)return s(n,o,i)}else if(s[t])return s[t](n,o,i);n.preventDefault()}}}},Wu.prototype.open=function(e,t){!t&&this.isOpen(e)||(this.close(),this._updateAndOpen(e))},Wu.prototype._getProviders=function(){var e=this._eventBus.createEvent({type:"contextPad.getProviders",providers:[]});return this._eventBus.fire(e),e.providers},Wu.prototype._updateAndOpen=function(e){var t,n=this.getEntries(e),i=this._createHtml(e);V(n,(function(e,n){var o,r=e.group||"default",s=Kt(e.html||'
    ');Dt(s,"data-action",n),(o=Jt("[data-group="+hc(r)+"]",i))||(Dt(o=Kt('
    '),"data-group",r),i.appendChild(o)),o.appendChild(s),e.className&&function(e,t){var n=Nt(e);(t=L(t)?t:t.split(/\s+/g)).forEach((function(e){n.add(e)}))}(s,e.className),e.title&&Dt(s,"title",e.title),e.imageUrl&&(Dt(t=Kt(""),"src",e.imageUrl),t.style.width="100%",t.style.height="100%",s.appendChild(t))})),Nt(i).add("open"),this._current={entries:n,html:i,target:e},this._updatePosition(),this._updateVisibility(),this._eventBus.fire("contextPad.open",{current:this._current})},Wu.prototype._createHtml=function(e){var t=this,n=Kt('
    ');return Xt.bind(n,Vu,"click",(function(e){t.trigger("click",e)})),Xt.bind(n,Vu,"dragstart",(function(e){t.trigger("dragstart",e)})),Xt.bind(n,Vu,"mouseover",(function(e){t.trigger("mouseover",e)})),Xt.bind(n,Vu,"mouseout",(function(e){t.trigger("mouseout",e)})),Gt.bind(n,"mousedown",(function(e){e.stopPropagation()})),this._container.appendChild(n),this._eventBus.fire("contextPad.create",{target:e,pad:n}),n},Wu.prototype.getPad=function(e){let t;return console.warn(new Error("ContextPad#getPad is deprecated and will be removed in future library versions, cf. https://github.com/bpmn-io/diagram-js/pull/888")),t=this.isOpen()&&function(e,t){return e=L(e)?e:[e],t=L(t)?t:[t],e.length===t.length&&Q(e,(function(e){return t.includes(e)}))}(this._current.target,e)?this._current.html:this._createHtml(e),{html:t}},Wu.prototype.close=function(){this.isOpen()&&(clearTimeout(this._timeout),this._container.innerHTML="",this._eventBus.fire("contextPad.close",{current:this._current}),this._current=null)},Wu.prototype.isOpen=function(e){var t=this._current;if(!t)return!1;if(!e)return!0;var n=t.target;return L(e)===L(n)&&(L(e)?e.length===n.length&&Q(e,(function(e){return n.includes(e)})):n===e)},Wu.prototype.isShown=function(){return this.isOpen()&&Nt(this._current.html).has("open")},Wu.prototype.show=function(){this.isOpen()&&(Nt(this._current.html).add("open"),this._updatePosition(),this._eventBus.fire("contextPad.show",{current:this._current}))},Wu.prototype.hide=function(){this.isOpen()&&(Nt(this._current.html).remove("open"),this._eventBus.fire("contextPad.hide",{current:this._current}))},Wu.prototype._getPosition=function(e){if(!L(e)&&Fr(e)){var t=this._canvas.viewbox(),n=(r=e).waypoints[r.waypoints.length-1],i=n.x*t.scale-t.x*t.scale,o=n.y*t.scale-t.y*t.scale;return{left:i+8*this._canvas.zoom(),top:o}}var r,s=this._canvas.getContainer().getBoundingClientRect(),a=this._getTargetBounds(e);return{left:a.right-s.left+8*this._canvas.zoom(),top:a.top-s.top}},Wu.prototype._updatePosition=function(){this._scheduler.schedule((()=>{if(this.isOpen()){var e=this._current.html,t=this._getPosition(this._current.target);"x"in t&&"y"in t?(e.style.left=t.x+"px",e.style.top=t.y+"px"):["top","right","bottom","left"].forEach((function(n){n in t&&(e.style[n]=t[n]+"px")}))}}),"ContextPad#_updatePosition")},Wu.prototype._updateVisibility=function(){this._scheduler.schedule((()=>{if(this.isOpen()){var e=this,t=this._current.target;(L(t)?t:[t]).some((function(t){return e._canvas.hasMarker(t,"djs-element-hidden")}))?e.hide():e.show()}}),"ContextPad#_updateVisibility")},Wu.prototype._getTargetBounds=function(e){var t=this;return(L(e)?e:[e]).map((function(e){return t._canvas.getGraphics(e)})).reduce((function(e,t){const n=t.getBoundingClientRect();return e.top=Math.min(e.top,n.top),e.right=Math.max(e.right,n.right),e.bottom=Math.max(e.bottom,n.bottom),e.left=Math.min(e.left,n.left),e.x=e.left,e.y=e.top,e.width=e.right-e.left,e.height=e.bottom-e.top,e}),{top:1/0,right:-1/0,bottom:-1/0,left:1/0})};const Gu={__depends__:[Xc,Hu,oc],contextPad:["type",Wu]};var Qu,Xu,Uu,Yu,Ku,Zu,Ju,eh={},th=[],nh=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,ih=Array.isArray;function oh(e,t){for(var n in t)e[n]=t[n];return e}function rh(e){var t=e.parentNode;t&&t.removeChild(e)}function sh(e,t,n){var i,o,r,s={};for(r in t)"key"==r?i=t[r]:"ref"==r?o=t[r]:s[r]=t[r];if(arguments.length>2&&(s.children=arguments.length>3?Qu.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(r in e.defaultProps)void 0===s[r]&&(s[r]=e.defaultProps[r]);return ah(e,s,i,o,null)}function ah(e,t,n,i,o){var r={type:e,props:t,key:n,ref:i,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==o?++Uu:o,__i:-1,__u:0};return null==o&&null!=Xu.vnode&&Xu.vnode(r),r}function lh(e){return e.children}function ch(e,t){this.props=e,this.context=t}function uh(e,t){if(null==t)return e.__?uh(e.__,e.__i+1):null;for(var n;tt&&Yu.sort(Ju));dh.__r=0}function fh(e,t,n,i,o,r,s,a,l,c,u){var h,p,d,f,m,g=i&&i.__k||th,v=t.length;for(n.__d=l,mh(n,t,g),l=n.__d,h=0;h0?ah(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):o)?(o.__=e,o.__b=e.__b+1,a=vh(o,n,s,u),o.__i=a,r=null,-1!==a&&(u--,(r=n[a])&&(r.__u|=131072)),null==r||null===r.__v?(-1==a&&h--,"function"!=typeof o.type&&(o.__u|=65536)):a!==s&&(a===s+1?h++:a>s?u>l-s?h+=a-s:h--:a(null==l||131072&l.__u?0:1))for(;s>=0||a=0){if((l=t[s])&&!(131072&l.__u)&&o==l.key&&r===l.type)return s;s--}if(a=5&&((o||!e&&5===i)&&(s.push(i,0,o,n),i=6),e&&(s.push(i,e,0,n),i=6)),o=""},l=0;l"===t?(i=1,o=""):o=t+o[0]:r?t===r?r="":o+=t:'"'===t||"'"===t?r=t:">"===t?(a(),i=1):i&&("="===t?(i=5,n=o,o=""):"/"===t&&(i<5||">"===e[l][c+1])?(a(),3===i&&(s=s[0]),i=s,(s=s[0]).push(2,0,i),i=0):" "===t||"\t"===t||"\n"===t||"\r"===t?(a(),i=2):o+=t),3===i&&"!--"===o&&(i=4,s=s[0])}return a(),s}(e)),t),arguments,[])).length>1?t:t[0]}.bind(sh),Nh=0,zh=[],Ih=[],Fh=Xu,$h=Fh.__b,jh=Fh.__r,qh=Fh.diffed,Hh=Fh.__c,Vh=Fh.unmount,Wh=Fh.__;function Gh(e,t){Fh.__h&&Fh.__h(Ah,e,Nh||t),Nh=0;var n=Ah.__H||(Ah.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({__V:Ih}),n.__[e]}function Qh(e){return Nh=1,function(e,t,n){var i=Gh(Mh++,2);if(i.t=e,!i.__c&&(i.__=[rp(void 0,t),function(e){var t=i.__N?i.__N[0]:i.__[0],n=i.t(t,e);t!==n&&(i.__N=[n,i.__[1]],i.__c.setState({}))}],i.__c=Ah,!Ah.u)){var o=function(e,t,n){if(!i.__c.__H)return!0;var o=i.__c.__H.__.filter((function(e){return!!e.__c}));if(o.every((function(e){return!e.__N})))return!r||r.call(this,e,t,n);var s=!1;return o.forEach((function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(s=!0)}})),!(!s&&i.__c.props===e)&&(!r||r.call(this,e,t,n))};Ah.u=!0;var r=Ah.shouldComponentUpdate,s=Ah.componentWillUpdate;Ah.componentWillUpdate=function(e,t,n){if(this.__e){var i=r;r=void 0,o(e,t,n),r=i}s&&s.call(this,e,t,n)},Ah.shouldComponentUpdate=o}return i.__N||i.__}(rp,e)}function Xh(e,t){var n=Gh(Mh++,3);!Fh.__s&&op(n.__H,t)&&(n.__=e,n.i=t,Ah.__H.__h.push(n))}function Uh(e,t){var n=Gh(Mh++,4);!Fh.__s&&op(n.__H,t)&&(n.__=e,n.i=t,Ah.__h.push(n))}function Yh(e){return Nh=5,Kh((function(){return{current:e}}),[])}function Kh(e,t){var n=Gh(Mh++,7);return op(n.__H,t)?(n.__V=e(),n.i=t,n.__h=e,n.__V):n.__}function Zh(e,t){return Nh=8,Kh((function(){return e}),t)}function Jh(){for(var e;e=zh.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(np),e.__H.__h.forEach(ip),e.__H.__h=[]}catch(t){e.__H.__h=[],Fh.__e(t,e.__v)}}Fh.__b=function(e){Ah=null,$h&&$h(e)},Fh.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Wh&&Wh(e,t)},Fh.__r=function(e){jh&&jh(e),Mh=0;var t=(Ah=e.__c).__H;t&&(Th===Ah?(t.__h=[],Ah.__h=[],t.__.forEach((function(e){e.__N&&(e.__=e.__N),e.__V=Ih,e.__N=e.i=void 0}))):(t.__h.forEach(np),t.__h.forEach(ip),t.__h=[],Mh=0)),Th=Ah},Fh.diffed=function(e){qh&&qh(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(1!==zh.push(t)&&Bh===Fh.requestAnimationFrame||((Bh=Fh.requestAnimationFrame)||tp)(Jh)),t.__H.__.forEach((function(e){e.i&&(e.__H=e.i),e.__V!==Ih&&(e.__=e.__V),e.i=void 0,e.__V=Ih}))),Th=Ah=null},Fh.__c=function(e,t){t.some((function(e){try{e.__h.forEach(np),e.__h=e.__h.filter((function(e){return!e.__||ip(e)}))}catch(n){t.some((function(e){e.__h&&(e.__h=[])})),t=[],Fh.__e(n,e.__v)}})),Hh&&Hh(e,t)},Fh.unmount=function(e){Vh&&Vh(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach((function(e){try{np(e)}catch(e){t=e}})),n.__H=void 0,t&&Fh.__e(t,n.__v))};var ep="function"==typeof requestAnimationFrame;function tp(e){var t,n=function(){clearTimeout(i),ep&&cancelAnimationFrame(t),setTimeout(e)},i=setTimeout(n,100);ep&&(t=requestAnimationFrame(n))}function np(e){var t=Ah,n=e.__c;"function"==typeof n&&(e.__c=void 0,n()),Ah=t}function ip(e){var t=Ah;e.__c=e.__(),Ah=t}function op(e,t){return!e||e.length!==t.length||t.some((function(t,n){return t!==e[n]}))}function rp(e,t){return"function"==typeof t?t(e):t}function sp(e){var t,n,i="";if("string"==typeof e||"number"==typeof e)i+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;tt.reduce(((e,t)=>{const n=t.group||"default",i=e.find((e=>e.id===n));return i?i.entries.push(t):e.push({id:n,entries:[t]}),e}),[])),[t]);return Lh` +
    +

    ${r}

    + ${s.map((e=>Lh` +
      + + ${e.entries.map((e=>Lh` +
    • + <${e.action?"button":"span"} + class=${function(e,t){return ap("entry",e.className,e.active?"active":"",e.disabled?"disabled":"",t?"selected":"")}(e,e===i)} + onClick=${t=>e.action&&n(t,e)} + title=${e.title||e.label} + data-id=${e.id} + onMouseEnter=${()=>e.action&&o(e)} + onMouseLeave=${()=>e.action&&o(null)} + onFocus=${()=>e.action&&o(e)} + onBlur=${()=>e.action&&o(null)} + > + ${e.imageUrl&&Lh``||e.imageHtml&&Lh`
      `} + ${e.label?Lh` + ${e.label} + `:null} + +
    • + `))} +
    + `))} +
    + `}function cp(e){const{entry:t,selected:n,onMouseEnter:i,onMouseLeave:o,onAction:r}=e;return Lh` +
  • r(e,t,"dragstart")} + draggable=${!0} + > +
    + + ${t.imageUrl&&Lh``||t.imageHtml&&Lh`
    `} + + ${t.label?Lh` + + ${t.label} + + `:null} + + ${t.description&&Lh` + + ${t.description} + + `} +
    + ${t.documentationRef&&Lh` +
    + e.stopPropagation()} + title="Open element documentation" + target="_blank" + rel="noopener" + > + + + + +
    + `} +
  • + `}function up(e){const{selectedEntry:t,setSelectedEntry:n,entries:i,...o}=e,r=Yh(),s=Kh((()=>function(e){const t=[],n=e=>t.find((t=>e.id===t.id));return e.forEach((e=>{const i=e.group?(e=>"string"==typeof e?{id:e}:e)(e.group):{id:"default"};(e=>!!n(e))(i)?n(i).entries.push(e):t.push({...i,entries:[e]})})),t}(i)),[i]);return Uh((()=>{const e=r.current;if(!e)return;const t=e.querySelector(".selected");var n;t&&("function"==typeof(n=t).scrollIntoViewIfNeeded?n.scrollIntoViewIfNeeded():n.scrollIntoView({scrollMode:"if-needed",block:"nearest"}))}),[t]),Lh` +
    + ${s.map((e=>Lh` + ${e.name&&Lh` +
    + ${e.name} +
    + `} +
      + ${e.entries.map((e=>Lh` + <${cp} + key=${e.id} + entry=${e} + selected=${e===t} + onMouseEnter=${()=>n(e)} + onMouseLeave=${()=>n(null)} + ...${o} + /> + `))} +
    + `))} +
    + `}function hp(e){const{onClose:t,onSelect:n,className:i,headerEntries:o,position:r,title:s,width:a,scale:l,search:c,emptyPlaceholder:u,entries:h,onOpened:p,onClosed:d}=e,f=Kh((()=>!!R(c)&&h.length>5),[c,h]),[m,g]=Qh(""),v=Zh(((e,t)=>f?e.filter((e=>{if(!t)return(e.rank||0)>=0;if(!1===e.searchable)return!1;const n=[e.description||"",e.label||"",e.search||""].map((e=>e.toLowerCase()));return t.toLowerCase().split(/\s/g).every((e=>n.some((t=>t.includes(e)))))})):e),[f]),[y,b]=Qh(v(h,m)),[w,x]=Qh(y[0]),_=Zh((e=>{w&&e.includes(w)||x(e[0]),b(e)}),[w,b,x]);Xh((()=>{_(v(h,m))}),[m,h]);const E=Zh((e=>{let t=y.indexOf(w)+e;t<0&&(t=y.length-1),t>=y.length&&(t=0),x(y[t])}),[y,w,x]),k=Zh((e=>"Enter"===e.key&&w?n(e,w):"ArrowUp"===e.key?(E(-1),e.preventDefault()):"ArrowDown"===e.key?(E(1),e.preventDefault()):void 0),[n,w,E]),S=Zh((e=>{Zt(e.target,"input")&&g((()=>e.target.value))}),[g]);Xh((()=>(p(),()=>{d()})),[]);const C=Kh((()=>s||o.length>0),[s,o]);return Lh` + <${pp} + onClose=${t} + onKeyup=${S} + onKeydown=${k} + className=${i} + position=${r} + width=${a} + scale=${l} + > + ${C&&Lh` + <${lp} + headerEntries=${o} + onSelect=${n} + selectedEntry=${w} + setSelectedEntry=${x} + title=${s} + /> + `} + ${h.length>0&&Lh` +
    + + ${f&&Lh` + + `} + + <${up} + entries=${y} + selectedEntry=${w} + setSelectedEntry=${x} + onAction=${n} + /> +
    + `} + ${u&&0===y.length&&Lh` +
    ${I(u)?u(m):u}
    + `} + + `}function pp(e){const{onClose:t,onKeydown:n,onKeyup:i,className:o,children:r,position:s}=e,a=Yh();return Uh((()=>{if("function"!=typeof s)return;const e=a.current,t=s(e);e.style.left=`${t.x}px`,e.style.top=`${t.y}px`}),[a.current,s]),Uh((()=>{const e=a.current;e&&(e.querySelector("input")||e).focus()}),[]),Xh((()=>{const e=e=>{if("Escape"===e.key)return e.preventDefault(),t()},n=e=>{if(!Ft(e.target,".djs-popup",!0))return t()};return document.documentElement.addEventListener("keydown",e),document.body.addEventListener("click",n),()=>{document.documentElement.removeEventListener("keydown",e),document.body.removeEventListener("click",n)}}),[]),Lh` +
    + ${r} +
    + `}var dp=["contextPad.close","canvas.viewbox.changing","commandStack.changed"];function fp(e,t,n){this._eventBus=t,this._canvas=n,this._current=null;var i=R(e&&e.scale)?e.scale:{min:1,max:1};this._config={scale:i},t.on("diagram.destroy",(()=>{this.close()})),t.on("element.changed",(e=>{const t=this.isOpen()&&this._current.target;e.element===t&&this.refresh()}))}fp.$inject=["config.popupMenu","eventBus","canvas"],fp.prototype._render=function(){const{position:e,providerId:t,entries:n,headerEntries:i,emptyPlaceholder:o,options:r}=this._current,s=Object.entries(n).map((([e,t])=>({id:e,...t}))),a=Object.entries(i).map((([e,t])=>({id:e,...t}))),l=e&&(t=>this._ensureVisible(t,e)),c=this._updateScale(this._current.container);Ph(Lh` + <${hp} + onClose=${e=>this.close(e)} + onSelect=${(e,t,n)=>this.trigger(e,t,n)} + position=${l} + className=${t} + entries=${s} + headerEntries=${a} + emptyPlaceholder=${o} + scale=${c} + onOpened=${this._onOpened.bind(this)} + onClosed=${this._onClosed.bind(this)} + ...${{...r}} + /> + `,this._current.container)},fp.prototype.open=function(e,t,n,i){if(!e)throw new Error("target is missing");if(!t)throw new Error("providers for <"+t+"> not found");if(!n)throw new Error("position is missing");this.isOpen()&&this.close();const{entries:o,headerEntries:r,emptyPlaceholder:s}=this._getContext(e,t);this._current={position:n,providerId:t,target:e,entries:o,headerEntries:r,emptyPlaceholder:s,container:this._createContainer({provider:t}),options:i},this._emit("open"),this._bindAutoClose(),this._render()},fp.prototype.refresh=function(){if(!this.isOpen())return;const{target:e,providerId:t}=this._current,{entries:n,headerEntries:i,emptyPlaceholder:o}=this._getContext(e,t);this._current={...this._current,entries:n,headerEntries:i,emptyPlaceholder:o},this._emit("refresh"),this._render()},fp.prototype._getContext=function(e,t){const n=this._getProviders(t);if(!n||!n.length)throw new Error("provider for <"+t+"> not found");const i=this._getEntries(e,n),o=this._getHeaderEntries(e,n);return{entries:i,headerEntries:o,emptyPlaceholder:this._getEmptyPlaceholder(n),empty:!(Object.keys(i).length||Object.keys(o).length)}},fp.prototype.close=function(){this.isOpen()&&(this._emit("close"),this.reset(),this._current=null)},fp.prototype.reset=function(){const e=this._current.container;Ph(null,e),tn(e)},fp.prototype._emit=function(e,t){this._eventBus.fire(`popupMenu.${e}`,t)},fp.prototype._onOpened=function(){this._emit("opened")},fp.prototype._onClosed=function(){this._emit("closed")},fp.prototype._createContainer=function(e){var t=this._canvas.getContainer();const n=Kt(`
    `);return t.appendChild(n),n},fp.prototype._bindAutoClose=function(){this._eventBus.once(dp,this.close,this)},fp.prototype._unbindAutoClose=function(){this._eventBus.off(dp,this.close,this)},fp.prototype._updateScale=function(){var e,t,n=this._canvas.zoom(),i=this._config.scale,o=n;return!0!==i&&(!1===i?(e=1,t=1):(e=i.min,t=i.max),R(e)&&nt&&(o=t)),o},fp.prototype._ensureVisible=function(e,t){var n=document.documentElement.getBoundingClientRect(),i=e.getBoundingClientRect(),o={},r=t.x,s=t.y;return t.x+i.width>n.width&&(o.x=!0),t.y+i.height>n.height&&(o.y=!0),o.x&&o.y?(r=t.x-i.width,s=t.y-i.height):o.x?(r=t.x-i.width,s=t.y):o.y&&t.yI(e.getEmptyPlaceholder)));return t&&t.getEmptyPlaceholder()},fp.prototype.isOpen=function(){return!!this._current},fp.prototype.trigger=function(e,t,n="click"){if(e.preventDefault(),!t){let n=Dt(Ft(e.delegateTarget||e.target,".entry",!0),"data-id");t={id:n,...this._getEntry(n)}}const i=t.action;if(!1!==this._emit("trigger",{entry:t,event:e}))if(I(i)){if("click"===n)return i(e,t)}else if(i[n])return i[n](e,t)},fp.prototype._getEntry=function(e){var t=this._current.entries[e]||this._current.headerEntries[e];if(!t)throw new Error("entry not found");return t};const mp={__init__:["popupMenu"],popupMenu:["type",fp]},gp={align:'\n \n \n \n ',bottom:'\n \n \n \n ',center:'\n \n \n \n ',left:'\n \n \n \n ',right:'\n \n \n \n ',top:'\n \n \n \n ',middle:'\n \n \n \n '};function vp(e,t,n,i){e.registerProvider(900,this),this._contextPad=e,this._popupMenu=t,this._translate=n,this._canvas=i}vp.$inject=["contextPad","popupMenu","translate","canvas"],vp.prototype.getMultiElementContextPadEntries=function(e){var t={};return this._isAllowed(e)&&ce(t,this._getEntries(e)),t},vp.prototype._isAllowed=function(e){return!this._popupMenu.isEmpty(e,"align-elements")},vp.prototype._getEntries=function(){var e=this;return{"align-elements":{group:"align-elements",title:e._translate("Align elements"),html:`
    ${gp.align}
    `,action:{click:function(t,n){var i=e._getMenuPosition(n);ce(i,{cursor:{x:t.x,y:t.y}}),e._popupMenu.open(n,"align-elements",i)}}}}},vp.prototype._getMenuPosition=function(e){var t=this._contextPad.getPad(e).html.getBoundingClientRect();return{x:t.left,y:t.bottom+5}};var yp=["left","center","right","top","middle","bottom"];function bp(e,t,n,i){this._alignElements=t,this._translate=n,this._popupMenu=e,this._rules=i,e.registerProvider("align-elements",this)}function wp(e){ac.call(this,e),this.init()}function xp(e){wp.call(this,e)}bp.$inject=["popupMenu","alignElements","translate","rules"],bp.prototype.getPopupMenuEntries=function(e){var t={};return this._isAllowed(e)&&ce(t,this._getEntries(e)),t},bp.prototype._isAllowed=function(e){return this._rules.allowed("elements.align",{elements:e})},bp.prototype._getEntries=function(e){var t=this._alignElements,n=this._translate,i=this._popupMenu,o={};return V(yp,(function(r){o["align-elements-"+r]={group:"align",title:n("Align elements "+r),className:"bjs-align-elements-menu-entry",imageHtml:gp[r],action:function(){t.trigger(e,r),i.close()}}})),o},wp.$inject=["eventBus"],lt(wp,ac),wp.prototype.addRule=function(e,t,n){var i=this;"string"==typeof e&&(e=[e]),e.forEach((function(e){i.canExecute(e,t,(function(e,t,i){return n(e)}),!0)}))},wp.prototype.init=function(){},xp.$inject=["eventBus"],lt(xp,wp),xp.prototype.init=function(){this.addRule("elements.align",(function(e){var t=H(e.elements,(function(e){return!(e.waypoints||e.host||e.labelTarget)}));return!((t=$o(t)).length<2)&&t}))};const _p={__depends__:[$u,Gu,mp],__init__:["alignElementsContextPadProvider","alignElementsMenuProvider","bpmnAlignElements"],alignElementsContextPadProvider:["type",vp],alignElementsMenuProvider:["type",bp],bpmnAlignElements:["type",xp]};var Ep=10,kp=50,Sp=250;function Cp(e,t,n,i){for(var o;o=Pp(e,n,t);)n=i(t,n,o);return n}function Op(e){return function(t,n,i){var o={x:n.x,y:n.y};return["x","y"].forEach((function(r){var s=e[r];if(s){var a="x"===r?"width":"height",l=s.margin,c=s.minDistance;o[r]=l<0?Math.min(i[r]+l-t[a]/2,n[r]-c+l):Math.max(i[r]+i[a]+l+t[a]/2,n[r]+c+l)}})),o}}function Pp(e,t,n){var i={x:t.x-n.width/2,y:t.y-n.height/2,width:n.width,height:n.height},o=function(e){var t=Mp(e);return e.host&&(t=t.concat(Mp(e.host))),e.attachers&&(t=t.concat(e.attachers.reduce((function(e,t){return e.concat(Mp(t))}),[]))),t}(e);return j(o,(function(e){return e!==n&&"intersect"===Gr(e,i,Ep)}))}function Mp(e){return(t=e,t.outgoing.map((function(e){return e.target}))).concat(function(e){return e.incoming.map((function(e){return e.source}))}(e));var t}function Ap(){return!0}function Tp(e,t,n){e.on("autoPlace",100,(function(e){var t=e.shape;return function(e,t,n){n||(n={});var i=n.defaultDistance||kp,o=Wr(e);return{x:Hr(e).right+i+t.width/2,y:o.y}}(e.source,t)})),e.on("autoPlace.end",(function(e){n.scrollToElement(e.shape)})),this.append=function(n,i,o){e.fire("autoPlace.start",{source:n,shape:i});var r=e.fire("autoPlace",{source:n,shape:i}),s=t.appendShape(n,i,r,n.parent,o);return e.fire("autoPlace.end",{source:n,shape:s}),s}}function Bp(e,t){e.on("autoPlace.end",500,(function(e){t.select(e.shape)}))}Tp.$inject=["eventBus","modeling","canvas"],Bp.$inject=["eventBus","selection"];const Rp={__init__:["autoPlaceSelectionBehavior"],autoPlace:["type",Tp],autoPlaceSelectionBehavior:["type",Bp]};function Dp(e,t){for(F(t)&&(t=[t]);e=e.parent;)if(fe(e,t))return e;return null}function Lp(e,t){var n=Dp(e,"bpmn:Process");if(n)return!0;var i,o=["bpmn:Participant","bpmn:Lane"];if(n=Dp(e,o))return ul(n);if(fe(e,o))return ul(e);for(i=me(e);i&&!de(i,"bpmn:Process");i=i.$parent);if(!t)return!0;var r=t.find((function(e){var t=me(e);return t&&t.get("processRef")===i}));return!r||ul(r)}function Np(e,t,n){var i=Lp(e,n);return de(t,"bpmn:TextAnnotation")?function(e,t,n){var i=Hr(e),o=n?{x:i.right+t.width/2,y:i.top-50-t.height/2}:{x:i.right+50+t.width/2,y:i.bottom+t.height/2};Fr(e)&&(o=Wr(e),n?(o.x+=100,o.y-=50):(o.x+=100,o.y+=50));var r={margin:n?-30:30,minDistance:20};return Cp(e,t,o,Op(n?{y:r}:{x:r}))}(e,t,i):fe(t,["bpmn:DataObjectReference","bpmn:DataStoreReference"])?function(e,t,n){var i=Hr(e),o={margin:30,minDistance:30};return Cp(e,t,n?{x:i.right-10+t.width/2,y:i.bottom+40+t.width/2}:{x:i.left-40-t.width/2,y:i.bottom-10+t.height/2},Op(n?{x:o}:{y:o}))}(e,t,i):de(t,"bpmn:FlowNode")?function(e,t,n){var i=Hr(e),o=Wr(e),r=n?{directionHint:"e",minDistance:80,baseOrientation:"left",boundaryOrientation:"top",start:"top",end:"bottom"}:{directionHint:"s",minDistance:90,baseOrientation:"top",boundaryOrientation:"left",start:"left",end:"right"},s=function(e,t){t||(t={});var n=t.defaultDistance||kp,i=t.direction||"e",o=t.filter,r=t.getWeight||function(t){return t.source===e?1:-1},s=t.maxDistance||Sp,a=t.reference||"start";function l(e,t){return"n"===i?"start"===a?Hr(e).top-Hr(t).bottom:"center"===a?Hr(e).top-Wr(t).y:Hr(e).top-Hr(t).top:"w"===i?"start"===a?Hr(e).left-Hr(t).right:"center"===a?Hr(e).left-Wr(t).x:Hr(e).left-Hr(t).left:"s"===i?"start"===a?Hr(t).top-Hr(e).bottom:"center"===a?Wr(t).y-Hr(e).bottom:Hr(t).bottom-Hr(e).bottom:"start"===a?Hr(t).left-Hr(e).right:"center"===a?Wr(t).x-Hr(e).right:Hr(t).right-Hr(e).right}o||(o=Ap);var c=e.incoming.filter(o).map((function(t){var n=r(t),i=n<0?l(t.source,e):l(e,t.source);return{id:t.source.id,distance:i,weight:n}})),u=e.outgoing.filter(o).map((function(t){var n=r(t),i=n>0?l(e,t.target):l(t.target,e);return{id:t.target.id,distance:i,weight:n}}));return G(c.concat(u).reduce((function(e,t){return e[t.id+"__weight_"+t.weight]=t,e}),{}),(function(e,t){var n=t.distance,i=t.weight;return n<0||n>s||(e[String(n)]||(e[String(n)]=0),e[String(n)]+=1*i,(!e.distance||e[e.distance]t.top&&(n=n.concat("n")),e.rightt.left&&(n=n.concat("e")),n}(he(t,["x","y","width","height"]),n);this.resize(t,n,{autoResize:i});var o=t.parent;o&&this._expand([t],o)}}},$p.prototype.getOffset=function(e){return{top:60,bottom:60,left:100,right:100}},$p.prototype.getPadding=function(e){return{top:2,bottom:2,left:15,right:15}},$p.prototype.resize=function(e,t,n){this._modeling.resizeShape(e,t,null,n)},jp.$inject=["injector"],lt(jp,$p),jp.prototype.resize=function(e,t,n){de(e,"bpmn:Participant")?this._modeling.resizeLane(e,t,null,n):this._modeling.resizeShape(e,t,null,n)},qp.$inject=["eventBus"],lt(qp,wp),qp.prototype.canResize=function(e,t){return!1},lt(Hp,qp),Hp.$inject=["eventBus","modeling"],Hp.prototype.canResize=function(e,t){if(de(t.di,"bpmndi:BPMNPlane"))return!1;if(!de(t,"bpmn:Participant")&&!de(t,"bpmn:Lane")&&!de(t,"bpmn:SubProcess"))return!1;var n=!0;return V(e,(function(e){(de(e,"bpmn:Lane")||$r(e))&&(n=!1)})),n};const Vp={__init__:["bpmnAutoResize","bpmnAutoResizeProvider"],bpmnAutoResize:["type",jp],bpmnAutoResizeProvider:["type",Hp]};function Wp(e,t,n){var i,o,r=this,s=n.get("dragging",!1);s&&t.on("drag.start",(function(n){t.once("drag.move",1500,(function(t){!function(t){if(!t.hover){var n=t.originalEvent,i=r._findTargetGfx(n),o=i&&e.get(i);i&&o&&(t.stopPropagation(),s.hover({element:o,gfx:i}),s.move(n))}}(t)}))})),t.on("element.hover",(function(e){i=e.gfx,o=e.element})),t.on("element.hover",1500,(function(e){o&&t.fire("element.out",{element:o,gfx:i})})),t.on("element.out",(function(){i=null,o=null})),this._findTargetGfx=function(e){var t;if(e instanceof MouseEvent)return t=Fc(e),Ft(document.elementFromPoint(t.x,t.y),"svg, .djs-element",!0)}}Wp.$inject=["elementRegistry","eventBus","injector"];const Gp={__init__:["hoverFix"],hoverFix:["type",Wp]};var Qp=Math.round,Xp="djs-drag-active";function Up(e){e.preventDefault()}function Yp(e,t,n,i){var o,r={threshold:5,trapClick:!0};function s(e){var n=t.viewbox(),i=t._container.getBoundingClientRect();return{x:n.x+(e.x-i.left)/n.scale,y:n.y+(e.y-i.top)/n.scale}}function a(t,n){n=n||o;var i=e.createEvent(ce({},n.payload,n.data,{isTouch:n.isTouch}));return!1!==e.fire("drag."+t,i)&&e.fire(n.prefix+"."+t,i)}function l(e,i){var r,l=o.payload,c=o.displacement,u=o.globalStart,h=Fc(e),p=Su(h,u),d=o.localStart,f=s(h),g=Su(f,d);if(!o.active&&(i||(r=p,Math.sqrt(Math.pow(r.x,2)+Math.pow(r.y,2))>o.threshold))){if(ce(l,{x:Qp(d.x+c.x),y:Qp(d.y+c.y),dx:0,dy:0},{originalEvent:e}),!1===a("start"))return m();o.active=!0,o.keepSelection||(l.previousSelection=n.get(),n.select(null)),o.cursor&&wu(o.cursor),t.addMarker(t.getRootElement(),Xp)}Ic(e),o.active&&(ce(l,{x:Qp(f.x+c.x),y:Qp(f.y+c.y),dx:Qp(g.x),dy:Qp(g.y)},{originalEvent:e}),a("move"))}function c(e){var t=!0;o.active&&(e&&(o.payload.originalEvent=e,Ic(e)),t=a("end")),!1===t&&a("rejected"),a("ended",g(!0!==t))}function u(e){lu("Escape",e)&&(Up(e),m())}function h(t){var n;o.active&&(n=Eu(e),setTimeout(n,400),Up(t)),c(t)}function p(e){l(e)}function d(e){var t=o.payload;t.hoverGfx=e.gfx,t.hover=e.element,a("hover")}function f(e){a("out");var t=o.payload;t.hoverGfx=null,t.hover=null}function m(e){var t;if(o){var n=o.active;n&&a("cancel"),t=g(e),n&&a("canceled",t)}}function g(r){var s,g;a("cleanup"),xu(),g=o.trapClick?h:c,Gt.unbind(document,"mousemove",l),Gt.unbind(document,"dragstart",Up),Gt.unbind(document,"selectstart",Up),Gt.unbind(document,"mousedown",g,!0),Gt.unbind(document,"mouseup",g,!0),Gt.unbind(document,"keyup",u),Gt.unbind(document,"touchstart",p,!0),Gt.unbind(document,"touchcancel",m,!0),Gt.unbind(document,"touchmove",l,!0),Gt.unbind(document,"touchend",c,!0),e.off("element.hover",d),e.off("element.out",f),t.removeMarker(t.getRootElement(),Xp);var v=o.payload.previousSelection;return!1!==r&&v&&!n.get().length&&function(e){var t=e.filter((function(e){return i.get(e.id)}));t.length&&n.select(t)}(v),s=o,o=null,s}e.on("diagram.destroy",m),this.init=function(t,n,i,g){o&&m(!1),"string"==typeof n&&(g=i,i=n,n=null);var v,y,b,w,x,_=(g=ce({},r,g||{})).data||{};w=g.trapClick?h:c,t?(v=zc(t)||t,y=Fc(t),Ic(t),"dragstart"===v.type&&Up(v)):(v=null,y={x:0,y:0}),b=s(y),n||(n=b),x=function(e){return"undefined"!=typeof TouchEvent&&e instanceof TouchEvent}(v),o=ce({prefix:i,data:_,payload:{},globalStart:y,displacement:Su(n,b),localStart:b,isTouch:x},g),g.manual||(x?(Gt.bind(document,"touchstart",p,!0),Gt.bind(document,"touchcancel",m,!0),Gt.bind(document,"touchmove",l,!0),Gt.bind(document,"touchend",c,!0)):(Gt.bind(document,"mousemove",l),Gt.bind(document,"dragstart",Up),Gt.bind(document,"selectstart",Up),Gt.bind(document,"mousedown",w,!0),Gt.bind(document,"mouseup",w,!0)),Gt.bind(document,"keyup",u),e.on("element.hover",d),e.on("element.out",f)),a("init"),g.autoActivate&&l(t,!0)},this.move=l,this.hover=d,this.out=f,this.end=c,this.cancel=m,this.context=function(){return o},this.setOptions=function(e){ce(r,e)}}Yp.$inject=["eventBus","canvas","selection","elementRegistry"];const Kp={__depends__:[Gp,tu],dragging:["type",Yp]};function Zp(e,t,n){this._canvas=n,this._opts=ce({scrollThresholdIn:[20,20,20,20],scrollThresholdOut:[0,0,0,0],scrollRepeatTimeout:15,scrollStep:10},e);var i=this;t.on("drag.move",(function(e){var t=i._toBorderPoint(e);i.startScroll(t)})),t.on(["drag.cleanup"],(function(){i.stopScroll()}))}Zp.$inject=["config.autoScroll","eventBus","canvas"],Zp.prototype.startScroll=function(e){var t,n,i,o=this._canvas,r=this._opts,s=this,a=o.getContainer().getBoundingClientRect(),l=[e.x,e.y,a.width-e.x,a.height-e.y];this.stopScroll();for(var c=0,u=0,h=0;h<4;h++)t=l[h],n=r.scrollThresholdOut[h],i=r.scrollThresholdIn[h],nm-3&&(n=Gr(o.target,f),s===m-2?"intersect"===n&&(p.pop(),p[p.length-1]=f):"intersect"!==n&&p.push(u)),i.newWaypoints=o.waypoints=a(o,p),function(e,t,n){var i,o,r,s,a,l,c=e.newWaypoints,u=(i=n,o=c[e.segmentStartIndex+t],r=c[e.segmentEndIndex+t],s=Ld(e.axis),a=Math.max(o[s],r[s]),l=Math.min(o[s],r[s]),Dd(o,s,Math.min(Math.max(l+20,i[s]),a-20)));_s(e.draggerGfx,u.x,u.y)}(i,g,e),i.newSegmentStartIndex=r+g,l(e)})),t.on("connectionSegment.move.hover",(function(e){e.context.hover=e.hover,n.addMarker(e.hover,Td)})),t.on(["connectionSegment.move.out","connectionSegment.move.cleanup"],(function(e){var t=e.context.hover;t&&n.removeMarker(t,Td)})),t.on("connectionSegment.move.cleanup",(function(e){var t=e.context,i=t.connection;t.draggerGfx&&Pn(t.draggerGfx),n.removeMarker(i,Bd)})),t.on(["connectionSegment.move.cancel","connectionSegment.move.end"],(function(e){var t=e.context;t.connection.waypoints=t.originalWaypoints,l(e)})),t.on("connectionSegment.move.end",(function(e){var t=e.context,n=t.connection,i=t.newWaypoints,o=t.newSegmentStartIndex;i=i.map((function(e){return{original:e.original,x:Math.round(e.x),y:Math.round(e.y)}}));var s=function(e,t){var n=0;return{waypoints:e.filter((function(i,o){return!tr(e[o-1],e[o+1],i)||(n=o<=t?n-1:n,!1)})),segmentOffset:n}}(i,o),l=a(n,s.waypoints),c=s.segmentOffset,u={segmentMove:{segmentStartIndex:t.segmentStartIndex,newSegmentStartIndex:o+c}};r.updateWaypoints(n,l,u)}))}zd.$inject=["injector","eventBus","canvas","dragging","graphicsFactory","modeling"];var Id=Math.abs,Fd=Math.round;function $d(e){return{x:e.x,y:e.y}}function jd(e){return{x:e.x+e.width,y:e.y+e.height}}function qd(e,t){return!e||isNaN(e.x)||isNaN(e.y)?t:{x:Fd(e.x+e.width/2),y:Fd(e.y+e.height/2)}}function Hd(e,t){var n=e.snapped;return!!n&&("string"==typeof t?n[t]:n.x&&n.y)}function Vd(e,t,n){if("string"!=typeof t)throw new Error("axis must be in [x, y]");if("number"!=typeof n&&!1!==n)throw new Error("value must be Number or false");var i,o=e[t],r=e.snapped=e.snapped||{};return!1===n?r[t]=!1:(r[t]=!0,i=n-o,e[t]+=i,e["d"+t]+=i),o}function Wd(e){return e.children||[]}var Gd=Math.abs,Qd=Math.round;function Xd(e){function t(e,t){if(L(e)){for(var n=e.length;n--;)if(Gd(e[n]-t)<=10)return e[n]}else{var i=t%(e=+e);if(i<10)return t-i;if(i>e-10)return t-i+e}return t}function n(e,t){return e.waypoints?(i=function(e,t){for(var n,i=t.waypoints,o=1/0,r=0;rr.length-3&&h.unshift(n(o.target,e)),t.snapPoints=i={horizontal:[],vertical:[]},V(h,(function(e){e&&(e=e.original||e,"y"===u&&i.horizontal.push(e.y),"x"===u&&i.vertical.push(e.x))})),i}(e),s=e.x,a=e.y;if(r){var l=s-(i=t(r.vertical,s)),c=a-(o=t(r.horizontal,a));ce(e,{dx:e.dx-l,dy:e.dy-c,x:i,y:o}),(l||-1!==r.vertical.indexOf(s))&&Vd(e,"x",i),(c||-1!==r.horizontal.indexOf(a))&&Vd(e,"y",o)}})),e.on(["connect.hover","connect.move","connect.end"],1500,(function(e){var t=e.context.hover,i=t&&n(t,e);Fr(t)&&i&&i.x&&i.y&&(Vd(e,"x",i.x),Vd(e,"y",i.y))})),e.on(["bendpoint.move.move","bendpoint.move.end"],1500,(function(e){var i,o,r=e.context,s=function(e){var t=e.snapPoints,n=e.connection.waypoints,i=e.bendpointIndex;if(t)return t;var o=[n[i-1],n[i+1]];return e.snapPoints=t={horizontal:[],vertical:[]},V(o,(function(e){e&&(e=e.original||e,t.horizontal.push(e.y),t.vertical.push(e.x))})),t}(r),a=r.hover,l=a&&n(a,e),c=e.x,u=e.y;if(s){var h=c-(i=t(l?s.vertical.concat([l.x]):s.vertical,c)),p=u-(o=t(l?s.horizontal.concat([l.y]):s.horizontal,u));ce(e,{dx:e.dx-h,dy:e.dy-p,x:e.x-h,y:e.y-p}),(h||-1!==s.vertical.indexOf(c))&&Vd(e,"x",i),(p||-1!==s.horizontal.indexOf(u))&&Vd(e,"y",o)}}))}Xd.$inject=["eventBus"];const Ud={__depends__:[Kp,td],__init__:["bendpoints","bendpointSnapping","bendpointMovePreview"],bendpoints:["type",vd],bendpointMove:["type",_d],bendpointMovePreview:["type",Ad],connectionSegmentMove:["type",zd],bendpointSnapping:["type",Xd]};function Yd(e,t,n,i){function o(e,t){return i.allowed("connection.create",{source:e,target:t})}e.on("connect.hover",(function(e){var t,n=e.context,i=n.start,r=e.hover;if(n.hover=r,!D(t=n.canExecute=o(i,r))){if(!1!==t)return n.source=i,void(n.target=r);D(t=n.canExecute=o(r,i))||!1!==t&&(n.source=r,n.target=i)}})),e.on(["connect.out","connect.cleanup"],(function(e){var t=e.context;t.hover=null,t.source=null,t.target=null,t.canExecute=!1})),e.on("connect.end",(function(e){var t=e.context,i=t.canExecute,o=t.connectionStart,r={x:e.x,y:e.y},s=t.source,a=t.target;if(!i)return!1;var l=null,c={connectionStart:Kd(t)?r:o,connectionEnd:Kd(t)?o:r};N(i)&&(l=i),t.connection=n.connect(s,a,l,c)})),this.start=function(e,n,i,o){N(i)||(o=i,i=Wr(n)),t.init(e,"connect",{autoActivate:o,data:{shape:n,context:{start:n,connectionStart:i}}})}}function Kd(e){var t=e.hover,n=e.source,i=e.target;return t&&n&&t===n&&n!==i}Yd.$inject=["eventBus","dragging","modeling","rules"];var Zd="connect-ok",Jd="connect-not-ok";function ef(e,t,n){var i=e.get("connectionPreview",!1);i&&t.on("connect.move",(function(e){var t=e.context,n=t.canExecute,o=t.hover,r=t.source,s=t.start,a=t.startPosition,l=t.target,c=t.connectionStart||a,u=t.connectionEnd||{x:e.x,y:e.y},h=c,p=u;Kd(t)&&(h=u,p=c),i.drawPreview(t,n,{source:r||s,target:l||o,connectionStart:h,connectionEnd:p})})),t.on("connect.hover",900,(function(e){var t=e.context,i=e.hover,o=t.canExecute;null!==o&&n.addMarker(i,o?Zd:Jd)})),t.on(["connect.out","connect.cleanup"],1100,(function(e){var t=e.hover;t&&(n.removeMarker(t,Zd),n.removeMarker(t,Jd))})),i&&t.on("connect.cleanup",(function(e){i.cleanUp(e.context)}))}ef.$inject=["injector","eventBus","canvas"];const tf={__depends__:[tu,td,Kp],__init__:["connectPreview"],connect:["type",Yd],connectPreview:["type",ef]};function nf(e,t,n,i){this._canvas=t,this._graphicsFactory=n,this._elementFactory=i,this._connectionDocking=e.get("connectionDocking",!1),this._layouter=e.get("layouter",!1)}nf.$inject=["injector","canvas","graphicsFactory","elementFactory"],nf.prototype.drawPreview=function(e,t,n){n=n||{};var i,o,r,s=e.connectionPreviewGfx,a=e.getConnection,l=n.source,c=n.target,u=n.waypoints,h=n.connectionStart,p=n.connectionEnd,d=n.noLayout,f=n.noCropping,m=n.noNoop,g=this;s||(s=e.connectionPreviewGfx=this.createConnectionPreviewGfx()),pn(s),a||(a=e.getConnection=(o=function(e,t,n){return g.getConnection(e,t,n)},r={},function(e){var t=JSON.stringify(e),n=r[t];return n||(n=r[t]=o.apply(null,arguments)),n})),t&&(i=a(t,l,c)),i?(i.waypoints=u||[],this._layouter&&!d&&(i.waypoints=this._layouter.layoutConnection(i,{source:l,target:c,connectionStart:h,connectionEnd:p,waypoints:n.waypoints||i.waypoints})),i.waypoints&&i.waypoints.length||(i.waypoints=[l?Wr(l):h,c?Wr(c):p]),this._connectionDocking&&(l||c)&&!f&&(i.waypoints=this._connectionDocking.getCroppedWaypoints(i,l,c)),this._graphicsFactory.drawConnection(s,i,{stroke:"var(--element-dragger-color)"})):!m&&this.drawNoopPreview(s,n)},nf.prototype.drawNoopPreview=function(e,t){var n=t.source,i=t.target,o=t.connectionStart||Wr(n),r=t.connectionEnd||Wr(i),s=this.cropWaypoints(o,r,n,i);on(e,this.createNoopConnection(s[0],s[1]))},nf.prototype.cropWaypoints=function(e,t,n,i){var o=this._graphicsFactory,r=n&&o.getShapePath(n),s=i&&o.getShapePath(i),a=o.getConnectionPath({waypoints:[e,t]});return[e=n&&Qr(r,a,!0)||e,t=i&&Qr(s,a,!1)||t]},nf.prototype.cleanUp=function(e){e&&e.connectionPreviewGfx&&Pn(e.connectionPreviewGfx)},nf.prototype.getConnection=function(e){var t=function(e){return N(e)?e:{}}(e);return this._elementFactory.createConnection(t)},nf.prototype.createConnectionPreviewGfx=function(){var e=vn("g");return ln(e,{pointerEvents:"none"}),un(e).add("djs-dragger"),on(this._canvas.getActiveLayer(),e),e},nf.prototype.createNoopConnection=function(e,t){return Io([e,t],{stroke:"#333",strokeDasharray:[1],strokeWidth:2,"pointer-events":"none"})};const of={__init__:["connectionPreview"],connectionPreview:["type",nf]},rf=new Zl("ps");var sf=["marker-start","marker-mid","marker-end"],af=["circle","ellipse","line","path","polygon","polyline","path","rect"];function lf(e,t,n,i){this._elementRegistry=e,this._canvas=n,this._styles=i}lf.$inject=["elementRegistry","eventBus","canvas","styles"],lf.prototype.cleanUp=function(){console.warn("PreviewSupport#cleanUp is deprecated and will be removed in future versions. You do not need to manually clean up previews anymore. cf. https://github.com/bpmn-io/diagram-js/pull/906")},lf.prototype.getGfx=function(e){return this._elementRegistry.getGraphics(e)},lf.prototype.addDragger=function(e,t,n,i="djs-dragger"){var o=dn(n=n||this.getGfx(e)),r=n.getBoundingClientRect();return this._cloneMarkers(ws(o),i),ln(o,this._styles.cls(i,[],{x:r.top,y:r.left})),on(t,o),ln(o,"data-preview-support-element-id",e.id),o},lf.prototype.addFrame=function(e,t){var n=vn("rect",{class:"djs-resize-overlay",width:e.width,height:e.height,x:e.x,y:e.y});return on(t,n),ln(n,"data-preview-support-element-id",e.id),n},lf.prototype._cloneMarkers=function(e,t="djs-dragger",n=e){var i=this;if(e.childNodes)for(var o=0;o defs",e);l||on(e,l=vn("defs")),on(l,a);var c=function(e){return"url(#"+e+")"}(a.id);ln(t,i,c)};const cf={__init__:["previewSupport"],previewSupport:["type",lf]},uf="complex-preview";class hf{constructor(e,t,n){this._canvas=e,this._graphicsFactory=t,this._previewSupport=n,this._markers=[]}create(e){this.cleanUp();const{created:t=[],moved:n=[],removed:i=[],resized:o=[]}=e,r=this._canvas.getLayer(uf);t.filter((e=>!function(e){return e.hidden}(e))).forEach((e=>{let t;Fr(e)?(t=this._graphicsFactory._createContainer("connection",vn("g")),this._graphicsFactory.drawConnection(ws(t),e)):(t=this._graphicsFactory._createContainer("shape",vn("g")),this._graphicsFactory.drawShape(ws(t),e),_s(t,e.x,e.y)),this._previewSupport.addDragger(e,r,t)})),n.forEach((({element:e,delta:t})=>{this._previewSupport.addDragger(e,r,void 0,"djs-dragging"),this._canvas.addMarker(e,"djs-element-hidden"),this._markers.push([e,"djs-element-hidden"]);const n=this._previewSupport.addDragger(e,r);Fr(e)?_s(n,t.x,t.y):_s(n,e.x+t.x,e.y+t.y)})),i.forEach((e=>{this._previewSupport.addDragger(e,r,void 0,"djs-dragging"),this._canvas.addMarker(e,"djs-element-hidden"),this._markers.push([e,"djs-element-hidden"])})),o.forEach((({shape:e,bounds:t})=>{this._canvas.addMarker(e,"djs-hidden"),this._markers.push([e,"djs-hidden"]),this._previewSupport.addDragger(e,r,void 0,"djs-dragging");const n=this._graphicsFactory._createContainer("shape",vn("g"));this._graphicsFactory.drawShape(ws(n),e,{width:t.width,height:t.height}),_s(n,t.x,t.y),this._previewSupport.addDragger(e,r,n)}))}cleanUp(){pn(this._canvas.getLayer(uf)),this._markers.forEach((([e,t])=>this._canvas.removeMarker(e,t))),this._markers=[]}show(){this._canvas.showLayer(uf)}hide(){this._canvas.hideLayer(uf)}}hf.$inject=["canvas","graphicsFactory","previewSupport"];const pf={__depends__:[cf],__init__:["complexPreview"],complexPreview:["type",hf]};var df=["top","bottom","left","right"];function ff(e,t){function n(e){if(vl(e)){var n=function(e){var t=Wr(e.label),n=mf(Wr(e),t);if(i=n,-1!==df.indexOf(i)){var i,o=function(e){var t=Wr(e),n=[].concat(e.incoming.map((function(e){return e.waypoints[e.waypoints.length-2]})),e.outgoing.map((function(e){return e.waypoints[1]}))).map((function(e){return mf(t,e)}));return n}(e);if(e.host){var r=function(e){var t,n=e.host,i=Gr(Wr(e),n);return t=i.indexOf("-")>=0?i.split("-"):[i],df.filter((function(e){return-1===t.indexOf(e)}))}(e);o=o.concat(r)}var s=df.filter((function(e){return-1===o.indexOf(e)}));if(-1===s.indexOf(n))return s[0]}}(e);n&&function(e,n){var i=Wr(e),o=e.label,r=Wr(o);if(o.parent){var s,a=Hr(e);switch(n){case"top":s={x:i.x,y:a.top-10-o.height/2};break;case"left":s={x:a.left-10-o.width/2,y:i.y};break;case"bottom":s={x:i.x,y:a.bottom+10+o.height/2};break;case"right":s={x:a.right+10+o.width/2,y:i.y}}var l=Su(s,r);t.moveShape(o,l)}}(e,n)}}ac.call(this,e),this.postExecuted(["connection.create","connection.layout","connection.updateWaypoints"],(function(e){var t=e.context,i=t.connection,o=i.source,r=i.target;!1!==(t.hints||{}).createElementsBehavior&&(n(o),n(r))})),this.postExecuted(["label.create"],(function(e){var t=e.context,i=t.shape;!1!==(t.hints||{}).createElementsBehavior&&n(i.labelTarget)})),this.postExecuted(["elements.create"],(function(e){var t=e.context,i=t.elements;!1!==(t.hints||{}).createElementsBehavior&&i.forEach((function(e){n(e)}))}))}function mf(e,t){return Gr(t,e,5)}function gf(e){ac.call(this,e),this.preExecute("shape.append",(function(e){var t=e.source,n=e.shape;e.position||(de(n,"bpmn:TextAnnotation")?e.position={x:t.x+t.width/2+75,y:t.y-50-n.height/2}:e.position={x:t.x+t.width+80+n.width/2,y:t.y+t.height/2})}),!0)}function vf(e,t){e.invoke(ac,this),this.postExecute("shape.move",(function(e){var n=e.newParent,i=e.shape;V(H(i.incoming.concat(i.outgoing),(function(e){return de(e,"bpmn:Association")})),(function(e){t.moveConnection(e,{x:0,y:0},n)}))}),!0)}function yf(e,t){t.invoke(ac,this),this._bpmnReplace=e;var n=this;this.postExecuted("elements.create",500,(function(e){var t=e.elements;1===(t=t.filter((function(e){return bf(e,e.host)}))).length&&t.map((function(e){return t.indexOf(e)})).forEach((function(i){var o=t[i];e.elements[i]=n._replaceShape(t[i],o)}))}),!0),this.preExecute("elements.move",500,(function(e){var t=e.shapes,i=e.newHost;if(1===t.length){var o=t[0];bf(o,i)&&(e.shapes=[n._replaceShape(o,i)])}}),!0)}function bf(e,t){return!$r(e)&&fe(e,["bpmn:IntermediateThrowEvent","bpmn:IntermediateCatchEvent"])&&!!t}function wf(e,t){function n(e){return H(e.attachers,(function(e){return de(e,"bpmn:BoundaryEvent")}))}ac.call(this,e),this.postExecute("connection.create",(function(e){var i=e.context.source,o=e.context.target,r=n(o);de(i,"bpmn:EventBasedGateway")&&de(o,"bpmn:ReceiveTask")&&r.length>0&&t.removeElements(r)})),this.postExecute("connection.reconnect",(function(e){var i=e.context.oldSource,o=e.context.newSource;de(i,"bpmn:Gateway")&&de(o,"bpmn:EventBasedGateway")&&V(o.outgoing,(function(e){var i=e.target,o=n(i);de(i,"bpmn:ReceiveTask")&&o.length>0&&t.removeElements(o)}))}))}function xf(e,t,n){function i(e){t.updateProperties(e,{isForCompensation:!0})}function o(e){t.updateProperties(e,{isForCompensation:void 0})}ac.call(this,e),this.preExecute("shape.replace",(function(e){const{newData:n,oldShape:i}=e;if(Ef(e.oldShape)&&"bpmn:CompensateEventDefinition"!==n.eventDefinitionType||"bpmn:BoundaryEvent"!==n.type){const t=i.outgoing.find((({target:e})=>_f(e)));t&&t.target&&(e._connectionTarget=t.target)}else if(!Ef(e.oldShape)&&"bpmn:CompensateEventDefinition"===n.eventDefinitionType&&"bpmn:BoundaryEvent"===n.type){const n=i.outgoing.find((({target:e})=>kf(e)));n&&n.target&&(e._connectionTarget=n.target),function(e){const n=e.outgoing.filter((e=>de(e,"bpmn:SequenceFlow")));t.removeElements(n)}(i)}}),!0),this.postExecuted("shape.replace",(function(e){const{_connectionTarget:n,newShape:i}=e;n&&t.connect(i,n)}),!0),this.preExecute("connection.create",(function(e){const n=e.connection,o=e.source,r=e.target;Ef(o)&&kf(r)&&(i(r),function(e,n){const i=e.outgoing.filter((e=>de(e,"bpmn:Association")));i.filter((e=>_f(e.target)&&!n.includes(e))).forEach((e=>t.removeConnection(e)))}(o,[n]))}),!0),this.postExecuted("connection.delete",(function(e){const t=e.source,n=e.target;Ef(t)&&_f(n)&&o(n)}),!0),this.postExecuted("connection.reconnect",(function(e){const t=e.newTarget,n=e.oldSource,r=e.oldTarget;if(r!==t){const e=n;_f(r)&&o(r),Ef(e)&&kf(t)&&i(t)}}),!0),this.postExecuted("element.updateProperties",(function(e){const{element:i}=e;_f(i)?(function(e){for(const i of e.incoming)n.canConnect(i.source,e)||t.removeConnection(i);for(const i of e.outgoing)n.canConnect(e,i.target)||t.removeConnection(i)}(i),function(e){const n=e.attachers.slice();n.length&&t.removeElements(n)}(i)):kf(i)&&function(e){const n=e.incoming.filter((e=>Ef(e.source)));t.removeElements(n)}(i)}),!0)}function _f(e){const t=me(e);return t&&t.get("isForCompensation")}function Ef(e){return e&&de(e,"bpmn:BoundaryEvent")&&dl(e,"bpmn:CompensateEventDefinition")}function kf(e){return e&&de(e,"bpmn:Activity")&&!pl(e)}function Sf(e){e.invoke(ac,this),this.preExecute("shape.create",1500,(function(e){var t=e.context,n=t.parent,i=t.shape;de(n,"bpmn:Lane")&&!de(i,"bpmn:Lane")&&(t.parent=Dp(n,"bpmn:Participant"))}))}function Cf(e,t){ac.call(this,e),this.preExecute("shape.create",(function(e){var n=e.context.shape;if(de(n,"bpmn:DataObjectReference")&&"label"!==n.type){var i=t.create("bpmn:DataObject");n.businessObject.dataObjectRef=i}}))}lt(ff,ac),ff.$inject=["eventBus","modeling"],lt(gf,ac),gf.$inject=["eventBus"],lt(vf,ac),vf.$inject=["injector","modeling"],yf.$inject=["bpmnReplace","injector"],lt(yf,ac),yf.prototype._replaceShape=function(e,t){var n,i=(n=me(e).eventDefinitions)&&n[0],o={type:"bpmn:BoundaryEvent",host:t};return i&&(o.eventDefinitionType=i.$type),this._bpmnReplace.replaceElement(e,o,{layoutConnection:!1})},wf.$inject=["eventBus","modeling"],lt(wf,ac),lt(xf,ac),xf.$inject=["eventBus","modeling","bpmnRules"],Sf.$inject=["injector"],lt(Sf,ac),Cf.$inject=["eventBus","bpmnFactory"],lt(Cf,ac);var Of=2e3;function Pf(e,t,n){function i(){var t=e.getRootElement();return de(t,"bpmn:Collaboration")?t:n.makeCollaboration()}ac.call(this,t),t.on(["create.start","shape.move.start"],Of,(function(t){var n=t.context,i=n.shape,o=e.getRootElement();if(de(i,"bpmn:Participant")&&de(o,"bpmn:Process")&&o.children.length){var r=o.children.filter((function(e){return!de(e,"bpmn:Group")&&!$r(e)&&!Fr(e)}));if(r.length){var s=Wo(r),a=function(e,t){t={width:t.width+40+30,height:t.height+40};var n=Math.max(e.width,t.width),i=Math.max(e.height,t.height);return{x:-n/2,y:-i/2,width:n,height:i}}(i,s);ce(i,a),n.createConstraints=function(e,t){return{bottom:(t=Hr(t)).top+e.height/2-20,left:t.right-e.width/2+20,top:t.bottom-e.height/2+20,right:t.left+e.width/2-20-30}}(i,s)}}})),t.on("create.start",Of,(function(n){var i=n.context.shape,o=e.getRootElement(),r=e.getGraphics(o);function s(e){e.element=o,e.gfx=r}de(i,"bpmn:Participant")&&de(o,"bpmn:Process")&&(t.on("element.hover",Of,s),t.once("create.cleanup",(function(){t.off("element.hover",s)})))})),this.preExecute("elements.create",Of,(function(e){var t,n=e.elements,o=e.parent,r=function(e){return j(e,(function(e){return de(e,"bpmn:Participant")}))}(n);r&&de(o,"bpmn:Process")&&(e.parent=i(),(t=e.hints=e.hints||{}).participant=r,t.process=o,t.processRef=me(r).get("processRef"))}),!0),this.preExecute("shape.create",(function(e){var t=e.parent,n=e.shape;de(n,"bpmn:Participant")&&de(t,"bpmn:Process")&&(e.parent=i(),e.process=t,e.processRef=me(n).get("processRef"))}),!0),this.execute("shape.create",(function(e){var t=e.hints||{},n=e.process||t.process,i=e.shape,o=t.participant;!n||o&&i!==o||me(i).set("processRef",me(n))}),!0),this.revert("shape.create",(function(e){var t=e.hints||{},n=e.process||t.process,i=e.processRef||t.processRef,o=e.shape,r=t.participant;!n||r&&o!==r||me(o).set("processRef",i)}),!0),this.postExecute("shape.create",(function(e){var t=e.hints||{},i=e.process||e.hints.process,o=e.shape,r=t.participant;if(i){var s=i.children.slice();r?o===r&&n.moveElements(s,{x:0,y:0},r):n.moveElements(s,{x:0,y:0},o)}}),!0)}Pf.$inject=["canvas","eventBus","modeling"],lt(Pf,ac);var Mf="__targetRef_placeholder";function Af(e,t){function n(e,n){var i=e.get("properties"),o=j(i,(function(e){return e.name===Mf}));return!o&&n&&Zo(i,o=t.create("bpmn:Property",{name:Mf})),o}function i(e,t){var i=n(e);i&&(function(e,t,n){return j(e.get("dataInputAssociations"),(function(e){return e!==n&&e.targetRef===t}))}(e,i,t)||Ko(e.get("properties"),i))}function o(e){var t,o=e.context,r=o.connection,s=r.businessObject,a=r.target,l=a&&a.businessObject,c=o.newTarget,u=c&&c.businessObject,h=o.oldTarget||o.target,p=h&&h.businessObject,d=r.businessObject;p&&p!==l&&i(p,s),u&&u!==l&&i(u,s),l?(t=n(l,!0),d.targetRef=t):d.targetRef=null}ac.call(this,e),this.executed(["connection.create","connection.delete","connection.move","connection.reconnect"],Tf(o)),this.reverted(["connection.create","connection.delete","connection.move","connection.reconnect"],Tf(o))}function Tf(e){return function(t){if(de(t.context.connection,"bpmn:DataInputAssociation"))return e(t)}}function Bf(e){this._bpmnUpdater=e}function Rf(e,t,n,i){function o(e){return e.children.filter((function(e){return de(e,"bpmn:DataStoreReference")&&!e.labelTarget}))}function r(e,i){var o=e.businessObject||e;if(i=i||n.filter((function(e){return de(e,"bpmn:Participant")&&me(e).processRef}))[0]){var r=i.businessObject||i;t.execute("dataStore.updateContainment",{dataStoreBo:o,dataStoreDi:ge(e),newSemanticParent:r.processRef||r,newDiParent:ge(i)})}}ac.call(this,i),t.registerHandler("dataStore.updateContainment",Bf),this.preExecute("shape.create",(function(e){var t=e.context,n=t.shape;de(n,"bpmn:DataStoreReference")&&"label"!==n.type&&(t.hints||(t.hints={}),t.hints.autoResize=!1)})),this.preExecute("elements.move",(function(e){var t=e.context,n=t.shapes;n.filter((function(e){return de(e,"bpmn:DataStoreReference")})).length&&(t.hints||(t.hints={}),t.hints.autoResize=n.filter((function(e){return!de(e,"bpmn:DataStoreReference")})))})),this.postExecute("shape.create",(function(e){var t=e.context.shape,n=t.parent;de(t,"bpmn:DataStoreReference")&&"label"!==t.type&&de(n,"bpmn:Collaboration")&&r(t)})),this.postExecute("shape.move",(function(e){var t=e.context,n=t.shape,i=t.oldParent,o=n.parent;de(i,"bpmn:Collaboration")||de(n,"bpmn:DataStoreReference")&&"label"!==n.type&&de(o,"bpmn:Collaboration")&&r(n,de(i,"bpmn:Participant")?i:function(e,t){for(;e.parent;){if(de(e.parent,"bpmn:Participant"))return e.parent;e=e.parent}}(i))})),this.postExecute("shape.delete",(function(t){var n=t.context.shape,i=e.getRootElement();fe(n,["bpmn:Participant","bpmn:SubProcess"])&&de(i,"bpmn:Collaboration")&&o(i).filter((function(e){return function(e,t){for(var n=e.businessObject||e,i=t.businessObject||t;n.$parent;){if(n.$parent===i.processRef||i)return!0;n=n.$parent}return!1}(e,n)})).forEach((function(e){r(e)}))})),this.postExecute("canvas.updateRoot",(function(e){var t=e.context,n=t.oldRoot,i=t.newRoot;o(n).forEach((function(e){de(i,"bpmn:Process")&&r(e,i)}))}))}Af.$inject=["eventBus","bpmnFactory"],lt(Af,ac),Bf.$inject=["bpmnUpdater"],Bf.prototype.execute=function(e){var t=e.dataStoreBo,n=e.dataStoreDi,i=e.newSemanticParent,o=e.newDiParent;return e.oldSemanticParent=t.$parent,e.oldDiParent=n.$parent,this._bpmnUpdater.updateSemanticParent(t,i),this._bpmnUpdater.updateDiParent(n,o),[]},Bf.prototype.revert=function(e){var t=e.dataStoreBo,n=e.dataStoreDi,i=e.oldSemanticParent,o=e.oldDiParent;return this._bpmnUpdater.updateSemanticParent(t,i),this._bpmnUpdater.updateDiParent(n,o),[]},Rf.$inject=["canvas","commandStack","elementRegistry","eventBus"],lt(Rf,ac);var Df=Math.max,Lf=Math.min,Nf=20;function zf(e,t){return{top:e.top-t.top,right:e.right-t.right,bottom:e.bottom-t.bottom,left:e.left-t.left}}function If(e,t){return{x:e.x+(t.left||0),y:e.y+(t.top||0),width:e.width-(t.left||0)+(t.right||0),height:e.height-(t.top||0)+(t.bottom||0)}}function Ff(e,t,n){var i=t[e],o=n.min&&n.min[e],r=n.max&&n.max[e];return z(o)&&(i=(/top|left/.test(e)?Lf:Df)(i,o)),z(r)&&(i=(/top|left/.test(e)?Df:Lf)(i,r)),i}function $f(e,t){return void 0!==e?e:Nf}function jf(e){return!e.waypoints&&"label"!==e.type}function qf(e,t){var n;if((n=void 0===e.length?H(e.children,jf):e).length)return function(e,t){var n,i,o,r;return"object"==typeof t?(n=$f(t.left),i=$f(t.right),o=$f(t.top),r=$f(t.bottom)):n=i=o=r=$f(t),{x:e.x-n,y:e.y-o,width:e.width+n+i,height:e.height+o+r}}(Wo(n),t)}var Hf=Math.abs,Vf=["bpmn:Participant","bpmn:Process","bpmn:SubProcess"],Wf=30;function Gf(e,t){return t=t||[],e.children.filter((function(e){de(e,"bpmn:Lane")&&(Gf(e,t),t.push(e))})),t}function Qf(e){return e.children.filter((function(e){return de(e,"bpmn:Lane")}))}function Xf(e){return Dp(e,Vf)||e}function Uf(e,t){ac.call(this,e),this.postExecuted("shape.delete",500,(function(e){var n=e.context,i=n.hints,o=n.shape,r=n.oldParent;de(o,"bpmn:Lane")&&(i&&i.nested||function(e,n){var i,o,r,s,a,l=ul(e),c=Qf(n),u=[],h=[],p=[],d=[];Ho(c,(function(t){return l?t.y>e.y?h.push(t):u.push(t):t.x>e.x?d.push(t):p.push(t),t.children})),c.length&&(i=l?h.length&&u.length?e.height/2:e.height:d.length&&p.length?e.width/2:e.width,u.length&&(o=t.calculateAdjustments(u,"y",i,e.y-10),t.makeSpace(o.movingShapes,o.resizingShapes,{x:0,y:i},"s")),h.length&&(r=t.calculateAdjustments(h,"y",-i,e.y+e.height+10),t.makeSpace(r.movingShapes,r.resizingShapes,{x:0,y:-i},"n")),p.length&&(s=t.calculateAdjustments(p,"x",i,e.x-10),t.makeSpace(s.movingShapes,s.resizingShapes,{x:i,y:0},"e")),d.length&&(a=t.calculateAdjustments(d,"x",-i,e.x+e.width+10),t.makeSpace(a.movingShapes,a.resizingShapes,{x:-i,y:0},"w")))}(o,r))}))}function Yf(e,t){t.invoke(ac,this),this._bpmnReplace=e;var n=this;this.postExecuted("elements.create",500,(function(e){var t=e.elements;t.filter((function(e){return Kf(e,e.host)})).map((function(e){return t.indexOf(e)})).forEach((function(i){e.elements[i]=n._replaceShape(t[i])}))}),!0),this.preExecute("elements.move",500,(function(e){var t=e.shapes,i=e.newHost;t.forEach((function(e,o){var r,s=e.host;Kf(e,(r=s,-1!==t.indexOf(r)?s:i))&&(t[o]=n._replaceShape(e))}))}),!0)}function Kf(e,t){return!$r(e)&&de(e,"bpmn:BoundaryEvent")&&!t}function Zf(e,t,n){function i(e,i,o){var r,s,a,l,c,u,h,p,d=i.waypoints,f=e.outgoing.slice(),m=e.incoming.slice(),g=rd(d,p=z(o.width)?Wr(o):o);if(g){if(r=d.slice(0,g.index),s=d.slice(g.index+(g.bendpoint?1:0)),!r.length||!s.length)return;a=g.bendpoint?d[g.index]:p,1!==r.length&&Jf(e,r[r.length-1])||r.push(em(a)),1!==s.length&&Jf(e,s[0])||s.unshift(em(a))}l=i.source,c=i.target,t.canConnect(l,e,i)&&(n.reconnectEnd(i,e,r||p),u=i),t.canConnect(e,c,i)&&(u?h=n.connect(e,c,{type:i.type,waypoints:s}):(n.reconnectStart(i,e,s||p),h=i));var v=[].concat(u&&H(m,(function(e){return e.source===u.source}))||[],h&&H(f,(function(e){return e.target===h.target}))||[]);v.length&&n.removeElements(v)}ac.call(this,e),this.preExecute("elements.move",(function(e){var n=e.newParent,i=e.shapes,o=e.delta,r=i[0];if(r&&n){n&&n.waypoints&&(e.newParent=n=n.parent);var s=Wr(r),a={x:s.x+o.x,y:s.y+o.y},l=j(n.children,(function(e){return t.canInsert(i,e)&&rd(e.waypoints,a)}));l&&(e.targetFlow=l,e.position=a)}}),!0),this.postExecuted("elements.move",(function(e){var t=e.shapes,n=e.targetFlow,o=e.position;n&&i(t[0],n,o)}),!0),this.preExecute("shape.create",(function(e){var n=e.parent,i=e.shape;t.canInsert(i,n)&&(e.targetFlow=n,e.parent=n.parent)}),!0),this.postExecuted("shape.create",(function(e){var t=e.shape,n=e.targetFlow,o=e.position;n&&i(t,n,o)}),!0)}function Jf(e,t){var n=t.x,i=t.y;return n>=e.x&&n<=e.x+e.width&&i>=e.y&&i<=e.y+e.height}function em(e){return ce({},e)}function tm(e,t){ac.call(this,e),this.preExecuted("connection.create",(function(e){var n=e.context,i=n.connection,o=n.source,r=n.target,s=n.hints;s&&!1===s.createElementsBehavior||!nm(i)||(de(o,"bpmn:EventBasedGateway")?r.incoming.filter((e=>e!==i&&nm(e))):r.incoming.filter((e=>e!==i&&nm(e)&&de(e.source,"bpmn:EventBasedGateway")))).forEach((function(e){t.removeConnection(e)}))})),this.preExecuted("shape.replace",(function(e){var n=e.context.newShape;de(n,"bpmn:EventBasedGateway")&&n.outgoing.filter(nm).reduce((function(e,t){return e.includes(t.target)?e:e.concat(t.target)}),[]).forEach((function(e){e.incoming.filter(nm).forEach((function(i){const o=e.incoming.filter(nm).filter((function(e){return e.source===n}));(i.source!==n||o.length>1)&&t.removeConnection(i)}))}))}))}function nm(e){return de(e,"bpmn:SequenceFlow")}Uf.$inject=["eventBus","spaceTool"],lt(Uf,ac),Yf.$inject=["bpmnReplace","injector"],lt(Yf,ac),Yf.prototype._replaceShape=function(e){var t,n,i=(n=me(e).eventDefinitions)&&n[0];return t=i?{type:"bpmn:IntermediateCatchEvent",eventDefinitionType:i.$type}:{type:"bpmn:IntermediateThrowEvent"},this._bpmnReplace.replaceElement(e,t,{layoutConnection:!1})},lt(Zf,ac),Zf.$inject=["eventBus","bpmnRules","modeling"],tm.$inject=["eventBus","modeling"],lt(tm,ac);var im=1500;function om(e,t,n){t.on(["create.hover","create.move","create.out","create.end","shape.move.hover","shape.move.move","shape.move.out","shape.move.end"],im,(function(t){var i=t.context.shape||t.shape,o=t.hover;de(o,"bpmn:Lane")&&!fe(i,["bpmn:Lane","bpmn:Participant"])&&(t.hover=Xf(o),t.hoverGfx=e.getGraphics(t.hover));var r=n.getRootElement();o!==r&&(i.labelTarget||fe(i,["bpmn:Group","bpmn:TextAnnotation"]))&&(t.hover=r,t.hoverGfx=e.getGraphics(t.hover))})),t.on(["connect.hover","connect.out","connect.end","connect.cleanup","global-connect.hover","global-connect.out","global-connect.end","global-connect.cleanup"],im,(function(t){var n=t.hover;de(n,"bpmn:Lane")&&(t.hover=Xf(n)||n,t.hoverGfx=e.getGraphics(t.hover))})),t.on(["bendpoint.move.hover"],im,(function(t){var n=t.context,i=t.hover,o=n.type;de(i,"bpmn:Lane")&&/reconnect/.test(o)&&(t.hover=Xf(i)||i,t.hoverGfx=e.getGraphics(t.hover))})),t.on(["connect.start"],im,(function(e){var t=e.context,n=t.start;de(n,"bpmn:Lane")&&(t.start=Xf(n)||n)})),t.on("shape.move.start",2e3,(function(e){var t=e.shape;de(t,"bpmn:Lane")&&(e.shape=Xf(t)||t)})),t.on("spaceTool.move",2e3,(function(e){var t=e.hover;t&&de(t,"bpmn:Lane")&&(e.hover=Xf(t))}))}function rm(e,t,n,i,o,r){function s(e,t,i){var o=n.filter((function(e){return de(e,"bpmn:Group")})).filter((function(e){return e.businessObject!==i}));t&&!function(e,t){return e.some((function(e){var n=me(e);return(n.categoryValueRef&&n.categoryValueRef.$parent)===t}))}(o,t)&&function(e){var t=e.$parent;t&&(Ko(t.get("rootElements"),e),e.$parent=null)}(t),e&&!function(e,t){return e.some((function(e){return me(e).categoryValueRef===t}))}(o,e)&&function(e){var t=e.$parent;t&&(Ko(t.get("categoryValue"),e),e.$parent=null)}(e)}function a(e,n){return function(e,t,n){return Zo(t.get("categoryValue"),e),e.$parent=t,Zo(n.get("rootElements"),t),t.$parent=n,e}(e,n,t.getDefinitions())}function l(n,i){var o=me(n),r=o.categoryValueRef;r||(r=o.categoryValueRef=i.categoryValue=i.categoryValue||function(e){return e.create("bpmn:CategoryValue")}(e));var s=r.$parent;s||(s=r.$parent=i.category=i.category||function(e){return e.create("bpmn:Category")}(e)),a(r,s,t.getDefinitions())}function c(e,t){var n=t.category,i=t.categoryValue,o=me(e);i?(o.categoryValueRef=null,s(i,n,o)):s(null,o.categoryValueRef.$parent,o)}function u(t,n){var i=e.create(t.$type);return r.copyElement(t,i,null,n)}o.invoke(ac,this),this.execute("label.create",(function(e){var t=e.context,n=t.labelTarget;de(n,"bpmn:Group")&&l(n,t)})),this.revert("label.create",(function(e){var t=e.context,n=t.labelTarget;de(n,"bpmn:Group")&&c(n,t)})),this.execute("shape.delete",(function(e){var t=e.context,n=t.shape,i=me(n);if(de(n,"bpmn:Group")&&!n.labelTarget){var o=t.categoryValue=i.categoryValueRef;o&&(s(o,t.category=o.$parent,i),i.categoryValueRef=null)}})),this.reverted("shape.delete",(function(e){var t=e.context,n=t.shape;if(de(n,"bpmn:Group")&&!n.labelTarget){var i=t.category,o=t.categoryValue,r=me(n);o&&(r.categoryValueRef=o,a(o,i))}})),this.execute("shape.create",(function(e){var t=e.context,n=t.shape;de(n,"bpmn:Group")&&!n.labelTarget&&me(n).categoryValueRef&&l(n,t)})),this.reverted("shape.create",(function(e){var t=e.context,n=t.shape;de(n,"bpmn:Group")&&!n.labelTarget&&me(n).categoryValueRef&&c(n,t)})),i.on("copyPaste.copyElement",770,(function(e){var t=e.descriptor,n=e.element;if(de(n,"bpmn:Group")&&!n.labelTarget){var i=me(n);if(i.categoryValueRef){var o=i.categoryValueRef;t.categoryValue=u(o,!0),o.$parent&&(t.category=u(o.$parent,!0))}}})),i.on("copyPaste.pasteElement",770,(function(e){var t=e.descriptor,n=t.businessObject,i=t.categoryValue,o=t.category;i&&(i=n.categoryValueRef=u(i)),o&&(i.$parent=u(o)),delete t.category,delete t.categoryValue}))}function sm(e,t,n,i){var o,r,s,a;return 0==(o=(i.y-n.y)*(t.x-e.x)-(i.x-n.x)*(t.y-e.y))?null:(r=e.y-n.y,s=e.x-n.x,a=((i.x-n.x)*r-(i.y-n.y)*s)/o,{x:Math.round(e.x+a*(t.x-e.x)),y:Math.round(e.y+a*(t.y-e.y))})}function am(e){function t(e,t,n){var i,o={x:n.x,y:n.y-50},r={x:n.x-50,y:n.y},s=sm(e,t,n,o),a=sm(e,t,n,r);i=s&&a?lm(s,n)>lm(a,n)?a:s:s||a,e.original=i}e.on("bpmnElement.added",(function(e){var n,i,o=e.element;o.waypoints&&(t((i=(n=o).waypoints)[0],i[1],Wr(n.source)),t(i[i.length-1],i[i.length-2],Wr(n.target)))}))}function lm(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function cm(e){ac.call(this,e);var t=["bpmn:Participant","bpmn:Lane"];this.executed(["shape.move","shape.create","shape.resize"],(function(e){var n=e.context.shape,i=me(n),o=ge(n);if(fe(i,t)){var r=o.get("isHorizontal");void 0===r&&(r=!0),o.set("isHorizontal",r)}}))}om.$inject=["elementRegistry","eventBus","canvas"],rm.$inject=["bpmnFactory","bpmnjs","elementRegistry","eventBus","injector","moddleCopy"],lt(rm,ac),am.$inject=["eventBus"],cm.$inject=["eventBus"],lt(cm,ac);var um=Math.sqrt,hm=Math.min,pm=Math.max,dm=Math.abs;function fm(e){return Math.pow(e,2)}function mm(e,t){return um(fm(e.x-t.x)+fm(e.y-t.y))}function gm(e,t,n,i){var o=t.x-e.x,r=t.y-e.y,s=n.x-e.x,a=n.y-e.y,l=o*o+r*r,c=(o*s+r*a)/l,u=c*c-(s*s+a*a-i*i)/l;if(u<0&&u>-1e-6&&(u=0),u<0)return[];var h=um(u),p=-c+h,d=-c-h,f={x:e.x-o*p,y:e.y-r*p};return 0===u?[f]:[f,{x:e.x-o*d,y:e.y-r*d}].filter((function(n){return function(e,t,n){return vm(e.x,t.x,n.x)&&vm(e.y,t.y,n.y)}(n,e,t)}))}function vm(e,t,n){return e>=hm(t,n)-ym&&e<=pm(t,n)+ym}var ym=.1;function bm(e,t){return dm(e.x-t.x)<=ym&&dm(e.y-t.y)<=ym}function wm(e,t,n,i){var o=0,r=0,s={point:e,delta:{x:0,y:0}},a=function(e,t){var n,i,o,r,s,a,l,c,u,h,p,d,f=0;for(f=0;f line intersections");1===a.length&&(l={type:"bendpoint",position:a[0],segmentIndex:f,bendpointIndex:bm(n,a[0])?f:f+1}),2===a.length&&(p=a[0],d=a[1],l={type:"segment",position:s={x:(p.x+d.x)/2,y:(p.y+d.y)/2},segmentIndex:f,relativeLocation:mm(n,s)/mm(n,i)}),c=mm(l.position,e),(!h||u>c)&&(h=l,u=c)}return h}(e,n),l=a.segmentIndex,c=function(e,t,n,i){var o=n.segmentIndex,r=t.length-e.length;if(i.segmentMove){var s=i.segmentMove.segmentStartIndex,a=i.segmentMove.newSegmentStartIndex;return o===s?a:o>=a?o+r=u&&(l=c?o+1:o-1),ot.length-2||null===c)return s;var u,h,p,d,f,m,g=_m(n,l),v=_m(t,c),y=a.position,b=(d=y,f=ud((p=g)[0],p[1]),m=ud(p[0],d),0===f?0:m/f),w=(u=v,h=ad(g),ad(u)-h);if("bendpoint"===a.type){var x=t.length-n.length,_=a.bendpointIndex,E=n[_];if(-1!==t.indexOf(E))return s;if(0===x){var k=t[_];return{delta:{x:o=k.x-a.position.x,y:r=k.y-a.position.y},point:{x:e.x+o,y:e.y+r}}}x<0&&0!==_&&_{me(e.context.element)===e.context.moddleElement&&o(e)})),this.postExecute(["shape.create","connection.create"],(function(e){var n=e.context;if(!1!==(n.hints||{}).createElementsBehavior){var i=n.shape||n.connection;!$r(i)&&gl(i)&&wl(i)&&t.updateLabel(i,wl(i))}})),this.postExecute("shape.delete",(function(e){var n=e.context,i=n.labelTarget,o=n.hints||{};i&&!1!==o.unsetLabel&&t.updateLabel(i,null,null,{removeShape:!1})})),this.postExecute(["connection.layout","connection.updateWaypoints"],(function(e){var n=e.context;if(!1!==(n.hints||{}).labelBehavior){var i,o=n.connection.label;o&&o.parent&&(i=function(e){var t=e.context,n=t.connection,i=n.label,o=ce({},t.hints),r=t.newWaypoints||n.waypoints,s=t.oldWaypoints;return void 0===o.startChanged&&(o.startChanged=!!o.connectionStart),void 0===o.endChanged&&(o.endChanged=!!o.connectionEnd),function(e,t,n,i){return wm(Wr(e),t,n,i).delta}(i,r,s,o)}(e),t.moveShape(o,i))}})),this.postExecute(["shape.replace"],(function(e){var t=e.context,n=t.newShape,i=t.oldShape,o=me(n);o&&gl(o)&&i.label&&n.label&&(n.label.x=i.label.x,n.label.y=i.label.y)})),this.postExecute("shape.resize",(function(e){var n,i=e.context,o=i.shape,r=i.newBounds,s=i.oldBounds;if(vl(o)){var a=o.label,l=function(e,t){if(t.length){var n=function(e,t){var n=t.map((function(t){return{line:t,distance:cd(e,t)}}));return te(n,"distance")[0].line}(e,t);return ld(e,n)}}(Wr(a),[[{x:(n=s).x,y:n.y},{x:n.x+(n.width||0),y:n.y}],[{x:n.x+(n.width||0),y:n.y},{x:n.x+(n.width||0),y:n.y+(n.height||0)}],[{x:n.x,y:n.y+(n.height||0)},{x:n.x+(n.width||0),y:n.y+(n.height||0)}],[{x:n.x,y:n.y},{x:n.x,y:n.y+(n.height||0)}]]),c=function(e,t,n){return qr(Su(Em(e,t,n),e))}(l,s,r);t.moveShape(a,c)}}))}function Pm(e,t){function n(e,t){var n=e.context,i=n.connection,o=ce({},n.hints),r=n.newWaypoints||i.waypoints,s=n.oldWaypoints;return void 0===o.startChanged&&(o.startChanged=!!o.connectionStart),void 0===o.endChanged&&(o.endChanged=!!o.connectionEnd),function(e,t,n,i){return wm(e,t,n,i).point}(t,r,s,o)}ac.call(this,e),this.postExecute(["connection.layout","connection.updateWaypoints"],(function(e){var i=e.context.connection,o=i.outgoing;i.incoming.forEach((function(i){var o=i.waypoints[i.waypoints.length-1],r=n(e,o),s=[].concat(i.waypoints.slice(0,-1),[r]);t.updateWaypoints(i,s)})),o.forEach((function(i){var o=i.waypoints[0],r=n(e,o),s=[].concat([r],i.waypoints.slice(1));t.updateWaypoints(i,s)}))})),this.postExecute(["connection.move"],(function(e){var n=e.context,i=n.connection,o=i.outgoing,r=i.incoming,s=n.delta;r.forEach((function(e){var n=e.waypoints[e.waypoints.length-1],i={x:n.x+s.x,y:n.y+s.y},o=[].concat(e.waypoints.slice(0,-1),[i]);t.updateWaypoints(e,o)})),o.forEach((function(e){var n=e.waypoints[0],i={x:n.x+s.x,y:n.y+s.y},o=[].concat([i],e.waypoints.slice(1));t.updateWaypoints(e,o)}))}))}function Mm(e,t,n){var i=Dm(e),o=Lm(i,t),r=i[0];return o.length?o[o.length-1]:Em(r.original||r,n,t)}function Am(e,t,n){var i=Dm(e),o=Lm(i,t),r=i[i.length-1];return o.length?o[0]:Em(r.original||r,n,t)}function Tm(e,t,n){var i=Dm(e),o=Rm(t,n),r=i[0];return Em(r.original||r,o,t)}function Bm(e,t,n){var i=Dm(e),o=Rm(t,n),r=i[i.length-1];return Em(r.original||r,o,t)}function Rm(e,t){return{x:e.x-t.x,y:e.y-t.y,width:e.width,height:e.height}}function Dm(e){var t=e.waypoints;if(!t.length)throw new Error("connection#"+e.id+": no waypoints");return t}function Lm(e,t){return H(U(e,Nm),(function(e){return function(e,t){return"intersect"===Gr(t,e,1)}(e,t)}))}function Nm(e){return e.original||e}function zm(e,t){ac.call(this,e),this.postExecute("shape.replace",(function(e){var n=e.oldShape,i=e.newShape;if(function(e,t){return de(e,"bpmn:Participant")&&cl(e)&&de(t,"bpmn:Participant")&&!cl(t)}(n,i)){var o,r,s,a,l=(r=Vo([o=n],!1),s=[],a=[],r.forEach((function(e){e!==o&&(e.incoming.forEach((function(e){de(e,"bpmn:MessageFlow")&&s.push(e)})),e.outgoing.forEach((function(e){de(e,"bpmn:MessageFlow")&&a.push(e)})))}),[]),{incoming:s,outgoing:a});l.incoming.forEach((function(e){var o=Am(e,i,n);t.reconnectEnd(e,i,o)})),l.outgoing.forEach((function(e){var o=Mm(e,i,n);t.reconnectStart(e,i,o)}))}}),!0)}lt(Om,ac),Om.$inject=["eventBus","modeling","bpmnFactory","textRenderer"],lt(Pm,ac),Pm.$inject=["eventBus","modeling"],zm.$inject=["eventBus","modeling"],lt(zm,ac);const Im=["bpmn:MessageEventDefinition","bpmn:TimerEventDefinition","bpmn:EscalationEventDefinition","bpmn:ConditionalEventDefinition","bpmn:SignalEventDefinition"];function Fm(e){const t=me(e);if(!(de(t,"bpmn:BoundaryEvent")||de(t,"bpmn:StartEvent")&&pl(t.$parent)))return!1;const n=t.get("eventDefinitions");return!(!n||!n.length)&&Im.some((e=>de(n[0],e)))}function $m(e){return de(e,"bpmn:BoundaryEvent")?"cancelActivity":"isInterrupting"}function jm(e,t){e.invoke(ac,this),this.postExecuted("shape.replace",(function(e){const n=e.context.oldShape,i=e.context.newShape,o=e.context.hints;if(!Fm(i))return;const r=$m(i);if(o.targetElement&&void 0!==o.targetElement[r])return;const s=me(n).get(r);s!==me(i).get(r)&&t.updateProperties(i,{[r]:s})}))}function qm(e,t){ac.call(this,e),this.preExecute("shape.resize",(function(e){var n=e.shape,i=ge(n),o=i&&i.get("label");o&&o.get("bounds")&&t.updateModdleProperties(n,o,{bounds:void 0})}),!0)}function Hm(e,t,n){ac.call(this,e),this.preExecute("shape.delete",(function(e){var i,o,r,s=e.context.shape;if(1===s.incoming.length&&1===s.outgoing.length){var a=s.incoming[0],l=s.outgoing[0];if(de(a,"bpmn:SequenceFlow")&&de(l,"bpmn:SequenceFlow")&&t.canConnect(a.source,l.target,a)){var c=(i=a.waypoints,o=l.waypoints,(r=sm(Vm(i[i.length-2]),Vm(i[i.length-1]),Vm(o[1]),Vm(o[0])))?[].concat(i.slice(0,i.length-1),[r],o.slice(1)):[Vm(i[0]),Vm(o[o.length-1])]);n.reconnectEnd(a,l.target,c)}}}))}function Vm(e){return e.original||e}function Wm(e,t){ac.call(this,e),this.preExecute("shape.delete",(function(e){var t=e.shape,n=t.parent;de(t,"bpmn:Participant")&&(e.collaborationRoot=n)}),!0),this.postExecute("shape.delete",(function(e){var n=e.collaborationRoot;if(n&&!n.businessObject.participants.length){var i=t.makeProcess(),o=n.children.slice();t.moveElements(o,{x:0,y:0},i)}}),!0)}function Gm(e,t,n,i){ac.call(this,e);var o=i.get("dragging",!1);function r(e){var i,o,r=e.source,s=e.target;e.parent&&(de(e,"bpmn:SequenceFlow")&&(n.canConnectSequenceFlow(r,s)||(o=!0),n.canConnectMessageFlow(r,s)&&(i="bpmn:MessageFlow")),de(e,"bpmn:MessageFlow")&&(n.canConnectMessageFlow(r,s)||(o=!0),n.canConnectSequenceFlow(r,s)&&(i="bpmn:SequenceFlow")),o&&t.removeConnection(e),i&&t.connect(r,s,{type:i,waypoints:e.waypoints.slice()}))}this.postExecuted("elements.move",(function(e){V(e.closure.allConnections,r)}),!0),this.preExecute("connection.reconnect",(function(e){var i,r,s=e.context,a=s.connection,l=s.newSource||a.source,c=s.newTarget||a.target;(i=n.canConnect(l,c))&&i.type!==a.type&&(r=t.connect(l,c,{type:i.type,associationDirection:i.associationDirection,waypoints:a.waypoints.slice()}),a.parent&&t.removeConnection(a),s.connection=r,o&&function(e,t){var n,i=o.context(),r=i&&i.payload.previousSelection;r&&r.length&&-1!==(n=r.indexOf(e))&&r.splice(n,1,t)}(a,r))})),this.postExecuted("element.updateProperties",(function(e){var n,i=e.context,o=i.properties,r=i.element,s=r.businessObject;o.default&&(n=j(r.outgoing,ne({id:r.businessObject.default.id})))&&t.updateProperties(n,{conditionExpression:void 0}),o.conditionExpression&&s.sourceRef.default===s&&t.updateProperties(r.source,{default:void 0})}))}function Qm(e,t,n,i,o,r){i.invoke(ac,this),this._bpmnReplace=e,this._elementRegistry=n,this._selection=r,this.postExecuted(["elements.create"],500,(function(e){var n=e.context,i=n.parent,o=n.elements,r=G(o,(function(e,n){var o=t.canReplace([n],n.host||n.parent||i);return o?e.concat(o.replacements):e}),[]);r.length&&this._replaceElements(o,r)}),this),this.postExecuted(["elements.move"],500,(function(e){var n=e.context,i=n.newParent,o=n.newHost,r=[];V(n.closure.topLevel,(function(e){r=pl(e)?r.concat(e.children):r.concat(e)})),1===r.length&&o&&(i=o);var s=t.canReplace(r,i);s&&this._replaceElements(r,s.replacements,o)}),this),this.postExecute(["shape.replace"],1500,(function(e){var n,i=e.context,o=i.oldShape,r=i.newShape,s=o.attachers;s&&s.length&&(n=t.canReplace(s,r),this._replaceElements(s,n.replacements))}),this),this.postExecuted(["shape.replace"],1500,(function(e){var t=e.context,n=t.oldShape,i=t.newShape;o.unclaimId(n.businessObject.id,n.businessObject),o.updateProperties(i,{id:n.id})}))}jm.$inject=["injector","modeling"],lt(jm,ac),lt(qm,ac),qm.$inject=["eventBus","modeling"],lt(Hm,ac),Hm.$inject=["eventBus","bpmnRules","modeling"],Wm.$inject=["eventBus","modeling"],lt(Wm,ac),lt(Gm,ac),Gm.$inject=["eventBus","modeling","bpmnRules","injector"],lt(Qm,ac),Qm.prototype._replaceElements=function(e,t){var n=this._elementRegistry,i=this._bpmnReplace,o=this._selection;V(t,(function(t){var o={type:t.newElementType},r=n.get(t.oldElementId),s=e.indexOf(r);e[s]=i.replaceElement(r,o,{select:!1})})),t&&o.select(e)},Qm.$inject=["bpmnReplace","bpmnRules","elementRegistry","injector","modeling","selection"];var Xm={width:140,height:120},Um={width:300,height:60},Ym={width:60,height:300},Km={width:300,height:150},Zm={width:150,height:300},Jm={width:140,height:120},eg={width:50,height:30};function tg(e){e.on("resize.start",1500,(function(e){var t=e.context,n=t.shape,i=t.direction,o=t.balanced;(de(n,"bpmn:Lane")||de(n,"bpmn:Participant"))&&(t.resizeConstraints=function(e,t,n){var i=Xf(e),o=!0,r=!0,s=Gf(i,[i]),a=Hr(e),l={},c={},u=ul(e),h=u?Um:Ym;/n/.test(t)?c.top=a.bottom-h.height:/e/.test(t)?c.right=a.left+h.width:/s/.test(t)?c.bottom=a.top+h.height:/w/.test(t)&&(c.left=a.right-h.width),s.forEach((function(e){var i=Hr(e);u?(i.topa.bottom+10&&(r=!1)):(i.lefta.right+10&&(r=!1)),/n/.test(t)&&(n&&ng(a.top-i.bottom)<10&&ag(l,"top",i.top+h.height),ng(a.top-i.top)<5&&sg(c,"top",i.bottom-h.height)),/e/.test(t)&&(n&&ng(a.right-i.left)<10&&sg(l,"right",i.right-h.width),ng(a.right-i.right)<5&&ag(c,"right",i.left+h.width)),/s/.test(t)&&(n&&ng(a.bottom-i.top)<10&&sg(l,"bottom",i.bottom-h.height),ng(a.bottom-i.bottom)<5&&ag(c,"bottom",i.top+h.height)),/w/.test(t)&&(n&&ng(a.left-i.right)<10&&ag(l,"left",i.left+h.width),ng(a.left-i.left)<5&&sg(c,"left",i.right-h.width))}));var p=i.children.filter((function(e){return!e.hidden&&!e.waypoints&&(de(e,"bpmn:FlowElement")||de(e,"bpmn:Artifact"))})),d=u?lg:cg;return p.forEach((function(e){var n=Hr(e);!/n/.test(t)||u&&!o||sg(c,"top",n.top-d.top),/e/.test(t)&&(u||r)&&ag(c,"right",n.right+d.right),!/s/.test(t)||u&&!r||ag(c,"bottom",n.bottom+d.bottom),/w/.test(t)&&(u||o)&&sg(c,"left",n.left-d.left)})),{min:c,max:l}}(n,i,o)),de(n,"bpmn:SubProcess")&&cl(n)&&(t.minDimensions=Jm),de(n,"bpmn:TextAnnotation")&&(t.minDimensions=eg)}))}tg.$inject=["eventBus"];var ng=Math.abs,ig=Math.min,og=Math.max;function rg(e,t,n,i){var o=e[t];e[t]=void 0===o?n:i(n,o)}function sg(e,t,n){return rg(e,t,n,ig)}function ag(e,t,n){return rg(e,t,n,og)}var lg={top:20,left:50,right:20,bottom:20},cg={top:50,left:20,right:20,bottom:20};function ug(e,t){e.on("resize.start",1501,(function(e){var t=e.context,n=t.shape;(de(n,"bpmn:Lane")||de(n,"bpmn:Participant"))&&(t.balanced=!Hc(e))})),e.on("resize.end",1001,(function(e){var n=e.context,i=n.shape,o=n.canExecute,r=n.newBounds;if(de(i,"bpmn:Lane")||de(i,"bpmn:Participant"))return o&&(r=jr(r),t.resizeLane(i,r,n.balanced)),!1}))}function hg(e,t,n,i,o){function r(e){return fe(e,["bpmn:ReceiveTask","bpmn:SendTask"])||function(e,t){return L(t)||(t=[t]),X(t,(function(t){return dl(e,t)}))}(e,["bpmn:ErrorEventDefinition","bpmn:EscalationEventDefinition","bpmn:MessageEventDefinition","bpmn:SignalEventDefinition"])}function s(t){return!!j(e.getDefinitions().get("rootElements"),ne({id:t.id}))}function a(e){return de(e,"bpmn:ErrorEventDefinition")?"errorRef":de(e,"bpmn:EscalationEventDefinition")?"escalationRef":de(e,"bpmn:MessageEventDefinition")?"messageRef":de(e,"bpmn:SignalEventDefinition")?"signalRef":void 0}function l(e){if(fe(e,["bpmn:ReceiveTask","bpmn:SendTask"]))return e.get("messageRef");var t=e.get("eventDefinitions")[0];return t.get(a(t))}n.invoke(ac,this),this.executed(["shape.create","element.updateProperties","element.updateModdleProperties"],(function(t){var n=t.shape||t.element;if(r(n)){var i=l(me(n));i&&!s(i)&&(Zo(e.getDefinitions().get("rootElements"),i),t.addedRootElement=i)}}),!0),this.reverted(["shape.create","element.updateProperties","element.updateModdleProperties"],(function(t){var n=t.addedRootElement;n&&Ko(e.getDefinitions().get("rootElements"),n)}),!0),t.on("copyPaste.copyElement",(function(e){var t=e.descriptor,n=e.element;if(!n.labelTarget&&r(n)){var i=l(me(n));i&&(t.referencedRootElement=i)}})),t.on("copyPaste.pasteElement",500,(function(e){var t=e.descriptor,n=t.businessObject,r=t.referencedRootElement;r&&(s(r)||(r=i.copyElement(r,o.create(r.$type))),function(e,t){if(fe(e,["bpmn:ReceiveTask","bpmn:SendTask"]))return e.set("messageRef",t);var n=e.get("eventDefinitions")[0];n.set(a(n),t)}(n,r),delete t.referencedRootElement)}))}ug.$inject=["eventBus","modeling"],hg.$inject=["bpmnjs","eventBus","injector","moddleCopy","bpmnFactory"],lt(hg,ac);var pg=Math.max;function dg(e){e.on("spaceTool.getMinDimensions",(function(e){var t=e.shapes,n=e.axis,i=e.start,o={};return V(t,(function(e){var t=e.id;de(e,"bpmn:Participant")&&(o[t]=function(e,t,n){var i=ul(e);if(!Qf(e).length)return i?Km:Zm;var o=function(e){return"x"===e}(t);return o?i?Km:{width:mg(e,n,o),height:Zm.height}:i?{width:Km.width,height:fg(e,n,o)}:Zm}(e,n,i)),de(e,"bpmn:Lane")&&(o[t]=ul(e)?Um:Ym),de(e,"bpmn:SubProcess")&&cl(e)&&(o[t]=Jm),de(e,"bpmn:TextAnnotation")&&(o[t]=eg),de(e,"bpmn:Group")&&(o[t]=Xm)})),o}))}function fg(e,t,n){var i;return i=function(e,t,n){var i;return i=gg(Qf(e),t,n),e.height-i.height+Um.height}(e,t,n),pg(Km.height,i)}function mg(e,t,n){var i;return i=function(e,t,n){var i;return i=gg(Qf(e),t,n),e.width-i.width+Ym.width}(e,t,n),pg(Zm.width,i)}function gg(e,t,n){var i,o,r;for(i=0;i=o.y&&t<=o.y+o.height||n&&t>=o.x&&t<=o.x+o.width)return(r=Qf(o)).length?gg(r,t,n):o}dg.$inject=["eventBus"];function vg(e,t,n,i,o,r,s){ac.call(this,t),this._canvas=e,this._eventBus=t,this._modeling=n,this._elementFactory=i,this._bpmnFactory=o,this._bpmnjs=r,this._elementRegistry=s;var a=this;function l(e){return de(e,"bpmn:SubProcess")&&!cl(e)}function c(t){var n=t.shape,i=t.newRootElement,o=me(n);i=a._addDiagram(i||o),t.newRootElement=e.addRootElement(i)}function u(t){var n=me(t.shape);a._removeDiagram(n);var i=t.newRootElement=s.get(gc(n));e.removeRootElement(i)}this.executed("shape.create",(function(e){l(e.shape)&&c(e)}),!0),this.postExecuted("shape.create",(function(e){var t=e.shape,n=e.newRootElement;n&&t.children&&(a._showRecursively(t.children),a._moveChildrenToShape(t,n))}),!0),this.reverted("shape.create",(function(e){l(e.shape)&&u(e)}),!0),this.preExecuted("shape.delete",(function(e){var t=e.shape;if(l(t)){var i=s.get(gc(t));i&&n.removeElements(i.children.slice())}}),!0),this.executed("shape.delete",(function(e){l(e.shape)&&u(e)}),!0),this.reverted("shape.delete",(function(e){l(e.shape)&&c(e)}),!0),this.preExecuted("shape.replace",(function(t){var n=t.oldShape,i=t.newShape;l(n)&&l(i)&&(t.oldRoot=e.removeRootElement(gc(n)))}),!0),this.postExecuted("shape.replace",(function(t){var i=t.newShape,o=t.oldRoot,r=e.findRoot(gc(i));if(o&&r){var s=o.children;n.moveElements(s,{x:0,y:0},r)}}),!0),this.executed("element.updateProperties",(function(e){var t=e.element;if(de(t,"bpmn:SubProcess")){var n=e.properties,i=e.oldProperties.id,o=n.id;if(i!==o){if(yc(t))return s.updateId(t,vc(o)),void s.updateId(i,o);s.get(vc(i))&&s.updateId(vc(i),vc(o))}}}),!0),this.reverted("element.updateProperties",(function(e){var t=e.element;if(de(t,"bpmn:SubProcess")){var n=e.properties,i=e.oldProperties.id,o=n.id;if(i!==o){if(yc(t))return s.updateId(t,vc(i)),void s.updateId(o,i);var r=s.get(vc(o));r&&s.updateId(r,vc(i))}}}),!0),t.on("element.changed",(function(e){var n=e.element;if(yc(n)){var i=n,o=s.get(mc(i));o&&o!==i&&t.fire("element.changed",{element:o})}})),this.executed("shape.toggleCollapse",400,(function(e){var t=e.shape;de(t,"bpmn:SubProcess")&&(cl(t)?u(e):(c(e),a._showRecursively(t.children)))}),!0),this.reverted("shape.toggleCollapse",400,(function(e){var t=e.shape;de(t,"bpmn:SubProcess")&&(cl(t)?u(e):(c(e),a._showRecursively(t.children)))}),!0),this.postExecuted("shape.toggleCollapse",600,(function(e){var t=e.shape;if(de(t,"bpmn:SubProcess")){var n=e.newRootElement;n&&(cl(t)?a._moveChildrenToShape(n,t):a._moveChildrenToShape(t,n))}}),!0),t.on("copyPaste.createTree",(function(e){var t=e.element,n=e.children;if(l(t)){var i=gc(t),o=s.get(i);o&&n.push.apply(n,o.children)}})),t.on("copyPaste.copyElement",(function(e){var t=e.descriptor,n=e.element,i=e.elements,o=n.parent;if(de(ge(o),"bpmndi:BPMNPlane")){var r=mc(o),s=j(i,(function(e){return e.id===r}));s&&(t.parent=s.id)}})),t.on("copyPaste.pasteElement",(function(e){var t=e.descriptor;t.parent&&(l(t.parent)||t.parent.hidden)&&(t.hidden=!0)}))}function yg(e,t){e.invoke(ac,this),this.postExecuted("shape.replace",(function(e){var n=e.context.oldShape,i=e.context.newShape;if(de(i,"bpmn:SubProcess")&&(de(n,"bpmn:Task")||de(n,"bpmn:CallActivity"))&&cl(i)){var o,r={x:(o=i).x+o.width/6,y:o.y+o.height/2};t.createShape({type:"bpmn:StartEvent"},r,i)}}))}function bg(e){ac.call(this,e),this.preExecute("connection.create",(function(e){const{target:t}=e;de(t,"bpmn:TextAnnotation")&&(e.parent=t.parent)}),!0),this.preExecute(["shape.create","shape.resize","elements.move"],(function(e){const t=e.shapes||[e.shape];1===t.length&&de(t[0],"bpmn:TextAnnotation")&&(e.hints=e.hints||{},e.hints.autoResize=!1)}),!0)}function wg(e,t){ac.call(this,e),this.postExecuted("shape.toggleCollapse",1500,(function(e){var n=e.shape;if(!cl(n)){var i=Vo(n);i.forEach((function(e){var t=e.incoming.slice(),n=e.outgoing.slice();V(t,(function(e){o(e,!0)})),V(n,(function(e){o(e,!1)}))}))}function o(e,o){-1!==i.indexOf(e.source)&&-1!==i.indexOf(e.target)||(o?t.reconnectEnd(e,n,Wr(n)):t.reconnectStart(e,n,Wr(n)))}}),!0)}function xg(e,t,n){ac.call(this,e),this.executed(["shape.toggleCollapse"],500,(function(e){var t,n=e.context.shape;de(n,"bpmn:SubProcess")&&(n.collapsed?ge(n).isExpanded=!1:((t=n.children).length&&t.forEach((function(e){"label"!==e.type||e.businessObject.name||(e.hidden=!0)})),ge(n).isExpanded=!0))})),this.reverted(["shape.toggleCollapse"],500,(function(e){var t=e.context.shape;t.collapsed?ge(t).isExpanded=!1:ge(t).isExpanded=!0})),this.postExecuted(["shape.toggleCollapse"],500,(function(e){var i,o=e.context.shape,r=t.getDefaultSize(o);i=o.collapsed?function(e,t){return{x:e.x+(e.width-t.width)/2,y:e.y+(e.height-t.height)/2,width:t.width,height:t.height}}(o,r):function(e,t){var n,i,o=t;return(n=qf((i=e.children,i.filter((function(e){return!e.hidden}))).concat([e])))?(o.width=Math.max(n.width,o.width),o.height=Math.max(n.height,o.height),o.x=n.x+(n.width-o.width)/2,o.y=n.y+(n.height-o.height)/2):(o.x=e.x+(e.width-o.width)/2,o.y=e.y+(e.height-o.height)/2),o}(o,r),n.resizeShape(o,i,null,{autoResize:!o.collapsed&&"nwse"})}))}function _g(e,t,n,i){t.invoke(ac,this),this.preExecute("shape.delete",(function(e){var t=e.context.shape,o=t.businessObject;$r(t)||(de(t,"bpmn:Participant")&&cl(t)&&n.ids.unclaim(o.processRef.id),i.unclaimId(o.id,o))})),this.preExecute("connection.delete",(function(e){var t=e.context.connection.businessObject;i.unclaimId(t.id,t)})),this.preExecute("canvas.updateRoot",(function(){var t=e.getRootElement(),i=t.businessObject;de(t,"bpmn:Collaboration")&&n.ids.unclaim(i.id)}))}function Eg(e,t){ac.call(this,e),this.preExecute("connection.delete",(function(e){var n=e.context.connection,i=n.source;(function(e,t){if(!de(e,"bpmn:SequenceFlow"))return!1;var n=me(t),i=me(e);return n.get("default")===i})(n,i)&&t.updateProperties(i,{default:null})}))}function kg(e,t){var n;ac.call(this,e);var i=["spaceTool","lane.add","lane.resize","lane.split","elements.create","elements.delete","elements.move","shape.create","shape.delete","shape.move","shape.resize"];this.preExecute(i,5e3,(function(e){(n=n||new Sg).enter()})),this.postExecuted(i,500,(function(e){!function(){if(!n)throw new Error("out of bounds release");n.leave()&&(t.updateLaneRefs(n.flowNodes,n.lanes),n=null)}()})),this.preExecute(["shape.create","shape.move","shape.delete","shape.resize"],(function(e){var t=e.context.shape,i=function(){if(!n)throw new Error("out of bounds release");return n}();t.labelTarget||(de(t,"bpmn:Lane")&&i.addLane(t),de(t,"bpmn:FlowNode")&&i.addFlowNode(t))}))}function Sg(){this.flowNodes=[],this.lanes=[],this.counter=0,this.addLane=function(e){this.lanes.push(e)},this.addFlowNode=function(e){this.flowNodes.push(e)},this.enter=function(){this.counter++},this.leave=function(){return this.counter--,!this.counter}}function Cg(e,t){ac.call(this,e),this.postExecuted("elements.create",(function(e){const n=e.context.elements;for(const e of n)Og(e)&&!Pg(e)&&t.updateProperties(e,{isForCompensation:void 0})}))}function Og(e){const t=me(e);return t&&t.isForCompensation}function Pg(e){return e.incoming.filter((e=>function(e){return e&&de(e,"bpmn:BoundaryEvent")&&dl(e,"bpmn:CompensateEventDefinition")}(e.source))).length>0}lt(vg,ac),vg.prototype._moveChildrenToShape=function(e,t){var n,i=this._modeling,o=e.children;if(o){var r=(o=o.concat(o.reduce((function(t,n){return n.label&&n.label.parent!==e?t.concat(n.label):t}),[]))).filter((function(e){return!e.hidden}));if(r.length){var s=Wo(r);if(t.x){var a=Wr(t),l=Wr(s);n={x:a.x-l.x,y:a.y-l.y}}else n={x:180-s.x,y:160-s.y};i.moveElements(o,n,t,{autoResize:!1})}else i.moveElements(o,{x:0,y:0},t,{autoResize:!1})}},vg.prototype._showRecursively=function(e,t){var n=this,i=[];return e.forEach((function(e){e.hidden=!!t,i=i.concat(e),e.children&&(i=i.concat(n._showRecursively(e.children,e.collapsed||t)))})),i},vg.prototype._addDiagram=function(e){var t=this._bpmnjs.getDefinitions().diagrams;return e.businessObject||(e=this._createNewDiagram(e)),t.push(e.di.$parent),e},vg.prototype._createNewDiagram=function(e){var t=this._bpmnFactory,n=this._elementFactory,i=t.create("bpmndi:BPMNPlane",{bpmnElement:e}),o=t.create("bpmndi:BPMNDiagram",{plane:i});return i.$parent=o,n.createRoot({id:gc(e),type:e.$type,di:i,businessObject:e,collapsed:!0})},vg.prototype._removeDiagram=function(e){var t=this._bpmnjs.getDefinitions().diagrams,n=j(t,(function(t){return t.plane.bpmnElement.id===e.id}));return t.splice(t.indexOf(n),1),n},vg.$inject=["canvas","eventBus","modeling","elementFactory","bpmnFactory","bpmnjs","elementRegistry"],yg.$inject=["injector","modeling"],lt(yg,ac),lt(bg,ac),bg.$inject=["eventBus"],lt(wg,ac),wg.$inject=["eventBus","modeling"],lt(xg,ac),xg.$inject=["eventBus","elementFactory","modeling"],lt(_g,ac),_g.$inject=["canvas","injector","moddle","modeling"],lt(Eg,ac),Eg.$inject=["eventBus","modeling"],kg.$inject=["eventBus","modeling"],lt(kg,ac),lt(Cg,ac),Cg.$inject=["eventBus","modeling"];const Mg={__init__:["adaptiveLabelPositioningBehavior","appendBehavior","associationBehavior","attachEventBehavior","boundaryEventBehavior","compensateBoundaryEventBehaviour","createBehavior","createDataObjectBehavior","createParticipantBehavior","dataInputAssociationBehavior","dataStoreBehavior","deleteLaneBehavior","detachEventBehavior","dropOnFlowBehavior","eventBasedGatewayBehavior","fixHoverBehavior","groupBehavior","importDockingFix","isHorizontalFix","labelBehavior","layoutConnectionBehavior","messageFlowBehavior","nonInterruptingBehavior","removeElementBehavior","removeEmbeddedLabelBoundsBehavior","removeParticipantBehavior","replaceConnectionBehavior","replaceElementBehaviour","resizeBehavior","resizeLaneBehavior","rootElementReferenceBehavior","spaceToolBehavior","subProcessPlaneBehavior","subProcessStartEventBehavior","textAnnotationBehavior","toggleCollapseConnectionBehaviour","toggleElementCollapseBehaviour","unclaimIdBehavior","updateFlowNodeRefsBehavior","unsetDefaultFlowBehavior","setCompensationActivityAfterPasteBehavior"],adaptiveLabelPositioningBehavior:["type",ff],appendBehavior:["type",gf],associationBehavior:["type",vf],attachEventBehavior:["type",yf],boundaryEventBehavior:["type",wf],compensateBoundaryEventBehaviour:["type",xf],createBehavior:["type",Sf],createDataObjectBehavior:["type",Cf],createParticipantBehavior:["type",Pf],dataInputAssociationBehavior:["type",Af],dataStoreBehavior:["type",Rf],deleteLaneBehavior:["type",Uf],detachEventBehavior:["type",Yf],dropOnFlowBehavior:["type",Zf],eventBasedGatewayBehavior:["type",tm],fixHoverBehavior:["type",om],groupBehavior:["type",rm],importDockingFix:["type",am],isHorizontalFix:["type",cm],labelBehavior:["type",Om],layoutConnectionBehavior:["type",Pm],messageFlowBehavior:["type",zm],nonInterruptingBehavior:["type",jm],removeElementBehavior:["type",Hm],removeEmbeddedLabelBoundsBehavior:["type",qm],removeParticipantBehavior:["type",Wm],replaceConnectionBehavior:["type",Gm],replaceElementBehaviour:["type",Qm],resizeBehavior:["type",tg],resizeLaneBehavior:["type",ug],rootElementReferenceBehavior:["type",hg],spaceToolBehavior:["type",dg],subProcessPlaneBehavior:["type",vg],subProcessStartEventBehavior:["type",yg],textAnnotationBehavior:["type",bg],toggleCollapseConnectionBehaviour:["type",wg],toggleElementCollapseBehaviour:["type",xg],unclaimIdBehavior:["type",_g],unsetDefaultFlowBehavior:["type",Eg],updateFlowNodeRefsBehavior:["type",kg],setCompensationActivityAfterPasteBehavior:["type",Cg]};function Ag(e,t){var n=Gr(e,t,-15);return"intersect"!==n?n:null}function Tg(e){wp.call(this,e)}function Bg(e){return!e||$r(e)}function Rg(e){do{if(de(e,"bpmn:Process"))return me(e);if(de(e,"bpmn:Participant"))return me(e).processRef||me(e)}while(e=e.parent)}function Dg(e){return de(e,"bpmn:TextAnnotation")}function Lg(e){return de(e,"bpmn:Group")&&!e.labelTarget}function Ng(e){return de(e,"bpmn:BoundaryEvent")&&$g(e,"bpmn:CompensateEventDefinition")}function zg(e){return me(e).isForCompensation}function Ig(e){for(var t=e;t=t.parent;){if(de(t,"bpmn:FlowElementsContainer"))return me(t);if(de(t,"bpmn:Participant"))return me(t).processRef}return null}function Fg(e,t){return Ig(e)===Ig(t)}function $g(e,t){return!!j(me(e).eventDefinitions||[],(function(e){return de(e,t)}))}function jg(e,t){return(me(e).eventDefinitions||[]).every((function(e){return de(e,t)}))}function qg(e,t){var n=function(e){for(var t=[];e;)(e=e.parent)&&t.push(e);return t}(t);return-1!==n.indexOf(e)}function Hg(e,t,n){if(Bg(e)||Bg(t))return null;if(!de(n,"bpmn:DataAssociation")){if(nv(e,t))return{type:"bpmn:MessageFlow"};if(iv(e,t))return{type:"bpmn:SequenceFlow"}}return ov(e,t)||(tv(e,t)?{type:"bpmn:Association",associationDirection:"One"}:!!ev(e,t)&&{type:"bpmn:Association",associationDirection:"None"})}function Vg(e,t){return!(!$r(e)&&!Lg(e))||!(de(t,"bpmn:Participant")&&!cl(t))&&(de(e,"bpmn:Participant")?de(t,"bpmn:Process")||de(t,"bpmn:Collaboration"):fe(e,["bpmn:DataInput","bpmn:DataOutput"])&&e.parent?t===e.parent:de(e,"bpmn:Lane")?de(t,"bpmn:Participant")||de(t,"bpmn:Lane"):!(de(e,"bpmn:BoundaryEvent")&&(n=e,!me(n).cancelActivity||!Gg(n)&&!Qg(n)))&&(de(e,"bpmn:FlowElement")&&!de(e,"bpmn:DataStoreReference")?de(t,"bpmn:FlowElementsContainer")?cl(t):fe(t,["bpmn:Participant","bpmn:Lane"]):de(e,"bpmn:DataStoreReference")&&de(t,"bpmn:Collaboration")?X(me(t).get("participants"),(function(e){return!!e.get("processRef")})):fe(e,["bpmn:Artifact","bpmn:DataAssociation","bpmn:DataStoreReference"])?fe(t,["bpmn:Collaboration","bpmn:Lane","bpmn:Participant","bpmn:Process","bpmn:SubProcess"]):!!de(e,"bpmn:MessageFlow")&&(de(t,"bpmn:Collaboration")||e.source.parent==t||e.target.parent==t)));var n}function Wg(e){return de(e,"bpmn:Lane")}function Gg(e){var t=me(e);return t&&!(t.eventDefinitions&&t.eventDefinitions.length)}function Qg(e){return Xg(e,["bpmn:MessageEventDefinition","bpmn:TimerEventDefinition","bpmn:SignalEventDefinition","bpmn:ConditionalEventDefinition"])}function Xg(e,t){return t.some((function(t){return $g(e,t)}))}function Ug(e,t,n,i){if(Array.isArray(e)||(e=[e]),1!==e.length)return!1;var o=e[0];return!$r(o)&&!!function(e){return!!function(e){return!$r(e)&&de(e,"bpmn:BoundaryEvent")}(e)||!(!de(e,"bpmn:IntermediateThrowEvent")||!Gg(e))||de(e,"bpmn:IntermediateCatchEvent")&&Qg(e)}(o)&&!pl(t)&&!(!de(t,"bpmn:Activity")||zg(t))&&!(i&&!Ag(i,t))&&!function(e){return de(e,"bpmn:ReceiveTask")&&j(e.incoming,(function(e){return de(e.source,"bpmn:EventBasedGateway")}))}(t)&&"attach"}function Yg(e,t,n){if(!t)return!1;var i={replacements:[]};return V(e,(function(e){pl(t)||de(e,"bpmn:StartEvent")&&"label"!==e.type&&Vg(e,t)&&(hl(e)||i.replacements.push({oldElementId:e.id,newElementType:"bpmn:StartEvent"}),(function(e){return dl(e,"bpmn:ErrorEventDefinition")}(e)||function(e){return dl(e,"bpmn:EscalationEventDefinition")}(e)||function(e){return dl(e,"bpmn:CompensateEventDefinition")}(e))&&i.replacements.push({oldElementId:e.id,newElementType:"bpmn:StartEvent"}),Xg(e,["bpmn:MessageEventDefinition","bpmn:TimerEventDefinition","bpmn:SignalEventDefinition","bpmn:ConditionalEventDefinition"])&&de(t,"bpmn:SubProcess")&&i.replacements.push({oldElementId:e.id,newElementType:"bpmn:StartEvent"})),de(t,"bpmn:Transaction")||$g(e,"bpmn:CancelEventDefinition")&&"label"!==e.type&&(de(e,"bpmn:EndEvent")&&Vg(e,t)&&i.replacements.push({oldElementId:e.id,newElementType:"bpmn:EndEvent"}),de(e,"bpmn:BoundaryEvent")&&Ug(e,t,0,n)&&i.replacements.push({oldElementId:e.id,newElementType:"bpmn:BoundaryEvent"}))})),!!i.replacements.length&&i}function Kg(e,t){return!X(e,Wg)&&(!t||e.every((function(e){return Vg(e,t)})))}function Zg(e,t,n,i){return!!t&&(!(!$r(e)&&!Lg(e))||!function(e,t){return e===t}(n,t)&&(!n||!qg(n,t))&&(Vg(e,t)||rv(e,t)))}function Jg(e,t){return de(e,"bpmn:SubProcess")?cl(e)&&(!t||t.width>=100&&t.height>=80):!!(de(e,"bpmn:Lane")||de(e,"bpmn:Participant")||Dg(e)||Lg(e))}function ev(e,t){return!(qg(t,e)||qg(e,t)||!function(e,t){var n=Dg(e),i=Dg(t);return(n||i)&&n!==i}(e,t)&&!ov(e,t))}function tv(e,t){return Fg(e,t)&&Ng(e)&&de(t,"bpmn:Activity")&&(n=e,!t.attachers.includes(n))&&!pl(t);var n}function nv(e,t){return!(av(e)&&!av(t))&&de(n=e,"bpmn:InteractionNode")&&!de(n,"bpmn:BoundaryEvent")&&(!de(n,"bpmn:Event")||de(n,"bpmn:ThrowEvent")&&jg(n,"bpmn:MessageEventDefinition"))&&function(e){return de(e,"bpmn:InteractionNode")&&!zg(e)&&(!de(e,"bpmn:Event")||de(e,"bpmn:CatchEvent")&&jg(e,"bpmn:MessageEventDefinition"))&&!(de(e,"bpmn:BoundaryEvent")&&!$g(e,"bpmn:MessageEventDefinition"))}(t)&&!function(e,t){return Rg(e)===Rg(t)}(e,t);var n}function iv(e,t){return de(n=e,"bpmn:FlowNode")&&!de(n,"bpmn:EndEvent")&&!pl(n)&&!(de(n,"bpmn:IntermediateThrowEvent")&&$g(n,"bpmn:LinkEventDefinition"))&&!Ng(n)&&!zg(n)&&function(e){return de(e,"bpmn:FlowNode")&&!de(e,"bpmn:StartEvent")&&!de(e,"bpmn:BoundaryEvent")&&!pl(e)&&!(de(e,"bpmn:IntermediateCatchEvent")&&$g(e,"bpmn:LinkEventDefinition"))&&!zg(e)}(t)&&Fg(e,t)&&!(de(e,"bpmn:EventBasedGateway")&&!function(e){return de(e,"bpmn:ReceiveTask")||de(e,"bpmn:IntermediateCatchEvent")&&($g(e,"bpmn:MessageEventDefinition")||$g(e,"bpmn:TimerEventDefinition")||$g(e,"bpmn:ConditionalEventDefinition")||$g(e,"bpmn:SignalEventDefinition"))}(t));var n}function ov(e,t){return fe(e,["bpmn:DataObjectReference","bpmn:DataStoreReference"])&&fe(t,["bpmn:Activity","bpmn:ThrowEvent"])?{type:"bpmn:DataInputAssociation"}:!(!fe(t,["bpmn:DataObjectReference","bpmn:DataStoreReference"])||!fe(e,["bpmn:Activity","bpmn:CatchEvent"]))&&{type:"bpmn:DataOutputAssociation"}}function rv(e,t,n){if(!t)return!1;if(Array.isArray(e)){if(1!==e.length)return!1;e=e[0]}return t.source!==e&&t.target!==e&&fe(t,["bpmn:SequenceFlow","bpmn:MessageFlow"])&&!$r(t)&&de(e,"bpmn:FlowNode")&&!de(e,"bpmn:BoundaryEvent")&&Vg(e,t.parent)}function sv(e,t){return!!$r(t)||!(de(t,"bpmn:Lane")&&!function(e,t){return e&&t&&-1!==e.indexOf(t)}(e,t.parent))}function av(e){return Dp(e,"bpmn:Process")||Dp(e,"bpmn:Collaboration")}lt(Tg,wp),Tg.$inject=["eventBus"],Tg.prototype.init=function(){this.addRule("connection.start",(function(e){return Bg(t=e.source)?null:fe(t,["bpmn:FlowNode","bpmn:InteractionNode","bpmn:DataObjectReference","bpmn:DataStoreReference","bpmn:Group","bpmn:TextAnnotation"]);var t})),this.addRule("connection.create",(function(e){var t=e.source,n=e.target,i=e.hints||{},o=i.targetParent;if(i.targetAttach)return!1;o&&(n.parent=o);try{return Hg(t,n)}finally{o&&(n.parent=null)}})),this.addRule("connection.reconnect",(function(e){var t=e.connection;return Hg(e.source,e.target,t)})),this.addRule("connection.updateWaypoints",(function(e){return{type:e.connection.type}})),this.addRule("shape.resize",(function(e){return Jg(e.shape,e.newBounds)})),this.addRule("elements.create",(function(e){var t=e.elements,n=e.position,i=e.target;return!(Fr(i)&&!rv(t,i))&&Q(t,(function(e){return Fr(e)?Hg(e.source,e.target,e):e.host?Ug(e,e.host,0,n):Zg(e,i,null)}))})),this.addRule("elements.move",(function(e){var t=e.target,n=e.shapes,i=e.position;return Ug(n,t,0,i)||Yg(n,t,i)||Kg(n,t)||rv(n,t)})),this.addRule("shape.create",(function(e){return Zg(e.shape,e.target,e.source,e.position)})),this.addRule("shape.attach",(function(e){return Ug(e.shape,e.target,0,e.position)})),this.addRule("element.copy",(function(e){var t=e.element;return sv(e.elements,t)}))},Tg.prototype.canConnectMessageFlow=nv,Tg.prototype.canConnectSequenceFlow=iv,Tg.prototype.canConnectDataAssociation=ov,Tg.prototype.canConnectAssociation=ev,Tg.prototype.canConnectCompensationAssociation=tv,Tg.prototype.canMove=Kg,Tg.prototype.canAttach=Ug,Tg.prototype.canReplace=Yg,Tg.prototype.canDrop=Vg,Tg.prototype.canInsert=rv,Tg.prototype.canCreate=Zg,Tg.prototype.canConnect=Hg,Tg.prototype.canResize=Jg,Tg.prototype.canCopy=sv;const lv={__depends__:[td],__init__:["bpmnRules"],bpmnRules:["type",Tg]};function cv(e,t){e.on("saveXML.start",2e3,(function(){V(t.getRootElements(),(function(e){var t,n=ge(e);t=U(H(Vo([e],!1),(function(t){return t!==e&&!t.labelTarget})),ge),n.set("planeElement",t)}))}))}cv.$inject=["eventBus","canvas"];const uv={__init__:["bpmnDiOrdering"],bpmnDiOrdering:["type",cv]};function hv(e){ac.call(this,e);var t=this;this.preExecute(["shape.create","connection.create"],(function(e){var n=e.context,i=n.shape||n.connection,o=n.parent,r=t.getOrdering(i,o);r&&(void 0!==r.parent&&(n.parent=r.parent),n.parentIndex=r.index)})),this.preExecute(["shape.move","connection.move"],(function(e){var n=e.context,i=n.shape||n.connection,o=n.newParent||i.parent,r=t.getOrdering(i,o);r&&(void 0!==r.parent&&(n.newParent=r.parent),n.newParentIndex=r.index)}))}function pv(e,t){hv.call(this,e);var n=[{type:"bpmn:SubProcess",order:{level:6}},{type:"bpmn:SequenceFlow",order:{level:9,containers:["bpmn:Participant","bpmn:FlowElementsContainer"]}},{type:"bpmn:DataAssociation",order:{level:9,containers:["bpmn:Collaboration","bpmn:FlowElementsContainer"]}},{type:"bpmn:TextAnnotation",order:{level:9}},{type:"bpmn:MessageFlow",order:{level:9,containers:["bpmn:Collaboration"]}},{type:"bpmn:Association",order:{level:6,containers:["bpmn:Participant","bpmn:FlowElementsContainer","bpmn:Collaboration"]}},{type:"bpmn:BoundaryEvent",order:{level:8}},{type:"bpmn:Group",order:{level:10,containers:["bpmn:Collaboration","bpmn:FlowElementsContainer"]}},{type:"bpmn:FlowElement",order:{level:5}},{type:"bpmn:Participant",order:{level:-2}},{type:"bpmn:Lane",order:{level:-1}}];function i(e){var t=e.order;if(t||(e.order=t=function(e){if(e.labelTarget)return{level:10};var t=j(n,(function(t){return fe(e,[t.type])}));return t&&t.order||{level:1}}(e)),!t)throw new Error(`no order for <${e.id}>`);return t}this.getOrdering=function(e,n){if(e.labelTarget||de(e,"bpmn:TextAnnotation"))return{parent:t.findRoot(n)||t.getRootElement(),index:-1};var o=i(e);o.containers&&(n=function(e,t,n){for(var i=t;i&&!fe(i,n);)i=i.parent;if(!i)throw new Error(`no parent for <${e.id}> in <${t&&t.id}>`);return i}(e,n,o.containers));var r=n.children.indexOf(e),s=q(n.children,(function(t){return!(!e.labelTarget&&t.labelTarget)&&o.levelYv(e.dy)?"x":"y",i=e["d"+n],o=e[n]-i;if(Yv(i)<5)return!1;i<0&&(i*=-1),Hc(e)&&(i*=-1);var r=function(e,t){if("x"===e){if(t>0)return"e";if(t<0)return"w"}if("y"===e){if(t>0)return"s";if(t<0)return"n"}return null}(n,i),s=this._canvas.getRootElement();!Vc(e)&&e.hover&&(s=e.hover);var a=[...Vo(s,!0),...s.attachers||[]],l=this.calculateAdjustments(a,n,i,o),c=function(e,t,n,i,o){var r=e.movingShapes,s=e.resizingShapes;if(s.length){var a,l,c={};return V(s,(function(e){var u,h,p,d,f,m,g=e.attachers,v=e.children,y=Hr(e),b=H(v,(function(e){return!(Fr(e)||$r(e)||sy(r,e)||sy(s,e))})),w=H(v,(function(e){return!Fr(e)&&!$r(e)&&sy(r,e)})),x=[],_=[];b.length&&(h=oy(Hr(Wo(b))),u=i-y[ey[n]]+h[ey[n]],"n"===n?c.bottom=l=z(l)?Math.min(l,u):u:"w"===n?c.right=l=z(l)?Math.min(l,u):u:"s"===n?c.top=a=z(a)?Math.max(a,u):u:"e"===n&&(c.left=a=z(a)?Math.max(a,u):u)),w.length&&(p=oy(Hr(Wo(w))),u=i-p[ey[ny[n]]]+y[ey[ny[n]]],"n"===n?c.bottom=l=z(l)?Math.min(l,u):u:"w"===n?c.right=l=z(l)?Math.min(l,u):u:"s"===n?c.top=a=z(a)?Math.max(a,u):u:"e"===n&&(c.left=a=z(a)?Math.max(a,u):u)),g&&g.length&&(g.forEach((function(e){sy(r,e)?x.push(e):_.push(e)})),x.length&&(d=Hr(Wo(x.map(Wr))),f=y[ey[ny[n]]]-(d[ey[ny[n]]]-i)),_.length&&(m=Hr(Wo(_.map(Wr)))[ey[n]]-(y[ey[n]]-i)),"n"===n?(u=Math.min(f||1/0,m||1/0),c.bottom=l=z(l)?Math.min(l,u):u):"w"===n?(u=Math.min(f||1/0,m||1/0),c.right=l=z(l)?Math.min(l,u):u):"s"===n?(u=Math.max(f||-1/0,m||-1/0),c.top=a=z(a)?Math.max(a,u):u):"e"===n&&(u=Math.max(f||-1/0,m||-1/0),c.left=a=z(a)?Math.max(a,u):u));var E=o&&o[e.id];E&&("n"===n?(u=i+e[Zv[t]]-E[Zv[t]],c.bottom=l=z(l)?Math.min(l,u):u):"w"===n?(u=i+e[Zv[t]]-E[Zv[t]],c.right=l=z(l)?Math.min(l,u):u):"s"===n?(u=i-e[Zv[t]]+E[Zv[t]],c.top=a=z(a)?Math.max(a,u):u):"e"===n&&(u=i-e[Zv[t]]+E[Zv[t]],c.left=a=z(a)?Math.max(a,u):u))})),c}}(l,n,r,o,this._eventBus.fire("spaceTool.getMinDimensions",{axis:n,direction:r,shapes:l.resizingShapes,start:o}));return ce(t,l,{axis:n,direction:r,spaceToolConstraints:c,start:o}),wu("resize-"+("x"===n?"ew":"ns")),!0},iy.prototype.calculateAdjustments=function(e,t,n,i){var o=this._rules,r=[],s=[],a=[],l=[];function c(e){r.includes(e)||r.push(e);var t=e.label;t&&!r.includes(t)&&r.push(t)}V(e,(function(e){if(e.parent&&!$r(e))if(Fr(e))l.push(e);else{var r=e[t],u=r+e[Zv[t]];if(function(e){return!!e.host}(e)&&(n>0&&Wr(e)[t]>i||n<0&&Wr(e)[t]0&&r>i||n<0&&ui&&o.allowed("shape.resize",{shape:e})?(h=e,void(s.includes(h)||s.push(h))):void 0;c(e)}}})),V(r,(function(e){var t=e.attachers;t&&V(t,(function(e){c(e)}))}));var u=r.concat(s);return V(a,(function(e){var t=e.host;sy(u,t)&&c(e)})),u=r.concat(s),V(l,(function(e){var t=e.source,n=e.target,i=e.label;sy(u,t)&&sy(u,n)&&i&&c(i)})),{movingShapes:r,resizingShapes:s}},iy.prototype.toggle=function(){if(this.isActive())return this._dragging.cancel();var e=this._mouse.getLastMoveEvent();this.activateSelection(e,!!e)},iy.prototype.isActive=function(){var e=this._dragging.context();return!!e&&/^spaceTool/.test(e.prefix)};var ay="djs-dragging",ly="djs-resizing",cy=Math.max;function uy(e,t,n,i,o){function r(e,t){V(e,(function(e){o.addDragger(e,t),n.addMarker(e,ay)}))}e.on("spaceTool.selection.start",(function(e){var t=n.getLayer("space"),o=e.context,r=vn("g");ln(r,i.cls("djs-crosshair-group",["no-events"])),on(t,r);var s=vn("path");ln(s,"d","M 0,-10000 L 0,10000"),un(s).add("djs-crosshair"),on(r,s);var a=vn("path");ln(a,"d","M -10000,0 L 10000,0"),un(a).add("djs-crosshair"),on(r,a),o.crosshairGroup=r})),e.on("spaceTool.selection.move",(function(e){_s(e.context.crosshairGroup,e.x,e.y)})),e.on("spaceTool.selection.cleanup",(function(e){var t=e.context.crosshairGroup;t&&Pn(t)})),e.on("spaceTool.move",250,(function(e){var s=e.context,a=s.line,l=s.axis,c=s.movingShapes,u=s.resizingShapes;if(s.initialized){if(!s.dragGroup){var h=n.getLayer("space");ln(a=vn("path"),"d","M0,0 L0,0"),un(a).add("djs-crosshair"),on(h,a),s.line=a;var p=vn("g");ln(p,i.cls("djs-drag-group",["no-events"])),on(n.getActiveLayer(),p),r(c,p),r(s.movingConnections=t.filter((function(e){var t=!1;V(c,(function(n){V(n.outgoing,(function(n){e===n&&(t=!0)}))}));var n=!1;V(c,(function(t){V(t.incoming,(function(t){e===t&&(n=!0)}))}));var i=!1;V(u,(function(t){V(t.outgoing,(function(t){e===t&&(i=!0)}))}));var o=!1;return V(u,(function(t){V(t.incoming,(function(t){e===t&&(o=!0)}))})),Fr(e)&&(t||i)&&(n||o)})),p),s.dragGroup=p}if(!s.frameGroup){var d=vn("g");ln(d,i.cls("djs-frame-group",["no-events"])),on(n.getActiveLayer(),d);var f=[];V(u,(function(e){var t=o.addFrame(e,d),i=t.getBBox();f.push({element:t,initialBounds:i}),n.addMarker(e,ly)})),s.frameGroup=d,s.frames=f}ln(a,{d:{x:"M"+e.x+", -10000 L"+e.x+", 10000",y:"M -10000, "+e.y+" L 10000, "+e.y}[l]});var m={x:e.dx,y:e.dy};m[{x:"y",y:"x"}[s.axis]]=0,_s(s.dragGroup,m.x,m.y),V(s.frames,(function(e){var t,n,i=e.element,o=e.initialBounds;"e"===s.direction?ln(i,{width:cy(o.width+m.x,5)}):ln(i,{width:t=cy(o.width-m.x,5),x:o.x+o.width-t}),"s"===s.direction?ln(i,{height:cy(o.height+m.y,5)}):ln(i,{height:n=cy(o.height-m.y,5),y:o.y+o.height-n})}))}})),e.on("spaceTool.cleanup",(function(e){var t=e.context,i=t.movingShapes,o=t.movingConnections,r=t.resizingShapes,s=t.line,a=t.dragGroup,l=t.frameGroup;V(i,(function(e){n.removeMarker(e,ay)})),V(o,(function(e){n.removeMarker(e,ay)})),a&&(Pn(s),Pn(a)),V(r,(function(e){n.removeMarker(e,ly)})),l&&Pn(l)}))}uy.$inject=["eventBus","elementRegistry","canvas","styles","previewSupport"];const hy={__init__:["spaceToolPreview"],__depends__:[Kp,td,Xv,cf,Ov],spaceTool:["type",iy],spaceToolPreview:["type",uy]};function py(e){e.invoke(iy,this)}py.$inject=["injector"],lt(py,iy),py.prototype.calculateAdjustments=function(e,t,n,i){var o=iy.prototype.calculateAdjustments.call(this,e,t,n,i);return o.resizingShapes=o.resizingShapes.filter((function(e){return!(de(e,"bpmn:TextAnnotation")||function(e){return de(e,"bpmn:Participant")&&!me(e).processRef}(e)&&("y"===t&&ul(e)||"x"===t&&!ul(e)))})),o};const dy={__depends__:[hy],spaceTool:["type",py]};function fy(e,t){this._handlerMap={},this._stack=[],this._stackIdx=-1,this._currentExecution={actions:[],dirty:[],trigger:null},this._injector=t,this._eventBus=e,this._uid=1,e.on(["diagram.destroy","diagram.clear"],(function(){this.clear(!1)}),this)}fy.$inject=["eventBus","injector"],fy.prototype.execute=function(e,t){if(!e)throw new Error("command required");this._currentExecution.trigger="execute";const n={command:e,context:t};this._pushAction(n),this._internalExecute(n),this._popAction()},fy.prototype.canExecute=function(e,t){const n={command:e,context:t},i=this._getHandler(e);let o=this._fire(e,"canExecute",n);if(void 0===o){if(!i)return!1;i.canExecute&&(o=i.canExecute(t))}return o},fy.prototype.clear=function(e){this._stack.length=0,this._stackIdx=-1,!1!==e&&this._fire("changed",{trigger:"clear"})},fy.prototype.undo=function(){let e,t=this._getUndoAction();if(t){for(this._currentExecution.trigger="undo",this._pushAction(t);t&&(this._internalUndo(t),e=this._getUndoAction(),e&&e.id===t.id);)t=e;this._popAction()}},fy.prototype.redo=function(){let e,t=this._getRedoAction();if(t){for(this._currentExecution.trigger="redo",this._pushAction(t);t&&(this._internalExecute(t,!0),e=this._getRedoAction(),e&&e.id===t.id);)t=e;this._popAction()}},fy.prototype.register=function(e,t){this._setHandler(e,t)},fy.prototype.registerHandler=function(e,t){if(!e||!t)throw new Error("command and handlerCls must be defined");const n=this._injector.instantiate(t);this.register(e,n)},fy.prototype.canUndo=function(){return!!this._getUndoAction()},fy.prototype.canRedo=function(){return!!this._getRedoAction()},fy.prototype._getRedoAction=function(){return this._stack[this._stackIdx+1]},fy.prototype._getUndoAction=function(){return this._stack[this._stackIdx]},fy.prototype._internalUndo=function(e){const t=e.command,n=e.context,i=this._getHandler(t);this._atomicDo((()=>{this._fire(t,"revert",e),i.revert&&this._markDirty(i.revert(n)),this._revertedAction(e),this._fire(t,"reverted",e)}))},fy.prototype._fire=function(e,t,n){arguments.length<3&&(n=t,t=null);const i=t?[e+"."+t,t]:[e];let o;n=this._eventBus.createEvent(n);for(const e of i)if(o=this._eventBus.fire("commandStack."+e,n),n.cancelBubble)break;return o},fy.prototype._createId=function(){return this._uid++},fy.prototype._atomicDo=function(e){const t=this._currentExecution;t.atomic=!0;try{e()}finally{t.atomic=!1}},fy.prototype._internalExecute=function(e,t){const n=e.command,i=e.context,o=this._getHandler(n);if(!o)throw new Error("no command handler registered for <"+n+">");this._pushAction(e),t||(this._fire(n,"preExecute",e),o.preExecute&&o.preExecute(i),this._fire(n,"preExecuted",e)),this._atomicDo((()=>{this._fire(n,"execute",e),o.execute&&this._markDirty(o.execute(i)),this._executedAction(e,t),this._fire(n,"executed",e)})),t||(this._fire(n,"postExecute",e),o.postExecute&&o.postExecute(i),this._fire(n,"postExecuted",e)),this._popAction()},fy.prototype._pushAction=function(e){const t=this._currentExecution,n=t.actions,i=n[0];if(t.atomic)throw new Error("illegal invocation in or phase (action: "+e.command+")");e.id||(e.id=i&&i.id||this._createId()),n.push(e)},fy.prototype._popAction=function(){const e=this._currentExecution,t=e.trigger,n=e.actions,i=e.dirty;n.pop(),n.length||(this._eventBus.fire("elements.changed",{elements:J("id",i.reverse())}),i.length=0,this._fire("changed",{trigger:t}),e.trigger=null)},fy.prototype._markDirty=function(e){const t=this._currentExecution;e&&(e=L(e)?e:[e],t.dirty=t.dirty.concat(e))},fy.prototype._executedAction=function(e,t){const n=++this._stackIdx;t||this._stack.splice(n,this._stack.length,e)},fy.prototype._revertedAction=function(e){this._stackIdx--},fy.prototype._getHandler=function(e){return this._handlerMap[e]},fy.prototype._setHandler=function(e,t){if(!e||!t)throw new Error("command and handler required");if(this._handlerMap[e])throw new Error("overriding handler for command <"+e+">");this._handlerMap[e]=t};const my={commandStack:["type",fy]};function gy(e,t){if("function"!=typeof t)throw new Error("removeFn iterator must be a function");if(e){for(var n;n=e[0];)t(n);return e}}function vy(e,t,n){ac.call(this,t);var i=e.get("movePreview",!1);t.on("shape.move.start",1400,(function(e){var t=e.context,n=t.shapes,i=t.validatedShapes;t.shapes=yy(n),t.validatedShapes=yy(i)})),i&&t.on("shape.move.start",250,(function(e){var t=e.context,n=t.shapes,o=[];V(n,(function(e){V(e.labels,(function(n){n.hidden||-1!==t.shapes.indexOf(n)||o.push(n),e.labelTarget&&o.push(e)}))})),V(o,(function(e){i.makeDraggable(t,e,!0)}))})),this.preExecuted("elements.move",1400,(function(e){var t=e.context.closure,n=t.enclosedElements,i=[];V(n,(function(e){V(e.labels,(function(e){n[e.id]||i.push(e)}))})),t.addAll(i)})),this.preExecute(["connection.delete","shape.delete"],(function(e){var t=e.context;gy((t.connection||t.shape).labels,(function(e){n.removeShape(e,{nested:!0})}))})),this.execute("shape.delete",(function(e){var t=e.context,n=t.shape,i=n.labelTarget;i&&(t.labelTargetIndex=Jo(i.labels,n),t.labelTarget=i,n.labelTarget=null)})),this.revert("shape.delete",(function(e){var t=e.context,n=t.shape,i=t.labelTarget,o=t.labelTargetIndex;i&&(Zo(i.labels,n,o),n.labelTarget=i)}))}function yy(e){return H(e,(function(t){return-1===e.indexOf(t.labelTarget)}))}lt(vy,ac),vy.$inject=["injector","eventBus","modeling"];const by={__init__:["labelSupport"],labelSupport:["type",vy]};var wy="attach-ok";function xy(e,t,n,i,o){ac.call(this,t);var r=e.get("movePreview",!1);t.on("shape.move.start",1401,(function(e){var t,n,i=e.context,o=i.shapes,r=i.validatedShapes;i.shapes=(n=_y(t=o),ee("id",t,n)),i.validatedShapes=function(e){var t=Z(e,"id");return H(e,(function(e){for(;e;){if(e.host&&t[e.host.id])return!1;e=e.parent}return!0}))}(r)})),r&&t.on("shape.move.start",251,(function(e){var t=e.context;V(_y(t.shapes),(function(e){r.makeDraggable(t,e,!0),V(e.labels,(function(e){r.makeDraggable(t,e,!0)}))}))})),r&&t.on("shape.move.start",(function(e){var i=e.context.shapes;if(1===i.length){var o=i[0].host;o&&(n.addMarker(o,wy),t.once(["shape.move.out","shape.move.cleanup"],(function(){n.removeMarker(o,wy)})))}})),this.preExecuted("elements.move",1401,(function(e){var t=e.context,n=t.closure;V(_y(t.shapes),(function(e){n.add(e,n.topLevel[e.host.id])}))})),this.postExecuted("elements.move",(function(e){var t=e.context,n=t.shapes,i=t.newHost;i&&1!==n.length||V(i?n:H(n,(function(e){var t,i=e.host;return function(e){return!!e.host}(e)&&(t=i,!(-1!==n.indexOf(t)))})),(function(e){o.updateAttachment(e,i)}))})),this.postExecuted("elements.move",(function(e){V(e.context.shapes,(function(e){V(e.attachers,(function(e){V(e.outgoing.slice(),(function(e){i.allowed("connection.reconnect",{connection:e,source:e.source,target:e.target})||o.removeConnection(e)})),V(e.incoming.slice(),(function(e){i.allowed("connection.reconnect",{connection:e,source:e.source,target:e.target})||o.removeConnection(e)}))}))}))})),this.postExecute("shape.create",(function(e){var t=e.context,n=t.shape,i=t.host;i&&o.updateAttachment(n,i)})),this.postExecute("shape.replace",(function(e){var t=e.context,n=t.oldShape,r=t.newShape;gy(n.attachers,(function(e){"attach"===i.allowed("elements.move",{target:r,shapes:[e]})?o.updateAttachment(e,r):o.removeShape(e)})),r.attachers.length&&V(r.attachers,(function(e){var t=km(e,n,r);o.moveShape(e,t,e.parent)}))})),this.postExecute("shape.resize",(function(e){var t=e.context,n=t.shape,i=t.oldBounds,r=t.newBounds,s=n.attachers;!1!==(t.hints||{}).attachSupport&&V(s,(function(e){var t=km(e,i,r);o.moveShape(e,t,e.parent),V(e.labels,(function(e){o.moveShape(e,t,e.parent)}))}))})),this.preExecute("shape.delete",(function(e){var t=e.context.shape;gy(t.attachers,(function(e){o.removeShape(e)})),t.host&&o.updateAttachment(t,null)}))}function _y(e){return M(U(e,(function(e){return e.attachers||[]})))}lt(xy,ac),xy.$inject=["injector","eventBus","canvas","rules","modeling"];const Ey={__depends__:[td],__init__:["attachSupport"],attachSupport:["type",xy]};function ky(e){this._model=e}function Sy(e,t,n){ac.call(this,e),this._bpmnFactory=t;var i=this;function o(e){V(e.context.oldRoot.children,(function(e){de(e,"bpmn:BaseElement")&&i.updateParent(e)}))}function r(e){var t=e.context.shape;de(t,"bpmn:BaseElement")&&i.updateBounds(t)}function s(e){i.updateConnection(e.context)}function a(e){i.updateConnectionWaypoints(e.context.connection)}function l(e){i.updateAttachment(e.context)}function c(e){const{element:n}=e.context,i=wl(n),o=ge(n),r=o&&o.get("label");gl(n)||yc(n)||(i&&!r?o.set("label",t.create("bpmndi:BPMNLabel")):!i&&r&&o.set("label",void 0))}this.executed(["connection.layout","connection.create"],(function(e){var t,i=e.context,o=i.hints||{};i.cropped||!1===o.createElementsBehavior||((t=i.connection).waypoints=n.getCroppedWaypoints(t),i.cropped=!0)})),this.reverted(["connection.layout"],(function(e){delete e.context.cropped})),this.executed(["shape.move","shape.create","shape.delete","connection.create","connection.move","connection.delete"],Cy((function(e){var t=e.context;i.updateParent(t.shape||t.connection,t.oldParent)}))),this.reverted(["shape.move","shape.create","shape.delete","connection.create","connection.move","connection.delete"],Cy((function(e){var t=e.context,n=t.shape||t.connection,o=t.parent||t.newParent;i.updateParent(n,o)}))),this.executed(["canvas.updateRoot"],o),this.reverted(["canvas.updateRoot"],o),this.executed(["shape.move","shape.create","shape.resize"],Cy((function(e){"label"!==e.context.shape.type&&r(e)}))),this.reverted(["shape.move","shape.create","shape.resize"],Cy((function(e){"label"!==e.context.shape.type&&r(e)}))),e.on("shape.changed",(function(e){"label"===e.element.type&&r({context:{shape:e.element}})})),this.executed(["connection.create","connection.move","connection.delete","connection.reconnect"],Cy(s)),this.reverted(["connection.create","connection.move","connection.delete","connection.reconnect"],Cy(s)),this.executed(["connection.layout","connection.move","connection.updateWaypoints"],Cy(a)),this.reverted(["connection.layout","connection.move","connection.updateWaypoints"],Cy(a)),this.executed("connection.reconnect",Cy((function(e){var t=e.context,n=t.connection,i=t.oldSource,o=t.newSource,r=me(n),s=me(i),a=me(o);r.conditionExpression&&!fe(a,["bpmn:Activity","bpmn:ExclusiveGateway","bpmn:InclusiveGateway"])&&(t.oldConditionExpression=r.conditionExpression,delete r.conditionExpression),i!==o&&s.default===r&&(t.oldDefault=s.default,delete s.default)}))),this.reverted("connection.reconnect",Cy((function(e){var t=e.context,n=t.connection,i=t.oldSource,o=t.newSource,r=me(n),s=me(i),a=me(o);t.oldConditionExpression&&(r.conditionExpression=t.oldConditionExpression),t.oldDefault&&(s.default=t.oldDefault,delete a.default)}))),this.executed(["element.updateAttachment"],Cy(l)),this.reverted(["element.updateAttachment"],Cy(l)),this.executed("element.updateLabel",Cy(c)),this.reverted("element.updateLabel",Cy(c))}function Cy(e){return function(t){var n=t.context;de(n.shape||n.connection||n.element,"bpmn:BaseElement")&&e(t)}}function Oy(e,t){ms.call(this),this._bpmnFactory=e,this._moddle=t}function Py(e,t,n){return void 0===t[n]?t:(e[n]=t[n],pe(t,[n]))}function My(e,t){this._modeling=e,this._canvas=t}function Ay(e){this._modeling=e}function Ty(e,t){this._canvas=e,this._layouter=t}ky.$inject=["moddle"],ky.prototype._needsId=function(e){return fe(e,["bpmn:RootElement","bpmn:FlowElement","bpmn:MessageFlow","bpmn:DataAssociation","bpmn:Artifact","bpmn:Participant","bpmn:Lane","bpmn:LaneSet","bpmn:Process","bpmn:Collaboration","bpmndi:BPMNShape","bpmndi:BPMNEdge","bpmndi:BPMNDiagram","bpmndi:BPMNPlane","bpmn:Property","bpmn:CategoryValue"])},ky.prototype._ensureId=function(e){var t;e.id?this._model.ids.claim(e.id,e):(t=de(e,"bpmn:Activity")?"Activity":de(e,"bpmn:Event")?"Event":de(e,"bpmn:Gateway")?"Gateway":fe(e,["bpmn:SequenceFlow","bpmn:MessageFlow"])?"Flow":(e.$type||"").replace(/^[^:]*:/g,""),t+="_",!e.id&&this._needsId(e)&&(e.id=this._model.ids.nextPrefixed(t,e)))},ky.prototype.create=function(e,t){var n=this._model.create(e,t||{});return this._ensureId(n),n},ky.prototype.createDiLabel=function(){return this.create("bpmndi:BPMNLabel",{bounds:this.createDiBounds()})},ky.prototype.createDiShape=function(e,t){return this.create("bpmndi:BPMNShape",ce({bpmnElement:e,bounds:this.createDiBounds()},t))},ky.prototype.createDiBounds=function(e){return this.create("dc:Bounds",e)},ky.prototype.createDiWaypoints=function(e){var t=this;return U(e,(function(e){return t.createDiWaypoint(e)}))},ky.prototype.createDiWaypoint=function(e){return this.create("dc:Point",he(e,["x","y"]))},ky.prototype.createDiEdge=function(e,t){return this.create("bpmndi:BPMNEdge",ce({bpmnElement:e,waypoint:this.createDiWaypoints([])},t))},ky.prototype.createDiPlane=function(e,t){return this.create("bpmndi:BPMNPlane",ce({bpmnElement:e},t))},lt(Sy,ac),Sy.$inject=["eventBus","bpmnFactory","connectionDocking"],Sy.prototype.updateAttachment=function(e){var t=e.shape,n=t.businessObject,i=t.host;n.attachedToRef=i&&i.businessObject},Sy.prototype.updateParent=function(e,t){if(!($r(e)||de(e,"bpmn:DataStoreReference")&&e.parent&&de(e.parent,"bpmn:Collaboration"))){var n=e.parent,i=e.businessObject,o=ge(e),r=n&&n.businessObject,s=ge(n);de(e,"bpmn:FlowNode")&&this.updateFlowNodeRefs(i,r,t&&t.businessObject),de(e,"bpmn:DataOutputAssociation")&&(r=e.source?e.source.businessObject:null),de(e,"bpmn:DataInputAssociation")&&(r=e.target?e.target.businessObject:null),this.updateSemanticParent(i,r),de(e,"bpmn:DataObjectReference")&&i.dataObjectRef&&this.updateSemanticParent(i.dataObjectRef,r),this.updateDiParent(o,s)}},Sy.prototype.updateBounds=function(e){var t=ge(e),n=function(e){if(de(e,"bpmn:Activity")){var t=ge(e);if(t){var n=t.get("label");if(n)return n.get("bounds")}}}(e);if(n){var i=Su(n,t.get("bounds"));ce(n,{x:e.x+i.x,y:e.y+i.y})}var o=$r(e)?this._getLabel(t):t,r=o.bounds;r||(r=this._bpmnFactory.createDiBounds(),o.set("bounds",r)),ce(r,{x:e.x,y:e.y,width:e.width,height:e.height})},Sy.prototype.updateFlowNodeRefs=function(e,t,n){n!==t&&(de(n,"bpmn:Lane")&&Ko(n.get("flowNodeRef"),e),de(t,"bpmn:Lane")&&Zo(t.get("flowNodeRef"),e))},Sy.prototype.updateDiConnection=function(e,t,n){var i=ge(e),o=ge(t),r=ge(n);i.sourceElement&&i.sourceElement.bpmnElement!==me(t)&&(i.sourceElement=t&&o),i.targetElement&&i.targetElement.bpmnElement!==me(n)&&(i.targetElement=n&&r)},Sy.prototype.updateDiParent=function(e,t){if(t&&!de(t,"bpmndi:BPMNPlane")&&(t=t.$parent),e.$parent!==t){var n=(t||e.$parent).get("planeElement");t?(n.push(e),e.$parent=t):(Ko(n,e),e.$parent=null)}},Sy.prototype.getLaneSet=function(e){var t,n;return de(e,"bpmn:Lane")?((t=e.childLaneSet)||(t=this._bpmnFactory.create("bpmn:LaneSet"),e.childLaneSet=t,t.$parent=e),t):(de(e,"bpmn:Participant")&&(e=e.processRef),(t=(n=e.get("laneSets"))[0])||((t=this._bpmnFactory.create("bpmn:LaneSet")).$parent=e,n.push(t)),t)},Sy.prototype.updateSemanticParent=function(e,t,n){var i;if(e.$parent!==t&&(!de(e,"bpmn:DataInput")&&!de(e,"bpmn:DataOutput")||(de(t,"bpmn:Participant")&&"processRef"in t&&(t=t.processRef),!("ioSpecification"in t)||t.ioSpecification!==e.$parent))){if(de(e,"bpmn:Lane"))t&&(t=this.getLaneSet(t)),i="lanes";else if(de(e,"bpmn:FlowElement")){if(t)if(de(t,"bpmn:Participant"))t=t.processRef;else if(de(t,"bpmn:Lane"))do{t=t.$parent.$parent}while(de(t,"bpmn:Lane"));i="flowElements"}else if(de(e,"bpmn:Artifact")){for(;t&&!de(t,"bpmn:Process")&&!de(t,"bpmn:SubProcess")&&!de(t,"bpmn:Collaboration");){if(de(t,"bpmn:Participant")){t=t.processRef;break}t=t.$parent}i="artifacts"}else if(de(e,"bpmn:MessageFlow"))i="messageFlows";else if(de(e,"bpmn:Participant")){i="participants";var o,r=e.processRef;r&&(o=function(e){for(;e&&!de(e,"bpmn:Definitions");)e=e.$parent;return e}(e.$parent||t),e.$parent&&(Ko(o.get("rootElements"),r),r.$parent=null),t&&(Zo(o.get("rootElements"),r),r.$parent=o))}else de(e,"bpmn:DataOutputAssociation")?i="dataOutputAssociations":de(e,"bpmn:DataInputAssociation")&&(i="dataInputAssociations");if(!i)throw new Error(`no parent for <${e.id}> in <${t.id}>`);var s;if(e.$parent&&Ko(s=e.$parent.get(i),e),t?((s=t.get(i)).push(e),e.$parent=t):e.$parent=null,n){var a=n.get(i);Ko(s,e),t&&(a||(a=[],t.set(i,a)),a.push(e))}}},Sy.prototype.updateConnectionWaypoints=function(e){ge(e).set("waypoint",this._bpmnFactory.createDiWaypoints(e.waypoints))},Sy.prototype.updateConnection=function(e){var t,n=e.connection,i=me(n),o=n.source,r=me(o),s=n.target,a=me(n.target);if(de(i,"bpmn:DataAssociation"))de(i,"bpmn:DataInputAssociation")?(i.get("sourceRef")[0]=r,t=e.parent||e.newParent||a,this.updateSemanticParent(i,a,t)):de(i,"bpmn:DataOutputAssociation")&&(t=e.parent||e.newParent||r,this.updateSemanticParent(i,r,t),i.targetRef=a);else{var l=de(i,"bpmn:SequenceFlow");i.sourceRef!==r&&(l&&(Ko(i.sourceRef&&i.sourceRef.get("outgoing"),i),r&&r.get("outgoing")&&r.get("outgoing").push(i)),i.sourceRef=r),i.targetRef!==a&&(l&&(Ko(i.targetRef&&i.targetRef.get("incoming"),i),a&&a.get("incoming")&&a.get("incoming").push(i)),i.targetRef=a)}this.updateConnectionWaypoints(n),this.updateDiConnection(n,o,s)},Sy.prototype._getLabel=function(e){return e.label||(e.label=this._bpmnFactory.createDiLabel()),e.label},lt(Oy,ms),Oy.$inject=["bpmnFactory","moddle"],Oy.prototype._baseCreate=ms.prototype.create,Oy.prototype.create=function(e,t){if("label"===e){var n=t.di||this._bpmnFactory.createDiLabel();return this._baseCreate(e,ce({type:"label",di:n},fl,t))}return this.createElement(e,t)},Oy.prototype.createElement=function(e,t){var n,i,o,r=(t=ce({},t||{})).businessObject,s=t.di;if(!r){if(!t.type)throw new Error("no shape type specified");Wa(r=this._bpmnFactory.create(t.type))}if(!fe(s,["bpmndi:BPMNShape","bpmndi:BPMNEdge","bpmndi:BPMNDiagram","bpmndi:BPMNPlane"])){var a=ce({},s||{},{id:r.id+"_di"});s="root"===e?this._bpmnFactory.createDiPlane(r,a):"connection"===e?this._bpmnFactory.createDiEdge(r,a):this._bpmnFactory.createDiShape(r,a)}return de(r,"bpmn:Group")&&(t=ce({isFrame:!0},t)),(t=function(e,t,n){return V(["processRef","isInterrupting","associationDirection","isForCompensation"],(function(n){t=Py(e,t,n)})),t}(r,t)).isExpanded&&(t=Py(s,t,"isExpanded")),fe(r,["bpmn:Lane","bpmn:Participant"])&&(t=Py(s,t,"isHorizontal")),de(r,"bpmn:SubProcess")&&(t.collapsed=!cl(r,s)),de(r,"bpmn:ExclusiveGateway")&&($(s,"isMarkerVisible")?void 0===s.isMarkerVisible&&(s.isMarkerVisible=!1):s.isMarkerVisible=!0),R(t.triggeredByEvent)&&(r.triggeredByEvent=t.triggeredByEvent,delete t.triggeredByEvent),R(t.cancelActivity)&&(r.cancelActivity=t.cancelActivity,delete t.cancelActivity),t.eventDefinitionType&&(i=r.get("eventDefinitions")||[],o=this._bpmnFactory.create(t.eventDefinitionType,t.eventDefinitionAttrs),"bpmn:ConditionalEventDefinition"===t.eventDefinitionType&&(o.condition=this._bpmnFactory.create("bpmn:FormalExpression")),i.push(o),o.$parent=r,r.eventDefinitions=i,delete t.eventDefinitionType),n=this.getDefaultSize(r,s),t=ce({id:r.id},n,t,{businessObject:r,di:s}),this._baseCreate(e,t)},Oy.prototype.getDefaultSize=function(e,t){var n=me(e);if(t=t||ge(e),de(n,"bpmn:SubProcess"))return cl(n,t)?{width:350,height:200}:{width:100,height:80};if(de(n,"bpmn:Task"))return{width:100,height:80};if(de(n,"bpmn:Gateway"))return{width:50,height:50};if(de(n,"bpmn:Event"))return{width:36,height:36};if(de(n,"bpmn:Participant")){var i=void 0===t.isHorizontal||!0===t.isHorizontal;return cl(n,t)?i?{width:600,height:250}:{width:250,height:600}:i?{width:400,height:60}:{width:60,height:400}}return de(n,"bpmn:Lane")?{width:400,height:100}:de(n,"bpmn:DataObjectReference")?{width:36,height:50}:de(n,"bpmn:DataStoreReference")?{width:50,height:50}:de(n,"bpmn:TextAnnotation")?{width:100,height:30}:de(n,"bpmn:Group")?{width:300,height:300}:{width:100,height:80}},Oy.prototype.createParticipantShape=function(e){return N(e)||(e={isExpanded:e}),!1!==(e=ce({type:"bpmn:Participant"},e||{})).isExpanded&&(e.processRef=this._bpmnFactory.create("bpmn:Process")),this.createShape(e)},My.$inject=["modeling","canvas"],My.prototype.preExecute=function(e){var t=this._modeling,n=e.elements,i=e.alignment;V(n,(function(e){var n={x:0,y:0};R(i.left)?n.x=i.left-e.x:R(i.right)?n.x=i.right-e.width-e.x:R(i.center)?n.x=i.center-Math.round(e.width/2)-e.x:R(i.top)?n.y=i.top-e.y:R(i.bottom)?n.y=i.bottom-e.height-e.y:R(i.middle)&&(n.y=i.middle-Math.round(e.height/2)-e.y),t.moveElements([e],n,e.parent)}))},My.prototype.postExecute=function(e){},Ay.$inject=["modeling"],Ay.prototype.preExecute=function(e){var t=e.source;if(!t)throw new Error("source required");var n=e.target||t.parent,i=e.shape,o=e.hints||{};i=e.shape=this._modeling.createShape(i,e.position,n,{attach:o.attach}),e.shape=i},Ay.prototype.postExecute=function(e){var t,n,i=e.hints||{};t=e.source,n=e.shape,X(t.outgoing,(function(e){return e.target===n}))||(i.connectionTarget===e.source?this._modeling.connect(e.shape,e.source,e.connection):this._modeling.connect(e.source,e.shape,e.connection))},Ty.$inject=["canvas","layouter"],Ty.prototype.execute=function(e){var t=e.connection,n=e.source,i=e.target,o=e.parent,r=e.parentIndex,s=e.hints;if(!n||!i)throw new Error("source and target required");if(!o)throw new Error("parent required");return t.source=n,t.target=i,t.waypoints||(t.waypoints=this._layouter.layoutConnection(t,s)),this._canvas.addConnection(t,o,r),t},Ty.prototype.revert=function(e){var t=e.connection;return this._canvas.removeConnection(t),t.source=null,t.target=null,t};var By=Math.round;function Ry(e){this._modeling=e}Ry.$inject=["modeling"],Ry.prototype.preExecute=function(e){var t=e.elements,n=e.parent,i=e.parentIndex,o=e.position,r=e.hints,s=this._modeling;V(t,(function(e){z(e.x)||(e.x=0),z(e.y)||(e.y=0)}));var a=Wo(H(t,(function(e){return!e.hidden})));V(t,(function(e){Fr(e)&&(e.waypoints=U(e.waypoints,(function(e){return{x:By(e.x-a.x-a.width/2+o.x),y:By(e.y-a.y-a.height/2+o.y)}}))),ce(e,{x:By(e.x-a.x-a.width/2+o.x),y:By(e.y-a.y-a.height/2+o.y)})}));var l=$o(t),c={};V(t,(function(e){if(Fr(e))c[e.id]=z(i)?s.createConnection(c[e.source.id],c[e.target.id],i,e,e.parent||n,r):s.createConnection(c[e.source.id],c[e.target.id],e,e.parent||n,r);else{var t=ce({},r);-1===l.indexOf(e)&&(t.autoResize=!1),$r(e)&&(t=pe(t,["attach"])),c[e.id]=z(i)?s.createShape(e,he(e,["x","y","width","height"]),e.parent||n,i,t):s.createShape(e,he(e,["x","y","width","height"]),e.parent||n,t)}})),e.elements=K(c)};var Dy=Math.round;function Ly(e){this._canvas=e}function Ny(e){Ly.call(this,e)}Ly.$inject=["canvas"],Ly.prototype.execute=function(e){var t=e.shape,n=e.position,i=e.parent,o=e.parentIndex;if(!i)throw new Error("parent required");if(!n)throw new Error("position required");return void 0!==n.width?ce(t,n):ce(t,{x:n.x-Dy(t.width/2),y:n.y-Dy(t.height/2)}),this._canvas.addShape(t,i,o),t},Ly.prototype.revert=function(e){var t=e.shape;return this._canvas.removeShape(t),t},lt(Ny,Ly),Ny.$inject=["canvas"];var zy=Ly.prototype.execute;Ny.prototype.execute=function(e){var t=e.shape;return function(e){["width","height"].forEach((function(t){void 0===e[t]&&(e[t]=0)}))}(t),t.labelTarget=e.labelTarget,zy.call(this,e)};var Iy=Ly.prototype.revert;function Fy(e,t){this._canvas=e,this._modeling=t}function $y(e,t){this._modeling=e,this._elementRegistry=t}function jy(e,t){this._canvas=e,this._modeling=t}function qy(e){this._modeling=e}Ny.prototype.revert=function(e){return e.shape.labelTarget=null,Iy.call(this,e)},Fy.$inject=["canvas","modeling"],Fy.prototype.preExecute=function(e){var t=this._modeling,n=e.connection;gy(n.incoming,(function(e){t.removeConnection(e,{nested:!0})})),gy(n.outgoing,(function(e){t.removeConnection(e,{nested:!0})}))},Fy.prototype.execute=function(e){var t=e.connection,n=t.parent;return e.parent=n,e.parentIndex=Jo(n.children,t),e.source=t.source,e.target=t.target,this._canvas.removeConnection(t),t.source=null,t.target=null,t},Fy.prototype.revert=function(e){var t=e.connection,n=e.parent,i=e.parentIndex;return t.source=e.source,t.target=e.target,Zo(n.children,t,i),this._canvas.addConnection(t,n),t},$y.$inject=["modeling","elementRegistry"],$y.prototype.postExecute=function(e){var t=this._modeling,n=this._elementRegistry;V(e.elements,(function(e){n.get(e.id)&&(e.waypoints?t.removeConnection(e):t.removeShape(e))}))},jy.$inject=["canvas","modeling"],jy.prototype.preExecute=function(e){var t=this._modeling,n=e.shape;gy(n.incoming,(function(e){t.removeConnection(e,{nested:!0})})),gy(n.outgoing,(function(e){t.removeConnection(e,{nested:!0})})),gy(n.children,(function(e){Fr(e)?t.removeConnection(e,{nested:!0}):t.removeShape(e,{nested:!0})}))},jy.prototype.execute=function(e){var t=this._canvas,n=e.shape,i=n.parent;return e.oldParent=i,e.oldParentIndex=Jo(i.children,n),t.removeShape(n),n},jy.prototype.revert=function(e){var t=this._canvas,n=e.shape,i=e.oldParent,o=e.oldParentIndex;return Zo(i.children,n,o),t.addShape(n,i),n},qy.$inject=["modeling"];var Hy={x:"y",y:"x"};function Vy(e,t){this._layouter=e,this._canvas=t}function Wy(){}function Gy(){this.allShapes={},this.allConnections={},this.enclosedElements={},this.enclosedConnections={},this.topLevel={}}function Qy(e){this._modeling=e}function Xy(e){this._helper=new Qy(e)}function Uy(e){this._modeling=e,this._helper=new Qy(e)}function Yy(e){this._modeling=e}function Ky(e){return e.original||e}function Zy(e,t){this._modeling=e,this._rules=t}function Jy(e){this._modeling=e}function eb(e){this._modeling=e}function tb(e){return ce({},e)}function nb(e){switch(e){case"n":case"s":return"y";case"w":case"e":return"x"}}function ib(e,t,n){var i=nb(n);return/e|s/.test(n)?e[i]>t:/n|w/.test(n)?e[i] required");var o=e.changed||this._getVisualReferences(n).concat(t),r=e.oldProperties||function(e,t){return G(t,(function(t,n){return t[n]=e.get(n),t}),{})}(n,Y(i));return mb(n,i),e.oldProperties=r,e.changed=o,o},fb.prototype.revert=function(e){var t=e.oldProperties,n=e.moddleElement,i=e.changed;return mb(n,t),i},fb.prototype._getVisualReferences=function(e){var t=this._elementRegistry;return de(e,"bpmn:DataObject")?function(e,t){return t.filter((function(t){return de(t,"bpmn:DataObjectReference")&&me(t).dataObjectRef===e}))}(e,t):[]};var gb="default",vb="id",yb={width:0,height:0};function bb(e,t,n,i){this._elementRegistry=e,this._moddle=t,this._modeling=n,this._textRenderer=i}function wb(e,t){return vb in e&&e[vb]!==t[vb]}function xb(e,t){var n=e.businessObject,i=ge(e);V(t,(function(e,t){"di"!==t?n.set(t,e):i&&function(e,t){V(t,(function(t,n){e.set(n,t)}))}(i,e)}))}bb.$inject=["elementRegistry","moddle","modeling","textRenderer"],bb.prototype.execute=function(e){var t=e.element,n=[t];if(!t)throw new Error("element required");var i=this._elementRegistry,o=this._moddle.ids,r=t.businessObject,s=function(e){var t=ce({},e);return _b.forEach((function(n){n in e&&(t[n]=me(t[n]))})),t}(e.properties),a=e.oldProperties||function(e,t){var n=Y(t),i=e.businessObject,o=ge(e);return G(n,(function(e,n){return e[n]="di"!==n?i.get(n):function(e,t){return G(t,(function(t,n){return t[n]=e&&e.get(n),t}),{})}(o,Y(t.di)),e}),{})}(t,s);return wb(s,r)&&(o.unclaim(r[vb]),i.updateId(t,s[vb]),o.claim(s[vb],r)),gb in s&&(s[gb]&&n.push(i.get(s[gb].id)),r[gb]&&n.push(i.get(r[gb].id))),xb(t,s),e.oldProperties=a,e.changed=n,n},bb.prototype.postExecute=function(e){var t=e.element.label,n=t&&me(t).name;if(n){var i=this._textRenderer.getExternalLabelBounds(t,n);this._modeling.resizeShape(t,i,yb)}},bb.prototype.revert=function(e){var t=e.element,n=e.properties,i=e.oldProperties,o=t.businessObject,r=this._elementRegistry,s=this._moddle.ids;return xb(t,i),wb(n,o)&&(s.unclaim(n[vb]),r.updateId(t,i[vb]),s.claim(i[vb],o)),e.changed};var _b=["default"];function Eb(e,t){this._canvas=e,this._modeling=t}function kb(e,t){this._modeling=e,this._spaceTool=t}function Sb(e){this._modeling=e}function Cb(e,t){this._modeling=e,this._spaceTool=t}Eb.$inject=["canvas","modeling"],Eb.prototype.execute=function(e){var t=this._canvas,n=e.newRoot,i=n.businessObject,o=t.getRootElement(),r=o.businessObject,s=r.$parent,a=ge(o);return t.setRootElement(n),t.removeRootElement(o),Zo(s.rootElements,i),i.$parent=s,Ko(s.rootElements,r),r.$parent=null,o.di=null,a.bpmnElement=i,n.di=a,e.oldRoot=o,[]},Eb.prototype.revert=function(e){var t=this._canvas,n=e.newRoot,i=n.businessObject,o=e.oldRoot,r=o.businessObject,s=i.$parent,a=ge(n);return t.setRootElement(o),t.removeRootElement(n),Ko(s.rootElements,i),i.$parent=null,Zo(s.rootElements,r),r.$parent=s,n.di=null,a.bpmnElement=r,o.di=a,[]},kb.$inject=["modeling","spaceTool"],kb.prototype.preExecute=function(e){var t=this._spaceTool,n=this._modeling,i=e.shape,o=e.location,r=Xf(i),s=r===i,a=s?i:i.parent,l=Qf(a),c=ul(i);if(c?"left"===o?o="top":"right"===o&&(o="bottom"):"top"===o?o="left":"bottom"===o&&(o="right"),!l.length){var u=c?{x:i.x+Wf,y:i.y,width:i.width-Wf,height:i.height}:{x:i.x,y:i.y+Wf,width:i.width,height:i.height-Wf};n.createShape({type:"bpmn:Lane",isHorizontal:c},u,a)}var h,p,d,f,m,g=[];Ho(r,(function(e){return g.push(e),e.label&&g.push(e.label),e===i?[]:H(e.children,(function(e){return e!==i}))})),"top"===o?(h=-120,d=(p=i.y)+10,f="n",m="y"):"left"===o?(h=-120,d=(p=i.x)+10,f="w",m="x"):"bottom"===o?(h=120,d=(p=i.y+i.height)-10,f="s",m="y"):"right"===o&&(h=120,d=(p=i.x+i.width)-10,f="e",m="x");var v=t.calculateAdjustments(g,m,h,d),y=c?{x:0,y:h}:{x:h,y:0};t.makeSpace(v.movingShapes,v.resizingShapes,y,f,d);var b=c?{x:i.x+(s?Wf:0),y:p-("top"===o?120:0),width:i.width-(s?Wf:0),height:120}:{x:p-("left"===o?120:0),y:i.y+(s?Wf:0),width:120,height:i.height-(s?Wf:0)};e.newLane=n.createShape({type:"bpmn:Lane",isHorizontal:c},b,a)},Sb.$inject=["modeling"],Sb.prototype.preExecute=function(e){var t=this._modeling,n=e.shape,i=e.count,o=Qf(n),r=o.length;if(r>i)throw new Error(`more than <${i}> child lanes`);var s,a,l,c,u=ul(n),h=u?n.height:n.width,p=Math.round(h/i);for(c=0;c0||c.bottom<0?-n:n,s=a.calculateAdjustments(h,"y",r,i),a.makeSpace(s.movingShapes,s.resizingShapes,{x:0,y:n},o)),(c.left||c.right)&&(n=c.right||c.left,i=e.x+(c.right?e.width:0)+(c.right?-10:100),o=c.right?"e":"w",r=c.left>0||c.right<0?-n:n,s=a.calculateAdjustments(p,"x",r,i),a.makeSpace(s.movingShapes,s.resizingShapes,{x:n,y:0},o))};var Ob="flowNodeRef",Pb="lanes";function Mb(e){this._elementRegistry=e}function Ab(e){this._moddle=e}Mb.$inject=["elementRegistry"],Mb.prototype._computeUpdates=function(e,t){var n=[],i=[],o={},r=[];function s(e){-1===n.indexOf(e)&&(r.push(e),n.push(e))}return t.forEach((function(e){var t=Xf(e);if(t&&-1===n.indexOf(t)){var i=t.children.filter((function(e){return de(e,"bpmn:FlowNode")}));i.forEach(s),n.push(t)}})),e.forEach(s),r.forEach((function(e){var t=e.businessObject,n=t.get(Pb).slice(),r=function(e){if(!e.parent)return[];var t=function(e){var t=Xf(e);return o[t.id]||(o[t.id]=Gf(t)),o[t.id]}(e);return t.filter((function(t){return n=e,i=Hr(t),o=n.x+n.width/2,r=n.y+n.height/2,o>i.left&&oi.top&&r: must be specified as : with start/end in { h,v,t,r,b,l }");if(Ub(n)){var i=function(e,t,n){return Hb(e,t,n)}(e,t,n),o=function(e,t,n){var i=Hb(t,e,Vb(n));return{waypoints:i.waypoints.slice().reverse(),directions:Vb(i.directions),turnNextDirections:i.turnNextDirections}}(e,t,n),r=function(e,t){var n=e.directions.split(":")[1],i=t.directions.split(":")[0];e.turnNextDirections&&(n="h"==n?"v":"h"),t.turnNextDirections&&(i="h"==i?"v":"h");var o=n+":"+i;return{waypoints:Wb(e.waypoints[e.waypoints.length-1],t.waypoints[0],o),directions:o}}(i,o);return[].concat(i.waypoints,r.waypoints,o.waypoints)}return function(e,t,n){var i=$b((t.x-e.x)/2+e.x),o=$b((t.y-e.y)/2+e.y);if("h:v"===n)return[{x:t.x,y:e.y}];if("v:h"===n)return[{x:e.x,y:t.y}];if("h:h"===n)return[{x:i,y:e.y},{x:i,y:t.y}];if("v:v"===n)return[{x:e.x,y:o},{x:t.x,y:o}];throw new Error("invalid directions: can only handle varians of [hv]:[hv]")}(e,t,n)}function Gb(e,t,n,i,o,r){var s;return L(n)&&(o=n,r=i,n=Wr(e),i=Wr(t)),o=o||[],s=-1!==(r=ce({preferredLayouts:[]},r)).preferredLayouts.indexOf("straight")&&function(e,t,n,i,o){var r,s,a={};return s=Gr(e,t),/^(top|bottom|left|right)$/.test(s)?(/top|bottom/.test(s)&&(r="x"),/left|right/.test(s)&&(r="y"),"target"===o.preserveDocking?Qb(r,i,e)?(a[r]=i[r],[{x:void 0!==a.x?a.x:n.x,y:void 0!==a.y?a.y:n.y,original:{x:void 0!==a.x?a.x:n.x,y:void 0!==a.y?a.y:n.y}},{x:i.x,y:i.y}]):null:Qb(r,n,t)?(a[r]=n[r],[{x:n.x,y:n.y},{x:void 0!==a.x?a.x:i.x,y:void 0!==a.y?a.y:i.y,original:{x:void 0!==a.x?a.x:i.x,y:void 0!==a.y?a.y:i.y}}]):null):null}(e,t,n,i,r),s||(s=r.connectionEnd&&function(e,t,n,i){var o=i.slice().reverse();return(o=Xb(e,t,n,o))?o.reverse():null}(t,e,i,o),s||(s=r.connectionStart&&Xb(e,t,n,o))||(!r.connectionStart&&!r.connectionEnd&&o&&o.length?o:function(e,t,n,i,o){var r=W(o&&o.preferredLayouts||[],"straight")[0]||"h:h",s=Gr(e,t,qb[r]||0),a=function(e,t){if(Ub(t))return t;switch(e){case"intersect":return"t:t";case"top":case"bottom":return"v:v";case"left":case"right":return"h:h";default:return t}}(s,r);n=n||Wr(e),i=i||Wr(t);var l=a.split(":"),c=Yb(n,e,l[0],function(e){return{top:"bottom",bottom:"top",left:"right",right:"left","top-left":"bottom-right","bottom-right":"top-left","top-right":"bottom-left","bottom-left":"top-right"}[e]}(s));return function(e,t,n){var i=Wb(e,t,n);return i.unshift(e),i.push(t),Kb(i)}(c,Yb(i,t,l[1],s),a)}(e,t,n,i,r)))}function Qb(e,t,n){return function(e,t,n){return e>=t&&e<=n}(t[e],n[e],n[e]+n[{x:"width",y:"height"}[e]])}function Xb(e,t,n,i){if(function(e){return e.length<3||!(e.length>4)&&!!j(e,(function(t,n){var i=e[n-1];return i&&er(t,i)<3}))}(i))return null;var o,r=i[0],s=i.slice();return s[0]=n,s[1]=function(e,t,n){switch(ir(t,e)){case"v":return{x:n.x,y:e.y};case"h":return{x:e.x,y:n.y}}return{x:e.x,y:e.y}}(s[1],r,n),o=function(e,t,n){var i;for(i=e.length-2;0!==i;i--)if(rr(e[i],t,jb)||rr(e[i],n,jb))return e.slice(i);return e}(s,e,t),o!==s&&(s=Xb(e,t,n,o)),s&&ir(s)?null:s}function Ub(e){return e&&/t|r|b|l/.test(e)}function Yb(e,t,n,i){if("h"===n&&(n=/left/.test(i)?"l":"r"),"v"===n&&(n=/top/.test(i)?"t":"b"),"t"===n)return{original:e,x:e.x,y:t.y};if("r"===n)return{original:e,x:t.x+t.width,y:e.y};if("b"===n)return{original:e,x:e.x,y:t.y+t.height};if("l"===n)return{original:e,x:t.x,y:e.y};throw new Error("unexpected dockingDirection: <"+n+">")}function Kb(e){return e.reduce((function(t,n,i){return tr(t[t.length-1],e[i+1],n,0)||t.push(n),t}),[])}var Zb=40,Jb={default:["h:h"],fromGateway:["v:h"],toGateway:["h:v"],loop:{fromTop:["t:r"],fromRight:["r:b"],fromLeft:["l:t"],fromBottom:["b:l"]},boundaryLoop:{alternateHorizontalSide:"b",alternateVerticalSide:"l",default:"v"},messageFlow:["straight","v:v"],subProcess:["straight","h:h"],isHorizontal:!0},ew={default:["v:v"],fromGateway:["h:v"],toGateway:["v:h"],loop:{fromTop:["t:l"],fromRight:["r:t"],fromLeft:["l:b"],fromBottom:["b:r"]},boundaryLoop:{alternateHorizontalSide:"t",alternateVerticalSide:"r",default:"h"},messageFlow:["straight","h:h"],subProcess:["straight","v:v"],isHorizontal:!1},tw={top:"bottom","top-right":"bottom-left","top-left":"bottom-right",right:"left",bottom:"top","bottom-right":"top-left","bottom-left":"top-right",left:"right"},nw={top:"t",right:"r",bottom:"b",left:"l"};function iw(e){this._elementRegistry=e}function ow(e,t){return de(t,"bpmn:Participant")?"source":de(e,"bpmn:Participant")?"target":lw(t)?"source":lw(e)||de(t,"bpmn:Event")?"target":de(e,"bpmn:Event")?"source":null}function rw(e){return lw(e)?"target":"source"}function sw(e,t){return e?e.original||e:Wr(t)}function aw(e,t){return de(t,"bpmn:Activity")&&de(e,"bpmn:BoundaryEvent")&&t.businessObject.isForCompensation}function lw(e){return de(e,"bpmn:SubProcess")&&cl(e)}function cw(e,t){return e===t}function uw(e){var t=/right|left/.exec(e);return t&&t[0]}function hw(e){var t=/top|bottom/.exec(e);return t&&t[0]}function pw(e,t){return tw[e]===t}function dw(e){return"right"===e||"left"===e}function fw(e,t,n){var i=t.waypoints,o=i&&i.length&&Gr(i[0],e);return"top"===o?n.loop.fromTop:"right"===o?n.loop.fromRight:"left"===o?n.loop.fromLeft:n.loop.fromBottom}function mw(e,t,n,i){var o,r,s,a,l=Wr(e),c=Wr(t),u=(a=(s=e).host,Gr(Wr(s),a,-10)),h=cw(e.host,t),p=-1!==["top","right","bottom","left"].indexOf(u),d=Gr(c,l,{x:e.width/2+t.width/2,y:e.height/2+t.height/2});return h?function(e,t,n,i,o,r){var s=t?e:r.isHorizontal?hw(e):uw(e);return[nw[s]+":"+(t?dw(e)?gw("y",n,i,o)?"h":r.boundaryLoop.alternateHorizontalSide:gw("x",n,i,o)?"v":r.boundaryLoop.alternateVerticalSide:r.boundaryLoop.default)]}(u,p,e,t,n,i):(o=function(e,t,n,i){if(n)return nw[e];var o=hw(e),r=uw(e),s=hw(t),a=uw(t);if(i){if(cw(o,s)||pw(r,a))return nw[o]}else if(cw(r,a)||pw(o,s))return nw[r];return nw[i?r:o]}(u,d,p,i.isHorizontal),r=function(e,t,n,i){return n?dw(e)?function(e,t){var n=uw(e),i=tw[n];return-1!==t.indexOf(i)}(e,t)||cw(e,t)?"h":"v":function(e,t){var n=hw(e),i=tw[n];return-1!==t.indexOf(i)}(e,t)||cw(e,t)?"v":"h":i?cw(hw(e),hw(t))?"h":"v":cw(uw(e),uw(t))?"v":"h"}(u,d,p,i.isHorizontal),[o+":"+r])}function gw(e,t,n,i){var o=Zb;return!(vw(e,i,n,o)||vw(e,i,{x:n.x+n.width,y:n.y+n.height},o)||vw(e,i,Wr(t),o))}function vw(e,t,n,i){return Math.abs(t[e]-n[e])!D(e)))})},_w.prototype.cleanUp=function(){this._complexPreview.cleanUp()},_w.$inject=["complexPreview","connectionDocking","elementFactory","eventBus","layouter","rules"];const Ew={__depends__:[Fp,pf,ww],__init__:["appendPreview"],appendPreview:["type",_w]};function kw(e,t){return(function(e){return e.originalEvent||e.srcEvent}(e)||e).button===t}function Sw(e){return kw(e,0)}function Cw(e){return["L",e.x,e.y]}function Ow(e,t){const n=e.length,i=[(o=e[0],["M",o.x,o.y])];var o,r,s,a;for(let o=1;o");return ln(e,n),e}function g(e,t){on(e,t)}this.removeHits=function(e){V(en(".djs-hit",e),Pn)},this.createDefaultHit=function(e,t){var n,i=e.waypoints,o=e.isFrame;return i?this.createWaypointsHit(t,i):(n=o?"stroke":"all",this.createBoxHit(t,n,{width:e.width,height:e.height}))},this.createWaypointsHit=function(e,t){var n=function(e,t,n){z(t)&&(n=t,t=null),t||(t={});const i=vn("path",t);return z(n)&&(i.dataset.cornerRadius=String(n)),Aw(i,e)}(t);return m(n,"stroke"),g(e,n),n},this.createBoxHit=function(e,t,n){n=ce({x:0,y:0},n);var i=vn("rect");return m(i,t),ln(i,n),g(e,i),i},this.updateDefaultHit=function(e,t){var n=Jt(".djs-hit",t);if(n)return e.waypoints?Aw(n,e.waypoints):ln(n,{width:e.width,height:e.height}),n},this.fire=o,this.triggerMouseEvent=function(e,t,n){var i=a[e];if(!i)throw new Error("unmapped DOM event name <"+e+">");return o(i,t,n)},this.mouseHandler=s,this.registerEvent=c,this.unregisterEvent=u}Rw.$inject=["eventBus","elementRegistry","styles"];const Dw={__init__:["interactionEvents"],interactionEvents:["type",Rw]};var Lw=Math.min,Nw=Math.max;function zw(e){e.preventDefault()}function Iw(e){e.stopPropagation()}function Fw(e){this.container=e.container,this.parent=Kt('
    '),this.content=Jt("[contenteditable]",this.parent),this.keyHandler=e.keyHandler||function(){},this.resizeHandler=e.resizeHandler||function(){},this.autoResize=le(this.autoResize,this),this.handlePaste=le(this.handlePaste,this)}function $w(e,t){this._eventBus=e,this._canvas=t,this._providers=[],this._textbox=new Fw({container:t.getContainer(),keyHandler:le(this._handleKey,this),resizeHandler:le(this._handleResize,this)})}Fw.prototype.create=function(e,t,n,i){var o=this.parent,r=this.content,s=this.container;i=this.options=i||{};var a=he(t=this.style=t||{},["width","height","maxWidth","maxHeight","minWidth","minHeight","left","top","backgroundColor","position","overflow","border","wordWrap","textAlign","outline","transform"]);ce(o.style,{width:e.width+"px",height:e.height+"px",maxWidth:e.maxWidth+"px",maxHeight:e.maxHeight+"px",minWidth:e.minWidth+"px",minHeight:e.minHeight+"px",left:e.x+"px",top:e.y+"px",backgroundColor:"#ffffff",position:"absolute",overflow:"visible",border:"1px solid #ccc",boxSizing:"border-box",wordWrap:"normal",textAlign:"center",outline:"none"},a);var l=he(t,["fontFamily","fontSize","fontWeight","lineHeight","padding","paddingTop","paddingRight","paddingBottom","paddingLeft"]);return ce(r.style,{boxSizing:"border-box",width:"100%",outline:"none",wordWrap:"break-word"},l),i.centerVertically&&ce(r.style,{position:"absolute",top:"50%",transform:"translate(0, -50%)"},l),r.innerText=n,Gt.bind(r,"keydown",this.keyHandler),Gt.bind(r,"mousedown",Iw),Gt.bind(r,"paste",this.handlePaste),i.autoResize&&Gt.bind(r,"input",this.autoResize),i.resizable&&this.resizable(t),s.appendChild(o),this.setSelection(r.lastChild,r.lastChild&&r.lastChild.length),o},Fw.prototype.handlePaste=function(e){var t,n=this.options,i=this.style;if(e.preventDefault(),t=e.clipboardData?e.clipboardData.getData("text/plain"):window.clipboardData.getData("Text"),this.insertText(t),n.autoResize){var o=this.autoResize(i);o&&this.resizeHandler(o)}},Fw.prototype.insertText=function(e){e=function(e){return e.replace(/\r\n|\r|\n/g,"\n")}(e),document.execCommand("insertText",!1,e)||this._insertTextIE(e)},Fw.prototype._insertTextIE=function(e){var t,n,i,o=this.getSelection(),r=o.startContainer,s=o.endContainer,a=o.startOffset,l=o.endOffset,c=o.commonAncestorContainer,u=(t=c.childNodes,[].slice.call(t));if(function(e){return e.nodeType===Node.TEXT_NODE}(c)){var h=r.textContent;r.textContent=h.substring(0,a)+e+h.substring(l),n=r,i=a+e.length}else if(r===this.content&&s===this.content){var p=document.createTextNode(e);this.content.insertBefore(p,u[a]),n=p,i=p.textContent.length}else{var d=u.indexOf(r),f=u.indexOf(s);u.forEach((function(t,n){n===d?t.textContent=r.textContent.substring(0,a)+e+s.textContent.substring(l):n>d&&n<=f&&tn(t)})),n=r,i=a+e.length}n&&void 0!==i&&setTimeout((function(){self.setSelection(n,i)}))},Fw.prototype.autoResize=function(){var e=this.parent,t=this.content,n=parseInt(this.style.fontSize)||12;if(t.scrollHeight>e.offsetHeight||t.scrollHeight
    ');var h=function(n){zw(n),Iw(n);var h=Lw(Nw(c+n.clientX-a,i),r),p=Lw(Nw(u+n.clientY-l,o),s);t.style.width=h+"px",t.style.height=p+"px",e.resizeHandler({width:c,height:u,dx:n.clientX-a,dy:n.clientY-l})},p=function(e){zw(e),Iw(e),Gt.unbind(document,"mousemove",h,!1),Gt.unbind(document,"mouseup",p,!1)};Gt.bind(n,"mousedown",(function(e){zw(e),Iw(e),a=e.clientX,l=e.clientY;var n=t.getBoundingClientRect();c=n.width,u=n.height,Gt.bind(document,"mousemove",h),Gt.bind(document,"mouseup",p)}))}ce(n.style,{position:"absolute",bottom:"0px",right:"0px",cursor:"nwse-resize",width:"0",height:"0",borderTop:(parseInt(this.style.fontSize)/4||3)+"px solid transparent",borderRight:(parseInt(this.style.fontSize)/4||3)+"px solid #ccc",borderBottom:(parseInt(this.style.fontSize)/4||3)+"px solid #ccc",borderLeft:(parseInt(this.style.fontSize)/4||3)+"px solid transparent"}),t.appendChild(n)},Fw.prototype.destroy=function(){var e=this.parent,t=this.content,n=this.resizeHandle;t.innerText="",e.removeAttribute("style"),t.removeAttribute("style"),Gt.unbind(t,"keydown",this.keyHandler),Gt.unbind(t,"mousedown",Iw),Gt.unbind(t,"input",this.autoResize),Gt.unbind(t,"paste",this.handlePaste),n&&(n.removeAttribute("style"),tn(n)),tn(e)},Fw.prototype.getValue=function(){return this.content.innerText.trim()},Fw.prototype.getSelection=function(){return window.getSelection().getRangeAt(0)},Fw.prototype.setSelection=function(e,t){var n=document.createRange();null===e?n.selectNodeContents(this.content):(n.setStart(e,t),n.setEnd(e,t));var i=window.getSelection();i.removeAllRanges(),i.addRange(n)},$w.$inject=["eventBus","canvas"],$w.prototype.registerProvider=function(e){this._providers.push(e)},$w.prototype.isActive=function(e){return!(!this._active||e&&this._active.element!==e)},$w.prototype.cancel=function(){this._active&&(this._fire("cancel"),this.close())},$w.prototype._fire=function(e,t){this._eventBus.fire("directEditing."+e,t||{active:this._active})},$w.prototype.close=function(){this._textbox.destroy(),this._fire("deactivate"),this._active=null,this.resizable=void 0,this._canvas.restoreFocus&&this._canvas.restoreFocus()},$w.prototype.complete=function(){var e=this._active;if(e){var t,n=e.context.bounds,i=this.$textbox.getBoundingClientRect(),o=this.getValue();o===e.context.text&&i.height===n.height&&i.width===n.width||(t=this._textbox.container.getBoundingClientRect(),e.provider.update(e.element,o,e.context.text,{x:i.left-t.left,y:i.top-t.top,width:i.width,height:i.height})),this._fire("complete"),this.close()}},$w.prototype.getValue=function(){return this._textbox.getValue()},$w.prototype._handleKey=function(e){e.stopPropagation();var t=e.keyCode||e.charCode;return 27===t?(e.preventDefault(),this.cancel()):13!==t||e.shiftKey?void 0:(e.preventDefault(),this.complete())},$w.prototype._handleResize=function(e){this._fire("resize",e)},$w.prototype.activate=function(e){var t;this.isActive()&&this.cancel();var n=j(this._providers,(function(n){return(t=n.activate(e))?n:null}));return t&&(this.$textbox=this._textbox.create(t.bounds,t.style,t.text,t.options),this._active={element:e,context:t,provider:n},t.options&&t.options.resizable&&(this.resizable=!0),this._fire("activate")),!!t};const jw={__depends__:[Dw],__init__:["directEditing"],directEditing:["type",$w]};function qw(e){return function(t){var n=t.target,i=me(e),o=i.eventDefinitions&&i.eventDefinitions[0],r=i.$type===n.type,s=(o&&o.$type)===n.eventDefinitionType,a=!!n.triggeredByEvent==!!i.triggeredByEvent,l=void 0===n.isExpanded||n.isExpanded===cl(e);return!(r&&s&&a&&l)}}var Hw=[{label:"Start event",actionName:"replace-with-none-start",className:"bpmn-icon-start-event-none",target:{type:"bpmn:StartEvent"}},{label:"Intermediate throw event",actionName:"replace-with-none-intermediate-throwing",className:"bpmn-icon-intermediate-event-none",target:{type:"bpmn:IntermediateThrowEvent"}},{label:"End event",actionName:"replace-with-none-end",className:"bpmn-icon-end-event-none",target:{type:"bpmn:EndEvent"}},{label:"Message start event",actionName:"replace-with-message-start",className:"bpmn-icon-start-event-message",target:{type:"bpmn:StartEvent",eventDefinitionType:"bpmn:MessageEventDefinition"}},{label:"Timer start event",actionName:"replace-with-timer-start",className:"bpmn-icon-start-event-timer",target:{type:"bpmn:StartEvent",eventDefinitionType:"bpmn:TimerEventDefinition"}},{label:"Conditional start event",actionName:"replace-with-conditional-start",className:"bpmn-icon-start-event-condition",target:{type:"bpmn:StartEvent",eventDefinitionType:"bpmn:ConditionalEventDefinition"}},{label:"Signal start event",actionName:"replace-with-signal-start",className:"bpmn-icon-start-event-signal",target:{type:"bpmn:StartEvent",eventDefinitionType:"bpmn:SignalEventDefinition"}}],Vw=[{label:"Start event",actionName:"replace-with-none-start",className:"bpmn-icon-start-event-none",target:{type:"bpmn:StartEvent"}},{label:"Intermediate throw event",actionName:"replace-with-none-intermediate-throwing",className:"bpmn-icon-intermediate-event-none",target:{type:"bpmn:IntermediateThrowEvent"}},{label:"End event",actionName:"replace-with-none-end",className:"bpmn-icon-end-event-none",target:{type:"bpmn:EndEvent"}}],Ww=[{label:"Start event",actionName:"replace-with-none-start",className:"bpmn-icon-start-event-none",target:{type:"bpmn:StartEvent"}},{label:"Intermediate throw event",actionName:"replace-with-none-intermediate-throw",className:"bpmn-icon-intermediate-event-none",target:{type:"bpmn:IntermediateThrowEvent"}},{label:"End event",actionName:"replace-with-none-end",className:"bpmn-icon-end-event-none",target:{type:"bpmn:EndEvent"}},{label:"Message intermediate catch event",actionName:"replace-with-message-intermediate-catch",className:"bpmn-icon-intermediate-event-catch-message",target:{type:"bpmn:IntermediateCatchEvent",eventDefinitionType:"bpmn:MessageEventDefinition"}},{label:"Message intermediate throw event",actionName:"replace-with-message-intermediate-throw",className:"bpmn-icon-intermediate-event-throw-message",target:{type:"bpmn:IntermediateThrowEvent",eventDefinitionType:"bpmn:MessageEventDefinition"}},{label:"Timer intermediate catch event",actionName:"replace-with-timer-intermediate-catch",className:"bpmn-icon-intermediate-event-catch-timer",target:{type:"bpmn:IntermediateCatchEvent",eventDefinitionType:"bpmn:TimerEventDefinition"}},{label:"Escalation intermediate throw event",actionName:"replace-with-escalation-intermediate-throw",className:"bpmn-icon-intermediate-event-throw-escalation",target:{type:"bpmn:IntermediateThrowEvent",eventDefinitionType:"bpmn:EscalationEventDefinition"}},{label:"Conditional intermediate catch event",actionName:"replace-with-conditional-intermediate-catch",className:"bpmn-icon-intermediate-event-catch-condition",target:{type:"bpmn:IntermediateCatchEvent",eventDefinitionType:"bpmn:ConditionalEventDefinition"}},{label:"Link intermediate catch event",actionName:"replace-with-link-intermediate-catch",className:"bpmn-icon-intermediate-event-catch-link",target:{type:"bpmn:IntermediateCatchEvent",eventDefinitionType:"bpmn:LinkEventDefinition",eventDefinitionAttrs:{name:""}}},{label:"Link intermediate throw event",actionName:"replace-with-link-intermediate-throw",className:"bpmn-icon-intermediate-event-throw-link",target:{type:"bpmn:IntermediateThrowEvent",eventDefinitionType:"bpmn:LinkEventDefinition",eventDefinitionAttrs:{name:""}}},{label:"Compensation intermediate throw event",actionName:"replace-with-compensation-intermediate-throw",className:"bpmn-icon-intermediate-event-throw-compensation",target:{type:"bpmn:IntermediateThrowEvent",eventDefinitionType:"bpmn:CompensateEventDefinition"}},{label:"Signal intermediate catch event",actionName:"replace-with-signal-intermediate-catch",className:"bpmn-icon-intermediate-event-catch-signal",target:{type:"bpmn:IntermediateCatchEvent",eventDefinitionType:"bpmn:SignalEventDefinition"}},{label:"Signal intermediate throw event",actionName:"replace-with-signal-intermediate-throw",className:"bpmn-icon-intermediate-event-throw-signal",target:{type:"bpmn:IntermediateThrowEvent",eventDefinitionType:"bpmn:SignalEventDefinition"}}],Gw=[{label:"Start event",actionName:"replace-with-none-start",className:"bpmn-icon-start-event-none",target:{type:"bpmn:StartEvent"}},{label:"Intermediate throw event",actionName:"replace-with-none-intermediate-throw",className:"bpmn-icon-intermediate-event-none",target:{type:"bpmn:IntermediateThrowEvent"}},{label:"End event",actionName:"replace-with-none-end",className:"bpmn-icon-end-event-none",target:{type:"bpmn:EndEvent"}},{label:"Message end event",actionName:"replace-with-message-end",className:"bpmn-icon-end-event-message",target:{type:"bpmn:EndEvent",eventDefinitionType:"bpmn:MessageEventDefinition"}},{label:"Escalation end event",actionName:"replace-with-escalation-end",className:"bpmn-icon-end-event-escalation",target:{type:"bpmn:EndEvent",eventDefinitionType:"bpmn:EscalationEventDefinition"}},{label:"Error end event",actionName:"replace-with-error-end",className:"bpmn-icon-end-event-error",target:{type:"bpmn:EndEvent",eventDefinitionType:"bpmn:ErrorEventDefinition"}},{label:"Cancel end event",actionName:"replace-with-cancel-end",className:"bpmn-icon-end-event-cancel",target:{type:"bpmn:EndEvent",eventDefinitionType:"bpmn:CancelEventDefinition"}},{label:"Compensation end event",actionName:"replace-with-compensation-end",className:"bpmn-icon-end-event-compensation",target:{type:"bpmn:EndEvent",eventDefinitionType:"bpmn:CompensateEventDefinition"}},{label:"Signal end event",actionName:"replace-with-signal-end",className:"bpmn-icon-end-event-signal",target:{type:"bpmn:EndEvent",eventDefinitionType:"bpmn:SignalEventDefinition"}},{label:"Terminate end event",actionName:"replace-with-terminate-end",className:"bpmn-icon-end-event-terminate",target:{type:"bpmn:EndEvent",eventDefinitionType:"bpmn:TerminateEventDefinition"}}],Qw=[{label:"Exclusive gateway",actionName:"replace-with-exclusive-gateway",className:"bpmn-icon-gateway-xor",target:{type:"bpmn:ExclusiveGateway"}},{label:"Parallel gateway",actionName:"replace-with-parallel-gateway",className:"bpmn-icon-gateway-parallel",target:{type:"bpmn:ParallelGateway"}},{label:"Inclusive gateway",actionName:"replace-with-inclusive-gateway",className:"bpmn-icon-gateway-or",target:{type:"bpmn:InclusiveGateway"}},{label:"Complex gateway",actionName:"replace-with-complex-gateway",className:"bpmn-icon-gateway-complex",target:{type:"bpmn:ComplexGateway"}},{label:"Event-based gateway",actionName:"replace-with-event-based-gateway",className:"bpmn-icon-gateway-eventbased",target:{type:"bpmn:EventBasedGateway",instantiate:!1,eventGatewayType:"Exclusive"}}],Xw=[{label:"Transaction",actionName:"replace-with-transaction",className:"bpmn-icon-transaction",target:{type:"bpmn:Transaction",isExpanded:!0}},{label:"Event sub-process",actionName:"replace-with-event-subprocess",className:"bpmn-icon-event-subprocess-expanded",target:{type:"bpmn:SubProcess",triggeredByEvent:!0,isExpanded:!0}},{label:"Sub-process (collapsed)",actionName:"replace-with-collapsed-subprocess",className:"bpmn-icon-subprocess-collapsed",target:{type:"bpmn:SubProcess",isExpanded:!1}}],Uw=[{label:"Transaction",actionName:"replace-with-transaction",className:"bpmn-icon-transaction",target:{type:"bpmn:Transaction",isExpanded:!0}},{label:"Sub-process",actionName:"replace-with-subprocess",className:"bpmn-icon-subprocess-expanded",target:{type:"bpmn:SubProcess",isExpanded:!0}},{label:"Event sub-process",actionName:"replace-with-event-subprocess",className:"bpmn-icon-event-subprocess-expanded",target:{type:"bpmn:SubProcess",triggeredByEvent:!0,isExpanded:!0}}],Yw=Uw,Kw=[{label:"Task",actionName:"replace-with-task",className:"bpmn-icon-task",target:{type:"bpmn:Task"}},{label:"User task",actionName:"replace-with-user-task",className:"bpmn-icon-user",target:{type:"bpmn:UserTask"}},{label:"Service task",actionName:"replace-with-service-task",className:"bpmn-icon-service",target:{type:"bpmn:ServiceTask"}},{label:"Send task",actionName:"replace-with-send-task",className:"bpmn-icon-send",target:{type:"bpmn:SendTask"}},{label:"Receive task",actionName:"replace-with-receive-task",className:"bpmn-icon-receive",target:{type:"bpmn:ReceiveTask"}},{label:"Manual task",actionName:"replace-with-manual-task",className:"bpmn-icon-manual",target:{type:"bpmn:ManualTask"}},{label:"Business rule task",actionName:"replace-with-rule-task",className:"bpmn-icon-business-rule",target:{type:"bpmn:BusinessRuleTask"}},{label:"Script task",actionName:"replace-with-script-task",className:"bpmn-icon-script",target:{type:"bpmn:ScriptTask"}},{label:"Call activity",actionName:"replace-with-call-activity",className:"bpmn-icon-call-activity",target:{type:"bpmn:CallActivity"}},{label:"Sub-process (collapsed)",actionName:"replace-with-collapsed-subprocess",className:"bpmn-icon-subprocess-collapsed",target:{type:"bpmn:SubProcess",isExpanded:!1}},{label:"Sub-process (expanded)",actionName:"replace-with-expanded-subprocess",className:"bpmn-icon-subprocess-expanded",target:{type:"bpmn:SubProcess",isExpanded:!0}}],Zw=[{label:"Data store reference",actionName:"replace-with-data-store-reference",className:"bpmn-icon-data-store",target:{type:"bpmn:DataStoreReference"}}],Jw=[{label:"Data object reference",actionName:"replace-with-data-object-reference",className:"bpmn-icon-data-object",target:{type:"bpmn:DataObjectReference"}}],ex=[{label:"Message boundary event",actionName:"replace-with-message-boundary",className:"bpmn-icon-intermediate-event-catch-message",target:{type:"bpmn:BoundaryEvent",eventDefinitionType:"bpmn:MessageEventDefinition",cancelActivity:!0}},{label:"Timer boundary event",actionName:"replace-with-timer-boundary",className:"bpmn-icon-intermediate-event-catch-timer",target:{type:"bpmn:BoundaryEvent",eventDefinitionType:"bpmn:TimerEventDefinition",cancelActivity:!0}},{label:"Escalation boundary event",actionName:"replace-with-escalation-boundary",className:"bpmn-icon-intermediate-event-catch-escalation",target:{type:"bpmn:BoundaryEvent",eventDefinitionType:"bpmn:EscalationEventDefinition",cancelActivity:!0}},{label:"Conditional boundary event",actionName:"replace-with-conditional-boundary",className:"bpmn-icon-intermediate-event-catch-condition",target:{type:"bpmn:BoundaryEvent",eventDefinitionType:"bpmn:ConditionalEventDefinition",cancelActivity:!0}},{label:"Error boundary event",actionName:"replace-with-error-boundary",className:"bpmn-icon-intermediate-event-catch-error",target:{type:"bpmn:BoundaryEvent",eventDefinitionType:"bpmn:ErrorEventDefinition",cancelActivity:!0}},{label:"Cancel boundary event",actionName:"replace-with-cancel-boundary",className:"bpmn-icon-intermediate-event-catch-cancel",target:{type:"bpmn:BoundaryEvent",eventDefinitionType:"bpmn:CancelEventDefinition",cancelActivity:!0}},{label:"Signal boundary event",actionName:"replace-with-signal-boundary",className:"bpmn-icon-intermediate-event-catch-signal",target:{type:"bpmn:BoundaryEvent",eventDefinitionType:"bpmn:SignalEventDefinition",cancelActivity:!0}},{label:"Compensation boundary event",actionName:"replace-with-compensation-boundary",className:"bpmn-icon-intermediate-event-catch-compensation",target:{type:"bpmn:BoundaryEvent",eventDefinitionType:"bpmn:CompensateEventDefinition",cancelActivity:!0}},{label:"Message boundary event (non-interrupting)",actionName:"replace-with-non-interrupting-message-boundary",className:"bpmn-icon-intermediate-event-catch-non-interrupting-message",target:{type:"bpmn:BoundaryEvent",eventDefinitionType:"bpmn:MessageEventDefinition",cancelActivity:!1}},{label:"Timer boundary event (non-interrupting)",actionName:"replace-with-non-interrupting-timer-boundary",className:"bpmn-icon-intermediate-event-catch-non-interrupting-timer",target:{type:"bpmn:BoundaryEvent",eventDefinitionType:"bpmn:TimerEventDefinition",cancelActivity:!1}},{label:"Escalation boundary event (non-interrupting)",actionName:"replace-with-non-interrupting-escalation-boundary",className:"bpmn-icon-intermediate-event-catch-non-interrupting-escalation",target:{type:"bpmn:BoundaryEvent",eventDefinitionType:"bpmn:EscalationEventDefinition",cancelActivity:!1}},{label:"Conditional boundary event (non-interrupting)",actionName:"replace-with-non-interrupting-conditional-boundary",className:"bpmn-icon-intermediate-event-catch-non-interrupting-condition",target:{type:"bpmn:BoundaryEvent",eventDefinitionType:"bpmn:ConditionalEventDefinition",cancelActivity:!1}},{label:"Signal boundary event (non-interrupting)",actionName:"replace-with-non-interrupting-signal-boundary",className:"bpmn-icon-intermediate-event-catch-non-interrupting-signal",target:{type:"bpmn:BoundaryEvent",eventDefinitionType:"bpmn:SignalEventDefinition",cancelActivity:!1}}],tx=[{label:"Message start event",actionName:"replace-with-message-start",className:"bpmn-icon-start-event-message",target:{type:"bpmn:StartEvent",eventDefinitionType:"bpmn:MessageEventDefinition",isInterrupting:!0}},{label:"Timer start event",actionName:"replace-with-timer-start",className:"bpmn-icon-start-event-timer",target:{type:"bpmn:StartEvent",eventDefinitionType:"bpmn:TimerEventDefinition",isInterrupting:!0}},{label:"Conditional start event",actionName:"replace-with-conditional-start",className:"bpmn-icon-start-event-condition",target:{type:"bpmn:StartEvent",eventDefinitionType:"bpmn:ConditionalEventDefinition",isInterrupting:!0}},{label:"Signal start event",actionName:"replace-with-signal-start",className:"bpmn-icon-start-event-signal",target:{type:"bpmn:StartEvent",eventDefinitionType:"bpmn:SignalEventDefinition",isInterrupting:!0}},{label:"Error start event",actionName:"replace-with-error-start",className:"bpmn-icon-start-event-error",target:{type:"bpmn:StartEvent",eventDefinitionType:"bpmn:ErrorEventDefinition",isInterrupting:!0}},{label:"Escalation start event",actionName:"replace-with-escalation-start",className:"bpmn-icon-start-event-escalation",target:{type:"bpmn:StartEvent",eventDefinitionType:"bpmn:EscalationEventDefinition",isInterrupting:!0}},{label:"Compensation start event",actionName:"replace-with-compensation-start",className:"bpmn-icon-start-event-compensation",target:{type:"bpmn:StartEvent",eventDefinitionType:"bpmn:CompensateEventDefinition",isInterrupting:!0}},{label:"Message start event (non-interrupting)",actionName:"replace-with-non-interrupting-message-start",className:"bpmn-icon-start-event-non-interrupting-message",target:{type:"bpmn:StartEvent",eventDefinitionType:"bpmn:MessageEventDefinition",isInterrupting:!1}},{label:"Timer start event (non-interrupting)",actionName:"replace-with-non-interrupting-timer-start",className:"bpmn-icon-start-event-non-interrupting-timer",target:{type:"bpmn:StartEvent",eventDefinitionType:"bpmn:TimerEventDefinition",isInterrupting:!1}},{label:"Conditional start event (non-interrupting)",actionName:"replace-with-non-interrupting-conditional-start",className:"bpmn-icon-start-event-non-interrupting-condition",target:{type:"bpmn:StartEvent",eventDefinitionType:"bpmn:ConditionalEventDefinition",isInterrupting:!1}},{label:"Signal start event (non-interrupting)",actionName:"replace-with-non-interrupting-signal-start",className:"bpmn-icon-start-event-non-interrupting-signal",target:{type:"bpmn:StartEvent",eventDefinitionType:"bpmn:SignalEventDefinition",isInterrupting:!1}},{label:"Escalation start event (non-interrupting)",actionName:"replace-with-non-interrupting-escalation-start",className:"bpmn-icon-start-event-non-interrupting-escalation",target:{type:"bpmn:StartEvent",eventDefinitionType:"bpmn:EscalationEventDefinition",isInterrupting:!1}}],nx=[{label:"Sequence flow",actionName:"replace-with-sequence-flow",className:"bpmn-icon-connection"},{label:"Default flow",actionName:"replace-with-default-flow",className:"bpmn-icon-default-flow"},{label:"Conditional flow",actionName:"replace-with-conditional-flow",className:"bpmn-icon-conditional-flow"}],ix=[{label:"Expanded pool/participant",actionName:"replace-with-expanded-pool",className:"bpmn-icon-participant",target:{type:"bpmn:Participant",isExpanded:!0}},{label:function(e){var t="Empty pool/participant";return e.children&&e.children.length&&(t+=" (removes content)"),t},actionName:"replace-with-collapsed-pool",className:"bpmn-icon-lane",target:{type:"bpmn:Participant",isExpanded:!1}}];const ox='\n \n \n \n \n ',rx='\n \n \n \n \n \n ';function sx(e,t,n,i,o,r,s,a){this._bpmnFactory=e,this._popupMenu=t,this._modeling=n,this._moddle=i,this._bpmnReplace=o,this._rules=r,this._translate=s,this._moddleCopy=a,this._register()}sx.$inject=["bpmnFactory","popupMenu","modeling","moddle","bpmnReplace","rules","translate","moddleCopy"],sx.prototype._register=function(){this._popupMenu.registerProvider("bpmn-replace",this)},sx.prototype.getPopupMenuEntries=function(e){var t=e.businessObject,n=this._rules,i=[];if(L(e)||!n.allowed("shape.replace",{element:e}))return{};var o=qw(e);return de(t,"bpmn:DataObjectReference")?this._createEntries(e,Zw):de(t,"bpmn:DataStoreReference")&&!de(e.parent,"bpmn:Collaboration")?this._createEntries(e,Jw):de(t,"bpmn:StartEvent")&&!de(t.$parent,"bpmn:SubProcess")?(i=H(Hw,o),this._createEntries(e,i)):de(t,"bpmn:Participant")?(i=H(ix,(function(t){return cl(e)!==t.target.isExpanded})),this._createEntries(e,i)):de(t,"bpmn:StartEvent")&&pl(t.$parent)?(i=H(tx,(function(e){var n=!1!==e.target.isInterrupting,i=t.isInterrupting===n;return o(e)||!o(e)&&!i})),this._createEntries(e,i)):de(t,"bpmn:StartEvent")&&!pl(t.$parent)&&de(t.$parent,"bpmn:SubProcess")?(i=H(Vw,o),this._createEntries(e,i)):de(t,"bpmn:EndEvent")?(i=H(Gw,(function(e){return!("bpmn:CancelEventDefinition"==e.target.eventDefinitionType&&!de(t.$parent,"bpmn:Transaction"))&&o(e)})),this._createEntries(e,i)):de(t,"bpmn:BoundaryEvent")?(i=H(ex,(function(e){var n=e.target;if("bpmn:CancelEventDefinition"==n.eventDefinitionType&&!de(t.attachedToRef,"bpmn:Transaction"))return!1;var i=!1!==n.cancelActivity,r=t.cancelActivity==i;return o(e)||!o(e)&&!r})),this._createEntries(e,i)):de(t,"bpmn:IntermediateCatchEvent")||de(t,"bpmn:IntermediateThrowEvent")?(i=H(Ww,o),this._createEntries(e,i)):de(t,"bpmn:Gateway")?(i=H(Qw,o),this._createEntries(e,i)):de(t,"bpmn:Transaction")?(i=H(Uw,o),this._createEntries(e,i)):pl(t)&&cl(e)?(i=H(Yw,o),this._createEntries(e,i)):de(t,"bpmn:SubProcess")&&cl(e)?(i=H(Xw,o),this._createEntries(e,i)):de(t,"bpmn:AdHocSubProcess")&&!cl(e)?(i=H(Kw,(function(e){var t=e.target,n="bpmn:SubProcess"===t.type,i=!0===t.isExpanded;return qw(t)&&(!n||i)})),this._createEntries(e,i)):de(t,"bpmn:SequenceFlow")?this._createSequenceFlowEntries(e,nx):de(t,"bpmn:FlowNode")?(i=H(Kw,o),de(t,"bpmn:SubProcess")&&!cl(e)&&(i=H(i,(function(e){return"Sub-process (collapsed)"!==e.label}))),this._createEntries(e,i)):{}},sx.prototype.getPopupMenuHeaderEntries=function(e){var t={};return de(e,"bpmn:Activity")&&!pl(e)&&(t={...t,...this._getLoopCharacteristicsHeaderEntries(e)}),de(e,"bpmn:DataObjectReference")&&(t={...t,...this._getCollectionHeaderEntries(e)}),de(e,"bpmn:Participant")&&(t={...t,...this._getParticipantMultiplicityHeaderEntries(e)}),!de(e,"bpmn:SubProcess")||de(e,"bpmn:Transaction")||pl(e)||(t={...t,...this._getAdHocHeaderEntries(e)}),Fm(e)&&(t={...t,...this._getNonInterruptingHeaderEntries(e)}),t},sx.prototype._createEntries=function(e,t){var n={},i=this;return V(t,(function(t){n[t.actionName]=i._createEntry(t,e)})),n},sx.prototype._createSequenceFlowEntries=function(e,t){var n=me(e),i={},o=this._modeling,r=this._moddle,s=this;return V(t,(function(t){switch(t.actionName){case"replace-with-default-flow":n.sourceRef.default!==n&&(de(n.sourceRef,"bpmn:ExclusiveGateway")||de(n.sourceRef,"bpmn:InclusiveGateway")||de(n.sourceRef,"bpmn:ComplexGateway")||de(n.sourceRef,"bpmn:Activity"))&&(i={...i,[t.actionName]:s._createEntry(t,e,(function(){o.updateProperties(e.source,{default:n})}))});break;case"replace-with-conditional-flow":!n.conditionExpression&&de(n.sourceRef,"bpmn:Activity")&&(i={...i,[t.actionName]:s._createEntry(t,e,(function(){var t=r.create("bpmn:FormalExpression",{body:""});o.updateProperties(e,{conditionExpression:t})}))});break;default:de(n.sourceRef,"bpmn:Activity")&&n.conditionExpression&&(i={...i,[t.actionName]:s._createEntry(t,e,(function(){o.updateProperties(e,{conditionExpression:void 0})}))}),(de(n.sourceRef,"bpmn:ExclusiveGateway")||de(n.sourceRef,"bpmn:InclusiveGateway")||de(n.sourceRef,"bpmn:ComplexGateway")||de(n.sourceRef,"bpmn:Activity"))&&n.sourceRef.default===n&&(i={...i,[t.actionName]:s._createEntry(t,e,(function(){o.updateProperties(e.source,{default:void 0})}))})}})),i},sx.prototype._createEntry=function(e,t,n){var i=this._translate,o=this._bpmnReplace.replaceElement,r=e.label;return r&&"function"==typeof r&&(r=r(t)),n=n||function(){return o(t,e.target)},{label:i(r),className:e.className,action:n}},sx.prototype._getLoopCharacteristicsHeaderEntries=function(e){var t=this,n=this._translate;function i(n,i){if(i.active)return void t._modeling.updateProperties(e,{loopCharacteristics:void 0});const o=e.businessObject.get("loopCharacteristics"),r=t._moddle.create(i.options.loopCharacteristics);o&&t._moddleCopy.copyElement(o,r),r.set("isSequential",i.options.isSequential),t._modeling.updateProperties(e,{loopCharacteristics:r})}var o,r,s,a=me(e).loopCharacteristics;return a&&(o=a.isSequential,r=void 0===a.isSequential,s=void 0!==a.isSequential&&!a.isSequential),{"toggle-parallel-mi":{className:"bpmn-icon-parallel-mi-marker",title:n("Parallel multi-instance"),active:s,action:i,options:{loopCharacteristics:"bpmn:MultiInstanceLoopCharacteristics",isSequential:!1}},"toggle-sequential-mi":{className:"bpmn-icon-sequential-mi-marker",title:n("Sequential multi-instance"),active:o,action:i,options:{loopCharacteristics:"bpmn:MultiInstanceLoopCharacteristics",isSequential:!0}},"toggle-loop":{className:"bpmn-icon-loop-marker",title:n("Loop"),active:r,action:i,options:{loopCharacteristics:"bpmn:StandardLoopCharacteristics"}}}},sx.prototype._getCollectionHeaderEntries=function(e){var t=this,n=this._translate,i=e.businessObject.dataObjectRef;if(!i)return{};var o=i.isCollection;return{"toggle-is-collection":{className:"bpmn-icon-parallel-mi-marker",title:n("Collection"),active:o,action:function(n,o){t._modeling.updateModdleProperties(e,i,{isCollection:!o.active})}}}},sx.prototype._getParticipantMultiplicityHeaderEntries=function(e){var t=this,n=this._bpmnFactory,i=this._translate,o=e.businessObject.participantMultiplicity;return{"toggle-participant-multiplicity":{className:"bpmn-icon-parallel-mi-marker",title:i("Participant multiplicity"),active:!!o,action:function(i,o){var r;o.active||(r=n.create("bpmn:ParticipantMultiplicity")),t._modeling.updateProperties(e,{participantMultiplicity:r})}}}},sx.prototype._getAdHocHeaderEntries=function(e){var t=this._translate,n=de(me(e),"bpmn:AdHocSubProcess"),i=this._bpmnReplace.replaceElement;return{"toggle-adhoc":{className:"bpmn-icon-ad-hoc-marker",title:t("Ad-hoc"),active:n,action:function(t,o){return i(e,n?{type:"bpmn:SubProcess"}:{type:"bpmn:AdHocSubProcess"},{autoResize:!1,layoutConnection:!1})}}}},sx.prototype._getNonInterruptingHeaderEntries=function(e){const t=this._translate,n=me(e),i=this,o=$m(e),r=de(e,"bpmn:BoundaryEvent")?rx:ox,s=!n[o];return{"toggle-non-interrupting":{imageHtml:r,title:t("Toggle non-interrupting"),active:s,action:function(){i._modeling.updateProperties(e,{[o]:!!s})}}}};const ax={__depends__:[mp,Gv,Fp],__init__:["replaceMenuProvider"],replaceMenuProvider:["type",sx]};function lx(e,t,n,i,o,r,s,a,l,c,u,h,p){e=e||{},i.registerProvider(this),this._contextPad=i,this._modeling=o,this._elementFactory=r,this._connect=s,this._create=a,this._popupMenu=l,this._canvas=c,this._rules=u,this._translate=h,this._eventBus=n,this._appendPreview=p,!1!==e.autoPlace&&(this._autoPlace=t.get("autoPlace",!1)),n.on("create.end",250,(function(e){var t=e.context.shape;if(Hc(e)&&i.isOpen(t)){var n=i.getEntries(t);n.replace&&n.replace.action.click(e,t)}})),n.on("contextPad.close",(function(){p.cleanUp()}))}function cx(e,t,n){var i=e.$instanceOf(t),o=!1;return V(e.eventDefinitions||[],(function(e){e.$type===n&&(o=!0)})),i&&o}lx.$inject=["config.contextPad","injector","eventBus","contextPad","modeling","elementFactory","connect","create","popupMenu","canvas","rules","translate","appendPreview"],lx.prototype.getMultiElementContextPadEntries=function(e){var t=this._modeling,n={};return this._isDeleteAllowed(e)&&ce(n,{delete:{group:"edit",className:"bpmn-icon-trash",title:this._translate("Delete"),action:{click:function(e,n){t.removeElements(n.slice())}}}}),n},lx.prototype._isDeleteAllowed=function(e){var t=this._rules.allowed("elements.delete",{elements:e});return L(t)?Q(e,(e=>t.includes(e))):t},lx.prototype.getContextPadEntries=function(e){var t=this._contextPad,n=this._modeling,i=this._elementFactory,o=this._connect,r=this._create,s=this._popupMenu,a=this._autoPlace,l=this._translate,c=this._appendPreview,u={};if("label"===e.type)return this._isDeleteAllowed([e])&&ce(u,f()),u;var h=e.businessObject;function p(e,t){o.start(e,t)}function d(e,t){n.removeElements([t])}function f(){return{delete:{group:"edit",className:"bpmn-icon-trash",title:l("Delete"),action:{click:d}}}}function m(e,t,n,o){function s(t,n){var s=i.createShape(ce({type:e},o));r.start(t,s,{source:n})}var l=a?function(t,n){var r=i.createShape(ce({type:e},o));a.append(n,r)}:s,u=a?function(t,n){return c.create(n,e,o),()=>{c.cleanUp()}}:null;return{group:"model",className:t,title:n,action:{dragstart:s,click:l,hover:u}}}function g(e){return function(i,o){n.splitLane(o,e),t.open(o,!0)}}if(fe(h,["bpmn:Lane","bpmn:Participant"])&&cl(e)){var v=Qf(e);ce(u,{"lane-insert-above":{group:"lane-insert-above",className:"bpmn-icon-lane-insert-above",title:l("Add lane above"),action:{click:function(e,t){n.addLane(t,"top")}}}}),v.length<2&&((ul(e)?e.height>=120:e.width>=120)&&ce(u,{"lane-divide-two":{group:"lane-divide",className:"bpmn-icon-lane-divide-two",title:l("Divide into two lanes"),action:{click:g(2)}}}),(ul(e)?e.height>=180:e.width>=180)&&ce(u,{"lane-divide-three":{group:"lane-divide",className:"bpmn-icon-lane-divide-three",title:l("Divide into three lanes"),action:{click:g(3)}}})),ce(u,{"lane-insert-below":{group:"lane-insert-below",className:"bpmn-icon-lane-insert-below",title:l("Add lane below"),action:{click:function(e,t){n.addLane(t,"bottom")}}}})}return de(h,"bpmn:FlowNode")&&(de(h,"bpmn:EventBasedGateway")?ce(u,{"append.receive-task":m("bpmn:ReceiveTask","bpmn-icon-receive-task",l("Append receive task")),"append.message-intermediate-event":m("bpmn:IntermediateCatchEvent","bpmn-icon-intermediate-event-catch-message",l("Append message intermediate catch event"),{eventDefinitionType:"bpmn:MessageEventDefinition"}),"append.timer-intermediate-event":m("bpmn:IntermediateCatchEvent","bpmn-icon-intermediate-event-catch-timer",l("Append timer intermediate catch event"),{eventDefinitionType:"bpmn:TimerEventDefinition"}),"append.condition-intermediate-event":m("bpmn:IntermediateCatchEvent","bpmn-icon-intermediate-event-catch-condition",l("Append conditional intermediate catch event"),{eventDefinitionType:"bpmn:ConditionalEventDefinition"}),"append.signal-intermediate-event":m("bpmn:IntermediateCatchEvent","bpmn-icon-intermediate-event-catch-signal",l("Append signal intermediate catch event"),{eventDefinitionType:"bpmn:SignalEventDefinition"})}):cx(h,"bpmn:BoundaryEvent","bpmn:CompensateEventDefinition")?ce(u,{"append.compensation-activity":m("bpmn:Task","bpmn-icon-task",l("Append compensation activity"),{isForCompensation:!0})}):de(h,"bpmn:EndEvent")||h.isForCompensation||cx(h,"bpmn:IntermediateThrowEvent","bpmn:LinkEventDefinition")||pl(h)||ce(u,{"append.end-event":m("bpmn:EndEvent","bpmn-icon-end-event-none",l("Append end event")),"append.gateway":m("bpmn:ExclusiveGateway","bpmn-icon-gateway-none",l("Append gateway")),"append.append-task":m("bpmn:Task","bpmn-icon-task",l("Append task")),"append.intermediate-event":m("bpmn:IntermediateThrowEvent","bpmn-icon-intermediate-event-none",l("Append intermediate/boundary event"))})),s.isEmpty(e,"bpmn-replace")||ce(u,{replace:{group:"edit",className:"bpmn-icon-screw-wrench",title:l("Change element"),action:{click:function(e,n){var i=ce(function(e){var n=t.getPad(e).html.getBoundingClientRect();return{x:n.left,y:n.bottom+5}}(n),{cursor:{x:e.x,y:e.y}});s.open(n,"bpmn-replace",i,{title:l("Change element"),width:300,search:!0})}}}}),de(h,"bpmn:SequenceFlow")&&ce(u,{"append.text-annotation":m("bpmn:TextAnnotation","bpmn-icon-text-annotation",l("Add text annotation"))}),fe(h,["bpmn:FlowNode","bpmn:InteractionNode","bpmn:DataObjectReference","bpmn:DataStoreReference"])&&ce(u,{"append.text-annotation":m("bpmn:TextAnnotation","bpmn-icon-text-annotation",l("Add text annotation")),connect:{group:"connect",className:"bpmn-icon-connection-multi",title:l("Connect to other element"),action:{click:p,dragstart:p}}}),de(h,"bpmn:TextAnnotation")&&ce(u,{connect:{group:"connect",className:"bpmn-icon-connection-multi",title:l("Connect using association"),action:{click:p,dragstart:p}}}),fe(h,["bpmn:DataObjectReference","bpmn:DataStoreReference"])&&ce(u,{connect:{group:"connect",className:"bpmn-icon-connection-multi",title:l("Connect using data input association"),action:{click:p,dragstart:p}}}),de(h,"bpmn:Group")&&ce(u,{"append.text-annotation":m("bpmn:TextAnnotation","bpmn-icon-text-annotation",l("Add text annotation"))}),this._isDeleteAllowed([e])&&ce(u,f()),u};const ux={__depends__:[Ew,jw,Gu,tu,tf,Sv,ax],__init__:["contextPadProvider"],contextPadProvider:["type",lx]};var hx={horizontal:["x","width"],vertical:["y","height"]};function px(e,t){this._modeling=e,this._filters=[],this.registerFilter((function(e){var n=t.allowed("elements.distribute",{elements:e});return L(n)?n:n?e:[]}))}px.$inject=["modeling","rules"],px.prototype.registerFilter=function(e){if("function"!=typeof e)throw new Error("the filter has to be a function");this._filters.push(e)},px.prototype.trigger=function(e,t){var n,i,o=this._modeling;if(!(e.length<3||(this._setOrientation(t),i=this._filterElements(e),(n=this._createGroups(i)).length<=2)))return o.distributeElements(n,this._axis,this._dimension),n},px.prototype._filterElements=function(e){var t=this._filters,n=this._axis,i=this._dimension,o=[].concat(e);return t.length?(V(t,(function(e){o=e(o,n,i)})),o):e},px.prototype._createGroups=function(e){var t=[],n=this,i=this._axis,o=this._dimension;if(!i)throw new Error('must have a defined "axis" and "dimension"');return V(te(e,i),(function(e,r){var s,a=n._findRange(e,i,o),l=t[t.length-1];l&&n._hasIntersection(l.range,a)?t[t.length-1].elements.push(e):(s={range:a,elements:[e]},t.push(s))})),t},px.prototype._setOrientation=function(e){var t=hx[e];this._axis=t[0],this._dimension=t[1]},px.prototype._hasIntersection=function(e,t){return Math.max(e.min,e.max)>=Math.min(t.min,t.max)&&Math.min(e.min,e.max)<=Math.max(t.min,t.max)},px.prototype._findRange=function(e){var t=e[this._axis];return{min:t+5,max:t+e[this._dimension]-5}};const dx={__init__:["distributeElements"],distributeElements:["type",px]};function fx(e){wp.call(this,e)}fx.$inject=["eventBus"],lt(fx,wp),fx.prototype.init=function(){this.addRule("elements.distribute",(function(e){var t=e.elements;return!((t=$o(t=H(t,(function(e){var t=fe(e,["bpmn:Association","bpmn:BoundaryEvent","bpmn:DataInputAssociation","bpmn:DataOutputAssociation","bpmn:Lane","bpmn:MessageFlow","bpmn:SequenceFlow","bpmn:TextAnnotation"]);return!(e.labelTarget||t)})))).length<3)&&t}))};const mx='\n \n \n \n ',gx='\n \n \n \n ';function vx(e,t,n,i){this._distributeElements=t,this._translate=n,this._popupMenu=e,this._rules=i,e.registerProvider("align-elements",900,this)}vx.$inject=["popupMenu","distributeElements","translate","rules"],vx.prototype.getPopupMenuEntries=function(e){var t={};return this._isAllowed(e)&&ce(t,this._getEntries(e)),t},vx.prototype._isAllowed=function(e){return this._rules.allowed("elements.distribute",{elements:e})},vx.prototype._getEntries=function(e){var t=this._distributeElements,n=this._translate,i=this._popupMenu;return{"distribute-elements-horizontal":{group:"distribute",title:n("Distribute elements horizontally"),className:"bjs-align-elements-menu-entry",imageHtml:mx,action:function(n,o){t.trigger(e,"horizontal"),i.close()}},"distribute-elements-vertical":{group:"distribute",title:n("Distribute elements vertically"),imageHtml:gx,action:function(n,o){t.trigger(e,"vertical"),i.close()}}}};const yx={__depends__:[mp,dx],__init__:["bpmnDistributeElements","distributeElementsMenuProvider"],bpmnDistributeElements:["type",fx],distributeElementsMenuProvider:["type",vx]};var bx="is not a registered action";function wx(e,t){this._actions={};var n=this;e.on("diagram.init",(function(){n._registerDefaultActions(t),e.fire("editorActions.init",{editorActions:n})}))}function xx(e,t){return new Error(e+" "+t)}wx.$inject=["eventBus","injector"],wx.prototype._registerDefaultActions=function(e){var t=e.get("commandStack",!1),n=e.get("modeling",!1),i=e.get("selection",!1),o=e.get("zoomScroll",!1),r=e.get("copyPaste",!1),s=e.get("canvas",!1),a=e.get("rules",!1),l=e.get("keyboardMove",!1),c=e.get("keyboardMoveSelection",!1);t&&(this.register("undo",(function(){t.undo()})),this.register("redo",(function(){t.redo()}))),r&&i&&this.register("copy",(function(){var e=i.get();if(e.length)return r.copy(e)})),r&&this.register("paste",(function(){r.paste()})),o&&this.register("stepZoom",(function(e){o.stepZoom(e.value)})),s&&this.register("zoom",(function(e){s.zoom(e.value)})),n&&i&&a&&this.register("removeSelection",(function(){var e=i.get();if(e.length){var t,o=a.allowed("elements.delete",{elements:e});!1!==o&&(t=L(o)?o:e).length&&n.removeElements(t.slice())}})),l&&this.register("moveCanvas",(function(e){l.moveCanvas(e)})),c&&this.register("moveSelection",(function(e){c.moveSelection(e.direction,e.accelerated)}))},wx.prototype.trigger=function(e,t){if(!this._actions[e])throw xx(e,bx);return this._actions[e](t)},wx.prototype.register=function(e,t){var n=this;if("string"==typeof e)return this._registerAction(e,t);V(e,(function(e,t){n._registerAction(t,e)}))},wx.prototype._registerAction=function(e,t){if(this.isRegistered(e))throw xx(e,"is already registered");this._actions[e]=t},wx.prototype.unregister=function(e){if(!this.isRegistered(e))throw xx(e,bx);this._actions[e]=void 0},wx.prototype.getActions=function(){return Object.keys(this._actions)},wx.prototype.isRegistered=function(e){return!!this._actions[e]};const _x={__init__:["editorActions"],editorActions:["type",wx]};function Ex(e){e.invoke(wx,this)}lt(Ex,wx),Ex.$inject=["injector"],Ex.prototype._registerDefaultActions=function(e){wx.prototype._registerDefaultActions.call(this,e);var t=e.get("canvas",!1),n=e.get("elementRegistry",!1),i=e.get("selection",!1),o=e.get("spaceTool",!1),r=e.get("lassoTool",!1),s=e.get("handTool",!1),a=e.get("globalConnect",!1),l=e.get("distributeElements",!1),c=e.get("alignElements",!1),u=e.get("directEditing",!1),h=e.get("searchPad",!1),p=e.get("modeling",!1),d=e.get("contextPad",!1);t&&n&&i&&this._registerAction("selectElements",(function(){var e=t.getRootElement(),o=n.filter((function(t){return t!==e}));return i.select(o),o})),o&&this._registerAction("spaceTool",(function(){o.toggle()})),r&&this._registerAction("lassoTool",(function(){r.toggle()})),s&&this._registerAction("handTool",(function(){s.toggle()})),a&&this._registerAction("globalConnectTool",(function(){a.toggle()})),i&&l&&this._registerAction("distributeElements",(function(e){var t=i.get(),n=e.type;t.length&&l.trigger(t,n)})),i&&c&&this._registerAction("alignElements",(function(e){var t=i.get(),n=[],o=e.type;t.length&&(n=H(t,(function(e){return!de(e,"bpmn:Lane")})),c.trigger(n,o))})),i&&p&&this._registerAction("setColor",(function(e){var t=i.get();t.length&&p.setColor(t,e)})),i&&u&&this._registerAction("directEditing",(function(){var e=i.get();e.length&&u.activate(e[0])})),h&&this._registerAction("find",(function(){h.toggle()})),t&&p&&this._registerAction("moveToOrigin",(function(){var e,i,o=t.getRootElement();e=Wo(i=de(o,"bpmn:Collaboration")?n.filter((function(e){return de(e.parent,"bpmn:Collaboration")})):n.filter((function(e){return e!==o&&!de(e.parent,"bpmn:SubProcess")}))),p.moveElements(i,{x:-e.x,y:-e.y},o)})),i&&d&&this._registerAction("replaceElement",(function(e){d.triggerEntry("replace","click",e)}))};const kx={__depends__:[_x],editorActions:["type",Ex]};function Sx(e){e.on(["create.init","shape.move.init"],(function(e){var t=e.context;fe(e.shape,["bpmn:Participant","bpmn:SubProcess","bpmn:TextAnnotation"])&&(t.gridSnappingContext||(t.gridSnappingContext={}),t.gridSnappingContext.snapLocation="top-left")}))}function Cx(e,t,n){return n||(n="round"),Math[n](e/t)*t}function Ox(e,t,n){var i=!n||!1!==n.active;this._eventBus=t;var o=this;t.on("diagram.init",800,(function(){o.setActive(i)})),t.on(["create.move","create.end","bendpoint.move.move","bendpoint.move.end","connect.move","connect.end","connectionSegment.move.move","connectionSegment.move.end","resize.move","resize.end","shape.move.move","shape.move.end"],1200,(function(t){var n=t.originalEvent;if(!(!o.active||n&&au(n))){var i=t.context,r=i.gridSnappingContext;r||(r=i.gridSnappingContext={}),["x","y"].forEach((function(n){var i={},r=function(e,t,n){var i=e.context,o=e.shape,r=i.gridSnappingContext,s=r.snapLocation,a=r.snapOffset;return a&&z(a[t])?a[t]:(a||(a=r.snapOffset={}),z(a[t])||(a[t]=0),o?(n.get(o.id)||(Px(t)?a[t]+=o[t]+o.width/2:a[t]+=o[t]+o.height/2),s?("x"===t?/left/.test(s)?a[t]-=o.width/2:/right/.test(s)&&(a[t]+=o.width/2):/top/.test(s)?a[t]-=o.height/2:/bottom/.test(s)&&(a[t]+=o.height/2),a[t]):a[t]):a[t])}(t,n,e);r&&(i.offset=r);var s=function(e,t){var n=e.context,i=n.createConstraints,o=n.resizeConstraints||{},r=n.gridSnappingContext,s=r.snapConstraints;if(s&&s[t])return s[t];s||(s=r.snapConstraints={}),s[t]||(s[t]={});var a=n.direction;i&&(Px(t)?(s.x.min=i.left,s.x.max=i.right):(s.y.min=i.top,s.y.max=i.bottom));var l=o.min,c=o.max;return l&&(Px(t)?Ax(a)?s.x.max=l.left:s.x.min=l.right:Mx(a)?s.y.max=l.top:s.y.min=l.bottom),c&&(Px(t)?Ax(a)?s.x.min=c.left:s.x.max=c.right:Mx(a)?s.y.min=c.top:s.y.max=c.bottom),s[t]}(t,n);s&&ce(i,s),Hd(t,n)||o.snapEvent(t,n,i)}))}}))}function Px(e){return"x"===e}function Mx(e){return-1!==e.indexOf("n")}function Ax(e){return-1!==e.indexOf("w")}function Tx(e,t){ac.call(this,e),this._gridSnapping=t;var n=this;this.preExecute("shape.resize",(function(e){var t=e.context,i=(t.hints||{}).autoResize;if(i){var o=t.shape,r=t.newBounds;F(i)?t.newBounds=n.snapComplex(r,i):t.newBounds=n.snapSimple(o,r)}}))}function Bx(e,t){e.on(["spaceTool.move","spaceTool.end"],2e3,(function(e){var n,i=e.context;i.initialized&&("x"===i.axis?(n=t.snapValue(e.dx),e.x=e.x+n-e.dx,e.dx=n):(n=t.snapValue(e.dy),e.y=e.y+n-e.dy,e.dy=n))}))}Sx.$inject=["eventBus"],Ox.prototype.snapEvent=function(e,t,n){Vd(e,t,this.snapValue(e[t],n))},Ox.prototype.getGridSpacing=function(){return 10},Ox.prototype.snapValue=function(e,t){var n,i,o=0;return t&&t.offset&&(o=t.offset),e=Cx(e+=o,10),t&&t.min&&z(n=t.min)&&(n=Cx(n+o,10,"ceil"),e=Math.max(e,n)),t&&t.max&&z(i=t.max)&&(i=Cx(i+o,10,"floor"),e=Math.min(e,i)),e-o},Ox.prototype.isActive=function(){return this.active},Ox.prototype.setActive=function(e){this.active=e,this._eventBus.fire("gridSnapping.toggle",{active:e})},Ox.prototype.toggleActive=function(){this.setActive(!this.active)},Ox.$inject=["elementRegistry","eventBus","config.gridSnapping"],Tx.$inject=["eventBus","gridSnapping","modeling"],lt(Tx,ac),Tx.prototype.snapSimple=function(e,t){var n=this._gridSnapping;return t.width=n.snapValue(t.width,{min:t.width}),t.height=n.snapValue(t.height,{min:t.height}),t.x=e.x+e.width/2-t.width/2,t.y=e.y+e.height/2-t.height/2,t},Tx.prototype.snapComplex=function(e,t){return/w|e/.test(t)&&(e=this.snapHorizontally(e,t)),/n|s/.test(t)&&(e=this.snapVertically(e,t)),e},Tx.prototype.snapHorizontally=function(e,t){var n=this._gridSnapping,i=/w/.test(t),o=/e/.test(t),r={};return r.width=n.snapValue(e.width,{min:e.width}),o&&(i?(r.x=n.snapValue(e.x,{max:e.x}),r.width+=n.snapValue(e.x-r.x,{min:e.x-r.x})):e.x=e.x+e.width-r.width),ce(e,r),e},Tx.prototype.snapVertically=function(e,t){var n=this._gridSnapping,i=/n/.test(t),o=/s/.test(t),r={};return r.height=n.snapValue(e.height,{min:e.height}),i&&(o?(r.y=n.snapValue(e.y,{max:e.y}),r.height+=n.snapValue(e.y-r.y,{min:e.y-r.y})):e.y=e.y+e.height-r.height),ce(e,r),e},Bx.$inject=["eventBus","gridSnapping"];const Rx={__depends__:[{__init__:["gridSnappingResizeBehavior","gridSnappingSpaceToolBehavior"],gridSnappingResizeBehavior:["type",Tx],gridSnappingSpaceToolBehavior:["type",Bx]}],__init__:["gridSnapping"],gridSnapping:["type",Ox]};function Dx(e,t,n){e.on("autoPlace",2e3,(function(e){var i=e.source,o=Wr(i),r=e.shape,s=Np(i,r,n);return["x","y"].forEach((function(e){var n={};s[e]!==o[e]&&(s[e]>o[e]?n.min=s[e]:n.max=s[e],de(r,"bpmn:TextAnnotation")&&(function(e){return"x"===e}(e)?n.offset=-r.width/2:n.offset=-r.height/2),s[e]=t.snapValue(s[e],n))})),s}))}function Lx(e,t,n){t.on(["create.start","shape.move.start"],1750,(function(t){var i=t.context,o=i.shape,r=e.getRootElement();de(o,"bpmn:Participant")&&de(r,"bpmn:Process")&&r.children.length&&i.createConstraints&&(o.width=n.snapValue(o.width,{min:o.width}),o.height=n.snapValue(o.height,{min:o.height}))}))}function Nx(e,t,n){ac.call(this,e),this._gridSnapping=t;var i=this;this.postExecuted(["connection.create","connection.layout"],3e3,(function(e){var t=e.context,o=t.connection,r=t.hints||{},s=o.waypoints;r.connectionStart||r.connectionEnd||!1===r.createElementsBehavior||function(e){return e.length>3}(s)&&n.updateWaypoints(o,i.snapMiddleSegments(s))}))}function zx(e,t,n){var i=ir(t,n),o={};return function(e){return"h"===e}(i)&&(o.y=e.snapValue(t.y)),function(e){return"v"===e}(i)&&(o.x=e.snapValue(t.x)),("x"in o||"y"in o)&&(t=ce({},t,o),n=ce({},n,o)),[t,n]}Dx.$inject=["eventBus","gridSnapping","elementRegistry"],Lx.$inject=["canvas","eventBus","gridSnapping"],Nx.$inject=["eventBus","gridSnapping","modeling"],lt(Nx,ac),Nx.prototype.snapMiddleSegments=function(e){var t,n=this._gridSnapping;e=e.slice();for(var i=1;i5&&ln(s,{x:r.x,width:r.width}),r.height>5&&ln(s,{y:r.y,height:r.height}),i.canExecute?un(s).remove(t_):un(s).add(t_)})),e.on("resize.cleanup",(function(e){var n,i;i=(n=e.context).shape,n.frame&&Pn(n.frame),t.removeMarker(i,e_)}))}n_.$inject=["eventBus","canvas","previewSupport"];var i_="djs-resizer",o_=["n","w","s","e","nw","ne","se","sw"];function r_(e,t,n,i){this._resize=i,this._canvas=t;var o=this;e.on("selection.changed",(function(e){var t=e.newSelection;o.removeResizers(),1===t.length&&V(t,le(o.addResizer,o))})),e.on("shape.changed",(function(e){var t=e.element;n.isSelected(t)&&(o.removeResizers(),o.addResizer(t))}))}r_.prototype.makeDraggable=function(e,t,n){var i=this._resize;function o(t){qc(t)&&i.activate(t,e,n)}Gt.bind(t,"mousedown",o),Gt.bind(t,"touchstart",o)},r_.prototype._createResizer=function(e,t,n,i){var o=this._getResizersParent(),r=function(e){var t={x:0,y:0};return-1!==e.indexOf("e")?t.x=6:-1!==e.indexOf("w")&&(t.x=-6),-1!==e.indexOf("s")?t.y=6:-1!==e.indexOf("n")&&(t.y=-6),t}(i),s=vn("g");un(s).add(i_),un(s).add(i_+"-"+e.id),un(s).add(i_+"-"+i),on(o,s);var a=vn("rect");ln(a,{x:-4+r.x,y:-4+r.y,width:8,height:8}),un(a).add(i_+"-visual"),on(s,a);var l=vn("rect");return ln(l,{x:-10+r.x,y:-10+r.y,width:20,height:20}),un(l).add(i_+"-hit"),on(s,l),xs(s,t,n),s},r_.prototype.createResizer=function(e,t){var n=Zx(e,t),i=this._createResizer(e,n.x,n.y,t);this.makeDraggable(e,i,t)},r_.prototype.addResizer=function(e){var t=this;!Fr(e)&&this._resize.canResize({shape:e})&&V(o_,(function(n){t.createResizer(e,n)}))},r_.prototype.removeResizers=function(){pn(this._getResizersParent())},r_.prototype._getResizersParent=function(){return this._canvas.getLayer("resizers")},r_.$inject=["eventBus","canvas","selection","resize"];const s_={__depends__:[td,Kp,cf],__init__:["resize","resizePreview","resizeHandles"],resize:["type",Kx],resizePreview:["type",n_],resizeHandles:["type",r_]};function a_(e,t,n,i,o,r,s){function a(e,t){(t||fe(e,["bpmn:Task","bpmn:TextAnnotation","bpmn:Participant"])||l_(e))&&i.activate(e)}this._bpmnFactory=t,this._canvas=n,this._modeling=o,this._textRenderer=s,i.registerProvider(this),e.on("element.dblclick",(function(e){a(e.element,!0)})),e.on(["autoPlace.start","canvas.viewbox.changing","drag.init","element.mousedown","popupMenu.open","root.set","selection.changed"],(function(){i.isActive()&&i.complete()})),e.on(["shape.remove","connection.remove"],2e3,(function(e){i.isActive(e.element)&&i.cancel()})),e.on(["commandStack.changed"],(function(e){i.isActive()&&i.cancel()})),e.on("directEditing.activate",(function(e){r.removeResizers()})),e.on("create.end",500,(function(e){var t=e.context,n=t.shape,i=e.context.canExecute;e.isTouch||i&&(t.hints&&!1===t.hints.createElementsBehavior||a(n))})),e.on("autoPlace.end",500,(function(e){a(e.shape)}))}function l_(e){return de(e,"bpmn:SubProcess")&&!cl(e)}a_.$inject=["eventBus","bpmnFactory","canvas","directEditing","modeling","resizeHandles","textRenderer"],a_.prototype.activate=function(e){var t=wl(e);if(void 0!==t){var n={text:t};ce(n,this.getEditingBBox(e));var i={},o=n.style||{};return ce(o,{backgroundColor:null,border:null}),(fe(e,["bpmn:Task","bpmn:Participant","bpmn:Lane","bpmn:CallActivity"])||l_(e))&&ce(i,{centerVertically:!0}),gl(e)&&(ce(i,{autoResize:!0}),ce(o,{backgroundColor:"#ffffff",border:"1px solid #ccc"})),de(e,"bpmn:TextAnnotation")&&(ce(i,{resizable:!0,autoResize:!0}),ce(o,{backgroundColor:"#ffffff",border:"1px solid #ccc"})),ce(n,{options:i,style:o}),n}},a_.prototype.getEditingBBox=function(e){var t=this._canvas,n=e.label||e,i=t.getAbsoluteBBox(n),o=i.x+i.width/2,r=i.y+i.height/2,s={x:i.x,y:i.y},a=t.zoom(),l=this._textRenderer.getDefaultStyle(),c=this._textRenderer.getExternalStyle(),u=c.fontSize*a,h=c.lineHeight,p=l.fontSize*a,d=l.lineHeight,f={fontFamily:this._textRenderer.getDefaultStyle().fontFamily,fontWeight:this._textRenderer.getDefaultStyle().fontWeight};if(de(e,"bpmn:Lane")||function(e){return de(e,"bpmn:Participant")&&cl(e)}(e)){var m=ul(e);ce(s,m?{width:i.height,height:30*a,x:i.x-i.height/2+15*a,y:r-30*a/2}:{width:i.width,height:30*a}),ce(f,{fontSize:p+"px",lineHeight:d,paddingTop:7*a+"px",paddingBottom:7*a+"px",paddingLeft:5*a+"px",paddingRight:5*a+"px",transform:m?"rotate(-90deg)":null})}if(function(e){return de(e,"bpmn:Participant")&&!cl(e)}(e)){var g=ul(e);ce(s,g?{width:i.width,height:i.height}:{width:i.height,height:i.width,x:o-i.height/2,y:r-i.width/2}),ce(f,{fontSize:p+"px",lineHeight:d,paddingTop:7*a+"px",paddingBottom:7*a+"px",paddingLeft:5*a+"px",paddingRight:5*a+"px",transform:g?null:"rotate(-90deg)"})}(fe(e,["bpmn:Task","bpmn:CallActivity"])||l_(e))&&(ce(s,{width:i.width,height:i.height}),ce(f,{fontSize:p+"px",lineHeight:d,paddingTop:7*a+"px",paddingBottom:7*a+"px",paddingLeft:5*a+"px",paddingRight:5*a+"px"})),function(e){return de(e,"bpmn:SubProcess")&&cl(e)}(e)&&(ce(s,{width:i.width,x:i.x}),ce(f,{fontSize:p+"px",lineHeight:d,paddingTop:7*a+"px",paddingBottom:7*a+"px",paddingLeft:5*a+"px",paddingRight:5*a+"px"}));var v=90*a,y=7*a,b=4*a;if(n.labelTarget&&(ce(s,{width:v,height:i.height+y+b,x:o-v/2,y:i.y-y}),ce(f,{fontSize:u+"px",lineHeight:h,paddingTop:y+"px",paddingBottom:b+"px"})),gl(n)&&!vl(n)&&!$r(n)){var w=yl(e),x=t.getAbsoluteBBox({x:w.x,y:w.y,width:0,height:0}),_=u+y+b;ce(s,{width:v,height:_,x:x.x-v/2,y:x.y-_/2}),ce(f,{fontSize:u+"px",lineHeight:h,paddingTop:y+"px",paddingBottom:b+"px"})}return de(e,"bpmn:TextAnnotation")&&(ce(s,{width:i.width,height:i.height,minWidth:30*a,minHeight:10*a}),ce(f,{textAlign:"left",paddingTop:5*a+"px",paddingBottom:7*a+"px",paddingLeft:7*a+"px",paddingRight:5*a+"px",fontSize:p+"px",lineHeight:d})),{bounds:s,style:f}},a_.prototype.update=function(e,t,n,i){var o,r,s;de(e,"bpmn:TextAnnotation")&&(r=this._canvas.getAbsoluteBBox(e),o={x:e.x,y:e.y,width:e.width/r.width*i.width,height:e.height/r.height*i.height}),(s=t)&&s.trim()||(t=null),this._modeling.updateLabel(e,t,o)};var c_="djs-element-hidden",u_="djs-label-hidden";function h_(e,t,n){var i,o,r,s=this,a=t.getDefaultLayer();e.on("directEditing.activate",(function(e){var l=e.active;if(de(i=l.element.label||l.element,"bpmn:TextAnnotation")){o=t.getAbsoluteBBox(i),r=vn("g");var c=n.getScaledPath("TEXT_ANNOTATION",{xScaleFactor:1,yScaleFactor:1,containerWidth:i.width,containerHeight:i.height,position:{mx:0,my:0}}),u=s.path=vn("path");ln(u,{d:c,strokeWidth:2,stroke:p_(i)}),on(r,u),on(a,r),_s(r,i.x,i.y)}de(i,"bpmn:TextAnnotation")||i.labelTarget?t.addMarker(i,c_):(de(i,"bpmn:Task")||de(i,"bpmn:CallActivity")||de(i,"bpmn:SubProcess")||de(i,"bpmn:Participant")||de(i,"bpmn:Lane"))&&t.addMarker(i,u_)})),e.on("directEditing.resize",(function(e){if(de(i,"bpmn:TextAnnotation")){var t=e.height,r=e.dy,a=Math.max(i.height/o.height*(t+r),0),l=n.getScaledPath("TEXT_ANNOTATION",{xScaleFactor:1,yScaleFactor:1,containerWidth:i.width,containerHeight:a,position:{mx:0,my:0}});ln(s.path,{d:l})}})),e.on(["directEditing.complete","directEditing.cancel"],(function(e){var n=e.active;n&&(t.removeMarker(n.element.label||n.element,c_),t.removeMarker(i,u_)),i=void 0,o=void 0,r&&(Pn(r),r=void 0)}))}function p_(e,t){return ge(e).get("stroke")||t||"black"}h_.$inject=["eventBus","canvas","pathMap"];const d_={__depends__:[sc,s_,jw],__init__:["labelEditingProvider","labelEditingPreview"],labelEditingProvider:["type",a_],labelEditingPreview:["type",h_]};var f_=new Zl("tt");function m_(e,t){e.style.display=!1===t?"none":""}var g_="djs-tooltip",v_="."+g_;function y_(e,t){var n,i;this._eventBus=e,this._canvas=t,this._ids=f_,this._tooltipDefaults={show:{minZoom:.7,maxZoom:5}},this._tooltips={},this._tooltipRoot=(n=t.getContainer(),Rt(i=Kt('
    '),{position:"absolute",width:"0",height:"0"}),n.insertBefore(i,n.firstChild),i);var o=this;Xt.bind(this._tooltipRoot,v_,"mousedown",(function(e){e.stopPropagation()})),Xt.bind(this._tooltipRoot,v_,"mouseover",(function(e){o.trigger("mouseover",e)})),Xt.bind(this._tooltipRoot,v_,"mouseout",(function(e){o.trigger("mouseout",e)})),this._init()}y_.$inject=["eventBus","canvas"],y_.prototype.add=function(e){if(!e.position)throw new Error("must specifiy tooltip position");if(!e.html)throw new Error("must specifiy tooltip html");var t=this._ids.next();return e=ce({},this._tooltipDefaults,e,{id:t}),this._addTooltip(e),e.timeout&&this.setTimeout(e),t},y_.prototype.trigger=function(e,t){var n=t.delegateTarget||t.target,i=this.get(Dt(n,"data-tooltip-id"));i&&("mouseover"===e&&i.timeout&&this.clearTimeout(i),"mouseout"===e&&i.timeout&&(i.timeout=1e3,this.setTimeout(i)))},y_.prototype.get=function(e){return"string"!=typeof e&&(e=e.id),this._tooltips[e]},y_.prototype.clearTimeout=function(e){if(e=this.get(e)){var t=e.removeTimer;t&&(clearTimeout(t),e.removeTimer=null)}},y_.prototype.setTimeout=function(e){if(e=this.get(e)){this.clearTimeout(e);var t=this;e.removeTimer=setTimeout((function(){t.remove(e)}),e.timeout)}},y_.prototype.remove=function(e){var t=this.get(e);t&&(tn(t.html),tn(t.htmlContainer),delete t.htmlContainer,delete this._tooltips[t.id])},y_.prototype.show=function(){m_(this._tooltipRoot)},y_.prototype.hide=function(){m_(this._tooltipRoot,!1)},y_.prototype._updateRoot=function(e){var t=e.scale||1,n=e.scale||1,i="matrix("+t+",0,0,"+n+","+-1*e.x*t+","+-1*e.y*n+")";this._tooltipRoot.style.transform=i,this._tooltipRoot.style["-ms-transform"]=i},y_.prototype._addTooltip=function(e){var t,n=e.id,i=e.html,o=this._tooltipRoot;i.get&&i.constructor.prototype.jquery&&(i=i.get(0)),F(i)&&(i=Kt(i)),Rt(t=Kt('
    '),{position:"absolute"}),t.appendChild(i),e.type&&Nt(t).add("djs-tooltip-"+e.type),e.className&&Nt(t).add(e.className),e.htmlContainer=t,o.appendChild(t),this._tooltips[n]=e,this._updateTooltip(e)},y_.prototype._updateTooltip=function(e){var t=e.position;!function(e,t,n){Rt(e,{left:t+"px",top:n+"px"})}(e.htmlContainer,t.x,t.y)},y_.prototype._updateTooltipVisibilty=function(e){V(this._tooltips,(function(t){var n=t.show,i=t.htmlContainer,o=!0;n&&((n.minZoom>e.scale||n.maxZoom"+o+"
    "}))}))}w_.$inject=["eventBus","tooltips","translate"];const x_={__depends__:[b_],__init__:["modelingFeedback"],modelingFeedback:["type",w_]};var __=Math.round;function E_(e,t,n,i,o){function r(e,t,n,i){return o.allowed("elements.move",{shapes:e,delta:t,position:n,target:i})}function s(e,n,i,o){if(N(i)&&(o=i,i=!1),!n.waypoints&&n.parent&&!un(e.target).has("djs-hit-no-move")){var r=function(e){return{x:e.x+__(e.width/2),y:e.y+__(e.height/2)}}(n);return t.init(e,r,"shape.move",{cursor:"grabbing",autoActivate:i,data:{shape:n,context:o||{}}}),!0}}e.on("shape.move.start",1500,(function(e){var t=e.context,n=e.shape,o=i.get().slice();-1===o.indexOf(n)&&(o=[n]),o=function(e){var t=Z(e,"id");return H(e,(function(e){for(;e=e.parent;)if(t[e.id])return!1;return!0}))}(o),ce(t,{shapes:o,validatedShapes:o,shape:n})})),e.on("shape.move.start",1250,(function(e){var t=e.context,n=t.validatedShapes;if(!(t.canExecute=r(n)))return!1})),e.on("shape.move.move",500,(function(e){var t,n=e.context,i=n.validatedShapes,o=e.hover,s={x:e.dx,y:e.dy};t=r(i,s,{x:e.x,y:e.y},o),n.delta=s,n.canExecute=t,n.target=null!==t?o:null})),e.on("shape.move.end",(function(e){var t=e.context,i=t.delta,o=t.canExecute,r="attach"===o,s=t.shapes;if(!1===o)return!1;i.x=__(i.x),i.y=__(i.y),0===i.x&&0===i.y||n.moveElements(s,i,t.target,{primaryShape:t.shape,attach:r})})),e.on("element.mousedown",(function(e){if(qc(e)){var t=zc(e);if(!t)throw new Error("must supply DOM mousedown event");return s(t,e.element)}})),this.start=s}E_.$inject=["eventBus","dragging","modeling","selection","rules"];var k_="djs-dragging",S_="drop-ok",C_="drop-not-ok",O_="new-parent",P_="attach-ok";function M_(e,t,n,i){function o(e){var t=Vo(e,!0),n=t.flatMap((e=>(e.incoming||[]).concat(e.outgoing||[]))),i=t.concat(n);return[...new Set(i)]}function r(e,n){[P_,S_,C_,O_].forEach((function(i){i===n?t.addMarker(e,i):t.removeMarker(e,i)}))}e.on("shape.move.start",499,(function(e){var r,s=e.context,a=s.shapes,l=s.allDraggedElements,c=H(r=o(a),(function(e){return!Fr(e)||j(r,ne({id:e.source.id}))&&j(r,ne({id:e.target.id}))}));if(!s.dragGroup){var u=vn("g");ln(u,n.cls("djs-drag-group",["no-events"])),on(t.getActiveLayer(),u),s.dragGroup=u}c.forEach((function(e){i.addDragger(e,s.dragGroup)})),V(l=l?M([l,o(a)]):o(a),(function(e){t.addMarker(e,k_)})),s.allDraggedElements=l,s.differentParents=1!==Y(Z(a,(function(e){return e.parent&&e.parent.id}))).length})),e.on("shape.move.move",499,(function(e){var t=e.context,n=t.dragGroup,i=t.target,o=t.shape.parent,s=t.canExecute;i&&("attach"===s?r(i,P_):t.canExecute&&o&&i.id!==o.id?r(i,O_):r(i,t.canExecute?S_:C_)),_s(n,e.dx,e.dy)})),e.on(["shape.move.out","shape.move.cleanup"],(function(e){var t=e.context.target;t&&r(t,null)})),e.on("shape.move.cleanup",(function(e){var n=e.context,i=n.allDraggedElements,o=n.dragGroup;V(i,(function(e){t.removeMarker(e,k_)})),o&&Pn(o)})),this.makeDraggable=function(e,n,o){i.addDragger(n,e.dragGroup),o&&t.addMarker(n,k_),e.allDraggedElements?e.allDraggedElements.push(n):e.allDraggedElements=[n]}}M_.$inject=["eventBus","canvas","styles","previewSupport"];const A_={__depends__:[Xc,tu,Mc,td,Kp,cf],__init__:["move","movePreview"],move:["type",E_],movePreview:["type",M_]};var T_=".djs-palette-toggle",B_=".entry",R_=T_+", "+B_,D_="djs-palette-",L_="open",N_="two-column";function z_(e,t){this._eventBus=e,this._canvas=t;var n=this;e.on("tool-manager.update",(function(e){var t=e.tool;n.updateToolHighlight(t)})),e.on("i18n.changed",(function(){n._update()})),e.on("diagram.init",(function(){n._diagramInitialized=!0,n._rebuild()}))}function I_(e,t){var n=t.getPaletteEntries();return I(n)?n(e):(V(n,(function(t,n){e[n]=t})),e)}z_.$inject=["eventBus","canvas"],z_.prototype.registerProvider=function(e,t){t||(t=e,e=1e3),this._eventBus.on("palette.getProviders",e,(function(e){e.providers.push(t)})),this._rebuild()},z_.prototype.getEntries=function(){return this._getProviders().reduce(I_,{})},z_.prototype._rebuild=function(){this._diagramInitialized&&this._getProviders().length&&(this._container||this._init(),this._update())},z_.prototype._init=function(){var e=this,t=this._eventBus,n=this._getParentContainer(),i=this._container=Kt(z_.HTML_MARKUP);n.appendChild(i),Nt(n).add(D_+"shown"),Xt.bind(i,R_,"click",(function(t){if(Zt(t.delegateTarget,T_))return e.toggle();e.trigger("click",t)})),Gt.bind(i,"mousedown",(function(e){e.stopPropagation()})),Xt.bind(i,B_,"dragstart",(function(t){e.trigger("dragstart",t)})),t.on("canvas.resized",this._layoutChanged,this),t.fire("palette.create",{container:i})},z_.prototype._getProviders=function(e){var t=this._eventBus.createEvent({type:"palette.getProviders",providers:[]});return this._eventBus.fire(t),t.providers},z_.prototype._toggleState=function(e){e=e||{};var t,n=this._getParentContainer(),i=this._container,o=this._eventBus,r=Nt(i),s=Nt(n);t="twoColumn"in e?e.twoColumn:this._needsCollapse(n.clientHeight,this._entries||{}),r.toggle(N_,t),s.toggle(D_+N_,t),"open"in e&&(r.toggle(L_,e.open),s.toggle(D_+L_,e.open)),o.fire("palette.changed",{twoColumn:t,open:this.isOpen()})},z_.prototype._update=function(){var e=Jt(".djs-palette-entries",this._container),t=this._entries=this.getEntries();It(e),V(t,(function(t,n){var i=t.group||"default",o=Jt("[data-group="+hc(i)+"]",e);o||(Dt(o=Kt('
    '),"data-group",i),e.appendChild(o));var r=t.html||(t.separator?'
    ':'
    '),s=Kt(r);if(o.appendChild(s),!t.separator&&(Dt(s,"data-action",n),t.title&&Dt(s,"title",t.title),t.className&&function(e,t){var n=Nt(e);(L(t)?t:t.split(/\s+/g)).forEach((function(e){n.add(e)}))}(s,t.className),t.imageUrl)){var a=Kt("");Dt(a,"src",t.imageUrl),s.appendChild(a)}})),this.open()},z_.prototype.trigger=function(e,t,n){var i,o,r=t.delegateTarget||t.target;return r?(i=Dt(r,"data-action"),o=t.originalEvent||t,this.triggerEntry(i,e,o,n)):t.preventDefault()},z_.prototype.triggerEntry=function(e,t,n,i){var o,r;if((o=this._entries[e])&&(r=o.action,!1!==this._eventBus.fire("palette.trigger",{entry:o,event:n}))){if(I(r)){if("click"===t)return r(n,i)}else if(r[t])return r[t](n,i);n.preventDefault()}},z_.prototype._layoutChanged=function(){this._toggleState({})},z_.prototype._needsCollapse=function(e,t){return e<46*Object.keys(t).length+50},z_.prototype.close=function(){this._toggleState({open:!1,twoColumn:!1})},z_.prototype.open=function(){this._toggleState({open:!0})},z_.prototype.toggle=function(){this.isOpen()?this.close():this.open()},z_.prototype.isActiveTool=function(e){return e&&this._activeTool===e},z_.prototype.updateToolHighlight=function(e){var t;this._toolsContainer||(t=Jt(".djs-palette-entries",this._container),this._toolsContainer=Jt("[data-group=tools]",t)),V(this._toolsContainer.children,(function(t){var n=t.getAttribute("data-action");if(n){var i=Nt(t);n=n.replace("-tool",""),i.contains("entry")&&n===e?i.add("highlighted-entry"):i.remove("highlighted-entry")}}))},z_.prototype.isOpen=function(){return Nt(this._container).has(L_)},z_.prototype._getParentContainer=function(){return this._canvas.getContainer()},z_.HTML_MARKUP='
    ';const F_={__init__:["palette"],palette:["type",z_]};var $_="crosshair";function j_(e,t,n,i,o,r,s){this._selection=o,this._dragging=n,this._mouse=s;var a=this;r.registerTool("lasso",{tool:"lasso.selection",dragging:"lasso"}),e.on("lasso.selection.end",(function(t){var n=t.originalEvent.target;(t.hover||n instanceof SVGElement)&&e.once("lasso.selection.ended",(function(){a.activateLasso(t.originalEvent,!0)}))})),e.on("lasso.end",0,(function(e){var t=e.context,n=q_(e),o=i.filter((function(e){return e})),r=Vc(e);a.select(o,n,r?t.selection:[])})),e.on("lasso.start",(function(e){var n=e.context;n.bbox=q_(e),function(e){var n,i=t.getActiveLayer();ln(n=e.frame=vn("rect"),{class:"djs-lasso-overlay",width:1,height:1,x:0,y:0}),on(i,n)}(n),n.selection=o.get()})),e.on("lasso.move",(function(e){var t=e.context;t.bbox=q_(e),function(e){var t=e.frame,n=e.bbox;ln(t,{x:n.x,y:n.y,width:n.width,height:n.height})}(t)})),e.on("lasso.cleanup",(function(e){!function(e){e.frame&&Pn(e.frame)}(e.context)})),e.on("element.mousedown",1500,(function(e){if(Vc(e))return a.activateLasso(e.originalEvent),!0}))}function q_(e){var t={x:e.x-e.dx,y:e.y-e.dy},n={x:e.x,y:e.y};return t.x<=n.x&&t.y=n.x&&t.yn.x&&t.y<=n.y?{x:n.x,y:t.y,width:t.x-n.x,height:n.y-t.y}:t.x<=n.x&&t.y>n.y||t.x=n.y?{x:t.x,y:n.y,width:n.x-t.x,height:t.y-n.y}:t.x>=n.x&&t.y>n.y||t.x>n.x&&t.y>=n.y?{x:n.x,y:n.y,width:t.x-n.x,height:t.y-n.y}:{x:n.x,y:n.y,width:0,height:0}}j_.$inject=["eventBus","canvas","dragging","elementRegistry","selection","toolManager","mouse"],j_.prototype.activateLasso=function(e,t){this._dragging.init(e,"lasso",{autoActivate:t,cursor:$_,data:{context:{}}})},j_.prototype.activateSelection=function(e,t){this._dragging.init(e,"lasso.selection",{trapClick:!1,autoActivate:t,cursor:$_,data:{context:{}},keepSelection:!0})},j_.prototype.select=function(e,t,n=[]){var i=function(e,t){var n={};return V(e,(function(e){var i=e;i.waypoints&&(i=Wo(i)),!z(t.y)&&i.x>t.x&&(n[e.id]=e),!z(t.x)&&i.y>t.y&&(n[e.id]=e),i.x>t.x&&i.y>t.y&&(z(t.width)&&z(t.height)&&i.width+i.xt[i]+o-n&&Vd(e,i,t[i]+o-n)}))}(e,r,function(e){return de(e,"bpmn:Task")?10:20}(r)),r&&(t=i,X(["bpmn:Association","bpmn:DataInputAssociation","bpmn:DataOutputAssociation","bpmn:SequenceFlow"],(function(e){return aE(t,e)})))?(n.connectionStart=qd(o),fe(r,["bpmn:Event","bpmn:Gateway"])&&sE(e,qd(r)),fe(r,["bpmn:Task","bpmn:SubProcess"])&&function(e,t){var n=qd(t);iE.forEach((function(i){(function(e,t,n){return e[n]>t[n]+20&&e[n]o[t]?o[t]+40:o[t]-40,Vd(e,t,n))}))}}(e)):aE(i,"bpmn:MessageFlow")?(de(o,"bpmn:Event")&&(n.connectionStart=qd(o)),de(r,"bpmn:Event")&&sE(e,qd(r))):n.connectionStart=n.initialConnectionStart)}))}function sE(e,t){Vd(e,"x",t.x),Vd(e,"y",t.y)}function aE(e,t){return e&&e.type===t}function lE(e,t){return"x"===e?t.width:t.height}function cE(){this._targets={},this._snapOrigins={},this._snapLocations=[],this._defaultSnaps={}}function uE(){this._snapValues={}}rE.$inject=["eventBus"],cE.prototype.getSnapOrigin=function(e){return this._snapOrigins[e]},cE.prototype.setSnapOrigin=function(e,t){this._snapOrigins[e]=t,-1===this._snapLocations.indexOf(e)&&this._snapLocations.push(e)},cE.prototype.addDefaultSnap=function(e,t){var n=this._defaultSnaps[e];n||(n=this._defaultSnaps[e]=[]),n.push(t)},cE.prototype.getSnapLocations=function(){return this._snapLocations},cE.prototype.setSnapLocations=function(e){this._snapLocations=e},cE.prototype.pointsForTarget=function(e){var t=e.id||e,n=this._targets[t];return n||(n=this._targets[t]=new uE).initDefaults(this._defaultSnaps),n},uE.prototype.add=function(e,t){var n=this._snapValues[e];n||(n=this._snapValues[e]={x:[],y:[]}),-1===n.x.indexOf(t.x)&&n.x.push(t.x),-1===n.y.indexOf(t.y)&&n.y.push(t.y)},uE.prototype.snap=function(e,t,n,i){var o=this._snapValues[t];return o&&function(e,t,n){var i,o;for(n=void 0===n?10:n,i=0;i=e.x||i&&i<=e.x)&&Vd(e,"x",e.x),(n&&n>=e.y||o&&o<=e.y)&&Vd(e,"y",e.y)}}function mE(e,t){return-1!==e.indexOf(t)}function gE(e,t,n){return t?{x:e.x-n.x,y:e.y-n.y}:{x:e.x,y:e.y}}function vE(e,t){var n=this;e.on(["resize.start"],(function(e){n.initSnap(e)})),e.on(["resize.move","resize.end"],1250,(function(e){var i=e.context,o=i.shape,r=o.parent,s=i.direction,a=i.snapContext;if(!(e.originalEvent&&au(e.originalEvent)||Hd(e))){var l=a.pointsForTarget(r);l.initialized||((l=n.addSnapTargetPoints(l,o,r,s)).initialized=!0),function(e){return"n"===e||"s"===e}(s)&&Vd(e,"x",e.x),function(e){return"e"===e||"w"===e}(s)&&Vd(e,"y",e.y),t.snap(e,l)}})),e.on(["resize.cleanup"],(function(){t.hide()}))}function yE(e,t){var n=Wr(e),i=Hr(e),o={x:n.x,y:n.y};return-1!==t.indexOf("n")?o.y=i.top:-1!==t.indexOf("s")&&(o.y=i.bottom),-1!==t.indexOf("e")?o.x=i.right:-1!==t.indexOf("w")&&(o.x=i.left),o}function bE(e){this._canvas=e,this._asyncHide=ae(le(this.hide,this),1e3)}pE.$inject=["elementRegistry","eventBus","snapping"],pE.prototype.initSnap=function(e){var t,n=this._elementRegistry,i=e.context,o=i.shape,r=i.snapContext;r||(r=i.snapContext=new cE);var s=(t=n.get(o.id)?qd(o,e):{x:e.x+qd(o).x,y:e.y+qd(o).y}).x-o.width/2,a=t.y-o.height/2,l=t.x+o.width/2,c=t.y+o.height/2;return r.setSnapOrigin("mid",{x:t.x-e.x,y:t.y-e.y}),$r(o)||(r.setSnapOrigin("top-left",{x:s-e.x,y:a-e.y}),r.setSnapOrigin("bottom-right",{x:l-e.x,y:c-e.y})),r},pE.prototype.addSnapTargetPoints=function(e,t,n){return V(this.getSnapTargets(t,n),(function(n){if($r(n))$r(t)&&e.add("mid",qd(n));else if(Fr(n)){if(n.waypoints.length<3)return;V(n.waypoints.slice(1,-1),(function(t){e.add("mid",t)}))}else e.add("mid",qd(n))})),z(t.x)&&z(t.y)?(this._elementRegistry.get(t.id)&&e.add("mid",qd(t)),e):e},pE.prototype.getSnapTargets=function(e,t){return Wd(t).filter((function(e){return!e.hidden}))},lt(dE,pE),dE.$inject=["eventBus","injector"],dE.prototype.initSnap=function(e){var t=pE.prototype.initSnap.call(this,e),n=e.shape,i=!!this._elementRegistry.get(n.id);return V(n.outgoing,(function(n){var o=n.waypoints[0];o=o.original||o,t.setSnapOrigin(n.id+"-docking",gE(o,i,e))})),V(n.incoming,(function(n){var o=n.waypoints[n.waypoints.length-1];o=o.original||o,t.setSnapOrigin(n.id+"-docking",gE(o,i,e))})),de(n,"bpmn:Participant")&&t.setSnapLocations(["top-left","bottom-right","mid"]),t},dE.prototype.addSnapTargetPoints=function(e,t,n){pE.prototype.addSnapTargetPoints.call(this,e,t,n);var i=this.getSnapTargets(t,n);V(i,(function(n){var i;(de(i=n,"bpmn:SubProcess")&&cl(i)||de(i,"bpmn:Participant")||("bpmn:TextAnnotation",[t,n].every((function(e){return de(e,"bpmn:TextAnnotation")}))))&&(e.add("top-left",$d(n)),e.add("bottom-right",jd(n)))}));var o=this._elementRegistry;return V(t.incoming,(function(n){if(o.get(t.id)){mE(i,n.source)||e.add("mid",Wr(n.source));var r=n.waypoints[0];e.add(n.id+"-docking",r.original||r)}})),V(t.outgoing,(function(n){if(o.get(t.id)){mE(i,n.target)||e.add("mid",Wr(n.target));var r=n.waypoints[n.waypoints.length-1];e.add(n.id+"-docking",r.original||r)}})),de(n,"bpmn:SequenceFlow")&&(e=this.addSnapTargetPoints(e,t,n.parent)),e},dE.prototype.getSnapTargets=function(e,t){return pE.prototype.getSnapTargets.call(this,e,t).filter((function(e){return!de(e,"bpmn:Lane")}))},vE.prototype.initSnap=function(e){var t=e.context,n=t.shape,i=t.direction,o=t.snapContext;o||(o=t.snapContext=new cE);var r=yE(n,i);return o.setSnapOrigin("corner",{x:r.x-e.x,y:r.y-e.y}),o},vE.prototype.addSnapTargetPoints=function(e,t,n,i){return V(this.getSnapTargets(t,n),(function(t){e.add("corner",jd(t)),e.add("corner",$d(t))})),e.add("corner",yE(t,i)),e},vE.$inject=["eventBus","snapping"],vE.prototype.getSnapTargets=function(e,t){return Wd(t).filter((function(t){return n=e,!(t.host===n||Fr(t)||function(e){return!!e.hidden}(t)||$r(t));var n}))},bE.$inject=["canvas"],bE.prototype.snap=function(e,t){var n=e.context.snapContext,i=n.getSnapLocations(),o={x:Hd(e,"x"),y:Hd(e,"y")};V(i,(function(i){var r=n.getSnapOrigin(i),s={x:e.x+r.x,y:e.y+r.y};if(V(["x","y"],(function(e){var n;o[e]||void 0!==(n=t.snap(s,i,e,7))&&(o[e]={value:n,originValue:n-r[e]})})),o.x&&o.y)return!1})),this.showSnapLine("vertical",o.x&&o.x.value),this.showSnapLine("horizontal",o.y&&o.y.value),V(["x","y"],(function(t){var n=o[t];N(n)&&Vd(e,t,n.originValue)}))},bE.prototype._createLine=function(e){var t=this._canvas.getLayer("snap"),n=vn("path");return ln(n,{d:"M0,0 L0,0"}),un(n).add("djs-snap-line"),on(t,n),{update:function(t){z(t)?ln(n,"horizontal"===e?{d:"M-100000,"+t+" L+100000,"+t,display:""}:{d:"M "+t+",-100000 L "+t+", +100000",display:""}):ln(n,{display:"none"})}}},bE.prototype._createSnapLines=function(){this._snapLines={horizontal:this._createLine("horizontal"),vertical:this._createLine("vertical")}},bE.prototype.showSnapLine=function(e,t){var n=this.getSnapLine(e);n&&n.update(t),this._asyncHide()},bE.prototype.getSnapLine=function(e){return this._snapLines||this._createSnapLines(),this._snapLines[e]},bE.prototype.hide=function(){V(this._snapLines,(function(e){e.update()}))};const wE={__depends__:[{__init__:["createMoveSnapping","resizeSnapping","snapping"],createMoveSnapping:["type",pE],resizeSnapping:["type",vE],snapping:["type",bE]}],__init__:["connectSnapping","createMoveSnapping"],connectSnapping:["type",rE],createMoveSnapping:["type",dE]};function xE(e,t,n,i){this._open=!1,this._results={},this._eventMaps=[],this._cachedRootElement=null,this._cachedSelection=null,this._cachedViewbox=null,this._canvas=e,this._eventBus=t,this._selection=n,this._translate=i,this._container=this._getBoxHtml(),this._searchInput=Jt(xE.INPUT_SELECTOR,this._container),this._resultsContainer=Jt(xE.RESULTS_CONTAINER_SELECTOR,this._container),this._canvas.getContainer().appendChild(this._container),t.on(["canvas.destroy","diagram.destroy","drag.init","elements.changed"],this.close,this)}function _E(e,t,n){var i=function(e){var t="";return e.forEach((function(e){e.matched?t+=''+dc(e.matched)+"":t+=dc(e.normal)})),""!==t?t:null}(t),o=Kt(n);o.innerHTML=i,e.appendChild(o)}xE.$inject=["canvas","eventBus","selection","translate"],xE.prototype._bindEvents=function(){var e=this;function t(t,n,i,o){e._eventMaps.push({el:t,type:i,listener:Xt.bind(t,n,i,o)})}t(document,"html","click",(function(t){e.close(!1)})),t(this._container,xE.INPUT_SELECTOR,"click",(function(e){e.stopPropagation(),e.delegateTarget.focus()})),t(this._container,xE.RESULT_SELECTOR,"mouseover",(function(t){t.stopPropagation(),e._scrollToNode(t.delegateTarget),e._preselect(t.delegateTarget)})),t(this._container,xE.RESULT_SELECTOR,"click",(function(t){t.stopPropagation(),e._select(t.delegateTarget)})),t(this._container,xE.INPUT_SELECTOR,"keydown",(function(e){lu("ArrowUp",e)&&e.preventDefault(),lu("ArrowDown",e)&&e.preventDefault()})),t(this._container,xE.INPUT_SELECTOR,"keyup",(function(t){if(lu("Escape",t))return e.close();if(lu("Enter",t)){var n=e._getCurrentResult();return n?e._select(n):e.close(!1)}return lu("ArrowUp",t)?e._scrollToDirection(!0):lu("ArrowDown",t)?e._scrollToDirection():void(lu(["ArrowLeft","ArrowRight"],t)||e._search(t.delegateTarget.value))}))},xE.prototype._unbindEvents=function(){this._eventMaps.forEach((function(e){Xt.unbind(e.el,e.type,e.listener)}))},xE.prototype._search=function(e){var t=this;if(this._clearResults(),e&&""!==e){var n=this._searchProvider.find(e);if(!(n=n.filter((function(e){return!t._canvas.getRootElements().includes(e.element)}))).length)return this._clearMarkers(),void this._selection.select(null);n.forEach((function(e){var n=e.element.id,i=t._createResultNode(e,n);t._results[n]={element:e.element,node:i}}));var i=Jt(xE.RESULT_SELECTOR,this._resultsContainer);this._scrollToNode(i),this._preselect(i)}},xE.prototype._scrollToDirection=function(e){var t=this._getCurrentResult();if(t){var n=e?t.previousElementSibling:t.nextElementSibling;n&&(this._scrollToNode(n),this._preselect(n))}},xE.prototype._scrollToNode=function(e){if(e&&e!==this._getCurrentResult()){var t=e.offsetTop,n=this._resultsContainer.scrollTop,i=t-this._resultsContainer.clientHeight+e.clientHeight;t0&&_E(n,e.primaryTokens,xE.RESULT_PRIMARY_HTML),_E(n,e.secondaryTokens,xE.RESULT_SECONDARY_HTML),Dt(n,xE.RESULT_ID_ATTRIBUTE,t),this._resultsContainer.appendChild(n),n},xE.prototype.registerProvider=function(e){this._searchProvider=e},xE.prototype.open=function(){if(!this._searchProvider)throw new Error("no search provider registered");this.isOpen()||(this._cachedRootElement=this._canvas.getRootElement(),this._cachedSelection=this._selection.get(),this._cachedViewbox=this._canvas.viewbox(),this._bindEvents(),this._open=!0,Nt(this._canvas.getContainer()).add("djs-search-open"),Nt(this._container).add("open"),this._searchInput.focus(),this._eventBus.fire("searchPad.opened"))},xE.prototype.close=function(e=!0){this.isOpen()&&(e&&(this._cachedRootElement&&this._canvas.setRootElement(this._cachedRootElement),this._cachedSelection&&this._selection.select(this._cachedSelection),this._cachedViewbox&&this._canvas.viewbox(this._cachedViewbox),this._eventBus.fire("searchPad.restored")),this._cachedRootElement=null,this._cachedSelection=null,this._cachedViewbox=null,this._unbindEvents(),this._open=!1,Nt(this._canvas.getContainer()).remove("djs-search-open"),Nt(this._container).remove("open"),this._clearMarkers(),this._clearResults(),this._searchInput.value="",this._searchInput.blur(),this._eventBus.fire("searchPad.closed"))},xE.prototype.toggle=function(){this.isOpen()?this.close():this.open()},xE.prototype.isOpen=function(){return this._open},xE.prototype._preselect=function(e){var t=this._getCurrentResult();if(e!==t){this._clearMarkers(),t&&Nt(t).remove(xE.RESULT_SELECTED_CLASS);var n=Dt(e,xE.RESULT_ID_ATTRIBUTE),i=this._results[n].element;Nt(e).add(xE.RESULT_SELECTED_CLASS),this._canvas.scrollToElement(i,{top:300}),this._selection.select(i),this._canvas.addMarker(i,"djs-search-preselected"),this._eventBus.fire("searchPad.preselected",i)}},xE.prototype._select=function(e){var t=Dt(e,xE.RESULT_ID_ATTRIBUTE),n=this._results[t].element;this._cachedSelection=null,this._cachedViewbox=null,this.close(!1),this._canvas.scrollToElement(n,{top:300}),this._selection.select(n),this._eventBus.fire("searchPad.selected",n)},xE.prototype._getBoxHtml=function(){const e=Kt(xE.BOX_HTML),t=Jt(xE.INPUT_SELECTOR,e);return t&&t.setAttribute("aria-label",this._translate("Search in diagram")),e},xE.CONTAINER_SELECTOR=".djs-search-container",xE.INPUT_SELECTOR=".djs-search-input input",xE.RESULTS_CONTAINER_SELECTOR=".djs-search-results",xE.RESULT_SELECTOR=".djs-search-result",xE.RESULT_SELECTED_CLASS="djs-search-result-selected",xE.RESULT_SELECTED_SELECTOR="."+xE.RESULT_SELECTED_CLASS,xE.RESULT_ID_ATTRIBUTE="data-result-id",xE.RESULT_HIGHLIGHT_CLASS="djs-search-highlight",xE.BOX_HTML='
    \n
    \n \n \n \n \n
    \n
    \n
    ',xE.RESULT_HTML='
    ',xE.RESULT_PRIMARY_HTML='
    ',xE.RESULT_SECONDARY_HTML='

    ';const EE={__depends__:[Gl,oc,tu],searchPad:["type",xE]};function kE(e,t,n){this._elementRegistry=e,this._canvas=n,t.registerProvider(this)}function SE(e){return"matched"in e}function CE(e){return e.find(SE)}function OE(e,t){const n=CE(e),i=CE(t);if(n&&!i)return-1;if(!n&&i)return 1;if(!n&&!i)return 0;const o=e.find(SE),r=t.find(SE);return o.indexr.index?1:0}function PE(e="",t=""){return e.localeCompare(t)}function ME(e,t){var n=[],i=e;if(!e)return n;e=e.toLowerCase(),t=t.toLowerCase();var o=e.indexOf(t);return o>-1?(0!==o&&n.push({normal:i.slice(0,o),index:0}),n.push({matched:i.slice(o,o+t.length),index:o}),t.length+o')},TE.prototype._interactionModules=[yu,Ou,Ru],TE.prototype._modelingModules=[_p,Fp,Jp,Vp,Ud,tf,of,ux,zv,Sv,yx,kx,Ix,$x,qx,Yx,d_,ww,x_,A_,eE,nE,s_,wE,AE],TE.prototype._modules=[].concat(nu.prototype._modules,TE.prototype._interactionModules,TE.prototype._modelingModules),BE.$inject=["config.exporter","eventBus"];const RE={__init__:[BE]};var DE,LE,NE,zE,IE,FE,$E,jE,qE={},HE=[],VE=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,WE=Array.isArray;function GE(e,t){for(var n in t)e[n]=t[n];return e}function QE(e){var t=e.parentNode;t&&t.removeChild(e)}function XE(e,t,n){var i,o,r,s={};for(r in t)"key"==r?i=t[r]:"ref"==r?o=t[r]:s[r]=t[r];if(arguments.length>2&&(s.children=arguments.length>3?DE.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(r in e.defaultProps)void 0===s[r]&&(s[r]=e.defaultProps[r]);return UE(e,s,i,o,null)}function UE(e,t,n,i,o){var r={type:e,props:t,key:n,ref:i,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==o?++NE:o,__i:-1,__u:0};return null==o&&null!=LE.vnode&&LE.vnode(r),r}function YE(e){return e.children}function KE(e,t){this.props=e,this.context=t}function ZE(e,t){if(null==t)return e.__?ZE(e.__,e.__i+1):null;for(var n;tt&&zE.sort($E));tk.__r=0}function nk(e,t,n,i,o,r,s,a,l,c,u){var h,p,d,f,m,g=i&&i.__k||HE,v=t.length;for(n.__d=l,function(e,t,n){var i,o,r,s,a,l=t.length,c=n.length,u=c,h=0;for(e.__k=[],i=0;i0?UE(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):o)?(o.__=e,o.__b=e.__b+1,a=rk(o,n,s=i+h,u),o.__i=a,r=null,-1!==a&&(u--,(r=n[a])&&(r.__u|=131072)),null==r||null===r.__v?(-1==a&&h--,"function"!=typeof o.type&&(o.__u|=65536)):a!==s&&(a===s+1?h++:a>s?u>l-s?h+=a-s:h--:h=a(null==l||131072&l.__u?0:1))for(;s>=0||a=0){if((l=t[s])&&!(131072&l.__u)&&o==l.key&&r===l.type)return s;s--}if(a=n.__.length&&n.__.push({__V:Ek}),n.__[e]}function Ak(e){return xk=1,function(e,t,n){var i=Mk(vk++,2);if(i.t=e,!i.__c&&(i.__=[n?n(t):Hk(void 0,t),function(e){var t=i.__N?i.__N[0]:i.__[0],n=i.t(t,e);t!==n&&(i.__N=[n,i.__[1]],i.__c.setState({}))}],i.__c=yk,!yk.u)){var o=function(e,t,n){if(!i.__c.__H)return!0;var o=i.__c.__H.__.filter((function(e){return e.__c}));if(o.every((function(e){return!e.__N})))return!r||r.call(this,e,t,n);var s=!1;return o.forEach((function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(s=!0)}})),!(!s&&i.__c.props===e)&&(!r||r.call(this,e,t,n))};yk.u=!0;var r=yk.shouldComponentUpdate,s=yk.componentWillUpdate;yk.componentWillUpdate=function(e,t,n){if(this.__e){var i=r;r=void 0,o(e,t,n),r=i}s&&s.call(this,e,t,n)},yk.shouldComponentUpdate=o}return i.__N||i.__}(Hk,e)}function Tk(e,t){var n=Mk(vk++,3);!LE.__s&&qk(n.__H,t)&&(n.__=e,n.i=t,yk.__H.__h.push(n))}function Bk(e,t){var n=Mk(vk++,4);!LE.__s&&qk(n.__H,t)&&(n.__=e,n.i=t,yk.__h.push(n))}function Rk(e){return xk=5,Dk((function(){return{current:e}}),[])}function Dk(e,t){var n=Mk(vk++,7);return qk(n.__H,t)?(n.__V=e(),n.i=t,n.__h=e,n.__V):n.__}function Lk(e,t){return xk=8,Dk((function(){return e}),t)}function Nk(e){var t=yk.context[e.__c],n=Mk(vk++,9);return n.c=e,t?(null==n.__&&(n.__=!0,t.sub(yk)),t.props.value):e.__}function zk(){for(var e;e=_k.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach($k),e.__H.__h.forEach(jk),e.__H.__h=[]}catch(t){e.__H.__h=[],LE.__e(t,e.__v)}}LE.__b=function(e){yk=null,kk&&kk(e)},LE.__r=function(e){Sk&&Sk(e),vk=0;var t=(yk=e.__c).__H;t&&(bk===yk?(t.__h=[],yk.__h=[],t.__.forEach((function(e){e.__N&&(e.__=e.__N),e.__V=Ek,e.__N=e.i=void 0}))):(t.__h.forEach($k),t.__h.forEach(jk),t.__h=[],vk=0)),bk=yk},LE.diffed=function(e){Ck&&Ck(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(1!==_k.push(t)&&wk===LE.requestAnimationFrame||((wk=LE.requestAnimationFrame)||Fk)(zk)),t.__H.__.forEach((function(e){e.i&&(e.__H=e.i),e.__V!==Ek&&(e.__=e.__V),e.i=void 0,e.__V=Ek}))),bk=yk=null},LE.__c=function(e,t){t.some((function(e){try{e.__h.forEach($k),e.__h=e.__h.filter((function(e){return!e.__||jk(e)}))}catch(n){t.some((function(e){e.__h&&(e.__h=[])})),t=[],LE.__e(n,e.__v)}})),Ok&&Ok(e,t)},LE.unmount=function(e){Pk&&Pk(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach((function(e){try{$k(e)}catch(e){t=e}})),n.__H=void 0,t&&LE.__e(t,n.__v))};var Ik="function"==typeof requestAnimationFrame;function Fk(e){var t,n=function(){clearTimeout(i),Ik&&cancelAnimationFrame(t),setTimeout(e)},i=setTimeout(n,100);Ik&&(t=requestAnimationFrame(n))}function $k(e){var t=yk,n=e.__c;"function"==typeof n&&(e.__c=void 0,n()),yk=t}function jk(e){var t=yk;e.__c=e.__(),yk=t}function qk(e,t){return!e||e.length!==t.length||t.some((function(t,n){return t!==e[n]}))}function Hk(e,t){return"function"==typeof t?t(e):t}function Vk(e,t){for(var n in t)e[n]=t[n];return e}function Wk(e,t){for(var n in e)if("__source"!==n&&!(n in t))return!0;for(var i in t)if("__source"!==i&&e[i]!==t[i])return!0;return!1}function Gk(e){this.props=e}(Gk.prototype=new KE).isPureReactComponent=!0,Gk.prototype.shouldComponentUpdate=function(e,t){return Wk(this.props,e)||Wk(this.state,t)};var Qk=LE.__b;LE.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),Qk&&Qk(e)};var Xk="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function Uk(e){function t(t){var n=Vk({},t);return delete n.ref,e(n,t.ref||null)}return t.$$typeof=Xk,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t}var Yk=LE.__e;LE.__e=function(e,t,n,i){if(e.then)for(var o,r=t;r=r.__;)if((o=r.__c)&&o.__c)return null==t.__e&&(t.__e=n.__e,t.__k=n.__k),o.__c(e,t);Yk(e,t,n,i)};var Kk=LE.unmount;function Zk(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach((function(e){"function"==typeof e.__c&&e.__c()})),e.__c.__H=null),null!=(e=Vk({},e)).__c&&(e.__c.__P===n&&(e.__c.__P=t),e.__c=null),e.__k=e.__k&&e.__k.map((function(e){return Zk(e,t,n)}))),e}function Jk(e,t,n){return e&&n&&(e.__v=null,e.__k=e.__k&&e.__k.map((function(e){return Jk(e,t,n)})),e.__c&&e.__c.__P===t&&(e.__e&&n.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=n)),e}function eS(){this.__u=0,this.t=null,this.__b=null}function tS(e){var t=e.__.__c;return t&&t.__a&&t.__a(e)}function nS(){this.u=null,this.o=null}LE.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),Kk&&Kk(e)},(eS.prototype=new KE).__c=function(e,t){var n=t.__c,i=this;null==i.t&&(i.t=[]),i.t.push(n);var o=tS(i.__v),r=!1,s=function(){r||(r=!0,n.__R=null,o?o(a):a())};n.__R=s;var a=function(){if(! --i.__u){if(i.state.__a){var e=i.state.__a;i.__v.__k[0]=Jk(e,e.__c.__P,e.__c.__O)}var t;for(i.setState({__a:i.__b=null});t=i.t.pop();)t.forceUpdate()}};i.__u++||32&t.__u||i.setState({__a:i.__b=i.__v.__k[0]}),e.then(s,s)},eS.prototype.componentWillUnmount=function(){this.t=[]},eS.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),i=this.__v.__k[0].__c;this.__v.__k[0]=Zk(this.__b,n,i.__O=i.__P)}this.__b=null}var o=t.__a&&XE(YE,null,e.fallback);return o&&(o.__u&=-33),[XE(YE,null,t.__a?null:e.children),o]};var iS=function(e,t,n){if(++n[1]===n[0]&&e.o.delete(t),e.props.revealOrder&&("t"!==e.props.revealOrder[0]||!e.o.size))for(n=e.u;n;){for(;n.length>3;)n.pop()();if(n[1]>>1,1),t.i.removeChild(e)}}),mk(XE(oS,{context:t.context},e.__v),t.l)}function sS(e,t){var n=XE(rS,{__v:e,i:t});return n.containerInfo=t,n}(nS.prototype=new KE).__a=function(e){var t=this,n=tS(t.__v),i=t.o.get(e);return i[0]++,function(o){var r=function(){t.props.revealOrder?(i.push(o),iS(t,e,i)):o()};n?n(r):r()}},nS.prototype.render=function(e){this.u=null,this.o=new Map;var t=ok(e.children);e.revealOrder&&"b"===e.revealOrder[0]&&t.reverse();for(var n=t.length;n--;)this.o.set(t[n],this.u=[1,0,this.u]);return e.children},nS.prototype.componentDidUpdate=nS.prototype.componentDidMount=function(){var e=this;this.o.forEach((function(t,n){iS(e,n,t)}))};var aS="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,lS=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,cS=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,uS=/[A-Z0-9]/g,hS="undefined"!=typeof document,pS=function(e){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/:/fil|che|ra/).test(e)};KE.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach((function(e){Object.defineProperty(KE.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})}));var dS=LE.event;function fS(){}function mS(){return this.cancelBubble}function gS(){return this.defaultPrevented}LE.event=function(e){return dS&&(e=dS(e)),e.persist=fS,e.isPropagationStopped=mS,e.isDefaultPrevented=gS,e.nativeEvent=e};var vS={enumerable:!1,configurable:!0,get:function(){return this.class}},yS=LE.vnode;LE.vnode=function(e){"string"==typeof e.type&&function(e){var t=e.props,n=e.type,i={};for(var o in t){var r=t[o];if(!("value"===o&&"defaultValue"in t&&null==r||hS&&"children"===o&&"noscript"===n||"class"===o||"className"===o)){var s=o.toLowerCase();"defaultValue"===o&&"value"in t&&null==t.value?o="value":"download"===o&&!0===r?r="":"ondoubleclick"===s?o="ondblclick":"onchange"!==s||"input"!==n&&"textarea"!==n||pS(t.type)?"onfocus"===s?o="onfocusin":"onblur"===s?o="onfocusout":cS.test(o)?o=s:-1===n.indexOf("-")&&lS.test(o)?o=o.replace(uS,"-$&").toLowerCase():null===r&&(r=void 0):s=o="oninput","oninput"===s&&i[o=s]&&(o="oninputCapture"),i[o]=r}}"select"==n&&i.multiple&&Array.isArray(i.value)&&(i.value=ok(t.children).forEach((function(e){e.props.selected=-1!=i.value.indexOf(e.props.value)}))),"select"==n&&null!=i.defaultValue&&(i.value=ok(t.children).forEach((function(e){e.props.selected=i.multiple?-1!=i.defaultValue.indexOf(e.props.value):i.defaultValue==e.props.value}))),t.class&&!t.className?(i.class=t.class,Object.defineProperty(i,"className",vS)):(t.className&&!t.class||t.class&&t.className)&&(i.class=i.className=t.className),e.props=i}(e),e.$$typeof=aS,yS&&yS(e)};var bS=LE.__r;LE.__r=function(e){bS&&bS(e),e.__c};var wS=LE.diffed;LE.diffed=function(e){wS&&wS(e);var t=e.props,n=e.__e;null!=n&&"textarea"===e.type&&"value"in t&&t.value!==n.value&&(n.value=null==t.value?"":t.value)};var xS=XE,_S=0;function ES(e,t,n,i,o,r){var s,a,l={};for(a in t)"ref"==a?s=t[a]:l[a]=t[a];var c={type:e,props:l,key:n,ref:s,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:--_S,__i:-1,__u:0,__source:o,__self:r};if("function"==typeof e&&(s=e.defaultProps))for(a in s)void 0===l[a]&&(l[a]=s[a]);return LE.vnode&&LE.vnode(c),c}Array.isArray;var kS=n(485),SS=n.n(kS);const CS=1024;let OS=0;class PS{constructor(e,t){this.from=e,this.to=t}}class MS{constructor(e={}){this.id=OS++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return"function"!=typeof e&&(e=BS.match(e)),t=>{let n=e(t);return void 0===n?null:[this,n]}}}MS.closedBy=new MS({deserialize:e=>e.split(" ")}),MS.openedBy=new MS({deserialize:e=>e.split(" ")}),MS.group=new MS({deserialize:e=>e.split(" ")}),MS.isolate=new MS({deserialize:e=>{if(e&&"rtl"!=e&&"ltr"!=e&&"auto"!=e)throw new RangeError("Invalid value for isolate: "+e);return e||"auto"}}),MS.contextHash=new MS({perNode:!0}),MS.lookAhead=new MS({perNode:!0}),MS.mounted=new MS({perNode:!0});class AS{constructor(e,t,n){this.tree=e,this.overlay=t,this.parser=n}static get(e){return e&&e.props&&e.props[MS.mounted.id]}}const TS=Object.create(null);class BS{constructor(e,t,n,i=0){this.name=e,this.props=t,this.id=n,this.flags=i}static define(e){let t=e.props&&e.props.length?Object.create(null):TS,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(null==e.name?8:0),i=new BS(e.name||"",t,e.id,n);if(e.props)for(let n of e.props)if(Array.isArray(n)||(n=n(i)),n){if(n[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[n[0].id]=n[1]}return i}prop(e){return this.props[e.id]}get isTop(){return(1&this.flags)>0}get isSkipped(){return(2&this.flags)>0}get isError(){return(4&this.flags)>0}get isAnonymous(){return(8&this.flags)>0}is(e){if("string"==typeof e){if(this.name==e)return!0;let t=this.prop(MS.group);return!!t&&t.indexOf(e)>-1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let i of n.split(" "))t[i]=e[n];return e=>{for(let n=e.prop(MS.group),i=-1;i<(n?n.length:0);i++){let o=t[i<0?e.name:n[i]];if(o)return o}}}}BS.none=new BS("",Object.create(null),0,8);class RS{constructor(e){this.types=e;for(let t=0;t=t){let s=new HS(r.tree,r.overlay[0].from+e.from,-1,e);(o||(o=[i])).push(jS(s,t,n,!1))}}return o?XS(o):i}(this,e,t)}iterate(e){let{enter:t,leave:n,from:i=0,to:o=this.length}=e,r=e.mode||0,s=(r&NS.IncludeAnonymous)>0;for(let e=this.cursor(r|NS.IncludeAnonymous);;){let r=!1;if(e.from<=o&&e.to>=i&&(!s&&e.type.isAnonymous||!1!==t(e))){if(e.firstChild())continue;r=!0}for(;r&&n&&(s||!e.type.isAnonymous)&&n(e),!e.nextSibling();){if(!e.parent())return;r=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:eC(BS.none,this.children,this.positions,0,this.children.length,0,this.length,((e,t,n)=>new zS(this.type,e,t,n,this.propValues)),e.makeTree||((e,t,n)=>new zS(BS.none,e,t,n)))}static build(e){return function(e){var t;let{buffer:n,nodeSet:i,maxBufferLength:o=CS,reused:r=[],minRepeatType:s=i.types.length}=e,a=Array.isArray(n)?new IS(n,n.length):n,l=i.types,c=0,u=0;function h(e,t,n,g,v,y){let{id:b,start:w,end:x,size:_}=a,E=u;for(;_<0;){if(a.next(),-1==_){let t=r[b];return n.push(t),void g.push(w-e)}if(-3==_)return void(c=b);if(-4==_)return void(u=b);throw new RangeError(`Unrecognized record size: ${_}`)}let k,S,C=l[b],O=w-e;if(x-w<=o&&(S=function(e,t){let n=a.fork(),i=0,r=0,l=0,c=n.end-o,u={size:0,start:0,skip:0};e:for(let o=n.pos-e;n.pos>o;){let e=n.size;if(n.id==t&&e>=0){u.size=i,u.start=r,u.skip=l,l+=4,i+=4,n.next();continue}let a=n.pos-e;if(e<0||a=s?4:0,p=n.start;for(n.next();n.pos>a;){if(n.size<0){if(-3!=n.size)break e;h+=4}else n.id>=s&&(h+=4);n.next()}r=p,i+=e,l+=h}return(t<0||i==e)&&(u.size=i,u.start=r,u.skip=l),u.size>4?u:void 0}(a.pos-t,v))){let t=new Uint16Array(S.size-S.skip),n=a.pos-S.size,o=t.length;for(;a.pos>n;)o=m(S.start,t,o);k=new FS(t,x-S.start,i),O=S.start-e}else{let e=a.pos-_;a.next();let t=[],n=[],i=b>=s?b:-1,r=0,l=x;for(;a.pos>e;)i>=0&&a.id==i&&a.size>=0?(a.end<=l-o&&(d(t,n,w,r,a.end,l,i,E),r=t.length,l=a.end),a.next()):y>2500?p(w,e,t,n):h(w,e,t,n,i,y+1);if(i>=0&&r>0&&r-1&&r>0){let e=function(e){return(t,n,i)=>{let o,r,s=0,a=t.length-1;if(a>=0&&(o=t[a])instanceof zS){if(!a&&o.type==e&&o.length==i)return o;(r=o.prop(MS.lookAhead))&&(s=n[a]+o.length+r)}return f(e,t,n,i,s)}}(C);k=eC(C,t,n,0,t.length,0,x-w,e,e)}else k=f(C,t,n,x-w,E-x)}n.push(k),g.push(O)}function p(e,t,n,r){let s=[],l=0,c=-1;for(;a.pos>t;){let{id:e,start:t,end:n,size:i}=a;if(i>4)a.next();else{if(c>-1&&t=0;e-=3)t[n++]=s[e],t[n++]=s[e+1]-o,t[n++]=s[e+2]-o,t[n++]=n;n.push(new FS(t,s[2]-o,i)),r.push(o-e)}}function d(e,t,n,o,r,s,a,l){let c=[],u=[];for(;e.length>o;)c.push(e.pop()),u.push(t.pop()+n-r);e.push(f(i.types[a],c,u,s-r,l-s)),t.push(r-n)}function f(e,t,n,i,o=0,r){if(c){let e=[MS.contextHash,c];r=r?[e].concat(r):[e]}if(o>25){let e=[MS.lookAhead,o];r=r?[e].concat(r):[e]}return new zS(e,t,n,i,r)}function m(e,t,n){let{id:i,start:o,end:r,size:l}=a;if(a.next(),l>=0&&i4){let i=a.pos-(l-4);for(;a.pos>i;)n=m(e,t,n)}t[--n]=s,t[--n]=r-e,t[--n]=o-e,t[--n]=i}else-3==l?c=i:-4==l&&(u=i);return n}let g=[],v=[];for(;a.pos>0;)h(e.start||0,e.bufferStart||0,g,v,-1,0);let y=null!==(t=e.length)&&void 0!==t?t:g.length?v[0]+g[0].length:0;return new zS(l[e.topID],g.reverse(),v.reverse(),y)}(e)}}zS.empty=new zS(BS.none,[],[],0);class IS{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new IS(this.buffer,this.index)}}class FS{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return BS.none}toString(){let e=[];for(let t=0;t0));a=r[a+3]);return s}slice(e,t,n){let i=this.buffer,o=new Uint16Array(t-e),r=0;for(let s=e,a=0;s=t&&nt;case 1:return n<=t&&i>t;case 2:return i>t;case 4:return!0}}function jS(e,t,n,i){for(var o;e.from==e.to||(n<1?e.from>=t:e.from>t)||(n>-1?e.to<=t:e.to0?s.length:-1;e!=l;e+=t){let l=s[e],c=a[e]+r.from;if($S(i,n,c,c+l.length))if(l instanceof FS){if(o&NS.ExcludeBuffers)continue;let s=l.findChild(0,l.buffer.length,t,n-c,i);if(s>-1)return new QS(new GS(r,l,e,c),null,s)}else if(o&NS.IncludeAnonymous||!l.type.isAnonymous||KS(l)){let s;if(!(o&NS.IgnoreMounts)&&(s=AS.get(l))&&!s.overlay)return new HS(s.tree,c,e,r);let a=new HS(l,c,e,r);return o&NS.IncludeAnonymous||!a.type.isAnonymous?a:a.nextChild(t<0?l.children.length-1:0,t,n,i)}}if(o&NS.IncludeAnonymous||!r.type.isAnonymous)return null;if(e=r.index>=0?r.index+t:t<0?-1:r._parent._tree.children.length,r=r._parent,!r)return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}enter(e,t,n=0){let i;if(!(n&NS.IgnoreOverlays)&&(i=AS.get(this._tree))&&i.overlay){let n=e-this.from;for(let{from:e,to:o}of i.overlay)if((t>0?e<=n:e=n:o>n))return new HS(i.tree,i.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function VS(e,t,n,i){let o=e.cursor(),r=[];if(!o.firstChild())return r;if(null!=n)for(let e=!1;!e;)if(e=o.type.is(n),!o.nextSibling())return r;for(;;){if(null!=i&&o.type.is(i))return r;if(o.type.is(t)&&r.push(o.node),!o.nextSibling())return null==i?r:[]}}function WS(e,t,n=t.length-1){for(let i=e.parent;n>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(t[n]&&t[n]!=i.name)return!1;n--}}return!0}class GS{constructor(e,t,n,i){this.parent=e,this.buffer=t,this.index=n,this.start=i}}class QS extends qS{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:i}=this.context,o=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.context.start,n);return o<0?null:new QS(this.context,this,o)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,t,n=0){if(n&NS.ExcludeBuffers)return null;let{buffer:i}=this.context,o=i.findChild(this.index+4,i.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return o<0?null:new QS(this.context,this,o)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new QS(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new QS(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,i=this.index+4,o=n.buffer[this.index+3];if(o>i){let r=n.buffer[this.index+1];e.push(n.slice(i,o,r)),t.push(0)}return new zS(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function XS(e){if(!e.length)return null;let t=0,n=e[0];for(let i=1;in.from||o.to0){if(this.index-1)for(let i=t+e,o=e<0?-1:n._tree.children.length;i!=o;i+=e){let e=n._tree.children[i];if(this.mode&NS.IncludeAnonymous||e instanceof FS||!e.type.isAnonymous||KS(e))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let r=e;r;r=r._parent)if(r.index==i){if(i==this.index)return r;t=r,n=o+1;break e}i=this.stack[--o]}for(let e=n;e=0;o--){if(o<0)return WS(this.node,e,i);let r=n[t.buffer[this.stack[o]]];if(!r.isAnonymous){if(e[i]&&e[i]!=r.name)return!1;i--}}return!0}}function KS(e){return e.children.some((e=>e instanceof FS||!e.type.isAnonymous||KS(e)))}const ZS=new WeakMap;function JS(e,t){if(!e.isAnonymous||t instanceof FS||t.type!=e)return 1;let n=ZS.get(t);if(null==n){n=1;for(let i of t.children){if(i.type!=e||!(i instanceof zS)){n=1;break}n+=JS(e,i)}ZS.set(t,n)}return n}function eC(e,t,n,i,o,r,s,a,l){let c=0;for(let n=i;n=u)break;f+=t}if(c==o+1){if(f>u){let e=n[o];t(e.children,e.positions,0,e.children.length,i[o]+a);continue}h.push(n[o])}else{let t=i[c-1]+n[c-1].length-d;h.push(eC(e,n,i,o,c,d,t,null,l))}p.push(d+a-r)}}(t,n,i,o,0),(a||l)(h,p,s)}class tC{constructor(e,t,n,i,o=!1,r=!1){this.from=e,this.to=t,this.tree=n,this.offset=i,this.open=(o?1:0)|(r?2:0)}get openStart(){return(1&this.open)>0}get openEnd(){return(2&this.open)>0}static addTree(e,t=[],n=!1){let i=[new tC(0,e.length,e,0,!1,n)];for(let n of t)n.to>e.length&&i.push(n);return i}static applyChanges(e,t,n=128){if(!t.length)return e;let i=[],o=1,r=e.length?e[0]:null;for(let s=0,a=0,l=0;;s++){let c=s=n)for(;r&&r.from=t.from||u<=t.to||l){let e=Math.max(t.from,a)-l,n=Math.min(t.to,u)-l;t=e>=n?null:new tC(e,n,t.tree,t.offset+l,s>0,!!c)}if(t&&i.push(t),r.to>u)break;r=onew PS(e.from,e.to))):[new PS(0,0)]:[new PS(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let i=this.startParse(e,t,n);for(;;){let e=i.advance();if(e)return e}}}class iC{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}}class oC{constructor(e,t,n,i,o){this.parser=e,this.parse=t,this.overlay=n,this.target=i,this.from=o}}function rC(e){if(!e.length||e.some((e=>e.from>=e.to)))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(e))}class sC{constructor(e,t,n,i,o,r,s){this.parser=e,this.predicate=t,this.mounts=n,this.index=i,this.start=o,this.target=r,this.prev=s,this.depth=0,this.ranges=[]}}const aC=new MS({perNode:!0});class lC{constructor(e,t,n,i,o){this.nest=t,this.input=n,this.fragments=i,this.ranges=o,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let e=this.baseParse.advance();if(!e)return null;if(this.baseParse=null,this.baseTree=e,this.startInner(),null!=this.stoppedAt)for(let e of this.inner)e.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let e=this.baseTree;return null!=this.stoppedAt&&(e=new zS(e.type,e.children,e.positions,e.length,e.propValues.concat([[aC,this.stoppedAt]]))),e}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let n=Object.assign(Object.create(null),e.target.props);n[MS.mounted.id]=new AS(t,e.overlay,e.parser),e.target.props=n}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)a=!1;else if(e.hasNode(i)){if(t){let e=t.mounts.find((e=>e.frag.from<=i.from&&e.frag.to>=i.to&&e.mount.overlay));if(e)for(let n of e.mount.overlay){let o=n.from+e.pos,r=n.to+e.pos;o>=i.from&&r<=i.to&&!t.ranges.some((e=>e.fromo))&&t.ranges.push({from:o,to:r})}}a=!1}else if(n&&(r=cC(n.ranges,i.from,i.to)))a=2!=r;else if(!i.type.isAnonymous&&(o=this.nest(i,this.input))&&(i.fromnew PS(e.from-i.from,e.to-i.from))):null,i.tree,e.length?e[0].from:i.from)),o.overlay?e.length&&(n={ranges:e,depth:0,prev:n}):a=!1}}else t&&(s=t.predicate(i))&&(!0===s&&(s=new PS(i.from,i.to)),s.fromnew PS(e.from-t.start,e.to-t.start))),t.target,e[0].from))),t=t.prev}n&&! --n.depth&&(n=n.prev)}}}}function cC(e,t,n){for(let i of e){if(i.from>=n)break;if(i.to>t)return i.from<=t&&i.to>=n?2:1}return 0}function uC(e,t,n,i,o,r){if(t=e&&t.enter(n,1,NS.IgnoreOverlays|NS.ExcludeBuffers)||t.next(!1)||(this.done=!0)}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(!(t.children.length&&0==t.positions[0]&&t.children[0]instanceof zS))break;t=t.children[0]}return!1}}class dC{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let n=this.curFrag=e[0];this.curTo=null!==(t=n.tree.prop(aC))&&void 0!==t?t:n.to,this.inner=new pC(n.tree,-n.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=null!==(e=t.tree.prop(aC))&&void 0!==e?e:t.to,this.inner=new pC(t.tree,-t.offset)}}findMounts(e,t){var n;let i=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let e=this.inner.cursor.node;e;e=e.parent){let o=null===(n=e.tree)||void 0===n?void 0:n.prop(MS.mounted);if(o&&o.parser==t)for(let t=this.fragI;t=e.to)break;n.tree==this.curFrag.tree&&i.push({frag:n,pos:e.from-n.offset,mount:o})}}}return i}}function fC(e,t){let n=null,i=t;for(let o=1,r=0;o=a)break;e.to<=s||(n||(i=n=t.slice()),e.froma&&n.splice(r+1,0,new PS(a,e.to))):e.to>a?n[r--]=new PS(a,e.to):n.splice(r--,1))}}return i}function mC(e,t,n,i){let o=0,r=0,s=!1,a=!1,l=-1e9,c=[];for(;;){let u=o==e.length?1e9:s?e[o].to:e[o].from,h=r==t.length?1e9:a?t[r].to:t[r].from;if(s!=a){let e=Math.max(l,n),t=Math.min(u,h,i);enew PS(e.from+i,e.to+i))),a,l);for(let t=0,i=a;;t++){let a=t==s.length,c=a?l:s[t].from;if(c>i&&n.push(new tC(i,c,o.tree,-e,r.from>=i||r.openStart,r.to<=c||r.openEnd)),a)break;i=s[t].to}}else n.push(new tC(a,l,o.tree,-e,r.from>=e||r.openStart,r.to<=s||r.openEnd))}return n}class vC{constructor(e,t,n,i,o,r,s,a,l,c=0,u){this.p=e,this.stack=t,this.state=n,this.reducePos=i,this.pos=o,this.score=r,this.buffer=s,this.bufferBase=a,this.curContext=l,this.lookAhead=c,this.parent=u}toString(){return`[${this.stack.filter(((e,t)=>t%3==0)).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let i=e.parser.context;return new vC(e,[],t,n,n,0,[],0,i?new yC(i,i.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,i=65535&e,{parser:o}=this.p,r=this.reducePos=2e3&&!(null===(t=this.p.parser.nodeSet.types[i])||void 0===t?void 0:t.isAnonymous)&&(l==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=c):this.p.lastBigReductionSizea;)this.stack.pop();this.reduceContext(i,l)}storeNode(e,t,n,i=4,o=!1){if(0==e&&(!this.stack.length||this.stack[this.stack.length-1]0&&0==e.buffer[i-4]&&e.buffer[i-1]>-1){if(t==n)return;if(e.buffer[i-2]>=t)return void(e.buffer[i-2]=n)}}if(o&&this.pos!=n){let o=this.buffer.length;if(o>0&&0!=this.buffer[o-4]){let e=!1;for(let t=o;t>0&&this.buffer[t-2]>n;t-=4)if(this.buffer[t-1]>=0){e=!0;break}if(e)for(;o>0&&this.buffer[o-2]>n;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,i>4&&(i-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=n,this.buffer[o+3]=i}else this.buffer.push(e,t,n,i)}shift(e,t,n,i){if(131072&e)this.pushState(65535&e,this.pos);else if(262144&e)this.pos=i,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,i,4);else{let o=e,{parser:r}=this.p;(i>this.pos||t<=r.maxNode)&&(this.pos=i,r.stateFlag(o,1)||(this.reducePos=i)),this.pushState(o,n),this.shiftContext(t,n),t<=r.maxNode&&this.buffer.push(t,n,i,4)}}apply(e,t,n,i){65536&e?this.reduce(e):this.shift(e,t,n,i)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let i=this.pos;this.reducePos=this.pos=i+e.length,this.pushState(t,i),this.buffer.push(n,i,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),i=e.bufferBase+t;for(;e&&i==e.bufferBase;)e=e.parent;return new vC(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,i,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new bC(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(0==n)return!1;if(!(65536&n))return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let n=[];for(let i,o=0;o1&t&&e==i))||n.push(t[e],i)}t=n}let n=[];for(let e=0;e>19,i=65535&t,o=this.stack.length-3*n;if(o<0||e.getGoto(this.stack[o],i,!1)<0){let e=this.findForcedReduction();if(null==e)return!1;t=e}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(i,o)=>{if(!t.includes(i))return t.push(i),e.allActions(i,(t=>{if(393216&t);else if(65536&t){let n=(t>>19)-o;if(n>1){let i=65535&t,o=this.stack.length-3*n;if(o>=0&&e.getGoto(this.stack[o],i,!1)>=0)return n<<19|65536|i}}else{let e=n(t,o+1);if(null!=e)return e}}))};return n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(3!=this.stack.length)return!1;let{parser:e}=this.p;return 65535==e.data[e.stateSlot(this.state,1)]&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;tthis.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class yC{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class bC{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=65535&e,n=e>>19;0==n?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=3*(n-1);let i=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=i}}class wC{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,0==this.index&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new wC(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;null!=e&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,0==this.index&&this.maybeNext()}fork(){return new wC(this.stack,this.pos,this.index)}}function xC(e,t=Uint16Array){if("string"!=typeof e)return e;let n=null;for(let i=0,o=0;i=92&&t--,t>=34&&t--;let o=t-32;if(o>=46&&(o-=46,n=!0),r+=o,n)break;r*=46}n?n[o++]=r:n=new t(r)}return n}class _C{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const EC=new _C;class kC{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=EC,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,i=this.rangeIndex,o=this.pos+e;for(;on.to:o>=n.to;){if(i==this.ranges.length-1)return null;let e=this.ranges[++i];o+=e.from-n.to,n=e}return o}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t,n,i=this.chunkOff+e;if(i>=0&&i=this.chunk2Pos&&ti.to&&(this.chunk2=this.chunk2.slice(0,i.to-t)),n=this.chunk2.charCodeAt(0)}}return t>=this.token.lookAhead&&(this.token.lookAhead=t+1),n}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(null==n||n=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=EC,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let i of this.ranges){if(i.from>=t)break;i.to>e&&(n+=this.input.read(Math.max(i.from,e),Math.min(i.to,t)))}return n}}class SC{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;!function(e,t,n,i,o,r){let s=0,a=1<0){let n=e[i];if(l.allows(n)&&(-1==t.token.value||t.token.value==n||PC(n,t.token.value,o,r))){t.acceptToken(n);break}}let i=t.next,c=0,u=e[s+2];if(!(t.next<0&&u>c&&65535==e[n+3*u-3])){for(;c>1,r=n+o+(o<<1),a=e[r],l=e[r+1]||65536;if(i=l)){s=e[r+2],t.advance();continue e}c=o+1}}break}s=e[n+3*u-1]}}(this.data,e,t,this.id,n.data,n.tokenPrecTable)}}SC.prototype.contextual=SC.prototype.fallback=SC.prototype.extend=!1,SC.prototype.fallback=SC.prototype.extend=!1;class CC{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function OC(e,t,n){for(let i,o=t;65535!=(i=e[o]);o++)if(i==n)return o-t;return-1}function PC(e,t,n,i){let o=OC(n,i,t);return o<0||OC(n,i,e)t)&&!i.type.isError)return n<0?Math.max(0,Math.min(i.to-1,t-25)):Math.min(e.length,Math.max(i.from+1,t+25));if(n<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return n<0?0:e.length}}class BC{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?TC(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?TC(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=r,null;if(o instanceof zS){if(r==e){if(r=Math.max(this.safeFrom,e)&&(this.trees.push(o),this.start.push(r),this.index.push(0))}else this.index[t]++,this.nextStart=r+o.length}}}class RC{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map((e=>new _C))}getActions(e){let t=0,n=null,{parser:i}=e.p,{tokenizers:o}=i,r=i.stateSlot(e.state,3),s=e.curContext?e.curContext.hash:0,a=0;for(let i=0;ic.end+25&&(a=Math.max(c.lookAhead,a)),0!=c.value)){let i=t;if(c.extended>-1&&(t=this.addActions(e,c.extended,c.end,t)),t=this.addActions(e,c.value,c.end,t),!l.extend&&(n=c,t>i))break}}for(;this.actions.length>t;)this.actions.pop();return a&&e.setLookAhead(a),n||e.pos!=this.stream.end||(n=new _C,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new _C,{pos:n,p:i}=e;return t.start=n,t.end=Math.min(n+1,i.stream.end),t.value=n==i.stream.end?i.parser.eofTerm:0,t}updateCachedToken(e,t,n){let i=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(i,e),n),e.value>-1){let{parser:t}=n.p;for(let i=0;i=0&&n.p.parser.dialect.allows(o>>1)){1&o?e.extended=o>>1:e.value=o>>1;break}}}else e.value=0,e.end=this.stream.clipPos(i+1)}putAction(e,t,n,i){for(let t=0;t4*e.bufferLength?new BC(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e,t,n=this.stacks,i=this.minStackPos,o=this.stacks=[];if(this.bigReductionCount>300&&1==n.length){let[e]=n;for(;e.forceReduce()&&e.stack.length&&e.stack[e.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let r=0;ri)o.push(s);else{if(this.advanceStack(s,o,n))continue;{e||(e=[],t=[]),e.push(s);let n=this.tokens.getMainToken(s);t.push(n.value,n.end)}}break}}if(!o.length){let t=e&&function(e){let t=null;for(let n of e){let e=n.p.stoppedAt;(n.pos==n.p.stream.end||null!=e&&n.pos>e)&&n.p.parser.stateFlag(n.state,2)&&(!t||t.scorethis.stoppedAt?e[0]:this.runRecovery(e,t,o);if(n)return MC&&console.log("Force-finish "+this.stackID(n)),this.stackToTree(n.forceAll())}if(this.recovering){let e=1==this.recovering?1:3*this.recovering;if(o.length>e)for(o.sort(((e,t)=>t.score-e.score));o.length>e;)o.pop();o.some((e=>e.reducePos>i))&&this.recovering--}else if(o.length>1){e:for(let e=0;e500&&i.buffer.length>500){if(!((t.score-i.score||t.buffer.length-i.buffer.length)>0)){o.splice(e--,1);continue e}o.splice(n--,1)}}}o.length>12&&o.splice(12,o.length-12)}this.minStackPos=o[0].pos;for(let e=1;e ":"";if(null!=this.stoppedAt&&i>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let t=e.curContext&&e.curContext.tracker.strict,n=t?e.curContext.hash:0;for(let s=this.fragments.nodeAt(i);s;){let i=this.parser.nodeSet.types[s.type.id]==s.type?o.getGoto(e.state,s.type.id):-1;if(i>-1&&s.length&&(!t||(s.prop(MS.contextHash)||0)==n))return e.useNode(s,i),MC&&console.log(r+this.stackID(e)+` (via reuse of ${o.getName(s.type.id)})`),!0;if(!(s instanceof zS)||0==s.children.length||s.positions[0]>0)break;let a=s.children[0];if(!(a instanceof zS&&0==s.positions[0]))break;s=a}}let s=o.stateSlot(e.state,4);if(s>0)return e.reduce(s),MC&&console.log(r+this.stackID(e)+` (via always-reduce ${o.getName(65535&s)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let a=this.tokens.getActions(e);for(let s=0;si?t.push(p):n.push(p)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return LC(e,t),!0}}runRecovery(e,t,n){let i=null,o=!1;for(let r=0;r ":"";if(s.deadEnd){if(o)continue;if(o=!0,s.restart(),MC&&console.log(c+this.stackID(s)+" (restarted)"),this.advanceFully(s,n))continue}let u=s.split(),h=c;for(let e=0;u.forceReduce()&&e<10&&(MC&&console.log(h+this.stackID(u)+" (via force-reduce)"),!this.advanceFully(u,n));e++)MC&&(h=this.stackID(u)+" -> ");for(let e of s.recoverByInsert(a))MC&&console.log(c+this.stackID(e)+" (via recover-insert)"),this.advanceFully(e,n);this.stream.end>s.pos?(l==s.pos&&(l++,a=0),s.recoverByDelete(a,l),MC&&console.log(c+this.stackID(s)+` (via recover-delete ${this.parser.getName(a)})`),LC(s,n)):(!i||i.scoree;class IC{constructor(e){this.start=e.start,this.shift=e.shift||zC,this.reduce=e.reduce||zC,this.reuse=e.reuse||zC,this.hash=e.hash||(()=>0),this.strict=!1!==e.strict}}class FC extends nC{constructor(e){if(super(),this.wrappers=[],14!=e.version)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let n=0;ne.topRules[t][1])),i=[];for(let e=0;e=0)o(i,e,t[n++]);else{let r=t[n+-i];for(let s=-i;s>0;s--)o(t[n++],e,r);n++}}}this.nodeSet=new RS(t.map(((t,o)=>BS.define({name:o>=this.minRepeatTerm?void 0:t,id:o,props:i[o],top:n.indexOf(o)>-1,error:0==o,skipped:e.skippedNodes&&e.skippedNodes.indexOf(o)>-1})))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=CS;let r=xC(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let e=0;e"number"==typeof e?new SC(r,e):e)),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let i=new DC(this,e,t,n);for(let o of this.wrappers)i=o(i,e,t,n);return i}getGoto(e,t,n=!1){let i=this.goto;if(t>=i[0])return-1;for(let o=i[t+1];;){let t=i[o++],r=1&t,s=i[o++];if(r&&n)return s;for(let n=o+(t>>1);o0}validAction(e,t){return!!this.allActions(e,(e=>e==t||null))}allActions(e,t){let n=this.stateSlot(e,4),i=n?t(n):void 0;for(let n=this.stateSlot(e,1);null==i;n+=3){if(65535==this.data[n]){if(1!=this.data[n+1])break;n=$C(this.data,n+2)}i=t($C(this.data,n+1))}return i}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(65535==this.data[n]){if(1!=this.data[n+1])break;n=$C(this.data,n+2)}if(!(1&this.data[n+2])){let e=this.data[n+1];t.some(((t,n)=>1&n&&t==e))||t.push(this.data[n],e)}}return t}configure(e){let t=Object.assign(Object.create(FC.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map((t=>{let n=e.tokenizers.find((e=>e.from==t));return n?n.to:t}))),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map(((n,i)=>{let o=e.specializers.find((e=>e.from==n.external));if(!o)return n;let r=Object.assign(Object.assign({},n),{external:o.to});return t.specializers[i]=jC(r),r}))),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),null!=e.strict&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),null!=e.bufferLength&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return null==t?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map((()=>!1));if(e)for(let i of e.split(" ")){let e=t.indexOf(i);e>=0&&(n[e]=!0)}let i=null;for(let e=0;ee.external(n,i)<<1|t}return e.get}let qC=0;class HC{constructor(e,t,n,i){this.name=e,this.set=t,this.base=n,this.modified=i,this.id=qC++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let n="string"==typeof e?e:"?";if(e instanceof HC&&(t=e),null==t?void 0:t.base)throw new Error("Can not derive from a modified tag");let i=new HC(n,[],null,[]);if(i.set.push(i),t)for(let e of t.set)i.set.push(e);return i}static defineModifier(e){let t=new WC(e);return e=>e.modified.indexOf(t)>-1?e:WC.get(e.base||e,e.modified.concat(t).sort(((e,t)=>e.id-t.id)))}}let VC=0;class WC{constructor(e){this.name=e,this.instances=[],this.id=VC++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find((n=>n.base==e&&function(e,t){return e.length==t.length&&e.every(((e,n)=>e==t[n]))}(t,n.modified)));if(n)return n;let i=[],o=new HC(e.name,i,e,t);for(let e of t)e.instances.push(o);let r=function(e){let t=[[]];for(let n=0;nt.length-e.length))}(t);for(let t of e.set)if(!t.modified.length)for(let e of r)i.push(WC.get(t,e));return o}}function GC(e){let t=Object.create(null);for(let n in e){let i=e[n];Array.isArray(i)||(i=[i]);for(let e of n.split(" "))if(e){let n=[],o=2,r=e;for(let t=0;;){if("..."==r&&t>0&&t+3==e.length){o=1;break}let i=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(r);if(!i)throw new RangeError("Invalid path: "+e);if(n.push("*"==i[0]?"":'"'==i[0][0]?JSON.parse(i[0]):i[0]),t+=i[0].length,t==e.length)break;let s=e[t++];if(t==e.length&&"!"==s){o=0;break}if("/"!=s)throw new RangeError("Invalid path: "+e);r=e.slice(t)}let s=n.length-1,a=n[s];if(!a)throw new RangeError("Invalid path: "+e);let l=new XC(i,o,s>0?n.slice(0,s):null);t[a]=l.sort(t[a])}}return QC.add(t)}const QC=new MS;class XC{constructor(e,t,n,i){this.tags=e,this.mode=t,this.context=n,this.next=i}get opaque(){return 0==this.mode}get inherit(){return 1==this.mode}sort(e){return!e||e.depth{let t=o;for(let i of e)for(let e of i.set){let i=n[e.id];if(i){t=t?t+" "+i:i;break}}return t},scope:i}}function YC(e,t,n,i=0,o=e.length){let r=new KC(i,Array.isArray(t)?t:[t],n);r.highlightRange(e.cursor(),i,o,"",r.highlighters),r.flush(o)}XC.empty=new XC([],2,null);class KC{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,i,o){let{type:r,from:s,to:a}=e;if(s>=n||a<=t)return;r.isTop&&(o=this.highlighters.filter((e=>!e.scope||e.scope(r))));let l=i,c=function(e){let t=e.type.prop(QC);for(;t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}(e)||XC.empty,u=function(e,t){let n=null;for(let i of e){let e=i.style(t);e&&(n=n?n+" "+e:e)}return n}(o,c.tags);if(u&&(l&&(l+=" "),l+=u,1==c.mode&&(i+=(i?" ":"")+u)),this.startSpan(Math.max(t,s),l),c.opaque)return;let h=e.tree&&e.tree.prop(MS.mounted);if(h&&h.overlay){let r=e.node.enter(h.overlay[0].from+s,1),c=this.highlighters.filter((e=>!e.scope||e.scope(h.tree.type))),u=e.firstChild();for(let p=0,d=s;;p++){let f=p=m)&&e.nextSibling()););if(!f||m>n)break;d=f.to+s,d>t&&(this.highlightRange(r.cursor(),Math.max(t,f.from+s),Math.min(n,d),"",c),this.startSpan(Math.min(n,d),l))}u&&e.parent()}else if(e.firstChild()){h&&(i="");do{if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,i,o),this.startSpan(Math.min(n,e.to),l)}}while(e.nextSibling());e.parent()}}}const ZC=HC.define,JC=ZC(),eO=ZC(),tO=ZC(eO),nO=ZC(eO),iO=ZC(),oO=ZC(iO),rO=ZC(iO),sO=ZC(),aO=ZC(sO),lO=ZC(),cO=ZC(),uO=ZC(),hO=ZC(uO),pO=ZC(),dO={comment:JC,lineComment:ZC(JC),blockComment:ZC(JC),docComment:ZC(JC),name:eO,variableName:ZC(eO),typeName:tO,tagName:ZC(tO),propertyName:nO,attributeName:ZC(nO),className:ZC(eO),labelName:ZC(eO),namespace:ZC(eO),macroName:ZC(eO),literal:iO,string:oO,docString:ZC(oO),character:ZC(oO),attributeValue:ZC(oO),number:rO,integer:ZC(rO),float:ZC(rO),bool:ZC(iO),regexp:ZC(iO),escape:ZC(iO),color:ZC(iO),url:ZC(iO),keyword:lO,self:ZC(lO),null:ZC(lO),atom:ZC(lO),unit:ZC(lO),modifier:ZC(lO),operatorKeyword:ZC(lO),controlKeyword:ZC(lO),definitionKeyword:ZC(lO),moduleKeyword:ZC(lO),operator:cO,derefOperator:ZC(cO),arithmeticOperator:ZC(cO),logicOperator:ZC(cO),bitwiseOperator:ZC(cO),compareOperator:ZC(cO),updateOperator:ZC(cO),definitionOperator:ZC(cO),typeOperator:ZC(cO),controlOperator:ZC(cO),punctuation:uO,separator:ZC(uO),bracket:hO,angleBracket:ZC(hO),squareBracket:ZC(hO),paren:ZC(hO),brace:ZC(hO),content:sO,heading:aO,heading1:ZC(aO),heading2:ZC(aO),heading3:ZC(aO),heading4:ZC(aO),heading5:ZC(aO),heading6:ZC(aO),contentSeparator:ZC(sO),list:ZC(sO),quote:ZC(sO),emphasis:ZC(sO),strong:ZC(sO),link:ZC(sO),monospace:ZC(sO),strikethrough:ZC(sO),inserted:ZC(),deleted:ZC(),changed:ZC(),invalid:ZC(),meta:pO,documentMeta:ZC(pO),annotation:ZC(pO),processingInstruction:ZC(pO),definition:HC.defineModifier("definition"),constant:HC.defineModifier("constant"),function:HC.defineModifier("function"),standard:HC.defineModifier("standard"),local:HC.defineModifier("local"),special:HC.defineModifier("special")};for(let e in dO){let t=dO[e];t instanceof HC&&(t.name=e)}UC([{tag:dO.link,class:"tok-link"},{tag:dO.heading,class:"tok-heading"},{tag:dO.emphasis,class:"tok-emphasis"},{tag:dO.strong,class:"tok-strong"},{tag:dO.keyword,class:"tok-keyword"},{tag:dO.atom,class:"tok-atom"},{tag:dO.bool,class:"tok-bool"},{tag:dO.url,class:"tok-url"},{tag:dO.labelName,class:"tok-labelName"},{tag:dO.inserted,class:"tok-inserted"},{tag:dO.deleted,class:"tok-deleted"},{tag:dO.literal,class:"tok-literal"},{tag:dO.string,class:"tok-string"},{tag:dO.number,class:"tok-number"},{tag:[dO.regexp,dO.escape,dO.special(dO.string)],class:"tok-string2"},{tag:dO.variableName,class:"tok-variableName"},{tag:dO.local(dO.variableName),class:"tok-variableName tok-local"},{tag:dO.definition(dO.variableName),class:"tok-variableName tok-definition"},{tag:dO.special(dO.variableName),class:"tok-variableName2"},{tag:dO.definition(dO.propertyName),class:"tok-propertyName tok-definition"},{tag:dO.typeName,class:"tok-typeName"},{tag:dO.namespace,class:"tok-namespace"},{tag:dO.className,class:"tok-className"},{tag:dO.macroName,class:"tok-macroName"},{tag:dO.propertyName,class:"tok-propertyName"},{tag:dO.operator,class:"tok-operator"},{tag:dO.comment,class:"tok-comment"},{tag:dO.meta,class:"tok-meta"},{tag:dO.invalid,class:"tok-invalid"},{tag:dO.punctuation,class:"tok-punctuation"}]);class fO{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=EO(this,e,t);let i=[];return this.decompose(0,e,i,2),n.length&&n.decompose(0,n.length,i,3),this.decompose(t,this.length,i,1),gO.from(i,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=EO(this,e,t);let n=[];return this.decompose(e,t,n,0),gO.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),i=new bO(this),o=new bO(e);for(let e=t,r=t;;){if(i.next(e),o.next(e),e=0,i.lineBreak!=o.lineBreak||i.done!=o.done||i.value!=o.value)return!1;if(r+=i.value.length,i.done||r>=n)return!0}}iter(e=1){return new bO(this,e)}iterRange(e,t=this.length){return new wO(this,e,t)}iterLines(e,t){let n;if(null==e)n=this.iter();else{null==t&&(t=this.lines+1);let i=this.line(e).from;n=this.iterRange(i,Math.max(i,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new xO(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(0==e.length)throw new RangeError("A document must have at least one line");return 1!=e.length||e[0]?e.length<=32?new mO(e):gO.from(mO.split(e,[])):fO.empty}}class mO extends fO{constructor(e,t=function(e){let t=-1;for(let n of e)t+=n.length+1;return t}(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,i){for(let o=0;;o++){let r=this.text[o],s=i+r.length;if((t?n:s)>=e)return new _O(i,s,n,r);i=s+1,n++}}decompose(e,t,n,i){let o=e<=0&&t>=this.length?this:new mO(yO(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(1&i){let e=n.pop(),t=vO(o.text,e.text.slice(),0,o.length);if(t.length<=32)n.push(new mO(t,e.length+o.length));else{let e=t.length>>1;n.push(new mO(t.slice(0,e)),new mO(t.slice(e)))}}else n.push(o)}replace(e,t,n){if(!(n instanceof mO))return super.replace(e,t,n);[e,t]=EO(this,e,t);let i=vO(this.text,vO(n.text,yO(this.text,0,e)),t),o=this.length+n.length-(t-e);return i.length<=32?new mO(i,o):gO.from(mO.split(i,[]),o)}sliceString(e,t=this.length,n="\n"){[e,t]=EO(this,e,t);let i="";for(let o=0,r=0;o<=t&&re&&r&&(i+=n),eo&&(i+=s.slice(Math.max(0,e-o),t-o)),o=a+1}return i}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let n=[],i=-1;for(let o of e)n.push(o),i+=o.length+1,32==n.length&&(t.push(new mO(n,i)),n=[],i=-1);return i>-1&&t.push(new mO(n,i)),t}}class gO extends fO{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let t of e)this.lines+=t.lines}lineInner(e,t,n,i){for(let o=0;;o++){let r=this.children[o],s=i+r.length,a=n+r.lines-1;if((t?a:s)>=e)return r.lineInner(e,t,n,i);i=s+1,n=a+1}}decompose(e,t,n,i){for(let o=0,r=0;r<=t&&o=r){let o=i&((r<=e?1:0)|(a>=t?2:0));r>=e&&a<=t&&!o?n.push(s):s.decompose(e-r,t-r,n,o)}r=a+1}}replace(e,t,n){if([e,t]=EO(this,e,t),n.lines=o&&t<=s){let a=r.replace(e-o,t-o,n),l=this.lines-r.lines+a.lines;if(a.lines>4&&a.lines>l>>6){let o=this.children.slice();return o[i]=a,new gO(o,this.length-(t-e)+n.length)}return super.replace(o,s,a)}o=s+1}return super.replace(e,t,n)}sliceString(e,t=this.length,n="\n"){[e,t]=EO(this,e,t);let i="";for(let o=0,r=0;oe&&o&&(i+=n),er&&(i+=s.sliceString(e-r,t-r,n)),r=a+1}return i}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof gO))return 0;let n=0,[i,o,r,s]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;i+=t,o+=t){if(i==r||o==s)return n;let a=this.children[i],l=e.children[o];if(a!=l)return n+a.scanIdentical(l,t);n+=a.length+1}}static from(e,t=e.reduce(((e,t)=>e+t.length+1),-1)){let n=0;for(let t of e)n+=t.lines;if(n<32){let n=[];for(let t of e)t.flatten(n);return new mO(n,t)}let i=Math.max(32,n>>5),o=i<<1,r=i>>1,s=[],a=0,l=-1,c=[];function u(e){let t;if(e.lines>o&&e instanceof gO)for(let t of e.children)u(t);else e.lines>r&&(a>r||!a)?(h(),s.push(e)):e instanceof mO&&a&&(t=c[c.length-1])instanceof mO&&e.lines+t.lines<=32?(a+=e.lines,l+=e.length+1,c[c.length-1]=new mO(t.text.concat(e.text),t.length+1+e.length)):(a+e.lines>i&&h(),a+=e.lines,l+=e.length+1,c.push(e))}function h(){0!=a&&(s.push(1==c.length?c[0]:gO.from(c,l)),l=-1,a=c.length=0)}for(let t of e)u(t);return h(),1==s.length?s[0]:new gO(s,t)}}function vO(e,t,n=0,i=1e9){for(let o=0,r=0,s=!0;r=n&&(l>i&&(a=a.slice(0,i-o)),o0?1:(e instanceof mO?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,i=this.nodes[n],o=this.offsets[n],r=o>>1,s=i instanceof mO?i.text.length:i.children.length;if(r==(t>0?s:0)){if(0==n)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&o)==(t>0?0:1)){if(this.offsets[n]+=t,0==e)return this.lineBreak=!0,this.value="\n",this;e--}else if(i instanceof mO){let o=i.text[r+(t<0?-1:0)];if(this.offsets[n]+=t,o.length>Math.max(0,e))return this.value=0==e?o:t>0?o.slice(e):o.slice(0,o.length-e),this;e-=o.length}else{let o=i.children[r+(t<0?-1:0)];e>o.length?(e-=o.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(o),this.offsets.push(t>0?1:(o instanceof mO?o.text.length:o.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class wO{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new bO(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:i}=this.cursor.next(e);return this.pos+=(i.length+e)*t,this.value=i.length<=n?i:t<0?i.slice(i.length-n):i.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&""!=this.value}}class xO{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:i}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=i,this.afterBreak=!1),this}get lineBreak(){return!1}}"undefined"!=typeof Symbol&&(fO.prototype[Symbol.iterator]=function(){return this.iter()},bO.prototype[Symbol.iterator]=wO.prototype[Symbol.iterator]=xO.prototype[Symbol.iterator]=function(){return this});class _O{constructor(e,t,n,i){this.from=e,this.to=t,this.number=n,this.text=i}get length(){return this.to-this.from}}function EO(e,t,n){return[t=Math.max(0,Math.min(e.length,t)),Math.max(t,Math.min(e.length,n))]}let kO="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map((e=>e?parseInt(e,36):1));for(let e=1;ee)return kO[t-1]<=e;return!1}function CO(e){return e>=127462&&e<=127487}const OO=8205;function PO(e,t,n=!0,i=!0){return(n?MO:AO)(e,t,i)}function MO(e,t,n){if(t==e.length)return t;t&&TO(e.charCodeAt(t))&&BO(e.charCodeAt(t-1))&&t--;let i=RO(e,t);for(t+=LO(i);t=0&&CO(RO(e,i));)n++,i-=2;if(n%2==0)break;t+=2}}}return t}function AO(e,t,n){for(;t>0;){let i=MO(e,t-2,n);if(i=56320&&e<57344}function BO(e){return e>=55296&&e<56320}function RO(e,t){let n=e.charCodeAt(t);if(!BO(n)||t+1==e.length)return n;let i=e.charCodeAt(t+1);return TO(i)?i-56320+(n-55296<<10)+65536:n}function DO(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}function LO(e){return e<65536?1:2}const NO=/\r\n?|\n/;var zO=function(e){return e[e.Simple=0]="Simple",e[e.TrackDel=1]="TrackDel",e[e.TrackBefore=2]="TrackBefore",e[e.TrackAfter=3]="TrackAfter",e}(zO||(zO={}));class IO{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return o+(e-i);o+=s}else{if(n!=zO.Simple&&l>=e&&(n==zO.TrackDel&&ie||n==zO.TrackBefore&&ie))return null;if(l>e||l==e&&t<0&&!s)return e==i||t<0?o:o+a;o+=a}i=l}if(e>i)throw new RangeError(`Position ${e} is out of range for changeset of length ${i}`);return o}touchesRange(e,t=e){for(let n=0,i=0;n=0&&i<=t&&o>=e)return!(it)||"cover";i=o}return!1}toString(){let e="";for(let t=0;t=0?":"+i:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some((e=>"number"!=typeof e)))throw new RangeError("Invalid JSON representation of ChangeDesc");return new IO(e)}static create(e){return new IO(e)}}class FO extends IO{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return qO(this,((t,n,i,o,r)=>e=e.replace(i,i+(n-t),r)),!1),e}mapDesc(e,t=!1){return HO(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let i=0,o=0;i=0){t[i]=s,t[i+1]=r;let a=i>>1;for(;n.length0&&jO(n,t,o.text),o.forward(e),s+=e}let l=e[r++];for(;s>1].toJSON()))}return e}static of(e,t,n){let i=[],o=[],r=0,s=null;function a(e=!1){if(!e&&!i.length)return;rs||e<0||s>t)throw new RangeError(`Invalid change range ${e} to ${s} (in doc of length ${t})`);let u=c?"string"==typeof c?fO.of(c.split(n||NO)):c:fO.empty,h=u.length;if(e==s&&0==h)return;er&&$O(i,e-r,-1),$O(i,s-e,h),jO(o,i,u),r=s}}(e),a(!s),s}static empty(e){return new FO(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let i=0;it&&"string"!=typeof e)))throw new RangeError("Invalid JSON representation of ChangeSet");if(1==o.length)t.push(o[0],0);else{for(;n.length=0&&n<=0&&n==e[o+1]?e[o]+=t:0==t&&0==e[o]?e[o+1]+=n:i?(e[o]+=t,e[o+1]+=n):e.push(t,n)}function jO(e,t,n){if(0==n.length)return;let i=t.length-2>>1;if(i>1])),!(n||s==e.sections.length||e.sections[s+1]<0);)a=e.sections[s++],l=e.sections[s++];t(o,c,r,u,h),o=c,r=u}}}function HO(e,t,n,i=!1){let o=[],r=i?[]:null,s=new WO(e),a=new WO(t);for(let e=-1;;)if(-1==s.ins&&-1==a.ins){let e=Math.min(s.len,a.len);$O(o,e,-1),s.forward(e),a.forward(e)}else if(a.ins>=0&&(s.ins<0||e==s.i||0==s.off&&(a.len=0&&e=0)){if(s.done&&a.done)return r?FO.createSet(o,r):IO.create(o);throw new Error("Mismatched change set lengths")}{let t=0,n=s.len;for(;n;)if(-1==a.ins){let e=Math.min(n,a.len);t+=e,n-=e,a.forward(e)}else{if(!(0==a.ins&&a.lent||s.ins>=0&&s.len>t)&&(e||i.length>n),r.forward2(t),s.forward(t)}}else $O(i,0,s.ins,e),o&&jO(o,i,s.text),s.next()}}class WO{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?fO.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?fO.empty:t[n].slice(this.off,null==e?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){-1==this.ins?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class GO{constructor(e,t,n){this.from=e,this.to=t,this.flags=n}get anchor(){return 32&this.flags?this.to:this.from}get head(){return 32&this.flags?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return 8&this.flags?-1:16&this.flags?1:0}get bidiLevel(){let e=7&this.flags;return 7==e?null:e}get goalColumn(){let e=this.flags>>6;return 16777215==e?void 0:e}map(e,t=-1){let n,i;return this.empty?n=i=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),i=e.mapPos(this.to,-1)),n==this.from&&i==this.to?this:new GO(n,i,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return QO.range(e,t);let n=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return QO.range(this.anchor,n)}eq(e,t=!1){return!(this.anchor!=e.anchor||this.head!=e.head||t&&this.empty&&this.assoc!=e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||"number"!=typeof e.anchor||"number"!=typeof e.head)throw new RangeError("Invalid JSON representation for SelectionRange");return QO.range(e.anchor,e.head)}static create(e,t,n){return new GO(e,t,n)}}class QO{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:QO.create(this.ranges.map((n=>n.map(e,t))),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;ne.toJSON())),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||"number"!=typeof e.main||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new QO(e.ranges.map((e=>GO.fromJSON(e))),e.main)}static single(e,t=e){return new QO([QO.range(e,t)],0)}static create(e,t=0){if(0==e.length)throw new RangeError("A selection needs at least one range");for(let n=0,i=0;ie?8:0)|o)}static normalized(e,t=0){let n=e[t];e.sort(((e,t)=>e.from-t.from)),t=e.indexOf(n);for(let n=1;ni.head?QO.range(s,r):QO.range(r,s))}}return new QO(e,t)}}function XO(e,t){for(let n of e.ranges)if(n.to>t)throw new RangeError("Selection points outside of document")}let UO=0;class YO{constructor(e,t,n,i,o){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=i,this.id=UO++,this.default=e([]),this.extensions="function"==typeof o?o(this):o}get reader(){return this}static define(e={}){return new YO(e.combine||(e=>e),e.compareInput||((e,t)=>e===t),e.compare||(e.combine?(e,t)=>e===t:KO),!!e.static,e.enables)}of(e){return new ZO([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new ZO(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new ZO(e,this,2,t)}from(e,t){return t||(t=e=>e),this.compute([e],(n=>t(n.field(e))))}}function KO(e,t){return e==t||e.length==t.length&&e.every(((e,n)=>e===t[n]))}class ZO{constructor(e,t,n,i){this.dependencies=e,this.facet=t,this.type=n,this.value=i,this.id=UO++}dynamicSlot(e){var t;let n=this.value,i=this.facet.compareInput,o=this.id,r=e[o]>>1,s=2==this.type,a=!1,l=!1,c=[];for(let n of this.dependencies)"doc"==n?a=!0:"selection"==n?l=!0:1&(null!==(t=e[n.id])&&void 0!==t?t:1)||c.push(e[n.id]);return{create:e=>(e.values[r]=n(e),1),update(e,t){if(a&&t.docChanged||l&&(t.docChanged||t.selection)||eP(e,c)){let t=n(e);if(s?!JO(t,e.values[r],i):!i(t,e.values[r]))return e.values[r]=t,1}return 0},reconfigure:(e,t)=>{let a,l=t.config.address[o];if(null!=l){let o=hP(t,l);if(this.dependencies.every((n=>n instanceof YO?t.facet(n)===e.facet(n):!(n instanceof iP)||t.field(n,!1)==e.field(n,!1)))||(s?JO(a=n(e),o,i):i(a=n(e),o)))return e.values[r]=o,0}else a=n(e);return e.values[r]=a,1}}}}function JO(e,t,n){if(e.length!=t.length)return!1;for(let i=0;ie[t.id])),o=n.map((e=>e.type)),r=i.filter((e=>!(1&e))),s=e[t.id]>>1;function a(e){let n=[];for(let t=0;te===t),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(nP).find((e=>e.field==this));return((null==t?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:e=>(e.values[t]=this.create(e),1),update:(e,n)=>{let i=e.values[t],o=this.updateF(i,n);return this.compareF(i,o)?0:(e.values[t]=o,1)},reconfigure:(e,n)=>null!=n.config.address[this.id]?(e.values[t]=n.field(this),0):(e.values[t]=this.create(e),1)}}init(e){return[this,nP.of({field:this,create:e})]}get extension(){return this}}function oP(e){return t=>new sP(t,e)}const rP={highest:oP(0),high:oP(1),default:oP(2),low:oP(3),lowest:oP(4)};class sP{constructor(e,t){this.inner=e,this.prec=t}}class aP{of(e){return new lP(this,e)}reconfigure(e){return aP.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class lP{constructor(e,t){this.compartment=e,this.inner=t}}class cP{constructor(e,t,n,i,o,r){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=i,this.staticValues=o,this.facets=r,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,n){let i=[],o=Object.create(null),r=new Map;for(let n of function(e,t,n){let i=[[],[],[],[],[]],o=new Map;return function e(r,s){let a=o.get(r);if(null!=a){if(a<=s)return;let e=i[a].indexOf(r);e>-1&&i[a].splice(e,1),r instanceof lP&&n.delete(r.compartment)}if(o.set(r,s),Array.isArray(r))for(let t of r)e(t,s);else if(r instanceof lP){if(n.has(r.compartment))throw new RangeError("Duplicate use of compartment in extensions");let i=t.get(r.compartment)||r.inner;n.set(r.compartment,i),e(i,s)}else if(r instanceof sP)e(r.inner,r.prec);else if(r instanceof iP)i[s].push(r),r.provides&&e(r.provides,s);else if(r instanceof ZO)i[s].push(r),r.facet.extensions&&e(r.facet.extensions,2);else{let t=r.extension;if(!t)throw new Error(`Unrecognized extension value in extension set (${r}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);e(t,s)}}(e,2),i.reduce(((e,t)=>e.concat(t)))}(e,t,r))n instanceof iP?i.push(n):(o[n.facet.id]||(o[n.facet.id]=[])).push(n);let s=Object.create(null),a=[],l=[];for(let e of i)s[e.id]=l.length<<1,l.push((t=>e.slot(t)));let c=null==n?void 0:n.config.facets;for(let e in o){let t=o[e],i=t[0].facet,r=c&&c[e]||[];if(t.every((e=>0==e.type)))if(s[i.id]=a.length<<1|1,KO(r,t))a.push(n.facet(i));else{let e=i.combine(t.map((e=>e.value)));a.push(n&&i.compare(e,n.facet(i))?n.facet(i):e)}else{for(let e of t)0==e.type?(s[e.id]=a.length<<1|1,a.push(e.value)):(s[e.id]=l.length<<1,l.push((t=>e.dynamicSlot(t))));s[i.id]=l.length<<1,l.push((e=>tP(e,i,t)))}}let u=l.map((e=>e(s)));return new cP(e,r,u,s,a,o)}}function uP(e,t){if(1&t)return 2;let n=t>>1,i=e.status[n];if(4==i)throw new Error("Cyclic dependency between fields and/or facets");if(2&i)return i;e.status[n]=4;let o=e.computeSlot(e,e.config.dynamicSlots[n]);return e.status[n]=2|o}function hP(e,t){return 1&t?e.config.staticValues[t>>1]:e.values[t>>1]}const pP=YO.define(),dP=YO.define({combine:e=>e.some((e=>e)),static:!0}),fP=YO.define({combine:e=>e.length?e[0]:void 0,static:!0}),mP=YO.define(),gP=YO.define(),vP=YO.define(),yP=YO.define({combine:e=>!!e.length&&e[0]});class bP{constructor(e,t){this.type=e,this.value=t}static define(){return new wP}}class wP{of(e){return new bP(this,e)}}class xP{constructor(e){this.map=e}of(e){return new _P(this,e)}}class _P{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return void 0===t?void 0:t==this.value?this:new _P(this.type,t)}is(e){return this.type==e}static define(e={}){return new xP(e.map||(e=>e))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let i of e){let e=i.map(t);e&&n.push(e)}return n}}_P.reconfigure=_P.define(),_P.appendConfig=_P.define();class EP{constructor(e,t,n,i,o,r){this.startState=e,this.changes=t,this.selection=n,this.effects=i,this.annotations=o,this.scrollIntoView=r,this._doc=null,this._state=null,n&&XO(n,t.newLength),o.some((e=>e.type==EP.time))||(this.annotations=o.concat(EP.time.of(Date.now())))}static create(e,t,n,i,o,r){return new EP(e,t,n,i,o,r)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(EP.userEvent);return!(!t||!(t==e||t.length>e.length&&t.slice(0,e.length)==e&&"."==t[e.length]))}}function kP(e,t){let n=[];for(let i=0,o=0;;){let r,s;if(i=e[i]))r=e[i++],s=e[i++];else{if(!(o=0;o--){let r=n[o](e);r&&Object.keys(r).length&&(i=SP(i,CP(t,r,e.changes.newLength),!0))}return i==e?e:EP.create(t,e.changes,e.selection,i.effects,i.annotations,i.scrollIntoView)}(n?function(e){let t=e.startState,n=!0;for(let i of t.facet(mP)){let t=i(e);if(!1===t){n=!1;break}Array.isArray(t)&&(n=!0===n?t:kP(n,t))}if(!0!==n){let i,o;if(!1===n)o=e.changes.invertedDesc,i=FO.empty(t.doc.length);else{let t=e.changes.filter(n);i=t.changes,o=t.filtered.mapDesc(t.changes).invertedDesc}e=EP.create(t,i,e.selection&&e.selection.map(o),_P.mapEffects(e.effects,o),e.annotations,e.scrollIntoView)}let i=t.facet(gP);for(let n=i.length-1;n>=0;n--){let o=i[n](e);e=o instanceof EP?o:Array.isArray(o)&&1==o.length&&o[0]instanceof EP?o[0]:OP(t,MP(o),!1)}return e}(o):o)}EP.time=bP.define(),EP.userEvent=bP.define(),EP.addToHistory=bP.define(),EP.remote=bP.define();const PP=[];function MP(e){return null==e?PP:Array.isArray(e)?e:[e]}var AP=function(e){return e[e.Word=0]="Word",e[e.Space=1]="Space",e[e.Other=2]="Other",e}(AP||(AP={}));const TP=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let BP;try{BP=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(e){}class RP{constructor(e,t,n,i,o,r){this.config=e,this.doc=t,this.selection=n,this.values=i,this.status=e.statusTemplate.slice(),this.computeSlot=o,r&&(r._state=this);for(let e=0;eo.set(t,e))),n=null),o.set(t.value.compartment,t.value.extension)):t.is(_P.reconfigure)?(n=null,i=t.value):t.is(_P.appendConfig)&&(n=null,i=MP(i).concat(t.value));n?t=e.startState.values.slice():(n=cP.resolve(i,o,this),t=new RP(n,this.doc,this.selection,n.dynamicSlots.map((()=>null)),((e,t)=>t.reconfigure(e,this)),null).values);let r=e.startState.facet(dP)?e.newSelection:e.newSelection.asSingle();new RP(n,e.newDoc,r,t,((t,n)=>n.update(t,e)),e)}replaceSelection(e){return"string"==typeof e&&(e=this.toText(e)),this.changeByRange((t=>({changes:{from:t.from,to:t.to,insert:e},range:QO.cursor(t.from+e.length)})))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),i=this.changes(n.changes),o=[n.range],r=MP(n.effects);for(let n=1;no.spec.fromJSON(r,e))))}return RP.create({doc:e.doc,selection:QO.fromJSON(e.selection),extensions:t.extensions?i.concat([t.extensions]):i})}static create(e={}){let t=cP.resolve(e.extensions||[],new Map),n=e.doc instanceof fO?e.doc:fO.of((e.doc||"").split(t.staticFacet(RP.lineSeparator)||NO)),i=e.selection?e.selection instanceof QO?e.selection:QO.single(e.selection.anchor,e.selection.head):QO.single(0);return XO(i,n.length),t.staticFacet(dP)||(i=i.asSingle()),new RP(t,n,i,t.dynamicSlots.map((()=>null)),((e,t)=>t.create(e)),null)}get tabSize(){return this.facet(RP.tabSize)}get lineBreak(){return this.facet(RP.lineSeparator)||"\n"}get readOnly(){return this.facet(yP)}phrase(e,...t){for(let t of this.facet(RP.phrases))if(Object.prototype.hasOwnProperty.call(t,e)){e=t[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,((e,n)=>{if("$"==n)return"$";let i=+(n||1);return!i||i>t.length?e:t[i-1]}))),e}languageDataAt(e,t,n=-1){let i=[];for(let o of this.facet(pP))for(let r of o(this,t,n))Object.prototype.hasOwnProperty.call(r,e)&&i.push(r[e]);return i}charCategorizer(e){return t=this.languageDataAt("wordChars",e).join(""),e=>{if(!/\S/.test(e))return AP.Space;if(function(e){if(BP)return BP.test(e);for(let t=0;t"€"&&(n.toUpperCase()!=n.toLowerCase()||TP.test(n)))return!0}return!1}(e))return AP.Word;for(let n=0;n-1)return AP.Word;return AP.Other};var t}wordAt(e){let{text:t,from:n,length:i}=this.doc.lineAt(e),o=this.charCategorizer(e),r=e-n,s=e-n;for(;r>0;){let e=PO(t,r,!1);if(o(t.slice(e,r))!=AP.Word)break;r=e}for(;se.length?e[0]:4}),RP.lineSeparator=fP,RP.readOnly=yP,RP.phrases=YO.define({compare(e,t){let n=Object.keys(e),i=Object.keys(t);return n.length==i.length&&n.every((n=>e[n]==t[n]))}}),RP.languageData=pP,RP.changeFilter=mP,RP.transactionFilter=gP,RP.transactionExtender=vP,aP.reconfigure=_P.define();class LP{eq(e){return this==e}range(e,t=e){return NP.create(e,t,this)}}LP.prototype.startSide=LP.prototype.endSide=0,LP.prototype.point=!1,LP.prototype.mapMode=zO.TrackDel;class NP{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new NP(e,t,n)}}function zP(e,t){return e.from-t.from||e.value.startSide-t.value.startSide}class IP{constructor(e,t,n,i){this.from=e,this.to=t,this.value=n,this.maxPoint=i}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,i=0){let o=n?this.to:this.from;for(let r=i,s=o.length;;){if(r==s)return r;let i=r+s>>1,a=o[i]-e||(n?this.value[i].endSide:this.value[i].startSide)-t;if(i==r)return a>=0?r:s;a>=0?s=i:r=i+1}}between(e,t,n,i){for(let o=this.findIndex(t,-1e9,!0),r=this.findIndex(n,1e9,!1,o);oc||l==c&&u.startSide>0&&u.endSide<=0)continue;(c-l||u.endSide-u.startSide)<0||(r<0&&(r=l),u.point&&(s=Math.max(s,c-l)),n.push(u),i.push(l-r),o.push(c-r))}return{mapped:n.length?new IP(i,o,n,s):null,pos:r}}}class FP{constructor(e,t,n,i){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=i}static create(e,t,n,i){return new FP(e,t,n,i)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:i=0,filterTo:o=this.length}=e,r=e.filter;if(0==t.length&&!r)return this;if(n&&(t=t.slice().sort(zP)),this.isEmpty)return t.length?FP.of(t):this;let s=new qP(this,null,-1).goto(0),a=0,l=[],c=new $P;for(;s.value||a=0){let e=t[a++];c.addInner(e.from,e.to,e.value)||l.push(e)}else 1==s.rangeIndex&&s.chunkIndexthis.chunkEnd(s.chunkIndex)||os.to||o=o&&e<=o+r.length&&!1===r.between(o,e-o,t-o,n))return}this.nextLayer.between(e,t,n)}}iter(e=0){return HP.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return HP.from(e).goto(t)}static compare(e,t,n,i,o=-1){let r=e.filter((e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=o)),s=t.filter((e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=o)),a=jP(r,s,n),l=new WP(r,a,o),c=new WP(s,a,o);n.iterGaps(((e,t,n)=>GP(l,e,c,t,n,i))),n.empty&&0==n.length&&GP(l,0,c,0,0,i)}static eq(e,t,n=0,i){null==i&&(i=999999999);let o=e.filter((e=>!e.isEmpty&&t.indexOf(e)<0)),r=t.filter((t=>!t.isEmpty&&e.indexOf(t)<0));if(o.length!=r.length)return!1;if(!o.length)return!0;let s=jP(o,r),a=new WP(o,s,0).goto(n),l=new WP(r,s,0).goto(n);for(;;){if(a.to!=l.to||!QP(a.active,l.active)||a.point&&(!l.point||!a.point.eq(l.point)))return!1;if(a.to>i)return!0;a.next(),l.next()}}static spans(e,t,n,i,o=-1){let r=new WP(e,null,o).goto(t),s=t,a=r.openStart;for(;;){let e=Math.min(r.to,n);if(r.point){let n=r.activeForPoint(r.to),o=r.pointFroms&&(i.span(s,e,r.active,a),a=r.openEnd(e));if(r.to>n)return a+(r.point&&r.to>n?1:0);s=r.to,r.next()}}static of(e,t=!1){let n=new $P;for(let i of e instanceof NP?[e]:t?function(e){if(e.length>1)for(let t=e[0],n=1;n0)return e.slice().sort(zP);t=i}return e}(e):e)n.add(i.from,i.to,i.value);return n.finish()}static join(e){if(!e.length)return FP.empty;let t=e[e.length-1];for(let n=e.length-2;n>=0;n--)for(let i=e[n];i!=FP.empty;i=i.nextLayer)t=new FP(i.chunkPos,i.chunk,t,Math.max(i.maxPoint,t.maxPoint));return t}}FP.empty=new FP([],[],null,-1),FP.empty.nextLayer=FP.empty;class $P{finishChunk(e){this.chunks.push(new IP(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new $P)).add(e,t,n)}addInner(e,t,n){let i=e-this.lastTo||n.startSide-this.last.endSide;if(i<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return!(i<0||(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),0))}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(FP.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return e;let t=FP.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function jP(e,t,n){let i=new Map;for(let t of e)for(let e=0;e=this.minPoint)break}}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=n&&i.push(new qP(r,t,n,o));return 1==i.length?i[0]:new HP(i)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let e=this.heap.length>>1;e>=0;e--)VP(this.heap,e);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let e=this.heap.length>>1;e>=0;e--)VP(this.heap,e);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(0==this.heap.length)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),VP(this.heap,0)}}}function VP(e,t){for(let n=e[t];;){let i=1+(t<<1);if(i>=e.length)break;let o=e[i];if(i+1=0&&(o=e[i+1],i++),n.compare(o)<0)break;e[i]=n,e[t]=o,t=i}}class WP{constructor(e,t,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=HP.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){XP(this.active,e),XP(this.activeTo,e),XP(this.activeRank,e),this.minActive=YP(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:i,rank:o}=this.cursor;for(;t0;)t++;UP(this.active,t,n),UP(this.activeTo,t,i),UP(this.activeRank,t,o),e&&UP(e,t,this.cursor.from),this.minActive=YP(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let i=this.minActive;if(i>-1&&(this.activeTo[i]-this.cursor.from||this.active[i].endSide-this.cursor.startSide)<0){if(this.activeTo[i]>e){this.to=this.activeTo[i],this.endSide=this.active[i].endSide;break}this.removeActive(i),n&&XP(n,i)}else{if(!this.cursor.value){this.to=this.endSide=1e9;break}if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}{let e=this.cursor.value;if(e.point){if(!(t&&this.cursor.to==this.to&&this.cursor.from=0&&n[t]=0&&!(this.activeRank[n]e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}}function GP(e,t,n,i,o,r){e.goto(t),n.goto(i);let s=i+o,a=i,l=i-t;for(;;){let t=e.to+l-n.to||e.endSide-n.endSide,i=t<0?e.to+l:n.to,o=Math.min(i,s);if(e.point||n.point?e.point&&n.point&&(e.point==n.point||e.point.eq(n.point))&&QP(e.activeForPoint(e.to),n.activeForPoint(n.to))||r.comparePoint(a,o,e.point,n.point):o>a&&!QP(e.active,n.active)&&r.compareRange(a,o,e.active,n.active),i>s)break;a=i,t<=0&&e.next(),t>=0&&n.next()}}function QP(e,t){if(e.length!=t.length)return!1;for(let n=0;n=t;n--)e[n+1]=e[n];e[t]=n}function YP(e,t){let n=-1,i=1e9;for(let o=0;oe.map((e=>t.replace(/&/,e))))).reduce(((e,t)=>e.concat(t))),s,r);else if(s&&"object"==typeof s){if(!l)throw new RangeError("The value of a property ("+n+") should be a primitive value.");o(i(n),s,a,c)}else null!=s&&a.push(n.replace(/_.*/,"").replace(/[A-Z]/g,(e=>"-"+e.toLowerCase()))+": "+s+";")}(a.length||c)&&r.push((!n||l||s?e:e.map(n)).join(", ")+" {"+a.join(" ")+"}")}for(let t in e)o(i(t),e[t],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let e=eM[ZP]||1;return eM[ZP]=e+1,"ͼ"+e.toString(36)}static mount(e,t,n){let i=e[JP],o=n&&n.nonce;i?o&&i.setNonce(o):i=new iM(e,o),i.mount(Array.isArray(t)?t:[t],e)}}let nM=new Map;class iM{constructor(e,t){let n=e.ownerDocument||e,i=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&i.CSSStyleSheet){let t=nM.get(n);if(t)return e[JP]=t;this.sheet=new i.CSSStyleSheet,nM.set(n,this)}else this.styleTag=n.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[JP]=this}mount(e,t){let n=this.sheet,i=0,o=0;for(let t=0;t-1&&(this.modules.splice(s,1),o--,s=-1),-1==s){if(this.modules.splice(o++,0,r),n)for(let e=0;e",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},sM="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),aM="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),lM=0;lM<10;lM++)oM[48+lM]=oM[96+lM]=String(lM);for(lM=1;lM<=24;lM++)oM[lM+111]="F"+lM;for(lM=65;lM<=90;lM++)oM[lM]=String.fromCharCode(lM+32),rM[lM]=String.fromCharCode(lM);for(var cM in oM)rM.hasOwnProperty(cM)||(rM[cM]=oM[cM]);function uM(e){let t;return t=11==e.nodeType?e.getSelection?e:e.ownerDocument:e,t.getSelection()}function hM(e,t){return!!t&&(e==t||e.contains(1!=t.nodeType?t.parentNode:t))}function pM(e,t){if(!t.anchorNode)return!1;try{return hM(e,t.anchorNode)}catch(e){return!1}}function dM(e){return 3==e.nodeType?CM(e,0,e.nodeValue.length).getClientRects():1==e.nodeType?e.getClientRects():[]}function fM(e,t,n,i){return!!n&&(vM(e,t,n,i,-1)||vM(e,t,n,i,1))}function mM(e){for(var t=0;;t++)if(!(e=e.previousSibling))return t}function gM(e){return 1==e.nodeType&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(e.nodeName)}function vM(e,t,n,i,o){for(;;){if(e==n&&t==i)return!0;if(t==(o<0?0:yM(e))){if("DIV"==e.nodeName)return!1;let n=e.parentNode;if(!n||1!=n.nodeType)return!1;t=mM(e)+(o<0?0:1),e=n}else{if(1!=e.nodeType)return!1;if(1==(e=e.childNodes[t+(o<0?-1:0)]).nodeType&&"false"==e.contentEditable)return!1;t=o<0?yM(e):0}}}function yM(e){return 3==e.nodeType?e.nodeValue.length:e.childNodes.length}function bM(e,t){let n=t?e.left:e.right;return{left:n,right:n,top:e.top,bottom:e.bottom}}function wM(e){let t=e.visualViewport;return t?{left:0,right:t.width,top:0,bottom:t.height}:{left:0,right:e.innerWidth,top:0,bottom:e.innerHeight}}function xM(e,t){let n=t.width/e.offsetWidth,i=t.height/e.offsetHeight;return(n>.995&&n<1.005||!isFinite(n)||Math.abs(t.width-e.offsetWidth)<1)&&(n=1),(i>.995&&i<1.005||!isFinite(i)||Math.abs(t.height-e.offsetHeight)<1)&&(i=1),{scaleX:n,scaleY:i}}class _M{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?yM(t):0),n,Math.min(e.focusOffset,n?yM(n):0))}set(e,t,n,i){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=i}}let EM,kM=null;function SM(e){if(e.setActive)return e.setActive();if(kM)return e.focus(kM);let t=[];for(let n=e;n&&(t.push(n,n.scrollTop,n.scrollLeft),n!=n.ownerDocument);n=n.parentNode);if(e.focus(null==kM?{get preventScroll(){return kM={preventScroll:!0},!0}}:void 0),!kM){kM=!1;for(let e=0;eMath.max(1,e.scrollHeight-e.clientHeight-4)}function AM(e,t){for(let n=e,i=t;;){if(3==n.nodeType&&i>0)return{node:n,offset:i};if(1==n.nodeType&&i>0){if("false"==n.contentEditable)return null;n=n.childNodes[i-1],i=yM(n)}else{if(!n.parentNode||gM(n))return null;i=mM(n),n=n.parentNode}}}function TM(e,t){for(let n=e,i=t;;){if(3==n.nodeType&&it)return n.domBoundsAround(e,t,l);if(u>=e&&-1==i&&(i=a,o=l),l>t&&n.dom.parentNode==this.dom){r=a,s=c;break}c=u,l=u+n.breakAfter}return{from:o,to:s<0?n+this.length:s,startDOM:(i?this.children[i-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:r=0?this.children[r].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.flags|=2),1&t.flags)return;t.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,7&this.flags&&this.markParentsDirty(!0))}setDOM(e){this.dom!=e&&(this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this)}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,n=RM){this.markDirty();for(let i=e;ithis.pos||e==this.pos&&(t>0||0==this.i||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let n=this.children[--this.i];this.pos-=n.length+n.breakAfter}}}function zM(e,t,n,i,o,r,s,a,l){let{children:c}=e,u=c.length?c[t]:null,h=r.length?r[r.length-1]:null,p=h?h.breakAfter:s;if(!(t==i&&u&&!s&&!p&&r.length<2&&u.merge(n,o,r.length?h:null,0==n,a,l))){if(i0&&(!s&&r.length&&u.merge(n,u.length,r[0],!1,a,0)?u.breakAfter=r.shift().breakAfter:(n2);var YM={mac:UM||/Mac/.test(FM.platform),windows:/Win/.test(FM.platform),linux:/Linux|X11/.test(FM.platform),ie:VM,ie_version:qM?$M.documentMode||6:HM?+HM[1]:jM?+jM[1]:0,gecko:WM,gecko_version:WM?+(/Firefox\/(\d+)/.exec(FM.userAgent)||[0,0])[1]:0,chrome:!!GM,chrome_version:GM?+GM[1]:0,ios:UM,android:/Android\b/.test(FM.userAgent),webkit:QM,safari:XM,webkit_version:QM?+(/\bAppleWebKit\/(\d+)/.exec(FM.userAgent)||[0,0])[1]:0,tabSize:null!=$M.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};class KM extends DM{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){3==e.nodeType&&this.createDOM(e)}merge(e,t,n){return!(8&this.flags||n&&(!(n instanceof KM)||this.length-(t-e)+n.length>256||8&n.flags)||(this.text=this.text.slice(0,e)+(n?n.text:"")+this.text.slice(t),this.markDirty(),0))}split(e){let t=new KM(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t.flags|=8&this.flags,t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new BM(this.dom,e)}domBoundsAround(e,t,n){return{from:n,to:n+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return function(e,t,n){let i=e.nodeValue.length;t>i&&(t=i);let o=t,r=t,s=0;0==t&&n<0||t==i&&n>=0?YM.chrome||YM.gecko||(t?(o--,s=1):r=0)?0:a.length-1];return YM.safari&&!s&&0==l.width&&(l=Array.prototype.find.call(a,(e=>e.width))||l),s?bM(l,s<0):l||null}(this.dom,e,t)}}class ZM extends DM{constructor(e,t=[],n=0){super(),this.mark=e,this.children=t,this.length=n;for(let e of t)e.setParent(this)}setAttrs(e){if(PM(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!(8&(this.flags|e.flags))}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,t){this.dom?4&this.flags&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,n,i,o,r){return!(n&&(!(n instanceof ZM&&n.mark.eq(this.mark))||e&&o<=0||te&&t.push(n=e&&(i=o),n=s,o++}let r=this.length-e;return this.length=e,i>-1&&(this.children.length=i,this.markDirty()),new ZM(this.mark,t,r)}domAtPos(e){return tA(this,e)}coordsAt(e,t){return iA(this,e,t)}}class JM extends DM{static create(e,t,n){return new JM(e,t,n)}constructor(e,t,n){super(),this.widget=e,this.length=t,this.side=n,this.prevWidget=null}split(e){let t=JM.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){this.dom&&this.widget.updateDOM(this.dom,e)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable="false"))}getSide(){return this.side}merge(e,t,n,i,o,r){return!(n&&(!(n instanceof JM&&this.widget.compare(n.widget))||e>0&&o<=0||t0)?BM.before(this.dom):BM.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let n=this.widget.coordsAt(this.dom,e,t);if(n)return n;let i=this.dom.getClientRects(),o=null;if(!i.length)return null;let r=this.side?this.side<0:e>0;for(let t=r?i.length-1:0;o=i[t],!(e>0?0==t:t==i.length-1||o.top0?BM.before(this.dom):BM.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return fO.empty}get isHidden(){return!0}}function tA(e,t){let n=e.dom,{children:i}=e,o=0;for(let e=0;oe&&t0;e--){let t=i[e-1];if(t.dom.parentNode==n)return t.domAtPos(t.length)}for(let e=o;e0&&t instanceof ZM&&o.length&&(i=o[o.length-1])instanceof ZM&&i.mark.eq(t.mark)?nA(i,t.children[0],n-1):(o.push(t),t.setParent(e)),e.length+=t.length}function iA(e,t,n){let i=null,o=-1,r=null,s=-1;!function e(t,a){for(let l=0,c=0;l=a&&(u.children.length?e(u,a-c):(!r||r.isHidden&&n>0)&&(h>a||c==h&&u.getSide()>0)?(r=u,s=a-c):(c-1?1:0)!=o.length-(n&&o.indexOf(n)>-1?1:0))return!1;for(let r of i)if(r!=n&&(-1==o.indexOf(r)||e[r]!==t[r]))return!1;return!0}function aA(e,t,n){let i=!1;if(t)for(let o in t)n&&o in n||(i=!0,"style"==o?e.style.cssText="":e.removeAttribute(o));if(n)for(let o in n)t&&t[o]==n[o]||(i=!0,"style"==o?e.style.cssText=n[o]:e.setAttribute(o,n[o]));return i}function lA(e){let t=Object.create(null);for(let n=0;n0?3e8:-4e8:t>0?1e8:-1e8,new fA(e,t,t,n,e.widget||null,!1)}static replace(e){let t,n,i=!!e.block;if(e.isBlockGap)t=-5e8,n=4e8;else{let{start:o,end:r}=mA(e,i);t=(o?i?-3e8:-1:5e8)-1,n=1+(r?i?2e8:1:-6e8)}return new fA(e,t,n,i,e.widget||null,!0)}static line(e){return new dA(e)}static set(e,t=!1){return FP.of(e,t)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}}hA.none=FP.empty;class pA extends hA{constructor(e){let{start:t,end:n}=mA(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,n;return this==e||e instanceof pA&&this.tagName==e.tagName&&(this.class||(null===(t=this.attrs)||void 0===t?void 0:t.class))==(e.class||(null===(n=e.attrs)||void 0===n?void 0:n.class))&&sA(this.attrs,e.attrs,"class")}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}}pA.prototype.point=!1;class dA extends hA{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof dA&&this.spec.class==e.spec.class&&sA(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}dA.prototype.mapMode=zO.TrackBefore,dA.prototype.point=!0;class fA extends hA{constructor(e,t,n,i,o,r){super(t,n,o,e),this.block=i,this.isReplace=r,this.mapMode=i?t<=0?zO.TrackBefore:zO.TrackAfter:zO.TrackDel}get type(){return this.startSide!=this.endSide?uA.WidgetRange:this.startSide<=0?uA.WidgetBefore:uA.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof fA&&function(e,t){return e==t||!!(e&&t&&e.compare(t))}(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}function mA(e,t=!1){let{inclusiveStart:n,inclusiveEnd:i}=e;return null==n&&(n=e.inclusive),null==i&&(i=e.inclusive),{start:null!=n?n:t,end:null!=i?i:t}}function gA(e,t,n,i=0){let o=n.length-1;o>=0&&n[o]+i>=e?n[o]=Math.max(n[o],t):n.push(e,t)}fA.prototype.point=!0;class vA extends DM{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,n,i,o,r){if(n){if(!(n instanceof vA))return!1;this.dom||n.transferDOM(this)}return i&&this.setDeco(n?n.attrs:null),IM(this,e,t,n?n.children.slice():[],o,r),!0}split(e){let t=new vA;if(t.breakAfter=this.breakAfter,0==this.length)return t;let{i:n,off:i}=this.childPos(e);i&&(t.append(this.children[n].split(i),0),this.children[n].merge(i,this.children[n].length,null,!1,0,0),n++);for(let e=n;e0&&0==this.children[n-1].length;)this.children[--n].destroy();return this.children.length=n,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=void 0===this.prevAttrs?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){sA(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){nA(this,e,t)}addLineDeco(e){let t=e.spec.attributes,n=e.spec.class;t&&(this.attrs=oA(t,this.attrs||{})),n&&(this.attrs=oA({class:n},this.attrs||{}))}domAtPos(e){return tA(this,e)}reuseDOM(e){"DIV"==e.nodeName&&(this.setDOM(e),this.flags|=6)}sync(e,t){var n;this.dom?4&this.flags&&(PM(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),void 0!==this.prevAttrs&&(aA(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let i=this.dom.lastChild;for(;i&&DM.get(i)instanceof ZM;)i=i.lastChild;if(!(i&&this.length&&("BR"==i.nodeName||0!=(null===(n=DM.get(i))||void 0===n?void 0:n.isEditable)||YM.ios&&this.children.some((e=>e instanceof KM))))){let e=document.createElement("BR");e.cmIgnore=!0,this.dom.appendChild(e)}}measureTextSize(){if(0==this.children.length||this.length>20)return null;let e,t=0;for(let n of this.children){if(!(n instanceof KM)||/[^ -~]/.test(n.text))return null;let i=dM(n.dom);if(1!=i.length)return null;t+=i[0].width,e=i[0].height}return t?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:t/this.length,textHeight:e}:null}coordsAt(e,t){let n=iA(this,e,t);if(!this.children.length&&n&&this.parent){let{heightOracle:e}=this.parent.view.viewState,t=n.bottom-n.top;if(Math.abs(t-e.lineHeight)<2&&e.textHeight=t){if(o instanceof vA)return o;if(r>t)break}i=r+o.breakAfter}return null}}class yA extends DM{constructor(e,t,n){super(),this.widget=e,this.length=t,this.deco=n,this.breakAfter=0,this.prevWidget=null}merge(e,t,n,i,o,r){return!(n&&(!(n instanceof yA&&this.widget.compare(n.widget))||e>0&&o<=0||t0)}}class bA extends cA{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}class wA{constructor(e,t,n,i){this.doc=e,this.pos=t,this.end=n,this.disallowBlockEffectsFor=i,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=e.iter(),this.skip=t}posCovered(){if(0==this.content.length)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!(e.breakAfter||e instanceof yA&&e.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new vA),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(xA(new eA(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,this.posCovered()||e&&this.content.length&&this.content[this.content.length-1]instanceof yA||this.getLine()}buildText(e,t,n){for(;e>0;){if(this.textOff==this.text.length){let{value:t,lineBreak:n,done:i}=this.cursor.next(this.skip);if(this.skip=0,i)throw new Error("Ran out of text content when drawing inline views");if(n){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}this.text=t,this.textOff=0}let i=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-n)),this.getLine().append(xA(new KM(this.text.slice(this.textOff,this.textOff+i)),t),n),this.atCursorPos=!0,this.textOff+=i,e-=i,n=0}}span(e,t,n,i){this.buildText(t-e,n,i),this.pos=t,this.openStart<0&&(this.openStart=i)}point(e,t,n,i,o,r){if(this.disallowBlockEffectsFor[r]&&n instanceof fA){if(n.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let s=t-e;if(n instanceof fA)if(n.block)n.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new yA(n.widget||_A.block,s,n));else{let r=JM.create(n.widget||_A.inline,s,s?0:n.startSide),a=this.atCursorPos&&!r.isEditable&&o<=i.length&&(e0),l=!r.isEditable&&(ei.length||n.startSide<=0),c=this.getLine();2!=this.pendingBuffer||a||r.isEditable||(this.pendingBuffer=0),this.flushBuffer(i),a&&(c.append(xA(new eA(1),i),o),o=i.length+Math.max(0,o-i.length)),c.append(xA(r,i),o),this.atCursorPos=l,this.pendingBuffer=l?ei.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=i.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(n);s&&(this.textOff+s<=this.text.length?this.textOff+=s:(this.skip+=s-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=o)}static build(e,t,n,i,o){let r=new wA(e,t,n,o);return r.openEnd=FP.spans(i,t,n,r),r.openStart<0&&(r.openStart=r.openEnd),r.finish(r.openEnd),r}}function xA(e,t){for(let n of t)e=new ZM(n,[e],e.length);return e}class _A extends cA{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}_A.inline=new _A("span"),_A.block=new _A("div");var EA=function(e){return e[e.LTR=0]="LTR",e[e.RTL=1]="RTL",e}(EA||(EA={}));const kA=EA.LTR,SA=EA.RTL;function CA(e){let t=[];for(let n=0;n=t){if(s.level==n)return r;(o<0||(0!=i?i<0?s.fromt:e[o].level>s.level))&&(o=r)}}if(o<0)throw new RangeError("Index out of range");return o}}function DA(e,t){if(e.length!=t.length)return!1;for(let n=0;nl&&s.push(new RA(l,f.from,p)),zA(e,f.direction==kA!=!(p%2)?i+1:i,o,f.inner,f.from,f.to,s),l=f.to),d=f.to}else{if(d==n||(t?LA[d]!=a:LA[d]==a))break;d++}h?NA(e,l,d,i+1,o,h,s):lt;){let n=!0,u=!1;if(!c||l>r[c-1].to){let e=LA[l-1];e!=a&&(n=!1,u=16==e)}let h=n||1!=a?null:[],p=n?i:i+1,d=l;e:for(;;)if(c&&d==r[c-1].to){if(u)break e;let f=r[--c];if(!n)for(let e=f.from,n=c;;){if(e==t)break e;if(!n||r[n-1].to!=e){if(LA[e-1]==a)break e;break}e=r[--n].from}h?h.push(f):(f.to=0;e-=3)if(AA[e+1]==-n){let t=AA[e+2],n=2&t?o:4&t?1&t?r:o:0;n&&(LA[s]=LA[AA[e]]=n),a=e;break}}else{if(189==AA.length)break;AA[a++]=s,AA[a++]=t,AA[a++]=l}else if(2==(i=LA[s])||1==i){let e=i==o;l=e?0:1;for(let t=a-3;t>=0;t-=3){let n=AA[t+2];if(2&n)break;if(e)AA[t+2]|=2;else{if(4&n)break;AA[t+2]|=4}}}}}(e,o,r,i,a),function(e,t,n,i){for(let o=0,r=i;o<=n.length;o++){let s=o?n[o-1].to:e,a=ol;)t==r&&(t=n[--i].from,r=i?n[i-1].to:e),LA[--t]=u;l=s}else r=s,l++}}}(o,r,i,a),NA(e,o,r,t,n,i,s)}function IA(e){return[new RA(0,e,0)]}let FA="";function $A(e,t,n,i,o){var r;let s=i.head-e.from,a=RA.find(t,s,null!==(r=i.bidiLevel)&&void 0!==r?r:-1,i.assoc),l=t[a],c=l.side(o,n);if(s==c){let e=a+=o?1:-1;if(e<0||e>=t.length)return null;l=t[a=e],s=l.side(!o,n),c=l.side(o,n)}let u=PO(e.text,s,l.forward(o,n));(ul.to)&&(u=c),FA=e.text.slice(Math.min(s,u),Math.max(s,u));let h=a==(o?t.length-1:0)?null:t[a+(o?1:-1)];return h&&u==c&&h.level+(o?0:1)e.some((e=>e))}),YA=YO.define({combine:e=>e.some((e=>e))}),KA=YO.define();class ZA{constructor(e,t="nearest",n="nearest",i=5,o=5,r=!1){this.range=e,this.y=t,this.x=n,this.yMargin=i,this.xMargin=o,this.isSnapshot=r}map(e){return e.empty?this:new ZA(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new ZA(QO.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const JA=_P.define({map:(e,t)=>e.map(t)}),eT=_P.define();function tT(e,t,n){let i=e.facet(WA);i.length?i[0](t):window.onerror?window.onerror(String(t),n,void 0,void 0,t):n?console.error(n+":",t):console.error(t)}const nT=YO.define({combine:e=>!e.length||e[0]});let iT=0;const oT=YO.define();class rT{constructor(e,t,n,i,o){this.id=e,this.create=t,this.domEventHandlers=n,this.domEventObservers=i,this.extension=o(this)}static define(e,t){const{eventHandlers:n,eventObservers:i,provide:o,decorations:r}=t||{};return new rT(iT++,e,n,i,(e=>{let t=[oT.of(e)];return r&&t.push(cT.of((t=>{let n=t.plugin(e);return n?r(n):hA.none}))),o&&t.push(o(e)),t}))}static fromClass(e,t){return rT.define((t=>new e(t)),t)}}class sT{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}update(e){if(this.value){if(this.mustUpdate){let e=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(e)}catch(t){if(tT(e.state,t,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(e){}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.create(e)}catch(t){tT(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(null===(t=this.value)||void 0===t?void 0:t.destroy)try{this.value.destroy()}catch(t){tT(e.state,t,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const aT=YO.define(),lT=YO.define(),cT=YO.define(),uT=YO.define(),hT=YO.define(),pT=YO.define();function dT(e,t){let n=e.state.facet(pT);if(!n.length)return n;let i=n.map((t=>t instanceof Function?t(e):t)),o=[];return FP.spans(i,t.from,t.to,{point(){},span(e,n,i,r){let s=e-t.from,a=n-t.from,l=o;for(let e=i.length-1;e>=0;e--,r--){let n,o=i[e].spec.bidiIsolate;if(null==o&&(o=jA(t.text,s,a)),r>0&&l.length&&(n=l[l.length-1]).to==s&&n.direction==o)n.to=a,l=n.inner;else{let e={from:s,to:a,direction:o,inner:[]};l.push(e),l=e.inner}}}}),o}const fT=YO.define();function mT(e){let t=0,n=0,i=0,o=0;for(let r of e.state.facet(fT)){let s=r(e);s&&(null!=s.left&&(t=Math.max(t,s.left)),null!=s.right&&(n=Math.max(n,s.right)),null!=s.top&&(i=Math.max(i,s.top)),null!=s.bottom&&(o=Math.max(o,s.bottom)))}return{left:t,right:n,top:i,bottom:o}}const gT=YO.define();class vT{constructor(e,t,n,i){this.fromA=e,this.toA=t,this.fromB=n,this.toB=i}join(e){return new vT(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let i=e[t-1];if(!(i.fromA>n.toA)){if(i.toAc)break;o+=2}if(!a)return n;new vT(a.fromA,a.toA,a.fromB,a.toB).addToSet(n),r=a.toA,s=a.toB}}}class yT{constructor(e,t,n){this.view=e,this.state=t,this.transactions=n,this.flags=0,this.startState=e.state,this.changes=FO.empty(this.startState.doc.length);for(let e of n)this.changes=this.changes.compose(e.changes);let i=[];this.changes.iterChangedRanges(((e,t,n,o)=>i.push(new vT(e,t,n,o)))),this.changedRanges=i}static create(e,t,n){return new yT(e,t,n)}get viewportChanged(){return(4&this.flags)>0}get heightChanged(){return(2&this.flags)>0}get geometryChanged(){return this.docChanged||(10&this.flags)>0}get focusChanged(){return(1&this.flags)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some((e=>e.selection))}get empty(){return 0==this.flags&&0==this.transactions.length}}class bT extends DM{get length(){return this.view.state.doc.length}constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,this.editContextFormatting=hA.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(e.contentDOM),this.children=[new vA],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new vT(0,0,0,e.state.doc.length)],0,null)}update(e){var t;let n=e.changedRanges;this.minWidth>0&&n.length&&(n.every((({fromA:e,toA:t})=>tthis.minWidthTo))?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let i=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&((null===(t=this.domChanged)||void 0===t?void 0:t.newSel)?i=this.domChanged.newSel.head:function(e,t){let n=!1;return t&&e.iterChangedRanges(((e,i)=>{et.from&&(n=!0)})),n}(e.changes,this.hasComposition)||e.selectionSet||(i=e.state.selection.main.head));let o=i>-1?function(e,t,n){let i=wT(e,n);if(!i)return null;let{node:o,from:r,to:s}=i,a=o.nodeValue;if(/[\n\r]/.test(a))return null;if(e.state.doc.sliceString(i.from,i.to)!=a)return null;let l=t.invertedDesc,c=new vT(l.mapPos(r),l.mapPos(s),r,s),u=[];for(let t=o.parentNode;;t=t.parentNode){let n=DM.get(t);if(n instanceof ZM)u.push({node:t,deco:n.mark});else{if(n instanceof vA||"DIV"==t.nodeName&&t.parentNode==e.contentDOM)return{range:c,text:o,marks:u,line:t};if(t==e.contentDOM)return null;u.push({node:t,deco:new pA({inclusive:!0,attributes:lA(t),tagName:t.tagName.toLowerCase()})})}}}(this.view,e.changes,i):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:t,to:i}=this.hasComposition;n=new vT(t,i,e.changes.mapPos(t,-1),e.changes.mapPos(i,1)).addToSet(n.slice())}this.hasComposition=o?{from:o.range.fromB,to:o.range.toB}:null,(YM.ie||YM.chrome)&&!o&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let r=function(e,t,n){let i=new xT;return FP.compare(e,t,n,i),i.changes}(this.decorations,this.updateDeco(),e.changes);return n=vT.extendWithRanges(n,r),!!(7&this.flags||0!=n.length)&&(this.updateInner(n,e.startState.doc.length,o),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t,n){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,n);let{observer:i}=this.view;i.ignore((()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let e=YM.chrome||YM.ios?{node:i.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,e),this.flags&=-8,e&&(e.written||i.selectionRange.focusNode!=e.node)&&(this.forceSelection=!0),this.dom.style.height=""})),this.markedForComposition.forEach((e=>e.flags&=-9));let o=[];if(this.view.viewport.from||this.view.viewport.to=0?i[e]:null;if(!t)break;let r,s,a,l,{fromA:c,toA:u,fromB:h,toB:p}=t;if(n&&n.range.fromBh){let e=wA.build(this.view.state.doc,h,n.range.fromB,this.decorations,this.dynamicDecorationMap),t=wA.build(this.view.state.doc,n.range.toB,p,this.decorations,this.dynamicDecorationMap);s=e.breakAtStart,a=e.openStart,l=t.openEnd;let i=this.compositionView(n);t.breakAtStart?i.breakAfter=1:t.content.length&&i.merge(i.length,i.length,t.content[0],!1,t.openStart,0)&&(i.breakAfter=t.content[0].breakAfter,t.content.shift()),e.content.length&&i.merge(0,0,e.content[e.content.length-1],!0,0,e.openEnd)&&e.content.pop(),r=e.content.concat(i).concat(t.content)}else({content:r,breakAtStart:s,openStart:a,openEnd:l}=wA.build(this.view.state.doc,h,p,this.decorations,this.dynamicDecorationMap));let{i:d,off:f}=o.findPos(u,1),{i:m,off:g}=o.findPos(c,-1);zM(this,m,g,d,f,r,s,a,l)}n&&this.fixCompositionDOM(n)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let t of e.transactions)for(let e of t.effects)e.is(eT)&&(this.editContextFormatting=e.value)}compositionView(e){let t=new KM(e.text.nodeValue);t.flags|=8;for(let{deco:n}of e.marks)t=new ZM(n,[t],t.length);let n=new vA;return n.append(t,0),n}fixCompositionDOM(e){let t=(e,t)=>{t.flags|=8|(t.children.some((e=>7&e.flags))?1:0),this.markedForComposition.add(t);let n=DM.get(e);n&&n!=t&&(n.dom=null),t.setDOM(e)},n=this.childPos(e.range.fromB,1),i=this.children[n.i];t(e.line,i);for(let o=e.marks.length-1;o>=-1;o--)n=i.childPos(n.off,1),i=i.children[n.i],t(o>=0?e.marks[o].node:e.text,i)}updateSelection(e=!1,t=!1){!e&&this.view.observer.selectionRange.focusNode||this.view.observer.readSelectionRange();let n=this.view.root.activeElement,i=n==this.dom,o=!i&&pM(this.dom,this.view.observer.selectionRange)&&!(n&&this.dom.contains(n));if(!(i||t||o))return;let r=this.forceSelection;this.forceSelection=!1;let s=this.view.state.selection.main,a=this.moveToLine(this.domAtPos(s.anchor)),l=s.empty?a:this.moveToLine(this.domAtPos(s.head));if(YM.gecko&&s.empty&&!this.hasComposition&&1==(c=a).node.nodeType&&c.node.firstChild&&(0==c.offset||"false"==c.node.childNodes[c.offset-1].contentEditable)&&(c.offset==c.node.childNodes.length||"false"==c.node.childNodes[c.offset].contentEditable)){let e=document.createTextNode("");this.view.observer.ignore((()=>a.node.insertBefore(e,a.node.childNodes[a.offset]||null))),a=l=new BM(e,0),r=!0}var c;let u=this.view.observer.selectionRange;!r&&u.focusNode&&(fM(a.node,a.offset,u.anchorNode,u.anchorOffset)&&fM(l.node,l.offset,u.focusNode,u.focusOffset)||this.suppressWidgetCursorChange(u,s))||(this.view.observer.ignore((()=>{YM.android&&YM.chrome&&this.dom.contains(u.focusNode)&&function(e,t){for(let n=e;n&&n!=t;n=n.assignedSlot||n.parentNode)if(1==n.nodeType&&"false"==n.contentEditable)return!0;return!1}(u.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let e=uM(this.view.root);if(e)if(s.empty){if(YM.gecko){let e=function(e,t){return 1!=e.nodeType?0:(t&&"false"==e.childNodes[t-1].contentEditable?1:0)|(ts.head&&([a,l]=[l,a]),t.setEnd(l.node,l.offset),t.setStart(a.node,a.offset),e.removeAllRanges(),e.addRange(t)}o&&this.view.root.activeElement==this.dom&&(this.dom.blur(),n&&n.focus())})),this.view.observer.setSelectionRange(a,l)),this.impreciseAnchor=a.precise?null:new BM(u.anchorNode,u.anchorOffset),this.impreciseHead=l.precise?null:new BM(u.focusNode,u.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&fM(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=uM(e.root),{anchorNode:i,anchorOffset:o}=e.observer.selectionRange;if(!(n&&t.empty&&t.assoc&&n.modify))return;let r=vA.find(this,t.head);if(!r)return;let s=r.posAtStart;if(t.head==s||t.head==s+r.length)return;let a=this.coordsAt(t.head,-1),l=this.coordsAt(t.head,1);if(!a||!l||a.bottom>l.top)return;let c=this.domAtPos(t.head+t.assoc);n.collapse(c.node,c.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let u=e.observer.selectionRange;e.docView.posFromDOM(u.anchorNode,u.anchorOffset)!=t.from&&n.collapse(i,o)}moveToLine(e){let t,n=this.dom;if(e.node!=n)return e;for(let i=e.offset;!t&&i=0;i--){let e=DM.get(n.childNodes[i]);e instanceof vA&&(t=e.domAtPos(e.length))}return t?new BM(t.node,t.offset,!0):e}nearest(e){for(let t=e;t;){let e=DM.get(t);if(e&&e.rootView==this)return e;t=t.parentNode}return null}posFromDOM(e,t){let n=this.nearest(e);if(!n)throw new RangeError("Trying to find position for a DOM position outside of the document");return n.localPosFromDOM(e,t)+n.posAtStart}domAtPos(e){let{i:t,off:n}=this.childCursor().findPos(e,-1);for(;t=0;r--){let s=this.children[r],a=o-s.breakAfter,l=a-s.length;if(ae||s.covers(1))&&(!n||s instanceof vA&&!(n instanceof vA&&t>=0)))n=s,i=l;else if(n&&l==e&&a==e&&s instanceof yA&&Math.abs(t)<2){if(s.deco.startSide<0)break;r&&(n=null)}o=l}return n?n.coordsAt(e-i,t):null}coordsForChar(e){let{i:t,off:n}=this.childPos(e,1),i=this.children[t];if(!(i instanceof vA))return null;for(;i.children.length;){let{i:e,off:t}=i.childPos(n,1);for(;;e++){if(e==i.children.length)return null;if((i=i.children[e]).length)break}n=t}if(!(i instanceof KM))return null;let o=PO(i.text,n);if(o==n)return null;let r=CM(i.dom,n,o).getClientRects();for(let e=0;eMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,s=-1,a=this.view.textDirection==EA.LTR;for(let e=0,l=0;li)break;if(e>=n){let n=c.dom.getBoundingClientRect();if(t.push(n.height),r){let t=c.dom.lastChild,i=t?dM(t):[];if(i.length){let t=i[i.length-1],r=a?t.right-n.left:n.right-t.left;r>s&&(s=r,this.minWidth=o,this.minWidthFrom=e,this.minWidthTo=u)}}}e=u+c.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return"rtl"==getComputedStyle(this.children[t].dom).direction?EA.RTL:EA.LTR}measureTextSize(){for(let e of this.children)if(e instanceof vA){let t=e.measureTextSize();if(t)return t}let e,t,n,i=document.createElement("div");return i.className="cm-line",i.style.width="99999px",i.style.position="absolute",i.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore((()=>{this.dom.appendChild(i);let o=dM(i.firstChild)[0];e=i.getBoundingClientRect().height,t=o?o.width/27:7,n=o?o.height:e,i.remove()})),{lineHeight:e,charWidth:t,textHeight:n}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new NM(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,i=0;;i++){let o=i==t.viewports.length?null:t.viewports[i],r=o?o.from-1:this.length;if(r>n){let i=(t.lineBlockAt(r).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(hA.replace({widget:new bA(i),block:!0,inclusive:!0,isBlockGap:!0}).range(n,r))}if(!o)break;n=o.to+1}return hA.set(e)}updateDeco(){let e=1,t=this.view.state.facet(cT).map((t=>(this.dynamicDecorationMap[e++]="function"==typeof t)?t(this.view):t)),n=!1,i=this.view.state.facet(uT).map(((e,t)=>{let i="function"==typeof e;return i&&(n=!0),i?e(this.view):e}));for(i.length&&(this.dynamicDecorationMap[e++]=n,t.push(FP.join(i))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];en.anchor?-1:1);if(!i)return;!n.empty&&(t=this.coordsAt(n.anchor,n.anchor>n.head?-1:1))&&(i={left:Math.min(i.left,t.left),top:Math.min(i.top,t.top),right:Math.max(i.right,t.right),bottom:Math.max(i.bottom,t.bottom)});let o=mT(this.view),r={left:i.left-o.left,top:i.top-o.top,right:i.right+o.right,bottom:i.bottom+o.bottom},{offsetWidth:s,offsetHeight:a}=this.view.scrollDOM;!function(e,t,n,i,o,r,s,a){let l=e.ownerDocument,c=l.defaultView||window;for(let u=e,h=!1;u&&!h;)if(1==u.nodeType){let e,p=u==l.body,d=1,f=1;if(p)e=wM(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(u).position)&&(h=!0),u.scrollHeight<=u.clientHeight&&u.scrollWidth<=u.clientWidth){u=u.assignedSlot||u.parentNode;continue}let t=u.getBoundingClientRect();({scaleX:d,scaleY:f}=xM(u,t)),e={left:t.left,right:t.left+u.clientWidth*d,top:t.top,bottom:t.top+u.clientHeight*f}}let m=0,g=0;if("nearest"==o)t.top0&&t.bottom>e.bottom+g&&(g=t.bottom-e.bottom+g+s)):t.bottom>e.bottom&&(g=t.bottom-e.bottom+s,n<0&&t.top-g0&&t.right>e.right+m&&(m=t.right-e.right+m+r)):t.right>e.right&&(m=t.right-e.right+r,n<0&&t.lefte?t.left-e:Math.max(0,e-t.right)}function ET(e,t){return t.top>e?t.top-e:Math.max(0,e-t.bottom)}function kT(e,t){return e.topt.top+1}function ST(e,t){return te.bottom?{top:e.top,left:e.left,right:e.right,bottom:t}:e}function OT(e,t,n){let i,o,r,s,a,l,c,u,h=!1;for(let p=e.firstChild;p;p=p.nextSibling){let e=dM(p);for(let d=0;dg||s==g&&r>m){i=p,o=f,r=m,s=g;let a=g?n0?d0)}0==m?n>f.bottom&&(!c||c.bottomf.top)&&(l=p,u=f):c&&kT(c,f)?c=CT(c,f.bottom):u&&kT(u,f)&&(u=ST(u,f.top))}}if(c&&c.bottom>=n?(i=a,o=c):u&&u.top<=n&&(i=l,o=u),!i)return{node:e,offset:0};let p=Math.max(o.left,Math.min(o.right,t));return 3==i.nodeType?PT(i,p,n):h&&"false"!=i.contentEditable?OT(i,p,n):{node:e,offset:Array.prototype.indexOf.call(e.childNodes,i)+(t>=(o.left+o.right)/2?1:0)}}function PT(e,t,n){let i=e.nodeValue.length,o=-1,r=1e9,s=0;for(let a=0;an?c.top-n:n-c.bottom)-1;if(c.left-1<=t&&c.right+1>=t&&u=(c.left+c.right)/2,i=n;if((YM.chrome||YM.gecko)&&CM(e,a).getBoundingClientRect().left==c.right&&(i=!n),u<=0)return{node:e,offset:a+(i?1:0)};o=a+(i?1:0),r=u}}}return{node:e,offset:o>-1?o:s>0?e.nodeValue.length:0}}function MT(e,t,n,i=-1){var o,r;let s,a=e.contentDOM.getBoundingClientRect(),l=a.top+e.viewState.paddingTop,{docHeight:c}=e.viewState,{x:u,y:h}=t,p=h-l;if(p<0)return 0;if(p>c)return e.state.doc.length;for(let t=e.viewState.heightOracle.textHeight/2,o=!1;s=e.elementAtHeight(p),s.type!=uA.Text;)for(;p=i>0?s.bottom+t:s.top-t,!(p>=0&&p<=c);){if(o)return n?null:0;o=!0,i=-i}h=l+p;let d=s.from;if(de.viewport.to)return e.viewport.to==e.state.doc.length?e.state.doc.length:n?null:AT(e,a,s,u,h);let f=e.dom.ownerDocument,m=e.root.elementFromPoint?e.root:f,g=m.elementFromPoint(u,h);g&&!e.contentDOM.contains(g)&&(g=null),g||(u=Math.max(a.left+1,Math.min(a.right-1,u)),g=m.elementFromPoint(u,h),g&&!e.contentDOM.contains(g)&&(g=null));let v,y=-1;if(g&&0!=(null===(o=e.docView.nearest(g))||void 0===o?void 0:o.isEditable))if(f.caretPositionFromPoint){let e=f.caretPositionFromPoint(u,h);e&&({offsetNode:v,offset:y}=e)}else if(f.caretRangeFromPoint){let t=f.caretRangeFromPoint(u,h);t&&(({startContainer:v,startOffset:y}=t),(!e.contentDOM.contains(v)||YM.safari&&function(e,t,n){let i;if(3!=e.nodeType||t!=(i=e.nodeValue.length))return!1;for(let t=e.nextSibling;t;t=t.nextSibling)if(1!=t.nodeType||"BR"!=t.nodeName)return!1;return CM(e,i-1,i).getBoundingClientRect().left>n}(v,y,u)||YM.chrome&&function(e,t,n){if(0!=t)return!1;for(let t=e;;){let e=t.parentNode;if(!e||1!=e.nodeType||e.firstChild!=t)return!1;if(e.classList.contains("cm-line"))break;t=e}return n-(1==e.nodeType?e.getBoundingClientRect():CM(e,0,Math.max(e.nodeValue.length,1)).getBoundingClientRect()).left>5}(v,y,u))&&(v=void 0))}if(!v||!e.docView.dom.contains(v)){let t=vA.find(e.docView,d);if(!t)return p>s.top+s.height/2?s.to:s.from;({node:v,offset:y}=OT(t.dom,u,h))}let b=e.docView.nearest(v);if(!b)return null;if(b.isWidget&&1==(null===(r=b.dom)||void 0===r?void 0:r.nodeType)){let e=b.dom.getBoundingClientRect();return t.y1.5*e.defaultLineHeight){let t=e.viewState.heightOracle.textHeight;r+=Math.floor((o-n.top-.5*(e.defaultLineHeight-t))/t)*e.viewState.heightOracle.lineLength}let s=e.state.sliceDoc(n.from,n.to);return n.from+function(e,t,n,i){for(let i=0,o=0;;){if(o>=t)return i;if(i==e.length)break;o+=9==e.charCodeAt(i)?n-o%n:1,i=PO(e,i)}return e.length}(s,r,e.state.tabSize)}function TT(e,t,n,i){let o=e.state.doc.lineAt(t.head),r=e.bidiSpans(o),s=e.textDirectionAt(o.from);for(let a=t,l=null;;){let t=$A(o,r,s,a,n),c=FA;if(!t){if(o.number==(n?e.state.doc.lines:1))return a;c="\n",o=e.state.doc.line(o.number+(n?1:-1)),r=e.bidiSpans(o),t=e.visualLineSide(o,!n)}if(l){if(!l(c))return a}else{if(!i)return t;l=i(c)}a=t}}function BT(e,t,n){for(;;){let i=0;for(let o of e)o.between(t-1,t+1,((e,o,r)=>{if(t>e&&tt(e))),n.from,t.head>n.from?-1:1);return i==n.from?n:QO.cursor(i,ie)&&this.lineBreak(),i=o}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,i=this.lineSeparator?null:/\r\n?|\n/g;;){let o,r=-1,s=1;if(this.lineSeparator?(r=t.indexOf(this.lineSeparator,n),s=this.lineSeparator.length):(o=i.exec(t))&&(r=o.index,s=o[0].length),this.append(t.slice(n,r<0?t.length:r)),r<0)break;if(this.lineBreak(),s>1)for(let t of this.points)t.node==e&&t.pos>this.text.length&&(t.pos-=s-1);n=r+s}}readNode(e){if(e.cmIgnore)return;let t=DM.get(e),n=t&&t.overrideDOMText;if(null!=n){this.findPointInside(e,n.length);for(let e=n.iter();!e.next().done;)e.lineBreak?this.lineBreak():this.append(e.value)}else 3==e.nodeType?this.readTextNode(e):"BR"==e.nodeName?e.nextSibling&&this.lineBreak():1==e.nodeType&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(3==e.nodeType?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(NT(e,n.node,n.offset)?t:0))}}function NT(e,t,n){for(;;){if(!t||n-1;let{impreciseHead:o,impreciseAnchor:r}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,n,0))){let t=o||r?[]:function(e){let t=[];if(e.root.activeElement!=e.contentDOM)return t;let{anchorNode:n,anchorOffset:i,focusNode:o,focusOffset:r}=e.observer.selectionRange;return n&&(t.push(new zT(n,i)),o==n&&r==i||t.push(new zT(o,r))),t}(e),n=new LT(t,e.state);n.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=n.text,this.newSel=function(e,t){if(0==e.length)return null;let n=e[0].pos,i=2==e.length?e[1].pos:n;return n>-1&&i>-1?QO.single(n+t,i+t):null}(t,this.bounds.from)}else{let t=e.observer.selectionRange,n=o&&o.node==t.focusNode&&o.offset==t.focusOffset||!hM(e.contentDOM,t.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(t.focusNode,t.focusOffset),i=r&&r.node==t.anchorNode&&r.offset==t.anchorOffset||!hM(e.contentDOM,t.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(t.anchorNode,t.anchorOffset),s=e.viewport;if((YM.ios||YM.chrome)&&e.state.selection.main.empty&&n!=i&&(s.from>0||s.toDate.now()-100?e.inputState.lastKeyCode:-1;if(t.bounds){let{from:i,to:s}=t.bounds,a=o.from,l=null;(8===r||YM.android&&t.text.length0&&a>0&&e.charCodeAt(s-1)==t.charCodeAt(a-1);)s--,a--;return"end"==i&&(n-=s+Math.max(0,r-Math.min(s,a))-r),s=s?r-n:0,a=r+(a-s),s=r):a=a?r-n:0,s=r+(s-a),a=r),{from:r,toA:s,toB:a}}(e.state.doc.sliceString(i,s,DT),t.text,a-i,l);c&&(YM.chrome&&13==r&&c.toB==c.from+2&&t.text.slice(c.from,c.toB)==DT+DT&&c.toB--,n={from:i+c.from,to:i+c.toA,insert:fO.of(t.text.slice(c.from,c.toB).split(DT))})}else i&&(!e.hasFocus&&e.state.facet(nT)||i.main.eq(o))&&(i=null);if(!n&&!i)return!1;if(!n&&t.typeOver&&!o.empty&&i&&i.main.empty?n={from:o.from,to:o.to,insert:e.state.doc.slice(o.from,o.to)}:n&&n.from>=o.from&&n.to<=o.to&&(n.from!=o.from||n.to!=o.to)&&o.to-o.from-(n.to-n.from)<=4?n={from:o.from,to:o.to,insert:e.state.doc.slice(o.from,n.from).append(n.insert).append(e.state.doc.slice(n.to,o.to))}:(YM.mac||YM.android)&&n&&n.from==n.to&&n.from==o.head-1&&/^\. ?$/.test(n.insert.toString())&&"off"==e.contentDOM.getAttribute("autocorrect")?(i&&2==n.insert.length&&(i=QO.single(i.main.anchor-1,i.main.head-1)),n={from:o.from,to:o.to,insert:fO.of([" "])}):YM.chrome&&n&&n.from==n.to&&n.from==o.head&&"\n "==n.insert.toString()&&e.lineWrapping&&(i&&(i=QO.single(i.main.anchor-1,i.main.head-1)),n={from:o.from,to:o.to,insert:fO.of([" "])}),n)return $T(e,n,i,r);if(i&&!i.main.eq(o)){let t=!1,n="select";return e.inputState.lastSelectionTime>Date.now()-50&&("select"==e.inputState.lastSelectionOrigin&&(t=!0),n=e.inputState.lastSelectionOrigin),e.dispatch({selection:i,scrollIntoView:t,userEvent:n}),!0}return!1}function $T(e,t,n,i=-1){if(YM.ios&&e.inputState.flushIOSKey(t))return!0;let o=e.state.selection.main;if(YM.android&&(t.to==o.to&&(t.from==o.from||t.from==o.from-1&&" "==e.state.sliceDoc(t.from,o.from))&&1==t.insert.length&&2==t.insert.lines&&OM(e.contentDOM,"Enter",13)||(t.from==o.from-1&&t.to==o.to&&0==t.insert.length||8==i&&t.insert.lengtho.head)&&OM(e.contentDOM,"Backspace",8)||t.from==o.from&&t.to==o.to+1&&0==t.insert.length&&OM(e.contentDOM,"Delete",46)))return!0;let r,s=t.insert.toString();e.inputState.composing>=0&&e.inputState.composing++;let a=()=>r||(r=function(e,t,n){let i,o=e.state,r=o.selection.main;if(t.from>=r.from&&t.to<=r.to&&t.to-t.from>=(r.to-r.from)/3&&(!n||n.main.empty&&n.main.from==t.from+t.insert.length)&&e.inputState.composing<0){let n=r.fromt.to?o.sliceDoc(t.to,r.to):"";i=o.replaceSelection(e.state.toText(n+t.insert.sliceString(0,void 0,e.state.lineBreak)+s))}else{let s=o.changes(t),a=n&&n.main.to<=s.newLength?n.main:void 0;if(o.selection.ranges.length>1&&e.inputState.composing>=0&&t.to<=r.to&&t.to>=r.to-10){let l,c=e.state.sliceDoc(t.from,t.to),u=n&&wT(e,n.main.head);if(u){let e=t.insert.length-(t.to-t.from);l={from:u.from,to:u.to-e}}else l=e.state.doc.lineAt(r.head);let h=r.to-t.to,p=r.to-r.from;i=o.changeByRange((n=>{if(n.from==r.from&&n.to==r.to)return{changes:s,range:a||n.map(s)};let i=n.to-h,u=i-c.length;if(n.to-n.from!=p||e.state.sliceDoc(u,i)!=c||n.to>=l.from&&n.from<=l.to)return{range:n};let d=o.changes({from:u,to:i,insert:t.insert}),f=n.to-r.to;return{changes:d,range:a?QO.range(Math.max(0,a.anchor+f),Math.max(0,a.head+f)):n.map(d)}}))}else i={changes:s,selection:a&&o.selection.replaceRange(a)}}let s="input.type";return(e.composing||e.inputState.compositionPendingChange&&e.inputState.compositionEndedAt>Date.now()-50)&&(e.inputState.compositionPendingChange=!1,s+=".compose",e.inputState.compositionFirstChange&&(s+=".start",e.inputState.compositionFirstChange=!1)),o.update(i,{userEvent:s,scrollIntoView:!0})}(e,t,n));return e.state.facet(QA).some((n=>n(e,t.from,t.to,s,a)))||e.dispatch(a()),!0}class jT{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,YM.safari&&e.contentDOM.addEventListener("input",(()=>null)),YM.gecko&&function(e){dB.has(e)||(dB.add(e),e.addEventListener("copy",(()=>{})),e.addEventListener("cut",(()=>{})))}(e.contentDOM.ownerDocument)}handleEvent(e){(function(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let n,i=t.target;i!=e.contentDOM;i=i.parentNode)if(!i||11==i.nodeType||(n=DM.get(i))&&n.ignoreEvent(t))return!1;return!0})(this.view,e)&&!this.ignoreDuringComposition(e)&&("keydown"==e.type&&this.keydown(e)||this.runHandlers(e.type,e))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let e of n.observers)e(this.view,t);for(let e of n.handlers){if(t.defaultPrevented)break;if(e(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=HT(e),n=this.handlers,i=this.view.contentDOM;for(let e in t)if("scroll"!=e){let o=!t[e].handlers.length,r=n[e];r&&o!=!r.handlers.length&&(i.removeEventListener(e,this.handleEvent),r=null),r||i.addEventListener(e,this.handleEvent,{passive:o})}for(let e in n)"scroll"==e||t[e]||i.removeEventListener(e,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),9==e.keyCode&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&27!=e.keyCode&>.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),YM.android&&YM.chrome&&!e.synthetic&&(13==e.keyCode||8==e.keyCode))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let t;return!YM.ios||e.synthetic||e.altKey||e.metaKey||!((t=VT.find((t=>t.keyCode==e.keyCode)))&&!e.ctrlKey||WT.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(229!=e.keyCode&&this.view.observer.forceFlush(),!1):(this.pendingIOSKey=t||e,setTimeout((()=>this.flushIOSKey()),250),!0)}flushIOSKey(e){let t=this.pendingIOSKey;return!!t&&!("Enter"==t.key&&e&&e.from0||!!(YM.safari&&!YM.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100)&&(this.compositionPendingKey=!1,!0))}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function qT(e,t){return(n,i)=>{try{return t.call(e,i,n)}catch(e){tT(n.state,e)}}}function HT(e){let t=Object.create(null);function n(e){return t[e]||(t[e]={observers:[],handlers:[]})}for(let t of e){let e=t.spec;if(e&&e.domEventHandlers)for(let i in e.domEventHandlers){let o=e.domEventHandlers[i];o&&n(i).handlers.push(qT(t.value,o))}if(e&&e.domEventObservers)for(let i in e.domEventObservers){let o=e.domEventObservers[i];o&&n(i).observers.push(qT(t.value,o))}}for(let e in UT)n(e).handlers.push(UT[e]);for(let e in YT)n(e).observers.push(YT[e]);return t}const VT=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],WT="dthko",GT=[16,17,18,20,91,92,224,225];function QT(e){return.7*Math.max(0,e)+8}class XT{constructor(e,t,n,i){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=i,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=function(e){let t,n,i=e.ownerDocument;for(let o=e.parentNode;o&&!(o==i.body||t&&n);)if(1==o.nodeType)!n&&o.scrollHeight>o.clientHeight&&(n=o),!t&&o.scrollWidth>o.clientWidth&&(t=o),o=o.assignedSlot||o.parentNode;else{if(11!=o.nodeType)break;o=o.host}return{x:t,y:n}}(e.contentDOM),this.atoms=e.state.facet(hT).map((t=>t(e)));let o=e.contentDOM.ownerDocument;o.addEventListener("mousemove",this.move=this.move.bind(this)),o.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(RP.allowMultipleSelections)&&function(e,t){let n=e.state.facet(qA);return n.length?n[0](t):YM.mac?t.metaKey:t.ctrlKey}(e,t),this.dragging=!(!function(e,t){let{main:n}=e.state.selection;if(n.empty)return!1;let i=uM(e.root);if(!i||0==i.rangeCount)return!0;let o=i.getRangeAt(0).getClientRects();for(let e=0;e=t.clientX&&n.top<=t.clientY&&n.bottom>=t.clientY)return!0}return!1}(e,t)||1!=aB(t))&&null}start(e){!1===this.dragging&&this.select(e)}move(e){if(0==e.buttons)return this.destroy();if(this.dragging||null==this.dragging&&function(e,t){return Math.max(Math.abs(e.clientX-t.clientX),Math.abs(e.clientY-t.clientY))}(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,n=0,i=0,o=0,r=this.view.win.innerWidth,s=this.view.win.innerHeight;this.scrollParents.x&&({left:i,right:r}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:o,bottom:s}=this.scrollParents.y.getBoundingClientRect());let a=mT(this.view);e.clientX-a.left<=i+6?t=-QT(i-e.clientX):e.clientX+a.right>=r-6&&(t=QT(e.clientX-r)),e.clientY-a.top<=o+6?n=-QT(o-e.clientY):e.clientY+a.bottom>=s-6&&(n=QT(e.clientY-s)),this.setScrollSpeed(t,n)}up(e){null==this.dragging&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval((()=>this.scroll()),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),!1===this.dragging&&this.select(this.lastEvent)}skipAtoms(e){let t=null;for(let n=0;ne.isUserEvent("input.type")))?this.destroy():this.style.update(e)&&setTimeout((()=>this.select(this.lastEvent)),20)}}const UT=Object.create(null),YT=Object.create(null),KT=YM.ie&&YM.ie_version<15||YM.ios&&YM.webkit_version<604;function ZT(e,t){let n,{state:i}=e,o=1,r=i.toText(t),s=r.lines==i.selection.ranges.length;if(null!=cB&&i.selection.ranges.every((e=>e.empty))&&cB==r.toString()){let e=-1;n=i.changeByRange((n=>{let a=i.doc.lineAt(n.from);if(a.from==e)return{range:n};e=a.from;let l=i.toText((s?r.line(o++).text:t)+i.lineBreak);return{changes:{from:a.from,insert:l},range:QO.cursor(n.from+l.length)}}))}else n=s?i.changeByRange((e=>{let t=r.line(o++);return{changes:{from:e.from,to:e.to,insert:t.text},range:QO.cursor(e.from+t.length)}})):i.replaceSelection(r);e.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}function JT(e,t,n,i){if(1==i)return QO.cursor(t,n);if(2==i)return function(e,t,n=1){let i=e.charCategorizer(t),o=e.doc.lineAt(t),r=t-o.from;if(0==o.length)return QO.cursor(t);0==r?n=1:r==o.length&&(n=-1);let s=r,a=r;n<0?s=PO(o.text,r,!1):a=PO(o.text,r);let l=i(o.text.slice(s,a));for(;s>0;){let e=PO(o.text,s,!1);if(i(o.text.slice(e,s))!=l)break;s=e}for(;a{e.inputState.lastScrollTop=e.scrollDOM.scrollTop,e.inputState.lastScrollLeft=e.scrollDOM.scrollLeft},UT.keydown=(e,t)=>(e.inputState.setSelectionOrigin("select"),27==t.keyCode&&0!=e.inputState.tabFocusMode&&(e.inputState.tabFocusMode=Date.now()+2e3),!1),YT.touchstart=(e,t)=>{e.inputState.lastTouchTime=Date.now(),e.inputState.setSelectionOrigin("select.pointer")},YT.touchmove=e=>{e.inputState.setSelectionOrigin("select.pointer")},UT.mousedown=(e,t)=>{if(e.observer.flush(),e.inputState.lastTouchTime>Date.now()-2e3)return!1;let n=null;for(let i of e.state.facet(VA))if(n=i(e,t),n)break;if(n||0!=t.button||(n=function(e,t){let n=nB(e,t),i=aB(t),o=e.state.selection;return{update(e){e.docChanged&&(n.pos=e.changes.mapPos(n.pos),o=o.map(e.changes))},get(t,r,s){let a,l=nB(e,t),c=JT(e,l.pos,l.bias,i);if(n.pos!=l.pos&&!r){let t=JT(e,n.pos,n.bias,i),o=Math.min(t.from,c.from),r=Math.max(t.to,c.to);c=o1&&(a=function(e,t){for(let n=0;n=t)return QO.create(e.ranges.slice(0,n).concat(e.ranges.slice(n+1)),e.mainIndex==n?0:e.mainIndex-(e.mainIndex>n?1:0))}return null}(o,l.pos))?a:s?o.addRange(c):QO.create([c])}}}(e,t)),n){let i=!e.hasFocus;e.inputState.startMouseSelection(new XT(e,t,n,i)),i&&e.observer.ignore((()=>{SM(e.contentDOM);let t=e.root.activeElement;t&&!t.contains(e.contentDOM)&&t.blur()}));let o=e.inputState.mouseSelection;if(o)return o.start(t),!1===o.dragging}return!1};let eB=(e,t,n)=>t>=n.top&&t<=n.bottom&&e>=n.left&&e<=n.right;function tB(e,t,n,i){let o=vA.find(e.docView,t);if(!o)return 1;let r=t-o.posAtStart;if(0==r)return 1;if(r==o.length)return-1;let s=o.coordsAt(r,-1);if(s&&eB(n,i,s))return-1;let a=o.coordsAt(r,1);return a&&eB(n,i,a)?1:s&&s.bottom>=i?-1:1}function nB(e,t){let n=e.posAtCoords({x:t.clientX,y:t.clientY},!1);return{pos:n,bias:tB(e,n,t.clientX,t.clientY)}}const iB=YM.ie&&YM.ie_version<=11;let oB=null,rB=0,sB=0;function aB(e){if(!iB)return e.detail;let t=oB,n=sB;return oB=e,sB=Date.now(),rB=!t||n>Date.now()-400&&Math.abs(t.clientX-e.clientX)<2&&Math.abs(t.clientY-e.clientY)<2?(rB+1)%3:1}function lB(e,t,n,i){if(!n)return;let o=e.posAtCoords({x:t.clientX,y:t.clientY},!1),{draggedContent:r}=e.inputState,s=i&&r&&function(e,t){let n=e.state.facet(HA);return n.length?n[0](t):YM.mac?!t.altKey:!t.ctrlKey}(e,t)?{from:r.from,to:r.to}:null,a={from:o,insert:n},l=e.state.changes(s?[s,a]:a);e.focus(),e.dispatch({changes:l,selection:{anchor:l.mapPos(o,-1),head:l.mapPos(o,1)},userEvent:s?"move.drop":"input.drop"}),e.inputState.draggedContent=null}UT.dragstart=(e,t)=>{let{selection:{main:n}}=e.state;if(t.target.draggable){let i=e.docView.nearest(t.target);if(i&&i.isWidget){let e=i.posAtStart,t=e+i.length;(e>=n.to||t<=n.from)&&(n=QO.range(e,t))}}let{inputState:i}=e;return i.mouseSelection&&(i.mouseSelection.dragging=!0),i.draggedContent=n,t.dataTransfer&&(t.dataTransfer.setData("Text",e.state.sliceDoc(n.from,n.to)),t.dataTransfer.effectAllowed="copyMove"),!1},UT.dragend=e=>(e.inputState.draggedContent=null,!1),UT.drop=(e,t)=>{if(!t.dataTransfer)return!1;if(e.state.readOnly)return!0;let n=t.dataTransfer.files;if(n&&n.length){let i=Array(n.length),o=0,r=()=>{++o==n.length&&lB(e,t,i.filter((e=>null!=e)).join(e.state.lineBreak),!1)};for(let e=0;e{/[\x00-\x08\x0e-\x1f]{2}/.test(t.result)||(i[e]=t.result),r()},t.readAsText(n[e])}return!0}{let n=t.dataTransfer.getData("Text");if(n)return lB(e,t,n,!0),!0}return!1},UT.paste=(e,t)=>{if(e.state.readOnly)return!0;e.observer.flush();let n=KT?null:t.clipboardData;return n?(ZT(e,n.getData("text/plain")||n.getData("text/uri-list")),!0):(function(e){let t=e.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.focus(),setTimeout((()=>{e.focus(),n.remove(),ZT(e,n.value)}),50)}(e),!1)};let cB=null;UT.copy=UT.cut=(e,t)=>{let{text:n,ranges:i,linewise:o}=function(e){let t=[],n=[],i=!1;for(let i of e.selection.ranges)i.empty||(t.push(e.sliceDoc(i.from,i.to)),n.push(i));if(!t.length){let o=-1;for(let{from:i}of e.selection.ranges){let r=e.doc.lineAt(i);r.number>o&&(t.push(r.text),n.push({from:r.from,to:Math.min(e.doc.length,r.to+1)})),o=r.number}i=!0}return{text:t.join(e.lineBreak),ranges:n,linewise:i}}(e.state);if(!n&&!o)return!1;cB=o?n:null,"cut"!=t.type||e.state.readOnly||e.dispatch({changes:i,scrollIntoView:!0,userEvent:"delete.cut"});let r=KT?null:t.clipboardData;return r?(r.clearData(),r.setData("text/plain",n),!0):(function(e,t){let n=e.dom.parentNode;if(!n)return;let i=n.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=t,i.focus(),i.selectionEnd=t.length,i.selectionStart=0,setTimeout((()=>{i.remove(),e.focus()}),50)}(e,n),!1)};const uB=bP.define();function hB(e,t){let n=[];for(let i of e.facet(XA)){let o=i(e,t);o&&n.push(o)}return n?e.update({effects:n,annotations:uB.of(!0)}):null}function pB(e){setTimeout((()=>{let t=e.hasFocus;if(t!=e.inputState.notifiedFocused){let n=hB(e.state,t);n?e.dispatch(n):e.update([])}}),10)}YT.focus=e=>{e.inputState.lastFocusTime=Date.now(),e.scrollDOM.scrollTop||!e.inputState.lastScrollTop&&!e.inputState.lastScrollLeft||(e.scrollDOM.scrollTop=e.inputState.lastScrollTop,e.scrollDOM.scrollLeft=e.inputState.lastScrollLeft),pB(e)},YT.blur=e=>{e.observer.clearSelectionRange(),pB(e)},YT.compositionstart=YT.compositionupdate=e=>{e.observer.editContext||(null==e.inputState.compositionFirstChange&&(e.inputState.compositionFirstChange=!0),e.inputState.composing<0&&(e.inputState.composing=0))},YT.compositionend=e=>{e.observer.editContext||(e.inputState.composing=-1,e.inputState.compositionEndedAt=Date.now(),e.inputState.compositionPendingKey=!0,e.inputState.compositionPendingChange=e.observer.pendingRecords().length>0,e.inputState.compositionFirstChange=null,YM.chrome&&YM.android?e.observer.flushSoon():e.inputState.compositionPendingChange?Promise.resolve().then((()=>e.observer.flush())):setTimeout((()=>{e.inputState.composing<0&&e.docView.hasComposition&&e.update([])}),50))},YT.contextmenu=e=>{e.inputState.lastContextMenu=Date.now()},UT.beforeinput=(e,t)=>{var n,i;if("insertReplacementText"==t.inputType&&e.observer.editContext){let i=null===(n=t.dataTransfer)||void 0===n?void 0:n.getData("text/plain"),o=t.getTargetRanges();if(i&&o.length){let t=o[0],n=e.posAtDOM(t.startContainer,t.startOffset),r=e.posAtDOM(t.endContainer,t.endOffset);return $T(e,{from:n,to:r,insert:e.state.toText(i)},null),!0}}let o;if(YM.chrome&&YM.android&&(o=VT.find((e=>e.inputType==t.inputType)))&&(e.observer.delayAndroidKey(o.key,o.keyCode),"Backspace"==o.key||"Delete"==o.key)){let t=(null===(i=window.visualViewport)||void 0===i?void 0:i.height)||0;setTimeout((()=>{var n;((null===(n=window.visualViewport)||void 0===n?void 0:n.height)||0)>t+10&&e.hasFocus&&(e.contentDOM.blur(),e.focus())}),100)}return YM.ios&&"deleteContentForward"==t.inputType&&e.observer.flushSoon(),YM.safari&&"insertText"==t.inputType&&e.inputState.composing>=0&&setTimeout((()=>YT.compositionend(e,t)),20),!1};const dB=new Set,fB=["pre-wrap","normal","pre-line","break-spaces"];let mB=!1;function gB(){mB=!1}class vB{constructor(e){this.lineWrapping=e,this.doc=fO.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/(this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return fB.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n-1,a=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=s;if(this.lineWrapping=s,this.lineHeight=t,this.charWidth=n,this.textHeight=i,this.lineLength=o,a){this.heightSamples={};for(let e=0;e0}set outdated(e){this.flags=(e?2:0)|-3&this.flags}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>xB&&(mB=!0),this.height=e)}replace(e,t,n){return _B.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,i){let o=this,r=n.doc;for(let s=i.length-1;s>=0;s--){let{fromA:a,toA:l,fromB:c,toB:u}=i[s],h=o.lineAt(a,wB.ByPosNoHeight,n.setDoc(t),0,0),p=h.to>=l?h:o.lineAt(l,wB.ByPosNoHeight,n,0,0);for(u+=p.to-l,l=p.to;s>0&&h.from<=i[s-1].toA;)a=i[s-1].fromA,c=i[s-1].fromB,s--,a2*o){let o=e[t-1];o.break?e.splice(--t,1,o.left,null,o.right):e.splice(--t,1,o.left,o.right),n+=1+o.break,i-=o.size}else{if(!(o>2*i))break;{let t=e[n];t.break?e.splice(n,1,t.left,null,t.right):e.splice(n,1,t.left,t.right),n+=2+t.break,o-=t.size}}else if(i=o&&r(this.blockAt(0,n,i,o))}updateHeight(e,t=0,n=!1,i){return i&&i.from<=t&&i.more&&this.setHeight(i.heights[i.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class SB extends kB{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,n,i){return new bB(i,this.length,n,this.height,this.breaks)}replace(e,t,n){let i=n[0];return 1==n.length&&(i instanceof SB||i instanceof CB&&4&i.flags)&&Math.abs(this.length-i.length)<10?(i instanceof CB?i=new SB(i.length,this.height):i.height=this.height,this.outdated||(i.outdated=!1),i):_B.of(n)}updateHeight(e,t=0,n=!1,i){return i&&i.from<=t&&i.more?this.setHeight(i.heights[i.index++]):(n||this.outdated)&&this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class CB extends _B{constructor(e){super(e,0)}heightMetrics(e,t){let n,i=e.doc.lineAt(t).number,o=e.doc.lineAt(t+this.length).number,r=o-i+1,s=0;if(e.lineWrapping){let t=Math.min(this.height,e.lineHeight*r);n=t/r,this.length>r+1&&(s=(this.height-t)/(this.length-r-1))}else n=this.height/r;return{firstLine:i,lastLine:o,perLine:n,perChar:s}}blockAt(e,t,n,i){let{firstLine:o,lastLine:r,perLine:s,perChar:a}=this.heightMetrics(t,i);if(t.lineWrapping){let o=i+(e0){let e=n[n.length-1];e instanceof CB?n[n.length-1]=new CB(e.length+i):n.push(null,new CB(i-1))}if(e>0){let t=n[0];t instanceof CB?n[0]=new CB(e+t.length):n.unshift(new CB(e-1),null)}return _B.of(n)}decomposeLeft(e,t){t.push(new CB(e-1),null)}decomposeRight(e,t){t.push(null,new CB(this.length-e-1))}updateHeight(e,t=0,n=!1,i){let o=t+this.length;if(i&&i.from<=t+this.length&&i.more){let n=[],r=Math.max(t,i.from),s=-1;for(i.from>t&&n.push(new CB(i.from-t-1).updateHeight(e,t));r<=o&&i.more;){let t=e.doc.lineAt(r).length;n.length&&n.push(null);let o=i.heights[i.index++];-1==s?s=o:Math.abs(o-s)>=xB&&(s=-2);let a=new SB(t,o);a.outdated=!1,n.push(a),r+=t+1}r<=o&&n.push(null,new CB(o-r).updateHeight(e,r));let a=_B.of(n);return(s<0||Math.abs(a.height-this.height)>=xB||Math.abs(s-this.heightMetrics(e,t).perLine)>=xB)&&(mB=!0),EB(this,a)}return(n||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}}class OB extends _B{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return 1&this.flags}blockAt(e,t,n,i){let o=n+this.left.height;return es))return l;let c=t==wB.ByPosNoHeight?wB.ByPosNoHeight:wB.ByPos;return a?l.join(this.right.lineAt(s,c,n,r,s)):this.left.lineAt(s,c,n,i,o).join(l)}forEachLine(e,t,n,i,o,r){let s=i+this.left.height,a=o+this.left.length+this.break;if(this.break)e=a&&this.right.forEachLine(e,t,n,s,a,r);else{let l=this.lineAt(a,wB.ByPos,n,i,o);e=e&&l.from<=t&&r(l),t>l.to&&this.right.forEachLine(l.to+1,t,n,s,a,r)}}replace(e,t,n){let i=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-i,t-i,n));let o=[];e>0&&this.decomposeLeft(e,o);let r=o.length;for(let e of n)o.push(e);if(e>0&&PB(o,r-1),t=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,i=n+this.break;if(e>=i)return this.right.decomposeRight(e-i,t);e2*t.size||t.size>2*e.size?_B.of(this.break?[e,null,t]:[e,t]):(this.left=EB(this.left,e),this.right=EB(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,i){let{left:o,right:r}=this,s=t+o.length+this.break,a=null;return i&&i.from<=t+o.length&&i.more?a=o=o.updateHeight(e,t,n,i):o.updateHeight(e,t,n),i&&i.from<=s+r.length&&i.more?a=r=r.updateHeight(e,s,n,i):r.updateHeight(e,s,n),a?this.balanced(o,r):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function PB(e,t){let n,i;null==e[t]&&(n=e[t-1])instanceof CB&&(i=e[t+1])instanceof CB&&e.splice(t-1,3,new CB(n.length+1+i.length))}class MB{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let e=Math.min(t,this.lineEnd),n=this.nodes[this.nodes.length-1];n instanceof SB?n.length+=e-this.pos:(e>this.pos||!this.isCovered)&&this.nodes.push(new SB(e-this.pos,-1)),this.writtenTo=e,t>e&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e=5)&&this.addLineDeco(i,o,r)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new SB(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let n=new CB(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof SB)return e;let t=new SB(0,-1);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,n){let i=this.ensureLine();i.length+=n,i.collapsed+=n,i.widgetHeight=Math.max(i.widgetHeight,e),i.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||t instanceof SB||this.isCovered?(this.writtenTon.clientHeight||n.scrollWidth>n.clientWidth)&&"visible"!=i.overflow){let i=n.getBoundingClientRect();r=Math.max(r,i.left),s=Math.min(s,i.right),a=Math.max(a,i.top),l=Math.min(t==e.parentNode?o.innerHeight:l,i.bottom)}t="absolute"==i.position||"fixed"==i.position?n.offsetParent:n.parentNode}else{if(11!=t.nodeType)break;t=t.host}return{left:r-n.left,right:Math.max(r,s)-n.left,top:a-(n.top+t),bottom:Math.max(a,l)-(n.top+t)}}function BB(e,t){let n=e.getBoundingClientRect();return{left:0,right:n.right-n.left,top:t,bottom:n.bottom-(n.top+t)}}class RB{constructor(e,t,n){this.from=e,this.to=t,this.size=n}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;n"function"!=typeof e&&"cm-lineWrapping"==e.class));this.heightOracle=new vB(t),this.stateDeco=e.facet(cT).filter((e=>"function"!=typeof e)),this.heightMap=_B.empty().applyChanges(this.stateDeco,fO.empty,this.heightOracle.setDoc(e.doc),[new vT(0,0,0,e.doc.length)]);for(let e=0;e<2&&(this.viewport=this.getViewport(0,null),this.updateForViewport());e++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=hA.set(this.lineGaps.map((e=>e.draw(this,!1)))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let i=n?t.head:t.anchor;if(!e.some((({from:e,to:t})=>i>=e&&i<=t))){let{from:t,to:n}=this.lineBlockAt(i);e.push(new NB(t,n))}}return this.viewports=e.sort(((e,t)=>e.from-t.from)),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?FB:new $B(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,(e=>{this.viewportLines.push(jB(e,this.scaler))}))}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=this.state.facet(cT).filter((e=>"function"!=typeof e));let i=e.changedRanges,o=vT.extendWithRanges(i,function(e,t,n){let i=new AB;return FP.compare(e,t,n,i,0),i.changes}(n,this.stateDeco,e?e.changes:FO.empty(this.state.doc.length))),r=this.heightMap.height,s=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);gB(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),o),(this.heightMap.height!=r||mB)&&(e.flags|=2),s?(this.scrollAnchorPos=e.changes.mapPos(s.from,-1),this.scrollAnchorHeight=s.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=this.heightMap.height);let a=o.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.heada.to)||!this.viewportIsAppropriate(a))&&(a=this.getViewport(0,t));let l=a.from!=this.viewport.from||a.to!=this.viewport.to;this.viewport=a,e.flags|=this.updateForViewport(),(l||!e.changes.empty||2&e.flags)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(YA)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,n=window.getComputedStyle(t),i=this.heightOracle,o=n.whiteSpace;this.defaultTextDirection="rtl"==n.direction?EA.RTL:EA.LTR;let r=this.heightOracle.mustRefreshForWrapping(o),s=t.getBoundingClientRect(),a=r||this.mustMeasureContent||this.contentDOMHeight!=s.height;this.contentDOMHeight=s.height,this.mustMeasureContent=!1;let l=0,c=0;if(s.width&&s.height){let{scaleX:e,scaleY:n}=xM(t,s);(e>.005&&Math.abs(this.scaleX-e)>.005||n>.005&&Math.abs(this.scaleY-n)>.005)&&(this.scaleX=e,this.scaleY=n,l|=8,r=a=!0)}let u=(parseInt(n.paddingTop)||0)*this.scaleY,h=(parseInt(n.paddingBottom)||0)*this.scaleY;this.paddingTop==u&&this.paddingBottom==h||(this.paddingTop=u,this.paddingBottom=h,l|=10),this.editorWidth!=e.scrollDOM.clientWidth&&(i.lineWrapping&&(a=!0),this.editorWidth=e.scrollDOM.clientWidth,l|=8);let p=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=p&&(this.scrollAnchorHeight=-1,this.scrollTop=p),this.scrolledToBottom=MM(e.scrollDOM);let d=(this.printing?BB:TB)(t,this.paddingTop),f=d.top-this.pixelViewport.top,m=d.bottom-this.pixelViewport.bottom;this.pixelViewport=d;let g=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(g!=this.inView&&(this.inView=g,g&&(a=!0)),!this.inView&&!this.scrollTarget)return 0;let v=s.width;if(this.contentDOMWidth==v&&this.editorHeight==e.scrollDOM.clientHeight||(this.contentDOMWidth=s.width,this.editorHeight=e.scrollDOM.clientHeight,l|=8),a){let t=e.docView.measureVisibleLineHeights(this.viewport);if(i.mustRefreshForHeights(t)&&(r=!0),r||i.lineWrapping&&Math.abs(v-this.contentDOMWidth)>i.charWidth){let{lineHeight:n,charWidth:s,textHeight:a}=e.docView.measureTextSize();r=n>0&&i.refresh(o,n,s,a,v/s,t),r&&(e.docView.minWidth=0,l|=8)}f>0&&m>0?c=Math.max(f,m):f<0&&m<0&&(c=Math.min(f,m)),gB();for(let n of this.viewports){let o=n.from==this.viewport.from?t:e.docView.measureVisibleLineHeights(n);this.heightMap=(r?_B.empty().applyChanges(this.stateDeco,fO.empty,this.heightOracle,[new vT(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(i,0,r,new yB(n.from,o))}mB&&(l|=2)}let y=!this.viewportIsAppropriate(this.viewport,c)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return y&&(2&l&&(l|=this.updateScaler()),this.viewport=this.getViewport(c,this.scrollTarget),l|=this.updateForViewport()),(2&l||y)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(r?[]:this.lineGaps,e)),l|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),l}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),i=this.heightMap,o=this.heightOracle,{visibleTop:r,visibleBottom:s}=this,a=new NB(i.lineAt(r-1e3*n,wB.ByHeight,o,0,0).from,i.lineAt(s+1e3*(1-n),wB.ByHeight,o,0,0).to);if(t){let{head:e}=t.range;if(ea.to){let n,r=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),s=i.lineAt(e,wB.ByPos,o,0,0);n="center"==t.y?(s.top+s.bottom)/2-r/2:"start"==t.y||"nearest"==t.y&&e=s+Math.max(10,Math.min(n,250)))&&i>r-2e3&&o>1,r=i<<1;if(this.defaultTextDirection!=EA.LTR&&!n)return[];let s=[],a=(i,r,l,c)=>{if(r-ii&&ee.from>=l.from&&e.to<=l.to&&Math.abs(e.from-i)e.fromt))));if(!p){if(re.from<=r&&e.to>=r))){let e=t.moveToLineBoundary(QO.cursor(r),!1,!0).head;e>i&&(r=e)}p=new RB(i,r,this.gapSize(l,i,r,c))}s.push(p)},l=e=>{if(e.lengtho&&(i.push({from:o,to:e}),r+=e-o),o=t}},20),oe.from&&a(e.from,o,e,t),se.draw(this,this.heightOracle.lineWrapping)))))}computeVisibleRanges(){let e=this.stateDeco;this.lineGaps.length&&(e=e.concat(this.lineGapDeco));let t=[];FP.spans(e,this.viewport.from,this.viewport.to,{span(e,n){t.push({from:e,to:n})},point(){}},20);let n=t.length!=this.visibleRanges.length||this.visibleRanges.some(((e,n)=>e.from!=t[n].from||e.to!=t[n].to));return this.visibleRanges=t,n?4:0}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find((t=>t.from<=e&&t.to>=e))||jB(this.heightMap.lineAt(e,wB.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find((t=>t.top<=e&&t.bottom>=e))||jB(this.heightMap.lineAt(this.scaler.fromDOM(e),wB.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return jB(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class NB{constructor(e,t){this.from=e,this.to=t}}function zB({total:e,ranges:t},n){if(n<=0)return t[0].from;if(n>=1)return t[t.length-1].to;let i=Math.floor(e*n);for(let e=0;;e++){let{from:n,to:o}=t[e],r=o-n;if(i<=r)return n+i;i-=r}}function IB(e,t){let n=0;for(let{from:i,to:o}of e.ranges){if(t<=o){n+=t-i;break}n+=o-i}return n/e.total}const FB={toDOM:e=>e,fromDOM:e=>e,scale:1,eq(e){return e==this}};class $B{constructor(e,t,n){let i=0,o=0,r=0;this.viewports=n.map((({from:n,to:o})=>{let r=t.lineAt(n,wB.ByPos,e,0,0).top,s=t.lineAt(o,wB.ByPos,e,0,0).bottom;return i+=s-r,{from:n,to:o,top:r,bottom:s,domTop:0,domBottom:0}})),this.scale=(7e6-i)/(t.height-i);for(let e of this.viewports)e.domTop=r+(e.top-o)*this.scale,r=e.domBottom=e.domTop+(e.bottom-e.top),o=e.bottom}toDOM(e){for(let t=0,n=0,i=0;;t++){let o=tt.from==e.viewports[n].from&&t.to==e.viewports[n].to))}}function jB(e,t){if(1==t.scale)return e;let n=t.toDOM(e.top),i=t.toDOM(e.bottom);return new bB(e.from,e.length,n,i-n,Array.isArray(e._content)?e._content.map((e=>jB(e,t))):e._content)}const qB=YO.define({combine:e=>e.join(" ")}),HB=YO.define({combine:e=>e.indexOf(!0)>-1}),VB=tM.newName(),WB=tM.newName(),GB=tM.newName(),QB={"&light":"."+WB,"&dark":"."+GB};function XB(e,t,n){return new tM(t,{finish:t=>/&/.test(t)?t.replace(/&\w*/,(t=>{if("&"==t)return e;if(!n||!n[t])throw new RangeError(`Unsupported selector: ${t}`);return n[t]})):e+" "+t})}const UB=XB("."+VB,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#444"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",insetInlineStart:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",borderRight:"1px solid #ddd"},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top"},".cm-highlightSpace:before":{content:"attr(data-display)",position:"absolute",pointerEvents:"none",color:"#888"},".cm-highlightTab":{backgroundImage:'url(\'data:image/svg+xml,\')',backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},QB),YB={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},KB=YM.ie&&YM.ie_version<=11;class ZB{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new _M,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver((t=>{for(let e of t)this.queue.push(e);(YM.ie&&YM.ie_version<=11||YM.ios&&e.composing)&&t.some((e=>"childList"==e.type&&e.removedNodes.length||"characterData"==e.type&&e.oldValue.length>e.target.nodeValue.length))?this.flushSoon():this.flush()})),!window.EditContext||!1===e.constructor.EDIT_CONTEXT||YM.chrome&&YM.chrome_version<126||(this.editContext=new tR(e),e.state.facet(nT)&&(e.contentDOM.editContext=this.editContext.editContext)),KB&&(this.onCharData=e=>{this.queue.push({target:e.target,type:"characterData",oldValue:e.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),"function"==typeof ResizeObserver&&(this.resizeScroll=new ResizeObserver((()=>{var e;(null===(e=this.view.docView)||void 0===e?void 0:e.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),e.length>0&&e[e.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))}),{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver((e=>{e.length>0&&e[e.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))}),{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout((()=>{this.resizeTimeout=-1,this.view.requestMeasure()}),50))}onPrint(e){("change"!=e.type&&e.type||e.matches)&&(this.view.viewState.printing=!0,this.view.measure(),setTimeout((()=>{this.view.viewState.printing=!1,this.view.requestMeasure()}),500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some(((t,n)=>t!=e[n])))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,i=this.selectionRange;if(n.state.facet(nT)?n.root.activeElement!=this.dom:!pM(n.dom,i))return;let o=i.anchorNode&&n.docView.nearest(i.anchorNode);o&&o.ignoreEvent(e)?t||(this.selectionChanged=!1):(YM.ie&&YM.ie_version<=11||YM.android&&YM.chrome)&&!n.state.selection.main.empty&&i.focusNode&&fM(i.focusNode,i.focusOffset,i.anchorNode,i.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=uM(e.root);if(!t)return!1;let n=YM.safari&&11==e.root.nodeType&&function(e){let t=e.activeElement;for(;t&&t.shadowRoot;)t=t.shadowRoot.activeElement;return t}(this.dom.ownerDocument)==this.dom&&function(e,t){if(t.getComposedRanges){let n=t.getComposedRanges(e.root)[0];if(n)return eR(e,n)}let n=null;function i(e){e.preventDefault(),e.stopImmediatePropagation(),n=e.getTargetRanges()[0]}return e.contentDOM.addEventListener("beforeinput",i,!0),e.dom.ownerDocument.execCommand("indent"),e.contentDOM.removeEventListener("beforeinput",i,!0),n?eR(e,n):null}(this.view,t)||t;if(!n||this.selectionRange.eq(n))return!1;let i=pM(this.dom,n);return i&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let e=this.delayedAndroidKey;e&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=e.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&e.force&&OM(this.dom,e.key,e.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(e)}this.delayedAndroidKey&&"Enter"!=e||(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()})))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,i=!1;for(let o of e){let e=this.readMutation(o);e&&(e.typeOver&&(i=!0),-1==t?({from:t,to:n}=e):(t=Math.min(e.from,t),n=Math.max(e.to,n)))}return{from:t,to:n,typeOver:i}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),i=this.selectionChanged&&pM(this.dom,this.selectionRange);if(e<0&&!i)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let o=new IT(this.view,e,t,n);return this.view.docView.domChanged={newSel:o.newSel?o.newSel.main:null},o}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let n=this.view.state,i=FT(this.view,t);return this.view.state==n&&(t.domChanged||t.newSel&&!t.newSel.main.eq(this.view.state.selection.main))&&this.view.update([]),i}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty("attributes"==e.type),"attributes"==e.type&&(t.flags|=4),"childList"==e.type){let n=JB(t,e.previousSibling||e.target.previousSibling,-1),i=JB(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:i?t.posBefore(i):t.posAtEnd,typeOver:!1}}return"characterData"==e.type?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(nT)!=e.state.facet(nT)&&(e.view.contentDOM.editContext=e.state.facet(nT)?this.editContext.editContext:null))}destroy(){var e,t,n;this.stop(),null===(e=this.intersection)||void 0===e||e.disconnect(),null===(t=this.gapIntersection)||void 0===t||t.disconnect(),null===(n=this.resizeScroll)||void 0===n||n.disconnect();for(let e of this.scrollTargets)e.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function JB(e,t,n){for(;t;){let i=DM.get(t);if(i&&i.parent==e)return i;let o=t.parentNode;t=o!=e.dom?o:n>0?t.nextSibling:t.previousSibling}return null}function eR(e,t){let n=t.startContainer,i=t.startOffset,o=t.endContainer,r=t.endOffset,s=e.docView.domAtPos(e.state.selection.main.anchor);return fM(s.node,s.offset,o,r)&&([n,i,o,r]=[o,r,n,i]),{anchorNode:n,anchorOffset:i,focusNode:o,focusOffset:r}}class tR{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=t=>{let{anchor:n}=e.state.selection.main,i={from:this.toEditorPos(t.updateRangeStart),to:this.toEditorPos(t.updateRangeEnd),insert:fO.of(t.text.split("\n"))};i.from==this.from&&nthis.to&&(i.to=n),(i.from!=i.to||i.insert.length)&&(this.pendingContextChange=i,e.state.readOnly||$T(e,i,QO.single(this.toEditorPos(t.selectionStart),this.toEditorPos(t.selectionEnd))),this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)))},this.handlers.characterboundsupdate=n=>{let i=[],o=null;for(let t=this.toEditorPos(n.rangeStart),r=this.toEditorPos(n.rangeEnd);t{let n=[];for(let e of t.getTextFormats()){let t=e.underlineStyle,i=e.underlineThickness;if("None"!=t&&"None"!=i){let o=`text-decoration: underline ${"Dashed"==t?"dashed ":"Squiggle"==t?"wavy ":""}${"Thin"==i?1:2}px`;n.push(hA.mark({attributes:{style:o}}).range(this.toEditorPos(e.rangeStart),this.toEditorPos(e.rangeEnd)))}}e.dispatch({effects:eT.of(hA.set(n))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{e.inputState.composing=-1,e.inputState.compositionFirstChange=null};for(let e in this.handlers)t.addEventListener(e,this.handlers[e]);this.measureReq={read:e=>{this.editContext.updateControlBounds(e.contentDOM.getBoundingClientRect());let t=uM(e.root);t&&t.rangeCount&&this.editContext.updateSelectionBounds(t.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,i=this.pendingContextChange;return e.changes.iterChanges(((o,r,s,a,l)=>{if(n)return;let c=l.length-(r-o);if(i&&r>=i.to){if(i.from==o&&i.to==r&&i.insert.eq(l))return i=this.pendingContextChange=null,t+=c,void(this.to+=c);i=null,this.revertPending(e.state)}if(o+=t,(r+=t)<=this.from)this.from+=c,this.to+=c;else if(othis.to||this.to-this.from+l.length>3e4)return void(n=!0);this.editContext.updateText(this.toContextPos(o),this.toContextPos(r),l.toString()),this.to+=c}t+=c})),i&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange;this.applyEdits(e)&&this.rangeIsValid(e.state)?(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state):(this.pendingContextChange=null,this.resetRange(e.state),this.editContext.updateText(0,this.editContext.text.length,e.state.doc.sliceString(this.from,this.to)),this.setSelection(e.state)),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),i=this.toContextPos(t.head);this.editContext.selectionStart==n&&this.editContext.selectionEnd==i||this.editContext.updateSelection(n,i)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to3e4)}toEditorPos(e){return e+this.from}toContextPos(e){return e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class nR{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return this.inputState.composing>0}get compositionStarted(){return this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:n}=e;this.dispatchTransactions=e.dispatchTransactions||n&&(e=>e.forEach((e=>n(e,this))))||(e=>this.update(e)),this.dispatch=this.dispatch.bind(this),this._root=e.root||function(e){for(;e;){if(e&&(9==e.nodeType||11==e.nodeType&&e.host))return e;e=e.assignedSlot||e.parentNode}return null}(e.parent)||document,this.viewState=new LB(e.state||RP.create(e)),e.scrollTo&&e.scrollTo.is(JA)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(oT).map((e=>new sT(e)));for(let e of this.plugins)e.update(this);this.observer=new ZB(this),this.inputState=new jT(this),this.inputState.ensureHandlers(this.plugins),this.docView=new bT(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),(null===(t=document.fonts)||void 0===t?void 0:t.ready)&&document.fonts.ready.then((()=>this.requestMeasure()))}dispatch(...e){let t=1==e.length&&e[0]instanceof EP?e:1==e.length&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(0!=this.updateState)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t,n=!1,i=!1,o=this.state;for(let t of e){if(t.startState!=o)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");o=t.state}if(this.destroyed)return void(this.viewState.state=o);let r=this.hasFocus,s=0,a=null;e.some((e=>e.annotation(uB)))?(this.inputState.notifiedFocused=r,s=1):r!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=r,a=hB(o,r),a||(s=1));let l=this.observer.delayedAndroidKey,c=null;if(l?(this.observer.clearDelayedAndroidKey(),c=this.observer.readChange(),(c&&!this.state.doc.eq(o.doc)||!this.state.selection.eq(o.selection))&&(c=null)):this.observer.clear(),o.facet(RP.phrases)!=this.state.facet(RP.phrases))return this.setState(o);t=yT.create(this,o,e),t.flags|=s;let u=this.viewState.scrollTarget;try{this.updateState=2;for(let t of e){if(u&&(u=u.map(t.changes)),t.scrollIntoView){let{main:e}=t.state.selection;u=new ZA(e.empty?e:QO.cursor(e.head,e.head>e.anchor?-1:1))}for(let e of t.effects)e.is(JA)&&(u=e.value.clip(this.state))}this.viewState.update(t,u),this.bidiCache=rR.update(this.bidiCache,t.changes),t.empty||(this.updatePlugins(t),this.inputState.update(t)),n=this.docView.update(t),this.state.facet(gT)!=this.styleModules&&this.mountStyles(),i=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(n,e.some((e=>e.isUserEvent("select.pointer"))))}finally{this.updateState=0}if(t.startState.facet(qB)!=t.state.facet(qB)&&(this.viewState.mustMeasureContent=!0),(n||i||u||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),n&&this.docViewUpdate(),!t.empty)for(let e of this.state.facet(GA))try{e(t)}catch(e){tT(this.state,e,"update listener")}(a||c)&&Promise.resolve().then((()=>{a&&this.state==a.startState&&this.dispatch(a),c&&!FT(this,c)&&l.force&&OM(this.contentDOM,l.key,l.keyCode)}))}setState(e){if(0!=this.updateState)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed)return void(this.viewState.state=e);this.updateState=2;let t=this.hasFocus;try{for(let e of this.plugins)e.destroy(this);this.viewState=new LB(e),this.plugins=e.facet(oT).map((e=>new sT(e))),this.pluginMap.clear();for(let e of this.plugins)e.update(this);this.docView.destroy(),this.docView=new bT(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(oT),n=e.state.facet(oT);if(t!=n){let i=[];for(let o of n){let n=t.indexOf(o);if(n<0)i.push(new sT(o));else{let t=this.plugins[n];t.mustUpdate=e,i.push(t)}}for(let t of this.plugins)t.mustUpdate!=e&&t.destroy(this);this.plugins=i,this.pluginMap.clear()}else for(let t of this.plugins)t.mustUpdate=e;for(let e=0;e-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey)return this.measureScheduled=-1,void this.requestMeasure();this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.scrollDOM,i=n.scrollTop*this.scaleY,{scrollAnchorPos:o,scrollAnchorHeight:r}=this.viewState;Math.abs(i-this.viewState.scrollTop)>1&&(r=-1),this.viewState.scrollAnchorHeight=-1;try{for(let e=0;;e++){if(r<0)if(MM(n))o=-1,r=this.viewState.heightMap.height;else{let e=this.viewState.scrollAnchorAt(i);o=e.from,r=e.top}this.updateState=1;let s=this.viewState.measure(this);if(!s&&!this.measureRequests.length&&null==this.viewState.scrollTarget)break;if(e>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let a=[];4&s||([this.measureRequests,a]=[a,this.measureRequests]);let l=a.map((e=>{try{return e.read(this)}catch(e){return tT(this.state,e),oR}})),c=yT.create(this,this.state,[]),u=!1;c.flags|=s,t?t.flags|=s:t=c,this.updateState=2,c.empty||(this.updatePlugins(c),this.inputState.update(c),this.updateAttrs(),u=this.docView.update(c),u&&this.docViewUpdate());for(let e=0;e1||e<-1){i+=e,n.scrollTop=i/this.scaleY,r=-1;continue}}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let e of this.state.facet(GA))e(t)}get themeClasses(){return VB+" "+(this.state.facet(HB)?GB:WB)+" "+this.state.facet(qB)}updateAttrs(){let e=sR(this,aT,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(nT)?"true":"false",class:"cm-content",style:`${YM.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),sR(this,lT,t);let n=this.observer.ignore((()=>{let n=aA(this.contentDOM,this.contentAttrs,t),i=aA(this.dom,this.editorAttrs,e);return n||i}));return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let e of n.effects)e.is(nR.announce)&&(t&&(this.announceDOM.textContent=""),t=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=e.value)}mountStyles(){this.styleModules=this.state.facet(gT);let e=this.state.facet(nR.cspNonce);tM.mount(this.root,this.styleModules.concat(UB).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(2==this.updateState)throw new Error("Reading the editor layout isn't allowed during an update");0==this.updateState&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame((()=>this.measure()))),e){if(this.measureRequests.indexOf(e)>-1)return;if(null!=e.key)for(let t=0;tt.spec==e))||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return RT(this,e,TT(this,e,t,n))}moveByGroup(e,t){return RT(this,e,TT(this,e,t,(t=>function(e,t,n){let i=e.state.charCategorizer(t),o=i(n);return e=>{let t=i(e);return o==AP.Space&&(o=t),o==t}}(this,e.head,t))))}visualLineSide(e,t){let n=this.bidiSpans(e),i=this.textDirectionAt(e.from),o=n[t?n.length-1:0];return QO.cursor(o.side(t,i)+e.from,o.forward(!t,i)?1:-1)}moveToLineBoundary(e,t,n=!0){return function(e,t,n,i){let o=function(e,t){let n=e.lineBlockAt(t);if(Array.isArray(n.type))for(let e of n.type)if(e.to>t||e.to==t&&(e.to==n.to||e.type==uA.Text))return e;return n}(e,t.head),r=i&&o.type==uA.Text&&(e.lineWrapping||o.widgetLineBreaks)?e.coordsAtPos(t.assoc<0&&t.head>o.from?t.head-1:t.head):null;if(r){let t=e.dom.getBoundingClientRect(),i=e.textDirectionAt(o.from),s=e.posAtCoords({x:n==(i==EA.LTR)?t.right-1:t.left+1,y:(r.top+r.bottom)/2});if(null!=s)return QO.cursor(s,n?-1:1)}return QO.cursor(n?o.to:o.from,n?-1:1)}(this,e,t,n)}moveVertically(e,t,n){return RT(this,e,function(e,t,n,i){let o=t.head,r=n?1:-1;if(o==(n?e.state.doc.length:0))return QO.cursor(o,t.assoc);let s,a=t.goalColumn,l=e.contentDOM.getBoundingClientRect(),c=e.coordsAtPos(o,t.assoc||-1),u=e.documentTop;if(c)null==a&&(a=c.left-l.left),s=r<0?c.top:c.bottom;else{let t=e.viewState.lineBlockAt(o);null==a&&(a=Math.min(l.right-l.left,e.defaultCharacterWidth*(o-t.from))),s=(r<0?t.top:t.bottom)+u}let h=l.left+a,p=null!=i?i:e.viewState.heightOracle.textHeight>>1;for(let t=0;;t+=10){let n=s+(p+t)*r,i=MT(e,{x:h,y:n},!1,r);if(nl.bottom||(r<0?io)){let t=e.docView.coordsForChar(i),o=!t||n0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(UA)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>iR)return IA(e.length);let t,n=this.textDirectionAt(e.from);for(let i of this.bidiCache)if(i.from==e.from&&i.dir==n&&(i.fresh||DA(i.isolates,t=dT(this,e))))return i.order;t||(t=dT(this,e));let i=function(e,t,n){if(!e)return[new RA(0,0,t==SA?1:0)];if(t==kA&&!n.length&&!BA.test(e))return IA(e.length);if(n.length)for(;e.length>LA.length;)LA[LA.length]=256;let i=[],o=t==kA?0:1;return zA(e,o,o,n,0,e.length,i),i}(e.text,n,t);return this.bidiCache.push(new rR(e.from,e.to,n,t,!0,i)),i}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||YM.safari&&(null===(e=this.inputState)||void 0===e?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore((()=>{SM(this.contentDOM),this.docView.updateSelection()}))}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((9==e.nodeType?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){return JA.of(new ZA("number"==typeof e?QO.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return JA.of(new ZA(QO.cursor(n.from),"start","start",n.top-e,t,!0))}setTabFocusMode(e){null==e?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:"boolean"==typeof e?this.inputState.tabFocusMode=e?0:-1:0!=this.inputState.tabFocusMode&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return rT.define((()=>({})),{eventHandlers:e})}static domEventObservers(e){return rT.define((()=>({})),{eventObservers:e})}static theme(e,t){let n=tM.newName(),i=[qB.of(n),gT.of(XB(`.${n}`,e))];return t&&t.dark&&i.push(HB.of(!0)),i}static baseTheme(e){return rP.lowest(gT.of(XB("."+VB,e,QB)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),i=n&&DM.get(n)||DM.get(e);return(null===(t=null==i?void 0:i.rootView)||void 0===t?void 0:t.view)||null}}nR.styleModule=gT,nR.inputHandler=QA,nR.scrollHandler=KA,nR.focusChangeEffect=XA,nR.perLineTextDirection=UA,nR.exceptionSink=WA,nR.updateListener=GA,nR.editable=nT,nR.mouseSelectionStyle=VA,nR.dragMovesSelection=HA,nR.clickAddsSelectionRange=qA,nR.decorations=cT,nR.outerDecorations=uT,nR.atomicRanges=hT,nR.bidiIsolatedRanges=pT,nR.scrollMargins=fT,nR.darkTheme=HB,nR.cspNonce=YO.define({combine:e=>e.length?e[0]:""}),nR.contentAttributes=lT,nR.editorAttributes=aT,nR.lineWrapping=nR.contentAttributes.of({class:"cm-lineWrapping"}),nR.announce=_P.define();const iR=4096,oR={};class rR{constructor(e,t,n,i,o,r){this.from=e,this.to=t,this.dir=n,this.isolates=i,this.fresh=o,this.order=r}static update(e,t){if(t.empty&&!e.some((e=>e.fresh)))return e;let n=[],i=e.length?e[e.length-1].dir:EA.LTR;for(let o=Math.max(0,e.length-10);o=0;o--){let t=i[o],r="function"==typeof t?t(e):t;r&&oA(r,n)}return n}const aR=YM.mac?"mac":YM.windows?"win":YM.linux?"linux":"key";function lR(e,t,n){return t.altKey&&(e="Alt-"+e),t.ctrlKey&&(e="Ctrl-"+e),t.metaKey&&(e="Meta-"+e),!1!==n&&t.shiftKey&&(e="Shift-"+e),e}const cR=rP.default(nR.domEventHandlers({keydown:(e,t)=>function(e,t,n,i){fR=t;let o=function(e){var t=!(sM&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||aM&&e.shiftKey&&e.key&&1==e.key.length||"Unidentified"==e.key)&&e.key||(e.shiftKey?rM:oM)[e.keyCode]||e.key||"Unidentified";return"Esc"==t&&(t="Escape"),"Del"==t&&(t="Delete"),"Left"==t&&(t="ArrowLeft"),"Up"==t&&(t="ArrowUp"),"Right"==t&&(t="ArrowRight"),"Down"==t&&(t="ArrowDown"),t}(t),r=LO(RO(o,0))==o.length&&" "!=o,s="",a=!1,l=!1,c=!1;pR&&pR.view==n&&pR.scope==i&&(s=pR.prefix+" ",GT.indexOf(t.keyCode)<0&&(l=!0,pR=null));let u,h,p=new Set,d=e=>{if(e){for(let t of e.run)if(!p.has(t)&&(p.add(t),t(n)))return e.stopPropagation&&(c=!0),!0;e.preventDefault&&(e.stopPropagation&&(c=!0),l=!0)}return!1},f=e[i];return f&&(d(f[s+lR(o,t,!r)])?a=!0:r&&(t.altKey||t.metaKey||t.ctrlKey)&&!(YM.windows&&t.ctrlKey&&t.altKey)&&(u=oM[t.keyCode])&&u!=o?(d(f[s+lR(u,t,!0)])||t.shiftKey&&(h=rM[t.keyCode])!=o&&h!=u&&d(f[s+lR(h,t,!1)]))&&(a=!0):r&&t.shiftKey&&d(f[s+lR(o,t,!0)])&&(a=!0),!a&&d(f._any)&&(a=!0)),l&&(a=!0),a&&c&&t.stopPropagation(),fR=null,a}(function(e){let t=e.facet(uR),n=hR.get(t);return n||hR.set(t,n=function(e,t=aR){let n=Object.create(null),i=Object.create(null),o=(e,t)=>{let n=i[e];if(null==n)i[e]=t;else if(n!=t)throw new Error("Key binding "+e+" is used both as a regular binding and as a multi-stroke prefix")},r=(e,i,r,s,a)=>{var l,c;let u=n[e]||(n[e]=Object.create(null)),h=i.split(/ (?!$)/).map((e=>function(e,t){const n=e.split(/-(?!$)/);let i,o,r,s,a=n[n.length-1];"Space"==a&&(a=" ");for(let e=0;e{let i=pR={view:t,prefix:n,scope:e};return setTimeout((()=>{pR==i&&(pR=null)}),dR),!0}]})}let p=h.join(" ");o(p,!1);let d=u[p]||(u[p]={preventDefault:!1,stopPropagation:!1,run:(null===(c=null===(l=u._any)||void 0===l?void 0:l.run)||void 0===c?void 0:c.slice())||[]});r&&d.run.push(r),s&&(d.preventDefault=!0),a&&(d.stopPropagation=!0)};for(let i of e){let e=i.scope?i.scope.split(" "):["editor"];if(i.any)for(let t of e){let e=n[t]||(n[t]=Object.create(null));e._any||(e._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:o}=i;for(let t in e)e[t].run.push((e=>o(e,fR)))}let o=i[t]||i.key;if(o)for(let t of e)r(t,o,i.run,i.preventDefault,i.stopPropagation),i.shift&&r(t,"Shift-"+o,i.shift,i.preventDefault,i.stopPropagation)}return n}(t.reduce(((e,t)=>e.concat(t)),[]))),n}(t.state),e,t,"editor")})),uR=YO.define({enables:cR}),hR=new WeakMap;let pR=null;const dR=4e3;let fR=null;const mR={".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"}},".cm-content":{"& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}};!YM.ios&&(mR[".cm-line"].caretColor=mR[".cm-content"].caretColor="transparent !important");class gR extends cA{constructor(e){super(),this.content=e}toDOM(){let e=document.createElement("span");return e.className="cm-placeholder",e.style.pointerEvents="none",e.appendChild("string"==typeof this.content?document.createTextNode(this.content):this.content),"string"==typeof this.content?e.setAttribute("aria-label","placeholder "+this.content):e.setAttribute("aria-hidden","true"),e}coordsAt(e){let t=e.firstChild?dM(e.firstChild):[];if(!t.length)return null;let n=window.getComputedStyle(e.parentNode),i=bM(t[0],"rtl"!=n.direction),o=parseInt(n.lineHeight);return i.bottom-i.top>1.5*o?{left:i.left,right:i.right,top:i.top,bottom:i.top+o}:i}ignoreEvent(){return!1}}function vR(e){return rT.fromClass(class{constructor(t){this.view=t,this.placeholder=e?hA.set([hA.widget({widget:new gR(e),side:1}).range(0)]):hA.none}get decorations(){return this.view.state.doc.length?hA.none:this.placeholder}},{decorations:e=>e.decorations})}const yR="-10000px";class bR{constructor(e,t,n,i){this.facet=t,this.createTooltipView=n,this.removeTooltipView=i,this.input=e.state.facet(t),this.tooltips=this.input.filter((e=>e));let o=null;this.tooltipViews=this.tooltips.map((e=>o=n(e,o)))}update(e,t){var n;let i=e.state.facet(this.facet),o=i.filter((e=>e));if(i===this.input){for(let t of this.tooltipViews)t.update&&t.update(e);return!1}let r=[],s=t?[]:null;for(let n=0;nt[n]=e)),t.length=s.length),this.input=i,this.tooltips=o,this.tooltipViews=r,!0}}function wR(e={}){return _R.of(e)}function xR(e){let{win:t}=e;return{top:0,left:0,bottom:t.innerHeight,right:t.innerWidth}}const _R=YO.define({combine:e=>{var t,n,i;return{position:YM.ios?"absolute":(null===(t=e.find((e=>e.position)))||void 0===t?void 0:t.position)||"fixed",parent:(null===(n=e.find((e=>e.parent)))||void 0===n?void 0:n.parent)||null,tooltipSpace:(null===(i=e.find((e=>e.tooltipSpace)))||void 0===i?void 0:i.tooltipSpace)||xR}}}),ER=new WeakMap,kR=rT.fromClass(class{constructor(e){this.view=e,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let t=e.state.facet(_R);this.position=t.position,this.parent=t.parent,this.classes=e.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver="function"==typeof ResizeObserver?new ResizeObserver((()=>this.measureSoon())):null,this.manager=new bR(e,OR,((e,t)=>this.createTooltip(e,t)),(e=>{this.resizeObserver&&this.resizeObserver.unobserve(e.dom),e.dom.remove()})),this.above=this.manager.tooltips.map((e=>!!e.above)),this.intersectionObserver="function"==typeof IntersectionObserver?new IntersectionObserver((e=>{Date.now()>this.lastTransaction-50&&e.length>0&&e[e.length-1].intersectionRatio<1&&this.measureSoon()}),{threshold:[1]}):null,this.observeIntersection(),e.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let e of this.manager.tooltipViews)this.intersectionObserver.observe(e.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout((()=>{this.measureTimeout=-1,this.maybeMeasure()}),50))}update(e){e.transactions.length&&(this.lastTransaction=Date.now());let t=this.manager.update(e,this.above);t&&this.observeIntersection();let n=t||e.geometryChanged,i=e.state.facet(_R);if(i.position!=this.position&&!this.madeAbsolute){this.position=i.position;for(let e of this.manager.tooltipViews)e.dom.style.position=this.position;n=!0}if(i.parent!=this.parent){this.parent&&this.container.remove(),this.parent=i.parent,this.createContainer();for(let e of this.manager.tooltipViews)this.container.appendChild(e.dom);n=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);n&&this.maybeMeasure()}createTooltip(e,t){let n=e.create(this.view),i=t?t.dom:null;if(n.dom.classList.add("cm-tooltip"),e.arrow&&!n.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let e=document.createElement("div");e.className="cm-tooltip-arrow",n.dom.appendChild(e)}return n.dom.style.position=this.position,n.dom.style.top=yR,n.dom.style.left="0px",this.container.insertBefore(n.dom,i),n.mount&&n.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(n.dom),n}destroy(){var e,t,n;this.view.win.removeEventListener("resize",this.measureSoon);for(let t of this.manager.tooltipViews)t.dom.remove(),null===(e=t.destroy)||void 0===e||e.call(t);this.parent&&this.container.remove(),null===(t=this.resizeObserver)||void 0===t||t.disconnect(),null===(n=this.intersectionObserver)||void 0===n||n.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let e=this.view.dom.getBoundingClientRect(),t=1,n=1,i=!1;if("fixed"==this.position&&this.manager.tooltipViews.length){let{dom:e}=this.manager.tooltipViews[0];if(YM.gecko)i=e.offsetParent!=this.container.ownerDocument.body;else if(e.style.top==yR&&"0px"==e.style.left){let t=e.getBoundingClientRect();i=Math.abs(t.top+1e4)>1||Math.abs(t.left)>1}}if(i||"absolute"==this.position)if(this.parent){let e=this.parent.getBoundingClientRect();e.width&&e.height&&(t=e.width/this.parent.offsetWidth,n=e.height/this.parent.offsetHeight)}else({scaleX:t,scaleY:n}=this.view.viewState);return{editor:e,parent:this.parent?this.container.getBoundingClientRect():e,pos:this.manager.tooltips.map(((e,t)=>{let n=this.manager.tooltipViews[t];return n.getCoords?n.getCoords(e.pos):this.view.coordsAtPos(e.pos)})),size:this.manager.tooltipViews.map((({dom:e})=>e.getBoundingClientRect())),space:this.view.state.facet(_R).tooltipSpace(this.view),scaleX:t,scaleY:n,makeAbsolute:i}}writeMeasure(e){var t;if(e.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let e of this.manager.tooltipViews)e.dom.style.position="absolute"}let{editor:n,space:i,scaleX:o,scaleY:r}=e,s=[];for(let a=0;a=Math.min(n.bottom,i.bottom)||h.rightMath.min(n.right,i.right)+.1){u.style.top=yR;continue}let d=l.arrow?c.dom.querySelector(".cm-tooltip-arrow"):null,f=d?7:0,m=p.right-p.left,g=null!==(t=ER.get(c))&&void 0!==t?t:p.bottom-p.top,v=c.offset||CR,y=this.view.textDirection==EA.LTR,b=p.width>i.right-i.left?y?i.left:i.right-p.width:y?Math.max(i.left,Math.min(h.left-(d?14:0)+v.x,i.right-m)):Math.min(Math.max(i.left,h.left-m+(d?14:0)-v.x),i.right-m),w=this.above[a];!l.strictSide&&(w?h.top-(p.bottom-p.top)-v.yi.bottom)&&w==i.bottom-h.bottom>h.top-i.top&&(w=this.above[a]=!w);let x=(w?h.top-i.top:i.bottom-h.bottom)-f;if(xb&&e.top<_+g&&e.bottom>_&&(_=w?e.top-g-2-f:e.bottom+f+2);if("absolute"==this.position?(u.style.top=(_-e.parent.top)/r+"px",u.style.left=(b-e.parent.left)/o+"px"):(u.style.top=_/r+"px",u.style.left=b/o+"px"),d){let e=h.left+(y?v.x:-v.x)-(b+14-7);d.style.left=e/o+"px"}!0!==c.overlap&&s.push({left:b,top:_,right:E,bottom:_+g}),u.classList.toggle("cm-tooltip-above",w),u.classList.toggle("cm-tooltip-below",!w),c.positioned&&c.positioned(e.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let e of this.manager.tooltipViews)e.dom.style.top=yR}},{eventObservers:{scroll(){this.maybeMeasure()}}}),SR=nR.baseTheme({".cm-tooltip":{zIndex:100,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),CR={x:0,y:0},OR=YO.define({enables:[kR,SR]}),PR=YO.define({combine:e=>e.reduce(((e,t)=>e.concat(t)),[])});class MR{static create(e){return new MR(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new bR(e,PR,((e,t)=>this.createHostedView(e,t)),(e=>e.dom.remove()))}createHostedView(e,t){let n=e.create(this.view);return n.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(n.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&n.mount&&n.mount(this.view),n}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)null===(e=t.destroy)||void 0===e||e.call(t)}passProp(e){let t;for(let n of this.manager.tooltipViews){let i=n[e];if(void 0!==i)if(void 0===t)t=i;else if(t!==i)return}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const AR=OR.compute([PR],(e=>{let t=e.facet(PR);return 0===t.length?null:{pos:Math.min(...t.map((e=>e.pos))),end:Math.max(...t.map((e=>{var t;return null!==(t=e.end)&&void 0!==t?t:e.pos}))),create:MR.create,above:t[0].above,arrow:t.some((e=>e.arrow))}}));class TR{constructor(e,t,n,i,o){this.view=e,this.source=t,this.field=n,this.setHover=i,this.hoverTime=o,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout((()=>this.startHover()),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;en.bottom||t.xn.right+e.defaultCharacterWidth)return;let r=e.bidiSpans(e.state.doc.lineAt(i)).find((e=>e.from<=i&&e.to>=i)),s=r&&r.dir==EA.RTL?-1:1;o=t.x{this.pending==t&&(this.pending=null,!n||Array.isArray(n)&&!n.length||e.dispatch({effects:this.setHover.of(Array.isArray(n)?n:[n])}))}),(t=>tT(e.state,t,"hover tooltip")))}else!r||Array.isArray(r)&&!r.length||e.dispatch({effects:this.setHover.of(Array.isArray(r)?r:[r])})}get tooltip(){let e=this.view.plugin(kR),t=e?e.manager.tooltips.findIndex((e=>e.create==MR.create)):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,n;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:i,tooltip:o}=this;if(i.length&&o&&!function(e,t){let n=e.getBoundingClientRect();return t.clientX>=n.left-BR&&t.clientX<=n.right+BR&&t.clientY>=n.top-BR&&t.clientY<=n.bottom+BR}(o.dom,e)||this.pending){let{pos:o}=i[0]||this.pending,r=null!==(n=null===(t=i[0])||void 0===t?void 0:t.end)&&void 0!==n?n:o;(o==r?this.view.posAtCoords(this.lastMove)==o:function(e,t,n,i,o,r){let s=e.scrollDOM.getBoundingClientRect(),a=e.documentTop+e.documentPadding.top+e.contentHeight;if(s.left>i||s.righto||Math.min(s.bottom,a)=t&&l<=n}(this.view,o,r,e.clientX,e.clientY))||(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length){let{tooltip:t}=this;t&&t.dom.contains(e.relatedTarget)?this.watchTooltipLeave(t.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=n=>{e.removeEventListener("mouseleave",t),this.active.length&&!this.view.dom.contains(n.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const BR=4;function RR(e,t={}){let n=_P.define(),i=iP.define({create:()=>[],update(e,i){if(e.length&&(t.hideOnChange&&(i.docChanged||i.selection)?e=[]:t.hideOn&&(e=e.filter((e=>!t.hideOn(i,e)))),i.docChanged)){let t=[];for(let n of e){let e=i.changes.mapPos(n.pos,-1,zO.TrackDel);if(null!=e){let o=Object.assign(Object.create(null),n);o.pos=e,null!=o.end&&(o.end=i.changes.mapPos(o.end)),t.push(o)}}e=t}for(let t of i.effects)t.is(n)&&(e=t.value),t.is(LR)&&(e=[]);return e},provide:e=>PR.from(e)});return{active:i,extension:[i,rT.define((o=>new TR(o,e,i,n,t.hoverTime||300))),AR]}}function DR(e,t){let n=e.plugin(kR);if(!n)return null;let i=n.manager.tooltips.indexOf(t);return i<0?null:n.manager.tooltipViews[i]}const LR=_P.define(),NR=YO.define({combine(e){let t,n;for(let i of e)t=t||i.topContainer,n=n||i.bottomContainer;return{topContainer:t,bottomContainer:n}}}),zR=rT.fromClass(class{constructor(e){this.input=e.state.facet($R),this.specs=this.input.filter((e=>e)),this.panels=this.specs.map((t=>t(e)));let t=e.state.facet(NR);this.top=new IR(e,!0,t.topContainer),this.bottom=new IR(e,!1,t.bottomContainer),this.top.sync(this.panels.filter((e=>e.top))),this.bottom.sync(this.panels.filter((e=>!e.top)));for(let e of this.panels)e.dom.classList.add("cm-panel"),e.mount&&e.mount()}update(e){let t=e.state.facet(NR);this.top.container!=t.topContainer&&(this.top.sync([]),this.top=new IR(e.view,!0,t.topContainer)),this.bottom.container!=t.bottomContainer&&(this.bottom.sync([]),this.bottom=new IR(e.view,!1,t.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let n=e.state.facet($R);if(n!=this.input){let t=n.filter((e=>e)),i=[],o=[],r=[],s=[];for(let n of t){let t,a=this.specs.indexOf(n);a<0?(t=n(e.view),s.push(t)):(t=this.panels[a],t.update&&t.update(e)),i.push(t),(t.top?o:r).push(t)}this.specs=t,this.panels=i,this.top.sync(o),this.bottom.sync(r);for(let e of s)e.dom.classList.add("cm-panel"),e.mount&&e.mount()}else for(let t of this.panels)t.update&&t.update(e)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:e=>nR.scrollMargins.of((t=>{let n=t.plugin(e);return n&&{top:n.top.scrollMargin(),bottom:n.bottom.scrollMargin()}}))});class IR{constructor(e,t,n){this.view=e,this.top=t,this.container=n,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(0==this.panels.length)return void(this.dom&&(this.dom.remove(),this.dom=void 0));if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let e=this.container||this.view.dom;e.insertBefore(this.dom,this.top?e.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=FR(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=FR(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(this.container&&this.classes!=this.view.themeClasses){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function FR(e){let t=e.nextSibling;return e.remove(),t}const $R=YO.define({enables:zR});class jR extends LP{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}jR.prototype.elementClass="",jR.prototype.toDOM=void 0,jR.prototype.mapMode=zO.TrackBefore,jR.prototype.startSide=jR.prototype.endSide=-1,jR.prototype.point=!0;const qR=YO.define(),HR=YO.define(),VR=YO.define(),WR=YO.define({combine:e=>e.some((e=>e))});function GR(e){let t=[QR];return e&&!1===e.fixed&&t.push(WR.of(!0)),t}const QR=rT.fromClass(class{constructor(e){this.view=e,this.prevViewport=e.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=e.state.facet(VR).map((t=>new KR(e,t)));for(let e of this.gutters)this.dom.appendChild(e.dom);this.fixed=!e.state.facet(WR),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),e.scrollDOM.insertBefore(this.dom,e.contentDOM)}update(e){if(this.updateGutters(e)){let t=this.prevViewport,n=e.view.viewport,i=Math.min(t.to,n.to)-Math.max(t.from,n.from);this.syncGutters(i<.8*(n.to-n.from))}e.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px"),this.view.state.facet(WR)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=e.view.viewport}syncGutters(e){let t=this.dom.nextSibling;e&&this.dom.remove();let n=FP.iter(this.view.state.facet(qR),this.view.viewport.from),i=[],o=this.gutters.map((e=>new YR(e,this.view.viewport,-this.view.documentPadding.top)));for(let e of this.view.viewportLineBlocks)if(i.length&&(i=[]),Array.isArray(e.type)){let t=!0;for(let r of e.type)if(r.type==uA.Text&&t){UR(n,i,r.from);for(let e of o)e.line(this.view,r,i);t=!1}else if(r.widget)for(let e of o)e.widget(this.view,r)}else if(e.type==uA.Text){UR(n,i,e.from);for(let t of o)t.line(this.view,e,i)}else if(e.widget)for(let t of o)t.widget(this.view,e);for(let e of o)e.finish();e&&this.view.scrollDOM.insertBefore(this.dom,t)}updateGutters(e){let t=e.startState.facet(VR),n=e.state.facet(VR),i=e.docChanged||e.heightChanged||e.viewportChanged||!FP.eq(e.startState.facet(qR),e.state.facet(qR),e.view.viewport.from,e.view.viewport.to);if(t==n)for(let t of this.gutters)t.update(e)&&(i=!0);else{i=!0;let o=[];for(let i of n){let n=t.indexOf(i);n<0?o.push(new KR(this.view,i)):(this.gutters[n].update(e),o.push(this.gutters[n]))}for(let e of this.gutters)e.dom.remove(),o.indexOf(e)<0&&e.destroy();for(let e of o)this.dom.appendChild(e.dom);this.gutters=o}return i}destroy(){for(let e of this.gutters)e.destroy();this.dom.remove()}},{provide:e=>nR.scrollMargins.of((t=>{let n=t.plugin(e);return n&&0!=n.gutters.length&&n.fixed?t.textDirection==EA.LTR?{left:n.dom.offsetWidth*t.scaleX}:{right:n.dom.offsetWidth*t.scaleX}:null}))});function XR(e){return Array.isArray(e)?e:[e]}function UR(e,t,n){for(;e.value&&e.from<=n;)e.from==n&&t.push(e.value),e.next()}class YR{constructor(e,t,n){this.gutter=e,this.height=n,this.i=0,this.cursor=FP.iter(e.markers,t.from)}addElement(e,t,n){let{gutter:i}=this,o=(t.top-this.height)/e.scaleY,r=t.height/e.scaleY;if(this.i==i.elements.length){let t=new ZR(e,r,o,n);i.elements.push(t),i.dom.appendChild(t.dom)}else i.elements[this.i].update(e,r,o,n);this.height=t.bottom,this.i++}line(e,t,n){let i=[];UR(this.cursor,i,t.from),n.length&&(i=i.concat(n));let o=this.gutter.config.lineMarker(e,t,i);o&&i.unshift(o);let r=this.gutter;(0!=i.length||r.config.renderEmptyElements)&&this.addElement(e,t,i)}widget(e,t){let n=this.gutter.config.widgetMarker(e,t.widget,t),i=n?[n]:null;for(let n of e.state.facet(HR)){let o=n(e,t.widget,t);o&&(i||(i=[])).push(o)}i&&this.addElement(e,t,i)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class KR{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let n in t.domEventHandlers)this.dom.addEventListener(n,(i=>{let o,r=i.target;if(r!=this.dom&&this.dom.contains(r)){for(;r.parentNode!=this.dom;)r=r.parentNode;let e=r.getBoundingClientRect();o=(e.top+e.bottom)/2}else o=i.clientY;let s=e.lineBlockAtHeight(o-e.documentTop);t.domEventHandlers[n](e,s,i)&&i.preventDefault()}));this.markers=XR(t.markers(e)),t.initialSpacer&&(this.spacer=new ZR(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=XR(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let t=this.config.updateSpacer(this.spacer.markers[0],e);t!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[t])}let n=e.view.viewport;return!FP.eq(this.markers,t,n.from,n.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(e)}destroy(){for(let e of this.elements)e.destroy()}}class ZR{constructor(e,t,n,i){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,n,i)}update(e,t,n,i){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=n&&(this.dom.style.marginTop=(this.above=n)?n+"px":""),function(e,t){if(e.length!=t.length)return!1;for(let n=0;nDP(e,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let n=Object.assign({},e);for(let e in t){let i=n[e],o=t[e];n[e]=i?(e,t,n)=>i(e,t,n)||o(e,t,n):o}return n}})});class nD extends jR{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function iD(e,t){return e.state.facet(tD).formatNumber(t,e.state)}const oD=VR.compute([tD],(e=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers:e=>e.state.facet(JR),lineMarker:(e,t,n)=>n.some((e=>e.toDOM))?null:new nD(iD(e,e.state.doc.lineAt(t.from).number)),widgetMarker:(e,t,n)=>{for(let i of e.state.facet(eD)){let o=i(e,t,n);if(o)return o}return null},lineMarkerChange:e=>e.startState.facet(tD)!=e.state.facet(tD),initialSpacer:e=>new nD(iD(e,sD(e.state.doc.lines))),updateSpacer(e,t){let n=iD(t.view,sD(t.view.state.doc.lines));return n==e.number?e:new nD(n)},domEventHandlers:e.facet(tD).domEventHandlers})));function rD(e={}){return[tD.of(e),GR(),oD]}function sD(e){let t=9;for(;t{let i=hD(e,t,n),o=i.type.prop(lD);if(!o)return[];let r=e.facet(o),s=i.type.prop(cD);if(s){let o=i.resolve(t-i.from,n);for(let t of s)if(t.test(o,e)){let n=e.facet(t.facet);return"replace"==t.type?n:n.concat(r)}}return r}))].concat(n)}isActiveAt(e,t,n=-1){return hD(e,t,n).type.prop(lD)==this.data}findRegions(e){let t=e.facet(_D);if((null==t?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],i=(e,t)=>{if(e.prop(lD)==this.data)return void n.push({from:t,to:t+e.length});let o=e.prop(MS.mounted);if(o){if(o.tree.prop(lD)==this.data){if(o.overlay)for(let e of o.overlay)n.push({from:e.from+t,to:e.to+t});else n.push({from:t,to:t+e.length});return}if(o.overlay){let e=n.length;if(i(o.tree,o.overlay[0].from+t),n.length>e)return}}for(let n=0;ne.concat(n):void 0}));var n;return new pD(t,e.parser.configure({props:[lD.add((e=>e.isTop?t:void 0))]}),e.name)}configure(e,t){return new pD(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function dD(e){let t=e.field(uD.state,!1);return t?t.tree:zS.empty}class fD{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}}let mD=null;class gD{constructor(e,t,n=[],i,o,r,s,a){this.parser=e,this.state=t,this.fragments=n,this.tree=i,this.treeLen=o,this.viewport=r,this.skipped=s,this.scheduleOn=a,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new gD(e,t,[],zS.empty,0,n,[],null)}startParse(){return this.parser.startParse(new fD(this.state.doc),this.fragments)}work(e,t){return null!=t&&t>=this.state.doc.length&&(t=void 0),this.tree!=zS.empty&&this.isDone(null!=t?t:this.state.doc.length)?(this.takeTree(),!0):this.withContext((()=>{var n;if("number"==typeof e){let t=Date.now()+e;e=()=>Date.now()>t}for(this.parse||(this.parse=this.startParse()),null!=t&&(null==this.parse.stoppedAt||this.parse.stoppedAt>t)&&t=this.treeLen&&((null==this.parse.stoppedAt||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext((()=>{for(;!(t=this.parse.advance()););})),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(tC.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=mD;mD=this;try{return e()}finally{mD=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=vD(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:i,treeLen:o,viewport:r,skipped:s}=this;if(this.takeTree(),!e.empty){let t=[];if(e.iterChangedRanges(((e,n,i,o)=>t.push({fromA:e,toA:n,fromB:i,toB:o}))),n=tC.applyChanges(n,t),i=zS.empty,o=0,r={from:e.mapPos(r.from,-1),to:e.mapPos(r.to,1)},this.skipped.length){s=[];for(let t of this.skipped){let n=e.mapPos(t.from,1),i=e.mapPos(t.to,-1);ne.from&&(this.fragments=vD(this.fragments,n,i),this.skipped.splice(t--,1))}return!(this.skipped.length>=t||(this.reset(),0))}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends nC{createParse(t,n,i){let o=i[0].from,r=i[i.length-1].to;return{parsedPos:o,advance(){let t=mD;if(t){for(let e of i)t.tempSkipped.push(e);e&&(t.scheduleOn=t.scheduleOn?Promise.all([t.scheduleOn,e]):e)}return this.parsedPos=r,new zS(BS.none,[],[],r-o)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&0==t[0].from&&t[0].to>=e}static get(){return mD}}function vD(e,t,n){return tC.applyChanges(e,[{fromA:t,toA:n,fromB:t,toB:n}])}class yD{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new yD(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=gD.create(e.facet(_D).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new yD(n)}}uD.state=iP.define({create:yD.init,update(e,t){for(let e of t.effects)if(e.is(uD.setState))return e.value;return t.startState.facet(_D)!=t.state.facet(_D)?yD.init(t.state):e.apply(t)}});let bD=e=>{let t=setTimeout((()=>e()),500);return()=>clearTimeout(t)};"undefined"!=typeof requestIdleCallback&&(bD=e=>{let t=-1,n=setTimeout((()=>{t=requestIdleCallback(e,{timeout:400})}),100);return()=>t<0?clearTimeout(n):cancelIdleCallback(t)});const wD="undefined"!=typeof navigator&&(null===(aD=navigator.scheduling)||void 0===aD?void 0:aD.isInputPending)?()=>navigator.scheduling.isInputPending():null,xD=rT.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(uD.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(uD.state);t.tree==t.context.tree&&t.context.isDone(e.doc.length)||(this.working=bD(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndi+1e3,a=o.context.work((()=>wD&&wD()||Date.now()>r),i+(s?0:1e5));this.chunkBudget-=Date.now()-t,(a||this.chunkBudget<=0)&&(o.context.takeTree(),this.view.dispatch({effects:uD.setState.of(new yD(o.context))})),this.chunkBudget>0&&(!a||s)&&this.scheduleWork(),this.checkAsyncSchedule(o.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then((()=>this.scheduleWork())).catch((e=>tT(this.view.state,e))).then((()=>this.workScheduled--)),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),_D=YO.define({combine:e=>e.length?e[0]:null,enables:e=>[uD.state,xD,nR.contentAttributes.compute([e],(t=>{let n=t.facet(e);return n&&n.name?{"data-language":n.name}:{}}))]});class ED{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}const kD=YO.define(),SD=YO.define({combine:e=>{if(!e.length)return" ";let t=e[0];if(!t||/\S/.test(t)||Array.from(t).some((e=>e!=t[0])))throw new Error("Invalid indent unit: "+JSON.stringify(e[0]));return t}});function CD(e){let t=e.facet(SD);return 9==t.charCodeAt(0)?e.tabSize*t.length:t.length}function OD(e,t){let n="",i=e.tabSize,o=e.facet(SD)[0];if("\t"==o){for(;t>=i;)n+="\t",t-=i;o=" "}for(let e=0;e=t?function(e,t,n){let i=t.resolveStack(n),o=i.node.enterUnfinishedNodesBefore(n);if(o!=i.node){let e=[];for(let t=o;t!=i.node;t=t.parent)e.push(t);for(let t=e.length-1;t>=0;t--)i={node:e[t],next:i}}return TD(i,e,n)}(e,n,t):null}class MD{constructor(e,t={}){this.state=e,this.options=t,this.unit=CD(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:i,simulateDoubleBreak:o}=this.options;return null!=i&&i>=n.from&&i<=n.to?o&&i==e?{text:"",from:e}:(t<0?i-1&&(o+=r-this.countColumn(n,n.search(/\S|$/))),o}countColumn(e,t=e.length){return KP(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:i}=this.lineAt(e,t),o=this.options.overrideIndentation;if(o){let e=o(i);if(e>-1)return e}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const AD=new MS;function TD(e,t,n){for(let i=e;i;i=i.next){let e=BD(i.node);if(e)return e(DD.create(t,n,i))}return 0}function BD(e){let t=e.type.prop(AD);if(t)return t;let n,i=e.firstChild;if(i&&(n=i.type.prop(MS.closedBy))){let t=e.lastChild,i=t&&n.indexOf(t.name)>-1;return e=>zD(e,!0,1,void 0,i&&!function(e){return e.pos==e.options.simulateBreak&&e.options.simulateDoubleBreak}(e)?t.from:void 0)}return null==e.parent?RD:null}function RD(){return 0}class DD extends MD{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.context=n}get node(){return this.context.node}static create(e,t,n){return new DD(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(LD(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){return TD(this.context.next,this.base,this.pos)}}function LD(e,t){for(let n=t;n;n=n.parent)if(e==n)return!0;return!1}function ND({closing:e,align:t=!0,units:n=1}){return i=>zD(i,t,n,e)}function zD(e,t,n,i,o){let r=e.textAfter,s=r.match(/^\s*/)[0].length,a=i&&r.slice(s,s+i.length)==i||o==e.pos+s,l=t?function(e){let t=e.node,n=t.childAfter(t.from),i=t.lastChild;if(!n)return null;let o=e.options.simulateBreak,r=e.state.doc.lineAt(n.from),s=null==o||o<=r.from?r.to:Math.min(r.to,o);for(let e=n.to;;){let o=t.childAfter(e);if(!o||o==i)return null;if(!o.type.isSkipped)return o.from{let i=e&&e.test(n.textAfter);return n.baseIndent+(i?0:t*n.unit)}}const FD=200;function $D(){return RP.transactionFilter.of((e=>{if(!e.docChanged||!e.isUserEvent("input.type")&&!e.isUserEvent("input.complete"))return e;let t=e.startState.languageDataAt("indentOnInput",e.startState.selection.main.head);if(!t.length)return e;let n=e.newDoc,{head:i}=e.newSelection.main,o=n.lineAt(i);if(i>o.from+FD)return e;let r=n.sliceString(o.from,i);if(!t.some((e=>e.test(r))))return e;let{state:s}=e,a=-1,l=[];for(let{head:e}of s.selection.ranges){let t=s.doc.lineAt(e);if(t.from==a)continue;a=t.from;let n=PD(s,t.from);if(null==n)continue;let i=/^\s*/.exec(t.text)[0],o=OD(s,n);i!=o&&l.push({from:t.from,to:t.from+i.length,insert:o})}return l.length?[e,{changes:l,sequential:!0}]:e}))}const jD=new MS;function qD(e){let t=e.firstChild,n=e.lastChild;return t&&t.toe.prop(lD)==r.data:r?e=>e==r:void 0,this.style=UC(e.map((e=>({tag:e.tag,class:e.class||i(Object.assign({},e,{tag:null}))}))),{all:o}).style,this.module=n?new tM(n):null,this.themeType=t.themeType}static define(e,t){return new HD(e,t||{})}}const VD=YO.define(),WD=YO.define({combine:e=>e.length?[e[0]]:null});function GD(e){let t=e.facet(VD);return t.length?t:e.facet(WD)}function QD(e,t){let n,i=[UD];return e instanceof HD&&(e.module&&i.push(nR.styleModule.of(e.module)),n=e.themeType),(null==t?void 0:t.fallback)?i.push(WD.of(e)):n?i.push(VD.computeN([nR.darkTheme],(t=>t.facet(nR.darkTheme)==("dark"==n)?[e]:[]))):i.push(VD.of(e)),i}class XD{constructor(e){this.markCache=Object.create(null),this.tree=dD(e.state),this.decorations=this.buildDeco(e,GD(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=dD(e.state),n=GD(e.state),i=n!=GD(e.startState),{viewport:o}=e.view,r=e.changes.mapPos(this.decoratedTo,1);t.length=o.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=r):(t!=this.tree||e.viewportChanged||i)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=o.to)}buildDeco(e,t){if(!t||!this.tree.length)return hA.none;let n=new $P;for(let{from:i,to:o}of e.visibleRanges)YC(this.tree,t,((e,t,i)=>{n.add(e,t,this.markCache[i]||(this.markCache[i]=hA.mark({class:i})))}),i,o);return n.finish()}}const UD=rP.high(rT.fromClass(XD,{decorations:e=>e.decorations})),YD=(dO.meta,dO.link,dO.heading,dO.emphasis,dO.strong,dO.strikethrough,dO.keyword,dO.atom,dO.bool,dO.url,dO.contentSeparator,dO.labelName,dO.literal,dO.inserted,dO.string,dO.deleted,dO.regexp,dO.escape,dO.string,dO.variableName,dO.variableName,dO.typeName,dO.namespace,dO.className,dO.variableName,dO.macroName,dO.propertyName,dO.comment,dO.invalid,nR.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}})),KD=1e4,ZD="()[]{}",JD=YO.define({combine:e=>DP(e,{afterCursor:!0,brackets:ZD,maxScanDistance:KD,renderMatch:nL})}),eL=hA.mark({class:"cm-matchingBracket"}),tL=hA.mark({class:"cm-nonmatchingBracket"});function nL(e){let t=[],n=e.matched?eL:tL;return t.push(n.range(e.start.from,e.start.to)),e.end&&t.push(n.range(e.end.from,e.end.to)),t}const iL=iP.define({create:()=>hA.none,update(e,t){if(!t.docChanged&&!t.selection)return e;let n=[],i=t.state.facet(JD);for(let e of t.state.selection.ranges){if(!e.empty)continue;let o=cL(t.state,e.head,-1,i)||e.head>0&&cL(t.state,e.head-1,1,i)||i.afterCursor&&(cL(t.state,e.head,1,i)||e.headnR.decorations.from(e)}),oL=[iL,YD];function rL(e={}){return[JD.of(e),oL]}const sL=new MS;function aL(e,t,n){let i=e.prop(t<0?MS.openedBy:MS.closedBy);if(i)return i;if(1==e.name.length){let i=n.indexOf(e.name);if(i>-1&&i%2==(t<0?1:0))return[n[i+t]]}return null}function lL(e){let t=e.type.prop(sL);return t?t(e.node):e}function cL(e,t,n,i={}){let o=i.maxScanDistance||KD,r=i.brackets||ZD,s=dD(e),a=s.resolveInner(t,n);for(let e=a;e;e=e.parent){let i=aL(e.type,n,r);if(i&&e.from0?t>=o.from&&to.from&&t<=o.to))return uL(0,0,n,e,o,i,r)}}return function(e,t,n,i,o,r,s){let a=n<0?e.sliceDoc(t-1,t):e.sliceDoc(t,t+1),l=s.indexOf(a);if(l<0||l%2==0!=n>0)return null;let c={from:n<0?t-1:t,to:n>0?t+1:t},u=e.doc.iterRange(t,n>0?e.doc.length:0),h=0;for(let e=0;!u.next().done&&e<=r;){let r=u.value;n<0&&(e+=r.length);let a=t+e*n;for(let e=n>0?0:r.length-1,t=n>0?r.length:-1;e!=t;e+=n){let t=s.indexOf(r[e]);if(!(t<0||i.resolveInner(a+e,1).type!=o))if(t%2==0==n>0)h++;else{if(1==h)return{start:c,end:{from:a+e,to:a+e+1},matched:t>>1==l>>1};h--}}n>0&&(e+=r.length)}return u.done?{start:c,matched:!1}:null}(e,t,n,s,a.type,o,r)}function uL(e,t,n,i,o,r,s){let a=i.parent,l={from:o.from,to:o.to},c=0,u=null==a?void 0:a.cursor();if(u&&(n<0?u.childBefore(i.from):u.childAfter(i.to)))do{if(n<0?u.to<=i.from:u.from>=i.to){if(0==c&&r.indexOf(u.type.name)>-1&&u.from-1||(dL.push(e),console.warn(t))}function vL(e,t){let n=[];for(let i of t.split(" ")){let t=[];for(let n of i.split(".")){let i=e[n]||dO[n];i?"function"==typeof i?t.length?t=t.map(i):gL(n,`Modifier ${n} used at start of tag`):t.length?gL(n,`Tag ${n} used as modifier`):t=Array.isArray(i)?i:[i]:gL(n,`Unknown highlighting tag ${n}`)}for(let e of t)n.push(e)}if(!n.length)return 0;let i=t.replace(/ /g,"_"),o=i+" "+n.map((e=>e.id)),r=fL[o];if(r)return r.id;let s=fL[o]=BS.define({id:pL.length,name:i,props:[GC({[i]:n})]});return pL.push(s),s.id}EA.RTL,EA.LTR;class yL{constructor(e,t,n,i){this.state=e,this.pos=t,this.explicit=n,this.view=i,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=dD(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),n=Math.max(t.from,this.pos-250),i=t.text.slice(n-t.from,this.pos-t.from),o=i.search(EL(e,!1));return o<0?null:{from:n+o,to:this.pos,text:i.slice(o)}}get aborted(){return null==this.abortListeners}addEventListener(e,t,n){"abort"==e&&this.abortListeners&&(this.abortListeners.push(t),n&&n.onDocChange&&(this.abortOnDocChange=!0))}}function bL(e){let t=Object.keys(e).join(""),n=/\w/.test(t);return n&&(t=t.replace(/\w/g,"")),`[${n?"\\w":""}${t.replace(/[^\w\s]/g,"\\$&")}]`}function wL(e){let t=e.map((e=>"string"==typeof e?{label:e}:e)),[n,i]=t.every((e=>/^\w+$/.test(e.label)))?[/\w*$/,/\w+$/]:function(e){let t=Object.create(null),n=Object.create(null);for(let{label:i}of e){t[i[0]]=!0;for(let e=1;e{let o=e.matchBefore(i);return o||e.explicit?{from:o?o.from:e.pos,options:t,validFor:n}:null}}class xL{constructor(e,t,n,i){this.completion=e,this.source=t,this.match=n,this.score=i}}function _L(e){return e.selection.main.from}function EL(e,t){var n;let{source:i}=e,o=t&&"^"!=i[0],r="$"!=i[i.length-1];return o||r?new RegExp(`${o?"^":""}(?:${i})${r?"$":""}`,null!==(n=e.flags)&&void 0!==n?n:e.ignoreCase?"i":""):e}const kL=bP.define(),SL=new WeakMap;function CL(e){if(!Array.isArray(e))return e;let t=SL.get(e);return t||SL.set(e,t=wL(e)),t}const OL=_P.define(),PL=_P.define();class ML{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t=48&&l<=57||l>=97&&l<=122?2:l>=65&&l<=90?1:0:(y=DO(l))!=y.toLowerCase()?1:y!=y.toUpperCase()?2:0;(!i||1==b&&m||0==v&&0!=b)&&(t[u]==l||n[u]==l&&(h=!0)?r[u++]=i:r.length&&(g=!1)),v=b,i+=LO(l)}return u==a&&0==r[0]&&g?this.result((h?-200:0)-100,r,e):p==a&&0==d?this.ret(-200-e.length+(f==e.length?0:-100),[0,f]):s>-1?this.ret(-700-e.length,[s,s+this.pattern.length]):p==a?this.ret(-900-e.length,[d,f]):u==a?this.result((h?-200:0)-100-700+(g?0:-1100),r,e):2==t.length?null:this.result((i[0]?-700:0)-200-1100,i,e)}result(e,t,n){let i=[],o=0;for(let e of t){let t=e+(this.astral?LO(RO(n,e)):1);o&&i[o-1]==e?i[o-1]=t:(i[o++]=e,i[o++]=t)}return this.ret(e-n.length,i)}}class AL{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.lengthDP(e,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:RL,filterStrict:!1,compareCompletions:(e,t)=>e.label.localeCompare(t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>n=>BL(e(n),t(n)),optionClass:(e,t)=>n=>BL(e(n),t(n)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})});function BL(e,t){return e?t?e+" "+t:e:t}function RL(e,t,n,i,o,r){let s,a,l=e.textDirection==EA.RTL,c=l,u=!1,h="top",p=t.left-o.left,d=o.right-t.right,f=i.right-i.left,m=i.bottom-i.top;if(c&&p=m||e>t.top?s=n.bottom-t.top:(h="bottom",s=t.bottom-n.top)}return{style:`${h}: ${s/((t.bottom-t.top)/r.offsetHeight)}px; max-width: ${a/((t.right-t.left)/r.offsetWidth)}px`,class:"cm-completionInfo-"+(u?l?"left-narrow":"right-narrow":c?"left":"right")}}function DL(e,t,n){if(e<=n)return{from:0,to:e};if(t<0&&(t=0),t<=e>>1){let e=Math.floor(t/n);return{from:e*n,to:(e+1)*n}}let i=Math.floor((e-t)/n);return{from:e-(i+1)*n,to:e-i*n}}class LL{constructor(e,t,n){this.view=e,this.stateField=t,this.applyCompletion=n,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:e=>this.placeInfo(e),key:this},this.space=null,this.currentClass="";let i=e.state.field(t),{options:o,selected:r}=i.open,s=e.state.facet(TL);this.optionContent=function(e){let t=e.addToOptions.slice();return e.icons&&t.push({render(e){let t=document.createElement("div");return t.classList.add("cm-completionIcon"),e.type&&t.classList.add(...e.type.split(/\s+/g).map((e=>"cm-completionIcon-"+e))),t.setAttribute("aria-hidden","true"),t},position:20}),t.push({render(e,t,n,i){let o=document.createElement("span");o.className="cm-completionLabel";let r=e.displayLabel||e.label,s=0;for(let e=0;es&&o.appendChild(document.createTextNode(r.slice(s,t)));let a=o.appendChild(document.createElement("span"));a.appendChild(document.createTextNode(r.slice(t,n))),a.className="cm-completionMatchedText",s=n}return se.position-t.position)).map((e=>e.render))}(s),this.optionClass=s.optionClass,this.tooltipClass=s.tooltipClass,this.range=DL(o.length,r,s.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",(n=>{let{options:i}=e.state.field(t).open;for(let t,o=n.target;o&&o!=this.dom;o=o.parentNode)if("LI"==o.nodeName&&(t=/-(\d+)$/.exec(o.id))&&+t[1]{let n=e.state.field(this.stateField,!1);n&&n.tooltip&&e.state.facet(TL).closeOnBlur&&t.relatedTarget!=e.contentDOM&&e.dispatch({effects:PL.of(null)})})),this.showOptions(o,i.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",(()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)}))}update(e){var t;let n=e.state.field(this.stateField),i=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),n!=i){let{options:o,selected:r,disabled:s}=n.open;i.open&&i.open.options==o||(this.range=DL(o.length,r,e.state.facet(TL).maxRenderedOptions),this.showOptions(o,n.id)),this.updateSel(),s!=(null===(t=i.open)||void 0===t?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!s)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let e of this.currentClass.split(" "))e&&this.dom.classList.remove(e);for(let e of t.split(" "))e&&this.dom.classList.add(e);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;if((t.selected>-1&&t.selected=this.range.to)&&(this.range=DL(t.options.length,t.selected,this.view.state.facet(TL).maxRenderedOptions),this.showOptions(t.options,e.id)),this.updateSelectedOption(t.selected)){this.destroyInfo();let{completion:n}=t.options[t.selected],{info:i}=n;if(!i)return;let o="string"==typeof i?document.createTextNode(i):i(n);if(!o)return;"then"in o?o.then((t=>{t&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(t,n)})).catch((e=>tT(this.view.state,e,"completion info"))):this.addInfoPane(o,n)}}addInfoPane(e,t){this.destroyInfo();let n=this.info=document.createElement("div");if(n.className="cm-tooltip cm-completionInfo",null!=e.nodeType)n.appendChild(e),this.infoDestroy=null;else{let{dom:t,destroy:i}=e;n.appendChild(t),this.infoDestroy=i||null}this.dom.appendChild(n),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let n=this.list.firstChild,i=this.range.from;n;n=n.nextSibling,i++)"LI"==n.nodeName&&n.id?i==e?n.hasAttribute("aria-selected")||(n.setAttribute("aria-selected","true"),t=n):n.hasAttribute("aria-selected")&&n.removeAttribute("aria-selected"):i--;return t&&function(e,t){let n=e.getBoundingClientRect(),i=t.getBoundingClientRect(),o=n.height/e.offsetHeight;i.topn.bottom&&(e.scrollTop+=(i.bottom-n.bottom)/o)}(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),n=this.info.getBoundingClientRect(),i=e.getBoundingClientRect(),o=this.space;if(!o){let e=this.dom.ownerDocument.defaultView||window;o={left:0,top:0,right:e.innerWidth,bottom:e.innerHeight}}return i.top>Math.min(o.bottom,t.bottom)-10||i.bottomn.from||0==n.from)&&(o=e,"string"!=typeof l&&l.header?i.appendChild(l.header(l)):i.appendChild(document.createElement("completion-section")).textContent=e)}const c=i.appendChild(document.createElement("li"));c.id=t+"-"+r,c.setAttribute("role","option");let u=this.optionClass(s);u&&(c.className=u);for(let e of this.optionContent){let t=e(s,this.view.state,this.view,a);t&&c.appendChild(t)}}return n.from&&i.classList.add("cm-completionListIncompleteTop"),n.tonew LL(n,e,t)}function zL(e){return 100*(e.boost||0)+(e.apply?10:0)+(e.info?5:0)+(e.type?1:0)}class IL{constructor(e,t,n,i,o,r){this.options=e,this.attrs=t,this.tooltip=n,this.timestamp=i,this.selected=o,this.disabled=r}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new IL(this.options,qL(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,n,i,o){let r=function(e,t){let n=[],i=null,o=e=>{n.push(e);let{section:t}=e.completion;if(t){i||(i=[]);let e="string"==typeof t?t:t.name;i.some((t=>t.name==e))||i.push("string"==typeof t?{name:e}:t)}},r=t.facet(TL);for(let i of e)if(i.hasResult()){let e=i.result.getMatch;if(!1===i.result.filter)for(let t of i.result.options)o(new xL(t,i.source,e?e(t):[],1e9-n.length));else{let n,s=t.sliceDoc(i.from,i.to),a=r.filterStrict?new AL(s):new ML(s);for(let t of i.result.options)if(n=a.match(t.label)){let r=t.displayLabel?e?e(t,n.matched):[]:n.matched;o(new xL(t,i.source,r,n.score+(t.boost||0)))}}}if(i){let e=Object.create(null),t=0,o=(e,t)=>{var n,i;return(null!==(n=e.rank)&&void 0!==n?n:1e9)-(null!==(i=t.rank)&&void 0!==i?i:1e9)||(e.namet.score-e.score||l(e.completion,t.completion)))){let t=e.completion;!a||a.label!=t.label||a.detail!=t.detail||null!=a.type&&null!=t.type&&a.type!=t.type||a.apply!=t.apply||a.boost!=t.boost?s.push(e):zL(e.completion)>zL(a)&&(s[s.length-1]=e),a=e.completion}return s}(e,t);if(!r.length)return i&&e.some((e=>1==e.state))?new IL(i.options,i.attrs,i.tooltip,i.timestamp,i.selected,!0):null;let s=t.facet(TL).selectOnOpen?0:-1;if(i&&i.selected!=s&&-1!=i.selected){let e=i.options[i.selected].completion;for(let t=0;tt.hasResult()?Math.min(e,t.from):e),1e8),create:KL,above:o.aboveCursor},i?i.timestamp:Date.now(),s,!1)}map(e){return new IL(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}}class FL{constructor(e,t,n){this.active=e,this.id=t,this.open=n}static start(){return new FL(HL,"cm-ac-"+Math.floor(2e6*Math.random()).toString(36),null)}update(e){let{state:t}=e,n=t.facet(TL),i=(n.override||t.languageDataAt("autocomplete",_L(t)).map(CL)).map((t=>{let i=this.active.find((e=>e.source==t))||new WL(t,this.active.some((e=>0!=e.state))?1:0);return i.update(e,n)}));i.length==this.active.length&&i.every(((e,t)=>e==this.active[t]))&&(i=this.active);let o=this.open;o&&e.docChanged&&(o=o.map(e.changes)),e.selection||i.some((t=>t.hasResult()&&e.changes.touchesRange(t.from,t.to)))||!function(e,t){if(e==t)return!0;for(let n=0,i=0;;){for(;n1==e.state))&&(o=null),!o&&i.every((e=>1!=e.state))&&i.some((e=>e.hasResult()))&&(i=i.map((e=>e.hasResult()?new WL(e.source,0):e)));for(let t of e.effects)t.is(XL)&&(o=o&&o.setSelected(t.value,this.id));return i==this.active&&o==this.open?this:new FL(i,this.id,o)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?$L:jL}}const $L={"aria-autocomplete":"list"},jL={};function qL(e,t){let n={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":e};return t>-1&&(n["aria-activedescendant"]=e+"-"+t),n}const HL=[];function VL(e,t){if(e.isUserEvent("input.complete")){let n=e.annotation(kL);if(n&&t.activateOnCompletion(n))return 12}let n=e.isUserEvent("input.type");return n&&t.activateOnTyping?5:n?1:e.isUserEvent("delete.backward")?2:e.selection?8:e.docChanged?16:0}class WL{constructor(e,t,n=-1){this.source=e,this.state=t,this.explicitPos=n}hasResult(){return!1}update(e,t){let n=VL(e,t),i=this;(8&n||16&n&&this.touches(e))&&(i=new WL(i.source,0)),4&n&&0==i.state&&(i=new WL(this.source,1)),i=i.updateFor(e,n);for(let t of e.effects)if(t.is(OL))i=new WL(i.source,1,t.value?_L(e.state):-1);else if(t.is(PL))i=new WL(i.source,0);else if(t.is(QL))for(let e of t.value)e.source==i.source&&(i=e);return i}updateFor(e,t){return this.map(e.changes)}map(e){return e.empty||this.explicitPos<0?this:new WL(this.source,this.state,e.mapPos(this.explicitPos))}touches(e){return e.changes.touchesRange(_L(e.state))}}class GL extends WL{constructor(e,t,n,i,o){super(e,2,t),this.result=n,this.from=i,this.to=o}hasResult(){return!0}updateFor(e,t){var n;if(!(3&t))return this.map(e.changes);let i=this.result;i.map&&!e.changes.empty&&(i=i.map(i,e.changes));let o=e.changes.mapPos(this.from),r=e.changes.mapPos(this.to,1),s=_L(e.state);if((this.explicitPos<0?s<=o:sr||!i||2&t&&_L(e.startState)==this.from)return new WL(this.source,4&t?1:0);let a=this.explicitPos<0?-1:e.changes.mapPos(this.explicitPos);return function(e,t,n,i){if(!e)return!1;let o=t.sliceDoc(n,i);return"function"==typeof e?e(o,n,i,t):EL(e,!0).test(o)}(i.validFor,e.state,o,r)?new GL(this.source,a,i,o,r):i.update&&(i=i.update(i,o,r,new yL(e.state,s,a>=0)))?new GL(this.source,a,i,i.from,null!==(n=i.to)&&void 0!==n?n:_L(e.state)):new WL(this.source,1,a)}map(e){return e.empty?this:(this.result.map?this.result.map(this.result,e):this.result)?new GL(this.source,this.explicitPos<0?-1:e.mapPos(this.explicitPos),this.result,e.mapPos(this.from),e.mapPos(this.to,1)):new WL(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}}const QL=_P.define({map:(e,t)=>e.map((e=>e.map(t)))}),XL=_P.define(),UL=iP.define({create:()=>FL.start(),update:(e,t)=>e.update(t),provide:e=>[OR.from(e,(e=>e.tooltip)),nR.contentAttributes.from(e,(e=>e.attrs))]});function YL(e,t){const n=t.completion.apply||t.completion.label;let i=e.state.field(UL).active.find((e=>e.source==t.source));return i instanceof GL&&("string"==typeof n?e.dispatch(Object.assign(Object.assign({},function(e,t,n,i){let{main:o}=e.selection,r=n-o.from,s=i-o.from;return Object.assign(Object.assign({},e.changeByRange((a=>a!=o&&n!=i&&e.sliceDoc(a.from+r,a.from+s)!=e.sliceDoc(n,i)?{range:a}:{changes:{from:a.from+r,to:i==o.from?a.to:a.from+s,insert:t},range:QO.cursor(a.from+r+t.length)}))),{scrollIntoView:!0,userEvent:"input.complete"})}(e.state,n,i.from,i.to)),{annotations:kL.of(t.completion)})):n(e,t.completion,i.from,i.to),!0)}const KL=NL(UL,YL);function ZL(e,t="option"){return n=>{let i=n.state.field(UL,!1);if(!i||!i.open||i.open.disabled||Date.now()-i.open.timestamp-1?i.open.selected+r*(e?1:-1):e?0:s-1;return a<0?a="page"==t?0:s-1:a>=s&&(a="page"==t?s-1:0),n.dispatch({effects:XL.of(a)}),!0}}class JL{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const eN=rT.fromClass(class{constructor(e){this.view=e,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let t of e.state.field(UL).active)1==t.state&&this.startQuery(t)}update(e){let t=e.state.field(UL),n=e.state.facet(TL);if(!e.selectionSet&&!e.docChanged&&e.startState.field(UL)==t)return;let i=e.transactions.some((e=>{let t=VL(e,n);return 8&t||(e.selection||e.docChanged)&&!(3&t)}));for(let t=0;t50&&Date.now()-n.time>1e3){for(let e of n.context.abortListeners)try{e()}catch(e){tT(this.view.state,e)}n.context.abortListeners=null,this.running.splice(t--,1)}else n.updates.push(...e.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),e.transactions.some((e=>e.effects.some((e=>e.is(OL)))))&&(this.pendingStart=!0);let o=this.pendingStart?50:n.activateOnTypingDelay;if(this.debounceUpdate=t.active.some((e=>1==e.state&&!this.running.some((t=>t.active.source==e.source))))?setTimeout((()=>this.startUpdate()),o):-1,0!=this.composing)for(let t of e.transactions)t.isUserEvent("input.type")?this.composing=2:2==this.composing&&t.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:e}=this.view,t=e.field(UL);for(let e of t.active)1!=e.state||this.running.some((t=>t.active.source==e.source))||this.startQuery(e)}startQuery(e){let{state:t}=this.view,n=_L(t),i=new yL(t,n,e.explicitPos==n,this.view),o=new JL(e,i);this.running.push(o),Promise.resolve(e.source(i)).then((e=>{o.context.aborted||(o.done=e||null,this.scheduleAccept())}),(e=>{this.view.dispatch({effects:PL.of(null)}),tT(this.view.state,e)}))}scheduleAccept(){this.running.every((e=>void 0!==e.done))?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout((()=>this.accept()),this.view.state.facet(TL).updateSyncTime))}accept(){var e;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let t=[],n=this.view.state.facet(TL);for(let i=0;ie.source==o.active.source));if(r&&1==r.state)if(null==o.done){let e=new WL(o.active.source,0);for(let t of o.updates)e=e.update(t,n);1!=e.state&&t.push(e)}else this.startQuery(r)}t.length&&this.view.dispatch({effects:QL.of(t)})}},{eventHandlers:{blur(e){let t=this.view.state.field(UL,!1);if(t&&t.tooltip&&this.view.state.facet(TL).closeOnBlur){let n=t.open&&DR(this.view,t.open.tooltip);n&&n.dom.contains(e.relatedTarget)||setTimeout((()=>this.view.dispatch({effects:PL.of(null)})),10)}},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout((()=>this.view.dispatch({effects:OL.of(!1)})),20),this.composing=0}}}),tN="object"==typeof navigator&&/Win/.test(navigator.platform),nN=rP.highest(nR.domEventHandlers({keydown(e,t){let n=t.state.field(UL,!1);if(!n||!n.open||n.open.disabled||n.open.selected<0||e.key.length>1||e.ctrlKey&&(!tN||!e.altKey)||e.metaKey)return!1;let i=n.open.options[n.open.selected],o=n.active.find((e=>e.source==i.source)),r=i.completion.commitCharacters||o.result.commitCharacters;return r&&r.indexOf(e.key)>-1&&YL(t,i),!1}})),iN=nR.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class oN{constructor(e,t,n,i){this.field=e,this.line=t,this.from=n,this.to=i}}class rN{constructor(e,t,n){this.field=e,this.from=t,this.to=n}map(e){let t=e.mapPos(this.from,-1,zO.TrackDel),n=e.mapPos(this.to,1,zO.TrackDel);return null==t||null==n?null:new rN(this.field,t,n)}}class sN{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let n=[],i=[t],o=e.doc.lineAt(t),r=/^\s*/.exec(o.text)[0];for(let o of this.lines){if(n.length){let n=r,s=/^\t*/.exec(o)[0].length;for(let t=0;tnew rN(e.field,i[e.line]+e.from,i[e.line]+e.to)));return{text:n,ranges:s}}static parse(e){let t,n=[],i=[],o=[];for(let r of e.split(/\r\n?|\n/)){for(;t=/[#$]\{(?:(\d+)(?::([^}]*))?|((?:\\[{}]|[^}])*))\}/.exec(r);){let e=t[1]?+t[1]:null,s=t[2]||t[3]||"",a=-1,l=s.replace(/\\[{}]/g,(e=>e[1]));for(let t=0;t=a&&e.field++}o.push(new oN(a,i.length,t.index,t.index+l.length)),r=r.slice(0,t.index)+s+r.slice(t.index+t[0].length)}r=r.replace(/\\([{}])/g,((e,t,n)=>{for(let e of o)e.line==i.length&&e.from>n&&(e.from--,e.to--);return t})),i.push(r)}return new sN(i,o)}}let aN=hA.widget({widget:new class extends cA{toDOM(){let e=document.createElement("span");return e.className="cm-snippetFieldPosition",e}ignoreEvent(){return!1}}}),lN=hA.mark({class:"cm-snippetField"});class cN{constructor(e,t){this.ranges=e,this.active=t,this.deco=hA.set(e.map((e=>(e.from==e.to?aN:lN).range(e.from,e.to))))}map(e){let t=[];for(let n of this.ranges){let i=n.map(e);if(!i)return null;t.push(i)}return new cN(t,this.active)}selectionInsideField(e){return e.ranges.every((e=>this.ranges.some((t=>t.field==this.active&&t.from<=e.from&&t.to>=e.to))))}}const uN=_P.define({map:(e,t)=>e&&e.map(t)}),hN=_P.define(),pN=iP.define({create:()=>null,update(e,t){for(let n of t.effects){if(n.is(uN))return n.value;if(n.is(hN)&&e)return new cN(e.ranges,n.value)}return e&&t.docChanged&&(e=e.map(t.changes)),e&&t.selection&&!e.selectionInsideField(t.selection)&&(e=null),e},provide:e=>nR.decorations.from(e,(e=>e?e.deco:hA.none))});function dN(e,t){return QO.create(e.filter((e=>e.field==t)).map((e=>QO.range(e.from,e.to))))}function fN(e){let t=sN.parse(e);return(e,n,i,o)=>{let{text:r,ranges:s}=t.instantiate(e.state,i),a={changes:{from:i,to:o,insert:fO.of(r)},scrollIntoView:!0,annotations:n?[kL.of(n),EP.userEvent.of("input.complete")]:void 0};if(s.length&&(a.selection=dN(s,0)),s.some((e=>e.field>0))){let t=new cN(s,0),n=a.effects=[uN.of(t)];void 0===e.state.field(pN,!1)&&n.push(_P.appendConfig.of([pN,yN,wN,iN]))}e.dispatch(e.state.update(a))}}function mN(e){return({state:t,dispatch:n})=>{let i=t.field(pN,!1);if(!i||e<0&&0==i.active)return!1;let o=i.active+e,r=e>0&&!i.ranges.some((t=>t.field==o+e));return n(t.update({selection:dN(i.ranges,o),effects:uN.of(r?null:new cN(i.ranges,o)),scrollIntoView:!0})),!0}}const gN=[{key:"Tab",run:mN(1),shift:mN(-1)},{key:"Escape",run:({state:e,dispatch:t})=>!!e.field(pN,!1)&&(t(e.update({effects:uN.of(null)})),!0)}],vN=YO.define({combine:e=>e.length?e[0]:gN}),yN=rP.highest(uR.compute([vN],(e=>e.facet(vN))));function bN(e,t){return Object.assign(Object.assign({},t),{apply:fN(e)})}const wN=nR.domEventHandlers({mousedown(e,t){let n,i=t.state.field(pN,!1);if(!i||null==(n=t.posAtCoords({x:e.clientX,y:e.clientY})))return!1;let o=i.ranges.find((e=>e.from<=n&&e.to>=n));return!(!o||o.field==i.active||(t.dispatch({selection:dN(i.ranges,o.field),effects:uN.of(i.ranges.some((e=>e.field>o.field))?new cN(i.ranges,o.field):null),scrollIntoView:!0}),0))}}),xN={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},_N=_P.define({map(e,t){let n=t.mapPos(e,-1,zO.TrackAfter);return null==n?void 0:n}}),EN=new class extends LP{};EN.startSide=1,EN.endSide=-1;const kN=iP.define({create:()=>FP.empty,update(e,t){if(e=e.map(t.changes),t.selection){let n=t.state.doc.lineAt(t.selection.main.head);e=e.update({filter:e=>e>=n.from&&e<=n.to})}for(let n of t.effects)n.is(_N)&&(e=e.update({add:[EN.range(n.value,n.value+1)]}));return e}});function SN(){return[MN,kN]}const CN="()[]{}<>";function ON(e){for(let t=0;t<8;t+=2)if(CN.charCodeAt(t)==e)return CN.charAt(t+1);return DO(e<128?e:e+1)}const PN="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),MN=nR.inputHandler.of(((e,t,n,i)=>{if((PN?e.composing:e.compositionStarted)||e.state.readOnly)return!1;let o=e.state.selection.main;if(i.length>2||2==i.length&&1==LO(RO(i,0))||t!=o.from||n!=o.to)return!1;let r=function(e,t){let n=function(e,t){return e.languageDataAt("closeBrackets",t)[0]||xN}(e,e.selection.main.head),i=n.brackets||xN.brackets;for(let o of i){let r=ON(RO(o,0));if(t==o)return r==o?DN(e,o,i.indexOf(o+o+o)>-1,n):BN(e,o,r,n.before||xN.before);if(t==r&&AN(e,e.selection.main.from))return RN(e,0,r)}return null}(e.state,i);return!!r&&(e.dispatch(r),!0)}));function AN(e,t){let n=!1;return e.field(kN).between(0,e.doc.length,(e=>{e==t&&(n=!0)})),n}function TN(e,t){let n=e.sliceString(t,t+2);return n.slice(0,LO(RO(n,0)))}function BN(e,t,n,i){let o=null,r=e.changeByRange((r=>{if(!r.empty)return{changes:[{insert:t,from:r.from},{insert:n,from:r.to}],effects:_N.of(r.to+t.length),range:QO.range(r.anchor+t.length,r.head+t.length)};let s=TN(e.doc,r.head);return!s||/\s/.test(s)||i.indexOf(s)>-1?{changes:{insert:t+n,from:r.head},effects:_N.of(r.head+t.length),range:QO.cursor(r.head+t.length)}:{range:o=r}}));return o?null:e.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function RN(e,t,n){let i=null,o=e.changeByRange((t=>t.empty&&TN(e.doc,t.head)==n?{changes:{from:t.head,to:t.head+n.length,insert:n},range:QO.cursor(t.head+n.length)}:i={range:t}));return i?null:e.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function DN(e,t,n,i){let o=i.stringPrefixes||xN.stringPrefixes,r=null,s=e.changeByRange((i=>{if(!i.empty)return{changes:[{insert:t,from:i.from},{insert:t,from:i.to}],effects:_N.of(i.to+t.length),range:QO.range(i.anchor+t.length,i.head+t.length)};let s,a=i.head,l=TN(e.doc,a);if(l==t){if(LN(e,a))return{changes:{insert:t+t,from:a},effects:_N.of(a+t.length),range:QO.cursor(a+t.length)};if(AN(e,a)){let i=n&&e.sliceDoc(a,a+3*t.length)==t+t+t?t+t+t:t;return{changes:{from:a,to:a+i.length,insert:i},range:QO.cursor(a+i.length)}}}else{if(n&&e.sliceDoc(a-2*t.length,a)==t+t&&(s=NN(e,a-2*t.length,o))>-1&&LN(e,s))return{changes:{insert:t+t+t+t,from:a},effects:_N.of(a+t.length),range:QO.cursor(a+t.length)};if(e.charCategorizer(a)(l)!=AP.Word&&NN(e,a,o)>-1&&!function(e,t,n,i){let o=dD(e).resolveInner(t,-1),r=i.reduce(((e,t)=>Math.max(e,t.length)),0);for(let s=0;s<5;s++){let s=e.sliceDoc(o.from,Math.min(o.to,o.from+n.length+r)),a=s.indexOf(n);if(!a||a>-1&&i.indexOf(s.slice(0,a))>-1){let t=o.firstChild;for(;t&&t.from==o.from&&t.to-t.from>n.length+a;){if(e.sliceDoc(t.to-n.length,t.to)==n)return!1;t=t.firstChild}return!0}let l=o.to==t&&o.parent;if(!l)break;o=l}return!1}(e,a,t,o))return{changes:{insert:t+t,from:a},effects:_N.of(a+t.length),range:QO.cursor(a+t.length)}}return{range:r=i}}));return r?null:e.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function LN(e,t){let n=dD(e).resolveInner(t+1);return n.parent&&n.from==t}function NN(e,t,n){let i=e.charCategorizer(t);if(i(e.sliceDoc(t-1,t))!=AP.Word)return t;for(let o of n){let n=t-o.length;if(e.sliceDoc(n,t)==o&&i(e.sliceDoc(n-1,n))!=AP.Word)return n}return-1}function zN(e={}){return[nN,UL,TL.of(e),eN,FN,iN]}const IN=[{key:"Ctrl-Space",run:e=>!!e.state.field(UL,!1)&&(e.dispatch({effects:OL.of(!0)}),!0)},{key:"Escape",run:e=>{let t=e.state.field(UL,!1);return!(!t||!t.active.some((e=>0!=e.state))||(e.dispatch({effects:PL.of(null)}),0))}},{key:"ArrowDown",run:ZL(!0)},{key:"ArrowUp",run:ZL(!1)},{key:"PageDown",run:ZL(!0,"page")},{key:"PageUp",run:ZL(!1,"page")},{key:"Enter",run:e=>{let t=e.state.field(UL,!1);return!(e.state.readOnly||!t||!t.open||t.open.selected<0||t.open.disabled||Date.now()-t.open.timestampe.facet(TL).defaultKeymap?[IN]:[])));function $N(e,t){return({state:n,dispatch:i})=>{if(n.readOnly)return!1;let o=e(t,n);return!!o&&(i(n.update(o)),!0)}}const jN=$N(QN,0),qN=$N(GN,0),HN=$N(((e,t)=>GN(e,t,function(e){let t=[];for(let n of e.selection.ranges){let i=e.doc.lineAt(n.from),o=n.to<=i.to?i:e.doc.lineAt(n.to),r=t.length-1;r>=0&&t[r].to>i.from?t[r].to=o.to:t.push({from:i.from+/^\s*/.exec(i.text)[0].length,to:o.to})}return t}(t))),0);function VN(e,t){let n=e.languageDataAt("commentTokens",t);return n.length?n[0]:{}}const WN=50;function GN(e,t,n=t.selection.ranges){let i=n.map((e=>VN(t,e.from).block));if(!i.every((e=>e)))return null;let o=n.map(((e,n)=>function(e,{open:t,close:n},i,o){let r,s,a=e.sliceDoc(i-WN,i),l=e.sliceDoc(o,o+WN),c=/\s*$/.exec(a)[0].length,u=/^\s*/.exec(l)[0].length,h=a.length-c;if(a.slice(h-t.length,h)==t&&l.slice(u,u+n.length)==n)return{open:{pos:i-c,margin:c&&1},close:{pos:o+u,margin:u&&1}};o-i<=2*WN?r=s=e.sliceDoc(i,o):(r=e.sliceDoc(i,i+WN),s=e.sliceDoc(o-WN,o));let p=/^\s*/.exec(r)[0].length,d=/\s*$/.exec(s)[0].length,f=s.length-d-n.length;return r.slice(p,p+t.length)==t&&s.slice(f,f+n.length)==n?{open:{pos:i+p+t.length,margin:/\s/.test(r.charAt(p+t.length))?1:0},close:{pos:o-d-n.length,margin:/\s/.test(s.charAt(f-1))?1:0}}:null}(t,i[n],e.from,e.to)));if(2!=e&&!o.every((e=>e)))return{changes:t.changes(n.map(((e,t)=>o[t]?[]:[{from:e.from,insert:i[t].open+" "},{from:e.to,insert:" "+i[t].close}])))};if(1!=e&&o.some((e=>e))){let e=[];for(let t,n=0;no&&(e==r||r>l.from)){o=l.from;let e=/^\s*/.exec(l.text)[0].length,t=e==l.length,n=l.text.slice(e,e+a.length)==a?e:-1;ee.comment<0&&(!e.empty||e.single)))){let e=[];for(let{line:t,token:n,indent:o,empty:r,single:s}of i)!s&&r||e.push({from:t.from+o,insert:n+" "});let n=t.changes(e);return{changes:n,selection:t.selection.map(n,1)}}if(1!=e&&i.some((e=>e.comment>=0))){let e=[];for(let{line:t,comment:n,token:o}of i)if(n>=0){let i=t.from+n,r=i+o.length;" "==t.text[r-t.from]&&r++,e.push({from:i,to:r})}return{changes:e}}return null}const XN=bP.define(),UN=YO.define();class YN{constructor(e,t,n,i,o){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=i,this.selectionsAfter=o}setSelAfter(e){return new YN(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;return{changes:null===(e=this.changes)||void 0===e?void 0:e.toJSON(),mapped:null===(t=this.mapped)||void 0===t?void 0:t.toJSON(),startSelection:null===(n=this.startSelection)||void 0===n?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map((e=>e.toJSON()))}}static fromJSON(e){return new YN(e.changes&&FO.fromJSON(e.changes),[],e.mapped&&IO.fromJSON(e.mapped),e.startSelection&&QO.fromJSON(e.startSelection),e.selectionsAfter.map(QO.fromJSON))}static fromTransaction(e,t){let n=JN;for(let t of e.startState.facet(UN)){let i=t(e);i.length&&(n=n.concat(i))}return!n.length&&e.changes.empty?null:new YN(e.changes.invert(e.startState.doc),n,void 0,t||e.startState.selection,JN)}static selection(e){return new YN(void 0,JN,void 0,void 0,e)}}function KN(e,t,n,i){let o=t+1>n+20?t-n-1:0,r=e.slice(o,t);return r.push(i),r}function ZN(e,t){return e.length?t.length?e.concat(t):e:t}const JN=[];function ez(e){let t=e[e.length-1],n=e.slice();return n[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),n}function tz(e,t){if(!e.length)return e;let n=e.length,i=JN;for(;n;){let o=nz(e[n-1],t,i);if(o.changes&&!o.changes.empty||o.effects.length){let t=e.slice(0,n);return t[n-1]=o,t}t=o.mapped,n--,i=o.selectionsAfter}return i.length?[YN.selection(i)]:JN}function nz(e,t,n){let i=ZN(e.selectionsAfter.length?e.selectionsAfter.map((e=>e.map(t))):JN,n);if(!e.changes)return YN.selection(i);let o=e.changes.map(t),r=t.mapDesc(e.changes,!0),s=e.mapped?e.mapped.composeDesc(r):r;return new YN(o,_P.mapEffects(e.effects,t),s,e.startSelection.map(r),i)}const iz=/^(input\.type|delete)($|\.)/;class oz{constructor(e,t,n=0,i=void 0){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=i}isolate(){return this.prevTime?new oz(this.done,this.undone):this}addChanges(e,t,n,i,o){let r=this.done,s=r[r.length-1];return r=s&&s.changes&&!s.changes.empty&&e.changes&&(!n||iz.test(n))&&(!s.selectionsAfter.length&&t-this.prevTimen.push(e,t))),t.iterChangedRanges(((e,t,o,r)=>{for(let e=0;e=t&&o<=s&&(i=!0)}})),i}(s.changes,e.changes))||"input.type.compose"==n)?KN(r,r.length-1,i.minDepth,new YN(e.changes.compose(s.changes),ZN(e.effects,s.effects),s.mapped,s.startSelection,JN)):KN(r,r.length,i.minDepth,e),new oz(r,JN,t,n)}addSelection(e,t,n,i){let o=this.done.length?this.done[this.done.length-1].selectionsAfter:JN;return o.length>0&&t-this.prevTimee.empty!=t.ranges[n].empty)).length}(o[o.length-1],e)?this:new oz(function(e,t){if(e.length){let n=e[e.length-1],i=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-200));return i.length&&i[i.length-1].eq(t)?e:(i.push(t),KN(e,e.length-1,1e9,n.setSelAfter(i)))}return[YN.selection([t])]}(this.done,e),this.undone,t,n)}addMapping(e){return new oz(tz(this.done,e),tz(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,n){let i=0==e?this.done:this.undone;if(0==i.length)return null;let o=i[i.length-1],r=o.selectionsAfter[0]||t.selection;if(n&&o.selectionsAfter.length)return t.update({selection:o.selectionsAfter[o.selectionsAfter.length-1],annotations:XN.of({side:e,rest:ez(i),selection:r}),userEvent:0==e?"select.undo":"select.redo",scrollIntoView:!0});if(o.changes){let n=1==i.length?JN:i.slice(0,i.length-1);return o.mapped&&(n=tz(n,o.mapped)),t.update({changes:o.changes,selection:o.startSelection,effects:o.effects,annotations:XN.of({side:e,rest:n,selection:r}),filter:!1,userEvent:0==e?"undo":"redo",scrollIntoView:!0})}return null}}function rz(e,t){return QO.create(e.ranges.map(t),e.mainIndex)}function sz(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function az({state:e,dispatch:t},n){let i=rz(e.selection,n);return!i.eq(e.selection,!0)&&(t(sz(e,i)),!0)}function lz(e,t){return QO.cursor(t?e.to:e.from)}function cz(e,t){return az(e,(n=>n.empty?e.moveByChar(n,t):lz(n,t)))}function uz(e){return e.textDirectionAt(e.state.selection.main.head)==EA.LTR}oz.empty=new oz(JN,JN);const hz=e=>cz(e,!uz(e)),pz=e=>cz(e,uz(e));function dz(e,t){return az(e,(n=>n.empty?e.moveByGroup(n,t):lz(n,t)))}function fz(e,t,n){if(t.type.prop(n))return!0;let i=t.to-t.from;return i&&(i>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function mz(e,t,n){let i,o,r=dD(e).resolveInner(t.head),s=n?MS.closedBy:MS.openedBy;for(let i=t.head;;){let t=n?r.childAfter(i):r.childBefore(i);if(!t)break;fz(e,t,s)?r=t:i=n?t.to:t.from}return o=r.type.prop(s)&&(i=n?cL(e,r.from,1):cL(e,r.to,-1))&&i.matched?n?i.end.to:i.end.from:n?r.to:r.from,QO.cursor(o,n?-1:1)}function gz(e,t){return az(e,(n=>{if(!n.empty)return lz(n,t);let i=e.moveVertically(n,t);return i.head!=n.head?i:e.moveToLineBoundary(n,t)}))}"undefined"!=typeof Intl&&Intl.Segmenter;const vz=e=>gz(e,!1),yz=e=>gz(e,!0);function bz(e){let t,n=e.scrollDOM.clientHeightn.empty?e.moveVertically(n,t,i.height):lz(n,t)));if(r.eq(o.selection))return!1;if(i.selfScroll){let t=e.coordsAtPos(o.selection.main.head),s=e.scrollDOM.getBoundingClientRect(),a=s.top+i.marginTop,l=s.bottom-i.marginBottom;t&&t.top>a&&t.bottomwz(e,!1),_z=e=>wz(e,!0);function Ez(e,t,n){let i=e.lineBlockAt(t.head),o=e.moveToLineBoundary(t,n);if(o.head==t.head&&o.head!=(n?i.to:i.from)&&(o=e.moveToLineBoundary(t,n,!1)),!n&&o.head==i.from&&i.length){let n=/^\s*/.exec(e.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;n&&t.head!=i.from+n&&(o=QO.cursor(i.from+n))}return o}function kz(e,t){let n=rz(e.state.selection,(e=>{let n=t(e);return QO.range(e.anchor,n.head,n.goalColumn,n.bidiLevel||void 0)}));return!n.eq(e.state.selection)&&(e.dispatch(sz(e.state,n)),!0)}function Sz(e,t){return kz(e,(n=>e.moveByChar(n,t)))}const Cz=e=>Sz(e,!uz(e)),Oz=e=>Sz(e,uz(e));function Pz(e,t){return kz(e,(n=>e.moveByGroup(n,t)))}function Mz(e,t){return kz(e,(n=>e.moveVertically(n,t)))}const Az=e=>Mz(e,!1),Tz=e=>Mz(e,!0);function Bz(e,t){return kz(e,(n=>e.moveVertically(n,t,bz(e).height)))}const Rz=e=>Bz(e,!1),Dz=e=>Bz(e,!0),Lz=({state:e,dispatch:t})=>(t(sz(e,{anchor:0})),!0),Nz=({state:e,dispatch:t})=>(t(sz(e,{anchor:e.doc.length})),!0),zz=({state:e,dispatch:t})=>(t(sz(e,{anchor:e.selection.main.anchor,head:0})),!0),Iz=({state:e,dispatch:t})=>(t(sz(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0);function Fz(e,t){if(e.state.readOnly)return!1;let n="delete.selection",{state:i}=e,o=i.changeByRange((i=>{let{from:o,to:r}=i;if(o==r){let s=t(i);so&&(n="delete.forward",s=$z(e,s,!0)),o=Math.min(o,s),r=Math.max(r,s)}else o=$z(e,o,!1),r=$z(e,r,!0);return o==r?{range:i}:{changes:{from:o,to:r},range:QO.cursor(o,ot(e))))i.between(t,t,((e,i)=>{et&&(t=n?i:e)}));return t}const jz=(e,t,n)=>Fz(e,(i=>{let o,r,s=i.from,{state:a}=e,l=a.doc.lineAt(s);if(n&&!t&&s>l.from&&sjz(e,!1,!0),Hz=e=>jz(e,!0,!1),Vz=(e,t)=>Fz(e,(n=>{let i=n.head,{state:o}=e,r=o.doc.lineAt(i),s=o.charCategorizer(i);for(let e=null;;){if(i==(t?r.to:r.from)){i==n.head&&r.number!=(t?o.doc.lines:1)&&(i+=t?1:-1);break}let a=PO(r.text,i-r.from,t)+r.from,l=r.text.slice(Math.min(i,a)-r.from,Math.max(i,a)-r.from),c=s(l);if(null!=e&&c!=e)break;" "==l&&i==n.head||(e=c),i=a}return i})),Wz=e=>Vz(e,!1);function Gz(e){let t=[],n=-1;for(let i of e.selection.ranges){let o=e.doc.lineAt(i.from),r=e.doc.lineAt(i.to);if(i.empty||i.to!=r.from||(r=e.doc.lineAt(i.to-1)),n>=o.number){let e=t[t.length-1];e.to=r.to,e.ranges.push(i)}else t.push({from:o.from,to:r.to,ranges:[i]});n=r.number+1}return t}function Qz(e,t,n){if(e.readOnly)return!1;let i=[],o=[];for(let t of Gz(e)){if(n?t.to==e.doc.length:0==t.from)continue;let r=e.doc.lineAt(n?t.to+1:t.from-1),s=r.length+1;if(n){i.push({from:t.to,to:r.to},{from:t.from,insert:r.text+e.lineBreak});for(let n of t.ranges)o.push(QO.range(Math.min(e.doc.length,n.anchor+s),Math.min(e.doc.length,n.head+s)))}else{i.push({from:r.from,to:t.from},{from:t.to,insert:e.lineBreak+r.text});for(let e of t.ranges)o.push(QO.range(e.anchor-s,e.head-s))}}return!!i.length&&(t(e.update({changes:i,scrollIntoView:!0,selection:QO.create(o,e.selection.mainIndex),userEvent:"move.line"})),!0)}function Xz(e,t,n){if(e.readOnly)return!1;let i=[];for(let t of Gz(e))n?i.push({from:t.from,insert:e.doc.slice(t.from,t.to)+e.lineBreak}):i.push({from:t.to,insert:e.lineBreak+e.doc.slice(t.from,t.to)});return t(e.update({changes:i,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const Uz=Kz(!1),Yz=Kz(!0);function Kz(e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let i=t.changeByRange((n=>{let{from:i,to:o}=n,r=t.doc.lineAt(i),s=!e&&i==o&&function(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n,i=dD(e).resolveInner(t),o=i.childBefore(t),r=i.childAfter(t);return o&&r&&o.to<=t&&r.from>=t&&(n=o.type.prop(MS.closedBy))&&n.indexOf(r.name)>-1&&e.doc.lineAt(o.to).from==e.doc.lineAt(r.from).from&&!/\S/.test(e.sliceDoc(o.to,r.from))?{from:o.to,to:r.from}:null}(t,i);e&&(i=o=(o<=r.to?r:t.doc.lineAt(o)).to);let a=new MD(t,{simulateBreak:i,simulateDoubleBreak:!!s}),l=PD(a,i);for(null==l&&(l=KP(/^\s*/.exec(t.doc.lineAt(i).text)[0],t.tabSize));or.from&&i{let o=[];for(let r=i.from;r<=i.to;){let s=e.doc.lineAt(r);s.number>n&&(i.empty||i.to>s.from)&&(t(s,o,i),n=s.number),r=s.to+1}let r=e.changes(o);return{changes:o,range:QO.range(r.mapPos(i.anchor,1),r.mapPos(i.head,1))}}))}const Jz=[{key:"Ctrl-b",run:hz,shift:Cz,preventDefault:!0},{key:"Ctrl-f",run:pz,shift:Oz},{key:"Ctrl-p",run:vz,shift:Az},{key:"Ctrl-n",run:yz,shift:Tz},{key:"Ctrl-a",run:e=>az(e,(t=>QO.cursor(e.lineBlockAt(t.head).from,1))),shift:e=>kz(e,(t=>QO.cursor(e.lineBlockAt(t.head).from)))},{key:"Ctrl-e",run:e=>az(e,(t=>QO.cursor(e.lineBlockAt(t.head).to,-1))),shift:e=>kz(e,(t=>QO.cursor(e.lineBlockAt(t.head).to)))},{key:"Ctrl-d",run:Hz},{key:"Ctrl-h",run:qz},{key:"Ctrl-k",run:e=>Fz(e,(t=>{let n=e.lineBlockAt(t.head).to;return t.head{if(e.readOnly)return!1;let n=e.changeByRange((e=>({changes:{from:e.from,to:e.to,insert:fO.of(["",""])},range:QO.cursor(e.from)})));return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0}},{key:"Ctrl-t",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange((t=>{if(!t.empty||0==t.from||t.from==e.doc.length)return{range:t};let n=t.from,i=e.doc.lineAt(n),o=n==i.from?n-1:PO(i.text,n-i.from,!1)+i.from,r=n==i.to?n+1:PO(i.text,n-i.from,!0)+i.from;return{changes:{from:o,to:r,insert:e.doc.slice(n,r).append(e.doc.slice(o,n))},range:QO.cursor(r)}}));return!n.changes.empty&&(t(e.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)}},{key:"Ctrl-v",run:_z}],eI=[{key:"ArrowLeft",run:hz,shift:Cz,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:e=>dz(e,!uz(e)),shift:e=>Pz(e,!uz(e)),preventDefault:!0},{mac:"Cmd-ArrowLeft",run:e=>az(e,(t=>Ez(e,t,!uz(e)))),shift:e=>kz(e,(t=>Ez(e,t,!uz(e)))),preventDefault:!0},{key:"ArrowRight",run:pz,shift:Oz,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:e=>dz(e,uz(e)),shift:e=>Pz(e,uz(e)),preventDefault:!0},{mac:"Cmd-ArrowRight",run:e=>az(e,(t=>Ez(e,t,uz(e)))),shift:e=>kz(e,(t=>Ez(e,t,uz(e)))),preventDefault:!0},{key:"ArrowUp",run:vz,shift:Az,preventDefault:!0},{mac:"Cmd-ArrowUp",run:Lz,shift:zz},{mac:"Ctrl-ArrowUp",run:xz,shift:Rz},{key:"ArrowDown",run:yz,shift:Tz,preventDefault:!0},{mac:"Cmd-ArrowDown",run:Nz,shift:Iz},{mac:"Ctrl-ArrowDown",run:_z,shift:Dz},{key:"PageUp",run:xz,shift:Rz},{key:"PageDown",run:_z,shift:Dz},{key:"Home",run:e=>az(e,(t=>Ez(e,t,!1))),shift:e=>kz(e,(t=>Ez(e,t,!1))),preventDefault:!0},{key:"Mod-Home",run:Lz,shift:zz},{key:"End",run:e=>az(e,(t=>Ez(e,t,!0))),shift:e=>kz(e,(t=>Ez(e,t,!0))),preventDefault:!0},{key:"Mod-End",run:Nz,shift:Iz},{key:"Enter",run:Uz},{key:"Mod-a",run:({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0)},{key:"Backspace",run:qz,shift:qz},{key:"Delete",run:Hz},{key:"Mod-Backspace",mac:"Alt-Backspace",run:Wz},{key:"Mod-Delete",mac:"Alt-Delete",run:e=>Vz(e,!0)},{mac:"Mod-Backspace",run:e=>Fz(e,(t=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)}))},{mac:"Mod-Delete",run:e=>Fz(e,(t=>{let n=e.moveToLineBoundary(t,!0).head;return t.head({mac:e.key,run:e.run,shift:e.shift})))),tI=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:e=>az(e,(t=>mz(e.state,t,!uz(e)))),shift:e=>kz(e,(t=>mz(e.state,t,!uz(e))))},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:e=>az(e,(t=>mz(e.state,t,uz(e)))),shift:e=>kz(e,(t=>mz(e.state,t,uz(e))))},{key:"Alt-ArrowUp",run:({state:e,dispatch:t})=>Qz(e,t,!1)},{key:"Shift-Alt-ArrowUp",run:({state:e,dispatch:t})=>Xz(e,t,!1)},{key:"Alt-ArrowDown",run:({state:e,dispatch:t})=>Qz(e,t,!0)},{key:"Shift-Alt-ArrowDown",run:({state:e,dispatch:t})=>Xz(e,t,!0)},{key:"Escape",run:({state:e,dispatch:t})=>{let n=e.selection,i=null;return n.ranges.length>1?i=QO.create([n.main]):n.main.empty||(i=QO.create([QO.cursor(n.main.head)])),!!i&&(t(sz(e,i)),!0)}},{key:"Mod-Enter",run:Yz},{key:"Alt-l",mac:"Ctrl-l",run:({state:e,dispatch:t})=>{let n=Gz(e).map((({from:t,to:n})=>QO.range(t,Math.min(n+1,e.doc.length))));return t(e.update({selection:QO.create(n),userEvent:"select"})),!0}},{key:"Mod-i",run:({state:e,dispatch:t})=>{let n=rz(e.selection,(t=>{var n;for(let i=dD(e).resolveStack(t.from,1);i;i=i.next){let{node:e}=i;if((e.from=t.to||e.to>t.to&&e.from<=t.from)&&(null===(n=e.parent)||void 0===n?void 0:n.parent))return QO.range(e.to,e.from)}return t}));return t(sz(e,n)),!0},preventDefault:!0},{key:"Mod-[",run:({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(Zz(e,((t,n)=>{let i=/^\s*/.exec(t.text)[0];if(!i)return;let o=KP(i,e.tabSize),r=0,s=OD(e,Math.max(0,o-CD(e)));for(;r!e.readOnly&&(t(e.update(Zz(e,((t,n)=>{n.push({from:t.from,insert:e.facet(SD)})})),{userEvent:"input.indent"})),!0)},{key:"Mod-Alt-\\",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),i=new MD(e,{overrideIndentation:e=>{let t=n[e];return null==t?-1:t}}),o=Zz(e,((t,o,r)=>{let s=PD(i,t.from);if(null==s)return;/\S/.test(t.text)||(s=0);let a=/^\s*/.exec(t.text)[0],l=OD(e,s);(a!=l||r.from{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(Gz(t).map((({from:e,to:n})=>(e>0?e--:n{let n;if(e.lineWrapping){let i=e.lineBlockAt(t.head),o=e.coordsAtPos(t.head,t.assoc||1);o&&(n=i.bottom+e.documentTop-o.bottom+e.defaultLineHeight/2)}return e.moveVertically(t,!0,n)})).map(n);return e.dispatch({changes:n,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0}},{key:"Shift-Mod-\\",run:({state:e,dispatch:t})=>function(e,t,n){let i=!1,o=rz(e.selection,(t=>{let o=cL(e,t.head,-1)||cL(e,t.head,1)||t.head>0&&cL(e,t.head-1,1)||t.head{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),i=VN(e.state,n.from);return i.line?jN(e):!!i.block&&HN(e)}},{key:"Alt-A",run:qN},{key:"Ctrl-m",mac:"Shift-Alt-m",run:e=>(e.setTabFocusMode(),!0)}].concat(eI);function nI(){var e=arguments[0];"string"==typeof e&&(e=document.createElement(e));var t=1,n=arguments[1];if(n&&"object"==typeof n&&null==n.nodeType&&!Array.isArray(n)){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var o=n[i];"string"==typeof o?e.setAttribute(i,o):null!=o&&(e[i]=o)}t++}for(;te.from==e.to||e.from==e.to-1&&n.doc.lineAt(e.from).to==e.from?hA.widget({widget:new xI(e),diagnostic:e}).range(e.from):hA.mark({attributes:{class:"cm-lintRange cm-lintRange-"+e.severity+(e.markClass?" "+e.markClass:"")},diagnostic:e}).range(e.from,e.to))),!0);return new rI(r,t,sI(r))}}function sI(e,t=null,n=0){let i=null;return e.between(n,1e9,((e,n,{spec:o})=>{if(!t||o.diagnostic==t)return i=new oI(e,n,o.diagnostic),!1})),i}function aI(e,t){return e.field(hI,!1)?t:t.concat(_P.appendConfig.of(CI))}const lI=_P.define(),cI=_P.define(),uI=_P.define(),hI=iP.define({create:()=>new rI(hA.none,null,null),update(e,t){if(t.docChanged&&e.diagnostics.size){let n=e.diagnostics.map(t.changes),i=null,o=e.panel;if(e.selected){let o=t.changes.mapPos(e.selected.from,1);i=sI(n,e.selected.diagnostic,o)||sI(n,null,o)}!n.size&&o&&t.state.facet(vI).autoPanel&&(o=null),e=new rI(n,o,i)}for(let n of t.effects)if(n.is(lI)){let i=t.state.facet(vI).autoPanel?n.value.length?EI.open:null:e.panel;e=rI.init(n.value,i,t.state)}else n.is(cI)?e=new rI(e.diagnostics,n.value?EI.open:null,e.selected):n.is(uI)&&(e=new rI(e.diagnostics,e.panel,n.value));return e},provide:e=>[$R.from(e,(e=>e.panel)),nR.decorations.from(e,(e=>e.diagnostics))]}),pI=hA.mark({class:"cm-lintRange cm-lintRange-active"});function dI(e,t,n){let{diagnostics:i}=e.state.field(hI),o=[],r=2e8,s=0;i.between(t-(n<0?1:0),t+(n>0?1:0),((e,i,{spec:a})=>{t>=e&&t<=i&&(e==i||(t>e||n>0)&&(t({dom:fI(e,o)})}:null}function fI(e,t){return nI("ul",{class:"cm-tooltip-lint"},t.map((t=>wI(e,t,!1))))}const mI=e=>{let t=e.state.field(hI,!1);return!(!t||!t.panel||(e.dispatch({effects:cI.of(!1)}),0))},gI=rT.fromClass(class{constructor(e){this.view=e,this.timeout=-1,this.set=!0;let{delay:t}=e.state.facet(vI);this.lintTime=Date.now()+t,this.run=this.run.bind(this),this.timeout=setTimeout(this.run,t)}run(){clearTimeout(this.timeout);let e=Date.now();if(ePromise.resolve(e(this.view))))).then((t=>{let n=t.reduce(((e,t)=>e.concat(t)));this.view.state.doc==e.doc&&this.view.dispatch(function(e,t){return{effects:aI(e,[lI.of(t)])}}(this.view.state,n))}),(e=>{tT(this.view.state,e)}))}}update(e){let t=e.state.facet(vI);(e.docChanged||t!=e.startState.facet(vI)||t.needsRefresh&&t.needsRefresh(e))&&(this.lintTime=Date.now()+t.delay,this.set||(this.set=!0,this.timeout=setTimeout(this.run,t.delay)))}force(){this.set&&(this.lintTime=Date.now(),this.run())}destroy(){clearTimeout(this.timeout)}}),vI=YO.define({combine:e=>Object.assign({sources:e.map((e=>e.source)).filter((e=>null!=e))},DP(e.map((e=>e.config)),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{needsRefresh:(e,t)=>e?t?n=>e(n)||t(n):e:t}))});function yI(e,t={}){return[vI.of({source:e,config:t}),gI,CI]}function bI(e){let t=[];if(e)e:for(let{name:n}of e){for(let e=0;ee.toLowerCase()==i.toLowerCase()))){t.push(i);continue e}}t.push("")}return t}function wI(e,t,n){var i;let o=n?bI(t.actions):[];return nI("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},nI("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage(e):t.message),null===(i=t.actions)||void 0===i?void 0:i.map(((n,i)=>{let r=!1,s=i=>{if(i.preventDefault(),r)return;r=!0;let o=sI(e.state.field(hI).diagnostics,t);o&&n.apply(e,o.from,o.to)},{name:a}=n,l=o[i]?a.indexOf(o[i]):-1,c=l<0?a:[a.slice(0,l),nI("u",a.slice(l,l+1)),a.slice(l+1)];return nI("button",{type:"button",class:"cm-diagnosticAction",onclick:s,onmousedown:s,"aria-label":` Action: ${a}${l<0?"":` (access key "${o[i]})"`}.`},c)})),t.source&&nI("div",{class:"cm-diagnosticSource"},t.source))}class xI extends cA{constructor(e){super(),this.diagnostic=e}eq(e){return e.diagnostic==this.diagnostic}toDOM(){return nI("span",{class:"cm-lintPoint cm-lintPoint-"+this.diagnostic.severity})}}class _I{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(4294967295*Math.random()).toString(16),this.dom=wI(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class EI{constructor(e){this.view=e,this.items=[],this.list=nI("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t=>{if(27==t.keyCode)mI(this.view),this.view.focus();else if(38==t.keyCode||33==t.keyCode)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(40==t.keyCode||34==t.keyCode)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(36==t.keyCode)this.moveSelection(0);else if(35==t.keyCode)this.moveSelection(this.items.length-1);else if(13==t.keyCode)this.view.focus();else{if(!(t.keyCode>=65&&t.keyCode<=90&&this.selectedIndex>=0))return;{let{diagnostic:n}=this.items[this.selectedIndex],i=bI(n.actions);for(let o=0;o{for(let t=0;tmI(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(hI).selected;if(!e)return-1;for(let t=0;t{let a,l=-1;for(let e=n;en&&(this.items.splice(n,l-n),i=!0)),t&&a.diagnostic==t.diagnostic?a.dom.hasAttribute("aria-selected")||(a.dom.setAttribute("aria-selected","true"),o=a):a.dom.hasAttribute("aria-selected")&&a.dom.removeAttribute("aria-selected"),n++}));n({sel:o.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:e,panel:t})=>{let n=t.height/this.list.offsetHeight;e.topt.bottom&&(this.list.scrollTop+=(e.bottom-t.bottom)/n)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),i&&this.sync()}sync(){let e=this.list.firstChild;function t(){let t=e;e=t.nextSibling,t.remove()}for(let n of this.items)if(n.dom.parentNode==this.list){for(;e!=n.dom;)t();e=n.dom.nextSibling}else this.list.insertBefore(n.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=sI(this.view.state.field(hI).diagnostics,this.items[e].diagnostic);t&&this.view.dispatch({selection:{anchor:t.from,head:t.to},scrollIntoView:!0,effects:uI.of(t)})}static open(e){return new EI(e)}}function kI(e){return function(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(e)}')`}(``,'width="6" height="3"')}const SI=nR.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:kI("#d11")},".cm-lintRange-warning":{backgroundImage:kI("orange")},".cm-lintRange-info":{backgroundImage:kI("#999")},".cm-lintRange-hint":{backgroundImage:kI("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}}),CI=[hI,nR.decorations.compute([hI],(e=>{let{selected:t,panel:n}=e.field(hI);return t&&n&&t.from!=t.to?hA.set([pI.range(t.from,t.to)]):hA.none})),RR(dI,{hideOn:function(e,t){let n=t.pos,i=t.end||n,o=e.state.facet(vI).hideOn(e,n,i);if(null!=o)return o;let r=e.startState.doc.lineAt(t.pos);return!(!e.effects.some((e=>e.is(lI)))&&!e.changes.touchesRange(r.from,Math.max(r.to,i)))}}),SI];class OI{static create(e,t,n,i,o){return new OI(e,t,n,i+(i<<8)+e+(t<<4)|0,o,[],[])}constructor(e,t,n,i,o,r,s){this.type=e,this.value=t,this.from=n,this.hash=i,this.end=o,this.children=r,this.positions=s,this.hashProp=[[MS.contextHash,i]]}addChild(e,t){e.prop(MS.contextHash)!=this.hash&&(e=new zS(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let n=this.children.length-1;return n>=0&&(t=Math.max(t,this.positions[n]+this.children[n].length+this.from)),new zS(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(e,t,n)=>new zS(BS.none,e,t,n,this.hashProp)})}}var PI;!function(e){e[e.Document=1]="Document",e[e.CodeBlock=2]="CodeBlock",e[e.FencedCode=3]="FencedCode",e[e.Blockquote=4]="Blockquote",e[e.HorizontalRule=5]="HorizontalRule",e[e.BulletList=6]="BulletList",e[e.OrderedList=7]="OrderedList",e[e.ListItem=8]="ListItem",e[e.ATXHeading1=9]="ATXHeading1",e[e.ATXHeading2=10]="ATXHeading2",e[e.ATXHeading3=11]="ATXHeading3",e[e.ATXHeading4=12]="ATXHeading4",e[e.ATXHeading5=13]="ATXHeading5",e[e.ATXHeading6=14]="ATXHeading6",e[e.SetextHeading1=15]="SetextHeading1",e[e.SetextHeading2=16]="SetextHeading2",e[e.HTMLBlock=17]="HTMLBlock",e[e.LinkReference=18]="LinkReference",e[e.Paragraph=19]="Paragraph",e[e.CommentBlock=20]="CommentBlock",e[e.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",e[e.Escape=22]="Escape",e[e.Entity=23]="Entity",e[e.HardBreak=24]="HardBreak",e[e.Emphasis=25]="Emphasis",e[e.StrongEmphasis=26]="StrongEmphasis",e[e.Link=27]="Link",e[e.Image=28]="Image",e[e.InlineCode=29]="InlineCode",e[e.HTMLTag=30]="HTMLTag",e[e.Comment=31]="Comment",e[e.ProcessingInstruction=32]="ProcessingInstruction",e[e.Autolink=33]="Autolink",e[e.HeaderMark=34]="HeaderMark",e[e.QuoteMark=35]="QuoteMark",e[e.ListMark=36]="ListMark",e[e.LinkMark=37]="LinkMark",e[e.EmphasisMark=38]="EmphasisMark",e[e.CodeMark=39]="CodeMark",e[e.CodeText=40]="CodeText",e[e.CodeInfo=41]="CodeInfo",e[e.LinkTitle=42]="LinkTitle",e[e.LinkLabel=43]="LinkLabel",e[e.URL=44]="URL"}(PI||(PI={}));class MI{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}}class AI{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return DI(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,t=0,n=0){for(let i=t;i=t.stack[n.depth+1].value+n.baseIndent)return!0;if(n.indent>=n.baseIndent+4)return!1;let i=(e.type==PI.OrderedList?jI:$I)(n,t,!1);return i>0&&(e.type!=PI.BulletList||II(n,t,!1)<0)&&n.text.charCodeAt(n.pos+i-1)==e.value}const BI={[PI.Blockquote]:(e,t,n)=>62==n.next&&(n.markers.push(mF(PI.QuoteMark,t.lineStart+n.pos,t.lineStart+n.pos+1)),n.moveBase(n.pos+(RI(n.text.charCodeAt(n.pos+1))?2:1)),e.end=t.lineStart+n.text.length,!0),[PI.ListItem]:(e,t,n)=>!(n.indent-1||(n.moveBaseColumn(n.baseIndent+e.value),0)),[PI.OrderedList]:TI,[PI.BulletList]:TI,[PI.Document]:()=>!0};function RI(e){return 32==e||9==e||10==e||13==e}function DI(e,t=0){for(;tn&&RI(e.charCodeAt(t-1));)t--;return t}function NI(e){if(96!=e.next&&126!=e.next)return-1;let t=e.pos+1;for(;t-1&&e.depth==t.stack.length||i<3?-1:1}function FI(e,t){for(let n=e.stack.length-1;n>=0;n--)if(e.stack[n].type==t)return!0;return!1}function $I(e,t,n){return 45!=e.next&&43!=e.next&&42!=e.next||e.pos!=e.text.length-1&&!RI(e.text.charCodeAt(e.pos+1))||!(!n||FI(t,PI.BulletList)||e.skipSpace(e.pos+2)=48&&o<=57;){if(i++,i==e.text.length)return-1;o=e.text.charCodeAt(i)}return i==e.pos||i>e.pos+9||46!=o&&41!=o||ie.pos+1||49!=e.next)?-1:i+1-e.pos}function qI(e){if(35!=e.next)return-1;let t=e.pos+1;for(;t6?-1:n}function HI(e){if(45!=e.next&&61!=e.next||e.indent>=e.baseIndent+4)return-1;let t=e.pos+1;for(;t/,GI=/\?>/,QI=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/i.exec(i);if(r)return e.append(mF(PI.Comment,n,n+1+r[0].length));let s=/^\?[^]*?\?>/.exec(i);if(s)return e.append(mF(PI.ProcessingInstruction,n,n+1+s[0].length));let a=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(i);return a?e.append(mF(PI.HTMLTag,n,n+1+a[0].length)):-1},Emphasis(e,t,n){if(95!=t&&42!=t)return-1;let i=n+1;for(;e.char(i)==t;)i++;let o=e.slice(n-1,n),r=e.slice(i,i+1),s=xF.test(o),a=xF.test(r),l=/\s|^$/.test(o),c=/\s|^$/.test(r),u=!c&&(!a||l||s),h=!l&&(!s||c||a),p=u&&(42==t||!h||s),d=h&&(42==t||!u||a);return e.append(new wF(95==t?gF:vF,n,i,(p?1:0)|(d?2:0)))},HardBreak(e,t,n){if(92==t&&10==e.char(n+1))return e.append(mF(PI.HardBreak,n,n+2));if(32==t){let t=n+1;for(;32==e.char(t);)t++;if(10==e.char(t)&&t>=n+2)return e.append(mF(PI.HardBreak,n,t+1))}return-1},Link:(e,t,n)=>91==t?e.append(new wF(yF,n,n+1,1)):-1,Image:(e,t,n)=>33==t&&91==e.char(n+1)?e.append(new wF(bF,n,n+2,1)):-1,LinkEnd(e,t,n){if(93!=t)return-1;for(let t=e.parts.length-1;t>=0;t--){let i=e.parts[t];if(i instanceof wF&&(i.type==yF||i.type==bF)){if(!i.side||e.skipSpace(i.to)==n&&!/[(\[]/.test(e.slice(n+1,n+2)))return e.parts[t]=null,-1;let o=e.takeContent(t),r=e.parts[t]=EF(e,o,i.type==yF?PI.Link:PI.Image,i.from,n+1);if(i.type==yF)for(let n=0;nt?mF(PI.URL,t+n,o+n):o==e.length&&null}}function SF(e,t,n){let i=e.charCodeAt(t);if(39!=i&&34!=i&&40!=i)return!1;let o=40==i?41:i;for(let i=t+1,r=!1;i=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,n,i,o){return this.append(new wF(e,t,n,(i?1:0)|(o?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof wF&&(t.type==yF||t.type==bF))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let t=e;t=e;s--){let e=this.parts[s];if(e instanceof wF&&1&e.side&&e.type==n.type&&!(o&&(1&n.side||2&e.side)&&(e.to-e.from+r)%3==0&&((e.to-e.from)%3||r%3))){i=e;break}}if(!i)continue;let a=n.type.resolve,l=[],c=i.from,u=n.to;if(o){let e=Math.min(2,i.to-i.from,r);c=i.to-e,u=n.from+e,a=1==e?"Emphasis":"StrongEmphasis"}i.type.mark&&l.push(this.elt(i.type.mark,c,i.to));for(let e=s+1;e=0;t--){let n=this.parts[t];if(n instanceof wF&&n.type==e)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}skipSpace(e){return DI(this.text,e-this.offset)+this.offset}elt(e,t,n,i){return"string"==typeof e?mF(this.parser.getNodeType(e),t,n,i):new fF(e,t)}}function PF(e,t){if(!t.length)return e;if(!e.length)return t;let n=e.slice(),i=0;for(let e of t){for(;i(e?e-1:0))return!1;if(this.fragmentEnd<0){let e=this.fragment.to;for(;e>0&&"\n"!=this.input.read(e-1,e);)e--;this.fragmentEnd=e?e-1:0}let n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let i=e+this.fragment.offset;for(;n.to<=i;)if(!n.parent())return!1;for(;;){if(n.from>=i)return this.fragment.from<=t;if(!n.childAfter(i))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(MS.contextHash)==e}takeNodes(e){let t=this.cursor,n=this.fragment.offset,i=this.fragmentEnd-(this.fragment.openEnd?1:0),o=e.absoluteLineStart,r=o,s=e.block.children.length,a=r,l=s;for(;;){if(t.to-n>i){if(t.type.isAnonymous&&t.firstChild())continue;break}let o=TF(t.from-n,e.ranges);if(t.to-n<=e.ranges[e.rangeI].to)e.addNode(t.tree,o);else{let n=new zS(e.parser.nodeSet.types[PI.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(n,t.tree),e.addNode(n,o)}if(t.type.is("Block")&&(MF.indexOf(t.type.id)<0?(r=t.to-n,s=e.block.children.length):(r=a,s=l,a=t.to-n,l=e.block.children.length)),!t.nextSibling())break}for(;e.block.children.length>s;)e.block.children.pop(),e.block.positions.pop();return r-o}}function TF(e,t){let n=e;for(let i=1;iKI[e])),Object.keys(KI).map((e=>tF[e])),Object.keys(KI),nF,BI,Object.keys(_F).map((e=>_F[e])),Object.keys(_F),[]);dO.strikethrough,dO.processingInstruction;dO.heading,dO.content,dO.processingInstruction;function DF(e,t,n){return(i,o,r)=>{if(o!=e||i.char(r+1)==e)return-1;let s=[i.elt(n,r,r+1)];for(let o=r+1;oe.charCodeAt(0)))}function g$(e){return e>=48&&e<=57||183===e||e>=768&&e<=879||e>=8255&&e<=8256}function v$(e,t){return t.concat(e.split(/\n/g).join("\n"+t))}function y$(e,t=0){const n=e.peek(t);return n===d$&&e.peek(t+1)===d$?{offset:2,token:"**"}:(i=n,f$.includes(i)?{offset:1,token:String.fromCharCode(n)}:null);var i}function b$(e,t=0,n=!1){for(let o=!1,r=[],s=0;;s++){const a=e.peek(t+s);if(!(63===(i=a)||i>=65&&i<=90||95===i||i>=97&&i<=122||i>=192&&i<=214||i>=216&&i<=246||i>=248&&i<=767||i>=880&&i<=893||i>=895&&i<=8191||i>=8204&&i<=8205||i>=8304&&i<=8591||i>=11264&&i<=12271||i>=12289&&i<=55295||i>=63744&&i<=64975||i>=65008&&i<=65533||i>=55296&&i<=56319||i>=56320&&i<=57343||(o||n)&&g$(a)))return r.length?{token:String.fromCharCode(...r),offset:s}:null;o||(o=!0),r.push(a)}var i}function w$(e,t){for(let i=!1,o=0;;o++){if(n=e.peek(t+o),!h$.includes(n))return i?{token:" ",offset:o}:null;i||(i=!0)}var n}const x$={121:"identifier",122:"nameIdentifier"},_$=new CC(((e,t)=>{c$&&console.log("%s: T ",e.pos);const n=function(e,t){const n=t.contextKeys(),i=t.tokens;for(let t=0,o=[],r=null;;){const s=i.length+o.length>0,a=o.length>0,l=b$(e,t,s)||s&&y$(e,t)||a&&w$(e,t);if(!l)return r;const{token:c,offset:u}=l;if(t+=u," "===c)continue;o=[...o,c];const h=[...i,...o].join(" ");if(n.some((e=>e===h))){const e=o[0];r={token:e,offset:e.length,term:122}}if(!n.some((e=>e.startsWith(h)))){if(M$.some((e=>e===h))){const e=o[0];r={token:e,offset:e.length,term:121}}if(!M$.some((e=>e.startsWith(h))))return r}}}(e,t.context),i=t.context.tokens,o=n||b$(e,0,i.length>0);o&&(e.advance(o.offset),e.acceptToken(n?n.term:121),l$&&console.log("%s: MATCH <%s> <%s>",e.pos,n?x$[n.term]:"identifier",o.token))}),{contextual:!0}),E$=new CC(((e,t)=>{c$&&console.log("%s: T ",e.pos);const n=b$(e,0,t.context.tokens.length>0);n&&(e.advance(n.offset),e.acceptToken(120),l$&&console.log("%s: MATCH <%s>",e.pos,n.token))})),k$=new CC(((e,t)=>{let n;c$&&console.log("%s: T ",e.pos);let i=!1;for(n=0;;n++){const t=e.peek(n);if(!h$.includes(t)){p$.includes(t)&&(i=!0);break}}if(i){const t=b$(e,n+1);if(w$(e,n+1)||t&&/^(then|else|return|satisfies)$/.test(t.token))return;l$&&console.log("%s: MATCH ",e.pos),e.acceptToken(123)}})),S$={154:"FunctionInvocation",[KF]:"FilterExpression",[UF]:"PathExpression"},C$={169:"Context",167:"FunctionDefinition",130:"ForExpression",165:"List",139:"IfExpression",140:"QuantifiedExpression"},O$={96:"Context",89:"FunctionDefinition",4:"ForExpression",[o$]:"List",[jF]:"IfExpression",23:"QuantifiedExpression",67:"PathExpression",[ZF]:"FunctionInvocation",[YF]:"FilterExpression",41:"ArithmeticExpression"};class P${constructor(e){this.fn=e}get(e){return this.fn(e)}static of(e){return new P$(e)}}const M$=Object.keys({"date and time":1,date:1,time:1,duration:1});class A${constructor(e={}){this.value=e}getKeys(){return Object.keys(this.value)}get(e){const t=this.value[e],n=this.constructor;return n.isAtomic(t)?t:n.of(t)}set(e,t){return this.constructor.of({...this.value,[e]:t})}static isAtomic(e){return!e||e instanceof this||e instanceof P$||"object"!=typeof e}static of(...e){const t=e=>e&&"object"==typeof e?e instanceof this?e.value:{...e}:{};return new this(e.reduce(((e,n)=>({...e,...t(n)})),{}))}}class T${constructor({name:e="Expressions",tokens:t=[],children:n=[],parent:i=null,context:o=null,value:r=null,raw:s=null}={}){this.name=e,this.tokens=t,this.children=n,this.parent=i,this.context=o,this.value=r,this.raw=s}enterScope(e){const t=this.of({name:e,parent:this});return u$&&console.log("[%s] enter",t.path,t.context),t}exitScope(e){return this.parent?(u$&&console.log("[%s] exit %o\n%s",this.path,this.context,v$(e," ")),this.parent.pushChild(this)):(u$&&console.log("[%s] NO exit %o\n%s",this.path,this.context,v$(e," ")),this)}token(e){return u$&&console.log("[%s] token <%s> + <%s>",this.path,this.tokens.join(" "),e),this.assign({tokens:[...this.tokens,e]})}literal(e){return u$&&console.log("[%s] literal %o",this.path,e),this.pushChild(this.of({name:"Literal",value:e}))}computedValue(){for(let e=this;;e=N$(e.children)){if(!e)return null;if(e.value)return e.value}}contextKeys(){return this.context.getKeys().map(B$)}get path(){return this.parent?.path?.concat(" > ",this.name)||this.name}get(e){const t=[e,e&&B$(e)],n=this.context.getKeys().find((e=>t.includes(B$(e))));if(void 0===n)return;const i=this.context.get(n);return i instanceof P$?i.get(this):i}resolveName(){const e=this.tokens.join(" "),t=this.assign({tokens:[]}),n=this.of({name:"VariableName",parent:t,value:this.get(e),raw:e});return u$&&console.log("[%s] resolve name <%s=%s>",n.path,e,this.get(e)),t.pushChild(n)}pushChild(e){if(!e)return this;const t=this.assign({children:[...this.children,e]});return e.parent=t,t}pushChildren(e){let t=this;for(const n of e)t=t.pushChild(n);return t}declareName(){if(0===this.tokens.length)throw Error("no tokens to declare name");const e=this.tokens.join(" ");return u$&&console.log("[%s] declareName <%s>",this.path,e),this.assign({tokens:[]}).pushChild(this.of({name:"Name",value:e}))}define(e,t){if("string"!=typeof e)return u$&&console.log("[%s] no define <%s=%s>",this.path,e,t),this;u$&&console.log("[%s] define <%s=%s>",this.path,e,t);const n=this.context.set(e,t);return this.assign({context:n})}assign(e={}){return T$.of({...this,...e})}of(e={}){const t={context:this.context,parent:this.parent};return T$.of({...t,...e})}static of(e){const{name:t,tokens:n=[],children:i=[],parent:o=null,context:r,value:s,raw:a}=e;if(!r)throw new Error("must provide ");return new T$({name:t,tokens:[...n],children:[...i],context:r,parent:o,value:s,raw:a})}}function B$(e){return e.replace(/\s*([./\-'+]|\*\*?)\s*/g," $1 ").replace(/\s{2,}/g," ").trim()}function R$(e,t,n){const i=e.children.filter((e=>e.name!==t)),o=e.children.filter((e=>e.name===t)),r=i[0],s=i[Math.max(1,i.length-1)],a=r?.computedValue(),l=s?.computedValue()||null;return e.assign({children:o}).enterScope(t).pushChildren(i).exitScope(n).define(a,l)}function D$(e={},t=A$){const n=T$.of({context:t.of(e)});return new IC({start:n,reduce(e,n,i,o){if(n===jF){const[n,i]=e.children.slice(-2);e=e.assign({value:t.of(n?.computedValue(),i?.computedValue())})}if(n===o$&&(e=e.assign({value:t.of(...e.children.map((e=>e?.computedValue())))})),n===YF){const[t,n]=e.children.slice(-2);e=e.assign({value:t?.computedValue()})}if(n===ZF){const[t,...n]=e.children;"get value"===t?.raw&&(e=function(e,t){if(!t.length)return e.assign({value:null});if("Name"===t[0].name&&(t=function(e,t){const n={};for(let t=0;tn[e]))}(t)),2!==t.length)return e.assign({value:null});const[n,i]=t,o=i?.computedValue(),r=n?.computedValue();return r&&"object"==typeof r&&"string"==typeof o?e.assign({value:[B$(o),o].reduce(((e,t)=>r.get(t)||e),null)}):e.assign({value:null})}(e,n))}const r=C$[n];if(r)return e.enterScope(r);const s=S$[n];if(s){const{children:i,context:o}=e,r=i.slice(0,-1),a=N$(i);let l=null;return n===UF&&(l=t.of(a?.computedValue())),n===KF&&(l=t.of(o,a?.computedValue()).set("item",a?.computedValue())),e.assign({children:r}).enterScope(s).pushChild(a).assign({context:l||o})}const a=o.read(o.pos,i.pos);if(O$[n])return e.exitScope(a);if(n===r$){const n=e.children.filter((e=>"ContextEntry"!==e.name)),i=n[0],o=N$(n);return R$(e,"ContextEntry",a).assign({value:t.of(e.value).set(i?.computedValue(),o?.computedValue())})}if(n===NF||n===qF)return R$(e,"InExpression",a);if(n===$F)return e.define("partial",P$.of((e=>N$(e.children)?.computedValue())));if(n===JF){const t=N$(e.children).computedValue();return e.define(t,1)}if(n===VF||n===WF||n===GF){const t=e.children.slice(0,-1),n=N$(e.children);return e.assign({children:t}).enterScope("ArithmeticExpression").pushChild(n)}if(n===QF)return e.enterScope("ArithmeticExpression");if(n===IF||n===FF||n===a$)return e.token(a);if(n===n$)return e.literal(a.replace(/^"|"$/g,""));if(n===i$)return e.literal("true"===a);if(n===t$)return e.literal(parseFloat(a));if(n===e$)return e.literal(null);if(n===XF)return e.resolveName();if(n===zF||n===s$)return e.declareName();if((n===LF||n===HF)&&e.tokens.length>0)throw new Error("uncleared name");if(n===LF){let t=e;for(;t.parent;)t=t.exitScope(a);return t}return e}})}const L$=D$({});function N$(e){return e[e.length-1]}const z$=GC({StringLiteral:dO.string,NumericLiteral:dO.number,BooleanLiteral:dO.bool,"AtLiteral!":dO.special(dO.string),CompareOp:dO.compareOperator,ArithOp:dO.arithmeticOperator,"for if then else some every satisfies between return":dO.controlKeyword,"in instance of and or":dO.operatorKeyword,function:dO.definitionKeyword,as:dO.keyword,"Type/...":dO.typeName,Wildcard:dO.special(dO.variableName),null:dO.null,LineComment:dO.lineComment,BlockComment:dO.blockComment,'VariableName! "?"':dO.variableName,"DateTimeConstructor! SpecialFunctionName!":dO.function(dO.special(dO.variableName)),"List Interval":dO.list,Context:dO.definition(dO.literal),"Name!":dO.definition(dO.variableName),"Key/Name! ContextEntryType/Name!":dO.definition(dO.propertyName),"PathExpression/VariableName!":dO.function(dO.propertyName),"FormalParameter/ParameterName!":dO.function(dO.definition(dO.variableName)),"( )":dO.paren,"[ ]":dO.squareBracket,"{ }":dO.brace,".":dO.derefOperator,", ;":dO.separator,"..":dO.punctuation}),I$={__proto__:null,for:10,in:32,return:36,if:40,then:42,else:44,some:48,every:50,satisfies:56,or:60,and:64,between:72,instance:86,of:89,days:99,time:101,duration:103,years:105,months:107,date:109,list:115,context:121,function:128,null:154,true:326,false:326,"?":168,external:184,not:209},F$=FC.deserialize({version:14,states:"CpO`QYOOO`QYOOO$gQYOOOOQU'#Ce'#CeO$qQYO'#C`O%zQYO'#FPOOQQ'#Fe'#FeO&UQYO'#FeO`QYO'#DVOOQU'#Em'#EmO'rQ^O'#D]OOQO'#Fl'#FlO)oQWO'#DuOOQQ'#D|'#D|OOQQ'#D}'#D}OOQQ'#EO'#EOO)tOWO'#ERO)oQWO'#EPOOQQ'#EP'#EPOOQQ'#Fr'#FrOOQQ'#Fp'#FpOOQQ'#Fw'#FwOOQQ'#ET'#ETO`QYO'#EVOOQQ'#FR'#FRO)yQ^O'#FRO+pQYO'#EWO+wQWO'#EXOOQP'#F{'#F{O+|QXO'#E`OOQQ'#Fx'#FxOOQQ'#FQ'#FQQOQWOOOOQQ'#FS'#FSOOQQ'#F]'#F]O`QYO'#CoOOQQ'#F^'#F^O$qQYO'#CsO,XQYO'#DvOOQQ'#Fq'#FqO,^QYO'#EQOOQO'#EQ'#EQO`QYO'#EUO`QYO'#ETOOQO'#Fy'#FyQ,fQWOOO,kQYO'#DRO-bQWO'#FaOOQO'#DT'#DTO-mQYO'#FeO-tQWOOO.kQYO'#CdO.xQYO'#FUOOQQ'#Cc'#CcO.}QYO'#FTOOQQ'#Cb'#CbO/VQYO,58zO`QYO,59iOOQQ'#Fb'#FbOOQQ'#Fc'#FcOOQQ'#Fd'#FdO`QYO,59qO`QYO,59qO`QYO,59qOOQQ'#Fj'#FjO$qQYO,5:]OOQQ'#Fk'#FkO`QYO,5:_O`QYO,59eO`QYO,59gO`QYO,59iO0uQYO,59iO0|QYO,59rOOQQ,5:h,5:hO1RQYO,59qOOQU-E8k-E8kO2uQYO'#FmOOQQ,5:a,5:aOOQQ,5:m,5:mOOQQ,5:k,5:kO2|QYO,5:qOOQQ,5;m,5;mO3WQYO,5:pO3eQWO,5:rO3jQYO,5:sOOQP'#Ed'#EdO4aQXO'#EcOOQO'#Eb'#EbO4hQWO'#EaO4mQWO'#F|O4uQWO,5:zO4zQYO,59ZO.xQYO'#F`OOQQ'#Cw'#CwO5RQYO'#F_OOQQ'#Cv'#CvO5ZQYO,59_O5`QYO,5:bO5eQYO,5:lO3PQYO,5:pO5jQYO,5:oO`QYO'#EvQ,fQWOOO`QYO'#ElO6aQWO,5;{O`QYOOOOQR'#Cf'#CfOOQQ'#Ei'#EiO7ZQYO,59OO`QYO,5;pOOQQ'#FX'#FXO$qQYO'#EjO7kQYO,5;oO`QYO1G.fOOQQ'#F['#F[O8bQYO1G/TO;XQYO1G/]O;cQYO1G/]O;mQYO1G/]OOQQ1G/w1G/wO=aQYO1G/yO=hQYO1G/PO>qQYO1G/RO?zQYO1G/TO`QYO1G/TOOQQ1G/T1G/TO@bQYO1G/^O@|Q^O'#CdOB`QYO'#FoOOQO'#Dy'#DyOBjQWO'#DxOBoQWO'#FnOOQO'#Dw'#DwOOQO'#Dz'#DzOBwQWO,5eAN>eO$qQYO'#EnO! VQYO<hP>kP>o?b@T@|ASAV$rA]A]PPPPBU7qB}CvCyDr!mhOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xR!YSQ!WSR$k#cS!US#cS#Ou$^W#u!n!v$|%TT&R%k&a#WXOPQWYgjsz{!Z!_!`!a!c!e!f!g!h!i#X#Z#]#a#e#p#r#|#}$W$[$]$`$o${%S%V%b%e%j%l%w%x&O&`&d&l&n&o&rb!TSu!v#c$^$|%T%k&aU#_!T#`#sR#s!nU#_!T#`#sT$U!x$VR$j#aR#SuQ#QuR%^$^U!PQ#]#pQ#q!iR$e#ZQpQQ$g#]R$q#pQ$z#rQ%r%SQ&Q%jU&V%l&d&rQ&g&`T&m&l&oc$s#r%S%j%l&`&d&l&o&r!liOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xQ#k!cU$r#r%S&lS%z%e&n]&P%j%l&`&d&o&rR&U%kQ&S%kR&h&aQ&Y%lR&q&rS&W%l&rR&j&d!mZOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xR#z!nQ#w!nR%n$|S#v!n$|T$Q!v%T!mcOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%x!lcOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xQ!p`T!ym$X!maOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%x!mbOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%x!mfOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%x!mnOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xR$T!vQ$R!vR%s%TQ%v%VR&Z%wQ!{mR%Y$XT!zm$XS!xm$XT$U!x$VRpQS#`!T#sR$h#`Q#d!WR$l#dQ$_#QR%_$_Q#[!PR$f#[!vYOPQWgjsz{!Z!_!`!a!c!e!f!g!h!i!n#X#Z#]#a#e#p#r#|#}$W$[$]$`$o${%S%V%b%e%w%x&lS!mY&O_&O%j%l&`&d&n&o&rQ%f$rS%{%f&^R&^&PQ&b&SR&i&bQ&e&WR&k&eQ$}#wR%o$}S$O!t#tR%R$OQ%U$RR%t%UQ$V!xR%W$VQ$Y!{R%Z$YQ#Y}R$d#YQpOQ}PR$c#XUTOP#XW!OQ!i#Z#]Q!lWQ!rgQ!tjQ!}sQ#VzQ#W{Q#g!ZQ#h!_Q#i!`Q#j!aQ#l!eQ#m!fQ#n!gQ#o!hQ#t!nQ$i#aQ$m#eQ$p#pQ%P#|Q%Q#}Q%X$WQ%[$[Q%]$]Q%`$`Q%c$oQ%m${S%u%V%wQ%y%bR&[%x!moOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%x!mSOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xR!XST!VS#cQ#a!UR$]#OR#e!Y!msOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%x!muOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xR#RuT#Pu$^V!QQ#]#p!X!_T!O!r!t!}#V#W#g#l#m#n#o#t$i$m$p%P%Q%X%[%]%`%c%m%u%y&[!Z!`T!O!r!t!}#V#W#g#h#l#m#n#o#t$i$m$p%P%Q%X%[%]%`%c%m%u%y&[!]!aT!O!r!t!}#V#W#g#h#i#l#m#n#o#t$i$m$p%P%Q%X%[%]%`%c%m%u%y&[!mWOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xR&T%kT&X%l&r!a!cT!O!l!r!t!}#V#W#g#h#i#j#l#m#n#o#t$i$m$p%P%Q%X%[%]%`%c%m%u%y&[!a!eT!O!l!r!t!}#V#W#g#h#i#j#l#m#n#o#t$i$m$p%P%Q%X%[%]%`%c%m%u%y&[!m[OPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xQ!o[R!qaR#x!nQ!ujR#y!n!mdOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%x!mjOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%x!mkOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xR$S!v!mmOPQWgjsz{!Z!_!`!a!e!f!g!h!i!n#X#Z#]#a#e#p#|#}$W$[$]$`$o${%V%b%w%xR!|m",nodeNames:"⚠ LineComment BlockComment Expression ForExpression for InExpressions InExpression Name Identifier Identifier ArithOp ArithOp ArithOp ArithOp ArithOp in IterationContext return IfExpression if then else QuantifiedExpression some every InExpressions InExpression satisfies Disjunction or Conjunction and Comparison CompareOp CompareOp between PositiveUnaryTest ( PositiveUnaryTests ) ArithmeticExpression InstanceOfExpression instance of Type QualifiedName VariableName SpecialType days time duration years months date > ListType list < ContextType context ContextEntryTypes ContextEntryType FunctionType function ArgumentTypes ArgumentType PathExpression ] FilterExpression [ FunctionInvocation SpecialFunctionName NamedParameters NamedParameter ParameterName PositionalParameters null NumericLiteral StringLiteral BooleanLiteral DateTimeLiteral DateTimeConstructor AtLiteral ? SimplePositiveUnaryTest Interval ParenthesizedExpression List FunctionDefinition FormalParameters FormalParameter external FunctionBody } { Context ContextEntry Key Name Identifier Expressions UnaryTests Wildcard not",maxTerm:171,context:L$,nodeProps:[["closedBy",38,")",70,"]",95,"}"],["openedBy",40,"(",68,"[",94,"{"],["group",-5,77,78,79,80,81,"Literal"]],propSources:[z$],skippedNodes:[0,1,2],repeatNodeCount:14,tokenData:"+l~RuXY#fYZ$ZZ[#f]^$Zpq#fqr$`rs$kwx&cxy&hyz&mz{&r{|'P|}'U}!O'Z!O!P'h!P!Q(Q!Q![){![!]*^!]!^*c!^!_*h!_!`$f!`!a*w!b!c+R!}#O+W#P#Q+]#Q#R&z#o#p+b#q#r+g$f$g#f#BY#BZ#f$IS$I_#f$I|$I}$Z$I}$JO$Z$JT$JU#f$KV$KW#f&FU&FV#f?HT?HU#f~#kY#q~XY#fZ[#fpq#f$f$g#f#BY#BZ#f$IS$I_#f$JT$JU#f$KV$KW#f&FU&FV#f?HT?HU#f~$`O#r~~$cP!_!`$f~$kOr~~$pW$h~OY$kZr$krs%Ys#O$k#O#P%_#P;'S$k;'S;=`&]<%lO$k~%_O$h~~%bRO;'S$k;'S;=`%k;=`O$k~%pX$h~OY$kZr$krs%Ys#O$k#O#P%_#P;'S$k;'S;=`&];=`<%l$k<%lO$k~&`P;=`<%l$k~&hO#z~~&mOv~~&rOx~~&wP^~z{&z~'PO_~~'UO[~~'ZO#}~R'`PZP!`!a'cQ'hO$]Q~'mQ#y~!O!P's!Q!['x~'xO#|~~'}P$g~!Q!['x~(VQ]~z{(]!P!Q)d~(`TOz(]z{(o{;'S(];'S;=`)^<%lO(]~(rVOz(]z{(o{!P(]!P!Q)X!Q;'S(];'S;=`)^<%lO(]~)^OQ~~)aP;=`<%l(]~)iSP~OY)dZ;'S)d;'S;=`)u<%lO)d~)xP;=`<%l)d~*QQ$g~!O!P*W!Q![){~*ZP!Q!['x~*cO$Z~~*hO$q~R*oP![QsP!_!`*rP*wOsPR+OP!XQsP!_!`*r~+WO$j~~+]O!h~~+bO!f~~+gO#R~~+lO#Q~",tokenizers:[E$,_$,k$,0,1],topRules:{Expression:[0,3],Expressions:[1,101],UnaryTests:[2,102]},dynamicPrecedences:{31:-1,67:1,71:-1,73:-1},specialized:[{term:121,get:e=>I$[e]||-1}],tokenPrec:2500});function $$(e){const t=[];return e.iterate({enter:e=>{const n=e.node;if(!n.type.isError)return;const i=n.parent,o=j$(n),r={from:n.from,to:n.to,severity:"error",type:"Syntax Error"};if(n.from!==n.to)r.message=`Unrecognized token in <${i.name}>`;else if(o)r.message=`Unrecognized token <${o.name}> in <${i.name}>`,r.to=o.to;else{const e=i.enterUnfinishedNodesBefore(n.to);r.message=`Incomplete <${(e||i).name}>`}t.push(r)}}),t}function j$(e){return e?e.nextSibling||j$(e.parent):null}const q$=()=>e=>{return 0===e.state.doc.length?[]:(t=dD(e.state),[...$$(t)]).map((e=>({...e,source:e.type})));var t},H$=QD(HD.define([{tag:dO.strong,fontWeight:"bold"},{tag:dO.emphasis,fontStyle:"italic"}]));var V$=[nR.theme({"& .cm-lintRange":{position:"relative"},"& .cm-lintRange::after":{content:'""',width:"100%",position:"absolute",left:"0px",bottom:"-2px",height:"3px",backgroundRepeat:"repeat-x"},"& .cm-lintRange.cm-lintRange-warning, & .cm-lintRange.cm-lintRange-error":{backgroundImage:"none"},"& .cm-lintPoint::after":{bottom:"-2px"}}),H$];const W$=e=>`%23${e.slice(1)}`,G$={black:"#1f2b36",darkGrey:"#2f3d58",grey:"#404a5c",midGrey:"#576071",lightGrey:"#c5d1e5",offWhite:"#d9e0f5",snowWhite:"#eaf1ff",white:"#ffffff",mossGreen:"#7ab6aa",iceBlue:"#6cbfd8",waterBlue:"#065aaa",brightBlue:"#0a56b9",deepBlue:"#355472",red:"#9f1c15",orangeBrown:"#b4502f",yellow:"#debd71",lila:"#9a4890",purple:"#5b2c83"},Q$={lightBackground:G$.white,darkBackground:G$.snowWhite,selection:G$.snowWhite,tooltipBackground:G$.offWhite,error:G$.red,warning:G$.yellow,invalid:"#b40000"};var X$=[nR.theme({"&":{color:G$.black,backgroundColor:Q$.lightBackground},".cm-content":{caretColor:G$.darkGrey},".cm-cursor, .cm-dropCursor":{borderLeftColor:G$.darkGrey},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:Q$.selection},".cm-panels":{backgroundColor:Q$.darkBackground,color:G$.grey},".cm-panels.cm-panels-top":{borderBottom:`2px solid ${G$.black}`},".cm-panels.cm-panels-bottom":{borderTop:`2px solid ${G$.black}`},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:`1px solid ${G$.midGrey}`},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:G$.offWhite},".cm-activeLine":{backgroundColor:Q$.selection},".cm-selectionMatch":{backgroundColor:G$.offWhite},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{outline:`1px solid ${G$.grey}`},"&.cm-focused .cm-matchingBracket":{backgroundColor:G$.snowWhite},".cm-gutters":{backgroundColor:"#f3f7fe",color:"#52668d",border:"none",padding:"0 5px"},".cm-activeLineGutter":{backgroundColor:Q$.selection},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Q$.tooltipBackground},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Q$.tooltipBackground,borderBottomColor:Q$.tooltipBackground},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:Q$.darkBackground,color:G$.midGrey}},"& .cm-lintRange.cm-lintRange-warning::after":{backgroundImage:`url("data:image/svg+xml,")`},"& .cm-lintRange.cm-lintRange-error::after":{backgroundImage:`url("data:image/svg+xml,")`},"& .cm-diagnostic-warning":{border:`1px solid ${Q$.warning}`,borderLeft:`5px solid ${Q$.warning}`,background:Q$.lightBackground},"& .cm-diagnostic-error":{border:`1px solid ${Q$.error}`,borderLeft:`5px solid ${Q$.error}`,background:Q$.lightBackground},"& .cm-diagnostic":{padding:"3px 8px"}},{dark:!1}),QD(HD.define([{tag:[dO.macroName,dO.variableName],color:G$.waterBlue},{tag:[dO.special(dO.bracket)],color:G$.waterBlue,fontWeight:"bold"},{tag:[dO.color,dO.name,dO.definition(dO.name),dO.constant(dO.name),dO.standard(dO.name),dO.propertyName],color:G$.deepBlue},{tag:[dO.definition(dO.variableName),dO.function(dO.variableName),dO.function(dO.propertyName)],color:G$.brightBlue},{tag:[dO.labelName],color:G$.orangeBrown},{tag:[dO.annotation],color:Q$.invalid},{tag:[dO.number,dO.changed,dO.annotation,dO.modifier,dO.self,dO.namespace,dO.atom,dO.bool,dO.special(dO.variableName)],color:G$.red},{tag:[dO.typeName,dO.className,dO.attributeName],color:G$.lila},{tag:[dO.operator,dO.operatorKeyword,dO.tagName,dO.keyword],color:G$.purple},{tag:[dO.angleBracket,dO.squareBracket,dO.brace,dO.separator,dO.punctuation],color:G$.midGrey},{tag:[dO.regexp],color:G$.deepBlue},{tag:[dO.quote],color:G$.darkGrey},{tag:[dO.string,dO.character,dO.deleted],color:G$.orangeBrown},{tag:dO.link,color:G$.mossGreen,textDecoration:"underline",textUnderlinePosition:"under"},{tag:[dO.url,dO.escape,dO.special(dO.string)],color:G$.red},{tag:[dO.meta],color:G$.iceBlue},{tag:[dO.comment],color:G$.midGrey,fontStyle:"italic"},{tag:dO.strong,fontWeight:"bold",color:G$.deepBlue},{tag:dO.emphasis,fontStyle:"italic",color:G$.deepBlue},{tag:dO.strikethrough,textDecoration:"line-through"},{tag:dO.heading,fontWeight:"bold",color:G$.midGray},{tag:dO.special(dO.heading1),fontWeight:"bold",color:G$.darkGrey},{tag:[dO.heading1,dO.heading2,dO.heading3,dO.heading4],fontWeight:"bold",color:G$.midGrey},{tag:[dO.heading5,dO.heading6,dO.processingInstruction,dO.inserted],color:G$.grey},{tag:[dO.contentSeparator],color:G$.yellow},{tag:dO.invalid,color:G$.midGrey,borderBottom:`1px dotted ${Q$.invalid}`}]))];const U$="#f07178",Y$="#fffce1",K$="#ec9e6f",Z$="rgba(0, 0, 0, 0.5)",J$="#353a42",ej="#ffcc00",tj="fff890";var nj=[nR.theme({"&":{color:"#ffffff",backgroundColor:"#292d3e"},".cm-content":{caretColor:ej},"&.cm-focused .cm-cursor":{borderLeftColor:ej},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:"rgba(128, 203, 196, 0.2)"},".cm-panels":{backgroundColor:"#21252b",color:"#ffffff"},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:Z$},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847",outline:"1px solid #515a6b"},".cm-gutters":{background:"#292d3e",color:"#676e95",border:"none",padding:"0 5px"},".cm-activeLineGutter":{backgroundColor:Z$},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:J$},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:J$,borderBottomColor:J$},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:Z$,color:"#abb2bf"}},"& .cm-lintRange.cm-lintRange-warning::after":{backgroundImage:`url("data:image/svg+xml,")`},"& .cm-lintRange.cm-lintRange-error::after":{backgroundImage:"url(\"data:image/svg+xml,\")"},"& .cm-diagnostic-warning":{borderLeft:`5px solid #${tj}`,background:"#281e16"},"& .cm-diagnostic-error":{borderLeft:"5px solid red",background:"#281616"},"& .cm-diagnostic":{borderRadius:"2px",padding:"3px 8px"}},{dark:!0}),QD(HD.define([{tag:dO.heading1,color:Y$},{tag:dO.heading2,color:Y$},{tag:dO.heading3,color:Y$},{tag:dO.heading4,color:Y$},{tag:dO.heading5,color:Y$},{tag:dO.heading6,color:Y$},{tag:dO.special(dO.bracket),color:K$,fontWeight:"bold"},{tag:dO.keyword,color:"#c792ea"},{tag:dO.operator,color:"#89ddff"},{tag:dO.special(dO.variableName),color:"#eeffff"},{tag:dO.typeName,color:"#f07178"},{tag:dO.atom,color:"#f78c6c"},{tag:dO.number,color:"#ff5370"},{tag:dO.bool,color:"#ff5370"},{tag:dO.definition(dO.variableName),color:"#82aaff"},{tag:dO.string,color:"#c3e88d"},{tag:dO.comment,color:"#7d8799"},{tag:dO.tagName,color:"#ff5370"},{tag:dO.bracket,color:"#a2a1a4"},{tag:dO.meta,color:"#ffcb6b"},{tag:dO.special(dO.string),color:U$},{tag:dO.propertyName,color:K$},{tag:dO.variableName,color:K$},{tag:dO.attributeName,color:U$},{tag:dO.className,color:U$},{tag:dO.invalid,color:"#ffffff"}]))];const ij=[...V$,...X$],oj=[...V$,...nj],rj=(e,t=0)=>{const n=125===e.peek(t),i=125===e.peek(t+1);return n&&i||-1===e.peek(t)},sj=new CC(((e,t)=>{let n=0;for(;!rj(e,n);)n++;n>0&&(e.advance(n),e.acceptToken(2))})),aj=(e,t=0)=>{const n=123===e.peek(t),i=123===e.peek(t+1);return n&&i||-1===e.peek(t)},lj=new CC(((e,t)=>{let n=0;for(;!aj(e,n);)n++;n>0&&(e.advance(n),e.acceptToken(3))})),cj=new CC(((e,t)=>{let n=0;for(;-1!==e.peek(n);)n++;n>0&&(e.advance(n),e.acceptToken(1))})),uj=GC({ConditionalSpanner:dO.special(dO.bracket),ConditionalSpannerClose:dO.special(dO.bracket),ConditionalSpannerCloseNl:dO.special(dO.bracket),LoopSpanner:dO.special(dO.bracket),LoopSpannerClose:dO.special(dO.bracket),LoopSpannerCloseNl:dO.special(dO.bracket),EmptyInsert:dO.special(dO.bracket),Insert:dO.special(dO.bracket)}),hj=FC.deserialize({version:14,states:"$bOQOaOOOfOXO'#CbOOO`'#Cm'#CmOqOWO'#CcOvOWO'#CfOOO`'#Cp'#CpOOO`'#Ci'#CiO{OaO'#ClO!jOSOOQOOOOOO!oOPO,58{O!tOXO,58|OOO`,58|,58|O!|OQO,58}O#ROQO,59QOOO`-E6g-E6gOOO`1G.g1G.gO#WOPO1G.gOOO`1G.h1G.hO#]OaO1G.iO#qOaO1G.lOOO`7+$R7+$RO$VOPO7+$TO$_OPO7+$WOOO`<{"EmptyInsert"===e.type.name&&t.push({from:e.from,to:e.to,severity:"warning",message:"this insert is empty and will be ignored",type:"emptyInsert"})}}),t}var fj=yI(function(){const e=q$();return t=>{const n=e(t);return 0===t.state.doc.length?[]:[...n,...(i=dD(t.state),[...dj(i)]).map((e=>({...e,source:"feelers linter"})))];var i}}());function mj({container:e,tooltipContainer:t,hostLanguage:n,hostLanguageParser:i,onChange:o=(()=>{}),onKeyDown:r=(()=>{}),onLint:s=(()=>{}),contentAttributes:a={},readOnly:l=!1,value:c="",enableGutters:u=!1,singleLine:h=!1,lineWrap:p=!1,darkMode:d=!1}){const f=nR.updateListener.of((e=>{e.docChanged&&o(e.state.doc.toString())})),m=nR.updateListener.of((e=>{const t=e.transactions.flatMap((e=>e.effects)).filter((e=>e.is(lI)));if(!t.length)return;const n=t.flatMap((e=>e.value));s(n)})),g=nR.contentAttributes.of(a),v=nR.domEventHandlers({keydown:r});"string"==typeof t&&(t=document.querySelector(t));const y=t?wR({tooltipSpace:function(){return t.getBoundingClientRect()}}):[],b=(e=>new ED(function(e=null){const t=hj.configure({wrap:(n=t=>"Feel"==t.name||"FeelBlock"==t.name?{parser:F$}:e&&"SimpleTextBlock"==t.name?{parser:e}:null,(e,t,i,o)=>new lC(e,n,t,i,o)),props:[jD.add(pj)]});var n;return pD.define({parser:t})}(e),[]))(i||n&&(e=>"markdown"===e?RF:null)(n)),w=[rL(),f,g,SN(),$D(),v,uR.of([...tI]),b,fj,m,y,d?oj:ij,...u?[rD()]:[],...h?[RP.transactionFilter.of((e=>e.newDoc.lines>1?[]:e))]:[],...p?[nR.lineWrapping]:[]];return l&&w.push(nR.editable.of(!1)),h&&c&&(c=c.toString().split("\n")[0]),this._cmEditor=new nR({state:RP.create({doc:c,extensions:w}),parent:e}),this}mj.prototype.setValue=function(e){this._cmEditor.dispatch({changes:{from:0,to:this._cmEditor.state.doc.length,insert:e}})},mj.prototype.focus=function(e){const t=this._cmEditor;if(t.contentDOM.focus(),t.focus(),"number"==typeof e){const n=t.state.doc.length;t.dispatch({selection:{anchor:e<=n?e:n}})}},mj.prototype.getSelection=function(){return this._cmEditor.state.selection};const gj=[bN("function(${params}) ${body}",{label:"function",detail:"definition",type:"keyword"}),bN("for ${var} in ${collection} return ${value}",{label:"for",detail:"expression",type:"keyword"}),bN("every ${var} in ${collection} satisfies ${condition}",{label:"every",detail:"quantified expression",type:"keyword"}),bN("some ${var} in ${collection} satisfies ${condition}",{label:"some",detail:"quantified expression",type:"keyword"}),bN("if ${condition} then ${value} else ${other value}",{label:"if",detail:"block",type:"keyword"}),bN("{ ${key}: ${value} }",{label:"context",detail:"block",type:"keyword"})];function vj(){return vj=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{state:s,pos:a}=e,l=function(e,t){for(Array.isArray(t)||(t=[t]);e;e=e.parent){if(t.includes(e.name))return e;if(e.type.isTop)break}return null}(dD(s).resolveInner(a,-1),n);return l?_j(l,a,[r,i])||function(e,t,n){return Ej(e,t,n,1)}(l,a,[r,o])||o&&!_j(l,a,[o])?null:t(e):null}}({nodes:t,before:i,after:n,keyword:o},wL([{label:o,type:"keyword",boost:10}]))}const bj=[yj({context:"InExpression",keyword:"in"}),yj({context:"IfExpression",keyword:"then",after:"if",before:"else"}),yj({context:"IfExpression",keyword:"else",after:"then"}),yj({context:"QuantifiedExpression",keyword:"satisfies"}),yj({context:"ForExpression",after:"InExpressions",keyword:"return"})],wj=["StringLiteral","Identifier","LineComment","BlockComment","PathExpression"];function xj(e){return t=wj,n=wL(e.map((e=>vj({},e,{type:"text"})))),e=>{for(let n=dD(e.state).resolveInner(e.pos,-1);n;n=n.parent){if(t.indexOf(n.name)>-1)return null;if(n.type.isTop)break}return n(e)};var t,n}function _j(e,t,n){return Ej(e,t,n,-1)}function Ej(e,t,n,i){let o=e[i>0?"childAfter":"childBefore"](t);for(;o;){if(n.includes(o.name))return o;if(o.type.isError&&o.firstChild&&n.includes(o.firstChild.name))return o.firstChild;o=o[i>0?"nextSibling":"prevSibling"]}return null}const kj=pD.define({parser:F$.configure({props:[AD.add({Context:ND({closing:"}"}),"List FilterExpression":ND({closing:"]"}),"ParenthesizedExpression FunctionInvocation":ID({except:/^\s*\)/}),"ForExpression QuantifiedExpression IfExpression":ID({except:/^\s*(then|else|return|satisfies)\b/}),FunctionDefinition:ID({except:/^\s*(\(|\))/})}),jD.add({Context:qD,List:qD,ParenthesizedExpression:qD,FunctionDefinition(e){const t=e.getChild(")");return t?{from:t.to,to:e.to}:null}})]}),languageData:{indentOnInput:/^\s*(\)|\}|\]|then|else|return|satisfies)$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}}),Sj=kj.configure({top:"UnaryTests"},"FEEL unary tests"),Cj=kj.configure({top:"Expression"},"FEEL expression");var Oj=[yI(q$())],Pj=[nR.theme({"& .cm-content":{padding:"0px"},"& .cm-line":{padding:"0px"},"&.cm-editor.cm-focused":{outline:"none"},"& .cm-completionInfo":{whiteSpace:"pre-wrap",overflow:"hidden",textOverflow:"ellipsis"},"& .cm-completionInfo > *":{whiteSpace:"normal"},"& .cm-completionInfo ul":{margin:0,paddingLeft:"15px"},"& .cm-completionInfo pre":{marginBottom:0,whiteSpace:"pre-wrap"},"& .cm-completionInfo p":{marginTop:0},"& .cm-completionInfo p:not(:last-of-type)":{marginBottom:0}}),nR.baseTheme({"& .variableName":{color:"#10f"},"& .number":{color:"#164"},"& .string":{color:"#a11"},"& .bool":{color:"#219"},"& .function":{color:"#aa3731",fontWeight:"bold"},"& .control":{color:"#708"}}),QD(HD.define([{tag:dO.variableName,class:"variableName"},{tag:dO.name,class:"variableName"},{tag:dO.number,class:"number"},{tag:dO.string,class:"string"},{tag:dO.bool,class:"bool"},{tag:dO.function(dO.variableName),class:"function"},{tag:dO.function(dO.special(dO.variableName)),class:"function"},{tag:dO.controlKeyword,class:"control"},{tag:dO.operatorKeyword,class:"control"}]))];function Mj(e){return e&&e.from===e.to}function Aj(e){return!!e&&("PathExpression"===e.name||Aj(e.parent))}function Tj({variables:e}){return t=>{const n=dD(t.state).resolve(t.pos,-1);if(!Aj(n))return;const i=function(e){for(;e;){if("PathExpression"===e.name)return e;e=e.parent}}(n),o=n===i?t.pos:n.from,r=Bj(i,t);let s=e;for(var a=0;ae.name===r[a].name));if(!l)return null;if("optional"!==l.isList&&!!l.isList!==r[a].isList)return;s=l.entries}return s?(s=s.map((e=>({label:e.name,type:"variable",info:e.info,detail:e.detail}))),{from:o,options:s}):void 0}}function Bj(e,t){let n=[];for(let i=e.firstChild;i;i=i.nextSibling)"PathExpression"===i.name?n.push(...Bj(i,t)):"FilterExpression"===i.name?n.push(...Rj(i,t)):n.push({name:Dj(i,t),isList:!1});return n}function Rj(e,t){const n=e.firstChild;if("PathExpression"===n.name){const e=Bj(n,t);return e[e.length-1].isList=!0,e}return[{name:Dj(n,t),isList:!0}]}function Dj(e,t){return t.state.sliceDoc(e.from,e.to)}function Lj({variables:e=[],builtins:t=[]}){const n=function(e,t){return[].concat(e.map((e=>Nj(e))),t.map((e=>Nj(e))))}(e,t);return n.length?e=>{const{pos:t,state:i}=e,o=dD(i).resolve(t,-1);return function(e,t){const n=e.nextSibling;return Mj(e)||n&&n.from===t&&Mj(n)}(o,t)?e.explicit?{from:t,options:n}:null:!function(e){return e&&e.parent&&"VariableName"===e.parent.name}(o)||Aj(o)?null:{from:o.from,options:n}}:e=>null}function Nj(e,t){return"function"===e.type?function(e,t){const{name:n,info:i,detail:o,params:r=[]}=e,s=r.map((({name:e,type:t},n)=>({name:e||`param ${n+1}`,type:t}))),a=`${n}(${s.map((e=>"${"+e.name+"}")).join(", ")})`,l=s.map((({name:e,type:t})=>t?`${e}: ${t}`:e)).join(", ");return bN(a,{label:`${n}(${l})`,type:"function",info:i,detail:o,boost:t})}(e,t):{label:e.name,type:"variable",info:e.info,detail:e.detail,boost:t}}function zj({variables:e=[],builtins:t=[]}){return[Tj({variables:e}),Lj({variables:e,builtins:t}),xj(gj.map((e=>({...e,boost:-1})))),...bj]}const Ij=YO.define(),Fj=YO.define(),$j=YO.define();function jj({dialect:e="expression",variables:t=[],builtins:n=[],completions:i=zj({builtins:n,variables:t})}){const o=function(e,t){return e.slice().reverse().reduce(((e,t)=>(e[t.name]=()=>{},e)),{})}([...t,...n]);return[$j.of(e),Ij.of(n),Fj.of(t),(r={dialect:e,context:o,completions:i},function(e={}){const t=("unaryTests"===e.dialect?Sj:Cj).configure({contextTracker:D$(e.context)}),n=e.completions||[xj(gj),bj].flat();return new ED(t,[...n.map((e=>t.data.of({autocomplete:e})))])}(r))];var r}const qj=[{name:"not(negand)",description:'

    Returns the logical negation of the given value.

    \n

    Function signature

    \n
    not(negand: boolean): boolean\n
    \n

    Examples

    \n
    not(true)\n// false\n\nnot(null)\n// null\n
    \n'},{name:"is defined(value)",description:'

    Camunda Extension

    \n

    Checks if a given value is not null. If the value is null then the function returns false.\nOtherwise, the function returns true.

    \n

    Function signature

    \n
    is defined(value: Any): boolean\n
    \n

    Examples

    \n
    is defined(1)\n// true\n\nis defined(null)\n// false\n\nis defined(x)\n// false - if no variable "x" exists\n\nis defined(x.y)\n// false - if no variable "x" exists or it doesn't have a property "y"\n
    \n

    :::caution Breaking change

    \n

    This function worked differently in previous versions. It returned true if the value was null.\nSince this version, the function returns false if the value is null.

    \n

    :::

    \n'},{name:"get or else(value, default)",description:'

    Camunda Extension

    \n

    Return the provided value parameter if not null, otherwise return the default parameter

    \n

    Function signature

    \n
    get or else(value: Any, default: Any): Any\n
    \n

    Examples

    \n
    get or else("this", "default")\n// "this"\n\nget or else(null, "default")\n// "default"\n\nget or else(null, null)\n// null\n
    \n'},{name:"assert(value, condition)",description:'

    Camunda Extension

    \n

    Verify that the given condition is met. If the condition is true, the function returns the value.\nOtherwise, the evaluation fails with an error.

    \n

    Function signature

    \n
    assert(value: Any, condition: Any)\n
    \n

    Examples

    \n
    assert(x, x != null)\n// "value" - if x is "value"\n// error - if x is null or doesn't exist\n\nassert(x, x >= 0)\n// 4 - if x is 4\n// error - if x is less than zero\n
    \n'},{name:"assert(value, condition, cause)",description:'

    Camunda Extension

    \n

    Verify that the given condition is met. If the condition is true, the function returns the value.\nOtherwise, the evaluation fails with an error containing the given message.

    \n

    Function signature

    \n
    assert(value: Any, condition: Any, cause: String)\n
    \n

    Examples

    \n
    assert(x, x != null, "'x' should not be null")\n// "value" - if x is "value"\n// error('x' should not be null) - if x is null or doesn't exist\n\nassert(x, x >= 0, "'x' should be positive")\n// 4 - if x is 4\n// error('x' should be positive) - if x is less than zero\n
    \n'},{name:"get value(context, key)",description:'

    Returns the value of the context entry with the given key.

    \n

    Function signature

    \n
    get value(context: context, key: string): Any\n
    \n

    Examples

    \n
    get value({foo: 123}, "foo")\n// 123\n\nget value({a: 1}, "b")\n// null\n
    \n'},{name:"get value(context, keys)",description:'

    Camunda Extension

    \n

    Returns the value of the context entry for a context path defined by the given keys.

    \n

    If keys contains the keys [k1, k2] then it returns the value at the nested entry k1.k2 of the context.

    \n

    If keys are empty or the nested entry defined by the keys doesn't exist in the context, it returns null.

    \n

    Function signature

    \n
    get value(context: context, keys: list<string>): Any\n
    \n

    Examples

    \n
    get value({x:1, y: {z:0}}, ["y", "z"])\n// 0\n\nget value({x: {y: {z:0}}}, ["x", "y"])\n// {z:0}\n\nget value({a: {b: 3}}, ["b"])\n// null\n
    \n'},{name:"get entries(context)",description:'

    Returns the entries of the context as a list of key-value-pairs.

    \n

    Function signature

    \n
    get entries(context: context): list<context>\n
    \n

    The return value is a list of contexts. Each context contains two entries for "key" and "value".

    \n

    Examples

    \n
    get entries({foo: 123})\n// [{key: "foo", value: 123}]\n
    \n'},{name:"context put(context, key, value)",description:'

    Adds a new entry with the given key and value to the context. Returns a new context that includes the entry.

    \n

    If an entry for the same key already exists in the context, it overrides the value.

    \n

    Function signature

    \n
    context put(context: context, key: string, value: Any): context\n
    \n

    Examples

    \n
    context put({x:1}, "y", 2)\n// {x:1, y:2}\n
    \n

    :::info\nThe function context put() replaced the previous function put() (Camunda Extension). The\nprevious function is deprecated and should not be used anymore.\n:::

    \n'},{name:"context put(context, keys, value)",description:'

    Adds a new entry with the given value to the context. The path of the entry is defined by the keys. Returns a new context that includes the entry.

    \n

    If keys contains the keys [k1, k2] then it adds the nested entry k1.k2 = value to the context.

    \n

    If an entry for the same keys already exists in the context, it overrides the value.

    \n

    If keys are empty, it returns null.

    \n

    Function signature

    \n
    context put(context: context, keys: list<string>, value: Any): context\n
    \n

    Examples

    \n
    context put({x:1}, ["y"], 2)\n// {x:1, y:2}\n\ncontext put({x:1, y: {z:0}}, ["y", "z"], 2)\n// {x:1, y: {z:2}}\n\ncontext put({x:1}, ["y", "z"], 2)\n// {x:1, y: {z:2}}\n
    \n'},{name:"context merge(contexts)",description:'

    Union the given contexts. Returns a new context that includes all entries of the given contexts.

    \n

    If an entry for the same key already exists in a context, it overrides the value. The entries are overridden in the same order as in the list of contexts.

    \n

    Function signature

    \n
    context merge(contexts: list<context>): context\n
    \n

    Examples

    \n
    context merge([{x:1}, {y:2}])\n// {x:1, y:2}\n\ncontext merge([{x:1, y: 0}, {y:2}])\n// {x:1, y:2}\n
    \n

    :::info\nThe function context merge() replaced the previous function put all() (Camunda Extension). The\nprevious function is deprecated and should not be used anymore.\n:::

    \n'},{name:"string(from)",description:'

    Returns the given value as a string representation.

    \n

    Function signature

    \n
    string(from: Any): string\n
    \n

    Examples

    \n
    string(1.1)\n// "1.1"\n\nstring(date("2012-12-25"))\n// "2012-12-25"\n
    \n'},{name:"number(from)",description:'

    Parses the given string to a number.

    \n

    Function signature

    \n
    number(from: string): number\n
    \n

    Examples

    \n
    number("1500.5")\n// 1500.5\n
    \n'},{name:"context(entries)",description:'

    Constructs a context of the given list of key-value pairs. It is the reverse function to get entries().

    \n

    Each key-value pair must be a context with two entries: key and value. The entry with name key must have a value of the type string.

    \n

    It might override context entries if the keys are equal. The entries are overridden in the same order as the contexts in the given list.

    \n

    Returns null if one of the entries is not a context or if a context doesn't contain the required entries.

    \n

    Function signature

    \n
    context(entries: list<context>): context\n
    \n

    Examples

    \n
    context([{"key":"a", "value":1}, {"key":"b", "value":2}])\n// {a:1, b:2}\n
    \n'},{name:"date(from)",description:'

    Returns a date from the given value.

    \n

    Function signature

    \n
    date(from: string): date\n
    \n

    Parses the given string into a date.

    \n
    date(from: date and time): date\n
    \n

    Extracts the date component from the given date and time.

    \n

    Examples

    \n
    date("2018-04-29")\n// date("2018-04-29")\n\ndate(date and time("2012-12-25T11:00:00"))\n// date("2012-12-25")\n
    \n'},{name:"date(year, month, day)",description:'

    Returns a date from the given components.

    \n

    Function signature

    \n
    date(year: number, month: number, day: number): date\n
    \n

    Examples

    \n
    date(2012, 12, 25)\n// date("2012-12-25")\n
    \n'},{name:"time(from)",description:'

    Returns a time from the given value.

    \n

    Function signature

    \n
    time(from: string): time\n
    \n

    Parses the given string into a time.

    \n
    time(from: date and time): time\n
    \n

    Extracts the time component from the given date and time.

    \n

    Examples

    \n
    time("12:00:00")\n// time("12:00:00")\n\ntime(date and time("2012-12-25T11:00:00"))\n// time("11:00:00")\n
    \n'},{name:"time(hour, minute, second)",description:'

    Returns a time from the given components.

    \n

    Function signature

    \n
    time(hour: number, minute: number, second: number): time\n
    \n

    Examples

    \n
    time(23, 59, 0)\n// time("23:59:00")\n
    \n'},{name:"time(hour, minute, second, offset)",description:'

    Returns a time from the given components, including a timezone offset.

    \n

    Function signature

    \n
    time(hour: number, minute: number, second: number, offset: days and time duration): time\n
    \n

    Examples

    \n
    time(14, 30, 0, duration("PT1H"))\n// time("14:30:00+01:00")\n
    \n'},{name:"date and time(from)",description:'

    Parses the given string into a date and time.

    \n

    Function signature

    \n
    date and time(from: string): date and time\n
    \n

    Examples

    \n
    date and time("2018-04-29T09:30:00")\n// date and time("2018-04-29T09:30:00")\n
    \n'},{name:"date and time(date, time)",description:'

    Returns a date and time from the given components.

    \n

    Function signature

    \n
    date and time(date: date, time: time): date and time\n
    \n
    date and time(date: date and time, time: time): date and time\n
    \n

    Returns a date and time value that consists of the date component of date combined with time.

    \n

    Examples

    \n
    date and time(date("2012-12-24"),time("T23:59:00"))\n// date and time("2012-12-24T23:59:00")\n\ndate and time(date and time("2012-12-25T11:00:00"),time("T23:59:00"))\n// date and time("2012-12-25T23:59:00")\n
    \n'},{name:"date and time(date, timezone)",description:'

    Camunda Extension

    \n

    Returns the given date and time value at the given timezone.

    \n

    If date has a different timezone than timezone then it adjusts the time to match the local time of timezone.

    \n

    Function signature

    \n
    date and time(date: date and time, timezone: string): date and time\n
    \n

    Examples

    \n
    date and time(@"2020-07-31T14:27:30@Europe/Berlin", "America/Los_Angeles")\n// date and time("2020-07-31T05:27:30@America/Los_Angeles")\n\ndate and time(@"2020-07-31T14:27:30", "Z")\n// date and time("2020-07-31T12:27:30Z")\n
    \n'},{name:"duration(from)",description:'

    Parses the given string into a duration. The duration is either a days and time duration or a years and months duration.

    \n

    Function signature

    \n
    duration(from: string): days and time duration\n
    \n
    duration(from: string): years and months duration\n
    \n

    Examples

    \n
    duration("P5D")\n// duration("P5D")\n\nduration("P32Y")\n// duration("P32Y")\n
    \n'},{name:"years and months duration(from, to)",description:'

    Returns the years and months duration between from and to.

    \n

    Function signature

    \n
    years and months duration(from: date, to: date): years and months duration\n
    \n

    Examples

    \n
    years and months duration(date("2011-12-22"), date("2013-08-24"))\n// duration("P1Y8M")\n
    \n'},{name:"list contains(list, element)",description:'

    Returns true if the given list contains the element. Otherwise, returns false.

    \n

    Function signature

    \n
    list contains(list: list, element: Any): boolean\n
    \n

    Examples

    \n
    list contains([1,2,3], 2)\n// true\n
    \n'},{name:"count(list)",description:'

    Returns the number of elements of the given list.

    \n

    Function signature

    \n
    count(list: list): number\n
    \n

    Examples

    \n
    count([1,2,3])\n// 3\n
    \n'},{name:"min(list)",description:'

    Returns the minimum of the given list.

    \n

    Function signature

    \n
    min(list: list): Any\n
    \n

    All elements in list should have the same type and be comparable.

    \n

    The parameter list can be passed as a list or as a sequence of elements.

    \n

    Examples

    \n
    min([1,2,3])\n// 1\n\nmin(1,2,3)\n// 1\n
    \n'},{name:"max(list)",description:'

    Returns the maximum of the given list.

    \n

    Function signature

    \n
    max(list: list): Any\n
    \n

    All elements in list should have the same type and be comparable.

    \n

    The parameter list can be passed as a list or as a sequence of elements.

    \n

    Examples

    \n
    max([1,2,3])\n// 3\n\nmax(1,2,3)\n// 3\n
    \n'},{name:"sum(list)",description:'

    Returns the sum of the given list of numbers.

    \n

    Function signature

    \n
    sum(list: list<number>): number\n
    \n

    The parameter list can be passed as a list or as a sequence of elements.

    \n

    Examples

    \n
    sum([1,2,3])\n// 6\n\nsum(1,2,3)\n// 6\n
    \n'},{name:"product(list)",description:'

    Returns the product of the given list of numbers.

    \n

    Function signature

    \n
    product(list: list<number>): number\n
    \n

    The parameter list can be passed as a list or as a sequence of elements.

    \n

    Examples

    \n
    product([2, 3, 4])\n// 24\n\nproduct(2, 3, 4)\n// 24\n
    \n'},{name:"mean(list)",description:'

    Returns the arithmetic mean (i.e. average) of the given list of numbers.

    \n

    Function signature

    \n
    mean(list: list<number>): number\n
    \n

    The parameter list can be passed as a list or as a sequence of elements.

    \n

    Examples

    \n
    mean([1,2,3])\n// 2\n\nmean(1,2,3)\n// 2\n
    \n'},{name:"median(list)",description:'

    Returns the median element of the given list of numbers.

    \n

    Function signature

    \n
    median(list: list<number>): number\n
    \n

    The parameter list can be passed as a list or as a sequence of elements.

    \n

    Examples

    \n
    median(8, 2, 5, 3, 4)\n// 4\n\nmedian([6, 1, 2, 3])\n// 2.5\n
    \n'},{name:"stddev(list)",description:'

    Returns the standard deviation of the given list of numbers.

    \n

    Function signature

    \n
    stddev(list: list<number>): number\n
    \n

    The parameter list can be passed as a list or as a sequence of elements.

    \n

    Examples

    \n
    stddev(2, 4, 7, 5)\n// 2.0816659994661326\n\nstddev([2, 4, 7, 5])\n// 2.0816659994661326\n
    \n'},{name:"mode(list)",description:'

    Returns the mode of the given list of numbers.

    \n

    Function signature

    \n
    mode(list: list<number>): number\n
    \n

    The parameter list can be passed as a list or as a sequence of elements.

    \n

    Examples

    \n
    mode(6, 3, 9, 6, 6)\n// [6]\n\nmode([6, 1, 9, 6, 1])\n// [1, 6]\n
    \n'},{name:"all(list)",description:'

    Returns false if any element of the given list is false. Otherwise, returns true.

    \n

    If the given list is empty, it returns true.

    \n

    Function signature

    \n
    all(list: list<boolean>): boolean\n
    \n

    The parameter list can be passed as a list or as a sequence of elements.

    \n

    Examples

    \n
    all([true,false])\n// false\n\nall(false,null,true)\n// false\n
    \n

    :::info\nThe function all() replaced the previous function and(). The previous function is deprecated and\nshould not be used anymore.\n:::

    \n'},{name:"any(list)",description:'

    Returns true if any element of the given list is true. Otherwise, returns false.

    \n

    If the given list is empty, it returns false.

    \n

    Function signature

    \n
    any(list: list<boolean>): boolean\n
    \n

    The parameter list can be passed as a list or as a sequence of elements.

    \n

    Examples

    \n
    any([false,true])\n// true\n\nany(false,null,true)\n// true\n
    \n

    :::info\nThe function any() replaced the previous function or(). The previous function is deprecated and\nshould not be used anymore.\n:::

    \n'},{name:"sublist(list, start position)",description:'

    Returns a partial list of the given value starting at start position.

    \n

    Function signature

    \n
    sublist(list: list, start position: number): list\n
    \n

    The start position starts at the index 1. The last position is -1.

    \n

    Examples

    \n
    sublist([1,2,3], 2)\n// [2,3]\n
    \n'},{name:"sublist(list, start position, length)",description:'

    Returns a partial list of the given value starting at start position.

    \n

    Function signature

    \n
    sublist(list: list, start position: number, length: number): list\n
    \n

    The start position starts at the index 1. The last position is -1.

    \n

    Examples

    \n
    sublist([1,2,3], 1, 2)\n// [1,2]\n
    \n'},{name:"append(list, items)",description:'

    Returns the given list with all items appended.

    \n

    Function signature

    \n
    append(list: list, items: Any): list\n
    \n

    The parameter items can be a single element or a sequence of elements.

    \n

    Examples

    \n
    append([1], 2, 3)\n// [1,2,3]\n
    \n'},{name:"concatenate(lists)",description:'

    Returns a list that includes all elements of the given lists.

    \n

    Function signature

    \n
    concatenate(lists: list): list\n
    \n

    The parameter lists is a sequence of lists.

    \n

    Examples

    \n
    concatenate([1,2],[3])\n// [1,2,3]\n\nconcatenate([1],[2],[3])\n// [1,2,3]\n
    \n'},{name:"insert before(list, position, newItem)",description:'

    Returns the given list with newItem inserted at position.

    \n

    Function signature

    \n
    insert before(list: list, position: number, newItem: Any): list\n
    \n

    The position starts at the index 1. The last position is -1.

    \n

    Examples

    \n
    insert before([1,3],1,2)\n// [2,1,3]\n
    \n'},{name:"remove(list, position)",description:'

    Returns the given list without the element at position.

    \n

    Function signature

    \n
    remove(list: list, position: number): list\n
    \n

    The position starts at the index 1. The last position is -1.

    \n

    Examples

    \n
    remove([1,2,3], 2)\n// [1,3]\n
    \n'},{name:"reverse(list)",description:'

    Returns the given list in revered order.

    \n

    Function signature

    \n
    reverse(list: list): list\n
    \n

    Examples

    \n
    reverse([1,2,3])\n// [3,2,1]\n
    \n'},{name:"index of(list, match)",description:'

    Returns an ascending list of positions containing match.

    \n

    Function signature

    \n
    index of(list: list, match: Any): list<number>\n
    \n

    Examples

    \n
    index of([1,2,3,2],2)\n// [2,4]\n
    \n'},{name:"union(list)",description:'

    Returns a list that includes all elements of the given lists without duplicates.

    \n

    Function signature

    \n
    union(list: list): list\n
    \n

    The parameter list is a sequence of lists.

    \n

    Examples

    \n
    union([1,2],[2,3])\n// [1,2,3]\n
    \n'},{name:"distinct values(list)",description:'

    Returns the given list without duplicates.

    \n

    Function signature

    \n
    distinct values(list: list): list\n
    \n

    Examples

    \n
    distinct values([1,2,3,2,1])\n// [1,2,3]\n
    \n'},{name:"duplicate values(list)",description:'

    Camunda Extension

    \n

    Returns all duplicate values of the given list.

    \n

    Function signature

    \n
    duplicate values(list: list): list\n
    \n

    Examples

    \n
    duplicate values([1,2,3,2,1])\n// [1,2]\n
    \n'},{name:"flatten(list)",description:'

    Returns a list that includes all elements of the given list without nested lists.

    \n

    Function signature

    \n
    flatten(list: list): list\n
    \n

    Examples

    \n
    flatten([[1,2],[[3]], 4])\n// [1,2,3,4]\n
    \n'},{name:"sort(list, precedes)",description:'

    Returns the given list sorted by the precedes function.

    \n

    Function signature

    \n
    sort(list: list, precedes: function<(Any, Any) -> boolean>): list\n
    \n

    Examples

    \n
    sort(list: [3,1,4,5,2], precedes: function(x,y) x < y)\n// [1,2,3,4,5]\n
    \n'},{name:"string join(list)",description:'

    Joins a list of strings into a single string. This is similar to\nJava's joining\nfunction.

    \n

    If an item of the list is null, the item is ignored for the result string. If an item is\nneither a string nor null, the function returns null instead of a string.

    \n

    Function signature

    \n
    string join(list: list<string>): string\n
    \n

    Examples

    \n
    string join(["a","b","c"])\n// "abc"\n\nstring join(["a",null,"c"])\n// "ac"\n\nstring join([])\n// ""\n
    \n'},{name:"string join(list, delimiter)",description:'

    Joins a list of strings into a single string. This is similar to\nJava's joining\nfunction.

    \n

    If an item of the list is null, the item is ignored for the result string. If an item is\nneither a string nor null, the function returns null instead of a string.

    \n

    The resulting string contains a delimiter between each element.

    \n

    Function signature

    \n
    string join(list: list<string>, delimiter: string): string\n
    \n

    Examples

    \n
    string join(["a"], "X")\n// "a"\n\nstring join(["a","b","c"], ", ")\n// "a, b, c"\n
    \n'},{name:"string join(list, delimiter, prefix, suffix)",description:'

    Camunda Extension

    \n

    Joins a list of strings into a single string. This is similar to\nJava's joining\nfunction.

    \n

    If an item of the list is null, the item is ignored for the result string. If an item is\nneither a string nor null, the function returns null instead of a string.

    \n

    The resulting string starts with prefix, contains a delimiter between each element, and ends\nwith suffix.

    \n

    Function signature

    \n
    string join(list: list<string>, delimiter: string, prefix: string, suffix: string): string\n
    \n

    Examples

    \n
    string join(["a","b","c"], ", ", "[", "]")\n// "[a, b, c]"\n
    \n'},{name:"decimal(n, scale)",description:'

    Rounds the given value at the given scale.

    \n

    Function signature

    \n
    decimal(n: number, scale: number): number\n
    \n

    Examples

    \n
    decimal(1/3, 2)\n// .33\n\ndecimal(1.5, 0)\n// 2\n
    \n'},{name:"floor(n)",description:'

    Rounds the given value with rounding mode flooring.

    \n

    Function signature

    \n
    floor(n: number): number\n
    \n

    Examples

    \n
    floor(1.5)\n// 1\n\nfloor(-1.5)\n// -2\n
    \n'},{name:"floor(n, scale)",description:'

    Rounds the given value with rounding mode flooring at the given scale.

    \n

    Function signature

    \n
    floor(n: number, scale: number): number\n
    \n

    Examples

    \n
    floor(-1.56, 1)\n// -1.6\n
    \n'},{name:"ceiling(n)",description:'

    Rounds the given value with rounding mode ceiling.

    \n

    Function signature

    \n
    ceiling(n: number): number\n
    \n

    Examples

    \n
    ceiling(1.5)\n// 2\n\nceiling(-1.5)\n// -1\n
    \n'},{name:"ceiling(n, scale)",description:'

    Rounds the given value with rounding mode ceiling at the given scale.

    \n

    Function signature

    \n
    ceiling(n: number, scale: number): number\n
    \n

    Examples

    \n
    ceiling(-1.56, 1)\n// -1.5\n
    \n'},{name:"round up(n, scale)",description:'

    Rounds the given value with the rounding mode round-up at the given scale.

    \n

    Function signature

    \n
    round up(n: number, scale: number): number\n
    \n

    Examples

    \n
    round up(5.5)\n// 6\n\nround up(-5.5)\n// -6\n\nround up(1.121, 2)\n// 1.13\n\nround up(-1.126, 2)\n// -1.13\n
    \n'},{name:"round down(n, scale)",description:'

    Rounds the given value with the rounding mode round-down at the given scale.

    \n

    Function signature

    \n
    round down(n: number, scale: number): number\n
    \n

    Examples

    \n
    round down(5.5, 0)\n// 5\n\nround down (-5.5, 0)\n// -5\n\nround down (1.121, 2)\n// 1.12\n\nround down (-1.126, 2)\n// -1.12\n
    \n'},{name:"round half up(n, scale)",description:'

    Rounds the given value with the rounding mode round-half-up at the given scale.

    \n

    Function signature

    \n
    round half up(n: number, scale: number): number\n
    \n

    Examples

    \n
    round half up(5.5, 0)\n// 6\n\nround half up(-5.5, 0)\n// -6\n\nround half up(1.121, 2)\n// 1.12\n\nround half up(-1.126, 2)\n// -1.13\n
    \n'},{name:"round half down(n, scale)",description:'

    Rounds the given value with the rounding mode round-half-down at the given scale.

    \n

    Function signature

    \n
    round half down(n: number, scale: number): number\n
    \n

    Examples

    \n
    round half down (5.5, 0)\n// 5\n\nround half down (-5.5, 0)\n// -5\n\nround half down (1.121, 2)\n// 1.12\n\nround half down (-1.126, 2)\n// -1.13\n
    \n'},{name:"abs(number)",description:'

    Returns the absolute value of the given numeric value.

    \n

    Function signature

    \n
    abs(number: number): number\n
    \n

    Examples

    \n
    abs(10)\n// 10\n\nabs(-10)\n// 10\n
    \n'},{name:"modulo(dividend, divisor)",description:'

    Returns the remainder of the division of dividend by divisor.

    \n

    Function signature

    \n
    modulo(dividend: number, divisor: number): number\n
    \n

    Examples

    \n
    modulo(12, 5)\n// 2\n
    \n'},{name:"sqrt(number)",description:'

    Returns the square root of the given value.

    \n

    Function signature

    \n
    sqrt(number: number): number\n
    \n

    Examples

    \n
    sqrt(16)\n// 4\n
    \n'},{name:"log(number)",description:'

    Returns the natural logarithm (base e) of the given value.

    \n

    Function signature

    \n
    log(number: number): number\n
    \n

    Examples

    \n
    log(10)\n// 2.302585092994046\n
    \n'},{name:"exp(number)",description:'

    Returns the Euler’s number e raised to the power of the given number .

    \n

    Function signature

    \n
    exp(number: number): number\n
    \n

    Examples

    \n
    exp(5)\n// 148.4131591025766\n
    \n'},{name:"odd(number)",description:'

    Returns true if the given value is odd. Otherwise, returns false.

    \n

    Function signature

    \n
    odd(number: number): boolean\n
    \n

    Examples

    \n
    odd(5)\n// true\n\nodd(2)\n// false\n
    \n'},{name:"even(number)",description:'

    Returns true if the given is even. Otherwise, returns false.

    \n

    Function signature

    \n
    even(number: number): boolean\n
    \n

    Examples

    \n
    even(5)\n// false\n\neven(2)\n// true\n
    \n'},{name:"random number()",description:'

    Camunda Extension

    \n

    Returns a random number between 0 and 1.

    \n

    Function signature

    \n
    random number(): number\n
    \n

    Examples

    \n
    random number()\n// 0.9701618132579795\n
    \n'},{name:"before(point1, point2)",description:'

    Function signature

    \n
    before(point1: Any, point2: Any): boolean\n
    \n

    Examples

    \n
    before(1, 10)\n// true\n\nbefore(10, 1)\n// false\n
    \n'},{name:"before(range, point)",description:'

    Function signature

    \n
    before(range: range, point: Any): boolean\n
    \n

    Examples

    \n
    before([1..5], 10)\n// true\n
    \n'},{name:"before(point, range)",description:'

    Function signature

    \n
    before(point: Any, range: range): boolean\n
    \n

    Examples

    \n
    before(1, [2..5])\n// true\n
    \n'},{name:"before(range1, range2)",description:'

    Function signature

    \n
    before(range1: range, range2: range): boolean\n
    \n

    Examples

    \n
    before([1..5], [6..10])\n// true\n\nbefore([1..5),[5..10])\n// true\n
    \n'},{name:"after(point1, point2)",description:'

    Function signature

    \n
    after(point1: Any, point2: Any): boolean\n
    \n

    Examples

    \n
    after(10, 1)\n// true\n\nafter(1, 10)\n// false\n
    \n'},{name:"after(range, point)",description:'

    Function signature

    \n
    after(range: range, point: Any): boolean\n
    \n

    Examples

    \n
    after([1..5], 10)\n// false\n
    \n'},{name:"after(point, range)",description:'

    Function signature

    \n
    after(point: Any, range: range): boolean\n
    \n

    Examples

    \n
    after(12, [2..5])\n// true\n
    \n'},{name:"after(range1, range2)",description:'

    Function signature

    \n
    after(range1: range, range2: range): boolean\n
    \n

    Examples

    \n
    after([6..10], [1..5])\n// true\n\nafter([5..10], [1..5))\n// true\n
    \n'},{name:"meets(range1, range2)",description:'

    Function signature

    \n
    meets(range1: range, range2: range): boolean\n
    \n

    Examples

    \n
    meets([1..5], [5..10])\n// true\n\nmeets([1..3], [4..6])\n// false\n\nmeets([1..3], [3..5])\n// true\n\nmeets([1..5], (5..8])\n// false\n
    \n'},{name:"met by(range1, range2)",description:'

    Function signature

    \n
    met by(range1: range, range2: range): boolean\n
    \n

    Examples

    \n
    met by([5..10], [1..5])\n// true\n\nmet by([3..4], [1..2])\n// false\n\nmet by([3..5], [1..3])\n// true\n\nmet by((5..8], [1..5))\n// false\n\nmet by([5..10], [1..5))\n// false\n
    \n'},{name:"overlaps(range1, range2)",description:'

    Function signature

    \n
    overlaps(range1: range, range2: range): boolean\n
    \n

    Examples

    \n
    overlaps([5..10], [1..6])\n// true\n\noverlaps((3..7], [1..4])\n// true\n\noverlaps([1..3], (3..6])\n// false\n\noverlaps((5..8], [1..5))\n// false\n\noverlaps([4..10], [1..5))\n// true\n
    \n'},{name:"overlaps before(range1, range2)",description:'

    Function signature

    \n
    overlaps before(range1: range, range2: range): boolean\n
    \n

    Examples

    \n
    overlaps before([1..5], [4..10])\n// true\n\noverlaps before([3..4], [1..2])\n// false\n\noverlaps before([1..3], (3..5])\n// false\n\noverlaps before([1..5), (3..8])\n// true\n\noverlaps before([1..5), [5..10])\n// false\n
    \n'},{name:"overlaps after(range1, range2)",description:'

    Function signature

    \n
    overlaps after(range1: range, range2: range): boolean\n
    \n

    Examples

    \n
    overlaps after([4..10], [1..5])\n// true\n\noverlaps after([3..4], [1..2])\n// false\n\noverlaps after([3..5], [1..3))\n// false\n\noverlaps after((5..8], [1..5))\n// false\n\noverlaps after([4..10], [1..5))\n// true\n
    \n'},{name:"finishes(point, range)",description:'

    Function signature

    \n
    finishes(point: Any, range: range): boolean\n
    \n

    Examples

    \n
    finishes(5, [1..5])\n// true\n\nfinishes(10, [1..7])\n// false\n
    \n'},{name:"finishes(range1, range2)",description:'

    Function signature

    \n
    finishes(range1: range, range2: range): boolean\n
    \n

    Examples

    \n
    finishes([3..5], [1..5])\n// true\n\nfinishes((1..5], [1..5))\n// false\n\nfinishes([5..10], [1..10))\n// false\n
    \n'},{name:"finished by(range, point)",description:'

    Function signature

    \n
    finished by(range: range, point: Any): boolean\n
    \n

    Examples

    \n
    finished by([5..10], 10)\n// true\n\nfinished by([3..4], 2)\n// false\n
    \n'},{name:"finished by(range1, range2)",description:'

    Function signature

    \n
    finished by(range1: range, range2: range): boolean\n
    \n

    Examples

    \n
    finished by([1..5], [3..5])\n// true\n\nfinished by((5..8], [1..5))\n// false\n\nfinished by([5..10], (1..10))\n// false\n
    \n'},{name:"includes(range, point)",description:'

    Function signature

    \n
    includes(range: range, point: Any): boolean\n
    \n

    Examples

    \n
    includes([5..10], 6)\n// true\n\nincludes([3..4], 5)\n// false\n
    \n'},{name:"includes(range1, range2)",description:'

    Function signature

    \n
    includes(range1: range, range2: range): boolean\n
    \n

    Examples

    \n
    includes([1..10], [4..6])\n// true\n\nincludes((5..8], [1..5))\n// false\n\nincludes([1..10], [1..5))\n// true\n
    \n'},{name:"during(point, range)",description:'

    Function signature

    \n
    during(point: Any, range: range): boolean\n
    \n

    Examples

    \n
    during(5, [1..10])\n// true\n\nduring(12, [1..10])\n// false\n\nduring(1, (1..10])\n// false\n
    \n'},{name:"during(range1, range2)",description:'

    Function signature

    \n
    during(range1: range, range2: range): boolean\n
    \n

    Examples

    \n
    during([4..6], [1..10))\n// true\n\nduring((1..5], (1..10])\n// true\n
    \n'},{name:"starts(point, range)",description:'

    Function signature

    \n
    starts(point: Any, range: range): boolean\n
    \n

    Examples

    \n
    starts(1, [1..5])\n// true\n\nstarts(1, (1..8])\n// false\n
    \n'},{name:"starts(range1, range2)",description:'

    Function signature

    \n
    starts(range1: range, range2: range): boolean\n
    \n

    Examples

    \n
    starts((1..5], [1..5])\n// false\n\nstarts([1..10], [1..5])\n// false\n\nstarts((1..5), (1..10))\n// true\n
    \n'},{name:"started by(range, point)",description:'

    Function signature

    \n
    started by(range: range, point: Any): boolean\n
    \n

    Examples

    \n
    started by([1..10], 1)\n// true\n\nstarted by((1..10], 1)\n// false\n
    \n'},{name:"started by(range1, range2)",description:'

    Function signature

    \n
    started by(range1: range, range2: range): boolean\n
    \n

    Examples

    \n
    started by([1..10], [1..5])\n// true\n\nstarted by((1..10], [1..5))\n// false\n\nstarted by([1..10], [1..10))\n// true\n
    \n'},{name:"coincides(point1, point2)",description:'

    Function signature

    \n
    coincides(point1: Any, point2: Any): boolean\n
    \n

    Examples

    \n
    coincides(5, 5)\n// true\n\ncoincides(3, 4)\n// false\n
    \n'},{name:"coincides(range1, range2)",description:'

    Function signature

    \n
    coincides(range1: range, range2: range): boolean\n
    \n

    Examples

    \n
    coincides([1..5], [1..5])\n// true\n\ncoincides((1..5], [1..5))\n// false\n\ncoincides([1..5], [2..6])\n// false\n
    \n'},{name:"substring(string, start position)",description:'

    Returns a substring of the given value starting at start position.

    \n

    Function signature

    \n
    substring(string: string, start position: number): string\n
    \n

    The start position starts at the index 1. The last position is -1.

    \n

    Examples

    \n
    substring("foobar", 3)\n// "obar"\n
    \n'},{name:"substring(string, start position, length)",description:'

    Returns a substring of the given value starting at start position.

    \n

    Function signature

    \n
    substring(string: string, start position: number, length: number): string\n
    \n

    The start position starts at the index 1. The last position is -1.

    \n

    Examples

    \n
    substring("foobar", 3, 3)\n// "oba"\n
    \n'},{name:"string length(string)",description:'

    Returns the number of characters in the given value.

    \n

    Function signature

    \n
    string length(string: string): number\n
    \n

    Examples

    \n
    string length("foo")\n// 3\n
    \n'},{name:"upper case(string)",description:'

    Returns the given value with all characters are uppercase.

    \n

    Function signature

    \n
    upper case(string: string): string\n
    \n

    Examples

    \n
    upper case("aBc4")\n// "ABC4"\n
    \n'},{name:"lower case(string)",description:'

    Returns the given value with all characters are lowercase.

    \n

    Function signature

    \n
    lower case(string: string): string\n
    \n

    Examples

    \n
    lower case("aBc4")\n// "abc4"\n
    \n'},{name:"substring before(string, match)",description:'

    Returns a substring of the given value that contains all characters before match.

    \n

    Function signature

    \n
    substring before(string: string, match: string): string\n
    \n

    Examples

    \n
    substring before("foobar", "bar")\n// "foo"\n
    \n'},{name:"substring after(string, match)",description:'

    Returns a substring of the given value that contains all characters after match.

    \n

    Function signature

    \n
    substring after(string: string, match: string): string\n
    \n

    Examples

    \n
    substring after("foobar", "ob")\n// "ar"\n
    \n'},{name:"contains(string, match)",description:'

    Returns true if the given value contains the substring match. Otherwise, returns false.

    \n

    Function signature

    \n
    contains(string: string, match: string): boolean\n
    \n

    Examples

    \n
    contains("foobar", "of")\n// false\n
    \n'},{name:"starts with(string, match)",description:'

    Returns true if the given value starts with the substring match. Otherwise, returns false.

    \n

    Function signature

    \n
    starts with(string: string, match: string): boolean\n
    \n

    Examples

    \n
    starts with("foobar", "fo")\n// true\n
    \n'},{name:"ends with(string, match)",description:'

    Returns true if the given value ends with the substring match. Otherwise, returns false.

    \n

    Function signature

    \n
    ends with(string: string, match: string): boolean\n
    \n

    Examples

    \n
    ends with("foobar", "r")\n// true\n
    \n'},{name:"matches(input, pattern)",description:'

    Returns true if the given value matches the pattern. Otherwise, returns false.

    \n

    Function signature

    \n
    matches(input: string, pattern: string): boolean\n
    \n

    The pattern is a string that contains a regular expression.

    \n

    Examples

    \n
    matches("foobar", "^fo*bar")\n// true\n
    \n'},{name:"matches(input, pattern, flags)",description:'

    Returns true if the given value matches the pattern. Otherwise, returns false.

    \n

    Function signature

    \n
    matches(input: string, pattern: string, flags: string): boolean\n
    \n

    The pattern is a string that contains a regular expression.

    \n

    The flags can contain one or more of the following characters:

    \n
      \n
    • s (dot-all)
    • \n
    • m (multi-line)
    • \n
    • i (case insensitive)
    • \n
    • x (comments)
    • \n
    \n

    Examples

    \n
    matches("FooBar", "foo", "i")\n// true\n
    \n'},{name:"replace(input, pattern, replacement)",description:'

    Returns the resulting string after replacing all occurrences of pattern with replacement.

    \n

    Function signature

    \n
    replace(input: string, pattern: string, replacement: string): string\n
    \n

    The pattern is a string that contains a regular expression.

    \n

    The replacement can access the match groups by using $ and the number of the group, for example,\n$1 to access the first group.

    \n

    Examples

    \n
    replace("abcd", "(ab)|(a)", "[1=$1][2=$2]")\n// "[1=ab][2=]cd"\n\nreplace("0123456789", "(\\d{3})(\\d{3})(\\d{4})", "($1) $2-$3")\n// "(012) 345-6789"\n
    \n'},{name:"replace(input, pattern, replacement, flags)",description:'

    Returns the resulting string after replacing all occurrences of pattern with replacement.

    \n

    Function signature

    \n
    replace(input: string, pattern: string, replacement: string, flags: string): string\n
    \n

    The pattern is a string that contains a regular expression.

    \n

    The replacement can access the match groups by using $ and the number of the group, for example,\n$1 to access the first group.

    \n

    The flags can contain one or more of the following characters:

    \n
      \n
    • s (dot-all)
    • \n
    • m (multi-line)
    • \n
    • i (case insensitive)
    • \n
    • x (comments)
    • \n
    \n

    Examples

    \n
    replace("How do you feel?", "Feel", "FEEL", "i")\n// "How do you FEEL?"\n
    \n'},{name:"split(string, delimiter)",description:'

    Splits the given value into a list of substrings, breaking at each occurrence of the delimiter pattern.

    \n

    Function signature

    \n
    split(string: string, delimiter: string): list<string>\n
    \n

    The delimiter is a string that contains a regular expression.

    \n

    Examples

    \n
    split("John Doe", "\\s" )\n// ["John", "Doe"]\n\nsplit("a;b;c;;", ";")\n// ["a", "b", "c", "", ""]\n
    \n'},{name:"extract(string, pattern)",description:'

    Camunda Extension

    \n

    Returns all matches of the pattern in the given string. Returns an empty list if the pattern doesn't\nmatch.

    \n

    Function signature

    \n
    extract(string: string, pattern: string): list<string>\n
    \n

    The pattern is a string that contains a regular expression.

    \n

    Examples

    \n
    extract("references are 1234, 1256, 1378", "12[0-9]*")\n// ["1234","1256"]\n
    \n'},{name:"now()",description:'

    Returns the current date and time including the timezone.

    \n

    Function signature

    \n
    now(): date and time\n
    \n

    Examples

    \n
    now()\n// date and time("2020-07-31T14:27:30@Europe/Berlin")\n
    \n'},{name:"today()",description:'

    Returns the current date.

    \n

    Function signature

    \n
    today(): date\n
    \n

    Examples

    \n
    today()\n// date("2020-07-31")\n
    \n'},{name:"day of week(date)",description:'

    Returns the day of the week according to the Gregorian calendar. Note that it always returns the English name of the day.

    \n

    Function signature

    \n
    day of week(date: date): string\n
    \n
    day of week(date: date and time): string\n
    \n

    Examples

    \n
    day of week(date("2019-09-17"))\n// "Tuesday"\n\nday of week(date and time("2019-09-17T12:00:00"))\n// "Tuesday"\n
    \n'},{name:"day of year(date)",description:'

    Returns the Gregorian number of the day within the year.

    \n

    Function signature

    \n
    day of year(date: date): number\n
    \n
    day of year(date: date and time): number\n
    \n

    Examples

    \n
    day of year(date("2019-09-17"))\n// 260\n\nday of year(date and time("2019-09-17T12:00:00"))\n// 260\n
    \n'},{name:"week of year(date)",description:'

    Returns the Gregorian number of the week within the year, according to ISO 8601.

    \n

    Function signature

    \n
    week of year(date: date): number\n
    \n
    week of year(date: date and time): number\n
    \n

    Examples

    \n
    week of year(date("2019-09-17"))\n// 38\n\nweek of year(date and time("2019-09-17T12:00:00"))\n// 38\n
    \n'},{name:"month of year(date)",description:'

    Returns the month of the year according to the Gregorian calendar. Note that it always returns the English name of the month.

    \n

    Function signature

    \n
    month of year(date: date): string\n
    \n
    month of year(date: date and time): string\n
    \n

    Examples

    \n
    month of year(date("2019-09-17"))\n// "September"\n\nmonth of year(date and time("2019-09-17T12:00:00"))\n// "September"\n
    \n'},{name:"abs(n)",description:'

    Returns the absolute value of a given duration.

    \n

    Function signature

    \n
    abs(n: days and time duration): days and time duration\n
    \n
    abs(n: years and months duration): years and months duration\n
    \n

    Examples

    \n
    abs(duration("-PT5H"))\n// "duration("PT5H")"\n\nabs(duration("PT5H"))\n// "duration("PT5H")"\n\nabs(duration("-P2M"))\n// duration("P2M")\n
    \n'},{name:"last day of month(date)",description:'

    Camunda Extension

    \n

    Takes the month of the given date or date-time value and returns the last day of this month.

    \n

    Function signature

    \n
    last day of month(date: date): date\n
    \n
    last day of month(date: date and time): date\n
    \n

    Examples

    \n
    last day of month(date("2022-10-01"))\n// date("2022-10-31"))\n\nlast day of month(date and time("2022-10-16T12:00:00"))\n// date("2022-10-31"))\n
    \n'}].map((function(e){const{name:t,description:n}=e,i=t.match(/^([\w\s]+)\((.*)\)$/),o=i[1],r=i[2].split(", ").map((e=>({name:e})));return{name:o,type:"function",params:r,info:()=>Kt(`
    ${n}
    `),boost:0}})),Hj=new aP,Vj=new aP;function Wj({extensions:e=[],dialect:t="expression",container:n,contentAttributes:i={},tooltipContainer:o,onChange:r=(()=>{}),onKeyDown:s=(()=>{}),onLint:a=(()=>{}),placeholder:l="",readOnly:c=!1,value:u="",builtins:h=qj,variables:p=[]}){const d=nR.updateListener.of((e=>{e.docChanged&&r(e.state.doc.toString())})),f=nR.updateListener.of((e=>{const t=e.transactions.flatMap((e=>e.effects)).filter((e=>e.is(lI)));if(!t.length)return;const n=t.flatMap((e=>e.value));a(n)})),m=nR.domEventHandlers({keydown:s});"string"==typeof o&&(o=document.querySelector(o));const g=o?wR({tooltipSpace:function(){return o.getBoundingClientRect()}}):[],v=[zN(),Hj.of(jj({dialect:t,builtins:h,variables:p})),rL(),$D(),SN(),nR.contentAttributes.of(i),d,m,uR.of([...tI]),Oj,f,g,Vj.of(vR(l)),Pj,...e];return c&&v.push(nR.editable.of(!1)),this._cmEditor=new nR({state:RP.create({doc:u,extensions:v}),parent:n}),this}Wj.prototype.setValue=function(e){this._cmEditor.dispatch({changes:{from:0,to:this._cmEditor.state.doc.length,insert:e}})},Wj.prototype.focus=function(e){const t=this._cmEditor;if(t.contentDOM.focus(),t.focus(),"number"==typeof e){const n=t.state.doc.length;t.dispatch({selection:{anchor:e<=n?e:n}})}},Wj.prototype.getSelection=function(){return this._cmEditor.state.selection},Wj.prototype.setVariables=function(e){const{dialect:t,builtins:n}={builtins:(i=this._cmEditor.state).facet(Ij)[0],variables:i.facet(Fj)[0],dialect:i.facet($j)[0]};var i;this._cmEditor.dispatch({effects:[Hj.reconfigure(jj({dialect:t,builtins:n,variables:e}))]})},Wj.prototype.setPlaceholder=function(e){this._cmEditor.dispatch({effects:Vj.reconfigure(vR(e))})};var Gj=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],Qj=Gj.join(","),Xj="undefined"==typeof Element,Uj=Xj?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Yj=!Xj&&Element.prototype.getRootNode?function(e){var t;return null==e||null===(t=e.getRootNode)||void 0===t?void 0:t.call(e)}:function(e){return null==e?void 0:e.ownerDocument},Kj=function e(t,n){var i;void 0===n&&(n=!0);var o=null==t||null===(i=t.getAttribute)||void 0===i?void 0:i.call(t,"inert");return""===o||"true"===o||n&&t&&e(t.parentNode)},Zj=function(e,t,n){if(Kj(e))return[];var i=Array.prototype.slice.apply(e.querySelectorAll(Qj));return t&&Uj.call(e,Qj)&&i.unshift(e),i.filter(n)},Jj=function e(t,n,i){for(var o=[],r=Array.from(t);r.length;){var s=r.shift();if(!Kj(s,!1))if("SLOT"===s.tagName){var a=s.assignedElements(),l=e(a.length?a:s.children,!0,i);i.flatten?o.push.apply(o,l):o.push({scopeParent:s,candidates:l})}else{Uj.call(s,Qj)&&i.filter(s)&&(n||!t.includes(s))&&o.push(s);var c=s.shadowRoot||"function"==typeof i.getShadowRoot&&i.getShadowRoot(s),u=!Kj(c,!1)&&(!i.shadowRootFilter||i.shadowRootFilter(s));if(c&&u){var h=e(!0===c?s.children:c.children,!0,i);i.flatten?o.push.apply(o,h):o.push({scopeParent:s,candidates:h})}else r.unshift.apply(r,s.children)}}return o},eq=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},tq=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||function(e){var t,n=null==e||null===(t=e.getAttribute)||void 0===t?void 0:t.call(e,"contenteditable");return""===n||"true"===n}(e))&&!eq(e)?0:e.tabIndex},nq=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},iq=function(e){return"INPUT"===e.tagName},oq=function(e){var t=e.getBoundingClientRect(),n=t.width,i=t.height;return 0===n&&0===i},rq=function(e,t){return!(t.disabled||Kj(t)||function(e){return iq(e)&&"hidden"===e.type}(t)||function(e,t){var n=t.displayCheck,i=t.getShadowRoot;if("hidden"===getComputedStyle(e).visibility)return!0;var o=Uj.call(e,"details>summary:first-of-type")?e.parentElement:e;if(Uj.call(o,"details:not([open]) *"))return!0;if(n&&"full"!==n&&"legacy-full"!==n){if("non-zero-area"===n)return oq(e)}else{if("function"==typeof i){for(var r=e;e;){var s=e.parentElement,a=Yj(e);if(s&&!s.shadowRoot&&!0===i(s))return oq(e);e=e.assignedSlot?e.assignedSlot:s||a===e.ownerDocument?s:a.host}e=r}if(function(e){var t,n,i,o,r=e&&Yj(e),s=null===(t=r)||void 0===t?void 0:t.host,a=!1;if(r&&r!==e)for(a=!!(null!==(n=s)&&void 0!==n&&null!==(i=n.ownerDocument)&&void 0!==i&&i.contains(s)||null!=e&&null!==(o=e.ownerDocument)&&void 0!==o&&o.contains(e));!a&&s;){var l,c,u;a=!(null===(c=s=null===(l=r=Yj(s))||void 0===l?void 0:l.host)||void 0===c||null===(u=c.ownerDocument)||void 0===u||!u.contains(s))}return a}(e))return!e.getClientRects().length;if("legacy-full"!==n)return!0}return!1}(t,e)||function(e){return"DETAILS"===e.tagName&&Array.prototype.slice.apply(e.children).some((function(e){return"SUMMARY"===e.tagName}))}(t)||function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if("FIELDSET"===t.tagName&&t.disabled){for(var n=0;n=0)},lq=function e(t){var n=[],i=[];return t.forEach((function(t,o){var r=!!t.scopeParent,s=r?t.scopeParent:t,a=function(e,t){var n=tq(e);return n<0&&t&&!eq(e)?0:n}(s,r),l=r?e(t.candidates):s;0===a?r?n.push.apply(n,l):n.push(s):i.push({documentOrder:o,tabIndex:a,item:t,isScope:r,content:l})})),i.sort(nq).reduce((function(e,t){return t.isScope?e.push.apply(e,t.content):e.push(t.content),e}),[]).concat(n)},cq=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return!1!==Uj.call(e,Qj)&&sq(t,e)},uq=Gj.concat("iframe").join(","),hq=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return!1!==Uj.call(e,uq)&&rq(t,e)};function pq(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function dq(e){for(var t=1;t1?t-1:0),i=1;i1?n-1:0),s=1;s=0)e=i.activeElement;else{var t=s.tabbableGroups[0];e=t&&t.firstTabbableNode||c("fallbackFocus")}if(!e)throw new Error("Your focus-trap needs to have at least one focusable element");return e},h=function(){if(s.containerGroups=s.containers.map((function(e){var t=function(e,t){var n;return n=(t=t||{}).getShadowRoot?Jj([e],t.includeContainer,{filter:sq.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:aq}):Zj(e,t.includeContainer,sq.bind(null,t)),lq(n)}(e,r.tabbableOptions),n=function(e,t){return(t=t||{}).getShadowRoot?Jj([e],t.includeContainer,{filter:rq.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):Zj(e,t.includeContainer,rq.bind(null,t))}(e,r.tabbableOptions),i=t.length>0?t[0]:void 0,o=t.length>0?t[t.length-1]:void 0,s=n.find((function(e){return cq(e)})),a=n.slice().reverse().find((function(e){return cq(e)})),l=!!t.find((function(e){return tq(e)>0}));return{container:e,tabbableNodes:t,focusableNodes:n,posTabIndexesFound:l,firstTabbableNode:i,lastTabbableNode:o,firstDomTabbableNode:s,lastDomTabbableNode:a,nextTabbableNode:function(e){var i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=t.indexOf(e);return o<0?i?n.slice(n.indexOf(e)+1).find((function(e){return cq(e)})):n.slice(0,n.indexOf(e)).reverse().find((function(e){return cq(e)})):t[o+(i?1:-1)]}}})),s.tabbableGroups=s.containerGroups.filter((function(e){return e.tabbableNodes.length>0})),s.tabbableGroups.length<=0&&!c("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(s.containerGroups.find((function(e){return e.posTabIndexesFound}))&&s.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},p=function e(t){var n=t.activeElement;if(n)return n.shadowRoot&&null!==n.shadowRoot.activeElement?e(n.shadowRoot):n},d=function e(t){!1!==t&&t!==p(document)&&(t&&t.focus?(t.focus({preventScroll:!!r.preventScroll}),s.mostRecentlyFocusedNode=t,function(e){return e.tagName&&"input"===e.tagName.toLowerCase()&&"function"==typeof e.select}(t)&&t.select()):e(u()))},f=function(e){var t=c("setReturnFocus",e);return t||!1!==t&&e},m=function(e){var t=e.target,n=e.event,i=e.isBackward,o=void 0!==i&&i;t=t||wq(n),h();var a=null;if(s.tabbableGroups.length>0){var u=l(t,n),p=u>=0?s.containerGroups[u]:void 0;if(u<0)a=o?s.tabbableGroups[s.tabbableGroups.length-1].lastTabbableNode:s.tabbableGroups[0].firstTabbableNode;else if(o){var d=yq(s.tabbableGroups,(function(e){var n=e.firstTabbableNode;return t===n}));if(d<0&&(p.container===t||hq(t,r.tabbableOptions)&&!cq(t,r.tabbableOptions)&&!p.nextTabbableNode(t,!1))&&(d=u),d>=0){var f=0===d?s.tabbableGroups.length-1:d-1,m=s.tabbableGroups[f];a=tq(t)>=0?m.lastTabbableNode:m.lastDomTabbableNode}else fq(n)||(a=p.nextTabbableNode(t,!1))}else{var g=yq(s.tabbableGroups,(function(e){var n=e.lastTabbableNode;return t===n}));if(g<0&&(p.container===t||hq(t,r.tabbableOptions)&&!cq(t,r.tabbableOptions)&&!p.nextTabbableNode(t))&&(g=u),g>=0){var v=g===s.tabbableGroups.length-1?0:g+1,y=s.tabbableGroups[v];a=tq(t)>=0?y.firstTabbableNode:y.firstDomTabbableNode}else fq(n)||(a=p.nextTabbableNode(t))}}else a=c("fallbackFocus");return a},g=function(e){var t=wq(e);l(t,e)>=0||(bq(r.clickOutsideDeactivates,e)?n.deactivate({returnFocus:r.returnFocusOnDeactivate}):bq(r.allowOutsideClick,e)||e.preventDefault())},v=function(e){var t=wq(e),n=l(t,e)>=0;if(n||t instanceof Document)n&&(s.mostRecentlyFocusedNode=t);else{var i;e.stopImmediatePropagation();var o=!0;if(s.mostRecentlyFocusedNode)if(tq(s.mostRecentlyFocusedNode)>0){var a=l(s.mostRecentlyFocusedNode),c=s.containerGroups[a].tabbableNodes;if(c.length>0){var h=c.findIndex((function(e){return e===s.mostRecentlyFocusedNode}));h>=0&&(r.isKeyForward(s.recentNavEvent)?h+1=0&&(i=c[h-1],o=!1))}}else s.containerGroups.some((function(e){return e.tabbableNodes.some((function(e){return tq(e)>0}))}))||(o=!1);else o=!1;o&&(i=m({target:s.mostRecentlyFocusedNode,isBackward:r.isKeyBackward(s.recentNavEvent)})),d(i||s.mostRecentlyFocusedNode||u())}s.recentNavEvent=void 0},y=function(e){if(!(t=e,"Escape"!==(null==t?void 0:t.key)&&"Esc"!==(null==t?void 0:t.key)&&27!==(null==t?void 0:t.keyCode)||!1===bq(r.escapeDeactivates,e)))return e.preventDefault(),void n.deactivate();var t;(r.isKeyForward(e)||r.isKeyBackward(e))&&function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];s.recentNavEvent=e;var n=m({event:e,isBackward:t});n&&(fq(e)&&e.preventDefault(),d(n))}(e,r.isKeyBackward(e))},b=function(e){var t=wq(e);l(t,e)>=0||bq(r.clickOutsideDeactivates,e)||bq(r.allowOutsideClick,e)||(e.preventDefault(),e.stopImmediatePropagation())},w=function(){if(s.active)return function(e,t){if(e.length>0){var n=e[e.length-1];n!==t&&n.pause()}var i=e.indexOf(t);-1===i||e.splice(i,1),e.push(t)}(o,n),s.delayInitialFocusTimer=r.delayInitialFocus?vq((function(){d(u())})):d(u()),i.addEventListener("focusin",v,!0),i.addEventListener("mousedown",g,{capture:!0,passive:!1}),i.addEventListener("touchstart",g,{capture:!0,passive:!1}),i.addEventListener("click",b,{capture:!0,passive:!1}),i.addEventListener("keydown",y,{capture:!0,passive:!1}),n},x=function(){if(s.active)return i.removeEventListener("focusin",v,!0),i.removeEventListener("mousedown",g,!0),i.removeEventListener("touchstart",g,!0),i.removeEventListener("click",b,!0),i.removeEventListener("keydown",y,!0),n},_="undefined"!=typeof window&&"MutationObserver"in window?new MutationObserver((function(e){var t=e.some((function(e){return Array.from(e.removedNodes).some((function(e){return e===s.mostRecentlyFocusedNode}))}));t&&d(u())})):void 0,E=function(){_&&(_.disconnect(),s.active&&!s.paused&&s.containers.map((function(e){_.observe(e,{subtree:!0,childList:!0})})))};return(n={get active(){return s.active},get paused(){return s.paused},activate:function(e){if(s.active)return this;var t=a(e,"onActivate"),n=a(e,"onPostActivate"),o=a(e,"checkCanFocusTrap");o||h(),s.active=!0,s.paused=!1,s.nodeFocusedBeforeActivation=i.activeElement,null==t||t();var r=function(){o&&h(),w(),E(),null==n||n()};return o?(o(s.containers.concat()).then(r,r),this):(r(),this)},deactivate:function(e){if(!s.active)return this;var t=dq({onDeactivate:r.onDeactivate,onPostDeactivate:r.onPostDeactivate,checkCanReturnFocus:r.checkCanReturnFocus},e);clearTimeout(s.delayInitialFocusTimer),s.delayInitialFocusTimer=void 0,x(),s.active=!1,s.paused=!1,E(),function(e,t){var n=e.indexOf(t);-1!==n&&e.splice(n,1),e.length>0&&e[e.length-1].unpause()}(o,n);var i=a(t,"onDeactivate"),l=a(t,"onPostDeactivate"),c=a(t,"checkCanReturnFocus"),u=a(t,"returnFocus","returnFocusOnDeactivate");null==i||i();var h=function(){vq((function(){u&&d(f(s.nodeFocusedBeforeActivation)),null==l||l()}))};return u&&c?(c(f(s.nodeFocusedBeforeActivation)).then(h,h),this):(h(),this)},pause:function(e){if(s.paused||!s.active)return this;var t=a(e,"onPause"),n=a(e,"onPostPause");return s.paused=!0,null==t||t(),x(),E(),null==n||n(),this},unpause:function(e){if(!s.paused||!s.active)return this;var t=a(e,"onUnpause"),n=a(e,"onPostUnpause");return s.paused=!1,null==t||t(),h(),w(),E(),null==n||n(),this},updateContainerElements:function(e){var t=[].concat(e).filter(Boolean);return s.containers=t.map((function(e){return"string"==typeof e?i.querySelector(e):e})),s.active&&h(),E(),this}}).updateContainerElements(e),n},Eq=function(e){return ES("svg",{...e,children:ES("path",{fillRule:"evenodd",d:"m11.657 8-4.95 4.95a1 1 0 0 1-1.414-1.414L8.828 8 5.293 4.464A1 1 0 1 1 6.707 3.05L11.657 8Z"})})};Eq.defaultProps={xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16"};var kq=function(e){return ES("svg",{...e,children:ES("path",{fillRule:"evenodd",d:"M9 13V9h4a1 1 0 0 0 0-2H9V3a1 1 0 1 0-2 0v4H3a1 1 0 1 0 0 2h4v4a1 1 0 0 0 2 0Z"})})};kq.defaultProps={xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16"};var Sq=function(e){return ES("svg",{...e,children:ES("path",{fillRule:"evenodd",d:"M12 6v7c0 1.1-.4 1.55-1.5 1.55h-5C4.4 14.55 4 14.1 4 13V6h8Zm-1.5 1.5h-5v4.3c0 .66.5 1.2 1.111 1.2H9.39c.611 0 1.111-.54 1.111-1.2V7.5ZM13 3h-2l-1-1H6L5 3H3v1.5h10V3Z"})})};Sq.defaultProps={xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16"};var Cq=function(e){return ES("svg",{...e,children:[ES("path",{fill:"#fff",style:{mixBlendMode:"multiply"},d:"M0 0h16v16H0z"}),ES("path",{fill:"#fff",style:{mixBlendMode:"multiply"},d:"M0 0h16v16H0z"}),ES("path",{d:"M7 3H5v2h2V3zm4 0H9v2h2V3zM7 7H5v2h2V7zm4 0H9v2h2V7zm-4 4H5v2h2v-2zm4 0H9v2h2v-2z",fill:"#161616"})]})};Cq.defaultProps={width:"16",height:"16",fill:"none",xmlns:"http://www.w3.org/2000/svg"};var Oq=function(e){return ES("svg",{...e,children:ES("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12.637 12.637v-4.72h1.362v4.721c0 .36-.137.676-.411.95-.275.275-.591.412-.95.412H3.362c-.38 0-.703-.132-.967-.396A1.315 1.315 0 0 1 2 12.638V3.362c0-.38.132-.703.396-.967S2.982 2 3.363 2h4.553v1.363H3.363v9.274h9.274ZM14 2H9.28l-.001 1.362h2.408L5.065 9.984l.95.95 6.622-6.622v2.409H14V2Z",fill:"currentcolor"})})};Oq.defaultProps={width:"16",height:"16",fill:"none",xmlns:"http://www.w3.org/2000/svg"};var Pq=function(e){return ES("svg",{...e,children:ES("path",{d:"M3.617 11.99c-.137.684-.392 1.19-.765 1.518-.362.328-.882.492-1.558.492H0l.309-1.579h1.264l1.515-7.64h-.912l.309-1.579h.911l.236-1.191c.137-.685.387-1.192.75-1.52C4.753.164 5.277 0 5.953 0h1.294L6.94 1.579H5.675l-.323 1.623h1.264l-.309 1.579H5.043l-1.426 7.208ZM5.605 11.021l3.029-4.155L7.28 3.202h2.073l.706 2.547h.176l1.691-2.547H14l-3.014 4.051 1.338 3.768H10.25l-.706-2.606H9.37L7.678 11.02H5.605Z",fill:"currentcolor"})})};Pq.defaultProps={width:"14",height:"14",fill:"none",xmlns:"http://www.w3.org/2000/svg"};var Mq=function(e){return ES("svg",{...e,children:[ES("path",{d:"M16 2a14 14 0 1 0 14 14A14 14 0 0 0 16 2Zm0 26a12 12 0 1 1 12-12 12 12 0 0 1-12 12Z"}),ES("circle",{cx:"16",cy:"23.5",r:"1.5"}),ES("path",{d:"M17 8h-1.5a4.49 4.49 0 0 0-4.5 4.5v.5h2v-.5a2.5 2.5 0 0 1 2.5-2.5H17a2.5 2.5 0 0 1 0 5h-2v4.5h2V17a4.5 4.5 0 0 0 0-9Z"}),ES("path",{style:{fill:"none"},d:"M0 0h32v32H0z"})]})};Mq.defaultProps={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"};var Aq=function(e){return ES("svg",{...e,children:[ES("path",{fill:"currentColor",d:"M28 4H10a2.006 2.006 0 0 0-2 2v14a2.006 2.006 0 0 0 2 2h18a2.006 2.006 0 0 0 2-2V6a2.006 2.006 0 0 0-2-2Zm0 16H10V6h18Z"}),ES("path",{fill:"currentColor",d:"M18 26H4V16h2v-2H4a2.006 2.006 0 0 0-2 2v10a2.006 2.006 0 0 0 2 2h14a2.006 2.006 0 0 0 2-2v-2h-2Z"})]})};Aq.defaultProps={xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 32 32"};var Tq=function(e){return ES("svg",{...e,children:ES("path",{fillRule:"evenodd",d:"m12 4.7-.7-.7L8 7.3 4.7 4l-.7.7L7.3 8 4 11.3l.7.7L8 8.7l3.3 3.3.7-.7L8.7 8 12 4.7Z",fill:"currentColor"})})};function Bq(e){const{element:t,headerProvider:n}=e,{getElementIcon:i,getDocumentationRef:o,getElementLabel:r,getTypeLabel:s}=n,a=r(t),l=s(t),c=o&&o(t),u=i(t);return ES("div",{class:"bio-properties-panel-header",children:[ES("div",{class:"bio-properties-panel-header-icon",children:u&&ES(u,{width:"32",height:"32",viewBox:"0 0 32 32"})}),ES("div",{class:"bio-properties-panel-header-labels",children:[ES("div",{title:l,class:"bio-properties-panel-header-type",children:l}),a?ES("div",{title:a,class:"bio-properties-panel-header-label",children:a}):null]}),ES("div",{class:"bio-properties-panel-header-actions",children:c?ES("a",{rel:"noopener",class:"bio-properties-panel-header-link",href:c,title:"Open documentation",target:"_blank",children:ES(Oq,{})}):null})]})}Tq.defaultProps={xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16"};const Rq=gk({description:{},getDescriptionForId:()=>{}}),Dq=gk({errors:{}}),Lq=gk({eventBus:null}),Nq=gk({layout:{},setLayout:()=>{},getLayoutForKey:()=>{},setLayoutForKey:()=>{}}),zq=gk({tooltip:{},getTooltipForId:()=>{}});function Iq(e){const{forId:t,element:n}=e,i=function(e,t){const{getTooltipForId:n}=Nk(zq);return n(e,t)}(t,n),o=e.value||i;return o?ES(Fq,{...e,value:o,forId:qq(t)}):e.children}function Fq(e){const{forId:t,value:n,parent:i,direction:o="right",position:r}=e,[s,a]=Ak(!1),[l,c]=Ak(!1);let u=null;const h=Rk(null),p=Rk(null),d=async e=>{const t=()=>a(!0);s||u||(e instanceof MouseEvent?u=setTimeout(t,200):(t(),c(!0)))},f=()=>{a(!1),c(!1)};Tk((()=>{const{current:e}=h;if(!e)return;const t=e=>{const t=document.activeElement===h.current||document.activeElement.closest(".bio-properties-panel-tooltip");!s||(({x:e,y:t})=>{const n=p.current,i=h.current;return n&&($q(e,t,i.getBoundingClientRect())||$q(e,t,n.getBoundingClientRect()))})({x:e.x,y:e.y})||t&&l||f()},n=e=>{const{relatedTarget:t}=e;s&&!h.current.matches(":hover")&&t&&!t.closest(".bio-properties-panel-tooltip")&&f()};return document.addEventListener("wheel",t),document.addEventListener("focusout",n),document.addEventListener("mousemove",t),()=>{document.removeEventListener("wheel",t),document.removeEventListener("mousemove",t),document.removeEventListener("focusout",n)}}),[h.current,s,l]);const m=()=>ES("div",{class:`bio-properties-panel-tooltip ${o}`,role:"tooltip",id:"bio-properties-panel-tooltip","aria-labelledby":t,style:r||jq(h.current),ref:p,onClick:e=>e.stopPropagation(),children:[ES("div",{class:"bio-properties-panel-tooltip-content",children:n}),ES("div",{class:"bio-properties-panel-tooltip-arrow"})]});return ES("div",{class:"bio-properties-panel-tooltip-wrapper",tabIndex:"0",ref:h,onMouseEnter:d,onMouseLeave:()=>{clearTimeout(u),u=null},onFocus:d,onKeyDown:e=>{"Escape"===e.code&&f()},children:[e.children,s?i?sS(m(),i.current):m():null]})}function $q(e,t,n){const{top:i,right:o,bottom:r,left:s}=n;return e>=s&&e<=o&&t>=i&&t<=r}function jq(e){const t=e.getBoundingClientRect();return`right: calc(100% - ${t.x}px); top: ${t.top-10+"px"};`}function qq(e){return`bio-properties-panel-${e}`}function Hq(e){const{errors:t}=Nk(Dq);return t[e]}function Vq(){const{errors:e}=Nk(Dq);return e}function Wq(e,t,n){const i=Nk(Lq);n||({eventBus:n}=i);const o=Rk(!1);n&&!o.current&&n.on(e,t),Tk((()=>(n&&o.current&&n.on(e,t),o.current=!0,()=>{n&&n.off(e,t)})),[t,e,n])}function Gq(e,t){const{getLayoutForKey:n,setLayoutForKey:i}=Nk(Nq);return[n(e,t),Lk((t=>{i(e,t)}),[i])]}function Qq(e){const t=Rk();return Tk((()=>{t.current=e})),t.current}function Xq(e){const{onShow:t}=Nk(Nq),n=Rk(),i=Rk(!1),o=Lk((n=>{n.id===e&&(t(),i.current||(i.current=!0))}),[e]);return Tk((()=>{i.current&&n.current&&(I(n.current.focus)&&n.current.focus(),I(n.current.select)&&n.current.select(),i.current=!1)})),Wq("propertiesPanel.showEntry",o),n}function Uq(e,t,n){const[i,o]=Ak(Jt(t)),r=Lk((()=>{const e=Jt(t);e!==i&&o(e)}),[t,i]);Tk((()=>{r()}),[r]),Wq("propertiesPanel.attach",r),Wq("propertiesPanel.detach",r),Tk((()=>{const t=IntersectionObserver;if(!t)return;if(!e.current||!i)return;const o=new t((e=>{0!==i.scrollHeight&&e.forEach((e=>{e.intersectionRatio<1?n(!0):1===e.intersectionRatio&&n(!1)}))}),{root:i,rootMargin:"0px 0px 999999% 0px",threshold:[1]});return o.observe(e.current),()=>{o.unobserve(e.current)}}),[e.current,i,n])}function Yq(e){const t=Rk(e);return t.current=e,Lk(((...e)=>t.current(...e)),[])}function Kq(e){const{element:t,entries:n=[],id:i,label:o,shouldOpen:r=!1}=e,s=Rk(null),[a,l]=Gq(["groups",i,"open"],r),c=Lk((()=>l(!0)),[l]),[u,h]=Ak(!1),[p,d]=Ak(!1);Tk((()=>{const e=requestAnimationFrame((()=>{const e=n.find((e=>{const{id:t,isEdited:n}=e,i=Jt(`[data-entry-id="${t}"]`);return!(!I(n)||!i)&&n(Jt(".bio-properties-panel-input",i))}));h(e)}));return()=>cancelAnimationFrame(e)}),[n,h]);const f=Vq(),m=n.some((e=>f[e.id]));Uq(s,"div.bio-properties-panel-scroll-container",d);const g={...Nk(Nq),onShow:c};return ES("div",{class:"bio-properties-panel-group","data-group-id":"group-"+i,ref:s,children:[ES("div",{class:SS()("bio-properties-panel-group-header",u?"":"empty",a?"open":"",p&&a?"sticky":""),onClick:()=>l(!a),children:[ES("div",{title:e.tooltip?null:o,"data-title":o,class:"bio-properties-panel-group-header-title",children:ES(Iq,{value:e.tooltip,forId:"group-"+i,element:t,parent:s,children:o})}),ES("div",{class:"bio-properties-panel-group-header-buttons",children:[ES(Zq,{edited:u,hasErrors:m}),ES("button",{type:"button",title:"Toggle section",class:"bio-properties-panel-group-header-button bio-properties-panel-arrow",children:ES(Eq,{class:a?"bio-properties-panel-arrow-down":"bio-properties-panel-arrow-right"})})]})]}),ES("div",{class:SS()("bio-properties-panel-group-entries",a?"open":""),children:ES(Nq.Provider,{value:g,children:n.map((e=>{const{component:n,id:i}=e;return XE(n,{...e,element:t,key:i})}))})})]})}function Zq(e){const{edited:t,hasErrors:n}=e;return n?ES("div",{title:"Section contains an error",class:"bio-properties-panel-dot bio-properties-panel-dot--error"}):t?ES("div",{title:"Section contains data",class:"bio-properties-panel-dot"}):null}function Jq(e){const{text:t,icon:n}=e;return ES("div",{class:"bio-properties-panel open",children:ES("section",{class:"bio-properties-panel-placeholder",children:[n&&ES(n,{class:"bio-properties-panel-placeholder-icon"}),ES("p",{class:"bio-properties-panel-placeholder-text",children:t})]})})}function eH(e){const{element:t,forId:n,value:i}=e,o=function(e,t){const{getDescriptionForId:n}=Nk(Rq);return n(e,t)}(n,t),r=i||o;if(r)return ES("div",{class:"bio-properties-panel-description",children:r})}const tH=()=>{},nH=Uk(((e,t)=>{const{onInput:n,disabled:i,tooltipContainer:o,enableGutters:r,value:s,onLint:a=tH,onPopupOpen:l=tH,popupOpen:c,contentAttributes:u={},hostLanguage:h=null,singleLine:p=!1}=e,d=Rk(),[f,m]=Ak(),[g,v]=Ak(s||"");!function(e,t){const[n,i]=Ak(void 0);t.current=Dk((()=>({focus:t=>{e?e.focus(t):(void 0===t&&(t=1/0),i(t))}})),[e]),Tk((()=>{void 0!==n&&e&&(e.focus(n),i(!1))}),[e,n])}(f,t);const y=Yq((e=>{n(e),v(e)}));return Tk((()=>{let e;return e=new mj({container:d.current,onChange:y,value:g,onLint:a,contentAttributes:u,tooltipContainer:o,enableGutters:r,hostLanguage:h,singleLine:p,lineWrap:!0}),m(e),()=>{a([]),d.current.innerHTML="",m(null)}}),[]),Tk((()=>{f&&s!==g&&(f.setValue(s),v(s))}),[s]),ES("div",{class:SS()("bio-properties-panel-feelers-editor-container",c?"popupOpen":null),children:[ES("div",{class:"bio-properties-panel-feelers-editor__open-popup-placeholder",children:"Opened in editor"}),ES("div",{name:e.name,class:SS()("bio-properties-panel-feelers-editor bio-properties-panel-input",g?"edited":null,i?"disabled":null),ref:d,onClick:()=>{t.current.focus()}}),ES("button",{type:"button",title:"Open pop-up editor",class:"bio-properties-panel-open-feel-popup",onClick:()=>l("feelers"),children:ES(Aq,{})})]})})),iH=()=>{},oH=Uk(((e,t)=>{const{contentAttributes:n,enableGutters:i,value:o,onInput:r,onFeelToggle:s=iH,onLint:a=iH,onPopupOpen:l=iH,placeholder:c,popupOpen:u,disabled:h,tooltipContainer:p,variables:d}=e,f=Rk(),[m,g]=Ak(),[v,y]=Ak(o||"");!function(e,t){const[n,i]=Ak(void 0);t.current=Dk((()=>({focus:t=>{e?e.focus(t):(void 0===t&&(t=1/0),i(t))}})),[e]),Tk((()=>{void 0!==n&&e&&(e.focus(n),i(!1))}),[e,n])}(m,t);const b=Yq((e=>{r(e),y(e)}));return Tk((()=>{let e;return e=new Wj({container:f.current,onChange:b,onKeyDown:t=>{if("Backspace"!==t.key||!e)return;const n=e.getSelection(),i=n.ranges[n.mainIndex];0===i.from&&0===i.to&&s()},onLint:a,placeholder:c,tooltipContainer:p,value:v,variables:d,extensions:[...i?[rD()]:[],nR.lineWrapping],contentAttributes:n}),g(e),()=>{a([]),f.current.innerHTML="",g(null)}}),[]),Tk((()=>{m&&o!==v&&(m.setValue(o),y(o))}),[o]),Tk((()=>{m&&m.setVariables(d)}),[d]),Tk((()=>{m&&m.setPlaceholder(c)}),[c]),ES("div",{class:SS()("bio-properties-panel-feel-editor-container",h?"disabled":null,u?"popupOpen":null),children:[ES("div",{class:"bio-properties-panel-feel-editor__open-popup-placeholder",children:"Opened in editor"}),ES("div",{name:e.name,class:SS()("bio-properties-panel-input",v?"edited":null),ref:f,onClick:()=>{t.current.focus()}}),ES("button",{type:"button",title:"Open pop-up editor",class:"bio-properties-panel-open-feel-popup",onClick:()=>l(),children:ES(Aq,{})})]})}));function rH(e){const{active:t}=e;return t?ES("span",{class:"bio-properties-panel-feel-indicator",children:"="}):null}const sH=()=>{};function aH(e){const{feel:t=!1,active:n,disabled:i=!1,onClick:o=sH}=e,r=`Click to ${n?"remove":"set a"} dynamic value with FEEL expression`;return ES("button",{type:"button",class:SS()("bio-properties-panel-feel-icon",n?"active":null,"required"===t?"required":"optional"),onClick:e=>{o(e),e.pointerType||e.stopPropagation()},disabled:"required"===t||i,title:"required"===t?"FEEL expression is mandatory":r,children:ES(Pq,{})})}const lH=gk({open:()=>{},close:()=>{},source:null});function cH(e){e.preventDefault(),e.stopPropagation()}const uH=()=>{},hH=Uk((function(e,t){const{container:n,className:i,delayInitialFocus:o,position:r,width:s,height:a,onClose:l,onPostActivate:c=uH,onPostDeactivate:u=uH,returnFocus:h=!0,closeOnEscape:p=!0,title:d}=e,f=Rk(null),m=Rk(null),g=t||m,v=Dk((()=>function(e){return"string"==typeof e?Jt(e):e}(n)),[n]),y=()=>{f.current&&f.current.activate()};let b={};return r&&(b={...b,top:r.top+"px",left:r.left+"px"}),s&&(b.width=s+"px"),a&&(b.height=a+"px"),Tk((()=>(g.current&&g.current.addEventListener("focusin",y),()=>{g.current.removeEventListener("focusin",y)})),[g]),Tk((()=>(g.current&&(f.current=_q(g.current,{clickOutsideDeactivates:!0,delayInitialFocus:o,fallbackFocus:g.current,onPostActivate:c,onPostDeactivate:u,returnFocusOnDeactivate:h}),f.current.activate()),()=>f.current&&f.current.deactivate())),[g]),Wq("propertiesPanel.detach",l),sS(ES("div",{"aria-label":d,tabIndex:-1,ref:g,onKeyDown:e=>{e.stopPropagation(),p&&"Escape"===e.key&&l()},role:"dialog",class:SS()("bio-properties-panel-popup",i),style:b,children:e.children}),v||document.body)}));function pH(e){return e.closest(".bio-properties-panel-popup")}hH.Title=function(e){const{children:t,className:n,draggable:i,emit:o=(()=>{}),title:r,showCloseButton:s=!1,closeButtonTooltip:a="Close popup",onClose:l,...c}=e,u=Rk({startPosition:null,newPosition:null}),h=Rk(),p=Rk(),d=(e,t)=>{!function(e){e.preventDefault(),e.stopPropagation()}(e);const{x:n,y:i}=t,r={x:u.current.startPosition.x+n,y:u.current.startPosition.y+i},s=pH(p.current);s.style.top=r.y+"px",s.style.left=r.x+"px",o("dragover",{newPosition:r,delta:t})};return ES("div",{class:SS()("bio-properties-panel-popup__header",i&&"draggable",n),ref:p,draggable:i,onDragStart:e=>{(function(e,t){let n,i,o;function r(t){const r={x:t.clientX-i,y:t.clientY-o};return e.call(n,t,r)}function s(){document.removeEventListener("dragover",r,!0),document.removeEventListener("dragenter",cH,!0),document.removeEventListener("dragend",s),document.removeEventListener("drop",cH)}return function(e){n=this,i=e.clientX,o=e.clientY,e.dataTransfer&&e.dataTransfer.setDragImage(t||Kt(''),0,0),document.addEventListener("dragover",r,!0),document.addEventListener("dragenter",cH,!0),document.addEventListener("dragend",s),document.addEventListener("drop",cH)}})(d,h.current)(e),e.stopPropagation();const t=pH(p.current).getBoundingClientRect();u.current.startPosition={x:t.left,y:t.top},o("dragstart")},onDragEnd:()=>{u.current.newPosition=null,o("dragend")},...c,children:[i&&ES(YE,{children:[ES("div",{ref:h,class:"bio-properties-panel-popup__drag-preview"}),ES("div",{class:"bio-properties-panel-popup__drag-handle",children:ES(Cq,{})})]}),ES("div",{class:"bio-properties-panel-popup__title",children:r}),t,s&&ES("button",{title:a,class:"bio-properties-panel-popup__close",onClick:l,children:ES(Tq,{})})]})},hH.Body=function(e){const{children:t,className:n,...i}=e;return ES("div",{class:SS()("bio-properties-panel-popup__body",n),...i,children:t})},hH.Footer=function(e){const{children:t,className:n,...i}=e;return ES("div",{class:SS()("bio-properties-panel-popup__footer",n),...i,children:e.children})};const dH=700,fH=250;function mH(e){const{element:t,eventBus:n={fire(){},on(){},off(){}},popupContainer:i}=e,o=Qq(t),[r,s]=Ak({}),[a,l]=Ak(!1),[c,u]=Ak(null),[h,p]=Ak(null),d=(e,t)=>{n.fire("feelPopup."+e,t)},f=Lk((()=>!!a),[a]);!function(e,t){const n=Rk(!1);Tk((()=>{n.current?a||d("closed"):n.current=!0}),t)}(0,[a]);const m=(e,t,n)=>{u(e),s(t),l(!0),p(n),d("open")},g=(e={})=>{const{id:t}=e;t&&t!==c||(l(!1),u(null))},v={open:m,close:g,source:c};return Tk((()=>{t&&o&&t!==o&&g()}),[t]),Tk((()=>{const e=()=>f();return n.on("feelPopup._close",g),n.on("feelPopup._open",(e=>{const{entryId:t,popupConfig:n,sourceElement:i}=e;m(t,n,i)})),n.on("feelPopup._isOpen",e),()=>{n.off("feelPopup._close",g),n.off("feelPopup._open",m),n.off("feelPopup._isOpen",e)}}),[n,f]),ES(lH.Provider,{value:v,children:[a&&ES(gH,{onClose:g,container:i,sourceElement:h,emit:d,...r}),e.children]})}function gH(e){const{container:t,id:n,hostLanguage:i,onInput:o,onClose:r,position:s,singleLine:a,sourceElement:l,title:c,tooltipContainer:u,type:h,value:p,variables:d,emit:f}=e,m=Rk(),g=Rk(),v=Rk(!1);return Tk((()=>(f("opened",{domNode:g.current}),()=>f("close",{domNode:g.current}))),[]),Tk((()=>{m.current&&m.current.focus()}),[m]),ES(hH,{container:t,className:"bio-properties-panel-feel-popup",emit:f,position:s,title:c,onClose:r,returnFocus:!1,closeOnEscape:!1,delayInitialFocus:!1,onPostDeactivate:()=>{l&&l.focus()},height:fH,width:dH,ref:g,children:[ES(hH.Title,{title:c,emit:f,showCloseButton:!0,closeButtonTooltip:"Save and close",onClose:r,draggable:!0,children:["feel"===h&&ES("a",{href:"https://docs.camunda.io/docs/components/modeler/feel/what-is-feel/",target:"_blank",class:"bio-properties-panel-feel-popup__title-link",children:["Learn FEEL expressions",ES(Mq,{})]}),"feelers"===h&&ES("a",{href:"https://docs.camunda.io/docs/components/modeler/forms/configuration/forms-config-templating-syntax/",target:"_blank",class:"bio-properties-panel-feel-popup__title-link",children:["Learn templating",ES(Mq,{})]})]}),ES(hH.Body,{children:ES("div",{onKeyDownCapture:e=>{"Escape"===e.key&&(v.current=e.target.closest(".cm-editor").querySelector(".cm-tooltip-autocomplete"))},onKeyDown:e=>{"Escape"===e.key&&(v.current||(r(),v.current=!1))},class:"bio-properties-panel-feel-popup__body",children:["feel"===h&&ES(oH,{enableGutters:!0,id:vH(n),name:n,onInput:o,value:p,variables:d,ref:m,tooltipContainer:u}),"feelers"===h&&ES(nH,{id:vH(n),contentAttributes:{"aria-label":c},enableGutters:!0,hostLanguage:i,name:n,onInput:o,value:p,ref:m,singleLine:a,tooltipContainer:u})]})})]})}function vH(e){return`bio-properties-panel-${e}`}function yH(e){const{id:t,label:n,onInput:i,value:o,switcherLabel:r,inline:s,onFocus:a,onBlur:l,inputRef:c,tooltip:u}=e,[h,p]=Ak(o);return Tk((()=>{o!==h&&p(o)}),[o]),ES("div",{class:SS()("bio-properties-panel-toggle-switch",{inline:s}),children:[ES("label",{class:"bio-properties-panel-label",for:bH(t),children:ES(Iq,{value:u,forId:t,element:e.element,children:n})}),ES("div",{class:"bio-properties-panel-field-wrapper",children:[ES("label",{class:"bio-properties-panel-toggle-switch__switcher",children:[ES("input",{ref:c,id:bH(t),class:"bio-properties-panel-input",type:"checkbox",onFocus:a,onBlur:l,name:t,onInput:e=>{(async()=>{i(!o)})(),p(e.target.value)},checked:!!h}),ES("span",{class:"bio-properties-panel-toggle-switch__slider"})]}),r&&ES("p",{class:"bio-properties-panel-toggle-switch__label",children:r})]})]})}function bH(e){return`bio-properties-panel-${e}`}function wH(e){const{debounce:t,disabled:n,displayLabel:i=!0,id:o,inputRef:r,label:s,max:a,min:l,onInput:c,step:u,value:h="",onFocus:p,onBlur:d}=e,[f,m]=Ak(h),g=Dk((()=>t((e=>{e.validity.valid&&c(e.value?parseFloat(e.value):void 0)}))),[c,t]);return Tk((()=>{h!==f&&m(h)}),[h]),ES("div",{class:"bio-properties-panel-numberfield",children:[i&&ES("label",{for:xH(o),class:"bio-properties-panel-label",children:s}),ES("input",{id:xH(o),ref:r,type:"number",name:o,spellCheck:"false",autoComplete:"off",disabled:n,class:"bio-properties-panel-input",max:a,min:l,onInput:e=>{g(e.target),m(e.target.value)},onFocus:p,onBlur:d,step:u,value:f})]})}function xH(e){return`bio-properties-panel-${e}`}const _H=()=>{},EH=(kH=function(e){const{debounce:t,id:n,element:i,label:o,hostLanguage:r,onInput:s,onError:a,placeholder:l,feel:c,value:u="",disabled:h=!1,variables:p,singleLine:d,tooltipContainer:f,OptionalComponent:m=SH,tooltip:g}=e,[v,y]=Ak(u),b=Xq(n),w=Rk(),x=F(v)&&v.startsWith("=")||"required"===c,_=F(v)&&v.startsWith("=")?v.substring(1):v,[E,k]=Ak(void 0),{open:S,source:C}=Nk(lH),O=C===n,P=(e=0)=>{const t=w.current.contains(document.activeElement)?document.activeElement.selectionStart:1/0;k(t+e)},M=Dk((()=>t((e=>{s(e)}))),[s,t]),A=e=>{y(e),M(void 0===e||""===e||"="===e?void 0:e)},T=Yq((()=>{"required"!==c&&A(x?_:"="+v)})),B=e=>{x&&(e="="+e),e!==v&&(A(e),!x&&F(e)&&e.startsWith("=")&&P(-1))},R=Yq((e=>{e&&e.length?a("Unparsable FEEL expression."):a(void 0)})),D=(e="feel")=>{const t={id:n,hostLanguage:r,onInput:B,position:OH(w.current),singleLine:d,title:PH(i,o),tooltipContainer:f,type:e,value:_,variables:p};S(n,t,b.current)};return Tk((()=>{void 0!==E&&(b.current.focus(E),k(void 0))}),[E]),Tk((()=>{u!==v&&A(u||(x?"=":""))}),[u]),Tk((()=>{const e=e=>{x&&e.clipboardData.setData("application/FEEL",e.clipboardData.getData("text"))},t=e=>{x||O||e.clipboardData.getData("application/FEEL")&&setTimeout((()=>{T(),P()}))};return w.current.addEventListener("copy",e),w.current.addEventListener("cut",e),w.current.addEventListener("paste",t),()=>{w.current.removeEventListener("copy",e),w.current.removeEventListener("cut",e),w.current.removeEventListener("paste",t)}}),[w,x,T,P]),ES("div",{class:SS()("bio-properties-panel-feel-entry",{"feel-active":x}),children:[ES("label",{for:CH(n),class:"bio-properties-panel-label",onClick:()=>P(),children:[ES(Iq,{value:g,forId:n,element:e.element,children:o}),ES(aH,{label:o,feel:c,onClick:T,active:x})]}),ES("div",{class:"bio-properties-panel-feel-container",ref:w,children:[ES(rH,{active:x,disabled:"optional"!==c||h,onClick:T}),x?ES(oH,{name:n,onInput:B,contentAttributes:{id:CH(n),"aria-label":o},disabled:h,popupOpen:O,onFeelToggle:()=>{T(),P(!0)},onLint:R,onPopupOpen:D,placeholder:l,value:_,variables:p,ref:b,tooltipContainer:f}):ES(m,{...e,popupOpen:O,onInput:B,contentAttributes:{id:CH(n),"aria-label":o},value:v,ref:b,onPopupOpen:D,containerRef:w})]})]})},function(e){const{id:t}=e,{close:n}=Nk(lH),i=Yq(n);return Tk((()=>()=>{i({id:t})}),[]),ES(kH,{...e})});var kH;const SH=Uk(((e,t)=>{const{id:n,disabled:i,onInput:o,value:r,onFocus:s,onBlur:a,placeholder:l}=e,c=Rk();return t.current={focus:e=>{const t=c.current;t&&(t.focus(),"number"==typeof e&&(e>r.length&&(e=r.length),t.setSelectionRange(e,e)))}},ES("input",{id:CH(n),type:"text",ref:c,name:n,spellCheck:"false",autoComplete:"off",disabled:i,class:"bio-properties-panel-input",onInput:e=>o(e.target.value),onFocus:s,onBlur:a,placeholder:l,value:r||""})}));function CH(e){return`bio-properties-panel-${e}`}function OH(e){const{top:t,left:n}=e.getBoundingClientRect();return{left:n-dH-20,top:t}}function PH(e,t){let n="";return e&&e.type&&(n=`${e.type} / `),`${n}${t}`}Uk(((e,t)=>{const{id:n,debounce:i,disabled:o,onInput:r,value:s,min:a,max:l,step:c,onFocus:u,onBlur:h}=e,p=Rk();return t.current={focus:e=>{const t=p.current;t&&(t.focus(),"number"==typeof e&&e!==1/0&&(e>s.length&&(e=s.length),t.setSelectionRange(e,e)))}},ES(wH,{id:n,debounce:i,disabled:o,displayLabel:!1,inputRef:p,max:l,min:a,onInput:r,step:c,value:s,onFocus:u,onBlur:h})})),Uk(((e,t)=>{const{id:n,disabled:i,onInput:o,value:r,onFocus:s,onBlur:a,placeholder:l}=e,c=Rk();return t.current={focus:()=>{const e=c.current;e&&(e.focus(),e.setSelectionRange(0,0))}},ES("textarea",{id:CH(n),type:"text",ref:c,name:n,spellCheck:"false",autoComplete:"off",disabled:i,class:"bio-properties-panel-input",onInput:e=>o(e.target.value),onFocus:s,onBlur:a,placeholder:l,value:r||"","data-gramm":"false"})})),Uk(((e,t)=>{const{id:n,onInput:i,value:o,onFocus:r,onBlur:s,switcherLabel:a}=e,l=Rk();return t.current={focus:()=>{const e=l.current;e&&e.focus()}},ES(yH,{id:n,value:o,inputRef:l,onInput:i,onFocus:r,onBlur:s,switcherLabel:a})})),Uk(((e,t)=>{const{id:n,disabled:i,onInput:o,value:r,onFocus:s,onBlur:a}=e,l=Rk();return t.current={focus:()=>{const e=l.current;e&&e.focus()}},ES("input",{ref:l,id:CH(n),name:n,onFocus:s,onBlur:a,type:"checkbox",class:"bio-properties-panel-input",onChange:({target:e})=>{o(e.checked)},checked:r,disabled:i})}));const MH={},AH={},TH={};function BH(e){const{element:t,headerProvider:n,placeholderProvider:i,groups:o,layoutConfig:r,layoutChanged:s,descriptionConfig:a,descriptionLoaded:l,tooltipConfig:c,tooltipLoaded:u,feelPopupContainer:h,eventBus:p}=e,[d,f]=Ak(RH(r));!function(e,t){const n=Rk(!1);Bk((()=>{if(n.current)return(()=>{const e=RH(r);f(e)})();n.current=!0}),t)}(0,[r]),Tk((()=>{"function"==typeof s&&s(d)}),[d,s]);const m={layout:d,setLayout:f,getLayoutForKey:(e,t)=>function(e,t,n){let i=e;return V(t,(function(e){if(D(i))return i=void 0,!1;i=i[e]})),B(i)?n:i}(d,e,t),setLayoutForKey:(e,t)=>{const n=ce({},d);ue(n,e,t),f(n)}},g=Dk((()=>function(e={}){return{...AH,...e}}(a)),[a]);Tk((()=>{"function"==typeof l&&l(g)}),[g,l]);const v={description:g,getDescriptionForId:(e,t)=>g[e]&&g[e](t)},y=Dk((()=>function(e={}){return{...TH,...e}}(c)),[c]);Tk((()=>{"function"==typeof u&&u(y)}),[y,u]);const b={tooltip:y,getTooltipForId:(e,t)=>y[e]&&y[e](t)},[w,x]=Ak({});Wq("propertiesPanel.setErrors",(({errors:e})=>x(e)),p);const _={errors:w},E={eventBus:p},k={element:t};return i&&!t?ES(Jq,{...i.getEmpty()}):i&&L(t)?ES(Jq,{...i.getMultiple()}):ES(Nq.Provider,{value:k,children:ES(Dq.Provider,{value:_,children:ES(Rq.Provider,{value:v,children:ES(zq.Provider,{value:b,children:ES(Nq.Provider,{value:m,children:ES(Lq.Provider,{value:E,children:ES(mH,{element:t,eventBus:p,popupContainer:h,children:ES("div",{class:"bio-properties-panel",children:[ES(Bq,{element:t,headerProvider:n}),ES("div",{class:"bio-properties-panel-scroll-container",children:o.map((e=>{const{component:n=Kq,id:i}=e;return XE(n,{...e,key:i,element:t})}))})]})})})})})})})})}function RH(e={},t=MH){return{...t,...e}}function DH(e){const{id:t,label:n,onChange:i,disabled:o,value:r=!1,onFocus:s,onBlur:a,tooltip:l}=e,[c,u]=Ak(r);return Tk((()=>{r!==c&&u(r)}),[r]),ES("div",{class:"bio-properties-panel-checkbox",children:[ES("input",{ref:Xq(t),id:zH(t),name:t,onFocus:s,onBlur:a,type:"checkbox",class:"bio-properties-panel-input",onChange:e=>{(({target:e})=>{i(e.checked)})(e),u(e.target.value)},checked:c,disabled:o}),ES("label",{for:zH(t),class:"bio-properties-panel-label",children:ES(Iq,{value:l,forId:t,element:e.element,children:n})})]})}function LH(e){const{element:t,id:n,description:i,label:o,getValue:r,setValue:s,disabled:a,onFocus:l,onBlur:c,tooltip:u}=e,h=r(t),p=Hq(n);return ES("div",{class:"bio-properties-panel-entry bio-properties-panel-checkbox-entry","data-entry-id":n,children:[ES(DH,{disabled:a,id:n,label:o,onChange:s,onFocus:l,onBlur:c,value:h,tooltip:u,element:t},t),p&&ES("div",{class:"bio-properties-panel-error",children:p}),ES(eH,{forId:n,element:t,value:i})]})}function NH(e){return e&&!!e.checked}function zH(e){return`bio-properties-panel-${e}`}function IH(e){const{id:t,label:n,onChange:i,options:o=[],value:r="",disabled:s,onFocus:a,onBlur:l,tooltip:c}=e,u=Xq(t),[h,p]=Ak(r);return Tk((()=>{r!==h&&p(r)}),[r]),ES("div",{class:"bio-properties-panel-select",children:[ES("label",{for:jH(t),class:"bio-properties-panel-label",children:ES(Iq,{value:c,forId:t,element:e.element,children:n})}),ES("select",{ref:u,id:jH(t),name:t,class:"bio-properties-panel-input",onInput:e=>{(({target:e})=>{i(e.value)})(e),p(e.target.value)},onFocus:a,onBlur:l,value:h,disabled:s,children:o.map(((e,t)=>e.children?ES("optgroup",{label:e.label,children:e.children.map(((e,t)=>ES("option",{value:e.value,disabled:e.disabled,children:e.label},t)))},t):ES("option",{value:e.value,disabled:e.disabled,children:e.label},t)))})]})}function FH(e){const{element:t,id:n,description:i,label:o,getValue:r,setValue:s,getOptions:a,disabled:l,onFocus:c,onBlur:u,validate:h,tooltip:p}=e,d=a(t),f=Hq(n),[m,g]=Ak(null);let v=r(t);Tk((()=>{if(I(h)){const e=h(v)||null;g(e)}}),[v,h]);const y=f||m;return ES("div",{class:SS()("bio-properties-panel-entry",y?"has-error":""),"data-entry-id":n,children:[ES(IH,{id:n,label:o,value:v,onChange:e=>{let t=null;I(h)&&(t=h(e)||null),s(e,t),g(t)},onFocus:c,onBlur:u,options:d,disabled:l,tooltip:p,element:t},t),y&&ES("div",{class:"bio-properties-panel-error",children:y}),ES(eH,{forId:n,element:t,value:i})]})}function $H(e){return e&&!!e.value}function jH(e){return`bio-properties-panel-${e}`}function qH(e){e.style.height="auto",e.style.height=`${e.scrollHeight+2}px`}function HH(e){const{id:t,label:n,debounce:i,onInput:o,value:r="",disabled:s,monospace:a,onFocus:l,onBlur:c,autoResize:u=!0,placeholder:h,rows:p=(u?1:2),tooltip:d}=e,[f,m]=Ak(r),g=Xq(t),v=function(e){const[t,n]=Ak(!!e&&!!e.clientHeight);return Bk((()=>{if(!e)return;const i=new ResizeObserver((([e])=>{requestAnimationFrame((()=>{const i=!!e.contentRect.height;i!==t&&n(i)}))}));return i.observe(e),()=>i.disconnect()}),[e,t]),t}(g.current),y=Dk((()=>i((e=>o(e.value.length?e.value:void 0)))),[o,i]);return Bk((()=>{u&&qH(g.current)}),[]),Bk((()=>{v&&u&&qH(g.current)}),[v]),Tk((()=>{r!==f&&m(r)}),[r]),ES("div",{class:"bio-properties-panel-textarea",children:[ES("label",{for:GH(t),class:"bio-properties-panel-label",children:ES(Iq,{value:d,forId:t,element:e.element,children:n})}),ES("textarea",{ref:g,id:GH(t),name:t,spellCheck:"false",class:SS()("bio-properties-panel-input",a?"bio-properties-panel-input-monospace":"",u?"auto-resize":""),onInput:e=>{y(e.target),u&&qH(e.target),m(e.target.value)},onFocus:l,onBlur:c,placeholder:h,rows:p,value:f,disabled:s,"data-gramm":"false"})]})}function VH(e){const{element:t,id:n,description:i,debounce:o,label:r,getValue:s,setValue:a,rows:l,monospace:c,disabled:u,validate:h,onFocus:p,onBlur:d,placeholder:f,autoResize:m,tooltip:g}=e,v=Hq(n),[y,b]=Ak(null);let w=s(t);Tk((()=>{if(I(h)){const e=h(w)||null;b(e)}}),[w,h]);const x=v||y;return ES("div",{class:SS()("bio-properties-panel-entry",x?"has-error":""),"data-entry-id":n,children:[ES(HH,{id:n,label:r,value:w,onInput:e=>{let t=null;I(h)&&(t=h(e)||null),a(e,t),b(t)},onFocus:p,onBlur:d,rows:l,debounce:o,monospace:c,disabled:u,placeholder:f,autoResize:m,tooltip:g,element:t},t),x&&ES("div",{class:"bio-properties-panel-error",children:x}),ES(eH,{forId:n,element:t,value:i})]})}function WH(e){return e&&!!e.value}function GH(e){return`bio-properties-panel-${e}`}function QH(e){const{debounce:t,disabled:n=!1,id:i,label:o,onInput:r,onFocus:s,onBlur:a,placeholder:l,value:c="",tooltip:u}=e,[h,p]=Ak(c||""),d=Xq(i),f=Dk((()=>t((e=>r(e.value.length?e.value:void 0)))),[r,t]);return Tk((()=>{c!==h&&p(c)}),[c]),ES("div",{class:"bio-properties-panel-textfield",children:[ES("label",{for:YH(i),class:"bio-properties-panel-label",children:ES(Iq,{value:u,forId:i,element:e.element,children:o})}),ES("input",{ref:d,id:YH(i),type:"text",name:i,spellCheck:"false",autoComplete:"off",disabled:n,class:"bio-properties-panel-input",onInput:e=>{f(e.target),p(e.target.value)},onFocus:s,onBlur:a,placeholder:l,value:h})]})}function XH(e){const{element:t,id:n,description:i,debounce:o,disabled:r,label:s,getValue:a,setValue:l,validate:c,onFocus:u,onBlur:h,placeholder:p,tooltip:d}=e,f=Hq(n),[m,g]=Ak(null);let v=a(t);Tk((()=>{if(I(c)){const e=c(v)||null;g(e)}}),[v,c]);const y=f||m;return ES("div",{class:SS()("bio-properties-panel-entry",y?"has-error":""),"data-entry-id":n,children:[ES(QH,{debounce:o,disabled:r,id:n,label:s,onInput:e=>{let t=null;I(c)&&(t=c(e)||null),l(e,t),g(t)},onFocus:u,onBlur:h,placeholder:p,value:v,tooltip:d,element:t},t),y&&ES("div",{class:"bio-properties-panel-error",children:y}),ES(eH,{forId:n,element:t,value:i})]})}function UH(e){return e&&!!e.value}function YH(e){return`bio-properties-panel-${e}`}function KH(e){return function(t){return!1!==e?ae(t,z(e)?e:300):t}}KH.$inject=["config.debounceInput"];var ZH={debounceInput:["factory",KH]};class JH{constructor(e){this._eventBus=e}isOpen(){return this._eventBus.fire("feelPopup._isOpen")}open(e,t,n){return this._eventBus.fire("feelPopup._open",{entryId:e,popupConfig:t,sourceElement:n})}close(){return this._eventBus.fire("feelPopup._close")}}JH.$inject=["eventBus"];var eV={feelPopup:["type",JH]},tV=["y","Y"],nV=["z","Z"];function iV(e){return!e.altKey&&(e.ctrlKey||e.metaKey)}function oV(e,t){return-1!==(e=L(e)?e:[e]).indexOf(t.key)||-1!==e.indexOf(t.code)}function rV(e){return e.shiftKey}var sV=n(285);n(480);const aV=gk({selectedElement:null,injector:null,getService:()=>null});function lV(e,t){const{getService:n}=Nk(aV);return n(e,t)}function cV(){return cV=Object.assign?Object.assign.bind():function(e){for(var t=1;txS("svg",mV({width:"32",height:"32",xmlns:"http://www.w3.org/2000/svg"},t),xS("path",{stroke:"#000",strokeWidth:"2",strokeLinecap:"round",strokeDasharray:"1.1,4.3",d:"M1.5 30.5L27 5"}),xS("path",{d:"M31.803.197L26.5 16.107l-1.52-1.52 3.783-11.35-11.35 3.783-1.52-1.52z"}));function vV(){return vV=Object.assign?Object.assign.bind():function(e){for(var t=1;txS("svg",$V({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.975.049C8.195-.111.935 6.286.125 14.03c-.855 6.55 2.741 13.46 8.74 16.314 5.666 2.847 13.012 1.99 17.71-2.33 4.745-4.162 6.727-11.243 4.532-17.206C29.09 4.93 23.445.454 17.201.095c-.408-.03-.817-.046-1.226-.046zm-.181 1.724c7.134-.269 13.84 5.68 14.399 12.804.686 6.283-3.267 12.792-9.283 14.862-5.847 2.162-13.025.06-16.557-5.141C.728 19.22.872 11.725 4.985 6.962c2.632-3.171 6.671-5.174 10.809-5.19zm.283 1.553c-6.6-.21-12.671 5.585-12.79 12.185-.292 5.964 4.129 11.817 10.034 12.953 5.47 1.198 11.584-1.613 14.025-6.702 2.525-4.97 1.396-11.585-2.912-15.215-2.282-2.022-5.3-3.217-8.357-3.22zM16 5.021c5.818-.154 11.117 5.082 11.024 10.905.103 5.384-4.23 10.5-9.636 11.043-5.075.667-10.426-2.587-11.885-7.552-1.53-4.73.48-10.428 4.888-12.864A11.082 11.082 0 0116 5.021zm-3.956 3.946l-3.096 3.097 3.985 3.985-3.913 3.913 3.047 3.048 3.913-3.913 3.988 3.987 3.097-3.096L19.076 16l3.914-3.913-3.048-3.048-3.913 3.913-3.986-3.985zm-.002 1.222l3.988 3.987 3.913-3.913 1.826 1.826-3.913 3.913 3.985 3.986-1.873 1.873-3.985-3.985-3.913 3.913-1.827-1.827 3.914-3.913-3.988-3.987 1.873-1.873z"}));function qV(){return qV=Object.assign?Object.assign.bind():function(e){for(var t=1;txS("svg",qV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.975.049C8.195-.11.935 6.286.125 14.03c-.855 6.55 2.741 13.46 8.74 16.314 5.666 2.847 13.012 1.99 17.71-2.33 4.745-4.162 6.727-11.243 4.532-17.206C29.09 4.93 23.445.453 17.201.095c-.408-.03-.817-.046-1.226-.046zm-.181 1.724c7.134-.269 13.84 5.68 14.399 12.804.686 6.283-3.267 12.792-9.283 14.862-5.847 2.162-13.025.06-16.557-5.141C.728 19.22.872 11.725 4.985 6.962c2.632-3.171 6.671-5.174 10.809-5.19zm.283 1.553c-6.6-.21-12.671 5.585-12.79 12.185-.292 5.964 4.129 11.817 10.034 12.953 5.47 1.198 11.584-1.613 14.025-6.702 2.525-4.97 1.396-11.585-2.912-15.216-2.282-2.021-5.3-3.216-8.357-3.22zM16 5.021c5.818-.154 11.117 5.082 11.024 10.905.103 5.384-4.23 10.5-9.636 11.043-5.075.667-10.426-2.587-11.885-7.552-1.53-4.73.48-10.428 4.888-12.864A11.083 11.083 0 0116 5.021zm-.56 5.772l-7.408 5.231 7.409 5.234v-5.057c2.385 1.687 4.771 3.371 7.157 5.057V10.793l-7.157 5.055v-5.055zm-.865 1.665v7.125l-5.048-3.562 5.048-3.563zm7.161 0v7.132l-5.048-3.566 5.048-3.566z"}));function VV(){return VV=Object.assign?Object.assign.bind():function(e){for(var t=1;txS("svg",VV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.97.04h-.127C8.713-.018 2.003 5.334.437 12.286c-1.51 6.123.98 13.005 6.136 16.665 5.125 3.788 12.546 4.105 17.912.623 5.272-3.276 8.33-9.766 7.325-15.916-.904-6.241-5.79-11.7-11.95-13.143A16.082 16.082 0 0015.97.04zm-.181 1.724c.115 0 .23 0 .347.003 6.625-.066 12.823 5.149 13.89 11.69 1.13 5.91-1.908 12.349-7.262 15.138-5.473 3.013-12.866 1.884-17.116-2.726C1.291 21.372.444 13.914 3.802 8.602c2.493-4.112 7.169-6.819 11.987-6.838zm.283 1.554c-.117 0-.234.002-.351.005-6.1 0-11.691 5.049-12.346 11.114-.78 5.684 2.795 11.612 8.218 13.52 5.139 1.943 11.416.101 14.624-4.38 3.461-4.583 3.262-11.538-.596-15.831-2.36-2.747-5.924-4.423-9.549-4.428zm-.078 1.695c.078 0 .156 0 .234.003 5.4 0 10.321 4.556 10.734 9.942.563 5.13-2.958 10.364-7.971 11.678-4.832 1.41-10.457-.935-12.746-5.446-2.463-4.559-1.2-10.795 3.014-13.883a11.072 11.072 0 016.735-2.294zm-5.352 4.266V22.761h10.716V9.279H10.642zm.863.866h8.987v11.75h-8.987v-11.75zm.927 1.323v.862h7.133v-.862h-7.133zm0 2.602v.866h7.133v-.866h-7.133zm0 3.008v.862h7.133v-.862h-7.133zm0 2.717v.863h7.133v-.863h-7.133z"}));function GV(){return GV=Object.assign?Object.assign.bind():function(e){for(var t=1;txS("svg",GV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.975.049C8.195-.11.935 6.286.125 14.03c-.855 6.55 2.741 13.46 8.74 16.314 5.666 2.847 13.012 1.99 17.71-2.33 4.745-4.162 6.727-11.243 4.532-17.206C29.09 4.93 23.445.453 17.201.095c-.408-.03-.817-.046-1.226-.046zm-.181 1.724c7.134-.269 13.84 5.68 14.399 12.804.686 6.283-3.267 12.792-9.283 14.862-5.847 2.162-13.025.06-16.557-5.141C.728 19.22.872 11.725 4.985 6.962c2.632-3.171 6.671-5.174 10.809-5.19zm.283 1.553c-6.6-.21-12.671 5.585-12.79 12.185-.292 5.964 4.129 11.817 10.034 12.953 5.47 1.198 11.584-1.613 14.025-6.702 2.525-4.97 1.396-11.585-2.912-15.216-2.282-2.021-5.3-3.216-8.357-3.22zM16 5.021c5.818-.154 11.117 5.082 11.024 10.905.103 5.384-4.23 10.5-9.636 11.043-5.075.667-10.426-2.587-11.885-7.552-1.53-4.73.48-10.428 4.888-12.864A11.083 11.083 0 0116 5.021zm6.132 4.194c-1.21 2.455-2.422 4.91-3.633 7.364l-4.516-5.875-4.103 12.133 4.6-5.912c1.58 1.81 3.162 3.619 4.744 5.429L22.13 9.215zM14.383 13.1l4.295 5.445 1.073-2.387-1.027 4.131-4.384-5.157-1.778 2.75 1.821-4.782z"}));function XV(){return XV=Object.assign?Object.assign.bind():function(e){for(var t=1;txS("svg",XV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.975.049C8.195-.11.935 6.286.125 14.03c-.855 6.55 2.741 13.46 8.74 16.314 5.666 2.847 13.012 1.99 17.71-2.33 4.745-4.162 6.727-11.243 4.532-17.206C29.09 4.93 23.445.453 17.201.095c-.408-.03-.817-.046-1.226-.046zm-.181 1.724c7.134-.269 13.84 5.68 14.399 12.804.686 6.283-3.267 12.792-9.283 14.862-5.847 2.162-13.025.06-16.557-5.141C.728 19.22.872 11.725 4.985 6.962c2.632-3.171 6.671-5.174 10.809-5.19zm.283 1.553c-6.6-.21-12.671 5.585-12.79 12.185-.292 5.964 4.129 11.817 10.034 12.953 5.47 1.198 11.584-1.613 14.025-6.702 2.525-4.97 1.396-11.585-2.912-15.216-2.282-2.021-5.3-3.216-8.357-3.22zM16 5.021c5.818-.154 11.117 5.082 11.024 10.905.103 5.384-4.23 10.5-9.636 11.043-5.075.667-10.426-2.587-11.885-7.552-1.53-4.73.48-10.428 4.888-12.864A11.083 11.083 0 0116 5.021zm.006 3.927c-1.672 4.654-2.734 9.502-4.406 14.155 1.534-1.525 2.872-3.234 4.406-4.759l4.406 4.76c-1.496-4.71-2.91-9.446-4.406-14.156zm.032 2.929c.822 2.586 1.598 5.186 2.42 7.771l-2.42-2.612c-.682.597-2.452 2.884-2.338 2.388.87-2.487 1.447-5.067 2.338-7.547z"}));function YV(){return YV=Object.assign?Object.assign.bind():function(e){for(var t=1;txS("svg",YV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.975.049C8.195-.11.935 6.286.125 14.03c-.855 6.55 2.741 13.46 8.74 16.314 5.666 2.847 13.012 1.99 17.71-2.33 4.745-4.162 6.727-11.243 4.532-17.206C29.09 4.93 23.445.453 17.201.095c-.408-.03-.817-.046-1.226-.046zm-.181 1.724c7.134-.269 13.84 5.68 14.399 12.804.686 6.283-3.267 12.792-9.283 14.862-5.847 2.162-13.025.06-16.557-5.141C.728 19.22.872 11.725 4.985 6.962c2.632-3.171 6.671-5.174 10.809-5.19zm.283 1.553c-6.6-.21-12.671 5.585-12.79 12.185-.292 5.964 4.129 11.817 10.034 12.953 5.47 1.198 11.584-1.613 14.025-6.702 2.525-4.97 1.396-11.585-2.912-15.216-2.282-2.021-5.3-3.216-8.357-3.22zM16 5.021c5.818-.154 11.117 5.082 11.024 10.905.103 5.384-4.23 10.5-9.636 11.043-5.075.667-10.426-2.587-11.885-7.552-1.53-4.73.48-10.428 4.888-12.864A11.083 11.083 0 0116 5.021zm1.78 4.093v3.555H9.785v6.714h7.994v3.554l5.829-6.911-5.83-6.912zm.974 2.584l3.61 4.295-3.61 4.294v-1.933h-7.88v-4.688h7.88v-1.968z"}));function ZV(){return ZV=Object.assign?Object.assign.bind():function(e){for(var t=1;txS("svg",ZV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.975.049C8.195-.11.935 6.286.125 14.03c-.855 6.55 2.741 13.46 8.74 16.314 5.666 2.847 13.012 1.99 17.71-2.33 4.745-4.162 6.727-11.243 4.532-17.206C29.09 4.93 23.445.453 17.201.095c-.408-.03-.817-.046-1.226-.046zm-.181 1.724c7.134-.269 13.84 5.68 14.399 12.804.686 6.283-3.267 12.792-9.283 14.862-5.847 2.162-13.025.06-16.557-5.141C.728 19.22.872 11.725 4.985 6.962c2.632-3.171 6.671-5.174 10.809-5.19zm.283 1.553c-6.6-.21-12.671 5.585-12.79 12.185-.292 5.964 4.129 11.817 10.034 12.953 5.47 1.198 11.584-1.613 14.025-6.702 2.525-4.97 1.396-11.585-2.912-15.216-2.282-2.021-5.3-3.216-8.357-3.22zM16 5.021c5.818-.154 11.117 5.082 11.024 10.905.103 5.384-4.23 10.5-9.636 11.043-5.075.667-10.426-2.587-11.885-7.552-1.53-4.73.48-10.428 4.888-12.864A11.083 11.083 0 0116 5.021zm-7.245 5.475v11.06h14.502v-11.06H8.754zm3.222 1.728h8.057c-1.427.878-2.854 2.806-4.281 3.016l-3.776-3.016zm9.554 1.017v6.587H10.48V13.24l5.524 4.414 5.526-4.414z"}));function eW(){return eW=Object.assign?Object.assign.bind():function(e){for(var t=1;txS("svg",eW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.975.003C8.195-.156.935 6.24.125 13.985c-.855 6.55 2.741 13.46 8.74 16.314 5.666 2.847 13.012 1.99 17.71-2.33 4.745-4.162 6.727-11.243 4.532-17.206C29.09 4.884 23.445.407 17.201.049c-.408-.03-.817-.046-1.226-.046zm-.181 1.724c7.134-.269 13.84 5.68 14.399 12.804.686 6.283-3.267 12.792-9.283 14.862-5.847 2.162-13.025.06-16.557-5.141C.728 19.174.872 11.679 4.985 6.916c2.632-3.171 6.671-5.174 10.809-5.19zm.283 1.553c-6.6-.21-12.671 5.585-12.79 12.185-.292 5.964 4.129 11.817 10.034 12.953 5.47 1.198 11.584-1.613 14.025-6.702 2.525-4.97 1.396-11.585-2.912-15.216-2.282-2.021-5.3-3.216-8.357-3.22zM16 4.975c5.818-.154 11.117 5.082 11.024 10.905.103 5.384-4.23 10.5-9.636 11.043-5.075.667-10.426-2.587-11.885-7.552-1.53-4.73.48-10.428 4.888-12.864A11.083 11.083 0 0116 4.975zm.006 3.073l-7.62 5.531 2.91 8.95h9.42l2.91-8.95-7.62-5.53zm0 1.067l6.604 4.794-2.523 7.757h-8.162l-2.522-7.757 6.603-4.794z"}));function nW(){return nW=Object.assign?Object.assign.bind():function(e){for(var t=1;txS("svg",nW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M10.638 9.563V23.056h10.724V9.563H10.638zm.863.866h8.995v11.76H11.5V10.43zm.928 1.324v.862h7.139v-.862h-7.14zm0 2.605v.866h7.139v-.866h-7.14zm0 3.01v.863h7.139v-.863h-7.14zm0 2.72v.863h7.139v-.864h-7.14zM15.999.308h-.004l-.188.001h-.011l-.188.004h-.011L15.41.32h-.011l-.187.008h-.005L15.2.33l-.187.01h-.005l-.005.001-.187.013h-.011L14.62.37h-.01l-.186.018h-.011l-.185.02-.005.001h-.006l-.185.022-.005.001h-.005l-.185.025h-.005l-.005.001-.185.027h-.005l-.005.001-.184.029h-.005l-.005.001-.183.031-.006.001-.005.001-.182.033-.006.001-.005.001-.182.035-.005.001-.005.001-.182.038h-.005l-.005.002-.181.04h-.005l-.005.002-.18.042-.006.001-.005.001-.18.044-.005.002h-.005l-.17.045-.152.054-.139.082-.121.106-.1.127-.074.143-.046.155-.017.16.013.16.043.156.07.145.097.13.119.108.137.085.15.058.159.03.16-.001.133-.023.165-.043.168-.041.171-.04.171-.037.172-.036.17-.033.173-.03.17-.03.177-.027.171-.025.175-.022.175-.02.175-.02.176-.016.175-.014.177-.012.176-.01.177-.007.174-.006.177-.003.178-.001h.177l.178.004.174.006.177.007.176.01.177.012.175.014.176.017.175.018.175.02.175.023.171.025.176.027.17.03.174.03.17.033.171.036.154.033.16.02.161-.01.156-.04.146-.069.131-.094.111-.117.087-.135.061-.15.032-.158.002-.16-.027-.16-.057-.15L20 1.023l-.108-.12-.128-.097-.145-.073-.128-.038-.158-.035-.005-.001-.005-.001L19.14.62h-.005l-.005-.002-.182-.035h-.006L18.938.58l-.182-.033h-.006l-.005-.002-.183-.03-.005-.001-.006-.001-.183-.029h-.005l-.006-.001-.184-.027h-.005l-.005-.001-.185-.024h-.005L17.968.43 17.783.41l-.006-.001h-.005l-.185-.02h-.006l-.005-.001L17.39.37h-.005L17.38.368l-.187-.015h-.005l-.005-.001-.187-.013h-.011L16.8.328h-.011L16.6.32h-.011l-.187-.006h-.011L16.204.31h-.011L16.005.31H16zm9.016 2.935l-.16.004-.158.033-.15.062-.134.09-.116.111-.093.132-.067.147-.038.156-.01.161.022.16.05.153.078.141.103.124.102.087.045.034.142.106.137.105.14.11.136.11.135.112.134.115.134.117.13.115.132.122.128.12.127.122.126.125.124.126.124.128.121.13.118.128.118.132.117.133.113.134.113.136.11.136.109.137.109.142.104.14.103.14.101.142.1.144.099.146.095.145.094.147.093.15.092.15.087.149.087.15.084.152.084.155.08.152.08.155.04.081.084.138.11.119.128.096.145.072.155.043.16.013.16-.016.155-.046.144-.074.127-.099.106-.12.083-.14.055-.151.026-.16-.004-.16-.034-.158-.05-.124-.042-.085-.002-.004-.003-.005-.084-.165-.002-.004-.003-.005-.086-.164-.002-.004-.003-.005-.088-.162-.002-.005-.003-.005-.09-.161-.002-.005-.003-.004-.092-.16-.003-.005-.002-.005-.094-.16-.003-.004-.003-.004-.096-.159-.002-.004-.003-.005-.098-.157-.003-.004-.003-.005-.1-.156-.003-.004-.003-.005-.101-.154-.003-.005-.003-.004-.104-.154-.003-.004-.003-.005-.106-.152-.003-.005-.003-.004-.108-.151-.003-.004-.003-.005-.11-.15-.003-.004-.003-.004-.111-.15-.004-.003-.003-.005-.113-.147-.004-.004-.003-.005-.115-.146-.004-.004-.003-.004-.117-.145-.004-.004-.003-.004-.12-.144-.003-.004-.003-.004-.121-.142-.004-.004-.003-.004-.123-.141-.003-.004-.004-.004-.125-.14-.003-.004-.004-.004-.127-.138-.003-.004-.004-.004-.128-.136-.004-.004-.004-.004-.13-.135-.004-.004-.004-.004-.132-.134-.003-.004-.004-.003-.134-.133-.004-.003-.004-.004-.135-.13-.004-.004-.004-.004-.136-.128-.004-.004-.004-.004-.138-.126-.004-.004-.004-.003-.14-.125-.004-.004-.004-.003-.14-.123-.005-.004-.004-.003-.142-.121-.004-.004-.004-.003-.144-.12-.004-.003-.004-.003-.145-.117-.004-.004-.004-.003-.147-.115-.004-.004-.004-.003-.148-.113-.004-.003-.004-.004-.149-.111-.004-.003-.004-.004-.05-.036-.14-.083-.15-.055-.16-.027zm-18.381.344l-.161.008-.157.037-.147.066-.111.074-.04.032-.005.003-.004.004-.145.117-.004.003-.004.004-.144.119-.004.003-.004.004-.142.12-.004.004-.004.004-.141.123-.004.003-.004.004-.14.125-.004.003-.004.004-.138.126-.004.004-.004.004-.136.128-.004.004-.004.004-.135.13-.004.004-.004.003-.134.133-.004.003L4.682 5l-.132.134-.003.004-.004.004-.13.135-.004.004-.004.004-.128.136-.004.004-.004.004-.126.138-.004.004-.003.004-.125.14-.004.004-.003.004-.123.14-.004.005-.003.004-.121.142-.004.004-.003.004-.12.144-.003.004-.003.004-.117.145-.004.004-.003.004-.115.146-.004.005-.003.004-.113.147-.003.005-.004.004-.111.149-.003.004-.004.004-.11.15-.002.005-.003.004-.108.151-.003.004-.003.005-.106.152-.003.005-.003.004-.104.154-.003.004-.003.005-.102.154-.003.005-.002.004-.1.156-.003.005-.003.004-.098.157-.003.005-.003.004-.096.159-.002.004-.003.005-.094.16-.003.004-.002.004-.092.16-.003.005-.003.005-.09.161-.002.005-.003.005-.088.162-.002.005-.003.004-.086.164-.002.005-.002.004-.084.165-.003.005-.002.004-.082.166-.002.004-.003.005-.08.167-.002.004-.002.005-.078.168-.002.004-.002.005-.045.1-.053.153-.023.16.007.16.037.157.065.148.092.132.114.114.134.09.148.064.157.035.161.006.16-.025.152-.054.14-.08.121-.106.1-.126.065-.118.043-.095.074-.16.075-.155.077-.157.08-.155.08-.152.083-.155.085-.152.086-.15.088-.149.091-.15.094-.15.094-.147.095-.145.099-.146.1-.144.1-.142.104-.14.104-.14.11-.142.107-.137.11-.136.114-.136.113-.134.117-.133.118-.132.117-.129.122-.13.124-.127.123-.126.127-.125.127-.122.128-.12.132-.122.13-.115.133-.117.135-.115.135-.111.136-.11.037-.03.117-.11.094-.132.068-.146.04-.156.01-.161-.02-.16-.05-.154-.076-.141-.102-.125-.123-.104-.14-.08-.153-.051-.16-.023zM16 3.595h-.005l-.148.001h-.01l-.147.003h-.011l-.147.005h-.011l-.146.007h-.011l-.146.009h-.011l-.146.01h-.005l-.005.001-.146.012h-.011l-.145.014h-.006l-.005.001-.05.006-.158.031-.15.06-.135.088-.117.111-.094.13-.069.147-.04.156-.01.16.019.16.049.154.076.142.102.125.123.105.14.08.152.051.16.023.134-.003.045-.005.135-.013.133-.01.136-.01.135-.007.137-.006.136-.004.136-.003h.274l.136.003.136.004.136.006.136.007.136.01.133.01.135.013.135.014.135.016.134.018.132.018.134.021.133.023.133.024.133.025.13.027.132.03.132.03.129.031.13.034.129.035.129.036.13.04.126.038.128.042.126.042.128.045.127.047.126.047.12.048.127.051.123.052.006.002.147.048.16.021.16-.009.157-.038.147-.067.131-.093.112-.116.089-.135.062-.149.033-.158.004-.16-.027-.16-.055-.151-.083-.139-.107-.12-.127-.099-.118-.063-.004-.001-.005-.003-.005-.002-.133-.056-.005-.002-.005-.002-.134-.054-.004-.002-.005-.002-.135-.053-.005-.002-.005-.002-.135-.051-.005-.002-.005-.002-.135-.05-.005-.001-.005-.002-.137-.048-.005-.001-.005-.002-.137-.046-.005-.002-.005-.002-.137-.044-.005-.002-.005-.001-.138-.043-.006-.002-.005-.001-.138-.042-.005-.001-.005-.002-.14-.04H19.4l-.005-.002-.14-.038-.005-.001-.005-.002-.14-.036-.005-.001-.005-.001-.141-.035-.005-.001-.005-.001-.142-.033-.005-.001-.005-.001-.142-.031-.005-.002h-.005l-.142-.03-.005-.001-.005-.001-.143-.028h-.005l-.005-.002-.143-.025-.006-.001-.005-.001-.143-.024-.005-.001-.006-.001-.143-.022-.006-.001h-.005l-.144-.022h-.005l-.006-.001-.144-.019h-.005l-.006-.001-.144-.017h-.006l-.005-.001-.145-.016h-.011l-.145-.014H17.1l-.005-.001-.146-.012h-.01l-.146-.01-.006-.001h-.005l-.146-.009h-.011l-.147-.006h-.01L16.32 3.6h-.011l-.147-.003h-.011l-.147-.001H16zm-5.482 1.366l-.16.008-.157.037-.123.053-.06.032-.005.002-.004.003-.128.069-.004.002-.005.003-.126.07-.005.003-.004.002-.126.072-.005.003-.004.003-.125.073-.004.003-.005.003-.124.075-.004.003-.005.002-.123.077-.004.003-.005.003-.122.078-.004.003-.005.003-.121.08-.004.002-.005.003-.12.082-.005.003-.004.003-.12.083-.004.003-.004.003-.118.084-.005.003-.004.003-.118.086-.004.003-.004.003-.117.088-.004.003-.004.003-.116.089-.004.003-.004.004-.114.09-.005.003-.004.003-.113.092-.004.004-.004.003-.113.093-.004.004-.004.003-.111.095-.005.003-.004.004-.11.096-.004.004-.004.003-.11.098-.003.003-.004.004-.108.1-.004.003-.004.003-.107.101-.004.004-.004.003-.106.102-.004.004-.003.004-.105.103-.004.004-.004.004-.103.105-.004.004-.004.003-.102.106-.003.004-.004.004-.1.107-.004.004-.004.004-.099.108-.004.004-.003.004-.098.11-.003.003-.004.004-.096.11-.004.005-.003.004-.095.111-.003.004-.004.004-.093.113-.003.004-.004.004-.092.113-.003.004-.003.005-.09.114-.004.004-.003.004-.089.116-.003.004-.003.004-.088.117-.003.004-.003.004-.086.118-.003.004-.003.005-.084.118-.003.004-.003.005-.083.12-.003.003-.003.005-.082.12-.003.005-.002.004-.068.103-.076.142-.048.154-.018.16.011.161.041.156.07.146.095.13.117.11.136.086.15.06.158.03.162.002.158-.03.15-.057.138-.085.119-.109.082-.105.065-.099.075-.11.077-.113.077-.107.08-.11.08-.108.084-.108.083-.105.086-.106.086-.104.088-.104.089-.101.09-.102.093-.101.093-.099.094-.097.095-.096.098-.097.098-.095.099-.093.1-.092.103-.091.101-.089.104-.088.104-.086.106-.086.106-.083.106-.082.109-.082.108-.079.11-.078.11-.076.112-.076.112-.074.113-.072.113-.071.115-.07.115-.068.118-.067.117-.065.12-.065.054-.029.135-.088.116-.111.094-.132.068-.146.04-.156.009-.161-.02-.16-.05-.153-.078-.142-.102-.125-.123-.103-.141-.079-.153-.051-.16-.022zm13.91 2.116l-.162.008-.157.037-.147.066-.132.092-.113.116-.09.134-.063.148-.034.157-.005.162.025.159.055.152.082.138.086.103.09.09.094.098.092.099.093.1.091.103.089.101.088.104.086.104.086.106.083.105.083.108.08.108.081.11.077.107.077.112.075.111.075.114.072.113.071.113.07.114.068.118.067.115.065.118.064.117.062.117.061.121.059.119.059.122.056.121.054.12.055.125.051.123.051.125.048.123.048.127.047.126.044.125.043.128.042.129.039.126.038.13.022.076.058.15.085.137.11.119.129.096.145.07.155.043.16.013.161-.017.154-.046.144-.075.126-.1.106-.12.082-.14.055-.151.025-.16-.005-.16-.026-.132-.023-.082-.002-.005-.001-.005-.042-.139-.001-.005-.002-.005-.043-.138-.001-.005-.002-.005-.044-.137-.002-.005-.002-.005-.046-.137-.002-.005-.001-.005-.048-.137-.002-.005-.002-.005-.05-.135-.001-.005-.002-.005-.051-.135-.002-.005-.002-.005-.053-.135-.002-.005-.002-.005-.054-.133-.002-.005-.002-.005-.057-.133-.002-.005-.002-.005-.057-.132-.003-.005-.002-.005-.06-.132-.001-.005-.002-.004-.061-.132-.003-.004-.002-.005-.063-.13-.002-.005-.002-.005-.064-.13-.003-.004-.002-.005-.066-.129-.002-.004-.003-.005-.067-.128-.002-.005-.003-.004-.069-.128-.002-.004-.003-.005-.07-.126-.003-.005-.003-.004-.072-.126-.002-.005-.003-.004-.074-.125-.002-.004-.003-.005-.075-.124-.003-.004-.003-.005-.076-.123-.003-.004-.003-.005-.078-.122-.003-.004-.003-.005-.08-.121-.003-.004-.003-.005-.081-.12-.003-.005-.003-.004-.083-.12-.003-.004-.003-.004-.084-.118-.003-.005-.003-.004-.086-.118-.003-.004-.004-.004-.087-.117-.003-.004-.003-.004-.09-.116-.002-.004-.004-.004-.09-.114-.003-.005-.004-.004-.091-.113-.004-.004-.003-.004-.094-.113-.003-.004-.003-.004-.095-.111-.004-.004-.003-.004-.096-.11-.004-.005-.003-.004-.098-.11-.004-.003-.003-.004-.1-.108-.003-.004-.004-.004-.1-.107-.004-.004-.004-.004-.102-.106-.003-.003-.004-.004-.093-.095-.124-.103-.14-.08-.153-.05-.16-.023zM4.45 13.135l-.161.002-.158.032-.15.06-.135.088-.118.11-.094.131-.069.146-.035.129-.026.132v.005l-.002.005-.025.143-.001.005-.001.006-.024.143-.001.005-.001.006-.022.143-.001.006-.001.005-.02.144-.001.005-.001.005-.019.145v.005l-.001.006-.017.144v.006l-.001.005-.016.145v.011l-.014.145v.005l-.001.006-.012.146v.01l-.01.146-.001.006v.005l-.009.146v.011l-.007.146v.011l-.004.147v.011l-.003.147v.01l-.002.148v.01l.001.148v.01l.003.147v.011l.005.147v.01l.007.147v.011l.009.146v.011l.01.146v.01l.013.146v.011l.014.145v.005l.001.006.016.145v.011l.018.144v.006l.001.005.019.144v.006l.001.005.021.144v.005l.002.006.022.143v.006l.002.005.024.143v.005l.002.006.025.143.001.005.001.005.028.143.001.005.001.005.03.142v.005l.002.006.03.141.002.005.001.005.033.142v.005l.002.005.035.14v.006l.002.005.036.14.002.005.001.005.038.14.001.005.002.005.04.14v.005l.002.005.042.138.001.006.002.005.042.138.002.005.002.005.017.054.064.148.09.134.114.114.132.092.148.065.157.037.16.007.16-.023.153-.052.14-.08.123-.104.102-.125.076-.142.049-.153.02-.16-.011-.161-.031-.13-.017-.051-.039-.126-.038-.13-.037-.128-.035-.13-.033-.128-.033-.134-.03-.13-.029-.131-.026-.13-.026-.133-.024-.133-.023-.133-.02-.132-.02-.136-.017-.132-.016-.135-.014-.135-.012-.133-.012-.138-.009-.133-.007-.136-.006-.138-.004-.134-.003-.136v-.274l.003-.136.004-.134.006-.139.007-.136.01-.133.01-.138.013-.132.014-.135.016-.135.017-.132.02-.137.02-.13.023-.134.024-.133.024-.126.016-.16-.014-.161-.044-.155-.072-.145-.098-.128-.12-.108-.137-.084-.15-.057-.16-.029zm26.698 1.601l-.161.01-.157.04-.146.067-.131.093-.112.117-.088.135-.061.149-.033.157-.005.134.006.14.006.176.003.177.001.178-.001.177-.003.178-.006.177-.007.176-.01.177-.012.176-.015.176-.016.173-.018.175-.02.175-.024.174-.025.175-.026.17-.03.174-.03.173-.033.17-.036.172-.037.17-.04.17-.042.172-.043.168-.045.166-.048.169-.05.167-.052.168-.053.164-.056.166-.058.166-.06.16-.062.165-.062.158-.066.165-.068.16-.07.16-.07.158-.075.159-.074.155-.079.158-.08.158-.06.15-.03.158-.001.161.029.159.058.15.085.137.108.119.13.097.144.07.156.044.16.013.16-.017.155-.046.143-.074.127-.1.107-.12.07-.115.083-.164.003-.005.002-.004.082-.166.002-.005.003-.004.08-.167.002-.005.002-.004.078-.168.002-.005.002-.004.076-.169.002-.004.002-.005.074-.17.002-.004.002-.005.072-.17.002-.005.002-.005.07-.171.001-.005.002-.005.068-.172.002-.004.002-.005.065-.173.002-.005.002-.005.063-.173.002-.005.002-.005.06-.174.003-.005.001-.005.06-.175.001-.005.002-.005.057-.176.001-.005.002-.005.055-.177.001-.005.002-.005.052-.177.002-.005.001-.005.051-.178.001-.005.002-.005.048-.179.002-.005v-.005l.047-.179.001-.005.002-.005.044-.18v-.005l.002-.005.042-.18.001-.006.001-.005.04-.181.001-.005.001-.005.037-.182.002-.005v-.005l.036-.182v-.006l.002-.005.033-.182v-.006l.002-.005.03-.183.001-.005.001-.005.029-.184v-.005l.001-.006.027-.184v-.005l.001-.005.024-.185v-.005l.001-.005.022-.185v-.006l.001-.005.02-.185v-.006l.001-.005.017-.186v-.005l.001-.005.015-.187v-.005l.001-.005.013-.187v-.01l.01-.187.001-.006v-.005l.009-.187v-.011l.006-.187V16.7l.004-.188v-.011l.001-.188v-.01l-.001-.188v-.011l-.004-.188v-.011l-.006-.187v-.011l-.007-.145-.022-.16-.05-.152-.08-.141-.103-.124-.125-.102-.141-.077-.153-.05-.16-.02zm-30.21.572l-.161.001-.158.032-.15.06-.136.087-.117.11-.095.131-.068.146-.04.156-.012.133-.001.14v.01l.001.188v.011l.004.188v.011l.006.187v.011l.008.187v.011l.011.187v.005l.001.005.013.187v.01l.016.187v.01l.018.186v.011l.02.185.001.005v.006l.022.185.001.005v.005l.025.185v.005l.001.005.027.184v.006l.001.005.029.184v.005l.001.005.031.183.001.005.001.006.033.182.001.005.001.006.035.182.001.005.001.005.038.182v.005l.002.005.04.181v.005l.002.005.042.18.001.006.001.005.044.18.002.005v.005l.047.18.001.004.002.005.048.179.002.005.001.005.05.178.002.005.001.005.053.177.002.005.001.005.055.177.002.005.001.005.057.176.002.005.001.005.06.175.001.005.002.005.061.174.002.005.002.005.063.173.002.005.002.005.065.173.002.005.002.004.067.172.002.005.002.005.07.171.002.005.002.005.072.17.002.005.002.004.074.17.002.005.002.004.076.169.002.004.002.005.078.168.002.004.002.005.08.167.003.004.002.005.082.166.002.004.003.005.02.04.086.136.11.118.13.095.146.07.156.041.16.012.16-.019.155-.048.142-.075.126-.1.105-.123.08-.14.054-.152.024-.16-.006-.16-.036-.158-.051-.123-.018-.034-.078-.158-.074-.155-.074-.16-.071-.157-.07-.16-.068-.16-.067-.165-.062-.158-.062-.164-.059-.161-.058-.166-.056-.166-.053-.164-.052-.168-.05-.167-.048-.17-.045-.165-.043-.168-.043-.172-.039-.17-.037-.17-.036-.172-.033-.17-.03-.173-.03-.174-.027-.17-.025-.175-.022-.174-.021-.175-.018-.175-.017-.173-.014-.176-.012-.176-.01-.177-.007-.176-.006-.177-.003-.178-.001-.177v-.134l-.013-.16-.044-.156-.072-.144-.097-.129-.12-.108-.137-.085-.15-.057-.159-.028zm26.798 2.024l-.16.007-.157.038-.148.066-.132.092-.113.115-.09.134-.062.148-.03.127-.001.004-.023.134-.024.133-.026.133-.026.13-.03.132-.03.129-.032.134-.033.128-.035.13-.037.128-.038.13-.04.126-.04.128-.044.128-.044.126-.046.126-.048.126-.05.125-.05.125-.051.122-.054.123-.055.122-.056.12-.058.122-.06.12-.061.12-.063.119-.062.116-.067.119-.066.116-.069.115-.069.115-.07.113-.073.113-.074.112-.076.113-.077.112-.077.107-.08.11-.08.107-.085.11-.044.056-.088.135-.06.15-.033.158-.002.16.027.16.057.15.083.138.108.12.128.098.144.072.155.045.16.015.161-.016.155-.044.144-.073.128-.098.09-.099.05-.061.003-.004.003-.005.089-.115.003-.004.003-.005.088-.116.003-.004.003-.005.086-.117.003-.004.003-.005.084-.118.003-.004.003-.005.083-.12.003-.004.003-.004.081-.12.003-.005.003-.004.08-.121.003-.005.003-.004.078-.122.003-.005.003-.004.077-.123.002-.005.003-.004.075-.124.003-.005.003-.004.073-.125.003-.005.003-.004.072-.126.002-.004.003-.005.07-.126.003-.005.002-.005.07-.127.002-.004.002-.005.068-.128.002-.005.002-.004.066-.13.003-.004.002-.005.064-.13.002-.004.003-.005.062-.13.002-.005.003-.005.06-.13.003-.005.002-.005.06-.132.002-.005.002-.005.057-.132.003-.005.002-.005.056-.133.002-.005.002-.005.054-.134.002-.004.002-.005.053-.135.002-.005.002-.005.051-.135.002-.005.002-.005.05-.135.001-.005.002-.005.048-.137.001-.005.002-.005.046-.137.002-.005.002-.005.044-.137.002-.005.002-.005.042-.138.002-.005.001-.006.042-.138.001-.005.002-.005.04-.14v-.005l.002-.005.038-.14.001-.005.002-.005.036-.14.001-.005.001-.005.035-.141.001-.005.001-.005.033-.142.001-.005.001-.005.031-.141.001-.006.002-.005.029-.142v-.005l.002-.005.028-.143v-.005l.002-.005.025-.143.001-.006.001-.005.024-.143.001-.005.001-.006.001-.006.01-.161-.02-.16-.05-.154-.077-.141-.102-.125-.123-.104-.141-.079-.153-.051-.16-.022zM6.841 23.019l-.16.024-.152.053-.14.08-.122.105-.101.126-.076.142-.048.154-.018.16.011.161.041.156.07.146.077.109.04.048.003.004.003.004.095.111.003.004.004.004.096.11.004.005.003.004.098.109.003.004.004.004.1.108.003.004.003.004.101.107.004.004.003.004.102.105.004.004.004.004.103.105.004.004.004.003.105.104.003.004.004.003.106.102.004.004.004.004.107.1.004.004.004.004.108.099.004.003.004.004.11.098.003.003.004.004.11.096.004.003.005.004.11.095.005.003.004.004.113.093.004.003.004.004.113.091.004.004.005.003.114.09.004.004.004.003.116.089.004.003.004.003.117.088.004.003.004.003.118.086.004.003.005.003.118.084.004.003.005.003.119.083.004.003.005.003.12.081.005.003.004.003.121.08.005.003.004.003.122.078.005.003.004.003.123.076.005.003.004.003.124.075.005.003.004.003.125.073.004.003.005.002.126.073.004.002.005.003.126.07.005.003.004.002.128.07.004.002.005.002.128.067.005.003.004.002.13.066.004.002.005.003.13.064.004.002.005.003.13.062.005.002.004.003.132.06.004.003.005.002.132.06.005.002.005.002.132.057.005.002.005.002.133.057.005.002.005.002.133.054.005.002.005.002.13.05.154.045.16.016.16-.015.156-.045.144-.072.128-.098.108-.12.083-.138.057-.15.028-.16-.003-.16-.032-.159-.061-.149-.088-.135-.11-.117-.132-.094-.12-.058-.124-.049-.126-.051-.122-.051-.122-.054-.12-.054-.126-.058-.119-.057-.12-.06-.12-.06-.118-.063-.117-.064-.119-.066-.116-.066-.115-.068-.115-.07-.113-.07-.115-.074-.112-.074-.11-.075-.11-.076-.112-.08-.11-.08-.109-.081-.106-.082-.104-.082-.106-.086-.105-.087-.101-.086-.105-.091-.1-.09-.1-.091-.1-.094-.097-.094-.1-.098-.093-.095-.096-.1-.093-.098-.092-.101-.089-.1-.09-.102-.088-.104-.036-.043-.114-.114-.133-.091-.148-.065-.157-.036-.161-.006zm15.063 2.701l-.16.014-.156.044-.12.057-.06.034-.12.066-.117.064-.118.062-.12.061-.12.06-.118.057-.126.058-.12.054-.122.054-.122.05-.126.052-.125.05-.124.046-.127.047-.125.044-.129.043-.126.04-.13.042-.128.038-.127.035-.13.036-.131.034-.129.031-.132.03-.13.03-.135.027-.133.026-.13.023-.13.022-.137.021-.132.02-.134.017-.132.015-.138.015-.135.013-.133.01-.138.01-.136.007-.134.006-.136.004-.14.003-.16.018-.155.047-.142.076-.127.1-.105.122-.08.14-.054.151-.025.16.006.16.035.158.064.148.09.134.114.114.133.092.147.065.157.036.134.008.145-.002h.011l.147-.005h.01l.147-.007h.011l.146-.009h.011l.146-.01h.005l.005-.001.146-.012h.011l.145-.014h.005l.006-.001.145-.016h.011l.144-.018h.006l.005-.001.144-.02h.011l.144-.021.005-.001h.006l.143-.023.006-.001h.005l.143-.025h.005l.006-.002.143-.026h.005l.005-.002.143-.027.005-.001.005-.001.142-.03h.005l.005-.002.142-.03.005-.002.005-.001.142-.033.005-.001.005-.001.14-.035.006-.001.005-.001.14-.037h.005l.005-.002.14-.038.005-.002h.005l.14-.04.005-.002.005-.001.138-.042.005-.001.006-.002.138-.043.005-.001.005-.002.137-.044.005-.002.005-.002.137-.046.005-.002.005-.001.137-.048.005-.002.005-.002.135-.05.005-.001.005-.002.135-.051.005-.002.005-.002.135-.053.005-.002.004-.002.134-.054.005-.002.005-.002.133-.057.005-.002.005-.002.132-.057.005-.003.005-.002.132-.06.005-.001.004-.002.131-.061.005-.003.005-.002.13-.062.005-.003.005-.002.13-.064.004-.003.005-.002.128-.066.005-.002.005-.003.128-.067.005-.002.004-.003.127-.069.005-.002.005-.003.126-.07.005-.003.004-.003.065-.037.132-.093.112-.115.089-.135.062-.149.034-.157.003-.161-.026-.16-.055-.15-.082-.14-.107-.12-.127-.1-.144-.073-.154-.046-.16-.016zM6.33 27.127l-.16.023-.152.053-.14.08-.122.105-.101.126-.076.142-.048.154-.02.16.012.161.041.156.07.146.094.13.096.093.032.026.004.003.004.004.145.117.004.003.004.004.146.115.005.003.004.004.147.113.005.003.004.004.149.111.004.003.004.003.15.11.005.003.004.003.151.108.004.003.005.003.152.106.005.003.004.003.154.104.004.003.005.003.154.102.005.002.004.003.156.1.005.003.004.003.157.098.005.003.004.002.159.096.004.003.005.003.16.094.004.003.004.002.16.092.005.003.005.002.161.09.005.003.005.002.162.088.005.003.004.002.164.086.005.003.004.002.165.084.005.003.004.002.166.082.004.002.005.003.167.08.004.002.005.002.168.078.004.002.005.002.168.076.005.002.005.002.17.074.004.002.005.002.17.072.005.002.005.002.17.07.006.002.005.001.171.068.005.002.005.002.173.065.005.002.005.002.173.063.005.002.005.002.174.06.005.003.005.001.175.06.005.001.005.002.176.057.005.001.005.002.176.055.006.001.005.002.177.052.005.002.005.001.178.05.005.002.005.002.178.048.006.001.005.002.179.046.005.001.005.002.18.044h.005l.005.002.18.042.006.001.005.001.159.035.16.02.16-.01.157-.04.146-.069.13-.094.112-.117.087-.136.06-.149.033-.158.002-.161-.028-.159-.057-.15-.084-.138-.108-.12-.128-.098-.144-.072-.128-.039-.154-.033-.168-.04-.171-.041-.17-.044-.168-.046-.167-.047-.168-.05-.165-.051-.166-.054-.166-.056-.163-.057-.165-.06-.161-.062-.164-.064-.16-.065-.16-.068-.162-.07-.157-.07-.157-.074-.157-.075-.156-.077-.153-.079-.156-.082-.153-.082-.154-.086-.15-.086-.152-.09-.148-.09-.147-.092-.149-.095-.145-.095-.144-.098-.145-.1-.143-.102-.14-.103-.14-.104-.14-.108-.139-.11-.136-.11-.027-.022-.133-.091-.148-.065-.157-.036-.161-.006zm19.215.087l-.16.01-.157.039-.146.067-.11.076-.064.051-.139.11-.14.108-.14.104-.14.103-.143.101-.145.101-.144.098-.145.095-.149.095-.148.093-.147.089-.152.09-.15.086-.154.086-.153.082-.156.082-.153.079-.156.077-.157.075-.158.073-.157.071-.16.07-.16.068-.161.065-.164.064-.161.061-.165.06-.163.058-.166.056-.166.054-.166.051-.167.05-.167.047-.17.046-.168.044-.171.042-.168.039-.17.037-.11.023-.154.047-.143.075-.126.1-.106.122-.081.139-.054.152-.025.16.006.16.035.158.063.148.09.133.114.115.132.092.148.065.157.037.16.007.133-.016.115-.024.005-.001.005-.001.181-.04h.005l.005-.002.18-.042.006-.001.005-.001.18-.044.005-.002.005-.001.18-.046.004-.002h.005l.179-.05h.005l.005-.002.178-.05.005-.002.005-.002.177-.052.005-.002.005-.001.177-.055.005-.002.005-.001.176-.057.005-.002.005-.002.175-.059.005-.001.005-.002.174-.061.005-.002.005-.002.173-.063.005-.002.005-.002.173-.065.004-.002.005-.002.172-.068.005-.002.005-.002.171-.07.005-.001.005-.002.17-.072.005-.002.004-.002.17-.074.005-.002.004-.002.169-.076.004-.002.005-.002.168-.078.004-.002.005-.003.167-.08.004-.002.005-.002.166-.082.004-.002.005-.003.165-.084.004-.002.005-.003.163-.086.005-.002.005-.003.162-.088.005-.002.005-.003.161-.09.005-.002.004-.003.16-.092.005-.003.005-.002.16-.094.004-.003.004-.003.158-.096.005-.002.004-.003.158-.098.004-.003.005-.003.156-.1.004-.003.004-.003.155-.101.005-.003.004-.003.154-.104.004-.003.004-.003.153-.106.004-.003.005-.003.151-.108.004-.003.005-.003.15-.11.004-.003.004-.003.149-.112.004-.003.004-.003.148-.113.004-.004.004-.003.147-.115.004-.004.004-.003.068-.055.116-.113.092-.132.066-.147.038-.157.008-.16-.022-.16-.05-.153-.08-.14-.103-.125-.124-.102-.142-.077-.153-.05-.16-.02z"}));function oW(){return oW=Object.assign?Object.assign.bind():function(e){for(var t=1;txS("svg",oW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M16.012 9.222c-1.673 4.657-2.735 9.508-4.409 14.164 1.536-1.526 2.874-3.236 4.41-4.762l4.408 4.762c-1.497-4.712-2.911-9.451-4.409-14.164zm.032 2.93c.823 2.588 1.599 5.19 2.421 7.777l-2.42-2.614c-.683.598-2.454 2.886-2.34 2.39.871-2.489 1.448-5.07 2.34-7.552zM16.012.312c-1.448.02-2.93.157-4.302.628-.852.447-.255 1.863.66 1.574 2.255-.608 4.648-.607 6.922-.108.934.075 1.228-1.376.338-1.67C18.451.44 17.227.317 16.012.311zm9.012 2.934c-.913-.104-1.272 1.258-.454 1.648 1.834 1.36 3.293 3.185 4.31 5.22.526.776 1.842.098 1.515-.78a15.522 15.522 0 00-5.06-6.006c-.1-.044-.203-.07-.31-.082zM6.65 3.59c-.762.089-1.24.809-1.805 1.267C3.38 6.295 2.163 8.007 1.37 9.905c-.266.898 1.094 1.484 1.564.675a14.825 14.825 0 014.327-5.56c.476-.515.09-1.419-.612-1.431zm9.362.007c-.698.066-1.689-.16-2.033.635-.282.733.535 1.358 1.217 1.125 1.806-.147 3.63.203 5.293.907.902.255 1.472-1.112.656-1.573-1.6-.735-3.374-1.089-5.133-1.094zm-5.479 1.365c-.835.15-1.517.76-2.21 1.226-1.203.94-2.318 2.061-3.057 3.402-.33.904 1.063 1.552 1.547.723 1.045-1.656 2.596-2.925 4.285-3.873.545-.499.171-1.463-.565-1.478zm13.903 2.115c-.875-.07-1.22 1.173-.501 1.627 1.325 1.34 2.188 3.062 2.748 4.84.468.84 1.869.21 1.557-.699-.604-2.118-1.751-4.097-3.351-5.615a.93.93 0 00-.453-.153zM4.467 13.132c-.822-.07-.996.826-1.046 1.455-.256 1.93-.094 3.933.562 5.769.406.844 1.807.365 1.612-.551a11.498 11.498 0 01-.334-5.808.874.874 0 00-.794-.865zm26.687 1.6c-.746-.037-1.014.785-.879 1.395.043 2.393-.57 4.771-1.66 6.894-.31.884 1.02 1.536 1.53.75a15.632 15.632 0 001.821-8.372.876.876 0 00-.812-.667zm-30.197.571c-.782-.073-1.044.775-.933 1.404.068 2.414.661 4.833 1.809 6.962.534.77 1.842.076 1.505-.798a14.833 14.833 0 01-1.603-6.861.876.876 0 00-.778-.707zm26.787 2.024c-.777-.048-.952.797-1.021 1.392-.354 1.692-1.202 3.231-2.216 4.608-.407.872.925 1.638 1.48.852 1.361-1.733 2.296-3.827 2.582-6.017a.874.874 0 00-.825-.835zM6.857 23.012c-.808.018-1.082 1.122-.47 1.59 1.393 1.607 3.187 2.886 5.194 3.599.91.222 1.43-1.165.598-1.596a11.495 11.495 0 01-4.723-3.396.899.899 0 00-.599-.197zm15.057 2.7c-.81.194-1.504.76-2.325.972-1.203.458-2.5.536-3.758.664-.869.307-.573 1.728.346 1.663 2.201-.034 4.412-.626 6.293-1.778.604-.495.227-1.532-.556-1.521zM6.346 27.118c-.833.008-1.11 1.218-.395 1.617 1.986 1.602 4.358 2.749 6.868 3.226.933.076 1.227-1.376.338-1.67a14.838 14.838 0 01-6.345-3.066.929.929 0 00-.466-.107zm19.208.087c-.766.09-1.241.841-1.922 1.158-1.516.991-3.251 1.58-4.996 2.005-.872.405-.346 1.849.584 1.604 2.543-.526 4.98-1.66 6.963-3.344.47-.52.072-1.42-.63-1.423z"}));function sW(){return sW=Object.assign?Object.assign.bind():function(e){for(var t=1;txS("svg",sW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M8.742 10.464v11.072h14.516V10.464H8.742zm3.224 1.73h8.066a69569 69569 0 00-4.034 3.22l-4.032-3.22zm9.565 1.018v6.594H10.469v-6.593L16 17.63l5.532-4.419zM16 0h-.005l-.188.001h-.011l-.188.004h-.011l-.187.006h-.011l-.187.008h-.005L15.2.02l-.187.01h-.005l-.005.001-.187.013h-.011L14.62.06h-.01l-.186.018h-.011l-.185.02-.005.001h-.006l-.185.022-.005.001h-.005l-.185.025h-.005l-.005.001-.185.027h-.005l-.005.001-.184.029h-.005l-.005.001-.183.031-.006.001-.005.001-.182.033-.006.001-.005.001-.182.035-.005.001-.005.001-.182.038h-.005l-.005.002-.181.04h-.005l-.005.002-.18.042-.006.001-.005.001-.18.044-.005.002h-.005l-.17.045-.152.054-.139.082-.121.106-.1.127-.074.143-.046.155-.017.16.013.16.043.156.07.145.097.13.119.108.137.085.15.058.159.03.16-.001.133-.023.165-.043.168-.041.171-.04.171-.037.172-.036.17-.033.173-.03.17-.03.177-.027.171-.025.175-.022.175-.02.175-.02.176-.016.175-.014.177-.012.176-.01.177-.007.174-.006.177-.003L16 1.73h.177l.178.004.174.006.177.007.176.01.177.012.175.014.176.017.175.018.175.02.175.023.171.025.176.027.17.03.174.03.17.033.171.036.154.033.16.02.161-.01.156-.04.146-.069.131-.094.111-.117.087-.135.061-.15.032-.158.002-.16-.027-.16-.057-.15L20 .714l-.108-.12-.128-.097-.145-.073-.128-.038-.158-.035-.005-.001-.005-.001L19.14.31h-.005l-.005-.002-.182-.035h-.006l-.005-.002-.182-.033h-.006l-.005-.002-.183-.03-.005-.001-.006-.001-.183-.029h-.005l-.006-.001-.184-.027h-.005l-.005-.001-.185-.024h-.005L17.968.12 17.783.1l-.006-.001h-.005l-.185-.02h-.006l-.005-.001L17.39.06h-.005L17.38.06l-.187-.015h-.005l-.005-.001-.187-.013h-.011L16.8.02h-.011L16.6.01h-.011l-.187-.006h-.011L16.204 0h-.011L16.005 0H16zm9.015 2.935l-.16.004-.158.033-.15.062-.134.09-.116.111-.093.132-.067.147-.038.156-.01.161.022.16.05.153.078.141.103.124.102.087.045.034.142.106.137.105.14.11.136.11.135.112.134.115.134.117.13.115.132.122.128.12.127.122.126.125.124.126.124.128.121.13.118.128.118.132.117.133.113.134.113.136.11.136.109.137.109.142.104.14.103.14.101.142.1.144.099.146.095.145.094.147.093.15.092.15.087.149.087.15.084.152.084.155.08.152.08.155.04.081.084.138.11.119.128.096.145.072.155.043.16.013.16-.016.155-.046.144-.074.127-.099.106-.12.083-.14.055-.151.026-.16-.004-.16-.034-.158-.05-.124-.042-.085-.002-.004-.003-.005-.084-.165-.002-.004-.003-.005-.086-.164-.002-.004-.003-.005-.088-.162-.002-.005-.003-.005-.09-.161-.002-.005-.003-.004-.092-.16-.003-.005-.002-.005-.094-.16-.003-.004-.003-.004-.096-.159-.002-.004-.003-.005-.098-.157-.003-.004-.003-.005-.1-.156-.003-.004-.003-.005-.101-.154-.003-.005-.003-.004-.104-.154-.003-.004-.003-.005-.106-.152-.003-.005-.003-.004-.108-.151-.003-.004-.003-.005-.11-.15-.003-.004-.003-.004-.111-.15-.004-.003-.003-.005-.113-.147-.004-.004-.003-.005-.115-.146-.004-.004-.003-.004-.117-.145-.004-.004-.003-.004-.12-.144-.003-.004-.003-.004-.121-.142-.004-.004-.003-.004-.123-.141-.003-.004-.004-.004-.125-.14-.003-.004-.004-.004-.127-.138-.003-.004-.004-.004-.128-.136-.004-.004-.004-.004-.13-.135-.004-.004-.004-.004-.132-.134-.003-.004-.004-.003-.134-.133-.004-.003-.004-.004-.135-.13-.004-.004-.004-.004-.136-.128-.004-.004-.004-.004-.138-.126-.004-.004-.004-.003-.14-.125-.004-.004-.004-.003-.14-.123-.005-.004-.004-.003-.142-.121-.004-.004-.004-.003-.144-.12-.004-.003-.004-.003-.145-.117-.004-.004-.004-.003-.147-.115-.004-.004-.004-.003-.148-.113-.004-.003-.004-.004-.149-.111-.004-.003-.004-.004-.05-.036-.14-.083-.15-.055-.16-.027zM6.634 3.28l-.161.008-.157.037-.147.066-.111.074-.04.032-.005.003-.004.004-.145.117-.004.003-.004.004-.144.119-.004.003-.004.004-.142.12-.004.004-.004.004-.141.123-.004.003-.004.004-.14.125-.004.003-.004.004-.138.126-.004.004-.004.004-.136.128-.004.004-.004.004-.135.13-.004.004-.004.003-.134.133-.004.003-.004.004-.132.134-.003.004-.004.004-.13.135-.004.004-.004.004-.128.136-.004.004-.004.004-.126.138-.004.004-.003.004-.125.14-.004.004-.003.004-.123.14-.004.005-.003.004-.121.142-.004.004-.003.004-.12.144-.003.004-.003.004-.117.145-.004.004-.003.004-.115.146-.004.005-.003.004-.113.147-.003.005-.004.004-.111.149-.003.004-.004.004-.11.15-.002.005-.003.004-.108.151-.003.004-.003.005-.106.152-.003.005-.003.004-.104.154-.003.004-.003.005-.102.154-.003.005-.002.004-.1.156-.003.005-.003.004-.098.157-.003.005-.003.004-.096.159-.002.004-.003.005-.094.16-.003.004-.002.004-.092.16-.003.005-.003.005-.09.161-.002.005-.003.005-.088.162-.002.005-.003.004-.086.164-.002.005-.002.004-.084.165-.003.005-.002.004-.082.166-.002.004-.003.005-.08.167-.002.004-.002.005-.078.168-.002.004-.002.005-.045.1-.053.153-.023.16.007.16.037.157.065.148.092.132.114.114.134.09.148.064.157.035.161.006.16-.025.152-.054.14-.08.121-.106.1-.126.065-.118.043-.095.074-.16.075-.155.077-.157.08-.155.08-.152.083-.155.085-.152.086-.15.088-.149.091-.15.094-.15.094-.147.095-.145.099-.146.1-.144.1-.142.104-.14.104-.14.11-.142.107-.137.11-.136.114-.136.113-.134.117-.133.118-.132.117-.129.122-.13.124-.127.123-.126.127-.125.127-.122.128-.12.132-.122.13-.115.133-.117.135-.115.135-.111.136-.11.037-.03.117-.11.094-.132.068-.146.04-.156.01-.161-.02-.16-.05-.154-.076-.141-.102-.125-.123-.104-.14-.08-.153-.051-.16-.023zM16 3.286h-.005l-.148.001h-.01l-.147.003h-.011l-.147.005h-.011l-.146.007h-.011l-.146.009h-.011l-.146.01h-.005l-.005.001-.146.012h-.011l-.145.014h-.006l-.005.001-.05.006-.158.031-.15.06-.135.088-.117.111-.094.13-.069.147-.04.156-.01.16.019.16.049.154.076.142.102.125.123.105.14.08.152.051.16.023.134-.003.045-.005.135-.013.133-.01.136-.01.135-.007.137-.006.136-.004.136-.003h.274l.136.003.136.004.136.006.136.007.136.01.133.01.135.013.135.014.135.016.134.018.132.018.134.021.133.023.133.024.133.025.13.027.132.03.132.03.129.031.13.034.129.035.129.036.13.04.126.038.128.042.126.042.128.045.127.047.126.047.12.048.127.051.123.052.006.002.147.048.16.021.16-.009.157-.038.147-.067.131-.093.112-.116.089-.135.062-.149.033-.158.004-.16-.027-.16-.055-.151-.083-.139-.107-.12-.127-.099-.118-.063-.004-.001-.005-.003-.005-.002-.133-.056-.005-.002-.005-.002-.134-.054-.004-.002-.005-.002-.135-.053-.005-.002-.005-.002-.135-.051-.005-.002-.005-.002-.135-.05-.005-.001-.005-.002-.137-.048-.005-.001-.005-.002-.137-.046-.005-.002-.005-.002-.137-.044-.005-.002-.005-.001-.138-.043-.006-.002-.005-.001-.138-.042-.005-.001-.005-.002-.14-.04H19.4l-.005-.002-.14-.038-.005-.001-.005-.002-.14-.036-.005-.001-.005-.001-.141-.035-.005-.001-.005-.001-.142-.033-.005-.001-.005-.001-.142-.031-.005-.002h-.005l-.142-.03-.005-.001-.005-.001-.143-.028h-.005l-.005-.002-.143-.025-.006-.001-.005-.001-.143-.024-.005-.001-.006-.001-.143-.022-.006-.001h-.005l-.144-.022h-.005l-.006-.001-.144-.019h-.005l-.006-.001-.144-.017h-.006l-.005-.001-.145-.016h-.011l-.145-.014H17.1l-.005-.001-.146-.012h-.01l-.146-.01-.006-.001h-.005l-.146-.009h-.011l-.147-.006h-.01l-.147-.005h-.011l-.147-.003h-.011l-.147-.001H16zm-5.482 1.366l-.16.008-.157.037-.123.053-.06.032-.005.002-.004.003-.128.069-.004.002-.005.003-.126.07-.005.003-.004.002-.126.072-.005.003-.004.003-.125.073-.004.003-.005.003-.124.075-.004.003-.005.002-.123.077-.004.003-.005.003-.122.078-.004.003-.005.003-.121.08-.004.002-.005.003-.12.082-.005.003-.004.003-.12.083-.004.003-.004.003-.118.084-.005.003-.004.003-.118.086-.004.003-.004.003-.117.088-.004.003-.004.003-.116.089-.004.003-.004.004-.114.09-.005.003-.004.003-.113.092-.004.004-.004.003-.113.093-.004.004-.004.003-.111.095-.005.003-.004.004-.11.096-.004.004-.004.003-.11.098-.003.003-.004.004-.108.1-.004.003-.004.003-.107.101-.004.004-.004.003-.106.102-.004.004-.003.004-.105.103-.004.004-.004.004-.103.105-.004.004-.004.003-.102.106-.003.004-.004.004-.1.107-.004.004-.004.004-.099.108-.004.004-.003.004-.098.11-.003.003-.004.004-.096.11-.004.005-.003.004-.095.111-.003.004-.004.004-.093.113-.003.004-.004.004-.092.113-.003.004-.003.005-.09.114-.004.004-.003.004-.089.116-.003.004-.003.004-.088.117-.003.004-.003.004-.086.118-.003.004-.003.005-.084.118-.003.004-.003.005-.083.12-.003.003-.003.005-.082.12-.003.005-.002.004-.068.103-.076.142-.048.154-.018.16.011.161.041.156.07.146.095.13.117.11.136.086.15.06.158.03.162.002.158-.03.15-.057.138-.085.119-.109.082-.105.065-.099.075-.11.077-.113.077-.107.08-.11.08-.108.084-.108.083-.105.086-.106.086-.104.088-.104.089-.101.09-.102.093-.101.093-.099.094-.097.095-.096.098-.097.098-.095.099-.093.1-.092.103-.091.101-.089.104-.088.104-.086.106-.086.106-.083.106-.082.109-.082.108-.079.11-.078.11-.076.112-.076.112-.074.113-.072.113-.071.115-.07.115-.068.118-.067.117-.065.12-.065.054-.029.135-.088.116-.111.094-.132.068-.146.04-.156.009-.161-.02-.16-.05-.153-.078-.142-.102-.125-.123-.103-.141-.079-.153-.051-.16-.022zm13.91 2.116l-.162.008-.157.037-.147.066-.132.092-.113.116-.09.134-.063.148-.034.157-.005.162.025.159.055.152.082.138.086.103.09.09.094.098.092.099.093.1.091.103.089.101.088.104.086.104.086.106.083.105.083.108.08.108.081.11.077.107.077.112.075.111.075.114.072.113.071.113.07.114.068.118.067.115.065.118.064.117.062.117.061.121.059.119.059.122.056.121.054.12.055.125.051.123.051.125.048.123.048.127.047.126.044.125.043.128.042.129.039.126.038.13.022.076.058.15.085.137.11.119.129.096.145.07.155.043.16.013.161-.017.154-.046.144-.075.126-.1.106-.12.082-.14.055-.151.025-.16-.005-.16-.026-.132-.023-.082-.002-.005-.001-.005-.042-.139-.001-.005-.002-.005-.043-.138-.001-.005-.002-.005-.044-.137-.002-.005-.002-.005-.046-.137-.002-.005-.001-.005-.048-.137-.002-.005-.002-.005-.05-.135-.001-.005-.002-.005-.051-.135-.002-.005-.002-.005-.053-.135-.002-.005-.002-.005-.054-.133-.002-.005-.002-.005-.057-.133-.002-.005-.002-.005-.057-.132-.003-.005-.002-.005-.06-.132-.001-.005-.002-.004-.061-.132-.003-.004-.002-.005-.063-.13-.002-.005-.002-.005-.064-.13-.003-.004-.002-.005-.066-.129-.002-.004-.003-.005-.067-.128-.002-.005-.003-.004-.069-.128-.002-.004-.003-.005-.07-.126-.003-.005-.003-.004-.072-.126-.002-.005-.003-.004-.074-.125-.002-.004-.003-.005-.075-.124-.003-.004-.003-.005-.076-.123-.003-.004-.003-.005-.078-.122-.003-.004-.003-.005-.08-.121-.003-.004-.003-.005-.081-.12-.003-.005-.003-.004-.083-.12-.003-.004-.003-.004-.084-.118-.003-.005-.003-.004-.086-.118-.003-.004-.004-.004-.087-.117-.003-.004-.003-.004-.09-.116-.002-.004-.004-.004-.09-.114-.003-.005-.004-.004-.091-.113-.004-.004-.003-.004-.094-.113-.003-.004-.003-.004-.095-.111-.004-.004-.003-.004-.096-.11-.004-.005-.003-.004-.098-.11-.004-.003-.003-.004-.1-.108-.003-.004-.004-.004-.1-.107-.004-.004-.004-.004-.102-.106-.003-.003-.004-.004-.093-.095-.124-.103-.14-.08-.153-.05-.16-.023zM4.45 12.826l-.161.002-.158.032-.15.06-.135.088-.118.11-.094.131-.069.146-.035.129-.026.132v.005l-.002.005-.025.143-.001.005-.001.006-.024.143-.001.005-.001.006-.022.143-.001.006-.001.005-.02.144-.001.005-.001.005-.019.145v.005l-.001.006-.017.144v.006l-.001.005-.016.145v.011l-.014.145v.005l-.001.006-.012.146v.01l-.01.146-.001.006v.005l-.009.146v.011l-.007.146v.011l-.004.147v.011l-.003.147v.01l-.002.148v.01l.001.148v.01l.003.147v.011l.005.147v.01l.007.147v.011l.009.146v.011l.01.146v.01l.013.146v.011l.014.145v.005l.001.006.016.145v.011l.018.144v.006l.001.005.019.144v.006l.001.005.021.144v.005l.002.006.022.143v.006l.002.005.024.143v.005l.002.006.025.143.001.005.001.005.028.143.001.005.001.005.03.142v.005l.002.006.03.141.002.005.001.005.033.142v.005l.002.005.035.14v.006l.002.005.036.14.002.005.001.005.038.14.001.005.002.005.04.14v.005l.002.005.042.138.001.006.002.005.042.138.002.005.002.005.017.054.064.148.09.134.114.114.132.092.148.065.157.037.16.007.16-.023.153-.052.14-.08.123-.104.102-.125.076-.142.049-.153.02-.16-.011-.161-.031-.13-.017-.051-.039-.126-.038-.13-.037-.128-.035-.13-.033-.128-.033-.134-.03-.13-.029-.131-.026-.13-.026-.133-.024-.133-.023-.133-.02-.132-.02-.136-.017-.132-.016-.135-.014-.135-.012-.133-.012-.138-.009-.133-.007-.136-.006-.138-.004-.134-.003-.136v-.274l.003-.136.004-.134.006-.139.007-.136.01-.133.01-.138.013-.132.014-.135.016-.135.017-.132.02-.137.02-.13.023-.134.024-.133.024-.126.016-.16-.014-.161-.044-.155-.072-.145-.098-.128-.12-.108-.137-.084-.15-.057-.16-.029zm26.698 1.601l-.161.01-.157.04-.146.067-.131.093-.112.117-.088.135-.061.149-.033.157-.005.134.006.14.006.176.003.177.001.178-.001.177-.003.178-.006.177-.007.176-.01.177-.012.176-.015.176-.016.173-.018.175-.02.175-.024.174-.025.175-.026.17-.03.174-.03.173-.033.17-.036.172-.037.17-.04.17-.042.172-.043.168-.045.166-.048.169-.05.167-.052.168-.053.164-.056.166-.058.166-.06.16-.062.165-.062.158-.066.165-.068.16-.07.16-.07.158-.075.159-.074.155-.079.158-.08.158-.06.15-.03.158-.001.161.029.159.058.15.085.137.108.119.13.097.144.07.156.044.16.013.16-.017.155-.046.143-.074.127-.1.107-.12.07-.115.083-.164.003-.005.002-.004.082-.166.002-.005.003-.004.08-.167.002-.005.002-.004.078-.168.002-.005.002-.004.076-.169.002-.004.002-.005.074-.17.002-.004.002-.005.072-.17.002-.005.002-.005.07-.171.001-.005.002-.005.068-.172.002-.004.002-.005.065-.173.002-.005.002-.005.063-.173.002-.005.002-.005.06-.174.003-.005.001-.005.06-.175.001-.005.002-.005.057-.176.001-.005.002-.005.055-.177.001-.005.002-.005.052-.177.002-.005.001-.005.051-.178.001-.005.002-.005.048-.179.002-.005v-.005l.047-.179.001-.005.002-.005.044-.18v-.005l.002-.005.042-.18.001-.006.001-.005.04-.181.001-.005.001-.005.037-.182.002-.005v-.005l.036-.182v-.006l.002-.005.033-.182v-.006l.002-.005.03-.183.001-.005.001-.005.029-.184v-.005l.001-.006.027-.184v-.005l.001-.005.024-.185v-.005l.001-.005.022-.185v-.006l.001-.005.02-.185v-.006l.001-.005.017-.186v-.005l.001-.005.015-.187v-.005l.001-.005.013-.187v-.01l.01-.187.001-.006v-.005l.009-.187v-.011l.006-.187v-.011l.004-.188v-.011l.001-.188v-.01l-.001-.188v-.011l-.004-.188v-.011l-.006-.187v-.011l-.007-.145-.022-.16-.05-.152-.08-.141-.103-.124-.125-.102-.141-.077-.153-.05-.16-.02zM.938 15L.777 15l-.158.032-.15.06-.136.087-.117.11-.095.131-.068.146-.04.156-.012.133-.001.14v.01l.001.188v.011l.004.188v.011l.006.187v.011l.008.187v.011l.011.187v.005l.001.005.013.187v.01l.016.187v.01l.018.186v.011l.02.185.001.005v.006l.022.185.001.005v.005l.025.185v.005l.001.005.027.184v.006l.001.005.029.184v.005l.001.005.031.183.001.005.001.006.033.182.001.005.001.006.035.182.001.005.001.005.038.182v.005l.002.005.04.181v.005l.002.005.042.18.001.006.001.005.044.18.002.005v.005l.047.18.001.004.002.005.048.179.002.005.001.005.05.178.002.005.001.005.053.177.002.005.001.005.055.177.002.005.001.005.057.176.002.005.001.005.06.175.001.005.002.005.061.174.002.005.002.005.063.173.002.005.002.005.065.173.002.005.002.004.067.172.002.005.002.005.07.171.002.005.002.005.072.17.002.005.002.004.074.17.002.005.002.004.076.169.002.004.002.005.078.168.002.004.002.005.08.167.003.004.002.005.082.166.002.004.003.005.02.04.086.136.11.118.13.095.146.07.156.041.16.012.16-.019.155-.048.142-.075.126-.1.105-.123.08-.14.054-.152.024-.16-.006-.16-.036-.158-.051-.123-.018-.034-.078-.158L3.1 22.1l-.074-.16-.071-.157-.07-.16-.068-.16-.067-.165-.062-.158-.062-.164-.059-.161-.058-.166-.056-.166-.053-.164-.052-.168-.05-.167-.048-.17-.045-.165-.043-.168-.043-.172-.039-.17-.037-.17-.036-.172-.033-.17-.03-.173-.03-.174-.027-.17-.025-.175-.022-.174-.021-.175-.018-.175-.017-.173-.014-.176-.012-.176-.01-.177-.007-.176-.006-.177-.003-.178L1.73 16v-.134l-.013-.16-.044-.156-.072-.144-.097-.129-.12-.108-.137-.085-.15-.057L.938 15zm26.798 2.024l-.16.007-.157.038-.148.066-.132.092-.113.115-.09.134-.062.148-.03.127-.001.004-.023.134-.024.133-.026.133-.026.13-.03.132-.03.129-.032.134-.033.128-.035.13-.037.128-.038.13-.04.126-.04.128-.044.128-.044.126-.046.126-.048.126-.05.125-.05.125-.051.122-.054.123-.055.122-.056.12-.058.122-.06.12-.061.12-.063.119-.062.116-.067.119-.066.116-.069.115-.069.115-.07.113-.073.113-.074.112-.076.113-.077.112-.077.107-.08.11-.08.107-.085.11-.044.056-.088.135-.06.15-.033.158-.002.16.027.16.057.15.083.138.108.12.128.098.144.072.155.045.16.015.161-.016.155-.044.144-.073.128-.098.09-.099.05-.061.003-.004.003-.005.089-.115.003-.004.003-.005.088-.116.003-.004.003-.005.086-.117.003-.004.003-.005.084-.118.003-.004.003-.005.083-.12.003-.004.003-.004.081-.12.003-.005.003-.004.08-.121.003-.005.003-.004.078-.122.003-.005.003-.004.077-.123.002-.005.003-.004.075-.124.003-.005.003-.004.073-.125.003-.005.003-.004.072-.126.002-.004.003-.005.07-.126.003-.005.002-.005.07-.127.002-.004.002-.005.068-.128.002-.005.002-.004.066-.13.003-.004.002-.005.064-.13.002-.004.003-.005.062-.13.002-.005.003-.005.06-.13.003-.005.002-.005.06-.132.002-.005.002-.005.057-.132.003-.005.002-.005.056-.133.002-.005.002-.005.054-.134.002-.004.002-.005.053-.135.002-.005.002-.005.051-.135.002-.005.002-.005.05-.135.001-.005.002-.005.048-.137.001-.005.002-.005.046-.137.002-.005.002-.005.044-.137.002-.005.002-.005.042-.138.002-.005.001-.006.042-.138.001-.005.002-.005.04-.14V19.4l.002-.005.038-.14.001-.005.002-.005.036-.14.001-.005.001-.005.035-.141.001-.005.001-.005.033-.142.001-.005.001-.005.031-.141.001-.006.002-.005.029-.142v-.005l.002-.005.028-.143v-.005l.002-.005.025-.143.001-.006.001-.005.024-.143.001-.005.001-.006.001-.006.01-.161-.02-.16-.05-.154-.077-.141-.102-.125-.123-.104-.141-.079-.153-.051-.16-.022zM6.841 22.71l-.16.024-.152.053-.14.08-.122.105-.101.126-.076.142-.048.154-.018.16.011.161.041.156.07.146.077.109.04.048.003.004.003.004.095.111.003.004.004.004.096.11.004.005.003.004.098.109.003.004.004.004.1.108.003.004.003.004.101.107.004.004.003.004.102.105.004.004.004.004.103.105.004.004.004.003.105.104.003.004.004.003.106.102.004.004.004.004.107.1.004.004.004.004.108.099.004.003.004.004.11.098.003.003.004.004.11.096.004.003.005.004.11.095.005.003.004.004.113.093.004.003.004.004.113.091.004.004.005.003.114.09.004.004.004.003.116.089.004.003.004.003.117.088.004.003.004.003.118.086.004.003.005.003.118.084.004.003.005.003.119.083.004.003.005.003.12.081.005.003.004.003.121.08.005.003.004.003.122.078.005.003.004.003.123.076.005.003.004.003.124.075.005.003.004.003.125.073.004.003.005.002.126.073.004.002.005.003.126.07.005.003.004.002.128.07.004.002.005.002.128.067.005.003.004.002.13.066.004.002.005.003.13.064.004.002.005.003.13.062.005.002.004.003.132.06.004.003.005.002.132.06.005.002.005.002.132.057.005.002.005.002.133.057.005.002.005.002.133.054.005.002.005.002.13.05.154.045.16.016.16-.015.156-.045.144-.072.128-.098.108-.12.083-.138.057-.15.028-.16-.003-.16-.032-.159-.061-.149-.088-.135-.11-.117-.132-.094-.12-.058-.124-.049-.126-.051-.122-.051-.122-.054-.12-.054-.126-.058-.119-.057-.12-.06-.12-.06-.118-.063-.117-.064-.119-.066-.116-.066-.115-.068-.115-.07-.113-.07-.115-.074-.112-.074-.11-.075-.11-.076-.112-.08-.11-.08-.109-.081-.106-.082-.104-.082-.106-.086-.105-.087-.101-.086-.105-.091-.1-.09-.1-.091-.1-.094-.097-.094-.1-.098-.093-.095-.096-.1-.093-.098-.092-.101-.089-.1-.09-.102-.088-.104-.036-.043-.114-.114-.133-.091-.148-.065-.157-.036-.161-.006zm15.063 2.701l-.16.014-.156.044-.12.057-.06.034-.12.066-.117.064-.118.062-.12.061-.12.06-.118.057-.126.058-.12.054-.122.054-.122.05-.126.052-.125.05-.124.046-.127.047-.125.044-.129.043-.126.04-.13.042-.128.038-.127.035-.13.036-.131.034-.129.031-.132.03-.13.03-.135.027-.133.026-.13.023-.13.022-.137.021-.132.02-.134.017-.132.015-.138.015-.135.013-.133.01-.138.01-.136.007-.134.006-.136.004-.14.003-.16.018-.155.047-.142.076-.127.1-.105.122-.08.14-.054.151-.025.16.006.16.035.158.064.148.09.134.114.114.133.092.147.065.157.036.134.008.145-.002h.011l.147-.005h.01l.147-.007h.011l.146-.009h.011l.146-.01h.005l.005-.001.146-.012h.011l.145-.014h.005l.006-.001.145-.016h.011l.144-.018h.006l.005-.001.144-.02h.011l.144-.021.005-.001h.006l.143-.023.006-.001h.005l.143-.025h.005l.006-.002.143-.026h.005l.005-.002.143-.027.005-.001.005-.001.142-.03h.005l.005-.002.142-.03.005-.002.005-.001.142-.033.005-.001.005-.001.14-.035.006-.001.005-.001.14-.037h.005l.005-.002.14-.038.005-.002h.005l.14-.04.005-.002.005-.001.138-.042.005-.001.006-.002.138-.043.005-.001.005-.002.137-.044.005-.002.005-.002.137-.046.005-.002.005-.001.137-.048.005-.002.005-.002.135-.05.005-.001.005-.002.135-.051.005-.002.005-.002.135-.053.005-.002.004-.002.134-.054.005-.002.005-.002.133-.057.005-.002.005-.002.132-.057.005-.003.005-.002.132-.06.005-.001.004-.002.131-.061.005-.003.005-.002.13-.062.005-.003.005-.002.13-.064.004-.003.005-.002.128-.066.005-.002.005-.003.128-.067.005-.002.004-.003.127-.069.005-.002.005-.003.126-.07.005-.003.004-.003.065-.037.132-.093.112-.115.089-.135.062-.149.034-.157.003-.161-.026-.16-.055-.15-.082-.14-.107-.12-.127-.1-.144-.073-.154-.046-.16-.016zM6.33 26.818l-.16.023-.152.053-.14.08-.122.105-.101.126-.076.142-.048.154-.02.16.012.161.041.156.07.146.094.13.096.093.032.026.004.003.004.004.145.117.004.003.004.004.146.115.005.003.004.004.147.113.005.003.004.004.149.111.004.003.004.003.15.11.005.003.004.003.151.108.004.003.005.003.152.106.005.003.004.003.154.104.004.003.005.003.154.102.005.002.004.003.156.1.005.003.004.003.157.098.005.003.004.002.159.096.004.003.005.003.16.094.004.003.004.002.16.092.005.003.005.002.161.09.005.003.005.002.162.088.005.003.004.002.164.086.005.003.004.002.165.084.005.003.004.002.166.082.004.002.005.003.167.08.004.002.005.002.168.078.004.002.005.002.168.076.005.002.005.002.17.074.004.002.005.002.17.072.005.002.005.002.17.07.006.002.005.001.171.068.005.002.005.002.173.065.005.002.005.002.173.063.005.002.005.002.174.06.005.003.005.001.175.06.005.001.005.002.176.057.005.001.005.002.176.055.006.001.005.002.177.052.005.002.005.001.178.05.005.002.005.002.178.048.006.001.005.002.179.046.005.001.005.002.18.044h.005l.005.002.18.042.006.001.005.001.159.035.16.02.16-.01.157-.04.146-.069.13-.094.112-.117.087-.136.06-.149.033-.158.002-.161-.028-.159-.057-.15-.084-.138-.108-.12-.128-.098-.144-.072-.128-.039-.154-.033-.168-.04-.171-.041-.17-.044-.168-.046-.167-.047-.168-.05-.165-.051-.166-.054-.166-.056-.163-.057-.165-.06-.161-.062-.164-.064-.16-.065-.16-.068-.162-.07-.157-.07-.157-.074-.157-.075-.156-.077-.153-.079-.156-.082-.153-.082-.154-.086-.15-.086-.152-.09-.148-.09-.147-.092-.149-.095-.145-.095-.144-.098-.145-.1-.143-.102-.14-.103-.14-.104-.14-.108-.139-.11-.136-.11-.027-.022-.133-.091-.148-.065-.157-.036-.161-.006zm19.215.087l-.16.01-.157.039-.146.067-.11.076-.064.051-.139.11-.14.108-.14.104-.14.103-.143.101-.145.101-.144.098-.145.095-.149.095-.148.093-.147.089-.152.09-.15.086-.154.086-.153.082-.156.082-.153.079-.156.077-.157.075-.158.073-.157.071-.16.07-.16.068-.161.065-.164.064-.161.061-.165.06-.163.058-.166.056-.166.054-.166.051-.167.05-.167.047-.17.046-.168.044-.171.042-.168.039-.17.037-.11.023-.154.047-.143.075-.126.1-.106.122-.081.139-.054.152-.025.16.006.16.035.158.063.148.09.133.114.115.132.092.148.065.157.037.16.007.133-.016.115-.024.005-.001.005-.001.181-.04h.005l.005-.002.18-.042.006-.001.005-.001.18-.044.005-.002.005-.001.18-.046.004-.002h.005l.179-.05h.005l.005-.002.178-.05.005-.002.005-.002.177-.052.005-.002.005-.001.177-.055.005-.002.005-.001.176-.057.005-.002.005-.002.175-.059.005-.001.005-.002.174-.061.005-.002.005-.002.173-.063.005-.002.005-.002.173-.065.004-.002.005-.002.172-.068.005-.002.005-.002.171-.07.005-.001.005-.002.17-.072.005-.002.004-.002.17-.074.005-.002.004-.002.169-.076.004-.002.005-.002.168-.078.004-.002.005-.003.167-.08.004-.002.005-.002.166-.082.004-.002.005-.003.165-.084.004-.002.005-.003.163-.086.005-.002.005-.003.162-.088.005-.002.005-.003.161-.09.005-.002.004-.003.16-.092.005-.003.005-.002.16-.094.004-.003.004-.003.158-.096.005-.002.004-.003.158-.098.004-.003.005-.003.156-.1.004-.003.004-.003.155-.101.005-.003.004-.003.154-.104.004-.003.004-.003.153-.106.004-.003.005-.003.151-.108.004-.003.005-.003.15-.11.004-.003.004-.003.149-.112.004-.003.004-.003.148-.113.004-.004.004-.003.147-.115.004-.004.004-.003.068-.055.116-.113.092-.132.066-.147.038-.157.008-.16-.022-.16-.05-.153-.08-.14-.103-.125-.124-.102-.142-.077-.153-.05-.16-.02z"}));function lW(){return lW=Object.assign?Object.assign.bind():function(e){for(var t=1;txS("svg",lW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M23.637 13.902l-7.625-5.535-7.624 5.535 2.912 8.956h9.425l2.912-8.956zm-1.017.33l-2.524 7.762H11.93l-2.524-7.762 6.607-4.796 6.608 4.796zM16.012.311c-1.448.02-2.93.157-4.302.628-.852.447-.255 1.863.66 1.574 2.255-.608 4.648-.607 6.922-.108.934.075 1.228-1.376.338-1.67C18.451.44 17.227.317 16.012.311zm9.012 2.934c-.913-.104-1.272 1.258-.454 1.648 1.834 1.36 3.293 3.185 4.31 5.22.526.776 1.842.098 1.515-.78a15.522 15.522 0 00-5.06-6.006c-.1-.044-.203-.07-.31-.082zM6.65 3.59c-.762.089-1.24.809-1.805 1.267C3.38 6.295 2.163 8.007 1.37 9.905c-.266.898 1.094 1.484 1.564.675a14.825 14.825 0 014.327-5.56c.476-.515.09-1.419-.612-1.431zm9.362.007c-.698.066-1.689-.16-2.033.635-.282.733.535 1.358 1.217 1.125 1.806-.147 3.63.203 5.293.907.902.255 1.472-1.112.656-1.573-1.6-.735-3.374-1.089-5.133-1.094zm-5.479 1.365c-.835.15-1.517.76-2.21 1.226-1.203.94-2.318 2.061-3.057 3.402-.33.904 1.063 1.552 1.547.723 1.045-1.656 2.596-2.925 4.285-3.873.545-.499.171-1.463-.565-1.478zm13.903 2.115c-.875-.07-1.22 1.173-.501 1.627 1.325 1.34 2.188 3.062 2.748 4.84.468.84 1.869.21 1.557-.699-.604-2.118-1.751-4.097-3.351-5.615a.93.93 0 00-.453-.153zM4.467 13.132c-.822-.07-.996.826-1.046 1.455-.256 1.93-.094 3.933.562 5.769.406.844 1.807.365 1.612-.551a11.498 11.498 0 01-.334-5.808.874.874 0 00-.794-.865zm26.687 1.6c-.746-.037-1.014.785-.879 1.395.043 2.393-.57 4.771-1.66 6.894-.31.884 1.02 1.536 1.53.75a15.632 15.632 0 001.821-8.372.876.876 0 00-.812-.667zm-30.197.571c-.782-.073-1.044.775-.933 1.404.068 2.414.661 4.833 1.809 6.962.534.77 1.842.076 1.505-.798a14.833 14.833 0 01-1.603-6.861.876.876 0 00-.778-.707zm26.787 2.024c-.777-.048-.952.797-1.021 1.392-.354 1.692-1.202 3.231-2.216 4.608-.407.872.925 1.638 1.48.852 1.361-1.733 2.296-3.827 2.582-6.017a.874.874 0 00-.825-.835zM6.857 23.012c-.808.018-1.082 1.122-.47 1.59 1.393 1.607 3.187 2.886 5.194 3.599.91.222 1.43-1.165.598-1.596a11.495 11.495 0 01-4.723-3.396.899.899 0 00-.599-.197zm15.057 2.7c-.81.194-1.504.76-2.325.972-1.203.458-2.5.536-3.758.664-.869.307-.573 1.728.346 1.663 2.201-.034 4.412-.626 6.293-1.778.604-.495.227-1.532-.556-1.521zM6.346 27.118c-.833.008-1.11 1.218-.395 1.617 1.986 1.602 4.358 2.749 6.868 3.226.933.076 1.227-1.376.338-1.67a14.838 14.838 0 01-6.345-3.066.929.929 0 00-.466-.107zm19.208.087c-.766.09-1.241.841-1.922 1.158-1.516.991-3.251 1.58-4.996 2.005-.872.405-.346 1.849.584 1.604 2.543-.526 4.98-1.66 6.963-3.344.47-.52.072-1.42-.63-1.423z"}));function uW(){return uW=Object.assign?Object.assign.bind():function(e){for(var t=1;txS("svg",uW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M13.51 9.081v4.428H9.08v4.982h4.428v4.428h4.982V18.49h4.428v-4.982H18.49V9.081h-4.982zm.83.83h3.32v4.428h4.429v3.322H17.66v4.428h-3.32v-4.454H9.91v-3.296h4.428V9.911zM16 0h-.005l-.188.001h-.011l-.188.004h-.011l-.187.006h-.011l-.187.008h-.005L15.2.02l-.187.01h-.005l-.005.001-.187.013h-.011L14.62.06h-.01l-.186.018h-.011l-.185.02-.005.001h-.006l-.185.022-.005.001h-.005l-.185.025h-.005l-.005.001-.185.027h-.005l-.005.001-.184.029h-.005l-.005.001-.183.031-.006.001-.005.001-.182.033-.006.001-.005.001-.182.035-.005.001-.005.001-.182.038h-.005l-.005.002-.181.04h-.005l-.005.002-.18.042-.006.001-.005.001-.18.044-.005.002h-.005l-.17.045-.152.054-.139.082-.121.106-.1.127-.074.143-.046.155-.017.16.013.16.043.156.07.145.097.13.119.108.137.085.15.058.159.03.16-.001.133-.023.165-.043.168-.041.171-.04.171-.037.172-.036.17-.033.173-.03.17-.03.177-.027.171-.025.175-.022.175-.02.175-.02.176-.016.175-.014.177-.012.176-.01.177-.007.174-.006.177-.003L16 1.73h.177l.178.004.174.006.177.007.176.01.177.012.175.014.176.017.175.018.175.02.175.023.171.025.176.027.17.03.174.03.17.033.171.036.154.033.16.02.161-.01.156-.04.146-.069.131-.094.111-.117.087-.135.061-.15.032-.158.002-.16-.027-.16-.057-.15L20 .714l-.108-.12-.128-.097-.145-.073-.128-.038-.158-.035-.005-.001-.005-.001L19.14.31h-.005l-.005-.002-.182-.035h-.006l-.005-.002-.182-.033h-.006l-.005-.002-.183-.03-.005-.001-.006-.001-.183-.029h-.005l-.006-.001-.184-.027h-.005l-.005-.001-.185-.024h-.005L17.968.12 17.783.1l-.006-.001h-.005l-.185-.02h-.006l-.005-.001L17.39.06h-.005L17.38.06l-.187-.015h-.005l-.005-.001-.187-.013h-.011L16.8.02h-.011L16.6.01h-.011l-.187-.006h-.011L16.204 0h-.011L16.005 0H16zm9.015 2.935l-.16.004-.158.033-.15.062-.134.09-.116.111-.093.132-.067.147-.038.156-.01.161.022.16.05.153.078.141.103.124.102.087.045.034.142.106.137.105.14.11.136.11.135.112.134.115.134.117.13.115.132.122.128.12.127.122.126.125.124.126.124.128.121.13.118.128.118.132.117.133.113.134.113.136.11.136.109.137.109.142.104.14.103.14.101.142.1.144.099.146.095.145.094.147.093.15.092.15.087.149.087.15.084.152.084.155.08.152.08.155.04.081.084.138.11.119.128.096.145.072.155.043.16.013.16-.016.155-.046.144-.074.127-.099.106-.12.083-.14.055-.151.026-.16-.004-.16-.034-.158-.05-.124-.042-.085-.002-.004-.003-.005-.084-.165-.002-.004-.003-.005-.086-.164-.002-.004-.003-.005-.088-.162-.002-.005-.003-.005-.09-.161-.002-.005-.003-.004-.092-.16-.003-.005-.002-.005-.094-.16-.003-.004-.003-.004-.096-.159-.002-.004-.003-.005-.098-.157-.003-.004-.003-.005-.1-.156-.003-.004-.003-.005-.101-.154-.003-.005-.003-.004-.104-.154-.003-.004-.003-.005-.106-.152-.003-.005-.003-.004-.108-.151-.003-.004-.003-.005-.11-.15-.003-.004-.003-.004-.111-.15-.004-.003-.003-.005-.113-.147-.004-.004-.003-.005-.115-.146-.004-.004-.003-.004-.117-.145-.004-.004-.003-.004-.12-.144-.003-.004-.003-.004-.121-.142-.004-.004-.003-.004-.123-.141-.003-.004-.004-.004-.125-.14-.003-.004-.004-.004-.127-.138-.003-.004-.004-.004-.128-.136-.004-.004-.004-.004-.13-.135-.004-.004-.004-.004-.132-.134-.003-.004-.004-.003-.134-.133-.004-.003-.004-.004-.135-.13-.004-.004-.004-.004-.136-.128-.004-.004-.004-.004-.138-.126-.004-.004-.004-.003-.14-.125-.004-.004-.004-.003-.14-.123-.005-.004-.004-.003-.142-.121-.004-.004-.004-.003-.144-.12-.004-.003-.004-.003-.145-.117-.004-.004-.004-.003-.147-.115-.004-.004-.004-.003-.148-.113-.004-.003-.004-.004-.149-.111-.004-.003-.004-.004-.05-.036-.14-.083-.15-.055-.16-.027zM6.634 3.28l-.161.008-.157.037-.147.066-.111.074-.04.032-.005.003-.004.004-.145.117-.004.003-.004.004-.144.119-.004.003-.004.004-.142.12-.004.004-.004.004-.141.123-.004.003-.004.004-.14.125-.004.003-.004.004-.138.126-.004.004-.004.004-.136.128-.004.004-.004.004-.135.13-.004.004-.004.003-.134.133-.004.003-.004.004-.132.134-.003.004-.004.004-.13.135-.004.004-.004.004-.128.136-.004.004-.004.004-.126.138-.004.004-.003.004-.125.14-.004.004-.003.004-.123.14-.004.005-.003.004-.121.142-.004.004-.003.004-.12.144-.003.004-.003.004-.117.145-.004.004-.003.004-.115.146-.004.005-.003.004-.113.147-.003.005-.004.004-.111.149-.003.004-.004.004-.11.15-.002.005-.003.004-.108.151-.003.004-.003.005-.106.152-.003.005-.003.004-.104.154-.003.004-.003.005-.102.154-.003.005-.002.004-.1.156-.003.005-.003.004-.098.157-.003.005-.003.004-.096.159-.002.004-.003.005-.094.16-.003.004-.002.004-.092.16-.003.005-.003.005-.09.161-.002.005-.003.005-.088.162-.002.005-.003.004-.086.164-.002.005-.002.004-.084.165-.003.005-.002.004-.082.166-.002.004-.003.005-.08.167-.002.004-.002.005-.078.168-.002.004-.002.005-.045.1-.053.153-.023.16.007.16.037.157.065.148.092.132.114.114.134.09.148.064.157.035.161.006.16-.025.152-.054.14-.08.121-.106.1-.126.065-.118.043-.095.074-.16.075-.155.077-.157.08-.155.08-.152.083-.155.085-.152.086-.15.088-.149.091-.15.094-.15.094-.147.095-.145.099-.146.1-.144.1-.142.104-.14.104-.14.11-.142.107-.137.11-.136.114-.136.113-.134.117-.133.118-.132.117-.129.122-.13.124-.127.123-.126.127-.125.127-.122.128-.12.132-.122.13-.115.133-.117.135-.115.135-.111.136-.11.037-.03.117-.11.094-.132.068-.146.04-.156.01-.161-.02-.16-.05-.154-.076-.141-.102-.125-.123-.104-.14-.08-.153-.051-.16-.023zM16 3.286h-.005l-.148.001h-.01l-.147.003h-.011l-.147.005h-.011l-.146.007h-.011l-.146.009h-.011l-.146.01h-.005l-.005.001-.146.012h-.011l-.145.014h-.006l-.005.001-.05.006-.158.031-.15.06-.135.088-.117.111-.094.13-.069.147-.04.156-.01.16.019.16.049.154.076.142.102.125.123.105.14.08.152.051.16.023.134-.003.045-.005.135-.013.133-.01.136-.01.135-.007.137-.006.136-.004.136-.003h.274l.136.003.136.004.136.006.136.007.136.01.133.01.135.013.135.014.135.016.134.018.132.018.134.021.133.023.133.024.133.025.13.027.132.03.132.03.129.031.13.034.129.035.129.036.13.04.126.038.128.042.126.042.128.045.127.047.126.047.12.048.127.051.123.052.006.002.147.048.16.021.16-.009.157-.038.147-.067.131-.093.112-.116.089-.135.062-.149.033-.158.004-.16-.027-.16-.055-.151-.083-.139-.107-.12-.127-.099-.118-.063-.004-.001-.005-.003-.005-.002-.133-.056-.005-.002-.005-.002-.134-.054-.004-.002-.005-.002-.135-.053-.005-.002-.005-.002-.135-.051-.005-.002-.005-.002-.135-.05-.005-.001-.005-.002-.137-.048-.005-.001-.005-.002-.137-.046-.005-.002-.005-.002-.137-.044-.005-.002-.005-.001-.138-.043-.006-.002-.005-.001-.138-.042-.005-.001-.005-.002-.14-.04H19.4l-.005-.002-.14-.038-.005-.001-.005-.002-.14-.036-.005-.001-.005-.001-.141-.035-.005-.001-.005-.001-.142-.033-.005-.001-.005-.001-.142-.031-.005-.002h-.005l-.142-.03-.005-.001-.005-.001-.143-.028h-.005l-.005-.002-.143-.025-.006-.001-.005-.001-.143-.024-.005-.001-.006-.001-.143-.022-.006-.001h-.005l-.144-.022h-.005l-.006-.001-.144-.019h-.005l-.006-.001-.144-.017h-.006l-.005-.001-.145-.016h-.011l-.145-.014H17.1l-.005-.001-.146-.012h-.01l-.146-.01-.006-.001h-.005l-.146-.009h-.011l-.147-.006h-.01l-.147-.005h-.011l-.147-.003h-.011l-.147-.001H16zm-5.482 1.366l-.16.008-.157.037-.123.053-.06.032-.005.002-.004.003-.128.069-.004.002-.005.003-.126.07-.005.003-.004.002-.126.072-.005.003-.004.003-.125.073-.004.003-.005.003-.124.075-.004.003-.005.002-.123.077-.004.003-.005.003-.122.078-.004.003-.005.003-.121.08-.004.002-.005.003-.12.082-.005.003-.004.003-.12.083-.004.003-.004.003-.118.084-.005.003-.004.003-.118.086-.004.003-.004.003-.117.088-.004.003-.004.003-.116.089-.004.003-.004.004-.114.09-.005.003-.004.003-.113.092-.004.004-.004.003-.113.093-.004.004-.004.003-.111.095-.005.003-.004.004-.11.096-.004.004-.004.003-.11.098-.003.003-.004.004-.108.1-.004.003-.004.003-.107.101-.004.004-.004.003-.106.102-.004.004-.003.004-.105.103-.004.004-.004.004-.103.105-.004.004-.004.003-.102.106-.003.004-.004.004-.1.107-.004.004-.004.004-.099.108-.004.004-.003.004-.098.11-.003.003-.004.004-.096.11-.004.005-.003.004-.095.111-.003.004-.004.004-.093.113-.003.004-.004.004-.092.113-.003.004-.003.005-.09.114-.004.004-.003.004-.089.116-.003.004-.003.004-.088.117-.003.004-.003.004-.086.118-.003.004-.003.005-.084.118-.003.004-.003.005-.083.12-.003.003-.003.005-.082.12-.003.005-.002.004-.068.103-.076.142-.048.154-.018.16.011.161.041.156.07.146.095.13.117.11.136.086.15.06.158.03.162.002.158-.03.15-.057.138-.085.119-.109.082-.105.065-.099.075-.11.077-.113.077-.107.08-.11.08-.108.084-.108.083-.105.086-.106.086-.104.088-.104.089-.101.09-.102.093-.101.093-.099.094-.097.095-.096.098-.097.098-.095.099-.093.1-.092.103-.091.101-.089.104-.088.104-.086.106-.086.106-.083.106-.082.109-.082.108-.079.11-.078.11-.076.112-.076.112-.074.113-.072.113-.071.115-.07.115-.068.118-.067.117-.065.12-.065.054-.029.135-.088.116-.111.094-.132.068-.146.04-.156.009-.161-.02-.16-.05-.153-.078-.142-.102-.125-.123-.103-.141-.079-.153-.051-.16-.022zm13.91 2.116l-.162.008-.157.037-.147.066-.132.092-.113.116-.09.134-.063.148-.034.157-.005.162.025.159.055.152.082.138.086.103.09.09.094.098.092.099.093.1.091.103.089.101.088.104.086.104.086.106.083.105.083.108.08.108.081.11.077.107.077.112.075.111.075.114.072.113.071.113.07.114.068.118.067.115.065.118.064.117.062.117.061.121.059.119.059.122.056.121.054.12.055.125.051.123.051.125.048.123.048.127.047.126.044.125.043.128.042.129.039.126.038.13.022.076.058.15.085.137.11.119.129.096.145.07.155.043.16.013.161-.017.154-.046.144-.075.126-.1.106-.12.082-.14.055-.151.025-.16-.005-.16-.026-.132-.023-.082-.002-.005-.001-.005-.042-.139-.001-.005-.002-.005-.043-.138-.001-.005-.002-.005-.044-.137-.002-.005-.002-.005-.046-.137-.002-.005-.001-.005-.048-.137-.002-.005-.002-.005-.05-.135-.001-.005-.002-.005-.051-.135-.002-.005-.002-.005-.053-.135-.002-.005-.002-.005-.054-.133-.002-.005-.002-.005-.057-.133-.002-.005-.002-.005-.057-.132-.003-.005-.002-.005-.06-.132-.001-.005-.002-.004-.061-.132-.003-.004-.002-.005-.063-.13-.002-.005-.002-.005-.064-.13-.003-.004-.002-.005-.066-.129-.002-.004-.003-.005-.067-.128-.002-.005-.003-.004-.069-.128-.002-.004-.003-.005-.07-.126-.003-.005-.003-.004-.072-.126-.002-.005-.003-.004-.074-.125-.002-.004-.003-.005-.075-.124-.003-.004-.003-.005-.076-.123-.003-.004-.003-.005-.078-.122-.003-.004-.003-.005-.08-.121-.003-.004-.003-.005-.081-.12-.003-.005-.003-.004-.083-.12-.003-.004-.003-.004-.084-.118-.003-.005-.003-.004-.086-.118-.003-.004-.004-.004-.087-.117-.003-.004-.003-.004-.09-.116-.002-.004-.004-.004-.09-.114-.003-.005-.004-.004-.091-.113-.004-.004-.003-.004-.094-.113-.003-.004-.003-.004-.095-.111-.004-.004-.003-.004-.096-.11-.004-.005-.003-.004-.098-.11-.004-.003-.003-.004-.1-.108-.003-.004-.004-.004-.1-.107-.004-.004-.004-.004-.102-.106-.003-.003-.004-.004-.093-.095-.124-.103-.14-.08-.153-.05-.16-.023zM4.45 12.826l-.161.002-.158.032-.15.06-.135.088-.118.11-.094.131-.069.146-.035.129-.026.132v.005l-.002.005-.025.143-.001.005-.001.006-.024.143-.001.005-.001.006-.022.143-.001.006-.001.005-.02.144-.001.005-.001.005-.019.145v.005l-.001.006-.017.144v.006l-.001.005-.016.145v.011l-.014.145v.005l-.001.006-.012.146v.01l-.01.146-.001.006v.005l-.009.146v.011l-.007.146v.011l-.004.147v.011l-.003.147v.01l-.002.148v.01l.001.148v.01l.003.147v.011l.005.147v.01l.007.147v.011l.009.146v.011l.01.146v.01l.013.146v.011l.014.145v.005l.001.006.016.145v.011l.018.144v.006l.001.005.019.144v.006l.001.005.021.144v.005l.002.006.022.143v.006l.002.005.024.143v.005l.002.006.025.143.001.005.001.005.028.143.001.005.001.005.03.142v.005l.002.006.03.141.002.005.001.005.033.142v.005l.002.005.035.14v.006l.002.005.036.14.002.005.001.005.038.14.001.005.002.005.04.14v.005l.002.005.042.138.001.006.002.005.042.138.002.005.002.005.017.054.064.148.09.134.114.114.132.092.148.065.157.037.16.007.16-.023.153-.052.14-.08.123-.104.102-.125.076-.142.049-.153.02-.16-.011-.161-.031-.13-.017-.051-.039-.126-.038-.13-.037-.128-.035-.13-.033-.128-.033-.134-.03-.13-.029-.131-.026-.13-.026-.133-.024-.133-.023-.133-.02-.132-.02-.136-.017-.132-.016-.135-.014-.135-.012-.133-.012-.138-.009-.133-.007-.136-.006-.138-.004-.134-.003-.136v-.274l.003-.136.004-.134.006-.139.007-.136.01-.133.01-.138.013-.132.014-.135.016-.135.017-.132.02-.137.02-.13.023-.134.024-.133.024-.126.016-.16-.014-.161-.044-.155-.072-.145-.098-.128-.12-.108-.137-.084-.15-.057-.16-.029zm26.698 1.601l-.161.01-.157.04-.146.067-.131.093-.112.117-.088.135-.061.149-.033.157-.005.134.006.14.006.176.003.177.001.178-.001.177-.003.178-.006.177-.007.176-.01.177-.012.176-.015.176-.016.173-.018.175-.02.175-.024.174-.025.175-.026.17-.03.174-.03.173-.033.17-.036.172-.037.17-.04.17-.042.172-.043.168-.045.166-.048.169-.05.167-.052.168-.053.164-.056.166-.058.166-.06.16-.062.165-.062.158-.066.165-.068.16-.07.16-.07.158-.075.159-.074.155-.079.158-.08.158-.06.15-.03.158-.001.161.029.159.058.15.085.137.108.119.13.097.144.07.156.044.16.013.16-.017.155-.046.143-.074.127-.1.107-.12.07-.115.083-.164.003-.005.002-.004.082-.166.002-.005.003-.004.08-.167.002-.005.002-.004.078-.168.002-.005.002-.004.076-.169.002-.004.002-.005.074-.17.002-.004.002-.005.072-.17.002-.005.002-.005.07-.171.001-.005.002-.005.068-.172.002-.004.002-.005.065-.173.002-.005.002-.005.063-.173.002-.005.002-.005.06-.174.003-.005.001-.005.06-.175.001-.005.002-.005.057-.176.001-.005.002-.005.055-.177.001-.005.002-.005.052-.177.002-.005.001-.005.051-.178.001-.005.002-.005.048-.179.002-.005v-.005l.047-.179.001-.005.002-.005.044-.18v-.005l.002-.005.042-.18.001-.006.001-.005.04-.181.001-.005.001-.005.037-.182.002-.005v-.005l.036-.182v-.006l.002-.005.033-.182v-.006l.002-.005.03-.183.001-.005.001-.005.029-.184v-.005l.001-.006.027-.184v-.005l.001-.005.024-.185v-.005l.001-.005.022-.185v-.006l.001-.005.02-.185v-.006l.001-.005.017-.186v-.005l.001-.005.015-.187v-.005l.001-.005.013-.187v-.01l.01-.187.001-.006v-.005l.009-.187v-.011l.006-.187v-.011l.004-.188v-.011l.001-.188v-.01l-.001-.188v-.011l-.004-.188v-.011l-.006-.187v-.011l-.007-.145-.022-.16-.05-.152-.08-.141-.103-.124-.125-.102-.141-.077-.153-.05-.16-.02zM.938 15L.777 15l-.158.032-.15.06-.136.087-.117.11-.095.131-.068.146-.04.156-.012.133-.001.14v.01l.001.188v.011l.004.188v.011l.006.187v.011l.008.187v.011l.011.187v.005l.001.005.013.187v.01l.016.187v.01l.018.186v.011l.02.185.001.005v.006l.022.185.001.005v.005l.025.185v.005l.001.005.027.184v.006l.001.005.029.184v.005l.001.005.031.183.001.005.001.006.033.182.001.005.001.006.035.182.001.005.001.005.038.182v.005l.002.005.04.181v.005l.002.005.042.18.001.006.001.005.044.18.002.005v.005l.047.18.001.004.002.005.048.179.002.005.001.005.05.178.002.005.001.005.053.177.002.005.001.005.055.177.002.005.001.005.057.176.002.005.001.005.06.175.001.005.002.005.061.174.002.005.002.005.063.173.002.005.002.005.065.173.002.005.002.004.067.172.002.005.002.005.07.171.002.005.002.005.072.17.002.005.002.004.074.17.002.005.002.004.076.169.002.004.002.005.078.168.002.004.002.005.08.167.003.004.002.005.082.166.002.004.003.005.02.04.086.136.11.118.13.095.146.07.156.041.16.012.16-.019.155-.048.142-.075.126-.1.105-.123.08-.14.054-.152.024-.16-.006-.16-.036-.158-.051-.123-.018-.034-.078-.158L3.1 22.1l-.074-.16-.071-.157-.07-.16-.068-.16-.067-.165-.062-.158-.062-.164-.059-.161-.058-.166-.056-.166-.053-.164-.052-.168-.05-.167-.048-.17-.045-.165-.043-.168-.043-.172-.039-.17-.037-.17-.036-.172-.033-.17-.03-.173-.03-.174-.027-.17-.025-.175-.022-.174-.021-.175-.018-.175-.017-.173-.014-.176-.012-.176-.01-.177-.007-.176-.006-.177-.003-.178L1.73 16v-.134l-.013-.16-.044-.156-.072-.144-.097-.129-.12-.108-.137-.085-.15-.057L.938 15zm26.798 2.024l-.16.007-.157.038-.148.066-.132.092-.113.115-.09.134-.062.148-.03.127-.001.004-.023.134-.024.133-.026.133-.026.13-.03.132-.03.129-.032.134-.033.128-.035.13-.037.128-.038.13-.04.126-.04.128-.044.128-.044.126-.046.126-.048.126-.05.125-.05.125-.051.122-.054.123-.055.122-.056.12-.058.122-.06.12-.061.12-.063.119-.062.116-.067.119-.066.116-.069.115-.069.115-.07.113-.073.113-.074.112-.076.113-.077.112-.077.107-.08.11-.08.107-.085.11-.044.056-.088.135-.06.15-.033.158-.002.16.027.16.057.15.083.138.108.12.128.098.144.072.155.045.16.015.161-.016.155-.044.144-.073.128-.098.09-.099.05-.061.003-.004.003-.005.089-.115.003-.004.003-.005.088-.116.003-.004.003-.005.086-.117.003-.004.003-.005.084-.118.003-.004.003-.005.083-.12.003-.004.003-.004.081-.12.003-.005.003-.004.08-.121.003-.005.003-.004.078-.122.003-.005.003-.004.077-.123.002-.005.003-.004.075-.124.003-.005.003-.004.073-.125.003-.005.003-.004.072-.126.002-.004.003-.005.07-.126.003-.005.002-.005.07-.127.002-.004.002-.005.068-.128.002-.005.002-.004.066-.13.003-.004.002-.005.064-.13.002-.004.003-.005.062-.13.002-.005.003-.005.06-.13.003-.005.002-.005.06-.132.002-.005.002-.005.057-.132.003-.005.002-.005.056-.133.002-.005.002-.005.054-.134.002-.004.002-.005.053-.135.002-.005.002-.005.051-.135.002-.005.002-.005.05-.135.001-.005.002-.005.048-.137.001-.005.002-.005.046-.137.002-.005.002-.005.044-.137.002-.005.002-.005.042-.138.002-.005.001-.006.042-.138.001-.005.002-.005.04-.14V19.4l.002-.005.038-.14.001-.005.002-.005.036-.14.001-.005.001-.005.035-.141.001-.005.001-.005.033-.142.001-.005.001-.005.031-.141.001-.006.002-.005.029-.142v-.005l.002-.005.028-.143v-.005l.002-.005.025-.143.001-.006.001-.005.024-.143.001-.005.001-.006.001-.006.01-.161-.02-.16-.05-.154-.077-.141-.102-.125-.123-.104-.141-.079-.153-.051-.16-.022zM6.841 22.71l-.16.024-.152.053-.14.08-.122.105-.101.126-.076.142-.048.154-.018.16.011.161.041.156.07.146.077.109.04.048.003.004.003.004.095.111.003.004.004.004.096.11.004.005.003.004.098.109.003.004.004.004.1.108.003.004.003.004.101.107.004.004.003.004.102.105.004.004.004.004.103.105.004.004.004.003.105.104.003.004.004.003.106.102.004.004.004.004.107.1.004.004.004.004.108.099.004.003.004.004.11.098.003.003.004.004.11.096.004.003.005.004.11.095.005.003.004.004.113.093.004.003.004.004.113.091.004.004.005.003.114.09.004.004.004.003.116.089.004.003.004.003.117.088.004.003.004.003.118.086.004.003.005.003.118.084.004.003.005.003.119.083.004.003.005.003.12.081.005.003.004.003.121.08.005.003.004.003.122.078.005.003.004.003.123.076.005.003.004.003.124.075.005.003.004.003.125.073.004.003.005.002.126.073.004.002.005.003.126.07.005.003.004.002.128.07.004.002.005.002.128.067.005.003.004.002.13.066.004.002.005.003.13.064.004.002.005.003.13.062.005.002.004.003.132.06.004.003.005.002.132.06.005.002.005.002.132.057.005.002.005.002.133.057.005.002.005.002.133.054.005.002.005.002.13.05.154.045.16.016.16-.015.156-.045.144-.072.128-.098.108-.12.083-.138.057-.15.028-.16-.003-.16-.032-.159-.061-.149-.088-.135-.11-.117-.132-.094-.12-.058-.124-.049-.126-.051-.122-.051-.122-.054-.12-.054-.126-.058-.119-.057-.12-.06-.12-.06-.118-.063-.117-.064-.119-.066-.116-.066-.115-.068-.115-.07-.113-.07-.115-.074-.112-.074-.11-.075-.11-.076-.112-.08-.11-.08-.109-.081-.106-.082-.104-.082-.106-.086-.105-.087-.101-.086-.105-.091-.1-.09-.1-.091-.1-.094-.097-.094-.1-.098-.093-.095-.096-.1-.093-.098-.092-.101-.089-.1-.09-.102-.088-.104-.036-.043-.114-.114-.133-.091-.148-.065-.157-.036-.161-.006zm15.063 2.701l-.16.014-.156.044-.12.057-.06.034-.12.066-.117.064-.118.062-.12.061-.12.06-.118.057-.126.058-.12.054-.122.054-.122.05-.126.052-.125.05-.124.046-.127.047-.125.044-.129.043-.126.04-.13.042-.128.038-.127.035-.13.036-.131.034-.129.031-.132.03-.13.03-.135.027-.133.026-.13.023-.13.022-.137.021-.132.02-.134.017-.132.015-.138.015-.135.013-.133.01-.138.01-.136.007-.134.006-.136.004-.14.003-.16.018-.155.047-.142.076-.127.1-.105.122-.08.14-.054.151-.025.16.006.16.035.158.064.148.09.134.114.114.133.092.147.065.157.036.134.008.145-.002h.011l.147-.005h.01l.147-.007h.011l.146-.009h.011l.146-.01h.005l.005-.001.146-.012h.011l.145-.014h.005l.006-.001.145-.016h.011l.144-.018h.006l.005-.001.144-.02h.011l.144-.021.005-.001h.006l.143-.023.006-.001h.005l.143-.025h.005l.006-.002.143-.026h.005l.005-.002.143-.027.005-.001.005-.001.142-.03h.005l.005-.002.142-.03.005-.002.005-.001.142-.033.005-.001.005-.001.14-.035.006-.001.005-.001.14-.037h.005l.005-.002.14-.038.005-.002h.005l.14-.04.005-.002.005-.001.138-.042.005-.001.006-.002.138-.043.005-.001.005-.002.137-.044.005-.002.005-.002.137-.046.005-.002.005-.001.137-.048.005-.002.005-.002.135-.05.005-.001.005-.002.135-.051.005-.002.005-.002.135-.053.005-.002.004-.002.134-.054.005-.002.005-.002.133-.057.005-.002.005-.002.132-.057.005-.003.005-.002.132-.06.005-.001.004-.002.131-.061.005-.003.005-.002.13-.062.005-.003.005-.002.13-.064.004-.003.005-.002.128-.066.005-.002.005-.003.128-.067.005-.002.004-.003.127-.069.005-.002.005-.003.126-.07.005-.003.004-.003.065-.037.132-.093.112-.115.089-.135.062-.149.034-.157.003-.161-.026-.16-.055-.15-.082-.14-.107-.12-.127-.1-.144-.073-.154-.046-.16-.016zM6.33 26.818l-.16.023-.152.053-.14.08-.122.105-.101.126-.076.142-.048.154-.02.16.012.161.041.156.07.146.094.13.096.093.032.026.004.003.004.004.145.117.004.003.004.004.146.115.005.003.004.004.147.113.005.003.004.004.149.111.004.003.004.003.15.11.005.003.004.003.151.108.004.003.005.003.152.106.005.003.004.003.154.104.004.003.005.003.154.102.005.002.004.003.156.1.005.003.004.003.157.098.005.003.004.002.159.096.004.003.005.003.16.094.004.003.004.002.16.092.005.003.005.002.161.09.005.003.005.002.162.088.005.003.004.002.164.086.005.003.004.002.165.084.005.003.004.002.166.082.004.002.005.003.167.08.004.002.005.002.168.078.004.002.005.002.168.076.005.002.005.002.17.074.004.002.005.002.17.072.005.002.005.002.17.07.006.002.005.001.171.068.005.002.005.002.173.065.005.002.005.002.173.063.005.002.005.002.174.06.005.003.005.001.175.06.005.001.005.002.176.057.005.001.005.002.176.055.006.001.005.002.177.052.005.002.005.001.178.05.005.002.005.002.178.048.006.001.005.002.179.046.005.001.005.002.18.044h.005l.005.002.18.042.006.001.005.001.159.035.16.02.16-.01.157-.04.146-.069.13-.094.112-.117.087-.136.06-.149.033-.158.002-.161-.028-.159-.057-.15-.084-.138-.108-.12-.128-.098-.144-.072-.128-.039-.154-.033-.168-.04-.171-.041-.17-.044-.168-.046-.167-.047-.168-.05-.165-.051-.166-.054-.166-.056-.163-.057-.165-.06-.161-.062-.164-.064-.16-.065-.16-.068-.162-.07-.157-.07-.157-.074-.157-.075-.156-.077-.153-.079-.156-.082-.153-.082-.154-.086-.15-.086-.152-.09-.148-.09-.147-.092-.149-.095-.145-.095-.144-.098-.145-.1-.143-.102-.14-.103-.14-.104-.14-.108-.139-.11-.136-.11-.027-.022-.133-.091-.148-.065-.157-.036-.161-.006zm19.215.087l-.16.01-.157.039-.146.067-.11.076-.064.051-.139.11-.14.108-.14.104-.14.103-.143.101-.145.101-.144.098-.145.095-.149.095-.148.093-.147.089-.152.09-.15.086-.154.086-.153.082-.156.082-.153.079-.156.077-.157.075-.158.073-.157.071-.16.07-.16.068-.161.065-.164.064-.161.061-.165.06-.163.058-.166.056-.166.054-.166.051-.167.05-.167.047-.17.046-.168.044-.171.042-.168.039-.17.037-.11.023-.154.047-.143.075-.126.1-.106.122-.081.139-.054.152-.025.16.006.16.035.158.063.148.09.133.114.115.132.092.148.065.157.037.16.007.133-.016.115-.024.005-.001.005-.001.181-.04h.005l.005-.002.18-.042.006-.001.005-.001.18-.044.005-.002.005-.001.18-.046.004-.002h.005l.179-.05h.005l.005-.002.178-.05.005-.002.005-.002.177-.052.005-.002.005-.001.177-.055.005-.002.005-.001.176-.057.005-.002.005-.002.175-.059.005-.001.005-.002.174-.061.005-.002.005-.002.173-.063.005-.002.005-.002.173-.065.004-.002.005-.002.172-.068.005-.002.005-.002.171-.07.005-.001.005-.002.17-.072.005-.002.004-.002.17-.074.005-.002.004-.002.169-.076.004-.002.005-.002.168-.078.004-.002.005-.003.167-.08.004-.002.005-.002.166-.082.004-.002.005-.003.165-.084.004-.002.005-.003.163-.086.005-.002.005-.003.162-.088.005-.002.005-.003.161-.09.005-.002.004-.003.16-.092.005-.003.005-.002.16-.094.004-.003.004-.003.158-.096.005-.002.004-.003.158-.098.004-.003.005-.003.156-.1.004-.003.004-.003.155-.101.005-.003.004-.003.154-.104.004-.003.004-.003.153-.106.004-.003.005-.003.151-.108.004-.003.005-.003.15-.11.004-.003.004-.003.149-.112.004-.003.004-.003.148-.113.004-.004.004-.003.147-.115.004-.004.004-.003.068-.055.116-.113.092-.132.066-.147.038-.157.008-.16-.022-.16-.05-.153-.08-.14-.103-.125-.124-.102-.142-.077-.153-.05-.16-.02z",opacity:".98"}));function pW(){return pW=Object.assign?Object.assign.bind():function(e){for(var t=1;txS("svg",pW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M16.012 8.816L9.21 21.026h13.606l-6.803-12.21zm0 1.776l5.332 9.57H10.681l5.331-9.57zm0-10.281c-1.448.02-2.93.157-4.302.628-.852.447-.255 1.863.66 1.574 2.255-.608 4.648-.607 6.922-.108.934.075 1.228-1.376.338-1.67C18.451.44 17.227.317 16.012.311zm9.012 2.934c-.913-.104-1.272 1.258-.454 1.648 1.834 1.36 3.293 3.185 4.31 5.22.526.776 1.842.098 1.515-.78a15.522 15.522 0 00-5.06-6.006c-.1-.044-.203-.07-.31-.082zM6.65 3.59c-.762.089-1.24.809-1.805 1.267C3.38 6.295 2.163 8.007 1.37 9.905c-.266.898 1.094 1.484 1.564.675a14.825 14.825 0 014.327-5.56c.476-.515.09-1.419-.612-1.431zm9.362.007c-.698.066-1.689-.16-2.033.635-.282.733.535 1.358 1.217 1.125 1.806-.147 3.63.203 5.293.907.902.255 1.472-1.112.656-1.573-1.6-.735-3.374-1.089-5.133-1.094zm-5.479 1.365c-.835.15-1.517.76-2.21 1.226-1.203.94-2.318 2.061-3.057 3.402-.33.904 1.063 1.552 1.547.723 1.045-1.656 2.596-2.925 4.285-3.873.545-.499.171-1.463-.565-1.478zm13.903 2.115c-.875-.07-1.22 1.173-.501 1.627 1.325 1.34 2.188 3.062 2.748 4.84.468.84 1.869.21 1.557-.699-.604-2.118-1.751-4.097-3.351-5.615a.93.93 0 00-.453-.153zM4.467 13.132c-.822-.07-.996.826-1.046 1.455-.256 1.93-.094 3.933.562 5.769.406.844 1.807.365 1.612-.551a11.498 11.498 0 01-.334-5.808.874.874 0 00-.794-.865zm26.687 1.6c-.746-.037-1.014.785-.879 1.395.043 2.393-.57 4.771-1.66 6.894-.31.884 1.02 1.536 1.53.75a15.632 15.632 0 001.821-8.372.876.876 0 00-.812-.667zm-30.197.571c-.782-.073-1.044.775-.933 1.404.068 2.414.661 4.833 1.809 6.962.534.77 1.842.076 1.505-.798a14.833 14.833 0 01-1.603-6.861.876.876 0 00-.778-.707zm26.787 2.024c-.777-.048-.952.797-1.021 1.392-.354 1.692-1.202 3.231-2.216 4.608-.407.872.925 1.638 1.48.852 1.361-1.733 2.296-3.827 2.582-6.017a.874.874 0 00-.825-.835zM6.857 23.012c-.808.018-1.082 1.122-.47 1.59 1.393 1.607 3.187 2.886 5.194 3.599.91.222 1.43-1.165.598-1.596a11.495 11.495 0 01-4.723-3.396.899.899 0 00-.599-.197zm15.057 2.7c-.81.194-1.504.76-2.325.972-1.203.458-2.5.536-3.758.664-.869.307-.573 1.728.346 1.663 2.201-.034 4.412-.626 6.293-1.778.604-.495.227-1.532-.556-1.521zM6.346 27.118c-.833.008-1.11 1.218-.395 1.617 1.986 1.602 4.358 2.749 6.868 3.226.933.076 1.227-1.376.338-1.67a14.838 14.838 0 01-6.345-3.066.929.929 0 00-.466-.107zm19.208.087c-.766.09-1.241.841-1.922 1.158-1.516.991-3.251 1.58-4.996 2.005-.872.405-.346 1.849.584 1.604 2.543-.526 4.98-1.66 6.963-3.344.47-.52.072-1.42-.63-1.423z"}));function fW(){return fW=Object.assign?Object.assign.bind():function(e){for(var t=1;txS("svg",fW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.998 8.406c-3.018-.041-5.92 1.926-7.031 4.727-1.138 2.695-.51 6.012 1.537 8.103 1.99 2.141 5.268 2.93 8.014 1.927 2.878-.98 4.992-3.827 5.068-6.87.153-2.957-1.624-5.88-4.3-7.137a7.552 7.552 0 00-3.288-.75zm0 1.384c2.759-.052 5.373 1.973 6.015 4.655.704 2.578-.482 5.517-2.791 6.867-2.358 1.48-5.682 1.086-7.618-.918-2.043-1.971-2.407-5.381-.84-7.745 1.11-1.763 3.15-2.88 5.234-2.86zm1.962 1.765l-2.074 3.762c-.64.068-.793 1.04-.202 1.3.39.27.696-.18 1.052-.165h3.17v-.865h-3.182l1.993-3.615c-.252-.14-.505-.278-.757-.417zm-1.965-8.268h-.158l-.147.003h-.011l-.147.005h-.011l-.146.007h-.011l-.146.009h-.011l-.146.01h-.005l-.005.001-.146.012h-.011l-.145.014h-.006l-.005.001-.05.006-.158.031-.15.06-.135.088-.117.111-.094.13-.069.147-.04.156-.01.16.019.16.049.154.076.142.102.125.123.105.14.08.152.051.16.023.134-.003.045-.005.135-.013.133-.01.136-.01.135-.007.137-.006.136-.004.136-.003h.274l.136.003.136.004.136.006.136.007.136.01.133.01.135.013.135.014.135.016.134.018.132.018.134.021.133.023.133.024.133.025.13.027.132.03.132.03.129.031.13.034.129.035.129.036.13.04.126.038.128.042.126.042.128.045.127.047.126.048.12.047.127.051.123.052.006.002.147.048.16.021.16-.009.157-.038.147-.067.131-.093.112-.116.089-.135.062-.149.033-.158.004-.16-.027-.16-.055-.151-.083-.138-.107-.121-.127-.099-.118-.063-.004-.001-.005-.003-.005-.002-.133-.056-.005-.002-.005-.002-.134-.054-.004-.002-.005-.002-.135-.053-.005-.002-.005-.002-.135-.051-.005-.002-.005-.002-.135-.05-.005-.001-.005-.002-.137-.048-.005-.001-.005-.002-.137-.046-.005-.002-.005-.002-.137-.044-.005-.002-.005-.001-.138-.043-.005-.002-.006-.001-.138-.042-.005-.001-.005-.002-.14-.04H19.4l-.005-.002-.14-.038-.005-.001-.005-.002-.14-.036-.005-.001-.005-.001-.141-.035-.005-.001-.005-.001-.142-.033-.005-.001-.005-.001-.141-.031-.006-.002h-.005l-.142-.03-.005-.001-.005-.001-.143-.028h-.005l-.005-.001-.143-.026-.006-.001-.005-.001-.143-.024-.005-.001-.006-.001-.143-.022-.006-.001h-.005l-.144-.022h-.005l-.006-.001-.144-.019h-.005l-.006-.001-.144-.017h-.006l-.005-.001-.145-.016h-.011l-.145-.014H17.1l-.005-.001-.146-.012h-.01l-.146-.01-.006-.001h-.005l-.146-.009h-.011l-.147-.006h-.01l-.147-.005h-.011l-.147-.003h-.01l-.148-.001h-.01zM10.357 4.66l-.156.037-.123.053-.06.032-.005.002-.004.003-.128.069-.004.002-.005.003-.126.07-.005.003-.004.002-.126.072-.005.003-.004.003-.125.073-.004.003-.005.003-.124.075-.004.003-.005.002-.123.077-.004.003-.005.003-.122.078-.004.003-.005.003-.121.08-.004.002-.005.003-.12.082-.005.003-.004.003-.12.083-.004.003-.004.003-.118.084-.005.003-.004.003-.118.086-.004.003-.004.003-.117.088-.004.003-.004.003-.116.089-.004.003-.004.004-.114.09-.005.003-.004.003-.113.092-.004.004-.004.003-.113.093-.004.004-.004.003-.111.095-.004.003-.005.004-.11.096-.004.004-.004.003-.109.098-.004.003-.004.004-.108.1-.004.003-.004.003-.107.101-.004.004-.004.003-.106.102-.003.004-.004.004-.105.103-.004.004-.004.004-.103.105-.004.004-.004.003-.102.106-.003.004-.004.004-.1.107-.004.004-.004.004-.099.108-.004.004-.003.004-.098.11-.003.003-.004.004-.096.11-.004.005-.003.004-.095.111-.003.004-.004.004-.093.113-.003.004-.004.004-.092.113-.003.004-.003.005-.09.114-.004.004-.003.004-.089.116-.003.004-.003.004-.088.117-.003.004-.003.005-.086.117-.003.004-.003.005-.084.118-.003.004-.003.005-.083.12-.003.003-.003.005-.082.12-.003.005-.002.004-.068.103-.076.142-.048.154-.018.16.011.161.041.156.07.146.095.13.117.11.136.086.15.06.158.03.162.002.158-.029.15-.058.138-.085.119-.108.082-.106.065-.099.075-.11.077-.113.077-.107.08-.11.08-.108.084-.108.083-.105.086-.106.086-.104.088-.104.089-.101.09-.102.093-.101.093-.099.094-.097.095-.096.098-.097.098-.095.099-.093.1-.092.103-.091.101-.089.104-.088.104-.086.106-.086.106-.083.106-.082.109-.082.108-.079.11-.078.11-.076.112-.076.112-.074.113-.072.113-.071.115-.07.115-.068.118-.067.117-.065.12-.065.054-.029.135-.088.116-.111.094-.132.068-.146.04-.156.009-.161-.02-.16-.05-.153-.078-.142-.102-.125-.123-.103-.141-.079-.153-.051-.16-.022-.16.008zm13.91 2.116l-.158.037-.147.066-.132.092-.113.116-.09.134-.063.148-.034.157-.005.162.026.159.054.152.082.139.086.102.09.09.094.098.093.099.092.1.091.103.089.101.088.104.086.104.086.106.083.105.083.108.08.108.081.11.077.107.077.112.075.111.075.114.072.113.071.113.07.115.068.117.067.115.065.118.064.117.062.118.061.12.059.119.059.122.056.121.054.12.055.125.051.123.051.125.048.123.049.127.046.126.044.125.043.128.042.129.039.126.038.13.022.076.058.15.086.137.109.119.129.096.145.07.155.043.16.013.161-.017.155-.046.143-.074.126-.1.106-.122.082-.138.055-.152.025-.16-.005-.16-.026-.132-.023-.082-.002-.005-.001-.005-.042-.139-.001-.005-.002-.005-.043-.138-.001-.005-.002-.005-.044-.137-.002-.005-.002-.005-.046-.137-.002-.005-.001-.005-.048-.137-.002-.005-.002-.005-.05-.135-.001-.005-.002-.005-.051-.135-.002-.005-.002-.005-.053-.135-.002-.005-.002-.005-.054-.133-.002-.005-.002-.005-.057-.133-.002-.005-.002-.005-.057-.132-.003-.005-.002-.005-.059-.132-.002-.005-.002-.004-.061-.132-.003-.004-.002-.005-.062-.13-.003-.005-.002-.005-.064-.13-.003-.004-.002-.005-.066-.129-.002-.004-.003-.005-.067-.128-.002-.005-.003-.004-.069-.128-.002-.004-.003-.005-.07-.126-.003-.005-.003-.004-.072-.126-.002-.005-.003-.004-.073-.125-.003-.004-.003-.005-.075-.124-.003-.004-.003-.005-.076-.123-.003-.004-.003-.005-.078-.122-.003-.004-.003-.005-.08-.121-.003-.004-.003-.005-.08-.12-.004-.005-.003-.004-.083-.12-.003-.004-.003-.004-.084-.118-.003-.005-.003-.004-.086-.117-.003-.005-.003-.004-.088-.117-.003-.004-.003-.004-.09-.116-.002-.004-.004-.004-.09-.114-.003-.005-.004-.004-.091-.113-.004-.004-.003-.004-.093-.113-.004-.004-.003-.004-.095-.111-.004-.004-.003-.004-.096-.11-.004-.005-.003-.004-.098-.109-.004-.004-.003-.004-.1-.108-.003-.004-.004-.004-.1-.107-.004-.004-.004-.004-.102-.106-.003-.003-.004-.004-.093-.095-.124-.103-.14-.08-.153-.05-.16-.023-.16.008zM4.288 12.828l-.158.032-.15.06-.135.088-.117.11-.095.131-.069.146-.035.129-.026.132v.005l-.002.005-.025.143-.001.005-.001.006-.024.143-.001.005-.001.006-.022.143-.001.006-.001.005-.02.144-.001.005-.001.006-.019.144v.005l-.001.006-.017.144v.006l-.001.005-.016.145v.011l-.014.145v.006l-.001.005-.012.146v.01l-.01.146-.001.006v.005l-.009.146v.011l-.007.146v.011l-.004.147v.011l-.003.147v.01l-.002.148v.01l.001.148v.01l.003.147v.011l.005.147v.01l.007.147v.011l.009.146v.011l.01.146v.01l.013.146v.011l.014.145v.005l.001.006.016.145v.011l.018.144v.006l.001.005.019.144v.006l.001.005.021.144v.005l.002.006.022.143v.006l.002.005.024.143v.005l.002.006.025.143.001.005.001.005.028.143.001.005.001.005.03.142v.005l.002.006.03.141.002.005.001.006.033.14v.006l.002.005.035.14v.006l.002.005.036.14.002.005.001.005.038.14.001.005.002.005.04.14v.005l.002.005.042.138.001.006.002.005.042.138.002.005.002.005.017.054.064.148.09.134.114.114.132.092.148.065.157.037.16.007.16-.023.153-.052.14-.08.123-.103.102-.126.076-.142.049-.153.02-.16-.01-.161-.032-.13-.017-.051-.039-.126-.038-.13-.037-.128-.035-.13-.033-.128-.033-.134-.03-.13-.029-.131-.026-.13-.026-.132-.024-.134-.023-.133-.02-.132-.02-.136-.017-.132-.016-.135-.014-.135-.012-.133-.012-.138-.009-.133-.007-.136-.006-.138-.004-.134-.003-.136v-.274l.003-.136.004-.134.006-.139.007-.136.01-.132.01-.139.013-.132.014-.135.016-.135.017-.132.02-.137.02-.13.023-.134.024-.133.024-.126.016-.16-.014-.161-.044-.155-.072-.145-.098-.128-.12-.108-.137-.084-.15-.057-.16-.029-.16.002zm23.286 4.202l-.156.038-.148.066-.132.092-.113.115-.09.134-.062.148-.03.127-.001.004-.023.134-.024.134-.026.132-.026.13-.03.132-.03.129-.032.134-.033.128-.035.13-.037.128-.038.13-.04.126-.04.128-.044.128-.044.126-.046.126-.048.126-.05.125-.05.125-.051.122-.054.123-.055.122-.056.12-.058.122-.06.12-.061.12-.062.119-.063.116-.067.119-.066.116-.068.115-.07.115-.07.113-.073.113-.074.112-.076.113-.077.112-.077.107-.08.11-.08.108-.085.109-.044.056-.088.135-.06.15-.033.158-.002.16.027.16.057.15.083.138.108.12.128.098.144.072.155.045.16.015.161-.016.155-.044.144-.073.128-.098.09-.099.05-.061.003-.004.003-.005.089-.115.003-.004.003-.005.088-.116.003-.004.003-.005.086-.117.003-.004.003-.005.084-.118.003-.004.003-.005.083-.12.003-.004.003-.004.082-.12.003-.005.002-.004.08-.121.003-.005.003-.004.078-.122.003-.005.003-.004.077-.123.002-.005.003-.004.075-.124.003-.005.003-.004.073-.125.003-.004.003-.005.072-.126.002-.004.003-.005.07-.126.003-.005.002-.005.07-.127.002-.004.002-.005.068-.128.002-.005.002-.004.066-.13.003-.004.002-.005.064-.13.002-.004.003-.005.062-.13.003-.005.002-.005.06-.13.003-.005.002-.005.06-.132.002-.005.002-.005.057-.132.003-.005.002-.005.056-.133.002-.005.002-.005.054-.134.002-.004.002-.005.053-.135.002-.005.002-.005.051-.135.002-.005.002-.005.05-.135.001-.005.002-.005.048-.137.001-.005.002-.005.046-.137.002-.005.002-.005.044-.137.002-.005.002-.005.042-.138.002-.005.002-.006.04-.138.002-.005.002-.005.04-.14V19.4l.002-.005.038-.14.001-.005.002-.005.036-.14.001-.005.001-.005.035-.141.001-.005.001-.005.033-.141.001-.006.001-.005.031-.141.002-.006v-.005l.03-.142.001-.005.001-.005.028-.143v-.005l.002-.005.025-.143.001-.006.001-.005.024-.143.001-.005.001-.006.001-.006.01-.161-.02-.16-.05-.154-.077-.141-.102-.125-.123-.104-.141-.079-.153-.051-.16-.022-.16.007zM6.681 22.734l-.152.053-.14.08-.122.105-.101.126-.076.142-.048.154-.018.16.011.161.041.156.07.146.077.11.04.047.003.004.003.004.095.111.003.004.004.004.096.11.004.005.003.004.098.109.003.004.004.004.1.108.003.004.003.004.101.107.004.004.003.004.102.106.004.003.004.004.103.105.004.004.004.004.105.103.004.004.003.003.106.102.004.004.004.004.107.1.004.004.004.004.108.099.004.003.004.004.11.098.003.003.004.004.11.096.005.004.004.003.11.095.005.003.004.004.113.093.004.003.004.004.113.091.004.004.005.003.114.09.004.004.004.003.116.089.004.003.004.003.117.088.004.003.004.003.118.086.004.003.005.003.118.084.004.003.005.003.119.083.004.003.005.003.12.081.005.003.004.003.121.08.005.003.004.003.122.078.005.003.004.003.123.076.005.003.004.003.124.075.005.003.004.003.125.073.004.003.005.003.126.072.004.002.005.003.126.07.005.003.004.002.128.07.004.002.005.002.128.068.005.002.004.002.13.066.004.003.005.002.13.064.004.002.005.003.13.062.005.002.004.003.132.06.004.003.005.002.132.06.005.002.005.002.132.057.005.002.005.003.133.056.005.002.005.002.133.054.005.002.005.002.13.05.154.045.16.016.161-.015.155-.045.144-.072.128-.098.108-.12.083-.138.057-.15.028-.16-.003-.16-.032-.158-.061-.15-.088-.135-.11-.117-.132-.094-.12-.058-.124-.049-.126-.051-.122-.051-.122-.054-.12-.054-.126-.058-.119-.057-.12-.06-.12-.06-.118-.063-.117-.064-.119-.066-.116-.066-.115-.068-.115-.07-.113-.07-.115-.074-.112-.074-.11-.075-.11-.076-.112-.079-.11-.08-.109-.082-.106-.082-.104-.082-.106-.086-.105-.087-.101-.086-.105-.091-.1-.09-.1-.091-.1-.094-.097-.094-.1-.098-.093-.095-.096-.1-.093-.098-.092-.101-.089-.1-.09-.102-.088-.104-.036-.043-.114-.114-.133-.091-.148-.065-.157-.036-.161-.006-.16.024zm15.063 2.691l-.156.044-.12.057-.06.034-.12.066-.116.064-.119.062-.12.061-.12.06-.118.057-.126.058-.12.054-.122.054-.122.05-.126.052-.125.05-.124.046-.127.047-.125.044-.129.043-.126.04-.13.042-.128.038-.127.036-.13.035-.131.034-.129.031-.132.03-.13.03-.135.027-.133.026-.13.023-.13.022-.137.021-.132.02-.134.017-.132.015-.138.015-.135.013-.133.01-.138.01-.136.007-.134.006-.136.004-.14.003-.16.018-.155.047-.142.076-.127.1-.105.122-.08.14-.054.151-.025.16.006.16.035.158.064.148.09.134.114.114.133.092.147.065.157.036.134.008.145-.002h.011l.147-.005h.01l.147-.007h.011l.146-.009h.011l.146-.01h.005l.005-.001.146-.012h.011l.145-.014h.005l.006-.001.145-.016h.011l.144-.018h.006l.005-.001.144-.02h.011l.144-.021h.005l.006-.002.143-.022h.006l.005-.002.143-.024h.005l.006-.002.143-.026h.005l.005-.002.143-.027.005-.001.005-.001.142-.03h.005l.005-.002.142-.03.005-.002.005-.001.142-.033.005-.001.005-.001.14-.035.006-.001.005-.001.14-.036.005-.002.005-.001.14-.038.005-.001.005-.002.14-.04h.005l.005-.002.138-.042.005-.001.006-.002.138-.043.005-.001.005-.002.137-.044.005-.002.005-.002.137-.046.005-.002.005-.001.137-.048.005-.002.005-.002.135-.05.005-.001.005-.002.135-.051.005-.002.005-.002.135-.053.005-.002.004-.002.134-.054.005-.002.005-.002.133-.056.005-.003.005-.002.132-.057.005-.002.005-.003.132-.059.005-.002.004-.002.131-.061.005-.003.005-.002.13-.062.005-.003.005-.002.13-.064.004-.002.005-.003.129-.066.004-.002.005-.003.128-.067.005-.002.004-.003.127-.069.005-.002.005-.003.126-.07.005-.003.004-.002.065-.038.132-.093.112-.115.089-.135.062-.149.034-.157.004-.161-.027-.16-.055-.15-.082-.14-.107-.12-.127-.1-.144-.073-.154-.045-.16-.017-.161.014zM15.994 0l-.187.001h-.011l-.188.004h-.011l-.187.006h-.011l-.187.008h-.005L15.2.02l-.187.01h-.005l-.005.001-.187.013h-.01L14.62.06h-.01l-.186.018h-.011l-.185.02-.005.001h-.006l-.185.022-.005.001h-.005l-.185.025h-.005l-.005.001-.184.027h-.006l-.005.001-.184.029h-.005l-.005.001-.183.031-.005.001-.006.001-.182.033-.006.001-.005.001-.182.035-.005.001-.005.001-.182.038h-.005l-.005.002-.181.04h-.005l-.005.002-.18.042-.006.001-.005.001-.18.044-.005.002h-.005l-.17.045-.152.054-.139.082-.121.106-.1.127-.074.143-.046.155-.017.16.013.16.043.156.07.145.097.13.119.108.137.085.15.058.159.03.16-.001.133-.023.165-.043.168-.041.171-.04.171-.037.172-.036.17-.033.173-.03.17-.03.177-.027.171-.025.175-.022.175-.02.175-.02.176-.016.175-.014.177-.012.176-.01.177-.007.174-.006.177-.003L16 1.73h.177l.178.004.174.006.177.007.176.01.177.012.175.014.176.017.175.018.175.02.175.023.171.025.177.027.17.03.173.03.17.033.171.036.154.033.16.02.161-.01.156-.04.146-.069.131-.094.111-.117.088-.135.06-.15.032-.158.002-.16-.027-.16-.057-.15L20 .714l-.108-.12-.128-.097-.144-.073-.129-.038-.158-.035-.005-.001-.005-.001L19.14.31h-.005l-.005-.002-.182-.035h-.006l-.005-.002-.182-.033h-.006l-.005-.002-.183-.03-.005-.001-.005-.001-.184-.029h-.005l-.006-.001-.184-.027h-.005l-.005-.001-.185-.024h-.005L17.968.12 17.783.1l-.006-.001h-.005l-.185-.02h-.006l-.005-.001L17.39.06 17.385.06h-.005l-.187-.015h-.005l-.005-.001-.187-.013h-.01L16.799.02h-.011L16.6.01h-.011l-.187-.006h-.011L16.204 0h-.011L16.005 0h-.01zm8.86 2.939l-.157.033-.15.062-.134.09-.116.111-.093.132-.067.147-.038.156-.01.161.022.16.05.153.078.141.103.124.102.087.045.034.142.106.137.105.14.11.136.11.135.112.134.115.134.117.13.115.132.122.128.12.127.122.127.125.123.126.124.128.121.13.118.128.118.132.117.133.113.134.113.136.11.136.109.137.109.142.104.14.103.14.101.142.1.144.099.146.095.145.094.147.093.15.092.15.087.149.087.15.085.152.083.155.08.152.08.155.04.081.084.138.11.119.128.096.145.072.155.043.16.013.161-.016.155-.046.143-.074.127-.099.106-.12.083-.14.055-.151.026-.16-.004-.16-.034-.158-.05-.124-.042-.085-.002-.004-.003-.005-.084-.165-.002-.004-.003-.005-.086-.164-.002-.004-.003-.005-.088-.162-.002-.005-.003-.005-.09-.161-.002-.005-.003-.004-.092-.16-.002-.005-.003-.005-.094-.16-.003-.004-.003-.004-.096-.159-.002-.004-.003-.005-.098-.157-.003-.004-.003-.005-.1-.156-.003-.004-.002-.005-.102-.154-.003-.005-.003-.004-.104-.154-.003-.004-.003-.005-.106-.152-.003-.004-.003-.005-.108-.151-.003-.004-.003-.005-.11-.15-.003-.004-.003-.004-.111-.15-.004-.003-.003-.005-.113-.147-.004-.004-.003-.005-.115-.146-.004-.004-.003-.004-.117-.145-.004-.004-.003-.004-.12-.144-.003-.004-.003-.004-.121-.142-.003-.004-.004-.004-.123-.141-.003-.004-.004-.004-.125-.14-.003-.004-.004-.004-.127-.138-.003-.004-.004-.004-.128-.136-.004-.004-.004-.004-.13-.135-.004-.004-.003-.004-.133-.134-.003-.004-.004-.003-.134-.133-.004-.003-.004-.004-.135-.13-.004-.004-.004-.004-.136-.128-.004-.004-.004-.004-.138-.126-.004-.004-.004-.003-.14-.125-.004-.004-.004-.003-.14-.123-.005-.004-.004-.003-.142-.121-.004-.004-.004-.003-.144-.12-.004-.003-.004-.003-.145-.117-.004-.004-.004-.003-.147-.115-.004-.004-.004-.003-.148-.113-.004-.003-.004-.004-.149-.111-.004-.003-.004-.004-.05-.036-.14-.083-.15-.055-.16-.027-.16.004zm-18.381.348l-.157.037-.147.066-.111.074-.04.032-.005.003-.004.004-.145.117-.004.003-.004.004-.144.119-.004.003-.004.004-.142.12-.004.004-.004.004-.141.123-.004.003-.004.004-.14.125-.004.003-.004.004-.138.126-.004.004-.004.004-.136.128-.004.004-.004.004-.135.13-.004.004-.004.003-.134.133-.004.003-.004.004-.132.134-.003.004-.004.004-.13.135-.004.004-.004.004-.128.136-.004.004-.004.004-.126.138-.004.004-.003.004-.125.14-.004.004-.003.004-.123.14-.004.005-.003.004-.121.142-.004.004-.003.004-.12.144-.003.004-.003.004-.117.145-.004.004-.003.004-.115.146-.004.005-.003.004-.113.147-.003.005-.004.004-.111.149-.003.004-.004.004-.11.15-.002.005-.003.004-.108.151-.003.005-.003.004-.106.152-.003.005-.003.004-.104.154-.003.004-.003.005-.102.154-.003.005-.002.004-.1.156-.003.005-.003.004-.098.157-.003.005-.003.004-.096.159-.002.004-.003.005-.094.16-.003.004-.002.004-.092.16-.003.005-.003.005-.09.161-.002.005-.003.005-.088.162-.002.005-.003.004-.086.164-.002.005-.002.004-.084.165-.003.005-.002.004-.082.166-.002.005-.003.004-.08.167-.002.004-.002.005-.078.168-.002.004-.002.005-.045.1-.053.153-.023.16.007.16.037.157.065.148.092.132.114.114.134.09.148.064.157.035.161.006.16-.025.152-.054.14-.08.121-.106.1-.126.065-.118.043-.095.074-.16.075-.155.077-.157.08-.155.08-.152.083-.155.085-.152.086-.15.088-.149.091-.15.094-.15.094-.147.095-.145.099-.146.1-.144.1-.142.104-.14.104-.14.11-.142.107-.137.11-.136.114-.136.113-.134.117-.133.118-.132.117-.129.122-.13.124-.127.123-.126.127-.125.127-.122.128-.12.132-.122.13-.115.133-.117.135-.115.135-.111.136-.11.037-.03.117-.11.094-.132.068-.146.04-.156.01-.161-.02-.16-.05-.154-.076-.141-.102-.125-.123-.104-.14-.08-.153-.051-.16-.023-.161.008zm24.514 11.15l-.157.04-.146.067-.131.093-.112.117-.088.135-.061.149-.033.157-.005.134.006.14.006.176.003.177.001.178-.001.177-.003.178-.006.177-.007.176-.01.177-.012.176-.015.176-.016.173-.018.175-.02.175-.024.174-.024.175-.027.17-.03.174-.03.173-.033.17-.036.172-.037.17-.04.17-.042.172-.043.168-.045.166-.048.169-.05.167-.052.168-.053.164-.056.166-.058.166-.06.161-.061.164-.063.158-.066.165-.068.16-.07.16-.07.158-.075.159-.074.155-.078.158-.081.158-.06.15-.03.158-.001.161.029.159.058.15.085.137.108.12.13.096.144.07.156.044.16.013.16-.017.155-.046.143-.074.127-.1.107-.12.07-.115.083-.164.003-.005.002-.004.082-.166.002-.005.003-.004.08-.167.002-.005.002-.004.078-.168.002-.004.002-.005.076-.169.002-.004.002-.005.074-.17.002-.004.002-.005.072-.17.002-.005.002-.005.07-.17.002-.006.001-.005.068-.172.002-.004.002-.005.065-.173.002-.005.002-.005.063-.173.002-.005.002-.005.06-.174.003-.005.001-.005.06-.175.001-.005.002-.005.057-.176.001-.005.002-.005.055-.177.001-.005.002-.005.052-.177.002-.005.001-.005.051-.178.001-.005.002-.005.048-.179.002-.005v-.005l.047-.179.001-.005.002-.005.044-.18v-.005l.002-.005.042-.18.001-.006.001-.005.04-.18.001-.006.001-.005.038-.182v-.005l.002-.005.035-.182v-.006l.002-.005.033-.182v-.006l.002-.005.03-.183.001-.005.001-.005.029-.184v-.005l.001-.006.027-.184v-.005l.001-.005.024-.185v-.005l.001-.005.022-.185v-.006l.001-.005.02-.185v-.006l.001-.005.017-.186v-.005l.001-.005.015-.187v-.005l.001-.005.013-.187v-.01l.01-.187.001-.006v-.005l.009-.187v-.011l.006-.187v-.011l.004-.188v-.011l.001-.188v-.01l-.001-.188v-.011l-.004-.188v-.011l-.006-.187v-.011l-.007-.145-.022-.16-.05-.152-.08-.141-.103-.124-.125-.102-.141-.077-.153-.05-.16-.02-.161.009zM.777 15l-.158.032-.15.06-.136.087-.117.11-.095.131-.068.146-.04.156-.012.133-.001.14v.01l.001.188v.011l.004.188v.011l.006.187v.011l.008.187v.011l.011.187v.005l.001.005.013.187v.01l.016.187v.01l.018.186v.011l.02.185.001.005v.006l.022.185.001.005v.005l.025.185v.005l.001.005.027.184v.006l.001.005.029.184v.005l.001.005.031.183.001.005.001.006.033.182.001.005.001.006.035.182.001.005.001.005.038.182v.005l.002.005.04.181v.005l.002.005.042.18.001.006.001.005.044.18.002.005v.005l.047.18.001.004.002.005.048.179.002.005.001.005.05.178.002.005.001.005.053.177.002.005.001.005.055.177.002.005.001.005.057.176.002.005.001.005.06.175.001.005.002.005.061.174.002.005.002.005.063.173.002.005.002.005.065.173.002.005.002.004.067.172.002.005.002.005.07.171.002.005.002.005.072.17.002.005.002.005.074.169.002.005.002.004.076.169.002.005.002.004.078.168.002.004.002.005.08.167.003.004.002.005.082.166.002.004.003.005.02.04.086.136.11.118.13.095.146.07.156.041.16.012.16-.019.155-.048.142-.075.126-.1.105-.123.08-.14.054-.152.024-.16-.006-.16-.036-.158-.051-.123-.018-.034-.078-.158L3.1 22.1l-.074-.16-.071-.156-.07-.162-.068-.16-.067-.164-.062-.158-.062-.164-.059-.161-.058-.166-.056-.166-.053-.164-.052-.168-.05-.167-.048-.17-.045-.165-.043-.168-.043-.172-.039-.17-.037-.17-.036-.172-.033-.17-.03-.173-.03-.174-.027-.17-.025-.175-.022-.174-.021-.175-.018-.175-.017-.173-.014-.176-.012-.176-.01-.177-.007-.176-.006-.177-.003-.178L1.73 16v-.134l-.013-.16-.044-.156-.072-.144-.097-.129-.12-.108-.137-.085-.15-.057L.938 15 .777 15zM6.17 26.842l-.152.052-.14.08-.122.105-.101.126-.076.142-.048.154-.02.16.012.161.041.156.07.146.094.13.096.093.032.026.004.003.004.004.145.117.004.003.004.004.146.115.005.003.004.004.147.113.005.003.004.004.149.111.004.003.004.003.15.11.005.003.004.003.151.108.005.003.004.003.152.106.005.003.004.003.154.104.004.003.005.003.154.102.005.002.004.003.156.1.005.003.004.003.157.098.005.003.004.002.159.096.004.003.005.003.16.094.004.003.004.002.16.092.005.003.005.002.161.09.005.003.005.003.162.088.005.002.004.002.164.087.005.002.004.002.165.084.005.003.004.002.166.082.004.002.005.003.167.08.004.002.005.002.168.078.004.002.005.002.169.076.004.002.005.002.17.074.004.002.005.002.17.072.005.002.005.002.17.07.006.002.005.001.171.068.005.002.005.002.173.065.005.002.005.002.173.063.005.002.005.002.174.061.005.002.005.001.175.06.005.001.005.002.176.057.005.001.005.002.177.055.005.001.005.002.177.052.005.002.005.001.178.051.005.001.005.002.178.048.006.002h.005l.179.047.005.001.005.002.18.044h.005l.005.002.18.042.006.001.005.001.159.035.16.02.16-.01.157-.04.146-.069.13-.094.112-.117.087-.136.06-.149.033-.158.002-.161-.028-.159-.057-.15-.084-.138-.108-.12-.128-.098-.144-.072-.128-.039-.154-.033-.168-.04-.171-.041-.169-.044-.17-.045-.166-.048-.168-.05-.165-.051-.166-.054-.166-.056-.163-.057-.165-.06-.161-.062-.164-.064-.16-.065-.16-.068-.162-.07-.157-.07-.157-.074-.157-.075-.156-.077-.153-.079-.156-.082-.153-.082-.154-.086-.15-.086-.152-.09-.148-.09-.147-.092-.149-.095-.145-.095-.144-.098-.145-.1-.143-.102-.14-.103-.14-.104-.14-.108-.139-.11-.136-.11-.027-.022-.133-.091-.148-.065-.157-.036-.161-.006-.16.024zm19.214.073l-.156.039-.146.067-.11.076-.064.051-.139.11-.14.108-.14.104-.14.103-.143.101-.145.101-.144.098-.145.095-.149.095-.148.093-.147.089-.152.09-.15.086-.154.086-.153.082-.156.082-.153.079-.156.077-.157.075-.157.073-.158.071-.16.07-.16.068-.161.065-.164.064-.161.061-.165.06-.163.058-.166.056-.166.054-.166.051-.167.05-.167.048-.17.045-.168.044-.171.042-.168.039-.17.037-.11.023-.154.047-.143.075-.126.1-.106.122-.081.139-.054.152-.025.16.006.16.035.158.063.148.09.133.114.115.132.092.148.065.157.037.16.008.133-.017.115-.024h.005l.005-.002.181-.04h.005l.005-.002.18-.042.006-.001.005-.001.18-.044.005-.002h.005l.18-.047.004-.001.005-.002.179-.048.005-.002.005-.001.178-.05.005-.002.005-.002.177-.052.005-.002.005-.001.177-.055.005-.002.005-.001.176-.057.005-.002.005-.002.175-.059.005-.001.005-.002.174-.061.005-.002.005-.002.173-.063.005-.002.005-.002.173-.065.005-.002.004-.002.172-.068.005-.001.005-.002.171-.07.005-.002.005-.002.17-.072.005-.002.005-.002.169-.074.005-.002.004-.002.169-.076.004-.002.005-.002.168-.078.004-.002.005-.002.167-.08.004-.003.005-.002.166-.082.004-.002.005-.003.165-.084.004-.002.005-.002.163-.087.005-.002.005-.002.162-.088.005-.003.005-.003.161-.09.005-.002.004-.003.16-.092.005-.002.005-.003.16-.094.004-.003.004-.003.158-.096.005-.002.004-.003.158-.098.004-.003.005-.003.156-.1.004-.003.004-.002.155-.102.005-.003.004-.003.154-.104.004-.003.005-.003.152-.106.004-.003.005-.003.151-.108.004-.003.005-.003.15-.11.004-.003.004-.003.149-.111.004-.004.004-.003.148-.113.004-.004.004-.003.147-.115.004-.004.004-.003.068-.055.116-.113.092-.132.066-.147.038-.157.008-.16-.022-.16-.05-.153-.08-.14-.103-.125-.124-.102-.142-.077-.153-.05-.16-.02-.16.009z"}));function gW(){return gW=Object.assign?Object.assign.bind():function(e){for(var t=1;txS("svg",gW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.975.003C8.195-.157.935 6.24.125 13.985c-.855 6.55 2.741 13.46 8.74 16.314 5.666 2.847 13.012 1.99 17.71-2.33 4.745-4.162 6.727-11.243 4.532-17.206C29.09 4.884 23.445.408 17.201.049c-.408-.03-.817-.046-1.226-.046zm-.181 1.724c7.134-.269 13.84 5.68 14.399 12.804.686 6.283-3.267 12.792-9.283 14.862-5.847 2.162-13.025.06-16.557-5.141C.728 19.174.872 11.679 4.985 6.916c2.632-3.171 6.671-5.174 10.809-5.19zm.283 1.553c-6.6-.21-12.671 5.585-12.79 12.185-.292 5.964 4.129 11.817 10.034 12.953 5.47 1.198 11.584-1.613 14.025-6.702 2.525-4.97 1.396-11.585-2.912-15.215-2.282-2.022-5.3-3.217-8.357-3.22zM16 4.975c5.818-.154 11.117 5.082 11.024 10.905.103 5.384-4.23 10.5-9.636 11.043-5.075.667-10.426-2.587-11.885-7.552-1.53-4.73.48-10.428 4.888-12.864A11.082 11.082 0 0116 4.975zm-2.15 3.281v5.534H8.213v4.38h5.636v5.534h4.31V18.17h5.639v-4.38h-5.64V8.256h-4.31zm.865.865h2.583v5.534h5.635v2.65h-5.635v5.533h-2.583v-5.534h-5.64v-2.649h5.64V9.121z"}));function yW(){return yW=Object.assign?Object.assign.bind():function(e){for(var t=1;txS("svg",yW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.975.049C8.195-.11.935 6.286.125 14.03c-.855 6.55 2.741 13.46 8.74 16.314 5.666 2.847 13.012 1.99 17.71-2.33 4.745-4.162 6.727-11.243 4.532-17.206C29.09 4.93 23.445.453 17.201.095c-.408-.03-.817-.046-1.226-.046zm-.181 1.724c7.134-.269 13.84 5.68 14.399 12.804.686 6.283-3.267 12.792-9.283 14.862-5.847 2.162-13.025.06-16.557-5.141C.728 19.22.872 11.725 4.985 6.962c2.632-3.171 6.671-5.174 10.809-5.19zm.283 1.553c-6.6-.21-12.671 5.585-12.79 12.185-.292 5.964 4.129 11.817 10.034 12.953 5.47 1.198 11.584-1.613 14.025-6.702 2.525-4.97 1.396-11.585-2.912-15.216-2.282-2.021-5.3-3.216-8.357-3.22zM16 5.021c5.818-.154 11.117 5.082 11.024 10.905.103 5.384-4.23 10.5-9.636 11.043-5.075.667-10.426-2.587-11.885-7.552-1.53-4.73.48-10.428 4.888-12.864A11.083 11.083 0 0116 5.021zm.006 3.521L9.206 20.745h13.598L16.005 8.542zm0 1.775l5.329 9.564H10.677l5.328-9.564z"}));function wW(){return wW=Object.assign?Object.assign.bind():function(e){for(var t=1;txS("svg",wW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.97.04h-.127C8.713-.018 2.003 5.334.437 12.286c-1.51 6.123.98 13.005 6.136 16.665 5.125 3.788 12.546 4.105 17.912.623 5.272-3.276 8.33-9.766 7.325-15.916-.904-6.241-5.79-11.7-11.95-13.143A16.082 16.082 0 0015.97.04zm-.181 1.724c.115 0 .23 0 .347.003 6.625-.066 12.823 5.149 13.89 11.69 1.13 5.91-1.908 12.349-7.262 15.138-5.473 3.013-12.866 1.884-17.116-2.726C1.291 21.372.444 13.914 3.802 8.602c2.493-4.112 7.169-6.819 11.987-6.838zm.283 1.554c-.117 0-.234.002-.351.005-6.1 0-11.691 5.049-12.346 11.114-.78 5.684 2.795 11.612 8.218 13.52 5.139 1.943 11.416.101 14.624-4.38 3.461-4.583 3.262-11.538-.596-15.831-2.36-2.747-5.924-4.423-9.549-4.428zm-.078 1.695c.078 0 .156 0 .234.003 5.4 0 10.321 4.556 10.734 9.942.563 5.13-2.958 10.364-7.971 11.678-4.832 1.41-10.457-.935-12.746-5.446-2.463-4.559-1.2-10.795 3.014-13.883a11.072 11.072 0 016.735-2.294zm-.137 3.42c-2.965.02-5.792 1.968-6.884 4.722-1.137 2.693-.509 6.007 1.536 8.096 1.988 2.14 5.263 2.929 8.007 1.926 2.875-.98 4.987-3.824 5.063-6.865.154-2.954-1.622-5.875-4.295-7.13a7.545 7.545 0 00-3.427-.75zm.27 1.381c2.708.013 5.249 2.014 5.88 4.652.704 2.576-.481 5.512-2.788 6.862-2.356 1.478-5.677 1.084-7.611-.918-2.042-1.97-2.405-5.376-.839-7.738 1.11-1.762 3.146-2.877 5.229-2.857h.13zm1.831 1.764l-2.072 3.76c-.64.068-.792 1.039-.202 1.298.39.27.696-.18 1.051-.164h3.168v-.864h-3.18l1.992-3.612-.757-.418z"}));function _W(){return _W=Object.assign?Object.assign.bind():function(e){for(var t=1;txS("svg",_W({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.848.001C8.113-.093.931 6.281.125 13.983c-.855 6.55 2.741 13.46 8.74 16.314 5.666 2.847 13.012 1.99 17.71-2.33 4.745-4.162 6.727-11.243 4.532-17.207C29.105 4.938 23.55.48 17.367.06A16.448 16.448 0 0015.848 0v.001zm.293 1.727c7.113-.099 13.662 5.97 14.077 13.08.56 6.299-3.516 12.735-9.582 14.679-5.798 2.004-12.806-.12-16.283-5.237C.717 19.159.874 11.638 5.016 6.876 7.722 3.638 11.902 1.63 16.14 1.728zm-.415 1.555C9.157 3.258 3.256 9.156 3.278 15.729c-.16 5.965 4.365 11.725 10.293 12.737 5.409 1.065 11.37-1.744 13.775-6.753 2.534-4.986 1.386-11.627-2.953-15.251-2.364-2.077-5.512-3.27-8.667-3.18zm.507 1.692c5.82-.026 11.013 5.318 10.79 11.143-.024 5.3-4.313 10.267-9.636 10.803-5.075.667-10.426-2.588-11.885-7.553-1.535-4.744.494-10.46 4.925-12.885a11.072 11.072 0 015.806-1.508z"}));function kW(){return kW=Object.assign?Object.assign.bind():function(e){for(var t=1;txS("svg",nG({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M5.637 3A5.644 5.644 0 000 8.637v15.417a5.644 5.644 0 005.637 5.637h20.726A5.644 5.644 0 0032 24.054V8.637A5.644 5.644 0 0026.363 3H5.637zm0 1.778h20.726a3.83 3.83 0 013.859 3.859v15.417a3.83 3.83 0 01-3.859 3.858h-4.201V16.695H9.838v11.217H5.637a3.83 3.83 0 01-3.859-3.858V8.637a3.83 3.83 0 013.859-3.859zm5.33 13.046h10.066v10.065H10.967V17.824zm4.189 1.431V22.06H12.35v1.689h2.804V26.554h1.69V23.749h2.804V22.06h-2.804V19.255h-1.69z"}));function oG(){return oG=Object.assign?Object.assign.bind():function(e){for(var t=1;txS("svg",oG({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M5.636 3A5.642 5.642 0 000 8.636v15.418a5.643 5.643 0 005.636 5.636h20.728A5.643 5.643 0 0032 24.054V8.636A5.642 5.642 0 0026.364 3H5.636zm0 1.778h20.728a3.83 3.83 0 013.858 3.858v15.418a3.83 3.83 0 01-3.858 3.858h-4.203V16.723H9.84v11.189H5.636a3.83 3.83 0 01-3.858-3.858V8.636a3.83 3.83 0 013.858-3.858zm5.331 13.074h10.066v10.06H10.967v-10.06zm1.336 3.996v1.711h7.394v-1.71h-7.394z"}));function sG(){return sG=Object.assign?Object.assign.bind():function(e){for(var t=1;txS("svg",cV({width:"32",height:"32",xmlns:"http://www.w3.org/2000/svg"},t),xS("path",{stroke:"#000",strokeWidth:"2",fill:"none",strokeDasharray:"3.3,6",strokeLinecap:"square",d:"M1.5 30.5l29-29"})),BusinessRuleTask:({styles:e={},...t})=>xS("svg",uV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M6.494 3C2.916 3 0 5.903 0 9.475v13.383c0 3.572 2.916 6.475 6.494 6.475h19.012c3.578 0 6.494-2.903 6.494-6.475V9.475C32 5.903 29.084 3 25.506 3H6.494zm0 2h19.012C28.015 5 30 6.98 30 9.475v13.383c0 2.495-1.985 4.475-4.494 4.475H6.494C3.985 27.333 2 25.353 2 22.858V9.475C2 6.98 3.985 5 6.494 5zM5.296 7.398v12.665h16.87V7.398H5.296zm.718 4.386h15.433v3.44H9.985v-3.432h-.719v3.431H6.014v-3.44zm0 4.158h3.252v3.403H6.014v-3.403zm3.97 0h11.463v3.403H9.985v-3.403z"}),xS("path",{d:"M6.079 8.209v3.587H21.44V8.209z"})),CallActivity:({styles:e={},...t})=>xS("svg",hV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M24.978 3c3.761 0 6.89 2.979 7.018 6.695l.004.238V22.4c0 3.747-3.05 6.804-6.783 6.93l-.24.003H7.023c-3.761 0-6.89-2.978-7.018-6.695L0 22.4V9.933C0 6.187 3.05 3.13 6.783 3.004L7.023 3h17.955zm0 3.667H7.022c-1.842 0-3.255 1.344-3.35 3.079l-.005.187V22.4c0 1.761 1.35 3.167 3.16 3.262l.195.005L10 25.666V15h12v10.666h2.978c1.842 0 3.255-1.344 3.35-3.079l.005-.187V9.933c0-1.761-1.35-3.166-3.16-3.261l-.195-.005zm-3.732 9.087H10.754v9.912h10.491v-9.912zm-4.475 1.817v2.658h2.658v1.542H16.77v2.658H15.23V21.77H12.57V20.23h2.658V17.57h1.542z"})),Collaboration:({styles:e={},...t})=>xS("svg",pV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("g",{fillRule:"evenodd"},xS("path",{fillRule:"nonzero",d:"M0 0v8.62h32V0H0zm1.655 7.054v-5.37h28.62v5.37H1.656zM0 23.38V32h32v-8.62H0zm1.655 7.054v-5.37h28.62v5.37H1.656z"}),xS("path",{d:"M24 8l4 7h-8l4-7zm0 2l-2.28 4h4.56L24 10zM23.5 21h1v3h-1zM23.5 15h1v3h-1zM8 24l-4-7h8l-4 7zm0-2l2.28-4H5.72L8 22zM7.5 8h1v3h-1zM7.5 14h1v3h-1z"}))),ConditionalFlow:({styles:e={},...t})=>xS("svg",dV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M32 .041S20.42 5.95 14.537 8.713c1.26 1.15 2.432 2.392 3.648 3.588-5.703 5.78-3.15 3.303-8.087 8.316l-8.472 1.377L0 32l10.006-1.626.098-.598 1.279-7.873c4.975-5.052 2.403-2.555 8.118-8.346 1.218 1.214 2.43 2.435 3.648 3.648C26.29 11.018 32 .041 32 .041zM9.603 22.397L8.54 28.91 2.03 29.97l1.061-6.515 6.512-1.058z"})),SequenceFlow:({styles:e={},...t})=>xS("svg",fV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M32 .06S20.33 6.014 14.403 8.798c1.27 1.16 2.451 2.41 3.676 3.616L0 30.734 1.325 32l18.08-18.32c1.227 1.223 2.448 2.453 3.676 3.676C26.247 11.12 32 .06 32 .06z"})),DataInput:({styles:e={},...t})=>xS("svg",vV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M20.833 0H3.488v32H28V7.36L20.833 0zm-2.105 1.818v7.507h7.454v20.857H5.306V1.818h13.422zm1.818.493l5.06 5.196h-5.06V2.311zm-9.182.86v3.744H7.081v3.222h4.283v3.743l5.7-5.354-5.7-5.354zm.808 1.868l3.711 3.487-3.71 3.487V9.329H7.888V7.723h4.283V5.039z"})),DataInputAssociation:gV,DataOutput:({styles:e={},...t})=>xS("svg",bV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M20.833 0H3.488v32H28V7.36L20.833 0zm-2.105 1.818v7.507h7.454v20.857H5.306V1.818h13.422zm1.818.493l5.06 5.196h-5.06V2.311zm-9.182.86v3.744H7.081v3.222h4.283v3.743l5.7-5.354-5.7-5.354z"})),DataOutputAssociation:gV,DataObjectReference:({styles:e={},...t})=>xS("svg",yV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M21.345 0H4v32h24.512V7.36L21.345 0zM19.24 1.818v7.507h7.454v20.857H5.818V1.818H19.24zm1.818.493l5.06 5.196h-5.06V2.311z"})),DataStoreReference:({styles:e={},...t})=>xS("svg",wV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M16.008 1c-3.712 0-7.417.306-10.319.939-1.45.316-2.7.71-3.68 1.226C1.065 3.662.297 4.304.061 5.23a.823.823 0 00-.035.15L0 5.502l.017.084c-.012 7.41 0 14.46 0 22.08l.017.082c.203.985.995 1.656 1.975 2.172.98.517 2.23.91 3.68 1.226 2.902.633 6.607.94 10.319.94 3.711 0 7.416-.307 10.318-.94 1.451-.316 2.701-.71 3.68-1.226.98-.516 1.772-1.187 1.975-2.172l.017-.082V5.541a.825.825 0 000-.106v-.016l-.002-.013a.823.823 0 00-.046-.197c-.244-.916-1.007-1.55-1.943-2.044-.98-.516-2.23-.91-3.68-1.226C23.423 1.306 19.718 1 16.006 1zm0 1.646c3.62 0 7.245.308 9.968.901 1.36.297 2.497.67 3.263 1.074.612.323.932.643 1.063.882-.131.24-.451.56-1.063.882-.766.404-1.902.777-3.263 1.074-2.723.594-6.349.901-9.968.901-3.62 0-7.245-.307-9.968-.901-1.361-.297-2.497-.67-3.264-1.074-.611-.322-.931-.642-1.062-.882.13-.24.451-.56 1.062-.882.767-.403 1.903-.777 3.264-1.074 2.723-.593 6.348-.9 9.968-.9zM1.664 7.647c.112.067.227.132.345.194.98.517 2.23.91 3.68 1.226 2.902.633 6.607.94 10.319.94 3.711 0 7.416-.307 10.318-.94 1.451-.316 2.701-.71 3.68-1.226.119-.062.234-.127.346-.194v1.93c-.08.245-.398.619-1.113.995-.766.404-1.902.777-3.263 1.074-2.723.594-6.349.901-9.968.901-3.62 0-7.245-.307-9.968-.9-1.361-.298-2.497-.671-3.264-1.075-.714-.376-1.032-.75-1.112-.995v-1.93zm0 4.187c.112.067.227.132.345.195.98.516 2.23.91 3.68 1.226 2.902.632 6.607.938 10.319.938 3.711 0 7.416-.306 10.318-.938 1.451-.317 2.701-.71 3.68-1.226.119-.063.234-.128.346-.195v1.93c-.08.245-.398.619-1.113.995-.766.404-1.902.777-3.263 1.074-2.723.594-6.349.901-9.968.901-3.62 0-7.245-.307-9.968-.9-1.361-.298-2.497-.67-3.264-1.075-.714-.376-1.032-.75-1.112-.995v-1.93zm0 4.188c.112.067.227.131.345.194.98.516 2.23.91 3.68 1.226 2.902.633 6.607.939 10.319.939 3.711 0 7.416-.306 10.318-.94 1.451-.316 2.701-.709 3.68-1.225.119-.063.234-.127.346-.194V27.47c-.08.245-.398.618-1.113.995-.766.404-1.902.777-3.263 1.074-2.723.594-6.349.9-9.968.9-3.62 0-7.245-.306-9.968-.9-1.361-.297-2.497-.67-3.264-1.074-.714-.377-1.032-.75-1.112-.995V16.022z"})),DefaultFlow:({styles:e={},...t})=>xS("svg",xV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M32 .06S20.33 6.014 14.403 8.798c1.27 1.16 2.451 2.41 3.676 3.616L6.84 23.804H.046v1.755h5.063L0 30.735 1.325 32l6.357-6.441h7.145v-1.756H9.414l9.99-10.123c1.228 1.223 2.45 2.453 3.677 3.676C26.247 11.12 32 .06 32 .06z"})),CancelEndEvent:({styles:e={},...t})=>xS("svg",_V({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.676.051C7.943.058.834 6.501.104 14.21c-.783 6.565 2.912 13.427 8.942 16.216 5.6 2.737 12.789 1.87 17.434-2.344 4.725-4.09 6.79-11.06 4.714-17.006C29.22 5.009 23.394.364 16.978.083A18.532 18.532 0 0015.676.05zm.317 5.006c5.695-.165 10.916 4.858 10.983 10.555.246 5.212-3.67 10.33-8.864 11.204-5.026 1.007-10.6-1.898-12.36-6.777-1.894-4.826.039-10.928 4.649-13.46a11.082 11.082 0 015.592-1.522zm-3.955 3.918L8.94 12.072l3.985 3.985-3.913 3.913 3.048 3.047 3.913-3.913 3.987 3.987 3.096-3.096-3.987-3.987 3.913-3.913-3.047-3.048-3.913 3.913-3.985-3.985z"})),CompensateEndEvent:({styles:e={},...t})=>xS("svg",EV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.676.051C7.943.058.834 6.501.104 14.21c-.783 6.565 2.912 13.427 8.942 16.216 5.6 2.737 12.789 1.87 17.434-2.344 4.725-4.09 6.79-11.06 4.714-17.006C29.22 5.009 23.394.364 16.978.083A18.532 18.532 0 0015.676.05zm.317 5.006c5.695-.165 10.916 4.858 10.983 10.555.246 5.212-3.67 10.33-8.864 11.204-5.026 1.007-10.6-1.898-12.36-6.777-1.894-4.826.039-10.928 4.649-13.46a11.082 11.082 0 015.592-1.522zm-.56 5.744l-7.407 5.23 7.408 5.234v-5.057c2.384 1.687 4.771 3.371 7.157 5.057V10.801l-7.157 5.054v-5.054z"})),ErrorEndEvent:({styles:e={},...t})=>xS("svg",kV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.676.051C7.943.058.834 6.501.104 14.21c-.783 6.565 2.912 13.427 8.942 16.216 5.6 2.737 12.789 1.87 17.434-2.344 4.725-4.09 6.79-11.06 4.714-17.006C29.22 5.009 23.394.364 16.978.083A18.532 18.532 0 0015.676.05zm.317 5.006c5.695-.165 10.916 4.858 10.983 10.555.246 5.212-3.67 10.33-8.864 11.204-5.026 1.007-10.6-1.898-12.36-6.777-1.894-4.826.039-10.928 4.649-13.46a11.082 11.082 0 015.592-1.522zm6.132 4.166l-3.633 7.363-4.516-5.874-4.102 12.131 4.599-5.91 4.743 5.427 2.909-13.137z"})),EscalationEndEvent:({styles:e={},...t})=>xS("svg",SV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.676.051C7.943.058.834 6.501.104 14.21c-.783 6.565 2.912 13.427 8.942 16.216 5.6 2.737 12.789 1.87 17.434-2.344 4.725-4.09 6.79-11.06 4.714-17.006C29.22 5.009 23.394.364 16.978.083A18.532 18.532 0 0015.676.05zm.317 5.006c5.695-.165 10.916 4.858 10.983 10.555.246 5.212-3.67 10.33-8.864 11.204-5.026 1.007-10.6-1.898-12.36-6.777-1.894-4.826.039-10.928 4.649-13.46a11.082 11.082 0 015.592-1.522zm.006 3.9c-1.672 4.653-2.733 9.5-4.406 14.153 1.535-1.525 2.872-3.234 4.406-4.759l4.406 4.76c-1.497-4.71-2.91-9.445-4.406-14.155z"})),LinkEndEvent:({styles:e={},...t})=>xS("svg",CV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.676 0C7.943.007.834 6.45.104 14.16c-.783 6.565 2.912 13.427 8.942 16.216 5.6 2.737 12.789 1.87 17.434-2.344 4.725-4.09 6.79-11.06 4.714-17.006C29.22 4.958 23.394.313 16.978.032A18.532 18.532 0 0015.676 0zm.317 5.006c5.695-.165 10.916 4.858 10.983 10.555.246 5.212-3.67 10.33-8.864 11.204-5.026 1.007-10.6-1.898-12.36-6.777-1.894-4.826.039-10.928 4.649-13.46a11.082 11.082 0 015.592-1.522zm1.78 4.065v3.555H9.779v6.713h7.994v3.554l5.828-6.91-5.828-6.912z"})),MessageEndEvent:({styles:e={},...t})=>xS("svg",OV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.676 0C7.943.007.834 6.45.104 14.16c-.783 6.565 2.912 13.427 8.942 16.216 5.6 2.737 12.789 1.87 17.434-2.344 4.725-4.09 6.79-11.06 4.714-17.006C29.22 4.958 23.394.313 16.978.032A18.532 18.532 0 0015.676 0zm.317 5.006c5.695-.165 10.916 4.858 10.983 10.555.246 5.212-3.67 10.33-8.864 11.204-5.026 1.007-10.6-1.898-12.36-6.777-1.894-4.826.039-10.928 4.649-13.46a11.082 11.082 0 015.592-1.522zm-5.91 5.448l6.041 4.9 6.04-4.9H10.084zm-1.34 1.137v9.92h14.513v-9.718l-7.132 5.786-7.381-5.988z"})),MultipleEndEvent:({styles:e={},...t})=>xS("svg",PV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.676 0C7.943.007.834 6.45.104 14.16c-.783 6.565 2.912 13.427 8.942 16.216 5.6 2.737 12.789 1.87 17.434-2.344 4.725-4.09 6.79-11.06 4.714-17.006C29.22 4.958 23.394.313 16.978.032A18.529 18.529 0 0015.676 0zm.317 5.006c5.695-.165 10.916 4.858 10.983 10.555.246 5.212-3.67 10.33-8.864 11.204-5.026 1.007-10.6-1.898-12.36-6.777-1.894-4.826.039-10.928 4.649-13.46a11.082 11.082 0 015.592-1.522zm.011 3.039l-7.619 5.53 2.91 8.95h9.418l2.91-8.95-7.619-5.53z"})),EndEvent:({styles:e={},...t})=>xS("svg",MV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.84.042C8.654-.01 1.913 5.437.4 12.454-1.057 18.62 1.554 25.495 6.784 29.09c5.076 3.636 12.31 3.92 17.59.544 5.309-3.251 8.435-9.744 7.445-15.921C30.91 7.307 25.795 1.738 19.442.422a16.064 16.064 0 00-3.602-.38zm.382 5.01c5.28-.017 10.13 4.353 10.669 9.61.687 5.025-2.552 10.281-7.423 11.792-4.754 1.617-10.486-.447-12.962-4.856-2.74-4.575-1.574-11.094 2.768-14.27a11.05 11.05 0 016.948-2.276z"})),SignalEndEvent:({styles:e={},...t})=>xS("svg",AV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.676.051C7.943.058.834 6.501.104 14.21c-.783 6.565 2.912 13.427 8.942 16.216 5.6 2.737 12.789 1.87 17.434-2.344 4.725-4.09 6.79-11.06 4.714-17.006C29.22 5.009 23.394.364 16.978.083A18.532 18.532 0 0015.676.05zm.317 5.006c5.695-.165 10.916 4.858 10.983 10.555.246 5.212-3.67 10.33-8.864 11.204-5.026 1.007-10.6-1.898-12.36-6.777-1.894-4.826.039-10.928 4.649-13.46a11.082 11.082 0 015.592-1.522zm.006 3.492c-2.261 4.07-4.532 8.136-6.797 12.204h13.595L15.999 8.55z"})),TerminateEndEvent:({styles:e={},...t})=>xS("svg",TV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.676.051C7.943.058.834 6.501.104 14.21c-.783 6.565 2.912 13.427 8.942 16.216 5.6 2.737 12.789 1.87 17.434-2.344 4.725-4.09 6.79-11.06 4.714-17.006C29.22 5.009 23.394.364 16.978.083A18.532 18.532 0 0015.676.05zm.317 5.006c5.695-.165 10.916 4.858 10.983 10.555.246 5.212-3.67 10.33-8.864 11.204-5.026 1.007-10.6-1.898-12.36-6.777-1.894-4.826.039-10.928 4.649-13.46a11.082 11.082 0 015.592-1.522zm.006 2.859c-5.264-.2-9.495 5.551-7.755 10.516 1.366 5.085 8.108 7.436 12.339 4.301 4.455-2.807 4.708-9.943.462-13.058A8.128 8.128 0 0016 7.915z"})),EventSubProcess:({styles:e={},...t})=>xS("svg",BV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M7.295 4.78h1.779V3.003h-1.78V4.78zm3.558 0h1.779V3.003h-1.78V4.78zm3.557 0h1.78V3.003h-1.78V4.78zm3.558 0h1.78V3.003h-1.78V4.78zm3.558 0h1.779V3.003h-1.779V4.78zm3.558 0c.55.014 1.106-.034 1.654.045l.245-1.762c-.629-.096-1.266-.05-1.9-.061V4.78zM5.732 3.004a5.933 5.933 0 00-.915.093c.111.582.226 1.164.315 1.75.358-.101.947.098.746-.483-.096-.382.164-1.208-.146-1.36zm22.372 2.281c.427.234.812.547 1.13.915.42-.4 1.002-.777 1.33-1.18a5.863 5.863 0 00-1.593-1.289l-.867 1.554zm-25.27-1.44c-.587.354-1.11.811-1.539 1.345.47.333.96.86 1.417 1.077.299-.362.66-.673 1.065-.913-.328-.493-.55-1.055-.944-1.509zM30.515 7.26c-.563.046-.557.342-.378.784.154.25-.097.862.25.85.525-.023 1.14.043 1.612-.032a5.891 5.891 0 00-.362-2.027l-1.122.425zM.268 7.114A6.042 6.042 0 000 9.052h1.78c-.013-.5.047-1.003.208-1.478L.296 7.027l-.026.079-.002.008zM30.22 12.45H32v-1.779h-1.779v1.779zm-30.22.16h1.78v-1.779H0v1.78zm30.22 3.398H32v-1.78h-1.779v1.78zm-30.22.16h1.78v-1.779H0v1.779zm30.22 3.398H32v-1.78h-1.779v1.78zm-30.22.16h1.78v-1.78H0v1.78zm30.22 3.397H32v-1.779h-1.779v1.78zm-30.22.16h1.78v-1.778H0v1.778zm30.137 1.47a4.059 4.059 0 01-.522 1.32c.506.283 1.046.715 1.53.908a5.836 5.836 0 00.744-1.918c-.576-.094-1.209-.264-1.752-.31zm-29.984.51c.157.676.435 1.325.82 1.904l1.486-.977a4.065 4.065 0 01-.577-1.347l-1.73.42zm28.427 1.943c-.371.277-.79.49-1.234.627l.548 1.693a5.84 5.84 0 001.835-.96l-1.082-1.412-.066.05-.001.002zm-26.164 1.47c.567.413 1.21.722 1.886.907.14-.569.343-1.175.444-1.722a4.062 4.062 0 01-1.283-.624l-1.047 1.438zm3.88 1.119h1.779v-1.78h-1.78v1.78zm3.55 0h1.787v-1.78H9.846v1.78zm3.565 0h1.78v-1.78h-1.78v1.78zm3.558 0h1.78v-1.78h-1.78v1.78zm3.451 0h1.743v-1.78h-1.743v1.78zm3.665 0h1.779v-1.78h-1.78v1.78zm-1.922-.545V16.776H9.846V29.25h12.318zM10.967 17.905h10.068V27.97H10.967V17.905zm1.336 3.998v1.711h7.396v-1.711h-7.396z",opacity:".97"})),ComplexGateway:({styles:e={},...t})=>xS("svg",RV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M16.001 0a1.29 1.29 0 00-.917.373L.373 15.084a1.316 1.316 0 00.002 1.834l14.71 14.709a1.313 1.313 0 001.833 0l14.711-14.711a1.316 1.316 0 00-.002-1.834L16.917.372A1.294 1.294 0 0016.002 0zM16 2.181l13.821 13.821L16 29.823 2.179 16.003 16 2.18zm-.327 6.79v.007l-.145.027-.118.08-.083.123-.028.145v4.954L11.793 10.8l-.125-.08-.14-.029-.144.027-.122.082-.46.46-.085.125-.026.142.028.14.08.125 3.505 3.505H9.347l-.001-.002-.145.032-.118.08-.083.122-.028.146v.652l.029.147.082.119.12.08.144.032h4.956L10.8 20.207v-.001l-.084.124-.026.142.028.14.08.124.46.461.126.082.14.029.143-.027.124-.084L15.3 17.69v4.964-.001l.028.147.082.12.12.08.144.031h.652l.148-.03.118-.08.083-.12.028-.146v-4.962l3.505 3.505.126.082.14.027.142-.027.124-.084.461-.46.083-.123s.028-.144.027-.146l-.028-.14-.082-.126-3.496-3.496h4.948l.148-.03.119-.08.082-.12.028-.147v-.652l-.028-.145-.083-.122-.119-.08s-.147-.033-.147-.031h-4.964l3.512-3.512.082-.122.029-.144-.028-.14-.084-.124-.46-.461-.123-.082-.14-.027-.145.027-.122.082-3.507 3.507V9.348l-.028-.146-.082-.122-.12-.08-.147-.029h-.652z"})),EventBasedGateway:({styles:e={},...t})=>xS("svg",DV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M16 0a1.29 1.29 0 00-.918.373L.371 15.084a1.316 1.316 0 00.002 1.834l14.71 14.709a1.313 1.313 0 001.833 0l14.711-14.711a1.316 1.316 0 00-.002-1.834L16.915.372A1.294 1.294 0 0016 0zm-.002 2.181l13.821 13.821-13.821 13.821-13.821-13.82L15.998 2.18zm0 5.876l-.254.185-7.377 5.355 2.915 8.964h9.433l2.915-8.964-7.631-5.54zm0 1.07l6.614 4.8-2.526 7.769h-8.175l-2.526-7.768 6.614-4.802z"})),ExclusiveGateway:({styles:e={},...t})=>xS("svg",IV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M16 0a1.29 1.29 0 00-.918.373L.371 15.084a1.316 1.316 0 00.002 1.834l14.71 14.709a1.313 1.313 0 001.833 0l14.711-14.711a1.316 1.316 0 00-.002-1.834L16.915.372A1.294 1.294 0 0016 0zm-.002 2.181l13.821 13.821-13.821 13.821-13.821-13.82L15.998 2.18zm-5.162 7.69l-.166.032-.141.096-.532.532s-.097.142-.097.144l-.03.164.032.162.093.144 4.857 4.858-4.855 4.855v-.001L9.9 21l-.03.164.032.162s.093.142.093.144l.531.532.146.095.162.032.164-.03.144-.097 4.855-4.856 4.857 4.857.145.095.162.032.164-.03.144-.097.531-.532.095-.14.033-.168-.033-.162-.095-.146L17.144 16 22 11.144l.095-.14.033-.166-.033-.163-.097-.144-.532-.532-.14-.095-.163-.032-.166.032-.141.095L16 14.855l-4.858-4.858v-.002l-.144-.092-.162-.032z"})),Gateway:({styles:e={},...t})=>xS("svg",LV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M.373 15.084a1.316 1.316 0 00.002 1.834l14.71 14.709a1.313 1.313 0 001.833 0l14.711-14.711a1.316 1.316 0 00-.002-1.834L16.917.373a1.313 1.313 0 00-1.833 0L.373 15.084zm1.806.918L16 2.182l13.821 13.82L16 29.823 2.179 16.003z"})),InclusiveGateway:({styles:e={},...t})=>xS("svg",NV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M16.001 0a1.29 1.29 0 00-.917.373L.373 15.084a1.316 1.316 0 00.002 1.834l14.71 14.709a1.313 1.313 0 001.833 0l14.711-14.711a1.316 1.316 0 00-.002-1.834L16.917.372A1.294 1.294 0 0016.002 0zM16 2.181l13.821 13.821L16 29.823 2.179 16.003 16 2.18zm0 6.379a7.447 7.447 0 00-7.44 7.441A7.447 7.447 0 0016 23.443 7.447 7.447 0 0023.443 16a7.447 7.447 0 00-7.441-7.441zm0 .825a6.61 6.61 0 016.617 6.616A6.61 6.61 0 0116 22.618 6.61 6.61 0 019.385 16 6.61 6.61 0 0116 9.385z"})),ParallelGateway:({styles:e={},...t})=>xS("svg",zV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M16.001 0a1.29 1.29 0 00-.917.373L.373 15.084a1.316 1.316 0 00.002 1.834l14.71 14.709a1.313 1.313 0 001.833 0l14.711-14.711a1.316 1.316 0 00-.002-1.834L16.917.372A1.294 1.294 0 0016.002 0zM16 2.181l13.821 13.821L16 29.823 2.179 16.003 16 2.18zm-.377 5.708l-.168.032-.136.092-.096.14-.032.168v6.868h-6.87l-.002-.002-.166.037-.137.092v-.002l-.095.141-.033.167v.753s.032.169.034.17l.094.138.138.092.167.036h6.87v6.867l-.001-.001.033.17.095.138.138.092s.166.035.167.037h.752l.17-.036.137-.092.095-.137.033-.17v-6.867h6.868l.17-.035.137-.092.095-.137.033-.17v-.753s-.033-.165-.032-.167l-.096-.14-.138-.093s-.17-.037-.17-.035H16.81V8.323l-.033-.168-.094-.14-.138-.092-.17-.034h-.752z"})),Group:({styles:e={},...t})=>xS("svg",FV({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M6.34.016c-2.333.025-4.684 1.77-5.29 4.17C.608 5.848.88 7.608.804 9.314v2.922h2.041c.038-2.332-.076-4.673.062-7C3.14 3.355 4.869 1.938 6.643 2.04h8.956V.009c-3.086 0-6.173-.02-9.258 0v.007zm13.094 2.023h1.92V.009h-1.92v2.03zm5.756 0c1.265-.069 2.66.045 3.602 1.055 1.036.983 1.201 2.523 1.122 3.91v6.313h2.078c-.03-2.677.062-5.36-.047-8.032-.17-2.743-2.62-5.111-5.215-5.236-.511-.064-1.027-.02-1.54-.033v2.023zM.803 18.319h2.041v-2.026H.804v2.026zm29.11 1.084h2.08v-2.03h-2.08v2.03zM.804 26.148c.004 2.218 1.393 4.366 3.313 5.28 1.728.853 3.681.448 5.521.544.43-.112 1.29.231 1.435-.183v-1.847c-1.788-.043-3.584.094-5.365-.082-1.67-.354-2.919-2.048-2.863-3.844v-3.644H.804v3.777zm29.11-.068c.04 1.961-1.508 3.787-3.381 3.842-1.954.06-3.914.02-5.87.026v2.03c2.118-.042 4.242.08 6.355-.063 2.524-.264 4.818-2.644 4.94-5.323.08-1.039.014-2.085.035-3.126h-2.078v2.613zm-15.006 5.898h1.92v-2.03h-1.92v2.03z"})),CancelIntermediateCatchEvent:jV,CompensateIntermediateCatchEvent:HV,ConditionalIntermediateCatchEvent:WV,ErrorIntermediateCatchEvent:QV,EscalationIntermediateCatchEvent:UV,LinkIntermediateCatchEvent:KV,MessageIntermediateCatchEvent:JV,MultipleIntermediateCatchEvent:tW,ConditionalIntermediateCatchEventNonInterrupting:iW,EscalationIntermediateCatchEventNonInterrupting:rW,MessageIntermediateCatchEventNonInterrupting:aW,MultipleIntermediateCatchEventNonInterrupting:cW,ParallelIntermediateCatchEventNonInterrupting:hW,SignalIntermediateCatchEventNonInterrupting:dW,TimerIntermediateCatchEventNonInterrupting:mW,ParallelMultipleIntermediateCatchEvent:vW,SignalIntermediateCatchEvent:bW,TimerIntermediateCatchEvent:xW,IntermediateThrowEvent:EW,CompensateIntermediateThrowEvent:({styles:e={},...t})=>xS("svg",kW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.975.003C8.195-.156.935 6.24.125 13.985c-.855 6.55 2.741 13.46 8.74 16.314 5.666 2.847 13.012 1.99 17.71-2.33 4.745-4.162 6.727-11.243 4.532-17.206C29.09 4.884 23.445.407 17.201.049c-.408-.03-.817-.046-1.226-.046zm-.181 1.724c7.134-.269 13.84 5.68 14.399 12.804.686 6.283-3.267 12.792-9.283 14.862-5.847 2.162-13.025.06-16.557-5.141C.728 19.174.872 11.679 4.985 6.916c2.632-3.171 6.671-5.174 10.809-5.19zm.283 1.553c-6.6-.21-12.671 5.585-12.79 12.185-.292 5.964 4.129 11.817 10.034 12.953 5.47 1.198 11.584-1.613 14.025-6.702 2.525-4.97 1.396-11.585-2.912-15.216-2.282-2.021-5.3-3.216-8.357-3.22zM16 4.975c5.818-.154 11.117 5.082 11.024 10.905.103 5.384-4.23 10.5-9.636 11.043-5.075.667-10.426-2.587-11.885-7.552-1.53-4.73.48-10.428 4.888-12.864A11.083 11.083 0 0116 4.975zm-.56 5.772l-7.408 5.231 7.409 5.234v-5.057c2.385 1.687 4.771 3.371 7.157 5.057V10.747l-7.157 5.055v-5.055z"})),EscalationIntermediateThrowEvent:({styles:e={},...t})=>xS("svg",SW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.975.049C8.195-.11.935 6.286.125 14.03c-.855 6.55 2.741 13.46 8.74 16.314 5.666 2.847 13.012 1.99 17.71-2.33 4.745-4.162 6.727-11.243 4.532-17.206C29.09 4.93 23.445.453 17.201.095c-.408-.03-.817-.046-1.226-.046zm-.181 1.724c7.134-.269 13.84 5.68 14.399 12.804.686 6.283-3.267 12.792-9.283 14.862-5.847 2.162-13.025.06-16.557-5.141C.728 19.22.872 11.725 4.985 6.962c2.632-3.171 6.671-5.174 10.809-5.19zm.283 1.553c-6.6-.21-12.671 5.585-12.79 12.185-.292 5.964 4.129 11.817 10.034 12.953 5.47 1.198 11.584-1.613 14.025-6.702 2.525-4.97 1.396-11.585-2.912-15.216-2.282-2.021-5.3-3.216-8.357-3.22zM16 5.021c5.818-.154 11.117 5.082 11.024 10.905.103 5.384-4.23 10.5-9.636 11.043-5.075.667-10.426-2.587-11.885-7.552-1.53-4.73.48-10.428 4.888-12.864A11.083 11.083 0 0116 5.021zm.006 3.927c-1.672 4.654-2.734 9.502-4.406 14.155 1.534-1.525 2.872-3.234 4.406-4.759l4.406 4.76c-1.496-4.71-2.91-9.446-4.406-14.156z"})),LinkIntermediateThrowEvent:({styles:e={},...t})=>xS("svg",CW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.975.049C8.195-.11.935 6.286.125 14.03c-.855 6.55 2.741 13.46 8.74 16.314 5.666 2.847 13.012 1.99 17.71-2.33 4.745-4.162 6.727-11.243 4.532-17.206C29.09 4.93 23.445.453 17.201.095c-.408-.03-.817-.046-1.226-.046zm-.181 1.724c7.134-.269 13.84 5.68 14.399 12.804.686 6.283-3.267 12.792-9.283 14.862-5.847 2.162-13.025.06-16.557-5.141C.728 19.22.872 11.725 4.985 6.962c2.632-3.171 6.671-5.174 10.809-5.19zm.283 1.553c-6.6-.21-12.671 5.585-12.79 12.185-.292 5.964 4.129 11.817 10.034 12.953 5.47 1.198 11.584-1.613 14.025-6.702 2.525-4.97 1.396-11.585-2.912-15.216-2.282-2.021-5.3-3.216-8.357-3.22zM16 5.021c5.818-.154 11.117 5.082 11.024 10.905.103 5.384-4.23 10.5-9.636 11.043-5.075.667-10.426-2.587-11.885-7.552-1.53-4.73.48-10.428 4.888-12.864A11.083 11.083 0 0116 5.021zm1.78 4.093v3.555H9.785v6.714h7.994v3.554l5.829-6.911-5.83-6.912z"})),MessageIntermediateThrowEvent:({styles:e={},...t})=>xS("svg",OW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.975.003C8.195-.156.935 6.24.125 13.985c-.855 6.55 2.741 13.46 8.74 16.314 5.666 2.847 13.012 1.99 17.71-2.33 4.745-4.162 6.727-11.243 4.532-17.206C29.09 4.884 23.445.407 17.201.049c-.408-.03-.817-.046-1.226-.046zm-.181 1.724c7.134-.269 13.84 5.68 14.399 12.804.686 6.283-3.267 12.792-9.283 14.862-5.847 2.162-13.025.06-16.557-5.141C.728 19.174.872 11.679 4.985 6.916c2.632-3.171 6.671-5.174 10.809-5.19zm.283 1.553c-6.6-.21-12.671 5.585-12.79 12.185-.292 5.964 4.129 11.817 10.034 12.953 5.47 1.198 11.584-1.613 14.025-6.702 2.525-4.97 1.396-11.585-2.912-15.216-2.282-2.021-5.3-3.216-8.357-3.22zM16 4.975c5.818-.154 11.117 5.082 11.024 10.905.103 5.384-4.23 10.5-9.636 11.043-5.075.667-10.426-2.587-11.885-7.552-1.53-4.73.48-10.428 4.888-12.864A11.083 11.083 0 0116 4.975zm-5.91 5.475l6.04 4.901 6.042-4.9H10.088zm-1.341 1.138v9.921h14.514V11.79l-7.132 5.787-7.382-5.99z"})),MultipleIntermediateThrowEvent:({styles:e={},...t})=>xS("svg",PW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.975.003C8.195-.156.935 6.24.125 13.985c-.855 6.55 2.741 13.46 8.74 16.314 5.666 2.847 13.012 1.99 17.71-2.33 4.745-4.162 6.727-11.243 4.532-17.206C29.09 4.884 23.445.407 17.201.049c-.408-.03-.817-.046-1.226-.046zm-.181 1.724c7.134-.269 13.84 5.68 14.399 12.804.686 6.283-3.267 12.792-9.283 14.862-5.847 2.162-13.025.06-16.557-5.141C.728 19.174.872 11.679 4.985 6.916c2.632-3.171 6.671-5.174 10.809-5.19zm.283 1.553c-6.6-.21-12.671 5.585-12.79 12.185-.292 5.964 4.129 11.817 10.034 12.953 5.47 1.198 11.584-1.613 14.025-6.702 2.525-4.97 1.396-11.585-2.912-15.216-2.282-2.021-5.3-3.216-8.357-3.22zM16 4.975c5.818-.154 11.117 5.082 11.024 10.905.103 5.384-4.23 10.5-9.636 11.043-5.075.667-10.426-2.587-11.885-7.552-1.53-4.73.48-10.428 4.888-12.864A11.083 11.083 0 0116 4.975zm.006 3.073l-7.62 5.532 2.91 8.95h9.42l2.91-8.95-7.62-5.532z"})),SignalIntermediateThrowEvent:({styles:e={},...t})=>xS("svg",MW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.975.003C8.195-.156.935 6.24.125 13.985c-.855 6.55 2.741 13.46 8.74 16.314 5.666 2.847 13.012 1.99 17.71-2.33 4.745-4.162 6.727-11.243 4.532-17.206C29.09 4.884 23.445.407 17.201.049c-.408-.03-.817-.046-1.226-.046zm-.181 1.724c7.134-.269 13.84 5.68 14.399 12.804.686 6.283-3.267 12.792-9.283 14.862-5.847 2.162-13.025.06-16.557-5.141C.728 19.174.872 11.679 4.985 6.916c2.632-3.171 6.671-5.174 10.809-5.19zm.283 1.553c-6.6-.21-12.671 5.585-12.79 12.185-.292 5.964 4.129 11.817 10.034 12.953 5.47 1.198 11.584-1.613 14.025-6.702 2.525-4.97 1.396-11.585-2.912-15.216-2.282-2.021-5.3-3.216-8.357-3.22zM16 4.975c5.818-.154 11.117 5.082 11.024 10.905.103 5.384-4.23 10.5-9.636 11.043-5.075.667-10.426-2.587-11.885-7.552-1.53-4.73.48-10.428 4.888-12.864A11.083 11.083 0 0116 4.975zm.006 3.52c-2.261 4.07-4.533 8.136-6.798 12.205h13.596L16.005 8.495z"})),Lane:({styles:e={},...t})=>xS("svg",AW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M0 7v18.62h32V7H0zm1.655 17.056V8.684h28.62v15.372H1.656z"})),ManualTask:({styles:e={},...t})=>xS("svg",TW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M6.494 3C2.916 3 0 5.903 0 9.475v13.383c0 3.572 2.916 6.475 6.494 6.475h19.012c3.578 0 6.494-2.903 6.494-6.475V9.475C32 5.903 29.084 3 25.506 3H6.494zm0 2h19.012C28.015 5 30 6.98 30 9.475v13.383c0 2.495-1.985 4.475-4.494 4.475H6.494C3.985 27.333 2 25.353 2 22.858V9.475C2 6.98 3.985 5 6.494 5zm4.43 1.328c-.222.005-.43.09-.606.203-.985.638-4.356 2.977-5.096 3.486-.67.46-1.12 1.153-1.38 1.974-.27.858-.235 1.793-.232 2.576.002.59.016 1.104.17 1.727.22.908.634 1.63 1.23 2.118.597.49 1.363.732 2.23.734 3.038.012 6.078.016 9.119 0 .327-.002.645-.127.848-.37.204-.241.287-.56.291-.914a1.732 1.732 0 00-.097-.625h.327c.335 0 .641-.11.852-.316.21-.206.317-.475.374-.754a1.783 1.783 0 00-.126-1.143 1.18 1.18 0 00.877-.521c.196-.306.257-.666.258-1.025.001-.375-.088-.738-.293-1.033a1.179 1.179 0 00-.958-.512h-.478c.108-.237.156-.505.155-.782-.003-.373-.098-.721-.316-.99a1.21 1.21 0 00-.943-.43c-2.273-.004-4.236.018-6.412.012l-.19-.001c.102-.104.202-.205.312-.314.337-.336.662-.652.83-.869.4-.516.46-1.215.123-1.729-.178-.272-.439-.456-.72-.494a.93.93 0 00-.148-.008zm.029.728l.022.001c.055.008.115.027.209.172.132.201.126.606-.09.884-.079.102-.431.465-.767.8-.337.334-.657.643-.815.836-.153.186-.096.338-.056.435.04.096.085.212.298.263.063.014.066.01.086.012l.066.003c2.429.027 4.986-.004 7.223-.003.194 0 .293.056.379.162.086.105.151.286.153.533 0 .257-.065.467-.155.59-.09.124-.183.182-.37.183-1.706-.001-3.411-.005-5.117-.009v.731c2.23.004 4.461.01 6.692.012.17 0 .265.06.361.2.096.138.164.364.163.615 0 .268-.058.501-.143.634-.085.132-.162.193-.385.195-2.32-.001-4.554-.006-6.688-.003v.73c1.905 0 3.809.003 5.713.001.194.005.316.09.416.26.102.173.151.442.093.728-.04.193-.102.313-.17.38-.067.065-.148.108-.343.108h-5.71l.002.734c1.445 0 2.89-.01 4.334-.001.162 0 .232.041.297.123.064.081.123.238.12.488-.003.244-.061.385-.12.455-.06.07-.127.11-.296.11-3.037.016-6.076.012-9.113 0-.735-.002-1.316-.196-1.77-.568-.454-.372-.793-.935-.986-1.728-.134-.546-.146-.978-.148-1.558-.003-.796-.018-1.664.199-2.354.222-.705.582-1.24 1.096-1.593.75-.515 4.14-2.866 5.079-3.474a.504.504 0 01.241-.087z"})),MessageFlow:({styles:e={},...t})=>xS("svg",BW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M4.073 26.607l1.295 1.296L1.325 32l-.662-.633L0 30.735l4.073-4.128zm6.953-7.046l1.296 1.296L1.325 32l7.555-7.656-1.295-1.296 1.455-1.474 1.986-2.013zM32 .06s-2.699 5.189-5.417 10.462l-.326.633c-1.14 2.214-2.265 4.407-3.176 6.2-1.228-1.222-2.449-2.452-3.676-3.675l-3.57 3.618-1.297-1.296 3.541-3.588c-.98-.964-1.932-1.958-2.923-2.91l-.753-.706c2.68-1.258 6.533-3.165 9.95-4.876l.617-.309C28.838 1.673 32 .06 32 .06zm-4.126 4.06l-.015.007-.115.057-.048.024-.115.057L17.7 9.172l5.017 4.948 5.157-10z"})),Participant:({styles:e={},...t})=>xS("svg",RW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M0 5v22.069h32V5H0zm30.276 1.684v18.82H6.62V6.684h23.655zm-28.62 0h3.31v18.82h-3.31V6.684z"})),Process:({styles:e={},...t})=>xS("svg",DW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{fillRule:"evenodd",d:"M16.177 0l.137.002c.452.009.9.037 1.342.082.346.036.62.303.68.646l.437 2.536c.055.319.296.57.608.655.986.269 1.923.653 2.796 1.14.28.155.624.145.885-.039l2.083-1.47a.775.775 0 01.937.022c.86.699 1.645 1.484 2.343 2.343.22.27.223.653.023.937l-1.439 2.038a.833.833 0 00-.031.896c.512.889.92 1.846 1.204 2.855a.833.833 0 00.653.601l2.435.42c.342.059.61.333.645.679a15.928 15.928 0 01.08 2.064l-.003.114c-.012.382-.038.76-.077 1.134a.775.775 0 01-.645.68l-2.396.412a.835.835 0 00-.656.61 12.511 12.511 0 01-1.2 2.917.832.832 0 00.034.892l1.396 1.978c.2.284.196.667-.023.936a16.104 16.104 0 01-2.343 2.343.775.775 0 01-.937.023l-1.99-1.404a.833.833 0 00-.88-.026c-.907.516-1.886.922-2.916 1.2a.833.833 0 00-.61.656l-.414 2.396a.775.775 0 01-.679.646 16.096 16.096 0 01-3.312 0 .775.775 0 01-.679-.646l-.423-2.452a.834.834 0 00-.598-.636 12.474 12.474 0 01-1.468-.514 12.49 12.49 0 01-1.417-.68.833.833 0 00-.878.03l-2.026 1.43a.775.775 0 01-.937-.023 16.069 16.069 0 01-2.342-2.342.774.774 0 01-.024-.936l1.402-1.986a.833.833 0 00.032-.896 12.507 12.507 0 01-1.214-2.911.833.833 0 00-.655-.606l-2.386-.412a.775.775 0 01-.646-.678 16.097 16.097 0 010-3.314.775.775 0 01.646-.678l2.386-.412a.833.833 0 00.655-.606 12.507 12.507 0 011.214-2.911.833.833 0 00-.032-.896L3.552 6.853a.774.774 0 01.023-.936 16.091 16.091 0 012.343-2.343.775.775 0 01.937-.023l2.03 1.433c.26.177.6.182.874.028.915-.512 1.88-.9 2.87-1.167a.833.833 0 00.612-.656l.424-2.46a.775.775 0 01.679-.645C14.845.032 15.348.004 15.85 0h.326zM16 6.4c-5.302 0-9.6 4.297-9.6 9.599 0 5.302 4.298 9.6 9.6 9.6s9.6-4.298 9.6-9.6-4.298-9.6-9.6-9.6zm-3 4.283c0-1.425 1.637-2.203 2.715-1.29l5.69 4.815c.794.672.794 1.91 0 2.583l-5.69 4.815c-1.078.913-2.715.134-2.715-1.29z"})),ReceiveTask:({styles:e={},...t})=>xS("svg",LW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M6.494 3C2.916 3 0 5.903 0 9.475v13.383c0 3.572 2.916 6.475 6.494 6.475h19.012c3.578 0 6.494-2.903 6.494-6.475V9.475C32 5.903 29.084 3 25.506 3H6.494zm0 2h19.012C28.015 5 30 6.98 30 9.475v13.383c0 2.495-1.985 4.475-4.494 4.475H6.494C3.985 27.333 2 25.353 2 22.858V9.475C2 6.98 3.985 5 6.494 5zM5.23 7.764v11.577h17.55V7.764H5.23zm1.816.758h13.917l-6.959 4.577-6.958-4.577zm-1.06.21l8.018 5.274 8.018-5.275v9.853H5.987V8.73z"})),ScriptTask:({styles:e={},...t})=>xS("svg",NW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M6.494 3C2.916 3 0 5.903 0 9.475v13.383c0 3.572 2.916 6.475 6.494 6.475h19.012c3.578 0 6.494-2.903 6.494-6.475V9.475C32 5.903 29.084 3 25.506 3H6.494zm0 2h19.012C28.015 5 30 6.98 30 9.475v13.383c0 2.495-1.985 4.475-4.494 4.475H6.494C3.985 27.333 2 25.353 2 22.858V9.475C2 6.98 3.985 5 6.494 5zm2.99 3.077l-.077.045-.026.015c-1.09.646-1.84 1.239-2.336 1.818-.496.579-.735 1.162-.742 1.725-.014 1.119.812 1.958 1.544 2.708.732.75 1.385 1.456 1.446 2.041.032.298-.039.598-.364 1.008-.324.408-.911.897-1.85 1.445l-1.388.808h8.56l.101-.059c.996-.58 1.667-1.116 2.094-1.655.429-.54.603-1.107.547-1.638-.11-1.052-.967-1.818-1.688-2.556-.721-.739-1.306-1.436-1.298-2.092.004-.331.132-.7.535-1.171.402-.47 1.08-1.02 2.119-1.636l1.362-.806h-8.54zm.241.867h5.271a6.83 6.83 0 00-1.113 1.01c-.496.58-.736 1.163-.743 1.726-.014 1.119.812 1.958 1.544 2.708.732.75 1.385 1.456 1.446 2.041.032.298-.039.598-.364 1.008-.312.393-.872.862-1.753 1.386H8.728c.367-.286.658-.566.88-.847.43-.54.604-1.107.548-1.638-.11-1.052-.968-1.818-1.688-2.556-.721-.739-1.306-1.435-1.298-2.092.004-.331.132-.7.534-1.171.389-.454 1.04-.984 2.021-1.575zm-1.233 1.48v.4h4.12v-.4h-4.12zm-.154 2.158v.4H12.6v-.4H8.34zm1.931 2.158v.4h4.126v-.4H10.27zm.59 2.158v.4h4.276v-.4h-4.276z"})),SendTask:({styles:e={},...t})=>xS("svg",zW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M6.494 3C2.916 3 0 5.903 0 9.475v13.383c0 3.572 2.916 6.475 6.494 6.475h19.012c3.578 0 6.494-2.903 6.494-6.475V9.475C32 5.903 29.084 3 25.506 3H6.494zm0 2h19.012C28.015 5 30 6.98 30 9.475v13.383c0 2.495-1.985 4.475-4.494 4.475H6.494C3.985 27.333 2 25.353 2 22.858V9.475C2 6.98 3.985 5 6.494 5zm-1.38 3.16l8.332 4.717L21.78 8.16H5.114zm.021 1.745v9.309H21.8V9.905l-8.353 4.655-8.31-4.655z"})),ServiceTask:({styles:e={},...t})=>xS("svg",IW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M6.494 3C2.916 3 0 5.903 0 9.475v13.383c0 3.572 2.916 6.475 6.494 6.475h19.012c3.578 0 6.494-2.903 6.494-6.475V9.475C32 5.903 29.084 3 25.506 3H6.494zm0 2h19.012C28.015 5 30 6.98 30 9.475v13.383c0 2.495-1.985 4.475-4.494 4.475H6.494C3.985 27.333 2 25.353 2 22.858V9.475C2 6.98 3.985 5 6.494 5zm1.22 1.681V7.84c-.329.093-.63.223-.914.382l-.83-.82-1.554 1.561.83.82c-.16.288-.285.594-.372.911l-1.177.002v2.2l1.189-.004c.109.431.345.819.58 1.165v-1.898l-1.038.004v-.737l1.034-.002.058-.294c.084-.429.252-.838.493-1.203l.165-.25-.727-.718.523-.526.728.719.247-.165c.379-.25.793-.417 1.206-.505l.291-.06-.002-1.01h.75L9.19 8.417H11.16c-.185-.221-.951-.508-1.237-.588L9.93 6.68H7.713zm2.078 2.105l.003 1.158a4.19 4.19 0 00-.915.383l-.83-.821-1.553 1.562.83.82c-.16.288-.286.593-.373.91l-1.176.003v2.2l1.188-.004c.094.326.224.624.383.905l-.85.847 1.57 1.543.847-.843c.29.161.599.286.919.373v1.198c.756.006 1.56.003 2.206.003V17.81a4.19 4.19 0 00.915-.383l.847.835 1.554-1.56-.848-.836c.16-.288.286-.594.373-.912l1.152-.007V12.75l-1.165.007a4.09 4.09 0 00-.382-.905l.805-.807-1.57-1.546-.804.806a4.16 4.16 0 00-.915-.372l.007-1.147H9.792zm.732.73h.751l-.006 1.005.297.058c.43.085.844.252 1.21.492l.25.162.701-.704.528.52-.702.704.169.25c.248.374.412.779.505 1.196l.061.292 1.016-.006v.737l-1.01.006-.058.292c-.085.43-.252.838-.494 1.205l-.165.25.744.733-.523.525-.743-.734-.248.165c-.378.247-.789.418-1.203.503l-.294.058v1.067h-.745v-1.059l-.295-.057a3.395 3.395 0 01-1.21-.492l-.248-.162-.747.743-.528-.52.747-.744-.17-.25a3.546 3.546 0 01-.506-1.196l-.06-.291-1.04.004v-.738l1.034-.002.058-.294c.085-.428.252-.837.493-1.203l.165-.25-.726-.718.522-.526.728.72.248-.166a3.546 3.546 0 011.205-.504l.292-.06-.003-1.01zm.388 2.685a1.65 1.65 0 00-1.645 1.645c0 .904.74 1.645 1.645 1.645a1.65 1.65 0 001.645-1.645 1.65 1.65 0 00-1.645-1.645zm0 .73a.91.91 0 01.915.915.91.91 0 01-.915.914.91.91 0 01-.915-.914.91.91 0 01.915-.915z"})),CompensateStartEvent:({styles:e={},...t})=>xS("svg",FW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.995.001C9.705-.084 3.643 3.964 1.257 9.775-1.235 15.485.06 22.577 4.42 27.03c4.193 4.513 11.102 6.17 16.887 4.058 5.996-2.042 10.423-7.93 10.664-14.269.403-6.227-3.26-12.44-8.87-15.153A15.924 15.924 0 0015.994 0zm0 1.73c6.213-.108 12.122 4.355 13.726 10.357 1.678 5.653-.592 12.198-5.463 15.547-5.06 3.719-12.564 3.45-17.343-.626C2.101 23.171.377 16.07 2.848 10.44c2.14-5.205 7.515-8.774 13.147-8.708zm-.566 9.03l-7.415 5.235 7.415 5.238v-5.062c2.386 1.689 4.775 3.375 7.163 5.062V10.761l-7.163 5.058v-5.058zm-.866 1.666v7.13L9.51 15.993l5.052-3.565zm7.166 0v7.137l-5.052-3.568 5.052-3.569z"})),ConditionalStartEvent:({styles:e={},...t})=>xS("svg",$W({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M16 0C7.174 0 0 7.174 0 16s7.174 16 16 16 16-7.174 16-16S24.826 0 16 0zm0 1.73c7.892 0 14.27 6.378 14.27 14.27 0 7.891-6.379 14.27-14.27 14.27S1.73 23.891 1.73 16C1.73 8.108 8.108 1.73 16 1.73zm-5.362 7.523v13.493h10.724V9.253H10.638zm.863.866h8.995V21.88H11.501V10.12zm.928 1.324v.863h7.139v-.863h-7.139zm0 2.605v.867h7.139v-.867h-7.139zm0 3.01v.864h7.139v-.863h-7.139zm0 2.72v.863h7.139v-.863h-7.139z"})),ErrorStartEvent:({styles:e={},...t})=>xS("svg",jW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.995.005C9.705-.08 3.643 3.968 1.257 9.78-1.235 15.49.06 22.581 4.42 27.034c4.193 4.513 11.102 6.17 16.887 4.058 5.996-2.042 10.423-7.93 10.664-14.269.403-6.227-3.26-12.44-8.87-15.153A15.924 15.924 0 0015.994.005zm0 1.73c6.213-.108 12.122 4.355 13.726 10.357 1.678 5.653-.592 12.198-5.463 15.547-5.06 3.719-12.564 3.45-17.343-.626-4.814-3.838-6.538-10.939-4.067-16.57 2.14-5.205 7.515-8.774 13.147-8.708zm6.13 7.45l-3.635 7.37-4.52-5.88c-1.37 4.048-2.738 8.095-4.106 12.143l4.603-5.917 4.748 5.433 2.91-13.149zm-7.754 3.889l4.299 5.449 1.073-2.39-1.028 4.135-4.387-5.16-1.78 2.75 1.823-4.784z"})),EscalationStartEvent:({styles:e={},...t})=>xS("svg",qW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.995.001C9.705-.084 3.643 3.964 1.257 9.775-1.235 15.485.06 22.577 4.42 27.03c4.193 4.513 11.102 6.17 16.887 4.058 5.996-2.042 10.423-7.93 10.664-14.269.403-6.227-3.26-12.44-8.87-15.153A15.924 15.924 0 0015.994 0zm0 1.73c6.213-.108 12.122 4.355 13.726 10.357 1.678 5.653-.592 12.198-5.463 15.547-5.06 3.719-12.564 3.45-17.343-.626C2.101 23.171.377 16.07 2.848 10.44c2.14-5.205 7.515-8.774 13.147-8.708zm0 7.183c-1.674 4.658-2.736 9.509-4.41 14.166 1.535-1.526 2.874-3.236 4.41-4.763l4.41 4.763c-1.499-4.713-2.913-9.453-4.41-14.166zm.032 2.931c.822 2.588 1.598 5.19 2.42 7.778l-2.42-2.615c-.683.598-2.455 2.887-2.34 2.39.871-2.489 1.448-5.07 2.34-7.553z"})),MessageStartEvent:({styles:e={},...t})=>xS("svg",HW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.995.001C9.705-.084 3.643 3.964 1.257 9.775-1.235 15.485.06 22.577 4.42 27.03c4.193 4.513 11.102 6.17 16.887 4.058 5.996-2.042 10.423-7.93 10.664-14.269.403-6.227-3.26-12.44-8.87-15.153A15.924 15.924 0 0015.994 0zm0 1.73c6.213-.108 12.122 4.355 13.726 10.357 1.678 5.653-.592 12.198-5.463 15.547-5.06 3.719-12.564 3.45-17.343-.626C2.101 23.171.377 16.07 2.848 10.44c2.14-5.205 7.515-8.774 13.147-8.708zm-7.257 8.732v11.069h14.513v-11.07H8.738zm3.224 1.73h8.064c-1.428.878-2.857 2.807-4.285 3.018l-3.779-3.019zm9.562 1.017v6.593H10.465V13.21l5.528 4.417 5.53-4.418z"})),MultipleStartEvent:({styles:e={},...t})=>xS("svg",VW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.995.001C9.705-.084 3.643 3.964 1.257 9.775-1.235 15.485.06 22.577 4.42 27.03c4.193 4.513 11.102 6.17 16.887 4.058 5.996-2.042 10.423-7.93 10.664-14.269.403-6.227-3.26-12.44-8.87-15.153A15.924 15.924 0 0015.994 0zm0 1.73c6.213-.108 12.122 4.355 13.726 10.357 1.678 5.653-.592 12.198-5.463 15.547-5.06 3.719-12.564 3.45-17.343-.626C2.101 23.171.377 16.07 2.848 10.44c2.14-5.205 7.515-8.774 13.147-8.708zm0 6.328l-7.626 5.536c.97 2.986 1.942 5.971 2.913 8.957h9.426l2.912-8.957-7.625-5.536zm0 1.068l6.609 4.798-2.525 7.763H11.91l-2.524-7.763 6.609-4.798z"})),ConditionalStartEventNonInterrupting:({styles:e={},...t})=>xS("svg",WW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M10.632 9.189V22.68h10.723V9.189H10.632zm.862.865h8.994v11.76H11.494v-11.76zm.928 1.324v.863h7.138v-.863h-7.138zm0 2.605v.866h7.138v-.866h-7.138zm0 3.01v.863h7.138v-.863h-7.138zm0 2.72v.862h7.138v-.863h-7.138zM16.12 0h-.232l-.22.004h-.012l-.221.006h-.012l-.22.01h-.012l-.22.013h-.012l-.22.016h-.012l-.22.019h-.005l-.006.001-.22.021h-.006l-.005.001-.22.025h-.011l-.22.028h-.005l-.006.002-.219.03h-.005l-.006.001-.218.033-.006.001-.006.001-.217.036-.006.001-.006.001-.217.039-.006.001-.006.001-.216.042-.006.001-.006.001-.215.045-.006.001-.006.002-.215.047-.006.002-.006.001-.214.05-.006.002-.006.002-.115.029-.152.053-.14.081-.122.106-.1.126-.075.143-.047.154-.018.16.012.16.042.156.07.145.095.13.118.11.137.086.15.059.158.03h.161l.132-.022.11-.028.202-.047.203-.046.208-.043.202-.039.206-.037.206-.034.205-.03.208-.03.205-.025.209-.023.208-.02.21-.017.209-.015.207-.011.21-.009.21-.006.207-.003h.21l.21.002.207.005.207.008.212.011.207.014.208.017.209.019.208.022.205.025.206.028.207.03.208.035.205.036.202.039.052.01.16.018.16-.012.156-.042.146-.07.13-.096.109-.119.085-.136.06-.15.03-.159v-.16l-.03-.16-.059-.15-.086-.136-.109-.118-.13-.096-.145-.07-.128-.038-.057-.011-.006-.002h-.006l-.216-.042-.006-.001-.006-.001-.217-.039H18.9l-.006-.002-.217-.035-.006-.001-.006-.001-.218-.032-.006-.001-.006-.001-.218-.03h-.006l-.006-.001-.219-.027h-.011l-.22-.024-.005-.001h-.006l-.22-.021h-.006l-.006-.001-.22-.017-.005-.001h-.006L17.06.03h-.012l-.22-.012h-.012l-.22-.01h-.012l-.22-.005h-.012L16.132 0h-.012zm8.715 2.783l-.157.034-.149.063-.134.089-.116.112-.092.132-.067.147-.038.157-.008.16.021.16.051.153.079.141.103.124.102.087.052.038h.001l.087.064v.001l.082.061.002.001.076.059h.001l.084.065.082.066.002.001.079.063.002.002.077.063.081.067.002.002.077.065.076.065.001.002.08.07.078.07h.002l.075.068.077.072.002.001.073.069.077.073.072.07.002.001.077.076.07.07v.001l.075.076.07.073.002.001.074.079.002.002.069.074.069.075.074.082.07.08.002.001.068.079h.001l.067.079.068.082.065.078.001.002.068.083.067.084.063.081.001.002.067.087.002.002.063.084.001.001.064.087.008.01.008.01.095.12.093.121.09.119.087.119.088.122.086.123.084.12.081.122.001.002.084.126.08.126.08.127.077.126.079.131.074.127.075.131.073.131.07.13.07.133.069.133.045.09.086.137.109.119.13.096.144.07.156.042.16.013.16-.017.155-.047.143-.075.126-.1.106-.121.082-.14.054-.151.025-.16-.005-.16-.035-.158-.05-.124-.048-.095-.002-.004-.002-.004-.073-.14-.002-.005-.002-.004-.074-.14-.002-.004-.002-.004-.076-.14-.002-.003-.002-.004-.077-.139-.003-.004-.002-.004-.078-.138-.003-.004-.002-.003-.08-.137-.002-.004-.003-.004-.081-.136-.002-.004-.003-.004-.083-.136-.002-.003-.002-.004-.085-.135-.002-.004-.003-.003-.085-.134-.003-.004-.002-.004-.087-.132-.003-.004-.003-.004-.088-.132-.003-.003-.002-.004-.09-.13-.003-.005-.003-.003-.091-.13-.003-.004-.002-.004-.093-.129-.003-.003-.003-.004-.094-.128-.003-.004-.003-.003-.095-.127-.003-.004-.003-.004-.097-.125-.003-.004-.003-.004-.09-.114-.06-.082-.003-.003-.002-.003-.069-.091-.002-.004-.002-.003-.07-.09-.003-.003-.002-.003-.07-.09-.003-.003-.002-.003-.071-.09-.002-.003-.003-.002-.072-.089-.002-.003-.002-.003-.073-.088-.002-.003-.002-.002-.074-.087-.002-.003-.002-.003-.074-.086-.003-.003-.002-.003-.074-.086-.003-.002-.002-.003-.075-.085-.003-.003-.002-.002-.076-.084-.002-.003-.003-.003-.076-.083-.002-.003-.003-.003-.077-.082-.002-.003-.003-.002-.077-.082-.003-.003-.003-.002-.078-.081-.002-.003-.003-.003-.078-.08-.003-.002-.003-.003-.079-.08-.002-.002-.003-.002-.08-.08-.002-.002-.003-.002-.08-.078-.003-.003-.003-.002-.08-.077-.003-.003-.003-.002-.082-.077-.002-.002-.003-.002-.082-.076-.003-.002-.002-.003-.083-.075-.003-.002-.002-.003-.084-.074-.002-.002-.003-.002-.084-.074-.003-.002-.002-.002-.085-.073-.002-.002-.003-.003-.085-.071-.003-.003-.002-.002-.086-.07-.003-.003-.002-.002-.086-.07-.003-.003-.003-.002-.086-.07-.003-.002-.003-.002-.087-.069-.002-.002-.003-.002-.088-.068-.002-.002-.003-.002-.088-.067-.003-.003-.003-.002-.088-.066-.003-.002-.003-.002-.089-.066-.003-.002-.003-.002-.057-.042-.14-.082-.15-.055-.16-.026-.16.004zM6.377 3.21l-.157.037-.148.066-.111.074-.007.006-.003.002-.003.002-.086.069-.003.002-.002.002-.086.07-.003.002-.002.002-.086.07-.002.003-.003.002-.085.071-.002.002-.003.003-.084.071-.003.003-.002.002-.084.072-.003.003-.002.002-.083.073-.003.003-.002.002-.083.074-.002.002-.003.003-.082.074-.003.003-.002.002-.081.076-.003.002-.003.002-.08.077-.003.002-.003.003-.08.076-.002.003-.003.002-.08.078-.002.002-.003.003-.079.078-.002.003-.003.002-.078.08-.003.002-.002.002-.078.08-.002.003-.003.002-.077.08-.003.004-.002.002-.077.081-.002.003-.003.003-.076.082-.002.002-.003.003-.075.082-.002.003-.003.003-.074.083-.003.003-.002.003-.074.084-.003.003-.002.002-.074.085-.002.003-.002.003-.073.085-.003.003-.002.003-.072.086-.002.003-.003.003-.071.087-.003.003-.002.002-.07.088-.003.003-.002.003-.07.088-.003.003-.002.003-.07.09-.002.002-.002.003-.069.09-.002.003-.003.003-.068.09-.002.003-.002.003-.067.092-.003.003-.002.003-.067.092-.002.003-.002.003-.066.092-.002.003-.002.004-.066.093-.002.003-.002.003-.065.094-.002.003-.002.004-.064.094-.002.003-.002.004-.063.095-.002.003-.002.003-.063.097-.002.003-.002.003-.046.073-.05.07-.003.002-.002.003-.067.093-.003.003-.002.003-.066.094-.002.003-.002.003-.066.094-.002.003-.002.003-.064.094-.002.004-.002.003-.064.094-.002.004-.002.003-.062.095-.002.003-.002.003-.062.096-.002.003-.002.003-.06.096-.003.003-.002.003-.06.096-.001.004-.002.003-.059.096-.002.004-.002.003-.058.097-.002.003-.001.003-.057.098-.002.003-.002.003-.056.098-.002.003-.002.003-.055.098-.002.004-.001.003-.055.098-.001.004-.002.003-.054.099-.001.003-.002.003-.052.1-.002.002-.002.004-.051.1-.002.002-.002.004-.05.1-.002.003-.002.003-.05.1v.003l-.002.004-.05.1v.003l-.002.004-.048.1-.002.004-.001.003-.047.101-.002.003-.001.004-.013.027-.052.152-.024.16.006.16.037.157.064.148.091.133.114.114.134.09.147.065.157.036.162.006.159-.024.152-.053.14-.08.122-.105.1-.126.066-.117.01-.023.044-.095.045-.095.002-.003.042-.087.048-.097.048-.095v-.001l.048-.092.001-.001.047-.09.05-.093.002-.002.049-.09.052-.092.001-.002.051-.089.001-.002.051-.087.053-.088.001-.002.055-.091.057-.091.057-.09.001-.002.057-.089.055-.083.001-.002.06-.09.06-.088.062-.089.001-.001.06-.084.063-.088.065-.089.017-.023.016-.025.06-.094.059-.09v-.002l.058-.086.057-.086.001-.001.062-.09.062-.088.001-.002.06-.085.002-.002.06-.082.063-.087.064-.084.002-.002.061-.08.065-.084.064-.08v-.001l.067-.083.067-.082.07-.083.069-.08.063-.074.074-.083.068-.077.002-.002.07-.076.07-.075.072-.077.001-.001.067-.07.076-.078.002-.002.07-.07.075-.075.002-.002.072-.07.075-.072.002-.002.073-.069.074-.068.001-.001.08-.073.076-.068.002-.002.072-.063v-.001l.078-.067.079-.068.002-.001.08-.068.002-.002.077-.063.082-.066.001-.001.075-.06.002-.002.006-.004.117-.111.094-.131.068-.146.04-.156.01-.161-.019-.16-.049-.154-.076-.141-.102-.125-.123-.105-.14-.079-.153-.052-.16-.023-.16.007zm24.596 11.088l-.156.04-.146.067-.131.094-.112.117-.087.135-.061.15-.033.157-.004.134.007.142.005.152.004.15.002.149v.153l.001.011v.015l.004.11.002.11v.002l.002.106v.321l-.003.102-.002.106-.004.107-.005.105-.006.106-.006.106-.008.106v.002l-.008.103v.002l-.01.1-.01.105-.01.105-.013.105-.012.099v.002l-.014.108-.014.1-.016.105-.016.103v.002l-.017.099-.018.104-.019.103v.002l-.019.097-.02.104-.022.103v.001l-.022.098-.023.103v.002l-.024.096-.025.103v.002l-.024.096-.027.102v.003l-.026.093v.001l-.029.103v.002l-.03.099-.028.097v.002l-.03.095-.03.096v.001l-.033.1-.031.095v.002l-.035.1v.003l-.034.094v.003l-.035.096v.001l-.034.09v.002l-.038.098-.036.093v.002l-.038.095-.079.194-.08.188-.085.189-.087.19-.09.184-.092.183-.095.184-.05.093-.064.148-.034.158-.005.16.026.16.054.151.082.14.106.12.127.1.143.075.154.046.16.017.161-.013.156-.042.144-.071.13-.096.109-.119.072-.112.053-.099.003-.005.003-.006.102-.195.003-.006.003-.006.098-.196.003-.006.003-.006.096-.197.002-.006.003-.006.093-.2.002-.006.003-.006.09-.2.002-.006.003-.007.086-.202.003-.006.002-.006.084-.203.002-.005.001-.005.04-.102.002-.003.001-.003.04-.103.001-.003.001-.003.04-.103v-.004l.001-.003.039-.103v-.003l.002-.003.037-.104.001-.003.001-.003.037-.104v-.004l.002-.003.035-.104.002-.003v-.004l.035-.104.002-.004v-.003l.034-.105.002-.003v-.003l.034-.105v-.004l.002-.003.032-.106.001-.003.001-.003.031-.106.001-.003.001-.004.031-.106.001-.003.001-.004.03-.106v-.003l.002-.004.028-.107.001-.003.001-.003.028-.107.001-.004.001-.003.027-.107.001-.004v-.003l.027-.108.001-.003v-.004l.026-.108.001-.003v-.004l.025-.108.001-.003v-.004l.025-.108v-.004l.001-.003.023-.109v-.003l.001-.004.022-.109v-.003l.002-.004.02-.109.001-.004v-.003l.02-.11.002-.003v-.004l.02-.11v-.007l.019-.11v-.003l.001-.004.017-.11v-.004l.001-.003.017-.11v-.008l.016-.11v-.004l.001-.004.015-.11v-.008l.015-.111v-.008l.013-.111v-.007l.013-.112v-.007l.011-.112v-.004l.001-.004.01-.112v-.007l.01-.112v-.008l.008-.112v-.008l.007-.113v-.007l.007-.113v-.008l.005-.113v-.007l.005-.114v-.007l.003-.114v-.007l.003-.114v-.129l.001-.114v-.13l-.003-.114v-.008l-.003-.115v-.007l-.003-.102v-.155l-.003-.158v-.01l-.004-.158v-.01l-.006-.158v-.01l-.007-.148-.023-.16-.051-.152-.08-.14-.103-.124-.125-.102-.142-.077-.153-.05-.16-.02-.161.01zm-30.213.66l-.157.034-.149.063-.134.09-.115.113-.092.132-.067.147-.037.156-.009.134.001.11V15.95l.006.22v.012l.01.22v.012l.012.22v.006l.001.006.015.22v.005l.001.006.018.22.001.006v.006l.022.219v.006l.001.006.024.219.001.006v.006l.028.218.001.006v.006l.031.218.001.006.001.006.033.218.001.006.001.005.037.218v.006l.002.005.04.217v.006l.001.006.043.216.001.006.001.006.046.216v.005l.002.006.048.215.002.006.001.006.051.214.002.006v.006l.055.214.002.005.001.006.057.213.002.006.001.005.06.213.002.005.001.006.063.212.002.005.001.006.066.21.002.006.002.006.068.21.002.005.002.005.07.21.003.005.002.005.074.208.002.006.002.005.077.207.002.006.002.005.08.206.002.005.002.006.082.204.002.006.002.005.086.204.002.005.002.006.088.202.002.005.003.006.09.2.003.006.002.005.094.2.002.006.003.005.096.199.002.005.003.005.03.062.086.137.11.118.128.097.145.07.156.043.16.013.16-.017.155-.047.143-.074.127-.1.106-.121.081-.14.055-.15.025-.16-.005-.161-.034-.158-.05-.124-.028-.055-.092-.19-.087-.188-.087-.192-.083-.19-.08-.193-.078-.194-.076-.196-.073-.195-.07-.197-.067-.198-.065-.199-.063-.2-.059-.2-.056-.2-.055-.204-.05-.201-.049-.202-.046-.205-.043-.206-.04-.203-.038-.207-.034-.204-.032-.207-.028-.205-.026-.207-.023-.208-.02-.207-.018-.207-.014-.208-.011-.207-.009-.208-.005-.207-.002-.104-.017-.16-.046-.155-.074-.143-.1-.126-.121-.107-.139-.081-.152-.055-.159-.025-.161.004zm24.585 11.83l-.156.039-.146.068-.11.076-.015.012-.163.129-.166.127-.168.125-.17.124-.17.12-.172.118-.173.115-.176.114-.177.111-.18.11-.178.105-.182.104-.182.101-.184.1-.184.095-.189.095-.186.09-.188.089-.19.086-.19.082-.193.081-.195.078-.191.074-.197.073-.195.07-.196.065-.198.064-.198.061-.2.058-.2.055-.2.052-.2.049-.151.035-.153.05-.141.078-.125.103-.103.124-.078.14-.05.154-.022.16.009.16.038.157.067.147.093.132.116.112.134.089.149.062.158.034.16.003.133-.02.158-.035.006-.002.006-.001.213-.052.006-.002.007-.001.212-.056.006-.001.006-.002.212-.058.006-.002.006-.002.211-.061.006-.002.006-.002.21-.064.006-.002.006-.002.21-.067.005-.002.006-.002.208-.07.006-.002.006-.003.207-.073.006-.002.006-.002.206-.077.006-.002.005-.002.206-.08.005-.001.006-.003.204-.082.006-.002.005-.002.203-.085.006-.003.005-.002.202-.088.006-.002.005-.003.2-.09.006-.003.006-.003.2-.093.005-.003.005-.002.198-.096.006-.003.005-.003.197-.099.005-.002.005-.003.196-.102.005-.002.005-.003.195-.105.005-.002.005-.003.193-.107.005-.003.005-.003.191-.11.005-.003.005-.003.19-.112.005-.003.005-.003.189-.115.005-.003.005-.003.187-.117.005-.003.004-.004.186-.12.005-.003.004-.003.184-.122.005-.003.005-.004.182-.125.004-.003.005-.003.18-.128.005-.003.005-.003.179-.13.004-.003.005-.004.177-.132.004-.004.005-.003.175-.135.005-.003.004-.004.173-.137.005-.003.004-.004.019-.015.115-.113.092-.132.066-.147.038-.157.008-.16-.022-.16-.052-.153-.079-.14-.103-.124-.125-.102-.142-.078-.153-.05-.16-.02-.16.01zm-19.17.054l-.153.051-.14.079-.124.103-.103.125-.077.141-.05.153-.02.16.009.161.04.156.067.147.093.131.095.094.047.04.005.004.005.004.17.14.005.004.005.004.172.137.004.004.005.003.086.067.003.002.003.002.087.067.003.002.003.002.088.066.002.003.003.002.089.065.002.002.003.002.09.065.002.002.003.002.09.064.002.002.003.002.09.063.003.002.003.002.09.063.003.002.003.002.092.062.002.002.003.002.092.061.003.002.003.002.092.06.003.003.003.001.093.06.003.002.003.002.093.06.003.001.003.002.094.058.003.002.003.002.095.058.003.001.003.002.095.057.003.002.003.002.095.056.003.002.003.002.096.055.004.002.003.001.096.055.003.002.003.002.098.053.003.002.003.002.097.053.004.002.003.001.098.053.003.001.003.002.099.052.003.001.003.002.1.05.003.002.003.002.1.05.003.002.003.001.1.05h.003l.004.003.1.048.004.001.003.002.101.048.003.001.004.002.101.046.004.002.003.001.102.046.004.002.003.001.103.045.003.002.003.001.103.045.004.001.003.002.104.043.003.001.004.002.104.042.003.002.004.001.104.042.004.001.003.002.105.04.004.002.003.001.106.04.003.002h.004l.106.04.004.001.003.002.107.038.003.001.004.001.107.038.003.001.004.001.107.037.004.001.004.001.108.036.003.001.004.001.108.035.004.001.003.001.11.034.003.001.004.001.109.033.004.002h.003l.11.033h.004l.003.002.11.031.004.001.004.001.084.023.081.028.004.001.003.001.109.037.003.001.004.001.109.036.003.001.004.001.109.035h.003l.004.002.11.033.003.001.003.001.11.033.003.001.004.001.109.031.004.002h.003l.11.031.003.001.004.001.11.03h.003l.003.001.11.029h.004l.003.002.11.027.003.001.004.001.11.027h.003l.004.001.004.001.16.022.16-.008.157-.038.147-.067.132-.092.112-.116.09-.134.062-.149.034-.157.004-.161-.025-.16-.055-.151-.082-.139-.107-.12-.127-.1-.143-.074-.124-.04h-.003l-.104-.025-.103-.026h-.002l-.095-.026h-.001l-.101-.027h-.002l-.1-.028h-.002l-.103-.03-.104-.032-.097-.03h-.002l-.103-.033-.102-.033-.101-.034-.106-.036-.027-.01-.027-.007-.107-.03-.104-.029-.104-.03h-.002l-.097-.03-.102-.032-.102-.032-.102-.034-.103-.035-.096-.034-.1-.036-.101-.037h-.002l-.094-.036-.096-.037-.097-.04h-.002l-.099-.04-.098-.042h-.002l-.092-.04-.097-.043-.095-.043-.097-.044h-.002l-.09-.043-.094-.045-.094-.046-.093-.047-.09-.046-.096-.05-.088-.047-.002-.001-.09-.049-.094-.052-.002-.002-.087-.049-.087-.05h-.002l-.088-.053h-.001l-.09-.055-.086-.052-.002-.001-.089-.055-.084-.054h-.002l-.09-.059h-.001l-.085-.056-.001-.001-.084-.056-.082-.056h-.001l-.086-.06-.082-.058H7.79l-.086-.062-.002-.002-.08-.058-.081-.06h-.001l-.085-.064-.002-.002-.076-.058-.002-.002-.082-.064-.161-.128-.162-.133-.04-.034-.132-.092-.147-.066-.157-.038-.16-.008-.16.022z"})),EscalationStartEventNonInterrupting:({styles:e={},...t})=>xS("svg",GW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M16 9.209c-1.674 4.655-2.735 9.504-4.408 14.16 1.534-1.526 2.873-3.235 4.407-4.761l4.408 4.76c-1.497-4.71-2.91-9.448-4.408-14.16zm.031 2.93c.822 2.586 1.598 5.187 2.42 7.774l-2.42-2.614c-.682.598-2.453 2.886-2.34 2.389.873-2.488 1.45-5.068 2.34-7.55zM16.132.364c-1.51.016-3.055.139-4.492.614-.854.442-.266 1.861.651 1.578 2.266-.58 4.656-.596 6.944-.144.935.063 1.21-1.391.318-1.674-1.118-.26-2.274-.361-3.42-.374zm8.865 2.777c-.931-.1-1.262 1.29-.425 1.666 1.863 1.364 3.222 3.298 4.322 5.296.617.737 1.875-.145 1.398-.979-1.184-2.275-2.808-4.384-4.923-5.866a.863.863 0 00-.372-.117zM6.55 3.564c-.734.078-1.196.762-1.735 1.206C3.552 6.02 2.55 7.511 1.681 9.053c-.31.533-.71 1.33-.03 1.767.615.432 1.282-.132 1.446-.742.796-1.475 1.746-2.89 2.934-4.08.43-.548 1.292-.822 1.34-1.595a.874.874 0 00-.822-.839zm24.582 11.078c-.771-.033-1.004.82-.873 1.437.13 2.395-.471 4.797-1.615 6.897-.33.876.984 1.559 1.512.785a14.276 14.276 0 001.761-8.54.865.865 0 00-.785-.579zm-30.195.666c-.774-.06-1.032.785-.905 1.407.117 2.41.732 4.81 1.858 6.945.528.774 1.84.09 1.51-.786A15.932 15.932 0 011.728 16a.876.876 0 00-.79-.692zm24.57 11.817c-.762.099-1.243.835-1.919 1.16-1.514 1.002-3.237 1.632-4.978 2.092-.864.423-.307 1.855.616 1.591 2.528-.578 4.93-1.75 6.913-3.421.469-.522.07-1.42-.631-1.422zm-19.16.042c-.845.001-1.12 1.228-.395 1.628 1.665 1.401 3.667 2.348 5.76 2.912.618.178 1.482.565 1.893-.177.355-.628-.226-1.297-.87-1.326-1.972-.515-3.912-1.285-5.5-2.594-.26-.213-.522-.472-.888-.443z"})),MessageStartEventNonInterrupting:({styles:e={},...t})=>xS("svg",QW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M8.746 10.393v11.064h14.506V10.393H8.746zm3.223 1.728h8.06c-1.428.879-2.856 2.807-4.283 3.018l-3.777-3.018zm9.557 1.018v6.59H10.473v-6.59l5.525 4.416 5.528-4.416zM16.132 0c-1.51.016-3.055.139-4.492.614-.854.442-.266 1.861.651 1.578 2.266-.58 4.656-.596 6.944-.144.935.063 1.21-1.391.318-1.674-1.118-.26-2.274-.361-3.42-.374zm8.865 2.777c-.931-.1-1.262 1.29-.425 1.666 1.863 1.364 3.222 3.298 4.322 5.296.617.737 1.875-.145 1.398-.979-1.184-2.275-2.808-4.384-4.923-5.866a.863.863 0 00-.372-.117zM6.55 3.2c-.734.078-1.196.762-1.735 1.206C3.552 5.656 2.55 7.147 1.681 8.69c-.31.533-.71 1.33-.03 1.767.615.432 1.282-.132 1.446-.742.796-1.475 1.746-2.89 2.934-4.08.43-.548 1.292-.822 1.34-1.595a.874.874 0 00-.822-.839zm24.582 11.078c-.771-.033-1.004.82-.873 1.437.13 2.395-.471 4.797-1.615 6.897-.33.876.984 1.559 1.512.785a14.276 14.276 0 001.761-8.54.865.865 0 00-.785-.579zm-30.195.666c-.774-.06-1.032.785-.905 1.407.117 2.41.732 4.81 1.858 6.945.528.774 1.84.09 1.51-.786a15.932 15.932 0 01-1.672-6.874.876.876 0 00-.79-.692zm24.57 11.817c-.762.099-1.243.835-1.919 1.16-1.514 1.002-3.237 1.632-4.978 2.092-.864.423-.307 1.855.616 1.591 2.528-.578 4.93-1.75 6.913-3.421.469-.522.07-1.42-.631-1.422zm-19.16.042c-.845.001-1.12 1.228-.395 1.628 1.665 1.401 3.667 2.348 5.76 2.912.618.178 1.482.565 1.893-.177.355-.628-.226-1.297-.87-1.326-1.972-.515-3.912-1.285-5.5-2.594-.26-.213-.522-.472-.888-.443z"})),MultipleStartEventNonInterrupting:({styles:e={},...t})=>xS("svg",XW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M23.621 13.524L16 7.99l-7.622 5.534 2.911 8.952h9.422l2.911-8.952zm-1.016.33l-2.523 7.759h-8.165l-2.524-7.76L16 9.059l6.606 4.796zM16.132 0c-1.51.016-3.055.139-4.492.614-.854.442-.266 1.861.651 1.578 2.266-.58 4.656-.596 6.944-.144.935.063 1.21-1.391.318-1.674-1.118-.26-2.274-.361-3.42-.374zm8.865 2.777c-.931-.1-1.262 1.29-.425 1.666 1.863 1.364 3.222 3.298 4.322 5.296.617.737 1.875-.145 1.398-.979-1.184-2.275-2.808-4.384-4.923-5.866a.863.863 0 00-.372-.117zM6.55 3.2c-.734.078-1.196.762-1.735 1.206C3.552 5.656 2.55 7.147 1.681 8.69c-.31.533-.71 1.33-.03 1.767.615.432 1.282-.132 1.446-.742.796-1.475 1.746-2.89 2.934-4.08.43-.548 1.292-.822 1.34-1.595a.874.874 0 00-.822-.839zm24.582 11.078c-.771-.033-1.004.82-.873 1.437.13 2.395-.471 4.797-1.615 6.897-.33.876.984 1.559 1.512.785a14.276 14.276 0 001.761-8.54.865.865 0 00-.785-.579zm-30.195.666c-.774-.06-1.032.785-.905 1.407.117 2.41.732 4.81 1.858 6.945.528.774 1.84.09 1.51-.786a15.932 15.932 0 01-1.672-6.874.876.876 0 00-.79-.692zm24.57 11.817c-.762.099-1.243.835-1.919 1.16-1.514 1.002-3.237 1.632-4.978 2.092-.864.423-.307 1.855.616 1.591 2.528-.578 4.93-1.75 6.913-3.421.469-.522.07-1.42-.631-1.422zm-19.16.042c-.845.001-1.12 1.228-.395 1.628 1.665 1.401 3.667 2.348 5.76 2.912.618.178 1.482.565 1.893-.177.355-.628-.226-1.297-.87-1.326-1.972-.515-3.912-1.285-5.5-2.594-.26-.213-.522-.472-.888-.443z"})),ParallelMultipleStartEventNonInterrupting:({styles:e={},...t})=>xS("svg",UW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M13.503 9.016v4.428H9.075v4.98h4.428v4.428h4.98v-4.427h4.428v-4.981h-4.427V9.016h-4.981zm.83.83h3.32v4.428h4.428v3.32h-4.428v4.428h-3.32v-4.454H9.905v-3.294h4.428V9.846zM16.12 0h-.232l-.22.004h-.012l-.221.006h-.012l-.22.01h-.012l-.22.013h-.012l-.22.016h-.012l-.22.019h-.005l-.006.001-.22.021h-.006l-.005.001-.22.025h-.011l-.22.028h-.005l-.006.002-.219.03h-.005l-.006.001-.218.033-.006.001-.006.001-.217.036-.006.001-.006.001-.217.039-.006.001-.006.001-.216.042-.006.001-.006.001-.215.045-.006.001-.006.002-.215.047-.006.002-.006.001-.214.05-.006.002-.006.002-.115.029-.152.053-.14.081-.122.106-.1.126-.075.143-.047.154-.018.16.012.16.042.156.07.145.095.13.118.11.137.086.15.059.158.03h.161l.132-.022.11-.028.202-.047.203-.046.208-.043.202-.039.206-.037.206-.034.205-.03.208-.03.205-.025.209-.023.208-.02.21-.017.209-.015.207-.011.21-.009.21-.006.207-.003h.21l.21.002.207.005.207.008.212.011.207.014.208.017.209.019.208.022.205.025.206.028.207.03.208.035.205.036.202.039.052.01.16.018.16-.012.156-.042.146-.07.13-.096.109-.119.085-.136.06-.15.03-.159v-.16l-.03-.16-.059-.15-.086-.136-.109-.118-.13-.096-.145-.07-.128-.038-.057-.011-.006-.002h-.006l-.216-.042-.006-.001-.006-.001-.217-.039H18.9l-.006-.002-.217-.035-.006-.001-.006-.001-.218-.032-.006-.001-.006-.001-.218-.03h-.006l-.006-.001-.219-.027h-.011l-.22-.024-.005-.001h-.006l-.22-.021h-.006l-.006-.001-.22-.017-.005-.001h-.006L17.06.03h-.012l-.22-.012h-.012l-.22-.01h-.012l-.22-.005h-.012L16.132 0h-.012zm8.715 2.783l-.157.034-.149.063-.134.089-.116.112-.092.132-.067.147-.038.157-.008.16.021.16.051.153.079.141.103.124.102.087.052.038h.001l.087.064v.001l.082.061.002.001.076.059h.001l.084.065.082.066.002.001.079.063.002.002.077.063.081.067.002.002.077.065.076.065.001.002.08.07.078.07h.002l.075.068.077.072.002.001.073.069.077.073.072.07.002.001.077.076.07.07v.001l.075.076.07.073.002.001.074.079.002.002.069.074.069.075.074.082.07.08.002.001.068.079h.001l.067.079.068.082.065.078.001.002.068.083.067.084.063.081.001.002.067.087.002.002.063.084.001.001.064.087.008.01.008.01.095.12.093.121.09.119.087.119.088.122.086.123.084.12.081.122.001.002.084.126.08.126.08.127.077.126.079.131.074.127.075.131.073.131.07.13.07.133.069.133.045.09.086.137.109.119.13.096.144.07.156.042.16.013.16-.017.155-.047.143-.075.126-.1.106-.121.082-.14.054-.151.025-.16-.005-.16-.035-.158-.05-.124-.048-.095-.002-.004-.002-.004-.073-.14-.002-.005-.002-.004-.074-.14-.002-.004-.002-.004-.076-.14-.002-.003-.002-.004-.077-.139-.003-.004-.002-.004-.078-.138-.003-.004-.002-.003-.08-.137-.002-.004-.003-.004-.081-.136-.002-.004-.003-.004-.083-.136-.002-.003-.002-.004-.085-.135-.002-.004-.003-.003-.085-.134-.003-.004-.002-.004-.087-.132-.003-.004-.003-.004-.088-.132-.003-.003-.002-.004-.09-.13-.003-.005-.003-.003-.091-.13-.003-.004-.002-.004-.093-.129-.003-.003-.003-.004-.094-.128-.003-.004-.003-.003-.095-.127-.003-.004-.003-.004-.097-.125-.003-.004-.003-.004-.09-.114-.06-.082-.003-.003-.002-.003-.069-.091-.002-.004-.002-.003-.07-.09-.003-.003-.002-.003-.07-.09-.003-.003-.002-.003-.071-.09-.002-.003-.003-.002-.072-.089-.002-.003-.002-.003-.073-.088-.002-.003-.002-.002-.074-.087-.002-.003-.002-.003-.074-.086-.003-.003-.002-.003-.074-.086-.003-.002-.002-.003-.075-.085-.003-.003-.002-.002-.076-.084-.002-.003-.003-.003-.076-.083-.002-.003-.003-.003-.077-.082-.002-.003-.003-.002-.077-.082-.003-.003-.003-.002-.078-.081-.002-.003-.003-.003-.078-.08-.003-.002-.003-.003-.079-.08-.002-.002-.003-.002-.08-.08-.002-.002-.003-.002-.08-.078-.003-.003-.003-.002-.08-.077-.003-.003-.003-.002-.082-.077-.002-.002-.003-.002-.082-.076-.003-.002-.002-.003-.083-.075-.003-.002-.002-.003-.084-.074-.002-.002-.003-.002-.084-.074-.003-.002-.002-.002-.085-.073-.002-.002-.003-.003-.085-.071-.003-.003-.002-.002-.086-.07-.003-.003-.002-.002-.086-.07-.003-.003-.003-.002-.086-.07-.003-.002-.003-.002-.087-.069-.002-.002-.003-.002-.088-.068-.002-.002-.003-.002-.088-.067-.003-.003-.003-.002-.088-.066-.003-.002-.003-.002-.089-.066-.003-.002-.003-.002-.057-.042-.14-.082-.15-.055-.16-.026-.16.004zM6.377 3.21l-.157.037-.148.066-.111.074-.007.006-.003.002-.003.002-.086.069-.003.002-.002.002-.086.07-.003.002-.002.002-.086.07-.002.003-.003.002-.085.071-.002.002-.003.003-.084.071-.003.003-.002.002-.084.072-.003.003-.002.002-.083.073-.003.003-.002.002-.083.074-.002.002-.003.003-.082.074-.003.003-.002.002-.081.076-.003.002-.003.002-.08.077-.003.002-.003.003-.08.076-.002.003-.003.002-.08.078-.002.002-.003.003-.079.078-.002.003-.003.002-.078.08-.003.002-.002.002-.078.08-.002.003-.003.002-.077.08-.003.004-.002.002-.077.081-.002.003-.003.003-.076.082-.002.002-.003.003-.075.082-.002.003-.003.003-.074.083-.003.003-.002.003-.074.084-.003.003-.002.002-.074.085-.002.003-.002.003-.073.085-.003.003-.002.003-.072.086-.002.003-.003.003-.071.087-.003.003-.002.002-.07.088-.003.003-.002.003-.07.088-.003.003-.002.003-.07.09-.002.002-.002.003-.069.09-.002.003-.003.003-.068.09-.002.003-.002.003-.067.092-.003.003-.002.003-.067.092-.002.003-.002.003-.066.092-.002.003-.002.004-.066.093-.002.003-.002.003-.065.094-.002.003-.002.004-.064.094-.002.003-.002.004-.063.095-.002.003-.002.003-.063.097-.002.003-.002.003-.046.073-.05.07-.003.002-.002.003-.067.093-.003.003-.002.003-.066.094-.002.003-.002.003-.066.094-.002.003-.002.003-.064.094-.002.004-.002.003-.064.094-.002.004-.002.003-.062.095-.002.003-.002.003-.062.096-.002.003-.002.003-.06.096-.003.003-.002.003-.06.096-.001.004-.002.003-.059.096-.002.004-.002.003-.058.097-.002.003-.001.003-.057.098-.002.003-.002.003-.056.098-.002.003-.002.003-.055.098-.002.004-.001.003-.055.098-.001.004-.002.003-.054.099-.001.003-.002.003-.052.1-.002.002-.002.004-.051.1-.002.002-.002.004-.05.1-.002.003-.002.003-.05.1v.003l-.002.004-.05.1v.003l-.002.004-.048.1-.002.004-.001.003-.047.101-.002.003-.001.004-.013.027-.052.152-.024.16.006.16.037.157.064.148.091.133.114.114.134.09.147.065.157.036.162.006.159-.024.152-.053.14-.08.122-.105.1-.126.066-.117.01-.023.044-.095.045-.095.002-.003.042-.087.048-.097.048-.095v-.001l.048-.092.001-.001.047-.09.05-.093.002-.002.049-.09.052-.092.001-.002.051-.089.001-.002.051-.087.053-.088.001-.002.055-.091.057-.091.057-.09.001-.002.057-.089.055-.083.001-.002.06-.09.06-.088.062-.089.001-.001.06-.084.063-.088.065-.089.017-.023.016-.025.06-.094.059-.09v-.002l.058-.086.057-.086.001-.001.062-.09.062-.088.001-.002.06-.085.002-.002.06-.082.063-.087.064-.084.002-.002.061-.08.065-.084.064-.08v-.001l.067-.083.067-.082.07-.083.069-.08.063-.074.074-.083.068-.077.002-.002.07-.076.07-.075.072-.077.001-.001.067-.07.076-.078.002-.002.07-.07.075-.075.002-.002.072-.07.075-.072.002-.002.073-.069.074-.068.001-.001.08-.073.076-.068.002-.002.072-.063v-.001l.078-.067.079-.068.002-.001.08-.068.002-.002.077-.063.082-.066.001-.001.075-.06.002-.002.006-.004.117-.111.094-.131.068-.146.04-.156.01-.161-.019-.16-.049-.154-.076-.141-.102-.125-.123-.105-.14-.079-.153-.052-.16-.023-.16.007zm24.596 11.088l-.156.04-.146.067-.131.094-.112.117-.087.135-.061.15-.033.157-.004.134.007.142.005.152.004.15.002.149v.153l.001.011v.015l.004.11.002.11v.002l.002.106v.321l-.003.102-.002.106-.004.107-.005.105-.006.106-.006.106-.008.106v.002l-.008.103v.002l-.01.1-.01.105-.01.105-.013.105-.012.099v.002l-.014.108-.014.1-.016.105-.016.103v.002l-.017.099-.018.104-.019.103v.002l-.019.097-.02.104-.022.103v.001l-.022.098-.023.103v.002l-.024.096-.025.103v.002l-.024.096-.027.102v.003l-.026.093v.001l-.029.103v.002l-.03.099-.028.097v.002l-.03.095-.03.096v.001l-.033.1-.031.095v.002l-.035.1v.003l-.034.094v.003l-.035.096v.001l-.034.09v.002l-.038.098-.036.093v.002l-.038.095-.079.194-.08.188-.085.189-.087.19-.09.184-.092.183-.095.184-.05.093-.064.148-.034.158-.005.16.026.16.054.151.082.14.106.12.127.1.143.075.154.046.16.017.161-.013.156-.042.144-.071.13-.096.109-.119.072-.112.053-.099.003-.005.003-.006.102-.195.003-.006.003-.006.098-.196.003-.006.003-.006.096-.197.002-.006.003-.006.093-.2.002-.006.003-.006.09-.2.002-.006.003-.007.086-.202.003-.006.002-.006.084-.203.002-.005.001-.005.04-.102.002-.003.001-.003.04-.103.001-.003.001-.003.04-.103v-.004l.001-.003.039-.103v-.003l.002-.003.037-.104.001-.003.001-.003.037-.104v-.004l.002-.003.035-.104.002-.003v-.004l.035-.104.002-.004v-.003l.034-.105.002-.003v-.003l.034-.105v-.004l.002-.003.032-.106.001-.003.001-.003.031-.106.001-.003.001-.004.031-.106.001-.003.001-.004.03-.106v-.003l.002-.004.028-.107.001-.003.001-.003.028-.107.001-.004.001-.003.027-.107.001-.004v-.003l.027-.108.001-.003v-.004l.026-.108.001-.003v-.004l.025-.108.001-.003v-.004l.025-.108v-.004l.001-.003.023-.109v-.003l.001-.004.022-.109v-.003l.002-.004.02-.109.001-.004v-.003l.02-.11.002-.003v-.004l.02-.11v-.007l.019-.11v-.003l.001-.004.017-.11v-.004l.001-.003.017-.11v-.008l.016-.11v-.004l.001-.004.015-.11v-.008l.015-.111v-.008l.013-.111v-.007l.013-.112v-.007l.011-.112v-.004l.001-.004.01-.112v-.007l.01-.112v-.008l.008-.112v-.008l.007-.113v-.007l.007-.113v-.008l.005-.113v-.007l.005-.114v-.007l.003-.114v-.007l.003-.114v-.129l.001-.114v-.13l-.003-.114v-.008l-.003-.115v-.007l-.003-.102v-.155l-.003-.158v-.01l-.004-.158v-.01l-.006-.158v-.01l-.007-.148-.023-.16-.051-.152-.08-.14-.103-.124-.125-.102-.142-.077-.153-.05-.16-.02-.161.01zm-30.213.66l-.157.034-.149.063-.134.09-.115.113-.092.132-.067.147-.037.156-.009.134.001.11V15.95l.006.22v.012l.01.22v.012l.012.22v.006l.001.006.015.22v.005l.001.006.018.22.001.006v.006l.022.219v.006l.001.006.024.219.001.006v.006l.028.218.001.006v.006l.031.218.001.006.001.006.033.218.001.006.001.005.037.218v.006l.002.005.04.217v.006l.001.006.043.216.001.006.001.006.046.216v.005l.002.006.048.215.002.006.001.006.051.214.002.006v.006l.055.214.002.005.001.006.057.213.002.006.001.005.06.213.002.005.001.006.063.212.002.005.001.006.066.21.002.006.002.006.068.21.002.005.002.005.07.21.003.005.002.005.074.208.002.006.002.005.077.207.002.006.002.005.08.206.002.005.002.006.082.204.002.006.002.005.086.204.002.005.002.006.088.202.002.005.003.006.09.2.003.006.002.005.094.2.002.006.003.005.096.199.002.005.003.005.03.062.086.137.11.118.128.097.145.07.156.043.16.013.16-.017.155-.047.143-.074.127-.1.106-.121.081-.14.055-.15.025-.16-.005-.161-.034-.158-.05-.124-.028-.055-.092-.19-.087-.188-.087-.192-.083-.19-.08-.193-.078-.194-.076-.196-.073-.195-.07-.197-.067-.198-.065-.199-.063-.2-.059-.2-.056-.2-.055-.204-.05-.201-.049-.202-.046-.205-.043-.206-.04-.203-.038-.207-.034-.204-.032-.207-.028-.205-.026-.207-.023-.208-.02-.207-.018-.207-.014-.208-.011-.207-.009-.208-.005-.207-.002-.104-.017-.16-.046-.155-.074-.143-.1-.126-.121-.107-.139-.081-.152-.055-.159-.025-.161.004zm24.585 11.83l-.156.039-.146.068-.11.076-.015.012-.163.129-.166.127-.168.125-.17.124-.17.12-.172.118-.173.115-.176.114-.177.111-.18.11-.178.105-.182.104-.182.101-.184.1-.184.095-.189.095-.186.09-.188.089-.19.086-.19.082-.193.081-.195.078-.191.074-.197.073-.195.07-.196.065-.198.064-.198.061-.2.058-.2.055-.2.052-.2.049-.151.035-.153.05-.141.078-.125.103-.103.124-.078.14-.05.154-.022.16.009.16.038.157.067.147.093.132.116.112.134.089.149.062.158.034.16.003.133-.02.158-.035.006-.002.006-.001.213-.052.006-.002.007-.001.212-.056.006-.001.006-.002.212-.058.006-.002.006-.002.211-.061.006-.002.006-.002.21-.064.006-.002.006-.002.21-.067.005-.002.006-.002.208-.07.006-.002.006-.003.207-.073.006-.002.006-.002.206-.077.006-.002.005-.002.206-.08.005-.001.006-.003.204-.082.006-.002.005-.002.203-.085.006-.003.005-.002.202-.088.006-.002.005-.003.2-.09.006-.003.006-.003.2-.093.005-.003.005-.002.198-.096.006-.003.005-.003.197-.099.005-.002.005-.003.196-.102.005-.002.005-.003.195-.105.005-.002.005-.003.193-.107.005-.003.005-.003.191-.11.005-.003.005-.003.19-.112.005-.003.005-.003.189-.115.005-.003.005-.003.187-.117.005-.003.004-.004.186-.12.005-.003.004-.003.184-.122.005-.003.005-.004.182-.125.004-.003.005-.003.18-.128.005-.003.005-.003.179-.13.004-.003.005-.004.177-.132.004-.004.005-.003.175-.135.005-.003.004-.004.173-.137.005-.003.004-.004.019-.015.115-.113.092-.132.066-.147.038-.157.008-.16-.022-.16-.052-.153-.079-.14-.103-.124-.125-.102-.142-.078-.153-.05-.16-.02-.16.01zm-19.17.054l-.153.051-.14.079-.124.103-.103.125-.077.141-.05.153-.02.16.009.161.04.156.067.147.093.131.095.094.047.04.005.004.005.004.17.14.005.004.005.004.172.137.004.004.005.003.086.067.003.002.003.002.087.067.003.002.003.002.088.066.002.003.003.002.089.065.002.002.003.002.09.065.002.002.003.002.09.064.002.002.003.002.09.063.003.002.003.002.09.063.003.002.003.002.092.062.002.002.003.002.092.061.003.002.003.002.092.06.003.003.003.001.093.06.003.002.003.002.093.06.003.001.003.002.094.058.003.002.003.002.095.058.003.001.003.002.095.057.003.002.003.002.095.056.003.002.003.002.096.055.004.002.003.001.096.055.003.002.003.002.098.053.003.002.003.002.097.053.004.002.003.001.098.053.003.001.003.002.099.052.003.001.003.002.1.05.003.002.003.002.1.05.003.002.003.001.1.05h.003l.004.003.1.048.004.001.003.002.101.048.003.001.004.002.101.046.004.002.003.001.102.046.004.002.003.001.103.045.003.002.003.001.103.045.004.001.003.002.104.043.003.001.004.002.104.042.003.002.004.001.104.042.004.001.003.002.105.04.004.002.003.001.106.04.003.002h.004l.106.04.004.001.003.002.107.038.003.001.004.001.107.038.003.001.004.001.107.037.004.001.004.001.108.036.003.001.004.001.108.035.004.001.003.001.11.034.003.001.004.001.109.033.004.002h.003l.11.033h.004l.003.002.11.031.004.001.004.001.084.023.081.028.004.001.003.001.109.037.003.001.004.001.109.036.003.001.004.001.109.035h.003l.004.002.11.033.003.001.003.001.11.033.003.001.004.001.109.031.004.002h.003l.11.031.003.001.004.001.11.03h.003l.003.001.11.029h.004l.003.002.11.027.003.001.004.001.11.027h.003l.004.001.004.001.16.022.16-.008.157-.038.147-.067.132-.092.112-.116.09-.134.062-.149.034-.157.004-.161-.025-.16-.055-.151-.082-.139-.107-.12-.127-.1-.143-.074-.124-.04h-.003l-.104-.025-.103-.026h-.002l-.095-.026h-.001l-.101-.027h-.002l-.1-.028h-.002l-.103-.03-.104-.032-.097-.03h-.002l-.103-.033-.102-.033-.101-.034-.106-.036-.027-.01-.027-.007-.107-.03-.104-.029-.104-.03h-.002l-.097-.03-.102-.032-.102-.032-.102-.034-.103-.035-.096-.034-.1-.036-.101-.037h-.002l-.094-.036-.096-.037-.097-.04h-.002l-.099-.04-.098-.042h-.002l-.092-.04-.097-.043-.095-.043-.097-.044h-.002l-.09-.043-.094-.045-.094-.046-.093-.047-.09-.046-.096-.05-.088-.047-.002-.001-.09-.049-.094-.052-.002-.002-.087-.049-.087-.05h-.002l-.088-.053h-.001l-.09-.055-.086-.052-.002-.001-.089-.055-.084-.054h-.002l-.09-.059h-.001l-.085-.056-.001-.001-.084-.056-.082-.056h-.001l-.086-.06-.082-.058H7.79l-.086-.062-.002-.002-.08-.058-.081-.06h-.001l-.085-.064-.002-.002-.076-.058-.002-.002-.082-.064-.161-.128-.162-.133-.04-.034-.132-.092-.147-.066-.157-.038-.16-.008-.16.022z",opacity:".98"})),SignalStartEventNonInterrupting:({styles:e={},...t})=>xS("svg",YW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M16.007 8.82L9.21 21.022h13.596L16.007 8.82zm0 1.775l5.328 9.563H10.68l5.327-9.563zM16.14.386c-1.571.236-4.195-.284-4.9 1.381.619 1.703 2.745.069 4.085.365 1.421-.13 2.84.2 4.235.259C21.27.784 18.19.344 17 .413a20.456 20.456 0 00-.86-.027zM25 3.162c-2.19.694.401 2.26 1.181 3.094 1.083 1.152 1.954 2.484 2.715 3.864 1.48 1.005 1.845-1.26.81-2.03-1.158-1.897-2.613-3.704-4.513-4.89l-.192-.038zm-18.438.423c-1.793.712-2.909 2.548-4.01 4.061-.773.814-2.211 3.653.005 3.211 1.123-1.469 1.87-3.306 3.267-4.614.664-.7 2.73-2.013.738-2.658zm24.57 11.072c-1.659.435-.468 2.667-.99 3.895a13.427 13.427 0 01-1.497 4.435c-.23 1.659 1.991 1.165 2.018-.199a14.277 14.277 0 001.254-7.552.865.865 0 00-.785-.579zm-30.18.666c-1.677.386-.633 2.667-.608 3.876.371 1.623.792 3.35 1.79 4.696 2.382.321.571-2.338.292-3.492a15.92 15.92 0 01-.684-4.39.877.877 0 00-.79-.69zm24.558 11.81c-1.755.865-3.303 2.266-5.274 2.765-1.162-.016-3.074 1.271-1.331 2.102 2.66-.447 5.163-1.733 7.236-3.445.472-.506.06-1.432-.631-1.421zm-19.151.043c-2.004.786.416 2.405 1.43 2.913 1.608.904 3.379 1.636 5.208 1.877 1.77-.804-.228-2.094-1.357-2.073-1.75-.537-3.403-1.396-4.798-2.586l-.227-.104-.256-.027z"})),TimerStartEventNonInterrupting:({styles:e={},...t})=>xS("svg",KW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.991 8.7c-3.018-.042-5.92 1.925-7.03 4.725-1.138 2.695-.509 6.011 1.537 8.102 1.99 2.142 5.267 2.93 8.013 1.927 2.877-.98 4.99-3.826 5.067-6.87.153-2.956-1.624-5.88-4.299-7.135a7.551 7.551 0 00-3.288-.75zm0 1.383c2.758-.052 5.372 1.972 6.014 4.654.704 2.578-.482 5.516-2.79 6.867-2.358 1.48-5.682 1.085-7.617-.919-2.043-1.97-2.407-5.38-.84-7.743 1.11-1.764 3.149-2.88 5.233-2.86zm1.962 1.764l-2.074 3.762c-.64.068-.793 1.04-.202 1.3.39.27.696-.18 1.052-.165h3.17v-.865h-3.182l1.993-3.614-.757-.418zM16.12.358h-.232l-.22.004h-.012l-.221.006h-.012l-.22.01h-.012l-.22.013h-.012l-.22.016h-.012l-.22.019h-.005l-.006.001-.22.021h-.006l-.005.001-.22.025h-.011l-.22.028h-.005l-.006.002-.219.03h-.005l-.006.001-.218.033-.006.001-.006.001-.217.036-.006.001-.006.001-.217.039-.006.001-.006.001-.216.042-.006.001-.006.001-.215.045-.006.001-.006.002-.215.047-.006.002-.006.001-.214.05-.006.002-.006.002-.115.029-.152.053-.14.081-.122.106-.1.126-.075.143-.047.154-.018.16.012.16.042.156.07.145.095.13.118.11.137.086.15.059.158.03h.161l.132-.022.11-.028.202-.047.203-.046.208-.043.202-.039.206-.037.206-.034.205-.03.208-.03.205-.025.209-.023.208-.02.21-.017.209-.015.207-.011.21-.009.21-.006.207-.003h.21l.21.002.207.005.207.008.212.011.207.014.208.017.209.019.208.022.205.025.206.028.207.03.208.035.205.036.202.039.052.01.16.018.16-.012.156-.042.146-.07.13-.096.109-.119.085-.136.06-.15.03-.159v-.16l-.03-.16-.059-.15-.086-.136L19.823.9l-.13-.096-.145-.07-.128-.038-.057-.011-.006-.002h-.006L19.135.64l-.006-.001-.006-.001-.217-.039H18.9l-.006-.002-.217-.035-.006-.001-.006-.001-.218-.032-.006-.001-.006-.001-.218-.03h-.006l-.006-.001-.219-.027h-.011l-.22-.024-.005-.001h-.006l-.22-.021h-.006L17.512.42l-.22-.017-.005-.001h-.006l-.22-.015h-.012l-.22-.012h-.012l-.22-.01h-.012l-.22-.005h-.012l-.221-.003h-.012zm8.715 2.783l-.157.034-.149.063-.134.089-.116.112-.092.132-.067.147-.038.157-.008.16.021.16.051.153.079.141.103.124.102.087.052.038h.001l.087.064v.001l.082.061.002.001.076.059h.001l.084.065.082.066.002.001.079.063.002.002.077.063.081.067.002.002.077.065.076.065.001.002.08.07.078.07h.002l.075.068.077.072.002.001.073.069.077.073.072.07.002.001.077.076.07.07v.001l.075.076.07.073.002.001.074.079.002.002.069.074.069.075.074.082.07.08.002.001.068.079h.001l.067.079.068.082.065.078.001.002.068.083.067.084.063.081.001.002.067.087.002.002.063.084.001.001.064.087.008.01.008.01.095.12.093.121.09.119.087.119.088.122.086.123.084.12.081.122.001.002.084.126.08.126.08.127.077.126.079.131.074.127.075.131.073.131.07.13.07.133.069.133.045.09.086.137.109.119.13.096.144.07.156.042.16.013.16-.017.155-.047.143-.075.126-.1.106-.121.082-.14.054-.151.025-.16-.005-.16-.035-.158-.05-.124-.048-.095-.002-.004-.002-.004-.073-.14-.002-.005-.002-.004-.074-.14-.002-.004-.002-.004-.076-.14-.002-.003-.002-.004-.077-.139-.003-.004-.002-.004-.078-.138-.003-.004-.002-.003-.08-.137-.002-.004-.003-.004-.081-.136-.002-.004-.003-.004-.083-.136-.002-.003-.002-.004-.085-.135-.002-.004-.003-.003-.085-.134-.003-.004-.002-.004-.087-.132-.003-.004-.003-.004-.088-.132-.003-.003-.002-.004-.09-.13-.003-.005-.003-.003-.091-.13-.003-.004-.002-.004-.093-.129-.003-.003-.003-.004-.094-.128-.003-.004-.003-.003-.095-.127-.003-.004-.003-.004-.097-.125-.003-.004-.003-.004-.09-.114-.06-.082-.003-.003-.002-.003-.069-.091-.002-.004-.002-.003-.07-.09-.003-.003-.002-.003-.07-.09-.003-.003-.002-.003-.071-.09-.002-.003-.003-.002-.072-.089-.002-.003-.002-.003-.073-.088-.002-.003-.002-.002-.074-.087-.002-.003-.002-.003-.074-.086-.003-.003-.002-.003-.074-.086-.003-.002-.002-.003-.075-.085-.003-.003-.002-.002-.076-.084-.002-.003-.003-.003-.076-.083-.002-.003-.003-.003-.077-.082-.002-.003-.003-.002-.077-.082-.003-.003-.003-.002-.078-.081-.002-.003-.003-.003-.078-.08-.003-.002-.003-.003-.079-.08-.002-.002-.003-.002-.08-.08-.002-.002-.003-.002-.08-.078-.003-.003-.003-.002-.08-.077-.003-.003-.003-.002-.082-.077-.002-.002-.003-.002-.082-.076-.003-.002-.002-.003-.083-.075-.003-.002-.002-.003-.084-.074-.002-.002-.003-.002-.084-.074-.003-.002-.002-.002-.085-.073-.002-.002-.003-.003-.085-.071-.003-.003-.002-.002-.086-.07-.003-.003-.002-.002-.086-.07-.003-.003-.003-.002-.086-.07-.003-.002-.003-.002-.087-.069-.002-.002-.003-.002-.088-.068-.002-.002-.003-.002-.088-.067-.003-.003-.003-.002-.088-.066-.003-.002-.003-.002-.089-.066-.003-.002-.003-.002-.057-.042-.14-.082-.15-.055-.16-.026-.16.004zm-18.458.426l-.157.037-.148.066-.111.074-.007.006-.003.002-.003.002-.086.069-.003.002-.002.002-.086.07-.003.002-.002.002-.086.07-.002.003-.003.002-.085.071-.002.002-.003.003-.084.071-.003.003-.002.002-.084.072-.003.003-.002.002-.083.073-.003.003-.002.002-.083.074-.002.002-.003.003-.082.074-.003.003-.002.002-.081.076-.003.002-.003.002-.08.077-.003.002-.003.003-.08.076-.002.003-.003.002-.08.078-.002.002-.003.003-.079.078-.002.003-.003.002-.078.08-.003.002-.002.002-.078.08-.002.003-.003.002-.077.08-.003.004-.002.002-.077.081-.002.003-.003.003-.076.082-.002.002-.003.003-.075.082-.002.003-.003.003-.074.083-.003.003-.002.003-.074.084-.003.003-.002.002-.074.085-.002.003-.002.003-.073.085-.003.003-.002.003-.072.086-.002.003-.003.003-.071.087-.003.003-.002.002-.07.088-.003.003-.002.003-.07.088-.003.003-.002.003-.07.09-.002.002-.002.003-.069.09-.002.003-.003.003-.068.09-.002.003-.002.003-.067.092-.003.003-.002.003-.067.092-.002.003-.002.003-.066.092-.002.003-.002.004-.066.093-.002.003-.002.003-.065.094-.002.003-.002.004-.064.094-.002.003-.002.004-.063.095-.002.003-.002.003-.063.097-.002.003-.002.003-.046.073-.05.07-.003.002-.002.003-.067.093-.003.003-.002.003-.066.094-.002.003-.002.003-.066.094-.002.003-.002.003-.064.094-.002.004-.002.003-.064.094-.002.004-.002.003-.062.095-.002.003-.002.003-.062.096-.002.003-.002.003-.06.096-.003.003-.002.003-.06.096-.001.004-.002.003-.059.096-.002.004-.002.003-.058.097-.002.003-.001.003-.057.098-.002.003-.002.003-.056.098-.002.003-.002.003-.055.098-.002.004-.001.003-.055.098-.001.004-.002.003-.054.099-.001.003-.002.003-.052.1-.002.002-.002.004-.051.1-.002.002-.002.004-.05.1-.002.003-.002.003-.05.1v.003l-.002.004-.05.1V9.5l-.002.004-.048.1-.002.004-.001.003-.047.101-.002.003-.001.004-.013.027-.052.152-.024.16.006.16.037.157.064.148.091.133.114.114.134.09.147.065.157.036.162.006.159-.024.152-.053.14-.08.122-.105.1-.126.066-.117.01-.023.044-.095.045-.095.002-.003.042-.087.048-.097.048-.095v-.001l.048-.092.001-.001.047-.09.05-.093.002-.002.049-.09.052-.092.001-.002.051-.089.001-.002.051-.087.053-.088.001-.002.055-.091.057-.091.057-.09.001-.002.057-.089.055-.083.001-.002.06-.09.06-.088.062-.089.001-.001.06-.084.063-.088.065-.089.017-.023.016-.025.06-.094.059-.09v-.002l.058-.086.057-.086.001-.001.062-.09.062-.088.001-.002.06-.085.002-.002.06-.082.063-.087.064-.084.002-.002.061-.08.065-.084.064-.08v-.001l.067-.083.067-.082.07-.083.069-.08.063-.074.074-.083.068-.077.002-.002.07-.076.07-.075.072-.077.001-.001.067-.07.076-.078.002-.002.07-.07.075-.075.002-.002.072-.07.075-.072.002-.002.073-.069.074-.068.001-.001.08-.073.076-.068.002-.002.072-.063v-.001l.078-.067.079-.068.002-.001.08-.068.002-.002.077-.063.082-.066.001-.001.075-.06.002-.002.006-.004.117-.111.094-.131.068-.146.04-.156.01-.161-.019-.16-.049-.154-.076-.141-.102-.125-.123-.105-.14-.079-.153-.052-.16-.023-.16.007zm24.596 11.088l-.156.04-.146.067-.131.094-.112.117-.087.135-.061.15-.033.157-.004.134.007.142.005.152.004.15.002.149v.153l.001.011v.015l.004.11.002.11v.002l.002.106v.321l-.003.102-.002.106-.004.107-.005.105-.006.106-.006.106-.008.106v.002l-.008.103v.002l-.01.1-.01.105-.01.105-.013.105-.012.099v.002l-.014.108-.014.1-.016.105-.016.103v.002l-.017.099-.018.104-.019.103v.002l-.019.097-.02.104-.022.103v.001l-.022.098-.023.103v.002l-.024.096-.025.103v.002l-.024.096-.027.102v.003l-.026.093v.001l-.029.103v.002l-.03.099-.028.097v.002l-.03.095-.03.096v.001l-.033.1-.031.095v.002l-.035.1v.003l-.034.094v.003l-.035.096v.001l-.034.09v.002l-.038.098-.036.093v.002l-.038.095-.079.194-.08.188-.085.189-.087.19-.09.184-.092.183-.095.184-.05.093-.064.148-.034.158-.005.16.026.16.054.151.082.14.106.12.127.1.143.075.154.046.16.017.161-.013.156-.042.144-.071.13-.096.109-.119.072-.112.053-.099.003-.005.003-.006.102-.195.003-.006.003-.006.098-.196.003-.006.003-.006.096-.197.002-.006.003-.006.093-.2.002-.006.003-.006.09-.2.002-.006.003-.007.086-.202.003-.006.002-.006.084-.203.002-.005.001-.005.04-.102.002-.003.001-.003.04-.103.001-.003.001-.003.04-.103v-.004l.001-.003.039-.103v-.003l.002-.003.037-.104.001-.003.001-.003.037-.104v-.004l.002-.003.035-.104.002-.003v-.004l.035-.104.002-.004v-.003l.034-.105.002-.003v-.003l.034-.105v-.004l.002-.003.032-.106.001-.003.001-.003.031-.106.001-.003.001-.004.031-.106.001-.003.001-.004.03-.106v-.003l.002-.004.028-.107.001-.003.001-.003.028-.107.001-.004.001-.003.027-.107.001-.004v-.003l.027-.108.001-.003v-.004l.026-.108.001-.003v-.004l.025-.108.001-.003v-.004l.025-.108v-.004l.001-.003.023-.109v-.003l.001-.004.022-.109v-.003l.002-.004.02-.109.001-.004v-.003l.02-.11.002-.003v-.004l.02-.11v-.007l.019-.11v-.003l.001-.004.017-.11v-.004l.001-.003.017-.11v-.008l.016-.11v-.004l.001-.004.015-.11v-.008l.015-.111v-.008l.013-.111v-.007l.013-.112v-.007l.011-.112v-.004l.001-.004.01-.112v-.007l.01-.112v-.008l.008-.112v-.008l.007-.113v-.007l.007-.113v-.008l.005-.113v-.007l.005-.114v-.007l.003-.114v-.007l.003-.114v-.129l.001-.114v-.13l-.003-.114V16.5l-.003-.115v-.007l-.003-.102v-.155l-.003-.158v-.01l-.004-.158v-.01l-.006-.158v-.01l-.007-.148-.023-.16-.051-.152-.08-.14-.103-.124-.125-.102-.142-.077-.153-.05-.16-.02-.161.01zm-30.213.66l-.157.034-.149.063-.134.09-.115.113-.092.132-.067.147-.037.156-.009.134.001.11V16.308l.006.22v.012l.01.22v.012l.012.22v.006l.001.006.015.22v.005l.001.006.018.22.001.006v.006l.022.219v.006l.001.006.024.219.001.006v.006l.028.218.001.006v.006l.031.218.001.006.001.006.033.218.001.006.001.005.037.218v.006l.002.005.04.217v.006l.001.006.043.216.001.006.001.006.046.216v.005l.002.006.048.215.002.006.001.006.051.214.002.006v.006l.055.214.002.005.001.006.057.213.002.006.001.005.06.213.002.005.001.006.063.212.002.005.001.006.066.21.002.006.002.006.068.21.002.005.002.005.07.21.003.005.002.005.074.208.002.006.002.005.077.207.002.006.002.005.08.206.002.005.002.006.082.204.002.006.002.005.086.204.002.005.002.006.088.202.002.005.003.006.09.2.003.006.002.005.094.2.002.006.003.005.096.199.002.005.003.005.03.062.086.137.11.118.128.097.145.07.156.043.16.013.16-.017.155-.047.143-.074.127-.1.106-.121.081-.14.055-.15.025-.16-.005-.161-.034-.158-.05-.124-.028-.055-.092-.19-.087-.188-.087-.192-.083-.19-.08-.193-.078-.194-.076-.196-.073-.195-.07-.197-.067-.198-.065-.199-.063-.2-.059-.2-.056-.2-.055-.204-.05-.201-.049-.202-.046-.205-.043-.206-.04-.203-.038-.207-.034-.204-.032-.207-.028-.205-.026-.207-.023-.208-.02-.207-.018-.207-.014-.208-.011-.207-.009-.208-.005-.207-.002-.104-.017-.16-.046-.155-.074-.143-.1-.126-.121-.107-.139-.081-.152-.055-.159-.025-.161.004zm24.585 11.83l-.156.039-.146.068-.11.076-.015.012-.163.129-.166.127-.168.125-.17.124-.17.12-.172.118-.173.115-.176.114-.177.111-.18.11-.178.105-.182.104-.182.101-.184.1-.184.095-.189.095-.186.09-.188.089-.19.086-.19.082-.193.081-.195.078-.191.074-.197.073-.195.07-.196.065-.198.064-.198.061-.2.058-.2.055-.2.052-.2.049-.151.035-.153.05-.141.078-.125.103-.103.124-.078.14-.05.154-.022.16.009.16.038.157.067.147.093.132.116.112.134.089.149.062.158.034.16.003.133-.02.158-.035.006-.002.006-.001.213-.052.006-.002.007-.001.212-.056.006-.001.006-.002.212-.058.006-.002.006-.002.211-.061.006-.002.006-.002.21-.064.006-.002.006-.002.21-.067.005-.002.006-.002.208-.07.006-.002.006-.003.207-.073.006-.002.006-.002.206-.077.006-.002.005-.002.206-.08.005-.001.006-.003.204-.082.006-.002.005-.002.203-.085.006-.003.005-.002.202-.088.006-.002.005-.003.2-.09.006-.003.006-.003.2-.093.005-.003.005-.002.198-.096.006-.003.005-.003.197-.099.005-.002.005-.003.196-.102.005-.002.005-.003.195-.105.005-.002.005-.003.193-.107.005-.003.005-.003.191-.11.005-.003.005-.003.19-.112.005-.003.005-.003.189-.115.005-.003.005-.003.187-.117.005-.003.004-.004.186-.12.005-.003.004-.003.184-.122.005-.003.005-.004.182-.125.004-.003.005-.003.18-.128.005-.003.005-.003.179-.13.004-.003.005-.004.177-.132.004-.004.005-.003.175-.135.005-.003.004-.004.173-.137.005-.003.004-.004.019-.015.115-.113.092-.132.066-.147.038-.157.008-.16-.022-.16-.052-.153-.079-.14-.103-.124-.125-.102-.142-.078-.153-.05-.16-.02-.16.01zm-19.17.054l-.153.051-.14.079-.124.103-.103.125-.077.141-.05.153-.02.16.009.161.04.156.067.147.093.131.095.094.047.04.005.004.005.004.17.14.005.004.005.004.172.137.004.004.005.003.086.067.003.002.003.002.087.067.003.002.003.002.088.066.002.003.003.002.089.065.002.002.003.002.09.065.002.002.003.002.09.064.002.002.003.002.09.063.003.002.003.002.09.063.003.002.003.002.092.062.002.002.003.002.092.061.003.002.003.002.092.06.003.003.003.001.093.06.003.002.003.002.093.06.003.001.003.002.094.058.003.002.003.002.095.058.003.001.003.002.095.057.003.002.003.002.095.056.003.002.003.002.096.055.004.002.003.001.096.055.003.002.003.002.098.053.003.002.003.002.097.053.004.002.003.001.098.053.003.001.003.002.099.052.003.001.003.002.1.05.003.002.003.002.1.05.003.002.003.001.1.05h.003l.004.003.1.048.004.001.003.002.101.048.003.001.004.002.101.046.004.002.003.001.102.046.004.002.003.001.103.045.003.002.003.001.103.045.004.001.003.002.104.043.003.001.004.002.104.042.003.002.004.001.104.042.004.001.003.002.105.04.004.002.003.001.106.04.003.002h.004l.106.04.004.001.003.002.107.038.003.001.004.001.107.038.003.001.004.001.107.037.004.001.004.001.108.036.003.001.004.001.108.035.004.001.003.001.11.034.003.001.004.001.109.033.004.002h.003l.11.033h.004l.003.002.11.031.004.001.004.001.084.023.081.028.004.001.003.001.109.037.003.001.004.001.109.036.003.001.004.001.109.035h.003l.004.002.11.033.003.001.003.001.11.033.003.001.004.001.109.031.004.002h.003l.11.031.003.001.004.001.11.03h.003l.003.001.11.029h.004l.003.002.11.027.003.001.004.001.11.027h.003l.004.001.004.001.16.022.16-.008.157-.038.147-.067.132-.092.112-.116.09-.134.062-.149.034-.157.004-.161-.025-.16-.055-.151-.082-.139-.107-.12-.127-.1-.143-.074-.124-.04h-.003l-.104-.025-.103-.026h-.002l-.095-.026h-.001l-.101-.027h-.002l-.1-.028h-.002l-.103-.03-.104-.032-.097-.03h-.002l-.103-.033-.102-.033-.101-.034-.106-.036-.027-.01-.027-.007-.107-.03-.104-.029-.104-.03h-.002l-.097-.03-.102-.032-.102-.032-.102-.034-.103-.035-.096-.034-.1-.036-.101-.037h-.002l-.094-.036-.096-.037-.097-.04h-.002l-.099-.04-.098-.042h-.002l-.092-.04-.097-.043-.095-.043-.097-.044h-.002l-.09-.043-.094-.045-.094-.046-.093-.047-.09-.046-.096-.05-.088-.047-.002-.001-.09-.049-.094-.052-.002-.002-.087-.049-.087-.05h-.002l-.088-.053h-.001l-.09-.055-.086-.052-.002-.001-.089-.055-.084-.054h-.002l-.09-.059h-.001l-.085-.056-.001-.001-.084-.056-.082-.056h-.001l-.086-.06-.082-.058H7.79l-.086-.062-.002-.002-.08-.058-.081-.06h-.001l-.085-.064-.002-.002-.076-.058-.002-.002-.082-.064-.161-.128-.162-.133-.04-.034-.132-.092-.147-.066-.157-.038-.16-.008-.16.022z"})),CancelBoundaryEvent:jV,CompensateBoundaryEvent:HV,ConditionalBoundaryEvent:WV,ErrorBoundaryEvent:QV,EscalationBoundaryEvent:UV,LinkBoundaryEvent:KV,MessageBoundaryEvent:JV,MultipleBoundaryEvent:tW,BoundaryEvent:EW,ConditionalBoundaryEventNonInterrupting:iW,EscalationBoundaryEventNonInterrupting:rW,MessageBoundaryEventNonInterrupting:aW,MultipleBoundaryEventNonInterrupting:cW,ParallelBoundaryEventNonInterrupting:hW,SignalBoundaryEventNonInterrupting:dW,TimerBoundaryEventNonInterrupting:mW,ParallelMultipleBoundaryEvent:vW,SignalBoundaryEvent:bW,TimerBoundaryEvent:xW,StartEvent:({styles:e={},...t})=>xS("svg",ZW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.847.004C9.61-.016 3.624 4.014 1.257 9.78-1.235 15.49.06 22.581 4.42 27.034c4.193 4.513 11.101 6.17 16.887 4.058 5.996-2.042 10.423-7.93 10.664-14.268.403-6.228-3.26-12.441-8.87-15.154A15.924 15.924 0 0015.846.004zm.439 1.729c6.105.033 11.856 4.45 13.435 10.359 1.678 5.653-.592 12.198-5.463 15.547-5.06 3.719-12.564 3.45-17.343-.625-4.814-3.84-6.538-10.94-4.067-16.57 2.14-5.206 7.515-8.775 13.147-8.71.097-.001.194-.002.29-.001z"})),ParallelMultipleStartEvent:({styles:e={},...t})=>xS("svg",JW({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.847 0C9.61-.02 3.624 4.01 1.257 9.775-1.235 15.485.06 22.577 4.42 27.03c4.193 4.513 11.101 6.17 16.887 4.058 5.996-2.042 10.423-7.93 10.664-14.268.403-6.228-3.26-12.441-8.87-15.154A15.924 15.924 0 0015.846 0zm.439 1.729c6.105.033 11.856 4.45 13.435 10.359 1.678 5.653-.592 12.198-5.463 15.547-5.06 3.719-12.564 3.45-17.343-.625C2.101 23.17.377 16.07 2.848 10.44c2.134-5.2 7.522-8.78 13.147-8.71.097-.001.194-.002.29-.001zM13.504 9.08v4.427H9.077v4.98h4.427v4.427h4.98v-4.427h4.428v-4.98h-4.427V9.08h-4.98zm.83.83h3.32v4.427h4.428v3.32h-4.427v4.427h-3.32v-4.453H9.906v-3.294h4.427V9.91z"})),SignalStartEvent:({styles:e={},...t})=>xS("svg",eG({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M15.995.005C9.705-.08 3.643 3.968 1.257 9.78-1.235 15.49.06 22.581 4.42 27.034c4.193 4.513 11.102 6.17 16.887 4.058 5.996-2.042 10.423-7.93 10.664-14.269.403-6.227-3.26-12.44-8.87-15.153A15.924 15.924 0 0015.994.005zm0 1.73c6.213-.108 12.122 4.355 13.726 10.357 1.678 5.653-.592 12.198-5.463 15.547-5.06 3.719-12.564 3.45-17.343-.626-4.814-3.838-6.538-10.939-4.067-16.57 2.14-5.205 7.515-8.774 13.147-8.708zm0 6.776L9.19 20.724H22.8L15.995 8.511zm0 1.777l5.332 9.572H10.662l5.333-9.572z"})),TimerStartEvent:({styles:e={},...t})=>xS("svg",tG({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M16 0C7.174 0 0 7.174 0 16s7.174 16 16 16 16-7.174 16-16S24.826 0 16 0zm0 1.73c7.892 0 14.27 6.378 14.27 14.27 0 7.891-6.379 14.27-14.27 14.27S1.73 23.891 1.73 16C1.73 8.108 8.108 1.73 16 1.73zm-.143 6.676c-2.967.02-5.797 1.97-6.89 4.727-1.138 2.695-.51 6.012 1.537 8.102 1.99 2.142 5.268 2.932 8.014 1.928 2.878-.98 4.992-3.827 5.068-6.87.153-2.957-1.624-5.881-4.3-7.137a7.552 7.552 0 00-3.43-.75zm.27 1.383c2.71.012 5.254 2.015 5.886 4.656.704 2.577-.482 5.517-2.791 6.867-2.358 1.48-5.682 1.085-7.618-.918-2.043-1.971-2.407-5.381-.84-7.745 1.11-1.763 3.15-2.88 5.234-2.86h.13zm1.833 1.765l-2.074 3.763c-.64.068-.793 1.04-.202 1.3.39.27.696-.18 1.052-.165h3.17v-.865h-3.181l1.992-3.615-.757-.418z"})),CollapsedSubProcess:iG,CollapsedAdHocSubProcess:iG,ExpandedSubProcess:rG,ExpandedAdHocSubProcess:rG,Task:({styles:e={},...t})=>xS("svg",sG({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M6.494 2.667C2.916 2.667 0 5.57 0 9.142v13.383C0 26.097 2.916 29 6.494 29h19.012C29.084 29 32 26.097 32 22.525V9.142c0-3.572-2.916-6.475-6.494-6.475H6.494zm0 2h19.012c2.509 0 4.494 1.98 4.494 4.475v13.383C30 25.02 28.015 27 25.506 27H6.494C3.985 27 2 25.02 2 22.525V9.142c0-2.495 1.985-4.475 4.494-4.475z"})),TextAnnotation:({styles:e={},...t})=>xS("svg",aG({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M22.087 0v31.647H32v-1.788h-8.125V1.788H32V0h-9.913zm-2.924 13.999l-2.737 2.167 2.167 2.738 2.738-2.167-2.168-2.738zm-5.475 4.335L10.95 20.5l2.168 2.738 2.737-2.168-2.167-2.737zm-5.475 4.335l-2.738 2.167 2.168 2.738 2.737-2.168-2.167-2.737zm-5.476 4.335L0 29.17l2.167 2.738 2.738-2.168-2.168-2.737z"})),Transaction:({styles:e={},...t})=>xS("svg",lG({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{d:"M5.422 3A5.424 5.424 0 000 8.422v15.822a5.424 5.424 0 005.422 5.423h21.156A5.424 5.424 0 0032 24.244V8.422A5.424 5.424 0 0026.578 3H5.422zm0 1.244h21.156a4.155 4.155 0 014.178 4.178v15.822a4.155 4.155 0 01-4.178 4.178H5.422a4.155 4.155 0 01-4.178-4.178V8.422a4.155 4.155 0 014.178-4.178zm1.056 1.778a3.373 3.373 0 00-3.367 3.366v13.89a3.373 3.373 0 003.367 3.366h19.044a3.373 3.373 0 003.367-3.366V9.388a3.373 3.373 0 00-3.367-3.366H6.478zm0 1.245h19.044c1.187 0 2.122.935 2.122 2.121v13.89a2.104 2.104 0 01-2.122 2.122H6.478a2.104 2.104 0 01-2.122-2.122V9.388c0-1.186.935-2.121 2.122-2.121z"})),UserTask:({styles:e={},...t})=>xS("svg",cG({xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32"},t),xS("path",{fillRule:"evenodd",d:"M10.263 7.468c-1.698 0-2.912 1.305-2.915 2.791v.001c0 .45.121.924.311 1.352.138.309.308.593.516.82-1.235.423-2.683 1.119-3.414 2.49l-.04.075v4.44h11.083v-4.44l-.04-.074c-.72-1.352-2.136-2.047-3.36-2.471.597-.608.774-1.392.774-2.192-.004-1.487-1.218-2.792-2.915-2.792zm-1.16 1.583c.08 0 .165.003.26.008.757.045 1.012.181 1.207.31.196.13.334.252.851.268.404-.016.598-.087.737-.169.056-.033.103-.067.152-.1.128.275.197.578.198.893 0 .894-.154 1.52-.975 2.034l.08.604c.171.052.348.11.527.171.025.105.054.242.073.387.02.153.029.311.016.43a.422.422 0 01-.056.19c-.417.417-1.157.66-1.908.66-.75 0-1.49-.243-1.908-.66a.422.422 0 01-.056-.19 1.949 1.949 0 01.016-.43c.02-.146.049-.284.074-.388.177-.062.352-.118.521-.17l.048-.648a.616.616 0 00-.126-.118c-.183-.138-.405-.44-.562-.793-.157-.353-.254-.757-.254-1.08 0-.387.105-.758.297-1.079l.11-.04c.143-.046.339-.09.679-.09zm-1.448 4.304l-.002.014c-.025.185-.04.387-.018.589.021.202.074.42.248.593.595.594 1.494.857 2.382.857.889 0 1.788-.263 2.382-.857.174-.174.227-.391.249-.593a2.496 2.496 0 00-.018-.59l-.002-.01c.903.396 1.776.963 2.258 1.81v3.599H13.53v-2.538h-.67v2.538H7.651v-2.538h-.67v2.538H5.39v-3.599c.483-.849 1.359-1.416 2.264-1.813zM6.495 3C2.914 3 0 5.903 0 9.475v13.383c0 3.572 2.916 6.475 6.494 6.475h19.012c3.578 0 6.494-2.903 6.494-6.475V9.475C32 5.903 29.084 3 25.506 3H6.494zm0 2h19.01C28.016 5 30 6.98 30 9.475v13.383c0 2.495-1.985 4.475-4.494 4.475H6.494C3.985 27.333 2 25.353 2 22.858V9.475C2 6.98 3.985 5 6.494 5z"}))};function hG(e){const{type:t}=e;let n=dG(t);const i=function(e){const t=me(e).eventDefinitions;return t&&t[0]}(e);if(i)return n=`${function(e){return dG(e.$type).replace("EventDefinition","")}(i)}${n}`,(de(e,"bpmn:StartEvent")&&!hl(e)||de(e,"bpmn:BoundaryEvent")&&!function(e){const t=me(e);return t&&!1!==t.cancelActivity}(e))&&(n=`${n}NonInterrupting`),n;if(de(e,"bpmn:SubProcess")&&!de(e,"bpmn:Transaction"))if(pl(e))n=`Event${n}`;else{const t=cl(e)&&!function(e){return de(e&&(e.di||me(e).di),"bpmndi:BPMNPlane")}(e);n=`${t?"Expanded":"Collapsed"}${n}`}return function(e){const t=me(e),n=me(e.source);return!(!de(e,"bpmn:SequenceFlow")||!n)&&(n.default&&n.default===t&&(de(n,"bpmn:Gateway")||de(n,"bpmn:Activity")))}(e)&&(n="DefaultFlow"),function(e){const t=me(e),n=me(e.source);return!(!de(e,"bpmn:SequenceFlow")||!n)&&(t.conditionExpression&&de(n,"bpmn:Activity"))}(e)&&(n="ConditionalFlow"),n}const pG=e=>(e||(e=e=>e),{getDocumentationRef:e=>{const t=fG();if(t)return function(e,t){const n=mG(e,t);return n&&n.documentationRef}(e,t)},getElementLabel:e=>de(e,"bpmn:Process")?me(e).name:wl(e),getElementIcon:e=>{const t=hG(e),n=lV("config.elementTemplateIconRenderer",!1),{iconProperty:i="zeebe:modelerTemplateIcon"}=n||{},o=me(e).get(i);return o?()=>ES("img",{class:"bio-properties-panel-header-template-icon",width:"32",height:"32",src:o}):uG[t]},getTypeLabel:t=>{const n=fG();if(n){const i=mG(t,n);if(i&&i.name)return e(i.name)}const i=hG(t);return e(i.replace(/(\B[A-Z])/g," $1").replace(/(\bNon Interrupting)/g,"($1)"))}});function dG(e){return e.split(":")[1]}function fG(){return lV("elementTemplates",!1)}function mG(e,t){return t.get(e)}function gG(){return gG=Object.assign?Object.assign.bind():function(e){for(var t=1;txS("svg",gG({xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",width:"64",height:"64"},t),xS("defs",null,xS("rect",{id:"a",width:"57",height:"47",x:"3",y:"8",rx:"7"}),xS("mask",{id:"b",width:"57",height:"47",x:"0",y:"0",fill:"#fff",maskContentUnits:"userSpaceOnUse",maskUnits:"objectBoundingBox"},xS("use",{xlinkHref:"#a"}))),xS("g",{fill:"none",fillRule:"evenodd"},xS("path",{fill:"#818798",d:"M52 11a5 5 0 015 5v31a5 5 0 01-5 5H11a5 5 0 01-5-5V16a5 5 0 015-5h41zm0 2H11a3 3 0 00-2.995 2.824L8 16v31a3 3 0 002.824 2.995L11 50h41a3 3 0 002.995-2.824L55 47V16a3 3 0 00-2.824-2.995L52 13z"}),xS("path",{fill:"#D5D7DD",d:"M16 24h31v6H16zM21 33h21v6H21z"}),xS("use",{stroke:"#B9BCC6",strokeDasharray:"5 2",strokeWidth:"2",mask:"url(#b)",xlinkHref:"#a"})));function yG(){return yG=Object.assign?Object.assign.bind():function(e){for(var t=1;txS("svg",yG({xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",width:"128",height:"64"},t),xS("defs",null,xS("path",{id:"a",d:"M9 9h110v47H9z"}),xS("mask",{id:"b",width:"110",height:"47",x:"0",y:"0",fill:"#fff",maskContentUnits:"userSpaceOnUse",maskUnits:"objectBoundingBox"},xS("use",{xlinkHref:"#a"}))),xS("g",{fill:"none",fillRule:"evenodd"},xS("path",{fill:"#818798",d:"M25 20.272L37.728 33 25 45.728 12.272 33 25 20.272zm0 2.829L15.1 33l9.9 9.9 9.9-9.9-9.9-9.9z"}),xS("path",{fill:"#D5D7DD",d:"M17 47h16v6H17z"}),xS("path",{fill:"#818798",d:"M35 32h27v2H35z"}),xS("path",{fill:"#818798",d:"M60 30v6l6-3z"}),xS("path",{fill:"#D5D7DD",d:"M80 34h21v6H80z"}),xS("g",null,xS("path",{fill:"#818798",d:"M111 12a5 5 0 015 5v31a5 5 0 01-5 5H70a5 5 0 01-5-5V17a5 5 0 015-5h41zm0 2H70a3 3 0 00-3 3v31a3 3 0 003 3h41a3 3 0 003-3V17a3 3 0 00-3-3z"}),xS("path",{fill:"#D5D7DD",d:"M75 25h31v6H75z"})),xS("use",{stroke:"#B9BCC6",strokeDasharray:"5 2",strokeWidth:"2",mask:"url(#b)",xlinkHref:"#a"})));const wG=e=>(e||(e=e=>e),{getEmpty:()=>({text:e("Select an element to edit its properties."),icon:vG}),getMultiple:()=>({text:e("Multiple elements are selected. Select a single element to edit its properties."),icon:bG})});function xG(e){const{element:t,injector:n,getProviders:i,layoutConfig:o,descriptionConfig:r,tooltipConfig:s,feelPopupContainer:a}=e,l=n.get("canvas"),c=n.get("elementRegistry"),u=n.get("eventBus"),h=n.get("translate"),[p,d]=Ak({selectedElement:t}),f=p.selectedElement,m=e=>{if(!e)return;let t=e;t&&"label"===t.type&&(t=t.labelTarget),d({...p,selectedElement:t}),u.fire("propertiesPanel.updated",{element:t})};Tk((()=>{const e=e=>{const{newSelection:t=[]}=e;if(t.length>1)return m(t);const n=t[0],i=l.getRootElement();(function(e){return e&&(e.isImplicit||"__implicitroot"===e.id)})(i)||m(n||i)};return u.on("selection.changed",e),()=>{u.off("selection.changed",e)}}),[]),Tk((()=>{const e=e=>{const t=function(e,t){return j(e,(e=>e===t))}(e.elements,f);t&&function(e,t){return e&&t.get(e.id)}(t,c)&&m(t)};return u.on("elements.changed",e),()=>{u.off("elements.changed",e)}}),[f]),Tk((()=>{const e=e=>{const t=e.element;m(t)};return u.on("root.added",e),()=>{u.off("root.added",e)}}),[f]),Tk((()=>{const e=()=>{m(f)};return u.on("propertiesPanel.providersChanged",e),()=>{u.off("propertiesPanel.providersChanged",e)}}),[f]),Tk((()=>{const e=()=>{m(f)};return u.on("elementTemplates.changed",e),()=>{u.off("elementTemplates.changed",e)}}),[f]);const g={selectedElement:f,injector:n,getService:(e,t)=>n.get(e,t)},v=i(f),y=Dk((()=>G(v,(function(e,t){return L(f)?[]:t.getGroups(f)(e)}),[])),[v,f]),[b,w]=Ak(o||{}),x=Lk((e=>{u.fire("propertiesPanel.layoutChanged",{layout:e})}),[u]);return Tk((()=>{const e=e=>{const{layout:t}=e;w(t)};return u.on("propertiesPanel.setLayout",e),()=>u.off("propertiesPanel.setLayout",e)}),[u,w]),ES(aV.Provider,{value:g,children:ES(BH,{element:f,headerProvider:pG(h),placeholderProvider:wG(h),groups:y,layoutConfig:b,layoutChanged:x,descriptionConfig:r,descriptionLoaded:e=>{u.fire("propertiesPanel.descriptionLoaded",{description:e})},tooltipConfig:s,tooltipLoaded:e=>{u.fire("propertiesPanel.tooltipLoaded",{tooltip:e})},feelPopupContainer:a,eventBus:u})})}class _G{constructor(e,t,n){const{parent:i,layout:o,description:r,tooltip:s,feelPopupContainer:a}=e||{};this._eventBus=n,this._injector=t,this._layoutConfig=o,this._descriptionConfig=r,this._tooltipConfig=s,this._feelPopupContainer=a,this._container=Kt('
    ');var l=t.get("commandStack",!1);l&&function(e,t,n){function i(e){e.preventDefault(),e.stopPropagation()}function o(e){return function(e){return iV(e)&&!rV(e)&&oV(nV,e)}(e)?(n.undo(),i(e)):function(e){return iV(e)&&(oV(tV,e)||oV(nV,e)&&rV(e))}(e)?(n.redo(),i(e)):void 0}t.on("keyboard.bind",(function(){Gt.bind(e,"keydown",o)})),t.on("keyboard.unbind",(function(){Gt.unbind(e,"keydown",o)}))}(this._container,n,l),n.on("diagram.init",(()=>{i&&this.attachTo(i)})),n.on("diagram.destroy",(()=>{this.detach()})),n.on("root.added",(e=>{const{element:t}=e;this._render(t)}))}attachTo(e){if(!e)throw new Error("container required");e.get&&e.constructor.prototype.jquery&&(e=e.get(0)),"string"==typeof e&&(e=Jt(e)),this.detach(),e.appendChild(this._container),this._eventBus.fire("propertiesPanel.attach")}detach(){const e=this._container.parentNode;e&&(e.removeChild(this._container),this._eventBus.fire("propertiesPanel.detach"))}registerProvider(e,t){t||(t=e,e=1e3),"function"==typeof t.getGroups?(this._eventBus.on("propertiesPanel.getProviders",e,(function(e){e.providers.push(t)})),this._eventBus.fire("propertiesPanel.providersChanged")):console.error("Properties provider does not implement #getGroups(element) API")}setLayout(e){this._eventBus.fire("propertiesPanel.setLayout",{layout:e})}_getProviders(){const e=this._eventBus.createEvent({type:"propertiesPanel.getProviders",providers:[]});return this._eventBus.fire(e),e.providers}_render(e){const t=this._injector.get("canvas");e||(e=t.getRootElement()),function(e){return e&&(e.isImplicit||"__implicitroot"===e.id)}(e)||(mk(ES(xG,{element:e,injector:this._injector,getProviders:this._getProviders.bind(this),layoutConfig:this._layoutConfig,descriptionConfig:this._descriptionConfig,tooltipConfig:this._tooltipConfig,feelPopupContainer:this._feelPopupContainer}),this._container),this._eventBus.fire("propertiesPanel.rendered"))}_destroy(){this._container&&(mk(null,this._container),this._eventBus.fire("propertiesPanel.destroyed"))}}_G.$inject=["config.propertiesPanel","injector","eventBus"];class EG{constructor(e){this._commandStack=e}preExecute(e){const t=this._commandStack;V(e,(function(e){t.execute(e.cmd,e.context)}))}}EG.$inject=["commandStack"];const kG={"properties-panel.multi-command-executor":EG};function SG(e,t){e.on("diagram.init",(function(){V(kG,(function(e,n){t.registerHandler(n,e)}))}))}SG.$inject=["eventBus","commandStack"];var CG={__depends__:[{__init__:[SG]},ZH,eV],__init__:["propertiesPanel"],propertiesPanel:["type",_G]};function OG(e){const{autoFocusEntry:t,element:n,getOptions:i}=e,o=i(n),r=Qq(o);return Tk((()=>{if(t&&r&&o.length>r.length){const e=Jt(`[data-entry-id="${t}"]`),n=Jt(".bio-properties-panel-input",e);n&&n.select()}}),[o]),ES(FH,{...e})}function PG(e){return fe(e,["bpmn:StartEvent","bpmn:BoundaryEvent","bpmn:EndEvent"])&&!!MG(e)}function MG(e){return TG(e,"bpmn:ErrorEventDefinition")}function AG(e){const t=MG(e);return t&&t.get("errorRef")}function TG(e,t){return j(me(e).get("eventDefinitions")||[],(function(e){return de(e,t)}))}function BG(e){return de(e,"bpmn:ReceiveTask")?me(e):TG(e,"bpmn:MessageEventDefinition")}function RG(e){const t=BG(e);return t&&t.get("messageRef")}function DG(e){return TG(e,"bpmn:LinkEventDefinition")}function LG(e){return TG(e,"bpmn:SignalEventDefinition")}function NG(e){const t=LG(e);return t&&t.get("signalRef")}function zG(e){return TG(e,"bpmn:EscalationEventDefinition")}function IG(e){return de(e,"bpmn:Event")&&!!zG(e)}function FG(e){const t=zG(e);return t&&t.get("escalationRef")}function $G(e){return TG(e,"bpmn:CompensateEventDefinition")}function jG(e){const{element:t}=e;return function(e){return fe(e,["bpmn:EndEvent","bpmn:IntermediateThrowEvent"])&&!!$G(e)}(t)?[{id:"waitForCompletion",component:qG,isEdited:NH},{id:"activityRef",component:HG,isEdited:$H}]:[]}function qG(e){const{element:t}=e,n=lV("commandStack"),i=lV("translate"),o=$G(t);return LH({element:t,id:"waitForCompletion",label:i("Wait for completion"),getValue:()=>o.get("waitForCompletion"),setValue:e=>{n.execute("element.updateModdleProperties",{element:t,moddleElement:o,properties:{waitForCompletion:e}})}})}function HG(e){const{element:t}=e,n=lV("commandStack"),i=lV("elementRegistry"),o=lV("translate"),r=$G(t);return OG({element:t,id:"activityRef",label:o("Activity reference"),getValue:()=>{const e=function(e){const t=$G(e);return t&&t.get("activityRef")}(t);return e&&e.get("id")},setValue:e=>{const o=e?me(i.get(e)):void 0;n.execute("element.updateModdleProperties",{element:t,moddleElement:r,properties:{activityRef:o}})},getOptions:()=>{let e=[{value:"",label:o("")}];const n=function(e){let t=me(e).$parent,n=WG(t);return de(t,"bpmn:SubProcess")&&t.triggeredByEvent&&(t=t.$parent,t&&(n=[...n,...WG(t)])),n}(t);var i;return(i=n,te(i,(e=>(e.name||"").toLowerCase()))).forEach((function(t){e.push({value:t.id,label:GG(t)})})),e}})}function VG(e,t){const{flowElements:n}=e;return n.filter((function(e){return de(e,t)}))}function WG(e){const t=function(e){return VG(e,"bpmn:Activity")}(e),n=function(e){return VG(e,"bpmn:BoundaryEvent")}(e);return t.filter((function(e){return function(e,t){return de(e,"bpmn:CallActivity")||de(e,"bpmn:SubProcess")&&!e.triggeredByEvent&&!e.isForCompensation||function(e,t){const{id:n}=e;return!!j(t,(function(e){const{attachedToRef:t}=e,i=$G(e);return t&&i&&t.id===n}))}(e,t)}(e,n)}))}function GG(e){const{id:t,name:n}=e;return`${n?n+" ":""}(id=${t})`}const QG="text/plain";function XG(e){const{element:t}=e,n=[{id:"documentation",component:UG,isEdited:WH}];return function(e){return de(e,"bpmn:Participant")&&e.businessObject.get("processRef")}(t)&&n.push({id:"processDocumentation",component:YG,isEdited:WH}),n}function UG(e){const{element:t}=e,n=lV("bpmnFactory"),i=lV("commandStack"),o=lV("translate"),r=lV("debounceInput"),s=ZG(me(t)),a=JG(t,me(t),n,i);return VH({element:t,id:"documentation",label:o("Element documentation"),getValue:s,setValue:a,debounce:r})}function YG(e){const{element:t}=e,n=lV("bpmnFactory"),i=lV("commandStack"),o=lV("translate"),r=lV("debounceInput"),s=me(t).processRef,a=ZG(s),l=JG(t,s,n,i);return VH({element:t,id:"processDocumentation",label:o("Process documentation"),getValue:a,setValue:l,debounce:r})}function KG(e){return e.find((function(e){return(e.textFormat||QG)===QG}))}function ZG(e){return function(){const t=KG(e&&e.get("documentation"));return t&&t.text}}function JG(e,t,n,i){return function(o){let r=KG(t&&t.get("documentation"));return r?o?i.execute("element.updateModdleProperties",{element:e,moddleElement:r,properties:{text:o}}):i.execute("element.updateModdleProperties",{element:e,moddleElement:t,properties:{documentation:W(t.get("documentation"),r)}}):o?(r=n.create("bpmn:Documentation",{text:o}),i.execute("element.updateModdleProperties",{element:e,moddleElement:t,properties:{documentation:[...t.get("documentation"),r]}})):void 0}}function eQ(e,t,n,i){const o=i.create(e,t);return n&&(o.$parent=n),o}function tQ(e){return new o([32,32,1]).nextPrefixed(e)}function nQ(e){let t=e;for(;t.$parent;)t=t.$parent;return t}function iQ(e,t){return n=nQ(e).get("rootElements"),i=t,(n||[]).filter((e=>de(e,i)));var n,i}function oQ(e,t,n){return iQ(e,t).find((e=>e.id===n))}const rQ="",sQ="create-new";function aQ(e){const{element:t}=e;if(!PG(t))return[];let n=[{id:"errorRef",component:lQ,isEdited:$H}];return AG(t)&&(n=[...n,{id:"errorName",component:cQ,isEdited:UH},{id:"errorCode",component:uQ,isEdited:UH}]),n}function lQ(e){const{element:t}=e,n=lV("bpmnFactory"),i=lV("commandStack"),o=lV("translate"),r=MG(t);return OG({element:t,id:"errorRef",label:o("Global error reference"),autoFocusEntry:"errorName",getValue:()=>{const e=AG(t);return e?e.get("id"):rQ},setValue:e=>{const o=nQ(r),s=[];let a;return e===sQ&&(a=eQ("bpmn:Error",{name:tQ("Error_")},o,n),e=a.get("id"),s.push({cmd:"element.updateModdleProperties",context:{element:t,moddleElement:o,properties:{rootElements:[...o.get("rootElements"),a]}}})),a=a||oQ(r,"bpmn:Error",e),s.push({cmd:"element.updateModdleProperties",context:{element:t,moddleElement:r,properties:{errorRef:a}}}),i.execute("properties-panel.multi-command-executor",s)},getOptions:()=>{let e=[{value:rQ,label:o("")},{value:sQ,label:o("Create new ...")}];var n;return(n=iQ(me(t),"bpmn:Error"),te(n,(e=>(e.name||"").toLowerCase()))).forEach((t=>{e.push({value:t.get("id"),label:t.get("name")})})),e}})}function cQ(e){const{element:t}=e,n=lV("commandStack"),i=lV("translate"),o=lV("debounceInput"),r=AG(t);return XH({element:t,id:"errorName",label:i("Name"),getValue:()=>r.get("name"),setValue:e=>n.execute("element.updateModdleProperties",{element:t,moddleElement:r,properties:{name:e}}),debounce:o})}function uQ(e){const{element:t}=e,n=lV("commandStack"),i=lV("translate"),o=lV("debounceInput"),r=AG(t);return XH({element:t,id:"errorCode",label:i("Code"),getValue:()=>r.get("errorCode"),setValue:e=>n.execute("element.updateModdleProperties",{element:t,moddleElement:r,properties:{errorCode:e}}),debounce:o})}const hQ="create-new";function pQ(e){const{element:t}=e;if(!IG(t))return[];let n=[{id:"escalationRef",component:dQ,isEdited:$H}];return FG(t)&&(n=[...n,{id:"escalationName",component:fQ,isEdited:UH},{id:"escalationCode",component:mQ,isEdited:UH}]),n}function dQ(e){const{element:t}=e,n=lV("bpmnFactory"),i=lV("commandStack"),o=lV("translate"),r=zG(t);return OG({element:t,id:"escalationRef",label:o("Global escalation reference"),autoFocusEntry:"escalationName",getValue:()=>{const e=FG(t);return e&&e.get("id")},setValue:e=>{const o=nQ(r),s=[];let a;if(e===hQ){const i=tQ("Escalation_");a=eQ("bpmn:Escalation",{id:i,name:i},o,n),e=a.get("id"),s.push({cmd:"element.updateModdleProperties",context:{element:t,moddleElement:o,properties:{rootElements:[...o.get("rootElements"),a]}}})}return a=a||oQ(r,"bpmn:Escalation",e),s.push({cmd:"element.updateModdleProperties",context:{element:t,moddleElement:r,properties:{escalationRef:a}}}),i.execute("properties-panel.multi-command-executor",s)},getOptions:()=>{let e=[{value:"",label:o("")},{value:hQ,label:o("Create new ...")}];var n;return(n=iQ(me(t),"bpmn:Escalation"),te(n,(e=>(e.name||"").toLowerCase()))).forEach((t=>{e.push({value:t.get("id"),label:t.get("name")})})),e}})}function fQ(e){const{element:t}=e,n=lV("commandStack"),i=lV("translate"),o=lV("debounceInput"),r=FG(t);return XH({element:t,id:"escalationName",label:i("Name"),getValue:()=>r.get("name"),setValue:e=>n.execute("element.updateModdleProperties",{element:t,moddleElement:r,properties:{name:e}}),debounce:o})}function mQ(e){const{element:t}=e,n=lV("commandStack"),i=lV("translate"),o=lV("debounceInput"),r=FG(t);return XH({element:t,id:"escalationCode",label:i("Code"),getValue:()=>r.get("escalationCode"),setValue:e=>n.execute("element.updateModdleProperties",{element:t,moddleElement:r,properties:{escalationCode:e}}),debounce:o})}function gQ(e){const{element:t}=e;return de(t,"bpmn:Process")||function(e){return de(e,"bpmn:Participant")&&e.businessObject.get("processRef")}(t)?[{id:"isExecutable",component:vQ,isEdited:NH}]:[]}function vQ(e){const{element:t}=e,n=lV("modeling"),i=lV("commandStack"),o=lV("translate");let r,s;if(s=e=>{n.updateProperties(t,{isExecutable:e})},r=e=>e.businessObject.isExecutable,de(t,"bpmn:Participant")){const e=t.businessObject.get("processRef");s=n=>{i.execute("element.updateModdleProperties",{element:t,moddleElement:e,properties:{isExecutable:n}})},r=()=>e.get("isExecutable")}return LH({element:t,id:"isExecutable",label:o("Executable"),getValue:r,setValue:s})}const yQ=/\s/,bQ=/^([a-z][\w-.]*:)?[a-z_][\w-.]*$/i,wQ=/^[a-z_][\w-.]*$/i;function xQ(e,t,n){const i=e.$model.ids.assigned(t);return t?i&&i!==e?n("ID must be unique."):function(e,t){return n=e,yQ.test(n)?t("ID must not contain spaces."):wQ.test(e)?void 0:bQ.test(e)?t("ID must not contain prefix."):t("ID must be a valid QName.");var n}(t,n):n("ID must not be empty.")}function _Q(e){const{element:t}=e,n=lV("modeling"),i=lV("debounceInput"),o=lV("translate"),r=Lk((e=>me(e).id),[t]),s=Lk((e=>xQ(me(t),e,o)),[t,o]);return XH({element:t,id:"id",label:o(de(t,"bpmn:Participant")?"Participant ID":"ID"),getValue:r,setValue:(e,i)=>{i||n.updateProperties(t,{id:e})},debounce:i,validate:s})}function EQ(e){const{element:t}=e;return function(e){return fe(e,["bpmn:IntermediateThrowEvent","bpmn:IntermediateCatchEvent"])&&!!DG(e)}(t)?[{id:"linkName",component:kQ,isEdited:UH}]:[]}function kQ(e){const{element:t}=e,n=lV("commandStack"),i=lV("translate"),o=lV("debounceInput"),r=DG(t);return XH({element:t,id:"linkName",label:i("Name"),getValue:()=>r.get("name"),setValue:e=>{n.execute("element.updateModdleProperties",{element:t,moddleElement:r,properties:{name:e}})},debounce:o})}const SQ="",CQ="create-new";function OQ(e){const{element:t}=e;if(!function(e){return de(e,"bpmn:ReceiveTask")||fe(e,["bpmn:StartEvent","bpmn:EndEvent","bpmn:IntermediateThrowEvent","bpmn:BoundaryEvent","bpmn:IntermediateCatchEvent"])&&!!BG(e)}(t))return[];let n=[{id:"messageRef",component:PQ,isEdited:$H}];return RG(t)&&(n=[...n,{id:"messageName",component:MQ,isEdited:UH}]),n}function PQ(e){const{element:t}=e,n=lV("bpmnFactory"),i=lV("commandStack"),o=lV("translate"),r=BG(t);return OG({element:t,id:"messageRef",label:o("Global message reference"),autoFocusEntry:"messageName",getValue:()=>{const e=RG(t);return e?e.get("id"):SQ},setValue:e=>{const o=nQ(r),s=[];let a;if(e===CQ){const i=tQ("Message_");a=eQ("bpmn:Message",{id:i,name:i},o,n),e=a.get("id"),s.push({cmd:"element.updateModdleProperties",context:{element:t,moddleElement:o,properties:{rootElements:[...o.get("rootElements"),a]}}})}return a=a||oQ(r,"bpmn:Message",e),s.push({cmd:"element.updateModdleProperties",context:{element:t,moddleElement:r,properties:{messageRef:a}}}),i.execute("properties-panel.multi-command-executor",s)},getOptions:()=>{let e=[{value:SQ,label:o("")},{value:CQ,label:o("Create new ...")}];var n;return(n=iQ(me(t),"bpmn:Message"),te(n,(e=>(e.name||"").toLowerCase()))).forEach((t=>{e.push({value:t.get("id"),label:t.get("name")})})),e}})}function MQ(e){const{element:t}=e,n=lV("commandStack"),i=lV("translate"),o=lV("debounceInput"),r=RG(t);return XH({element:t,id:"messageName",label:i("Name"),getValue:()=>r.get("name"),setValue:e=>n.execute("element.updateModdleProperties",{element:t,moddleElement:r,properties:{name:e}}),debounce:o})}function AQ(e){const{element:t}=e;return function(e){const t=LQ(e);return!!t&&de(t,"bpmn:MultiInstanceLoopCharacteristics")}(t)?[{id:"loopCardinality",component:TQ,isEdited:UH},{id:"completionCondition",component:BQ,isEdited:UH}]:[]}function TQ(e){const{element:t}=e,n=lV("bpmnFactory"),i=lV("debounceInput"),o=lV("commandStack"),r=lV("translate");return XH({element:t,id:"loopCardinality",label:r("Loop cardinality"),getValue:()=>function(e){const t=function(e){return DQ(e,"loopCardinality")}(e);return RQ(t)}(t),setValue:e=>o.execute("element.updateModdleProperties",NQ(t,"loopCardinality",e,n)),debounce:i})}function BQ(e){const{element:t}=e,n=lV("bpmnFactory"),i=lV("debounceInput"),o=lV("commandStack"),r=lV("translate");return XH({element:t,id:"completionCondition",label:r("Completion condition"),getValue:()=>function(e){const t=function(e){return DQ(e,"completionCondition")}(e);return RQ(t)}(t),setValue:e=>o.execute("element.updateModdleProperties",NQ(t,"completionCondition",e,n)),debounce:i})}function RQ(e){return e&&e.get("body")}function DQ(e,t){const n=LQ(e);return n&&n.get(t)}function LQ(e){return me(e).loopCharacteristics}function NQ(e,t,n,i){const o=LQ(e),r={};if(!n)return r[t]=void 0,{element:e,moddleElement:o,properties:r};const s=o.get(t);return s?{element:e,moddleElement:s,properties:{body:n}}:(r[t]=function(e,t,n){return eQ("bpmn:FormalExpression",{body:t},e,n)}(o,n,i),{element:e,moddleElement:o,properties:r})}function zQ(e){const{element:t}=e;return fe(t,["bpmn:Collaboration","bpmn:DataAssociation","bpmn:Association"])?[]:[{id:"name",component:IQ,isEdited:WH}]}function IQ(e){const{element:t}=e,n=lV("modeling"),i=lV("debounceInput"),o=lV("canvas"),r=lV("bpmnFactory"),s=lV("translate");let a={element:t,id:"name",label:s("Name"),debounce:i,setValue:e=>{n.updateProperties(t,{name:e})},getValue:e=>e.businessObject.name,autoResize:!0};return de(t,"bpmn:TextAnnotation")?a={...a,setValue:e=>{n.updateProperties(t,{text:e})},getValue:e=>e.businessObject.text}:de(t,"bpmn:Group")?a={...a,setValue:e=>{const i=me(t);i.categoryValueRef||function(e,t,n){const i=function(e,t){const n=t.create("bpmn:CategoryValue"),i=t.create("bpmn:Category",{categoryValue:[n]});return function(e,t,n){if(e&&t){"number"!=typeof n&&(n=-1);var i=e.indexOf(t);if(-1!==i){if(i===n)return;if(-1===n)return;e.splice(i,1)}-1!==n?e.splice(n,0,t):e.push(t)}}(e.get("rootElements"),i),me(i).$parent=e,me(n).$parent=i,n}(me(t).$parent,n);e.categoryValueRef=i}(i,o.getRootElement(),r),n.updateLabel(t,e)},getValue:e=>{const t=me(e).categoryValueRef;return t&&t.value}}:de(t,"bpmn:Participant")&&(a.label=s("Participant Name")),VH(a)}function FQ(e){const{element:t}=e;return function(e){return de(e,"bpmn:Participant")&&e.businessObject.get("processRef")}(t)?[{id:"processId",component:jQ,isEdited:UH},{id:"processName",component:$Q,isEdited:UH}]:[]}function $Q(e){const{element:t}=e,n=lV("commandStack"),i=lV("translate"),o=lV("debounceInput"),r=t.businessObject.get("processRef");return XH({element:t,id:"processName",label:i("Process name"),getValue:()=>r.get("name"),setValue:e=>{n.execute("element.updateModdleProperties",{element:t,moddleElement:r,properties:{name:e}})},debounce:o})}function jQ(e){const{element:t}=e,n=lV("commandStack"),i=lV("translate"),o=lV("debounceInput"),r=t.businessObject.get("processRef"),s=Lk((e=>xQ(r,e,i)),[r,i]);return XH({element:t,id:"processId",label:i("Process ID"),getValue:()=>r.get("id"),setValue:(e,i)=>{i||n.execute("element.updateModdleProperties",{element:t,moddleElement:r,properties:{id:e}})},debounce:o,validate:s})}const qQ="",HQ="create-new";function VQ(e){const{element:t}=e;if(!function(e){return de(e,"bpmn:Event")&&!!LG(e)}(t))return[];let n=[{id:"signalRef",component:WQ,isEdited:$H}];return NG(t)&&(n=[...n,{id:"signalName",component:GQ,isEdited:UH}]),n}function WQ(e){const{element:t}=e,n=lV("bpmnFactory"),i=lV("commandStack"),o=lV("translate"),r=LG(t);return OG({element:t,id:"signalRef",label:o("Global signal reference"),autoFocusEntry:"signalName",getValue:()=>{const e=NG(t);return e?e.get("id"):qQ},setValue:e=>{const o=nQ(r),s=[];let a;if(e===HQ){const i=tQ("Signal_");a=eQ("bpmn:Signal",{id:i,name:i},o,n),e=a.get("id"),s.push({cmd:"element.updateModdleProperties",context:{element:t,moddleElement:o,properties:{rootElements:[...o.get("rootElements"),a]}}})}return a=a||oQ(r,"bpmn:Signal",e),s.push({cmd:"element.updateModdleProperties",context:{element:t,moddleElement:r,properties:{signalRef:a}}}),i.execute("properties-panel.multi-command-executor",s)},getOptions:()=>{let e=[{value:qQ,label:o("")},{value:HQ,label:o("Create new ...")}];var n;return(n=iQ(me(t),"bpmn:Signal"),te(n,(e=>(e.name||"").toLowerCase()))).forEach((t=>{e.push({value:t.get("id"),label:t.get("name")})})),e}})}function GQ(e){const{element:t}=e,n=lV("commandStack"),i=lV("translate"),o=lV("debounceInput"),r=NG(t);return XH({element:t,id:"signalName",label:i("Name"),getValue:()=>r.get("name"),setValue:e=>n.execute("element.updateModdleProperties",{element:t,moddleElement:r,properties:{name:e}}),debounce:o})}function QQ(e){return fe(e,["bpmn:StartEvent","bpmn:IntermediateCatchEvent","bpmn:BoundaryEvent"])&&!!UQ(e)}function XQ(e){if(e)return void 0!==e.get("timeDate")?"timeDate":void 0!==e.get("timeCycle")?"timeCycle":void 0!==e.get("timeDuration")?"timeDuration":void 0}function UQ(e){return YQ(e,"bpmn:TimerEventDefinition")}function YQ(e,t){return j(me(e).get("eventDefinitions")||[],(function(e){return de(e,t)}))}function KQ(e){const{element:t,idPrefix:n}=e;let{timerEventDefinition:i}=e;i||(i=UQ(me(t)));const o=XQ(i);if(!QQ(t))return[];const r=[];return r.push({id:tX(n,"timerEventDefinitionType"),component:ZQ,isEdited:$H,timerEventDefinition:i,timerEventDefinitionType:o}),o&&r.push({id:tX(n,"timerEventDefinitionValue"),component:JQ,isEdited:UH,timerEventDefinition:i,timerEventDefinitionType:o}),r}function ZQ(e){const{element:t,timerEventDefinition:n,timerEventDefinitionType:i}=e,o=lV("commandStack"),r=lV("bpmnFactory"),s=lV("translate");return FH({element:t,id:"timerEventDefinitionType",label:s("Type"),getValue:()=>i||"",setValue:e=>{if(e===i)return;const s=r.create("bpmn:FormalExpression",{body:void 0});s.$parent=n;const a={timeDuration:void 0,timeDate:void 0,timeCycle:void 0};""!==e&&(a[e]=s),o.execute("element.updateModdleProperties",{element:t,moddleElement:n,properties:a})},getOptions:e=>[{value:"",label:s("")},{value:"timeDate",label:s("Date")},{value:"timeDuration",label:s("Duration")},{value:"timeCycle",label:s("Cycle")}]})}function JQ(e){const{element:t,timerEventDefinition:n,timerEventDefinitionType:i}=e,o=lV("commandStack"),r=lV("translate"),s=lV("debounceInput"),a=n.get(i);return XH({element:t,id:"timerEventDefinitionValue",label:r("Value"),getValue:()=>a&&a.get("body"),setValue:e=>{o.execute("element.updateModdleProperties",{element:t,moddleElement:a,properties:{body:e}})},debounce:s,tooltip:eX(i,r)})}function eX(e,t){switch(e){case"timeDate":return ES("div",{children:[ES("p",{children:t("A specific point in time defined as ISO 8601 combined date and time representation.")}),ES("ul",{children:[ES("li",{children:[ES("code",{children:"2019-10-01T12:00:00Z"})," - ",t("UTC time")]}),ES("li",{children:[ES("code",{children:"2019-10-02T08:09:40+02:00"})," - ",t("UTC plus 2 hours zone offset")]})]}),ES("a",{href:"https://docs.camunda.org/manual/latest/reference/bpmn20/events/timer-events/#time-date",target:"_blank",rel:"noopener",children:t("Documentation: Timer events")})]});case"timeCycle":return ES("div",{children:[ES("p",{children:t("A cycle defined as ISO 8601 repeating intervals format.")}),ES("ul",{children:[ES("li",{children:[ES("code",{children:"R5/PT10S"})," - ",t("every 10 seconds, up to 5 times")]}),ES("li",{children:[ES("code",{children:"R/P1D"})," - ",t("every day, infinitely")]})]}),ES("a",{href:"https://docs.camunda.org/manual/latest/reference/bpmn20/events/timer-events/#time-cycle",target:"_blank",rel:"noopener",children:t("Documentation: Timer events")})]});case"timeDuration":return ES("div",{children:[ES("p",{children:t("A time duration defined as ISO 8601 durations format.")}),ES("ul",{children:[ES("li",{children:[ES("code",{children:"PT15S"})," - ",t("15 seconds")]}),ES("li",{children:[ES("code",{children:"PT1H30M"})," - ",t("1 hour and 30 minutes")]}),ES("li",{children:[ES("code",{children:"P14D"})," - ",t("14 days")]})]}),ES("a",{href:"https://docs.camunda.org/manual/latest/reference/bpmn20/events/timer-events/#time-duration",target:"_blank",rel:"noopener",children:t("Documentation: Timer events")})]})}}function tX(e,t){return e?e+t:t}function nX(e,t){const n=t.get("translate"),i=[...zQ({element:e}),{id:"id",component:_Q,isEdited:UH},...FQ({element:e}),...gQ({element:e})];return{id:"general",label:n("General"),entries:i,component:Kq}}function iX(e,t){const n={label:t.get("translate")("Compensation"),id:"compensation",component:Kq,entries:[...jG({element:e})]};return n.entries.length?n:null}function oX(e,t){const n=t.get("translate"),i=[...XG({element:e})];return{id:"documentation",label:n("Documentation"),entries:i,component:Kq}}function rX(e,t){const n={id:"error",label:t.get("translate")("Error"),component:Kq,entries:[...aQ({element:e})]};return n.entries.length?n:null}function sX(e,t){const n={id:"message",label:t.get("translate")("Message"),component:Kq,entries:[...OQ({element:e})]};return n.entries.length?n:null}function aX(e,t){const n={id:"signal",label:t.get("translate")("Signal"),component:Kq,entries:[...VQ({element:e})]};return n.entries.length?n:null}function lX(e,t){const n={label:t.get("translate")("Link"),id:"link",component:Kq,entries:[...EQ({element:e})]};return n.entries.length?n:null}function cX(e,t){const n={id:"escalation",label:t.get("translate")("Escalation"),component:Kq,entries:[...pQ({element:e})]};return n.entries.length?n:null}function uX(e,t){const n={label:t.get("translate")("Timer"),id:"timer",component:Kq,entries:[...KQ({element:e})]};return n.entries.length?n:null}function hX(e,t){const n={label:t.get("translate")("Multi-instance"),id:"multiInstance",component:Kq,entries:[...AQ({element:e})]};return n.entries.length?n:null}class pX{constructor(e,t){e.registerProvider(this),this._injector=t}getGroups(e){return t=>(t=t.concat(function(e,t){return[nX(e,t),oX(e,t),iX(e,t),rX(e,t),lX(e,t),sX(e,t),hX(e,t),aX(e,t),cX(e,t),uX(e,t)].filter((e=>null!==e))}(e,this._injector)),t)}}pX.$inject=["propertiesPanel","injector"];var dX={__init__:["bpmnPropertiesProvider"],bpmnPropertiesProvider:["type",pX]};const fX={getVariablesForElement:e=>(0,sV.Hp)(e)},mX=function(e){return t=>{const n=Dk((()=>{const e=lV("config");return e&&e.propertiesPanel&&e.propertiesPanel.feelTooltipContainer}),[]);return ES(e,{...t,tooltipContainer:n})}}((function(e){const{element:t,id:n,description:i,debounce:o,disabled:r,feel:s,label:a,getValue:l,setValue:c,tooltipContainer:u,hostLanguage:h,singleLine:p,validate:d,show:f=_H,example:m,variables:g,onFocus:v,onBlur:y,placeholder:b,tooltip:w}=e,[x,_]=Ak(null),[E,k]=Ak(null);let S=l(t);Tk((()=>{if(I(d)){const e=d(S)||null;_(e)}}),[S,d]);const C=Yq((e=>{let t=null;I(d)&&(t=d(e)||null),e!==S&&c(e,t),_(t)})),O=Lk((e=>{k(e)}),[]),P=Hq(n)||E||x;return ES("div",{class:SS()(e.class,"bio-properties-panel-entry",P?"has-error":""),"data-entry-id":n,children:[XE(EH,{...e,debounce:o,disabled:r,feel:s,id:n,key:t,label:a,onInput:C,onError:O,onFocus:v,onBlur:y,placeholder:b,example:m,hostLanguage:h,singleLine:p,show:f,value:S,variables:g,tooltipContainer:u,OptionalComponent:e.OptionalComponent,tooltip:w}),P&&ES("div",{class:"bio-properties-panel-error",children:P}),ES(eH,{forId:n,element:t,value:i})]})}));function gX(e,t){if(!window.FileReader)return t();var n=new FileReader;n.onload=function(n){t(null,{name:e.name,path:e.path,contents:n.target.result})},n.onerror=function(e){t(e.target.error)},n.readAsText(e)}function vX(e){e.preventDefault()}function yX(e,t){if(!window.FileReader)return t();var n=new FileReader;n.onload=function(n){t(null,{name:e.name,path:e.path,contents:n.target.result})},n.onerror=function(e){t(e.target.error)},n.readAsText(e)}var bX=n(140),wX=n.n(bX);const xX='\n\n \n \n SequenceFlow_0t9dyy4\n SequenceFlow_1ge46mh\n \n SequenceFlow_10d6h3a\n SequenceFlow_1dzm18n\n \n \n SequenceFlow_1bpznq3\n SequenceFlow_10d6h3a\n SequenceFlow_0rz4mzx\n \n \n SequenceFlow_0rz4mzx\n SequenceFlow_1pol4sw\n \n \n SequenceFlow_0cx35wm\n SequenceFlow_05m0kip\n \n \n SequenceFlow_1dzm18n\n SequenceFlow_1pol4sw\n SequenceFlow_0cx35wm\n \n \n \n \n \n \n \n SequenceFlow_1bpznq3\n \n \n \n SequenceFlow_05m0kip\n \n \n \n \n \n SequenceFlow_1xib75z\n \n \n \n \n SequenceFlow_1ge46mh\n SequenceFlow_1yu5yeq\n \n \n \n SequenceFlow_1yu5yeq\n SequenceFlow_0zjbpms\n SequenceFlow_0zxk9aa\n SequenceFlow_1udgk24\n \n \n \n \n SequenceFlow_1udgk24\n SequenceFlow_0ftjyrx\n SequenceFlow_1vsv7r8\n SequenceFlow_0jd8d0i\n \n \n SequenceFlow_0ftjyrx\n SequenceFlow_0rkllvh\n \n \n \n \n SequenceFlow_1vsv7r8\n SequenceFlow_0zdc0ci\n \n \n \n \n SequenceFlow_0jd8d0i\n SequenceFlow_10by6md\n \n \n \n \n SequenceFlow_0zdc0ci\n SequenceFlow_10by6md\n SequenceFlow_1p7rbgq\n \n \n \n \n SequenceFlow_1p7rbgq\n SequenceFlow_0lmdz0d\n \n \n \n \n \n SequenceFlow_1xib75z\n SequenceFlow_130hgg8\n \n \n SequenceFlow_1qdqk69\n SequenceFlow_0t9dyy4\n \n \n SequenceFlow_1364l2a\n SequenceFlow_1qdqk69\n SequenceFlow_091wldx\n \n \n \n \n SequenceFlow_091wldx\n SequenceFlow_0zjbpms\n \n SequenceFlow_17nxcr4\n \n \n SequenceFlow_17nxcr4\n SequenceFlow_10zdsna\n \n \n \n \n SequenceFlow_10zdsna\n SequenceFlow_0z16g3i\n \n \n \n SequenceFlow_0z16g3i\n \n \n \n \n \n \n SequenceFlow_130hgg8\n SequenceFlow_0rkllvh\n SequenceFlow_1364l2a\n \n \n SequenceFlow_0lmdz0d\n \n \n \n \n \n SequenceFlow_0zxk9aa\n \n \n \n SequenceFlow_0rgmhwk\n \n \n \n SequenceFlow_0j9ajgx\n \n \n \n SequenceFlow_0rgmhwk\n SequenceFlow_0j9ajgx\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n',_X=new URL(window.location.href),EX=_X.searchParams.has("p"),kX=_X.searchParams.has("e"),SX=_X.searchParams.has("pm");let CX="diagram.bpmn";const OX=(()=>{try{return EX&&localStorage["diagram-xml"]||xX}catch(e){return xX}})();function PX(){document.querySelector(".drop-message").style.display="none"}EX&&PX();const MX=new TE({container:"#canvas",additionalModules:[CG,dX,wo,RE,{__init__:[["eventBus","bpmnjs","toggleMode",function(e,t,n){EX&&e.on("commandStack.changed",(function(){t.saveXML().then((e=>{localStorage["diagram-xml"]=e.xml}))})),"history"in window&&e.on("tokenSimulation.toggleMode",(e=>{document.body.classList.toggle("token-simulation-active",e.active),e.active?_X.searchParams.set("e","1"):_X.searchParams.delete("e"),history.replaceState({},document.title,_X.toString())})),e.on("diagram.init",500,(()=>{n.toggleMode(kX)}))}]]}],propertiesPanel:{parent:"#properties-panel"},exporter:{name:"bpmn-js-token-simulation",version:"0.36.0"}});function AX(e){return MX.importXML(e).then((({warnings:t})=>{t.length&&console.warn(t),EX&&(localStorage["diagram-xml"]=e),MX.get("canvas").zoom("fit-viewport")})).catch((e=>{console.error(e)}))}function TX(e){e.length&&(PX(),CX=e[0].name,AX(e[0].contents))}function BX(){MX.saveXML({format:!0}).then((({xml:e})=>{wX()(e,CX,"application/xml")}))}SX&&document.body.classList.add("presentation-mode"),document.body.addEventListener("dragover",function(e,t){var n,i,o;function r(e){var o,r,s,a,l;e.preventDefault(),o=e.dataTransfer.files,r=gX,s=function(o,r){if(o)console.warn("file drop failed",o);else{var s=i.concat([r,e]);t.apply(n,s)}},a=0,l=[],function e(){a===o.length?s(null,l):r(o[a],(function(t,n){if(t)return s(t);l[a]=n,a++,e()}))}()}function s(){var t,s=(t=arguments,Array.prototype.slice.call(t)),a=s.pop(),l=a.dataTransfer,c=a.currentTarget||a.target;function u(e){var t=e.relatedTarget;c.contains(t)||h()}function h(e){document.removeEventListener("drop",r),document.removeEventListener("drop",h),document.removeEventListener("dragleave",u),document.removeEventListener("dragend",h),document.removeEventListener("dragover",vX),o&&(c.removeChild(o),o=null)}(function(e){if(!e||!e.items.length)return!1;for(var t=!1,n=0;n{t=e,n=i})),o=document.createElement("input");e.multiple&&o.setAttribute("multiple",""),e.accept&&o.setAttribute("accept",e.accept),o.setAttribute("type","file"),o.style.display="none",o.addEventListener("change",(function(){var e,i,r,s,a;e=o.files,i=yX,r=function(e,i){console.log(i),e?n(e):t(i),o.remove()},s=0,a=[],function t(){s===e.length?r(null,a):i(e[s],(function(e,n){if(e)return r(e);a[s]=n,s++,t()}))}()})),document.body.appendChild(o);const r=document.createEvent("MouseEvent");return r.initMouseEvent("click",!1,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null),o.dispatchEvent(r),i}().then(TX))})),document.querySelector("#download-button").addEventListener("click",(function(e){BX()}));const RX=document.querySelector("#properties-panel"),DX=document.querySelector("#properties-panel-resizer");let LX,NX;function zX(e){e?_X.searchParams.set("pp","1"):_X.searchParams.delete("pp"),history.replaceState({},document.title,_X.toString()),RX.classList.toggle("open",e)}DX.addEventListener("click",(function(e){zX(!RX.classList.contains("open"))})),DX.addEventListener("dragstart",(function(e){const t=new Image;t.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",e.dataTransfer.setDragImage(t,1,1),LX=e.screenX,NX=RX.getBoundingClientRect().width})),DX.addEventListener("drag",(function(e){if(!e.screenX)return;const t=e.screenX-LX,n=NX-t,i=n>200;RX.style.width=i?`${n}px`:null,zX(i)}));const IX=_X.searchParams.get("diagram");IX?fetch(IX).then((e=>{if(e.ok)return e.text();throw new Error(`Status ${e.status}`)})).then((e=>AX(e))).catch((e=>{!function(e,t){const n=document.querySelector(".drop-message");n.textContent=t,n.className="drop-message error",n.style.display="block"}(0,`Failed to open remote diagram: ${e.message}`),AX(OX)})):AX(OX),zX(_X.searchParams.has("pp"))})()})(); +//# sourceMappingURL=modeler.js.map \ No newline at end of file diff --git a/dist/modeler.js.LICENSE.txt b/dist/modeler.js.LICENSE.txt new file mode 100644 index 00000000..91f8cafc --- /dev/null +++ b/dist/modeler.js.LICENSE.txt @@ -0,0 +1,15 @@ +/*! + Copyright (c) 2018 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ + +/*! +* focus-trap 7.5.4 +* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE +*/ + +/*! +* tabbable 6.2.0 +* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE +*/ diff --git a/dist/modeler.js.map b/dist/modeler.js.map new file mode 100644 index 00000000..05430159 --- /dev/null +++ b/dist/modeler.js.map @@ -0,0 +1 @@ +{"version":3,"file":"dist/modeler.js","mappings":"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,CACC33F,KAAM,oCACN23F,YAAa,u6BAEd,CACC33F,KAAM,0BACN23F,YAAa,yyBAEd,CACC33F,KAAM,eACN23F,YAAa,6WAEd,CACC33F,KAAM,eACN23F,YAAa,oSAEd,CACC33F,KAAM,mBACN23F,YAAa,i/BAEd,CACC33F,KAAM,aACN23F,YAAa,ilBAEd,CACC33F,KAAM,yBACN23F,YAAa,+UAEd,CACC33F,KAAM,aACN23F,YAAa,2kBAEd,CACC33F,KAAM,6BACN23F,YAAa,8UAEd,CACC33F,KAAM,qCACN23F,YAAa,6aAEd,CACC33F,KAAM,sBACN23F,YAAa,uXAEd,CACC33F,KAAM,4BACN23F,YAAa,8xBAEd,CACC33F,KAAM,gCACN23F,YAAa,wxBAEd,CACC33F,KAAM,iBACN23F,YAAa,4jBAEd,CACC33F,KAAM,sCACN23F,YAAa,kdAEd,CACC33F,KAAM,+BACN23F,YAAa,yXAEd,CACC33F,KAAM,cACN23F,YAAa,6RAEd,CACC33F,KAAM,YACN23F,YAAa,odAEd,CACC33F,KAAM,YACN23F,YAAa,odAEd,CACC33F,KAAM,YACN23F,YAAa,qZAEd,CACC33F,KAAM,gBACN23F,YAAa,2aAEd,CACC33F,KAAM,aACN23F,YAAa,mbAEd,CACC33F,KAAM,eACN23F,YAAa,wbAEd,CACC33F,KAAM,eACN23F,YAAa,ydAEd,CACC33F,KAAM,aACN23F,YAAa,gbAEd,CACC33F,KAAM,YACN23F,YAAa,yuBAEd,CACC33F,KAAM,YACN23F,YAAa,suBAEd,CACC33F,KAAM,gCACN23F,YAAa,idAEd,CACC33F,KAAM,wCACN23F,YAAa,oeAEd,CACC33F,KAAM,sBACN23F,YAAa,wZAEd,CACC33F,KAAM,qBACN23F,YAAa,qaAEd,CACC33F,KAAM,yCACN23F,YAAa,ieAEd,CACC33F,KAAM,yBACN23F,YAAa,qbAEd,CACC33F,KAAM,gBACN23F,YAAa,4RAEd,CACC33F,KAAM,wBACN23F,YAAa,uVAEd,CACC33F,KAAM,cACN23F,YAAa,oYAEd,CACC33F,KAAM,wBACN23F,YAAa,kTAEd,CACC33F,KAAM,yBACN23F,YAAa,0VAEd,CACC33F,KAAM,gBACN23F,YAAa,gVAEd,CACC33F,KAAM,uBACN23F,YAAa,sZAEd,CACC33F,KAAM,oBACN23F,YAAa,84BAEd,CACC33F,KAAM,+BACN23F,YAAa,i+BAEd,CACC33F,KAAM,+CACN23F,YAAa,wkCAEd,CACC33F,KAAM,oBACN23F,YAAa,kUAEd,CACC33F,KAAM,WACN23F,YAAa,gTAEd,CACC33F,KAAM,kBACN23F,YAAa,oUAEd,CACC33F,KAAM,aACN23F,YAAa,qTAEd,CACC33F,KAAM,oBACN23F,YAAa,uUAEd,CACC33F,KAAM,qBACN23F,YAAa,+ZAEd,CACC33F,KAAM,uBACN23F,YAAa,obAEd,CACC33F,KAAM,0BACN23F,YAAa,mcAEd,CACC33F,KAAM,4BACN23F,YAAa,mdAEd,CACC33F,KAAM,cACN23F,YAAa,iTAEd,CACC33F,KAAM,4BACN23F,YAAa,gUAEd,CACC33F,KAAM,eACN23F,YAAa,oRAEd,CACC33F,KAAM,cACN23F,YAAa,iTAEd,CACC33F,KAAM,cACN23F,YAAa,4TAEd,CACC33F,KAAM,cACN23F,YAAa,yVAEd,CACC33F,KAAM,eACN23F,YAAa,uVAEd,CACC33F,KAAM,kBACN23F,YAAa,iWAEd,CACC33F,KAAM,yBACN23F,YAAa,gRAEd,CACC33F,KAAM,uBACN23F,YAAa,0PAEd,CACC33F,KAAM,uBACN23F,YAAa,yPAEd,CACC33F,KAAM,yBACN23F,YAAa,sSAEd,CACC33F,KAAM,wBACN23F,YAAa,6QAEd,CACC33F,KAAM,sBACN23F,YAAa,yPAEd,CACC33F,KAAM,sBACN23F,YAAa,wPAEd,CACC33F,KAAM,wBACN23F,YAAa,oSAEd,CACC33F,KAAM,wBACN23F,YAAa,yWAEd,CACC33F,KAAM,yBACN23F,YAAa,mZAEd,CACC33F,KAAM,2BACN23F,YAAa,8ZAEd,CACC33F,KAAM,kCACN23F,YAAa,ycAEd,CACC33F,KAAM,iCACN23F,YAAa,mcAEd,CACC33F,KAAM,yBACN23F,YAAa,+RAEd,CACC33F,KAAM,2BACN23F,YAAa,oVAEd,CACC33F,KAAM,4BACN23F,YAAa,ySAEd,CACC33F,KAAM,8BACN23F,YAAa,gWAEd,CACC33F,KAAM,yBACN23F,YAAa,+RAEd,CACC33F,KAAM,2BACN23F,YAAa,mVAEd,CACC33F,KAAM,uBACN23F,YAAa,2TAEd,CACC33F,KAAM,yBACN23F,YAAa,uSAEd,CACC33F,KAAM,uBACN23F,YAAa,wRAEd,CACC33F,KAAM,yBACN23F,YAAa,4UAEd,CACC33F,KAAM,2BACN23F,YAAa,sSAEd,CACC33F,KAAM,6BACN23F,YAAa,6VAEd,CACC33F,KAAM,4BACN23F,YAAa,uRAEd,CACC33F,KAAM,4BACN23F,YAAa,sVAEd,CACC33F,KAAM,oCACN23F,YAAa,8eAEd,CACC33F,KAAM,4CACN23F,YAAa,ggBAEd,CACC33F,KAAM,wBACN23F,YAAa,4TAEd,CACC33F,KAAM,qBACN23F,YAAa,4UAEd,CACC33F,KAAM,qBACN23F,YAAa,4UAEd,CACC33F,KAAM,kCACN23F,YAAa,6ZAEd,CACC33F,KAAM,iCACN23F,YAAa,wZAEd,CACC33F,KAAM,0BACN23F,YAAa,maAEd,CACC33F,KAAM,6BACN23F,YAAa,2aAEd,CACC33F,KAAM,2BACN23F,YAAa,oaAEd,CACC33F,KAAM,0BACN23F,YAAa,8eAEd,CACC33F,KAAM,iCACN23F,YAAa,kwBAEd,CACC33F,KAAM,uCACN23F,YAAa,41BAEd,CACC33F,KAAM,8CACN23F,YAAa,w/BAEd,CACC33F,KAAM,2BACN23F,YAAa,kpBAEd,CACC33F,KAAM,2BACN23F,YAAa,ilBAEd,CACC33F,KAAM,QACN23F,YAAa,kVAEd,CACC33F,KAAM,UACN23F,YAAa,6QAEd,CACC33F,KAAM,oBACN23F,YAAa,ykBAEd,CACC33F,KAAM,oBACN23F,YAAa,weAEd,CACC33F,KAAM,qBACN23F,YAAa,kgBAEd,CACC33F,KAAM,sBACN23F,YAAa,ylBAEd,CACC3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","sources":["webpack://bpmn-js-token-simulation/./node_modules/@bpmn-io/extract-process-variables/dist/index.js","webpack://bpmn-js-token-simulation/./node_modules/@bpmn-io/extract-process-variables/zeebe/index.js","webpack://bpmn-js-token-simulation/./node_modules/classnames/index.js","webpack://bpmn-js-token-simulation/./node_modules/downloadjs/download.js","webpack://bpmn-js-token-simulation/./node_modules/randomcolor/randomColor.js","webpack://bpmn-js-token-simulation/./node_modules/min-dash/dist/index.cjs","webpack://bpmn-js-token-simulation/webpack/bootstrap","webpack://bpmn-js-token-simulation/webpack/runtime/compat get default export","webpack://bpmn-js-token-simulation/webpack/runtime/define property getters","webpack://bpmn-js-token-simulation/webpack/runtime/hasOwnProperty shorthand","webpack://bpmn-js-token-simulation/webpack/runtime/node module decorator","webpack://bpmn-js-token-simulation/./node_modules/ids/dist/index.esm.js","webpack://bpmn-js-token-simulation/./lib/simulator/ScopeTraits.js","webpack://bpmn-js-token-simulation/./lib/simulator/ScopeStates.js","webpack://bpmn-js-token-simulation/./lib/simulator/Scope.js","webpack://bpmn-js-token-simulation/./lib/simulator/util/SetUtil.js","webpack://bpmn-js-token-simulation/./lib/simulator/util/EventsUtil.js","webpack://bpmn-js-token-simulation/./node_modules/min-dash/dist/index.esm.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/util/ModelUtil.js","webpack://bpmn-js-token-simulation/./lib/simulator/util/ModelUtil.js","webpack://bpmn-js-token-simulation/./lib/simulator/Simulator.js","webpack://bpmn-js-token-simulation/./lib/simulator/behaviors/StartEventBehavior.js","webpack://bpmn-js-token-simulation/./lib/simulator/behaviors/EndEventBehavior.js","webpack://bpmn-js-token-simulation/./lib/simulator/behaviors/BoundaryEventBehavior.js","webpack://bpmn-js-token-simulation/./lib/simulator/behaviors/IntermediateCatchEventBehavior.js","webpack://bpmn-js-token-simulation/./lib/simulator/behaviors/IntermediateThrowEventBehavior.js","webpack://bpmn-js-token-simulation/./lib/simulator/behaviors/ExclusiveGatewayBehavior.js","webpack://bpmn-js-token-simulation/./lib/simulator/behaviors/ParallelGatewayBehavior.js","webpack://bpmn-js-token-simulation/./lib/simulator/behaviors/EventBasedGatewayBehavior.js","webpack://bpmn-js-token-simulation/./lib/simulator/behaviors/InclusiveGatewayBehavior.js","webpack://bpmn-js-token-simulation/./lib/simulator/behaviors/ActivityBehavior.js","webpack://bpmn-js-token-simulation/./lib/simulator/behaviors/SubProcessBehavior.js","webpack://bpmn-js-token-simulation/./lib/simulator/behaviors/TransactionBehavior.js","webpack://bpmn-js-token-simulation/./lib/simulator/behaviors/SequenceFlowBehavior.js","webpack://bpmn-js-token-simulation/./lib/simulator/behaviors/MessageFlowBehavior.js","webpack://bpmn-js-token-simulation/./lib/util/ElementHelper.js","webpack://bpmn-js-token-simulation/./lib/simulator/behaviors/EventBehaviors.js","webpack://bpmn-js-token-simulation/./lib/simulator/behaviors/ScopeBehavior.js","webpack://bpmn-js-token-simulation/./lib/simulator/behaviors/ProcessBehavior.js","webpack://bpmn-js-token-simulation/./lib/simulator/behaviors/index.js","webpack://bpmn-js-token-simulation/./lib/simulator/index.js","webpack://bpmn-js-token-simulation/./node_modules/inherits-browser/dist/index.es.js","webpack://bpmn-js-token-simulation/./lib/animation/behaviors/AnimatedMessageFlowBehavior.js","webpack://bpmn-js-token-simulation/./lib/animation/behaviors/AnimatedSequenceFlowBehavior.js","webpack://bpmn-js-token-simulation/./lib/animation/behaviors/index.js","webpack://bpmn-js-token-simulation/./lib/util/EventHelper.js","webpack://bpmn-js-token-simulation/./lib/features/scope-filter/ScopeFilter.js","webpack://bpmn-js-token-simulation/./lib/features/scope-filter/index.js","webpack://bpmn-js-token-simulation/./node_modules/min-dom/dist/index.esm.js","webpack://bpmn-js-token-simulation/./node_modules/tiny-svg/dist/index.esm.js","webpack://bpmn-js-token-simulation/./lib/animation/Animation.js","webpack://bpmn-js-token-simulation/./lib/animation/index.js","webpack://bpmn-js-token-simulation/./lib/features/colored-scopes/ColoredScopes.js","webpack://bpmn-js-token-simulation/./lib/features/colored-scopes/index.js","webpack://bpmn-js-token-simulation/./lib/icons/index.js","webpack://bpmn-js-token-simulation/./lib/features/context-pads/handler/ExclusiveGatewayHandler.js","webpack://bpmn-js-token-simulation/./lib/features/context-pads/handler/InclusiveGatewayHandler.js","webpack://bpmn-js-token-simulation/./lib/features/context-pads/handler/PauseHandler.js","webpack://bpmn-js-token-simulation/./lib/features/context-pads/handler/TriggerHandler.js","webpack://bpmn-js-token-simulation/./lib/features/context-pads/ContextPads.js","webpack://bpmn-js-token-simulation/./lib/features/context-pads/index.js","webpack://bpmn-js-token-simulation/./lib/features/simulation-state/SimulationState.js","webpack://bpmn-js-token-simulation/./lib/features/element-notifications/ElementNotifications.js","webpack://bpmn-js-token-simulation/./lib/features/element-notifications/index.js","webpack://bpmn-js-token-simulation/./lib/features/notifications/Notifications.js","webpack://bpmn-js-token-simulation/./lib/features/notifications/index.js","webpack://bpmn-js-token-simulation/./lib/features/simulation-state/index.js","webpack://bpmn-js-token-simulation/./lib/features/show-scopes/ShowScopes.js","webpack://bpmn-js-token-simulation/./lib/features/simulation-styles/SimulationStyles.js","webpack://bpmn-js-token-simulation/./lib/features/simulation-styles/index.js","webpack://bpmn-js-token-simulation/./lib/features/show-scopes/index.js","webpack://bpmn-js-token-simulation/./node_modules/diagram-js/lib/util/EscapeUtil.js","webpack://bpmn-js-token-simulation/./lib/features/log/Log.js","webpack://bpmn-js-token-simulation/./lib/features/log/index.js","webpack://bpmn-js-token-simulation/./lib/features/element-support/ElementSupport.js","webpack://bpmn-js-token-simulation/./lib/features/element-support/index.js","webpack://bpmn-js-token-simulation/./lib/features/pause-simulation/PauseSimulation.js","webpack://bpmn-js-token-simulation/./lib/features/pause-simulation/index.js","webpack://bpmn-js-token-simulation/./lib/features/reset-simulation/ResetSimulation.js","webpack://bpmn-js-token-simulation/./lib/features/reset-simulation/index.js","webpack://bpmn-js-token-simulation/./lib/features/token-count/TokenCount.js","webpack://bpmn-js-token-simulation/./lib/features/token-count/index.js","webpack://bpmn-js-token-simulation/./lib/features/set-animation-speed/SetAnimationSpeed.js","webpack://bpmn-js-token-simulation/./lib/features/set-animation-speed/index.js","webpack://bpmn-js-token-simulation/./lib/features/exclusive-gateway-settings/ExclusiveGatewaySettings.js","webpack://bpmn-js-token-simulation/./lib/features/element-colors/ElementColors.js","webpack://bpmn-js-token-simulation/./lib/features/element-colors/index.js","webpack://bpmn-js-token-simulation/./lib/features/exclusive-gateway-settings/index.js","webpack://bpmn-js-token-simulation/./lib/features/neutral-element-colors/NeutralElementColors.js","webpack://bpmn-js-token-simulation/./lib/features/neutral-element-colors/index.js","webpack://bpmn-js-token-simulation/./lib/features/inclusive-gateway-settings/InclusiveGatewaySettings.js","webpack://bpmn-js-token-simulation/./lib/features/inclusive-gateway-settings/index.js","webpack://bpmn-js-token-simulation/./lib/features/palette/Palette.js","webpack://bpmn-js-token-simulation/./lib/features/palette/index.js","webpack://bpmn-js-token-simulation/./lib/base.js","webpack://bpmn-js-token-simulation/./lib/features/disable-modeling/DisableModeling.js","webpack://bpmn-js-token-simulation/./lib/features/disable-modeling/index.js","webpack://bpmn-js-token-simulation/./lib/features/toggle-mode/modeler/ToggleMode.js","webpack://bpmn-js-token-simulation/./lib/features/toggle-mode/modeler/index.js","webpack://bpmn-js-token-simulation/./lib/features/editor-actions/EditorActions.js","webpack://bpmn-js-token-simulation/./lib/features/editor-actions/index.js","webpack://bpmn-js-token-simulation/./lib/features/keyboard-bindings/KeyboardBindings.js","webpack://bpmn-js-token-simulation/./lib/features/keyboard-bindings/index.js","webpack://bpmn-js-token-simulation/./lib/modeler.js","webpack://bpmn-js-token-simulation/./node_modules/didi/dist/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/draw/BaseRenderer.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/util/RenderUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/util/Elements.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/draw/DefaultRenderer.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/draw/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/draw/Styles.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/util/Collections.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/util/Geometry.js","webpack://bpmn-js-token-simulation/./node_modules/path-intersection/intersect.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/util/ModelUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/layout/LayoutUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/core/Canvas.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/core/ElementRegistry.js","webpack://bpmn-js-token-simulation/./node_modules/object-refs/dist/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/model/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/core/ElementFactory.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/core/EventBus.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/util/GraphicsUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/util/SvgTransformUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/core/GraphicsFactory.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/core/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/Diagram.js","webpack://bpmn-js-token-simulation/./node_modules/moddle/dist/index.esm.js","webpack://bpmn-js-token-simulation/./node_modules/saxen/dist/index.esm.js","webpack://bpmn-js-token-simulation/./node_modules/moddle-xml/dist/index.esm.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-moddle/dist/index.esm.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/import/Util.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/util/CompatibilityUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/import/BpmnTreeWalker.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/import/Importer.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/util/PoweredByUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/BaseViewer.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/BaseModeler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/util/DiUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/util/LabelUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/draw/BpmnRenderUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/draw/BpmnRenderer.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/util/Text.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/draw/TextRenderer.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/draw/PathMap.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/draw/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/i18n/translate/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/i18n/translate/translate.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/import/BpmnImporter.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/import/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/core/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/util/IdGenerator.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/overlays/Overlays.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/overlays/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/change-support/ChangeSupport.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/change-support/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/command/CommandInterceptor.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/root-elements/RootElementsBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/root-elements/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/util/EscapeUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/util/DrilldownUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/drilldown/DrilldownBreadcrumbs.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/drilldown/DrilldownCentering.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/drilldown/SubprocessCompatibility.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/drilldown/DrilldownOverlayBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/drilldown/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/outline/Outline.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/outline/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/outline/OutlineUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/outline/OutlineProvider.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/outline/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/util/Event.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/util/Platform.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/util/Mouse.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/interaction-events/InteractionEvents.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/interaction-events/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/selection/Selection.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/selection/SelectionVisuals.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/selection/SelectionBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/selection/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/Viewer.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/keyboard/KeyboardUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/keyboard/Keyboard.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/keyboard/KeyboardBindings.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/keyboard/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/navigation/keyboard-move/KeyboardMove.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/navigation/keyboard-move/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/util/Cursor.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/util/ClickTrap.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/util/PositionUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/navigation/movecanvas/MoveCanvas.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/navigation/movecanvas/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/util/Math.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/navigation/zoomscroll/ZoomUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/navigation/zoomscroll/ZoomScroll.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/navigation/zoomscroll/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/NavigatedViewer.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/align-elements/AlignElements.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/align-elements/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/scheduler/Scheduler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/scheduler/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/context-pad/ContextPad.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/context-pad/index.js","webpack://bpmn-js-token-simulation/./node_modules/preact/dist/preact.module.js","webpack://bpmn-js-token-simulation/./node_modules/htm/dist/htm.module.js","webpack://bpmn-js-token-simulation/./node_modules/preact/hooks/dist/hooks.module.js","webpack://bpmn-js-token-simulation/./node_modules/htm/preact/index.module.js","webpack://bpmn-js-token-simulation/./node_modules/clsx/dist/clsx.mjs","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/popup-menu/PopupMenuHeader.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/popup-menu/PopupMenuItem.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/popup-menu/PopupMenuList.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/popup-menu/PopupMenuComponent.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/popup-menu/PopupMenu.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/popup-menu/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/align-elements/AlignElementsIcons.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/align-elements/AlignElementsContextPadProvider.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/align-elements/AlignElementsMenuProvider.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/rules/RuleProvider.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/align-elements/BpmnAlignElements.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/align-elements/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/auto-place/AutoPlaceUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/auto-place/AutoPlace.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/auto-place/AutoPlaceSelectionBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/auto-place/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/util/ModelingUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/auto-place/BpmnAutoPlaceUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/auto-place/BpmnAutoPlace.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/auto-place/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/auto-resize/AutoResize.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/auto-resize/BpmnAutoResize.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/auto-resize/AutoResizeProvider.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/auto-resize/BpmnAutoResizeProvider.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/auto-resize/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/hover-fix/HoverFix.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/hover-fix/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/dragging/Dragging.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/dragging/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/auto-scroll/AutoScroll.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/auto-scroll/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/rules/Rules.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/rules/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/util/LineIntersection.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/bendpoints/GeometricUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/bendpoints/BendpointUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/bendpoints/Bendpoints.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/bendpoints/BendpointMove.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/bendpoints/BendpointMovePreview.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/bendpoints/ConnectionSegmentMove.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/snapping/SnapUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/bendpoints/BendpointSnapping.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/bendpoints/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/connect/Connect.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/connect/ConnectPreview.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/connect/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/connection-preview/ConnectionPreview.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/connection-preview/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/preview-support/PreviewSupport.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/preview-support/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/complex-preview/ComplexPreview.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/complex-preview/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/AdaptiveLabelPositioningBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/AppendBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/AssociationBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/AttachEventBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/BoundaryEventBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/CompensateBoundaryEventBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/CreateBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/CreateDataObjectBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/CreateParticipantBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/DataInputAssociationBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/cmd/UpdateSemanticParentHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/DataStoreBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/resize/ResizeUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/util/LaneUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/DeleteLaneBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/DetachEventBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/DropOnFlowBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/EventBasedGatewayBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/FixHoverBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/GroupBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/util/CategoryUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/util/LineIntersect.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/ImportDockingFix.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/IsHorizontalFix.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/util/LineAttachmentUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/util/LayoutUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/util/AttachUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/LabelBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/util/LabelLayoutUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/LayoutConnectionBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/util/ConnectionLayoutUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/modeling/cmd/helper/AnchorsHelper.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/MessageFlowBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/util/NonInterruptingUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/NonInterruptingBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/RemoveEmbeddedLabelBoundsBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/RemoveElementBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/RemoveParticipantBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/ReplaceConnectionBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/ReplaceElementBehaviour.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/ResizeBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/ResizeLaneBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/RootElementReferenceBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/SpaceToolBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/SubProcessPlaneBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/SubProcessStartEventBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/TextAnnotationBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/ToggleCollapseConnectionBehaviour.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/ToggleElementCollapseBehaviour.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/UnclaimIdBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/UnsetDefaultFlowBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/UpdateFlowNodeRefsBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/SetCompensationActivityAfterPasteBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/behavior/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/snapping/BpmnSnappingUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/rules/BpmnRules.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/rules/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/di-ordering/BpmnDiOrdering.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/di-ordering/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/ordering/OrderingProvider.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/ordering/BpmnOrderingProvider.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/ordering/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/clipboard/Clipboard.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/clipboard/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/create/Create.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/create/CreatePreview.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/create/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/mouse/Mouse.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/mouse/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/copy-paste/CopyPaste.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/copy-paste/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/copy-paste/BpmnCopyPaste.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/copy-paste/ModdleCopy.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/copy-paste/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/replace/Replace.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/replace/ReplaceSelectionBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/replace/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/replace/BpmnReplace.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/replace/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/tool-manager/ToolManager.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/tool-manager/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/space-tool/SpaceUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/space-tool/SpaceTool.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/space-tool/SpaceToolPreview.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/space-tool/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/space-tool/BpmnSpaceTool.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/space-tool/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/command/CommandStack.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/command/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/util/Removal.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/label-support/LabelSupport.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/label-support/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/attach-support/AttachSupport.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/attach-support/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/BpmnFactory.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/BpmnUpdater.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/ElementFactory.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/modeling/cmd/AlignElementsHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/modeling/cmd/AppendShapeHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/modeling/cmd/CreateConnectionHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/modeling/cmd/CreateElementsHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/modeling/cmd/CreateShapeHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/modeling/cmd/CreateLabelHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/modeling/cmd/DeleteConnectionHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/modeling/cmd/DeleteElementsHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/modeling/cmd/DeleteShapeHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/modeling/cmd/DistributeElementsHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/modeling/cmd/LayoutConnectionHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/modeling/cmd/MoveConnectionHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/modeling/cmd/helper/MoveClosure.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/modeling/cmd/helper/MoveHelper.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/modeling/cmd/MoveElementsHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/modeling/cmd/MoveShapeHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/modeling/cmd/ReconnectConnectionHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/modeling/cmd/ReplaceShapeHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/modeling/cmd/ResizeShapeHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/modeling/cmd/SpaceToolHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/modeling/cmd/ToggleShapeCollapseHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/modeling/cmd/UpdateAttachmentHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/modeling/cmd/UpdateWaypointsHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/modeling/Modeling.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/cmd/UpdateModdlePropertiesHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/cmd/UpdatePropertiesHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/cmd/UpdateCanvasRootHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/cmd/AddLaneHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/cmd/SplitLaneHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/cmd/ResizeLaneHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/cmd/UpdateFlowNodeRefsHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/cmd/IdClaimHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/cmd/SetColorHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/label-editing/cmd/UpdateLabelHandler.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/Modeling.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/layout/BaseLayouter.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/layout/ManhattanLayout.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/BpmnLayouter.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/layout/CroppingConnectionDocking.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/append-preview/AppendPreview.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/append-preview/index.js","webpack://bpmn-js-token-simulation/./node_modules/diagram-js/lib/util/Mouse.js","webpack://bpmn-js-token-simulation/./node_modules/diagram-js/lib/util/Event.js","webpack://bpmn-js-token-simulation/./node_modules/diagram-js/lib/util/RenderUtil.js","webpack://bpmn-js-token-simulation/./node_modules/diagram-js/lib/features/interaction-events/InteractionEvents.js","webpack://bpmn-js-token-simulation/./node_modules/diagram-js/lib/features/interaction-events/index.js","webpack://bpmn-js-token-simulation/./node_modules/diagram-js-direct-editing/lib/TextBox.js","webpack://bpmn-js-token-simulation/./node_modules/diagram-js-direct-editing/lib/DirectEditing.js","webpack://bpmn-js-token-simulation/./node_modules/diagram-js-direct-editing/lib/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/popup-menu/util/TypeUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/replace/ReplaceOptions.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/popup-menu/util/Icons.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/popup-menu/ReplaceMenuProvider.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/popup-menu/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/context-pad/ContextPadProvider.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/context-pad/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/distribute-elements/DistributeElements.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/distribute-elements/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/distribute-elements/BpmnDistributeElements.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/distribute-elements/DistributeElementsIcons.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/distribute-elements/DistributeElementsMenuProvider.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/distribute-elements/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/editor-actions/EditorActions.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/editor-actions/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/editor-actions/BpmnEditorActions.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/editor-actions/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/grid-snapping/BpmnGridSnapping.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/grid-snapping/GridUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/grid-snapping/GridSnapping.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/grid-snapping/behavior/ResizeBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/grid-snapping/behavior/SpaceToolBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/grid-snapping/behavior/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/grid-snapping/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/grid-snapping/behavior/GridSnappingAutoPlaceBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/grid-snapping/behavior/GridSnappingParticipantBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/grid-snapping/behavior/GridSnappingLayoutConnectionBehavior.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/grid-snapping/behavior/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/grid-snapping/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/interaction-events/BpmnInteractionEvents.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/interaction-events/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/keyboard/BpmnKeyboardBindings.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/keyboard/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/keyboard-move-selection/KeyboardMoveSelection.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/keyboard-move-selection/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/resize/Resize.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/resize/ResizePreview.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/resize/ResizeHandles.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/resize/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/label-editing/LabelEditingProvider.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/label-editing/LabelEditingPreview.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/label-editing/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/tooltips/Tooltips.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/tooltips/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling-feedback/ModelingFeedback.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/modeling-feedback/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/move/Move.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/move/MovePreview.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/move/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/palette/Palette.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/palette/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/lasso-tool/LassoTool.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/lasso-tool/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/hand-tool/HandTool.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/hand-tool/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/global-connect/GlobalConnect.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/global-connect/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/palette/PaletteProvider.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/palette/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/replace-preview/BpmnReplacePreview.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/replace-preview/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/snapping/BpmnConnectSnapping.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/snapping/SnapContext.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/snapping/CreateMoveSnapping.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/snapping/BpmnCreateMoveSnapping.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/snapping/ResizeSnapping.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/snapping/Snapping.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/snapping/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/snapping/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/search-pad/SearchPad.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/node_modules/diagram-js/lib/features/search-pad/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/search/BpmnSearchProvider.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/features/search/index.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js/lib/Modeler.js","webpack://bpmn-js-token-simulation/./node_modules/@bpmn-io/add-exporter/add-exporter.js","webpack://bpmn-js-token-simulation/./node_modules/@bpmn-io/add-exporter/index.js","webpack://bpmn-js-token-simulation/./node_modules/@bpmn-io/properties-panel/preact/dist/preact.module.js","webpack://bpmn-js-token-simulation/./node_modules/@bpmn-io/properties-panel/preact/hooks/dist/hooks.module.js","webpack://bpmn-js-token-simulation/./node_modules/@bpmn-io/properties-panel/preact/compat/dist/compat.module.js","webpack://bpmn-js-token-simulation/./node_modules/@bpmn-io/properties-panel/preact/jsx-runtime/dist/jsxRuntime.module.js","webpack://bpmn-js-token-simulation/./node_modules/@lezer/common/dist/index.js","webpack://bpmn-js-token-simulation/./node_modules/@lezer/lr/dist/index.js","webpack://bpmn-js-token-simulation/./node_modules/@lezer/highlight/dist/index.js","webpack://bpmn-js-token-simulation/./node_modules/@codemirror/state/dist/index.js","webpack://bpmn-js-token-simulation/./node_modules/style-mod/src/style-mod.js","webpack://bpmn-js-token-simulation/./node_modules/w3c-keyname/index.js","webpack://bpmn-js-token-simulation/./node_modules/@codemirror/view/dist/index.js","webpack://bpmn-js-token-simulation/./node_modules/@codemirror/language/dist/index.js","webpack://bpmn-js-token-simulation/./node_modules/@codemirror/autocomplete/dist/index.js","webpack://bpmn-js-token-simulation/./node_modules/@codemirror/commands/dist/index.js","webpack://bpmn-js-token-simulation/./node_modules/crelt/index.js","webpack://bpmn-js-token-simulation/./node_modules/@codemirror/lint/dist/index.js","webpack://bpmn-js-token-simulation/./node_modules/@lezer/markdown/dist/index.js","webpack://bpmn-js-token-simulation/./node_modules/lezer-feel/dist/index.js","webpack://bpmn-js-token-simulation/./node_modules/@bpmn-io/feel-lint/dist/index.esm.js","webpack://bpmn-js-token-simulation/./node_modules/@bpmn-io/cm-theme/dist/index.es.js","webpack://bpmn-js-token-simulation/./node_modules/feelers/dist/index.mjs","webpack://bpmn-js-token-simulation/./node_modules/lang-feel/dist/index.js","webpack://bpmn-js-token-simulation/./node_modules/@bpmn-io/feel-editor/dist/index.es.js","webpack://bpmn-js-token-simulation/./node_modules/tabbable/dist/index.esm.js","webpack://bpmn-js-token-simulation/./node_modules/focus-trap/dist/focus-trap.esm.js","webpack://bpmn-js-token-simulation/./node_modules/@bpmn-io/properties-panel/dist/index.esm.js","webpack://bpmn-js-token-simulation/./node_modules/diagram-js/lib/features/keyboard/KeyboardUtil.js","webpack://bpmn-js-token-simulation/./node_modules/bpmn-js-properties-panel/dist/index.esm.js","webpack://bpmn-js-token-simulation/./node_modules/diagram-js/lib/util/Collections.js","webpack://bpmn-js-token-simulation/./node_modules/file-drops/dist/index.esm.js","webpack://bpmn-js-token-simulation/./node_modules/file-open/index.js","webpack://bpmn-js-token-simulation/./example/src/modeler.js"],"sourcesContent":["'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar minDash = require('min-dash');\n\n/**\n * Get a inputOutput from the business object\n *\n * @param {ModdleElement} element\n *\n * @return {ModdleElement} the inputOutput object\n */\nfunction getInputOutput(element) {\n return (getElements(element, 'camunda:InputOutput') || [])[0];\n}\n\n/**\n * Return all input parameters existing in the business object, and\n * an empty array if none exist.\n *\n * @param {ModdleElement} element\n *\n * @return {Array} a list of input parameter objects\n */\nfunction getInputParameters(element) {\n return getParameters(element, 'inputParameters');\n}\n\n/**\n * Return all output parameters existing in the business object, and\n * an empty array if none exist.\n *\n * @param {ModdleElement} element\n * @param {boolean} insideConnector\n *\n * @return {Array} a list of output parameter objects\n */\nfunction getOutputParameters(element) {\n return getParameters(element, 'outputParameters');\n}\n\n/**\n * Return all form fields existing in the business object, and\n * an empty array if none exist.\n *\n * @param {ModdleElement} element\n *\n * @return {Array} a list of form fields\n */\nfunction getFormFields(element) {\n var formData = getFormData(element);\n return (formData && formData.get('fields')) || [];\n}\n\n/**\n * Return form data existing in the business object\n *\n * @param {ModdleElement} element\n *\n * @return {ModdleElement}\n */\nfunction getFormData(element) {\n return getElements(element, 'camunda:FormData')[0];\n}\n\n/**\n * Return out mappings existing in the business object\n *\n * @param {ModdleElement} element\n *\n * @return {Array}\n */\nfunction getOutMappings(element) {\n return getElements(element, 'camunda:Out');\n}\n\n\n// helpers //////////\n\nfunction getElements(element, type, property) {\n var elements = getExtensionElements(element, type);\n\n return !property ? elements : (elements[0] || {})[property] || [];\n}\n\nfunction getParameters(element, property) {\n var inputOutput = getInputOutput(element);\n\n return (inputOutput && inputOutput.get(property)) || [];\n}\n\nfunction getExtensionElements(element, type) {\n var elements = [];\n var extensionElements = element.get('extensionElements');\n\n if (typeof extensionElements !== 'undefined') {\n var extensionValues = extensionElements.get('values');\n\n if (typeof extensionValues !== 'undefined') {\n elements = minDash.filter(extensionValues, function(value) {\n return is$2(value, type);\n });\n }\n }\n\n return elements;\n}\n\nfunction is$2(element, type) {\n return (\n element &&\n typeof element.$instanceOf === 'function' &&\n element.$instanceOf(type)\n );\n}\n\n/**\n * Get all parent elements for a given element.\n *\n * @param {ModdleElement|string} element\n *\n * @returns {Array}\n */\nfunction getParents(element) {\n var parents = [];\n var current = element;\n\n while (current.$parent) {\n parents.push(current.$parent);\n current = current.$parent;\n }\n\n return parents;\n}\n\n/**\n * Iterate over each element in a collection, calling the iterator function `fn`\n * with (element, index, recursionDepth).\n *\n * Recurse into all elements that are returned by `fn`.\n *\n * @param {Object|Array} elements\n * @param {Function} fn iterator function called with (element, index, recursionDepth)\n * @param {number} [depth] maximum recursion depth\n */\nfunction eachElement(elements, fn, depth) {\n depth = depth || 0;\n\n if (!minDash.isArray(elements)) {\n elements = [ elements ];\n }\n\n minDash.forEach(elements, function(s, i) {\n var filter = fn(s, i, depth);\n\n if (minDash.isArray(filter) && filter.length) {\n eachElement(filter, fn, depth + 1);\n }\n });\n}\n\n/**\n * Adds an element to a collection and returns true if the\n * element was added.\n *\n * @param {Array} elements\n * @param {Object} e\n * @param {boolean} unique\n */\nfunction add(elements, e, unique) {\n var canAdd = !unique || elements.indexOf(e) === -1;\n\n if (canAdd) {\n elements.push(e);\n }\n\n return canAdd;\n}\n\n/**\n * Collects self + flow elements up to a given depth from a list of elements.\n *\n * @param {ModdleElement|Array} elements the elements to select the flowElements from\n * @param {boolean} unique whether to return a unique result set (no duplicates)\n * @param {number} maxDepth the depth to search through or -1 for infinite\n *\n * @return {Array} found elements\n */\nfunction selfAndFlowElements(elements, unique, maxDepth) {\n var result = [],\n processedFlowElements = [];\n\n eachElement(elements, function(element, i, depth) {\n add(result, element, unique);\n\n var flowElements = element.flowElements;\n\n // max traversal depth not reached yet\n if (maxDepth === -1 || depth < maxDepth) {\n\n // flowElements exist && flowElements not yet processed\n if (flowElements && add(processedFlowElements, flowElements, unique)) {\n return flowElements;\n }\n }\n });\n\n return result;\n}\n\n/**\n * Return self + ALL flowElements for a number of elements\n *\n * @param {Array} elements to query\n * @param {boolean} allowDuplicates to allow duplicates in the result set\n *\n * @return {Array} the collected elements\n */\nfunction selfAndAllFlowElements(elements, allowDuplicates) {\n return selfAndFlowElements(elements, !allowDuplicates, -1);\n}\n\n/**\n * Return full moddle element for given element id\n *\n * @param {string} elementId\n * @param {ModdleElement} rootElement\n *\n * @returns {ModdleElement}\n */\nfunction getElement(elementId, rootElement) {\n var allElements = selfAndAllFlowElements(rootElement);\n\n return minDash.find(allElements, function(element) {\n return element.id === elementId;\n });\n}\n\nfunction addVariableToList(variablesList, newVariable) {\n var foundIdx = minDash.findIndex(variablesList, function(variable) {\n return (\n variable.name === newVariable.name && variable.scope === newVariable.scope\n );\n });\n\n if (foundIdx >= 0) {\n variablesList[foundIdx].origin = combineArrays$1(\n variablesList[foundIdx].origin,\n newVariable.origin\n );\n } else {\n variablesList.push(newVariable);\n }\n}\n\n/**\n * Creates new process variable definition object\n * Identifies correct (highest) scope, in which variable is available\n *\n * @param {ModdleElement} flowElement\n * @param {String} name\n * @param {ModdleElement} defaultScope\n *\n * @returns {ProcessVariable}\n */\nfunction createProcessVariable(flowElement, name, defaultScope) {\n var scope = getScope(flowElement, defaultScope, name);\n\n return {\n name: name,\n origin: [ flowElement ],\n scope: scope,\n };\n}\n\n\n// helpers ////////////////////\n\n/**\n * Set parent container if it defines it's own scope for the variable, so\n * when it defines an input mapping for it. Otherwise returns the default global scope\n */\nfunction getScope(element, globalScope, variableName) {\n var parents = getParents(element);\n\n var scopedParent = minDash.find(parents, function(parent) {\n return (\n is$1(parent, 'bpmn:SubProcess') && hasInputParameter(parent, variableName)\n );\n });\n\n return scopedParent ? scopedParent : globalScope;\n}\n\nfunction is$1(element, type) {\n return (\n element &&\n typeof element.$instanceOf === 'function' &&\n element.$instanceOf(type)\n );\n}\n\nfunction hasInputParameter(element, name) {\n return minDash.find(getInputParameters(element), function(input) {\n return input.name === name;\n });\n}\n\nfunction combineArrays$1(a, b) {\n return a.concat(b);\n}\n\n/**\n * Retrieves process variables defined in output parameters, e.g.\n *\n * \n * 200\n * ${myLocalVar + 20}\n * \n *\n * => Adds two variables \"variable1\" & \"variable2\" to the list.\n *\n */\nfunction extractOutputParameters(options) {\n var elements = options.elements,\n containerElement = options.containerElement,\n processVariables = options.processVariables;\n\n if (!minDash.isArray(elements)) {\n elements = [ elements ];\n }\n\n minDash.forEach(elements, function(element) {\n\n // variables are created by output parameters\n var outputParameters = getOutputParameters(element);\n\n // extract all variables with correct scope\n minDash.forEach(outputParameters, function(parameter) {\n var newVariable = createProcessVariable(\n element,\n parameter.name,\n containerElement\n );\n\n addVariableToList(processVariables, newVariable);\n });\n });\n\n return processVariables;\n}\n\n/**\n * Retrieves process variables defined in result variables, e.g.\n *\n * \n *\n * => Adds one variable \"variable1\"to the list.\n *\n */\nfunction extractResultVariables(options) {\n var elements = options.elements,\n containerElement = options.containerElement,\n processVariables = options.processVariables;\n\n if (!minDash.isArray(elements)) {\n elements = [ elements ];\n }\n\n minDash.forEach(elements, function(element) {\n\n var resultVariable = getResultVariable(element);\n\n if (resultVariable) {\n var newVariable = createProcessVariable(\n element,\n resultVariable,\n containerElement\n );\n\n addVariableToList(processVariables, newVariable);\n }\n });\n\n return processVariables;\n}\n\n\n// helpers ///////////////////////\n\nfunction getResultVariable(element) {\n return element.get('camunda:resultVariable');\n}\n\n/**\n * Retrieves process variables defined in form fields, e.g.\n *\n * \n * \n * \n * \n *\n * => Adds two variables \"variable1\" & \"variable2\" to the list.\n *\n */\nfunction extractFormFields(options) {\n var elements = options.elements,\n containerElement = options.containerElement,\n processVariables = options.processVariables;\n\n if (!minDash.isArray(elements)) {\n elements = [ elements ];\n }\n\n minDash.forEach(elements, function(element) {\n\n var formFields = getFormFields(element);\n\n // extract all variables with correct scope\n minDash.forEach(formFields, function(field) {\n var newVariable = createProcessVariable(\n element,\n field.id,\n containerElement\n );\n\n addVariableToList(processVariables, newVariable);\n });\n });\n\n return processVariables;\n}\n\n/**\n * Retrieves process variables defined in output mappings and\n * ignores local variables, e.g.\n *\n * \n * \n * \n * \n *\n * => Adds one variable \"variable1\" to the list.\n *\n */\nfunction extractOutMappings(options) {\n var elements = options.elements,\n containerElement = options.containerElement,\n processVariables = options.processVariables;\n\n if (!minDash.isArray(elements)) {\n elements = [ elements ];\n }\n\n minDash.forEach(elements, function(element) {\n\n var outMappings = getOutMappings(element);\n\n // extract all variables with correct scope\n minDash.forEach(outMappings, function(mapping) {\n\n // do not use variables marked as \n if (mapping.local) {\n return;\n }\n\n var newVariable = createProcessVariable(\n element,\n mapping.target,\n containerElement\n );\n\n addVariableToList(processVariables, newVariable);\n });\n });\n\n return processVariables;\n}\n\n/**\n *\n * @param {ModdleElement} element\n * @param {string} [type] - optional\n *\n * @return {Array|undefined} collection of event definitions or none\n */\nfunction getEventDefinitions(element, type) {\n var eventDefinitions = element.eventDefinitions;\n\n if (!eventDefinitions || !type) {\n return eventDefinitions;\n }\n\n return minDash.filter(eventDefinitions, function(definition) {\n return is(definition, type);\n });\n}\n\n/**\n * Returns error event definitions for a given element.\n *\n * @param {ModdleElement} element\n *\n * @return {Array} collection of error event definitions\n */\nfunction getErrorEventDefinitions(element) {\n return getEventDefinitions(element, 'bpmn:ErrorEventDefinition');\n}\n\n/**\n * Returns escalation event definitions for a given element.\n *\n * @param {ModdleElement} element\n *\n * @return {Array} collection of escalation event definitions\n */\nfunction getEscalationEventDefinitions(element) {\n return getEventDefinitions(element, 'bpmn:EscalationEventDefinition');\n}\n\n\n// helper ////////////////\n\nfunction is(element, type) {\n return (\n element &&\n typeof element.$instanceOf === 'function' &&\n element.$instanceOf(type)\n );\n}\n\n/**\n * Retrieves process variables defined in event definitions, e.g.\n *\n * \n *\n * => Adds one variable \"variable1\" to the list.\n *\n * \n *\n * => Adds two variables \"variable2\" & \"variable3\" to the list.\n *\n */\nfunction extractEventDefinitionVariables(options) {\n var elements = options.elements,\n containerElement = options.containerElement,\n processVariables = options.processVariables;\n\n var addVariable = function(element, name) {\n var newVariable = createProcessVariable(\n element,\n name,\n containerElement\n );\n\n addVariableToList(processVariables, newVariable);\n };\n\n if (!minDash.isArray(elements)) {\n elements = [ elements ];\n }\n\n minDash.forEach(elements, function(element) {\n\n // (1) error event code + message variable\n var errorEventDefinitions = getErrorEventDefinitions(element);\n\n minDash.forEach(errorEventDefinitions, function(definition) {\n\n var errorCodeVariable = definition.get('errorCodeVariable'),\n errorMessageVariable = definition.get('errorMessageVariable');\n\n if (errorCodeVariable) {\n addVariable(element, errorCodeVariable);\n }\n\n if (errorMessageVariable) {\n addVariable(element, errorMessageVariable);\n }\n });\n\n // (2) escalation code variable\n var escalationEventDefinitions = getEscalationEventDefinitions(element);\n\n minDash.forEach(escalationEventDefinitions, function(definition) {\n\n var escalationCodeVariable = definition.get('escalationCodeVariable');\n\n if (escalationCodeVariable) {\n addVariable(element, escalationCodeVariable);\n }\n });\n\n });\n\n return processVariables;\n}\n\nvar extractors = [\n extractOutputParameters,\n extractResultVariables,\n extractFormFields,\n extractOutMappings,\n extractEventDefinitionVariables\n];\n\n/**\n * @typedef {Object} ProcessVariable\n * @property {string} name\n * @property {Array} origin\n * @property {ModdleElement} scope\n */\n\n\n/**\n * Extractors add ProcessVariables to the `options.processVariables` parameter.\n * @callback extractor\n * @param {Object} options\n * @param {Array} options.elements\n * @param {ModdleElement} options.containerElement\n * @param {Array} options.processVariables\n */\n\n// api /////////////////////////\n\n/**\n * Retrieves all process variables for a given container element.\n * @param {ModdleElement} containerElement\n * @param {Array} additionalExtractors\n *\n * @returns {Promise>}\n */\nfunction getProcessVariables(containerElement, additionalExtractors = []) {\n const allPromises = [];\n\n var processVariables = [];\n\n // (1) extract all flow elements inside the container\n var elements = selfAndAllFlowElements([ containerElement ], false);\n\n // (2) extract all variables from the extractors\n minDash.forEach([ ...extractors, ...additionalExtractors ], function(extractor) {\n allPromises.push(\n extractor({\n elements: elements,\n containerElement: containerElement,\n processVariables: processVariables\n })\n );\n });\n\n return Promise.all(allPromises)\n .then(() => processVariables);\n}\n\n/**\n * Retrieves all variables which are available in the given scope\n *\n * * Exclude variables which are only available in other scopes\n * * Exclude variables which are produced by the given element\n * * Include variables which are available in parent scopes\n *\n * @param {string} scope\n * @param {ModdleElement} rootElement element from where to extract all variables\n * @param {Array} additionalExtractors\n *\n * @returns {Promise>}\n */\nasync function getVariablesForScope(scope, rootElement, additionalExtractors = []) {\n\n var allVariables = await getProcessVariables(rootElement, additionalExtractors);\n\n var scopeElement = getElement(scope, rootElement);\n\n // (1) get variables for given scope\n var scopeVariables = minDash.filter(allVariables, function(variable) {\n return variable.scope.id === scopeElement.id;\n });\n\n // (2) get variables for parent scopes\n var parents = getParents(scopeElement);\n\n var parentsScopeVariables = minDash.filter(allVariables, function(variable) {\n return minDash.find(parents, function(parent) {\n return parent.id === variable.scope.id;\n });\n });\n\n return combineArrays(scopeVariables, parentsScopeVariables);\n}\n\n// helpers ////////////////////\n\nfunction combineArrays(a, b) {\n return a.concat(b);\n}\n\nexports.getProcessVariables = getProcessVariables;\nexports.getVariablesForScope = getVariablesForScope;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar minDash = require('min-dash');\n\n/**\n * Get a inputOutput from the business object\n *\n * @param {ModdleElement} element\n *\n * @return {ModdleElement} the inputOutput object\n */\nfunction getInputOutput(element) {\n return (getElements(element, 'zeebe:IoMapping') || [])[0];\n}\n\n/**\n * Return all input parameters existing in the business object, and\n * an empty array if none exist.\n *\n * @param {ModdleElement} element\n *\n * @return {Array} a list of input parameter objects\n */\nfunction getInputParameters(element) {\n return getParameters(element, 'inputParameters');\n}\n\n/**\n * Return out mappings existing in the business object\n *\n * @param {ModdleElement} element\n *\n * @return {Array}\n */\nfunction getOutMappings(element) {\n return (getInputOutput(element) || {}).outputParameters;\n}\n\n/**\n * Return out mappings existing in the business object\n *\n * @param {ModdleElement} element\n *\n * @return {Array}\n */\nfunction getInMappings(element) {\n return (getInputOutput(element) || {}).inputParameters;\n}\n\n/**\n * Get the inputElement name from a loopCharacteristics\n *\n * @param {MoodleElement} loopCharacteristics\n * @returns {String} outputCollection\n */\nfunction getInputElement(loopCharacteristics) {\n const extensionElement = getElements(loopCharacteristics, 'zeebe:LoopCharacteristics')[0];\n return extensionElement && extensionElement.inputElement;\n}\n\n/**\n * Get the outputCollection name from a loopCharacteristics\n *\n * @param {MoodleElement} loopCharacteristics\n * @returns {String} outputCollection\n */\nfunction getOutputCollection(loopCharacteristics) {\n const extensionElement = getElements(loopCharacteristics, 'zeebe:LoopCharacteristics')[0];\n return extensionElement && extensionElement.outputCollection;\n\n}\n\n/**\n * Get a calledDecision from the business object\n *\n * @param {MoodleElement} element\n * @returns {MoodleElement} the calledDecision object\n */\nfunction getCalledDecision(element) {\n return (getElements(element, 'zeebe:CalledDecision') || [])[0];\n}\n\n\n/**\n * Get a script from the business object\n *\n * @param {MoodleElement} element\n * @returns {MoodleElement} the script object\n */\nfunction getScript(element) {\n return (getElements(element, 'zeebe:Script') || [])[0];\n}\n\n// helpers //////////\n\nfunction getElements(element, type, property) {\n var elements = getExtensionElements(element, type);\n\n return !property ? elements : (elements[0] || {})[property] || [];\n}\n\nfunction getParameters(element, property) {\n var inputOutput = getInputOutput(element);\n\n return (inputOutput && inputOutput.get(property)) || [];\n}\n\nfunction getExtensionElements(element, type) {\n var elements = [];\n var extensionElements = element.get('extensionElements');\n\n if (typeof extensionElements !== 'undefined') {\n var extensionValues = extensionElements.get('values');\n\n if (typeof extensionValues !== 'undefined') {\n elements = minDash.filter(extensionValues, function(value) {\n return is$2(value, type);\n });\n }\n }\n\n return elements;\n}\n\nfunction is$2(element, type) {\n return (\n element &&\n typeof element.$instanceOf === 'function' &&\n element.$instanceOf(type)\n );\n}\n\n/**\n * Get all parent elements for a given element.\n *\n * @param {ModdleElement|string} element\n *\n * @returns {Array}\n */\nfunction getParents(element) {\n var parents = [];\n var current = element;\n\n while (current.$parent) {\n parents.push(current.$parent);\n current = current.$parent;\n }\n\n return parents;\n}\n\n/**\n * Iterate over each element in a collection, calling the iterator function `fn`\n * with (element, index, recursionDepth).\n *\n * Recurse into all elements that are returned by `fn`.\n *\n * @param {Object|Array} elements\n * @param {Function} fn iterator function called with (element, index, recursionDepth)\n * @param {number} [depth] maximum recursion depth\n */\nfunction eachElement(elements, fn, depth) {\n depth = depth || 0;\n\n if (!minDash.isArray(elements)) {\n elements = [ elements ];\n }\n\n minDash.forEach(elements, function(s, i) {\n var filter = fn(s, i, depth);\n\n if (minDash.isArray(filter) && filter.length) {\n eachElement(filter, fn, depth + 1);\n }\n });\n}\n\n/**\n * Adds an element to a collection and returns true if the\n * element was added.\n *\n * @param {Array} elements\n * @param {Object} e\n * @param {boolean} unique\n */\nfunction add(elements, e, unique) {\n var canAdd = !unique || elements.indexOf(e) === -1;\n\n if (canAdd) {\n elements.push(e);\n }\n\n return canAdd;\n}\n\n/**\n * Collects self + flow elements up to a given depth from a list of elements.\n *\n * @param {ModdleElement|Array} elements the elements to select the flowElements from\n * @param {boolean} unique whether to return a unique result set (no duplicates)\n * @param {number} maxDepth the depth to search through or -1 for infinite\n *\n * @return {Array} found elements\n */\nfunction selfAndFlowElements(elements, unique, maxDepth) {\n var result = [],\n processedFlowElements = [];\n\n eachElement(elements, function(element, i, depth) {\n add(result, element, unique);\n\n var flowElements = element.flowElements;\n\n // max traversal depth not reached yet\n if (maxDepth === -1 || depth < maxDepth) {\n\n // flowElements exist && flowElements not yet processed\n if (flowElements && add(processedFlowElements, flowElements, unique)) {\n return flowElements;\n }\n }\n });\n\n return result;\n}\n\n/**\n * Return self + ALL flowElements for a number of elements\n *\n * @param {Array} elements to query\n * @param {boolean} allowDuplicates to allow duplicates in the result set\n *\n * @return {Array} the collected elements\n */\nfunction selfAndAllFlowElements(elements, allowDuplicates) {\n return selfAndFlowElements(elements, !allowDuplicates, -1);\n}\n\n/**\n * Return full moddle element for given element id\n *\n * @param {string} elementId\n * @param {ModdleElement} rootElement\n *\n * @returns {ModdleElement}\n */\nfunction getElement(elementId, rootElement) {\n var allElements = selfAndAllFlowElements(rootElement);\n\n return minDash.find(allElements, function(element) {\n return element.id === elementId;\n });\n}\n\nfunction addVariableToList(variablesList, newVariable) {\n var foundIdx = minDash.findIndex(variablesList, function(variable) {\n return (\n variable.name === newVariable.name && variable.scope === newVariable.scope\n );\n });\n\n if (foundIdx >= 0) {\n variablesList[foundIdx].origin = combineArrays$1(\n variablesList[foundIdx].origin,\n newVariable.origin\n );\n } else {\n variablesList.push(newVariable);\n }\n}\n\n/**\n * Creates new process variable definition object\n * Identifies correct (highest) scope, in which variable is available\n *\n * @param {ModdleElement} flowElement\n * @param {String} name\n * @param {ModdleElement} defaultScope\n *\n * @returns {ProcessVariable}\n */\nfunction createProcessVariable(flowElement, name, defaultScope) {\n var scope = getScope$1(flowElement, defaultScope, name);\n\n return {\n name: name,\n origin: [ flowElement ],\n scope: scope\n };\n}\n\n\n// helpers ////////////////////\n\n/**\n * Set parent container if it defines it's own scope for the variable, so\n * when it defines an input mapping for it. Otherwise returns the default global scope\n */\nfunction getScope$1(element, globalScope, variableName) {\n var parents = getParents(element);\n\n var scopedParent = minDash.find(parents, function(parent) {\n return (\n is$1(parent, 'bpmn:SubProcess') && hasInputParameter(parent, variableName)\n );\n });\n\n return scopedParent ? scopedParent : globalScope;\n}\n\nfunction is$1(element, type) {\n return (\n element &&\n typeof element.$instanceOf === 'function' &&\n element.$instanceOf(type)\n );\n}\n\nfunction hasInputParameter(element, name) {\n return minDash.find(getInputParameters(element), function(input) {\n return input.target === name;\n });\n}\n\nfunction combineArrays$1(a, b) {\n return a.concat(b);\n}\n\n/**\n * Retrieves process variables defined in output mappings, e.g.\n *\n * \n * \n * \n * \n * \n * \n * \n *\n * => Adds one variable \"variable1\" to the list.\n *\n */\nfunction extractInMappings(options) {\n var elements = options.elements,\n processVariables = options.processVariables;\n\n if (!minDash.isArray(elements)) {\n elements = [ elements ];\n }\n\n minDash.forEach(elements, function(element) {\n\n var inMappings = getInMappings(element);\n\n // extract all variables with correct scope\n minDash.forEach(inMappings, function(mapping) {\n\n var newVariable = createProcessVariable(\n element,\n mapping.target,\n element\n );\n\n addVariableToList(processVariables, newVariable);\n });\n });\n\n return processVariables;\n}\n\n/**\n * Retrieves process variables defined in result variables, e.g.\n *\n * \n * \n * \n * \n * \n * \n * \n *\n * => Adds one variable \"inputElement\"to the list.\n *\n */\nfunction extractInputElement(options) {\n var elements = options.elements,\n processVariables = options.processVariables;\n\n if (!minDash.isArray(elements)) {\n elements = [ elements ];\n }\n\n minDash.forEach(elements, function(element) {\n\n var loopCharacteristics = element.loopCharacteristics;\n\n var inputElement = loopCharacteristics && getInputElement(loopCharacteristics);\n\n if (inputElement) {\n var newVariable = createProcessVariable(\n element,\n inputElement,\n element\n );\n\n addVariableToList(processVariables, newVariable);\n }\n });\n\n return processVariables;\n}\n\n/**\n * Retrieves process variables defined in output mappings, e.g.\n *\n * \n * \n * \n * \n * \n * \n * \n *\n * => Adds one variable \"variable1\" to the list.\n *\n */\nfunction extractOutMappings(options) {\n var elements = options.elements,\n containerElement = options.containerElement,\n processVariables = options.processVariables;\n\n if (!minDash.isArray(elements)) {\n elements = [ elements ];\n }\n\n minDash.forEach(elements, function(element) {\n\n var outMappings = getOutMappings(element);\n\n // extract all variables with correct scope\n minDash.forEach(outMappings, function(mapping) {\n var newVariable = createProcessVariable(\n element,\n mapping.target,\n containerElement\n );\n\n addVariableToList(processVariables, newVariable);\n });\n });\n\n return processVariables;\n}\n\n/**\n * Retrieves process variables defined in output collection, e.g.\n *\n * \n * \n * \n * \n * \n * \n * \n *\n * => Adds one variable \"outputCollection\"to the list.\n *\n */\nfunction extractOutputCollections(options) {\n var elements = options.elements,\n containerElement = options.containerElement,\n processVariables = options.processVariables;\n\n if (!minDash.isArray(elements)) {\n elements = [ elements ];\n }\n\n minDash.forEach(elements, function(element) {\n\n var loopCharacteristics = element.loopCharacteristics;\n\n var outputCollection = loopCharacteristics && getOutputCollection(loopCharacteristics);\n\n if (outputCollection) {\n var newVariable = createProcessVariable(\n element,\n outputCollection,\n containerElement\n );\n\n addVariableToList(processVariables, newVariable);\n }\n });\n\n return processVariables;\n}\n\n/**\n * Retrieves process variables defined in result variables, e.g.\n *\n * \n * \n * \n * \n * \n *\n *\n * => Adds one variable \"variable1\"to the list.\n *\n */\nfunction extractResultVariables(options) {\n var elements = options.elements,\n containerElement = options.containerElement,\n processVariables = options.processVariables;\n\n if (!minDash.isArray(elements)) {\n elements = [ elements ];\n }\n\n minDash.forEach(elements, function(element) {\n\n var baseElement = getCalledDecision(element) ||\n getScript(element);\n\n if (!baseElement) {\n return;\n }\n\n var resultVariable = baseElement.resultVariable;\n\n if (resultVariable) {\n var newVariable = createProcessVariable(\n element,\n resultVariable,\n containerElement\n );\n\n addVariableToList(processVariables, newVariable);\n }\n });\n\n return processVariables;\n}\n\nvar extractors = [\n extractInMappings,\n extractInputElement,\n extractOutMappings,\n extractOutputCollections,\n extractResultVariables\n];\n\n/**\n * @typedef {Object} ProcessVariable\n * @property {string} name\n * @property {Array} origin\n * @property {ModdleElement} scope\n */\n\n// api /////////////////////////\n\n/**\n * Extractors add ProcessVariables to the `options.processVariables` parameter.\n * @callback extractor\n * @param {Object} options\n * @param {Array} options.elements\n * @param {ModdleElement} options.containerElement\n * @param {Array} options.processVariables\n */\n\n/**\n * Retrieves all process variables for a given container element.\n * @param {ModdleElement} containerElement\n * @param {Array} [additionalExtractors]\n *\n * @returns {Promise>}\n */\nfunction getProcessVariables(containerElement, additionalExtractors = []) {\n var processVariables = [];\n\n // (1) extract all flow elements inside the container\n var elements = selfAndAllFlowElements([ containerElement ], false);\n\n const allPromises = [];\n\n // (2) extract all variables from the extractors\n minDash.forEach([ ...extractors, ...additionalExtractors ], function(extractor) {\n allPromises.push(extractor({\n elements: elements,\n containerElement: containerElement,\n processVariables: processVariables\n }));\n });\n\n return Promise.all(allPromises)\n .then(() => processVariables);\n}\n\n/**\n * Retrieves all variables which are available in the given scope\n *\n * * Exclude variables which are only available in other scopes\n * * Exclude variables which are produced by the given element\n * * Include variables which are available in parent scopes\n *\n * @param {string} scope\n * @param {ModdleElement} rootElement element from where to extract all variables\n * @param {Array} [additionalExtractors]\n *\n * @returns {Promise>}\n */\nasync function getVariablesForScope(scope, rootElement, additionalExtractors = []) {\n\n var allVariables = await getProcessVariables(rootElement, additionalExtractors);\n\n var scopeElement = getElement(scope, rootElement);\n\n // (1) get variables for given scope\n var scopeVariables = minDash.filter(allVariables, function(variable) {\n return variable.scope.id === scopeElement.id;\n });\n\n // (2) get variables for parent scopes\n var parents = getParents(scopeElement);\n\n var parentsScopeVariables = minDash.filter(allVariables, function(variable) {\n return minDash.find(parents, function(parent) {\n return parent.id === variable.scope.id;\n });\n });\n\n return combineArrays(scopeVariables, parentsScopeVariables);\n}\n\n\nfunction getVariablesForElement(element, additionalExtractors = []) {\n return getVariablesForScope(getScope(element), getRootElement(element), additionalExtractors);\n}\n\nfunction getScope(element) {\n const bo = getBusinessObject(element);\n\n if (is(element, 'bpmn:Participant')) {\n return bo.processRef.id;\n }\n\n return bo.id;\n}\n\nfunction getRootElement(element) {\n const businessObject = getBusinessObject(element);\n\n if (is(businessObject, 'bpmn:Participant')) {\n return businessObject.processRef;\n }\n\n if (is(businessObject, 'bpmn:Process')) {\n return businessObject;\n }\n\n let parent = businessObject;\n\n while (parent.$parent && !is(parent, 'bpmn:Process')) {\n parent = parent.$parent;\n }\n\n return parent;\n}\n\n\n// helpers ////////////////////\n\nfunction combineArrays(a, b) {\n return a.concat(b);\n}\n\n\nfunction getBusinessObject(element) {\n return (element && element.businessObject) || element;\n}\n\n\nfunction is(element, type) {\n var bo = getBusinessObject(element);\n\n return bo && (typeof bo.$instanceOf === 'function') && bo.$instanceOf(type);\n}\n\nexports.getProcessVariables = getProcessVariables;\nexports.getVariablesForElement = getVariablesForElement;\nexports.getVariablesForScope = getVariablesForScope;\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","//download.js v4.2, by dandavis; 2008-2016. [MIT] see http://danml.com/download.html for tests/usage\n// v1 landed a FF+Chrome compat way of downloading strings to local un-named files, upgraded to use a hidden frame and optional mime\n// v2 added named files via a[download], msSaveBlob, IE (10+) support, and window.URL support for larger+faster saves than dataURLs\n// v3 added dataURL and Blob Input, bind-toggle arity, and legacy dataURL fallback was improved with force-download mime and base64 support. 3.1 improved safari handling.\n// v4 adds AMD/UMD, commonJS, and plain browser support\n// v4.1 adds url download capability via solo URL argument (same domain/CORS only)\n// v4.2 adds semantic variable names, long (over 2MB) dataURL support, and hidden by default temp anchors\n// https://github.com/rndme/download\n\n(function (root, factory) {\n\tif (typeof define === 'function' && define.amd) {\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine([], factory);\n\t} else if (typeof exports === 'object') {\n\t\t// Node. Does not work with strict CommonJS, but\n\t\t// only CommonJS-like environments that support module.exports,\n\t\t// like Node.\n\t\tmodule.exports = factory();\n\t} else {\n\t\t// Browser globals (root is window)\n\t\troot.download = factory();\n }\n}(this, function () {\n\n\treturn function download(data, strFileName, strMimeType) {\n\n\t\tvar self = window, // this script is only for browsers anyway...\n\t\t\tdefaultMime = \"application/octet-stream\", // this default mime also triggers iframe downloads\n\t\t\tmimeType = strMimeType || defaultMime,\n\t\t\tpayload = data,\n\t\t\turl = !strFileName && !strMimeType && payload,\n\t\t\tanchor = document.createElement(\"a\"),\n\t\t\ttoString = function(a){return String(a);},\n\t\t\tmyBlob = (self.Blob || self.MozBlob || self.WebKitBlob || toString),\n\t\t\tfileName = strFileName || \"download\",\n\t\t\tblob,\n\t\t\treader;\n\t\t\tmyBlob= myBlob.call ? myBlob.bind(self) : Blob ;\n\t \n\t\tif(String(this)===\"true\"){ //reverse arguments, allowing download.bind(true, \"text/xml\", \"export.xml\") to act as a callback\n\t\t\tpayload=[payload, mimeType];\n\t\t\tmimeType=payload[0];\n\t\t\tpayload=payload[1];\n\t\t}\n\n\n\t\tif(url && url.length< 2048){ // if no filename and no mime, assume a url was passed as the only argument\n\t\t\tfileName = url.split(\"/\").pop().split(\"?\")[0];\n\t\t\tanchor.href = url; // assign href prop to temp anchor\n\t\t \tif(anchor.href.indexOf(url) !== -1){ // if the browser determines that it's a potentially valid url path:\n \t\tvar ajax=new XMLHttpRequest();\n \t\tajax.open( \"GET\", url, true);\n \t\tajax.responseType = 'blob';\n \t\tajax.onload= function(e){ \n\t\t\t\t download(e.target.response, fileName, defaultMime);\n\t\t\t\t};\n \t\tsetTimeout(function(){ ajax.send();}, 0); // allows setting custom ajax headers using the return:\n\t\t\t return ajax;\n\t\t\t} // end if valid url?\n\t\t} // end if url?\n\n\n\t\t//go ahead and download dataURLs right away\n\t\tif(/^data:([\\w+-]+\\/[\\w+.-]+)?[,;]/.test(payload)){\n\t\t\n\t\t\tif(payload.length > (1024*1024*1.999) && myBlob !== toString ){\n\t\t\t\tpayload=dataUrlToBlob(payload);\n\t\t\t\tmimeType=payload.type || defaultMime;\n\t\t\t}else{\t\t\t\n\t\t\t\treturn navigator.msSaveBlob ? // IE10 can't do a[download], only Blobs:\n\t\t\t\t\tnavigator.msSaveBlob(dataUrlToBlob(payload), fileName) :\n\t\t\t\t\tsaver(payload) ; // everyone else can save dataURLs un-processed\n\t\t\t}\n\t\t\t\n\t\t}else{//not data url, is it a string with special needs?\n\t\t\tif(/([\\x80-\\xff])/.test(payload)){\t\t\t \n\t\t\t\tvar i=0, tempUiArr= new Uint8Array(payload.length), mx=tempUiArr.length;\n\t\t\t\tfor(i;i colors.length) {\n\n var color = randomColor(options);\n\n if (seed !== null) {\n options.seed = seed;\n }\n\n colors.push(color);\n }\n\n options.count = totalColors;\n\n return colors;\n }\n\n // First we pick a hue (H)\n H = pickHue(options);\n\n // Then use H to determine saturation (S)\n S = pickSaturation(H, options);\n\n // Then use S and H to determine brightness (B).\n B = pickBrightness(H, S, options);\n\n // Then we return the HSB color in the desired format\n return setFormat([H,S,B], options);\n };\n\n function pickHue(options) {\n if (colorRanges.length > 0) {\n var hueRange = getRealHueRange(options.hue)\n\n var hue = randomWithin(hueRange)\n\n //Each of colorRanges.length ranges has a length equal approximatelly one step\n var step = (hueRange[1] - hueRange[0]) / colorRanges.length\n\n var j = parseInt((hue - hueRange[0]) / step)\n\n //Check if the range j is taken\n if (colorRanges[j] === true) {\n j = (j + 2) % colorRanges.length\n }\n else {\n colorRanges[j] = true\n }\n\n var min = (hueRange[0] + j * step) % 359,\n max = (hueRange[0] + (j + 1) * step) % 359;\n\n hueRange = [min, max]\n\n hue = randomWithin(hueRange)\n\n if (hue < 0) {hue = 360 + hue;}\n return hue\n }\n else {\n var hueRange = getHueRange(options.hue)\n\n hue = randomWithin(hueRange);\n // Instead of storing red as two seperate ranges,\n // we group them, using negative numbers\n if (hue < 0) {\n hue = 360 + hue;\n }\n\n return hue;\n }\n }\n\n function pickSaturation (hue, options) {\n\n if (options.hue === 'monochrome') {\n return 0;\n }\n\n if (options.luminosity === 'random') {\n return randomWithin([0,100]);\n }\n\n var saturationRange = getSaturationRange(hue);\n\n var sMin = saturationRange[0],\n sMax = saturationRange[1];\n\n switch (options.luminosity) {\n\n case 'bright':\n sMin = 55;\n break;\n\n case 'dark':\n sMin = sMax - 10;\n break;\n\n case 'light':\n sMax = 55;\n break;\n }\n\n return randomWithin([sMin, sMax]);\n\n }\n\n function pickBrightness (H, S, options) {\n\n var bMin = getMinimumBrightness(H, S),\n bMax = 100;\n\n switch (options.luminosity) {\n\n case 'dark':\n bMax = bMin + 20;\n break;\n\n case 'light':\n bMin = (bMax + bMin)/2;\n break;\n\n case 'random':\n bMin = 0;\n bMax = 100;\n break;\n }\n\n return randomWithin([bMin, bMax]);\n }\n\n function setFormat (hsv, options) {\n\n switch (options.format) {\n\n case 'hsvArray':\n return hsv;\n\n case 'hslArray':\n return HSVtoHSL(hsv);\n\n case 'hsl':\n var hsl = HSVtoHSL(hsv);\n return 'hsl('+hsl[0]+', '+hsl[1]+'%, '+hsl[2]+'%)';\n\n case 'hsla':\n var hslColor = HSVtoHSL(hsv);\n var alpha = options.alpha || Math.random();\n return 'hsla('+hslColor[0]+', '+hslColor[1]+'%, '+hslColor[2]+'%, ' + alpha + ')';\n\n case 'rgbArray':\n return HSVtoRGB(hsv);\n\n case 'rgb':\n var rgb = HSVtoRGB(hsv);\n return 'rgb(' + rgb.join(', ') + ')';\n\n case 'rgba':\n var rgbColor = HSVtoRGB(hsv);\n var alpha = options.alpha || Math.random();\n return 'rgba(' + rgbColor.join(', ') + ', ' + alpha + ')';\n\n default:\n return HSVtoHex(hsv);\n }\n\n }\n\n function getMinimumBrightness(H, S) {\n\n var lowerBounds = getColorInfo(H).lowerBounds;\n\n for (var i = 0; i < lowerBounds.length - 1; i++) {\n\n var s1 = lowerBounds[i][0],\n v1 = lowerBounds[i][1];\n\n var s2 = lowerBounds[i+1][0],\n v2 = lowerBounds[i+1][1];\n\n if (S >= s1 && S <= s2) {\n\n var m = (v2 - v1)/(s2 - s1),\n b = v1 - m*s1;\n\n return m*S + b;\n }\n\n }\n\n return 0;\n }\n\n function getHueRange (colorInput) {\n\n if (typeof parseInt(colorInput) === 'number') {\n\n var number = parseInt(colorInput);\n\n if (number < 360 && number > 0) {\n return [number, number];\n }\n\n }\n\n if (typeof colorInput === 'string') {\n\n if (colorDictionary[colorInput]) {\n var color = colorDictionary[colorInput];\n if (color.hueRange) {return color.hueRange;}\n } else if (colorInput.match(/^#?([0-9A-F]{3}|[0-9A-F]{6})$/i)) {\n var hue = HexToHSB(colorInput)[0];\n return [ hue, hue ];\n }\n }\n\n return [0,360];\n\n }\n\n function getSaturationRange (hue) {\n return getColorInfo(hue).saturationRange;\n }\n\n function getColorInfo (hue) {\n\n // Maps red colors to make picking hue easier\n if (hue >= 334 && hue <= 360) {\n hue-= 360;\n }\n\n for (var colorName in colorDictionary) {\n var color = colorDictionary[colorName];\n if (color.hueRange &&\n hue >= color.hueRange[0] &&\n hue <= color.hueRange[1]) {\n return colorDictionary[colorName];\n }\n } return 'Color not found';\n }\n\n function randomWithin (range) {\n if (seed === null) {\n //generate random evenly destinct number from : https://martin.ankerl.com/2009/12/09/how-to-create-random-colors-programmatically/\n var golden_ratio = 0.618033988749895\n var r=Math.random()\n r += golden_ratio\n r %= 1\n return Math.floor(range[0] + r*(range[1] + 1 - range[0]));\n } else {\n //Seeded random algorithm from http://indiegamr.com/generate-repeatable-random-numbers-in-js/\n var max = range[1] || 1;\n var min = range[0] || 0;\n seed = (seed * 9301 + 49297) % 233280;\n var rnd = seed / 233280.0;\n return Math.floor(min + rnd * (max - min));\n}\n }\n\n function HSVtoHex (hsv){\n\n var rgb = HSVtoRGB(hsv);\n\n function componentToHex(c) {\n var hex = c.toString(16);\n return hex.length == 1 ? '0' + hex : hex;\n }\n\n var hex = '#' + componentToHex(rgb[0]) + componentToHex(rgb[1]) + componentToHex(rgb[2]);\n\n return hex;\n\n }\n\n function defineColor (name, hueRange, lowerBounds) {\n\n var sMin = lowerBounds[0][0],\n sMax = lowerBounds[lowerBounds.length - 1][0],\n\n bMin = lowerBounds[lowerBounds.length - 1][1],\n bMax = lowerBounds[0][1];\n\n colorDictionary[name] = {\n hueRange: hueRange,\n lowerBounds: lowerBounds,\n saturationRange: [sMin, sMax],\n brightnessRange: [bMin, bMax]\n };\n\n }\n\n function loadColorBounds () {\n\n defineColor(\n 'monochrome',\n null,\n [[0,0],[100,0]]\n );\n\n defineColor(\n 'red',\n [-26,18],\n [[20,100],[30,92],[40,89],[50,85],[60,78],[70,70],[80,60],[90,55],[100,50]]\n );\n\n defineColor(\n 'orange',\n [18,46],\n [[20,100],[30,93],[40,88],[50,86],[60,85],[70,70],[100,70]]\n );\n\n defineColor(\n 'yellow',\n [46,62],\n [[25,100],[40,94],[50,89],[60,86],[70,84],[80,82],[90,80],[100,75]]\n );\n\n defineColor(\n 'green',\n [62,178],\n [[30,100],[40,90],[50,85],[60,81],[70,74],[80,64],[90,50],[100,40]]\n );\n\n defineColor(\n 'blue',\n [178, 257],\n [[20,100],[30,86],[40,80],[50,74],[60,60],[70,52],[80,44],[90,39],[100,35]]\n );\n\n defineColor(\n 'purple',\n [257, 282],\n [[20,100],[30,87],[40,79],[50,70],[60,65],[70,59],[80,52],[90,45],[100,42]]\n );\n\n defineColor(\n 'pink',\n [282, 334],\n [[20,100],[30,90],[40,86],[60,84],[80,80],[90,75],[100,73]]\n );\n\n }\n\n function HSVtoRGB (hsv) {\n\n // this doesn't work for the values of 0 and 360\n // here's the hacky fix\n var h = hsv[0];\n if (h === 0) {h = 1;}\n if (h === 360) {h = 359;}\n\n // Rebase the h,s,v values\n h = h/360;\n var s = hsv[1]/100,\n v = hsv[2]/100;\n\n var h_i = Math.floor(h*6),\n f = h * 6 - h_i,\n p = v * (1 - s),\n q = v * (1 - f*s),\n t = v * (1 - (1 - f)*s),\n r = 256,\n g = 256,\n b = 256;\n\n switch(h_i) {\n case 0: r = v; g = t; b = p; break;\n case 1: r = q; g = v; b = p; break;\n case 2: r = p; g = v; b = t; break;\n case 3: r = p; g = q; b = v; break;\n case 4: r = t; g = p; b = v; break;\n case 5: r = v; g = p; b = q; break;\n }\n\n var result = [Math.floor(r*255), Math.floor(g*255), Math.floor(b*255)];\n return result;\n }\n\n function HexToHSB (hex) {\n hex = hex.replace(/^#/, '');\n hex = hex.length === 3 ? hex.replace(/(.)/g, '$1$1') : hex;\n\n var red = parseInt(hex.substr(0, 2), 16) / 255,\n green = parseInt(hex.substr(2, 2), 16) / 255,\n blue = parseInt(hex.substr(4, 2), 16) / 255;\n\n var cMax = Math.max(red, green, blue),\n delta = cMax - Math.min(red, green, blue),\n saturation = cMax ? (delta / cMax) : 0;\n\n switch (cMax) {\n case red: return [ 60 * (((green - blue) / delta) % 6) || 0, saturation, cMax ];\n case green: return [ 60 * (((blue - red) / delta) + 2) || 0, saturation, cMax ];\n case blue: return [ 60 * (((red - green) / delta) + 4) || 0, saturation, cMax ];\n }\n }\n\n function HSVtoHSL (hsv) {\n var h = hsv[0],\n s = hsv[1]/100,\n v = hsv[2]/100,\n k = (2-s)*v;\n\n return [\n h,\n Math.round(s*v / (k<1 ? k : 2-k) * 10000) / 100,\n k/2 * 100\n ];\n }\n\n function stringToInteger (string) {\n var total = 0\n for (var i = 0; i !== string.length; i++) {\n if (total >= Number.MAX_SAFE_INTEGER) break;\n total += string.charCodeAt(i)\n }\n return total\n }\n\n // get The range of given hue when options.count!=0\n function getRealHueRange(colorHue)\n { if (!isNaN(colorHue)) {\n var number = parseInt(colorHue);\n\n if (number < 360 && number > 0) {\n return getColorInfo(colorHue).hueRange\n }\n }\n else if (typeof colorHue === 'string') {\n\n if (colorDictionary[colorHue]) {\n var color = colorDictionary[colorHue];\n\n if (color.hueRange) {\n return color.hueRange\n }\n } else if (colorHue.match(/^#?([0-9A-F]{3}|[0-9A-F]{6})$/i)) {\n var hue = HexToHSB(colorHue)[0]\n return getColorInfo(hue).hueRange\n }\n }\n\n return [0,360]\n}\n return randomColor;\n}));\n","'use strict';\n\n/**\n * Flatten array, one level deep.\n *\n * @template T\n *\n * @param {T[][] | T[] | null} [arr]\n *\n * @return {T[]}\n */\nfunction flatten(arr) {\n return Array.prototype.concat.apply([], arr);\n}\n\nconst nativeToString = Object.prototype.toString;\nconst nativeHasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction isUndefined(obj) {\n return obj === undefined;\n}\n\nfunction isDefined(obj) {\n return obj !== undefined;\n}\n\nfunction isNil(obj) {\n return obj == null;\n}\n\nfunction isArray(obj) {\n return nativeToString.call(obj) === '[object Array]';\n}\n\nfunction isObject(obj) {\n return nativeToString.call(obj) === '[object Object]';\n}\n\nfunction isNumber(obj) {\n return nativeToString.call(obj) === '[object Number]';\n}\n\n/**\n * @param {any} obj\n *\n * @return {boolean}\n */\nfunction isFunction(obj) {\n const tag = nativeToString.call(obj);\n\n return (\n tag === '[object Function]' ||\n tag === '[object AsyncFunction]' ||\n tag === '[object GeneratorFunction]' ||\n tag === '[object AsyncGeneratorFunction]' ||\n tag === '[object Proxy]'\n );\n}\n\nfunction isString(obj) {\n return nativeToString.call(obj) === '[object String]';\n}\n\n\n/**\n * Ensure collection is an array.\n *\n * @param {Object} obj\n */\nfunction ensureArray(obj) {\n\n if (isArray(obj)) {\n return;\n }\n\n throw new Error('must supply array');\n}\n\n/**\n * Return true, if target owns a property with the given key.\n *\n * @param {Object} target\n * @param {String} key\n *\n * @return {Boolean}\n */\nfunction has(target, key) {\n return nativeHasOwnProperty.call(target, key);\n}\n\n/**\n * @template T\n * @typedef { (\n * ((e: T) => boolean) |\n * ((e: T, idx: number) => boolean) |\n * ((e: T, key: string) => boolean) |\n * string |\n * number\n * ) } Matcher\n */\n\n/**\n * @template T\n * @template U\n *\n * @typedef { (\n * ((e: T) => U) | string | number\n * ) } Extractor\n */\n\n\n/**\n * @template T\n * @typedef { (val: T, key: any) => boolean } MatchFn\n */\n\n/**\n * @template T\n * @typedef { T[] } ArrayCollection\n */\n\n/**\n * @template T\n * @typedef { { [key: string]: T } } StringKeyValueCollection\n */\n\n/**\n * @template T\n * @typedef { { [key: number]: T } } NumberKeyValueCollection\n */\n\n/**\n * @template T\n * @typedef { StringKeyValueCollection | NumberKeyValueCollection } KeyValueCollection\n */\n\n/**\n * @template T\n * @typedef { KeyValueCollection | ArrayCollection } Collection\n */\n\n/**\n * Find element in collection.\n *\n * @template T\n * @param {Collection} collection\n * @param {Matcher} matcher\n *\n * @return {Object}\n */\nfunction find(collection, matcher) {\n\n const matchFn = toMatcher(matcher);\n\n let match;\n\n forEach(collection, function(val, key) {\n if (matchFn(val, key)) {\n match = val;\n\n return false;\n }\n });\n\n return match;\n\n}\n\n\n/**\n * Find element index in collection.\n *\n * @template T\n * @param {Collection} collection\n * @param {Matcher} matcher\n *\n * @return {number}\n */\nfunction findIndex(collection, matcher) {\n\n const matchFn = toMatcher(matcher);\n\n let idx = isArray(collection) ? -1 : undefined;\n\n forEach(collection, function(val, key) {\n if (matchFn(val, key)) {\n idx = key;\n\n return false;\n }\n });\n\n return idx;\n}\n\n\n/**\n * Filter elements in collection.\n *\n * @template T\n * @param {Collection} collection\n * @param {Matcher} matcher\n *\n * @return {T[]} result\n */\nfunction filter(collection, matcher) {\n\n const matchFn = toMatcher(matcher);\n\n let result = [];\n\n forEach(collection, function(val, key) {\n if (matchFn(val, key)) {\n result.push(val);\n }\n });\n\n return result;\n}\n\n\n/**\n * Iterate over collection; returning something\n * (non-undefined) will stop iteration.\n *\n * @template T\n * @param {Collection} collection\n * @param { ((item: T, idx: number) => (boolean|void)) | ((item: T, key: string) => (boolean|void)) } iterator\n *\n * @return {T} return result that stopped the iteration\n */\nfunction forEach(collection, iterator) {\n\n let val,\n result;\n\n if (isUndefined(collection)) {\n return;\n }\n\n const convertKey = isArray(collection) ? toNum : identity;\n\n for (let key in collection) {\n\n if (has(collection, key)) {\n val = collection[key];\n\n result = iterator(val, convertKey(key));\n\n if (result === false) {\n return val;\n }\n }\n }\n}\n\n/**\n * Return collection without element.\n *\n * @template T\n * @param {ArrayCollection} arr\n * @param {Matcher} matcher\n *\n * @return {T[]}\n */\nfunction without(arr, matcher) {\n\n if (isUndefined(arr)) {\n return [];\n }\n\n ensureArray(arr);\n\n const matchFn = toMatcher(matcher);\n\n return arr.filter(function(el, idx) {\n return !matchFn(el, idx);\n });\n\n}\n\n\n/**\n * Reduce collection, returning a single result.\n *\n * @template T\n * @template V\n *\n * @param {Collection} collection\n * @param {(result: V, entry: T, index: any) => V} iterator\n * @param {V} result\n *\n * @return {V} result returned from last iterator\n */\nfunction reduce(collection, iterator, result) {\n\n forEach(collection, function(value, idx) {\n result = iterator(result, value, idx);\n });\n\n return result;\n}\n\n\n/**\n * Return true if every element in the collection\n * matches the criteria.\n *\n * @param {Object|Array} collection\n * @param {Function} matcher\n *\n * @return {Boolean}\n */\nfunction every(collection, matcher) {\n\n return !!reduce(collection, function(matches, val, key) {\n return matches && matcher(val, key);\n }, true);\n}\n\n\n/**\n * Return true if some elements in the collection\n * match the criteria.\n *\n * @param {Object|Array} collection\n * @param {Function} matcher\n *\n * @return {Boolean}\n */\nfunction some(collection, matcher) {\n\n return !!find(collection, matcher);\n}\n\n\n/**\n * Transform a collection into another collection\n * by piping each member through the given fn.\n *\n * @param {Object|Array} collection\n * @param {Function} fn\n *\n * @return {Array} transformed collection\n */\nfunction map(collection, fn) {\n\n let result = [];\n\n forEach(collection, function(val, key) {\n result.push(fn(val, key));\n });\n\n return result;\n}\n\n\n/**\n * Get the collections keys.\n *\n * @param {Object|Array} collection\n *\n * @return {Array}\n */\nfunction keys(collection) {\n return collection && Object.keys(collection) || [];\n}\n\n\n/**\n * Shorthand for `keys(o).length`.\n *\n * @param {Object|Array} collection\n *\n * @return {Number}\n */\nfunction size(collection) {\n return keys(collection).length;\n}\n\n\n/**\n * Get the values in the collection.\n *\n * @param {Object|Array} collection\n *\n * @return {Array}\n */\nfunction values(collection) {\n return map(collection, (val) => val);\n}\n\n\n/**\n * Group collection members by attribute.\n *\n * @param {Object|Array} collection\n * @param {Extractor} extractor\n *\n * @return {Object} map with { attrValue => [ a, b, c ] }\n */\nfunction groupBy(collection, extractor, grouped = {}) {\n\n extractor = toExtractor(extractor);\n\n forEach(collection, function(val) {\n let discriminator = extractor(val) || '_';\n\n let group = grouped[discriminator];\n\n if (!group) {\n group = grouped[discriminator] = [];\n }\n\n group.push(val);\n });\n\n return grouped;\n}\n\n\nfunction uniqueBy(extractor, ...collections) {\n\n extractor = toExtractor(extractor);\n\n let grouped = {};\n\n forEach(collections, (c) => groupBy(c, extractor, grouped));\n\n let result = map(grouped, function(val, key) {\n return val[0];\n });\n\n return result;\n}\n\n\nconst unionBy = uniqueBy;\n\n\n\n/**\n * Sort collection by criteria.\n *\n * @template T\n *\n * @param {Collection} collection\n * @param {Extractor} extractor\n *\n * @return {Array}\n */\nfunction sortBy(collection, extractor) {\n\n extractor = toExtractor(extractor);\n\n let sorted = [];\n\n forEach(collection, function(value, key) {\n let disc = extractor(value, key);\n\n let entry = {\n d: disc,\n v: value\n };\n\n for (var idx = 0; idx < sorted.length; idx++) {\n let { d } = sorted[idx];\n\n if (disc < d) {\n sorted.splice(idx, 0, entry);\n return;\n }\n }\n\n // not inserted, append (!)\n sorted.push(entry);\n });\n\n return map(sorted, (e) => e.v);\n}\n\n\n/**\n * Create an object pattern matcher.\n *\n * @example\n *\n * ```javascript\n * const matcher = matchPattern({ id: 1 });\n *\n * let element = find(elements, matcher);\n * ```\n *\n * @template T\n *\n * @param {T} pattern\n *\n * @return { (el: any) => boolean } matcherFn\n */\nfunction matchPattern(pattern) {\n\n return function(el) {\n\n return every(pattern, function(val, key) {\n return el[key] === val;\n });\n\n };\n}\n\n\n/**\n * @param {string | ((e: any) => any) } extractor\n *\n * @return { (e: any) => any }\n */\nfunction toExtractor(extractor) {\n\n /**\n * @satisfies { (e: any) => any }\n */\n return isFunction(extractor) ? extractor : (e) => {\n\n // @ts-ignore: just works\n return e[extractor];\n };\n}\n\n\n/**\n * @template T\n * @param {Matcher} matcher\n *\n * @return {MatchFn}\n */\nfunction toMatcher(matcher) {\n return isFunction(matcher) ? matcher : (e) => {\n return e === matcher;\n };\n}\n\n\nfunction identity(arg) {\n return arg;\n}\n\nfunction toNum(arg) {\n return Number(arg);\n}\n\n/* global setTimeout clearTimeout */\n\n/**\n * @typedef { {\n * (...args: any[]): any;\n * flush: () => void;\n * cancel: () => void;\n * } } DebouncedFunction\n */\n\n/**\n * Debounce fn, calling it only once if the given time\n * elapsed between calls.\n *\n * Lodash-style the function exposes methods to `#clear`\n * and `#flush` to control internal behavior.\n *\n * @param {Function} fn\n * @param {Number} timeout\n *\n * @return {DebouncedFunction} debounced function\n */\nfunction debounce(fn, timeout) {\n\n let timer;\n\n let lastArgs;\n let lastThis;\n\n let lastNow;\n\n function fire(force) {\n\n let now = Date.now();\n\n let scheduledDiff = force ? 0 : (lastNow + timeout) - now;\n\n if (scheduledDiff > 0) {\n return schedule(scheduledDiff);\n }\n\n fn.apply(lastThis, lastArgs);\n\n clear();\n }\n\n function schedule(timeout) {\n timer = setTimeout(fire, timeout);\n }\n\n function clear() {\n if (timer) {\n clearTimeout(timer);\n }\n\n timer = lastNow = lastArgs = lastThis = undefined;\n }\n\n function flush() {\n if (timer) {\n fire(true);\n }\n\n clear();\n }\n\n /**\n * @type { DebouncedFunction }\n */\n function callback(...args) {\n lastNow = Date.now();\n\n lastArgs = args;\n lastThis = this;\n\n // ensure an execution is scheduled\n if (!timer) {\n schedule(timeout);\n }\n }\n\n callback.flush = flush;\n callback.cancel = clear;\n\n return callback;\n}\n\n/**\n * Throttle fn, calling at most once\n * in the given interval.\n *\n * @param {Function} fn\n * @param {Number} interval\n *\n * @return {Function} throttled function\n */\nfunction throttle(fn, interval) {\n let throttling = false;\n\n return function(...args) {\n\n if (throttling) {\n return;\n }\n\n fn(...args);\n throttling = true;\n\n setTimeout(() => {\n throttling = false;\n }, interval);\n };\n}\n\n/**\n * Bind function against target .\n *\n * @param {Function} fn\n * @param {Object} target\n *\n * @return {Function} bound function\n */\nfunction bind(fn, target) {\n return fn.bind(target);\n}\n\n/**\n * Convenience wrapper for `Object.assign`.\n *\n * @param {Object} target\n * @param {...Object} others\n *\n * @return {Object} the target\n */\nfunction assign(target, ...others) {\n return Object.assign(target, ...others);\n}\n\n/**\n * Sets a nested property of a given object to the specified value.\n *\n * This mutates the object and returns it.\n *\n * @template T\n *\n * @param {T} target The target of the set operation.\n * @param {(string|number)[]} path The path to the nested value.\n * @param {any} value The value to set.\n *\n * @return {T}\n */\nfunction set(target, path, value) {\n\n let currentTarget = target;\n\n forEach(path, function(key, idx) {\n\n if (typeof key !== 'number' && typeof key !== 'string') {\n throw new Error('illegal key type: ' + typeof key + '. Key should be of type number or string.');\n }\n\n if (key === 'constructor') {\n throw new Error('illegal key: constructor');\n }\n\n if (key === '__proto__') {\n throw new Error('illegal key: __proto__');\n }\n\n let nextKey = path[idx + 1];\n let nextTarget = currentTarget[key];\n\n if (isDefined(nextKey) && isNil(nextTarget)) {\n nextTarget = currentTarget[key] = isNaN(+nextKey) ? {} : [];\n }\n\n if (isUndefined(nextKey)) {\n if (isUndefined(value)) {\n delete currentTarget[key];\n } else {\n currentTarget[key] = value;\n }\n } else {\n currentTarget = nextTarget;\n }\n });\n\n return target;\n}\n\n\n/**\n * Gets a nested property of a given object.\n *\n * @param {Object} target The target of the get operation.\n * @param {(string|number)[]} path The path to the nested value.\n * @param {any} [defaultValue] The value to return if no value exists.\n *\n * @return {any}\n */\nfunction get(target, path, defaultValue) {\n\n let currentTarget = target;\n\n forEach(path, function(key) {\n\n // accessing nil property yields \n if (isNil(currentTarget)) {\n currentTarget = undefined;\n\n return false;\n }\n\n currentTarget = currentTarget[key];\n });\n\n return isUndefined(currentTarget) ? defaultValue : currentTarget;\n}\n\n/**\n * Pick properties from the given target.\n *\n * @template T\n * @template {any[]} V\n *\n * @param {T} target\n * @param {V} properties\n *\n * @return Pick\n */\nfunction pick(target, properties) {\n\n let result = {};\n\n let obj = Object(target);\n\n forEach(properties, function(prop) {\n\n if (prop in obj) {\n result[prop] = target[prop];\n }\n });\n\n return result;\n}\n\n/**\n * Pick all target properties, excluding the given ones.\n *\n * @template T\n * @template {any[]} V\n *\n * @param {T} target\n * @param {V} properties\n *\n * @return {Omit} target\n */\nfunction omit(target, properties) {\n\n let result = {};\n\n let obj = Object(target);\n\n forEach(obj, function(prop, key) {\n\n if (properties.indexOf(key) === -1) {\n result[key] = prop;\n }\n });\n\n return result;\n}\n\n/**\n * Recursively merge `...sources` into given target.\n *\n * Does support merging objects; does not support merging arrays.\n *\n * @param {Object} target\n * @param {...Object} sources\n *\n * @return {Object} the target\n */\nfunction merge(target, ...sources) {\n\n if (!sources.length) {\n return target;\n }\n\n forEach(sources, function(source) {\n\n // skip non-obj sources, i.e. null\n if (!source || !isObject(source)) {\n return;\n }\n\n forEach(source, function(sourceVal, key) {\n\n if (key === '__proto__') {\n return;\n }\n\n let targetVal = target[key];\n\n if (isObject(sourceVal)) {\n\n if (!isObject(targetVal)) {\n\n // override target[key] with object\n targetVal = {};\n }\n\n target[key] = merge(targetVal, sourceVal);\n } else {\n target[key] = sourceVal;\n }\n\n });\n });\n\n return target;\n}\n\nexports.assign = assign;\nexports.bind = bind;\nexports.debounce = debounce;\nexports.ensureArray = ensureArray;\nexports.every = every;\nexports.filter = filter;\nexports.find = find;\nexports.findIndex = findIndex;\nexports.flatten = flatten;\nexports.forEach = forEach;\nexports.get = get;\nexports.groupBy = groupBy;\nexports.has = has;\nexports.isArray = isArray;\nexports.isDefined = isDefined;\nexports.isFunction = isFunction;\nexports.isNil = isNil;\nexports.isNumber = isNumber;\nexports.isObject = isObject;\nexports.isString = isString;\nexports.isUndefined = isUndefined;\nexports.keys = keys;\nexports.map = map;\nexports.matchPattern = matchPattern;\nexports.merge = merge;\nexports.omit = omit;\nexports.pick = pick;\nexports.reduce = reduce;\nexports.set = set;\nexports.size = size;\nexports.some = some;\nexports.sortBy = sortBy;\nexports.throttle = throttle;\nexports.unionBy = unionBy;\nexports.uniqueBy = uniqueBy;\nexports.values = values;\nexports.without = without;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","function createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar hat_1 = createCommonjsModule(function (module) {\nvar hat = module.exports = function (bits, base) {\n if (!base) base = 16;\n if (bits === undefined) bits = 128;\n if (bits <= 0) return '0';\n \n var digits = Math.log(Math.pow(2, bits)) / Math.log(base);\n for (var i = 2; digits === Infinity; i *= 2) {\n digits = Math.log(Math.pow(2, bits / i)) / Math.log(base) * i;\n }\n \n var rem = digits - Math.floor(digits);\n \n var res = '';\n \n for (var i = 0; i < Math.floor(digits); i++) {\n var x = Math.floor(Math.random() * base).toString(base);\n res = x + res;\n }\n \n if (rem) {\n var b = Math.pow(base, rem);\n var x = Math.floor(Math.random() * b).toString(base);\n res = x + res;\n }\n \n var parsed = parseInt(res, base);\n if (parsed !== Infinity && parsed >= Math.pow(2, bits)) {\n return hat(bits, base)\n }\n else return res;\n};\n\nhat.rack = function (bits, base, expandBy) {\n var fn = function (data) {\n var iters = 0;\n do {\n if (iters ++ > 10) {\n if (expandBy) bits += expandBy;\n else throw new Error('too many ID collisions, use more bits')\n }\n \n var id = hat(bits, base);\n } while (Object.hasOwnProperty.call(hats, id));\n \n hats[id] = data;\n return id;\n };\n var hats = fn.hats = {};\n \n fn.get = function (id) {\n return fn.hats[id];\n };\n \n fn.set = function (id, value) {\n fn.hats[id] = value;\n return fn;\n };\n \n fn.bits = bits || 128;\n fn.base = base || 16;\n return fn;\n};\n});\n\n/**\n * Create a new id generator / cache instance.\n *\n * You may optionally provide a seed that is used internally.\n *\n * @param {Seed} seed\n */\nfunction Ids(seed) {\n if (!(this instanceof Ids)) {\n return new Ids(seed);\n }\n seed = seed || [128, 36, 1];\n this._seed = seed.length ? hat_1.rack(seed[0], seed[1], seed[2]) : seed;\n}\n\n/**\n * Generate a next id.\n *\n * @param {Object} [element] element to bind the id to\n *\n * @return {String} id\n */\nIds.prototype.next = function (element) {\n return this._seed(element || true);\n};\n\n/**\n * Generate a next id with a given prefix.\n *\n * @param {Object} [element] element to bind the id to\n *\n * @return {String} id\n */\nIds.prototype.nextPrefixed = function (prefix, element) {\n var id;\n do {\n id = prefix + this.next(true);\n } while (this.assigned(id));\n\n // claim {prefix}{random}\n this.claim(id, element);\n\n // return\n return id;\n};\n\n/**\n * Manually claim an existing id.\n *\n * @param {String} id\n * @param {String} [element] element the id is claimed by\n */\nIds.prototype.claim = function (id, element) {\n this._seed.set(id, element || true);\n};\n\n/**\n * Returns true if the given id has already been assigned.\n *\n * @param {String} id\n * @return {Boolean}\n */\nIds.prototype.assigned = function (id) {\n return this._seed.get(id) || false;\n};\n\n/**\n * Unclaim an id.\n *\n * @param {String} id the id to unclaim\n */\nIds.prototype.unclaim = function (id) {\n delete this._seed.hats[id];\n};\n\n/**\n * Clear all claimed ids.\n */\nIds.prototype.clear = function () {\n var hats = this._seed.hats,\n id;\n for (id in hats) {\n this.unclaim(id);\n }\n};\n\nexport default Ids;\n//# sourceMappingURL=index.esm.js.map\n","/* eslint no-bitwise: off */\n\nconst ACTIVATED = 1;\nconst RUNNING = 1 << 1;\nconst ENDING = 1 << 2;\nconst ENDED = 1 << 3;\nconst DESTROYED = 1 << 4;\nconst FAILED = 1 << 5;\nconst TERMINATED = 1 << 6;\nconst CANCELED = 1 << 7;\nconst COMPLETED = 1 << 8;\nconst COMPENSABLE = 1 << 9;\n\nconst ACTIVE = ACTIVATED | RUNNING | ENDING;\nconst NOT_DEAD = ACTIVATED | ENDED;\n\nexport const ScopeTraits = Object.freeze({\n ACTIVATED,\n RUNNING,\n ENDING,\n ENDED,\n DESTROYED,\n FAILED,\n TERMINATED,\n CANCELED,\n COMPLETED,\n COMPENSABLE,\n ACTIVE,\n NOT_DEAD\n});","/* eslint no-bitwise: off */\n\nimport {\n ScopeTraits\n} from './ScopeTraits';\n\nconst SELF = {};\n\nfunction illegalTransition(state, target) {\n throw new Error(`illegal transition: ${state.name} -> ${target}`);\n}\n\nfunction orSelf(state, self) {\n if (state === SELF) {\n return self;\n }\n\n return state;\n}\n\n/**\n * A representation of a scopes state with name, traits, and supported\n * transitions to other states.\n */\nexport class ScopeState {\n\n /**\n * @param {string} name\n * @param {number} traits\n * @param {object} [transitions]\n * @param {ScopeState} [transitions.start]\n * @param {ScopeState} [transitions.cancel]\n * @param {ScopeState} [transitions.complete]\n * @param {ScopeState} [transitions.destroy]\n * @param {ScopeState} [transitions.fail]\n * @param {ScopeState} [transitions.terminate]\n * @param {ScopeState} [transitions.compensable]\n */\n constructor(name, traits, {\n start,\n cancel,\n complete,\n destroy,\n fail,\n terminate,\n compensable\n } = {}) {\n this.name = name;\n\n /**\n * A bit-wise encoded set of traits\n * characterizing the scope.\n *\n * @type {number}\n */\n this.traits = traits;\n\n this._start = orSelf(start, this);\n this._compensable = orSelf(compensable, this);\n this._cancel = orSelf(cancel, this);\n this._complete = orSelf(complete, this);\n this._destroy = orSelf(destroy, this);\n this._fail = orSelf(fail, this);\n this._terminate = orSelf(terminate, this);\n }\n\n /**\n * @param {number} trait\n * @return {boolean}\n */\n hasTrait(trait) {\n return (this.traits & trait) !== 0;\n }\n\n /**\n * @return {ScopeState}\n */\n complete() {\n return this._complete || illegalTransition(this, 'complete');\n }\n\n /**\n * @return {ScopeState}\n */\n destroy() {\n return this._destroy || illegalTransition(this, 'destroy');\n }\n\n /**\n * @return {ScopeState}\n */\n cancel() {\n return this._cancel || illegalTransition(this, 'cancel');\n }\n\n /**\n * @return {ScopeState}\n */\n fail() {\n return this._fail || illegalTransition(this, 'fail');\n }\n\n /**\n * @return {ScopeState}\n */\n terminate() {\n return this._terminate || illegalTransition(this, 'terminate');\n }\n\n /**\n * @return {ScopeState}\n */\n compensable() {\n return this._compensable || illegalTransition(this, 'compensable');\n }\n\n /**\n * @return {ScopeState}\n */\n start() {\n return this._start || illegalTransition(this, 'start');\n }\n}\n\nconst FAILED = new ScopeState('failed', ScopeTraits.DESTROYED | ScopeTraits.FAILED);\n\nconst TERMINATED = new ScopeState('terminated', ScopeTraits.DESTROYED | ScopeTraits.TERMINATED);\n\nconst COMPLETED = new ScopeState('completed', ScopeTraits.DESTROYED | ScopeTraits.COMPLETED);\n\nconst TERMINATING = new ScopeState('terminating', ScopeTraits.ENDING | ScopeTraits.TERMINATED, {\n destroy: TERMINATED\n});\n\nconst CANCELING = new ScopeState('canceling', ScopeTraits.ENDING | ScopeTraits.FAILED | ScopeTraits.CANCELED, {\n destroy: FAILED,\n complete: SELF,\n terminate: TERMINATING\n});\n\nconst COMPLETING = new ScopeState('completing', ScopeTraits.ENDING | ScopeTraits.COMPLETED, {\n destroy: COMPLETED,\n cancel: CANCELING,\n terminate: TERMINATING\n});\n\nconst FAILING = new ScopeState('failing', ScopeTraits.ENDING | ScopeTraits.FAILED, {\n cancel: CANCELING,\n complete: COMPLETING,\n destroy: FAILED,\n terminate: TERMINATING\n});\n\nconst COMPENSABLE_FAILING = new ScopeState('compensable:failing', ScopeTraits.ENDING | ScopeTraits.FAILED, {\n complete: SELF,\n terminate: TERMINATING,\n destroy: FAILED\n});\n\nconst COMPENSABLE_COMPLETED = new ScopeState('compensable:completed', ScopeTraits.ENDED | ScopeTraits.COMPLETED, {\n cancel: CANCELING,\n fail: COMPENSABLE_FAILING,\n destroy: COMPLETED,\n compensable: SELF\n});\n\nconst COMPENSABLE_COMPLETING = new ScopeState('compensable:completing', ScopeTraits.ENDING | ScopeTraits.COMPLETED, {\n destroy: COMPENSABLE_COMPLETED,\n terminate: TERMINATING,\n compensable: SELF\n});\n\nconst COMPENSABLE_RUNNING = new ScopeState('compensable:running', ScopeTraits.RUNNING | ScopeTraits.COMPENSABLE, {\n cancel: CANCELING,\n complete: COMPENSABLE_COMPLETING,\n compensable: SELF,\n destroy: COMPENSABLE_COMPLETED,\n fail: FAILING,\n terminate: TERMINATING\n});\n\nconst RUNNING = new ScopeState('running', ScopeTraits.RUNNING, {\n cancel: CANCELING,\n complete: COMPLETING,\n compensable: COMPENSABLE_RUNNING,\n destroy: TERMINATED,\n fail: FAILING,\n terminate: TERMINATING\n});\n\nconst ACTIVATED = new ScopeState('activated', ScopeTraits.ACTIVATED, {\n start: RUNNING,\n destroy: TERMINATED\n});\n\nexport const ScopeStates = Object.freeze({\n ACTIVATED,\n RUNNING,\n CANCELING,\n COMPLETING,\n COMPLETED,\n FAILING,\n FAILED,\n TERMINATING,\n TERMINATED,\n});","import { ScopeTraits } from './ScopeTraits';\nimport { ScopeStates } from './ScopeStates';\n\n\n/**\n * A representation of anything runnable in token simulation land.\n */\nexport default class Scope {\n\n /**\n * @param {string} id\n * @param {Element} element\n * @param {Scope} parent\n * @param {Scope} initiator\n *\n * @constructor\n */\n constructor(id, element, parent = null, initiator = null) {\n this.id = id;\n this.element = element;\n this.parent = parent;\n this.initiator = initiator;\n\n this.subscriptions = new Set();\n\n this.children = [];\n this.state = ScopeStates.ACTIVATED;\n }\n\n /**\n * @return {boolean}\n */\n get running() {\n return this.hasTrait(ScopeTraits.RUNNING);\n }\n\n /**\n * @return {boolean}\n */\n get destroyed() {\n return this.hasTrait(ScopeTraits.DESTROYED);\n }\n\n /**\n * @return {boolean}\n */\n get completed() {\n return this.hasTrait(ScopeTraits.COMPLETED);\n }\n\n /**\n * @return {boolean}\n */\n get canceled() {\n return this.hasTrait(ScopeTraits.CANCELED);\n }\n\n /**\n * @return {boolean}\n */\n get failed() {\n return this.hasTrait(ScopeTraits.FAILED);\n }\n\n /**\n * @param {number} phase\n * @return {boolean}\n */\n hasTrait(trait) {\n return this.state.hasTrait(trait);\n }\n\n /**\n * Start the scope\n *\n * @return {Scope}\n */\n start() {\n this.state = this.state.start();\n\n return this;\n }\n\n /**\n * Make this scope compensable.\n *\n * @return {Scope}\n */\n compensable() {\n this.state = this.state.compensable();\n\n return this;\n }\n\n /**\n * @param {Scope} initiator\n *\n * @return {Scope}\n */\n fail(initiator) {\n if (!this.failed) {\n this.state = this.state.fail();\n\n this.failInitiator = initiator;\n }\n\n return this;\n }\n\n cancel(initiator) {\n\n if (!this.canceled) {\n this.state = this.state.cancel();\n\n this.cancelInitiator = initiator;\n }\n\n return this;\n }\n\n /**\n * @param {Scope} initiator\n *\n * @return {Scope}\n */\n terminate(initiator) {\n this.state = this.state.terminate();\n\n this.terminateInitiator = initiator;\n\n return this;\n }\n\n /**\n * @return {Scope}\n */\n complete() {\n this.state = this.state.complete();\n\n return this;\n }\n\n /**\n * Destroy the scope\n *\n * @param {Scope} initiator\n *\n * @return {Scope}\n */\n destroy(initiator) {\n this.state = this.state.destroy();\n\n this.destroyInitiator = initiator;\n\n return this;\n }\n\n /**\n * @return {number}\n */\n getTokens() {\n return this.children.filter(c => !c.destroyed).length;\n }\n\n /**\n * @param {Element} element\n *\n * @return {number}\n */\n getTokensByElement(element) {\n return this.children.filter(c => !c.destroyed && c.element === element).length;\n }\n\n}","export function filterSet(set, matchFn) {\n\n const matched = [];\n\n for (const el of set) {\n if (matchFn(el)) {\n matched.push(el);\n }\n }\n\n return matched;\n}\n\nexport function findSet(set, matchFn) {\n\n for (const el of set) {\n if (matchFn(el)) {\n return el;\n }\n }\n\n return null;\n}","export function eventsMatch(a, b) {\n const attrMatch = [ 'type', 'name', 'iref' ].every(attr => !(attr in a) || a[attr] === b[attr]);\n const catchAllMatch = !b.ref && (b.type === 'error' || b.type === 'escalation');\n\n return attrMatch && (catchAllMatch || refsMatch(a, b));\n}\n\nexport function refsMatch(a, b) {\n const attr = 'ref';\n return !(attr in a) || a[attr] === b[attr];\n}","/**\n * Flatten array, one level deep.\n *\n * @template T\n *\n * @param {T[][] | T[] | null} [arr]\n *\n * @return {T[]}\n */\nfunction flatten(arr) {\n return Array.prototype.concat.apply([], arr);\n}\n\nconst nativeToString = Object.prototype.toString;\nconst nativeHasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction isUndefined(obj) {\n return obj === undefined;\n}\n\nfunction isDefined(obj) {\n return obj !== undefined;\n}\n\nfunction isNil(obj) {\n return obj == null;\n}\n\nfunction isArray(obj) {\n return nativeToString.call(obj) === '[object Array]';\n}\n\nfunction isObject(obj) {\n return nativeToString.call(obj) === '[object Object]';\n}\n\nfunction isNumber(obj) {\n return nativeToString.call(obj) === '[object Number]';\n}\n\n/**\n * @param {any} obj\n *\n * @return {boolean}\n */\nfunction isFunction(obj) {\n const tag = nativeToString.call(obj);\n\n return (\n tag === '[object Function]' ||\n tag === '[object AsyncFunction]' ||\n tag === '[object GeneratorFunction]' ||\n tag === '[object AsyncGeneratorFunction]' ||\n tag === '[object Proxy]'\n );\n}\n\nfunction isString(obj) {\n return nativeToString.call(obj) === '[object String]';\n}\n\n\n/**\n * Ensure collection is an array.\n *\n * @param {Object} obj\n */\nfunction ensureArray(obj) {\n\n if (isArray(obj)) {\n return;\n }\n\n throw new Error('must supply array');\n}\n\n/**\n * Return true, if target owns a property with the given key.\n *\n * @param {Object} target\n * @param {String} key\n *\n * @return {Boolean}\n */\nfunction has(target, key) {\n return nativeHasOwnProperty.call(target, key);\n}\n\n/**\n * @template T\n * @typedef { (\n * ((e: T) => boolean) |\n * ((e: T, idx: number) => boolean) |\n * ((e: T, key: string) => boolean) |\n * string |\n * number\n * ) } Matcher\n */\n\n/**\n * @template T\n * @template U\n *\n * @typedef { (\n * ((e: T) => U) | string | number\n * ) } Extractor\n */\n\n\n/**\n * @template T\n * @typedef { (val: T, key: any) => boolean } MatchFn\n */\n\n/**\n * @template T\n * @typedef { T[] } ArrayCollection\n */\n\n/**\n * @template T\n * @typedef { { [key: string]: T } } StringKeyValueCollection\n */\n\n/**\n * @template T\n * @typedef { { [key: number]: T } } NumberKeyValueCollection\n */\n\n/**\n * @template T\n * @typedef { StringKeyValueCollection | NumberKeyValueCollection } KeyValueCollection\n */\n\n/**\n * @template T\n * @typedef { KeyValueCollection | ArrayCollection } Collection\n */\n\n/**\n * Find element in collection.\n *\n * @template T\n * @param {Collection} collection\n * @param {Matcher} matcher\n *\n * @return {Object}\n */\nfunction find(collection, matcher) {\n\n const matchFn = toMatcher(matcher);\n\n let match;\n\n forEach(collection, function(val, key) {\n if (matchFn(val, key)) {\n match = val;\n\n return false;\n }\n });\n\n return match;\n\n}\n\n\n/**\n * Find element index in collection.\n *\n * @template T\n * @param {Collection} collection\n * @param {Matcher} matcher\n *\n * @return {number}\n */\nfunction findIndex(collection, matcher) {\n\n const matchFn = toMatcher(matcher);\n\n let idx = isArray(collection) ? -1 : undefined;\n\n forEach(collection, function(val, key) {\n if (matchFn(val, key)) {\n idx = key;\n\n return false;\n }\n });\n\n return idx;\n}\n\n\n/**\n * Filter elements in collection.\n *\n * @template T\n * @param {Collection} collection\n * @param {Matcher} matcher\n *\n * @return {T[]} result\n */\nfunction filter(collection, matcher) {\n\n const matchFn = toMatcher(matcher);\n\n let result = [];\n\n forEach(collection, function(val, key) {\n if (matchFn(val, key)) {\n result.push(val);\n }\n });\n\n return result;\n}\n\n\n/**\n * Iterate over collection; returning something\n * (non-undefined) will stop iteration.\n *\n * @template T\n * @param {Collection} collection\n * @param { ((item: T, idx: number) => (boolean|void)) | ((item: T, key: string) => (boolean|void)) } iterator\n *\n * @return {T} return result that stopped the iteration\n */\nfunction forEach(collection, iterator) {\n\n let val,\n result;\n\n if (isUndefined(collection)) {\n return;\n }\n\n const convertKey = isArray(collection) ? toNum : identity;\n\n for (let key in collection) {\n\n if (has(collection, key)) {\n val = collection[key];\n\n result = iterator(val, convertKey(key));\n\n if (result === false) {\n return val;\n }\n }\n }\n}\n\n/**\n * Return collection without element.\n *\n * @template T\n * @param {ArrayCollection} arr\n * @param {Matcher} matcher\n *\n * @return {T[]}\n */\nfunction without(arr, matcher) {\n\n if (isUndefined(arr)) {\n return [];\n }\n\n ensureArray(arr);\n\n const matchFn = toMatcher(matcher);\n\n return arr.filter(function(el, idx) {\n return !matchFn(el, idx);\n });\n\n}\n\n\n/**\n * Reduce collection, returning a single result.\n *\n * @template T\n * @template V\n *\n * @param {Collection} collection\n * @param {(result: V, entry: T, index: any) => V} iterator\n * @param {V} result\n *\n * @return {V} result returned from last iterator\n */\nfunction reduce(collection, iterator, result) {\n\n forEach(collection, function(value, idx) {\n result = iterator(result, value, idx);\n });\n\n return result;\n}\n\n\n/**\n * Return true if every element in the collection\n * matches the criteria.\n *\n * @param {Object|Array} collection\n * @param {Function} matcher\n *\n * @return {Boolean}\n */\nfunction every(collection, matcher) {\n\n return !!reduce(collection, function(matches, val, key) {\n return matches && matcher(val, key);\n }, true);\n}\n\n\n/**\n * Return true if some elements in the collection\n * match the criteria.\n *\n * @param {Object|Array} collection\n * @param {Function} matcher\n *\n * @return {Boolean}\n */\nfunction some(collection, matcher) {\n\n return !!find(collection, matcher);\n}\n\n\n/**\n * Transform a collection into another collection\n * by piping each member through the given fn.\n *\n * @param {Object|Array} collection\n * @param {Function} fn\n *\n * @return {Array} transformed collection\n */\nfunction map(collection, fn) {\n\n let result = [];\n\n forEach(collection, function(val, key) {\n result.push(fn(val, key));\n });\n\n return result;\n}\n\n\n/**\n * Get the collections keys.\n *\n * @param {Object|Array} collection\n *\n * @return {Array}\n */\nfunction keys(collection) {\n return collection && Object.keys(collection) || [];\n}\n\n\n/**\n * Shorthand for `keys(o).length`.\n *\n * @param {Object|Array} collection\n *\n * @return {Number}\n */\nfunction size(collection) {\n return keys(collection).length;\n}\n\n\n/**\n * Get the values in the collection.\n *\n * @param {Object|Array} collection\n *\n * @return {Array}\n */\nfunction values(collection) {\n return map(collection, (val) => val);\n}\n\n\n/**\n * Group collection members by attribute.\n *\n * @param {Object|Array} collection\n * @param {Extractor} extractor\n *\n * @return {Object} map with { attrValue => [ a, b, c ] }\n */\nfunction groupBy(collection, extractor, grouped = {}) {\n\n extractor = toExtractor(extractor);\n\n forEach(collection, function(val) {\n let discriminator = extractor(val) || '_';\n\n let group = grouped[discriminator];\n\n if (!group) {\n group = grouped[discriminator] = [];\n }\n\n group.push(val);\n });\n\n return grouped;\n}\n\n\nfunction uniqueBy(extractor, ...collections) {\n\n extractor = toExtractor(extractor);\n\n let grouped = {};\n\n forEach(collections, (c) => groupBy(c, extractor, grouped));\n\n let result = map(grouped, function(val, key) {\n return val[0];\n });\n\n return result;\n}\n\n\nconst unionBy = uniqueBy;\n\n\n\n/**\n * Sort collection by criteria.\n *\n * @template T\n *\n * @param {Collection} collection\n * @param {Extractor} extractor\n *\n * @return {Array}\n */\nfunction sortBy(collection, extractor) {\n\n extractor = toExtractor(extractor);\n\n let sorted = [];\n\n forEach(collection, function(value, key) {\n let disc = extractor(value, key);\n\n let entry = {\n d: disc,\n v: value\n };\n\n for (var idx = 0; idx < sorted.length; idx++) {\n let { d } = sorted[idx];\n\n if (disc < d) {\n sorted.splice(idx, 0, entry);\n return;\n }\n }\n\n // not inserted, append (!)\n sorted.push(entry);\n });\n\n return map(sorted, (e) => e.v);\n}\n\n\n/**\n * Create an object pattern matcher.\n *\n * @example\n *\n * ```javascript\n * const matcher = matchPattern({ id: 1 });\n *\n * let element = find(elements, matcher);\n * ```\n *\n * @template T\n *\n * @param {T} pattern\n *\n * @return { (el: any) => boolean } matcherFn\n */\nfunction matchPattern(pattern) {\n\n return function(el) {\n\n return every(pattern, function(val, key) {\n return el[key] === val;\n });\n\n };\n}\n\n\n/**\n * @param {string | ((e: any) => any) } extractor\n *\n * @return { (e: any) => any }\n */\nfunction toExtractor(extractor) {\n\n /**\n * @satisfies { (e: any) => any }\n */\n return isFunction(extractor) ? extractor : (e) => {\n\n // @ts-ignore: just works\n return e[extractor];\n };\n}\n\n\n/**\n * @template T\n * @param {Matcher} matcher\n *\n * @return {MatchFn}\n */\nfunction toMatcher(matcher) {\n return isFunction(matcher) ? matcher : (e) => {\n return e === matcher;\n };\n}\n\n\nfunction identity(arg) {\n return arg;\n}\n\nfunction toNum(arg) {\n return Number(arg);\n}\n\n/* global setTimeout clearTimeout */\n\n/**\n * @typedef { {\n * (...args: any[]): any;\n * flush: () => void;\n * cancel: () => void;\n * } } DebouncedFunction\n */\n\n/**\n * Debounce fn, calling it only once if the given time\n * elapsed between calls.\n *\n * Lodash-style the function exposes methods to `#clear`\n * and `#flush` to control internal behavior.\n *\n * @param {Function} fn\n * @param {Number} timeout\n *\n * @return {DebouncedFunction} debounced function\n */\nfunction debounce(fn, timeout) {\n\n let timer;\n\n let lastArgs;\n let lastThis;\n\n let lastNow;\n\n function fire(force) {\n\n let now = Date.now();\n\n let scheduledDiff = force ? 0 : (lastNow + timeout) - now;\n\n if (scheduledDiff > 0) {\n return schedule(scheduledDiff);\n }\n\n fn.apply(lastThis, lastArgs);\n\n clear();\n }\n\n function schedule(timeout) {\n timer = setTimeout(fire, timeout);\n }\n\n function clear() {\n if (timer) {\n clearTimeout(timer);\n }\n\n timer = lastNow = lastArgs = lastThis = undefined;\n }\n\n function flush() {\n if (timer) {\n fire(true);\n }\n\n clear();\n }\n\n /**\n * @type { DebouncedFunction }\n */\n function callback(...args) {\n lastNow = Date.now();\n\n lastArgs = args;\n lastThis = this;\n\n // ensure an execution is scheduled\n if (!timer) {\n schedule(timeout);\n }\n }\n\n callback.flush = flush;\n callback.cancel = clear;\n\n return callback;\n}\n\n/**\n * Throttle fn, calling at most once\n * in the given interval.\n *\n * @param {Function} fn\n * @param {Number} interval\n *\n * @return {Function} throttled function\n */\nfunction throttle(fn, interval) {\n let throttling = false;\n\n return function(...args) {\n\n if (throttling) {\n return;\n }\n\n fn(...args);\n throttling = true;\n\n setTimeout(() => {\n throttling = false;\n }, interval);\n };\n}\n\n/**\n * Bind function against target .\n *\n * @param {Function} fn\n * @param {Object} target\n *\n * @return {Function} bound function\n */\nfunction bind(fn, target) {\n return fn.bind(target);\n}\n\n/**\n * Convenience wrapper for `Object.assign`.\n *\n * @param {Object} target\n * @param {...Object} others\n *\n * @return {Object} the target\n */\nfunction assign(target, ...others) {\n return Object.assign(target, ...others);\n}\n\n/**\n * Sets a nested property of a given object to the specified value.\n *\n * This mutates the object and returns it.\n *\n * @template T\n *\n * @param {T} target The target of the set operation.\n * @param {(string|number)[]} path The path to the nested value.\n * @param {any} value The value to set.\n *\n * @return {T}\n */\nfunction set(target, path, value) {\n\n let currentTarget = target;\n\n forEach(path, function(key, idx) {\n\n if (typeof key !== 'number' && typeof key !== 'string') {\n throw new Error('illegal key type: ' + typeof key + '. Key should be of type number or string.');\n }\n\n if (key === 'constructor') {\n throw new Error('illegal key: constructor');\n }\n\n if (key === '__proto__') {\n throw new Error('illegal key: __proto__');\n }\n\n let nextKey = path[idx + 1];\n let nextTarget = currentTarget[key];\n\n if (isDefined(nextKey) && isNil(nextTarget)) {\n nextTarget = currentTarget[key] = isNaN(+nextKey) ? {} : [];\n }\n\n if (isUndefined(nextKey)) {\n if (isUndefined(value)) {\n delete currentTarget[key];\n } else {\n currentTarget[key] = value;\n }\n } else {\n currentTarget = nextTarget;\n }\n });\n\n return target;\n}\n\n\n/**\n * Gets a nested property of a given object.\n *\n * @param {Object} target The target of the get operation.\n * @param {(string|number)[]} path The path to the nested value.\n * @param {any} [defaultValue] The value to return if no value exists.\n *\n * @return {any}\n */\nfunction get(target, path, defaultValue) {\n\n let currentTarget = target;\n\n forEach(path, function(key) {\n\n // accessing nil property yields \n if (isNil(currentTarget)) {\n currentTarget = undefined;\n\n return false;\n }\n\n currentTarget = currentTarget[key];\n });\n\n return isUndefined(currentTarget) ? defaultValue : currentTarget;\n}\n\n/**\n * Pick properties from the given target.\n *\n * @template T\n * @template {any[]} V\n *\n * @param {T} target\n * @param {V} properties\n *\n * @return Pick\n */\nfunction pick(target, properties) {\n\n let result = {};\n\n let obj = Object(target);\n\n forEach(properties, function(prop) {\n\n if (prop in obj) {\n result[prop] = target[prop];\n }\n });\n\n return result;\n}\n\n/**\n * Pick all target properties, excluding the given ones.\n *\n * @template T\n * @template {any[]} V\n *\n * @param {T} target\n * @param {V} properties\n *\n * @return {Omit} target\n */\nfunction omit(target, properties) {\n\n let result = {};\n\n let obj = Object(target);\n\n forEach(obj, function(prop, key) {\n\n if (properties.indexOf(key) === -1) {\n result[key] = prop;\n }\n });\n\n return result;\n}\n\n/**\n * Recursively merge `...sources` into given target.\n *\n * Does support merging objects; does not support merging arrays.\n *\n * @param {Object} target\n * @param {...Object} sources\n *\n * @return {Object} the target\n */\nfunction merge(target, ...sources) {\n\n if (!sources.length) {\n return target;\n }\n\n forEach(sources, function(source) {\n\n // skip non-obj sources, i.e. null\n if (!source || !isObject(source)) {\n return;\n }\n\n forEach(source, function(sourceVal, key) {\n\n if (key === '__proto__') {\n return;\n }\n\n let targetVal = target[key];\n\n if (isObject(sourceVal)) {\n\n if (!isObject(targetVal)) {\n\n // override target[key] with object\n targetVal = {};\n }\n\n target[key] = merge(targetVal, sourceVal);\n } else {\n target[key] = sourceVal;\n }\n\n });\n });\n\n return target;\n}\n\nexport { assign, bind, debounce, ensureArray, every, filter, find, findIndex, flatten, forEach, get, groupBy, has, isArray, isDefined, isFunction, isNil, isNumber, isObject, isString, isUndefined, keys, map, matchPattern, merge, omit, pick, reduce, set, size, some, sortBy, throttle, unionBy, uniqueBy, values, without };\n","import {\n some\n} from 'min-dash';\n\n/**\n * @typedef { import('../model/Types').Element } Element\n * @typedef { import('../model/Types').ModdleElement } ModdleElement\n */\n\n/**\n * Is an element of the given BPMN type?\n *\n * @param {Element|ModdleElement} element\n * @param {string} type\n *\n * @return {boolean}\n */\nexport function is(element, type) {\n var bo = getBusinessObject(element);\n\n return bo && (typeof bo.$instanceOf === 'function') && bo.$instanceOf(type);\n}\n\n\n/**\n * Return true if element has any of the given types.\n *\n * @param {Element|ModdleElement} element\n * @param {string[]} types\n *\n * @return {boolean}\n */\nexport function isAny(element, types) {\n return some(types, function(t) {\n return is(element, t);\n });\n}\n\n/**\n * Return the business object for a given element.\n *\n * @param {Element|ModdleElement} element\n *\n * @return {ModdleElement}\n */\nexport function getBusinessObject(element) {\n return (element && element.businessObject) || element;\n}\n\n/**\n * Return the di object for a given element.\n *\n * @param {Element} element\n *\n * @return {ModdleElement}\n */\nexport function getDi(element) {\n return element && element.di;\n}","import {\n is,\n getBusinessObject\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n some\n} from 'min-dash';\n\n\nexport { is, getBusinessObject };\n\nexport function filterSequenceFlows(flows) {\n return flows.filter(f => is(f, 'bpmn:SequenceFlow'));\n}\n\nexport function isMessageFlow(element) {\n return is(element, 'bpmn:MessageFlow');\n}\n\nexport function isSequenceFlow(element) {\n return is(element, 'bpmn:SequenceFlow');\n}\n\nexport function isMessageCatch(element) {\n return isCatchEvent(element) && isTypedEvent(element, 'bpmn:MessageEventDefinition');\n}\n\nexport function isLinkCatch(element) {\n return isCatchEvent(element) && isTypedEvent(element, 'bpmn:LinkEventDefinition');\n}\n\nexport function isCompensationEvent(element) {\n return isCatchEvent(element) && isTypedEvent(element, 'bpmn:CompensateEventDefinition');\n}\n\nexport function isCompensationActivity(element) {\n return is(element, 'bpmn:Activity') && element.businessObject.isForCompensation;\n}\n\nexport function isCatchEvent(element) {\n return (\n is(element, 'bpmn:CatchEvent') ||\n is(element, 'bpmn:ReceiveTask')\n ) && !isLabel(element);\n}\n\nexport function isBoundaryEvent(element) {\n return is(element, 'bpmn:BoundaryEvent') && !isLabel(element);\n}\n\nexport function isNoneStartEvent(element) {\n return isStartEvent(element) && !isTypedEvent(element);\n}\n\nexport function isImplicitStartEvent(element) {\n if (isLabel(element)) {\n return false;\n }\n\n if (!isAny(element, [\n 'bpmn:Activity',\n 'bpmn:IntermediateCatchEvent',\n 'bpmn:IntermediateThrowEvent',\n 'bpmn:Gateway',\n 'bpmn:EndEvent'\n ])) {\n return false;\n }\n\n if (isLinkCatch(element)) {\n return false;\n }\n\n const incoming = element.incoming.find(isSequenceFlow);\n\n if (incoming) {\n return false;\n }\n\n if (isCompensationActivity(element)) {\n return false;\n }\n\n if (isEventSubProcess(element)) {\n return false;\n }\n\n return true;\n}\n\nexport function isStartEvent(element) {\n return is(element, 'bpmn:StartEvent') && !isLabel(element);\n}\n\nexport function isLabel(element) {\n return !!element.labelTarget;\n}\n\nexport function isEventSubProcess(element) {\n return getBusinessObject(element).triggeredByEvent;\n}\n\nexport function isInterrupting(element) {\n return (\n is(element, 'bpmn:StartEvent') && getBusinessObject(element).isInterrupting\n ) || (\n is(element, 'bpmn:BoundaryEvent') && getBusinessObject(element).cancelActivity\n );\n}\n\nexport function isAny(element, types) {\n return types.some(type => is(element, type));\n}\n\n/**\n * @param { DiagramElement} event\n * @param {string|undefined} [eventDefinitionType]\n *\n * @return {boolean}\n */\nexport function isTypedEvent(event, eventDefinitionType) {\n return some(getBusinessObject(event).eventDefinitions, definition => {\n return eventDefinitionType ? is(definition, eventDefinitionType) : true;\n });\n}\n","import Ids from 'ids';\n\nimport Scope from './Scope';\nimport { ScopeTraits } from './ScopeTraits';\n\nimport {\n filterSet,\n findSet\n} from './util/SetUtil';\n\nimport {\n eventsMatch,\n refsMatch\n} from './util/EventsUtil';\n\nimport {\n getBusinessObject,\n is,\n isAny,\n isBoundaryEvent,\n isCompensationEvent,\n isEventSubProcess,\n isImplicitStartEvent,\n isInterrupting,\n isStartEvent\n} from './util/ModelUtil';\n\n/**\n * @typedef { any } DiagramElement\n *\n * @typedef { {\n * element: DiagramElement,\n * interrupting: boolean,\n * boundary: boolean,\n * iref?: string,\n * ref: DiagramElement,\n * persistent?: boolean,\n * type: string\n * } } SimulatorEvent\n */\n\nexport default function Simulator(injector, eventBus, elementRegistry) {\n\n const ids = injector.get('scopeIds', false) || new Ids([ 32, 36 ]);\n\n // element configuration\n const configuration = {};\n\n const behaviors = {};\n\n const noopBehavior = new NoopBehavior();\n\n const changedElements = new Set();\n\n const jobs = [];\n\n const scopes = new Set();\n const subscriptions = new Set();\n\n on('tick', function() {\n for (const element of changedElements) {\n emit('elementChanged', {\n element\n });\n }\n\n changedElements.clear();\n });\n\n function queue(scope, task) {\n\n // add this task\n jobs.push([ task, scope ]);\n\n if (jobs.length !== 1) {\n return;\n }\n\n let next;\n\n while ((next = jobs[0])) {\n\n const [ task, scope ] = next;\n\n if (!scope.destroyed) {\n task();\n }\n\n // remove first task\n jobs.shift();\n }\n\n emit('tick');\n }\n\n function getBehavior(element) {\n return behaviors[element.type] || noopBehavior;\n }\n\n function signal(context) {\n\n const {\n element,\n parentScope,\n initiator = null,\n scope = initializeScope({\n element,\n parent: parentScope,\n initiator\n })\n } = context;\n\n queue(scope, function() {\n\n if (!scope.running) {\n scope.start();\n }\n\n trace('signal', {\n ...context,\n scope\n });\n\n getBehavior(element).signal({\n ...context,\n scope\n });\n\n if (scope.parent) {\n scopeChanged(scope.parent);\n }\n });\n\n return scope;\n }\n\n function enter(context) {\n\n const {\n element,\n scope: parentScope,\n initiator = parentScope\n } = context;\n\n const scope = initializeScope({\n element,\n parent: parentScope,\n initiator\n });\n\n queue(scope, function() {\n\n if (!scope.running) {\n scope.start();\n }\n\n trace('enter', context);\n\n getBehavior(element).enter({\n ...context,\n initiator,\n scope\n });\n\n if (scope.parent) {\n scopeChanged(scope.parent);\n }\n });\n\n return scope;\n }\n\n function exit(context) {\n\n const {\n element,\n scope,\n initiator = scope\n } = context;\n\n queue(scope, function() {\n\n trace('exit', context);\n\n getBehavior(element).exit({\n ...context,\n initiator\n });\n\n if (scope.running) {\n scope.complete();\n }\n\n destroyScope(scope, initiator);\n\n scope.parent && scopeChanged(scope.parent);\n });\n }\n\n function trigger(context) {\n const {\n event: _event,\n initiator,\n scope\n } = context;\n\n // behavior depends on available event subscriptions\n //\n // interrupt (one-off, clear all events)\n // => keep interrupting boundary event sub-scriptions of same type, if available\n //\n // continue (one-off signal)\n //\n // non-interrupting (as many as needed)\n\n const event = getEvent(_event);\n\n const subscriptions = scope.subscriptions;\n\n let matchingSubscriptions = filterSet(\n subscriptions, subscription => eventsMatch(event, subscription.event)\n );\n\n if (event.type === 'error' || event.type === 'escalation') {\n const referenceSubscriptions = filterSet(\n matchingSubscriptions, subscription => refsMatch(event, subscription.event)\n );\n\n if (matchingSubscriptions.every(subscription => subscription.event.boundary)\n && referenceSubscriptions.some(subscription => subscription.event.boundary)\n || referenceSubscriptions.some(subscription => !subscription.event.boundary)) {\n matchingSubscriptions = referenceSubscriptions;\n }\n }\n\n const nonInterrupting = matchingSubscriptions.filter(\n subscription => !subscription.event.interrupting\n );\n\n const interrupting = matchingSubscriptions.filter(\n subscription => subscription.event.interrupting\n );\n\n if (!interrupting.length) {\n return nonInterrupting.map(\n subscription => subscription.triggerFn(initiator)\n ).flat();\n }\n\n const interrupt = interrupting.find(subscription => !subscription.event.boundary) || interrupting[0];\n\n const remainingSubscriptions = filterSet(\n subscriptions,\n subscription => subscription.event.persistent || isRethrow(subscription.event, interrupt.event)\n );\n\n subscriptions.forEach(subscription => {\n if (!remainingSubscriptions.includes(subscription)) {\n subscription.remove();\n }\n });\n\n return [ interrupt.triggerFn(initiator) ].flat().filter(s => s);\n }\n\n function subscribe(scope, event, triggerFn) {\n\n event = getEvent(event);\n\n const element = event.element;\n\n const subscription = {\n scope,\n event,\n element,\n triggerFn,\n remove() {\n unsubscribe(subscription);\n }\n };\n\n subscriptions.add(subscription);\n\n scope.subscriptions.add(subscription);\n\n if (element) {\n elementChanged(element);\n }\n\n return subscription;\n }\n\n function unsubscribe(subscription) {\n const {\n scope,\n event\n } = subscription;\n\n subscriptions.delete(subscription);\n\n scope.subscriptions.delete(subscription);\n\n if (event.element) {\n elementChanged(event.element);\n }\n }\n\n function createInternalRef(element) {\n if (\n is(element, 'bpmn:StartEvent') ||\n is(element, 'bpmn:IntermediateCatchEvent') ||\n is(element, 'bpmn:ReceiveTask') ||\n isSpecialBoundaryEvent(element)\n ) {\n return getBusinessObject(element).name || element.id;\n }\n\n return null;\n }\n\n /**\n * @param { any } element\n *\n * @return {SimulatorEvent}\n */\n function getNoneEvent(element) {\n return {\n element,\n interrupting: false,\n boundary: false,\n iref: element.id,\n type: 'none'\n };\n }\n\n /**\n * @param { any } element\n *\n * @return {SimulatorEvent}\n */\n function getEvent(element) {\n\n // do not double-return element\n if (!element.businessObject) {\n return element;\n }\n\n const interrupting = isInterrupting(element);\n const boundary = isBoundaryEvent(element);\n\n // we do create an internal reference for\n // catch-like events to ensure these can\n // be triggered via the UI exclusively\n const iref = createInternalRef(element);\n\n const baseEvent = {\n element,\n interrupting,\n boundary,\n ...(iref ? { iref } : {})\n };\n\n const eventDefinition = getEventDefinitions(element)[0];\n\n if (!eventDefinition) {\n\n return {\n ...baseEvent,\n type: isImplicitMessageCatch(element) ? 'message' : 'none'\n };\n }\n\n if (is(eventDefinition, 'bpmn:LinkEventDefinition')) {\n return {\n ...baseEvent,\n type: 'link',\n name: eventDefinition.name\n };\n }\n\n if (is(eventDefinition, 'bpmn:SignalEventDefinition')) {\n return {\n ...baseEvent,\n type: 'signal',\n ref: eventDefinition.signalRef\n };\n }\n\n if (is(eventDefinition, 'bpmn:TimerEventDefinition')) {\n return {\n ...baseEvent,\n type: 'timer'\n };\n }\n\n if (is(eventDefinition, 'bpmn:ConditionalEventDefinition')) {\n return {\n ...baseEvent,\n type: 'condition',\n };\n }\n\n if (is(eventDefinition, 'bpmn:EscalationEventDefinition')) {\n return {\n ...baseEvent,\n type: 'escalation',\n ref: eventDefinition.escalationRef\n };\n }\n\n if (is(eventDefinition, 'bpmn:CancelEventDefinition')) {\n return {\n ...baseEvent,\n type: 'cancel'\n };\n }\n\n if (is(eventDefinition, 'bpmn:ErrorEventDefinition')) {\n return {\n ...baseEvent,\n type: 'error',\n ref: eventDefinition.errorRef\n };\n }\n\n if (is(eventDefinition, 'bpmn:MessageEventDefinition')) {\n return {\n ...baseEvent,\n type: 'message',\n ref: eventDefinition.messageRef\n };\n }\n\n if (is(eventDefinition, 'bpmn:CompensateEventDefinition')) {\n\n let ref = eventDefinition.activityRef && elementRegistry.get(eventDefinition.activityRef.id);\n\n if (!ref) {\n\n if (isStartEvent(element) && isEventSubProcess(element.parent)) {\n\n // start event in event sub-process compensates\n // parent process (or participant)\n ref = element.parent.parent;\n } else if (isBoundaryEvent(element)) {\n\n // boundary event compensates activity it is attached to\n ref = element.host;\n } else {\n\n // parent is cancel scope\n ref = element.parent;\n }\n }\n\n return {\n ...baseEvent,\n type: 'compensate',\n ref,\n persistent: true\n };\n }\n\n throw new Error('unknown event definition', eventDefinition);\n }\n\n function createScope(context, emitEvent = true) {\n\n const {\n element,\n parent: parentScope,\n initiator\n } = context;\n\n emitEvent && trace('createScope', {\n element,\n scope: parentScope\n });\n\n const scope = new Scope(ids.next(), element, parentScope, initiator);\n\n if (parentScope) {\n parentScope.children.push(scope);\n }\n\n scopes.add(scope);\n\n emitEvent && emit('createScope', {\n scope\n });\n\n elementChanged(element);\n\n if (parentScope) {\n elementChanged(parentScope.element);\n }\n\n return scope;\n }\n\n function subscriptionFilter(filter) {\n\n if (typeof filter === 'function') {\n return filter;\n }\n\n const {\n event: _event,\n element,\n scope\n } = filter;\n\n const elements = filter.elements || (element && [ element ]);\n const event = _event && getEvent(_event);\n\n return (\n (subscription) =>\n (!event || eventsMatch(event, subscription.event)) &&\n (!elements || elements.includes(subscription.element)) &&\n (!scope || scope === subscription.scope)\n );\n }\n\n function scopeSubscriptionFilter(event) {\n const matchesSubscription = event === 'function' ? event : subscriptionFilter(event);\n\n return (\n scope => Array.from(scope.subscriptions).some(matchesSubscription)\n );\n }\n\n function scopeFilter(filter) {\n\n if (typeof filter === 'function') {\n return filter;\n }\n\n const {\n element,\n waitsOnElement,\n parent,\n trait = ScopeTraits.RUNNING,\n subscribedTo\n } = filter;\n\n const isSubscribed = subscribedTo ? scopeSubscriptionFilter(subscribedTo) : () => true;\n\n return (\n scope =>\n (!element || scope.element === element) &&\n (!parent || scope.parent === parent) &&\n (!waitsOnElement || scope.getTokensByElement(waitsOnElement) > 0) &&\n scope.hasTrait(trait) &&\n isSubscribed(scope)\n );\n }\n\n function findSubscriptions(filter) {\n return filterSet(subscriptions, subscriptionFilter(filter));\n }\n\n function findSubscription(filter) {\n return findSet(subscriptions, subscriptionFilter(filter));\n }\n\n function findScopes(filter) {\n return filterSet(scopes, scopeFilter(filter));\n }\n\n function findScope(filter) {\n return findSet(scopes, scopeFilter(filter));\n }\n\n function destroyScope(scope, initiator = null) {\n\n if (scope.destroyed) {\n return;\n }\n\n scope.destroy(initiator);\n\n // remove outdated subscriptions\n for (const subscription of scope.subscriptions) {\n const trait = subscription.event.traits || ScopeTraits.ACTIVE;\n\n if (!scope.hasTrait(trait)) {\n unsubscribe(subscription);\n }\n }\n\n // depending on taken transition scope many not actually\n // be destroyed but in an inactive / completed state\n //\n // only perform additional destructive operations in case we're\n // actually DEAD.\n if (scope.destroyed) {\n\n // destroy child scopes\n for (const childScope of scope.children) {\n if (!childScope.destroyed) {\n destroyScope(childScope, initiator);\n }\n }\n\n trace('destroyScope', {\n element: scope.element,\n scope\n });\n\n // remove dead scope\n scopes.delete(scope);\n\n emit('destroyScope', {\n scope\n });\n }\n\n elementChanged(scope.element);\n\n if (scope.parent) {\n elementChanged(scope.parent.element);\n }\n }\n\n function trace(action, context) {\n\n emit('trace', {\n ...context,\n action\n });\n }\n\n function elementChanged(element) {\n changedElements.add(element);\n\n // tick, unless jobs are queued\n // (and tick is going to happen naturally)\n if (!jobs.length) {\n emit('tick');\n }\n }\n\n function scopeChanged(scope) {\n emit('scopeChanged', {\n scope\n });\n }\n\n function emit(event, payload = {}) {\n return eventBus.fire(`tokenSimulation.simulator.${event}`, payload);\n }\n\n function on(event, callback) {\n eventBus.on('tokenSimulation.simulator.' + event, callback);\n }\n\n function off(event, callback) {\n eventBus.off('tokenSimulation.simulator.' + event, callback);\n }\n\n function setConfig(element, updatedConfig) {\n\n const existingConfig = getConfig(element);\n\n configuration[element.id || element] = {\n ...existingConfig,\n ...updatedConfig\n };\n\n elementChanged(element);\n }\n\n function initializeRootScopes() {\n\n const rootScopes = [];\n\n elementRegistry.forEach(element => {\n\n if (!isAny(element, [ 'bpmn:Process', 'bpmn:Participant' ])) {\n return;\n }\n\n const scope = createScope({\n element\n }, false);\n\n rootScopes.push(scope);\n\n const startEvents = element.children.filter(isStartEvent);\n\n const implicitStartEvents = element.children.filter(isImplicitStartEvent);\n\n for (const startEvent of startEvents) {\n\n const event = {\n ...getEvent(startEvent),\n interrupting: false\n };\n\n // start events can always be triggered\n subscribe(scope, event, initiator => signal({\n element,\n startEvent: startEvent,\n initiator\n }));\n }\n\n if (!startEvents.length) {\n\n for (const implicitStartEvent of implicitStartEvents) {\n\n const event = getNoneEvent(implicitStartEvent);\n\n // start events can always be triggered\n subscribe(scope, event, initiator => signal({\n element,\n initiator\n }));\n }\n }\n });\n\n return rootScopes;\n }\n\n function initializeScope(context) {\n\n const {\n element\n } = context;\n\n const scope = createScope(context);\n\n const {\n children = [],\n attachers = []\n } = element;\n\n for (const childElement of children) {\n\n // event sub-process start events\n if (isEventSubProcess(childElement)) {\n const startEvents = childElement.children.filter(\n element => isStartEvent(element) && !isCompensationEvent(element)\n );\n\n for (const startEvent of startEvents) {\n subscribe(scope, startEvent, initiator => {\n\n return signal({\n element: childElement,\n parentScope: scope,\n startEvent,\n initiator\n });\n });\n }\n }\n }\n\n for (const attacher of attachers) {\n\n // boundary events\n if (isBoundaryEvent(attacher) && !isCompensationEvent(attacher)) {\n\n subscribe(scope, attacher, initiator => {\n return signal({\n element: attacher,\n parentScope: scope.parent,\n hostScope: scope,\n initiator\n });\n });\n }\n }\n\n return scope;\n }\n\n function getConfig(element) {\n return configuration[element.id || element] || {};\n }\n\n function waitForScopes(scope, scopes) {\n\n if (!scopes.length) {\n return;\n }\n\n const event = {\n type: 'all-completed',\n persistent: false\n };\n\n const remainingScopes = new Set(scopes);\n\n const destroyListener = (destroyEvent) => {\n remainingScopes.delete(destroyEvent.scope);\n\n if (remainingScopes.size === 0) {\n off('destroyScope', destroyListener);\n\n trigger({\n scope,\n event\n });\n }\n };\n\n on('destroyScope', destroyListener);\n\n return event;\n }\n\n function waitAtElement(element, wait = true) {\n setConfig(element, {\n wait\n });\n }\n\n function reset() {\n for (const scope of scopes) {\n destroyScope(scope);\n }\n\n for (const rootScope of initializeRootScopes()) {\n scopes.add(rootScope);\n }\n\n // TODO(nikku): clear configuration?\n\n emit('tick');\n emit('reset');\n }\n\n // utilties\n this.createScope = createScope;\n this.destroyScope = destroyScope;\n\n // inspection\n this.findScope = findScope;\n this.findScopes = findScopes;\n\n this.findSubscription = findSubscription;\n this.findSubscriptions = findSubscriptions;\n\n // configuration\n this.waitAtElement = waitAtElement;\n\n this.waitForScopes = waitForScopes;\n\n this.setConfig = setConfig;\n this.getConfig = getConfig;\n\n // driving simulation forward\n this.signal = signal;\n this.enter = enter;\n this.exit = exit;\n\n // BPMN event subscriptions and triggers\n this.subscribe = subscribe;\n this.trigger = trigger;\n\n // life-cycle\n this.reset = reset;\n\n // emitter\n this.on = on;\n this.off = off;\n\n // extension\n this.registerBehavior = function(element, behavior) {\n behaviors[element] = behavior;\n };\n}\n\nSimulator.$inject = [\n 'injector',\n 'eventBus',\n 'elementRegistry'\n];\n\n\n// helpers /////////////////\n\nfunction NoopBehavior() {\n\n this.signal = function(context) {\n console.log('ignored #exit', context.element);\n };\n\n this.exit = function(context) {\n console.log('ignored #exit', context.element);\n };\n\n this.enter = function(context) {\n console.log('ignored #enter', context.element);\n };\n\n}\n\nfunction isRethrow(event, interrupt) {\n return (\n event.type === interrupt.type &&\n event.boundary && !interrupt.boundary\n );\n}\n\nfunction isImplicitMessageCatch(element) {\n return is(element, 'bpmn:ReceiveTask') || element.incoming.some(element => is(element, 'bpmn:MessageFlow'));\n}\n\nfunction isSpecialBoundaryEvent(element) {\n if (!isBoundaryEvent(element)) {\n return false;\n }\n\n const eventDefinitions = getEventDefinitions(element);\n\n return !eventDefinitions[0] || isAny(eventDefinitions[0], [\n 'bpmn:ConditionalEventDefinition', 'bpmn:TimerEventDefinition'\n ]);\n}\n\nfunction getEventDefinitions(element) {\n return element.businessObject.get('eventDefinitions') || [];\n}\n","export default function StartEventBehavior(\n simulator,\n activityBehavior) {\n\n this._simulator = simulator;\n this._activityBehavior = activityBehavior;\n\n simulator.registerBehavior('bpmn:StartEvent', this);\n}\n\nStartEventBehavior.prototype.signal = function(context) {\n this._simulator.exit(context);\n};\n\nStartEventBehavior.prototype.exit = function(context) {\n this._activityBehavior.exit(context);\n};\n\nStartEventBehavior.$inject = [\n 'simulator',\n 'activityBehavior'\n];","export default function EndEventBehavior(\n simulator,\n scopeBehavior,\n intermediateThrowEventBehavior) {\n\n this._intermediateThrowEventBehavior = intermediateThrowEventBehavior;\n this._scopeBehavior = scopeBehavior;\n\n simulator.registerBehavior('bpmn:EndEvent', this);\n}\n\nEndEventBehavior.$inject = [\n 'simulator',\n 'scopeBehavior',\n 'intermediateThrowEventBehavior'\n];\n\nEndEventBehavior.prototype.enter = function(context) {\n this._intermediateThrowEventBehavior.enter(context);\n};\n\nEndEventBehavior.prototype.signal = function(context) {\n this._intermediateThrowEventBehavior.signal(context);\n};\n\nEndEventBehavior.prototype.exit = function(context) {\n\n const {\n scope\n } = context;\n\n this._scopeBehavior.tryExit(scope.parent, scope);\n};","import {\n getBusinessObject\n} from '../util/ModelUtil';\n\n\nexport default function BoundaryEventBehavior(\n simulator,\n activityBehavior,\n scopeBehavior) {\n\n this._simulator = simulator;\n this._activityBehavior = activityBehavior;\n this._scopeBehavior = scopeBehavior;\n\n simulator.registerBehavior('bpmn:BoundaryEvent', this);\n}\n\nBoundaryEventBehavior.prototype.signal = function(context) {\n\n const {\n element,\n scope,\n hostScope = this._simulator.findScope({\n parent: scope.parent,\n element: element.host\n })\n } = context;\n\n if (!hostScope) {\n throw new Error('host scope not found');\n }\n\n const cancelActivity = getBusinessObject(element).cancelActivity;\n\n if (cancelActivity) {\n this._scopeBehavior.interrupt(hostScope, scope);\n\n // activities are pending completion before actual exit\n const event = this._scopeBehavior.tryExit(hostScope, scope);\n\n if (event) {\n const subscription = this._simulator.subscribe(hostScope, event, initiator => {\n subscription.remove();\n\n return this._simulator.exit(context);\n });\n\n return;\n }\n }\n\n this._simulator.exit(context);\n};\n\nBoundaryEventBehavior.prototype.exit = function(context) {\n this._activityBehavior.exit(context);\n};\n\nBoundaryEventBehavior.$inject = [\n 'simulator',\n 'activityBehavior',\n 'scopeBehavior'\n];","export default function IntermediateCatchEventBehavior(\r\n simulator,\r\n activityBehavior) {\r\n\r\n this._activityBehavior = activityBehavior;\r\n this._simulator = simulator;\r\n\r\n simulator.registerBehavior('bpmn:IntermediateCatchEvent', this);\r\n simulator.registerBehavior('bpmn:ReceiveTask', this);\r\n}\r\n\r\nIntermediateCatchEventBehavior.$inject = [\r\n 'simulator',\r\n 'activityBehavior'\r\n];\r\n\r\nIntermediateCatchEventBehavior.prototype.signal = function(context) {\r\n return this._simulator.exit(context);\r\n};\r\n\r\nIntermediateCatchEventBehavior.prototype.enter = function(context) {\r\n const {\r\n element\r\n } = context;\r\n\r\n // adapt special wait semantics; user must manually\r\n // trigger to indicate message received\r\n return this._activityBehavior.signalOnEvent(context, element);\r\n};\r\n\r\nIntermediateCatchEventBehavior.prototype.exit = function(context) {\r\n this._activityBehavior.exit(context);\r\n};","export default function IntermediateThrowEventBehavior(\r\n simulator,\r\n activityBehavior,\r\n eventBehaviors) {\r\n\r\n this._simulator = simulator;\r\n this._activityBehavior = activityBehavior;\r\n this._eventBehaviors = eventBehaviors;\r\n\r\n simulator.registerBehavior('bpmn:IntermediateThrowEvent', this);\r\n simulator.registerBehavior('bpmn:SendTask', this);\r\n}\r\n\r\nIntermediateThrowEventBehavior.prototype.enter = function(context) {\r\n const {\r\n element\r\n } = context;\r\n\r\n const eventBehavior = this._eventBehaviors.get(element);\r\n\r\n if (eventBehavior) {\r\n const event = eventBehavior(context);\r\n\r\n if (event) {\r\n return this._activityBehavior.signalOnEvent(context, event);\r\n }\r\n }\r\n\r\n this._activityBehavior.enter(context);\r\n};\r\n\r\nIntermediateThrowEventBehavior.prototype.signal = function(context) {\r\n this._activityBehavior.signal(context);\r\n};\r\n\r\nIntermediateThrowEventBehavior.prototype.exit = function(context) {\r\n this._activityBehavior.exit(context);\r\n};\r\n\r\nIntermediateThrowEventBehavior.$inject = [\r\n 'simulator',\r\n 'activityBehavior',\r\n 'eventBehaviors'\r\n];","import {\n filterSequenceFlows\n} from '../util/ModelUtil';\n\n\nexport default function ExclusiveGatewayBehavior(simulator, scopeBehavior) {\n this._scopeBehavior = scopeBehavior;\n this._simulator = simulator;\n\n simulator.registerBehavior('bpmn:ExclusiveGateway', this);\n}\n\nExclusiveGatewayBehavior.prototype.enter = function(context) {\n this._simulator.exit(context);\n};\n\nExclusiveGatewayBehavior.prototype.exit = function(context) {\n\n const {\n element,\n scope\n } = context;\n\n // depends on UI to properly configure activeOutgoing for\n // each exclusive gateway\n\n const outgoings = filterSequenceFlows(element.outgoing);\n\n if (outgoings.length === 1) {\n return this._simulator.enter({\n element: outgoings[0],\n scope: scope.parent\n });\n }\n\n const {\n activeOutgoing\n } = this._simulator.getConfig(element);\n\n const outgoing = outgoings.find(o => o === activeOutgoing);\n\n if (!outgoing) {\n return this._scopeBehavior.tryExit(scope.parent, scope);\n }\n\n return this._simulator.enter({\n element: outgoing,\n scope: scope.parent\n });\n};\n\nExclusiveGatewayBehavior.$inject = [\n 'simulator',\n 'scopeBehavior'\n];","import {\n filterSequenceFlows\n} from '../util/ModelUtil';\n\n\nexport default function ParallelGatewayBehavior(\n simulator,\n activityBehavior) {\n\n this._simulator = simulator;\n this._activityBehavior = activityBehavior;\n\n simulator.registerBehavior('bpmn:ParallelGateway', this);\n}\n\nParallelGatewayBehavior.prototype.enter = function(context) {\n\n const {\n scope\n } = context;\n\n const joiningScopes = this._findJoiningScopes(context);\n\n if (joiningScopes.length) {\n\n for (const childScope of joiningScopes) {\n\n if (childScope !== scope) {\n\n // complete joining child scope\n this._simulator.destroyScope(childScope.complete(), scope);\n }\n }\n\n this._simulator.exit(context);\n }\n};\n\n/**\n * Find scopes that will be joined by this transition.\n *\n * @param {Object} enterContext\n * @return {Scope[]} scopes joined by this transition\n */\nParallelGatewayBehavior.prototype._findJoiningScopes = function(enterContext) {\n\n const {\n scope,\n element\n } = enterContext;\n\n const sequenceFlows = filterSequenceFlows(element.incoming);\n\n const {\n parent: parentScope\n } = scope;\n\n const elementScopes = this._simulator.findScopes({\n parent: parentScope,\n element: element\n });\n\n const matchingScopes = sequenceFlows\n .map(\n flow => elementScopes\n .find(scope => scope.initiator.element === flow)\n )\n .filter(scope => scope);\n\n if (matchingScopes.length === sequenceFlows.length) {\n return matchingScopes;\n } else {\n return [];\n }\n};\n\nParallelGatewayBehavior.prototype.exit = function(context) {\n this._activityBehavior.exit(context);\n};\n\nParallelGatewayBehavior.$inject = [\n 'simulator',\n 'activityBehavior'\n];","import { isAny } from '../util/ModelUtil';\n\n\nexport default function EventBasedGatewayBehavior(simulator) {\n this._simulator = simulator;\n\n simulator.registerBehavior('bpmn:EventBasedGateway', this);\n}\n\nEventBasedGatewayBehavior.$inject = [\n 'simulator'\n];\n\nEventBasedGatewayBehavior.prototype.enter = function(context) {\n\n const {\n element,\n scope\n } = context;\n\n const parentScope = scope.parent;\n\n const triggerElements = getTriggers(element);\n\n // create subscriptions for outgoing event triggers\n // do nothing else beyond that\n const subscriptions = triggerElements.map(\n triggerElement => this._simulator.subscribe(parentScope, triggerElement, initiator => {\n\n // cancel all subscriptions\n subscriptions.forEach(subscription => subscription.remove());\n\n // destroy this scope\n this._simulator.destroyScope(scope, initiator);\n\n // signal triggered event\n return this._simulator.signal({\n element: triggerElement,\n parentScope,\n initiator\n });\n })\n );\n\n};\n\n\n// helpers ////////////////\n\nfunction getTriggers(element) {\n return element.outgoing.map(\n outgoing => outgoing.target\n ).filter(activity => isAny(activity, [\n 'bpmn:IntermediateCatchEvent',\n 'bpmn:ReceiveTask'\n ]));\n}","import {\n filterSequenceFlows, isSequenceFlow\n} from '../util/ModelUtil';\n\n\nexport default function InclusiveGatewayBehavior(\n simulator,\n activityBehavior) {\n\n this._simulator = simulator;\n this._activityBehavior = activityBehavior;\n\n simulator.registerBehavior('bpmn:InclusiveGateway', this);\n}\n\nInclusiveGatewayBehavior.prototype.enter = function(context) {\n this._tryJoin(context);\n};\n\nInclusiveGatewayBehavior.prototype.exit = function(context) {\n\n const {\n element,\n scope\n } = context;\n\n // depends on UI to properly configure activeOutgoing for\n // each inclusive gateway\n\n const outgoings = filterSequenceFlows(element.outgoing);\n\n // fork based on configured active outgoings\n if (outgoings.length > 1) {\n\n const {\n activeOutgoing = []\n } = this._simulator.getConfig(element);\n\n if (!activeOutgoing.length) {\n throw new Error('no outgoing configured');\n }\n\n for (const outgoing of activeOutgoing) {\n this._simulator.enter({\n element: outgoing,\n scope: scope.parent\n });\n }\n\n } else {\n\n // exit like any activity\n this._activityBehavior.exit(context);\n }\n\n};\n\nInclusiveGatewayBehavior.prototype._tryJoin = function(context) {\n\n const remainingScopes = this._getRemainingScopes(context);\n\n const remainingElements = remainingScopes.map(scope => scope.element);\n\n // join right away if possible\n // this implies that there are no remaining scopes\n // or non of the remaining scopes are reachable\n if (!this._canReachAnyElement(remainingElements, context.element)) {\n return this._join(context);\n }\n\n const elementScopes = this._getElementScopes(context);\n\n const {\n scope\n } = context;\n\n // only subscribe to changes with the first\n // element scope; prevent unneeded computation\n if (elementScopes[0] !== scope) {\n return;\n }\n\n const event = this._simulator.waitForScopes(scope, remainingScopes);\n\n const subscription = this._simulator.subscribe(scope, event, () => {\n subscription.remove();\n\n this._tryJoin(context);\n });\n};\n\n/**\n * Get scopes that may potentially be waited for,\n * in the context of an inclusive gateway.\n *\n * @param {object} context\n * @return {object[]}\n */\nInclusiveGatewayBehavior.prototype._getRemainingScopes = function(context) {\n const {\n scope,\n element\n } = context;\n\n const {\n parent: parentScope\n } = scope;\n\n return this._simulator.findScopes(\n scope => scope.parent === parentScope && scope.element !== element\n );\n};\n\nInclusiveGatewayBehavior.prototype._join = function(context) {\n const elementScopes = this._getElementScopes(context);\n\n for (const childScope of elementScopes) {\n\n if (childScope !== context.scope) {\n\n // complete joining child scope\n this._simulator.destroyScope(childScope.complete(), context.scope);\n }\n }\n\n this._simulator.exit(context);\n};\n\n/**\n * Get scopes on the element for the given context.\n *\n * @param {object} context\n *\n * @return {object[]} scopes\n */\nInclusiveGatewayBehavior.prototype._getElementScopes = function(context) {\n const {\n element,\n scope\n } = context;\n\n return this._simulator.findScopes({\n parent: scope.parent,\n element\n });\n};\n\n/**\n * Return true if any elements can be reached\n * from the current element, searching the execution\n * graph backwards.\n *\n * @param {object[]} elements\n * @param {object} currentElement\n * @param {Set} traversed\n *\n * @return {boolean}\n */\nInclusiveGatewayBehavior.prototype._canReachAnyElement = function(elements, currentElement, traversed = new Set()) {\n\n if (!elements.length) {\n return false;\n }\n\n // avoid infinite recursion\n if (traversed.has(currentElement)) {\n return false;\n }\n\n traversed.add(currentElement);\n\n if (elements.some(e => e === currentElement)) {\n return true;\n }\n\n if (isSequenceFlow(currentElement)) {\n return this._canReachAnyElement(elements, currentElement.source, traversed);\n }\n\n const incomingFlows = filterSequenceFlows(currentElement.incoming);\n\n for (const flow of incomingFlows) {\n if (this._canReachAnyElement(elements, flow, traversed)) {\n return true;\n }\n }\n\n return false;\n};\n\nInclusiveGatewayBehavior.$inject = [\n 'simulator',\n 'activityBehavior'\n];","import {\n isEventSubProcess,\n isMessageFlow,\n isSequenceFlow\n} from '../util/ModelUtil';\n\n\nexport default function ActivityBehavior(\n simulator,\n scopeBehavior,\n transactionBehavior\n) {\n this._simulator = simulator;\n this._scopeBehavior = scopeBehavior;\n this._transactionBehavior = transactionBehavior;\n\n const elements = [\n 'bpmn:BusinessRuleTask',\n 'bpmn:CallActivity',\n 'bpmn:ManualTask',\n 'bpmn:ScriptTask',\n 'bpmn:ServiceTask',\n 'bpmn:Task',\n 'bpmn:UserTask'\n ];\n\n for (const element of elements) {\n simulator.registerBehavior(element, this);\n }\n}\n\nActivityBehavior.$inject = [\n 'simulator',\n 'scopeBehavior',\n 'transactionBehavior'\n];\n\nActivityBehavior.prototype.signal = function(context) {\n\n // trigger messages that are pending send\n const event = this._triggerMessages(context);\n\n if (event) {\n return this.signalOnEvent(context, event);\n }\n\n this._simulator.exit(context);\n};\n\nActivityBehavior.prototype.enter = function(context) {\n\n const {\n element\n } = context;\n\n const continueEvent = this.waitAtElement(element);\n\n if (continueEvent) {\n return this.signalOnEvent(context, continueEvent);\n }\n\n // trigger messages that are pending send\n const event = this._triggerMessages(context);\n\n if (event) {\n return this.signalOnEvent(context, event);\n }\n\n this._simulator.exit(context);\n};\n\nActivityBehavior.prototype.exit = function(context) {\n\n const {\n element,\n scope\n } = context;\n\n const parentScope = scope.parent;\n\n // TODO(nikku): if a outgoing flow is conditional,\n // task has exclusive gateway semantics,\n // else, task has parallel gateway semantics\n\n const complete = !scope.failed;\n\n // compensation is registered AFTER successful completion\n // of normal scope activities (non event sub-processes).\n //\n // we must register it now, not earlier\n if (complete && !isEventSubProcess(element)) {\n this._transactionBehavior.registerCompensation(scope);\n }\n\n // if exception flow is active,\n // do not activate any outgoing flows\n const activatedFlows = complete\n ? element.outgoing.filter(isSequenceFlow)\n : [];\n\n activatedFlows.forEach(\n element => this._simulator.enter({\n element,\n scope: parentScope\n })\n );\n\n // element has token sink semantics\n if (activatedFlows.length === 0) {\n this._scopeBehavior.tryExit(parentScope, scope);\n }\n};\n\nActivityBehavior.prototype.signalOnEvent = function(context, event) {\n\n const {\n scope,\n element\n } = context;\n\n const subscription = this._simulator.subscribe(scope, event, initiator => {\n\n subscription.remove();\n\n return this._simulator.signal({\n scope,\n element,\n initiator\n });\n });\n};\n\n/**\n * Returns an event to subscribe to if wait on element is configured.\n *\n * @param {Element} element\n *\n * @return {Object|null} event\n */\nActivityBehavior.prototype.waitAtElement = function(element) {\n const wait = this._simulator.getConfig(element).wait;\n\n return wait && {\n element,\n type: 'continue',\n interrupting: false,\n boundary: false\n };\n};\n\nActivityBehavior.prototype._getMessageContexts = function(element, after = null) {\n\n const filterAfter = after ? ctx => ctx.referencePoint.x > after.x : () => true;\n const sortByReference = (a, b) => a.referencePoint.x - b.referencePoint.x;\n\n return [\n ...element.incoming.filter(isMessageFlow).map(flow => ({\n incoming: flow,\n referencePoint: last(flow.waypoints)\n })),\n ...element.outgoing.filter(isMessageFlow).map(flow => ({\n outgoing: flow,\n referencePoint: first(flow.waypoints)\n }))\n ].sort(sortByReference).filter(filterAfter);\n};\n\n/**\n * @param {any} context\n *\n * @return {Object} event to subscribe to proceed\n */\nActivityBehavior.prototype._triggerMessages = function(context) {\n\n // check for the next message flows to either\n // trigger or wait for; this implements intuitive,\n // as-you-would expect message flow execution in modeling\n // direction (left-to-right).\n\n const {\n element,\n initiator,\n scope\n } = context;\n\n let messageContexts = scope.messageContexts;\n\n if (!messageContexts) {\n messageContexts = scope.messageContexts = this._getMessageContexts(element);\n }\n\n const initiatingFlow = initiator && initiator.element;\n\n if (isMessageFlow(initiatingFlow)) {\n\n // ignore out of bounds messages received;\n // user may manually advance and force send all outgoing\n // messages\n if (scope.expectedIncoming !== initiatingFlow) {\n console.debug('Simulator :: ActivityBehavior :: ignoring out-of-bounds message');\n\n return;\n }\n }\n\n while (messageContexts.length) {\n const {\n incoming,\n outgoing\n } = messageContexts.shift();\n\n if (incoming) {\n\n // force sending of all remaining messages,\n // as the user triggered the task manually (for demonstration\n // purposes\n if (!initiator) {\n continue;\n }\n\n // remember expected incoming for future use\n scope.expectedIncoming = incoming;\n\n return {\n element,\n type: 'message',\n name: incoming.id,\n interrupting: false,\n boundary: false\n };\n }\n\n this._simulator.signal({\n element: outgoing\n });\n }\n\n};\n\n\n// helpers //////////////////\n\nfunction first(arr) {\n return arr && arr[0];\n}\n\nfunction last(arr) {\n return arr && arr[arr.length - 1];\n}","import {\n is,\n isEventSubProcess,\n isInterrupting,\n isStartEvent,\n isNoneStartEvent,\n isImplicitStartEvent\n} from '../util/ModelUtil';\n\n\nexport default function SubProcessBehavior(\n simulator,\n activityBehavior,\n scopeBehavior,\n transactionBehavior,\n elementRegistry) {\n\n this._simulator = simulator;\n this._activityBehavior = activityBehavior;\n this._scopeBehavior = scopeBehavior;\n this._transactionBehavior = transactionBehavior;\n this._elementRegistry = elementRegistry;\n\n simulator.registerBehavior('bpmn:SubProcess', this);\n simulator.registerBehavior('bpmn:Transaction', this);\n simulator.registerBehavior('bpmn:AdHocSubProcess', this);\n}\n\nSubProcessBehavior.$inject = [\n 'simulator',\n 'activityBehavior',\n 'scopeBehavior',\n 'transactionBehavior',\n 'elementRegistry'\n];\n\nSubProcessBehavior.prototype.signal = function(context) {\n this._start(context);\n};\n\nSubProcessBehavior.prototype.enter = function(context) {\n\n const {\n element\n } = context;\n\n const continueEvent = this._activityBehavior.waitAtElement(element);\n\n if (continueEvent) {\n return this._activityBehavior.signalOnEvent(context, continueEvent);\n }\n\n this._start(context);\n};\n\nSubProcessBehavior.prototype.exit = function(context) {\n\n const {\n scope\n } = context;\n\n const parentScope = scope.parent;\n\n // successful completion of the fail initiator (event sub-process)\n // recovers the parent, so that the normal flow is being executed\n if (parentScope.failInitiator === scope) {\n parentScope.complete();\n }\n\n this._activityBehavior.exit(context);\n};\n\nSubProcessBehavior.prototype._start = function(context) {\n const {\n element,\n startEvent,\n scope\n } = context;\n\n const targetScope = scope.parent;\n\n if (isEventSubProcess(element)) {\n\n if (!startEvent) {\n throw new Error('missing : required for event sub-process');\n }\n } else {\n if (startEvent) {\n throw new Error('unexpected : not allowed for sub-process');\n }\n }\n\n if (targetScope.destroyed) {\n throw new Error(`target scope <${targetScope.id}> destroyed`);\n }\n\n if (isTransaction(element)) {\n this._transactionBehavior.setup(context);\n }\n\n if (startEvent && isInterrupting(startEvent)) {\n this._scopeBehavior.interrupt(targetScope, scope);\n }\n\n const startNodes = this._findStarts(element, startEvent);\n\n for (const element of startNodes) {\n\n if (isStartEvent(element)) {\n this._simulator.signal({\n element,\n parentScope: scope,\n initiator: scope\n });\n } else {\n this._simulator.enter({\n element,\n scope,\n initiator: scope\n });\n }\n }\n};\n\nSubProcessBehavior.prototype._findStarts = function(element, startEvent) {\n\n // ensure bpmn-js@9 compatibility\n //\n // sub-process may be collapsed, in this case operate on the plane\n element = this._elementRegistry.get(element.id + '_plane') || element;\n\n const isStartEvent = startEvent\n ? (node) => startEvent === node\n : (node) => isNoneStartEvent(node);\n\n return element.children.filter(\n node => (\n isStartEvent(node) || isImplicitStartEvent(node)\n )\n );\n};\n\nfunction isTransaction(element) {\n return is(element, 'bpmn:Transaction');\n}\n","import {\n ScopeTraits\n} from '../ScopeTraits';\n\nimport {\n isAny,\n isCompensationEvent,\n isCompensationActivity,\n isEventSubProcess,\n isStartEvent,\n is\n} from '../util/ModelUtil';\n\nimport {\n eventsMatch\n} from '../util/EventsUtil';\n\nimport {\n filterSet\n} from '../util/SetUtil';\n\n\nconst CANCEL_EVENT = {\n type: 'cancel',\n interrupting: true,\n boundary: false,\n persistent: true\n};\n\n\nexport default function TransactionBehavior(simulator, scopeBehavior) {\n this._simulator = simulator;\n this._scopeBehavior = scopeBehavior;\n}\n\nTransactionBehavior.$inject = [\n 'simulator',\n 'scopeBehavior'\n];\n\nTransactionBehavior.prototype.setup = function(context) {\n\n const {\n scope\n } = context;\n\n const cancelSubscription = this._simulator.subscribe(scope, CANCEL_EVENT, (initiator) => {\n\n cancelSubscription.remove();\n\n return this.cancel({\n scope,\n initiator\n });\n });\n\n const compensateEvent = {\n type: 'compensate',\n ref: scope.element,\n persistent: true,\n traits: ScopeTraits.NOT_DEAD\n };\n\n const compensateSubscription = this._simulator.subscribe(scope, compensateEvent, (initiator) => {\n\n // need to trigger ordinary\n // transaction cancelation\n if (!scope.canceled) {\n return this._simulator.trigger({\n event: CANCEL_EVENT,\n scope\n });\n }\n\n compensateSubscription.remove();\n\n return this.compensate({\n scope,\n element: scope.element,\n initiator\n });\n });\n};\n\nTransactionBehavior.prototype.cancel = function(context) {\n\n const {\n scope,\n initiator\n } = context;\n\n // bail out on double cancel\n if (scope.destroyed) {\n return;\n }\n\n // mark scope as canceled\n scope.cancel(initiator);\n\n // trigger compensation on element\n this._simulator.trigger({\n event: {\n type: 'compensate',\n ref: scope.element\n },\n initiator,\n scope\n });\n\n // re-trigger cancel (to trigger boundary cancel events)\n return this._simulator.trigger({\n scope,\n initiator,\n event: CANCEL_EVENT\n });\n};\n\nTransactionBehavior.prototype.registerCompensation = function(scope) {\n\n const {\n element\n } = scope;\n\n // check for compensation triggers\n //\n // * embedded compensation event sub-processes\n // * compensation boundary events\n\n const compensateStartEvents = element.children.filter(\n isEventSubProcess\n ).map(\n element => element.children.find(\n element => isStartEvent(element) && isCompensationEvent(element)\n )\n ).filter(s => s);\n\n const compensateBoundaryEvents = element.attachers.filter(isCompensationEvent);\n\n if (!compensateStartEvents.length && !compensateBoundaryEvents.length) {\n return;\n }\n\n // always register on parent scope\n const transactionScope = this.findTransactionScope(scope.parent);\n\n // sub processes may enter a state\n // in that state they are kept alive on exit\n // until the parent gets destroyed; as long as they are kept alive\n // compensation can happen on them\n //\n if (!is(transactionScope.element, 'bpmn:Transaction')) {\n this.makeCompensable(transactionScope);\n }\n\n for (const startEvent of compensateStartEvents) {\n\n const compensationEvent = {\n element: startEvent,\n type: 'compensate',\n persistent: true,\n interrupting: true,\n ref: element,\n traits: ScopeTraits.NOT_DEAD\n };\n\n const compensateEventSub = startEvent.parent;\n\n const subscription = this._simulator.subscribe(scope, compensationEvent, initiator => {\n\n subscription.remove();\n\n return this._simulator.signal({\n initiator,\n element: compensateEventSub,\n startEvent,\n parentScope: scope\n });\n });\n }\n\n for (const boundaryEvent of compensateBoundaryEvents) {\n\n const compensationEvent = {\n element: boundaryEvent,\n type: 'compensate',\n persistent: true,\n ref: element,\n traits: ScopeTraits.NOT_DEAD\n };\n\n const compensateActivity = boundaryEvent.outgoing.map(\n outgoing => outgoing.target\n ).find(\n isCompensationActivity\n );\n\n if (!compensateActivity) {\n continue;\n }\n\n const subscription = this._simulator.subscribe(transactionScope, compensationEvent, initiator => {\n\n subscription.remove();\n\n // enter compensate activity like normal task\n return this._simulator.enter({\n initiator,\n element: compensateActivity,\n scope: transactionScope\n });\n });\n }\n};\n\nTransactionBehavior.prototype.makeCompensable = function(scope) {\n\n if (scope.hasTrait(ScopeTraits.COMPENSABLE) || !scope.parent) {\n return;\n }\n\n const compensateEvent = {\n type: 'compensate',\n ref: scope.element,\n interrupting: true,\n persistent: true,\n traits: ScopeTraits.NOT_DEAD\n };\n\n scope.compensable();\n\n const scopeSub = this._simulator.subscribe(scope, compensateEvent, (initiator) => {\n\n scopeSub.remove();\n\n scope.fail(initiator);\n\n this.compensate({\n scope,\n element: scope.element,\n initiator\n });\n\n this._scopeBehavior.tryExit(scope, initiator);\n\n return scope;\n });\n\n const parentScope = scope.parent;\n\n if (!parentScope) {\n return;\n }\n\n const parentSub = this._simulator.subscribe(parentScope, compensateEvent, initiator => {\n\n parentSub.remove();\n\n return this._simulator.trigger({\n scope,\n event: compensateEvent,\n initiator\n });\n\n });\n\n this.makeCompensable(parentScope);\n};\n\n\nTransactionBehavior.prototype.findTransactionScope = function(scope) {\n\n let parentScope = scope;\n\n while (parentScope) {\n const element = parentScope.element;\n\n if (is(element, 'bpmn:SubProcess') && !isEventSubProcess(element)) {\n return parentScope;\n }\n\n if (isAny(element, [\n 'bpmn:Transaction',\n 'bpmn:Process',\n 'bpmn:Participant'\n ])) {\n return parentScope;\n }\n\n parentScope = parentScope.parent;\n }\n\n throw noTransactionContext(scope);\n};\n\nTransactionBehavior.prototype.compensate = function(context) {\n\n const {\n scope,\n element\n } = context;\n\n // compensate all\n const compensateSubscriptions = filterSet(\n scope.subscriptions,\n subscription => eventsMatch({ type: 'compensate' }, subscription.event)\n );\n\n const localSubscriptions = compensateSubscriptions.filter(subscription => subscription.event.ref === element);\n\n const otherSubscriptions = compensateSubscriptions.filter(subscription => subscription.event.ref !== element);\n\n for (const subscription of localSubscriptions) {\n this._scopeBehavior.preExit(scope, initiator => {\n return this._simulator.trigger(subscription);\n });\n }\n\n for (const subscription of otherSubscriptions.reverse()) {\n this._scopeBehavior.preExit(scope, initiator => {\n return this._simulator.trigger(subscription);\n });\n }\n};\n\n\n// helpers ///////////////\n\nfunction noTransactionContext(scope) {\n throw new Error(`no transaction context for <${scope.id}>`);\n}","export default function SequenceFlowBehavior(\n simulator,\n scopeBehavior) {\n\n this._simulator = simulator;\n this._scopeBehavior = scopeBehavior;\n\n simulator.registerBehavior('bpmn:SequenceFlow', this);\n}\n\nSequenceFlowBehavior.prototype.enter = function(context) {\n this._simulator.exit(context);\n};\n\nSequenceFlowBehavior.prototype.exit = function(context) {\n const {\n element,\n scope\n } = context;\n\n this._simulator.enter({\n initiator: scope,\n element: element.target,\n scope: scope.parent\n });\n};\n\nSequenceFlowBehavior.$inject = [\n 'simulator',\n 'scopeBehavior'\n];","import {\n isCatchEvent\n} from '../util/ModelUtil';\n\n\nexport default function MessageFlowBehavior(simulator) {\n this._simulator = simulator;\n\n simulator.registerBehavior('bpmn:MessageFlow', this);\n}\n\nMessageFlowBehavior.$inject = [ 'simulator' ];\n\nMessageFlowBehavior.prototype.signal = function(context) {\n this._simulator.exit(context);\n};\n\nMessageFlowBehavior.prototype.exit = function(context) {\n const {\n element,\n scope: initiator\n } = context;\n\n const target = element.target;\n\n // the event triggered is either the message event\n // represented by the target message start or catch event _or_\n // an event that uses { name: messageFlow.id } as an identifier\n const event = isCatchEvent(target) ? target : {\n type: 'message',\n element,\n name: element.id\n };\n\n const subscription = this._simulator.findSubscription({\n event,\n elements: [ target, target.parent ]\n });\n\n if (subscription) {\n this._simulator.trigger({\n event,\n initiator,\n scope: subscription.scope\n });\n }\n};","import {\n find,\n some\n} from 'min-dash';\n\nimport {\n is as __is,\n getBusinessObject\n} from 'bpmn-js/lib/util/ModelUtil';\n\nexport function is(element, types) {\n if (element.type === 'label') {\n return false;\n }\n\n if (!Array.isArray(types)) {\n types = [ types ];\n }\n\n return types.some(function(type) {\n return __is(element, type);\n });\n}\n\nexport function getEventDefinition(event, eventDefinitionType) {\n return find(getBusinessObject(event).eventDefinitions, definition => {\n return is(definition, eventDefinitionType);\n });\n}\n\nexport function isTypedEvent(event, eventDefinitionType) {\n return some(getBusinessObject(event).eventDefinitions, definition => {\n return is(definition, eventDefinitionType);\n });\n}\n\nexport {\n getBusinessObject\n};","import {\n getEventDefinition,\n isTypedEvent\n} from '../../util/ElementHelper';\n\nimport {\n ScopeTraits\n} from '../ScopeTraits';\n\nimport {\n isEventSubProcess,\n isLinkCatch\n} from '../util/ModelUtil';\n\n\nexport default function EventBehaviors(\n simulator,\n elementRegistry,\n scopeBehavior) {\n\n this._simulator = simulator;\n this._elementRegistry = elementRegistry;\n this._scopeBehavior = scopeBehavior;\n}\n\nEventBehaviors.$inject = [\n 'simulator',\n 'elementRegistry',\n 'scopeBehavior'\n];\n\n\nEventBehaviors.prototype.get = function(element) {\n\n const behaviors = {\n 'bpmn:LinkEventDefinition': (context) => {\n\n const {\n element,\n scope\n } = context;\n\n const link = getLinkDefinition(element);\n\n const parentScope = scope.parent;\n const parentElement = parentScope.element;\n\n const linkTargets = parentElement.children.filter(element =>\n isLinkCatch(element) &&\n getLinkDefinition(element).name === link.name\n );\n\n for (const linkTarget of linkTargets) {\n this._simulator.signal({\n element: linkTarget,\n parentScope,\n initiator: scope\n });\n }\n },\n\n 'bpmn:SignalEventDefinition': (context) => {\n\n // HINT: signals work only within the whole diagram,\n // triggers start events, boundary events and\n // intermediate catch events\n\n const {\n element,\n scope\n } = context;\n\n const subscriptions = this._simulator.findSubscriptions({\n event: element\n });\n\n const signaledScopes = new Set();\n\n for (const subscription of subscriptions) {\n\n const signaledScope = subscription.scope;\n\n if (signaledScopes.has(signaledScope)) {\n continue;\n }\n\n signaledScopes.add(signaledScope);\n\n this._simulator.trigger({\n event: element,\n scope: signaledScope,\n initiator: scope\n });\n }\n },\n\n 'bpmn:EscalationEventDefinition': (context) => {\n\n // HINT: escalations are propagated up the scope\n // chain and caught by the first matching boundary event\n // or event sub-process\n\n const {\n element,\n scope\n } = context;\n\n const scopes = this._simulator.findScopes({\n subscribedTo: {\n event: element\n },\n trait: ScopeTraits.ACTIVE\n });\n\n let triggerScope = scope;\n\n while ((triggerScope = triggerScope.parent)) {\n\n if (scopes.includes(triggerScope)) {\n this._simulator.trigger({\n event: element,\n scope: triggerScope,\n initiator: scope\n });\n\n break;\n }\n }\n\n },\n\n 'bpmn:ErrorEventDefinition': (context) => {\n\n // HINT: errors are propagated up the scope\n // chain and caught by the first matching boundary event\n // or event sub-process\n\n const {\n element,\n scope\n } = context;\n\n const scopes = this._simulator.findScopes({\n subscribedTo: {\n event: element\n },\n trait: ScopeTraits.ACTIVE\n });\n\n let triggerScope = scope;\n\n // TODO(nikku): ensure error always interrupts, also if no error\n // catch is present\n while ((triggerScope = triggerScope.parent)) {\n\n if (scopes.includes(triggerScope)) {\n this._simulator.trigger({\n event: element,\n scope: triggerScope,\n initiator: scope\n });\n\n break;\n }\n }\n },\n\n 'bpmn:TerminateEventDefinition': (context) => {\n const {\n scope\n } = context;\n\n this._scopeBehavior.terminate(scope.parent, scope);\n },\n\n 'bpmn:CancelEventDefinition': (context) => {\n\n // HINT: cancels the surrounding transaction scope (does not bubble)\n\n const {\n scope,\n element\n } = context;\n\n this._simulator.trigger({\n event: element,\n initiator: scope,\n scope: findSubscriptionScope(scope)\n });\n },\n\n 'bpmn:CompensateEventDefinition': (context) => {\n\n const {\n scope,\n element\n } = context;\n\n return this._simulator.waitForScopes(\n scope,\n this._simulator.trigger({\n event: element,\n scope: findSubscriptionScope(scope)\n })\n );\n }\n };\n\n const entry = Object.entries(behaviors).find(\n entry => isTypedEvent(element, entry[0])\n );\n\n return entry && entry[1];\n};\n\n\n// helpers ///////////////\n\nfunction getLinkDefinition(element) {\n return getEventDefinition(element, 'bpmn:LinkEventDefinition');\n}\n\nfunction findSubscriptionScope(scope) {\n\n // the scope is the first non event sub-process\n while (isEventSubProcess(scope.parent.element)) {\n scope = scope.parent;\n }\n\n return scope.parent;\n}","const PRE_EXIT_EVENT = {\n type: 'pre-exit',\n persistent: true,\n interrupting: true,\n boundary: false\n};\n\nconst EXIT_EVENT = {\n type: 'exit',\n interrupting: true,\n boundary: false,\n persistent: true\n};\n\n\nexport default function ScopeBehavior(simulator) {\n this._simulator = simulator;\n}\n\nScopeBehavior.$inject = [\n 'simulator'\n];\n\n/**\n * Is the given scope finished?\n *\n * @param {Scope} scope\n * @param {Scope|Function} [excludeScope=null]\n *\n * @return {boolean}\n */\nScopeBehavior.prototype.isFinished = function(scope, excludeScope = null) {\n\n excludeScope = matchScope(excludeScope);\n\n return scope.children.every(c => c.destroyed || c.completed || excludeScope(c));\n};\n\n/**\n * Destroy all scope children.\n *\n * @param {Scope} scope\n * @param {Scope} initiator\n * @param {Scope|Function} [excludeScope=null]\n */\nScopeBehavior.prototype.destroyChildren = function(scope, initiator, excludeScope = null) {\n\n excludeScope = matchScope(excludeScope);\n\n scope.children.filter(c => !c.destroyed && !excludeScope(c)).map(c => {\n this._simulator.destroyScope(c, initiator);\n });\n};\n\nScopeBehavior.prototype.terminate = function(scope, initiator) {\n\n // kill all child scopes\n this.destroyChildren(scope, initiator);\n\n // mark as terminated\n scope.terminate(initiator);\n\n // exit immediately\n this.tryExit(scope, initiator);\n};\n\nScopeBehavior.prototype.interrupt = function(scope, initiator) {\n\n // kill children but initiator\n this.destroyChildren(scope, initiator, initiator);\n\n // mark as failed\n scope.fail(initiator);\n};\n\nScopeBehavior.prototype.tryExit = function(scope, initiator) {\n if (!scope) {\n throw new Error('missing ');\n }\n\n if (!initiator) {\n initiator = scope;\n }\n\n if (!this.isFinished(scope, initiator)) {\n return EXIT_EVENT;\n }\n\n const preExitSubscriptions = this._simulator.findSubscriptions({\n event: PRE_EXIT_EVENT,\n scope\n });\n\n for (const subscription of preExitSubscriptions) {\n\n const {\n event,\n scope\n } = subscription;\n\n const scopes = this._simulator.trigger({\n event,\n scope,\n initiator\n });\n\n if (scopes.length) {\n return EXIT_EVENT;\n }\n }\n\n this._simulator.trigger({\n event: EXIT_EVENT,\n scope,\n initiator\n });\n\n this.exit({\n scope,\n initiator\n });\n};\n\nScopeBehavior.prototype.exit = function(context) {\n\n const {\n scope,\n initiator\n } = context;\n\n if (!initiator) {\n throw new Error('missing ');\n }\n\n this._simulator.exit({\n element: scope.element,\n scope: scope,\n initiator\n });\n};\n\nScopeBehavior.prototype.preExit = function(scope, triggerFn) {\n const subscription = this._simulator.subscribe(scope, PRE_EXIT_EVENT, (initiator) => {\n\n subscription.remove();\n\n return triggerFn(initiator);\n });\n\n return subscription;\n};\n\n\n// helpers ////////////////\n\n/**\n * Create a scope matcher.\n *\n * @param {Scope|Function} fnOrScope\n *\n * @return { (Scope) => boolean }\n */\nfunction matchScope(fnOrScope) {\n\n if (typeof fnOrScope === 'function') {\n return fnOrScope;\n }\n\n return (scope) => scope === fnOrScope;\n}","import {\n isImplicitStartEvent,\n isNoneStartEvent,\n isStartEvent\n} from '../util/ModelUtil';\n\n\nexport default function ProcessBehavior(\n simulator,\n scopeBehavior) {\n\n this._simulator = simulator;\n this._scopeBehavior = scopeBehavior;\n\n simulator.registerBehavior('bpmn:Process', this);\n simulator.registerBehavior('bpmn:Participant', this);\n}\n\nProcessBehavior.prototype.signal = function(context) {\n\n const {\n element,\n startEvent,\n startNodes = this._findStarts(element, startEvent),\n scope\n } = context;\n\n if (!startNodes.length) {\n throw new Error('missing or ');\n }\n\n for (const startNode of startNodes) {\n\n if (isStartEvent(startNode)) {\n this._simulator.signal({\n element: startNode,\n parentScope: scope\n });\n } else {\n this._simulator.enter({\n element: startNode,\n scope\n });\n }\n }\n\n};\n\nProcessBehavior.prototype.exit = function(context) {\n\n const {\n scope,\n initiator\n } = context;\n\n // ensure that all sub-scopes are destroyed\n\n this._scopeBehavior.destroyChildren(scope, initiator);\n};\n\nProcessBehavior.prototype._findStarts = function(element, startEvent) {\n\n const isStartEvent = startEvent\n ? (node) => startEvent === node\n : (node) => isNoneStartEvent(node);\n\n return element.children.filter(\n node => (\n isStartEvent(node) || isImplicitStartEvent(node)\n )\n );\n};\n\nProcessBehavior.$inject = [\n 'simulator',\n 'scopeBehavior'\n];","import StartEventBehavior from './StartEventBehavior';\nimport EndEventBehavior from './EndEventBehavior';\nimport BoundaryEventBehavior from './BoundaryEventBehavior';\nimport IntermediateCatchEventBehavior from './IntermediateCatchEventBehavior';\nimport IntermediateThrowEventBehavior from './IntermediateThrowEventBehavior';\n\nimport ExclusiveGatewayBehavior from './ExclusiveGatewayBehavior';\nimport ParallelGatewayBehavior from './ParallelGatewayBehavior';\nimport EventBasedGatewayBehavior from './EventBasedGatewayBehavior';\nimport InclusiveGatewayBehavior from './InclusiveGatewayBehavior';\n\nimport ActivityBehavior from './ActivityBehavior';\nimport SubProcessBehavior from './SubProcessBehavior';\nimport TransactionBehavior from './TransactionBehavior';\n\nimport SequenceFlowBehavior from './SequenceFlowBehavior';\nimport MessageFlowBehavior from './MessageFlowBehavior';\n\nimport EventBehaviors from './EventBehaviors';\nimport ScopeBehavior from './ScopeBehavior';\n\nimport ProcessBehavior from './ProcessBehavior';\n\n\nexport default {\n __init__: [\n 'startEventBehavior',\n 'endEventBehavior',\n 'boundaryEventBehavior',\n 'intermediateCatchEventBehavior',\n 'intermediateThrowEventBehavior',\n 'exclusiveGatewayBehavior',\n 'parallelGatewayBehavior',\n 'eventBasedGatewayBehavior',\n 'inclusiveGatewayBehavior',\n 'subProcessBehavior',\n 'sequenceFlowBehavior',\n 'messageFlowBehavior',\n 'processBehavior'\n ],\n startEventBehavior: [ 'type', StartEventBehavior ],\n endEventBehavior: [ 'type', EndEventBehavior ],\n boundaryEventBehavior: [ 'type', BoundaryEventBehavior ],\n intermediateCatchEventBehavior: [ 'type', IntermediateCatchEventBehavior ],\n intermediateThrowEventBehavior: [ 'type', IntermediateThrowEventBehavior ],\n exclusiveGatewayBehavior: [ 'type', ExclusiveGatewayBehavior ],\n parallelGatewayBehavior: [ 'type', ParallelGatewayBehavior ],\n eventBasedGatewayBehavior: [ 'type', EventBasedGatewayBehavior ],\n inclusiveGatewayBehavior: [ 'type', InclusiveGatewayBehavior ],\n activityBehavior: [ 'type', ActivityBehavior ],\n subProcessBehavior: [ 'type', SubProcessBehavior ],\n sequenceFlowBehavior: [ 'type', SequenceFlowBehavior ],\n messageFlowBehavior: [ 'type', MessageFlowBehavior ],\n eventBehaviors: [ 'type', EventBehaviors ],\n scopeBehavior: [ 'type', ScopeBehavior ],\n processBehavior: [ 'type', ProcessBehavior ],\n transactionBehavior: [ 'type', TransactionBehavior ]\n};","import Simulator from './Simulator';\nimport SimulationBehaviorModule from './behaviors';\n\nconst HIGH_PRIORITY = 5000;\n\nexport default {\n __depends__: [\n SimulationBehaviorModule\n ],\n __init__: [\n [ 'eventBus', 'simulator', function(eventBus, simulator) {\n eventBus.on([\n 'tokenSimulation.toggleMode',\n 'tokenSimulation.resetSimulation'\n ], HIGH_PRIORITY, event => {\n simulator.reset();\n });\n } ]\n ],\n simulator: [ 'type', Simulator ]\n};","function e(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}export{e as default};\n//# sourceMappingURL=index.es.js.map\n","import MessageFlowBehavior from '../../simulator/behaviors/MessageFlowBehavior';\n\nimport inherits from 'inherits-browser';\n\n\nexport default function AnimatedMessageFlowBehavior(injector, animation) {\n injector.invoke(MessageFlowBehavior, this);\n\n this._animation = animation;\n}\n\ninherits(AnimatedMessageFlowBehavior, MessageFlowBehavior);\n\nAnimatedMessageFlowBehavior.$inject = [\n 'injector',\n 'animation'\n];\n\nAnimatedMessageFlowBehavior.prototype.signal = function(context) {\n\n const {\n element,\n scope\n } = context;\n\n this._animation.animate(element, scope, () => {\n MessageFlowBehavior.prototype.signal.call(this, context);\n });\n};\n","import SequenceFlowBehavior from '../../simulator/behaviors/SequenceFlowBehavior';\n\nimport inherits from 'inherits-browser';\n\n\nexport default function AnimatedSequenceFlowBehavior(injector, animation) {\n injector.invoke(SequenceFlowBehavior, this);\n\n this._animation = animation;\n}\n\ninherits(AnimatedSequenceFlowBehavior, SequenceFlowBehavior);\n\nAnimatedSequenceFlowBehavior.$inject = [\n 'injector',\n 'animation'\n];\n\nAnimatedSequenceFlowBehavior.prototype.enter = function(context) {\n\n const {\n element,\n scope\n } = context;\n\n this._animation.animate(element, scope, () => {\n SequenceFlowBehavior.prototype.enter.call(this, context);\n });\n};","import AnimatedMessageFlowBehavior from './AnimatedMessageFlowBehavior';\nimport AnimatedSequenceFlowBehavior from './AnimatedSequenceFlowBehavior';\n\nexport default {\n sequenceFlowBehavior: [ 'type', AnimatedSequenceFlowBehavior ],\n messageFlowBehavior: [ 'type', AnimatedMessageFlowBehavior ]\n};","const TOGGLE_MODE_EVENT = 'tokenSimulation.toggleMode';\r\nconst PLAY_SIMULATION_EVENT = 'tokenSimulation.playSimulation';\r\nconst PAUSE_SIMULATION_EVENT = 'tokenSimulation.pauseSimulation';\r\nconst RESET_SIMULATION_EVENT = 'tokenSimulation.resetSimulation';\r\nconst ANIMATION_CREATED_EVENT = 'tokenSimulation.animationCreated';\r\nconst ANIMATION_SPEED_CHANGED_EVENT = 'tokenSimulation.animationSpeedChanged';\r\nconst ELEMENT_CHANGED_EVENT = 'tokenSimulation.simulator.elementChanged';\r\nconst SCOPE_DESTROYED_EVENT = 'tokenSimulation.simulator.destroyScope';\r\nconst SCOPE_CHANGED_EVENT = 'tokenSimulation.simulator.scopeChanged';\r\nconst SCOPE_CREATE_EVENT = 'tokenSimulation.simulator.createScope';\r\nconst SCOPE_FILTER_CHANGED_EVENT = 'tokenSimulation.scopeFilterChanged';\r\nconst TRACE_EVENT = 'tokenSimulation.simulator.trace';\r\n\r\nexport {\r\n TOGGLE_MODE_EVENT,\r\n PLAY_SIMULATION_EVENT,\r\n PAUSE_SIMULATION_EVENT,\r\n RESET_SIMULATION_EVENT,\r\n ANIMATION_CREATED_EVENT,\r\n ANIMATION_SPEED_CHANGED_EVENT,\r\n ELEMENT_CHANGED_EVENT,\r\n SCOPE_DESTROYED_EVENT,\r\n SCOPE_CHANGED_EVENT,\r\n SCOPE_CREATE_EVENT,\r\n SCOPE_FILTER_CHANGED_EVENT,\r\n TRACE_EVENT\r\n};","import {\n SCOPE_FILTER_CHANGED_EVENT,\n TOGGLE_MODE_EVENT,\n RESET_SIMULATION_EVENT,\n SCOPE_CREATE_EVENT,\n SCOPE_DESTROYED_EVENT\n} from '../../util/EventHelper';\n\nconst DEFAULT_SCOPE_FILTER = (s) => true;\n\n\nexport default function ScopeFilter(eventBus, simulator) {\n this._eventBus = eventBus;\n this._simulator = simulator;\n\n this._filter = DEFAULT_SCOPE_FILTER;\n\n eventBus.on([\n TOGGLE_MODE_EVENT,\n RESET_SIMULATION_EVENT\n ], () => {\n this._filter = DEFAULT_SCOPE_FILTER;\n });\n\n eventBus.on(SCOPE_DESTROYED_EVENT, event => {\n\n const {\n scope\n } = event;\n\n // if we're currently filtering, ensure newly\n // created instance is shown\n\n if (this._scope === scope && scope.parent) {\n this.toggle(scope.parent);\n }\n });\n\n\n eventBus.on(SCOPE_CREATE_EVENT, event => {\n\n const {\n scope\n } = event;\n\n // if we're currently filtering, ensure newly\n // created instance is shown\n\n if (!scope.parent && this._scope && !isAncestor(this._scope, scope)) {\n this.toggle(null);\n }\n });\n}\n\nScopeFilter.prototype.toggle = function(scope) {\n\n const setFilter = this._scope !== scope;\n\n this._scope = setFilter ? scope : null;\n\n this._filter =\n this._scope\n ? s => isAncestor(this._scope, s)\n : s => true;\n\n this._eventBus.fire(SCOPE_FILTER_CHANGED_EVENT, {\n filter: this._filter,\n scope: this._scope\n });\n};\n\nScopeFilter.prototype.isShown = function(scope) {\n\n if (typeof scope === 'string') {\n scope = this._simulator.findScope(s => s.id === scope);\n }\n\n return scope && this._filter(scope);\n};\n\nScopeFilter.prototype.findScope = function(options) {\n return this._simulator.findScopes(options).filter(s => this.isShown(s))[0];\n};\n\nScopeFilter.$inject = [\n 'eventBus',\n 'simulator'\n];\n\nfunction isAncestor(parent, scope) {\n do {\n if (parent === scope) {\n return true;\n }\n } while ((scope = scope.parent));\n\n return false;\n}","import ScopeFilter from './ScopeFilter';\n\nexport default {\n scopeFilter: [ 'type', ScopeFilter ]\n};","function _mergeNamespaces(n, m) {\n m.forEach(function (e) {\n e && typeof e !== 'string' && !Array.isArray(e) && Object.keys(e).forEach(function (k) {\n if (k !== 'default' && !(k in n)) {\n var d = Object.getOwnPropertyDescriptor(e, k);\n Object.defineProperty(n, k, d.get ? d : {\n enumerable: true,\n get: function () { return e[k]; }\n });\n }\n });\n });\n return Object.freeze(n);\n}\n\n/**\n * Flatten array, one level deep.\n *\n * @template T\n *\n * @param {T[][] | T[] | null} [arr]\n *\n * @return {T[]}\n */\n\nconst nativeToString = Object.prototype.toString;\nconst nativeHasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction isUndefined(obj) {\n return obj === undefined;\n}\n\nfunction isArray(obj) {\n return nativeToString.call(obj) === '[object Array]';\n}\n\n/**\n * Return true, if target owns a property with the given key.\n *\n * @param {Object} target\n * @param {String} key\n *\n * @return {Boolean}\n */\nfunction has(target, key) {\n return nativeHasOwnProperty.call(target, key);\n}\n\n\n/**\n * Iterate over collection; returning something\n * (non-undefined) will stop iteration.\n *\n * @template T\n * @param {Collection} collection\n * @param { ((item: T, idx: number) => (boolean|void)) | ((item: T, key: string) => (boolean|void)) } iterator\n *\n * @return {T} return result that stopped the iteration\n */\nfunction forEach(collection, iterator) {\n\n let val,\n result;\n\n if (isUndefined(collection)) {\n return;\n }\n\n const convertKey = isArray(collection) ? toNum : identity;\n\n for (let key in collection) {\n\n if (has(collection, key)) {\n val = collection[key];\n\n result = iterator(val, convertKey(key));\n\n if (result === false) {\n return val;\n }\n }\n }\n}\n\n\nfunction identity(arg) {\n return arg;\n}\n\nfunction toNum(arg) {\n return Number(arg);\n}\n\n/**\n * Assigns style attributes in a style-src compliant way.\n *\n * @param {Element} element\n * @param {...Object} styleSources\n *\n * @return {Element} the element\n */\nfunction assign(element, ...styleSources) {\n const target = element.style;\n\n forEach(styleSources, function(style) {\n if (!style) {\n return;\n }\n\n forEach(style, function(value, key) {\n target[key] = value;\n });\n });\n\n return element;\n}\n\n/**\n * Set attribute `name` to `val`, or get attr `name`.\n *\n * @param {Element} el\n * @param {String} name\n * @param {String} [val]\n * @api public\n */\nfunction attr(el, name, val) {\n\n // get\n if (arguments.length == 2) {\n return el.getAttribute(name);\n }\n\n // remove\n if (val === null) {\n return el.removeAttribute(name);\n }\n\n // set\n el.setAttribute(name, val);\n\n return el;\n}\n\n/**\n * Taken from https://github.com/component/classes\n *\n * Without the component bits.\n */\n\n/**\n * toString reference.\n */\n\nconst toString = Object.prototype.toString;\n\n/**\n * Wrap `el` in a `ClassList`.\n *\n * @param {Element} el\n * @return {ClassList}\n * @api public\n */\n\nfunction classes(el) {\n return new ClassList(el);\n}\n\n/**\n * Initialize a new ClassList for `el`.\n *\n * @param {Element} el\n * @api private\n */\n\nfunction ClassList(el) {\n if (!el || !el.nodeType) {\n throw new Error('A DOM element reference is required');\n }\n this.el = el;\n this.list = el.classList;\n}\n\n/**\n * Add class `name` if not already present.\n *\n * @param {String} name\n * @return {ClassList}\n * @api public\n */\n\nClassList.prototype.add = function(name) {\n this.list.add(name);\n return this;\n};\n\n/**\n * Remove class `name` when present, or\n * pass a regular expression to remove\n * any which match.\n *\n * @param {String|RegExp} name\n * @return {ClassList}\n * @api public\n */\n\nClassList.prototype.remove = function(name) {\n if ('[object RegExp]' == toString.call(name)) {\n return this.removeMatching(name);\n }\n\n this.list.remove(name);\n return this;\n};\n\n/**\n * Remove all classes matching `re`.\n *\n * @param {RegExp} re\n * @return {ClassList}\n * @api private\n */\n\nClassList.prototype.removeMatching = function(re) {\n const arr = this.array();\n for (let i = 0; i < arr.length; i++) {\n if (re.test(arr[i])) {\n this.remove(arr[i]);\n }\n }\n return this;\n};\n\n/**\n * Toggle class `name`, can force state via `force`.\n *\n * For browsers that support classList, but do not support `force` yet,\n * the mistake will be detected and corrected.\n *\n * @param {String} name\n * @param {Boolean} force\n * @return {ClassList}\n * @api public\n */\n\nClassList.prototype.toggle = function(name, force) {\n if ('undefined' !== typeof force) {\n if (force !== this.list.toggle(name, force)) {\n this.list.toggle(name); // toggle again to correct\n }\n } else {\n this.list.toggle(name);\n }\n return this;\n};\n\n/**\n * Return an array of classes.\n *\n * @return {Array}\n * @api public\n */\n\nClassList.prototype.array = function() {\n return Array.from(this.list);\n};\n\n/**\n * Check if class `name` is present.\n *\n * @param {String} name\n * @return {ClassList}\n * @api public\n */\n\nClassList.prototype.has =\nClassList.prototype.contains = function(name) {\n return this.list.contains(name);\n};\n\n/**\n * Clear utility\n */\n\n/**\n * Removes all children from the given element\n *\n * @param {Element} element\n *\n * @return {Element} the element (for chaining)\n */\nfunction clear(element) {\n var child;\n\n while ((child = element.firstChild)) {\n element.removeChild(child);\n }\n\n return element;\n}\n\n/**\n * Closest\n *\n * @param {Element} el\n * @param {string} selector\n * @param {boolean} checkYourSelf (optional)\n */\nfunction closest(element, selector, checkYourSelf) {\n var actualElement = checkYourSelf ? element : element.parentNode;\n\n return actualElement && typeof actualElement.closest === 'function' && actualElement.closest(selector) || null;\n}\n\nvar componentEvent = {};\n\nvar bind$1, unbind$1, prefix;\n\nfunction detect () {\n bind$1 = window.addEventListener ? 'addEventListener' : 'attachEvent';\n unbind$1 = window.removeEventListener ? 'removeEventListener' : 'detachEvent';\n prefix = bind$1 !== 'addEventListener' ? 'on' : '';\n}\n\n/**\n * Bind `el` event `type` to `fn`.\n *\n * @param {Element} el\n * @param {String} type\n * @param {Function} fn\n * @param {Boolean} capture\n * @return {Function}\n * @api public\n */\n\nvar bind_1 = componentEvent.bind = function(el, type, fn, capture){\n if (!bind$1) detect();\n el[bind$1](prefix + type, fn, capture || false);\n return fn;\n};\n\n/**\n * Unbind `el` event `type`'s callback `fn`.\n *\n * @param {Element} el\n * @param {String} type\n * @param {Function} fn\n * @param {Boolean} capture\n * @return {Function}\n * @api public\n */\n\nvar unbind_1 = componentEvent.unbind = function(el, type, fn, capture){\n if (!unbind$1) detect();\n el[unbind$1](prefix + type, fn, capture || false);\n return fn;\n};\n\nvar event = /*#__PURE__*/_mergeNamespaces({\n __proto__: null,\n bind: bind_1,\n unbind: unbind_1,\n 'default': componentEvent\n}, [componentEvent]);\n\n/**\n * Module dependencies.\n */\n\n/**\n * Delegate event `type` to `selector`\n * and invoke `fn(e)`. A callback function\n * is returned which may be passed to `.unbind()`.\n *\n * @param {Element} el\n * @param {String} selector\n * @param {String} type\n * @param {Function} fn\n * @param {Boolean} capture\n * @return {Function}\n * @api public\n */\n\n// Some events don't bubble, so we want to bind to the capture phase instead\n// when delegating.\nvar forceCaptureEvents = [ 'focus', 'blur' ];\n\nfunction bind(el, selector, type, fn, capture) {\n if (forceCaptureEvents.indexOf(type) !== -1) {\n capture = true;\n }\n\n return event.bind(el, type, function(e) {\n var target = e.target || e.srcElement;\n e.delegateTarget = closest(target, selector, true);\n if (e.delegateTarget) {\n fn.call(el, e);\n }\n }, capture);\n}\n\n/**\n * Unbind event `type`'s callback `fn`.\n *\n * @param {Element} el\n * @param {String} type\n * @param {Function} fn\n * @param {Boolean} capture\n * @api public\n */\nfunction unbind(el, type, fn, capture) {\n if (forceCaptureEvents.indexOf(type) !== -1) {\n capture = true;\n }\n\n return event.unbind(el, type, fn, capture);\n}\n\nvar delegate = {\n bind,\n unbind\n};\n\n/**\n * Expose `parse`.\n */\n\nvar domify = parse;\n\n/**\n * Tests for browser support.\n */\n\nvar innerHTMLBug = false;\nvar bugTestDiv;\nif (typeof document !== 'undefined') {\n bugTestDiv = document.createElement('div');\n // Setup\n bugTestDiv.innerHTML = '
    a';\n // Make sure that link elements get serialized correctly by innerHTML\n // This requires a wrapper element in IE\n innerHTMLBug = !bugTestDiv.getElementsByTagName('link').length;\n bugTestDiv = undefined;\n}\n\n/**\n * Wrap map from jquery.\n */\n\nvar map = {\n legend: [1, '
    ', '
    '],\n tr: [2, '', '
    '],\n col: [2, '', '
    '],\n // for script/link/style tags to work in IE6-8, you have to wrap\n // in a div with a non-whitespace character in front, ha!\n _default: innerHTMLBug ? [1, 'X
    ', '
    '] : [0, '', '']\n};\n\nmap.td =\nmap.th = [3, '', '
    '];\n\nmap.option =\nmap.optgroup = [1, ''];\n\nmap.thead =\nmap.tbody =\nmap.colgroup =\nmap.caption =\nmap.tfoot = [1, '', '
    '];\n\nmap.polyline =\nmap.ellipse =\nmap.polygon =\nmap.circle =\nmap.text =\nmap.line =\nmap.path =\nmap.rect =\nmap.g = [1, '',''];\n\n/**\n * Parse `html` and return a DOM Node instance, which could be a TextNode,\n * HTML DOM Node of some kind (
    for example), or a DocumentFragment\n * instance, depending on the contents of the `html` string.\n *\n * @param {String} html - HTML string to \"domify\"\n * @param {Document} doc - The `document` instance to create the Node for\n * @return {DOMNode} the TextNode, DOM Node, or DocumentFragment instance\n * @api private\n */\n\nfunction parse(html, doc) {\n if ('string' != typeof html) throw new TypeError('String expected');\n\n // default to the global `document` object\n if (!doc) doc = document;\n\n // tag name\n var m = /<([\\w:]+)/.exec(html);\n if (!m) return doc.createTextNode(html);\n\n html = html.replace(/^\\s+|\\s+$/g, ''); // Remove leading/trailing whitespace\n\n var tag = m[1];\n\n // body support\n if (tag == 'body') {\n var el = doc.createElement('html');\n el.innerHTML = html;\n return el.removeChild(el.lastChild);\n }\n\n // wrap map\n var wrap = Object.prototype.hasOwnProperty.call(map, tag) ? map[tag] : map._default;\n var depth = wrap[0];\n var prefix = wrap[1];\n var suffix = wrap[2];\n var el = doc.createElement('div');\n el.innerHTML = prefix + html + suffix;\n while (depth--) el = el.lastChild;\n\n // one element\n if (el.firstChild == el.lastChild) {\n return el.removeChild(el.firstChild);\n }\n\n // several elements\n var fragment = doc.createDocumentFragment();\n while (el.firstChild) {\n fragment.appendChild(el.removeChild(el.firstChild));\n }\n\n return fragment;\n}\n\nvar domify$1 = domify;\n\n/**\n * @param { HTMLElement } element\n * @param { String } selector\n *\n * @return { boolean }\n */\nfunction matches(element, selector) {\n return element && typeof element.matches === 'function' && element.matches(selector) || false;\n}\n\nfunction query(selector, el) {\n el = el || document;\n\n return el.querySelector(selector);\n}\n\nfunction all(selector, el) {\n el = el || document;\n\n return el.querySelectorAll(selector);\n}\n\nfunction remove(el) {\n el.parentNode && el.parentNode.removeChild(el);\n}\n\nexport { assign as assignStyle, attr, classes, clear, closest, delegate, domify$1 as domify, event, matches, query, all as queryAll, remove };\n//# sourceMappingURL=index.esm.js.map\n","function ensureImported(element, target) {\n\n if (element.ownerDocument !== target.ownerDocument) {\n try {\n\n // may fail on webkit\n return target.ownerDocument.importNode(element, true);\n } catch (e) {\n\n // ignore\n }\n }\n\n return element;\n}\n\n/**\n * appendTo utility\n */\n\n\n/**\n * Append a node to a target element and return the appended node.\n *\n * @param {SVGElement} element\n * @param {SVGElement} target\n *\n * @return {SVGElement} the appended node\n */\nfunction appendTo(element, target) {\n return target.appendChild(ensureImported(element, target));\n}\n\n/**\n * append utility\n */\n\n\n/**\n * Append a node to an element\n *\n * @param {SVGElement} element\n * @param {SVGElement} node\n *\n * @return {SVGElement} the element\n */\nfunction append(target, node) {\n appendTo(node, target);\n return target;\n}\n\n/**\n * attribute accessor utility\n */\n\nvar LENGTH_ATTR = 2;\n\nvar CSS_PROPERTIES = {\n 'alignment-baseline': 1,\n 'baseline-shift': 1,\n 'clip': 1,\n 'clip-path': 1,\n 'clip-rule': 1,\n 'color': 1,\n 'color-interpolation': 1,\n 'color-interpolation-filters': 1,\n 'color-profile': 1,\n 'color-rendering': 1,\n 'cursor': 1,\n 'direction': 1,\n 'display': 1,\n 'dominant-baseline': 1,\n 'enable-background': 1,\n 'fill': 1,\n 'fill-opacity': 1,\n 'fill-rule': 1,\n 'filter': 1,\n 'flood-color': 1,\n 'flood-opacity': 1,\n 'font': 1,\n 'font-family': 1,\n 'font-size': LENGTH_ATTR,\n 'font-size-adjust': 1,\n 'font-stretch': 1,\n 'font-style': 1,\n 'font-variant': 1,\n 'font-weight': 1,\n 'glyph-orientation-horizontal': 1,\n 'glyph-orientation-vertical': 1,\n 'image-rendering': 1,\n 'kerning': 1,\n 'letter-spacing': 1,\n 'lighting-color': 1,\n 'marker': 1,\n 'marker-end': 1,\n 'marker-mid': 1,\n 'marker-start': 1,\n 'mask': 1,\n 'opacity': 1,\n 'overflow': 1,\n 'pointer-events': 1,\n 'shape-rendering': 1,\n 'stop-color': 1,\n 'stop-opacity': 1,\n 'stroke': 1,\n 'stroke-dasharray': 1,\n 'stroke-dashoffset': 1,\n 'stroke-linecap': 1,\n 'stroke-linejoin': 1,\n 'stroke-miterlimit': 1,\n 'stroke-opacity': 1,\n 'stroke-width': LENGTH_ATTR,\n 'text-anchor': 1,\n 'text-decoration': 1,\n 'text-rendering': 1,\n 'unicode-bidi': 1,\n 'visibility': 1,\n 'word-spacing': 1,\n 'writing-mode': 1\n};\n\n\nfunction getAttribute(node, name) {\n if (CSS_PROPERTIES[name]) {\n return node.style[name];\n } else {\n return node.getAttributeNS(null, name);\n }\n}\n\nfunction setAttribute(node, name, value) {\n var hyphenated = name.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n\n var type = CSS_PROPERTIES[hyphenated];\n\n if (type) {\n\n // append pixel unit, unless present\n if (type === LENGTH_ATTR && typeof value === 'number') {\n value = String(value) + 'px';\n }\n\n node.style[hyphenated] = value;\n } else {\n node.setAttributeNS(null, name, value);\n }\n}\n\nfunction setAttributes(node, attrs) {\n\n var names = Object.keys(attrs), i, name;\n\n for (i = 0, name; (name = names[i]); i++) {\n setAttribute(node, name, attrs[name]);\n }\n}\n\n/**\n * Gets or sets raw attributes on a node.\n *\n * @param {SVGElement} node\n * @param {Object} [attrs]\n * @param {String} [name]\n * @param {String} [value]\n *\n * @return {String}\n */\nfunction attr(node, name, value) {\n if (typeof name === 'string') {\n if (value !== undefined) {\n setAttribute(node, name, value);\n } else {\n return getAttribute(node, name);\n }\n } else {\n setAttributes(node, name);\n }\n\n return node;\n}\n\n/**\r\n * Taken from https://github.com/component/classes\r\n *\r\n * Without the component bits.\r\n */\r\n\r\n/**\r\n * toString reference.\r\n */\r\n\r\nconst toString = Object.prototype.toString;\r\n\r\n/**\r\n * Wrap `el` in a `ClassList`.\r\n *\r\n * @param {Element} el\r\n * @return {ClassList}\r\n * @api public\r\n */\r\n\r\nfunction classes(el) {\r\n return new ClassList(el);\r\n}\r\n\r\nfunction ClassList(el) {\r\n if (!el || !el.nodeType) {\r\n throw new Error('A DOM element reference is required');\r\n }\r\n this.el = el;\r\n this.list = el.classList;\r\n}\r\n\r\n/**\r\n * Add class `name` if not already present.\r\n *\r\n * @param {String} name\r\n * @return {ClassList}\r\n * @api public\r\n */\r\n\r\nClassList.prototype.add = function(name) {\r\n this.list.add(name);\r\n return this;\r\n};\r\n\r\n/**\r\n * Remove class `name` when present, or\r\n * pass a regular expression to remove\r\n * any which match.\r\n *\r\n * @param {String|RegExp} name\r\n * @return {ClassList}\r\n * @api public\r\n */\r\n\r\nClassList.prototype.remove = function(name) {\r\n if ('[object RegExp]' == toString.call(name)) {\r\n return this.removeMatching(name);\r\n }\r\n\r\n this.list.remove(name);\r\n return this;\r\n};\r\n\r\n/**\r\n * Remove all classes matching `re`.\r\n *\r\n * @param {RegExp} re\r\n * @return {ClassList}\r\n * @api private\r\n */\r\n\r\nClassList.prototype.removeMatching = function(re) {\r\n const arr = this.array();\r\n for (let i = 0; i < arr.length; i++) {\r\n if (re.test(arr[i])) {\r\n this.remove(arr[i]);\r\n }\r\n }\r\n return this;\r\n};\r\n\r\n/**\r\n * Toggle class `name`, can force state via `force`.\r\n *\r\n * For browsers that support classList, but do not support `force` yet,\r\n * the mistake will be detected and corrected.\r\n *\r\n * @param {String} name\r\n * @param {Boolean} force\r\n * @return {ClassList}\r\n * @api public\r\n */\r\n\r\nClassList.prototype.toggle = function(name, force) {\r\n if ('undefined' !== typeof force) {\r\n if (force !== this.list.toggle(name, force)) {\r\n this.list.toggle(name); // toggle again to correct\r\n }\r\n } else {\r\n this.list.toggle(name);\r\n }\r\n return this;\r\n};\r\n\r\n/**\r\n * Return an array of classes.\r\n *\r\n * @return {Array}\r\n * @api public\r\n */\r\n\r\nClassList.prototype.array = function() {\r\n return Array.from(this.list);\r\n};\r\n\r\n/**\r\n * Check if class `name` is present.\r\n *\r\n * @param {String} name\r\n * @return {ClassList}\r\n * @api public\r\n */\r\n\r\nClassList.prototype.has =\r\n ClassList.prototype.contains = function(name) {\r\n return this.list.contains(name);\r\n };\n\n/**\n * Clear utility\n */\n\n/**\n * Removes all children from the given element\n *\n * @param {SVGElement} element\n * @return {Element} the element (for chaining)\n */\nfunction clear(element) {\n var child;\n\n while ((child = element.firstChild)) {\n element.removeChild(child);\n }\n\n return element;\n}\n\nfunction clone(element) {\n return element.cloneNode(true);\n}\n\nvar ns = {\n svg: 'http://www.w3.org/2000/svg'\n};\n\n/**\n * DOM parsing utility\n */\n\n\nvar SVG_START = '' + svg + '';\n unwrap = true;\n }\n\n var parsed = parseDocument(svg);\n\n if (!unwrap) {\n return parsed;\n }\n\n var fragment = document.createDocumentFragment();\n\n var parent = parsed.firstChild;\n\n while (parent.firstChild) {\n fragment.appendChild(parent.firstChild);\n }\n\n return fragment;\n}\n\nfunction parseDocument(svg) {\n\n var parser;\n\n // parse\n parser = new DOMParser();\n parser.async = false;\n\n return parser.parseFromString(svg, 'text/xml');\n}\n\n/**\n * Create utility for SVG elements\n */\n\n\n\n/**\n * Create a specific type from name or SVG markup.\n *\n * @param {String} name the name or markup of the element\n * @param {Object} [attrs] attributes to set on the element\n *\n * @returns {SVGElement}\n */\nfunction create(name, attrs) {\n var element;\n\n name = name.trim();\n\n if (name.charAt(0) === '<') {\n element = parse(name).firstChild;\n element = document.importNode(element, true);\n } else {\n element = document.createElementNS(ns.svg, name);\n }\n\n if (attrs) {\n attr(element, attrs);\n }\n\n return element;\n}\n\n/**\n * Events handling utility\n */\n\nfunction on(node, event, listener, useCapture) {\n node.addEventListener(event, listener, useCapture);\n}\n\nfunction off(node, event, listener, useCapture) {\n node.removeEventListener(event, listener, useCapture);\n}\n\n/**\n * Geometry helpers\n */\n\n\n// fake node used to instantiate svg geometry elements\nvar node = null;\n\nfunction getNode() {\n if (node === null) {\n node = create('svg');\n }\n\n return node;\n}\n\nfunction extend(object, props) {\n var i, k, keys = Object.keys(props);\n\n for (i = 0; (k = keys[i]); i++) {\n object[k] = props[k];\n }\n\n return object;\n}\n\n\nfunction createPoint(x, y) {\n var point = getNode().createSVGPoint();\n\n switch (arguments.length) {\n case 0:\n return point;\n case 2:\n x = {\n x: x,\n y: y\n };\n break;\n }\n\n return extend(point, x);\n}\n\n/**\n * Create matrix via args.\n *\n * @example\n *\n * createMatrix({ a: 1, b: 1 });\n * createMatrix();\n * createMatrix(1, 2, 0, 0, 30, 20);\n *\n * @return {SVGMatrix}\n */\nfunction createMatrix(a, b, c, d, e, f) {\n var matrix = getNode().createSVGMatrix();\n\n switch (arguments.length) {\n case 0:\n return matrix;\n case 1:\n return extend(matrix, a);\n case 6:\n return extend(matrix, {\n a: a,\n b: b,\n c: c,\n d: d,\n e: e,\n f: f\n });\n }\n}\n\nfunction createTransform(matrix) {\n if (matrix) {\n return getNode().createSVGTransformFromMatrix(matrix);\n } else {\n return getNode().createSVGTransform();\n }\n}\n\n/**\n * Serialization util\n */\n\nvar TEXT_ENTITIES = /([&<>]{1})/g;\nvar ATTR_ENTITIES = /([\\n\\r\"]{1})/g;\n\nvar ENTITY_REPLACEMENT = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '\\''\n};\n\nfunction escape(str, pattern) {\n\n function replaceFn(match, entity) {\n return ENTITY_REPLACEMENT[entity] || entity;\n }\n\n return str.replace(pattern, replaceFn);\n}\n\nfunction serialize(node, output) {\n\n var i, len, attrMap, attrNode, childNodes;\n\n switch (node.nodeType) {\n\n // TEXT\n case 3:\n\n // replace special XML characters\n output.push(escape(node.textContent, TEXT_ENTITIES));\n break;\n\n // ELEMENT\n case 1:\n output.push('<', node.tagName);\n\n if (node.hasAttributes()) {\n attrMap = node.attributes;\n for (i = 0, len = attrMap.length; i < len; ++i) {\n attrNode = attrMap.item(i);\n output.push(' ', attrNode.name, '=\"', escape(attrNode.value, ATTR_ENTITIES), '\"');\n }\n }\n\n if (node.hasChildNodes()) {\n output.push('>');\n childNodes = node.childNodes;\n for (i = 0, len = childNodes.length; i < len; ++i) {\n serialize(childNodes.item(i), output);\n }\n output.push('');\n } else {\n output.push('/>');\n }\n break;\n\n // COMMENT\n case 8:\n output.push('');\n break;\n\n // CDATA\n case 4:\n output.push('');\n break;\n\n default:\n throw new Error('unable to handle node ' + node.nodeType);\n }\n\n return output;\n}\n\n/**\n * innerHTML like functionality for SVG elements.\n * based on innerSVG (https://code.google.com/p/innersvg)\n */\n\n\n\nfunction set(element, svg) {\n\n var parsed = parse(svg);\n\n // clear element contents\n clear(element);\n\n if (!svg) {\n return;\n }\n\n if (!isFragment(parsed)) {\n\n // extract from parsed document\n parsed = parsed.documentElement;\n }\n\n var nodes = slice(parsed.childNodes);\n\n // import + append each node\n for (var i = 0; i < nodes.length; i++) {\n appendTo(nodes[i], element);\n }\n\n}\n\nfunction get(element) {\n var child = element.firstChild,\n output = [];\n\n while (child) {\n serialize(child, output);\n child = child.nextSibling;\n }\n\n return output.join('');\n}\n\nfunction isFragment(node) {\n return node.nodeName === '#document-fragment';\n}\n\nfunction innerSVG(element, svg) {\n\n if (svg !== undefined) {\n\n try {\n set(element, svg);\n } catch (e) {\n throw new Error('error parsing SVG: ' + e.message);\n }\n\n return element;\n } else {\n return get(element);\n }\n}\n\n\nfunction slice(arr) {\n return Array.prototype.slice.call(arr);\n}\n\n/**\n * Selection utilities\n */\n\nfunction select(node, selector) {\n return node.querySelector(selector);\n}\n\nfunction selectAll(node, selector) {\n var nodes = node.querySelectorAll(selector);\n\n return [].map.call(nodes, function(element) {\n return element;\n });\n}\n\n/**\n * prependTo utility\n */\n\n\n/**\n * Prepend a node to a target element and return the prepended node.\n *\n * @param {SVGElement} node\n * @param {SVGElement} target\n *\n * @return {SVGElement} the prepended node\n */\nfunction prependTo(node, target) {\n return target.insertBefore(ensureImported(node, target), target.firstChild || null);\n}\n\n/**\n * prepend utility\n */\n\n\n/**\n * Prepend a node to a target element\n *\n * @param {SVGElement} target\n * @param {SVGElement} node\n *\n * @return {SVGElement} the target element\n */\nfunction prepend(target, node) {\n prependTo(node, target);\n return target;\n}\n\nfunction remove(element) {\n var parent = element.parentNode;\n\n if (parent) {\n parent.removeChild(element);\n }\n\n return element;\n}\n\n/**\n * Replace utility\n */\n\n\nfunction replace(element, replacement) {\n element.parentNode.replaceChild(ensureImported(replacement, element), element);\n return replacement;\n}\n\n/**\n * transform accessor utility\n */\n\nfunction wrapMatrix(transformList, transform) {\n if (transform instanceof SVGMatrix) {\n return transformList.createSVGTransformFromMatrix(transform);\n }\n\n return transform;\n}\n\n\nfunction setTransforms(transformList, transforms) {\n var i, t;\n\n transformList.clear();\n\n for (i = 0; (t = transforms[i]); i++) {\n transformList.appendItem(wrapMatrix(transformList, t));\n }\n}\n\n/**\n * Get or set the transforms on the given node.\n *\n * @param {SVGElement} node\n * @param {SVGTransform|SVGMatrix|Array} [transforms]\n *\n * @return {SVGTransform} the consolidated transform\n */\nfunction transform(node, transforms) {\n var transformList = node.transform.baseVal;\n\n if (transforms) {\n\n if (!Array.isArray(transforms)) {\n transforms = [ transforms ];\n }\n\n setTransforms(transformList, transforms);\n }\n\n return transformList.consolidate();\n}\n\nexport { append, appendTo, attr, classes, clear, clone, create, createMatrix, createPoint, createTransform, innerSVG, off, on, prepend, prependTo, remove, replace, select, selectAll, transform };\n","import {\n query as domQuery\n} from 'min-dom';\n\nimport {\n appendTo as svgAppendTo,\n create as svgCreate,\n attr as svgAttr,\n remove as svgRemove\n} from 'tiny-svg';\n\nimport {\n RESET_SIMULATION_EVENT,\n PLAY_SIMULATION_EVENT,\n PAUSE_SIMULATION_EVENT,\n ANIMATION_CREATED_EVENT,\n ANIMATION_SPEED_CHANGED_EVENT,\n SCOPE_DESTROYED_EVENT,\n SCOPE_FILTER_CHANGED_EVENT\n} from '../util/EventHelper';\n\nconst STYLE = getComputedStyle(document.documentElement);\n\nconst DEFAULT_PRIMARY_COLOR = STYLE.getPropertyValue('--token-simulation-green-base-44');\nconst DEFAULT_AUXILIARY_COLOR = STYLE.getPropertyValue('--token-simulation-white');\n\nfunction noop() {}\n\nfunction getSegmentEasing(index, waypoints) {\n\n // only a single segment\n if (waypoints.length === 2) {\n return EASE_IN_OUT;\n }\n\n // first segment\n if (index === 1) {\n return EASE_IN;\n }\n\n // last segment\n if (index === waypoints.length - 1) {\n return EASE_OUT;\n }\n\n return EASE_LINEAR;\n}\n\nconst EASE_LINEAR = function(pos) {\n return pos;\n};\nconst EASE_IN = function(pos) {\n return -Math.cos(pos * Math.PI / 2) + 1;\n};\nconst EASE_OUT = function(pos) {\n return Math.sin(pos * Math.PI / 2);\n};\nconst EASE_IN_OUT = function(pos) {\n return -Math.cos(pos * Math.PI) / 2 + 0.5;\n};\n\nconst TOKEN_SIZE = 20;\n\n\n/**\n * @param { { randomize?: boolean } | null } [config]\n * @param { import('diagram-js/lib/core/Canvas').default } canvas\n * @param { import('diagram-js/lib/core/EventBus').default } eventBus\n * @param { import('../features/scope-filter/ScopeFilter').default } scopeFilter\n */\nexport default function Animation(config, canvas, eventBus, scopeFilter) {\n this._eventBus = eventBus;\n this._scopeFilter = scopeFilter;\n this._canvas = canvas;\n\n this._randomize = config && config.randomize !== false;\n\n this._animations = new Set();\n this._speed = 1;\n\n eventBus.on([\n 'diagram.destroy',\n RESET_SIMULATION_EVENT\n ], () => {\n this.clearAnimations();\n });\n\n eventBus.on(PAUSE_SIMULATION_EVENT, () => {\n this.pause();\n });\n\n eventBus.on(PLAY_SIMULATION_EVENT, () => {\n this.play();\n });\n\n eventBus.on(SCOPE_FILTER_CHANGED_EVENT, event => {\n\n this.each(animation => {\n if (this._scopeFilter.isShown(animation.scope)) {\n animation.show();\n } else {\n animation.hide();\n }\n });\n });\n\n eventBus.on(SCOPE_DESTROYED_EVENT, event => {\n const {\n scope\n } = event;\n\n this.clearAnimations(scope);\n });\n}\n\nAnimation.prototype.animate = function(connection, scope, done) {\n this.createAnimation(connection, scope, done);\n};\n\nAnimation.prototype.pause = function() {\n this.each(animation => animation.pause());\n};\n\nAnimation.prototype.play = function() {\n this.each(animation => animation.play());\n};\n\nAnimation.prototype.each = function(fn) {\n this._animations.forEach(fn);\n};\n\nAnimation.prototype.createAnimation = function(connection, scope, done = noop) {\n const group = this._getGroup(scope);\n\n if (!group) {\n return;\n }\n\n const tokenGfx = this._createTokenGfx(group, scope);\n\n const animation = new TokenAnimation(tokenGfx, connection.waypoints, this._randomize, () => {\n this._clearAnimation(animation);\n\n done();\n });\n\n animation.setSpeed(this.getAnimationSpeed());\n\n if (!this._scopeFilter.isShown(scope)) {\n animation.hide();\n }\n\n animation.scope = scope;\n animation.element = connection;\n\n this._animations.add(animation);\n\n this._eventBus.fire(ANIMATION_CREATED_EVENT, {\n animation\n });\n\n animation.play();\n\n return animation;\n};\n\nAnimation.prototype.setAnimationSpeed = function(speed) {\n this._speed = speed;\n\n this.each(animation => animation.setSpeed(speed));\n\n this._eventBus.fire(ANIMATION_SPEED_CHANGED_EVENT, {\n speed\n });\n};\n\nAnimation.prototype.getAnimationSpeed = function() {\n return this._speed;\n};\n\nAnimation.prototype.clearAnimations = function(scope) {\n this.each(animation => {\n if (!scope || animation.scope === scope) {\n this._clearAnimation(animation);\n }\n });\n};\n\nAnimation.prototype._clearAnimation = function(animation) {\n animation.remove();\n\n this._animations.delete(animation);\n};\n\nAnimation.prototype._createTokenGfx = function(group, scope) {\n const parent = svgCreate(this._getTokenSVG(scope).trim());\n\n return svgAppendTo(parent, group);\n};\n\nAnimation.prototype._getTokenSVG = function(scope) {\n\n const colors = scope.colors || {\n primary: DEFAULT_PRIMARY_COLOR,\n auxiliary: DEFAULT_AUXILIARY_COLOR\n };\n\n return `\n \n \n 1\n \n `;\n};\n\nAnimation.prototype._getGroup = function(scope) {\n\n var canvas = this._canvas;\n\n var layer, root;\n\n // bpmn-js@9 compatibility:\n // show animation tokens on plane layers\n if ('findRoot' in canvas) {\n root = canvas.findRoot(scope.element);\n layer = canvas._findPlaneForRoot(root).layer;\n } else {\n layer = domQuery('.viewport', canvas._svg);\n }\n\n var group = domQuery('.bts-animation-tokens', layer);\n\n if (!group) {\n group = svgCreate('');\n\n svgAppendTo(\n group,\n layer\n );\n }\n\n return group;\n};\n\nAnimation.$inject = [\n 'config.animation',\n 'canvas',\n 'eventBus',\n 'scopeFilter'\n];\n\n\nfunction TokenAnimation(gfx, waypoints, randomize, done) {\n this.gfx = gfx;\n this.waypoints = waypoints;\n this.done = done;\n this.randomize = randomize;\n\n this._paused = true;\n this._t = 0;\n this._parts = [];\n\n this.create();\n}\n\nTokenAnimation.prototype.pause = function() {\n this._paused = true;\n};\n\nTokenAnimation.prototype.play = function() {\n\n if (this._paused) {\n this._paused = false;\n\n this.tick(0);\n }\n\n this.schedule();\n};\n\nTokenAnimation.prototype.schedule = function() {\n\n if (this._paused) {\n return;\n }\n\n if (this._scheduled) {\n return;\n }\n\n const last = Date.now();\n\n this._scheduled = true;\n\n requestAnimationFrame(() => {\n this._scheduled = false;\n\n if (this._paused) {\n return;\n }\n\n this.tick((Date.now() - last) * this._speed);\n this.schedule();\n });\n};\n\n\nTokenAnimation.prototype.tick = function(tElapsed) {\n\n const t = this._t = this._t + tElapsed;\n\n const part = this._parts.find(\n p => p.startTime <= t && p.endTime > t\n );\n\n // completed\n if (!part) {\n return this.completed();\n }\n\n const segmentTime = t - part.startTime;\n const segmentLength = part.length * part.easing(segmentTime / part.duration);\n\n const currentLength = part.startLength + segmentLength;\n\n const point = this._path.getPointAtLength(currentLength);\n\n this.move(point.x, point.y);\n};\n\nTokenAnimation.prototype.move = function(x, y) {\n svgAttr(this.gfx, 'transform', `translate(${x}, ${y})`);\n};\n\nTokenAnimation.prototype.create = function() {\n const waypoints = this.waypoints;\n\n const parts = waypoints.reduce((parts, point, index) => {\n\n const lastPoint = waypoints[index - 1];\n\n if (lastPoint) {\n const lastPart = parts[parts.length - 1];\n\n const startLength = lastPart && lastPart.endLength || 0;\n const length = distance(lastPoint, point);\n\n parts.push({\n startLength,\n endLength: startLength + length,\n length,\n easing: getSegmentEasing(index, waypoints)\n });\n }\n\n return parts;\n }, []);\n\n const totalLength = parts.reduce(function(length, part) {\n return length + part.length;\n }, 0);\n\n const d = waypoints.reduce((d, waypoint, index) => {\n\n const x = waypoint.x - TOKEN_SIZE / 2,\n y = waypoint.y - TOKEN_SIZE / 2;\n\n d.push([ index > 0 ? 'L' : 'M', x, y ]);\n\n return d;\n }, []).flat().join(' ');\n\n const totalDuration = getAnimationDuration(totalLength, this._randomize);\n\n this._parts = parts.reduce((parts, part, index) => {\n const duration = totalDuration / totalLength * part.length;\n const startTime = index > 0 ? parts[index - 1].endTime : 0;\n const endTime = startTime + duration;\n\n return [\n ...parts,\n {\n ...part,\n startTime,\n endTime,\n duration\n }\n ];\n }, []);\n\n this._path = svgCreate(``);\n this._t = 0;\n};\n\nTokenAnimation.prototype.show = function() {\n svgAttr(this.gfx, 'display', '');\n};\n\nTokenAnimation.prototype.hide = function() {\n svgAttr(this.gfx, 'display', 'none');\n};\n\nTokenAnimation.prototype.completed = function() {\n this.done();\n};\n\nTokenAnimation.prototype.remove = function() {\n this.pause();\n\n svgRemove(this.gfx);\n};\n\nTokenAnimation.prototype.setSpeed = function(speed) {\n this._speed = speed;\n};\n\nfunction getAnimationDuration(length, randomize = false) {\n return Math.log(length) * (randomize ? randomBetween(250, 300) : 250);\n}\n\nfunction randomBetween(min, max) {\n return min + Math.floor(Math.random() * (max - min));\n}\n\nfunction distance(a, b) {\n return Math.sqrt(Math.pow(a.x - b.x, 2) + Math.pow(a.y - b.y, 2));\n}","import AnimatedBehaviorsModule from './behaviors';\nimport ScopeFilterModule from '../features/scope-filter';\nimport SimulatorModule from '../simulator';\n\nimport Animation from './Animation';\n\nexport default {\n __depends__: [\n SimulatorModule,\n AnimatedBehaviorsModule,\n ScopeFilterModule\n ],\n animation: [ 'type', Animation ]\n};","import randomColor from 'randomcolor';\n\nimport {\n SCOPE_CREATE_EVENT\n} from '../../util/EventHelper';\n\nconst HIGH_PRIORITY = 1500;\n\n\nexport default function ColoredScopes(eventBus) {\n\n const colors = randomColor({\n count: 60\n }).filter(c => getContrastYIQ(c.substring(1)) < 200);\n\n function getContrastYIQ(hexcolor) {\n var r = parseInt(hexcolor.substr(0,2),16);\n var g = parseInt(hexcolor.substr(2,2),16);\n var b = parseInt(hexcolor.substr(4,2),16);\n var yiq = ((r * 299) + (g * 587) + (b * 114)) / 1000;\n return yiq;\n }\n\n let colorsIdx = 0;\n\n function getColors(scope) {\n const {\n element\n } = scope;\n\n if (element && element.type === 'bpmn:MessageFlow') {\n return {\n primary: '#999',\n auxiliary: '#FFF'\n };\n }\n\n if (scope.parent) {\n return scope.parent.colors;\n }\n\n const primary = colors[ (colorsIdx++) % colors.length ];\n\n return {\n primary,\n auxiliary: getContrastYIQ(primary) >= 128 ? '#111' : '#fff'\n };\n }\n\n eventBus.on(SCOPE_CREATE_EVENT, HIGH_PRIORITY, event => {\n\n const {\n scope\n } = event;\n\n scope.colors = getColors(scope);\n });\n}\n\nColoredScopes.$inject = [\n 'eventBus'\n];","import ColoredScopes from './ColoredScopes';\n\nexport default {\n __init__: [\n 'coloredScopes'\n ],\n coloredScopes: [ 'type', ColoredScopes ]\n};","var LogSVG = \"\";\n\nvar AngleRightSVG = \"\";\n\nvar CheckCircleSVG = \"\";\n\nvar ForkSVG = \"\";\n\nvar ExclamationTriangleSVG = \"\";\n\nvar InfoSVG = \"\";\n\nvar PauseSVG = \"\";\n\nvar RemovePauseSVG = \"\\n \\n \\n\\n\";\n\nvar PlaySVG = \"\";\n\nvar ResetSVG = \"\";\n\nvar TachometerSVG = \"\";\n\nvar TimesCircleSVG = \"\";\n\nvar TimesSVG = \"\";\n\nvar ToggleOffSVG = \"\";\n\nvar ToggleOnSVG = \"\";\n\nfunction createIcon(svg) {\n return function Icon(className = '') {\n return `${svg}`;\n };\n}\n\nconst LogIcon = createIcon(LogSVG);\nconst AngleRightIcon = createIcon(AngleRightSVG);\nconst CheckCircleIcon = createIcon(CheckCircleSVG);\nconst RemovePauseIcon = createIcon(RemovePauseSVG);\nconst ForkIcon = createIcon(ForkSVG);\nconst ExclamationTriangleIcon = createIcon(ExclamationTriangleSVG);\nconst InfoIcon = createIcon(InfoSVG);\nconst PauseIcon = createIcon(PauseSVG);\nconst PlayIcon = createIcon(PlaySVG);\nconst ResetIcon = createIcon(ResetSVG);\nconst TachometerIcon = createIcon(TachometerSVG);\nconst TimesCircleIcon = createIcon(TimesCircleSVG);\nconst TimesIcon = createIcon(TimesSVG);\nconst ToggleOffIcon = createIcon(ToggleOffSVG);\nconst ToggleOnIcon = createIcon(ToggleOnSVG);\n\nexport { AngleRightIcon, CheckCircleIcon, ExclamationTriangleIcon, ForkIcon, InfoIcon, LogIcon, PauseIcon, PlayIcon, RemovePauseIcon, ResetIcon, TachometerIcon, TimesCircleIcon, TimesIcon, ToggleOffIcon, ToggleOnIcon };\n","import {\r\n is\r\n} from '../../../util/ElementHelper';\r\n\r\nimport {\r\n ForkIcon\r\n} from '../../../icons';\r\n\r\n\r\nexport default function ExclusiveGatewayHandler(exclusiveGatewaySettings) {\r\n this._exclusiveGatewaySettings = exclusiveGatewaySettings;\r\n}\r\n\r\nExclusiveGatewayHandler.prototype.createContextPads = function(element) {\r\n\r\n const outgoingFlows = element.outgoing.filter(function(outgoing) {\r\n return is(outgoing, 'bpmn:SequenceFlow');\r\n });\r\n\r\n if (outgoingFlows.length < 2) {\r\n return;\r\n }\r\n\r\n const html = `\r\n
    \r\n ${ForkIcon()}\r\n
    \r\n `;\r\n\r\n const action = () => {\r\n this._exclusiveGatewaySettings.setSequenceFlow(element);\r\n };\r\n\r\n return [\r\n {\r\n action,\r\n element,\r\n html\r\n }\r\n ];\r\n};\r\n\r\nExclusiveGatewayHandler.$inject = [\r\n 'exclusiveGatewaySettings'\r\n];","import {\r\n ForkIcon\r\n} from '../../../icons';\r\n\r\nimport { getBusinessObject } from '../../../util/ElementHelper';\r\nimport { isSequenceFlow } from '../../../simulator/util/ModelUtil';\r\n\r\nexport default function InclusiveGatewayHandler(inclusiveGatewaySettings) {\r\n this._inclusiveGatewaySettings = inclusiveGatewaySettings;\r\n}\r\n\r\nInclusiveGatewayHandler.prototype.createContextPads = function(element) {\r\n const outgoingFlows = element.outgoing.filter(isSequenceFlow);\r\n\r\n if (outgoingFlows.length < 2) {\r\n return;\r\n }\r\n\r\n const nonDefaultFlows = outgoingFlows.filter(outgoing => {\r\n const flowBo = getBusinessObject(outgoing),\r\n gatewayBo = getBusinessObject(element);\r\n\r\n return gatewayBo.default !== flowBo;\r\n });\r\n\r\n const html = `\r\n
    \r\n ${ForkIcon()}\r\n
    \r\n `;\r\n\r\n return nonDefaultFlows.map(sequenceFlow => {\r\n const action = () => {\r\n this._inclusiveGatewaySettings.toggleSequenceFlow(element, sequenceFlow);\r\n };\r\n\r\n return {\r\n action,\r\n element: sequenceFlow,\r\n html\r\n };\r\n });\r\n};\r\n\r\nInclusiveGatewayHandler.$inject = [\r\n 'inclusiveGatewaySettings'\r\n];","import {\n PauseIcon,\n RemovePauseIcon\n} from '../../../icons';\n\n\nimport {\n is,\n getBusinessObject\n} from '../../../util/ElementHelper';\n\n\nexport default function PauseHandler(simulator) {\n this._simulator = simulator;\n}\n\nPauseHandler.prototype.createContextPads = function(element) {\n\n if (\n is(element, 'bpmn:ReceiveTask') || (\n is(element, 'bpmn:SubProcess') && getBusinessObject(element).triggeredByEvent\n )\n ) {\n return [];\n }\n\n return [\n this.createPauseContextPad(element)\n ];\n};\n\nPauseHandler.prototype.createPauseContextPad = function(element) {\n\n const contexts = () => this._findSubscriptions({\n element\n });\n\n const wait = this._isPaused(element);\n\n const html = `\n
    \n ${ (wait ? RemovePauseIcon : PauseIcon)('show-hover') }\n ${ PauseIcon('hide-hover') }\n
    \n `;\n\n const action = () => {\n this._togglePaused(element);\n };\n\n return {\n action,\n element,\n hideContexts: contexts,\n html\n };\n};\n\nPauseHandler.prototype._isPaused = function(element) {\n\n const {\n wait\n } = this._simulator.getConfig(element);\n\n return wait;\n};\n\nPauseHandler.prototype._togglePaused = function(element) {\n const wait = !this._isPaused(element);\n\n this._simulator.waitAtElement(element, wait);\n};\n\nPauseHandler.prototype._findSubscriptions = function(options) {\n return this._simulator.findSubscriptions(options);\n};\n\nPauseHandler.$inject = [\n 'simulator'\n];","import {\n PlayIcon\n} from '../../../icons';\n\n\nexport default function TriggerHandler(simulator) {\n this._simulator = simulator;\n}\n\nTriggerHandler.$inject = [\n 'simulator'\n];\n\nTriggerHandler.prototype.createContextPads = function(element) {\n return [\n this.createTriggerContextPad(element)\n ];\n};\n\nTriggerHandler.prototype.createTriggerContextPad = function(element) {\n\n const contexts = () => {\n const subscriptions = this._findSubscriptions({\n element\n });\n\n const sortedSubscriptions = subscriptions.slice().sort((a, b) => {\n return a.event.type === 'none' ? 1 : -1;\n });\n\n return sortedSubscriptions;\n };\n\n const html = `\n
    \n ${PlayIcon()}\n
    \n `;\n\n const action = (subscriptions) => {\n\n const {\n event,\n scope\n } = subscriptions[0];\n\n return this._simulator.trigger({\n event,\n scope\n });\n };\n\n return {\n action,\n element,\n html,\n contexts\n };\n};\n\nTriggerHandler.prototype._findSubscriptions = function(options) {\n return this._simulator.findSubscriptions(options);\n};","import {\r\n is\r\n} from '../../util/ElementHelper';\r\n\r\nimport {\r\n TOGGLE_MODE_EVENT,\r\n RESET_SIMULATION_EVENT,\r\n ELEMENT_CHANGED_EVENT,\r\n SCOPE_FILTER_CHANGED_EVENT\r\n} from '../../util/EventHelper';\r\n\r\nimport {\r\n event as domEvent,\r\n classes as domClasses,\r\n queryAll as domQueryAll,\r\n domify\r\n} from 'min-dom';\r\n\r\nimport ExclusiveGatewayHandler from './handler/ExclusiveGatewayHandler';\r\nimport InclusiveGatewayHandler from './handler/InclusiveGatewayHandler';\r\nimport PauseHandler from './handler/PauseHandler';\r\nimport TriggerHandler from './handler/TriggerHandler';\r\n\r\n\r\nconst LOW_PRIORITY = 500;\r\n\r\nconst OFFSET_TOP = -15;\r\nconst OFFSET_LEFT = -15;\r\n\r\n\r\nexport default function ContextPads(\r\n eventBus, elementRegistry,\r\n overlays, injector,\r\n canvas, scopeFilter) {\r\n\r\n this._elementRegistry = elementRegistry;\r\n this._overlays = overlays;\r\n this._injector = injector;\r\n this._canvas = canvas;\r\n this._scopeFilter = scopeFilter;\r\n\r\n this._overlayCache = new Map();\r\n\r\n this._handlerIdx = 0;\r\n\r\n this._handlers = [];\r\n\r\n this.registerHandler('bpmn:ExclusiveGateway', ExclusiveGatewayHandler);\r\n this.registerHandler('bpmn:InclusiveGateway', InclusiveGatewayHandler);\r\n\r\n this.registerHandler('bpmn:Activity', PauseHandler);\r\n\r\n this.registerHandler('bpmn:Event', TriggerHandler);\r\n this.registerHandler('bpmn:Gateway', TriggerHandler);\r\n this.registerHandler('bpmn:Activity', TriggerHandler);\r\n\r\n eventBus.on(TOGGLE_MODE_EVENT, LOW_PRIORITY, context => {\r\n const active = context.active;\r\n\r\n if (active) {\r\n this.openContextPads();\r\n } else {\r\n this.closeContextPads();\r\n }\r\n });\r\n\r\n eventBus.on(RESET_SIMULATION_EVENT, LOW_PRIORITY, () => {\r\n this.closeContextPads();\r\n this.openContextPads();\r\n });\r\n\r\n eventBus.on(SCOPE_FILTER_CHANGED_EVENT, event => {\r\n\r\n const showElements = domQueryAll(\r\n '.djs-overlay-ts-context-menu [data-scope-ids]',\r\n overlays._overlayRoot\r\n );\r\n\r\n for (const element of showElements) {\r\n\r\n const scopeIds = element.dataset.scopeIds.split(',');\r\n\r\n const shown = scopeIds.some(id => scopeFilter.isShown(id));\r\n\r\n domClasses(element).toggle('hidden', !shown);\r\n }\r\n\r\n const hideElements = domQueryAll(\r\n '.djs-overlay-ts-context-menu [data-hide-scope-ids]',\r\n overlays._overlayRoot\r\n );\r\n\r\n for (const element of hideElements) {\r\n\r\n const scopeIds = element.dataset.hideScopeIds.split(',');\r\n\r\n const shown = scopeIds.some(id => scopeFilter.isShown(id));\r\n\r\n domClasses(element).toggle('hidden', shown);\r\n }\r\n });\r\n\r\n eventBus.on(ELEMENT_CHANGED_EVENT, LOW_PRIORITY, event => {\r\n const {\r\n element\r\n } = event;\r\n\r\n this.updateElementContextPads(element);\r\n });\r\n}\r\n\r\n/**\r\n * Register a handler for an element type.\r\n * An element type can have multiple handlers.\r\n *\r\n * @param {String} type\r\n * @param {Object} handlerCls\r\n */\r\nContextPads.prototype.registerHandler = function(type, handlerCls) {\r\n const handler = this._injector.instantiate(handlerCls);\r\n\r\n handler.hash = String(this._handlerIdx++);\r\n\r\n this._handlers.push({ handler, type });\r\n};\r\n\r\nContextPads.prototype.getHandlers = function(element) {\r\n\r\n return (\r\n this._handlers.filter(\r\n ({ type }) => is(element, type)\r\n ).map(\r\n ({ handler }) => handler\r\n )\r\n );\r\n};\r\n\r\nContextPads.prototype.openContextPads = function(parent) {\r\n\r\n if (!parent) {\r\n parent = this._canvas.getRootElement();\r\n }\r\n\r\n this._elementRegistry.forEach((element) => {\r\n if (isAncestor(parent, element)) {\r\n this.updateElementContextPads(element);\r\n }\r\n });\r\n};\r\n\r\nContextPads.prototype._getOverlays = function(hash) {\r\n return this._overlayCache.get(hash) || [];\r\n};\r\n\r\nContextPads.prototype._addOverlay = function(element, options) {\r\n\r\n const {\r\n handlerHash\r\n } = options;\r\n\r\n if (!handlerHash) {\r\n throw new Error(' required');\r\n }\r\n\r\n const overlayId = this._overlays.add(element, 'bts-context-menu', {\r\n ...options,\r\n position: {\r\n top: OFFSET_TOP,\r\n left: OFFSET_LEFT\r\n },\r\n show: {\r\n minZoom: 0.5\r\n }\r\n });\r\n\r\n const overlay = this._overlays.get(overlayId);\r\n\r\n const overlayCache = this._overlayCache;\r\n\r\n if (!overlayCache.has(handlerHash)) {\r\n overlayCache.set(handlerHash, []);\r\n }\r\n\r\n overlayCache.get(handlerHash).push(overlay);\r\n};\r\n\r\nContextPads.prototype._removeOverlay = function(overlay) {\r\n\r\n const {\r\n id,\r\n handlerHash\r\n } = overlay;\r\n\r\n // remove overlay\r\n this._overlays.remove(id);\r\n\r\n // remove from overlay cache\r\n const overlays = this._overlayCache.get(handlerHash) || [];\r\n\r\n const idx = overlays.indexOf(overlay);\r\n\r\n if (idx !== -1) {\r\n overlays.splice(idx, 1);\r\n }\r\n};\r\n\r\nContextPads.prototype.updateElementContextPads = function(element) {\r\n for (const handler of this.getHandlers(element)) {\r\n this._updateElementContextPads(element, handler);\r\n }\r\n};\r\n\r\nContextPads.prototype._updateElementContextPads = function(element, handler) {\r\n\r\n const canvas = this._canvas;\r\n\r\n const contextPads = (handler.createContextPads(element) || []).filter(p => p);\r\n\r\n const handlerHash = `${element.id}------${handler.hash}`;\r\n\r\n const existingOverlays = this._getOverlays(handlerHash);\r\n\r\n const updatedOverlays = [];\r\n\r\n for (const contextPad of contextPads) {\r\n\r\n const {\r\n element,\r\n contexts: _contexts,\r\n hideContexts: _hideContexts,\r\n action: _action,\r\n html: _html\r\n } = contextPad;\r\n\r\n\r\n const hash = `${contextPad.element.id}-------${_html}`;\r\n\r\n let existingOverlay = existingOverlays.find(\r\n o => o.hash === hash\r\n );\r\n\r\n const html = existingOverlay && existingOverlay.html || domify(_html);\r\n\r\n if (_contexts) {\r\n const contexts = _contexts();\r\n\r\n html.dataset.scopeIds = contexts.map(c => c.scope.id).join(',');\r\n\r\n const shownScopes = contexts.filter(c => this._scopeFilter.isShown(c.scope));\r\n\r\n domClasses(html).toggle('hidden', shownScopes.length === 0);\r\n }\r\n\r\n if (_hideContexts) {\r\n const contexts = _hideContexts();\r\n\r\n html.dataset.hideScopeIds = contexts.map(c => c.scope.id).join(',');\r\n\r\n const shownScopes = contexts.filter(c => this._scopeFilter.isShown(c.scope));\r\n\r\n domClasses(html).toggle('hidden', shownScopes.length > 0);\r\n }\r\n\r\n if (existingOverlay) {\r\n updatedOverlays.push(existingOverlay);\r\n\r\n continue;\r\n }\r\n\r\n if (_action) {\r\n\r\n domEvent.bind(html, 'click', event => {\r\n event.preventDefault();\r\n\r\n const contexts = _contexts\r\n ? _contexts().filter(c => this._scopeFilter.isShown(c.scope))\r\n : null;\r\n\r\n _action(contexts);\r\n\r\n if ('restoreFocus' in canvas) {\r\n canvas.restoreFocus();\r\n }\r\n });\r\n }\r\n\r\n this._addOverlay(element, {\r\n hash,\r\n handlerHash,\r\n html\r\n });\r\n }\r\n\r\n for (const existingOverlay of existingOverlays) {\r\n if (!updatedOverlays.includes(existingOverlay)) {\r\n this._removeOverlay(existingOverlay);\r\n }\r\n }\r\n};\r\n\r\nContextPads.prototype.closeContextPads = function() {\r\n for (const overlays of this._overlayCache.values()) {\r\n\r\n for (const overlay of overlays) {\r\n this._closeOverlay(overlay);\r\n }\r\n }\r\n\r\n this._overlayCache.clear();\r\n};\r\n\r\nContextPads.prototype._closeOverlay = function(overlay) {\r\n this._overlays.remove(overlay.id);\r\n};\r\n\r\nContextPads.$inject = [\r\n 'eventBus',\r\n 'elementRegistry',\r\n 'overlays',\r\n 'injector',\r\n 'canvas',\r\n 'scopeFilter'\r\n];\r\n\r\n\r\n// helpers ///////////////\r\n\r\nexport function isAncestor(ancestor, descendant) {\r\n\r\n do {\r\n if (ancestor === descendant) {\r\n return true;\r\n }\r\n\r\n descendant = descendant.parent;\r\n } while (descendant);\r\n\r\n return false;\r\n}","import ContextPads from './ContextPads';\n\nimport ScopeFilterModule from '../scope-filter';\n\nexport default {\n __depends__: [\n ScopeFilterModule\n ],\n __init__: [\n 'contextPads'\n ],\n contextPads: [ 'type', ContextPads ]\n};","import {\n SCOPE_DESTROYED_EVENT\n} from '../../util/EventHelper';\n\nimport {\n CheckCircleIcon\n} from '../../icons';\n\n\nexport default function SimulationState(\n eventBus,\n simulator,\n elementNotifications) {\n\n eventBus.on(SCOPE_DESTROYED_EVENT, event => {\n const {\n scope\n } = event;\n\n const {\n destroyInitiator,\n element: scopeElement\n } = scope;\n\n if (!scope.completed || !destroyInitiator) {\n return;\n }\n\n const processScopes = [\n 'bpmn:Process',\n 'bpmn:Participant'\n ];\n\n if (!processScopes.includes(scopeElement.type)) {\n return;\n }\n\n elementNotifications.addElementNotification(destroyInitiator.element, {\n type: 'success',\n icon: CheckCircleIcon(),\n text: 'Finished',\n scope\n });\n });\n}\n\nSimulationState.$inject = [\n 'eventBus',\n 'simulator',\n 'elementNotifications'\n];","import {\r\n domify\r\n} from 'min-dom';\r\n\r\nimport {\r\n TOGGLE_MODE_EVENT,\r\n RESET_SIMULATION_EVENT,\r\n SCOPE_CREATE_EVENT\r\n} from '../../util/EventHelper';\r\n\r\nconst OFFSET_TOP = -15;\r\nconst OFFSET_RIGHT = 15;\r\n\r\n\r\nexport default function ElementNotifications(overlays, eventBus) {\r\n this._overlays = overlays;\r\n\r\n eventBus.on([\r\n RESET_SIMULATION_EVENT,\r\n SCOPE_CREATE_EVENT,\r\n TOGGLE_MODE_EVENT\r\n ], () => {\r\n this.clear();\r\n });\r\n}\r\n\r\nElementNotifications.prototype.addElementNotification = function(element, options) {\r\n const position = {\r\n top: OFFSET_TOP,\r\n right: OFFSET_RIGHT\r\n };\r\n\r\n const {\r\n type,\r\n icon,\r\n text,\r\n scope = {}\r\n } = options;\r\n\r\n const colors = scope.colors;\r\n\r\n const colorMarkup = colors\r\n ? `style=\"color: ${colors.auxiliary}; background: ${colors.primary}\"`\r\n : '';\r\n\r\n const html = domify(`\r\n
    \r\n ${ icon || '' }\r\n ${ text }\r\n
    \r\n `);\r\n\r\n this._overlays.add(element, 'bts-element-notification', {\r\n position,\r\n html: html,\r\n show: {\r\n minZoom: 0.5\r\n }\r\n });\r\n};\r\n\r\nElementNotifications.prototype.clear = function() {\r\n this._overlays.remove({ type: 'bts-element-notification' });\r\n};\r\n\r\nElementNotifications.prototype.removeElementNotification = function(element) {\r\n this._overlays.remove({ element: element });\r\n};\r\n\r\nElementNotifications.$inject = [ 'overlays', 'eventBus' ];","import ElementNotifications from './ElementNotifications';\n\nexport default {\n elementNotifications: [ 'type', ElementNotifications ]\n};","import {\n domify\n} from 'min-dom';\n\nimport {\n TOGGLE_MODE_EVENT,\n RESET_SIMULATION_EVENT\n} from '../../util/EventHelper';\n\nimport {\n InfoIcon\n} from '../../icons';\n\n\nconst NOTIFICATION_TIME_TO_LIVE = 2000; // ms\n\nconst INFO_ICON = InfoIcon();\n\n\nexport default function Notifications(eventBus, canvas, scopeFilter) {\n this._eventBus = eventBus;\n this._canvas = canvas;\n this._scopeFilter = scopeFilter;\n\n this._init();\n\n eventBus.on([\n TOGGLE_MODE_EVENT,\n RESET_SIMULATION_EVENT\n ], event => {\n this.clear();\n });\n}\n\nNotifications.prototype._init = function() {\n this.container = domify('
    ');\n\n this._canvas.getContainer().appendChild(this.container);\n};\n\nNotifications.prototype.showNotification = function(options) {\n\n const {\n text,\n type = 'info',\n icon = INFO_ICON,\n scope,\n ttl = NOTIFICATION_TIME_TO_LIVE\n } = options;\n\n if (scope && !this._scopeFilter.isShown(scope)) {\n return;\n }\n\n const iconMarkup = icon.startsWith('<')\n ? icon\n : ``;\n\n const colors = scope && scope.colors;\n\n const colorMarkup = colors ? `style=\"color: ${colors.auxiliary}; background: ${colors.primary}\"` : '';\n\n const notification = domify(`\n
    \n ${iconMarkup}\n ${text}\n ${ scope ? `${scope.id}` : '' }\n
    \n `);\n\n this.container.appendChild(notification);\n\n // prevent more than 5 notifications at once\n while (this.container.children.length > 5) {\n this.container.children[0].remove();\n }\n\n setTimeout(function() {\n notification.remove();\n }, ttl);\n};\n\nNotifications.prototype.clear = function() {\n while (this.container.children.length) {\n this.container.children[0].remove();\n }\n};\n\nNotifications.$inject = [\n 'eventBus',\n 'canvas',\n 'scopeFilter'\n];","import ScopeFilterModule from '../scope-filter';\n\nimport Notifications from './Notifications';\n\nexport default {\n __depends__: [\n ScopeFilterModule\n ],\n notifications: [ 'type', Notifications ]\n};","import SimulationState from './SimulationState';\n\nimport ElementNotificationsModule from '../element-notifications';\nimport NotificationsModule from '../notifications';\n\nexport default {\n __depends__: [\n ElementNotificationsModule,\n NotificationsModule\n ],\n __init__: [\n 'simulationState'\n ],\n simulationState: [ 'type', SimulationState ]\n};","import {\n domify,\n classes as domClasses,\n event as domEvent,\n query as domQuery,\n queryAll as domQueryAll,\n clear as domClear\n} from 'min-dom';\n\nimport {\n TOGGLE_MODE_EVENT,\n SCOPE_CREATE_EVENT,\n SCOPE_CHANGED_EVENT,\n SCOPE_FILTER_CHANGED_EVENT,\n SCOPE_DESTROYED_EVENT,\n RESET_SIMULATION_EVENT,\n} from '../../util/EventHelper';\n\nconst FILL_COLOR = '--token-simulation-silver-base-97';\nconst STROKE_COLOR = '--token-simulation-green-base-44';\n\nconst ID = 'show-scopes';\n\nconst VERY_HIGH_PRIORITY = 3000;\n\n\nexport default function ShowScopes(\n eventBus,\n canvas,\n scopeFilter,\n elementColors,\n simulationStyles) {\n\n this._eventBus = eventBus;\n this._canvas = canvas;\n this._scopeFilter = scopeFilter;\n this._elementColors = elementColors;\n this._simulationStyles = simulationStyles;\n\n this._highlight = null;\n\n this._init();\n\n eventBus.on(TOGGLE_MODE_EVENT, event => {\n const active = event.active;\n\n if (active) {\n domClasses(this._container).remove('hidden');\n } else {\n domClasses(this._container).add('hidden');\n domClear(this._container);\n\n this.unhighlightScope();\n }\n });\n\n eventBus.on(SCOPE_FILTER_CHANGED_EVENT, event => {\n\n const allElements = this.getScopeElements();\n\n for (const element of allElements) {\n const scopeId = element.dataset.scopeId;\n\n domClasses(element).toggle('inactive', !this._scopeFilter.isShown(scopeId));\n }\n });\n\n eventBus.on(SCOPE_CREATE_EVENT, event => {\n this.addScope(event.scope);\n });\n\n eventBus.on(SCOPE_DESTROYED_EVENT, event => {\n this.removeScope(event.scope);\n });\n\n eventBus.on(SCOPE_CHANGED_EVENT, event => {\n this.updateScope(event.scope);\n });\n\n eventBus.on(RESET_SIMULATION_EVENT, () => {\n this.removeAllInstances();\n });\n}\n\nShowScopes.prototype._init = function() {\n this._container = domify('
    ');\n\n this._canvas.getContainer().appendChild(this._container);\n};\n\nShowScopes.prototype.addScope = function(scope) {\n\n const processElements = [\n 'bpmn:Process',\n 'bpmn:SubProcess',\n 'bpmn:Participant'\n ];\n\n const {\n element: scopeElement\n } = scope;\n\n if (!processElements.includes(scopeElement.type)) {\n return;\n }\n\n const colors = scope.colors;\n\n const colorMarkup = colors ? `style=\"color: ${colors.auxiliary}; background: ${colors.primary}\"` : '';\n\n const html = domify(`\n
    \n ${scope.getTokens()}\n
    \n `);\n\n domEvent.bind(html, 'click', () => {\n this._scopeFilter.toggle(scope);\n });\n\n domEvent.bind(html, 'mouseenter', () => {\n this.highlightScope(scopeElement);\n });\n\n domEvent.bind(html, 'mouseleave', () => {\n this.unhighlightScope();\n });\n\n if (!this._scopeFilter.isShown(scope)) {\n domClasses(html).add('inactive');\n }\n\n this._container.appendChild(html);\n};\n\nShowScopes.prototype.getScopeElements = function() {\n return domQueryAll('[data-scope-id]', this._container);\n};\n\nShowScopes.prototype.getScopeElement = function(scope) {\n return domQuery(`[data-scope-id=\"${scope.id}\"]`, this._container);\n};\n\nShowScopes.prototype.updateScope = function(scope) {\n const element = this.getScopeElement(scope);\n\n if (element) {\n element.textContent = scope.getTokens();\n }\n};\n\nShowScopes.prototype.removeScope = function(scope) {\n const element = this.getScopeElement(scope);\n\n if (element) {\n element.remove();\n }\n};\n\nShowScopes.prototype.removeAllInstances = function() {\n this._container.innerHTML = '';\n};\n\nShowScopes.prototype.highlightScope = function(element) {\n\n this.unhighlightScope();\n\n this._highlight = element;\n\n this._elementColors.add(element, ID, this._getHighlightColors(), VERY_HIGH_PRIORITY);\n\n if (!element.parent) {\n domClasses(this._canvas.getContainer()).add('highlight');\n }\n};\n\nShowScopes.prototype.unhighlightScope = function() {\n\n if (!this._highlight) {\n return;\n }\n\n const element = this._highlight;\n\n this._elementColors.remove(element, ID);\n\n if (!element.parent) {\n domClasses(this._canvas.getContainer()).remove('highlight');\n }\n\n this._highlight = null;\n};\n\nShowScopes.prototype._getHighlightColors = function() {\n return {\n fill: this._simulationStyles.get(FILL_COLOR),\n stroke: this._simulationStyles.get(STROKE_COLOR)\n };\n};\n\nShowScopes.$inject = [\n 'eventBus',\n 'canvas',\n 'scopeFilter',\n 'elementColors',\n 'simulationStyles'\n];","export default function SimulationStyles() {\n this._cache = {};\n}\n\nSimulationStyles.$inject = [];\n\n\nSimulationStyles.prototype.get = function(prop) {\n\n const cachedValue = this._cache[prop];\n\n if (cachedValue) {\n return cachedValue;\n }\n\n if (!this._computedStyle) {\n this._computedStyle = this._getComputedStyle();\n }\n\n return this._cache[prop] = this._computedStyle.getPropertyValue(prop).trim();\n};\n\nSimulationStyles.prototype._getComputedStyle = function() {\n\n const get = typeof getComputedStyle === 'function'\n ? getComputedStyle\n : getComputedStyleMock;\n\n const element = typeof document !== 'undefined'\n ? document.documentElement\n : {};\n\n return get(element);\n};\n\n\n// helpers //////////////////\n\nfunction getComputedStyleMock() {\n return {\n getPropertyValue() {\n return '';\n }\n };\n}","import SimulationStyles from './SimulationStyles';\n\nexport default {\n simulationStyles: [ 'type', SimulationStyles ]\n};","import ShowScopes from './ShowScopes';\n\nimport ScopeFilterModule from '../scope-filter';\nimport SimulationStylesModule from '../simulation-styles';\n\nexport default {\n __depends__: [\n ScopeFilterModule,\n SimulationStylesModule\n ],\n __init__: [\n 'showScopes'\n ],\n showScopes: [ 'type', ShowScopes ]\n};","/**\n * @param {string} str\n *\n * @return {string}\n */\nexport function escapeCSS(str) {\n return CSS.escape(str);\n}\n\nvar HTML_ESCAPE_MAP = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n '\\'': '''\n};\n\n/**\n * @param {string} str\n *\n * @return {string}\n */\nexport function escapeHTML(str) {\n str = '' + str;\n\n return str && str.replace(/[&<>\"']/g, function(match) {\n return HTML_ESCAPE_MAP[match];\n });\n}\n","import {\r\n domify,\r\n classes as domClasses,\r\n event as domEvent,\r\n query as domQuery,\r\n queryAll as domQueryAll,\r\n delegate as domDelegate\r\n} from 'min-dom';\r\n\r\nimport {\r\n getBusinessObject,\r\n is,\r\n} from '../../util/ElementHelper';\r\n\r\nimport {\r\n escapeHTML\r\n} from 'diagram-js/lib/util/EscapeUtil';\r\n\r\nimport {\r\n TOGGLE_MODE_EVENT,\r\n RESET_SIMULATION_EVENT,\r\n SCOPE_DESTROYED_EVENT,\r\n SCOPE_CREATE_EVENT,\r\n SCOPE_FILTER_CHANGED_EVENT,\r\n TRACE_EVENT\r\n} from '../../util/EventHelper';\r\n\r\nimport {\r\n LogIcon,\r\n TimesIcon,\r\n TimesCircleIcon,\r\n CheckCircleIcon,\r\n InfoIcon\r\n} from '../../icons';\r\n\r\n\r\nconst ICON_INFO = InfoIcon();\r\n\r\nfunction getElementName(element) {\r\n const name = element && element.businessObject.name;\r\n\r\n return name && escapeHTML(name);\r\n}\r\n\r\nfunction getIconForIntermediateEvent(element, throwOrCatch) {\r\n const eventTypeString = getEventTypeString(element);\r\n if (eventTypeString === 'none') {\r\n return 'bpmn-icon-intermediate-event-none';\r\n }\r\n return `bpmn-icon-intermediate-event-${throwOrCatch}-${eventTypeString}`;\r\n}\r\n\r\nfunction getEventTypeString(element) {\r\n const bo = getBusinessObject(element);\r\n if (bo.get('eventDefinitions').length === 0) {\r\n return 'none';\r\n }\r\n const eventDefinition = bo.eventDefinitions[0];\r\n\r\n if (is(eventDefinition, 'bpmn:MessageEventDefinition')) {\r\n return 'message';\r\n }\r\n if (is(eventDefinition, 'bpmn:TimerEventDefinition')) {\r\n return 'timer';\r\n }\r\n if (is(eventDefinition, 'bpmn:SignalEventDefinition')) {\r\n return 'signal';\r\n }\r\n if (is(eventDefinition, 'bpmn:ErrorEventDefinition')) {\r\n return 'error';\r\n }\r\n if (is(eventDefinition, 'bpmn:EscalationEventDefinition')) {\r\n return 'escalation';\r\n }\r\n if (is(eventDefinition, 'bpmn:CompensateEventDefinition')) {\r\n return 'compensation';\r\n }\r\n if (is(eventDefinition, 'bpmn:ConditionalEventDefinition')) {\r\n return 'condition';\r\n }\r\n if (is(eventDefinition, 'bpmn:LinkEventDefinition')) {\r\n return 'link';\r\n }\r\n if (is(eventDefinition, 'bpmn:CancelEventDefinition')) {\r\n return 'cancel';\r\n }\r\n if (is(eventDefinition, 'bpmn:TerminateEventDefinition')) {\r\n return 'terminate';\r\n }\r\n return 'none';\r\n}\r\n\r\n\r\nexport default function Log(\r\n eventBus, notifications,\r\n tokenSimulationPalette, canvas,\r\n scopeFilter, simulator) {\r\n\r\n this._notifications = notifications;\r\n this._tokenSimulationPalette = tokenSimulationPalette;\r\n this._canvas = canvas;\r\n this._scopeFilter = scopeFilter;\r\n\r\n this._init();\r\n\r\n eventBus.on(SCOPE_FILTER_CHANGED_EVENT, event => {\r\n const allElements = domQueryAll('.bts-entry[data-scope-id]', this._container);\r\n\r\n for (const element of allElements) {\r\n const scopeId = element.dataset.scopeId;\r\n\r\n domClasses(element).toggle('inactive', !this._scopeFilter.isShown(scopeId));\r\n }\r\n });\r\n\r\n eventBus.on(SCOPE_DESTROYED_EVENT, event => {\r\n const {\r\n scope\r\n } = event;\r\n\r\n const {\r\n element: scopeElement\r\n } = scope;\r\n\r\n const completed = scope.completed;\r\n\r\n const processScopes = [\r\n 'bpmn:Process',\r\n 'bpmn:Participant',\r\n 'bpmn:SubProcess'\r\n ];\r\n\r\n if (!processScopes.includes(scopeElement.type)) {\r\n return;\r\n }\r\n\r\n const isSubProcess = is(scopeElement, 'bpmn:SubProcess');\r\n\r\n const text = `${\r\n isSubProcess ? (getElementName(scopeElement) || 'SubProcess') : 'Process'\r\n } ${\r\n completed ? 'finished' : 'canceled'\r\n }`;\r\n\r\n this.log({\r\n text,\r\n icon: completed ? CheckCircleIcon() : TimesCircleIcon(),\r\n scope\r\n });\r\n });\r\n\r\n eventBus.on(SCOPE_CREATE_EVENT, event => {\r\n const {\r\n scope\r\n } = event;\r\n\r\n const {\r\n element: scopeElement\r\n } = scope;\r\n\r\n const processScopes = [\r\n 'bpmn:Process',\r\n 'bpmn:Participant',\r\n 'bpmn:SubProcess'\r\n ];\r\n\r\n if (!processScopes.includes(scopeElement.type)) {\r\n return;\r\n }\r\n\r\n const isSubProcess = is(scopeElement, 'bpmn:SubProcess');\r\n\r\n const text = `${\r\n isSubProcess ? (getElementName(scopeElement) || 'SubProcess') : 'Process'\r\n } started`;\r\n\r\n this.log({\r\n text,\r\n icon: CheckCircleIcon(),\r\n scope\r\n });\r\n });\r\n\r\n eventBus.on(TRACE_EVENT, event => {\r\n\r\n const {\r\n action,\r\n scope: elementScope,\r\n element\r\n } = event;\r\n\r\n if (action !== 'exit') {\r\n return;\r\n }\r\n\r\n const scope = elementScope.parent;\r\n\r\n const elementName = getElementName(element);\r\n\r\n // log tasks ////////////\r\n\r\n if (is(element, 'bpmn:ServiceTask')) {\r\n return this.log({\r\n text: elementName || 'Service Task',\r\n icon: 'bpmn-icon-service',\r\n scope\r\n });\r\n }\r\n\r\n if (is(element, 'bpmn:UserTask')) {\r\n return this.log({\r\n text: elementName || 'User Task',\r\n icon: 'bpmn-icon-user',\r\n scope\r\n });\r\n }\r\n\r\n if (is(element, 'bpmn:CallActivity')) {\r\n return this.log({\r\n text: elementName || 'Call Activity',\r\n icon: 'bpmn-icon-call-activity',\r\n scope\r\n });\r\n }\r\n\r\n if (is(element, 'bpmn:ScriptTask')) {\r\n return this.log({\r\n text: elementName || 'Script Task',\r\n icon: 'bpmn-icon-script',\r\n scope\r\n });\r\n }\r\n\r\n if (is(element, 'bpmn:BusinessRuleTask')) {\r\n return this.log({\r\n text: elementName || 'Business Rule Task',\r\n icon: 'bpmn-icon-business-rule',\r\n scope\r\n });\r\n }\r\n\r\n if (is(element, 'bpmn:ManualTask')) {\r\n return this.log({\r\n text: elementName || 'Manual Task',\r\n icon: 'bpmn-icon-manual-task',\r\n scope\r\n });\r\n }\r\n\r\n if (is(element, 'bpmn:ReceiveTask')) {\r\n return this.log({\r\n text: elementName || 'Receive Task',\r\n icon: 'bpmn-icon-receive',\r\n scope\r\n });\r\n }\r\n\r\n if (is(element, 'bpmn:SendTask')) {\r\n return this.log({\r\n text: elementName || 'Send Task',\r\n icon: 'bpmn-icon-send',\r\n scope\r\n });\r\n }\r\n\r\n if (is(element, 'bpmn:Task')) {\r\n return this.log({\r\n text: elementName || 'Task',\r\n icon: 'bpmn-icon-task',\r\n scope\r\n });\r\n }\r\n\r\n // log gateways ////////////\r\n\r\n if (is(element, 'bpmn:ExclusiveGateway')) {\r\n return this.log({\r\n text: elementName || 'Exclusive Gateway',\r\n icon: 'bpmn-icon-gateway-xor',\r\n scope\r\n });\r\n }\r\n\r\n if (is(element, 'bpmn:ParallelGateway')) {\r\n return this.log({\r\n text: elementName || 'Parallel Gateway',\r\n icon: 'bpmn-icon-gateway-parallel',\r\n scope\r\n });\r\n }\r\n\r\n if (is(element, 'bpmn:InclusiveGateway')) {\r\n return this.log({\r\n text: elementName || 'Inclusive Gateway',\r\n icon: 'bpmn-icon-gateway-or',\r\n scope\r\n });\r\n }\r\n\r\n // log events /////////////\r\n\r\n if (is(element, 'bpmn:StartEvent')) {\r\n return this.log({\r\n text: elementName || 'Start Event',\r\n icon: `bpmn-icon-start-event-${getEventTypeString(element)}`,\r\n scope\r\n });\r\n }\r\n\r\n if (is(element, 'bpmn:IntermediateCatchEvent')) {\r\n return this.log({\r\n text: elementName || 'Intermediate Event',\r\n icon: getIconForIntermediateEvent(element, 'catch'),\r\n scope\r\n });\r\n }\r\n\r\n if (is(element, 'bpmn:IntermediateThrowEvent')) {\r\n return this.log({\r\n text: elementName || 'Intermediate Event',\r\n icon: getIconForIntermediateEvent(element, 'throw'),\r\n scope\r\n });\r\n }\r\n\r\n if (is(element, 'bpmn:BoundaryEvent')) {\r\n return this.log({\r\n text: elementName || 'Boundary Event',\r\n icon: getIconForIntermediateEvent(element, 'catch'),\r\n scope\r\n });\r\n }\r\n\r\n if (is(element, 'bpmn:EndEvent')) {\r\n\r\n // TODO: No trace event for terminate end events is emitted\r\n return this.log({\r\n text: elementName || 'End Event',\r\n icon: `bpmn-icon-end-event-${getEventTypeString(element)}`,\r\n scope\r\n });\r\n }\r\n });\r\n\r\n\r\n eventBus.on([\r\n TOGGLE_MODE_EVENT,\r\n RESET_SIMULATION_EVENT\r\n ], event => {\r\n this.clear();\r\n this.toggle(false);\r\n });\r\n}\r\n\r\nLog.prototype._init = function() {\r\n this._container = domify(`\r\n \r\n `);\r\n\r\n this._placeholder = domQuery('.bts-placeholder', this._container);\r\n\r\n this._content = domQuery('.bts-content', this._container);\r\n\r\n domEvent.bind(this._content, 'mousedown', event => {\r\n event.stopPropagation();\r\n });\r\n\r\n this._close = domQuery('.bts-close', this._container);\r\n\r\n domEvent.bind(this._close, 'click', () => {\r\n this.toggle(false);\r\n });\r\n\r\n this._icon = domQuery('.bts-log-icon', this._container);\r\n\r\n domEvent.bind(this._icon, 'click', () => {\r\n this.toggle();\r\n });\r\n\r\n this._canvas.getContainer().appendChild(this._container);\r\n\r\n this.paletteEntry = domify(`\r\n
    \r\n ${ LogIcon() }\r\n
    \r\n `);\r\n\r\n domEvent.bind(this.paletteEntry, 'click', () => {\r\n this.toggle();\r\n });\r\n\r\n this._tokenSimulationPalette.addEntry(this.paletteEntry, 3);\r\n};\r\n\r\nLog.prototype.isShown = function() {\r\n const container = this._container;\r\n\r\n return !domClasses(container).has('hidden');\r\n};\r\n\r\nLog.prototype.toggle = function(shown = !this.isShown()) {\r\n const container = this._container;\r\n\r\n if (shown) {\r\n domClasses(container).remove('hidden');\r\n } else {\r\n domClasses(container).add('hidden');\r\n }\r\n};\r\n\r\nLog.prototype.log = function(options) {\r\n\r\n const {\r\n text,\r\n type = 'info',\r\n icon = ICON_INFO,\r\n scope\r\n } = options;\r\n\r\n const content = this._content;\r\n\r\n domClasses(this._placeholder).add('hidden');\r\n\r\n if (!this.isShown()) {\r\n this._notifications.showNotification(options);\r\n }\r\n\r\n const iconMarkup = icon.startsWith('<') ? icon : ``;\r\n\r\n const colors = scope && scope.colors;\r\n\r\n const colorMarkup = colors ? `style=\"background: ${colors.primary}; color: ${colors.auxiliary}\"` : '';\r\n\r\n const logEntry = domify(`\r\n

    \r\n ${iconMarkup}\r\n ${text}\r\n ${\r\n scope\r\n ? `${scope.id}`\r\n : ''\r\n }\r\n

    \r\n `);\r\n\r\n domDelegate.bind(logEntry, '.bts-scope[data-scope-id]', 'click', event => {\r\n this._scopeFilter.toggle(scope);\r\n });\r\n\r\n // determine if the container should scroll,\r\n // because it is currently scrolled to the very bottom\r\n const shouldScroll = Math.abs(content.clientHeight + content.scrollTop - content.scrollHeight) < 2;\r\n\r\n content.appendChild(logEntry);\r\n\r\n if (shouldScroll) {\r\n content.scrollTop = content.scrollHeight;\r\n }\r\n};\r\n\r\nLog.prototype.clear = function() {\r\n while (this._content.firstChild) {\r\n this._content.removeChild(this._content.firstChild);\r\n }\r\n\r\n this._placeholder = domify('

    No Entries

    ');\r\n\r\n this._content.appendChild(this._placeholder);\r\n};\r\n\r\nLog.$inject = [\r\n 'eventBus',\r\n 'notifications',\r\n 'tokenSimulationPalette',\r\n 'canvas',\r\n 'scopeFilter',\r\n 'simulator'\r\n];","import Log from './Log';\n\nimport ScopeFilterModule from '../scope-filter';\nimport NotificationsModule from '../notifications';\n\nexport default {\n __depends__: [\n NotificationsModule,\n ScopeFilterModule\n ],\n __init__: [\n 'log'\n ],\n log: [ 'type', Log ]\n};","import {\r\n classes as domClasses\r\n} from 'min-dom';\r\n\r\nimport {\r\n is\r\n} from '../../util/ElementHelper';\r\n\r\nimport {\r\n TOGGLE_MODE_EVENT\r\n} from '../../util/EventHelper';\r\n\r\nimport {\r\n ExclamationTriangleIcon\r\n} from '../../icons';\r\n\r\n\r\nconst UNSUPPORTED_ELEMENTS = [\r\n 'bpmn:ComplexGateway'\r\n];\r\n\r\nfunction isLabel(element) {\r\n return element.labelTarget;\r\n}\r\n\r\n\r\nexport default function ElementSupport(\r\n eventBus, elementRegistry, canvas,\r\n notifications, elementNotifications) {\r\n\r\n this._eventBus = eventBus;\r\n this._elementRegistry = elementRegistry;\r\n this._elementNotifications = elementNotifications;\r\n this._notifications = notifications;\r\n\r\n this._canvasParent = canvas.getContainer().parentNode;\r\n\r\n eventBus.on(TOGGLE_MODE_EVENT, event => {\r\n\r\n if (event.active) {\r\n this.enable();\r\n } else {\r\n this.clear();\r\n }\r\n });\r\n}\r\n\r\nElementSupport.prototype.getUnsupportedElements = function() {\r\n return this._unsupportedElements;\r\n};\r\n\r\nElementSupport.prototype.enable = function() {\r\n\r\n const unsupportedElements = [];\r\n\r\n this._elementRegistry.forEach(element => {\r\n\r\n if (isLabel(element)) {\r\n return;\r\n }\r\n\r\n if (!is(element, UNSUPPORTED_ELEMENTS)) {\r\n return;\r\n }\r\n\r\n this.showWarning(element);\r\n\r\n unsupportedElements.push(element);\r\n });\r\n\r\n if (unsupportedElements.length) {\r\n\r\n this._notifications.showNotification({\r\n text: 'Found unsupported elements',\r\n icon: ExclamationTriangleIcon(),\r\n type: 'warning',\r\n ttl: 5000\r\n });\r\n }\r\n\r\n this._unsupportedElements = unsupportedElements;\r\n};\r\n\r\nElementSupport.prototype.clear = function() {\r\n domClasses(this._canvasParent).remove('warning');\r\n};\r\n\r\nElementSupport.prototype.showWarning = function(element) {\r\n this._elementNotifications.addElementNotification(element, {\r\n type: 'warning',\r\n icon: ExclamationTriangleIcon(),\r\n text: 'Not supported'\r\n });\r\n};\r\n\r\nElementSupport.$inject = [\r\n 'eventBus',\r\n 'elementRegistry',\r\n 'canvas',\r\n 'notifications',\r\n 'elementNotifications'\r\n];","import ElementSupport from './ElementSupport';\nimport ElementNotificationsModule from '../element-notifications';\nimport NotificationsModule from '../notifications';\n\nexport default {\n __depends__: [\n ElementNotificationsModule,\n NotificationsModule\n ],\n __init__: [ 'elementSupport' ],\n elementSupport: [ 'type', ElementSupport ]\n};\n","import {\r\n domify,\r\n classes as domClasses,\r\n event as domEvent\r\n} from 'min-dom';\r\n\r\nimport {\r\n TOGGLE_MODE_EVENT,\r\n PLAY_SIMULATION_EVENT,\r\n PAUSE_SIMULATION_EVENT,\r\n RESET_SIMULATION_EVENT,\r\n SCOPE_CREATE_EVENT,\r\n TRACE_EVENT\r\n} from '../../util/EventHelper';\r\n\r\nimport {\r\n PlayIcon,\r\n PauseIcon\r\n} from '../../icons';\r\n\r\n\r\nconst PLAY_MARKUP = PlayIcon();\r\nconst PAUSE_MARKUP = PauseIcon();\r\n\r\nconst HIGH_PRIORITY = 1500;\r\n\r\n\r\nexport default function PauseSimulation(\r\n eventBus, tokenSimulationPalette,\r\n notifications, canvas) {\r\n\r\n this._eventBus = eventBus;\r\n this._tokenSimulationPalette = tokenSimulationPalette;\r\n this._notifications = notifications;\r\n\r\n this.canvasParent = canvas.getContainer().parentNode;\r\n\r\n this.isActive = false;\r\n this.isPaused = true;\r\n\r\n this._init();\r\n\r\n // unpause on simulation start\r\n eventBus.on(SCOPE_CREATE_EVENT, HIGH_PRIORITY, event => {\r\n this.activate();\r\n this.unpause();\r\n });\r\n\r\n eventBus.on([\r\n RESET_SIMULATION_EVENT,\r\n TOGGLE_MODE_EVENT\r\n ], () => {\r\n this.deactivate();\r\n this.pause();\r\n });\r\n\r\n eventBus.on(TRACE_EVENT, HIGH_PRIORITY, event => {\r\n this.unpause();\r\n });\r\n}\r\n\r\nPauseSimulation.prototype._init = function() {\r\n this.paletteEntry = domify(`\r\n
    \r\n ${ PLAY_MARKUP }\r\n
    \r\n `);\r\n\r\n domEvent.bind(this.paletteEntry, 'click', this.toggle.bind(this));\r\n\r\n this._tokenSimulationPalette.addEntry(this.paletteEntry, 1);\r\n};\r\n\r\nPauseSimulation.prototype.toggle = function() {\r\n if (this.isPaused) {\r\n this.unpause();\r\n } else {\r\n this.pause();\r\n }\r\n};\r\n\r\nPauseSimulation.prototype.pause = function() {\r\n if (!this.isActive) {\r\n return;\r\n }\r\n\r\n domClasses(this.paletteEntry).remove('active');\r\n domClasses(this.canvasParent).add('paused');\r\n\r\n this.paletteEntry.innerHTML = PLAY_MARKUP;\r\n\r\n this._eventBus.fire(PAUSE_SIMULATION_EVENT);\r\n\r\n this._notifications.showNotification({\r\n text: 'Pause Simulation'\r\n });\r\n\r\n this.isPaused = true;\r\n};\r\n\r\nPauseSimulation.prototype.unpause = function() {\r\n\r\n if (!this.isActive || !this.isPaused) {\r\n return;\r\n }\r\n\r\n domClasses(this.paletteEntry).add('active');\r\n domClasses(this.canvasParent).remove('paused');\r\n\r\n this.paletteEntry.innerHTML = PAUSE_MARKUP;\r\n\r\n this._eventBus.fire(PLAY_SIMULATION_EVENT);\r\n\r\n this._notifications.showNotification({\r\n text: 'Play Simulation'\r\n });\r\n\r\n this.isPaused = false;\r\n};\r\n\r\nPauseSimulation.prototype.activate = function() {\r\n this.isActive = true;\r\n\r\n domClasses(this.paletteEntry).remove('disabled');\r\n};\r\n\r\nPauseSimulation.prototype.deactivate = function() {\r\n this.isActive = false;\r\n\r\n domClasses(this.paletteEntry).remove('active');\r\n domClasses(this.paletteEntry).add('disabled');\r\n};\r\n\r\nPauseSimulation.$inject = [\r\n 'eventBus',\r\n 'tokenSimulationPalette',\r\n 'notifications',\r\n 'canvas'\r\n];","import PauseSimulation from './PauseSimulation';\n\nimport NotificationsModule from '../notifications';\n\nexport default {\n __depends__: [\n NotificationsModule\n ],\n __init__: [\n 'pauseSimulation'\n ],\n pauseSimulation: [ 'type', PauseSimulation ]\n};","import {\r\n domify,\r\n classes as domClasses,\r\n event as domEvent\r\n} from 'min-dom';\r\n\r\nimport {\r\n TOGGLE_MODE_EVENT,\r\n RESET_SIMULATION_EVENT,\r\n SCOPE_CREATE_EVENT\r\n} from '../../util/EventHelper';\r\n\r\nimport {\r\n ResetIcon\r\n} from '../../icons';\r\n\r\n\r\nexport default function ResetSimulation(eventBus, tokenSimulationPalette, notifications) {\r\n this._eventBus = eventBus;\r\n this._tokenSimulationPalette = tokenSimulationPalette;\r\n this._notifications = notifications;\r\n\r\n this._init();\r\n\r\n eventBus.on(SCOPE_CREATE_EVENT, () => {\r\n domClasses(this._paletteEntry).remove('disabled');\r\n });\r\n\r\n eventBus.on(TOGGLE_MODE_EVENT, (event) => {\r\n const active = this._active = event.active;\r\n\r\n if (!active) {\r\n this.resetSimulation();\r\n }\r\n });\r\n}\r\n\r\nResetSimulation.prototype._init = function() {\r\n this._paletteEntry = domify(`\r\n
    \r\n ${ ResetIcon() }\r\n
    \r\n `);\r\n\r\n domEvent.bind(this._paletteEntry, 'click', () => {\r\n this.resetSimulation();\r\n\r\n this._notifications.showNotification({\r\n text: 'Reset Simulation',\r\n type: 'info'\r\n });\r\n });\r\n\r\n this._tokenSimulationPalette.addEntry(this._paletteEntry, 2);\r\n};\r\n\r\nResetSimulation.prototype.resetSimulation = function() {\r\n domClasses(this._paletteEntry).add('disabled');\r\n\r\n this._eventBus.fire(RESET_SIMULATION_EVENT);\r\n};\r\n\r\nResetSimulation.$inject = [\r\n 'eventBus',\r\n 'tokenSimulationPalette',\r\n 'notifications'\r\n];","import ResetSimulation from './ResetSimulation';\n\nimport NotificationsModule from '../notifications';\n\nexport default {\n __depends__: [\n NotificationsModule\n ],\n __init__: [\n 'resetSimulation'\n ],\n resetSimulation: [ 'type', ResetSimulation ]\n};","import {\r\n domify,\r\n queryAll as domQueryAll,\r\n classes as domClasses\r\n} from 'min-dom';\r\n\r\nimport {\r\n is\r\n} from '../../util/ElementHelper';\r\n\r\nimport {\r\n ELEMENT_CHANGED_EVENT,\r\n SCOPE_FILTER_CHANGED_EVENT\r\n} from '../../util/EventHelper';\r\n\r\n\r\nconst OFFSET_BOTTOM = 10;\r\nconst OFFSET_LEFT = -15;\r\n\r\nconst LOW_PRIORITY = 500;\r\n\r\nconst DEFAULT_PRIMARY_COLOR = '--token-simulation-green-base-44';\r\nconst DEFAULT_AUXILIARY_COLOR = '--token-simulation-white';\r\n\r\n\r\nexport default function TokenCount(\r\n eventBus, overlays,\r\n simulator, scopeFilter,\r\n simulationStyles) {\r\n\r\n this._overlays = overlays;\r\n this._scopeFilter = scopeFilter;\r\n this._simulator = simulator;\r\n this._simulationStyles = simulationStyles;\r\n\r\n this.overlayIds = {};\r\n\r\n eventBus.on(ELEMENT_CHANGED_EVENT, LOW_PRIORITY, event => {\r\n\r\n const {\r\n element\r\n } = event;\r\n\r\n this.removeTokenCounts(element);\r\n this.addTokenCounts(element);\r\n });\r\n\r\n eventBus.on(SCOPE_FILTER_CHANGED_EVENT, event => {\r\n\r\n const allElements = domQueryAll('.bts-token-count[data-scope-id]', overlays._overlayRoot);\r\n\r\n for (const element of allElements) {\r\n const scopeId = element.dataset.scopeId;\r\n\r\n domClasses(element).toggle('inactive', !this._scopeFilter.isShown(scopeId));\r\n }\r\n });\r\n}\r\n\r\nTokenCount.prototype.addTokenCounts = function(element) {\r\n\r\n if (is(element, 'bpmn:MessageFlow') || is(element, 'bpmn:SequenceFlow')) {\r\n return;\r\n }\r\n\r\n const scopes = this._simulator.findScopes(scope => {\r\n return (\r\n !scope.destroyed &&\r\n scope.children.some(c => !c.destroyed && c.element === element && !c.children.length)\r\n );\r\n });\r\n\r\n this.addTokenCount(element, scopes);\r\n};\r\n\r\nTokenCount.prototype.addTokenCount = function(element, scopes) {\r\n if (!scopes.length) {\r\n return;\r\n }\r\n\r\n const tokenMarkup = scopes.map(scope => {\r\n return this._getTokenHTML(element, scope);\r\n }).join('');\r\n\r\n const html = domify(`\r\n
    \r\n ${tokenMarkup}\r\n
    \r\n `);\r\n\r\n const position = { bottom: OFFSET_BOTTOM, left: OFFSET_LEFT };\r\n\r\n const overlayId = this._overlays.add(element, 'bts-token-count', {\r\n position: position,\r\n html: html,\r\n show: {\r\n minZoom: 0.5\r\n }\r\n });\r\n\r\n this.overlayIds[element.id] = overlayId;\r\n};\r\n\r\nTokenCount.prototype.removeTokenCounts = function(element) {\r\n this.removeTokenCount(element);\r\n};\r\n\r\nTokenCount.prototype.removeTokenCount = function(element) {\r\n const overlayId = this.overlayIds[element.id];\r\n\r\n if (!overlayId) {\r\n return;\r\n }\r\n\r\n this._overlays.remove(overlayId);\r\n\r\n delete this.overlayIds[element.id];\r\n};\r\n\r\nTokenCount.prototype._getTokenHTML = function(element, scope) {\r\n\r\n const colors = scope.colors || this._getDefaultColors();\r\n\r\n return `\r\n
    \r\n ${scope.getTokensByElement(element)}\r\n
    \r\n `;\r\n};\r\n\r\nTokenCount.prototype._getDefaultColors = function() {\r\n return {\r\n primary: this._simulationStyles.get(DEFAULT_PRIMARY_COLOR),\r\n auxiliary: this._simuationStyles.get(DEFAULT_AUXILIARY_COLOR)\r\n };\r\n};\r\n\r\nTokenCount.$inject = [\r\n 'eventBus',\r\n 'overlays',\r\n 'simulator',\r\n 'scopeFilter',\r\n 'simulationStyles'\r\n];","import TokenCount from './TokenCount';\n\nimport ScopeFilterModule from '../scope-filter';\nimport SimulationStylesModule from '../simulation-styles';\n\nexport default {\n __depends__: [\n ScopeFilterModule,\n SimulationStylesModule\n ],\n __init__: [\n 'tokenCount'\n ],\n tokenCount: [ 'type', TokenCount ]\n};","import {\n domify,\n classes as domClasses,\n delegate as domDelegate,\n queryAll as domQueryAll\n} from 'min-dom';\n\nimport {\n TOGGLE_MODE_EVENT,\n ANIMATION_SPEED_CHANGED_EVENT\n} from '../../util/EventHelper';\n\nconst SPEEDS = [\n [ 'Slow', 0.5 ],\n [ 'Normal', 1 ],\n [ 'Fast', 2 ]\n];\n\nimport {\n TachometerIcon,\n AngleRightIcon\n} from '../../icons';\n\n\nexport default function SetAnimationSpeed(canvas, animation, eventBus) {\n this._canvas = canvas;\n this._animation = animation;\n this._eventBus = eventBus;\n\n this._init(animation.getAnimationSpeed());\n\n eventBus.on(TOGGLE_MODE_EVENT, event => {\n const active = event.active;\n\n if (!active) {\n domClasses(this._container).add('hidden');\n } else {\n domClasses(this._container).remove('hidden');\n }\n });\n\n eventBus.on(ANIMATION_SPEED_CHANGED_EVENT, event => {\n this.setActive(event.speed);\n });\n}\n\nSetAnimationSpeed.prototype.getToggleSpeed = function(element) {\n return parseFloat(element.dataset.speed);\n};\n\nSetAnimationSpeed.prototype._init = function(animationSpeed) {\n this._container = domify(`\n
    \n ${ TachometerIcon() }\n
    \n ${\n SPEEDS.map(([ label, speed ], idx) => `\n \n `).join('')\n }\n
    \n
    \n `);\n\n domDelegate.bind(this._container, '[data-speed]', 'click', event => {\n\n const toggle = event.delegateTarget;\n\n const speed = this.getToggleSpeed(toggle);\n\n this._animation.setAnimationSpeed(speed);\n });\n\n this._canvas.getContainer().appendChild(this._container);\n};\n\nSetAnimationSpeed.prototype.setActive = function(speed) {\n domQueryAll('[data-speed]', this._container).forEach(toggle => {\n\n const active = this.getToggleSpeed(toggle) === speed;\n\n domClasses(toggle)[active ? 'add' : 'remove']('active');\n });\n};\n\nSetAnimationSpeed.$inject = [\n 'canvas',\n 'animation',\n 'eventBus'\n];\n","import SetAnimationSpeed from './SetAnimationSpeed';\n\nexport default {\n __init__: [\n 'setAnimationSpeed'\n ],\n setAnimationSpeed: [ 'type', SetAnimationSpeed ]\n};","import {\r\n is\r\n} from '../../util/ElementHelper';\r\n\r\nimport {\r\n TOGGLE_MODE_EVENT\r\n} from '../../util/EventHelper';\r\n\r\n\r\nconst SELECTED_COLOR = '--token-simulation-grey-darken-30';\r\nconst NOT_SELECTED_COLOR = '--token-simulation-grey-lighten-56';\r\n\r\nfunction getNext(gateway, sequenceFlow) {\r\n var outgoing = gateway.outgoing.filter(isSequenceFlow);\r\n\r\n var index = outgoing.indexOf(sequenceFlow || gateway.sequenceFlow);\r\n\r\n if (outgoing[index + 1]) {\r\n return outgoing[index + 1];\r\n } else {\r\n return outgoing[0];\r\n }\r\n}\r\n\r\nfunction isSequenceFlow(connection) {\r\n return is(connection, 'bpmn:SequenceFlow');\r\n}\r\n\r\nconst ID = 'exclusive-gateway-settings';\r\n\r\nconst HIGH_PRIORITY = 2000;\r\n\r\n\r\nexport default function ExclusiveGatewaySettings(\r\n eventBus, elementRegistry,\r\n elementColors, simulator, simulationStyles) {\r\n\r\n this._elementRegistry = elementRegistry;\r\n this._elementColors = elementColors;\r\n this._simulator = simulator;\r\n this._simulationStyles = simulationStyles;\r\n\r\n eventBus.on(TOGGLE_MODE_EVENT, event => {\r\n if (event.active) {\r\n this.setSequenceFlowsDefault();\r\n } else {\r\n this.resetSequenceFlows();\r\n }\r\n });\r\n}\r\n\r\nExclusiveGatewaySettings.prototype.setSequenceFlowsDefault = function() {\r\n const exclusiveGateways = this._elementRegistry.filter(element => {\r\n return is(element, 'bpmn:ExclusiveGateway');\r\n });\r\n\r\n for (const gateway of exclusiveGateways) {\r\n this.setSequenceFlow(gateway);\r\n }\r\n};\r\n\r\nExclusiveGatewaySettings.prototype.resetSequenceFlows = function() {\r\n\r\n const exclusiveGateways = this._elementRegistry.filter(element => {\r\n return is(element, 'bpmn:ExclusiveGateway');\r\n });\r\n\r\n exclusiveGateways.forEach(exclusiveGateway => {\r\n if (exclusiveGateway.outgoing.filter(isSequenceFlow).length) {\r\n this.resetSequenceFlow(exclusiveGateway);\r\n }\r\n });\r\n};\r\n\r\nExclusiveGatewaySettings.prototype.resetSequenceFlow = function(gateway) {\r\n this._simulator.setConfig(gateway, { activeOutgoing: undefined });\r\n};\r\n\r\nExclusiveGatewaySettings.prototype.setSequenceFlow = function(gateway) {\r\n\r\n const outgoing = gateway.outgoing.filter(isSequenceFlow);\r\n\r\n // not forking\r\n if (outgoing.length < 2) {\r\n return;\r\n }\r\n\r\n const {\r\n activeOutgoing\r\n } = this._simulator.getConfig(gateway);\r\n\r\n let newActiveOutgoing;\r\n\r\n if (activeOutgoing) {\r\n\r\n // set next sequence flow\r\n newActiveOutgoing = getNext(gateway, activeOutgoing);\r\n } else {\r\n\r\n // set first sequence flow\r\n newActiveOutgoing = outgoing[ 0 ];\r\n }\r\n\r\n this._simulator.setConfig(gateway, { activeOutgoing: newActiveOutgoing });\r\n\r\n // set colors\r\n gateway.outgoing.forEach(outgoing => {\r\n\r\n const style = outgoing === newActiveOutgoing ? SELECTED_COLOR : NOT_SELECTED_COLOR;\r\n const stroke = this._simulationStyles.get(style);\r\n\r\n this._elementColors.add(outgoing, ID, {\r\n stroke\r\n }, HIGH_PRIORITY);\r\n });\r\n};\r\n\r\nExclusiveGatewaySettings.$inject = [\r\n 'eventBus',\r\n 'elementRegistry',\r\n 'elementColors',\r\n 'simulator',\r\n 'simulationStyles'\r\n];","import {\n getDi,\n isAny\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n TOGGLE_MODE_EVENT\n} from '../../util/EventHelper';\n\nconst VERY_HIGH_PRIORITY = 50000;\n\n/**\n * @typedef Colors\n * @prop {string} fill\n * @prop {string} stroke\n */\n\n/**\n * @typedef CustomColors\n * @prop {string} fill\n * @prop {string} stroke\n * @prop {number} priority\n */\n\nexport default function ElementColors(elementRegistry, eventBus, graphicsFactory) {\n this._elementRegistry = elementRegistry;\n this._eventBus = eventBus;\n this._graphicsFactory = graphicsFactory;\n\n this._originalColors = {};\n this._customColors = {};\n\n eventBus.on(TOGGLE_MODE_EVENT, VERY_HIGH_PRIORITY, event => {\n const active = event.active;\n\n if (active) {\n this._saveOriginalColors();\n } else {\n this._applyOriginalColors();\n\n this._originalColors = {};\n this._customColors = {};\n }\n });\n\n eventBus.on('saveXML.start', VERY_HIGH_PRIORITY, () => {\n this._applyOriginalColors();\n\n eventBus.once('saveXML.done', () => this._applyCustomColors());\n });\n}\n\nElementColors.$inject = [\n 'elementRegistry',\n 'eventBus',\n 'graphicsFactory'\n];\n\n/**\n * Add colors to an element. Element will be redrawn with highest priority\n * colors.\n *\n * @param {Object} element\n * @param {string} id\n * @param {Colors} colors\n * @param {number} [priority=1000]\n */\nElementColors.prototype.add = function(element, id, colors, priority = 1000) {\n let elementColors = this._customColors[ element.id ];\n\n if (!elementColors) {\n elementColors = this._customColors[ element.id ] = {};\n }\n\n elementColors[ id ] = {\n ...colors,\n priority\n };\n\n this._applyHighestPriorityColor(element);\n};\n\n\n/**\n * Remove colors from an element. Element will be redrawn with highest priority\n * colors.\n *\n * @param {Object} element\n * @param {string} id\n */\nElementColors.prototype.remove = function(element, id) {\n const elementColors = this._customColors[ element.id ];\n\n if (elementColors) {\n delete elementColors[ id ];\n\n if (!Object.keys(elementColors)) {\n delete this._customColors[ element.id ];\n }\n }\n\n this._applyHighestPriorityColor(element);\n};\n\nElementColors.prototype._get = function(element) {\n const di = getDi(element);\n\n if (!di) {\n return undefined;\n }\n\n // reading in accordance with bpmn-js@8.7+,\n // BPMN-in-Color specification\n if (isLabel(element)) {\n return {\n stroke: di.label && di.label.get('color')\n };\n } else if (isAny(di, [ 'bpmndi:BPMNEdge', 'bpmndi:BPMNShape' ])) {\n return {\n fill: di.get('background-color'),\n stroke: di.get('border-color')\n };\n }\n};\n\nElementColors.prototype._set = function(element, colors = {}) {\n const {\n fill,\n stroke\n } = colors;\n\n const di = getDi(element);\n\n if (!di) {\n return;\n }\n\n // writing in accordance with bpmn-js@8.7+,\n // BPMN-in-Color specification\n if (isLabel(element)) {\n di.label && di.label.set('color', stroke);\n } else if (isAny(di, [ 'bpmndi:BPMNEdge', 'bpmndi:BPMNShape' ])) {\n di.set('background-color', fill);\n di.set('border-color', stroke);\n }\n\n this._forceRedraw(element);\n};\n\nElementColors.prototype._saveOriginalColors = function() {\n this._originalColors = {};\n\n this._elementRegistry.forEach(element => {\n this._originalColors[ element.id ] = this._get(element);\n });\n};\n\nElementColors.prototype._applyOriginalColors = function() {\n this._elementRegistry.forEach(element => {\n const colors = this._originalColors[ element.id ];\n\n if (colors) {\n this._set(element, colors);\n }\n });\n};\n\nElementColors.prototype._applyCustomColors = function() {\n this._elementRegistry.forEach(element => {\n const elementColors = this._customColors[ element.id ];\n\n if (elementColors) {\n this._set(element, getColorsWithHighestPriority(elementColors));\n }\n });\n};\n\nElementColors.prototype._applyHighestPriorityColor = function(element) {\n const elementColors = this._customColors[ element.id ];\n\n if (!elementColors) {\n this._set(element, this._originalColors[ element.id ]);\n\n return;\n }\n\n this._set(element, getColorsWithHighestPriority(elementColors));\n};\n\nElementColors.prototype._forceRedraw = function(element) {\n const gfx = this._elementRegistry.getGraphics(element);\n\n const type = element.waypoints ? 'connection' : 'shape';\n\n this._graphicsFactory.update(type, element, gfx);\n};\n\n\n// helpers /////////////////\n\nfunction isLabel(element) {\n return 'labelTarget' in element;\n}\n\n/**\n * Get colors with highest priority.\n *\n * @param {Map|undefined} colors\n *\n * @returns {Colors|undefined}\n */\nfunction getColorsWithHighestPriority(colors = {}) {\n const colorsWithHighestPriority = Object.values(colors).reduce((colorsWithHighestPriority, colors) => {\n const { priority = 1000 } = colors;\n\n if (!colorsWithHighestPriority || priority > colorsWithHighestPriority.priority) {\n return colors;\n }\n\n return colorsWithHighestPriority;\n }, undefined);\n\n if (colorsWithHighestPriority) {\n const { priority, ...fillAndStroke } = colorsWithHighestPriority;\n\n return fillAndStroke;\n }\n}","import ElementColors from './ElementColors';\n\nexport default {\n elementColors: [ 'type', ElementColors ]\n};","import ExclusiveGatewaySettings from './ExclusiveGatewaySettings';\nimport ElementColorsModule from '../element-colors';\nimport SimulationStylesModule from '../simulation-styles';\n\nexport default {\n __depends__: [\n ElementColorsModule,\n SimulationStylesModule\n ],\n exclusiveGatewaySettings: [ 'type', ExclusiveGatewaySettings ]\n};","import {\n TOGGLE_MODE_EVENT\n} from '../../util/EventHelper';\n\nconst ID = 'neutral-element-colors';\n\nexport default function NeutralElementColors(\n eventBus, elementRegistry, elementColors) {\n\n this._elementRegistry = elementRegistry;\n this._elementColors = elementColors;\n\n eventBus.on(TOGGLE_MODE_EVENT, event => {\n const { active } = event;\n\n if (active) {\n this._setNeutralColors();\n }\n });\n}\n\nNeutralElementColors.prototype._setNeutralColors = function() {\n this._elementRegistry.forEach(element => {\n this._elementColors.add(element, ID, {\n stroke: '#212121',\n fill: '#fff'\n });\n });\n};\n\nNeutralElementColors.$inject = [\n 'eventBus',\n 'elementRegistry',\n 'elementColors'\n];","import NeutralElementColors from './NeutralElementColors';\nimport ElementColorsModule from '../element-colors';\n\nexport default {\n __depends__: [ ElementColorsModule ],\n __init__: [\n 'neutralElementColors'\n ],\n neutralElementColors: [ 'type', NeutralElementColors ]\n};","import {\n TOGGLE_MODE_EVENT\n} from '../../util/EventHelper';\n\n\nconst SELECTED_COLOR = '--token-simulation-grey-darken-30';\nconst NOT_SELECTED_COLOR = '--token-simulation-grey-lighten-56';\n\nimport {\n getBusinessObject,\n is,\n isSequenceFlow\n} from '../../simulator/util/ModelUtil';\n\nconst COLOR_ID = 'inclusive-gateway-settings';\n\n\nexport default function InclusiveGatewaySettings(\n eventBus, elementRegistry,\n elementColors, simulator, simulationStyles) {\n\n this._elementRegistry = elementRegistry;\n this._elementColors = elementColors;\n this._simulator = simulator;\n this._simulationStyles = simulationStyles;\n\n eventBus.on(TOGGLE_MODE_EVENT, event => {\n if (event.active) {\n this.setDefaults();\n } else {\n this.reset();\n }\n });\n}\n\nInclusiveGatewaySettings.prototype.setDefaults = function() {\n const inclusiveGateways = this._elementRegistry.filter(element => {\n return is(element, 'bpmn:InclusiveGateway');\n });\n\n inclusiveGateways.forEach(inclusiveGateway => {\n if (inclusiveGateway.outgoing.filter(isSequenceFlow).length > 1) {\n this._setGatewayDefaults(inclusiveGateway);\n }\n });\n};\n\nInclusiveGatewaySettings.prototype.reset = function() {\n const inclusiveGateways = this._elementRegistry.filter(element => {\n return is(element, 'bpmn:InclusiveGateway');\n });\n\n inclusiveGateways.forEach(inclusiveGateway => {\n if (inclusiveGateway.outgoing.filter(isSequenceFlow).length > 1) {\n this._resetGateway(inclusiveGateway);\n }\n });\n};\n\nInclusiveGatewaySettings.prototype.toggleSequenceFlow = function(gateway, sequenceFlow) {\n const activeOutgoing = this._getActiveOutgoing(gateway),\n defaultFlow = getDefaultFlow(gateway),\n nonDefaultFlows = getNonDefaultFlows(gateway);\n\n let newActiveOutgoing;\n if (activeOutgoing.includes(sequenceFlow)) {\n newActiveOutgoing = without(activeOutgoing, sequenceFlow);\n } else {\n newActiveOutgoing = without(activeOutgoing, defaultFlow).concat(sequenceFlow);\n }\n\n // make sure at least one flow is active\n if (!newActiveOutgoing.length) {\n\n // default flow if available\n if (defaultFlow) {\n newActiveOutgoing = [ defaultFlow ];\n } else {\n\n // or another flow which is not the one toggled\n newActiveOutgoing = [ nonDefaultFlows.find(flow => flow !== sequenceFlow) ];\n }\n }\n\n this._setActiveOutgoing(gateway, newActiveOutgoing);\n};\n\nInclusiveGatewaySettings.prototype._getActiveOutgoing = function(gateway) {\n const {\n activeOutgoing\n } = this._simulator.getConfig(gateway);\n\n return activeOutgoing;\n};\n\nInclusiveGatewaySettings.prototype._setActiveOutgoing = function(gateway, activeOutgoing) {\n this._simulator.setConfig(gateway, { activeOutgoing });\n\n const sequenceFlows = gateway.outgoing.filter(isSequenceFlow);\n\n // set colors\n sequenceFlows.forEach(outgoing => {\n\n const style = (!activeOutgoing || activeOutgoing.includes(outgoing)) ?\n SELECTED_COLOR : NOT_SELECTED_COLOR;\n const stroke = this._simulationStyles.get(style);\n\n this._elementColors.add(outgoing, COLOR_ID, {\n stroke\n });\n });\n};\n\nInclusiveGatewaySettings.prototype._setGatewayDefaults = function(gateway) {\n const sequenceFlows = gateway.outgoing.filter(isSequenceFlow);\n\n const defaultFlow = getDefaultFlow(gateway);\n const nonDefaultFlows = without(sequenceFlows, defaultFlow);\n\n this._setActiveOutgoing(gateway, nonDefaultFlows);\n};\n\nInclusiveGatewaySettings.prototype._resetGateway = function(gateway) {\n this._setActiveOutgoing(gateway, undefined);\n};\n\nInclusiveGatewaySettings.$inject = [\n 'eventBus',\n 'elementRegistry',\n 'elementColors',\n 'simulator',\n 'simulationStyles'\n];\n\nfunction getDefaultFlow(gateway) {\n const defaultFlow = getBusinessObject(gateway).default;\n\n if (!defaultFlow) {\n return;\n }\n\n return gateway.outgoing.find(flow => {\n const flowBo = getBusinessObject(flow);\n\n return flowBo === defaultFlow;\n });\n}\n\nfunction getNonDefaultFlows(gateway) {\n const defaultFlow = getDefaultFlow(gateway);\n\n return gateway.outgoing.filter(flow => {\n const flowBo = getBusinessObject(flow);\n\n return flowBo !== defaultFlow;\n });\n}\n\nfunction without(array, element) {\n return array.filter(arrayElement => arrayElement !== element);\n}\n","import InclusiveGatewaySettings from './InclusiveGatewaySettings';\nimport ElementColorsModule from '../element-colors';\nimport SimulationStylesModule from '../simulation-styles';\n\nexport default {\n __depends__: [\n ElementColorsModule,\n SimulationStylesModule\n ],\n inclusiveGatewaySettings: [ 'type', InclusiveGatewaySettings ]\n};","import {\r\n domify,\r\n classes as domClasses\r\n} from 'min-dom';\r\n\r\nimport {\r\n TOGGLE_MODE_EVENT\r\n} from '../../util/EventHelper';\r\n\r\n\r\nexport default function Palette(eventBus, canvas) {\r\n var self = this;\r\n\r\n this._canvas = canvas;\r\n\r\n this.entries = [];\r\n\r\n this._init();\r\n\r\n eventBus.on(TOGGLE_MODE_EVENT, function(context) {\r\n var active = context.active;\r\n\r\n if (active) {\r\n domClasses(self.container).remove('hidden');\r\n } else {\r\n domClasses(self.container).add('hidden');\r\n }\r\n });\r\n}\r\n\r\nPalette.prototype._init = function() {\r\n this.container = domify('
    ');\r\n\r\n this._canvas.getContainer().appendChild(this.container);\r\n};\r\n\r\nPalette.prototype.addEntry = function(entry, index) {\r\n var childIndex = 0;\r\n\r\n this.entries.forEach(function(entry) {\r\n if (index >= entry.index) {\r\n childIndex++;\r\n }\r\n });\r\n\r\n this.container.insertBefore(entry, this.container.childNodes[childIndex]);\r\n\r\n this.entries.push({\r\n entry: entry,\r\n index: index\r\n });\r\n};\r\n\r\nPalette.$inject = [ 'eventBus', 'canvas' ];","import Palette from './Palette';\n\nexport default {\n __init__: [\n 'tokenSimulationPalette'\n ],\n tokenSimulationPalette: [ 'type', Palette ]\n};","import SimulatorModule from './simulator';\nimport AnimationModule from './animation';\nimport ColoredScopesModule from './features/colored-scopes';\nimport ContextPadsModule from './features/context-pads';\nimport SimulationStateModule from './features/simulation-state';\nimport ShowScopesModule from './features/show-scopes';\nimport LogModule from './features/log';\nimport ElementSupportModule from './features/element-support';\nimport PauseSimulationModule from './features/pause-simulation';\nimport ResetSimulationModule from './features/reset-simulation';\nimport TokenCountModule from './features/token-count';\nimport SetAnimationSpeedModule from './features/set-animation-speed';\n\nimport ExclusiveGatewaySettingsModule from './features/exclusive-gateway-settings';\nimport NeutralElementColors from './features/neutral-element-colors';\nimport InclusiveGatewaySettingsModule from './features/inclusive-gateway-settings';\nimport TokenSimulationPaletteModule from './features/palette';\n\nexport default {\n __depends__: [\n SimulatorModule,\n AnimationModule,\n ColoredScopesModule,\n ContextPadsModule,\n SimulationStateModule,\n ShowScopesModule,\n LogModule,\n ElementSupportModule,\n PauseSimulationModule,\n ResetSimulationModule,\n TokenCountModule,\n SetAnimationSpeedModule,\n ExclusiveGatewaySettingsModule,\n NeutralElementColors,\n InclusiveGatewaySettingsModule,\n TokenSimulationPaletteModule\n ]\n};","import {\r\n TOGGLE_MODE_EVENT\r\n} from '../../util/EventHelper';\r\n\r\nconst HIGH_PRIORITY = 10001;\r\n\r\n\r\nexport default function DisableModeling(\r\n eventBus,\r\n contextPad,\r\n dragging,\r\n directEditing,\r\n editorActions,\r\n modeling,\r\n palette) {\r\n\r\n let modelingDisabled = false;\r\n\r\n eventBus.on(TOGGLE_MODE_EVENT, HIGH_PRIORITY, event => {\r\n\r\n modelingDisabled = event.active;\r\n\r\n if (modelingDisabled) {\r\n directEditing.cancel();\r\n dragging.cancel();\r\n }\r\n\r\n palette._update();\r\n });\r\n\r\n function intercept(obj, fnName, cb) {\r\n const fn = obj[fnName];\r\n obj[fnName] = function() {\r\n return cb.call(this, fn, arguments);\r\n };\r\n }\r\n\r\n function ignoreIfModelingDisabled(obj, fnName) {\r\n intercept(obj, fnName, function(fn, args) {\r\n if (modelingDisabled) {\r\n return;\r\n }\r\n\r\n return fn.apply(this, args);\r\n });\r\n }\r\n\r\n function throwIfModelingDisabled(obj, fnName) {\r\n intercept(obj, fnName, function(fn, args) {\r\n if (modelingDisabled) {\r\n throw new Error('model is read-only');\r\n }\r\n\r\n return fn.apply(this, args);\r\n });\r\n }\r\n\r\n ignoreIfModelingDisabled(dragging, 'init');\r\n\r\n ignoreIfModelingDisabled(directEditing, 'activate');\r\n\r\n ignoreIfModelingDisabled(dragging, 'init');\r\n\r\n ignoreIfModelingDisabled(directEditing, 'activate');\r\n\r\n throwIfModelingDisabled(modeling, 'moveShape');\r\n throwIfModelingDisabled(modeling, 'updateAttachment');\r\n throwIfModelingDisabled(modeling, 'moveElements');\r\n throwIfModelingDisabled(modeling, 'moveConnection');\r\n throwIfModelingDisabled(modeling, 'layoutConnection');\r\n throwIfModelingDisabled(modeling, 'createConnection');\r\n throwIfModelingDisabled(modeling, 'createShape');\r\n throwIfModelingDisabled(modeling, 'createLabel');\r\n throwIfModelingDisabled(modeling, 'appendShape');\r\n throwIfModelingDisabled(modeling, 'removeElements');\r\n throwIfModelingDisabled(modeling, 'distributeElements');\r\n throwIfModelingDisabled(modeling, 'removeShape');\r\n throwIfModelingDisabled(modeling, 'removeConnection');\r\n throwIfModelingDisabled(modeling, 'replaceShape');\r\n throwIfModelingDisabled(modeling, 'pasteElements');\r\n throwIfModelingDisabled(modeling, 'alignElements');\r\n throwIfModelingDisabled(modeling, 'resizeShape');\r\n throwIfModelingDisabled(modeling, 'createSpace');\r\n throwIfModelingDisabled(modeling, 'updateWaypoints');\r\n throwIfModelingDisabled(modeling, 'reconnectStart');\r\n throwIfModelingDisabled(modeling, 'reconnectEnd');\r\n\r\n intercept(editorActions, 'trigger', function(fn, args) {\r\n const action = args[0];\r\n\r\n if (modelingDisabled && isAnyAction([\r\n 'undo',\r\n 'redo',\r\n 'copy',\r\n 'paste',\r\n 'removeSelection',\r\n 'spaceTool',\r\n 'lassoTool',\r\n 'globalConnectTool',\r\n 'distributeElements',\r\n 'alignElements',\r\n 'directEditing',\r\n ], action)) {\r\n return;\r\n }\r\n\r\n return fn.apply(this, args);\r\n });\r\n}\r\n\r\nDisableModeling.$inject = [\r\n 'eventBus',\r\n 'contextPad',\r\n 'dragging',\r\n 'directEditing',\r\n 'editorActions',\r\n 'modeling',\r\n 'palette'\r\n];\r\n\r\n\r\n// helpers //////////\r\n\r\nfunction isAnyAction(actions, action) {\r\n return actions.indexOf(action) > -1;\r\n}","import DisableModeling from './DisableModeling';\n\nexport default {\n __init__: [\n 'disableModeling'\n ],\n disableModeling: [ 'type', DisableModeling ]\n};","import {\r\n domify,\r\n classes as domClasses,\r\n event as domEvent,\r\n query as domQuery\r\n} from 'min-dom';\r\n\r\nimport {\r\n TOGGLE_MODE_EVENT\r\n} from '../../../util/EventHelper';\r\n\r\nimport {\r\n ToggleOffIcon,\r\n ToggleOnIcon\r\n} from '../../../icons';\r\n\r\n\r\nexport default function ToggleMode(\r\n eventBus, canvas, selection,\r\n contextPad) {\r\n\r\n this._eventBus = eventBus;\r\n this._canvas = canvas;\r\n this._selection = selection;\r\n this._contextPad = contextPad;\r\n\r\n this._active = false;\r\n\r\n eventBus.on('import.parse.start', () => {\r\n\r\n if (this._active) {\r\n this.toggleMode(false);\r\n\r\n eventBus.once('import.done', () => {\r\n this.toggleMode(true);\r\n });\r\n }\r\n });\r\n\r\n eventBus.on('diagram.init', () => {\r\n this._canvasParent = this._canvas.getContainer().parentNode;\r\n this._palette = domQuery('.djs-palette', this._canvas.getContainer());\r\n\r\n this._init();\r\n });\r\n}\r\n\r\nToggleMode.prototype._init = function() {\r\n this._container = domify(`\r\n
    \r\n Token Simulation ${ ToggleOffIcon() }\r\n
    \r\n `);\r\n\r\n domEvent.bind(this._container, 'click', () => this.toggleMode());\r\n\r\n this._canvas.getContainer().appendChild(this._container);\r\n};\r\n\r\nToggleMode.prototype.toggleMode = function(active = !this._active) {\r\n\r\n if (active === this._active) {\r\n return;\r\n }\r\n\r\n if (active) {\r\n this._container.innerHTML = `Token Simulation ${ ToggleOnIcon() }`;\r\n\r\n domClasses(this._canvasParent).add('simulation');\r\n domClasses(this._palette).add('hidden');\r\n } else {\r\n this._container.innerHTML = `Token Simulation ${ ToggleOffIcon() }`;\r\n\r\n domClasses(this._canvasParent).remove('simulation');\r\n domClasses(this._palette).remove('hidden');\r\n\r\n const elements = this._selection.get();\r\n\r\n if (elements.length === 1) {\r\n this._contextPad.open(elements[0]);\r\n }\r\n }\r\n\r\n this._eventBus.fire(TOGGLE_MODE_EVENT, {\r\n active\r\n });\r\n\r\n this._active = active;\r\n};\r\n\r\nToggleMode.$inject = [\r\n 'eventBus',\r\n 'canvas',\r\n 'selection',\r\n 'contextPad'\r\n];","import ToggleMode from './ToggleMode';\n\nexport default {\n __init__: [\n 'toggleMode'\n ],\n toggleMode: [ 'type', ToggleMode ]\n};","import { TOGGLE_MODE_EVENT } from '../../util/EventHelper';\n\nexport default function EditorActions(\n eventBus,\n toggleMode,\n pauseSimulation,\n resetSimulation,\n editorActions,\n injector\n) {\n var active = false;\n\n editorActions.register({\n toggleTokenSimulation: function() {\n toggleMode.toggleMode();\n }\n });\n\n editorActions.register({\n togglePauseTokenSimulation: function() {\n active && pauseSimulation.toggle();\n }\n });\n\n editorActions.register({\n resetTokenSimulation: function() {\n active && resetSimulation.resetSimulation();\n }\n });\n\n const log = injector.get('log', false);\n\n log && editorActions.register({\n toggleTokenSimulationLog: function() {\n log.toggle();\n }\n });\n\n eventBus.on(TOGGLE_MODE_EVENT, (event) => {\n active = event.active;\n });\n}\n\nEditorActions.$inject = [\n 'eventBus',\n 'toggleMode',\n 'pauseSimulation',\n 'resetSimulation',\n 'editorActions',\n 'injector'\n];","import EditorActions from './EditorActions';\n\nexport default {\n __init__: [\n 'tokenSimulationEditorActions'\n ],\n tokenSimulationEditorActions: [ 'type', EditorActions ]\n};","import {\n TOGGLE_MODE_EVENT\n} from '../../util/EventHelper';\n\nconst VERY_HIGH_PRIORITY = 10000;\n\n\nexport default function KeyboardBindings(eventBus, injector) {\n\n var editorActions = injector.get('editorActions', false),\n keyboard = injector.get('keyboard', false);\n\n if (!keyboard || !editorActions) {\n return;\n }\n\n\n var isActive = false;\n\n\n function handleKeyEvent(keyEvent) {\n if (isKey([ 't', 'T' ], keyEvent)) {\n editorActions.trigger('toggleTokenSimulation');\n\n return true;\n }\n\n if (!isActive) {\n return;\n }\n\n if (isKey([ 'l', 'L' ], keyEvent)) {\n editorActions.trigger('toggleTokenSimulationLog');\n\n return true;\n }\n\n // see https://developer.mozilla.org/de/docs/Web/API/KeyboardEvent/key/Key_Values#Whitespace_keys\n if (isKey([ ' ', 'Spacebar' ], keyEvent)) {\n editorActions.trigger('togglePauseTokenSimulation');\n\n return true;\n }\n\n if (isKey([ 'r', 'R' ], keyEvent)) {\n editorActions.trigger('resetTokenSimulation');\n\n return true;\n }\n }\n\n\n eventBus.on('keyboard.init', function() {\n\n keyboard.addListener(VERY_HIGH_PRIORITY, function(event) {\n var keyEvent = event.keyEvent;\n\n handleKeyEvent(keyEvent);\n });\n\n });\n\n eventBus.on(TOGGLE_MODE_EVENT, function(context) {\n var active = context.active;\n\n if (active) {\n isActive = true;\n } else {\n isActive = false;\n }\n });\n\n}\n\nKeyboardBindings.$inject = [ 'eventBus', 'injector' ];\n\n\n// helpers //////////\n\nfunction isKey(keys, event) {\n return keys.indexOf(event.key) > -1;\n}","import KeyboardBindings from './KeyboardBindings';\n\nexport default {\n __init__: [\n 'tokenSimulationKeyboardBindings'\n ],\n tokenSimulationKeyboardBindings: [ 'type', KeyboardBindings ]\n};","import BaseModule from './base';\nimport DisableModelingModule from './features/disable-modeling';\n\nimport ToggleModeModule from './features/toggle-mode/modeler';\nimport TokenSimulationEditorActionsModule from './features/editor-actions';\nimport TokenSimulationKeyboardBindingsModule from './features/keyboard-bindings';\n\nexport default {\n __depends__: [\n BaseModule,\n DisableModelingModule,\n ToggleModeModule,\n TokenSimulationEditorActionsModule,\n TokenSimulationKeyboardBindingsModule\n ]\n};","const CLASS_PATTERN = /^class[ {]/;\n\n\n/**\n * @param {function} fn\n *\n * @return {boolean}\n */\nfunction isClass(fn) {\n return CLASS_PATTERN.test(fn.toString());\n}\n\n/**\n * @param {any} obj\n *\n * @return {boolean}\n */\nfunction isArray(obj) {\n return Array.isArray(obj);\n}\n\n/**\n * @param {any} obj\n * @param {string} prop\n *\n * @return {boolean}\n */\nfunction hasOwnProp(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\n/**\n * @typedef {import('./index.js').InjectAnnotated } InjectAnnotated\n */\n\n/**\n * @template T\n *\n * @params {[...string[], T] | ...string[], T} args\n *\n * @return {T & InjectAnnotated}\n */\nfunction annotate(...args) {\n\n if (args.length === 1 && isArray(args[0])) {\n args = args[0];\n }\n\n args = [ ...args ];\n\n const fn = args.pop();\n\n fn.$inject = args;\n\n return fn;\n}\n\n\n// Current limitations:\n// - can't put into \"function arg\" comments\n// function /* (no parenthesis like this) */ (){}\n// function abc( /* xx (no parenthesis like this) */ a, b) {}\n//\n// Just put the comment before function or inside:\n// /* (((this is fine))) */ function(a, b) {}\n// function abc(a) { /* (((this is fine))) */}\n//\n// - can't reliably auto-annotate constructor; we'll match the\n// first constructor(...) pattern found which may be the one\n// of a nested class, too.\n\nconst CONSTRUCTOR_ARGS = /constructor\\s*[^(]*\\(\\s*([^)]*)\\)/m;\nconst FN_ARGS = /^(?:async\\s+)?(?:function\\s*[^(]*)?(?:\\(\\s*([^)]*)\\)|(\\w+))/m;\nconst FN_ARG = /\\/\\*([^*]*)\\*\\//m;\n\n/**\n * @param {unknown} fn\n *\n * @return {string[]}\n */\nfunction parseAnnotations(fn) {\n\n if (typeof fn !== 'function') {\n throw new Error(`Cannot annotate \"${fn}\". Expected a function!`);\n }\n\n const match = fn.toString().match(isClass(fn) ? CONSTRUCTOR_ARGS : FN_ARGS);\n\n // may parse class without constructor\n if (!match) {\n return [];\n }\n\n const args = match[1] || match[2];\n\n return args && args.split(',').map(arg => {\n const argMatch = arg.match(FN_ARG);\n return (argMatch && argMatch[1] || arg).trim();\n }) || [];\n}\n\n/**\n * @typedef { import('./index.js').ModuleDeclaration } ModuleDeclaration\n * @typedef { import('./index.js').ModuleDefinition } ModuleDefinition\n * @typedef { import('./index.js').InjectorContext } InjectorContext\n *\n * @typedef { import('./index.js').TypedDeclaration } TypedDeclaration\n */\n\n/**\n * Create a new injector with the given modules.\n *\n * @param {ModuleDefinition[]} modules\n * @param {InjectorContext} [_parent]\n */\nfunction Injector(modules, _parent) {\n\n const parent = _parent || /** @type InjectorContext */ ({\n get: function(name, strict) {\n currentlyResolving.push(name);\n\n if (strict === false) {\n return null;\n } else {\n throw error(`No provider for \"${ name }\"!`);\n }\n }\n });\n\n const currentlyResolving = [];\n const providers = this._providers = Object.create(parent._providers || null);\n const instances = this._instances = Object.create(null);\n\n const self = instances.injector = this;\n\n const error = function(msg) {\n const stack = currentlyResolving.join(' -> ');\n currentlyResolving.length = 0;\n return new Error(stack ? `${ msg } (Resolving: ${ stack })` : msg);\n };\n\n /**\n * Return a named service.\n *\n * @param {string} name\n * @param {boolean} [strict=true] if false, resolve missing services to null\n *\n * @return {any}\n */\n function get(name, strict) {\n if (!providers[name] && name.includes('.')) {\n\n const parts = name.split('.');\n let pivot = get(/** @type { string } */ (parts.shift()));\n\n while (parts.length) {\n pivot = pivot[/** @type { string } */ (parts.shift())];\n }\n\n return pivot;\n }\n\n if (hasOwnProp(instances, name)) {\n return instances[name];\n }\n\n if (hasOwnProp(providers, name)) {\n if (currentlyResolving.indexOf(name) !== -1) {\n currentlyResolving.push(name);\n throw error('Cannot resolve circular dependency!');\n }\n\n currentlyResolving.push(name);\n instances[name] = providers[name][0](providers[name][1]);\n currentlyResolving.pop();\n\n return instances[name];\n }\n\n return parent.get(name, strict);\n }\n\n function fnDef(fn, locals) {\n\n if (typeof locals === 'undefined') {\n locals = {};\n }\n\n if (typeof fn !== 'function') {\n if (isArray(fn)) {\n fn = annotate(fn.slice());\n } else {\n throw error(`Cannot invoke \"${ fn }\". Expected a function!`);\n }\n }\n\n /**\n * @type {string[]}\n */\n const inject = fn.$inject || parseAnnotations(fn);\n const dependencies = inject.map(dep => {\n if (hasOwnProp(locals, dep)) {\n return locals[dep];\n } else {\n return get(dep);\n }\n });\n\n return {\n fn: fn,\n dependencies\n };\n }\n\n /**\n * Instantiate the given type, injecting dependencies.\n *\n * @template T\n *\n * @param { Function | [...string[], Function ]} type\n *\n * @return T\n */\n function instantiate(type) {\n const {\n fn,\n dependencies\n } = fnDef(type);\n\n // instantiate var args constructor\n const Constructor = Function.prototype.bind.call(fn, null, ...dependencies);\n\n return new Constructor();\n }\n\n /**\n * Invoke the given function, injecting dependencies. Return the result.\n *\n * @template T\n *\n * @param { Function | [...string[], Function ]} func\n * @param { Object } [context]\n * @param { Object } [locals]\n *\n * @return {T} invocation result\n */\n function invoke(func, context, locals) {\n const {\n fn,\n dependencies\n } = fnDef(func, locals);\n\n return fn.apply(context, dependencies);\n }\n\n /**\n * @param {Injector} childInjector\n *\n * @return {Function}\n */\n function createPrivateInjectorFactory(childInjector) {\n return annotate(key => childInjector.get(key));\n }\n\n /**\n * @param {ModuleDefinition[]} modules\n * @param {string[]} [forceNewInstances]\n *\n * @return {Injector}\n */\n function createChild(modules, forceNewInstances) {\n if (forceNewInstances && forceNewInstances.length) {\n const fromParentModule = Object.create(null);\n const matchedScopes = Object.create(null);\n\n const privateInjectorsCache = [];\n const privateChildInjectors = [];\n const privateChildFactories = [];\n\n let provider;\n let cacheIdx;\n let privateChildInjector;\n let privateChildInjectorFactory;\n\n for (let name in providers) {\n provider = providers[name];\n\n if (forceNewInstances.indexOf(name) !== -1) {\n if (provider[2] === 'private') {\n cacheIdx = privateInjectorsCache.indexOf(provider[3]);\n if (cacheIdx === -1) {\n privateChildInjector = provider[3].createChild([], forceNewInstances);\n privateChildInjectorFactory = createPrivateInjectorFactory(privateChildInjector);\n privateInjectorsCache.push(provider[3]);\n privateChildInjectors.push(privateChildInjector);\n privateChildFactories.push(privateChildInjectorFactory);\n fromParentModule[name] = [ privateChildInjectorFactory, name, 'private', privateChildInjector ];\n } else {\n fromParentModule[name] = [ privateChildFactories[cacheIdx], name, 'private', privateChildInjectors[cacheIdx] ];\n }\n } else {\n fromParentModule[name] = [ provider[2], provider[1] ];\n }\n matchedScopes[name] = true;\n }\n\n if ((provider[2] === 'factory' || provider[2] === 'type') && provider[1].$scope) {\n /* jshint -W083 */\n forceNewInstances.forEach(scope => {\n if (provider[1].$scope.indexOf(scope) !== -1) {\n fromParentModule[name] = [ provider[2], provider[1] ];\n matchedScopes[scope] = true;\n }\n });\n }\n }\n\n forceNewInstances.forEach(scope => {\n if (!matchedScopes[scope]) {\n throw new Error('No provider for \"' + scope + '\". Cannot use provider from the parent!');\n }\n });\n\n modules.unshift(fromParentModule);\n }\n\n return new Injector(modules, self);\n }\n\n const factoryMap = {\n factory: invoke,\n type: instantiate,\n value: function(value) {\n return value;\n }\n };\n\n /**\n * @param {ModuleDefinition} moduleDefinition\n * @param {Injector} injector\n */\n function createInitializer(moduleDefinition, injector) {\n\n const initializers = moduleDefinition.__init__ || [];\n\n return function() {\n initializers.forEach(initializer => {\n\n // eagerly resolve component (fn or string)\n if (typeof initializer === 'string') {\n injector.get(initializer);\n } else {\n injector.invoke(initializer);\n }\n });\n };\n }\n\n /**\n * @param {ModuleDefinition} moduleDefinition\n */\n function loadModule(moduleDefinition) {\n\n const moduleExports = moduleDefinition.__exports__;\n\n // private module\n if (moduleExports) {\n const nestedModules = moduleDefinition.__modules__;\n\n const clonedModule = Object.keys(moduleDefinition).reduce((clonedModule, key) => {\n\n if (key !== '__exports__' && key !== '__modules__' && key !== '__init__' && key !== '__depends__') {\n clonedModule[key] = moduleDefinition[key];\n }\n\n return clonedModule;\n }, Object.create(null));\n\n const childModules = (nestedModules || []).concat(clonedModule);\n\n const privateInjector = createChild(childModules);\n const getFromPrivateInjector = annotate(function(key) {\n return privateInjector.get(key);\n });\n\n moduleExports.forEach(function(key) {\n providers[key] = [ getFromPrivateInjector, key, 'private', privateInjector ];\n });\n\n // ensure child injector initializes\n const initializers = (moduleDefinition.__init__ || []).slice();\n\n initializers.unshift(function() {\n privateInjector.init();\n });\n\n moduleDefinition = Object.assign({}, moduleDefinition, {\n __init__: initializers\n });\n\n return createInitializer(moduleDefinition, privateInjector);\n }\n\n // normal module\n Object.keys(moduleDefinition).forEach(function(key) {\n\n if (key === '__init__' || key === '__depends__') {\n return;\n }\n\n const typeDeclaration = /** @type { TypedDeclaration } */ (\n moduleDefinition[key]\n );\n\n if (typeDeclaration[2] === 'private') {\n providers[key] = typeDeclaration;\n return;\n }\n\n const type = typeDeclaration[0];\n const value = typeDeclaration[1];\n\n providers[key] = [ factoryMap[type], arrayUnwrap(type, value), type ];\n });\n\n return createInitializer(moduleDefinition, self);\n }\n\n /**\n * @param {ModuleDefinition[]} moduleDefinitions\n * @param {ModuleDefinition} moduleDefinition\n *\n * @return {ModuleDefinition[]}\n */\n function resolveDependencies(moduleDefinitions, moduleDefinition) {\n\n if (moduleDefinitions.indexOf(moduleDefinition) !== -1) {\n return moduleDefinitions;\n }\n\n moduleDefinitions = (moduleDefinition.__depends__ || []).reduce(resolveDependencies, moduleDefinitions);\n\n if (moduleDefinitions.indexOf(moduleDefinition) !== -1) {\n return moduleDefinitions;\n }\n\n return moduleDefinitions.concat(moduleDefinition);\n }\n\n /**\n * @param {ModuleDefinition[]} moduleDefinitions\n *\n * @return { () => void } initializerFn\n */\n function bootstrap(moduleDefinitions) {\n\n const initializers = moduleDefinitions\n .reduce(resolveDependencies, [])\n .map(loadModule);\n\n let initialized = false;\n\n return function() {\n\n if (initialized) {\n return;\n }\n\n initialized = true;\n\n initializers.forEach(initializer => initializer());\n };\n }\n\n // public API\n this.get = get;\n this.invoke = invoke;\n this.instantiate = instantiate;\n this.createChild = createChild;\n\n // setup\n this.init = bootstrap(modules);\n}\n\n\n// helpers ///////////////\n\nfunction arrayUnwrap(type, value) {\n if (type !== 'value' && isArray(value)) {\n value = annotate(value.slice());\n }\n\n return value;\n}\n\nexport { Injector, annotate, parseAnnotations };\n//# sourceMappingURL=index.js.map\n","var DEFAULT_RENDER_PRIORITY = 1000;\n\n/**\n * @typedef {import('../core/Types').ElementLike} Element\n * @typedef {import('../core/Types').ConnectionLike} Connection\n * @typedef {import('../core/Types').ShapeLike} Shape\n *\n * @typedef {import('../core/EventBus').default} EventBus\n */\n\n/**\n * The base implementation of shape and connection renderers.\n *\n * @param {EventBus} eventBus\n * @param {number} [renderPriority=1000]\n */\nexport default function BaseRenderer(eventBus, renderPriority) {\n var self = this;\n\n renderPriority = renderPriority || DEFAULT_RENDER_PRIORITY;\n\n eventBus.on([ 'render.shape', 'render.connection' ], renderPriority, function(evt, context) {\n var type = evt.type,\n element = context.element,\n visuals = context.gfx,\n attrs = context.attrs;\n\n if (self.canRender(element)) {\n if (type === 'render.shape') {\n return self.drawShape(visuals, element, attrs);\n } else {\n return self.drawConnection(visuals, element, attrs);\n }\n }\n });\n\n eventBus.on([ 'render.getShapePath', 'render.getConnectionPath' ], renderPriority, function(evt, element) {\n if (self.canRender(element)) {\n if (evt.type === 'render.getShapePath') {\n return self.getShapePath(element);\n } else {\n return self.getConnectionPath(element);\n }\n }\n });\n}\n\n/**\n * Checks whether an element can be rendered.\n *\n * @param {Element} element The element to be rendered.\n *\n * @return {boolean} Whether the element can be rendered.\n */\nBaseRenderer.prototype.canRender = function(element) {};\n\n/**\n * Draws a shape.\n *\n * @param {SVGElement} visuals The SVG element to draw the shape into.\n * @param {Shape} shape The shape to be drawn.\n *\n * @return {SVGElement} The SVG element of the shape drawn.\n */\nBaseRenderer.prototype.drawShape = function(visuals, shape) {};\n\n/**\n * Draws a connection.\n *\n * @param {SVGElement} visuals The SVG element to draw the connection into.\n * @param {Connection} connection The connection to be drawn.\n *\n * @return {SVGElement} The SVG element of the connection drawn.\n */\nBaseRenderer.prototype.drawConnection = function(visuals, connection) {};\n\n/**\n * Gets the SVG path of the graphical representation of a shape.\n *\n * @param {Shape} shape The shape.\n *\n * @return {string} The SVG path of the shape.\n */\nBaseRenderer.prototype.getShapePath = function(shape) {};\n\n/**\n * Gets the SVG path of the graphical representation of a connection.\n *\n * @param {Connection} connection The connection.\n *\n * @return {string} The SVG path of the connection.\n */\nBaseRenderer.prototype.getConnectionPath = function(connection) {};\n","import {\n isNumber\n} from 'min-dash';\n\nimport {\n attr as svgAttr,\n create as svgCreate\n} from 'tiny-svg';\n\n\n/**\n * @typedef {(string|number)[]} Component\n *\n * @typedef {import('../util/Types').Point} Point\n */\n\n/**\n * @param {Component[] | Component[][]} elements\n *\n * @return {string}\n */\nexport function componentsToPath(elements) {\n return elements.flat().join(',').replace(/,?([A-z]),?/g, '$1');\n}\n\n/**\n * @param {Point[]} points\n *\n * @return {string}\n */\nexport function toSVGPoints(points) {\n var result = '';\n\n for (var i = 0, p; (p = points[i]); i++) {\n result += p.x + ',' + p.y + ' ';\n }\n\n return result;\n}\n\n/**\n * @param {Point} point\n *\n * @return {Component[]}\n */\nfunction move(point) {\n return [ 'M', point.x, point.y ];\n}\n\n/**\n * @param {Point} point\n *\n * @return {Component[]}\n */\nfunction lineTo(point) {\n return [ 'L', point.x, point.y ];\n}\n\n/**\n * @param {Point} p1\n * @param {Point} p2\n * @param {Point} p3\n *\n * @return {Component[]}\n */\nfunction curveTo(p1, p2, p3) {\n return [ 'C', p1.x, p1.y, p2.x, p2.y, p3.x, p3.y ];\n}\n\n/**\n * @param {Point[]} waypoints\n * @param {number} [cornerRadius]\n * @return {Component[][]}\n */\nfunction drawPath(waypoints, cornerRadius) {\n const pointCount = waypoints.length;\n\n const path = [ move(waypoints[0]) ];\n\n for (let i = 1; i < pointCount; i++) {\n\n const pointBefore = waypoints[i - 1];\n const point = waypoints[i];\n const pointAfter = waypoints[i + 1];\n\n if (!pointAfter || !cornerRadius) {\n path.push(lineTo(point));\n\n continue;\n }\n\n const effectiveRadius = Math.min(\n cornerRadius,\n vectorLength(point.x - pointBefore.x, point.y - pointBefore.y),\n vectorLength(pointAfter.x - point.x, pointAfter.y - point.y)\n );\n\n if (!effectiveRadius) {\n path.push(lineTo(point));\n\n continue;\n }\n\n const beforePoint = getPointAtLength(point, pointBefore, effectiveRadius);\n const beforePoint2 = getPointAtLength(point, pointBefore, effectiveRadius * .5);\n\n const afterPoint = getPointAtLength(point, pointAfter, effectiveRadius);\n const afterPoint2 = getPointAtLength(point, pointAfter, effectiveRadius * .5);\n\n path.push(lineTo(beforePoint));\n path.push(curveTo(beforePoint2, afterPoint2, afterPoint));\n }\n\n return path;\n}\n\nfunction getPointAtLength(start, end, length) {\n\n const deltaX = end.x - start.x;\n const deltaY = end.y - start.y;\n\n const totalLength = vectorLength(deltaX, deltaY);\n\n const percent = length / totalLength;\n\n return {\n x: start.x + deltaX * percent,\n y: start.y + deltaY * percent\n };\n}\n\nfunction vectorLength(x, y) {\n return Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));\n}\n\n/**\n * @param {Point[]} points\n * @param {number|Object} [attrs]\n * @param {number} [radius]\n *\n * @return {SVGElement}\n */\nexport function createLine(points, attrs, radius) {\n\n if (isNumber(attrs)) {\n radius = attrs;\n attrs = null;\n }\n\n if (!attrs) {\n attrs = {};\n }\n\n const line = svgCreate('path', attrs);\n\n if (isNumber(radius)) {\n line.dataset.cornerRadius = String(radius);\n }\n\n return updateLine(line, points);\n}\n\n/**\n * @param {SVGElement} gfx\n * @param {Point[]} points\n *\n * @return {SVGElement}\n */\nexport function updateLine(gfx, points) {\n\n const cornerRadius = parseInt(gfx.dataset.cornerRadius, 10) || 0;\n\n svgAttr(gfx, {\n d: componentsToPath(drawPath(points, cornerRadius))\n });\n\n return gfx;\n}\n","import {\n assign,\n filter,\n find,\n isArray,\n isNumber,\n isObject,\n isUndefined,\n groupBy,\n forEach\n} from 'min-dash';\n\n/**\n * @typedef {import('../model/Types').Connection} Connection\n * @typedef {import('../model/Types').Element} Element\n * @typedef {import('../model/Types').Shape} Shape\n *\n * @typedef {import('../util/Types').Rect} Rect\n *\n * @typedef { {\n * allShapes: Record,\n * allConnections: Record,\n * topLevel: Record,\n * enclosedConnections: Record,\n * enclosedElements: Record\n * } } Closure\n */\n\n/**\n * Get parent elements.\n *\n * @param {Element[]} elements\n *\n * @return {Element[]}\n */\nexport function getParents(elements) {\n\n // find elements that are not children of any other elements\n return filter(elements, function(element) {\n return !find(elements, function(e) {\n return e !== element && getParent(element, e);\n });\n });\n}\n\n\nfunction getParent(element, parent) {\n if (!parent) {\n return;\n }\n\n if (element === parent) {\n return parent;\n }\n\n if (!element.parent) {\n return;\n }\n\n return getParent(element.parent, parent);\n}\n\n\n/**\n * Adds an element to a collection and returns true if the\n * element was added.\n *\n * @param {Object[]} elements\n * @param {Object} element\n * @param {boolean} [unique]\n */\nexport function add(elements, element, unique) {\n var canAdd = !unique || elements.indexOf(element) === -1;\n\n if (canAdd) {\n elements.push(element);\n }\n\n return canAdd;\n}\n\n\n/**\n * Iterate over each element in a collection, calling the iterator function `fn`\n * with (element, index, recursionDepth).\n *\n * Recurse into all elements that are returned by `fn`.\n *\n * @param {Element|Element[]} elements\n * @param {(element: Element, index: number, depth: number) => Element[] | boolean | undefined} fn\n * @param {number} [depth] maximum recursion depth\n */\nexport function eachElement(elements, fn, depth) {\n\n depth = depth || 0;\n\n if (!isArray(elements)) {\n elements = [ elements ];\n }\n\n forEach(elements, function(s, i) {\n var filter = fn(s, i, depth);\n\n if (isArray(filter) && filter.length) {\n eachElement(filter, fn, depth + 1);\n }\n });\n}\n\n\n/**\n * Collects self + child elements up to a given depth from a list of elements.\n *\n * @param {Element|Element[]} elements the elements to select the children from\n * @param {boolean} unique whether to return a unique result set (no duplicates)\n * @param {number} maxDepth the depth to search through or -1 for infinite\n *\n * @return {Element[]} found elements\n */\nexport function selfAndChildren(elements, unique, maxDepth) {\n var result = [],\n processedChildren = [];\n\n eachElement(elements, function(element, i, depth) {\n add(result, element, unique);\n\n var children = element.children;\n\n // max traversal depth not reached yet\n if (maxDepth === -1 || depth < maxDepth) {\n\n // children exist && children not yet processed\n if (children && add(processedChildren, children, unique)) {\n return children;\n }\n }\n });\n\n return result;\n}\n\n/**\n * Return self + direct children for a number of elements\n *\n * @param {Element[]} elements to query\n * @param {boolean} [allowDuplicates] to allow duplicates in the result set\n *\n * @return {Element[]} the collected elements\n */\nexport function selfAndDirectChildren(elements, allowDuplicates) {\n return selfAndChildren(elements, !allowDuplicates, 1);\n}\n\n\n/**\n * Return self + ALL children for a number of elements\n *\n * @param {Element[]} elements to query\n * @param {boolean} [allowDuplicates] to allow duplicates in the result set\n *\n * @return {Element[]} the collected elements\n */\nexport function selfAndAllChildren(elements, allowDuplicates) {\n return selfAndChildren(elements, !allowDuplicates, -1);\n}\n\n\n/**\n * Gets the the closure for all selected elements,\n * their enclosed children and connections.\n *\n * @param {Element[]} elements\n * @param {boolean} [isTopLevel=true]\n * @param {Closure} [closure]\n *\n * @return {Closure} newClosure\n */\nexport function getClosure(elements, isTopLevel, closure) {\n\n if (isUndefined(isTopLevel)) {\n isTopLevel = true;\n }\n\n if (isObject(isTopLevel)) {\n closure = isTopLevel;\n isTopLevel = true;\n }\n\n\n closure = closure || {};\n\n var allShapes = copyObject(closure.allShapes),\n allConnections = copyObject(closure.allConnections),\n enclosedElements = copyObject(closure.enclosedElements),\n enclosedConnections = copyObject(closure.enclosedConnections);\n\n var topLevel = copyObject(\n closure.topLevel,\n isTopLevel && groupBy(elements, function(e) { return e.id; })\n );\n\n\n function handleConnection(c) {\n if (topLevel[c.source.id] && topLevel[c.target.id]) {\n topLevel[c.id] = [ c ];\n }\n\n // not enclosed as a child, but maybe logically\n // (connecting two moved elements?)\n if (allShapes[c.source.id] && allShapes[c.target.id]) {\n enclosedConnections[c.id] = enclosedElements[c.id] = c;\n }\n\n allConnections[c.id] = c;\n }\n\n function handleElement(element) {\n\n enclosedElements[element.id] = element;\n\n if (element.waypoints) {\n\n // remember connection\n enclosedConnections[element.id] = allConnections[element.id] = element;\n } else {\n\n // remember shape\n allShapes[element.id] = element;\n\n // remember all connections\n forEach(element.incoming, handleConnection);\n\n forEach(element.outgoing, handleConnection);\n\n // recurse into children\n return element.children;\n }\n }\n\n eachElement(elements, handleElement);\n\n return {\n allShapes: allShapes,\n allConnections: allConnections,\n topLevel: topLevel,\n enclosedConnections: enclosedConnections,\n enclosedElements: enclosedElements\n };\n}\n\n/**\n * Returns the surrounding bbox for all elements in\n * the array or the element primitive.\n *\n * @param {Element|Element[]} elements\n * @param {boolean} [stopRecursion=false]\n *\n * @return {Rect}\n */\nexport function getBBox(elements, stopRecursion) {\n\n stopRecursion = !!stopRecursion;\n if (!isArray(elements)) {\n elements = [ elements ];\n }\n\n var minX,\n minY,\n maxX,\n maxY;\n\n forEach(elements, function(element) {\n\n // If element is a connection the bbox must be computed first\n var bbox = element;\n if (element.waypoints && !stopRecursion) {\n bbox = getBBox(element.waypoints, true);\n }\n\n var x = bbox.x,\n y = bbox.y,\n height = bbox.height || 0,\n width = bbox.width || 0;\n\n if (x < minX || minX === undefined) {\n minX = x;\n }\n if (y < minY || minY === undefined) {\n minY = y;\n }\n\n if ((x + width) > maxX || maxX === undefined) {\n maxX = x + width;\n }\n if ((y + height) > maxY || maxY === undefined) {\n maxY = y + height;\n }\n });\n\n return {\n x: minX,\n y: minY,\n height: maxY - minY,\n width: maxX - minX\n };\n}\n\n\n/**\n * Returns all elements that are enclosed from the bounding box.\n *\n * * If bbox.(width|height) is not specified the method returns\n * all elements with element.x/y > bbox.x/y\n * * If only bbox.x or bbox.y is specified, method return all elements with\n * e.x > bbox.x or e.y > bbox.y\n *\n * @param {Element[]} elements List of Elements to search through\n * @param {Rect} bbox the enclosing bbox.\n *\n * @return {Element[]} enclosed elements\n */\nexport function getEnclosedElements(elements, bbox) {\n\n var filteredElements = {};\n\n forEach(elements, function(element) {\n\n var e = element;\n\n if (e.waypoints) {\n e = getBBox(e);\n }\n\n if (!isNumber(bbox.y) && (e.x > bbox.x)) {\n filteredElements[element.id] = element;\n }\n if (!isNumber(bbox.x) && (e.y > bbox.y)) {\n filteredElements[element.id] = element;\n }\n if (e.x > bbox.x && e.y > bbox.y) {\n if (isNumber(bbox.width) && isNumber(bbox.height) &&\n e.width + e.x < bbox.width + bbox.x &&\n e.height + e.y < bbox.height + bbox.y) {\n\n filteredElements[element.id] = element;\n } else if (!isNumber(bbox.width) || !isNumber(bbox.height)) {\n filteredElements[element.id] = element;\n }\n }\n });\n\n return filteredElements;\n}\n\n/**\n * Get the element's type\n *\n * @param {Element} element\n *\n * @return {'connection' | 'shape' | 'root'}\n */\nexport function getType(element) {\n\n if ('waypoints' in element) {\n return 'connection';\n }\n\n if ('x' in element) {\n return 'shape';\n }\n\n return 'root';\n}\n\n/**\n * @param {Element} element\n *\n * @return {boolean}\n */\nexport function isFrameElement(element) {\n return !!(element && element.isFrame);\n}\n\n// helpers ///////////////////////////////\n\nfunction copyObject(src1, src2) {\n return assign({}, src1 || {}, src2 || {});\n}\n","import inherits from 'inherits-browser';\n\nimport BaseRenderer from './BaseRenderer';\n\nimport {\n componentsToPath,\n createLine\n} from '../util/RenderUtil';\n\nimport {\n append as svgAppend,\n attr as svgAttr,\n create as svgCreate\n} from 'tiny-svg';\n\nimport { assign } from 'min-dash';\n\nimport {\n isFrameElement\n} from '../util/Elements';\n\n/**\n * @typedef {import('../core/EventBus').default} EventBus\n * @typedef {import('./Styles').default} Styles\n */\n\n// apply default renderer with lowest possible priority\n// so that it only kicks in if noone else could render\nvar DEFAULT_RENDER_PRIORITY = 1;\n\n/**\n * The default renderer used for shapes and connections.\n *\n * @param {EventBus} eventBus\n * @param {Styles} styles\n */\nexport default function DefaultRenderer(eventBus, styles) {\n\n BaseRenderer.call(this, eventBus, DEFAULT_RENDER_PRIORITY);\n\n this.CONNECTION_STYLE = styles.style([ 'no-fill' ], { strokeWidth: 5, stroke: 'fuchsia' });\n this.SHAPE_STYLE = styles.style({ fill: 'white', stroke: 'fuchsia', strokeWidth: 2 });\n this.FRAME_STYLE = styles.style([ 'no-fill' ], { stroke: 'fuchsia', strokeDasharray: 4, strokeWidth: 2 });\n}\n\ninherits(DefaultRenderer, BaseRenderer);\n\n\n/**\n * @private\n */\nDefaultRenderer.prototype.canRender = function() {\n return true;\n};\n\n/**\n * @private\n */\nDefaultRenderer.prototype.drawShape = function drawShape(visuals, element, attrs) {\n var rect = svgCreate('rect');\n\n svgAttr(rect, {\n x: 0,\n y: 0,\n width: element.width || 0,\n height: element.height || 0\n });\n\n if (isFrameElement(element)) {\n svgAttr(rect, assign({}, this.FRAME_STYLE, attrs || {}));\n } else {\n svgAttr(rect, assign({}, this.SHAPE_STYLE, attrs || {}));\n }\n\n svgAppend(visuals, rect);\n\n return rect;\n};\n\n/**\n * @private\n */\nDefaultRenderer.prototype.drawConnection = function drawConnection(visuals, connection, attrs) {\n\n var line = createLine(connection.waypoints, assign({}, this.CONNECTION_STYLE, attrs || {}));\n svgAppend(visuals, line);\n\n return line;\n};\n\n/**\n * @private\n */\nDefaultRenderer.prototype.getShapePath = function getShapePath(shape) {\n\n var x = shape.x,\n y = shape.y,\n width = shape.width,\n height = shape.height;\n\n var shapePath = [\n [ 'M', x, y ],\n [ 'l', width, 0 ],\n [ 'l', 0, height ],\n [ 'l', -width, 0 ],\n [ 'z' ]\n ];\n\n return componentsToPath(shapePath);\n};\n\n/**\n * @private\n */\nDefaultRenderer.prototype.getConnectionPath = function getConnectionPath(connection) {\n var waypoints = connection.waypoints;\n\n var idx, point, connectionPath = [];\n\n for (idx = 0; (point = waypoints[idx]); idx++) {\n\n // take invisible docking into account\n // when creating the path\n point = point.original || point;\n\n connectionPath.push([ idx === 0 ? 'M' : 'L', point.x, point.y ]);\n }\n\n return componentsToPath(connectionPath);\n};\n\nDefaultRenderer.$inject = [ 'eventBus', 'styles' ];\n","import DefaultRenderer from './DefaultRenderer';\nimport Styles from './Styles';\n\n/**\n * @type { import('didi').ModuleDeclaration }\n */\nexport default {\n __init__: [ 'defaultRenderer' ],\n defaultRenderer: [ 'type', DefaultRenderer ],\n styles: [ 'type', Styles ]\n};\n","import {\n isArray,\n assign,\n reduce\n} from 'min-dash';\n\n\n/**\n * A component that manages shape styles\n */\nexport default function Styles() {\n\n var defaultTraits = {\n\n 'no-fill': {\n fill: 'none'\n },\n 'no-border': {\n strokeOpacity: 0.0\n },\n 'no-events': {\n pointerEvents: 'none'\n }\n };\n\n var self = this;\n\n /**\n * Builds a style definition from a className, a list of traits and an object\n * of additional attributes.\n *\n * @param {string} className\n * @param {string[]} [traits]\n * @param {Object} [additionalAttrs]\n *\n * @return {Object} the style definition\n */\n this.cls = function(className, traits, additionalAttrs) {\n var attrs = this.style(traits, additionalAttrs);\n\n return assign(attrs, { 'class': className });\n };\n\n /**\n * Builds a style definition from a list of traits and an object of additional\n * attributes.\n *\n * @param {string[]} [traits]\n * @param {Object} additionalAttrs\n *\n * @return {Object} the style definition\n */\n this.style = function(traits, additionalAttrs) {\n\n if (!isArray(traits) && !additionalAttrs) {\n additionalAttrs = traits;\n traits = [];\n }\n\n var attrs = reduce(traits, function(attrs, t) {\n return assign(attrs, defaultTraits[t] || {});\n }, {});\n\n return additionalAttrs ? assign(attrs, additionalAttrs) : attrs;\n };\n\n\n /**\n * Computes a style definition from a list of traits and an object of\n * additional attributes, with custom style definition object.\n *\n * @param {Object} custom\n * @param {string[]} [traits]\n * @param {Object} defaultStyles\n *\n * @return {Object} the style definition\n */\n this.computeStyle = function(custom, traits, defaultStyles) {\n if (!isArray(traits)) {\n defaultStyles = traits;\n traits = [];\n }\n\n return self.style(traits || [], assign({}, defaultStyles, custom || {}));\n };\n}\n","/**\n * Failsafe remove an element from a collection\n *\n * @param {Array} [collection]\n * @param {Object} [element]\n *\n * @return {number} the previous index of the element\n */\nexport function remove(collection, element) {\n\n if (!collection || !element) {\n return -1;\n }\n\n var idx = collection.indexOf(element);\n\n if (idx !== -1) {\n collection.splice(idx, 1);\n }\n\n return idx;\n}\n\n/**\n * Fail save add an element to the given connection, ensuring\n * it does not yet exist.\n *\n * @param {Array} collection\n * @param {Object} element\n * @param {number} [idx]\n */\nexport function add(collection, element, idx) {\n\n if (!collection || !element) {\n return;\n }\n\n if (typeof idx !== 'number') {\n idx = -1;\n }\n\n var currentIdx = collection.indexOf(element);\n\n if (currentIdx !== -1) {\n\n if (currentIdx === idx) {\n\n // nothing to do, position has not changed\n return;\n } else {\n\n if (idx !== -1) {\n\n // remove from current position\n collection.splice(currentIdx, 1);\n } else {\n\n // already exists in collection\n return;\n }\n }\n }\n\n if (idx !== -1) {\n\n // insert at specified position\n collection.splice(idx, 0, element);\n } else {\n\n // push to end\n collection.push(element);\n }\n}\n\n\n/**\n * Fail save get the index of an element in a collection.\n *\n * @param {Array} collection\n * @param {Object} element\n *\n * @return {number} the index or -1 if collection or element do\n * not exist or the element is not contained.\n */\nexport function indexOf(collection, element) {\n\n if (!collection || !element) {\n return -1;\n }\n\n return collection.indexOf(element);\n}\n","import {\n every\n} from 'min-dash';\n\n/**\n * @typedef {import('../util/Types').Axis} Axis\n * @typedef {import('../util/Types').Point} Point\n * @typedef {import('../util/Types').Rect} Rect\n */\n\n/**\n * Computes the distance between two points.\n *\n * @param {Point} a\n * @param {Point} b\n *\n * @return {number} The distance between the two points.\n */\nexport function pointDistance(a, b) {\n if (!a || !b) {\n return -1;\n }\n\n return Math.sqrt(\n Math.pow(a.x - b.x, 2) +\n Math.pow(a.y - b.y, 2)\n );\n}\n\n\n/**\n * Returns true if the point r is on the line between p and q.\n *\n * @param {Point} p\n * @param {Point} q\n * @param {Point} r\n * @param {number} [accuracy=5] The accuracy with which to check (lower is better).\n *\n * @return {boolean}\n */\nexport function pointsOnLine(p, q, r, accuracy) {\n\n if (typeof accuracy === 'undefined') {\n accuracy = 5;\n }\n\n if (!p || !q || !r) {\n return false;\n }\n\n var val = (q.x - p.x) * (r.y - p.y) - (q.y - p.y) * (r.x - p.x),\n dist = pointDistance(p, q);\n\n // @see http://stackoverflow.com/a/907491/412190\n return Math.abs(val / dist) <= accuracy;\n}\n\n\nvar ALIGNED_THRESHOLD = 2;\n\n/**\n * Check whether two points are horizontally or vertically aligned.\n *\n * @param {Point[]|Point} a\n * @param {Point} [b]\n *\n * @return {string|boolean} If and how the two points are aligned ('h', 'v' or `false`).\n */\nexport function pointsAligned(a, b) {\n var points = Array.from(arguments).flat();\n\n const axisMap = {\n 'x': 'v',\n 'y': 'h'\n };\n\n for (const [ axis, orientation ] of Object.entries(axisMap)) {\n if (pointsAlignedOnAxis(axis, points)) {\n return orientation;\n }\n }\n\n return false;\n}\n\n/**\n * @param {Axis} axis\n * @param {Point[]} points\n *\n * @return {boolean}\n */\nexport function pointsAlignedOnAxis(axis, points) {\n const referencePoint = points[0];\n\n return every(points, function(point) {\n return Math.abs(referencePoint[axis] - point[axis]) <= ALIGNED_THRESHOLD;\n });\n}\n\n/**\n * Returns true if the point p is inside the rectangle rect\n *\n * @param {Point} p\n * @param {Rect} rect\n * @param {number} tolerance\n *\n * @return {boolean}\n */\nexport function pointInRect(p, rect, tolerance) {\n tolerance = tolerance || 0;\n\n return p.x > rect.x - tolerance &&\n p.y > rect.y - tolerance &&\n p.x < rect.x + rect.width + tolerance &&\n p.y < rect.y + rect.height + tolerance;\n}\n\n/**\n * Returns a point in the middle of points p and q\n *\n * @param {Point} p\n * @param {Point} q\n *\n * @return {Point} The mid point between the two points.\n */\nexport function getMidPoint(p, q) {\n return {\n x: Math.round(p.x + ((q.x - p.x) / 2.0)),\n y: Math.round(p.y + ((q.y - p.y) / 2.0))\n };\n}\n","/**\n * This file contains source code adapted from Snap.svg (licensed Apache-2.0).\n *\n * @see https://github.com/adobe-webplatform/Snap.svg/blob/master/src/path.js\n */\n\n/* eslint no-fallthrough: \"off\" */\n\nvar p2s = /,?([a-z]),?/gi,\n toFloat = parseFloat,\n math = Math,\n PI = math.PI,\n mmin = math.min,\n mmax = math.max,\n pow = math.pow,\n abs = math.abs,\n pathCommand = /([a-z])[\\s,]*((-?\\d*\\.?\\d*(?:e[-+]?\\d+)?[\\s]*,?[\\s]*)+)/ig,\n pathValues = /(-?\\d*\\.?\\d*(?:e[-+]?\\d+)?)[\\s]*,?[\\s]*/ig;\n\nvar isArray = Array.isArray || function(o) { return o instanceof Array; };\n\nfunction hasProperty(obj, property) {\n return Object.prototype.hasOwnProperty.call(obj, property);\n}\n\nfunction clone(obj) {\n\n if (typeof obj == 'function' || Object(obj) !== obj) {\n return obj;\n }\n\n var res = new obj.constructor;\n\n for (var key in obj) {\n if (hasProperty(obj, key)) {\n res[key] = clone(obj[key]);\n }\n }\n\n return res;\n}\n\nfunction repush(array, item) {\n for (var i = 0, ii = array.length; i < ii; i++) if (array[i] === item) {\n return array.push(array.splice(i, 1)[0]);\n }\n}\n\nfunction cacher(f) {\n\n function newf() {\n\n var arg = Array.prototype.slice.call(arguments, 0),\n args = arg.join('\\u2400'),\n cache = newf.cache = newf.cache || {},\n count = newf.count = newf.count || [];\n\n if (hasProperty(cache, args)) {\n repush(count, args);\n return cache[args];\n }\n\n count.length >= 1e3 && delete cache[count.shift()];\n count.push(args);\n cache[args] = f(...arguments);\n\n return cache[args];\n }\n return newf;\n}\n\nfunction parsePathString(pathString) {\n\n if (!pathString) {\n return null;\n }\n\n var pth = paths(pathString);\n\n if (pth.arr) {\n return clone(pth.arr);\n }\n\n var paramCounts = { a: 7, c: 6, h: 1, l: 2, m: 2, q: 4, s: 4, t: 2, v: 1, z: 0 },\n data = [];\n\n if (isArray(pathString) && isArray(pathString[0])) { // rough assumption\n data = clone(pathString);\n }\n\n if (!data.length) {\n\n String(pathString).replace(pathCommand, function(a, b, c) {\n var params = [],\n name = b.toLowerCase();\n\n c.replace(pathValues, function(a, b) {\n b && params.push(+b);\n });\n\n if (name == 'm' && params.length > 2) {\n data.push([ b, ...params.splice(0, 2) ]);\n name = 'l';\n b = b == 'm' ? 'l' : 'L';\n }\n\n while (params.length >= paramCounts[name]) {\n data.push([ b, ...params.splice(0, paramCounts[name]) ]);\n if (!paramCounts[name]) {\n break;\n }\n }\n });\n }\n\n data.toString = paths.toString;\n pth.arr = clone(data);\n\n return data;\n}\n\nfunction paths(ps) {\n var p = paths.ps = paths.ps || {};\n\n if (p[ps]) {\n p[ps].sleep = 100;\n } else {\n p[ps] = {\n sleep: 100\n };\n }\n\n setTimeout(function() {\n for (var key in p) {\n if (hasProperty(p, key) && key != ps) {\n p[key].sleep--;\n !p[key].sleep && delete p[key];\n }\n }\n });\n\n return p[ps];\n}\n\nfunction rectBBox(x, y, width, height) {\n\n if (arguments.length === 1) {\n y = x.y;\n width = x.width;\n height = x.height;\n x = x.x;\n }\n\n return {\n x: x,\n y: y,\n width: width,\n height: height,\n x2: x + width,\n y2: y + height\n };\n}\n\nfunction pathToString() {\n return this.join(',').replace(p2s, '$1');\n}\n\nfunction pathClone(pathArray) {\n var res = clone(pathArray);\n res.toString = pathToString;\n return res;\n}\n\nfunction findDotsAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t) {\n var t1 = 1 - t,\n t13 = pow(t1, 3),\n t12 = pow(t1, 2),\n t2 = t * t,\n t3 = t2 * t,\n x = t13 * p1x + t12 * 3 * t * c1x + t1 * 3 * t * t * c2x + t3 * p2x,\n y = t13 * p1y + t12 * 3 * t * c1y + t1 * 3 * t * t * c2y + t3 * p2y;\n\n return {\n x: fixError(x),\n y: fixError(y)\n };\n}\n\nfunction bezierBBox(points) {\n\n var bbox = curveBBox(...points);\n\n return rectBBox(\n bbox.x0,\n bbox.y0,\n bbox.x1 - bbox.x0,\n bbox.y1 - bbox.y0\n );\n}\n\nfunction isPointInsideBBox(bbox, x, y) {\n return x >= bbox.x &&\n x <= bbox.x + bbox.width &&\n y >= bbox.y &&\n y <= bbox.y + bbox.height;\n}\n\nfunction isBBoxIntersect(bbox1, bbox2) {\n bbox1 = rectBBox(bbox1);\n bbox2 = rectBBox(bbox2);\n return isPointInsideBBox(bbox2, bbox1.x, bbox1.y)\n || isPointInsideBBox(bbox2, bbox1.x2, bbox1.y)\n || isPointInsideBBox(bbox2, bbox1.x, bbox1.y2)\n || isPointInsideBBox(bbox2, bbox1.x2, bbox1.y2)\n || isPointInsideBBox(bbox1, bbox2.x, bbox2.y)\n || isPointInsideBBox(bbox1, bbox2.x2, bbox2.y)\n || isPointInsideBBox(bbox1, bbox2.x, bbox2.y2)\n || isPointInsideBBox(bbox1, bbox2.x2, bbox2.y2)\n || (bbox1.x < bbox2.x2 && bbox1.x > bbox2.x\n || bbox2.x < bbox1.x2 && bbox2.x > bbox1.x)\n && (bbox1.y < bbox2.y2 && bbox1.y > bbox2.y\n || bbox2.y < bbox1.y2 && bbox2.y > bbox1.y);\n}\n\nfunction base3(t, p1, p2, p3, p4) {\n var t1 = -3 * p1 + 9 * p2 - 9 * p3 + 3 * p4,\n t2 = t * t1 + 6 * p1 - 12 * p2 + 6 * p3;\n return t * t2 - 3 * p1 + 3 * p2;\n}\n\nfunction bezlen(x1, y1, x2, y2, x3, y3, x4, y4, z) {\n\n if (z == null) {\n z = 1;\n }\n\n z = z > 1 ? 1 : z < 0 ? 0 : z;\n\n var z2 = z / 2,\n n = 12,\n Tvalues = [ -.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816 ],\n Cvalues = [ 0.2491,0.2491,0.2335,0.2335,0.2032,0.2032,0.1601,0.1601,0.1069,0.1069,0.0472,0.0472 ],\n sum = 0;\n\n for (var i = 0; i < n; i++) {\n var ct = z2 * Tvalues[i] + z2,\n xbase = base3(ct, x1, x2, x3, x4),\n ybase = base3(ct, y1, y2, y3, y4),\n comb = xbase * xbase + ybase * ybase;\n\n sum += Cvalues[i] * math.sqrt(comb);\n }\n\n return z2 * sum;\n}\n\n\nfunction intersectLines(x1, y1, x2, y2, x3, y3, x4, y4) {\n\n if (\n mmax(x1, x2) < mmin(x3, x4) ||\n mmin(x1, x2) > mmax(x3, x4) ||\n mmax(y1, y2) < mmin(y3, y4) ||\n mmin(y1, y2) > mmax(y3, y4)\n ) {\n return;\n }\n\n var nx = (x1 * y2 - y1 * x2) * (x3 - x4) - (x1 - x2) * (x3 * y4 - y3 * x4),\n ny = (x1 * y2 - y1 * x2) * (y3 - y4) - (y1 - y2) * (x3 * y4 - y3 * x4),\n denominator = (x1 - x2) * (y3 - y4) - (y1 - y2) * (x3 - x4);\n\n if (!denominator) {\n return;\n }\n\n var px = fixError(nx / denominator),\n py = fixError(ny / denominator),\n px2 = +px.toFixed(2),\n py2 = +py.toFixed(2);\n\n if (\n px2 < +mmin(x1, x2).toFixed(2) ||\n px2 > +mmax(x1, x2).toFixed(2) ||\n px2 < +mmin(x3, x4).toFixed(2) ||\n px2 > +mmax(x3, x4).toFixed(2) ||\n py2 < +mmin(y1, y2).toFixed(2) ||\n py2 > +mmax(y1, y2).toFixed(2) ||\n py2 < +mmin(y3, y4).toFixed(2) ||\n py2 > +mmax(y3, y4).toFixed(2)\n ) {\n return;\n }\n\n return { x: px, y: py };\n}\n\nfunction fixError(number) {\n return Math.round(number * 100000000000) / 100000000000;\n}\n\nfunction findBezierIntersections(bez1, bez2, justCount) {\n var bbox1 = bezierBBox(bez1),\n bbox2 = bezierBBox(bez2);\n\n if (!isBBoxIntersect(bbox1, bbox2)) {\n return justCount ? 0 : [];\n }\n\n // As an optimization, lines will have only 1 segment\n\n var l1 = bezlen(...bez1),\n l2 = bezlen(...bez2),\n n1 = isLine(bez1) ? 1 : ~~(l1 / 5) || 1,\n n2 = isLine(bez2) ? 1 : ~~(l2 / 5) || 1,\n dots1 = [],\n dots2 = [],\n xy = {},\n res = justCount ? 0 : [];\n\n for (var i = 0; i < n1 + 1; i++) {\n var p = findDotsAtSegment(...bez1, i / n1);\n dots1.push({ x: p.x, y: p.y, t: i / n1 });\n }\n\n for (i = 0; i < n2 + 1; i++) {\n p = findDotsAtSegment(...bez2, i / n2);\n dots2.push({ x: p.x, y: p.y, t: i / n2 });\n }\n\n for (i = 0; i < n1; i++) {\n\n for (var j = 0; j < n2; j++) {\n var di = dots1[i],\n di1 = dots1[i + 1],\n dj = dots2[j],\n dj1 = dots2[j + 1],\n ci = abs(di1.x - di.x) < .01 ? 'y' : 'x',\n cj = abs(dj1.x - dj.x) < .01 ? 'y' : 'x',\n is = intersectLines(di.x, di.y, di1.x, di1.y, dj.x, dj.y, dj1.x, dj1.y),\n key;\n\n if (is) {\n key = is.x.toFixed(9) + '#' + is.y.toFixed(9);\n\n if (xy[key]) {\n continue;\n }\n\n xy[key] = true;\n\n var t1 = di.t + abs((is[ci] - di[ci]) / (di1[ci] - di[ci])) * (di1.t - di.t),\n t2 = dj.t + abs((is[cj] - dj[cj]) / (dj1[cj] - dj[cj])) * (dj1.t - dj.t);\n\n if (t1 >= 0 && t1 <= 1 && t2 >= 0 && t2 <= 1) {\n\n if (justCount) {\n res++;\n } else {\n res.push({\n x: is.x,\n y: is.y,\n t1: t1,\n t2: t2\n });\n }\n }\n }\n }\n }\n\n return res;\n}\n\n\n/**\n * Find or counts the intersections between two SVG paths.\n *\n * Returns a number in counting mode and a list of intersections otherwise.\n *\n * A single intersection entry contains the intersection coordinates (x, y)\n * as well as additional information regarding the intersecting segments\n * on each path (segment1, segment2) and the relative location of the\n * intersection on these segments (t1, t2).\n *\n * The path may be an SVG path string or a list of path components\n * such as `[ [ 'M', 0, 10 ], [ 'L', 20, 0 ] ]`.\n *\n * @example\n *\n * var intersections = findPathIntersections(\n * 'M0,0L100,100',\n * [ [ 'M', 0, 100 ], [ 'L', 100, 0 ] ]\n * );\n *\n * // intersections = [\n * // { x: 50, y: 50, segment1: 1, segment2: 1, t1: 0.5, t2: 0.5 }\n * // ]\n *\n * @param {String|Array} path1\n * @param {String|Array} path2\n * @param {Boolean} [justCount=false]\n *\n * @return {Array|Number}\n */\nexport default function findPathIntersections(path1, path2, justCount) {\n path1 = pathToCurve(path1);\n path2 = pathToCurve(path2);\n\n var x1, y1, x2, y2, x1m, y1m, x2m, y2m, bez1, bez2,\n res = justCount ? 0 : [];\n\n for (var i = 0, ii = path1.length; i < ii; i++) {\n var pi = path1[i];\n\n if (pi[0] == 'M') {\n x1 = x1m = pi[1];\n y1 = y1m = pi[2];\n } else {\n\n if (pi[0] == 'C') {\n bez1 = [ x1, y1, ...pi.slice(1) ];\n x1 = bez1[6];\n y1 = bez1[7];\n } else {\n bez1 = [ x1, y1, x1, y1, x1m, y1m, x1m, y1m ];\n x1 = x1m;\n y1 = y1m;\n }\n\n for (var j = 0, jj = path2.length; j < jj; j++) {\n var pj = path2[j];\n\n if (pj[0] == 'M') {\n x2 = x2m = pj[1];\n y2 = y2m = pj[2];\n } else {\n\n if (pj[0] == 'C') {\n bez2 = [ x2, y2, ...pj.slice(1) ];\n x2 = bez2[6];\n y2 = bez2[7];\n } else {\n bez2 = [ x2, y2, x2, y2, x2m, y2m, x2m, y2m ];\n x2 = x2m;\n y2 = y2m;\n }\n\n var intr = findBezierIntersections(bez1, bez2, justCount);\n\n if (justCount) {\n res += intr;\n } else {\n\n for (var k = 0, kk = intr.length; k < kk; k++) {\n intr[k].segment1 = i;\n intr[k].segment2 = j;\n intr[k].bez1 = bez1;\n intr[k].bez2 = bez2;\n }\n\n res = res.concat(intr);\n }\n }\n }\n }\n }\n\n return res;\n}\n\n\nfunction pathToAbsolute(pathArray) {\n var pth = paths(pathArray);\n\n if (pth.abs) {\n return pathClone(pth.abs);\n }\n\n if (!isArray(pathArray) || !isArray(pathArray && pathArray[0])) { // rough assumption\n pathArray = parsePathString(pathArray);\n }\n\n if (!pathArray || !pathArray.length) {\n return [ [ 'M', 0, 0 ] ];\n }\n\n var res = [],\n x = 0,\n y = 0,\n mx = 0,\n my = 0,\n start = 0,\n pa0;\n\n if (pathArray[0][0] == 'M') {\n x = +pathArray[0][1];\n y = +pathArray[0][2];\n mx = x;\n my = y;\n start++;\n res[0] = [ 'M', x, y ];\n }\n\n for (var r, pa, i = start, ii = pathArray.length; i < ii; i++) {\n res.push(r = []);\n pa = pathArray[i];\n pa0 = pa[0];\n\n if (pa0 != pa0.toUpperCase()) {\n r[0] = pa0.toUpperCase();\n\n switch (r[0]) {\n case 'A':\n r[1] = pa[1];\n r[2] = pa[2];\n r[3] = pa[3];\n r[4] = pa[4];\n r[5] = pa[5];\n r[6] = +pa[6] + x;\n r[7] = +pa[7] + y;\n break;\n case 'V':\n r[1] = +pa[1] + y;\n break;\n case 'H':\n r[1] = +pa[1] + x;\n break;\n case 'M':\n mx = +pa[1] + x;\n my = +pa[2] + y;\n default:\n for (var j = 1, jj = pa.length; j < jj; j++) {\n r[j] = +pa[j] + ((j % 2) ? x : y);\n }\n }\n } else {\n for (var k = 0, kk = pa.length; k < kk; k++) {\n r[k] = pa[k];\n }\n }\n pa0 = pa0.toUpperCase();\n\n switch (r[0]) {\n case 'Z':\n x = +mx;\n y = +my;\n break;\n case 'H':\n x = r[1];\n break;\n case 'V':\n y = r[1];\n break;\n case 'M':\n mx = r[r.length - 2];\n my = r[r.length - 1];\n default:\n x = r[r.length - 2];\n y = r[r.length - 1];\n }\n }\n\n res.toString = pathToString;\n pth.abs = pathClone(res);\n\n return res;\n}\n\nfunction isLine(bez) {\n return (\n bez[0] === bez[2] &&\n bez[1] === bez[3] &&\n bez[4] === bez[6] &&\n bez[5] === bez[7]\n );\n}\n\nfunction lineToCurve(x1, y1, x2, y2) {\n return [\n x1, y1, x2,\n y2, x2, y2\n ];\n}\n\nfunction qubicToCurve(x1, y1, ax, ay, x2, y2) {\n var _13 = 1 / 3,\n _23 = 2 / 3;\n\n return [\n _13 * x1 + _23 * ax,\n _13 * y1 + _23 * ay,\n _13 * x2 + _23 * ax,\n _13 * y2 + _23 * ay,\n x2,\n y2\n ];\n}\n\nfunction arcToCurve(x1, y1, rx, ry, angle, large_arc_flag, sweep_flag, x2, y2, recursive) {\n\n // for more information of where this math came from visit:\n // http://www.w3.org/TR/SVG11/implnote.html#ArcImplementationNotes\n var _120 = PI * 120 / 180,\n rad = PI / 180 * (+angle || 0),\n res = [],\n xy,\n rotate = cacher(function(x, y, rad) {\n var X = x * math.cos(rad) - y * math.sin(rad),\n Y = x * math.sin(rad) + y * math.cos(rad);\n\n return { x: X, y: Y };\n });\n\n if (!recursive) {\n xy = rotate(x1, y1, -rad);\n x1 = xy.x;\n y1 = xy.y;\n xy = rotate(x2, y2, -rad);\n x2 = xy.x;\n y2 = xy.y;\n\n var x = (x1 - x2) / 2,\n y = (y1 - y2) / 2;\n\n var h = (x * x) / (rx * rx) + (y * y) / (ry * ry);\n\n if (h > 1) {\n h = math.sqrt(h);\n rx = h * rx;\n ry = h * ry;\n }\n\n var rx2 = rx * rx,\n ry2 = ry * ry,\n k = (large_arc_flag == sweep_flag ? -1 : 1) *\n math.sqrt(abs((rx2 * ry2 - rx2 * y * y - ry2 * x * x) / (rx2 * y * y + ry2 * x * x))),\n cx = k * rx * y / ry + (x1 + x2) / 2,\n cy = k * -ry * x / rx + (y1 + y2) / 2,\n f1 = math.asin(((y1 - cy) / ry).toFixed(9)),\n f2 = math.asin(((y2 - cy) / ry).toFixed(9));\n\n f1 = x1 < cx ? PI - f1 : f1;\n f2 = x2 < cx ? PI - f2 : f2;\n f1 < 0 && (f1 = PI * 2 + f1);\n f2 < 0 && (f2 = PI * 2 + f2);\n\n if (sweep_flag && f1 > f2) {\n f1 = f1 - PI * 2;\n }\n if (!sweep_flag && f2 > f1) {\n f2 = f2 - PI * 2;\n }\n } else {\n f1 = recursive[0];\n f2 = recursive[1];\n cx = recursive[2];\n cy = recursive[3];\n }\n\n var df = f2 - f1;\n\n if (abs(df) > _120) {\n var f2old = f2,\n x2old = x2,\n y2old = y2;\n\n f2 = f1 + _120 * (sweep_flag && f2 > f1 ? 1 : -1);\n x2 = cx + rx * math.cos(f2);\n y2 = cy + ry * math.sin(f2);\n res = arcToCurve(x2, y2, rx, ry, angle, 0, sweep_flag, x2old, y2old, [ f2, f2old, cx, cy ]);\n }\n\n df = f2 - f1;\n\n var c1 = math.cos(f1),\n s1 = math.sin(f1),\n c2 = math.cos(f2),\n s2 = math.sin(f2),\n t = math.tan(df / 4),\n hx = 4 / 3 * rx * t,\n hy = 4 / 3 * ry * t,\n m1 = [ x1, y1 ],\n m2 = [ x1 + hx * s1, y1 - hy * c1 ],\n m3 = [ x2 + hx * s2, y2 - hy * c2 ],\n m4 = [ x2, y2 ];\n\n m2[0] = 2 * m1[0] - m2[0];\n m2[1] = 2 * m1[1] - m2[1];\n\n if (recursive) {\n return [ m2, m3, m4 ].concat(res);\n } else {\n res = [ m2, m3, m4 ].concat(res).join().split(',');\n var newres = [];\n\n for (var i = 0, ii = res.length; i < ii; i++) {\n newres[i] = i % 2 ? rotate(res[i - 1], res[i], rad).y : rotate(res[i], res[i + 1], rad).x;\n }\n\n return newres;\n }\n}\n\n// Returns bounding box of cubic bezier curve.\n// Source: http://blog.hackers-cafe.net/2009/06/how-to-calculate-bezier-curves-bounding.html\n// Original version: NISHIO Hirokazu\n// Modifications: https://github.com/timo22345\nfunction curveBBox(x0, y0, x1, y1, x2, y2, x3, y3) {\n var tvalues = [],\n bounds = [ [], [] ],\n a, b, c, t, t1, t2, b2ac, sqrtb2ac;\n\n for (var i = 0; i < 2; ++i) {\n\n if (i == 0) {\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n } else {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n\n if (abs(a) < 1e-12) {\n\n if (abs(b) < 1e-12) {\n continue;\n }\n\n t = -c / b;\n\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n\n continue;\n }\n\n b2ac = b * b - 4 * c * a;\n sqrtb2ac = math.sqrt(b2ac);\n\n if (b2ac < 0) {\n continue;\n }\n\n t1 = (-b + sqrtb2ac) / (2 * a);\n\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n\n t2 = (-b - sqrtb2ac) / (2 * a);\n\n if (0 < t2 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n\n var j = tvalues.length,\n jlen = j,\n mt;\n\n while (j--) {\n t = tvalues[j];\n mt = 1 - t;\n bounds[0][j] = (mt * mt * mt * x0) + (3 * mt * mt * t * x1) + (3 * mt * t * t * x2) + (t * t * t * x3);\n bounds[1][j] = (mt * mt * mt * y0) + (3 * mt * mt * t * y1) + (3 * mt * t * t * y2) + (t * t * t * y3);\n }\n\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n bounds[0].length = bounds[1].length = jlen + 2;\n\n return {\n x0: mmin(...bounds[0]),\n y0: mmin(...bounds[1]),\n x1: mmax(...bounds[0]),\n y1: mmax(...bounds[1])\n };\n}\n\nfunction pathToCurve(path) {\n\n var pth = paths(path);\n\n // return cached curve, if existing\n if (pth.curve) {\n return pathClone(pth.curve);\n }\n\n var curvedPath = pathToAbsolute(path),\n attrs = { x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null },\n processPath = function(path, d, pathCommand) {\n var nx, ny;\n\n if (!path) {\n return [ 'C', d.x, d.y, d.x, d.y, d.x, d.y ];\n }\n\n !(path[0] in { T: 1, Q: 1 }) && (d.qx = d.qy = null);\n\n switch (path[0]) {\n case 'M':\n d.X = path[1];\n d.Y = path[2];\n break;\n case 'A':\n path = [ 'C', ...arcToCurve(d.x, d.y, ...path.slice(1)) ];\n break;\n case 'S':\n if (pathCommand == 'C' || pathCommand == 'S') {\n\n // In 'S' case we have to take into account, if the previous command is C/S.\n nx = d.x * 2 - d.bx;\n\n // And reflect the previous\n ny = d.y * 2 - d.by;\n\n // command's control point relative to the current point.\n }\n else {\n\n // or some else or nothing\n nx = d.x;\n ny = d.y;\n }\n path = [ 'C', nx, ny, ...path.slice(1) ];\n break;\n case 'T':\n if (pathCommand == 'Q' || pathCommand == 'T') {\n\n // In 'T' case we have to take into account, if the previous command is Q/T.\n d.qx = d.x * 2 - d.qx;\n\n // And make a reflection similar\n d.qy = d.y * 2 - d.qy;\n\n // to case 'S'.\n }\n else {\n\n // or something else or nothing\n d.qx = d.x;\n d.qy = d.y;\n }\n path = [ 'C', ...qubicToCurve(d.x, d.y, d.qx, d.qy, path[1], path[2]) ];\n break;\n case 'Q':\n d.qx = path[1];\n d.qy = path[2];\n path = [ 'C', ...qubicToCurve(d.x, d.y, path[1], path[2], path[3], path[4]) ];\n break;\n case 'L':\n path = [ 'C', ...lineToCurve(d.x, d.y, path[1], path[2]) ];\n break;\n case 'H':\n path = [ 'C', ...lineToCurve(d.x, d.y, path[1], d.y) ];\n break;\n case 'V':\n path = [ 'C', ...lineToCurve(d.x, d.y, d.x, path[1]) ];\n break;\n case 'Z':\n path = [ 'C', ...lineToCurve(d.x, d.y, d.X, d.Y) ];\n break;\n }\n\n return path;\n },\n\n fixArc = function(pp, i) {\n\n if (pp[i].length > 7) {\n pp[i].shift();\n var pi = pp[i];\n\n while (pi.length) {\n pathCommands[i] = 'A'; // if created multiple C:s, their original seg is saved\n pp.splice(i++, 0, [ 'C', ...pi.splice(0, 6) ]);\n }\n\n pp.splice(i, 1);\n ii = curvedPath.length;\n }\n },\n\n pathCommands = [], // path commands of original path p\n pfirst = '', // temporary holder for original path command\n pathCommand = ''; // holder for previous path command of original path\n\n for (var i = 0, ii = curvedPath.length; i < ii; i++) {\n curvedPath[i] && (pfirst = curvedPath[i][0]); // save current path command\n\n if (pfirst != 'C') // C is not saved yet, because it may be result of conversion\n {\n pathCommands[i] = pfirst; // Save current path command\n i && (pathCommand = pathCommands[i - 1]); // Get previous path command pathCommand\n }\n curvedPath[i] = processPath(curvedPath[i], attrs, pathCommand); // Previous path command is inputted to processPath\n\n if (pathCommands[i] != 'A' && pfirst == 'C') pathCommands[i] = 'C'; // A is the only command\n // which may produce multiple C:s\n // so we have to make sure that C is also C in original path\n\n fixArc(curvedPath, i); // fixArc adds also the right amount of A:s to pathCommands\n\n var seg = curvedPath[i],\n seglen = seg.length;\n\n attrs.x = seg[seglen - 2];\n attrs.y = seg[seglen - 1];\n attrs.bx = toFloat(seg[seglen - 4]) || attrs.x;\n attrs.by = toFloat(seg[seglen - 3]) || attrs.y;\n }\n\n // cache curve\n pth.curve = pathClone(curvedPath);\n\n return curvedPath;\n}","import {\n has,\n isNil,\n isObject\n} from 'min-dash';\n\n/**\n * Checks whether a value is an instance of Connection.\n *\n * @param {any} value\n *\n * @return {boolean}\n */\nexport function isConnection(value) {\n return isObject(value) && has(value, 'waypoints');\n}\n\n/**\n * Checks whether a value is an instance of Label.\n *\n * @param {any} value\n *\n * @return {boolean}\n */\nexport function isLabel(value) {\n return isObject(value) && has(value, 'labelTarget');\n}\n\n/**\n * Checks whether a value is an instance of Root.\n *\n * @param {any} value\n *\n * @return {boolean}\n */\nexport function isRoot(value) {\n return isObject(value) && isNil(value.parent);\n}","import {\n isObject,\n sortBy\n} from 'min-dash';\n\nimport {\n pointDistance,\n pointsOnLine\n} from '../util/Geometry';\n\nimport intersectPaths from 'path-intersection';\n\nimport { isConnection } from '../util/ModelUtil';\n\n/**\n * @typedef {import('../core/Types').ElementLike} Element\n * @typedef {import('../core/Types').ConnectionLike} Connection\n *\n * @typedef {import('../util/Types').DirectionTRBL} DirectionTRBL\n * @typedef {import('../util/Types').Intersection} Intersection\n * @typedef {import('../util/Types').Point} Point\n * @typedef {import('../util/Types').Rect} Rect\n * @typedef {import('../util/Types').RectTRBL} RectTRBL\n */\n\n/**\n * @param {Rect} bounds\n *\n * @returns {Rect}\n */\nexport function roundBounds(bounds) {\n return {\n x: Math.round(bounds.x),\n y: Math.round(bounds.y),\n width: Math.round(bounds.width),\n height: Math.round(bounds.height)\n };\n}\n\n/**\n * @param {Point} point\n *\n * @returns {Point}\n */\nexport function roundPoint(point) {\n\n return {\n x: Math.round(point.x),\n y: Math.round(point.y)\n };\n}\n\n\n/**\n * Convert the given bounds to a { top, left, bottom, right } descriptor.\n *\n * @param {Point|Rect} bounds\n *\n * @return {RectTRBL}\n */\nexport function asTRBL(bounds) {\n return {\n top: bounds.y,\n right: bounds.x + (bounds.width || 0),\n bottom: bounds.y + (bounds.height || 0),\n left: bounds.x\n };\n}\n\n\n/**\n * Convert a { top, left, bottom, right } to an objects bounds.\n *\n * @param {RectTRBL} trbl\n *\n * @return {Rect}\n */\nexport function asBounds(trbl) {\n return {\n x: trbl.left,\n y: trbl.top,\n width: trbl.right - trbl.left,\n height: trbl.bottom - trbl.top\n };\n}\n\n\n/**\n * Get the mid of the given bounds or point.\n *\n * @param {Point|Rect} bounds\n *\n * @return {Point}\n */\nexport function getBoundsMid(bounds) {\n return roundPoint({\n x: bounds.x + (bounds.width || 0) / 2,\n y: bounds.y + (bounds.height || 0) / 2\n });\n}\n\n\n/**\n * Get the mid of the given Connection.\n *\n * @param {Connection} connection\n *\n * @return {Point}\n */\nexport function getConnectionMid(connection) {\n var waypoints = connection.waypoints;\n\n // calculate total length and length of each segment\n var parts = waypoints.reduce(function(parts, point, index) {\n\n var lastPoint = waypoints[index - 1];\n\n if (lastPoint) {\n var lastPart = parts[parts.length - 1];\n\n var startLength = lastPart && lastPart.endLength || 0;\n var length = distance(lastPoint, point);\n\n parts.push({\n start: lastPoint,\n end: point,\n startLength: startLength,\n endLength: startLength + length,\n length: length\n });\n }\n\n return parts;\n }, []);\n\n var totalLength = parts.reduce(function(length, part) {\n return length + part.length;\n }, 0);\n\n // find which segement contains middle point\n var midLength = totalLength / 2;\n\n var i = 0;\n var midSegment = parts[i];\n\n while (midSegment.endLength < midLength) {\n midSegment = parts[++i];\n }\n\n // calculate relative position on mid segment\n var segmentProgress = (midLength - midSegment.startLength) / midSegment.length;\n\n var midPoint = {\n x: midSegment.start.x + (midSegment.end.x - midSegment.start.x) * segmentProgress,\n y: midSegment.start.y + (midSegment.end.y - midSegment.start.y) * segmentProgress\n };\n\n return midPoint;\n}\n\n\n/**\n * Get the mid of the given Element.\n *\n * @param {Element} element\n *\n * @return {Point}\n */\nexport function getMid(element) {\n if (isConnection(element)) {\n return getConnectionMid(element);\n }\n\n return getBoundsMid(element);\n}\n\n// orientation utils //////////////////////\n\n/**\n * Get orientation of the given rectangle with respect to\n * the reference rectangle.\n *\n * A padding (positive or negative) may be passed to influence\n * horizontal / vertical orientation and intersection.\n *\n * @param {Rect} rect\n * @param {Rect} reference\n * @param {Point|number} padding\n *\n * @return {DirectionTRBL|Intersection} the orientation; one of top, top-left, left, ..., bottom, right or intersect.\n */\nexport function getOrientation(rect, reference, padding) {\n\n padding = padding || 0;\n\n // make sure we can use an object, too\n // for individual { x, y } padding\n if (!isObject(padding)) {\n padding = { x: padding, y: padding };\n }\n\n\n var rectOrientation = asTRBL(rect),\n referenceOrientation = asTRBL(reference);\n\n var top = rectOrientation.bottom + padding.y <= referenceOrientation.top,\n right = rectOrientation.left - padding.x >= referenceOrientation.right,\n bottom = rectOrientation.top - padding.y >= referenceOrientation.bottom,\n left = rectOrientation.right + padding.x <= referenceOrientation.left;\n\n var vertical = top ? 'top' : (bottom ? 'bottom' : null),\n horizontal = left ? 'left' : (right ? 'right' : null);\n\n if (horizontal && vertical) {\n return vertical + '-' + horizontal;\n } else {\n return horizontal || vertical || 'intersect';\n }\n}\n\n\n// intersection utils //////////////////////\n\n/**\n * Get intersection between an element and a line path.\n *\n * @param {string} elementPath\n * @param {string} linePath\n * @param {boolean} cropStart Whether to crop start or end.\n *\n * @return {Point}\n */\nexport function getElementLineIntersection(elementPath, linePath, cropStart) {\n\n var intersections = getIntersections(elementPath, linePath);\n\n // recognize intersections\n // only one -> choose\n // two close together -> choose first\n // two or more distinct -> pull out appropriate one\n // none -> ok (fallback to point itself)\n if (intersections.length === 1) {\n return roundPoint(intersections[0]);\n } else if (intersections.length === 2 && pointDistance(intersections[0], intersections[1]) < 1) {\n return roundPoint(intersections[0]);\n } else if (intersections.length > 1) {\n\n // sort by intersections based on connection segment +\n // distance from start\n intersections = sortBy(intersections, function(i) {\n var distance = Math.floor(i.t2 * 100) || 1;\n\n distance = 100 - distance;\n\n distance = (distance < 10 ? '0' : '') + distance;\n\n // create a sort string that makes sure we sort\n // line segment ASC + line segment position DESC (for cropStart)\n // line segment ASC + line segment position ASC (for cropEnd)\n return i.segment2 + '#' + distance;\n });\n\n return roundPoint(intersections[cropStart ? 0 : intersections.length - 1]);\n }\n\n return null;\n}\n\n\nexport function getIntersections(a, b) {\n return intersectPaths(a, b);\n}\n\n\nexport function filterRedundantWaypoints(waypoints) {\n\n // alter copy of waypoints, not original\n waypoints = waypoints.slice();\n\n var idx = 0,\n point,\n previousPoint,\n nextPoint;\n\n while (waypoints[idx]) {\n point = waypoints[idx];\n previousPoint = waypoints[idx - 1];\n nextPoint = waypoints[idx + 1];\n\n if (pointDistance(point, nextPoint) === 0 ||\n pointsOnLine(previousPoint, nextPoint, point)) {\n\n // remove point, if overlapping with {nextPoint}\n // or on line with {previousPoint} -> {point} -> {nextPoint}\n waypoints.splice(idx, 1);\n } else {\n idx++;\n }\n }\n\n return waypoints;\n}\n\n// helpers //////////////////////\n\nfunction distance(a, b) {\n return Math.sqrt(Math.pow(a.x - b.x, 2) + Math.pow(a.y - b.y, 2));\n}","import {\n isNumber,\n assign,\n forEach,\n every,\n debounce,\n bind,\n reduce,\n find\n} from 'min-dash';\n\nimport {\n assignStyle\n} from 'min-dom';\n\nimport {\n add as collectionAdd,\n remove as collectionRemove\n} from '../util/Collections';\n\nimport {\n getType,\n getBBox as getBoundingBox\n} from '../util/Elements';\n\nimport { asTRBL } from '../layout/LayoutUtil';\n\nimport {\n append as svgAppend,\n attr as svgAttr,\n classes as svgClasses,\n create as svgCreate,\n transform as svgTransform,\n remove as svgRemove\n} from 'tiny-svg';\n\nimport { createMatrix as createMatrix } from 'tiny-svg';\n\n\n/**\n * @typedef {import('./Types').ConnectionLike} ConnectionLike\n * @typedef {import('./Types').RootLike} RootLike\n * @typedef {import('./Types').ParentLike } ParentLike\n * @typedef {import('./Types').ShapeLike} ShapeLike\n *\n * @typedef { {\n * container?: HTMLElement;\n * deferUpdate?: boolean;\n * width?: number;\n * height?: number;\n * } } CanvasConfig\n * @typedef { {\n * group: SVGElement;\n * index: number;\n * visible: boolean;\n * } } CanvasLayer\n * @typedef { {\n * [key: string]: CanvasLayer;\n * } } CanvasLayers\n * @typedef { {\n * rootElement: ShapeLike;\n * layer: CanvasLayer;\n * } } CanvasPlane\n * @typedef { {\n * scale: number;\n * inner: Rect;\n * outer: Dimensions;\n * } & Rect } CanvasViewbox\n *\n * @typedef {import('./ElementRegistry').default} ElementRegistry\n * @typedef {import('./EventBus').default} EventBus\n * @typedef {import('./GraphicsFactory').default} GraphicsFactory\n *\n * @typedef {import('../util/Types').Dimensions} Dimensions\n * @typedef {import('../util/Types').Point} Point\n * @typedef {import('../util/Types').Rect} Rect\n * @typedef {import('../util/Types').RectTRBL} RectTRBL\n * @typedef {import('../util/Types').ScrollDelta} ScrollDelta\n */\n\nfunction round(number, resolution) {\n return Math.round(number * resolution) / resolution;\n}\n\nfunction ensurePx(number) {\n return isNumber(number) ? number + 'px' : number;\n}\n\nfunction findRoot(element) {\n while (element.parent) {\n element = element.parent;\n }\n\n return element;\n}\n\n/**\n * Creates a HTML container element for a SVG element with\n * the given configuration\n *\n * @param {CanvasConfig} options\n *\n * @return {HTMLElement} the container element\n */\nfunction createContainer(options) {\n\n options = assign({}, { width: '100%', height: '100%' }, options);\n\n const container = options.container || document.body;\n\n // create a
    around the svg element with the respective size\n // this way we can always get the correct container size\n // (this is impossible for elements at the moment)\n const parent = document.createElement('div');\n parent.setAttribute('class', 'djs-container djs-parent');\n\n assignStyle(parent, {\n position: 'relative',\n overflow: 'hidden',\n width: ensurePx(options.width),\n height: ensurePx(options.height)\n });\n\n container.appendChild(parent);\n\n return parent;\n}\n\nfunction createGroup(parent, cls, childIndex) {\n const group = svgCreate('g');\n svgClasses(group).add(cls);\n\n const index = childIndex !== undefined ? childIndex : parent.childNodes.length - 1;\n\n // must ensure second argument is node or _null_\n // cf. https://developer.mozilla.org/en-US/docs/Web/API/Node/insertBefore\n parent.insertBefore(group, parent.childNodes[index] || null);\n\n return group;\n}\n\nconst BASE_LAYER = 'base';\n\n// render plane contents behind utility layers\nconst PLANE_LAYER_INDEX = 0;\nconst UTILITY_LAYER_INDEX = 1;\n\n\nconst REQUIRED_MODEL_ATTRS = {\n shape: [ 'x', 'y', 'width', 'height' ],\n connection: [ 'waypoints' ]\n};\n\n/**\n * The main drawing canvas.\n *\n * @class\n * @constructor\n *\n * @emits Canvas#canvas.init\n *\n * @param {CanvasConfig|null} config\n * @param {EventBus} eventBus\n * @param {GraphicsFactory} graphicsFactory\n * @param {ElementRegistry} elementRegistry\n */\nexport default function Canvas(config, eventBus, graphicsFactory, elementRegistry) {\n this._eventBus = eventBus;\n this._elementRegistry = elementRegistry;\n this._graphicsFactory = graphicsFactory;\n\n /**\n * @type {number}\n */\n this._rootsIdx = 0;\n\n /**\n * @type {CanvasLayers}\n */\n this._layers = {};\n\n /**\n * @type {CanvasPlane[]}\n */\n this._planes = [];\n\n /**\n * @type {RootLike|null}\n */\n this._rootElement = null;\n\n this._init(config || {});\n}\n\nCanvas.$inject = [\n 'config.canvas',\n 'eventBus',\n 'graphicsFactory',\n 'elementRegistry'\n];\n\n/**\n * Creates a element that is wrapped into a
    .\n * This way we are always able to correctly figure out the size of the svg element\n * by querying the parent node.\n\n * (It is not possible to get the size of a svg element cross browser @ 2014-04-01)\n\n *
    \n * \n * ...\n * \n *
    \n *\n * @param {CanvasConfig} config\n */\nCanvas.prototype._init = function(config) {\n\n const eventBus = this._eventBus;\n\n // html container\n const container = this._container = createContainer(config);\n\n const svg = this._svg = svgCreate('svg');\n svgAttr(svg, { width: '100%', height: '100%' });\n\n svgAppend(container, svg);\n\n const viewport = this._viewport = createGroup(svg, 'viewport');\n\n // debounce canvas.viewbox.changed events when deferUpdate is set\n // to help with potential performance issues\n if (config.deferUpdate) {\n this._viewboxChanged = debounce(bind(this._viewboxChanged, this), 300);\n }\n\n eventBus.on('diagram.init', () => {\n\n /**\n * An event indicating that the canvas is ready to be drawn on.\n *\n * @memberOf Canvas\n *\n * @event canvas.init\n *\n * @type {Object}\n * @property {SVGElement} svg the created svg element\n * @property {SVGElement} viewport the direct parent of diagram elements and shapes\n */\n eventBus.fire('canvas.init', {\n svg: svg,\n viewport: viewport\n });\n\n });\n\n // reset viewbox on shape changes to\n // recompute the viewbox\n eventBus.on([\n 'shape.added',\n 'connection.added',\n 'shape.removed',\n 'connection.removed',\n 'elements.changed',\n 'root.set'\n ], () => {\n delete this._cachedViewbox;\n });\n\n eventBus.on('diagram.destroy', 500, this._destroy, this);\n eventBus.on('diagram.clear', 500, this._clear, this);\n};\n\nCanvas.prototype._destroy = function() {\n this._eventBus.fire('canvas.destroy', {\n svg: this._svg,\n viewport: this._viewport\n });\n\n const parent = this._container.parentNode;\n\n if (parent) {\n parent.removeChild(this._container);\n }\n\n delete this._svg;\n delete this._container;\n delete this._layers;\n delete this._planes;\n delete this._rootElement;\n delete this._viewport;\n};\n\nCanvas.prototype._clear = function() {\n\n const allElements = this._elementRegistry.getAll();\n\n // remove all elements\n allElements.forEach(element => {\n const type = getType(element);\n\n if (type === 'root') {\n this.removeRootElement(element);\n } else {\n this._removeElement(element, type);\n }\n });\n\n // remove all planes\n this._planes = [];\n this._rootElement = null;\n\n // force recomputation of view box\n delete this._cachedViewbox;\n};\n\n/**\n * Returns the default layer on which\n * all elements are drawn.\n *\n * @return {SVGElement} The SVG element of the layer.\n */\nCanvas.prototype.getDefaultLayer = function() {\n return this.getLayer(BASE_LAYER, PLANE_LAYER_INDEX);\n};\n\n/**\n * Returns a layer that is used to draw elements\n * or annotations on it.\n *\n * Non-existing layers retrieved through this method\n * will be created. During creation, the optional index\n * may be used to create layers below or above existing layers.\n * A layer with a certain index is always created above all\n * existing layers with the same index.\n *\n * @param {string} name The name of the layer.\n * @param {number} [index] The index of the layer.\n *\n * @return {SVGElement} The SVG element of the layer.\n */\nCanvas.prototype.getLayer = function(name, index) {\n\n if (!name) {\n throw new Error('must specify a name');\n }\n\n let layer = this._layers[name];\n\n if (!layer) {\n layer = this._layers[name] = this._createLayer(name, index);\n }\n\n // throw an error if layer creation / retrival is\n // requested on different index\n if (typeof index !== 'undefined' && layer.index !== index) {\n throw new Error('layer <' + name + '> already created at index <' + index + '>');\n }\n\n return layer.group;\n};\n\n/**\n * For a given index, return the number of layers that have a higher index and\n * are visible.\n *\n * This is used to determine the node a layer should be inserted at.\n *\n * @param {number} index\n *\n * @return {number}\n */\nCanvas.prototype._getChildIndex = function(index) {\n return reduce(this._layers, function(childIndex, layer) {\n if (layer.visible && index >= layer.index) {\n childIndex++;\n }\n\n return childIndex;\n }, 0);\n};\n\n/**\n * Creates a given layer and returns it.\n *\n * @param {string} name\n * @param {number} [index=0]\n *\n * @return {CanvasLayer}\n */\nCanvas.prototype._createLayer = function(name, index) {\n\n if (typeof index === 'undefined') {\n index = UTILITY_LAYER_INDEX;\n }\n\n const childIndex = this._getChildIndex(index);\n\n return {\n group: createGroup(this._viewport, 'layer-' + name, childIndex),\n index: index,\n visible: true\n };\n};\n\n\n/**\n * Shows a given layer.\n *\n * @param {string} name The name of the layer.\n *\n * @return {SVGElement} The SVG element of the layer.\n */\nCanvas.prototype.showLayer = function(name) {\n\n if (!name) {\n throw new Error('must specify a name');\n }\n\n const layer = this._layers[name];\n\n if (!layer) {\n throw new Error('layer <' + name + '> does not exist');\n }\n\n const viewport = this._viewport;\n const group = layer.group;\n const index = layer.index;\n\n if (layer.visible) {\n return group;\n }\n\n const childIndex = this._getChildIndex(index);\n\n viewport.insertBefore(group, viewport.childNodes[childIndex] || null);\n\n layer.visible = true;\n\n return group;\n};\n\n/**\n * Hides a given layer.\n *\n * @param {string} name The name of the layer.\n *\n * @return {SVGElement} The SVG element of the layer.\n */\nCanvas.prototype.hideLayer = function(name) {\n\n if (!name) {\n throw new Error('must specify a name');\n }\n\n const layer = this._layers[name];\n\n if (!layer) {\n throw new Error('layer <' + name + '> does not exist');\n }\n\n const group = layer.group;\n\n if (!layer.visible) {\n return group;\n }\n\n svgRemove(group);\n\n layer.visible = false;\n\n return group;\n};\n\n\nCanvas.prototype._removeLayer = function(name) {\n\n const layer = this._layers[name];\n\n if (layer) {\n delete this._layers[name];\n\n svgRemove(layer.group);\n }\n};\n\n/**\n * Returns the currently active layer. Can be null.\n *\n * @return {CanvasLayer|null} The active layer of `null`.\n */\nCanvas.prototype.getActiveLayer = function() {\n const plane = this._findPlaneForRoot(this.getRootElement());\n\n if (!plane) {\n return null;\n }\n\n return plane.layer;\n};\n\n\n/**\n * Returns the plane which contains the given element.\n *\n * @param {ShapeLike|ConnectionLike|string} element The element or its ID.\n *\n * @return {RootLike|undefined} The root of the element.\n */\nCanvas.prototype.findRoot = function(element) {\n if (typeof element === 'string') {\n element = this._elementRegistry.get(element);\n }\n\n if (!element) {\n return;\n }\n\n const plane = this._findPlaneForRoot(\n findRoot(element)\n ) || {};\n\n return plane.rootElement;\n};\n\n/**\n * Return a list of all root elements on the diagram.\n *\n * @return {(RootLike)[]} The list of root elements.\n */\nCanvas.prototype.getRootElements = function() {\n return this._planes.map(function(plane) {\n return plane.rootElement;\n });\n};\n\nCanvas.prototype._findPlaneForRoot = function(rootElement) {\n return find(this._planes, function(plane) {\n return plane.rootElement === rootElement;\n });\n};\n\n\n/**\n * Returns the html element that encloses the\n * drawing canvas.\n *\n * @return {HTMLElement} The HTML element of the container.\n */\nCanvas.prototype.getContainer = function() {\n return this._container;\n};\n\n\n// markers //////////////////////\n\nCanvas.prototype._updateMarker = function(element, marker, add) {\n let container;\n\n if (!element.id) {\n element = this._elementRegistry.get(element);\n }\n\n element.markers = element.markers || new Set();\n\n // we need to access all\n container = this._elementRegistry._elements[element.id];\n\n if (!container) {\n return;\n }\n\n forEach([ container.gfx, container.secondaryGfx ], function(gfx) {\n if (gfx) {\n\n // invoke either addClass or removeClass based on mode\n if (add) {\n element.markers.add(marker);\n svgClasses(gfx).add(marker);\n } else {\n element.markers.delete(marker);\n svgClasses(gfx).remove(marker);\n }\n }\n });\n\n /**\n * An event indicating that a marker has been updated for an element\n *\n * @event element.marker.update\n * @type {Object}\n * @property {Element} element the shape\n * @property {SVGElement} gfx the graphical representation of the shape\n * @property {string} marker\n * @property {boolean} add true if the marker was added, false if it got removed\n */\n this._eventBus.fire('element.marker.update', { element: element, gfx: container.gfx, marker: marker, add: !!add });\n};\n\n\n/**\n * Adds a marker to an element (basically a css class).\n *\n * Fires the element.marker.update event, making it possible to\n * integrate extension into the marker life-cycle, too.\n *\n * @example\n *\n * ```javascript\n * canvas.addMarker('foo', 'some-marker');\n *\n * const fooGfx = canvas.getGraphics('foo');\n *\n * fooGfx; // ... \n * ```\n *\n * @param {ShapeLike|ConnectionLike|string} element The element or its ID.\n * @param {string} marker The marker.\n */\nCanvas.prototype.addMarker = function(element, marker) {\n this._updateMarker(element, marker, true);\n};\n\n\n/**\n * Remove a marker from an element.\n *\n * Fires the element.marker.update event, making it possible to\n * integrate extension into the marker life-cycle, too.\n *\n * @param {ShapeLike|ConnectionLike|string} element The element or its ID.\n * @param {string} marker The marker.\n */\nCanvas.prototype.removeMarker = function(element, marker) {\n this._updateMarker(element, marker, false);\n};\n\n/**\n * Check whether an element has a given marker.\n *\n * @param {ShapeLike|ConnectionLike|string} element The element or its ID.\n * @param {string} marker The marker.\n */\nCanvas.prototype.hasMarker = function(element, marker) {\n if (!element.id) {\n element = this._elementRegistry.get(element);\n }\n\n if (!element.markers) {\n return false;\n }\n\n return element.markers.has(marker);\n};\n\n/**\n * Toggles a marker on an element.\n *\n * Fires the element.marker.update event, making it possible to\n * integrate extension into the marker life-cycle, too.\n *\n * @param {ShapeLike|ConnectionLike|string} element The element or its ID.\n * @param {string} marker The marker.\n */\nCanvas.prototype.toggleMarker = function(element, marker) {\n if (this.hasMarker(element, marker)) {\n this.removeMarker(element, marker);\n } else {\n this.addMarker(element, marker);\n }\n};\n\n/**\n * Returns the current root element.\n *\n * Supports two different modes for handling root elements:\n *\n * 1. if no root element has been added before, an implicit root will be added\n * and returned. This is used in applications that don't require explicit\n * root elements.\n *\n * 2. when root elements have been added before calling `getRootElement`,\n * root elements can be null. This is used for applications that want to manage\n * root elements themselves.\n *\n * @return {RootLike} The current root element.\n */\nCanvas.prototype.getRootElement = function() {\n const rootElement = this._rootElement;\n\n // can return null if root elements are present but none was set yet\n if (rootElement || this._planes.length) {\n return rootElement;\n }\n\n return this.setRootElement(this.addRootElement(null));\n};\n\n/**\n * Adds a given root element and returns it.\n *\n * @param {RootLike} [rootElement] The root element to be added.\n *\n * @return {RootLike} The added root element or an implicit root element.\n */\nCanvas.prototype.addRootElement = function(rootElement) {\n const idx = this._rootsIdx++;\n\n if (!rootElement) {\n rootElement = {\n id: '__implicitroot_' + idx,\n children: [],\n isImplicit: true\n };\n }\n\n const layerName = rootElement.layer = 'root-' + idx;\n\n this._ensureValid('root', rootElement);\n\n const layer = this.getLayer(layerName, PLANE_LAYER_INDEX);\n\n this.hideLayer(layerName);\n\n this._addRoot(rootElement, layer);\n\n this._planes.push({\n rootElement: rootElement,\n layer: layer\n });\n\n return rootElement;\n};\n\n/**\n * Removes a given root element and returns it.\n *\n * @param {RootLike|string} rootElement element or element ID\n *\n * @return {RootLike|undefined} removed element\n */\nCanvas.prototype.removeRootElement = function(rootElement) {\n\n if (typeof rootElement === 'string') {\n rootElement = this._elementRegistry.get(rootElement);\n }\n\n const plane = this._findPlaneForRoot(rootElement);\n\n if (!plane) {\n return;\n }\n\n // hook up life-cycle events\n this._removeRoot(rootElement);\n\n // clean up layer\n this._removeLayer(rootElement.layer);\n\n // clean up plane\n this._planes = this._planes.filter(function(plane) {\n return plane.rootElement !== rootElement;\n });\n\n // clean up active root\n if (this._rootElement === rootElement) {\n this._rootElement = null;\n }\n\n return rootElement;\n};\n\n\n/**\n * Sets a given element as the new root element for the canvas\n * and returns the new root element.\n *\n * @param {RootLike} rootElement The root element to be set.\n *\n * @return {RootLike} The set root element.\n */\nCanvas.prototype.setRootElement = function(rootElement) {\n\n if (rootElement === this._rootElement) {\n return rootElement;\n }\n\n let plane;\n\n if (!rootElement) {\n throw new Error('rootElement required');\n }\n\n plane = this._findPlaneForRoot(rootElement);\n\n // give set add semantics for backwards compatibility\n if (!plane) {\n rootElement = this.addRootElement(rootElement);\n }\n\n this._setRoot(rootElement);\n\n return rootElement;\n};\n\n\nCanvas.prototype._removeRoot = function(element) {\n const elementRegistry = this._elementRegistry,\n eventBus = this._eventBus;\n\n // simulate element remove event sequence\n eventBus.fire('root.remove', { element: element });\n eventBus.fire('root.removed', { element: element });\n\n elementRegistry.remove(element);\n};\n\n\nCanvas.prototype._addRoot = function(element, gfx) {\n const elementRegistry = this._elementRegistry,\n eventBus = this._eventBus;\n\n // resemble element add event sequence\n eventBus.fire('root.add', { element: element });\n\n elementRegistry.add(element, gfx);\n\n eventBus.fire('root.added', { element: element, gfx: gfx });\n};\n\n\nCanvas.prototype._setRoot = function(rootElement, layer) {\n\n const currentRoot = this._rootElement;\n\n if (currentRoot) {\n\n // un-associate previous root element \n this._elementRegistry.updateGraphics(currentRoot, null, true);\n\n // hide previous layer\n this.hideLayer(currentRoot.layer);\n }\n\n if (rootElement) {\n\n if (!layer) {\n layer = this._findPlaneForRoot(rootElement).layer;\n }\n\n // associate element with \n this._elementRegistry.updateGraphics(rootElement, this._svg, true);\n\n // show root layer\n this.showLayer(rootElement.layer);\n }\n\n this._rootElement = rootElement;\n\n this._eventBus.fire('root.set', { element: rootElement });\n};\n\nCanvas.prototype._ensureValid = function(type, element) {\n if (!element.id) {\n throw new Error('element must have an id');\n }\n\n if (this._elementRegistry.get(element.id)) {\n throw new Error('element <' + element.id + '> already exists');\n }\n\n const requiredAttrs = REQUIRED_MODEL_ATTRS[type];\n\n const valid = every(requiredAttrs, function(attr) {\n return typeof element[attr] !== 'undefined';\n });\n\n if (!valid) {\n throw new Error(\n 'must supply { ' + requiredAttrs.join(', ') + ' } with ' + type);\n }\n};\n\nCanvas.prototype._setParent = function(element, parent, parentIndex) {\n collectionAdd(parent.children, element, parentIndex);\n element.parent = parent;\n};\n\n/**\n * Adds an element to the canvas.\n *\n * This wires the parent <-> child relationship between the element and\n * a explicitly specified parent or an implicit root element.\n *\n * During add it emits the events\n *\n * * <{type}.add> (element, parent)\n * * <{type}.added> (element, gfx)\n *\n * Extensions may hook into these events to perform their magic.\n *\n * @param {string} type\n * @param {ConnectionLike|ShapeLike} element\n * @param {ShapeLike} [parent]\n * @param {number} [parentIndex]\n *\n * @return {ConnectionLike|ShapeLike} The added element.\n */\nCanvas.prototype._addElement = function(type, element, parent, parentIndex) {\n\n parent = parent || this.getRootElement();\n\n const eventBus = this._eventBus,\n graphicsFactory = this._graphicsFactory;\n\n this._ensureValid(type, element);\n\n eventBus.fire(type + '.add', { element: element, parent: parent });\n\n this._setParent(element, parent, parentIndex);\n\n // create graphics\n const gfx = graphicsFactory.create(type, element, parentIndex);\n\n this._elementRegistry.add(element, gfx);\n\n // update its visual\n graphicsFactory.update(type, element, gfx);\n\n eventBus.fire(type + '.added', { element: element, gfx: gfx });\n\n return element;\n};\n\n/**\n * Adds a shape to the canvas.\n *\n * @param {ShapeLike} shape The shape to be added\n * @param {ParentLike} [parent] The shape's parent.\n * @param {number} [parentIndex] The index at which to add the shape to the parent's children.\n *\n * @return {ShapeLike} The added shape.\n */\nCanvas.prototype.addShape = function(shape, parent, parentIndex) {\n return this._addElement('shape', shape, parent, parentIndex);\n};\n\n/**\n * Adds a connection to the canvas.\n *\n * @param {ConnectionLike} connection The connection to be added.\n * @param {ParentLike} [parent] The connection's parent.\n * @param {number} [parentIndex] The index at which to add the connection to the parent's children.\n *\n * @return {ConnectionLike} The added connection.\n */\nCanvas.prototype.addConnection = function(connection, parent, parentIndex) {\n return this._addElement('connection', connection, parent, parentIndex);\n};\n\n\n/**\n * Internal remove element\n */\nCanvas.prototype._removeElement = function(element, type) {\n\n const elementRegistry = this._elementRegistry,\n graphicsFactory = this._graphicsFactory,\n eventBus = this._eventBus;\n\n element = elementRegistry.get(element.id || element);\n\n if (!element) {\n\n // element was removed already\n return;\n }\n\n eventBus.fire(type + '.remove', { element: element });\n\n graphicsFactory.remove(element);\n\n // unset parent <-> child relationship\n collectionRemove(element.parent && element.parent.children, element);\n element.parent = null;\n\n eventBus.fire(type + '.removed', { element: element });\n\n elementRegistry.remove(element);\n\n return element;\n};\n\n\n/**\n * Removes a shape from the canvas.\n *\n * @fires ShapeRemoveEvent\n * @fires ShapeRemovedEvent\n *\n * @param {ShapeLike|string} shape The shape or its ID.\n *\n * @return {ShapeLike} The removed shape.\n */\nCanvas.prototype.removeShape = function(shape) {\n\n /**\n * An event indicating that a shape is about to be removed from the canvas.\n *\n * @memberOf Canvas\n *\n * @event ShapeRemoveEvent\n * @type {Object}\n * @property {ShapeLike} element The shape.\n * @property {SVGElement} gfx The graphical element.\n */\n\n /**\n * An event indicating that a shape has been removed from the canvas.\n *\n * @memberOf Canvas\n *\n * @event ShapeRemovedEvent\n * @type {Object}\n * @property {ShapeLike} element The shape.\n * @property {SVGElement} gfx The graphical element.\n */\n return this._removeElement(shape, 'shape');\n};\n\n\n/**\n * Removes a connection from the canvas.\n *\n * @fires ConnectionRemoveEvent\n * @fires ConnectionRemovedEvent\n *\n * @param {ConnectionLike|string} connection The connection or its ID.\n *\n * @return {ConnectionLike} The removed connection.\n */\nCanvas.prototype.removeConnection = function(connection) {\n\n /**\n * An event indicating that a connection is about to be removed from the canvas.\n *\n * @memberOf Canvas\n *\n * @event ConnectionRemoveEvent\n * @type {Object}\n * @property {ConnectionLike} element The connection.\n * @property {SVGElement} gfx The graphical element.\n */\n\n /**\n * An event indicating that a connection has been removed from the canvas.\n *\n * @memberOf Canvas\n *\n * @event ConnectionRemovedEvent\n * @type {Object}\n * @property {ConnectionLike} element The connection.\n * @property {SVGElement} gfx The graphical element.\n */\n return this._removeElement(connection, 'connection');\n};\n\n\n/**\n * Returns the graphical element of an element.\n *\n * @param {ShapeLike|ConnectionLike|string} element The element or its ID.\n * @param {boolean} [secondary=false] Whether to return the secondary graphical element.\n *\n * @return {SVGElement} The graphical element.\n */\nCanvas.prototype.getGraphics = function(element, secondary) {\n return this._elementRegistry.getGraphics(element, secondary);\n};\n\n\n/**\n * Perform a viewbox update via a given change function.\n *\n * @param {Function} changeFn\n */\nCanvas.prototype._changeViewbox = function(changeFn) {\n\n // notify others of the upcoming viewbox change\n this._eventBus.fire('canvas.viewbox.changing');\n\n // perform actual change\n changeFn.apply(this);\n\n // reset the cached viewbox so that\n // a new get operation on viewbox or zoom\n // triggers a viewbox re-computation\n this._cachedViewbox = null;\n\n // notify others of the change; this step\n // may or may not be debounced\n this._viewboxChanged();\n};\n\nCanvas.prototype._viewboxChanged = function() {\n this._eventBus.fire('canvas.viewbox.changed', { viewbox: this.viewbox() });\n};\n\n\n/**\n * Gets or sets the view box of the canvas, i.e. the\n * area that is currently displayed.\n *\n * The getter may return a cached viewbox (if it is currently\n * changing). To force a recomputation, pass `false` as the first argument.\n *\n * @example\n *\n * ```javascript\n * canvas.viewbox({ x: 100, y: 100, width: 500, height: 500 })\n *\n * // sets the visible area of the diagram to (100|100) -> (600|100)\n * // and and scales it according to the diagram width\n *\n * const viewbox = canvas.viewbox(); // pass `false` to force recomputing the box.\n *\n * console.log(viewbox);\n * // {\n * // inner: Dimensions,\n * // outer: Dimensions,\n * // scale,\n * // x, y,\n * // width, height\n * // }\n *\n * // if the current diagram is zoomed and scrolled, you may reset it to the\n * // default zoom via this method, too:\n *\n * const zoomedAndScrolledViewbox = canvas.viewbox();\n *\n * canvas.viewbox({\n * x: 0,\n * y: 0,\n * width: zoomedAndScrolledViewbox.outer.width,\n * height: zoomedAndScrolledViewbox.outer.height\n * });\n * ```\n *\n * @param {Rect} [box] The viewbox to be set.\n *\n * @return {CanvasViewbox} The set viewbox.\n */\nCanvas.prototype.viewbox = function(box) {\n\n if (box === undefined && this._cachedViewbox) {\n return structuredClone(this._cachedViewbox);\n }\n\n const viewport = this._viewport,\n outerBox = this.getSize();\n let innerBox,\n matrix,\n activeLayer,\n transform,\n scale,\n x, y;\n\n if (!box) {\n\n // compute the inner box based on the\n // diagrams active layer. This allows us to exclude\n // external components, such as overlays\n\n activeLayer = this._rootElement ? this.getActiveLayer() : null;\n innerBox = activeLayer && activeLayer.getBBox() || {};\n\n transform = svgTransform(viewport);\n matrix = transform ? transform.matrix : createMatrix();\n scale = round(matrix.a, 1000);\n\n x = round(-matrix.e || 0, 1000);\n y = round(-matrix.f || 0, 1000);\n\n box = this._cachedViewbox = {\n x: x ? x / scale : 0,\n y: y ? y / scale : 0,\n width: outerBox.width / scale,\n height: outerBox.height / scale,\n scale: scale,\n inner: {\n width: innerBox.width || 0,\n height: innerBox.height || 0,\n x: innerBox.x || 0,\n y: innerBox.y || 0\n },\n outer: outerBox\n };\n\n return box;\n } else {\n\n this._changeViewbox(function() {\n scale = Math.min(outerBox.width / box.width, outerBox.height / box.height);\n\n const matrix = this._svg.createSVGMatrix()\n .scale(scale)\n .translate(-box.x, -box.y);\n\n svgTransform(viewport, matrix);\n });\n }\n\n return box;\n};\n\n\n/**\n * Gets or sets the scroll of the canvas.\n *\n * @param {ScrollDelta} [delta] The scroll to be set.\n *\n * @return {Point}\n */\nCanvas.prototype.scroll = function(delta) {\n\n const node = this._viewport;\n let matrix = node.getCTM();\n\n if (delta) {\n this._changeViewbox(function() {\n delta = assign({ dx: 0, dy: 0 }, delta || {});\n\n matrix = this._svg.createSVGMatrix().translate(delta.dx, delta.dy).multiply(matrix);\n\n setCTM(node, matrix);\n });\n }\n\n return { x: matrix.e, y: matrix.f };\n};\n\n/**\n * Scrolls the viewbox to contain the given element.\n * Optionally specify a padding to be applied to the edges.\n *\n * @param {ShapeLike|ConnectionLike|string} element The element to scroll to or its ID.\n * @param {RectTRBL|number} [padding=100] The padding to be applied. Can also specify top, bottom, left and right.\n */\nCanvas.prototype.scrollToElement = function(element, padding) {\n let defaultPadding = 100;\n\n if (typeof element === 'string') {\n element = this._elementRegistry.get(element);\n }\n\n // set to correct rootElement\n const rootElement = this.findRoot(element);\n\n if (rootElement !== this.getRootElement()) {\n this.setRootElement(rootElement);\n }\n\n // element is rootElement, do not change viewport\n if (rootElement === element) {\n return;\n }\n\n if (!padding) {\n padding = {};\n }\n if (typeof padding === 'number') {\n defaultPadding = padding;\n }\n\n padding = {\n top: padding.top || defaultPadding,\n right: padding.right || defaultPadding,\n bottom: padding.bottom || defaultPadding,\n left: padding.left || defaultPadding\n };\n\n const elementBounds = getBoundingBox(element),\n elementTrbl = asTRBL(elementBounds),\n viewboxBounds = this.viewbox(),\n zoom = this.zoom();\n let dx, dy;\n\n // shrink viewboxBounds with padding\n viewboxBounds.y += padding.top / zoom;\n viewboxBounds.x += padding.left / zoom;\n viewboxBounds.width -= (padding.right + padding.left) / zoom;\n viewboxBounds.height -= (padding.bottom + padding.top) / zoom;\n\n const viewboxTrbl = asTRBL(viewboxBounds);\n\n const canFit = elementBounds.width < viewboxBounds.width && elementBounds.height < viewboxBounds.height;\n\n if (!canFit) {\n\n // top-left when element can't fit\n dx = elementBounds.x - viewboxBounds.x;\n dy = elementBounds.y - viewboxBounds.y;\n\n } else {\n\n const dRight = Math.max(0, elementTrbl.right - viewboxTrbl.right),\n dLeft = Math.min(0, elementTrbl.left - viewboxTrbl.left),\n dBottom = Math.max(0, elementTrbl.bottom - viewboxTrbl.bottom),\n dTop = Math.min(0, elementTrbl.top - viewboxTrbl.top);\n\n dx = dRight || dLeft;\n dy = dBottom || dTop;\n\n }\n\n this.scroll({ dx: -dx * zoom, dy: -dy * zoom });\n};\n\n/**\n * Gets or sets the current zoom of the canvas, optionally zooming to the\n * specified position.\n *\n * The getter may return a cached zoom level. Call it with `false` as the first\n * argument to force recomputation of the current level.\n *\n * @param {number|'fit-viewport'} [newScale] The new zoom level, either a number,\n * i.e. 0.9, or `fit-viewport` to adjust the size to fit the current viewport.\n * @param {Point} [center] The reference point { x: ..., y: ...} to zoom to.\n *\n * @return {number} The set zoom level.\n */\nCanvas.prototype.zoom = function(newScale, center) {\n\n if (!newScale) {\n return this.viewbox(newScale).scale;\n }\n\n if (newScale === 'fit-viewport') {\n return this._fitViewport(center);\n }\n\n let outer,\n matrix;\n\n this._changeViewbox(function() {\n\n if (typeof center !== 'object') {\n outer = this.viewbox().outer;\n\n center = {\n x: outer.width / 2,\n y: outer.height / 2\n };\n }\n\n matrix = this._setZoom(newScale, center);\n });\n\n return round(matrix.a, 1000);\n};\n\nfunction setCTM(node, m) {\n const mstr = 'matrix(' + m.a + ',' + m.b + ',' + m.c + ',' + m.d + ',' + m.e + ',' + m.f + ')';\n node.setAttribute('transform', mstr);\n}\n\nCanvas.prototype._fitViewport = function(center) {\n\n const vbox = this.viewbox(),\n outer = vbox.outer,\n inner = vbox.inner;\n let newScale,\n newViewbox;\n\n // display the complete diagram without zooming in.\n // instead of relying on internal zoom, we perform a\n // hard reset on the canvas viewbox to realize this\n //\n // if diagram does not need to be zoomed in, we focus it around\n // the diagram origin instead\n\n if (inner.x >= 0 &&\n inner.y >= 0 &&\n inner.x + inner.width <= outer.width &&\n inner.y + inner.height <= outer.height &&\n !center) {\n\n newViewbox = {\n x: 0,\n y: 0,\n width: Math.max(inner.width + inner.x, outer.width),\n height: Math.max(inner.height + inner.y, outer.height)\n };\n } else {\n\n newScale = Math.min(1, outer.width / inner.width, outer.height / inner.height);\n newViewbox = {\n x: inner.x + (center ? inner.width / 2 - outer.width / newScale / 2 : 0),\n y: inner.y + (center ? inner.height / 2 - outer.height / newScale / 2 : 0),\n width: outer.width / newScale,\n height: outer.height / newScale\n };\n }\n\n this.viewbox(newViewbox);\n\n return this.viewbox(false).scale;\n};\n\n\nCanvas.prototype._setZoom = function(scale, center) {\n\n const svg = this._svg,\n viewport = this._viewport;\n\n const matrix = svg.createSVGMatrix();\n const point = svg.createSVGPoint();\n\n let centerPoint,\n originalPoint,\n currentMatrix,\n scaleMatrix,\n newMatrix;\n\n currentMatrix = viewport.getCTM();\n\n const currentScale = currentMatrix.a;\n\n if (center) {\n centerPoint = assign(point, center);\n\n // revert applied viewport transformations\n originalPoint = centerPoint.matrixTransform(currentMatrix.inverse());\n\n // create scale matrix\n scaleMatrix = matrix\n .translate(originalPoint.x, originalPoint.y)\n .scale(1 / currentScale * scale)\n .translate(-originalPoint.x, -originalPoint.y);\n\n newMatrix = currentMatrix.multiply(scaleMatrix);\n } else {\n newMatrix = matrix.scale(scale);\n }\n\n setCTM(this._viewport, newMatrix);\n\n return newMatrix;\n};\n\n\n/**\n * Returns the size of the canvas.\n *\n * @return {Dimensions} The size of the canvas.\n */\nCanvas.prototype.getSize = function() {\n return {\n width: this._container.clientWidth,\n height: this._container.clientHeight\n };\n};\n\n\n/**\n * Returns the absolute bounding box of an element.\n *\n * The absolute bounding box may be used to display overlays in the callers\n * (browser) coordinate system rather than the zoomed in/out canvas coordinates.\n *\n * @param {ShapeLike|ConnectionLike} element The element.\n *\n * @return {Rect} The element's absolute bounding box.\n */\nCanvas.prototype.getAbsoluteBBox = function(element) {\n const vbox = this.viewbox();\n let bbox;\n\n // connection\n // use svg bbox\n if (element.waypoints) {\n const gfx = this.getGraphics(element);\n\n bbox = gfx.getBBox();\n }\n\n // shapes\n // use data\n else {\n bbox = element;\n }\n\n const x = bbox.x * vbox.scale - vbox.x * vbox.scale;\n const y = bbox.y * vbox.scale - vbox.y * vbox.scale;\n\n const width = bbox.width * vbox.scale;\n const height = bbox.height * vbox.scale;\n\n return {\n x: x,\n y: y,\n width: width,\n height: height\n };\n};\n\n/**\n * Fires an event so other modules can react to the canvas resizing.\n */\nCanvas.prototype.resized = function() {\n\n // force recomputation of view box\n delete this._cachedViewbox;\n\n this._eventBus.fire('canvas.resized');\n};\n","var ELEMENT_ID = 'data-element-id';\n\nimport { attr as svgAttr } from 'tiny-svg';\n\n/**\n * @typedef {import('./Types').ElementLike} ElementLike\n *\n * @typedef {import('./EventBus').default} EventBus\n *\n * @typedef { (element: ElementLike, gfx: SVGElement) => boolean|any } ElementRegistryFilterCallback\n * @typedef { (element: ElementLike, gfx: SVGElement) => any } ElementRegistryForEachCallback\n */\n\n/**\n * A registry that keeps track of all shapes in the diagram.\n *\n * @class\n * @constructor\n *\n * @param {EventBus} eventBus\n */\nexport default function ElementRegistry(eventBus) {\n\n /**\n * @type { {\n * [id: string]: {\n * element: ElementLike;\n * gfx?: SVGElement;\n * secondaryGfx?: SVGElement;\n * }\n * } }\n */\n this._elements = {};\n\n this._eventBus = eventBus;\n}\n\nElementRegistry.$inject = [ 'eventBus' ];\n\n/**\n * Add an element and its graphical representation(s) to the registry.\n *\n * @param {ElementLike} element The element to be added.\n * @param {SVGElement} gfx The primary graphical representation.\n * @param {SVGElement} [secondaryGfx] The secondary graphical representation.\n */\nElementRegistry.prototype.add = function(element, gfx, secondaryGfx) {\n\n var id = element.id;\n\n this._validateId(id);\n\n // associate dom node with element\n svgAttr(gfx, ELEMENT_ID, id);\n\n if (secondaryGfx) {\n svgAttr(secondaryGfx, ELEMENT_ID, id);\n }\n\n this._elements[id] = { element: element, gfx: gfx, secondaryGfx: secondaryGfx };\n};\n\n/**\n * Remove an element from the registry.\n *\n * @param {ElementLike|string} element\n */\nElementRegistry.prototype.remove = function(element) {\n var elements = this._elements,\n id = element.id || element,\n container = id && elements[id];\n\n if (container) {\n\n // unset element id on gfx\n svgAttr(container.gfx, ELEMENT_ID, '');\n\n if (container.secondaryGfx) {\n svgAttr(container.secondaryGfx, ELEMENT_ID, '');\n }\n\n delete elements[id];\n }\n};\n\n/**\n * Update an elements ID.\n *\n * @param {ElementLike|string} element The element or its ID.\n * @param {string} newId The new ID.\n */\nElementRegistry.prototype.updateId = function(element, newId) {\n\n this._validateId(newId);\n\n if (typeof element === 'string') {\n element = this.get(element);\n }\n\n this._eventBus.fire('element.updateId', {\n element: element,\n newId: newId\n });\n\n var gfx = this.getGraphics(element),\n secondaryGfx = this.getGraphics(element, true);\n\n this.remove(element);\n\n element.id = newId;\n\n this.add(element, gfx, secondaryGfx);\n};\n\n/**\n * Update the graphical representation of an element.\n *\n * @param {ElementLike|string} filter The element or its ID.\n * @param {SVGElement} gfx The new graphical representation.\n * @param {boolean} [secondary=false] Whether to update the secondary graphical representation.\n */\nElementRegistry.prototype.updateGraphics = function(filter, gfx, secondary) {\n var id = filter.id || filter;\n\n var container = this._elements[id];\n\n if (secondary) {\n container.secondaryGfx = gfx;\n } else {\n container.gfx = gfx;\n }\n\n if (gfx) {\n svgAttr(gfx, ELEMENT_ID, id);\n }\n\n return gfx;\n};\n\n/**\n * Get the element with the given ID or graphical representation.\n *\n * @example\n *\n * ```javascript\n * elementRegistry.get('SomeElementId_1');\n *\n * elementRegistry.get(gfx);\n * ```\n *\n * @param {string|SVGElement} filter The elements ID or graphical representation.\n *\n * @return {ElementLike|undefined} The element.\n */\nElementRegistry.prototype.get = function(filter) {\n var id;\n\n if (typeof filter === 'string') {\n id = filter;\n } else {\n id = filter && svgAttr(filter, ELEMENT_ID);\n }\n\n var container = this._elements[id];\n return container && container.element;\n};\n\n/**\n * Return all elements that match a given filter function.\n *\n * @param {ElementRegistryFilterCallback} fn The filter function.\n *\n * @return {ElementLike[]} The matching elements.\n */\nElementRegistry.prototype.filter = function(fn) {\n\n var filtered = [];\n\n this.forEach(function(element, gfx) {\n if (fn(element, gfx)) {\n filtered.push(element);\n }\n });\n\n return filtered;\n};\n\n/**\n * Return the first element that matches the given filter function.\n *\n * @param {ElementRegistryFilterCallback} fn The filter function.\n *\n * @return {ElementLike|undefined} The matching element.\n */\nElementRegistry.prototype.find = function(fn) {\n var map = this._elements,\n keys = Object.keys(map);\n\n for (var i = 0; i < keys.length; i++) {\n var id = keys[i],\n container = map[id],\n element = container.element,\n gfx = container.gfx;\n\n if (fn(element, gfx)) {\n return element;\n }\n }\n};\n\n/**\n * Get all elements.\n *\n * @return {ElementLike[]} All elements.\n */\nElementRegistry.prototype.getAll = function() {\n return this.filter(function(e) { return e; });\n};\n\n/**\n * Execute a given function for each element.\n *\n * @param {ElementRegistryForEachCallback} fn The function to execute.\n */\nElementRegistry.prototype.forEach = function(fn) {\n\n var map = this._elements;\n\n Object.keys(map).forEach(function(id) {\n var container = map[id],\n element = container.element,\n gfx = container.gfx;\n\n return fn(element, gfx);\n });\n};\n\n/**\n * Return the graphical representation of an element.\n *\n * @example\n *\n * ```javascript\n * elementRegistry.getGraphics('SomeElementId_1');\n *\n * elementRegistry.getGraphics(rootElement); // \n *\n * elementRegistry.getGraphics(rootElement, true); // \n * ```\n *\n * @param {ElementLike|string} filter The element or its ID.\n * @param {boolean} [secondary=false] Whether to return the secondary graphical representation.\n *\n * @return {SVGElement} The graphical representation.\n */\nElementRegistry.prototype.getGraphics = function(filter, secondary) {\n var id = filter.id || filter;\n\n var container = this._elements[id];\n return container && (secondary ? container.secondaryGfx : container.gfx);\n};\n\n/**\n * Validate an ID and throw an error if invalid.\n *\n * @param {string} id\n *\n * @throws {Error} Error indicating that the ID is invalid or already assigned.\n */\nElementRegistry.prototype._validateId = function(id) {\n if (!id) {\n throw new Error('element must have an id');\n }\n\n if (this._elements[id]) {\n throw new Error('element with id ' + id + ' already added');\n }\n};\n","/**\n * Extends a collection with {@link Refs} aware methods\n *\n * @param {Array} collection\n * @param {Refs} refs instance\n * @param {Object} property represented by the collection\n * @param {Object} target object the collection is attached to\n *\n * @return {RefsCollection} the extended array\n */\nfunction extend(collection, refs, property, target) {\n var inverseProperty = property.inverse;\n\n /**\n * Removes the given element from the array and returns it.\n *\n * @method RefsCollection#remove\n *\n * @param {Object} element the element to remove\n */\n Object.defineProperty(collection, 'remove', {\n value: function (element) {\n var idx = this.indexOf(element);\n if (idx !== -1) {\n this.splice(idx, 1);\n\n // unset inverse\n refs.unset(element, inverseProperty, target);\n }\n return element;\n }\n });\n\n /**\n * Returns true if the collection contains the given element\n *\n * @method RefsCollection#contains\n *\n * @param {Object} element the element to check for\n */\n Object.defineProperty(collection, 'contains', {\n value: function (element) {\n return this.indexOf(element) !== -1;\n }\n });\n\n /**\n * Adds an element to the array, unless it exists already (set semantics).\n *\n * @method RefsCollection#add\n *\n * @param {Object} element the element to add\n * @param {Number} optional index to add element to\n * (possibly moving other elements around)\n */\n Object.defineProperty(collection, 'add', {\n value: function (element, idx) {\n var currentIdx = this.indexOf(element);\n if (typeof idx === 'undefined') {\n if (currentIdx !== -1) {\n // element already in collection (!)\n return;\n }\n\n // add to end of array, as no idx is specified\n idx = this.length;\n }\n\n // handle already in collection\n if (currentIdx !== -1) {\n // remove element from currentIdx\n this.splice(currentIdx, 1);\n }\n\n // add element at idx\n this.splice(idx, 0, element);\n if (currentIdx === -1) {\n // set inverse, unless element was\n // in collection already\n refs.set(element, inverseProperty, target);\n }\n }\n });\n\n // a simple marker, identifying this element\n // as being a refs collection\n Object.defineProperty(collection, '__refs_collection', {\n value: true\n });\n return collection;\n}\n\n/**\n * Checks if a given collection is extended\n *\n * @param {Array} collection\n *\n * @return {boolean}\n */\nfunction isExtended(collection) {\n return collection.__refs_collection === true;\n}\n\nvar collection = {\n __proto__: null,\n extend: extend,\n isExtended: isExtended\n};\n\nfunction hasOwnProperty(e, property) {\n return Object.prototype.hasOwnProperty.call(e, property.name || property);\n}\nfunction defineCollectionProperty(ref, property, target) {\n var collection = extend(target[property.name] || [], ref, property, target);\n Object.defineProperty(target, property.name, {\n enumerable: property.enumerable,\n value: collection\n });\n if (collection.length) {\n collection.forEach(function (o) {\n ref.set(o, property.inverse, target);\n });\n }\n}\nfunction defineProperty(ref, property, target) {\n var inverseProperty = property.inverse;\n var _value = target[property.name];\n Object.defineProperty(target, property.name, {\n configurable: property.configurable,\n enumerable: property.enumerable,\n get: function () {\n return _value;\n },\n set: function (value) {\n // return if we already performed all changes\n if (value === _value) {\n return;\n }\n var old = _value;\n\n // temporary set null\n _value = null;\n if (old) {\n ref.unset(old, inverseProperty, target);\n }\n\n // set new value\n _value = value;\n\n // set inverse value\n ref.set(_value, inverseProperty, target);\n }\n });\n}\n\n/**\n * Creates a new references object defining two inversly related\n * attribute descriptors a and b.\n *\n *

    \n * When bound to an object using {@link Refs#bind} the references\n * get activated and ensure that add and remove operations are applied\n * reversely, too.\n *

    \n *\n *

    \n * For attributes represented as collections {@link Refs} provides the\n * {@link RefsCollection#add}, {@link RefsCollection#remove} and {@link RefsCollection#contains} extensions\n * that must be used to properly hook into the inverse change mechanism.\n *

    \n *\n * @class Refs\n *\n * @classdesc A bi-directional reference between two attributes.\n *\n * @param {Refs.AttributeDescriptor} a property descriptor\n * @param {Refs.AttributeDescriptor} b property descriptor\n *\n * @example\n *\n * var refs = Refs({ name: 'wheels', collection: true, enumerable: true }, { name: 'car' });\n *\n * var car = { name: 'toyota' };\n * var wheels = [{ pos: 'front-left' }, { pos: 'front-right' }];\n *\n * refs.bind(car, 'wheels');\n *\n * car.wheels // []\n * car.wheels.add(wheels[0]);\n * car.wheels.add(wheels[1]);\n *\n * car.wheels // [{ pos: 'front-left' }, { pos: 'front-right' }]\n *\n * wheels[0].car // { name: 'toyota' };\n * car.wheels.remove(wheels[0]);\n *\n * wheels[0].car // undefined\n */\nfunction Refs(a, b) {\n if (!(this instanceof Refs)) {\n return new Refs(a, b);\n }\n\n // link\n a.inverse = b;\n b.inverse = a;\n this.props = {};\n this.props[a.name] = a;\n this.props[b.name] = b;\n}\n\n/**\n * Binds one side of a bi-directional reference to a\n * target object.\n *\n * @memberOf Refs\n *\n * @param {Object} target\n * @param {String} property\n */\nRefs.prototype.bind = function (target, property) {\n if (typeof property === 'string') {\n if (!this.props[property]) {\n throw new Error('no property <' + property + '> in ref');\n }\n property = this.props[property];\n }\n if (property.collection) {\n defineCollectionProperty(this, property, target);\n } else {\n defineProperty(this, property, target);\n }\n};\nRefs.prototype.ensureRefsCollection = function (target, property) {\n var collection = target[property.name];\n if (!isExtended(collection)) {\n defineCollectionProperty(this, property, target);\n }\n return collection;\n};\nRefs.prototype.ensureBound = function (target, property) {\n if (!hasOwnProperty(target, property)) {\n this.bind(target, property);\n }\n};\nRefs.prototype.unset = function (target, property, value) {\n if (target) {\n this.ensureBound(target, property);\n if (property.collection) {\n this.ensureRefsCollection(target, property).remove(value);\n } else {\n target[property.name] = undefined;\n }\n }\n};\nRefs.prototype.set = function (target, property, value) {\n if (target) {\n this.ensureBound(target, property);\n if (property.collection) {\n this.ensureRefsCollection(target, property).add(value);\n } else {\n target[property.name] = value;\n }\n }\n};\n\n/**\n * An attribute descriptor to be used specify an attribute in a {@link Refs} instance\n *\n * @typedef {Object} Refs.AttributeDescriptor\n * @property {String} name\n * @property {boolean} [collection=false]\n * @property {boolean} [enumerable=false]\n */\n\nexport { collection as Collection, Refs };\n","import { assign } from 'min-dash';\nimport inherits from 'inherits-browser';\n\nimport { Refs } from 'object-refs';\n\nvar parentRefs = new Refs({ name: 'children', enumerable: true, collection: true }, { name: 'parent' }),\n labelRefs = new Refs({ name: 'labels', enumerable: true, collection: true }, { name: 'labelTarget' }),\n attacherRefs = new Refs({ name: 'attachers', collection: true }, { name: 'host' }),\n outgoingRefs = new Refs({ name: 'outgoing', collection: true }, { name: 'source' }),\n incomingRefs = new Refs({ name: 'incoming', collection: true }, { name: 'target' });\n\n/**\n * @typedef {import('./Types').Element} Element\n * @typedef {import('./Types').Shape} Shape\n * @typedef {import('./Types').Root} Root\n * @typedef {import('./Types').Label} Label\n * @typedef {import('./Types').Connection} Connection\n */\n\n/**\n * The basic graphical representation\n *\n * @class\n * @constructor\n */\nfunction ElementImpl() {\n\n /**\n * The object that backs up the shape\n *\n * @name Element#businessObject\n * @type Object\n */\n Object.defineProperty(this, 'businessObject', {\n writable: true\n });\n\n\n /**\n * Single label support, will mapped to multi label array\n *\n * @name Element#label\n * @type Object\n */\n Object.defineProperty(this, 'label', {\n get: function() {\n return this.labels[0];\n },\n set: function(newLabel) {\n\n var label = this.label,\n labels = this.labels;\n\n if (!newLabel && label) {\n labels.remove(label);\n } else {\n labels.add(newLabel, 0);\n }\n }\n });\n\n /**\n * The parent shape\n *\n * @name Element#parent\n * @type Shape\n */\n parentRefs.bind(this, 'parent');\n\n /**\n * The list of labels\n *\n * @name Element#labels\n * @type Label\n */\n labelRefs.bind(this, 'labels');\n\n /**\n * The list of outgoing connections\n *\n * @name Element#outgoing\n * @type Array\n */\n outgoingRefs.bind(this, 'outgoing');\n\n /**\n * The list of incoming connections\n *\n * @name Element#incoming\n * @type Array\n */\n incomingRefs.bind(this, 'incoming');\n}\n\n\n/**\n * A graphical object\n *\n * @class\n * @constructor\n *\n * @extends ElementImpl\n */\nfunction ShapeImpl() {\n ElementImpl.call(this);\n\n /**\n * Indicates frame shapes\n *\n * @name ShapeImpl#isFrame\n * @type boolean\n */\n\n /**\n * The list of children\n *\n * @name ShapeImpl#children\n * @type Element[]\n */\n parentRefs.bind(this, 'children');\n\n /**\n * @name ShapeImpl#host\n * @type Shape\n */\n attacherRefs.bind(this, 'host');\n\n /**\n * @name ShapeImpl#attachers\n * @type Shape\n */\n attacherRefs.bind(this, 'attachers');\n}\n\ninherits(ShapeImpl, ElementImpl);\n\n\n/**\n * A root graphical object\n *\n * @class\n * @constructor\n *\n * @extends ElementImpl\n */\nfunction RootImpl() {\n ElementImpl.call(this);\n\n /**\n * The list of children\n *\n * @name RootImpl#children\n * @type Element[]\n */\n parentRefs.bind(this, 'children');\n}\n\ninherits(RootImpl, ShapeImpl);\n\n\n/**\n * A label for an element\n *\n * @class\n * @constructor\n *\n * @extends ShapeImpl\n */\nfunction LabelImpl() {\n ShapeImpl.call(this);\n\n /**\n * The labeled element\n *\n * @name LabelImpl#labelTarget\n * @type Element\n */\n labelRefs.bind(this, 'labelTarget');\n}\n\ninherits(LabelImpl, ShapeImpl);\n\n\n/**\n * A connection between two elements\n *\n * @class\n * @constructor\n *\n * @extends ElementImpl\n */\nfunction ConnectionImpl() {\n ElementImpl.call(this);\n\n /**\n * The element this connection originates from\n *\n * @name ConnectionImpl#source\n * @type Element\n */\n outgoingRefs.bind(this, 'source');\n\n /**\n * The element this connection points to\n *\n * @name ConnectionImpl#target\n * @type Element\n */\n incomingRefs.bind(this, 'target');\n}\n\ninherits(ConnectionImpl, ElementImpl);\n\n\nvar types = {\n connection: ConnectionImpl,\n shape: ShapeImpl,\n label: LabelImpl,\n root: RootImpl\n};\n\n/**\n * Creates a root element.\n *\n * @overlord\n *\n * @example\n *\n * ```javascript\n * import * as Model from 'diagram-js/lib/model';\n *\n * const root = Model.create('root', {\n * x: 100,\n * y: 100,\n * width: 100,\n * height: 100\n * });\n * ```\n *\n * @param {'root'} type\n * @param {any} [attrs]\n *\n * @return {Root}\n */\n\n/**\n * Creates a connection.\n *\n * @overlord\n *\n * @example\n *\n * ```javascript\n * import * as Model from 'diagram-js/lib/model';\n *\n * const connection = Model.create('connection', {\n * waypoints: [\n * { x: 100, y: 100 },\n * { x: 200, y: 100 }\n * ]\n * });\n * ```\n *\n * @param {'connection'} type\n * @param {any} [attrs]\n *\n * @return {Connection}\n */\n\n/**\n * Creates a shape.\n *\n * @overlord\n *\n * @example\n *\n * ```javascript\n * import * as Model from 'diagram-js/lib/model';\n *\n * const shape = Model.create('shape', {\n * x: 100,\n * y: 100,\n * width: 100,\n * height: 100\n * });\n * ```\n *\n * @param {'shape'} type\n * @param {any} [attrs]\n *\n * @return {Shape}\n */\n\n/**\n * Creates a label.\n *\n * @example\n *\n * ```javascript\n * import * as Model from 'diagram-js/lib/model';\n *\n * const label = Model.create('label', {\n * x: 100,\n * y: 100,\n * width: 100,\n * height: 100,\n * labelTarget: shape\n * });\n * ```\n *\n * @param {'label'} type\n * @param {Object} [attrs]\n *\n * @return {Label}\n */\nexport function create(type, attrs) {\n var Type = types[type];\n if (!Type) {\n throw new Error('unknown type: <' + type + '>');\n }\n return assign(new Type(), attrs);\n}\n\n/**\n * Checks whether an object is a model instance.\n *\n * @param {any} obj\n *\n * @return {boolean}\n */\nexport function isModelElement(obj) {\n return obj instanceof ElementImpl;\n}","import {\n create\n} from '../model';\n\nimport { assign } from 'min-dash';\n\n/**\n * @typedef {import('../model/Types').Element} Element\n * @typedef {import('../model/Types').Connection} Connection\n * @typedef {import('../model/Types').Label} Label\n * @typedef {import('../model/Types').Root} Root\n * @typedef {import('../model/Types').Shape} Shape\n */\n\n/**\n * A factory for model elements.\n *\n * @template {Connection} [T=Connection]\n * @template {Label} [U=Label]\n * @template {Root} [V=Root]\n * @template {Shape} [W=Shape]\n */\nexport default function ElementFactory() {\n this._uid = 12;\n}\n\n/**\n * Create a root element.\n *\n * @param {Partial} [attrs]\n *\n * @return {V} The created root element.\n */\nElementFactory.prototype.createRoot = function(attrs) {\n return this.create('root', attrs);\n};\n\n/**\n * Create a label.\n *\n * @param {Partial