@apollo-annotation/jbrowse-plugin-apollo 0.2.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@jbrowse/core/Plugin"),require("@jbrowse/core/util"),require("@jbrowse/core/configuration"),require("@jbrowse/core/pluggableElementTypes"),require("@mui/material/utils"),require("react/jsx-runtime"),require("mobx"),require("mobx-state-tree"),require("@mui/material"),require("@mui/material/InputAdornment"),require("@mui/material/LinearProgress"),require("react"),require("@jbrowse/core/ui"),require("mobx-react"),require("tss-react/mui"),require("@jbrowse/core/util/types/mst"),require("@jbrowse/core/util/io"),require("@mui/material/Checkbox"),require("@mui/material/FormControlLabel"),require("@mui/x-data-grid"),require("@jbrowse/core/pluggableElementTypes/AdapterType"),require("@jbrowse/core/data_adapters/BaseAdapter"),require("@jbrowse/core/util/rxjs"),require("@jbrowse/core/util/tracks")):"function"==typeof define&&define.amd?define(["exports","@jbrowse/core/Plugin","@jbrowse/core/util","@jbrowse/core/configuration","@jbrowse/core/pluggableElementTypes","@mui/material/utils","react/jsx-runtime","mobx","mobx-state-tree","@mui/material","@mui/material/InputAdornment","@mui/material/LinearProgress","react","@jbrowse/core/ui","mobx-react","tss-react/mui","@jbrowse/core/util/types/mst","@jbrowse/core/util/io","@mui/material/Checkbox","@mui/material/FormControlLabel","@mui/x-data-grid","@jbrowse/core/pluggableElementTypes/AdapterType","@jbrowse/core/data_adapters/BaseAdapter","@jbrowse/core/util/rxjs","@jbrowse/core/util/tracks"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).JBrowsePluginApollo={},e.JBrowseExports["@jbrowse/core/Plugin"],e.JBrowseExports["@jbrowse/core/util"],e.JBrowseExports["@jbrowse/core/configuration"],e.JBrowseExports["@jbrowse/core/pluggableElementTypes"],e.JBrowseExports["@mui/material/utils"],e.JBrowseExports["react/jsx-runtime"],e.JBrowseExports.mobx,e.JBrowseExports["mobx-state-tree"],e.JBrowseExports["@mui/material"],e.JBrowseExports["@mui/material/InputAdornment"],e.JBrowseExports["@mui/material/LinearProgress"],e.JBrowseExports.react,e.JBrowseExports["@jbrowse/core/ui"],e.JBrowseExports["mobx-react"],e.JBrowseExports["tss-react/mui"],e.JBrowseExports["@jbrowse/core/util/types/mst"],e.JBrowseExports["@jbrowse/core/util/io"],e.JBrowseExports["@mui/material/Checkbox"],e.JBrowseExports["@mui/material/FormControlLabel"],e.JBrowseExports["@mui/x-data-grid"],e.JBrowseExports["@jbrowse/core/pluggableElementTypes/AdapterType"],e.JBrowseExports["@jbrowse/core/data_adapters/BaseAdapter"],e.JBrowseExports["@jbrowse/core/util/rxjs"],e.JBrowseExports["@jbrowse/core/util/tracks"])}(this,(function(e,t,n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k){"use strict";function E(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function A(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,t}var C=E(t),O=E(n),R=E(i),N=E(a),I=E(u),P=E(l),T=E(f),M=E(d),j=A(d),F=E(v),L=E(_),D=E(w),q="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function B(e){if(e.__esModule)return e;var t=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(e).forEach((function(n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})})),t}function U(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var z={};function G(e){var t,n;function r(t,n){try{var i=e[t](n),a=i.value,s=a instanceof H;Promise.resolve(s?a.v:a).then((function(n){if(s){var u="return"===t?"return":"next";if(!a.k||n.done)return r(u,n);n=e[u](n).value}o(i.done?"return":"normal",n)}),(function(e){r("throw",e)}))}catch(e){o("throw",e)}}function o(e,o){switch(e){case"return":t.resolve({value:o,done:!0});break;case"throw":t.reject(o);break;default:t.resolve({value:o,done:!1})}(t=t.next)?r(t.key,t.arg):n=null}this._invoke=function(e,o){return new Promise((function(i,a){var s={key:e,arg:o,resolve:i,reject:a,next:null};n?n=n.next=s:(t=n=s,r(e,o))}))},"function"!=typeof e.return&&(this.return=void 0)}function H(e,t){this.v=e,this.k=t}function W(e){var t,n,r,o=2;for("undefined"!=typeof Symbol&&(n=Symbol.asyncIterator,r=Symbol.iterator);o--;){if(n&&null!=(t=e[n]))return t.call(e);if(r&&null!=(t=e[r]))return new V(t.call(e));n="@@asyncIterator",r="@@iterator"}throw new TypeError("Object is not async iterable")}function V(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var t=e.done;return Promise.resolve(e.value).then((function(e){return{value:e,done:t}}))}return V=function(e){this.s=e,this.n=e.next},V.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var n=this.s.return;return void 0===n?Promise.resolve({value:e,done:!0}):t(n.apply(this.s,arguments))},throw:function(e){var n=this.s.return;return void 0===n?Promise.reject(e):t(n.apply(this.s,arguments))}},new V(e)}function $(e){return new H(e,0)}function J(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function K(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?J(Object(n),!0).forEach((function(t){re(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):J(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Y(){Y=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,o=Object.defineProperty||function(e,t,n){e[t]=n.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function c(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,n){return e[t]=n}}function l(e,t,n,r){var i=Object.create((t&&t.prototype instanceof y?t:y).prototype),a=new N(r||[]);return o(i,"_invoke",{value:A(e,n,a)}),i}function f(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var d="suspendedStart",h="suspendedYield",p="executing",m="completed",g={};function y(){}function v(){}function _(){}var b={};c(b,a,(function(){return this}));var w=Object.getPrototypeOf,S=w&&w(w(I([])));S&&S!==n&&r.call(S,a)&&(b=S);var x=_.prototype=y.prototype=Object.create(b);function k(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function E(e,t){function n(o,i,a,s){var u=f(e[o],e,i);if("throw"!==u.type){var c=u.arg,l=c.value;return l&&"object"==typeof l&&r.call(l,"__await")?t.resolve(l.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(l).then((function(e){c.value=e,a(c)}),(function(e){return n("throw",e,a,s)}))}s(u.arg)}var i;o(this,"_invoke",{value:function(e,r){function o(){return new t((function(t,o){n(e,r,t,o)}))}return i=i?i.then(o,o):o()}})}function A(t,n,r){var o=d;return function(i,a){if(o===p)throw new Error("Generator is already running");if(o===m){if("throw"===i)throw a;return{value:e,done:!0}}for(r.method=i,r.arg=a;;){var s=r.delegate;if(s){var u=C(s,r);if(u){if(u===g)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(o===d)throw o=m,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o=p;var c=f(t,n,r);if("normal"===c.type){if(o=r.done?m:h,c.arg===g)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(o=m,r.method="throw",r.arg=c.arg)}}}function C(t,n){var r=n.method,o=t.iterator[r];if(o===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,C(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),g;var i=f(o,t.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,g;var a=i.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,g):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,g)}function O(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function R(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function N(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.reset(!0)}function I(t){if(t||""===t){var n=t[a];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,i=function n(){for(;++o<t.length;)if(r.call(t,o))return n.value=t[o],n.done=!1,n;return n.value=e,n.done=!0,n};return i.next=i}}throw new TypeError(typeof t+" is not iterable")}return v.prototype=_,o(x,"constructor",{value:_,configurable:!0}),o(_,"constructor",{value:v,configurable:!0}),v.displayName=c(_,u,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===v||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,_):(e.__proto__=_,c(e,u,"GeneratorFunction")),e.prototype=Object.create(x),e},t.awrap=function(e){return{__await:e}},k(E.prototype),c(E.prototype,s,(function(){return this})),t.AsyncIterator=E,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new E(l(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},k(x),c(x,u,"Generator"),c(x,a,(function(){return this})),c(x,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=I,N.prototype={constructor:N,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(R),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function o(r,o){return s.type="throw",s.arg=t,n.next=r,o&&(n.method="next",n.arg=e),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],s=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var u=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(u&&c){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,g):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),R(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;R(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:I(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),g}},t}function Z(e){return Z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Z(e)}function X(e,t,n,r,o,i,a){try{var s=e[i](a),u=s.value}catch(e){return void n(e)}s.done?t(u):Promise.resolve(u).then(r,o)}function Q(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){X(i,r,o,a,s,"next",e)}function s(e){X(i,r,o,a,s,"throw",e)}a(void 0)}))}}function ee(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function te(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Se(r.key),r)}}function ne(e,t,n){return t&&te(e.prototype,t),n&&te(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function re(e,t,n){return(t=Se(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function oe(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ae(e,t)}function ie(e){return ie=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ie(e)}function ae(e,t){return ae=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},ae(e,t)}function se(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function ue(e,t,n){return ue=se()?Reflect.construct.bind():function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&ae(o,n.prototype),o},ue.apply(null,arguments)}function ce(e){var t="function"==typeof Map?new Map:void 0;return ce=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return ue(e,arguments,ie(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),ae(n,e)},ce(e)}function le(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function fe(e){var t=se();return function(){var n,r=ie(e);if(t){var o=ie(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return function(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return le(e)}(this,n)}}function de(){return de="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=ie(e)););return e}(e,t);if(r){var o=Object.getOwnPropertyDescriptor(r,t);return o.get?o.get.call(arguments.length<3?e:n):o.value}},de.apply(this,arguments)}function he(e,t){return ge(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(e,t)||ve(e,t)||be()}function pe(e){return ge(e)||ye(e)||ve(e)||be()}function me(e){return function(e){if(Array.isArray(e))return _e(e)}(e)||ye(e)||ve(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ge(e){if(Array.isArray(e))return e}function ye(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function ve(e,t){if(e){if("string"==typeof e)return _e(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_e(e,t):void 0}}function _e(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function be(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function we(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=ve(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,i=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw i}}}}function Se(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}G.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},G.prototype.next=function(e){return this._invoke("next",e)},G.prototype.throw=function(e){return this._invoke("throw",e)},G.prototype.return=function(e){return this._invoke("return",e)};var xe=function(e,t){return xe=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},xe(e,t)};function ke(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}xe(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var Ee=function(){return Ee=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},Ee.apply(this,arguments)};function Ae(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}function Ce(e,t,n,r){var o,i=arguments.length,a=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"===("undefined"==typeof Reflect?"undefined":Z(Reflect))&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function Oe(e,t){return function(n,r){t(n,r,e)}}function Re(e,t){if("object"===("undefined"==typeof Reflect?"undefined":Z(Reflect))&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function Ne(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{u(r.next(e))}catch(e){i(e)}}function s(e){try{u(r.throw(e))}catch(e){i(e)}}function u(e){e.done?o(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}u((r=r.apply(e,t||[])).next())}))}function Ie(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,u])}}}var Pe=Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]};function Te(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||Pe(t,e,n)}function Me(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function je(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}function Fe(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(je(arguments[t]));return e}function Le(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),o=0;for(t=0;t<n;t++)for(var i=arguments[t],a=0,s=i.length;a<s;a++,o++)r[o]=i[a];return r}function De(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}function qe(e){return this instanceof qe?(this.v=e,this):new qe(e)}function Be(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=n.apply(e,t||[]),i=[];return r={},a("next"),a("throw"),a("return"),r[Symbol.asyncIterator]=function(){return this},r;function a(e){o[e]&&(r[e]=function(t){return new Promise((function(n,r){i.push([e,t,n,r])>1||s(e,t)}))})}function s(e,t){try{!function(e){e.value instanceof qe?Promise.resolve(e.value.v).then(u,c):l(i[0][2],e)}(o[e](t))}catch(e){l(i[0][3],e)}}function u(e){s("next",e)}function c(e){s("throw",e)}function l(e,t){e(t),i.shift(),i.length&&s(i[0][0],i[0][1])}}function Ue(e){var t,n;return t={},r("next"),r("throw",(function(e){throw e})),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,o){t[r]=e[r]?function(t){return(n=!n)?{value:qe(e[r](t)),done:!1}:o?o(t):t}:o}}function ze(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=Me(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){!function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)}(r,o,(t=e[n](t)).done,t.value)}))}}}function Ge(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var He=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function We(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&Pe(t,e,n);return He(t,e),t}function Ve(e){return e&&e.__esModule?e:{default:e}}function $e(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function Je(e,t,n,r,o){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?o.call(e,n):o?o.value=n:t.set(e,n),n}function Ke(e,t){if(null===t||"object"!==Z(t)&&"function"!=typeof t)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function Ye(e,t,n){if(null!=t){if("object"!==Z(t)&&"function"!=typeof t)throw new TypeError("Object expected.");var r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");r=t[Symbol.asyncDispose]}if(void 0===r){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");r=t[Symbol.dispose]}if("function"!=typeof r)throw new TypeError("Object not disposable.");e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t}var Ze="function"==typeof SuppressedError?SuppressedError:function(e,t,n){var r=new Error(n);return r.name="SuppressedError",r.error=e,r.suppressed=t,r};function Xe(e){function t(t){e.error=e.hasError?new Ze(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}return function n(){for(;e.stack.length;){var r=e.stack.pop();try{var o=r.dispose&&r.dispose.call(r.value);if(r.async)return Promise.resolve(o).then(n,(function(e){return t(e),n()}))}catch(e){t(e)}}if(e.hasError)throw e.error}()}var Qe={__proto__:null,__extends:ke,get __assign(){return Ee},__rest:Ae,__decorate:Ce,__param:Oe,__esDecorate:function(e,t,n,r,o,i){function a(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var s,u=r.kind,c="getter"===u?"get":"setter"===u?"set":"value",l=!t&&e?r.static?e:e.prototype:null,f=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d=!1,h=n.length-1;h>=0;h--){var p={};for(var m in r)p[m]="access"===m?{}:r[m];for(var m in r.access)p.access[m]=r.access[m];p.addInitializer=function(e){if(d)throw new TypeError("Cannot add initializers after decoration has completed");i.push(a(e||null))};var g=(0,n[h])("accessor"===u?{get:f.get,set:f.set}:f[c],p);if("accessor"===u){if(void 0===g)continue;if(null===g||"object"!==Z(g))throw new TypeError("Object expected");(s=a(g.get))&&(f.get=s),(s=a(g.set))&&(f.set=s),(s=a(g.init))&&o.unshift(s)}else(s=a(g))&&("field"===u?o.unshift(s):f[c]=s)}l&&Object.defineProperty(l,r.name,f),d=!0},__runInitializers:function(e,t,n){for(var r=arguments.length>2,o=0;o<t.length;o++)n=r?t[o].call(e,n):t[o].call(e);return r?n:void 0},__propKey:function(e){return"symbol"===Z(e)?e:"".concat(e)},__setFunctionName:function(e,t,n){return"symbol"===Z(t)&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:n?"".concat(n," ",t):t})},__metadata:Re,__awaiter:Ne,__generator:Ie,__createBinding:Pe,__exportStar:Te,__values:Me,__read:je,__spread:Fe,__spreadArrays:Le,__spreadArray:De,__await:qe,__asyncGenerator:Be,__asyncDelegator:Ue,__asyncValues:ze,__makeTemplateObject:Ge,__importStar:We,__importDefault:Ve,__classPrivateFieldGet:$e,__classPrivateFieldSet:Je,__classPrivateFieldIn:Ke,__addDisposableResource:Ye,__disposeResources:Xe,default:{__extends:ke,__assign:Ee,__rest:Ae,__decorate:Ce,__param:Oe,__metadata:Re,__awaiter:Ne,__generator:Ie,__createBinding:Pe,__exportStar:Te,__values:Me,__read:je,__spread:Fe,__spreadArrays:Le,__spreadArray:De,__await:qe,__asyncGenerator:Be,__asyncDelegator:Ue,__asyncValues:ze,__makeTemplateObject:Ge,__importStar:We,__importDefault:Ve,__classPrivateFieldGet:$e,__classPrivateFieldSet:Je,__classPrivateFieldIn:Ke,__addDisposableResource:Ye,__disposeResources:Xe}},et=B(Qe),tt={};Object.defineProperty(tt,"__esModule",{value:!0}),tt.ApolloPlugin=void 0;var nt=function(e){oe(n,e);var t=fe(n);function n(){return ee(this,n),t.apply(this,arguments)}return ne(n,[{key:"apolloInstall",value:function(e){}}]),n}(et.__importDefault(C.default).default);tt.ApolloPlugin=nt;var rt={},ot={},it={};Object.defineProperty(it,"__esModule",{value:!0}),it.changeRegistry=void 0,it.changeRegistry=new(function(){function e(){ee(this,e),this.changes=new Map}return ne(e,[{key:"registerChange",value:function(e,t){if(this.changes.has(e))throw new Error('change type "'.concat(e,'" has already been registered'));this.changes.set(e,t)}},{key:"getChangeType",value:function(e){var t=this.changes.get(e);if(!t)throw new Error('No change constructor registered for "'.concat(e,'"'));return t}}]),e}());var at={};Object.defineProperty(at,"__esModule",{value:!0}),at.Operation=void 0;var st=function(){function e(t,n){var r;ee(this,e),this.logger=null!==(r=null==n?void 0:n.logger)&&void 0!==r?r:console}var t;return ne(e,[{key:"execute",value:(t=Q(Y().mark((function e(t){var n,r;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("Server"!==(n=t.typeName)){e.next=4;break}return r=this.executeOnServer(t),e.abrupt("return",t.pluginsService.evaluateExtensionPoint("".concat(this.typeName,"-transformResults"),r,{operation:this,backend:t}));case 4:if("LocalGFF3"!==n){e.next=6;break}return e.abrupt("return",this.executeOnLocalGFF3(t));case 6:throw new Error("no operation implementation for backend type '".concat(n,"'"));case 7:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}]),e}();at.Operation=st,Object.defineProperty(ot,"__esModule",{value:!0}),ot.Change=void 0,ot.isChange=function(e){return void 0!==e.executeOnClient};var ut=it,ct=function(e){oe(r,e);var t,n=fe(r);function r(){return ee(this,r),n.apply(this,arguments)}return ne(r,[{key:"notification",get:function(){return""}},{key:"execute",value:(t=Q(Y().mark((function e(t){var n;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("LocalGFF3"!==(n=t.typeName)&&"Server"!==n){e.next=3;break}return e.abrupt("return",de(ie(r.prototype),"execute",this).call(this,t));case 3:if("Client"!==n){e.next=5;break}return e.abrupt("return",this.executeOnClient(t));case 5:throw new Error("no change implementation for backend type '".concat(n,"'"));case 6:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}],[{key:"fromJSON",value:function(e,t){return new(ut.changeRegistry.getChangeType(e.typeName))(e,(null==t?void 0:t.logger)&&{logger:t.logger})}}]),r}(at.Operation);ot.Change=ct,Object.defineProperty(rt,"__esModule",{value:!0}),rt.AssemblySpecificChange=void 0,rt.isAssemblySpecificChange=function(e){return(0,lt.isChange)(e)&&void 0!==e.assembly};var lt=ot;rt.AssemblySpecificChange=function(e){oe(n,e);var t=fe(n);function n(e,r){var o;return ee(this,n),(o=t.call(this,e,r)).assembly=e.assembly,o}return ne(n)}(lt.Change);var ft={};Object.defineProperty(ft,"__esModule",{value:!0}),ft.Check=void 0,ft.Check=ne((function e(){ee(this,e)}));var dt={};Object.defineProperty(dt,"__esModule",{value:!0}),dt.checkRegistry=void 0,dt.checkRegistry=new(function(){function e(){ee(this,e),this.checks=new Map}return ne(e,[{key:"registerCheck",value:function(e,t){if(this.checks.has(e))throw new Error('check "'.concat(e,'" has already been registered'));this.checks.set(e,t)}},{key:"getCheck",value:function(e){var t=this.checks.get(e);if(!t)throw new Error('No check constructor registered for "'.concat(e,'"'));return t}},{key:"getChecks",value:function(){return this.checks}}]),e}());var ht={},pt="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function mt(){throw new Error("setTimeout has not been defined")}function gt(){throw new Error("clearTimeout has not been defined")}var yt=mt,vt=gt;function _t(e){if(yt===setTimeout)return setTimeout(e,0);if((yt===mt||!yt)&&setTimeout)return yt=setTimeout,setTimeout(e,0);try{return yt(e,0)}catch(t){try{return yt.call(null,e,0)}catch(t){return yt.call(this,e,0)}}}"function"==typeof pt.setTimeout&&(yt=setTimeout),"function"==typeof pt.clearTimeout&&(vt=clearTimeout);var bt,wt=[],St=!1,xt=-1;function kt(){St&&bt&&(St=!1,bt.length?wt=bt.concat(wt):xt=-1,wt.length&&Et())}function Et(){if(!St){var e=_t(kt);St=!0;for(var t=wt.length;t;){for(bt=wt,wt=[];++xt<t;)bt&&bt[xt].run();xt=-1,t=wt.length}bt=null,St=!1,function(e){if(vt===clearTimeout)return clearTimeout(e);if((vt===gt||!vt)&&clearTimeout)return vt=clearTimeout,clearTimeout(e);try{return vt(e)}catch(t){try{return vt.call(null,e)}catch(t){return vt.call(this,e)}}}(e)}}function At(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];wt.push(new Ct(e,t)),1!==wt.length||St||_t(Et)}function Ct(e,t){this.fun=e,this.array=t}function Ot(){}Ct.prototype.run=function(){this.fun.apply(null,this.array)};var Rt=Ot,Nt=Ot,It=Ot,Pt=Ot,Tt=Ot,Mt=Ot,jt=Ot,Ft=pt.performance||{},Lt=Ft.now||Ft.mozNow||Ft.msNow||Ft.oNow||Ft.webkitNow||function(){return(new Date).getTime()},Dt=new Date,qt={nextTick:At,title:"browser",browser:!0,env:{},argv:[],version:"",versions:{},on:Rt,addListener:Nt,once:It,off:Pt,removeListener:Tt,removeAllListeners:Mt,emit:jt,binding:function(e){throw new Error("process.binding is not supported")},cwd:function(){return"/"},chdir:function(e){throw new Error("process.chdir is not supported")},umask:function(){return 0},hrtime:function(e){var t=.001*Lt.call(Ft),n=Math.floor(t),r=Math.floor(t%1*1e9);return e&&(n-=e[0],(r-=e[1])<0&&(n--,r+=1e9)),[n,r]},platform:"browser",release:{},config:{},uptime:function(){return(new Date-Dt)/1e3}},Bt=[],Ut=[],zt="undefined"!=typeof Uint8Array?Uint8Array:Array,Gt=!1;function Ht(){Gt=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0;t<64;++t)Bt[t]=e[t],Ut[e.charCodeAt(t)]=t;Ut["-".charCodeAt(0)]=62,Ut["_".charCodeAt(0)]=63}function Wt(e,t,n){for(var r,o=[],i=t;i<n;i+=3)o.push(Bt[(r=(e[i]<<16)+(e[i+1]<<8)+e[i+2])>>18&63]+Bt[r>>12&63]+Bt[r>>6&63]+Bt[63&r]);return o.join("")}function Vt(e,t,n,r,o){var i,a,s=8*o-r-1,u=(1<<s)-1,c=u>>1,l=-7,f=n?o-1:0,d=n?-1:1,h=e[t+f];for(f+=d,i=h&(1<<-l)-1,h>>=-l,l+=s;l>0;i=256*i+e[t+f],f+=d,l-=8);for(a=i&(1<<-l)-1,i>>=-l,l+=r;l>0;a=256*a+e[t+f],f+=d,l-=8);if(0===i)i=1-c;else{if(i===u)return a?NaN:Infinity*(h?-1:1);a+=Math.pow(2,r),i-=c}return(h?-1:1)*a*Math.pow(2,i-r)}function $t(e,t,n,r,o,i){var a,s,u,c=8*i-o-1,l=(1<<c)-1,f=l>>1,d=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,h=r?0:i-1,p=r?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||Infinity===t?(s=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),(t+=a+f>=1?d/u:d*Math.pow(2,1-f))*u>=2&&(a++,u/=2),a+f>=l?(s=0,a=l):a+f>=1?(s=(t*u-1)*Math.pow(2,o),a+=f):(s=t*Math.pow(2,f-1)*Math.pow(2,o),a=0));o>=8;e[n+h]=255&s,h+=p,s/=256,o-=8);for(a=a<<o|s,c+=o;c>0;e[n+h]=255&a,h+=p,a/=256,c-=8);e[n+h-p]|=128*m}var Jt={}.toString,Kt=Array.isArray||function(e){return"[object Array]"==Jt.call(e)};function Yt(){return Xt.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function Zt(e,t){if(Yt()<t)throw new RangeError("Invalid typed array length");return Xt.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=Xt.prototype:(null===e&&(e=new Xt(t)),e.length=t),e}function Xt(e,t,n){if(!(Xt.TYPED_ARRAY_SUPPORT||this instanceof Xt))return new Xt(e,t,n);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return tn(this,e)}return Qt(this,e,t,n)}function Qt(e,t,n,r){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,r){if(n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");return t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r),Xt.TYPED_ARRAY_SUPPORT?(e=t).__proto__=Xt.prototype:e=nn(e,t),e}(e,t,n,r):"string"==typeof t?function(e,t,n){if("string"==typeof n&&""!==n||(n="utf8"),!Xt.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|an(t,n),o=(e=Zt(e,r)).write(t,n);return o!==r&&(e=e.slice(0,o)),e}(e,t,n):function(e,t){if(on(t)){var n=0|rn(t.length);return 0===(e=Zt(e,n)).length||t.copy(e,0,0,n),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(r=t.length)!=r?Zt(e,0):nn(e,t);if("Buffer"===t.type&&Kt(t.data))return nn(e,t.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function en(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function tn(e,t){if(en(t),e=Zt(e,t<0?0:0|rn(t)),!Xt.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function nn(e,t){var n=t.length<0?0:0|rn(t.length);e=Zt(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function rn(e){if(e>=Yt())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Yt().toString(16)+" bytes");return 0|e}function on(e){return!(null==e||!e._isBuffer)}function an(e,t){if(on(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return Tn(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return Mn(e).length;default:if(r)return Tn(e).length;t=(""+t).toLowerCase(),r=!0}}function sn(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return Sn(this,t,n);case"utf8":case"utf-8":return vn(this,t,n);case"ascii":return bn(this,t,n);case"latin1":case"binary":return wn(this,t,n);case"base64":return yn(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return xn(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function un(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function cn(e,t,n,r,o){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=o?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(o)return-1;n=e.length-1}else if(n<0){if(!o)return-1;n=0}if("string"==typeof t&&(t=Xt.from(t,r)),on(t))return 0===t.length?-1:ln(e,t,n,r,o);if("number"==typeof t)return t&=255,Xt.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):ln(e,[t],n,r,o);throw new TypeError("val must be string, number or Buffer")}function ln(e,t,n,r,o){var i,a=1,s=e.length,u=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;a=2,s/=2,u/=2,n/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(o){var l=-1;for(i=n;i<s;i++)if(c(e,i)===c(t,-1===l?0:i-l)){if(-1===l&&(l=i),i-l+1===u)return l*a}else-1!==l&&(i-=i-l),l=-1}else for(n+u>s&&(n=s-u),i=n;i>=0;i--){for(var f=!0,d=0;d<u;d++)if(c(e,i+d)!==c(t,d)){f=!1;break}if(f)return i}return-1}function fn(e,t,n,r){n=Number(n)||0;var o=e.length-n;r?(r=Number(r))>o&&(r=o):r=o;var i=t.length;if(i%2!=0)throw new TypeError("Invalid hex string");r>i/2&&(r=i/2);for(var a=0;a<r;++a){var s=parseInt(t.substr(2*a,2),16);if(isNaN(s))return a;e[n+a]=s}return a}function dn(e,t,n,r){return jn(Tn(t,e.length-n),e,n,r)}function hn(e,t,n,r){return jn(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function pn(e,t,n,r){return hn(e,t,n,r)}function mn(e,t,n,r){return jn(Mn(t),e,n,r)}function gn(e,t,n,r){return jn(function(e,t){for(var n,r,o=[],i=0;i<e.length&&!((t-=2)<0);++i)r=(n=e.charCodeAt(i))>>8,o.push(n%256),o.push(r);return o}(t,e.length-n),e,n,r)}function yn(e,t,n){return function(e){var t;Gt||Ht();for(var n=e.length,r=n%3,o="",i=[],a=16383,s=0,u=n-r;s<u;s+=a)i.push(Wt(e,s,s+a>u?u:s+a));return 1===r?(o+=Bt[(t=e[n-1])>>2],o+=Bt[t<<4&63],o+="=="):2===r&&(o+=Bt[(t=(e[n-2]<<8)+e[n-1])>>10],o+=Bt[t>>4&63],o+=Bt[t<<2&63],o+="="),i.push(o),i.join("")}(0===t&&n===e.length?e:e.slice(t,n))}function vn(e,t,n){n=Math.min(e.length,n);for(var r=[],o=t;o<n;){var i,a,s,u,c=e[o],l=null,f=c>239?4:c>223?3:c>191?2:1;if(o+f<=n)switch(f){case 1:c<128&&(l=c);break;case 2:128==(192&(i=e[o+1]))&&(u=(31&c)<<6|63&i)>127&&(l=u);break;case 3:a=e[o+2],128==(192&(i=e[o+1]))&&128==(192&a)&&(u=(15&c)<<12|(63&i)<<6|63&a)>2047&&(u<55296||u>57343)&&(l=u);break;case 4:a=e[o+2],s=e[o+3],128==(192&(i=e[o+1]))&&128==(192&a)&&128==(192&s)&&(u=(15&c)<<18|(63&i)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(l=u)}null===l?(l=65533,f=1):l>65535&&(r.push((l-=65536)>>>10&1023|55296),l=56320|1023&l),r.push(l),o+=f}return function(e){var t=e.length;if(t<=_n)return String.fromCharCode.apply(String,e);for(var n="",r=0;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=_n));return n}(r)}Xt.TYPED_ARRAY_SUPPORT=void 0===pt.TYPED_ARRAY_SUPPORT||pt.TYPED_ARRAY_SUPPORT,Xt.poolSize=8192,Xt._augment=function(e){return e.__proto__=Xt.prototype,e},Xt.from=function(e,t,n){return Qt(null,e,t,n)},Xt.TYPED_ARRAY_SUPPORT&&(Xt.prototype.__proto__=Uint8Array.prototype,Xt.__proto__=Uint8Array),Xt.alloc=function(e,t,n){return function(e,t,n,r){return en(t),t<=0?Zt(e,t):void 0!==n?"string"==typeof r?Zt(e,t).fill(n,r):Zt(e,t).fill(n):Zt(e,t)}(null,e,t,n)},Xt.allocUnsafe=function(e){return tn(null,e)},Xt.allocUnsafeSlow=function(e){return tn(null,e)},Xt.isBuffer=Fn,Xt.compare=function(e,t){if(!on(e)||!on(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,o=0,i=Math.min(n,r);o<i;++o)if(e[o]!==t[o]){n=e[o],r=t[o];break}return n<r?-1:r<n?1:0},Xt.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},Xt.concat=function(e,t){if(!Kt(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return Xt.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=Xt.allocUnsafe(t),o=0;for(n=0;n<e.length;++n){var i=e[n];if(!on(i))throw new TypeError('"list" argument must be an Array of Buffers');i.copy(r,o),o+=i.length}return r},Xt.byteLength=an,Xt.prototype._isBuffer=!0,Xt.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)un(this,t,t+1);return this},Xt.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)un(this,t,t+3),un(this,t+1,t+2);return this},Xt.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)un(this,t,t+7),un(this,t+1,t+6),un(this,t+2,t+5),un(this,t+3,t+4);return this},Xt.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?vn(this,0,e):sn.apply(this,arguments)},Xt.prototype.equals=function(e){if(!on(e))throw new TypeError("Argument must be a Buffer");return this===e||0===Xt.compare(this,e)},Xt.prototype.inspect=function(){var e="";return this.length>0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),"<Buffer "+e+">"},Xt.prototype.compare=function(e,t,n,r,o){if(!on(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),t<0||n>e.length||r<0||o>this.length)throw new RangeError("out of range index");if(r>=o&&t>=n)return 0;if(r>=o)return-1;if(t>=n)return 1;if(this===e)return 0;for(var i=(o>>>=0)-(r>>>=0),a=(n>>>=0)-(t>>>=0),s=Math.min(i,a),u=this.slice(r,o),c=e.slice(t,n),l=0;l<s;++l)if(u[l]!==c[l]){i=u[l],a=c[l];break}return i<a?-1:a<i?1:0},Xt.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},Xt.prototype.indexOf=function(e,t,n){return cn(this,e,t,n,!0)},Xt.prototype.lastIndexOf=function(e,t,n){return cn(this,e,t,n,!1)},Xt.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var o=this.length-t;if((void 0===n||n>o)&&(n=o),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var i=!1;;)switch(r){case"hex":return fn(this,e,t,n);case"utf8":case"utf-8":return dn(this,e,t,n);case"ascii":return hn(this,e,t,n);case"latin1":case"binary":return pn(this,e,t,n);case"base64":return mn(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return gn(this,e,t,n);default:if(i)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),i=!0}},Xt.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var _n=4096;function bn(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;o<n;++o)r+=String.fromCharCode(127&e[o]);return r}function wn(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;o<n;++o)r+=String.fromCharCode(e[o]);return r}function Sn(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var o="",i=t;i<n;++i)o+=Pn(e[i]);return o}function xn(e,t,n){for(var r=e.slice(t,n),o="",i=0;i<r.length;i+=2)o+=String.fromCharCode(r[i]+256*r[i+1]);return o}function kn(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function En(e,t,n,r,o,i){if(!on(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||t<i)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function An(e,t,n,r){t<0&&(t=65535+t+1);for(var o=0,i=Math.min(e.length-n,2);o<i;++o)e[n+o]=(t&255<<8*(r?o:1-o))>>>8*(r?o:1-o)}function Cn(e,t,n,r){t<0&&(t=4294967295+t+1);for(var o=0,i=Math.min(e.length-n,4);o<i;++o)e[n+o]=t>>>8*(r?o:3-o)&255}function On(e,t,n,r,o,i){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function Rn(e,t,n,r,o){return o||On(e,0,n,4),$t(e,t,n,r,23,4),n+4}function Nn(e,t,n,r,o){return o||On(e,0,n,8),$t(e,t,n,r,52,8),n+8}Xt.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e),Xt.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=Xt.prototype;else{var o=t-e;n=new Xt(o,void 0);for(var i=0;i<o;++i)n[i]=this[i+e]}return n},Xt.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||kn(e,t,this.length);for(var r=this[e],o=1,i=0;++i<t&&(o*=256);)r+=this[e+i]*o;return r},Xt.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||kn(e,t,this.length);for(var r=this[e+--t],o=1;t>0&&(o*=256);)r+=this[e+--t]*o;return r},Xt.prototype.readUInt8=function(e,t){return t||kn(e,1,this.length),this[e]},Xt.prototype.readUInt16LE=function(e,t){return t||kn(e,2,this.length),this[e]|this[e+1]<<8},Xt.prototype.readUInt16BE=function(e,t){return t||kn(e,2,this.length),this[e]<<8|this[e+1]},Xt.prototype.readUInt32LE=function(e,t){return t||kn(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Xt.prototype.readUInt32BE=function(e,t){return t||kn(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Xt.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||kn(e,t,this.length);for(var r=this[e],o=1,i=0;++i<t&&(o*=256);)r+=this[e+i]*o;return r>=(o*=128)&&(r-=Math.pow(2,8*t)),r},Xt.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||kn(e,t,this.length);for(var r=t,o=1,i=this[e+--r];r>0&&(o*=256);)i+=this[e+--r]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*t)),i},Xt.prototype.readInt8=function(e,t){return t||kn(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Xt.prototype.readInt16LE=function(e,t){t||kn(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},Xt.prototype.readInt16BE=function(e,t){t||kn(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},Xt.prototype.readInt32LE=function(e,t){return t||kn(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Xt.prototype.readInt32BE=function(e,t){return t||kn(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Xt.prototype.readFloatLE=function(e,t){return t||kn(e,4,this.length),Vt(this,e,!0,23,4)},Xt.prototype.readFloatBE=function(e,t){return t||kn(e,4,this.length),Vt(this,e,!1,23,4)},Xt.prototype.readDoubleLE=function(e,t){return t||kn(e,8,this.length),Vt(this,e,!0,52,8)},Xt.prototype.readDoubleBE=function(e,t){return t||kn(e,8,this.length),Vt(this,e,!1,52,8)},Xt.prototype.writeUIntLE=function(e,t,n,r){e=+e,t|=0,n|=0,r||En(this,e,t,n,Math.pow(2,8*n)-1,0);var o=1,i=0;for(this[t]=255&e;++i<n&&(o*=256);)this[t+i]=e/o&255;return t+n},Xt.prototype.writeUIntBE=function(e,t,n,r){e=+e,t|=0,n|=0,r||En(this,e,t,n,Math.pow(2,8*n)-1,0);var o=n-1,i=1;for(this[t+o]=255&e;--o>=0&&(i*=256);)this[t+o]=e/i&255;return t+n},Xt.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,1,255,0),Xt.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},Xt.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,2,65535,0),Xt.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):An(this,e,t,!0),t+2},Xt.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,2,65535,0),Xt.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):An(this,e,t,!1),t+2},Xt.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,4,4294967295,0),Xt.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):Cn(this,e,t,!0),t+4},Xt.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,4,4294967295,0),Xt.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Cn(this,e,t,!1),t+4},Xt.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);En(this,e,t,n,o-1,-o)}var i=0,a=1,s=0;for(this[t]=255&e;++i<n&&(a*=256);)e<0&&0===s&&0!==this[t+i-1]&&(s=1),this[t+i]=(e/a>>0)-s&255;return t+n},Xt.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);En(this,e,t,n,o-1,-o)}var i=n-1,a=1,s=0;for(this[t+i]=255&e;--i>=0&&(a*=256);)e<0&&0===s&&0!==this[t+i+1]&&(s=1),this[t+i]=(e/a>>0)-s&255;return t+n},Xt.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,1,127,-128),Xt.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},Xt.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,2,32767,-32768),Xt.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):An(this,e,t,!0),t+2},Xt.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,2,32767,-32768),Xt.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):An(this,e,t,!1),t+2},Xt.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,4,2147483647,-2147483648),Xt.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):Cn(this,e,t,!0),t+4},Xt.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),Xt.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Cn(this,e,t,!1),t+4},Xt.prototype.writeFloatLE=function(e,t,n){return Rn(this,e,t,!0,n)},Xt.prototype.writeFloatBE=function(e,t,n){return Rn(this,e,t,!1,n)},Xt.prototype.writeDoubleLE=function(e,t,n){return Nn(this,e,t,!0,n)},Xt.prototype.writeDoubleBE=function(e,t,n){return Nn(this,e,t,!1,n)},Xt.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var o,i=r-n;if(this===e&&n<t&&t<r)for(o=i-1;o>=0;--o)e[o+t]=this[o+n];else if(i<1e3||!Xt.TYPED_ARRAY_SUPPORT)for(o=0;o<i;++o)e[o+t]=this[o+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+i),t);return i},Xt.prototype.fill=function(e,t,n,r){if("string"==typeof e){if("string"==typeof t?(r=t,t=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===e.length){var o=e.charCodeAt(0);o<256&&(e=o)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!Xt.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;var i;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(i=t;i<n;++i)this[i]=e;else{var a=on(e)?e:Tn(new Xt(e,r).toString()),s=a.length;for(i=0;i<n-t;++i)this[i+t]=a[i%s]}return this};var In=/[^+\/0-9A-Za-z-_]/g;function Pn(e){return e<16?"0"+e.toString(16):e.toString(16)}function Tn(e,t){var n;t=t||Infinity;for(var r=e.length,o=null,i=[],a=0;a<r;++a){if((n=e.charCodeAt(a))>55295&&n<57344){if(!o){if(n>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&i.push(239,191,189);continue}o=n;continue}if(n<56320){(t-=3)>-1&&i.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(t-=3)>-1&&i.push(239,191,189);if(o=null,n<128){if((t-=1)<0)break;i.push(n)}else if(n<2048){if((t-=2)<0)break;i.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;i.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return i}function Mn(e){return function(e){var t,n,r,o,i,a;Gt||Ht();var s=e.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");a=new zt(3*s/4-(i="="===e[s-2]?2:"="===e[s-1]?1:0)),r=i>0?s-4:s;var u=0;for(t=0,n=0;t<r;t+=4,n+=3)o=Ut[e.charCodeAt(t)]<<18|Ut[e.charCodeAt(t+1)]<<12|Ut[e.charCodeAt(t+2)]<<6|Ut[e.charCodeAt(t+3)],a[u++]=o>>16&255,a[u++]=o>>8&255,a[u++]=255&o;return 2===i?(o=Ut[e.charCodeAt(t)]<<2|Ut[e.charCodeAt(t+1)]>>4,a[u++]=255&o):1===i&&(o=Ut[e.charCodeAt(t)]<<10|Ut[e.charCodeAt(t+1)]<<4|Ut[e.charCodeAt(t+2)]>>2,a[u++]=o>>8&255,a[u++]=255&o),a}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(In,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function jn(e,t,n,r){for(var o=0;o<r&&!(o+n>=t.length||o>=e.length);++o)t[o+n]=e[o];return o}function Fn(e){return null!=e&&(!!e._isBuffer||Ln(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&Ln(e.slice(0,0))}(e))}function Ln(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}for(var Dn=Math.floor(16777215*Math.random()),qn=$n.index=parseInt(16777215*Math.random(),10),Bn=(void 0===qt||"number"!=typeof qt.pid?Math.floor(1e5*Math.random()):qt.pid)%65535,Un=function(){try{return _Buffer}catch(e){try{return Xt}catch(e){return null}}}(),zn=function(e){return!(null==e||!e.constructor||"function"!=typeof e.constructor.isBuffer||!e.constructor.isBuffer(e))},Gn=[],Hn=0;Hn<256;Hn++)Gn[Hn]=(Hn<=15?"0":"")+Hn.toString(16);var Wn=new RegExp("^[0-9a-fA-F]{24}$"),Vn=[];for(Hn=0;Hn<10;)Vn[48+Hn]=Hn++;for(;Hn<16;)Vn[55+Hn]=Vn[87+Hn]=Hn++;function $n(e){if(!(this instanceof $n))return new $n(e);if(e&&(e instanceof $n||"ObjectID"===e._bsontype))return e;if(this._bsontype="ObjectID",null!=e&&"number"!=typeof e){var t=$n.isValid(e);if(!t&&null!=e)throw new Error("Argument passed in must be a single String of 12 bytes or a string of 24 hex characters");if(t&&"string"==typeof e&&24===e.length)return $n.createFromHexString(e);if(null==e||12!==e.length){if(null!=e&&"function"==typeof e.toHexString)return e;throw new Error("Argument passed in must be a single String of 12 bytes or a string of 24 hex characters")}this.id=e}else this.id=this.generate(e)}var Jn=$n;$n.default=$n,$n.createFromTime=function(e){return new $n(function(e,t){return 8===(t=t.toString(16)).length?t:"00000000".substring(t.length,8)+t}(0,e=parseInt(e,10)%4294967295)+"0000000000000000")},$n.createFromHexString=function(e){if(void 0===e||null!=e&&24!==e.length)throw new Error("Argument passed in must be a single String of 12 bytes or a string of 24 hex characters");for(var t="",n=0;n<24;)t+=String.fromCharCode(Vn[e.charCodeAt(n++)]<<4|Vn[e.charCodeAt(n++)]);return new $n(t)},$n.isValid=function(e){return null!=e&&("number"==typeof e||("string"==typeof e?12===e.length||24===e.length&&Wn.test(e):e instanceof $n||(zn(e)?$n.isValid(e.toString("hex")):!("function"!=typeof e.toHexString||!Un||!(e.id instanceof Un||"string"==typeof e.id))&&(12===e.id.length||24===e.id.length&&Wn.test(e.id)))))},$n.prototype={constructor:$n,toHexString:function(){if(!this.id||!this.id.length)throw new Error("invalid ObjectId, ObjectId.id must be either a string or a Buffer, but is ["+JSON.stringify(this.id)+"]");if(24===this.id.length)return this.id;if(zn(this.id))return this.id.toString("hex");for(var e="",t=0;t<this.id.length;t++)e+=Gn[this.id.charCodeAt(t)];return e},equals:function(e){return e instanceof $n?this.toString()===e.toString():"string"==typeof e&&$n.isValid(e)&&12===e.length&&zn(this.id)?e===this.id.toString("binary"):"string"==typeof e&&$n.isValid(e)&&24===e.length?e.toLowerCase()===this.toHexString():"string"==typeof e&&$n.isValid(e)&&12===e.length?e===this.id:!(null==e||!(e instanceof $n||e.toHexString))&&e.toHexString()===this.toHexString()},getTimestamp:function(){var e,t=new Date;return e=zn(this.id)?this.id[3]|this.id[2]<<8|this.id[1]<<16|this.id[0]<<24:this.id.charCodeAt(3)|this.id.charCodeAt(2)<<8|this.id.charCodeAt(1)<<16|this.id.charCodeAt(0)<<24,t.setTime(1e3*Math.floor(e)),t},generate:function(e){"number"!=typeof e&&(e=~~(Date.now()/1e3)),e=parseInt(e,10)%4294967295;var t=qn=(qn+1)%16777215;return String.fromCharCode(e>>24&255,e>>16&255,e>>8&255,255&e,Dn>>16&255,Dn>>8&255,255&Dn,Bn>>8&255,255&Bn,t>>16&255,t>>8&255,255&t)}};var Kn=Symbol&&Symbol.for&&Symbol.for("nodejs.util.inspect.custom")||"inspect";$n.prototype[Kn]=function(){return"ObjectID("+this+")"},$n.prototype.toJSON=$n.prototype.toHexString,$n.prototype.toString=$n.prototype.toHexString,Object.defineProperty(ht,"__esModule",{value:!0}),ht.FeatureChange=void 0,ht.isFeatureChange=function(e){return(0,Zn.isAssemblySpecificChange)(e)&&void 0!==e.changedIds};var Yn=et.__importDefault(Jn),Zn=rt,Xn=function(e){oe(n,e);var t=fe(n);function n(e,r){var o;return ee(this,n),(o=t.call(this,e,r)).changedIds=e.changedIds,o}return ne(n,[{key:"getFeatureFromId",value:function(e,t){var n,r,o,i,a=this.logger;if(null===(n=a.verbose)||void 0===n||n.call(a,"Entry=".concat(JSON.stringify(e))),e._id.equals(t))return null===(r=a.debug)||void 0===r||r.call(a,"Top level featureId matches in the object ".concat(JSON.stringify(e))),e;null===(o=a.debug)||void 0===o||o.call(a,"FeatureId was not found on top level so lets make recursive call...");var s,u=we(null!==(i=e.children)&&void 0!==i?i:new Map);try{for(u.s();!(s=u.n()).done;){var c=he(s.value,2),l=this.getFeatureFromId(c[1],t);if(l)return l}}catch(e){u.e(e)}finally{u.f()}return null}},{key:"getChildFeatureIds",value:function(e){if(!e.children)return[];var t,n=[],r=we((e.children instanceof Map?e.children:new Map(Object.entries(e.children)))||new Map);try{for(r.s();!(t=r.n()).done;){var o=he(t.value,2);n.push.apply(n,[o[0]].concat(me(this.getChildFeatureIds(o[1]))))}}catch(e){r.e(e)}finally{r.f()}return n}},{key:"generateNewIds",value:function(e,t){var n=(new Yn.default).toHexString();t.push(n);var r={};if(e.children)for(var o=0,i=Object.values(e.children);o<i.length;o++){var a=this.generateNewIds(i[o],t);r[a._id]=a}var s="string"==typeof e.refSeq?e.refSeq:e.refSeq.toHexString();return K(K({},e),{},{refSeq:s,children:e.children&&r,_id:n})}}]),n}(Zn.AssemblySpecificChange);ht.FeatureChange=Xn;var Qn={};Object.defineProperty(Qn,"__esModule",{value:!0}),Qn.operationRegistry=void 0,Qn.operationRegistry=new(function(){function e(){ee(this,e),this.operations=new Map}return ne(e,[{key:"registerOperation",value:function(e,t){if(this.operations.has(e))throw new Error('operation type "'.concat(e,'" has already been registered'));this.operations.set(e,t)}},{key:"getOperationType",value:function(e){var t=this.operations.get(e);if(!t)throw new Error('No operation constructor registered for "'.concat(e,'"'));return t}}]),e}());var er={};Object.defineProperty(er,"__esModule",{value:!0}),er.Validation=void 0,er.isContext=function(e){return"context"in e&&"reflector"in e};var tr=function(){function e(){ee(this,e)}var t,n,r,o,i;return ne(e,[{key:"frontendPreValidate",value:(i=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"frontendPostValidate",value:(o=Q(Y().mark((function e(t,n){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return o.apply(this,arguments)})},{key:"backendPreValidate",value:(r=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"backendPostValidate",value:(n=Q(Y().mark((function e(t,n){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"possibleValues",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",void 0);case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),e}();er.Validation=tr,function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=et;t.__exportStar(tt,e),t.__exportStar(rt,e),t.__exportStar(ot,e),t.__exportStar(it,e),t.__exportStar(ft,e),t.__exportStar(dt,e),t.__exportStar(ht,e),t.__exportStar(at,e),t.__exportStar(Qn,e),t.__exportStar(er,e)}(z);var nr={},rr={},or={},ir={},ar={},sr={};Object.defineProperty(sr,"__esModule",{value:!0}),sr.ApolloPlugin=void 0;var ur=function(e){oe(n,e);var t=fe(n);function n(){return ee(this,n),t.apply(this,arguments)}return ne(n,[{key:"apolloInstall",value:function(e){}}]),n}(et.__importDefault(C.default).default);sr.ApolloPlugin=ur;var cr={},lr={},fr={};Object.defineProperty(fr,"__esModule",{value:!0}),fr.changeRegistry=void 0,fr.changeRegistry=new(function(){function e(){ee(this,e),this.changes=new Map}return ne(e,[{key:"registerChange",value:function(e,t){if(this.changes.has(e))throw new Error('change type "'.concat(e,'" has already been registered'));this.changes.set(e,t)}},{key:"getChangeType",value:function(e){var t=this.changes.get(e);if(!t)throw new Error('No change constructor registered for "'.concat(e,'"'));return t}}]),e}());var dr={};Object.defineProperty(dr,"__esModule",{value:!0}),dr.Operation=void 0;var hr=function(){function e(t,n){var r;ee(this,e),this.logger=null!==(r=null==n?void 0:n.logger)&&void 0!==r?r:console}var t;return ne(e,[{key:"execute",value:(t=Q(Y().mark((function e(t){var n,r;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("Server"!==(n=t.typeName)){e.next=4;break}return r=this.executeOnServer(t),e.abrupt("return",t.pluginsService.evaluateExtensionPoint("".concat(this.typeName,"-transformResults"),r,{operation:this,backend:t}));case 4:if("LocalGFF3"!==n){e.next=6;break}return e.abrupt("return",this.executeOnLocalGFF3(t));case 6:throw new Error("no operation implementation for backend type '".concat(n,"'"));case 7:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}]),e}();dr.Operation=hr,Object.defineProperty(lr,"__esModule",{value:!0}),lr.Change=void 0,lr.isChange=function(e){return void 0!==e.executeOnClient};var pr=fr,mr=function(e){oe(r,e);var t,n=fe(r);function r(){return ee(this,r),n.apply(this,arguments)}return ne(r,[{key:"notification",get:function(){return""}},{key:"execute",value:(t=Q(Y().mark((function e(t){var n;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("LocalGFF3"!==(n=t.typeName)&&"Server"!==n){e.next=3;break}return e.abrupt("return",de(ie(r.prototype),"execute",this).call(this,t));case 3:if("Client"!==n){e.next=5;break}return e.abrupt("return",this.executeOnClient(t));case 5:throw new Error("no change implementation for backend type '".concat(n,"'"));case 6:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}],[{key:"fromJSON",value:function(e,t){return new(pr.changeRegistry.getChangeType(e.typeName))(e,(null==t?void 0:t.logger)&&{logger:t.logger})}}]),r}(dr.Operation);lr.Change=mr,Object.defineProperty(cr,"__esModule",{value:!0}),cr.AssemblySpecificChange=void 0,cr.isAssemblySpecificChange=function(e){return(0,gr.isChange)(e)&&void 0!==e.assembly};var gr=lr;cr.AssemblySpecificChange=function(e){oe(n,e);var t=fe(n);function n(e,r){var o;return ee(this,n),(o=t.call(this,e,r)).assembly=e.assembly,o}return ne(n)}(gr.Change);var yr={};Object.defineProperty(yr,"__esModule",{value:!0}),yr.Check=void 0,yr.Check=ne((function e(){ee(this,e)}));var vr={};Object.defineProperty(vr,"__esModule",{value:!0}),vr.checkRegistry=void 0,vr.checkRegistry=new(function(){function e(){ee(this,e),this.checks=new Map}return ne(e,[{key:"registerCheck",value:function(e,t){if(this.checks.has(e))throw new Error('check "'.concat(e,'" has already been registered'));this.checks.set(e,t)}},{key:"getCheck",value:function(e){var t=this.checks.get(e);if(!t)throw new Error('No check constructor registered for "'.concat(e,'"'));return t}},{key:"getChecks",value:function(){return this.checks}}]),e}());var _r={};Object.defineProperty(_r,"__esModule",{value:!0}),_r.FeatureChange=void 0,_r.isFeatureChange=function(e){return(0,wr.isAssemblySpecificChange)(e)&&void 0!==e.changedIds};var br=et.__importDefault(Jn),wr=cr,Sr=function(e){oe(n,e);var t=fe(n);function n(e,r){var o;return ee(this,n),(o=t.call(this,e,r)).changedIds=e.changedIds,o}return ne(n,[{key:"getFeatureFromId",value:function(e,t){var n,r,o,i,a=this.logger;if(null===(n=a.verbose)||void 0===n||n.call(a,"Entry=".concat(JSON.stringify(e))),e._id.equals(t))return null===(r=a.debug)||void 0===r||r.call(a,"Top level featureId matches in the object ".concat(JSON.stringify(e))),e;null===(o=a.debug)||void 0===o||o.call(a,"FeatureId was not found on top level so lets make recursive call...");var s,u=we(null!==(i=e.children)&&void 0!==i?i:new Map);try{for(u.s();!(s=u.n()).done;){var c=he(s.value,2),l=this.getFeatureFromId(c[1],t);if(l)return l}}catch(e){u.e(e)}finally{u.f()}return null}},{key:"getChildFeatureIds",value:function(e){if(!e.children)return[];var t,n=[],r=we((e.children instanceof Map?e.children:new Map(Object.entries(e.children)))||new Map);try{for(r.s();!(t=r.n()).done;){var o=he(t.value,2);n.push.apply(n,[o[0]].concat(me(this.getChildFeatureIds(o[1]))))}}catch(e){r.e(e)}finally{r.f()}return n}},{key:"generateNewIds",value:function(e,t){var n=(new br.default).toHexString();t.push(n);var r={};if(e.children)for(var o=0,i=Object.values(e.children);o<i.length;o++){var a=this.generateNewIds(i[o],t);r[a._id]=a}var s="string"==typeof e.refSeq?e.refSeq:e.refSeq.toHexString();return K(K({},e),{},{refSeq:s,children:e.children&&r,_id:n})}}]),n}(wr.AssemblySpecificChange);_r.FeatureChange=Sr;var xr={};Object.defineProperty(xr,"__esModule",{value:!0}),xr.operationRegistry=void 0,xr.operationRegistry=new(function(){function e(){ee(this,e),this.operations=new Map}return ne(e,[{key:"registerOperation",value:function(e,t){if(this.operations.has(e))throw new Error('operation type "'.concat(e,'" has already been registered'));this.operations.set(e,t)}},{key:"getOperationType",value:function(e){var t=this.operations.get(e);if(!t)throw new Error('No operation constructor registered for "'.concat(e,'"'));return t}}]),e}());var kr={};Object.defineProperty(kr,"__esModule",{value:!0}),kr.Validation=void 0,kr.isContext=function(e){return"context"in e&&"reflector"in e};var Er=function(){function e(){ee(this,e)}var t,n,r,o,i;return ne(e,[{key:"frontendPreValidate",value:(i=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"frontendPostValidate",value:(o=Q(Y().mark((function e(t,n){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return o.apply(this,arguments)})},{key:"backendPreValidate",value:(r=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"backendPostValidate",value:(n=Q(Y().mark((function e(t,n){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"possibleValues",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",void 0);case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),e}();kr.Validation=Er,function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=et;t.__exportStar(sr,e),t.__exportStar(cr,e),t.__exportStar(lr,e),t.__exportStar(fr,e),t.__exportStar(yr,e),t.__exportStar(vr,e),t.__exportStar(_r,e),t.__exportStar(dr,e),t.__exportStar(xr,e),t.__exportStar(kr,e)}(ar);var Ar={},Cr={};Object.defineProperty(Cr,"__esModule",{value:!0}),Cr.annotationFeatureToGFF3=Rr;var Or=O.default;function Rr(e,t,n){var r,o,i,a=JSON.parse(JSON.stringify(e.attributes)),s=[],u=null!==(r=null===(o=e.attributes)||void 0===o||null===(o=o.gff_source)||void 0===o?void 0:o[0])&&void 0!==r?r:null;delete a.gff_source,t&&(a.Parent=[t]),a.gff_id?(a.ID=a.gff_id,delete a.gff_id):e.children&&(a.ID=[e._id]),a.gff_name&&(a.Name=a.gff_name,delete a.gff_name),a.gff_alias&&(a.Alias=a.gff_alias,delete a.gff_alias),a.gff_target&&(a.Target=a.gff_target,delete a.gff_target),a.gff_gap&&(a.Gap=a.gff_gap,delete a.gff_gap),a.gff_derives_from&&(a.Derives_from=a.gff_derives_from,delete a.gff_derives_from),a.gff_note&&(a.Note=a.gff_note,delete a.gff_note),a.gff_dbxref&&(a.Dbxref=a.gff_dbxref,delete a.gff_dbxref),a.gff_is_circular&&(a.Is_circular=a.gff_is_circular,delete a.gff_is_circular),a.gff_ontology_term&&(s.push.apply(s,me(a.gff_ontology_term)),delete a.gff_ontology_term),a["Gene Ontology"]&&(s.push.apply(s,me(a["Gene Ontology"])),delete a["Gene Ontology"]),a["Sequence Ontology"]&&(s.push.apply(s,me(a["Sequence Ontology"])),delete a["Sequence Ontology"]),s.length>0&&(a.Ontology_term=s);var c=null===(i=e.attributes)||void 0===i?void 0:i.gff_score,l=null;return c&&c.length>0&&(c[0]&&(l=Number(c[0]),Number.isNaN(l)&&(l=null)),delete a.gff_score),[{start:e.min,end:e.max}].map((function(t){var r,o;return{start:Number(t.start)+1,end:Number(t.end),seq_id:n?null!==(r=n[e.refSeq])&&void 0!==r?r:null:e.refSeq,source:u,type:e.type,score:l,strand:e.strand?1===e.strand?"+":"-":null,phase:null,attributes:Object.keys(a).length>0?a:null,derived_features:[],child_features:Nr(e,null===(o=a.ID)||void 0===o?void 0:o[0],n)}}))}function Nr(e,t,n){if(!e.children)return[];if("mRNA"===e.type){for(var r=[],o=function(e){var t=function(e){if("mRNA"!==e.type)throw new Error('Only features of type "mRNA" or equivalent can calculate CDS locations');if(!e.children)throw new Error("no CDS or exons in mRNA");var t=Object.values(e.children),n=t.filter((function(e){return"CDS"===e.type}));if(0===n.length)throw new Error("no CDS in mRNA");var r,o=[],i=we(n);try{var a=function(){for(var n=r.value,i=n.max,a=n.min,s=[],u=!1,c=[],l=0,f=t;l<f.length;l++){var d=f[l];"exon"===d.type&&c.push({min:d.min,max:d.max})}c.sort((function(e,t){return e.min-t.min}));for(var h=0,p=c;h<p.length;h++){var m=p[h],g=s.at(-1);g&&s.push({min:g.max,max:m.min,type:"intron"});var y,v=he((0,Or.intersection2)(a,i,m.min,m.max),2),_=v[0],b=v[1];y=u?1===e.strand?"threePrimeUTR":"fivePrimeUTR":1===e.strand?"fivePrimeUTR":"threePrimeUTR",void 0!==_&&void 0!==b?(u=!0,_===m.min&&b===m.max?s.push({min:_,max:b,phase:0,type:"CDS"}):_===m.min?s.push({min:_,max:b,phase:0,type:"CDS"},{min:b,max:m.max,type:y}):b===m.max?s.push({min:m.min,max:_,type:y},{min:_,max:b,phase:0,type:"CDS"}):s.push({min:m.min,max:_,type:y},{min:_,max:b,phase:0,type:"CDS"},{min:b,max:m.max,type:"fivePrimeUTR"===y?"threePrimeUTR":"fivePrimeUTR"})):s.push({min:m.min,max:m.max,type:y})}s.sort((function(e,t){return e.min-t.min})),-1===e.strand&&s.reverse();var w=0,S=s.map((function(e){if("CDS"!==e.type)return e;var t=w;return w=(3-(e.max-e.min-t+3)%3)%3,K(K({},e),{},{phase:t})}));o.push(S)};for(i.s();!(r=i.n()).done;)a()}catch(e){i.e(e)}finally{i.f()}return o}(e);return t.map((function(e){return e.filter((function(e){return"CDS"===e.type}))}))}(e),i=0,a=0,s=Object.values(e.children);a<s.length;a++){var u=s[a],c=Rr(u,t,n);if("CDS"===u.type){var l,f=we(o[i]);try{for(f.s();!(l=f.n()).done;){var d=l.value,h=JSON.parse(JSON.stringify(c));if(1!=h.length)throw new Error("Unexpected CDS: ".concat(JSON.stringify(h,null,2)));h[0].start=d.min+1,h[0].end=d.max,h[0].phase=d.phase.toString(),h[0].type=d.type,r.push(h)}}catch(e){f.e(e)}finally{f.f()}i++}else r.push(c)}return r}return Object.values(e.children).map((function(e){return Rr(e,t,n)}))}var Ir={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.internalToGFF=e.gffToInternal=void 0,e.isGFFReservedAttribute=function(t){return t in e.gffToInternal},e.gffToInternal={ID:"gff_id",Name:"gff_name",Alias:"gff_alias",Parent:"gff_parent",Target:"gff_target",Gap:"gff_gap",Derives_from:"gff_derives_from",Note:"gff_note",Dbxref:"gff_dbxref",Ontology_term:"gff_ontology_term",Is_circular:"gff_is_circular"},e.internalToGFF={gff_id:"ID",gff_name:"Name",gff_alias:"Alias",gff_parent:"Parent",gff_target:"Target",gff_gap:"Gap",gff_derives_from:"Derives_from",gff_note:"Note",gff_dbxref:"Dbxref",gff_ontology_term:"Ontology_term",gff_is_circular:"Is_circular"}}(Ir);var Pr={};Object.defineProperty(Pr,"__esModule",{value:!0}),Pr.gff3ToAnnotationFeature=function e(t,n,r){var o=he(t,1)[0],i=o.end,a=o.seq_id,s=o.start,u=o.strand,c=o.type;if(!a)throw new Error("feature does not have seq_id: ".concat(JSON.stringify(o)));if(!c)throw new Error("feature does not have type: ".concat(JSON.stringify(o)));if(null===s)throw new Error("feature does not have start: ".concat(JSON.stringify(o)));if(null===i)throw new Error("feature does not have end: ".concat(JSON.stringify(o)));var l=he(function(e){if(e.length>1&&!e.every((function(e){return"CDS"===e.type})))throw new Error("GFF3 features has multiple locations but is not a CDS");var t=e.map((function(e){return e.start})).filter((function(e){return null!==e})),n=e.map((function(e){return e.end})).filter((function(e){return null!==e}));return[Math.min.apply(Math,me(t))-1,Math.max.apply(Math,me(n))]}(t),2),f=l[0],d=l[1],h=function(t,n,r){var o={},i=t.filter((function(e){return e.child_features.length>0}));if(i.length>1)throw new Error("Features with multiple locations may not have children");if(0!==i.length){var a,s=[],u=we(he(i,1)[0].child_features);try{for(u.s();!(a=u.n()).done;){var c=a.value,l=he(c,1)[0];if("three_prime_UTR"!==l.type&&"five_prime_UTR"!==l.type&&"intron"!==l.type&&"start_codon"!==l.type&&"stop_codon"!==l.type)if("CDS"===l.type)s.push(c);else{var f=e(c,n,r);o[f._id]=f}}}catch(e){u.e(e)}finally{u.f()}var d,h=s.length>0?function(t,n,r){var o=t.map((function(e){return e.length}));if(o.some((function(e){return e>1})))return t.map((function(t){return e(t,n,r)}));var i=t.map((function(e){return e[0]})).filter((function(e){return null!==e.start&&null!==e.end})).sort((function(e,t){return e.start-t.start}));if(!i.some((function(e,t){var n=i.at(t+1);return!!n&&(0,Tr.doesIntersect2)(e.start,e.end,n.start,n.end)})))return[e(i,n,r)];var a,s=t.map((function(e){return e[0]})),u=[],c=we(s);try{var l=function(){var e=a.value,t=u.at(-1);if(!t)return u.push([e]),1;t.some((function(t){return(0,Tr.doesIntersect2)(t.start,t.end,e.start,e.end)}))?u.push([e]):t.push(e)};for(c.s();!(a=c.n()).done;)l()}catch(e){c.e(e)}finally{c.f()}return u.map((function(t){return e(t,n,r)}))}(s,n,r):[],p=we(h);try{for(p.s();!(d=p.n()).done;){var m=d.value;o[m._id]=m}}catch(e){p.e(e)}finally{p.f()}return Object.keys(o).length>0?o:void 0}}(t,n,r),p=function(e){var t={},n=e.map((function(e){return e.score})).filter((function(e){return null!==e})),r=e.map((function(e){return e.source})).filter((function(e){return null!==e})),o=e.map((function(e){return e.attributes})).filter((function(e){return null!==e}));if(n.length>0){var i=he(n,1)[0];n.length>1&&(i=n.reduce((function(e,t){return e+t}),0)/n.length),t.gff_score=[String(i)]}if(r.length>0){var a=he(r,1)[0];r.length>1&&(a=me(new Set(r)).join(",")),t.gff_source=[a]}if(o.length>0){var s,u=we(o);try{for(u.s();!(s=u.n()).done;)for(var c=0,l=Object.entries(s.value);c<l.length;c++){var f=he(l[c],2),d=f[0],h=f[1];if(h&&"Parent"!==d){var p=(0,jr.isGFFReservedAttribute)(d)?jr.gffToInternal[d]:d,m=t[p];if(m){var g=new Set([].concat(me(m),me(h)));t[p]=me(g)}else t[p]=h}}}catch(e){u.e(e)}finally{u.f()}}if(Object.keys(t).length>0)return t}(t),m={_id:(new Mr.default).toHexString(),refSeq:null!=n?n:a,type:c,min:f,max:d};if(u)if("+"===u)m.strand=1;else{if("-"!==u)throw new Error('Unknown strand: "'.concat(u,'"'));m.strand=-1}return h&&(m.children=h),p&&(m.attributes=p),r&&r.push(m._id),m};var Tr=O.default,Mr=et.__importDefault(Jn),jr=Ir;!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=et;t.__exportStar(Cr,e),t.__exportStar(Ir,e),t.__exportStar(Pr,e)}(Ar),Object.defineProperty(ir,"__esModule",{value:!0}),ir.FromFileBaseChange=void 0;var Fr=Ar,Lr=function(e){oe(i,e);var t,n,r,o=fe(i);function i(){var e;ee(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return re(le(e=o.call.apply(o,[this].concat(n))),"refSeqCache",new Map),e}return ne(i,[{key:"addRefSeqIntoDb",value:(r=Q(Y().mark((function e(t,n,r){var o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A,C,O,R,N,I,P,T,M,j,F,L,D,q,B,U,z,G,H,V,$,J,Z,X;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=this.logger,a=r.filesService,s=r.refSeqChunkModel,u=r.refSeqModel,c=r.user,f=(l=qt.env.CHUNK_SIZE)&&Number(l),d=0,h=0,m="text/x-gff3"!==t.type,g=a.getFileStream(t),y="",v="",_=!0,b=!1,null===(o=i.debug)||void 0===o||o.call(i,"starting sequence stream"),w=0,S=!1,x=!1,e.prev=16,E=W(g);case 18:return e.next=20,E.next();case 20:if(!(S=!(A=e.sent).done)){e.next=102;break}C=A.value.toString(),_=!C.endsWith("\n"),O=C.split(/\r?\n/),v&&(O[0]="".concat(v).concat(O[0]),v=""),_&&(v=O.pop()||""),R=!1,N=!1,e.prev=29,P=W(O);case 31:return e.next=33,P.next();case 33:if(!(R=!(T=e.sent).done)){e.next=83;break}if(M=T.value,++w%1e6==0&&(null===(j=i.debug)||void 0===j||j.call(i,"Processed ".concat(w," lines"))),m){e.next=40;break}return"##FASTA"===M.trim()&&(m=!0),e.abrupt("continue",80);case 40:if(!(F=/^>\s*(\S+)\s*(.*)/.exec(M))){e.next=66;break}if(b=!0,null===(L=i.debug)||void 0===L||L.call(i,'Reference sequence information line "'.concat(F[0],'"')),""===y){e.next=51;break}if(p){e.next=47;break}throw new Error("No refSeq document found");case 47:return h+=y.length,e.next=50,s.create([{refSeq:p._id,n:d,sequence:y,user:c,status:-1}]);case 50:y="";case 51:return e.next=53,null===(D=p)||void 0===D?void 0:D.updateOne({length:h});case 53:return h=0,d=0,B=F[1].trim(),U=F[2]?F[2].trim():"",e.next=59,u.create([K(K({name:B,description:U,assembly:n,length:0},f?{chunkSize:f}:null),{},{user:c,status:-1})]);case 59:z=he(e.sent,1),G=z[0],null===(q=i.debug)||void 0===q||q.call(i,'Added new refSeq "'.concat(B,'", desc "').concat(U,'", docId "').concat(G._id,'"')),p=G,e.next=80;break;case 66:if(!/\S/.test(M)){e.next=80;break}if(p){e.next=69;break}throw new Error("No refSeq document found");case 69:V=(H=p)._id,$=H.chunkSize,y+=M.replaceAll(/\s/g,"");case 71:if(!(y.length>=$)){e.next=80;break}return J=y.slice(0,$),h+=J.length,e.next=76,s.create([{refSeq:V,n:d,sequence:J,user:c,status:-1}]);case 76:d++,y=y.slice($),e.next=71;break;case 80:R=!1,e.next=31;break;case 83:e.next=89;break;case 85:e.prev=85,e.t0=e.catch(29),N=!0,I=e.t0;case 89:if(e.prev=89,e.prev=90,!R||null==P.return){e.next=94;break}return e.next=94,P.return();case 94:if(e.prev=94,!N){e.next=97;break}throw I;case 97:return e.finish(94);case 98:return e.finish(89);case 99:S=!1,e.next=18;break;case 102:e.next=108;break;case 104:e.prev=104,e.t1=e.catch(16),x=!0,k=e.t1;case 108:if(e.prev=108,e.prev=109,!S||null==E.return){e.next=113;break}return e.next=113,E.return();case 113:if(e.prev=113,!x){e.next=116;break}throw k;case 116:return e.finish(113);case 117:return e.finish(108);case 118:if(b){e.next=120;break}throw new Error("No reference sequences found in file");case 120:if(!y&&!_){e.next=131;break}if(p){e.next=123;break}throw new Error("No refSeq document found");case 123:return _&&(y+=v),h+=y.length,null===(Z=i.verbose)||void 0===Z||Z.call(i,'*** Add the very last chunk to ref seq ("'.concat(p._id,'", index ').concat(d," and total length for ref seq is ").concat(h,'): "').concat(y,'"')),null===(X=i.debug)||void 0===X||X.call(i,"Creating refSeq chunk number ".concat(d,' of "').concat(p._id,'"')),e.next=129,s.create([{refSeq:p._id,n:d,sequence:y,user:c,status:-1}]);case 129:return e.next=131,p.updateOne({length:h});case 131:case"end":return e.stop()}}),e,this,[[16,104,108,118],[29,85,89,99],[90,,94,98],[109,,113,117]])}))),function(e,t,n){return r.apply(this,arguments)})},{key:"removeExistingFeatures",value:(n=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.featureModel,o=t.refSeqModel,i=this.assembly,null===(n=(a=this.logger).debug)||void 0===n||n.call(a,"Removing existing features for assembly = ".concat(i)),e.next=5,o.find({assembly:i}).exec();case 5:s=we(e.sent),e.prev=7,s.s();case 9:if((u=s.n()).done){e.next=15;break}return c=u.value,e.next=13,r.deleteMany({refSeq:c._id});case 13:e.next=9;break;case 15:e.next=20;break;case 17:e.prev=17,e.t0=e.catch(7),s.e(e.t0);case 20:return e.prev=20,s.f(),e.finish(20);case 23:case"end":return e.stop()}}),e,this,[[7,17,20,23]])}))),function(e){return n.apply(this,arguments)})},{key:"addFeatureIntoDb",value:(t=Q(Y().mark((function e(t,n){var r,o,i,a,s,u,c,l,f,d,h;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.featureModel,o=n.refSeqModel,i=n.user,a=this.assembly,s=this.refSeqCache,u=he(t,1),c=u[0].seq_id){e.next=5;break}throw new Error("Valid seq_id not found in feature ".concat(JSON.stringify(t)));case 5:if(l=s.get(c)){e.next=20;break}return e.next=9,o.findOne({assembly:a,name:c}).exec();case 9:if(e.t1=f=e.sent,e.t0=null!==e.t1,!e.t0){e.next=13;break}e.t0=void 0!==f;case 13:if(!e.t0){e.next=17;break}e.t2=f,e.next=18;break;case 17:e.t2=void 0;case 18:(l=e.t2)&&s.set(c,l);case 20:if(l){e.next=22;break}throw new Error('RefSeq was not found by assembly "'.concat(a,'" and seq_id "').concat(c,'" not found'));case 22:return h=(0,Fr.gff3ToAnnotationFeature)(t,l._id,d=[]),e.next=26,r.create([K(K({allIds:d},h),{},{user:i,status:-1})]);case 26:case"end":return e.stop()}}),e,this)}))),function(e,n){return t.apply(this,arguments)})}]),i}(ar.AssemblySpecificChange);ir.FromFileBaseChange=Lr,Object.defineProperty(or,"__esModule",{value:!0}),or.AddAssemblyAndFeaturesFromFileChange=void 0;var Dr=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","AddAssemblyAndFeaturesFromFileChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"notification",get:function(){return'Assembly "'.concat(this.changes[0].assemblyName,'" added successfully. To use it, please refresh the page.')}},{key:"toJSON",value:function(){var e=this.assembly,t=this.changes,n=this.typeName;if(1===t.length){var r=he(t,1)[0];return{typeName:n,assembly:e,assemblyName:r.assemblyName,fileIds:r.fileIds}}return{typeName:n,assembly:e,changes:t}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A,C,O,R;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.assemblyModel,r=t.checkModel,o=t.fileModel,i=t.filesService,a=t.user,s=this.assembly,u=this.logger,c=we(this.changes),e.prev=3,c.s();case 5:if((l=c.n()).done){e.next=71;break}if(g=(m=l.value).assemblyName,y=m.fileIds.fa,qt.env.FILE_UPLOAD_FOLDER){e.next=12;break}throw new Error("No FILE_UPLOAD_FOLDER found in .env file");case 12:return e.next=14,o.findById(y).exec();case 14:if(v=e.sent){e.next=17;break}throw new Error('File "'.concat(y,'" not found in Mongo'));case 17:return null===(f=u.debug)||void 0===f||f.call(u,'FileId "'.concat(y,'", checksum "').concat(v.checksum,'"')),e.next=20,n.findOne({name:g}).exec();case 20:if(!e.sent){e.next=23;break}throw new Error('Assembly "'.concat(g,'" already exists'));case 23:return e.next=25,r.find({default:!0}).exec();case 25:return _=e.sent.map((function(e){return e._id.toHexString()})),e.next=29,n.create([{_id:s,name:g,user:a,status:-1,fileId:y,checks:_}]);case 29:return b=he(e.sent,1),w=b[0],null===(d=u.debug)||void 0===d||d.call(u,'Added new assembly "'.concat(g,'", docId "').concat(w._id.toHexString(),'"')),null===(h=u.debug)||void 0===h||h.call(u,'File type: "'.concat(v.type,'"')),e.next=36,this.addRefSeqIntoDb(v,w._id.toString(),t);case 36:null===(p=u.debug)||void 0===p||p.call(u,'**************** LOOPATAAN KAIKKI FEATURET SEURAAVAKSI File type: "'.concat(v.type,'"')),S=i.parseGFF3(i.getFileStream(v)),x=!1,k=!1,e.prev=40,A=W(S);case 42:return e.next=44,A.next();case 44:if(!(x=!(C=e.sent).done)){e.next=53;break}return R=C.value,null===(O=u.verbose)||void 0===O||O.call(u,"ENTRY=".concat(JSON.stringify(R))),e.next=50,this.addFeatureIntoDb(R,t);case 50:x=!1,e.next=42;break;case 53:e.next=59;break;case 55:e.prev=55,e.t0=e.catch(40),k=!0,E=e.t0;case 59:if(e.prev=59,e.prev=60,!x||null==A.return){e.next=64;break}return e.next=64,A.return();case 64:if(e.prev=64,!k){e.next=67;break}throw E;case 67:return e.finish(64);case 68:return e.finish(59);case 69:e.next=5;break;case 71:e.next=76;break;case 73:e.prev=73,e.t1=e.catch(3),c.e(e.t1);case 76:return e.prev=76,c.f(),e.finish(76);case 79:case"end":return e.stop()}}),e,this,[[3,73,76,79],[40,55,59,69],[60,,64,68]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new i({typeName:this.typeName,changes:this.changes,assembly:this.assembly},{logger:this.logger})}}]),i}(ir.FromFileBaseChange);or.AddAssemblyAndFeaturesFromFileChange=Dr;var qr={},Br={},Ur=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};ee(this,e),this.baseOverrides={},this.url=t;var r=n.fetch||globalThis.fetch.bind(globalThis);if(!r)throw new TypeError("no fetch function supplied, and none found in global environment");n.overrides&&(this.baseOverrides=n.overrides),this.fetchImplementation=r}var t,n,r,o,i,a;return ne(e,[{key:"getBufferFromResponse",value:(a=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("function"!=typeof t.buffer){e.next=4;break}return e.abrupt("return",t.buffer());case 4:if("function"!=typeof t.arrayBuffer){e.next=11;break}return e.next=7,t.arrayBuffer();case 7:return e.abrupt("return",Xt.from(e.sent));case 11:throw new TypeError("invalid HTTP response object, has no buffer method, and no arrayBuffer method");case 12:case"end":return e.stop()}}),e)}))),function(e){return a.apply(this,arguments)})},{key:"fetch",value:(i=Q(Y().mark((function e(t,n){var r;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.fetchImplementation(t,n);case 3:case 12:r=e.sent,e.next=16;break;case 6:if(e.prev=6,e.t0=e.catch(0),!"".concat(e.t0).includes("Failed to fetch")){e.next=15;break}return console.warn("generic-filehandle: refetching ".concat(t," to attempt to work around chrome CORS header caching bug")),e.next=12,this.fetchImplementation(t,K(K({},n),{},{cache:"reload"}));case 15:throw e.t0;case 16:return e.abrupt("return",r);case 17:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(e,t){return i.apply(this,arguments)})},{key:"read",value:(o=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=y.length>1&&void 0!==y[1]?y[1]:0,o=y.length>3&&void 0!==y[3]?y[3]:0,s=void 0===(a=(i=y.length>4&&void 0!==y[4]?y[4]:{}).headers)?{}:a,u=i.signal,l=void 0===(c=i.overrides)?{}:c,(r=y.length>2?y[2]:void 0)<Infinity?s.range="bytes=".concat(o,"-").concat(o+r):Infinity===r&&0!==o&&(s.range="bytes=".concat(o,"-")),f=K(K(K({},this.baseOverrides),l),{},{headers:K(K(K({},s),l.headers),this.baseOverrides.headers),method:"GET",redirect:"follow",mode:"cors",signal:u}),e.next=9,this.fetch(this.url,f);case 9:if((d=e.sent).ok){e.next=12;break}throw new Error("HTTP ".concat(d.status," ").concat(d.statusText," ").concat(this.url));case 12:if((200!==d.status||0!==o)&&206!==d.status){e.next=21;break}return e.next=15,this.getBufferFromResponse(d);case 15:return p=(h=e.sent).copy(t,n,0,Math.min(r,h.length)),m=d.headers.get("content-range"),(g=/\/(\d+)$/.exec(m||""))&&g[1]&&(this._stat={size:parseInt(g[1],10)}),e.abrupt("return",{bytesRead:p,buffer:t});case 21:if(200!==d.status){e.next=23;break}throw new Error("${this.url} fetch returned status 200, expected 206");case 23:throw new Error("HTTP ".concat(d.status," fetching ").concat(this.url));case 24:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"readFile",value:(r=Q(Y().mark((function e(){var t,n,r,o,i,a,s,u,c,l=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return"string"==typeof(t=l.length>0&&void 0!==l[0]?l[0]:{})?(n=t,r={}):(n=t.encoding,delete(r=t).encoding),s=void 0===(a=(o=r).overrides)?{}:a,u=K(K({headers:void 0===(i=o.headers)?{}:i,method:"GET",redirect:"follow",mode:"cors",signal:o.signal},this.baseOverrides),s),e.next=6,this.fetch(this.url,u);case 6:if(c=e.sent){e.next=9;break}throw new Error("generic-filehandle failed to fetch");case 9:if(200===c.status){e.next=11;break}throw Object.assign(new Error("HTTP ".concat(c.status," fetching ").concat(this.url)),{status:c.status});case 11:if("utf8"!==n){e.next=13;break}return e.abrupt("return",c.text());case 13:if(!n){e.next=15;break}throw new Error("unsupported encoding: ".concat(n));case 15:return e.abrupt("return",this.getBufferFromResponse(c));case 16:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"stat",value:(n=Q(Y().mark((function e(){var t;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._stat){e.next=6;break}return t=Xt.allocUnsafe(10),e.next=4,this.read(t,0,10,0);case 4:if(this._stat){e.next=6;break}throw new Error("unable to determine size of file at ".concat(this.url));case 6:return e.abrupt("return",this._stat);case 7:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"close",value:(t=Q(Y().mark((function e(){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return");case 1:case"end":return e.stop()}}),e)}))),function(){return t.apply(this,arguments)})}]),e}();function zr(e){var t=new FileReader;return new Promise((function(n,r){t.onerror=function(){t.abort(),r(new Error("problem reading blob"))},t.onabort=function(){r(new Error("blob reading was aborted"))},t.onload=function(){t.result&&"string"!=typeof t.result?n(t.result):r(new Error("unknown error reading blob"))},t.readAsArrayBuffer(e)}))}function Gr(e){var t=new FileReader;return new Promise((function(n,r){t.onerror=function(){t.abort(),r(new Error("problem reading blob"))},t.onabort=function(){r(new Error("blob reading was aborted"))},t.onload=function(){t.result&&"string"==typeof t.result?n(t.result):r(new Error("unknown error reading blob"))},t.readAsText(e)}))}var Hr=function(){function e(t){ee(this,e),this.blob=t,this.size=t.size}var t,n,r,o;return ne(e,[{key:"read",value:(o=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=c.length>1&&void 0!==c[1]?c[1]:0,o=c.length>3&&void 0!==c[3]?c[3]:0,r=c.length>2?c[2]:void 0){e.next=5;break}return e.abrupt("return",{bytesRead:0,buffer:t});case 5:return a=(i=o)+r,e.next=9,zr(this.blob.slice(i,a));case 9:return s=Xt.from(e.sent),u=s.copy(t,n),e.abrupt("return",{bytesRead:u,buffer:s});case 13:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"readFile",value:(r=Q(Y().mark((function e(t){var n;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("utf8"!==(n="string"==typeof t?t:t&&t.encoding)){e.next=3;break}return e.abrupt("return",Gr(this.blob));case 3:if(!n){e.next=5;break}throw new Error("unsupported encoding: ".concat(n));case 5:return e.next=7,zr(this.blob);case 7:return e.abrupt("return",Xt.from(e.sent));case 9:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"stat",value:(n=Q(Y().mark((function e(){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{size:this.size});case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"close",value:(t=Q(Y().mark((function e(){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return");case 1:case"end":return e.stop()}}),e)}))),function(){return t.apply(this,arguments)})}]),e}();function Wr(e){return new Ur(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{})}var Vr={__proto__:null,open:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(void 0!==n)return n;if(void 0!==e)return Wr(e,r);if(void 0!==t)return new Br(t,r);throw new Error("no url, path, or filehandle provided, cannot open")},fromUrl:Wr,RemoteFile:Ur,LocalFile:Br,BlobFile:Hr},$r={};!function(e){var t="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function n(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if("object"!==Z(r))throw new TypeError(r+"must be non-object");for(var o in r)n(r,o)&&(e[o]=r[o])}}return e},e.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var r={arraySet:function(e,t,n,r,o){if(t.subarray&&e.subarray)e.set(t.subarray(n,n+r),o);else for(var i=0;i<r;i++)e[o+i]=t[n+i]},flattenChunks:function(e){var t,n,r,o,i,a;for(r=0,t=0,n=e.length;t<n;t++)r+=e[t].length;for(a=new Uint8Array(r),o=0,t=0,n=e.length;t<n;t++)a.set(i=e[t],o),o+=i.length;return a}},o={arraySet:function(e,t,n,r,o){for(var i=0;i<r;i++)e[o+i]=t[n+i]},flattenChunks:function(e){return[].concat.apply([],e)}};e.setTyped=function(t){t?(e.Buf8=Uint8Array,e.Buf16=Uint16Array,e.Buf32=Int32Array,e.assign(e,r)):(e.Buf8=Array,e.Buf16=Array,e.Buf32=Array,e.assign(e,o))},e.setTyped(t)}($r);var Jr={},Kr={},Yr={},Zr=$r;function Xr(e){for(var t=e.length;--t>=0;)e[t]=0}var Qr=15,eo=16,to=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],no=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],ro=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],oo=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],io=new Array(576);Xr(io);var ao=new Array(60);Xr(ao);var so=new Array(512);Xr(so);var uo=new Array(256);Xr(uo);var co=new Array(29);Xr(co);var lo,fo,ho,po=new Array(30);function mo(e,t,n,r,o){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=o,this.has_stree=e&&e.length}function go(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function yo(e){return e<256?so[e]:so[256+(e>>>7)]}function vo(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function _o(e,t,n){e.bi_valid>eo-n?(e.bi_buf|=t<<e.bi_valid&65535,vo(e,e.bi_buf),e.bi_buf=t>>eo-e.bi_valid,e.bi_valid+=n-eo):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)}function bo(e,t,n){_o(e,n[2*t],n[2*t+1])}function wo(e,t){var n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1}function So(e,t,n){var r,o,i=new Array(Qr+1),a=0;for(r=1;r<=Qr;r++)i[r]=a=a+n[r-1]<<1;for(o=0;o<=t;o++){var s=e[2*o+1];0!==s&&(e[2*o]=wo(i[s]++,s))}}function xo(e){var t;for(t=0;t<286;t++)e.dyn_ltree[2*t]=0;for(t=0;t<30;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function ko(e){e.bi_valid>8?vo(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function Eo(e,t,n,r){var o=2*t,i=2*n;return e[o]<e[i]||e[o]===e[i]&&r[t]<=r[n]}function Ao(e,t,n){for(var r=e.heap[n],o=n<<1;o<=e.heap_len&&(o<e.heap_len&&Eo(t,e.heap[o+1],e.heap[o],e.depth)&&o++,!Eo(t,r,e.heap[o],e.depth));)e.heap[n]=e.heap[o],n=o,o<<=1;e.heap[n]=r}function Co(e,t,n){var r,o,i,a,s=0;if(0!==e.last_lit)do{r=e.pending_buf[e.d_buf+2*s]<<8|e.pending_buf[e.d_buf+2*s+1],o=e.pending_buf[e.l_buf+s],s++,0===r?bo(e,o,t):(bo(e,(i=uo[o])+256+1,t),0!==(a=to[i])&&_o(e,o-=co[i],a),bo(e,i=yo(--r),n),0!==(a=no[i])&&_o(e,r-=po[i],a))}while(s<e.last_lit);bo(e,256,t)}function Oo(e,t){var n,r,o,i=t.dyn_tree,a=t.stat_desc.static_tree,s=t.stat_desc.has_stree,u=t.stat_desc.elems,c=-1;for(e.heap_len=0,e.heap_max=573,n=0;n<u;n++)0!==i[2*n]?(e.heap[++e.heap_len]=c=n,e.depth[n]=0):i[2*n+1]=0;for(;e.heap_len<2;)i[2*(o=e.heap[++e.heap_len]=c<2?++c:0)]=1,e.depth[o]=0,e.opt_len--,s&&(e.static_len-=a[2*o+1]);for(t.max_code=c,n=e.heap_len>>1;n>=1;n--)Ao(e,i,n);o=u;do{n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Ao(e,i,1),r=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=r,i[2*o]=i[2*n]+i[2*r],e.depth[o]=(e.depth[n]>=e.depth[r]?e.depth[n]:e.depth[r])+1,i[2*n+1]=i[2*r+1]=o,e.heap[1]=o++,Ao(e,i,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var n,r,o,i,a,s,u=t.dyn_tree,c=t.max_code,l=t.stat_desc.static_tree,f=t.stat_desc.has_stree,d=t.stat_desc.extra_bits,h=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(i=0;i<=Qr;i++)e.bl_count[i]=0;for(u[2*e.heap[e.heap_max]+1]=0,n=e.heap_max+1;n<573;n++)(i=u[2*u[2*(r=e.heap[n])+1]+1]+1)>p&&(i=p,m++),u[2*r+1]=i,r>c||(e.bl_count[i]++,a=0,r>=h&&(a=d[r-h]),e.opt_len+=(s=u[2*r])*(i+a),f&&(e.static_len+=s*(l[2*r+1]+a)));if(0!==m){do{for(i=p-1;0===e.bl_count[i];)i--;e.bl_count[i]--,e.bl_count[i+1]+=2,e.bl_count[p]--,m-=2}while(m>0);for(i=p;0!==i;i--)for(r=e.bl_count[i];0!==r;)(o=e.heap[--n])>c||(u[2*o+1]!==i&&(e.opt_len+=(i-u[2*o+1])*u[2*o],u[2*o+1]=i),r--)}}(e,t),So(i,c,e.bl_count)}function Ro(e,t,n){var r,o,i=-1,a=t[1],s=0,u=7,c=4;for(0===a&&(u=138,c=3),t[2*(n+1)+1]=65535,r=0;r<=n;r++)o=a,a=t[2*(r+1)+1],++s<u&&o===a||(s<c?e.bl_tree[2*o]+=s:0!==o?(o!==i&&e.bl_tree[2*o]++,e.bl_tree[32]++):s<=10?e.bl_tree[34]++:e.bl_tree[36]++,s=0,i=o,0===a?(u=138,c=3):o===a?(u=6,c=3):(u=7,c=4))}function No(e,t,n){var r,o,i=-1,a=t[1],s=0,u=7,c=4;for(0===a&&(u=138,c=3),r=0;r<=n;r++)if(o=a,a=t[2*(r+1)+1],!(++s<u&&o===a)){if(s<c)do{bo(e,o,e.bl_tree)}while(0!=--s);else 0!==o?(o!==i&&(bo(e,o,e.bl_tree),s--),bo(e,16,e.bl_tree),_o(e,s-3,2)):s<=10?(bo(e,17,e.bl_tree),_o(e,s-3,3)):(bo(e,18,e.bl_tree),_o(e,s-11,7));s=0,i=o,0===a?(u=138,c=3):o===a?(u=6,c=3):(u=7,c=4)}}Xr(po);var Io=!1;function Po(e,t,n,r){_o(e,0+(r?1:0),3),function(e,t,n,r){ko(e),vo(e,n),vo(e,~n),Zr.arraySet(e.pending_buf,e.window,t,n,e.pending),e.pending+=n}(e,t,n)}Yr._tr_init=function(e){Io||(function(){var e,t,n,r,o,i=new Array(Qr+1);for(n=0,r=0;r<28;r++)for(co[r]=n,e=0;e<1<<to[r];e++)uo[n++]=r;for(uo[n-1]=r,o=0,r=0;r<16;r++)for(po[r]=o,e=0;e<1<<no[r];e++)so[o++]=r;for(o>>=7;r<30;r++)for(po[r]=o<<7,e=0;e<1<<no[r]-7;e++)so[256+o++]=r;for(t=0;t<=Qr;t++)i[t]=0;for(e=0;e<=143;)io[2*e+1]=8,e++,i[8]++;for(;e<=255;)io[2*e+1]=9,e++,i[9]++;for(;e<=279;)io[2*e+1]=7,e++,i[7]++;for(;e<=287;)io[2*e+1]=8,e++,i[8]++;for(So(io,287,i),e=0;e<30;e++)ao[2*e+1]=5,ao[2*e]=wo(e,5);lo=new mo(io,to,257,286,Qr),fo=new mo(ao,no,0,30,Qr),ho=new mo(new Array(0),ro,0,19,7)}(),Io=!0),e.l_desc=new go(e.dyn_ltree,lo),e.d_desc=new go(e.dyn_dtree,fo),e.bl_desc=new go(e.bl_tree,ho),e.bi_buf=0,e.bi_valid=0,xo(e)},Yr._tr_stored_block=Po,Yr._tr_flush_block=function(e,t,n,r){var o,i,a=0;e.level>0?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,n=4093624447;for(t=0;t<=31;t++,n>>>=1)if(1&n&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<256;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0}(e)),Oo(e,e.l_desc),Oo(e,e.d_desc),a=function(e){var t;for(Ro(e,e.dyn_ltree,e.l_desc.max_code),Ro(e,e.dyn_dtree,e.d_desc.max_code),Oo(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*oo[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),(i=e.static_len+3+7>>>3)<=(o=e.opt_len+3+7>>>3)&&(o=i)):o=i=n+5,n+4<=o&&-1!==t?Po(e,t,n,r):4===e.strategy||i===o?(_o(e,2+(r?1:0),3),Co(e,io,ao)):(_o(e,4+(r?1:0),3),function(e,t,n,r){var o;for(_o(e,t-257,5),_o(e,n-1,5),_o(e,r-4,4),o=0;o<r;o++)_o(e,e.bl_tree[2*oo[o]+1],3);No(e,e.dyn_ltree,t-1),No(e,e.dyn_dtree,n-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),Co(e,e.dyn_ltree,e.dyn_dtree)),xo(e),r&&ko(e)},Yr._tr_tally=function(e,t,n){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&n,e.last_lit++,0===t?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(uo[n]+256+1)]++,e.dyn_dtree[2*yo(t)]++),e.last_lit===e.lit_bufsize-1},Yr._tr_align=function(e){_o(e,2,3),bo(e,256,io),function(e){16===e.bi_valid?(vo(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)};var To=function(e,t,n,r){for(var o=65535&e|0,i=e>>>16&65535|0,a=0;0!==n;){n-=a=n>2e3?2e3:n;do{i=i+(o=o+t[r++]|0)|0}while(--a);o%=65521,i%=65521}return o|i<<16|0};function Mo(){for(var e,t=[],n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t}var jo,Fo=Mo(),Lo=function(e,t,n,r){var o=Fo,i=r+n;e^=-1;for(var a=r;a<i;a++)e=e>>>8^o[255&(e^t[a])];return-1^e},Do={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},qo=$r,Bo=Yr,Uo=To,zo=Lo,Go=Do,Ho=0,Wo=0,Vo=-2,$o=2,Jo=8,Ko=286,Yo=30,Zo=19,Xo=2*Ko+1,Qo=15,ei=3,ti=258,ni=ti+ei+1,ri=42,oi=103,ii=113,ai=666;function si(e,t){return e.msg=Go[t],t}function ui(e){return(e<<1)-(e>4?9:0)}function ci(e){for(var t=e.length;--t>=0;)e[t]=0}function li(e){var t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),0!==n&&(qo.arraySet(e.output,t.pending_buf,t.pending_out,n,e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,0===t.pending&&(t.pending_out=0))}function fi(e,t){Bo._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,li(e.strm)}function di(e,t){e.pending_buf[e.pending++]=t}function hi(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function pi(e,t){var n,r,o=e.max_chain_length,i=e.strstart,a=e.prev_length,s=e.nice_match,u=e.strstart>e.w_size-ni?e.strstart-(e.w_size-ni):0,c=e.window,l=e.w_mask,f=e.prev,d=e.strstart+ti,h=c[i+a-1],p=c[i+a];e.prev_length>=e.good_match&&(o>>=2),s>e.lookahead&&(s=e.lookahead);do{if(c[(n=t)+a]===p&&c[n+a-1]===h&&c[n]===c[i]&&c[++n]===c[i+1]){i+=2,n++;do{}while(c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&i<d);if(r=ti-(d-i),i=d-ti,r>a){if(e.match_start=t,a=r,r>=s)break;h=c[i+a-1],p=c[i+a]}}}while((t=f[t&l])>u&&0!=--o);return a<=e.lookahead?a:e.lookahead}function mi(e){var t,n,r,o,i,a,s,u,c,l,f=e.w_size;do{if(o=e.window_size-e.lookahead-e.strstart,e.strstart>=f+(f-ni)){qo.arraySet(e.window,e.window,f,f,0),e.match_start-=f,e.strstart-=f,e.block_start-=f,t=n=e.hash_size;do{r=e.head[--t],e.head[t]=r>=f?r-f:0}while(--n);t=n=f;do{r=e.prev[--t],e.prev[t]=r>=f?r-f:0}while(--n);o+=f}if(0===e.strm.avail_in)break;if(s=e.window,u=e.strstart+e.lookahead,l=void 0,(l=(a=e.strm).avail_in)>(c=o)&&(l=c),n=0===l?0:(a.avail_in-=l,qo.arraySet(s,a.input,a.next_in,l,u),1===a.state.wrap?a.adler=Uo(a.adler,s,l,u):2===a.state.wrap&&(a.adler=zo(a.adler,s,l,u)),a.next_in+=l,a.total_in+=l,l),e.lookahead+=n,e.lookahead+e.insert>=ei)for(e.ins_h=e.window[i=e.strstart-e.insert],e.ins_h=(e.ins_h<<e.hash_shift^e.window[i+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[i+ei-1])&e.hash_mask,e.prev[i&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=i,i++,e.insert--,!(e.lookahead+e.insert<ei)););}while(e.lookahead<ni&&0!==e.strm.avail_in)}function gi(e,t){var n=65535;for(n>e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(mi(e),0===e.lookahead&&t===Ho)return 1;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var r=e.block_start+n;if((0===e.strstart||e.strstart>=r)&&(e.lookahead=e.strstart-r,e.strstart=r,fi(e,!1),0===e.strm.avail_out))return 1;if(e.strstart-e.block_start>=e.w_size-ni&&(fi(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(fi(e,!0),0===e.strm.avail_out?3:4):(e.strstart>e.block_start&&fi(e,!1),1)}function yi(e,t){for(var n,r;;){if(e.lookahead<ni){if(mi(e),e.lookahead<ni&&t===Ho)return 1;if(0===e.lookahead)break}if(n=0,e.lookahead>=ei&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+ei-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==n&&e.strstart-n<=e.w_size-ni&&(e.match_length=pi(e,n)),e.match_length>=ei)if(r=Bo._tr_tally(e,e.strstart-e.match_start,e.match_length-ei),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=ei){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+ei-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!=--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else r=Bo._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(fi(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<ei-1?e.strstart:ei-1,4===t?(fi(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(fi(e,!1),0===e.strm.avail_out)?1:2}function vi(e,t){for(var n,r,o;;){if(e.lookahead<ni){if(mi(e),e.lookahead<ni&&t===Ho)return 1;if(0===e.lookahead)break}if(n=0,e.lookahead>=ei&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+ei-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=ei-1,0!==n&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-ni&&(e.match_length=pi(e,n),e.match_length<=5&&(1===e.strategy||e.match_length===ei&&e.strstart-e.match_start>4096)&&(e.match_length=ei-1)),e.prev_length>=ei&&e.match_length<=e.prev_length){o=e.strstart+e.lookahead-ei,r=Bo._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-ei),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=o&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+ei-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!=--e.prev_length);if(e.match_available=0,e.match_length=ei-1,e.strstart++,r&&(fi(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if((r=Bo._tr_tally(e,0,e.window[e.strstart-1]))&&fi(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(r=Bo._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<ei-1?e.strstart:ei-1,4===t?(fi(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(fi(e,!1),0===e.strm.avail_out)?1:2}function _i(e,t,n,r,o){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=o}function bi(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Jo,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new qo.Buf16(2*Xo),this.dyn_dtree=new qo.Buf16(2*(2*Yo+1)),this.bl_tree=new qo.Buf16(2*(2*Zo+1)),ci(this.dyn_ltree),ci(this.dyn_dtree),ci(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new qo.Buf16(Qo+1),this.heap=new qo.Buf16(2*Ko+1),ci(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new qo.Buf16(2*Ko+1),ci(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function wi(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=$o,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?ri:ii,e.adler=2===t.wrap?0:1,t.last_flush=Ho,Bo._tr_init(t),Wo):si(e,Vo)}function Si(e){var t,n=wi(e);return n===Wo&&((t=e.state).window_size=2*t.w_size,ci(t.head),t.max_lazy_match=jo[t.level].max_lazy,t.good_match=jo[t.level].good_length,t.nice_match=jo[t.level].nice_length,t.max_chain_length=jo[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=ei-1,t.match_available=0,t.ins_h=0),n}function xi(e,t,n,r,o,i){if(!e)return Vo;var a=1;if(-1===t&&(t=6),r<0?(a=0,r=-r):r>15&&(a=2,r-=16),o<1||o>9||n!==Jo||r<8||r>15||t<0||t>9||i<0||i>4)return si(e,Vo);8===r&&(r=9);var s=new bi;return e.state=s,s.strm=e,s.wrap=a,s.gzhead=null,s.w_bits=r,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=o+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+ei-1)/ei),s.window=new qo.Buf8(2*s.w_size),s.head=new qo.Buf16(s.hash_size),s.prev=new qo.Buf16(s.w_size),s.lit_bufsize=1<<o+6,s.pending_buf_size=4*s.lit_bufsize,s.pending_buf=new qo.Buf8(s.pending_buf_size),s.d_buf=1*s.lit_bufsize,s.l_buf=3*s.lit_bufsize,s.level=t,s.strategy=i,s.method=n,Si(e)}jo=[new _i(0,0,0,0,gi),new _i(4,4,8,4,yi),new _i(4,5,16,8,yi),new _i(4,6,32,32,yi),new _i(4,4,16,16,vi),new _i(8,16,32,32,vi),new _i(8,16,128,128,vi),new _i(8,32,128,256,vi),new _i(32,128,258,1024,vi),new _i(32,258,258,4096,vi)],Kr.deflateInit=function(e,t){return xi(e,t,Jo,15,8,0)},Kr.deflateInit2=xi,Kr.deflateReset=Si,Kr.deflateResetKeep=wi,Kr.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?Vo:(e.state.gzhead=t,Wo):Vo},Kr.deflate=function(e,t){var n,r,o,i;if(!e||!e.state||t>5||t<0)return e?si(e,Vo):Vo;if(r=e.state,!e.output||!e.input&&0!==e.avail_in||r.status===ai&&4!==t)return si(e,0===e.avail_out?-5:Vo);if(r.strm=e,n=r.last_flush,r.last_flush=t,r.status===ri)if(2===r.wrap)e.adler=0,di(r,31),di(r,139),di(r,8),r.gzhead?(di(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),di(r,255&r.gzhead.time),di(r,r.gzhead.time>>8&255),di(r,r.gzhead.time>>16&255),di(r,r.gzhead.time>>24&255),di(r,9===r.level?2:r.strategy>=2||r.level<2?4:0),di(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(di(r,255&r.gzhead.extra.length),di(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(e.adler=zo(e.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69):(di(r,0),di(r,0),di(r,0),di(r,0),di(r,0),di(r,9===r.level?2:r.strategy>=2||r.level<2?4:0),di(r,3),r.status=ii);else{var a=Jo+(r.w_bits-8<<4)<<8;a|=(r.strategy>=2||r.level<2?0:r.level<6?1:6===r.level?2:3)<<6,0!==r.strstart&&(a|=32),a+=31-a%31,r.status=ii,hi(r,a),0!==r.strstart&&(hi(r,e.adler>>>16),hi(r,65535&e.adler)),e.adler=1}if(69===r.status)if(r.gzhead.extra){for(o=r.pending;r.gzindex<(65535&r.gzhead.extra.length)&&(r.pending!==r.pending_buf_size||(r.gzhead.hcrc&&r.pending>o&&(e.adler=zo(e.adler,r.pending_buf,r.pending-o,o)),li(e),o=r.pending,r.pending!==r.pending_buf_size));)di(r,255&r.gzhead.extra[r.gzindex]),r.gzindex++;r.gzhead.hcrc&&r.pending>o&&(e.adler=zo(e.adler,r.pending_buf,r.pending-o,o)),r.gzindex===r.gzhead.extra.length&&(r.gzindex=0,r.status=73)}else r.status=73;if(73===r.status)if(r.gzhead.name){o=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>o&&(e.adler=zo(e.adler,r.pending_buf,r.pending-o,o)),li(e),o=r.pending,r.pending===r.pending_buf_size)){i=1;break}i=r.gzindex<r.gzhead.name.length?255&r.gzhead.name.charCodeAt(r.gzindex++):0,di(r,i)}while(0!==i);r.gzhead.hcrc&&r.pending>o&&(e.adler=zo(e.adler,r.pending_buf,r.pending-o,o)),0===i&&(r.gzindex=0,r.status=91)}else r.status=91;if(91===r.status)if(r.gzhead.comment){o=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>o&&(e.adler=zo(e.adler,r.pending_buf,r.pending-o,o)),li(e),o=r.pending,r.pending===r.pending_buf_size)){i=1;break}i=r.gzindex<r.gzhead.comment.length?255&r.gzhead.comment.charCodeAt(r.gzindex++):0,di(r,i)}while(0!==i);r.gzhead.hcrc&&r.pending>o&&(e.adler=zo(e.adler,r.pending_buf,r.pending-o,o)),0===i&&(r.status=oi)}else r.status=oi;if(r.status===oi&&(r.gzhead.hcrc?(r.pending+2>r.pending_buf_size&&li(e),r.pending+2<=r.pending_buf_size&&(di(r,255&e.adler),di(r,e.adler>>8&255),e.adler=0,r.status=ii)):r.status=ii),0!==r.pending){if(li(e),0===e.avail_out)return r.last_flush=-1,Wo}else if(0===e.avail_in&&ui(t)<=ui(n)&&4!==t)return si(e,-5);if(r.status===ai&&0!==e.avail_in)return si(e,-5);if(0!==e.avail_in||0!==r.lookahead||t!==Ho&&r.status!==ai){var s=2===r.strategy?function(e,t){for(var n;;){if(0===e.lookahead&&(mi(e),0===e.lookahead)){if(t===Ho)return 1;break}if(e.match_length=0,n=Bo._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(fi(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(fi(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(fi(e,!1),0===e.strm.avail_out)?1:2}(r,t):3===r.strategy?function(e,t){for(var n,r,o,i,a=e.window;;){if(e.lookahead<=ti){if(mi(e),e.lookahead<=ti&&t===Ho)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=ei&&e.strstart>0&&(r=a[o=e.strstart-1])===a[++o]&&r===a[++o]&&r===a[++o]){i=e.strstart+ti;do{}while(r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&o<i);e.match_length=ti-(i-o),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=ei?(n=Bo._tr_tally(e,1,e.match_length-ei),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=Bo._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(fi(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(fi(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(fi(e,!1),0===e.strm.avail_out)?1:2}(r,t):jo[r.level].func(r,t);if(3!==s&&4!==s||(r.status=ai),1===s||3===s)return 0===e.avail_out&&(r.last_flush=-1),Wo;if(2===s&&(1===t?Bo._tr_align(r):5!==t&&(Bo._tr_stored_block(r,0,0,!1),3===t&&(ci(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),li(e),0===e.avail_out))return r.last_flush=-1,Wo}return 4!==t?Wo:r.wrap<=0?1:(2===r.wrap?(di(r,255&e.adler),di(r,e.adler>>8&255),di(r,e.adler>>16&255),di(r,e.adler>>24&255),di(r,255&e.total_in),di(r,e.total_in>>8&255),di(r,e.total_in>>16&255),di(r,e.total_in>>24&255)):(hi(r,e.adler>>>16),hi(r,65535&e.adler)),li(e),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?Wo:1)},Kr.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==ri&&69!==t&&73!==t&&91!==t&&t!==oi&&t!==ii&&t!==ai?si(e,Vo):(e.state=null,t===ii?si(e,-3):Wo):Vo},Kr.deflateSetDictionary=function(e,t){var n,r,o,i,a,s,u,c,l=t.length;if(!e||!e.state)return Vo;if(2===(i=(n=e.state).wrap)||1===i&&n.status!==ri||n.lookahead)return Vo;for(1===i&&(e.adler=Uo(e.adler,t,l,0)),n.wrap=0,l>=n.w_size&&(0===i&&(ci(n.head),n.strstart=0,n.block_start=0,n.insert=0),c=new qo.Buf8(n.w_size),qo.arraySet(c,t,l-n.w_size,n.w_size,0),t=c,l=n.w_size),a=e.avail_in,s=e.next_in,u=e.input,e.avail_in=l,e.next_in=0,e.input=t,mi(n);n.lookahead>=ei;){r=n.strstart,o=n.lookahead-(ei-1);do{n.ins_h=(n.ins_h<<n.hash_shift^n.window[r+ei-1])&n.hash_mask,n.prev[r&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=r,r++}while(--o);n.strstart=r,n.lookahead=ei-1,mi(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=ei-1,n.match_available=0,e.next_in=s,e.input=u,e.avail_in=a,n.wrap=i,Wo},Kr.deflateInfo="pako deflate (from Nodeca project)";var ki={},Ei=$r,Ai=!0,Ci=!0;try{String.fromCharCode.apply(null,[0])}catch(e){Ai=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){Ci=!1}for(var Oi=new Ei.Buf8(256),Ri=0;Ri<256;Ri++)Oi[Ri]=Ri>=252?6:Ri>=248?5:Ri>=240?4:Ri>=224?3:Ri>=192?2:1;function Ni(e,t){if(t<65534&&(e.subarray&&Ci||!e.subarray&&Ai))return String.fromCharCode.apply(null,Ei.shrinkBuf(e,t));for(var n="",r=0;r<t;r++)n+=String.fromCharCode(e[r]);return n}Oi[254]=Oi[254]=1,ki.string2buf=function(e){var t,n,r,o,i,a=e.length,s=0;for(o=0;o<a;o++)55296==(64512&(n=e.charCodeAt(o)))&&o+1<a&&56320==(64512&(r=e.charCodeAt(o+1)))&&(n=65536+(n-55296<<10)+(r-56320),o++),s+=n<128?1:n<2048?2:n<65536?3:4;for(t=new Ei.Buf8(s),i=0,o=0;i<s;o++)55296==(64512&(n=e.charCodeAt(o)))&&o+1<a&&56320==(64512&(r=e.charCodeAt(o+1)))&&(n=65536+(n-55296<<10)+(r-56320),o++),n<128?t[i++]=n:n<2048?(t[i++]=192|n>>>6,t[i++]=128|63&n):n<65536?(t[i++]=224|n>>>12,t[i++]=128|n>>>6&63,t[i++]=128|63&n):(t[i++]=240|n>>>18,t[i++]=128|n>>>12&63,t[i++]=128|n>>>6&63,t[i++]=128|63&n);return t},ki.buf2binstring=function(e){return Ni(e,e.length)},ki.binstring2buf=function(e){for(var t=new Ei.Buf8(e.length),n=0,r=t.length;n<r;n++)t[n]=e.charCodeAt(n);return t},ki.buf2string=function(e,t){var n,r,o,i,a=t||e.length,s=new Array(2*a);for(r=0,n=0;n<a;)if((o=e[n++])<128)s[r++]=o;else if((i=Oi[o])>4)s[r++]=65533,n+=i-1;else{for(o&=2===i?31:3===i?15:7;i>1&&n<a;)o=o<<6|63&e[n++],i--;i>1?s[r++]=65533:o<65536?s[r++]=o:(s[r++]=55296|(o-=65536)>>10&1023,s[r++]=56320|1023&o)}return Ni(s,r)},ki.utf8border=function(e,t){var n;for((t=t||e.length)>e.length&&(t=e.length),n=t-1;n>=0&&128==(192&e[n]);)n--;return n<0||0===n?t:n+Oi[e[n]]>t?n:t};var Ii=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0},Pi=Kr,Ti=$r,Mi=ki,ji=Do,Fi=Ii,Li=Object.prototype.toString,Di=0,qi=-1,Bi=0,Ui=8;function zi(e){if(!(this instanceof zi))return new zi(e);this.options=Ti.assign({level:qi,method:Ui,chunkSize:16384,windowBits:15,memLevel:8,strategy:Bi,to:""},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Fi,this.strm.avail_out=0;var n=Pi.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==Di)throw new Error(ji[n]);if(t.header&&Pi.deflateSetHeader(this.strm,t.header),t.dictionary){var r;if(r="string"==typeof t.dictionary?Mi.string2buf(t.dictionary):"[object ArrayBuffer]"===Li.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(n=Pi.deflateSetDictionary(this.strm,r))!==Di)throw new Error(ji[n]);this._dict_set=!0}}function Gi(e,t){var n=new zi(t);if(n.push(e,!0),n.err)throw n.msg||ji[n.err];return n.result}zi.prototype.push=function(e,t){var n,r,o=this.strm,i=this.options.chunkSize;if(this.ended)return!1;r=t===~~t?t:!0===t?4:0,o.input="string"==typeof e?Mi.string2buf(e):"[object ArrayBuffer]"===Li.call(e)?new Uint8Array(e):e,o.next_in=0,o.avail_in=o.input.length;do{if(0===o.avail_out&&(o.output=new Ti.Buf8(i),o.next_out=0,o.avail_out=i),1!==(n=Pi.deflate(o,r))&&n!==Di)return this.onEnd(n),this.ended=!0,!1;0!==o.avail_out&&(0!==o.avail_in||4!==r&&2!==r)||this.onData("string"===this.options.to?Mi.buf2binstring(Ti.shrinkBuf(o.output,o.next_out)):Ti.shrinkBuf(o.output,o.next_out))}while((o.avail_in>0||0===o.avail_out)&&1!==n);return 4===r?(n=Pi.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===Di):2!==r||(this.onEnd(Di),o.avail_out=0,!0)},zi.prototype.onData=function(e){this.chunks.push(e)},zi.prototype.onEnd=function(e){e===Di&&(this.result="string"===this.options.to?this.chunks.join(""):Ti.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},Jr.Deflate=zi,Jr.deflate=Gi,Jr.deflateRaw=function(e,t){return(t=t||{}).raw=!0,Gi(e,t)},Jr.gzip=function(e,t){return(t=t||{}).gzip=!0,Gi(e,t)};var Hi={},Wi={},Vi=$r,$i=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],Ji=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],Ki=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],Yi=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64],Zi=$r,Xi=To,Qi=Lo,ea=function(e,t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A;E=e.input,o=(r=e.next_in)+(e.avail_in-5),A=e.output,a=(i=e.next_out)-(t-e.avail_out),s=i+(e.avail_out-257),u=(n=e.state).dmax,c=n.wsize,l=n.whave,f=n.wnext,d=n.window,h=n.hold,p=n.bits,m=n.lencode,g=n.distcode,y=(1<<n.lenbits)-1,v=(1<<n.distbits)-1;e:do{p<15&&(h+=E[r++]<<p,h+=E[r++]<<(p+=8),p+=8),_=m[h&y];t:for(;;){if(h>>>=b=_>>>24,p-=b,0==(b=_>>>16&255))A[i++]=65535&_;else{if(!(16&b)){if(0==(64&b)){_=m[(65535&_)+(h&(1<<b)-1)];continue t}if(32&b){n.mode=12;break e}e.msg="invalid literal/length code",n.mode=30;break e}w=65535&_,(b&=15)&&(p<b&&(h+=E[r++]<<p,p+=8),w+=h&(1<<b)-1,h>>>=b,p-=b),p<15&&(h+=E[r++]<<p,h+=E[r++]<<(p+=8),p+=8),_=g[h&v];n:for(;;){if(h>>>=b=_>>>24,p-=b,!(16&(b=_>>>16&255))){if(0==(64&b)){_=g[(65535&_)+(h&(1<<b)-1)];continue n}e.msg="invalid distance code",n.mode=30;break e}if(S=65535&_,p<(b&=15)&&(h+=E[r++]<<p,(p+=8)<b&&(h+=E[r++]<<p,p+=8)),(S+=h&(1<<b)-1)>u){e.msg="invalid distance too far back",n.mode=30;break e}if(h>>>=b,p-=b,S>(b=i-a)){if((b=S-b)>l&&n.sane){e.msg="invalid distance too far back",n.mode=30;break e}if(x=0,k=d,0===f){if(x+=c-b,b<w){w-=b;do{A[i++]=d[x++]}while(--b);x=i-S,k=A}}else if(f<b){if(x+=c+f-b,(b-=f)<w){w-=b;do{A[i++]=d[x++]}while(--b);if(x=0,f<w){w-=b=f;do{A[i++]=d[x++]}while(--b);x=i-S,k=A}}}else if(x+=f-b,b<w){w-=b;do{A[i++]=d[x++]}while(--b);x=i-S,k=A}for(;w>2;)A[i++]=k[x++],A[i++]=k[x++],A[i++]=k[x++],w-=3;w&&(A[i++]=k[x++],w>1&&(A[i++]=k[x++]))}else{x=i-S;do{A[i++]=A[x++],A[i++]=A[x++],A[i++]=A[x++],w-=3}while(w>2);w&&(A[i++]=A[x++],w>1&&(A[i++]=A[x++]))}break}}break}}while(r<o&&i<s);h&=(1<<(p-=(w=p>>3)<<3))-1,e.next_in=r-=w,e.next_out=i,e.avail_in=r<o?o-r+5:5-(r-o),e.avail_out=i<s?s-i+257:257-(i-s),n.hold=h,n.bits=p},ta=function(e,t,n,r,o,i,a,s){var u,c,l,f,d,h,p,m,g,y=s.bits,v=0,_=0,b=0,w=0,S=0,x=0,k=0,E=0,A=0,C=0,O=null,R=0,N=new Vi.Buf16(16),I=new Vi.Buf16(16),P=null,T=0;for(v=0;v<=15;v++)N[v]=0;for(_=0;_<r;_++)N[t[n+_]]++;for(S=y,w=15;w>=1&&0===N[w];w--);if(S>w&&(S=w),0===w)return o[i++]=20971520,o[i++]=20971520,s.bits=1,0;for(b=1;b<w&&0===N[b];b++);for(S<b&&(S=b),E=1,v=1;v<=15;v++)if(E<<=1,(E-=N[v])<0)return-1;if(E>0&&(0===e||1!==w))return-1;for(I[1]=0,v=1;v<15;v++)I[v+1]=I[v]+N[v];for(_=0;_<r;_++)0!==t[n+_]&&(a[I[t[n+_]]++]=_);if(0===e?(O=P=a,h=19):1===e?(O=$i,R-=257,P=Ji,T-=257,h=256):(O=Ki,P=Yi,h=-1),C=0,_=0,v=b,d=i,x=S,k=0,l=-1,f=(A=1<<S)-1,1===e&&A>852||2===e&&A>592)return 1;for(;;){p=v-k,a[_]<h?(m=0,g=a[_]):a[_]>h?(m=P[T+a[_]],g=O[R+a[_]]):(m=96,g=0),u=1<<v-k,b=c=1<<x;do{o[d+(C>>k)+(c-=u)]=p<<24|m<<16|g|0}while(0!==c);for(u=1<<v-1;C&u;)u>>=1;if(0!==u?(C&=u-1,C+=u):C=0,_++,0==--N[v]){if(v===w)break;v=t[n+a[_]]}if(v>S&&(C&f)!==l){for(0===k&&(k=S),d+=b,E=1<<(x=v-k);x+k<w&&!((E-=N[x+k])<=0);)x++,E<<=1;if(A+=1<<x,1===e&&A>852||2===e&&A>592)return 1;o[l=C&f]=S<<24|x<<16|d-i|0}}return 0!==C&&(o[d+C]=v-k<<24|64<<16|0),s.bits=S,0},na=0,ra=-2,oa=1,ia=12,aa=30,sa=852,ua=592;function ca(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function la(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Zi.Buf16(320),this.work=new Zi.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function fa(e){var t;return e&&e.state?(e.total_in=e.total_out=(t=e.state).total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=oa,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Zi.Buf32(sa),t.distcode=t.distdyn=new Zi.Buf32(ua),t.sane=1,t.back=-1,na):ra}function da(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,fa(e)):ra}function ha(e,t){var n,r;return e&&e.state?(t<0?(n=0,t=-t):(n=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?ra:(null!==(r=e.state).window&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,da(e))):ra}function pa(e,t){var n,r;return e?(r=new la,e.state=r,r.window=null,(n=ha(e,t))!==na&&(e.state=null),n):ra}var ma,ga,ya=!0;function va(e){if(ya){var t;for(ma=new Zi.Buf32(512),ga=new Zi.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(ta(1,e.lens,0,288,ma,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;ta(2,e.lens,0,32,ga,0,e.work,{bits:5}),ya=!1}e.lencode=ma,e.lenbits=9,e.distcode=ga,e.distbits=5}function _a(e,t,n,r){var o,i=e.state;return null===i.window&&(i.wsize=1<<i.wbits,i.wnext=0,i.whave=0,i.window=new Zi.Buf8(i.wsize)),r>=i.wsize?(Zi.arraySet(i.window,t,n-i.wsize,i.wsize,0),i.wnext=0,i.whave=i.wsize):((o=i.wsize-i.wnext)>r&&(o=r),Zi.arraySet(i.window,t,n-r,o,i.wnext),(r-=o)?(Zi.arraySet(i.window,t,n-r,r,0),i.wnext=r,i.whave=i.wsize):(i.wnext+=o,i.wnext===i.wsize&&(i.wnext=0),i.whave<i.wsize&&(i.whave+=o))),0}Wi.inflateReset=da,Wi.inflateReset2=ha,Wi.inflateResetKeep=fa,Wi.inflateInit=function(e){return pa(e,15)},Wi.inflateInit2=pa,Wi.inflate=function(e,t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A=0,C=new Zi.Buf8(4),O=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return ra;(n=e.state).mode===ia&&(n.mode=13),a=e.next_out,o=e.output,i=e.next_in,r=e.input,c=n.hold,l=n.bits,f=s=e.avail_in,d=u=e.avail_out,x=na;e:for(;;)switch(n.mode){case oa:if(0===n.wrap){n.mode=13;break}for(;l<16;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(2&n.wrap&&35615===c){n.check=0,C[0]=255&c,C[1]=c>>>8&255,n.check=Qi(n.check,C,2,0),c=0,l=0,n.mode=2;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&c)<<8)+(c>>8))%31){e.msg="incorrect header check",n.mode=aa;break}if(8!=(15&c)){e.msg="unknown compression method",n.mode=aa;break}if(l-=4,S=8+(15&(c>>>=4)),0===n.wbits)n.wbits=S;else if(S>n.wbits){e.msg="invalid window size",n.mode=aa;break}n.dmax=1<<S,e.adler=n.check=1,n.mode=512&c?10:ia,c=0,l=0;break;case 2:for(;l<16;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(n.flags=c,8!=(255&n.flags)){e.msg="unknown compression method",n.mode=aa;break}if(57344&n.flags){e.msg="unknown header flags set",n.mode=aa;break}n.head&&(n.head.text=c>>8&1),512&n.flags&&(C[0]=255&c,C[1]=c>>>8&255,n.check=Qi(n.check,C,2,0)),c=0,l=0,n.mode=3;case 3:for(;l<32;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}n.head&&(n.head.time=c),512&n.flags&&(C[0]=255&c,C[1]=c>>>8&255,C[2]=c>>>16&255,C[3]=c>>>24&255,n.check=Qi(n.check,C,4,0)),c=0,l=0,n.mode=4;case 4:for(;l<16;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}n.head&&(n.head.xflags=255&c,n.head.os=c>>8),512&n.flags&&(C[0]=255&c,C[1]=c>>>8&255,n.check=Qi(n.check,C,2,0)),c=0,l=0,n.mode=5;case 5:if(1024&n.flags){for(;l<16;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}n.length=c,n.head&&(n.head.extra_len=c),512&n.flags&&(C[0]=255&c,C[1]=c>>>8&255,n.check=Qi(n.check,C,2,0)),c=0,l=0}else n.head&&(n.head.extra=null);n.mode=6;case 6:if(1024&n.flags&&((h=n.length)>s&&(h=s),h&&(n.head&&(S=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),Zi.arraySet(n.head.extra,r,i,h,S)),512&n.flags&&(n.check=Qi(n.check,r,h,i)),s-=h,i+=h,n.length-=h),n.length))break e;n.length=0,n.mode=7;case 7:if(2048&n.flags){if(0===s)break e;h=0;do{S=r[i+h++],n.head&&S&&n.length<65536&&(n.head.name+=String.fromCharCode(S))}while(S&&h<s);if(512&n.flags&&(n.check=Qi(n.check,r,h,i)),s-=h,i+=h,S)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=8;case 8:if(4096&n.flags){if(0===s)break e;h=0;do{S=r[i+h++],n.head&&S&&n.length<65536&&(n.head.comment+=String.fromCharCode(S))}while(S&&h<s);if(512&n.flags&&(n.check=Qi(n.check,r,h,i)),s-=h,i+=h,S)break e}else n.head&&(n.head.comment=null);n.mode=9;case 9:if(512&n.flags){for(;l<16;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(c!==(65535&n.check)){e.msg="header crc mismatch",n.mode=aa;break}c=0,l=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=ia;break;case 10:for(;l<32;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}e.adler=n.check=ca(c),c=0,l=0,n.mode=11;case 11:if(0===n.havedict)return e.next_out=a,e.avail_out=u,e.next_in=i,e.avail_in=s,n.hold=c,n.bits=l,2;e.adler=n.check=1,n.mode=ia;case ia:if(5===t||6===t)break e;case 13:if(n.last){c>>>=7&l,l-=7&l,n.mode=27;break}for(;l<3;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}switch(n.last=1&c,l-=1,3&(c>>>=1)){case 0:n.mode=14;break;case 1:if(va(n),n.mode=20,6===t){c>>>=2,l-=2;break e}break;case 2:n.mode=17;break;case 3:e.msg="invalid block type",n.mode=aa}c>>>=2,l-=2;break;case 14:for(c>>>=7&l,l-=7&l;l<32;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if((65535&c)!=(c>>>16^65535)){e.msg="invalid stored block lengths",n.mode=aa;break}if(n.length=65535&c,c=0,l=0,n.mode=15,6===t)break e;case 15:n.mode=16;case 16:if(h=n.length){if(h>s&&(h=s),h>u&&(h=u),0===h)break e;Zi.arraySet(o,r,i,h,a),s-=h,i+=h,u-=h,a+=h,n.length-=h;break}n.mode=ia;break;case 17:for(;l<14;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(n.nlen=257+(31&c),l-=5,n.ndist=1+(31&(c>>>=5)),l-=5,n.ncode=4+(15&(c>>>=5)),c>>>=4,l-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=aa;break}n.have=0,n.mode=18;case 18:for(;n.have<n.ncode;){for(;l<3;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}n.lens[O[n.have++]]=7&c,c>>>=3,l-=3}for(;n.have<19;)n.lens[O[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,x=ta(0,n.lens,0,19,n.lencode,0,n.work,k={bits:n.lenbits}),n.lenbits=k.bits,x){e.msg="invalid code lengths set",n.mode=aa;break}n.have=0,n.mode=19;case 19:for(;n.have<n.nlen+n.ndist;){for(;y=(A=n.lencode[c&(1<<n.lenbits)-1])>>>16&255,v=65535&A,!((g=A>>>24)<=l);){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(v<16)c>>>=g,l-=g,n.lens[n.have++]=v;else{if(16===v){for(E=g+2;l<E;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(c>>>=g,l-=g,0===n.have){e.msg="invalid bit length repeat",n.mode=aa;break}S=n.lens[n.have-1],h=3+(3&c),c>>>=2,l-=2}else if(17===v){for(E=g+3;l<E;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}l-=g,S=0,h=3+(7&(c>>>=g)),c>>>=3,l-=3}else{for(E=g+7;l<E;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}l-=g,S=0,h=11+(127&(c>>>=g)),c>>>=7,l-=7}if(n.have+h>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=aa;break}for(;h--;)n.lens[n.have++]=S}}if(n.mode===aa)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=aa;break}if(n.lenbits=9,x=ta(1,n.lens,0,n.nlen,n.lencode,0,n.work,k={bits:n.lenbits}),n.lenbits=k.bits,x){e.msg="invalid literal/lengths set",n.mode=aa;break}if(n.distbits=6,n.distcode=n.distdyn,x=ta(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,k={bits:n.distbits}),n.distbits=k.bits,x){e.msg="invalid distances set",n.mode=aa;break}if(n.mode=20,6===t)break e;case 20:n.mode=21;case 21:if(s>=6&&u>=258){e.next_out=a,e.avail_out=u,e.next_in=i,e.avail_in=s,n.hold=c,n.bits=l,ea(e,d),a=e.next_out,o=e.output,u=e.avail_out,i=e.next_in,r=e.input,s=e.avail_in,c=n.hold,l=n.bits,n.mode===ia&&(n.back=-1);break}for(n.back=0;y=(A=n.lencode[c&(1<<n.lenbits)-1])>>>16&255,v=65535&A,!((g=A>>>24)<=l);){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(y&&0==(240&y)){for(_=g,b=y,w=v;y=(A=n.lencode[w+((c&(1<<_+b)-1)>>_)])>>>16&255,v=65535&A,!(_+(g=A>>>24)<=l);){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}c>>>=_,l-=_,n.back+=_}if(c>>>=g,l-=g,n.back+=g,n.length=v,0===y){n.mode=26;break}if(32&y){n.back=-1,n.mode=ia;break}if(64&y){e.msg="invalid literal/length code",n.mode=aa;break}n.extra=15&y,n.mode=22;case 22:if(n.extra){for(E=n.extra;l<E;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}n.length+=c&(1<<n.extra)-1,c>>>=n.extra,l-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=23;case 23:for(;y=(A=n.distcode[c&(1<<n.distbits)-1])>>>16&255,v=65535&A,!((g=A>>>24)<=l);){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(0==(240&y)){for(_=g,b=y,w=v;y=(A=n.distcode[w+((c&(1<<_+b)-1)>>_)])>>>16&255,v=65535&A,!(_+(g=A>>>24)<=l);){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}c>>>=_,l-=_,n.back+=_}if(c>>>=g,l-=g,n.back+=g,64&y){e.msg="invalid distance code",n.mode=aa;break}n.offset=v,n.extra=15&y,n.mode=24;case 24:if(n.extra){for(E=n.extra;l<E;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}n.offset+=c&(1<<n.extra)-1,c>>>=n.extra,l-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=aa;break}n.mode=25;case 25:if(0===u)break e;if(n.offset>(h=d-u)){if((h=n.offset-h)>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=aa;break}p=h>n.wnext?n.wsize-(h-=n.wnext):n.wnext-h,h>n.length&&(h=n.length),m=n.window}else m=o,p=a-n.offset,h=n.length;h>u&&(h=u),u-=h,n.length-=h;do{o[a++]=m[p++]}while(--h);0===n.length&&(n.mode=21);break;case 26:if(0===u)break e;o[a++]=n.length,u--,n.mode=21;break;case 27:if(n.wrap){for(;l<32;){if(0===s)break e;s--,c|=r[i++]<<l,l+=8}if(e.total_out+=d-=u,n.total+=d,d&&(e.adler=n.check=n.flags?Qi(n.check,o,d,a-d):Xi(n.check,o,d,a-d)),d=u,(n.flags?c:ca(c))!==n.check){e.msg="incorrect data check",n.mode=aa;break}c=0,l=0}n.mode=28;case 28:if(n.wrap&&n.flags){for(;l<32;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(c!==(4294967295&n.total)){e.msg="incorrect length check",n.mode=aa;break}c=0,l=0}n.mode=29;case 29:x=1;break e;case aa:x=-3;break e;case 31:return-4;default:return ra}return e.next_out=a,e.avail_out=u,e.next_in=i,e.avail_in=s,n.hold=c,n.bits=l,(n.wsize||d!==e.avail_out&&n.mode<aa&&(n.mode<27||4!==t))&&_a(e,e.output,e.next_out,d-e.avail_out),d-=e.avail_out,e.total_in+=f-=e.avail_in,e.total_out+=d,n.total+=d,n.wrap&&d&&(e.adler=n.check=n.flags?Qi(n.check,o,d,e.next_out-d):Xi(n.check,o,d,e.next_out-d)),e.data_type=n.bits+(n.last?64:0)+(n.mode===ia?128:0)+(20===n.mode||15===n.mode?256:0),(0===f&&0===d||4===t)&&x===na&&(x=-5),x},Wi.inflateEnd=function(e){if(!e||!e.state)return ra;var t=e.state;return t.window&&(t.window=null),e.state=null,na},Wi.inflateGetHeader=function(e,t){var n;return e&&e.state?0==(2&(n=e.state).wrap)?ra:(n.head=t,t.done=!1,na):ra},Wi.inflateSetDictionary=function(e,t){var n,r=t.length;return e&&e.state?0!==(n=e.state).wrap&&11!==n.mode?ra:11===n.mode&&Xi(1,t,r,0)!==n.check?-3:_a(e,t,r,r)?(n.mode=31,-4):(n.havedict=1,na):ra},Wi.inflateInfo="pako inflate (from Nodeca project)";var ba={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},wa=Wi,Sa=$r,xa=ki,ka=ba,Ea=Do,Aa=Ii,Ca=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1},Oa=Object.prototype.toString;function Ra(e){if(!(this instanceof Ra))return new Ra(e);this.options=Sa.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Aa,this.strm.avail_out=0;var n=wa.inflateInit2(this.strm,t.windowBits);if(n!==ka.Z_OK)throw new Error(Ea[n]);if(this.header=new Ca,wa.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=xa.string2buf(t.dictionary):"[object ArrayBuffer]"===Oa.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=wa.inflateSetDictionary(this.strm,t.dictionary))!==ka.Z_OK))throw new Error(Ea[n])}function Na(e,t){var n=new Ra(t);if(n.push(e,!0),n.err)throw n.msg||Ea[n.err];return n.result}Ra.prototype.push=function(e,t){var n,r,o,i,a,s=this.strm,u=this.options.chunkSize,c=this.options.dictionary,l=!1;if(this.ended)return!1;r=t===~~t?t:!0===t?ka.Z_FINISH:ka.Z_NO_FLUSH,s.input="string"==typeof e?xa.binstring2buf(e):"[object ArrayBuffer]"===Oa.call(e)?new Uint8Array(e):e,s.next_in=0,s.avail_in=s.input.length;do{if(0===s.avail_out&&(s.output=new Sa.Buf8(u),s.next_out=0,s.avail_out=u),(n=wa.inflate(s,ka.Z_NO_FLUSH))===ka.Z_NEED_DICT&&c&&(n=wa.inflateSetDictionary(this.strm,c)),n===ka.Z_BUF_ERROR&&!0===l&&(n=ka.Z_OK,l=!1),n!==ka.Z_STREAM_END&&n!==ka.Z_OK)return this.onEnd(n),this.ended=!0,!1;s.next_out&&(0!==s.avail_out&&n!==ka.Z_STREAM_END&&(0!==s.avail_in||r!==ka.Z_FINISH&&r!==ka.Z_SYNC_FLUSH)||("string"===this.options.to?(o=xa.utf8border(s.output,s.next_out),i=s.next_out-o,a=xa.buf2string(s.output,o),s.next_out=i,s.avail_out=u-i,i&&Sa.arraySet(s.output,s.output,o,i,0),this.onData(a)):this.onData(Sa.shrinkBuf(s.output,s.next_out)))),0===s.avail_in&&0===s.avail_out&&(l=!0)}while((s.avail_in>0||0===s.avail_out)&&n!==ka.Z_STREAM_END);return n===ka.Z_STREAM_END&&(r=ka.Z_FINISH),r===ka.Z_FINISH?(n=wa.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===ka.Z_OK):r!==ka.Z_SYNC_FLUSH||(this.onEnd(ka.Z_OK),s.avail_out=0,!0)},Ra.prototype.onData=function(e){this.chunks.push(e)},Ra.prototype.onEnd=function(e){e===ka.Z_OK&&(this.result="string"===this.options.to?this.chunks.join(""):Sa.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},Hi.Inflate=Ra,Hi.inflate=Na,Hi.inflateRaw=function(e,t){return(t=t||{}).raw=!0,Na(e,t)},Hi.ungzip=Na;var Ia={};(0,$r.assign)(Ia,Jr,Hi,ba);var Pa=Ia;function Ta(e){return Ma.apply(this,arguments)}function Ma(){return Ma=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.prev=0,r=0,o=0,i=[],a=0;case 5:if(u=t.subarray(r),s=new Pa.Inflate,n=s.strm,s.push(u,Pa.Z_SYNC_FLUSH),!s.err){e.next=12;break}throw new Error(s.msg);case 12:r+=n.next_in,i[o]=s.result,a+=i[o].length,o+=1;case 16:if(n.avail_in){e.next=5;break}case 17:for(c=new Uint8Array(a),l=0,f=0;l<i.length;l++)c.set(i[l],f),f+=i[l].length;return e.abrupt("return",Xt.from(c));case 22:if(e.prev=22,e.t0=e.catch(0),!"".concat(e.t0).match(/incorrect header check/)){e.next=26;break}throw new Error("problem decompressing block: incorrect gzip header check");case 26:throw e.t0;case 27:case"end":return e.stop()}}),e,null,[[0,22]])}))),Ma.apply(this,arguments)}var ja=null;try{ja=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch(Su){}function Fa(e,t,n){this.low=0|e,this.high=0|t,this.unsigned=!!n}function La(e){return!0===(e&&e.__isLong__)}function Da(e){var t=Math.clz32(e&-e);return e?31-t:t}Object.defineProperty(Fa.prototype,"__isLong__",{value:!0}),Fa.isLong=La;var qa={},Ba={};function Ua(e,t){var n,r,o;return t?(o=0<=(e>>>=0)&&e<256)&&(r=Ba[e])?r:(n=Ga(e,0,!0),o&&(Ba[e]=n),n):(o=-128<=(e|=0)&&e<128)&&(r=qa[e])?r:(n=Ga(e,e<0?-1:0,!1),o&&(qa[e]=n),n)}function za(e,t){if(isNaN(e))return t?Xa:Za;if(t){if(e<0)return Xa;if(e>=Ja)return rs}else{if(e<=-Ka)return os;if(e+1>=Ka)return ns}return e<0?za(-e,t).neg():Ga(e%$a|0,e/$a|0,t)}function Ga(e,t,n){return new Fa(e,t,n)}Fa.fromInt=Ua,Fa.fromNumber=za,Fa.fromBits=Ga;var Ha=Math.pow;function Wa(e,t,n){if(0===e.length)throw Error("empty string");if("number"==typeof t?(n=t,t=!1):t=!!t,"NaN"===e||"Infinity"===e||"+Infinity"===e||"-Infinity"===e)return t?Xa:Za;if((n=n||10)<2||36<n)throw RangeError("radix");var r;if((r=e.indexOf("-"))>0)throw Error("interior hyphen");if(0===r)return Wa(e.substring(1),t,n).neg();for(var o=za(Ha(n,8)),i=Za,a=0;a<e.length;a+=8){var s=Math.min(8,e.length-a),u=parseInt(e.substring(a,a+s),n);if(s<8){var c=za(Ha(n,s));i=i.mul(c).add(za(u))}else i=(i=i.mul(o)).add(za(u))}return i.unsigned=t,i}function Va(e,t){return"number"==typeof e?za(e,t):"string"==typeof e?Wa(e,t):Ga(e.low,e.high,"boolean"==typeof t?t:e.unsigned)}Fa.fromString=Wa,Fa.fromValue=Va;var $a=4294967296,Ja=$a*$a,Ka=Ja/2,Ya=Ua(16777216),Za=Ua(0);Fa.ZERO=Za;var Xa=Ua(0,!0);Fa.UZERO=Xa;var Qa=Ua(1);Fa.ONE=Qa;var es=Ua(1,!0);Fa.UONE=es;var ts=Ua(-1);Fa.NEG_ONE=ts;var ns=Ga(-1,2147483647,!1);Fa.MAX_VALUE=ns;var rs=Ga(-1,-1,!0);Fa.MAX_UNSIGNED_VALUE=rs;var os=Ga(0,-2147483648,!1);Fa.MIN_VALUE=os;var is=Fa.prototype;is.toInt=function(){return this.unsigned?this.low>>>0:this.low},is.toNumber=function(){return this.unsigned?(this.high>>>0)*$a+(this.low>>>0):this.high*$a+(this.low>>>0)},is.toString=function(e){if((e=e||10)<2||36<e)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative()){if(this.eq(os)){var t=za(e),n=this.div(t),r=n.mul(t).sub(this);return n.toString(e)+r.toInt().toString(e)}return"-"+this.neg().toString(e)}for(var o=za(Ha(e,6),this.unsigned),i=this,a="";;){var s=i.div(o),u=(i.sub(s.mul(o)).toInt()>>>0).toString(e);if((i=s).isZero())return u+a;for(;u.length<6;)u="0"+u;a=""+u+a}},is.getHighBits=function(){return this.high},is.getHighBitsUnsigned=function(){return this.high>>>0},is.getLowBits=function(){return this.low},is.getLowBitsUnsigned=function(){return this.low>>>0},is.getNumBitsAbs=function(){if(this.isNegative())return this.eq(os)?64:this.neg().getNumBitsAbs();for(var e=0!=this.high?this.high:this.low,t=31;t>0&&0==(e&1<<t);t--);return 0!=this.high?t+33:t+1},is.isZero=function(){return 0===this.high&&0===this.low},is.eqz=is.isZero,is.isNegative=function(){return!this.unsigned&&this.high<0},is.isPositive=function(){return this.unsigned||this.high>=0},is.isOdd=function(){return 1==(1&this.low)},is.isEven=function(){return 0==(1&this.low)},is.equals=function(e){return La(e)||(e=Va(e)),(this.unsigned===e.unsigned||this.high>>>31!=1||e.high>>>31!=1)&&this.high===e.high&&this.low===e.low},is.eq=is.equals,is.notEquals=function(e){return!this.eq(e)},is.neq=is.notEquals,is.ne=is.notEquals,is.lessThan=function(e){return this.comp(e)<0},is.lt=is.lessThan,is.lessThanOrEqual=function(e){return this.comp(e)<=0},is.lte=is.lessThanOrEqual,is.le=is.lessThanOrEqual,is.greaterThan=function(e){return this.comp(e)>0},is.gt=is.greaterThan,is.greaterThanOrEqual=function(e){return this.comp(e)>=0},is.gte=is.greaterThanOrEqual,is.ge=is.greaterThanOrEqual,is.compare=function(e){if(La(e)||(e=Va(e)),this.eq(e))return 0;var t=this.isNegative(),n=e.isNegative();return t&&!n?-1:!t&&n?1:this.unsigned?e.high>>>0>this.high>>>0||e.high===this.high&&e.low>>>0>this.low>>>0?-1:1:this.sub(e).isNegative()?-1:1},is.comp=is.compare,is.negate=function(){return!this.unsigned&&this.eq(os)?os:this.not().add(Qa)},is.neg=is.negate,is.add=function(e){La(e)||(e=Va(e));var t=0,n=0,r=0,o=0;return r+=(o+=(65535&this.low)+(65535&e.low))>>>16,n+=(r+=(this.low>>>16)+(e.low>>>16))>>>16,t+=(n+=(65535&this.high)+(65535&e.high))>>>16,t+=(this.high>>>16)+(e.high>>>16),Ga((r&=65535)<<16|(o&=65535),(t&=65535)<<16|(n&=65535),this.unsigned)},is.subtract=function(e){return La(e)||(e=Va(e)),this.add(e.neg())},is.sub=is.subtract,is.multiply=function(e){if(this.isZero())return this;if(La(e)||(e=Va(e)),ja)return Ga(ja.mul(this.low,this.high,e.low,e.high),ja.get_high(),this.unsigned);if(e.isZero())return this.unsigned?Xa:Za;if(this.eq(os))return e.isOdd()?os:Za;if(e.eq(os))return this.isOdd()?os:Za;if(this.isNegative())return e.isNegative()?this.neg().mul(e.neg()):this.neg().mul(e).neg();if(e.isNegative())return this.mul(e.neg()).neg();if(this.lt(Ya)&&e.lt(Ya))return za(this.toNumber()*e.toNumber(),this.unsigned);var t=65535&this.high,n=this.low>>>16,r=65535&this.low,o=65535&e.high,i=e.low>>>16,a=65535&e.low,s=0,u=0,c=0,l=0;return c+=(l+=r*a)>>>16,u+=(c+=n*a)>>>16,c&=65535,u+=(c+=r*i)>>>16,s+=(u+=t*a)>>>16,u&=65535,s+=(u+=n*i)>>>16,u&=65535,s+=(u+=r*o)>>>16,s+=(this.high>>>16)*a+t*i+n*o+r*(e.high>>>16),Ga((c&=65535)<<16|(l&=65535),(s&=65535)<<16|(u&=65535),this.unsigned)},is.mul=is.multiply,is.divide=function(e){if(La(e)||(e=Va(e)),e.isZero())throw Error("division by zero");var t,n,r;if(ja)return this.unsigned||-2147483648!==this.high||-1!==e.low||-1!==e.high?Ga((this.unsigned?ja.div_u:ja.div_s)(this.low,this.high,e.low,e.high),ja.get_high(),this.unsigned):this;if(this.isZero())return this.unsigned?Xa:Za;if(this.unsigned){if(e.unsigned||(e=e.toUnsigned()),e.gt(this))return Xa;if(e.gt(this.shru(1)))return es;r=Xa}else{if(this.eq(os))return e.eq(Qa)||e.eq(ts)?os:e.eq(os)?Qa:(t=this.shr(1).div(e).shl(1)).eq(Za)?e.isNegative()?Qa:ts:(n=this.sub(e.mul(t)),r=t.add(n.div(e)));if(e.eq(os))return this.unsigned?Xa:Za;if(this.isNegative())return e.isNegative()?this.neg().div(e.neg()):this.neg().div(e).neg();if(e.isNegative())return this.div(e.neg()).neg();r=Za}for(n=this;n.gte(e);){t=Math.max(1,Math.floor(n.toNumber()/e.toNumber()));for(var o=Math.ceil(Math.log(t)/Math.LN2),i=o<=48?1:Ha(2,o-48),a=za(t),s=a.mul(e);s.isNegative()||s.gt(n);)s=(a=za(t-=i,this.unsigned)).mul(e);a.isZero()&&(a=Qa),r=r.add(a),n=n.sub(s)}return r},is.div=is.divide,is.modulo=function(e){return La(e)||(e=Va(e)),ja?Ga((this.unsigned?ja.rem_u:ja.rem_s)(this.low,this.high,e.low,e.high),ja.get_high(),this.unsigned):this.sub(this.div(e).mul(e))},is.mod=is.modulo,is.rem=is.modulo,is.not=function(){return Ga(~this.low,~this.high,this.unsigned)},is.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32},is.clz=is.countLeadingZeros,is.countTrailingZeros=function(){return this.low?Da(this.low):Da(this.high)+32},is.ctz=is.countTrailingZeros,is.and=function(e){return La(e)||(e=Va(e)),Ga(this.low&e.low,this.high&e.high,this.unsigned)},is.or=function(e){return La(e)||(e=Va(e)),Ga(this.low|e.low,this.high|e.high,this.unsigned)},is.xor=function(e){return La(e)||(e=Va(e)),Ga(this.low^e.low,this.high^e.high,this.unsigned)},is.shiftLeft=function(e){return La(e)&&(e=e.toInt()),0==(e&=63)?this:e<32?Ga(this.low<<e,this.high<<e|this.low>>>32-e,this.unsigned):Ga(0,this.low<<e-32,this.unsigned)},is.shl=is.shiftLeft,is.shiftRight=function(e){return La(e)&&(e=e.toInt()),0==(e&=63)?this:e<32?Ga(this.low>>>e|this.high<<32-e,this.high>>e,this.unsigned):Ga(this.high>>e-32,this.high>=0?0:-1,this.unsigned)},is.shr=is.shiftRight,is.shiftRightUnsigned=function(e){return La(e)&&(e=e.toInt()),0==(e&=63)?this:e<32?Ga(this.low>>>e|this.high<<32-e,this.high>>>e,this.unsigned):Ga(32===e?this.high:this.high>>>e-32,0,this.unsigned)},is.shru=is.shiftRightUnsigned,is.shr_u=is.shiftRightUnsigned,is.rotateLeft=function(e){var t;return La(e)&&(e=e.toInt()),0==(e&=63)?this:32===e?Ga(this.high,this.low,this.unsigned):e<32?Ga(this.low<<e|this.high>>>(t=32-e),this.high<<e|this.low>>>t,this.unsigned):Ga(this.high<<(e-=32)|this.low>>>(t=32-e),this.low<<e|this.high>>>t,this.unsigned)},is.rotl=is.rotateLeft,is.rotateRight=function(e){var t;return La(e)&&(e=e.toInt()),0==(e&=63)?this:32===e?Ga(this.high,this.low,this.unsigned):e<32?Ga(this.high<<(t=32-e)|this.low>>>e,this.low<<t|this.high>>>e,this.unsigned):Ga(this.low<<(t=32-(e-=32))|this.high>>>e,this.high<<t|this.low>>>e,this.unsigned)},is.rotr=is.rotateRight,is.toSigned=function(){return this.unsigned?Ga(this.low,this.high,!1):this},is.toUnsigned=function(){return this.unsigned?this:Ga(this.low,this.high,!0)},is.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()},is.toBytesLE=function(){var e=this.high,t=this.low;return[255&t,t>>>8&255,t>>>16&255,t>>>24,255&e,e>>>8&255,e>>>16&255,e>>>24]},is.toBytesBE=function(){var e=this.high,t=this.low;return[e>>>24,e>>>16&255,e>>>8&255,255&e,t>>>24,t>>>16&255,t>>>8&255,255&t]},Fa.fromBytes=function(e,t,n){return n?Fa.fromBytesLE(e,t):Fa.fromBytesBE(e,t)},Fa.fromBytesLE=function(e,t){return new Fa(e[0]|e[1]<<8|e[2]<<16|e[3]<<24,e[4]|e[5]<<8|e[6]<<16|e[7]<<24,t)},Fa.fromBytesBE=function(e,t){return new Fa(e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[0]<<24|e[1]<<16|e[2]<<8|e[3],t)};var as=function(){function e(t){var n=t.filehandle,r=t.path;if(ee(this,e),n)this.filehandle=n;else{if(!r)throw new TypeError("either filehandle or path must be defined");this.filehandle=new Br(r)}}var t,n,r;return ne(e,[{key:"_readLongWithOverflow",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=Fa.fromBytesLE(e.slice(t,t+8),n);if(r.greaterThan(Number.MAX_SAFE_INTEGER)||r.lessThan(Number.MIN_SAFE_INTEGER))throw new TypeError("integer overflow");return r.toNumber()}},{key:"_getIndex",value:function(){return this.index||(this.index=this._readIndex()),this.index}},{key:"_readIndex",value:(r=Q(Y().mark((function e(){var t,n,r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=Xt.allocUnsafe(8),e.next=3,this.filehandle.read(t,0,8,0);case 3:if(n=this._readLongWithOverflow(t,0,!0)){e.next=6;break}return e.abrupt("return",[[0,0]]);case 6:if((r=new Array(n+1))[0]=[0,0],!((o=16*n)>Number.MAX_SAFE_INTEGER)){e.next=11;break}throw new TypeError("integer overflow");case 11:return t=Xt.allocUnsafe(o),e.next=14,this.filehandle.read(t,0,o,8);case 14:for(i=0;i<n;i+=1)a=this._readLongWithOverflow(t,16*i),s=this._readLongWithOverflow(t,16*i+8),r[i+1]=[a,s];return e.abrupt("return",r);case 16:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"getLastBlock",value:(n=Q(Y().mark((function e(){var t;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getIndex();case 2:if((t=e.sent).length){e.next=5;break}return e.abrupt("return",void 0);case 5:return e.abrupt("return",t[t.length-1]);case 6:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"getRelevantBlocksForRead",value:(t=Q(Y().mark((function e(t,n){var r,o,i,a,s,u,c,l,f;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n+t,0!==t){e.next=3;break}return e.abrupt("return",[]);case 3:return e.next=5,this._getIndex();case 5:for(i=[],a=function(e,t){var r=e[1];return r<=n&&(t?t[1]:Infinity)>n?0:r<n?-1:1},s=0,u=(o=e.sent).length-1,c=Math.floor(o.length/2),l=a(o[c],o[c+1]);0!==l;)l>0?u=c-1:l<0&&(s=c+1),c=Math.ceil((u-s)/2)+s,l=a(o[c],o[c+1]);i.push(o[c]),f=c+1;case 15:if(!(f<o.length)){e.next=22;break}if(i.push(o[f]),!(o[f][1]>=r)){e.next=19;break}return e.abrupt("break",22);case 19:f+=1,e.next=15;break;case 22:return i[i.length-1][1]<r&&i.push([]),e.abrupt("return",i);case 24:case"end":return e.stop()}}),e,this)}))),function(e,n){return t.apply(this,arguments)})}]),e}(),ss=function(){function e(t){var n=t.filehandle,r=t.path,o=t.gziFilehandle,i=t.gziPath;if(ee(this,e),n)this.filehandle=n;else{if(!r)throw new TypeError("either filehandle or path must be defined");this.filehandle=new Br(r)}if(!o&&!i&&!r)throw new TypeError("either gziFilehandle or gziPath must be defined");this.gzi=new as({filehandle:o,path:o||i||!r?"".concat(r,".gzi"):i})}var t,n,r,o;return ne(e,[{key:"stat",value:(o=Q(Y().mark((function e(){var t;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.filehandle.stat();case 2:return t=e.sent,e.t0=Object,e.t1=t,e.next=7,this.getUncompressedFileSize();case 7:return e.t2=e.sent,e.t3=void 0,e.t4=void 0,e.t5={size:e.t2,blocks:e.t3,blksize:e.t4},e.abrupt("return",e.t0.assign.call(e.t0,e.t1,e.t5));case 12:case"end":return e.stop()}}),e,this)}))),function(){return o.apply(this,arguments)})},{key:"getUncompressedFileSize",value:(r=Q(Y().mark((function e(){var t,n,r,o,i;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.gzi.getLastBlock();case 2:return t=he(e.sent,2),n=t[1],e.next=7,this.filehandle.stat();case 7:return r=e.sent.size,o=Xt.allocUnsafe(4),e.next=12,this.filehandle.read(o,0,4,r-28-4);case 12:if(4===e.sent.bytesRead){e.next=16;break}throw new Error("read error");case 16:return i=o.readUInt32LE(0),e.abrupt("return",n+i);case 18:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"_readAndUncompressBlock",value:(n=Q(Y().mark((function e(t,n,r){var o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=he(n,1)[0],i=he(r,1)[0]){e.next=7;break}return e.next=6,this.filehandle.stat();case 6:i=e.sent.size;case 7:return a=i-o,e.next=10,this.filehandle.read(t,0,a,o);case 10:return e.next=12,Ta(t.slice(0,a));case 12:return e.abrupt("return",e.sent);case 14:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return n.apply(this,arguments)})},{key:"read",value:(t=Q(Y().mark((function e(t,n,r,o){var i,a,s,u,c,l,f,d,h,p;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.gzi.getRelevantBlocksForRead(r,o);case 2:i=e.sent,a=Xt.allocUnsafe(65536),s=n,u=0,c=0;case 7:if(!(c<i.length-1)){e.next=18;break}return e.next=10,this._readAndUncompressBlock(a,i[c],i[c+1]);case 10:l=e.sent,f=he(i[c],2),h=(d=f[1])>=o?0:o-d,p=Math.min(o+r,d+l.length)-d,h>=0&&h<l.length&&(l.copy(t,s,h,p),s+=p-h,u+=p-h);case 15:c+=1,e.next=7;break;case 18:return e.abrupt("return",{bytesRead:u,buffer:t});case 19:case"end":return e.stop()}}),e,this)}))),function(e,n,r,o){return t.apply(this,arguments)})}]),e}();function us(e,t){return e.offset+e.lineBytes*Math.floor(t/e.lineLength)+t%e.lineLength}function cs(e,t){return ls.apply(this,arguments)}function ls(){return(ls=Q(Y().mark((function e(t,n){var r,o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.readFile(n);case 2:if((r=e.sent)&&r.length){e.next=5;break}throw new Error("No data read from FASTA index (FAI) file");case 5:return o=0,a=r.toString("utf8").split(/\r?\n/).filter((function(e){return/\S/.test(e)})).map((function(e){return e.split("\t")})).filter((function(e){return""!==e[0]})).map((function(e){return i&&i.name===e[0]||(i={name:e[0],id:o},o+=1),{id:i.id,name:e[0],length:+e[1],start:0,end:+e[1],offset:+e[2],lineLength:+e[3],lineBytes:+e[4]}})),e.abrupt("return",{name:Object.fromEntries(a.map((function(e){return[e.name,e]}))),id:Object.fromEntries(a.map((function(e){return[e.id,e]})))});case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var fs=function(){function e(t){var n=t.fasta,r=t.fai,o=t.path,i=t.faiPath;if(ee(this,e),n)this.fasta=n;else{if(!o)throw new Error("Need to pass filehandle for fasta or path to localfile");this.fasta=new Br(o)}if(r)this.fai=r;else if(i)this.fai=new Br(i);else{if(!o)throw new Error("Need to pass filehandle for or path to localfile");this.fai=new Br("".concat(o,".fai"))}}var t,n,r,o,i,a,s,u,c;return ne(e,[{key:"_getIndexes",value:(c=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.indexes||(this.indexes=cs(this.fai,t)),e.abrupt("return",this.indexes);case 2:case"end":return e.stop()}}),e,this)}))),function(e){return c.apply(this,arguments)})},{key:"getSequenceNames",value:(u=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=Object,e.next=3,this._getIndexes(t);case 3:return e.t1=e.sent.name,e.abrupt("return",e.t0.keys.call(e.t0,e.t1));case 5:case"end":return e.stop()}}),e,this)}))),function(e){return u.apply(this,arguments)})},{key:"getSequenceSizes",value:(s=Q(Y().mark((function e(t){var n,r,o;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n={},e.next=3,this._getIndexes(t);case 3:for(r=Object.values(e.sent.id),o=0;o<r.length;o+=1)n[r[o].name]=r[o].length;return e.abrupt("return",n);case 7:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"getSequenceSize",value:(a=Q(Y().mark((function e(t,n){var r;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getIndexes(n);case 2:return e.abrupt("return",null===(r=e.sent.name[t])||void 0===r?void 0:r.length);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return a.apply(this,arguments)})},{key:"hasReferenceSequence",value:(i=Q(Y().mark((function e(t,n){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getIndexes(n);case 2:return e.t0=t,e.abrupt("return",!!e.sent.name[e.t0]);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return i.apply(this,arguments)})},{key:"getResiduesById",value:(o=Q(Y().mark((function e(t,n,r,o){var i;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getIndexes(o);case 2:if(e.t0=t,i=e.sent.id[e.t0]){e.next=6;break}return e.abrupt("return",void 0);case 6:return e.abrupt("return",this._fetchFromIndexEntry(i,n,r,o));case 7:case"end":return e.stop()}}),e,this)}))),function(e,t,n,r){return o.apply(this,arguments)})},{key:"getResiduesByName",value:(r=Q(Y().mark((function e(t,n,r,o){var i;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getIndexes(o);case 2:if(e.t0=t,i=e.sent.name[e.t0]){e.next=6;break}return e.abrupt("return",void 0);case 6:return e.abrupt("return",this._fetchFromIndexEntry(i,n,r,o));case 7:case"end":return e.stop()}}),e,this)}))),function(e,t,n,o){return r.apply(this,arguments)})},{key:"getSequence",value:(n=Q(Y().mark((function e(t,n,r,o){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.getResiduesByName(t,n,r,o));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t,r,o){return n.apply(this,arguments)})},{key:"_fetchFromIndexEntry",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s,u=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=u.length>3?u[3]:void 0,o=u.length>2?u[2]:void 0,!((n=u.length>1&&void 0!==u[1]?u[1]:0)<0)){e.next=6;break}throw new TypeError("regionStart cannot be less than 0");case 6:if((void 0===o||o>t.length)&&(o=t.length),!(n>=o)){e.next=9;break}return e.abrupt("return","");case 9:return i=us(t,n),a=us(t,o)-i,s=Xt.allocUnsafe(a),e.next=14,this.fasta.read(s,0,a,i,r);case 14:return e.abrupt("return",s.toString("utf8").replace(/\s+/g,""));case 15:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}]),e}(),ds=function(e){oe(n,e);var t=fe(n);function n(e){var r,o=e.fasta,i=e.path,a=e.fai,s=e.faiPath,u=e.gzi,c=e.gziPath;return ee(this,n),r=t.call(this,{fasta:o,path:i,fai:a,faiPath:s}),o&&u?r.fasta=new ss({filehandle:o,gziFilehandle:u}):i&&c&&(r.fasta=new ss({path:i,gziPath:c})),r}return ne(n)}(fs);function hs(e){return e.split(">").filter((function(e){return/\S/.test(e)})).map((function(e){var t=pe(e.split("\n")),n=t[0],r=t.slice(1),o=pe(n.split(" ")),i=o[0],a=o.slice(1),s=r.join("").replace(/\s/g,"");return{id:i,description:a.join(" "),sequence:s}}))}var ps=function(){function e(t){var n=t.fasta,r=t.path;if(ee(this,e),n)this.fasta=n;else{if(!r)throw new Error("Need to pass fasta or path");this.fasta=new Br(r)}this.data=this.fasta.readFile().then((function(e){return hs(e.toString("utf8"))}))}var t,n;return ne(e,[{key:"fetch",value:(n=Q(Y().mark((function e(t,n,r){var o,i;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.data;case 2:if(o=e.sent.find((function(e){return e.id===t})),i=r-n,o){e.next=7;break}throw new Error("no sequence with id ".concat(t," exists"));case 7:return e.abrupt("return",o.sequence.substr(n,i));case 8:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return n.apply(this,arguments)})},{key:"getSequenceNames",value:(t=Q(Y().mark((function e(){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.data;case 2:return e.abrupt("return",e.sent.map((function(e){return e.id})));case 4:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}(),ms=B({__proto__:null,parseSmallFasta:hs,FetchableSmallFasta:ps,IndexedFasta:fs,BgzipIndexedFasta:ds}),gs=B(Vr);Object.defineProperty(qr,"__esModule",{value:!0}),qr.AddAssemblyFromExternalChange=void 0;var ys=ms,vs=gs,_s=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","AddAssemblyFromExternalChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"notification",get:function(){return'Assembly "'.concat(this.changes[0].assemblyName,'" added successfully. To use it, please refresh the page.')}},{key:"toJSON",value:function(){var e=this.assembly,t=this.changes,n=this.typeName;if(1===t.length){var r=he(t,1)[0];return{typeName:n,assembly:e,assemblyName:r.assemblyName,externalLocation:r.externalLocation}}return{typeName:n,assembly:e,changes:t}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A,C,O;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.assemblyModel,r=t.checkModel,o=t.refSeqModel,i=t.user,a=this.assembly,s=this.changes,u=this.logger,l=(c=qt.env.CHUNK_SIZE)&&Number(c),f=we(s),e.prev=5,f.s();case 7:if((d=f.n()).done){e.next=45;break}return m=(p=d.value).assemblyName,y=(g=p.externalLocation).fa,v=g.fai,b=(_=g.gzi)?new ys.BgzipIndexedFasta({fasta:new vs.RemoteFile(y,{fetch:fetch}),fai:new vs.RemoteFile(v,{fetch:fetch}),gzi:new vs.RemoteFile(_,{fetch:fetch})}):new ys.IndexedFasta({fasta:new vs.RemoteFile(y,{fetch:fetch}),fai:new vs.RemoteFile(v,{fetch:fetch})}),e.next=14,b.getSequenceSizes();case 14:if(w=e.sent){e.next=17;break}throw new Error("No data read from indexed fasta getSequenceSizes");case 17:return e.next=19,n.findOne({name:m}).exec();case 19:if(!e.sent){e.next=22;break}throw new Error('Assembly "'.concat(m,'" already exists'));case 22:return e.next=24,r.find({default:!0}).exec();case 24:return S=e.sent.map((function(e){return e._id.toHexString()})),e.next=28,n.create([{_id:a,name:m,user:i,status:-1,externalLocation:g,checks:S}]);case 28:x=he(e.sent,1),k=x[0],null===(h=u.debug)||void 0===h||h.call(u,'Added new assembly "'.concat(m,'", docId "').concat(k._id,'"')),e.t0=Y().keys(w);case 33:if((e.t1=e.t0()).done){e.next=43;break}return E=e.t1.value,e.next=37,o.create([K(K({name:E,assembly:k._id,length:w[E]},l?{chunkSize:l}:null),{},{user:i,status:-1})]);case 37:C=he(e.sent,1),O=C[0],null===(A=u.debug)||void 0===A||A.call(u,'Added new refSeq "'.concat(E,'", docId "').concat(O._id,'"')),e.next=33;break;case 43:e.next=7;break;case 45:e.next=50;break;case 47:e.prev=47,e.t2=e.catch(5),f.e(e.t2);case 50:return e.prev=50,f.f(),e.finish(50);case 53:case"end":return e.stop()}}),e,this,[[5,47,50,53]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new i({typeName:this.typeName,changes:this.changes,assembly:this.assembly},{logger:this.logger})}}]),i}(ar.AssemblySpecificChange);qr.AddAssemblyFromExternalChange=_s;var bs={};Object.defineProperty(bs,"__esModule",{value:!0}),bs.AddAssemblyFromFileChange=void 0;var ws=ms,Ss=function(e){oe(s,e);var t,n,r,o,i,a=fe(s);function s(e,t){var n;return ee(this,s),re(le(n=a.call(this,e,t)),"typeName","AddAssemblyFromFileChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(s,[{key:"notification",get:function(){return'Assembly "'.concat(this.changes[0].assemblyName,'" added successfully. To use it, please refresh the page.')}},{key:"toJSON",value:function(){var e=this.assembly,t=this.changes,n=this.typeName;if(1===t.length){var r=he(t,1)[0];return{typeName:n,assembly:e,assemblyName:r.assemblyName,fileIds:r.fileIds}}return{typeName:n,assembly:e,changes:t}}},{key:"executeOnServer",value:(i=Q(Y().mark((function e(t){var n,r,o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=we(this.changes),e.prev=2,n.s();case 4:if((r=n.n()).done){e.next=11;break}return i=(o=r.value).assemblyName,a=o.fileIds,e.next=9,"gzi"in a?this.executeOnServerIndexed(t,i,a):this.executeOnServerFasta(t,i,a.fa);case 9:e.next=4;break;case 11:e.next=16;break;case 13:e.prev=13,e.t0=e.catch(2),n.e(e.t0);case 16:return e.prev=16,n.f(),e.finish(16);case 19:case"end":return e.stop()}}),e,this,[[2,13,16,19]])}))),function(e){return i.apply(this,arguments)})},{key:"executeOnServerIndexed",value:(o=Q(Y().mark((function e(t,n,r){var o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A,C,O,R,N,I,P;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=(a=qt.env.CHUNK_SIZE)&&Number(a),qt.env.FILE_UPLOAD_FOLDER){e.next=5;break}throw new Error("No FILE_UPLOAD_FOLDER found in .env file");case 5:return u=r.fa,c=r.fai,l=r.gzi,f=t.assemblyModel,d=t.checkModel,h=t.fileModel,p=t.filesService,m=t.refSeqModel,g=t.user,e.next=9,h.findById(u);case 9:if(null==(y=e.sent)?void 0:y.checksum){e.next=13;break}throw new Error("No checksum for file document ".concat(y));case 13:return e.next=15,h.findById(c);case 15:if(null==(v=e.sent)?void 0:v.checksum){e.next=19;break}throw new Error("No checksum for file document ".concat(v));case 19:return e.next=21,h.findById(l);case 21:if(null==(_=e.sent)?void 0:_.checksum){e.next=25;break}throw new Error("No checksum for file document ".concat(_));case 25:return b=p.getFileHandle(y),w=p.getFileHandle(v),S=p.getFileHandle(_),x=new ws.BgzipIndexedFasta({fasta:b,fai:w,gzi:S}),e.next=31,x.getSequenceSizes();case 31:return k=e.sent,e.next=34,Promise.all([b.close(),w.close(),S.close()]);case 34:return e.next=36,f.findOne({name:n}).exec();case 36:if(!e.sent){e.next=39;break}throw new Error('Assembly "'.concat(n,'" already exists'));case 39:return e.next=41,d.find({default:!0}).exec();case 41:return E=e.sent.map((function(e){return e._id.toHexString()})),e.next=45,f.create([{_id:this.assembly,name:n,user:g,status:-1,fileIds:r,checks:E}]);case 45:A=he(e.sent,1),C=A[0],null===(o=(i=this.logger).debug)||void 0===o||o.call(i,'Added new assembly "'.concat(n,'", docId "').concat(C._id,'"')),e.t0=Y().keys(k);case 50:if((e.t1=e.t0()).done){e.next=60;break}return O=e.t1.value,e.next=54,m.create([K(K({name:O,assembly:C._id,length:k[O]},s?{chunkSize:s}:null),{},{user:g,status:-1})]);case 54:I=he(e.sent,1),P=I[0],null===(R=(N=this.logger).debug)||void 0===R||R.call(N,'Added new refSeq "'.concat(O,'", docId "').concat(P._id,'"')),e.next=50;break;case 60:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return o.apply(this,arguments)})},{key:"executeOnServerFasta",value:(r=Q(Y().mark((function e(t,n,r){var o,i,a,s,u,c,l,f,d,h,p,m,g,y;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return l=t.assemblyModel,f=t.checkModel,d=t.fileModel,h=t.user,e.next=3,d.findById(r).exec();case 3:if(p=e.sent){e.next=6;break}throw new Error('File "'.concat(r,'" not found in Mongo'));case 6:return null===(o=(i=this.logger).debug)||void 0===o||o.call(i,'FileId "'.concat(r,'", checksum "').concat(p.checksum,'"')),e.next=9,l.findOne({name:n}).exec();case 9:if(!e.sent){e.next=12;break}throw new Error('Assembly "'.concat(n,'" already exists'));case 12:return e.next=14,f.find({default:!0}).exec();case 14:return m=e.sent.map((function(e){return e._id.toHexString()})),e.next=18,l.create([{_id:this.assembly,name:n,user:h,status:-1,fileIds:{fa:r},checks:m}]);case 18:return g=he(e.sent,1),y=g[0],null===(a=(s=this.logger).debug)||void 0===a||a.call(s,'Added new assembly "'.concat(n,'", docId "').concat(y._id,'"')),null===(u=(c=this.logger).debug)||void 0===u||u.call(c,'File type: "'.concat(p.type,'", assemblyId: "').concat(y._id,'"')),e.next=25,this.addRefSeqIntoDb(p,y._id.toString(),t);case 25:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new s({typeName:this.typeName,changes:this.changes,assembly:this.assembly},{logger:this.logger})}}]),s}(ir.FromFileBaseChange);bs.AddAssemblyFromFileChange=Ss;var xs={},ks={};Object.defineProperty(ks,"__esModule",{value:!0}),ks.DeleteFeatureChange=void 0,ks.isDeleteFeatureChange=function(e){return"DeleteFeatureChange"===e.typeName};var Es=xs,As=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","DeleteFeatureChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=he(n,1)[0];return{typeName:r,changedIds:t,assembly:e,deletedFeature:o.deletedFeature,parentFeatureId:o.parentFeatureId}}return{typeName:r,changedIds:t,assembly:e,changes:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u=this;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,o=this.logger,i=we(this.changes),e.prev=3,s=Y().mark((function e(){var t,i,s,c,l,f,d,h,p;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=(i=a.value).deletedFeature,c=i.parentFeatureId,e.next=4,n.findOne({allIds:s._id}).session(r).exec();case 4:if(l=e.sent){e.next=9;break}throw f="*** ERROR: The following featureId was not found in database ='".concat(s._id,"'"),o.error(f),new Error(f);case 9:if(!l._id.equals(s._id)){e.next=16;break}if(!c){e.next=12;break}throw new Error('Feature "'.concat(s._id,'" is top-level, but received a parent feature ID'));case 12:return e.next=14,n.findByIdAndDelete(l._id);case 14:return null===(d=o.debug)||void 0===d||d.call(o,'Feature "'.concat(s._id,'" deleted from document "').concat(l._id,'". Whole document deleted.')),e.abrupt("return",1);case 16:return(h=u.findAndDeleteChildFeature(l,s._id)).push(s._id),l.allIds=l.allIds.filter((function(e){return!h.includes(e)})),l.markModified("children"),e.prev=20,e.next=23,l.save();case 23:e.next=29;break;case 25:throw e.prev=25,e.t0=e.catch(20),null===(p=o.debug)||void 0===p||p.call(o,"*** FAILED: ".concat(e.t0)),e.t0;case 29:null===(t=o.debug)||void 0===t||t.call(o,'Feature "'.concat(s._id,'" deleted from document "').concat(l._id,'"'));case 30:case"end":return e.stop()}}),e,null,[[20,25]])})),i.s();case 6:if((a=i.n()).done){e.next=12;break}return e.delegateYield(s(),"t0",8);case 8:if(!e.t0){e.next=10;break}return e.abrupt("continue",10);case 10:e.next=6;break;case 12:e.next=17;break;case 14:e.prev=14,e.t1=e.catch(3),i.e(e.t1);case 17:return e.prev=17,i.f(),e.finish(17);case 20:case"end":return e.stop()}}),e,this,[[3,14,17,20]])}))),function(e){return r.apply(this,arguments)})},{key:"findAndDeleteChildFeature",value:function(e,t){if(!e.children)throw new Error("Feature ".concat(e._id," has no children"));var n=e._id,r=e.children,o=r.get(t);if(o){var i=this.getChildFeatureIds(o);return r.delete(t),i}var a,s=we(r);try{for(s.s();!(a=s.n()).done;){var u=he(a.value,2)[1];try{return this.findAndDeleteChildFeature(u,t)}catch(e){}}}catch(e){s.e(e)}finally{s.f()}throw new Error('Feature "'.concat(t,'" not found in ').concat(n))}},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw new Error("No data store");case 2:n=we(this.changes),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=18;break}if(i=(o=r.value).deletedFeature,!(a=o.parentFeatureId)){e.next=15;break}if(s=t.getFeature(a)){e.next=12;break}throw new Error('Could not find parent feature "'.concat(a,'"'));case 12:s.deleteChild(i._id),e.next=16;break;case 15:t.getFeature(i._id)&&t.deleteFeature(i._id);case 16:e.next=5;break;case 18:e.next=23;break;case 20:e.prev=20,e.t0=e.catch(3),n.e(e.t0);case 23:return e.prev=23,n.f(),e.finish(23);case 26:case"end":return e.stop()}}),e,this,[[3,20,23,26]])}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){var e,t=this.assembly,n=this.changes,r=this.logger,o=me(this.changedIds).reverse(),i=me(n).reverse().map((function(e){return{addedFeature:e.deletedFeature,parentFeatureId:e.parentFeatureId}}));return null===(e=r.debug)||void 0===e||e.call(r,"INVERSE CHANGE '".concat(JSON.stringify(i),"'")),new Es.AddFeatureChange({changedIds:o,typeName:"AddFeatureChange",changes:i,assembly:t},{logger:r})}}]),i}(ar.FeatureChange);ks.DeleteFeatureChange=As,Object.defineProperty(xs,"__esModule",{value:!0}),xs.AddFeatureChange=void 0,xs.isAddFeatureChange=function(e){return"AddFeatureChange"===e.typeName};var Cs=ks,Os=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","AddFeatureChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=he(n,1)[0];return{typeName:r,changedIds:t,assembly:e,addedFeature:o.addedFeature,parentFeatureId:o.parentFeatureId,copyFeature:o.copyFeature,allIds:o.allIds}}return{typeName:r,changedIds:t,assembly:e,changes:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A,C,O,R,N,I,P,T,M,j,F,L;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=t.assemblyModel,i=t.featureModel,a=t.refSeqModel,s=t.session,u=t.user,c=this.assembly,l=this.changes,f=this.logger,e.next=4,o.findById(c).session(s).exec();case 4:if(e.sent){e.next=9;break}throw d='*** ERROR: Assembly with id "'.concat(c,'" not found'),f.error(d),new Error(d);case 9:h=0,null===(n=f.debug)||void 0===n||n.call(f,"changes: ".concat(JSON.stringify(l))),p=we(l),e.prev=12,p.s();case 14:if((m=p.n()).done){e.next=64;break}return y=m.value,null===(g=f.debug)||void 0===g||g.call(f,"change: ".concat(JSON.stringify(y))),_=y.allIds,b=y.copyFeature,w=y.parentFeatureId,S=(v=y.addedFeature)._id,x=v.refSeq,e.next=21,a.findById(x).session(s).exec();case 21:if(e.sent){e.next=24;break}throw new Error('RefSeq was not found by assembly "'.concat(c,'" and seq_id "').concat(x,'" not found'));case 24:if(!b){e.next=34;break}return e.next=27,i.create([K(K({},v),{},{allIds:_,status:-1,user:u})],{session:s});case 27:E=he(e.sent,1),A=E[0],null===(k=f.debug)||void 0===k||k.call(f,'Copied feature, docId "'.concat(A._id,'" to assembly "').concat(c,'"')),h++,e.next=61;break;case 34:if(!w){e.next=53;break}return e.next=37,i.findOne({allIds:w}).session(s).exec();case 37:if(R=e.sent){e.next=40;break}throw new Error('Could not find feature with ID "'.concat(w,'"'));case 40:if(N=this.getFeatureFromId(R,w)){e.next=43;break}throw new Error('Could not find feature with ID "'.concat(w,'" in feature "').concat(R._id,'"'));case 43:return N.children||(N.children=new Map),null!==(C=N.attributes)&&void 0!==C&&C._id||((I=N.attributes)||(I={}),I=K({_id:[N._id.toString()]},JSON.parse(JSON.stringify(I))),N.attributes=I),N.children.set(S,K(K({allIds:[]},v),{},{_id:S})),N.children=new Map(me(N.children.entries()).sort((function(e,t){return e[1].min-t[1].min}))),P=this.getChildFeatureIds(v),(O=R.allIds).push.apply(O,[S].concat(me(P))),e.next=51,R.save();case 51:e.next=61;break;case 53:return M=this.getChildFeatureIds(v),j=[S].concat(me(M)),e.next=57,i.create([K({allIds:j,status:0},v)],{session:s});case 57:F=he(e.sent,1),L=F[0],null===(T=f.verbose)||void 0===T||T.call(f,'Added docId "'.concat(L._id,'"'));case 61:h++;case 62:e.next=14;break;case 64:e.next=69;break;case 66:e.prev=66,e.t0=e.catch(12),p.e(e.t0);case 69:return e.prev=69,p.f(),e.finish(69);case 72:null===(r=f.debug)||void 0===r||r.call(f,"Added ".concat(h," new feature(s) into database."));case 73:case"end":return e.stop()}}),e,this,[[12,66,69,72]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s,u;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw new Error("No data store");case 2:n=this.assembly,r=we(this.changes),e.prev=4,r.s();case 6:if((o=r.n()).done){e.next=20;break}if(a=(i=o.value).addedFeature,!(s=i.parentFeatureId)){e.next=17;break}if(u=t.getFeature(s)){e.next=13;break}throw new Error('Could not find parent feature "'.concat(s,'"'));case 13:u.attributes.get("_id")||u.setAttribute("_id",[u._id]),u.addChild(a),e.next=18;break;case 17:t.addFeature(n,a);case 18:e.next=6;break;case 20:e.next=25;break;case 22:e.prev=22,e.t0=e.catch(4),r.e(e.t0);case 25:return e.prev=25,r.f(),e.finish(25);case 28:case"end":return e.stop()}}),e,this,[[4,22,25,28]])}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){var e=this.assembly,t=this.changes,n=this.logger,r=me(this.changedIds).reverse(),o=me(t).reverse().map((function(e){return{deletedFeature:e.addedFeature,parentFeatureId:e.parentFeatureId}}));return new Cs.DeleteFeatureChange({changedIds:r,typeName:"DeleteFeatureChange",changes:o,assembly:e},{logger:n})}}]),i}(ar.FeatureChange);xs.AddFeatureChange=Os;var Rs={};Object.defineProperty(Rs,"__esModule",{value:!0}),Rs.AddFeaturesFromFileChange=void 0;var Ns=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n,r;return ee(this,i),re(le(r=o.call(this,e,t)),"typeName","AddFeaturesFromFileChange"),re(le(r),"changes",void 0),re(le(r),"deleteExistingFeatures",!1),r.deleteExistingFeatures=null!==(n=e.deleteExistingFeatures)&&void 0!==n&&n,r.changes="changes"in e?e.changes:[e],r}return ne(i,[{key:"notification",get:function(){return"Features have been added. To see them, please refresh the page."}},{key:"toJSON",value:function(){var e=this.assembly,t=this.changes,n=this.deleteExistingFeatures,r=this.typeName;return 1===t.length?{typeName:r,assembly:e,fileId:he(t,1)[0].fileId,deleteExistingFeatures:n}:{typeName:r,assembly:e,changes:t,deleteExistingFeatures:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.fileModel,o=t.filesService,i=this.changes,a=this.logger,!this.deleteExistingFeatures){e.next=5;break}return e.next=5,this.removeExistingFeatures(t);case 5:s=we(i),e.prev=6,s.s();case 8:if((u=s.n()).done){e.next=56;break}if(l=u.value.fileId,qt.env.FILE_UPLOAD_FOLDER){e.next=14;break}throw new Error("No FILE_UPLOAD_FOLDER found in .env file");case 14:return e.next=16,r.findById(l).exec();case 16:if(f=e.sent){e.next=19;break}throw new Error('File "'.concat(l,'" not found in Mongo'));case 19:null===(c=a.debug)||void 0===c||c.call(a,'FileId "'.concat(l,'", checksum "').concat(f.checksum,'"')),d=o.parseGFF3(o.getFileStream(f)),h=0,p=!1,m=!1,e.prev=24,y=W(d);case 26:return e.next=28,y.next();case 28:if(!(p=!(v=e.sent).done)){e.next=38;break}return _=v.value,e.next=33,this.addFeatureIntoDb(_,t);case 33:++h%1e3==0&&(null===(b=a.debug)||void 0===b||b.call(a,"Processed ".concat(h," features")));case 35:p=!1,e.next=26;break;case 38:e.next=44;break;case 40:e.prev=40,e.t0=e.catch(24),m=!0,g=e.t0;case 44:if(e.prev=44,e.prev=45,!p||null==y.return){e.next=49;break}return e.next=49,y.return();case 49:if(e.prev=49,!m){e.next=52;break}throw g;case 52:return e.finish(49);case 53:return e.finish(44);case 54:e.next=8;break;case 56:e.next=61;break;case 58:e.prev=58,e.t1=e.catch(6),s.e(e.t1);case 61:return e.prev=61,s.f(),e.finish(61);case 64:null===(n=a.debug)||void 0===n||n.call(a,"New features added into database!");case 65:case"end":return e.stop()}}),e,this,[[6,58,61,64],[24,40,44,54],[45,,49,53]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new i({typeName:this.typeName,changes:this.changes,assembly:this.assembly},{logger:this.logger})}}]),i}(ir.FromFileBaseChange);Rs.AddFeaturesFromFileChange=Ns;var Is={};Object.defineProperty(Is,"__esModule",{value:!0}),Is.AddRefSeqAliasesChange=void 0;var Ps=O.default,Ts=function(e){oe(r,e);var t,n=fe(r);function r(e,t){var o;return ee(this,r),re(le(o=n.call(this,e,t)),"typeName","AddRefSeqAliasesChange"),re(le(o),"refSeqAliases",void 0),o.refSeqAliases=e.refSeqAliases,o}return ne(r,[{key:"executeOnClient",value:function(e){var t=(0,Ps.getSession)(e).assemblyManager.get(this.assembly);if(!t)throw new Error("assembly ".concat(this.assembly," not found"));var n=t.refNameAliases,r=t.lowerCaseRefNameAliases;if(!n||!r)throw new Error("Session refNameAliases not found in assembly");var o,i=we(this.refSeqAliases);try{for(i.s();!(o=i.n()).done;){var a,s=o.value,u=s.refName,c=we(s.aliases);try{for(c.s();!(a=c.n()).done;){var l=a.value;n[l]=u,r[l.toLowerCase()]=u}}catch(e){c.e(e)}finally{c.f()}}}catch(e){i.e(e)}finally{i.f()}return t.setRefNameAliases(n,r),Promise.resolve()}},{key:"getInverse",value:function(){throw new Error("Method not implemented.")}},{key:"toJSON",value:function(){return{assembly:this.assembly,typeName:this.typeName,refSeqAliases:this.refSeqAliases}}},{key:"executeOnServer",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.refSeqModel,r=t.session,o=this.assembly,i=this.logger,a=we(this.refSeqAliases),e.prev=3,a.s();case 5:if((s=a.n()).done){e.next=13;break}return c=s.value,null===(u=i.debug)||void 0===u||u.call(i,"Updating Refname alias for assembly: ".concat(o,", refSeqAlias: ").concat(JSON.stringify(c))),l=c.aliases,f=c.refName,e.next=11,n.updateOne({assembly:o,name:f},{$set:{aliases:l}}).session(r);case 11:e.next=5;break;case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(3),a.e(e.t0);case 18:return e.prev=18,a.f(),e.finish(18);case 21:case"end":return e.stop()}}),e,this,[[3,15,18,21]])}))),function(e){return t.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:function(e){throw new Error("Method not implemented.")}},{key:"notification",get:function(){return"RefSeq aliases have been added."}}]),r}(ar.AssemblySpecificChange);Is.AddRefSeqAliasesChange=Ts;var Ms={};Object.defineProperty(Ms,"__esModule",{value:!0}),Ms.DeleteAssemblyChange=void 0;var js=O.default,Fs=function(e){oe(i,e);var t,n,r,o=fe(i);function i(){var e;ee(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return re(le(e=o.call.apply(o,[this].concat(n))),"typeName","DeleteAssemblyChange"),e}return ne(i,[{key:"notification",get:function(){return'Assembly "'.concat(this.assembly,'" deleted successfully.')}},{key:"toJSON",value:function(){return{typeName:this.typeName,assembly:this.assembly}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.assemblyModel,o=t.featureModel,i=t.refSeqChunkModel,a=t.refSeqModel,s=t.session,u=this.assembly,c=this.logger,e.next=4,r.findById(u).session(s).exec();case 4:if(e.sent){e.next=9;break}throw l='*** ERROR: Assembly with id "'.concat(u,'" not found'),c.error(l),new Error(l);case 9:return e.next=11,a.find({assembly:u}).exec();case 11:return f=e.sent.map((function(e){return e._id})),e.next=15,i.deleteMany({refSeq:f}).exec();case 15:return e.next=17,o.deleteMany({refSeq:f}).exec();case 17:return e.next=19,a.deleteMany({assembly:u}).exec();case 19:return e.next=21,r.findByIdAndDelete(u).exec();case 21:null===(n=c.debug)||void 0===n||n.call(c,'Assembly "'.concat(u,'" deleted from database.'));case 22:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=this.assembly,t){e.next=3;break}throw new Error("No data store");case 3:return i=(0,js.getSession)(t),t.assemblies.has(o)&&t.deleteAssembly(o),e.next=7,null===(n=i.removeAssembly)||void 0===n?void 0:n.call(i,o);case 7:return e.next=9,null===(r=i.removeSessionAssembly)||void 0===r?void 0:r.call(i,o);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new i({typeName:"DeleteAssemblyChange",assembly:this.assembly},{logger:this.logger})}}]),i}(ar.AssemblySpecificChange);Ms.DeleteAssemblyChange=Fs;var Ls={};Object.defineProperty(Ls,"__esModule",{value:!0}),Ls.DeleteUserChange=void 0;var Ds=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","DeleteUserChange"),re(le(n),"changes",void 0),re(le(n),"userId",void 0),n.changes="changes"in e?e.changes:[e],n.userId=e.userId,n}return ne(i,[{key:"toJSON",value:function(){return{typeName:this.typeName,userId:this.userId}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.session,r=t.userModel,o=this.logger,i=this.userId,e.next=4,r.findOneAndDelete({_id:i}).session(n).exec();case 4:if(e.sent){e.next=9;break}throw a='*** ERROR: User with id "'.concat(i,'" not found'),o.error(a),new Error(a);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new i({typeName:this.typeName,userId:this.userId},{logger:this.logger})}}]),i}(ar.Change);Ls.DeleteUserChange=Ds;var qs={};Object.defineProperty(qs,"__esModule",{value:!0}),qs.FeatureAttributeChange=void 0,qs.isFeatureAttributeChange=function(e){return"FeatureAttributeChange"===e.typeName};var Bs=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","FeatureAttributeChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=he(n,1)[0];return{typeName:r,changedIds:t,assembly:e,featureId:o.featureId,attributes:o.attributes}}return{typeName:r,changedIds:t,assembly:e,changes:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,i=this.logger,a=[],s=we(o=this.changes),e.prev=4,s.s();case 6:if((u=s.n()).done){e.next=26;break}return f=u.value.featureId,e.next=11,n.findOne({allIds:f}).session(r).exec();case 11:if(d=e.sent){e.next=16;break}throw h="*** ERROR: The following featureId was not found in database ='".concat(f,"'"),i.error(h),new Error(h);case 16:if(null===(c=i.debug)||void 0===c||c.call(i,"*** Feature found: ".concat(JSON.stringify(d))),p=this.getFeatureFromId(d,f)){e.next=22;break}throw i.error("ERROR when searching feature by featureId"),new Error("ERROR when searching feature by featureId");case 22:null===(l=i.debug)||void 0===l||l.call(i,"*** Found feature: ".concat(JSON.stringify(p))),a.push({feature:p,topLevelFeature:d});case 24:e.next=6;break;case 26:e.next=31;break;case 28:e.prev=28,e.t0=e.catch(4),s.e(e.t0);case 31:return e.prev=31,s.f(),e.finish(31);case 34:m=we(o.entries()),e.prev=35,m.s();case 37:if((g=m.n()).done){e.next=55;break}return v=he(g.value,2),w=(_=a[v[0]]).topLevelFeature,(b=_.feature).attributes=v[1].attributes,w._id.equals(b._id)?w.markModified("attributes"):w.markModified("children"),e.prev=43,e.next=46,w.save();case 46:e.next=52;break;case 48:throw e.prev=48,e.t1=e.catch(43),null===(S=i.debug)||void 0===S||S.call(i,"*** FAILED: ".concat(e.t1)),e.t1;case 52:null===(y=i.debug)||void 0===y||y.call(i,"*** Feature attributes modified (added, edited or deleted), docId: ".concat(JSON.stringify(w)));case 53:e.next=37;break;case 55:e.next=60;break;case 57:e.prev=57,e.t2=e.catch(35),m.e(e.t2);case 60:return e.prev=60,m.f(),e.finish(60);case 63:case"end":return e.stop()}}),e,this,[[4,28,31,34],[35,57,60,63],[43,48]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("applyToLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw new Error("No data store");case 2:n=we(this.changedIds.entries()),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=13;break}if(o=he(r.value,2),i=o[0],s=t.getFeature(a=o[1])){e.next=10;break}throw new Error('Could not find feature with identifier "'.concat(a,'"'));case 10:s.setAttributes(new Map(Object.entries(this.changes[i].attributes)));case 11:e.next=5;break;case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(3),n.e(e.t0);case 18:return e.prev=18,n.f(),e.finish(18);case 21:case"end":return e.stop()}}),e,this,[[3,15,18,21]])}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){var e=this.assembly,t=this.changes,n=this.logger;return new i({changedIds:me(this.changedIds).reverse(),typeName:"FeatureAttributeChange",changes:me(t).reverse().map((function(e){return{featureId:e.featureId,attributes:e.attributes}})),assembly:e},{logger:n})}}]),i}(ar.FeatureChange);qs.FeatureAttributeChange=Bs;var Us={},zs=["__v","_id","assemblies","internetAccounts","plugins","tracks"];function Gs(e){var t=e.assemblies,n=e.internetAccounts,r=e.plugins,o=e.tracks,i=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)t.indexOf(n=i[r])>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t.indexOf(n=i[r])>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,zs),a=null==t?void 0:t.filter((function(e){return"ApolloSequenceAdapter"!==e.sequence.adapter.type})),s=null==o?void 0:o.filter((function(e){return"ApolloTrack"!==e.type})),u=null==r?void 0:r.filter((function(e){return"Apollo"!==e.name})),c=null==n?void 0:n.filter((function(e){return"ApolloInternetAccount"!==e.type})),l=i;return a&&(l.assemblies=a),s&&(l.tracks=s),u&&(l.plugins=u),c&&(l.internetAccounts=c),l}Object.defineProperty(Us,"__esModule",{value:!0}),Us.ImportJBrowseConfigChange=void 0,Us.filterJBrowseConfig=Gs;var Hs=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","ImportJBrowseConfigChange"),re(le(n),"oldJBrowseConfig",void 0),re(le(n),"newJBrowseConfig",void 0),n.oldJBrowseConfig=e.oldJBrowseConfig,n.newJBrowseConfig=e.newJBrowseConfig,n}return ne(i,[{key:"toJSON",value:function(){return{typeName:this.typeName,oldJBrowseConfig:this.oldJBrowseConfig,newJBrowseConfig:this.newJBrowseConfig}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.jbrowseConfigModel,o=this.logger,i=this.newJBrowseConfig,e.next=4,r.deleteMany();case 4:if(i){e.next=6;break}return e.abrupt("return");case 6:return a=Gs(i),e.next=9,r.create(a);case 9:null===(n=o.debug)||void 0===n||n.call(o,"Stored new JBrowse Config");case 10:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new i({typeName:"ImportJBrowseConfigChange",oldJBrowseConfig:this.newJBrowseConfig,newJBrowseConfig:this.oldJBrowseConfig},{logger:this.logger})}}]),i}(ar.Change);Us.ImportJBrowseConfigChange=Hs;var Ws={};Object.defineProperty(Ws,"__esModule",{value:!0}),Ws.LocationEndChange=void 0,Ws.isLocationEndChange=function(e){return"LocationEndChange"===e.typeName};var Vs=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","LocationEndChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=he(n,1)[0];return{typeName:r,changedIds:t,assembly:e,featureId:o.featureId,oldEnd:o.oldEnd,newEnd:o.newEnd}}return{typeName:r,changedIds:t,assembly:e,changes:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A,C,O,R;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,i=this.logger,a=[],s=we(o=this.changes),e.prev=4,s.s();case 6:if((u=s.n()).done){e.next=49;break}return d=(f=u.value).featureId,h=f.oldEnd,e.next=11,n.findOne({allIds:d}).session(r).exec();case 11:if(p=e.sent){e.next=16;break}throw m="*** ERROR: The following featureId was not found in database ='".concat(d,"'"),i.error(m),new Error(m);case 16:if(null===(c=i.debug)||void 0===c||c.call(i,"*** TOP level feature found: ".concat(JSON.stringify(p))),g=this.getFeatureFromId(p,d)){e.next=22;break}throw i.error("ERROR when searching feature by featureId"),new Error("ERROR when searching feature by featureId");case 22:if(null===(l=i.debug)||void 0===l||l.call(i,"*** Found feature: ".concat(JSON.stringify(g))),g.max!==h){e.next=27;break}a.push({feature:g,topLevelFeature:p}),e.next=47;break;case 27:if(!g.children){e.next=47;break}y=we(g.children),e.prev=29,y.s();case 31:if((v=y.n()).done){e.next=39;break}if(_=he(v.value,2),(b=_[1]).max!==h){e.next=37;break}return null===(w=i.debug)||void 0===w||w.call(i,"*************** UPDATE CHILD FEATURE ID= ".concat(d,", CHILD: ").concat(JSON.stringify(b))),a.push({feature:b,topLevelFeature:p}),e.abrupt("break",39);case 37:e.next=31;break;case 39:e.next=44;break;case 41:e.prev=41,e.t0=e.catch(29),y.e(e.t0);case 44:return e.prev=44,y.f(),e.finish(44);case 47:e.next=6;break;case 49:e.next=54;break;case 51:e.prev=51,e.t1=e.catch(4),s.e(e.t1);case 54:return e.prev=54,s.f(),e.finish(54);case 57:S=we(o.entries()),e.prev=58,S.s();case 60:if((x=S.n()).done){e.next=78;break}return E=he(x.value,2),O=(A=a[E[0]]).topLevelFeature,(C=A.feature).max=E[1].newEnd,O._id.equals(C._id)?O.markModified("end"):O.markModified("children"),e.prev=66,e.next=69,O.save();case 69:e.next=75;break;case 71:throw e.prev=71,e.t2=e.catch(66),null===(R=i.debug)||void 0===R||R.call(i,"*** FAILED: ".concat(e.t2)),e.t2;case 75:null===(k=i.debug)||void 0===k||k.call(i,"*** Object updated in Mongo. New object: ".concat(JSON.stringify(O)));case 76:e.next=60;break;case 78:e.next=83;break;case 80:e.prev=80,e.t3=e.catch(58),S.e(e.t3);case 83:return e.prev=83,S.f(),e.finish(83);case 86:case"end":return e.stop()}}),e,this,[[4,51,54,57],[29,41,44,47],[58,80,83,86],[66,71]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw new Error("No data store");case 2:n=we(this.changedIds.entries()),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=13;break}if(o=he(r.value,2),i=o[0],s=t.getFeature(a=o[1])){e.next=10;break}throw new Error('Could not find feature with identifier "'.concat(a,'"'));case 10:s.setMax(this.changes[i].newEnd);case 11:e.next=5;break;case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(3),n.e(e.t0);case 18:return e.prev=18,n.f(),e.finish(18);case 21:case"end":return e.stop()}}),e,this,[[3,15,18,21]])}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){var e=this.assembly,t=this.changes,n=this.logger,r=this.typeName;return new i({changedIds:me(this.changedIds).reverse(),typeName:r,changes:me(t).reverse().map((function(e){return{featureId:e.featureId,oldEnd:e.newEnd,newEnd:e.oldEnd}})),assembly:e},{logger:n})}}]),i}(ar.FeatureChange);Ws.LocationEndChange=Vs;var $s={};Object.defineProperty($s,"__esModule",{value:!0}),$s.LocationStartChange=void 0,$s.isLocationStartChange=function(e){return"LocationStartChange"===e.typeName};var Js=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","LocationStartChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=he(n,1)[0];return{typeName:r,changedIds:t,assembly:e,featureId:o.featureId,oldStart:o.oldStart,newStart:o.newStart}}return{typeName:r,changedIds:t,assembly:e,changes:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A,C,O,R;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,i=this.logger,a=[],s=we(o=this.changes),e.prev=4,s.s();case 6:if((u=s.n()).done){e.next=49;break}return d=(f=u.value).featureId,h=f.oldStart,e.next=11,n.findOne({allIds:d}).session(r).exec();case 11:if(p=e.sent){e.next=16;break}throw m="*** ERROR: The following featureId was not found in database ='".concat(d,"'"),i.error(m),new Error(m);case 16:if(null===(c=i.debug)||void 0===c||c.call(i,"*** TOP level feature found: ".concat(JSON.stringify(p))),g=this.getFeatureFromId(p,d)){e.next=22;break}throw i.error("ERROR when searching feature by featureId"),new Error("ERROR when searching feature by featureId");case 22:if(null===(l=i.debug)||void 0===l||l.call(i,"*** Found feature: ".concat(JSON.stringify(g))),g.min!==h){e.next=27;break}a.push({feature:g,topLevelFeature:p}),e.next=47;break;case 27:if(!g.children){e.next=47;break}y=we(g.children),e.prev=29,y.s();case 31:if((v=y.n()).done){e.next=39;break}if(_=he(v.value,2),(b=_[1]).min!==h){e.next=37;break}return null===(w=i.debug)||void 0===w||w.call(i,"*** UPDATE CHILD FEATURE ID= ".concat(d,", CHILD: ").concat(JSON.stringify(b))),a.push({feature:b,topLevelFeature:p}),e.abrupt("break",39);case 37:e.next=31;break;case 39:e.next=44;break;case 41:e.prev=41,e.t0=e.catch(29),y.e(e.t0);case 44:return e.prev=44,y.f(),e.finish(44);case 47:e.next=6;break;case 49:e.next=54;break;case 51:e.prev=51,e.t1=e.catch(4),s.e(e.t1);case 54:return e.prev=54,s.f(),e.finish(54);case 57:S=we(o.entries()),e.prev=58,S.s();case 60:if((x=S.n()).done){e.next=78;break}return E=he(x.value,2),O=(A=a[E[0]]).topLevelFeature,(C=A.feature).min=E[1].newStart,O._id.equals(C._id)?O.markModified("start"):O.markModified("children"),e.prev=66,e.next=69,O.save();case 69:e.next=75;break;case 71:throw e.prev=71,e.t2=e.catch(66),null===(R=i.debug)||void 0===R||R.call(i,"*** FAILED: ".concat(e.t2)),e.t2;case 75:null===(k=i.debug)||void 0===k||k.call(i,"*** Object updated in Mongo. New object: ".concat(JSON.stringify(O)));case 76:e.next=60;break;case 78:e.next=83;break;case 80:e.prev=80,e.t3=e.catch(58),S.e(e.t3);case 83:return e.prev=83,S.f(),e.finish(83);case 86:case"end":return e.stop()}}),e,this,[[4,51,54,57],[29,41,44,47],[58,80,83,86],[66,71]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw new Error("No data store");case 2:n=we(this.changedIds.entries()),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=13;break}if(o=he(r.value,2),i=o[0],s=t.getFeature(a=o[1])){e.next=10;break}throw new Error('Could not find feature with identifier "'.concat(a,'"'));case 10:s.setMin(this.changes[i].newStart);case 11:e.next=5;break;case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(3),n.e(e.t0);case 18:return e.prev=18,n.f(),e.finish(18);case 21:case"end":return e.stop()}}),e,this,[[3,15,18,21]])}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){var e=this.assembly,t=this.changes,n=this.logger,r=this.typeName;return new i({changedIds:me(this.changedIds).reverse(),typeName:r,changes:me(t).reverse().map((function(e){return{featureId:e.featureId,oldStart:e.newStart,newStart:e.oldStart}})),assembly:e},{logger:n})}}]),i}(ar.FeatureChange);$s.LocationStartChange=Js;var Ks={};Object.defineProperty(Ks,"__esModule",{value:!0}),Ks.StrandChange=void 0;var Ys=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","StrandChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=he(n,1)[0];return{typeName:r,changedIds:t,assembly:e,featureId:o.featureId,oldStrand:o.oldStrand,newStrand:o.newStrand}}return{typeName:r,changedIds:t,assembly:e,changes:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,i=this.logger,a=[],s=we(o=this.changes),e.prev=4,s.s();case 6:if((u=s.n()).done){e.next=30;break}return d=(f=u.value).featureId,h=f.oldStrand,e.next=11,n.findOne({allIds:d}).session(r).exec();case 11:if(p=e.sent){e.next=16;break}throw m="*** ERROR: The following featureId was not found in database ='".concat(d,"'"),i.error(m),new Error(m);case 16:if(null===(c=i.debug)||void 0===c||c.call(i,"*** Feature found: ".concat(JSON.stringify(p))),g=this.getFeatureFromId(p,d)){e.next=22;break}throw i.error("ERROR when searching feature by featureId"),new Error("ERROR when searching feature by featureId");case 22:if(null===(l=i.debug)||void 0===l||l.call(i,"*** Found feature: ".concat(JSON.stringify(g))),g.strand===h){e.next=27;break}throw y="*** ERROR: Feature's current strand \"".concat(p.strand,'" doesn\'t match with expected value "').concat(h,'"'),i.error(y),new Error(y);case 27:a.push({feature:g,topLevelFeature:p});case 28:e.next=6;break;case 30:e.next=35;break;case 32:e.prev=32,e.t0=e.catch(4),s.e(e.t0);case 35:return e.prev=35,s.f(),e.finish(35);case 38:v=we(o.entries()),e.prev=39,v.s();case 41:if((_=v.n()).done){e.next=59;break}return w=he(_.value,2),k=(S=a[w[0]]).topLevelFeature,(x=S.feature).strand=w[1].newStrand,k._id.equals(x._id)?k.markModified("strand"):k.markModified("children"),e.prev=47,e.next=50,k.save();case 50:e.next=56;break;case 52:throw e.prev=52,e.t1=e.catch(47),null===(E=i.debug)||void 0===E||E.call(i,"*** FAILED: ".concat(e.t1)),e.t1;case 56:null===(b=i.debug)||void 0===b||b.call(i,"*** Object updated in Mongo. New object: ".concat(JSON.stringify(k)));case 57:e.next=41;break;case 59:e.next=64;break;case 61:e.prev=61,e.t2=e.catch(39),v.e(e.t2);case 64:return e.prev=64,v.f(),e.finish(64);case 67:case"end":return e.stop()}}),e,this,[[4,32,35,38],[39,61,64,67],[47,52]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw new Error("No data store");case 2:n=we(this.changedIds.entries()),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=13;break}if(o=he(r.value,2),i=o[0],s=t.getFeature(a=o[1])){e.next=10;break}throw new Error('Could not find feature with identifier "'.concat(a,'"'));case 10:s.setStrand(this.changes[i].newStrand);case 11:e.next=5;break;case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(3),n.e(e.t0);case 18:return e.prev=18,n.f(),e.finish(18);case 21:case"end":return e.stop()}}),e,this,[[3,15,18,21]])}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){var e=this.assembly,t=this.changes,n=this.logger,r=this.typeName;return new i({changedIds:me(this.changedIds).reverse(),typeName:r,changes:me(t).reverse().map((function(e){return{featureId:e.featureId,oldStrand:e.newStrand,newStrand:e.oldStrand}})),assembly:e},{logger:n})}}]),i}(ar.FeatureChange);Ks.StrandChange=Ys;var Zs={};Object.defineProperty(Zs,"__esModule",{value:!0}),Zs.TypeChange=void 0;var Xs=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","TypeChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=he(n,1)[0];return{typeName:r,changedIds:t,assembly:e,featureId:o.featureId,oldType:o.oldType,newType:o.newType}}return{typeName:r,changedIds:t,assembly:e,changes:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,i=this.logger,a=[],s=we(o=this.changes),e.prev=4,s.s();case 6:if((u=s.n()).done){e.next=30;break}return d=(f=u.value).featureId,h=f.oldType,e.next=11,n.findOne({allIds:d}).session(r).exec();case 11:if(p=e.sent){e.next=16;break}throw m="*** ERROR: The following featureId was not found in database ='".concat(d,"'"),i.error(m),new Error(m);case 16:if(null===(c=i.debug)||void 0===c||c.call(i,"*** Feature found: ".concat(JSON.stringify(p))),g=this.getFeatureFromId(p,d)){e.next=22;break}throw i.error("ERROR when searching feature by featureId"),new Error("ERROR when searching feature by featureId");case 22:if(null===(l=i.debug)||void 0===l||l.call(i,"*** Found feature: ".concat(JSON.stringify(g))),g.type===h){e.next=27;break}throw y="*** ERROR: Feature's current type \"".concat(p.type,'" doesn\'t match with expected value "').concat(h,'"'),i.error(y),new Error(y);case 27:a.push({feature:g,topLevelFeature:p});case 28:e.next=6;break;case 30:e.next=35;break;case 32:e.prev=32,e.t0=e.catch(4),s.e(e.t0);case 35:return e.prev=35,s.f(),e.finish(35);case 38:v=we(o.entries()),e.prev=39,v.s();case 41:if((_=v.n()).done){e.next=59;break}return w=he(_.value,2),k=(S=a[w[0]]).topLevelFeature,(x=S.feature).type=w[1].newType,k._id.equals(x._id)?k.markModified("type"):k.markModified("children"),e.prev=47,e.next=50,k.save();case 50:e.next=56;break;case 52:throw e.prev=52,e.t1=e.catch(47),null===(E=i.debug)||void 0===E||E.call(i,"*** FAILED: ".concat(e.t1)),e.t1;case 56:null===(b=i.debug)||void 0===b||b.call(i,"*** Object updated in Mongo. New object: ".concat(JSON.stringify(k)));case 57:e.next=41;break;case 59:e.next=64;break;case 61:e.prev=61,e.t2=e.catch(39),v.e(e.t2);case 64:return e.prev=64,v.f(),e.finish(64);case 67:case"end":return e.stop()}}),e,this,[[4,32,35,38],[39,61,64,67],[47,52]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw new Error("No data store");case 2:n=we(this.changedIds.entries()),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=13;break}if(o=he(r.value,2),i=o[0],s=t.getFeature(a=o[1])){e.next=10;break}throw new Error('Could not find feature with identifier "'.concat(a,'"'));case 10:s.setType(this.changes[i].newType);case 11:e.next=5;break;case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(3),n.e(e.t0);case 18:return e.prev=18,n.f(),e.finish(18);case 21:case"end":return e.stop()}}),e,this,[[3,15,18,21]])}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){var e=this.assembly,t=this.changes,n=this.logger,r=this.typeName;return new i({changedIds:me(this.changedIds).reverse(),typeName:r,changes:me(t).reverse().map((function(e){return{featureId:e.featureId,oldType:e.newType,newType:e.oldType}})),assembly:e},{logger:n})}}]),i}(ar.FeatureChange);Zs.TypeChange=Xs;var Qs={};Object.defineProperty(Qs,"__esModule",{value:!0}),Qs.UserChange=void 0;var eu=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","UserChange"),re(le(n),"changes",void 0),re(le(n),"userId",void 0),n.changes="changes"in e?e.changes:[e],n.userId=e.userId,n}return ne(i,[{key:"toJSON",value:function(){var e=this.changes,t=this.typeName,n=this.userId;return 1===e.length?{typeName:t,userId:n,role:he(e,1)[0].role}:{typeName:t,userId:n,changes:e}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.session,r=t.userModel,i=this.logger,a=this.userId,s=we(o=this.changes),e.prev=3,s.s();case 5:if((u=s.n()).done){e.next=18;break}return l=u.value,null===(c=i.debug)||void 0===c||c.call(i,"change: ".concat(JSON.stringify(o))),f=l.role,e.next=11,r.findByIdAndUpdate(a,{role:f}).session(n).exec();case 11:if(e.sent){e.next=16;break}throw d='*** ERROR: User with id "'.concat(a,'" not found'),i.error(d),new Error(d);case 16:e.next=5;break;case 18:e.next=23;break;case 20:e.prev=20,e.t0=e.catch(3),s.e(e.t0);case 23:return e.prev=23,s.f(),e.finish(23);case 26:case"end":return e.stop()}}),e,this,[[3,20,23,26]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new i({typeName:this.typeName,changes:this.changes,userId:this.userId},{logger:this.logger})}}]),i}(ar.Change);Qs.UserChange=eu,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.changes=void 0;var t=et;e.changes={AddAssemblyAndFeaturesFromFileChange:or.AddAssemblyAndFeaturesFromFileChange,AddAssemblyFromFileChange:bs.AddAssemblyFromFileChange,AddAssemblyFromExternalChange:qr.AddAssemblyFromExternalChange,AddFeatureChange:xs.AddFeatureChange,AddFeaturesFromFileChange:Rs.AddFeaturesFromFileChange,DeleteAssemblyChange:Ms.DeleteAssemblyChange,DeleteFeatureChange:ks.DeleteFeatureChange,DeleteUserChange:Ls.DeleteUserChange,FeatureAttributeChange:qs.FeatureAttributeChange,ImportJBrowseConfigChange:Us.ImportJBrowseConfigChange,LocationEndChange:Ws.LocationEndChange,LocationStartChange:$s.LocationStartChange,StrandChange:Ks.StrandChange,TypeChange:Zs.TypeChange,UserChange:Qs.UserChange,AddRefSeqAliasesChange:Is.AddRefSeqAliasesChange},t.__exportStar(or,e),t.__exportStar(bs,e),t.__exportStar(qr,e),t.__exportStar(xs,e),t.__exportStar(Rs,e),t.__exportStar(Ms,e),t.__exportStar(ks,e),t.__exportStar(Ls,e),t.__exportStar(qs,e),t.__exportStar(Us,e),t.__exportStar(Ws,e),t.__exportStar($s,e),t.__exportStar(Ks,e),t.__exportStar(Zs,e),t.__exportStar(Qs,e),t.__exportStar(Is,e)}(rr);var tu={},nu={};Object.defineProperty(nu,"__esModule",{value:!0}),nu.GetAssembliesOperation=void 0;var ru=function(e){oe(r,e);var t,n=fe(r);function r(){var e;ee(this,r);for(var t=arguments.length,o=new Array(t),i=0;i<t;i++)o[i]=arguments[i];return re(le(e=n.call.apply(n,[this].concat(o))),"typeName","GetAssembliesOperation"),e}return ne(r,[{key:"toJSON",value:function(){return{typeName:this.typeName}}},{key:"executeOnServer",value:function(e){return e.assemblyModel.find({status:0}).exec()}},{key:"executeOnLocalGFF3",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),r}(ar.Operation);nu.GetAssembliesOperation=ru;var ou={};Object.defineProperty(ou,"__esModule",{value:!0}),ou.GetFeaturesOperation=void 0;var iu=function(e){oe(r,e);var t,n=fe(r);function r(e,t){var o;return ee(this,r),re(le(o=n.call(this,e,t)),"typeName","GetFeaturesOperation"),re(le(o),"refSeq",void 0),re(le(o),"start",void 0),re(le(o),"end",void 0),o.refSeq=e.refSeq,o.start=e.start,o.end=e.end,o}return ne(r,[{key:"toJSON",value:function(){return{typeName:this.typeName,refSeq:this.refSeq,start:this.start,end:this.end}}},{key:"executeOnServer",value:function(e){return e.featureModel.find({refSeq:this.refSeq,min:{$lte:this.end},max:{$gte:this.start},status:0}).exec()}},{key:"executeOnLocalGFF3",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),r}(ar.Operation);ou.GetFeaturesOperation=iu,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.operations=void 0;var t=et;e.operations={GetAssembliesOperation:nu.GetAssembliesOperation,GetFeaturesOperation:ou.GetFeaturesOperation},t.__exportStar(nu,e),t.__exportStar(ou,e)}(tu);var au={},su={};Object.defineProperty(su,"__esModule",{value:!0}),su.Validation=void 0,su.isContext=function(e){return void 0!==e.context&&void 0!==e.reflector};var uu=function(){function e(){ee(this,e)}var t,n,r,o,i;return ne(e,[{key:"frontendPreValidate",value:(i=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"frontendPostValidate",value:(o=Q(Y().mark((function e(t,n){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return o.apply(this,arguments)})},{key:"backendPreValidate",value:(r=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"backendPostValidate",value:(n=Q(Y().mark((function e(t,n){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"possibleValues",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",void 0);case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),e}();su.Validation=uu;var cu={};Object.defineProperty(cu,"__esModule",{value:!0}),cu.validationRegistry=cu.ValidationSet=cu.ValidationResultSet=void 0;var lu=function(){function e(){ee(this,e),re(this,"results",[]),re(this,"ok",!0)}return ne(e,[{key:"resultsMessages",get:function(){return this.results.map((function(e){var t;return null===(t=e.error)||void 0===t?void 0:t.message})).filter(Boolean).join(", ")}},{key:"add",value:function(e){this.results.push(e),e.error&&(this.ok=!1)}}]),e}();cu.ValidationResultSet=lu;var fu=function(){function e(){ee(this,e),re(this,"validations",new Set)}var t,n,r,o,i;return ne(e,[{key:"registerValidation",value:function(e){this.validations.add(e)}},{key:"frontendPreValidate",value:(i=Q(Y().mark((function e(t){var n,r,o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=new lu,r=we(this.validations),e.prev=2,r.s();case 4:if((o=r.n()).done){e.next=14;break}return i=o.value,e.next=8,i.frontendPreValidate(t);case 8:if(n.add(a=e.sent),!a.error){e.next=12;break}return e.abrupt("break",14);case 12:e.next=4;break;case 14:e.next=19;break;case 16:e.prev=16,e.t0=e.catch(2),r.e(e.t0);case 19:return e.prev=19,r.f(),e.finish(19);case 22:return e.abrupt("return",n);case 23:case"end":return e.stop()}}),e,this,[[2,16,19,22]])}))),function(e){return i.apply(this,arguments)})},{key:"frontendPostValidate",value:(o=Q(Y().mark((function e(t,n){var r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=new lu,o=we(this.validations),e.prev=2,o.s();case 4:if((i=o.n()).done){e.next=14;break}return a=i.value,e.next=8,a.frontendPostValidate(t,n);case 8:if(r.add(s=e.sent),!s.error){e.next=12;break}return e.abrupt("break",14);case 12:e.next=4;break;case 14:e.next=19;break;case 16:e.prev=16,e.t0=e.catch(2),o.e(e.t0);case 19:return e.prev=19,o.f(),e.finish(19);case 22:return e.abrupt("return",r);case 23:case"end":return e.stop()}}),e,this,[[2,16,19,22]])}))),function(e,t){return o.apply(this,arguments)})},{key:"backendPreValidate",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=new lu,r=we(this.validations),e.prev=2,r.s();case 4:if((o=r.n()).done){e.next=14;break}return i=o.value,e.next=8,i.backendPreValidate(t);case 8:if(n.add(a=e.sent),!a.error){e.next=12;break}return e.abrupt("break",14);case 12:e.next=4;break;case 14:e.next=19;break;case 16:e.prev=16,e.t0=e.catch(2),r.e(e.t0);case 19:return e.prev=19,r.f(),e.finish(19);case 22:return e.abrupt("return",n);case 23:case"end":return e.stop()}}),e,this,[[2,16,19,22]])}))),function(e){return r.apply(this,arguments)})},{key:"backendPostValidate",value:(n=Q(Y().mark((function e(t,n){var r,o,i,a,s,u,c;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=n.featureModel,o=n.session,i=new lu,a=we(this.validations),e.prev=3,a.s();case 5:if((s=a.n()).done){e.next=15;break}return u=s.value,e.next=9,u.backendPostValidate(t,{featureModel:r,session:o});case 9:if(i.add(c=e.sent),!c.error){e.next=13;break}return e.abrupt("break",15);case 13:e.next=5;break;case 15:e.next=20;break;case 17:e.prev=17,e.t0=e.catch(3),a.e(e.t0);case 20:return e.prev=20,a.f(),e.finish(20);case 23:return e.abrupt("return",i);case 24:case"end":return e.stop()}}),e,this,[[3,17,20,23]])}))),function(e,t){return n.apply(this,arguments)})},{key:"possibleValues",value:(t=Q(Y().mark((function e(t){var n,r,o,i;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=we(this.validations),e.prev=1,n.s();case 3:if((r=n.n()).done){e.next=12;break}return o=r.value,e.next=7,o.possibleValues(t);case 7:if(!(i=e.sent)){e.next=10;break}return e.abrupt("return",i);case 10:e.next=3;break;case 12:e.next=17;break;case 14:e.prev=14,e.t0=e.catch(1),n.e(e.t0);case 17:return e.prev=17,n.f(),e.finish(17);case 20:return e.abrupt("return");case 21:case"end":return e.stop()}}),e,this,[[1,14,17,20]])}))),function(e){return t.apply(this,arguments)})}]),e}();cu.ValidationSet=fu,cu.validationRegistry=new fu;var du={},hu={};Object.defineProperty(hu,"__esModule",{value:!0}),hu.default=["2A_self_cleaving_peptide_region","4_methylcytosine","5S_SINE_retrotransposon","5_carboxylcytosine","5_formylcytosine","5_hydroxymethylcytosine","5_methylcytosine","7SL_SINE_retrotransposon","8_oxoadenine","8_oxoguanine","AACCCT_box","AFLP_fragment","AP_1_binding_site","ARIA","ARRET","ARS","ARS_consensus_sequence","ASPE_primer","AUG_initiated_uORF","AU_rich_element","A_box","A_box_type_1","A_box_type_2","A_minor_RNA_motif","A_to_C_transversion","A_to_G_transition","A_to_T_transversion","Ace2_UAS","Alu_deletion","Alu_insertion","BAC","BAC_cloned_genomic_insert","BAC_end","BAC_read_contig","BREd_motif","BREu_motif","B_box","Bel_Pao_LTR_retrotransposon","Bruno_response_element","C-D_H_ACA_box_scaRNA","C-D_H_ACA_box_scaRNA_gene","CAAT_signal","CAAX_box","CACTA_TIR_transposon","CAGE_cluster","CAGE_tag","CArG_box","CCAAT_motif","CCA_tail","CDRE_motif","CDS","CDS_extension","CDS_five_prime_extension","CDS_fragment","CDS_independently_known","CDS_predicted","CDS_region","CDS_supported_by_EST_or_cDNA_data","CDS_supported_by_domain_match_data","CDS_supported_by_peptide_spectrum_match","CDS_supported_by_sequence_similarity_data","CDS_three_prime_extension","CRE","CRISPR","CSL_response_element","CTCF_binding_site","CTG_start_codon","C_D_box_scaRNA","C_D_box_scaRNA_gene","C_D_box_snoRNA","C_D_box_snoRNA_gene","C_D_box_snoRNA_primary_transcript","C_box","C_cluster","C_gene_segment","C_region","C_to_A_transversion","C_to_G_transversion","C_to_T_transition","C_to_T_transition_at_pCpG_site","ChIP_seq_region","Copia_LTR_retrotransposon","CpG_island","Crick_strand","Crypton_YR_transposon","CsrB_RsmB_RNA","CuRE","DArT_marker","DCE","DCE_SI","DCE_SII","DCE_SIII","DDB_box","DHU_loop","DIRS_YR_retrotransposon","DJ_C_cluster","DJ_J_C_cluster","DJ_J_cluster","DJ_gene_segment","DMv1_motif","DMv2_motif","DMv3_motif","DMv4_motif","DMv5_motif","DNA_aptamer","DNA_binding_site","DNA_chromosome","DNA_constraint_sequence","DNA_loop","DNA_loop_anchor","DNA_motif","DNA_sequence_secondary_structure","DNA_transposon","DNAzyme","DNaseI_hypersensitive_site","DPE1_motif","DPE_motif","DRE","DRE_motif","DSR_motif","D_DJ_C_cluster","D_DJ_J_C_cluster","D_DJ_J_cluster","D_DJ_cluster","D_J_C_cluster","D_J_cluster","D_cluster","D_gene_recombination_feature","D_gene_segment","D_loop","DsrA_RNA","ER_retention_signal","EST","EST_match","E_box_motif","Endogenous_Retrovirus_LTR_retrotransposon","FLEX_element","FRE","FRT_site","GAGA_motif","GATA_box","GC_rich_promoter_region","GNA_oligo","GTT_trinucleotide_repeat","GT_dinucleotide_repeat","G_box","G_quartet","G_to_A_transition","G_to_C_transversion","G_to_T_transversion","GcvB_RNA","Gypsy_LTR_retrotransposon","H2AK5_acetylation_site","H2AK9_acetylation_site","H2AZK11_acetylation_site","H2AZK13_acetylation_site","H2AZK15_acetylation_site","H2AZK4_acetylation_site","H2AZK7_acetylation_site","H2BK120_acetylation_site","H2BK12_acetylation_site","H2BK15_acetylation_site","H2BK20_acetylation_site","H2BK5_acetylation_site","H2BK5_monomethylation_site","H2B_ubiquitination_site","H3K14_acetylation_site","H3K18_acetylation_site","H3K20_trimethylation_site","H3K23_acetylation_site","H3K23_dimethylation_site","H3K27_acetylation_site","H3K27_dimethylation_site","H3K27_methylation_site","H3K27_monomethylation_site","H3K27_trimethylation_site","H3K36_acetylation_site","H3K36_dimethylation_site","H3K36_methylation_site","H3K36_monomethylation_site","H3K36_trimethylation_site","H3K4_acetylation_site","H3K4_dimethylation_site","H3K4_methylation_site","H3K4_monomethylation_site","H3K4_trimethylation","H3K56_acetylation_site","H3K79_dimethylation_site","H3K79_methylation_site","H3K79_monomethylation_site","H3K79_trimethylation_site","H3K9_acetylation_site","H3K9_dimethylation_site","H3K9_methylation_site","H3K9_monomethylation_site","H3K9_trimethylation_site","H3R2_dimethylation_site","H3R2_monomethylation_site","H4K12_acetylation_site","H4K16_acetylation_site","H4K20_monomethylation_site","H4K4_trimethylation_site","H4K5_acetylation_site","H4K8_acetylation_site","H4K91_acetylation_site","H4K_acylation_region","H4R3_dimethylation_site","HERV_deletion","HERV_insertion","HSE","H_ACA_box_scaRNA","H_ACA_box_scaRNA_gene","H_ACA_box_snoRNA","H_ACA_box_snoRNA_gene","H_ACA_box_snoRNA_primary_transcript","H_pseudoknot","Hoogsteen_base_pair","I-box","IG_C_gene","IG_C_pseudogene","IG_D_gene","IG_J_gene","IG_J_pseudogene","IG_V_gene","IG_V_pseudogene","INR1_motif","INR_motif","IRLinv_site","IRRinv_site","ISRE","I_LINE_retrotransposon","J_C_cluster","J_cluster","J_gene_recombination_feature","J_gene_segment","J_heptamer","J_nonamer","J_spacer","Jockey_LINE_retrotransposon","KEN_box","K_turn_RNA_motif","L1_LINE_retrotransposon","LARD","LINE1_deletion","LINE1_insertion","LINE_element","LNA_oligo","LOZ1_response_element","LTR_component","LTR_retrotransposon","L_box","MCB","MITE","MNP","MNV","MNV_artifact","MTE","Mat2P","Mat3M","Merlin_TIR_transposon","MicF_RNA","Mutator_TIR_transposon","N2_2_prime_O_dimethylguanosine","N2_7_2prirme_O_trimethylguanosine","N2_7_dimethylguanosine","N2_N2_2_prime_O_trimethylguanosine","N2_N2_7_trimethylguanosine","N2_N2_dimethylguanosine","N2_methylguanosine","N4_2_prime_O_dimethylcytidine","N4_N4_2_prime_O_trimethylcytidine","N4_acetyl_2_prime_O_methylcytidine","N4_acetylcytidine","N4_methylcytidine","N6_2_prime_O_dimethyladenosine","N6_N6_2_prime_O_trimethyladenosine","N6_N6_dimethyladenosine","N6_acetyladenosine","N6_cis_hydroxyisopentenyl_adenosine","N6_glycinylcarbamoyladenosine","N6_hydroxynorvalylcarbamoyladenosine","N6_isopentenyladenosine","N6_methyl_N6_threonylcarbamoyladenosine","N6_methyladenine","N6_methyladenosine","N6_threonylcarbamoyladenosine","NDM2_motif","NDM3_motif","NMD_polymorphic_pseudogene_transcript","NMD_transcript","NSD_transcript","N_region","Ngaro_YR_retrotransposon","ORF","Okazaki_fragment","OxyS_RNA","PAC","PAC_end","PCB","PCR_product","PIF_Harbinger_TIR_transposon","PIP_box","PNA_oligo","PSE_motif","P_TIR_transposon","Penelope_retrotransposon","Phage_RNA_Polymerase_Promoter","Pho7_binding_site","QTL","R2_LINE_retrotransposon","RAPD","RFLP_fragment","RH_map","RNA_6S","RNA_7SK","RNA_7SK_gene","RNA_aptamer","RNA_chromosome","RNA_hook_turn","RNA_internal_loop","RNA_junction_loop","RNA_motif","RNA_polymerase_III_TATA_box","RNA_polymerase_II_TATA_box","RNA_sequence_secondary_structure","RNA_stability_element","RNA_thermometer","RNAi_reagent","RNApol_III_promoter","RNApol_III_promoter_type_1","RNApol_III_promoter_type_2","RNApol_III_promoter_type_3","RNApol_II_core_promoter","RNApol_II_promoter","RNApol_I_promoter","RNase_MRP_RNA","RNase_MRP_RNA_gene","RNase_P_RNA","RNase_P_RNA_gene","RRE_RNA","RR_tract","RST","RST_match","RTE_LINE_retrotransposon","R_GNA_oligo","R_LTR_region","R_five_prime_LTR_region","R_three_prime_LTR_region","Retrovirus_LTR_retrotransposon","Robertsonian_fusion","RprA_RNA","SAGE_tag","SECIS_element","SHP_box","SINE_element","SL10_acceptor_site","SL11_acceptor_site","SL12_acceptor_site","SL1_acceptor_site","SL2_acceptor_site","SL3_acceptor_site","SL4_acceptor_site","SL5_acceptor_site","SL6_acceptor_site","SL7_acceptor_site","SL8_acceptor_site","SL9_acceptor_site","SNP","SNV","SNV_artifact","SP6_RNA_Polymerase_Promoter","SRP_RNA","SRP_RNA_gene","SRP_RNA_primary_transcript","STREP_motif","STS","STS_map","SUMO_interaction_motif","SVA_deletion","SVA_insertion","S_GNA_oligo","S_region","Sap1_recognition_motif","Shine_Dalgarno_sequence","T3_RNA_Polymerase_Promoter","T7_RNA_Polymerase_Promoter","TATA_box","TCS_element","TCT_motif","TERRA","TFRS_collection","TFRS_module","TF_binding_site","TNA_oligo","TRIM","TR_C_Gene","TR_D_Gene","TR_J_Gene","TR_J_pseudogene","TR_V_Gene","TR_V_pseudogene","TR_box","TSS","T_cell_receptor_gene","T_cell_receptor_pseudogene","T_loop","T_to_A_transversion","T_to_C_transition","T_to_G_transversion","Tc1_Mariner_TIR_transposon","Transib_TIR_transposon","U11_snRNA","U12_intron","U12_snRNA","U14_snoRNA","U14_snoRNA_gene","U14_snoRNA_primary_transcript","U1_snRNA","U2_intron","U2_snRNA","U3_LTR_region","U3_five_prime_LTR_region","U3_snoRNA","U3_snoRNA_gene","U3_three_prime_LTR_region","U4_snRNA","U4atac_snRNA","U5_LTR_region","U5_five_prime_LTR_region","U5_snRNA","U5_three_prime_LTR_region","U6_snRNA","U6atac_snRNA","U7_snRNA","UAA_stop_codon_signal","UAG_stop_codon_signal","UGA_stop_codon_signal","UNAAAC_motif","UPD","UST","UST_match","UTR","UTR_intron","UTR_region","U_box","VDJ_C_cluster","VDJ_J_C_cluster","VDJ_J_cluster","VDJ_gene_segment","VD_gene_segment","VJ_C_cluster","VJ_J_C_cluster","VJ_J_cluster","VJ_gene_segment","V_DJ_C_cluster","V_DJ_J_C_cluster","V_DJ_J_cluster","V_DJ_cluster","V_D_DJ_C_cluster","V_D_DJ_J_C_cluster","V_D_DJ_J_cluster","V_D_DJ_cluster","V_D_J_C_cluster","V_D_J_cluster","V_J_C_cluster","V_J_cluster","V_VDJ_C_cluster","V_VDJ_J_C_cluster","V_VDJ_J_cluster","V_VDJ_cluster","V_VJ_C_cluster","V_VJ_J_C_cluster","V_VJ_J_cluster","V_VJ_cluster","V_cluster","V_gene_recombination_feature","V_gene_segment","V_heptamer","V_nonamer","V_region","V_spacer","Viper_YR_retrotransposon","WC_base_pair","W_region","Watson_strand","X_element","X_element_combinatorial_repeat","X_region","YAC","YAC_end","YR_retrotransposon","Y_RNA","Y_RNA_gene","Y_RNA_primary_transcript","Y_prime_element","Y_region","Z1_region","Z2_region","Zas1_recognition_motif","aberrant_processed_transcript","accessible_DNA_region","active_peptide","adaptive_island","alanine","alanine_tRNA_primary_transcript","alanyl_tRNA","allelic_pseudogene","allelic_pseudogenic_rRNA","allelic_pseudogenic_tRNA","allelically_excluded_gene","alpha_beta_motif","alpha_helix","alternate_sequence_site","alternatively_spliced_transcript","amber_stop_codon","ambisense_ssRNA_viral_sequence","amino_acid","amplification_origin","anchor_binding_site","anchor_region","androgen_response_element","anti_ARRET","anticodon","anticodon_loop","antiparallel_beta_strand","antisense_RNA","antisense_lncRNA","antisense_lncRNA_gene","antisense_primary_transcript","apicoplast_chromosome","apicoplast_gene","aptamer","archaeal_intron","archaeosine","arginine","arginine_tRNA_primary_transcript","arginyl_tRNA","asparagine","asparagine_tRNA_primary_transcript","asparaginyl_tRNA","aspartic_acid","aspartic_acid_tRNA_primary_transcript","aspartyl_tRNA","assembly","assembly_component","assembly_error_correction","asx_motif","asx_turn","asx_turn_left_handed_type_one","asx_turn_left_handed_type_two","asx_turn_right_handed_type_one","asx_turn_right_handed_type_two","asymmetric_RNA_internal_loop","attB_site","attC_site","attCtn_site","attI_site","attL_site","attP_site","attR_site","attenuator","autocatalytically_spliced_intron","bacterial_RNApol_promoter","bacterial_RNApol_promoter_sigma54_element","bacterial_RNApol_promoter_sigma_70_element","bacterial_RNApol_promoter_sigma_ecf_element","bacterial_terminator","base","base_call_error_correction","base_pair","beta_bulge","beta_bulge_loop","beta_bulge_loop_five","beta_bulge_loop_six","beta_strand","beta_turn","beta_turn_left_handed_type_one","beta_turn_left_handed_type_two","beta_turn_right_handed_type_one","beta_turn_right_handed_type_two","beta_turn_type_eight","beta_turn_type_six","beta_turn_type_six_a","beta_turn_type_six_a_one","beta_turn_type_six_a_two","beta_turn_type_six_b","bidirectional_promoter","bidirectional_promoter_lncRNA","binding_site","biochemical_region_of_peptide","biological_region","biomaterial_region","biosynthetic_gene_cluster","blocked_reading_frame","blunt_end_restriction_enzyme_cleavage_junction","blunt_end_restriction_enzyme_cleavage_site","boundary_element","branch_site","cDNA_clone","cDNA_match","c_terminal_region","candidate_gene","canonical_five_prime_splice_site","canonical_three_prime_splice_site","cap","capped_mRNA","capped_primary_transcript","cassette_pseudogene","catalytic_residue","catmat_left_handed_four","catmat_left_handed_three","catmat_right_handed_four","catmat_right_handed_three","central_hydrophobic_region_of_signal_peptide","centromere","centromere_DNA_Element_I","centromere_DNA_Element_II","centromere_DNA_Element_III","centromeric_repeat","chimeric_cDNA_clone","chloroplast_DNA_read","chloroplast_chromosome","chromatin_regulatory_region","chromoplast_chromosome","chromoplast_gene","chromosomal_regulatory_element","chromosomal_structural_element","chromosomal_translocation","chromosome","chromosome_arm","chromosome_band","chromosome_breakage_sequence","chromosome_breakpoint","chromosome_part","circular_double_stranded_DNA_chromosome","circular_double_stranded_RNA_chromosome","circular_mRNA","circular_ncRNA","circular_plasmid","circular_single_stranded_DNA_chromosome","circular_single_stranded_RNA_chromosome","cis_acting_homologous_chromosome_pairing_region","cis_regulatory_frameshift_element","cis_regulatory_module","cis_splice_site","class_II_RNA","class_I_RNA","cleaved_for_gpi_anchor_region","cleaved_initiator_methionine","cleaved_peptide_region","clip","clone","clone_end","clone_insert","clone_insert_end","clone_insert_start","cloned_cDNA_insert","cloned_genomic_insert","cloned_region","coding_conserved_region","coding_end","coding_exon","coding_region_of_exon","coding_start","coding_transcript_with_retained_intron","codon","coiled_coil","cointegrated_plasmid","common_fragile_site","complex_chromosomal_rearrangement","complex_operon","complex_regulon","complex_structural_alteration","complex_substitution","compositionally_biased_region_of_peptide","conformational_switch","conjugative_transposon","consensus_AFLP_fragment","consensus_gDNA","consensus_mRNA","consensus_region","conserved_region","constitutive_promoter","contig","contig_collection","contig_read","copy_number_gain","copy_number_loss","copy_number_variation","core_eukaryotic_promoter_element","core_prokaryotic_promoter_element","core_promoter_element","core_viral_promoter_element","cosmid","cross_genome_match","cryptic_gene","cryptic_promoter","cryptic_prophage","cryptic_splice_site","cryptogene","ct_gene","cyanelle_chromosome","cyanelle_gene","cyclic_translocation","cysteine","cysteine_tRNA_primary_transcript","cysteinyl_tRNA","cytoplasmic_polypeptide_region","cytosolic_16S_rRNA","cytosolic_18S_rRNA","cytosolic_23S_rRNA","cytosolic_25S_rRNA","cytosolic_28S_rRNA","cytosolic_2S_rRNA","cytosolic_5S_rRNA","cytosolic_5_8S_rRNA","cytosolic_LSU_rRNA","cytosolic_LSU_rRNA_gene","cytosolic_SSU_rRNA","cytosolic_SSU_rRNA_gene","cytosolic_rRNA","cytosolic_rRNA_16S_gene","cytosolic_rRNA_18S_gene","cytosolic_rRNA_23S_gene","cytosolic_rRNA_25S_gene","cytosolic_rRNA_28S_gene","cytosolic_rRNA_2S_gene","cytosolic_rRNA_5S_gene","cytosolic_rRNA_5_8S_gene","cytosolic_rRNA_gene","dCAPS_primer","databank_entry","decayed_exon","defective_conjugative_transposon","deficient_translocation","deletion","deletion_artifact","deletion_breakpoint","deletion_junction","delins","destruction_box","dg_repeat","dh_repeat","dicistronic_mRNA","dicistronic_primary_transcript","dicistronic_transcript","dif_site","dihydrouridine","dinucleotide_repeat_microsatellite_feature","direct_repeat","direct_tandem_duplication","disabled_reading_frame","dispersed_repeat","distal_duplication","distal_promoter_element","distant_three_prime_recoding_signal","double_stranded_DNA_chromosome","double_stranded_RNA_chromosome","ds_DNA_viral_sequence","ds_RNA_viral_sequence","ds_oligo","duplicated_pseudogene","duplication","duplication_artifact","dye_terminator_read","early_origin_of_replication","edited_CDS","edited_mRNA","edited_transcript","edited_transcript_by_A_to_I_substitution","edited_transcript_feature","editing_block","editing_domain","endogenous_retroviral_gene","endonuclease_spliced_intron","endosomal_localization_signal","engineered_episome","engineered_foreign_gene","engineered_foreign_region","engineered_foreign_repetitive_element","engineered_foreign_transposable_element","engineered_foreign_transposable_element_gene","engineered_fusion_gene","engineered_gene","engineered_insert","engineered_plasmid","engineered_region","engineered_rescue_region","engineered_tag","engineered_transposable_element","enhancer","enhancerRNA","enhancer_binding_site","enhancer_blocking_element","enhancer_bound_by_factor","enhancer_trap_construct","enzymatic_RNA","enzymatic_RNA_gene","epigenetically_modified_gene","epigenetically_modified_region","epigenomically_modified_region","episome","epitope","epoxyqueuosine","eukaryotic_promoter","eukaryotic_terminator","exemplar_mRNA","exon","exon_junction","exon_of_single_exon_gene","exon_region","exonic_splice_enhancer","exonic_splicing_silencer","experimental_feature","experimental_result_region","experimentally_defined_binding_region","expressed_sequence_assembly","expressed_sequence_match","extended_cis_splice_site","extended_intronic_splice_region","external_transcribed_spacer_region","extrachromosomal_mobile_genetic_element","extramembrane_polypeptide_region","fingerprint_map","five_aminomethyl_two_thiouridine","five_carbamoylmethyl_two_prime_O_methyluridine","five_carbamoylmethyluridine","five_carboxyhydroxymethyl_uridine","five_carboxyhydroxymethyl_uridine_methyl_ester","five_carboxymethylaminomethyl_two_prime_O_methyluridine","five_carboxymethylaminomethyl_two_thiouridine","five_carboxymethylaminomethyluridine","five_carboxymethyluridine","five_formyl_two_prime_O_methylcytidine","five_formylcytidine","five_hydroxymethylcytidine","five_hydroxyuridine","five_isopentenylaminomethyl_two_prime_O_methyluridine","five_isopentenylaminomethyl_two_thiouridine","five_isopentenylaminomethyl_uridine","five_methoxycarbonylmethyl_two_prime_O_methyluridine","five_methoxycarbonylmethyl_two_thiouridine","five_methoxycarbonylmethyluridine","five_methoxyuridine","five_methyl_2_thiouridine","five_methylaminomethyl_two_selenouridine","five_methylaminomethyl_two_thiouridine","five_methylaminomethyluridine","five_methylcytidine","five_methyldihydrouridine","five_methyluridine","five_prime_D_heptamer","five_prime_D_nonamer","five_prime_D_recombination_signal_sequence","five_prime_D_spacer","five_prime_EST","five_prime_LTR","five_prime_LTR_component","five_prime_RST","five_prime_UST","five_prime_UTR","five_prime_UTR_intron","five_prime_cis_splice_site","five_prime_clip","five_prime_coding_exon","five_prime_coding_exon_coding_region","five_prime_coding_exon_noncoding_region","five_prime_flanking_region","five_prime_intron","five_prime_noncoding_exon","five_prime_open_reading_frame","five_prime_recoding_site","five_prime_restriction_enzyme_junction","five_prime_sticky_end_restriction_enzyme_cleavage_site","five_prime_terminal_inverted_repeat","five_taurinomethyl_two_thiouridine","five_taurinomethyluridine","five_two_prime_O_dimethylcytidine","five_two_prime_O_dimethyluridine","flanking_region","flanking_repeat","flanking_three_prime_quadruplet_recoding_signal","floxed_gene","foldback_element","foreign_gene","foreign_transposable_element","forkhead_motif","forward_primer","fosmid","four_bp_start_codon","four_demethylwyosine","four_thiouridine","fragile_site","fragment_assembly","functional_candidate_gene","functional_gene_region","fusion_gene","gRNA_gene","galactosyl_queuosine","gamma_turn","gamma_turn_classic","gamma_turn_inverse","gap","gene","gene_array","gene_cassette","gene_cassette_array","gene_component_region","gene_fragment","gene_group","gene_member_region","gene_rearranged_at_DNA_level","gene_segment","gene_silenced_by_DNA_methylation","gene_silenced_by_DNA_modification","gene_silenced_by_RNA_interference","gene_silenced_by_histone_deacetylation","gene_silenced_by_histone_methylation","gene_silenced_by_histone_modification","gene_subarray","gene_trap_construct","gene_with_dicistronic_mRNA","gene_with_dicistronic_primary_transcript","gene_with_dicistronic_transcript","gene_with_edited_transcript","gene_with_mRNA_recoded_by_translational_bypass","gene_with_mRNA_with_frameshift","gene_with_non_canonical_start_codon","gene_with_polyadenylated_mRNA","gene_with_polycistronic_transcript","gene_with_recoded_mRNA","gene_with_start_codon_CUG","gene_with_stop_codon_read_through","gene_with_stop_codon_redefined_as_pyrrolysine","gene_with_stop_codon_redefined_as_selenocysteine","gene_with_trans_spliced_transcript","gene_with_transcript_with_translational_frameshift","genetic_marker","genomic_DNA_contig","genomic_DNA_read","genomic_clone","genomic_island","genomically_contaminated_cDNA_clone","glutamic_acid","glutamic_acid_tRNA_primary_transcript","glutamine","glutamine_tRNA_primary_transcript","glutaminyl_tRNA","glutamyl_tRNA","glycine","glycine_tRNA_primary_transcript","glycyl_tRNA","golden_path","golden_path_fragment","group_1_intron_homing_endonuclease_target_region","group_IIA_intron","group_IIB_intron","group_IIC_intron","group_III_intron","group_II_intron","group_I_intron","guide_RNA","guide_RNA_region","hAT_TIR_transposon","hammerhead_ribozyme","haplotype_block","helitron","helix_turn_helix","heptamer_of_recombination_feature_of_vertebrate_immune_system_gene","heritable_phenotypic_marker","high_identity_region","histidine","histidine_tRNA_primary_transcript","histidyl_tRNA","histone_2AZ_acetylation_site","histone_2A_acetylation_site","histone_2B_acetylation_site","histone_3_acetylation_site","histone_4_acetylation_site","histone_acetylation_site","histone_acylation_region","histone_binding_site","histone_methylation_site","histone_modification","histone_ubiqitination_site","homing_endonuclease_binding_site","homol_D_box","homol_E_box","homologous_chromosome_recognition_and_pairing_locus","homologous_region","hpRNA","hpRNA_gene","hydrophobic_region_of_peptide","hydroxywybutosine","iDNA","i_motif","immature_peptide_region","immunoglobulin_gene","immunoglobulin_pseudogene","immunoglobulin_region","imprinting_control_region","indel_artifact","inducible_promoter","inert_DNA_spacer","inosine","insertion","insertion_artifact","insertion_breakpoint","insertion_sequence","insertion_site","insulator","insulator_binding_site","integrated_mobile_genetic_element","integrated_plasmid","integration_excision_site","integron","intein","intein_encoding_region","interband","interchromosomal_breakpoint","interchromosomal_translocation","intergenic_region","interior_coding_exon","interior_exon","interior_intron","intermediate_element","internal_Shine_Dalgarno_sequence","internal_UTR","internal_eliminated_sequence","internal_guide_sequence","internal_ribosome_entry_site","internal_transcribed_spacer_region","intrachromosomal_breakpoint","intrachromosomal_translocation","intramembrane_polypeptide_region","intrinsically_unstructured_polypeptide_region","introgressed_chromosome_region","intron","intron_base_5","intron_domain","intronic_regulatory_region","intronic_splice_enhancer","intronic_splicing_silencer","invalidated_cDNA_clone","inversion","inversion_breakpoint","inversion_cum_translocation","inversion_site","inversion_site_part","inverted_intrachromosomal_transposition","inverted_repeat","inverted_tandem_duplication","iron_repressed_GATA_element","iron_responsive_element","isoleucine","isoleucine_tRNA_primary_transcript","isoleucyl_tRNA","isomiR","isowyosine","junction","kinetoplast_gene","knob","kozak_sequence","lambda_vector","lariat_intron","late_origin_of_replication","left_handed_peptide_helix","leucine","leucine_tRNA_primary_transcript","leucoplast_chromosome","leucoplast_gene","leucyl_tRNA","ligand_binding_site","ligation_based_read","lincRNA","lincRNA_gene","linear_double_stranded_DNA_chromosome","linear_double_stranded_RNA_chromosome","linear_plasmid","linear_single_stranded_DNA_chromosome","linear_single_stranded_RNA_chromosome","linkage_group","lipoprotein_signal_peptide","lncRNA","lncRNA_gene","lncRNA_primary_transcript","lncRNA_with_retained_intron","loR","locus_control_region","long_terminal_repeat","long_terminal_repeat_transcript","loop","low_complexity_region","loxP_site","lysidine","lysine","lysine_tRNA_primary_transcript","lysosomal_localization_signal","lysyl_tRNA","mRNA","mRNA_contig","mRNA_read","mRNA_recoded_by_codon_redefinition","mRNA_recoded_by_translational_bypass","mRNA_region","mRNA_with_frameshift","mRNA_with_minus_1_frameshift","mRNA_with_minus_2_frameshift","mRNA_with_plus_1_frameshift","mRNA_with_plus_2_frameshift","macronuclear_chromosome","macronucleus_destined_segment","major_TSS","mannosyl_queuosine","match","match_part","maternal_uniparental_disomy","maternally_imprinted_gene","mathematically_defined_repeat","mating_type_M_box","mating_type_region","mating_type_region_motif","mating_type_region_replication_fork_barrier","matrix_attachment_site","mature_protein_region","mature_protein_region_of_CDS","mature_transcript","mature_transcript_region","maxicircle","maxicircle_gene","meiotic_recombination_region","membrane_peptide_loop","membrane_structure","metabolic_island","metal_binding_site","methionine","methionine_tRNA_primary_transcript","methionyl_tRNA","methylated_DNA_base_feature","methylated_adenine","methylated_cytosine","methylation_guide_snoRNA","methylation_guide_snoRNA_gene","methylation_guide_snoRNA_primary_transcript","methylinosine","methylwyosine","miRNA","miRNA_antiguide","miRNA_gene","miRNA_loop","miRNA_primary_transcript","miRNA_primary_transcript_region","miRNA_stem","miRNA_target_site","miR_encoding_Y_RNA_primary_transcript","miR_encoding_lncRNA_primary_transcript","miR_encoding_shRNA_primary_transcript","miR_encoding_snoRNA_primary_transcript","miR_encoding_tRNA_primary_transcript","miR_encoding_vaultRNA_primary_transcript","miRtron","microarray_oligo","micronuclear_chromosome","microsatellite","mini_exon_donor_RNA","mini_gene","minicircle","minicircle_gene","minisatellite","minor_TSS","minus_10_signal","minus_12_signal","minus_1_translational_frameshift","minus_24_signal","minus_2_translational_frameshift","minus_35_signal","mitochondrial_DNA_read","mitochondrial_D_loop","mitochondrial_chromosome","mitochondrial_contig","mitochondrial_control_region","mitochondrial_supercontig","mitochondrial_targeting_signal","mitotic_recombination_region","moR","mobile_element_deletion","mobile_element_insertion","mobile_genetic_element","mobile_intron","modified_DNA_base","modified_L_alanine","modified_L_arginine","modified_L_asparagine","modified_L_aspartic_acid","modified_L_cysteine","modified_L_glutamic_acid","modified_L_glutamine","modified_L_histidine","modified_L_isoleucine","modified_L_leucine","modified_L_lysine","modified_L_methionine","modified_L_phenylalanine","modified_L_proline","modified_L_selenocysteine","modified_L_serine","modified_L_threonine","modified_L_tryptophan","modified_L_tyrosine","modified_L_valine","modified_RNA_base_feature","modified_adenine","modified_adenosine","modified_amino_acid_feature","modified_cytidine","modified_cytosine","modified_glycine","modified_guanine","modified_guanosine","modified_inosine","modified_uridine","molecular_contact_region","monocistronic_mRNA","monocistronic_primary_transcript","monocistronic_transcript","monomeric_repeat","morpholino_oligo","mt_LSU_rRNA","mt_LSU_rRNA_gene","mt_SSU_rRNA","mt_SSU_rRNA_gene","mt_gene","mt_rRNA","mt_rRNA_gene","mt_tRNA","multiplexing_sequence_identifier","mutated_variant_site","mutational_hotspot","n_terminal_region","natural_plasmid","natural_transposable_element","natural_variant_site","ncRNA","ncRNA_gene","nc_conserved_region","nc_primary_transcript","negative_sense_ssRNA_viral_sequence","negatively_autoregulated_gene","nested_repeat","nested_tandem_repeat","nested_transposon","no_output","no_sequence_alteration","non_AUG_initiated_uORF","non_LTR_retrotransposon","non_LTR_retrotransposon_polymeric_tract","non_adjacent_residues","non_allelic_homologous_recombination_region","non_canonical_five_prime_splice_site","non_canonical_start_codon","non_canonical_three_prime_splice_site","non_complimentary_stem","non_cytoplasmic_polypeptide_region","non_processed_pseudogene","non_terminal_residue","non_transcribed_region","nonamer_of_recombination_feature_of_vertebrate_immune_system_gene","noncoding_exon","noncoding_region_of_exon","novel_sequence_insertion","nuclear_chromosome","nuclear_export_signal","nuclear_gene","nuclear_localization_signal","nuclear_mt_pseudogene","nuclear_rim_localization_signal","nuclease_binding_site","nuclease_hypersensitive_site","nuclease_sensitive_site","nucleomorph_gene","nucleomorphic_chromosome","nucleotide_binding_site","nucleotide_cleavage_site","nucleotide_match","nucleotide_motif","nucleotide_to_protein_binding_site","ochre_stop_codon","octamer_motif","oligo","oligo_U_tail","one_methyl_three_three_amino_three_carboxypropyl_pseudouridine","one_methyladenosine","one_methylguanosine","one_methylinosine","one_methylpseudouridine","one_two_prime_O_dimethyladenosine","one_two_prime_O_dimethylguanosine","one_two_prime_O_dimethylinosine","opal_stop_codon","open_chromatin_region","operator","operon","oriC","oriT","oriV","origin_of_replication","orphan_CDS","orthologous_region","outron","overlapping_EST_set","overlapping_feature_set","paired_end_fragment","parallel_beta_strand","paralogous_region","partial_genomic_sequence_assembly","partially_processed_cDNA_clone","paternal_uniparental_disomy","paternally_imprinted_gene","pathogenic_island","peptide_coil","peptide_helix","peptide_localization_signal","peroxywybutosine","phage_sequence","phagemid","phenylalanine","phenylalanine_tRNA_primary_transcript","phenylalanyl_tRNA","pheromone_response_element","phosphorylation_site","piRNA","piRNA_gene","pi_helix","piggyBac_TIR_transposon","plasmid","plasmid_gene","plasmid_vector","plastid_LSU_rRNA","plastid_LSU_rRNA_gene","plastid_SSU_rRNA","plastid_SSU_rRNA_gene","plastid_gene","plastid_rRNA","plastid_rRNA_gene","plus_1_translational_frameshift","plus_2_translational_frameshift","point_centromere","point_mutation","polinton","polyA_primed_cDNA_clone","polyA_sequence","polyA_signal_sequence","polyA_site","polyA_site_cluster","polyadenylated_mRNA","polycistronic_mRNA","polycistronic_primary_transcript","polycistronic_transcript","polymerase_synthesis_read","polymorphic_pseudogene","polymorphic_pseudogene_processed_transcript","polymorphic_pseudogene_with_retained_intron","polypeptide","polypeptide_DNA_contact","polypeptide_binding_motif","polypeptide_calcium_ion_contact_site","polypeptide_catalytic_motif","polypeptide_cobalt_ion_contact_site","polypeptide_conserved_motif","polypeptide_conserved_region","polypeptide_copper_ion_contact_site","polypeptide_domain","polypeptide_iron_ion_contact_site","polypeptide_ligand_contact","polypeptide_magnesium_ion_contact_site","polypeptide_manganese_ion_contact_site","polypeptide_metal_contact","polypeptide_molybdenum_ion_contact_site","polypeptide_motif","polypeptide_nest_left_right_motif","polypeptide_nest_motif","polypeptide_nest_right_left_motif","polypeptide_nickel_ion_contact_site","polypeptide_region","polypeptide_repeat","polypeptide_secondary_structure","polypeptide_sequencing_information","polypeptide_structural_motif","polypeptide_structural_region","polypeptide_tungsten_ion_contact_site","polypeptide_turn_motif","polypeptide_variation_site","polypeptide_zinc_ion_contact_site","polypyrimidine_tract","positional_candidate_gene","positive_sense_ssRNA_viral_sequence","positively_autoregulated_gene","possible_assembly_error","possible_base_call_error","post_translationally_modified_region","post_translationally_regulated_gene","pre_edited_mRNA","pre_edited_region","pre_miRNA","predicted_gene","predicted_transcript","presence_absence_variation","priRNA","primary_transcript","primary_transcript_region","primer","primer_binding_site","primer_match","probe","processed_pseudogene","processed_pseudogenic_rRNA","processed_pseudogenic_tRNA","processed_transcript","prokaryotic_promoter","proline","proline_tRNA_primary_transcript","prolyl_tRNA","promoter","promoter_element","promoter_flanking_region","promoter_targeting_sequence","promoter_trap_construct","propeptide","propeptide_cleavage_site","propeptide_region_of_CDS","prophage","proplastid_gene","protease_site","protein_binding_site","protein_coding_gene","protein_coding_primary_transcript","protein_hmm_match","protein_match","protein_protein_contact","protein_stability_element","proviral_gene","proviral_region","proximal_promoter_element","pseudogene","pseudogene_by_unequal_crossing_over","pseudogene_processed_transcript","pseudogenic_CDS","pseudogenic_exon","pseudogenic_gene_segment","pseudogenic_rRNA","pseudogenic_region","pseudogenic_tRNA","pseudogenic_transcript","pseudogenic_transcript_with_retained_intron","pseudoknot","pseudouridine","pseudouridylation_guide_snoRNA","pseudouridylation_guide_snoRNA_gene","pumilio_response_element","purine_to_pyrimidine_transversion","purine_transition","pyrimidine_to_purine_transversion","pyrimidine_transition","pyrosequenced_read","pyrrolysine","pyrrolysine_tRNA_primary_transcript","pyrrolysyl_tRNA","queuosine","rDNA_intergenic_spacer_element","rDNA_replication_fork_barrier","rRNA","rRNA_21S_gene","rRNA_cleavage_RNA","rRNA_cleavage_snoRNA_primary_transcript","rRNA_gene","rRNA_large_subunit_primary_transcript","rRNA_primary_transcript","rRNA_primary_transcript_region","rRNA_small_subunit_primary_transcript","rare_fragile_site","rasiRNA","read","read_pair","reading_frame","reagent","rearrangement_region","reciprocal_chromosomal_translocation","recoded_codon","recoded_mRNA","recoding_pseudoknot","recoding_stimulatory_region","recombination_enhancer","recombination_feature","recombination_feature_of_rearranged_gene","recombination_hotspot","recombination_regulatory_region","recombination_signal_sequence","recombinationally_inverted_gene","recombinationally_rearranged_gene","recombinationally_rearranged_vertebrate_immune_system_gene","recursive_splice_site","ref_miRNA","region","regional_centromere","regional_centromere_central_core","regional_centromere_inner_repeat_region","regional_centromere_outer_repeat_region","regional_centromere_outer_repeat_transcript","regulatory_promoter_element","regulatory_region","regulon","remark","repeat_component","repeat_fragment","repeat_instability_region","repeat_region","repeat_unit","replication_regulatory_region","replication_start_site","replicon","rescue_gene","rescue_mini_gene","rescue_region","resolution_site","response_element","restriction_enzyme_assembly_scar","restriction_enzyme_binding_site","restriction_enzyme_cleavage_junction","restriction_enzyme_five_prime_single_strand_overhang","restriction_enzyme_recognition_site","restriction_enzyme_region","restriction_enzyme_single_strand_overhang","restriction_enzyme_three_prime_single_strand_overhang","restriction_fragment","retinoic_acid_responsive_element","retrogene","retron","retrotransposon","reverse_Hoogsteen_base_pair","reverse_primer","rho_dependent_bacterial_terminator","rho_independent_bacterial_terminator","ribonuclease_site","ribosome_entry_site","riboswitch","ribothymidine","ribozyme","ribozyme_gene","right_handed_peptide_helix","sORF","sarcin_like_RNA_motif","satellite_DNA","sbRNA","sbRNA_gene","scRNA","scRNA_gene","scRNA_primary_transcript","scaRNA","scaRNA_gene","schellmann_loop","schellmann_loop_seven","schellmann_loop_six","selection_marker","selenocysteine","selenocysteine_tRNA_primary_transcript","selenocysteinyl_tRNA","self_cleaving_ribozyme","sense_intronic_ncRNA","sense_intronic_ncRNA_gene","sense_overlap_ncRNA","sense_overlap_ncRNA_gene","sequence_alteration","sequence_alteration_artifact","sequence_assembly","sequence_comparison","sequence_conflict","sequence_difference","sequence_feature","sequence_length_alteration","sequence_motif","sequence_rearrangement_feature","sequence_secondary_structure","sequence_uncertainty","sequencing_primer","serine","serine_tRNA_primary_transcript","serine_threonine_motif","serine_threonine_staple_motif","serine_threonine_turn","seryl_tRNA","seven_aminomethyl_seven_deazaguanosine","seven_cyano_seven_deazaguanosine","seven_deazaguanosine","seven_methylguanine","seven_methylguanosine","sgRNA","shRNA","shRNA_primary_transcript","shadow_enhancer","short_tandem_repeat_variation","siRNA","signal_anchor","signal_peptide","signal_peptide_region_of_CDS","signature","silenced_gene","silencer","silent_mating_type_cassette_array","simple_operon","simple_regulon","simple_sequence_length_variation","single_strand_restriction_enzyme_cleavage_site","single_stranded_DNA_chromosome","single_stranded_RNA_chromosome","sisRNA","site_specific_recombination_target_region","smFISH_probe","small_regulatory_ncRNA","snRNA","snRNA_gene","snRNA_primary_transcript","sncRNA","sncRNA_gene","snoRNA","snoRNA_gene","snoRNA_primary_transcript","solo_LTR","sonicate_fragment","specific_recombination_site","splice_enhancer","splice_junction","splice_region","splice_site","spliced_leader_RNA","spliceosomal_intron","spliceosomal_intron_region","splicing_regulatory_region","spot_42_RNA","spurious_protein","ss_RNA_viral_sequence","ss_oligo","st_turn_left_handed_type_one","st_turn_left_handed_type_two","st_turn_right_handed_type_one","st_turn_right_handed_type_two","start_codon","stem","stem_loop","stem_loop_region","sterol_regulatory_element","sticky_end_restriction_enzyme_cleavage_site","stop_codon","stop_codon_read_through","stop_codon_redefined_as_pyrrolysine","stop_codon_redefined_as_selenocysteine","stop_codon_signal","structural_alteration","substitution","substitution_artifact","subtelomere","sugar_edge_base_pair","supercontig","symbiosis_island","symmetric_RNA_internal_loop","syntenic_region","synthetic_oligo","tRNA","tRNA_SINE_retrotransposon","tRNA_gene","tRNA_intron","tRNA_primary_transcript","tRNA_region","tag","tandem_duplication","tandem_repeat","target_site_duplication","targeting_vector","tasiRNA","tasiRNA_primary_transcript","teb1_recognition_motif","telomerase_RNA","telomerase_RNA_gene","telomere","telomeric_D_loop","telomeric_repeat","telomeric_transcript","template_region","terminal_inverted_repeat","terminal_inverted_repeat_element","terminal_repeat","terminator","terminator_of_type_2_RNApol_III_promoter","tetraloop","tetranucleotide_repeat_microsatellite_feature","three_methylcytidine","three_methylpseudouridine","three_methyluridine","three_prime_D_heptamer","three_prime_D_nonamer","three_prime_D_recombination_signal_sequence","three_prime_D_spacer","three_prime_EST","three_prime_LTR","three_prime_LTR_component","three_prime_RACE_clone","three_prime_RST","three_prime_UST","three_prime_UTR","three_prime_UTR_intron","three_prime_cis_splice_site","three_prime_clip","three_prime_coding_exon","three_prime_coding_exon_coding_region","three_prime_coding_exon_noncoding_region","three_prime_flanking_region","three_prime_intron","three_prime_noncoding_exon","three_prime_overlapping_ncrna","three_prime_recoding_site","three_prime_repeat_recoding_signal","three_prime_restriction_enzyme_junction","three_prime_stem_loop_structure","three_prime_sticky_end_restriction_enzyme_cleavage_site","three_prime_terminal_inverted_repeat","three_ten_helix","three_three_amino_three_carboxypropyl_uridine","three_two_prime_O_dimethyluridine","threonine","threonine_tRNA_primary_transcript","threonyl_tRNA","tiling_path","tiling_path_clone","tiling_path_fragment","tmRNA","tmRNA_acceptor_piece","tmRNA_coding_piece","tmRNA_gene","tmRNA_primary_transcript","tmRNA_region","tnaORF","topologically_associated_domain","topologically_associated_domain_boundary","topologically_defined_region","trans_splice_acceptor_site","trans_splice_donor_site","trans_splice_junction","trans_splice_site","trans_spliced_mRNA","trans_spliced_transcript","transcribed_cluster","transcribed_fragment","transcribed_processed_pseudogene","transcribed_spacer_region","transcribed_unitary_pseudogene","transcribed_unprocessed_pseudogene","transcript","transcript_bound_by_nucleic_acid","transcript_bound_by_protein","transcript_region","transcript_with_translational_frameshift","transcription_end_site","transcription_factor_regulatory_site","transcription_pause_site","transcription_start_cluster","transcription_termination_signal","transcription_unit","transcriptional_cis_regulatory_region","transgene","transgenic_insertion","transgenic_transposable_element","transit_peptide","transit_peptide_region_of_CDS","transition","translated_nucleotide_match","translated_processed_pseudogene","translated_unprocessed_pseudogene","translation_regulatory_region","translational_frameshift","translationally_regulated_gene","translocation","translocation_breakpoint","translocation_element","transmembrane_helix","transmembrane_polypeptide_region","transposable_element","transposable_element_CDS","transposable_element_flanking_region","transposable_element_gene","transposable_element_insertion_site","transposable_element_pseudogene","transposon_fragment","transversion","trinucleotide_repeat_microsatellite_feature","tryptophan","tryptophan_tRNA_primary_transcript","tryptophanyl_tRNA","twintron","two_methyladenosine","two_methylthio_N6_cis_hydroxyisopentenyl_adenosine","two_methylthio_N6_hydroxynorvalyl_carbamoyladenosine","two_methylthio_N6_isopentenyladenosine","two_methylthio_N6_methyladenosine","two_methylthio_N6_threonyl_carbamoyladenosine","two_prime_O_methyladenosine","two_prime_O_methylcytidine","two_prime_O_methylguanosine","two_prime_O_methylinosine","two_prime_O_methylpseudouridine","two_prime_O_methyluridine","two_prime_O_ribosyladenosine_phosphate","two_prime_O_ribosylguanosine_phosphate","two_thio_two_prime_O_methyluridine","two_thiocytidine","two_thiouridine","tyrosine","tyrosine_tRNA_primary_transcript","tyrosyl_tRNA","uORF","ultracontig","unassigned_supercontig","unconfirmed_transcript","undermodified_hydroxywybutosine","unedited_region","unigene_cluster","unit_of_gene_expression","unitary_pseudogene","unitary_pseudogenic_rRNA","unitary_pseudogenic_tRNA","unprocessed_pseudogenic_rRNA","unprocessed_pseudogenic_tRNA","unspecified_indel","untranslated_region_polycistronic_mRNA","upstream_AUG_codon","uridine_five_oxyacetic_acid","uridine_five_oxyacetic_acid_methyl_ester","vacuolar_sorting_signal","validated_cDNA_clone","valine","valine_tRNA_primary_transcript","valyl_tRNA","vaultRNA_primary_transcript","vault_RNA","vault_RNA_gene","vector_replicon","vertebrate_immune_system_gene","vertebrate_immune_system_gene_recombination_feature","vertebrate_immune_system_gene_recombination_signal_feature","vertebrate_immune_system_gene_recombination_spacer","vertebrate_immune_system_pseudogene","vertebrate_immunoglobulin_T_cell_receptor_gene_cluster","vertebrate_immunoglobulin_T_cell_receptor_rearranged_gene_cluster","vertebrate_immunoglobulin_T_cell_receptor_rearranged_segment","vertebrate_immunoglobulin_T_cell_receptor_segment","viral_promoter","viral_sequence","virtual_sequence","wild_type_rescue_gene","wobble_base_pair","wybutosine","wyosine","zinc_finger_binding_site","zinc_repressed_element"],Object.defineProperty(du,"__esModule",{value:!0}),du.CoreValidation=void 0,du.isTypeChange=mu;var pu=et.__importDefault(hu);function mu(e){return"oldType"in e&&"newType"in e}var gu=function(e){oe(o,e);var t,n,r=fe(o);function o(){var e;ee(this,o);for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return re(le(e=r.call.apply(r,[this].concat(n))),"name","Core"),e}return ne(o,[{key:"frontendPreValidate",value:(n=Q(Y().mark((function e(t){var n,r,o;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!mu(t)){e.next=18;break}n=we(t.changes),e.prev=2,n.s();case 4:if((r=n.n()).done){e.next=10;break}if(pu.default.includes((o=r.value).newType)){e.next=8;break}return e.abrupt("return",{validationName:this.name,error:{message:'"'.concat(o.newType,'" is not a valid SO sequence_feature term')}});case 8:e.next=4;break;case 10:e.next=15;break;case 12:e.prev=12,e.t0=e.catch(2),n.e(e.t0);case 15:return e.prev=15,n.f(),e.finish(15);case 18:return e.abrupt("return",{validationName:this.name});case 19:case"end":return e.stop()}}),e,this,[[2,12,15,18]])}))),function(e){return n.apply(this,arguments)})},{key:"possibleValues",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("type"!==t){e.next=2;break}return e.abrupt("return",pu.default);case 2:return e.abrupt("return");case 3:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),o}(su.Validation);du.CoreValidation=gu;var yu={};Object.defineProperty(yu,"__esModule",{value:!0}),yu.ParentChildValidation=void 0;var vu=rr,_u=function(e){oe(o,e);var t,n,r=fe(o);function o(){var e;ee(this,o);for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return re(le(e=r.call.apply(r,[this].concat(n))),"name","ParentChildValidation"),e}return ne(o,[{key:"backendPostValidate",value:(n=Q(Y().mark((function e(t,n){var r,o;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.featureModel,o=n.session,!(0,vu.isLocationEndChange)(t)&&!(0,vu.isLocationStartChange)(t)){e.next=3;break}return e.abrupt("return",this.validateParentChildRelationships(t,{session:o,featureModel:r}));case 3:return e.abrupt("return",{validationName:this.name});case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"validateParentChildRelationships",value:(t=Q(Y().mark((function e(t,n){var r,o,i,a,s,u,c,l,f;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=n.featureModel,o=n.session,i=[],a=we(t.changes),e.prev=3,u=Y().mark((function e(){var t,n,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=s.value.featureId,e.next=4,r.findOne({allIds:t}).session(o).exec();case 4:if(n=e.sent){e.next=8;break}throw a="ERROR: The following featureId was not found in database ='".concat(t,"'"),new Error(a);case 8:i.some((function(e){return e._id===n._id}))||i.push(n);case 9:case"end":return e.stop()}}),e)})),a.s();case 6:if((s=a.n()).done){e.next=10;break}return e.delegateYield(u(),"t0",8);case 8:e.next=6;break;case 10:e.next=15;break;case 12:e.prev=12,e.t1=e.catch(3),a.e(e.t1);case 15:return e.prev=15,a.f(),e.finish(15);case 18:c=0,l=i;case 19:if(!(c<l.length)){e.next=31;break}f=l[c],e.prev=21,this.checkChildFeatureBoundaries(f),e.next=28;break;case 25:return e.prev=25,e.t2=e.catch(21),e.abrupt("return",{validationName:this.name,error:{message:String(e.t2)}});case 28:c++,e.next=19;break;case 31:return e.abrupt("return",{validationName:this.name});case 32:case"end":return e.stop()}}),e,this,[[3,12,15,18],[21,25]])}))),function(e,n){return t.apply(this,arguments)})},{key:"checkChildFeatureBoundaries",value:function(e){if(e.children){var t,n=we(e.children||new Map);try{for(n.s();!(t=n.n()).done;){var r=he(t.value,2)[1];if(null!==e.min&&null!==e.max&&null!==r.min&&null!==r.max&&(r.max>e.max||r.min<e.min))throw new Error('Feature "'.concat(r._id,'" exceeds the bounds of its parent, "').concat(e._id,'"'));this.checkChildFeatureBoundaries(r)}}catch(e){n.e(e)}finally{n.f()}}}}]),o}(su.Validation);yu.ParentChildValidation=_u,function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=et;t.__exportStar(su,e),t.__exportStar(cu,e),t.__exportStar(du,e),t.__exportStar(yu,e)}(au);var bu={},wu={};function Su(e){this.message=e}(Su.prototype=new Error).name="InvalidCharacterError";var xu="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new Su("'atob' failed: The string to be decoded is not correctly encoded.");for(var n,r,o=0,i=0,a="";r=t.charAt(i++);~r&&(n=o%4?64*n+r:r,o++%4)?a+=String.fromCharCode(255&n>>(-2*o&6)):0)r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(r);return a};function ku(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw"Illegal base64url string!"}try{return function(e){return decodeURIComponent(xu(e).replace(/(.)/g,(function(e,t){var n=t.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n="0"+n),"%"+n})))}(t)}catch(e){return xu(t)}}function Eu(e){this.message=e}(Eu.prototype=new Error).name="InvalidTokenError";var Au={__proto__:null,default:function(e,t){if("string"!=typeof e)throw new Eu("Invalid token specified");var n=!0===(t=t||{}).header?0:1;try{return JSON.parse(ku(e.split(".")[n]))}catch(e){throw new Eu("Invalid token specified: "+e.message)}},InvalidTokenError:Eu},Cu=B(Au);Object.defineProperty(wu,"__esModule",{value:!0}),wu.makeUserSessionId=function(e){var t="string"==typeof e?(0,Ou.default)(e):e;return"".concat(t.id,"-").concat(t.iat)},wu.getDecodedToken=function(e){return(0,Ou.default)(e)};var Ou=et.__importDefault(Cu);!function(e){Object.defineProperty(e,"__esModule",{value:!0}),et.__exportStar(wu,e)}(bu);var Ru={},Nu={};Object.defineProperty(Nu,"__esModule",{value:!0}),Nu.CDSCheck=void 0;var Iu,Pu=ar,Tu=O.default,Mu=et.__importDefault(Jn);!function(e){e[e.TAG=0]="TAG",e[e.TAA=1]="TAA",e[e.TGA=2]="TGA"}(Iu||(Iu={}));var ju={G:"C",A:"T",T:"A",C:"G",R:"Y",Y:"R",M:"K",K:"M",S:"S",W:"W",H:"D",B:"V",V:"B",D:"H",N:"N"};function Fu(e){var t,n=[],r=we(e);try{for(r.s();!(t=r.n()).done;){var o=t.value,i=ju[o.toUpperCase()];if(void 0===i)throw new TypeError('Cannot complement nucleotide: "'.concat(o,'"'));o===o.toLowerCase()?n.push(i.toLowerCase()):n.push(i)}}catch(e){r.e(e)}finally{r.f()}return n.reverse().join("")}function Lu(e,t,n){return Du.apply(this,arguments)}function Du(){return(Du=Q(Y().mark((function e(t,n,r){var o;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all(t.map((function(e){return r(e.min,e.max)})));case 2:if(o=e.sent,-1!==n){e.next=5;break}return e.abrupt("return",o.map((function(e){return Fu(e)})).join(""));case 5:return e.abrupt("return",o.join(""));case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function qu(e){for(var t=[],n=0;n<=e.length-3;n+=3)t.push(e.slice(n,n+3));return t}function Bu(e,t,n){var r,o=3*n,i=o+3,a=void 0,s=void 0,u=we(e);try{for(u.s();!(r=u.n()).done;){var c=r.value,l=c.max-c.min;if(void 0===a&&l>o?a=c.min+o:o-=l,void 0===s&&l>i?s=c.min+i:i-=l,void 0!==a&&void 0!==s)return[a,s]}}catch(e){u.e(e)}finally{u.f()}}function Uu(e,t){return zu.apply(this,arguments)}function zu(){return zu=Q(Y().mark((function e(t,n){var r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=[],o=t._id,i=t.max,a=t.min,s=t.refSeq,u=t.strand,c=Gu(t)){e.next=5;break}return e.abrupt("return",r);case 5:l=[o],f=we(c),e.prev=7,f.s();case 9:if((d=f.n()).done){e.next=20;break}return h=d.value,e.next=13,Lu(h,u,n);case 13:m=qu(p=e.sent),p.length%3==0?(g=m.pop())&&!(g.toUpperCase()in Iu)&&r.push({_id:(new Mu.default).toHexString(),name:"MissingStopCodonCheck",ids:l,refSeq:s.toString(),start:i,end:i,message:"Missing stop codon"}):r.push({_id:(new Mu.default).toHexString(),name:"MultipleOfThreeCheck",ids:l,refSeq:s.toString(),start:a,end:i,message:'The coding sequence for feature "'.concat(o,'" is not a multiple of three')}),y=we(m.entries());try{for(y.s();!(v=y.n()).done;)_=he(v.value,2),b=_[1],(w=Bu(h,0,_[0]))&&b.toUpperCase()in Iu&&(S=he(w,2),x=S[0],k=S[1],r.push({_id:(new Mu.default).toHexString(),name:"InternalStopCodonCheck",ids:l,refSeq:s.toString(),start:x,end:k,message:'The coding sequence for feature "'.concat(o,'" has an internal stop codon')}))}catch(e){y.e(e)}finally{y.f()}case 18:e.next=9;break;case 20:e.next=25;break;case 22:e.prev=22,e.t0=e.catch(7),f.e(e.t0);case 25:return e.prev=25,f.f(),e.finish(25);case 28:return e.abrupt("return",r);case 29:case"end":return e.stop()}}),e,null,[[7,22,25,28]])}))),zu.apply(this,arguments)}function Gu(e){if("mRNA"===e.type){var t=e.children,n=e.strand;if(t){var r=Object.values(t).filter((function(e){return"CDS"===e.type}));if(0!==r.length){var o,i=[],a=we(r);try{var s=function(){for(var e=o.value,r=e.max,a=e.min,s=[],u=0,c=Object.values(t);u<c.length;u++){var l=c[u];if("exon"===l.type){var f=he((0,Tu.intersection2)(a,r,l.min,l.max),2),d=f[0],h=f[1];void 0!==d&&void 0!==h&&s.push({min:d,max:h})}}s.sort((function(e,t){return e.min-t.min})),-1===n&&s.reverse();var p=0,m=s.map((function(e){var t=p;return p=(3-(e.max-e.min-t+3)%3)%3,K(K({},e),{},{phase:t})}));i.push(m)};for(a.s();!(o=a.n()).done;)s()}catch(e){a.e(e)}finally{a.f()}return i}}}}var Hu=function(e){oe(r,e);var t,n=fe(r);function r(){var e;ee(this,r);for(var t=arguments.length,o=new Array(t),i=0;i<t;i++)o[i]=arguments[i];return re(le(e=n.call.apply(n,[this].concat(o))),"name","CDSCheck"),re(le(e),"version",1),re(le(e),"default",!0),e}return ne(r,[{key:"checkFeature",value:(t=Q(Y().mark((function e(t,n){var r,o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("mRNA"!==t.type){e.next=2;break}return e.abrupt("return",Uu(t,n));case 2:if(t.children){e.next=4;break}return e.abrupt("return",[]);case 4:r=[],o=0,i=Object.values(t.children);case 6:if(!(o<i.length)){e.next=19;break}return a=i[o],e.t0=r.push,e.t1=r,e.t2=me,e.next=13,this.checkFeature(a,n);case 13:e.t3=e.sent,e.t4=(0,e.t2)(e.t3),e.t0.apply.call(e.t0,e.t1,e.t4);case 16:o++,e.next=6;break;case 19:return e.abrupt("return",r);case 20:case"end":return e.stop()}}),e,this)}))),function(e,n){return t.apply(this,arguments)})}]),r}(Pu.Check);Nu.CDSCheck=Hu,function(e){Object.defineProperty(e,"__esModule",{value:!0}),et.__exportStar(Nu,e)}(Ru);var Wu={};Object.defineProperty(Wu,"__esModule",{value:!0}),Wu.splitStringIntoChunks=function(e,t){for(var n=[],r=0;r<e.length;r+=t){var o=e.slice(r,r+t);n.push(o)}return n};var Vu={};Object.defineProperty(Vu,"__esModule",{value:!0}),function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=et;t.__exportStar(rr,e),t.__exportStar(tu,e),t.__exportStar(au,e),t.__exportStar(bu,e),t.__exportStar(Ru,e),t.__exportStar(Wu,e),t.__exportStar(Vu,e),t.__exportStar(Ar,e)}(nr);var $u={},Ju={exports:{}};!function(e){e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports}(Ju);var Ku={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.createSvgIcon}});var t=R.default}(Ku);var Yu=Ju.exports;Object.defineProperty($u,"__esModule",{value:!0});var Zu=$u.default=void 0;Zu=$u.default=(0,Yu(Ku).default)((0,N.default.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"}),"Add");const Xu=r.ConfigurationSchema("ApolloInternetAccount",{baseURL:{description:"Location of Apollo server",type:"string",defaultValue:""},tokenType:{description:"A custom name for a token to include in the header",type:"string",defaultValue:"Bearer"}},{baseConfiguration:o.BaseInternetAccountConfig,explicitlyTyped:!0});var Qu=Object.create(null);Qu.open="0",Qu.close="1",Qu.ping="2",Qu.pong="3",Qu.message="4",Qu.upgrade="5",Qu.noop="6";var ec=Object.create(null);Object.keys(Qu).forEach((function(e){ec[Qu[e]]=e}));var tc,nc={type:"error",data:"parser error"},rc="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),oc="function"==typeof ArrayBuffer,ic=function(e){return"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer},ac=function(e,t,n){var r=e.type,o=e.data;return rc&&o instanceof Blob?t?n(o):sc(o,n):oc&&(o instanceof ArrayBuffer||ic(o))?t?n(o):sc(new Blob([o]),n):n(Qu[r]+(o||""))},sc=function(e,t){var n=new FileReader;return n.onload=function(){var e=n.result.split(",")[1];t("b"+(e||""))},n.readAsDataURL(e)};function uc(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}for(var cc="undefined"==typeof Uint8Array?[]:new Uint8Array(256),lc=0;lc<64;lc++)cc["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(lc)]=lc;var fc,dc="function"==typeof ArrayBuffer,hc=function(e,t){if("string"!=typeof e)return{type:"message",data:mc(e,t)};var n=e.charAt(0);return"b"===n?{type:"message",data:pc(e.substring(1),t)}:ec[n]?e.length>1?{type:ec[n],data:e.substring(1)}:{type:ec[n]}:nc},pc=function(e,t){if(dc){var n=function(e){var t,n,r,o,i,a=.75*e.length,s=e.length,u=0;"="===e[e.length-1]&&(a--,"="===e[e.length-2]&&a--);var c=new ArrayBuffer(a),l=new Uint8Array(c);for(t=0;t<s;t+=4)n=cc[e.charCodeAt(t)],r=cc[e.charCodeAt(t+1)],o=cc[e.charCodeAt(t+2)],i=cc[e.charCodeAt(t+3)],l[u++]=n<<2|r>>4,l[u++]=(15&r)<<4|o>>2,l[u++]=(3&o)<<6|63&i;return c}(e);return mc(n,t)}return{base64:!0,data:e}},mc=function(e,t){return"blob"===t?e instanceof Blob?e:new Blob([e]):e instanceof ArrayBuffer?e:e.buffer},gc=String.fromCharCode(30);function yc(e){return e.reduce((function(e,t){return e+t.length}),0)}function vc(e,t){if(e[0].length===t)return e.shift();for(var n=new Uint8Array(t),r=0,o=0;o<t;o++)n[o]=e[0][r++],r===e[0].length&&(e.shift(),r=0);return e.length&&r<e[0].length&&(e[0]=e[0].slice(r)),n}function _c(e){if(e)return function(e){for(var t in _c.prototype)e[t]=_c.prototype[t];return e}(e)}_c.prototype.on=_c.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},_c.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},_c.prototype.off=_c.prototype.removeListener=_c.prototype.removeAllListeners=_c.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,r=this._callbacks["$"+e];if(!r)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var o=0;o<r.length;o++)if((n=r[o])===t||n.fn===t){r.splice(o,1);break}return 0===r.length&&delete this._callbacks["$"+e],this},_c.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),n=this._callbacks["$"+e],r=1;r<arguments.length;r++)t[r-1]=arguments[r];if(n){r=0;for(var o=(n=n.slice(0)).length;r<o;++r)n[r].apply(this,t)}return this},_c.prototype.emitReserved=_c.prototype.emit,_c.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},_c.prototype.hasListeners=function(e){return!!this.listeners(e).length};var bc=function(){return"undefined"!=typeof self?self:"undefined"!=typeof window?window:Function("return this")()}();function wc(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return n.reduce((function(t,n){return e.hasOwnProperty(n)&&(t[n]=e[n]),t}),{})}var Sc=bc.setTimeout,xc=bc.clearTimeout;function kc(e,t){t.useNativeTimers?(e.setTimeoutFn=Sc.bind(bc),e.clearTimeoutFn=xc.bind(bc)):(e.setTimeoutFn=bc.setTimeout.bind(bc),e.clearTimeoutFn=bc.clearTimeout.bind(bc))}var Ec,Ac=function(e){oe(n,e);var t=fe(n);function n(e,r,o){var i;return ee(this,n),(i=t.call(this,e)).description=r,i.context=o,i.type="TransportError",i}return ne(n)}(ce(Error)),Cc=function(e){oe(n,e);var t=fe(n);function n(e){var r;return ee(this,n),(r=t.call(this)).writable=!1,kc(le(r),e),r.opts=e,r.query=e.query,r.socket=e.socket,r}return ne(n,[{key:"onError",value:function(e,t,r){return de(ie(n.prototype),"emitReserved",this).call(this,"error",new Ac(e,t,r)),this}},{key:"open",value:function(){return this.readyState="opening",this.doOpen(),this}},{key:"close",value:function(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this}},{key:"send",value:function(e){"open"===this.readyState&&this.write(e)}},{key:"onOpen",value:function(){this.readyState="open",this.writable=!0,de(ie(n.prototype),"emitReserved",this).call(this,"open")}},{key:"onData",value:function(e){var t=hc(e,this.socket.binaryType);this.onPacket(t)}},{key:"onPacket",value:function(e){de(ie(n.prototype),"emitReserved",this).call(this,"packet",e)}},{key:"onClose",value:function(e){this.readyState="closed",de(ie(n.prototype),"emitReserved",this).call(this,"close",e)}},{key:"pause",value:function(e){}},{key:"createUri",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e+"://"+this._hostname()+this._port()+this.opts.path+this._query(t)}},{key:"_hostname",value:function(){var e=this.opts.hostname;return-1===e.indexOf(":")?e:"["+e+"]"}},{key:"_port",value:function(){return this.opts.port&&(this.opts.secure&&Number(443!==this.opts.port)||!this.opts.secure&&80!==Number(this.opts.port))?":"+this.opts.port:""}},{key:"_query",value:function(e){var t=function(e){var t="";for(var n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t}(e);return t.length?"?"+t:""}}]),n}(_c),Oc="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),Rc=64,Nc=0;function Ic(e){var t="";do{t=Oc[e%Rc]+t,e=Math.floor(e/Rc)}while(e>0);return t}function Pc(){var e=Ic(+new Date);return e!==Ec?(Nc=0,Ec=e):e+"."+Ic(Nc++)}var Tc=!1;try{Tc="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(si){}var Mc=Tc;function jc(e){var t=e.xdomain;try{if("undefined"!=typeof XMLHttpRequest&&(!t||Mc))return new XMLHttpRequest}catch(e){}if(!t)try{return new(bc[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(e){}}function Fc(){}var Lc=function(){return null!=new jc({xdomain:!1}).responseType}(),Dc=function(e){oe(n,e);var t=fe(n);function n(e){var r;if(ee(this,n),(r=t.call(this,e)).polling=!1,"undefined"!=typeof location){var o="https:"===location.protocol,i=location.port;i||(i=o?"443":"80"),r.xd="undefined"!=typeof location&&e.hostname!==location.hostname||i!==e.port}return r.supportsBinary=Lc&&!(e&&e.forceBase64),r.opts.withCredentials&&(r.cookieJar=void 0),r}return ne(n,[{key:"name",get:function(){return"polling"}},{key:"doOpen",value:function(){this.poll()}},{key:"pause",value:function(e){var t=this;this.readyState="pausing";var n=function(){t.readyState="paused",e()};if(this.polling||!this.writable){var r=0;this.polling&&(r++,this.once("pollComplete",(function(){--r||n()}))),this.writable||(r++,this.once("drain",(function(){--r||n()})))}else n()}},{key:"poll",value:function(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}},{key:"onData",value:function(e){var t=this;(function(e,t){for(var n=e.split(gc),r=[],o=0;o<n.length;o++){var i=hc(n[o],t);if(r.push(i),"error"===i.type)break}return r})(e,this.socket.binaryType).forEach((function(e){if("opening"===t.readyState&&"open"===e.type&&t.onOpen(),"close"===e.type)return t.onClose({description:"transport closed by the server"}),!1;t.onPacket(e)})),"closed"!==this.readyState&&(this.polling=!1,this.emitReserved("pollComplete"),"open"===this.readyState&&this.poll())}},{key:"doClose",value:function(){var e=this,t=function(){e.write([{type:"close"}])};"open"===this.readyState?t():this.once("open",t)}},{key:"write",value:function(e){var t=this;this.writable=!1,function(e,n){var r=e.length,o=new Array(r),i=0;e.forEach((function(e,n){ac(e,!1,(function(e){var a;o[n]=e,++i===r&&(a=o.join(gc),t.doWrite(a,(function(){t.writable=!0,t.emitReserved("drain")})))}))}))}(e)}},{key:"uri",value:function(){var e=this.opts.secure?"https":"http",t=this.query||{};return!1!==this.opts.timestampRequests&&(t[this.opts.timestampParam]=Pc()),this.supportsBinary||t.sid||(t.b64=1),this.createUri(e,t)}},{key:"request",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.assign(e,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new qc(this.uri(),e)}},{key:"doWrite",value:function(e,t){var n=this,r=this.request({method:"POST",data:e});r.on("success",t),r.on("error",(function(e,t){n.onError("xhr post error",e,t)}))}},{key:"doPoll",value:function(){var e=this,t=this.request();t.on("data",this.onData.bind(this)),t.on("error",(function(t,n){e.onError("xhr poll error",t,n)})),this.pollXhr=t}}]),n}(Cc),qc=function(e){oe(n,e);var t=fe(n);function n(e,r){var o;return ee(this,n),kc(le(o=t.call(this)),r),o.opts=r,o.method=r.method||"GET",o.uri=e,o.data=void 0!==r.data?r.data:null,o.create(),o}return ne(n,[{key:"create",value:function(){var e,t=this,r=wc(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");r.xdomain=!!this.opts.xd;var o=this.xhr=new jc(r);try{o.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders)for(var i in o.setDisableHeaderCheck&&o.setDisableHeaderCheck(!0),this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(i)&&o.setRequestHeader(i,this.opts.extraHeaders[i])}catch(e){}if("POST"===this.method)try{o.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(e){}try{o.setRequestHeader("Accept","*/*")}catch(e){}null===(e=this.opts.cookieJar)||void 0===e||e.addCookies(o),"withCredentials"in o&&(o.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(o.timeout=this.opts.requestTimeout),o.onreadystatechange=function(){var e;3===o.readyState&&(null===(e=t.opts.cookieJar)||void 0===e||e.parseCookies(o)),4===o.readyState&&(200===o.status||1223===o.status?t.onLoad():t.setTimeoutFn((function(){t.onError("number"==typeof o.status?o.status:0)}),0))},o.send(this.data)}catch(e){return void this.setTimeoutFn((function(){t.onError(e)}),0)}"undefined"!=typeof document&&(this.index=n.requestsCount++,n.requests[this.index]=this)}},{key:"onError",value:function(e){this.emitReserved("error",e,this.xhr),this.cleanup(!0)}},{key:"cleanup",value:function(e){if(null!=this.xhr){if(this.xhr.onreadystatechange=Fc,e)try{this.xhr.abort()}catch(e){}"undefined"!=typeof document&&delete n.requests[this.index],this.xhr=null}}},{key:"onLoad",value:function(){var e=this.xhr.responseText;null!==e&&(this.emitReserved("data",e),this.emitReserved("success"),this.cleanup())}},{key:"abort",value:function(){this.cleanup()}}]),n}(_c);function Bc(){for(var e in qc.requests)qc.requests.hasOwnProperty(e)&&qc.requests[e].abort()}qc.requestsCount=0,qc.requests={},"undefined"!=typeof document&&("function"==typeof attachEvent?attachEvent("onunload",Bc):"function"==typeof addEventListener&&addEventListener("onpagehide"in bc?"pagehide":"unload",Bc,!1));var Uc=function(){return"function"==typeof Promise&&"function"==typeof Promise.resolve?function(e){return Promise.resolve().then(e)}:function(e,t){return t(e,0)}}(),zc=bc.WebSocket||bc.MozWebSocket,Gc="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase(),Hc=function(e){oe(n,e);var t=fe(n);function n(e){var r;return ee(this,n),(r=t.call(this,e)).supportsBinary=!e.forceBase64,r}return ne(n,[{key:"name",get:function(){return"websocket"}},{key:"doOpen",value:function(){if(this.check()){var e=this.uri(),t=this.opts.protocols,n=Gc?{}:wc(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(n.headers=this.opts.extraHeaders);try{this.ws=Gc?new zc(e,t,n):t?new zc(e,t):new zc(e)}catch(e){return this.emitReserved("error",e)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}}},{key:"addEventListeners",value:function(){var e=this;this.ws.onopen=function(){e.opts.autoUnref&&e.ws._socket.unref(),e.onOpen()},this.ws.onclose=function(t){return e.onClose({description:"websocket connection closed",context:t})},this.ws.onmessage=function(t){return e.onData(t.data)},this.ws.onerror=function(t){return e.onError("websocket error",t)}}},{key:"write",value:function(e){var t=this;this.writable=!1;for(var n=function(){var n=r===e.length-1;ac(e[r],t.supportsBinary,(function(e){try{t.ws.send(e)}catch(e){}n&&Uc((function(){t.writable=!0,t.emitReserved("drain")}),t.setTimeoutFn)}))},r=0;r<e.length;r++)n()}},{key:"doClose",value:function(){void 0!==this.ws&&(this.ws.close(),this.ws=null)}},{key:"uri",value:function(){var e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=Pc()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}},{key:"check",value:function(){return!!zc}}]),n}(Cc),Wc=function(e){oe(n,e);var t=fe(n);function n(){return ee(this,n),t.apply(this,arguments)}return ne(n,[{key:"name",get:function(){return"webtransport"}},{key:"doOpen",value:function(){var e=this;"function"==typeof WebTransport&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then((function(){e.onClose()})).catch((function(t){e.onError("webtransport error",t)})),this.transport.ready.then((function(){e.transport.createBidirectionalStream().then((function(t){var n=function(e,t){fc||(fc=new TextDecoder);var n=[],r=0,o=-1,i=!1;return new TransformStream({transform:function(a,s){for(n.push(a);;){if(0===r){if(yc(n)<1)break;var u=vc(n,1);i=128==(128&u[0]),r=(o=127&u[0])<126?3:126===o?1:2}else if(1===r){if(yc(n)<2)break;var c=vc(n,2);o=new DataView(c.buffer,c.byteOffset,c.length).getUint16(0),r=3}else if(2===r){if(yc(n)<8)break;var l=vc(n,8),f=new DataView(l.buffer,l.byteOffset,l.length),d=f.getUint32(0);if(d>Math.pow(2,21)-1){s.enqueue(nc);break}o=d*Math.pow(2,32)+f.getUint32(4),r=3}else{if(yc(n)<o)break;var h=vc(n,o);s.enqueue(hc(i?h:fc.decode(h),t)),r=0}if(0===o||o>e){s.enqueue(nc);break}}}})}(Number.MAX_SAFE_INTEGER,e.socket.binaryType),r=t.readable.pipeThrough(n).getReader(),o=new TransformStream({transform:function(e,t){!function(e,t){rc&&e.data instanceof Blob?e.data.arrayBuffer().then(uc).then(t):oc&&(e.data instanceof ArrayBuffer||ic(e.data))?t(uc(e.data)):ac(e,!1,(function(e){tc||(tc=new TextEncoder),t(tc.encode(e))}))}(e,(function(n){var r,o=n.length;if(o<126)r=new Uint8Array(1),new DataView(r.buffer).setUint8(0,o);else if(o<65536){r=new Uint8Array(3);var i=new DataView(r.buffer);i.setUint8(0,126),i.setUint16(1,o)}else{r=new Uint8Array(9);var a=new DataView(r.buffer);a.setUint8(0,127),a.setBigUint64(1,BigInt(o))}e.data&&"string"!=typeof e.data&&(r[0]|=128),t.enqueue(r),t.enqueue(n)}))}});o.readable.pipeTo(t.writable),e.writer=o.writable.getWriter(),function t(){r.read().then((function(n){n.done||(e.onPacket(n.value),t())})).catch((function(e){}))}();var i={type:"open"};e.query.sid&&(i.data='{"sid":"'.concat(e.query.sid,'"}')),e.writer.write(i).then((function(){return e.onOpen()}))}))})))}},{key:"write",value:function(e){var t=this;this.writable=!1;for(var n=function(){var n=r===e.length-1;t.writer.write(e[r]).then((function(){n&&Uc((function(){t.writable=!0,t.emitReserved("drain")}),t.setTimeoutFn)}))},r=0;r<e.length;r++)n()}},{key:"doClose",value:function(){var e;null===(e=this.transport)||void 0===e||e.close()}}]),n}(Cc),Vc={websocket:Hc,webtransport:Wc,polling:Dc},$c=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,Jc=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function Kc(e){var t,n,r=e,o=e.indexOf("["),i=e.indexOf("]");-1!=o&&-1!=i&&(e=e.substring(0,o)+e.substring(o,i).replace(/:/g,";")+e.substring(i,e.length));for(var a,s=$c.exec(e||""),u={},c=14;c--;)u[Jc[c]]=s[c]||"";return-1!=o&&-1!=i&&(u.source=r,u.host=u.host.substring(1,u.host.length-1).replace(/;/g,":"),u.authority=u.authority.replace("[","").replace("]","").replace(/;/g,":"),u.ipv6uri=!0),u.pathNames=(n=(t=u.path).replace(/\/{2,9}/g,"/").split("/"),"/"!=t.slice(0,1)&&0!==t.length||n.splice(0,1),"/"==t.slice(-1)&&n.splice(n.length-1,1),n),u.queryKey=(a={},u.query.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,(function(e,t,n){t&&(a[t]=n)})),a),u}var Yc=function(e){oe(n,e);var t=fe(n);function n(e){var r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return ee(this,n),(r=t.call(this)).binaryType="arraybuffer",r.writeBuffer=[],e&&"object"===Z(e)&&(o=e,e=null),e?(e=Kc(e),o.hostname=e.host,o.secure="https"===e.protocol||"wss"===e.protocol,o.port=e.port,e.query&&(o.query=e.query)):o.host&&(o.hostname=Kc(o.host).host),kc(le(r),o),r.secure=null!=o.secure?o.secure:"undefined"!=typeof location&&"https:"===location.protocol,o.hostname&&!o.port&&(o.port=r.secure?"443":"80"),r.hostname=o.hostname||("undefined"!=typeof location?location.hostname:"localhost"),r.port=o.port||("undefined"!=typeof location&&location.port?location.port:r.secure?"443":"80"),r.transports=o.transports||["polling","websocket","webtransport"],r.writeBuffer=[],r.prevBufferLen=0,r.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},o),r.opts.path=r.opts.path.replace(/\/$/,"")+(r.opts.addTrailingSlash?"/":""),"string"==typeof r.opts.query&&(r.opts.query=function(e){for(var t={},n=e.split("&"),r=0,o=n.length;r<o;r++){var i=n[r].split("=");t[decodeURIComponent(i[0])]=decodeURIComponent(i[1])}return t}(r.opts.query)),r.id=null,r.upgrades=null,r.pingInterval=null,r.pingTimeout=null,r.pingTimeoutTimer=null,"function"==typeof addEventListener&&(r.opts.closeOnBeforeunload&&(r.beforeunloadEventListener=function(){r.transport&&(r.transport.removeAllListeners(),r.transport.close())},addEventListener("beforeunload",r.beforeunloadEventListener,!1)),"localhost"!==r.hostname&&(r.offlineEventListener=function(){r.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",r.offlineEventListener,!1))),r.open(),r}return ne(n,[{key:"createTransport",value:function(e){var t=Object.assign({},this.opts.query);t.EIO=4,t.transport=e,this.id&&(t.sid=this.id);var n=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new Vc[e](n)}},{key:"open",value:function(){var e,t=this;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))e="websocket";else{if(0===this.transports.length)return void this.setTimeoutFn((function(){t.emitReserved("error","No transports available")}),0);e=this.transports[0]}this.readyState="opening";try{e=this.createTransport(e)}catch(e){return this.transports.shift(),void this.open()}e.open(),this.setTransport(e)}},{key:"setTransport",value:function(e){var t=this;this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",(function(e){return t.onClose("transport close",e)}))}},{key:"probe",value:function(e){var t=this,r=this.createTransport(e),o=!1;n.priorWebsocketSuccess=!1;var i=function(){o||(r.send([{type:"ping",data:"probe"}]),r.once("packet",(function(e){if(!o)if("pong"===e.type&&"probe"===e.data){if(t.upgrading=!0,t.emitReserved("upgrading",r),!r)return;n.priorWebsocketSuccess="websocket"===r.name,t.transport.pause((function(){o||"closed"!==t.readyState&&(f(),t.setTransport(r),r.send([{type:"upgrade"}]),t.emitReserved("upgrade",r),r=null,t.upgrading=!1,t.flush())}))}else{var i=new Error("probe error");i.transport=r.name,t.emitReserved("upgradeError",i)}})))};function a(){o||(o=!0,f(),r.close(),r=null)}var s=function(e){var n=new Error("probe error: "+e);n.transport=r.name,a(),t.emitReserved("upgradeError",n)};function u(){s("transport closed")}function c(){s("socket closed")}function l(e){r&&e.name!==r.name&&a()}var f=function(){r.removeListener("open",i),r.removeListener("error",s),r.removeListener("close",u),t.off("close",c),t.off("upgrading",l)};r.once("open",i),r.once("error",s),r.once("close",u),this.once("close",c),this.once("upgrading",l),-1!==this.upgrades.indexOf("webtransport")&&"webtransport"!==e?this.setTimeoutFn((function(){o||r.open()}),200):r.open()}},{key:"onOpen",value:function(){if(this.readyState="open",n.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush(),"open"===this.readyState&&this.opts.upgrade)for(var e=0,t=this.upgrades.length;e<t;e++)this.probe(this.upgrades[e])}},{key:"onPacket",value:function(e){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState)switch(this.emitReserved("packet",e),this.emitReserved("heartbeat"),this.resetPingTimeout(),e.type){case"open":this.onHandshake(JSON.parse(e.data));break;case"ping":this.sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong");break;case"error":var t=new Error("server error");t.code=e.data,this.onError(t);break;case"message":this.emitReserved("data",e.data),this.emitReserved("message",e.data)}}},{key:"onHandshake",value:function(e){this.emitReserved("handshake",e),this.id=e.sid,this.transport.query.sid=e.sid,this.upgrades=this.filterUpgrades(e.upgrades),this.pingInterval=e.pingInterval,this.pingTimeout=e.pingTimeout,this.maxPayload=e.maxPayload,this.onOpen(),"closed"!==this.readyState&&this.resetPingTimeout()}},{key:"resetPingTimeout",value:function(){var e=this;this.clearTimeoutFn(this.pingTimeoutTimer),this.pingTimeoutTimer=this.setTimeoutFn((function(){e.onClose("ping timeout")}),this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}},{key:"onDrain",value:function(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,0===this.writeBuffer.length?this.emitReserved("drain"):this.flush()}},{key:"flush",value:function(){if("closed"!==this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){var e=this.getWritablePackets();this.transport.send(e),this.prevBufferLen=e.length,this.emitReserved("flush")}}},{key:"getWritablePackets",value:function(){if(!(this.maxPayload&&"polling"===this.transport.name&&this.writeBuffer.length>1))return this.writeBuffer;for(var e,t=1,n=0;n<this.writeBuffer.length;n++){var r=this.writeBuffer[n].data;if(r&&(t+="string"==typeof(e=r)?function(e){for(var t=0,n=0,r=0,o=e.length;r<o;r++)(t=e.charCodeAt(r))<128?n+=1:t<2048?n+=2:t<55296||t>=57344?n+=3:(r++,n+=4);return n}(e):Math.ceil(1.33*(e.byteLength||e.size))),n>0&&t>this.maxPayload)return this.writeBuffer.slice(0,n);t+=2}return this.writeBuffer}},{key:"write",value:function(e,t,n){return this.sendPacket("message",e,t,n),this}},{key:"send",value:function(e,t,n){return this.sendPacket("message",e,t,n),this}},{key:"sendPacket",value:function(e,t,n,r){if("function"==typeof t&&(r=t,t=void 0),"function"==typeof n&&(r=n,n=null),"closing"!==this.readyState&&"closed"!==this.readyState){(n=n||{}).compress=!1!==n.compress;var o={type:e,data:t,options:n};this.emitReserved("packetCreate",o),this.writeBuffer.push(o),r&&this.once("flush",r),this.flush()}}},{key:"close",value:function(){var e=this,t=function(){e.onClose("forced close"),e.transport.close()},n=function n(){e.off("upgrade",n),e.off("upgradeError",n),t()},r=function(){e.once("upgrade",n),e.once("upgradeError",n)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",(function(){e.upgrading?r():t()})):this.upgrading?r():t()),this}},{key:"onError",value:function(e){n.priorWebsocketSuccess=!1,this.emitReserved("error",e),this.onClose("transport error",e)}},{key:"onClose",value:function(e,t){"opening"!==this.readyState&&"open"!==this.readyState&&"closing"!==this.readyState||(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),"function"==typeof removeEventListener&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this.prevBufferLen=0)}},{key:"filterUpgrades",value:function(e){for(var t=[],n=0,r=e.length;n<r;n++)~this.transports.indexOf(e[n])&&t.push(e[n]);return t}}]),n}(_c);Yc.protocol=4;var Zc="function"==typeof ArrayBuffer,Xc=function(e){return"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer},Qc=Object.prototype.toString,el="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Qc.call(Blob),tl="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===Qc.call(File);function nl(e){return Zc&&(e instanceof ArrayBuffer||Xc(e))||el&&e instanceof Blob||tl&&e instanceof File}function rl(e,t){if(!e||"object"!==Z(e))return!1;if(Array.isArray(e)){for(var n=0,r=e.length;n<r;n++)if(rl(e[n]))return!0;return!1}if(nl(e))return!0;if(e.toJSON&&"function"==typeof e.toJSON&&1===arguments.length)return rl(e.toJSON(),!0);for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)&&rl(e[o]))return!0;return!1}function ol(e){var t=[],n=e;return n.data=il(e.data,t),n.attachments=t.length,{packet:n,buffers:t}}function il(e,t){if(!e)return e;if(nl(e)){var n={_placeholder:!0,num:t.length};return t.push(e),n}if(Array.isArray(e)){for(var r=new Array(e.length),o=0;o<e.length;o++)r[o]=il(e[o],t);return r}if("object"===Z(e)&&!(e instanceof Date)){var i={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(i[a]=il(e[a],t));return i}return e}function al(e,t){return e.data=sl(e.data,t),delete e.attachments,e}function sl(e,t){if(!e)return e;if(e&&!0===e._placeholder){if("number"==typeof e.num&&e.num>=0&&e.num<t.length)return t[e.num];throw new Error("illegal attachments")}if(Array.isArray(e))for(var n=0;n<e.length;n++)e[n]=sl(e[n],t);else if("object"===Z(e))for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(e[r]=sl(e[r],t));return e}var ul,cl=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];!function(e){e[e.CONNECT=0]="CONNECT",e[e.DISCONNECT=1]="DISCONNECT",e[e.EVENT=2]="EVENT",e[e.ACK=3]="ACK",e[e.CONNECT_ERROR=4]="CONNECT_ERROR",e[e.BINARY_EVENT=5]="BINARY_EVENT",e[e.BINARY_ACK=6]="BINARY_ACK"}(ul||(ul={}));var ll=function(){function e(t){ee(this,e),this.replacer=t}return ne(e,[{key:"encode",value:function(e){return e.type!==ul.EVENT&&e.type!==ul.ACK||!rl(e)?[this.encodeAsString(e)]:this.encodeAsBinary({type:e.type===ul.EVENT?ul.BINARY_EVENT:ul.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id})}},{key:"encodeAsString",value:function(e){var t=""+e.type;return e.type!==ul.BINARY_EVENT&&e.type!==ul.BINARY_ACK||(t+=e.attachments+"-"),e.nsp&&"/"!==e.nsp&&(t+=e.nsp+","),null!=e.id&&(t+=e.id),null!=e.data&&(t+=JSON.stringify(e.data,this.replacer)),t}},{key:"encodeAsBinary",value:function(e){var t=ol(e),n=this.encodeAsString(t.packet),r=t.buffers;return r.unshift(n),r}}]),e}();function fl(e){return"[object Object]"===Object.prototype.toString.call(e)}var dl=function(e){oe(n,e);var t=fe(n);function n(e){var r;return ee(this,n),(r=t.call(this)).reviver=e,r}return ne(n,[{key:"add",value:function(e){var t;if("string"==typeof e){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");var r=(t=this.decodeString(e)).type===ul.BINARY_EVENT;r||t.type===ul.BINARY_ACK?(t.type=r?ul.EVENT:ul.ACK,this.reconstructor=new hl(t),0===t.attachments&&de(ie(n.prototype),"emitReserved",this).call(this,"decoded",t)):de(ie(n.prototype),"emitReserved",this).call(this,"decoded",t)}else{if(!nl(e)&&!e.base64)throw new Error("Unknown type: "+e);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");(t=this.reconstructor.takeBinaryData(e))&&(this.reconstructor=null,de(ie(n.prototype),"emitReserved",this).call(this,"decoded",t))}}},{key:"decodeString",value:function(e){var t=0,r={type:Number(e.charAt(0))};if(void 0===ul[r.type])throw new Error("unknown packet type "+r.type);if(r.type===ul.BINARY_EVENT||r.type===ul.BINARY_ACK){for(var o=t+1;"-"!==e.charAt(++t)&&t!=e.length;);var i=e.substring(o,t);if(i!=Number(i)||"-"!==e.charAt(t))throw new Error("Illegal attachments");r.attachments=Number(i)}if("/"===e.charAt(t+1)){for(var a=t+1;++t&&","!==e.charAt(t)&&t!==e.length;);r.nsp=e.substring(a,t)}else r.nsp="/";var s=e.charAt(t+1);if(""!==s&&Number(s)==s){for(var u=t+1;++t;){var c=e.charAt(t);if(null==c||Number(c)!=c){--t;break}if(t===e.length)break}r.id=Number(e.substring(u,t+1))}if(e.charAt(++t)){var l=this.tryParse(e.substr(t));if(!n.isPayloadValid(r.type,l))throw new Error("invalid payload");r.data=l}return r}},{key:"tryParse",value:function(e){try{return JSON.parse(e,this.reviver)}catch(e){return!1}}},{key:"destroy",value:function(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}],[{key:"isPayloadValid",value:function(e,t){switch(e){case ul.CONNECT:return fl(t);case ul.DISCONNECT:return void 0===t;case ul.CONNECT_ERROR:return"string"==typeof t||fl(t);case ul.EVENT:case ul.BINARY_EVENT:return Array.isArray(t)&&("number"==typeof t[0]||"string"==typeof t[0]&&-1===cl.indexOf(t[0]));case ul.ACK:case ul.BINARY_ACK:return Array.isArray(t)}}}]),n}(_c),hl=function(){function e(t){ee(this,e),this.packet=t,this.buffers=[],this.reconPack=t}return ne(e,[{key:"takeBinaryData",value:function(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){var t=al(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}},{key:"finishedReconstruction",value:function(){this.reconPack=null,this.buffers=[]}}]),e}(),pl={__proto__:null,protocol:5,get PacketType(){return ul},Encoder:ll,Decoder:dl};function ml(e,t,n){return e.on(t,n),function(){e.off(t,n)}}var gl=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1}),yl=function(e){oe(n,e);var t=fe(n);function n(e,r,o){var i;return ee(this,n),(i=t.call(this)).connected=!1,i.recovered=!1,i.receiveBuffer=[],i.sendBuffer=[],i._queue=[],i._queueSeq=0,i.ids=0,i.acks={},i.flags={},i.io=e,i.nsp=r,o&&o.auth&&(i.auth=o.auth),i._opts=Object.assign({},o),i.io._autoConnect&&i.open(),i}return ne(n,[{key:"disconnected",get:function(){return!this.connected}},{key:"subEvents",value:function(){if(!this.subs){var e=this.io;this.subs=[ml(e,"open",this.onopen.bind(this)),ml(e,"packet",this.onpacket.bind(this)),ml(e,"error",this.onerror.bind(this)),ml(e,"close",this.onclose.bind(this))]}}},{key:"active",get:function(){return!!this.subs}},{key:"connect",value:function(){return this.connected||(this.subEvents(),this.io._reconnecting||this.io.open(),"open"===this.io._readyState&&this.onopen()),this}},{key:"open",value:function(){return this.connect()}},{key:"send",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.unshift("message"),this.emit.apply(this,t),this}},{key:"emit",value:function(e){if(gl.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];if(n.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(n),this;var o={type:ul.EVENT,data:n,options:{}};if(o.options.compress=!1!==this.flags.compress,"function"==typeof n[n.length-1]){var i=this.ids++,a=n.pop();this._registerAckCallback(i,a),o.id=i}return this.flags.volatile&&(!(this.io.engine&&this.io.engine.transport&&this.io.engine.transport.writable)||!this.connected)||(this.connected?(this.notifyOutgoingListeners(o),this.packet(o)):this.sendBuffer.push(o)),this.flags={},this}},{key:"_registerAckCallback",value:function(e,t){var n,r=this,o=null!==(n=this.flags.timeout)&&void 0!==n?n:this._opts.ackTimeout;if(void 0!==o){var i=this.io.setTimeoutFn((function(){delete r.acks[e];for(var n=0;n<r.sendBuffer.length;n++)r.sendBuffer[n].id===e&&r.sendBuffer.splice(n,1);t.call(r,new Error("operation has timed out"))}),o);this.acks[e]=function(){r.io.clearTimeoutFn(i);for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];t.apply(r,[null].concat(n))}}else this.acks[e]=t}},{key:"emitWithAck",value:function(e){for(var t=this,n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];var i=void 0!==this.flags.timeout||void 0!==this._opts.ackTimeout;return new Promise((function(n,o){r.push((function(e,t){return i?e?o(e):n(t):n(e)})),t.emit.apply(t,[e].concat(r))}))}},{key:"_addToQueue",value:function(e){var t,n=this;"function"==typeof e[e.length-1]&&(t=e.pop());var r={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((function(e){if(r===n._queue[0]){if(null!==e)r.tryCount>n._opts.retries&&(n._queue.shift(),t&&t(e));else if(n._queue.shift(),t){for(var o=arguments.length,i=new Array(o>1?o-1:0),a=1;a<o;a++)i[a-1]=arguments[a];t.apply(void 0,[null].concat(i))}return r.pending=!1,n._drainQueue()}})),this._queue.push(r),this._drainQueue()}},{key:"_drainQueue",value:function(){if(this.connected&&0!==this._queue.length){var e=this._queue[0];e.pending&&!(arguments.length>0&&void 0!==arguments[0]&&arguments[0])||(e.pending=!0,e.tryCount++,this.flags=e.flags,this.emit.apply(this,e.args))}}},{key:"packet",value:function(e){e.nsp=this.nsp,this.io._packet(e)}},{key:"onopen",value:function(){var e=this;"function"==typeof this.auth?this.auth((function(t){e._sendConnectPacket(t)})):this._sendConnectPacket(this.auth)}},{key:"_sendConnectPacket",value:function(e){this.packet({type:ul.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}},{key:"onerror",value:function(e){this.connected||this.emitReserved("connect_error",e)}},{key:"onclose",value:function(e,t){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t)}},{key:"onpacket",value:function(e){if(e.nsp===this.nsp)switch(e.type){case ul.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case ul.EVENT:case ul.BINARY_EVENT:this.onevent(e);break;case ul.ACK:case ul.BINARY_ACK:this.onack(e);break;case ul.DISCONNECT:this.ondisconnect();break;case ul.CONNECT_ERROR:this.destroy();var t=new Error(e.data.message);t.data=e.data.data,this.emitReserved("connect_error",t)}}},{key:"onevent",value:function(e){var t=e.data||[];null!=e.id&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}},{key:"emitEvent",value:function(e){if(this._anyListeners&&this._anyListeners.length){var t,r=we(this._anyListeners.slice());try{for(r.s();!(t=r.n()).done;)t.value.apply(this,e)}catch(e){r.e(e)}finally{r.f()}}de(ie(n.prototype),"emit",this).apply(this,e),this._pid&&e.length&&"string"==typeof e[e.length-1]&&(this._lastOffset=e[e.length-1])}},{key:"ack",value:function(e){var t=this,n=!1;return function(){if(!n){n=!0;for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];t.packet({type:ul.ACK,id:e,data:o})}}}},{key:"onack",value:function(e){var t=this.acks[e.id];"function"==typeof t&&(t.apply(this,e.data),delete this.acks[e.id])}},{key:"onconnect",value:function(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}},{key:"emitBuffered",value:function(){var e=this;this.receiveBuffer.forEach((function(t){return e.emitEvent(t)})),this.receiveBuffer=[],this.sendBuffer.forEach((function(t){e.notifyOutgoingListeners(t),e.packet(t)})),this.sendBuffer=[]}},{key:"ondisconnect",value:function(){this.destroy(),this.onclose("io server disconnect")}},{key:"destroy",value:function(){this.subs&&(this.subs.forEach((function(e){return e()})),this.subs=void 0),this.io._destroy(this)}},{key:"disconnect",value:function(){return this.connected&&this.packet({type:ul.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}},{key:"close",value:function(){return this.disconnect()}},{key:"compress",value:function(e){return this.flags.compress=e,this}},{key:"volatile",get:function(){return this.flags.volatile=!0,this}},{key:"timeout",value:function(e){return this.flags.timeout=e,this}},{key:"onAny",value:function(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}},{key:"prependAny",value:function(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}},{key:"offAny",value:function(e){if(!this._anyListeners)return this;if(e){for(var t=this._anyListeners,n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyListeners=[];return this}},{key:"listenersAny",value:function(){return this._anyListeners||[]}},{key:"onAnyOutgoing",value:function(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}},{key:"prependAnyOutgoing",value:function(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}},{key:"offAnyOutgoing",value:function(e){if(!this._anyOutgoingListeners)return this;if(e){for(var t=this._anyOutgoingListeners,n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyOutgoingListeners=[];return this}},{key:"listenersAnyOutgoing",value:function(){return this._anyOutgoingListeners||[]}},{key:"notifyOutgoingListeners",value:function(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){var t,n=we(this._anyOutgoingListeners.slice());try{for(n.s();!(t=n.n()).done;)t.value.apply(this,e.data)}catch(e){n.e(e)}finally{n.f()}}}}]),n}(_c);function vl(e){this.ms=(e=e||{}).min||100,this.max=e.max||1e4,this.factor=e.factor||2,this.jitter=e.jitter>0&&e.jitter<=1?e.jitter:0,this.attempts=0}vl.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=0==(1&Math.floor(10*t))?e-n:e+n}return 0|Math.min(e,this.max)},vl.prototype.reset=function(){this.attempts=0},vl.prototype.setMin=function(e){this.ms=e},vl.prototype.setMax=function(e){this.max=e},vl.prototype.setJitter=function(e){this.jitter=e};var _l=function(e){oe(n,e);var t=fe(n);function n(e,r){var o,i;ee(this,n),(o=t.call(this)).nsps={},o.subs=[],e&&"object"===Z(e)&&(r=e,e=void 0),(r=r||{}).path=r.path||"/socket.io",o.opts=r,kc(le(o),r),o.reconnection(!1!==r.reconnection),o.reconnectionAttempts(r.reconnectionAttempts||Infinity),o.reconnectionDelay(r.reconnectionDelay||1e3),o.reconnectionDelayMax(r.reconnectionDelayMax||5e3),o.randomizationFactor(null!==(i=r.randomizationFactor)&&void 0!==i?i:.5),o.backoff=new vl({min:o.reconnectionDelay(),max:o.reconnectionDelayMax(),jitter:o.randomizationFactor()}),o.timeout(null==r.timeout?2e4:r.timeout),o._readyState="closed",o.uri=e;var a=r.parser||pl;return o.encoder=new a.Encoder,o.decoder=new a.Decoder,o._autoConnect=!1!==r.autoConnect,o._autoConnect&&o.open(),o}return ne(n,[{key:"reconnection",value:function(e){return arguments.length?(this._reconnection=!!e,this):this._reconnection}},{key:"reconnectionAttempts",value:function(e){return void 0===e?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}},{key:"reconnectionDelay",value:function(e){var t;return void 0===e?this._reconnectionDelay:(this._reconnectionDelay=e,null===(t=this.backoff)||void 0===t||t.setMin(e),this)}},{key:"randomizationFactor",value:function(e){var t;return void 0===e?this._randomizationFactor:(this._randomizationFactor=e,null===(t=this.backoff)||void 0===t||t.setJitter(e),this)}},{key:"reconnectionDelayMax",value:function(e){var t;return void 0===e?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,null===(t=this.backoff)||void 0===t||t.setMax(e),this)}},{key:"timeout",value:function(e){return arguments.length?(this._timeout=e,this):this._timeout}},{key:"maybeReconnectOnOpen",value:function(){!this._reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()}},{key:"open",value:function(e){var t=this;if(~this._readyState.indexOf("open"))return this;this.engine=new Yc(this.uri,this.opts);var n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;var o=ml(n,"open",(function(){r.onopen(),e&&e()})),i=function(n){t.cleanup(),t._readyState="closed",t.emitReserved("error",n),e?e(n):t.maybeReconnectOnOpen()},a=ml(n,"error",i);if(!1!==this._timeout){var s=this.setTimeoutFn((function(){o(),i(new Error("timeout")),n.close()}),this._timeout);this.opts.autoUnref&&s.unref(),this.subs.push((function(){t.clearTimeoutFn(s)}))}return this.subs.push(o),this.subs.push(a),this}},{key:"connect",value:function(e){return this.open(e)}},{key:"onopen",value:function(){this.cleanup(),this._readyState="open",this.emitReserved("open");var e=this.engine;this.subs.push(ml(e,"ping",this.onping.bind(this)),ml(e,"data",this.ondata.bind(this)),ml(e,"error",this.onerror.bind(this)),ml(e,"close",this.onclose.bind(this)),ml(this.decoder,"decoded",this.ondecoded.bind(this)))}},{key:"onping",value:function(){this.emitReserved("ping")}},{key:"ondata",value:function(e){try{this.decoder.add(e)}catch(e){this.onclose("parse error",e)}}},{key:"ondecoded",value:function(e){var t=this;Uc((function(){t.emitReserved("packet",e)}),this.setTimeoutFn)}},{key:"onerror",value:function(e){this.emitReserved("error",e)}},{key:"socket",value:function(e,t){var n=this.nsps[e];return n?this._autoConnect&&!n.active&&n.connect():(n=new yl(this,e,t),this.nsps[e]=n),n}},{key:"_destroy",value:function(e){for(var t=0,n=Object.keys(this.nsps);t<n.length;t++)if(this.nsps[n[t]].active)return;this._close()}},{key:"_packet",value:function(e){for(var t=this.encoder.encode(e),n=0;n<t.length;n++)this.engine.write(t[n],e.options)}},{key:"cleanup",value:function(){this.subs.forEach((function(e){return e()})),this.subs.length=0,this.decoder.destroy()}},{key:"_close",value:function(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}},{key:"disconnect",value:function(){return this._close()}},{key:"onclose",value:function(e,t){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}},{key:"reconnect",value:function(){var e=this;if(this._reconnecting||this.skipReconnect)return this;var t=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{var n=this.backoff.duration();this._reconnecting=!0;var r=this.setTimeoutFn((function(){t.skipReconnect||(e.emitReserved("reconnect_attempt",t.backoff.attempts),t.skipReconnect||t.open((function(n){n?(t._reconnecting=!1,t.reconnect(),e.emitReserved("reconnect_error",n)):t.onreconnect()})))}),n);this.opts.autoUnref&&r.unref(),this.subs.push((function(){e.clearTimeoutFn(r)}))}}},{key:"onreconnect",value:function(){var e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}]),n}(_c),bl={};function wl(e,t){"object"===Z(e)&&(t=e,e=void 0);var n,r=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2?arguments[2]:void 0,r=e;n=n||"undefined"!=typeof location&&location,null==e&&(e=n.protocol+"//"+n.host),"string"==typeof e&&("/"===e.charAt(0)&&(e="/"===e.charAt(1)?n.protocol+e:n.host+e),/^(https?|wss?):\/\//.test(e)||(e=void 0!==n?n.protocol+"//"+e:"https://"+e),r=Kc(e)),r.port||(/^(http|ws)$/.test(r.protocol)?r.port="80":/^(http|ws)s$/.test(r.protocol)&&(r.port="443")),r.path=r.path||"/";var o=-1!==r.host.indexOf(":")?"["+r.host+"]":r.host;return r.id=r.protocol+"://"+o+":"+r.port+t,r.href=r.protocol+"://"+o+(n&&n.port===r.port?"":":"+r.port),r}(e,(t=t||{}).path||"/socket.io"),o=r.source,i=r.id;return t.forceNew||t["force new connection"]||!1===t.multiplex||bl[i]&&r.path in bl[i].nsps?n=new _l(o,t):(bl[i]||(bl[i]=new _l(o,t)),n=bl[i]),r.query&&!t.query&&(t.query=r.queryKey),n.socket(r.path,t)}function Sl(){}function xl(){xl.init.call(this)}function kl(e){return void 0===e._maxListeners?xl.defaultMaxListeners:e._maxListeners}function El(e,t,n,r){var o,i,a;if("function"!=typeof n)throw new TypeError('"listener" argument must be a function');if((i=e._events)?(i.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),i=e._events),a=i[t]):(i=e._events=new Sl,e._eventsCount=0),a){if("function"==typeof a?a=i[t]=r?[n,a]:[a,n]:r?a.unshift(n):a.push(n),!a.warned&&(o=kl(e))&&o>0&&a.length>o){a.warned=!0;var s=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");s.name="MaxListenersExceededWarning",s.emitter=e,s.type=t,s.count=a.length,function(e){"function"==typeof console.warn?console.warn(e):console.log(e)}(s)}}else a=i[t]=n,++e._eventsCount;return e}function Al(e,t,n){var r=!1;function o(){e.removeListener(t,o),r||(r=!0,n.apply(e,arguments))}return o.listener=n,o}function Cl(e){var t=this._events;if(t){var n=t[e];if("function"==typeof n)return 1;if(n)return n.length}return 0}function Ol(e,t){for(var n=new Array(t);t--;)n[t]=e[t];return n}Object.assign(wl,{Manager:_l,Socket:yl,io:wl,connect:wl}),Sl.prototype=Object.create(null),xl.EventEmitter=xl,xl.usingDomains=!1,xl.prototype.domain=void 0,xl.prototype._events=void 0,xl.prototype._maxListeners=void 0,xl.defaultMaxListeners=10,xl.init=function(){this.domain=null,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new Sl,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},xl.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},xl.prototype.getMaxListeners=function(){return kl(this)},xl.prototype.emit=function(e){var t,n,r,o,i,a,s,u="error"===e;if(a=this._events)u=u&&null==a.error;else if(!u)return!1;if(s=this.domain,u){if(t=arguments[1],!s){if(t instanceof Error)throw t;var c=new Error('Uncaught, unspecified "error" event. ('+t+")");throw c.context=t,c}return t||(t=new Error('Uncaught, unspecified "error" event')),t.domainEmitter=this,t.domain=s,t.domainThrown=!1,s.emit("error",t),!1}if(!(n=a[e]))return!1;var l="function"==typeof n;switch(r=arguments.length){case 1:!function(e,t,n){if(t)e.call(n);else for(var r=e.length,o=Ol(e,r),i=0;i<r;++i)o[i].call(n)}(n,l,this);break;case 2:!function(e,t,n,r){if(t)e.call(n,r);else for(var o=e.length,i=Ol(e,o),a=0;a<o;++a)i[a].call(n,r)}(n,l,this,arguments[1]);break;case 3:!function(e,t,n,r,o){if(t)e.call(n,r,o);else for(var i=e.length,a=Ol(e,i),s=0;s<i;++s)a[s].call(n,r,o)}(n,l,this,arguments[1],arguments[2]);break;case 4:!function(e,t,n,r,o,i){if(t)e.call(n,r,o,i);else for(var a=e.length,s=Ol(e,a),u=0;u<a;++u)s[u].call(n,r,o,i)}(n,l,this,arguments[1],arguments[2],arguments[3]);break;default:for(o=new Array(r-1),i=1;i<r;i++)o[i-1]=arguments[i];!function(e,t,n,r){if(t)e.apply(n,r);else for(var o=e.length,i=Ol(e,o),a=0;a<o;++a)i[a].apply(n,r)}(n,l,this,o)}return!0},xl.prototype.on=xl.prototype.addListener=function(e,t){return El(this,e,t,!1)},xl.prototype.prependListener=function(e,t){return El(this,e,t,!0)},xl.prototype.once=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.on(e,Al(this,e,t)),this},xl.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.prependListener(e,Al(this,e,t)),this},xl.prototype.removeListener=function(e,t){var n,r,o,i,a;if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');if(!(r=this._events))return this;if(!(n=r[e]))return this;if(n===t||n.listener&&n.listener===t)0==--this._eventsCount?this._events=new Sl:(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(o=-1,i=n.length;i-- >0;)if(n[i]===t||n[i].listener&&n[i].listener===t){a=n[i].listener,o=i;break}if(o<0)return this;if(1===n.length){if(n[0]=void 0,0==--this._eventsCount)return this._events=new Sl,this;delete r[e]}else!function(e,t){for(var n=t,r=n+1,o=e.length;r<o;n+=1,r+=1)e[n]=e[r];e.pop()}(n,o);r.removeListener&&this.emit("removeListener",e,a||t)}return this},xl.prototype.removeAllListeners=function(e){var t,n;if(!(n=this._events))return this;if(!n.removeListener)return 0===arguments.length?(this._events=new Sl,this._eventsCount=0):n[e]&&(0==--this._eventsCount?this._events=new Sl:delete n[e]),this;if(0===arguments.length){for(var r,o=Object.keys(n),i=0;i<o.length;++i)"removeListener"!==(r=o[i])&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events=new Sl,this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(t)do{this.removeListener(e,t[t.length-1])}while(t[0]);return this},xl.prototype.listeners=function(e){var t,n,r=this._events;return n=r&&(t=r[e])?"function"==typeof t?[t.listener||t]:function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(t):[],n},xl.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):Cl.call(e,t)},xl.prototype.listenerCount=Cl,xl.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};var Rl="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e},Nl=/%[sdj%]/g;function Il(e){if(!Hl(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(Fl(arguments[n]));return t.join(" ")}n=1;for(var r=arguments,o=r.length,i=String(e).replace(Nl,(function(e){if("%%"===e)return"%";if(n>=o)return e;switch(e){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(e){return"[Circular]"}default:return e}})),a=r[n];n<o;a=r[++n])Gl(a)||!$l(a)?i+=" "+a:i+=" "+Fl(a);return i}function Pl(e,t){if(Wl(pt.process))return function(){return Pl(e,t).apply(this,arguments)};if(!0===qt.noDeprecation)return e;var n=!1;return function(){if(!n){if(qt.throwDeprecation)throw new Error(t);qt.traceDeprecation?console.trace(t):console.error(t),n=!0}return e.apply(this,arguments)}}var Tl,Ml={};function jl(e){return Wl(Tl)&&(Tl=qt.env.NODE_DEBUG||""),e=e.toUpperCase(),Ml[e]||(Ml[e]=new RegExp("\\b"+e+"\\b","i").test(Tl)?function(){var t=Il.apply(null,arguments);console.error("%s %d: %s",e,0,t)}:function(){}),Ml[e]}function Fl(e,t){var n={seen:[],stylize:Dl};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),zl(t)?n.showHidden=t:t&&function(e,t){if(!t||!$l(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]]}(n,t),Wl(n.showHidden)&&(n.showHidden=!1),Wl(n.depth)&&(n.depth=2),Wl(n.colors)&&(n.colors=!1),Wl(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=Ll),ql(n,e,n.depth)}function Ll(e,t){var n=Fl.styles[t];return n?"["+Fl.colors[n][0]+"m"+e+"["+Fl.colors[n][1]+"m":e}function Dl(e,t){return e}function ql(e,t,n){if(e.customInspect&&t&&Yl(t.inspect)&&t.inspect!==Fl&&(!t.constructor||t.constructor.prototype!==t)){var r=t.inspect(n,e);return Hl(r)||(r=ql(e,r,n)),r}var o=function(e,t){if(Wl(t))return e.stylize("undefined","undefined");if(Hl(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}return"number"==typeof t?e.stylize(""+t,"number"):zl(t)?e.stylize(""+t,"boolean"):Gl(t)?e.stylize("null","null"):void 0}(e,t);if(o)return o;var i=Object.keys(t),a=function(e){var t={};return e.forEach((function(e,n){t[e]=!0})),t}(i);if(e.showHidden&&(i=Object.getOwnPropertyNames(t)),Kl(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return Bl(t);if(0===i.length){if(Yl(t))return e.stylize("[Function"+(t.name?": "+t.name:"")+"]","special");if(Vl(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(Jl(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Kl(t))return Bl(t)}var s,u="",c=!1,l=["{","}"];return Array.isArray(t)&&(c=!0,l=["[","]"]),Yl(t)&&(u=" [Function"+(t.name?": "+t.name:"")+"]"),Vl(t)&&(u=" "+RegExp.prototype.toString.call(t)),Jl(t)&&(u=" "+Date.prototype.toUTCString.call(t)),Kl(t)&&(u=" "+Bl(t)),0!==i.length||c&&0!=t.length?n<0?Vl(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),s=c?function(e,t,n,r,o){for(var i=[],a=0,s=t.length;a<s;++a)Xl(t,String(a))?i.push(Ul(e,t,n,r,String(a),!0)):i.push("");return o.forEach((function(o){o.match(/^\d+$/)||i.push(Ul(e,t,n,r,o,!0))})),i}(e,t,n,a,i):i.map((function(r){return Ul(e,t,n,a,r,c)})),e.seen.pop(),function(e,t,n){var r=e.reduce((function(e,t){return t.indexOf("\n"),e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0);return r>60?n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}(s,u,l)):l[0]+u+l[1]}function Bl(e){return"["+Error.prototype.toString.call(e)+"]"}function Ul(e,t,n,r,o,i){var a,s,u;if((u=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?s=e.stylize(u.set?"[Getter/Setter]":"[Getter]","special"):u.set&&(s=e.stylize("[Setter]","special")),Xl(r,o)||(a="["+o+"]"),s||(e.seen.indexOf(u.value)<0?(s=Gl(n)?ql(e,u.value,null):ql(e,u.value,n-1)).indexOf("\n")>-1&&(s=i?s.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.stylize("[Circular]","special")),Wl(a)){if(i&&o.match(/^\d+$/))return s;(a=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+s}function zl(e){return"boolean"==typeof e}function Gl(e){return null===e}function Hl(e){return"string"==typeof e}function Wl(e){return void 0===e}function Vl(e){return $l(e)&&"[object RegExp]"===Zl(e)}function $l(e){return"object"===Z(e)&&null!==e}function Jl(e){return $l(e)&&"[object Date]"===Zl(e)}function Kl(e){return $l(e)&&("[object Error]"===Zl(e)||e instanceof Error)}function Yl(e){return"function"==typeof e}function Zl(e){return Object.prototype.toString.call(e)}function Xl(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Ql(){this.head=null,this.tail=null,this.length=0}Fl.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},Fl.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},Ql.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},Ql.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},Ql.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,e}},Ql.prototype.clear=function(){this.head=this.tail=null,this.length=0},Ql.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n},Ql.prototype.concat=function(e){if(0===this.length)return Xt.alloc(0);if(1===this.length)return this.head.data;for(var t=Xt.allocUnsafe(e>>>0),n=this.head,r=0;n;)n.data.copy(t,r),r+=n.data.length,n=n.next;return t};var ef=Xt.isEncoding||function(e){switch(e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function tf(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),function(e){if(e&&!ef(e))throw new Error("Unknown encoding: "+e)}(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=rf;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=of;break;default:return void(this.write=nf)}this.charBuffer=new Xt(6),this.charReceived=0,this.charLength=0}function nf(e){return e.toString(this.encoding)}function rf(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function of(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}tf.prototype.write=function(e){for(var t="";this.charLength;){var n=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,n),this.charReceived+=n,this.charReceived<this.charLength)return"";if(e=e.slice(n,e.length),!((r=(t=this.charBuffer.slice(0,this.charLength).toString(this.encoding)).charCodeAt(t.length-1))>=55296&&r<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=""}this.detectIncompleteChar(e);var r,o=e.length;if(this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,o),o-=this.charReceived),(r=(t+=e.toString(this.encoding,0,o)).charCodeAt(o=t.length-1))>=55296&&r<=56319){var i=this.surrogateSize;return this.charLength+=i,this.charReceived+=i,this.charBuffer.copy(this.charBuffer,i,0,i),e.copy(this.charBuffer,0,0,i),t.substring(0,o)}return t},tf.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var n=e[e.length-t];if(1==t&&n>>5==6){this.charLength=2;break}if(t<=2&&n>>4==14){this.charLength=3;break}if(t<=3&&n>>3==30){this.charLength=4;break}}this.charReceived=t},tf.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var n=this.encoding;t+=this.charBuffer.slice(0,this.charReceived).toString(n)}return t},uf.ReadableState=sf;var af=jl("stream");function sf(e,t){this.objectMode=!!(e=e||{}).objectMode,t instanceof Ff&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var n=e.highWaterMark;this.highWaterMark=n||0===n?n:this.objectMode?16:16384,this.highWaterMark=~~this.highWaterMark,this.buffer=new Ql,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(this.decoder=new tf(e.encoding),this.encoding=e.encoding)}function uf(e){if(!(this instanceof uf))return new uf(e);this._readableState=new sf(e,this),this.readable=!0,e&&"function"==typeof e.read&&(this._read=e.read),xl.call(this)}function cf(e,t,n,r,o){var i=function(e,t){var n=null;return Fn(t)||"string"==typeof t||null==t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk")),n}(t,n);if(i)e.emit("error",i);else if(null===n)t.reading=!1,function(e,t){if(!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,df(e)}}(e,t);else if(t.objectMode||n&&n.length>0)if(t.ended&&!o){var a=new Error("stream.push() after EOF");e.emit("error",a)}else if(t.endEmitted&&o){var s=new Error("stream.unshift() after end event");e.emit("error",s)}else{var u;!t.decoder||o||r||(n=t.decoder.write(n),u=!t.objectMode&&0===n.length),o||(t.reading=!1),u||(t.flowing&&0===t.length&&!t.sync?(e.emit("data",n),e.read(0)):(t.length+=t.objectMode?1:n.length,o?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&df(e))),function(e,t){t.readingMore||(t.readingMore=!0,At(pf,e,t))}(e,t)}else o||(t.reading=!1);return function(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}(t)}Rl(uf,xl),uf.prototype.push=function(e,t){var n=this._readableState;return n.objectMode||"string"!=typeof e||(t=t||n.defaultEncoding)!==n.encoding&&(e=Xt.from(e,t),t=""),cf(this,n,e,t,!1)},uf.prototype.unshift=function(e){return cf(this,this._readableState,e,"",!0)},uf.prototype.isPaused=function(){return!1===this._readableState.flowing},uf.prototype.setEncoding=function(e){return this._readableState.decoder=new tf(e),this._readableState.encoding=e,this};var lf=8388608;function ff(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=function(e){return e>=lf?e=lf:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function df(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(af("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?At(hf,e):hf(e))}function hf(e){af("emit readable"),e.emit("readable"),yf(e)}function pf(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(af("maybeReadMore read 0"),e.read(0),n!==t.length);)n=t.length;t.readingMore=!1}function mf(e){af("readable nexttick read 0"),e.read(0)}function gf(e,t){t.reading||(af("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),yf(e),t.flowing&&!t.reading&&e.read(0)}function yf(e){var t=e._readableState;for(af("flow",t.flowing);t.flowing&&null!==e.read(););}function vf(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=function(e,t,n){var r;return e<t.head.data.length?(r=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):r=e===t.head.data.length?t.shift():n?function(e,t){var n=t.head,r=1,o=n.data;for(e-=o.length;n=n.next;){var i=n.data,a=e>i.length?i.length:e;if(o+=a===i.length?i:i.slice(0,e),0==(e-=a)){a===i.length?(++r,t.head=n.next?n.next:t.tail=null):(t.head=n,n.data=i.slice(a));break}++r}return t.length-=r,o}(e,t):function(e,t){var n=Xt.allocUnsafe(e),r=t.head,o=1;for(r.data.copy(n),e-=r.data.length;r=r.next;){var i=r.data,a=e>i.length?i.length:e;if(i.copy(n,n.length-e,0,a),0==(e-=a)){a===i.length?(++o,t.head=r.next?r.next:t.tail=null):(t.head=r,r.data=i.slice(a));break}++o}return t.length-=o,n}(e,t),r}(e,t.buffer,t.decoder),n);var n}function _f(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,At(bf,t,e))}function bf(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function wf(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}function Sf(){}function xf(e,t,n){this.chunk=e,this.encoding=t,this.callback=n,this.next=null}function kf(e,t){Object.defineProperty(this,"buffer",{get:Pl((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")}),this.objectMode=!!(e=e||{}).objectMode,t instanceof Ff&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var n=e.highWaterMark;this.highWaterMark=n||0===n?n:this.objectMode?16:16384,this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.decodeStrings=!(!1===e.decodeStrings),this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,r=n.sync,o=n.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,r,o){--t.pendingcb,n?At(o,r):o(r),e._writableState.errorEmitted=!0,e.emit("error",r)}(e,n,r,t,o);else{var i=Rf(n);i||n.corked||n.bufferProcessing||!n.bufferedRequest||Of(e,n),r?At(Cf,e,n,i,o):Cf(e,n,i,o)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new Pf(this)}function Ef(e){if(!(this instanceof Ef||this instanceof Ff))return new Ef(e);this._writableState=new kf(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev)),xl.call(this)}function Af(e,t,n,r,o,i,a){t.writelen=r,t.writecb=a,t.writing=!0,t.sync=!0,n?e._writev(o,t.onwrite):e._write(o,i,t.onwrite),t.sync=!1}function Cf(e,t,n,r){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,r(),If(e,t)}function Of(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var r=new Array(t.bufferedRequestCount),o=t.corkedRequestsFree;o.entry=n;for(var i=0;n;)r[i]=n,n=n.next,i+=1;Af(e,t,!0,t.length,r,"",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new Pf(t)}else{for(;n;){var a=n.chunk;if(Af(e,t,!1,t.objectMode?1:a.length,a,n.encoding,n.callback),n=n.next,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequestCount=0,t.bufferedRequest=n,t.bufferProcessing=!1}function Rf(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function Nf(e,t){t.prefinished||(t.prefinished=!0,e.emit("prefinish"))}function If(e,t){var n=Rf(t);return n&&(0===t.pendingcb?(Nf(e,t),t.finished=!0,e.emit("finish")):Nf(e,t)),n}function Pf(e){var t=this;this.next=null,this.entry=null,this.finish=function(n){var r=t.entry;for(t.entry=null;r;){var o=r.callback;e.pendingcb--,o(n),r=r.next}e.corkedRequestsFree?e.corkedRequestsFree.next=t:e.corkedRequestsFree=t}}uf.prototype.read=function(e){af("read",e),e=parseInt(e,10);var t=this._readableState,n=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return af("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?_f(this):df(this),null;if(0===(e=ff(e,t))&&t.ended)return 0===t.length&&_f(this),null;var r,o=t.needReadable;return af("need readable",o),(0===t.length||t.length-e<t.highWaterMark)&&af("length less than watermark",o=!0),t.ended||t.reading?af("reading or ended",o=!1):o&&(af("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=ff(n,t))),null===(r=e>0?vf(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&_f(this)),null!==r&&this.emit("data",r),r},uf.prototype._read=function(e){this.emit("error",new Error("not implemented"))},uf.prototype.pipe=function(e,t){var n=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=e;break;case 1:r.pipes=[r.pipes,e];break;default:r.pipes.push(e)}r.pipesCount+=1,af("pipe count=%d opts=%j",r.pipesCount,t);var o=t&&!1===t.end?c:a;function i(e){af("onunpipe"),e===n&&c()}function a(){af("onend"),e.end()}r.endEmitted?At(o):n.once("end",o),e.on("unpipe",i);var s=function(e){return function(){var t=e._readableState;af("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&e.listeners("data").length&&(t.flowing=!0,yf(e))}}(n);e.on("drain",s);var u=!1;function c(){af("cleanup"),e.removeListener("close",h),e.removeListener("finish",p),e.removeListener("drain",s),e.removeListener("error",d),e.removeListener("unpipe",i),n.removeListener("end",a),n.removeListener("end",c),n.removeListener("data",f),u=!0,!r.awaitDrain||e._writableState&&!e._writableState.needDrain||s()}var l=!1;function f(t){af("ondata"),l=!1,!1!==e.write(t)||l||((1===r.pipesCount&&r.pipes===e||r.pipesCount>1&&-1!==wf(r.pipes,e))&&!u&&(af("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,l=!0),n.pause())}function d(t){af("onerror",t),m(),e.removeListener("error",d),0===e.listeners("error").length&&e.emit("error",t)}function h(){e.removeListener("finish",p),m()}function p(){af("onfinish"),e.removeListener("close",h),m()}function m(){af("unpipe"),n.unpipe(e)}return n.on("data",f),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",d),e.once("close",h),e.once("finish",p),e.emit("pipe",n),r.flowing||(af("pipe resume"),n.resume()),e},uf.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this)),this;if(!e){var n=t.pipes,r=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o<r;o++)n[o].emit("unpipe",this);return this}var i=wf(t.pipes,e);return-1===i||(t.pipes.splice(i,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this)),this},uf.prototype.addListener=uf.prototype.on=function(e,t){var n=xl.prototype.on.call(this,e,t);if("data"===e)!1!==this._readableState.flowing&&this.resume();else if("readable"===e){var r=this._readableState;r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.emittedReadable=!1,r.reading?r.length&&df(this):At(mf,this))}return n},uf.prototype.resume=function(){var e=this._readableState;return e.flowing||(af("resume"),e.flowing=!0,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,At(gf,e,t))}(this,e)),this},uf.prototype.pause=function(){return af("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(af("pause"),this._readableState.flowing=!1,this.emit("pause")),this},uf.prototype.wrap=function(e){var t=this._readableState,n=!1,r=this;for(var o in e.on("end",(function(){if(af("wrapped end"),t.decoder&&!t.ended){var e=t.decoder.end();e&&e.length&&r.push(e)}r.push(null)})),e.on("data",(function(o){af("wrapped data"),t.decoder&&(o=t.decoder.write(o)),t.objectMode&&null==o||(t.objectMode||o&&o.length)&&(r.push(o)||(n=!0,e.pause()))})),e)void 0===this[o]&&"function"==typeof e[o]&&(this[o]=function(t){return function(){return e[t].apply(e,arguments)}}(o));return function(t,n){for(var o=0,i=t.length;o<i;o++)e.on(a=t[o],r.emit.bind(r,a));var a}(["error","close","destroy","pause","resume"]),r._read=function(t){af("wrapped _read",t),n&&(n=!1,e.resume())},r},uf._fromList=vf,Ef.WritableState=kf,Rl(Ef,xl),kf.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},Ef.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},Ef.prototype.write=function(e,t,n){var r=this._writableState,o=!1;return"function"==typeof t&&(n=t,t=null),Xt.isBuffer(e)?t="buffer":t||(t=r.defaultEncoding),"function"!=typeof n&&(n=Sf),r.ended?function(e,t){var n=new Error("write after end");e.emit("error",n),At(t,n)}(this,n):function(e,t,n,r){var o=!0,i=!1;return null===n?i=new TypeError("May not write null values to stream"):Xt.isBuffer(n)||"string"==typeof n||void 0===n||t.objectMode||(i=new TypeError("Invalid non-string/buffer chunk")),i&&(e.emit("error",i),At(r,i),o=!1),o}(this,r,e,n)&&(r.pendingcb++,o=function(e,t,n,r,o){n=function(e,t,n){return e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=Xt.from(t,n)),t}(t,n,r),Xt.isBuffer(n)&&(r="buffer");var i=t.objectMode?1:n.length;t.length+=i;var a=t.length<t.highWaterMark;if(a||(t.needDrain=!0),t.writing||t.corked){var s=t.lastBufferedRequest;t.lastBufferedRequest=new xf(n,r,o),s?s.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else Af(e,t,!1,i,n,r,o);return a}(this,r,e,t,n)),o},Ef.prototype.cork=function(){this._writableState.corked++},Ef.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||Of(this,e))},Ef.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Ef.prototype._write=function(e,t,n){n(new Error("not implemented"))},Ef.prototype._writev=null,Ef.prototype.end=function(e,t,n){var r=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||function(e,t,n){t.ending=!0,If(e,t),n&&(t.finished?At(n):e.once("finish",n)),t.ended=!0,e.writable=!1}(this,r,n)},Rl(Ff,uf);for(var Tf=Object.keys(Ef.prototype),Mf=0;Mf<Tf.length;Mf++){var jf=Tf[Mf];Ff.prototype[jf]||(Ff.prototype[jf]=Ef.prototype[jf])}function Ff(e){if(!(this instanceof Ff))return new Ff(e);uf.call(this,e),Ef.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",Lf)}function Lf(){this.allowHalfOpen||this._writableState.ended||At(Df,this)}function Df(e){e.end()}function qf(e){this.afterTransform=function(t,n){return function(e,t,n){var r=e._transformState;r.transforming=!1;var o=r.writecb;if(!o)return e.emit("error",new Error("no writecb in Transform class"));r.writechunk=null,r.writecb=null,null!=n&&e.push(n),o(t);var i=e._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&e._read(i.highWaterMark)}(e,t,n)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function Bf(e){if(!(this instanceof Bf))return new Bf(e);Ff.call(this,e),this._transformState=new qf(this);var t=this;this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.once("prefinish",(function(){"function"==typeof this._flush?this._flush((function(e){Uf(t,e)})):Uf(t)}))}function Uf(e,t){if(t)return e.emit("error",t);var n=e._transformState;if(e._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(n.transforming)throw new Error("Calling transform done when still transforming");return e.push(null)}function zf(e){if(!(this instanceof zf))return new zf(e);Bf.call(this,e)}function Gf(){xl.call(this)}function Hf(e){return e.replace(/%([0-9A-Fa-f]{2})/g,(function(e,t){return String.fromCharCode(parseInt(t,16))}))}function Wf(e,t){return String(t).replace(e,(function(e){var t=e.charCodeAt(0).toString(16).toUpperCase().padStart(2,"0");return"%".concat(t)}))}function Vf(e){return Wf(/[\n;\r\t=%&,\x00-\x1f\x7f-\xff]/g,e)}function $f(e){return Wf(/[\n\r\t%\x00-\x1f\x7f-\xff]/g,e)}function Jf(e){if(!e||!e.length||"."===e)return{};var t={};return e.replace(/\r?\n$/,"").split(";").forEach((function(e){var n,r=e.split("=",2);if(r[1]&&r[1].length){r[0]=r[0].trim();var o=t[r[0].trim()];o||(t[r[0]]=o=[]),(n=o).push.apply(n,me(r[1].split(",").map((function(e){return e.trim()})).map(Hf)))}})),t}function Kf(e){var t=e.split("\t").map((function(e){return"."===e||""===e?null:e}));return{seq_id:t[0]&&Hf(t[0]),source:t[1]&&Hf(t[1]),type:t[2]&&Hf(t[2]),start:null===t[3]?null:parseInt(t[3],10),end:null===t[4]?null:parseInt(t[4],10),score:null===t[5]?null:parseFloat(t[5]),strand:t[6],phase:t[7],attributes:null===t[8]?null:Jf(t[8])}}function Yf(e){var t=/^\s*##\s*(\S+)\s*(.*)/.exec(e);if(!t)return null;var n=he(t,2)[1],r=he(t,3)[2],o={directive:n};if(r.length&&(r=r.replace(/\r?\n$/,""),o.value=r),"sequence-region"===n){var i=r.split(/\s+/,3);return K(K({},o),{},{seq_id:i[0],start:i[1]&&i[1].replace(/\D/g,""),end:i[2]&&i[2].replace(/\D/g,"")})}if("genome-build"===n){var a=he(r.split(/\s+/,2),2),s=a[0],u=a[1];return K(K({},o),{},{source:s,buildName:u})}return o}function Zf(e){var t=[];return Object.entries(e).forEach((function(e){var n,r=he(e,2),o=r[0],i=r[1];i&&(n=i.hasOwnProperty("toString")?Vf(i.toString()):Array.isArray(i)?i.map(Vf).join(","):Vf(i),t.push("".concat(Vf(o),"=").concat(n)))})),t.length?t.join(";"):"."}function Xf(e,t){var n=null==e.attributes?".":Zf(e.attributes),r=[null===e.seq_id?".":$f(e.seq_id),null===e.source?".":$f(e.source),null===e.type?".":$f(e.type),null===e.start?".":$f(e.start),null===e.end?".":$f(e.end),null===e.score?".":$f(e.score),null===e.strand?".":$f(e.strand),null===e.phase?".":$f(e.phase),n],o="".concat(r.join("\t"),"\n");return t[o]?"":(t[o]=!0,o)}function Qf(e,t){if(Array.isArray(e))return e.map((function(e){return Qf(e,t)})).join("");var n,r=[Xf(e,t)];return void 0!==(n=e).child_features&&void 0!==n.derived_features&&r.push.apply(r,me(e.child_features.map((function(e){return Qf(e,t)}))).concat(me(e.derived_features.map((function(e){return Qf(e,t)}))))),r.join("")}function ed(e){return Qf(e,{})}function td(e){var t="##".concat(e.directive);return e.value&&(t+=" ".concat(e.value)),t+"\n"}function nd(e){return"# ".concat(e.comment,"\n")}function rd(e){return">".concat(e.id).concat(e.description?" ".concat(e.description):"","\n").concat(e.sequence,"\n")}function od(e){function t(e){return"attributes"in e?ed(e):"directive"in e?td(e):"sequence"in e?rd(e):"comment"in e?nd(e):"# (invalid item found during format)\n"}return Array.isArray(e)?e.map(t):t(e)}Rl(Bf,Ff),Bf.prototype.push=function(e,t){return this._transformState.needTransform=!1,Ff.prototype.push.call(this,e,t)},Bf.prototype._transform=function(e,t,n){throw new Error("Not implemented")},Bf.prototype._write=function(e,t,n){var r=this._transformState;if(r.writecb=n,r.writechunk=e,r.writeencoding=t,!r.transforming){var o=this._readableState;(r.needTransform||o.needReadable||o.length<o.highWaterMark)&&this._read(o.highWaterMark)}},Bf.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},Rl(zf,Bf),zf.prototype._transform=function(e,t,n){n(null,e)},Rl(Gf,xl),Gf.Readable=uf,Gf.Writable=Ef,Gf.Duplex=Ff,Gf.Transform=Bf,Gf.PassThrough=zf,Gf.Stream=Gf,Gf.prototype.pipe=function(e,t){var n=this;function r(t){e.writable&&!1===e.write(t)&&n.pause&&n.pause()}function o(){n.readable&&n.resume&&n.resume()}n.on("data",r),e.on("drain",o),e._isStdio||t&&!1===t.end||(n.on("end",a),n.on("close",s));var i=!1;function a(){i||(i=!0,e.end())}function s(){i||(i=!0,"function"==typeof e.destroy&&e.destroy())}function u(e){if(c(),0===xl.listenerCount(this,"error"))throw e}function c(){n.removeListener("data",r),e.removeListener("drain",o),n.removeListener("end",a),n.removeListener("close",s),n.removeListener("error",u),e.removeListener("error",u),n.removeListener("end",c),n.removeListener("close",c),e.removeListener("close",c)}return n.on("error",u),e.on("error",u),n.on("end",c),n.on("close",c),e.on("close",c),e.emit("pipe",n),e};var id={__proto__:null,unescape:Hf,escape:Vf,escapeColumn:$f,parseAttributes:Jf,parseFeature:Kf,parseDirective:Yf,formatAttributes:Zf,formatFeature:ed,formatDirective:td,formatComment:nd,formatSequence:rd,formatItem:od},ad=function(){function e(t){ee(this,e),this.seqCallback=t,this.currentSequence=void 0}return ne(e,[{key:"addLine",value:function(e){var t=/^>\s*(\S+)\s*(.*)/.exec(e);t?(this._flush(),this.currentSequence={id:t[1],sequence:""},t[2]&&(this.currentSequence.description=t[2].trim())):this.currentSequence&&/\S/.test(e)&&(this.currentSequence.sequence+=e.replace(/\s/g,""))}},{key:"_flush",value:function(){this.currentSequence&&this.seqCallback(this.currentSequence)}},{key:"finish",value:function(){this._flush()}}]),e}(),sd=function(){function e(t){ee(this,e),this.fastaParser=void 0,this.eof=!1,this.lineNumber=0,this._underConstructionTopLevel=[],this._underConstructionById={},this._completedReferences={},this._underConstructionOrphans={};var n=function(){};this.featureCallback=t.featureCallback||n,this.endCallback=t.endCallback||n,this.commentCallback=t.commentCallback||n,this.errorCallback=t.errorCallback||n,this.directiveCallback=t.directiveCallback||n,this.sequenceCallback=t.sequenceCallback||n,this.bufferSize=void 0===t.bufferSize?1e3:t.bufferSize}return ne(e,[{key:"addLine",value:function(e){if(this.fastaParser)this.fastaParser.addLine(e);else if(!this.eof)if(this.lineNumber+=1,/^\s*[^#\s>]/.test(e))this._bufferLine(e);else{var t=/^\s*(#+)(.*)/.exec(e);if(t){var n=he(t,2)[1],r=he(t,3)[2];if(3===n.length)this._emitAllUnderConstructionFeatures();else if(2===n.length){var o=Yf(e);o&&("FASTA"===o.directive?(this._emitAllUnderConstructionFeatures(),this.eof=!0,this.fastaParser=new ad(this.sequenceCallback)):this._emitItem(o))}else r=r.replace(/\s*/,""),this._emitItem({comment:r})}else if(/^\s*$/.test(e));else{if(!/^\s*>/.test(e)){var i=e.replace(/\r?\n?$/g,"");throw new Error("GFF3 parse error. Cannot parse '".concat(i,"'."))}this._emitAllUnderConstructionFeatures(),this.eof=!0,this.fastaParser=new ad(this.sequenceCallback),this.fastaParser.addLine(e)}}}},{key:"finish",value:function(){this._emitAllUnderConstructionFeatures(),this.fastaParser&&this.fastaParser.finish(),this.endCallback()}},{key:"_emitItem",value:function(e){Array.isArray(e)?this.featureCallback(e):"directive"in e?this.directiveCallback(e):"comment"in e&&this.commentCallback(e)}},{key:"_enforceBufferSizeLimit",value:function(){for(var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=function t(n){n&&Array.isArray(n)&&n[0].attributes&&n[0].attributes.ID&&n[0].attributes.ID[0]&&(n[0].attributes.ID.forEach((function(t){delete e._underConstructionById[t],delete e._completedReferences[t]})),n.forEach((function(e){e.child_features&&e.child_features.forEach((function(e){return t(e)})),e.derived_features&&e.derived_features.forEach((function(e){return t(e)}))})))};this._underConstructionTopLevel.length+t>this.bufferSize;){var r=this._underConstructionTopLevel.shift();r&&(this._emitItem(r),n(r))}}},{key:"_emitAllUnderConstructionFeatures",value:function(){if(this._underConstructionTopLevel.forEach(this._emitItem.bind(this)),this._underConstructionTopLevel=[],this._underConstructionById={},this._completedReferences={},Array.from(Object.values(this._underConstructionOrphans)).length)throw new Error("some features reference other features that do not exist in the file (or in the same '###' scope). ".concat(JSON.stringify(this._underConstructionOrphans)))}},{key:"_bufferLine",value:function(e){var t,n,r,o=this,i=K(K({},Kf(e)),{},{child_features:[],derived_features:[]}),a=(null===(t=i.attributes)||void 0===t?void 0:t.ID)||[],s=(null===(n=i.attributes)||void 0===n?void 0:n.Parent)||[],u=(null===(r=i.attributes)||void 0===r?void 0:r.Derives_from)||[];if(a.length||s.length||u.length){var c=void 0;a.forEach((function(e){var t=o._underConstructionById[e];t?(t[t.length-1].type!==i.type&&o._parseError('multi-line feature "'.concat(e,'" has inconsistent types: "').concat(i.type,'", "').concat(t[t.length-1].type,'"')),t.push(i),c=t):(c=[i],o._enforceBufferSizeLimit(1),s.length||u.length||o._underConstructionTopLevel.push(c),o._underConstructionById[e]=c,o._resolveReferencesTo(c,e))})),this._resolveReferencesFrom(c||[i],{Parent:s,Derives_from:u},a)}else this._emitItem([i])}},{key:"_resolveReferencesTo",value:function(e,t){var n=this._underConstructionOrphans[t];n&&(e.forEach((function(e){var t;(t=e.child_features).push.apply(t,me(n.Parent))})),e.forEach((function(e){var t;(t=e.derived_features).push.apply(t,me(n.Derives_from))})),delete this._underConstructionOrphans[t])}},{key:"_parseError",value:function(e){this.eof=!0,this.errorCallback("".concat(this.lineNumber,": ").concat(e))}},{key:"_resolveReferencesFrom",value:function(e,t,n){var r=this;function o(e,t,n){var r=e[t];r||(e[t]=r={});var o=r[n]||!1;return r[n]=!0,o}t.Parent.forEach((function(t){var i=r._underConstructionById[t];if(i)n.filter((function(e){return o(r._completedReferences,e,"Parent,".concat(t))})).length||i.forEach((function(t){t.child_features.push(e)}));else{var a=r._underConstructionOrphans[t];a||(r._underConstructionOrphans[t]=a={Parent:[],Derives_from:[]}),a.Parent.push(e)}})),t.Derives_from.forEach((function(t){var i=r._underConstructionById[t];if(i)n.filter((function(e){return o(r._completedReferences,e,"Derives_from,".concat(t))})).length||i.forEach((function(t){t.derived_features.push(e)}));else{var a=r._underConstructionOrphans[t];a||(r._underConstructionOrphans[t]=a={Parent:[],Derives_from:[]}),a.Derives_from.push(e)}}))}}]),e}();function ud(e){qt&&At?At(e):e()}function cd(e){var t=K({encoding:"utf8",parseFeatures:!0,parseDirectives:!1,parseSequences:!0,parseComments:!1,bufferSize:1e3},e);return e.parseAll&&(t.parseFeatures=!0,t.parseDirectives=!0,t.parseComments=!0,t.parseSequences=!0),t}var ld=function(e){oe(n,e);var t=fe(n);function n(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};ee(this,n),(e=t.call(this,{objectMode:!0})).textBuffer="";var o=cd(r);e.encoding=r.encoding||"utf8",e.decoder=new tf;var i=e.push.bind(le(e));return e.parser=new sd({featureCallback:o.parseFeatures?i:void 0,directiveCallback:o.parseDirectives?i:void 0,commentCallback:o.parseComments?i:void 0,sequenceCallback:o.parseSequences?i:void 0,errorCallback:function(t){return e.emit("error",t)},bufferSize:o.bufferSize}),e}return ne(n,[{key:"_addLine",value:function(e){e&&this.parser.addLine(e)}},{key:"_nextText",value:function(e){var t=this,n=(this.textBuffer+e).split(/\r?\n/);this.textBuffer=n.pop()||"",n.forEach((function(e){return t._addLine(e)}))}},{key:"_transform",value:function(e,t,n){this._nextText(this.decoder.write(e)),ud(n)}},{key:"_flush",value:function(e){this.decoder.end&&this._nextText(this.decoder.end()),null!=this.textBuffer&&this._addLine(this.textBuffer),this.parser.finish(),ud(e)}}]),n}(Bf),fd=function(e){oe(n,e);var t=fe(n);function n(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return ee(this,n),(e=t.call(this,Object.assign(r,{objectMode:!0}))).linesSinceLastSyncMark=0,e.haveWeEmittedData=!1,e.fastaMode=!1,e.minLinesBetweenSyncMarks=r.minSyncLines||100,e.insertVersionDirective=r.insertVersionDirective||!1,e}return ne(n,[{key:"_transform",value:function(e,t,n){var r;if(!this.haveWeEmittedData&&this.insertVersionDirective){var o=Array.isArray(e)?e[0]:e;"directive"in o&&"gff-version"!==o.directive&&this.push("##gff-version 3\n")}if("sequence"in e&&!this.fastaMode&&(this.push("##FASTA\n"),this.fastaMode=!0),r=Array.isArray(e)?e.map(od).join(""):od(e),this.push(r),this.linesSinceLastSyncMark>=this.minLinesBetweenSyncMarks)this.push("###\n"),this.linesSinceLastSyncMark=0;else{for(var i=0,a=0;a<r.length;a+=1)"\n"===r[a]&&(i+=1);this.linesSinceLastSyncMark+=i}this.haveWeEmittedData=!0,ud(n)}}]),n}(Bf),dd={parseStream:function(){return new ld(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})},parseStringSync:function(e){if(!e)return[];var t=cd(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),n=[],r=n.push.bind(n),o=new sd({featureCallback:t.parseFeatures?r:void 0,directiveCallback:t.parseDirectives?r:void 0,commentCallback:t.parseComments?r:void 0,sequenceCallback:t.parseSequences?r:void 0,bufferSize:Infinity,errorCallback:function(e){throw e}});return e.split(/\r?\n/).forEach(o.addLine.bind(o)),o.finish(),n},formatSync:function(e){var t=[],n=[];e.forEach((function(e){"sequence"in e?n.push(e):t.push(e)}));var r=t.map(od).join("");return n.length&&(r+="##FASTA\n",r+=n.map(rd).join("")),r},formatStream:function(){return new fd(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})},formatFile:function(e,t){var n=K({insertVersionDirective:!0},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{});return new Promise((function(r,o){e.pipe(new fd(n)).on("end",(function(){return r(null)})).on("error",o).pipe(t)}))},util:id};async function hd(e,t,n){const r=dd.parseStringSync(t,{parseSequences:!0,parseComments:!0,parseDirectives:!1,parseFeatures:!0});if(0===r.length)throw new Error("No features found in GFF3 file");let o=0,i=n.assemblies.get(e);i||(i=n.addAssembly(e,"InMemoryFileDriver"));for(const e of r)if(Array.isArray(e)){const t=nr.gff3ToAnnotationFeature(e),n=i.refSeqs.get(t.refSeq)??i.addRefSeq(t.refSeq,t.refSeq);n.features.has(t._id)||n.addFeature(t)}else if("comment"in e)i.addComment(e.comment);else{o++;let t=i.refSeqs.get(e.id);t||(t=i.addRefSeq(e.id,e.id,e.description)),e.description&&!t.description&&t.setDescription(e.description),t.addSequence({start:0,stop:e.sequence.length,sequence:e.sequence})}if(0===o)throw new Error("No embedded FASTA section found in GFF3");const a=await pd(i);return n.addCheckResults(a),i}async function pd(e){const t=[];for(const n of e.refSeqs.values())for(const e of n.features.values())for(const r of z.checkRegistry.getChecks().values()){const o=await r.checkFeature(u.getSnapshot(e),((e,t)=>Promise.resolve(n.getSequence(e,t))));t.push(...o)}return t}async function md(e,t){let n;try{n=await e.text()}catch{n=""}return`${t?`${t} — `:""}${e.status} ${e.statusText}${n?` (${n})`:""}`}var gd={},yd=Ju.exports;Object.defineProperty(gd,"__esModule",{value:!0});var vd=gd.default=void 0;vd=gd.default=(0,yd(Ku).default)((0,N.default.jsx)("path",{d:"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"}),"Link");var _d={},bd=Ju.exports;Object.defineProperty(_d,"__esModule",{value:!0});var wd=_d.default=void 0;wd=_d.default=(0,bd(Ku).default)((0,N.default.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");const Sd=m.makeStyles()((e=>({dialogTitle:{background:e.palette.primary.main,color:e.palette.primary.contrastText,padding:e.spacing(2)},closeButton:{position:"absolute",right:e.spacing(1),top:e.spacing(1.5),color:e.palette.primary.contrastText}}))),xd=p.observer((function(e){const{classes:t}=Sd(),{handleClose:n,title:r,...o}=e;return M.default.createElement(h.Dialog,{...o,header:M.default.createElement(M.default.Fragment,null,M.default.createElement(c.DialogTitle,{className:t.dialogTitle},r),M.default.createElement(c.IconButton,{"aria-label":"close",onClick:n,className:t.closeButton},M.default.createElement(wd,null)))})}));var kd;function Ed({changeManager:e,handleClose:t,session:n}){const{internetAccounts:o}=u.getRoot(n),{notify:i}=n,a=o.filter((e=>"ApolloInternetAccount"===e.type));if(0===a.length)throw new Error("No Apollo internet account found");const[s,l]=d.useState(""),[f,h]=d.useState(""),[p,m]=d.useState(!1),[g,y]=d.useState(null),[v,_]=d.useState(kd.GFF3),[b,w]=d.useState(!0),[S,x]=d.useState(!1),[k,E]=d.useState(a[0]),[A,C]=d.useState(""),[O,R]=d.useState(""),[N,I]=d.useState(""),[j,F]=d.useState(!1);let L=!1;try{const e=new URL(A);"http:"!==e.protocol&&"https:"!==e.protocol||(L=!0)}catch{}let D=!1;try{const e=new URL(O);"http:"!==e.protocol&&"https:"!==e.protocol||(D=!0)}catch{}let q=!1;try{const e=new URL(N);"http:"!==e.protocol&&"https:"!==e.protocol||(q=!0)}catch{}return M.default.createElement(xd,{open:!0,maxWidth:!1,"data-testid":"add-assembly-dialog",title:"Add new assembly",handleClose:t},j?M.default.createElement(T.default,null):null,M.default.createElement("form",{onSubmit:async function(r){r.preventDefault(),h(""),x(!0),F(!0),i(`Assembly "${s}" is being added`,"info"),t(),r.preventDefault();const{jobsManager:o}=n,a=new AbortController,u={name:`UploadAssemblyFile for ${s}`,statusMessage:"Pre-validating",progressPct:0,cancelCallback:()=>{a.abort(),o.abortJob(u.name)}};o.runJob(u);let c="";const{baseURL:l,getFetcher:f,internetAccountId:d}=k;if(v!==kd.EXTERNAL&&g){const e=new URL("files",l);e.searchParams.set("type",v);const t=e.href,n=new FormData;n.append("file",g),n.append("fileName",g.name),n.append("type",v);const r=f({locationType:"UriLocation",uri:t});if(r){o.update(u.name,"Uploading file, this may take awhile");const{signal:e}=a,i=await r(t,{method:"POST",body:n,signal:e});if(!i.ok){const e=await md(i,"Error when inserting new assembly (while uploading file)");return o.abortJob(u.name,e),void h(e)}c=(await i.json())._id}}let p;if(v===kd.EXTERNAL)p=new nr.AddAssemblyFromExternalChange({typeName:"AddAssemblyFromExternalChange",assembly:(new Jn).toHexString(),assemblyName:s,externalLocation:{fa:A,fai:O,...N?{gzi:N}:{}}});else{const e={assembly:(new Jn).toHexString(),assemblyName:s,fileIds:{fa:c}};p=v===kd.GFF3&&b?new nr.AddAssemblyAndFeaturesFromFileChange({typeName:"AddAssemblyAndFeaturesFromFileChange",...e}):new nr.AddAssemblyFromFileChange({typeName:"AddAssemblyFromFileChange",...e})}o.done(u),await e.submit(p,{internetAccountId:d,updateJobsManager:!0}),x(!1),F(!1)}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},a.length>1?M.default.createElement(M.default.Fragment,null,M.default.createElement(c.DialogContentText,null,"Select account"),M.default.createElement(c.Select,{value:k.internetAccountId,onChange:function(e){x(!1);const t=a.find((t=>t.internetAccountId===e.target.value));if(!t)throw new Error(`Could not find internetAccount with ID "${e.target.value}"`);E(t)},disabled:S&&!f},o.map((e=>M.default.createElement(c.MenuItem,{key:e.id,value:e.internetAccountId},e.name))))):null,M.default.createElement(c.TextField,{margin:"dense",id:"name",label:"Assembly name",type:"TextField",fullWidth:!0,variant:"outlined",onChange:e=>{x(!1),l(e.target.value),function(e){const{assemblies:t}=n;t.find((t=>r.readConfObject(t,"displayName")===e))?(m(!1),h(`Assembly ${e} already exists.`)):(m(!0),h(""))}(e.target.value)},disabled:S&&!f}),M.default.createElement(c.FormControl,{style:{marginTop:20}},M.default.createElement(c.FormLabel,null,"Select GFF3, FASTA or EXTERNAL option"),M.default.createElement(c.RadioGroup,{"aria-labelledby":"demo-radio-buttons-group-label",defaultValue:kd.GFF3,name:"radio-buttons-group",onChange:function(e){_(e.target.value),w(e.target.value===kd.GFF3),C(""),R(""),y(null)},value:v},M.default.createElement(c.FormControlLabel,{value:kd.GFF3,control:M.default.createElement(c.Radio,null),label:"GFF3",disabled:S&&!f}),M.default.createElement(c.FormControlLabel,{value:kd.FASTA,control:M.default.createElement(c.Radio,null),label:"FASTA",disabled:S&&!f}),M.default.createElement(c.FormControlLabel,{value:kd.EXTERNAL,control:M.default.createElement(c.Radio,null),label:"External",disabled:S&&!f}))),v===kd.EXTERNAL?M.default.createElement(c.Box,{style:{marginTop:20}},M.default.createElement(c.Typography,{variant:"caption"},"Enter FASTA and FASTA index(es) URL"),M.default.createElement(c.TextField,{margin:"dense",helperText:"Can be bgz-compressed",id:"fasta",label:"FASTA",type:"TextField",fullWidth:!0,variant:"outlined",error:!L,onChange:e=>{C(e.target.value)},disabled:S&&!f,InputProps:{startAdornment:M.default.createElement(P.default,{position:"start"},M.default.createElement(vd,null))}}),M.default.createElement(c.TextField,{margin:"dense",id:"fasta-index",label:"FASTA Index",helperText:".fai or .gz.fai",type:"TextField",fullWidth:!0,variant:"outlined",error:!D,onChange:e=>{R(e.target.value)},disabled:S&&!f,InputProps:{startAdornment:M.default.createElement(P.default,{position:"start"},M.default.createElement(vd,null))}}),M.default.createElement(c.TextField,{margin:"dense",id:"fasta-gzi-index",label:"FASTA GZI Index",helperText:"Only for bgz-compressed FASTA, .gz.gzi",type:"TextField",fullWidth:!0,variant:"outlined",error:Boolean(N)&&!q,onChange:e=>{I(e.target.value)},disabled:S&&!f,InputProps:{startAdornment:M.default.createElement(P.default,{position:"start"},M.default.createElement(vd,null))}})):M.default.createElement(c.Box,{style:{marginTop:20}},M.default.createElement("input",{type:"file",onChange:function(e){if(!e.target.files)return;const t=e.target.files.item(0);if(y(t),!t)return;const n=t.name.toLowerCase();n.endsWith(".fasta")||n.endsWith(".fna")||n.endsWith(".fa")?_(kd.FASTA):(n.endsWith(".gff3")||n.endsWith(".gff"))&&_(kd.GFF3)},disabled:S&&!f}),M.default.createElement(c.FormGroup,null,M.default.createElement(c.FormControlLabel,{control:M.default.createElement(c.Checkbox,{checked:v===kd.GFF3&&b,onChange:()=>{w(!b)},disabled:v!==kd.GFF3||S&&!f}),label:"Also load features from GFF3 file"})))),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{disabled:!p||!((s&&g)??(s&&A&&O&&L&&D))||S,variant:"contained",type:"submit"},S?"Submitting...":"Submit"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),f?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},f)):null)}!function(e){e.GFF3="text/x-gff3",e.FASTA="text/x-fasta",e.EXTERNAL="text/x-external"}(kd||(kd={}));var Ad,Cd,Od=function(e,t){return t.some((function(t){return e instanceof t}))},Rd=new WeakMap,Nd=new WeakMap,Id=new WeakMap,Pd=new WeakMap,Td=new WeakMap,Md={get:function(e,t,n){if(e instanceof IDBTransaction){if("done"===t)return Nd.get(e);if("objectStoreNames"===t)return e.objectStoreNames||Id.get(e);if("store"===t)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return Fd(e[t])},set:function(e,t,n){return e[t]=n,!0},has:function(e,t){return e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e}};function jd(e){Md=e(Md)}function Fd(e){if(e instanceof IDBRequest)return t=e,(n=new Promise((function(e,n){var r=function(){t.removeEventListener("success",o),t.removeEventListener("error",i)},o=function(){e(Fd(t.result)),r()},i=function(){n(t.error),r()};t.addEventListener("success",o),t.addEventListener("error",i)}))).then((function(e){e instanceof IDBCursor&&Rd.set(e,t)})).catch((function(){})),Td.set(n,t),n;var t,n;if(Pd.has(e))return Pd.get(e);var r=function(e){return"function"==typeof e?(t=e)!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(Cd||(Cd=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(t)?function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return t.apply(Ld(this),n),Fd(Rd.get(this))}:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return Fd(t.apply(Ld(this),n))}:function(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];var i=t.call.apply(t,[Ld(this),e].concat(r));return Id.set(i,e.sort?e.sort():[e]),Fd(i)}:(e instanceof IDBTransaction&&function(e){if(!Nd.has(e)){var t=new Promise((function(t,n){var r=function(){e.removeEventListener("complete",o),e.removeEventListener("error",i),e.removeEventListener("abort",i)},o=function(){t(),r()},i=function(){n(e.error||new DOMException("AbortError","AbortError")),r()};e.addEventListener("complete",o),e.addEventListener("error",i),e.addEventListener("abort",i)}));Nd.set(e,t)}}(e),Od(e,Ad||(Ad=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]))?new Proxy(e,Md):e);var t}(e);return r!==e&&(Pd.set(e,r),Td.set(r,e)),r}var Ld=function(e){return Td.get(e)},Dd=["get","getKey","getAll","getAllKeys","count"],qd=["put","add","delete","clear"],Bd=new Map;function Ud(e,t){if(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t){if(Bd.get(t))return Bd.get(t);var n=t.replace(/FromIndex$/,""),r=t!==n,o=qd.includes(n);if(n in(r?IDBIndex:IDBObjectStore).prototype&&(o||Dd.includes(n))){var i=function(){var e=Q(Y().mark((function e(t){var i,a,s,u,c,l,f=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(a=this.transaction(t,o?"readwrite":"readonly"),s=a.store,u=f.length,c=new Array(u>1?u-1:0),l=1;l<u;l++)c[l-1]=f[l];return r&&(s=s.index(c.shift())),e.next=6,Promise.all([(i=s)[n].apply(i,c),o&&a.done]);case 6:return e.abrupt("return",e.sent[0]);case 7:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}();return Bd.set(t,i),i}}}jd((function(e){return K(K({},e),{},{get:function(t,n,r){return Ud(t,n)||e.get(t,n,r)},has:function(t,n){return!!Ud(t,n)||e.has(t,n)}})}));var zd=["continue","continuePrimaryKey","advance"],Gd={},Hd=new WeakMap,Wd=new WeakMap,Vd={get:function(e,t){if(!zd.includes(t))return e[t];var n=Gd[t];return n||(n=Gd[t]=function(){var e;Hd.set(this,(e=Wd.get(this))[t].apply(e,arguments))}),n}};function $d(){return Jd.apply(this,arguments)}function Jd(){var e;return e=Y().mark((function e(){var t,n,r,o=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((t=this)instanceof IDBCursor){e.next=5;break}return e.next=4,$((n=t).openCursor.apply(n,o));case 4:t=e.sent;case 5:if(t){e.next=7;break}return e.abrupt("return");case 7:r=new Proxy(t,Vd),Wd.set(r,t),Td.set(r,Ld(t));case 11:if(!t){e.next=20;break}return e.next=14,r;case 14:return e.next=16,$(Hd.get(r)||t.continue());case 16:t=e.sent,Hd.delete(r),e.next=11;break;case 20:case"end":return e.stop()}}),e,this)})),Jd=function(){return new G(e.apply(this,arguments))},Jd.apply(this,arguments)}function Kd(e,t){return t===Symbol.asyncIterator&&Od(e,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===t&&Od(e,[IDBIndex,IDBObjectStore])}jd((function(e){return K(K({},e),{},{get:function(t,n,r){return Kd(t,n)?$d:e.get(t,n,r)},has:function(t,n){return Kd(t,n)||e.has(t,n)}})}));var Yd={},Zd={},Xd={},Qd={},eh={};Object.defineProperty(eh,"__esModule",{value:!0}),eh.isFunction=void 0,eh.isFunction=function(e){return"function"==typeof e};var th={},nh={},rh={};Object.defineProperty(rh,"__esModule",{value:!0}),rh.createErrorClass=void 0,rh.createErrorClass=function(e){var t=e((function(e){Error.call(e),e.stack=(new Error).stack}));return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t},Object.defineProperty(nh,"__esModule",{value:!0}),nh.UnsubscriptionError=void 0,nh.UnsubscriptionError=rh.createErrorClass((function(e){return function(t){e(this),this.message=t?t.length+" errors occurred during unsubscription:\n"+t.map((function(e,t){return t+1+") "+e.toString()})).join("\n "):"",this.name="UnsubscriptionError",this.errors=t}}));var oh={};Object.defineProperty(oh,"__esModule",{value:!0}),oh.arrRemove=void 0,oh.arrRemove=function(e,t){if(e){var n=e.indexOf(t);0<=n&&e.splice(n,1)}};var ih=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},ah=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},sh=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(th,"__esModule",{value:!0}),th.isSubscription=th.EMPTY_SUBSCRIPTION=th.Subscription=void 0;var uh=eh,ch=nh,lh=oh,fh=function(){function e(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var e,t,n,r,o;if(!this.closed){this.closed=!0;var i=this._parentage;if(i)if(this._parentage=null,Array.isArray(i))try{for(var a=ih(i),s=a.next();!s.done;s=a.next())s.value.remove(this)}catch(t){e={error:t}}finally{try{s&&!s.done&&(t=a.return)&&t.call(a)}finally{if(e)throw e.error}}else i.remove(this);var u=this.initialTeardown;if(uh.isFunction(u))try{u()}catch(e){o=e instanceof ch.UnsubscriptionError?e.errors:[e]}var c=this._finalizers;if(c){this._finalizers=null;try{for(var l=ih(c),f=l.next();!f.done;f=l.next()){var d=f.value;try{dh(d)}catch(e){o=null!=o?o:[],e instanceof ch.UnsubscriptionError?o=sh(sh([],ah(o)),ah(e.errors)):o.push(e)}}}catch(e){n={error:e}}finally{try{f&&!f.done&&(r=l.return)&&r.call(l)}finally{if(n)throw n.error}}}if(o)throw new ch.UnsubscriptionError(o)}},e.prototype.add=function(t){var n;if(t&&t!==this)if(this.closed)dh(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(n=this._finalizers)&&void 0!==n?n:[]).push(t)}},e.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},e.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},e.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&lh.arrRemove(t,e)},e.prototype.remove=function(t){var n=this._finalizers;n&&lh.arrRemove(n,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}();function dh(e){uh.isFunction(e)?e():e.unsubscribe()}th.Subscription=fh,th.EMPTY_SUBSCRIPTION=fh.EMPTY,th.isSubscription=function(e){return e instanceof fh||e&&"closed"in e&&uh.isFunction(e.remove)&&uh.isFunction(e.add)&&uh.isFunction(e.unsubscribe)};var hh={};Object.defineProperty(hh,"__esModule",{value:!0}),hh.config=void 0,hh.config={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var ph={},mh={};!function(e){var t=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},n=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(e,"__esModule",{value:!0}),e.timeoutProvider=void 0,e.timeoutProvider={setTimeout:function(e){function t(t,n){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(r,o){for(var i=[],a=2;a<arguments.length;a++)i[a-2]=arguments[a];var s=e.timeoutProvider.delegate;return(null==s?void 0:s.setTimeout)?s.setTimeout.apply(s,n([r,o],t(i))):setTimeout.apply(void 0,n([r,o],t(i)))})),clearTimeout:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(t){var n=e.timeoutProvider.delegate;return((null==n?void 0:n.clearTimeout)||clearTimeout)(t)})),delegate:void 0}}(mh),Object.defineProperty(ph,"__esModule",{value:!0}),ph.reportUnhandledError=void 0;var gh=hh,yh=mh;ph.reportUnhandledError=function(e){yh.timeoutProvider.setTimeout((function(){var t=gh.config.onUnhandledError;if(!t)throw e;t(e)}))};var vh={};Object.defineProperty(vh,"__esModule",{value:!0}),vh.noop=void 0,vh.noop=function(){};var _h={};function bh(e,t,n){return{kind:e,value:t,error:n}}Object.defineProperty(_h,"__esModule",{value:!0}),_h.createNotification=_h.nextNotification=_h.errorNotification=_h.COMPLETE_NOTIFICATION=void 0,_h.COMPLETE_NOTIFICATION=function(){return bh("C",void 0,void 0)}(),_h.errorNotification=function(e){return bh("E",void 0,e)},_h.nextNotification=function(e){return bh("N",e,void 0)},_h.createNotification=bh;var wh={};Object.defineProperty(wh,"__esModule",{value:!0}),wh.captureError=wh.errorContext=void 0;var Sh=hh,xh=null;wh.errorContext=function(e){if(Sh.config.useDeprecatedSynchronousErrorHandling){var t=!xh;if(t&&(xh={errorThrown:!1,error:null}),e(),t){var n=xh;if(xh=null,n.errorThrown)throw n.error}}else e()},wh.captureError=function(e){Sh.config.useDeprecatedSynchronousErrorHandling&&xh&&(xh.errorThrown=!0,xh.error=e)},function(e){var t=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(e,"__esModule",{value:!0}),e.EMPTY_OBSERVER=e.SafeSubscriber=e.Subscriber=void 0;var n=eh,r=th,o=hh,i=ph,a=vh,s=_h,u=mh,c=wh,l=function(n){function o(t){var o=n.call(this)||this;return o.isStopped=!1,t?(o.destination=t,r.isSubscription(t)&&t.add(o)):o.destination=e.EMPTY_OBSERVER,o}return t(o,n),o.create=function(e,t,n){return new p(e,t,n)},o.prototype.next=function(e){this.isStopped?g(s.nextNotification(e),this):this._next(e)},o.prototype.error=function(e){this.isStopped?g(s.errorNotification(e),this):(this.isStopped=!0,this._error(e))},o.prototype.complete=function(){this.isStopped?g(s.COMPLETE_NOTIFICATION,this):(this.isStopped=!0,this._complete())},o.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,n.prototype.unsubscribe.call(this),this.destination=null)},o.prototype._next=function(e){this.destination.next(e)},o.prototype._error=function(e){try{this.destination.error(e)}finally{this.unsubscribe()}},o.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},o}(r.Subscription);e.Subscriber=l;var f=Function.prototype.bind;function d(e,t){return f.call(e,t)}var h=function(){function e(e){this.partialObserver=e}return e.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(e){m(e)}},e.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(e){m(e)}else m(e)},e.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(e){m(e)}},e}(),p=function(e){function r(t,r,i){var a,s,u=e.call(this)||this;return n.isFunction(t)||!t?a={next:null!=t?t:void 0,error:null!=r?r:void 0,complete:null!=i?i:void 0}:u&&o.config.useDeprecatedNextContext?((s=Object.create(t)).unsubscribe=function(){return u.unsubscribe()},a={next:t.next&&d(t.next,s),error:t.error&&d(t.error,s),complete:t.complete&&d(t.complete,s)}):a=t,u.destination=new h(a),u}return t(r,e),r}(l);function m(e){o.config.useDeprecatedSynchronousErrorHandling?c.captureError(e):i.reportUnhandledError(e)}function g(e,t){var n=o.config.onStoppedNotification;n&&u.timeoutProvider.setTimeout((function(){return n(e,t)}))}e.SafeSubscriber=p,e.EMPTY_OBSERVER={closed:!0,next:a.noop,error:function(e){throw e},complete:a.noop}}(Qd);var kh={};Object.defineProperty(kh,"__esModule",{value:!0}),kh.observable=void 0,kh.observable=function(){return"function"==typeof Symbol&&Symbol.observable||"@@observable"}();var Eh={},Ah={};Object.defineProperty(Ah,"__esModule",{value:!0}),Ah.identity=void 0,Ah.identity=function(e){return e},Object.defineProperty(Eh,"__esModule",{value:!0}),Eh.pipeFromArray=Eh.pipe=void 0;var Ch=Ah;function Oh(e){return 0===e.length?Ch.identity:1===e.length?e[0]:function(t){return e.reduce((function(e,t){return t(e)}),t)}}Eh.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Oh(e)},Eh.pipeFromArray=Oh,Object.defineProperty(Xd,"__esModule",{value:!0}),Xd.Observable=void 0;var Rh=Qd,Nh=th,Ih=kh,Ph=Eh,Th=hh,Mh=eh,jh=wh,Fh=function(){function e(e){e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var r=this,o=function(e){return e&&e instanceof Rh.Subscriber||function(e){return e&&Mh.isFunction(e.next)&&Mh.isFunction(e.error)&&Mh.isFunction(e.complete)}(e)&&Nh.isSubscription(e)}(e)?e:new Rh.SafeSubscriber(e,t,n);return jh.errorContext((function(){var e=r.operator,t=r.source;o.add(e?e.call(o,t):t?r._subscribe(o):r._trySubscribe(o))})),o},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},e.prototype.forEach=function(e,t){var n=this;return new(t=Lh(t))((function(t,r){var o=new Rh.SafeSubscriber({next:function(t){try{e(t)}catch(e){r(e),o.unsubscribe()}},error:r,complete:t});n.subscribe(o)}))},e.prototype._subscribe=function(e){var t;return null===(t=this.source)||void 0===t?void 0:t.subscribe(e)},e.prototype[Ih.observable]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Ph.pipeFromArray(e)(this)},e.prototype.toPromise=function(e){var t=this;return new(e=Lh(e))((function(e,n){var r;t.subscribe((function(e){return r=e}),(function(e){return n(e)}),(function(){return e(r)}))}))},e.create=function(t){return new e(t)},e}();function Lh(e){var t;return null!==(t=null!=e?e:Th.config.Promise)&&void 0!==t?t:Promise}Xd.Observable=Fh;var Dh={},qh={},Bh={};Object.defineProperty(Bh,"__esModule",{value:!0}),Bh.operate=Bh.hasLift=void 0;var Uh=eh;function zh(e){return Uh.isFunction(null==e?void 0:e.lift)}Bh.hasLift=zh,Bh.operate=function(e){return function(t){if(zh(t))return t.lift((function(t){try{return e(t,this)}catch(e){this.error(e)}}));throw new TypeError("Unable to lift unknown Observable type")}};var Gh={},Hh=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Gh,"__esModule",{value:!0}),Gh.OperatorSubscriber=Gh.createOperatorSubscriber=void 0;var Wh=Qd;Gh.createOperatorSubscriber=function(e,t,n,r,o){return new Vh(e,t,n,r,o)};var Vh=function(e){function t(t,n,r,o,i,a){var s=e.call(this,t)||this;return s.onFinalize=i,s.shouldUnsubscribe=a,s._next=n?function(e){try{n(e)}catch(e){t.error(e)}}:e.prototype._next,s._error=o?function(e){try{o(e)}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._error,s._complete=r?function(){try{r()}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._complete,s}return Hh(t,e),t.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;e.prototype.unsubscribe.call(this),!n&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}},t}(Wh.Subscriber);Gh.OperatorSubscriber=Vh,Object.defineProperty(qh,"__esModule",{value:!0}),qh.refCount=void 0;var $h=Bh,Jh=Gh;qh.refCount=function(){return $h.operate((function(e,t){var n=null;e._refCount++;var r=Jh.createOperatorSubscriber(t,void 0,void 0,void 0,(function(){if(!e||e._refCount<=0||0<--e._refCount)n=null;else{var r=e._connection,o=n;n=null,!r||o&&r!==o||r.unsubscribe(),t.unsubscribe()}}));e.subscribe(r),r.closed||(n=e.connect())}))};var Kh=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Dh,"__esModule",{value:!0}),Dh.ConnectableObservable=void 0;var Yh=th,Zh=qh,Xh=Gh,Qh=Bh,ep=function(e){function t(t,n){var r=e.call(this)||this;return r.source=t,r.subjectFactory=n,r._subject=null,r._refCount=0,r._connection=null,Qh.hasLift(t)&&(r.lift=t.lift),r}return Kh(t,e),t.prototype._subscribe=function(e){return this.getSubject().subscribe(e)},t.prototype.getSubject=function(){var e=this._subject;return e&&!e.isStopped||(this._subject=this.subjectFactory()),this._subject},t.prototype._teardown=function(){this._refCount=0;var e=this._connection;this._subject=this._connection=null,null==e||e.unsubscribe()},t.prototype.connect=function(){var e=this,t=this._connection;if(!t){t=this._connection=new Yh.Subscription;var n=this.getSubject();t.add(this.source.subscribe(Xh.createOperatorSubscriber(n,void 0,(function(){e._teardown(),n.complete()}),(function(t){e._teardown(),n.error(t)}),(function(){return e._teardown()})))),t.closed&&(this._connection=null,t=Yh.Subscription.EMPTY)}return t},t.prototype.refCount=function(){return Zh.refCount()(this)},t}(Xd.Observable);Dh.ConnectableObservable=ep;var tp={},np={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.performanceTimestampProvider=void 0,e.performanceTimestampProvider={now:function(){return(e.performanceTimestampProvider.delegate||performance).now()},delegate:void 0}}(np);var rp={};!function(e){var t=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},n=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(e,"__esModule",{value:!0}),e.animationFrameProvider=void 0;var r=th;e.animationFrameProvider={schedule:function(t){var n=requestAnimationFrame,o=cancelAnimationFrame,i=e.animationFrameProvider.delegate;i&&(n=i.requestAnimationFrame,o=i.cancelAnimationFrame);var a=n((function(e){o=void 0,t(e)}));return new r.Subscription((function(){return null==o?void 0:o(a)}))},requestAnimationFrame:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(){for(var r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];var i=e.animationFrameProvider.delegate;return((null==i?void 0:i.requestAnimationFrame)||requestAnimationFrame).apply(void 0,n([],t(r)))})),cancelAnimationFrame:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(){for(var r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];var i=e.animationFrameProvider.delegate;return((null==i?void 0:i.cancelAnimationFrame)||cancelAnimationFrame).apply(void 0,n([],t(r)))})),delegate:void 0}}(rp),Object.defineProperty(tp,"__esModule",{value:!0}),tp.animationFrames=void 0;var op=Xd,ip=np,ap=rp;function sp(e){return new op.Observable((function(t){var n=e||ip.performanceTimestampProvider,r=n.now(),o=0;return function i(){t.closed||(o=ap.animationFrameProvider.requestAnimationFrame((function(a){o=0;var s=n.now();t.next({timestamp:e?s:a,elapsed:s-r}),i()})))}(),function(){o&&ap.animationFrameProvider.cancelAnimationFrame(o)}}))}tp.animationFrames=function(e){return e?sp(e):up};var up=sp(),cp={},lp={};Object.defineProperty(lp,"__esModule",{value:!0}),lp.ObjectUnsubscribedError=void 0,lp.ObjectUnsubscribedError=rh.createErrorClass((function(e){return function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}));var fp=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),dp=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(cp,"__esModule",{value:!0}),cp.AnonymousSubject=cp.Subject=void 0;var hp=Xd,pp=th,mp=lp,gp=oh,yp=wh,vp=function(e){function t(){var t=e.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return fp(t,e),t.prototype.lift=function(e){var t=new _p(this,this);return t.operator=e,t},t.prototype._throwIfClosed=function(){if(this.closed)throw new mp.ObjectUnsubscribedError},t.prototype.next=function(e){var t=this;yp.errorContext((function(){var n,r;if(t._throwIfClosed(),!t.isStopped){t.currentObservers||(t.currentObservers=Array.from(t.observers));try{for(var o=dp(t.currentObservers),i=o.next();!i.done;i=o.next())i.value.next(e)}catch(e){n={error:e}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}}}))},t.prototype.error=function(e){var t=this;yp.errorContext((function(){if(t._throwIfClosed(),!t.isStopped){t.hasError=t.isStopped=!0,t.thrownError=e;for(var n=t.observers;n.length;)n.shift().error(e)}}))},t.prototype.complete=function(){var e=this;yp.errorContext((function(){if(e._throwIfClosed(),!e.isStopped){e.isStopped=!0;for(var t=e.observers;t.length;)t.shift().complete()}}))},t.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(t.prototype,"observed",{get:function(){var e;return(null===(e=this.observers)||void 0===e?void 0:e.length)>0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(t){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,t)},t.prototype._subscribe=function(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)},t.prototype._innerSubscribe=function(e){var t=this,n=this,r=n.observers;return n.hasError||n.isStopped?pp.EMPTY_SUBSCRIPTION:(this.currentObservers=null,r.push(e),new pp.Subscription((function(){t.currentObservers=null,gp.arrRemove(r,e)})))},t.prototype._checkFinalizedStatuses=function(e){var t=this,n=t.isStopped;t.hasError?e.error(t.thrownError):n&&e.complete()},t.prototype.asObservable=function(){var e=new hp.Observable;return e.source=this,e},t.create=function(e,t){return new _p(e,t)},t}(hp.Observable);cp.Subject=vp;var _p=function(e){function t(t,n){var r=e.call(this)||this;return r.destination=t,r.source=n,r}return fp(t,e),t.prototype.next=function(e){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===n||n.call(t,e)},t.prototype.error=function(e){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===n||n.call(t,e)},t.prototype.complete=function(){var e,t;null===(t=null===(e=this.destination)||void 0===e?void 0:e.complete)||void 0===t||t.call(e)},t.prototype._subscribe=function(e){var t,n;return null!==(n=null===(t=this.source)||void 0===t?void 0:t.subscribe(e))&&void 0!==n?n:pp.EMPTY_SUBSCRIPTION},t}(vp);cp.AnonymousSubject=_p;var bp={},wp=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(bp,"__esModule",{value:!0}),bp.BehaviorSubject=void 0;var Sp=function(e){function t(t){var n=e.call(this)||this;return n._value=t,n}return wp(t,e),Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),t.prototype._subscribe=function(t){var n=e.prototype._subscribe.call(this,t);return!n.closed&&t.next(this._value),n},t.prototype.getValue=function(){var e=this,t=e._value;if(e.hasError)throw e.thrownError;return this._throwIfClosed(),t},t.prototype.next=function(t){e.prototype.next.call(this,this._value=t)},t}(cp.Subject);bp.BehaviorSubject=Sp;var xp={},kp={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.dateTimestampProvider=void 0,e.dateTimestampProvider={now:function(){return(e.dateTimestampProvider.delegate||Date).now()},delegate:void 0}}(kp);var Ep=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(xp,"__esModule",{value:!0}),xp.ReplaySubject=void 0;var Ap=kp,Cp=function(e){function t(t,n,r){void 0===t&&(t=Infinity),void 0===n&&(n=Infinity),void 0===r&&(r=Ap.dateTimestampProvider);var o=e.call(this)||this;return o._bufferSize=t,o._windowTime=n,o._timestampProvider=r,o._buffer=[],o._infiniteTimeWindow=!0,o._infiniteTimeWindow=Infinity===n,o._bufferSize=Math.max(1,t),o._windowTime=Math.max(1,n),o}return Ep(t,e),t.prototype.next=function(t){var n=this,r=n._buffer,o=n._infiniteTimeWindow,i=n._timestampProvider,a=n._windowTime;n.isStopped||(r.push(t),!o&&r.push(i.now()+a)),this._trimBuffer(),e.prototype.next.call(this,t)},t.prototype._subscribe=function(e){this._throwIfClosed(),this._trimBuffer();for(var t=this._innerSubscribe(e),n=this._infiniteTimeWindow,r=this._buffer.slice(),o=0;o<r.length&&!e.closed;o+=n?1:2)e.next(r[o]);return this._checkFinalizedStatuses(e),t},t.prototype._trimBuffer=function(){var e=this,t=e._bufferSize,n=e._timestampProvider,r=e._buffer,o=e._infiniteTimeWindow,i=(o?1:2)*t;if(t<Infinity&&i<r.length&&r.splice(0,r.length-i),!o){for(var a=n.now(),s=0,u=1;u<r.length&&r[u]<=a;u+=2)s=u;s&&r.splice(0,s+1)}},t}(cp.Subject);xp.ReplaySubject=Cp;var Op={},Rp=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Op,"__esModule",{value:!0}),Op.AsyncSubject=void 0;var Np=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._value=null,t._hasValue=!1,t._isComplete=!1,t}return Rp(t,e),t.prototype._checkFinalizedStatuses=function(e){var t=this,n=t._hasValue,r=t._value,o=t.isStopped,i=t._isComplete;t.hasError?e.error(t.thrownError):(o||i)&&(n&&e.next(r),e.complete())},t.prototype.next=function(e){this.isStopped||(this._value=e,this._hasValue=!0)},t.prototype.complete=function(){var t=this,n=t._hasValue,r=t._value;t._isComplete||(this._isComplete=!0,n&&e.prototype.next.call(this,r),e.prototype.complete.call(this))},t}(cp.Subject);Op.AsyncSubject=Np;var Ip={},Pp={},Tp={},Mp={},jp=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Mp,"__esModule",{value:!0}),Mp.Action=void 0,Mp.Action=function(e){function t(t,n){return e.call(this)||this}return jp(t,e),t.prototype.schedule=function(e,t){return this},t}(th.Subscription);var Fp={};!function(e){var t=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},n=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(e,"__esModule",{value:!0}),e.intervalProvider=void 0,e.intervalProvider={setInterval:function(e){function t(t,n){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(r,o){for(var i=[],a=2;a<arguments.length;a++)i[a-2]=arguments[a];var s=e.intervalProvider.delegate;return(null==s?void 0:s.setInterval)?s.setInterval.apply(s,n([r,o],t(i))):setInterval.apply(void 0,n([r,o],t(i)))})),clearInterval:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(t){var n=e.intervalProvider.delegate;return((null==n?void 0:n.clearInterval)||clearInterval)(t)})),delegate:void 0}}(Fp);var Lp=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Tp,"__esModule",{value:!0}),Tp.AsyncAction=void 0;var Dp=Fp,qp=oh,Bp=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r.pending=!1,r}return Lp(t,e),t.prototype.schedule=function(e,t){var n;if(void 0===t&&(t=0),this.closed)return this;this.state=e;var r=this.id,o=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(o,r,t)),this.pending=!0,this.delay=t,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(o,this.id,t),this},t.prototype.requestAsyncId=function(e,t,n){return void 0===n&&(n=0),Dp.intervalProvider.setInterval(e.flush.bind(e,this),n)},t.prototype.recycleAsyncId=function(e,t,n){if(void 0===n&&(n=0),null!=n&&this.delay===n&&!1===this.pending)return t;null!=t&&Dp.intervalProvider.clearInterval(t)},t.prototype.execute=function(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(e,t);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(e,t){var n,r=!1;try{this.work(e)}catch(e){r=!0,n=e||new Error("Scheduled action threw falsy error")}if(r)return this.unsubscribe(),n},t.prototype.unsubscribe=function(){if(!this.closed){var t=this.id,n=this.scheduler,r=n.actions;this.work=this.state=this.scheduler=null,this.pending=!1,qp.arrRemove(r,this),null!=t&&(this.id=this.recycleAsyncId(n,t,null)),this.delay=null,e.prototype.unsubscribe.call(this)}},t}(Mp.Action);Tp.AsyncAction=Bp;var Up={},zp={};Object.defineProperty(zp,"__esModule",{value:!0}),zp.TestTools=zp.Immediate=void 0;var Gp,Hp=1,Wp={};function Vp(e){return e in Wp&&(delete Wp[e],!0)}zp.Immediate={setImmediate:function(e){var t=Hp++;return Wp[t]=!0,Gp||(Gp=Promise.resolve()),Gp.then((function(){return Vp(t)&&e()})),t},clearImmediate:function(e){Vp(e)}},zp.TestTools={pending:function(){return Object.keys(Wp).length}},function(e){var t=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},n=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(e,"__esModule",{value:!0}),e.immediateProvider=void 0;var r=zp.Immediate.setImmediate,o=zp.Immediate.clearImmediate;e.immediateProvider={setImmediate:function(){for(var o=[],i=0;i<arguments.length;i++)o[i]=arguments[i];var a=e.immediateProvider.delegate;return((null==a?void 0:a.setImmediate)||r).apply(void 0,n([],t(o)))},clearImmediate:function(t){var n=e.immediateProvider.delegate;return((null==n?void 0:n.clearImmediate)||o)(t)},delegate:void 0}}(Up);var $p=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Pp,"__esModule",{value:!0}),Pp.AsapAction=void 0;var Jp=Up;Pp.AsapAction=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r}return $p(t,e),t.prototype.requestAsyncId=function(t,n,r){return void 0===r&&(r=0),null!==r&&r>0?e.prototype.requestAsyncId.call(this,t,n,r):(t.actions.push(this),t._scheduled||(t._scheduled=Jp.immediateProvider.setImmediate(t.flush.bind(t,void 0))))},t.prototype.recycleAsyncId=function(t,n,r){var o;if(void 0===r&&(r=0),null!=r?r>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,t,n,r);var i=t.actions;null!=n&&(null===(o=i[i.length-1])||void 0===o?void 0:o.id)!==n&&(Jp.immediateProvider.clearImmediate(n),t._scheduled===n&&(t._scheduled=void 0))},t}(Tp.AsyncAction);var Kp={},Yp={},Zp={};Object.defineProperty(Zp,"__esModule",{value:!0}),Zp.Scheduler=void 0;var Xp=kp;Zp.Scheduler=function(){function e(t,n){void 0===n&&(n=e.now),this.schedulerActionCtor=t,this.now=n}return e.prototype.schedule=function(e,t,n){return void 0===t&&(t=0),new this.schedulerActionCtor(this,e).schedule(n,t)},e.now=Xp.dateTimestampProvider.now,e}();var Qp=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Yp,"__esModule",{value:!0}),Yp.AsyncScheduler=void 0;var em=Zp;Yp.AsyncScheduler=function(e){function t(t,n){void 0===n&&(n=em.Scheduler.now);var r=e.call(this,t,n)||this;return r.actions=[],r._active=!1,r}return Qp(t,e),t.prototype.flush=function(e){var t=this.actions;if(this._active)t.push(e);else{var n;this._active=!0;do{if(n=e.execute(e.state,e.delay))break}while(e=t.shift());if(this._active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}},t}(em.Scheduler);var tm=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Kp,"__esModule",{value:!0}),Kp.AsapScheduler=void 0;var nm=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return tm(t,e),t.prototype.flush=function(e){this._active=!0;var t=this._scheduled;this._scheduled=void 0;var n,r=this.actions;e=e||r.shift();do{if(n=e.execute(e.state,e.delay))break}while((e=r[0])&&e.id===t&&r.shift());if(this._active=!1,n){for(;(e=r[0])&&e.id===t&&r.shift();)e.unsubscribe();throw n}},t}(Yp.AsyncScheduler);Kp.AsapScheduler=nm,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.asap=e.asapScheduler=void 0,e.asapScheduler=new Kp.AsapScheduler(Pp.AsapAction),e.asap=e.asapScheduler}(Ip);var rm={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.async=e.asyncScheduler=void 0,e.asyncScheduler=new Yp.AsyncScheduler(Tp.AsyncAction),e.async=e.asyncScheduler}(rm);var om={},im={},am=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(im,"__esModule",{value:!0}),im.QueueAction=void 0,im.QueueAction=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r}return am(t,e),t.prototype.schedule=function(t,n){return void 0===n&&(n=0),n>0?e.prototype.schedule.call(this,t,n):(this.delay=n,this.state=t,this.scheduler.flush(this),this)},t.prototype.execute=function(t,n){return n>0||this.closed?e.prototype.execute.call(this,t,n):this._execute(t,n)},t.prototype.requestAsyncId=function(t,n,r){return void 0===r&&(r=0),null!=r&&r>0||null==r&&this.delay>0?e.prototype.requestAsyncId.call(this,t,n,r):(t.flush(this),0)},t}(Tp.AsyncAction);var sm={},um=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(sm,"__esModule",{value:!0}),sm.QueueScheduler=void 0;var cm=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return um(t,e),t}(Yp.AsyncScheduler);sm.QueueScheduler=cm,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.queue=e.queueScheduler=void 0,e.queueScheduler=new sm.QueueScheduler(im.QueueAction),e.queue=e.queueScheduler}(om);var lm={},fm={},dm=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(fm,"__esModule",{value:!0}),fm.AnimationFrameAction=void 0;var hm=rp;fm.AnimationFrameAction=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r}return dm(t,e),t.prototype.requestAsyncId=function(t,n,r){return void 0===r&&(r=0),null!==r&&r>0?e.prototype.requestAsyncId.call(this,t,n,r):(t.actions.push(this),t._scheduled||(t._scheduled=hm.animationFrameProvider.requestAnimationFrame((function(){return t.flush(void 0)}))))},t.prototype.recycleAsyncId=function(t,n,r){var o;if(void 0===r&&(r=0),null!=r?r>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,t,n,r);var i=t.actions;null!=n&&(null===(o=i[i.length-1])||void 0===o?void 0:o.id)!==n&&(hm.animationFrameProvider.cancelAnimationFrame(n),t._scheduled=void 0)},t}(Tp.AsyncAction);var pm={},mm=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(pm,"__esModule",{value:!0}),pm.AnimationFrameScheduler=void 0;var gm=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return mm(t,e),t.prototype.flush=function(e){this._active=!0;var t=this._scheduled;this._scheduled=void 0;var n,r=this.actions;e=e||r.shift();do{if(n=e.execute(e.state,e.delay))break}while((e=r[0])&&e.id===t&&r.shift());if(this._active=!1,n){for(;(e=r[0])&&e.id===t&&r.shift();)e.unsubscribe();throw n}},t}(Yp.AsyncScheduler);pm.AnimationFrameScheduler=gm,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.animationFrame=e.animationFrameScheduler=void 0,e.animationFrameScheduler=new pm.AnimationFrameScheduler(fm.AnimationFrameAction),e.animationFrame=e.animationFrameScheduler}(lm);var ym={},vm=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(ym,"__esModule",{value:!0}),ym.VirtualAction=ym.VirtualTimeScheduler=void 0;var _m=Tp,bm=th;ym.VirtualTimeScheduler=function(e){function t(t,n){void 0===t&&(t=wm),void 0===n&&(n=Infinity);var r=e.call(this,t,(function(){return r.frame}))||this;return r.maxFrames=n,r.frame=0,r.index=-1,r}return vm(t,e),t.prototype.flush=function(){for(var e,t,n=this.actions,r=this.maxFrames;(t=n[0])&&t.delay<=r&&(n.shift(),this.frame=t.delay,!(e=t.execute(t.state,t.delay))););if(e){for(;t=n.shift();)t.unsubscribe();throw e}},t.frameTimeFactor=10,t}(Yp.AsyncScheduler);var wm=function(e){function t(t,n,r){void 0===r&&(r=t.index+=1);var o=e.call(this,t,n)||this;return o.scheduler=t,o.work=n,o.index=r,o.active=!0,o.index=t.index=r,o}return vm(t,e),t.prototype.schedule=function(n,r){if(void 0===r&&(r=0),Number.isFinite(r)){if(!this.id)return e.prototype.schedule.call(this,n,r);this.active=!1;var o=new t(this.scheduler,this.work);return this.add(o),o.schedule(n,r)}return bm.Subscription.EMPTY},t.prototype.requestAsyncId=function(e,n,r){void 0===r&&(r=0),this.delay=e.frame+r;var o=e.actions;return o.push(this),o.sort(t.sortActions),1},t.prototype.recycleAsyncId=function(e,t,n){},t.prototype._execute=function(t,n){if(!0===this.active)return e.prototype._execute.call(this,t,n)},t.sortActions=function(e,t){return e.delay===t.delay?e.index===t.index?0:e.index>t.index?1:-1:e.delay>t.delay?1:-1},t}(_m.AsyncAction);ym.VirtualAction=wm;var Sm={},xm={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.empty=e.EMPTY=void 0;var t=Xd;e.EMPTY=new t.Observable((function(e){return e.complete()})),e.empty=function(n){return n?function(e){return new t.Observable((function(t){return e.schedule((function(){return t.complete()}))}))}(n):e.EMPTY}}(xm);var km={},Em={},Am={};Object.defineProperty(Am,"__esModule",{value:!0}),Am.isScheduler=void 0;var Cm=eh;Am.isScheduler=function(e){return e&&Cm.isFunction(e.schedule)},Object.defineProperty(Em,"__esModule",{value:!0}),Em.popNumber=Em.popScheduler=Em.popResultSelector=void 0;var Om=eh,Rm=Am;function Nm(e){return e[e.length-1]}Em.popResultSelector=function(e){return Om.isFunction(Nm(e))?e.pop():void 0},Em.popScheduler=function(e){return Rm.isScheduler(Nm(e))?e.pop():void 0},Em.popNumber=function(e,t){return"number"==typeof Nm(e)?e.pop():t};var Im={},Pm={},Tm={},Mm={},jm={};Object.defineProperty(jm,"__esModule",{value:!0}),jm.isArrayLike=void 0,jm.isArrayLike=function(e){return e&&"number"==typeof e.length&&"function"!=typeof e};var Fm={};Object.defineProperty(Fm,"__esModule",{value:!0}),Fm.isPromise=void 0;var Lm=eh;Fm.isPromise=function(e){return Lm.isFunction(null==e?void 0:e.then)};var Dm={};Object.defineProperty(Dm,"__esModule",{value:!0}),Dm.isInteropObservable=void 0;var qm=kh,Bm=eh;Dm.isInteropObservable=function(e){return Bm.isFunction(e[qm.observable])};var Um={};Object.defineProperty(Um,"__esModule",{value:!0}),Um.isAsyncIterable=void 0;var zm=eh;Um.isAsyncIterable=function(e){return Symbol.asyncIterator&&zm.isFunction(null==e?void 0:e[Symbol.asyncIterator])};var Gm={};Object.defineProperty(Gm,"__esModule",{value:!0}),Gm.createInvalidObservableTypeError=void 0,Gm.createInvalidObservableTypeError=function(e){return new TypeError("You provided "+(null!==e&&"object"===Z(e)?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")};var Hm={},Wm={};function Vm(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}Object.defineProperty(Wm,"__esModule",{value:!0}),Wm.iterator=Wm.getSymbolIterator=void 0,Wm.getSymbolIterator=Vm,Wm.iterator=Vm(),Object.defineProperty(Hm,"__esModule",{value:!0}),Hm.isIterable=void 0;var $m=Wm,Jm=eh;Hm.isIterable=function(e){return Jm.isFunction(null==e?void 0:e[$m.iterator])};var Km={},Ym=q&&q.__generator||function(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}},Zm=q&&q.__await||function(e){return this instanceof Zm?(this.v=e,this):new Zm(e)},Xm=q&&q.__asyncGenerator||function(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=n.apply(e,t||[]),i=[];return r={},a("next"),a("throw"),a("return"),r[Symbol.asyncIterator]=function(){return this},r;function a(e){o[e]&&(r[e]=function(t){return new Promise((function(n,r){i.push([e,t,n,r])>1||s(e,t)}))})}function s(e,t){try{!function(e){e.value instanceof Zm?Promise.resolve(e.value.v).then(u,c):l(i[0][2],e)}(o[e](t))}catch(e){l(i[0][3],e)}}function u(e){s("next",e)}function c(e){s("throw",e)}function l(e,t){e(t),i.shift(),i.length&&s(i[0][0],i[0][1])}};Object.defineProperty(Km,"__esModule",{value:!0}),Km.isReadableStreamLike=Km.readableStreamLikeToAsyncGenerator=void 0;var Qm=eh;Km.readableStreamLikeToAsyncGenerator=function(e){return Xm(this,arguments,(function(){var t,n,r;return Ym(this,(function(o){switch(o.label){case 0:t=e.getReader(),o.label=1;case 1:o.trys.push([1,,9,10]),o.label=2;case 2:return[4,Zm(t.read())];case 3:return n=o.sent(),r=n.value,n.done?[4,Zm(void 0)]:[3,5];case 4:return[2,o.sent()];case 5:return[4,Zm(r)];case 6:return[4,o.sent()];case 7:return o.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}}))}))},Km.isReadableStreamLike=function(e){return Qm.isFunction(null==e?void 0:e.getReader)};var eg=q&&q.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{u(r.next(e))}catch(e){i(e)}}function s(e){try{u(r.throw(e))}catch(e){i(e)}}function u(e){e.done?o(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}u((r=r.apply(e,t||[])).next())}))},tg=q&&q.__generator||function(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}},ng=q&&q.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e="function"==typeof rg?rg(e):e[Symbol.iterator](),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){!function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)}(r,o,(t=e[n](t)).done,t.value)}))}}},rg=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(Mm,"__esModule",{value:!0}),Mm.fromReadableStreamLike=Mm.fromAsyncIterable=Mm.fromIterable=Mm.fromPromise=Mm.fromArrayLike=Mm.fromInteropObservable=Mm.innerFrom=void 0;var og=jm,ig=Fm,ag=Xd,sg=Dm,ug=Um,cg=Gm,lg=Hm,fg=Km,dg=eh,hg=ph,pg=kh;function mg(e){return new ag.Observable((function(t){var n=e[pg.observable]();if(dg.isFunction(n.subscribe))return n.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")}))}function gg(e){return new ag.Observable((function(t){for(var n=0;n<e.length&&!t.closed;n++)t.next(e[n]);t.complete()}))}function yg(e){return new ag.Observable((function(t){e.then((function(e){t.closed||(t.next(e),t.complete())}),(function(e){return t.error(e)})).then(null,hg.reportUnhandledError)}))}function vg(e){return new ag.Observable((function(t){var n,r;try{for(var o=rg(e),i=o.next();!i.done;i=o.next())if(t.next(i.value),t.closed)return}catch(e){n={error:e}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}t.complete()}))}function _g(e){return new ag.Observable((function(t){(function(e,t){var n,r,o,i;return eg(this,void 0,void 0,(function(){var a;return tg(this,(function(s){switch(s.label){case 0:s.trys.push([0,5,6,11]),n=ng(e),s.label=1;case 1:return[4,n.next()];case 2:if((r=s.sent()).done)return[3,4];if(t.next(r.value),t.closed)return[2];s.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return a=s.sent(),o={error:a},[3,11];case 6:return s.trys.push([6,,9,10]),r&&!r.done&&(i=n.return)?[4,i.call(n)]:[3,8];case 7:s.sent(),s.label=8;case 8:return[3,10];case 9:if(o)throw o.error;return[7];case 10:return[7];case 11:return t.complete(),[2]}}))}))})(e,t).catch((function(e){return t.error(e)}))}))}function bg(e){return _g(fg.readableStreamLikeToAsyncGenerator(e))}Mm.innerFrom=function(e){if(e instanceof ag.Observable)return e;if(null!=e){if(sg.isInteropObservable(e))return mg(e);if(og.isArrayLike(e))return gg(e);if(ig.isPromise(e))return yg(e);if(ug.isAsyncIterable(e))return _g(e);if(lg.isIterable(e))return vg(e);if(fg.isReadableStreamLike(e))return bg(e)}throw cg.createInvalidObservableTypeError(e)},Mm.fromInteropObservable=mg,Mm.fromArrayLike=gg,Mm.fromPromise=yg,Mm.fromIterable=vg,Mm.fromAsyncIterable=_g,Mm.fromReadableStreamLike=bg;var wg={},Sg={};Object.defineProperty(Sg,"__esModule",{value:!0}),Sg.executeSchedule=void 0,Sg.executeSchedule=function(e,t,n,r,o){void 0===r&&(r=0),void 0===o&&(o=!1);var i=t.schedule((function(){n(),o?e.add(this.schedule(null,r)):this.unsubscribe()}),r);if(e.add(i),!o)return i},Object.defineProperty(wg,"__esModule",{value:!0}),wg.observeOn=void 0;var xg=Sg,kg=Bh,Eg=Gh;wg.observeOn=function(e,t){return void 0===t&&(t=0),kg.operate((function(n,r){n.subscribe(Eg.createOperatorSubscriber(r,(function(n){return xg.executeSchedule(r,e,(function(){return r.next(n)}),t)}),(function(){return xg.executeSchedule(r,e,(function(){return r.complete()}),t)}),(function(n){return xg.executeSchedule(r,e,(function(){return r.error(n)}),t)})))}))};var Ag={};Object.defineProperty(Ag,"__esModule",{value:!0}),Ag.subscribeOn=void 0;var Cg=Bh;Ag.subscribeOn=function(e,t){return void 0===t&&(t=0),Cg.operate((function(n,r){r.add(e.schedule((function(){return n.subscribe(r)}),t))}))},Object.defineProperty(Tm,"__esModule",{value:!0}),Tm.scheduleObservable=void 0;var Og=Mm,Rg=wg,Ng=Ag;Tm.scheduleObservable=function(e,t){return Og.innerFrom(e).pipe(Ng.subscribeOn(t),Rg.observeOn(t))};var Ig={};Object.defineProperty(Ig,"__esModule",{value:!0}),Ig.schedulePromise=void 0;var Pg=Mm,Tg=wg,Mg=Ag;Ig.schedulePromise=function(e,t){return Pg.innerFrom(e).pipe(Mg.subscribeOn(t),Tg.observeOn(t))};var jg={};Object.defineProperty(jg,"__esModule",{value:!0}),jg.scheduleArray=void 0;var Fg=Xd;jg.scheduleArray=function(e,t){return new Fg.Observable((function(n){var r=0;return t.schedule((function(){r===e.length?n.complete():(n.next(e[r++]),n.closed||this.schedule())}))}))};var Lg={};Object.defineProperty(Lg,"__esModule",{value:!0}),Lg.scheduleIterable=void 0;var Dg=Xd,qg=Wm,Bg=eh,Ug=Sg;Lg.scheduleIterable=function(e,t){return new Dg.Observable((function(n){var r;return Ug.executeSchedule(n,t,(function(){r=e[qg.iterator](),Ug.executeSchedule(n,t,(function(){var e,t,o;try{t=(e=r.next()).value,o=e.done}catch(e){return void n.error(e)}o?n.complete():n.next(t)}),0,!0)})),function(){return Bg.isFunction(null==r?void 0:r.return)&&r.return()}}))};var zg={};Object.defineProperty(zg,"__esModule",{value:!0}),zg.scheduleAsyncIterable=void 0;var Gg=Xd,Hg=Sg;zg.scheduleAsyncIterable=function(e,t){if(!e)throw new Error("Iterable cannot be null");return new Gg.Observable((function(n){Hg.executeSchedule(n,t,(function(){var r=e[Symbol.asyncIterator]();Hg.executeSchedule(n,t,(function(){r.next().then((function(e){e.done?n.complete():n.next(e.value)}))}),0,!0)}))}))};var Wg={};Object.defineProperty(Wg,"__esModule",{value:!0}),Wg.scheduleReadableStreamLike=void 0;var Vg=zg,$g=Km;Wg.scheduleReadableStreamLike=function(e,t){return Vg.scheduleAsyncIterable($g.readableStreamLikeToAsyncGenerator(e),t)},Object.defineProperty(Pm,"__esModule",{value:!0}),Pm.scheduled=void 0;var Jg=Tm,Kg=Ig,Yg=jg,Zg=Lg,Xg=zg,Qg=Dm,ey=Fm,ty=jm,ny=Hm,ry=Um,oy=Gm,iy=Km,ay=Wg;Pm.scheduled=function(e,t){if(null!=e){if(Qg.isInteropObservable(e))return Jg.scheduleObservable(e,t);if(ty.isArrayLike(e))return Yg.scheduleArray(e,t);if(ey.isPromise(e))return Kg.schedulePromise(e,t);if(ry.isAsyncIterable(e))return Xg.scheduleAsyncIterable(e,t);if(ny.isIterable(e))return Zg.scheduleIterable(e,t);if(iy.isReadableStreamLike(e))return ay.scheduleReadableStreamLike(e,t)}throw oy.createInvalidObservableTypeError(e)},Object.defineProperty(Im,"__esModule",{value:!0}),Im.from=void 0;var sy=Pm,uy=Mm;Im.from=function(e,t){return t?sy.scheduled(e,t):uy.innerFrom(e)},Object.defineProperty(km,"__esModule",{value:!0}),km.of=void 0;var cy=Em,ly=Im;km.of=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=cy.popScheduler(e);return ly.from(e,n)};var fy={};Object.defineProperty(fy,"__esModule",{value:!0}),fy.throwError=void 0;var dy=Xd,hy=eh;fy.throwError=function(e,t){var n=hy.isFunction(e)?e:function(){return e},r=function(e){return e.error(n())};return new dy.Observable(t?function(e){return t.schedule(r,0,e)}:r)},function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.observeNotification=e.Notification=e.NotificationKind=void 0;var t,n=xm,r=km,o=fy,i=eh;(t=e.NotificationKind||(e.NotificationKind={})).NEXT="N",t.ERROR="E",t.COMPLETE="C";var a=function(){function e(e,t,n){this.kind=e,this.value=t,this.error=n,this.hasValue="N"===e}return e.prototype.observe=function(e){return s(this,e)},e.prototype.do=function(e,t,n){var r=this,o=r.kind,i=r.error;return"N"===o?null==e?void 0:e(r.value):"E"===o?null==t?void 0:t(i):null==n?void 0:n()},e.prototype.accept=function(e,t,n){var r;return i.isFunction(null===(r=e)||void 0===r?void 0:r.next)?this.observe(e):this.do(e,t,n)},e.prototype.toObservable=function(){var e=this,t=e.kind,i=e.error,a="N"===t?r.of(e.value):"E"===t?o.throwError((function(){return i})):"C"===t?n.EMPTY:0;if(!a)throw new TypeError("Unexpected notification kind "+t);return a},e.createNext=function(t){return new e("N",t)},e.createError=function(t){return new e("E",void 0,t)},e.createComplete=function(){return e.completeNotification},e.completeNotification=new e("C"),e}();function s(e,t){var n,r,o,i=e.kind,a=e.value,s=e.error;if("string"!=typeof i)throw new TypeError('Invalid notification, missing "kind"');"N"===i?null===(n=t.next)||void 0===n||n.call(t,a):"E"===i?null===(r=t.error)||void 0===r||r.call(t,s):null===(o=t.complete)||void 0===o||o.call(t)}e.Notification=a,e.observeNotification=s}(Sm);var py={};Object.defineProperty(py,"__esModule",{value:!0}),py.isObservable=void 0;var my=Xd,gy=eh;py.isObservable=function(e){return!!e&&(e instanceof my.Observable||gy.isFunction(e.lift)&&gy.isFunction(e.subscribe))};var yy={},vy={};Object.defineProperty(vy,"__esModule",{value:!0}),vy.EmptyError=void 0,vy.EmptyError=rh.createErrorClass((function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}})),Object.defineProperty(yy,"__esModule",{value:!0}),yy.lastValueFrom=void 0;var _y=vy;yy.lastValueFrom=function(e,t){var n="object"===Z(t);return new Promise((function(r,o){var i,a=!1;e.subscribe({next:function(e){i=e,a=!0},error:o,complete:function(){a?r(i):n?r(t.defaultValue):o(new _y.EmptyError)}})}))};var by={};Object.defineProperty(by,"__esModule",{value:!0}),by.firstValueFrom=void 0;var wy=vy,Sy=Qd;by.firstValueFrom=function(e,t){var n="object"===Z(t);return new Promise((function(r,o){var i=new Sy.SafeSubscriber({next:function(e){r(e),i.unsubscribe()},error:o,complete:function(){n?r(t.defaultValue):o(new wy.EmptyError)}});e.subscribe(i)}))};var xy={};Object.defineProperty(xy,"__esModule",{value:!0}),xy.ArgumentOutOfRangeError=void 0,xy.ArgumentOutOfRangeError=rh.createErrorClass((function(e){return function(){e(this),this.name="ArgumentOutOfRangeError",this.message="argument out of range"}}));var ky={};Object.defineProperty(ky,"__esModule",{value:!0}),ky.NotFoundError=void 0,ky.NotFoundError=rh.createErrorClass((function(e){return function(t){e(this),this.name="NotFoundError",this.message=t}}));var Ey={};Object.defineProperty(Ey,"__esModule",{value:!0}),Ey.SequenceError=void 0,Ey.SequenceError=rh.createErrorClass((function(e){return function(t){e(this),this.name="SequenceError",this.message=t}}));var Ay={},Cy={};Object.defineProperty(Cy,"__esModule",{value:!0}),Cy.isValidDate=void 0,Cy.isValidDate=function(e){return e instanceof Date&&!isNaN(e)},function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.timeout=e.TimeoutError=void 0;var t=rm,n=Cy,r=Bh,o=Mm,i=Gh,a=Sg;function s(t){throw new e.TimeoutError(t)}e.TimeoutError=rh.createErrorClass((function(e){return function(t){void 0===t&&(t=null),e(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=t}})),e.timeout=function(e,u){var c=n.isValidDate(e)?{first:e}:"number"==typeof e?{each:e}:e,l=c.first,f=c.each,d=c.with,h=void 0===d?s:d,p=c.scheduler,m=void 0===p?null!=u?u:t.asyncScheduler:p,g=c.meta,y=void 0===g?null:g;if(null==l&&null==f)throw new TypeError("No timeout provided.");return r.operate((function(e,t){var n,r,s=null,u=0,c=function(e){r=a.executeSchedule(t,m,(function(){try{n.unsubscribe(),o.innerFrom(h({meta:y,lastValue:s,seen:u})).subscribe(t)}catch(e){t.error(e)}}),e)};n=e.subscribe(i.createOperatorSubscriber(t,(function(e){null==r||r.unsubscribe(),u++,t.next(s=e),f>0&&c(f)}),void 0,void 0,(function(){(null==r?void 0:r.closed)||null==r||r.unsubscribe(),s=null}))),!u&&c(null!=l?"number"==typeof l?l:+l-m.now():f)}))}}(Ay);var Oy={},Ry={},Ny={},Iy={};Object.defineProperty(Iy,"__esModule",{value:!0}),Iy.map=void 0;var Py=Bh,Ty=Gh;Iy.map=function(e,t){return Py.operate((function(n,r){var o=0;n.subscribe(Ty.createOperatorSubscriber(r,(function(n){r.next(e.call(t,n,o++))})))}))};var My=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},jy=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Ny,"__esModule",{value:!0}),Ny.mapOneOrManyArgs=void 0;var Fy=Iy,Ly=Array.isArray;Ny.mapOneOrManyArgs=function(e){return Fy.map((function(t){return function(e,t){return Ly(t)?e.apply(void 0,jy([],My(t))):e(t)}(e,t)}))};var Dy=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},qy=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Ry,"__esModule",{value:!0}),Ry.bindCallbackInternals=void 0;var By=Am,Uy=Xd,zy=Ag,Gy=Ny,Hy=wg,Wy=Op;Ry.bindCallbackInternals=function e(t,n,r,o){if(r){if(!By.isScheduler(r))return function(){for(var i=[],a=0;a<arguments.length;a++)i[a]=arguments[a];return e(t,n,o).apply(this,i).pipe(Gy.mapOneOrManyArgs(r))};o=r}return o?function(){for(var r=[],i=0;i<arguments.length;i++)r[i]=arguments[i];return e(t,n).apply(this,r).pipe(zy.subscribeOn(o),Hy.observeOn(o))}:function(){for(var e=this,r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];var i=new Wy.AsyncSubject,a=!0;return new Uy.Observable((function(o){var s=i.subscribe(o);if(a){a=!1;var u=!1,c=!1;n.apply(e,qy(qy([],Dy(r)),[function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];if(t){var r=e.shift();if(null!=r)return void i.error(r)}i.next(1<e.length?e:e[0]),c=!0,u&&i.complete()}])),c&&i.complete(),u=!0}return s}))}},Object.defineProperty(Oy,"__esModule",{value:!0}),Oy.bindCallback=void 0;var Vy=Ry;Oy.bindCallback=function(e,t,n){return Vy.bindCallbackInternals(!1,e,t,n)};var $y={};Object.defineProperty($y,"__esModule",{value:!0}),$y.bindNodeCallback=void 0;var Jy=Ry;$y.bindNodeCallback=function(e,t,n){return Jy.bindCallbackInternals(!0,e,t,n)};var Ky={},Yy={};Object.defineProperty(Yy,"__esModule",{value:!0}),Yy.argsArgArrayOrObject=void 0;var Zy=Array.isArray,Xy=Object.getPrototypeOf,Qy=Object.prototype,ev=Object.keys;Yy.argsArgArrayOrObject=function(e){if(1===e.length){var t=e[0];if(Zy(t))return{args:t,keys:null};if((r=t)&&"object"===Z(r)&&Xy(r)===Qy){var n=ev(t);return{args:n.map((function(e){return t[e]})),keys:n}}}var r;return{args:e,keys:null}};var tv={};Object.defineProperty(tv,"__esModule",{value:!0}),tv.createObject=void 0,tv.createObject=function(e,t){return e.reduce((function(e,n,r){return e[n]=t[r],e}),{})},Object.defineProperty(Ky,"__esModule",{value:!0}),Ky.combineLatestInit=Ky.combineLatest=void 0;var nv=Xd,rv=Yy,ov=Im,iv=Ah,av=Ny,sv=Em,uv=tv,cv=Gh,lv=Sg;function fv(e,t,n){return void 0===n&&(n=iv.identity),function(r){dv(t,(function(){for(var o=e.length,i=new Array(o),a=o,s=o,u=function(o){dv(t,(function(){var u=ov.from(e[o],t),c=!1;u.subscribe(cv.createOperatorSubscriber(r,(function(e){i[o]=e,c||(c=!0,s--),s||r.next(n(i.slice()))}),(function(){--a||r.complete()})))}),r)},c=0;c<o;c++)u(c)}),r)}}function dv(e,t,n){e?lv.executeSchedule(n,e,t):t()}Ky.combineLatest=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=sv.popScheduler(e),r=sv.popResultSelector(e),o=rv.argsArgArrayOrObject(e),i=o.args,a=o.keys;if(0===i.length)return ov.from([],n);var s=new nv.Observable(fv(i,n,a?function(e){return uv.createObject(a,e)}:iv.identity));return r?s.pipe(av.mapOneOrManyArgs(r)):s},Ky.combineLatestInit=fv;var hv={},pv={},mv={},gv={},yv={};Object.defineProperty(yv,"__esModule",{value:!0}),yv.mergeInternals=void 0;var vv=Mm,_v=Sg,bv=Gh;yv.mergeInternals=function(e,t,n,r,o,i,a,s){var u=[],c=0,l=0,f=!1,d=function(){!f||u.length||c||t.complete()},h=function(e){return c<r?p(e):u.push(e)},p=function e(s){i&&t.next(s),c++;var f=!1;vv.innerFrom(n(s,l++)).subscribe(bv.createOperatorSubscriber(t,(function(e){null==o||o(e),i?h(e):t.next(e)}),(function(){f=!0}),void 0,(function(){if(f)try{c--;for(var n=function(){var n=u.shift();a?_v.executeSchedule(t,a,(function(){return e(n)})):e(n)};u.length&&c<r;)n();d()}catch(e){t.error(e)}})))};return e.subscribe(bv.createOperatorSubscriber(t,h,(function(){f=!0,d()}))),function(){null==s||s()}},Object.defineProperty(gv,"__esModule",{value:!0}),gv.mergeMap=void 0;var wv=Iy,Sv=Mm,xv=Bh,kv=yv,Ev=eh;gv.mergeMap=function e(t,n,r){return void 0===r&&(r=Infinity),Ev.isFunction(n)?e((function(e,r){return wv.map((function(t,o){return n(e,t,r,o)}))(Sv.innerFrom(t(e,r)))}),r):("number"==typeof n&&(r=n),xv.operate((function(e,n){return kv.mergeInternals(e,n,t,r)})))},Object.defineProperty(mv,"__esModule",{value:!0}),mv.mergeAll=void 0;var Av=gv,Cv=Ah;mv.mergeAll=function(e){return void 0===e&&(e=Infinity),Av.mergeMap(Cv.identity,e)},Object.defineProperty(pv,"__esModule",{value:!0}),pv.concatAll=void 0;var Ov=mv;pv.concatAll=function(){return Ov.mergeAll(1)},Object.defineProperty(hv,"__esModule",{value:!0}),hv.concat=void 0;var Rv=pv,Nv=Em,Iv=Im;hv.concat=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Rv.concatAll()(Iv.from(e,Nv.popScheduler(e)))};var Pv={},Tv={};Object.defineProperty(Tv,"__esModule",{value:!0}),Tv.defer=void 0;var Mv=Xd,jv=Mm;Tv.defer=function(e){return new Mv.Observable((function(t){jv.innerFrom(e()).subscribe(t)}))},Object.defineProperty(Pv,"__esModule",{value:!0}),Pv.connectable=void 0;var Fv=cp,Lv=Xd,Dv=Tv,qv={connector:function(){return new Fv.Subject},resetOnDisconnect:!0};Pv.connectable=function(e,t){void 0===t&&(t=qv);var n=null,r=t.connector,o=t.resetOnDisconnect,i=void 0===o||o,a=r(),s=new Lv.Observable((function(e){return a.subscribe(e)}));return s.connect=function(){return n&&!n.closed||(n=Dv.defer((function(){return e})).subscribe(a),i&&n.add((function(){return a=r()}))),n},s};var Bv={};Object.defineProperty(Bv,"__esModule",{value:!0}),Bv.forkJoin=void 0;var Uv=Xd,zv=Yy,Gv=Mm,Hv=Em,Wv=Gh,Vv=Ny,$v=tv;Bv.forkJoin=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=Hv.popResultSelector(e),r=zv.argsArgArrayOrObject(e),o=r.args,i=r.keys,a=new Uv.Observable((function(e){var t=o.length;if(t)for(var n=new Array(t),r=t,a=t,s=function(t){var s=!1;Gv.innerFrom(o[t]).subscribe(Wv.createOperatorSubscriber(e,(function(e){s||(s=!0,a--),n[t]=e}),(function(){return r--}),void 0,(function(){r&&s||(a||e.next(i?$v.createObject(i,n):n),e.complete())})))},u=0;u<t;u++)s(u);else e.complete()}));return n?a.pipe(Vv.mapOneOrManyArgs(n)):a};var Jv={},Kv=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a};Object.defineProperty(Jv,"__esModule",{value:!0}),Jv.fromEvent=void 0;var Yv=Mm,Zv=Xd,Xv=gv,Qv=jm,e_=eh,t_=Ny,n_=["addListener","removeListener"],r_=["addEventListener","removeEventListener"],o_=["on","off"];function i_(e,t){return function(n){return function(r){return e[n](t,r)}}}Jv.fromEvent=function e(t,n,r,o){if(e_.isFunction(r)&&(o=r,r=void 0),o)return e(t,n,r).pipe(t_.mapOneOrManyArgs(o));var i=Kv(function(e){return e_.isFunction(e.addEventListener)&&e_.isFunction(e.removeEventListener)}(t)?r_.map((function(e){return function(o){return t[e](n,o,r)}})):function(e){return e_.isFunction(e.addListener)&&e_.isFunction(e.removeListener)}(t)?n_.map(i_(t,n)):function(e){return e_.isFunction(e.on)&&e_.isFunction(e.off)}(t)?o_.map(i_(t,n)):[],2),a=i[0],s=i[1];if(!a&&Qv.isArrayLike(t))return Xv.mergeMap((function(t){return e(t,n,r)}))(Yv.innerFrom(t));if(!a)throw new TypeError("Invalid event target");return new Zv.Observable((function(e){var t=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return e.next(1<t.length?t:t[0])};return a(t),function(){return s(t)}}))};var a_={};Object.defineProperty(a_,"__esModule",{value:!0}),a_.fromEventPattern=void 0;var s_=Xd,u_=eh,c_=Ny;a_.fromEventPattern=function e(t,n,r){return r?e(t,n).pipe(c_.mapOneOrManyArgs(r)):new s_.Observable((function(e){var r=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return e.next(1===t.length?t[0]:t)},o=t(r);return u_.isFunction(n)?function(){return n(r,o)}:void 0}))};var l_={},f_=q&&q.__generator||function(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}};Object.defineProperty(l_,"__esModule",{value:!0}),l_.generate=void 0;var d_=Ah,h_=Am,p_=Tv,m_=Lg;l_.generate=function(e,t,n,r,o){var i,a,s,u;function c(){var e;return f_(this,(function(r){switch(r.label){case 0:e=u,r.label=1;case 1:return t&&!t(e)?[3,4]:[4,s(e)];case 2:r.sent(),r.label=3;case 3:return e=n(e),[3,1];case 4:return[2]}}))}return 1===arguments.length?(u=(i=e).initialState,t=i.condition,n=i.iterate,s=void 0===(a=i.resultSelector)?d_.identity:a,o=i.scheduler):(u=e,!r||h_.isScheduler(r)?(s=d_.identity,o=r):s=r),p_.defer(o?function(){return m_.scheduleIterable(c(),o)}:c)};var g_={};Object.defineProperty(g_,"__esModule",{value:!0}),g_.iif=void 0;var y_=Tv;g_.iif=function(e,t,n){return y_.defer((function(){return e()?t:n}))};var v_={},__={};Object.defineProperty(__,"__esModule",{value:!0}),__.timer=void 0;var b_=Xd,w_=rm,S_=Am,x_=Cy;__.timer=function(e,t,n){void 0===e&&(e=0),void 0===n&&(n=w_.async);var r=-1;return null!=t&&(S_.isScheduler(t)?n=t:r=t),new b_.Observable((function(t){var o=x_.isValidDate(e)?+e-n.now():e;o<0&&(o=0);var i=0;return n.schedule((function(){t.closed||(t.next(i++),0<=r?this.schedule(void 0,r):t.complete())}),o)}))},Object.defineProperty(v_,"__esModule",{value:!0}),v_.interval=void 0;var k_=rm,E_=__;v_.interval=function(e,t){return void 0===e&&(e=0),void 0===t&&(t=k_.asyncScheduler),e<0&&(e=0),E_.timer(e,e,t)};var A_={};Object.defineProperty(A_,"__esModule",{value:!0}),A_.merge=void 0;var C_=mv,O_=Mm,R_=xm,N_=Em,I_=Im;A_.merge=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=N_.popScheduler(e),r=N_.popNumber(e,Infinity),o=e;return o.length?1===o.length?O_.innerFrom(o[0]):C_.mergeAll(r)(I_.from(o,n)):R_.EMPTY};var P_={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.never=e.NEVER=void 0,e.NEVER=new Xd.Observable(vh.noop),e.never=function(){return e.NEVER}}(P_);var T_={},M_={};Object.defineProperty(M_,"__esModule",{value:!0}),M_.argsOrArgArray=void 0;var j_=Array.isArray;M_.argsOrArgArray=function(e){return 1===e.length&&j_(e[0])?e[0]:e},Object.defineProperty(T_,"__esModule",{value:!0}),T_.onErrorResumeNext=void 0;var F_=Xd,L_=M_,D_=Gh,q_=vh,B_=Mm;T_.onErrorResumeNext=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=L_.argsOrArgArray(e);return new F_.Observable((function(e){var t=0;!function r(){if(t<n.length){var o=void 0;try{o=B_.innerFrom(n[t++])}catch(e){return void r()}var i=new D_.OperatorSubscriber(e,void 0,q_.noop,q_.noop);o.subscribe(i),i.add(r)}else e.complete()}()}))};var U_={};Object.defineProperty(U_,"__esModule",{value:!0}),U_.pairs=void 0;var z_=Im;U_.pairs=function(e,t){return z_.from(Object.entries(e),t)};var G_={},H_={};Object.defineProperty(H_,"__esModule",{value:!0}),H_.not=void 0,H_.not=function(e,t){return function(n,r){return!e.call(t,n,r)}};var W_={};Object.defineProperty(W_,"__esModule",{value:!0}),W_.filter=void 0;var V_=Bh,$_=Gh;W_.filter=function(e,t){return V_.operate((function(n,r){var o=0;n.subscribe($_.createOperatorSubscriber(r,(function(n){return e.call(t,n,o++)&&r.next(n)})))}))},Object.defineProperty(G_,"__esModule",{value:!0}),G_.partition=void 0;var J_=H_,K_=W_,Y_=Mm;G_.partition=function(e,t,n){return[K_.filter(t,n)(Y_.innerFrom(e)),K_.filter(J_.not(t,n))(Y_.innerFrom(e))]};var Z_={};Object.defineProperty(Z_,"__esModule",{value:!0}),Z_.raceInit=Z_.race=void 0;var X_=Xd,Q_=Mm,eb=M_,tb=Gh;function nb(e){return function(t){for(var n=[],r=function(r){n.push(Q_.innerFrom(e[r]).subscribe(tb.createOperatorSubscriber(t,(function(e){if(n){for(var o=0;o<n.length;o++)o!==r&&n[o].unsubscribe();n=null}t.next(e)}))))},o=0;n&&!t.closed&&o<e.length;o++)r(o)}}Z_.race=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return 1===(e=eb.argsOrArgArray(e)).length?Q_.innerFrom(e[0]):new X_.Observable(nb(e))},Z_.raceInit=nb;var rb={};Object.defineProperty(rb,"__esModule",{value:!0}),rb.range=void 0;var ob=Xd,ib=xm;rb.range=function(e,t,n){if(null==t&&(t=e,e=0),t<=0)return ib.EMPTY;var r=t+e;return new ob.Observable(n?function(t){var o=e;return n.schedule((function(){o<r?(t.next(o++),this.schedule()):t.complete()}))}:function(t){for(var n=e;n<r&&!t.closed;)t.next(n++);t.complete()})};var ab={};Object.defineProperty(ab,"__esModule",{value:!0}),ab.using=void 0;var sb=Xd,ub=Mm,cb=xm;ab.using=function(e,t){return new sb.Observable((function(n){var r=e(),o=t(r);return(o?ub.innerFrom(o):cb.EMPTY).subscribe(n),function(){r&&r.unsubscribe()}}))};var lb={},fb=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},db=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(lb,"__esModule",{value:!0}),lb.zip=void 0;var hb=Xd,pb=Mm,mb=M_,gb=xm,yb=Gh,vb=Em;lb.zip=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=vb.popResultSelector(e),r=mb.argsOrArgArray(e);return r.length?new hb.Observable((function(e){var t=r.map((function(){return[]})),o=r.map((function(){return!1}));e.add((function(){t=o=null}));for(var i=function(i){pb.innerFrom(r[i]).subscribe(yb.createOperatorSubscriber(e,(function(r){if(t[i].push(r),t.every((function(e){return e.length}))){var a=t.map((function(e){return e.shift()}));e.next(n?n.apply(void 0,db([],fb(a))):a),t.some((function(e,t){return!e.length&&o[t]}))&&e.complete()}}),(function(){o[i]=!0,!t[i].length&&e.complete()})))},a=0;!e.closed&&a<r.length;a++)i(a);return function(){t=o=null}})):gb.EMPTY};var _b={};Object.defineProperty(_b,"__esModule",{value:!0});var bb={};Object.defineProperty(bb,"__esModule",{value:!0}),bb.audit=void 0;var wb=Bh,Sb=Mm,xb=Gh;bb.audit=function(e){return wb.operate((function(t,n){var r=!1,o=null,i=null,a=!1,s=function(){if(null==i||i.unsubscribe(),i=null,r){r=!1;var e=o;o=null,n.next(e)}a&&n.complete()},u=function(){i=null,a&&n.complete()};t.subscribe(xb.createOperatorSubscriber(n,(function(t){r=!0,o=t,i||Sb.innerFrom(e(t)).subscribe(i=xb.createOperatorSubscriber(n,s,u))}),(function(){a=!0,(!r||!i||i.closed)&&n.complete()})))}))};var kb={};Object.defineProperty(kb,"__esModule",{value:!0}),kb.auditTime=void 0;var Eb=rm,Ab=bb,Cb=__;kb.auditTime=function(e,t){return void 0===t&&(t=Eb.asyncScheduler),Ab.audit((function(){return Cb.timer(e,t)}))};var Ob={};Object.defineProperty(Ob,"__esModule",{value:!0}),Ob.buffer=void 0;var Rb=Bh,Nb=vh,Ib=Gh,Pb=Mm;Ob.buffer=function(e){return Rb.operate((function(t,n){var r=[];return t.subscribe(Ib.createOperatorSubscriber(n,(function(e){return r.push(e)}),(function(){n.next(r),n.complete()}))),Pb.innerFrom(e).subscribe(Ib.createOperatorSubscriber(n,(function(){var e=r;r=[],n.next(e)}),Nb.noop)),function(){r=null}}))};var Tb={},Mb=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(Tb,"__esModule",{value:!0}),Tb.bufferCount=void 0;var jb=Bh,Fb=Gh,Lb=oh;Tb.bufferCount=function(e,t){return void 0===t&&(t=null),t=null!=t?t:e,jb.operate((function(n,r){var o=[],i=0;n.subscribe(Fb.createOperatorSubscriber(r,(function(n){var a,s,u,c,l=null;i++%t==0&&o.push([]);try{for(var f=Mb(o),d=f.next();!d.done;d=f.next())(m=d.value).push(n),e<=m.length&&(l=null!=l?l:[]).push(m)}catch(e){a={error:e}}finally{try{d&&!d.done&&(s=f.return)&&s.call(f)}finally{if(a)throw a.error}}if(l)try{for(var h=Mb(l),p=h.next();!p.done;p=h.next()){var m;Lb.arrRemove(o,m=p.value),r.next(m)}}catch(e){u={error:e}}finally{try{p&&!p.done&&(c=h.return)&&c.call(h)}finally{if(u)throw u.error}}}),(function(){var e,t;try{for(var n=Mb(o),i=n.next();!i.done;i=n.next())r.next(i.value)}catch(t){e={error:t}}finally{try{i&&!i.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}r.complete()}),void 0,(function(){o=null})))}))};var Db={},qb=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(Db,"__esModule",{value:!0}),Db.bufferTime=void 0;var Bb=th,Ub=Bh,zb=Gh,Gb=oh,Hb=rm,Wb=Em,Vb=Sg;Db.bufferTime=function(e){for(var t,n,r=[],o=1;o<arguments.length;o++)r[o-1]=arguments[o];var i=null!==(t=Wb.popScheduler(r))&&void 0!==t?t:Hb.asyncScheduler,a=null!==(n=r[0])&&void 0!==n?n:null,s=r[1]||Infinity;return Ub.operate((function(t,n){var r=[],o=!1,u=function(e){var t=e.buffer;e.subs.unsubscribe(),Gb.arrRemove(r,e),n.next(t),o&&c()},c=function(){if(r){var t=new Bb.Subscription;n.add(t);var o={buffer:[],subs:t};r.push(o),Vb.executeSchedule(t,i,(function(){return u(o)}),e)}};null!==a&&a>=0?Vb.executeSchedule(n,i,c,a,!0):o=!0,c();var l=zb.createOperatorSubscriber(n,(function(e){var t,n,o=r.slice();try{for(var i=qb(o),a=i.next();!a.done;a=i.next()){var c=a.value,l=c.buffer;l.push(e),s<=l.length&&u(c)}}catch(e){t={error:e}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}}),(function(){for(;null==r?void 0:r.length;)n.next(r.shift().buffer);null==l||l.unsubscribe(),n.complete(),n.unsubscribe()}),void 0,(function(){return r=null}));t.subscribe(l)}))};var $b={},Jb=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty($b,"__esModule",{value:!0}),$b.bufferToggle=void 0;var Kb=th,Yb=Bh,Zb=Mm,Xb=Gh,Qb=vh,ew=oh;$b.bufferToggle=function(e,t){return Yb.operate((function(n,r){var o=[];Zb.innerFrom(e).subscribe(Xb.createOperatorSubscriber(r,(function(e){var n=[];o.push(n);var i=new Kb.Subscription;i.add(Zb.innerFrom(t(e)).subscribe(Xb.createOperatorSubscriber(r,(function(){ew.arrRemove(o,n),r.next(n),i.unsubscribe()}),Qb.noop)))}),Qb.noop)),n.subscribe(Xb.createOperatorSubscriber(r,(function(e){var t,n;try{for(var r=Jb(o),i=r.next();!i.done;i=r.next())i.value.push(e)}catch(e){t={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(t)throw t.error}}}),(function(){for(;o.length>0;)r.next(o.shift());r.complete()})))}))};var tw={};Object.defineProperty(tw,"__esModule",{value:!0}),tw.bufferWhen=void 0;var nw=Bh,rw=vh,ow=Gh,iw=Mm;tw.bufferWhen=function(e){return nw.operate((function(t,n){var r=null,o=null;!function t(){null==o||o.unsubscribe();var i=r;r=[],i&&n.next(i),iw.innerFrom(e()).subscribe(o=ow.createOperatorSubscriber(n,t,rw.noop))}(),t.subscribe(ow.createOperatorSubscriber(n,(function(e){return null==r?void 0:r.push(e)}),(function(){r&&n.next(r),n.complete()}),void 0,(function(){return r=o=null})))}))};var aw={};Object.defineProperty(aw,"__esModule",{value:!0}),aw.catchError=void 0;var sw=Mm,uw=Gh,cw=Bh;aw.catchError=function e(t){return cw.operate((function(n,r){var o,i=null,a=!1;i=n.subscribe(uw.createOperatorSubscriber(r,void 0,void 0,(function(s){o=sw.innerFrom(t(s,e(t)(n))),i?(i.unsubscribe(),i=null,o.subscribe(r)):a=!0}))),a&&(i.unsubscribe(),i=null,o.subscribe(r))}))};var lw={},fw={},dw={},hw={},pw={},mw={};Object.defineProperty(mw,"__esModule",{value:!0}),mw.scanInternals=void 0;var gw=Gh;mw.scanInternals=function(e,t,n,r,o){return function(i,a){var s=n,u=t,c=0;i.subscribe(gw.createOperatorSubscriber(a,(function(t){var n=c++;u=s?e(u,t,n):(s=!0,t),r&&a.next(u)}),o&&function(){s&&a.next(u),a.complete()}))}},Object.defineProperty(pw,"__esModule",{value:!0}),pw.reduce=void 0;var yw=mw,vw=Bh;pw.reduce=function(e,t){return vw.operate(yw.scanInternals(e,t,arguments.length>=2,!1,!0))},Object.defineProperty(hw,"__esModule",{value:!0}),hw.toArray=void 0;var _w=pw,bw=Bh,ww=function(e,t){return e.push(t),e};hw.toArray=function(){return bw.operate((function(e,t){_w.reduce(ww,[])(e).subscribe(t)}))},Object.defineProperty(dw,"__esModule",{value:!0}),dw.joinAllInternals=void 0;var Sw=Ah,xw=Ny,kw=Eh,Ew=gv,Aw=hw;dw.joinAllInternals=function(e,t){return kw.pipe(Aw.toArray(),Ew.mergeMap((function(t){return e(t)})),t?xw.mapOneOrManyArgs(t):Sw.identity)},Object.defineProperty(fw,"__esModule",{value:!0}),fw.combineLatestAll=void 0;var Cw=Ky,Ow=dw;fw.combineLatestAll=function(e){return Ow.joinAllInternals(Cw.combineLatest,e)},Object.defineProperty(lw,"__esModule",{value:!0}),lw.combineAll=void 0,lw.combineAll=fw.combineLatestAll;var Rw={},Nw={},Iw=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},Pw=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Nw,"__esModule",{value:!0}),Nw.combineLatest=void 0;var Tw=Ky,Mw=Bh,jw=M_,Fw=Ny,Lw=Eh,Dw=Em;Nw.combineLatest=function e(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=Dw.popResultSelector(t);return r?Lw.pipe(e.apply(void 0,Pw([],Iw(t))),Fw.mapOneOrManyArgs(r)):Mw.operate((function(e,n){Tw.combineLatestInit(Pw([e],Iw(jw.argsOrArgArray(t))))(n)}))};var qw=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},Bw=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Rw,"__esModule",{value:!0}),Rw.combineLatestWith=void 0;var Uw=Nw;Rw.combineLatestWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Uw.combineLatest.apply(void 0,Bw([],qw(e)))};var zw={};Object.defineProperty(zw,"__esModule",{value:!0}),zw.concatMap=void 0;var Gw=gv,Hw=eh;zw.concatMap=function(e,t){return Hw.isFunction(t)?Gw.mergeMap(e,t,1):Gw.mergeMap(e,1)};var Ww={};Object.defineProperty(Ww,"__esModule",{value:!0}),Ww.concatMapTo=void 0;var Vw=zw,$w=eh;Ww.concatMapTo=function(e,t){return $w.isFunction(t)?Vw.concatMap((function(){return e}),t):Vw.concatMap((function(){return e}))};var Jw={},Kw={},Yw=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},Zw=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Kw,"__esModule",{value:!0}),Kw.concat=void 0;var Xw=Bh,Qw=pv,eS=Em,tS=Im;Kw.concat=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=eS.popScheduler(e);return Xw.operate((function(t,r){Qw.concatAll()(tS.from(Zw([t],Yw(e)),n)).subscribe(r)}))};var nS=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},rS=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Jw,"__esModule",{value:!0}),Jw.concatWith=void 0;var oS=Kw;Jw.concatWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return oS.concat.apply(void 0,rS([],nS(e)))};var iS={},aS={};Object.defineProperty(aS,"__esModule",{value:!0}),aS.fromSubscribable=void 0;var sS=Xd;aS.fromSubscribable=function(e){return new sS.Observable((function(t){return e.subscribe(t)}))},Object.defineProperty(iS,"__esModule",{value:!0}),iS.connect=void 0;var uS=cp,cS=Mm,lS=Bh,fS=aS,dS={connector:function(){return new uS.Subject}};iS.connect=function(e,t){void 0===t&&(t=dS);var n=t.connector;return lS.operate((function(t,r){var o=n();cS.innerFrom(e(fS.fromSubscribable(o))).subscribe(r),r.add(t.subscribe(o))}))};var hS={};Object.defineProperty(hS,"__esModule",{value:!0}),hS.count=void 0;var pS=pw;hS.count=function(e){return pS.reduce((function(t,n,r){return!e||e(n,r)?t+1:t}),0)};var mS={};Object.defineProperty(mS,"__esModule",{value:!0}),mS.debounce=void 0;var gS=Bh,yS=vh,vS=Gh,_S=Mm;mS.debounce=function(e){return gS.operate((function(t,n){var r=!1,o=null,i=null,a=function(){if(null==i||i.unsubscribe(),i=null,r){r=!1;var e=o;o=null,n.next(e)}};t.subscribe(vS.createOperatorSubscriber(n,(function(t){null==i||i.unsubscribe(),r=!0,o=t,i=vS.createOperatorSubscriber(n,a,yS.noop),_S.innerFrom(e(t)).subscribe(i)}),(function(){a(),n.complete()}),void 0,(function(){o=i=null})))}))};var bS={};Object.defineProperty(bS,"__esModule",{value:!0}),bS.debounceTime=void 0;var wS=rm,SS=Bh,xS=Gh;bS.debounceTime=function(e,t){return void 0===t&&(t=wS.asyncScheduler),SS.operate((function(n,r){var o=null,i=null,a=null,s=function(){if(o){o.unsubscribe(),o=null;var e=i;i=null,r.next(e)}};function u(){var n=a+e,i=t.now();if(i<n)return o=this.schedule(void 0,n-i),void r.add(o);s()}n.subscribe(xS.createOperatorSubscriber(r,(function(n){i=n,a=t.now(),o||(o=t.schedule(u,e),r.add(o))}),(function(){s(),r.complete()}),void 0,(function(){i=o=null})))}))};var kS={};Object.defineProperty(kS,"__esModule",{value:!0}),kS.defaultIfEmpty=void 0;var ES=Bh,AS=Gh;kS.defaultIfEmpty=function(e){return ES.operate((function(t,n){var r=!1;t.subscribe(AS.createOperatorSubscriber(n,(function(e){r=!0,n.next(e)}),(function(){r||n.next(e),n.complete()})))}))};var CS={},OS={},RS={};Object.defineProperty(RS,"__esModule",{value:!0}),RS.take=void 0;var NS=xm,IS=Bh,PS=Gh;RS.take=function(e){return e<=0?function(){return NS.EMPTY}:IS.operate((function(t,n){var r=0;t.subscribe(PS.createOperatorSubscriber(n,(function(t){++r<=e&&(n.next(t),e<=r&&n.complete())})))}))};var TS={};Object.defineProperty(TS,"__esModule",{value:!0}),TS.ignoreElements=void 0;var MS=Bh,jS=Gh,FS=vh;TS.ignoreElements=function(){return MS.operate((function(e,t){e.subscribe(jS.createOperatorSubscriber(t,FS.noop))}))};var LS={};Object.defineProperty(LS,"__esModule",{value:!0}),LS.mapTo=void 0;var DS=Iy;LS.mapTo=function(e){return DS.map((function(){return e}))},Object.defineProperty(OS,"__esModule",{value:!0}),OS.delayWhen=void 0;var qS=hv,BS=RS,US=TS,zS=LS,GS=gv,HS=Mm;OS.delayWhen=function e(t,n){return n?function(r){return qS.concat(n.pipe(BS.take(1),US.ignoreElements()),r.pipe(e(t)))}:GS.mergeMap((function(e,n){return HS.innerFrom(t(e,n)).pipe(BS.take(1),zS.mapTo(e))}))},Object.defineProperty(CS,"__esModule",{value:!0}),CS.delay=void 0;var WS=rm,VS=OS,$S=__;CS.delay=function(e,t){void 0===t&&(t=WS.asyncScheduler);var n=$S.timer(e,t);return VS.delayWhen((function(){return n}))};var JS={};Object.defineProperty(JS,"__esModule",{value:!0}),JS.dematerialize=void 0;var KS=Sm,YS=Bh,ZS=Gh;JS.dematerialize=function(){return YS.operate((function(e,t){e.subscribe(ZS.createOperatorSubscriber(t,(function(e){return KS.observeNotification(e,t)})))}))};var XS={};Object.defineProperty(XS,"__esModule",{value:!0}),XS.distinct=void 0;var QS=Bh,ex=Gh,tx=vh,nx=Mm;XS.distinct=function(e,t){return QS.operate((function(n,r){var o=new Set;n.subscribe(ex.createOperatorSubscriber(r,(function(t){var n=e?e(t):t;o.has(n)||(o.add(n),r.next(t))}))),t&&nx.innerFrom(t).subscribe(ex.createOperatorSubscriber(r,(function(){return o.clear()}),tx.noop))}))};var rx={};Object.defineProperty(rx,"__esModule",{value:!0}),rx.distinctUntilChanged=void 0;var ox=Ah,ix=Bh,ax=Gh;function sx(e,t){return e===t}rx.distinctUntilChanged=function(e,t){return void 0===t&&(t=ox.identity),e=null!=e?e:sx,ix.operate((function(n,r){var o,i=!0;n.subscribe(ax.createOperatorSubscriber(r,(function(n){var a=t(n);!i&&e(o,a)||(i=!1,o=a,r.next(n))})))}))};var ux={};Object.defineProperty(ux,"__esModule",{value:!0}),ux.distinctUntilKeyChanged=void 0;var cx=rx;ux.distinctUntilKeyChanged=function(e,t){return cx.distinctUntilChanged((function(n,r){return t?t(n[e],r[e]):n[e]===r[e]}))};var lx={},fx={};Object.defineProperty(fx,"__esModule",{value:!0}),fx.throwIfEmpty=void 0;var dx=vy,hx=Bh,px=Gh;function mx(){return new dx.EmptyError}fx.throwIfEmpty=function(e){return void 0===e&&(e=mx),hx.operate((function(t,n){var r=!1;t.subscribe(px.createOperatorSubscriber(n,(function(e){r=!0,n.next(e)}),(function(){return r?n.complete():n.error(e())})))}))},Object.defineProperty(lx,"__esModule",{value:!0}),lx.elementAt=void 0;var gx=xy,yx=W_,vx=fx,_x=kS,bx=RS;lx.elementAt=function(e,t){if(e<0)throw new gx.ArgumentOutOfRangeError;var n=arguments.length>=2;return function(r){return r.pipe(yx.filter((function(t,n){return n===e})),bx.take(1),n?_x.defaultIfEmpty(t):vx.throwIfEmpty((function(){return new gx.ArgumentOutOfRangeError})))}};var wx={},Sx=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},xx=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(wx,"__esModule",{value:!0}),wx.endWith=void 0;var kx=hv,Ex=km;wx.endWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(t){return kx.concat(t,Ex.of.apply(void 0,xx([],Sx(e))))}};var Ax={};Object.defineProperty(Ax,"__esModule",{value:!0}),Ax.every=void 0;var Cx=Bh,Ox=Gh;Ax.every=function(e,t){return Cx.operate((function(n,r){var o=0;n.subscribe(Ox.createOperatorSubscriber(r,(function(i){e.call(t,i,o++,n)||(r.next(!1),r.complete())}),(function(){r.next(!0),r.complete()})))}))};var Rx={},Nx={},Ix={};Object.defineProperty(Ix,"__esModule",{value:!0}),Ix.exhaustMap=void 0;var Px=Iy,Tx=Mm,Mx=Bh,jx=Gh;Ix.exhaustMap=function e(t,n){return n?function(r){return r.pipe(e((function(e,r){return Tx.innerFrom(t(e,r)).pipe(Px.map((function(t,o){return n(e,t,r,o)})))})))}:Mx.operate((function(e,n){var r=0,o=null,i=!1;e.subscribe(jx.createOperatorSubscriber(n,(function(e){o||(o=jx.createOperatorSubscriber(n,void 0,(function(){o=null,i&&n.complete()})),Tx.innerFrom(t(e,r++)).subscribe(o))}),(function(){i=!0,!o&&n.complete()})))}))},Object.defineProperty(Nx,"__esModule",{value:!0}),Nx.exhaustAll=void 0;var Fx=Ix,Lx=Ah;Nx.exhaustAll=function(){return Fx.exhaustMap(Lx.identity)},Object.defineProperty(Rx,"__esModule",{value:!0}),Rx.exhaust=void 0,Rx.exhaust=Nx.exhaustAll;var Dx={};Object.defineProperty(Dx,"__esModule",{value:!0}),Dx.expand=void 0;var qx=Bh,Bx=yv;Dx.expand=function(e,t,n){return void 0===t&&(t=Infinity),t=(t||0)<1?Infinity:t,qx.operate((function(r,o){return Bx.mergeInternals(r,o,e,t,void 0,!0,n)}))};var Ux={};Object.defineProperty(Ux,"__esModule",{value:!0}),Ux.finalize=void 0;var zx=Bh;Ux.finalize=function(e){return zx.operate((function(t,n){try{t.subscribe(n)}finally{n.add(e)}}))};var Gx={};Object.defineProperty(Gx,"__esModule",{value:!0}),Gx.createFind=Gx.find=void 0;var Hx=Bh,Wx=Gh;function Vx(e,t,n){var r="index"===n;return function(n,o){var i=0;n.subscribe(Wx.createOperatorSubscriber(o,(function(a){var s=i++;e.call(t,a,s,n)&&(o.next(r?s:a),o.complete())}),(function(){o.next(r?-1:void 0),o.complete()})))}}Gx.find=function(e,t){return Hx.operate(Vx(e,t,"value"))},Gx.createFind=Vx;var $x={};Object.defineProperty($x,"__esModule",{value:!0}),$x.findIndex=void 0;var Jx=Bh,Kx=Gx;$x.findIndex=function(e,t){return Jx.operate(Kx.createFind(e,t,"index"))};var Yx={};Object.defineProperty(Yx,"__esModule",{value:!0}),Yx.first=void 0;var Zx=vy,Xx=W_,Qx=RS,ek=kS,tk=fx,nk=Ah;Yx.first=function(e,t){var n=arguments.length>=2;return function(r){return r.pipe(e?Xx.filter((function(t,n){return e(t,n,r)})):nk.identity,Qx.take(1),n?ek.defaultIfEmpty(t):tk.throwIfEmpty((function(){return new Zx.EmptyError})))}};var rk={};Object.defineProperty(rk,"__esModule",{value:!0}),rk.groupBy=void 0;var ok=Xd,ik=Mm,ak=cp,sk=Bh,uk=Gh;rk.groupBy=function(e,t,n,r){return sk.operate((function(o,i){var a;t&&"function"!=typeof t?(n=t.duration,a=t.element,r=t.connector):a=t;var s=new Map,u=function(e){s.forEach(e),e(i)},c=function(e){return u((function(t){return t.error(e)}))},l=0,f=!1,d=new uk.OperatorSubscriber(i,(function(t){try{var o=e(t),u=s.get(o);if(!u){s.set(o,u=r?r():new ak.Subject);var h=(m=o,g=u,(y=new ok.Observable((function(e){l++;var t=g.subscribe(e);return function(){t.unsubscribe(),0==--l&&f&&d.unsubscribe()}}))).key=m,y);if(i.next(h),n){var p=uk.createOperatorSubscriber(u,(function(){u.complete(),null==p||p.unsubscribe()}),void 0,void 0,(function(){return s.delete(o)}));d.add(ik.innerFrom(n(h)).subscribe(p))}}u.next(a?a(t):t)}catch(e){c(e)}var m,g,y}),(function(){return u((function(e){return e.complete()}))}),c,(function(){return s.clear()}),(function(){return f=!0,0===l}));o.subscribe(d)}))};var ck={};Object.defineProperty(ck,"__esModule",{value:!0}),ck.isEmpty=void 0;var lk=Bh,fk=Gh;ck.isEmpty=function(){return lk.operate((function(e,t){e.subscribe(fk.createOperatorSubscriber(t,(function(){t.next(!1),t.complete()}),(function(){t.next(!0),t.complete()})))}))};var dk={},hk={},pk=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(hk,"__esModule",{value:!0}),hk.takeLast=void 0;var mk=xm,gk=Bh,yk=Gh;hk.takeLast=function(e){return e<=0?function(){return mk.EMPTY}:gk.operate((function(t,n){var r=[];t.subscribe(yk.createOperatorSubscriber(n,(function(t){r.push(t),e<r.length&&r.shift()}),(function(){var e,t;try{for(var o=pk(r),i=o.next();!i.done;i=o.next())n.next(i.value)}catch(t){e={error:t}}finally{try{i&&!i.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}n.complete()}),void 0,(function(){r=null})))}))},Object.defineProperty(dk,"__esModule",{value:!0}),dk.last=void 0;var vk=vy,_k=W_,bk=hk,wk=fx,Sk=kS,xk=Ah;dk.last=function(e,t){var n=arguments.length>=2;return function(r){return r.pipe(e?_k.filter((function(t,n){return e(t,n,r)})):xk.identity,bk.takeLast(1),n?Sk.defaultIfEmpty(t):wk.throwIfEmpty((function(){return new vk.EmptyError})))}};var kk={};Object.defineProperty(kk,"__esModule",{value:!0}),kk.materialize=void 0;var Ek=Sm,Ak=Bh,Ck=Gh;kk.materialize=function(){return Ak.operate((function(e,t){e.subscribe(Ck.createOperatorSubscriber(t,(function(e){t.next(Ek.Notification.createNext(e))}),(function(){t.next(Ek.Notification.createComplete()),t.complete()}),(function(e){t.next(Ek.Notification.createError(e)),t.complete()})))}))};var Ok={};Object.defineProperty(Ok,"__esModule",{value:!0}),Ok.max=void 0;var Rk=pw,Nk=eh;Ok.max=function(e){return Rk.reduce(Nk.isFunction(e)?function(t,n){return e(t,n)>0?t:n}:function(e,t){return e>t?e:t})};var Ik={};Object.defineProperty(Ik,"__esModule",{value:!0}),Ik.flatMap=void 0,Ik.flatMap=gv.mergeMap;var Pk={};Object.defineProperty(Pk,"__esModule",{value:!0}),Pk.mergeMapTo=void 0;var Tk=gv,Mk=eh;Pk.mergeMapTo=function(e,t,n){return void 0===n&&(n=Infinity),Mk.isFunction(t)?Tk.mergeMap((function(){return e}),t,n):("number"==typeof t&&(n=t),Tk.mergeMap((function(){return e}),n))};var jk={};Object.defineProperty(jk,"__esModule",{value:!0}),jk.mergeScan=void 0;var Fk=Bh,Lk=yv;jk.mergeScan=function(e,t,n){return void 0===n&&(n=Infinity),Fk.operate((function(r,o){var i=t;return Lk.mergeInternals(r,o,(function(t,n){return e(i,t,n)}),n,(function(e){i=e}),!1,void 0,(function(){return i=null}))}))};var Dk={},qk={},Bk=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},Uk=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(qk,"__esModule",{value:!0}),qk.merge=void 0;var zk=Bh,Gk=M_,Hk=mv,Wk=Em,Vk=Im;qk.merge=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=Wk.popScheduler(e),r=Wk.popNumber(e,Infinity);return e=Gk.argsOrArgArray(e),zk.operate((function(t,o){Hk.mergeAll(r)(Vk.from(Uk([t],Bk(e)),n)).subscribe(o)}))};var $k=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},Jk=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Dk,"__esModule",{value:!0}),Dk.mergeWith=void 0;var Kk=qk;Dk.mergeWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Kk.merge.apply(void 0,Jk([],$k(e)))};var Yk={};Object.defineProperty(Yk,"__esModule",{value:!0}),Yk.min=void 0;var Zk=pw,Xk=eh;Yk.min=function(e){return Zk.reduce(Xk.isFunction(e)?function(t,n){return e(t,n)<0?t:n}:function(e,t){return e<t?e:t})};var Qk={};Object.defineProperty(Qk,"__esModule",{value:!0}),Qk.multicast=void 0;var eE=Dh,tE=eh,nE=iS;Qk.multicast=function(e,t){var n=tE.isFunction(e)?e:function(){return e};return tE.isFunction(t)?nE.connect(t,{connector:n}):function(e){return new eE.ConnectableObservable(e,n)}};var rE={},oE=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},iE=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(rE,"__esModule",{value:!0}),rE.onErrorResumeNext=rE.onErrorResumeNextWith=void 0;var aE=M_,sE=T_;function uE(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=aE.argsOrArgArray(e);return function(e){return sE.onErrorResumeNext.apply(void 0,iE([e],oE(n)))}}rE.onErrorResumeNextWith=uE,rE.onErrorResumeNext=uE;var cE={};Object.defineProperty(cE,"__esModule",{value:!0}),cE.pairwise=void 0;var lE=Bh,fE=Gh;cE.pairwise=function(){return lE.operate((function(e,t){var n,r=!1;e.subscribe(fE.createOperatorSubscriber(t,(function(e){var o=n;n=e,r&&t.next([o,e]),r=!0})))}))};var dE={};Object.defineProperty(dE,"__esModule",{value:!0}),dE.pluck=void 0;var hE=Iy;dE.pluck=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=e.length;if(0===n)throw new Error("list of properties cannot be empty.");return hE.map((function(t){for(var r=t,o=0;o<n;o++){var i=null==r?void 0:r[e[o]];if(void 0===i)return;r=i}return r}))};var pE={};Object.defineProperty(pE,"__esModule",{value:!0}),pE.publish=void 0;var mE=cp,gE=Qk,yE=iS;pE.publish=function(e){return e?function(t){return yE.connect(e)(t)}:function(e){return gE.multicast(new mE.Subject)(e)}};var vE={};Object.defineProperty(vE,"__esModule",{value:!0}),vE.publishBehavior=void 0;var _E=bp,bE=Dh;vE.publishBehavior=function(e){return function(t){var n=new _E.BehaviorSubject(e);return new bE.ConnectableObservable(t,(function(){return n}))}};var wE={};Object.defineProperty(wE,"__esModule",{value:!0}),wE.publishLast=void 0;var SE=Op,xE=Dh;wE.publishLast=function(){return function(e){var t=new SE.AsyncSubject;return new xE.ConnectableObservable(e,(function(){return t}))}};var kE={};Object.defineProperty(kE,"__esModule",{value:!0}),kE.publishReplay=void 0;var EE=xp,AE=Qk,CE=eh;kE.publishReplay=function(e,t,n,r){n&&!CE.isFunction(n)&&(r=n);var o=CE.isFunction(n)?n:void 0;return function(n){return AE.multicast(new EE.ReplaySubject(e,t,r),o)(n)}};var OE={},RE=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},NE=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(OE,"__esModule",{value:!0}),OE.raceWith=void 0;var IE=Z_,PE=Bh,TE=Ah;OE.raceWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return e.length?PE.operate((function(t,n){IE.raceInit(NE([t],RE(e)))(n)})):TE.identity};var ME={};Object.defineProperty(ME,"__esModule",{value:!0}),ME.repeat=void 0;var jE=xm,FE=Bh,LE=Gh,DE=Mm,qE=__;ME.repeat=function(e){var t,n,r=Infinity;return null!=e&&("object"===Z(e)?(r=void 0===(t=e.count)?Infinity:t,n=e.delay):r=e),r<=0?function(){return jE.EMPTY}:FE.operate((function(e,t){var o,i=0,a=function(){if(null==o||o.unsubscribe(),o=null,null!=n){var e="number"==typeof n?qE.timer(n):DE.innerFrom(n(i)),r=LE.createOperatorSubscriber(t,(function(){r.unsubscribe(),s()}));e.subscribe(r)}else s()},s=function(){var n=!1;o=e.subscribe(LE.createOperatorSubscriber(t,void 0,(function(){++i<r?o?a():n=!0:t.complete()}))),n&&a()};s()}))};var BE={};Object.defineProperty(BE,"__esModule",{value:!0}),BE.repeatWhen=void 0;var UE=Mm,zE=cp,GE=Bh,HE=Gh;BE.repeatWhen=function(e){return GE.operate((function(t,n){var r,o,i=!1,a=!1,s=!1,u=function(){return s&&a&&(n.complete(),!0)},c=function(){return o||(o=new zE.Subject,UE.innerFrom(e(o)).subscribe(HE.createOperatorSubscriber(n,(function(){r?l():i=!0}),(function(){a=!0,u()})))),o},l=function e(){s=!1,r=t.subscribe(HE.createOperatorSubscriber(n,void 0,(function(){s=!0,!u()&&c().next()}))),i&&(r.unsubscribe(),r=null,i=!1,e())};l()}))};var WE={};Object.defineProperty(WE,"__esModule",{value:!0}),WE.retry=void 0;var VE=Bh,$E=Gh,JE=Ah,KE=__,YE=Mm;WE.retry=function(e){var t;void 0===e&&(e=Infinity);var n=(t=e&&"object"===Z(e)?e:{count:e}).count,r=void 0===n?Infinity:n,o=t.delay,i=t.resetOnSuccess,a=void 0!==i&&i;return r<=0?JE.identity:VE.operate((function(e,t){var n,i=0;!function s(){var u=!1;n=e.subscribe($E.createOperatorSubscriber(t,(function(e){a&&(i=0),t.next(e)}),void 0,(function(e){if(i++<r){var a=function(){n?(n.unsubscribe(),n=null,s()):u=!0};if(null!=o){var c="number"==typeof o?KE.timer(o):YE.innerFrom(o(e,i)),l=$E.createOperatorSubscriber(t,(function(){l.unsubscribe(),a()}),(function(){t.complete()}));c.subscribe(l)}else a()}else t.error(e)}))),u&&(n.unsubscribe(),n=null,s())}()}))};var ZE={};Object.defineProperty(ZE,"__esModule",{value:!0}),ZE.retryWhen=void 0;var XE=Mm,QE=cp,eA=Bh,tA=Gh;ZE.retryWhen=function(e){return eA.operate((function(t,n){var r,o,i=!1;!function a(){r=t.subscribe(tA.createOperatorSubscriber(n,void 0,void 0,(function(t){o||(o=new QE.Subject,XE.innerFrom(e(o)).subscribe(tA.createOperatorSubscriber(n,(function(){return r?a():i=!0})))),o&&o.next(t)}))),i&&(r.unsubscribe(),r=null,i=!1,a())}()}))};var nA={};Object.defineProperty(nA,"__esModule",{value:!0}),nA.sample=void 0;var rA=Mm,oA=Bh,iA=vh,aA=Gh;nA.sample=function(e){return oA.operate((function(t,n){var r=!1,o=null;t.subscribe(aA.createOperatorSubscriber(n,(function(e){r=!0,o=e}))),rA.innerFrom(e).subscribe(aA.createOperatorSubscriber(n,(function(){if(r){r=!1;var e=o;o=null,n.next(e)}}),iA.noop))}))};var sA={};Object.defineProperty(sA,"__esModule",{value:!0}),sA.sampleTime=void 0;var uA=rm,cA=nA,lA=v_;sA.sampleTime=function(e,t){return void 0===t&&(t=uA.asyncScheduler),cA.sample(lA.interval(e,t))};var fA={};Object.defineProperty(fA,"__esModule",{value:!0}),fA.scan=void 0;var dA=Bh,hA=mw;fA.scan=function(e,t){return dA.operate(hA.scanInternals(e,t,arguments.length>=2,!0))};var pA={};Object.defineProperty(pA,"__esModule",{value:!0}),pA.sequenceEqual=void 0;var mA=Bh,gA=Gh,yA=Mm;pA.sequenceEqual=function(e,t){return void 0===t&&(t=function(e,t){return e===t}),mA.operate((function(n,r){var o={buffer:[],complete:!1},i={buffer:[],complete:!1},a=function(e){r.next(e),r.complete()},s=function(e,n){var o=gA.createOperatorSubscriber(r,(function(r){var o=n.buffer;0===o.length?n.complete?a(!1):e.buffer.push(r):!t(r,o.shift())&&a(!1)}),(function(){e.complete=!0,n.complete&&a(0===n.buffer.length),null==o||o.unsubscribe()}));return o};n.subscribe(s(o,i)),yA.innerFrom(e).subscribe(s(i,o))}))};var vA={},_A=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},bA=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(vA,"__esModule",{value:!0}),vA.share=void 0;var wA=Mm,SA=cp,xA=Qd,kA=Bh;function EA(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];if(!0!==t){if(!1!==t){var o=new xA.SafeSubscriber({next:function(){o.unsubscribe(),e()}});return wA.innerFrom(t.apply(void 0,bA([],_A(n)))).subscribe(o)}}else e()}vA.share=function(e){void 0===e&&(e={});var t=e.connector,n=void 0===t?function(){return new SA.Subject}:t,r=e.resetOnError,o=void 0===r||r,i=e.resetOnComplete,a=void 0===i||i,s=e.resetOnRefCountZero,u=void 0===s||s;return function(e){var t,r,i,s=0,c=!1,l=!1,f=function(){null==r||r.unsubscribe(),r=void 0},d=function(){f(),t=i=void 0,c=l=!1},h=function(){var e=t;d(),null==e||e.unsubscribe()};return kA.operate((function(e,p){s++,l||c||f();var m=i=null!=i?i:n();p.add((function(){0!=--s||l||c||(r=EA(h,u))})),m.subscribe(p),!t&&s>0&&(t=new xA.SafeSubscriber({next:function(e){return m.next(e)},error:function(e){l=!0,f(),r=EA(d,o,e),m.error(e)},complete:function(){c=!0,f(),r=EA(d,a),m.complete()}}),wA.innerFrom(e).subscribe(t))}))(e)}};var AA={};Object.defineProperty(AA,"__esModule",{value:!0}),AA.shareReplay=void 0;var CA=xp,OA=vA;AA.shareReplay=function(e,t,n){var r,o,i,a,s=!1;return e&&"object"===Z(e)?(a=void 0===(r=e.bufferSize)?Infinity:r,t=void 0===(o=e.windowTime)?Infinity:o,s=void 0!==(i=e.refCount)&&i,n=e.scheduler):a=null!=e?e:Infinity,OA.share({connector:function(){return new CA.ReplaySubject(a,t,n)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:s})};var RA={};Object.defineProperty(RA,"__esModule",{value:!0}),RA.single=void 0;var NA=vy,IA=Ey,PA=ky,TA=Bh,MA=Gh;RA.single=function(e){return TA.operate((function(t,n){var r,o=!1,i=!1,a=0;t.subscribe(MA.createOperatorSubscriber(n,(function(s){i=!0,e&&!e(s,a++,t)||(o&&n.error(new IA.SequenceError("Too many matching values")),o=!0,r=s)}),(function(){o?(n.next(r),n.complete()):n.error(i?new PA.NotFoundError("No matching values"):new NA.EmptyError)})))}))};var jA={};Object.defineProperty(jA,"__esModule",{value:!0}),jA.skip=void 0;var FA=W_;jA.skip=function(e){return FA.filter((function(t,n){return e<=n}))};var LA={};Object.defineProperty(LA,"__esModule",{value:!0}),LA.skipLast=void 0;var DA=Ah,qA=Bh,BA=Gh;LA.skipLast=function(e){return e<=0?DA.identity:qA.operate((function(t,n){var r=new Array(e),o=0;return t.subscribe(BA.createOperatorSubscriber(n,(function(t){var i=o++;if(i<e)r[i]=t;else{var a=i%e,s=r[a];r[a]=t,n.next(s)}}))),function(){r=null}}))};var UA={};Object.defineProperty(UA,"__esModule",{value:!0}),UA.skipUntil=void 0;var zA=Bh,GA=Gh,HA=Mm,WA=vh;UA.skipUntil=function(e){return zA.operate((function(t,n){var r=!1,o=GA.createOperatorSubscriber(n,(function(){null==o||o.unsubscribe(),r=!0}),WA.noop);HA.innerFrom(e).subscribe(o),t.subscribe(GA.createOperatorSubscriber(n,(function(e){return r&&n.next(e)})))}))};var VA={};Object.defineProperty(VA,"__esModule",{value:!0}),VA.skipWhile=void 0;var $A=Bh,JA=Gh;VA.skipWhile=function(e){return $A.operate((function(t,n){var r=!1,o=0;t.subscribe(JA.createOperatorSubscriber(n,(function(t){return(r||(r=!e(t,o++)))&&n.next(t)})))}))};var KA={};Object.defineProperty(KA,"__esModule",{value:!0}),KA.startWith=void 0;var YA=hv,ZA=Em,XA=Bh;KA.startWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=ZA.popScheduler(e);return XA.operate((function(t,r){(n?YA.concat(e,t,n):YA.concat(e,t)).subscribe(r)}))};var QA={},eC={};Object.defineProperty(eC,"__esModule",{value:!0}),eC.switchMap=void 0;var tC=Mm,nC=Bh,rC=Gh;eC.switchMap=function(e,t){return nC.operate((function(n,r){var o=null,i=0,a=!1,s=function(){return a&&!o&&r.complete()};n.subscribe(rC.createOperatorSubscriber(r,(function(n){null==o||o.unsubscribe();var a=0,u=i++;tC.innerFrom(e(n,u)).subscribe(o=rC.createOperatorSubscriber(r,(function(e){return r.next(t?t(n,e,u,a++):e)}),(function(){o=null,s()})))}),(function(){a=!0,s()})))}))},Object.defineProperty(QA,"__esModule",{value:!0}),QA.switchAll=void 0;var oC=eC,iC=Ah;QA.switchAll=function(){return oC.switchMap(iC.identity)};var aC={};Object.defineProperty(aC,"__esModule",{value:!0}),aC.switchMapTo=void 0;var sC=eC,uC=eh;aC.switchMapTo=function(e,t){return uC.isFunction(t)?sC.switchMap((function(){return e}),t):sC.switchMap((function(){return e}))};var cC={};Object.defineProperty(cC,"__esModule",{value:!0}),cC.switchScan=void 0;var lC=eC,fC=Bh;cC.switchScan=function(e,t){return fC.operate((function(n,r){var o=t;return lC.switchMap((function(t,n){return e(o,t,n)}),(function(e,t){return o=t,t}))(n).subscribe(r),function(){o=null}}))};var dC={};Object.defineProperty(dC,"__esModule",{value:!0}),dC.takeUntil=void 0;var hC=Bh,pC=Gh,mC=Mm,gC=vh;dC.takeUntil=function(e){return hC.operate((function(t,n){mC.innerFrom(e).subscribe(pC.createOperatorSubscriber(n,(function(){return n.complete()}),gC.noop)),!n.closed&&t.subscribe(n)}))};var yC={};Object.defineProperty(yC,"__esModule",{value:!0}),yC.takeWhile=void 0;var vC=Bh,_C=Gh;yC.takeWhile=function(e,t){return void 0===t&&(t=!1),vC.operate((function(n,r){var o=0;n.subscribe(_C.createOperatorSubscriber(r,(function(n){var i=e(n,o++);(i||t)&&r.next(n),!i&&r.complete()})))}))};var bC={};Object.defineProperty(bC,"__esModule",{value:!0}),bC.tap=void 0;var wC=eh,SC=Bh,xC=Gh,kC=Ah;bC.tap=function(e,t,n){var r=wC.isFunction(e)||t||n?{next:e,error:t,complete:n}:e;return r?SC.operate((function(e,t){var n;null===(n=r.subscribe)||void 0===n||n.call(r);var o=!0;e.subscribe(xC.createOperatorSubscriber(t,(function(e){var n;null===(n=r.next)||void 0===n||n.call(r,e),t.next(e)}),(function(){var e;o=!1,null===(e=r.complete)||void 0===e||e.call(r),t.complete()}),(function(e){var n;o=!1,null===(n=r.error)||void 0===n||n.call(r,e),t.error(e)}),(function(){var e,t;o&&(null===(e=r.unsubscribe)||void 0===e||e.call(r)),null===(t=r.finalize)||void 0===t||t.call(r)})))})):kC.identity};var EC={};Object.defineProperty(EC,"__esModule",{value:!0}),EC.throttle=void 0;var AC=Bh,CC=Gh,OC=Mm;EC.throttle=function(e,t){return AC.operate((function(n,r){var o=null!=t?t:{},i=o.leading,a=void 0===i||i,s=o.trailing,u=void 0!==s&&s,c=!1,l=null,f=null,d=!1,h=function(){null==f||f.unsubscribe(),f=null,u&&(g(),d&&r.complete())},p=function(){f=null,d&&r.complete()},m=function(t){return f=OC.innerFrom(e(t)).subscribe(CC.createOperatorSubscriber(r,h,p))},g=function(){if(c){c=!1;var e=l;l=null,r.next(e),!d&&m(e)}};n.subscribe(CC.createOperatorSubscriber(r,(function(e){c=!0,l=e,(!f||f.closed)&&(a?g():m(e))}),(function(){d=!0,(!(u&&c&&f)||f.closed)&&r.complete()})))}))};var RC={};Object.defineProperty(RC,"__esModule",{value:!0}),RC.throttleTime=void 0;var NC=rm,IC=EC,PC=__;RC.throttleTime=function(e,t,n){void 0===t&&(t=NC.asyncScheduler);var r=PC.timer(e,t);return IC.throttle((function(){return r}),n)};var TC={};Object.defineProperty(TC,"__esModule",{value:!0}),TC.TimeInterval=TC.timeInterval=void 0;var MC=rm,jC=Bh,FC=Gh;TC.timeInterval=function(e){return void 0===e&&(e=MC.asyncScheduler),jC.operate((function(t,n){var r=e.now();t.subscribe(FC.createOperatorSubscriber(n,(function(t){var o=e.now(),i=o-r;r=o,n.next(new LC(t,i))})))}))};var LC=function(){return function(e,t){this.value=e,this.interval=t}}();TC.TimeInterval=LC;var DC={};Object.defineProperty(DC,"__esModule",{value:!0}),DC.timeoutWith=void 0;var qC=rm,BC=Cy,UC=Ay;DC.timeoutWith=function(e,t,n){var r,o,i;if(n=null!=n?n:qC.async,BC.isValidDate(e)?r=e:"number"==typeof e&&(o=e),!t)throw new TypeError("No observable provided to switch to");if(i=function(){return t},null==r&&null==o)throw new TypeError("No timeout provided.");return UC.timeout({first:r,each:o,scheduler:n,with:i})};var zC={};Object.defineProperty(zC,"__esModule",{value:!0}),zC.timestamp=void 0;var GC=kp,HC=Iy;zC.timestamp=function(e){return void 0===e&&(e=GC.dateTimestampProvider),HC.map((function(t){return{value:t,timestamp:e.now()}}))};var WC={};Object.defineProperty(WC,"__esModule",{value:!0}),WC.window=void 0;var VC=cp,$C=Bh,JC=Gh,KC=vh,YC=Mm;WC.window=function(e){return $C.operate((function(t,n){var r=new VC.Subject;n.next(r.asObservable());var o=function(e){r.error(e),n.error(e)};return t.subscribe(JC.createOperatorSubscriber(n,(function(e){return null==r?void 0:r.next(e)}),(function(){r.complete(),n.complete()}),o)),YC.innerFrom(e).subscribe(JC.createOperatorSubscriber(n,(function(){r.complete(),n.next(r=new VC.Subject)}),KC.noop,o)),function(){null==r||r.unsubscribe(),r=null}}))};var ZC={},XC=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(ZC,"__esModule",{value:!0}),ZC.windowCount=void 0;var QC=cp,eO=Bh,tO=Gh;ZC.windowCount=function(e,t){void 0===t&&(t=0);var n=t>0?t:e;return eO.operate((function(t,r){var o=[new QC.Subject],i=0;r.next(o[0].asObservable()),t.subscribe(tO.createOperatorSubscriber(r,(function(t){var a,s;try{for(var u=XC(o),c=u.next();!c.done;c=u.next())c.value.next(t)}catch(e){a={error:e}}finally{try{c&&!c.done&&(s=u.return)&&s.call(u)}finally{if(a)throw a.error}}var l=i-e+1;if(l>=0&&l%n==0&&o.shift().complete(),++i%n==0){var f=new QC.Subject;o.push(f),r.next(f.asObservable())}}),(function(){for(;o.length>0;)o.shift().complete();r.complete()}),(function(e){for(;o.length>0;)o.shift().error(e);r.error(e)}),(function(){o=null})))}))};var nO={};Object.defineProperty(nO,"__esModule",{value:!0}),nO.windowTime=void 0;var rO=cp,oO=rm,iO=th,aO=Bh,sO=Gh,uO=oh,cO=Em,lO=Sg;nO.windowTime=function(e){for(var t,n,r=[],o=1;o<arguments.length;o++)r[o-1]=arguments[o];var i=null!==(t=cO.popScheduler(r))&&void 0!==t?t:oO.asyncScheduler,a=null!==(n=r[0])&&void 0!==n?n:null,s=r[1]||Infinity;return aO.operate((function(t,n){var r=[],o=!1,u=function(e){var t=e.subs;e.window.complete(),t.unsubscribe(),uO.arrRemove(r,e),o&&c()},c=function(){if(r){var t=new iO.Subscription;n.add(t);var o=new rO.Subject,a={window:o,subs:t,seen:0};r.push(a),n.next(o.asObservable()),lO.executeSchedule(t,i,(function(){return u(a)}),e)}};null!==a&&a>=0?lO.executeSchedule(n,i,c,a,!0):o=!0,c();var l=function(e){return r.slice().forEach(e)},f=function(e){l((function(t){return e(t.window)})),e(n),n.unsubscribe()};return t.subscribe(sO.createOperatorSubscriber(n,(function(e){l((function(t){t.window.next(e),s<=++t.seen&&u(t)}))}),(function(){return f((function(e){return e.complete()}))}),(function(e){return f((function(t){return t.error(e)}))}))),function(){r=null}}))};var fO={},dO=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(fO,"__esModule",{value:!0}),fO.windowToggle=void 0;var hO=cp,pO=th,mO=Bh,gO=Mm,yO=Gh,vO=vh,_O=oh;fO.windowToggle=function(e,t){return mO.operate((function(n,r){var o=[],i=function(e){for(;0<o.length;)o.shift().error(e);r.error(e)};gO.innerFrom(e).subscribe(yO.createOperatorSubscriber(r,(function(e){var n=new hO.Subject;o.push(n);var a,s=new pO.Subscription;try{a=gO.innerFrom(t(e))}catch(e){return void i(e)}r.next(n.asObservable()),s.add(a.subscribe(yO.createOperatorSubscriber(r,(function(){_O.arrRemove(o,n),n.complete(),s.unsubscribe()}),vO.noop,i)))}),vO.noop)),n.subscribe(yO.createOperatorSubscriber(r,(function(e){var t,n,r=o.slice();try{for(var i=dO(r),a=i.next();!a.done;a=i.next())a.value.next(e)}catch(e){t={error:e}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}}),(function(){for(;0<o.length;)o.shift().complete();r.complete()}),i,(function(){for(;0<o.length;)o.shift().unsubscribe()})))}))};var bO={};Object.defineProperty(bO,"__esModule",{value:!0}),bO.windowWhen=void 0;var wO=cp,SO=Bh,xO=Gh,kO=Mm;bO.windowWhen=function(e){return SO.operate((function(t,n){var r,o,i=function(e){r.error(e),n.error(e)};!function t(){var a;null==o||o.unsubscribe(),null==r||r.complete(),r=new wO.Subject,n.next(r.asObservable());try{a=kO.innerFrom(e())}catch(e){return void i(e)}a.subscribe(o=xO.createOperatorSubscriber(n,t,t,i))}(),t.subscribe(xO.createOperatorSubscriber(n,(function(e){return r.next(e)}),(function(){r.complete(),n.complete()}),i,(function(){null==o||o.unsubscribe(),r=null})))}))};var EO={},AO=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},CO=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(EO,"__esModule",{value:!0}),EO.withLatestFrom=void 0;var OO=Bh,RO=Gh,NO=Mm,IO=Ah,PO=vh,TO=Em;EO.withLatestFrom=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=TO.popResultSelector(e);return OO.operate((function(t,r){for(var o=e.length,i=new Array(o),a=e.map((function(){return!1})),s=!1,u=function(t){NO.innerFrom(e[t]).subscribe(RO.createOperatorSubscriber(r,(function(e){i[t]=e,s||a[t]||(a[t]=!0,(s=a.every(IO.identity))&&(a=null))}),PO.noop))},c=0;c<o;c++)u(c);t.subscribe(RO.createOperatorSubscriber(r,(function(e){if(s){var t=CO([e],AO(i));r.next(n?n.apply(void 0,CO([],AO(t))):t)}})))}))};var MO={};Object.defineProperty(MO,"__esModule",{value:!0}),MO.zipAll=void 0;var jO=lb,FO=dw;MO.zipAll=function(e){return FO.joinAllInternals(jO.zip,e)};var LO={},DO={},qO=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},BO=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(DO,"__esModule",{value:!0}),DO.zip=void 0;var UO=lb,zO=Bh;DO.zip=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return zO.operate((function(t,n){UO.zip.apply(void 0,BO([t],qO(e))).subscribe(n)}))};var GO=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},HO=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(LO,"__esModule",{value:!0}),LO.zipWith=void 0;var WO=DO;LO.zipWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return WO.zip.apply(void 0,HO([],GO(e)))},function(e){var t=q&&q.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=q&&q.__exportStar||function(e,n){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(n,r)||t(n,e,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.interval=e.iif=e.generate=e.fromEventPattern=e.fromEvent=e.from=e.forkJoin=e.empty=e.defer=e.connectable=e.concat=e.combineLatest=e.bindNodeCallback=e.bindCallback=e.UnsubscriptionError=e.TimeoutError=e.SequenceError=e.ObjectUnsubscribedError=e.NotFoundError=e.EmptyError=e.ArgumentOutOfRangeError=e.firstValueFrom=e.lastValueFrom=e.isObservable=e.identity=e.noop=e.pipe=e.NotificationKind=e.Notification=e.Subscriber=e.Subscription=e.Scheduler=e.VirtualAction=e.VirtualTimeScheduler=e.animationFrameScheduler=e.animationFrame=e.queueScheduler=e.queue=e.asyncScheduler=e.async=e.asapScheduler=e.asap=e.AsyncSubject=e.ReplaySubject=e.BehaviorSubject=e.Subject=e.animationFrames=e.observable=e.ConnectableObservable=e.Observable=void 0,e.filter=e.expand=e.exhaustMap=e.exhaustAll=e.exhaust=e.every=e.endWith=e.elementAt=e.distinctUntilKeyChanged=e.distinctUntilChanged=e.distinct=e.dematerialize=e.delayWhen=e.delay=e.defaultIfEmpty=e.debounceTime=e.debounce=e.count=e.connect=e.concatWith=e.concatMapTo=e.concatMap=e.concatAll=e.combineLatestWith=e.combineLatestAll=e.combineAll=e.catchError=e.bufferWhen=e.bufferToggle=e.bufferTime=e.bufferCount=e.buffer=e.auditTime=e.audit=e.config=e.NEVER=e.EMPTY=e.scheduled=e.zip=e.using=e.timer=e.throwError=e.range=e.race=e.partition=e.pairs=e.onErrorResumeNext=e.of=e.never=e.merge=void 0,e.switchMap=e.switchAll=e.subscribeOn=e.startWith=e.skipWhile=e.skipUntil=e.skipLast=e.skip=e.single=e.shareReplay=e.share=e.sequenceEqual=e.scan=e.sampleTime=e.sample=e.refCount=e.retryWhen=e.retry=e.repeatWhen=e.repeat=e.reduce=e.raceWith=e.publishReplay=e.publishLast=e.publishBehavior=e.publish=e.pluck=e.pairwise=e.onErrorResumeNextWith=e.observeOn=e.multicast=e.min=e.mergeWith=e.mergeScan=e.mergeMapTo=e.mergeMap=e.flatMap=e.mergeAll=e.max=e.materialize=e.mapTo=e.map=e.last=e.isEmpty=e.ignoreElements=e.groupBy=e.first=e.findIndex=e.find=e.finalize=void 0,e.zipWith=e.zipAll=e.withLatestFrom=e.windowWhen=e.windowToggle=e.windowTime=e.windowCount=e.window=e.toArray=e.timestamp=e.timeoutWith=e.timeout=e.timeInterval=e.throwIfEmpty=e.throttleTime=e.throttle=e.tap=e.takeWhile=e.takeUntil=e.takeLast=e.take=e.switchScan=e.switchMapTo=void 0;var r=Xd;Object.defineProperty(e,"Observable",{enumerable:!0,get:function(){return r.Observable}});var o=Dh;Object.defineProperty(e,"ConnectableObservable",{enumerable:!0,get:function(){return o.ConnectableObservable}});var i=kh;Object.defineProperty(e,"observable",{enumerable:!0,get:function(){return i.observable}});var a=tp;Object.defineProperty(e,"animationFrames",{enumerable:!0,get:function(){return a.animationFrames}});var s=cp;Object.defineProperty(e,"Subject",{enumerable:!0,get:function(){return s.Subject}});var u=bp;Object.defineProperty(e,"BehaviorSubject",{enumerable:!0,get:function(){return u.BehaviorSubject}});var c=xp;Object.defineProperty(e,"ReplaySubject",{enumerable:!0,get:function(){return c.ReplaySubject}});var l=Op;Object.defineProperty(e,"AsyncSubject",{enumerable:!0,get:function(){return l.AsyncSubject}});var f=Ip;Object.defineProperty(e,"asap",{enumerable:!0,get:function(){return f.asap}}),Object.defineProperty(e,"asapScheduler",{enumerable:!0,get:function(){return f.asapScheduler}});var d=rm;Object.defineProperty(e,"async",{enumerable:!0,get:function(){return d.async}}),Object.defineProperty(e,"asyncScheduler",{enumerable:!0,get:function(){return d.asyncScheduler}});var h=om;Object.defineProperty(e,"queue",{enumerable:!0,get:function(){return h.queue}}),Object.defineProperty(e,"queueScheduler",{enumerable:!0,get:function(){return h.queueScheduler}});var p=lm;Object.defineProperty(e,"animationFrame",{enumerable:!0,get:function(){return p.animationFrame}}),Object.defineProperty(e,"animationFrameScheduler",{enumerable:!0,get:function(){return p.animationFrameScheduler}});var m=ym;Object.defineProperty(e,"VirtualTimeScheduler",{enumerable:!0,get:function(){return m.VirtualTimeScheduler}}),Object.defineProperty(e,"VirtualAction",{enumerable:!0,get:function(){return m.VirtualAction}});var g=Zp;Object.defineProperty(e,"Scheduler",{enumerable:!0,get:function(){return g.Scheduler}});var y=th;Object.defineProperty(e,"Subscription",{enumerable:!0,get:function(){return y.Subscription}});var v=Qd;Object.defineProperty(e,"Subscriber",{enumerable:!0,get:function(){return v.Subscriber}});var _=Sm;Object.defineProperty(e,"Notification",{enumerable:!0,get:function(){return _.Notification}}),Object.defineProperty(e,"NotificationKind",{enumerable:!0,get:function(){return _.NotificationKind}});var b=Eh;Object.defineProperty(e,"pipe",{enumerable:!0,get:function(){return b.pipe}});var w=vh;Object.defineProperty(e,"noop",{enumerable:!0,get:function(){return w.noop}});var S=Ah;Object.defineProperty(e,"identity",{enumerable:!0,get:function(){return S.identity}});var x=py;Object.defineProperty(e,"isObservable",{enumerable:!0,get:function(){return x.isObservable}});var k=yy;Object.defineProperty(e,"lastValueFrom",{enumerable:!0,get:function(){return k.lastValueFrom}});var E=by;Object.defineProperty(e,"firstValueFrom",{enumerable:!0,get:function(){return E.firstValueFrom}});var A=xy;Object.defineProperty(e,"ArgumentOutOfRangeError",{enumerable:!0,get:function(){return A.ArgumentOutOfRangeError}});var C=vy;Object.defineProperty(e,"EmptyError",{enumerable:!0,get:function(){return C.EmptyError}});var O=ky;Object.defineProperty(e,"NotFoundError",{enumerable:!0,get:function(){return O.NotFoundError}});var R=lp;Object.defineProperty(e,"ObjectUnsubscribedError",{enumerable:!0,get:function(){return R.ObjectUnsubscribedError}});var N=Ey;Object.defineProperty(e,"SequenceError",{enumerable:!0,get:function(){return N.SequenceError}});var I=Ay;Object.defineProperty(e,"TimeoutError",{enumerable:!0,get:function(){return I.TimeoutError}});var P=nh;Object.defineProperty(e,"UnsubscriptionError",{enumerable:!0,get:function(){return P.UnsubscriptionError}});var T=Oy;Object.defineProperty(e,"bindCallback",{enumerable:!0,get:function(){return T.bindCallback}});var M=$y;Object.defineProperty(e,"bindNodeCallback",{enumerable:!0,get:function(){return M.bindNodeCallback}});var j=Ky;Object.defineProperty(e,"combineLatest",{enumerable:!0,get:function(){return j.combineLatest}});var F=hv;Object.defineProperty(e,"concat",{enumerable:!0,get:function(){return F.concat}});var L=Pv;Object.defineProperty(e,"connectable",{enumerable:!0,get:function(){return L.connectable}});var D=Tv;Object.defineProperty(e,"defer",{enumerable:!0,get:function(){return D.defer}});var B=xm;Object.defineProperty(e,"empty",{enumerable:!0,get:function(){return B.empty}});var U=Bv;Object.defineProperty(e,"forkJoin",{enumerable:!0,get:function(){return U.forkJoin}});var z=Im;Object.defineProperty(e,"from",{enumerable:!0,get:function(){return z.from}});var G=Jv;Object.defineProperty(e,"fromEvent",{enumerable:!0,get:function(){return G.fromEvent}});var H=a_;Object.defineProperty(e,"fromEventPattern",{enumerable:!0,get:function(){return H.fromEventPattern}});var W=l_;Object.defineProperty(e,"generate",{enumerable:!0,get:function(){return W.generate}});var V=g_;Object.defineProperty(e,"iif",{enumerable:!0,get:function(){return V.iif}});var $=v_;Object.defineProperty(e,"interval",{enumerable:!0,get:function(){return $.interval}});var J=A_;Object.defineProperty(e,"merge",{enumerable:!0,get:function(){return J.merge}});var K=P_;Object.defineProperty(e,"never",{enumerable:!0,get:function(){return K.never}});var Y=km;Object.defineProperty(e,"of",{enumerable:!0,get:function(){return Y.of}});var Z=T_;Object.defineProperty(e,"onErrorResumeNext",{enumerable:!0,get:function(){return Z.onErrorResumeNext}});var X=U_;Object.defineProperty(e,"pairs",{enumerable:!0,get:function(){return X.pairs}});var Q=G_;Object.defineProperty(e,"partition",{enumerable:!0,get:function(){return Q.partition}});var ee=Z_;Object.defineProperty(e,"race",{enumerable:!0,get:function(){return ee.race}});var te=rb;Object.defineProperty(e,"range",{enumerable:!0,get:function(){return te.range}});var ne=fy;Object.defineProperty(e,"throwError",{enumerable:!0,get:function(){return ne.throwError}});var re=__;Object.defineProperty(e,"timer",{enumerable:!0,get:function(){return re.timer}});var oe=ab;Object.defineProperty(e,"using",{enumerable:!0,get:function(){return oe.using}});var ie=lb;Object.defineProperty(e,"zip",{enumerable:!0,get:function(){return ie.zip}});var ae=Pm;Object.defineProperty(e,"scheduled",{enumerable:!0,get:function(){return ae.scheduled}});var se=xm;Object.defineProperty(e,"EMPTY",{enumerable:!0,get:function(){return se.EMPTY}});var ue=P_;Object.defineProperty(e,"NEVER",{enumerable:!0,get:function(){return ue.NEVER}}),n(_b,e);var ce=hh;Object.defineProperty(e,"config",{enumerable:!0,get:function(){return ce.config}});var le=bb;Object.defineProperty(e,"audit",{enumerable:!0,get:function(){return le.audit}});var fe=kb;Object.defineProperty(e,"auditTime",{enumerable:!0,get:function(){return fe.auditTime}});var de=Ob;Object.defineProperty(e,"buffer",{enumerable:!0,get:function(){return de.buffer}});var he=Tb;Object.defineProperty(e,"bufferCount",{enumerable:!0,get:function(){return he.bufferCount}});var pe=Db;Object.defineProperty(e,"bufferTime",{enumerable:!0,get:function(){return pe.bufferTime}});var me=$b;Object.defineProperty(e,"bufferToggle",{enumerable:!0,get:function(){return me.bufferToggle}});var ge=tw;Object.defineProperty(e,"bufferWhen",{enumerable:!0,get:function(){return ge.bufferWhen}});var ye=aw;Object.defineProperty(e,"catchError",{enumerable:!0,get:function(){return ye.catchError}});var ve=lw;Object.defineProperty(e,"combineAll",{enumerable:!0,get:function(){return ve.combineAll}});var _e=fw;Object.defineProperty(e,"combineLatestAll",{enumerable:!0,get:function(){return _e.combineLatestAll}});var be=Rw;Object.defineProperty(e,"combineLatestWith",{enumerable:!0,get:function(){return be.combineLatestWith}});var we=pv;Object.defineProperty(e,"concatAll",{enumerable:!0,get:function(){return we.concatAll}});var Se=zw;Object.defineProperty(e,"concatMap",{enumerable:!0,get:function(){return Se.concatMap}});var xe=Ww;Object.defineProperty(e,"concatMapTo",{enumerable:!0,get:function(){return xe.concatMapTo}});var ke=Jw;Object.defineProperty(e,"concatWith",{enumerable:!0,get:function(){return ke.concatWith}});var Ee=iS;Object.defineProperty(e,"connect",{enumerable:!0,get:function(){return Ee.connect}});var Ae=hS;Object.defineProperty(e,"count",{enumerable:!0,get:function(){return Ae.count}});var Ce=mS;Object.defineProperty(e,"debounce",{enumerable:!0,get:function(){return Ce.debounce}});var Oe=bS;Object.defineProperty(e,"debounceTime",{enumerable:!0,get:function(){return Oe.debounceTime}});var Re=kS;Object.defineProperty(e,"defaultIfEmpty",{enumerable:!0,get:function(){return Re.defaultIfEmpty}});var Ne=CS;Object.defineProperty(e,"delay",{enumerable:!0,get:function(){return Ne.delay}});var Ie=OS;Object.defineProperty(e,"delayWhen",{enumerable:!0,get:function(){return Ie.delayWhen}});var Pe=JS;Object.defineProperty(e,"dematerialize",{enumerable:!0,get:function(){return Pe.dematerialize}});var Te=XS;Object.defineProperty(e,"distinct",{enumerable:!0,get:function(){return Te.distinct}});var Me=rx;Object.defineProperty(e,"distinctUntilChanged",{enumerable:!0,get:function(){return Me.distinctUntilChanged}});var je=ux;Object.defineProperty(e,"distinctUntilKeyChanged",{enumerable:!0,get:function(){return je.distinctUntilKeyChanged}});var Fe=lx;Object.defineProperty(e,"elementAt",{enumerable:!0,get:function(){return Fe.elementAt}});var Le=wx;Object.defineProperty(e,"endWith",{enumerable:!0,get:function(){return Le.endWith}});var De=Ax;Object.defineProperty(e,"every",{enumerable:!0,get:function(){return De.every}});var qe=Rx;Object.defineProperty(e,"exhaust",{enumerable:!0,get:function(){return qe.exhaust}});var Be=Nx;Object.defineProperty(e,"exhaustAll",{enumerable:!0,get:function(){return Be.exhaustAll}});var Ue=Ix;Object.defineProperty(e,"exhaustMap",{enumerable:!0,get:function(){return Ue.exhaustMap}});var ze=Dx;Object.defineProperty(e,"expand",{enumerable:!0,get:function(){return ze.expand}});var Ge=W_;Object.defineProperty(e,"filter",{enumerable:!0,get:function(){return Ge.filter}});var He=Ux;Object.defineProperty(e,"finalize",{enumerable:!0,get:function(){return He.finalize}});var We=Gx;Object.defineProperty(e,"find",{enumerable:!0,get:function(){return We.find}});var Ve=$x;Object.defineProperty(e,"findIndex",{enumerable:!0,get:function(){return Ve.findIndex}});var $e=Yx;Object.defineProperty(e,"first",{enumerable:!0,get:function(){return $e.first}});var Je=rk;Object.defineProperty(e,"groupBy",{enumerable:!0,get:function(){return Je.groupBy}});var Ke=TS;Object.defineProperty(e,"ignoreElements",{enumerable:!0,get:function(){return Ke.ignoreElements}});var Ye=ck;Object.defineProperty(e,"isEmpty",{enumerable:!0,get:function(){return Ye.isEmpty}});var Ze=dk;Object.defineProperty(e,"last",{enumerable:!0,get:function(){return Ze.last}});var Xe=Iy;Object.defineProperty(e,"map",{enumerable:!0,get:function(){return Xe.map}});var Qe=LS;Object.defineProperty(e,"mapTo",{enumerable:!0,get:function(){return Qe.mapTo}});var et=kk;Object.defineProperty(e,"materialize",{enumerable:!0,get:function(){return et.materialize}});var tt=Ok;Object.defineProperty(e,"max",{enumerable:!0,get:function(){return tt.max}});var nt=mv;Object.defineProperty(e,"mergeAll",{enumerable:!0,get:function(){return nt.mergeAll}});var rt=Ik;Object.defineProperty(e,"flatMap",{enumerable:!0,get:function(){return rt.flatMap}});var ot=gv;Object.defineProperty(e,"mergeMap",{enumerable:!0,get:function(){return ot.mergeMap}});var it=Pk;Object.defineProperty(e,"mergeMapTo",{enumerable:!0,get:function(){return it.mergeMapTo}});var at=jk;Object.defineProperty(e,"mergeScan",{enumerable:!0,get:function(){return at.mergeScan}});var st=Dk;Object.defineProperty(e,"mergeWith",{enumerable:!0,get:function(){return st.mergeWith}});var ut=Yk;Object.defineProperty(e,"min",{enumerable:!0,get:function(){return ut.min}});var ct=Qk;Object.defineProperty(e,"multicast",{enumerable:!0,get:function(){return ct.multicast}});var lt=wg;Object.defineProperty(e,"observeOn",{enumerable:!0,get:function(){return lt.observeOn}});var ft=rE;Object.defineProperty(e,"onErrorResumeNextWith",{enumerable:!0,get:function(){return ft.onErrorResumeNextWith}});var dt=cE;Object.defineProperty(e,"pairwise",{enumerable:!0,get:function(){return dt.pairwise}});var ht=dE;Object.defineProperty(e,"pluck",{enumerable:!0,get:function(){return ht.pluck}});var pt=pE;Object.defineProperty(e,"publish",{enumerable:!0,get:function(){return pt.publish}});var mt=vE;Object.defineProperty(e,"publishBehavior",{enumerable:!0,get:function(){return mt.publishBehavior}});var gt=wE;Object.defineProperty(e,"publishLast",{enumerable:!0,get:function(){return gt.publishLast}});var yt=kE;Object.defineProperty(e,"publishReplay",{enumerable:!0,get:function(){return yt.publishReplay}});var vt=OE;Object.defineProperty(e,"raceWith",{enumerable:!0,get:function(){return vt.raceWith}});var _t=pw;Object.defineProperty(e,"reduce",{enumerable:!0,get:function(){return _t.reduce}});var bt=ME;Object.defineProperty(e,"repeat",{enumerable:!0,get:function(){return bt.repeat}});var wt=BE;Object.defineProperty(e,"repeatWhen",{enumerable:!0,get:function(){return wt.repeatWhen}});var St=WE;Object.defineProperty(e,"retry",{enumerable:!0,get:function(){return St.retry}});var xt=ZE;Object.defineProperty(e,"retryWhen",{enumerable:!0,get:function(){return xt.retryWhen}});var kt=qh;Object.defineProperty(e,"refCount",{enumerable:!0,get:function(){return kt.refCount}});var Et=nA;Object.defineProperty(e,"sample",{enumerable:!0,get:function(){return Et.sample}});var At=sA;Object.defineProperty(e,"sampleTime",{enumerable:!0,get:function(){return At.sampleTime}});var Ct=fA;Object.defineProperty(e,"scan",{enumerable:!0,get:function(){return Ct.scan}});var Ot=pA;Object.defineProperty(e,"sequenceEqual",{enumerable:!0,get:function(){return Ot.sequenceEqual}});var Rt=vA;Object.defineProperty(e,"share",{enumerable:!0,get:function(){return Rt.share}});var Nt=AA;Object.defineProperty(e,"shareReplay",{enumerable:!0,get:function(){return Nt.shareReplay}});var It=RA;Object.defineProperty(e,"single",{enumerable:!0,get:function(){return It.single}});var Pt=jA;Object.defineProperty(e,"skip",{enumerable:!0,get:function(){return Pt.skip}});var Tt=LA;Object.defineProperty(e,"skipLast",{enumerable:!0,get:function(){return Tt.skipLast}});var Mt=UA;Object.defineProperty(e,"skipUntil",{enumerable:!0,get:function(){return Mt.skipUntil}});var jt=VA;Object.defineProperty(e,"skipWhile",{enumerable:!0,get:function(){return jt.skipWhile}});var Ft=KA;Object.defineProperty(e,"startWith",{enumerable:!0,get:function(){return Ft.startWith}});var Lt=Ag;Object.defineProperty(e,"subscribeOn",{enumerable:!0,get:function(){return Lt.subscribeOn}});var Dt=QA;Object.defineProperty(e,"switchAll",{enumerable:!0,get:function(){return Dt.switchAll}});var qt=eC;Object.defineProperty(e,"switchMap",{enumerable:!0,get:function(){return qt.switchMap}});var Bt=aC;Object.defineProperty(e,"switchMapTo",{enumerable:!0,get:function(){return Bt.switchMapTo}});var Ut=cC;Object.defineProperty(e,"switchScan",{enumerable:!0,get:function(){return Ut.switchScan}});var zt=RS;Object.defineProperty(e,"take",{enumerable:!0,get:function(){return zt.take}});var Gt=hk;Object.defineProperty(e,"takeLast",{enumerable:!0,get:function(){return Gt.takeLast}});var Ht=dC;Object.defineProperty(e,"takeUntil",{enumerable:!0,get:function(){return Ht.takeUntil}});var Wt=yC;Object.defineProperty(e,"takeWhile",{enumerable:!0,get:function(){return Wt.takeWhile}});var Vt=bC;Object.defineProperty(e,"tap",{enumerable:!0,get:function(){return Vt.tap}});var $t=EC;Object.defineProperty(e,"throttle",{enumerable:!0,get:function(){return $t.throttle}});var Jt=RC;Object.defineProperty(e,"throttleTime",{enumerable:!0,get:function(){return Jt.throttleTime}});var Kt=fx;Object.defineProperty(e,"throwIfEmpty",{enumerable:!0,get:function(){return Kt.throwIfEmpty}});var Yt=TC;Object.defineProperty(e,"timeInterval",{enumerable:!0,get:function(){return Yt.timeInterval}});var Zt=Ay;Object.defineProperty(e,"timeout",{enumerable:!0,get:function(){return Zt.timeout}});var Xt=DC;Object.defineProperty(e,"timeoutWith",{enumerable:!0,get:function(){return Xt.timeoutWith}});var Qt=zC;Object.defineProperty(e,"timestamp",{enumerable:!0,get:function(){return Qt.timestamp}});var en=hw;Object.defineProperty(e,"toArray",{enumerable:!0,get:function(){return en.toArray}});var tn=WC;Object.defineProperty(e,"window",{enumerable:!0,get:function(){return tn.window}});var nn=ZC;Object.defineProperty(e,"windowCount",{enumerable:!0,get:function(){return nn.windowCount}});var rn=nO;Object.defineProperty(e,"windowTime",{enumerable:!0,get:function(){return rn.windowTime}});var on=fO;Object.defineProperty(e,"windowToggle",{enumerable:!0,get:function(){return on.windowToggle}});var an=bO;Object.defineProperty(e,"windowWhen",{enumerable:!0,get:function(){return an.windowWhen}});var sn=EO;Object.defineProperty(e,"withLatestFrom",{enumerable:!0,get:function(){return sn.withLatestFrom}});var un=MO;Object.defineProperty(e,"zipAll",{enumerable:!0,get:function(){return un.zipAll}});var cn=LO;Object.defineProperty(e,"zipWith",{enumerable:!0,get:function(){return cn.zipWith}})}(Zd),Object.defineProperty(Yd,"__esModule",{value:!0});var VO=Yd.checkAbortSignal=YO;Yd.abortBreakPoint=function(e){return XO.apply(this,arguments)},Yd.makeAbortError=QO,Yd.observeAbortSignal=function(e){return e?(0,JO.fromEvent)(e,"abort"):JO.Observable.create()};var $O=Yd.isAbortException=function(e){return e instanceof Error&&("AbortError"===e.name||"ERR_ABORTED"===e.code||!!/\b(aborted|aborterror)\b/i.test(e.message))},JO=Zd,KO=function(e){oe(n,e);var t=fe(n);function n(){return ee(this,n),t.apply(this,arguments)}return ne(n)}(ce(Error));function YO(e){if(e){if(!(e instanceof AbortSignal))throw new TypeError("must pass an AbortSignal");if(e.aborted)throw QO()}}function ZO(e){return new Promise((function(t){return setTimeout(t,e)}))}function XO(){return(XO=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ZO(1);case 2:YO(t);case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function QO(){if("undefined"!=typeof DOMException)return new DOMException("aborted","AbortError");var e=new KO("aborted");return e.code="ERR_ABORTED",e}var eR={exports:{}};!function(e,t){var n;n=function(){return function e(t,n,r){function o(a,s){if(!n[a]){if(!t[a]){if(!s&&U)return U(a);if(i)return i(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var c=n[a]={exports:{}};t[a][0].call(c.exports,(function(e){return o(t[a][1][e]||e)}),c,c.exports,e,t,n,r)}return n[a].exports}for(var i=U,a=0;a<r.length;a++)o(r[a]);return o}({"./aesprim":[function(e,t,n){var r;r=function(e){var t,n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v;function _(e,t){if(!e)throw new Error("ASSERT: "+t)}function b(e){return e>=48&&e<=57}function w(e){return"0123456789abcdefABCDEF".indexOf(e)>=0}function S(e){return"01234567".indexOf(e)>=0}function x(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(e)>=0}function k(e){return 10===e||13===e||8232===e||8233===e}function E(e){return 64==e||36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||92===e||e>=128&&s.NonAsciiIdentifierStart.test(String.fromCharCode(e))}function A(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||92===e||e>=128&&s.NonAsciiIdentifierPart.test(String.fromCharCode(e))}function C(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return!0;default:return!1}}function O(e){return"eval"===e||"arguments"===e}function R(e,t,n,r,o){var i;_("number"==typeof n,"Comment must have valid position"),y.lastCommentStart>=n||(y.lastCommentStart=n,i={type:e,value:t},v.range&&(i.range=[n,r]),v.loc&&(i.loc=o),v.comments.push(i),v.attachComment&&(v.leadingComments.push(i),v.trailingComments.push(i)))}function N(e){var t,n,r,o;for(t=f-e,n={start:{line:d,column:f-h-e}};f<p;)if(r=c.charCodeAt(f),++f,k(r))return v.comments&&(o=c.slice(t+e,f-1),n.end={line:d,column:f-h-1},R("Line",o,t,f-1,n)),13===r&&10===c.charCodeAt(f)&&++f,++d,void(h=f);v.comments&&(o=c.slice(t+e,f),n.end={line:d,column:f-h},R("Line",o,t,f,n))}function I(){var e,t,n,r;for(v.comments&&(e=f-2,t={start:{line:d,column:f-h-2}});f<p;)if(k(n=c.charCodeAt(f)))13===n&&10===c.charCodeAt(f+1)&&++f,++d,++f,h=f,f>=p&&V({},a.UnexpectedToken,"ILLEGAL");else if(42===n){if(47===c.charCodeAt(f+1))return++f,++f,void(v.comments&&(r=c.slice(e+2,f-2),t.end={line:d,column:f-h},R("Block",r,e,f,t)));++f}else++f;V({},a.UnexpectedToken,"ILLEGAL")}function P(){var e,t;for(t=0===f;f<p;)if(x(e=c.charCodeAt(f)))++f;else if(k(e))++f,13===e&&10===c.charCodeAt(f)&&++f,++d,h=f,t=!0;else if(47===e)if(47===(e=c.charCodeAt(f+1)))++f,++f,N(2),t=!0;else{if(42!==e)break;++f,++f,I()}else if(t&&45===e){if(45!==c.charCodeAt(f+1)||62!==c.charCodeAt(f+2))break;f+=3,N(3)}else{if(60!==e)break;if("!--"!==c.slice(f+1,f+4))break;++f,++f,++f,++f,N(4)}}function T(e){var t,n,r,o=0;for(n="u"===e?4:2,t=0;t<n;++t){if(!(f<p&&w(c[f])))return"";r=c[f++],o=16*o+"0123456789abcdef".indexOf(r.toLowerCase())}return String.fromCharCode(o)}function M(){var e,t;for(e=c.charCodeAt(f++),t=String.fromCharCode(e),92===e&&(117!==c.charCodeAt(f)&&V({},a.UnexpectedToken,"ILLEGAL"),++f,(e=T("u"))&&"\\"!==e&&E(e.charCodeAt(0))||V({},a.UnexpectedToken,"ILLEGAL"),t=e);f<p&&A(e=c.charCodeAt(f));)++f,t+=String.fromCharCode(e),92===e&&(t=t.substr(0,t.length-1),117!==c.charCodeAt(f)&&V({},a.UnexpectedToken,"ILLEGAL"),++f,(e=T("u"))&&"\\"!==e&&A(e.charCodeAt(0))||V({},a.UnexpectedToken,"ILLEGAL"),t+=e);return t}function j(){var e,n,r,o,i=f,s=c.charCodeAt(f),u=c[f];switch(s){case 46:case 40:case 41:case 59:case 44:case 123:case 125:case 91:case 93:case 58:case 63:case 126:return++f,v.tokenize&&(40===s?v.openParenToken=v.tokens.length:123===s&&(v.openCurlyToken=v.tokens.length)),{type:t.Punctuator,value:String.fromCharCode(s),lineNumber:d,lineStart:h,start:i,end:f};default:if(61===(e=c.charCodeAt(f+1)))switch(s){case 43:case 45:case 47:case 60:case 62:case 94:case 124:case 37:case 38:case 42:return f+=2,{type:t.Punctuator,value:String.fromCharCode(s)+String.fromCharCode(e),lineNumber:d,lineStart:h,start:i,end:f};case 33:case 61:return 61===c.charCodeAt(f+=2)&&++f,{type:t.Punctuator,value:c.slice(i,f),lineNumber:d,lineStart:h,start:i,end:f}}}return">>>="===(o=c.substr(f,4))?{type:t.Punctuator,value:o,lineNumber:d,lineStart:h,start:i,end:f+=4}:">>>"===(r=o.substr(0,3))||"<<="===r||">>="===r?{type:t.Punctuator,value:r,lineNumber:d,lineStart:h,start:i,end:f+=3}:u===(n=r.substr(0,2))[1]&&"+-<>&|".indexOf(u)>=0||"=>"===n?{type:t.Punctuator,value:n,lineNumber:d,lineStart:h,start:i,end:f+=2}:"<>=!+-*%&|^/".indexOf(u)>=0?(++f,{type:t.Punctuator,value:u,lineNumber:d,lineStart:h,start:i,end:f}):void V({},a.UnexpectedToken,"ILLEGAL")}function F(){var e,n,r;if(_(b((r=c[f]).charCodeAt(0))||"."===r,"Numeric literal must start with a decimal digit or a decimal point"),n=f,e="","."!==r){if(e=c[f++],r=c[f],"0"===e){if("x"===r||"X"===r)return++f,function(e){for(var n="";f<p&&w(c[f]);)n+=c[f++];return 0===n.length&&V({},a.UnexpectedToken,"ILLEGAL"),E(c.charCodeAt(f))&&V({},a.UnexpectedToken,"ILLEGAL"),{type:t.NumericLiteral,value:parseInt("0x"+n,16),lineNumber:d,lineStart:h,start:e,end:f}}(n);if(S(r))return function(e){for(var n="0"+c[f++];f<p&&S(c[f]);)n+=c[f++];return(E(c.charCodeAt(f))||b(c.charCodeAt(f)))&&V({},a.UnexpectedToken,"ILLEGAL"),{type:t.NumericLiteral,value:parseInt(n,8),octal:!0,lineNumber:d,lineStart:h,start:e,end:f}}(n);r&&b(r.charCodeAt(0))&&V({},a.UnexpectedToken,"ILLEGAL")}for(;b(c.charCodeAt(f));)e+=c[f++];r=c[f]}if("."===r){for(e+=c[f++];b(c.charCodeAt(f));)e+=c[f++];r=c[f]}if("e"===r||"E"===r)if(e+=c[f++],"+"!==(r=c[f])&&"-"!==r||(e+=c[f++]),b(c.charCodeAt(f)))for(;b(c.charCodeAt(f));)e+=c[f++];else V({},a.UnexpectedToken,"ILLEGAL");return E(c.charCodeAt(f))&&V({},a.UnexpectedToken,"ILLEGAL"),{type:t.NumericLiteral,value:parseFloat(e),lineNumber:d,lineStart:h,start:n,end:f}}function L(){var e,n,r,o;return g=null,P(),e=f,n=function(){var e,t,n,r;for(_("/"===(e=c[f]),"Regular expression literal must start with a slash"),t=c[f++],n=!1,r=!1;f<p;)if(t+=e=c[f++],"\\"===e)k((e=c[f++]).charCodeAt(0))&&V({},a.UnterminatedRegExp),t+=e;else if(k(e.charCodeAt(0)))V({},a.UnterminatedRegExp);else if(n)"]"===e&&(n=!1);else{if("/"===e){r=!0;break}"["===e&&(n=!0)}return r||V({},a.UnterminatedRegExp),{value:t.substr(1,t.length-2),literal:t}}(),r=function(){var e,t,n,r;for(t="",n="";f<p&&A((e=c[f]).charCodeAt(0));)if(++f,"\\"===e&&f<p)if("u"===(e=c[f])){if(r=++f,e=T("u"))for(n+=e,t+="\\u";r<f;++r)t+=c[r];else f=r,n+="u",t+="\\u";$({},a.UnexpectedToken,"ILLEGAL")}else t+="\\",$({},a.UnexpectedToken,"ILLEGAL");else n+=e,t+=e;return{value:n,literal:t}}(),o=function(e,t){var n;try{n=new RegExp(e,t)}catch(e){V({},a.InvalidRegExp)}return n}(n.value,r.value),v.tokenize?{type:t.RegularExpression,value:o,lineNumber:d,lineStart:h,start:e,end:f}:{literal:n.literal+r.literal,value:o,start:e,end:f}}function D(){var e,t,n,r;return P(),e=f,t={start:{line:d,column:f-h}},n=L(),t.end={line:d,column:f-h},v.tokenize||(v.tokens.length>0&&(r=v.tokens[v.tokens.length-1]).range[0]===e&&"Punctuator"===r.type&&("/"!==r.value&&"/="!==r.value||v.tokens.pop()),v.tokens.push({type:"RegularExpression",value:n.literal,range:[e,f],loc:t})),n}function q(){var e,n,o;return P(),f>=p?{type:t.EOF,lineNumber:d,lineStart:h,start:f,end:f}:E(e=c.charCodeAt(f))?(n=f,o=92===c.charCodeAt(f)?M():function(){var e,t;for(e=f++;f<p;){if(92===(t=c.charCodeAt(f)))return f=e,M();if(!A(t))break;++f}return c.slice(e,f)}(),{type:1===o.length?t.Identifier:function(e){if(l&&C(e))return!0;switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e||"let"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}}(o)?t.Keyword:"null"===o?t.NullLiteral:"true"===o||"false"===o?t.BooleanLiteral:t.Identifier,value:o,lineNumber:d,lineStart:h,start:n,end:f}):40===e||41===e||59===e?j():39===e||34===e?function(){var e,n,r,o,i,s,u,l,m="",g=!1;for(u=d,l=h,_("'"===(e=c[f])||'"'===e,"String literal must starts with a quote"),n=f,++f;f<p;){if((r=c[f++])===e){e="";break}if("\\"===r)if((r=c[f++])&&k(r.charCodeAt(0)))++d,"\r"===r&&"\n"===c[f]&&++f,h=f;else switch(r){case"u":case"x":s=f,(i=T(r))?m+=i:(f=s,m+=r);break;case"n":m+="\n";break;case"r":m+="\r";break;case"t":m+="\t";break;case"b":m+="\b";break;case"f":m+="\f";break;case"v":m+="\v";break;default:S(r)?(0!==(o="01234567".indexOf(r))&&(g=!0),f<p&&S(c[f])&&(g=!0,o=8*o+"01234567".indexOf(c[f++]),"0123".indexOf(r)>=0&&f<p&&S(c[f])&&(o=8*o+"01234567".indexOf(c[f++]))),m+=String.fromCharCode(o)):m+=r}else{if(k(r.charCodeAt(0)))break;m+=r}}return""!==e&&V({},a.UnexpectedToken,"ILLEGAL"),{type:t.StringLiteral,value:m,octal:g,startLineNumber:u,startLineStart:l,lineNumber:d,lineStart:h,start:n,end:f}}():46===e?b(c.charCodeAt(f+1))?F():j():b(e)?F():v.tokenize&&47===e?function(){var e,t;if(!(e=v.tokens[v.tokens.length-1]))return D();if("Punctuator"===e.type){if("]"===e.value)return j();if(")"===e.value)return!(t=v.tokens[v.openParenToken-1])||"Keyword"!==t.type||"if"!==t.value&&"while"!==t.value&&"for"!==t.value&&"with"!==t.value?j():D();if("}"===e.value){if(v.tokens[v.openCurlyToken-3]&&"Keyword"===v.tokens[v.openCurlyToken-3].type){if(!(t=v.tokens[v.openCurlyToken-4]))return j()}else{if(!v.tokens[v.openCurlyToken-4]||"Keyword"!==v.tokens[v.openCurlyToken-4].type)return j();if(!(t=v.tokens[v.openCurlyToken-5]))return D()}return r.indexOf(t.value)>=0?j():D()}return D()}return"Keyword"===e.type?D():j()}():j()}function B(){var e,r,o;return P(),e={start:{line:d,column:f-h}},r=q(),e.end={line:d,column:f-h},r.type!==t.EOF&&(o=c.slice(r.start,r.end),v.tokens.push({type:n[r.type],value:o,range:[r.start,r.end],loc:e})),r}function U(){var e;return f=(e=g).end,d=e.lineNumber,h=e.lineStart,g=void 0!==v.tokens?B():q(),f=e.end,d=e.lineNumber,h=e.lineStart,e}function z(){var e,t,n;e=f,t=d,n=h,g=void 0!==v.tokens?B():q(),f=e,d=t,h=n}function G(e,t){this.line=e,this.column=t}function H(e,t,n,r){this.start=new G(e,t),this.end=new G(n,r)}function W(){var e,t,n,r;return e=f,t=d,n=h,P(),r=d!==t,f=e,d=t,h=n,r}function V(e,t){var n,r=Array.prototype.slice.call(arguments,2),o=t.replace(/%(\d)/g,(function(e,t){return _(t<r.length,"Message reference must be in range"),r[t]}));throw"number"==typeof e.lineNumber?((n=new Error("Line "+e.lineNumber+": "+o)).index=e.start,n.lineNumber=e.lineNumber,n.column=e.start-h+1):((n=new Error("Line "+d+": "+o)).index=f,n.lineNumber=d,n.column=f-h+1),n.description=o,n}function $(){try{V.apply(null,arguments)}catch(e){if(!v.errors)throw e;v.errors.push(e)}}function J(e){if(e.type===t.EOF&&V(e,a.UnexpectedEOS),e.type===t.NumericLiteral&&V(e,a.UnexpectedNumber),e.type===t.StringLiteral&&V(e,a.UnexpectedString),e.type===t.Identifier&&V(e,a.UnexpectedIdentifier),e.type===t.Keyword){if(function(e){switch(e){case"class":case"enum":case"export":case"extends":case"import":case"super":return!0;default:return!1}}(e.value))V(e,a.UnexpectedReserved);else if(l&&C(e.value))return void $(e,a.StrictReservedWord);V(e,a.UnexpectedToken,e.value)}V(e,a.UnexpectedToken,e.value)}function K(e){var n=U();n.type===t.Punctuator&&n.value===e||J(n)}function Y(e){var n=U();n.type===t.Keyword&&n.value===e||J(n)}function Z(e){return g.type===t.Punctuator&&g.value===e}function X(e){return g.type===t.Keyword&&g.value===e}function Q(){var e;59===c.charCodeAt(f)||Z(";")?U():(e=d,P(),d===e&&(g.type===t.EOF||Z("}")||J(g)))}function ee(e){return e.type===o.Identifier||e.type===o.MemberExpression}function te(e,t){var n,r,o;return n=l,o=g,r=be(),t&&l&&O(e[0].name)&&$(t,a.StrictParamName),l=n,m.markEnd(m.createFunctionExpression(null,e,[],r),o)}function ne(){var e,n;return n=g,(e=U()).type===t.StringLiteral||e.type===t.NumericLiteral?(l&&e.octal&&$(e,a.StrictOctalLiteral),m.markEnd(m.createLiteral(e),n)):m.markEnd(m.createIdentifier(e.value),n)}function re(){var e,n,r,o,i,s;return s=g,(e=g).type===t.Identifier?(r=ne(),"get"!==e.value||Z(":")?"set"!==e.value||Z(":")?(K(":"),o=de(),m.markEnd(m.createProperty("init",r,o),s)):(n=ne(),K("("),(e=g).type!==t.Identifier?(K(")"),$(e,a.UnexpectedToken,e.value),o=te([])):(i=[me()],K(")"),o=te(i,e)),m.markEnd(m.createProperty("set",n,o),s)):(n=ne(),K("("),K(")"),o=te([]),m.markEnd(m.createProperty("get",n,o),s))):e.type!==t.EOF&&e.type!==t.Punctuator?(n=ne(),K(":"),o=de(),m.markEnd(m.createProperty("init",n,o),s)):void J(e)}function oe(){var e,n,r,s;if(Z("("))return function(){var e;return K("("),e=he(),K(")"),e}();if(Z("["))return function(){var e,t=[];for(e=g,K("[");!Z("]");)Z(",")?(U(),t.push(null)):(t.push(de()),Z("]")||K(","));return U(),m.markEnd(m.createArrayExpression(t),e)}();if(Z("{"))return function(){var e,t,n,r,s,u=[],c={},f=String;for(s=g,K("{");!Z("}");)t=(e=re()).key.type===o.Identifier?e.key.name:f(e.key.value),r="init"===e.kind?i.Data:"get"===e.kind?i.Get:i.Set,n="$"+t,Object.prototype.hasOwnProperty.call(c,n)?(c[n]===i.Data?l&&r===i.Data?$({},a.StrictDuplicateProperty):r!==i.Data&&$({},a.AccessorDataProperty):r===i.Data?$({},a.AccessorDataProperty):c[n]&r&&$({},a.AccessorGetSet),c[n]|=r):c[n]=r,u.push(e),Z("}")||K(",");return K("}"),m.markEnd(m.createObjectExpression(u),s)}();if(s=g,(e=g.type)===t.Identifier)r=m.createIdentifier(U().value);else if(e===t.StringLiteral||e===t.NumericLiteral)l&&g.octal&&$(g,a.StrictOctalLiteral),r=m.createLiteral(U());else if(e===t.Keyword){if(X("function"))return function(){var e,t,n,r,o,i,s,u,c,f=null;return u=g,Y("function"),Z("(")||(e=g,f=me(),l?O(e.value)&&$(e,a.StrictFunctionName):O(e.value)?(n=e,r=a.StrictFunctionName):C(e.value)&&(n=e,r=a.StrictReservedWord)),c=(o=we(n)).params,t=o.stricted,n=o.firstRestricted,o.message&&(r=o.message),s=l,i=be(),l&&n&&V(n,r),l&&t&&$(t,r),l=s,m.markEnd(m.createFunctionExpression(f,c,[],i),u)}();X("this")?(U(),r=m.createThisExpression()):J(U())}else e===t.BooleanLiteral?((n=U()).value="true"===n.value,r=m.createLiteral(n)):e===t.NullLiteral?((n=U()).value=null,r=m.createLiteral(n)):Z("/")||Z("/=")?(r=m.createLiteral(void 0!==v.tokens?D():L()),z()):J(U());return m.markEnd(r,s)}function ie(){var e=[];if(K("("),!Z(")"))for(;f<p&&(e.push(de()),!Z(")"));)K(",");return K(")"),e}function ae(){return K("."),n=g,function(e){return e.type===t.Identifier||e.type===t.Keyword||e.type===t.BooleanLiteral||e.type===t.NullLiteral}(e=U())||J(e),m.markEnd(m.createIdentifier(e.value),n);var e,n}function se(){var e;return K("["),e=he(),K("]"),e}function ue(){var e,t,n;return n=g,Y("new"),e=function(){var e,t,n,r;for(r=g,e=y.allowIn,t=X("new")?ue():oe(),y.allowIn=e;Z(".")||Z("[");)Z("[")?(n=se(),t=m.createMemberExpression("[",t,n)):(n=ae(),t=m.createMemberExpression(".",t,n)),m.markEnd(t,r);return t}(),t=Z("(")?ie():[],m.markEnd(m.createNewExpression(e,t),n)}function ce(){var e,n,r=g;return e=function(){var e,t,n,r,o;for(o=g,e=y.allowIn,y.allowIn=!0,t=X("new")?ue():oe(),y.allowIn=e;;){if(Z("."))r=ae(),t=m.createMemberExpression(".",t,r);else if(Z("("))n=ie(),t=m.createCallExpression(t,n);else{if(!Z("["))break;r=se(),t=m.createMemberExpression("[",t,r)}m.markEnd(t,o)}return t}(),g.type===t.Punctuator&&(!Z("++")&&!Z("--")||W()||(l&&e.type===o.Identifier&&O(e.name)&&$({},a.StrictLHSPostfix),ee(e)||$({},a.InvalidLHSInAssignment),n=U(),e=m.markEnd(m.createPostfixExpression(n.value,e),r))),e}function le(){var e,n,r;return g.type!==t.Punctuator&&g.type!==t.Keyword?n=ce():Z("++")||Z("--")?(r=g,e=U(),n=le(),l&&n.type===o.Identifier&&O(n.name)&&$({},a.StrictLHSPrefix),ee(n)||$({},a.InvalidLHSInAssignment),n=m.createUnaryExpression(e.value,n),n=m.markEnd(n,r)):Z("+")||Z("-")||Z("~")||Z("!")?(r=g,e=U(),n=le(),n=m.createUnaryExpression(e.value,n),n=m.markEnd(n,r)):X("delete")||X("void")||X("typeof")?(r=g,e=U(),n=le(),n=m.createUnaryExpression(e.value,n),n=m.markEnd(n,r),l&&"delete"===n.operator&&n.argument.type===o.Identifier&&$({},a.StrictDelete)):n=ce(),n}function fe(e,n){var r=0;if(e.type!==t.Punctuator&&e.type!==t.Keyword)return 0;switch(e.value){case"||":r=1;break;case"&&":r=2;break;case"|":r=3;break;case"^":r=4;break;case"&":r=5;break;case"==":case"!=":case"===":case"!==":r=6;break;case"<":case">":case"<=":case">=":case"instanceof":r=7;break;case"in":r=n?7:0;break;case"<<":case">>":case">>>":r=8;break;case"+":case"-":r=9;break;case"*":case"/":case"%":r=11}return r}function de(){var e,n,r,i,s,u;return e=g,s=g,i=n=function(){var e,t,n,r,o;return o=g,e=function(){var e,t,n,r,o,i,a,s,u,c;if(e=g,u=le(),0===(o=fe(r=g,y.allowIn)))return u;for(r.prec=o,U(),t=[e,g],i=[u,r,a=le()];(o=fe(g,y.allowIn))>0;){for(;i.length>2&&o<=i[i.length-2].prec;)a=i.pop(),s=i.pop().value,u=i.pop(),n=m.createBinaryExpression(s,u,a),t.pop(),m.markEnd(n,e=t[t.length-1]),i.push(n);(r=U()).prec=o,i.push(r),t.push(g),n=le(),i.push(n)}for(n=i[c=i.length-1],t.pop();c>1;)n=m.createBinaryExpression(i[c-1].value,i[c-2],n),c-=2,e=t.pop(),m.markEnd(n,e);return n}(),Z("?")&&(U(),t=y.allowIn,y.allowIn=!0,n=de(),y.allowIn=t,K(":"),r=de(),e=m.createConditionalExpression(e,n,r),m.markEnd(e,o)),e}(),g.type!==t.Punctuator||"="!==(u=g.value)&&"*="!==u&&"/="!==u&&"%="!==u&&"+="!==u&&"-="!==u&&"<<="!==u&&">>="!==u&&">>>="!==u&&"&="!==u&&"^="!==u&&"|="!==u||(ee(n)||$({},a.InvalidLHSInAssignment),l&&n.type===o.Identifier&&O(n.name)&&$(e,a.StrictLHSAssignment),e=U(),r=de(),i=m.markEnd(m.createAssignmentExpression(e.value,n,r),s)),i}function he(){var e,t=g;if(e=de(),Z(",")){for(e=m.createSequenceExpression([e]);f<p&&Z(",");)U(),e.expressions.push(de());m.markEnd(e,t)}return e}function pe(){var e,t;return t=g,K("{"),e=function(){for(var e,t=[];f<p&&!Z("}")&&void 0!==(e=xe());)t.push(e);return t}(),K("}"),m.markEnd(m.createBlockStatement(e),t)}function me(){var e,n;return n=g,(e=U()).type!==t.Identifier&&J(e),m.markEnd(m.createIdentifier(e.value),n)}function ge(e){var t,n,r=null;return n=g,t=me(),l&&O(t.name)&&$({},a.StrictVarName),"const"===e?(K("="),r=de()):Z("=")&&(U(),r=de()),m.markEnd(m.createVariableDeclarator(t,r),n)}function ye(e){var t=[];do{if(t.push(ge(e)),!Z(","))break;U()}while(f<p);return t}function ve(){var e,t,n,r=[];for(n=g,X("default")?(U(),e=null):(Y("case"),e=he()),K(":");f<p&&!(Z("}")||X("default")||X("case"));)t=_e(),r.push(t);return m.markEnd(m.createSwitchCase(e,r),n)}function _e(){var e,n,r,i,s,u,d,h,v,_,b=g.type;if(b===t.EOF&&J(g),b===t.Punctuator&&"{"===g.value)return pe();if(i=g,b===t.Punctuator)switch(g.value){case";":return m.markEnd((K(";"),m.createEmptyStatement()),i);case"(":return m.markEnd(function(){var e=he();return Q(),m.createExpressionStatement(e)}(),i)}if(b===t.Keyword)switch(g.value){case"break":return m.markEnd((_=null,Y("break"),59===c.charCodeAt(f)?(U(),y.inIteration||y.inSwitch||V({},a.IllegalBreak),m.createBreakStatement(null)):W()?(y.inIteration||y.inSwitch||V({},a.IllegalBreak),m.createBreakStatement(null)):(g.type===t.Identifier&&(_=me(),Object.prototype.hasOwnProperty.call(y.labelSet,"$"+_.name)||V({},a.UnknownLabel,_.name)),Q(),null!==_||y.inIteration||y.inSwitch||V({},a.IllegalBreak),m.createBreakStatement(_))),i);case"continue":return m.markEnd(function(){var e=null;return Y("continue"),59===c.charCodeAt(f)?(U(),y.inIteration||V({},a.IllegalContinue),m.createContinueStatement(null)):W()?(y.inIteration||V({},a.IllegalContinue),m.createContinueStatement(null)):(g.type===t.Identifier&&(e=me(),Object.prototype.hasOwnProperty.call(y.labelSet,"$"+e.name)||V({},a.UnknownLabel,e.name)),Q(),null!==e||y.inIteration||V({},a.IllegalContinue),m.createContinueStatement(e))}(),i);case"debugger":return m.markEnd((Y("debugger"),Q(),m.createDebuggerStatement()),i);case"do":return m.markEnd((Y("do"),v=y.inIteration,y.inIteration=!0,d=_e(),y.inIteration=v,Y("while"),K("("),h=he(),K(")"),Z(";")&&U(),m.createDoWhileStatement(d,h)),i);case"for":return m.markEnd(function(){var e,t,n,r,o,i,s,u,c,l;return e=t=n=null,Y("for"),K("("),Z(";")?U():(X("var")||X("let")?(y.allowIn=!1,l=g,u=U(),c=ye(),e=m.markEnd(m.createVariableDeclaration(c,u.value),l),y.allowIn=!0,1===e.declarations.length&&X("in")&&(U(),r=e,o=he(),e=null)):(y.allowIn=!1,e=he(),y.allowIn=!0,X("in")&&(ee(e)||$({},a.InvalidLHSInForIn),U(),r=e,o=he(),e=null)),void 0===r&&K(";")),void 0===r&&(Z(";")||(t=he()),K(";"),Z(")")||(n=he())),K(")"),s=y.inIteration,y.inIteration=!0,i=_e(),y.inIteration=s,void 0===r?m.createForStatement(e,t,n,i):m.createForInStatement(r,o,i)}(),i);case"function":return m.markEnd(Se(),i);case"if":return m.markEnd(function(){var e,t,n;return Y("if"),K("("),e=he(),K(")"),t=_e(),X("else")?(U(),n=_e()):n=null,m.createIfStatement(e,t,n)}(),i);case"return":return m.markEnd((u=null,Y("return"),y.inFunctionBody||$({},a.IllegalReturn),32===c.charCodeAt(f)&&E(c.charCodeAt(f+1))?(u=he(),Q(),m.createReturnStatement(u)):W()?m.createReturnStatement(null):(Z(";")||Z("}")||g.type===t.EOF||(u=he()),Q(),m.createReturnStatement(u))),i);case"switch":return m.markEnd(function(){var e,t,n,r,o;if(Y("switch"),K("("),e=he(),K(")"),K("{"),t=[],Z("}"))return U(),m.createSwitchStatement(e,t);for(r=y.inSwitch,y.inSwitch=!0,o=!1;f<p&&!Z("}");)null===(n=ve()).test&&(o&&V({},a.MultipleDefaultsInSwitch),o=!0),t.push(n);return y.inSwitch=r,K("}"),m.createSwitchStatement(e,t)}(),i);case"throw":return m.markEnd(function(){var e;return Y("throw"),W()&&V({},a.NewlineAfterThrow),e=he(),Q(),m.createThrowStatement(e)}(),i);case"try":return m.markEnd(function(){var e,t,n,r,o=[],i=null;return Y("try"),e=pe(),X("catch")&&o.push((r=g,Y("catch"),K("("),Z(")")&&J(g),t=me(),l&&O(t.name)&&$({},a.StrictCatchVariable),K(")"),n=pe(),m.markEnd(m.createCatchClause(t,n),r))),X("finally")&&(U(),i=pe()),0!==o.length||i||V({},a.NoCatchOrFinally),m.createTryStatement(e,[],o,i)}(),i);case"var":return m.markEnd((Y("var"),s=ye(),Q(),m.createVariableDeclaration(s,"var")),i);case"while":return m.markEnd(function(){var e,t,n;return Y("while"),K("("),e=he(),K(")"),n=y.inIteration,y.inIteration=!0,t=_e(),y.inIteration=n,m.createWhileStatement(e,t)}(),i);case"with":return m.markEnd(function(){var e,t;return l&&(P(),$({},a.StrictModeWith)),Y("with"),K("("),e=he(),K(")"),t=_e(),m.createWithStatement(e,t)}(),i)}return(e=he()).type===o.Identifier&&Z(":")?(U(),r="$"+e.name,Object.prototype.hasOwnProperty.call(y.labelSet,r)&&V({},a.Redeclaration,"Label",e.name),y.labelSet[r]=!0,n=_e(),delete y.labelSet[r],m.markEnd(m.createLabeledStatement(e,n),i)):(Q(),m.markEnd(m.createExpressionStatement(e),i))}function be(){var e,n,r,i,s,u,d,h,v=[];for(h=g,K("{");f<p&&g.type===t.StringLiteral&&(n=g,e=xe(),v.push(e),e.expression.type===o.Literal);)"use strict"===c.slice(n.start+1,n.end-1)?(l=!0,r&&$(r,a.StrictOctalLiteral)):!r&&n.octal&&(r=n);for(i=y.labelSet,s=y.inIteration,u=y.inSwitch,d=y.inFunctionBody,y.labelSet={},y.inIteration=!1,y.inSwitch=!1,y.inFunctionBody=!0;f<p&&!Z("}")&&void 0!==(e=xe());)v.push(e);return K("}"),y.labelSet=i,y.inIteration=s,y.inSwitch=u,y.inFunctionBody=d,m.markEnd(m.createBlockStatement(v),h)}function we(e){var t,n,r,o,i,s,u=[];if(K("("),!Z(")"))for(o={};f<p&&(n=g,t=me(),i="$"+n.value,l?(O(n.value)&&(r=n,s=a.StrictParamName),Object.prototype.hasOwnProperty.call(o,i)&&(r=n,s=a.StrictParamDupe)):e||(O(n.value)?(e=n,s=a.StrictParamName):C(n.value)?(e=n,s=a.StrictReservedWord):Object.prototype.hasOwnProperty.call(o,i)&&(e=n,s=a.StrictParamDupe)),u.push(t),o[i]=!0,!Z(")"));)K(",");return K(")"),{params:u,stricted:r,firstRestricted:e,message:s}}function Se(){var e,t,n,r,o,i,s,u,c,f;return f=g,Y("function"),r=g,e=me(),l?O(r.value)&&$(r,a.StrictFunctionName):O(r.value)?(s=r,u=a.StrictFunctionName):C(r.value)&&(s=r,u=a.StrictReservedWord),t=(i=we(s)).params,o=i.stricted,s=i.firstRestricted,i.message&&(u=i.message),c=l,n=be(),l&&s&&V(s,u),l&&o&&$(o,u),l=c,m.markEnd(m.createFunctionDeclaration(e,t,[],n),f)}function xe(){if(g.type===t.Keyword)switch(g.value){case"const":case"let":return r=g,Y(e=g.value),n=ye(e),Q(),m.markEnd(m.createVariableDeclaration(n,e),r);case"function":return Se();default:return _e()}var e,n,r;if(g.type!==t.EOF)return _e()}function ke(){var e,t,n,r=[];for(e=0;e<v.tokens.length;++e)n={type:(t=v.tokens[e]).type,value:t.value},v.range&&(n.range=t.range),v.loc&&(n.loc=t.loc),r.push(n);v.tokens=r}(n={})[(t={BooleanLiteral:1,EOF:2,Identifier:3,Keyword:4,NullLiteral:5,NumericLiteral:6,Punctuator:7,StringLiteral:8,RegularExpression:9}).BooleanLiteral]="Boolean",n[t.EOF]="<end>",n[t.Identifier]="Identifier",n[t.Keyword]="Keyword",n[t.NullLiteral]="Null",n[t.NumericLiteral]="Numeric",n[t.Punctuator]="Punctuator",n[t.StringLiteral]="String",n[t.RegularExpression]="RegularExpression",r=["(","{","[","in","typeof","instanceof","new","return","case","delete","throw","void","=","+=","-=","*=","/=","%=","<<=",">>=",">>>=","&=","|=","^=",",","+","-","*","/","%","++","--","<<",">>",">>>","&","|","^","!","~","&&","||","?",":","===","==",">=","<=","<",">","!=","!=="],o={AssignmentExpression:"AssignmentExpression",ArrayExpression:"ArrayExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",Program:"Program",Property:"Property",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SwitchStatement:"SwitchStatement",SwitchCase:"SwitchCase",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement"},i={Data:1,Get:2,Set:4},a={UnexpectedToken:"Unexpected token %0",UnexpectedNumber:"Unexpected number",UnexpectedString:"Unexpected string",UnexpectedIdentifier:"Unexpected identifier",UnexpectedReserved:"Unexpected reserved word",UnexpectedEOS:"Unexpected end of input",NewlineAfterThrow:"Illegal newline after throw",InvalidRegExp:"Invalid regular expression",UnterminatedRegExp:"Invalid regular expression: missing /",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",MultipleDefaultsInSwitch:"More than one default clause in switch statement",NoCatchOrFinally:"Missing catch or finally after try",UnknownLabel:"Undefined label '%0'",Redeclaration:"%0 '%1' has already been declared",IllegalContinue:"Illegal continue statement",IllegalBreak:"Illegal break statement",IllegalReturn:"Illegal return statement",StrictModeWith:"Strict mode code may not include a with statement",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",StrictParamDupe:"Strict mode function may not have duplicate parameter names",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictDuplicateProperty:"Duplicate data property in object literal not allowed in strict mode",AccessorDataProperty:"Object literal may not have data and accessor property with the same name",AccessorGetSet:"Object literal may not have multiple get/set accessors with the same name",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictReservedWord:"Use of future reserved word in strict mode"},s={NonAsciiIdentifierStart:new RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]"),NonAsciiIdentifierPart:new RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮ̀-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁ҃-҇Ҋ-ԧԱ-Ֆՙա-և֑-ׇֽֿׁׂׅׄא-תװ-ײؐ-ؚؠ-٩ٮ-ۓە-ۜ۟-۪ۨ-ۼۿܐ-݊ݍ-ޱ߀-ߵߺࠀ-࠭ࡀ-࡛ࢠࢢ-ࢬࣤ-ࣾऀ-ॣ०-९ॱ-ॷॹ-ॿঁ-ঃঅ-ঌএঐও-নপ-রলশ-হ়-ৄেৈো-ৎৗড়ঢ়য়-ৣ০-ৱਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹ਼ਾ-ੂੇੈੋ-੍ੑਖ਼-ੜਫ਼੦-ੵઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હ઼-ૅે-ૉો-્ૐૠ-ૣ૦-૯ଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହ଼-ୄେୈୋ-୍ୖୗଡ଼ଢ଼ୟ-ୣ୦-୯ୱஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-்ௐௗ௦-௯ఁ-ఃఅ-ఌఎ-ఐఒ-నప-ళవ-హఽ-ౄె-ైొ-్ౕౖౘౙౠ-ౣ౦-౯ಂಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹ಼-ೄೆ-ೈೊ-್ೕೖೞೠ-ೣ೦-೯ೱೲംഃഅ-ഌഎ-ഐഒ-ഺഽ-ൄെ-ൈൊ-ൎൗൠ-ൣ൦-൯ൺ-ൿංඃඅ-ඖක-නඳ-රලව-ෆ්ා-ුූෘ-ෟෲෳก-ฺเ-๎๐-๙ກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ູົ-ຽເ-ໄໆ່-ໍ໐-໙ໜ-ໟༀ༘༙༠-༩༹༵༷༾-ཇཉ-ཬཱ-྄྆-ྗྙ-ྼ࿆က-၉ၐ-ႝႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፝-፟ᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-᜔ᜠ-᜴ᝀ-ᝓᝠ-ᝬᝮ-ᝰᝲᝳក-៓ៗៜ៝០-៩᠋-᠍᠐-᠙ᠠ-ᡷᢀ-ᢪᢰ-ᣵᤀ-ᤜᤠ-ᤫᤰ-᤻᥆-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉ᧐-᧙ᨀ-ᨛᨠ-ᩞ᩠-᩿᩼-᪉᪐-᪙ᪧᬀ-ᭋ᭐-᭙᭫-᭳ᮀ-᯳ᰀ-᰷᱀-᱉ᱍ-ᱽ᳐-᳔᳒-ᳶᴀ-ᷦ᷼-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼ‌‍‿⁀⁔ⁱⁿₐ-ₜ⃐-⃥⃜⃡-⃰ℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯ⵿-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⷠ-ⷿⸯ々-〇〡-〯〱-〵〸-〼ぁ-ゖ゙゚ゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘫꙀ-꙯ꙴ-꙽ꙿ-ꚗꚟ-꛱ꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠧꡀ-ꡳꢀ-꣄꣐-꣙꣠-ꣷꣻ꤀-꤭ꤰ-꥓ꥠ-ꥼꦀ-꧀ꧏ-꧙ꨀ-ꨶꩀ-ꩍ꩐-꩙ꩠ-ꩶꩺꩻꪀ-ꫂꫛ-ꫝꫠ-ꫯꫲ-꫶ꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯪ꯬꯭꯰-꯹가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻ︀-️︠-︦︳︴﹍-﹏ﹰ-ﹴﹶ-ﻼ0-9A-Z_a-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]")},u={name:"SyntaxTree",processComment:function(e){var t,n;if(!(e.type===o.Program&&e.body.length>0)){for(v.trailingComments.length>0?v.trailingComments[0].range[0]>=e.range[1]?(n=v.trailingComments,v.trailingComments=[]):v.trailingComments.length=0:v.bottomRightStack.length>0&&v.bottomRightStack[v.bottomRightStack.length-1].trailingComments&&v.bottomRightStack[v.bottomRightStack.length-1].trailingComments[0].range[0]>=e.range[1]&&(n=v.bottomRightStack[v.bottomRightStack.length-1].trailingComments,delete v.bottomRightStack[v.bottomRightStack.length-1].trailingComments);v.bottomRightStack.length>0&&v.bottomRightStack[v.bottomRightStack.length-1].range[0]>=e.range[0];)t=v.bottomRightStack.pop();t?t.leadingComments&&t.leadingComments[t.leadingComments.length-1].range[1]<=e.range[0]&&(e.leadingComments=t.leadingComments,delete t.leadingComments):v.leadingComments.length>0&&v.leadingComments[v.leadingComments.length-1].range[1]<=e.range[0]&&(e.leadingComments=v.leadingComments,v.leadingComments=[]),n&&(e.trailingComments=n),v.bottomRightStack.push(e)}},markEnd:function(e,t){return v.range&&(e.range=[t.start,f]),v.loc&&(e.loc=new H(void 0===t.startLineNumber?t.lineNumber:t.startLineNumber,t.start-(void 0===t.startLineStart?t.lineStart:t.startLineStart),d,f-h),this.postProcess(e)),v.attachComment&&this.processComment(e),e},postProcess:function(e){return v.source&&(e.loc.source=v.source),e},createArrayExpression:function(e){return{type:o.ArrayExpression,elements:e}},createAssignmentExpression:function(e,t,n){return{type:o.AssignmentExpression,operator:e,left:t,right:n}},createBinaryExpression:function(e,t,n){return{type:"||"===e||"&&"===e?o.LogicalExpression:o.BinaryExpression,operator:e,left:t,right:n}},createBlockStatement:function(e){return{type:o.BlockStatement,body:e}},createBreakStatement:function(e){return{type:o.BreakStatement,label:e}},createCallExpression:function(e,t){return{type:o.CallExpression,callee:e,arguments:t}},createCatchClause:function(e,t){return{type:o.CatchClause,param:e,body:t}},createConditionalExpression:function(e,t,n){return{type:o.ConditionalExpression,test:e,consequent:t,alternate:n}},createContinueStatement:function(e){return{type:o.ContinueStatement,label:e}},createDebuggerStatement:function(){return{type:o.DebuggerStatement}},createDoWhileStatement:function(e,t){return{type:o.DoWhileStatement,body:e,test:t}},createEmptyStatement:function(){return{type:o.EmptyStatement}},createExpressionStatement:function(e){return{type:o.ExpressionStatement,expression:e}},createForStatement:function(e,t,n,r){return{type:o.ForStatement,init:e,test:t,update:n,body:r}},createForInStatement:function(e,t,n){return{type:o.ForInStatement,left:e,right:t,body:n,each:!1}},createFunctionDeclaration:function(e,t,n,r){return{type:o.FunctionDeclaration,id:e,params:t,defaults:n,body:r,rest:null,generator:!1,expression:!1}},createFunctionExpression:function(e,t,n,r){return{type:o.FunctionExpression,id:e,params:t,defaults:n,body:r,rest:null,generator:!1,expression:!1}},createIdentifier:function(e){return{type:o.Identifier,name:e}},createIfStatement:function(e,t,n){return{type:o.IfStatement,test:e,consequent:t,alternate:n}},createLabeledStatement:function(e,t){return{type:o.LabeledStatement,label:e,body:t}},createLiteral:function(e){return{type:o.Literal,value:e.value,raw:c.slice(e.start,e.end)}},createMemberExpression:function(e,t,n){return{type:o.MemberExpression,computed:"["===e,object:t,property:n}},createNewExpression:function(e,t){return{type:o.NewExpression,callee:e,arguments:t}},createObjectExpression:function(e){return{type:o.ObjectExpression,properties:e}},createPostfixExpression:function(e,t){return{type:o.UpdateExpression,operator:e,argument:t,prefix:!1}},createProgram:function(e){return{type:o.Program,body:e}},createProperty:function(e,t,n){return{type:o.Property,key:t,value:n,kind:e}},createReturnStatement:function(e){return{type:o.ReturnStatement,argument:e}},createSequenceExpression:function(e){return{type:o.SequenceExpression,expressions:e}},createSwitchCase:function(e,t){return{type:o.SwitchCase,test:e,consequent:t}},createSwitchStatement:function(e,t){return{type:o.SwitchStatement,discriminant:e,cases:t}},createThisExpression:function(){return{type:o.ThisExpression}},createThrowStatement:function(e){return{type:o.ThrowStatement,argument:e}},createTryStatement:function(e,t,n,r){return{type:o.TryStatement,block:e,guardedHandlers:t,handlers:n,finalizer:r}},createUnaryExpression:function(e,t){return"++"===e||"--"===e?{type:o.UpdateExpression,operator:e,argument:t,prefix:!0}:{type:o.UnaryExpression,operator:e,argument:t,prefix:!0}},createVariableDeclaration:function(e,t){return{type:o.VariableDeclaration,declarations:e,kind:t}},createVariableDeclarator:function(e,t){return{type:o.VariableDeclarator,id:e,init:t}},createWhileStatement:function(e,t){return{type:o.WhileStatement,test:e,body:t}},createWithStatement:function(e,t){return{type:o.WithStatement,object:e,body:t}}},e.version="1.2.2",e.tokenize=function(e,n){var r;"string"==typeof e||e instanceof String||(e=String(e)),m=u,f=0,d=(c=e).length>0?1:0,h=0,p=c.length,g=null,y={allowIn:!0,labelSet:{},inFunctionBody:!1,inIteration:!1,inSwitch:!1,lastCommentStart:-1},v={},(n=n||{}).tokens=!0,v.tokens=[],v.tokenize=!0,v.openParenToken=-1,v.openCurlyToken=-1,v.range="boolean"==typeof n.range&&n.range,v.loc="boolean"==typeof n.loc&&n.loc,"boolean"==typeof n.comment&&n.comment&&(v.comments=[]),"boolean"==typeof n.tolerant&&n.tolerant&&(v.errors=[]);try{if(z(),g.type===t.EOF)return v.tokens;for(U();g.type!==t.EOF;)try{U()}catch(e){if(v.errors){v.errors.push(e);break}throw e}ke(),r=v.tokens,void 0!==v.comments&&(r.comments=v.comments),void 0!==v.errors&&(r.errors=v.errors)}catch(e){throw e}finally{v={}}return r},e.parse=function(e,n){var r,i,s,_;i=String,"string"==typeof e||e instanceof String||(e=i(e)),m=u,f=0,d=(c=e).length>0?1:0,h=0,p=c.length,g=null,y={allowIn:!0,labelSet:{},inFunctionBody:!1,inIteration:!1,inSwitch:!1,lastCommentStart:-1},v={},void 0!==n&&(v.range="boolean"==typeof n.range&&n.range,v.loc="boolean"==typeof n.loc&&n.loc,v.attachComment="boolean"==typeof n.attachComment&&n.attachComment,v.loc&&null!=n.source&&(v.source=i(n.source)),"boolean"==typeof n.tokens&&n.tokens&&(v.tokens=[]),"boolean"==typeof n.comment&&n.comment&&(v.comments=[]),"boolean"==typeof n.tolerant&&n.tolerant&&(v.errors=[]),v.attachComment&&(v.range=!0,v.comments=[],v.bottomRightStack=[],v.trailingComments=[],v.leadingComments=[]));try{P(),z(),_=g,l=!1,s=function(){for(var e,n,r,i=[];f<p&&(n=g).type===t.StringLiteral&&(e=xe(),i.push(e),e.expression.type===o.Literal);)"use strict"===c.slice(n.start+1,n.end-1)?(l=!0,r&&$(r,a.StrictOctalLiteral)):!r&&n.octal&&(r=n);for(;f<p&&void 0!==(e=xe());)i.push(e);return i}(),r=m.markEnd(m.createProgram(s),_),void 0!==v.comments&&(r.comments=v.comments),void 0!==v.tokens&&(ke(),r.tokens=v.tokens),void 0!==v.errors&&(r.errors=v.errors)}catch(e){throw e}finally{v={}}return r},e.Syntax=function(){var e,t={};for(e in"function"==typeof Object.create&&(t=Object.create(null)),o)o.hasOwnProperty(e)&&(t[e]=o[e]);return"function"==typeof Object.freeze&&Object.freeze(t),t}()},r(void 0!==n?n:this.esprima={})},{}],1:[function(e,t,n){(function(r){var o=function(){var e={trace:function(){},yy:{},symbols_:{error:2,JSON_PATH:3,DOLLAR:4,PATH_COMPONENTS:5,LEADING_CHILD_MEMBER_EXPRESSION:6,PATH_COMPONENT:7,MEMBER_COMPONENT:8,SUBSCRIPT_COMPONENT:9,CHILD_MEMBER_COMPONENT:10,DESCENDANT_MEMBER_COMPONENT:11,DOT:12,MEMBER_EXPRESSION:13,DOT_DOT:14,STAR:15,IDENTIFIER:16,SCRIPT_EXPRESSION:17,INTEGER:18,END:19,CHILD_SUBSCRIPT_COMPONENT:20,DESCENDANT_SUBSCRIPT_COMPONENT:21,"[":22,SUBSCRIPT:23,"]":24,SUBSCRIPT_EXPRESSION:25,SUBSCRIPT_EXPRESSION_LIST:26,SUBSCRIPT_EXPRESSION_LISTABLE:27,",":28,STRING_LITERAL:29,ARRAY_SLICE:30,FILTER_EXPRESSION:31,QQ_STRING:32,Q_STRING:33,$accept:0,$end:1},terminals_:{2:"error",4:"DOLLAR",12:"DOT",14:"DOT_DOT",15:"STAR",16:"IDENTIFIER",17:"SCRIPT_EXPRESSION",18:"INTEGER",19:"END",22:"[",24:"]",28:",",30:"ARRAY_SLICE",31:"FILTER_EXPRESSION",32:"QQ_STRING",33:"Q_STRING"},productions_:[0,[3,1],[3,2],[3,1],[3,2],[5,1],[5,2],[7,1],[7,1],[8,1],[8,1],[10,2],[6,1],[11,2],[13,1],[13,1],[13,1],[13,1],[13,1],[9,1],[9,1],[20,3],[21,4],[23,1],[23,1],[26,1],[26,3],[27,1],[27,1],[27,1],[25,1],[25,1],[25,1],[29,1],[29,1]],performAction:function(e,n,r,o,i,a,s){o.ast||(o.ast=t,t.initialize());var u=a.length-1;switch(i){case 1:return o.ast.set({expression:{type:"root",value:a[u]}}),o.ast.unshift(),o.ast.yield();case 2:return o.ast.set({expression:{type:"root",value:a[u-1]}}),o.ast.unshift(),o.ast.yield();case 3:return o.ast.unshift(),o.ast.yield();case 4:return o.ast.set({operation:"member",scope:"child",expression:{type:"identifier",value:a[u-1]}}),o.ast.unshift(),o.ast.yield();case 5:case 6:case 11:case 13:case 18:case 21:case 22:case 23:break;case 7:o.ast.set({operation:"member"}),o.ast.push();break;case 8:o.ast.set({operation:"subscript"}),o.ast.push();break;case 9:case 19:o.ast.set({scope:"child"});break;case 10:case 20:o.ast.set({scope:"descendant"});break;case 12:o.ast.set({scope:"child",operation:"member"});break;case 14:o.ast.set({expression:{type:"wildcard",value:a[u]}});break;case 15:o.ast.set({expression:{type:"identifier",value:a[u]}});break;case 16:o.ast.set({expression:{type:"script_expression",value:a[u]}});break;case 17:o.ast.set({expression:{type:"numeric_literal",value:parseInt(a[u])}});break;case 24:a[u].length>1?o.ast.set({expression:{type:"union",value:a[u]}}):this.$=a[u];break;case 25:this.$=[a[u]];break;case 26:this.$=a[u-2].concat(a[u]);break;case 27:this.$={expression:{type:"numeric_literal",value:parseInt(a[u])}},o.ast.set(this.$);break;case 28:this.$={expression:{type:"string_literal",value:a[u]}},o.ast.set(this.$);break;case 29:this.$={expression:{type:"slice",value:a[u]}},o.ast.set(this.$);break;case 30:this.$={expression:{type:"wildcard",value:a[u]}},o.ast.set(this.$);break;case 31:this.$={expression:{type:"script_expression",value:a[u]}},o.ast.set(this.$);break;case 32:this.$={expression:{type:"filter_expression",value:a[u]}},o.ast.set(this.$);break;case 33:case 34:this.$=a[u]}},table:[{3:1,4:[1,2],6:3,13:4,15:[1,5],16:[1,6],17:[1,7],18:[1,8],19:[1,9]},{1:[3]},{1:[2,1],5:10,7:11,8:12,9:13,10:14,11:15,12:[1,18],14:[1,19],20:16,21:17,22:[1,20]},{1:[2,3],5:21,7:11,8:12,9:13,10:14,11:15,12:[1,18],14:[1,19],20:16,21:17,22:[1,20]},{1:[2,12],12:[2,12],14:[2,12],22:[2,12]},{1:[2,14],12:[2,14],14:[2,14],22:[2,14]},{1:[2,15],12:[2,15],14:[2,15],22:[2,15]},{1:[2,16],12:[2,16],14:[2,16],22:[2,16]},{1:[2,17],12:[2,17],14:[2,17],22:[2,17]},{1:[2,18],12:[2,18],14:[2,18],22:[2,18]},{1:[2,2],7:22,8:12,9:13,10:14,11:15,12:[1,18],14:[1,19],20:16,21:17,22:[1,20]},{1:[2,5],12:[2,5],14:[2,5],22:[2,5]},{1:[2,7],12:[2,7],14:[2,7],22:[2,7]},{1:[2,8],12:[2,8],14:[2,8],22:[2,8]},{1:[2,9],12:[2,9],14:[2,9],22:[2,9]},{1:[2,10],12:[2,10],14:[2,10],22:[2,10]},{1:[2,19],12:[2,19],14:[2,19],22:[2,19]},{1:[2,20],12:[2,20],14:[2,20],22:[2,20]},{13:23,15:[1,5],16:[1,6],17:[1,7],18:[1,8],19:[1,9]},{13:24,15:[1,5],16:[1,6],17:[1,7],18:[1,8],19:[1,9],22:[1,25]},{15:[1,29],17:[1,30],18:[1,33],23:26,25:27,26:28,27:32,29:34,30:[1,35],31:[1,31],32:[1,36],33:[1,37]},{1:[2,4],7:22,8:12,9:13,10:14,11:15,12:[1,18],14:[1,19],20:16,21:17,22:[1,20]},{1:[2,6],12:[2,6],14:[2,6],22:[2,6]},{1:[2,11],12:[2,11],14:[2,11],22:[2,11]},{1:[2,13],12:[2,13],14:[2,13],22:[2,13]},{15:[1,29],17:[1,30],18:[1,33],23:38,25:27,26:28,27:32,29:34,30:[1,35],31:[1,31],32:[1,36],33:[1,37]},{24:[1,39]},{24:[2,23]},{24:[2,24],28:[1,40]},{24:[2,30]},{24:[2,31]},{24:[2,32]},{24:[2,25],28:[2,25]},{24:[2,27],28:[2,27]},{24:[2,28],28:[2,28]},{24:[2,29],28:[2,29]},{24:[2,33],28:[2,33]},{24:[2,34],28:[2,34]},{24:[1,41]},{1:[2,21],12:[2,21],14:[2,21],22:[2,21]},{18:[1,33],27:42,29:34,30:[1,35],32:[1,36],33:[1,37]},{1:[2,22],12:[2,22],14:[2,22],22:[2,22]},{24:[2,26],28:[2,26]}],defaultActions:{27:[2,23],29:[2,30],30:[2,31],31:[2,32]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){var t=[0],n=[null],r=[],o=this.table,i="",a=0,s=0,u=r.slice.call(arguments,1);this.lexer.setInput(e),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,void 0===this.lexer.yylloc&&(this.lexer.yylloc={});var c=this.lexer.yylloc;r.push(c);var l=this.lexer.options&&this.lexer.options.ranges;this.parseError="function"==typeof this.yy.parseError?this.yy.parseError:Object.getPrototypeOf(this).parseError;for(var f,d,h,p,m,g,y,v,_={};;){if(this.defaultActions[d=t[t.length-1]]?h=this.defaultActions[d]:(null==f&&(v=void 0,"number"!=typeof(v=this.lexer.lex()||1)&&(v=this.symbols_[v]||v),f=v),h=o[d]&&o[d][f]),void 0===h||!h.length||!h[0]){var b;for(m in y=[],o[d])this.terminals_[m]&&m>2&&y.push("'"+this.terminals_[m]+"'");b=this.lexer.showPosition?"Parse error on line "+(a+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+y.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(a+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(b,{text:this.lexer.match,token:this.terminals_[f]||f,line:this.lexer.yylineno,loc:c,expected:y})}if(h[0]instanceof Array&&h.length>1)throw new Error("Parse Error: multiple actions possible at state: "+d+", token: "+f);switch(h[0]){case 1:t.push(f),n.push(this.lexer.yytext),r.push(this.lexer.yylloc),t.push(h[1]),f=null,s=this.lexer.yyleng,i=this.lexer.yytext,a=this.lexer.yylineno,c=this.lexer.yylloc;break;case 2:if(_.$=n[n.length-(g=this.productions_[h[1]][1])],_._$={first_line:r[r.length-(g||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(g||1)].first_column,last_column:r[r.length-1].last_column},l&&(_._$.range=[r[r.length-(g||1)].range[0],r[r.length-1].range[1]]),void 0!==(p=this.performAction.apply(_,[i,s,a,this.yy,h[1],n,r].concat(u))))return p;g&&(t=t.slice(0,-1*g*2),n=n.slice(0,-1*g),r=r.slice(0,-1*g)),t.push(this.productions_[h[1]][0]),n.push(_.$),r.push(_._$),t.push(o[t[t.length-2]][t[t.length-1]]);break;case 3:return!0}}return!0}},t={initialize:function(){this._nodes=[],this._node={},this._stash=[]},set:function(e){for(var t in e)this._node[t]=e[t];return this._node},node:function(e){return arguments.length&&(this._node=e),this._node},push:function(){this._nodes.push(this._node),this._node={}},unshift:function(){this._nodes.unshift(this._node),this._node={}},yield:function(){var e=this._nodes;return this.initialize(),e}},n=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e){return this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t-1),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var o=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[o[0],o[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var n,r,o;if(this.options.backtrack_lexer&&(o={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(o.yylloc.range=this.yylloc.range.slice(0))),(r=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var i in o)this[i]=o[i];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var o=this._currentRules(),i=0;i<o.length;i++)if((n=this._input.match(this.rules[o[i]]))&&(!t||n[0].length>t[0].length)){if(t=n,r=i,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,o[i])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,o[r]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,n,r){switch(n){case 0:return 4;case 1:return 14;case 2:return 12;case 3:return 15;case 4:return 16;case 5:return 22;case 6:return 24;case 7:return 28;case 8:return 30;case 9:return 18;case 10:return t.yytext=t.yytext.substr(1,t.yyleng-2),32;case 11:return t.yytext=t.yytext.substr(1,t.yyleng-2),33;case 12:return 17;case 13:return 31}},rules:[/^(?:\$)/,/^(?:\.\.)/,/^(?:\.)/,/^(?:\*)/,/^(?:[a-zA-Z_]+[a-zA-Z0-9_]*)/,/^(?:\[)/,/^(?:\])/,/^(?:,)/,/^(?:((-?(?:0|[1-9][0-9]*)))?\:((-?(?:0|[1-9][0-9]*)))?(\:((-?(?:0|[1-9][0-9]*)))?)?)/,/^(?:(-?(?:0|[1-9][0-9]*)))/,/^(?:"(?:\\["bfnrt/\\]|\\u[a-fA-F0-9]{4}|[^"\\])*")/,/^(?:'(?:\\['bfnrt/\\]|\\u[a-fA-F0-9]{4}|[^'\\])*')/,/^(?:\(.+?\)(?=\]))/,/^(?:\?\(.+?\)(?=\]))/],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],inclusive:!0}}};return e}();function r(){this.yy={}}return e.lexer=n,r.prototype=e,e.Parser=r,new r}();void 0!==e&&void 0!==n&&(n.parser=o,n.Parser=o.Parser,n.parse=function(){return o.parse.apply(o,arguments)},n.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),r.exit(1));var o=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return n.parser.parse(o)},void 0!==t&&e.main===t&&n.main(r.argv.slice(1)))}).call(this,e("_process"))},{_process:14,fs:12,path:13}],2:[function(e,t,n){t.exports={identifier:"[a-zA-Z_]+[a-zA-Z0-9_]*",integer:"-?(?:0|[1-9][0-9]*)",qq_string:'"(?:\\\\["bfnrt/\\\\]|\\\\u[a-fA-F0-9]{4}|[^"\\\\])*"',q_string:"'(?:\\\\['bfnrt/\\\\]|\\\\u[a-fA-F0-9]{4}|[^'\\\\])*'"}},{}],3:[function(e,t,n){var r=e("./dict"),o=e("fs"),i={lex:{macros:{esc:"\\\\",int:r.integer},rules:[["\\$","return 'DOLLAR'"],["\\.\\.","return 'DOT_DOT'"],["\\.","return 'DOT'"],["\\*","return 'STAR'"],[r.identifier,"return 'IDENTIFIER'"],["\\[","return '['"],["\\]","return ']'"],[",","return ','"],["({int})?\\:({int})?(\\:({int})?)?","return 'ARRAY_SLICE'"],["{int}","return 'INTEGER'"],[r.qq_string,"yytext = yytext.substr(1,yyleng-2); return 'QQ_STRING';"],[r.q_string,"yytext = yytext.substr(1,yyleng-2); return 'Q_STRING';"],["\\(.+?\\)(?=\\])","return 'SCRIPT_EXPRESSION'"],["\\?\\(.+?\\)(?=\\])","return 'FILTER_EXPRESSION'"]]},start:"JSON_PATH",bnf:{JSON_PATH:[["DOLLAR",'yy.ast.set({ expression: { type: "root", value: $1 } }); yy.ast.unshift(); return yy.ast.yield()'],["DOLLAR PATH_COMPONENTS",'yy.ast.set({ expression: { type: "root", value: $1 } }); yy.ast.unshift(); return yy.ast.yield()'],["LEADING_CHILD_MEMBER_EXPRESSION","yy.ast.unshift(); return yy.ast.yield()"],["LEADING_CHILD_MEMBER_EXPRESSION PATH_COMPONENTS",'yy.ast.set({ operation: "member", scope: "child", expression: { type: "identifier", value: $1 }}); yy.ast.unshift(); return yy.ast.yield()']],PATH_COMPONENTS:[["PATH_COMPONENT",""],["PATH_COMPONENTS PATH_COMPONENT",""]],PATH_COMPONENT:[["MEMBER_COMPONENT",'yy.ast.set({ operation: "member" }); yy.ast.push()'],["SUBSCRIPT_COMPONENT",'yy.ast.set({ operation: "subscript" }); yy.ast.push() ']],MEMBER_COMPONENT:[["CHILD_MEMBER_COMPONENT",'yy.ast.set({ scope: "child" })'],["DESCENDANT_MEMBER_COMPONENT",'yy.ast.set({ scope: "descendant" })']],CHILD_MEMBER_COMPONENT:[["DOT MEMBER_EXPRESSION",""]],LEADING_CHILD_MEMBER_EXPRESSION:[["MEMBER_EXPRESSION",'yy.ast.set({ scope: "child", operation: "member" })']],DESCENDANT_MEMBER_COMPONENT:[["DOT_DOT MEMBER_EXPRESSION",""]],MEMBER_EXPRESSION:[["STAR",'yy.ast.set({ expression: { type: "wildcard", value: $1 } })'],["IDENTIFIER",'yy.ast.set({ expression: { type: "identifier", value: $1 } })'],["SCRIPT_EXPRESSION",'yy.ast.set({ expression: { type: "script_expression", value: $1 } })'],["INTEGER",'yy.ast.set({ expression: { type: "numeric_literal", value: parseInt($1) } })'],["END",""]],SUBSCRIPT_COMPONENT:[["CHILD_SUBSCRIPT_COMPONENT",'yy.ast.set({ scope: "child" })'],["DESCENDANT_SUBSCRIPT_COMPONENT",'yy.ast.set({ scope: "descendant" })']],CHILD_SUBSCRIPT_COMPONENT:[["[ SUBSCRIPT ]",""]],DESCENDANT_SUBSCRIPT_COMPONENT:[["DOT_DOT [ SUBSCRIPT ]",""]],SUBSCRIPT:[["SUBSCRIPT_EXPRESSION",""],["SUBSCRIPT_EXPRESSION_LIST",'$1.length > 1? yy.ast.set({ expression: { type: "union", value: $1 } }) : $$ = $1']],SUBSCRIPT_EXPRESSION_LIST:[["SUBSCRIPT_EXPRESSION_LISTABLE","$$ = [$1]"],["SUBSCRIPT_EXPRESSION_LIST , SUBSCRIPT_EXPRESSION_LISTABLE","$$ = $1.concat($3)"]],SUBSCRIPT_EXPRESSION_LISTABLE:[["INTEGER",'$$ = { expression: { type: "numeric_literal", value: parseInt($1) } }; yy.ast.set($$)'],["STRING_LITERAL",'$$ = { expression: { type: "string_literal", value: $1 } }; yy.ast.set($$)'],["ARRAY_SLICE",'$$ = { expression: { type: "slice", value: $1 } }; yy.ast.set($$)']],SUBSCRIPT_EXPRESSION:[["STAR",'$$ = { expression: { type: "wildcard", value: $1 } }; yy.ast.set($$)'],["SCRIPT_EXPRESSION",'$$ = { expression: { type: "script_expression", value: $1 } }; yy.ast.set($$)'],["FILTER_EXPRESSION",'$$ = { expression: { type: "filter_expression", value: $1 } }; yy.ast.set($$)']],STRING_LITERAL:[["QQ_STRING","$$ = $1"],["Q_STRING","$$ = $1"]]}};o.readFileSync&&(i.moduleInclude=o.readFileSync(e.resolve("../include/module.js")),i.actionInclude=o.readFileSync(e.resolve("../include/action.js"))),t.exports=i},{"./dict":2,fs:12}],4:[function(e,t,n){var r=e("./aesprim"),o=e("./slice"),i=e("static-eval"),a=e("underscore").uniq,s=function(){return this.initialize.apply(this,arguments)};function u(t,n,o){var i=e("./index"),a=h(r.parse(n).body[0].expression,{"@":t.value}),s=o.replace(/\{\{\s*value\s*\}\}/g,a),u=i.nodes(t.value,s);return u.forEach((function(e){e.path=t.path.concat(e.path.slice(1))})),u}function c(e){return Array.isArray(e)}function l(e){return function(t,n,r,o){var i=t.value,a=t.path,s=[],u=function(t,i){var a;c(t)?(t.forEach((function(e,t){s.length>=o||r(t,e,n)&&s.push({path:i.concat(t),value:e})})),t.forEach((function(t,n){s.length>=o||e&&u(t,i.concat(n))}))):(a=t)&&!(a instanceof Array)&&a instanceof Object&&(this.keys(t).forEach((function(e){s.length>=o||r(e,t[e],n)&&s.push({path:i.concat(e),value:t[e]})})),this.keys(t).forEach((function(n){s.length>=o||e&&u(t[n],i.concat(n))})))}.bind(this);return u(i,a),s}}function f(e){return function(t,n,r){return this.descend(n,t.expression.value,e,r)}}function d(e){return function(t,n,r){return this.traverse(n,t.expression.value,e,r)}}function h(){try{return i.apply(this,arguments)}catch(e){}}function p(e){return e=e.filter((function(e){return e})),a(e,(function(e){return e.path.map((function(e){return String(e).replace("-","--")})).join("-")}))}function m(e){var t=String(e);return t.match(/^-?[0-9]+$/)?parseInt(t):null}s.prototype.initialize=function(){this.traverse=l(!0),this.descend=l()},s.prototype.keys=Object.keys,s.prototype.resolve=function(e){var t=[e.operation,e.scope,e.expression.type].join("-"),n=this._fns[t];if(!n)throw new Error("couldn't resolve key: "+t);return n.bind(this)},s.prototype.register=function(e,t){if(!t instanceof Function)throw new Error("handler must be a function");this._fns[e]=t},s.prototype._fns={"member-child-identifier":function(e,t){var n=e.expression.value,r=t.value;if(r instanceof Object&&n in r)return[{value:r[n],path:t.path.concat(n)}]},"member-descendant-identifier":d((function(e,t,n){return e==n})),"subscript-child-numeric_literal":f((function(e,t,n){return e===n})),"member-child-numeric_literal":f((function(e,t,n){return String(e)===String(n)})),"subscript-descendant-numeric_literal":d((function(e,t,n){return e===n})),"member-child-wildcard":f((function(){return!0})),"member-descendant-wildcard":d((function(){return!0})),"subscript-descendant-wildcard":d((function(){return!0})),"subscript-child-wildcard":f((function(){return!0})),"subscript-child-slice":function(e,t){if(c(t.value)){var n=e.expression.value.split(":").map(m),r=t.value.map((function(e,n){return{value:e,path:t.path.concat(n)}}));return o.apply(null,[r].concat(n))}},"subscript-child-union":function(e,t){var n=[];return e.expression.value.forEach((function(e){var r={operation:"subscript",scope:"child",expression:e.expression},o=this.resolve(r)(r,t);o&&(n=n.concat(o))}),this),p(n)},"subscript-descendant-union":function(t,n,r){var o=e(".."),i=this,a=[];return o.nodes(n,"$..*").slice(1).forEach((function(e){a.length>=r||t.expression.value.forEach((function(t){var n={operation:"subscript",scope:"child",expression:t.expression},r=i.resolve(n)(n,e);a=a.concat(r)}))})),p(a)},"subscript-child-filter_expression":function(e,t,n){var o=e.expression.value.slice(2,-1),i=r.parse(o).body[0].expression;return this.descend(t,null,(function(e,t){return h(i,{"@":t})}),n)},"subscript-descendant-filter_expression":function(e,t,n){var o=e.expression.value.slice(2,-1),i=r.parse(o).body[0].expression;return this.traverse(t,null,(function(e,t){return h(i,{"@":t})}),n)},"subscript-child-script_expression":function(e,t){return u(t,e.expression.value.slice(1,-1),"$[{{value}}]")},"member-child-script_expression":function(e,t){return u(t,e.expression.value.slice(1,-1),"$.{{value}}")},"member-descendant-script_expression":function(e,t){return u(t,e.expression.value.slice(1,-1),"$..value")}},s.prototype._fns["subscript-child-string_literal"]=s.prototype._fns["member-child-identifier"],s.prototype._fns["member-descendant-numeric_literal"]=s.prototype._fns["subscript-descendant-string_literal"]=s.prototype._fns["member-descendant-identifier"],t.exports=s},{"..":"jsonpath","./aesprim":"./aesprim","./index":5,"./slice":7,"static-eval":15,underscore:12}],5:[function(e,t,n){var r=e("assert"),o=e("./dict"),i=e("./parser"),a=e("./handlers"),s=function(){this.initialize.apply(this,arguments)};function u(e){return"[object String]"==Object.prototype.toString.call(e)}s.prototype.initialize=function(){this.parser=new i,this.handlers=new a},s.prototype.parse=function(e){return r.ok(u(e),"we need a path"),this.parser.parse(e)},s.prototype.parent=function(e,t){r.ok(e instanceof Object,"obj needs to be an object"),r.ok(t,"we need a path");var n=this.nodes(e,t)[0];return n.path.pop(),this.value(e,n.path)},s.prototype.apply=function(e,t,n){r.ok(e instanceof Object,"obj needs to be an object"),r.ok(t,"we need a path"),r.equal(Z(n),"function","fn needs to be function");var o=this.nodes(e,t).sort((function(e,t){return t.path.length-e.path.length}));return o.forEach((function(t){var r=t.path.pop(),o=this.value(e,this.stringify(t.path)),i=t.value=n.call(e,o[r]);o[r]=i}),this),o},s.prototype.value=function(e,t,n){if(r.ok(e instanceof Object,"obj needs to be an object"),r.ok(t,"we need a path"),arguments.length>=3){var o=this.nodes(e,t).shift();if(!o)return this._vivify(e,t,n);var i=o.path.slice(-1).shift();this.parent(e,this.stringify(o.path))[i]=n}return this.query(e,this.stringify(t),1).shift()},s.prototype._vivify=function(e,t,n){var o=this;return r.ok(e instanceof Object,"obj needs to be an object"),r.ok(t,"we need a path"),function t(n,r){var i=n.pop(),a=o.value(e,n);a||(t(n.concat(),"string"==typeof i?{}:[]),a=o.value(e,n)),a[i]=r}(this.parser.parse(t).map((function(e){return e.expression.value})),n),this.query(e,t)[0]},s.prototype.query=function(e,t,n){r.ok(e instanceof Object,"obj needs to be an object"),r.ok(u(t),"we need a path");var o=this.nodes(e,t,n).map((function(e){return e.value}));return o},s.prototype.paths=function(e,t,n){r.ok(e instanceof Object,"obj needs to be an object"),r.ok(t,"we need a path");var o=this.nodes(e,t,n).map((function(e){return e.path}));return o},s.prototype.nodes=function(e,t,n){if(r.ok(e instanceof Object,"obj needs to be an object"),r.ok(t,"we need a path"),0===n)return[];var o=this.parser.parse(t),i=this.handlers,a=[{path:["$"],value:e}],s=[];return o.length&&"root"==o[0].expression.type&&o.shift(),o.length?(o.forEach((function(e,t){if(!(s.length>=n)){var r=i.resolve(e),u=[];a.forEach((function(i){if(!(s.length>=n)){var a=r(e,i,n);t==o.length-1?s=s.concat(a||[]):u=u.concat(a||[])}})),a=u}})),n?s.slice(0,n):s):a},s.prototype.stringify=function(e){r.ok(e,"we need a path");var t="$",n={"descendant-member":"..{{value}}","child-member":".{{value}}","descendant-subscript":"..[{{value}}]","child-subscript":"[{{value}}]"};return(e=this._normalize(e)).forEach((function(e){if("root"!=e.expression.type){var r,o=[e.scope,e.operation].join("-"),i=n[o];if(r="string_literal"==e.expression.type?JSON.stringify(e.expression.value):e.expression.value,!i)throw new Error("couldn't find template "+o);t+=i.replace(/{{value}}/,r)}})),t},s.prototype._normalize=function(e){if(r.ok(e,"we need a path"),"string"==typeof e)return this.parser.parse(e);if(Array.isArray(e)&&"string"==typeof e[0]){var t=[{expression:{type:"root",value:"$"}}];return e.forEach((function(e,n){"$"==e&&0===n||("string"==typeof e&&e.match("^"+o.identifier+"$")?t.push({operation:"member",scope:"child",expression:{value:e,type:"identifier"}}):t.push({operation:"subscript",scope:"child",expression:{value:e,type:"number"==typeof e?"numeric_literal":"string_literal"}}))})),t}if(Array.isArray(e)&&"object"==Z(e[0]))return e;throw new Error("couldn't understand path "+e)},s.Handlers=a,s.Parser=i;var c=new s;c.JSONPath=s,t.exports=c},{"./dict":2,"./handlers":4,"./parser":6,assert:8}],6:[function(e,t,n){var r=e("./grammar"),o=e("../generated/parser"),i=function(){var e=new o.Parser,t=e.parseError;return e.yy.parseError=function(){e.yy.ast&&e.yy.ast.initialize(),t.apply(e,arguments)},e};i.grammar=r,t.exports=i},{"../generated/parser":1,"./grammar":3}],7:[function(e,t,n){function r(e){return String(e).match(/^[0-9]+$/)?parseInt(e):Number.isFinite(e)?parseInt(e,10):0}t.exports=function(e,t,n,o){if("string"==typeof t)throw new Error("start cannot be a string");if("string"==typeof n)throw new Error("end cannot be a string");if("string"==typeof o)throw new Error("step cannot be a string");var i=e.length;if(0===o)throw new Error("step cannot be zero");if(o=o?r(o):1,n=n<0?i+n:n,t=r(0===(t=t<0?i+t:t)?0:t||(o>0?0:i-1)),n=r(0===n?0:n||(o>0?i:-1)),t=o>0?Math.max(0,t):Math.min(i,t),n=o>0?Math.min(n,i):Math.max(-1,n),o>0&&n<=t)return[];if(o<0&&t<=n)return[];for(var a=[],s=t;s!=n&&!(o<0&&s<=n||o>0&&s>=n);s+=o)a.push(e[s]);return a}},{}],8:[function(e,t,n){var r=e("util/"),o=Array.prototype.slice,i=Object.prototype.hasOwnProperty,a=t.exports=l;function s(e,t){return r.isUndefined(t)?""+t:r.isNumber(t)&&!isFinite(t)||r.isFunction(t)||r.isRegExp(t)?t.toString():t}function u(e,t){return r.isString(e)?e.length<t?e:e.slice(0,t):e}function c(e,t,n,r,o){throw new a.AssertionError({message:n,actual:e,expected:t,operator:r,stackStartFunction:o})}function l(e,t){e||c(e,!0,t,"==",a.ok)}function f(e,t){if(e===t)return!0;if(r.isBuffer(e)&&r.isBuffer(t)){if(e.length!=t.length)return!1;for(var n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}return r.isDate(e)&&r.isDate(t)?e.getTime()===t.getTime():r.isRegExp(e)&&r.isRegExp(t)?e.source===t.source&&e.global===t.global&&e.multiline===t.multiline&&e.lastIndex===t.lastIndex&&e.ignoreCase===t.ignoreCase:r.isObject(e)||r.isObject(t)?function(e,t){if(r.isNullOrUndefined(e)||r.isNullOrUndefined(t))return!1;if(e.prototype!==t.prototype)return!1;if(r.isPrimitive(e)||r.isPrimitive(t))return e===t;var n=d(e),i=d(t);if(n&&!i||!n&&i)return!1;if(n)return f(e=o.call(e),t=o.call(t));var a,s,u=m(e),c=m(t);if(u.length!=c.length)return!1;for(u.sort(),c.sort(),s=u.length-1;s>=0;s--)if(u[s]!=c[s])return!1;for(s=u.length-1;s>=0;s--)if(!f(e[a=u[s]],t[a]))return!1;return!0}(e,t):e==t}function d(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function h(e,t){return!(!e||!t)&&("[object RegExp]"==Object.prototype.toString.call(t)?t.test(e):e instanceof t||!0===t.call({},e))}function p(e,t,n,o){var i;r.isString(n)&&(o=n,n=null);try{t()}catch(e){i=e}if(o=(n&&n.name?" ("+n.name+").":".")+(o?" "+o:"."),e&&!i&&c(i,n,"Missing expected exception"+o),!e&&h(i,n)&&c(i,n,"Got unwanted exception"+o),e&&i&&n&&!h(i,n)||!e&&i)throw i}a.AssertionError=function(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=function(e){return u(JSON.stringify(e.actual,s),128)+" "+e.operator+" "+u(JSON.stringify(e.expected,s),128)}(this),this.generatedMessage=!0);var t=e.stackStartFunction||c;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var n=new Error;if(n.stack){var r=n.stack,o=r.indexOf("\n"+t.name);if(o>=0){var i=r.indexOf("\n",o+1);r=r.substring(i+1)}this.stack=r}}},r.inherits(a.AssertionError,Error),a.fail=c,a.ok=l,a.equal=function(e,t,n){e!=t&&c(e,t,n,"==",a.equal)},a.notEqual=function(e,t,n){e==t&&c(e,t,n,"!=",a.notEqual)},a.deepEqual=function(e,t,n){f(e,t)||c(e,t,n,"deepEqual",a.deepEqual)},a.notDeepEqual=function(e,t,n){f(e,t)&&c(e,t,n,"notDeepEqual",a.notDeepEqual)},a.strictEqual=function(e,t,n){e!==t&&c(e,t,n,"===",a.strictEqual)},a.notStrictEqual=function(e,t,n){e===t&&c(e,t,n,"!==",a.notStrictEqual)},a.throws=function(e,t,n){p.apply(this,[!0].concat(o.call(arguments)))},a.doesNotThrow=function(e,t){p.apply(this,[!1].concat(o.call(arguments)))},a.ifError=function(e){if(e)throw e};var m=Object.keys||function(e){var t=[];for(var n in e)i.call(e,n)&&t.push(n);return t}},{"util/":11}],9:[function(e,t,n){t.exports="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},{}],10:[function(e,t,n){t.exports=function(e){return e&&"object"===Z(e)&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},{}],11:[function(e,t,n){(function(t,r){var o=/%[sdj%]/g;n.format=function(e){if(!y(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(s(arguments[n]));return t.join(" ")}n=1;for(var r=arguments,i=r.length,a=String(e).replace(o,(function(e){if("%%"===e)return"%";if(n>=i)return e;switch(e){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(e){return"[Circular]"}default:return e}})),u=r[n];n<i;u=r[++n])m(u)||!b(u)?a+=" "+u:a+=" "+s(u);return a},n.deprecate=function(e,o){if(v(r.process))return function(){return n.deprecate(e,o).apply(this,arguments)};if(!0===t.noDeprecation)return e;var i=!1;return function(){if(!i){if(t.throwDeprecation)throw new Error(o);t.traceDeprecation?console.trace(o):console.error(o),i=!0}return e.apply(this,arguments)}};var i,a={};function s(e,t){var r={seen:[],stylize:c};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),p(t)?r.showHidden=t:t&&n._extend(r,t),v(r.showHidden)&&(r.showHidden=!1),v(r.depth)&&(r.depth=2),v(r.colors)&&(r.colors=!1),v(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=u),l(r,e,r.depth)}function u(e,t){var n=s.styles[t];return n?"["+s.colors[n][0]+"m"+e+"["+s.colors[n][1]+"m":e}function c(e,t){return e}function l(e,t,r){if(e.customInspect&&t&&x(t.inspect)&&t.inspect!==n.inspect&&(!t.constructor||t.constructor.prototype!==t)){var o=t.inspect(r,e);return y(o)||(o=l(e,o,r)),o}var i=function(e,t){if(v(t))return e.stylize("undefined","undefined");if(y(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}return g(t)?e.stylize(""+t,"number"):p(t)?e.stylize(""+t,"boolean"):m(t)?e.stylize("null","null"):void 0}(e,t);if(i)return i;var a=Object.keys(t),s=function(e){var t={};return e.forEach((function(e,n){t[e]=!0})),t}(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),S(t)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return f(t);if(0===a.length){if(x(t))return e.stylize("[Function"+(t.name?": "+t.name:"")+"]","special");if(_(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(w(t))return e.stylize(Date.prototype.toString.call(t),"date");if(S(t))return f(t)}var u,c="",b=!1,k=["{","}"];return h(t)&&(b=!0,k=["[","]"]),x(t)&&(c=" [Function"+(t.name?": "+t.name:"")+"]"),_(t)&&(c=" "+RegExp.prototype.toString.call(t)),w(t)&&(c=" "+Date.prototype.toUTCString.call(t)),S(t)&&(c=" "+f(t)),0!==a.length||b&&0!=t.length?r<0?_(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),u=b?function(e,t,n,r,o){for(var i=[],a=0,s=t.length;a<s;++a)C(t,String(a))?i.push(d(e,t,n,r,String(a),!0)):i.push("");return o.forEach((function(o){o.match(/^\d+$/)||i.push(d(e,t,n,r,o,!0))})),i}(e,t,r,s,a):a.map((function(n){return d(e,t,r,s,n,b)})),e.seen.pop(),function(e,t,n){var r=e.reduce((function(e,t){return t.indexOf("\n"),e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0);return r>60?n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}(u,c,k)):k[0]+c+k[1]}function f(e){return"["+Error.prototype.toString.call(e)+"]"}function d(e,t,n,r,o,i){var a,s,u;if((u=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?s=e.stylize(u.set?"[Getter/Setter]":"[Getter]","special"):u.set&&(s=e.stylize("[Setter]","special")),C(r,o)||(a="["+o+"]"),s||(e.seen.indexOf(u.value)<0?(s=m(n)?l(e,u.value,null):l(e,u.value,n-1)).indexOf("\n")>-1&&(s=i?s.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.stylize("[Circular]","special")),v(a)){if(i&&o.match(/^\d+$/))return s;(a=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+s}function h(e){return Array.isArray(e)}function p(e){return"boolean"==typeof e}function m(e){return null===e}function g(e){return"number"==typeof e}function y(e){return"string"==typeof e}function v(e){return void 0===e}function _(e){return b(e)&&"[object RegExp]"===k(e)}function b(e){return"object"===Z(e)&&null!==e}function w(e){return b(e)&&"[object Date]"===k(e)}function S(e){return b(e)&&("[object Error]"===k(e)||e instanceof Error)}function x(e){return"function"==typeof e}function k(e){return Object.prototype.toString.call(e)}function E(e){return e<10?"0"+e.toString(10):e.toString(10)}n.debuglog=function(e){if(v(i)&&(i=t.env.NODE_DEBUG||""),e=e.toUpperCase(),!a[e])if(new RegExp("\\b"+e+"\\b","i").test(i)){var r=t.pid;a[e]=function(){var t=n.format.apply(n,arguments);console.error("%s %d: %s",e,r,t)}}else a[e]=function(){};return a[e]},n.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},n.isArray=h,n.isBoolean=p,n.isNull=m,n.isNullOrUndefined=function(e){return null==e},n.isNumber=g,n.isString=y,n.isSymbol=function(e){return"symbol"===Z(e)},n.isUndefined=v,n.isRegExp=_,n.isObject=b,n.isDate=w,n.isError=S,n.isFunction=x,n.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"===Z(e)||void 0===e},n.isBuffer=e("./support/isBuffer");var A=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function C(e,t){return Object.prototype.hasOwnProperty.call(e,t)}n.log=function(){var e,t;console.log("%s - %s",(t=[E((e=new Date).getHours()),E(e.getMinutes()),E(e.getSeconds())].join(":"),[e.getDate(),A[e.getMonth()],t].join(" ")),n.format.apply(n,arguments))},n.inherits=e("inherits"),n._extend=function(e,t){if(!t||!b(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]];return e}}).call(this,e("_process"),void 0!==q?q:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./support/isBuffer":10,_process:14,inherits:9}],12:[function(e,t,n){},{}],13:[function(e,t,n){(function(e){function t(e,t){for(var n=0,r=e.length-1;r>=0;r--){var o=e[r];"."===o?e.splice(r,1):".."===o?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}function r(e,t){if(e.filter)return e.filter(t);for(var n=[],r=0;r<e.length;r++)t(e[r],r,e)&&n.push(e[r]);return n}n.resolve=function(){for(var n="",o=!1,i=arguments.length-1;i>=-1&&!o;i--){var a=i>=0?arguments[i]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(n=a+"/"+n,o="/"===a.charAt(0))}return(o?"/":"")+(n=t(r(n.split("/"),(function(e){return!!e})),!o).join("/"))||"."},n.normalize=function(e){var i=n.isAbsolute(e),a="/"===o(e,-1);return(e=t(r(e.split("/"),(function(e){return!!e})),!i).join("/"))||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},n.isAbsolute=function(e){return"/"===e.charAt(0)},n.join=function(){var e=Array.prototype.slice.call(arguments,0);return n.normalize(r(e,(function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},n.relative=function(e,t){function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var n=e.length-1;n>=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=n.resolve(e).substr(1),t=n.resolve(t).substr(1);for(var o=r(e.split("/")),i=r(t.split("/")),a=Math.min(o.length,i.length),s=a,u=0;u<a;u++)if(o[u]!==i[u]){s=u;break}var c=[];for(u=s;u<o.length;u++)c.push("..");return(c=c.concat(i.slice(s))).join("/")},n.sep="/",n.delimiter=":",n.dirname=function(e){if("string"!=typeof e&&(e+=""),0===e.length)return".";for(var t=e.charCodeAt(0),n=47===t,r=-1,o=!0,i=e.length-1;i>=1;--i)if(47===(t=e.charCodeAt(i))){if(!o){r=i;break}}else o=!1;return-1===r?n?"/":".":n&&1===r?"/":e.slice(0,r)},n.basename=function(e,t){var n=function(e){"string"!=typeof e&&(e+="");var t,n=0,r=-1,o=!0;for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!o){n=t+1;break}}else-1===r&&(o=!1,r=t+1);return-1===r?"":e.slice(n,r)}(e);return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},n.extname=function(e){"string"!=typeof e&&(e+="");for(var t=-1,n=0,r=-1,o=!0,i=0,a=e.length-1;a>=0;--a){var s=e.charCodeAt(a);if(47!==s)-1===r&&(o=!1,r=a+1),46===s?-1===t?t=a:1!==i&&(i=1):-1!==t&&(i=-1);else if(!o){n=a+1;break}}return-1===t||-1===r||0===i||1===i&&t===r-1&&t===n+1?"":e.slice(t,r)};var o="b"==="ab".substr(-1)?function(e,t,n){return e.substr(t,n)}:function(e,t,n){return t<0&&(t=e.length+t),e.substr(t,n)}}).call(this,e("_process"))},{_process:14}],14:[function(e,t,n){var r,o,i=t.exports={};function a(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function u(e){if(r===setTimeout)return setTimeout(e,0);if((r===a||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:a}catch(e){r=a}try{o="function"==typeof clearTimeout?clearTimeout:s}catch(e){o=s}}();var c,l=[],f=!1,d=-1;function h(){f&&c&&(f=!1,c.length?l=c.concat(l):d=-1,l.length&&p())}function p(){if(!f){var e=u(h);f=!0;for(var t=l.length;t;){for(c=l,l=[];++d<t;)c&&c[d].run();d=-1,t=l.length}c=null,f=!1,function(e){if(o===clearTimeout)return clearTimeout(e);if((o===s||!o)&&clearTimeout)return o=clearTimeout,clearTimeout(e);try{return o(e)}catch(t){try{return o.call(null,e)}catch(t){return o.call(this,e)}}}(e)}}function m(e,t){this.fun=e,this.array=t}function g(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];l.push(new m(e,t)),1!==l.length||f||u(p)},m.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.prependListener=g,i.prependOnceListener=g,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},{}],15:[function(e,t,n){var r=e("escodegen").generate;t.exports=function(e,t){t||(t={});var n={},o=function e(o,i){if("Literal"===o.type)return o.value;if("UnaryExpression"===o.type){var a=e(o.argument);return"+"===o.operator?+a:"-"===o.operator?-a:"~"===o.operator?~a:"!"===o.operator?!a:n}if("ArrayExpression"===o.type){for(var s=[],u=0,c=o.elements.length;u<c;u++){if((y=e(o.elements[u]))===n)return n;s.push(y)}return s}if("ObjectExpression"===o.type){var l={};for(u=0;u<o.properties.length;u++){var f=null===(v=o.properties[u]).value?v.value:e(v.value);if(f===n)return n;l[v.key.value||v.key.name]=f}return l}if("BinaryExpression"===o.type||"LogicalExpression"===o.type){if((c=e(o.left))===n)return n;var d=e(o.right);if(d===n)return n;var h=o.operator;return"=="===h?c==d:"==="===h?c===d:"!="===h?c!=d:"!=="===h?c!==d:"+"===h?c+d:"-"===h?c-d:"*"===h?c*d:"/"===h?c/d:"%"===h?c%d:"<"===h?c<d:"<="===h?c<=d:">"===h?c>d:">="===h?c>=d:"|"===h?c|d:"&"===h?c&d:"^"===h?c^d:"&&"===h?c&&d:"||"===h?c||d:n}if("Identifier"===o.type)return{}.hasOwnProperty.call(t,o.name)?t[o.name]:n;if("ThisExpression"===o.type)return{}.hasOwnProperty.call(t,"this")?t.this:n;if("CallExpression"===o.type){var p=e(o.callee);if(p===n)return n;if("function"!=typeof p)return n;var m=o.callee.object?e(o.callee.object):n;m===n&&(m=null);var g=[];for(u=0,c=o.arguments.length;u<c;u++){var y;if((y=e(o.arguments[u]))===n)return n;g.push(y)}return p.apply(m,g)}var v;if("MemberExpression"===o.type)return(l=e(o.object))===n||"function"==typeof l?n:"Identifier"===o.property.type?l[o.property.name]:(v=e(o.property))===n?n:l[v];if("ConditionalExpression"===o.type)return(a=e(o.test))===n?n:e(a?o.consequent:o.alternate);if("ExpressionStatement"===o.type)return(a=e(o.expression))===n?n:a;if("ReturnStatement"===o.type)return e(o.argument);if("FunctionExpression"===o.type){var _=o.body.body,b={};for(Object.keys(t).forEach((function(e){b[e]=t[e]})),u=0;u<o.params.length;u++){var w=o.params[u];if("Identifier"!=w.type)return n;t[w.name]=null}for(var u in _)if(e(_[u])===n)return n;t=b;var S=Object.keys(t),x=S.map((function(e){return t[e]}));return Function(S.join(", "),"return "+r(o)).apply(null,x)}if("TemplateLiteral"===o.type){var k="";for(u=0;u<o.expressions.length;u++)k+=e(o.quasis[u]),k+=e(o.expressions[u]);return k+e(o.quasis[u])}if("TaggedTemplateExpression"===o.type){var E=e(o.tag),A=o.quasi,C=A.quasis.map(e),O=A.expressions.map(e);return E.apply(null,[C].concat(O))}return"TemplateElement"===o.type?o.value.cooked:n}(e);return o===n?void 0:o}},{escodegen:12}],jsonpath:[function(e,t,n){t.exports=e("./lib/index")},{"./lib/index":5}]},{},["jsonpath"])("jsonpath")},e.exports=n()}(eR);var tR=eR.exports;const nR=new Set(["i","me","my","myself","we","our","ours","ourselves","you","your","yours","yourself","yourselves","he","him","his","himself","she","her","hers","herself","it","its","itself","they","them","their","theirs","themselves","what","which","who","whom","this","that","these","those","am","is","are","was","were","be","been","being","have","has","had","having","do","does","did","doing","a","an","the","and","but","if","or","because","as","until","while","of","at","by","for","with","about","against","between","into","through","during","before","after","above","below","to","from","up","down","in","out","on","off","over","under","again","further","then","once","here","there","when","where","why","how","all","any","both","each","few","more","most","other","some","such","no","nor","not","only","own","same","so","than","too","very","s","t","can","will","just","don","should","now",..."1234567890"]);function rR(e,t){for(const[n,r]of t.entries())if(e.startsWith(r))return e.replace(r,String(n));return e}const oR="$PREFIXED_ID";function iR(e,t,n){return t===oR?[rR(e.id,n)]:tR.query(e,t)}function aR(e){return e.toLowerCase().split(/[^\d:A-Za-z]+/).filter((e=>e&&!nR.has(e)))}function*sR(e){for(const t of e)yield*aR(t)}function*uR(e){for(const t of e)if("string"==typeof t)yield t;else if("object"==typeof t){const e=tR.query(t,"$..*");yield*uR(e)}}function*cR(e,t,n){for(const r of t){const t=iR(e,r,n);if(t.length>0)for(const e of sR(uR(t)))yield[r,e]}}async function lR(e,t,n){const r=await this.db,o=t??r.transaction(["nodes"]);VO(n);const i=[...aR(e)],a=[],s=new Map;a.push(...i.map((async(e,t)=>{VO(n);const r=o.objectStore("nodes").index("full-text-words");for await(const o of r.iterate(IDBKeyRange.bound(e,`${e}￿`,!1,!1))){VO(n);const e=o.value,r=s.get(e.id)??[e,new Set];r[1].add(t),s.set(e.id,r)}}))),await Promise.all(a),VO(n);const u=[];for(const[,[e,t]]of s)VO(n),u.push(...fR(this.textIndexFields,e,t,i,this.prefixes));return u.sort(((e,t)=>t.score-e.score)),u.slice(0,this.options.maxSearchResults??this.DEFAULT_MAX_SEARCH_RESULTS)}function fR(e,t,n,r,o){const i=[...n].sort().map((e=>r[e])),a=i.map((e=>{const t=e.replaceAll(/[$()*+./?[\\\]^{|}-]/g,String.raw`\$&`);return new RegExp(`\\b${t}`,"gi")}));let s=[],u=0;for(const[n,i]of e.entries()){const c=new Set,l=e.length-n-1,f=[...uR(iR(t,i.jsonPath,o))];for(const e of f){let n=0;const o=[];for(const[t,i]of a.entries())for(const a of e.matchAll(i)){n+=1+1*l,c.add(t);const i=a.index,s=r[t];void 0!==i&&(n+=.01*s.length,n+=s.length/e.length*100*.05,o.push({wordIndex:t,position:i}))}n+=100*c.size,u<n&&(u=n),o.sort(((e,t)=>e.position-t.position)),o.length>0&&s.push({term:t,field:i,str:e,score:n,wordMatches:o})}}s=s.filter((e=>e.score===u));for(const e of s){const{wordMatches:t}=e;for(let n=0;n<t.length-1;n++){const r=t[n],o=t[n+1],a=o.wordIndex-r.wordIndex;if(1===a||-1===a){e.score+=1,1===a&&(e.score+=1);const t=Math.abs(o.position-(r.position+i[r.wordIndex].length))-1;e.score-=.05*t}}}return s}function dR(e){return"string"==typeof e.id}function hR(e){return"string"==typeof e.sub&&"string"==typeof e.pred&&"string"==typeof e.obj}function pR(e){return Boolean(e.meta?.deprecated)}var mR=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==Z(t)&&"object"==Z(n)){if(t.constructor!==n.constructor)return!1;var r,o,i;if(Array.isArray(t)){if((r=t.length)!=n.length)return!1;for(o=r;0!=o--;)if(!e(t[o],n[o]))return!1;return!0}if(t instanceof Map&&n instanceof Map){if(t.size!==n.size)return!1;var a,s=we(t.entries());try{for(s.s();!(a=s.n()).done;)if(!n.has((o=a.value)[0]))return!1}catch(e){s.e(e)}finally{s.f()}var u,c=we(t.entries());try{for(c.s();!(u=c.n()).done;)if(!e((o=u.value)[1],n.get(o[0])))return!1}catch(e){c.e(e)}finally{c.f()}return!0}if(t instanceof Set&&n instanceof Set){if(t.size!==n.size)return!1;var l,f=we(t.entries());try{for(f.s();!(l=f.n()).done;)if(!n.has((o=l.value)[0]))return!1}catch(e){f.e(e)}finally{f.f()}return!0}if(ArrayBuffer.isView(t)&&ArrayBuffer.isView(n)){if((r=t.length)!=n.length)return!1;for(o=r;0!=o--;)if(t[o]!==n[o])return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((r=(i=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(o=r;0!=o--;)if(!Object.prototype.hasOwnProperty.call(n,i[o]))return!1;for(o=r;0!=o--;){var d=i[o];if(!e(t[d],n[d]))return!1}return!0}return t!=t&&n!=n};async function gR(e){return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.blocked,o=n.upgrade,i=n.blocking,a=n.terminated,s=indexedDB.open(e,t),u=Fd(s);return o&&s.addEventListener("upgradeneeded",(function(e){o(Fd(s.result),e.oldVersion,e.newVersion,Fd(s.transaction),e)})),r&&s.addEventListener("blocked",(function(e){return r(e.oldVersion,e.newVersion,e)})),u.then((function(e){a&&e.addEventListener("close",(function(){return a()})),i&&e.addEventListener("versionchange",(function(e){return i(e.oldVersion,e.newVersion,e)}))})).catch((function(){})),u}(e,2,{upgrade(e,t,n,r,o){if(t<2&&(e.objectStoreNames.contains("meta")&&e.deleteObjectStore("meta"),e.objectStoreNames.contains("nodes")&&e.deleteObjectStore("nodes"),e.objectStoreNames.contains("edges")&&e.deleteObjectStore("edges")),e.objectStoreNames.contains("meta")||e.createObjectStore("meta"),!e.objectStoreNames.contains("nodes")){e.createObjectStore("nodes",{keyPath:"id"});const t=r.objectStore("nodes");t.createIndex("by-label","lbl"),t.createIndex("by-type","type"),t.createIndex("by-synonym",["meta","synonyms","val"]),t.createIndex("full-text-words","fullTextWords",{multiEntry:!0})}if(!e.objectStoreNames.contains("edges")){e.createObjectStore("edges",{autoIncrement:!0});const t=r.objectStore("edges");t.createIndex("by-subject","sub"),t.createIndex("by-object","obj"),t.createIndex("by-predicate","pred")}}})}function yR(e){const t=new Set;for(const[,n]of e)t.add(n);return[...t]}async function vR(e){const t=Date.now();let n;try{n=JSON.parse(await y.openLocation(this.sourceLocation).readFile("utf8"))}catch{throw new Error("Error in loading ontology")}const r=Date.now(),[o,...i]=n.graphs??[];if(o){if(i.length>0)throw new Error("multiple graphs not supported");try{const n=e.transaction(["meta","nodes","edges"],"readwrite");await n.objectStore("meta").clear(),await n.objectStore("nodes").clear(),await n.objectStore("edges").clear();const i=n.objectStore("nodes"),a=_R.call(this).map((e=>e.jsonPath));for(const e of o.nodes??[])dR(e)&&await i.add({...e,fullTextWords:yR(cR(e,a,this.prefixes))});const s=n.objectStore("edges");for(const e of o.edges??[])hR(e)&&await s.add(e);await n.done;const u=e.transaction("meta","readwrite");await u.objectStore("meta").add({ontologyRecord:{name:this.ontologyName,version:this.ontologyVersion,sourceLocation:this.sourceLocation},storeOptions:this.options,graphMeta:o.meta,timestamp:String(new Date),schemaVersion:2,timings:{overall:Date.now()-t,load:Date.now()-r}},"meta"),await u.done}catch(t){throw await e.transaction("meta","readwrite").objectStore("meta").clear(),t}}}function _R(){return[{displayName:"ID",jsonPath:oR},...this.options.textIndexing?.indexFields??kR]}async function bR(e){const[t]=await e.transaction("meta").objectStore("meta").getAll();return!!t&&mR(this.options.prefixes,t.storeOptions.prefixes)&&mR(this.options.textIndexing,t.storeOptions.textIndexing)}class wR{ontologyName;ontologyVersion;sourceLocation;db;options;loadOboGraphJson=vR;getTermsByFulltext=lR;openDatabase=gR;isDatabaseCurrent=bR;get textIndexFields(){return _R.call(this)}get prefixes(){return this.options.prefixes??new Map}DEFAULT_MAX_SEARCH_RESULTS=100;constructor(e,t,n,r){this.ontologyName=e,this.ontologyVersion=t,this.sourceLocation=n,this.db=this.prepareDatabase(),this.options=r??{}}validate(){const e=[],{sourceLocation:t,sourceType:n}=this;return n?"obo-graph-json"!==n&&e.push(new Error(`ontology source file ${JSON.stringify(t)} has type ${n}, which is not yet supported`)):e.push(new Error(`unable to determine format of ontology source file ${JSON.stringify(t)}, file name must end with ".json", ".obo", or ".owl"`)),e}get sourceType(){if(n.isUriLocation(this.sourceLocation)){if(this.sourceLocation.uri.endsWith(".json"))return"obo-graph-json"}else if(n.isLocalPathLocation(this.sourceLocation)&&this.sourceLocation.localPath.endsWith(".json"))return"obo-graph-json"}get dbName(){return`Apollo Ontology "${this.ontologyName}" "${this.ontologyVersion}"`}async prepareDatabase(){const e=this.validate();if(e.length>0)throw e;const t=await this.openDatabase(this.dbName);if(await this.isDatabaseCurrent(t))return t;try{const{sourceLocation:e,sourceType:n}=this;if("obo-graph-json"!==n)throw new Error(`ontology source file ${JSON.stringify(e)} has type ${n}, which is not yet supported`);return await this.loadOboGraphJson(t),t}catch(e){throw t.close(),await function(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).blocked,n=indexedDB.deleteDatabase(e);return t&&n.addEventListener("blocked",(function(e){return t(e.oldVersion,e)})),Fd(n).then((function(){}))}(this.dbName),e}}async termCount(e){const t=await this.db;return(e??t.transaction("nodes")).objectStore("nodes").count()}unique(e){const t=new Map,n=[];for(const r of e)t.has(r.id)||(t.set(r.id,!0),n.push(r));return n}async getTermsWithLabelOrSynonym(e,t,n){const r=t?.includeSubclasses??!0,o=await this.db,i=n??o.transaction(["nodes","edges"]),a=i.objectStore("nodes"),s=[...await a.index("by-label").getAll(e),...await a.index("by-synonym").getAll(e)];if(r){const e=await this.recurseEdges("by-object",s.map((e=>e.id)),(e=>"is_a"===e.pred),"sub",i);for(const t of e){const e=await a.get(t);e&&s.push(e)}}return s}async getPropertiesByLabel(e,t,n){const r=t?.includeSubProperties??!0,o=await this.db,i=n??o.transaction(["nodes","edges"]),a=(await this.getTermsWithLabelOrSynonym(e,{includeSubclasses:!1},i)).filter((e=>CR(e)));if(r){const e=await this.recurseEdges("by-object",a.map((e=>e.id)),(e=>"subPropertyOf"===e.pred),"sub",i),t=i.objectStore("nodes");for(const n of e){const e=await t.get(n);e&&CR(e)&&a.push(e)}}return a}async recurseEdges(e,t,n,r,o){const i=new Set;return await async function t(a){await Promise.all([...a].map((async a=>{const s=(await o.objectStore("edges").index(e).getAll(a)).filter((e=>n(e))).map((e=>e[r]));if(s.length>0){for(const e of s)i.add(e);await t(s)}})))}(t),i.values()}async*expandNodeSet(e,t="is_a",n,r){const o=await this.db,i=r??o.transaction(["edges"]),a=[...e],s=await this.recurseEdges("subclasses"===n?"by-object":"by-subject",a,(e=>e.pred===t),"subclasses"===n?"sub":"obj",i);for(const e of a)yield e;for(const e of s)yield e}expandSubclasses(e,t="is_a",n){return this.expandNodeSet(e,t,"subclasses",n)}expandSuperclasses(e,t="is_a",n){return this.expandNodeSet(e,t,"superclasses",n)}async getClassesThat(e,t,n){const r=await this.db,o=n??r.transaction(["nodes","edges"]),i=await this.getPropertiesByLabel(e,{includeSubProperties:!0},o),a=new Set(i.map((e=>e.id))),s=await async function(e){const t=[];for await(const n of e)t.push(n);return t}(this.expandSuperclasses(t.map((e=>e.id)),"is_a",o)),u=await this.recurseEdges("by-object",s,(e=>a.has(e.pred)),"sub",o),c=this.expandSubclasses(u,"is_a",o),l=[];for await(const e of c){const t=await o.objectStore("nodes").get(e);t&&AR(t)&&!pR(t)&&l.push(t)}return l}async getClassesWithoutPropertyLabeled(e,t,n){const r=await this.db,o=n??r.transaction(["nodes","edges"]),i=o.objectStore("nodes"),a=o.objectStore("edges"),s=(await this.getPropertiesByLabel(e,t,o)).map((e=>e.id)),u=await(async()=>{const e=new Set;for(const t of s)for await(const n of a.index("by-predicate").iterate(t))e.add(n.value.sub);const t=new Set;for await(const n of this.expandSubclasses(e,"is_a",o))t.add(n);return t})(),c=[];for await(const e of i){const t=e.value;AR(t)&&!u.has(t.id)&&c.push(t.id)}const l=[];for(const e of c){const t=await o.objectStore("nodes").get(e);t&&AR(t)&&!pR(t)&&l.push(t)}return l}async getAllClasses(e){const t=await this.db,n=e??t.transaction(["nodes"]);return(await n.objectStore("nodes").index("by-type").getAll("CLASS")).filter((e=>!pR(e)))}async getAllTerms(e){const t=await this.db,n=e??t.transaction(["nodes"]);return(await n.objectStore("nodes").getAll()).filter((e=>!pR(e)))}}const SR=u.types.model("OntologyRecord",{name:u.types.string,version:"unversioned",source:u.types.union(g.LocalPathLocation,g.UriLocation,g.BlobLocation),options:u.types.frozen()}).volatile((e=>({dataStore:void 0}))).actions((e=>({ping(){},initDataStore(){e.dataStore=new wR(e.name,e.version,u.getSnapshot(e.source),e.options)},afterCreate(){u.addDisposer(e,s.autorun((()=>{this.initDataStore()})))}}))),xR=u.types.model("OntologyManager",{ontologies:u.types.array(SR),prefixes:u.types.optional(u.types.map(u.types.string),{"GO:":"http://purl.obolibrary.org/obo/GO_","SO:":"http://purl.obolibrary.org/obo/SO_"})}).views((e=>({get featureTypeOntologyName(){const t=u.getRoot(e).jbrowse.configuration;return r.readConfObject(t.ApolloPlugin,"featureTypeOntologyName")}}))).views((e=>({get featureTypeOntology(){return this.findOntology(e.featureTypeOntologyName)},findOntology:(t,n)=>e.ontologies.find((e=>e.name===t&&(void 0===n||e.version===n))),openOntology(e,t){return this.findOntology(e,t)?.dataStore},applyPrefixes:t=>rR(t,e.prefixes),expandPrefixes:t=>function(e,t){for(const[n,r]of t.entries())if(e.startsWith(String(n)))return e.replace(String(n),r);return e}(t,e.prefixes)}))).actions((e=>({addOntology(t,n,r,o){const i=e.ontologies.push({name:t,version:n,source:r,options:{prefixes:new Map(e.prefixes.entries()),...o}});e.ontologies[i-1].ping()}}))),kR=[{displayName:"Label",jsonPath:"$.lbl"},{displayName:"Synonym",jsonPath:"$.meta.synonyms[*].val"},{displayName:"Definition",jsonPath:"$.meta.definition.val"}],ER=r.ConfigurationSchema("OntologyRecord",{name:{type:"string",description:'the full name of the ontology, e.g. "Gene Ontology"',defaultValue:"My Ontology"},version:{type:"string",description:"the ontology's version string",defaultValue:"unversioned"},source:{type:"fileLocation",description:"the download location for the ontology's source file",defaultValue:{locationType:"UriLocation",uri:"http://example.com/myontology.json"}},textIndexFields:{type:"frozen",description:"JSON paths for text fields that will be indexed for text searching",defaultValue:kR}});function AR(e){return"CLASS"===e.type}function CR(e){return"PROPERTY"===e.type}async function OR(e,t,n){if(!e)return;const r=await t.getTermsWithLabelOrSynonym(e.type,{includeSubclasses:!1}),o=r.filter(AR);if(0===r.length)return;const i=await t.getClassesThat("part_of",o);return 0!==i.length?i:void 0}function RR({fetchValidTerms:e,filterTerms:t,includeDeprecated:n,onChange:r,ontologyName:o,ontologyVersion:i,renderInput:a,session:s,style:u,value:l}){const[f,h]=d.useState(!1),[p,m]=d.useState(),[g,y]=d.useState(""),[v,_]=d.useState(),{ontologyManager:b}=s.apolloDataStore,w=b.findOntology(o,i)?.dataStore,S=w&&f&&!p,x=w&&!v,k=d.useCallback((e=>(n||!pR(e))&&(!t||t(e))),[t,n]);d.useEffect((()=>{f||m(void 0)}),[f]),d.useEffect((()=>{const e=new AbortController,{signal:t}=e;return x&&(y(""),async function(e,t,n,r){if(!t)return;const o=(await e.getTermsWithLabelOrSynonym(t,{includeSubclasses:!1})).find((e=>(n??(()=>!0))(e)));if(!o)throw new Error(`not a valid ${e.ontologyName} term`);return o}(w,l,k).then((e=>{t.aborted||_(e)}),(e=>{t.aborted||$O(e)||y(String(e))}))),()=>{e.abort()}}),[s,l,k,w,x]),d.useEffect((()=>{const t=new AbortController,{signal:n}=t;return S&&async function(e,t,n,r){let o;if(t){const n=await t(e,r);n&&(o=n)}return o||(o=await e.getAllTerms()),n?o.filter((e=>n(e))):o}(w,e,k,n).then((e=>{e&&!n.aborted&&m(e)}),(e=>{n.aborted||$O(e)||s.notify(e instanceof Error?e.message:String(e),"error")})),()=>{t.abort()}}),[S,k,w,s,e]);const E={};return g&&(E.error=!0,E.helperText=g),M.default.createElement(c.Autocomplete,{style:u,autoComplete:!0,filterSelectedOptions:!0,disableClearable:!0,selectOnFocus:!0,clearOnBlur:!0,handleHomeEndKeys:!0,freeSolo:!0,value:l,options:p??[],onOpen:()=>{h(!0)},onClose:()=>{h(!1)},loading:S,renderInput:a??(e=>M.default.createElement(c.TextField,{...e,...E})),getOptionLabel:e=>"string"==typeof e?e:e.lbl??"",isOptionEqualToValue:(e,t)=>e.lbl===t.lbl,onChange:(e,t)=>{t&&("string"==typeof t?(_(void 0),r(l,t)):t.lbl!==l&&(y(""),_(t),r(l,t.lbl)))}})}function NR({changeManager:e,handleClose:t,session:n,sourceAssemblyId:r,sourceFeature:o}){const{notify:i}=n,[a,s]=d.useState(String(o.max)),[u,l]=d.useState(String(o.min+1)),[f,h]=d.useState(""),[p,m]=d.useState(""),[g,y]=d.useState(""),v=Number(a)<=Number(u);return M.default.createElement(xd,{open:!0,title:"Add new child feature",handleClose:t,maxWidth:!1,"data-testid":"add-feature-dialog"},M.default.createElement("form",{onSubmit:async function(n){n.preventDefault(),m("");const s=new nr.AddFeatureChange({changedIds:[o._id],typeName:"AddFeatureChange",assembly:r,addedFeature:{_id:(new Jn).toHexString(),refSeq:o.refSeq,min:Number(u)-1,max:Number(a),type:f},parentFeatureId:o._id});await e.submit(s),i("Feature added successfully","success"),t(),n.preventDefault()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.TextField,{margin:"dense",id:"start",label:"Start",type:"number",fullWidth:!0,variant:"outlined",value:u,onChange:e=>{l(e.target.value)}}),M.default.createElement(c.TextField,{margin:"dense",id:"end",label:"End",type:"number",fullWidth:!0,variant:"outlined",value:a,onChange:e=>{s(e.target.value)},error:v,helperText:v?'"End" must be greater than "Start"':null}),M.default.createElement(RR,{session:n,ontologyName:"Sequence Ontology",style:{width:170},value:f,filterTerms:AR,fetchValidTerms:async function(e,t,n){const r=await OR(e,t);if(r)return r;y(`Type "${e?.type}" does not have any children in the ontology`)}.bind(null,o),renderInput:e=>M.default.createElement(c.TextField,{...e,label:"Type",variant:"outlined",fullWidth:!0,error:Boolean(g),helperText:g}),onChange:(e,t)=>{var n;t&&(n=t,m(""),h(n))}})),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"contained",type:"submit",disabled:v||!(u&&a&&f)},"Submit"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),p?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},p)):null)}function IR({changeManager:e,handleClose:t,region:n,session:r}){const{notify:o}=r,[i,a]=d.useState(String(n.end)),[s,u]=d.useState(String(n.start+1)),[l,f]=d.useState(""),[h,p]=d.useState(),[m,g]=d.useState(""),y=Number(i)<=Number(s);return M.default.createElement(xd,{open:!0,title:"Add new feature",handleClose:t,maxWidth:!1,"data-testid":"add-feature-dialog"},M.default.createElement("form",{onSubmit:async function(a){let u;a.preventDefault(),g("");for(const[,e]of r.apolloDataStore.assemblies??new Map)if(e._id===n.assemblyName)for(const[,t]of e.refSeqs??new Map)t.name===n.refName&&(u=t._id);if(!u)return void g("Invalid refseq id");const c=(new Jn).toHexString(),f=new nr.AddFeatureChange({changedIds:[c],typeName:"AddFeatureChange",assembly:n.assemblyName,addedFeature:{_id:c,refSeq:u,min:Number(s)-1,max:Number(i),type:l,strand:h}});await e.submit(f),o("Feature added successfully","success"),t(),a.preventDefault()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.TextField,{margin:"dense",id:"start",label:"Start",type:"number",fullWidth:!0,variant:"outlined",value:Number(s),onChange:e=>{u(e.target.value)}}),M.default.createElement(c.TextField,{margin:"dense",id:"end",label:"End",type:"number",fullWidth:!0,variant:"outlined",value:i,onChange:e=>{a(e.target.value)},error:y,helperText:y?'"End" must be greater than "Start"':null}),M.default.createElement(RR,{session:r,ontologyName:"Sequence Ontology",style:{width:170},value:l,filterTerms:AR,renderInput:e=>M.default.createElement(c.TextField,{...e,label:"Type",variant:"outlined",fullWidth:!0}),onChange:(e,t)=>{var n;t&&(n=t,g(""),f(n))}}),M.default.createElement(c.FormControl,null,M.default.createElement(c.InputLabel,{id:"demo-simple-select-label"},"Strand"),M.default.createElement(c.Select,{labelId:"demo-simple-select-label",id:"demo-simple-select",label:"Strand",value:h?.toString(),onChange:function(e){switch(g(""),Number(e.target.value)){case 1:p(1);break;case-1:p(-1);break;default:p(void 0)}}},M.default.createElement(c.MenuItem,{value:void 0}),M.default.createElement(c.MenuItem,{value:1},"+"),M.default.createElement(c.MenuItem,{value:-1},"-")))),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"contained",type:"submit",disabled:y||!(s&&i&&l)},"Submit"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),m?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},m)):null)}function PR(e,t){const n=(new Jn).toHexString();t.push(n);const r={};if(e.children)for(const n of Object.values(e.children)){const e=PR(n,t);r[e._id]=e}const o="string"==typeof e.refSeq?e.refSeq:e.refSeq.toHexString();return{...e,refSeq:o,children:e.children&&r,_id:n}}function TR({changeManager:e,handleClose:t,session:n,sourceAssemblyId:o,sourceFeature:i}){const{assemblyManager:a,notify:s}=n,l=a.assemblyList,[f,h]=d.useState(l.find((e=>e.name!==o))?.name),[p,m]=d.useState([]),[g,y]=d.useState(""),[v,_]=d.useState(i.min),[b,w]=d.useState("");function S(e,t){const n={};if(e.children)for(const r of Object.values(e.children)){const e=S(r,t);e.refSeq=g,e.min=e.min+t,e.max=e.max+t,n[e._id]=e}const r="string"==typeof e.refSeq?e.refSeq:e.refSeq.toHexString(),o="string"==typeof e._id?e._id:e._id.toHexString();return{...e,refSeq:r,children:e.children&&n,_id:o}}return d.useEffect((()=>{y(""),async function(){if(!f)return void w("No assemblies to copy to");const e=await a.waitForAssembly(f);if(!e)return;const{refNameAliases:t}=e;if(!t)return;const n=[...Object.entries(t)].filter((([e,t])=>e!==t)).map((([e,t])=>({_id:e,name:t??""})));m(n),y(n[0]?._id||"")}().catch((e=>{w(String(e))}))}),[f,a]),M.default.createElement(xd,{open:!0,title:"Copy features and annotations",handleClose:t,maxWidth:!1,"data-testid":"copy-feature"},M.default.createElement("form",{onSubmit:async function(n){if(!f)return;n.preventDefault(),w("");const r=i.length,o=await a.waitForAssembly(f);if(!o)return void w(`Assembly not found: ${f}.`);const c=o.getCanonicalRefName(g),l=o.regions?.find((e=>e.refName===c));if(!l)return void w(`RefSeq not found: ${g}.`);const d=v+r;if(d>l.end)return void w(`Feature would extend beyond the bounds of the selected reference sequence. (Feature would end at ${d}, but reference sequence ends at ${l.end})`);if(v<l.start)return void w(`Reference sequence starts at ${l.start}, feature cannot start before that.`);const h=[],p=PR(u.getSnapshot(i),h),m={...p.attributes};"Parent"in m&&delete m.Parent,p.refSeq=g;const y=v-p.min;p.min=v,p.max=v+r;const _=S(p,y),b=new nr.AddFeatureChange({changedIds:[p._id],typeName:"AddFeatureChange",assembly:f,addedFeature:{_id:p._id,refSeq:p.refSeq,min:p.min,max:p.max,type:p.type,children:_.children,attributes:m,strand:p.strand},copyFeature:!0,allIds:h});await e.submit(b),s("Feature copied successfully","success"),t(),n.preventDefault()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.DialogContentText,null,"Target assembly"),M.default.createElement(c.Select,{labelId:"label",value:f,onChange:function(e){h(e.target.value)}},l.filter((e=>e.name!==o)).map((e=>M.default.createElement(c.MenuItem,{key:e.name,value:e.name},r.readConfObject(e,"displayName"))))),M.default.createElement(c.DialogContentText,null,"Target reference sequence"),M.default.createElement(c.Select,{labelId:"label",value:g,onChange:function(e){y(e.target.value)}},p.map((e=>M.default.createElement(c.MenuItem,{key:e._id,value:e._id},e.name)))),M.default.createElement(c.DialogContentText,null,"Start position in target reference sequence"),M.default.createElement(c.TextField,{margin:"dense",type:"number",fullWidth:!0,variant:"outlined",value:v,onChange:e=>{_(Number(e.target.value))}})),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{disabled:!f||!g||!v,variant:"contained",type:"submit"},"Submit"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),b?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},b)):null)}function MR({changeManager:e,handleClose:t,session:n}){const{internetAccounts:r}=u.getRoot(n),[o,i]=d.useState(),[a,s]=d.useState(""),[l,f]=d.useState(!1),[h,p]=d.useState(!1),m=r.filter((e=>"ApolloInternetAccount"===e.type));if(0===m.length)throw new Error("No Apollo internet account found");const[g,y]=d.useState(m[0]),{collaborationServerDriver:v}=n.apolloDataStore,_=v.getAssemblies();return d.useEffect((()=>{_.length>0&&void 0===o&&i(_[0])}),[_,o]),M.default.createElement(xd,{open:!0,title:"Delete Assembly",handleClose:t,maxWidth:!1,"data-testid":"delete-assembly"},M.default.createElement("form",{onSubmit:async function(n){if(n.preventDefault(),p(!0),s(""),!o)return void s("Must select assembly!");const r=new nr.DeleteAssemblyChange({typeName:"DeleteAssemblyChange",assembly:o.name});await e.submit(r,{internetAccountId:g.internetAccountId}),t(),n.preventDefault()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},m.length>1?M.default.createElement(M.default.Fragment,null,M.default.createElement(c.DialogContentText,null,"Select account"),M.default.createElement(c.Select,{value:g.internetAccountId,onChange:function(e){p(!1);const t=m.find((t=>t.internetAccountId===e.target.value));if(!t)throw new Error(`Could not find internetAccount with ID "${e.target.value}"`);y(t)},disabled:h&&!a},r.map((e=>M.default.createElement(c.MenuItem,{key:e.id,value:e.internetAccountId},e.name))))):null,M.default.createElement(c.DialogContentText,null,"Select assembly"),M.default.createElement(c.Select,{labelId:"label",value:o?.name??"",onChange:function(e){const t=_.find((t=>t.name===e.target.value));i(t)},disabled:0===_.length},_.map((e=>M.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name)))),M.default.createElement(c.DialogContentText,null,M.default.createElement("strong",{style:{color:"red"}},"NOTE: All assembly data will be deleted and this operation cannot be undone!")),M.default.createElement(c.FormGroup,null,M.default.createElement(c.FormControlLabel,{control:M.default.createElement(c.Checkbox,{checked:l,onChange:()=>{f(!l)}}),label:"I understand that all assembly data will be deleted"}))),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{disabled:!o||!l,variant:"contained",type:"submit"},"Delete"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),a?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},a)):null)}function jR({changeManager:e,handleClose:t,selectedFeature:n,session:r,setSelectedFeature:o,sourceAssemblyId:i,sourceFeature:a}){const{notify:s}=r,[l,f]=d.useState("");return M.default.createElement(xd,{open:!0,title:"Delete feature",handleClose:t,maxWidth:!1,"data-testid":"delete-feature"},M.default.createElement("form",{onSubmit:async function(r){r.preventDefault(),f(""),n?._id===a._id&&o();const c=new nr.DeleteFeatureChange({changedIds:[a._id],typeName:"DeleteFeatureChange",assembly:i,deletedFeature:u.getSnapshot(a),parentFeatureId:a.parent?._id});await e.submit(c),s("Feature deleted successfully","success"),t(),r.preventDefault()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.DialogContentText,null,"Are you sure you want to delete the selected feature?")),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"contained",type:"submit"},"Yes"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),l?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},l)):null)}var FR={exports:{}};function LR({handleClose:e,session:t}){const[n,o]=d.useState(),[i,a]=d.useState(""),{collaborationServerDriver:s,getInternetAccount:l,inMemoryFileDriver:f}=t.apolloDataStore,h=[...s.getAssemblies(),...f.getAssemblies()];return M.default.createElement(xd,{open:!0,title:"Export GFF3",handleClose:e,maxWidth:!1,"data-testid":"download-gff3"},M.default.createElement("form",{onSubmit:async function(o){if(o.preventDefault(),a(""),!n)return void a("Must select assembly to download");const{internetAccountConfigId:i}=r.getConf(n,["sequence","metadata"]);i?await async function(e){if(!n)return void a("Must select assembly to download");const t=l(n.configuration.name,e),r=new URL("export/getID",t.baseURL),o=new URLSearchParams({assembly:n.name});r.search=o.toString();const i=r.toString(),s=t.getFetcher({locationType:"UriLocation",uri:i}),u=await s(i,{method:"GET"});if(!u.ok){const e=await md(u,"Error when exporting ID");return void a(e)}const{exportID:c}=await u.json(),f=new URL("export",t.baseURL),d=new URLSearchParams({exportID:c});f.search=d.toString();const h=f.toString();window.open(h,"_blank")}(i):function(e){if(!n)return void a("Must select assembly to download");const{assemblies:t}=e.apolloDataStore,o=t.get(n.name),i=o?.refSeqs;if(!i)return void a(`No refSeqs found for assembly "${n.name}"`);const s=[{directive:"gff-version",value:"3"}],c=r.getConf(n,["sequence","adapter","features"]);for(const e of c){const{end:t,refName:n,start:r}=e;s.push({directive:"sequence-region",value:`${n} ${r+1} ${t}`})}for(const[,e]of i){const{features:t}=e;if(t)for(const[,e]of t)s.push(nr.annotationFeatureToGFF3(u.getSnapshot(e)))}for(const e of c){const{refName:t,seq:n}=e;s.push({id:t,description:"",sequence:n})}const l=dd.formatSync(s),f=new Blob([l],{type:"text/plain;charset=utf-8"});FR.exports.saveAs(f,`${n.displayName??n.name}.gff3`)}(t),e()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.DialogContentText,null,"Select assembly"),M.default.createElement(c.Select,{labelId:"label",value:n?.name??"",onChange:function(e){const t=h.find((t=>t.name===e.target.value));o(t)},disabled:0===h.length},h.map((e=>M.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name)))),M.default.createElement(c.DialogContentText,null,"Select assembly to export to GFF3")),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{disabled:!n,variant:"contained",type:"submit"},"Download"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:e},"Cancel"))),i?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},i)):null)}function DR({changeManager:e,handleClose:t,session:n}){const{apolloDataStore:o}=n,[i,a]=d.useState(),[s,u]=d.useState(),[l,f]=d.useState(""),[h,p]=d.useState(!1),[m,g]=d.useState(),[y,v]=d.useState(!1),[_,b]=d.useState(!1),{collaborationServerDriver:w,getInternetAccount:S}=o,x=w.getAssemblies();return d.useEffect((()=>{s&&(async()=>{const{internetAccountConfigId:e}=r.getConf(s,["sequence","metadata"]),t=S(s.name,e);if(!t)throw new Error("No Apollo internet account found");const{baseURL:n}=t,o=new URL("features/count",n),i=new URLSearchParams({assemblyId:s.name});o.search=i.toString();const a=t.getFetcher({locationType:"UriLocation",uri:o.toString()});b(!0);const u=await a(o.toString(),{method:"GET"});if(!u.ok)throw new Error(await md(u));{const e=await u.json();g(e.count)}b(!1)})().catch((e=>{console.error(e),f(e.message??e)}))}),[S,n,s]),M.default.createElement(xd,{open:!0,title:"Import Features from GFF3 file",handleClose:t,maxWidth:!1,"data-testid":"import-features-dialog"},_?M.default.createElement(T.default,null):null,M.default.createElement("form",{onSubmit:async function(o){o.preventDefault(),f(""),b(!0),p(!0);let a="";if(!i)return void f("must select a file");if(!s)return void f("Must select assembly to download");const{internetAccountConfigId:u}=r.getConf(s,["sequence","metadata"]),c=S(s.name,u),{baseURL:l}=c,d=new URL("files",l);d.searchParams.set("type","text/x-gff3");const h=d.href,m=new FormData;m.append("file",i),m.append("fileName",i.name),m.append("type","text/x-gff3");const g=c.getFetcher({locationType:"UriLocation",uri:h});t();const{jobsManager:v}=n,_=new AbortController,w={name:`Importing features for ${s.displayName}`,statusMessage:"Uploading file, this may take awhile",progressPct:0,cancelCallback:()=>{_.abort(),v.abortJob(w.name)}};if(v.runJob(w),g){const{signal:e}=_,t=await g(h,{method:"POST",body:m,signal:e});if(!t.ok){const e=await md(t,"Error when inserting new features (while uploading file)");return v.abortJob(w.name,e),void f(e)}a=(await t.json())._id}const x=new nr.AddFeaturesFromFileChange({typeName:"AddFeaturesFromFileChange",assembly:s.name,fileId:a,deleteExistingFeatures:y});v.done(w),await e.submit(x,{updateJobsManager:!0})}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.DialogContentText,null,"Select assembly"),M.default.createElement(c.Select,{labelId:"label",value:s?.name??"",onChange:function(e){const t=x.find((t=>t.name===e.target.value));u(t),p(!1)},disabled:h&&!l},x.map((e=>M.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name))))),M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.DialogContentText,null,"Upload GFF3 to load features"),M.default.createElement("input",{type:"file",onChange:function(e){p(!1),e.target.files&&a(e.target.files[0])},disabled:h&&!l})),m&&m>0?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,null,"This assembly already has ",m," features, would you like to delete the existing features before importing new ones?"),M.default.createElement(L.default,{label:"Yes, delete existing features",disabled:h&&!l,control:M.default.createElement(F.default,{checked:y,onChange:function(e){v(e.target.checked)},inputProps:{"aria-label":"controlled"},color:"warning"})})):null,M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{disabled:!(s&&i&&void 0!==m)||h,variant:"contained",type:"submit"},h?"Submitting...":"Submit"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Close"))),l?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},l)):null)}function qR({handleClose:e,session:t}){const{internetAccounts:n}=u.getRoot(t),[r,o]=d.useState(""),i=n.filter((e=>"ApolloInternetAccount"===e.type));if(0===i.length)throw new Error("No Apollo internet account found");const[a,s]=d.useState(i[0]);return M.default.createElement(xd,{open:!0,title:"Log out",handleClose:e,maxWidth:!1,"data-testid":"log-out"},M.default.createElement("form",{onSubmit:function(e){e.preventDefault(),o(""),a.removeToken(),globalThis.location.reload()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},i.length>1?M.default.createElement(M.default.Fragment,null,M.default.createElement(c.DialogContentText,null,"Select account"),M.default.createElement(c.Select,{value:a.internetAccountId,onChange:function(e){const t=i.find((t=>t.internetAccountId===e.target.value));if(!t)throw new Error(`Could not find internetAccount with ID "${e.target.value}"`);s(t)}},n.map((e=>M.default.createElement(c.MenuItem,{key:e.id,value:e.internetAccountId},e.name))))):null,M.default.createElement(c.DialogContentText,null,"Are you sure you want to log out?")),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{disabled:!a,variant:"contained",type:"submit"},"Log Out"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:e},"Cancel"))),r?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},r)):null)}function BR({handleClose:e,session:t}){const{internetAccounts:n}=u.getRoot(t),[r,o]=d.useState(),[i,a]=d.useState(""),[s,l]=d.useState(!1),f=n.filter((e=>"ApolloInternetAccount"===e.type));if(0===f.length)throw new Error("No Apollo internet account found");const[h,p]=d.useState(f[0]),[m,g]=d.useState([]),[y,v]=d.useState([]),{collaborationServerDriver:_}=t.apolloDataStore,b=_.getAssemblies();function w(e,t){const n=[...y],r=e.target.value;if(t)n.includes(r)||(n.push(r),v(n));else{const e=n.indexOf(r,0);-1!==e&&n.splice(e,1),v(n)}}return d.useEffect((()=>{(async function(){const{baseURL:e,getFetcher:t}=h,n=new URL("checks/types",e).href,r=t({locationType:"UriLocation",uri:n}),o=await r(n,{method:"GET"});if(!o.ok){const e=await md(o,"Error when retrieving checks from server");return void a(e)}const i=await o.json();g(i)})().catch((e=>{a(String(e))}))}),[h]),d.useEffect((()=>{b.length>0&&void 0===r&&o(b[0])}),[b,r]),d.useEffect((()=>{(async function(){if(!r)return;const{baseURL:e,getFetcher:t}=h,n=new URL(`/assemblies/${r.name}`,e).href,o=t({locationType:"UriLocation",uri:n}),i=await o(n,{method:"GET"});if(!i.ok){const e=await md(i,"Error when retrieving assembly from server");return void a(e)}const s=await i.json();v(s.checks)})().catch((e=>{a(String(e))}))}),[r,h]),M.default.createElement(xd,{open:!0,title:"Manage Checks",handleClose:e,"data-testid":"manage-checks"},M.default.createElement("form",{onSubmit:async function(n){if(n.preventDefault(),!r)return void a("Must select assembly!");const{notify:o}=t,{baseURL:i,getFetcher:s}=h,u=new URL("assemblies/checks",i).href,c=s({locationType:"UriLocation",uri:u}),l=await c(u,{method:"POST",body:JSON.stringify({_id:r.name,checks:y,name:""}),headers:{"Content-Type":"application/json"}});if(l.ok)o("Assembly checks updated successfully","success"),e();else{const e=await md(l,"Error when updating assembly checks");a(e)}}},M.default.createElement(c.DialogContent,null,f.length>1?M.default.createElement(M.default.Fragment,null,M.default.createElement(c.DialogContentText,null,"Select account"),M.default.createElement(c.Select,{value:h.internetAccountId,onChange:function(e){l(!1);const t=f.find((t=>t.internetAccountId===e.target.value));if(!t)throw new Error(`Could not find internetAccount with ID "${e.target.value}"`);p(t)},disabled:s&&!i},n.map((e=>M.default.createElement(c.MenuItem,{key:e.id,value:e.internetAccountId},e.name))))):null,M.default.createElement(c.DialogContentText,null,"Select assembly"),M.default.createElement(c.Select,{style:{width:300},labelId:"label",value:r?.name??"",onChange:function(e){const t=b.find((t=>t.name===e.target.value));o(t)},disabled:0===b.length},b.map((e=>M.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name)))),M.default.createElement("br",null),M.default.createElement("br",null),M.default.createElement(c.TableContainer,{component:c.Paper},M.default.createElement(c.Table,null,M.default.createElement(c.TableHead,null,M.default.createElement(c.TableRow,null,M.default.createElement(c.TableCell,null,"Check name"),M.default.createElement(c.TableCell,null,"Use check"))),M.default.createElement(c.TableBody,null,m.map((e=>M.default.createElement(c.TableRow,{key:e._id},M.default.createElement(c.TableCell,null,e.name),M.default.createElement(c.TableCell,null,M.default.createElement(c.Checkbox,{value:e._id,checked:y.includes(e._id),onChange:w}))))))))),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"contained",type:"submit"},"Submit"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:e},"Cancel"))),i?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},i)):null)}!function(e,t){!function(){function t(e,t,n){var r=new XMLHttpRequest;r.open("GET",e),r.responseType="blob",r.onload=function(){a(r.response,t,n)},r.onerror=function(){console.error("could not download file")},r.send()}function n(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function r(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(n){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var o="object"==("undefined"==typeof window?"undefined":Z(window))&&window.window===window?window:"object"==("undefined"==typeof self?"undefined":Z(self))&&self.self===self?self:"object"==Z(q)&&q.global===q?q:void 0,i=o.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),a=o.saveAs||("object"!=("undefined"==typeof window?"undefined":Z(window))||window!==o?function(){}:"download"in HTMLAnchorElement.prototype&&!i?function(e,i,a){var s=o.URL||o.webkitURL,u=document.createElement("a");u.download=i=i||e.name||"download",u.rel="noopener","string"==typeof e?(u.href=e,u.origin===location.origin?r(u):n(u.href)?t(e,i,a):r(u,u.target="_blank")):(u.href=s.createObjectURL(e),setTimeout((function(){s.revokeObjectURL(u.href)}),4e4),setTimeout((function(){r(u)}),0))}:"msSaveOrOpenBlob"in navigator?function(e,o,i){if(o=o||e.name||"download","string"!=typeof e)navigator.msSaveOrOpenBlob(function(e,t){return void 0===t?t={autoBom:!1}:"object"!=Z(t)&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\ufeff",e],{type:e.type}):e}(e,i),o);else if(n(e))t(e,o,i);else{var a=document.createElement("a");a.href=e,a.target="_blank",setTimeout((function(){r(a)}))}}:function(e,n,r,a){if((a=a||open("","_blank"))&&(a.document.title=a.document.body.innerText="downloading..."),"string"==typeof e)return t(e,n,r);var s="application/octet-stream"===e.type,u=/constructor/i.test(o.HTMLElement)||o.safari,c=/CriOS\/[\d]+/.test(navigator.userAgent);if((c||s&&u||i)&&"undefined"!=typeof FileReader){var l=new FileReader;l.onloadend=function(){var e=l.result;e=c?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),a?a.location.href=e:location=e,a=null},l.readAsDataURL(e)}else{var f=o.URL||o.webkitURL,d=f.createObjectURL(e);a?a.location=d:location.href=d,a=null,setTimeout((function(){f.revokeObjectURL(d)}),4e4)}});o.saveAs=a.saveAs=a,e.exports=a}()}(FR);var UR={},zR=Ju.exports;Object.defineProperty(UR,"__esModule",{value:!0});var GR=UR.default=void 0;function HR({changeManager:e,handleClose:t,session:n}){const{internetAccounts:r}=u.getRoot(n),o=r.filter((e=>"ApolloInternetAccount"===e.type&&e.role?.includes("admin")));if(0===o.length)throw new Error("No Apollo internet account found");const[i,a]=d.useState(""),[s,l]=d.useState(o[0]),[f,h]=d.useState([]),p=d.useCallback((async()=>{const{baseURL:e}=s,t=new URL("users",e).href,n=s.getFetcher({locationType:"UriLocation",uri:t});if(n){const e=await n(t,{method:"GET"});if(!e.ok){const t=await md(e,"Error when getting user data from db");return void a(t)}const r=await e.json();h(r.map((e=>void 0===e.role?{...e,role:""}:e)))}}),[s]);function m(e){return e===s.getUserId()}d.useEffect((()=>{p().catch((e=>{a(String(e))}))}),[p]);const g=[{field:"username",headerName:"User",width:140},{field:"email",headerName:"Email",width:160},{field:"role",headerName:"Role",width:140,type:"singleSelect",valueOptions:["readOnly","user","admin","none"],getOptionLabel(e){switch(e){case"readOnly":return"Read-only";case"user":return"User";case"admin":return"Admin";case"none":return"None";default:return"unknown"}},editable:!0},{field:"actions",type:"actions",getActions:t=>[M.default.createElement(b.GridActionsCellItem,{key:`delete-${t.id}`,icon:M.default.createElement(GR,null),onClick:async()=>{globalThis.confirm("Delete this user?")&&await async function(t){const n=new nr.DeleteUserChange({typeName:"DeleteUserChange",userId:t});await e.submit(n,{internetAccountId:s.internetAccountId}),h((e=>e.filter((e=>e._id!==t))))}(t.id)},disabled:m(t.id),label:"Delete"})]}];return M.default.createElement(xd,{open:!0,fullScreen:!0,title:"Manage users",handleClose:t,"data-testid":"manage-users"},M.default.createElement(c.DialogContent,null,o.length>1?M.default.createElement(M.default.Fragment,null,M.default.createElement(c.DialogContentText,null,"Select account"),M.default.createElement(c.Select,{value:s.internetAccountId,onChange:function(e){const t=o.find((t=>t.internetAccountId===e.target.value));if(!t)throw new Error(`Could not find internetAccount with ID "${e.target.value}"`);l(t)},disabled:!i},r.map((e=>M.default.createElement(c.MenuItem,{key:e.id,value:e.internetAccountId},e.name))))):null,M.default.createElement("div",{style:{height:"100%",width:"100%"}},M.default.createElement(b.DataGrid,{pagination:!0,rows:f,columns:g,getRowId:e=>e._id,slots:{toolbar:b.GridToolbar},getRowHeight:()=>"auto",isCellEditable:e=>!m(e.id),processRowUpdate:async function(t){const n=new nr.UserChange({typeName:"UserChange",role:t.role,userId:t._id});return await e.submit(n,{internetAccountId:s.internetAccountId}),t},onProcessRowUpdateError:e=>{a(String(e))}}))),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Close")),i?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},i)):null)}GR=UR.default=(0,zR(Ku).default)((0,N.default.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"}),"Delete");var WR={exports:{}};!function(e,t){!function(t,n){e.exports=n()}(0,(function(){return e={772:function(e,t,n){var r=n(826).remove,o=/[.*+?^${}()|[\]\\]/g,i=/[a-z0-9_]/i,a=/\s+/;e.exports=function(e,t,n){var s,u;u={insideWords:!1,findAllOccurrences:!1,requireMatchAll:!1},s=(s=n)||{},Object.keys(s).forEach((function(e){u[e]=!!s[e]})),n=u;var c=Array.from(e).map((function(e){return r(e)})),l=c.join("");return(t=r(t)).trim().split(a).filter((function(e){return e.length>0})).reduce((function(e,t){var r,a,s=t.length,u=!n.insideWords&&i.test(t[0])?"\\b":"",f=new RegExp(u+t.replace(o,"\\$&"),"i");if(r=f.exec(l),n.requireMatchAll&&null===r)return l="",[];for(;r;){var d=s-c.slice(a=r.index,a+s).join("").length,h=a-c.slice(0,a).join("").length,p=[a+h,a+s+h+d];if(p[0]!==p[1]&&e.push(p),l=l.slice(0,a)+new Array(s+1).join(" ")+l.slice(a+s),!n.findAllOccurrences)break;r=f.exec(l)}return e}),[]).sort((function(e,t){return e[0]-t[0]}))}},826:function(e){var t={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Ấ":"A","Ắ":"A","Ẳ":"A","Ẵ":"A","Ặ":"A","Æ":"AE","Ầ":"A","Ằ":"A","Ȃ":"A","Ç":"C","Ḉ":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ế":"E","Ḗ":"E","Ề":"E","Ḕ":"E","Ḝ":"E","Ȇ":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ḯ":"I","Ȋ":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ố":"O","Ṍ":"O","Ṓ":"O","Ȏ":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","ấ":"a","ắ":"a","ẳ":"a","ẵ":"a","ặ":"a","æ":"ae","ầ":"a","ằ":"a","ȃ":"a","ç":"c","ḉ":"c","è":"e","é":"e","ê":"e","ë":"e","ế":"e","ḗ":"e","ề":"e","ḕ":"e","ḝ":"e","ȇ":"e","ì":"i","í":"i","î":"i","ï":"i","ḯ":"i","ȋ":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ố":"o","ṍ":"o","ṓ":"o","ȏ":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Ĉ":"C","ĉ":"c","Ċ":"C","ċ":"c","Č":"C","č":"c","C̆":"C","c̆":"c","Ď":"D","ď":"d","Đ":"D","đ":"d","Ē":"E","ē":"e","Ĕ":"E","ĕ":"e","Ė":"E","ė":"e","Ę":"E","ę":"e","Ě":"E","ě":"e","Ĝ":"G","Ǵ":"G","ĝ":"g","ǵ":"g","Ğ":"G","ğ":"g","Ġ":"G","ġ":"g","Ģ":"G","ģ":"g","Ĥ":"H","ĥ":"h","Ħ":"H","ħ":"h","Ḫ":"H","ḫ":"h","Ĩ":"I","ĩ":"i","Ī":"I","ī":"i","Ĭ":"I","ĭ":"i","Į":"I","į":"i","İ":"I","ı":"i","IJ":"IJ","ij":"ij","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","Ḱ":"K","ḱ":"k","K̆":"K","k̆":"k","Ĺ":"L","ĺ":"l","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ŀ":"L","ŀ":"l","Ł":"l","ł":"l","Ḿ":"M","ḿ":"m","M̆":"M","m̆":"m","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","ʼn":"n","N̆":"N","n̆":"n","Ō":"O","ō":"o","Ŏ":"O","ŏ":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","P̆":"P","p̆":"p","Ŕ":"R","ŕ":"r","Ŗ":"R","ŗ":"r","Ř":"R","ř":"r","R̆":"R","r̆":"r","Ȓ":"R","ȓ":"r","Ś":"S","ś":"s","Ŝ":"S","ŝ":"s","Ş":"S","Ș":"S","ș":"s","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","ț":"t","Ț":"T","Ť":"T","ť":"t","Ŧ":"T","ŧ":"t","T̆":"T","t̆":"t","Ũ":"U","ũ":"u","Ū":"U","ū":"u","Ŭ":"U","ŭ":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ȗ":"U","ȗ":"u","V̆":"V","v̆":"v","Ŵ":"W","ŵ":"w","Ẃ":"W","ẃ":"w","X̆":"X","x̆":"x","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Y̆":"Y","y̆":"y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","ſ":"s","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Ǎ":"A","ǎ":"a","Ǐ":"I","ǐ":"i","Ǒ":"O","ǒ":"o","Ǔ":"U","ǔ":"u","Ǖ":"U","ǖ":"u","Ǘ":"U","ǘ":"u","Ǚ":"U","ǚ":"u","Ǜ":"U","ǜ":"u","Ứ":"U","ứ":"u","Ṹ":"U","ṹ":"u","Ǻ":"A","ǻ":"a","Ǽ":"AE","ǽ":"ae","Ǿ":"O","ǿ":"o","Þ":"TH","þ":"th","Ṕ":"P","ṕ":"p","Ṥ":"S","ṥ":"s","X́":"X","x́":"x","Ѓ":"Г","ѓ":"г","Ќ":"К","ќ":"к","A̋":"A","a̋":"a","E̋":"E","e̋":"e","I̋":"I","i̋":"i","Ǹ":"N","ǹ":"n","Ồ":"O","ồ":"o","Ṑ":"O","ṑ":"o","Ừ":"U","ừ":"u","Ẁ":"W","ẁ":"w","Ỳ":"Y","ỳ":"y","Ȁ":"A","ȁ":"a","Ȅ":"E","ȅ":"e","Ȉ":"I","ȉ":"i","Ȍ":"O","ȍ":"o","Ȑ":"R","ȑ":"r","Ȕ":"U","ȕ":"u","B̌":"B","b̌":"b","Č̣":"C","č̣":"c","Ê̌":"E","ê̌":"e","F̌":"F","f̌":"f","Ǧ":"G","ǧ":"g","Ȟ":"H","ȟ":"h","J̌":"J","ǰ":"j","Ǩ":"K","ǩ":"k","M̌":"M","m̌":"m","P̌":"P","p̌":"p","Q̌":"Q","q̌":"q","Ř̩":"R","ř̩":"r","Ṧ":"S","ṧ":"s","V̌":"V","v̌":"v","W̌":"W","w̌":"w","X̌":"X","x̌":"x","Y̌":"Y","y̌":"y","A̧":"A","a̧":"a","B̧":"B","b̧":"b","Ḑ":"D","ḑ":"d","Ȩ":"E","ȩ":"e","Ɛ̧":"E","ɛ̧":"e","Ḩ":"H","ḩ":"h","I̧":"I","i̧":"i","Ɨ̧":"I","ɨ̧":"i","M̧":"M","m̧":"m","O̧":"O","o̧":"o","Q̧":"Q","q̧":"q","U̧":"U","u̧":"u","X̧":"X","x̧":"x","Z̧":"Z","z̧":"z"},n=Object.keys(t).join("|"),r=new RegExp(n,"g"),o=new RegExp(n,""),i=function(e){return e.replace(r,(function(e){return t[e]}))};e.exports=i,e.exports.has=function(e){return!!e.match(o)},e.exports.remove=i}},t={},function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}(772);var e,t}))}(WR);var VR=WR.exports,$R={exports:{}};!function(e,t){!function(t,n){e.exports=n()}(0,(function(){return e={705:function(e){e.exports=function(e,t){var n=[];return 0===t.length?n.push({text:e,highlight:!1}):t[0][0]>0&&n.push({text:e.slice(0,t[0][0]),highlight:!1}),t.forEach((function(r,o){var i=r[1];n.push({text:e.slice(r[0],i),highlight:!0}),o===t.length-1?i<e.length&&n.push({text:e.slice(i,e.length),highlight:!1}):i<t[o+1][0]&&n.push({text:e.slice(i,t[o+1][0]),highlight:!1})})),n}}},t={},function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}(705);var e,t}))}($R);var JR=$R.exports;function KR({getTagProps:e,index:t,ontology:n,termId:r}){const o=u.getParent(n,2),[i,a]=j.useState(""),[s,l]=j.useState("");return j.useEffect((()=>{const e=new AbortController,{signal:t}=e;return async function(){const e=o.expandPrefixes(r),i=await(n.dataStore?.db);if(!i||t.aborted)return;const s=await i.transaction("nodes").objectStore("nodes").get(e);s&&s.lbl&&!t.aborted&&a(s.lbl||"no label")}().catch((e=>{t.aborted||l(String(e))})),()=>{e.abort()}}),[r,n,o]),j.createElement(c.Tooltip,{title:i},j.createElement("div",null,j.createElement(c.Chip,{label:s||o.applyPrefixes(r),color:s?"error":"default",size:"small",...e({index:t})})))}function YR({includeDeprecated:e,onChange:t,ontologyName:n,ontologyVersion:r,session:o,value:a}){const{ontologyManager:s}=o.apolloDataStore,u=s.findOntology(n,r),[l,f]=j.useState(a.map((e=>({term:{id:e,type:"CLASS"}})))),[d,h]=j.useState(""),[p,m]=j.useState([]),[g,y]=j.useState(!1),[v,_]=j.useState(""),b=j.useMemo((()=>i.debounce((async(t,n)=>{if(!u)return;const{dataStore:r}=u;if(!r)return;const{input:o,signal:i}=t;try{const t=await r.getTermsByFulltext(o,void 0,i),a=new Map,s=[];for(const n of t){if(!AR(n.term)||!e&&pR(n.term))continue;let t=a.get(n.term.id);t||(t={term:n.term,matches:[]},a.set(n.term.id,t),s.push(t)),t.matches.push(n)}n(s)}catch(e){$O(e)||_(String(e))}}),400)),[e,u]);if(j.useEffect((()=>{const e=new AbortController,{signal:t}=e;if(""!==d)return y(!0),b({input:d,signal:t},(e=>{let t=[];l.length>0&&(t=l),e&&(t=[...t,...e]),m(t),y(!1)})),()=>{e.abort()};m([])}),[b,u,e,d,l]),!u)return null;const w={};return v&&(w.error=!0,w.helperText=v),j.createElement(c.Autocomplete,{getOptionLabel:e=>s.applyPrefixes(e.term.id),filterOptions:e=>e.filter((e=>AR(e.term))),options:p,autoComplete:!0,includeInputInList:!0,filterSelectedOptions:!0,value:l,loading:g,isOptionEqualToValue:(e,t)=>s.applyPrefixes(e.term.id)===s.applyPrefixes(t.term.id),noOptionsText:d?"No matches":"Start typing to search",onChange:(e,n)=>{m(n?[...n,...p]:p),t(n.map((e=>s.applyPrefixes(e.term.id)))),f(n)},onInputChange:(e,t)=>{t&&y(!0),m([]),h(t)},multiple:!0,renderInput:e=>j.createElement(c.TextField,{...e,...w,variant:"outlined",fullWidth:!0}),renderOption:(e,t)=>j.createElement(XR,{...e,ontologyManager:s,option:t,inputValue:d}),renderTags:(e,t)=>e.map(((e,n)=>j.createElement(KR,{termId:e.term.id,index:n,ontology:u,getTagProps:t,key:e.term.id})))})}function ZR(e){const{search:t,str:n}=e,r=VR(n,t,{insideWords:!0,findAllOccurrences:!0}),o=JR(n,r);return j.createElement(j.Fragment,null,o.map(((e,t)=>j.createElement(c.Typography,{key:t,component:"span",sx:{fontWeight:e.highlight?"bold":"regular"},variant:"body2",color:"text.secondary"},e.text))))}function XR(e){const{inputValue:t,ontologyManager:n,option:r,...o}=e,i=(r.matches??[]).filter((e=>"$.lbl"!==e.field.jsonPath)).map((e=>j.createElement(j.Fragment,{key:`option-${e.term.id}-${e.str}`},j.createElement(c.Typography,{component:"dt",variant:"body2",color:"text.secondary"},e.field.displayName),j.createElement("dd",null,j.createElement(ZR,{str:e.str,search:t})))));return j.createElement("li",{...o},j.createElement(c.Grid,{container:!0},j.createElement(c.Grid,{item:!0},j.createElement(c.Typography,{component:"span"},n.applyPrefixes(r.term.id))," ",j.createElement(ZR,{str:r.term.lbl??"(no label)",search:t})," ",j.createElement("dl",null,i))))}const QR=new Map([["Gene Ontology",e=>M.default.createElement(YR,{...e,ontologyName:"Gene Ontology"})],["Sequence Ontology",e=>M.default.createElement(YR,{...e,ontologyName:"Sequence Ontology"})]]),eN=m.makeStyles()((e=>({attributeInput:{maxWidth:600},newAttributePaper:{padding:e.spacing(2)},attributeName:{background:e.palette.secondary.main,color:e.palette.secondary.contrastText,padding:e.spacing(1)}}))),tN=["ID","Name","Alias","Target","Gap","Derives_from","Note","Dbxref","Ontology","Is_Circular"];function nN(e){const{onChange:t,value:n}=e;return M.default.createElement(c.TextField,{type:"text",value:n,onChange:e=>{t(e.target.value.split(","))},variant:"outlined",fullWidth:!0,helperText:"Separate multiple values for the attribute with commas"})}function rN({changeManager:e,handleClose:t,session:n,sourceAssemblyId:r,sourceFeature:o}){const{notify:i}=n,{internetAccounts:a}=u.getRoot(n),s=d.useMemo((()=>a.find((e=>"ApolloInternetAccount"===e.type))),[a]),l=["admin","user"].includes((s?s.role:"admin")??""),[f,h]=d.useState(""),[p,m]=d.useState(Object.fromEntries([...o.attributes.entries()].map((([e,t])=>{if(e.startsWith("gff_")){const n=e.slice(4);return[n.charAt(0).toUpperCase()+n.slice(1),u.getSnapshot(t)]}return"_id"===e?["ID",u.getSnapshot(t)]:[e,u.getSnapshot(t)]})))),[g,y]=d.useState(!1),[v,_]=d.useState(""),{classes:b}=eN(),w=Object.values(p).some((e=>0===e.length||e.includes("")));return M.default.createElement(xd,{open:!0,title:"Feature attributes",handleClose:t,maxWidth:!1,"data-testid":"modify-feature-attribute"},M.default.createElement("form",{onSubmit:async function(n){n.preventDefault(),h("");const a={};if(p)for(const[e,t]of Object.entries(p))if(t&&"parent"!==e.toLowerCase())if([...QR.keys()].includes(e))a[e]=t;else switch(e){case"ID":a._id=t;break;case"Name":a.gff_name=t;break;case"Alias":a.gff_alias=t;break;case"Target":a.gff_target=t;break;case"Gap":a.gff_gap=t;break;case"Derives_from":a.gff_derives_from=t;break;case"Note":a.gff_note=t;break;case"Dbxref":a.gff_dbxref=t;break;case"Ontology_term":a.gff_ontology_term=t;break;case"Is_circular":a.gff_is_circular=t;break;default:a[e.toLowerCase()]=t}const s=new nr.FeatureAttributeChange({changedIds:[o._id],typeName:"FeatureAttributeChange",assembly:r,featureId:o._id,attributes:a});await e.submit(s),i("Feature attributes modified successfully","success"),t(),n.preventDefault()}},M.default.createElement(c.DialogContent,null,M.default.createElement(c.Grid,{container:!0,direction:"column",spacing:1},Object.entries(p).map((([e,t])=>{const r=QR.get(e)??nN;return M.default.createElement(c.Grid,{container:!0,item:!0,spacing:3,alignItems:"center",key:e},M.default.createElement(c.Grid,{item:!0,xs:"auto"},M.default.createElement(c.Paper,{variant:"outlined",className:b.attributeName},M.default.createElement(c.Typography,null,e))),M.default.createElement(c.Grid,{item:!0,flexGrow:1},M.default.createElement(r,{session:n,value:t,onChange:(o=e,e=>{m({...p,[o]:e})})})),M.default.createElement(c.Grid,{item:!0,xs:1},M.default.createElement(c.IconButton,{"aria-label":"delete",size:"medium",disabled:!l,onClick:()=>{!function(e){h("");const{[e]:t,...n}=p;m(n)}(e)}},M.default.createElement(GR,{fontSize:"medium",key:e}))));var o})),M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.Button,{color:"primary",variant:"contained",disabled:g||!l,onClick:()=>{y(!0)}},"Add new")),g?M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.Paper,{elevation:8,className:b.newAttributePaper},M.default.createElement(c.Grid,{container:!0,direction:"column"},M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.FormControl,null,M.default.createElement(c.FormLabel,{id:"attribute-radio-button-group"},"Select attribute type"),M.default.createElement(c.RadioGroup,{"aria-labelledby":"demo-radio-buttons-group-label",defaultValue:"custom",name:"radio-buttons-group",onChange:function(e,t){"custom"===t?_(""):QR.has(t)?_(t):h("Unknown attribute type")}},M.default.createElement(c.FormControlLabel,{value:"custom",control:M.default.createElement(c.Radio,null),disableTypography:!0,label:M.default.createElement(c.Grid,{container:!0,spacing:1,alignItems:"center"},M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.Typography,null,"Custom")),M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.TextField,{label:"Custom attribute key",variant:"outlined",value:QR.has(v)?"":v,disabled:QR.has(v),onChange:e=>{_(e.target.value)}})))}),[...QR.keys()].map((e=>M.default.createElement(c.FormControlLabel,{key:e,value:e,control:M.default.createElement(c.Radio,null),label:e})))))),M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{key:"addButton",color:"primary",variant:"contained",style:{margin:2},onClick:function(){h(""),0!==v.trim().length?"Parent"!==v?v in p?h(`Attribute "${v}" already exists`):!/^[A-Z]/.test(v)||tN.includes(v)||[...QR.keys()].includes(v)?(m({...p,[v]:[]}),y(!1),_("")):h(`Key cannot starts with uppercase letter unless key is one of these: ${tN.join(", ")}`):h('"Parent" -key is handled internally and it cannot be modified manually'):h("Attribute key is mandatory")},disabled:!v},"Add"),M.default.createElement(c.Button,{key:"cancelAddButton",variant:"outlined",type:"submit",onClick:()=>{y(!1),_(""),h("")}},"Cancel")))))):null),f?M.default.createElement(c.DialogContentText,{color:"error"},f):null),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"contained",type:"submit",disabled:g||w||!l},"Submit changes"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",disabled:g,onClick:t},"Cancel"))))}var oN=function(){return crypto.getRandomValues(new Uint8Array(arguments.length>0&&void 0!==arguments[0]?arguments[0]:21)).reduce((function(e,t){return e+((t&=63)<36?t.toString(36):t<62?(t-26).toString(36).toUpperCase():t>62?"-":"_")}),"")};function iN({handleClose:e,session:t}){const{apolloDataStore:r}=t,{addAssembly:o,addSessionAssembly:i,assemblyManager:a,notify:s}=t,[u,l]=d.useState(null),[f,h]=d.useState(""),[p,m]=d.useState(""),[g,y]=d.useState(!1),v=c.useTheme();return M.default.createElement(xd,{open:!0,title:"Open local GFF3 file",handleClose:e,maxWidth:!1,"data-testid":"open-local-file"},M.default.createElement("form",{onSubmit:async function(c){if(c.preventDefault(),m(""),y(!0),!u)throw new Error("No file selected");const l=await new Response(u).text(),d=`${f}-${u.name}-${oN(8)}`;try{await hd(d,l,r)}catch(t){return console.error(t),s(`Error loading GFF3 ${u.name}, ${String(t)}`,"error"),void e()}const h={name:d,aliases:[f],displayName:f,sequence:{trackId:`sequenceConfigId-${f}`,type:"ReferenceSequenceTrack",adapter:{type:"ApolloSequenceAdapter",assemblyId:d},metadata:{apollo:!0,...n.isElectron?{file:u.path}:{}}}};await(i||o)(h);const p=await a.waitForAssembly(h.name);p?(t.addApolloTrackConfig(p),s(`Loaded GFF3 ${u.name}`,"success")):s(`Error loading GFF3 ${u.name}`,"error"),e()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.FormControl,null,M.default.createElement("div",{style:{flexDirection:"row"}},M.default.createElement(c.Button,{variant:"contained",component:"label",style:{marginRight:v.spacing()}},"Choose File",M.default.createElement("input",{type:"file",required:!0,hidden:!0,onChange:function(e){const t=e.target.files?.item(0);if(t&&(m(""),l(t),!f)){const e=t.name,n=e.lastIndexOf(".");h(-1===n?e:e.slice(0,n))}}})),u?u.name:"No file chosen"),M.default.createElement(c.FormHelperText,null,"Make sure your GFF3 has an embedded FASTA section")),M.default.createElement(c.TextField,{required:!0,label:"Assembly name",value:f,onChange:function(e){h(e.target.value)}})),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{disabled:!1,variant:"contained",type:"submit"},g?"Submitting...":"Submit"),M.default.createElement(c.Button,{disabled:g,variant:"outlined",type:"submit",onClick:e},"Cancel"))),p?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},p)):null)}const aN=m.makeStyles()((e=>({changeTextarea:{fontFamily:"monospace",width:600,resize:"none",border:`1px solid ${e.palette.divider}`,borderRadius:e.shape.borderRadius}})));function sN({handleClose:e,session:t}){const{internetAccounts:n}=u.getRoot(t),r=n.find((e=>"ApolloInternetAccount"===e.type));if(!r)throw new Error("No Apollo internet account found");const{baseURL:o}=r,{classes:i}=aN(),[a,s]=d.useState(),[l,f]=d.useState([]),[h,p]=d.useState(""),[m,g]=d.useState([]),y=[{field:"sequence"},{field:"typeName",headerName:"Change type",width:200,type:"singleSelect",valueOptions:[...z.changeRegistry.changes.keys()]},{field:"changes",headerName:"Change JSON",width:600,renderCell:({value:e})=>M.default.createElement("textarea",{className:i.changeTextarea,value:JSON.stringify(e),readOnly:!0}),valueFormatter:({value:e})=>JSON.stringify(e)},{field:"user",headerName:"User",width:140},{field:"createdAt",headerName:"Time",width:160,type:"dateTime",valueGetter:e=>e&&new Date(e)}];return d.useEffect((()=>{(async function(){const e=new URL("assemblies",o).href,t=r?.getFetcher({locationType:"UriLocation",uri:e});if(t){const n=await t(e,{method:"GET"});if(!n.ok){const e=await md(n,"Error when retrieving assemblies from server");return void s(e)}const r=await n.json();f(r)}})().catch((e=>{s(String(e))}))}),[r,o]),d.useEffect((()=>{!h&&l.length>0&&p(l[0]._id)}),[h,l]),d.useEffect((()=>{(async function(){if(!h)return;const e=new URL("changes",o),t=new URLSearchParams({assembly:h});e.search=t.toString();const n=e.toString(),i=r?.getFetcher({locationType:"UriLocation",uri:n});if(i){const e=await i(n,{headers:new Headers({"Content-Type":"application/json"})});if(!e.ok){const t=await md(e,"Error when retrieving changes");return void s(t)}const t=await e.json();g(t)}})().catch((e=>{s(String(e))}))}),[h,r,o]),M.default.createElement(xd,{open:!0,fullScreen:!0,title:"View change log",handleClose:e,"data-testid":"view-changelog"},M.default.createElement(c.Select,{style:{width:200,marginLeft:40},value:h,onChange:function(e){p(e.target.value)}},l.map((e=>M.default.createElement(c.MenuItem,{key:e._id,value:e._id},e.name)))),M.default.createElement(c.DialogContent,null,M.default.createElement(b.DataGrid,{pagination:!0,rows:m,columns:y,getRowId:e=>e._id,slots:{toolbar:b.GridToolbar},initialState:{sorting:{sortModel:[{field:"sequence",sort:"desc"}]},columns:{columnVisibilityModel:{sequence:!1}}}})),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:e},"Close")),a?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},a)):null)}const uN=[{field:"refName",headerName:"Ref Name"},{field:"aliases",headerName:"Aliases",editable:!0}],cN=e=>/^[\da-f]{24}$/i.test(e);function lN({changeManager:e,handleClose:t,session:n}){const r=d.useRef(null),[o,i]=d.useState(""),[a,s]=d.useState(!1),[u,l]=d.useState(),[f,h]=d.useState([]),[p,m]=d.useState(new Map),{apolloDataStore:g}=n,{collaborationServerDriver:y}=g,v=y.getAssemblies();d.useEffect((()=>{let e=0;const t=()=>{if(!u)return;const n=new Map;if(e<2&&!u.refNames&&(e++,setTimeout(t,50)),!u.refNames)return;const r=u.refNameAliases;for(const e in r){const t=r[e];if(t&&!cN(e))if(n.has(t)){const r=n.get(t)??[];n.set(t,[...r,e])}else n.set(t,[e])}m(n)};t()}),[u]);const _=()=>[...p].map(((e,t)=>({id:t,refName:e[0],aliases:e[1].filter((t=>t!==e[0])).join(", ")})));return M.default.createElement(xd,{open:!0,title:"Add reference sequence aliases",handleClose:t,maxWidth:"sm","data-testid":"add-refseq-alias",fullWidth:!0},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.Grid,{container:!0,spacing:2},M.default.createElement(c.Grid,{item:!0,xs:4},M.default.createElement(c.FormControl,{disabled:a&&!o,fullWidth:!0},M.default.createElement(c.InputLabel,{id:"demo-simple-select-label"},"Assembly"),M.default.createElement(c.Select,{labelId:"demo-simple-select-label",id:"demo-simple-select",label:"Assembly",value:u?.name??"",onChange:e=>{const t=v.find((t=>t.name===e.target.value));l(t),s(!1),i(""),r.current&&(r.current.value="")}},v.map((e=>M.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name)))))),M.default.createElement(c.Grid,{item:!0,xs:1}),M.default.createElement(c.Grid,{item:!0,xs:7},M.default.createElement(c.InputLabel,null,"Load RefName alias"),M.default.createElement("input",{type:"file",onChange:e=>{(async e=>{if(!e.target.files)return;const t=e.target.files[0],n=(await t.text()).split("\n"),r=new Map(p);i("");for(const e of n){const t=e.split("\t");for(const e of t)r.has(e)&&r.set(e,[...r.get(e)??[],...t])}m(r)})(e).catch((()=>{i("Error reading file")}))},ref:r,disabled:a&&!o||!u}))),u&&p.size>0?M.default.createElement("div",{style:{height:200,width:"100%",marginTop:20}},M.default.createElement(c.InputLabel,null,"Refname aliases found for selected assembly."),M.default.createElement(b.DataGrid,{rows:_(),columns:uN,initialState:{pagination:{paginationModel:{page:0,pageSize:5}}},pageSizeOptions:[5,10],onRowSelectionModelChange:e=>{(e=>{if(e.length>0){s(!0);const t=e.flatMap((e=>_().filter((t=>t.id===e))));h(t)}else s(!1),h([])})(e)},processRowUpdate:(e,t)=>{const n=new Map(p);return n.set(e.refName,e.aliases.split(",")),m(n),e},checkboxSelection:!0})):null),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"contained",type:"submit",disabled:!a,onClick:()=>{const n=[];for(const e of f){const{refName:t}=e,r=e.aliases.split(",").map((e=>e.trim())).filter((e=>e.length>0));n.push({refName:t,aliases:r})}if(i(""),!u)return void i("No assembly selected");const r=new nr.AddRefSeqAliasesChange({typeName:"AddRefSeqAliasesChange",assembly:u.name,refSeqAliases:n});e.submit(r).catch((()=>{i("Error submitting change")})),t()}},"Submit"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Close")),o?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},o)):null)}function fN({handleClose:e,session:t}){const{internetAccounts:n}=u.getRoot(t),{collaborationServerDriver:r}=t.apolloDataStore,o=n.find((e=>"ApolloInternetAccount"===e.type));if(!o)throw new Error("No Apollo internet account found");const{baseURL:i}=o,[a,s]=d.useState(),[l,f]=d.useState(),[h,p]=d.useState([]),m=r.getAssemblies();return d.useEffect((()=>{!l&&m.length>0&&f(m[0])}),[m,l]),d.useEffect((()=>{(async function(){const e=l?.name;if(!e)return;const t=new URL("checks",i),n=new URLSearchParams({assembly:e});t.search=n.toString();const r=t.toString(),a=o?.getFetcher({locationType:"UriLocation",uri:r});if(a){const e=await a(r,{headers:new Headers({"Content-Type":"application/json"})});if(!e.ok){const t=await md(e,"Error when retrieving checks");return void s(t)}const t=await e.json();p(t)}})().catch((e=>{s(String(e))}))}),[l,o,i]),M.default.createElement(xd,{open:!0,fullScreen:!0,title:"View check results",handleClose:e,"data-testid":"view-check-results"},M.default.createElement(c.Select,{style:{width:200,marginLeft:40},value:l?.name??"",onChange:function(e){const t=m.find((t=>t.name===e.target.value));f(t)},disabled:0===m.length},m.map((e=>M.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name)))),M.default.createElement(c.DialogContent,null,M.default.createElement(b.DataGrid,{pagination:!0,rows:h,columns:[{field:"_id",headerName:"id",width:50},{field:"name",headerName:"Check name",width:200},{field:"refSeq",headerName:"Reference sequence ID",width:200},{field:"ids",headerName:"Feature IDs",width:200},{field:"message",headerName:"Message",flex:1}],getRowId:e=>e._id,slots:{toolbar:b.GridToolbar},initialState:{sorting:{sortModel:[{field:"name",sort:"asc"}]},columns:{columnVisibilityModel:{name:!0}}}})),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:e},"Close")),a?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},a)):null)}var dN={},hN=Ju.exports;Object.defineProperty(dN,"__esModule",{value:!0});var pN=dN.default=void 0;function mN(e){const{color:t}=e;return M.default.createElement(c.SvgIcon,{viewBox:"0 0 18 18",style:{fontSize:18,marginRight:4},...e},"disabled"===t?M.default.createElement("path",{d:"M9.001,10.71 l0,-3.348 l8.424,0 c0.126,0.567,0.225,1.098,0.225,1.845 c0,5.139,-3.447,8.793,-8.64,8.793 c-4.968,0,-9,-4.032,-9,-9 c0,-4.968,4.032,-9,9,-9 c2.43,0,4.464,0.891,6.021,2.349 l-2.556,2.484 c-0.648,-0.612,-1.782,-1.332,-3.465,-1.332 c-2.979,0,-5.409,2.475,-5.409,5.508 c0,3.033,2.43,5.508,5.409,5.508 c3.447,0,4.716,-2.385,4.95,-3.798 l-4.959,0 l0,-0.009 z"}):M.default.createElement(M.default.Fragment,null,M.default.createElement("path",{d:"M17.64,9.20454545 c0,-0.638,-0.057,-1.252,-0.164,-1.841 l-8.476,0 l0,3.481 l4.844,0 c-0.209,1.125,-0.843,2.079,-1.796,2.717 l0,2.258 l2.908,0 c1.702,-1.567,2.684,-3.874,2.684,-6.615 l0,0 z",fill:"#4285F4"}),M.default.createElement("path",{d:"M9,18 c2.43,0,4.467,-0.806,5.956,-2.18 l-2.908,-2.259 c-0.806,0.54,-1.837,0.859,-3.048,0.859 c-2.344,0,-4.328,-1.583,-5.036,-3.71 l-3.007,0 l0,2.332 c1.481,2.941,4.525,4.958,8.043,4.958 l0,0 z",fill:"#34A853"}),M.default.createElement("path",{d:"M3.96409091,10.71 c-0.18,-0.54,-0.282,-1.117,-0.282,-1.71 c0,-0.593,0.102,-1.17,0.282,-1.71 l0,-2.332 l-3.007,0 c-0.609,1.215,-0.957,2.59,-0.957,4.042 c0,1.452,0.348,2.827,0.957,4.042 l3.007,-2.332 l0,0 z",fill:"#FBBC05"}),M.default.createElement("path",{d:"M9,3.57954545 c1.321,0,2.508,0.454,3.44,1.346 l2.582,-2.581 c-1.559,-1.453,-3.596,-2.345,-6.022,-2.345 c-3.518,0,-6.562,2.017,-8.043,4.959 l3.007,2.331 c0.708,-2.127,2.692,-3.71,5.036,-3.71 l0,0 z",fill:"#EA4335"})))}function gN(e){const{color:t}=e;return M.default.createElement(c.SvgIcon,{viewBox:"0 0 21 21",style:{fontSize:21},...e},M.default.createElement("rect",{x:"1",y:"1",width:"9",height:"9",fill:"disabled"===t?"#7B7B7B":"#F25022"}),M.default.createElement("rect",{x:"1",y:"11",width:"9",height:"9",fill:"disabled"===t?"#7B7B7B":"#00A4EF"}),M.default.createElement("rect",{x:"11",y:"1",width:"9",height:"9",fill:"disabled"===t?"#939393":"#7FBA00"}),M.default.createElement("rect",{x:"11",y:"11",width:"9",height:"9",fill:"disabled"===t?"#B9B9B9":"#FFB900"}))}pN=dN.default=(0,hN(Ku).default)((0,N.default.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 4c1.93 0 3.5 1.57 3.5 3.5S13.93 13 12 13s-3.5-1.57-3.5-3.5S10.07 6 12 6zm0 14c-2.03 0-4.43-.82-6.14-2.88C7.55 15.8 9.68 15 12 15s4.45.8 6.14 2.12C16.43 19.18 14.03 20 12 20z"}),"AccountCircle");const yN=m.makeStyles()((e=>({loginButton:{marginBottom:e.spacing(1),width:"220px",height:"40px",fontSize:"16px",textTransform:"none",justifyContent:"left",padding:"3px 12px"}})));function vN(e){const{classes:t}=yN(),{disabled:n}=e;return M.default.createElement(c.Button,{className:t.loginButton,variant:"outlined",startIcon:M.default.createElement(mN,{color:n?"disabled":void 0}),...e},"Sign in with Google")}function _N(e){const{classes:t}=yN(),{disabled:n}=e;return M.default.createElement(c.Button,{className:t.loginButton,variant:"outlined",startIcon:M.default.createElement(gN,{color:n?"disabled":void 0}),...e},"Sign in with Microsoft")}function bN(e){const{classes:t}=yN();return M.default.createElement(c.Button,{className:t.loginButton,variant:"outlined",startIcon:M.default.createElement(pN,{fontSize:"small"}),...e},"Continue as Guest")}const wN=m.makeStyles()((e=>({divider:{marginTop:e.spacing(4),marginBottom:e.spacing(5)}}))),SN=({baseURL:e,handleClose:t,name:n})=>{const{classes:r}=wN(),[o,i]=d.useState(""),[a,s]=d.useState([]);function u(e){t("google"===e?"google":"microsoft"===e?"microsoft":"guest")}d.useEffect((()=>{const t=new AbortController,{signal:n}=t;return async function(){const t=new URL("auth/types",e).href,r=await fetch(t,{method:"GET",signal:n});if(!r.ok){const e=await md(r,"Error when retrieving auth types from server");return void i(e)}const o=await r.json();s(o)}().catch((e=>{$O(e)||i(String(e))})),()=>{t.abort()}}),[e]);const l=a.includes("google"),f=a.includes("microsoft"),h=a.includes("guest");return M.default.createElement(xd,{open:!0,title:`Log in to ${n}`,handleClose:t,maxWidth:!1,"data-testid":"login-apollo"},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column",paddingTop:8}},l?M.default.createElement(vN,{disabled:!l,onClick:()=>{u("google")}}):null,f?M.default.createElement(_N,{disabled:!f,onClick:()=>{u("microsoft")}}):null,h?M.default.createElement(M.default.Fragment,null,M.default.createElement(c.Divider,{className:r.divider}),M.default.createElement(bN,{onClick:()=>{u("guest")}})):null),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:()=>{t()}},"Cancel")),o?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},o)):null)},xN="undefined"==typeof sessionStorage,kN=e=>o.InternetAccount.named("ApolloInternetAccount").props({type:u.types.literal("ApolloInternetAccount"),configuration:r.ConfigurationReference(e)}).views((e=>({get baseURL(){return r.getConf(e,"baseURL")},getUserId(){const t=e.retrieveToken();if(t)return nr.getDecodedToken(t).id}}))).volatile((()=>({role:void 0}))).actions((e=>{let t=!1;return{setRole(){const n=e.retrieveToken();if(!n)return void(e.role=void 0);const r=nr.getDecodedToken(n),{role:o}=r;if(!o&&!t){const{session:n}=u.getRoot(e);n.notify("You have registered as a user but have not been given access. Ask your administrator to enable access for your account.","warning"),t=!0}e.role!==o&&(e.role=o)}}})).actions((e=>{let t;return{addMessageChannel(e,n){t=t=>{this.finishOAuthWindow(t,e,n)},window.addEventListener("message",t)},deleteMessageChannel(){window.removeEventListener("message",t)},finishOAuthWindow(t,n,r){if(t.data.name!==`JBrowseAuthWindow-${e.internetAccountId}`)return void this.deleteMessageChannel();const o=t.data.redirectUri.replace("#","?"),i=new URL(o),a=new URLSearchParams(i.search).get("access_token");this.deleteMessageChannel(),a?(e.storeToken(a),e.setRole(),n(a)):r(new Error("Error with token endpoint"))},async openAuthWindow(t,r,o){const i=n.isElectron?"http://localhost/auth":globalThis.location.origin+globalThis.location.pathname,a=new URL("auth/login",e.baseURL),s=new URLSearchParams({type:t,redirect_uri:i});a.search=s.toString();const u=`JBrowseAuthWindow-${e.internetAccountId}`;if(n.isElectron){const{ipcRenderer:t}=globalThis.require("electron"),n=await t.invoke("openAuthWindow",{internetAccountId:e.internetAccountId,data:{redirect_uri:i},url:a.toString()}),s=new MessageEvent("message",{data:{name:u,redirectUri:n}});this.finishOAuthWindow(s,r,o)}else this.addMessageChannel(r,o),window.open(a,u,"width=500,height=600")}}})).actions((e=>({async getTokenFromUser(t,n){const{baseURL:r}=e,o=await new Promise(((t,n)=>{const{session:r}=u.getRoot(e),{baseURL:o,name:i}=e;r.queueDialog((e=>[SN,{name:i,handleClose:r=>{r?r instanceof Error?n(r):t(r):n(new Error("user cancelled entry")),e()},baseURL:o}]))}));if("guest"!==o)return void e.openAuthWindow(o,t,n);const i=new URL("auth/login",r),a=new URLSearchParams({type:o});i.search=a.toString();const s=i.toString(),c=await fetch(s);if(!c.ok){const e=await md(c,"Error when logging in");return void n(new Error(e))}const{token:l}=await c.json();t(l)}}))).volatile((()=>({lastChangeSequenceNumber:void 0}))).actions((e=>({setLastChangeSequenceNumber(t){e.lastChangeSequenceNumber=t}}))).actions((e=>({updateLastChangeSequenceNumber:u.flow((function*(){const{baseURL:t}=e,n=new URL("changes",t),r=new URLSearchParams({limit:"1"});n.search=r.toString();const o=n.toString(),i=e.getFetcher({locationType:"UriLocation",uri:o}),a=yield i(o,{method:"GET"});if(!a.ok){const e=yield md(a,"Error when fetching server LastChangeSequence");throw new Error(e)}const s=yield a.json();e.setLastChangeSequenceNumber(s.length>0?s[0].sequence:0)})),getMissingChanges:u.flow((function*(){const{session:t}=u.getRoot(e),{changeManager:n}=t.apolloDataStore;if(!e.lastChangeSequenceNumber)throw new Error("No LastChangeSequence stored in session. Please, refresh you browser to get last updates from server");const{baseURL:r,lastChangeSequenceNumber:o}=e,i=new URL("changes",r),a=new URLSearchParams({since:String(o),sort:"1"});i.search=a.toString();const s=i.toString(),c=e.getFetcher({locationType:"UriLocation",uri:s}),l=yield c(s,{method:"GET"});if(!l.ok)return void console.error(`Error when fetching the last updates to recover socket connection — ${l.status}`);const f=yield l.json();for(const e of f){const t=z.Change.fromJSON(e);n.submit(t,{submitToBackend:!1})}}))}))).volatile((e=>{const{origin:t,pathname:n}=new URL("socket.io/",e.baseURL);return{socket:wl(t,{path:n})}})).actions((e=>({addSocketListeners(){const{session:t}=u.getRoot(e),{notify:n}=t,r=e.retrieveToken();if(!r)throw new Error("No Token found");const{socket:o}=e,{addCheckResult:i,changeManager:a,deleteCheckResult:s}=t.apolloDataStore;o.on("connect",(async()=>{await e.getMissingChanges()})),o.on("connect_error",(e=>{console.error(e),n("Could not connect to the Apollo server.","error")})),o.on("COMMON",(e=>{if("checkResult"in e)return void(e.deleted?s(e.checkResult._id.toString()):i(e.checkResult));if(sessionStorage.setItem("LastChangeSequence",String(e.changeSequence)),e.userSessionId===r)return;const t=z.Change.fromJSON(e.changeInfo);a.submit(t,{submitToBackend:!1})})),o.on("USER_LOCATION",(e=>{const{channel:n,locations:o,userName:i,userSessionId:a}=e,s=nr.getDecodedToken(r),u=nr.makeUserSessionId(s);"USER_LOCATION"===n&&a!==u&&t.addOrUpdateCollaborator({name:i,id:a,locations:o})})),o.on("REQUEST_INFORMATION",(e=>{const{channel:n,userSessionId:o}=e;"REQUEST_INFORMATION"===n&&o!==r&&t.broadcastLocations()}))}}))).actions((e=>({postUserLocation:(t=>{let n;return t=>{clearTimeout(n),n=setTimeout((()=>{!async function(t){const{baseURL:n}=e,r=new URL("users/userLocation",n).href,o=new URLSearchParams(JSON.stringify(t)),i=e.getFetcher({locationType:"UriLocation",uri:r});try{if(!(await i(r,{method:"POST",body:o})).ok)throw new Error("ignore")}catch{console.error("Broadcasting user location failed")}}(t)}),300)}})()}))).actions((e=>({initialize:u.flow((function*(t){if("admin"===t){const t=u.getRoot(e);n.isAbstractMenuManager(t)&&function(e){e.appendToMenu("Apollo",{label:"Add Assembly",onClick:e=>{e.queueDialog((t=>[Ed,{session:e,handleClose:()=>{t()},changeManager:e.apolloDataStore.changeManager}]))}}),e.appendToMenu("Apollo",{label:"Delete Assembly",onClick:e=>{e.queueDialog((t=>[MR,{session:e,handleClose:()=>{t()},changeManager:e.apolloDataStore.changeManager}]))}}),e.appendToMenu("Apollo",{label:"Import Features",onClick:e=>{e.queueDialog((t=>[DR,{session:e,handleClose:()=>{t()},changeManager:e.apolloDataStore.changeManager}]))}}),e.appendToMenu("Apollo",{label:"Add reference sequence aliases",onClick:e=>{e.queueDialog((t=>[lN,{session:e,handleClose:()=>{t()},changeManager:e.apolloDataStore.changeManager}]))}}),e.appendToMenu("Apollo",{label:"Manage Users",onClick:e=>{e.queueDialog((t=>[HR,{session:e,handleClose:()=>{t()},changeManager:e.apolloDataStore.changeManager}]))}}),e.appendToMenu("Apollo",{label:"Undo",onClick:e=>{const{apolloDataStore:t}=e,{notify:n}=e;t.changeManager.recentChanges.length>0?t.changeManager.revertLastChange():n("No changes to undo","info")}})}(t)}yield e.updateLastChangeSequenceNumber(),e.addSocketListeners();const{baseURL:r}=e,o=new URL("users/locations",r).href,i=e.getFetcher({locationType:"UriLocation",uri:o});yield i(o,{method:"GET"}),window.addEventListener("beforeunload",(()=>{e.postUserLocation([])})),document.addEventListener("visibilitychange",(()=>{if("hidden"===document.visibilityState&&e.postUserLocation([]),"visible"===document.visibilityState){const{session:t}=u.getRoot(e);t.broadcastLocations()}}))}))}))).actions((e=>({afterAttach(){e.setRole(),s.autorun((async t=>{if(xN)return;const{session:n}=u.getRoot(e);n&&e.role&&(await e.initialize(e.role),t.dispose())}),{name:"ApolloInternetAccount"})}})));var EN={};function AN(e){return"uniqueId"in e&&"object"!==Z(e.data)}Object.defineProperty(EN,"__esModule",{value:!0}),EN.isFeature=function(e){return"object"===Z(e)&&null!==e&&"function"==typeof e.get&&"function"==typeof e.id};var CN=function(){function e(t){var n,r=this;ee(this,e),AN(t)?this.data=t:(this.data=t.data||{},this.parentHandle=t.parent);var o=AN(t)?t.uniqueId:t.id;if(null==o)throw new Error("SimpleFeature requires a unique `id` or `data.uniqueId` attribute");if(this.uniqueId=String(o),!(this.data.aliases||this.data.end-this.data.start>=0))throw new Error("invalid feature data, end less than start. end: ".concat(this.data.end," start: ").concat(this.data.start));this.data.subfeatures&&(this.subfeatures=null===(n=this.data.subfeatures)||void 0===n?void 0:n.map((function(t,n){return"function"!=typeof t.get?new e({id:t.uniqueId||"".concat(o,"-").concat(n),data:K({strand:r.data.strand},t),parent:r}):t})))}return ne(e,[{key:"get",value:function(e){return"subfeatures"===e?this.subfeatures:"parent"===e?this.parent():this.data[e]}},{key:"set",value:function(e,t){this.data[e]=t}},{key:"tags",value:function(){return Object.keys(this.data)}},{key:"id",value:function(){return this.uniqueId}},{key:"parent",value:function(){return this.parentHandle}},{key:"children",value:function(){return this.get("subfeatures")}},{key:"toJSON",value:function(){var e=K(K({},this.data),{},{uniqueId:this.id()}),t=this.parent();t&&(e.parentId=t.id());var n=this.children();return n&&(e.subfeatures=n.map((function(e){return e.toJSON()}))),e}}],[{key:"fromJSON",value:function(t){return new e(K({},t))}}]),e}(),ON=EN.default=CN;function RN(e){return"object"==typeof e&&null!==e&&"apollo"in e&&!0===e.apollo}const NN="undefined"==typeof sessionStorage;class IN extends S.BaseSequenceAdapter{regions;async getRefNames(e){return(await this.getRegions(e)).map((e=>e.refName))}async getRegions(e){if(this.regions)return this.regions;const t=r.readConfObject(this.config,"assemblyId");if(!NN){const e=this.pluginManager?.rootModel?.session?.apolloDataStore;if(!e)throw new Error("No Apollo data store found");const n=e.getBackendDriver(t),r=await n.getRegions(t);return this.regions=r,r}const n=await new Promise(((n,r)=>{const o=setTimeout((()=>{r("timeout")}),2e4),i=oN(),a=e=>{const{data:t}=e;RN(t)&&t.messageId===i&&(clearTimeout(o),removeEventListener("message",a),n(t.regions))};addEventListener("message",a,e),globalThis.rpcServer.emit("apollo",{apollo:!0,method:"getRegions",assembly:t,messageId:i})}));return this.regions=n,n}getFeatures(e,t){const{end:n,refName:o,start:i}=e,a=r.readConfObject(this.config,"assemblyId"),s={...e,assemblyName:a};return x.ObservableCreate((async e=>{if(!NN){const t=this.pluginManager?.rootModel?.session?.apolloDataStore;if(!t)return void e.error("No Apollo data store found");const r=t.getBackendDriver(a),{seq:u}=await r.getSequence(s);return e.next(new ON({id:`${o} ${i}-${n}`,data:{refName:o,start:i,end:n,seq:u}})),void e.complete()}const r=await new Promise(((e,n)=>{const r=setTimeout((()=>{n("timeout")}),2e4),o=oN(),i=t=>{const{data:n}=t;RN(n)&&n.messageId===o&&(clearTimeout(r),removeEventListener("message",i),e(n.sequence))};addEventListener("message",i,t),globalThis.rpcServer.emit("apollo",{apollo:!0,method:"getSequence",region:s,messageId:o})}));e.next(new ON({id:`${o} ${i}-${n}`,data:{refName:o,start:i,end:n,seq:r}})),e.complete()}))}freeResources(){}}var PN=r.ConfigurationSchema("ApolloSequenceAdapter",{assemblyId:{type:"string",defaultValue:""}},{explicitlyTyped:!0});function TN(e,t,n,r,o,i){const a=r/o;e.fillStyle="black",e.fillRect(t,n,a,i),a>2&&(e.clearRect(t+1,n+1,a-2,i-2),e.fillStyle="rgba(255,255,255,0.75)",e.fillRect(t+1,n+1,a-2,i-2))}var MN=p.observer((function(e){const[t,o]=d.useState(),[i,a]=d.useState(),l=d.useRef(null),f=d.useRef(null),h=d.useRef(null),[p,m]=d.useState(!1),[g,y]=d.useState(!0),[v,_]=d.useState(),[b,w]=d.useState(!1),[S,x]=d.useState([]),{bpPerPx:k,displayModel:E,regions:A}=e,{session:C}=E,{collaborators:O}=C;d.useEffect((()=>s.autorun((()=>{x(s.toJS(O))}))),[]);const[R]=A,N=(R.end-R.start)/k,{apolloFeatureUnderMouse:I,apolloRowHeight:P,apolloRowUnderMouse:T,changeManager:j,codonLayout:F,featureLayout:L,features:D,featuresHeight:q,getAssemblyId:B,selectedFeature:U,setApolloFeatureUnderMouse:z,setApolloRowUnderMouse:G,setSelectedFeature:H,showIntronLines:W,showStartCodons:V,showStopCodons:$}=E,J=[...D.values()].map((e=>[...e.values()].map((e=>u.getSnapshot(e))))),K=d.useMemo((()=>{const{internetAccounts:e}=u.getRoot(C),{assemblyName:t}=R,{assemblyManager:o}=n.getSession(E),i=o.get(t);if(!i)throw new Error(`No assembly found with name ${t}`);const{internetAccountConfigId:a}=r.getConf(i,["sequence","metadata"]),s=e.find((e=>r.getConf(e,"internetAccountId")===a));if(!s)throw new Error(`No InternetAccount found with config id ${a}`);return s}),[E,R,C]),{role:Y}=K;return d.useEffect((()=>{Y?.includes("admin")&&m(!0),(Y?.includes("admin")??Y?.includes("user"))&&y(!1)}),[Y]),d.useEffect((()=>{const e=l.current;if(!e)return;const t=e.getContext("2d");if(!t)return;const n={};t.clearRect(0,0,N,q);for(const[e,r]of L)for(const[o,i]of r){const r=R.reversed?R.end-i.max:i.min-R.start-1,a=i.max-R.start-1,s=r/k,u=a/k;TN(t,s,e*P,a-r,k,P);const c=e*P+P/2;n[o]||(n[o]=[]),n[o].some((e=>e[0]===s&&e[1]===c))||n[o].push([s,c]),n[o].some((e=>e[0]===u&&e[1]===c))||n[o].push([u,c])}if(W){let e=-Math.floor(Object.keys(n).length/2);for(const r in n){t.strokeStyle=`hsl(${e*(180*(3-Math.sqrt(5)))+60},100%,50%)`;const o=n[r].sort(((e,t)=>e[0]-t[0]));let[i]=o;for(const[n,r]of o.entries())if(0!==n){if(n%2==0){const n=[(r[0]-i[0])/2+i[0],Math.max(1,Math.min(i[1],r[1])-P/2+2*e)];t.beginPath(),t.moveTo(i[0],i[1]+2*e),t.lineTo(...n),t.stroke(),t.moveTo(...n),t.lineTo(r[0],r[1]+2*e),t.stroke()}i=r}e+=1}}}),[W,R,k,R.start,R.end,R.reversed,N,L,q,D,P,J]),d.useEffect((()=>{const e=h.current;if(!e)return;const t=e.getContext("2d");if(t){t.clearRect(0,0,N,q);for(const[e,{starts:n,stops:r}]of F){const o=k;for(const r of n){const n=r/o;R.start/o<=n&&n<=R.end/o&&(t.fillStyle="rgba(255,0,255,1)",V?t.fillRect(Math.round(n-.5-R.start/o),e*P,1,P):t.clearRect(Math.round(n-.5-R.start/o),e*P,1,P))}for(const n of r){const r=n/o;R.start/o<=r&&r<=R.end/o&&(t.fillStyle="black",$?t.fillRect(Math.round(r-.5-R.start/o),e*P,1,P):t.clearRect(Math.round(r-.5-R.start/o),e*P,1,P))}}}}),[V,$,F,N,q,k,P,R,R.start,R.end]),d.useEffect((()=>{const e=f.current;if(!e)return;const t=e.getContext("2d");if(t){t.clearRect(0,0,N,q);for(const e of S){const{locations:n}=e;if(0===n.length)return;for(const r of n){const{end:n,start:o}=r,i=(R.reversed?R.end-o:o-R.start)/k,a=(n-o)/k;t.fillStyle="rgba(0,255,0,.2)",t.fillRect(i,1,a,100),t.fillStyle="black",t.fillText(e.name,i+1,11,a-2)}}}}),[I,T,k,q,N,R,R.start,R.end,R.reversed,v,P,S]),M.default.createElement("div",{style:{position:"relative",width:N,height:q}},M.default.createElement(c.Menu,{open:Boolean(i),anchorReference:"anchorPosition",anchorPosition:t?{left:t[0],top:t[1]}:void 0,"data-testid":"base_linear_display_context_menu",onClose:()=>{a(void 0)}},M.default.createElement(c.MenuItem,{disabled:g,key:1,value:1,onClick:()=>{if(!i)return;const e=B(R.assemblyName);C.queueDialog((t=>[NR,{session:C,handleClose:()=>{t(),a(void 0)},changeManager:j,sourceFeature:i,sourceAssemblyId:e,internetAccount:K}]))}},"Add child feature"),M.default.createElement(c.MenuItem,{disabled:g,key:2,value:2,onClick:()=>{if(!i)return;const e=B(R.assemblyName);C.queueDialog((t=>[TR,{session:C,handleClose:()=>{t(),a(void 0)},changeManager:j,sourceFeature:i,sourceAssemblyId:e}]))}},"Copy features and annotations"),M.default.createElement(c.MenuItem,{disabled:!p,key:3,value:3,onClick:()=>{if(!i)return;const e=B(R.assemblyName);C.queueDialog((t=>[jR,{session:C,handleClose:()=>{t(),a(void 0)},changeManager:j,sourceFeature:i,sourceAssemblyId:e,selectedFeature:U,setSelectedFeature:H}]))}},"Delete feature")),M.default.createElement("canvas",{ref:l,width:N,height:q,style:{position:"absolute",left:0,top:0}}),M.default.createElement("canvas",{ref:f,width:N,height:q,onMouseLeave:function(){z(),G()},onMouseUp:async function(){if(b){if(v){const e=B(R.assemblyName),{bp:t,edge:n,feature:r}=v;let o;if("end"===n){const n=r._id,i=r.max,a=Math.round(t);o=new nr.LocationEndChange({typeName:"LocationEndChange",changedIds:[n],featureId:n,oldEnd:i,newEnd:a,assembly:e})}else{const n=r._id,i=r.min,a=Math.round(t);o=new nr.LocationStartChange({typeName:"LocationStartChange",changedIds:[n],featureId:n,oldStart:i,newStart:a,assembly:e})}await j.submit(o)}}else I&&H(I);_(void 0),w(!1)},onContextMenu:function(e){e.preventDefault(),a(I),o([e.pageX,e.pageY])},style:{position:"absolute",left:0,top:0}}),M.default.createElement("canvas",{ref:h,width:N,height:6*P,style:{position:"absolute",left:0,top:0}}))})),jN=r.ConfigurationSchema("ApolloSixFrameRenderer",{},{explicitlyTyped:!0});class FN extends o.RendererType{async renderInClient(e,t){return this.render(t)}async freeResourcesInClient(e,t){return 0}}var LN={};Object.defineProperty(LN,"__esModule",{value:!0}),LN.RefSequenceResult=void 0;var DN=function(){function e(t){ee(this,e),this.label=t.label,this.locString=t.locString,this.renderingComponent=t.renderingComponent,this.displayString=t.displayString,this.matchedAttribute=t.matchedAttribute,this.matchedObject=t.matchedObject,this.textSearchAdapter=t.textSearchAdapter,this.relevance=t.relevance,this.trackId=t.trackId,this.score=t.score||1,this.results=t.results||[]}return ne(e,[{key:"getLabel",value:function(){return this.label}},{key:"getDisplayString",value:function(){return this.displayString||this.label}},{key:"getRenderingComponent",value:function(){return this.renderingComponent}},{key:"getTrackId",value:function(){return this.trackId}},{key:"getScore",value:function(){return this.score}},{key:"updateScore",value:function(e){return this.score=e,this.score}},{key:"getId",value:function(){return"".concat(this.getLabel(),"-").concat(this.getLocation(),"-").concat(this.getTrackId())}},{key:"hasLocation",value:function(){return!!this.locString}},{key:"getLocation",value:function(){return this.locString}},{key:"getComboResults",value:function(){return this.results}}]),e}(),qN=LN.default=DN,BN=function(e){oe(n,e);var t=fe(n);function n(e){var r,o;return ee(this,n),(r=t.call(this,e)).refName=null!==(o=e.refName)&&void 0!==o?o:"",r}return ne(n,[{key:"getLocation",value:function(){return this.refName}}]),n}(DN);LN.RefSequenceResult=BN;class UN extends S.BaseAdapter{get baseURL(){return r.readConfObject(this.config,"baseURL").uri}get trackId(){return r.readConfObject(this.config,"trackId")}get assemblyNames(){return r.readConfObject(this.config,"assemblyNames")}mapBaseResult(e,t,n){return e.map((e=>{const r=t.getCanonicalRefName(e.refSeq);return new qN({label:n,trackId:this.trackId,locString:`${r}:${e.min+1}..${e.max}`})}))}async searchIndex(e){const t=e.queryString,n=[],r=this.pluginManager?.rootModel?.session;if(!r)return n;const{apolloDataStore:o}=r,{assemblyManager:i}=r;for(const r of this.assemblyNames){const a=o.getBackendDriver(r),s=i.get(r);if(!a||!s)continue;const u=await a.searchFeatures(e.queryString,[r]);n.push(...this.mapBaseResult(u,s,t))}return n}freeResources(){}}var zN=r.ConfigurationSchema("ApolloTextSearchAdapter",{assemblyNames:{type:"stringArray",defaultValue:[],description:"List of assemblies covered by text search adapter"},trackId:{type:"string",defaultValue:""},baseURL:{type:"fileLocation",defaultValue:{uri:"",locationType:"UriLocation"}}},{explicitlyTyped:!0,explicitIdentifier:"textSearchAdapterId"});const GN=r.ConfigurationSchema("ApolloPlugin",{ontologies:u.types.array(ER),featureTypeOntologyName:{description:"Name of the feature type ontology",type:"string",defaultValue:"Sequence Ontology"}});function HN(e){if("LinearPileupDisplay"!==e.name)return e;const{stateModel:t}=e,r=t.views((e=>({getFirstRegion:()=>n.getContainingView(e).dynamicBlocks.contentBlocks[0],getAssembly(){const t=e.getFirstRegion(),r=n.getSession(e),{assemblyManager:o}=r,{assemblyName:i}=t,a=o.get(i);if(!a)throw new Error(`Could not find assembly named ${i}`);return a},getRefSeqId(t){const n=e.getFirstRegion(),{refName:r}=n,{refNameAliases:o}=t;if(!o)throw new Error(`Could not find aliases for ${t.name}`);const i=[...Object.entries(o)].filter((([e,t])=>e!==t)).map((([e,t])=>({_id:e,name:t??""}))),a=i.find((e=>e.name===r))?._id;if(!a)throw new Error(`Could not find refSeqId named ${r}`);return a},createFeature(){const t=e.contextMenuFeature,n=e.getAssembly(),r=e.getRefSeqId(n),o=(t.get("CIGAR").toUpperCase().match(/\d+\D/g)??[]).map((e=>[(/\D/.exec(e)??[])[0],Number.parseInt(e,10)]));let i=0;const a=t.get("start");let s;const u=[];for(const[e,t]of o)"M"===e||"="===e?void 0===s&&(s=i+a):"N"===e&&void 0!==s&&(u.push({start:s,end:i+s}),s=void 0),"I"!==e&&(i+=t);void 0!==s&&u.push({start:s,end:i+a});const c={_id:Jn().toHexString(),refSeq:r,min:t.get("start"),max:t.get("end"),type:"mRNA",strand:t.get("strand")};if(0===u.length)return c;c.children={};const[l]=u,f={_id:Jn().toHexString(),refSeq:r,min:l.start,max:l.end,type:"CDS",strand:t.get("strand")};if(c.children[f._id]=f,1===u.length){const e={_id:Jn().toHexString(),refSeq:r,min:l.start,max:l.end,type:"exon",strand:t.get("strand")};return c.children[e._id]=e,c}for(const e of u){f.min=Math.min(f.min,e.start),f.max=Math.max(f.max,e.end);const{end:n,start:o}=e,i={_id:Jn().toHexString(),refSeq:r,min:o,max:n,type:"exon",strand:t.get("strand")};c.children[i._id]=i}return c},async onPileupFeatureContext(){const t=e.createFeature(),r=e.getAssembly(),o=new nr.AddFeatureChange({changedIds:[t._id],typeName:"AddFeatureChange",assembly:r.name,addedFeature:t}),i=n.getSession(e);await i.apolloDataStore.changeManager.submit(o),i.notify("Annotation added successfully","success")}}))).views((e=>{const t=e.contextMenuItems;return{contextMenuItems:()=>e.contextMenuFeature?[...t(),{label:"Create Apollo annotation",icon:Zu,onClick:e.onPileupFeatureContext}]:t()}}));return e.stateModel=r,e}const WN=p.observer((function({onChangeCommitted:e,value:t,...n}){const[r,o]=d.useState(String(t)),[i,a]=d.useState(!1),[s,u]=d.useState(null);return d.useEffect((()=>{o(String(t))}),[t]),d.useEffect((()=>{i&&(s?.blur(),a(!1))}),[i,s]),M.default.createElement(c.TextField,{...n,type:"text",onChange:function(e){o(e.target.value)},value:r,onKeyDown:e=>{"Enter"===e.key?s?.blur():"Escape"===e.key&&(o(String(t)),a(!0))},onBlur:()=>{r!==String(t)&&e(r)},inputRef:e=>{u(e)}})})),VN=new Map([["Gene Ontology",e=>M.default.createElement(YR,{...e,ontologyName:"Gene Ontology"})],["Sequence Ontology",e=>M.default.createElement(YR,{...e,ontologyName:"Sequence Ontology"})]]),$N=["ID","Name","Alias","Target","Gap","Derives_from","Note","Dbxref","Ontology","Is_Circular"],JN=m.makeStyles()((e=>({newAttributePaper:{padding:e.spacing(2)},attributeName:{background:e.palette.secondary.main,color:e.palette.secondary.contrastText,padding:e.spacing(1)}})));function KN(e){const{onChange:t,value:n}=e;return M.default.createElement(WN,{value:n,onChangeCommitted:e=>{t(e.split(","))},variant:"outlined",fullWidth:!0,helperText:"Separate multiple values for the attribute with commas"})}const YN=p.observer((function({assembly:e,editable:t,feature:n,session:r}){const[o,i]=d.useState(""),[a,s]=d.useState(!1),{classes:l}=JN(),[f,h]=d.useState(""),p=Object.fromEntries([...n.attributes.entries()].map((([e,t])=>{if(e.startsWith("gff_")){const n=e.slice(4);return[n.charAt(0).toUpperCase()+n.slice(1),u.getSnapshot(t)]}return"_id"===e?["ID",u.getSnapshot(t)]:[e,u.getSnapshot(t)]}))),{notify:m}=r,{changeManager:g}=r.apolloDataStore;async function y(t,r){i("");const o={};if(p){const e=Object.entries({...p,[t]:r});for(const[t,n]of e)if(n&&"parent"!==t.toLowerCase())if([...VN.keys()].includes(t))o[t]=n;else switch(t){case"ID":o._id=n;break;case"Name":o.gff_name=n;break;case"Alias":o.gff_alias=n;break;case"Target":o.gff_target=n;break;case"Gap":o.gff_gap=n;break;case"Derives_from":o.gff_derives_from=n;break;case"Note":o.gff_note=n;break;case"Dbxref":o.gff_dbxref=n;break;case"Ontology_term":o.gff_ontology_term=n;break;case"Is_circular":o.gff_is_circular=n;break;default:o[t.toLowerCase()]=n}}const a=new nr.FeatureAttributeChange({changedIds:[n._id],typeName:"FeatureAttributeChange",assembly:e,featureId:n._id,attributes:o});await g.submit(a),m("Feature attributes modified successfully","success")}return M.default.createElement(M.default.Fragment,null,M.default.createElement(c.Typography,{variant:"h5"},"Attributes"),M.default.createElement(c.Grid,{container:!0,direction:"column",spacing:1},Object.entries(p).map((([e,n])=>{if(""===e)return null;const o=VN.get(e)??KN;return M.default.createElement(c.Grid,{container:!0,item:!0,spacing:3,alignItems:"center",key:e},M.default.createElement(c.Grid,{item:!0,xs:"auto"},M.default.createElement(c.Paper,{variant:"outlined",className:l.attributeName},M.default.createElement(c.Typography,null,e))),M.default.createElement(c.Grid,{item:!0,flexGrow:1},M.default.createElement(o,{session:r,value:n,onChange:t=>y(e,t)})),M.default.createElement(c.Grid,{item:!0,xs:1},M.default.createElement(c.IconButton,{"aria-label":"delete",size:"medium",disabled:!t,onClick:()=>y(e)},M.default.createElement(GR,{fontSize:"medium",key:e}))))})),M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.Button,{color:"primary",variant:"contained",disabled:a||!t,onClick:()=>{s(!0)}},"Add new")),a?M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.Paper,{elevation:8,className:l.newAttributePaper},M.default.createElement(c.Grid,{container:!0,direction:"column"},M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.FormControl,null,M.default.createElement(c.FormLabel,{id:"attribute-radio-button-group"},"Select attribute type"),M.default.createElement(c.RadioGroup,{"aria-labelledby":"demo-radio-buttons-group-label",defaultValue:"custom",name:"radio-buttons-group",onChange:function(e,t){"custom"===t?h(""):VN.has(t)?h(t):i("Unknown attribute type")}},M.default.createElement(c.FormControlLabel,{value:"custom",control:M.default.createElement(c.Radio,null),disableTypography:!0,label:M.default.createElement(c.Grid,{container:!0,spacing:1,alignItems:"center"},M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.Typography,null,"Custom")),M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.TextField,{label:"Custom attribute key",variant:"outlined",value:VN.has(f)?"":f,disabled:VN.has(f),onChange:e=>{h(e.target.value)}})))}),[...VN.keys()].map((e=>M.default.createElement(c.FormControlLabel,{key:e,value:e,control:M.default.createElement(c.Radio,null),label:e})))))),M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{key:"addButton",color:"primary",variant:"contained",onClick:function(){i(""),0!==f.trim().length?"Parent"!==f?f in p?i(`Attribute "${f}" already exists`):!/^[A-Z]/.test(f)||$N.includes(f)||[...VN.keys()].includes(f)?y(f,[]):i(`Key cannot starts with uppercase letter unless key is one of these: ${$N.join(", ")}`):i('"Parent" -key is handled internally and it cannot be modified manually'):i("Attribute key is mandatory")},disabled:!f},"Add"),M.default.createElement(c.Button,{key:"cancelAddButton",variant:"outlined",type:"submit",onClick:()=>{s(!1),h(""),i("")}},"Cancel")))))):null),o?M.default.createElement(c.Typography,{color:"error"},o):null)})),ZN=p.observer((function({onChangeCommitted:e,value:t,...n}){const[r,o]=d.useState(String(t)),[i,a]=d.useState(!1),[s,u]=d.useState(null);d.useEffect((()=>{o(String(t))}),[t]),d.useEffect((()=>{i&&(s?.blur(),a(!1))}),[i,s]);const l=Number.isNaN(Number(r));return M.default.createElement(c.TextField,{...n,type:"text",onChange:function(e){o(e.target.value)},value:r,onKeyDown:e=>{"Enter"===e.key?s?.blur():"Escape"===e.key&&(o(String(t)),a(!0))},onBlur:()=>{const n=Number(r);r!==String(t)&&(Number.isNaN(n)?o(String(t)):e(n))},inputRef:e=>{u(e)},error:l,helperText:l?"Not a valid number":void 0})})),XN=p.observer((function({assembly:e,feature:t,session:n}){const[r,o]=d.useState(""),[i,a]=d.useState(""),{_id:s,assemblyId:u,max:l,min:f,strand:h,type:p}=t,m=e=>{n.notify(e.message,"error")},{changeManager:g}=n.apolloDataStore;function y(t){const{value:n}=t.target,r=n?Number(n):void 0,o=new nr.StrandChange({typeName:"StrandChange",changedIds:[s],featureId:s,oldStrand:h,newStrand:r,assembly:e});return g.submit(o)}return M.default.createElement(M.default.Fragment,null,M.default.createElement(c.Typography,{variant:"h5"},"Basic information"),M.default.createElement(ZN,{margin:"dense",id:"start",label:"Start",fullWidth:!0,variant:"outlined",value:f+1,onChangeCommitted:function(t){t--;const n=new nr.LocationStartChange({typeName:"LocationStartChange",changedIds:[s],featureId:s,oldStart:f,newStart:t,assembly:e});return g.submit(n)}}),M.default.createElement(ZN,{margin:"dense",id:"end",label:"End",fullWidth:!0,variant:"outlined",value:l,onChangeCommitted:function(t){const n=new nr.LocationEndChange({typeName:"LocationEndChange",changedIds:[s],featureId:s,oldEnd:l,newEnd:t,assembly:e});return g.submit(n)}}),M.default.createElement(RR,{session:n,ontologyName:"Sequence Ontology",value:p,filterTerms:AR,fetchValidTerms:async function(e,t,n){const r=await OR(e,t);if(r)return r;a(`Type "${e?.type}" does not have any children in the ontology`)}.bind(null,t),renderInput:e=>M.default.createElement(c.TextField,{...e,label:"Type",variant:"outlined",fullWidth:!0,error:Boolean(i),helperText:i}),onChange:(e,t)=>{t&&function(e){o("");const t=new nr.TypeChange({typeName:"TypeChange",changedIds:[s],featureId:s,oldType:p,newType:e,assembly:u});return g.submit(t)}(t).catch(m)}}),M.default.createElement("label",null,M.default.createElement("input",{type:"radio",value:"1",checked:1===h,onChange:y}),"Positive Strand (+)"),M.default.createElement("label",null,M.default.createElement("input",{type:"radio",value:"-1",checked:-1===h,onChange:y}),"Negative Strand (-)"),M.default.createElement("label",null,M.default.createElement("input",{type:"radio",value:"",checked:void 0===h,onChange:y}),"No Strand Information"),r?M.default.createElement(c.Typography,{color:"error"},r):null)})),QN=m.makeStyles()({sequence:{width:"100%",resize:"vertical"}}),eI=p.observer((function({assembly:e,feature:t,refName:n,session:r}){const o=r.apolloDataStore.assemblies.get(e),[i,a]=d.useState(!1),{classes:s}=QN();if(!t||!o)return null;const u=o.getByRefName(n);if(!u)return null;const{max:l,min:f}=t;let h="";return i&&(h=u.getSequence(f,l),h?h=function(e,t,n,r,o){return`>${t}:${n+1}–${r}\n${e}`}(h,n,f,l):r.apolloDataStore.loadRefSeq([{assemblyName:e,refName:n,start:f,end:l}])),M.default.createElement(M.default.Fragment,null,M.default.createElement(c.Typography,{variant:"h5"},"Sequence"),M.default.createElement(c.Button,{variant:"contained",onClick:()=>{a(!i)}},i?"Hide sequence":"Show sequence"),M.default.createElement("div",null,i&&M.default.createElement("textarea",{readOnly:!0,rows:20,className:s.sequence,value:h})))})),tI=m.makeStyles()((e=>({root:{padding:e.spacing(2)}}))),nI=p.observer((function(e){const{model:t}=e,{assembly:r,feature:o,refName:i}=t,a=n.getSession(t),s=a.apolloDataStore.assemblies.get(r),{classes:u}=tI();if(!o||!s)return null;const c=s.getByRefName(i);if(!c)return null;const{max:l,min:f}=o;return c.getSequence(f,l)||a.apolloDataStore.loadRefSeq([{assemblyName:r,refName:i,start:f,end:l}]),M.default.createElement("div",{className:u.root},M.default.createElement(XN,{feature:o,session:a,assembly:s._id}),M.default.createElement("hr",null),M.default.createElement(YN,{feature:o,session:a,assembly:s._id,editable:!0}),M.default.createElement("hr",null),M.default.createElement(eI,{feature:o,session:a,assembly:s._id,refName:i}))}));var rI={},oI={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.AnnotationFeatureModel=void 0;var t=O.default,n=I.default,r=rI,o=n.types.late((function(){return e.AnnotationFeatureModel}));e.AnnotationFeatureModel=n.types.model("AnnotationFeatureModel",{_id:n.types.identifier,refSeq:n.types.string,type:n.types.string,min:n.types.number,max:n.types.number,strand:n.types.maybe(n.types.union(n.types.literal(1),n.types.literal(-1))),children:n.types.maybe(n.types.map(o)),attributes:n.types.map(n.types.array(n.types.string))}).views((function(e){return{get length(){return e.max-e.min},get featureId(){return e.attributes.get("id")},get minWithChildren(){var t=e.min,n=e.children;if(!n)return t;var r,o=we(n);try{for(o.s();!(r=o.n()).done;){var i=he(r.value,2);t=Math.min(t,i[1].min)}}catch(e){o.e(e)}finally{o.f()}return t},get maxWithChildren(){var t=e.max,n=e.children;if(!n)return t;var r,o=we(n);try{for(o.s();!(r=o.n()).done;){var i=he(r.value,2);t=Math.max(t,i[1].max)}}catch(e){o.e(e)}finally{o.f()}return t},hasDescendant:function(t){var n=e.children;if(!n)return!1;var r,o=we(n);try{for(o.s();!(r=o.n()).done;){var i=he(r.value,2);if(i[0]===t)return!0;if(i[1].hasDescendant(t))return!0}}catch(e){o.e(e)}finally{o.f()}return!1},get transcriptParts(){if("mRNA"!==e.type)throw new Error('Only features of type "mRNA" or equivalent can calculate CDS locations');var n=e.children;if(!n)throw new Error("no CDS or exons in mRNA");var r=me(n.values()).filter((function(e){return"CDS"===e.type}));if(0===r.length)throw new Error("no CDS in mRNA");var o,i=[],a=we(r);try{var s=function(){var r,a=o.value,s=a.max,u=a.min,c=[],l=!1,f=[],d=we(n);try{for(d.s();!(r=d.n()).done;){var h=he(r.value,2)[1];"exon"===h.type&&f.push({min:h.min,max:h.max})}}catch(e){d.e(e)}finally{d.f()}f.sort((function(e,t){return e.min-t.min}));for(var p=0,m=f;p<m.length;p++){var g=m[p],y=c.at(-1);y&&c.push({min:y.max,max:g.min,type:"intron"});var v,_=he((0,t.intersection2)(u,s,g.min,g.max),2),b=_[0],w=_[1];v=l?1===e.strand?"threePrimeUTR":"fivePrimeUTR":1===e.strand?"fivePrimeUTR":"threePrimeUTR",void 0!==b&&void 0!==w?(l=!0,b===g.min&&w===g.max?c.push({min:b,max:w,phase:0,type:"CDS"}):b===g.min?c.push({min:b,max:w,phase:0,type:"CDS"},{min:w,max:g.max,type:v}):w===g.max?c.push({min:g.min,max:b,type:v},{min:b,max:w,phase:0,type:"CDS"}):c.push({min:g.min,max:b,type:v},{min:b,max:w,phase:0,type:"CDS"},{min:w,max:g.max,type:"fivePrimeUTR"===v?"threePrimeUTR":"fivePrimeUTR"})):c.push({min:g.min,max:g.max,type:v})}c.sort((function(e,t){return e.min-t.min})),-1===e.strand&&c.reverse();var S=0,x=c.map((function(e){if("CDS"!==e.type)return e;var t=S;return S=(3-(e.max-e.min-t+3)%3)%3,K(K({},e),{},{phase:t})}));i.push(x)};for(a.s();!(o=a.n()).done;)s()}catch(e){a.e(e)}finally{a.f()}return i}}})).views((function(e){return{get cdsLocations(){return e.transcriptParts.map((function(e){return e.filter((function(e){return"CDS"===e.type}))}))}}})).actions((function(e){return{setAttributes:function(t){e.attributes.clear();var n,r=we(t.entries());try{for(r.s();!(n=r.n()).done;){var o=he(n.value,2);e.attributes.set(o[0],o[1])}}catch(e){r.e(e)}finally{r.f()}},setAttribute:function(t,n){e.attributes.merge(re({},t,n))},setType:function(t){e.type=t},setRefSeq:function(t){e.refSeq=t},setMin:function(t){if(t>e.max)throw new Error('Min "'.concat(t,'" is greater than max "').concat(e.max,'"'));e.min!==t&&(e.min=t)},setMax:function(t){if(t<e.min)throw new Error('Max "'.concat(t,'" is less than Min "').concat(e.min,'"'));e.max!==t&&(e.max=t)},setStrand:function(t){e.strand=t},addChild:function(t){if(e.children&&e.children.size>0){var r=(0,n.getSnapshot)(e.children);e.children.clear();var o,i=we(Object.entries(K(K({},r),{},re({},t._id,t))).sort((function(e,t){var n=he(e,2)[1],r=he(t,2);return n.min-r[1].min})));try{for(i.s();!(o=i.n()).done;){var a=he(o.value,2);e.children.put(a[1])}}catch(e){i.e(e)}finally{i.f()}}else{var s;e.children=(0,n.cast)({}),null===(s=e.children)||void 0===s||s.put(t)}},deleteChild:function(t){var n;null===(n=e.children)||void 0===n||n.delete(t)}}})).actions((function(e){return{update:function(t){var r=t.children,o=t.max,i=t.min,a=t.strand;e.setRefSeq(t.refSeq),e.setMin(i),e.setMax(o),e.setStrand(a),r&&(e.children=(0,n.cast)(r))}}})).views((function(t){return{get parent(){var r;try{r=(0,n.getParentOfType)(t,e.AnnotationFeatureModel)}catch(e){}return r},get topLevelFeature(){var r,o=t;do{try{o=r=(0,n.getParentOfType)(o,e.AnnotationFeatureModel)}catch(e){r=void 0}}while(r);return o},get assemblyId(){return(0,n.getParentOfType)(t,r.ApolloAssembly)._id}}}))}(oI);var iI={},aI={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ApolloRefSeq=e.Sequence=void 0;var t=O.default,n=I.default,r=oI;e.Sequence=n.types.model({start:n.types.number,stop:n.types.number,sequence:n.types.string}),e.ApolloRefSeq=n.types.model("ApolloRefSeq",{_id:n.types.identifier,name:n.types.string,description:"",features:n.types.map(r.AnnotationFeatureModel),sequence:n.types.array(e.Sequence)}).actions((function(e){return{addFeature:function(t){e.features.put(t)},deleteFeature:function(t){return e.features.delete(t)},setDescription:function(t){e.description=t},addSequence:function(t){var n;if(t.sequence.length!==t.stop-t.start)throw new Error("sequence does not match declared length");if(0!==e.sequence.length){var r=e.sequence.map((function(e){return{start:e.start,stop:e.stop,sequence:e.sequence}}));r.push({start:t.start,stop:t.stop,sequence:t.sequence}),r.sort((function(e,t){return e.start-t.start}));var o=r.reduce((function(e,t){var n=e.at(-1);return void 0===n?[t]:(n.stop>=t.start?t.stop>n.stop&&(n.stop=t.stop,n.sequence+=t.sequence.slice(t.stop-n.stop)):e.push(t),e)}),[]);e.sequence.length===o.length&&e.sequence.every((function(e,t){return e.start===o[t].start&&e.stop===o[t].stop}))||(e.sequence.clear(),(n=e.sequence).push.apply(n,me(o)))}else e.sequence.push(t)}}})).views((function(e){return{getSequence:function(n,r){var o,i=we(e.sequence);try{for(i.s();!(o=i.n()).done;){var a=o.value,s=a.sequence,u=a.start;if((0,t.isContainedWithin)(n,r,u,a.stop))return s.slice(n-u,r-u)}}catch(e){i.e(e)}finally{i.f()}return""}}}))}(aI),Object.defineProperty(iI,"__esModule",{value:!0}),iI.ApolloAssembly=void 0;var sI=I.default;iI.ApolloAssembly=sI.types.model("ApolloAssembly",{_id:sI.types.identifier,refSeqs:sI.types.map(aI.ApolloRefSeq),comments:sI.types.array(sI.types.string),backendDriverType:sI.types.optional(sI.types.enumeration("backendDriverType",["CollaborationServerDriver","InMemoryFileDriver","DesktopFileDriver"]),"CollaborationServerDriver")}).views((function(e){return{getByRefName:function(t){return me(e.refSeqs.values()).find((function(e){return e.name===t}))}}})).actions((function(e){return{addRefSeq:function(t,n,r){return e.refSeqs.put({_id:t,name:n,description:r})},addComment:function(t){return e.comments.push(t)}}}));var uI={};Object.defineProperty(uI,"__esModule",{value:!0}),uI.CheckResult=void 0;var cI=I.default;uI.CheckResult=cI.types.model("CheckResult",{_id:cI.types.identifier,name:cI.types.string,ids:cI.types.array(cI.types.safeReference(oI.AnnotationFeatureModel)),refSeq:cI.types.string,start:cI.types.number,end:cI.types.number,ignored:!1,message:cI.types.string}),function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=et;t.__exportStar(oI,e),t.__exportStar(iI,e),t.__exportStar(aI,e),t.__exportStar(uI,e)}(rI);const lI=u.types.model("ApolloFeatureDetailsWidget",{id:g.ElementId,type:u.types.literal("ApolloFeatureDetailsWidget"),feature:u.types.maybe(u.types.reference(rI.AnnotationFeatureModel,{onInvalidated(e){e.parent.setTryReload(e.invalidId),e.removeRef()}})),assembly:u.types.string,refName:u.types.string}).volatile((()=>({tryReload:void 0}))).actions((e=>({setFeature(t){e.feature=t},setTryReload(t){e.tryReload=t}}))).actions((e=>({afterAttach(){u.addDisposer(e,s.autorun((t=>{if(!e.tryReload)return;const r=n.getSession(e),{apolloDataStore:o}=r;if(!o)return;const i=o.getFeature(e.tryReload);i&&(e.setFeature(i),e.setTryReload(),t.dispose())})))}}))),fI=u.types.model("ApolloTranscriptDetails",{id:g.ElementId,type:u.types.literal("ApolloTranscriptDetails"),feature:u.types.maybe(u.types.reference(rI.AnnotationFeatureModel,{onInvalidated(e){e.parent.setTryReload(e.invalidId),e.removeRef()}})),assembly:u.types.string,refName:u.types.string,changeManager:u.types.frozen()}).volatile((()=>({tryReload:void 0}))).actions((e=>({setFeature(t){e.feature=t},setTryReload(t){e.tryReload=t}}))).actions((e=>({afterAttach(){u.addDisposer(e,s.autorun((t=>{if(!e.tryReload)return;const r=n.getSession(e),{apolloDataStore:o}=r;if(!o)return;const i=o.getFeature(e.tryReload);i&&(e.setFeature(i),e.setTryReload(),t.dispose())})))}}))),dI=p.observer((function({assembly:e,feature:t,refName:r,session:o}){const{notify:i}=o,a=o.apolloDataStore.assemblies.get(e),s=a?.getByRefName(r),{changeManager:u}=o.apolloDataStore,l=c.useTheme();function f(t,n,r,o){if(!r.children)throw new Error("Transcript should have child features");for(const[,a]of r.children){if(o&&t-1===a.min){const o=new nr.LocationStartChange({typeName:"LocationStartChange",changedIds:[a._id],featureId:r._id,oldStart:t-1,newStart:n-1,assembly:e});return void u.submit(o).catch((()=>{i("Error updating feature start position","error")}))}if(!o&&n===a.max){const t=new nr.LocationEndChange({typeName:"LocationEndChange",changedIds:[a._id],featureId:r._id,oldEnd:a.max,newEnd:n,assembly:e});return void u.submit(t).catch((()=>{i("Error updating feature start position","error")}))}}}if(!s)return null;const{strand:d,transcriptParts:h}=t,[p]=h,m=p.map(((e,t)=>{const{max:r,min:o,type:i}=e;let a,u,c,f=i;if("threePrimeUTR"===f?f="3` UTR":"fivePrimeUTR"===f&&(f="5` UTR"),"CDS"===i){const{phase:i}=e,f=n.getFrame(o,r,d??1,i);c=l.palette.framesCDS.at(f)?.main;const h=p.at(t-1),m=p.at(t+1);1===d?("intron"===h?.type&&(a=s.getSequence(o-2,o)),"intron"===m?.type&&(u=s.getSequence(r,r+2))):("intron"===h?.type&&(a=n.revcom(s.getSequence(r,r+2))),"intron"===m?.type&&(u=n.revcom(s.getSequence(o-2,o))))}return{min:o,max:r,label:f,fivePrimeSpliceSite:a,threePrimeSpliceSite:u,frameColor:c}})).filter((e=>"intron"!==e.label));return M.default.createElement(M.default.Fragment,null,M.default.createElement(c.Typography,{variant:"h5"},"Structure"),M.default.createElement(c.Typography,{variant:"h6"},1===d?"Forward":"Reverse"," strand"),M.default.createElement(c.TableContainer,{component:c.Paper},M.default.createElement(c.Table,{size:"small"},M.default.createElement(c.TableBody,null,m.map((e=>M.default.createElement(c.TableRow,{key:`${e.label}:${e.min}-${e.max}`},M.default.createElement(c.TableCell,{component:"th",scope:"row",style:{background:e.frameColor}},e.label),M.default.createElement(c.TableCell,null,e.fivePrimeSpliceSite??""),M.default.createElement(c.TableCell,{padding:"none"},M.default.createElement(ZN,{margin:"dense",variant:"outlined",value:1===d?e.min+1:e.max,onChangeCommitted:n=>{f(1===d?e.min+1:e.max,n,t,1===d)}})),M.default.createElement(c.TableCell,{padding:"none"},M.default.createElement(ZN,{margin:"dense",variant:"outlined",value:1===d?e.max:e.min+1,onChangeCommitted:n=>{f(1===d?e.max:e.min+1,n,t,1!==d)}})),M.default.createElement(c.TableCell,null,e.threePrimeSpliceSite??""))))))))})),hI=60;function pI(e){switch(e){case"upOrDownstream":return"rgb(255,255,255)";case"UTR":return"rgb(194,106,119)";case"CDS":return"rgb(93,168,153)";case"intron":return"rgb(187,187,187)";case"protein":return"rgb(148,203,236)"}}const mI=p.observer((function({assembly:e,feature:t,refName:r,session:o}){const i=o.apolloDataStore.assemblies.get(e),a=i?.getByRefName(r),[s,u]=d.useState(!1),[l,f]=d.useState("CDS"),h=c.useTheme(),p=d.useRef(null);if(!i||!a)return null;const m=i.getByRefName(r);if(!m)return null;if("mRNA"!==t.type)return null;const g=s?function(e,t,r){const o=[],{cdsLocations:i,strand:a,transcriptParts:s}=t;switch(e){case"genomic":case"cDNA":{const[t]=s;for(const i of t){if("cDNA"===e&&"intron"===i.type)continue;let t=r(i.min,i.max);-1===a&&(t=n.revcom(t));const s="fivePrimeUTR"===i.type||"threePrimeUTR"===i.type?"UTR":i.type,u=o.at(-1);if(u)if(u.type===s){const[e,...n]=u.sequenceLines,r=n.join("")+t;u.sequenceLines=[e,...nr.splitStringIntoChunks(r,hI)],u.locs.push({min:i.min,max:i.max})}else{const e=o.reduce(((e,t)=>e+t.sequenceLines.reduce(((e,t)=>e+t.length),0)),0),n=hI-e%hI,r=t.slice(0,n),a=nr.splitStringIntoChunks(t.slice(n),hI);o.push({type:s,sequenceLines:[r,...a],locs:[{min:i.min,max:i.max}]})}else{const e=nr.splitStringIntoChunks(t,hI);o.push({type:s,sequenceLines:e,locs:[{min:i.min,max:i.max}]})}}return o}case"CDS":{let e="";const[t]=i,s=[];for(const o of t){let t=r(o.min,o.max);-1===a&&(t=n.revcom(t)),e+=t,s.push({min:o.min,max:o.max})}const u=nr.splitStringIntoChunks(e,hI);return o.push({type:"CDS",sequenceLines:u,locs:s}),o}}}(l,t,((e,t)=>a.getSequence(e,t))):[],y=[];if(s){const e=g.flatMap((e=>e.locs));let[t]=e;for(let n=1;n<e.length;n++)t.min===e[n].max||t.max===e[n].min?t={min:Math.min(t.min,e[n].min),max:Math.max(t.max,e[n].max)}:(y.push(t),t=e[n]);y.push(t)}return M.default.createElement(M.default.Fragment,null,M.default.createElement(c.Typography,{variant:"h5"},"Sequence"),M.default.createElement("div",null,M.default.createElement(c.Button,{variant:"contained",onClick:()=>{u(!s)}},s?"Hide sequence":"Show sequence")),s&&M.default.createElement(M.default.Fragment,null,M.default.createElement(c.Select,{defaultValue:"CDS",value:l,onChange:function(e){f(e.target.value)}},M.default.createElement(c.MenuItem,{value:"CDS"},"CDS"),M.default.createElement(c.MenuItem,{value:"cDNA"},"cDNA"),M.default.createElement(c.MenuItem,{value:"genomic"},"Genomic")),M.default.createElement(c.Paper,{style:{fontFamily:"monospace",padding:h.spacing(),overflowX:"auto"},ref:p},">",m.name,":",y.map((e=>1===t.strand?`${e.min+1}-${e.max}`:`${e.max}-${e.min+1}`)).join(";"),"(",1===t.strand?"+":"-",")",M.default.createElement("br",null),g.map(((e,t)=>M.default.createElement("span",{key:`${e.type}-${t}`,style:{background:pI(e.type),color:h.palette.getContrastText(pI(e.type))}},e.sequenceLines.map(((t,n)=>M.default.createElement(M.default.Fragment,{key:`${t.slice(0,5)}-${n}`},t,n===e.sequenceLines.length-1&&t.length!==hI?null:M.default.createElement("br",null)))))))),M.default.createElement(c.Button,{variant:"contained",onClick:()=>{const e=p.current;if(!e)return;const t=new Blob([e.outerText],{type:"text/plain"}),n=new Blob([e.outerHTML],{type:"text/html"}),r=new ClipboardItem({[t.type]:t,[n.type]:n});navigator.clipboard.write([r])}},"Copy sequence")))})),gI=m.makeStyles()((e=>({root:{padding:e.spacing(2)}}))),yI=p.observer((function(e){const{classes:t}=gI(),{model:r}=e,{assembly:o,feature:i,refName:a}=r,s=n.getSession(r),c=n.getSession(r),l=c.apolloDataStore.assemblies.get(o),{internetAccounts:f}=u.getRoot(s),d=f.find((e=>"ApolloInternetAccount"===e.type)),h=["admin","user"].includes((d?d.role:"admin")??"");if(!i||!l)return null;const p=l.getByRefName(a);if(!p)return null;const{max:m,min:g}=i;return p.getSequence(g,m)||c.apolloDataStore.loadRefSeq([{assemblyName:o,refName:a,start:g,end:m}]),M.default.createElement("div",{className:t.root},M.default.createElement(dI,{feature:i,session:c,assembly:l._id||"",refName:a}),M.default.createElement("hr",null),M.default.createElement(YN,{feature:i,session:c,assembly:l._id||"",editable:h}),M.default.createElement("hr",null),M.default.createElement(mI,{feature:i,session:c,assembly:l._id||"",refName:a}))})),vI=r.ConfigurationSchema("LinearApolloDisplay",{},{explicitIdentifier:"displayId",explicitlyTyped:!0}),_I=m.makeStyles()({highlighted:{background:"orange"}}),bI=({highlight:e,text:t})=>{const{classes:n}=_I();if(!e)return M.default.createElement(M.default.Fragment,null,t);const r=t.split(e);if(1===r.length)return M.default.createElement(M.default.Fragment,null,t);const o=[];for(let t=0;t<r.length-1;t++)o.push(r[t],M.default.createElement("span",{className:n.highlighted},e));return M.default.createElement(M.default.Fragment,null,o,r.at(-1))},wI=p.observer((function({feature:e,filterText:t}){const n=[...e.attributes.entries()].map((([e,t])=>{if(e.startsWith("gff_")){const n=e.slice(4);return[n.charAt(0).toUpperCase()+n.slice(1),u.getSnapshot(t)]}return"_id"===e?["ID",u.getSnapshot(t)]:[e,u.getSnapshot(t)]})).filter((([e])=>e)).map((([e,t])=>`${e}=${Array.isArray(t)?t.join(", "):t}`)).join(", ");return M.default.createElement(bI,{text:n,highlight:t})})),SI=m.makeStyles()((e=>({inputWrapper:{position:"relative"},hiddenWidthSpan:{padding:e.spacing(.5),color:"transparent"},numberTextInput:{border:"none",background:"inherit",font:"inherit",position:"absolute",width:"100%",left:0}}))),xI=p.observer((function({initialValue:e,notifyError:t,onChangeCommitted:n}){const[r,o]=d.useState(e),[i,a]=d.useState(!1),[s,u]=d.useState(null),{classes:c}=SI();return d.useEffect((()=>{i&&(s?.blur(),a(!1))}),[i,s]),M.default.createElement("span",{className:c.inputWrapper},M.default.createElement("span",{className:c.hiddenWidthSpan,"aria-hidden":!0},r),M.default.createElement("input",{type:"text",value:r,className:c.numberTextInput,onChange:function(e){const t=Number(e.target.value);Number.isNaN(t)||o(t)},onKeyDown:t=>{"Enter"===t.key?s?.blur():"Escape"===t.key&&(o(e),a(!0))},onBlur:()=>{r!==e&&n(r).catch(t)},ref:e=>{u(e)}}))}));function kI(e,t){return t?.palette.bases[e.toUpperCase()].main.toString()??"lightgray"}function EI(e,t,n,r,o){const i=Math.min(n,10);e.fillStyle="#000",e.font=`${i}px`;const a=e.measureText(r).width;e.fillText(r,t+(n-a)/2,o+10)}function AI(e,t,r,o,i,a,s,u,c){let l=s.slice(u,u+3).toUpperCase();c&&(l=function(e){return[...e].map((e=>n.revcom(e))).reverse().join("")}(l));const f=n.defaultCodonTable[l];if(!f)return;const d={M:"#33ee33","*":"#f44336"}[f.toUpperCase()];d&&(e.fillStyle=d,e.fillRect(r,o,i,a)),t<=.1&&(e.rect(r,o,i,a),e.stroke(),EI(e,r,i,f,o))}function CI(e){return"featureAndGlyphUnderMouse"in e}function OI(e,t){const n=t<=1?2:0;switch(e){case 3:return 0;case 2:return 1;case 1:return 2;case-1:return 3+n;case-2:return 4+n;case-3:return 5+n}}function RI(e,t){if(!(t>1||void 0===e))return 1===e?3:4}function NI(e,t,n,r,o,i){void 0!==o&&(e.fillStyle=t?.palette.action.focus??"rgba(0,0,0,0.04)",e.fillRect(n,r*o,i,r))}function II(e,t){return Boolean(t&&e._id===t._id)}function PI(e,t){return t?e?.palette.text.primary??"black":e?.palette.background.default??"white"}function TI(e,t,n,r,o,i){e.fillStyle=i,e.fillRect(t,n,r,o)}function MI(e,t,n){const{refName:r,regionNumber:o,x:i}=e,{lgv:a}=n,{offsetPx:s}=a,u=a.bpToPx({refName:r,coord:t.min,regionNumber:o}),c=a.bpToPx({refName:r,coord:t.max,regionNumber:o});if(void 0!==u&&void 0!==c){const e=u.offsetPx-s,t=c.offsetPx-s;if(Math.abs(t-e)<8)return;if(Math.abs(e-i)<4)return"min";if(Math.abs(t-i)<4)return"max"}}const jI={draw:function(e,t,n,r,o){const{apolloRowHeight:i,lgv:a,session:s,theme:u}=r,{bpPerPx:c,displayedRegions:l,offsetPx:f}=a,d=l[o],h=(a.bpToPx({refName:d.refName,coord:t.min,regionNumber:o})?.offsetPx??0)-f,{reversed:p}=d,{apolloSelectedFeature:m}=s,g=t.length/c,y=p?h-g:h,v=n*i,_=II(t,m),b=PI(u,_),w=function(e,t){return t?e?.palette.getContrastText(PI(e,t))??"white":e?.palette.text.primary??"black"}(u,_);!function(e,t,n,r,o,i){TI(e,t,n,r,o,i),r<=2||e.clearRect(t+1,n+1,r-2,o-2)}(e,y,v,g,i,w),g<=2||(function(e,t,n,r,o,i){TI(e,t+1,n+1,r-2,o-2,i)}(e,y,v,g,i,b),function(e,t,n,r,o,i){e.fillStyle=o;const a=Math.max(t+1,0);e.fillText(i,a,n+11,t-1+r-a)}(e,y,v,g,w,t.type))},drawDragPreview:function(e,t){const{apolloDragging:n,apolloRowHeight:r,lgv:o,theme:i}=e,{bpPerPx:a,displayedRegions:s,offsetPx:u}=o;if(!n)return;const{current:l,edge:f,feature:d,start:h}=n,p=Math.floor(h.y/r),m=s[h.regionNumber],g=(m.reversed?m.end-d[f]:d[f]-m.start)/a-u,y=Math.min(l.x,g),v=p*r,_=Math.abs(l.x-g),b=1*r;t.strokeStyle=i?.palette.info.main??"rgb(255,0,0)",t.setLineDash([6]),t.strokeRect(y,v,_,b),t.fillStyle=c.alpha(i?.palette.info.main??"rgb(255,0,0)",.2),t.fillRect(y,v,_,b)},drawHover:function(e,t){const{apolloHover:n,apolloRowHeight:r,lgv:o,theme:i}=e;if(!n)return;const{feature:a}=n,s=e.getFeatureLayoutPosition(a);if(!s)return;const{bpPerPx:u,displayedRegions:c,offsetPx:l}=o,{layoutIndex:f,layoutRow:d}=s,h=c[f],{refName:p,reversed:m}=h,{length:g,max:y,min:v}=a,_=(o.bpToPx({refName:p,coord:m?y:v,regionNumber:f})?.offsetPx??0)-l,b=d*r,w=g/u;t.fillStyle=i?.palette.action.focus??"rgba(0,0,0,0.04)",t.fillRect(_,b,w,r)},drawTooltip:function(e,t){const{apolloHover:n,apolloRowHeight:r,lgv:o,theme:i}=e;if(!n)return;const{feature:a}=n,s=e.getFeatureLayoutPosition(a);if(!s)return;const{featureRow:u,layoutIndex:l,layoutRow:f}=s,{bpPerPx:d,displayedRegions:h,offsetPx:p}=o,m=h[l],{refName:g,reversed:y}=m;let v="Loc: ";const{length:_,max:b,min:w}=a;v+=`${w+1}–${b}`;let S=(o.bpToPx({refName:g,coord:y?b:w,regionNumber:l})?.offsetPx??0)-p;const x=(f+u)*r,k=_/d,E=`Type: ${a.type}`,{attributes:A}=a,C=A.get("gff_name")?.find((e=>""!==e)),O=[t.measureText(E).width,t.measureText(v).width];C&&O.push(t.measureText(`Name: ${C}`).width);const R=Math.max(...O);S=S+k+5,t.fillStyle=c.alpha(i?.palette.text.primary??"rgb(1, 1, 1)",.7),t.fillRect(S,x,R+4,3===O.length?45:35),t.beginPath(),t.moveTo(S,x),t.lineTo(S-5,x+5),t.lineTo(S,x+10),t.fill(),t.fillStyle=i?.palette.background.default??"rgba(255, 255, 255)";let N=x+12;t.fillText(E,S+2,N),C&&(N+=12,t.fillText(`Name: ${C}`,S+2,N)),N+=12,t.fillText(v,S+2,N)},getContextMenuItems:function(e){const{apolloHover:t,apolloInternetAccount:r,changeManager:o,regions:i,selectedFeature:a,session:s}=e,u=[];if(!t)return u;const{feature:c}=t,l=r?r.role:"admin",f="admin"===l,d=!(l&&["admin","user"].includes(l)),[h]=i,p=e.getAssemblyId(h.assemblyName),m=e.getAssemblyId(h.assemblyName);return u.push({label:"Add child feature",disabled:d,onClick:()=>{s.queueDialog((e=>[NR,{session:s,handleClose:()=>{e()},changeManager:o,sourceFeature:c,sourceAssemblyId:p,internetAccount:r}]))}},{label:"Copy features and annotations",disabled:d,onClick:()=>{s.queueDialog((e=>[TR,{session:s,handleClose:()=>{e()},changeManager:o,sourceFeature:c,sourceAssemblyId:m}]))}},{label:"Delete feature",disabled:!f,onClick:()=>{s.queueDialog((t=>[jR,{session:s,handleClose:()=>{t()},changeManager:o,sourceFeature:c,sourceAssemblyId:m,selectedFeature:a,setSelectedFeature:t=>{e.setSelectedFeature(t)}}]))}},{label:"Modify feature attribute",disabled:d,onClick:()=>{s.queueDialog((e=>[rN,{session:s,handleClose:()=>{e()},changeManager:o,sourceFeature:c,sourceAssemblyId:m}]))}},{label:"Edit feature details",onClick:()=>{const e=s.addWidget("ApolloFeatureDetailsWidget","apolloFeatureDetailsWidget",{feature:c,assembly:m,refName:h.refName});s.showWidget(e)}}),"mRNA"===c.type&&n.isSessionModelWithWidgets(s)&&u.push({label:"Edit transcript details",onClick:()=>{const e=s.addWidget("ApolloTranscriptDetails","apolloTranscriptDetails",{feature:c,assembly:m,changeManager:o,refName:h.refName});s.showWidget(e)}}),u},getFeatureFromLayout:function(e,t,n){return e},getRowCount:function(e){return 1},getRowForFeature:function(e,t){return 0},onMouseDown:function(e,t,n){const{featureAndGlyphUnderMouse:r}=t,{feature:o}=r,i=MI(t,o,e);i&&(n.stopPropagation(),e.startDrag(t,o,i))},onMouseLeave:function(){},onMouseMove:function(e,t){if(CI(t)){const{featureAndGlyphUnderMouse:n}=t;e.setApolloHover(n);const{feature:r}=n;if(MI(t,r,e))return void e.setCursor("col-resize")}e.setCursor()},onMouseUp:function(e,t){if(e.apolloDragging)return;const{featureAndGlyphUnderMouse:n}=t;n?.feature&&e.setSelectedFeature(n.feature)}};let FI=null,LI=null,DI=null,qI=null;if("document"in globalThis)for(const e of["forward","backward"])for(const t of["light","dark"]){const n=document.createElement("canvas"),r=10;n.width=n.height=r;const o=n.getContext("2d");if(o){const i="light"===t?"rgba(0,0,0,0)":"rgba(0,0,0,0.75)",a="light"===t?"rgba(255,255,255,0.25)":"rgba(0,0,0,0.50)",s="forward"===e?o.createLinearGradient(0,r,r,0):o.createLinearGradient(0,0,r,r);s.addColorStop(0,i),s.addColorStop(.25,i),s.addColorStop(.25,a),s.addColorStop(.5,a),s.addColorStop(.5,i),s.addColorStop(.75,i),s.addColorStop(.75,a),s.addColorStop(1,a),o.fillStyle=s,o.fillRect(0,0,10,10),"forward"===e?"light"===t?FI=o.createPattern(n,"repeat"):DI=o.createPattern(n,"repeat"):"light"===t?LI=o.createPattern(n,"repeat"):qI=o.createPattern(n,"repeat")}}function BI(e,t){const{children:n,type:r}=e;if(!n)return 1;let o=0;if("mRNA"===r){for(const[,e]of n)"CDS"===e.type&&(o+=1);return o}for(const[,e]of n)o+=BI(e);return o}function UI(e){if("gene"!==e.type)throw new Error('Top level feature for GeneGlyph must have type "gene"');const{children:t}=e;if(!t)return[[e]];const n=[];for(const[,r]of t){if("mRNA"!==r.type){n.push([r,e]);continue}if(!r.children)continue;const t=[],o=[];for(const[,e]of r.children)"CDS"===e.type?t.push(e):"exon"===e.type&&o.push(e);for(const i of t)n.push([i,...o,r,e])}return n}function zI(e,t,r){if("gene"===t.type||"mRNA"===t.type)return;const{bp:o,refName:i,regionNumber:a,x:s}=e,{lgv:u}=r,{offsetPx:c}=u,l=u.bpToPx({refName:i,coord:t.min,regionNumber:a}),f=u.bpToPx({refName:i,coord:t.max,regionNumber:a});if(void 0===l||void 0===f)return;const d=l.offsetPx-c,h=f.offsetPx-c;if(!(Math.abs(h-d)<8)){if(Math.abs(d-s)<4)return{feature:t,edge:"min"};if(Math.abs(h-s)<4)return{feature:t,edge:"max"};if("CDS"===t.type){const e=t.parent;if(!e?.children)return;const r=[...e.children.values()].filter((e=>"exon"===e.type)).find((e=>{const[t,r]=n.intersection2(o,o+1,e.min,e.max);return void 0!==t&&void 0!==r}));if(!r)return;const l=u.bpToPx({refName:i,coord:r.min,regionNumber:a}),f=u.bpToPx({refName:i,coord:r.max,regionNumber:a});if(void 0===l||void 0===f)return;const d=l.offsetPx-c,h=f.offsetPx-c;if(Math.abs(h-d)<8)return;if(Math.abs(d-s)<4)return{feature:r,edge:"min"};if(Math.abs(h-s)<4)return{feature:r,edge:"max"}}}}const{drawTooltip:GI,getContextMenuItems:HI,onMouseLeave:WI}=jI,VI={draw:function(e,t,r,o,i){const{apolloRowHeight:a,lgv:s,session:u,theme:l}=o,{bpPerPx:f,displayedRegions:d,offsetPx:h}=s,p=d[i],{refName:m,reversed:g}=p,y=a,v=Math.round(.6*y),_=Math.round(.9*y),{children:b,min:w,strand:S}=t;if(!b)return;const{apolloSelectedFeature:x}=u,k=(s.bpToPx({refName:m,coord:w,regionNumber:i})?.offsetPx??0)-h,E=t.length/f,A=g?k-E:k,C=r*y,O=BI(t)*y;e.fillStyle=c.alpha(l?.palette.background.paper??"#ffffff",.6),e.fillRect(A,C,E,O);let R=0;for(const[,t]of b){if("mRNA"!==t.type){R+=1;continue}const{children:n,min:o}=t;if(n)for(const[,a]of n){if("CDS"!==a.type)continue;const n=(s.bpToPx({refName:m,coord:o,regionNumber:i})?.offsetPx??0)-h,u=t.length/f,c=g?n-u:n,d=Math.round((R+.5)*y)+r*y;e.strokeStyle=l?.palette.text.primary??"black",e.beginPath(),e.moveTo(c,d),e.lineTo(c+u,d),e.stroke(),R+=1}}const N="dark"===l?.palette.mode?DI:FI,I="dark"===l?.palette.mode?qI:LI;R=0;for(const[,t]of b)if("mRNA"===t.type)for(const o of t.cdsLocations){const{_id:a,children:u}=t;if(u){for(const[,t]of u){if("exon"!==t.type)continue;const n=(s.bpToPx({refName:m,coord:t.min,regionNumber:i})?.offsetPx??0)-h,o=t.length/f,a=g?n-o:n,u=(r+R)*y+(y-v)/2;if(e.fillStyle=l?.palette.text.primary??"black",e.fillRect(a,u,o,v),o>2&&(e.clearRect(a+1,u+1,o-2,v-2),e.fillStyle=x&&t._id===x._id?"rgb(0,0,0)":"rgb(211,211,211)",e.fillRect(a+1,u+1,o-2,v-2),N&&I&&S)){const t=g?-1:1,[n,r]=S*t==1?[N,I]:[I,N];e.fillStyle=n,e.fillRect(a+1,u+1,o-2,(v-2)/2),e.fillStyle=r,e.fillRect(a+1,u+1+(v-2)/2,o-2,(v-2)/2)}}for(const u of o){const o=(u.max-u.min)/f,c=(s.bpToPx({refName:m,coord:u.min,regionNumber:i})?.offsetPx??0)-h,d=g?c-o:c;e.fillStyle=l?.palette.text.primary??"black";const p=(r+R)*y+(y-_)/2;if(e.fillRect(d,p,o,_),o>2){e.clearRect(d+1,p+1,o-2,_-2);const r=n.getFrame(u.min,u.max,t.strand??1,u.phase),i=l?.palette.framesCDS.at(r)?.main,s=i??"rgb(171,71,188)";if(e.fillStyle=x&&a===x._id?"rgb(0,0,0)":s,e.fillStyle=s,e.fillRect(d+1,p+1,o-2,_-2),N&&I&&S){const t=g?-1:1,[n,r]=S*t==1?[N,I]:[I,N];e.fillStyle=n,e.fillRect(d+1,p+1,o-2,(_-2)/2),e.fillStyle=r,e.fillRect(d+1,p+(_-2)/2,o-2,(_-2)/2)}}}R+=1}}else jI.draw(e,t,r,o,i),R+=1},drawDragPreview:function(e,t){const{apolloDragging:n,apolloRowHeight:r,lgv:o,theme:i}=e,{bpPerPx:a,displayedRegions:s,offsetPx:u}=o;if(!n)return;const{current:l,edge:f,feature:d,start:h}=n,p=Math.floor(h.y/r),m=s[h.regionNumber],g=(m.reversed?m.end-d[f]:d[f]-m.start)/a-u,y=Math.min(l.x,g),v=p*r,_=Math.abs(l.x-g),b=1*r;t.strokeStyle=i?.palette.info.main??"rgb(255,0,0)",t.setLineDash([6]),t.strokeRect(y,v,_,b),t.fillStyle=c.alpha(i?.palette.info.main??"rgb(255,0,0)",.2),t.fillRect(y,v,_,b)},drawHover:function(e,t){const{apolloHover:n,apolloRowHeight:r,lgv:o,theme:i}=e;if(!n)return;const{feature:a}=n,s=e.getFeatureLayoutPosition(a);if(!s)return;const{bpPerPx:u,displayedRegions:c,offsetPx:l}=o,{featureRow:f,layoutIndex:d,layoutRow:h}=s,p=c[d],{refName:m,reversed:g}=p,{length:y,max:v,min:_}=a,b=(o.bpToPx({refName:m,coord:g?v:_,regionNumber:d})?.offsetPx??0)-l,w=(h+f)*r,S=y/u;t.fillStyle=i?.palette.action.selected??"rgba(0,0,0,04)",t.fillRect(b,w,S,r*BI(a))},drawTooltip:GI,getContextMenuItems:HI,getFeatureFromLayout:function(e,t,n){const r=UI(e)[n]||[];for(const e of r){let n;if(t>=e.min&&t<=e.max&&e.parent&&(n=e),n){if("CDS"===n.type&&n.parent&&"mRNA"===n.parent.type){const{cdsLocations:e}=n.parent;for(const r of e)for(const e of r)if(t>=e.min&&t<=e.max)return n;return n.parent}return n}}return e},getRowCount:BI,getRowForFeature:function(e,t){const n=UI(e);for(const[e,r]of n.entries())if(r.some((e=>e._id===t._id)))return e},onMouseDown:function(e,t,n){const{featureAndGlyphUnderMouse:r}=t,{feature:o}=r,i=zI(t,o,e);i&&(n.stopPropagation(),e.startDrag(t,i.feature,i.edge))},onMouseLeave:WI,onMouseMove:function(e,t){if(CI(t)){const{featureAndGlyphUnderMouse:n}=t;e.setApolloHover(n);const{feature:r}=n;if(zI(t,r,e))return void e.setCursor("col-resize")}e.setCursor()},onMouseUp:function(e,t){if(e.apolloDragging)return;const{featureAndGlyphUnderMouse:n}=t;n?.feature&&e.setSelectedFeature(n.feature)}};function $I(e){const t=[[e]];if(e.children)for(const[,n]of e.children)t.push(...$I(n));return t}function JI(e){return $I(e).length}function KI(e,t,n,r,o,i){const a=$I(t)[n-r];for(const t of a)YI(e,t,n,o,i)}function YI(e,t,n,r,o){const{apolloRowHeight:i,lgv:a,session:s}=r,{bpPerPx:u,displayedRegions:c,offsetPx:l}=a,f=c[o],d=(a.bpToPx({refName:f.refName,coord:t.min,regionNumber:o})?.offsetPx??0)-l,{reversed:h}=f,{apolloSelectedFeature:p}=s,m=t.length/u,g=h?d-m:d,y=n*i,v=JI(t),_=II(t,p);v>1&&TI(e,g,y,m,v*i,_?"rgba(130,0,0,0.45)":"rgba(255,0,0,0.25)"),jI.draw(e,t,n,r,o)}const{drawDragPreview:ZI,drawTooltip:XI,getContextMenuItems:QI,onMouseDown:eP,onMouseLeave:tP,onMouseMove:nP,onMouseUp:rP}=jI,oP={draw:function(e,t,n,r,o){for(let i=0;i<JI(t);i++)KI(e,t,n+i,n,r,o)},drawDragPreview:ZI,drawHover:function(e,t){const{apolloHover:n,apolloRowHeight:r,lgv:o}=e;if(!n)return;const{feature:i}=n,a=e.getFeatureLayoutPosition(i);if(!a)return;const{featureRow:s,layoutIndex:u,layoutRow:c}=a,{bpPerPx:l,displayedRegions:f,offsetPx:d}=o,h=f[u],{refName:p,reversed:m}=h,{length:g,max:y,min:v}=i,_=(o.bpToPx({refName:p,coord:m?y:v,regionNumber:u})?.offsetPx??0)-d,b=(c+s)*r,w=g/l;t.fillStyle="rgba(0,0,0,0.2)",t.fillRect(_,b,w,r*JI(i))},drawTooltip:XI,getContextMenuItems:QI,getFeatureFromLayout:function(e,t,n){return $I(e)[n].find((e=>t>=e.min&&t<=e.max))},getRowCount:JI,getRowForFeature:function(e,t){const n=$I(e);for(const[e,r]of n.entries())if(r.some((e=>e._id===t._id)))return e},onMouseDown:eP,onMouseLeave:tP,onMouseMove:nP,onMouseUp:rP};function iP(e){return function(e){const{children:t}=e;if(!t?.size)return!1;for(const[,e]of t)if("mRNA"===e.type){const{children:t}=e;if(!t?.size)return!1;const n=[...t.values()].some((e=>"CDS"===e.type)),r=[...t.values()].some((e=>"exon"===e.type));if(n&&r)return!0}return!1}(e)?VI:e.children?.size?oP:jI}const aP=m.makeStyles()((e=>({typeContent:{display:"inline-block",width:"174px",height:"100%",cursor:"text"},feature:{td:{position:"relative",verticalAlign:"top",paddingLeft:"0.5em"}},arrow:{display:"inline-block",width:"1.6em",textAlign:"center",cursor:"pointer"},arrowExpanded:{transform:"rotate(90deg)"},hoveredFeature:{backgroundColor:e.palette.action.hover},typeInputElement:{border:"none",background:"none"},typeErrorMessage:{color:"red"}})));function sP(e,t){const{changeManager:r,getAssemblyId:o,regions:i,selectedFeature:a,session:s,setSelectedFeature:c}=e;return function(e,t,r,o,i,a,s){const c=function(e){const{internetAccounts:t}=u.getParent(e);return t.find((e=>"ApolloInternetAccount"===e.type))}(a),l=c?c.role:"admin",f="admin"===l,d=!(l&&["admin","user"].includes(l)),h=[];if(e){const u=r(t.assemblyName),l=r(t.assemblyName);h.push({label:"Edit feature details",onClick:()=>{const n=a.addWidget("ApolloFeatureDetailsWidget","apolloFeatureDetailsWidget",{feature:e,assembly:l,refName:t.refName});a.showWidget(n)}},{label:"Add child feature",disabled:d,onClick:()=>{a.queueDialog((t=>[NR,{session:a,handleClose:()=>{t()},changeManager:s,sourceFeature:e,sourceAssemblyId:u,internetAccount:c}]))}},{label:"Copy features and annotations",disabled:d,onClick:()=>{a.queueDialog((t=>[TR,{session:a,handleClose:()=>{t()},changeManager:s,sourceFeature:e,sourceAssemblyId:l}]))}},{label:"Delete feature",disabled:!f,onClick:()=>{a.queueDialog((t=>[jR,{session:a,handleClose:()=>{t()},changeManager:s,sourceFeature:e,sourceAssemblyId:l,selectedFeature:o,setSelectedFeature:i}]))}},{label:"Edit attributes",disabled:d,onClick:()=>{a.queueDialog((t=>[rN,{session:a,handleClose:()=>{t()},changeManager:s,sourceFeature:e,sourceAssemblyId:l}]))}}),"mRNA"===e.type&&n.isSessionModelWithWidgets(a)&&h.push({label:"Edit transcript details",onClick:()=>{const n=a.addWidget("ApolloTranscriptDetails","apolloTranscriptDetails",{feature:e,assembly:l,changeManager:s,refName:t.refName});a.showWidget(n)}})}return h}(t,i[0],o,a,c,s,r)}function uP(e){let t=e;for(;t.parent;)t=t.parent;return t}const cP=p.observer((function e({depth:t,feature:n,isHovered:r,isSelected:o,model:i,selectedFeatureClass:a,setContextMenu:s}){const{classes:u}=aP(),{apolloHover:c,changeManager:l,selectedFeature:f,session:d,tabularEditor:h}=i,{featureCollapsed:p,filterText:m}=h,{_id:g,children:y,max:v,min:_,strand:b,type:w}=n,S=!p.get(g),x=e=>{d.notify(e.message,"error")};return M.default.createElement(M.default.Fragment,null,M.default.createElement("tr",{onMouseEnter:e=>{i.setApolloHover({feature:n,topLevelFeature:uP(n),glyph:iP(uP(n))})},className:u.feature+(o?` ${a}`:r?` ${u.hoveredFeature}`:""),onClick:e=>{e.stopPropagation(),i.setSelectedFeature(n)},onContextMenu:e=>(e.preventDefault(),s({position:{left:e.clientX+2,top:e.clientY-6},items:sP(i,n)}),!1)},M.default.createElement("td",{style:{whiteSpace:"nowrap",borderLeft:2*t+"em solid transparent"}},y?.size?M.default.createElement("div",{onClick:e=>{e.stopPropagation(),h.setFeatureCollapsed(g,S)},className:u.arrow+(S?` ${u.arrowExpanded}`:"")},"❯"):null,M.default.createElement("div",{className:u.typeContent},M.default.createElement(RR,{session:d,ontologyName:"Sequence Ontology",style:{width:170},value:w,filterTerms:AR,fetchValidTerms:lP.bind(null,n),renderInput:e=>M.default.createElement("div",{ref:e.InputProps.ref},M.default.createElement("input",{type:"text",...e.inputProps,className:u.typeInputElement,style:{width:170}}),e.error?M.default.createElement("div",{className:u.typeErrorMessage},e.errorMessage??"unknown error"):null),onChange:(e,t)=>{t&&function(e,t,n,r){const o=t._id,i=new nr.TypeChange({typeName:"TypeChange",changedIds:[o],featureId:o,oldType:String(n),newType:String(r),assembly:t.assemblyId});return e.submit(i)}(l,n,e,t).catch(x)}}))),M.default.createElement("td",null,M.default.createElement(xI,{initialValue:_+1,notifyError:x,onChangeCommitted:e=>function(e,t,n,r){const o=t._id,i=new nr.LocationStartChange({typeName:"LocationStartChange",changedIds:[o],featureId:o,oldStart:n,newStart:r,assembly:t.assemblyId});return e.submit(i)}(l,n,_,e-1)})),M.default.createElement("td",null,M.default.createElement(xI,{initialValue:v,notifyError:x,onChangeCommitted:e=>function(e,t,n,r){const o=t._id,i=new nr.LocationEndChange({typeName:"LocationEndChange",changedIds:[o],featureId:o,oldEnd:n,newEnd:r,assembly:t.assemblyId});return e.submit(i)}(l,n,v,e)})),M.default.createElement("td",null,1===b?"+":-1===b?"-":void 0),M.default.createElement("td",null,M.default.createElement(wI,{filterText:m,feature:n}))),S&&y?[...y.entries()].filter((e=>{if(!m)return!0;const[,t]=e;return JSON.stringify(t).includes(m)})).map((([n,r])=>M.default.createElement(e,{isHovered:c?.feature._id===r._id,isSelected:f?._id===r._id,selectedFeatureClass:a,key:n,depth:(t||0)+1,feature:r,model:i,setContextMenu:s}))):null)}));async function lP(e,t,n){const{parent:r}=e;if(r){const e=(await t.getTermsWithLabelOrSynonym(r.type,{includeSubclasses:!1})).filter(AR);if(e.length>0)return await t.getClassesThat("part_of",e)}}const fP=m.makeStyles()((e=>({scrollableTable:{width:"100%",height:"100%",th:{position:"sticky",top:0,zIndex:2,textAlign:"left",background:e.palette.background.paper,paddingTop:"3.2em"},td:{whiteSpace:"normal"}},selectedFeature:{backgroundColor:e.palette.action.selected}}))),dP=p.observer((function({model:e}){const{apolloHover:t,seenFeatures:n,selectedFeature:r,tabularEditor:o}=e,i=c.useTheme(),{classes:a}=fP(),s=d.useRef(null),[u,l]=d.useState(null),{filterText:f}=o;return d.useEffect((()=>{const e=s.current;if(e&&r){const t=e.querySelector(`.${a.selectedFeature}`);if(t){const n=e.scrollTop,r=t.offsetTop-25;r>n&&r<n+e.offsetHeight||e.scroll({top:r-40,behavior:"smooth"})}}}),[r,n,a.selectedFeature]),M.default.createElement("div",{ref:s,style:{width:"100%",overflowY:"auto",height:"100%"}},M.default.createElement("table",{className:a.scrollableTable},M.default.createElement("thead",null,M.default.createElement("tr",null,M.default.createElement("th",null,"Type"),M.default.createElement("th",null,"Start"),M.default.createElement("th",null,"End"),M.default.createElement("th",null,"Strand"),M.default.createElement("th",null,"Attributes"))),M.default.createElement("tbody",null,[...n.entries()].filter((e=>{if(!f)return!0;const[,t]=e;return JSON.stringify(t).includes(f)})).sort(((e,t)=>e[1].min-t[1].min)).map((([n,o])=>M.default.createElement(cP,{key:n,isSelected:r?._id===n,isHovered:t?.feature._id===n,selectedFeatureClass:a.selectedFeature,feature:o,model:e,depth:0,setContextMenu:l}))))),M.default.createElement(h.Menu,{open:Boolean(u),onMenuItemClick:(e,t)=>{t(),l(null)},onClose:()=>{l(null)},TransitionProps:{onExit:()=>{l(null)}},style:{zIndex:i.zIndex.tooltip},menuItems:u?.items??[],anchorReference:"anchorPosition",anchorPosition:u?.position}))}));var hP={},pP=Ju.exports;Object.defineProperty(hP,"__esModule",{value:!0});var mP=hP.default=void 0;mP=hP.default=(0,pP(Ku).default)((0,N.default.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Clear");var gP={},yP=Ju.exports;Object.defineProperty(gP,"__esModule",{value:!0});var vP=gP.default=void 0;vP=gP.default=(0,yP(Ku).default)((0,N.default.jsx)("path",{d:"M7.41 18.59 8.83 20 12 16.83 15.17 20l1.41-1.41L12 14l-4.59 4.59zm9.18-13.18L15.17 4 12 7.17 8.83 4 7.41 5.41 12 10l4.59-4.59z"}),"UnfoldLess");const _P=m.makeStyles()({toolbar:{width:"100%",display:"flex",paddingRight:"2em",flexDirection:"row",justifyContent:"space-between",position:"absolute",zIndex:4},filterText:{}}),bP=p.observer((function({model:e}){const t=e.tabularEditor,{classes:n}=_P();return M.default.createElement("div",{className:n.toolbar},M.default.createElement(c.Tooltip,{title:"Collapse all"},M.default.createElement(c.IconButton,{"aria-label":"collapse",sx:{marginTop:0},onClick:t.collapseAllFeatures},M.default.createElement(vP,null))),M.default.createElement(c.TextField,{className:n.filterText,label:"Filter features",value:t.filterText,sx:{marginTop:0},variant:"outlined",onChange:e=>{t.setFilterText(e.target.value)},InputProps:{endAdornment:M.default.createElement(c.InputAdornment,{position:"end"},M.default.createElement(c.IconButton,{onClick:()=>{t.clearFilterText()}},M.default.createElement(mP,null)))}}))}));function wP(e){e.stopPropagation()}const SP=p.observer((function({model:e}){return e.tabularEditor.isShown?M.default.createElement("div",{onMouseDown:wP,onClick:wP,style:{width:"100%",height:"100%",position:"relative"}},M.default.createElement(bP,{model:e}),M.default.createElement(dP,{model:e})):null})),xP=u.types.model("TabularEditor",{isShown:!0,featureCollapsed:u.types.map(u.types.boolean),filterText:""}).actions((e=>({setFeatureCollapsed(t,n){e.featureCollapsed.set(t,n)},setFilterText(t){e.filterText=t},clearFilterText(){e.filterText=""},collapseAllFeatures(){const t=u.getParent(e);for(const[n]of t.seenFeatures.entries())e.featureCollapsed.set(n,!0)},togglePane(){e.isShown=!e.isShown},hidePane(){e.isShown=!1},showPane(){e.isShown=!0}})));function kP(e,t){return function(e,t){const i=function(e,t){return function(e,t){const i=function(e,t){return function(e,t){const i=function(e,t){return function(e,t){const i=function(e,t){return o.BaseDisplay.named("BaseLinearApolloDisplay").props({type:u.types.literal("LinearApolloDisplay"),configuration:r.ConfigurationReference(t),graphical:!0,table:!1,heightPreConfig:u.types.maybe(u.types.refinement("displayHeight",u.types.number,(e=>e>=20)))}).views((e=>{const{configuration:t,renderProps:n}=e;return{renderProps:()=>({...n(),...k.getParentRenderProps(e),config:t.renderer})}})).volatile((()=>({scrollTop:0}))).views((e=>({get lgv(){return n.getContainingView(e)},get height(){return e.heightPreConfig?e.heightPreConfig:e.graphical&&e.table?500:e.graphical?200:300}}))).views((e=>({get rendererTypeName(){return e.configuration.renderer.type},get session(){return n.getSession(e)},get regions(){return e.lgv.dynamicBlocks.contentBlocks.map((({assemblyName:e,end:t,refName:n,start:r})=>({assemblyName:e,refName:n,start:Math.round(r),end:Math.round(t)})))},regionCannotBeRendered(){if(e.lgv&&e.lgv.bpPerPx>=200)return"Zoom in to see annotations"}}))).views((e=>({get apolloInternetAccount(){const[t]=e.regions,{internetAccounts:n}=u.getRoot(e),{assemblyName:o}=t,{assemblyManager:i}=e.session,a=i.get(o);if(!a)throw new Error(`No assembly found with name ${o}`);const{internetAccountConfigId:s}=r.getConf(a,["sequence","metadata"]);return n.find((e=>r.getConf(e,"internetAccountId")===s))},get changeManager(){return e.session.apolloDataStore.changeManager},getAssemblyId(t){const{assemblyManager:n}=e.session,r=n.get(t);if(!r)throw new Error(`Could not find assembly named ${t}`);return r.name},get selectedFeature(){return e.session.apolloSelectedFeature}}))).actions((e=>({setScrollTop(t){e.scrollTop=t},setHeight:t=>(e.heightPreConfig=Math.max(t,20),e.height),resizeHeight(t){const n=e.height;return this.setHeight(e.height+t)-n},showGraphicalOnly(){e.graphical=!0,e.table=!1},showTableOnly(){e.graphical=!1,e.table=!0},showGraphicalAndTable(){e.graphical=!0,e.table=!0}}))).views((e=>{const{trackMenuItems:t}=e;return{trackMenuItems(){const{graphical:n,table:r}=e;return[...t(),{type:"subMenu",label:"Appearance",subMenu:[{label:"Show graphical display",type:"radio",checked:n&&!r,onClick:()=>{e.showGraphicalOnly()}},{label:"Show table display",type:"radio",checked:r&&!n,onClick:()=>{e.showTableOnly()}},{label:"Show both graphical and table display",type:"radio",checked:r&&n,onClick:()=>{e.showGraphicalAndTable()}}]}]}}})).actions((e=>({setSelectedFeature(t){e.session.apolloSetSelectedFeature(t)},afterAttach(){u.addDisposer(e,s.autorun((()=>{e.lgv.initialized&&!e.regionCannotBeRendered()&&(e.session.apolloDataStore.loadFeatures(e.regions),e.lgv.bpPerPx<=3&&e.session.apolloDataStore.loadRefSeq(e.regions))}),{name:"LinearApolloDisplayLoadFeatures",delay:1e3}))}})))}(0,t);return i.named("LinearApolloDisplayLayouts").props({featuresMinMaxLimit:5e5}).volatile((()=>({seenFeatures:s.observable.map()}))).views((e=>({get featuresMinMax(){const{assemblyManager:t}=e.session;return e.lgv.displayedRegions.map((r=>{const o=t.get(r.assemblyName);let i,a;const{end:s,refName:u,start:c}=r;for(const[,t]of e.seenFeatures)u!==o?.getCanonicalRefName(t.refSeq)||!n.doesIntersect2(c,s,t.min,t.max)||t.length>e.featuresMinMaxLimit||(void 0===i&&({min:i}=t),void 0===a&&({max:a}=t),t.minWithChildren<i&&({min:i}=t),t.maxWithChildren>a&&({max:a}=t));if(void 0!==i&&void 0!==a)return[i,a]}))}}))).actions((e=>({addSeenFeature(t){e.seenFeatures.set(t._id,t)},deleteSeenFeature(t){e.seenFeatures.delete(t)}}))).views((e=>({get featureLayouts(){const{assemblyManager:t}=e.session;return e.lgv.displayedRegions.map(((r,o)=>{const i=t.get(r.assemblyName),a=new Map,s=e.featuresMinMax[o];if(!s)return a;const[c,l]=s,f=[],{end:d,refName:h,start:p}=r;for(const[t,r]of e.seenFeatures.entries()){if(!u.isAlive(r)){e.deleteSeenFeature(t);continue}if(h!==i?.getCanonicalRefName(r.refSeq)||!n.doesIntersect2(p,d,r.min,r.max))continue;const o=iP(r).getRowCount(r,e.lgv.bpPerPx);let s=0,m=!1;for(;!m;){let e=f.slice(s,s+o);if(e.length<o){for(let t=0;t<o-e.length;t++){const e=f.length;f[e]=Array.from({length:l-c}),a.set(e,[])}e=f.slice(s,s+o)}if(e.map((e=>{const t=r.max-r.min==0?r.min+1:r.max;let n=r.min-c,o=t-c;return r.min-c<0&&(n=0,o=t-r.min),e.slice(n,o).some(Boolean)})).some(Boolean))s+=1;else{for(let e=s;e<s+o;e++){let t=r.min-c,n=r.max-c;r.min-c<0&&(t=0,n=r.max-r.min),f[e].fill(!0,t,n);const o=a.get(e);o?.push([e-s,r])}m=!0}}}return a}))},getFeatureLayoutPosition(e){const{featureLayouts:t}=this;for(const[n,r]of t.entries())for(const[t,o]of r)for(const[r,i]of o)if(0===r){if(e._id===i._id)return{layoutIndex:n,layoutRow:t,featureRow:r};if(i.hasDescendant(e._id)){const r=iP(i).getRowForFeature(i,e);if(void 0!==r)return{layoutIndex:n,layoutRow:t,featureRow:r}}}}}))).views((e=>({get highestRow(){return Math.max(0,...e.featureLayouts.map((e=>Math.max(...e.keys()))))}}))).actions((e=>({afterAttach(){u.addDisposer(e,s.autorun((()=>{if(e.lgv.initialized&&!e.regionCannotBeRendered())for(const t of e.regions){const r=e.session.apolloDataStore.assemblies.get(t.assemblyName),o=r?.getByRefName(t.refName),i=o?.features;if(i)for(const[,r]of i)n.doesIntersect2(t.start,t.end,r.min,r.max)&&!e.seenFeatures.has(r._id)&&e.addSeenFeature(r)}}),{name:"LinearApolloDisplaySetSeenFeatures",delay:1e3}))}})))}(0,t).named("LinearApolloDisplayRendering").props({sequenceRowHeight:15,apolloRowHeight:20,detailsMinHeight:200,detailsHeight:200,lastRowTooltipBufferHeight:40,isShown:!0}).volatile((()=>({canvas:null,overlayCanvas:null,collaboratorCanvas:null,seqTrackCanvas:null,seqTrackOverlayCanvas:null,theme:void 0}))).views((e=>({get featuresHeight(){return(e.highestRow+1)*e.apolloRowHeight+e.lastRowTooltipBufferHeight}}))).actions((e=>({toggleShown(){e.isShown=!e.isShown},setDetailsHeight(t){e.detailsHeight=e.isShown?Math.max(Math.min(t,e.height-100),Math.min(e.height,e.detailsMinHeight)):t},setCanvas(t){e.canvas=t},setOverlayCanvas(t){e.overlayCanvas=t},setCollaboratorCanvas(t){e.collaboratorCanvas=t},setSeqTrackCanvas(t){e.seqTrackCanvas=t},setSeqTrackOverlayCanvas(t){e.seqTrackOverlayCanvas=t},setTheme(t){e.theme=t},afterAttach(){u.addDisposer(e,s.autorun((()=>{if(!e.lgv.initialized||e.regionCannotBeRendered())return;const t=e.collaboratorCanvas?.getContext("2d");if(t){t.clearRect(0,0,e.lgv.dynamicBlocks.totalWidthPx,e.featuresHeight);for(const n of e.session.collaborators){const{locations:r}=n;if(0===r.length)continue;let o=0;for(const i of e.lgv.displayedRegions){for(const a of r){if(a.refSeq!==i.refName)continue;const{end:r,refSeq:s,start:u}=a,c=e.lgv.bpToPx({refName:s,coord:u,regionNumber:o});if(!c)continue;const l=c.offsetPx-e.lgv.offsetPx,f=(r-u)/e.lgv.bpPerPx;t.fillStyle="rgba(0,255,0,.2)",t.fillRect(l,1,f,100),t.fillStyle="black",t.fillText(n.name,l+1,11,f-2)}o++}}}}),{name:"LinearApolloDisplayRenderCollaborators"}))}})))}(0,t);return i.actions((e=>({afterAttach(){u.addDisposer(e,s.autorun((async()=>{if(!e.lgv.initialized||e.regionCannotBeRendered())return;if(e.lgv.bpPerPx>3)return;const t=e.seqTrackCanvas?.getContext("2d");if(!t)return;t.clearRect(0,0,e.lgv.dynamicBlocks.totalWidthPx,e.lgv.bpPerPx<=1?125:95);const r=e.lgv.bpPerPx<=1?[3,2,1,0,0,-1,-2,-3]:[3,2,1,-1,-2,-3];let o=0;for(const n of r){const r=e.theme?.palette.framesCDS.at(n)?.main;r&&(t.fillStyle=r,t.fillRect(0,o,e.lgv.dynamicBlocks.totalWidthPx,e.sequenceRowHeight)),o+=e.sequenceRowHeight}for(const[r,o]of e.regions.entries()){const i=e.session.apolloDataStore.getBackendDriver(o.assemblyName);if(!i)throw new Error("Failed to get the backend driver");const{seq:a}=await i.getSequence(o);if(!a)return;for(const[i,s]of[...a].entries()){const u=(e.lgv.bpToPx({refName:o.refName,coord:o.start+i,regionNumber:r})?.offsetPx??0)-e.lgv.offsetPx,c=3/e.lgv.bpPerPx,l=e.lgv.displayedRegions[r].reversed?u-c:u;for(let n=2;n>=0;n--)(o.start+i)%3===n&&AI(t,e.lgv.bpPerPx,l,e.sequenceRowHeight*(2-n),c,e.sequenceRowHeight,a,i,!1);if(e.lgv.bpPerPx<=1){const a=(e.lgv.bpToPx({refName:o.refName,coord:o.start+i,regionNumber:r})?.offsetPx??0)-e.lgv.offsetPx,u=1/e.lgv.bpPerPx,c=e.lgv.displayedRegions[r].reversed?a-u:a;t.beginPath(),t.fillStyle=kI(s,e.theme),t.rect(c,3*e.sequenceRowHeight,u,e.sequenceRowHeight),t.fill(),e.lgv.bpPerPx<=.1&&(t.stroke(),EI(t,c,u,s,3*e.sequenceRowHeight));const l=n.revcom(s);t.beginPath(),t.fillStyle=kI(l,e.theme),t.rect(c,4*e.sequenceRowHeight,u,e.sequenceRowHeight),t.fill(),e.lgv.bpPerPx<=.1&&(t.stroke(),EI(t,c,u,l,4*e.sequenceRowHeight))}for(let n=0;n<=2;n++)(o.start+i)%3===n&&AI(t,e.lgv.bpPerPx,l,e.sequenceRowHeight*((e.lgv.bpPerPx<=1?5:3)+n),c,e.sequenceRowHeight,a,i,!0)}}}),{name:"LinearApolloDisplayRenderSequence"}))}})))}(0,t).actions((e=>({afterAttach(){u.addDisposer(e,s.autorun((()=>{const{canvas:t,featureLayouts:r,featuresHeight:o,lgv:i}=e;if(!i.initialized||e.regionCannotBeRendered())return;const{displayedRegions:a,dynamicBlocks:s}=i,u=t?.getContext("2d");if(u){u.clearRect(0,0,s.totalWidthPx,o);for(const[t,o]of r.entries()){const r=a[t];for(const[i,a]of o.entries())for(const[o,s]of a)o>0||n.doesIntersect2(r.start,r.end,s.min,s.max)&&iP(s).draw(u,s,i,e,t)}}}),{name:"LinearApolloDisplayRenderFeatures"}))}})))}(0,t);return i.named("LinearApolloDisplayMouseEvents").volatile((()=>({apolloDragging:null,cursor:void 0,apolloHover:void 0}))).views((e=>({getMousePosition(t){const n=function(e,t){const n=e.currentTarget,{clientX:r,clientY:o}=e,{left:i,top:a}=n.getBoundingClientRect(),s=r-i,u=o-a,{coord:c,index:l,refName:f}=t.pxToBp(s);return{x:s,y:u,refName:f,bp:c,regionNumber:l}}(t,e.lgv),{bp:r,regionNumber:o,y:i}=n,a=Math.floor(i/e.apolloRowHeight),s=e.featureLayouts[o].get(a);if(!s)return n;const u=s.find((e=>r>=e[1].min&&r<=e[1].max));if(!u)return n;const[c,l]=u,f=iP(l),d=f.getFeatureFromLayout(l,r,c);return d?{...n,featureAndGlyphUnderMouse:{feature:d,topLevelFeature:l,glyph:f}}:n}}))).actions((e=>({continueDrag(t,n){if(!e.apolloDragging)throw new Error("continueDrag() called with no current drag in progress");n.stopPropagation(),e.apolloDragging={...e.apolloDragging,current:t}},setDragging(t){e.apolloDragging=t??null}}))).actions((e=>({setApolloHover(t){e.apolloHover=t},setCursor(t){e.cursor!==t&&(e.cursor=t)}}))).actions((()=>({onClick(){}})))}(0,t).actions((e=>({afterAttach(){u.addDisposer(e,s.autorun((()=>{if(!e.lgv.initialized||e.regionCannotBeRendered())return;const t=e.seqTrackOverlayCanvas?.getContext("2d");if(!t)return;t.clearRect(0,0,e.lgv.dynamicBlocks.totalWidthPx,e.lgv.bpPerPx<=1?125:95);const{apolloHover:r,lgv:o,regions:i,sequenceRowHeight:a,theme:s}=e;if(!r)return;const{feature:u}=r;for(const[e,r]of i.entries())if("CDS"===u.type){const i=u.parent;if(!i)continue;const c=i.cdsLocations.find((e=>u.min===e.at(0)?.min&&u.max===e.at(-1)?.max));if(!c)continue;for(const i of c){const c=OI(n.getFrame(i.min,i.max,u.strand??1,i.phase),o.bpPerPx),l=(o.bpToPx({refName:r.refName,coord:i.min,regionNumber:e})?.offsetPx??0)-o.offsetPx,f=(i.max-i.min)/o.bpPerPx;NI(t,s,o.displayedRegions[e].reversed?l-f:l,a,c,f)}}else{const n=RI(u.strand,o.bpPerPx),i=(o.bpToPx({refName:r.refName,coord:u.min,regionNumber:e})?.offsetPx??0)-o.offsetPx,c=u.length/o.bpPerPx;NI(t,s,o.displayedRegions[e].reversed?i-c:i,a,n,c)}}),{name:"LinearApolloDisplayRenderSeqHighlight"}))}})))}(0,t);return i.views((e=>({contextMenuItems(t){const{apolloHover:n}=e;if(!n||!t)return[];const{topLevelFeature:r}=n;return iP(r).getContextMenuItems(e)}}))).actions((e=>({startDrag(t,n,r){e.apolloDragging={start:t,current:t,feature:n,edge:r}},endDrag(){if(!e.apolloDragging)throw new Error("endDrag() called with no current drag in progress");const{current:t,edge:n,feature:r,start:o}=e.apolloDragging;if(Math.abs(t.x-o.x)<=4)return e.setDragging(),void e.setCursor();const{displayedRegions:i}=e.lgv,a=e.getAssemblyId(i[o.regionNumber].assemblyName);let s;if("max"===n){const e=r._id;s=new nr.LocationEndChange({typeName:"LocationEndChange",changedIds:[e],featureId:e,oldEnd:r.max,newEnd:t.bp,assembly:a})}else{const e=r._id;s=new nr.LocationStartChange({typeName:"LocationStartChange",changedIds:[e],featureId:e,oldStart:r.min,newStart:t.bp,assembly:a})}e.changeManager.submit(s),e.setDragging(),e.setCursor()}}))).actions((e=>({onMouseDown(t){const n=e.getMousePosition(t);CI(n)&&n.featureAndGlyphUnderMouse.glyph.onMouseDown(e,n,t)},onMouseMove(t){const n=e.getMousePosition(t);if(e.apolloDragging)return e.setCursor("col-resize"),void e.continueDrag(n,t);CI(n)?n.featureAndGlyphUnderMouse.glyph.onMouseMove(e,n,t):(e.setApolloHover(),e.setCursor())},onMouseLeave(t){e.setDragging(),e.setApolloHover();const n=e.getMousePosition(t);CI(n)&&n.featureAndGlyphUnderMouse.glyph.onMouseLeave(e,n,t)},onMouseUp(t){const n=e.getMousePosition(t);CI(n)&&n.featureAndGlyphUnderMouse.glyph.onMouseUp(e,n,t),e.apolloDragging&&e.endDrag()}}))).actions((e=>({afterAttach(){u.addDisposer(e,s.autorun((()=>{if(!e.lgv.initialized||e.regionCannotBeRendered())return;const t=e.overlayCanvas?.getContext("2d");if(!t)return;t.clearRect(0,0,e.lgv.dynamicBlocks.totalWidthPx,e.featuresHeight);const{apolloDragging:n,apolloHover:r}=e;if(!r)return;const{glyph:o}=r;o.drawHover(e,t),o.drawTooltip(e,t),n&&iP(n.feature.topLevelFeature).drawDragPreview(e,t)}),{name:"LinearApolloDisplayRenderMouseoverAndDrag"}))}})))}(0,t).props({tabularEditor:u.types.optional(xP,{})}).named("LinearApolloDisplay")}var EP={},AP=Ju.exports;Object.defineProperty(EP,"__esModule",{value:!0});var CP=EP.default=void 0;CP=EP.default=(0,AP(Ku).default)((0,N.default.jsx)("path",{d:"m12 8-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"}),"ExpandLess");var OP={},RP=Ju.exports;Object.defineProperty(OP,"__esModule",{value:!0});var NP=OP.default=void 0;NP=OP.default=(0,RP(Ku).default)((0,N.default.jsx)("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"ExpandMore");var IP={},PP=Ju.exports;Object.defineProperty(IP,"__esModule",{value:!0});var TP=IP.default=void 0;TP=IP.default=(0,PP(Ku).default)((0,N.default.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"}),"Error");const MP=m.makeStyles()((e=>({canvasContainer:{position:"relative",left:0},canvas:{position:"absolute",left:0},ellipses:{textOverflow:"ellipsis",overflow:"hidden"},avatar:{position:"absolute",color:e.palette.warning.light,backgroundColor:e.palette.warning.contrastText}}))),jP=p.observer((function(e){const t=c.useTheme(),{model:r}=e,{apolloRowHeight:o,contextMenuItems:i,cursor:a,featuresHeight:s,isShown:u,onMouseDown:l,onMouseLeave:f,onMouseMove:p,onMouseUp:m,regionCannotBeRendered:g,session:y,setCanvas:v,setCollaboratorCanvas:_,setOverlayCanvas:b,setSeqTrackCanvas:w,setSeqTrackOverlayCanvas:S,setTheme:x}=r,{classes:k}=MP(),E=n.getContainingView(r);d.useEffect((()=>{x(t)}),[t,x]);const[A,C]=d.useState(),[O,R]=d.useState([]),N=g();if(!u)return null;const{assemblyManager:I}=y;return M.default.createElement(M.default.Fragment,null,E.bpPerPx<=3?M.default.createElement("div",{className:k.canvasContainer,style:{width:E.dynamicBlocks.totalWidthPx,height:E.bpPerPx<=1?125:95}},M.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),w(e)},width:E.dynamicBlocks.totalWidthPx,height:E.bpPerPx<=1?125:95,className:k.canvas,"data-testid":"seqTrackCanvas"}),M.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),S(e)},width:E.dynamicBlocks.totalWidthPx,height:E.bpPerPx<=1?125:95,className:k.canvas,"data-testid":"seqTrackOverlayCanvas"})):null,M.default.createElement("div",{className:k.canvasContainer,style:{width:E.dynamicBlocks.totalWidthPx,height:s},onContextMenu:e=>{if(e.preventDefault(),O.length>0)R([]);else{const t=[e.clientX,e.clientY];C(t),R(i(t))}}},N?M.default.createElement(c.Alert,{severity:"warning",classes:{message:k.ellipses}},M.default.createElement(c.Tooltip,{title:N},M.default.createElement("div",null,N))):M.default.createElement(M.default.Fragment,null,M.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),_(e)},width:E.dynamicBlocks.totalWidthPx,height:s,className:k.canvas,"data-testid":"collaboratorCanvas"}),M.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),v(e)},width:E.dynamicBlocks.totalWidthPx,height:s,className:k.canvas,"data-testid":"canvas"}),M.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),b(e)},width:E.dynamicBlocks.totalWidthPx,height:s,onMouseMove:p,onMouseLeave:f,onMouseDown:l,onMouseUp:m,className:k.canvas,style:{cursor:a??"default"},"data-testid":"overlayCanvas"}),E.displayedRegions.flatMap(((e,t)=>{const i=I.get(e.assemblyName);return[...y.apolloDataStore.checkResults.values()].filter((t=>i?.isValidRefName(t.refSeq)&&i.getCanonicalRefName(t.refSeq)===e.refName&&n.doesIntersect2(e.start,e.end,t.start,t.end))).map((n=>{const i=(E.bpToPx({refName:e.refName,coord:n.start,regionNumber:t})?.offsetPx??0)-E.offsetPx,[a]=n.ids;if(!a)return null;const{topLevelFeature:s}=a,u=parent?r.getFeatureLayoutPosition(s)?.layoutRow??0:0;return M.default.createElement(c.Tooltip,{key:n._id,title:n.message},M.default.createElement(c.Avatar,{className:k.avatar,style:{top:u*o,left:i,height:o,width:o}},M.default.createElement(TP,null)))}))})),M.default.createElement(h.Menu,{open:O.length>0,onMenuItemClick:(e,t)=>{t(),R([])},onClose:()=>{R([])},TransitionProps:{onExit:()=>{R([])}},anchorReference:"anchorPosition",anchorPosition:A?{top:A[1],left:A[0]}:void 0,style:{zIndex:t.zIndex.tooltip},menuItems:O}))))})),FP=p.observer((function({model:e}){const{height:t}=e;return M.default.createElement("div",{style:{position:"absolute",left:0,top:t/2,width:"100%"}},M.default.createElement("hr",{style:{margin:0,top:0,color:"black"}}))})),LP=m.makeStyles()((e=>({shading:{background:c.alpha(e.palette.primary.main,.2),overflowY:"scroll",overflowX:"hidden"},details:{background:e.palette.background.paper},accordionControl:{height:12,width:"100%","&:hover":{background:e.palette.action.hover},display:"flex",alignItems:"center",justifyContent:"center"},accordionRoot:{background:e.palette.divider},resizeHandle:{width:"100%",height:4,position:"absolute",cursor:"row-resize",zIndex:100},expandIcon:{},title:{userSelect:"none"},alertContainer:{display:"flex",alignItems:"center",justifyContent:"center"}}))),DP=({onResize:e})=>{const{classes:t}=LP(),n=d.useCallback((t=>{t.stopPropagation(),t.preventDefault(),e(t.movementY)}),[e]),r=d.useCallback((e=>{e.stopPropagation(),e.preventDefault(),globalThis.removeEventListener("mousemove",n),globalThis.removeEventListener("mouseup",r),globalThis.removeEventListener("mouseleave",r)}),[n]);return M.default.createElement("div",{onMouseDown:e=>{e.stopPropagation(),globalThis.addEventListener("mousemove",n),globalThis.addEventListener("mouseup",r),globalThis.addEventListener("mouseleave",r)},onClick:e=>{e.stopPropagation(),e.preventDefault()},className:t.resizeHandle})},qP=p.observer((function({onClick:e,onResize:t,open:n,title:r}){const{classes:o}=LP();return M.default.createElement("div",{className:o.accordionRoot},n&&t?M.default.createElement(DP,{onResize:t}):null,M.default.createElement("div",{className:o.accordionControl,onClick:e},M.default.createElement(n?CP:NP,{className:o.expandIcon}),r?M.default.createElement(c.Typography,{className:o.title,variant:"caption",component:"span"},r):null))})),BP=p.observer((function({model:e,...t}){const r=n.getSession(e),{ontologyManager:o}=r.apolloDataStore,{featureTypeOntology:i}=o,a=i?.dataStore,{classes:s}=LP(),{detailsHeight:u,graphical:l,height:f,isShown:h,selectedFeature:p,table:m,tabularEditor:g,toggleShown:y}=e,v=d.useRef(null);d.useEffect((()=>{!function(e,t){const{apolloRowHeight:n,selectedFeature:r}=e;if(t.current&&r){const o=e.getFeatureLayoutPosition(r);o&&t.current.scroll({top:(o.layoutRow+o.featureRow)*n,behavior:"smooth"})}}(e,v)}),[e,p]);const _=t=>{e.setDetailsHeight(u-t)};if(!a)return M.default.createElement("div",{className:s.alertContainer},M.default.createElement(c.Alert,{severity:"error"},"Could not load feature type ontology."));if(l&&m){const n=g.isShown?u:0,r=h?f-u-24:0;return M.default.createElement("div",{style:{height:f}},M.default.createElement(qP,{open:h,title:"Graphical",onClick:y}),M.default.createElement("div",{className:s.shading,ref:v,style:{height:r}},M.default.createElement(jP,{model:e,...t})),M.default.createElement(qP,{title:"Table",open:g.isShown,onClick:g.togglePane,onResize:_}),M.default.createElement("div",{className:s.details,style:{height:n}},M.default.createElement(SP,{model:e})))}return l?M.default.createElement("div",{className:s.shading,ref:v,style:{height:f}},M.default.createElement(jP,{model:e,...t})):M.default.createElement("div",{className:s.details,style:{height:f}},M.default.createElement(SP,{model:e}))}));var UP={},zP=Ju.exports;Object.defineProperty(UP,"__esModule",{value:!0});var GP=UP.default=void 0;GP=UP.default=(0,zP(Ku).default)((0,N.default.jsx)("path",{d:"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7l-4-4zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm3-10H5V5h10v4z"}),"Save");const HP=u.types.model("JobsManager",{}).views((e=>({get jobStatusWidget(){const{widgets:t}=n.getSession(e);let r=t.get("JobsList");return r||(r=n.getSession(e).addWidget("JobsListWidget","JobsList")),r}}))).actions((e=>({update(t,n,r){e.jobStatusWidget.updateJobStatusMessage(t,n),r&&e.jobStatusWidget.updateJobProgressPct(t,r)},abortJob(t,r){const o=n.getSession(e);if(n.isSessionModelWithWidgets(o)){o.showWidget(e.jobStatusWidget),e.jobStatusWidget.updateJobStatusMessage(t,r??"Aborted unexpectedly");const n=e.jobStatusWidget.jobs.findIndex((e=>e.name===t));e.jobStatusWidget.addAbortedJob({...e.jobStatusWidget.jobs[n]}),e.jobStatusWidget.removeJob(t),o.notify("Job aborted","info")}},runJob(t){const r=n.getSession(e);n.isSessionModelWithWidgets(r)&&(r.showWidget(e.jobStatusWidget),e.jobStatusWidget.addJob(t))},done(t){const r=n.getSession(e);n.isSessionModelWithWidgets(r)&&(r.showWidget(e.jobStatusWidget),e.jobStatusWidget.removeJob(t.name),e.jobStatusWidget.addFinishedJob({name:t.name,statusMessage:"All operations successful",progressPct:100,cancelCallback:t.cancelCallback}))}})));class WP{clientStore;constructor(e){this.clientStore=e}}class VP{dataStore;constructor(e){this.dataStore=e}recentChanges=[];async submit(e,t={}){const{addToRecents:r=!0,submitToBackend:o=!0,updateJobsManager:i=!1}=t,a=n.getSession(this.dataStore),s=new AbortController,{jobsManager:u}=n.getSession(this.dataStore),c={name:e.typeName,statusMessage:"Pre-validating",progressPct:0,cancelCallback:()=>{s.abort()}};i&&u.runJob(c);const l=await nr.validationRegistry.frontendPreValidate(e);if(!l.ok){const e=`Pre-validation failed: "${l.resultsMessages}"`;return i&&u.abortJob(c.name,e),void a.notify(e,"error")}try{await e.execute(this.dataStore)}catch(e){return i&&u.abortJob(c.name,String(e)),console.error(e),void a.notify(String(e),"error")}if((await nr.validationRegistry.frontendPostValidate(e,this.dataStore)).ok||await this.revert(e),o){i&&u.update(c.name,"Submitting to driver");const{collaborationServerDriver:n,getBackendDriver:r}=this.dataStore,o=z.isAssemblySpecificChange(e)?r(e.assembly):n;let s;try{s=await o.submitChange(e,t)}catch(t){return i&&u.abortJob(c.name,String(t)),console.error(t),a.notify(String(t),"error"),void await this.revert(e,!1)}if(!s.ok){const t=`Post-validation failed: "${l.resultsMessages}"`;return i&&u.abortJob(c.name,t),a.notify(t,"error"),void await this.revert(e,!1)}e.notification&&a.notify(e.notification,"success")}r&&this.recentChanges.push(e),i&&u.done(c)}async revert(e,t=!0){const n=e.getInverse();return this.submit(n,{submitToBackend:t,addToRecents:!1})}async revertLastChange(){const e=this.recentChanges.pop();if(e)return this.revert(e);n.getSession(this.dataStore).notify("No changes to undo!","warning")}}class $P extends WP{inFlight=new Map;async fetch(e,t,n){return e.getFetcher({locationType:"UriLocation",uri:t.toString()})(t,n)}async searchFeatures(e,t){const n=this.clientStore.getInternetAccount(t[0]),{baseURL:r}=n,o=new URL("features/searchFeatures",r),i=new URLSearchParams({assemblies:t.join(","),term:e});o.search=i.toString();const a=o.toString(),s=await this.fetch(n,a);if(!s.ok){const e=await md(s,"searchFeatures failed");throw new Error(e)}return s.json()}async getFeatures(e){const{assemblyName:t,end:o,refName:i,start:a}=e,{assemblyManager:s}=n.getSession(this.clientStore),u=s.get(t);if(!u)throw new Error(`Could not find assembly with name "${t}"`);const{ids:c}=r.getConf(u,["sequence","metadata"]),l=c[i];if(!l)throw new Error(`Could not find refSeq "${i}"`);const f=this.clientStore.getInternetAccount(t),{baseURL:d}=f,h=new URL("features/getFeatures",d),p=new URLSearchParams({refSeq:l,start:String(a),end:String(o)});h.search=p.toString();const m=h.toString(),g=await this.fetch(f,m);if(!g.ok){const e=await md(g,"getFeatures failed");throw new Error(e)}return this.checkSocket(t,i,f),g.json()}checkSocket(e,t,n){const{socket:r}=n,o=n.retrieveToken(),i=`${e}-${t}`,a=new VP(this.clientStore);r.hasListeners(i)||r.on(i,(async e=>{if(n.setLastChangeSequenceNumber(Number(e.changeSequence)),e.userSessionId!==o&&e.channel===i){const t=z.Change.fromJSON(e.changeInfo);await a.submit(t,{submitToBackend:!1})}}))}async getSequence(e){const t=`${e.refName}:${e.start}-${e.end}`,o=this.inFlight.get(t),{assemblyName:i,end:a,refName:s,start:u}=e,{assemblyManager:c}=n.getSession(this.clientStore),l=c.get(i);if(!l)throw new Error(`Could not find assembly with name "${i}"`);const{ids:f}=r.getConf(l,["sequence","metadata"]),d=f[s];if(!d)throw new Error(`Could not find refSeq "${s}"`);if(o)return{seq:await o,refSeq:d};let h=this.clientStore.assemblies.get(i);h||(h=this.clientStore.addAssembly(i));let p=h.refSeqs.get(d);p||(p=h.addRefSeq(d,s));const m=p.getSequence(u,a);if(m.length===a-u)return{seq:m,refSeq:d};const g=this.clientStore.getInternetAccount(i),{baseURL:y}=g,v=new URL("sequence",y),_=new URLSearchParams({refSeq:d,start:String(u),end:String(a)});v.search=_.toString();const b=v.toString(),w=this.getSeqFromServer(g,b,p,u,a);this.inFlight.set(t,w);const S=await w;return this.checkSocket(i,s,g),this.inFlight.delete(t),{seq:S,refSeq:d}}async getSeqFromServer(e,t,n,r,o){const i=await this.fetch(e,t);if(!i.ok){let e;try{e=await i.text()}catch{e=""}throw new Error(`getSequence failed: ${i.status} (${i.statusText})${e?` (${e})`:""}`)}const a=await i.text();return n.addSequence({sequence:a,start:r,stop:o}),a}async getRefNameAliases(e){const{assemblyManager:t}=n.getSession(this.clientStore);if(!t.get(e))throw new Error(`Could not find assembly with name "${e}"`);const r=this.clientStore.getInternetAccount(e),{baseURL:o}=r,i=new URL("refSeqs",o),a=new URLSearchParams({assembly:e});i.search=a.toString();const s=i.toString(),u=await this.fetch(r,s);if(!u.ok){let e;try{e=await u.text()}catch{e=""}throw new Error(`getRefNameAliases failed: ${u.status} (${u.statusText})${e?` (${e})`:""}`)}return(await u.json()).map((e=>({refName:e.name,aliases:[e._id,...e.aliases],uniqueId:`alias-${e._id}`})))}async getRegions(e){const{assemblyManager:t}=n.getSession(this.clientStore);if(!t.get(e))throw new Error(`Could not find assembly with name "${e}"`);const r=this.clientStore.getInternetAccount(e),{baseURL:o}=r,i=new URL("refSeqs",o),a=new URLSearchParams({assembly:e});i.search=a.toString();const s=i.toString(),u=await this.fetch(r,s);if(!u.ok){let e;try{e=await u.text()}catch{e=""}throw new Error(`getRegions failed: ${u.status} (${u.statusText})${e?` (${e})`:""}`)}return(await u.json()).map((e=>({refName:e.name,start:0,end:e.length})))}getAssemblies(e){const{assemblyManager:t}=n.getSession(this.clientStore);return t.assemblies.filter((t=>{const n=r.getConf(t,["sequence","metadata"]);return!(!(n&&n.apollo&&n.internetAccountConfigId)||e&&n.internetAccountConfigId!==e)}))}async submitChange(e,t={}){const{internetAccountId:n}=t,r=this.clientStore.getInternetAccount("assembly"in e?e.assembly:void 0,n),{baseURL:o}=r,i=new URL("changes",o).href,a=await this.fetch(r,i,{method:"POST",body:JSON.stringify(e.toJSON()),headers:{"Content-Type":"application/json"}});if(!a.ok){const e=await md(a,"submitChange failed");throw new Error(e)}const s=new nr.ValidationResultSet;return a.ok||(s.ok=!1),s}}class JP extends WP{async getFeatures(){return[[],[]]}async getSequence(e){const{assemblyName:t,end:n,refName:r,start:o}=e,i=this.clientStore.assemblies.get(t);if(!i)return{seq:"",refSeq:r};const a=i.refSeqs.get(r);return a?{seq:a.getSequence(o,n),refSeq:r}:{seq:"",refSeq:r}}async getRefNameAliases(e){const t=this.clientStore.assemblies.get(e),n=[];if(!t)return n;for(const[,e]of t.refSeqs)n.push({refName:e.name,aliases:[e._id],uniqueId:`alias-${e._id}`});return n}async getRegions(e){const t=this.clientStore.assemblies.get(e);if(!t)return[];const n=[];for(const[,r]of t.refSeqs)n.push({assemblyName:e,refName:r.name,start:r.sequence[0].start,end:r.sequence[0].stop});return n}getAssemblies(){const{assemblyManager:e}=n.getSession(this.clientStore);return e.assemblies.filter((e=>{const t=r.getConf(e,["sequence","metadata"]);return Boolean(t&&t.apollo&&!t.file&&!t.internetAccountConfigId)}))}async submitChange(e,t={}){const{clientStore:n}=this,{assemblies:r}=n;n.clearCheckResults();for(const[,e]of r)if("InMemoryFileDriver"===e.backendDriverType){const t=await pd(e);n.addCheckResults(t)}return new nr.ValidationResultSet}async searchFeatures(e,t){return[]}}class KP extends WP{async loadAssembly(e){const{assemblyManager:t}=n.getSession(this.clientStore),o=t.get(e);if(!o)throw new Error(`Assembly ${e} not found`);const{file:i}=r.getConf(o,["sequence","metadata"]),a=require("node:fs");return hd(e,await a.promises.readFile(i,"utf8"),this.clientStore)}async getAssembly(e){let t=this.clientStore.assemblies.get(e);return t||(t=await this.loadAssembly(e)),t}async getRefNameAliases(e){const t=await this.getAssembly(e),n=[];for(const[,e]of t.refSeqs)n.push({refName:e.name,aliases:[e._id],uniqueId:`alias-${e._id}`});return n}async getFeatures(e){return await this.getAssembly(e.assemblyName),[[],[]]}async getSequence(e){const{assemblyName:t,end:n,refName:r,start:o}=e,i=(await this.getAssembly(t)).refSeqs.get(r);if(!i)throw new Error(`refSeq ${r} not found in client data store`);return{seq:i.getSequence(o,n),refSeq:r}}async getRegions(e){const t=await this.getAssembly(e),n=[];for(const[,r]of t.refSeqs)n.push({assemblyName:e,refName:r.name,start:r.sequence[0].start,end:r.sequence[0].stop});return n}getAssemblies(){const{assemblyManager:e}=n.getSession(this.clientStore);return e.assemblies.filter((e=>{const t=r.getConf(e,["sequence","metadata"]);return Boolean(t&&t.apollo&&!t.internetAccountConfigId&&t.file)}))}async submitChange(e){if(!z.isAssemblySpecificChange(e))throw new Error(`Cannot use this type of change with local file: "${e.typeName}"`);const{assemblyManager:t}=n.getSession(this.clientStore),o=t.get(e.assembly);if(!o)throw new Error(`Could not find assembly with name "${e.assembly}"`);const{file:i}=r.getConf(o,["sequence","metadata"]),a=this.clientStore.assemblies.get(e.assembly);if(!a)throw new Error(`Could not find assembly in client with name "${e.assembly}"`);const s=new Set(...a.refSeqs.keys()),{checkResults:c}=this.clientStore;for(const e of c.values())s.has(e.refSeq)&&c.delete(e._id);const l=await pd(a);this.clientStore.addCheckResults(l);const f=[{directive:"gff-version",value:"3"}];for(const[,e]of a.refSeqs)f.push({directive:"sequence-region",value:`${e.name} 1 ${e.sequence[0].stop}`});for(const e of a.comments)f.push({comment:e});for(const[,e]of a.refSeqs){const{features:t}=e;for(const[,e]of t)f.push(nr.annotationFeatureToGFF3(u.getSnapshot(e)))}for(const[,e]of a.refSeqs){const[t]=e.sequence,n=nr.splitStringIntoChunks(t.sequence,80).join("\n");f.push({id:e.name,description:e.description,sequence:n})}const d=dd.formatSync(f),h=require("node:fs");return await h.promises.writeFile(i,d,"utf8"),new nr.ValidationResultSet}async searchFeatures(e,t){return[]}}function YP(e,t){const o=new AbortController,{signal:i}=o,a=e.evaluateExtensionPoint("Apollo-extendAnnotationFeature",rI.AnnotationFeatureModel),c=function(e){return u.types.model("ClientDataStore",{typeName:u.types.optional(u.types.literal("Client"),"Client"),assemblies:u.types.map(rI.ApolloAssembly),checkResults:u.types.map(rI.CheckResult),ontologyManager:u.types.optional(xR,{})}).views((t=>({get internetAccounts(){return u.getRoot(t).internetAccounts},get pluginConfiguration(){return u.getRoot(t).jbrowse.configuration.ApolloPlugin},getFeature:n=>u.resolveIdentifier(e,t.assemblies,n)}))).actions((e=>({addAssembly(t,n){const r={_id:t,refSeqs:{}};return n&&(r.backendDriverType=n),e.assemblies.put(r)},addFeature(t,n){const r=e.assemblies.get(t);if(!r)throw new Error(`Could not find assembly "${t}" to add feature "${n._id}"`);const o=r.refSeqs.get(n.refSeq);if(!o)throw new Error(`Could not find refSeq "${n.refSeq}" to add feature "${n._id}"`);o.features.put(n)},deleteFeature(t){const n=e.getFeature(t);if(!n)throw new Error(`Could not find feature "${t}" to delete`);const{_id:r,parent:o}=n;o?o.deleteChild(t):u.getParentOfType(n,rI.ApolloRefSeq).deleteFeature(r)},deleteAssembly(t){e.assemblies.delete(t)},addCheckResult(t){e.checkResults.put(t)},addCheckResults(t){for(const n of t)e.checkResults.has(n._id)||e.checkResults.put(n)},deleteCheckResult(t){e.checkResults.delete(t)},clearCheckResults(){e.checkResults.clear()}}))).volatile((e=>({changeManager:new VP(e),collaborationServerDriver:new $P(e),inMemoryFileDriver:new JP(e),desktopFileDriver:n.isElectron?new KP(e):void 0}))).actions((e=>({afterCreate(){u.addDisposer(e,s.autorun((()=>{const{ontologyManager:t,pluginConfiguration:n}=e,o=n.ontologies;for(const e of o||[]){const[n,o,i,a]=[r.readConfObject(e,"name"),r.readConfObject(e,"version"),r.readConfObject(e,"source"),r.readConfObject(e,"textIndexFields")];t.findOntology(n)||t.addOntology(n,o,i,{textIndexing:{indexFields:a}})}})))}}))).views((e=>({getBackendDriver(t){if(!t)return e.collaborationServerDriver;const o=n.getSession(e),{assemblyManager:i}=o,a=i.get(t);if(!a)return e.collaborationServerDriver;const{file:s,internetAccountConfigId:u}=r.getConf(a,["sequence","metadata"]);return n.isElectron&&s?e.desktopFileDriver:u?e.collaborationServerDriver:e.inMemoryFileDriver},getInternetAccount(t,o){if(!(t??o))throw new Error("Must provide either assemblyName or internetAccountId");let i=o;if(t&&!i){const{assemblyManager:o}=n.getSession(e),a=o.get(t);if(!a)throw new Error(`No assembly found with name ${t}`);({internetAccountConfigId:i}=r.getConf(a,["sequence","metadata"]))}const{internetAccounts:a}=e,s=a.find((e=>e.internetAccountId===i));if(!s)throw new Error(`No InternetAccount found with config id ${o}`);return s}}))).actions((e=>({loadFeatures:u.flow((function*(t){for(const n of t){const t=e.getBackendDriver(n.assemblyName);if(!t)return;const[r,o]=yield t.getFeatures(n);if(0===r.length)continue;const{assemblyName:i,refName:a}=n;let s=e.assemblies.get(i);s||(s=e.assemblies.put({_id:i,refSeqs:{}}));const[u]=r;let c=s.refSeqs.get(u.refSeq);c||(c=s.refSeqs.put({_id:u.refSeq,name:a,features:{}}));for(const e of r)c.features.has(e._id)||c.features.put(e);e.addCheckResults(o)}})),loadRefSeq:u.flow((function*(t){for(const n of t){const t=e.getBackendDriver(n.assemblyName);if(!t)return;const{refSeq:r,seq:o}=yield t.getSequence(n),{assemblyName:i,end:a,refName:s,start:u}=n;let c=e.assemblies.get(i);c||(c=e.assemblies.put({_id:i,refSeqs:{}}));let l=c.refSeqs.get(r);l||(l=c.refSeqs.put({_id:r,name:s,sequence:[]})),l.addSequence({start:u,stop:a,sequence:o})}}))})))}(a),l=t.props({apolloDataStore:u.types.optional(c,{typeName:"Client"}),apolloSelectedFeature:u.types.safeReference(a),jobsManager:u.types.optional(HP,{})}).extend((()=>{const e=s.observable.array([]);return{views:{get collaborators(){return e}},actions:{addOrUpdateCollaborator(t){const n=e.find((e=>e.id===t.id));n?n.locations=t.locations:e.push(t)}}}})).actions((e=>({apolloSetSelectedFeature(t){e.apolloSelectedFeature=t},addApolloTrackConfig(t,n){const o=`apollo_track_${t.name}`;e.tracks.some((e=>e.trackId===o))||e.addTrackConf({type:"ApolloTrack",trackId:o,name:`Annotations (${r.getConf(t,"displayName")||t.name})`,assemblyNames:[t.name],textSearching:{textSearchAdapter:{type:"ApolloTextSearchAdapter",trackId:o,assemblyNames:[t.name],textSearchAdapterId:`apollo_search_${t.name}`,...n?{baseURL:{uri:n,locationType:"UriLocation"}}:{}}},displays:[{type:"LinearApolloDisplay",displayId:`${o}-LinearApolloDisplay`},{type:"SixFrameFeatureDisplay",displayId:`${o}-SixFrameFeatureDisplay`}]})},broadcastLocations(){const{internetAccounts:t}=u.getRoot(e),n=[];for(const t of e.views){if("LinearGenomeView"!==t.type)return;const r=t;if(r.initialized){const{dynamicBlocks:t}=r;t.forEach((t=>{if(void 0!==t.regionNumber){const{assemblyName:r,end:o,refName:i,start:a}=t,s=e.apolloDataStore.assemblies.get(r);s&&"CollaborationServerDriver"===s.backendDriverType&&n.push({assemblyName:r,refName:i,start:a,end:o})}}))}}if(0===n.length){for(const e of t)"baseURL"in e&&e.postUserLocation([]);return}const r=[];for(const e of t)if("baseURL"in e){for(const e of n)r.push({assemblyId:e.assemblyName,refSeq:e.refName,start:e.start,end:e.end});e.postUserLocation(r)}}}))).actions((e=>({afterCreate:u.flow((function*(){const t=u.getSnapshot(e),{id:n,name:r}=t;u.applySnapshot(e,{name:r,id:n});const{internetAccounts:o,jbrowse:a}=u.getRoot(e);s.autorun((()=>{const t=[];for(const n of e.views){if("LinearGenomeView"!==n.type)return;const r=n;if(r.initialized){const{dynamicBlocks:n}=r;n.forEach((n=>{if(void 0!==n.regionNumber){const{assemblyName:r,end:o,refName:i,start:a}=n,s=e.apolloDataStore.assemblies.get(r);s&&"CollaborationServerDriver"===s.backendDriverType&&t.push({assemblyName:r,refName:i,start:a,end:o})}}))}}if(0===t.length){for(const e of o)"baseURL"in e&&e.postUserLocation([]);return}const n=[];for(const e of o)if("baseURL"in e){for(const e of t)n.push({assemblyId:e.assemblyName,refSeq:e.refName,start:e.start,end:e.end});e.postUserLocation(n)}}),{name:"ApolloSession"});for(const n of o){if("ApolloInternetAccount"!==n.type)continue;const{baseURL:r}=n,o=new URL("jbrowse/config.json",r).href,s=n.getFetcher({locationType:"UriLocation",uri:o});let c,l;try{c=yield s(o,{signal:i})}catch(e){console.error(e);continue}if(c.ok){try{l=yield c.json()}catch(e){console.error(e);continue}u.applySnapshot(a,l),u.applySnapshot(e,t)}else{const e=yield md(c,"Failed to fetch assemblies");console.error(e)}}})),beforeDestroy(){o.abort("destroying session model")}}))).views((e=>{const t=e.getTrackActionMenuItems;return{getTrackActionMenuItems(n){if("ApolloTrack"===n.type||"ReferenceSequenceTrack"===n.type)return t?.(n);const o=r.readConfObject(n,"trackId");return o.endsWith("-sessionTrack")?[...t?.(n)??[],{label:"Save track to Apollo",onClick:async()=>{const{internetAccounts:t,jbrowse:r}=u.getRoot(e),i=u.getSnapshot(r);let a;a=nr.filterJBrowseConfig(i),0===Object.keys(a).length&&(a=void 0);const s={...u.getSnapshot(n),trackId:o.slice(0,o.length-13)};for(const n of t){if("ApolloInternetAccount"!==n.type)continue;const t=new nr.ImportJBrowseConfigChange({typeName:"ImportJBrowseConfigChange",oldJBrowseConfig:a,newJBrowseConfig:{...a,tracks:a?.tracks&&[...a.tracks,s]}}),{internetAccountId:r}=n;await e.apolloDataStore.changeManager.submit(t,{internetAccountId:r});const{notify:o}=e;o("Track added","success")}e.deleteTrackConf(n),r.addTrackConf(s)},icon:GP}]:[...t?.(n)??[],{label:"Remove track from Apollo",onClick:async()=>{const{internetAccounts:t,jbrowse:r}=u.getRoot(e),i=u.getSnapshot(r);let a;a=nr.filterJBrowseConfig(i),0===Object.keys(a).length&&(a=void 0);const s=a?.tracks?.filter((e=>e.trackId!==o));for(const n of t){if("ApolloInternetAccount"!==n.type)continue;const t=new nr.ImportJBrowseConfigChange({typeName:"ImportJBrowseConfigChange",oldJBrowseConfig:a,newJBrowseConfig:{...a,tracks:s}}),{internetAccountId:r}=n;await e.apolloDataStore.changeManager.submit(t,{internetAccountId:r});const{notify:o}=e;o("Track removed","success")}e.deleteTrackConf(n),r.deleteTrackConf(n)},icon:GP}]}}}));return u.types.snapshotProcessor(l,{postProcessor(e,t){e.apolloSelectedFeature=void 0;const n=Object.fromEntries(Object.entries(e.apolloDataStore.assemblies).filter((([,e])=>"InMemoryFileDriver"===e.backendDriverType)));if(e.apolloDataStore={typeName:"Client",assemblies:n,checkResults:{}},!t)return e;const{apolloDataStore:r}=t,{checkResults:o}=r;for(const[,t]of o){const[n]=t.ids;if(!n)continue;const o=r.assemblies.get(n.assemblyId);o&&"InMemoryFileDriver"===o.backendDriverType&&(e.apolloDataStore.checkResults[t._id]=u.getSnapshot(t))}return e}})}const ZP={0:2,1:1,2:0},XP={3:0,4:1,5:2};function QP(e,t){const o=e.getPlugin("LinearGenomeViewPlugin"),{BaseLinearDisplay:i}=o.exports;return i.named("SixFrameFeatureDisplay").props({type:u.types.literal("SixFrameFeatureDisplay"),configuration:r.ConfigurationReference(t),apolloRowHeight:20,detailsMinHeight:200,showStartCodons:!1,showStopCodons:!0,showIntronLines:!0}).volatile((()=>({apolloFeatureUnderMouse:void 0,apolloRowUnderMouse:void 0}))).views((e=>{const{configuration:t,renderProps:n}=e;return{renderProps:()=>({...n(),...k.getParentRenderProps(e),config:t.renderer})}})).views((e=>({get regions(){let t;try{({blockDefinitions:t}=e)}catch{return[]}return t.contentBlocks.map((({assemblyName:e,end:t,refName:n,start:r})=>({assemblyName:e,refName:n,start:r,end:t})))},regionCannotBeRendered(){const t=n.getContainingView(e);if(t&&t.bpPerPx>=200)return"Zoom in to see annotations"},get session(){return n.getSession(e)}}))).actions((e=>{let t=[];return{afterAttach(){u.addDisposer(e,s.autorun((()=>{const r=n.getSession(e);if(n.getContainingView(e).initialized){if(e.regionCannotBeRendered())return;const n=[],o=[];for(const r of e.blockDefinitions.contentBlocks)n.push(r.key),t.includes(r.key)||o.push(r);r.apolloDataStore.loadFeatures(o.map((({assemblyName:e,end:t,refName:n,start:r})=>({assemblyName:e,refName:n,start:r,end:t})))),r.apolloDataStore.loadRefSeq(o.map((({assemblyName:e,end:t,refName:n,start:r})=>({assemblyName:e,refName:n,start:r,end:t})))),t=n}}),{name:"SixFrameFeatureDisplay"}))}}})).views((e=>({get rendererTypeName(){return e.configuration.renderer.type},get changeManager(){return n.getSession(e).apolloDataStore.changeManager},get sequence(){const{regions:t}=e,r=n.getSession(e),o=new Map;for(const e of t){const t=r.apolloDataStore.assemblies.get(e.assemblyName),n=t?.getByRefName(e.refName),i=n?.getSequence(e.start,e.end);o.set(e.start,i??"")}return o},get features(){const{regions:t}=e,r=n.getSession(e),o=new Map;for(const e of t){const t=r.apolloDataStore.assemblies.get(e.assemblyName),n=t?.getByRefName(e.refName);let i=o.get(e.refName);i||(i=new Map,o.set(e.refName,i));for(const[t,r]of n?.features.entries()??new Map)e.start<r.end&&e.end>r.start&&i.set(t,r)}return o},get featuresMinMax(){const e={};for(const[t,n]of this.features||[]){let r,o;for(const[,e]of n)void 0===r&&({min:r}=e),void 0===o&&({max:o}=e),e.min<r&&({min:r}=e),e.max>o&&({max:o}=e);void 0!==r&&void 0!==o&&(e[t]=[r,o])}return e},get codonLayout(){const e=new Map;let t="",r=0;for(const[e,n]of this.sequence||[])n&&(t||(r=e),t+=n);for(let o=0;o<6;o++){const i=[],a=[],s=o in XP;let u,c,l;s?(u=(t.length+r)%3,c=(XP[o]+u+3)%3,l=n.reverse(t).slice(c)):(u=3-r%3,c=(ZP[o]+u+3)%3,l=t.slice(c));for(let e=0;e<l.length;e+=3){const t=l.slice(e,e+3),o=s?n.reverse(n.revcom(t)):t,u=s?r+l.length-(3+e):r+e+c;n.defaultStarts.includes(o.toUpperCase())?i.push(u):n.defaultStops.includes(o.toUpperCase())&&a.push(u)}e.set(o,{starts:i,stops:a})}return e},get featureLayout(){const e=new Map;for(const[t,n]of this.features||[]){if(!n)continue;const r=this.featuresMinMax[t];if(!r)continue;const[o,i]=r,a=[],s=6;for(let t=0;t<s;t++){const t=a.length;a[t]=Array.from({length:i-o}),e.set(t,[])}for(const t of[...n.values()].sort(((e,t)=>{const{max:n,min:r}=e,{max:o,min:i}=t;return r-i||n-o})))for(const[,n]of t.children??new Map)if("mRNA"===n.type)for(const[,r]of n.children||new Map){let o;if("CDS"===r.type){let i;r.discontinuousLocations.length>0?({discontinuousLocations:i}=r):i=[r];for(const r of i){const i=r.start+3,a=r.end-3;for(const[s,{stops:u}]of this.codonLayout)if(s<3&&1===t.strand||s>=3&&-1===t.strand){const t=u.filter((e=>e>=i&&e<=a));if(0===t.length){o=s;const t=e.get(o);t?.push([n.featureId,r]);break}}}}}}return e},getAssemblyId(t){const{assemblyManager:r}=n.getSession(e),o=r.get(t);if(!o)throw new Error(`Could not find assembly named ${t}`);return o.name},get selectedFeature(){return n.getSession(e).apolloSelectedFeature},get setSelectedFeature(){return n.getSession(e).apolloSetSelectedFeature}}))).actions((e=>({setSelectedFeature(t){n.getSession(e).apolloSetSelectedFeature(t)},setApolloFeatureUnderMouse(t){e.apolloFeatureUnderMouse=t},setApolloRowUnderMouse(t){e.apolloRowUnderMouse=t},toggleShowStartCodons(){e.showStartCodons=!e.showStartCodons},toggleShowStopCodons(){e.showStopCodons=!e.showStopCodons},toggleShowIntronLines(){e.showIntronLines=!e.showIntronLines}}))).views((e=>({get highestRow(){return 0===e.featureLayout.size?0:Math.max(...e.featureLayout.keys())},get featuresHeight(){return(this.highestRow+1)*e.apolloRowHeight},get detailsHeight(){return Math.max(e.detailsMinHeight,e.height-this.featuresHeight)},trackMenuItems:()=>[{label:"Show start codons",type:"checkbox",checked:e.showStartCodons,onClick:()=>{e.toggleShowStartCodons()}},{label:"Show stop codons",type:"checkbox",checked:e.showStopCodons,onClick:()=>{e.toggleShowStopCodons()}},{label:"Show intron lines",type:"checkbox",checked:e.showIntronLines,onClick:()=>{e.toggleShowIntronLines()}}]})))}var eT=r.ConfigurationSchema("ApolloRefNameAliasAdapter",{assemblyId:{type:"string",defaultValue:""}},{explicitlyTyped:!0});const tT="undefined"==typeof sessionStorage;class nT extends S.BaseAdapter{refNameAliases;async getRefNameAliases(){const e=r.readConfObject(this.config,"assemblyId");if(!tT){const t=this.pluginManager?.rootModel?.session?.apolloDataStore;if(!t)throw new Error("No Apollo data store found");const n=t.getBackendDriver(e);return await n.getRefNameAliases(e)}const t=await new Promise(((t,n)=>{const r=setTimeout((()=>{n(new Error("timeout"))}),2e4),o=oN(),i=e=>{const n=e.data;(function(e){return"object"==typeof e&&null!==e&&"apollo"in e&&!0===e.apollo&&"refNameAliases"in e})(n)&&n.messageId===o&&(clearTimeout(r),removeEventListener("message",i),t(n.refNameAliases))};addEventListener("message",i),rpcServer.emit("apollo",{apollo:!0,method:"getRefNameAliases",assembly:e,messageId:o})}));return this.refNameAliases=t,t}freeResources(){}}const rT="WorkerGlobalScope"in globalThis;for(const[e,t]of Object.entries(nr.changes))z.changeRegistry.registerChange(e,t);const oT=new nr.CDSCheck;z.checkRegistry.registerCheck(oT.name,oT),nr.validationRegistry.registerValidation(new nr.CoreValidation),nr.validationRegistry.registerValidation(new nr.ParentChildValidation),e.default=class extends C.default{name="ApolloPlugin";version="0.2.2";configurationSchema=GN;install(e){!function(e){e.addAdapterType((()=>new D.default({name:"ApolloSequenceAdapter",configSchema:PN,adapterMetadata:{category:void 0,hiddenFromGUI:!0,description:void 0},AdapterClass:IN})))}(e),function(e){e.addAdapterType((()=>new D.default({name:"ApolloRefNameAliasAdapter",configSchema:eT,adapterMetadata:{category:void 0,hiddenFromGUI:!0,description:void 0},AdapterClass:nT})))}(e),function(e){e.addTextSearchAdapterType((()=>new o.TextSearchAdapterType({name:"ApolloTextSearchAdapter",displayName:"Apollo text search adapter",configSchema:zN,AdapterClass:UN,description:"Apollo Text Search adapter"})))}(e),e.addWidgetType((()=>{const e=r.ConfigurationSchema("ApolloFeatureDetailsWidget",{});return new o.WidgetType({name:"ApolloFeatureDetailsWidget",heading:"Apollo feature details",configSchema:e,stateModel:lI,ReactComponent:nI})})),e.addWidgetType((()=>{const e=r.ConfigurationSchema("ApolloTranscriptDetails",{});return new o.WidgetType({name:"ApolloTranscriptDetails",heading:"Apollo transcript details",configSchema:e,stateModel:fI,ReactComponent:yI})})),e.addTrackType((()=>{const t=r.ConfigurationSchema("ApolloTrack",{adapter:""},{baseConfiguration:o.createBaseTrackConfig(e),explicitIdentifier:"trackId"});return new o.TrackType({name:"ApolloTrack",configSchema:t,stateModel:o.createBaseTrackModel(e,"ApolloTrack",t)})})),e.addInternetAccountType((()=>new o.InternetAccountType({name:"ApolloInternetAccount",configSchema:Xu,stateModel:kN(Xu)}))),e.addDisplayType((()=>new o.DisplayType({name:"LinearApolloDisplay",configSchema:vI,stateModel:kP(0,vI),trackType:"ApolloTrack",viewType:"LinearGenomeView",ReactComponent:BP}))),e.addDisplayType((()=>{const t=function(e){const t=e.getPlugin("LinearGenomeViewPlugin"),{baseLinearDisplayConfigSchema:n}=t.exports;return r.ConfigurationSchema("SixFrameFeatureDisplay",{renderer:jN,height:{type:"number",defaultValue:120}},{baseConfiguration:n,explicitlyTyped:!0})}(e),n=function(e){const t=e.getPlugin("LinearGenomeViewPlugin");if(!t)throw new Error("LinearGenomeView plugin not found");const{BaseLinearDisplayComponent:n}=t.exports;return p.observer((function({model:e,...t}){const{classes:r}=LP(),{height:o,selectedFeature:i}=e;let{detailsHeight:a}=e;return i||(a=0),M.default.createElement("div",{style:{height:e.height}},M.default.createElement("div",{className:r.shading,style:{height:o-a}},M.default.createElement(n,{model:e,...t})),M.default.createElement("div",{className:"testTrackLines"},M.default.createElement(FP,{model:e})))}))}(e);return new o.DisplayType({name:"SixFrameFeatureDisplay",configSchema:t,stateModel:QP(e,t),trackType:"ApolloTrack",viewType:"LinearGenomeView",ReactComponent:n})})),e.addRendererType((()=>new FN({name:"ApolloSixFrameRenderer",ReactComponent:MN,configSchema:jN,pluginManager:e}))),e.addToExtensionPoint("Core-extendSession",YP.bind(this,e)),e.addToExtensionPoint("Core-extendPluggableElement",(e=>{if("LinearGenomeView"===e.name){const{stateModel:t}=e,r=t.views((e=>{const t=e.rubberBandMenuItems;return{rubberBandMenuItems:()=>[...t(),{label:"Add new feature",icon:Zu,onClick:()=>{const t=n.getSession(e),{leftOffset:r,rightOffset:o}=e,i=e.getSelectedRegions(r,o);t.queueDialog((e=>[IR,{session:t,handleClose:()=>{e()},region:i[0],changeManager:t.apolloDataStore.changeManager}]))}}]}}));e.stateModel=r}return e})),e.addToExtensionPoint("Core-extendPluggableElement",HN),rT||e.addToExtensionPoint("Core-extendWorker",(t=>"on"in t&&t.on?(t.on("apollo",(async n=>{if("object"!=typeof(r=n)||null===r||!("apollo"in r)||!0!==r.apollo)return;var r;const{apollo:o,messageId:i,method:a}=n;switch(a){case"getSequence":{const{region:r}=n,{assemblyName:a}=r,s=e.rootModel?.session?.apolloDataStore;if(!s)break;const u=s.getBackendDriver(a),{seq:c}=await u.getSequence(r);t.workers[0].postMessage({apollo:o,messageId:i,sequence:c});break}case"getRegions":{const{assembly:r}=n,a=e.rootModel?.session?.apolloDataStore;if(!a)break;const s=a.getBackendDriver(r),u=await s.getRegions(r);t.workers[0].postMessage({apollo:o,messageId:i,regions:u});break}case"getRefNameAliases":{const{assembly:r}=n,a=e.rootModel?.session?.apolloDataStore;if(!a)break;const s=a.getBackendDriver(r),u=await s.getRefNameAliases(r);t.workers[0].postMessage({apollo:o,messageId:i,refNameAliases:u});break}}})),t):t))}configure(e){n.isAbstractMenuManager(e.rootModel)&&(e.rootModel.appendToMenu("Apollo",{label:"Download GFF3",onClick:e=>{e.queueDialog((t=>[LR,{session:e,handleClose:()=>{t()}}]))}}),e.rootModel.appendToMenu("Apollo",{label:"Manage Checks",onClick:e=>{e.queueDialog((t=>[BR,{session:e,handleClose:()=>{t()}}]))}}),e.rootModel.appendToMenu("Apollo",{label:"View Change Log",onClick:e=>{e.queueDialog((t=>[sN,{session:e,handleClose:()=>{t()}}]))}}),e.rootModel.appendToMenu("Apollo",{label:"Open local GFF3 file",onClick:e=>{e.queueDialog((t=>[iN,{session:e,handleClose:()=>{t()},inMemoryFileDriver:e.apolloDataStore.inMemoryFileDriver}]))}}),e.rootModel.appendToMenu("Apollo",{label:"View check results",onClick:e=>{e.queueDialog((t=>[fN,{session:e,handleClose:()=>{t()}}]))}}),e.rootModel.appendToMenu("Apollo",{label:"Log out",onClick:e=>{e.queueDialog((t=>[qR,{session:e,handleClose:()=>{t()}}]))}}))}},Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@jbrowse/core/Plugin"),require("@jbrowse/core/util"),require("@jbrowse/core/configuration"),require("@jbrowse/core/pluggableElementTypes"),require("@mui/material/utils"),require("react/jsx-runtime"),require("mobx"),require("mobx-state-tree"),require("@mui/material"),require("@mui/material/InputAdornment"),require("@mui/material/LinearProgress"),require("react"),require("@jbrowse/core/ui"),require("mobx-react"),require("tss-react/mui"),require("@jbrowse/core/util/types/mst"),require("@jbrowse/core/util/io"),require("@mui/material/Checkbox"),require("@mui/material/FormControlLabel"),require("@mui/x-data-grid"),require("@jbrowse/core/pluggableElementTypes/AdapterType"),require("@jbrowse/core/data_adapters/BaseAdapter"),require("@jbrowse/core/util/rxjs"),require("@jbrowse/core/util/tracks")):"function"==typeof define&&define.amd?define(["exports","@jbrowse/core/Plugin","@jbrowse/core/util","@jbrowse/core/configuration","@jbrowse/core/pluggableElementTypes","@mui/material/utils","react/jsx-runtime","mobx","mobx-state-tree","@mui/material","@mui/material/InputAdornment","@mui/material/LinearProgress","react","@jbrowse/core/ui","mobx-react","tss-react/mui","@jbrowse/core/util/types/mst","@jbrowse/core/util/io","@mui/material/Checkbox","@mui/material/FormControlLabel","@mui/x-data-grid","@jbrowse/core/pluggableElementTypes/AdapterType","@jbrowse/core/data_adapters/BaseAdapter","@jbrowse/core/util/rxjs","@jbrowse/core/util/tracks"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).JBrowsePluginApollo={},e.JBrowseExports["@jbrowse/core/Plugin"],e.JBrowseExports["@jbrowse/core/util"],e.JBrowseExports["@jbrowse/core/configuration"],e.JBrowseExports["@jbrowse/core/pluggableElementTypes"],e.JBrowseExports["@mui/material/utils"],e.JBrowseExports["react/jsx-runtime"],e.JBrowseExports.mobx,e.JBrowseExports["mobx-state-tree"],e.JBrowseExports["@mui/material"],e.JBrowseExports["@mui/material/InputAdornment"],e.JBrowseExports["@mui/material/LinearProgress"],e.JBrowseExports.react,e.JBrowseExports["@jbrowse/core/ui"],e.JBrowseExports["mobx-react"],e.JBrowseExports["tss-react/mui"],e.JBrowseExports["@jbrowse/core/util/types/mst"],e.JBrowseExports["@jbrowse/core/util/io"],e.JBrowseExports["@mui/material/Checkbox"],e.JBrowseExports["@mui/material/FormControlLabel"],e.JBrowseExports["@mui/x-data-grid"],e.JBrowseExports["@jbrowse/core/pluggableElementTypes/AdapterType"],e.JBrowseExports["@jbrowse/core/data_adapters/BaseAdapter"],e.JBrowseExports["@jbrowse/core/util/rxjs"],e.JBrowseExports["@jbrowse/core/util/tracks"])}(this,(function(e,t,n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k){"use strict";function E(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function A(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,t}var C=E(t),O=E(n),R=E(i),N=E(a),I=E(u),P=E(l),T=E(f),M=E(d),j=A(d),F=E(v),L=E(_),D=E(w),q="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function B(e){if(e.__esModule)return e;var t=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(e).forEach((function(n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})})),t}function U(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var z={};function G(e){var t,n;function r(t,n){try{var i=e[t](n),a=i.value,s=a instanceof H;Promise.resolve(s?a.v:a).then((function(n){if(s){var u="return"===t?"return":"next";if(!a.k||n.done)return r(u,n);n=e[u](n).value}o(i.done?"return":"normal",n)}),(function(e){r("throw",e)}))}catch(e){o("throw",e)}}function o(e,o){switch(e){case"return":t.resolve({value:o,done:!0});break;case"throw":t.reject(o);break;default:t.resolve({value:o,done:!1})}(t=t.next)?r(t.key,t.arg):n=null}this._invoke=function(e,o){return new Promise((function(i,a){var s={key:e,arg:o,resolve:i,reject:a,next:null};n?n=n.next=s:(t=n=s,r(e,o))}))},"function"!=typeof e.return&&(this.return=void 0)}function H(e,t){this.v=e,this.k=t}function W(e){var t,n,r,o=2;for("undefined"!=typeof Symbol&&(n=Symbol.asyncIterator,r=Symbol.iterator);o--;){if(n&&null!=(t=e[n]))return t.call(e);if(r&&null!=(t=e[r]))return new V(t.call(e));n="@@asyncIterator",r="@@iterator"}throw new TypeError("Object is not async iterable")}function V(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var t=e.done;return Promise.resolve(e.value).then((function(e){return{value:e,done:t}}))}return V=function(e){this.s=e,this.n=e.next},V.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var n=this.s.return;return void 0===n?Promise.resolve({value:e,done:!0}):t(n.apply(this.s,arguments))},throw:function(e){var n=this.s.return;return void 0===n?Promise.reject(e):t(n.apply(this.s,arguments))}},new V(e)}function $(e){return new H(e,0)}function J(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function K(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?J(Object(n),!0).forEach((function(t){re(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):J(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Y(){Y=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,o=Object.defineProperty||function(e,t,n){e[t]=n.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function c(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,n){return e[t]=n}}function l(e,t,n,r){var i=Object.create((t&&t.prototype instanceof y?t:y).prototype),a=new N(r||[]);return o(i,"_invoke",{value:A(e,n,a)}),i}function f(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var d="suspendedStart",h="suspendedYield",p="executing",m="completed",g={};function y(){}function v(){}function _(){}var b={};c(b,a,(function(){return this}));var w=Object.getPrototypeOf,S=w&&w(w(I([])));S&&S!==n&&r.call(S,a)&&(b=S);var x=_.prototype=y.prototype=Object.create(b);function k(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function E(e,t){function n(o,i,a,s){var u=f(e[o],e,i);if("throw"!==u.type){var c=u.arg,l=c.value;return l&&"object"==typeof l&&r.call(l,"__await")?t.resolve(l.__await).then((function(e){n("next",e,a,s)}),(function(e){n("throw",e,a,s)})):t.resolve(l).then((function(e){c.value=e,a(c)}),(function(e){return n("throw",e,a,s)}))}s(u.arg)}var i;o(this,"_invoke",{value:function(e,r){function o(){return new t((function(t,o){n(e,r,t,o)}))}return i=i?i.then(o,o):o()}})}function A(t,n,r){var o=d;return function(i,a){if(o===p)throw new Error("Generator is already running");if(o===m){if("throw"===i)throw a;return{value:e,done:!0}}for(r.method=i,r.arg=a;;){var s=r.delegate;if(s){var u=C(s,r);if(u){if(u===g)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(o===d)throw o=m,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o=p;var c=f(t,n,r);if("normal"===c.type){if(o=r.done?m:h,c.arg===g)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(o=m,r.method="throw",r.arg=c.arg)}}}function C(t,n){var r=n.method,o=t.iterator[r];if(o===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,C(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),g;var i=f(o,t.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,g;var a=i.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,g):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,g)}function O(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function R(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function N(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.reset(!0)}function I(t){if(t||""===t){var n=t[a];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,i=function n(){for(;++o<t.length;)if(r.call(t,o))return n.value=t[o],n.done=!1,n;return n.value=e,n.done=!0,n};return i.next=i}}throw new TypeError(typeof t+" is not iterable")}return v.prototype=_,o(x,"constructor",{value:_,configurable:!0}),o(_,"constructor",{value:v,configurable:!0}),v.displayName=c(_,u,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===v||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,_):(e.__proto__=_,c(e,u,"GeneratorFunction")),e.prototype=Object.create(x),e},t.awrap=function(e){return{__await:e}},k(E.prototype),c(E.prototype,s,(function(){return this})),t.AsyncIterator=E,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new E(l(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},k(x),c(x,u,"Generator"),c(x,a,(function(){return this})),c(x,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=I,N.prototype={constructor:N,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(R),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function o(r,o){return s.type="throw",s.arg=t,n.next=r,o&&(n.method="next",n.arg=e),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],s=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var u=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(u&&c){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,g):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),R(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;R(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:I(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),g}},t}function Z(e){return Z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Z(e)}function X(e,t,n,r,o,i,a){try{var s=e[i](a),u=s.value}catch(e){return void n(e)}s.done?t(u):Promise.resolve(u).then(r,o)}function Q(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){X(i,r,o,a,s,"next",e)}function s(e){X(i,r,o,a,s,"throw",e)}a(void 0)}))}}function ee(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function te(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Se(r.key),r)}}function ne(e,t,n){return t&&te(e.prototype,t),n&&te(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function re(e,t,n){return(t=Se(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function oe(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ae(e,t)}function ie(e){return ie=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ie(e)}function ae(e,t){return ae=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},ae(e,t)}function se(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function ue(e,t,n){return ue=se()?Reflect.construct.bind():function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&ae(o,n.prototype),o},ue.apply(null,arguments)}function ce(e){var t="function"==typeof Map?new Map:void 0;return ce=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return ue(e,arguments,ie(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),ae(n,e)},ce(e)}function le(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function fe(e){var t=se();return function(){var n,r=ie(e);if(t){var o=ie(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return function(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return le(e)}(this,n)}}function de(){return de="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=ie(e)););return e}(e,t);if(r){var o=Object.getOwnPropertyDescriptor(r,t);return o.get?o.get.call(arguments.length<3?e:n):o.value}},de.apply(this,arguments)}function he(e,t){return ge(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}(e,t)||ve(e,t)||be()}function pe(e){return ge(e)||ye(e)||ve(e)||be()}function me(e){return function(e){if(Array.isArray(e))return _e(e)}(e)||ye(e)||ve(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ge(e){if(Array.isArray(e))return e}function ye(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function ve(e,t){if(e){if("string"==typeof e)return _e(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_e(e,t):void 0}}function _e(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function be(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function we(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=ve(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,i=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw i}}}}function Se(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}G.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},G.prototype.next=function(e){return this._invoke("next",e)},G.prototype.throw=function(e){return this._invoke("throw",e)},G.prototype.return=function(e){return this._invoke("return",e)};var xe=function(e,t){return xe=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},xe(e,t)};function ke(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}xe(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var Ee=function(){return Ee=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},Ee.apply(this,arguments)};function Ae(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}function Ce(e,t,n,r){var o,i=arguments.length,a=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"===("undefined"==typeof Reflect?"undefined":Z(Reflect))&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function Oe(e,t){return function(n,r){t(n,r,e)}}function Re(e,t){if("object"===("undefined"==typeof Reflect?"undefined":Z(Reflect))&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function Ne(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{u(r.next(e))}catch(e){i(e)}}function s(e){try{u(r.throw(e))}catch(e){i(e)}}function u(e){e.done?o(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}u((r=r.apply(e,t||[])).next())}))}function Ie(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,u])}}}var Pe=Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]};function Te(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||Pe(t,e,n)}function Me(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function je(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}function Fe(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(je(arguments[t]));return e}function Le(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),o=0;for(t=0;t<n;t++)for(var i=arguments[t],a=0,s=i.length;a<s;a++,o++)r[o]=i[a];return r}function De(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}function qe(e){return this instanceof qe?(this.v=e,this):new qe(e)}function Be(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=n.apply(e,t||[]),i=[];return r={},a("next"),a("throw"),a("return"),r[Symbol.asyncIterator]=function(){return this},r;function a(e){o[e]&&(r[e]=function(t){return new Promise((function(n,r){i.push([e,t,n,r])>1||s(e,t)}))})}function s(e,t){try{!function(e){e.value instanceof qe?Promise.resolve(e.value.v).then(u,c):l(i[0][2],e)}(o[e](t))}catch(e){l(i[0][3],e)}}function u(e){s("next",e)}function c(e){s("throw",e)}function l(e,t){e(t),i.shift(),i.length&&s(i[0][0],i[0][1])}}function Ue(e){var t,n;return t={},r("next"),r("throw",(function(e){throw e})),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,o){t[r]=e[r]?function(t){return(n=!n)?{value:qe(e[r](t)),done:!1}:o?o(t):t}:o}}function ze(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=Me(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){!function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)}(r,o,(t=e[n](t)).done,t.value)}))}}}function Ge(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var He=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function We(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&Pe(t,e,n);return He(t,e),t}function Ve(e){return e&&e.__esModule?e:{default:e}}function $e(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function Je(e,t,n,r,o){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?o.call(e,n):o?o.value=n:t.set(e,n),n}function Ke(e,t){if(null===t||"object"!==Z(t)&&"function"!=typeof t)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function Ye(e,t,n){if(null!=t){if("object"!==Z(t)&&"function"!=typeof t)throw new TypeError("Object expected.");var r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");r=t[Symbol.asyncDispose]}if(void 0===r){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");r=t[Symbol.dispose]}if("function"!=typeof r)throw new TypeError("Object not disposable.");e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t}var Ze="function"==typeof SuppressedError?SuppressedError:function(e,t,n){var r=new Error(n);return r.name="SuppressedError",r.error=e,r.suppressed=t,r};function Xe(e){function t(t){e.error=e.hasError?new Ze(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}return function n(){for(;e.stack.length;){var r=e.stack.pop();try{var o=r.dispose&&r.dispose.call(r.value);if(r.async)return Promise.resolve(o).then(n,(function(e){return t(e),n()}))}catch(e){t(e)}}if(e.hasError)throw e.error}()}var Qe={__proto__:null,__extends:ke,get __assign(){return Ee},__rest:Ae,__decorate:Ce,__param:Oe,__esDecorate:function(e,t,n,r,o,i){function a(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var s,u=r.kind,c="getter"===u?"get":"setter"===u?"set":"value",l=!t&&e?r.static?e:e.prototype:null,f=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d=!1,h=n.length-1;h>=0;h--){var p={};for(var m in r)p[m]="access"===m?{}:r[m];for(var m in r.access)p.access[m]=r.access[m];p.addInitializer=function(e){if(d)throw new TypeError("Cannot add initializers after decoration has completed");i.push(a(e||null))};var g=(0,n[h])("accessor"===u?{get:f.get,set:f.set}:f[c],p);if("accessor"===u){if(void 0===g)continue;if(null===g||"object"!==Z(g))throw new TypeError("Object expected");(s=a(g.get))&&(f.get=s),(s=a(g.set))&&(f.set=s),(s=a(g.init))&&o.unshift(s)}else(s=a(g))&&("field"===u?o.unshift(s):f[c]=s)}l&&Object.defineProperty(l,r.name,f),d=!0},__runInitializers:function(e,t,n){for(var r=arguments.length>2,o=0;o<t.length;o++)n=r?t[o].call(e,n):t[o].call(e);return r?n:void 0},__propKey:function(e){return"symbol"===Z(e)?e:"".concat(e)},__setFunctionName:function(e,t,n){return"symbol"===Z(t)&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:n?"".concat(n," ",t):t})},__metadata:Re,__awaiter:Ne,__generator:Ie,__createBinding:Pe,__exportStar:Te,__values:Me,__read:je,__spread:Fe,__spreadArrays:Le,__spreadArray:De,__await:qe,__asyncGenerator:Be,__asyncDelegator:Ue,__asyncValues:ze,__makeTemplateObject:Ge,__importStar:We,__importDefault:Ve,__classPrivateFieldGet:$e,__classPrivateFieldSet:Je,__classPrivateFieldIn:Ke,__addDisposableResource:Ye,__disposeResources:Xe,default:{__extends:ke,__assign:Ee,__rest:Ae,__decorate:Ce,__param:Oe,__metadata:Re,__awaiter:Ne,__generator:Ie,__createBinding:Pe,__exportStar:Te,__values:Me,__read:je,__spread:Fe,__spreadArrays:Le,__spreadArray:De,__await:qe,__asyncGenerator:Be,__asyncDelegator:Ue,__asyncValues:ze,__makeTemplateObject:Ge,__importStar:We,__importDefault:Ve,__classPrivateFieldGet:$e,__classPrivateFieldSet:Je,__classPrivateFieldIn:Ke,__addDisposableResource:Ye,__disposeResources:Xe}},et=B(Qe),tt={};Object.defineProperty(tt,"__esModule",{value:!0}),tt.ApolloPlugin=void 0;var nt=function(e){oe(n,e);var t=fe(n);function n(){return ee(this,n),t.apply(this,arguments)}return ne(n,[{key:"apolloInstall",value:function(e){}}]),n}(et.__importDefault(C.default).default);tt.ApolloPlugin=nt;var rt={},ot={},it={};Object.defineProperty(it,"__esModule",{value:!0}),it.changeRegistry=void 0,it.changeRegistry=new(function(){function e(){ee(this,e),this.changes=new Map}return ne(e,[{key:"registerChange",value:function(e,t){if(this.changes.has(e))throw new Error('change type "'.concat(e,'" has already been registered'));this.changes.set(e,t)}},{key:"getChangeType",value:function(e){var t=this.changes.get(e);if(!t)throw new Error('No change constructor registered for "'.concat(e,'"'));return t}}]),e}());var at={};Object.defineProperty(at,"__esModule",{value:!0}),at.Operation=void 0;var st=function(){function e(t,n){var r;ee(this,e),this.logger=null!==(r=null==n?void 0:n.logger)&&void 0!==r?r:console}var t;return ne(e,[{key:"execute",value:(t=Q(Y().mark((function e(t){var n,r;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("Server"!==(n=t.typeName)){e.next=4;break}return r=this.executeOnServer(t),e.abrupt("return",t.pluginsService.evaluateExtensionPoint("".concat(this.typeName,"-transformResults"),r,{operation:this,backend:t}));case 4:if("LocalGFF3"!==n){e.next=6;break}return e.abrupt("return",this.executeOnLocalGFF3(t));case 6:throw new Error("no operation implementation for backend type '".concat(n,"'"));case 7:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}]),e}();at.Operation=st,Object.defineProperty(ot,"__esModule",{value:!0}),ot.Change=void 0,ot.isChange=function(e){return void 0!==e.executeOnClient};var ut=it,ct=function(e){oe(r,e);var t,n=fe(r);function r(){return ee(this,r),n.apply(this,arguments)}return ne(r,[{key:"notification",get:function(){return""}},{key:"execute",value:(t=Q(Y().mark((function e(t){var n;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("LocalGFF3"!==(n=t.typeName)&&"Server"!==n){e.next=3;break}return e.abrupt("return",de(ie(r.prototype),"execute",this).call(this,t));case 3:if("Client"!==n){e.next=5;break}return e.abrupt("return",this.executeOnClient(t));case 5:throw new Error("no change implementation for backend type '".concat(n,"'"));case 6:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}],[{key:"fromJSON",value:function(e,t){return new(ut.changeRegistry.getChangeType(e.typeName))(e,(null==t?void 0:t.logger)&&{logger:t.logger})}}]),r}(at.Operation);ot.Change=ct,Object.defineProperty(rt,"__esModule",{value:!0}),rt.AssemblySpecificChange=void 0,rt.isAssemblySpecificChange=function(e){return(0,lt.isChange)(e)&&void 0!==e.assembly};var lt=ot;rt.AssemblySpecificChange=function(e){oe(n,e);var t=fe(n);function n(e,r){var o;return ee(this,n),(o=t.call(this,e,r)).assembly=e.assembly,o}return ne(n)}(lt.Change);var ft={};Object.defineProperty(ft,"__esModule",{value:!0}),ft.Check=void 0,ft.Check=ne((function e(){ee(this,e)}));var dt={};Object.defineProperty(dt,"__esModule",{value:!0}),dt.checkRegistry=void 0,dt.checkRegistry=new(function(){function e(){ee(this,e),this.checks=new Map}return ne(e,[{key:"registerCheck",value:function(e,t){if(this.checks.has(e))throw new Error('check "'.concat(e,'" has already been registered'));this.checks.set(e,t)}},{key:"getCheck",value:function(e){var t=this.checks.get(e);if(!t)throw new Error('No check constructor registered for "'.concat(e,'"'));return t}},{key:"getChecks",value:function(){return this.checks}}]),e}());var ht={},pt="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function mt(){throw new Error("setTimeout has not been defined")}function gt(){throw new Error("clearTimeout has not been defined")}var yt=mt,vt=gt;function _t(e){if(yt===setTimeout)return setTimeout(e,0);if((yt===mt||!yt)&&setTimeout)return yt=setTimeout,setTimeout(e,0);try{return yt(e,0)}catch(t){try{return yt.call(null,e,0)}catch(t){return yt.call(this,e,0)}}}"function"==typeof pt.setTimeout&&(yt=setTimeout),"function"==typeof pt.clearTimeout&&(vt=clearTimeout);var bt,wt=[],St=!1,xt=-1;function kt(){St&&bt&&(St=!1,bt.length?wt=bt.concat(wt):xt=-1,wt.length&&Et())}function Et(){if(!St){var e=_t(kt);St=!0;for(var t=wt.length;t;){for(bt=wt,wt=[];++xt<t;)bt&&bt[xt].run();xt=-1,t=wt.length}bt=null,St=!1,function(e){if(vt===clearTimeout)return clearTimeout(e);if((vt===gt||!vt)&&clearTimeout)return vt=clearTimeout,clearTimeout(e);try{return vt(e)}catch(t){try{return vt.call(null,e)}catch(t){return vt.call(this,e)}}}(e)}}function At(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];wt.push(new Ct(e,t)),1!==wt.length||St||_t(Et)}function Ct(e,t){this.fun=e,this.array=t}function Ot(){}Ct.prototype.run=function(){this.fun.apply(null,this.array)};var Rt=Ot,Nt=Ot,It=Ot,Pt=Ot,Tt=Ot,Mt=Ot,jt=Ot,Ft=pt.performance||{},Lt=Ft.now||Ft.mozNow||Ft.msNow||Ft.oNow||Ft.webkitNow||function(){return(new Date).getTime()},Dt=new Date,qt={nextTick:At,title:"browser",browser:!0,env:{},argv:[],version:"",versions:{},on:Rt,addListener:Nt,once:It,off:Pt,removeListener:Tt,removeAllListeners:Mt,emit:jt,binding:function(e){throw new Error("process.binding is not supported")},cwd:function(){return"/"},chdir:function(e){throw new Error("process.chdir is not supported")},umask:function(){return 0},hrtime:function(e){var t=.001*Lt.call(Ft),n=Math.floor(t),r=Math.floor(t%1*1e9);return e&&(n-=e[0],(r-=e[1])<0&&(n--,r+=1e9)),[n,r]},platform:"browser",release:{},config:{},uptime:function(){return(new Date-Dt)/1e3}},Bt=[],Ut=[],zt="undefined"!=typeof Uint8Array?Uint8Array:Array,Gt=!1;function Ht(){Gt=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0;t<64;++t)Bt[t]=e[t],Ut[e.charCodeAt(t)]=t;Ut["-".charCodeAt(0)]=62,Ut["_".charCodeAt(0)]=63}function Wt(e,t,n){for(var r,o=[],i=t;i<n;i+=3)o.push(Bt[(r=(e[i]<<16)+(e[i+1]<<8)+e[i+2])>>18&63]+Bt[r>>12&63]+Bt[r>>6&63]+Bt[63&r]);return o.join("")}function Vt(e,t,n,r,o){var i,a,s=8*o-r-1,u=(1<<s)-1,c=u>>1,l=-7,f=n?o-1:0,d=n?-1:1,h=e[t+f];for(f+=d,i=h&(1<<-l)-1,h>>=-l,l+=s;l>0;i=256*i+e[t+f],f+=d,l-=8);for(a=i&(1<<-l)-1,i>>=-l,l+=r;l>0;a=256*a+e[t+f],f+=d,l-=8);if(0===i)i=1-c;else{if(i===u)return a?NaN:Infinity*(h?-1:1);a+=Math.pow(2,r),i-=c}return(h?-1:1)*a*Math.pow(2,i-r)}function $t(e,t,n,r,o,i){var a,s,u,c=8*i-o-1,l=(1<<c)-1,f=l>>1,d=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,h=r?0:i-1,p=r?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||Infinity===t?(s=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),(t+=a+f>=1?d/u:d*Math.pow(2,1-f))*u>=2&&(a++,u/=2),a+f>=l?(s=0,a=l):a+f>=1?(s=(t*u-1)*Math.pow(2,o),a+=f):(s=t*Math.pow(2,f-1)*Math.pow(2,o),a=0));o>=8;e[n+h]=255&s,h+=p,s/=256,o-=8);for(a=a<<o|s,c+=o;c>0;e[n+h]=255&a,h+=p,a/=256,c-=8);e[n+h-p]|=128*m}var Jt={}.toString,Kt=Array.isArray||function(e){return"[object Array]"==Jt.call(e)};function Yt(){return Xt.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function Zt(e,t){if(Yt()<t)throw new RangeError("Invalid typed array length");return Xt.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=Xt.prototype:(null===e&&(e=new Xt(t)),e.length=t),e}function Xt(e,t,n){if(!(Xt.TYPED_ARRAY_SUPPORT||this instanceof Xt))return new Xt(e,t,n);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return tn(this,e)}return Qt(this,e,t,n)}function Qt(e,t,n,r){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,r){if(n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");return t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r),Xt.TYPED_ARRAY_SUPPORT?(e=t).__proto__=Xt.prototype:e=nn(e,t),e}(e,t,n,r):"string"==typeof t?function(e,t,n){if("string"==typeof n&&""!==n||(n="utf8"),!Xt.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|an(t,n),o=(e=Zt(e,r)).write(t,n);return o!==r&&(e=e.slice(0,o)),e}(e,t,n):function(e,t){if(on(t)){var n=0|rn(t.length);return 0===(e=Zt(e,n)).length||t.copy(e,0,0,n),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(r=t.length)!=r?Zt(e,0):nn(e,t);if("Buffer"===t.type&&Kt(t.data))return nn(e,t.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function en(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function tn(e,t){if(en(t),e=Zt(e,t<0?0:0|rn(t)),!Xt.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function nn(e,t){var n=t.length<0?0:0|rn(t.length);e=Zt(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function rn(e){if(e>=Yt())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Yt().toString(16)+" bytes");return 0|e}function on(e){return!(null==e||!e._isBuffer)}function an(e,t){if(on(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return Tn(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return Mn(e).length;default:if(r)return Tn(e).length;t=(""+t).toLowerCase(),r=!0}}function sn(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return Sn(this,t,n);case"utf8":case"utf-8":return vn(this,t,n);case"ascii":return bn(this,t,n);case"latin1":case"binary":return wn(this,t,n);case"base64":return yn(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return xn(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function un(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function cn(e,t,n,r,o){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=o?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(o)return-1;n=e.length-1}else if(n<0){if(!o)return-1;n=0}if("string"==typeof t&&(t=Xt.from(t,r)),on(t))return 0===t.length?-1:ln(e,t,n,r,o);if("number"==typeof t)return t&=255,Xt.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):ln(e,[t],n,r,o);throw new TypeError("val must be string, number or Buffer")}function ln(e,t,n,r,o){var i,a=1,s=e.length,u=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;a=2,s/=2,u/=2,n/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(o){var l=-1;for(i=n;i<s;i++)if(c(e,i)===c(t,-1===l?0:i-l)){if(-1===l&&(l=i),i-l+1===u)return l*a}else-1!==l&&(i-=i-l),l=-1}else for(n+u>s&&(n=s-u),i=n;i>=0;i--){for(var f=!0,d=0;d<u;d++)if(c(e,i+d)!==c(t,d)){f=!1;break}if(f)return i}return-1}function fn(e,t,n,r){n=Number(n)||0;var o=e.length-n;r?(r=Number(r))>o&&(r=o):r=o;var i=t.length;if(i%2!=0)throw new TypeError("Invalid hex string");r>i/2&&(r=i/2);for(var a=0;a<r;++a){var s=parseInt(t.substr(2*a,2),16);if(isNaN(s))return a;e[n+a]=s}return a}function dn(e,t,n,r){return jn(Tn(t,e.length-n),e,n,r)}function hn(e,t,n,r){return jn(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function pn(e,t,n,r){return hn(e,t,n,r)}function mn(e,t,n,r){return jn(Mn(t),e,n,r)}function gn(e,t,n,r){return jn(function(e,t){for(var n,r,o=[],i=0;i<e.length&&!((t-=2)<0);++i)r=(n=e.charCodeAt(i))>>8,o.push(n%256),o.push(r);return o}(t,e.length-n),e,n,r)}function yn(e,t,n){return function(e){var t;Gt||Ht();for(var n=e.length,r=n%3,o="",i=[],a=16383,s=0,u=n-r;s<u;s+=a)i.push(Wt(e,s,s+a>u?u:s+a));return 1===r?(o+=Bt[(t=e[n-1])>>2],o+=Bt[t<<4&63],o+="=="):2===r&&(o+=Bt[(t=(e[n-2]<<8)+e[n-1])>>10],o+=Bt[t>>4&63],o+=Bt[t<<2&63],o+="="),i.push(o),i.join("")}(0===t&&n===e.length?e:e.slice(t,n))}function vn(e,t,n){n=Math.min(e.length,n);for(var r=[],o=t;o<n;){var i,a,s,u,c=e[o],l=null,f=c>239?4:c>223?3:c>191?2:1;if(o+f<=n)switch(f){case 1:c<128&&(l=c);break;case 2:128==(192&(i=e[o+1]))&&(u=(31&c)<<6|63&i)>127&&(l=u);break;case 3:a=e[o+2],128==(192&(i=e[o+1]))&&128==(192&a)&&(u=(15&c)<<12|(63&i)<<6|63&a)>2047&&(u<55296||u>57343)&&(l=u);break;case 4:a=e[o+2],s=e[o+3],128==(192&(i=e[o+1]))&&128==(192&a)&&128==(192&s)&&(u=(15&c)<<18|(63&i)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(l=u)}null===l?(l=65533,f=1):l>65535&&(r.push((l-=65536)>>>10&1023|55296),l=56320|1023&l),r.push(l),o+=f}return function(e){var t=e.length;if(t<=_n)return String.fromCharCode.apply(String,e);for(var n="",r=0;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=_n));return n}(r)}Xt.TYPED_ARRAY_SUPPORT=void 0===pt.TYPED_ARRAY_SUPPORT||pt.TYPED_ARRAY_SUPPORT,Xt.poolSize=8192,Xt._augment=function(e){return e.__proto__=Xt.prototype,e},Xt.from=function(e,t,n){return Qt(null,e,t,n)},Xt.TYPED_ARRAY_SUPPORT&&(Xt.prototype.__proto__=Uint8Array.prototype,Xt.__proto__=Uint8Array),Xt.alloc=function(e,t,n){return function(e,t,n,r){return en(t),t<=0?Zt(e,t):void 0!==n?"string"==typeof r?Zt(e,t).fill(n,r):Zt(e,t).fill(n):Zt(e,t)}(null,e,t,n)},Xt.allocUnsafe=function(e){return tn(null,e)},Xt.allocUnsafeSlow=function(e){return tn(null,e)},Xt.isBuffer=Fn,Xt.compare=function(e,t){if(!on(e)||!on(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,o=0,i=Math.min(n,r);o<i;++o)if(e[o]!==t[o]){n=e[o],r=t[o];break}return n<r?-1:r<n?1:0},Xt.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},Xt.concat=function(e,t){if(!Kt(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return Xt.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=Xt.allocUnsafe(t),o=0;for(n=0;n<e.length;++n){var i=e[n];if(!on(i))throw new TypeError('"list" argument must be an Array of Buffers');i.copy(r,o),o+=i.length}return r},Xt.byteLength=an,Xt.prototype._isBuffer=!0,Xt.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)un(this,t,t+1);return this},Xt.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)un(this,t,t+3),un(this,t+1,t+2);return this},Xt.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)un(this,t,t+7),un(this,t+1,t+6),un(this,t+2,t+5),un(this,t+3,t+4);return this},Xt.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?vn(this,0,e):sn.apply(this,arguments)},Xt.prototype.equals=function(e){if(!on(e))throw new TypeError("Argument must be a Buffer");return this===e||0===Xt.compare(this,e)},Xt.prototype.inspect=function(){var e="";return this.length>0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),"<Buffer "+e+">"},Xt.prototype.compare=function(e,t,n,r,o){if(!on(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),t<0||n>e.length||r<0||o>this.length)throw new RangeError("out of range index");if(r>=o&&t>=n)return 0;if(r>=o)return-1;if(t>=n)return 1;if(this===e)return 0;for(var i=(o>>>=0)-(r>>>=0),a=(n>>>=0)-(t>>>=0),s=Math.min(i,a),u=this.slice(r,o),c=e.slice(t,n),l=0;l<s;++l)if(u[l]!==c[l]){i=u[l],a=c[l];break}return i<a?-1:a<i?1:0},Xt.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},Xt.prototype.indexOf=function(e,t,n){return cn(this,e,t,n,!0)},Xt.prototype.lastIndexOf=function(e,t,n){return cn(this,e,t,n,!1)},Xt.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var o=this.length-t;if((void 0===n||n>o)&&(n=o),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var i=!1;;)switch(r){case"hex":return fn(this,e,t,n);case"utf8":case"utf-8":return dn(this,e,t,n);case"ascii":return hn(this,e,t,n);case"latin1":case"binary":return pn(this,e,t,n);case"base64":return mn(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return gn(this,e,t,n);default:if(i)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),i=!0}},Xt.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var _n=4096;function bn(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;o<n;++o)r+=String.fromCharCode(127&e[o]);return r}function wn(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;o<n;++o)r+=String.fromCharCode(e[o]);return r}function Sn(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var o="",i=t;i<n;++i)o+=Pn(e[i]);return o}function xn(e,t,n){for(var r=e.slice(t,n),o="",i=0;i<r.length;i+=2)o+=String.fromCharCode(r[i]+256*r[i+1]);return o}function kn(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function En(e,t,n,r,o,i){if(!on(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||t<i)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function An(e,t,n,r){t<0&&(t=65535+t+1);for(var o=0,i=Math.min(e.length-n,2);o<i;++o)e[n+o]=(t&255<<8*(r?o:1-o))>>>8*(r?o:1-o)}function Cn(e,t,n,r){t<0&&(t=4294967295+t+1);for(var o=0,i=Math.min(e.length-n,4);o<i;++o)e[n+o]=t>>>8*(r?o:3-o)&255}function On(e,t,n,r,o,i){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function Rn(e,t,n,r,o){return o||On(e,0,n,4),$t(e,t,n,r,23,4),n+4}function Nn(e,t,n,r,o){return o||On(e,0,n,8),$t(e,t,n,r,52,8),n+8}Xt.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e),Xt.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=Xt.prototype;else{var o=t-e;n=new Xt(o,void 0);for(var i=0;i<o;++i)n[i]=this[i+e]}return n},Xt.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||kn(e,t,this.length);for(var r=this[e],o=1,i=0;++i<t&&(o*=256);)r+=this[e+i]*o;return r},Xt.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||kn(e,t,this.length);for(var r=this[e+--t],o=1;t>0&&(o*=256);)r+=this[e+--t]*o;return r},Xt.prototype.readUInt8=function(e,t){return t||kn(e,1,this.length),this[e]},Xt.prototype.readUInt16LE=function(e,t){return t||kn(e,2,this.length),this[e]|this[e+1]<<8},Xt.prototype.readUInt16BE=function(e,t){return t||kn(e,2,this.length),this[e]<<8|this[e+1]},Xt.prototype.readUInt32LE=function(e,t){return t||kn(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Xt.prototype.readUInt32BE=function(e,t){return t||kn(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Xt.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||kn(e,t,this.length);for(var r=this[e],o=1,i=0;++i<t&&(o*=256);)r+=this[e+i]*o;return r>=(o*=128)&&(r-=Math.pow(2,8*t)),r},Xt.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||kn(e,t,this.length);for(var r=t,o=1,i=this[e+--r];r>0&&(o*=256);)i+=this[e+--r]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*t)),i},Xt.prototype.readInt8=function(e,t){return t||kn(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Xt.prototype.readInt16LE=function(e,t){t||kn(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},Xt.prototype.readInt16BE=function(e,t){t||kn(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},Xt.prototype.readInt32LE=function(e,t){return t||kn(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Xt.prototype.readInt32BE=function(e,t){return t||kn(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Xt.prototype.readFloatLE=function(e,t){return t||kn(e,4,this.length),Vt(this,e,!0,23,4)},Xt.prototype.readFloatBE=function(e,t){return t||kn(e,4,this.length),Vt(this,e,!1,23,4)},Xt.prototype.readDoubleLE=function(e,t){return t||kn(e,8,this.length),Vt(this,e,!0,52,8)},Xt.prototype.readDoubleBE=function(e,t){return t||kn(e,8,this.length),Vt(this,e,!1,52,8)},Xt.prototype.writeUIntLE=function(e,t,n,r){e=+e,t|=0,n|=0,r||En(this,e,t,n,Math.pow(2,8*n)-1,0);var o=1,i=0;for(this[t]=255&e;++i<n&&(o*=256);)this[t+i]=e/o&255;return t+n},Xt.prototype.writeUIntBE=function(e,t,n,r){e=+e,t|=0,n|=0,r||En(this,e,t,n,Math.pow(2,8*n)-1,0);var o=n-1,i=1;for(this[t+o]=255&e;--o>=0&&(i*=256);)this[t+o]=e/i&255;return t+n},Xt.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,1,255,0),Xt.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},Xt.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,2,65535,0),Xt.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):An(this,e,t,!0),t+2},Xt.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,2,65535,0),Xt.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):An(this,e,t,!1),t+2},Xt.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,4,4294967295,0),Xt.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):Cn(this,e,t,!0),t+4},Xt.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,4,4294967295,0),Xt.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Cn(this,e,t,!1),t+4},Xt.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);En(this,e,t,n,o-1,-o)}var i=0,a=1,s=0;for(this[t]=255&e;++i<n&&(a*=256);)e<0&&0===s&&0!==this[t+i-1]&&(s=1),this[t+i]=(e/a>>0)-s&255;return t+n},Xt.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);En(this,e,t,n,o-1,-o)}var i=n-1,a=1,s=0;for(this[t+i]=255&e;--i>=0&&(a*=256);)e<0&&0===s&&0!==this[t+i+1]&&(s=1),this[t+i]=(e/a>>0)-s&255;return t+n},Xt.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,1,127,-128),Xt.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},Xt.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,2,32767,-32768),Xt.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):An(this,e,t,!0),t+2},Xt.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,2,32767,-32768),Xt.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):An(this,e,t,!1),t+2},Xt.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,4,2147483647,-2147483648),Xt.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):Cn(this,e,t,!0),t+4},Xt.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||En(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),Xt.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Cn(this,e,t,!1),t+4},Xt.prototype.writeFloatLE=function(e,t,n){return Rn(this,e,t,!0,n)},Xt.prototype.writeFloatBE=function(e,t,n){return Rn(this,e,t,!1,n)},Xt.prototype.writeDoubleLE=function(e,t,n){return Nn(this,e,t,!0,n)},Xt.prototype.writeDoubleBE=function(e,t,n){return Nn(this,e,t,!1,n)},Xt.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var o,i=r-n;if(this===e&&n<t&&t<r)for(o=i-1;o>=0;--o)e[o+t]=this[o+n];else if(i<1e3||!Xt.TYPED_ARRAY_SUPPORT)for(o=0;o<i;++o)e[o+t]=this[o+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+i),t);return i},Xt.prototype.fill=function(e,t,n,r){if("string"==typeof e){if("string"==typeof t?(r=t,t=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===e.length){var o=e.charCodeAt(0);o<256&&(e=o)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!Xt.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;var i;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(i=t;i<n;++i)this[i]=e;else{var a=on(e)?e:Tn(new Xt(e,r).toString()),s=a.length;for(i=0;i<n-t;++i)this[i+t]=a[i%s]}return this};var In=/[^+\/0-9A-Za-z-_]/g;function Pn(e){return e<16?"0"+e.toString(16):e.toString(16)}function Tn(e,t){var n;t=t||Infinity;for(var r=e.length,o=null,i=[],a=0;a<r;++a){if((n=e.charCodeAt(a))>55295&&n<57344){if(!o){if(n>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&i.push(239,191,189);continue}o=n;continue}if(n<56320){(t-=3)>-1&&i.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(t-=3)>-1&&i.push(239,191,189);if(o=null,n<128){if((t-=1)<0)break;i.push(n)}else if(n<2048){if((t-=2)<0)break;i.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;i.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return i}function Mn(e){return function(e){var t,n,r,o,i,a;Gt||Ht();var s=e.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");a=new zt(3*s/4-(i="="===e[s-2]?2:"="===e[s-1]?1:0)),r=i>0?s-4:s;var u=0;for(t=0,n=0;t<r;t+=4,n+=3)o=Ut[e.charCodeAt(t)]<<18|Ut[e.charCodeAt(t+1)]<<12|Ut[e.charCodeAt(t+2)]<<6|Ut[e.charCodeAt(t+3)],a[u++]=o>>16&255,a[u++]=o>>8&255,a[u++]=255&o;return 2===i?(o=Ut[e.charCodeAt(t)]<<2|Ut[e.charCodeAt(t+1)]>>4,a[u++]=255&o):1===i&&(o=Ut[e.charCodeAt(t)]<<10|Ut[e.charCodeAt(t+1)]<<4|Ut[e.charCodeAt(t+2)]>>2,a[u++]=o>>8&255,a[u++]=255&o),a}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(In,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function jn(e,t,n,r){for(var o=0;o<r&&!(o+n>=t.length||o>=e.length);++o)t[o+n]=e[o];return o}function Fn(e){return null!=e&&(!!e._isBuffer||Ln(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&Ln(e.slice(0,0))}(e))}function Ln(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}for(var Dn=Math.floor(16777215*Math.random()),qn=$n.index=parseInt(16777215*Math.random(),10),Bn=(void 0===qt||"number"!=typeof qt.pid?Math.floor(1e5*Math.random()):qt.pid)%65535,Un=function(){try{return _Buffer}catch(e){try{return Xt}catch(e){return null}}}(),zn=function(e){return!(null==e||!e.constructor||"function"!=typeof e.constructor.isBuffer||!e.constructor.isBuffer(e))},Gn=[],Hn=0;Hn<256;Hn++)Gn[Hn]=(Hn<=15?"0":"")+Hn.toString(16);var Wn=new RegExp("^[0-9a-fA-F]{24}$"),Vn=[];for(Hn=0;Hn<10;)Vn[48+Hn]=Hn++;for(;Hn<16;)Vn[55+Hn]=Vn[87+Hn]=Hn++;function $n(e){if(!(this instanceof $n))return new $n(e);if(e&&(e instanceof $n||"ObjectID"===e._bsontype))return e;if(this._bsontype="ObjectID",null!=e&&"number"!=typeof e){var t=$n.isValid(e);if(!t&&null!=e)throw new Error("Argument passed in must be a single String of 12 bytes or a string of 24 hex characters");if(t&&"string"==typeof e&&24===e.length)return $n.createFromHexString(e);if(null==e||12!==e.length){if(null!=e&&"function"==typeof e.toHexString)return e;throw new Error("Argument passed in must be a single String of 12 bytes or a string of 24 hex characters")}this.id=e}else this.id=this.generate(e)}var Jn=$n;$n.default=$n,$n.createFromTime=function(e){return new $n(function(e,t){return 8===(t=t.toString(16)).length?t:"00000000".substring(t.length,8)+t}(0,e=parseInt(e,10)%4294967295)+"0000000000000000")},$n.createFromHexString=function(e){if(void 0===e||null!=e&&24!==e.length)throw new Error("Argument passed in must be a single String of 12 bytes or a string of 24 hex characters");for(var t="",n=0;n<24;)t+=String.fromCharCode(Vn[e.charCodeAt(n++)]<<4|Vn[e.charCodeAt(n++)]);return new $n(t)},$n.isValid=function(e){return null!=e&&("number"==typeof e||("string"==typeof e?12===e.length||24===e.length&&Wn.test(e):e instanceof $n||(zn(e)?$n.isValid(e.toString("hex")):!("function"!=typeof e.toHexString||!Un||!(e.id instanceof Un||"string"==typeof e.id))&&(12===e.id.length||24===e.id.length&&Wn.test(e.id)))))},$n.prototype={constructor:$n,toHexString:function(){if(!this.id||!this.id.length)throw new Error("invalid ObjectId, ObjectId.id must be either a string or a Buffer, but is ["+JSON.stringify(this.id)+"]");if(24===this.id.length)return this.id;if(zn(this.id))return this.id.toString("hex");for(var e="",t=0;t<this.id.length;t++)e+=Gn[this.id.charCodeAt(t)];return e},equals:function(e){return e instanceof $n?this.toString()===e.toString():"string"==typeof e&&$n.isValid(e)&&12===e.length&&zn(this.id)?e===this.id.toString("binary"):"string"==typeof e&&$n.isValid(e)&&24===e.length?e.toLowerCase()===this.toHexString():"string"==typeof e&&$n.isValid(e)&&12===e.length?e===this.id:!(null==e||!(e instanceof $n||e.toHexString))&&e.toHexString()===this.toHexString()},getTimestamp:function(){var e,t=new Date;return e=zn(this.id)?this.id[3]|this.id[2]<<8|this.id[1]<<16|this.id[0]<<24:this.id.charCodeAt(3)|this.id.charCodeAt(2)<<8|this.id.charCodeAt(1)<<16|this.id.charCodeAt(0)<<24,t.setTime(1e3*Math.floor(e)),t},generate:function(e){"number"!=typeof e&&(e=~~(Date.now()/1e3)),e=parseInt(e,10)%4294967295;var t=qn=(qn+1)%16777215;return String.fromCharCode(e>>24&255,e>>16&255,e>>8&255,255&e,Dn>>16&255,Dn>>8&255,255&Dn,Bn>>8&255,255&Bn,t>>16&255,t>>8&255,255&t)}};var Kn=Symbol&&Symbol.for&&Symbol.for("nodejs.util.inspect.custom")||"inspect";$n.prototype[Kn]=function(){return"ObjectID("+this+")"},$n.prototype.toJSON=$n.prototype.toHexString,$n.prototype.toString=$n.prototype.toHexString,Object.defineProperty(ht,"__esModule",{value:!0}),ht.FeatureChange=void 0,ht.isFeatureChange=function(e){return(0,Zn.isAssemblySpecificChange)(e)&&void 0!==e.changedIds};var Yn=et.__importDefault(Jn),Zn=rt,Xn=function(e){oe(n,e);var t=fe(n);function n(e,r){var o;return ee(this,n),(o=t.call(this,e,r)).changedIds=e.changedIds,o}return ne(n,[{key:"getFeatureFromId",value:function(e,t){var n,r,o,i,a=this.logger;if(null===(n=a.verbose)||void 0===n||n.call(a,"Entry=".concat(JSON.stringify(e))),e._id.equals(t))return null===(r=a.debug)||void 0===r||r.call(a,"Top level featureId matches in the object ".concat(JSON.stringify(e))),e;null===(o=a.debug)||void 0===o||o.call(a,"FeatureId was not found on top level so lets make recursive call...");var s,u=we(null!==(i=e.children)&&void 0!==i?i:new Map);try{for(u.s();!(s=u.n()).done;){var c=he(s.value,2),l=this.getFeatureFromId(c[1],t);if(l)return l}}catch(e){u.e(e)}finally{u.f()}return null}},{key:"getChildFeatureIds",value:function(e){if(!e.children)return[];var t,n=[],r=we((e.children instanceof Map?e.children:new Map(Object.entries(e.children)))||new Map);try{for(r.s();!(t=r.n()).done;){var o=he(t.value,2);n.push.apply(n,[o[0]].concat(me(this.getChildFeatureIds(o[1]))))}}catch(e){r.e(e)}finally{r.f()}return n}},{key:"generateNewIds",value:function(e,t){var n=(new Yn.default).toHexString();t.push(n);var r={};if(e.children)for(var o=0,i=Object.values(e.children);o<i.length;o++){var a=this.generateNewIds(i[o],t);r[a._id]=a}var s="string"==typeof e.refSeq?e.refSeq:e.refSeq.toHexString();return K(K({},e),{},{refSeq:s,children:e.children&&r,_id:n})}}]),n}(Zn.AssemblySpecificChange);ht.FeatureChange=Xn;var Qn={};Object.defineProperty(Qn,"__esModule",{value:!0}),Qn.operationRegistry=void 0,Qn.operationRegistry=new(function(){function e(){ee(this,e),this.operations=new Map}return ne(e,[{key:"registerOperation",value:function(e,t){if(this.operations.has(e))throw new Error('operation type "'.concat(e,'" has already been registered'));this.operations.set(e,t)}},{key:"getOperationType",value:function(e){var t=this.operations.get(e);if(!t)throw new Error('No operation constructor registered for "'.concat(e,'"'));return t}}]),e}());var er={};Object.defineProperty(er,"__esModule",{value:!0}),er.Validation=void 0,er.isContext=function(e){return"context"in e&&"reflector"in e};var tr=function(){function e(){ee(this,e)}var t,n,r,o,i;return ne(e,[{key:"frontendPreValidate",value:(i=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"frontendPostValidate",value:(o=Q(Y().mark((function e(t,n){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return o.apply(this,arguments)})},{key:"backendPreValidate",value:(r=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"backendPostValidate",value:(n=Q(Y().mark((function e(t,n){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"possibleValues",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",void 0);case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),e}();er.Validation=tr,function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=et;t.__exportStar(tt,e),t.__exportStar(rt,e),t.__exportStar(ot,e),t.__exportStar(it,e),t.__exportStar(ft,e),t.__exportStar(dt,e),t.__exportStar(ht,e),t.__exportStar(at,e),t.__exportStar(Qn,e),t.__exportStar(er,e)}(z);var nr={},rr={},or={},ir={},ar={},sr={};Object.defineProperty(sr,"__esModule",{value:!0}),sr.ApolloPlugin=void 0;var ur=function(e){oe(n,e);var t=fe(n);function n(){return ee(this,n),t.apply(this,arguments)}return ne(n,[{key:"apolloInstall",value:function(e){}}]),n}(et.__importDefault(C.default).default);sr.ApolloPlugin=ur;var cr={},lr={},fr={};Object.defineProperty(fr,"__esModule",{value:!0}),fr.changeRegistry=void 0,fr.changeRegistry=new(function(){function e(){ee(this,e),this.changes=new Map}return ne(e,[{key:"registerChange",value:function(e,t){if(this.changes.has(e))throw new Error('change type "'.concat(e,'" has already been registered'));this.changes.set(e,t)}},{key:"getChangeType",value:function(e){var t=this.changes.get(e);if(!t)throw new Error('No change constructor registered for "'.concat(e,'"'));return t}}]),e}());var dr={};Object.defineProperty(dr,"__esModule",{value:!0}),dr.Operation=void 0;var hr=function(){function e(t,n){var r;ee(this,e),this.logger=null!==(r=null==n?void 0:n.logger)&&void 0!==r?r:console}var t;return ne(e,[{key:"execute",value:(t=Q(Y().mark((function e(t){var n,r;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("Server"!==(n=t.typeName)){e.next=4;break}return r=this.executeOnServer(t),e.abrupt("return",t.pluginsService.evaluateExtensionPoint("".concat(this.typeName,"-transformResults"),r,{operation:this,backend:t}));case 4:if("LocalGFF3"!==n){e.next=6;break}return e.abrupt("return",this.executeOnLocalGFF3(t));case 6:throw new Error("no operation implementation for backend type '".concat(n,"'"));case 7:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}]),e}();dr.Operation=hr,Object.defineProperty(lr,"__esModule",{value:!0}),lr.Change=void 0,lr.isChange=function(e){return void 0!==e.executeOnClient};var pr=fr,mr=function(e){oe(r,e);var t,n=fe(r);function r(){return ee(this,r),n.apply(this,arguments)}return ne(r,[{key:"notification",get:function(){return""}},{key:"execute",value:(t=Q(Y().mark((function e(t){var n;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("LocalGFF3"!==(n=t.typeName)&&"Server"!==n){e.next=3;break}return e.abrupt("return",de(ie(r.prototype),"execute",this).call(this,t));case 3:if("Client"!==n){e.next=5;break}return e.abrupt("return",this.executeOnClient(t));case 5:throw new Error("no change implementation for backend type '".concat(n,"'"));case 6:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}],[{key:"fromJSON",value:function(e,t){return new(pr.changeRegistry.getChangeType(e.typeName))(e,(null==t?void 0:t.logger)&&{logger:t.logger})}}]),r}(dr.Operation);lr.Change=mr,Object.defineProperty(cr,"__esModule",{value:!0}),cr.AssemblySpecificChange=void 0,cr.isAssemblySpecificChange=function(e){return(0,gr.isChange)(e)&&void 0!==e.assembly};var gr=lr;cr.AssemblySpecificChange=function(e){oe(n,e);var t=fe(n);function n(e,r){var o;return ee(this,n),(o=t.call(this,e,r)).assembly=e.assembly,o}return ne(n)}(gr.Change);var yr={};Object.defineProperty(yr,"__esModule",{value:!0}),yr.Check=void 0,yr.Check=ne((function e(){ee(this,e)}));var vr={};Object.defineProperty(vr,"__esModule",{value:!0}),vr.checkRegistry=void 0,vr.checkRegistry=new(function(){function e(){ee(this,e),this.checks=new Map}return ne(e,[{key:"registerCheck",value:function(e,t){if(this.checks.has(e))throw new Error('check "'.concat(e,'" has already been registered'));this.checks.set(e,t)}},{key:"getCheck",value:function(e){var t=this.checks.get(e);if(!t)throw new Error('No check constructor registered for "'.concat(e,'"'));return t}},{key:"getChecks",value:function(){return this.checks}}]),e}());var _r={};Object.defineProperty(_r,"__esModule",{value:!0}),_r.FeatureChange=void 0,_r.isFeatureChange=function(e){return(0,wr.isAssemblySpecificChange)(e)&&void 0!==e.changedIds};var br=et.__importDefault(Jn),wr=cr,Sr=function(e){oe(n,e);var t=fe(n);function n(e,r){var o;return ee(this,n),(o=t.call(this,e,r)).changedIds=e.changedIds,o}return ne(n,[{key:"getFeatureFromId",value:function(e,t){var n,r,o,i,a=this.logger;if(null===(n=a.verbose)||void 0===n||n.call(a,"Entry=".concat(JSON.stringify(e))),e._id.equals(t))return null===(r=a.debug)||void 0===r||r.call(a,"Top level featureId matches in the object ".concat(JSON.stringify(e))),e;null===(o=a.debug)||void 0===o||o.call(a,"FeatureId was not found on top level so lets make recursive call...");var s,u=we(null!==(i=e.children)&&void 0!==i?i:new Map);try{for(u.s();!(s=u.n()).done;){var c=he(s.value,2),l=this.getFeatureFromId(c[1],t);if(l)return l}}catch(e){u.e(e)}finally{u.f()}return null}},{key:"getChildFeatureIds",value:function(e){if(!e.children)return[];var t,n=[],r=we((e.children instanceof Map?e.children:new Map(Object.entries(e.children)))||new Map);try{for(r.s();!(t=r.n()).done;){var o=he(t.value,2);n.push.apply(n,[o[0]].concat(me(this.getChildFeatureIds(o[1]))))}}catch(e){r.e(e)}finally{r.f()}return n}},{key:"generateNewIds",value:function(e,t){var n=(new br.default).toHexString();t.push(n);var r={};if(e.children)for(var o=0,i=Object.values(e.children);o<i.length;o++){var a=this.generateNewIds(i[o],t);r[a._id]=a}var s="string"==typeof e.refSeq?e.refSeq:e.refSeq.toHexString();return K(K({},e),{},{refSeq:s,children:e.children&&r,_id:n})}}]),n}(wr.AssemblySpecificChange);_r.FeatureChange=Sr;var xr={};Object.defineProperty(xr,"__esModule",{value:!0}),xr.operationRegistry=void 0,xr.operationRegistry=new(function(){function e(){ee(this,e),this.operations=new Map}return ne(e,[{key:"registerOperation",value:function(e,t){if(this.operations.has(e))throw new Error('operation type "'.concat(e,'" has already been registered'));this.operations.set(e,t)}},{key:"getOperationType",value:function(e){var t=this.operations.get(e);if(!t)throw new Error('No operation constructor registered for "'.concat(e,'"'));return t}}]),e}());var kr={};Object.defineProperty(kr,"__esModule",{value:!0}),kr.Validation=void 0,kr.isContext=function(e){return"context"in e&&"reflector"in e};var Er=function(){function e(){ee(this,e)}var t,n,r,o,i;return ne(e,[{key:"frontendPreValidate",value:(i=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"frontendPostValidate",value:(o=Q(Y().mark((function e(t,n){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return o.apply(this,arguments)})},{key:"backendPreValidate",value:(r=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"backendPostValidate",value:(n=Q(Y().mark((function e(t,n){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"possibleValues",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",void 0);case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),e}();kr.Validation=Er,function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=et;t.__exportStar(sr,e),t.__exportStar(cr,e),t.__exportStar(lr,e),t.__exportStar(fr,e),t.__exportStar(yr,e),t.__exportStar(vr,e),t.__exportStar(_r,e),t.__exportStar(dr,e),t.__exportStar(xr,e),t.__exportStar(kr,e)}(ar);var Ar={},Cr={};Object.defineProperty(Cr,"__esModule",{value:!0}),Cr.annotationFeatureToGFF3=Rr;var Or=O.default;function Rr(e,t,n){var r,o,i,a=JSON.parse(JSON.stringify(e.attributes)),s=[],u=null!==(r=null===(o=e.attributes)||void 0===o||null===(o=o.gff_source)||void 0===o?void 0:o[0])&&void 0!==r?r:null;delete a.gff_source,t&&(a.Parent=[t]),a.gff_id?(a.ID=a.gff_id,delete a.gff_id):e.children&&(a.ID=[e._id]),a.gff_name&&(a.Name=a.gff_name,delete a.gff_name),a.gff_alias&&(a.Alias=a.gff_alias,delete a.gff_alias),a.gff_target&&(a.Target=a.gff_target,delete a.gff_target),a.gff_gap&&(a.Gap=a.gff_gap,delete a.gff_gap),a.gff_derives_from&&(a.Derives_from=a.gff_derives_from,delete a.gff_derives_from),a.gff_note&&(a.Note=a.gff_note,delete a.gff_note),a.gff_dbxref&&(a.Dbxref=a.gff_dbxref,delete a.gff_dbxref),a.gff_is_circular&&(a.Is_circular=a.gff_is_circular,delete a.gff_is_circular),a.gff_ontology_term&&(s.push.apply(s,me(a.gff_ontology_term)),delete a.gff_ontology_term),a["Gene Ontology"]&&(s.push.apply(s,me(a["Gene Ontology"])),delete a["Gene Ontology"]),a["Sequence Ontology"]&&(s.push.apply(s,me(a["Sequence Ontology"])),delete a["Sequence Ontology"]),s.length>0&&(a.Ontology_term=s);var c=null===(i=e.attributes)||void 0===i?void 0:i.gff_score,l=null;return c&&c.length>0&&(c[0]&&(l=Number(c[0]),Number.isNaN(l)&&(l=null)),delete a.gff_score),[{start:e.min,end:e.max}].map((function(t){var r,o;return{start:Number(t.start)+1,end:Number(t.end),seq_id:n?null!==(r=n[e.refSeq])&&void 0!==r?r:null:e.refSeq,source:u,type:e.type,score:l,strand:e.strand?1===e.strand?"+":"-":null,phase:null,attributes:Object.keys(a).length>0?a:null,derived_features:[],child_features:Nr(e,null===(o=a.ID)||void 0===o?void 0:o[0],n)}}))}function Nr(e,t,n){if(!e.children)return[];if("mRNA"===e.type){for(var r=[],o=function(e){var t=function(e){if("mRNA"!==e.type)throw new Error('Only features of type "mRNA" or equivalent can calculate CDS locations');if(!e.children)throw new Error("no CDS or exons in mRNA");var t=Object.values(e.children),n=t.filter((function(e){return"CDS"===e.type}));if(0===n.length)throw new Error("no CDS in mRNA");var r,o=[],i=we(n);try{var a=function(){for(var n=r.value,i=n.max,a=n.min,s=[],u=!1,c=[],l=0,f=t;l<f.length;l++){var d=f[l];"exon"===d.type&&c.push({min:d.min,max:d.max})}c.sort((function(e,t){return e.min-t.min}));for(var h=0,p=c;h<p.length;h++){var m=p[h],g=s.at(-1);g&&s.push({min:g.max,max:m.min,type:"intron"});var y,v=he((0,Or.intersection2)(a,i,m.min,m.max),2),_=v[0],b=v[1];y=u?1===e.strand?"threePrimeUTR":"fivePrimeUTR":1===e.strand?"fivePrimeUTR":"threePrimeUTR",void 0!==_&&void 0!==b?(u=!0,_===m.min&&b===m.max?s.push({min:_,max:b,phase:0,type:"CDS"}):_===m.min?s.push({min:_,max:b,phase:0,type:"CDS"},{min:b,max:m.max,type:y}):b===m.max?s.push({min:m.min,max:_,type:y},{min:_,max:b,phase:0,type:"CDS"}):s.push({min:m.min,max:_,type:y},{min:_,max:b,phase:0,type:"CDS"},{min:b,max:m.max,type:"fivePrimeUTR"===y?"threePrimeUTR":"fivePrimeUTR"})):s.push({min:m.min,max:m.max,type:y})}s.sort((function(e,t){return e.min-t.min})),-1===e.strand&&s.reverse();var w=0,S=s.map((function(e){if("CDS"!==e.type)return e;var t=w;return w=(3-(e.max-e.min-t+3)%3)%3,K(K({},e),{},{phase:t})}));o.push(S)};for(i.s();!(r=i.n()).done;)a()}catch(e){i.e(e)}finally{i.f()}return o}(e);return t.map((function(e){return e.filter((function(e){return"CDS"===e.type}))}))}(e),i=0,a=0,s=Object.values(e.children);a<s.length;a++){var u=s[a],c=Rr(u,t,n);if("CDS"===u.type){var l,f=we(o[i]);try{for(f.s();!(l=f.n()).done;){var d=l.value,h=JSON.parse(JSON.stringify(c));if(1!=h.length)throw new Error("Unexpected CDS: ".concat(JSON.stringify(h,null,2)));h[0].start=d.min+1,h[0].end=d.max,h[0].phase=d.phase.toString(),h[0].type=d.type,r.push(h)}}catch(e){f.e(e)}finally{f.f()}i++}else r.push(c)}return r}return Object.values(e.children).map((function(e){return Rr(e,t,n)}))}var Ir={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.internalToGFF=e.gffToInternal=void 0,e.isGFFReservedAttribute=function(t){return t in e.gffToInternal},e.gffToInternal={ID:"gff_id",Name:"gff_name",Alias:"gff_alias",Parent:"gff_parent",Target:"gff_target",Gap:"gff_gap",Derives_from:"gff_derives_from",Note:"gff_note",Dbxref:"gff_dbxref",Ontology_term:"gff_ontology_term",Is_circular:"gff_is_circular"},e.internalToGFF={gff_id:"ID",gff_name:"Name",gff_alias:"Alias",gff_parent:"Parent",gff_target:"Target",gff_gap:"Gap",gff_derives_from:"Derives_from",gff_note:"Note",gff_dbxref:"Dbxref",gff_ontology_term:"Ontology_term",gff_is_circular:"Is_circular"}}(Ir);var Pr={};Object.defineProperty(Pr,"__esModule",{value:!0}),Pr.gff3ToAnnotationFeature=function e(t,n,r){var o=he(t,1)[0],i=o.end,a=o.seq_id,s=o.start,u=o.strand,c=o.type;if(!a)throw new Error("feature does not have seq_id: ".concat(JSON.stringify(o)));if(!c)throw new Error("feature does not have type: ".concat(JSON.stringify(o)));if(null===s)throw new Error("feature does not have start: ".concat(JSON.stringify(o)));if(null===i)throw new Error("feature does not have end: ".concat(JSON.stringify(o)));var l=he(function(e){if(e.length>1&&!e.every((function(e){return"CDS"===e.type})))throw new Error("GFF3 features has multiple locations but is not a CDS");var t=e.map((function(e){return e.start})).filter((function(e){return null!==e})),n=e.map((function(e){return e.end})).filter((function(e){return null!==e}));return[Math.min.apply(Math,me(t))-1,Math.max.apply(Math,me(n))]}(t),2),f=l[0],d=l[1],h=function(t,n,r){var o={},i=t.filter((function(e){return e.child_features.length>0}));if(i.length>1)throw new Error("Features with multiple locations may not have children");if(0!==i.length){var a,s=[],u=we(he(i,1)[0].child_features);try{for(u.s();!(a=u.n()).done;){var c=a.value,l=he(c,1)[0];if("three_prime_UTR"!==l.type&&"five_prime_UTR"!==l.type&&"intron"!==l.type&&"start_codon"!==l.type&&"stop_codon"!==l.type)if("CDS"===l.type)s.push(c);else{var f=e(c,n,r);o[f._id]=f}}}catch(e){u.e(e)}finally{u.f()}var d,h=s.length>0?function(t,n,r){var o=t.map((function(e){return e.length}));if(o.some((function(e){return e>1})))return t.map((function(t){return e(t,n,r)}));var i=t.map((function(e){return e[0]})).filter((function(e){return null!==e.start&&null!==e.end})).sort((function(e,t){return e.start-t.start}));if(!i.some((function(e,t){var n=i.at(t+1);return!!n&&(0,Tr.doesIntersect2)(e.start,e.end,n.start,n.end)})))return[e(i,n,r)];var a,s=t.map((function(e){return e[0]})),u=[],c=we(s);try{var l=function(){var e=a.value,t=u.at(-1);if(!t)return u.push([e]),1;t.some((function(t){return(0,Tr.doesIntersect2)(t.start,t.end,e.start,e.end)}))?u.push([e]):t.push(e)};for(c.s();!(a=c.n()).done;)l()}catch(e){c.e(e)}finally{c.f()}return u.map((function(t){return e(t,n,r)}))}(s,n,r):[],p=we(h);try{for(p.s();!(d=p.n()).done;){var m=d.value;o[m._id]=m}}catch(e){p.e(e)}finally{p.f()}return Object.keys(o).length>0?o:void 0}}(t,n,r),p=function(e){var t={},n=e.map((function(e){return e.score})).filter((function(e){return null!==e})),r=e.map((function(e){return e.source})).filter((function(e){return null!==e})),o=e.map((function(e){return e.attributes})).filter((function(e){return null!==e}));if(n.length>0){var i=he(n,1)[0];n.length>1&&(i=n.reduce((function(e,t){return e+t}),0)/n.length),t.gff_score=[String(i)]}if(r.length>0){var a=he(r,1)[0];r.length>1&&(a=me(new Set(r)).join(",")),t.gff_source=[a]}if(o.length>0){var s,u=we(o);try{for(u.s();!(s=u.n()).done;)for(var c=0,l=Object.entries(s.value);c<l.length;c++){var f=he(l[c],2),d=f[0],h=f[1];if(h&&"Parent"!==d){var p=(0,jr.isGFFReservedAttribute)(d)?jr.gffToInternal[d]:d,m=t[p];if(m){var g=new Set([].concat(me(m),me(h)));t[p]=me(g)}else t[p]=h}}}catch(e){u.e(e)}finally{u.f()}}if(Object.keys(t).length>0)return t}(t),m={_id:(new Mr.default).toHexString(),refSeq:null!=n?n:a,type:c,min:f,max:d};if(u)if("+"===u)m.strand=1;else{if("-"!==u)throw new Error('Unknown strand: "'.concat(u,'"'));m.strand=-1}return h&&(m.children=h),p&&(m.attributes=p),r&&r.push(m._id),m};var Tr=O.default,Mr=et.__importDefault(Jn),jr=Ir;!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=et;t.__exportStar(Cr,e),t.__exportStar(Ir,e),t.__exportStar(Pr,e)}(Ar),Object.defineProperty(ir,"__esModule",{value:!0}),ir.FromFileBaseChange=void 0;var Fr=Ar,Lr=function(e){oe(i,e);var t,n,r,o=fe(i);function i(){var e;ee(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return re(le(e=o.call.apply(o,[this].concat(n))),"refSeqCache",new Map),e}return ne(i,[{key:"addRefSeqIntoDb",value:(r=Q(Y().mark((function e(t,n,r){var o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A,C,O,R,N,I,P,T,M,j,F,L,D,q,B,U,z,G,H,V,$,J,Z,X;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=this.logger,a=r.filesService,s=r.refSeqChunkModel,u=r.refSeqModel,c=r.user,f=(l=qt.env.CHUNK_SIZE)&&Number(l),d=0,h=0,m="text/x-gff3"!==t.type,g=a.getFileStream(t),y="",v="",_=!0,b=!1,null===(o=i.debug)||void 0===o||o.call(i,"starting sequence stream"),w=0,S=!1,x=!1,e.prev=16,E=W(g);case 18:return e.next=20,E.next();case 20:if(!(S=!(A=e.sent).done)){e.next=102;break}C=A.value.toString(),_=!C.endsWith("\n"),O=C.split(/\r?\n/),v&&(O[0]="".concat(v).concat(O[0]),v=""),_&&(v=O.pop()||""),R=!1,N=!1,e.prev=29,P=W(O);case 31:return e.next=33,P.next();case 33:if(!(R=!(T=e.sent).done)){e.next=83;break}if(M=T.value,++w%1e6==0&&(null===(j=i.debug)||void 0===j||j.call(i,"Processed ".concat(w," lines"))),m){e.next=40;break}return"##FASTA"===M.trim()&&(m=!0),e.abrupt("continue",80);case 40:if(!(F=/^>\s*(\S+)\s*(.*)/.exec(M))){e.next=66;break}if(b=!0,null===(L=i.debug)||void 0===L||L.call(i,'Reference sequence information line "'.concat(F[0],'"')),""===y){e.next=51;break}if(p){e.next=47;break}throw new Error("No refSeq document found");case 47:return h+=y.length,e.next=50,s.create([{refSeq:p._id,n:d,sequence:y,user:c,status:-1}]);case 50:y="";case 51:return e.next=53,null===(D=p)||void 0===D?void 0:D.updateOne({length:h});case 53:return h=0,d=0,B=F[1].trim(),U=F[2]?F[2].trim():"",e.next=59,u.create([K(K({name:B,description:U,assembly:n,length:0},f?{chunkSize:f}:null),{},{user:c,status:-1})]);case 59:z=he(e.sent,1),G=z[0],null===(q=i.debug)||void 0===q||q.call(i,'Added new refSeq "'.concat(B,'", desc "').concat(U,'", docId "').concat(G._id,'"')),p=G,e.next=80;break;case 66:if(!/\S/.test(M)){e.next=80;break}if(p){e.next=69;break}throw new Error("No refSeq document found");case 69:V=(H=p)._id,$=H.chunkSize,y+=M.replaceAll(/\s/g,"");case 71:if(!(y.length>=$)){e.next=80;break}return J=y.slice(0,$),h+=J.length,e.next=76,s.create([{refSeq:V,n:d,sequence:J,user:c,status:-1}]);case 76:d++,y=y.slice($),e.next=71;break;case 80:R=!1,e.next=31;break;case 83:e.next=89;break;case 85:e.prev=85,e.t0=e.catch(29),N=!0,I=e.t0;case 89:if(e.prev=89,e.prev=90,!R||null==P.return){e.next=94;break}return e.next=94,P.return();case 94:if(e.prev=94,!N){e.next=97;break}throw I;case 97:return e.finish(94);case 98:return e.finish(89);case 99:S=!1,e.next=18;break;case 102:e.next=108;break;case 104:e.prev=104,e.t1=e.catch(16),x=!0,k=e.t1;case 108:if(e.prev=108,e.prev=109,!S||null==E.return){e.next=113;break}return e.next=113,E.return();case 113:if(e.prev=113,!x){e.next=116;break}throw k;case 116:return e.finish(113);case 117:return e.finish(108);case 118:if(b){e.next=120;break}throw new Error("No reference sequences found in file");case 120:if(!y&&!_){e.next=131;break}if(p){e.next=123;break}throw new Error("No refSeq document found");case 123:return _&&(y+=v),h+=y.length,null===(Z=i.verbose)||void 0===Z||Z.call(i,'*** Add the very last chunk to ref seq ("'.concat(p._id,'", index ').concat(d," and total length for ref seq is ").concat(h,'): "').concat(y,'"')),null===(X=i.debug)||void 0===X||X.call(i,"Creating refSeq chunk number ".concat(d,' of "').concat(p._id,'"')),e.next=129,s.create([{refSeq:p._id,n:d,sequence:y,user:c,status:-1}]);case 129:return e.next=131,p.updateOne({length:h});case 131:case"end":return e.stop()}}),e,this,[[16,104,108,118],[29,85,89,99],[90,,94,98],[109,,113,117]])}))),function(e,t,n){return r.apply(this,arguments)})},{key:"removeExistingFeatures",value:(n=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.featureModel,o=t.refSeqModel,i=this.assembly,null===(n=(a=this.logger).debug)||void 0===n||n.call(a,"Removing existing features for assembly = ".concat(i)),e.next=5,o.find({assembly:i}).exec();case 5:s=we(e.sent),e.prev=7,s.s();case 9:if((u=s.n()).done){e.next=15;break}return c=u.value,e.next=13,r.deleteMany({refSeq:c._id});case 13:e.next=9;break;case 15:e.next=20;break;case 17:e.prev=17,e.t0=e.catch(7),s.e(e.t0);case 20:return e.prev=20,s.f(),e.finish(20);case 23:case"end":return e.stop()}}),e,this,[[7,17,20,23]])}))),function(e){return n.apply(this,arguments)})},{key:"addFeatureIntoDb",value:(t=Q(Y().mark((function e(t,n){var r,o,i,a,s,u,c,l,f,d,h;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.featureModel,o=n.refSeqModel,i=n.user,a=this.assembly,s=this.refSeqCache,u=he(t,1),c=u[0].seq_id){e.next=5;break}throw new Error("Valid seq_id not found in feature ".concat(JSON.stringify(t)));case 5:if(l=s.get(c)){e.next=20;break}return e.next=9,o.findOne({assembly:a,name:c}).exec();case 9:if(e.t1=f=e.sent,e.t0=null!==e.t1,!e.t0){e.next=13;break}e.t0=void 0!==f;case 13:if(!e.t0){e.next=17;break}e.t2=f,e.next=18;break;case 17:e.t2=void 0;case 18:(l=e.t2)&&s.set(c,l);case 20:if(l){e.next=22;break}throw new Error('RefSeq was not found by assembly "'.concat(a,'" and seq_id "').concat(c,'" not found'));case 22:return h=(0,Fr.gff3ToAnnotationFeature)(t,l._id,d=[]),e.next=26,r.create([K(K({allIds:d},h),{},{user:i,status:-1})]);case 26:case"end":return e.stop()}}),e,this)}))),function(e,n){return t.apply(this,arguments)})}]),i}(ar.AssemblySpecificChange);ir.FromFileBaseChange=Lr,Object.defineProperty(or,"__esModule",{value:!0}),or.AddAssemblyAndFeaturesFromFileChange=void 0;var Dr=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","AddAssemblyAndFeaturesFromFileChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"notification",get:function(){return'Assembly "'.concat(this.changes[0].assemblyName,'" added successfully. To use it, please refresh the page.')}},{key:"toJSON",value:function(){var e=this.assembly,t=this.changes,n=this.typeName;if(1===t.length){var r=he(t,1)[0];return{typeName:n,assembly:e,assemblyName:r.assemblyName,fileIds:r.fileIds}}return{typeName:n,assembly:e,changes:t}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A,C,O,R;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.assemblyModel,r=t.checkModel,o=t.fileModel,i=t.filesService,a=t.user,s=this.assembly,u=this.logger,c=we(this.changes),e.prev=3,c.s();case 5:if((l=c.n()).done){e.next=71;break}if(g=(m=l.value).assemblyName,y=m.fileIds.fa,qt.env.FILE_UPLOAD_FOLDER){e.next=12;break}throw new Error("No FILE_UPLOAD_FOLDER found in .env file");case 12:return e.next=14,o.findById(y).exec();case 14:if(v=e.sent){e.next=17;break}throw new Error('File "'.concat(y,'" not found in Mongo'));case 17:return null===(f=u.debug)||void 0===f||f.call(u,'FileId "'.concat(y,'", checksum "').concat(v.checksum,'"')),e.next=20,n.findOne({name:g}).exec();case 20:if(!e.sent){e.next=23;break}throw new Error('Assembly "'.concat(g,'" already exists'));case 23:return e.next=25,r.find({default:!0}).exec();case 25:return _=e.sent.map((function(e){return e._id.toHexString()})),e.next=29,n.create([{_id:s,name:g,user:a,status:-1,fileId:y,checks:_}]);case 29:return b=he(e.sent,1),w=b[0],null===(d=u.debug)||void 0===d||d.call(u,'Added new assembly "'.concat(g,'", docId "').concat(w._id.toHexString(),'"')),null===(h=u.debug)||void 0===h||h.call(u,'File type: "'.concat(v.type,'"')),e.next=36,this.addRefSeqIntoDb(v,w._id.toString(),t);case 36:null===(p=u.debug)||void 0===p||p.call(u,'**************** LOOPATAAN KAIKKI FEATURET SEURAAVAKSI File type: "'.concat(v.type,'"')),S=i.parseGFF3(i.getFileStream(v)),x=!1,k=!1,e.prev=40,A=W(S);case 42:return e.next=44,A.next();case 44:if(!(x=!(C=e.sent).done)){e.next=53;break}return R=C.value,null===(O=u.verbose)||void 0===O||O.call(u,"ENTRY=".concat(JSON.stringify(R))),e.next=50,this.addFeatureIntoDb(R,t);case 50:x=!1,e.next=42;break;case 53:e.next=59;break;case 55:e.prev=55,e.t0=e.catch(40),k=!0,E=e.t0;case 59:if(e.prev=59,e.prev=60,!x||null==A.return){e.next=64;break}return e.next=64,A.return();case 64:if(e.prev=64,!k){e.next=67;break}throw E;case 67:return e.finish(64);case 68:return e.finish(59);case 69:e.next=5;break;case 71:e.next=76;break;case 73:e.prev=73,e.t1=e.catch(3),c.e(e.t1);case 76:return e.prev=76,c.f(),e.finish(76);case 79:case"end":return e.stop()}}),e,this,[[3,73,76,79],[40,55,59,69],[60,,64,68]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new i({typeName:this.typeName,changes:this.changes,assembly:this.assembly},{logger:this.logger})}}]),i}(ir.FromFileBaseChange);or.AddAssemblyAndFeaturesFromFileChange=Dr;var qr={},Br={},Ur=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};ee(this,e),this.baseOverrides={},this.url=t;var r=n.fetch||globalThis.fetch.bind(globalThis);if(!r)throw new TypeError("no fetch function supplied, and none found in global environment");n.overrides&&(this.baseOverrides=n.overrides),this.fetchImplementation=r}var t,n,r,o,i,a;return ne(e,[{key:"getBufferFromResponse",value:(a=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("function"!=typeof t.buffer){e.next=4;break}return e.abrupt("return",t.buffer());case 4:if("function"!=typeof t.arrayBuffer){e.next=11;break}return e.next=7,t.arrayBuffer();case 7:return e.abrupt("return",Xt.from(e.sent));case 11:throw new TypeError("invalid HTTP response object, has no buffer method, and no arrayBuffer method");case 12:case"end":return e.stop()}}),e)}))),function(e){return a.apply(this,arguments)})},{key:"fetch",value:(i=Q(Y().mark((function e(t,n){var r;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.fetchImplementation(t,n);case 3:case 12:r=e.sent,e.next=16;break;case 6:if(e.prev=6,e.t0=e.catch(0),!"".concat(e.t0).includes("Failed to fetch")){e.next=15;break}return console.warn("generic-filehandle: refetching ".concat(t," to attempt to work around chrome CORS header caching bug")),e.next=12,this.fetchImplementation(t,K(K({},n),{},{cache:"reload"}));case 15:throw e.t0;case 16:return e.abrupt("return",r);case 17:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(e,t){return i.apply(this,arguments)})},{key:"read",value:(o=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=y.length>1&&void 0!==y[1]?y[1]:0,o=y.length>3&&void 0!==y[3]?y[3]:0,s=void 0===(a=(i=y.length>4&&void 0!==y[4]?y[4]:{}).headers)?{}:a,u=i.signal,l=void 0===(c=i.overrides)?{}:c,(r=y.length>2?y[2]:void 0)<Infinity?s.range="bytes=".concat(o,"-").concat(o+r):Infinity===r&&0!==o&&(s.range="bytes=".concat(o,"-")),f=K(K(K({},this.baseOverrides),l),{},{headers:K(K(K({},s),l.headers),this.baseOverrides.headers),method:"GET",redirect:"follow",mode:"cors",signal:u}),e.next=9,this.fetch(this.url,f);case 9:if((d=e.sent).ok){e.next=12;break}throw new Error("HTTP ".concat(d.status," ").concat(d.statusText," ").concat(this.url));case 12:if((200!==d.status||0!==o)&&206!==d.status){e.next=21;break}return e.next=15,this.getBufferFromResponse(d);case 15:return p=(h=e.sent).copy(t,n,0,Math.min(r,h.length)),m=d.headers.get("content-range"),(g=/\/(\d+)$/.exec(m||""))&&g[1]&&(this._stat={size:parseInt(g[1],10)}),e.abrupt("return",{bytesRead:p,buffer:t});case 21:if(200!==d.status){e.next=23;break}throw new Error("${this.url} fetch returned status 200, expected 206");case 23:throw new Error("HTTP ".concat(d.status," fetching ").concat(this.url));case 24:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"readFile",value:(r=Q(Y().mark((function e(){var t,n,r,o,i,a,s,u,c,l=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return"string"==typeof(t=l.length>0&&void 0!==l[0]?l[0]:{})?(n=t,r={}):(n=t.encoding,delete(r=t).encoding),s=void 0===(a=(o=r).overrides)?{}:a,u=K(K({headers:void 0===(i=o.headers)?{}:i,method:"GET",redirect:"follow",mode:"cors",signal:o.signal},this.baseOverrides),s),e.next=6,this.fetch(this.url,u);case 6:if(c=e.sent){e.next=9;break}throw new Error("generic-filehandle failed to fetch");case 9:if(200===c.status){e.next=11;break}throw Object.assign(new Error("HTTP ".concat(c.status," fetching ").concat(this.url)),{status:c.status});case 11:if("utf8"!==n){e.next=13;break}return e.abrupt("return",c.text());case 13:if(!n){e.next=15;break}throw new Error("unsupported encoding: ".concat(n));case 15:return e.abrupt("return",this.getBufferFromResponse(c));case 16:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"stat",value:(n=Q(Y().mark((function e(){var t;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._stat){e.next=6;break}return t=Xt.allocUnsafe(10),e.next=4,this.read(t,0,10,0);case 4:if(this._stat){e.next=6;break}throw new Error("unable to determine size of file at ".concat(this.url));case 6:return e.abrupt("return",this._stat);case 7:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"close",value:(t=Q(Y().mark((function e(){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return");case 1:case"end":return e.stop()}}),e)}))),function(){return t.apply(this,arguments)})}]),e}();function zr(e){var t=new FileReader;return new Promise((function(n,r){t.onerror=function(){t.abort(),r(new Error("problem reading blob"))},t.onabort=function(){r(new Error("blob reading was aborted"))},t.onload=function(){t.result&&"string"!=typeof t.result?n(t.result):r(new Error("unknown error reading blob"))},t.readAsArrayBuffer(e)}))}function Gr(e){var t=new FileReader;return new Promise((function(n,r){t.onerror=function(){t.abort(),r(new Error("problem reading blob"))},t.onabort=function(){r(new Error("blob reading was aborted"))},t.onload=function(){t.result&&"string"==typeof t.result?n(t.result):r(new Error("unknown error reading blob"))},t.readAsText(e)}))}var Hr=function(){function e(t){ee(this,e),this.blob=t,this.size=t.size}var t,n,r,o;return ne(e,[{key:"read",value:(o=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=c.length>1&&void 0!==c[1]?c[1]:0,o=c.length>3&&void 0!==c[3]?c[3]:0,r=c.length>2?c[2]:void 0){e.next=5;break}return e.abrupt("return",{bytesRead:0,buffer:t});case 5:return a=(i=o)+r,e.next=9,zr(this.blob.slice(i,a));case 9:return s=Xt.from(e.sent),u=s.copy(t,n),e.abrupt("return",{bytesRead:u,buffer:s});case 13:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"readFile",value:(r=Q(Y().mark((function e(t){var n;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("utf8"!==(n="string"==typeof t?t:t&&t.encoding)){e.next=3;break}return e.abrupt("return",Gr(this.blob));case 3:if(!n){e.next=5;break}throw new Error("unsupported encoding: ".concat(n));case 5:return e.next=7,zr(this.blob);case 7:return e.abrupt("return",Xt.from(e.sent));case 9:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"stat",value:(n=Q(Y().mark((function e(){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{size:this.size});case 1:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"close",value:(t=Q(Y().mark((function e(){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return");case 1:case"end":return e.stop()}}),e)}))),function(){return t.apply(this,arguments)})}]),e}();function Wr(e){return new Ur(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{})}var Vr={__proto__:null,open:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(void 0!==n)return n;if(void 0!==e)return Wr(e,r);if(void 0!==t)return new Br(t,r);throw new Error("no url, path, or filehandle provided, cannot open")},fromUrl:Wr,RemoteFile:Ur,LocalFile:Br,BlobFile:Hr},$r={};!function(e){var t="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function n(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if("object"!==Z(r))throw new TypeError(r+"must be non-object");for(var o in r)n(r,o)&&(e[o]=r[o])}}return e},e.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var r={arraySet:function(e,t,n,r,o){if(t.subarray&&e.subarray)e.set(t.subarray(n,n+r),o);else for(var i=0;i<r;i++)e[o+i]=t[n+i]},flattenChunks:function(e){var t,n,r,o,i,a;for(r=0,t=0,n=e.length;t<n;t++)r+=e[t].length;for(a=new Uint8Array(r),o=0,t=0,n=e.length;t<n;t++)a.set(i=e[t],o),o+=i.length;return a}},o={arraySet:function(e,t,n,r,o){for(var i=0;i<r;i++)e[o+i]=t[n+i]},flattenChunks:function(e){return[].concat.apply([],e)}};e.setTyped=function(t){t?(e.Buf8=Uint8Array,e.Buf16=Uint16Array,e.Buf32=Int32Array,e.assign(e,r)):(e.Buf8=Array,e.Buf16=Array,e.Buf32=Array,e.assign(e,o))},e.setTyped(t)}($r);var Jr={},Kr={},Yr={},Zr=$r;function Xr(e){for(var t=e.length;--t>=0;)e[t]=0}var Qr=15,eo=16,to=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],no=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],ro=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],oo=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],io=new Array(576);Xr(io);var ao=new Array(60);Xr(ao);var so=new Array(512);Xr(so);var uo=new Array(256);Xr(uo);var co=new Array(29);Xr(co);var lo,fo,ho,po=new Array(30);function mo(e,t,n,r,o){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=o,this.has_stree=e&&e.length}function go(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function yo(e){return e<256?so[e]:so[256+(e>>>7)]}function vo(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function _o(e,t,n){e.bi_valid>eo-n?(e.bi_buf|=t<<e.bi_valid&65535,vo(e,e.bi_buf),e.bi_buf=t>>eo-e.bi_valid,e.bi_valid+=n-eo):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)}function bo(e,t,n){_o(e,n[2*t],n[2*t+1])}function wo(e,t){var n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1}function So(e,t,n){var r,o,i=new Array(Qr+1),a=0;for(r=1;r<=Qr;r++)i[r]=a=a+n[r-1]<<1;for(o=0;o<=t;o++){var s=e[2*o+1];0!==s&&(e[2*o]=wo(i[s]++,s))}}function xo(e){var t;for(t=0;t<286;t++)e.dyn_ltree[2*t]=0;for(t=0;t<30;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function ko(e){e.bi_valid>8?vo(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function Eo(e,t,n,r){var o=2*t,i=2*n;return e[o]<e[i]||e[o]===e[i]&&r[t]<=r[n]}function Ao(e,t,n){for(var r=e.heap[n],o=n<<1;o<=e.heap_len&&(o<e.heap_len&&Eo(t,e.heap[o+1],e.heap[o],e.depth)&&o++,!Eo(t,r,e.heap[o],e.depth));)e.heap[n]=e.heap[o],n=o,o<<=1;e.heap[n]=r}function Co(e,t,n){var r,o,i,a,s=0;if(0!==e.last_lit)do{r=e.pending_buf[e.d_buf+2*s]<<8|e.pending_buf[e.d_buf+2*s+1],o=e.pending_buf[e.l_buf+s],s++,0===r?bo(e,o,t):(bo(e,(i=uo[o])+256+1,t),0!==(a=to[i])&&_o(e,o-=co[i],a),bo(e,i=yo(--r),n),0!==(a=no[i])&&_o(e,r-=po[i],a))}while(s<e.last_lit);bo(e,256,t)}function Oo(e,t){var n,r,o,i=t.dyn_tree,a=t.stat_desc.static_tree,s=t.stat_desc.has_stree,u=t.stat_desc.elems,c=-1;for(e.heap_len=0,e.heap_max=573,n=0;n<u;n++)0!==i[2*n]?(e.heap[++e.heap_len]=c=n,e.depth[n]=0):i[2*n+1]=0;for(;e.heap_len<2;)i[2*(o=e.heap[++e.heap_len]=c<2?++c:0)]=1,e.depth[o]=0,e.opt_len--,s&&(e.static_len-=a[2*o+1]);for(t.max_code=c,n=e.heap_len>>1;n>=1;n--)Ao(e,i,n);o=u;do{n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Ao(e,i,1),r=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=r,i[2*o]=i[2*n]+i[2*r],e.depth[o]=(e.depth[n]>=e.depth[r]?e.depth[n]:e.depth[r])+1,i[2*n+1]=i[2*r+1]=o,e.heap[1]=o++,Ao(e,i,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var n,r,o,i,a,s,u=t.dyn_tree,c=t.max_code,l=t.stat_desc.static_tree,f=t.stat_desc.has_stree,d=t.stat_desc.extra_bits,h=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(i=0;i<=Qr;i++)e.bl_count[i]=0;for(u[2*e.heap[e.heap_max]+1]=0,n=e.heap_max+1;n<573;n++)(i=u[2*u[2*(r=e.heap[n])+1]+1]+1)>p&&(i=p,m++),u[2*r+1]=i,r>c||(e.bl_count[i]++,a=0,r>=h&&(a=d[r-h]),e.opt_len+=(s=u[2*r])*(i+a),f&&(e.static_len+=s*(l[2*r+1]+a)));if(0!==m){do{for(i=p-1;0===e.bl_count[i];)i--;e.bl_count[i]--,e.bl_count[i+1]+=2,e.bl_count[p]--,m-=2}while(m>0);for(i=p;0!==i;i--)for(r=e.bl_count[i];0!==r;)(o=e.heap[--n])>c||(u[2*o+1]!==i&&(e.opt_len+=(i-u[2*o+1])*u[2*o],u[2*o+1]=i),r--)}}(e,t),So(i,c,e.bl_count)}function Ro(e,t,n){var r,o,i=-1,a=t[1],s=0,u=7,c=4;for(0===a&&(u=138,c=3),t[2*(n+1)+1]=65535,r=0;r<=n;r++)o=a,a=t[2*(r+1)+1],++s<u&&o===a||(s<c?e.bl_tree[2*o]+=s:0!==o?(o!==i&&e.bl_tree[2*o]++,e.bl_tree[32]++):s<=10?e.bl_tree[34]++:e.bl_tree[36]++,s=0,i=o,0===a?(u=138,c=3):o===a?(u=6,c=3):(u=7,c=4))}function No(e,t,n){var r,o,i=-1,a=t[1],s=0,u=7,c=4;for(0===a&&(u=138,c=3),r=0;r<=n;r++)if(o=a,a=t[2*(r+1)+1],!(++s<u&&o===a)){if(s<c)do{bo(e,o,e.bl_tree)}while(0!=--s);else 0!==o?(o!==i&&(bo(e,o,e.bl_tree),s--),bo(e,16,e.bl_tree),_o(e,s-3,2)):s<=10?(bo(e,17,e.bl_tree),_o(e,s-3,3)):(bo(e,18,e.bl_tree),_o(e,s-11,7));s=0,i=o,0===a?(u=138,c=3):o===a?(u=6,c=3):(u=7,c=4)}}Xr(po);var Io=!1;function Po(e,t,n,r){_o(e,0+(r?1:0),3),function(e,t,n,r){ko(e),vo(e,n),vo(e,~n),Zr.arraySet(e.pending_buf,e.window,t,n,e.pending),e.pending+=n}(e,t,n)}Yr._tr_init=function(e){Io||(function(){var e,t,n,r,o,i=new Array(Qr+1);for(n=0,r=0;r<28;r++)for(co[r]=n,e=0;e<1<<to[r];e++)uo[n++]=r;for(uo[n-1]=r,o=0,r=0;r<16;r++)for(po[r]=o,e=0;e<1<<no[r];e++)so[o++]=r;for(o>>=7;r<30;r++)for(po[r]=o<<7,e=0;e<1<<no[r]-7;e++)so[256+o++]=r;for(t=0;t<=Qr;t++)i[t]=0;for(e=0;e<=143;)io[2*e+1]=8,e++,i[8]++;for(;e<=255;)io[2*e+1]=9,e++,i[9]++;for(;e<=279;)io[2*e+1]=7,e++,i[7]++;for(;e<=287;)io[2*e+1]=8,e++,i[8]++;for(So(io,287,i),e=0;e<30;e++)ao[2*e+1]=5,ao[2*e]=wo(e,5);lo=new mo(io,to,257,286,Qr),fo=new mo(ao,no,0,30,Qr),ho=new mo(new Array(0),ro,0,19,7)}(),Io=!0),e.l_desc=new go(e.dyn_ltree,lo),e.d_desc=new go(e.dyn_dtree,fo),e.bl_desc=new go(e.bl_tree,ho),e.bi_buf=0,e.bi_valid=0,xo(e)},Yr._tr_stored_block=Po,Yr._tr_flush_block=function(e,t,n,r){var o,i,a=0;e.level>0?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,n=4093624447;for(t=0;t<=31;t++,n>>>=1)if(1&n&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<256;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0}(e)),Oo(e,e.l_desc),Oo(e,e.d_desc),a=function(e){var t;for(Ro(e,e.dyn_ltree,e.l_desc.max_code),Ro(e,e.dyn_dtree,e.d_desc.max_code),Oo(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*oo[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),(i=e.static_len+3+7>>>3)<=(o=e.opt_len+3+7>>>3)&&(o=i)):o=i=n+5,n+4<=o&&-1!==t?Po(e,t,n,r):4===e.strategy||i===o?(_o(e,2+(r?1:0),3),Co(e,io,ao)):(_o(e,4+(r?1:0),3),function(e,t,n,r){var o;for(_o(e,t-257,5),_o(e,n-1,5),_o(e,r-4,4),o=0;o<r;o++)_o(e,e.bl_tree[2*oo[o]+1],3);No(e,e.dyn_ltree,t-1),No(e,e.dyn_dtree,n-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),Co(e,e.dyn_ltree,e.dyn_dtree)),xo(e),r&&ko(e)},Yr._tr_tally=function(e,t,n){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&n,e.last_lit++,0===t?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(uo[n]+256+1)]++,e.dyn_dtree[2*yo(t)]++),e.last_lit===e.lit_bufsize-1},Yr._tr_align=function(e){_o(e,2,3),bo(e,256,io),function(e){16===e.bi_valid?(vo(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)};var To=function(e,t,n,r){for(var o=65535&e|0,i=e>>>16&65535|0,a=0;0!==n;){n-=a=n>2e3?2e3:n;do{i=i+(o=o+t[r++]|0)|0}while(--a);o%=65521,i%=65521}return o|i<<16|0};function Mo(){for(var e,t=[],n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t}var jo,Fo=Mo(),Lo=function(e,t,n,r){var o=Fo,i=r+n;e^=-1;for(var a=r;a<i;a++)e=e>>>8^o[255&(e^t[a])];return-1^e},Do={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},qo=$r,Bo=Yr,Uo=To,zo=Lo,Go=Do,Ho=0,Wo=0,Vo=-2,$o=2,Jo=8,Ko=286,Yo=30,Zo=19,Xo=2*Ko+1,Qo=15,ei=3,ti=258,ni=ti+ei+1,ri=42,oi=103,ii=113,ai=666;function si(e,t){return e.msg=Go[t],t}function ui(e){return(e<<1)-(e>4?9:0)}function ci(e){for(var t=e.length;--t>=0;)e[t]=0}function li(e){var t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),0!==n&&(qo.arraySet(e.output,t.pending_buf,t.pending_out,n,e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,0===t.pending&&(t.pending_out=0))}function fi(e,t){Bo._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,li(e.strm)}function di(e,t){e.pending_buf[e.pending++]=t}function hi(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function pi(e,t){var n,r,o=e.max_chain_length,i=e.strstart,a=e.prev_length,s=e.nice_match,u=e.strstart>e.w_size-ni?e.strstart-(e.w_size-ni):0,c=e.window,l=e.w_mask,f=e.prev,d=e.strstart+ti,h=c[i+a-1],p=c[i+a];e.prev_length>=e.good_match&&(o>>=2),s>e.lookahead&&(s=e.lookahead);do{if(c[(n=t)+a]===p&&c[n+a-1]===h&&c[n]===c[i]&&c[++n]===c[i+1]){i+=2,n++;do{}while(c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&i<d);if(r=ti-(d-i),i=d-ti,r>a){if(e.match_start=t,a=r,r>=s)break;h=c[i+a-1],p=c[i+a]}}}while((t=f[t&l])>u&&0!=--o);return a<=e.lookahead?a:e.lookahead}function mi(e){var t,n,r,o,i,a,s,u,c,l,f=e.w_size;do{if(o=e.window_size-e.lookahead-e.strstart,e.strstart>=f+(f-ni)){qo.arraySet(e.window,e.window,f,f,0),e.match_start-=f,e.strstart-=f,e.block_start-=f,t=n=e.hash_size;do{r=e.head[--t],e.head[t]=r>=f?r-f:0}while(--n);t=n=f;do{r=e.prev[--t],e.prev[t]=r>=f?r-f:0}while(--n);o+=f}if(0===e.strm.avail_in)break;if(s=e.window,u=e.strstart+e.lookahead,l=void 0,(l=(a=e.strm).avail_in)>(c=o)&&(l=c),n=0===l?0:(a.avail_in-=l,qo.arraySet(s,a.input,a.next_in,l,u),1===a.state.wrap?a.adler=Uo(a.adler,s,l,u):2===a.state.wrap&&(a.adler=zo(a.adler,s,l,u)),a.next_in+=l,a.total_in+=l,l),e.lookahead+=n,e.lookahead+e.insert>=ei)for(e.ins_h=e.window[i=e.strstart-e.insert],e.ins_h=(e.ins_h<<e.hash_shift^e.window[i+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[i+ei-1])&e.hash_mask,e.prev[i&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=i,i++,e.insert--,!(e.lookahead+e.insert<ei)););}while(e.lookahead<ni&&0!==e.strm.avail_in)}function gi(e,t){var n=65535;for(n>e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(mi(e),0===e.lookahead&&t===Ho)return 1;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var r=e.block_start+n;if((0===e.strstart||e.strstart>=r)&&(e.lookahead=e.strstart-r,e.strstart=r,fi(e,!1),0===e.strm.avail_out))return 1;if(e.strstart-e.block_start>=e.w_size-ni&&(fi(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(fi(e,!0),0===e.strm.avail_out?3:4):(e.strstart>e.block_start&&fi(e,!1),1)}function yi(e,t){for(var n,r;;){if(e.lookahead<ni){if(mi(e),e.lookahead<ni&&t===Ho)return 1;if(0===e.lookahead)break}if(n=0,e.lookahead>=ei&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+ei-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==n&&e.strstart-n<=e.w_size-ni&&(e.match_length=pi(e,n)),e.match_length>=ei)if(r=Bo._tr_tally(e,e.strstart-e.match_start,e.match_length-ei),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=ei){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+ei-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!=--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else r=Bo._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(fi(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<ei-1?e.strstart:ei-1,4===t?(fi(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(fi(e,!1),0===e.strm.avail_out)?1:2}function vi(e,t){for(var n,r,o;;){if(e.lookahead<ni){if(mi(e),e.lookahead<ni&&t===Ho)return 1;if(0===e.lookahead)break}if(n=0,e.lookahead>=ei&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+ei-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=ei-1,0!==n&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-ni&&(e.match_length=pi(e,n),e.match_length<=5&&(1===e.strategy||e.match_length===ei&&e.strstart-e.match_start>4096)&&(e.match_length=ei-1)),e.prev_length>=ei&&e.match_length<=e.prev_length){o=e.strstart+e.lookahead-ei,r=Bo._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-ei),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=o&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+ei-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!=--e.prev_length);if(e.match_available=0,e.match_length=ei-1,e.strstart++,r&&(fi(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if((r=Bo._tr_tally(e,0,e.window[e.strstart-1]))&&fi(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(r=Bo._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<ei-1?e.strstart:ei-1,4===t?(fi(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(fi(e,!1),0===e.strm.avail_out)?1:2}function _i(e,t,n,r,o){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=o}function bi(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Jo,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new qo.Buf16(2*Xo),this.dyn_dtree=new qo.Buf16(2*(2*Yo+1)),this.bl_tree=new qo.Buf16(2*(2*Zo+1)),ci(this.dyn_ltree),ci(this.dyn_dtree),ci(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new qo.Buf16(Qo+1),this.heap=new qo.Buf16(2*Ko+1),ci(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new qo.Buf16(2*Ko+1),ci(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function wi(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=$o,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?ri:ii,e.adler=2===t.wrap?0:1,t.last_flush=Ho,Bo._tr_init(t),Wo):si(e,Vo)}function Si(e){var t,n=wi(e);return n===Wo&&((t=e.state).window_size=2*t.w_size,ci(t.head),t.max_lazy_match=jo[t.level].max_lazy,t.good_match=jo[t.level].good_length,t.nice_match=jo[t.level].nice_length,t.max_chain_length=jo[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=ei-1,t.match_available=0,t.ins_h=0),n}function xi(e,t,n,r,o,i){if(!e)return Vo;var a=1;if(-1===t&&(t=6),r<0?(a=0,r=-r):r>15&&(a=2,r-=16),o<1||o>9||n!==Jo||r<8||r>15||t<0||t>9||i<0||i>4)return si(e,Vo);8===r&&(r=9);var s=new bi;return e.state=s,s.strm=e,s.wrap=a,s.gzhead=null,s.w_bits=r,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=o+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+ei-1)/ei),s.window=new qo.Buf8(2*s.w_size),s.head=new qo.Buf16(s.hash_size),s.prev=new qo.Buf16(s.w_size),s.lit_bufsize=1<<o+6,s.pending_buf_size=4*s.lit_bufsize,s.pending_buf=new qo.Buf8(s.pending_buf_size),s.d_buf=1*s.lit_bufsize,s.l_buf=3*s.lit_bufsize,s.level=t,s.strategy=i,s.method=n,Si(e)}jo=[new _i(0,0,0,0,gi),new _i(4,4,8,4,yi),new _i(4,5,16,8,yi),new _i(4,6,32,32,yi),new _i(4,4,16,16,vi),new _i(8,16,32,32,vi),new _i(8,16,128,128,vi),new _i(8,32,128,256,vi),new _i(32,128,258,1024,vi),new _i(32,258,258,4096,vi)],Kr.deflateInit=function(e,t){return xi(e,t,Jo,15,8,0)},Kr.deflateInit2=xi,Kr.deflateReset=Si,Kr.deflateResetKeep=wi,Kr.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?Vo:(e.state.gzhead=t,Wo):Vo},Kr.deflate=function(e,t){var n,r,o,i;if(!e||!e.state||t>5||t<0)return e?si(e,Vo):Vo;if(r=e.state,!e.output||!e.input&&0!==e.avail_in||r.status===ai&&4!==t)return si(e,0===e.avail_out?-5:Vo);if(r.strm=e,n=r.last_flush,r.last_flush=t,r.status===ri)if(2===r.wrap)e.adler=0,di(r,31),di(r,139),di(r,8),r.gzhead?(di(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),di(r,255&r.gzhead.time),di(r,r.gzhead.time>>8&255),di(r,r.gzhead.time>>16&255),di(r,r.gzhead.time>>24&255),di(r,9===r.level?2:r.strategy>=2||r.level<2?4:0),di(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(di(r,255&r.gzhead.extra.length),di(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(e.adler=zo(e.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69):(di(r,0),di(r,0),di(r,0),di(r,0),di(r,0),di(r,9===r.level?2:r.strategy>=2||r.level<2?4:0),di(r,3),r.status=ii);else{var a=Jo+(r.w_bits-8<<4)<<8;a|=(r.strategy>=2||r.level<2?0:r.level<6?1:6===r.level?2:3)<<6,0!==r.strstart&&(a|=32),a+=31-a%31,r.status=ii,hi(r,a),0!==r.strstart&&(hi(r,e.adler>>>16),hi(r,65535&e.adler)),e.adler=1}if(69===r.status)if(r.gzhead.extra){for(o=r.pending;r.gzindex<(65535&r.gzhead.extra.length)&&(r.pending!==r.pending_buf_size||(r.gzhead.hcrc&&r.pending>o&&(e.adler=zo(e.adler,r.pending_buf,r.pending-o,o)),li(e),o=r.pending,r.pending!==r.pending_buf_size));)di(r,255&r.gzhead.extra[r.gzindex]),r.gzindex++;r.gzhead.hcrc&&r.pending>o&&(e.adler=zo(e.adler,r.pending_buf,r.pending-o,o)),r.gzindex===r.gzhead.extra.length&&(r.gzindex=0,r.status=73)}else r.status=73;if(73===r.status)if(r.gzhead.name){o=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>o&&(e.adler=zo(e.adler,r.pending_buf,r.pending-o,o)),li(e),o=r.pending,r.pending===r.pending_buf_size)){i=1;break}i=r.gzindex<r.gzhead.name.length?255&r.gzhead.name.charCodeAt(r.gzindex++):0,di(r,i)}while(0!==i);r.gzhead.hcrc&&r.pending>o&&(e.adler=zo(e.adler,r.pending_buf,r.pending-o,o)),0===i&&(r.gzindex=0,r.status=91)}else r.status=91;if(91===r.status)if(r.gzhead.comment){o=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>o&&(e.adler=zo(e.adler,r.pending_buf,r.pending-o,o)),li(e),o=r.pending,r.pending===r.pending_buf_size)){i=1;break}i=r.gzindex<r.gzhead.comment.length?255&r.gzhead.comment.charCodeAt(r.gzindex++):0,di(r,i)}while(0!==i);r.gzhead.hcrc&&r.pending>o&&(e.adler=zo(e.adler,r.pending_buf,r.pending-o,o)),0===i&&(r.status=oi)}else r.status=oi;if(r.status===oi&&(r.gzhead.hcrc?(r.pending+2>r.pending_buf_size&&li(e),r.pending+2<=r.pending_buf_size&&(di(r,255&e.adler),di(r,e.adler>>8&255),e.adler=0,r.status=ii)):r.status=ii),0!==r.pending){if(li(e),0===e.avail_out)return r.last_flush=-1,Wo}else if(0===e.avail_in&&ui(t)<=ui(n)&&4!==t)return si(e,-5);if(r.status===ai&&0!==e.avail_in)return si(e,-5);if(0!==e.avail_in||0!==r.lookahead||t!==Ho&&r.status!==ai){var s=2===r.strategy?function(e,t){for(var n;;){if(0===e.lookahead&&(mi(e),0===e.lookahead)){if(t===Ho)return 1;break}if(e.match_length=0,n=Bo._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(fi(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(fi(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(fi(e,!1),0===e.strm.avail_out)?1:2}(r,t):3===r.strategy?function(e,t){for(var n,r,o,i,a=e.window;;){if(e.lookahead<=ti){if(mi(e),e.lookahead<=ti&&t===Ho)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=ei&&e.strstart>0&&(r=a[o=e.strstart-1])===a[++o]&&r===a[++o]&&r===a[++o]){i=e.strstart+ti;do{}while(r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&o<i);e.match_length=ti-(i-o),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=ei?(n=Bo._tr_tally(e,1,e.match_length-ei),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=Bo._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(fi(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(fi(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(fi(e,!1),0===e.strm.avail_out)?1:2}(r,t):jo[r.level].func(r,t);if(3!==s&&4!==s||(r.status=ai),1===s||3===s)return 0===e.avail_out&&(r.last_flush=-1),Wo;if(2===s&&(1===t?Bo._tr_align(r):5!==t&&(Bo._tr_stored_block(r,0,0,!1),3===t&&(ci(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),li(e),0===e.avail_out))return r.last_flush=-1,Wo}return 4!==t?Wo:r.wrap<=0?1:(2===r.wrap?(di(r,255&e.adler),di(r,e.adler>>8&255),di(r,e.adler>>16&255),di(r,e.adler>>24&255),di(r,255&e.total_in),di(r,e.total_in>>8&255),di(r,e.total_in>>16&255),di(r,e.total_in>>24&255)):(hi(r,e.adler>>>16),hi(r,65535&e.adler)),li(e),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?Wo:1)},Kr.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==ri&&69!==t&&73!==t&&91!==t&&t!==oi&&t!==ii&&t!==ai?si(e,Vo):(e.state=null,t===ii?si(e,-3):Wo):Vo},Kr.deflateSetDictionary=function(e,t){var n,r,o,i,a,s,u,c,l=t.length;if(!e||!e.state)return Vo;if(2===(i=(n=e.state).wrap)||1===i&&n.status!==ri||n.lookahead)return Vo;for(1===i&&(e.adler=Uo(e.adler,t,l,0)),n.wrap=0,l>=n.w_size&&(0===i&&(ci(n.head),n.strstart=0,n.block_start=0,n.insert=0),c=new qo.Buf8(n.w_size),qo.arraySet(c,t,l-n.w_size,n.w_size,0),t=c,l=n.w_size),a=e.avail_in,s=e.next_in,u=e.input,e.avail_in=l,e.next_in=0,e.input=t,mi(n);n.lookahead>=ei;){r=n.strstart,o=n.lookahead-(ei-1);do{n.ins_h=(n.ins_h<<n.hash_shift^n.window[r+ei-1])&n.hash_mask,n.prev[r&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=r,r++}while(--o);n.strstart=r,n.lookahead=ei-1,mi(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=ei-1,n.match_available=0,e.next_in=s,e.input=u,e.avail_in=a,n.wrap=i,Wo},Kr.deflateInfo="pako deflate (from Nodeca project)";var ki={},Ei=$r,Ai=!0,Ci=!0;try{String.fromCharCode.apply(null,[0])}catch(e){Ai=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){Ci=!1}for(var Oi=new Ei.Buf8(256),Ri=0;Ri<256;Ri++)Oi[Ri]=Ri>=252?6:Ri>=248?5:Ri>=240?4:Ri>=224?3:Ri>=192?2:1;function Ni(e,t){if(t<65534&&(e.subarray&&Ci||!e.subarray&&Ai))return String.fromCharCode.apply(null,Ei.shrinkBuf(e,t));for(var n="",r=0;r<t;r++)n+=String.fromCharCode(e[r]);return n}Oi[254]=Oi[254]=1,ki.string2buf=function(e){var t,n,r,o,i,a=e.length,s=0;for(o=0;o<a;o++)55296==(64512&(n=e.charCodeAt(o)))&&o+1<a&&56320==(64512&(r=e.charCodeAt(o+1)))&&(n=65536+(n-55296<<10)+(r-56320),o++),s+=n<128?1:n<2048?2:n<65536?3:4;for(t=new Ei.Buf8(s),i=0,o=0;i<s;o++)55296==(64512&(n=e.charCodeAt(o)))&&o+1<a&&56320==(64512&(r=e.charCodeAt(o+1)))&&(n=65536+(n-55296<<10)+(r-56320),o++),n<128?t[i++]=n:n<2048?(t[i++]=192|n>>>6,t[i++]=128|63&n):n<65536?(t[i++]=224|n>>>12,t[i++]=128|n>>>6&63,t[i++]=128|63&n):(t[i++]=240|n>>>18,t[i++]=128|n>>>12&63,t[i++]=128|n>>>6&63,t[i++]=128|63&n);return t},ki.buf2binstring=function(e){return Ni(e,e.length)},ki.binstring2buf=function(e){for(var t=new Ei.Buf8(e.length),n=0,r=t.length;n<r;n++)t[n]=e.charCodeAt(n);return t},ki.buf2string=function(e,t){var n,r,o,i,a=t||e.length,s=new Array(2*a);for(r=0,n=0;n<a;)if((o=e[n++])<128)s[r++]=o;else if((i=Oi[o])>4)s[r++]=65533,n+=i-1;else{for(o&=2===i?31:3===i?15:7;i>1&&n<a;)o=o<<6|63&e[n++],i--;i>1?s[r++]=65533:o<65536?s[r++]=o:(s[r++]=55296|(o-=65536)>>10&1023,s[r++]=56320|1023&o)}return Ni(s,r)},ki.utf8border=function(e,t){var n;for((t=t||e.length)>e.length&&(t=e.length),n=t-1;n>=0&&128==(192&e[n]);)n--;return n<0||0===n?t:n+Oi[e[n]]>t?n:t};var Ii=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0},Pi=Kr,Ti=$r,Mi=ki,ji=Do,Fi=Ii,Li=Object.prototype.toString,Di=0,qi=-1,Bi=0,Ui=8;function zi(e){if(!(this instanceof zi))return new zi(e);this.options=Ti.assign({level:qi,method:Ui,chunkSize:16384,windowBits:15,memLevel:8,strategy:Bi,to:""},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Fi,this.strm.avail_out=0;var n=Pi.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==Di)throw new Error(ji[n]);if(t.header&&Pi.deflateSetHeader(this.strm,t.header),t.dictionary){var r;if(r="string"==typeof t.dictionary?Mi.string2buf(t.dictionary):"[object ArrayBuffer]"===Li.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(n=Pi.deflateSetDictionary(this.strm,r))!==Di)throw new Error(ji[n]);this._dict_set=!0}}function Gi(e,t){var n=new zi(t);if(n.push(e,!0),n.err)throw n.msg||ji[n.err];return n.result}zi.prototype.push=function(e,t){var n,r,o=this.strm,i=this.options.chunkSize;if(this.ended)return!1;r=t===~~t?t:!0===t?4:0,o.input="string"==typeof e?Mi.string2buf(e):"[object ArrayBuffer]"===Li.call(e)?new Uint8Array(e):e,o.next_in=0,o.avail_in=o.input.length;do{if(0===o.avail_out&&(o.output=new Ti.Buf8(i),o.next_out=0,o.avail_out=i),1!==(n=Pi.deflate(o,r))&&n!==Di)return this.onEnd(n),this.ended=!0,!1;0!==o.avail_out&&(0!==o.avail_in||4!==r&&2!==r)||this.onData("string"===this.options.to?Mi.buf2binstring(Ti.shrinkBuf(o.output,o.next_out)):Ti.shrinkBuf(o.output,o.next_out))}while((o.avail_in>0||0===o.avail_out)&&1!==n);return 4===r?(n=Pi.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===Di):2!==r||(this.onEnd(Di),o.avail_out=0,!0)},zi.prototype.onData=function(e){this.chunks.push(e)},zi.prototype.onEnd=function(e){e===Di&&(this.result="string"===this.options.to?this.chunks.join(""):Ti.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},Jr.Deflate=zi,Jr.deflate=Gi,Jr.deflateRaw=function(e,t){return(t=t||{}).raw=!0,Gi(e,t)},Jr.gzip=function(e,t){return(t=t||{}).gzip=!0,Gi(e,t)};var Hi={},Wi={},Vi=$r,$i=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],Ji=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],Ki=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],Yi=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64],Zi=$r,Xi=To,Qi=Lo,ea=function(e,t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A;E=e.input,o=(r=e.next_in)+(e.avail_in-5),A=e.output,a=(i=e.next_out)-(t-e.avail_out),s=i+(e.avail_out-257),u=(n=e.state).dmax,c=n.wsize,l=n.whave,f=n.wnext,d=n.window,h=n.hold,p=n.bits,m=n.lencode,g=n.distcode,y=(1<<n.lenbits)-1,v=(1<<n.distbits)-1;e:do{p<15&&(h+=E[r++]<<p,h+=E[r++]<<(p+=8),p+=8),_=m[h&y];t:for(;;){if(h>>>=b=_>>>24,p-=b,0==(b=_>>>16&255))A[i++]=65535&_;else{if(!(16&b)){if(0==(64&b)){_=m[(65535&_)+(h&(1<<b)-1)];continue t}if(32&b){n.mode=12;break e}e.msg="invalid literal/length code",n.mode=30;break e}w=65535&_,(b&=15)&&(p<b&&(h+=E[r++]<<p,p+=8),w+=h&(1<<b)-1,h>>>=b,p-=b),p<15&&(h+=E[r++]<<p,h+=E[r++]<<(p+=8),p+=8),_=g[h&v];n:for(;;){if(h>>>=b=_>>>24,p-=b,!(16&(b=_>>>16&255))){if(0==(64&b)){_=g[(65535&_)+(h&(1<<b)-1)];continue n}e.msg="invalid distance code",n.mode=30;break e}if(S=65535&_,p<(b&=15)&&(h+=E[r++]<<p,(p+=8)<b&&(h+=E[r++]<<p,p+=8)),(S+=h&(1<<b)-1)>u){e.msg="invalid distance too far back",n.mode=30;break e}if(h>>>=b,p-=b,S>(b=i-a)){if((b=S-b)>l&&n.sane){e.msg="invalid distance too far back",n.mode=30;break e}if(x=0,k=d,0===f){if(x+=c-b,b<w){w-=b;do{A[i++]=d[x++]}while(--b);x=i-S,k=A}}else if(f<b){if(x+=c+f-b,(b-=f)<w){w-=b;do{A[i++]=d[x++]}while(--b);if(x=0,f<w){w-=b=f;do{A[i++]=d[x++]}while(--b);x=i-S,k=A}}}else if(x+=f-b,b<w){w-=b;do{A[i++]=d[x++]}while(--b);x=i-S,k=A}for(;w>2;)A[i++]=k[x++],A[i++]=k[x++],A[i++]=k[x++],w-=3;w&&(A[i++]=k[x++],w>1&&(A[i++]=k[x++]))}else{x=i-S;do{A[i++]=A[x++],A[i++]=A[x++],A[i++]=A[x++],w-=3}while(w>2);w&&(A[i++]=A[x++],w>1&&(A[i++]=A[x++]))}break}}break}}while(r<o&&i<s);h&=(1<<(p-=(w=p>>3)<<3))-1,e.next_in=r-=w,e.next_out=i,e.avail_in=r<o?o-r+5:5-(r-o),e.avail_out=i<s?s-i+257:257-(i-s),n.hold=h,n.bits=p},ta=function(e,t,n,r,o,i,a,s){var u,c,l,f,d,h,p,m,g,y=s.bits,v=0,_=0,b=0,w=0,S=0,x=0,k=0,E=0,A=0,C=0,O=null,R=0,N=new Vi.Buf16(16),I=new Vi.Buf16(16),P=null,T=0;for(v=0;v<=15;v++)N[v]=0;for(_=0;_<r;_++)N[t[n+_]]++;for(S=y,w=15;w>=1&&0===N[w];w--);if(S>w&&(S=w),0===w)return o[i++]=20971520,o[i++]=20971520,s.bits=1,0;for(b=1;b<w&&0===N[b];b++);for(S<b&&(S=b),E=1,v=1;v<=15;v++)if(E<<=1,(E-=N[v])<0)return-1;if(E>0&&(0===e||1!==w))return-1;for(I[1]=0,v=1;v<15;v++)I[v+1]=I[v]+N[v];for(_=0;_<r;_++)0!==t[n+_]&&(a[I[t[n+_]]++]=_);if(0===e?(O=P=a,h=19):1===e?(O=$i,R-=257,P=Ji,T-=257,h=256):(O=Ki,P=Yi,h=-1),C=0,_=0,v=b,d=i,x=S,k=0,l=-1,f=(A=1<<S)-1,1===e&&A>852||2===e&&A>592)return 1;for(;;){p=v-k,a[_]<h?(m=0,g=a[_]):a[_]>h?(m=P[T+a[_]],g=O[R+a[_]]):(m=96,g=0),u=1<<v-k,b=c=1<<x;do{o[d+(C>>k)+(c-=u)]=p<<24|m<<16|g|0}while(0!==c);for(u=1<<v-1;C&u;)u>>=1;if(0!==u?(C&=u-1,C+=u):C=0,_++,0==--N[v]){if(v===w)break;v=t[n+a[_]]}if(v>S&&(C&f)!==l){for(0===k&&(k=S),d+=b,E=1<<(x=v-k);x+k<w&&!((E-=N[x+k])<=0);)x++,E<<=1;if(A+=1<<x,1===e&&A>852||2===e&&A>592)return 1;o[l=C&f]=S<<24|x<<16|d-i|0}}return 0!==C&&(o[d+C]=v-k<<24|64<<16|0),s.bits=S,0},na=0,ra=-2,oa=1,ia=12,aa=30,sa=852,ua=592;function ca(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function la(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Zi.Buf16(320),this.work=new Zi.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function fa(e){var t;return e&&e.state?(e.total_in=e.total_out=(t=e.state).total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=oa,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Zi.Buf32(sa),t.distcode=t.distdyn=new Zi.Buf32(ua),t.sane=1,t.back=-1,na):ra}function da(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,fa(e)):ra}function ha(e,t){var n,r;return e&&e.state?(t<0?(n=0,t=-t):(n=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?ra:(null!==(r=e.state).window&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,da(e))):ra}function pa(e,t){var n,r;return e?(r=new la,e.state=r,r.window=null,(n=ha(e,t))!==na&&(e.state=null),n):ra}var ma,ga,ya=!0;function va(e){if(ya){var t;for(ma=new Zi.Buf32(512),ga=new Zi.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(ta(1,e.lens,0,288,ma,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;ta(2,e.lens,0,32,ga,0,e.work,{bits:5}),ya=!1}e.lencode=ma,e.lenbits=9,e.distcode=ga,e.distbits=5}function _a(e,t,n,r){var o,i=e.state;return null===i.window&&(i.wsize=1<<i.wbits,i.wnext=0,i.whave=0,i.window=new Zi.Buf8(i.wsize)),r>=i.wsize?(Zi.arraySet(i.window,t,n-i.wsize,i.wsize,0),i.wnext=0,i.whave=i.wsize):((o=i.wsize-i.wnext)>r&&(o=r),Zi.arraySet(i.window,t,n-r,o,i.wnext),(r-=o)?(Zi.arraySet(i.window,t,n-r,r,0),i.wnext=r,i.whave=i.wsize):(i.wnext+=o,i.wnext===i.wsize&&(i.wnext=0),i.whave<i.wsize&&(i.whave+=o))),0}Wi.inflateReset=da,Wi.inflateReset2=ha,Wi.inflateResetKeep=fa,Wi.inflateInit=function(e){return pa(e,15)},Wi.inflateInit2=pa,Wi.inflate=function(e,t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A=0,C=new Zi.Buf8(4),O=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return ra;(n=e.state).mode===ia&&(n.mode=13),a=e.next_out,o=e.output,i=e.next_in,r=e.input,c=n.hold,l=n.bits,f=s=e.avail_in,d=u=e.avail_out,x=na;e:for(;;)switch(n.mode){case oa:if(0===n.wrap){n.mode=13;break}for(;l<16;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(2&n.wrap&&35615===c){n.check=0,C[0]=255&c,C[1]=c>>>8&255,n.check=Qi(n.check,C,2,0),c=0,l=0,n.mode=2;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&c)<<8)+(c>>8))%31){e.msg="incorrect header check",n.mode=aa;break}if(8!=(15&c)){e.msg="unknown compression method",n.mode=aa;break}if(l-=4,S=8+(15&(c>>>=4)),0===n.wbits)n.wbits=S;else if(S>n.wbits){e.msg="invalid window size",n.mode=aa;break}n.dmax=1<<S,e.adler=n.check=1,n.mode=512&c?10:ia,c=0,l=0;break;case 2:for(;l<16;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(n.flags=c,8!=(255&n.flags)){e.msg="unknown compression method",n.mode=aa;break}if(57344&n.flags){e.msg="unknown header flags set",n.mode=aa;break}n.head&&(n.head.text=c>>8&1),512&n.flags&&(C[0]=255&c,C[1]=c>>>8&255,n.check=Qi(n.check,C,2,0)),c=0,l=0,n.mode=3;case 3:for(;l<32;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}n.head&&(n.head.time=c),512&n.flags&&(C[0]=255&c,C[1]=c>>>8&255,C[2]=c>>>16&255,C[3]=c>>>24&255,n.check=Qi(n.check,C,4,0)),c=0,l=0,n.mode=4;case 4:for(;l<16;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}n.head&&(n.head.xflags=255&c,n.head.os=c>>8),512&n.flags&&(C[0]=255&c,C[1]=c>>>8&255,n.check=Qi(n.check,C,2,0)),c=0,l=0,n.mode=5;case 5:if(1024&n.flags){for(;l<16;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}n.length=c,n.head&&(n.head.extra_len=c),512&n.flags&&(C[0]=255&c,C[1]=c>>>8&255,n.check=Qi(n.check,C,2,0)),c=0,l=0}else n.head&&(n.head.extra=null);n.mode=6;case 6:if(1024&n.flags&&((h=n.length)>s&&(h=s),h&&(n.head&&(S=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),Zi.arraySet(n.head.extra,r,i,h,S)),512&n.flags&&(n.check=Qi(n.check,r,h,i)),s-=h,i+=h,n.length-=h),n.length))break e;n.length=0,n.mode=7;case 7:if(2048&n.flags){if(0===s)break e;h=0;do{S=r[i+h++],n.head&&S&&n.length<65536&&(n.head.name+=String.fromCharCode(S))}while(S&&h<s);if(512&n.flags&&(n.check=Qi(n.check,r,h,i)),s-=h,i+=h,S)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=8;case 8:if(4096&n.flags){if(0===s)break e;h=0;do{S=r[i+h++],n.head&&S&&n.length<65536&&(n.head.comment+=String.fromCharCode(S))}while(S&&h<s);if(512&n.flags&&(n.check=Qi(n.check,r,h,i)),s-=h,i+=h,S)break e}else n.head&&(n.head.comment=null);n.mode=9;case 9:if(512&n.flags){for(;l<16;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(c!==(65535&n.check)){e.msg="header crc mismatch",n.mode=aa;break}c=0,l=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=ia;break;case 10:for(;l<32;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}e.adler=n.check=ca(c),c=0,l=0,n.mode=11;case 11:if(0===n.havedict)return e.next_out=a,e.avail_out=u,e.next_in=i,e.avail_in=s,n.hold=c,n.bits=l,2;e.adler=n.check=1,n.mode=ia;case ia:if(5===t||6===t)break e;case 13:if(n.last){c>>>=7&l,l-=7&l,n.mode=27;break}for(;l<3;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}switch(n.last=1&c,l-=1,3&(c>>>=1)){case 0:n.mode=14;break;case 1:if(va(n),n.mode=20,6===t){c>>>=2,l-=2;break e}break;case 2:n.mode=17;break;case 3:e.msg="invalid block type",n.mode=aa}c>>>=2,l-=2;break;case 14:for(c>>>=7&l,l-=7&l;l<32;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if((65535&c)!=(c>>>16^65535)){e.msg="invalid stored block lengths",n.mode=aa;break}if(n.length=65535&c,c=0,l=0,n.mode=15,6===t)break e;case 15:n.mode=16;case 16:if(h=n.length){if(h>s&&(h=s),h>u&&(h=u),0===h)break e;Zi.arraySet(o,r,i,h,a),s-=h,i+=h,u-=h,a+=h,n.length-=h;break}n.mode=ia;break;case 17:for(;l<14;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(n.nlen=257+(31&c),l-=5,n.ndist=1+(31&(c>>>=5)),l-=5,n.ncode=4+(15&(c>>>=5)),c>>>=4,l-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=aa;break}n.have=0,n.mode=18;case 18:for(;n.have<n.ncode;){for(;l<3;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}n.lens[O[n.have++]]=7&c,c>>>=3,l-=3}for(;n.have<19;)n.lens[O[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,x=ta(0,n.lens,0,19,n.lencode,0,n.work,k={bits:n.lenbits}),n.lenbits=k.bits,x){e.msg="invalid code lengths set",n.mode=aa;break}n.have=0,n.mode=19;case 19:for(;n.have<n.nlen+n.ndist;){for(;y=(A=n.lencode[c&(1<<n.lenbits)-1])>>>16&255,v=65535&A,!((g=A>>>24)<=l);){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(v<16)c>>>=g,l-=g,n.lens[n.have++]=v;else{if(16===v){for(E=g+2;l<E;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(c>>>=g,l-=g,0===n.have){e.msg="invalid bit length repeat",n.mode=aa;break}S=n.lens[n.have-1],h=3+(3&c),c>>>=2,l-=2}else if(17===v){for(E=g+3;l<E;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}l-=g,S=0,h=3+(7&(c>>>=g)),c>>>=3,l-=3}else{for(E=g+7;l<E;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}l-=g,S=0,h=11+(127&(c>>>=g)),c>>>=7,l-=7}if(n.have+h>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=aa;break}for(;h--;)n.lens[n.have++]=S}}if(n.mode===aa)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=aa;break}if(n.lenbits=9,x=ta(1,n.lens,0,n.nlen,n.lencode,0,n.work,k={bits:n.lenbits}),n.lenbits=k.bits,x){e.msg="invalid literal/lengths set",n.mode=aa;break}if(n.distbits=6,n.distcode=n.distdyn,x=ta(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,k={bits:n.distbits}),n.distbits=k.bits,x){e.msg="invalid distances set",n.mode=aa;break}if(n.mode=20,6===t)break e;case 20:n.mode=21;case 21:if(s>=6&&u>=258){e.next_out=a,e.avail_out=u,e.next_in=i,e.avail_in=s,n.hold=c,n.bits=l,ea(e,d),a=e.next_out,o=e.output,u=e.avail_out,i=e.next_in,r=e.input,s=e.avail_in,c=n.hold,l=n.bits,n.mode===ia&&(n.back=-1);break}for(n.back=0;y=(A=n.lencode[c&(1<<n.lenbits)-1])>>>16&255,v=65535&A,!((g=A>>>24)<=l);){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(y&&0==(240&y)){for(_=g,b=y,w=v;y=(A=n.lencode[w+((c&(1<<_+b)-1)>>_)])>>>16&255,v=65535&A,!(_+(g=A>>>24)<=l);){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}c>>>=_,l-=_,n.back+=_}if(c>>>=g,l-=g,n.back+=g,n.length=v,0===y){n.mode=26;break}if(32&y){n.back=-1,n.mode=ia;break}if(64&y){e.msg="invalid literal/length code",n.mode=aa;break}n.extra=15&y,n.mode=22;case 22:if(n.extra){for(E=n.extra;l<E;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}n.length+=c&(1<<n.extra)-1,c>>>=n.extra,l-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=23;case 23:for(;y=(A=n.distcode[c&(1<<n.distbits)-1])>>>16&255,v=65535&A,!((g=A>>>24)<=l);){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(0==(240&y)){for(_=g,b=y,w=v;y=(A=n.distcode[w+((c&(1<<_+b)-1)>>_)])>>>16&255,v=65535&A,!(_+(g=A>>>24)<=l);){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}c>>>=_,l-=_,n.back+=_}if(c>>>=g,l-=g,n.back+=g,64&y){e.msg="invalid distance code",n.mode=aa;break}n.offset=v,n.extra=15&y,n.mode=24;case 24:if(n.extra){for(E=n.extra;l<E;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}n.offset+=c&(1<<n.extra)-1,c>>>=n.extra,l-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=aa;break}n.mode=25;case 25:if(0===u)break e;if(n.offset>(h=d-u)){if((h=n.offset-h)>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=aa;break}p=h>n.wnext?n.wsize-(h-=n.wnext):n.wnext-h,h>n.length&&(h=n.length),m=n.window}else m=o,p=a-n.offset,h=n.length;h>u&&(h=u),u-=h,n.length-=h;do{o[a++]=m[p++]}while(--h);0===n.length&&(n.mode=21);break;case 26:if(0===u)break e;o[a++]=n.length,u--,n.mode=21;break;case 27:if(n.wrap){for(;l<32;){if(0===s)break e;s--,c|=r[i++]<<l,l+=8}if(e.total_out+=d-=u,n.total+=d,d&&(e.adler=n.check=n.flags?Qi(n.check,o,d,a-d):Xi(n.check,o,d,a-d)),d=u,(n.flags?c:ca(c))!==n.check){e.msg="incorrect data check",n.mode=aa;break}c=0,l=0}n.mode=28;case 28:if(n.wrap&&n.flags){for(;l<32;){if(0===s)break e;s--,c+=r[i++]<<l,l+=8}if(c!==(4294967295&n.total)){e.msg="incorrect length check",n.mode=aa;break}c=0,l=0}n.mode=29;case 29:x=1;break e;case aa:x=-3;break e;case 31:return-4;default:return ra}return e.next_out=a,e.avail_out=u,e.next_in=i,e.avail_in=s,n.hold=c,n.bits=l,(n.wsize||d!==e.avail_out&&n.mode<aa&&(n.mode<27||4!==t))&&_a(e,e.output,e.next_out,d-e.avail_out),d-=e.avail_out,e.total_in+=f-=e.avail_in,e.total_out+=d,n.total+=d,n.wrap&&d&&(e.adler=n.check=n.flags?Qi(n.check,o,d,e.next_out-d):Xi(n.check,o,d,e.next_out-d)),e.data_type=n.bits+(n.last?64:0)+(n.mode===ia?128:0)+(20===n.mode||15===n.mode?256:0),(0===f&&0===d||4===t)&&x===na&&(x=-5),x},Wi.inflateEnd=function(e){if(!e||!e.state)return ra;var t=e.state;return t.window&&(t.window=null),e.state=null,na},Wi.inflateGetHeader=function(e,t){var n;return e&&e.state?0==(2&(n=e.state).wrap)?ra:(n.head=t,t.done=!1,na):ra},Wi.inflateSetDictionary=function(e,t){var n,r=t.length;return e&&e.state?0!==(n=e.state).wrap&&11!==n.mode?ra:11===n.mode&&Xi(1,t,r,0)!==n.check?-3:_a(e,t,r,r)?(n.mode=31,-4):(n.havedict=1,na):ra},Wi.inflateInfo="pako inflate (from Nodeca project)";var ba={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},wa=Wi,Sa=$r,xa=ki,ka=ba,Ea=Do,Aa=Ii,Ca=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1},Oa=Object.prototype.toString;function Ra(e){if(!(this instanceof Ra))return new Ra(e);this.options=Sa.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Aa,this.strm.avail_out=0;var n=wa.inflateInit2(this.strm,t.windowBits);if(n!==ka.Z_OK)throw new Error(Ea[n]);if(this.header=new Ca,wa.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=xa.string2buf(t.dictionary):"[object ArrayBuffer]"===Oa.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=wa.inflateSetDictionary(this.strm,t.dictionary))!==ka.Z_OK))throw new Error(Ea[n])}function Na(e,t){var n=new Ra(t);if(n.push(e,!0),n.err)throw n.msg||Ea[n.err];return n.result}Ra.prototype.push=function(e,t){var n,r,o,i,a,s=this.strm,u=this.options.chunkSize,c=this.options.dictionary,l=!1;if(this.ended)return!1;r=t===~~t?t:!0===t?ka.Z_FINISH:ka.Z_NO_FLUSH,s.input="string"==typeof e?xa.binstring2buf(e):"[object ArrayBuffer]"===Oa.call(e)?new Uint8Array(e):e,s.next_in=0,s.avail_in=s.input.length;do{if(0===s.avail_out&&(s.output=new Sa.Buf8(u),s.next_out=0,s.avail_out=u),(n=wa.inflate(s,ka.Z_NO_FLUSH))===ka.Z_NEED_DICT&&c&&(n=wa.inflateSetDictionary(this.strm,c)),n===ka.Z_BUF_ERROR&&!0===l&&(n=ka.Z_OK,l=!1),n!==ka.Z_STREAM_END&&n!==ka.Z_OK)return this.onEnd(n),this.ended=!0,!1;s.next_out&&(0!==s.avail_out&&n!==ka.Z_STREAM_END&&(0!==s.avail_in||r!==ka.Z_FINISH&&r!==ka.Z_SYNC_FLUSH)||("string"===this.options.to?(o=xa.utf8border(s.output,s.next_out),i=s.next_out-o,a=xa.buf2string(s.output,o),s.next_out=i,s.avail_out=u-i,i&&Sa.arraySet(s.output,s.output,o,i,0),this.onData(a)):this.onData(Sa.shrinkBuf(s.output,s.next_out)))),0===s.avail_in&&0===s.avail_out&&(l=!0)}while((s.avail_in>0||0===s.avail_out)&&n!==ka.Z_STREAM_END);return n===ka.Z_STREAM_END&&(r=ka.Z_FINISH),r===ka.Z_FINISH?(n=wa.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===ka.Z_OK):r!==ka.Z_SYNC_FLUSH||(this.onEnd(ka.Z_OK),s.avail_out=0,!0)},Ra.prototype.onData=function(e){this.chunks.push(e)},Ra.prototype.onEnd=function(e){e===ka.Z_OK&&(this.result="string"===this.options.to?this.chunks.join(""):Sa.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},Hi.Inflate=Ra,Hi.inflate=Na,Hi.inflateRaw=function(e,t){return(t=t||{}).raw=!0,Na(e,t)},Hi.ungzip=Na;var Ia={};(0,$r.assign)(Ia,Jr,Hi,ba);var Pa=Ia;function Ta(e){return Ma.apply(this,arguments)}function Ma(){return Ma=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.prev=0,r=0,o=0,i=[],a=0;case 5:if(u=t.subarray(r),s=new Pa.Inflate,n=s.strm,s.push(u,Pa.Z_SYNC_FLUSH),!s.err){e.next=12;break}throw new Error(s.msg);case 12:r+=n.next_in,i[o]=s.result,a+=i[o].length,o+=1;case 16:if(n.avail_in){e.next=5;break}case 17:for(c=new Uint8Array(a),l=0,f=0;l<i.length;l++)c.set(i[l],f),f+=i[l].length;return e.abrupt("return",Xt.from(c));case 22:if(e.prev=22,e.t0=e.catch(0),!"".concat(e.t0).match(/incorrect header check/)){e.next=26;break}throw new Error("problem decompressing block: incorrect gzip header check");case 26:throw e.t0;case 27:case"end":return e.stop()}}),e,null,[[0,22]])}))),Ma.apply(this,arguments)}var ja=null;try{ja=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch(Su){}function Fa(e,t,n){this.low=0|e,this.high=0|t,this.unsigned=!!n}function La(e){return!0===(e&&e.__isLong__)}function Da(e){var t=Math.clz32(e&-e);return e?31-t:t}Object.defineProperty(Fa.prototype,"__isLong__",{value:!0}),Fa.isLong=La;var qa={},Ba={};function Ua(e,t){var n,r,o;return t?(o=0<=(e>>>=0)&&e<256)&&(r=Ba[e])?r:(n=Ga(e,0,!0),o&&(Ba[e]=n),n):(o=-128<=(e|=0)&&e<128)&&(r=qa[e])?r:(n=Ga(e,e<0?-1:0,!1),o&&(qa[e]=n),n)}function za(e,t){if(isNaN(e))return t?Xa:Za;if(t){if(e<0)return Xa;if(e>=Ja)return rs}else{if(e<=-Ka)return os;if(e+1>=Ka)return ns}return e<0?za(-e,t).neg():Ga(e%$a|0,e/$a|0,t)}function Ga(e,t,n){return new Fa(e,t,n)}Fa.fromInt=Ua,Fa.fromNumber=za,Fa.fromBits=Ga;var Ha=Math.pow;function Wa(e,t,n){if(0===e.length)throw Error("empty string");if("number"==typeof t?(n=t,t=!1):t=!!t,"NaN"===e||"Infinity"===e||"+Infinity"===e||"-Infinity"===e)return t?Xa:Za;if((n=n||10)<2||36<n)throw RangeError("radix");var r;if((r=e.indexOf("-"))>0)throw Error("interior hyphen");if(0===r)return Wa(e.substring(1),t,n).neg();for(var o=za(Ha(n,8)),i=Za,a=0;a<e.length;a+=8){var s=Math.min(8,e.length-a),u=parseInt(e.substring(a,a+s),n);if(s<8){var c=za(Ha(n,s));i=i.mul(c).add(za(u))}else i=(i=i.mul(o)).add(za(u))}return i.unsigned=t,i}function Va(e,t){return"number"==typeof e?za(e,t):"string"==typeof e?Wa(e,t):Ga(e.low,e.high,"boolean"==typeof t?t:e.unsigned)}Fa.fromString=Wa,Fa.fromValue=Va;var $a=4294967296,Ja=$a*$a,Ka=Ja/2,Ya=Ua(16777216),Za=Ua(0);Fa.ZERO=Za;var Xa=Ua(0,!0);Fa.UZERO=Xa;var Qa=Ua(1);Fa.ONE=Qa;var es=Ua(1,!0);Fa.UONE=es;var ts=Ua(-1);Fa.NEG_ONE=ts;var ns=Ga(-1,2147483647,!1);Fa.MAX_VALUE=ns;var rs=Ga(-1,-1,!0);Fa.MAX_UNSIGNED_VALUE=rs;var os=Ga(0,-2147483648,!1);Fa.MIN_VALUE=os;var is=Fa.prototype;is.toInt=function(){return this.unsigned?this.low>>>0:this.low},is.toNumber=function(){return this.unsigned?(this.high>>>0)*$a+(this.low>>>0):this.high*$a+(this.low>>>0)},is.toString=function(e){if((e=e||10)<2||36<e)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative()){if(this.eq(os)){var t=za(e),n=this.div(t),r=n.mul(t).sub(this);return n.toString(e)+r.toInt().toString(e)}return"-"+this.neg().toString(e)}for(var o=za(Ha(e,6),this.unsigned),i=this,a="";;){var s=i.div(o),u=(i.sub(s.mul(o)).toInt()>>>0).toString(e);if((i=s).isZero())return u+a;for(;u.length<6;)u="0"+u;a=""+u+a}},is.getHighBits=function(){return this.high},is.getHighBitsUnsigned=function(){return this.high>>>0},is.getLowBits=function(){return this.low},is.getLowBitsUnsigned=function(){return this.low>>>0},is.getNumBitsAbs=function(){if(this.isNegative())return this.eq(os)?64:this.neg().getNumBitsAbs();for(var e=0!=this.high?this.high:this.low,t=31;t>0&&0==(e&1<<t);t--);return 0!=this.high?t+33:t+1},is.isZero=function(){return 0===this.high&&0===this.low},is.eqz=is.isZero,is.isNegative=function(){return!this.unsigned&&this.high<0},is.isPositive=function(){return this.unsigned||this.high>=0},is.isOdd=function(){return 1==(1&this.low)},is.isEven=function(){return 0==(1&this.low)},is.equals=function(e){return La(e)||(e=Va(e)),(this.unsigned===e.unsigned||this.high>>>31!=1||e.high>>>31!=1)&&this.high===e.high&&this.low===e.low},is.eq=is.equals,is.notEquals=function(e){return!this.eq(e)},is.neq=is.notEquals,is.ne=is.notEquals,is.lessThan=function(e){return this.comp(e)<0},is.lt=is.lessThan,is.lessThanOrEqual=function(e){return this.comp(e)<=0},is.lte=is.lessThanOrEqual,is.le=is.lessThanOrEqual,is.greaterThan=function(e){return this.comp(e)>0},is.gt=is.greaterThan,is.greaterThanOrEqual=function(e){return this.comp(e)>=0},is.gte=is.greaterThanOrEqual,is.ge=is.greaterThanOrEqual,is.compare=function(e){if(La(e)||(e=Va(e)),this.eq(e))return 0;var t=this.isNegative(),n=e.isNegative();return t&&!n?-1:!t&&n?1:this.unsigned?e.high>>>0>this.high>>>0||e.high===this.high&&e.low>>>0>this.low>>>0?-1:1:this.sub(e).isNegative()?-1:1},is.comp=is.compare,is.negate=function(){return!this.unsigned&&this.eq(os)?os:this.not().add(Qa)},is.neg=is.negate,is.add=function(e){La(e)||(e=Va(e));var t=0,n=0,r=0,o=0;return r+=(o+=(65535&this.low)+(65535&e.low))>>>16,n+=(r+=(this.low>>>16)+(e.low>>>16))>>>16,t+=(n+=(65535&this.high)+(65535&e.high))>>>16,t+=(this.high>>>16)+(e.high>>>16),Ga((r&=65535)<<16|(o&=65535),(t&=65535)<<16|(n&=65535),this.unsigned)},is.subtract=function(e){return La(e)||(e=Va(e)),this.add(e.neg())},is.sub=is.subtract,is.multiply=function(e){if(this.isZero())return this;if(La(e)||(e=Va(e)),ja)return Ga(ja.mul(this.low,this.high,e.low,e.high),ja.get_high(),this.unsigned);if(e.isZero())return this.unsigned?Xa:Za;if(this.eq(os))return e.isOdd()?os:Za;if(e.eq(os))return this.isOdd()?os:Za;if(this.isNegative())return e.isNegative()?this.neg().mul(e.neg()):this.neg().mul(e).neg();if(e.isNegative())return this.mul(e.neg()).neg();if(this.lt(Ya)&&e.lt(Ya))return za(this.toNumber()*e.toNumber(),this.unsigned);var t=65535&this.high,n=this.low>>>16,r=65535&this.low,o=65535&e.high,i=e.low>>>16,a=65535&e.low,s=0,u=0,c=0,l=0;return c+=(l+=r*a)>>>16,u+=(c+=n*a)>>>16,c&=65535,u+=(c+=r*i)>>>16,s+=(u+=t*a)>>>16,u&=65535,s+=(u+=n*i)>>>16,u&=65535,s+=(u+=r*o)>>>16,s+=(this.high>>>16)*a+t*i+n*o+r*(e.high>>>16),Ga((c&=65535)<<16|(l&=65535),(s&=65535)<<16|(u&=65535),this.unsigned)},is.mul=is.multiply,is.divide=function(e){if(La(e)||(e=Va(e)),e.isZero())throw Error("division by zero");var t,n,r;if(ja)return this.unsigned||-2147483648!==this.high||-1!==e.low||-1!==e.high?Ga((this.unsigned?ja.div_u:ja.div_s)(this.low,this.high,e.low,e.high),ja.get_high(),this.unsigned):this;if(this.isZero())return this.unsigned?Xa:Za;if(this.unsigned){if(e.unsigned||(e=e.toUnsigned()),e.gt(this))return Xa;if(e.gt(this.shru(1)))return es;r=Xa}else{if(this.eq(os))return e.eq(Qa)||e.eq(ts)?os:e.eq(os)?Qa:(t=this.shr(1).div(e).shl(1)).eq(Za)?e.isNegative()?Qa:ts:(n=this.sub(e.mul(t)),r=t.add(n.div(e)));if(e.eq(os))return this.unsigned?Xa:Za;if(this.isNegative())return e.isNegative()?this.neg().div(e.neg()):this.neg().div(e).neg();if(e.isNegative())return this.div(e.neg()).neg();r=Za}for(n=this;n.gte(e);){t=Math.max(1,Math.floor(n.toNumber()/e.toNumber()));for(var o=Math.ceil(Math.log(t)/Math.LN2),i=o<=48?1:Ha(2,o-48),a=za(t),s=a.mul(e);s.isNegative()||s.gt(n);)s=(a=za(t-=i,this.unsigned)).mul(e);a.isZero()&&(a=Qa),r=r.add(a),n=n.sub(s)}return r},is.div=is.divide,is.modulo=function(e){return La(e)||(e=Va(e)),ja?Ga((this.unsigned?ja.rem_u:ja.rem_s)(this.low,this.high,e.low,e.high),ja.get_high(),this.unsigned):this.sub(this.div(e).mul(e))},is.mod=is.modulo,is.rem=is.modulo,is.not=function(){return Ga(~this.low,~this.high,this.unsigned)},is.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32},is.clz=is.countLeadingZeros,is.countTrailingZeros=function(){return this.low?Da(this.low):Da(this.high)+32},is.ctz=is.countTrailingZeros,is.and=function(e){return La(e)||(e=Va(e)),Ga(this.low&e.low,this.high&e.high,this.unsigned)},is.or=function(e){return La(e)||(e=Va(e)),Ga(this.low|e.low,this.high|e.high,this.unsigned)},is.xor=function(e){return La(e)||(e=Va(e)),Ga(this.low^e.low,this.high^e.high,this.unsigned)},is.shiftLeft=function(e){return La(e)&&(e=e.toInt()),0==(e&=63)?this:e<32?Ga(this.low<<e,this.high<<e|this.low>>>32-e,this.unsigned):Ga(0,this.low<<e-32,this.unsigned)},is.shl=is.shiftLeft,is.shiftRight=function(e){return La(e)&&(e=e.toInt()),0==(e&=63)?this:e<32?Ga(this.low>>>e|this.high<<32-e,this.high>>e,this.unsigned):Ga(this.high>>e-32,this.high>=0?0:-1,this.unsigned)},is.shr=is.shiftRight,is.shiftRightUnsigned=function(e){return La(e)&&(e=e.toInt()),0==(e&=63)?this:e<32?Ga(this.low>>>e|this.high<<32-e,this.high>>>e,this.unsigned):Ga(32===e?this.high:this.high>>>e-32,0,this.unsigned)},is.shru=is.shiftRightUnsigned,is.shr_u=is.shiftRightUnsigned,is.rotateLeft=function(e){var t;return La(e)&&(e=e.toInt()),0==(e&=63)?this:32===e?Ga(this.high,this.low,this.unsigned):e<32?Ga(this.low<<e|this.high>>>(t=32-e),this.high<<e|this.low>>>t,this.unsigned):Ga(this.high<<(e-=32)|this.low>>>(t=32-e),this.low<<e|this.high>>>t,this.unsigned)},is.rotl=is.rotateLeft,is.rotateRight=function(e){var t;return La(e)&&(e=e.toInt()),0==(e&=63)?this:32===e?Ga(this.high,this.low,this.unsigned):e<32?Ga(this.high<<(t=32-e)|this.low>>>e,this.low<<t|this.high>>>e,this.unsigned):Ga(this.low<<(t=32-(e-=32))|this.high>>>e,this.high<<t|this.low>>>e,this.unsigned)},is.rotr=is.rotateRight,is.toSigned=function(){return this.unsigned?Ga(this.low,this.high,!1):this},is.toUnsigned=function(){return this.unsigned?this:Ga(this.low,this.high,!0)},is.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()},is.toBytesLE=function(){var e=this.high,t=this.low;return[255&t,t>>>8&255,t>>>16&255,t>>>24,255&e,e>>>8&255,e>>>16&255,e>>>24]},is.toBytesBE=function(){var e=this.high,t=this.low;return[e>>>24,e>>>16&255,e>>>8&255,255&e,t>>>24,t>>>16&255,t>>>8&255,255&t]},Fa.fromBytes=function(e,t,n){return n?Fa.fromBytesLE(e,t):Fa.fromBytesBE(e,t)},Fa.fromBytesLE=function(e,t){return new Fa(e[0]|e[1]<<8|e[2]<<16|e[3]<<24,e[4]|e[5]<<8|e[6]<<16|e[7]<<24,t)},Fa.fromBytesBE=function(e,t){return new Fa(e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[0]<<24|e[1]<<16|e[2]<<8|e[3],t)};var as=function(){function e(t){var n=t.filehandle,r=t.path;if(ee(this,e),n)this.filehandle=n;else{if(!r)throw new TypeError("either filehandle or path must be defined");this.filehandle=new Br(r)}}var t,n,r;return ne(e,[{key:"_readLongWithOverflow",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=Fa.fromBytesLE(e.slice(t,t+8),n);if(r.greaterThan(Number.MAX_SAFE_INTEGER)||r.lessThan(Number.MIN_SAFE_INTEGER))throw new TypeError("integer overflow");return r.toNumber()}},{key:"_getIndex",value:function(){return this.index||(this.index=this._readIndex()),this.index}},{key:"_readIndex",value:(r=Q(Y().mark((function e(){var t,n,r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=Xt.allocUnsafe(8),e.next=3,this.filehandle.read(t,0,8,0);case 3:if(n=this._readLongWithOverflow(t,0,!0)){e.next=6;break}return e.abrupt("return",[[0,0]]);case 6:if((r=new Array(n+1))[0]=[0,0],!((o=16*n)>Number.MAX_SAFE_INTEGER)){e.next=11;break}throw new TypeError("integer overflow");case 11:return t=Xt.allocUnsafe(o),e.next=14,this.filehandle.read(t,0,o,8);case 14:for(i=0;i<n;i+=1)a=this._readLongWithOverflow(t,16*i),s=this._readLongWithOverflow(t,16*i+8),r[i+1]=[a,s];return e.abrupt("return",r);case 16:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"getLastBlock",value:(n=Q(Y().mark((function e(){var t;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getIndex();case 2:if((t=e.sent).length){e.next=5;break}return e.abrupt("return",void 0);case 5:return e.abrupt("return",t[t.length-1]);case 6:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"getRelevantBlocksForRead",value:(t=Q(Y().mark((function e(t,n){var r,o,i,a,s,u,c,l,f;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n+t,0!==t){e.next=3;break}return e.abrupt("return",[]);case 3:return e.next=5,this._getIndex();case 5:for(i=[],a=function(e,t){var r=e[1];return r<=n&&(t?t[1]:Infinity)>n?0:r<n?-1:1},s=0,u=(o=e.sent).length-1,c=Math.floor(o.length/2),l=a(o[c],o[c+1]);0!==l;)l>0?u=c-1:l<0&&(s=c+1),c=Math.ceil((u-s)/2)+s,l=a(o[c],o[c+1]);i.push(o[c]),f=c+1;case 15:if(!(f<o.length)){e.next=22;break}if(i.push(o[f]),!(o[f][1]>=r)){e.next=19;break}return e.abrupt("break",22);case 19:f+=1,e.next=15;break;case 22:return i[i.length-1][1]<r&&i.push([]),e.abrupt("return",i);case 24:case"end":return e.stop()}}),e,this)}))),function(e,n){return t.apply(this,arguments)})}]),e}(),ss=function(){function e(t){var n=t.filehandle,r=t.path,o=t.gziFilehandle,i=t.gziPath;if(ee(this,e),n)this.filehandle=n;else{if(!r)throw new TypeError("either filehandle or path must be defined");this.filehandle=new Br(r)}if(!o&&!i&&!r)throw new TypeError("either gziFilehandle or gziPath must be defined");this.gzi=new as({filehandle:o,path:o||i||!r?"".concat(r,".gzi"):i})}var t,n,r,o;return ne(e,[{key:"stat",value:(o=Q(Y().mark((function e(){var t;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.filehandle.stat();case 2:return t=e.sent,e.t0=Object,e.t1=t,e.next=7,this.getUncompressedFileSize();case 7:return e.t2=e.sent,e.t3=void 0,e.t4=void 0,e.t5={size:e.t2,blocks:e.t3,blksize:e.t4},e.abrupt("return",e.t0.assign.call(e.t0,e.t1,e.t5));case 12:case"end":return e.stop()}}),e,this)}))),function(){return o.apply(this,arguments)})},{key:"getUncompressedFileSize",value:(r=Q(Y().mark((function e(){var t,n,r,o,i;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.gzi.getLastBlock();case 2:return t=he(e.sent,2),n=t[1],e.next=7,this.filehandle.stat();case 7:return r=e.sent.size,o=Xt.allocUnsafe(4),e.next=12,this.filehandle.read(o,0,4,r-28-4);case 12:if(4===e.sent.bytesRead){e.next=16;break}throw new Error("read error");case 16:return i=o.readUInt32LE(0),e.abrupt("return",n+i);case 18:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"_readAndUncompressBlock",value:(n=Q(Y().mark((function e(t,n,r){var o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=he(n,1)[0],i=he(r,1)[0]){e.next=7;break}return e.next=6,this.filehandle.stat();case 6:i=e.sent.size;case 7:return a=i-o,e.next=10,this.filehandle.read(t,0,a,o);case 10:return e.next=12,Ta(t.slice(0,a));case 12:return e.abrupt("return",e.sent);case 14:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return n.apply(this,arguments)})},{key:"read",value:(t=Q(Y().mark((function e(t,n,r,o){var i,a,s,u,c,l,f,d,h,p;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.gzi.getRelevantBlocksForRead(r,o);case 2:i=e.sent,a=Xt.allocUnsafe(65536),s=n,u=0,c=0;case 7:if(!(c<i.length-1)){e.next=18;break}return e.next=10,this._readAndUncompressBlock(a,i[c],i[c+1]);case 10:l=e.sent,f=he(i[c],2),h=(d=f[1])>=o?0:o-d,p=Math.min(o+r,d+l.length)-d,h>=0&&h<l.length&&(l.copy(t,s,h,p),s+=p-h,u+=p-h);case 15:c+=1,e.next=7;break;case 18:return e.abrupt("return",{bytesRead:u,buffer:t});case 19:case"end":return e.stop()}}),e,this)}))),function(e,n,r,o){return t.apply(this,arguments)})}]),e}();function us(e,t){return e.offset+e.lineBytes*Math.floor(t/e.lineLength)+t%e.lineLength}function cs(e,t){return ls.apply(this,arguments)}function ls(){return(ls=Q(Y().mark((function e(t,n){var r,o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.readFile(n);case 2:if((r=e.sent)&&r.length){e.next=5;break}throw new Error("No data read from FASTA index (FAI) file");case 5:return o=0,a=r.toString("utf8").split(/\r?\n/).filter((function(e){return/\S/.test(e)})).map((function(e){return e.split("\t")})).filter((function(e){return""!==e[0]})).map((function(e){return i&&i.name===e[0]||(i={name:e[0],id:o},o+=1),{id:i.id,name:e[0],length:+e[1],start:0,end:+e[1],offset:+e[2],lineLength:+e[3],lineBytes:+e[4]}})),e.abrupt("return",{name:Object.fromEntries(a.map((function(e){return[e.name,e]}))),id:Object.fromEntries(a.map((function(e){return[e.id,e]})))});case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var fs=function(){function e(t){var n=t.fasta,r=t.fai,o=t.path,i=t.faiPath;if(ee(this,e),n)this.fasta=n;else{if(!o)throw new Error("Need to pass filehandle for fasta or path to localfile");this.fasta=new Br(o)}if(r)this.fai=r;else if(i)this.fai=new Br(i);else{if(!o)throw new Error("Need to pass filehandle for or path to localfile");this.fai=new Br("".concat(o,".fai"))}}var t,n,r,o,i,a,s,u,c;return ne(e,[{key:"_getIndexes",value:(c=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.indexes||(this.indexes=cs(this.fai,t)),e.abrupt("return",this.indexes);case 2:case"end":return e.stop()}}),e,this)}))),function(e){return c.apply(this,arguments)})},{key:"getSequenceNames",value:(u=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=Object,e.next=3,this._getIndexes(t);case 3:return e.t1=e.sent.name,e.abrupt("return",e.t0.keys.call(e.t0,e.t1));case 5:case"end":return e.stop()}}),e,this)}))),function(e){return u.apply(this,arguments)})},{key:"getSequenceSizes",value:(s=Q(Y().mark((function e(t){var n,r,o;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n={},e.next=3,this._getIndexes(t);case 3:for(r=Object.values(e.sent.id),o=0;o<r.length;o+=1)n[r[o].name]=r[o].length;return e.abrupt("return",n);case 7:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"getSequenceSize",value:(a=Q(Y().mark((function e(t,n){var r;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getIndexes(n);case 2:return e.abrupt("return",null===(r=e.sent.name[t])||void 0===r?void 0:r.length);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return a.apply(this,arguments)})},{key:"hasReferenceSequence",value:(i=Q(Y().mark((function e(t,n){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getIndexes(n);case 2:return e.t0=t,e.abrupt("return",!!e.sent.name[e.t0]);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return i.apply(this,arguments)})},{key:"getResiduesById",value:(o=Q(Y().mark((function e(t,n,r,o){var i;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getIndexes(o);case 2:if(e.t0=t,i=e.sent.id[e.t0]){e.next=6;break}return e.abrupt("return",void 0);case 6:return e.abrupt("return",this._fetchFromIndexEntry(i,n,r,o));case 7:case"end":return e.stop()}}),e,this)}))),function(e,t,n,r){return o.apply(this,arguments)})},{key:"getResiduesByName",value:(r=Q(Y().mark((function e(t,n,r,o){var i;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getIndexes(o);case 2:if(e.t0=t,i=e.sent.name[e.t0]){e.next=6;break}return e.abrupt("return",void 0);case 6:return e.abrupt("return",this._fetchFromIndexEntry(i,n,r,o));case 7:case"end":return e.stop()}}),e,this)}))),function(e,t,n,o){return r.apply(this,arguments)})},{key:"getSequence",value:(n=Q(Y().mark((function e(t,n,r,o){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.getResiduesByName(t,n,r,o));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t,r,o){return n.apply(this,arguments)})},{key:"_fetchFromIndexEntry",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s,u=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=u.length>3?u[3]:void 0,o=u.length>2?u[2]:void 0,!((n=u.length>1&&void 0!==u[1]?u[1]:0)<0)){e.next=6;break}throw new TypeError("regionStart cannot be less than 0");case 6:if((void 0===o||o>t.length)&&(o=t.length),!(n>=o)){e.next=9;break}return e.abrupt("return","");case 9:return i=us(t,n),a=us(t,o)-i,s=Xt.allocUnsafe(a),e.next=14,this.fasta.read(s,0,a,i,r);case 14:return e.abrupt("return",s.toString("utf8").replace(/\s+/g,""));case 15:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})}]),e}(),ds=function(e){oe(n,e);var t=fe(n);function n(e){var r,o=e.fasta,i=e.path,a=e.fai,s=e.faiPath,u=e.gzi,c=e.gziPath;return ee(this,n),r=t.call(this,{fasta:o,path:i,fai:a,faiPath:s}),o&&u?r.fasta=new ss({filehandle:o,gziFilehandle:u}):i&&c&&(r.fasta=new ss({path:i,gziPath:c})),r}return ne(n)}(fs);function hs(e){return e.split(">").filter((function(e){return/\S/.test(e)})).map((function(e){var t=pe(e.split("\n")),n=t[0],r=t.slice(1),o=pe(n.split(" ")),i=o[0],a=o.slice(1),s=r.join("").replace(/\s/g,"");return{id:i,description:a.join(" "),sequence:s}}))}var ps=function(){function e(t){var n=t.fasta,r=t.path;if(ee(this,e),n)this.fasta=n;else{if(!r)throw new Error("Need to pass fasta or path");this.fasta=new Br(r)}this.data=this.fasta.readFile().then((function(e){return hs(e.toString("utf8"))}))}var t,n;return ne(e,[{key:"fetch",value:(n=Q(Y().mark((function e(t,n,r){var o,i;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.data;case 2:if(o=e.sent.find((function(e){return e.id===t})),i=r-n,o){e.next=7;break}throw new Error("no sequence with id ".concat(t," exists"));case 7:return e.abrupt("return",o.sequence.substr(n,i));case 8:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return n.apply(this,arguments)})},{key:"getSequenceNames",value:(t=Q(Y().mark((function e(){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.data;case 2:return e.abrupt("return",e.sent.map((function(e){return e.id})));case 4:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}(),ms=B({__proto__:null,parseSmallFasta:hs,FetchableSmallFasta:ps,IndexedFasta:fs,BgzipIndexedFasta:ds}),gs=B(Vr);Object.defineProperty(qr,"__esModule",{value:!0}),qr.AddAssemblyFromExternalChange=void 0;var ys=ms,vs=gs,_s=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","AddAssemblyFromExternalChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"notification",get:function(){return'Assembly "'.concat(this.changes[0].assemblyName,'" added successfully. To use it, please refresh the page.')}},{key:"toJSON",value:function(){var e=this.assembly,t=this.changes,n=this.typeName;if(1===t.length){var r=he(t,1)[0];return{typeName:n,assembly:e,assemblyName:r.assemblyName,externalLocation:r.externalLocation}}return{typeName:n,assembly:e,changes:t}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A,C,O;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.assemblyModel,r=t.checkModel,o=t.refSeqModel,i=t.user,a=this.assembly,s=this.changes,u=this.logger,l=(c=qt.env.CHUNK_SIZE)&&Number(c),f=we(s),e.prev=5,f.s();case 7:if((d=f.n()).done){e.next=45;break}return m=(p=d.value).assemblyName,y=(g=p.externalLocation).fa,v=g.fai,b=(_=g.gzi)?new ys.BgzipIndexedFasta({fasta:new vs.RemoteFile(y,{fetch:fetch}),fai:new vs.RemoteFile(v,{fetch:fetch}),gzi:new vs.RemoteFile(_,{fetch:fetch})}):new ys.IndexedFasta({fasta:new vs.RemoteFile(y,{fetch:fetch}),fai:new vs.RemoteFile(v,{fetch:fetch})}),e.next=14,b.getSequenceSizes();case 14:if(w=e.sent){e.next=17;break}throw new Error("No data read from indexed fasta getSequenceSizes");case 17:return e.next=19,n.findOne({name:m}).exec();case 19:if(!e.sent){e.next=22;break}throw new Error('Assembly "'.concat(m,'" already exists'));case 22:return e.next=24,r.find({default:!0}).exec();case 24:return S=e.sent.map((function(e){return e._id.toHexString()})),e.next=28,n.create([{_id:a,name:m,user:i,status:-1,externalLocation:g,checks:S}]);case 28:x=he(e.sent,1),k=x[0],null===(h=u.debug)||void 0===h||h.call(u,'Added new assembly "'.concat(m,'", docId "').concat(k._id,'"')),e.t0=Y().keys(w);case 33:if((e.t1=e.t0()).done){e.next=43;break}return E=e.t1.value,e.next=37,o.create([K(K({name:E,assembly:k._id,length:w[E]},l?{chunkSize:l}:null),{},{user:i,status:-1})]);case 37:C=he(e.sent,1),O=C[0],null===(A=u.debug)||void 0===A||A.call(u,'Added new refSeq "'.concat(E,'", docId "').concat(O._id,'"')),e.next=33;break;case 43:e.next=7;break;case 45:e.next=50;break;case 47:e.prev=47,e.t2=e.catch(5),f.e(e.t2);case 50:return e.prev=50,f.f(),e.finish(50);case 53:case"end":return e.stop()}}),e,this,[[5,47,50,53]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new i({typeName:this.typeName,changes:this.changes,assembly:this.assembly},{logger:this.logger})}}]),i}(ar.AssemblySpecificChange);qr.AddAssemblyFromExternalChange=_s;var bs={};Object.defineProperty(bs,"__esModule",{value:!0}),bs.AddAssemblyFromFileChange=void 0;var ws=ms,Ss=function(e){oe(s,e);var t,n,r,o,i,a=fe(s);function s(e,t){var n;return ee(this,s),re(le(n=a.call(this,e,t)),"typeName","AddAssemblyFromFileChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(s,[{key:"notification",get:function(){return'Assembly "'.concat(this.changes[0].assemblyName,'" added successfully. To use it, please refresh the page.')}},{key:"toJSON",value:function(){var e=this.assembly,t=this.changes,n=this.typeName;if(1===t.length){var r=he(t,1)[0];return{typeName:n,assembly:e,assemblyName:r.assemblyName,fileIds:r.fileIds}}return{typeName:n,assembly:e,changes:t}}},{key:"executeOnServer",value:(i=Q(Y().mark((function e(t){var n,r,o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=we(this.changes),e.prev=2,n.s();case 4:if((r=n.n()).done){e.next=11;break}return i=(o=r.value).assemblyName,a=o.fileIds,e.next=9,"gzi"in a?this.executeOnServerIndexed(t,i,a):this.executeOnServerFasta(t,i,a.fa);case 9:e.next=4;break;case 11:e.next=16;break;case 13:e.prev=13,e.t0=e.catch(2),n.e(e.t0);case 16:return e.prev=16,n.f(),e.finish(16);case 19:case"end":return e.stop()}}),e,this,[[2,13,16,19]])}))),function(e){return i.apply(this,arguments)})},{key:"executeOnServerIndexed",value:(o=Q(Y().mark((function e(t,n,r){var o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A,C,O,R,N,I,P;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=(a=qt.env.CHUNK_SIZE)&&Number(a),qt.env.FILE_UPLOAD_FOLDER){e.next=5;break}throw new Error("No FILE_UPLOAD_FOLDER found in .env file");case 5:return u=r.fa,c=r.fai,l=r.gzi,f=t.assemblyModel,d=t.checkModel,h=t.fileModel,p=t.filesService,m=t.refSeqModel,g=t.user,e.next=9,h.findById(u);case 9:if(null==(y=e.sent)?void 0:y.checksum){e.next=13;break}throw new Error("No checksum for file document ".concat(y));case 13:return e.next=15,h.findById(c);case 15:if(null==(v=e.sent)?void 0:v.checksum){e.next=19;break}throw new Error("No checksum for file document ".concat(v));case 19:return e.next=21,h.findById(l);case 21:if(null==(_=e.sent)?void 0:_.checksum){e.next=25;break}throw new Error("No checksum for file document ".concat(_));case 25:return b=p.getFileHandle(y),w=p.getFileHandle(v),S=p.getFileHandle(_),x=new ws.BgzipIndexedFasta({fasta:b,fai:w,gzi:S}),e.next=31,x.getSequenceSizes();case 31:return k=e.sent,e.next=34,Promise.all([b.close(),w.close(),S.close()]);case 34:return e.next=36,f.findOne({name:n}).exec();case 36:if(!e.sent){e.next=39;break}throw new Error('Assembly "'.concat(n,'" already exists'));case 39:return e.next=41,d.find({default:!0}).exec();case 41:return E=e.sent.map((function(e){return e._id.toHexString()})),e.next=45,f.create([{_id:this.assembly,name:n,user:g,status:-1,fileIds:r,checks:E}]);case 45:A=he(e.sent,1),C=A[0],null===(o=(i=this.logger).debug)||void 0===o||o.call(i,'Added new assembly "'.concat(n,'", docId "').concat(C._id,'"')),e.t0=Y().keys(k);case 50:if((e.t1=e.t0()).done){e.next=60;break}return O=e.t1.value,e.next=54,m.create([K(K({name:O,assembly:C._id,length:k[O]},s?{chunkSize:s}:null),{},{user:g,status:-1})]);case 54:I=he(e.sent,1),P=I[0],null===(R=(N=this.logger).debug)||void 0===R||R.call(N,'Added new refSeq "'.concat(O,'", docId "').concat(P._id,'"')),e.next=50;break;case 60:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return o.apply(this,arguments)})},{key:"executeOnServerFasta",value:(r=Q(Y().mark((function e(t,n,r){var o,i,a,s,u,c,l,f,d,h,p,m,g,y;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return l=t.assemblyModel,f=t.checkModel,d=t.fileModel,h=t.user,e.next=3,d.findById(r).exec();case 3:if(p=e.sent){e.next=6;break}throw new Error('File "'.concat(r,'" not found in Mongo'));case 6:return null===(o=(i=this.logger).debug)||void 0===o||o.call(i,'FileId "'.concat(r,'", checksum "').concat(p.checksum,'"')),e.next=9,l.findOne({name:n}).exec();case 9:if(!e.sent){e.next=12;break}throw new Error('Assembly "'.concat(n,'" already exists'));case 12:return e.next=14,f.find({default:!0}).exec();case 14:return m=e.sent.map((function(e){return e._id.toHexString()})),e.next=18,l.create([{_id:this.assembly,name:n,user:h,status:-1,fileIds:{fa:r},checks:m}]);case 18:return g=he(e.sent,1),y=g[0],null===(a=(s=this.logger).debug)||void 0===a||a.call(s,'Added new assembly "'.concat(n,'", docId "').concat(y._id,'"')),null===(u=(c=this.logger).debug)||void 0===u||u.call(c,'File type: "'.concat(p.type,'", assemblyId: "').concat(y._id,'"')),e.next=25,this.addRefSeqIntoDb(p,y._id.toString(),t);case 25:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new s({typeName:this.typeName,changes:this.changes,assembly:this.assembly},{logger:this.logger})}}]),s}(ir.FromFileBaseChange);bs.AddAssemblyFromFileChange=Ss;var xs={},ks={};Object.defineProperty(ks,"__esModule",{value:!0}),ks.DeleteFeatureChange=void 0,ks.isDeleteFeatureChange=function(e){return"DeleteFeatureChange"===e.typeName};var Es=xs,As=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","DeleteFeatureChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=he(n,1)[0];return{typeName:r,changedIds:t,assembly:e,deletedFeature:o.deletedFeature,parentFeatureId:o.parentFeatureId}}return{typeName:r,changedIds:t,assembly:e,changes:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u=this;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,o=this.logger,i=we(this.changes),e.prev=3,s=Y().mark((function e(){var t,i,s,c,l,f,d,h,p;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=(i=a.value).deletedFeature,c=i.parentFeatureId,e.next=4,n.findOne({allIds:s._id}).session(r).exec();case 4:if(l=e.sent){e.next=9;break}throw f="*** ERROR: The following featureId was not found in database ='".concat(s._id,"'"),o.error(f),new Error(f);case 9:if(!l._id.equals(s._id)){e.next=16;break}if(!c){e.next=12;break}throw new Error('Feature "'.concat(s._id,'" is top-level, but received a parent feature ID'));case 12:return e.next=14,n.findByIdAndDelete(l._id);case 14:return null===(d=o.debug)||void 0===d||d.call(o,'Feature "'.concat(s._id,'" deleted from document "').concat(l._id,'". Whole document deleted.')),e.abrupt("return",1);case 16:return(h=u.findAndDeleteChildFeature(l,s._id)).push(s._id),l.allIds=l.allIds.filter((function(e){return!h.includes(e)})),l.markModified("children"),e.prev=20,e.next=23,l.save();case 23:e.next=29;break;case 25:throw e.prev=25,e.t0=e.catch(20),null===(p=o.debug)||void 0===p||p.call(o,"*** FAILED: ".concat(e.t0)),e.t0;case 29:null===(t=o.debug)||void 0===t||t.call(o,'Feature "'.concat(s._id,'" deleted from document "').concat(l._id,'"'));case 30:case"end":return e.stop()}}),e,null,[[20,25]])})),i.s();case 6:if((a=i.n()).done){e.next=12;break}return e.delegateYield(s(),"t0",8);case 8:if(!e.t0){e.next=10;break}return e.abrupt("continue",10);case 10:e.next=6;break;case 12:e.next=17;break;case 14:e.prev=14,e.t1=e.catch(3),i.e(e.t1);case 17:return e.prev=17,i.f(),e.finish(17);case 20:case"end":return e.stop()}}),e,this,[[3,14,17,20]])}))),function(e){return r.apply(this,arguments)})},{key:"findAndDeleteChildFeature",value:function(e,t){if(!e.children)throw new Error("Feature ".concat(e._id," has no children"));var n=e._id,r=e.children,o=r.get(t);if(o){var i=this.getChildFeatureIds(o);return r.delete(t),i}var a,s=we(r);try{for(s.s();!(a=s.n()).done;){var u=he(a.value,2)[1];try{return this.findAndDeleteChildFeature(u,t)}catch(e){}}}catch(e){s.e(e)}finally{s.f()}throw new Error('Feature "'.concat(t,'" not found in ').concat(n))}},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw new Error("No data store");case 2:n=we(this.changes),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=18;break}if(i=(o=r.value).deletedFeature,!(a=o.parentFeatureId)){e.next=15;break}if(s=t.getFeature(a)){e.next=12;break}throw new Error('Could not find parent feature "'.concat(a,'"'));case 12:s.deleteChild(i._id),e.next=16;break;case 15:t.getFeature(i._id)&&t.deleteFeature(i._id);case 16:e.next=5;break;case 18:e.next=23;break;case 20:e.prev=20,e.t0=e.catch(3),n.e(e.t0);case 23:return e.prev=23,n.f(),e.finish(23);case 26:case"end":return e.stop()}}),e,this,[[3,20,23,26]])}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){var e,t=this.assembly,n=this.changes,r=this.logger,o=me(this.changedIds).reverse(),i=me(n).reverse().map((function(e){return{addedFeature:e.deletedFeature,parentFeatureId:e.parentFeatureId}}));return null===(e=r.debug)||void 0===e||e.call(r,"INVERSE CHANGE '".concat(JSON.stringify(i),"'")),new Es.AddFeatureChange({changedIds:o,typeName:"AddFeatureChange",changes:i,assembly:t},{logger:r})}}]),i}(ar.FeatureChange);ks.DeleteFeatureChange=As,Object.defineProperty(xs,"__esModule",{value:!0}),xs.AddFeatureChange=void 0,xs.isAddFeatureChange=function(e){return"AddFeatureChange"===e.typeName};var Cs=ks,Os=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","AddFeatureChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=he(n,1)[0];return{typeName:r,changedIds:t,assembly:e,addedFeature:o.addedFeature,parentFeatureId:o.parentFeatureId,copyFeature:o.copyFeature,allIds:o.allIds}}return{typeName:r,changedIds:t,assembly:e,changes:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A,C,O,R,N,I,P,T,M,j,F,L;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=t.assemblyModel,i=t.featureModel,a=t.refSeqModel,s=t.session,u=t.user,c=this.assembly,l=this.changes,f=this.logger,e.next=4,o.findById(c).session(s).exec();case 4:if(e.sent){e.next=9;break}throw d='*** ERROR: Assembly with id "'.concat(c,'" not found'),f.error(d),new Error(d);case 9:h=0,null===(n=f.debug)||void 0===n||n.call(f,"changes: ".concat(JSON.stringify(l))),p=we(l),e.prev=12,p.s();case 14:if((m=p.n()).done){e.next=64;break}return y=m.value,null===(g=f.debug)||void 0===g||g.call(f,"change: ".concat(JSON.stringify(y))),_=y.allIds,b=y.copyFeature,w=y.parentFeatureId,S=(v=y.addedFeature)._id,x=v.refSeq,e.next=21,a.findById(x).session(s).exec();case 21:if(e.sent){e.next=24;break}throw new Error('RefSeq was not found by assembly "'.concat(c,'" and seq_id "').concat(x,'" not found'));case 24:if(!b){e.next=34;break}return e.next=27,i.create([K(K({},v),{},{allIds:_,status:-1,user:u})],{session:s});case 27:E=he(e.sent,1),A=E[0],null===(k=f.debug)||void 0===k||k.call(f,'Copied feature, docId "'.concat(A._id,'" to assembly "').concat(c,'"')),h++,e.next=61;break;case 34:if(!w){e.next=53;break}return e.next=37,i.findOne({allIds:w}).session(s).exec();case 37:if(R=e.sent){e.next=40;break}throw new Error('Could not find feature with ID "'.concat(w,'"'));case 40:if(N=this.getFeatureFromId(R,w)){e.next=43;break}throw new Error('Could not find feature with ID "'.concat(w,'" in feature "').concat(R._id,'"'));case 43:return N.children||(N.children=new Map),null!==(C=N.attributes)&&void 0!==C&&C._id||((I=N.attributes)||(I={}),I=K({_id:[N._id.toString()]},JSON.parse(JSON.stringify(I))),N.attributes=I),N.children.set(S,K(K({allIds:[]},v),{},{_id:S})),N.children=new Map(me(N.children.entries()).sort((function(e,t){return e[1].min-t[1].min}))),P=this.getChildFeatureIds(v),(O=R.allIds).push.apply(O,[S].concat(me(P))),e.next=51,R.save();case 51:e.next=61;break;case 53:return M=this.getChildFeatureIds(v),j=[S].concat(me(M)),e.next=57,i.create([K({allIds:j,status:0},v)],{session:s});case 57:F=he(e.sent,1),L=F[0],null===(T=f.verbose)||void 0===T||T.call(f,'Added docId "'.concat(L._id,'"'));case 61:h++;case 62:e.next=14;break;case 64:e.next=69;break;case 66:e.prev=66,e.t0=e.catch(12),p.e(e.t0);case 69:return e.prev=69,p.f(),e.finish(69);case 72:null===(r=f.debug)||void 0===r||r.call(f,"Added ".concat(h," new feature(s) into database."));case 73:case"end":return e.stop()}}),e,this,[[12,66,69,72]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s,u;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw new Error("No data store");case 2:n=this.assembly,r=we(this.changes),e.prev=4,r.s();case 6:if((o=r.n()).done){e.next=20;break}if(a=(i=o.value).addedFeature,!(s=i.parentFeatureId)){e.next=17;break}if(u=t.getFeature(s)){e.next=13;break}throw new Error('Could not find parent feature "'.concat(s,'"'));case 13:u.attributes.get("_id")||u.setAttribute("_id",[u._id]),u.addChild(a),e.next=18;break;case 17:t.addFeature(n,a);case 18:e.next=6;break;case 20:e.next=25;break;case 22:e.prev=22,e.t0=e.catch(4),r.e(e.t0);case 25:return e.prev=25,r.f(),e.finish(25);case 28:case"end":return e.stop()}}),e,this,[[4,22,25,28]])}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){var e=this.assembly,t=this.changes,n=this.logger,r=me(this.changedIds).reverse(),o=me(t).reverse().map((function(e){return{deletedFeature:e.addedFeature,parentFeatureId:e.parentFeatureId}}));return new Cs.DeleteFeatureChange({changedIds:r,typeName:"DeleteFeatureChange",changes:o,assembly:e},{logger:n})}}]),i}(ar.FeatureChange);xs.AddFeatureChange=Os;var Rs={};Object.defineProperty(Rs,"__esModule",{value:!0}),Rs.AddFeaturesFromFileChange=void 0;var Ns=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n,r;return ee(this,i),re(le(r=o.call(this,e,t)),"typeName","AddFeaturesFromFileChange"),re(le(r),"changes",void 0),re(le(r),"deleteExistingFeatures",!1),r.deleteExistingFeatures=null!==(n=e.deleteExistingFeatures)&&void 0!==n&&n,r.changes="changes"in e?e.changes:[e],r}return ne(i,[{key:"notification",get:function(){return"Features have been added. To see them, please refresh the page."}},{key:"toJSON",value:function(){var e=this.assembly,t=this.changes,n=this.deleteExistingFeatures,r=this.typeName;return 1===t.length?{typeName:r,assembly:e,fileId:he(t,1)[0].fileId,deleteExistingFeatures:n}:{typeName:r,assembly:e,changes:t,deleteExistingFeatures:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.fileModel,o=t.filesService,i=this.changes,a=this.logger,!this.deleteExistingFeatures){e.next=5;break}return e.next=5,this.removeExistingFeatures(t);case 5:s=we(i),e.prev=6,s.s();case 8:if((u=s.n()).done){e.next=56;break}if(l=u.value.fileId,qt.env.FILE_UPLOAD_FOLDER){e.next=14;break}throw new Error("No FILE_UPLOAD_FOLDER found in .env file");case 14:return e.next=16,r.findById(l).exec();case 16:if(f=e.sent){e.next=19;break}throw new Error('File "'.concat(l,'" not found in Mongo'));case 19:null===(c=a.debug)||void 0===c||c.call(a,'FileId "'.concat(l,'", checksum "').concat(f.checksum,'"')),d=o.parseGFF3(o.getFileStream(f)),h=0,p=!1,m=!1,e.prev=24,y=W(d);case 26:return e.next=28,y.next();case 28:if(!(p=!(v=e.sent).done)){e.next=38;break}return _=v.value,e.next=33,this.addFeatureIntoDb(_,t);case 33:++h%1e3==0&&(null===(b=a.debug)||void 0===b||b.call(a,"Processed ".concat(h," features")));case 35:p=!1,e.next=26;break;case 38:e.next=44;break;case 40:e.prev=40,e.t0=e.catch(24),m=!0,g=e.t0;case 44:if(e.prev=44,e.prev=45,!p||null==y.return){e.next=49;break}return e.next=49,y.return();case 49:if(e.prev=49,!m){e.next=52;break}throw g;case 52:return e.finish(49);case 53:return e.finish(44);case 54:e.next=8;break;case 56:e.next=61;break;case 58:e.prev=58,e.t1=e.catch(6),s.e(e.t1);case 61:return e.prev=61,s.f(),e.finish(61);case 64:null===(n=a.debug)||void 0===n||n.call(a,"New features added into database!");case 65:case"end":return e.stop()}}),e,this,[[6,58,61,64],[24,40,44,54],[45,,49,53]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new i({typeName:this.typeName,changes:this.changes,assembly:this.assembly},{logger:this.logger})}}]),i}(ir.FromFileBaseChange);Rs.AddFeaturesFromFileChange=Ns;var Is={};Object.defineProperty(Is,"__esModule",{value:!0}),Is.AddRefSeqAliasesChange=void 0;var Ps=O.default,Ts=function(e){oe(r,e);var t,n=fe(r);function r(e,t){var o;return ee(this,r),re(le(o=n.call(this,e,t)),"typeName","AddRefSeqAliasesChange"),re(le(o),"refSeqAliases",void 0),o.refSeqAliases=e.refSeqAliases,o}return ne(r,[{key:"executeOnClient",value:function(e){var t=(0,Ps.getSession)(e).assemblyManager.get(this.assembly);if(!t)throw new Error("assembly ".concat(this.assembly," not found"));var n=t.refNameAliases,r=t.lowerCaseRefNameAliases;if(!n||!r)throw new Error("Session refNameAliases not found in assembly");var o,i=we(this.refSeqAliases);try{for(i.s();!(o=i.n()).done;){var a,s=o.value,u=s.refName,c=we(s.aliases);try{for(c.s();!(a=c.n()).done;){var l=a.value;n[l]=u,r[l.toLowerCase()]=u}}catch(e){c.e(e)}finally{c.f()}}}catch(e){i.e(e)}finally{i.f()}return t.setRefNameAliases(n,r),Promise.resolve()}},{key:"getInverse",value:function(){throw new Error("Method not implemented.")}},{key:"toJSON",value:function(){return{assembly:this.assembly,typeName:this.typeName,refSeqAliases:this.refSeqAliases}}},{key:"executeOnServer",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.refSeqModel,r=t.session,o=this.assembly,i=this.logger,a=we(this.refSeqAliases),e.prev=3,a.s();case 5:if((s=a.n()).done){e.next=13;break}return c=s.value,null===(u=i.debug)||void 0===u||u.call(i,"Updating Refname alias for assembly: ".concat(o,", refSeqAlias: ").concat(JSON.stringify(c))),l=c.aliases,f=c.refName,e.next=11,n.updateOne({assembly:o,name:f},{$set:{aliases:l}}).session(r);case 11:e.next=5;break;case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(3),a.e(e.t0);case 18:return e.prev=18,a.f(),e.finish(18);case 21:case"end":return e.stop()}}),e,this,[[3,15,18,21]])}))),function(e){return t.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:function(e){throw new Error("Method not implemented.")}},{key:"notification",get:function(){return"RefSeq aliases have been added."}}]),r}(ar.AssemblySpecificChange);Is.AddRefSeqAliasesChange=Ts;var Ms={};Object.defineProperty(Ms,"__esModule",{value:!0}),Ms.DeleteAssemblyChange=void 0;var js=O.default,Fs=function(e){oe(i,e);var t,n,r,o=fe(i);function i(){var e;ee(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return re(le(e=o.call.apply(o,[this].concat(n))),"typeName","DeleteAssemblyChange"),e}return ne(i,[{key:"notification",get:function(){return'Assembly "'.concat(this.assembly,'" deleted successfully.')}},{key:"toJSON",value:function(){return{typeName:this.typeName,assembly:this.assembly}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.assemblyModel,o=t.featureModel,i=t.refSeqChunkModel,a=t.refSeqModel,s=t.session,u=this.assembly,c=this.logger,e.next=4,r.findById(u).session(s).exec();case 4:if(e.sent){e.next=9;break}throw l='*** ERROR: Assembly with id "'.concat(u,'" not found'),c.error(l),new Error(l);case 9:return e.next=11,a.find({assembly:u}).exec();case 11:return f=e.sent.map((function(e){return e._id})),e.next=15,i.deleteMany({refSeq:f}).exec();case 15:return e.next=17,o.deleteMany({refSeq:f}).exec();case 17:return e.next=19,a.deleteMany({assembly:u}).exec();case 19:return e.next=21,r.findByIdAndDelete(u).exec();case 21:null===(n=c.debug)||void 0===n||n.call(c,'Assembly "'.concat(u,'" deleted from database.'));case 22:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=this.assembly,t){e.next=3;break}throw new Error("No data store");case 3:return i=(0,js.getSession)(t),t.assemblies.has(o)&&t.deleteAssembly(o),e.next=7,null===(n=i.removeAssembly)||void 0===n?void 0:n.call(i,o);case 7:return e.next=9,null===(r=i.removeSessionAssembly)||void 0===r?void 0:r.call(i,o);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new i({typeName:"DeleteAssemblyChange",assembly:this.assembly},{logger:this.logger})}}]),i}(ar.AssemblySpecificChange);Ms.DeleteAssemblyChange=Fs;var Ls={};Object.defineProperty(Ls,"__esModule",{value:!0}),Ls.DeleteUserChange=void 0;var Ds=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","DeleteUserChange"),re(le(n),"changes",void 0),re(le(n),"userId",void 0),n.changes="changes"in e?e.changes:[e],n.userId=e.userId,n}return ne(i,[{key:"toJSON",value:function(){return{typeName:this.typeName,userId:this.userId}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.session,r=t.userModel,o=this.logger,i=this.userId,e.next=4,r.findOneAndDelete({_id:i}).session(n).exec();case 4:if(e.sent){e.next=9;break}throw a='*** ERROR: User with id "'.concat(i,'" not found'),o.error(a),new Error(a);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new i({typeName:this.typeName,userId:this.userId},{logger:this.logger})}}]),i}(ar.Change);Ls.DeleteUserChange=Ds;var qs={};Object.defineProperty(qs,"__esModule",{value:!0}),qs.FeatureAttributeChange=void 0,qs.isFeatureAttributeChange=function(e){return"FeatureAttributeChange"===e.typeName};var Bs=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","FeatureAttributeChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=he(n,1)[0];return{typeName:r,changedIds:t,assembly:e,featureId:o.featureId,attributes:o.attributes}}return{typeName:r,changedIds:t,assembly:e,changes:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,i=this.logger,a=[],s=we(o=this.changes),e.prev=4,s.s();case 6:if((u=s.n()).done){e.next=26;break}return f=u.value.featureId,e.next=11,n.findOne({allIds:f}).session(r).exec();case 11:if(d=e.sent){e.next=16;break}throw h="*** ERROR: The following featureId was not found in database ='".concat(f,"'"),i.error(h),new Error(h);case 16:if(null===(c=i.debug)||void 0===c||c.call(i,"*** Feature found: ".concat(JSON.stringify(d))),p=this.getFeatureFromId(d,f)){e.next=22;break}throw i.error("ERROR when searching feature by featureId"),new Error("ERROR when searching feature by featureId");case 22:null===(l=i.debug)||void 0===l||l.call(i,"*** Found feature: ".concat(JSON.stringify(p))),a.push({feature:p,topLevelFeature:d});case 24:e.next=6;break;case 26:e.next=31;break;case 28:e.prev=28,e.t0=e.catch(4),s.e(e.t0);case 31:return e.prev=31,s.f(),e.finish(31);case 34:m=we(o.entries()),e.prev=35,m.s();case 37:if((g=m.n()).done){e.next=55;break}return v=he(g.value,2),w=(_=a[v[0]]).topLevelFeature,(b=_.feature).attributes=v[1].attributes,w._id.equals(b._id)?w.markModified("attributes"):w.markModified("children"),e.prev=43,e.next=46,w.save();case 46:e.next=52;break;case 48:throw e.prev=48,e.t1=e.catch(43),null===(S=i.debug)||void 0===S||S.call(i,"*** FAILED: ".concat(e.t1)),e.t1;case 52:null===(y=i.debug)||void 0===y||y.call(i,"*** Feature attributes modified (added, edited or deleted), docId: ".concat(JSON.stringify(w)));case 53:e.next=37;break;case 55:e.next=60;break;case 57:e.prev=57,e.t2=e.catch(35),m.e(e.t2);case 60:return e.prev=60,m.f(),e.finish(60);case 63:case"end":return e.stop()}}),e,this,[[4,28,31,34],[35,57,60,63],[43,48]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("applyToLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw new Error("No data store");case 2:n=we(this.changedIds.entries()),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=13;break}if(o=he(r.value,2),i=o[0],s=t.getFeature(a=o[1])){e.next=10;break}throw new Error('Could not find feature with identifier "'.concat(a,'"'));case 10:s.setAttributes(new Map(Object.entries(this.changes[i].attributes)));case 11:e.next=5;break;case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(3),n.e(e.t0);case 18:return e.prev=18,n.f(),e.finish(18);case 21:case"end":return e.stop()}}),e,this,[[3,15,18,21]])}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){var e=this.assembly,t=this.changes,n=this.logger;return new i({changedIds:me(this.changedIds).reverse(),typeName:"FeatureAttributeChange",changes:me(t).reverse().map((function(e){return{featureId:e.featureId,attributes:e.attributes}})),assembly:e},{logger:n})}}]),i}(ar.FeatureChange);qs.FeatureAttributeChange=Bs;var Us={},zs=["__v","_id","assemblies","internetAccounts","plugins","tracks"];function Gs(e){var t=e.assemblies,n=e.internetAccounts,r=e.plugins,o=e.tracks,i=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)t.indexOf(n=i[r])>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t.indexOf(n=i[r])>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,zs),a=null==t?void 0:t.filter((function(e){return"ApolloSequenceAdapter"!==e.sequence.adapter.type})),s=null==o?void 0:o.filter((function(e){return"ApolloTrack"!==e.type})),u=null==r?void 0:r.filter((function(e){return"Apollo"!==e.name})),c=null==n?void 0:n.filter((function(e){return"ApolloInternetAccount"!==e.type})),l=i;return a&&(l.assemblies=a),s&&(l.tracks=s),u&&(l.plugins=u),c&&(l.internetAccounts=c),l}Object.defineProperty(Us,"__esModule",{value:!0}),Us.ImportJBrowseConfigChange=void 0,Us.filterJBrowseConfig=Gs;var Hs=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","ImportJBrowseConfigChange"),re(le(n),"oldJBrowseConfig",void 0),re(le(n),"newJBrowseConfig",void 0),n.oldJBrowseConfig=e.oldJBrowseConfig,n.newJBrowseConfig=e.newJBrowseConfig,n}return ne(i,[{key:"toJSON",value:function(){return{typeName:this.typeName,oldJBrowseConfig:this.oldJBrowseConfig,newJBrowseConfig:this.newJBrowseConfig}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.jbrowseConfigModel,o=this.logger,i=this.newJBrowseConfig,e.next=4,r.deleteMany();case 4:if(i){e.next=6;break}return e.abrupt("return");case 6:return a=Gs(i),e.next=9,r.create(a);case 9:null===(n=o.debug)||void 0===n||n.call(o,"Stored new JBrowse Config");case 10:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new i({typeName:"ImportJBrowseConfigChange",oldJBrowseConfig:this.newJBrowseConfig,newJBrowseConfig:this.oldJBrowseConfig},{logger:this.logger})}}]),i}(ar.Change);Us.ImportJBrowseConfigChange=Hs;var Ws={};Object.defineProperty(Ws,"__esModule",{value:!0}),Ws.LocationEndChange=void 0,Ws.isLocationEndChange=function(e){return"LocationEndChange"===e.typeName};var Vs=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","LocationEndChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=he(n,1)[0];return{typeName:r,changedIds:t,assembly:e,featureId:o.featureId,oldEnd:o.oldEnd,newEnd:o.newEnd}}return{typeName:r,changedIds:t,assembly:e,changes:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A,C,O,R;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,i=this.logger,a=[],s=we(o=this.changes),e.prev=4,s.s();case 6:if((u=s.n()).done){e.next=49;break}return d=(f=u.value).featureId,h=f.oldEnd,e.next=11,n.findOne({allIds:d}).session(r).exec();case 11:if(p=e.sent){e.next=16;break}throw m="*** ERROR: The following featureId was not found in database ='".concat(d,"'"),i.error(m),new Error(m);case 16:if(null===(c=i.debug)||void 0===c||c.call(i,"*** TOP level feature found: ".concat(JSON.stringify(p))),g=this.getFeatureFromId(p,d)){e.next=22;break}throw i.error("ERROR when searching feature by featureId"),new Error("ERROR when searching feature by featureId");case 22:if(null===(l=i.debug)||void 0===l||l.call(i,"*** Found feature: ".concat(JSON.stringify(g))),g.max!==h){e.next=27;break}a.push({feature:g,topLevelFeature:p}),e.next=47;break;case 27:if(!g.children){e.next=47;break}y=we(g.children),e.prev=29,y.s();case 31:if((v=y.n()).done){e.next=39;break}if(_=he(v.value,2),(b=_[1]).max!==h){e.next=37;break}return null===(w=i.debug)||void 0===w||w.call(i,"*************** UPDATE CHILD FEATURE ID= ".concat(d,", CHILD: ").concat(JSON.stringify(b))),a.push({feature:b,topLevelFeature:p}),e.abrupt("break",39);case 37:e.next=31;break;case 39:e.next=44;break;case 41:e.prev=41,e.t0=e.catch(29),y.e(e.t0);case 44:return e.prev=44,y.f(),e.finish(44);case 47:e.next=6;break;case 49:e.next=54;break;case 51:e.prev=51,e.t1=e.catch(4),s.e(e.t1);case 54:return e.prev=54,s.f(),e.finish(54);case 57:S=we(o.entries()),e.prev=58,S.s();case 60:if((x=S.n()).done){e.next=78;break}return E=he(x.value,2),O=(A=a[E[0]]).topLevelFeature,(C=A.feature).max=E[1].newEnd,O._id.equals(C._id)?O.markModified("end"):O.markModified("children"),e.prev=66,e.next=69,O.save();case 69:e.next=75;break;case 71:throw e.prev=71,e.t2=e.catch(66),null===(R=i.debug)||void 0===R||R.call(i,"*** FAILED: ".concat(e.t2)),e.t2;case 75:null===(k=i.debug)||void 0===k||k.call(i,"*** Object updated in Mongo. New object: ".concat(JSON.stringify(O)));case 76:e.next=60;break;case 78:e.next=83;break;case 80:e.prev=80,e.t3=e.catch(58),S.e(e.t3);case 83:return e.prev=83,S.f(),e.finish(83);case 86:case"end":return e.stop()}}),e,this,[[4,51,54,57],[29,41,44,47],[58,80,83,86],[66,71]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw new Error("No data store");case 2:n=we(this.changedIds.entries()),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=13;break}if(o=he(r.value,2),i=o[0],s=t.getFeature(a=o[1])){e.next=10;break}throw new Error('Could not find feature with identifier "'.concat(a,'"'));case 10:s.setMax(this.changes[i].newEnd);case 11:e.next=5;break;case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(3),n.e(e.t0);case 18:return e.prev=18,n.f(),e.finish(18);case 21:case"end":return e.stop()}}),e,this,[[3,15,18,21]])}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){var e=this.assembly,t=this.changes,n=this.logger,r=this.typeName;return new i({changedIds:me(this.changedIds).reverse(),typeName:r,changes:me(t).reverse().map((function(e){return{featureId:e.featureId,oldEnd:e.newEnd,newEnd:e.oldEnd}})),assembly:e},{logger:n})}}]),i}(ar.FeatureChange);Ws.LocationEndChange=Vs;var $s={};Object.defineProperty($s,"__esModule",{value:!0}),$s.LocationStartChange=void 0,$s.isLocationStartChange=function(e){return"LocationStartChange"===e.typeName};var Js=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","LocationStartChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=he(n,1)[0];return{typeName:r,changedIds:t,assembly:e,featureId:o.featureId,oldStart:o.oldStart,newStart:o.newStart}}return{typeName:r,changedIds:t,assembly:e,changes:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E,A,C,O,R;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,i=this.logger,a=[],s=we(o=this.changes),e.prev=4,s.s();case 6:if((u=s.n()).done){e.next=49;break}return d=(f=u.value).featureId,h=f.oldStart,e.next=11,n.findOne({allIds:d}).session(r).exec();case 11:if(p=e.sent){e.next=16;break}throw m="*** ERROR: The following featureId was not found in database ='".concat(d,"'"),i.error(m),new Error(m);case 16:if(null===(c=i.debug)||void 0===c||c.call(i,"*** TOP level feature found: ".concat(JSON.stringify(p))),g=this.getFeatureFromId(p,d)){e.next=22;break}throw i.error("ERROR when searching feature by featureId"),new Error("ERROR when searching feature by featureId");case 22:if(null===(l=i.debug)||void 0===l||l.call(i,"*** Found feature: ".concat(JSON.stringify(g))),g.min!==h){e.next=27;break}a.push({feature:g,topLevelFeature:p}),e.next=47;break;case 27:if(!g.children){e.next=47;break}y=we(g.children),e.prev=29,y.s();case 31:if((v=y.n()).done){e.next=39;break}if(_=he(v.value,2),(b=_[1]).min!==h){e.next=37;break}return null===(w=i.debug)||void 0===w||w.call(i,"*** UPDATE CHILD FEATURE ID= ".concat(d,", CHILD: ").concat(JSON.stringify(b))),a.push({feature:b,topLevelFeature:p}),e.abrupt("break",39);case 37:e.next=31;break;case 39:e.next=44;break;case 41:e.prev=41,e.t0=e.catch(29),y.e(e.t0);case 44:return e.prev=44,y.f(),e.finish(44);case 47:e.next=6;break;case 49:e.next=54;break;case 51:e.prev=51,e.t1=e.catch(4),s.e(e.t1);case 54:return e.prev=54,s.f(),e.finish(54);case 57:S=we(o.entries()),e.prev=58,S.s();case 60:if((x=S.n()).done){e.next=78;break}return E=he(x.value,2),O=(A=a[E[0]]).topLevelFeature,(C=A.feature).min=E[1].newStart,O._id.equals(C._id)?O.markModified("start"):O.markModified("children"),e.prev=66,e.next=69,O.save();case 69:e.next=75;break;case 71:throw e.prev=71,e.t2=e.catch(66),null===(R=i.debug)||void 0===R||R.call(i,"*** FAILED: ".concat(e.t2)),e.t2;case 75:null===(k=i.debug)||void 0===k||k.call(i,"*** Object updated in Mongo. New object: ".concat(JSON.stringify(O)));case 76:e.next=60;break;case 78:e.next=83;break;case 80:e.prev=80,e.t3=e.catch(58),S.e(e.t3);case 83:return e.prev=83,S.f(),e.finish(83);case 86:case"end":return e.stop()}}),e,this,[[4,51,54,57],[29,41,44,47],[58,80,83,86],[66,71]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw new Error("No data store");case 2:n=we(this.changedIds.entries()),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=13;break}if(o=he(r.value,2),i=o[0],s=t.getFeature(a=o[1])){e.next=10;break}throw new Error('Could not find feature with identifier "'.concat(a,'"'));case 10:s.setMin(this.changes[i].newStart);case 11:e.next=5;break;case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(3),n.e(e.t0);case 18:return e.prev=18,n.f(),e.finish(18);case 21:case"end":return e.stop()}}),e,this,[[3,15,18,21]])}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){var e=this.assembly,t=this.changes,n=this.logger,r=this.typeName;return new i({changedIds:me(this.changedIds).reverse(),typeName:r,changes:me(t).reverse().map((function(e){return{featureId:e.featureId,oldStart:e.newStart,newStart:e.oldStart}})),assembly:e},{logger:n})}}]),i}(ar.FeatureChange);$s.LocationStartChange=Js;var Ks={};Object.defineProperty(Ks,"__esModule",{value:!0}),Ks.StrandChange=void 0;var Ys=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","StrandChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=he(n,1)[0];return{typeName:r,changedIds:t,assembly:e,featureId:o.featureId,oldStrand:o.oldStrand,newStrand:o.newStrand}}return{typeName:r,changedIds:t,assembly:e,changes:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,i=this.logger,a=[],s=we(o=this.changes),e.prev=4,s.s();case 6:if((u=s.n()).done){e.next=30;break}return d=(f=u.value).featureId,h=f.oldStrand,e.next=11,n.findOne({allIds:d}).session(r).exec();case 11:if(p=e.sent){e.next=16;break}throw m="*** ERROR: The following featureId was not found in database ='".concat(d,"'"),i.error(m),new Error(m);case 16:if(null===(c=i.debug)||void 0===c||c.call(i,"*** Feature found: ".concat(JSON.stringify(p))),g=this.getFeatureFromId(p,d)){e.next=22;break}throw i.error("ERROR when searching feature by featureId"),new Error("ERROR when searching feature by featureId");case 22:if(null===(l=i.debug)||void 0===l||l.call(i,"*** Found feature: ".concat(JSON.stringify(g))),g.strand===h){e.next=27;break}throw y="*** ERROR: Feature's current strand \"".concat(p.strand,'" doesn\'t match with expected value "').concat(h,'"'),i.error(y),new Error(y);case 27:a.push({feature:g,topLevelFeature:p});case 28:e.next=6;break;case 30:e.next=35;break;case 32:e.prev=32,e.t0=e.catch(4),s.e(e.t0);case 35:return e.prev=35,s.f(),e.finish(35);case 38:v=we(o.entries()),e.prev=39,v.s();case 41:if((_=v.n()).done){e.next=59;break}return w=he(_.value,2),k=(S=a[w[0]]).topLevelFeature,(x=S.feature).strand=w[1].newStrand,k._id.equals(x._id)?k.markModified("strand"):k.markModified("children"),e.prev=47,e.next=50,k.save();case 50:e.next=56;break;case 52:throw e.prev=52,e.t1=e.catch(47),null===(E=i.debug)||void 0===E||E.call(i,"*** FAILED: ".concat(e.t1)),e.t1;case 56:null===(b=i.debug)||void 0===b||b.call(i,"*** Object updated in Mongo. New object: ".concat(JSON.stringify(k)));case 57:e.next=41;break;case 59:e.next=64;break;case 61:e.prev=61,e.t2=e.catch(39),v.e(e.t2);case 64:return e.prev=64,v.f(),e.finish(64);case 67:case"end":return e.stop()}}),e,this,[[4,32,35,38],[39,61,64,67],[47,52]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw new Error("No data store");case 2:n=we(this.changedIds.entries()),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=13;break}if(o=he(r.value,2),i=o[0],s=t.getFeature(a=o[1])){e.next=10;break}throw new Error('Could not find feature with identifier "'.concat(a,'"'));case 10:s.setStrand(this.changes[i].newStrand);case 11:e.next=5;break;case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(3),n.e(e.t0);case 18:return e.prev=18,n.f(),e.finish(18);case 21:case"end":return e.stop()}}),e,this,[[3,15,18,21]])}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){var e=this.assembly,t=this.changes,n=this.logger,r=this.typeName;return new i({changedIds:me(this.changedIds).reverse(),typeName:r,changes:me(t).reverse().map((function(e){return{featureId:e.featureId,oldStrand:e.newStrand,newStrand:e.oldStrand}})),assembly:e},{logger:n})}}]),i}(ar.FeatureChange);Ks.StrandChange=Ys;var Zs={};Object.defineProperty(Zs,"__esModule",{value:!0}),Zs.TypeChange=void 0;var Xs=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","TypeChange"),re(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ne(i,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=he(n,1)[0];return{typeName:r,changedIds:t,assembly:e,featureId:o.featureId,oldType:o.oldType,newType:o.newType}}return{typeName:r,changedIds:t,assembly:e,changes:n}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k,E;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,i=this.logger,a=[],s=we(o=this.changes),e.prev=4,s.s();case 6:if((u=s.n()).done){e.next=30;break}return d=(f=u.value).featureId,h=f.oldType,e.next=11,n.findOne({allIds:d}).session(r).exec();case 11:if(p=e.sent){e.next=16;break}throw m="*** ERROR: The following featureId was not found in database ='".concat(d,"'"),i.error(m),new Error(m);case 16:if(null===(c=i.debug)||void 0===c||c.call(i,"*** Feature found: ".concat(JSON.stringify(p))),g=this.getFeatureFromId(p,d)){e.next=22;break}throw i.error("ERROR when searching feature by featureId"),new Error("ERROR when searching feature by featureId");case 22:if(null===(l=i.debug)||void 0===l||l.call(i,"*** Found feature: ".concat(JSON.stringify(g))),g.type===h){e.next=27;break}throw y="*** ERROR: Feature's current type \"".concat(p.type,'" doesn\'t match with expected value "').concat(h,'"'),i.error(y),new Error(y);case 27:a.push({feature:g,topLevelFeature:p});case 28:e.next=6;break;case 30:e.next=35;break;case 32:e.prev=32,e.t0=e.catch(4),s.e(e.t0);case 35:return e.prev=35,s.f(),e.finish(35);case 38:v=we(o.entries()),e.prev=39,v.s();case 41:if((_=v.n()).done){e.next=59;break}return w=he(_.value,2),k=(S=a[w[0]]).topLevelFeature,(x=S.feature).type=w[1].newType,k._id.equals(x._id)?k.markModified("type"):k.markModified("children"),e.prev=47,e.next=50,k.save();case 50:e.next=56;break;case 52:throw e.prev=52,e.t1=e.catch(47),null===(E=i.debug)||void 0===E||E.call(i,"*** FAILED: ".concat(e.t1)),e.t1;case 56:null===(b=i.debug)||void 0===b||b.call(i,"*** Object updated in Mongo. New object: ".concat(JSON.stringify(k)));case 57:e.next=41;break;case 59:e.next=64;break;case 61:e.prev=61,e.t2=e.catch(39),v.e(e.t2);case 64:return e.prev=64,v.f(),e.finish(64);case 67:case"end":return e.stop()}}),e,this,[[4,32,35,38],[39,61,64,67],[47,52]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){var n,r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw new Error("No data store");case 2:n=we(this.changedIds.entries()),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=13;break}if(o=he(r.value,2),i=o[0],s=t.getFeature(a=o[1])){e.next=10;break}throw new Error('Could not find feature with identifier "'.concat(a,'"'));case 10:s.setType(this.changes[i].newType);case 11:e.next=5;break;case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(3),n.e(e.t0);case 18:return e.prev=18,n.f(),e.finish(18);case 21:case"end":return e.stop()}}),e,this,[[3,15,18,21]])}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){var e=this.assembly,t=this.changes,n=this.logger,r=this.typeName;return new i({changedIds:me(this.changedIds).reverse(),typeName:r,changes:me(t).reverse().map((function(e){return{featureId:e.featureId,oldType:e.newType,newType:e.oldType}})),assembly:e},{logger:n})}}]),i}(ar.FeatureChange);Zs.TypeChange=Xs;var Qs={};Object.defineProperty(Qs,"__esModule",{value:!0}),Qs.UserChange=void 0;var eu=function(e){oe(i,e);var t,n,r,o=fe(i);function i(e,t){var n;return ee(this,i),re(le(n=o.call(this,e,t)),"typeName","UserChange"),re(le(n),"changes",void 0),re(le(n),"userId",void 0),n.changes="changes"in e?e.changes:[e],n.userId=e.userId,n}return ne(i,[{key:"toJSON",value:function(){var e=this.changes,t=this.typeName,n=this.userId;return 1===e.length?{typeName:t,userId:n,role:he(e,1)[0].role}:{typeName:t,userId:n,changes:e}}},{key:"executeOnServer",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a,s,u,c,l,f,d;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.session,r=t.userModel,i=this.logger,a=this.userId,s=we(o=this.changes),e.prev=3,s.s();case 5:if((u=s.n()).done){e.next=18;break}return l=u.value,null===(c=i.debug)||void 0===c||c.call(i,"change: ".concat(JSON.stringify(o))),f=l.role,e.next=11,r.findByIdAndUpdate(a,{role:f}).session(n).exec();case 11:if(e.sent){e.next=16;break}throw d='*** ERROR: User with id "'.concat(a,'" not found'),i.error(d),new Error(d);case 16:e.next=5;break;case 18:e.next=23;break;case 20:e.prev=20,e.t0=e.catch(3),s.e(e.t0);case 23:return e.prev=23,s.f(),e.finish(23);case 26:case"end":return e.stop()}}),e,this,[[3,20,23,26]])}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"executeOnClient",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new i({typeName:this.typeName,changes:this.changes,userId:this.userId},{logger:this.logger})}}]),i}(ar.Change);Qs.UserChange=eu,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.changes=void 0;var t=et;e.changes={AddAssemblyAndFeaturesFromFileChange:or.AddAssemblyAndFeaturesFromFileChange,AddAssemblyFromFileChange:bs.AddAssemblyFromFileChange,AddAssemblyFromExternalChange:qr.AddAssemblyFromExternalChange,AddFeatureChange:xs.AddFeatureChange,AddFeaturesFromFileChange:Rs.AddFeaturesFromFileChange,DeleteAssemblyChange:Ms.DeleteAssemblyChange,DeleteFeatureChange:ks.DeleteFeatureChange,DeleteUserChange:Ls.DeleteUserChange,FeatureAttributeChange:qs.FeatureAttributeChange,ImportJBrowseConfigChange:Us.ImportJBrowseConfigChange,LocationEndChange:Ws.LocationEndChange,LocationStartChange:$s.LocationStartChange,StrandChange:Ks.StrandChange,TypeChange:Zs.TypeChange,UserChange:Qs.UserChange,AddRefSeqAliasesChange:Is.AddRefSeqAliasesChange},t.__exportStar(or,e),t.__exportStar(bs,e),t.__exportStar(qr,e),t.__exportStar(xs,e),t.__exportStar(Rs,e),t.__exportStar(Ms,e),t.__exportStar(ks,e),t.__exportStar(Ls,e),t.__exportStar(qs,e),t.__exportStar(Us,e),t.__exportStar(Ws,e),t.__exportStar($s,e),t.__exportStar(Ks,e),t.__exportStar(Zs,e),t.__exportStar(Qs,e),t.__exportStar(Is,e)}(rr);var tu={},nu={};Object.defineProperty(nu,"__esModule",{value:!0}),nu.GetAssembliesOperation=void 0;var ru=function(e){oe(r,e);var t,n=fe(r);function r(){var e;ee(this,r);for(var t=arguments.length,o=new Array(t),i=0;i<t;i++)o[i]=arguments[i];return re(le(e=n.call.apply(n,[this].concat(o))),"typeName","GetAssembliesOperation"),e}return ne(r,[{key:"toJSON",value:function(){return{typeName:this.typeName}}},{key:"executeOnServer",value:function(e){return e.assemblyModel.find({status:0}).exec()}},{key:"executeOnLocalGFF3",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),r}(ar.Operation);nu.GetAssembliesOperation=ru;var ou={};Object.defineProperty(ou,"__esModule",{value:!0}),ou.GetFeaturesOperation=void 0;var iu=function(e){oe(r,e);var t,n=fe(r);function r(e,t){var o;return ee(this,r),re(le(o=n.call(this,e,t)),"typeName","GetFeaturesOperation"),re(le(o),"refSeq",void 0),re(le(o),"start",void 0),re(le(o),"end",void 0),o.refSeq=e.refSeq,o.start=e.start,o.end=e.end,o}return ne(r,[{key:"toJSON",value:function(){return{typeName:this.typeName,refSeq:this.refSeq,start:this.start,end:this.end}}},{key:"executeOnServer",value:function(e){return e.featureModel.find({refSeq:this.refSeq,min:{$lte:this.end},max:{$gte:this.start},status:0}).exec()}},{key:"executeOnLocalGFF3",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("executeOnLocalGFF3 not implemented");case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),r}(ar.Operation);ou.GetFeaturesOperation=iu,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.operations=void 0;var t=et;e.operations={GetAssembliesOperation:nu.GetAssembliesOperation,GetFeaturesOperation:ou.GetFeaturesOperation},t.__exportStar(nu,e),t.__exportStar(ou,e)}(tu);var au={},su={};Object.defineProperty(su,"__esModule",{value:!0}),su.Validation=void 0,su.isContext=function(e){return void 0!==e.context&&void 0!==e.reflector};var uu=function(){function e(){ee(this,e)}var t,n,r,o,i;return ne(e,[{key:"frontendPreValidate",value:(i=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"frontendPostValidate",value:(o=Q(Y().mark((function e(t,n){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return o.apply(this,arguments)})},{key:"backendPreValidate",value:(r=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"backendPostValidate",value:(n=Q(Y().mark((function e(t,n){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{validationName:this.name});case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"possibleValues",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",void 0);case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),e}();su.Validation=uu;var cu={};Object.defineProperty(cu,"__esModule",{value:!0}),cu.validationRegistry=cu.ValidationSet=cu.ValidationResultSet=void 0;var lu=function(){function e(){ee(this,e),re(this,"results",[]),re(this,"ok",!0)}return ne(e,[{key:"resultsMessages",get:function(){return this.results.map((function(e){var t;return null===(t=e.error)||void 0===t?void 0:t.message})).filter(Boolean).join(", ")}},{key:"add",value:function(e){this.results.push(e),e.error&&(this.ok=!1)}}]),e}();cu.ValidationResultSet=lu;var fu=function(){function e(){ee(this,e),re(this,"validations",new Set)}var t,n,r,o,i;return ne(e,[{key:"registerValidation",value:function(e){this.validations.add(e)}},{key:"frontendPreValidate",value:(i=Q(Y().mark((function e(t){var n,r,o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=new lu,r=we(this.validations),e.prev=2,r.s();case 4:if((o=r.n()).done){e.next=14;break}return i=o.value,e.next=8,i.frontendPreValidate(t);case 8:if(n.add(a=e.sent),!a.error){e.next=12;break}return e.abrupt("break",14);case 12:e.next=4;break;case 14:e.next=19;break;case 16:e.prev=16,e.t0=e.catch(2),r.e(e.t0);case 19:return e.prev=19,r.f(),e.finish(19);case 22:return e.abrupt("return",n);case 23:case"end":return e.stop()}}),e,this,[[2,16,19,22]])}))),function(e){return i.apply(this,arguments)})},{key:"frontendPostValidate",value:(o=Q(Y().mark((function e(t,n){var r,o,i,a,s;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=new lu,o=we(this.validations),e.prev=2,o.s();case 4:if((i=o.n()).done){e.next=14;break}return a=i.value,e.next=8,a.frontendPostValidate(t,n);case 8:if(r.add(s=e.sent),!s.error){e.next=12;break}return e.abrupt("break",14);case 12:e.next=4;break;case 14:e.next=19;break;case 16:e.prev=16,e.t0=e.catch(2),o.e(e.t0);case 19:return e.prev=19,o.f(),e.finish(19);case 22:return e.abrupt("return",r);case 23:case"end":return e.stop()}}),e,this,[[2,16,19,22]])}))),function(e,t){return o.apply(this,arguments)})},{key:"backendPreValidate",value:(r=Q(Y().mark((function e(t){var n,r,o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=new lu,r=we(this.validations),e.prev=2,r.s();case 4:if((o=r.n()).done){e.next=14;break}return i=o.value,e.next=8,i.backendPreValidate(t);case 8:if(n.add(a=e.sent),!a.error){e.next=12;break}return e.abrupt("break",14);case 12:e.next=4;break;case 14:e.next=19;break;case 16:e.prev=16,e.t0=e.catch(2),r.e(e.t0);case 19:return e.prev=19,r.f(),e.finish(19);case 22:return e.abrupt("return",n);case 23:case"end":return e.stop()}}),e,this,[[2,16,19,22]])}))),function(e){return r.apply(this,arguments)})},{key:"backendPostValidate",value:(n=Q(Y().mark((function e(t,n){var r,o,i,a,s,u,c;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=n.featureModel,o=n.session,i=new lu,a=we(this.validations),e.prev=3,a.s();case 5:if((s=a.n()).done){e.next=15;break}return u=s.value,e.next=9,u.backendPostValidate(t,{featureModel:r,session:o});case 9:if(i.add(c=e.sent),!c.error){e.next=13;break}return e.abrupt("break",15);case 13:e.next=5;break;case 15:e.next=20;break;case 17:e.prev=17,e.t0=e.catch(3),a.e(e.t0);case 20:return e.prev=20,a.f(),e.finish(20);case 23:return e.abrupt("return",i);case 24:case"end":return e.stop()}}),e,this,[[3,17,20,23]])}))),function(e,t){return n.apply(this,arguments)})},{key:"possibleValues",value:(t=Q(Y().mark((function e(t){var n,r,o,i;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=we(this.validations),e.prev=1,n.s();case 3:if((r=n.n()).done){e.next=12;break}return o=r.value,e.next=7,o.possibleValues(t);case 7:if(!(i=e.sent)){e.next=10;break}return e.abrupt("return",i);case 10:e.next=3;break;case 12:e.next=17;break;case 14:e.prev=14,e.t0=e.catch(1),n.e(e.t0);case 17:return e.prev=17,n.f(),e.finish(17);case 20:return e.abrupt("return");case 21:case"end":return e.stop()}}),e,this,[[1,14,17,20]])}))),function(e){return t.apply(this,arguments)})}]),e}();cu.ValidationSet=fu,cu.validationRegistry=new fu;var du={},hu={};Object.defineProperty(hu,"__esModule",{value:!0}),hu.default=["2A_self_cleaving_peptide_region","4_methylcytosine","5S_SINE_retrotransposon","5_carboxylcytosine","5_formylcytosine","5_hydroxymethylcytosine","5_methylcytosine","7SL_SINE_retrotransposon","8_oxoadenine","8_oxoguanine","AACCCT_box","AFLP_fragment","AP_1_binding_site","ARIA","ARRET","ARS","ARS_consensus_sequence","ASPE_primer","AUG_initiated_uORF","AU_rich_element","A_box","A_box_type_1","A_box_type_2","A_minor_RNA_motif","A_to_C_transversion","A_to_G_transition","A_to_T_transversion","Ace2_UAS","Alu_deletion","Alu_insertion","BAC","BAC_cloned_genomic_insert","BAC_end","BAC_read_contig","BREd_motif","BREu_motif","B_box","Bel_Pao_LTR_retrotransposon","Bruno_response_element","C-D_H_ACA_box_scaRNA","C-D_H_ACA_box_scaRNA_gene","CAAT_signal","CAAX_box","CACTA_TIR_transposon","CAGE_cluster","CAGE_tag","CArG_box","CCAAT_motif","CCA_tail","CDRE_motif","CDS","CDS_extension","CDS_five_prime_extension","CDS_fragment","CDS_independently_known","CDS_predicted","CDS_region","CDS_supported_by_EST_or_cDNA_data","CDS_supported_by_domain_match_data","CDS_supported_by_peptide_spectrum_match","CDS_supported_by_sequence_similarity_data","CDS_three_prime_extension","CRE","CRISPR","CSL_response_element","CTCF_binding_site","CTG_start_codon","C_D_box_scaRNA","C_D_box_scaRNA_gene","C_D_box_snoRNA","C_D_box_snoRNA_gene","C_D_box_snoRNA_primary_transcript","C_box","C_cluster","C_gene_segment","C_region","C_to_A_transversion","C_to_G_transversion","C_to_T_transition","C_to_T_transition_at_pCpG_site","ChIP_seq_region","Copia_LTR_retrotransposon","CpG_island","Crick_strand","Crypton_YR_transposon","CsrB_RsmB_RNA","CuRE","DArT_marker","DCE","DCE_SI","DCE_SII","DCE_SIII","DDB_box","DHU_loop","DIRS_YR_retrotransposon","DJ_C_cluster","DJ_J_C_cluster","DJ_J_cluster","DJ_gene_segment","DMv1_motif","DMv2_motif","DMv3_motif","DMv4_motif","DMv5_motif","DNA_aptamer","DNA_binding_site","DNA_chromosome","DNA_constraint_sequence","DNA_loop","DNA_loop_anchor","DNA_motif","DNA_sequence_secondary_structure","DNA_transposon","DNAzyme","DNaseI_hypersensitive_site","DPE1_motif","DPE_motif","DRE","DRE_motif","DSR_motif","D_DJ_C_cluster","D_DJ_J_C_cluster","D_DJ_J_cluster","D_DJ_cluster","D_J_C_cluster","D_J_cluster","D_cluster","D_gene_recombination_feature","D_gene_segment","D_loop","DsrA_RNA","ER_retention_signal","EST","EST_match","E_box_motif","Endogenous_Retrovirus_LTR_retrotransposon","FLEX_element","FRE","FRT_site","GAGA_motif","GATA_box","GC_rich_promoter_region","GNA_oligo","GTT_trinucleotide_repeat","GT_dinucleotide_repeat","G_box","G_quartet","G_to_A_transition","G_to_C_transversion","G_to_T_transversion","GcvB_RNA","Gypsy_LTR_retrotransposon","H2AK5_acetylation_site","H2AK9_acetylation_site","H2AZK11_acetylation_site","H2AZK13_acetylation_site","H2AZK15_acetylation_site","H2AZK4_acetylation_site","H2AZK7_acetylation_site","H2BK120_acetylation_site","H2BK12_acetylation_site","H2BK15_acetylation_site","H2BK20_acetylation_site","H2BK5_acetylation_site","H2BK5_monomethylation_site","H2B_ubiquitination_site","H3K14_acetylation_site","H3K18_acetylation_site","H3K20_trimethylation_site","H3K23_acetylation_site","H3K23_dimethylation_site","H3K27_acetylation_site","H3K27_dimethylation_site","H3K27_methylation_site","H3K27_monomethylation_site","H3K27_trimethylation_site","H3K36_acetylation_site","H3K36_dimethylation_site","H3K36_methylation_site","H3K36_monomethylation_site","H3K36_trimethylation_site","H3K4_acetylation_site","H3K4_dimethylation_site","H3K4_methylation_site","H3K4_monomethylation_site","H3K4_trimethylation","H3K56_acetylation_site","H3K79_dimethylation_site","H3K79_methylation_site","H3K79_monomethylation_site","H3K79_trimethylation_site","H3K9_acetylation_site","H3K9_dimethylation_site","H3K9_methylation_site","H3K9_monomethylation_site","H3K9_trimethylation_site","H3R2_dimethylation_site","H3R2_monomethylation_site","H4K12_acetylation_site","H4K16_acetylation_site","H4K20_monomethylation_site","H4K4_trimethylation_site","H4K5_acetylation_site","H4K8_acetylation_site","H4K91_acetylation_site","H4K_acylation_region","H4R3_dimethylation_site","HERV_deletion","HERV_insertion","HSE","H_ACA_box_scaRNA","H_ACA_box_scaRNA_gene","H_ACA_box_snoRNA","H_ACA_box_snoRNA_gene","H_ACA_box_snoRNA_primary_transcript","H_pseudoknot","Hoogsteen_base_pair","I-box","IG_C_gene","IG_C_pseudogene","IG_D_gene","IG_J_gene","IG_J_pseudogene","IG_V_gene","IG_V_pseudogene","INR1_motif","INR_motif","IRLinv_site","IRRinv_site","ISRE","I_LINE_retrotransposon","J_C_cluster","J_cluster","J_gene_recombination_feature","J_gene_segment","J_heptamer","J_nonamer","J_spacer","Jockey_LINE_retrotransposon","KEN_box","K_turn_RNA_motif","L1_LINE_retrotransposon","LARD","LINE1_deletion","LINE1_insertion","LINE_element","LNA_oligo","LOZ1_response_element","LTR_component","LTR_retrotransposon","L_box","MCB","MITE","MNP","MNV","MNV_artifact","MTE","Mat2P","Mat3M","Merlin_TIR_transposon","MicF_RNA","Mutator_TIR_transposon","N2_2_prime_O_dimethylguanosine","N2_7_2prirme_O_trimethylguanosine","N2_7_dimethylguanosine","N2_N2_2_prime_O_trimethylguanosine","N2_N2_7_trimethylguanosine","N2_N2_dimethylguanosine","N2_methylguanosine","N4_2_prime_O_dimethylcytidine","N4_N4_2_prime_O_trimethylcytidine","N4_acetyl_2_prime_O_methylcytidine","N4_acetylcytidine","N4_methylcytidine","N6_2_prime_O_dimethyladenosine","N6_N6_2_prime_O_trimethyladenosine","N6_N6_dimethyladenosine","N6_acetyladenosine","N6_cis_hydroxyisopentenyl_adenosine","N6_glycinylcarbamoyladenosine","N6_hydroxynorvalylcarbamoyladenosine","N6_isopentenyladenosine","N6_methyl_N6_threonylcarbamoyladenosine","N6_methyladenine","N6_methyladenosine","N6_threonylcarbamoyladenosine","NDM2_motif","NDM3_motif","NMD_polymorphic_pseudogene_transcript","NMD_transcript","NSD_transcript","N_region","Ngaro_YR_retrotransposon","ORF","Okazaki_fragment","OxyS_RNA","PAC","PAC_end","PCB","PCR_product","PIF_Harbinger_TIR_transposon","PIP_box","PNA_oligo","PSE_motif","P_TIR_transposon","Penelope_retrotransposon","Phage_RNA_Polymerase_Promoter","Pho7_binding_site","QTL","R2_LINE_retrotransposon","RAPD","RFLP_fragment","RH_map","RNA_6S","RNA_7SK","RNA_7SK_gene","RNA_aptamer","RNA_chromosome","RNA_hook_turn","RNA_internal_loop","RNA_junction_loop","RNA_motif","RNA_polymerase_III_TATA_box","RNA_polymerase_II_TATA_box","RNA_sequence_secondary_structure","RNA_stability_element","RNA_thermometer","RNAi_reagent","RNApol_III_promoter","RNApol_III_promoter_type_1","RNApol_III_promoter_type_2","RNApol_III_promoter_type_3","RNApol_II_core_promoter","RNApol_II_promoter","RNApol_I_promoter","RNase_MRP_RNA","RNase_MRP_RNA_gene","RNase_P_RNA","RNase_P_RNA_gene","RRE_RNA","RR_tract","RST","RST_match","RTE_LINE_retrotransposon","R_GNA_oligo","R_LTR_region","R_five_prime_LTR_region","R_three_prime_LTR_region","Retrovirus_LTR_retrotransposon","Robertsonian_fusion","RprA_RNA","SAGE_tag","SECIS_element","SHP_box","SINE_element","SL10_acceptor_site","SL11_acceptor_site","SL12_acceptor_site","SL1_acceptor_site","SL2_acceptor_site","SL3_acceptor_site","SL4_acceptor_site","SL5_acceptor_site","SL6_acceptor_site","SL7_acceptor_site","SL8_acceptor_site","SL9_acceptor_site","SNP","SNV","SNV_artifact","SP6_RNA_Polymerase_Promoter","SRP_RNA","SRP_RNA_gene","SRP_RNA_primary_transcript","STREP_motif","STS","STS_map","SUMO_interaction_motif","SVA_deletion","SVA_insertion","S_GNA_oligo","S_region","Sap1_recognition_motif","Shine_Dalgarno_sequence","T3_RNA_Polymerase_Promoter","T7_RNA_Polymerase_Promoter","TATA_box","TCS_element","TCT_motif","TERRA","TFRS_collection","TFRS_module","TF_binding_site","TNA_oligo","TRIM","TR_C_Gene","TR_D_Gene","TR_J_Gene","TR_J_pseudogene","TR_V_Gene","TR_V_pseudogene","TR_box","TSS","T_cell_receptor_gene","T_cell_receptor_pseudogene","T_loop","T_to_A_transversion","T_to_C_transition","T_to_G_transversion","Tc1_Mariner_TIR_transposon","Transib_TIR_transposon","U11_snRNA","U12_intron","U12_snRNA","U14_snoRNA","U14_snoRNA_gene","U14_snoRNA_primary_transcript","U1_snRNA","U2_intron","U2_snRNA","U3_LTR_region","U3_five_prime_LTR_region","U3_snoRNA","U3_snoRNA_gene","U3_three_prime_LTR_region","U4_snRNA","U4atac_snRNA","U5_LTR_region","U5_five_prime_LTR_region","U5_snRNA","U5_three_prime_LTR_region","U6_snRNA","U6atac_snRNA","U7_snRNA","UAA_stop_codon_signal","UAG_stop_codon_signal","UGA_stop_codon_signal","UNAAAC_motif","UPD","UST","UST_match","UTR","UTR_intron","UTR_region","U_box","VDJ_C_cluster","VDJ_J_C_cluster","VDJ_J_cluster","VDJ_gene_segment","VD_gene_segment","VJ_C_cluster","VJ_J_C_cluster","VJ_J_cluster","VJ_gene_segment","V_DJ_C_cluster","V_DJ_J_C_cluster","V_DJ_J_cluster","V_DJ_cluster","V_D_DJ_C_cluster","V_D_DJ_J_C_cluster","V_D_DJ_J_cluster","V_D_DJ_cluster","V_D_J_C_cluster","V_D_J_cluster","V_J_C_cluster","V_J_cluster","V_VDJ_C_cluster","V_VDJ_J_C_cluster","V_VDJ_J_cluster","V_VDJ_cluster","V_VJ_C_cluster","V_VJ_J_C_cluster","V_VJ_J_cluster","V_VJ_cluster","V_cluster","V_gene_recombination_feature","V_gene_segment","V_heptamer","V_nonamer","V_region","V_spacer","Viper_YR_retrotransposon","WC_base_pair","W_region","Watson_strand","X_element","X_element_combinatorial_repeat","X_region","YAC","YAC_end","YR_retrotransposon","Y_RNA","Y_RNA_gene","Y_RNA_primary_transcript","Y_prime_element","Y_region","Z1_region","Z2_region","Zas1_recognition_motif","aberrant_processed_transcript","accessible_DNA_region","active_peptide","adaptive_island","alanine","alanine_tRNA_primary_transcript","alanyl_tRNA","allelic_pseudogene","allelic_pseudogenic_rRNA","allelic_pseudogenic_tRNA","allelically_excluded_gene","alpha_beta_motif","alpha_helix","alternate_sequence_site","alternatively_spliced_transcript","amber_stop_codon","ambisense_ssRNA_viral_sequence","amino_acid","amplification_origin","anchor_binding_site","anchor_region","androgen_response_element","anti_ARRET","anticodon","anticodon_loop","antiparallel_beta_strand","antisense_RNA","antisense_lncRNA","antisense_lncRNA_gene","antisense_primary_transcript","apicoplast_chromosome","apicoplast_gene","aptamer","archaeal_intron","archaeosine","arginine","arginine_tRNA_primary_transcript","arginyl_tRNA","asparagine","asparagine_tRNA_primary_transcript","asparaginyl_tRNA","aspartic_acid","aspartic_acid_tRNA_primary_transcript","aspartyl_tRNA","assembly","assembly_component","assembly_error_correction","asx_motif","asx_turn","asx_turn_left_handed_type_one","asx_turn_left_handed_type_two","asx_turn_right_handed_type_one","asx_turn_right_handed_type_two","asymmetric_RNA_internal_loop","attB_site","attC_site","attCtn_site","attI_site","attL_site","attP_site","attR_site","attenuator","autocatalytically_spliced_intron","bacterial_RNApol_promoter","bacterial_RNApol_promoter_sigma54_element","bacterial_RNApol_promoter_sigma_70_element","bacterial_RNApol_promoter_sigma_ecf_element","bacterial_terminator","base","base_call_error_correction","base_pair","beta_bulge","beta_bulge_loop","beta_bulge_loop_five","beta_bulge_loop_six","beta_strand","beta_turn","beta_turn_left_handed_type_one","beta_turn_left_handed_type_two","beta_turn_right_handed_type_one","beta_turn_right_handed_type_two","beta_turn_type_eight","beta_turn_type_six","beta_turn_type_six_a","beta_turn_type_six_a_one","beta_turn_type_six_a_two","beta_turn_type_six_b","bidirectional_promoter","bidirectional_promoter_lncRNA","binding_site","biochemical_region_of_peptide","biological_region","biomaterial_region","biosynthetic_gene_cluster","blocked_reading_frame","blunt_end_restriction_enzyme_cleavage_junction","blunt_end_restriction_enzyme_cleavage_site","boundary_element","branch_site","cDNA_clone","cDNA_match","c_terminal_region","candidate_gene","canonical_five_prime_splice_site","canonical_three_prime_splice_site","cap","capped_mRNA","capped_primary_transcript","cassette_pseudogene","catalytic_residue","catmat_left_handed_four","catmat_left_handed_three","catmat_right_handed_four","catmat_right_handed_three","central_hydrophobic_region_of_signal_peptide","centromere","centromere_DNA_Element_I","centromere_DNA_Element_II","centromere_DNA_Element_III","centromeric_repeat","chimeric_cDNA_clone","chloroplast_DNA_read","chloroplast_chromosome","chromatin_regulatory_region","chromoplast_chromosome","chromoplast_gene","chromosomal_regulatory_element","chromosomal_structural_element","chromosomal_translocation","chromosome","chromosome_arm","chromosome_band","chromosome_breakage_sequence","chromosome_breakpoint","chromosome_part","circular_double_stranded_DNA_chromosome","circular_double_stranded_RNA_chromosome","circular_mRNA","circular_ncRNA","circular_plasmid","circular_single_stranded_DNA_chromosome","circular_single_stranded_RNA_chromosome","cis_acting_homologous_chromosome_pairing_region","cis_regulatory_frameshift_element","cis_regulatory_module","cis_splice_site","class_II_RNA","class_I_RNA","cleaved_for_gpi_anchor_region","cleaved_initiator_methionine","cleaved_peptide_region","clip","clone","clone_end","clone_insert","clone_insert_end","clone_insert_start","cloned_cDNA_insert","cloned_genomic_insert","cloned_region","coding_conserved_region","coding_end","coding_exon","coding_region_of_exon","coding_start","coding_transcript_with_retained_intron","codon","coiled_coil","cointegrated_plasmid","common_fragile_site","complex_chromosomal_rearrangement","complex_operon","complex_regulon","complex_structural_alteration","complex_substitution","compositionally_biased_region_of_peptide","conformational_switch","conjugative_transposon","consensus_AFLP_fragment","consensus_gDNA","consensus_mRNA","consensus_region","conserved_region","constitutive_promoter","contig","contig_collection","contig_read","copy_number_gain","copy_number_loss","copy_number_variation","core_eukaryotic_promoter_element","core_prokaryotic_promoter_element","core_promoter_element","core_viral_promoter_element","cosmid","cross_genome_match","cryptic_gene","cryptic_promoter","cryptic_prophage","cryptic_splice_site","cryptogene","ct_gene","cyanelle_chromosome","cyanelle_gene","cyclic_translocation","cysteine","cysteine_tRNA_primary_transcript","cysteinyl_tRNA","cytoplasmic_polypeptide_region","cytosolic_16S_rRNA","cytosolic_18S_rRNA","cytosolic_23S_rRNA","cytosolic_25S_rRNA","cytosolic_28S_rRNA","cytosolic_2S_rRNA","cytosolic_5S_rRNA","cytosolic_5_8S_rRNA","cytosolic_LSU_rRNA","cytosolic_LSU_rRNA_gene","cytosolic_SSU_rRNA","cytosolic_SSU_rRNA_gene","cytosolic_rRNA","cytosolic_rRNA_16S_gene","cytosolic_rRNA_18S_gene","cytosolic_rRNA_23S_gene","cytosolic_rRNA_25S_gene","cytosolic_rRNA_28S_gene","cytosolic_rRNA_2S_gene","cytosolic_rRNA_5S_gene","cytosolic_rRNA_5_8S_gene","cytosolic_rRNA_gene","dCAPS_primer","databank_entry","decayed_exon","defective_conjugative_transposon","deficient_translocation","deletion","deletion_artifact","deletion_breakpoint","deletion_junction","delins","destruction_box","dg_repeat","dh_repeat","dicistronic_mRNA","dicistronic_primary_transcript","dicistronic_transcript","dif_site","dihydrouridine","dinucleotide_repeat_microsatellite_feature","direct_repeat","direct_tandem_duplication","disabled_reading_frame","dispersed_repeat","distal_duplication","distal_promoter_element","distant_three_prime_recoding_signal","double_stranded_DNA_chromosome","double_stranded_RNA_chromosome","ds_DNA_viral_sequence","ds_RNA_viral_sequence","ds_oligo","duplicated_pseudogene","duplication","duplication_artifact","dye_terminator_read","early_origin_of_replication","edited_CDS","edited_mRNA","edited_transcript","edited_transcript_by_A_to_I_substitution","edited_transcript_feature","editing_block","editing_domain","endogenous_retroviral_gene","endonuclease_spliced_intron","endosomal_localization_signal","engineered_episome","engineered_foreign_gene","engineered_foreign_region","engineered_foreign_repetitive_element","engineered_foreign_transposable_element","engineered_foreign_transposable_element_gene","engineered_fusion_gene","engineered_gene","engineered_insert","engineered_plasmid","engineered_region","engineered_rescue_region","engineered_tag","engineered_transposable_element","enhancer","enhancerRNA","enhancer_binding_site","enhancer_blocking_element","enhancer_bound_by_factor","enhancer_trap_construct","enzymatic_RNA","enzymatic_RNA_gene","epigenetically_modified_gene","epigenetically_modified_region","epigenomically_modified_region","episome","epitope","epoxyqueuosine","eukaryotic_promoter","eukaryotic_terminator","exemplar_mRNA","exon","exon_junction","exon_of_single_exon_gene","exon_region","exonic_splice_enhancer","exonic_splicing_silencer","experimental_feature","experimental_result_region","experimentally_defined_binding_region","expressed_sequence_assembly","expressed_sequence_match","extended_cis_splice_site","extended_intronic_splice_region","external_transcribed_spacer_region","extrachromosomal_mobile_genetic_element","extramembrane_polypeptide_region","fingerprint_map","five_aminomethyl_two_thiouridine","five_carbamoylmethyl_two_prime_O_methyluridine","five_carbamoylmethyluridine","five_carboxyhydroxymethyl_uridine","five_carboxyhydroxymethyl_uridine_methyl_ester","five_carboxymethylaminomethyl_two_prime_O_methyluridine","five_carboxymethylaminomethyl_two_thiouridine","five_carboxymethylaminomethyluridine","five_carboxymethyluridine","five_formyl_two_prime_O_methylcytidine","five_formylcytidine","five_hydroxymethylcytidine","five_hydroxyuridine","five_isopentenylaminomethyl_two_prime_O_methyluridine","five_isopentenylaminomethyl_two_thiouridine","five_isopentenylaminomethyl_uridine","five_methoxycarbonylmethyl_two_prime_O_methyluridine","five_methoxycarbonylmethyl_two_thiouridine","five_methoxycarbonylmethyluridine","five_methoxyuridine","five_methyl_2_thiouridine","five_methylaminomethyl_two_selenouridine","five_methylaminomethyl_two_thiouridine","five_methylaminomethyluridine","five_methylcytidine","five_methyldihydrouridine","five_methyluridine","five_prime_D_heptamer","five_prime_D_nonamer","five_prime_D_recombination_signal_sequence","five_prime_D_spacer","five_prime_EST","five_prime_LTR","five_prime_LTR_component","five_prime_RST","five_prime_UST","five_prime_UTR","five_prime_UTR_intron","five_prime_cis_splice_site","five_prime_clip","five_prime_coding_exon","five_prime_coding_exon_coding_region","five_prime_coding_exon_noncoding_region","five_prime_flanking_region","five_prime_intron","five_prime_noncoding_exon","five_prime_open_reading_frame","five_prime_recoding_site","five_prime_restriction_enzyme_junction","five_prime_sticky_end_restriction_enzyme_cleavage_site","five_prime_terminal_inverted_repeat","five_taurinomethyl_two_thiouridine","five_taurinomethyluridine","five_two_prime_O_dimethylcytidine","five_two_prime_O_dimethyluridine","flanking_region","flanking_repeat","flanking_three_prime_quadruplet_recoding_signal","floxed_gene","foldback_element","foreign_gene","foreign_transposable_element","forkhead_motif","forward_primer","fosmid","four_bp_start_codon","four_demethylwyosine","four_thiouridine","fragile_site","fragment_assembly","functional_candidate_gene","functional_gene_region","fusion_gene","gRNA_gene","galactosyl_queuosine","gamma_turn","gamma_turn_classic","gamma_turn_inverse","gap","gene","gene_array","gene_cassette","gene_cassette_array","gene_component_region","gene_fragment","gene_group","gene_member_region","gene_rearranged_at_DNA_level","gene_segment","gene_silenced_by_DNA_methylation","gene_silenced_by_DNA_modification","gene_silenced_by_RNA_interference","gene_silenced_by_histone_deacetylation","gene_silenced_by_histone_methylation","gene_silenced_by_histone_modification","gene_subarray","gene_trap_construct","gene_with_dicistronic_mRNA","gene_with_dicistronic_primary_transcript","gene_with_dicistronic_transcript","gene_with_edited_transcript","gene_with_mRNA_recoded_by_translational_bypass","gene_with_mRNA_with_frameshift","gene_with_non_canonical_start_codon","gene_with_polyadenylated_mRNA","gene_with_polycistronic_transcript","gene_with_recoded_mRNA","gene_with_start_codon_CUG","gene_with_stop_codon_read_through","gene_with_stop_codon_redefined_as_pyrrolysine","gene_with_stop_codon_redefined_as_selenocysteine","gene_with_trans_spliced_transcript","gene_with_transcript_with_translational_frameshift","genetic_marker","genomic_DNA_contig","genomic_DNA_read","genomic_clone","genomic_island","genomically_contaminated_cDNA_clone","glutamic_acid","glutamic_acid_tRNA_primary_transcript","glutamine","glutamine_tRNA_primary_transcript","glutaminyl_tRNA","glutamyl_tRNA","glycine","glycine_tRNA_primary_transcript","glycyl_tRNA","golden_path","golden_path_fragment","group_1_intron_homing_endonuclease_target_region","group_IIA_intron","group_IIB_intron","group_IIC_intron","group_III_intron","group_II_intron","group_I_intron","guide_RNA","guide_RNA_region","hAT_TIR_transposon","hammerhead_ribozyme","haplotype_block","helitron","helix_turn_helix","heptamer_of_recombination_feature_of_vertebrate_immune_system_gene","heritable_phenotypic_marker","high_identity_region","histidine","histidine_tRNA_primary_transcript","histidyl_tRNA","histone_2AZ_acetylation_site","histone_2A_acetylation_site","histone_2B_acetylation_site","histone_3_acetylation_site","histone_4_acetylation_site","histone_acetylation_site","histone_acylation_region","histone_binding_site","histone_methylation_site","histone_modification","histone_ubiqitination_site","homing_endonuclease_binding_site","homol_D_box","homol_E_box","homologous_chromosome_recognition_and_pairing_locus","homologous_region","hpRNA","hpRNA_gene","hydrophobic_region_of_peptide","hydroxywybutosine","iDNA","i_motif","immature_peptide_region","immunoglobulin_gene","immunoglobulin_pseudogene","immunoglobulin_region","imprinting_control_region","indel_artifact","inducible_promoter","inert_DNA_spacer","inosine","insertion","insertion_artifact","insertion_breakpoint","insertion_sequence","insertion_site","insulator","insulator_binding_site","integrated_mobile_genetic_element","integrated_plasmid","integration_excision_site","integron","intein","intein_encoding_region","interband","interchromosomal_breakpoint","interchromosomal_translocation","intergenic_region","interior_coding_exon","interior_exon","interior_intron","intermediate_element","internal_Shine_Dalgarno_sequence","internal_UTR","internal_eliminated_sequence","internal_guide_sequence","internal_ribosome_entry_site","internal_transcribed_spacer_region","intrachromosomal_breakpoint","intrachromosomal_translocation","intramembrane_polypeptide_region","intrinsically_unstructured_polypeptide_region","introgressed_chromosome_region","intron","intron_base_5","intron_domain","intronic_regulatory_region","intronic_splice_enhancer","intronic_splicing_silencer","invalidated_cDNA_clone","inversion","inversion_breakpoint","inversion_cum_translocation","inversion_site","inversion_site_part","inverted_intrachromosomal_transposition","inverted_repeat","inverted_tandem_duplication","iron_repressed_GATA_element","iron_responsive_element","isoleucine","isoleucine_tRNA_primary_transcript","isoleucyl_tRNA","isomiR","isowyosine","junction","kinetoplast_gene","knob","kozak_sequence","lambda_vector","lariat_intron","late_origin_of_replication","left_handed_peptide_helix","leucine","leucine_tRNA_primary_transcript","leucoplast_chromosome","leucoplast_gene","leucyl_tRNA","ligand_binding_site","ligation_based_read","lincRNA","lincRNA_gene","linear_double_stranded_DNA_chromosome","linear_double_stranded_RNA_chromosome","linear_plasmid","linear_single_stranded_DNA_chromosome","linear_single_stranded_RNA_chromosome","linkage_group","lipoprotein_signal_peptide","lncRNA","lncRNA_gene","lncRNA_primary_transcript","lncRNA_with_retained_intron","loR","locus_control_region","long_terminal_repeat","long_terminal_repeat_transcript","loop","low_complexity_region","loxP_site","lysidine","lysine","lysine_tRNA_primary_transcript","lysosomal_localization_signal","lysyl_tRNA","mRNA","mRNA_contig","mRNA_read","mRNA_recoded_by_codon_redefinition","mRNA_recoded_by_translational_bypass","mRNA_region","mRNA_with_frameshift","mRNA_with_minus_1_frameshift","mRNA_with_minus_2_frameshift","mRNA_with_plus_1_frameshift","mRNA_with_plus_2_frameshift","macronuclear_chromosome","macronucleus_destined_segment","major_TSS","mannosyl_queuosine","match","match_part","maternal_uniparental_disomy","maternally_imprinted_gene","mathematically_defined_repeat","mating_type_M_box","mating_type_region","mating_type_region_motif","mating_type_region_replication_fork_barrier","matrix_attachment_site","mature_protein_region","mature_protein_region_of_CDS","mature_transcript","mature_transcript_region","maxicircle","maxicircle_gene","meiotic_recombination_region","membrane_peptide_loop","membrane_structure","metabolic_island","metal_binding_site","methionine","methionine_tRNA_primary_transcript","methionyl_tRNA","methylated_DNA_base_feature","methylated_adenine","methylated_cytosine","methylation_guide_snoRNA","methylation_guide_snoRNA_gene","methylation_guide_snoRNA_primary_transcript","methylinosine","methylwyosine","miRNA","miRNA_antiguide","miRNA_gene","miRNA_loop","miRNA_primary_transcript","miRNA_primary_transcript_region","miRNA_stem","miRNA_target_site","miR_encoding_Y_RNA_primary_transcript","miR_encoding_lncRNA_primary_transcript","miR_encoding_shRNA_primary_transcript","miR_encoding_snoRNA_primary_transcript","miR_encoding_tRNA_primary_transcript","miR_encoding_vaultRNA_primary_transcript","miRtron","microarray_oligo","micronuclear_chromosome","microsatellite","mini_exon_donor_RNA","mini_gene","minicircle","minicircle_gene","minisatellite","minor_TSS","minus_10_signal","minus_12_signal","minus_1_translational_frameshift","minus_24_signal","minus_2_translational_frameshift","minus_35_signal","mitochondrial_DNA_read","mitochondrial_D_loop","mitochondrial_chromosome","mitochondrial_contig","mitochondrial_control_region","mitochondrial_supercontig","mitochondrial_targeting_signal","mitotic_recombination_region","moR","mobile_element_deletion","mobile_element_insertion","mobile_genetic_element","mobile_intron","modified_DNA_base","modified_L_alanine","modified_L_arginine","modified_L_asparagine","modified_L_aspartic_acid","modified_L_cysteine","modified_L_glutamic_acid","modified_L_glutamine","modified_L_histidine","modified_L_isoleucine","modified_L_leucine","modified_L_lysine","modified_L_methionine","modified_L_phenylalanine","modified_L_proline","modified_L_selenocysteine","modified_L_serine","modified_L_threonine","modified_L_tryptophan","modified_L_tyrosine","modified_L_valine","modified_RNA_base_feature","modified_adenine","modified_adenosine","modified_amino_acid_feature","modified_cytidine","modified_cytosine","modified_glycine","modified_guanine","modified_guanosine","modified_inosine","modified_uridine","molecular_contact_region","monocistronic_mRNA","monocistronic_primary_transcript","monocistronic_transcript","monomeric_repeat","morpholino_oligo","mt_LSU_rRNA","mt_LSU_rRNA_gene","mt_SSU_rRNA","mt_SSU_rRNA_gene","mt_gene","mt_rRNA","mt_rRNA_gene","mt_tRNA","multiplexing_sequence_identifier","mutated_variant_site","mutational_hotspot","n_terminal_region","natural_plasmid","natural_transposable_element","natural_variant_site","ncRNA","ncRNA_gene","nc_conserved_region","nc_primary_transcript","negative_sense_ssRNA_viral_sequence","negatively_autoregulated_gene","nested_repeat","nested_tandem_repeat","nested_transposon","no_output","no_sequence_alteration","non_AUG_initiated_uORF","non_LTR_retrotransposon","non_LTR_retrotransposon_polymeric_tract","non_adjacent_residues","non_allelic_homologous_recombination_region","non_canonical_five_prime_splice_site","non_canonical_start_codon","non_canonical_three_prime_splice_site","non_complimentary_stem","non_cytoplasmic_polypeptide_region","non_processed_pseudogene","non_terminal_residue","non_transcribed_region","nonamer_of_recombination_feature_of_vertebrate_immune_system_gene","noncoding_exon","noncoding_region_of_exon","novel_sequence_insertion","nuclear_chromosome","nuclear_export_signal","nuclear_gene","nuclear_localization_signal","nuclear_mt_pseudogene","nuclear_rim_localization_signal","nuclease_binding_site","nuclease_hypersensitive_site","nuclease_sensitive_site","nucleomorph_gene","nucleomorphic_chromosome","nucleotide_binding_site","nucleotide_cleavage_site","nucleotide_match","nucleotide_motif","nucleotide_to_protein_binding_site","ochre_stop_codon","octamer_motif","oligo","oligo_U_tail","one_methyl_three_three_amino_three_carboxypropyl_pseudouridine","one_methyladenosine","one_methylguanosine","one_methylinosine","one_methylpseudouridine","one_two_prime_O_dimethyladenosine","one_two_prime_O_dimethylguanosine","one_two_prime_O_dimethylinosine","opal_stop_codon","open_chromatin_region","operator","operon","oriC","oriT","oriV","origin_of_replication","orphan_CDS","orthologous_region","outron","overlapping_EST_set","overlapping_feature_set","paired_end_fragment","parallel_beta_strand","paralogous_region","partial_genomic_sequence_assembly","partially_processed_cDNA_clone","paternal_uniparental_disomy","paternally_imprinted_gene","pathogenic_island","peptide_coil","peptide_helix","peptide_localization_signal","peroxywybutosine","phage_sequence","phagemid","phenylalanine","phenylalanine_tRNA_primary_transcript","phenylalanyl_tRNA","pheromone_response_element","phosphorylation_site","piRNA","piRNA_gene","pi_helix","piggyBac_TIR_transposon","plasmid","plasmid_gene","plasmid_vector","plastid_LSU_rRNA","plastid_LSU_rRNA_gene","plastid_SSU_rRNA","plastid_SSU_rRNA_gene","plastid_gene","plastid_rRNA","plastid_rRNA_gene","plus_1_translational_frameshift","plus_2_translational_frameshift","point_centromere","point_mutation","polinton","polyA_primed_cDNA_clone","polyA_sequence","polyA_signal_sequence","polyA_site","polyA_site_cluster","polyadenylated_mRNA","polycistronic_mRNA","polycistronic_primary_transcript","polycistronic_transcript","polymerase_synthesis_read","polymorphic_pseudogene","polymorphic_pseudogene_processed_transcript","polymorphic_pseudogene_with_retained_intron","polypeptide","polypeptide_DNA_contact","polypeptide_binding_motif","polypeptide_calcium_ion_contact_site","polypeptide_catalytic_motif","polypeptide_cobalt_ion_contact_site","polypeptide_conserved_motif","polypeptide_conserved_region","polypeptide_copper_ion_contact_site","polypeptide_domain","polypeptide_iron_ion_contact_site","polypeptide_ligand_contact","polypeptide_magnesium_ion_contact_site","polypeptide_manganese_ion_contact_site","polypeptide_metal_contact","polypeptide_molybdenum_ion_contact_site","polypeptide_motif","polypeptide_nest_left_right_motif","polypeptide_nest_motif","polypeptide_nest_right_left_motif","polypeptide_nickel_ion_contact_site","polypeptide_region","polypeptide_repeat","polypeptide_secondary_structure","polypeptide_sequencing_information","polypeptide_structural_motif","polypeptide_structural_region","polypeptide_tungsten_ion_contact_site","polypeptide_turn_motif","polypeptide_variation_site","polypeptide_zinc_ion_contact_site","polypyrimidine_tract","positional_candidate_gene","positive_sense_ssRNA_viral_sequence","positively_autoregulated_gene","possible_assembly_error","possible_base_call_error","post_translationally_modified_region","post_translationally_regulated_gene","pre_edited_mRNA","pre_edited_region","pre_miRNA","predicted_gene","predicted_transcript","presence_absence_variation","priRNA","primary_transcript","primary_transcript_region","primer","primer_binding_site","primer_match","probe","processed_pseudogene","processed_pseudogenic_rRNA","processed_pseudogenic_tRNA","processed_transcript","prokaryotic_promoter","proline","proline_tRNA_primary_transcript","prolyl_tRNA","promoter","promoter_element","promoter_flanking_region","promoter_targeting_sequence","promoter_trap_construct","propeptide","propeptide_cleavage_site","propeptide_region_of_CDS","prophage","proplastid_gene","protease_site","protein_binding_site","protein_coding_gene","protein_coding_primary_transcript","protein_hmm_match","protein_match","protein_protein_contact","protein_stability_element","proviral_gene","proviral_region","proximal_promoter_element","pseudogene","pseudogene_by_unequal_crossing_over","pseudogene_processed_transcript","pseudogenic_CDS","pseudogenic_exon","pseudogenic_gene_segment","pseudogenic_rRNA","pseudogenic_region","pseudogenic_tRNA","pseudogenic_transcript","pseudogenic_transcript_with_retained_intron","pseudoknot","pseudouridine","pseudouridylation_guide_snoRNA","pseudouridylation_guide_snoRNA_gene","pumilio_response_element","purine_to_pyrimidine_transversion","purine_transition","pyrimidine_to_purine_transversion","pyrimidine_transition","pyrosequenced_read","pyrrolysine","pyrrolysine_tRNA_primary_transcript","pyrrolysyl_tRNA","queuosine","rDNA_intergenic_spacer_element","rDNA_replication_fork_barrier","rRNA","rRNA_21S_gene","rRNA_cleavage_RNA","rRNA_cleavage_snoRNA_primary_transcript","rRNA_gene","rRNA_large_subunit_primary_transcript","rRNA_primary_transcript","rRNA_primary_transcript_region","rRNA_small_subunit_primary_transcript","rare_fragile_site","rasiRNA","read","read_pair","reading_frame","reagent","rearrangement_region","reciprocal_chromosomal_translocation","recoded_codon","recoded_mRNA","recoding_pseudoknot","recoding_stimulatory_region","recombination_enhancer","recombination_feature","recombination_feature_of_rearranged_gene","recombination_hotspot","recombination_regulatory_region","recombination_signal_sequence","recombinationally_inverted_gene","recombinationally_rearranged_gene","recombinationally_rearranged_vertebrate_immune_system_gene","recursive_splice_site","ref_miRNA","region","regional_centromere","regional_centromere_central_core","regional_centromere_inner_repeat_region","regional_centromere_outer_repeat_region","regional_centromere_outer_repeat_transcript","regulatory_promoter_element","regulatory_region","regulon","remark","repeat_component","repeat_fragment","repeat_instability_region","repeat_region","repeat_unit","replication_regulatory_region","replication_start_site","replicon","rescue_gene","rescue_mini_gene","rescue_region","resolution_site","response_element","restriction_enzyme_assembly_scar","restriction_enzyme_binding_site","restriction_enzyme_cleavage_junction","restriction_enzyme_five_prime_single_strand_overhang","restriction_enzyme_recognition_site","restriction_enzyme_region","restriction_enzyme_single_strand_overhang","restriction_enzyme_three_prime_single_strand_overhang","restriction_fragment","retinoic_acid_responsive_element","retrogene","retron","retrotransposon","reverse_Hoogsteen_base_pair","reverse_primer","rho_dependent_bacterial_terminator","rho_independent_bacterial_terminator","ribonuclease_site","ribosome_entry_site","riboswitch","ribothymidine","ribozyme","ribozyme_gene","right_handed_peptide_helix","sORF","sarcin_like_RNA_motif","satellite_DNA","sbRNA","sbRNA_gene","scRNA","scRNA_gene","scRNA_primary_transcript","scaRNA","scaRNA_gene","schellmann_loop","schellmann_loop_seven","schellmann_loop_six","selection_marker","selenocysteine","selenocysteine_tRNA_primary_transcript","selenocysteinyl_tRNA","self_cleaving_ribozyme","sense_intronic_ncRNA","sense_intronic_ncRNA_gene","sense_overlap_ncRNA","sense_overlap_ncRNA_gene","sequence_alteration","sequence_alteration_artifact","sequence_assembly","sequence_comparison","sequence_conflict","sequence_difference","sequence_feature","sequence_length_alteration","sequence_motif","sequence_rearrangement_feature","sequence_secondary_structure","sequence_uncertainty","sequencing_primer","serine","serine_tRNA_primary_transcript","serine_threonine_motif","serine_threonine_staple_motif","serine_threonine_turn","seryl_tRNA","seven_aminomethyl_seven_deazaguanosine","seven_cyano_seven_deazaguanosine","seven_deazaguanosine","seven_methylguanine","seven_methylguanosine","sgRNA","shRNA","shRNA_primary_transcript","shadow_enhancer","short_tandem_repeat_variation","siRNA","signal_anchor","signal_peptide","signal_peptide_region_of_CDS","signature","silenced_gene","silencer","silent_mating_type_cassette_array","simple_operon","simple_regulon","simple_sequence_length_variation","single_strand_restriction_enzyme_cleavage_site","single_stranded_DNA_chromosome","single_stranded_RNA_chromosome","sisRNA","site_specific_recombination_target_region","smFISH_probe","small_regulatory_ncRNA","snRNA","snRNA_gene","snRNA_primary_transcript","sncRNA","sncRNA_gene","snoRNA","snoRNA_gene","snoRNA_primary_transcript","solo_LTR","sonicate_fragment","specific_recombination_site","splice_enhancer","splice_junction","splice_region","splice_site","spliced_leader_RNA","spliceosomal_intron","spliceosomal_intron_region","splicing_regulatory_region","spot_42_RNA","spurious_protein","ss_RNA_viral_sequence","ss_oligo","st_turn_left_handed_type_one","st_turn_left_handed_type_two","st_turn_right_handed_type_one","st_turn_right_handed_type_two","start_codon","stem","stem_loop","stem_loop_region","sterol_regulatory_element","sticky_end_restriction_enzyme_cleavage_site","stop_codon","stop_codon_read_through","stop_codon_redefined_as_pyrrolysine","stop_codon_redefined_as_selenocysteine","stop_codon_signal","structural_alteration","substitution","substitution_artifact","subtelomere","sugar_edge_base_pair","supercontig","symbiosis_island","symmetric_RNA_internal_loop","syntenic_region","synthetic_oligo","tRNA","tRNA_SINE_retrotransposon","tRNA_gene","tRNA_intron","tRNA_primary_transcript","tRNA_region","tag","tandem_duplication","tandem_repeat","target_site_duplication","targeting_vector","tasiRNA","tasiRNA_primary_transcript","teb1_recognition_motif","telomerase_RNA","telomerase_RNA_gene","telomere","telomeric_D_loop","telomeric_repeat","telomeric_transcript","template_region","terminal_inverted_repeat","terminal_inverted_repeat_element","terminal_repeat","terminator","terminator_of_type_2_RNApol_III_promoter","tetraloop","tetranucleotide_repeat_microsatellite_feature","three_methylcytidine","three_methylpseudouridine","three_methyluridine","three_prime_D_heptamer","three_prime_D_nonamer","three_prime_D_recombination_signal_sequence","three_prime_D_spacer","three_prime_EST","three_prime_LTR","three_prime_LTR_component","three_prime_RACE_clone","three_prime_RST","three_prime_UST","three_prime_UTR","three_prime_UTR_intron","three_prime_cis_splice_site","three_prime_clip","three_prime_coding_exon","three_prime_coding_exon_coding_region","three_prime_coding_exon_noncoding_region","three_prime_flanking_region","three_prime_intron","three_prime_noncoding_exon","three_prime_overlapping_ncrna","three_prime_recoding_site","three_prime_repeat_recoding_signal","three_prime_restriction_enzyme_junction","three_prime_stem_loop_structure","three_prime_sticky_end_restriction_enzyme_cleavage_site","three_prime_terminal_inverted_repeat","three_ten_helix","three_three_amino_three_carboxypropyl_uridine","three_two_prime_O_dimethyluridine","threonine","threonine_tRNA_primary_transcript","threonyl_tRNA","tiling_path","tiling_path_clone","tiling_path_fragment","tmRNA","tmRNA_acceptor_piece","tmRNA_coding_piece","tmRNA_gene","tmRNA_primary_transcript","tmRNA_region","tnaORF","topologically_associated_domain","topologically_associated_domain_boundary","topologically_defined_region","trans_splice_acceptor_site","trans_splice_donor_site","trans_splice_junction","trans_splice_site","trans_spliced_mRNA","trans_spliced_transcript","transcribed_cluster","transcribed_fragment","transcribed_processed_pseudogene","transcribed_spacer_region","transcribed_unitary_pseudogene","transcribed_unprocessed_pseudogene","transcript","transcript_bound_by_nucleic_acid","transcript_bound_by_protein","transcript_region","transcript_with_translational_frameshift","transcription_end_site","transcription_factor_regulatory_site","transcription_pause_site","transcription_start_cluster","transcription_termination_signal","transcription_unit","transcriptional_cis_regulatory_region","transgene","transgenic_insertion","transgenic_transposable_element","transit_peptide","transit_peptide_region_of_CDS","transition","translated_nucleotide_match","translated_processed_pseudogene","translated_unprocessed_pseudogene","translation_regulatory_region","translational_frameshift","translationally_regulated_gene","translocation","translocation_breakpoint","translocation_element","transmembrane_helix","transmembrane_polypeptide_region","transposable_element","transposable_element_CDS","transposable_element_flanking_region","transposable_element_gene","transposable_element_insertion_site","transposable_element_pseudogene","transposon_fragment","transversion","trinucleotide_repeat_microsatellite_feature","tryptophan","tryptophan_tRNA_primary_transcript","tryptophanyl_tRNA","twintron","two_methyladenosine","two_methylthio_N6_cis_hydroxyisopentenyl_adenosine","two_methylthio_N6_hydroxynorvalyl_carbamoyladenosine","two_methylthio_N6_isopentenyladenosine","two_methylthio_N6_methyladenosine","two_methylthio_N6_threonyl_carbamoyladenosine","two_prime_O_methyladenosine","two_prime_O_methylcytidine","two_prime_O_methylguanosine","two_prime_O_methylinosine","two_prime_O_methylpseudouridine","two_prime_O_methyluridine","two_prime_O_ribosyladenosine_phosphate","two_prime_O_ribosylguanosine_phosphate","two_thio_two_prime_O_methyluridine","two_thiocytidine","two_thiouridine","tyrosine","tyrosine_tRNA_primary_transcript","tyrosyl_tRNA","uORF","ultracontig","unassigned_supercontig","unconfirmed_transcript","undermodified_hydroxywybutosine","unedited_region","unigene_cluster","unit_of_gene_expression","unitary_pseudogene","unitary_pseudogenic_rRNA","unitary_pseudogenic_tRNA","unprocessed_pseudogenic_rRNA","unprocessed_pseudogenic_tRNA","unspecified_indel","untranslated_region_polycistronic_mRNA","upstream_AUG_codon","uridine_five_oxyacetic_acid","uridine_five_oxyacetic_acid_methyl_ester","vacuolar_sorting_signal","validated_cDNA_clone","valine","valine_tRNA_primary_transcript","valyl_tRNA","vaultRNA_primary_transcript","vault_RNA","vault_RNA_gene","vector_replicon","vertebrate_immune_system_gene","vertebrate_immune_system_gene_recombination_feature","vertebrate_immune_system_gene_recombination_signal_feature","vertebrate_immune_system_gene_recombination_spacer","vertebrate_immune_system_pseudogene","vertebrate_immunoglobulin_T_cell_receptor_gene_cluster","vertebrate_immunoglobulin_T_cell_receptor_rearranged_gene_cluster","vertebrate_immunoglobulin_T_cell_receptor_rearranged_segment","vertebrate_immunoglobulin_T_cell_receptor_segment","viral_promoter","viral_sequence","virtual_sequence","wild_type_rescue_gene","wobble_base_pair","wybutosine","wyosine","zinc_finger_binding_site","zinc_repressed_element"],Object.defineProperty(du,"__esModule",{value:!0}),du.CoreValidation=void 0,du.isTypeChange=mu;var pu=et.__importDefault(hu);function mu(e){return"oldType"in e&&"newType"in e}var gu=function(e){oe(o,e);var t,n,r=fe(o);function o(){var e;ee(this,o);for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return re(le(e=r.call.apply(r,[this].concat(n))),"name","Core"),e}return ne(o,[{key:"frontendPreValidate",value:(n=Q(Y().mark((function e(t){var n,r,o;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!mu(t)){e.next=18;break}n=we(t.changes),e.prev=2,n.s();case 4:if((r=n.n()).done){e.next=10;break}if(pu.default.includes((o=r.value).newType)){e.next=8;break}return e.abrupt("return",{validationName:this.name,error:{message:'"'.concat(o.newType,'" is not a valid SO sequence_feature term')}});case 8:e.next=4;break;case 10:e.next=15;break;case 12:e.prev=12,e.t0=e.catch(2),n.e(e.t0);case 15:return e.prev=15,n.f(),e.finish(15);case 18:return e.abrupt("return",{validationName:this.name});case 19:case"end":return e.stop()}}),e,this,[[2,12,15,18]])}))),function(e){return n.apply(this,arguments)})},{key:"possibleValues",value:(t=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("type"!==t){e.next=2;break}return e.abrupt("return",pu.default);case 2:return e.abrupt("return");case 3:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),o}(su.Validation);du.CoreValidation=gu;var yu={};Object.defineProperty(yu,"__esModule",{value:!0}),yu.ParentChildValidation=void 0;var vu=rr,_u=function(e){oe(o,e);var t,n,r=fe(o);function o(){var e;ee(this,o);for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return re(le(e=r.call.apply(r,[this].concat(n))),"name","ParentChildValidation"),e}return ne(o,[{key:"backendPostValidate",value:(n=Q(Y().mark((function e(t,n){var r,o;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.featureModel,o=n.session,!(0,vu.isLocationEndChange)(t)&&!(0,vu.isLocationStartChange)(t)){e.next=3;break}return e.abrupt("return",this.validateParentChildRelationships(t,{session:o,featureModel:r}));case 3:return e.abrupt("return",{validationName:this.name});case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"validateParentChildRelationships",value:(t=Q(Y().mark((function e(t,n){var r,o,i,a,s,u,c,l,f;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=n.featureModel,o=n.session,i=[],a=we(t.changes),e.prev=3,u=Y().mark((function e(){var t,n,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=s.value.featureId,e.next=4,r.findOne({allIds:t}).session(o).exec();case 4:if(n=e.sent){e.next=8;break}throw a="ERROR: The following featureId was not found in database ='".concat(t,"'"),new Error(a);case 8:i.some((function(e){return e._id===n._id}))||i.push(n);case 9:case"end":return e.stop()}}),e)})),a.s();case 6:if((s=a.n()).done){e.next=10;break}return e.delegateYield(u(),"t0",8);case 8:e.next=6;break;case 10:e.next=15;break;case 12:e.prev=12,e.t1=e.catch(3),a.e(e.t1);case 15:return e.prev=15,a.f(),e.finish(15);case 18:c=0,l=i;case 19:if(!(c<l.length)){e.next=31;break}f=l[c],e.prev=21,this.checkChildFeatureBoundaries(f),e.next=28;break;case 25:return e.prev=25,e.t2=e.catch(21),e.abrupt("return",{validationName:this.name,error:{message:String(e.t2)}});case 28:c++,e.next=19;break;case 31:return e.abrupt("return",{validationName:this.name});case 32:case"end":return e.stop()}}),e,this,[[3,12,15,18],[21,25]])}))),function(e,n){return t.apply(this,arguments)})},{key:"checkChildFeatureBoundaries",value:function(e){if(e.children){var t,n=we(e.children||new Map);try{for(n.s();!(t=n.n()).done;){var r=he(t.value,2)[1];if(null!==e.min&&null!==e.max&&null!==r.min&&null!==r.max&&(r.max>e.max||r.min<e.min))throw new Error('Feature "'.concat(r._id,'" exceeds the bounds of its parent, "').concat(e._id,'"'));this.checkChildFeatureBoundaries(r)}}catch(e){n.e(e)}finally{n.f()}}}}]),o}(su.Validation);yu.ParentChildValidation=_u,function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=et;t.__exportStar(su,e),t.__exportStar(cu,e),t.__exportStar(du,e),t.__exportStar(yu,e)}(au);var bu={},wu={};function Su(e){this.message=e}(Su.prototype=new Error).name="InvalidCharacterError";var xu="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new Su("'atob' failed: The string to be decoded is not correctly encoded.");for(var n,r,o=0,i=0,a="";r=t.charAt(i++);~r&&(n=o%4?64*n+r:r,o++%4)?a+=String.fromCharCode(255&n>>(-2*o&6)):0)r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(r);return a};function ku(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw"Illegal base64url string!"}try{return function(e){return decodeURIComponent(xu(e).replace(/(.)/g,(function(e,t){var n=t.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n="0"+n),"%"+n})))}(t)}catch(e){return xu(t)}}function Eu(e){this.message=e}(Eu.prototype=new Error).name="InvalidTokenError";var Au={__proto__:null,default:function(e,t){if("string"!=typeof e)throw new Eu("Invalid token specified");var n=!0===(t=t||{}).header?0:1;try{return JSON.parse(ku(e.split(".")[n]))}catch(e){throw new Eu("Invalid token specified: "+e.message)}},InvalidTokenError:Eu},Cu=B(Au);Object.defineProperty(wu,"__esModule",{value:!0}),wu.makeUserSessionId=function(e){var t="string"==typeof e?(0,Ou.default)(e):e;return"".concat(t.id,"-").concat(t.iat)},wu.getDecodedToken=function(e){return(0,Ou.default)(e)};var Ou=et.__importDefault(Cu);!function(e){Object.defineProperty(e,"__esModule",{value:!0}),et.__exportStar(wu,e)}(bu);var Ru={},Nu={};Object.defineProperty(Nu,"__esModule",{value:!0}),Nu.CDSCheck=void 0;var Iu,Pu=ar,Tu=O.default,Mu=et.__importDefault(Jn);!function(e){e[e.TAG=0]="TAG",e[e.TAA=1]="TAA",e[e.TGA=2]="TGA"}(Iu||(Iu={}));var ju={G:"C",A:"T",T:"A",C:"G",R:"Y",Y:"R",M:"K",K:"M",S:"S",W:"W",H:"D",B:"V",V:"B",D:"H",N:"N"};function Fu(e){var t,n=[],r=we(e);try{for(r.s();!(t=r.n()).done;){var o=t.value,i=ju[o.toUpperCase()];if(void 0===i)throw new TypeError('Cannot complement nucleotide: "'.concat(o,'"'));o===o.toLowerCase()?n.push(i.toLowerCase()):n.push(i)}}catch(e){r.e(e)}finally{r.f()}return n.reverse().join("")}function Lu(e,t,n){return Du.apply(this,arguments)}function Du(){return(Du=Q(Y().mark((function e(t,n,r){var o;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all(t.map((function(e){return r(e.min,e.max)})));case 2:if(o=e.sent,-1!==n){e.next=5;break}return e.abrupt("return",o.map((function(e){return Fu(e)})).join(""));case 5:return e.abrupt("return",o.join(""));case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function qu(e){for(var t=[],n=0;n<=e.length-3;n+=3)t.push(e.slice(n,n+3));return t}function Bu(e,t,n){var r,o=3*n,i=o+3,a=void 0,s=void 0,u=we(e);try{for(u.s();!(r=u.n()).done;){var c=r.value,l=c.max-c.min;if(void 0===a&&l>o?a=c.min+o:o-=l,void 0===s&&l>i?s=c.min+i:i-=l,void 0!==a&&void 0!==s)return[a,s]}}catch(e){u.e(e)}finally{u.f()}}function Uu(e,t){return zu.apply(this,arguments)}function zu(){return zu=Q(Y().mark((function e(t,n){var r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v,_,b,w,S,x,k;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=[],o=t._id,i=t.max,a=t.min,s=t.refSeq,u=t.strand,c=Gu(t)){e.next=5;break}return e.abrupt("return",r);case 5:l=[o],f=we(c),e.prev=7,f.s();case 9:if((d=f.n()).done){e.next=20;break}return h=d.value,e.next=13,Lu(h,u,n);case 13:m=qu(p=e.sent),p.length%3==0?(g=m.pop())&&!(g.toUpperCase()in Iu)&&r.push({_id:(new Mu.default).toHexString(),name:"MissingStopCodonCheck",ids:l,refSeq:s.toString(),start:i,end:i,message:"Missing stop codon"}):r.push({_id:(new Mu.default).toHexString(),name:"MultipleOfThreeCheck",ids:l,refSeq:s.toString(),start:a,end:i,message:'The coding sequence for feature "'.concat(o,'" is not a multiple of three')}),y=we(m.entries());try{for(y.s();!(v=y.n()).done;)_=he(v.value,2),b=_[1],(w=Bu(h,0,_[0]))&&b.toUpperCase()in Iu&&(S=he(w,2),x=S[0],k=S[1],r.push({_id:(new Mu.default).toHexString(),name:"InternalStopCodonCheck",ids:l,refSeq:s.toString(),start:x,end:k,message:'The coding sequence for feature "'.concat(o,'" has an internal stop codon')}))}catch(e){y.e(e)}finally{y.f()}case 18:e.next=9;break;case 20:e.next=25;break;case 22:e.prev=22,e.t0=e.catch(7),f.e(e.t0);case 25:return e.prev=25,f.f(),e.finish(25);case 28:return e.abrupt("return",r);case 29:case"end":return e.stop()}}),e,null,[[7,22,25,28]])}))),zu.apply(this,arguments)}function Gu(e){if("mRNA"===e.type){var t=e.children,n=e.strand;if(t){var r=Object.values(t).filter((function(e){return"CDS"===e.type}));if(0!==r.length){var o,i=[],a=we(r);try{var s=function(){for(var e=o.value,r=e.max,a=e.min,s=[],u=0,c=Object.values(t);u<c.length;u++){var l=c[u];if("exon"===l.type){var f=he((0,Tu.intersection2)(a,r,l.min,l.max),2),d=f[0],h=f[1];void 0!==d&&void 0!==h&&s.push({min:d,max:h})}}s.sort((function(e,t){return e.min-t.min})),-1===n&&s.reverse();var p=0,m=s.map((function(e){var t=p;return p=(3-(e.max-e.min-t+3)%3)%3,K(K({},e),{},{phase:t})}));i.push(m)};for(a.s();!(o=a.n()).done;)s()}catch(e){a.e(e)}finally{a.f()}return i}}}}var Hu=function(e){oe(r,e);var t,n=fe(r);function r(){var e;ee(this,r);for(var t=arguments.length,o=new Array(t),i=0;i<t;i++)o[i]=arguments[i];return re(le(e=n.call.apply(n,[this].concat(o))),"name","CDSCheck"),re(le(e),"version",1),re(le(e),"default",!0),e}return ne(r,[{key:"checkFeature",value:(t=Q(Y().mark((function e(t,n){var r,o,i,a;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("mRNA"!==t.type){e.next=2;break}return e.abrupt("return",Uu(t,n));case 2:if(t.children){e.next=4;break}return e.abrupt("return",[]);case 4:r=[],o=0,i=Object.values(t.children);case 6:if(!(o<i.length)){e.next=19;break}return a=i[o],e.t0=r.push,e.t1=r,e.t2=me,e.next=13,this.checkFeature(a,n);case 13:e.t3=e.sent,e.t4=(0,e.t2)(e.t3),e.t0.apply.call(e.t0,e.t1,e.t4);case 16:o++,e.next=6;break;case 19:return e.abrupt("return",r);case 20:case"end":return e.stop()}}),e,this)}))),function(e,n){return t.apply(this,arguments)})}]),r}(Pu.Check);Nu.CDSCheck=Hu,function(e){Object.defineProperty(e,"__esModule",{value:!0}),et.__exportStar(Nu,e)}(Ru);var Wu={};Object.defineProperty(Wu,"__esModule",{value:!0}),Wu.splitStringIntoChunks=function(e,t){for(var n=[],r=0;r<e.length;r+=t){var o=e.slice(r,r+t);n.push(o)}return n};var Vu={};Object.defineProperty(Vu,"__esModule",{value:!0}),function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=et;t.__exportStar(rr,e),t.__exportStar(tu,e),t.__exportStar(au,e),t.__exportStar(bu,e),t.__exportStar(Ru,e),t.__exportStar(Wu,e),t.__exportStar(Vu,e),t.__exportStar(Ar,e)}(nr);var $u={},Ju={exports:{}};!function(e){e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports}(Ju);var Ku={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.createSvgIcon}});var t=R.default}(Ku);var Yu=Ju.exports;Object.defineProperty($u,"__esModule",{value:!0});var Zu=$u.default=void 0;Zu=$u.default=(0,Yu(Ku).default)((0,N.default.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"}),"Add");const Xu=r.ConfigurationSchema("ApolloInternetAccount",{baseURL:{description:"Location of Apollo server",type:"string",defaultValue:""},tokenType:{description:"A custom name for a token to include in the header",type:"string",defaultValue:"Bearer"}},{baseConfiguration:o.BaseInternetAccountConfig,explicitlyTyped:!0});var Qu=Object.create(null);Qu.open="0",Qu.close="1",Qu.ping="2",Qu.pong="3",Qu.message="4",Qu.upgrade="5",Qu.noop="6";var ec=Object.create(null);Object.keys(Qu).forEach((function(e){ec[Qu[e]]=e}));var tc,nc={type:"error",data:"parser error"},rc="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),oc="function"==typeof ArrayBuffer,ic=function(e){return"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer},ac=function(e,t,n){var r=e.type,o=e.data;return rc&&o instanceof Blob?t?n(o):sc(o,n):oc&&(o instanceof ArrayBuffer||ic(o))?t?n(o):sc(new Blob([o]),n):n(Qu[r]+(o||""))},sc=function(e,t){var n=new FileReader;return n.onload=function(){var e=n.result.split(",")[1];t("b"+(e||""))},n.readAsDataURL(e)};function uc(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}for(var cc="undefined"==typeof Uint8Array?[]:new Uint8Array(256),lc=0;lc<64;lc++)cc["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(lc)]=lc;var fc,dc="function"==typeof ArrayBuffer,hc=function(e,t){if("string"!=typeof e)return{type:"message",data:mc(e,t)};var n=e.charAt(0);return"b"===n?{type:"message",data:pc(e.substring(1),t)}:ec[n]?e.length>1?{type:ec[n],data:e.substring(1)}:{type:ec[n]}:nc},pc=function(e,t){if(dc){var n=function(e){var t,n,r,o,i,a=.75*e.length,s=e.length,u=0;"="===e[e.length-1]&&(a--,"="===e[e.length-2]&&a--);var c=new ArrayBuffer(a),l=new Uint8Array(c);for(t=0;t<s;t+=4)n=cc[e.charCodeAt(t)],r=cc[e.charCodeAt(t+1)],o=cc[e.charCodeAt(t+2)],i=cc[e.charCodeAt(t+3)],l[u++]=n<<2|r>>4,l[u++]=(15&r)<<4|o>>2,l[u++]=(3&o)<<6|63&i;return c}(e);return mc(n,t)}return{base64:!0,data:e}},mc=function(e,t){return"blob"===t?e instanceof Blob?e:new Blob([e]):e instanceof ArrayBuffer?e:e.buffer},gc=String.fromCharCode(30);function yc(e){return e.reduce((function(e,t){return e+t.length}),0)}function vc(e,t){if(e[0].length===t)return e.shift();for(var n=new Uint8Array(t),r=0,o=0;o<t;o++)n[o]=e[0][r++],r===e[0].length&&(e.shift(),r=0);return e.length&&r<e[0].length&&(e[0]=e[0].slice(r)),n}function _c(e){if(e)return function(e){for(var t in _c.prototype)e[t]=_c.prototype[t];return e}(e)}_c.prototype.on=_c.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},_c.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},_c.prototype.off=_c.prototype.removeListener=_c.prototype.removeAllListeners=_c.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,r=this._callbacks["$"+e];if(!r)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var o=0;o<r.length;o++)if((n=r[o])===t||n.fn===t){r.splice(o,1);break}return 0===r.length&&delete this._callbacks["$"+e],this},_c.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),n=this._callbacks["$"+e],r=1;r<arguments.length;r++)t[r-1]=arguments[r];if(n){r=0;for(var o=(n=n.slice(0)).length;r<o;++r)n[r].apply(this,t)}return this},_c.prototype.emitReserved=_c.prototype.emit,_c.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},_c.prototype.hasListeners=function(e){return!!this.listeners(e).length};var bc=function(){return"undefined"!=typeof self?self:"undefined"!=typeof window?window:Function("return this")()}();function wc(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return n.reduce((function(t,n){return e.hasOwnProperty(n)&&(t[n]=e[n]),t}),{})}var Sc=bc.setTimeout,xc=bc.clearTimeout;function kc(e,t){t.useNativeTimers?(e.setTimeoutFn=Sc.bind(bc),e.clearTimeoutFn=xc.bind(bc)):(e.setTimeoutFn=bc.setTimeout.bind(bc),e.clearTimeoutFn=bc.clearTimeout.bind(bc))}var Ec,Ac=function(e){oe(n,e);var t=fe(n);function n(e,r,o){var i;return ee(this,n),(i=t.call(this,e)).description=r,i.context=o,i.type="TransportError",i}return ne(n)}(ce(Error)),Cc=function(e){oe(n,e);var t=fe(n);function n(e){var r;return ee(this,n),(r=t.call(this)).writable=!1,kc(le(r),e),r.opts=e,r.query=e.query,r.socket=e.socket,r}return ne(n,[{key:"onError",value:function(e,t,r){return de(ie(n.prototype),"emitReserved",this).call(this,"error",new Ac(e,t,r)),this}},{key:"open",value:function(){return this.readyState="opening",this.doOpen(),this}},{key:"close",value:function(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this}},{key:"send",value:function(e){"open"===this.readyState&&this.write(e)}},{key:"onOpen",value:function(){this.readyState="open",this.writable=!0,de(ie(n.prototype),"emitReserved",this).call(this,"open")}},{key:"onData",value:function(e){var t=hc(e,this.socket.binaryType);this.onPacket(t)}},{key:"onPacket",value:function(e){de(ie(n.prototype),"emitReserved",this).call(this,"packet",e)}},{key:"onClose",value:function(e){this.readyState="closed",de(ie(n.prototype),"emitReserved",this).call(this,"close",e)}},{key:"pause",value:function(e){}},{key:"createUri",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e+"://"+this._hostname()+this._port()+this.opts.path+this._query(t)}},{key:"_hostname",value:function(){var e=this.opts.hostname;return-1===e.indexOf(":")?e:"["+e+"]"}},{key:"_port",value:function(){return this.opts.port&&(this.opts.secure&&Number(443!==this.opts.port)||!this.opts.secure&&80!==Number(this.opts.port))?":"+this.opts.port:""}},{key:"_query",value:function(e){var t=function(e){var t="";for(var n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t}(e);return t.length?"?"+t:""}}]),n}(_c),Oc="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),Rc=64,Nc=0;function Ic(e){var t="";do{t=Oc[e%Rc]+t,e=Math.floor(e/Rc)}while(e>0);return t}function Pc(){var e=Ic(+new Date);return e!==Ec?(Nc=0,Ec=e):e+"."+Ic(Nc++)}var Tc=!1;try{Tc="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(si){}var Mc=Tc;function jc(e){var t=e.xdomain;try{if("undefined"!=typeof XMLHttpRequest&&(!t||Mc))return new XMLHttpRequest}catch(e){}if(!t)try{return new(bc[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(e){}}function Fc(){}var Lc=function(){return null!=new jc({xdomain:!1}).responseType}(),Dc=function(e){oe(n,e);var t=fe(n);function n(e){var r;if(ee(this,n),(r=t.call(this,e)).polling=!1,"undefined"!=typeof location){var o="https:"===location.protocol,i=location.port;i||(i=o?"443":"80"),r.xd="undefined"!=typeof location&&e.hostname!==location.hostname||i!==e.port}return r.supportsBinary=Lc&&!(e&&e.forceBase64),r.opts.withCredentials&&(r.cookieJar=void 0),r}return ne(n,[{key:"name",get:function(){return"polling"}},{key:"doOpen",value:function(){this.poll()}},{key:"pause",value:function(e){var t=this;this.readyState="pausing";var n=function(){t.readyState="paused",e()};if(this.polling||!this.writable){var r=0;this.polling&&(r++,this.once("pollComplete",(function(){--r||n()}))),this.writable||(r++,this.once("drain",(function(){--r||n()})))}else n()}},{key:"poll",value:function(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}},{key:"onData",value:function(e){var t=this;(function(e,t){for(var n=e.split(gc),r=[],o=0;o<n.length;o++){var i=hc(n[o],t);if(r.push(i),"error"===i.type)break}return r})(e,this.socket.binaryType).forEach((function(e){if("opening"===t.readyState&&"open"===e.type&&t.onOpen(),"close"===e.type)return t.onClose({description:"transport closed by the server"}),!1;t.onPacket(e)})),"closed"!==this.readyState&&(this.polling=!1,this.emitReserved("pollComplete"),"open"===this.readyState&&this.poll())}},{key:"doClose",value:function(){var e=this,t=function(){e.write([{type:"close"}])};"open"===this.readyState?t():this.once("open",t)}},{key:"write",value:function(e){var t=this;this.writable=!1,function(e,n){var r=e.length,o=new Array(r),i=0;e.forEach((function(e,n){ac(e,!1,(function(e){var a;o[n]=e,++i===r&&(a=o.join(gc),t.doWrite(a,(function(){t.writable=!0,t.emitReserved("drain")})))}))}))}(e)}},{key:"uri",value:function(){var e=this.opts.secure?"https":"http",t=this.query||{};return!1!==this.opts.timestampRequests&&(t[this.opts.timestampParam]=Pc()),this.supportsBinary||t.sid||(t.b64=1),this.createUri(e,t)}},{key:"request",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.assign(e,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new qc(this.uri(),e)}},{key:"doWrite",value:function(e,t){var n=this,r=this.request({method:"POST",data:e});r.on("success",t),r.on("error",(function(e,t){n.onError("xhr post error",e,t)}))}},{key:"doPoll",value:function(){var e=this,t=this.request();t.on("data",this.onData.bind(this)),t.on("error",(function(t,n){e.onError("xhr poll error",t,n)})),this.pollXhr=t}}]),n}(Cc),qc=function(e){oe(n,e);var t=fe(n);function n(e,r){var o;return ee(this,n),kc(le(o=t.call(this)),r),o.opts=r,o.method=r.method||"GET",o.uri=e,o.data=void 0!==r.data?r.data:null,o.create(),o}return ne(n,[{key:"create",value:function(){var e,t=this,r=wc(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");r.xdomain=!!this.opts.xd;var o=this.xhr=new jc(r);try{o.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders)for(var i in o.setDisableHeaderCheck&&o.setDisableHeaderCheck(!0),this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(i)&&o.setRequestHeader(i,this.opts.extraHeaders[i])}catch(e){}if("POST"===this.method)try{o.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(e){}try{o.setRequestHeader("Accept","*/*")}catch(e){}null===(e=this.opts.cookieJar)||void 0===e||e.addCookies(o),"withCredentials"in o&&(o.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(o.timeout=this.opts.requestTimeout),o.onreadystatechange=function(){var e;3===o.readyState&&(null===(e=t.opts.cookieJar)||void 0===e||e.parseCookies(o)),4===o.readyState&&(200===o.status||1223===o.status?t.onLoad():t.setTimeoutFn((function(){t.onError("number"==typeof o.status?o.status:0)}),0))},o.send(this.data)}catch(e){return void this.setTimeoutFn((function(){t.onError(e)}),0)}"undefined"!=typeof document&&(this.index=n.requestsCount++,n.requests[this.index]=this)}},{key:"onError",value:function(e){this.emitReserved("error",e,this.xhr),this.cleanup(!0)}},{key:"cleanup",value:function(e){if(null!=this.xhr){if(this.xhr.onreadystatechange=Fc,e)try{this.xhr.abort()}catch(e){}"undefined"!=typeof document&&delete n.requests[this.index],this.xhr=null}}},{key:"onLoad",value:function(){var e=this.xhr.responseText;null!==e&&(this.emitReserved("data",e),this.emitReserved("success"),this.cleanup())}},{key:"abort",value:function(){this.cleanup()}}]),n}(_c);function Bc(){for(var e in qc.requests)qc.requests.hasOwnProperty(e)&&qc.requests[e].abort()}qc.requestsCount=0,qc.requests={},"undefined"!=typeof document&&("function"==typeof attachEvent?attachEvent("onunload",Bc):"function"==typeof addEventListener&&addEventListener("onpagehide"in bc?"pagehide":"unload",Bc,!1));var Uc=function(){return"function"==typeof Promise&&"function"==typeof Promise.resolve?function(e){return Promise.resolve().then(e)}:function(e,t){return t(e,0)}}(),zc=bc.WebSocket||bc.MozWebSocket,Gc="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase(),Hc=function(e){oe(n,e);var t=fe(n);function n(e){var r;return ee(this,n),(r=t.call(this,e)).supportsBinary=!e.forceBase64,r}return ne(n,[{key:"name",get:function(){return"websocket"}},{key:"doOpen",value:function(){if(this.check()){var e=this.uri(),t=this.opts.protocols,n=Gc?{}:wc(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(n.headers=this.opts.extraHeaders);try{this.ws=Gc?new zc(e,t,n):t?new zc(e,t):new zc(e)}catch(e){return this.emitReserved("error",e)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}}},{key:"addEventListeners",value:function(){var e=this;this.ws.onopen=function(){e.opts.autoUnref&&e.ws._socket.unref(),e.onOpen()},this.ws.onclose=function(t){return e.onClose({description:"websocket connection closed",context:t})},this.ws.onmessage=function(t){return e.onData(t.data)},this.ws.onerror=function(t){return e.onError("websocket error",t)}}},{key:"write",value:function(e){var t=this;this.writable=!1;for(var n=function(){var n=r===e.length-1;ac(e[r],t.supportsBinary,(function(e){try{t.ws.send(e)}catch(e){}n&&Uc((function(){t.writable=!0,t.emitReserved("drain")}),t.setTimeoutFn)}))},r=0;r<e.length;r++)n()}},{key:"doClose",value:function(){void 0!==this.ws&&(this.ws.close(),this.ws=null)}},{key:"uri",value:function(){var e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=Pc()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}},{key:"check",value:function(){return!!zc}}]),n}(Cc),Wc=function(e){oe(n,e);var t=fe(n);function n(){return ee(this,n),t.apply(this,arguments)}return ne(n,[{key:"name",get:function(){return"webtransport"}},{key:"doOpen",value:function(){var e=this;"function"==typeof WebTransport&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then((function(){e.onClose()})).catch((function(t){e.onError("webtransport error",t)})),this.transport.ready.then((function(){e.transport.createBidirectionalStream().then((function(t){var n=function(e,t){fc||(fc=new TextDecoder);var n=[],r=0,o=-1,i=!1;return new TransformStream({transform:function(a,s){for(n.push(a);;){if(0===r){if(yc(n)<1)break;var u=vc(n,1);i=128==(128&u[0]),r=(o=127&u[0])<126?3:126===o?1:2}else if(1===r){if(yc(n)<2)break;var c=vc(n,2);o=new DataView(c.buffer,c.byteOffset,c.length).getUint16(0),r=3}else if(2===r){if(yc(n)<8)break;var l=vc(n,8),f=new DataView(l.buffer,l.byteOffset,l.length),d=f.getUint32(0);if(d>Math.pow(2,21)-1){s.enqueue(nc);break}o=d*Math.pow(2,32)+f.getUint32(4),r=3}else{if(yc(n)<o)break;var h=vc(n,o);s.enqueue(hc(i?h:fc.decode(h),t)),r=0}if(0===o||o>e){s.enqueue(nc);break}}}})}(Number.MAX_SAFE_INTEGER,e.socket.binaryType),r=t.readable.pipeThrough(n).getReader(),o=new TransformStream({transform:function(e,t){!function(e,t){rc&&e.data instanceof Blob?e.data.arrayBuffer().then(uc).then(t):oc&&(e.data instanceof ArrayBuffer||ic(e.data))?t(uc(e.data)):ac(e,!1,(function(e){tc||(tc=new TextEncoder),t(tc.encode(e))}))}(e,(function(n){var r,o=n.length;if(o<126)r=new Uint8Array(1),new DataView(r.buffer).setUint8(0,o);else if(o<65536){r=new Uint8Array(3);var i=new DataView(r.buffer);i.setUint8(0,126),i.setUint16(1,o)}else{r=new Uint8Array(9);var a=new DataView(r.buffer);a.setUint8(0,127),a.setBigUint64(1,BigInt(o))}e.data&&"string"!=typeof e.data&&(r[0]|=128),t.enqueue(r),t.enqueue(n)}))}});o.readable.pipeTo(t.writable),e.writer=o.writable.getWriter(),function t(){r.read().then((function(n){n.done||(e.onPacket(n.value),t())})).catch((function(e){}))}();var i={type:"open"};e.query.sid&&(i.data='{"sid":"'.concat(e.query.sid,'"}')),e.writer.write(i).then((function(){return e.onOpen()}))}))})))}},{key:"write",value:function(e){var t=this;this.writable=!1;for(var n=function(){var n=r===e.length-1;t.writer.write(e[r]).then((function(){n&&Uc((function(){t.writable=!0,t.emitReserved("drain")}),t.setTimeoutFn)}))},r=0;r<e.length;r++)n()}},{key:"doClose",value:function(){var e;null===(e=this.transport)||void 0===e||e.close()}}]),n}(Cc),Vc={websocket:Hc,webtransport:Wc,polling:Dc},$c=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,Jc=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function Kc(e){var t,n,r=e,o=e.indexOf("["),i=e.indexOf("]");-1!=o&&-1!=i&&(e=e.substring(0,o)+e.substring(o,i).replace(/:/g,";")+e.substring(i,e.length));for(var a,s=$c.exec(e||""),u={},c=14;c--;)u[Jc[c]]=s[c]||"";return-1!=o&&-1!=i&&(u.source=r,u.host=u.host.substring(1,u.host.length-1).replace(/;/g,":"),u.authority=u.authority.replace("[","").replace("]","").replace(/;/g,":"),u.ipv6uri=!0),u.pathNames=(n=(t=u.path).replace(/\/{2,9}/g,"/").split("/"),"/"!=t.slice(0,1)&&0!==t.length||n.splice(0,1),"/"==t.slice(-1)&&n.splice(n.length-1,1),n),u.queryKey=(a={},u.query.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,(function(e,t,n){t&&(a[t]=n)})),a),u}var Yc=function(e){oe(n,e);var t=fe(n);function n(e){var r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return ee(this,n),(r=t.call(this)).binaryType="arraybuffer",r.writeBuffer=[],e&&"object"===Z(e)&&(o=e,e=null),e?(e=Kc(e),o.hostname=e.host,o.secure="https"===e.protocol||"wss"===e.protocol,o.port=e.port,e.query&&(o.query=e.query)):o.host&&(o.hostname=Kc(o.host).host),kc(le(r),o),r.secure=null!=o.secure?o.secure:"undefined"!=typeof location&&"https:"===location.protocol,o.hostname&&!o.port&&(o.port=r.secure?"443":"80"),r.hostname=o.hostname||("undefined"!=typeof location?location.hostname:"localhost"),r.port=o.port||("undefined"!=typeof location&&location.port?location.port:r.secure?"443":"80"),r.transports=o.transports||["polling","websocket","webtransport"],r.writeBuffer=[],r.prevBufferLen=0,r.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},o),r.opts.path=r.opts.path.replace(/\/$/,"")+(r.opts.addTrailingSlash?"/":""),"string"==typeof r.opts.query&&(r.opts.query=function(e){for(var t={},n=e.split("&"),r=0,o=n.length;r<o;r++){var i=n[r].split("=");t[decodeURIComponent(i[0])]=decodeURIComponent(i[1])}return t}(r.opts.query)),r.id=null,r.upgrades=null,r.pingInterval=null,r.pingTimeout=null,r.pingTimeoutTimer=null,"function"==typeof addEventListener&&(r.opts.closeOnBeforeunload&&(r.beforeunloadEventListener=function(){r.transport&&(r.transport.removeAllListeners(),r.transport.close())},addEventListener("beforeunload",r.beforeunloadEventListener,!1)),"localhost"!==r.hostname&&(r.offlineEventListener=function(){r.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",r.offlineEventListener,!1))),r.open(),r}return ne(n,[{key:"createTransport",value:function(e){var t=Object.assign({},this.opts.query);t.EIO=4,t.transport=e,this.id&&(t.sid=this.id);var n=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new Vc[e](n)}},{key:"open",value:function(){var e,t=this;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))e="websocket";else{if(0===this.transports.length)return void this.setTimeoutFn((function(){t.emitReserved("error","No transports available")}),0);e=this.transports[0]}this.readyState="opening";try{e=this.createTransport(e)}catch(e){return this.transports.shift(),void this.open()}e.open(),this.setTransport(e)}},{key:"setTransport",value:function(e){var t=this;this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",(function(e){return t.onClose("transport close",e)}))}},{key:"probe",value:function(e){var t=this,r=this.createTransport(e),o=!1;n.priorWebsocketSuccess=!1;var i=function(){o||(r.send([{type:"ping",data:"probe"}]),r.once("packet",(function(e){if(!o)if("pong"===e.type&&"probe"===e.data){if(t.upgrading=!0,t.emitReserved("upgrading",r),!r)return;n.priorWebsocketSuccess="websocket"===r.name,t.transport.pause((function(){o||"closed"!==t.readyState&&(f(),t.setTransport(r),r.send([{type:"upgrade"}]),t.emitReserved("upgrade",r),r=null,t.upgrading=!1,t.flush())}))}else{var i=new Error("probe error");i.transport=r.name,t.emitReserved("upgradeError",i)}})))};function a(){o||(o=!0,f(),r.close(),r=null)}var s=function(e){var n=new Error("probe error: "+e);n.transport=r.name,a(),t.emitReserved("upgradeError",n)};function u(){s("transport closed")}function c(){s("socket closed")}function l(e){r&&e.name!==r.name&&a()}var f=function(){r.removeListener("open",i),r.removeListener("error",s),r.removeListener("close",u),t.off("close",c),t.off("upgrading",l)};r.once("open",i),r.once("error",s),r.once("close",u),this.once("close",c),this.once("upgrading",l),-1!==this.upgrades.indexOf("webtransport")&&"webtransport"!==e?this.setTimeoutFn((function(){o||r.open()}),200):r.open()}},{key:"onOpen",value:function(){if(this.readyState="open",n.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush(),"open"===this.readyState&&this.opts.upgrade)for(var e=0,t=this.upgrades.length;e<t;e++)this.probe(this.upgrades[e])}},{key:"onPacket",value:function(e){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState)switch(this.emitReserved("packet",e),this.emitReserved("heartbeat"),this.resetPingTimeout(),e.type){case"open":this.onHandshake(JSON.parse(e.data));break;case"ping":this.sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong");break;case"error":var t=new Error("server error");t.code=e.data,this.onError(t);break;case"message":this.emitReserved("data",e.data),this.emitReserved("message",e.data)}}},{key:"onHandshake",value:function(e){this.emitReserved("handshake",e),this.id=e.sid,this.transport.query.sid=e.sid,this.upgrades=this.filterUpgrades(e.upgrades),this.pingInterval=e.pingInterval,this.pingTimeout=e.pingTimeout,this.maxPayload=e.maxPayload,this.onOpen(),"closed"!==this.readyState&&this.resetPingTimeout()}},{key:"resetPingTimeout",value:function(){var e=this;this.clearTimeoutFn(this.pingTimeoutTimer),this.pingTimeoutTimer=this.setTimeoutFn((function(){e.onClose("ping timeout")}),this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}},{key:"onDrain",value:function(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,0===this.writeBuffer.length?this.emitReserved("drain"):this.flush()}},{key:"flush",value:function(){if("closed"!==this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){var e=this.getWritablePackets();this.transport.send(e),this.prevBufferLen=e.length,this.emitReserved("flush")}}},{key:"getWritablePackets",value:function(){if(!(this.maxPayload&&"polling"===this.transport.name&&this.writeBuffer.length>1))return this.writeBuffer;for(var e,t=1,n=0;n<this.writeBuffer.length;n++){var r=this.writeBuffer[n].data;if(r&&(t+="string"==typeof(e=r)?function(e){for(var t=0,n=0,r=0,o=e.length;r<o;r++)(t=e.charCodeAt(r))<128?n+=1:t<2048?n+=2:t<55296||t>=57344?n+=3:(r++,n+=4);return n}(e):Math.ceil(1.33*(e.byteLength||e.size))),n>0&&t>this.maxPayload)return this.writeBuffer.slice(0,n);t+=2}return this.writeBuffer}},{key:"write",value:function(e,t,n){return this.sendPacket("message",e,t,n),this}},{key:"send",value:function(e,t,n){return this.sendPacket("message",e,t,n),this}},{key:"sendPacket",value:function(e,t,n,r){if("function"==typeof t&&(r=t,t=void 0),"function"==typeof n&&(r=n,n=null),"closing"!==this.readyState&&"closed"!==this.readyState){(n=n||{}).compress=!1!==n.compress;var o={type:e,data:t,options:n};this.emitReserved("packetCreate",o),this.writeBuffer.push(o),r&&this.once("flush",r),this.flush()}}},{key:"close",value:function(){var e=this,t=function(){e.onClose("forced close"),e.transport.close()},n=function n(){e.off("upgrade",n),e.off("upgradeError",n),t()},r=function(){e.once("upgrade",n),e.once("upgradeError",n)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",(function(){e.upgrading?r():t()})):this.upgrading?r():t()),this}},{key:"onError",value:function(e){n.priorWebsocketSuccess=!1,this.emitReserved("error",e),this.onClose("transport error",e)}},{key:"onClose",value:function(e,t){"opening"!==this.readyState&&"open"!==this.readyState&&"closing"!==this.readyState||(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),"function"==typeof removeEventListener&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this.prevBufferLen=0)}},{key:"filterUpgrades",value:function(e){for(var t=[],n=0,r=e.length;n<r;n++)~this.transports.indexOf(e[n])&&t.push(e[n]);return t}}]),n}(_c);Yc.protocol=4;var Zc="function"==typeof ArrayBuffer,Xc=function(e){return"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer},Qc=Object.prototype.toString,el="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Qc.call(Blob),tl="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===Qc.call(File);function nl(e){return Zc&&(e instanceof ArrayBuffer||Xc(e))||el&&e instanceof Blob||tl&&e instanceof File}function rl(e,t){if(!e||"object"!==Z(e))return!1;if(Array.isArray(e)){for(var n=0,r=e.length;n<r;n++)if(rl(e[n]))return!0;return!1}if(nl(e))return!0;if(e.toJSON&&"function"==typeof e.toJSON&&1===arguments.length)return rl(e.toJSON(),!0);for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)&&rl(e[o]))return!0;return!1}function ol(e){var t=[],n=e;return n.data=il(e.data,t),n.attachments=t.length,{packet:n,buffers:t}}function il(e,t){if(!e)return e;if(nl(e)){var n={_placeholder:!0,num:t.length};return t.push(e),n}if(Array.isArray(e)){for(var r=new Array(e.length),o=0;o<e.length;o++)r[o]=il(e[o],t);return r}if("object"===Z(e)&&!(e instanceof Date)){var i={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(i[a]=il(e[a],t));return i}return e}function al(e,t){return e.data=sl(e.data,t),delete e.attachments,e}function sl(e,t){if(!e)return e;if(e&&!0===e._placeholder){if("number"==typeof e.num&&e.num>=0&&e.num<t.length)return t[e.num];throw new Error("illegal attachments")}if(Array.isArray(e))for(var n=0;n<e.length;n++)e[n]=sl(e[n],t);else if("object"===Z(e))for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(e[r]=sl(e[r],t));return e}var ul,cl=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];!function(e){e[e.CONNECT=0]="CONNECT",e[e.DISCONNECT=1]="DISCONNECT",e[e.EVENT=2]="EVENT",e[e.ACK=3]="ACK",e[e.CONNECT_ERROR=4]="CONNECT_ERROR",e[e.BINARY_EVENT=5]="BINARY_EVENT",e[e.BINARY_ACK=6]="BINARY_ACK"}(ul||(ul={}));var ll=function(){function e(t){ee(this,e),this.replacer=t}return ne(e,[{key:"encode",value:function(e){return e.type!==ul.EVENT&&e.type!==ul.ACK||!rl(e)?[this.encodeAsString(e)]:this.encodeAsBinary({type:e.type===ul.EVENT?ul.BINARY_EVENT:ul.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id})}},{key:"encodeAsString",value:function(e){var t=""+e.type;return e.type!==ul.BINARY_EVENT&&e.type!==ul.BINARY_ACK||(t+=e.attachments+"-"),e.nsp&&"/"!==e.nsp&&(t+=e.nsp+","),null!=e.id&&(t+=e.id),null!=e.data&&(t+=JSON.stringify(e.data,this.replacer)),t}},{key:"encodeAsBinary",value:function(e){var t=ol(e),n=this.encodeAsString(t.packet),r=t.buffers;return r.unshift(n),r}}]),e}();function fl(e){return"[object Object]"===Object.prototype.toString.call(e)}var dl=function(e){oe(n,e);var t=fe(n);function n(e){var r;return ee(this,n),(r=t.call(this)).reviver=e,r}return ne(n,[{key:"add",value:function(e){var t;if("string"==typeof e){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");var r=(t=this.decodeString(e)).type===ul.BINARY_EVENT;r||t.type===ul.BINARY_ACK?(t.type=r?ul.EVENT:ul.ACK,this.reconstructor=new hl(t),0===t.attachments&&de(ie(n.prototype),"emitReserved",this).call(this,"decoded",t)):de(ie(n.prototype),"emitReserved",this).call(this,"decoded",t)}else{if(!nl(e)&&!e.base64)throw new Error("Unknown type: "+e);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");(t=this.reconstructor.takeBinaryData(e))&&(this.reconstructor=null,de(ie(n.prototype),"emitReserved",this).call(this,"decoded",t))}}},{key:"decodeString",value:function(e){var t=0,r={type:Number(e.charAt(0))};if(void 0===ul[r.type])throw new Error("unknown packet type "+r.type);if(r.type===ul.BINARY_EVENT||r.type===ul.BINARY_ACK){for(var o=t+1;"-"!==e.charAt(++t)&&t!=e.length;);var i=e.substring(o,t);if(i!=Number(i)||"-"!==e.charAt(t))throw new Error("Illegal attachments");r.attachments=Number(i)}if("/"===e.charAt(t+1)){for(var a=t+1;++t&&","!==e.charAt(t)&&t!==e.length;);r.nsp=e.substring(a,t)}else r.nsp="/";var s=e.charAt(t+1);if(""!==s&&Number(s)==s){for(var u=t+1;++t;){var c=e.charAt(t);if(null==c||Number(c)!=c){--t;break}if(t===e.length)break}r.id=Number(e.substring(u,t+1))}if(e.charAt(++t)){var l=this.tryParse(e.substr(t));if(!n.isPayloadValid(r.type,l))throw new Error("invalid payload");r.data=l}return r}},{key:"tryParse",value:function(e){try{return JSON.parse(e,this.reviver)}catch(e){return!1}}},{key:"destroy",value:function(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}],[{key:"isPayloadValid",value:function(e,t){switch(e){case ul.CONNECT:return fl(t);case ul.DISCONNECT:return void 0===t;case ul.CONNECT_ERROR:return"string"==typeof t||fl(t);case ul.EVENT:case ul.BINARY_EVENT:return Array.isArray(t)&&("number"==typeof t[0]||"string"==typeof t[0]&&-1===cl.indexOf(t[0]));case ul.ACK:case ul.BINARY_ACK:return Array.isArray(t)}}}]),n}(_c),hl=function(){function e(t){ee(this,e),this.packet=t,this.buffers=[],this.reconPack=t}return ne(e,[{key:"takeBinaryData",value:function(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){var t=al(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}},{key:"finishedReconstruction",value:function(){this.reconPack=null,this.buffers=[]}}]),e}(),pl={__proto__:null,protocol:5,get PacketType(){return ul},Encoder:ll,Decoder:dl};function ml(e,t,n){return e.on(t,n),function(){e.off(t,n)}}var gl=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1}),yl=function(e){oe(n,e);var t=fe(n);function n(e,r,o){var i;return ee(this,n),(i=t.call(this)).connected=!1,i.recovered=!1,i.receiveBuffer=[],i.sendBuffer=[],i._queue=[],i._queueSeq=0,i.ids=0,i.acks={},i.flags={},i.io=e,i.nsp=r,o&&o.auth&&(i.auth=o.auth),i._opts=Object.assign({},o),i.io._autoConnect&&i.open(),i}return ne(n,[{key:"disconnected",get:function(){return!this.connected}},{key:"subEvents",value:function(){if(!this.subs){var e=this.io;this.subs=[ml(e,"open",this.onopen.bind(this)),ml(e,"packet",this.onpacket.bind(this)),ml(e,"error",this.onerror.bind(this)),ml(e,"close",this.onclose.bind(this))]}}},{key:"active",get:function(){return!!this.subs}},{key:"connect",value:function(){return this.connected||(this.subEvents(),this.io._reconnecting||this.io.open(),"open"===this.io._readyState&&this.onopen()),this}},{key:"open",value:function(){return this.connect()}},{key:"send",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.unshift("message"),this.emit.apply(this,t),this}},{key:"emit",value:function(e){if(gl.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];if(n.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(n),this;var o={type:ul.EVENT,data:n,options:{}};if(o.options.compress=!1!==this.flags.compress,"function"==typeof n[n.length-1]){var i=this.ids++,a=n.pop();this._registerAckCallback(i,a),o.id=i}return this.flags.volatile&&(!(this.io.engine&&this.io.engine.transport&&this.io.engine.transport.writable)||!this.connected)||(this.connected?(this.notifyOutgoingListeners(o),this.packet(o)):this.sendBuffer.push(o)),this.flags={},this}},{key:"_registerAckCallback",value:function(e,t){var n,r=this,o=null!==(n=this.flags.timeout)&&void 0!==n?n:this._opts.ackTimeout;if(void 0!==o){var i=this.io.setTimeoutFn((function(){delete r.acks[e];for(var n=0;n<r.sendBuffer.length;n++)r.sendBuffer[n].id===e&&r.sendBuffer.splice(n,1);t.call(r,new Error("operation has timed out"))}),o);this.acks[e]=function(){r.io.clearTimeoutFn(i);for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];t.apply(r,[null].concat(n))}}else this.acks[e]=t}},{key:"emitWithAck",value:function(e){for(var t=this,n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];var i=void 0!==this.flags.timeout||void 0!==this._opts.ackTimeout;return new Promise((function(n,o){r.push((function(e,t){return i?e?o(e):n(t):n(e)})),t.emit.apply(t,[e].concat(r))}))}},{key:"_addToQueue",value:function(e){var t,n=this;"function"==typeof e[e.length-1]&&(t=e.pop());var r={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((function(e){if(r===n._queue[0]){if(null!==e)r.tryCount>n._opts.retries&&(n._queue.shift(),t&&t(e));else if(n._queue.shift(),t){for(var o=arguments.length,i=new Array(o>1?o-1:0),a=1;a<o;a++)i[a-1]=arguments[a];t.apply(void 0,[null].concat(i))}return r.pending=!1,n._drainQueue()}})),this._queue.push(r),this._drainQueue()}},{key:"_drainQueue",value:function(){if(this.connected&&0!==this._queue.length){var e=this._queue[0];e.pending&&!(arguments.length>0&&void 0!==arguments[0]&&arguments[0])||(e.pending=!0,e.tryCount++,this.flags=e.flags,this.emit.apply(this,e.args))}}},{key:"packet",value:function(e){e.nsp=this.nsp,this.io._packet(e)}},{key:"onopen",value:function(){var e=this;"function"==typeof this.auth?this.auth((function(t){e._sendConnectPacket(t)})):this._sendConnectPacket(this.auth)}},{key:"_sendConnectPacket",value:function(e){this.packet({type:ul.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}},{key:"onerror",value:function(e){this.connected||this.emitReserved("connect_error",e)}},{key:"onclose",value:function(e,t){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t)}},{key:"onpacket",value:function(e){if(e.nsp===this.nsp)switch(e.type){case ul.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case ul.EVENT:case ul.BINARY_EVENT:this.onevent(e);break;case ul.ACK:case ul.BINARY_ACK:this.onack(e);break;case ul.DISCONNECT:this.ondisconnect();break;case ul.CONNECT_ERROR:this.destroy();var t=new Error(e.data.message);t.data=e.data.data,this.emitReserved("connect_error",t)}}},{key:"onevent",value:function(e){var t=e.data||[];null!=e.id&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}},{key:"emitEvent",value:function(e){if(this._anyListeners&&this._anyListeners.length){var t,r=we(this._anyListeners.slice());try{for(r.s();!(t=r.n()).done;)t.value.apply(this,e)}catch(e){r.e(e)}finally{r.f()}}de(ie(n.prototype),"emit",this).apply(this,e),this._pid&&e.length&&"string"==typeof e[e.length-1]&&(this._lastOffset=e[e.length-1])}},{key:"ack",value:function(e){var t=this,n=!1;return function(){if(!n){n=!0;for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];t.packet({type:ul.ACK,id:e,data:o})}}}},{key:"onack",value:function(e){var t=this.acks[e.id];"function"==typeof t&&(t.apply(this,e.data),delete this.acks[e.id])}},{key:"onconnect",value:function(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}},{key:"emitBuffered",value:function(){var e=this;this.receiveBuffer.forEach((function(t){return e.emitEvent(t)})),this.receiveBuffer=[],this.sendBuffer.forEach((function(t){e.notifyOutgoingListeners(t),e.packet(t)})),this.sendBuffer=[]}},{key:"ondisconnect",value:function(){this.destroy(),this.onclose("io server disconnect")}},{key:"destroy",value:function(){this.subs&&(this.subs.forEach((function(e){return e()})),this.subs=void 0),this.io._destroy(this)}},{key:"disconnect",value:function(){return this.connected&&this.packet({type:ul.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}},{key:"close",value:function(){return this.disconnect()}},{key:"compress",value:function(e){return this.flags.compress=e,this}},{key:"volatile",get:function(){return this.flags.volatile=!0,this}},{key:"timeout",value:function(e){return this.flags.timeout=e,this}},{key:"onAny",value:function(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}},{key:"prependAny",value:function(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}},{key:"offAny",value:function(e){if(!this._anyListeners)return this;if(e){for(var t=this._anyListeners,n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyListeners=[];return this}},{key:"listenersAny",value:function(){return this._anyListeners||[]}},{key:"onAnyOutgoing",value:function(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}},{key:"prependAnyOutgoing",value:function(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}},{key:"offAnyOutgoing",value:function(e){if(!this._anyOutgoingListeners)return this;if(e){for(var t=this._anyOutgoingListeners,n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyOutgoingListeners=[];return this}},{key:"listenersAnyOutgoing",value:function(){return this._anyOutgoingListeners||[]}},{key:"notifyOutgoingListeners",value:function(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){var t,n=we(this._anyOutgoingListeners.slice());try{for(n.s();!(t=n.n()).done;)t.value.apply(this,e.data)}catch(e){n.e(e)}finally{n.f()}}}}]),n}(_c);function vl(e){this.ms=(e=e||{}).min||100,this.max=e.max||1e4,this.factor=e.factor||2,this.jitter=e.jitter>0&&e.jitter<=1?e.jitter:0,this.attempts=0}vl.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=0==(1&Math.floor(10*t))?e-n:e+n}return 0|Math.min(e,this.max)},vl.prototype.reset=function(){this.attempts=0},vl.prototype.setMin=function(e){this.ms=e},vl.prototype.setMax=function(e){this.max=e},vl.prototype.setJitter=function(e){this.jitter=e};var _l=function(e){oe(n,e);var t=fe(n);function n(e,r){var o,i;ee(this,n),(o=t.call(this)).nsps={},o.subs=[],e&&"object"===Z(e)&&(r=e,e=void 0),(r=r||{}).path=r.path||"/socket.io",o.opts=r,kc(le(o),r),o.reconnection(!1!==r.reconnection),o.reconnectionAttempts(r.reconnectionAttempts||Infinity),o.reconnectionDelay(r.reconnectionDelay||1e3),o.reconnectionDelayMax(r.reconnectionDelayMax||5e3),o.randomizationFactor(null!==(i=r.randomizationFactor)&&void 0!==i?i:.5),o.backoff=new vl({min:o.reconnectionDelay(),max:o.reconnectionDelayMax(),jitter:o.randomizationFactor()}),o.timeout(null==r.timeout?2e4:r.timeout),o._readyState="closed",o.uri=e;var a=r.parser||pl;return o.encoder=new a.Encoder,o.decoder=new a.Decoder,o._autoConnect=!1!==r.autoConnect,o._autoConnect&&o.open(),o}return ne(n,[{key:"reconnection",value:function(e){return arguments.length?(this._reconnection=!!e,this):this._reconnection}},{key:"reconnectionAttempts",value:function(e){return void 0===e?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}},{key:"reconnectionDelay",value:function(e){var t;return void 0===e?this._reconnectionDelay:(this._reconnectionDelay=e,null===(t=this.backoff)||void 0===t||t.setMin(e),this)}},{key:"randomizationFactor",value:function(e){var t;return void 0===e?this._randomizationFactor:(this._randomizationFactor=e,null===(t=this.backoff)||void 0===t||t.setJitter(e),this)}},{key:"reconnectionDelayMax",value:function(e){var t;return void 0===e?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,null===(t=this.backoff)||void 0===t||t.setMax(e),this)}},{key:"timeout",value:function(e){return arguments.length?(this._timeout=e,this):this._timeout}},{key:"maybeReconnectOnOpen",value:function(){!this._reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()}},{key:"open",value:function(e){var t=this;if(~this._readyState.indexOf("open"))return this;this.engine=new Yc(this.uri,this.opts);var n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;var o=ml(n,"open",(function(){r.onopen(),e&&e()})),i=function(n){t.cleanup(),t._readyState="closed",t.emitReserved("error",n),e?e(n):t.maybeReconnectOnOpen()},a=ml(n,"error",i);if(!1!==this._timeout){var s=this.setTimeoutFn((function(){o(),i(new Error("timeout")),n.close()}),this._timeout);this.opts.autoUnref&&s.unref(),this.subs.push((function(){t.clearTimeoutFn(s)}))}return this.subs.push(o),this.subs.push(a),this}},{key:"connect",value:function(e){return this.open(e)}},{key:"onopen",value:function(){this.cleanup(),this._readyState="open",this.emitReserved("open");var e=this.engine;this.subs.push(ml(e,"ping",this.onping.bind(this)),ml(e,"data",this.ondata.bind(this)),ml(e,"error",this.onerror.bind(this)),ml(e,"close",this.onclose.bind(this)),ml(this.decoder,"decoded",this.ondecoded.bind(this)))}},{key:"onping",value:function(){this.emitReserved("ping")}},{key:"ondata",value:function(e){try{this.decoder.add(e)}catch(e){this.onclose("parse error",e)}}},{key:"ondecoded",value:function(e){var t=this;Uc((function(){t.emitReserved("packet",e)}),this.setTimeoutFn)}},{key:"onerror",value:function(e){this.emitReserved("error",e)}},{key:"socket",value:function(e,t){var n=this.nsps[e];return n?this._autoConnect&&!n.active&&n.connect():(n=new yl(this,e,t),this.nsps[e]=n),n}},{key:"_destroy",value:function(e){for(var t=0,n=Object.keys(this.nsps);t<n.length;t++)if(this.nsps[n[t]].active)return;this._close()}},{key:"_packet",value:function(e){for(var t=this.encoder.encode(e),n=0;n<t.length;n++)this.engine.write(t[n],e.options)}},{key:"cleanup",value:function(){this.subs.forEach((function(e){return e()})),this.subs.length=0,this.decoder.destroy()}},{key:"_close",value:function(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}},{key:"disconnect",value:function(){return this._close()}},{key:"onclose",value:function(e,t){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}},{key:"reconnect",value:function(){var e=this;if(this._reconnecting||this.skipReconnect)return this;var t=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{var n=this.backoff.duration();this._reconnecting=!0;var r=this.setTimeoutFn((function(){t.skipReconnect||(e.emitReserved("reconnect_attempt",t.backoff.attempts),t.skipReconnect||t.open((function(n){n?(t._reconnecting=!1,t.reconnect(),e.emitReserved("reconnect_error",n)):t.onreconnect()})))}),n);this.opts.autoUnref&&r.unref(),this.subs.push((function(){e.clearTimeoutFn(r)}))}}},{key:"onreconnect",value:function(){var e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}]),n}(_c),bl={};function wl(e,t){"object"===Z(e)&&(t=e,e=void 0);var n,r=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2?arguments[2]:void 0,r=e;n=n||"undefined"!=typeof location&&location,null==e&&(e=n.protocol+"//"+n.host),"string"==typeof e&&("/"===e.charAt(0)&&(e="/"===e.charAt(1)?n.protocol+e:n.host+e),/^(https?|wss?):\/\//.test(e)||(e=void 0!==n?n.protocol+"//"+e:"https://"+e),r=Kc(e)),r.port||(/^(http|ws)$/.test(r.protocol)?r.port="80":/^(http|ws)s$/.test(r.protocol)&&(r.port="443")),r.path=r.path||"/";var o=-1!==r.host.indexOf(":")?"["+r.host+"]":r.host;return r.id=r.protocol+"://"+o+":"+r.port+t,r.href=r.protocol+"://"+o+(n&&n.port===r.port?"":":"+r.port),r}(e,(t=t||{}).path||"/socket.io"),o=r.source,i=r.id;return t.forceNew||t["force new connection"]||!1===t.multiplex||bl[i]&&r.path in bl[i].nsps?n=new _l(o,t):(bl[i]||(bl[i]=new _l(o,t)),n=bl[i]),r.query&&!t.query&&(t.query=r.queryKey),n.socket(r.path,t)}function Sl(){}function xl(){xl.init.call(this)}function kl(e){return void 0===e._maxListeners?xl.defaultMaxListeners:e._maxListeners}function El(e,t,n,r){var o,i,a;if("function"!=typeof n)throw new TypeError('"listener" argument must be a function');if((i=e._events)?(i.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),i=e._events),a=i[t]):(i=e._events=new Sl,e._eventsCount=0),a){if("function"==typeof a?a=i[t]=r?[n,a]:[a,n]:r?a.unshift(n):a.push(n),!a.warned&&(o=kl(e))&&o>0&&a.length>o){a.warned=!0;var s=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");s.name="MaxListenersExceededWarning",s.emitter=e,s.type=t,s.count=a.length,function(e){"function"==typeof console.warn?console.warn(e):console.log(e)}(s)}}else a=i[t]=n,++e._eventsCount;return e}function Al(e,t,n){var r=!1;function o(){e.removeListener(t,o),r||(r=!0,n.apply(e,arguments))}return o.listener=n,o}function Cl(e){var t=this._events;if(t){var n=t[e];if("function"==typeof n)return 1;if(n)return n.length}return 0}function Ol(e,t){for(var n=new Array(t);t--;)n[t]=e[t];return n}Object.assign(wl,{Manager:_l,Socket:yl,io:wl,connect:wl}),Sl.prototype=Object.create(null),xl.EventEmitter=xl,xl.usingDomains=!1,xl.prototype.domain=void 0,xl.prototype._events=void 0,xl.prototype._maxListeners=void 0,xl.defaultMaxListeners=10,xl.init=function(){this.domain=null,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new Sl,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},xl.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},xl.prototype.getMaxListeners=function(){return kl(this)},xl.prototype.emit=function(e){var t,n,r,o,i,a,s,u="error"===e;if(a=this._events)u=u&&null==a.error;else if(!u)return!1;if(s=this.domain,u){if(t=arguments[1],!s){if(t instanceof Error)throw t;var c=new Error('Uncaught, unspecified "error" event. ('+t+")");throw c.context=t,c}return t||(t=new Error('Uncaught, unspecified "error" event')),t.domainEmitter=this,t.domain=s,t.domainThrown=!1,s.emit("error",t),!1}if(!(n=a[e]))return!1;var l="function"==typeof n;switch(r=arguments.length){case 1:!function(e,t,n){if(t)e.call(n);else for(var r=e.length,o=Ol(e,r),i=0;i<r;++i)o[i].call(n)}(n,l,this);break;case 2:!function(e,t,n,r){if(t)e.call(n,r);else for(var o=e.length,i=Ol(e,o),a=0;a<o;++a)i[a].call(n,r)}(n,l,this,arguments[1]);break;case 3:!function(e,t,n,r,o){if(t)e.call(n,r,o);else for(var i=e.length,a=Ol(e,i),s=0;s<i;++s)a[s].call(n,r,o)}(n,l,this,arguments[1],arguments[2]);break;case 4:!function(e,t,n,r,o,i){if(t)e.call(n,r,o,i);else for(var a=e.length,s=Ol(e,a),u=0;u<a;++u)s[u].call(n,r,o,i)}(n,l,this,arguments[1],arguments[2],arguments[3]);break;default:for(o=new Array(r-1),i=1;i<r;i++)o[i-1]=arguments[i];!function(e,t,n,r){if(t)e.apply(n,r);else for(var o=e.length,i=Ol(e,o),a=0;a<o;++a)i[a].apply(n,r)}(n,l,this,o)}return!0},xl.prototype.on=xl.prototype.addListener=function(e,t){return El(this,e,t,!1)},xl.prototype.prependListener=function(e,t){return El(this,e,t,!0)},xl.prototype.once=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.on(e,Al(this,e,t)),this},xl.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.prependListener(e,Al(this,e,t)),this},xl.prototype.removeListener=function(e,t){var n,r,o,i,a;if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');if(!(r=this._events))return this;if(!(n=r[e]))return this;if(n===t||n.listener&&n.listener===t)0==--this._eventsCount?this._events=new Sl:(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(o=-1,i=n.length;i-- >0;)if(n[i]===t||n[i].listener&&n[i].listener===t){a=n[i].listener,o=i;break}if(o<0)return this;if(1===n.length){if(n[0]=void 0,0==--this._eventsCount)return this._events=new Sl,this;delete r[e]}else!function(e,t){for(var n=t,r=n+1,o=e.length;r<o;n+=1,r+=1)e[n]=e[r];e.pop()}(n,o);r.removeListener&&this.emit("removeListener",e,a||t)}return this},xl.prototype.removeAllListeners=function(e){var t,n;if(!(n=this._events))return this;if(!n.removeListener)return 0===arguments.length?(this._events=new Sl,this._eventsCount=0):n[e]&&(0==--this._eventsCount?this._events=new Sl:delete n[e]),this;if(0===arguments.length){for(var r,o=Object.keys(n),i=0;i<o.length;++i)"removeListener"!==(r=o[i])&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events=new Sl,this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(t)do{this.removeListener(e,t[t.length-1])}while(t[0]);return this},xl.prototype.listeners=function(e){var t,n,r=this._events;return n=r&&(t=r[e])?"function"==typeof t?[t.listener||t]:function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(t):[],n},xl.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):Cl.call(e,t)},xl.prototype.listenerCount=Cl,xl.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};var Rl="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e},Nl=/%[sdj%]/g;function Il(e){if(!Hl(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(Fl(arguments[n]));return t.join(" ")}n=1;for(var r=arguments,o=r.length,i=String(e).replace(Nl,(function(e){if("%%"===e)return"%";if(n>=o)return e;switch(e){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(e){return"[Circular]"}default:return e}})),a=r[n];n<o;a=r[++n])Gl(a)||!$l(a)?i+=" "+a:i+=" "+Fl(a);return i}function Pl(e,t){if(Wl(pt.process))return function(){return Pl(e,t).apply(this,arguments)};if(!0===qt.noDeprecation)return e;var n=!1;return function(){if(!n){if(qt.throwDeprecation)throw new Error(t);qt.traceDeprecation?console.trace(t):console.error(t),n=!0}return e.apply(this,arguments)}}var Tl,Ml={};function jl(e){return Wl(Tl)&&(Tl=qt.env.NODE_DEBUG||""),e=e.toUpperCase(),Ml[e]||(Ml[e]=new RegExp("\\b"+e+"\\b","i").test(Tl)?function(){var t=Il.apply(null,arguments);console.error("%s %d: %s",e,0,t)}:function(){}),Ml[e]}function Fl(e,t){var n={seen:[],stylize:Dl};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),zl(t)?n.showHidden=t:t&&function(e,t){if(!t||!$l(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]]}(n,t),Wl(n.showHidden)&&(n.showHidden=!1),Wl(n.depth)&&(n.depth=2),Wl(n.colors)&&(n.colors=!1),Wl(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=Ll),ql(n,e,n.depth)}function Ll(e,t){var n=Fl.styles[t];return n?"["+Fl.colors[n][0]+"m"+e+"["+Fl.colors[n][1]+"m":e}function Dl(e,t){return e}function ql(e,t,n){if(e.customInspect&&t&&Yl(t.inspect)&&t.inspect!==Fl&&(!t.constructor||t.constructor.prototype!==t)){var r=t.inspect(n,e);return Hl(r)||(r=ql(e,r,n)),r}var o=function(e,t){if(Wl(t))return e.stylize("undefined","undefined");if(Hl(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}return"number"==typeof t?e.stylize(""+t,"number"):zl(t)?e.stylize(""+t,"boolean"):Gl(t)?e.stylize("null","null"):void 0}(e,t);if(o)return o;var i=Object.keys(t),a=function(e){var t={};return e.forEach((function(e,n){t[e]=!0})),t}(i);if(e.showHidden&&(i=Object.getOwnPropertyNames(t)),Kl(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return Bl(t);if(0===i.length){if(Yl(t))return e.stylize("[Function"+(t.name?": "+t.name:"")+"]","special");if(Vl(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(Jl(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Kl(t))return Bl(t)}var s,u="",c=!1,l=["{","}"];return Array.isArray(t)&&(c=!0,l=["[","]"]),Yl(t)&&(u=" [Function"+(t.name?": "+t.name:"")+"]"),Vl(t)&&(u=" "+RegExp.prototype.toString.call(t)),Jl(t)&&(u=" "+Date.prototype.toUTCString.call(t)),Kl(t)&&(u=" "+Bl(t)),0!==i.length||c&&0!=t.length?n<0?Vl(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),s=c?function(e,t,n,r,o){for(var i=[],a=0,s=t.length;a<s;++a)Xl(t,String(a))?i.push(Ul(e,t,n,r,String(a),!0)):i.push("");return o.forEach((function(o){o.match(/^\d+$/)||i.push(Ul(e,t,n,r,o,!0))})),i}(e,t,n,a,i):i.map((function(r){return Ul(e,t,n,a,r,c)})),e.seen.pop(),function(e,t,n){var r=e.reduce((function(e,t){return t.indexOf("\n"),e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0);return r>60?n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}(s,u,l)):l[0]+u+l[1]}function Bl(e){return"["+Error.prototype.toString.call(e)+"]"}function Ul(e,t,n,r,o,i){var a,s,u;if((u=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?s=e.stylize(u.set?"[Getter/Setter]":"[Getter]","special"):u.set&&(s=e.stylize("[Setter]","special")),Xl(r,o)||(a="["+o+"]"),s||(e.seen.indexOf(u.value)<0?(s=Gl(n)?ql(e,u.value,null):ql(e,u.value,n-1)).indexOf("\n")>-1&&(s=i?s.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.stylize("[Circular]","special")),Wl(a)){if(i&&o.match(/^\d+$/))return s;(a=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+s}function zl(e){return"boolean"==typeof e}function Gl(e){return null===e}function Hl(e){return"string"==typeof e}function Wl(e){return void 0===e}function Vl(e){return $l(e)&&"[object RegExp]"===Zl(e)}function $l(e){return"object"===Z(e)&&null!==e}function Jl(e){return $l(e)&&"[object Date]"===Zl(e)}function Kl(e){return $l(e)&&("[object Error]"===Zl(e)||e instanceof Error)}function Yl(e){return"function"==typeof e}function Zl(e){return Object.prototype.toString.call(e)}function Xl(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Ql(){this.head=null,this.tail=null,this.length=0}Fl.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},Fl.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},Ql.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},Ql.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},Ql.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,e}},Ql.prototype.clear=function(){this.head=this.tail=null,this.length=0},Ql.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n},Ql.prototype.concat=function(e){if(0===this.length)return Xt.alloc(0);if(1===this.length)return this.head.data;for(var t=Xt.allocUnsafe(e>>>0),n=this.head,r=0;n;)n.data.copy(t,r),r+=n.data.length,n=n.next;return t};var ef=Xt.isEncoding||function(e){switch(e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function tf(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),function(e){if(e&&!ef(e))throw new Error("Unknown encoding: "+e)}(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=rf;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=of;break;default:return void(this.write=nf)}this.charBuffer=new Xt(6),this.charReceived=0,this.charLength=0}function nf(e){return e.toString(this.encoding)}function rf(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function of(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}tf.prototype.write=function(e){for(var t="";this.charLength;){var n=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,n),this.charReceived+=n,this.charReceived<this.charLength)return"";if(e=e.slice(n,e.length),!((r=(t=this.charBuffer.slice(0,this.charLength).toString(this.encoding)).charCodeAt(t.length-1))>=55296&&r<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=""}this.detectIncompleteChar(e);var r,o=e.length;if(this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,o),o-=this.charReceived),(r=(t+=e.toString(this.encoding,0,o)).charCodeAt(o=t.length-1))>=55296&&r<=56319){var i=this.surrogateSize;return this.charLength+=i,this.charReceived+=i,this.charBuffer.copy(this.charBuffer,i,0,i),e.copy(this.charBuffer,0,0,i),t.substring(0,o)}return t},tf.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var n=e[e.length-t];if(1==t&&n>>5==6){this.charLength=2;break}if(t<=2&&n>>4==14){this.charLength=3;break}if(t<=3&&n>>3==30){this.charLength=4;break}}this.charReceived=t},tf.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var n=this.encoding;t+=this.charBuffer.slice(0,this.charReceived).toString(n)}return t},uf.ReadableState=sf;var af=jl("stream");function sf(e,t){this.objectMode=!!(e=e||{}).objectMode,t instanceof Ff&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var n=e.highWaterMark;this.highWaterMark=n||0===n?n:this.objectMode?16:16384,this.highWaterMark=~~this.highWaterMark,this.buffer=new Ql,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(this.decoder=new tf(e.encoding),this.encoding=e.encoding)}function uf(e){if(!(this instanceof uf))return new uf(e);this._readableState=new sf(e,this),this.readable=!0,e&&"function"==typeof e.read&&(this._read=e.read),xl.call(this)}function cf(e,t,n,r,o){var i=function(e,t){var n=null;return Fn(t)||"string"==typeof t||null==t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk")),n}(t,n);if(i)e.emit("error",i);else if(null===n)t.reading=!1,function(e,t){if(!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,df(e)}}(e,t);else if(t.objectMode||n&&n.length>0)if(t.ended&&!o){var a=new Error("stream.push() after EOF");e.emit("error",a)}else if(t.endEmitted&&o){var s=new Error("stream.unshift() after end event");e.emit("error",s)}else{var u;!t.decoder||o||r||(n=t.decoder.write(n),u=!t.objectMode&&0===n.length),o||(t.reading=!1),u||(t.flowing&&0===t.length&&!t.sync?(e.emit("data",n),e.read(0)):(t.length+=t.objectMode?1:n.length,o?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&df(e))),function(e,t){t.readingMore||(t.readingMore=!0,At(pf,e,t))}(e,t)}else o||(t.reading=!1);return function(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}(t)}Rl(uf,xl),uf.prototype.push=function(e,t){var n=this._readableState;return n.objectMode||"string"!=typeof e||(t=t||n.defaultEncoding)!==n.encoding&&(e=Xt.from(e,t),t=""),cf(this,n,e,t,!1)},uf.prototype.unshift=function(e){return cf(this,this._readableState,e,"",!0)},uf.prototype.isPaused=function(){return!1===this._readableState.flowing},uf.prototype.setEncoding=function(e){return this._readableState.decoder=new tf(e),this._readableState.encoding=e,this};var lf=8388608;function ff(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=function(e){return e>=lf?e=lf:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function df(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(af("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?At(hf,e):hf(e))}function hf(e){af("emit readable"),e.emit("readable"),yf(e)}function pf(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(af("maybeReadMore read 0"),e.read(0),n!==t.length);)n=t.length;t.readingMore=!1}function mf(e){af("readable nexttick read 0"),e.read(0)}function gf(e,t){t.reading||(af("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),yf(e),t.flowing&&!t.reading&&e.read(0)}function yf(e){var t=e._readableState;for(af("flow",t.flowing);t.flowing&&null!==e.read(););}function vf(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=function(e,t,n){var r;return e<t.head.data.length?(r=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):r=e===t.head.data.length?t.shift():n?function(e,t){var n=t.head,r=1,o=n.data;for(e-=o.length;n=n.next;){var i=n.data,a=e>i.length?i.length:e;if(o+=a===i.length?i:i.slice(0,e),0==(e-=a)){a===i.length?(++r,t.head=n.next?n.next:t.tail=null):(t.head=n,n.data=i.slice(a));break}++r}return t.length-=r,o}(e,t):function(e,t){var n=Xt.allocUnsafe(e),r=t.head,o=1;for(r.data.copy(n),e-=r.data.length;r=r.next;){var i=r.data,a=e>i.length?i.length:e;if(i.copy(n,n.length-e,0,a),0==(e-=a)){a===i.length?(++o,t.head=r.next?r.next:t.tail=null):(t.head=r,r.data=i.slice(a));break}++o}return t.length-=o,n}(e,t),r}(e,t.buffer,t.decoder),n);var n}function _f(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,At(bf,t,e))}function bf(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function wf(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}function Sf(){}function xf(e,t,n){this.chunk=e,this.encoding=t,this.callback=n,this.next=null}function kf(e,t){Object.defineProperty(this,"buffer",{get:Pl((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")}),this.objectMode=!!(e=e||{}).objectMode,t instanceof Ff&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var n=e.highWaterMark;this.highWaterMark=n||0===n?n:this.objectMode?16:16384,this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.decodeStrings=!(!1===e.decodeStrings),this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,r=n.sync,o=n.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,r,o){--t.pendingcb,n?At(o,r):o(r),e._writableState.errorEmitted=!0,e.emit("error",r)}(e,n,r,t,o);else{var i=Rf(n);i||n.corked||n.bufferProcessing||!n.bufferedRequest||Of(e,n),r?At(Cf,e,n,i,o):Cf(e,n,i,o)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new Pf(this)}function Ef(e){if(!(this instanceof Ef||this instanceof Ff))return new Ef(e);this._writableState=new kf(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev)),xl.call(this)}function Af(e,t,n,r,o,i,a){t.writelen=r,t.writecb=a,t.writing=!0,t.sync=!0,n?e._writev(o,t.onwrite):e._write(o,i,t.onwrite),t.sync=!1}function Cf(e,t,n,r){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,r(),If(e,t)}function Of(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var r=new Array(t.bufferedRequestCount),o=t.corkedRequestsFree;o.entry=n;for(var i=0;n;)r[i]=n,n=n.next,i+=1;Af(e,t,!0,t.length,r,"",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new Pf(t)}else{for(;n;){var a=n.chunk;if(Af(e,t,!1,t.objectMode?1:a.length,a,n.encoding,n.callback),n=n.next,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequestCount=0,t.bufferedRequest=n,t.bufferProcessing=!1}function Rf(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function Nf(e,t){t.prefinished||(t.prefinished=!0,e.emit("prefinish"))}function If(e,t){var n=Rf(t);return n&&(0===t.pendingcb?(Nf(e,t),t.finished=!0,e.emit("finish")):Nf(e,t)),n}function Pf(e){var t=this;this.next=null,this.entry=null,this.finish=function(n){var r=t.entry;for(t.entry=null;r;){var o=r.callback;e.pendingcb--,o(n),r=r.next}e.corkedRequestsFree?e.corkedRequestsFree.next=t:e.corkedRequestsFree=t}}uf.prototype.read=function(e){af("read",e),e=parseInt(e,10);var t=this._readableState,n=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return af("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?_f(this):df(this),null;if(0===(e=ff(e,t))&&t.ended)return 0===t.length&&_f(this),null;var r,o=t.needReadable;return af("need readable",o),(0===t.length||t.length-e<t.highWaterMark)&&af("length less than watermark",o=!0),t.ended||t.reading?af("reading or ended",o=!1):o&&(af("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=ff(n,t))),null===(r=e>0?vf(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&_f(this)),null!==r&&this.emit("data",r),r},uf.prototype._read=function(e){this.emit("error",new Error("not implemented"))},uf.prototype.pipe=function(e,t){var n=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=e;break;case 1:r.pipes=[r.pipes,e];break;default:r.pipes.push(e)}r.pipesCount+=1,af("pipe count=%d opts=%j",r.pipesCount,t);var o=t&&!1===t.end?c:a;function i(e){af("onunpipe"),e===n&&c()}function a(){af("onend"),e.end()}r.endEmitted?At(o):n.once("end",o),e.on("unpipe",i);var s=function(e){return function(){var t=e._readableState;af("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&e.listeners("data").length&&(t.flowing=!0,yf(e))}}(n);e.on("drain",s);var u=!1;function c(){af("cleanup"),e.removeListener("close",h),e.removeListener("finish",p),e.removeListener("drain",s),e.removeListener("error",d),e.removeListener("unpipe",i),n.removeListener("end",a),n.removeListener("end",c),n.removeListener("data",f),u=!0,!r.awaitDrain||e._writableState&&!e._writableState.needDrain||s()}var l=!1;function f(t){af("ondata"),l=!1,!1!==e.write(t)||l||((1===r.pipesCount&&r.pipes===e||r.pipesCount>1&&-1!==wf(r.pipes,e))&&!u&&(af("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,l=!0),n.pause())}function d(t){af("onerror",t),m(),e.removeListener("error",d),0===e.listeners("error").length&&e.emit("error",t)}function h(){e.removeListener("finish",p),m()}function p(){af("onfinish"),e.removeListener("close",h),m()}function m(){af("unpipe"),n.unpipe(e)}return n.on("data",f),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",d),e.once("close",h),e.once("finish",p),e.emit("pipe",n),r.flowing||(af("pipe resume"),n.resume()),e},uf.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this)),this;if(!e){var n=t.pipes,r=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o<r;o++)n[o].emit("unpipe",this);return this}var i=wf(t.pipes,e);return-1===i||(t.pipes.splice(i,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this)),this},uf.prototype.addListener=uf.prototype.on=function(e,t){var n=xl.prototype.on.call(this,e,t);if("data"===e)!1!==this._readableState.flowing&&this.resume();else if("readable"===e){var r=this._readableState;r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.emittedReadable=!1,r.reading?r.length&&df(this):At(mf,this))}return n},uf.prototype.resume=function(){var e=this._readableState;return e.flowing||(af("resume"),e.flowing=!0,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,At(gf,e,t))}(this,e)),this},uf.prototype.pause=function(){return af("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(af("pause"),this._readableState.flowing=!1,this.emit("pause")),this},uf.prototype.wrap=function(e){var t=this._readableState,n=!1,r=this;for(var o in e.on("end",(function(){if(af("wrapped end"),t.decoder&&!t.ended){var e=t.decoder.end();e&&e.length&&r.push(e)}r.push(null)})),e.on("data",(function(o){af("wrapped data"),t.decoder&&(o=t.decoder.write(o)),t.objectMode&&null==o||(t.objectMode||o&&o.length)&&(r.push(o)||(n=!0,e.pause()))})),e)void 0===this[o]&&"function"==typeof e[o]&&(this[o]=function(t){return function(){return e[t].apply(e,arguments)}}(o));return function(t,n){for(var o=0,i=t.length;o<i;o++)e.on(a=t[o],r.emit.bind(r,a));var a}(["error","close","destroy","pause","resume"]),r._read=function(t){af("wrapped _read",t),n&&(n=!1,e.resume())},r},uf._fromList=vf,Ef.WritableState=kf,Rl(Ef,xl),kf.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},Ef.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},Ef.prototype.write=function(e,t,n){var r=this._writableState,o=!1;return"function"==typeof t&&(n=t,t=null),Xt.isBuffer(e)?t="buffer":t||(t=r.defaultEncoding),"function"!=typeof n&&(n=Sf),r.ended?function(e,t){var n=new Error("write after end");e.emit("error",n),At(t,n)}(this,n):function(e,t,n,r){var o=!0,i=!1;return null===n?i=new TypeError("May not write null values to stream"):Xt.isBuffer(n)||"string"==typeof n||void 0===n||t.objectMode||(i=new TypeError("Invalid non-string/buffer chunk")),i&&(e.emit("error",i),At(r,i),o=!1),o}(this,r,e,n)&&(r.pendingcb++,o=function(e,t,n,r,o){n=function(e,t,n){return e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=Xt.from(t,n)),t}(t,n,r),Xt.isBuffer(n)&&(r="buffer");var i=t.objectMode?1:n.length;t.length+=i;var a=t.length<t.highWaterMark;if(a||(t.needDrain=!0),t.writing||t.corked){var s=t.lastBufferedRequest;t.lastBufferedRequest=new xf(n,r,o),s?s.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else Af(e,t,!1,i,n,r,o);return a}(this,r,e,t,n)),o},Ef.prototype.cork=function(){this._writableState.corked++},Ef.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||Of(this,e))},Ef.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Ef.prototype._write=function(e,t,n){n(new Error("not implemented"))},Ef.prototype._writev=null,Ef.prototype.end=function(e,t,n){var r=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||function(e,t,n){t.ending=!0,If(e,t),n&&(t.finished?At(n):e.once("finish",n)),t.ended=!0,e.writable=!1}(this,r,n)},Rl(Ff,uf);for(var Tf=Object.keys(Ef.prototype),Mf=0;Mf<Tf.length;Mf++){var jf=Tf[Mf];Ff.prototype[jf]||(Ff.prototype[jf]=Ef.prototype[jf])}function Ff(e){if(!(this instanceof Ff))return new Ff(e);uf.call(this,e),Ef.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",Lf)}function Lf(){this.allowHalfOpen||this._writableState.ended||At(Df,this)}function Df(e){e.end()}function qf(e){this.afterTransform=function(t,n){return function(e,t,n){var r=e._transformState;r.transforming=!1;var o=r.writecb;if(!o)return e.emit("error",new Error("no writecb in Transform class"));r.writechunk=null,r.writecb=null,null!=n&&e.push(n),o(t);var i=e._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&e._read(i.highWaterMark)}(e,t,n)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function Bf(e){if(!(this instanceof Bf))return new Bf(e);Ff.call(this,e),this._transformState=new qf(this);var t=this;this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.once("prefinish",(function(){"function"==typeof this._flush?this._flush((function(e){Uf(t,e)})):Uf(t)}))}function Uf(e,t){if(t)return e.emit("error",t);var n=e._transformState;if(e._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(n.transforming)throw new Error("Calling transform done when still transforming");return e.push(null)}function zf(e){if(!(this instanceof zf))return new zf(e);Bf.call(this,e)}function Gf(){xl.call(this)}function Hf(e){return e.replace(/%([0-9A-Fa-f]{2})/g,(function(e,t){return String.fromCharCode(parseInt(t,16))}))}function Wf(e,t){return String(t).replace(e,(function(e){var t=e.charCodeAt(0).toString(16).toUpperCase().padStart(2,"0");return"%".concat(t)}))}function Vf(e){return Wf(/[\n;\r\t=%&,\x00-\x1f\x7f-\xff]/g,e)}function $f(e){return Wf(/[\n\r\t%\x00-\x1f\x7f-\xff]/g,e)}function Jf(e){if(!e||!e.length||"."===e)return{};var t={};return e.replace(/\r?\n$/,"").split(";").forEach((function(e){var n,r=e.split("=",2);if(r[1]&&r[1].length){r[0]=r[0].trim();var o=t[r[0].trim()];o||(t[r[0]]=o=[]),(n=o).push.apply(n,me(r[1].split(",").map((function(e){return e.trim()})).map(Hf)))}})),t}function Kf(e){var t=e.split("\t").map((function(e){return"."===e||""===e?null:e}));return{seq_id:t[0]&&Hf(t[0]),source:t[1]&&Hf(t[1]),type:t[2]&&Hf(t[2]),start:null===t[3]?null:parseInt(t[3],10),end:null===t[4]?null:parseInt(t[4],10),score:null===t[5]?null:parseFloat(t[5]),strand:t[6],phase:t[7],attributes:null===t[8]?null:Jf(t[8])}}function Yf(e){var t=/^\s*##\s*(\S+)\s*(.*)/.exec(e);if(!t)return null;var n=he(t,2)[1],r=he(t,3)[2],o={directive:n};if(r.length&&(r=r.replace(/\r?\n$/,""),o.value=r),"sequence-region"===n){var i=r.split(/\s+/,3);return K(K({},o),{},{seq_id:i[0],start:i[1]&&i[1].replace(/\D/g,""),end:i[2]&&i[2].replace(/\D/g,"")})}if("genome-build"===n){var a=he(r.split(/\s+/,2),2),s=a[0],u=a[1];return K(K({},o),{},{source:s,buildName:u})}return o}function Zf(e){var t=[];return Object.entries(e).forEach((function(e){var n,r=he(e,2),o=r[0],i=r[1];i&&(n=i.hasOwnProperty("toString")?Vf(i.toString()):Array.isArray(i)?i.map(Vf).join(","):Vf(i),t.push("".concat(Vf(o),"=").concat(n)))})),t.length?t.join(";"):"."}function Xf(e,t){var n=null==e.attributes?".":Zf(e.attributes),r=[null===e.seq_id?".":$f(e.seq_id),null===e.source?".":$f(e.source),null===e.type?".":$f(e.type),null===e.start?".":$f(e.start),null===e.end?".":$f(e.end),null===e.score?".":$f(e.score),null===e.strand?".":$f(e.strand),null===e.phase?".":$f(e.phase),n],o="".concat(r.join("\t"),"\n");return t[o]?"":(t[o]=!0,o)}function Qf(e,t){if(Array.isArray(e))return e.map((function(e){return Qf(e,t)})).join("");var n,r=[Xf(e,t)];return void 0!==(n=e).child_features&&void 0!==n.derived_features&&r.push.apply(r,me(e.child_features.map((function(e){return Qf(e,t)}))).concat(me(e.derived_features.map((function(e){return Qf(e,t)}))))),r.join("")}function ed(e){return Qf(e,{})}function td(e){var t="##".concat(e.directive);return e.value&&(t+=" ".concat(e.value)),t+"\n"}function nd(e){return"# ".concat(e.comment,"\n")}function rd(e){return">".concat(e.id).concat(e.description?" ".concat(e.description):"","\n").concat(e.sequence,"\n")}function od(e){function t(e){return"attributes"in e?ed(e):"directive"in e?td(e):"sequence"in e?rd(e):"comment"in e?nd(e):"# (invalid item found during format)\n"}return Array.isArray(e)?e.map(t):t(e)}Rl(Bf,Ff),Bf.prototype.push=function(e,t){return this._transformState.needTransform=!1,Ff.prototype.push.call(this,e,t)},Bf.prototype._transform=function(e,t,n){throw new Error("Not implemented")},Bf.prototype._write=function(e,t,n){var r=this._transformState;if(r.writecb=n,r.writechunk=e,r.writeencoding=t,!r.transforming){var o=this._readableState;(r.needTransform||o.needReadable||o.length<o.highWaterMark)&&this._read(o.highWaterMark)}},Bf.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},Rl(zf,Bf),zf.prototype._transform=function(e,t,n){n(null,e)},Rl(Gf,xl),Gf.Readable=uf,Gf.Writable=Ef,Gf.Duplex=Ff,Gf.Transform=Bf,Gf.PassThrough=zf,Gf.Stream=Gf,Gf.prototype.pipe=function(e,t){var n=this;function r(t){e.writable&&!1===e.write(t)&&n.pause&&n.pause()}function o(){n.readable&&n.resume&&n.resume()}n.on("data",r),e.on("drain",o),e._isStdio||t&&!1===t.end||(n.on("end",a),n.on("close",s));var i=!1;function a(){i||(i=!0,e.end())}function s(){i||(i=!0,"function"==typeof e.destroy&&e.destroy())}function u(e){if(c(),0===xl.listenerCount(this,"error"))throw e}function c(){n.removeListener("data",r),e.removeListener("drain",o),n.removeListener("end",a),n.removeListener("close",s),n.removeListener("error",u),e.removeListener("error",u),n.removeListener("end",c),n.removeListener("close",c),e.removeListener("close",c)}return n.on("error",u),e.on("error",u),n.on("end",c),n.on("close",c),e.on("close",c),e.emit("pipe",n),e};var id={__proto__:null,unescape:Hf,escape:Vf,escapeColumn:$f,parseAttributes:Jf,parseFeature:Kf,parseDirective:Yf,formatAttributes:Zf,formatFeature:ed,formatDirective:td,formatComment:nd,formatSequence:rd,formatItem:od},ad=function(){function e(t){ee(this,e),this.seqCallback=t,this.currentSequence=void 0}return ne(e,[{key:"addLine",value:function(e){var t=/^>\s*(\S+)\s*(.*)/.exec(e);t?(this._flush(),this.currentSequence={id:t[1],sequence:""},t[2]&&(this.currentSequence.description=t[2].trim())):this.currentSequence&&/\S/.test(e)&&(this.currentSequence.sequence+=e.replace(/\s/g,""))}},{key:"_flush",value:function(){this.currentSequence&&this.seqCallback(this.currentSequence)}},{key:"finish",value:function(){this._flush()}}]),e}(),sd=function(){function e(t){ee(this,e),this.fastaParser=void 0,this.eof=!1,this.lineNumber=0,this._underConstructionTopLevel=[],this._underConstructionById={},this._completedReferences={},this._underConstructionOrphans={};var n=function(){};this.featureCallback=t.featureCallback||n,this.endCallback=t.endCallback||n,this.commentCallback=t.commentCallback||n,this.errorCallback=t.errorCallback||n,this.directiveCallback=t.directiveCallback||n,this.sequenceCallback=t.sequenceCallback||n,this.bufferSize=void 0===t.bufferSize?1e3:t.bufferSize}return ne(e,[{key:"addLine",value:function(e){if(this.fastaParser)this.fastaParser.addLine(e);else if(!this.eof)if(this.lineNumber+=1,/^\s*[^#\s>]/.test(e))this._bufferLine(e);else{var t=/^\s*(#+)(.*)/.exec(e);if(t){var n=he(t,2)[1],r=he(t,3)[2];if(3===n.length)this._emitAllUnderConstructionFeatures();else if(2===n.length){var o=Yf(e);o&&("FASTA"===o.directive?(this._emitAllUnderConstructionFeatures(),this.eof=!0,this.fastaParser=new ad(this.sequenceCallback)):this._emitItem(o))}else r=r.replace(/\s*/,""),this._emitItem({comment:r})}else if(/^\s*$/.test(e));else{if(!/^\s*>/.test(e)){var i=e.replace(/\r?\n?$/g,"");throw new Error("GFF3 parse error. Cannot parse '".concat(i,"'."))}this._emitAllUnderConstructionFeatures(),this.eof=!0,this.fastaParser=new ad(this.sequenceCallback),this.fastaParser.addLine(e)}}}},{key:"finish",value:function(){this._emitAllUnderConstructionFeatures(),this.fastaParser&&this.fastaParser.finish(),this.endCallback()}},{key:"_emitItem",value:function(e){Array.isArray(e)?this.featureCallback(e):"directive"in e?this.directiveCallback(e):"comment"in e&&this.commentCallback(e)}},{key:"_enforceBufferSizeLimit",value:function(){for(var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=function t(n){n&&Array.isArray(n)&&n[0].attributes&&n[0].attributes.ID&&n[0].attributes.ID[0]&&(n[0].attributes.ID.forEach((function(t){delete e._underConstructionById[t],delete e._completedReferences[t]})),n.forEach((function(e){e.child_features&&e.child_features.forEach((function(e){return t(e)})),e.derived_features&&e.derived_features.forEach((function(e){return t(e)}))})))};this._underConstructionTopLevel.length+t>this.bufferSize;){var r=this._underConstructionTopLevel.shift();r&&(this._emitItem(r),n(r))}}},{key:"_emitAllUnderConstructionFeatures",value:function(){if(this._underConstructionTopLevel.forEach(this._emitItem.bind(this)),this._underConstructionTopLevel=[],this._underConstructionById={},this._completedReferences={},Array.from(Object.values(this._underConstructionOrphans)).length)throw new Error("some features reference other features that do not exist in the file (or in the same '###' scope). ".concat(JSON.stringify(this._underConstructionOrphans)))}},{key:"_bufferLine",value:function(e){var t,n,r,o=this,i=K(K({},Kf(e)),{},{child_features:[],derived_features:[]}),a=(null===(t=i.attributes)||void 0===t?void 0:t.ID)||[],s=(null===(n=i.attributes)||void 0===n?void 0:n.Parent)||[],u=(null===(r=i.attributes)||void 0===r?void 0:r.Derives_from)||[];if(a.length||s.length||u.length){var c=void 0;a.forEach((function(e){var t=o._underConstructionById[e];t?(t[t.length-1].type!==i.type&&o._parseError('multi-line feature "'.concat(e,'" has inconsistent types: "').concat(i.type,'", "').concat(t[t.length-1].type,'"')),t.push(i),c=t):(c=[i],o._enforceBufferSizeLimit(1),s.length||u.length||o._underConstructionTopLevel.push(c),o._underConstructionById[e]=c,o._resolveReferencesTo(c,e))})),this._resolveReferencesFrom(c||[i],{Parent:s,Derives_from:u},a)}else this._emitItem([i])}},{key:"_resolveReferencesTo",value:function(e,t){var n=this._underConstructionOrphans[t];n&&(e.forEach((function(e){var t;(t=e.child_features).push.apply(t,me(n.Parent))})),e.forEach((function(e){var t;(t=e.derived_features).push.apply(t,me(n.Derives_from))})),delete this._underConstructionOrphans[t])}},{key:"_parseError",value:function(e){this.eof=!0,this.errorCallback("".concat(this.lineNumber,": ").concat(e))}},{key:"_resolveReferencesFrom",value:function(e,t,n){var r=this;function o(e,t,n){var r=e[t];r||(e[t]=r={});var o=r[n]||!1;return r[n]=!0,o}t.Parent.forEach((function(t){var i=r._underConstructionById[t];if(i)n.filter((function(e){return o(r._completedReferences,e,"Parent,".concat(t))})).length||i.forEach((function(t){t.child_features.push(e)}));else{var a=r._underConstructionOrphans[t];a||(r._underConstructionOrphans[t]=a={Parent:[],Derives_from:[]}),a.Parent.push(e)}})),t.Derives_from.forEach((function(t){var i=r._underConstructionById[t];if(i)n.filter((function(e){return o(r._completedReferences,e,"Derives_from,".concat(t))})).length||i.forEach((function(t){t.derived_features.push(e)}));else{var a=r._underConstructionOrphans[t];a||(r._underConstructionOrphans[t]=a={Parent:[],Derives_from:[]}),a.Derives_from.push(e)}}))}}]),e}();function ud(e){qt&&At?At(e):e()}function cd(e){var t=K({encoding:"utf8",parseFeatures:!0,parseDirectives:!1,parseSequences:!0,parseComments:!1,bufferSize:1e3},e);return e.parseAll&&(t.parseFeatures=!0,t.parseDirectives=!0,t.parseComments=!0,t.parseSequences=!0),t}var ld=function(e){oe(n,e);var t=fe(n);function n(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};ee(this,n),(e=t.call(this,{objectMode:!0})).textBuffer="";var o=cd(r);e.encoding=r.encoding||"utf8",e.decoder=new tf;var i=e.push.bind(le(e));return e.parser=new sd({featureCallback:o.parseFeatures?i:void 0,directiveCallback:o.parseDirectives?i:void 0,commentCallback:o.parseComments?i:void 0,sequenceCallback:o.parseSequences?i:void 0,errorCallback:function(t){return e.emit("error",t)},bufferSize:o.bufferSize}),e}return ne(n,[{key:"_addLine",value:function(e){e&&this.parser.addLine(e)}},{key:"_nextText",value:function(e){var t=this,n=(this.textBuffer+e).split(/\r?\n/);this.textBuffer=n.pop()||"",n.forEach((function(e){return t._addLine(e)}))}},{key:"_transform",value:function(e,t,n){this._nextText(this.decoder.write(e)),ud(n)}},{key:"_flush",value:function(e){this.decoder.end&&this._nextText(this.decoder.end()),null!=this.textBuffer&&this._addLine(this.textBuffer),this.parser.finish(),ud(e)}}]),n}(Bf),fd=function(e){oe(n,e);var t=fe(n);function n(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return ee(this,n),(e=t.call(this,Object.assign(r,{objectMode:!0}))).linesSinceLastSyncMark=0,e.haveWeEmittedData=!1,e.fastaMode=!1,e.minLinesBetweenSyncMarks=r.minSyncLines||100,e.insertVersionDirective=r.insertVersionDirective||!1,e}return ne(n,[{key:"_transform",value:function(e,t,n){var r;if(!this.haveWeEmittedData&&this.insertVersionDirective){var o=Array.isArray(e)?e[0]:e;"directive"in o&&"gff-version"!==o.directive&&this.push("##gff-version 3\n")}if("sequence"in e&&!this.fastaMode&&(this.push("##FASTA\n"),this.fastaMode=!0),r=Array.isArray(e)?e.map(od).join(""):od(e),this.push(r),this.linesSinceLastSyncMark>=this.minLinesBetweenSyncMarks)this.push("###\n"),this.linesSinceLastSyncMark=0;else{for(var i=0,a=0;a<r.length;a+=1)"\n"===r[a]&&(i+=1);this.linesSinceLastSyncMark+=i}this.haveWeEmittedData=!0,ud(n)}}]),n}(Bf),dd={parseStream:function(){return new ld(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})},parseStringSync:function(e){if(!e)return[];var t=cd(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),n=[],r=n.push.bind(n),o=new sd({featureCallback:t.parseFeatures?r:void 0,directiveCallback:t.parseDirectives?r:void 0,commentCallback:t.parseComments?r:void 0,sequenceCallback:t.parseSequences?r:void 0,bufferSize:Infinity,errorCallback:function(e){throw e}});return e.split(/\r?\n/).forEach(o.addLine.bind(o)),o.finish(),n},formatSync:function(e){var t=[],n=[];e.forEach((function(e){"sequence"in e?n.push(e):t.push(e)}));var r=t.map(od).join("");return n.length&&(r+="##FASTA\n",r+=n.map(rd).join("")),r},formatStream:function(){return new fd(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})},formatFile:function(e,t){var n=K({insertVersionDirective:!0},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{});return new Promise((function(r,o){e.pipe(new fd(n)).on("end",(function(){return r(null)})).on("error",o).pipe(t)}))},util:id};async function hd(e,t,n){const r=dd.parseStringSync(t,{parseSequences:!0,parseComments:!0,parseDirectives:!1,parseFeatures:!0});if(0===r.length)throw new Error("No features found in GFF3 file");let o=0,i=n.assemblies.get(e);i||(i=n.addAssembly(e,"InMemoryFileDriver"));for(const e of r)if(Array.isArray(e)){const t=nr.gff3ToAnnotationFeature(e),n=i.refSeqs.get(t.refSeq)??i.addRefSeq(t.refSeq,t.refSeq);n.features.has(t._id)||n.addFeature(t)}else if("comment"in e)i.addComment(e.comment);else{o++;let t=i.refSeqs.get(e.id);t||(t=i.addRefSeq(e.id,e.id,e.description)),e.description&&!t.description&&t.setDescription(e.description),t.addSequence({start:0,stop:e.sequence.length,sequence:e.sequence})}if(0===o)throw new Error("No embedded FASTA section found in GFF3");const a=await pd(i);return n.addCheckResults(a),i}async function pd(e){const t=[];for(const n of e.refSeqs.values())for(const e of n.features.values())for(const r of z.checkRegistry.getChecks().values()){const o=await r.checkFeature(u.getSnapshot(e),((e,t)=>Promise.resolve(n.getSequence(e,t))));t.push(...o)}return t}async function md(e,t){let n;try{n=await e.text()}catch{n=""}return`${t?`${t} — `:""}${e.status} ${e.statusText}${n?` (${n})`:""}`}var gd={},yd=Ju.exports;Object.defineProperty(gd,"__esModule",{value:!0});var vd=gd.default=void 0;vd=gd.default=(0,yd(Ku).default)((0,N.default.jsx)("path",{d:"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"}),"Link");var _d={},bd=Ju.exports;Object.defineProperty(_d,"__esModule",{value:!0});var wd=_d.default=void 0;wd=_d.default=(0,bd(Ku).default)((0,N.default.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");const Sd=m.makeStyles()((e=>({dialogTitle:{background:e.palette.primary.main,color:e.palette.primary.contrastText,padding:e.spacing(2)},closeButton:{position:"absolute",right:e.spacing(1),top:e.spacing(1.5),color:e.palette.primary.contrastText}}))),xd=p.observer((function(e){const{classes:t}=Sd(),{handleClose:n,title:r,...o}=e;return M.default.createElement(h.Dialog,{...o,header:M.default.createElement(M.default.Fragment,null,M.default.createElement(c.DialogTitle,{className:t.dialogTitle},r),M.default.createElement(c.IconButton,{"aria-label":"close",onClick:n,className:t.closeButton},M.default.createElement(wd,null)))})}));var kd;function Ed({changeManager:e,handleClose:t,session:n}){const{internetAccounts:o}=u.getRoot(n),{notify:i}=n,a=o.filter((e=>"ApolloInternetAccount"===e.type));if(0===a.length)throw new Error("No Apollo internet account found");const[s,l]=d.useState(""),[f,h]=d.useState(""),[p,m]=d.useState(!1),[g,y]=d.useState(null),[v,_]=d.useState(kd.GFF3),[b,w]=d.useState(!0),[S,x]=d.useState(!1),[k,E]=d.useState(a[0]),[A,C]=d.useState(""),[O,R]=d.useState(""),[N,I]=d.useState(""),[j,F]=d.useState(!1);let L=!1;try{const e=new URL(A);"http:"!==e.protocol&&"https:"!==e.protocol||(L=!0)}catch{}let D=!1;try{const e=new URL(O);"http:"!==e.protocol&&"https:"!==e.protocol||(D=!0)}catch{}let q=!1;try{const e=new URL(N);"http:"!==e.protocol&&"https:"!==e.protocol||(q=!0)}catch{}return M.default.createElement(xd,{open:!0,maxWidth:!1,"data-testid":"add-assembly-dialog",title:"Add new assembly",handleClose:t},j?M.default.createElement(T.default,null):null,M.default.createElement("form",{onSubmit:async function(r){r.preventDefault(),h(""),x(!0),F(!0),i(`Assembly "${s}" is being added`,"info"),t(),r.preventDefault();const{jobsManager:o}=n,a=new AbortController,u={name:`UploadAssemblyFile for ${s}`,statusMessage:"Pre-validating",progressPct:0,cancelCallback:()=>{a.abort(),o.abortJob(u.name)}};o.runJob(u);let c="";const{baseURL:l,getFetcher:f,internetAccountId:d}=k;if(v!==kd.EXTERNAL&&g){const e=new URL("files",l);e.searchParams.set("type",v);const t=e.href,n=new FormData;n.append("file",g),n.append("fileName",g.name),n.append("type",v);const r=f({locationType:"UriLocation",uri:t});if(r){o.update(u.name,"Uploading file, this may take awhile");const{signal:e}=a,i=await r(t,{method:"POST",body:n,signal:e});if(!i.ok){const e=await md(i,"Error when inserting new assembly (while uploading file)");return o.abortJob(u.name,e),void h(e)}c=(await i.json())._id}}let p;if(v===kd.EXTERNAL)p=new nr.AddAssemblyFromExternalChange({typeName:"AddAssemblyFromExternalChange",assembly:(new Jn).toHexString(),assemblyName:s,externalLocation:{fa:A,fai:O,...N?{gzi:N}:{}}});else{const e={assembly:(new Jn).toHexString(),assemblyName:s,fileIds:{fa:c}};p=v===kd.GFF3&&b?new nr.AddAssemblyAndFeaturesFromFileChange({typeName:"AddAssemblyAndFeaturesFromFileChange",...e}):new nr.AddAssemblyFromFileChange({typeName:"AddAssemblyFromFileChange",...e})}o.done(u),await e.submit(p,{internetAccountId:d,updateJobsManager:!0}),x(!1),F(!1)}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},a.length>1?M.default.createElement(M.default.Fragment,null,M.default.createElement(c.DialogContentText,null,"Select account"),M.default.createElement(c.Select,{value:k.internetAccountId,onChange:function(e){x(!1);const t=a.find((t=>t.internetAccountId===e.target.value));if(!t)throw new Error(`Could not find internetAccount with ID "${e.target.value}"`);E(t)},disabled:S&&!f},o.map((e=>M.default.createElement(c.MenuItem,{key:e.id,value:e.internetAccountId},e.name))))):null,M.default.createElement(c.TextField,{margin:"dense",id:"name",label:"Assembly name",type:"TextField",fullWidth:!0,variant:"outlined",onChange:e=>{x(!1),l(e.target.value),function(e){const{assemblies:t}=n;t.find((t=>r.readConfObject(t,"displayName")===e))?(m(!1),h(`Assembly ${e} already exists.`)):(m(!0),h(""))}(e.target.value)},disabled:S&&!f}),M.default.createElement(c.FormControl,{style:{marginTop:20}},M.default.createElement(c.FormLabel,null,"Select GFF3, FASTA or EXTERNAL option"),M.default.createElement(c.RadioGroup,{"aria-labelledby":"demo-radio-buttons-group-label",defaultValue:kd.GFF3,name:"radio-buttons-group",onChange:function(e){_(e.target.value),w(e.target.value===kd.GFF3),C(""),R(""),y(null)},value:v},M.default.createElement(c.FormControlLabel,{value:kd.GFF3,control:M.default.createElement(c.Radio,null),label:"GFF3",disabled:S&&!f}),M.default.createElement(c.FormControlLabel,{value:kd.FASTA,control:M.default.createElement(c.Radio,null),label:"FASTA",disabled:S&&!f}),M.default.createElement(c.FormControlLabel,{value:kd.EXTERNAL,control:M.default.createElement(c.Radio,null),label:"External",disabled:S&&!f}))),v===kd.EXTERNAL?M.default.createElement(c.Box,{style:{marginTop:20}},M.default.createElement(c.Typography,{variant:"caption"},"Enter FASTA and FASTA index(es) URL"),M.default.createElement(c.TextField,{margin:"dense",helperText:"Can be bgz-compressed",id:"fasta",label:"FASTA",type:"TextField",fullWidth:!0,variant:"outlined",error:!L,onChange:e=>{C(e.target.value)},disabled:S&&!f,InputProps:{startAdornment:M.default.createElement(P.default,{position:"start"},M.default.createElement(vd,null))}}),M.default.createElement(c.TextField,{margin:"dense",id:"fasta-index",label:"FASTA Index",helperText:".fai or .gz.fai",type:"TextField",fullWidth:!0,variant:"outlined",error:!D,onChange:e=>{R(e.target.value)},disabled:S&&!f,InputProps:{startAdornment:M.default.createElement(P.default,{position:"start"},M.default.createElement(vd,null))}}),M.default.createElement(c.TextField,{margin:"dense",id:"fasta-gzi-index",label:"FASTA GZI Index",helperText:"Only for bgz-compressed FASTA, .gz.gzi",type:"TextField",fullWidth:!0,variant:"outlined",error:Boolean(N)&&!q,onChange:e=>{I(e.target.value)},disabled:S&&!f,InputProps:{startAdornment:M.default.createElement(P.default,{position:"start"},M.default.createElement(vd,null))}})):M.default.createElement(c.Box,{style:{marginTop:20}},M.default.createElement("input",{type:"file",onChange:function(e){if(!e.target.files)return;const t=e.target.files.item(0);if(y(t),!t)return;const n=t.name.toLowerCase();n.endsWith(".fasta")||n.endsWith(".fna")||n.endsWith(".fa")?_(kd.FASTA):(n.endsWith(".gff3")||n.endsWith(".gff"))&&_(kd.GFF3)},disabled:S&&!f}),M.default.createElement(c.FormGroup,null,M.default.createElement(c.FormControlLabel,{control:M.default.createElement(c.Checkbox,{checked:v===kd.GFF3&&b,onChange:()=>{w(!b)},disabled:v!==kd.GFF3||S&&!f}),label:"Also load features from GFF3 file"})))),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{disabled:!p||!((s&&g)??(s&&A&&O&&L&&D))||S,variant:"contained",type:"submit"},S?"Submitting...":"Submit"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),f?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},f)):null)}!function(e){e.GFF3="text/x-gff3",e.FASTA="text/x-fasta",e.EXTERNAL="text/x-external"}(kd||(kd={}));var Ad,Cd,Od=function(e,t){return t.some((function(t){return e instanceof t}))},Rd=new WeakMap,Nd=new WeakMap,Id=new WeakMap,Pd=new WeakMap,Td=new WeakMap,Md={get:function(e,t,n){if(e instanceof IDBTransaction){if("done"===t)return Nd.get(e);if("objectStoreNames"===t)return e.objectStoreNames||Id.get(e);if("store"===t)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return Fd(e[t])},set:function(e,t,n){return e[t]=n,!0},has:function(e,t){return e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e}};function jd(e){Md=e(Md)}function Fd(e){if(e instanceof IDBRequest)return t=e,(n=new Promise((function(e,n){var r=function(){t.removeEventListener("success",o),t.removeEventListener("error",i)},o=function(){e(Fd(t.result)),r()},i=function(){n(t.error),r()};t.addEventListener("success",o),t.addEventListener("error",i)}))).then((function(e){e instanceof IDBCursor&&Rd.set(e,t)})).catch((function(){})),Td.set(n,t),n;var t,n;if(Pd.has(e))return Pd.get(e);var r=function(e){return"function"==typeof e?(t=e)!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(Cd||(Cd=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(t)?function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return t.apply(Ld(this),n),Fd(Rd.get(this))}:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return Fd(t.apply(Ld(this),n))}:function(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];var i=t.call.apply(t,[Ld(this),e].concat(r));return Id.set(i,e.sort?e.sort():[e]),Fd(i)}:(e instanceof IDBTransaction&&function(e){if(!Nd.has(e)){var t=new Promise((function(t,n){var r=function(){e.removeEventListener("complete",o),e.removeEventListener("error",i),e.removeEventListener("abort",i)},o=function(){t(),r()},i=function(){n(e.error||new DOMException("AbortError","AbortError")),r()};e.addEventListener("complete",o),e.addEventListener("error",i),e.addEventListener("abort",i)}));Nd.set(e,t)}}(e),Od(e,Ad||(Ad=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]))?new Proxy(e,Md):e);var t}(e);return r!==e&&(Pd.set(e,r),Td.set(r,e)),r}var Ld=function(e){return Td.get(e)},Dd=["get","getKey","getAll","getAllKeys","count"],qd=["put","add","delete","clear"],Bd=new Map;function Ud(e,t){if(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t){if(Bd.get(t))return Bd.get(t);var n=t.replace(/FromIndex$/,""),r=t!==n,o=qd.includes(n);if(n in(r?IDBIndex:IDBObjectStore).prototype&&(o||Dd.includes(n))){var i=function(){var e=Q(Y().mark((function e(t){var i,a,s,u,c,l,f=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(a=this.transaction(t,o?"readwrite":"readonly"),s=a.store,u=f.length,c=new Array(u>1?u-1:0),l=1;l<u;l++)c[l-1]=f[l];return r&&(s=s.index(c.shift())),e.next=6,Promise.all([(i=s)[n].apply(i,c),o&&a.done]);case 6:return e.abrupt("return",e.sent[0]);case 7:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}();return Bd.set(t,i),i}}}jd((function(e){return K(K({},e),{},{get:function(t,n,r){return Ud(t,n)||e.get(t,n,r)},has:function(t,n){return!!Ud(t,n)||e.has(t,n)}})}));var zd=["continue","continuePrimaryKey","advance"],Gd={},Hd=new WeakMap,Wd=new WeakMap,Vd={get:function(e,t){if(!zd.includes(t))return e[t];var n=Gd[t];return n||(n=Gd[t]=function(){var e;Hd.set(this,(e=Wd.get(this))[t].apply(e,arguments))}),n}};function $d(){return Jd.apply(this,arguments)}function Jd(){var e;return e=Y().mark((function e(){var t,n,r,o=arguments;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((t=this)instanceof IDBCursor){e.next=5;break}return e.next=4,$((n=t).openCursor.apply(n,o));case 4:t=e.sent;case 5:if(t){e.next=7;break}return e.abrupt("return");case 7:r=new Proxy(t,Vd),Wd.set(r,t),Td.set(r,Ld(t));case 11:if(!t){e.next=20;break}return e.next=14,r;case 14:return e.next=16,$(Hd.get(r)||t.continue());case 16:t=e.sent,Hd.delete(r),e.next=11;break;case 20:case"end":return e.stop()}}),e,this)})),Jd=function(){return new G(e.apply(this,arguments))},Jd.apply(this,arguments)}function Kd(e,t){return t===Symbol.asyncIterator&&Od(e,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===t&&Od(e,[IDBIndex,IDBObjectStore])}jd((function(e){return K(K({},e),{},{get:function(t,n,r){return Kd(t,n)?$d:e.get(t,n,r)},has:function(t,n){return Kd(t,n)||e.has(t,n)}})}));var Yd={},Zd={},Xd={},Qd={},eh={};Object.defineProperty(eh,"__esModule",{value:!0}),eh.isFunction=void 0,eh.isFunction=function(e){return"function"==typeof e};var th={},nh={},rh={};Object.defineProperty(rh,"__esModule",{value:!0}),rh.createErrorClass=void 0,rh.createErrorClass=function(e){var t=e((function(e){Error.call(e),e.stack=(new Error).stack}));return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t},Object.defineProperty(nh,"__esModule",{value:!0}),nh.UnsubscriptionError=void 0,nh.UnsubscriptionError=rh.createErrorClass((function(e){return function(t){e(this),this.message=t?t.length+" errors occurred during unsubscription:\n"+t.map((function(e,t){return t+1+") "+e.toString()})).join("\n "):"",this.name="UnsubscriptionError",this.errors=t}}));var oh={};Object.defineProperty(oh,"__esModule",{value:!0}),oh.arrRemove=void 0,oh.arrRemove=function(e,t){if(e){var n=e.indexOf(t);0<=n&&e.splice(n,1)}};var ih=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},ah=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},sh=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(th,"__esModule",{value:!0}),th.isSubscription=th.EMPTY_SUBSCRIPTION=th.Subscription=void 0;var uh=eh,ch=nh,lh=oh,fh=function(){function e(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var e,t,n,r,o;if(!this.closed){this.closed=!0;var i=this._parentage;if(i)if(this._parentage=null,Array.isArray(i))try{for(var a=ih(i),s=a.next();!s.done;s=a.next())s.value.remove(this)}catch(t){e={error:t}}finally{try{s&&!s.done&&(t=a.return)&&t.call(a)}finally{if(e)throw e.error}}else i.remove(this);var u=this.initialTeardown;if(uh.isFunction(u))try{u()}catch(e){o=e instanceof ch.UnsubscriptionError?e.errors:[e]}var c=this._finalizers;if(c){this._finalizers=null;try{for(var l=ih(c),f=l.next();!f.done;f=l.next()){var d=f.value;try{dh(d)}catch(e){o=null!=o?o:[],e instanceof ch.UnsubscriptionError?o=sh(sh([],ah(o)),ah(e.errors)):o.push(e)}}}catch(e){n={error:e}}finally{try{f&&!f.done&&(r=l.return)&&r.call(l)}finally{if(n)throw n.error}}}if(o)throw new ch.UnsubscriptionError(o)}},e.prototype.add=function(t){var n;if(t&&t!==this)if(this.closed)dh(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(n=this._finalizers)&&void 0!==n?n:[]).push(t)}},e.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},e.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},e.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&lh.arrRemove(t,e)},e.prototype.remove=function(t){var n=this._finalizers;n&&lh.arrRemove(n,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}();function dh(e){uh.isFunction(e)?e():e.unsubscribe()}th.Subscription=fh,th.EMPTY_SUBSCRIPTION=fh.EMPTY,th.isSubscription=function(e){return e instanceof fh||e&&"closed"in e&&uh.isFunction(e.remove)&&uh.isFunction(e.add)&&uh.isFunction(e.unsubscribe)};var hh={};Object.defineProperty(hh,"__esModule",{value:!0}),hh.config=void 0,hh.config={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var ph={},mh={};!function(e){var t=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},n=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(e,"__esModule",{value:!0}),e.timeoutProvider=void 0,e.timeoutProvider={setTimeout:function(e){function t(t,n){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(r,o){for(var i=[],a=2;a<arguments.length;a++)i[a-2]=arguments[a];var s=e.timeoutProvider.delegate;return(null==s?void 0:s.setTimeout)?s.setTimeout.apply(s,n([r,o],t(i))):setTimeout.apply(void 0,n([r,o],t(i)))})),clearTimeout:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(t){var n=e.timeoutProvider.delegate;return((null==n?void 0:n.clearTimeout)||clearTimeout)(t)})),delegate:void 0}}(mh),Object.defineProperty(ph,"__esModule",{value:!0}),ph.reportUnhandledError=void 0;var gh=hh,yh=mh;ph.reportUnhandledError=function(e){yh.timeoutProvider.setTimeout((function(){var t=gh.config.onUnhandledError;if(!t)throw e;t(e)}))};var vh={};Object.defineProperty(vh,"__esModule",{value:!0}),vh.noop=void 0,vh.noop=function(){};var _h={};function bh(e,t,n){return{kind:e,value:t,error:n}}Object.defineProperty(_h,"__esModule",{value:!0}),_h.createNotification=_h.nextNotification=_h.errorNotification=_h.COMPLETE_NOTIFICATION=void 0,_h.COMPLETE_NOTIFICATION=function(){return bh("C",void 0,void 0)}(),_h.errorNotification=function(e){return bh("E",void 0,e)},_h.nextNotification=function(e){return bh("N",e,void 0)},_h.createNotification=bh;var wh={};Object.defineProperty(wh,"__esModule",{value:!0}),wh.captureError=wh.errorContext=void 0;var Sh=hh,xh=null;wh.errorContext=function(e){if(Sh.config.useDeprecatedSynchronousErrorHandling){var t=!xh;if(t&&(xh={errorThrown:!1,error:null}),e(),t){var n=xh;if(xh=null,n.errorThrown)throw n.error}}else e()},wh.captureError=function(e){Sh.config.useDeprecatedSynchronousErrorHandling&&xh&&(xh.errorThrown=!0,xh.error=e)},function(e){var t=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(e,"__esModule",{value:!0}),e.EMPTY_OBSERVER=e.SafeSubscriber=e.Subscriber=void 0;var n=eh,r=th,o=hh,i=ph,a=vh,s=_h,u=mh,c=wh,l=function(n){function o(t){var o=n.call(this)||this;return o.isStopped=!1,t?(o.destination=t,r.isSubscription(t)&&t.add(o)):o.destination=e.EMPTY_OBSERVER,o}return t(o,n),o.create=function(e,t,n){return new p(e,t,n)},o.prototype.next=function(e){this.isStopped?g(s.nextNotification(e),this):this._next(e)},o.prototype.error=function(e){this.isStopped?g(s.errorNotification(e),this):(this.isStopped=!0,this._error(e))},o.prototype.complete=function(){this.isStopped?g(s.COMPLETE_NOTIFICATION,this):(this.isStopped=!0,this._complete())},o.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,n.prototype.unsubscribe.call(this),this.destination=null)},o.prototype._next=function(e){this.destination.next(e)},o.prototype._error=function(e){try{this.destination.error(e)}finally{this.unsubscribe()}},o.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},o}(r.Subscription);e.Subscriber=l;var f=Function.prototype.bind;function d(e,t){return f.call(e,t)}var h=function(){function e(e){this.partialObserver=e}return e.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(e){m(e)}},e.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(e){m(e)}else m(e)},e.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(e){m(e)}},e}(),p=function(e){function r(t,r,i){var a,s,u=e.call(this)||this;return n.isFunction(t)||!t?a={next:null!=t?t:void 0,error:null!=r?r:void 0,complete:null!=i?i:void 0}:u&&o.config.useDeprecatedNextContext?((s=Object.create(t)).unsubscribe=function(){return u.unsubscribe()},a={next:t.next&&d(t.next,s),error:t.error&&d(t.error,s),complete:t.complete&&d(t.complete,s)}):a=t,u.destination=new h(a),u}return t(r,e),r}(l);function m(e){o.config.useDeprecatedSynchronousErrorHandling?c.captureError(e):i.reportUnhandledError(e)}function g(e,t){var n=o.config.onStoppedNotification;n&&u.timeoutProvider.setTimeout((function(){return n(e,t)}))}e.SafeSubscriber=p,e.EMPTY_OBSERVER={closed:!0,next:a.noop,error:function(e){throw e},complete:a.noop}}(Qd);var kh={};Object.defineProperty(kh,"__esModule",{value:!0}),kh.observable=void 0,kh.observable=function(){return"function"==typeof Symbol&&Symbol.observable||"@@observable"}();var Eh={},Ah={};Object.defineProperty(Ah,"__esModule",{value:!0}),Ah.identity=void 0,Ah.identity=function(e){return e},Object.defineProperty(Eh,"__esModule",{value:!0}),Eh.pipeFromArray=Eh.pipe=void 0;var Ch=Ah;function Oh(e){return 0===e.length?Ch.identity:1===e.length?e[0]:function(t){return e.reduce((function(e,t){return t(e)}),t)}}Eh.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Oh(e)},Eh.pipeFromArray=Oh,Object.defineProperty(Xd,"__esModule",{value:!0}),Xd.Observable=void 0;var Rh=Qd,Nh=th,Ih=kh,Ph=Eh,Th=hh,Mh=eh,jh=wh,Fh=function(){function e(e){e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var r=this,o=function(e){return e&&e instanceof Rh.Subscriber||function(e){return e&&Mh.isFunction(e.next)&&Mh.isFunction(e.error)&&Mh.isFunction(e.complete)}(e)&&Nh.isSubscription(e)}(e)?e:new Rh.SafeSubscriber(e,t,n);return jh.errorContext((function(){var e=r.operator,t=r.source;o.add(e?e.call(o,t):t?r._subscribe(o):r._trySubscribe(o))})),o},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},e.prototype.forEach=function(e,t){var n=this;return new(t=Lh(t))((function(t,r){var o=new Rh.SafeSubscriber({next:function(t){try{e(t)}catch(e){r(e),o.unsubscribe()}},error:r,complete:t});n.subscribe(o)}))},e.prototype._subscribe=function(e){var t;return null===(t=this.source)||void 0===t?void 0:t.subscribe(e)},e.prototype[Ih.observable]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Ph.pipeFromArray(e)(this)},e.prototype.toPromise=function(e){var t=this;return new(e=Lh(e))((function(e,n){var r;t.subscribe((function(e){return r=e}),(function(e){return n(e)}),(function(){return e(r)}))}))},e.create=function(t){return new e(t)},e}();function Lh(e){var t;return null!==(t=null!=e?e:Th.config.Promise)&&void 0!==t?t:Promise}Xd.Observable=Fh;var Dh={},qh={},Bh={};Object.defineProperty(Bh,"__esModule",{value:!0}),Bh.operate=Bh.hasLift=void 0;var Uh=eh;function zh(e){return Uh.isFunction(null==e?void 0:e.lift)}Bh.hasLift=zh,Bh.operate=function(e){return function(t){if(zh(t))return t.lift((function(t){try{return e(t,this)}catch(e){this.error(e)}}));throw new TypeError("Unable to lift unknown Observable type")}};var Gh={},Hh=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Gh,"__esModule",{value:!0}),Gh.OperatorSubscriber=Gh.createOperatorSubscriber=void 0;var Wh=Qd;Gh.createOperatorSubscriber=function(e,t,n,r,o){return new Vh(e,t,n,r,o)};var Vh=function(e){function t(t,n,r,o,i,a){var s=e.call(this,t)||this;return s.onFinalize=i,s.shouldUnsubscribe=a,s._next=n?function(e){try{n(e)}catch(e){t.error(e)}}:e.prototype._next,s._error=o?function(e){try{o(e)}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._error,s._complete=r?function(){try{r()}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._complete,s}return Hh(t,e),t.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;e.prototype.unsubscribe.call(this),!n&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}},t}(Wh.Subscriber);Gh.OperatorSubscriber=Vh,Object.defineProperty(qh,"__esModule",{value:!0}),qh.refCount=void 0;var $h=Bh,Jh=Gh;qh.refCount=function(){return $h.operate((function(e,t){var n=null;e._refCount++;var r=Jh.createOperatorSubscriber(t,void 0,void 0,void 0,(function(){if(!e||e._refCount<=0||0<--e._refCount)n=null;else{var r=e._connection,o=n;n=null,!r||o&&r!==o||r.unsubscribe(),t.unsubscribe()}}));e.subscribe(r),r.closed||(n=e.connect())}))};var Kh=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Dh,"__esModule",{value:!0}),Dh.ConnectableObservable=void 0;var Yh=th,Zh=qh,Xh=Gh,Qh=Bh,ep=function(e){function t(t,n){var r=e.call(this)||this;return r.source=t,r.subjectFactory=n,r._subject=null,r._refCount=0,r._connection=null,Qh.hasLift(t)&&(r.lift=t.lift),r}return Kh(t,e),t.prototype._subscribe=function(e){return this.getSubject().subscribe(e)},t.prototype.getSubject=function(){var e=this._subject;return e&&!e.isStopped||(this._subject=this.subjectFactory()),this._subject},t.prototype._teardown=function(){this._refCount=0;var e=this._connection;this._subject=this._connection=null,null==e||e.unsubscribe()},t.prototype.connect=function(){var e=this,t=this._connection;if(!t){t=this._connection=new Yh.Subscription;var n=this.getSubject();t.add(this.source.subscribe(Xh.createOperatorSubscriber(n,void 0,(function(){e._teardown(),n.complete()}),(function(t){e._teardown(),n.error(t)}),(function(){return e._teardown()})))),t.closed&&(this._connection=null,t=Yh.Subscription.EMPTY)}return t},t.prototype.refCount=function(){return Zh.refCount()(this)},t}(Xd.Observable);Dh.ConnectableObservable=ep;var tp={},np={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.performanceTimestampProvider=void 0,e.performanceTimestampProvider={now:function(){return(e.performanceTimestampProvider.delegate||performance).now()},delegate:void 0}}(np);var rp={};!function(e){var t=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},n=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(e,"__esModule",{value:!0}),e.animationFrameProvider=void 0;var r=th;e.animationFrameProvider={schedule:function(t){var n=requestAnimationFrame,o=cancelAnimationFrame,i=e.animationFrameProvider.delegate;i&&(n=i.requestAnimationFrame,o=i.cancelAnimationFrame);var a=n((function(e){o=void 0,t(e)}));return new r.Subscription((function(){return null==o?void 0:o(a)}))},requestAnimationFrame:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(){for(var r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];var i=e.animationFrameProvider.delegate;return((null==i?void 0:i.requestAnimationFrame)||requestAnimationFrame).apply(void 0,n([],t(r)))})),cancelAnimationFrame:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(){for(var r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];var i=e.animationFrameProvider.delegate;return((null==i?void 0:i.cancelAnimationFrame)||cancelAnimationFrame).apply(void 0,n([],t(r)))})),delegate:void 0}}(rp),Object.defineProperty(tp,"__esModule",{value:!0}),tp.animationFrames=void 0;var op=Xd,ip=np,ap=rp;function sp(e){return new op.Observable((function(t){var n=e||ip.performanceTimestampProvider,r=n.now(),o=0;return function i(){t.closed||(o=ap.animationFrameProvider.requestAnimationFrame((function(a){o=0;var s=n.now();t.next({timestamp:e?s:a,elapsed:s-r}),i()})))}(),function(){o&&ap.animationFrameProvider.cancelAnimationFrame(o)}}))}tp.animationFrames=function(e){return e?sp(e):up};var up=sp(),cp={},lp={};Object.defineProperty(lp,"__esModule",{value:!0}),lp.ObjectUnsubscribedError=void 0,lp.ObjectUnsubscribedError=rh.createErrorClass((function(e){return function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}));var fp=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),dp=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(cp,"__esModule",{value:!0}),cp.AnonymousSubject=cp.Subject=void 0;var hp=Xd,pp=th,mp=lp,gp=oh,yp=wh,vp=function(e){function t(){var t=e.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return fp(t,e),t.prototype.lift=function(e){var t=new _p(this,this);return t.operator=e,t},t.prototype._throwIfClosed=function(){if(this.closed)throw new mp.ObjectUnsubscribedError},t.prototype.next=function(e){var t=this;yp.errorContext((function(){var n,r;if(t._throwIfClosed(),!t.isStopped){t.currentObservers||(t.currentObservers=Array.from(t.observers));try{for(var o=dp(t.currentObservers),i=o.next();!i.done;i=o.next())i.value.next(e)}catch(e){n={error:e}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}}}))},t.prototype.error=function(e){var t=this;yp.errorContext((function(){if(t._throwIfClosed(),!t.isStopped){t.hasError=t.isStopped=!0,t.thrownError=e;for(var n=t.observers;n.length;)n.shift().error(e)}}))},t.prototype.complete=function(){var e=this;yp.errorContext((function(){if(e._throwIfClosed(),!e.isStopped){e.isStopped=!0;for(var t=e.observers;t.length;)t.shift().complete()}}))},t.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(t.prototype,"observed",{get:function(){var e;return(null===(e=this.observers)||void 0===e?void 0:e.length)>0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(t){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,t)},t.prototype._subscribe=function(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)},t.prototype._innerSubscribe=function(e){var t=this,n=this,r=n.observers;return n.hasError||n.isStopped?pp.EMPTY_SUBSCRIPTION:(this.currentObservers=null,r.push(e),new pp.Subscription((function(){t.currentObservers=null,gp.arrRemove(r,e)})))},t.prototype._checkFinalizedStatuses=function(e){var t=this,n=t.isStopped;t.hasError?e.error(t.thrownError):n&&e.complete()},t.prototype.asObservable=function(){var e=new hp.Observable;return e.source=this,e},t.create=function(e,t){return new _p(e,t)},t}(hp.Observable);cp.Subject=vp;var _p=function(e){function t(t,n){var r=e.call(this)||this;return r.destination=t,r.source=n,r}return fp(t,e),t.prototype.next=function(e){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===n||n.call(t,e)},t.prototype.error=function(e){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===n||n.call(t,e)},t.prototype.complete=function(){var e,t;null===(t=null===(e=this.destination)||void 0===e?void 0:e.complete)||void 0===t||t.call(e)},t.prototype._subscribe=function(e){var t,n;return null!==(n=null===(t=this.source)||void 0===t?void 0:t.subscribe(e))&&void 0!==n?n:pp.EMPTY_SUBSCRIPTION},t}(vp);cp.AnonymousSubject=_p;var bp={},wp=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(bp,"__esModule",{value:!0}),bp.BehaviorSubject=void 0;var Sp=function(e){function t(t){var n=e.call(this)||this;return n._value=t,n}return wp(t,e),Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),t.prototype._subscribe=function(t){var n=e.prototype._subscribe.call(this,t);return!n.closed&&t.next(this._value),n},t.prototype.getValue=function(){var e=this,t=e._value;if(e.hasError)throw e.thrownError;return this._throwIfClosed(),t},t.prototype.next=function(t){e.prototype.next.call(this,this._value=t)},t}(cp.Subject);bp.BehaviorSubject=Sp;var xp={},kp={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.dateTimestampProvider=void 0,e.dateTimestampProvider={now:function(){return(e.dateTimestampProvider.delegate||Date).now()},delegate:void 0}}(kp);var Ep=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(xp,"__esModule",{value:!0}),xp.ReplaySubject=void 0;var Ap=kp,Cp=function(e){function t(t,n,r){void 0===t&&(t=Infinity),void 0===n&&(n=Infinity),void 0===r&&(r=Ap.dateTimestampProvider);var o=e.call(this)||this;return o._bufferSize=t,o._windowTime=n,o._timestampProvider=r,o._buffer=[],o._infiniteTimeWindow=!0,o._infiniteTimeWindow=Infinity===n,o._bufferSize=Math.max(1,t),o._windowTime=Math.max(1,n),o}return Ep(t,e),t.prototype.next=function(t){var n=this,r=n._buffer,o=n._infiniteTimeWindow,i=n._timestampProvider,a=n._windowTime;n.isStopped||(r.push(t),!o&&r.push(i.now()+a)),this._trimBuffer(),e.prototype.next.call(this,t)},t.prototype._subscribe=function(e){this._throwIfClosed(),this._trimBuffer();for(var t=this._innerSubscribe(e),n=this._infiniteTimeWindow,r=this._buffer.slice(),o=0;o<r.length&&!e.closed;o+=n?1:2)e.next(r[o]);return this._checkFinalizedStatuses(e),t},t.prototype._trimBuffer=function(){var e=this,t=e._bufferSize,n=e._timestampProvider,r=e._buffer,o=e._infiniteTimeWindow,i=(o?1:2)*t;if(t<Infinity&&i<r.length&&r.splice(0,r.length-i),!o){for(var a=n.now(),s=0,u=1;u<r.length&&r[u]<=a;u+=2)s=u;s&&r.splice(0,s+1)}},t}(cp.Subject);xp.ReplaySubject=Cp;var Op={},Rp=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Op,"__esModule",{value:!0}),Op.AsyncSubject=void 0;var Np=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._value=null,t._hasValue=!1,t._isComplete=!1,t}return Rp(t,e),t.prototype._checkFinalizedStatuses=function(e){var t=this,n=t._hasValue,r=t._value,o=t.isStopped,i=t._isComplete;t.hasError?e.error(t.thrownError):(o||i)&&(n&&e.next(r),e.complete())},t.prototype.next=function(e){this.isStopped||(this._value=e,this._hasValue=!0)},t.prototype.complete=function(){var t=this,n=t._hasValue,r=t._value;t._isComplete||(this._isComplete=!0,n&&e.prototype.next.call(this,r),e.prototype.complete.call(this))},t}(cp.Subject);Op.AsyncSubject=Np;var Ip={},Pp={},Tp={},Mp={},jp=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Mp,"__esModule",{value:!0}),Mp.Action=void 0,Mp.Action=function(e){function t(t,n){return e.call(this)||this}return jp(t,e),t.prototype.schedule=function(e,t){return this},t}(th.Subscription);var Fp={};!function(e){var t=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},n=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(e,"__esModule",{value:!0}),e.intervalProvider=void 0,e.intervalProvider={setInterval:function(e){function t(t,n){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(r,o){for(var i=[],a=2;a<arguments.length;a++)i[a-2]=arguments[a];var s=e.intervalProvider.delegate;return(null==s?void 0:s.setInterval)?s.setInterval.apply(s,n([r,o],t(i))):setInterval.apply(void 0,n([r,o],t(i)))})),clearInterval:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(t){var n=e.intervalProvider.delegate;return((null==n?void 0:n.clearInterval)||clearInterval)(t)})),delegate:void 0}}(Fp);var Lp=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Tp,"__esModule",{value:!0}),Tp.AsyncAction=void 0;var Dp=Fp,qp=oh,Bp=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r.pending=!1,r}return Lp(t,e),t.prototype.schedule=function(e,t){var n;if(void 0===t&&(t=0),this.closed)return this;this.state=e;var r=this.id,o=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(o,r,t)),this.pending=!0,this.delay=t,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(o,this.id,t),this},t.prototype.requestAsyncId=function(e,t,n){return void 0===n&&(n=0),Dp.intervalProvider.setInterval(e.flush.bind(e,this),n)},t.prototype.recycleAsyncId=function(e,t,n){if(void 0===n&&(n=0),null!=n&&this.delay===n&&!1===this.pending)return t;null!=t&&Dp.intervalProvider.clearInterval(t)},t.prototype.execute=function(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(e,t);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(e,t){var n,r=!1;try{this.work(e)}catch(e){r=!0,n=e||new Error("Scheduled action threw falsy error")}if(r)return this.unsubscribe(),n},t.prototype.unsubscribe=function(){if(!this.closed){var t=this.id,n=this.scheduler,r=n.actions;this.work=this.state=this.scheduler=null,this.pending=!1,qp.arrRemove(r,this),null!=t&&(this.id=this.recycleAsyncId(n,t,null)),this.delay=null,e.prototype.unsubscribe.call(this)}},t}(Mp.Action);Tp.AsyncAction=Bp;var Up={},zp={};Object.defineProperty(zp,"__esModule",{value:!0}),zp.TestTools=zp.Immediate=void 0;var Gp,Hp=1,Wp={};function Vp(e){return e in Wp&&(delete Wp[e],!0)}zp.Immediate={setImmediate:function(e){var t=Hp++;return Wp[t]=!0,Gp||(Gp=Promise.resolve()),Gp.then((function(){return Vp(t)&&e()})),t},clearImmediate:function(e){Vp(e)}},zp.TestTools={pending:function(){return Object.keys(Wp).length}},function(e){var t=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},n=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(e,"__esModule",{value:!0}),e.immediateProvider=void 0;var r=zp.Immediate.setImmediate,o=zp.Immediate.clearImmediate;e.immediateProvider={setImmediate:function(){for(var o=[],i=0;i<arguments.length;i++)o[i]=arguments[i];var a=e.immediateProvider.delegate;return((null==a?void 0:a.setImmediate)||r).apply(void 0,n([],t(o)))},clearImmediate:function(t){var n=e.immediateProvider.delegate;return((null==n?void 0:n.clearImmediate)||o)(t)},delegate:void 0}}(Up);var $p=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Pp,"__esModule",{value:!0}),Pp.AsapAction=void 0;var Jp=Up;Pp.AsapAction=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r}return $p(t,e),t.prototype.requestAsyncId=function(t,n,r){return void 0===r&&(r=0),null!==r&&r>0?e.prototype.requestAsyncId.call(this,t,n,r):(t.actions.push(this),t._scheduled||(t._scheduled=Jp.immediateProvider.setImmediate(t.flush.bind(t,void 0))))},t.prototype.recycleAsyncId=function(t,n,r){var o;if(void 0===r&&(r=0),null!=r?r>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,t,n,r);var i=t.actions;null!=n&&(null===(o=i[i.length-1])||void 0===o?void 0:o.id)!==n&&(Jp.immediateProvider.clearImmediate(n),t._scheduled===n&&(t._scheduled=void 0))},t}(Tp.AsyncAction);var Kp={},Yp={},Zp={};Object.defineProperty(Zp,"__esModule",{value:!0}),Zp.Scheduler=void 0;var Xp=kp;Zp.Scheduler=function(){function e(t,n){void 0===n&&(n=e.now),this.schedulerActionCtor=t,this.now=n}return e.prototype.schedule=function(e,t,n){return void 0===t&&(t=0),new this.schedulerActionCtor(this,e).schedule(n,t)},e.now=Xp.dateTimestampProvider.now,e}();var Qp=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Yp,"__esModule",{value:!0}),Yp.AsyncScheduler=void 0;var em=Zp;Yp.AsyncScheduler=function(e){function t(t,n){void 0===n&&(n=em.Scheduler.now);var r=e.call(this,t,n)||this;return r.actions=[],r._active=!1,r}return Qp(t,e),t.prototype.flush=function(e){var t=this.actions;if(this._active)t.push(e);else{var n;this._active=!0;do{if(n=e.execute(e.state,e.delay))break}while(e=t.shift());if(this._active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}},t}(em.Scheduler);var tm=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(Kp,"__esModule",{value:!0}),Kp.AsapScheduler=void 0;var nm=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return tm(t,e),t.prototype.flush=function(e){this._active=!0;var t=this._scheduled;this._scheduled=void 0;var n,r=this.actions;e=e||r.shift();do{if(n=e.execute(e.state,e.delay))break}while((e=r[0])&&e.id===t&&r.shift());if(this._active=!1,n){for(;(e=r[0])&&e.id===t&&r.shift();)e.unsubscribe();throw n}},t}(Yp.AsyncScheduler);Kp.AsapScheduler=nm,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.asap=e.asapScheduler=void 0,e.asapScheduler=new Kp.AsapScheduler(Pp.AsapAction),e.asap=e.asapScheduler}(Ip);var rm={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.async=e.asyncScheduler=void 0,e.asyncScheduler=new Yp.AsyncScheduler(Tp.AsyncAction),e.async=e.asyncScheduler}(rm);var om={},im={},am=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(im,"__esModule",{value:!0}),im.QueueAction=void 0,im.QueueAction=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r}return am(t,e),t.prototype.schedule=function(t,n){return void 0===n&&(n=0),n>0?e.prototype.schedule.call(this,t,n):(this.delay=n,this.state=t,this.scheduler.flush(this),this)},t.prototype.execute=function(t,n){return n>0||this.closed?e.prototype.execute.call(this,t,n):this._execute(t,n)},t.prototype.requestAsyncId=function(t,n,r){return void 0===r&&(r=0),null!=r&&r>0||null==r&&this.delay>0?e.prototype.requestAsyncId.call(this,t,n,r):(t.flush(this),0)},t}(Tp.AsyncAction);var sm={},um=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(sm,"__esModule",{value:!0}),sm.QueueScheduler=void 0;var cm=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return um(t,e),t}(Yp.AsyncScheduler);sm.QueueScheduler=cm,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.queue=e.queueScheduler=void 0,e.queueScheduler=new sm.QueueScheduler(im.QueueAction),e.queue=e.queueScheduler}(om);var lm={},fm={},dm=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(fm,"__esModule",{value:!0}),fm.AnimationFrameAction=void 0;var hm=rp;fm.AnimationFrameAction=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r}return dm(t,e),t.prototype.requestAsyncId=function(t,n,r){return void 0===r&&(r=0),null!==r&&r>0?e.prototype.requestAsyncId.call(this,t,n,r):(t.actions.push(this),t._scheduled||(t._scheduled=hm.animationFrameProvider.requestAnimationFrame((function(){return t.flush(void 0)}))))},t.prototype.recycleAsyncId=function(t,n,r){var o;if(void 0===r&&(r=0),null!=r?r>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,t,n,r);var i=t.actions;null!=n&&(null===(o=i[i.length-1])||void 0===o?void 0:o.id)!==n&&(hm.animationFrameProvider.cancelAnimationFrame(n),t._scheduled=void 0)},t}(Tp.AsyncAction);var pm={},mm=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(pm,"__esModule",{value:!0}),pm.AnimationFrameScheduler=void 0;var gm=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return mm(t,e),t.prototype.flush=function(e){this._active=!0;var t=this._scheduled;this._scheduled=void 0;var n,r=this.actions;e=e||r.shift();do{if(n=e.execute(e.state,e.delay))break}while((e=r[0])&&e.id===t&&r.shift());if(this._active=!1,n){for(;(e=r[0])&&e.id===t&&r.shift();)e.unsubscribe();throw n}},t}(Yp.AsyncScheduler);pm.AnimationFrameScheduler=gm,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.animationFrame=e.animationFrameScheduler=void 0,e.animationFrameScheduler=new pm.AnimationFrameScheduler(fm.AnimationFrameAction),e.animationFrame=e.animationFrameScheduler}(lm);var ym={},vm=q&&q.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(ym,"__esModule",{value:!0}),ym.VirtualAction=ym.VirtualTimeScheduler=void 0;var _m=Tp,bm=th;ym.VirtualTimeScheduler=function(e){function t(t,n){void 0===t&&(t=wm),void 0===n&&(n=Infinity);var r=e.call(this,t,(function(){return r.frame}))||this;return r.maxFrames=n,r.frame=0,r.index=-1,r}return vm(t,e),t.prototype.flush=function(){for(var e,t,n=this.actions,r=this.maxFrames;(t=n[0])&&t.delay<=r&&(n.shift(),this.frame=t.delay,!(e=t.execute(t.state,t.delay))););if(e){for(;t=n.shift();)t.unsubscribe();throw e}},t.frameTimeFactor=10,t}(Yp.AsyncScheduler);var wm=function(e){function t(t,n,r){void 0===r&&(r=t.index+=1);var o=e.call(this,t,n)||this;return o.scheduler=t,o.work=n,o.index=r,o.active=!0,o.index=t.index=r,o}return vm(t,e),t.prototype.schedule=function(n,r){if(void 0===r&&(r=0),Number.isFinite(r)){if(!this.id)return e.prototype.schedule.call(this,n,r);this.active=!1;var o=new t(this.scheduler,this.work);return this.add(o),o.schedule(n,r)}return bm.Subscription.EMPTY},t.prototype.requestAsyncId=function(e,n,r){void 0===r&&(r=0),this.delay=e.frame+r;var o=e.actions;return o.push(this),o.sort(t.sortActions),1},t.prototype.recycleAsyncId=function(e,t,n){},t.prototype._execute=function(t,n){if(!0===this.active)return e.prototype._execute.call(this,t,n)},t.sortActions=function(e,t){return e.delay===t.delay?e.index===t.index?0:e.index>t.index?1:-1:e.delay>t.delay?1:-1},t}(_m.AsyncAction);ym.VirtualAction=wm;var Sm={},xm={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.empty=e.EMPTY=void 0;var t=Xd;e.EMPTY=new t.Observable((function(e){return e.complete()})),e.empty=function(n){return n?function(e){return new t.Observable((function(t){return e.schedule((function(){return t.complete()}))}))}(n):e.EMPTY}}(xm);var km={},Em={},Am={};Object.defineProperty(Am,"__esModule",{value:!0}),Am.isScheduler=void 0;var Cm=eh;Am.isScheduler=function(e){return e&&Cm.isFunction(e.schedule)},Object.defineProperty(Em,"__esModule",{value:!0}),Em.popNumber=Em.popScheduler=Em.popResultSelector=void 0;var Om=eh,Rm=Am;function Nm(e){return e[e.length-1]}Em.popResultSelector=function(e){return Om.isFunction(Nm(e))?e.pop():void 0},Em.popScheduler=function(e){return Rm.isScheduler(Nm(e))?e.pop():void 0},Em.popNumber=function(e,t){return"number"==typeof Nm(e)?e.pop():t};var Im={},Pm={},Tm={},Mm={},jm={};Object.defineProperty(jm,"__esModule",{value:!0}),jm.isArrayLike=void 0,jm.isArrayLike=function(e){return e&&"number"==typeof e.length&&"function"!=typeof e};var Fm={};Object.defineProperty(Fm,"__esModule",{value:!0}),Fm.isPromise=void 0;var Lm=eh;Fm.isPromise=function(e){return Lm.isFunction(null==e?void 0:e.then)};var Dm={};Object.defineProperty(Dm,"__esModule",{value:!0}),Dm.isInteropObservable=void 0;var qm=kh,Bm=eh;Dm.isInteropObservable=function(e){return Bm.isFunction(e[qm.observable])};var Um={};Object.defineProperty(Um,"__esModule",{value:!0}),Um.isAsyncIterable=void 0;var zm=eh;Um.isAsyncIterable=function(e){return Symbol.asyncIterator&&zm.isFunction(null==e?void 0:e[Symbol.asyncIterator])};var Gm={};Object.defineProperty(Gm,"__esModule",{value:!0}),Gm.createInvalidObservableTypeError=void 0,Gm.createInvalidObservableTypeError=function(e){return new TypeError("You provided "+(null!==e&&"object"===Z(e)?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")};var Hm={},Wm={};function Vm(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}Object.defineProperty(Wm,"__esModule",{value:!0}),Wm.iterator=Wm.getSymbolIterator=void 0,Wm.getSymbolIterator=Vm,Wm.iterator=Vm(),Object.defineProperty(Hm,"__esModule",{value:!0}),Hm.isIterable=void 0;var $m=Wm,Jm=eh;Hm.isIterable=function(e){return Jm.isFunction(null==e?void 0:e[$m.iterator])};var Km={},Ym=q&&q.__generator||function(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}},Zm=q&&q.__await||function(e){return this instanceof Zm?(this.v=e,this):new Zm(e)},Xm=q&&q.__asyncGenerator||function(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=n.apply(e,t||[]),i=[];return r={},a("next"),a("throw"),a("return"),r[Symbol.asyncIterator]=function(){return this},r;function a(e){o[e]&&(r[e]=function(t){return new Promise((function(n,r){i.push([e,t,n,r])>1||s(e,t)}))})}function s(e,t){try{!function(e){e.value instanceof Zm?Promise.resolve(e.value.v).then(u,c):l(i[0][2],e)}(o[e](t))}catch(e){l(i[0][3],e)}}function u(e){s("next",e)}function c(e){s("throw",e)}function l(e,t){e(t),i.shift(),i.length&&s(i[0][0],i[0][1])}};Object.defineProperty(Km,"__esModule",{value:!0}),Km.isReadableStreamLike=Km.readableStreamLikeToAsyncGenerator=void 0;var Qm=eh;Km.readableStreamLikeToAsyncGenerator=function(e){return Xm(this,arguments,(function(){var t,n,r;return Ym(this,(function(o){switch(o.label){case 0:t=e.getReader(),o.label=1;case 1:o.trys.push([1,,9,10]),o.label=2;case 2:return[4,Zm(t.read())];case 3:return n=o.sent(),r=n.value,n.done?[4,Zm(void 0)]:[3,5];case 4:return[2,o.sent()];case 5:return[4,Zm(r)];case 6:return[4,o.sent()];case 7:return o.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}}))}))},Km.isReadableStreamLike=function(e){return Qm.isFunction(null==e?void 0:e.getReader)};var eg=q&&q.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{u(r.next(e))}catch(e){i(e)}}function s(e){try{u(r.throw(e))}catch(e){i(e)}}function u(e){e.done?o(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}u((r=r.apply(e,t||[])).next())}))},tg=q&&q.__generator||function(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}},ng=q&&q.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e="function"==typeof rg?rg(e):e[Symbol.iterator](),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){!function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)}(r,o,(t=e[n](t)).done,t.value)}))}}},rg=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(Mm,"__esModule",{value:!0}),Mm.fromReadableStreamLike=Mm.fromAsyncIterable=Mm.fromIterable=Mm.fromPromise=Mm.fromArrayLike=Mm.fromInteropObservable=Mm.innerFrom=void 0;var og=jm,ig=Fm,ag=Xd,sg=Dm,ug=Um,cg=Gm,lg=Hm,fg=Km,dg=eh,hg=ph,pg=kh;function mg(e){return new ag.Observable((function(t){var n=e[pg.observable]();if(dg.isFunction(n.subscribe))return n.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")}))}function gg(e){return new ag.Observable((function(t){for(var n=0;n<e.length&&!t.closed;n++)t.next(e[n]);t.complete()}))}function yg(e){return new ag.Observable((function(t){e.then((function(e){t.closed||(t.next(e),t.complete())}),(function(e){return t.error(e)})).then(null,hg.reportUnhandledError)}))}function vg(e){return new ag.Observable((function(t){var n,r;try{for(var o=rg(e),i=o.next();!i.done;i=o.next())if(t.next(i.value),t.closed)return}catch(e){n={error:e}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}t.complete()}))}function _g(e){return new ag.Observable((function(t){(function(e,t){var n,r,o,i;return eg(this,void 0,void 0,(function(){var a;return tg(this,(function(s){switch(s.label){case 0:s.trys.push([0,5,6,11]),n=ng(e),s.label=1;case 1:return[4,n.next()];case 2:if((r=s.sent()).done)return[3,4];if(t.next(r.value),t.closed)return[2];s.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return a=s.sent(),o={error:a},[3,11];case 6:return s.trys.push([6,,9,10]),r&&!r.done&&(i=n.return)?[4,i.call(n)]:[3,8];case 7:s.sent(),s.label=8;case 8:return[3,10];case 9:if(o)throw o.error;return[7];case 10:return[7];case 11:return t.complete(),[2]}}))}))})(e,t).catch((function(e){return t.error(e)}))}))}function bg(e){return _g(fg.readableStreamLikeToAsyncGenerator(e))}Mm.innerFrom=function(e){if(e instanceof ag.Observable)return e;if(null!=e){if(sg.isInteropObservable(e))return mg(e);if(og.isArrayLike(e))return gg(e);if(ig.isPromise(e))return yg(e);if(ug.isAsyncIterable(e))return _g(e);if(lg.isIterable(e))return vg(e);if(fg.isReadableStreamLike(e))return bg(e)}throw cg.createInvalidObservableTypeError(e)},Mm.fromInteropObservable=mg,Mm.fromArrayLike=gg,Mm.fromPromise=yg,Mm.fromIterable=vg,Mm.fromAsyncIterable=_g,Mm.fromReadableStreamLike=bg;var wg={},Sg={};Object.defineProperty(Sg,"__esModule",{value:!0}),Sg.executeSchedule=void 0,Sg.executeSchedule=function(e,t,n,r,o){void 0===r&&(r=0),void 0===o&&(o=!1);var i=t.schedule((function(){n(),o?e.add(this.schedule(null,r)):this.unsubscribe()}),r);if(e.add(i),!o)return i},Object.defineProperty(wg,"__esModule",{value:!0}),wg.observeOn=void 0;var xg=Sg,kg=Bh,Eg=Gh;wg.observeOn=function(e,t){return void 0===t&&(t=0),kg.operate((function(n,r){n.subscribe(Eg.createOperatorSubscriber(r,(function(n){return xg.executeSchedule(r,e,(function(){return r.next(n)}),t)}),(function(){return xg.executeSchedule(r,e,(function(){return r.complete()}),t)}),(function(n){return xg.executeSchedule(r,e,(function(){return r.error(n)}),t)})))}))};var Ag={};Object.defineProperty(Ag,"__esModule",{value:!0}),Ag.subscribeOn=void 0;var Cg=Bh;Ag.subscribeOn=function(e,t){return void 0===t&&(t=0),Cg.operate((function(n,r){r.add(e.schedule((function(){return n.subscribe(r)}),t))}))},Object.defineProperty(Tm,"__esModule",{value:!0}),Tm.scheduleObservable=void 0;var Og=Mm,Rg=wg,Ng=Ag;Tm.scheduleObservable=function(e,t){return Og.innerFrom(e).pipe(Ng.subscribeOn(t),Rg.observeOn(t))};var Ig={};Object.defineProperty(Ig,"__esModule",{value:!0}),Ig.schedulePromise=void 0;var Pg=Mm,Tg=wg,Mg=Ag;Ig.schedulePromise=function(e,t){return Pg.innerFrom(e).pipe(Mg.subscribeOn(t),Tg.observeOn(t))};var jg={};Object.defineProperty(jg,"__esModule",{value:!0}),jg.scheduleArray=void 0;var Fg=Xd;jg.scheduleArray=function(e,t){return new Fg.Observable((function(n){var r=0;return t.schedule((function(){r===e.length?n.complete():(n.next(e[r++]),n.closed||this.schedule())}))}))};var Lg={};Object.defineProperty(Lg,"__esModule",{value:!0}),Lg.scheduleIterable=void 0;var Dg=Xd,qg=Wm,Bg=eh,Ug=Sg;Lg.scheduleIterable=function(e,t){return new Dg.Observable((function(n){var r;return Ug.executeSchedule(n,t,(function(){r=e[qg.iterator](),Ug.executeSchedule(n,t,(function(){var e,t,o;try{t=(e=r.next()).value,o=e.done}catch(e){return void n.error(e)}o?n.complete():n.next(t)}),0,!0)})),function(){return Bg.isFunction(null==r?void 0:r.return)&&r.return()}}))};var zg={};Object.defineProperty(zg,"__esModule",{value:!0}),zg.scheduleAsyncIterable=void 0;var Gg=Xd,Hg=Sg;zg.scheduleAsyncIterable=function(e,t){if(!e)throw new Error("Iterable cannot be null");return new Gg.Observable((function(n){Hg.executeSchedule(n,t,(function(){var r=e[Symbol.asyncIterator]();Hg.executeSchedule(n,t,(function(){r.next().then((function(e){e.done?n.complete():n.next(e.value)}))}),0,!0)}))}))};var Wg={};Object.defineProperty(Wg,"__esModule",{value:!0}),Wg.scheduleReadableStreamLike=void 0;var Vg=zg,$g=Km;Wg.scheduleReadableStreamLike=function(e,t){return Vg.scheduleAsyncIterable($g.readableStreamLikeToAsyncGenerator(e),t)},Object.defineProperty(Pm,"__esModule",{value:!0}),Pm.scheduled=void 0;var Jg=Tm,Kg=Ig,Yg=jg,Zg=Lg,Xg=zg,Qg=Dm,ey=Fm,ty=jm,ny=Hm,ry=Um,oy=Gm,iy=Km,ay=Wg;Pm.scheduled=function(e,t){if(null!=e){if(Qg.isInteropObservable(e))return Jg.scheduleObservable(e,t);if(ty.isArrayLike(e))return Yg.scheduleArray(e,t);if(ey.isPromise(e))return Kg.schedulePromise(e,t);if(ry.isAsyncIterable(e))return Xg.scheduleAsyncIterable(e,t);if(ny.isIterable(e))return Zg.scheduleIterable(e,t);if(iy.isReadableStreamLike(e))return ay.scheduleReadableStreamLike(e,t)}throw oy.createInvalidObservableTypeError(e)},Object.defineProperty(Im,"__esModule",{value:!0}),Im.from=void 0;var sy=Pm,uy=Mm;Im.from=function(e,t){return t?sy.scheduled(e,t):uy.innerFrom(e)},Object.defineProperty(km,"__esModule",{value:!0}),km.of=void 0;var cy=Em,ly=Im;km.of=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=cy.popScheduler(e);return ly.from(e,n)};var fy={};Object.defineProperty(fy,"__esModule",{value:!0}),fy.throwError=void 0;var dy=Xd,hy=eh;fy.throwError=function(e,t){var n=hy.isFunction(e)?e:function(){return e},r=function(e){return e.error(n())};return new dy.Observable(t?function(e){return t.schedule(r,0,e)}:r)},function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.observeNotification=e.Notification=e.NotificationKind=void 0;var t,n=xm,r=km,o=fy,i=eh;(t=e.NotificationKind||(e.NotificationKind={})).NEXT="N",t.ERROR="E",t.COMPLETE="C";var a=function(){function e(e,t,n){this.kind=e,this.value=t,this.error=n,this.hasValue="N"===e}return e.prototype.observe=function(e){return s(this,e)},e.prototype.do=function(e,t,n){var r=this,o=r.kind,i=r.error;return"N"===o?null==e?void 0:e(r.value):"E"===o?null==t?void 0:t(i):null==n?void 0:n()},e.prototype.accept=function(e,t,n){var r;return i.isFunction(null===(r=e)||void 0===r?void 0:r.next)?this.observe(e):this.do(e,t,n)},e.prototype.toObservable=function(){var e=this,t=e.kind,i=e.error,a="N"===t?r.of(e.value):"E"===t?o.throwError((function(){return i})):"C"===t?n.EMPTY:0;if(!a)throw new TypeError("Unexpected notification kind "+t);return a},e.createNext=function(t){return new e("N",t)},e.createError=function(t){return new e("E",void 0,t)},e.createComplete=function(){return e.completeNotification},e.completeNotification=new e("C"),e}();function s(e,t){var n,r,o,i=e.kind,a=e.value,s=e.error;if("string"!=typeof i)throw new TypeError('Invalid notification, missing "kind"');"N"===i?null===(n=t.next)||void 0===n||n.call(t,a):"E"===i?null===(r=t.error)||void 0===r||r.call(t,s):null===(o=t.complete)||void 0===o||o.call(t)}e.Notification=a,e.observeNotification=s}(Sm);var py={};Object.defineProperty(py,"__esModule",{value:!0}),py.isObservable=void 0;var my=Xd,gy=eh;py.isObservable=function(e){return!!e&&(e instanceof my.Observable||gy.isFunction(e.lift)&&gy.isFunction(e.subscribe))};var yy={},vy={};Object.defineProperty(vy,"__esModule",{value:!0}),vy.EmptyError=void 0,vy.EmptyError=rh.createErrorClass((function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}})),Object.defineProperty(yy,"__esModule",{value:!0}),yy.lastValueFrom=void 0;var _y=vy;yy.lastValueFrom=function(e,t){var n="object"===Z(t);return new Promise((function(r,o){var i,a=!1;e.subscribe({next:function(e){i=e,a=!0},error:o,complete:function(){a?r(i):n?r(t.defaultValue):o(new _y.EmptyError)}})}))};var by={};Object.defineProperty(by,"__esModule",{value:!0}),by.firstValueFrom=void 0;var wy=vy,Sy=Qd;by.firstValueFrom=function(e,t){var n="object"===Z(t);return new Promise((function(r,o){var i=new Sy.SafeSubscriber({next:function(e){r(e),i.unsubscribe()},error:o,complete:function(){n?r(t.defaultValue):o(new wy.EmptyError)}});e.subscribe(i)}))};var xy={};Object.defineProperty(xy,"__esModule",{value:!0}),xy.ArgumentOutOfRangeError=void 0,xy.ArgumentOutOfRangeError=rh.createErrorClass((function(e){return function(){e(this),this.name="ArgumentOutOfRangeError",this.message="argument out of range"}}));var ky={};Object.defineProperty(ky,"__esModule",{value:!0}),ky.NotFoundError=void 0,ky.NotFoundError=rh.createErrorClass((function(e){return function(t){e(this),this.name="NotFoundError",this.message=t}}));var Ey={};Object.defineProperty(Ey,"__esModule",{value:!0}),Ey.SequenceError=void 0,Ey.SequenceError=rh.createErrorClass((function(e){return function(t){e(this),this.name="SequenceError",this.message=t}}));var Ay={},Cy={};Object.defineProperty(Cy,"__esModule",{value:!0}),Cy.isValidDate=void 0,Cy.isValidDate=function(e){return e instanceof Date&&!isNaN(e)},function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.timeout=e.TimeoutError=void 0;var t=rm,n=Cy,r=Bh,o=Mm,i=Gh,a=Sg;function s(t){throw new e.TimeoutError(t)}e.TimeoutError=rh.createErrorClass((function(e){return function(t){void 0===t&&(t=null),e(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=t}})),e.timeout=function(e,u){var c=n.isValidDate(e)?{first:e}:"number"==typeof e?{each:e}:e,l=c.first,f=c.each,d=c.with,h=void 0===d?s:d,p=c.scheduler,m=void 0===p?null!=u?u:t.asyncScheduler:p,g=c.meta,y=void 0===g?null:g;if(null==l&&null==f)throw new TypeError("No timeout provided.");return r.operate((function(e,t){var n,r,s=null,u=0,c=function(e){r=a.executeSchedule(t,m,(function(){try{n.unsubscribe(),o.innerFrom(h({meta:y,lastValue:s,seen:u})).subscribe(t)}catch(e){t.error(e)}}),e)};n=e.subscribe(i.createOperatorSubscriber(t,(function(e){null==r||r.unsubscribe(),u++,t.next(s=e),f>0&&c(f)}),void 0,void 0,(function(){(null==r?void 0:r.closed)||null==r||r.unsubscribe(),s=null}))),!u&&c(null!=l?"number"==typeof l?l:+l-m.now():f)}))}}(Ay);var Oy={},Ry={},Ny={},Iy={};Object.defineProperty(Iy,"__esModule",{value:!0}),Iy.map=void 0;var Py=Bh,Ty=Gh;Iy.map=function(e,t){return Py.operate((function(n,r){var o=0;n.subscribe(Ty.createOperatorSubscriber(r,(function(n){r.next(e.call(t,n,o++))})))}))};var My=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},jy=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Ny,"__esModule",{value:!0}),Ny.mapOneOrManyArgs=void 0;var Fy=Iy,Ly=Array.isArray;Ny.mapOneOrManyArgs=function(e){return Fy.map((function(t){return function(e,t){return Ly(t)?e.apply(void 0,jy([],My(t))):e(t)}(e,t)}))};var Dy=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},qy=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Ry,"__esModule",{value:!0}),Ry.bindCallbackInternals=void 0;var By=Am,Uy=Xd,zy=Ag,Gy=Ny,Hy=wg,Wy=Op;Ry.bindCallbackInternals=function e(t,n,r,o){if(r){if(!By.isScheduler(r))return function(){for(var i=[],a=0;a<arguments.length;a++)i[a]=arguments[a];return e(t,n,o).apply(this,i).pipe(Gy.mapOneOrManyArgs(r))};o=r}return o?function(){for(var r=[],i=0;i<arguments.length;i++)r[i]=arguments[i];return e(t,n).apply(this,r).pipe(zy.subscribeOn(o),Hy.observeOn(o))}:function(){for(var e=this,r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];var i=new Wy.AsyncSubject,a=!0;return new Uy.Observable((function(o){var s=i.subscribe(o);if(a){a=!1;var u=!1,c=!1;n.apply(e,qy(qy([],Dy(r)),[function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];if(t){var r=e.shift();if(null!=r)return void i.error(r)}i.next(1<e.length?e:e[0]),c=!0,u&&i.complete()}])),c&&i.complete(),u=!0}return s}))}},Object.defineProperty(Oy,"__esModule",{value:!0}),Oy.bindCallback=void 0;var Vy=Ry;Oy.bindCallback=function(e,t,n){return Vy.bindCallbackInternals(!1,e,t,n)};var $y={};Object.defineProperty($y,"__esModule",{value:!0}),$y.bindNodeCallback=void 0;var Jy=Ry;$y.bindNodeCallback=function(e,t,n){return Jy.bindCallbackInternals(!0,e,t,n)};var Ky={},Yy={};Object.defineProperty(Yy,"__esModule",{value:!0}),Yy.argsArgArrayOrObject=void 0;var Zy=Array.isArray,Xy=Object.getPrototypeOf,Qy=Object.prototype,ev=Object.keys;Yy.argsArgArrayOrObject=function(e){if(1===e.length){var t=e[0];if(Zy(t))return{args:t,keys:null};if((r=t)&&"object"===Z(r)&&Xy(r)===Qy){var n=ev(t);return{args:n.map((function(e){return t[e]})),keys:n}}}var r;return{args:e,keys:null}};var tv={};Object.defineProperty(tv,"__esModule",{value:!0}),tv.createObject=void 0,tv.createObject=function(e,t){return e.reduce((function(e,n,r){return e[n]=t[r],e}),{})},Object.defineProperty(Ky,"__esModule",{value:!0}),Ky.combineLatestInit=Ky.combineLatest=void 0;var nv=Xd,rv=Yy,ov=Im,iv=Ah,av=Ny,sv=Em,uv=tv,cv=Gh,lv=Sg;function fv(e,t,n){return void 0===n&&(n=iv.identity),function(r){dv(t,(function(){for(var o=e.length,i=new Array(o),a=o,s=o,u=function(o){dv(t,(function(){var u=ov.from(e[o],t),c=!1;u.subscribe(cv.createOperatorSubscriber(r,(function(e){i[o]=e,c||(c=!0,s--),s||r.next(n(i.slice()))}),(function(){--a||r.complete()})))}),r)},c=0;c<o;c++)u(c)}),r)}}function dv(e,t,n){e?lv.executeSchedule(n,e,t):t()}Ky.combineLatest=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=sv.popScheduler(e),r=sv.popResultSelector(e),o=rv.argsArgArrayOrObject(e),i=o.args,a=o.keys;if(0===i.length)return ov.from([],n);var s=new nv.Observable(fv(i,n,a?function(e){return uv.createObject(a,e)}:iv.identity));return r?s.pipe(av.mapOneOrManyArgs(r)):s},Ky.combineLatestInit=fv;var hv={},pv={},mv={},gv={},yv={};Object.defineProperty(yv,"__esModule",{value:!0}),yv.mergeInternals=void 0;var vv=Mm,_v=Sg,bv=Gh;yv.mergeInternals=function(e,t,n,r,o,i,a,s){var u=[],c=0,l=0,f=!1,d=function(){!f||u.length||c||t.complete()},h=function(e){return c<r?p(e):u.push(e)},p=function e(s){i&&t.next(s),c++;var f=!1;vv.innerFrom(n(s,l++)).subscribe(bv.createOperatorSubscriber(t,(function(e){null==o||o(e),i?h(e):t.next(e)}),(function(){f=!0}),void 0,(function(){if(f)try{c--;for(var n=function(){var n=u.shift();a?_v.executeSchedule(t,a,(function(){return e(n)})):e(n)};u.length&&c<r;)n();d()}catch(e){t.error(e)}})))};return e.subscribe(bv.createOperatorSubscriber(t,h,(function(){f=!0,d()}))),function(){null==s||s()}},Object.defineProperty(gv,"__esModule",{value:!0}),gv.mergeMap=void 0;var wv=Iy,Sv=Mm,xv=Bh,kv=yv,Ev=eh;gv.mergeMap=function e(t,n,r){return void 0===r&&(r=Infinity),Ev.isFunction(n)?e((function(e,r){return wv.map((function(t,o){return n(e,t,r,o)}))(Sv.innerFrom(t(e,r)))}),r):("number"==typeof n&&(r=n),xv.operate((function(e,n){return kv.mergeInternals(e,n,t,r)})))},Object.defineProperty(mv,"__esModule",{value:!0}),mv.mergeAll=void 0;var Av=gv,Cv=Ah;mv.mergeAll=function(e){return void 0===e&&(e=Infinity),Av.mergeMap(Cv.identity,e)},Object.defineProperty(pv,"__esModule",{value:!0}),pv.concatAll=void 0;var Ov=mv;pv.concatAll=function(){return Ov.mergeAll(1)},Object.defineProperty(hv,"__esModule",{value:!0}),hv.concat=void 0;var Rv=pv,Nv=Em,Iv=Im;hv.concat=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Rv.concatAll()(Iv.from(e,Nv.popScheduler(e)))};var Pv={},Tv={};Object.defineProperty(Tv,"__esModule",{value:!0}),Tv.defer=void 0;var Mv=Xd,jv=Mm;Tv.defer=function(e){return new Mv.Observable((function(t){jv.innerFrom(e()).subscribe(t)}))},Object.defineProperty(Pv,"__esModule",{value:!0}),Pv.connectable=void 0;var Fv=cp,Lv=Xd,Dv=Tv,qv={connector:function(){return new Fv.Subject},resetOnDisconnect:!0};Pv.connectable=function(e,t){void 0===t&&(t=qv);var n=null,r=t.connector,o=t.resetOnDisconnect,i=void 0===o||o,a=r(),s=new Lv.Observable((function(e){return a.subscribe(e)}));return s.connect=function(){return n&&!n.closed||(n=Dv.defer((function(){return e})).subscribe(a),i&&n.add((function(){return a=r()}))),n},s};var Bv={};Object.defineProperty(Bv,"__esModule",{value:!0}),Bv.forkJoin=void 0;var Uv=Xd,zv=Yy,Gv=Mm,Hv=Em,Wv=Gh,Vv=Ny,$v=tv;Bv.forkJoin=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=Hv.popResultSelector(e),r=zv.argsArgArrayOrObject(e),o=r.args,i=r.keys,a=new Uv.Observable((function(e){var t=o.length;if(t)for(var n=new Array(t),r=t,a=t,s=function(t){var s=!1;Gv.innerFrom(o[t]).subscribe(Wv.createOperatorSubscriber(e,(function(e){s||(s=!0,a--),n[t]=e}),(function(){return r--}),void 0,(function(){r&&s||(a||e.next(i?$v.createObject(i,n):n),e.complete())})))},u=0;u<t;u++)s(u);else e.complete()}));return n?a.pipe(Vv.mapOneOrManyArgs(n)):a};var Jv={},Kv=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a};Object.defineProperty(Jv,"__esModule",{value:!0}),Jv.fromEvent=void 0;var Yv=Mm,Zv=Xd,Xv=gv,Qv=jm,e_=eh,t_=Ny,n_=["addListener","removeListener"],r_=["addEventListener","removeEventListener"],o_=["on","off"];function i_(e,t){return function(n){return function(r){return e[n](t,r)}}}Jv.fromEvent=function e(t,n,r,o){if(e_.isFunction(r)&&(o=r,r=void 0),o)return e(t,n,r).pipe(t_.mapOneOrManyArgs(o));var i=Kv(function(e){return e_.isFunction(e.addEventListener)&&e_.isFunction(e.removeEventListener)}(t)?r_.map((function(e){return function(o){return t[e](n,o,r)}})):function(e){return e_.isFunction(e.addListener)&&e_.isFunction(e.removeListener)}(t)?n_.map(i_(t,n)):function(e){return e_.isFunction(e.on)&&e_.isFunction(e.off)}(t)?o_.map(i_(t,n)):[],2),a=i[0],s=i[1];if(!a&&Qv.isArrayLike(t))return Xv.mergeMap((function(t){return e(t,n,r)}))(Yv.innerFrom(t));if(!a)throw new TypeError("Invalid event target");return new Zv.Observable((function(e){var t=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return e.next(1<t.length?t:t[0])};return a(t),function(){return s(t)}}))};var a_={};Object.defineProperty(a_,"__esModule",{value:!0}),a_.fromEventPattern=void 0;var s_=Xd,u_=eh,c_=Ny;a_.fromEventPattern=function e(t,n,r){return r?e(t,n).pipe(c_.mapOneOrManyArgs(r)):new s_.Observable((function(e){var r=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return e.next(1===t.length?t[0]:t)},o=t(r);return u_.isFunction(n)?function(){return n(r,o)}:void 0}))};var l_={},f_=q&&q.__generator||function(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}};Object.defineProperty(l_,"__esModule",{value:!0}),l_.generate=void 0;var d_=Ah,h_=Am,p_=Tv,m_=Lg;l_.generate=function(e,t,n,r,o){var i,a,s,u;function c(){var e;return f_(this,(function(r){switch(r.label){case 0:e=u,r.label=1;case 1:return t&&!t(e)?[3,4]:[4,s(e)];case 2:r.sent(),r.label=3;case 3:return e=n(e),[3,1];case 4:return[2]}}))}return 1===arguments.length?(u=(i=e).initialState,t=i.condition,n=i.iterate,s=void 0===(a=i.resultSelector)?d_.identity:a,o=i.scheduler):(u=e,!r||h_.isScheduler(r)?(s=d_.identity,o=r):s=r),p_.defer(o?function(){return m_.scheduleIterable(c(),o)}:c)};var g_={};Object.defineProperty(g_,"__esModule",{value:!0}),g_.iif=void 0;var y_=Tv;g_.iif=function(e,t,n){return y_.defer((function(){return e()?t:n}))};var v_={},__={};Object.defineProperty(__,"__esModule",{value:!0}),__.timer=void 0;var b_=Xd,w_=rm,S_=Am,x_=Cy;__.timer=function(e,t,n){void 0===e&&(e=0),void 0===n&&(n=w_.async);var r=-1;return null!=t&&(S_.isScheduler(t)?n=t:r=t),new b_.Observable((function(t){var o=x_.isValidDate(e)?+e-n.now():e;o<0&&(o=0);var i=0;return n.schedule((function(){t.closed||(t.next(i++),0<=r?this.schedule(void 0,r):t.complete())}),o)}))},Object.defineProperty(v_,"__esModule",{value:!0}),v_.interval=void 0;var k_=rm,E_=__;v_.interval=function(e,t){return void 0===e&&(e=0),void 0===t&&(t=k_.asyncScheduler),e<0&&(e=0),E_.timer(e,e,t)};var A_={};Object.defineProperty(A_,"__esModule",{value:!0}),A_.merge=void 0;var C_=mv,O_=Mm,R_=xm,N_=Em,I_=Im;A_.merge=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=N_.popScheduler(e),r=N_.popNumber(e,Infinity),o=e;return o.length?1===o.length?O_.innerFrom(o[0]):C_.mergeAll(r)(I_.from(o,n)):R_.EMPTY};var P_={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.never=e.NEVER=void 0,e.NEVER=new Xd.Observable(vh.noop),e.never=function(){return e.NEVER}}(P_);var T_={},M_={};Object.defineProperty(M_,"__esModule",{value:!0}),M_.argsOrArgArray=void 0;var j_=Array.isArray;M_.argsOrArgArray=function(e){return 1===e.length&&j_(e[0])?e[0]:e},Object.defineProperty(T_,"__esModule",{value:!0}),T_.onErrorResumeNext=void 0;var F_=Xd,L_=M_,D_=Gh,q_=vh,B_=Mm;T_.onErrorResumeNext=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=L_.argsOrArgArray(e);return new F_.Observable((function(e){var t=0;!function r(){if(t<n.length){var o=void 0;try{o=B_.innerFrom(n[t++])}catch(e){return void r()}var i=new D_.OperatorSubscriber(e,void 0,q_.noop,q_.noop);o.subscribe(i),i.add(r)}else e.complete()}()}))};var U_={};Object.defineProperty(U_,"__esModule",{value:!0}),U_.pairs=void 0;var z_=Im;U_.pairs=function(e,t){return z_.from(Object.entries(e),t)};var G_={},H_={};Object.defineProperty(H_,"__esModule",{value:!0}),H_.not=void 0,H_.not=function(e,t){return function(n,r){return!e.call(t,n,r)}};var W_={};Object.defineProperty(W_,"__esModule",{value:!0}),W_.filter=void 0;var V_=Bh,$_=Gh;W_.filter=function(e,t){return V_.operate((function(n,r){var o=0;n.subscribe($_.createOperatorSubscriber(r,(function(n){return e.call(t,n,o++)&&r.next(n)})))}))},Object.defineProperty(G_,"__esModule",{value:!0}),G_.partition=void 0;var J_=H_,K_=W_,Y_=Mm;G_.partition=function(e,t,n){return[K_.filter(t,n)(Y_.innerFrom(e)),K_.filter(J_.not(t,n))(Y_.innerFrom(e))]};var Z_={};Object.defineProperty(Z_,"__esModule",{value:!0}),Z_.raceInit=Z_.race=void 0;var X_=Xd,Q_=Mm,eb=M_,tb=Gh;function nb(e){return function(t){for(var n=[],r=function(r){n.push(Q_.innerFrom(e[r]).subscribe(tb.createOperatorSubscriber(t,(function(e){if(n){for(var o=0;o<n.length;o++)o!==r&&n[o].unsubscribe();n=null}t.next(e)}))))},o=0;n&&!t.closed&&o<e.length;o++)r(o)}}Z_.race=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return 1===(e=eb.argsOrArgArray(e)).length?Q_.innerFrom(e[0]):new X_.Observable(nb(e))},Z_.raceInit=nb;var rb={};Object.defineProperty(rb,"__esModule",{value:!0}),rb.range=void 0;var ob=Xd,ib=xm;rb.range=function(e,t,n){if(null==t&&(t=e,e=0),t<=0)return ib.EMPTY;var r=t+e;return new ob.Observable(n?function(t){var o=e;return n.schedule((function(){o<r?(t.next(o++),this.schedule()):t.complete()}))}:function(t){for(var n=e;n<r&&!t.closed;)t.next(n++);t.complete()})};var ab={};Object.defineProperty(ab,"__esModule",{value:!0}),ab.using=void 0;var sb=Xd,ub=Mm,cb=xm;ab.using=function(e,t){return new sb.Observable((function(n){var r=e(),o=t(r);return(o?ub.innerFrom(o):cb.EMPTY).subscribe(n),function(){r&&r.unsubscribe()}}))};var lb={},fb=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},db=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(lb,"__esModule",{value:!0}),lb.zip=void 0;var hb=Xd,pb=Mm,mb=M_,gb=xm,yb=Gh,vb=Em;lb.zip=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=vb.popResultSelector(e),r=mb.argsOrArgArray(e);return r.length?new hb.Observable((function(e){var t=r.map((function(){return[]})),o=r.map((function(){return!1}));e.add((function(){t=o=null}));for(var i=function(i){pb.innerFrom(r[i]).subscribe(yb.createOperatorSubscriber(e,(function(r){if(t[i].push(r),t.every((function(e){return e.length}))){var a=t.map((function(e){return e.shift()}));e.next(n?n.apply(void 0,db([],fb(a))):a),t.some((function(e,t){return!e.length&&o[t]}))&&e.complete()}}),(function(){o[i]=!0,!t[i].length&&e.complete()})))},a=0;!e.closed&&a<r.length;a++)i(a);return function(){t=o=null}})):gb.EMPTY};var _b={};Object.defineProperty(_b,"__esModule",{value:!0});var bb={};Object.defineProperty(bb,"__esModule",{value:!0}),bb.audit=void 0;var wb=Bh,Sb=Mm,xb=Gh;bb.audit=function(e){return wb.operate((function(t,n){var r=!1,o=null,i=null,a=!1,s=function(){if(null==i||i.unsubscribe(),i=null,r){r=!1;var e=o;o=null,n.next(e)}a&&n.complete()},u=function(){i=null,a&&n.complete()};t.subscribe(xb.createOperatorSubscriber(n,(function(t){r=!0,o=t,i||Sb.innerFrom(e(t)).subscribe(i=xb.createOperatorSubscriber(n,s,u))}),(function(){a=!0,(!r||!i||i.closed)&&n.complete()})))}))};var kb={};Object.defineProperty(kb,"__esModule",{value:!0}),kb.auditTime=void 0;var Eb=rm,Ab=bb,Cb=__;kb.auditTime=function(e,t){return void 0===t&&(t=Eb.asyncScheduler),Ab.audit((function(){return Cb.timer(e,t)}))};var Ob={};Object.defineProperty(Ob,"__esModule",{value:!0}),Ob.buffer=void 0;var Rb=Bh,Nb=vh,Ib=Gh,Pb=Mm;Ob.buffer=function(e){return Rb.operate((function(t,n){var r=[];return t.subscribe(Ib.createOperatorSubscriber(n,(function(e){return r.push(e)}),(function(){n.next(r),n.complete()}))),Pb.innerFrom(e).subscribe(Ib.createOperatorSubscriber(n,(function(){var e=r;r=[],n.next(e)}),Nb.noop)),function(){r=null}}))};var Tb={},Mb=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(Tb,"__esModule",{value:!0}),Tb.bufferCount=void 0;var jb=Bh,Fb=Gh,Lb=oh;Tb.bufferCount=function(e,t){return void 0===t&&(t=null),t=null!=t?t:e,jb.operate((function(n,r){var o=[],i=0;n.subscribe(Fb.createOperatorSubscriber(r,(function(n){var a,s,u,c,l=null;i++%t==0&&o.push([]);try{for(var f=Mb(o),d=f.next();!d.done;d=f.next())(m=d.value).push(n),e<=m.length&&(l=null!=l?l:[]).push(m)}catch(e){a={error:e}}finally{try{d&&!d.done&&(s=f.return)&&s.call(f)}finally{if(a)throw a.error}}if(l)try{for(var h=Mb(l),p=h.next();!p.done;p=h.next()){var m;Lb.arrRemove(o,m=p.value),r.next(m)}}catch(e){u={error:e}}finally{try{p&&!p.done&&(c=h.return)&&c.call(h)}finally{if(u)throw u.error}}}),(function(){var e,t;try{for(var n=Mb(o),i=n.next();!i.done;i=n.next())r.next(i.value)}catch(t){e={error:t}}finally{try{i&&!i.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}r.complete()}),void 0,(function(){o=null})))}))};var Db={},qb=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(Db,"__esModule",{value:!0}),Db.bufferTime=void 0;var Bb=th,Ub=Bh,zb=Gh,Gb=oh,Hb=rm,Wb=Em,Vb=Sg;Db.bufferTime=function(e){for(var t,n,r=[],o=1;o<arguments.length;o++)r[o-1]=arguments[o];var i=null!==(t=Wb.popScheduler(r))&&void 0!==t?t:Hb.asyncScheduler,a=null!==(n=r[0])&&void 0!==n?n:null,s=r[1]||Infinity;return Ub.operate((function(t,n){var r=[],o=!1,u=function(e){var t=e.buffer;e.subs.unsubscribe(),Gb.arrRemove(r,e),n.next(t),o&&c()},c=function(){if(r){var t=new Bb.Subscription;n.add(t);var o={buffer:[],subs:t};r.push(o),Vb.executeSchedule(t,i,(function(){return u(o)}),e)}};null!==a&&a>=0?Vb.executeSchedule(n,i,c,a,!0):o=!0,c();var l=zb.createOperatorSubscriber(n,(function(e){var t,n,o=r.slice();try{for(var i=qb(o),a=i.next();!a.done;a=i.next()){var c=a.value,l=c.buffer;l.push(e),s<=l.length&&u(c)}}catch(e){t={error:e}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}}),(function(){for(;null==r?void 0:r.length;)n.next(r.shift().buffer);null==l||l.unsubscribe(),n.complete(),n.unsubscribe()}),void 0,(function(){return r=null}));t.subscribe(l)}))};var $b={},Jb=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty($b,"__esModule",{value:!0}),$b.bufferToggle=void 0;var Kb=th,Yb=Bh,Zb=Mm,Xb=Gh,Qb=vh,ew=oh;$b.bufferToggle=function(e,t){return Yb.operate((function(n,r){var o=[];Zb.innerFrom(e).subscribe(Xb.createOperatorSubscriber(r,(function(e){var n=[];o.push(n);var i=new Kb.Subscription;i.add(Zb.innerFrom(t(e)).subscribe(Xb.createOperatorSubscriber(r,(function(){ew.arrRemove(o,n),r.next(n),i.unsubscribe()}),Qb.noop)))}),Qb.noop)),n.subscribe(Xb.createOperatorSubscriber(r,(function(e){var t,n;try{for(var r=Jb(o),i=r.next();!i.done;i=r.next())i.value.push(e)}catch(e){t={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(t)throw t.error}}}),(function(){for(;o.length>0;)r.next(o.shift());r.complete()})))}))};var tw={};Object.defineProperty(tw,"__esModule",{value:!0}),tw.bufferWhen=void 0;var nw=Bh,rw=vh,ow=Gh,iw=Mm;tw.bufferWhen=function(e){return nw.operate((function(t,n){var r=null,o=null;!function t(){null==o||o.unsubscribe();var i=r;r=[],i&&n.next(i),iw.innerFrom(e()).subscribe(o=ow.createOperatorSubscriber(n,t,rw.noop))}(),t.subscribe(ow.createOperatorSubscriber(n,(function(e){return null==r?void 0:r.push(e)}),(function(){r&&n.next(r),n.complete()}),void 0,(function(){return r=o=null})))}))};var aw={};Object.defineProperty(aw,"__esModule",{value:!0}),aw.catchError=void 0;var sw=Mm,uw=Gh,cw=Bh;aw.catchError=function e(t){return cw.operate((function(n,r){var o,i=null,a=!1;i=n.subscribe(uw.createOperatorSubscriber(r,void 0,void 0,(function(s){o=sw.innerFrom(t(s,e(t)(n))),i?(i.unsubscribe(),i=null,o.subscribe(r)):a=!0}))),a&&(i.unsubscribe(),i=null,o.subscribe(r))}))};var lw={},fw={},dw={},hw={},pw={},mw={};Object.defineProperty(mw,"__esModule",{value:!0}),mw.scanInternals=void 0;var gw=Gh;mw.scanInternals=function(e,t,n,r,o){return function(i,a){var s=n,u=t,c=0;i.subscribe(gw.createOperatorSubscriber(a,(function(t){var n=c++;u=s?e(u,t,n):(s=!0,t),r&&a.next(u)}),o&&function(){s&&a.next(u),a.complete()}))}},Object.defineProperty(pw,"__esModule",{value:!0}),pw.reduce=void 0;var yw=mw,vw=Bh;pw.reduce=function(e,t){return vw.operate(yw.scanInternals(e,t,arguments.length>=2,!1,!0))},Object.defineProperty(hw,"__esModule",{value:!0}),hw.toArray=void 0;var _w=pw,bw=Bh,ww=function(e,t){return e.push(t),e};hw.toArray=function(){return bw.operate((function(e,t){_w.reduce(ww,[])(e).subscribe(t)}))},Object.defineProperty(dw,"__esModule",{value:!0}),dw.joinAllInternals=void 0;var Sw=Ah,xw=Ny,kw=Eh,Ew=gv,Aw=hw;dw.joinAllInternals=function(e,t){return kw.pipe(Aw.toArray(),Ew.mergeMap((function(t){return e(t)})),t?xw.mapOneOrManyArgs(t):Sw.identity)},Object.defineProperty(fw,"__esModule",{value:!0}),fw.combineLatestAll=void 0;var Cw=Ky,Ow=dw;fw.combineLatestAll=function(e){return Ow.joinAllInternals(Cw.combineLatest,e)},Object.defineProperty(lw,"__esModule",{value:!0}),lw.combineAll=void 0,lw.combineAll=fw.combineLatestAll;var Rw={},Nw={},Iw=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},Pw=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Nw,"__esModule",{value:!0}),Nw.combineLatest=void 0;var Tw=Ky,Mw=Bh,jw=M_,Fw=Ny,Lw=Eh,Dw=Em;Nw.combineLatest=function e(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=Dw.popResultSelector(t);return r?Lw.pipe(e.apply(void 0,Pw([],Iw(t))),Fw.mapOneOrManyArgs(r)):Mw.operate((function(e,n){Tw.combineLatestInit(Pw([e],Iw(jw.argsOrArgArray(t))))(n)}))};var qw=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},Bw=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Rw,"__esModule",{value:!0}),Rw.combineLatestWith=void 0;var Uw=Nw;Rw.combineLatestWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Uw.combineLatest.apply(void 0,Bw([],qw(e)))};var zw={};Object.defineProperty(zw,"__esModule",{value:!0}),zw.concatMap=void 0;var Gw=gv,Hw=eh;zw.concatMap=function(e,t){return Hw.isFunction(t)?Gw.mergeMap(e,t,1):Gw.mergeMap(e,1)};var Ww={};Object.defineProperty(Ww,"__esModule",{value:!0}),Ww.concatMapTo=void 0;var Vw=zw,$w=eh;Ww.concatMapTo=function(e,t){return $w.isFunction(t)?Vw.concatMap((function(){return e}),t):Vw.concatMap((function(){return e}))};var Jw={},Kw={},Yw=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},Zw=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Kw,"__esModule",{value:!0}),Kw.concat=void 0;var Xw=Bh,Qw=pv,eS=Em,tS=Im;Kw.concat=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=eS.popScheduler(e);return Xw.operate((function(t,r){Qw.concatAll()(tS.from(Zw([t],Yw(e)),n)).subscribe(r)}))};var nS=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},rS=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Jw,"__esModule",{value:!0}),Jw.concatWith=void 0;var oS=Kw;Jw.concatWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return oS.concat.apply(void 0,rS([],nS(e)))};var iS={},aS={};Object.defineProperty(aS,"__esModule",{value:!0}),aS.fromSubscribable=void 0;var sS=Xd;aS.fromSubscribable=function(e){return new sS.Observable((function(t){return e.subscribe(t)}))},Object.defineProperty(iS,"__esModule",{value:!0}),iS.connect=void 0;var uS=cp,cS=Mm,lS=Bh,fS=aS,dS={connector:function(){return new uS.Subject}};iS.connect=function(e,t){void 0===t&&(t=dS);var n=t.connector;return lS.operate((function(t,r){var o=n();cS.innerFrom(e(fS.fromSubscribable(o))).subscribe(r),r.add(t.subscribe(o))}))};var hS={};Object.defineProperty(hS,"__esModule",{value:!0}),hS.count=void 0;var pS=pw;hS.count=function(e){return pS.reduce((function(t,n,r){return!e||e(n,r)?t+1:t}),0)};var mS={};Object.defineProperty(mS,"__esModule",{value:!0}),mS.debounce=void 0;var gS=Bh,yS=vh,vS=Gh,_S=Mm;mS.debounce=function(e){return gS.operate((function(t,n){var r=!1,o=null,i=null,a=function(){if(null==i||i.unsubscribe(),i=null,r){r=!1;var e=o;o=null,n.next(e)}};t.subscribe(vS.createOperatorSubscriber(n,(function(t){null==i||i.unsubscribe(),r=!0,o=t,i=vS.createOperatorSubscriber(n,a,yS.noop),_S.innerFrom(e(t)).subscribe(i)}),(function(){a(),n.complete()}),void 0,(function(){o=i=null})))}))};var bS={};Object.defineProperty(bS,"__esModule",{value:!0}),bS.debounceTime=void 0;var wS=rm,SS=Bh,xS=Gh;bS.debounceTime=function(e,t){return void 0===t&&(t=wS.asyncScheduler),SS.operate((function(n,r){var o=null,i=null,a=null,s=function(){if(o){o.unsubscribe(),o=null;var e=i;i=null,r.next(e)}};function u(){var n=a+e,i=t.now();if(i<n)return o=this.schedule(void 0,n-i),void r.add(o);s()}n.subscribe(xS.createOperatorSubscriber(r,(function(n){i=n,a=t.now(),o||(o=t.schedule(u,e),r.add(o))}),(function(){s(),r.complete()}),void 0,(function(){i=o=null})))}))};var kS={};Object.defineProperty(kS,"__esModule",{value:!0}),kS.defaultIfEmpty=void 0;var ES=Bh,AS=Gh;kS.defaultIfEmpty=function(e){return ES.operate((function(t,n){var r=!1;t.subscribe(AS.createOperatorSubscriber(n,(function(e){r=!0,n.next(e)}),(function(){r||n.next(e),n.complete()})))}))};var CS={},OS={},RS={};Object.defineProperty(RS,"__esModule",{value:!0}),RS.take=void 0;var NS=xm,IS=Bh,PS=Gh;RS.take=function(e){return e<=0?function(){return NS.EMPTY}:IS.operate((function(t,n){var r=0;t.subscribe(PS.createOperatorSubscriber(n,(function(t){++r<=e&&(n.next(t),e<=r&&n.complete())})))}))};var TS={};Object.defineProperty(TS,"__esModule",{value:!0}),TS.ignoreElements=void 0;var MS=Bh,jS=Gh,FS=vh;TS.ignoreElements=function(){return MS.operate((function(e,t){e.subscribe(jS.createOperatorSubscriber(t,FS.noop))}))};var LS={};Object.defineProperty(LS,"__esModule",{value:!0}),LS.mapTo=void 0;var DS=Iy;LS.mapTo=function(e){return DS.map((function(){return e}))},Object.defineProperty(OS,"__esModule",{value:!0}),OS.delayWhen=void 0;var qS=hv,BS=RS,US=TS,zS=LS,GS=gv,HS=Mm;OS.delayWhen=function e(t,n){return n?function(r){return qS.concat(n.pipe(BS.take(1),US.ignoreElements()),r.pipe(e(t)))}:GS.mergeMap((function(e,n){return HS.innerFrom(t(e,n)).pipe(BS.take(1),zS.mapTo(e))}))},Object.defineProperty(CS,"__esModule",{value:!0}),CS.delay=void 0;var WS=rm,VS=OS,$S=__;CS.delay=function(e,t){void 0===t&&(t=WS.asyncScheduler);var n=$S.timer(e,t);return VS.delayWhen((function(){return n}))};var JS={};Object.defineProperty(JS,"__esModule",{value:!0}),JS.dematerialize=void 0;var KS=Sm,YS=Bh,ZS=Gh;JS.dematerialize=function(){return YS.operate((function(e,t){e.subscribe(ZS.createOperatorSubscriber(t,(function(e){return KS.observeNotification(e,t)})))}))};var XS={};Object.defineProperty(XS,"__esModule",{value:!0}),XS.distinct=void 0;var QS=Bh,ex=Gh,tx=vh,nx=Mm;XS.distinct=function(e,t){return QS.operate((function(n,r){var o=new Set;n.subscribe(ex.createOperatorSubscriber(r,(function(t){var n=e?e(t):t;o.has(n)||(o.add(n),r.next(t))}))),t&&nx.innerFrom(t).subscribe(ex.createOperatorSubscriber(r,(function(){return o.clear()}),tx.noop))}))};var rx={};Object.defineProperty(rx,"__esModule",{value:!0}),rx.distinctUntilChanged=void 0;var ox=Ah,ix=Bh,ax=Gh;function sx(e,t){return e===t}rx.distinctUntilChanged=function(e,t){return void 0===t&&(t=ox.identity),e=null!=e?e:sx,ix.operate((function(n,r){var o,i=!0;n.subscribe(ax.createOperatorSubscriber(r,(function(n){var a=t(n);!i&&e(o,a)||(i=!1,o=a,r.next(n))})))}))};var ux={};Object.defineProperty(ux,"__esModule",{value:!0}),ux.distinctUntilKeyChanged=void 0;var cx=rx;ux.distinctUntilKeyChanged=function(e,t){return cx.distinctUntilChanged((function(n,r){return t?t(n[e],r[e]):n[e]===r[e]}))};var lx={},fx={};Object.defineProperty(fx,"__esModule",{value:!0}),fx.throwIfEmpty=void 0;var dx=vy,hx=Bh,px=Gh;function mx(){return new dx.EmptyError}fx.throwIfEmpty=function(e){return void 0===e&&(e=mx),hx.operate((function(t,n){var r=!1;t.subscribe(px.createOperatorSubscriber(n,(function(e){r=!0,n.next(e)}),(function(){return r?n.complete():n.error(e())})))}))},Object.defineProperty(lx,"__esModule",{value:!0}),lx.elementAt=void 0;var gx=xy,yx=W_,vx=fx,_x=kS,bx=RS;lx.elementAt=function(e,t){if(e<0)throw new gx.ArgumentOutOfRangeError;var n=arguments.length>=2;return function(r){return r.pipe(yx.filter((function(t,n){return n===e})),bx.take(1),n?_x.defaultIfEmpty(t):vx.throwIfEmpty((function(){return new gx.ArgumentOutOfRangeError})))}};var wx={},Sx=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},xx=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(wx,"__esModule",{value:!0}),wx.endWith=void 0;var kx=hv,Ex=km;wx.endWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(t){return kx.concat(t,Ex.of.apply(void 0,xx([],Sx(e))))}};var Ax={};Object.defineProperty(Ax,"__esModule",{value:!0}),Ax.every=void 0;var Cx=Bh,Ox=Gh;Ax.every=function(e,t){return Cx.operate((function(n,r){var o=0;n.subscribe(Ox.createOperatorSubscriber(r,(function(i){e.call(t,i,o++,n)||(r.next(!1),r.complete())}),(function(){r.next(!0),r.complete()})))}))};var Rx={},Nx={},Ix={};Object.defineProperty(Ix,"__esModule",{value:!0}),Ix.exhaustMap=void 0;var Px=Iy,Tx=Mm,Mx=Bh,jx=Gh;Ix.exhaustMap=function e(t,n){return n?function(r){return r.pipe(e((function(e,r){return Tx.innerFrom(t(e,r)).pipe(Px.map((function(t,o){return n(e,t,r,o)})))})))}:Mx.operate((function(e,n){var r=0,o=null,i=!1;e.subscribe(jx.createOperatorSubscriber(n,(function(e){o||(o=jx.createOperatorSubscriber(n,void 0,(function(){o=null,i&&n.complete()})),Tx.innerFrom(t(e,r++)).subscribe(o))}),(function(){i=!0,!o&&n.complete()})))}))},Object.defineProperty(Nx,"__esModule",{value:!0}),Nx.exhaustAll=void 0;var Fx=Ix,Lx=Ah;Nx.exhaustAll=function(){return Fx.exhaustMap(Lx.identity)},Object.defineProperty(Rx,"__esModule",{value:!0}),Rx.exhaust=void 0,Rx.exhaust=Nx.exhaustAll;var Dx={};Object.defineProperty(Dx,"__esModule",{value:!0}),Dx.expand=void 0;var qx=Bh,Bx=yv;Dx.expand=function(e,t,n){return void 0===t&&(t=Infinity),t=(t||0)<1?Infinity:t,qx.operate((function(r,o){return Bx.mergeInternals(r,o,e,t,void 0,!0,n)}))};var Ux={};Object.defineProperty(Ux,"__esModule",{value:!0}),Ux.finalize=void 0;var zx=Bh;Ux.finalize=function(e){return zx.operate((function(t,n){try{t.subscribe(n)}finally{n.add(e)}}))};var Gx={};Object.defineProperty(Gx,"__esModule",{value:!0}),Gx.createFind=Gx.find=void 0;var Hx=Bh,Wx=Gh;function Vx(e,t,n){var r="index"===n;return function(n,o){var i=0;n.subscribe(Wx.createOperatorSubscriber(o,(function(a){var s=i++;e.call(t,a,s,n)&&(o.next(r?s:a),o.complete())}),(function(){o.next(r?-1:void 0),o.complete()})))}}Gx.find=function(e,t){return Hx.operate(Vx(e,t,"value"))},Gx.createFind=Vx;var $x={};Object.defineProperty($x,"__esModule",{value:!0}),$x.findIndex=void 0;var Jx=Bh,Kx=Gx;$x.findIndex=function(e,t){return Jx.operate(Kx.createFind(e,t,"index"))};var Yx={};Object.defineProperty(Yx,"__esModule",{value:!0}),Yx.first=void 0;var Zx=vy,Xx=W_,Qx=RS,ek=kS,tk=fx,nk=Ah;Yx.first=function(e,t){var n=arguments.length>=2;return function(r){return r.pipe(e?Xx.filter((function(t,n){return e(t,n,r)})):nk.identity,Qx.take(1),n?ek.defaultIfEmpty(t):tk.throwIfEmpty((function(){return new Zx.EmptyError})))}};var rk={};Object.defineProperty(rk,"__esModule",{value:!0}),rk.groupBy=void 0;var ok=Xd,ik=Mm,ak=cp,sk=Bh,uk=Gh;rk.groupBy=function(e,t,n,r){return sk.operate((function(o,i){var a;t&&"function"!=typeof t?(n=t.duration,a=t.element,r=t.connector):a=t;var s=new Map,u=function(e){s.forEach(e),e(i)},c=function(e){return u((function(t){return t.error(e)}))},l=0,f=!1,d=new uk.OperatorSubscriber(i,(function(t){try{var o=e(t),u=s.get(o);if(!u){s.set(o,u=r?r():new ak.Subject);var h=(m=o,g=u,(y=new ok.Observable((function(e){l++;var t=g.subscribe(e);return function(){t.unsubscribe(),0==--l&&f&&d.unsubscribe()}}))).key=m,y);if(i.next(h),n){var p=uk.createOperatorSubscriber(u,(function(){u.complete(),null==p||p.unsubscribe()}),void 0,void 0,(function(){return s.delete(o)}));d.add(ik.innerFrom(n(h)).subscribe(p))}}u.next(a?a(t):t)}catch(e){c(e)}var m,g,y}),(function(){return u((function(e){return e.complete()}))}),c,(function(){return s.clear()}),(function(){return f=!0,0===l}));o.subscribe(d)}))};var ck={};Object.defineProperty(ck,"__esModule",{value:!0}),ck.isEmpty=void 0;var lk=Bh,fk=Gh;ck.isEmpty=function(){return lk.operate((function(e,t){e.subscribe(fk.createOperatorSubscriber(t,(function(){t.next(!1),t.complete()}),(function(){t.next(!0),t.complete()})))}))};var dk={},hk={},pk=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(hk,"__esModule",{value:!0}),hk.takeLast=void 0;var mk=xm,gk=Bh,yk=Gh;hk.takeLast=function(e){return e<=0?function(){return mk.EMPTY}:gk.operate((function(t,n){var r=[];t.subscribe(yk.createOperatorSubscriber(n,(function(t){r.push(t),e<r.length&&r.shift()}),(function(){var e,t;try{for(var o=pk(r),i=o.next();!i.done;i=o.next())n.next(i.value)}catch(t){e={error:t}}finally{try{i&&!i.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}n.complete()}),void 0,(function(){r=null})))}))},Object.defineProperty(dk,"__esModule",{value:!0}),dk.last=void 0;var vk=vy,_k=W_,bk=hk,wk=fx,Sk=kS,xk=Ah;dk.last=function(e,t){var n=arguments.length>=2;return function(r){return r.pipe(e?_k.filter((function(t,n){return e(t,n,r)})):xk.identity,bk.takeLast(1),n?Sk.defaultIfEmpty(t):wk.throwIfEmpty((function(){return new vk.EmptyError})))}};var kk={};Object.defineProperty(kk,"__esModule",{value:!0}),kk.materialize=void 0;var Ek=Sm,Ak=Bh,Ck=Gh;kk.materialize=function(){return Ak.operate((function(e,t){e.subscribe(Ck.createOperatorSubscriber(t,(function(e){t.next(Ek.Notification.createNext(e))}),(function(){t.next(Ek.Notification.createComplete()),t.complete()}),(function(e){t.next(Ek.Notification.createError(e)),t.complete()})))}))};var Ok={};Object.defineProperty(Ok,"__esModule",{value:!0}),Ok.max=void 0;var Rk=pw,Nk=eh;Ok.max=function(e){return Rk.reduce(Nk.isFunction(e)?function(t,n){return e(t,n)>0?t:n}:function(e,t){return e>t?e:t})};var Ik={};Object.defineProperty(Ik,"__esModule",{value:!0}),Ik.flatMap=void 0,Ik.flatMap=gv.mergeMap;var Pk={};Object.defineProperty(Pk,"__esModule",{value:!0}),Pk.mergeMapTo=void 0;var Tk=gv,Mk=eh;Pk.mergeMapTo=function(e,t,n){return void 0===n&&(n=Infinity),Mk.isFunction(t)?Tk.mergeMap((function(){return e}),t,n):("number"==typeof t&&(n=t),Tk.mergeMap((function(){return e}),n))};var jk={};Object.defineProperty(jk,"__esModule",{value:!0}),jk.mergeScan=void 0;var Fk=Bh,Lk=yv;jk.mergeScan=function(e,t,n){return void 0===n&&(n=Infinity),Fk.operate((function(r,o){var i=t;return Lk.mergeInternals(r,o,(function(t,n){return e(i,t,n)}),n,(function(e){i=e}),!1,void 0,(function(){return i=null}))}))};var Dk={},qk={},Bk=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},Uk=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(qk,"__esModule",{value:!0}),qk.merge=void 0;var zk=Bh,Gk=M_,Hk=mv,Wk=Em,Vk=Im;qk.merge=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=Wk.popScheduler(e),r=Wk.popNumber(e,Infinity);return e=Gk.argsOrArgArray(e),zk.operate((function(t,o){Hk.mergeAll(r)(Vk.from(Uk([t],Bk(e)),n)).subscribe(o)}))};var $k=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},Jk=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(Dk,"__esModule",{value:!0}),Dk.mergeWith=void 0;var Kk=qk;Dk.mergeWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Kk.merge.apply(void 0,Jk([],$k(e)))};var Yk={};Object.defineProperty(Yk,"__esModule",{value:!0}),Yk.min=void 0;var Zk=pw,Xk=eh;Yk.min=function(e){return Zk.reduce(Xk.isFunction(e)?function(t,n){return e(t,n)<0?t:n}:function(e,t){return e<t?e:t})};var Qk={};Object.defineProperty(Qk,"__esModule",{value:!0}),Qk.multicast=void 0;var eE=Dh,tE=eh,nE=iS;Qk.multicast=function(e,t){var n=tE.isFunction(e)?e:function(){return e};return tE.isFunction(t)?nE.connect(t,{connector:n}):function(e){return new eE.ConnectableObservable(e,n)}};var rE={},oE=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},iE=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(rE,"__esModule",{value:!0}),rE.onErrorResumeNext=rE.onErrorResumeNextWith=void 0;var aE=M_,sE=T_;function uE(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=aE.argsOrArgArray(e);return function(e){return sE.onErrorResumeNext.apply(void 0,iE([e],oE(n)))}}rE.onErrorResumeNextWith=uE,rE.onErrorResumeNext=uE;var cE={};Object.defineProperty(cE,"__esModule",{value:!0}),cE.pairwise=void 0;var lE=Bh,fE=Gh;cE.pairwise=function(){return lE.operate((function(e,t){var n,r=!1;e.subscribe(fE.createOperatorSubscriber(t,(function(e){var o=n;n=e,r&&t.next([o,e]),r=!0})))}))};var dE={};Object.defineProperty(dE,"__esModule",{value:!0}),dE.pluck=void 0;var hE=Iy;dE.pluck=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=e.length;if(0===n)throw new Error("list of properties cannot be empty.");return hE.map((function(t){for(var r=t,o=0;o<n;o++){var i=null==r?void 0:r[e[o]];if(void 0===i)return;r=i}return r}))};var pE={};Object.defineProperty(pE,"__esModule",{value:!0}),pE.publish=void 0;var mE=cp,gE=Qk,yE=iS;pE.publish=function(e){return e?function(t){return yE.connect(e)(t)}:function(e){return gE.multicast(new mE.Subject)(e)}};var vE={};Object.defineProperty(vE,"__esModule",{value:!0}),vE.publishBehavior=void 0;var _E=bp,bE=Dh;vE.publishBehavior=function(e){return function(t){var n=new _E.BehaviorSubject(e);return new bE.ConnectableObservable(t,(function(){return n}))}};var wE={};Object.defineProperty(wE,"__esModule",{value:!0}),wE.publishLast=void 0;var SE=Op,xE=Dh;wE.publishLast=function(){return function(e){var t=new SE.AsyncSubject;return new xE.ConnectableObservable(e,(function(){return t}))}};var kE={};Object.defineProperty(kE,"__esModule",{value:!0}),kE.publishReplay=void 0;var EE=xp,AE=Qk,CE=eh;kE.publishReplay=function(e,t,n,r){n&&!CE.isFunction(n)&&(r=n);var o=CE.isFunction(n)?n:void 0;return function(n){return AE.multicast(new EE.ReplaySubject(e,t,r),o)(n)}};var OE={},RE=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},NE=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(OE,"__esModule",{value:!0}),OE.raceWith=void 0;var IE=Z_,PE=Bh,TE=Ah;OE.raceWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return e.length?PE.operate((function(t,n){IE.raceInit(NE([t],RE(e)))(n)})):TE.identity};var ME={};Object.defineProperty(ME,"__esModule",{value:!0}),ME.repeat=void 0;var jE=xm,FE=Bh,LE=Gh,DE=Mm,qE=__;ME.repeat=function(e){var t,n,r=Infinity;return null!=e&&("object"===Z(e)?(r=void 0===(t=e.count)?Infinity:t,n=e.delay):r=e),r<=0?function(){return jE.EMPTY}:FE.operate((function(e,t){var o,i=0,a=function(){if(null==o||o.unsubscribe(),o=null,null!=n){var e="number"==typeof n?qE.timer(n):DE.innerFrom(n(i)),r=LE.createOperatorSubscriber(t,(function(){r.unsubscribe(),s()}));e.subscribe(r)}else s()},s=function(){var n=!1;o=e.subscribe(LE.createOperatorSubscriber(t,void 0,(function(){++i<r?o?a():n=!0:t.complete()}))),n&&a()};s()}))};var BE={};Object.defineProperty(BE,"__esModule",{value:!0}),BE.repeatWhen=void 0;var UE=Mm,zE=cp,GE=Bh,HE=Gh;BE.repeatWhen=function(e){return GE.operate((function(t,n){var r,o,i=!1,a=!1,s=!1,u=function(){return s&&a&&(n.complete(),!0)},c=function(){return o||(o=new zE.Subject,UE.innerFrom(e(o)).subscribe(HE.createOperatorSubscriber(n,(function(){r?l():i=!0}),(function(){a=!0,u()})))),o},l=function e(){s=!1,r=t.subscribe(HE.createOperatorSubscriber(n,void 0,(function(){s=!0,!u()&&c().next()}))),i&&(r.unsubscribe(),r=null,i=!1,e())};l()}))};var WE={};Object.defineProperty(WE,"__esModule",{value:!0}),WE.retry=void 0;var VE=Bh,$E=Gh,JE=Ah,KE=__,YE=Mm;WE.retry=function(e){var t;void 0===e&&(e=Infinity);var n=(t=e&&"object"===Z(e)?e:{count:e}).count,r=void 0===n?Infinity:n,o=t.delay,i=t.resetOnSuccess,a=void 0!==i&&i;return r<=0?JE.identity:VE.operate((function(e,t){var n,i=0;!function s(){var u=!1;n=e.subscribe($E.createOperatorSubscriber(t,(function(e){a&&(i=0),t.next(e)}),void 0,(function(e){if(i++<r){var a=function(){n?(n.unsubscribe(),n=null,s()):u=!0};if(null!=o){var c="number"==typeof o?KE.timer(o):YE.innerFrom(o(e,i)),l=$E.createOperatorSubscriber(t,(function(){l.unsubscribe(),a()}),(function(){t.complete()}));c.subscribe(l)}else a()}else t.error(e)}))),u&&(n.unsubscribe(),n=null,s())}()}))};var ZE={};Object.defineProperty(ZE,"__esModule",{value:!0}),ZE.retryWhen=void 0;var XE=Mm,QE=cp,eA=Bh,tA=Gh;ZE.retryWhen=function(e){return eA.operate((function(t,n){var r,o,i=!1;!function a(){r=t.subscribe(tA.createOperatorSubscriber(n,void 0,void 0,(function(t){o||(o=new QE.Subject,XE.innerFrom(e(o)).subscribe(tA.createOperatorSubscriber(n,(function(){return r?a():i=!0})))),o&&o.next(t)}))),i&&(r.unsubscribe(),r=null,i=!1,a())}()}))};var nA={};Object.defineProperty(nA,"__esModule",{value:!0}),nA.sample=void 0;var rA=Mm,oA=Bh,iA=vh,aA=Gh;nA.sample=function(e){return oA.operate((function(t,n){var r=!1,o=null;t.subscribe(aA.createOperatorSubscriber(n,(function(e){r=!0,o=e}))),rA.innerFrom(e).subscribe(aA.createOperatorSubscriber(n,(function(){if(r){r=!1;var e=o;o=null,n.next(e)}}),iA.noop))}))};var sA={};Object.defineProperty(sA,"__esModule",{value:!0}),sA.sampleTime=void 0;var uA=rm,cA=nA,lA=v_;sA.sampleTime=function(e,t){return void 0===t&&(t=uA.asyncScheduler),cA.sample(lA.interval(e,t))};var fA={};Object.defineProperty(fA,"__esModule",{value:!0}),fA.scan=void 0;var dA=Bh,hA=mw;fA.scan=function(e,t){return dA.operate(hA.scanInternals(e,t,arguments.length>=2,!0))};var pA={};Object.defineProperty(pA,"__esModule",{value:!0}),pA.sequenceEqual=void 0;var mA=Bh,gA=Gh,yA=Mm;pA.sequenceEqual=function(e,t){return void 0===t&&(t=function(e,t){return e===t}),mA.operate((function(n,r){var o={buffer:[],complete:!1},i={buffer:[],complete:!1},a=function(e){r.next(e),r.complete()},s=function(e,n){var o=gA.createOperatorSubscriber(r,(function(r){var o=n.buffer;0===o.length?n.complete?a(!1):e.buffer.push(r):!t(r,o.shift())&&a(!1)}),(function(){e.complete=!0,n.complete&&a(0===n.buffer.length),null==o||o.unsubscribe()}));return o};n.subscribe(s(o,i)),yA.innerFrom(e).subscribe(s(i,o))}))};var vA={},_A=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},bA=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(vA,"__esModule",{value:!0}),vA.share=void 0;var wA=Mm,SA=cp,xA=Qd,kA=Bh;function EA(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];if(!0!==t){if(!1!==t){var o=new xA.SafeSubscriber({next:function(){o.unsubscribe(),e()}});return wA.innerFrom(t.apply(void 0,bA([],_A(n)))).subscribe(o)}}else e()}vA.share=function(e){void 0===e&&(e={});var t=e.connector,n=void 0===t?function(){return new SA.Subject}:t,r=e.resetOnError,o=void 0===r||r,i=e.resetOnComplete,a=void 0===i||i,s=e.resetOnRefCountZero,u=void 0===s||s;return function(e){var t,r,i,s=0,c=!1,l=!1,f=function(){null==r||r.unsubscribe(),r=void 0},d=function(){f(),t=i=void 0,c=l=!1},h=function(){var e=t;d(),null==e||e.unsubscribe()};return kA.operate((function(e,p){s++,l||c||f();var m=i=null!=i?i:n();p.add((function(){0!=--s||l||c||(r=EA(h,u))})),m.subscribe(p),!t&&s>0&&(t=new xA.SafeSubscriber({next:function(e){return m.next(e)},error:function(e){l=!0,f(),r=EA(d,o,e),m.error(e)},complete:function(){c=!0,f(),r=EA(d,a),m.complete()}}),wA.innerFrom(e).subscribe(t))}))(e)}};var AA={};Object.defineProperty(AA,"__esModule",{value:!0}),AA.shareReplay=void 0;var CA=xp,OA=vA;AA.shareReplay=function(e,t,n){var r,o,i,a,s=!1;return e&&"object"===Z(e)?(a=void 0===(r=e.bufferSize)?Infinity:r,t=void 0===(o=e.windowTime)?Infinity:o,s=void 0!==(i=e.refCount)&&i,n=e.scheduler):a=null!=e?e:Infinity,OA.share({connector:function(){return new CA.ReplaySubject(a,t,n)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:s})};var RA={};Object.defineProperty(RA,"__esModule",{value:!0}),RA.single=void 0;var NA=vy,IA=Ey,PA=ky,TA=Bh,MA=Gh;RA.single=function(e){return TA.operate((function(t,n){var r,o=!1,i=!1,a=0;t.subscribe(MA.createOperatorSubscriber(n,(function(s){i=!0,e&&!e(s,a++,t)||(o&&n.error(new IA.SequenceError("Too many matching values")),o=!0,r=s)}),(function(){o?(n.next(r),n.complete()):n.error(i?new PA.NotFoundError("No matching values"):new NA.EmptyError)})))}))};var jA={};Object.defineProperty(jA,"__esModule",{value:!0}),jA.skip=void 0;var FA=W_;jA.skip=function(e){return FA.filter((function(t,n){return e<=n}))};var LA={};Object.defineProperty(LA,"__esModule",{value:!0}),LA.skipLast=void 0;var DA=Ah,qA=Bh,BA=Gh;LA.skipLast=function(e){return e<=0?DA.identity:qA.operate((function(t,n){var r=new Array(e),o=0;return t.subscribe(BA.createOperatorSubscriber(n,(function(t){var i=o++;if(i<e)r[i]=t;else{var a=i%e,s=r[a];r[a]=t,n.next(s)}}))),function(){r=null}}))};var UA={};Object.defineProperty(UA,"__esModule",{value:!0}),UA.skipUntil=void 0;var zA=Bh,GA=Gh,HA=Mm,WA=vh;UA.skipUntil=function(e){return zA.operate((function(t,n){var r=!1,o=GA.createOperatorSubscriber(n,(function(){null==o||o.unsubscribe(),r=!0}),WA.noop);HA.innerFrom(e).subscribe(o),t.subscribe(GA.createOperatorSubscriber(n,(function(e){return r&&n.next(e)})))}))};var VA={};Object.defineProperty(VA,"__esModule",{value:!0}),VA.skipWhile=void 0;var $A=Bh,JA=Gh;VA.skipWhile=function(e){return $A.operate((function(t,n){var r=!1,o=0;t.subscribe(JA.createOperatorSubscriber(n,(function(t){return(r||(r=!e(t,o++)))&&n.next(t)})))}))};var KA={};Object.defineProperty(KA,"__esModule",{value:!0}),KA.startWith=void 0;var YA=hv,ZA=Em,XA=Bh;KA.startWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=ZA.popScheduler(e);return XA.operate((function(t,r){(n?YA.concat(e,t,n):YA.concat(e,t)).subscribe(r)}))};var QA={},eC={};Object.defineProperty(eC,"__esModule",{value:!0}),eC.switchMap=void 0;var tC=Mm,nC=Bh,rC=Gh;eC.switchMap=function(e,t){return nC.operate((function(n,r){var o=null,i=0,a=!1,s=function(){return a&&!o&&r.complete()};n.subscribe(rC.createOperatorSubscriber(r,(function(n){null==o||o.unsubscribe();var a=0,u=i++;tC.innerFrom(e(n,u)).subscribe(o=rC.createOperatorSubscriber(r,(function(e){return r.next(t?t(n,e,u,a++):e)}),(function(){o=null,s()})))}),(function(){a=!0,s()})))}))},Object.defineProperty(QA,"__esModule",{value:!0}),QA.switchAll=void 0;var oC=eC,iC=Ah;QA.switchAll=function(){return oC.switchMap(iC.identity)};var aC={};Object.defineProperty(aC,"__esModule",{value:!0}),aC.switchMapTo=void 0;var sC=eC,uC=eh;aC.switchMapTo=function(e,t){return uC.isFunction(t)?sC.switchMap((function(){return e}),t):sC.switchMap((function(){return e}))};var cC={};Object.defineProperty(cC,"__esModule",{value:!0}),cC.switchScan=void 0;var lC=eC,fC=Bh;cC.switchScan=function(e,t){return fC.operate((function(n,r){var o=t;return lC.switchMap((function(t,n){return e(o,t,n)}),(function(e,t){return o=t,t}))(n).subscribe(r),function(){o=null}}))};var dC={};Object.defineProperty(dC,"__esModule",{value:!0}),dC.takeUntil=void 0;var hC=Bh,pC=Gh,mC=Mm,gC=vh;dC.takeUntil=function(e){return hC.operate((function(t,n){mC.innerFrom(e).subscribe(pC.createOperatorSubscriber(n,(function(){return n.complete()}),gC.noop)),!n.closed&&t.subscribe(n)}))};var yC={};Object.defineProperty(yC,"__esModule",{value:!0}),yC.takeWhile=void 0;var vC=Bh,_C=Gh;yC.takeWhile=function(e,t){return void 0===t&&(t=!1),vC.operate((function(n,r){var o=0;n.subscribe(_C.createOperatorSubscriber(r,(function(n){var i=e(n,o++);(i||t)&&r.next(n),!i&&r.complete()})))}))};var bC={};Object.defineProperty(bC,"__esModule",{value:!0}),bC.tap=void 0;var wC=eh,SC=Bh,xC=Gh,kC=Ah;bC.tap=function(e,t,n){var r=wC.isFunction(e)||t||n?{next:e,error:t,complete:n}:e;return r?SC.operate((function(e,t){var n;null===(n=r.subscribe)||void 0===n||n.call(r);var o=!0;e.subscribe(xC.createOperatorSubscriber(t,(function(e){var n;null===(n=r.next)||void 0===n||n.call(r,e),t.next(e)}),(function(){var e;o=!1,null===(e=r.complete)||void 0===e||e.call(r),t.complete()}),(function(e){var n;o=!1,null===(n=r.error)||void 0===n||n.call(r,e),t.error(e)}),(function(){var e,t;o&&(null===(e=r.unsubscribe)||void 0===e||e.call(r)),null===(t=r.finalize)||void 0===t||t.call(r)})))})):kC.identity};var EC={};Object.defineProperty(EC,"__esModule",{value:!0}),EC.throttle=void 0;var AC=Bh,CC=Gh,OC=Mm;EC.throttle=function(e,t){return AC.operate((function(n,r){var o=null!=t?t:{},i=o.leading,a=void 0===i||i,s=o.trailing,u=void 0!==s&&s,c=!1,l=null,f=null,d=!1,h=function(){null==f||f.unsubscribe(),f=null,u&&(g(),d&&r.complete())},p=function(){f=null,d&&r.complete()},m=function(t){return f=OC.innerFrom(e(t)).subscribe(CC.createOperatorSubscriber(r,h,p))},g=function(){if(c){c=!1;var e=l;l=null,r.next(e),!d&&m(e)}};n.subscribe(CC.createOperatorSubscriber(r,(function(e){c=!0,l=e,(!f||f.closed)&&(a?g():m(e))}),(function(){d=!0,(!(u&&c&&f)||f.closed)&&r.complete()})))}))};var RC={};Object.defineProperty(RC,"__esModule",{value:!0}),RC.throttleTime=void 0;var NC=rm,IC=EC,PC=__;RC.throttleTime=function(e,t,n){void 0===t&&(t=NC.asyncScheduler);var r=PC.timer(e,t);return IC.throttle((function(){return r}),n)};var TC={};Object.defineProperty(TC,"__esModule",{value:!0}),TC.TimeInterval=TC.timeInterval=void 0;var MC=rm,jC=Bh,FC=Gh;TC.timeInterval=function(e){return void 0===e&&(e=MC.asyncScheduler),jC.operate((function(t,n){var r=e.now();t.subscribe(FC.createOperatorSubscriber(n,(function(t){var o=e.now(),i=o-r;r=o,n.next(new LC(t,i))})))}))};var LC=function(){return function(e,t){this.value=e,this.interval=t}}();TC.TimeInterval=LC;var DC={};Object.defineProperty(DC,"__esModule",{value:!0}),DC.timeoutWith=void 0;var qC=rm,BC=Cy,UC=Ay;DC.timeoutWith=function(e,t,n){var r,o,i;if(n=null!=n?n:qC.async,BC.isValidDate(e)?r=e:"number"==typeof e&&(o=e),!t)throw new TypeError("No observable provided to switch to");if(i=function(){return t},null==r&&null==o)throw new TypeError("No timeout provided.");return UC.timeout({first:r,each:o,scheduler:n,with:i})};var zC={};Object.defineProperty(zC,"__esModule",{value:!0}),zC.timestamp=void 0;var GC=kp,HC=Iy;zC.timestamp=function(e){return void 0===e&&(e=GC.dateTimestampProvider),HC.map((function(t){return{value:t,timestamp:e.now()}}))};var WC={};Object.defineProperty(WC,"__esModule",{value:!0}),WC.window=void 0;var VC=cp,$C=Bh,JC=Gh,KC=vh,YC=Mm;WC.window=function(e){return $C.operate((function(t,n){var r=new VC.Subject;n.next(r.asObservable());var o=function(e){r.error(e),n.error(e)};return t.subscribe(JC.createOperatorSubscriber(n,(function(e){return null==r?void 0:r.next(e)}),(function(){r.complete(),n.complete()}),o)),YC.innerFrom(e).subscribe(JC.createOperatorSubscriber(n,(function(){r.complete(),n.next(r=new VC.Subject)}),KC.noop,o)),function(){null==r||r.unsubscribe(),r=null}}))};var ZC={},XC=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(ZC,"__esModule",{value:!0}),ZC.windowCount=void 0;var QC=cp,eO=Bh,tO=Gh;ZC.windowCount=function(e,t){void 0===t&&(t=0);var n=t>0?t:e;return eO.operate((function(t,r){var o=[new QC.Subject],i=0;r.next(o[0].asObservable()),t.subscribe(tO.createOperatorSubscriber(r,(function(t){var a,s;try{for(var u=XC(o),c=u.next();!c.done;c=u.next())c.value.next(t)}catch(e){a={error:e}}finally{try{c&&!c.done&&(s=u.return)&&s.call(u)}finally{if(a)throw a.error}}var l=i-e+1;if(l>=0&&l%n==0&&o.shift().complete(),++i%n==0){var f=new QC.Subject;o.push(f),r.next(f.asObservable())}}),(function(){for(;o.length>0;)o.shift().complete();r.complete()}),(function(e){for(;o.length>0;)o.shift().error(e);r.error(e)}),(function(){o=null})))}))};var nO={};Object.defineProperty(nO,"__esModule",{value:!0}),nO.windowTime=void 0;var rO=cp,oO=rm,iO=th,aO=Bh,sO=Gh,uO=oh,cO=Em,lO=Sg;nO.windowTime=function(e){for(var t,n,r=[],o=1;o<arguments.length;o++)r[o-1]=arguments[o];var i=null!==(t=cO.popScheduler(r))&&void 0!==t?t:oO.asyncScheduler,a=null!==(n=r[0])&&void 0!==n?n:null,s=r[1]||Infinity;return aO.operate((function(t,n){var r=[],o=!1,u=function(e){var t=e.subs;e.window.complete(),t.unsubscribe(),uO.arrRemove(r,e),o&&c()},c=function(){if(r){var t=new iO.Subscription;n.add(t);var o=new rO.Subject,a={window:o,subs:t,seen:0};r.push(a),n.next(o.asObservable()),lO.executeSchedule(t,i,(function(){return u(a)}),e)}};null!==a&&a>=0?lO.executeSchedule(n,i,c,a,!0):o=!0,c();var l=function(e){return r.slice().forEach(e)},f=function(e){l((function(t){return e(t.window)})),e(n),n.unsubscribe()};return t.subscribe(sO.createOperatorSubscriber(n,(function(e){l((function(t){t.window.next(e),s<=++t.seen&&u(t)}))}),(function(){return f((function(e){return e.complete()}))}),(function(e){return f((function(t){return t.error(e)}))}))),function(){r=null}}))};var fO={},dO=q&&q.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(fO,"__esModule",{value:!0}),fO.windowToggle=void 0;var hO=cp,pO=th,mO=Bh,gO=Mm,yO=Gh,vO=vh,_O=oh;fO.windowToggle=function(e,t){return mO.operate((function(n,r){var o=[],i=function(e){for(;0<o.length;)o.shift().error(e);r.error(e)};gO.innerFrom(e).subscribe(yO.createOperatorSubscriber(r,(function(e){var n=new hO.Subject;o.push(n);var a,s=new pO.Subscription;try{a=gO.innerFrom(t(e))}catch(e){return void i(e)}r.next(n.asObservable()),s.add(a.subscribe(yO.createOperatorSubscriber(r,(function(){_O.arrRemove(o,n),n.complete(),s.unsubscribe()}),vO.noop,i)))}),vO.noop)),n.subscribe(yO.createOperatorSubscriber(r,(function(e){var t,n,r=o.slice();try{for(var i=dO(r),a=i.next();!a.done;a=i.next())a.value.next(e)}catch(e){t={error:e}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}}),(function(){for(;0<o.length;)o.shift().complete();r.complete()}),i,(function(){for(;0<o.length;)o.shift().unsubscribe()})))}))};var bO={};Object.defineProperty(bO,"__esModule",{value:!0}),bO.windowWhen=void 0;var wO=cp,SO=Bh,xO=Gh,kO=Mm;bO.windowWhen=function(e){return SO.operate((function(t,n){var r,o,i=function(e){r.error(e),n.error(e)};!function t(){var a;null==o||o.unsubscribe(),null==r||r.complete(),r=new wO.Subject,n.next(r.asObservable());try{a=kO.innerFrom(e())}catch(e){return void i(e)}a.subscribe(o=xO.createOperatorSubscriber(n,t,t,i))}(),t.subscribe(xO.createOperatorSubscriber(n,(function(e){return r.next(e)}),(function(){r.complete(),n.complete()}),i,(function(){null==o||o.unsubscribe(),r=null})))}))};var EO={},AO=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},CO=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(EO,"__esModule",{value:!0}),EO.withLatestFrom=void 0;var OO=Bh,RO=Gh,NO=Mm,IO=Ah,PO=vh,TO=Em;EO.withLatestFrom=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=TO.popResultSelector(e);return OO.operate((function(t,r){for(var o=e.length,i=new Array(o),a=e.map((function(){return!1})),s=!1,u=function(t){NO.innerFrom(e[t]).subscribe(RO.createOperatorSubscriber(r,(function(e){i[t]=e,s||a[t]||(a[t]=!0,(s=a.every(IO.identity))&&(a=null))}),PO.noop))},c=0;c<o;c++)u(c);t.subscribe(RO.createOperatorSubscriber(r,(function(e){if(s){var t=CO([e],AO(i));r.next(n?n.apply(void 0,CO([],AO(t))):t)}})))}))};var MO={};Object.defineProperty(MO,"__esModule",{value:!0}),MO.zipAll=void 0;var jO=lb,FO=dw;MO.zipAll=function(e){return FO.joinAllInternals(jO.zip,e)};var LO={},DO={},qO=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},BO=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(DO,"__esModule",{value:!0}),DO.zip=void 0;var UO=lb,zO=Bh;DO.zip=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return zO.operate((function(t,n){UO.zip.apply(void 0,BO([t],qO(e))).subscribe(n)}))};var GO=q&&q.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},HO=q&&q.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e};Object.defineProperty(LO,"__esModule",{value:!0}),LO.zipWith=void 0;var WO=DO;LO.zipWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return WO.zip.apply(void 0,HO([],GO(e)))},function(e){var t=q&&q.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),n=q&&q.__exportStar||function(e,n){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(n,r)||t(n,e,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.interval=e.iif=e.generate=e.fromEventPattern=e.fromEvent=e.from=e.forkJoin=e.empty=e.defer=e.connectable=e.concat=e.combineLatest=e.bindNodeCallback=e.bindCallback=e.UnsubscriptionError=e.TimeoutError=e.SequenceError=e.ObjectUnsubscribedError=e.NotFoundError=e.EmptyError=e.ArgumentOutOfRangeError=e.firstValueFrom=e.lastValueFrom=e.isObservable=e.identity=e.noop=e.pipe=e.NotificationKind=e.Notification=e.Subscriber=e.Subscription=e.Scheduler=e.VirtualAction=e.VirtualTimeScheduler=e.animationFrameScheduler=e.animationFrame=e.queueScheduler=e.queue=e.asyncScheduler=e.async=e.asapScheduler=e.asap=e.AsyncSubject=e.ReplaySubject=e.BehaviorSubject=e.Subject=e.animationFrames=e.observable=e.ConnectableObservable=e.Observable=void 0,e.filter=e.expand=e.exhaustMap=e.exhaustAll=e.exhaust=e.every=e.endWith=e.elementAt=e.distinctUntilKeyChanged=e.distinctUntilChanged=e.distinct=e.dematerialize=e.delayWhen=e.delay=e.defaultIfEmpty=e.debounceTime=e.debounce=e.count=e.connect=e.concatWith=e.concatMapTo=e.concatMap=e.concatAll=e.combineLatestWith=e.combineLatestAll=e.combineAll=e.catchError=e.bufferWhen=e.bufferToggle=e.bufferTime=e.bufferCount=e.buffer=e.auditTime=e.audit=e.config=e.NEVER=e.EMPTY=e.scheduled=e.zip=e.using=e.timer=e.throwError=e.range=e.race=e.partition=e.pairs=e.onErrorResumeNext=e.of=e.never=e.merge=void 0,e.switchMap=e.switchAll=e.subscribeOn=e.startWith=e.skipWhile=e.skipUntil=e.skipLast=e.skip=e.single=e.shareReplay=e.share=e.sequenceEqual=e.scan=e.sampleTime=e.sample=e.refCount=e.retryWhen=e.retry=e.repeatWhen=e.repeat=e.reduce=e.raceWith=e.publishReplay=e.publishLast=e.publishBehavior=e.publish=e.pluck=e.pairwise=e.onErrorResumeNextWith=e.observeOn=e.multicast=e.min=e.mergeWith=e.mergeScan=e.mergeMapTo=e.mergeMap=e.flatMap=e.mergeAll=e.max=e.materialize=e.mapTo=e.map=e.last=e.isEmpty=e.ignoreElements=e.groupBy=e.first=e.findIndex=e.find=e.finalize=void 0,e.zipWith=e.zipAll=e.withLatestFrom=e.windowWhen=e.windowToggle=e.windowTime=e.windowCount=e.window=e.toArray=e.timestamp=e.timeoutWith=e.timeout=e.timeInterval=e.throwIfEmpty=e.throttleTime=e.throttle=e.tap=e.takeWhile=e.takeUntil=e.takeLast=e.take=e.switchScan=e.switchMapTo=void 0;var r=Xd;Object.defineProperty(e,"Observable",{enumerable:!0,get:function(){return r.Observable}});var o=Dh;Object.defineProperty(e,"ConnectableObservable",{enumerable:!0,get:function(){return o.ConnectableObservable}});var i=kh;Object.defineProperty(e,"observable",{enumerable:!0,get:function(){return i.observable}});var a=tp;Object.defineProperty(e,"animationFrames",{enumerable:!0,get:function(){return a.animationFrames}});var s=cp;Object.defineProperty(e,"Subject",{enumerable:!0,get:function(){return s.Subject}});var u=bp;Object.defineProperty(e,"BehaviorSubject",{enumerable:!0,get:function(){return u.BehaviorSubject}});var c=xp;Object.defineProperty(e,"ReplaySubject",{enumerable:!0,get:function(){return c.ReplaySubject}});var l=Op;Object.defineProperty(e,"AsyncSubject",{enumerable:!0,get:function(){return l.AsyncSubject}});var f=Ip;Object.defineProperty(e,"asap",{enumerable:!0,get:function(){return f.asap}}),Object.defineProperty(e,"asapScheduler",{enumerable:!0,get:function(){return f.asapScheduler}});var d=rm;Object.defineProperty(e,"async",{enumerable:!0,get:function(){return d.async}}),Object.defineProperty(e,"asyncScheduler",{enumerable:!0,get:function(){return d.asyncScheduler}});var h=om;Object.defineProperty(e,"queue",{enumerable:!0,get:function(){return h.queue}}),Object.defineProperty(e,"queueScheduler",{enumerable:!0,get:function(){return h.queueScheduler}});var p=lm;Object.defineProperty(e,"animationFrame",{enumerable:!0,get:function(){return p.animationFrame}}),Object.defineProperty(e,"animationFrameScheduler",{enumerable:!0,get:function(){return p.animationFrameScheduler}});var m=ym;Object.defineProperty(e,"VirtualTimeScheduler",{enumerable:!0,get:function(){return m.VirtualTimeScheduler}}),Object.defineProperty(e,"VirtualAction",{enumerable:!0,get:function(){return m.VirtualAction}});var g=Zp;Object.defineProperty(e,"Scheduler",{enumerable:!0,get:function(){return g.Scheduler}});var y=th;Object.defineProperty(e,"Subscription",{enumerable:!0,get:function(){return y.Subscription}});var v=Qd;Object.defineProperty(e,"Subscriber",{enumerable:!0,get:function(){return v.Subscriber}});var _=Sm;Object.defineProperty(e,"Notification",{enumerable:!0,get:function(){return _.Notification}}),Object.defineProperty(e,"NotificationKind",{enumerable:!0,get:function(){return _.NotificationKind}});var b=Eh;Object.defineProperty(e,"pipe",{enumerable:!0,get:function(){return b.pipe}});var w=vh;Object.defineProperty(e,"noop",{enumerable:!0,get:function(){return w.noop}});var S=Ah;Object.defineProperty(e,"identity",{enumerable:!0,get:function(){return S.identity}});var x=py;Object.defineProperty(e,"isObservable",{enumerable:!0,get:function(){return x.isObservable}});var k=yy;Object.defineProperty(e,"lastValueFrom",{enumerable:!0,get:function(){return k.lastValueFrom}});var E=by;Object.defineProperty(e,"firstValueFrom",{enumerable:!0,get:function(){return E.firstValueFrom}});var A=xy;Object.defineProperty(e,"ArgumentOutOfRangeError",{enumerable:!0,get:function(){return A.ArgumentOutOfRangeError}});var C=vy;Object.defineProperty(e,"EmptyError",{enumerable:!0,get:function(){return C.EmptyError}});var O=ky;Object.defineProperty(e,"NotFoundError",{enumerable:!0,get:function(){return O.NotFoundError}});var R=lp;Object.defineProperty(e,"ObjectUnsubscribedError",{enumerable:!0,get:function(){return R.ObjectUnsubscribedError}});var N=Ey;Object.defineProperty(e,"SequenceError",{enumerable:!0,get:function(){return N.SequenceError}});var I=Ay;Object.defineProperty(e,"TimeoutError",{enumerable:!0,get:function(){return I.TimeoutError}});var P=nh;Object.defineProperty(e,"UnsubscriptionError",{enumerable:!0,get:function(){return P.UnsubscriptionError}});var T=Oy;Object.defineProperty(e,"bindCallback",{enumerable:!0,get:function(){return T.bindCallback}});var M=$y;Object.defineProperty(e,"bindNodeCallback",{enumerable:!0,get:function(){return M.bindNodeCallback}});var j=Ky;Object.defineProperty(e,"combineLatest",{enumerable:!0,get:function(){return j.combineLatest}});var F=hv;Object.defineProperty(e,"concat",{enumerable:!0,get:function(){return F.concat}});var L=Pv;Object.defineProperty(e,"connectable",{enumerable:!0,get:function(){return L.connectable}});var D=Tv;Object.defineProperty(e,"defer",{enumerable:!0,get:function(){return D.defer}});var B=xm;Object.defineProperty(e,"empty",{enumerable:!0,get:function(){return B.empty}});var U=Bv;Object.defineProperty(e,"forkJoin",{enumerable:!0,get:function(){return U.forkJoin}});var z=Im;Object.defineProperty(e,"from",{enumerable:!0,get:function(){return z.from}});var G=Jv;Object.defineProperty(e,"fromEvent",{enumerable:!0,get:function(){return G.fromEvent}});var H=a_;Object.defineProperty(e,"fromEventPattern",{enumerable:!0,get:function(){return H.fromEventPattern}});var W=l_;Object.defineProperty(e,"generate",{enumerable:!0,get:function(){return W.generate}});var V=g_;Object.defineProperty(e,"iif",{enumerable:!0,get:function(){return V.iif}});var $=v_;Object.defineProperty(e,"interval",{enumerable:!0,get:function(){return $.interval}});var J=A_;Object.defineProperty(e,"merge",{enumerable:!0,get:function(){return J.merge}});var K=P_;Object.defineProperty(e,"never",{enumerable:!0,get:function(){return K.never}});var Y=km;Object.defineProperty(e,"of",{enumerable:!0,get:function(){return Y.of}});var Z=T_;Object.defineProperty(e,"onErrorResumeNext",{enumerable:!0,get:function(){return Z.onErrorResumeNext}});var X=U_;Object.defineProperty(e,"pairs",{enumerable:!0,get:function(){return X.pairs}});var Q=G_;Object.defineProperty(e,"partition",{enumerable:!0,get:function(){return Q.partition}});var ee=Z_;Object.defineProperty(e,"race",{enumerable:!0,get:function(){return ee.race}});var te=rb;Object.defineProperty(e,"range",{enumerable:!0,get:function(){return te.range}});var ne=fy;Object.defineProperty(e,"throwError",{enumerable:!0,get:function(){return ne.throwError}});var re=__;Object.defineProperty(e,"timer",{enumerable:!0,get:function(){return re.timer}});var oe=ab;Object.defineProperty(e,"using",{enumerable:!0,get:function(){return oe.using}});var ie=lb;Object.defineProperty(e,"zip",{enumerable:!0,get:function(){return ie.zip}});var ae=Pm;Object.defineProperty(e,"scheduled",{enumerable:!0,get:function(){return ae.scheduled}});var se=xm;Object.defineProperty(e,"EMPTY",{enumerable:!0,get:function(){return se.EMPTY}});var ue=P_;Object.defineProperty(e,"NEVER",{enumerable:!0,get:function(){return ue.NEVER}}),n(_b,e);var ce=hh;Object.defineProperty(e,"config",{enumerable:!0,get:function(){return ce.config}});var le=bb;Object.defineProperty(e,"audit",{enumerable:!0,get:function(){return le.audit}});var fe=kb;Object.defineProperty(e,"auditTime",{enumerable:!0,get:function(){return fe.auditTime}});var de=Ob;Object.defineProperty(e,"buffer",{enumerable:!0,get:function(){return de.buffer}});var he=Tb;Object.defineProperty(e,"bufferCount",{enumerable:!0,get:function(){return he.bufferCount}});var pe=Db;Object.defineProperty(e,"bufferTime",{enumerable:!0,get:function(){return pe.bufferTime}});var me=$b;Object.defineProperty(e,"bufferToggle",{enumerable:!0,get:function(){return me.bufferToggle}});var ge=tw;Object.defineProperty(e,"bufferWhen",{enumerable:!0,get:function(){return ge.bufferWhen}});var ye=aw;Object.defineProperty(e,"catchError",{enumerable:!0,get:function(){return ye.catchError}});var ve=lw;Object.defineProperty(e,"combineAll",{enumerable:!0,get:function(){return ve.combineAll}});var _e=fw;Object.defineProperty(e,"combineLatestAll",{enumerable:!0,get:function(){return _e.combineLatestAll}});var be=Rw;Object.defineProperty(e,"combineLatestWith",{enumerable:!0,get:function(){return be.combineLatestWith}});var we=pv;Object.defineProperty(e,"concatAll",{enumerable:!0,get:function(){return we.concatAll}});var Se=zw;Object.defineProperty(e,"concatMap",{enumerable:!0,get:function(){return Se.concatMap}});var xe=Ww;Object.defineProperty(e,"concatMapTo",{enumerable:!0,get:function(){return xe.concatMapTo}});var ke=Jw;Object.defineProperty(e,"concatWith",{enumerable:!0,get:function(){return ke.concatWith}});var Ee=iS;Object.defineProperty(e,"connect",{enumerable:!0,get:function(){return Ee.connect}});var Ae=hS;Object.defineProperty(e,"count",{enumerable:!0,get:function(){return Ae.count}});var Ce=mS;Object.defineProperty(e,"debounce",{enumerable:!0,get:function(){return Ce.debounce}});var Oe=bS;Object.defineProperty(e,"debounceTime",{enumerable:!0,get:function(){return Oe.debounceTime}});var Re=kS;Object.defineProperty(e,"defaultIfEmpty",{enumerable:!0,get:function(){return Re.defaultIfEmpty}});var Ne=CS;Object.defineProperty(e,"delay",{enumerable:!0,get:function(){return Ne.delay}});var Ie=OS;Object.defineProperty(e,"delayWhen",{enumerable:!0,get:function(){return Ie.delayWhen}});var Pe=JS;Object.defineProperty(e,"dematerialize",{enumerable:!0,get:function(){return Pe.dematerialize}});var Te=XS;Object.defineProperty(e,"distinct",{enumerable:!0,get:function(){return Te.distinct}});var Me=rx;Object.defineProperty(e,"distinctUntilChanged",{enumerable:!0,get:function(){return Me.distinctUntilChanged}});var je=ux;Object.defineProperty(e,"distinctUntilKeyChanged",{enumerable:!0,get:function(){return je.distinctUntilKeyChanged}});var Fe=lx;Object.defineProperty(e,"elementAt",{enumerable:!0,get:function(){return Fe.elementAt}});var Le=wx;Object.defineProperty(e,"endWith",{enumerable:!0,get:function(){return Le.endWith}});var De=Ax;Object.defineProperty(e,"every",{enumerable:!0,get:function(){return De.every}});var qe=Rx;Object.defineProperty(e,"exhaust",{enumerable:!0,get:function(){return qe.exhaust}});var Be=Nx;Object.defineProperty(e,"exhaustAll",{enumerable:!0,get:function(){return Be.exhaustAll}});var Ue=Ix;Object.defineProperty(e,"exhaustMap",{enumerable:!0,get:function(){return Ue.exhaustMap}});var ze=Dx;Object.defineProperty(e,"expand",{enumerable:!0,get:function(){return ze.expand}});var Ge=W_;Object.defineProperty(e,"filter",{enumerable:!0,get:function(){return Ge.filter}});var He=Ux;Object.defineProperty(e,"finalize",{enumerable:!0,get:function(){return He.finalize}});var We=Gx;Object.defineProperty(e,"find",{enumerable:!0,get:function(){return We.find}});var Ve=$x;Object.defineProperty(e,"findIndex",{enumerable:!0,get:function(){return Ve.findIndex}});var $e=Yx;Object.defineProperty(e,"first",{enumerable:!0,get:function(){return $e.first}});var Je=rk;Object.defineProperty(e,"groupBy",{enumerable:!0,get:function(){return Je.groupBy}});var Ke=TS;Object.defineProperty(e,"ignoreElements",{enumerable:!0,get:function(){return Ke.ignoreElements}});var Ye=ck;Object.defineProperty(e,"isEmpty",{enumerable:!0,get:function(){return Ye.isEmpty}});var Ze=dk;Object.defineProperty(e,"last",{enumerable:!0,get:function(){return Ze.last}});var Xe=Iy;Object.defineProperty(e,"map",{enumerable:!0,get:function(){return Xe.map}});var Qe=LS;Object.defineProperty(e,"mapTo",{enumerable:!0,get:function(){return Qe.mapTo}});var et=kk;Object.defineProperty(e,"materialize",{enumerable:!0,get:function(){return et.materialize}});var tt=Ok;Object.defineProperty(e,"max",{enumerable:!0,get:function(){return tt.max}});var nt=mv;Object.defineProperty(e,"mergeAll",{enumerable:!0,get:function(){return nt.mergeAll}});var rt=Ik;Object.defineProperty(e,"flatMap",{enumerable:!0,get:function(){return rt.flatMap}});var ot=gv;Object.defineProperty(e,"mergeMap",{enumerable:!0,get:function(){return ot.mergeMap}});var it=Pk;Object.defineProperty(e,"mergeMapTo",{enumerable:!0,get:function(){return it.mergeMapTo}});var at=jk;Object.defineProperty(e,"mergeScan",{enumerable:!0,get:function(){return at.mergeScan}});var st=Dk;Object.defineProperty(e,"mergeWith",{enumerable:!0,get:function(){return st.mergeWith}});var ut=Yk;Object.defineProperty(e,"min",{enumerable:!0,get:function(){return ut.min}});var ct=Qk;Object.defineProperty(e,"multicast",{enumerable:!0,get:function(){return ct.multicast}});var lt=wg;Object.defineProperty(e,"observeOn",{enumerable:!0,get:function(){return lt.observeOn}});var ft=rE;Object.defineProperty(e,"onErrorResumeNextWith",{enumerable:!0,get:function(){return ft.onErrorResumeNextWith}});var dt=cE;Object.defineProperty(e,"pairwise",{enumerable:!0,get:function(){return dt.pairwise}});var ht=dE;Object.defineProperty(e,"pluck",{enumerable:!0,get:function(){return ht.pluck}});var pt=pE;Object.defineProperty(e,"publish",{enumerable:!0,get:function(){return pt.publish}});var mt=vE;Object.defineProperty(e,"publishBehavior",{enumerable:!0,get:function(){return mt.publishBehavior}});var gt=wE;Object.defineProperty(e,"publishLast",{enumerable:!0,get:function(){return gt.publishLast}});var yt=kE;Object.defineProperty(e,"publishReplay",{enumerable:!0,get:function(){return yt.publishReplay}});var vt=OE;Object.defineProperty(e,"raceWith",{enumerable:!0,get:function(){return vt.raceWith}});var _t=pw;Object.defineProperty(e,"reduce",{enumerable:!0,get:function(){return _t.reduce}});var bt=ME;Object.defineProperty(e,"repeat",{enumerable:!0,get:function(){return bt.repeat}});var wt=BE;Object.defineProperty(e,"repeatWhen",{enumerable:!0,get:function(){return wt.repeatWhen}});var St=WE;Object.defineProperty(e,"retry",{enumerable:!0,get:function(){return St.retry}});var xt=ZE;Object.defineProperty(e,"retryWhen",{enumerable:!0,get:function(){return xt.retryWhen}});var kt=qh;Object.defineProperty(e,"refCount",{enumerable:!0,get:function(){return kt.refCount}});var Et=nA;Object.defineProperty(e,"sample",{enumerable:!0,get:function(){return Et.sample}});var At=sA;Object.defineProperty(e,"sampleTime",{enumerable:!0,get:function(){return At.sampleTime}});var Ct=fA;Object.defineProperty(e,"scan",{enumerable:!0,get:function(){return Ct.scan}});var Ot=pA;Object.defineProperty(e,"sequenceEqual",{enumerable:!0,get:function(){return Ot.sequenceEqual}});var Rt=vA;Object.defineProperty(e,"share",{enumerable:!0,get:function(){return Rt.share}});var Nt=AA;Object.defineProperty(e,"shareReplay",{enumerable:!0,get:function(){return Nt.shareReplay}});var It=RA;Object.defineProperty(e,"single",{enumerable:!0,get:function(){return It.single}});var Pt=jA;Object.defineProperty(e,"skip",{enumerable:!0,get:function(){return Pt.skip}});var Tt=LA;Object.defineProperty(e,"skipLast",{enumerable:!0,get:function(){return Tt.skipLast}});var Mt=UA;Object.defineProperty(e,"skipUntil",{enumerable:!0,get:function(){return Mt.skipUntil}});var jt=VA;Object.defineProperty(e,"skipWhile",{enumerable:!0,get:function(){return jt.skipWhile}});var Ft=KA;Object.defineProperty(e,"startWith",{enumerable:!0,get:function(){return Ft.startWith}});var Lt=Ag;Object.defineProperty(e,"subscribeOn",{enumerable:!0,get:function(){return Lt.subscribeOn}});var Dt=QA;Object.defineProperty(e,"switchAll",{enumerable:!0,get:function(){return Dt.switchAll}});var qt=eC;Object.defineProperty(e,"switchMap",{enumerable:!0,get:function(){return qt.switchMap}});var Bt=aC;Object.defineProperty(e,"switchMapTo",{enumerable:!0,get:function(){return Bt.switchMapTo}});var Ut=cC;Object.defineProperty(e,"switchScan",{enumerable:!0,get:function(){return Ut.switchScan}});var zt=RS;Object.defineProperty(e,"take",{enumerable:!0,get:function(){return zt.take}});var Gt=hk;Object.defineProperty(e,"takeLast",{enumerable:!0,get:function(){return Gt.takeLast}});var Ht=dC;Object.defineProperty(e,"takeUntil",{enumerable:!0,get:function(){return Ht.takeUntil}});var Wt=yC;Object.defineProperty(e,"takeWhile",{enumerable:!0,get:function(){return Wt.takeWhile}});var Vt=bC;Object.defineProperty(e,"tap",{enumerable:!0,get:function(){return Vt.tap}});var $t=EC;Object.defineProperty(e,"throttle",{enumerable:!0,get:function(){return $t.throttle}});var Jt=RC;Object.defineProperty(e,"throttleTime",{enumerable:!0,get:function(){return Jt.throttleTime}});var Kt=fx;Object.defineProperty(e,"throwIfEmpty",{enumerable:!0,get:function(){return Kt.throwIfEmpty}});var Yt=TC;Object.defineProperty(e,"timeInterval",{enumerable:!0,get:function(){return Yt.timeInterval}});var Zt=Ay;Object.defineProperty(e,"timeout",{enumerable:!0,get:function(){return Zt.timeout}});var Xt=DC;Object.defineProperty(e,"timeoutWith",{enumerable:!0,get:function(){return Xt.timeoutWith}});var Qt=zC;Object.defineProperty(e,"timestamp",{enumerable:!0,get:function(){return Qt.timestamp}});var en=hw;Object.defineProperty(e,"toArray",{enumerable:!0,get:function(){return en.toArray}});var tn=WC;Object.defineProperty(e,"window",{enumerable:!0,get:function(){return tn.window}});var nn=ZC;Object.defineProperty(e,"windowCount",{enumerable:!0,get:function(){return nn.windowCount}});var rn=nO;Object.defineProperty(e,"windowTime",{enumerable:!0,get:function(){return rn.windowTime}});var on=fO;Object.defineProperty(e,"windowToggle",{enumerable:!0,get:function(){return on.windowToggle}});var an=bO;Object.defineProperty(e,"windowWhen",{enumerable:!0,get:function(){return an.windowWhen}});var sn=EO;Object.defineProperty(e,"withLatestFrom",{enumerable:!0,get:function(){return sn.withLatestFrom}});var un=MO;Object.defineProperty(e,"zipAll",{enumerable:!0,get:function(){return un.zipAll}});var cn=LO;Object.defineProperty(e,"zipWith",{enumerable:!0,get:function(){return cn.zipWith}})}(Zd),Object.defineProperty(Yd,"__esModule",{value:!0});var VO=Yd.checkAbortSignal=YO;Yd.abortBreakPoint=function(e){return XO.apply(this,arguments)},Yd.makeAbortError=QO,Yd.observeAbortSignal=function(e){return e?(0,JO.fromEvent)(e,"abort"):JO.Observable.create()};var $O=Yd.isAbortException=function(e){return e instanceof Error&&("AbortError"===e.name||"ERR_ABORTED"===e.code||!!/\b(aborted|aborterror)\b/i.test(e.message))},JO=Zd,KO=function(e){oe(n,e);var t=fe(n);function n(){return ee(this,n),t.apply(this,arguments)}return ne(n)}(ce(Error));function YO(e){if(e){if(!(e instanceof AbortSignal))throw new TypeError("must pass an AbortSignal");if(e.aborted)throw QO()}}function ZO(e){return new Promise((function(t){return setTimeout(t,e)}))}function XO(){return(XO=Q(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ZO(1);case 2:YO(t);case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function QO(){if("undefined"!=typeof DOMException)return new DOMException("aborted","AbortError");var e=new KO("aborted");return e.code="ERR_ABORTED",e}var eR={exports:{}};!function(e,t){var n;n=function(){return function e(t,n,r){function o(a,s){if(!n[a]){if(!t[a]){if(!s&&U)return U(a);if(i)return i(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var c=n[a]={exports:{}};t[a][0].call(c.exports,(function(e){return o(t[a][1][e]||e)}),c,c.exports,e,t,n,r)}return n[a].exports}for(var i=U,a=0;a<r.length;a++)o(r[a]);return o}({"./aesprim":[function(e,t,n){var r;r=function(e){var t,n,r,o,i,a,s,u,c,l,f,d,h,p,m,g,y,v;function _(e,t){if(!e)throw new Error("ASSERT: "+t)}function b(e){return e>=48&&e<=57}function w(e){return"0123456789abcdefABCDEF".indexOf(e)>=0}function S(e){return"01234567".indexOf(e)>=0}function x(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(e)>=0}function k(e){return 10===e||13===e||8232===e||8233===e}function E(e){return 64==e||36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||92===e||e>=128&&s.NonAsciiIdentifierStart.test(String.fromCharCode(e))}function A(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||92===e||e>=128&&s.NonAsciiIdentifierPart.test(String.fromCharCode(e))}function C(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return!0;default:return!1}}function O(e){return"eval"===e||"arguments"===e}function R(e,t,n,r,o){var i;_("number"==typeof n,"Comment must have valid position"),y.lastCommentStart>=n||(y.lastCommentStart=n,i={type:e,value:t},v.range&&(i.range=[n,r]),v.loc&&(i.loc=o),v.comments.push(i),v.attachComment&&(v.leadingComments.push(i),v.trailingComments.push(i)))}function N(e){var t,n,r,o;for(t=f-e,n={start:{line:d,column:f-h-e}};f<p;)if(r=c.charCodeAt(f),++f,k(r))return v.comments&&(o=c.slice(t+e,f-1),n.end={line:d,column:f-h-1},R("Line",o,t,f-1,n)),13===r&&10===c.charCodeAt(f)&&++f,++d,void(h=f);v.comments&&(o=c.slice(t+e,f),n.end={line:d,column:f-h},R("Line",o,t,f,n))}function I(){var e,t,n,r;for(v.comments&&(e=f-2,t={start:{line:d,column:f-h-2}});f<p;)if(k(n=c.charCodeAt(f)))13===n&&10===c.charCodeAt(f+1)&&++f,++d,++f,h=f,f>=p&&V({},a.UnexpectedToken,"ILLEGAL");else if(42===n){if(47===c.charCodeAt(f+1))return++f,++f,void(v.comments&&(r=c.slice(e+2,f-2),t.end={line:d,column:f-h},R("Block",r,e,f,t)));++f}else++f;V({},a.UnexpectedToken,"ILLEGAL")}function P(){var e,t;for(t=0===f;f<p;)if(x(e=c.charCodeAt(f)))++f;else if(k(e))++f,13===e&&10===c.charCodeAt(f)&&++f,++d,h=f,t=!0;else if(47===e)if(47===(e=c.charCodeAt(f+1)))++f,++f,N(2),t=!0;else{if(42!==e)break;++f,++f,I()}else if(t&&45===e){if(45!==c.charCodeAt(f+1)||62!==c.charCodeAt(f+2))break;f+=3,N(3)}else{if(60!==e)break;if("!--"!==c.slice(f+1,f+4))break;++f,++f,++f,++f,N(4)}}function T(e){var t,n,r,o=0;for(n="u"===e?4:2,t=0;t<n;++t){if(!(f<p&&w(c[f])))return"";r=c[f++],o=16*o+"0123456789abcdef".indexOf(r.toLowerCase())}return String.fromCharCode(o)}function M(){var e,t;for(e=c.charCodeAt(f++),t=String.fromCharCode(e),92===e&&(117!==c.charCodeAt(f)&&V({},a.UnexpectedToken,"ILLEGAL"),++f,(e=T("u"))&&"\\"!==e&&E(e.charCodeAt(0))||V({},a.UnexpectedToken,"ILLEGAL"),t=e);f<p&&A(e=c.charCodeAt(f));)++f,t+=String.fromCharCode(e),92===e&&(t=t.substr(0,t.length-1),117!==c.charCodeAt(f)&&V({},a.UnexpectedToken,"ILLEGAL"),++f,(e=T("u"))&&"\\"!==e&&A(e.charCodeAt(0))||V({},a.UnexpectedToken,"ILLEGAL"),t+=e);return t}function j(){var e,n,r,o,i=f,s=c.charCodeAt(f),u=c[f];switch(s){case 46:case 40:case 41:case 59:case 44:case 123:case 125:case 91:case 93:case 58:case 63:case 126:return++f,v.tokenize&&(40===s?v.openParenToken=v.tokens.length:123===s&&(v.openCurlyToken=v.tokens.length)),{type:t.Punctuator,value:String.fromCharCode(s),lineNumber:d,lineStart:h,start:i,end:f};default:if(61===(e=c.charCodeAt(f+1)))switch(s){case 43:case 45:case 47:case 60:case 62:case 94:case 124:case 37:case 38:case 42:return f+=2,{type:t.Punctuator,value:String.fromCharCode(s)+String.fromCharCode(e),lineNumber:d,lineStart:h,start:i,end:f};case 33:case 61:return 61===c.charCodeAt(f+=2)&&++f,{type:t.Punctuator,value:c.slice(i,f),lineNumber:d,lineStart:h,start:i,end:f}}}return">>>="===(o=c.substr(f,4))?{type:t.Punctuator,value:o,lineNumber:d,lineStart:h,start:i,end:f+=4}:">>>"===(r=o.substr(0,3))||"<<="===r||">>="===r?{type:t.Punctuator,value:r,lineNumber:d,lineStart:h,start:i,end:f+=3}:u===(n=r.substr(0,2))[1]&&"+-<>&|".indexOf(u)>=0||"=>"===n?{type:t.Punctuator,value:n,lineNumber:d,lineStart:h,start:i,end:f+=2}:"<>=!+-*%&|^/".indexOf(u)>=0?(++f,{type:t.Punctuator,value:u,lineNumber:d,lineStart:h,start:i,end:f}):void V({},a.UnexpectedToken,"ILLEGAL")}function F(){var e,n,r;if(_(b((r=c[f]).charCodeAt(0))||"."===r,"Numeric literal must start with a decimal digit or a decimal point"),n=f,e="","."!==r){if(e=c[f++],r=c[f],"0"===e){if("x"===r||"X"===r)return++f,function(e){for(var n="";f<p&&w(c[f]);)n+=c[f++];return 0===n.length&&V({},a.UnexpectedToken,"ILLEGAL"),E(c.charCodeAt(f))&&V({},a.UnexpectedToken,"ILLEGAL"),{type:t.NumericLiteral,value:parseInt("0x"+n,16),lineNumber:d,lineStart:h,start:e,end:f}}(n);if(S(r))return function(e){for(var n="0"+c[f++];f<p&&S(c[f]);)n+=c[f++];return(E(c.charCodeAt(f))||b(c.charCodeAt(f)))&&V({},a.UnexpectedToken,"ILLEGAL"),{type:t.NumericLiteral,value:parseInt(n,8),octal:!0,lineNumber:d,lineStart:h,start:e,end:f}}(n);r&&b(r.charCodeAt(0))&&V({},a.UnexpectedToken,"ILLEGAL")}for(;b(c.charCodeAt(f));)e+=c[f++];r=c[f]}if("."===r){for(e+=c[f++];b(c.charCodeAt(f));)e+=c[f++];r=c[f]}if("e"===r||"E"===r)if(e+=c[f++],"+"!==(r=c[f])&&"-"!==r||(e+=c[f++]),b(c.charCodeAt(f)))for(;b(c.charCodeAt(f));)e+=c[f++];else V({},a.UnexpectedToken,"ILLEGAL");return E(c.charCodeAt(f))&&V({},a.UnexpectedToken,"ILLEGAL"),{type:t.NumericLiteral,value:parseFloat(e),lineNumber:d,lineStart:h,start:n,end:f}}function L(){var e,n,r,o;return g=null,P(),e=f,n=function(){var e,t,n,r;for(_("/"===(e=c[f]),"Regular expression literal must start with a slash"),t=c[f++],n=!1,r=!1;f<p;)if(t+=e=c[f++],"\\"===e)k((e=c[f++]).charCodeAt(0))&&V({},a.UnterminatedRegExp),t+=e;else if(k(e.charCodeAt(0)))V({},a.UnterminatedRegExp);else if(n)"]"===e&&(n=!1);else{if("/"===e){r=!0;break}"["===e&&(n=!0)}return r||V({},a.UnterminatedRegExp),{value:t.substr(1,t.length-2),literal:t}}(),r=function(){var e,t,n,r;for(t="",n="";f<p&&A((e=c[f]).charCodeAt(0));)if(++f,"\\"===e&&f<p)if("u"===(e=c[f])){if(r=++f,e=T("u"))for(n+=e,t+="\\u";r<f;++r)t+=c[r];else f=r,n+="u",t+="\\u";$({},a.UnexpectedToken,"ILLEGAL")}else t+="\\",$({},a.UnexpectedToken,"ILLEGAL");else n+=e,t+=e;return{value:n,literal:t}}(),o=function(e,t){var n;try{n=new RegExp(e,t)}catch(e){V({},a.InvalidRegExp)}return n}(n.value,r.value),v.tokenize?{type:t.RegularExpression,value:o,lineNumber:d,lineStart:h,start:e,end:f}:{literal:n.literal+r.literal,value:o,start:e,end:f}}function D(){var e,t,n,r;return P(),e=f,t={start:{line:d,column:f-h}},n=L(),t.end={line:d,column:f-h},v.tokenize||(v.tokens.length>0&&(r=v.tokens[v.tokens.length-1]).range[0]===e&&"Punctuator"===r.type&&("/"!==r.value&&"/="!==r.value||v.tokens.pop()),v.tokens.push({type:"RegularExpression",value:n.literal,range:[e,f],loc:t})),n}function q(){var e,n,o;return P(),f>=p?{type:t.EOF,lineNumber:d,lineStart:h,start:f,end:f}:E(e=c.charCodeAt(f))?(n=f,o=92===c.charCodeAt(f)?M():function(){var e,t;for(e=f++;f<p;){if(92===(t=c.charCodeAt(f)))return f=e,M();if(!A(t))break;++f}return c.slice(e,f)}(),{type:1===o.length?t.Identifier:function(e){if(l&&C(e))return!0;switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e||"let"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}}(o)?t.Keyword:"null"===o?t.NullLiteral:"true"===o||"false"===o?t.BooleanLiteral:t.Identifier,value:o,lineNumber:d,lineStart:h,start:n,end:f}):40===e||41===e||59===e?j():39===e||34===e?function(){var e,n,r,o,i,s,u,l,m="",g=!1;for(u=d,l=h,_("'"===(e=c[f])||'"'===e,"String literal must starts with a quote"),n=f,++f;f<p;){if((r=c[f++])===e){e="";break}if("\\"===r)if((r=c[f++])&&k(r.charCodeAt(0)))++d,"\r"===r&&"\n"===c[f]&&++f,h=f;else switch(r){case"u":case"x":s=f,(i=T(r))?m+=i:(f=s,m+=r);break;case"n":m+="\n";break;case"r":m+="\r";break;case"t":m+="\t";break;case"b":m+="\b";break;case"f":m+="\f";break;case"v":m+="\v";break;default:S(r)?(0!==(o="01234567".indexOf(r))&&(g=!0),f<p&&S(c[f])&&(g=!0,o=8*o+"01234567".indexOf(c[f++]),"0123".indexOf(r)>=0&&f<p&&S(c[f])&&(o=8*o+"01234567".indexOf(c[f++]))),m+=String.fromCharCode(o)):m+=r}else{if(k(r.charCodeAt(0)))break;m+=r}}return""!==e&&V({},a.UnexpectedToken,"ILLEGAL"),{type:t.StringLiteral,value:m,octal:g,startLineNumber:u,startLineStart:l,lineNumber:d,lineStart:h,start:n,end:f}}():46===e?b(c.charCodeAt(f+1))?F():j():b(e)?F():v.tokenize&&47===e?function(){var e,t;if(!(e=v.tokens[v.tokens.length-1]))return D();if("Punctuator"===e.type){if("]"===e.value)return j();if(")"===e.value)return!(t=v.tokens[v.openParenToken-1])||"Keyword"!==t.type||"if"!==t.value&&"while"!==t.value&&"for"!==t.value&&"with"!==t.value?j():D();if("}"===e.value){if(v.tokens[v.openCurlyToken-3]&&"Keyword"===v.tokens[v.openCurlyToken-3].type){if(!(t=v.tokens[v.openCurlyToken-4]))return j()}else{if(!v.tokens[v.openCurlyToken-4]||"Keyword"!==v.tokens[v.openCurlyToken-4].type)return j();if(!(t=v.tokens[v.openCurlyToken-5]))return D()}return r.indexOf(t.value)>=0?j():D()}return D()}return"Keyword"===e.type?D():j()}():j()}function B(){var e,r,o;return P(),e={start:{line:d,column:f-h}},r=q(),e.end={line:d,column:f-h},r.type!==t.EOF&&(o=c.slice(r.start,r.end),v.tokens.push({type:n[r.type],value:o,range:[r.start,r.end],loc:e})),r}function U(){var e;return f=(e=g).end,d=e.lineNumber,h=e.lineStart,g=void 0!==v.tokens?B():q(),f=e.end,d=e.lineNumber,h=e.lineStart,e}function z(){var e,t,n;e=f,t=d,n=h,g=void 0!==v.tokens?B():q(),f=e,d=t,h=n}function G(e,t){this.line=e,this.column=t}function H(e,t,n,r){this.start=new G(e,t),this.end=new G(n,r)}function W(){var e,t,n,r;return e=f,t=d,n=h,P(),r=d!==t,f=e,d=t,h=n,r}function V(e,t){var n,r=Array.prototype.slice.call(arguments,2),o=t.replace(/%(\d)/g,(function(e,t){return _(t<r.length,"Message reference must be in range"),r[t]}));throw"number"==typeof e.lineNumber?((n=new Error("Line "+e.lineNumber+": "+o)).index=e.start,n.lineNumber=e.lineNumber,n.column=e.start-h+1):((n=new Error("Line "+d+": "+o)).index=f,n.lineNumber=d,n.column=f-h+1),n.description=o,n}function $(){try{V.apply(null,arguments)}catch(e){if(!v.errors)throw e;v.errors.push(e)}}function J(e){if(e.type===t.EOF&&V(e,a.UnexpectedEOS),e.type===t.NumericLiteral&&V(e,a.UnexpectedNumber),e.type===t.StringLiteral&&V(e,a.UnexpectedString),e.type===t.Identifier&&V(e,a.UnexpectedIdentifier),e.type===t.Keyword){if(function(e){switch(e){case"class":case"enum":case"export":case"extends":case"import":case"super":return!0;default:return!1}}(e.value))V(e,a.UnexpectedReserved);else if(l&&C(e.value))return void $(e,a.StrictReservedWord);V(e,a.UnexpectedToken,e.value)}V(e,a.UnexpectedToken,e.value)}function K(e){var n=U();n.type===t.Punctuator&&n.value===e||J(n)}function Y(e){var n=U();n.type===t.Keyword&&n.value===e||J(n)}function Z(e){return g.type===t.Punctuator&&g.value===e}function X(e){return g.type===t.Keyword&&g.value===e}function Q(){var e;59===c.charCodeAt(f)||Z(";")?U():(e=d,P(),d===e&&(g.type===t.EOF||Z("}")||J(g)))}function ee(e){return e.type===o.Identifier||e.type===o.MemberExpression}function te(e,t){var n,r,o;return n=l,o=g,r=be(),t&&l&&O(e[0].name)&&$(t,a.StrictParamName),l=n,m.markEnd(m.createFunctionExpression(null,e,[],r),o)}function ne(){var e,n;return n=g,(e=U()).type===t.StringLiteral||e.type===t.NumericLiteral?(l&&e.octal&&$(e,a.StrictOctalLiteral),m.markEnd(m.createLiteral(e),n)):m.markEnd(m.createIdentifier(e.value),n)}function re(){var e,n,r,o,i,s;return s=g,(e=g).type===t.Identifier?(r=ne(),"get"!==e.value||Z(":")?"set"!==e.value||Z(":")?(K(":"),o=de(),m.markEnd(m.createProperty("init",r,o),s)):(n=ne(),K("("),(e=g).type!==t.Identifier?(K(")"),$(e,a.UnexpectedToken,e.value),o=te([])):(i=[me()],K(")"),o=te(i,e)),m.markEnd(m.createProperty("set",n,o),s)):(n=ne(),K("("),K(")"),o=te([]),m.markEnd(m.createProperty("get",n,o),s))):e.type!==t.EOF&&e.type!==t.Punctuator?(n=ne(),K(":"),o=de(),m.markEnd(m.createProperty("init",n,o),s)):void J(e)}function oe(){var e,n,r,s;if(Z("("))return function(){var e;return K("("),e=he(),K(")"),e}();if(Z("["))return function(){var e,t=[];for(e=g,K("[");!Z("]");)Z(",")?(U(),t.push(null)):(t.push(de()),Z("]")||K(","));return U(),m.markEnd(m.createArrayExpression(t),e)}();if(Z("{"))return function(){var e,t,n,r,s,u=[],c={},f=String;for(s=g,K("{");!Z("}");)t=(e=re()).key.type===o.Identifier?e.key.name:f(e.key.value),r="init"===e.kind?i.Data:"get"===e.kind?i.Get:i.Set,n="$"+t,Object.prototype.hasOwnProperty.call(c,n)?(c[n]===i.Data?l&&r===i.Data?$({},a.StrictDuplicateProperty):r!==i.Data&&$({},a.AccessorDataProperty):r===i.Data?$({},a.AccessorDataProperty):c[n]&r&&$({},a.AccessorGetSet),c[n]|=r):c[n]=r,u.push(e),Z("}")||K(",");return K("}"),m.markEnd(m.createObjectExpression(u),s)}();if(s=g,(e=g.type)===t.Identifier)r=m.createIdentifier(U().value);else if(e===t.StringLiteral||e===t.NumericLiteral)l&&g.octal&&$(g,a.StrictOctalLiteral),r=m.createLiteral(U());else if(e===t.Keyword){if(X("function"))return function(){var e,t,n,r,o,i,s,u,c,f=null;return u=g,Y("function"),Z("(")||(e=g,f=me(),l?O(e.value)&&$(e,a.StrictFunctionName):O(e.value)?(n=e,r=a.StrictFunctionName):C(e.value)&&(n=e,r=a.StrictReservedWord)),c=(o=we(n)).params,t=o.stricted,n=o.firstRestricted,o.message&&(r=o.message),s=l,i=be(),l&&n&&V(n,r),l&&t&&$(t,r),l=s,m.markEnd(m.createFunctionExpression(f,c,[],i),u)}();X("this")?(U(),r=m.createThisExpression()):J(U())}else e===t.BooleanLiteral?((n=U()).value="true"===n.value,r=m.createLiteral(n)):e===t.NullLiteral?((n=U()).value=null,r=m.createLiteral(n)):Z("/")||Z("/=")?(r=m.createLiteral(void 0!==v.tokens?D():L()),z()):J(U());return m.markEnd(r,s)}function ie(){var e=[];if(K("("),!Z(")"))for(;f<p&&(e.push(de()),!Z(")"));)K(",");return K(")"),e}function ae(){return K("."),n=g,function(e){return e.type===t.Identifier||e.type===t.Keyword||e.type===t.BooleanLiteral||e.type===t.NullLiteral}(e=U())||J(e),m.markEnd(m.createIdentifier(e.value),n);var e,n}function se(){var e;return K("["),e=he(),K("]"),e}function ue(){var e,t,n;return n=g,Y("new"),e=function(){var e,t,n,r;for(r=g,e=y.allowIn,t=X("new")?ue():oe(),y.allowIn=e;Z(".")||Z("[");)Z("[")?(n=se(),t=m.createMemberExpression("[",t,n)):(n=ae(),t=m.createMemberExpression(".",t,n)),m.markEnd(t,r);return t}(),t=Z("(")?ie():[],m.markEnd(m.createNewExpression(e,t),n)}function ce(){var e,n,r=g;return e=function(){var e,t,n,r,o;for(o=g,e=y.allowIn,y.allowIn=!0,t=X("new")?ue():oe(),y.allowIn=e;;){if(Z("."))r=ae(),t=m.createMemberExpression(".",t,r);else if(Z("("))n=ie(),t=m.createCallExpression(t,n);else{if(!Z("["))break;r=se(),t=m.createMemberExpression("[",t,r)}m.markEnd(t,o)}return t}(),g.type===t.Punctuator&&(!Z("++")&&!Z("--")||W()||(l&&e.type===o.Identifier&&O(e.name)&&$({},a.StrictLHSPostfix),ee(e)||$({},a.InvalidLHSInAssignment),n=U(),e=m.markEnd(m.createPostfixExpression(n.value,e),r))),e}function le(){var e,n,r;return g.type!==t.Punctuator&&g.type!==t.Keyword?n=ce():Z("++")||Z("--")?(r=g,e=U(),n=le(),l&&n.type===o.Identifier&&O(n.name)&&$({},a.StrictLHSPrefix),ee(n)||$({},a.InvalidLHSInAssignment),n=m.createUnaryExpression(e.value,n),n=m.markEnd(n,r)):Z("+")||Z("-")||Z("~")||Z("!")?(r=g,e=U(),n=le(),n=m.createUnaryExpression(e.value,n),n=m.markEnd(n,r)):X("delete")||X("void")||X("typeof")?(r=g,e=U(),n=le(),n=m.createUnaryExpression(e.value,n),n=m.markEnd(n,r),l&&"delete"===n.operator&&n.argument.type===o.Identifier&&$({},a.StrictDelete)):n=ce(),n}function fe(e,n){var r=0;if(e.type!==t.Punctuator&&e.type!==t.Keyword)return 0;switch(e.value){case"||":r=1;break;case"&&":r=2;break;case"|":r=3;break;case"^":r=4;break;case"&":r=5;break;case"==":case"!=":case"===":case"!==":r=6;break;case"<":case">":case"<=":case">=":case"instanceof":r=7;break;case"in":r=n?7:0;break;case"<<":case">>":case">>>":r=8;break;case"+":case"-":r=9;break;case"*":case"/":case"%":r=11}return r}function de(){var e,n,r,i,s,u;return e=g,s=g,i=n=function(){var e,t,n,r,o;return o=g,e=function(){var e,t,n,r,o,i,a,s,u,c;if(e=g,u=le(),0===(o=fe(r=g,y.allowIn)))return u;for(r.prec=o,U(),t=[e,g],i=[u,r,a=le()];(o=fe(g,y.allowIn))>0;){for(;i.length>2&&o<=i[i.length-2].prec;)a=i.pop(),s=i.pop().value,u=i.pop(),n=m.createBinaryExpression(s,u,a),t.pop(),m.markEnd(n,e=t[t.length-1]),i.push(n);(r=U()).prec=o,i.push(r),t.push(g),n=le(),i.push(n)}for(n=i[c=i.length-1],t.pop();c>1;)n=m.createBinaryExpression(i[c-1].value,i[c-2],n),c-=2,e=t.pop(),m.markEnd(n,e);return n}(),Z("?")&&(U(),t=y.allowIn,y.allowIn=!0,n=de(),y.allowIn=t,K(":"),r=de(),e=m.createConditionalExpression(e,n,r),m.markEnd(e,o)),e}(),g.type!==t.Punctuator||"="!==(u=g.value)&&"*="!==u&&"/="!==u&&"%="!==u&&"+="!==u&&"-="!==u&&"<<="!==u&&">>="!==u&&">>>="!==u&&"&="!==u&&"^="!==u&&"|="!==u||(ee(n)||$({},a.InvalidLHSInAssignment),l&&n.type===o.Identifier&&O(n.name)&&$(e,a.StrictLHSAssignment),e=U(),r=de(),i=m.markEnd(m.createAssignmentExpression(e.value,n,r),s)),i}function he(){var e,t=g;if(e=de(),Z(",")){for(e=m.createSequenceExpression([e]);f<p&&Z(",");)U(),e.expressions.push(de());m.markEnd(e,t)}return e}function pe(){var e,t;return t=g,K("{"),e=function(){for(var e,t=[];f<p&&!Z("}")&&void 0!==(e=xe());)t.push(e);return t}(),K("}"),m.markEnd(m.createBlockStatement(e),t)}function me(){var e,n;return n=g,(e=U()).type!==t.Identifier&&J(e),m.markEnd(m.createIdentifier(e.value),n)}function ge(e){var t,n,r=null;return n=g,t=me(),l&&O(t.name)&&$({},a.StrictVarName),"const"===e?(K("="),r=de()):Z("=")&&(U(),r=de()),m.markEnd(m.createVariableDeclarator(t,r),n)}function ye(e){var t=[];do{if(t.push(ge(e)),!Z(","))break;U()}while(f<p);return t}function ve(){var e,t,n,r=[];for(n=g,X("default")?(U(),e=null):(Y("case"),e=he()),K(":");f<p&&!(Z("}")||X("default")||X("case"));)t=_e(),r.push(t);return m.markEnd(m.createSwitchCase(e,r),n)}function _e(){var e,n,r,i,s,u,d,h,v,_,b=g.type;if(b===t.EOF&&J(g),b===t.Punctuator&&"{"===g.value)return pe();if(i=g,b===t.Punctuator)switch(g.value){case";":return m.markEnd((K(";"),m.createEmptyStatement()),i);case"(":return m.markEnd(function(){var e=he();return Q(),m.createExpressionStatement(e)}(),i)}if(b===t.Keyword)switch(g.value){case"break":return m.markEnd((_=null,Y("break"),59===c.charCodeAt(f)?(U(),y.inIteration||y.inSwitch||V({},a.IllegalBreak),m.createBreakStatement(null)):W()?(y.inIteration||y.inSwitch||V({},a.IllegalBreak),m.createBreakStatement(null)):(g.type===t.Identifier&&(_=me(),Object.prototype.hasOwnProperty.call(y.labelSet,"$"+_.name)||V({},a.UnknownLabel,_.name)),Q(),null!==_||y.inIteration||y.inSwitch||V({},a.IllegalBreak),m.createBreakStatement(_))),i);case"continue":return m.markEnd(function(){var e=null;return Y("continue"),59===c.charCodeAt(f)?(U(),y.inIteration||V({},a.IllegalContinue),m.createContinueStatement(null)):W()?(y.inIteration||V({},a.IllegalContinue),m.createContinueStatement(null)):(g.type===t.Identifier&&(e=me(),Object.prototype.hasOwnProperty.call(y.labelSet,"$"+e.name)||V({},a.UnknownLabel,e.name)),Q(),null!==e||y.inIteration||V({},a.IllegalContinue),m.createContinueStatement(e))}(),i);case"debugger":return m.markEnd((Y("debugger"),Q(),m.createDebuggerStatement()),i);case"do":return m.markEnd((Y("do"),v=y.inIteration,y.inIteration=!0,d=_e(),y.inIteration=v,Y("while"),K("("),h=he(),K(")"),Z(";")&&U(),m.createDoWhileStatement(d,h)),i);case"for":return m.markEnd(function(){var e,t,n,r,o,i,s,u,c,l;return e=t=n=null,Y("for"),K("("),Z(";")?U():(X("var")||X("let")?(y.allowIn=!1,l=g,u=U(),c=ye(),e=m.markEnd(m.createVariableDeclaration(c,u.value),l),y.allowIn=!0,1===e.declarations.length&&X("in")&&(U(),r=e,o=he(),e=null)):(y.allowIn=!1,e=he(),y.allowIn=!0,X("in")&&(ee(e)||$({},a.InvalidLHSInForIn),U(),r=e,o=he(),e=null)),void 0===r&&K(";")),void 0===r&&(Z(";")||(t=he()),K(";"),Z(")")||(n=he())),K(")"),s=y.inIteration,y.inIteration=!0,i=_e(),y.inIteration=s,void 0===r?m.createForStatement(e,t,n,i):m.createForInStatement(r,o,i)}(),i);case"function":return m.markEnd(Se(),i);case"if":return m.markEnd(function(){var e,t,n;return Y("if"),K("("),e=he(),K(")"),t=_e(),X("else")?(U(),n=_e()):n=null,m.createIfStatement(e,t,n)}(),i);case"return":return m.markEnd((u=null,Y("return"),y.inFunctionBody||$({},a.IllegalReturn),32===c.charCodeAt(f)&&E(c.charCodeAt(f+1))?(u=he(),Q(),m.createReturnStatement(u)):W()?m.createReturnStatement(null):(Z(";")||Z("}")||g.type===t.EOF||(u=he()),Q(),m.createReturnStatement(u))),i);case"switch":return m.markEnd(function(){var e,t,n,r,o;if(Y("switch"),K("("),e=he(),K(")"),K("{"),t=[],Z("}"))return U(),m.createSwitchStatement(e,t);for(r=y.inSwitch,y.inSwitch=!0,o=!1;f<p&&!Z("}");)null===(n=ve()).test&&(o&&V({},a.MultipleDefaultsInSwitch),o=!0),t.push(n);return y.inSwitch=r,K("}"),m.createSwitchStatement(e,t)}(),i);case"throw":return m.markEnd(function(){var e;return Y("throw"),W()&&V({},a.NewlineAfterThrow),e=he(),Q(),m.createThrowStatement(e)}(),i);case"try":return m.markEnd(function(){var e,t,n,r,o=[],i=null;return Y("try"),e=pe(),X("catch")&&o.push((r=g,Y("catch"),K("("),Z(")")&&J(g),t=me(),l&&O(t.name)&&$({},a.StrictCatchVariable),K(")"),n=pe(),m.markEnd(m.createCatchClause(t,n),r))),X("finally")&&(U(),i=pe()),0!==o.length||i||V({},a.NoCatchOrFinally),m.createTryStatement(e,[],o,i)}(),i);case"var":return m.markEnd((Y("var"),s=ye(),Q(),m.createVariableDeclaration(s,"var")),i);case"while":return m.markEnd(function(){var e,t,n;return Y("while"),K("("),e=he(),K(")"),n=y.inIteration,y.inIteration=!0,t=_e(),y.inIteration=n,m.createWhileStatement(e,t)}(),i);case"with":return m.markEnd(function(){var e,t;return l&&(P(),$({},a.StrictModeWith)),Y("with"),K("("),e=he(),K(")"),t=_e(),m.createWithStatement(e,t)}(),i)}return(e=he()).type===o.Identifier&&Z(":")?(U(),r="$"+e.name,Object.prototype.hasOwnProperty.call(y.labelSet,r)&&V({},a.Redeclaration,"Label",e.name),y.labelSet[r]=!0,n=_e(),delete y.labelSet[r],m.markEnd(m.createLabeledStatement(e,n),i)):(Q(),m.markEnd(m.createExpressionStatement(e),i))}function be(){var e,n,r,i,s,u,d,h,v=[];for(h=g,K("{");f<p&&g.type===t.StringLiteral&&(n=g,e=xe(),v.push(e),e.expression.type===o.Literal);)"use strict"===c.slice(n.start+1,n.end-1)?(l=!0,r&&$(r,a.StrictOctalLiteral)):!r&&n.octal&&(r=n);for(i=y.labelSet,s=y.inIteration,u=y.inSwitch,d=y.inFunctionBody,y.labelSet={},y.inIteration=!1,y.inSwitch=!1,y.inFunctionBody=!0;f<p&&!Z("}")&&void 0!==(e=xe());)v.push(e);return K("}"),y.labelSet=i,y.inIteration=s,y.inSwitch=u,y.inFunctionBody=d,m.markEnd(m.createBlockStatement(v),h)}function we(e){var t,n,r,o,i,s,u=[];if(K("("),!Z(")"))for(o={};f<p&&(n=g,t=me(),i="$"+n.value,l?(O(n.value)&&(r=n,s=a.StrictParamName),Object.prototype.hasOwnProperty.call(o,i)&&(r=n,s=a.StrictParamDupe)):e||(O(n.value)?(e=n,s=a.StrictParamName):C(n.value)?(e=n,s=a.StrictReservedWord):Object.prototype.hasOwnProperty.call(o,i)&&(e=n,s=a.StrictParamDupe)),u.push(t),o[i]=!0,!Z(")"));)K(",");return K(")"),{params:u,stricted:r,firstRestricted:e,message:s}}function Se(){var e,t,n,r,o,i,s,u,c,f;return f=g,Y("function"),r=g,e=me(),l?O(r.value)&&$(r,a.StrictFunctionName):O(r.value)?(s=r,u=a.StrictFunctionName):C(r.value)&&(s=r,u=a.StrictReservedWord),t=(i=we(s)).params,o=i.stricted,s=i.firstRestricted,i.message&&(u=i.message),c=l,n=be(),l&&s&&V(s,u),l&&o&&$(o,u),l=c,m.markEnd(m.createFunctionDeclaration(e,t,[],n),f)}function xe(){if(g.type===t.Keyword)switch(g.value){case"const":case"let":return r=g,Y(e=g.value),n=ye(e),Q(),m.markEnd(m.createVariableDeclaration(n,e),r);case"function":return Se();default:return _e()}var e,n,r;if(g.type!==t.EOF)return _e()}function ke(){var e,t,n,r=[];for(e=0;e<v.tokens.length;++e)n={type:(t=v.tokens[e]).type,value:t.value},v.range&&(n.range=t.range),v.loc&&(n.loc=t.loc),r.push(n);v.tokens=r}(n={})[(t={BooleanLiteral:1,EOF:2,Identifier:3,Keyword:4,NullLiteral:5,NumericLiteral:6,Punctuator:7,StringLiteral:8,RegularExpression:9}).BooleanLiteral]="Boolean",n[t.EOF]="<end>",n[t.Identifier]="Identifier",n[t.Keyword]="Keyword",n[t.NullLiteral]="Null",n[t.NumericLiteral]="Numeric",n[t.Punctuator]="Punctuator",n[t.StringLiteral]="String",n[t.RegularExpression]="RegularExpression",r=["(","{","[","in","typeof","instanceof","new","return","case","delete","throw","void","=","+=","-=","*=","/=","%=","<<=",">>=",">>>=","&=","|=","^=",",","+","-","*","/","%","++","--","<<",">>",">>>","&","|","^","!","~","&&","||","?",":","===","==",">=","<=","<",">","!=","!=="],o={AssignmentExpression:"AssignmentExpression",ArrayExpression:"ArrayExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",Program:"Program",Property:"Property",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SwitchStatement:"SwitchStatement",SwitchCase:"SwitchCase",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement"},i={Data:1,Get:2,Set:4},a={UnexpectedToken:"Unexpected token %0",UnexpectedNumber:"Unexpected number",UnexpectedString:"Unexpected string",UnexpectedIdentifier:"Unexpected identifier",UnexpectedReserved:"Unexpected reserved word",UnexpectedEOS:"Unexpected end of input",NewlineAfterThrow:"Illegal newline after throw",InvalidRegExp:"Invalid regular expression",UnterminatedRegExp:"Invalid regular expression: missing /",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",MultipleDefaultsInSwitch:"More than one default clause in switch statement",NoCatchOrFinally:"Missing catch or finally after try",UnknownLabel:"Undefined label '%0'",Redeclaration:"%0 '%1' has already been declared",IllegalContinue:"Illegal continue statement",IllegalBreak:"Illegal break statement",IllegalReturn:"Illegal return statement",StrictModeWith:"Strict mode code may not include a with statement",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",StrictParamDupe:"Strict mode function may not have duplicate parameter names",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictDuplicateProperty:"Duplicate data property in object literal not allowed in strict mode",AccessorDataProperty:"Object literal may not have data and accessor property with the same name",AccessorGetSet:"Object literal may not have multiple get/set accessors with the same name",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictReservedWord:"Use of future reserved word in strict mode"},s={NonAsciiIdentifierStart:new RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]"),NonAsciiIdentifierPart:new RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮ̀-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁ҃-҇Ҋ-ԧԱ-Ֆՙա-և֑-ׇֽֿׁׂׅׄא-תװ-ײؐ-ؚؠ-٩ٮ-ۓە-ۜ۟-۪ۨ-ۼۿܐ-݊ݍ-ޱ߀-ߵߺࠀ-࠭ࡀ-࡛ࢠࢢ-ࢬࣤ-ࣾऀ-ॣ०-९ॱ-ॷॹ-ॿঁ-ঃঅ-ঌএঐও-নপ-রলশ-হ়-ৄেৈো-ৎৗড়ঢ়য়-ৣ০-ৱਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹ਼ਾ-ੂੇੈੋ-੍ੑਖ਼-ੜਫ਼੦-ੵઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હ઼-ૅે-ૉો-્ૐૠ-ૣ૦-૯ଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହ଼-ୄେୈୋ-୍ୖୗଡ଼ଢ଼ୟ-ୣ୦-୯ୱஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-்ௐௗ௦-௯ఁ-ఃఅ-ఌఎ-ఐఒ-నప-ళవ-హఽ-ౄె-ైొ-్ౕౖౘౙౠ-ౣ౦-౯ಂಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹ಼-ೄೆ-ೈೊ-್ೕೖೞೠ-ೣ೦-೯ೱೲംഃഅ-ഌഎ-ഐഒ-ഺഽ-ൄെ-ൈൊ-ൎൗൠ-ൣ൦-൯ൺ-ൿංඃඅ-ඖක-නඳ-රලව-ෆ්ා-ුූෘ-ෟෲෳก-ฺเ-๎๐-๙ກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ູົ-ຽເ-ໄໆ່-ໍ໐-໙ໜ-ໟༀ༘༙༠-༩༹༵༷༾-ཇཉ-ཬཱ-྄྆-ྗྙ-ྼ࿆က-၉ၐ-ႝႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፝-፟ᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-᜔ᜠ-᜴ᝀ-ᝓᝠ-ᝬᝮ-ᝰᝲᝳក-៓ៗៜ៝០-៩᠋-᠍᠐-᠙ᠠ-ᡷᢀ-ᢪᢰ-ᣵᤀ-ᤜᤠ-ᤫᤰ-᤻᥆-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉ᧐-᧙ᨀ-ᨛᨠ-ᩞ᩠-᩿᩼-᪉᪐-᪙ᪧᬀ-ᭋ᭐-᭙᭫-᭳ᮀ-᯳ᰀ-᰷᱀-᱉ᱍ-ᱽ᳐-᳔᳒-ᳶᴀ-ᷦ᷼-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼ‌‍‿⁀⁔ⁱⁿₐ-ₜ⃐-⃥⃜⃡-⃰ℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯ⵿-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⷠ-ⷿⸯ々-〇〡-〯〱-〵〸-〼ぁ-ゖ゙゚ゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘫꙀ-꙯ꙴ-꙽ꙿ-ꚗꚟ-꛱ꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠧꡀ-ꡳꢀ-꣄꣐-꣙꣠-ꣷꣻ꤀-꤭ꤰ-꥓ꥠ-ꥼꦀ-꧀ꧏ-꧙ꨀ-ꨶꩀ-ꩍ꩐-꩙ꩠ-ꩶꩺꩻꪀ-ꫂꫛ-ꫝꫠ-ꫯꫲ-꫶ꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯪ꯬꯭꯰-꯹가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻ︀-️︠-︦︳︴﹍-﹏ﹰ-ﹴﹶ-ﻼ0-9A-Z_a-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]")},u={name:"SyntaxTree",processComment:function(e){var t,n;if(!(e.type===o.Program&&e.body.length>0)){for(v.trailingComments.length>0?v.trailingComments[0].range[0]>=e.range[1]?(n=v.trailingComments,v.trailingComments=[]):v.trailingComments.length=0:v.bottomRightStack.length>0&&v.bottomRightStack[v.bottomRightStack.length-1].trailingComments&&v.bottomRightStack[v.bottomRightStack.length-1].trailingComments[0].range[0]>=e.range[1]&&(n=v.bottomRightStack[v.bottomRightStack.length-1].trailingComments,delete v.bottomRightStack[v.bottomRightStack.length-1].trailingComments);v.bottomRightStack.length>0&&v.bottomRightStack[v.bottomRightStack.length-1].range[0]>=e.range[0];)t=v.bottomRightStack.pop();t?t.leadingComments&&t.leadingComments[t.leadingComments.length-1].range[1]<=e.range[0]&&(e.leadingComments=t.leadingComments,delete t.leadingComments):v.leadingComments.length>0&&v.leadingComments[v.leadingComments.length-1].range[1]<=e.range[0]&&(e.leadingComments=v.leadingComments,v.leadingComments=[]),n&&(e.trailingComments=n),v.bottomRightStack.push(e)}},markEnd:function(e,t){return v.range&&(e.range=[t.start,f]),v.loc&&(e.loc=new H(void 0===t.startLineNumber?t.lineNumber:t.startLineNumber,t.start-(void 0===t.startLineStart?t.lineStart:t.startLineStart),d,f-h),this.postProcess(e)),v.attachComment&&this.processComment(e),e},postProcess:function(e){return v.source&&(e.loc.source=v.source),e},createArrayExpression:function(e){return{type:o.ArrayExpression,elements:e}},createAssignmentExpression:function(e,t,n){return{type:o.AssignmentExpression,operator:e,left:t,right:n}},createBinaryExpression:function(e,t,n){return{type:"||"===e||"&&"===e?o.LogicalExpression:o.BinaryExpression,operator:e,left:t,right:n}},createBlockStatement:function(e){return{type:o.BlockStatement,body:e}},createBreakStatement:function(e){return{type:o.BreakStatement,label:e}},createCallExpression:function(e,t){return{type:o.CallExpression,callee:e,arguments:t}},createCatchClause:function(e,t){return{type:o.CatchClause,param:e,body:t}},createConditionalExpression:function(e,t,n){return{type:o.ConditionalExpression,test:e,consequent:t,alternate:n}},createContinueStatement:function(e){return{type:o.ContinueStatement,label:e}},createDebuggerStatement:function(){return{type:o.DebuggerStatement}},createDoWhileStatement:function(e,t){return{type:o.DoWhileStatement,body:e,test:t}},createEmptyStatement:function(){return{type:o.EmptyStatement}},createExpressionStatement:function(e){return{type:o.ExpressionStatement,expression:e}},createForStatement:function(e,t,n,r){return{type:o.ForStatement,init:e,test:t,update:n,body:r}},createForInStatement:function(e,t,n){return{type:o.ForInStatement,left:e,right:t,body:n,each:!1}},createFunctionDeclaration:function(e,t,n,r){return{type:o.FunctionDeclaration,id:e,params:t,defaults:n,body:r,rest:null,generator:!1,expression:!1}},createFunctionExpression:function(e,t,n,r){return{type:o.FunctionExpression,id:e,params:t,defaults:n,body:r,rest:null,generator:!1,expression:!1}},createIdentifier:function(e){return{type:o.Identifier,name:e}},createIfStatement:function(e,t,n){return{type:o.IfStatement,test:e,consequent:t,alternate:n}},createLabeledStatement:function(e,t){return{type:o.LabeledStatement,label:e,body:t}},createLiteral:function(e){return{type:o.Literal,value:e.value,raw:c.slice(e.start,e.end)}},createMemberExpression:function(e,t,n){return{type:o.MemberExpression,computed:"["===e,object:t,property:n}},createNewExpression:function(e,t){return{type:o.NewExpression,callee:e,arguments:t}},createObjectExpression:function(e){return{type:o.ObjectExpression,properties:e}},createPostfixExpression:function(e,t){return{type:o.UpdateExpression,operator:e,argument:t,prefix:!1}},createProgram:function(e){return{type:o.Program,body:e}},createProperty:function(e,t,n){return{type:o.Property,key:t,value:n,kind:e}},createReturnStatement:function(e){return{type:o.ReturnStatement,argument:e}},createSequenceExpression:function(e){return{type:o.SequenceExpression,expressions:e}},createSwitchCase:function(e,t){return{type:o.SwitchCase,test:e,consequent:t}},createSwitchStatement:function(e,t){return{type:o.SwitchStatement,discriminant:e,cases:t}},createThisExpression:function(){return{type:o.ThisExpression}},createThrowStatement:function(e){return{type:o.ThrowStatement,argument:e}},createTryStatement:function(e,t,n,r){return{type:o.TryStatement,block:e,guardedHandlers:t,handlers:n,finalizer:r}},createUnaryExpression:function(e,t){return"++"===e||"--"===e?{type:o.UpdateExpression,operator:e,argument:t,prefix:!0}:{type:o.UnaryExpression,operator:e,argument:t,prefix:!0}},createVariableDeclaration:function(e,t){return{type:o.VariableDeclaration,declarations:e,kind:t}},createVariableDeclarator:function(e,t){return{type:o.VariableDeclarator,id:e,init:t}},createWhileStatement:function(e,t){return{type:o.WhileStatement,test:e,body:t}},createWithStatement:function(e,t){return{type:o.WithStatement,object:e,body:t}}},e.version="1.2.2",e.tokenize=function(e,n){var r;"string"==typeof e||e instanceof String||(e=String(e)),m=u,f=0,d=(c=e).length>0?1:0,h=0,p=c.length,g=null,y={allowIn:!0,labelSet:{},inFunctionBody:!1,inIteration:!1,inSwitch:!1,lastCommentStart:-1},v={},(n=n||{}).tokens=!0,v.tokens=[],v.tokenize=!0,v.openParenToken=-1,v.openCurlyToken=-1,v.range="boolean"==typeof n.range&&n.range,v.loc="boolean"==typeof n.loc&&n.loc,"boolean"==typeof n.comment&&n.comment&&(v.comments=[]),"boolean"==typeof n.tolerant&&n.tolerant&&(v.errors=[]);try{if(z(),g.type===t.EOF)return v.tokens;for(U();g.type!==t.EOF;)try{U()}catch(e){if(v.errors){v.errors.push(e);break}throw e}ke(),r=v.tokens,void 0!==v.comments&&(r.comments=v.comments),void 0!==v.errors&&(r.errors=v.errors)}catch(e){throw e}finally{v={}}return r},e.parse=function(e,n){var r,i,s,_;i=String,"string"==typeof e||e instanceof String||(e=i(e)),m=u,f=0,d=(c=e).length>0?1:0,h=0,p=c.length,g=null,y={allowIn:!0,labelSet:{},inFunctionBody:!1,inIteration:!1,inSwitch:!1,lastCommentStart:-1},v={},void 0!==n&&(v.range="boolean"==typeof n.range&&n.range,v.loc="boolean"==typeof n.loc&&n.loc,v.attachComment="boolean"==typeof n.attachComment&&n.attachComment,v.loc&&null!=n.source&&(v.source=i(n.source)),"boolean"==typeof n.tokens&&n.tokens&&(v.tokens=[]),"boolean"==typeof n.comment&&n.comment&&(v.comments=[]),"boolean"==typeof n.tolerant&&n.tolerant&&(v.errors=[]),v.attachComment&&(v.range=!0,v.comments=[],v.bottomRightStack=[],v.trailingComments=[],v.leadingComments=[]));try{P(),z(),_=g,l=!1,s=function(){for(var e,n,r,i=[];f<p&&(n=g).type===t.StringLiteral&&(e=xe(),i.push(e),e.expression.type===o.Literal);)"use strict"===c.slice(n.start+1,n.end-1)?(l=!0,r&&$(r,a.StrictOctalLiteral)):!r&&n.octal&&(r=n);for(;f<p&&void 0!==(e=xe());)i.push(e);return i}(),r=m.markEnd(m.createProgram(s),_),void 0!==v.comments&&(r.comments=v.comments),void 0!==v.tokens&&(ke(),r.tokens=v.tokens),void 0!==v.errors&&(r.errors=v.errors)}catch(e){throw e}finally{v={}}return r},e.Syntax=function(){var e,t={};for(e in"function"==typeof Object.create&&(t=Object.create(null)),o)o.hasOwnProperty(e)&&(t[e]=o[e]);return"function"==typeof Object.freeze&&Object.freeze(t),t}()},r(void 0!==n?n:this.esprima={})},{}],1:[function(e,t,n){(function(r){var o=function(){var e={trace:function(){},yy:{},symbols_:{error:2,JSON_PATH:3,DOLLAR:4,PATH_COMPONENTS:5,LEADING_CHILD_MEMBER_EXPRESSION:6,PATH_COMPONENT:7,MEMBER_COMPONENT:8,SUBSCRIPT_COMPONENT:9,CHILD_MEMBER_COMPONENT:10,DESCENDANT_MEMBER_COMPONENT:11,DOT:12,MEMBER_EXPRESSION:13,DOT_DOT:14,STAR:15,IDENTIFIER:16,SCRIPT_EXPRESSION:17,INTEGER:18,END:19,CHILD_SUBSCRIPT_COMPONENT:20,DESCENDANT_SUBSCRIPT_COMPONENT:21,"[":22,SUBSCRIPT:23,"]":24,SUBSCRIPT_EXPRESSION:25,SUBSCRIPT_EXPRESSION_LIST:26,SUBSCRIPT_EXPRESSION_LISTABLE:27,",":28,STRING_LITERAL:29,ARRAY_SLICE:30,FILTER_EXPRESSION:31,QQ_STRING:32,Q_STRING:33,$accept:0,$end:1},terminals_:{2:"error",4:"DOLLAR",12:"DOT",14:"DOT_DOT",15:"STAR",16:"IDENTIFIER",17:"SCRIPT_EXPRESSION",18:"INTEGER",19:"END",22:"[",24:"]",28:",",30:"ARRAY_SLICE",31:"FILTER_EXPRESSION",32:"QQ_STRING",33:"Q_STRING"},productions_:[0,[3,1],[3,2],[3,1],[3,2],[5,1],[5,2],[7,1],[7,1],[8,1],[8,1],[10,2],[6,1],[11,2],[13,1],[13,1],[13,1],[13,1],[13,1],[9,1],[9,1],[20,3],[21,4],[23,1],[23,1],[26,1],[26,3],[27,1],[27,1],[27,1],[25,1],[25,1],[25,1],[29,1],[29,1]],performAction:function(e,n,r,o,i,a,s){o.ast||(o.ast=t,t.initialize());var u=a.length-1;switch(i){case 1:return o.ast.set({expression:{type:"root",value:a[u]}}),o.ast.unshift(),o.ast.yield();case 2:return o.ast.set({expression:{type:"root",value:a[u-1]}}),o.ast.unshift(),o.ast.yield();case 3:return o.ast.unshift(),o.ast.yield();case 4:return o.ast.set({operation:"member",scope:"child",expression:{type:"identifier",value:a[u-1]}}),o.ast.unshift(),o.ast.yield();case 5:case 6:case 11:case 13:case 18:case 21:case 22:case 23:break;case 7:o.ast.set({operation:"member"}),o.ast.push();break;case 8:o.ast.set({operation:"subscript"}),o.ast.push();break;case 9:case 19:o.ast.set({scope:"child"});break;case 10:case 20:o.ast.set({scope:"descendant"});break;case 12:o.ast.set({scope:"child",operation:"member"});break;case 14:o.ast.set({expression:{type:"wildcard",value:a[u]}});break;case 15:o.ast.set({expression:{type:"identifier",value:a[u]}});break;case 16:o.ast.set({expression:{type:"script_expression",value:a[u]}});break;case 17:o.ast.set({expression:{type:"numeric_literal",value:parseInt(a[u])}});break;case 24:a[u].length>1?o.ast.set({expression:{type:"union",value:a[u]}}):this.$=a[u];break;case 25:this.$=[a[u]];break;case 26:this.$=a[u-2].concat(a[u]);break;case 27:this.$={expression:{type:"numeric_literal",value:parseInt(a[u])}},o.ast.set(this.$);break;case 28:this.$={expression:{type:"string_literal",value:a[u]}},o.ast.set(this.$);break;case 29:this.$={expression:{type:"slice",value:a[u]}},o.ast.set(this.$);break;case 30:this.$={expression:{type:"wildcard",value:a[u]}},o.ast.set(this.$);break;case 31:this.$={expression:{type:"script_expression",value:a[u]}},o.ast.set(this.$);break;case 32:this.$={expression:{type:"filter_expression",value:a[u]}},o.ast.set(this.$);break;case 33:case 34:this.$=a[u]}},table:[{3:1,4:[1,2],6:3,13:4,15:[1,5],16:[1,6],17:[1,7],18:[1,8],19:[1,9]},{1:[3]},{1:[2,1],5:10,7:11,8:12,9:13,10:14,11:15,12:[1,18],14:[1,19],20:16,21:17,22:[1,20]},{1:[2,3],5:21,7:11,8:12,9:13,10:14,11:15,12:[1,18],14:[1,19],20:16,21:17,22:[1,20]},{1:[2,12],12:[2,12],14:[2,12],22:[2,12]},{1:[2,14],12:[2,14],14:[2,14],22:[2,14]},{1:[2,15],12:[2,15],14:[2,15],22:[2,15]},{1:[2,16],12:[2,16],14:[2,16],22:[2,16]},{1:[2,17],12:[2,17],14:[2,17],22:[2,17]},{1:[2,18],12:[2,18],14:[2,18],22:[2,18]},{1:[2,2],7:22,8:12,9:13,10:14,11:15,12:[1,18],14:[1,19],20:16,21:17,22:[1,20]},{1:[2,5],12:[2,5],14:[2,5],22:[2,5]},{1:[2,7],12:[2,7],14:[2,7],22:[2,7]},{1:[2,8],12:[2,8],14:[2,8],22:[2,8]},{1:[2,9],12:[2,9],14:[2,9],22:[2,9]},{1:[2,10],12:[2,10],14:[2,10],22:[2,10]},{1:[2,19],12:[2,19],14:[2,19],22:[2,19]},{1:[2,20],12:[2,20],14:[2,20],22:[2,20]},{13:23,15:[1,5],16:[1,6],17:[1,7],18:[1,8],19:[1,9]},{13:24,15:[1,5],16:[1,6],17:[1,7],18:[1,8],19:[1,9],22:[1,25]},{15:[1,29],17:[1,30],18:[1,33],23:26,25:27,26:28,27:32,29:34,30:[1,35],31:[1,31],32:[1,36],33:[1,37]},{1:[2,4],7:22,8:12,9:13,10:14,11:15,12:[1,18],14:[1,19],20:16,21:17,22:[1,20]},{1:[2,6],12:[2,6],14:[2,6],22:[2,6]},{1:[2,11],12:[2,11],14:[2,11],22:[2,11]},{1:[2,13],12:[2,13],14:[2,13],22:[2,13]},{15:[1,29],17:[1,30],18:[1,33],23:38,25:27,26:28,27:32,29:34,30:[1,35],31:[1,31],32:[1,36],33:[1,37]},{24:[1,39]},{24:[2,23]},{24:[2,24],28:[1,40]},{24:[2,30]},{24:[2,31]},{24:[2,32]},{24:[2,25],28:[2,25]},{24:[2,27],28:[2,27]},{24:[2,28],28:[2,28]},{24:[2,29],28:[2,29]},{24:[2,33],28:[2,33]},{24:[2,34],28:[2,34]},{24:[1,41]},{1:[2,21],12:[2,21],14:[2,21],22:[2,21]},{18:[1,33],27:42,29:34,30:[1,35],32:[1,36],33:[1,37]},{1:[2,22],12:[2,22],14:[2,22],22:[2,22]},{24:[2,26],28:[2,26]}],defaultActions:{27:[2,23],29:[2,30],30:[2,31],31:[2,32]},parseError:function(e,t){if(!t.recoverable)throw new Error(e);this.trace(e)},parse:function(e){var t=[0],n=[null],r=[],o=this.table,i="",a=0,s=0,u=r.slice.call(arguments,1);this.lexer.setInput(e),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,void 0===this.lexer.yylloc&&(this.lexer.yylloc={});var c=this.lexer.yylloc;r.push(c);var l=this.lexer.options&&this.lexer.options.ranges;this.parseError="function"==typeof this.yy.parseError?this.yy.parseError:Object.getPrototypeOf(this).parseError;for(var f,d,h,p,m,g,y,v,_={};;){if(this.defaultActions[d=t[t.length-1]]?h=this.defaultActions[d]:(null==f&&(v=void 0,"number"!=typeof(v=this.lexer.lex()||1)&&(v=this.symbols_[v]||v),f=v),h=o[d]&&o[d][f]),void 0===h||!h.length||!h[0]){var b;for(m in y=[],o[d])this.terminals_[m]&&m>2&&y.push("'"+this.terminals_[m]+"'");b=this.lexer.showPosition?"Parse error on line "+(a+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+y.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(a+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(b,{text:this.lexer.match,token:this.terminals_[f]||f,line:this.lexer.yylineno,loc:c,expected:y})}if(h[0]instanceof Array&&h.length>1)throw new Error("Parse Error: multiple actions possible at state: "+d+", token: "+f);switch(h[0]){case 1:t.push(f),n.push(this.lexer.yytext),r.push(this.lexer.yylloc),t.push(h[1]),f=null,s=this.lexer.yyleng,i=this.lexer.yytext,a=this.lexer.yylineno,c=this.lexer.yylloc;break;case 2:if(_.$=n[n.length-(g=this.productions_[h[1]][1])],_._$={first_line:r[r.length-(g||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(g||1)].first_column,last_column:r[r.length-1].last_column},l&&(_._$.range=[r[r.length-(g||1)].range[0],r[r.length-1].range[1]]),void 0!==(p=this.performAction.apply(_,[i,s,a,this.yy,h[1],n,r].concat(u))))return p;g&&(t=t.slice(0,-1*g*2),n=n.slice(0,-1*g),r=r.slice(0,-1*g)),t.push(this.productions_[h[1]][0]),n.push(_.$),r.push(_._$),t.push(o[t[t.length-2]][t[t.length-1]]);break;case 3:return!0}}return!0}},t={initialize:function(){this._nodes=[],this._node={},this._stash=[]},set:function(e){for(var t in e)this._node[t]=e[t];return this._node},node:function(e){return arguments.length&&(this._node=e),this._node},push:function(){this._nodes.push(this._node),this._node={}},unshift:function(){this._nodes.unshift(this._node),this._node={}},yield:function(){var e=this._nodes;return this.initialize(),e}},n=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e){return this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t-1),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var o=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[o[0],o[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var n,r,o;if(this.options.backtrack_lexer&&(o={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(o.yylloc.range=this.yylloc.range.slice(0))),(r=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var i in o)this[i]=o[i];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var o=this._currentRules(),i=0;i<o.length;i++)if((n=this._input.match(this.rules[o[i]]))&&(!t||n[0].length>t[0].length)){if(t=n,r=i,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,o[i])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,o[r]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,n,r){switch(n){case 0:return 4;case 1:return 14;case 2:return 12;case 3:return 15;case 4:return 16;case 5:return 22;case 6:return 24;case 7:return 28;case 8:return 30;case 9:return 18;case 10:return t.yytext=t.yytext.substr(1,t.yyleng-2),32;case 11:return t.yytext=t.yytext.substr(1,t.yyleng-2),33;case 12:return 17;case 13:return 31}},rules:[/^(?:\$)/,/^(?:\.\.)/,/^(?:\.)/,/^(?:\*)/,/^(?:[a-zA-Z_]+[a-zA-Z0-9_]*)/,/^(?:\[)/,/^(?:\])/,/^(?:,)/,/^(?:((-?(?:0|[1-9][0-9]*)))?\:((-?(?:0|[1-9][0-9]*)))?(\:((-?(?:0|[1-9][0-9]*)))?)?)/,/^(?:(-?(?:0|[1-9][0-9]*)))/,/^(?:"(?:\\["bfnrt/\\]|\\u[a-fA-F0-9]{4}|[^"\\])*")/,/^(?:'(?:\\['bfnrt/\\]|\\u[a-fA-F0-9]{4}|[^'\\])*')/,/^(?:\(.+?\)(?=\]))/,/^(?:\?\(.+?\)(?=\]))/],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],inclusive:!0}}};return e}();function r(){this.yy={}}return e.lexer=n,r.prototype=e,e.Parser=r,new r}();void 0!==e&&void 0!==n&&(n.parser=o,n.Parser=o.Parser,n.parse=function(){return o.parse.apply(o,arguments)},n.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),r.exit(1));var o=e("fs").readFileSync(e("path").normalize(t[1]),"utf8");return n.parser.parse(o)},void 0!==t&&e.main===t&&n.main(r.argv.slice(1)))}).call(this,e("_process"))},{_process:14,fs:12,path:13}],2:[function(e,t,n){t.exports={identifier:"[a-zA-Z_]+[a-zA-Z0-9_]*",integer:"-?(?:0|[1-9][0-9]*)",qq_string:'"(?:\\\\["bfnrt/\\\\]|\\\\u[a-fA-F0-9]{4}|[^"\\\\])*"',q_string:"'(?:\\\\['bfnrt/\\\\]|\\\\u[a-fA-F0-9]{4}|[^'\\\\])*'"}},{}],3:[function(e,t,n){var r=e("./dict"),o=e("fs"),i={lex:{macros:{esc:"\\\\",int:r.integer},rules:[["\\$","return 'DOLLAR'"],["\\.\\.","return 'DOT_DOT'"],["\\.","return 'DOT'"],["\\*","return 'STAR'"],[r.identifier,"return 'IDENTIFIER'"],["\\[","return '['"],["\\]","return ']'"],[",","return ','"],["({int})?\\:({int})?(\\:({int})?)?","return 'ARRAY_SLICE'"],["{int}","return 'INTEGER'"],[r.qq_string,"yytext = yytext.substr(1,yyleng-2); return 'QQ_STRING';"],[r.q_string,"yytext = yytext.substr(1,yyleng-2); return 'Q_STRING';"],["\\(.+?\\)(?=\\])","return 'SCRIPT_EXPRESSION'"],["\\?\\(.+?\\)(?=\\])","return 'FILTER_EXPRESSION'"]]},start:"JSON_PATH",bnf:{JSON_PATH:[["DOLLAR",'yy.ast.set({ expression: { type: "root", value: $1 } }); yy.ast.unshift(); return yy.ast.yield()'],["DOLLAR PATH_COMPONENTS",'yy.ast.set({ expression: { type: "root", value: $1 } }); yy.ast.unshift(); return yy.ast.yield()'],["LEADING_CHILD_MEMBER_EXPRESSION","yy.ast.unshift(); return yy.ast.yield()"],["LEADING_CHILD_MEMBER_EXPRESSION PATH_COMPONENTS",'yy.ast.set({ operation: "member", scope: "child", expression: { type: "identifier", value: $1 }}); yy.ast.unshift(); return yy.ast.yield()']],PATH_COMPONENTS:[["PATH_COMPONENT",""],["PATH_COMPONENTS PATH_COMPONENT",""]],PATH_COMPONENT:[["MEMBER_COMPONENT",'yy.ast.set({ operation: "member" }); yy.ast.push()'],["SUBSCRIPT_COMPONENT",'yy.ast.set({ operation: "subscript" }); yy.ast.push() ']],MEMBER_COMPONENT:[["CHILD_MEMBER_COMPONENT",'yy.ast.set({ scope: "child" })'],["DESCENDANT_MEMBER_COMPONENT",'yy.ast.set({ scope: "descendant" })']],CHILD_MEMBER_COMPONENT:[["DOT MEMBER_EXPRESSION",""]],LEADING_CHILD_MEMBER_EXPRESSION:[["MEMBER_EXPRESSION",'yy.ast.set({ scope: "child", operation: "member" })']],DESCENDANT_MEMBER_COMPONENT:[["DOT_DOT MEMBER_EXPRESSION",""]],MEMBER_EXPRESSION:[["STAR",'yy.ast.set({ expression: { type: "wildcard", value: $1 } })'],["IDENTIFIER",'yy.ast.set({ expression: { type: "identifier", value: $1 } })'],["SCRIPT_EXPRESSION",'yy.ast.set({ expression: { type: "script_expression", value: $1 } })'],["INTEGER",'yy.ast.set({ expression: { type: "numeric_literal", value: parseInt($1) } })'],["END",""]],SUBSCRIPT_COMPONENT:[["CHILD_SUBSCRIPT_COMPONENT",'yy.ast.set({ scope: "child" })'],["DESCENDANT_SUBSCRIPT_COMPONENT",'yy.ast.set({ scope: "descendant" })']],CHILD_SUBSCRIPT_COMPONENT:[["[ SUBSCRIPT ]",""]],DESCENDANT_SUBSCRIPT_COMPONENT:[["DOT_DOT [ SUBSCRIPT ]",""]],SUBSCRIPT:[["SUBSCRIPT_EXPRESSION",""],["SUBSCRIPT_EXPRESSION_LIST",'$1.length > 1? yy.ast.set({ expression: { type: "union", value: $1 } }) : $$ = $1']],SUBSCRIPT_EXPRESSION_LIST:[["SUBSCRIPT_EXPRESSION_LISTABLE","$$ = [$1]"],["SUBSCRIPT_EXPRESSION_LIST , SUBSCRIPT_EXPRESSION_LISTABLE","$$ = $1.concat($3)"]],SUBSCRIPT_EXPRESSION_LISTABLE:[["INTEGER",'$$ = { expression: { type: "numeric_literal", value: parseInt($1) } }; yy.ast.set($$)'],["STRING_LITERAL",'$$ = { expression: { type: "string_literal", value: $1 } }; yy.ast.set($$)'],["ARRAY_SLICE",'$$ = { expression: { type: "slice", value: $1 } }; yy.ast.set($$)']],SUBSCRIPT_EXPRESSION:[["STAR",'$$ = { expression: { type: "wildcard", value: $1 } }; yy.ast.set($$)'],["SCRIPT_EXPRESSION",'$$ = { expression: { type: "script_expression", value: $1 } }; yy.ast.set($$)'],["FILTER_EXPRESSION",'$$ = { expression: { type: "filter_expression", value: $1 } }; yy.ast.set($$)']],STRING_LITERAL:[["QQ_STRING","$$ = $1"],["Q_STRING","$$ = $1"]]}};o.readFileSync&&(i.moduleInclude=o.readFileSync(e.resolve("../include/module.js")),i.actionInclude=o.readFileSync(e.resolve("../include/action.js"))),t.exports=i},{"./dict":2,fs:12}],4:[function(e,t,n){var r=e("./aesprim"),o=e("./slice"),i=e("static-eval"),a=e("underscore").uniq,s=function(){return this.initialize.apply(this,arguments)};function u(t,n,o){var i=e("./index"),a=h(r.parse(n).body[0].expression,{"@":t.value}),s=o.replace(/\{\{\s*value\s*\}\}/g,a),u=i.nodes(t.value,s);return u.forEach((function(e){e.path=t.path.concat(e.path.slice(1))})),u}function c(e){return Array.isArray(e)}function l(e){return function(t,n,r,o){var i=t.value,a=t.path,s=[],u=function(t,i){var a;c(t)?(t.forEach((function(e,t){s.length>=o||r(t,e,n)&&s.push({path:i.concat(t),value:e})})),t.forEach((function(t,n){s.length>=o||e&&u(t,i.concat(n))}))):(a=t)&&!(a instanceof Array)&&a instanceof Object&&(this.keys(t).forEach((function(e){s.length>=o||r(e,t[e],n)&&s.push({path:i.concat(e),value:t[e]})})),this.keys(t).forEach((function(n){s.length>=o||e&&u(t[n],i.concat(n))})))}.bind(this);return u(i,a),s}}function f(e){return function(t,n,r){return this.descend(n,t.expression.value,e,r)}}function d(e){return function(t,n,r){return this.traverse(n,t.expression.value,e,r)}}function h(){try{return i.apply(this,arguments)}catch(e){}}function p(e){return e=e.filter((function(e){return e})),a(e,(function(e){return e.path.map((function(e){return String(e).replace("-","--")})).join("-")}))}function m(e){var t=String(e);return t.match(/^-?[0-9]+$/)?parseInt(t):null}s.prototype.initialize=function(){this.traverse=l(!0),this.descend=l()},s.prototype.keys=Object.keys,s.prototype.resolve=function(e){var t=[e.operation,e.scope,e.expression.type].join("-"),n=this._fns[t];if(!n)throw new Error("couldn't resolve key: "+t);return n.bind(this)},s.prototype.register=function(e,t){if(!t instanceof Function)throw new Error("handler must be a function");this._fns[e]=t},s.prototype._fns={"member-child-identifier":function(e,t){var n=e.expression.value,r=t.value;if(r instanceof Object&&n in r)return[{value:r[n],path:t.path.concat(n)}]},"member-descendant-identifier":d((function(e,t,n){return e==n})),"subscript-child-numeric_literal":f((function(e,t,n){return e===n})),"member-child-numeric_literal":f((function(e,t,n){return String(e)===String(n)})),"subscript-descendant-numeric_literal":d((function(e,t,n){return e===n})),"member-child-wildcard":f((function(){return!0})),"member-descendant-wildcard":d((function(){return!0})),"subscript-descendant-wildcard":d((function(){return!0})),"subscript-child-wildcard":f((function(){return!0})),"subscript-child-slice":function(e,t){if(c(t.value)){var n=e.expression.value.split(":").map(m),r=t.value.map((function(e,n){return{value:e,path:t.path.concat(n)}}));return o.apply(null,[r].concat(n))}},"subscript-child-union":function(e,t){var n=[];return e.expression.value.forEach((function(e){var r={operation:"subscript",scope:"child",expression:e.expression},o=this.resolve(r)(r,t);o&&(n=n.concat(o))}),this),p(n)},"subscript-descendant-union":function(t,n,r){var o=e(".."),i=this,a=[];return o.nodes(n,"$..*").slice(1).forEach((function(e){a.length>=r||t.expression.value.forEach((function(t){var n={operation:"subscript",scope:"child",expression:t.expression},r=i.resolve(n)(n,e);a=a.concat(r)}))})),p(a)},"subscript-child-filter_expression":function(e,t,n){var o=e.expression.value.slice(2,-1),i=r.parse(o).body[0].expression;return this.descend(t,null,(function(e,t){return h(i,{"@":t})}),n)},"subscript-descendant-filter_expression":function(e,t,n){var o=e.expression.value.slice(2,-1),i=r.parse(o).body[0].expression;return this.traverse(t,null,(function(e,t){return h(i,{"@":t})}),n)},"subscript-child-script_expression":function(e,t){return u(t,e.expression.value.slice(1,-1),"$[{{value}}]")},"member-child-script_expression":function(e,t){return u(t,e.expression.value.slice(1,-1),"$.{{value}}")},"member-descendant-script_expression":function(e,t){return u(t,e.expression.value.slice(1,-1),"$..value")}},s.prototype._fns["subscript-child-string_literal"]=s.prototype._fns["member-child-identifier"],s.prototype._fns["member-descendant-numeric_literal"]=s.prototype._fns["subscript-descendant-string_literal"]=s.prototype._fns["member-descendant-identifier"],t.exports=s},{"..":"jsonpath","./aesprim":"./aesprim","./index":5,"./slice":7,"static-eval":15,underscore:12}],5:[function(e,t,n){var r=e("assert"),o=e("./dict"),i=e("./parser"),a=e("./handlers"),s=function(){this.initialize.apply(this,arguments)};function u(e){return"[object String]"==Object.prototype.toString.call(e)}s.prototype.initialize=function(){this.parser=new i,this.handlers=new a},s.prototype.parse=function(e){return r.ok(u(e),"we need a path"),this.parser.parse(e)},s.prototype.parent=function(e,t){r.ok(e instanceof Object,"obj needs to be an object"),r.ok(t,"we need a path");var n=this.nodes(e,t)[0];return n.path.pop(),this.value(e,n.path)},s.prototype.apply=function(e,t,n){r.ok(e instanceof Object,"obj needs to be an object"),r.ok(t,"we need a path"),r.equal(Z(n),"function","fn needs to be function");var o=this.nodes(e,t).sort((function(e,t){return t.path.length-e.path.length}));return o.forEach((function(t){var r=t.path.pop(),o=this.value(e,this.stringify(t.path)),i=t.value=n.call(e,o[r]);o[r]=i}),this),o},s.prototype.value=function(e,t,n){if(r.ok(e instanceof Object,"obj needs to be an object"),r.ok(t,"we need a path"),arguments.length>=3){var o=this.nodes(e,t).shift();if(!o)return this._vivify(e,t,n);var i=o.path.slice(-1).shift();this.parent(e,this.stringify(o.path))[i]=n}return this.query(e,this.stringify(t),1).shift()},s.prototype._vivify=function(e,t,n){var o=this;return r.ok(e instanceof Object,"obj needs to be an object"),r.ok(t,"we need a path"),function t(n,r){var i=n.pop(),a=o.value(e,n);a||(t(n.concat(),"string"==typeof i?{}:[]),a=o.value(e,n)),a[i]=r}(this.parser.parse(t).map((function(e){return e.expression.value})),n),this.query(e,t)[0]},s.prototype.query=function(e,t,n){r.ok(e instanceof Object,"obj needs to be an object"),r.ok(u(t),"we need a path");var o=this.nodes(e,t,n).map((function(e){return e.value}));return o},s.prototype.paths=function(e,t,n){r.ok(e instanceof Object,"obj needs to be an object"),r.ok(t,"we need a path");var o=this.nodes(e,t,n).map((function(e){return e.path}));return o},s.prototype.nodes=function(e,t,n){if(r.ok(e instanceof Object,"obj needs to be an object"),r.ok(t,"we need a path"),0===n)return[];var o=this.parser.parse(t),i=this.handlers,a=[{path:["$"],value:e}],s=[];return o.length&&"root"==o[0].expression.type&&o.shift(),o.length?(o.forEach((function(e,t){if(!(s.length>=n)){var r=i.resolve(e),u=[];a.forEach((function(i){if(!(s.length>=n)){var a=r(e,i,n);t==o.length-1?s=s.concat(a||[]):u=u.concat(a||[])}})),a=u}})),n?s.slice(0,n):s):a},s.prototype.stringify=function(e){r.ok(e,"we need a path");var t="$",n={"descendant-member":"..{{value}}","child-member":".{{value}}","descendant-subscript":"..[{{value}}]","child-subscript":"[{{value}}]"};return(e=this._normalize(e)).forEach((function(e){if("root"!=e.expression.type){var r,o=[e.scope,e.operation].join("-"),i=n[o];if(r="string_literal"==e.expression.type?JSON.stringify(e.expression.value):e.expression.value,!i)throw new Error("couldn't find template "+o);t+=i.replace(/{{value}}/,r)}})),t},s.prototype._normalize=function(e){if(r.ok(e,"we need a path"),"string"==typeof e)return this.parser.parse(e);if(Array.isArray(e)&&"string"==typeof e[0]){var t=[{expression:{type:"root",value:"$"}}];return e.forEach((function(e,n){"$"==e&&0===n||("string"==typeof e&&e.match("^"+o.identifier+"$")?t.push({operation:"member",scope:"child",expression:{value:e,type:"identifier"}}):t.push({operation:"subscript",scope:"child",expression:{value:e,type:"number"==typeof e?"numeric_literal":"string_literal"}}))})),t}if(Array.isArray(e)&&"object"==Z(e[0]))return e;throw new Error("couldn't understand path "+e)},s.Handlers=a,s.Parser=i;var c=new s;c.JSONPath=s,t.exports=c},{"./dict":2,"./handlers":4,"./parser":6,assert:8}],6:[function(e,t,n){var r=e("./grammar"),o=e("../generated/parser"),i=function(){var e=new o.Parser,t=e.parseError;return e.yy.parseError=function(){e.yy.ast&&e.yy.ast.initialize(),t.apply(e,arguments)},e};i.grammar=r,t.exports=i},{"../generated/parser":1,"./grammar":3}],7:[function(e,t,n){function r(e){return String(e).match(/^[0-9]+$/)?parseInt(e):Number.isFinite(e)?parseInt(e,10):0}t.exports=function(e,t,n,o){if("string"==typeof t)throw new Error("start cannot be a string");if("string"==typeof n)throw new Error("end cannot be a string");if("string"==typeof o)throw new Error("step cannot be a string");var i=e.length;if(0===o)throw new Error("step cannot be zero");if(o=o?r(o):1,n=n<0?i+n:n,t=r(0===(t=t<0?i+t:t)?0:t||(o>0?0:i-1)),n=r(0===n?0:n||(o>0?i:-1)),t=o>0?Math.max(0,t):Math.min(i,t),n=o>0?Math.min(n,i):Math.max(-1,n),o>0&&n<=t)return[];if(o<0&&t<=n)return[];for(var a=[],s=t;s!=n&&!(o<0&&s<=n||o>0&&s>=n);s+=o)a.push(e[s]);return a}},{}],8:[function(e,t,n){var r=e("util/"),o=Array.prototype.slice,i=Object.prototype.hasOwnProperty,a=t.exports=l;function s(e,t){return r.isUndefined(t)?""+t:r.isNumber(t)&&!isFinite(t)||r.isFunction(t)||r.isRegExp(t)?t.toString():t}function u(e,t){return r.isString(e)?e.length<t?e:e.slice(0,t):e}function c(e,t,n,r,o){throw new a.AssertionError({message:n,actual:e,expected:t,operator:r,stackStartFunction:o})}function l(e,t){e||c(e,!0,t,"==",a.ok)}function f(e,t){if(e===t)return!0;if(r.isBuffer(e)&&r.isBuffer(t)){if(e.length!=t.length)return!1;for(var n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}return r.isDate(e)&&r.isDate(t)?e.getTime()===t.getTime():r.isRegExp(e)&&r.isRegExp(t)?e.source===t.source&&e.global===t.global&&e.multiline===t.multiline&&e.lastIndex===t.lastIndex&&e.ignoreCase===t.ignoreCase:r.isObject(e)||r.isObject(t)?function(e,t){if(r.isNullOrUndefined(e)||r.isNullOrUndefined(t))return!1;if(e.prototype!==t.prototype)return!1;if(r.isPrimitive(e)||r.isPrimitive(t))return e===t;var n=d(e),i=d(t);if(n&&!i||!n&&i)return!1;if(n)return f(e=o.call(e),t=o.call(t));var a,s,u=m(e),c=m(t);if(u.length!=c.length)return!1;for(u.sort(),c.sort(),s=u.length-1;s>=0;s--)if(u[s]!=c[s])return!1;for(s=u.length-1;s>=0;s--)if(!f(e[a=u[s]],t[a]))return!1;return!0}(e,t):e==t}function d(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function h(e,t){return!(!e||!t)&&("[object RegExp]"==Object.prototype.toString.call(t)?t.test(e):e instanceof t||!0===t.call({},e))}function p(e,t,n,o){var i;r.isString(n)&&(o=n,n=null);try{t()}catch(e){i=e}if(o=(n&&n.name?" ("+n.name+").":".")+(o?" "+o:"."),e&&!i&&c(i,n,"Missing expected exception"+o),!e&&h(i,n)&&c(i,n,"Got unwanted exception"+o),e&&i&&n&&!h(i,n)||!e&&i)throw i}a.AssertionError=function(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=function(e){return u(JSON.stringify(e.actual,s),128)+" "+e.operator+" "+u(JSON.stringify(e.expected,s),128)}(this),this.generatedMessage=!0);var t=e.stackStartFunction||c;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var n=new Error;if(n.stack){var r=n.stack,o=r.indexOf("\n"+t.name);if(o>=0){var i=r.indexOf("\n",o+1);r=r.substring(i+1)}this.stack=r}}},r.inherits(a.AssertionError,Error),a.fail=c,a.ok=l,a.equal=function(e,t,n){e!=t&&c(e,t,n,"==",a.equal)},a.notEqual=function(e,t,n){e==t&&c(e,t,n,"!=",a.notEqual)},a.deepEqual=function(e,t,n){f(e,t)||c(e,t,n,"deepEqual",a.deepEqual)},a.notDeepEqual=function(e,t,n){f(e,t)&&c(e,t,n,"notDeepEqual",a.notDeepEqual)},a.strictEqual=function(e,t,n){e!==t&&c(e,t,n,"===",a.strictEqual)},a.notStrictEqual=function(e,t,n){e===t&&c(e,t,n,"!==",a.notStrictEqual)},a.throws=function(e,t,n){p.apply(this,[!0].concat(o.call(arguments)))},a.doesNotThrow=function(e,t){p.apply(this,[!1].concat(o.call(arguments)))},a.ifError=function(e){if(e)throw e};var m=Object.keys||function(e){var t=[];for(var n in e)i.call(e,n)&&t.push(n);return t}},{"util/":11}],9:[function(e,t,n){t.exports="function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},{}],10:[function(e,t,n){t.exports=function(e){return e&&"object"===Z(e)&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},{}],11:[function(e,t,n){(function(t,r){var o=/%[sdj%]/g;n.format=function(e){if(!y(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(s(arguments[n]));return t.join(" ")}n=1;for(var r=arguments,i=r.length,a=String(e).replace(o,(function(e){if("%%"===e)return"%";if(n>=i)return e;switch(e){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(e){return"[Circular]"}default:return e}})),u=r[n];n<i;u=r[++n])m(u)||!b(u)?a+=" "+u:a+=" "+s(u);return a},n.deprecate=function(e,o){if(v(r.process))return function(){return n.deprecate(e,o).apply(this,arguments)};if(!0===t.noDeprecation)return e;var i=!1;return function(){if(!i){if(t.throwDeprecation)throw new Error(o);t.traceDeprecation?console.trace(o):console.error(o),i=!0}return e.apply(this,arguments)}};var i,a={};function s(e,t){var r={seen:[],stylize:c};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),p(t)?r.showHidden=t:t&&n._extend(r,t),v(r.showHidden)&&(r.showHidden=!1),v(r.depth)&&(r.depth=2),v(r.colors)&&(r.colors=!1),v(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=u),l(r,e,r.depth)}function u(e,t){var n=s.styles[t];return n?"["+s.colors[n][0]+"m"+e+"["+s.colors[n][1]+"m":e}function c(e,t){return e}function l(e,t,r){if(e.customInspect&&t&&x(t.inspect)&&t.inspect!==n.inspect&&(!t.constructor||t.constructor.prototype!==t)){var o=t.inspect(r,e);return y(o)||(o=l(e,o,r)),o}var i=function(e,t){if(v(t))return e.stylize("undefined","undefined");if(y(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}return g(t)?e.stylize(""+t,"number"):p(t)?e.stylize(""+t,"boolean"):m(t)?e.stylize("null","null"):void 0}(e,t);if(i)return i;var a=Object.keys(t),s=function(e){var t={};return e.forEach((function(e,n){t[e]=!0})),t}(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),S(t)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return f(t);if(0===a.length){if(x(t))return e.stylize("[Function"+(t.name?": "+t.name:"")+"]","special");if(_(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(w(t))return e.stylize(Date.prototype.toString.call(t),"date");if(S(t))return f(t)}var u,c="",b=!1,k=["{","}"];return h(t)&&(b=!0,k=["[","]"]),x(t)&&(c=" [Function"+(t.name?": "+t.name:"")+"]"),_(t)&&(c=" "+RegExp.prototype.toString.call(t)),w(t)&&(c=" "+Date.prototype.toUTCString.call(t)),S(t)&&(c=" "+f(t)),0!==a.length||b&&0!=t.length?r<0?_(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),u=b?function(e,t,n,r,o){for(var i=[],a=0,s=t.length;a<s;++a)C(t,String(a))?i.push(d(e,t,n,r,String(a),!0)):i.push("");return o.forEach((function(o){o.match(/^\d+$/)||i.push(d(e,t,n,r,o,!0))})),i}(e,t,r,s,a):a.map((function(n){return d(e,t,r,s,n,b)})),e.seen.pop(),function(e,t,n){var r=e.reduce((function(e,t){return t.indexOf("\n"),e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0);return r>60?n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}(u,c,k)):k[0]+c+k[1]}function f(e){return"["+Error.prototype.toString.call(e)+"]"}function d(e,t,n,r,o,i){var a,s,u;if((u=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?s=e.stylize(u.set?"[Getter/Setter]":"[Getter]","special"):u.set&&(s=e.stylize("[Setter]","special")),C(r,o)||(a="["+o+"]"),s||(e.seen.indexOf(u.value)<0?(s=m(n)?l(e,u.value,null):l(e,u.value,n-1)).indexOf("\n")>-1&&(s=i?s.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.stylize("[Circular]","special")),v(a)){if(i&&o.match(/^\d+$/))return s;(a=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+s}function h(e){return Array.isArray(e)}function p(e){return"boolean"==typeof e}function m(e){return null===e}function g(e){return"number"==typeof e}function y(e){return"string"==typeof e}function v(e){return void 0===e}function _(e){return b(e)&&"[object RegExp]"===k(e)}function b(e){return"object"===Z(e)&&null!==e}function w(e){return b(e)&&"[object Date]"===k(e)}function S(e){return b(e)&&("[object Error]"===k(e)||e instanceof Error)}function x(e){return"function"==typeof e}function k(e){return Object.prototype.toString.call(e)}function E(e){return e<10?"0"+e.toString(10):e.toString(10)}n.debuglog=function(e){if(v(i)&&(i=t.env.NODE_DEBUG||""),e=e.toUpperCase(),!a[e])if(new RegExp("\\b"+e+"\\b","i").test(i)){var r=t.pid;a[e]=function(){var t=n.format.apply(n,arguments);console.error("%s %d: %s",e,r,t)}}else a[e]=function(){};return a[e]},n.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},n.isArray=h,n.isBoolean=p,n.isNull=m,n.isNullOrUndefined=function(e){return null==e},n.isNumber=g,n.isString=y,n.isSymbol=function(e){return"symbol"===Z(e)},n.isUndefined=v,n.isRegExp=_,n.isObject=b,n.isDate=w,n.isError=S,n.isFunction=x,n.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"===Z(e)||void 0===e},n.isBuffer=e("./support/isBuffer");var A=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function C(e,t){return Object.prototype.hasOwnProperty.call(e,t)}n.log=function(){var e,t;console.log("%s - %s",(t=[E((e=new Date).getHours()),E(e.getMinutes()),E(e.getSeconds())].join(":"),[e.getDate(),A[e.getMonth()],t].join(" ")),n.format.apply(n,arguments))},n.inherits=e("inherits"),n._extend=function(e,t){if(!t||!b(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]];return e}}).call(this,e("_process"),void 0!==q?q:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./support/isBuffer":10,_process:14,inherits:9}],12:[function(e,t,n){},{}],13:[function(e,t,n){(function(e){function t(e,t){for(var n=0,r=e.length-1;r>=0;r--){var o=e[r];"."===o?e.splice(r,1):".."===o?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}function r(e,t){if(e.filter)return e.filter(t);for(var n=[],r=0;r<e.length;r++)t(e[r],r,e)&&n.push(e[r]);return n}n.resolve=function(){for(var n="",o=!1,i=arguments.length-1;i>=-1&&!o;i--){var a=i>=0?arguments[i]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(n=a+"/"+n,o="/"===a.charAt(0))}return(o?"/":"")+(n=t(r(n.split("/"),(function(e){return!!e})),!o).join("/"))||"."},n.normalize=function(e){var i=n.isAbsolute(e),a="/"===o(e,-1);return(e=t(r(e.split("/"),(function(e){return!!e})),!i).join("/"))||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},n.isAbsolute=function(e){return"/"===e.charAt(0)},n.join=function(){var e=Array.prototype.slice.call(arguments,0);return n.normalize(r(e,(function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},n.relative=function(e,t){function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var n=e.length-1;n>=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=n.resolve(e).substr(1),t=n.resolve(t).substr(1);for(var o=r(e.split("/")),i=r(t.split("/")),a=Math.min(o.length,i.length),s=a,u=0;u<a;u++)if(o[u]!==i[u]){s=u;break}var c=[];for(u=s;u<o.length;u++)c.push("..");return(c=c.concat(i.slice(s))).join("/")},n.sep="/",n.delimiter=":",n.dirname=function(e){if("string"!=typeof e&&(e+=""),0===e.length)return".";for(var t=e.charCodeAt(0),n=47===t,r=-1,o=!0,i=e.length-1;i>=1;--i)if(47===(t=e.charCodeAt(i))){if(!o){r=i;break}}else o=!1;return-1===r?n?"/":".":n&&1===r?"/":e.slice(0,r)},n.basename=function(e,t){var n=function(e){"string"!=typeof e&&(e+="");var t,n=0,r=-1,o=!0;for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!o){n=t+1;break}}else-1===r&&(o=!1,r=t+1);return-1===r?"":e.slice(n,r)}(e);return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},n.extname=function(e){"string"!=typeof e&&(e+="");for(var t=-1,n=0,r=-1,o=!0,i=0,a=e.length-1;a>=0;--a){var s=e.charCodeAt(a);if(47!==s)-1===r&&(o=!1,r=a+1),46===s?-1===t?t=a:1!==i&&(i=1):-1!==t&&(i=-1);else if(!o){n=a+1;break}}return-1===t||-1===r||0===i||1===i&&t===r-1&&t===n+1?"":e.slice(t,r)};var o="b"==="ab".substr(-1)?function(e,t,n){return e.substr(t,n)}:function(e,t,n){return t<0&&(t=e.length+t),e.substr(t,n)}}).call(this,e("_process"))},{_process:14}],14:[function(e,t,n){var r,o,i=t.exports={};function a(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function u(e){if(r===setTimeout)return setTimeout(e,0);if((r===a||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:a}catch(e){r=a}try{o="function"==typeof clearTimeout?clearTimeout:s}catch(e){o=s}}();var c,l=[],f=!1,d=-1;function h(){f&&c&&(f=!1,c.length?l=c.concat(l):d=-1,l.length&&p())}function p(){if(!f){var e=u(h);f=!0;for(var t=l.length;t;){for(c=l,l=[];++d<t;)c&&c[d].run();d=-1,t=l.length}c=null,f=!1,function(e){if(o===clearTimeout)return clearTimeout(e);if((o===s||!o)&&clearTimeout)return o=clearTimeout,clearTimeout(e);try{return o(e)}catch(t){try{return o.call(null,e)}catch(t){return o.call(this,e)}}}(e)}}function m(e,t){this.fun=e,this.array=t}function g(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];l.push(new m(e,t)),1!==l.length||f||u(p)},m.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.prependListener=g,i.prependOnceListener=g,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},{}],15:[function(e,t,n){var r=e("escodegen").generate;t.exports=function(e,t){t||(t={});var n={},o=function e(o,i){if("Literal"===o.type)return o.value;if("UnaryExpression"===o.type){var a=e(o.argument);return"+"===o.operator?+a:"-"===o.operator?-a:"~"===o.operator?~a:"!"===o.operator?!a:n}if("ArrayExpression"===o.type){for(var s=[],u=0,c=o.elements.length;u<c;u++){if((y=e(o.elements[u]))===n)return n;s.push(y)}return s}if("ObjectExpression"===o.type){var l={};for(u=0;u<o.properties.length;u++){var f=null===(v=o.properties[u]).value?v.value:e(v.value);if(f===n)return n;l[v.key.value||v.key.name]=f}return l}if("BinaryExpression"===o.type||"LogicalExpression"===o.type){if((c=e(o.left))===n)return n;var d=e(o.right);if(d===n)return n;var h=o.operator;return"=="===h?c==d:"==="===h?c===d:"!="===h?c!=d:"!=="===h?c!==d:"+"===h?c+d:"-"===h?c-d:"*"===h?c*d:"/"===h?c/d:"%"===h?c%d:"<"===h?c<d:"<="===h?c<=d:">"===h?c>d:">="===h?c>=d:"|"===h?c|d:"&"===h?c&d:"^"===h?c^d:"&&"===h?c&&d:"||"===h?c||d:n}if("Identifier"===o.type)return{}.hasOwnProperty.call(t,o.name)?t[o.name]:n;if("ThisExpression"===o.type)return{}.hasOwnProperty.call(t,"this")?t.this:n;if("CallExpression"===o.type){var p=e(o.callee);if(p===n)return n;if("function"!=typeof p)return n;var m=o.callee.object?e(o.callee.object):n;m===n&&(m=null);var g=[];for(u=0,c=o.arguments.length;u<c;u++){var y;if((y=e(o.arguments[u]))===n)return n;g.push(y)}return p.apply(m,g)}var v;if("MemberExpression"===o.type)return(l=e(o.object))===n||"function"==typeof l?n:"Identifier"===o.property.type?l[o.property.name]:(v=e(o.property))===n?n:l[v];if("ConditionalExpression"===o.type)return(a=e(o.test))===n?n:e(a?o.consequent:o.alternate);if("ExpressionStatement"===o.type)return(a=e(o.expression))===n?n:a;if("ReturnStatement"===o.type)return e(o.argument);if("FunctionExpression"===o.type){var _=o.body.body,b={};for(Object.keys(t).forEach((function(e){b[e]=t[e]})),u=0;u<o.params.length;u++){var w=o.params[u];if("Identifier"!=w.type)return n;t[w.name]=null}for(var u in _)if(e(_[u])===n)return n;t=b;var S=Object.keys(t),x=S.map((function(e){return t[e]}));return Function(S.join(", "),"return "+r(o)).apply(null,x)}if("TemplateLiteral"===o.type){var k="";for(u=0;u<o.expressions.length;u++)k+=e(o.quasis[u]),k+=e(o.expressions[u]);return k+e(o.quasis[u])}if("TaggedTemplateExpression"===o.type){var E=e(o.tag),A=o.quasi,C=A.quasis.map(e),O=A.expressions.map(e);return E.apply(null,[C].concat(O))}return"TemplateElement"===o.type?o.value.cooked:n}(e);return o===n?void 0:o}},{escodegen:12}],jsonpath:[function(e,t,n){t.exports=e("./lib/index")},{"./lib/index":5}]},{},["jsonpath"])("jsonpath")},e.exports=n()}(eR);var tR=eR.exports;const nR=new Set(["i","me","my","myself","we","our","ours","ourselves","you","your","yours","yourself","yourselves","he","him","his","himself","she","her","hers","herself","it","its","itself","they","them","their","theirs","themselves","what","which","who","whom","this","that","these","those","am","is","are","was","were","be","been","being","have","has","had","having","do","does","did","doing","a","an","the","and","but","if","or","because","as","until","while","of","at","by","for","with","about","against","between","into","through","during","before","after","above","below","to","from","up","down","in","out","on","off","over","under","again","further","then","once","here","there","when","where","why","how","all","any","both","each","few","more","most","other","some","such","no","nor","not","only","own","same","so","than","too","very","s","t","can","will","just","don","should","now",..."1234567890"]);function rR(e,t){for(const[n,r]of t.entries())if(e.startsWith(r))return e.replace(r,String(n));return e}const oR="$PREFIXED_ID";function iR(e,t,n){return t===oR?[rR(e.id,n)]:tR.query(e,t)}function aR(e){return e.toLowerCase().split(/[^\d:A-Za-z]+/).filter((e=>e&&!nR.has(e)))}function*sR(e){for(const t of e)yield*aR(t)}function*uR(e){for(const t of e)if("string"==typeof t)yield t;else if("object"==typeof t){const e=tR.query(t,"$..*");yield*uR(e)}}function*cR(e,t,n){for(const r of t){const t=iR(e,r,n);if(t.length>0)for(const e of sR(uR(t)))yield[r,e]}}async function lR(e,t,n){const r=await this.db,o=t??r.transaction(["nodes"]);VO(n);const i=[...aR(e)],a=[],s=new Map;a.push(...i.map((async(e,t)=>{VO(n);const r=o.objectStore("nodes").index("full-text-words");for await(const o of r.iterate(IDBKeyRange.bound(e,`${e}￿`,!1,!1))){VO(n);const e=o.value,r=s.get(e.id)??[e,new Set];r[1].add(t),s.set(e.id,r)}}))),await Promise.all(a),VO(n);const u=[];for(const[,[e,t]]of s)VO(n),u.push(...fR(this.textIndexFields,e,t,i,this.prefixes));return u.sort(((e,t)=>t.score-e.score)),u.slice(0,this.options.maxSearchResults??this.DEFAULT_MAX_SEARCH_RESULTS)}function fR(e,t,n,r,o){const i=[...n].sort().map((e=>r[e])),a=i.map((e=>{const t=e.replaceAll(/[$()*+./?[\\\]^{|}-]/g,String.raw`\$&`);return new RegExp(`\\b${t}`,"gi")}));let s=[],u=0;for(const[n,i]of e.entries()){const c=new Set,l=e.length-n-1,f=[...uR(iR(t,i.jsonPath,o))];for(const e of f){let n=0;const o=[];for(const[t,i]of a.entries())for(const a of e.matchAll(i)){n+=1+1*l,c.add(t);const i=a.index,s=r[t];void 0!==i&&(n+=.01*s.length,n+=s.length/e.length*100*.05,o.push({wordIndex:t,position:i}))}n+=100*c.size,u<n&&(u=n),o.sort(((e,t)=>e.position-t.position)),o.length>0&&s.push({term:t,field:i,str:e,score:n,wordMatches:o})}}s=s.filter((e=>e.score===u));for(const e of s){const{wordMatches:t}=e;for(let n=0;n<t.length-1;n++){const r=t[n],o=t[n+1],a=o.wordIndex-r.wordIndex;if(1===a||-1===a){e.score+=1,1===a&&(e.score+=1);const t=Math.abs(o.position-(r.position+i[r.wordIndex].length))-1;e.score-=.05*t}}}return s}function dR(e){return"string"==typeof e.id}function hR(e){return"string"==typeof e.sub&&"string"==typeof e.pred&&"string"==typeof e.obj}function pR(e){return Boolean(e.meta?.deprecated)}var mR=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==Z(t)&&"object"==Z(n)){if(t.constructor!==n.constructor)return!1;var r,o,i;if(Array.isArray(t)){if((r=t.length)!=n.length)return!1;for(o=r;0!=o--;)if(!e(t[o],n[o]))return!1;return!0}if(t instanceof Map&&n instanceof Map){if(t.size!==n.size)return!1;var a,s=we(t.entries());try{for(s.s();!(a=s.n()).done;)if(!n.has((o=a.value)[0]))return!1}catch(e){s.e(e)}finally{s.f()}var u,c=we(t.entries());try{for(c.s();!(u=c.n()).done;)if(!e((o=u.value)[1],n.get(o[0])))return!1}catch(e){c.e(e)}finally{c.f()}return!0}if(t instanceof Set&&n instanceof Set){if(t.size!==n.size)return!1;var l,f=we(t.entries());try{for(f.s();!(l=f.n()).done;)if(!n.has((o=l.value)[0]))return!1}catch(e){f.e(e)}finally{f.f()}return!0}if(ArrayBuffer.isView(t)&&ArrayBuffer.isView(n)){if((r=t.length)!=n.length)return!1;for(o=r;0!=o--;)if(t[o]!==n[o])return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((r=(i=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(o=r;0!=o--;)if(!Object.prototype.hasOwnProperty.call(n,i[o]))return!1;for(o=r;0!=o--;){var d=i[o];if(!e(t[d],n[d]))return!1}return!0}return t!=t&&n!=n};async function gR(e){return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.blocked,o=n.upgrade,i=n.blocking,a=n.terminated,s=indexedDB.open(e,t),u=Fd(s);return o&&s.addEventListener("upgradeneeded",(function(e){o(Fd(s.result),e.oldVersion,e.newVersion,Fd(s.transaction),e)})),r&&s.addEventListener("blocked",(function(e){return r(e.oldVersion,e.newVersion,e)})),u.then((function(e){a&&e.addEventListener("close",(function(){return a()})),i&&e.addEventListener("versionchange",(function(e){return i(e.oldVersion,e.newVersion,e)}))})).catch((function(){})),u}(e,2,{upgrade(e,t,n,r,o){if(t<2&&(e.objectStoreNames.contains("meta")&&e.deleteObjectStore("meta"),e.objectStoreNames.contains("nodes")&&e.deleteObjectStore("nodes"),e.objectStoreNames.contains("edges")&&e.deleteObjectStore("edges")),e.objectStoreNames.contains("meta")||e.createObjectStore("meta"),!e.objectStoreNames.contains("nodes")){e.createObjectStore("nodes",{keyPath:"id"});const t=r.objectStore("nodes");t.createIndex("by-label","lbl"),t.createIndex("by-type","type"),t.createIndex("by-synonym",["meta","synonyms","val"]),t.createIndex("full-text-words","fullTextWords",{multiEntry:!0})}if(!e.objectStoreNames.contains("edges")){e.createObjectStore("edges",{autoIncrement:!0});const t=r.objectStore("edges");t.createIndex("by-subject","sub"),t.createIndex("by-object","obj"),t.createIndex("by-predicate","pred")}}})}function yR(e){const t=new Set;for(const[,n]of e)t.add(n);return[...t]}async function vR(e){const t=Date.now();let n;try{n=JSON.parse(await y.openLocation(this.sourceLocation).readFile("utf8"))}catch{throw new Error("Error in loading ontology")}const r=Date.now(),[o,...i]=n.graphs??[];if(o){if(i.length>0)throw new Error("multiple graphs not supported");try{const n=e.transaction(["meta","nodes","edges"],"readwrite");await n.objectStore("meta").clear(),await n.objectStore("nodes").clear(),await n.objectStore("edges").clear();const i=n.objectStore("nodes"),a=_R.call(this).map((e=>e.jsonPath));for(const e of o.nodes??[])dR(e)&&await i.add({...e,fullTextWords:yR(cR(e,a,this.prefixes))});const s=n.objectStore("edges");for(const e of o.edges??[])hR(e)&&await s.add(e);await n.done;const u=e.transaction("meta","readwrite");await u.objectStore("meta").add({ontologyRecord:{name:this.ontologyName,version:this.ontologyVersion,sourceLocation:this.sourceLocation},storeOptions:this.options,graphMeta:o.meta,timestamp:String(new Date),schemaVersion:2,timings:{overall:Date.now()-t,load:Date.now()-r}},"meta"),await u.done}catch(t){throw await e.transaction("meta","readwrite").objectStore("meta").clear(),t}}}function _R(){return[{displayName:"ID",jsonPath:oR},...this.options.textIndexing?.indexFields??kR]}async function bR(e){const[t]=await e.transaction("meta").objectStore("meta").getAll();return!!t&&mR(this.options.prefixes,t.storeOptions.prefixes)&&mR(this.options.textIndexing,t.storeOptions.textIndexing)}class wR{ontologyName;ontologyVersion;sourceLocation;db;options;loadOboGraphJson=vR;getTermsByFulltext=lR;openDatabase=gR;isDatabaseCurrent=bR;get textIndexFields(){return _R.call(this)}get prefixes(){return this.options.prefixes??new Map}DEFAULT_MAX_SEARCH_RESULTS=100;constructor(e,t,n,r){this.ontologyName=e,this.ontologyVersion=t,this.sourceLocation=n,this.db=this.prepareDatabase(),this.options=r??{}}validate(){const e=[],{sourceLocation:t,sourceType:n}=this;return n?"obo-graph-json"!==n&&e.push(new Error(`ontology source file ${JSON.stringify(t)} has type ${n}, which is not yet supported`)):e.push(new Error(`unable to determine format of ontology source file ${JSON.stringify(t)}, file name must end with ".json", ".obo", or ".owl"`)),e}get sourceType(){if(n.isUriLocation(this.sourceLocation)){if(this.sourceLocation.uri.endsWith(".json"))return"obo-graph-json"}else if(n.isLocalPathLocation(this.sourceLocation)&&this.sourceLocation.localPath.endsWith(".json"))return"obo-graph-json"}get dbName(){return`Apollo Ontology "${this.ontologyName}" "${this.ontologyVersion}"`}async prepareDatabase(){const e=this.validate();if(e.length>0)throw e;const t=await this.openDatabase(this.dbName);if(await this.isDatabaseCurrent(t))return t;try{const{sourceLocation:e,sourceType:n}=this;if("obo-graph-json"!==n)throw new Error(`ontology source file ${JSON.stringify(e)} has type ${n}, which is not yet supported`);return await this.loadOboGraphJson(t),t}catch(e){throw t.close(),await function(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).blocked,n=indexedDB.deleteDatabase(e);return t&&n.addEventListener("blocked",(function(e){return t(e.oldVersion,e)})),Fd(n).then((function(){}))}(this.dbName),e}}async termCount(e){const t=await this.db;return(e??t.transaction("nodes")).objectStore("nodes").count()}unique(e){const t=new Map,n=[];for(const r of e)t.has(r.id)||(t.set(r.id,!0),n.push(r));return n}async getTermsWithLabelOrSynonym(e,t,n){const r=t?.includeSubclasses??!0,o=await this.db,i=n??o.transaction(["nodes","edges"]),a=i.objectStore("nodes"),s=[...await a.index("by-label").getAll(e),...await a.index("by-synonym").getAll(e)];if(r){const e=await this.recurseEdges("by-object",s.map((e=>e.id)),(e=>"is_a"===e.pred),"sub",i);for(const t of e){const e=await a.get(t);e&&s.push(e)}}return s}async getPropertiesByLabel(e,t,n){const r=t?.includeSubProperties??!0,o=await this.db,i=n??o.transaction(["nodes","edges"]),a=(await this.getTermsWithLabelOrSynonym(e,{includeSubclasses:!1},i)).filter((e=>CR(e)));if(r){const e=await this.recurseEdges("by-object",a.map((e=>e.id)),(e=>"subPropertyOf"===e.pred),"sub",i),t=i.objectStore("nodes");for(const n of e){const e=await t.get(n);e&&CR(e)&&a.push(e)}}return a}async recurseEdges(e,t,n,r,o){const i=new Set;return await async function t(a){await Promise.all([...a].map((async a=>{const s=(await o.objectStore("edges").index(e).getAll(a)).filter((e=>n(e))).map((e=>e[r]));if(s.length>0){for(const e of s)i.add(e);await t(s)}})))}(t),i.values()}async*expandNodeSet(e,t="is_a",n,r){const o=await this.db,i=r??o.transaction(["edges"]),a=[...e],s=await this.recurseEdges("subclasses"===n?"by-object":"by-subject",a,(e=>e.pred===t),"subclasses"===n?"sub":"obj",i);for(const e of a)yield e;for(const e of s)yield e}expandSubclasses(e,t="is_a",n){return this.expandNodeSet(e,t,"subclasses",n)}expandSuperclasses(e,t="is_a",n){return this.expandNodeSet(e,t,"superclasses",n)}async getClassesThat(e,t,n){const r=await this.db,o=n??r.transaction(["nodes","edges"]),i=await this.getPropertiesByLabel(e,{includeSubProperties:!0},o),a=new Set(i.map((e=>e.id))),s=await async function(e){const t=[];for await(const n of e)t.push(n);return t}(this.expandSuperclasses(t.map((e=>e.id)),"is_a",o)),u=await this.recurseEdges("by-object",s,(e=>a.has(e.pred)),"sub",o),c=this.expandSubclasses(u,"is_a",o),l=[];for await(const e of c){const t=await o.objectStore("nodes").get(e);t&&AR(t)&&!pR(t)&&l.push(t)}return l}async getClassesWithoutPropertyLabeled(e,t,n){const r=await this.db,o=n??r.transaction(["nodes","edges"]),i=o.objectStore("nodes"),a=o.objectStore("edges"),s=(await this.getPropertiesByLabel(e,t,o)).map((e=>e.id)),u=await(async()=>{const e=new Set;for(const t of s)for await(const n of a.index("by-predicate").iterate(t))e.add(n.value.sub);const t=new Set;for await(const n of this.expandSubclasses(e,"is_a",o))t.add(n);return t})(),c=[];for await(const e of i){const t=e.value;AR(t)&&!u.has(t.id)&&c.push(t.id)}const l=[];for(const e of c){const t=await o.objectStore("nodes").get(e);t&&AR(t)&&!pR(t)&&l.push(t)}return l}async getAllClasses(e){const t=await this.db,n=e??t.transaction(["nodes"]);return(await n.objectStore("nodes").index("by-type").getAll("CLASS")).filter((e=>!pR(e)))}async getAllTerms(e){const t=await this.db,n=e??t.transaction(["nodes"]);return(await n.objectStore("nodes").getAll()).filter((e=>!pR(e)))}}const SR=u.types.model("OntologyRecord",{name:u.types.string,version:"unversioned",source:u.types.union(g.LocalPathLocation,g.UriLocation,g.BlobLocation),options:u.types.frozen()}).volatile((e=>({dataStore:void 0}))).actions((e=>({ping(){},initDataStore(){e.dataStore=new wR(e.name,e.version,u.getSnapshot(e.source),e.options)},afterCreate(){u.addDisposer(e,s.autorun((()=>{this.initDataStore()})))}}))),xR=u.types.model("OntologyManager",{ontologies:u.types.array(SR),prefixes:u.types.optional(u.types.map(u.types.string),{"GO:":"http://purl.obolibrary.org/obo/GO_","SO:":"http://purl.obolibrary.org/obo/SO_"})}).views((e=>({get featureTypeOntologyName(){const t=u.getRoot(e).jbrowse.configuration;return r.readConfObject(t.ApolloPlugin,"featureTypeOntologyName")}}))).views((e=>({get featureTypeOntology(){return this.findOntology(e.featureTypeOntologyName)},findOntology:(t,n)=>e.ontologies.find((e=>e.name===t&&(void 0===n||e.version===n))),openOntology(e,t){return this.findOntology(e,t)?.dataStore},applyPrefixes:t=>rR(t,e.prefixes),expandPrefixes:t=>function(e,t){for(const[n,r]of t.entries())if(e.startsWith(String(n)))return e.replace(String(n),r);return e}(t,e.prefixes)}))).actions((e=>({addOntology(t,n,r,o){const i=e.ontologies.push({name:t,version:n,source:r,options:{prefixes:new Map(e.prefixes.entries()),...o}});e.ontologies[i-1].ping()}}))),kR=[{displayName:"Label",jsonPath:"$.lbl"},{displayName:"Synonym",jsonPath:"$.meta.synonyms[*].val"},{displayName:"Definition",jsonPath:"$.meta.definition.val"}],ER=r.ConfigurationSchema("OntologyRecord",{name:{type:"string",description:'the full name of the ontology, e.g. "Gene Ontology"',defaultValue:"My Ontology"},version:{type:"string",description:"the ontology's version string",defaultValue:"unversioned"},source:{type:"fileLocation",description:"the download location for the ontology's source file",defaultValue:{locationType:"UriLocation",uri:"http://example.com/myontology.json"}},textIndexFields:{type:"frozen",description:"JSON paths for text fields that will be indexed for text searching",defaultValue:kR}});function AR(e){return"CLASS"===e.type}function CR(e){return"PROPERTY"===e.type}async function OR(e,t,n){if(!e)return;const r=await t.getTermsWithLabelOrSynonym(e.type,{includeSubclasses:!1}),o=r.filter(AR);if(0===r.length)return;const i=await t.getClassesThat("part_of",o);return 0!==i.length?i:void 0}function RR({fetchValidTerms:e,filterTerms:t,includeDeprecated:n,onChange:r,ontologyName:o,ontologyVersion:i,renderInput:a,session:s,style:u,value:l}){const[f,h]=d.useState(!1),[p,m]=d.useState(),[g,y]=d.useState(""),[v,_]=d.useState(),{ontologyManager:b}=s.apolloDataStore,w=b.findOntology(o,i)?.dataStore,S=w&&f&&!p,x=w&&!v,k=d.useCallback((e=>(n||!pR(e))&&(!t||t(e))),[t,n]);d.useEffect((()=>{f||m(void 0)}),[f]),d.useEffect((()=>{const e=new AbortController,{signal:t}=e;return x&&(y(""),async function(e,t,n,r){if(!t)return;const o=(await e.getTermsWithLabelOrSynonym(t,{includeSubclasses:!1})).find((e=>(n??(()=>!0))(e)));if(!o)throw new Error(`not a valid ${e.ontologyName} term`);return o}(w,l,k).then((e=>{t.aborted||_(e)}),(e=>{t.aborted||$O(e)||y(String(e))}))),()=>{e.abort()}}),[s,l,k,w,x]),d.useEffect((()=>{const t=new AbortController,{signal:n}=t;return S&&async function(e,t,n,r){let o;if(t){const n=await t(e,r);n&&(o=n)}return o||(o=await e.getAllTerms()),n?o.filter((e=>n(e))):o}(w,e,k,n).then((e=>{e&&!n.aborted&&m(e)}),(e=>{n.aborted||$O(e)||s.notify(e instanceof Error?e.message:String(e),"error")})),()=>{t.abort()}}),[S,k,w,s,e]);const E={};return g&&(E.error=!0,E.helperText=g),M.default.createElement(c.Autocomplete,{style:u,autoComplete:!0,filterSelectedOptions:!0,disableClearable:!0,selectOnFocus:!0,clearOnBlur:!0,handleHomeEndKeys:!0,freeSolo:!0,value:l,options:p??[],onOpen:()=>{h(!0)},onClose:()=>{h(!1)},loading:S,renderInput:a??(e=>M.default.createElement(c.TextField,{...e,...E})),getOptionLabel:e=>"string"==typeof e?e:e.lbl??"",isOptionEqualToValue:(e,t)=>e.lbl===t.lbl,onChange:(e,t)=>{t&&("string"==typeof t?(_(void 0),r(l,t)):t.lbl!==l&&(y(""),_(t),r(l,t.lbl)))}})}function NR({changeManager:e,handleClose:t,session:n,sourceAssemblyId:r,sourceFeature:o}){const{notify:i}=n,[a,s]=d.useState(String(o.max)),[u,l]=d.useState(String(o.min+1)),[f,h]=d.useState(""),[p,m]=d.useState(""),[g,y]=d.useState(""),v=Number(a)<=Number(u);return M.default.createElement(xd,{open:!0,title:"Add new child feature",handleClose:t,maxWidth:!1,"data-testid":"add-feature-dialog"},M.default.createElement("form",{onSubmit:async function(n){n.preventDefault(),m("");const s=new nr.AddFeatureChange({changedIds:[o._id],typeName:"AddFeatureChange",assembly:r,addedFeature:{_id:(new Jn).toHexString(),refSeq:o.refSeq,min:Number(u)-1,max:Number(a),type:f},parentFeatureId:o._id});await e.submit(s),i("Feature added successfully","success"),t(),n.preventDefault()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.TextField,{margin:"dense",id:"start",label:"Start",type:"number",fullWidth:!0,variant:"outlined",value:u,onChange:e=>{l(e.target.value)}}),M.default.createElement(c.TextField,{margin:"dense",id:"end",label:"End",type:"number",fullWidth:!0,variant:"outlined",value:a,onChange:e=>{s(e.target.value)},error:v,helperText:v?'"End" must be greater than "Start"':null}),M.default.createElement(RR,{session:n,ontologyName:"Sequence Ontology",style:{width:170},value:f,filterTerms:AR,fetchValidTerms:async function(e,t,n){const r=await OR(e,t);if(r)return r;y(`Type "${e?.type}" does not have any children in the ontology`)}.bind(null,o),renderInput:e=>M.default.createElement(c.TextField,{...e,label:"Type",variant:"outlined",fullWidth:!0,error:Boolean(g),helperText:g}),onChange:(e,t)=>{var n;t&&(n=t,m(""),h(n))}})),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"contained",type:"submit",disabled:v||!(u&&a&&f)},"Submit"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),p?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},p)):null)}function IR({changeManager:e,handleClose:t,region:n,session:r}){const{notify:o}=r,[i,a]=d.useState(String(n.end)),[s,u]=d.useState(String(n.start+1)),[l,f]=d.useState(""),[h,p]=d.useState(),[m,g]=d.useState(""),y=Number(i)<=Number(s);return M.default.createElement(xd,{open:!0,title:"Add new feature",handleClose:t,maxWidth:!1,"data-testid":"add-feature-dialog"},M.default.createElement("form",{onSubmit:async function(a){let u;a.preventDefault(),g("");for(const[,e]of r.apolloDataStore.assemblies??new Map)if(e._id===n.assemblyName)for(const[,t]of e.refSeqs??new Map)t.name===n.refName&&(u=t._id);if(!u)return void g("Invalid refseq id");const c=(new Jn).toHexString(),f=new nr.AddFeatureChange({changedIds:[c],typeName:"AddFeatureChange",assembly:n.assemblyName,addedFeature:{_id:c,refSeq:u,min:Number(s)-1,max:Number(i),type:l,strand:h}});await e.submit(f),o("Feature added successfully","success"),t(),a.preventDefault()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.TextField,{margin:"dense",id:"start",label:"Start",type:"number",fullWidth:!0,variant:"outlined",value:Number(s),onChange:e=>{u(e.target.value)}}),M.default.createElement(c.TextField,{margin:"dense",id:"end",label:"End",type:"number",fullWidth:!0,variant:"outlined",value:i,onChange:e=>{a(e.target.value)},error:y,helperText:y?'"End" must be greater than "Start"':null}),M.default.createElement(RR,{session:r,ontologyName:"Sequence Ontology",style:{width:170},value:l,filterTerms:AR,renderInput:e=>M.default.createElement(c.TextField,{...e,label:"Type",variant:"outlined",fullWidth:!0}),onChange:(e,t)=>{var n;t&&(n=t,g(""),f(n))}}),M.default.createElement(c.FormControl,null,M.default.createElement(c.InputLabel,{id:"demo-simple-select-label"},"Strand"),M.default.createElement(c.Select,{labelId:"demo-simple-select-label",id:"demo-simple-select",label:"Strand",value:h?.toString(),onChange:function(e){switch(g(""),Number(e.target.value)){case 1:p(1);break;case-1:p(-1);break;default:p(void 0)}}},M.default.createElement(c.MenuItem,{value:void 0}),M.default.createElement(c.MenuItem,{value:1},"+"),M.default.createElement(c.MenuItem,{value:-1},"-")))),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"contained",type:"submit",disabled:y||!(s&&i&&l)},"Submit"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),m?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},m)):null)}function PR(e,t){const n=(new Jn).toHexString();t.push(n);const r={};if(e.children)for(const n of Object.values(e.children)){const e=PR(n,t);r[e._id]=e}const o="string"==typeof e.refSeq?e.refSeq:e.refSeq.toHexString();return{...e,refSeq:o,children:e.children&&r,_id:n}}function TR({changeManager:e,handleClose:t,session:n,sourceAssemblyId:o,sourceFeature:i}){const{assemblyManager:a,notify:s}=n,l=a.assemblyList,[f,h]=d.useState(l.find((e=>e.name!==o))?.name),[p,m]=d.useState([]),[g,y]=d.useState(""),[v,_]=d.useState(i.min),[b,w]=d.useState("");function S(e,t){const n={};if(e.children)for(const r of Object.values(e.children)){const e=S(r,t);e.refSeq=g,e.min=e.min+t,e.max=e.max+t,n[e._id]=e}const r="string"==typeof e.refSeq?e.refSeq:e.refSeq.toHexString(),o="string"==typeof e._id?e._id:e._id.toHexString();return{...e,refSeq:r,children:e.children&&n,_id:o}}return d.useEffect((()=>{y(""),async function(){if(!f)return void w("No assemblies to copy to");const e=await a.waitForAssembly(f);if(!e)return;const{refNameAliases:t}=e;if(!t)return;const n=[...Object.entries(t)].filter((([e,t])=>e!==t)).map((([e,t])=>({_id:e,name:t??""})));m(n),y(n[0]?._id||"")}().catch((e=>{w(String(e))}))}),[f,a]),M.default.createElement(xd,{open:!0,title:"Copy features and annotations",handleClose:t,maxWidth:!1,"data-testid":"copy-feature"},M.default.createElement("form",{onSubmit:async function(n){if(!f)return;n.preventDefault(),w("");const r=i.length,o=await a.waitForAssembly(f);if(!o)return void w(`Assembly not found: ${f}.`);const c=o.getCanonicalRefName(g),l=o.regions?.find((e=>e.refName===c));if(!l)return void w(`RefSeq not found: ${g}.`);const d=v+r;if(d>l.end)return void w(`Feature would extend beyond the bounds of the selected reference sequence. (Feature would end at ${d}, but reference sequence ends at ${l.end})`);if(v<l.start)return void w(`Reference sequence starts at ${l.start}, feature cannot start before that.`);const h=[],p=PR(u.getSnapshot(i),h),m={...p.attributes};"Parent"in m&&delete m.Parent,p.refSeq=g;const y=v-p.min;p.min=v,p.max=v+r;const _=S(p,y),b=new nr.AddFeatureChange({changedIds:[p._id],typeName:"AddFeatureChange",assembly:f,addedFeature:{_id:p._id,refSeq:p.refSeq,min:p.min,max:p.max,type:p.type,children:_.children,attributes:m,strand:p.strand},copyFeature:!0,allIds:h});await e.submit(b),s("Feature copied successfully","success"),t(),n.preventDefault()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.DialogContentText,null,"Target assembly"),M.default.createElement(c.Select,{labelId:"label",value:f,onChange:function(e){h(e.target.value)}},l.filter((e=>e.name!==o)).map((e=>M.default.createElement(c.MenuItem,{key:e.name,value:e.name},r.readConfObject(e,"displayName"))))),M.default.createElement(c.DialogContentText,null,"Target reference sequence"),M.default.createElement(c.Select,{labelId:"label",value:g,onChange:function(e){y(e.target.value)}},p.map((e=>M.default.createElement(c.MenuItem,{key:e._id,value:e._id},e.name)))),M.default.createElement(c.DialogContentText,null,"Start position in target reference sequence"),M.default.createElement(c.TextField,{margin:"dense",type:"number",fullWidth:!0,variant:"outlined",value:v,onChange:e=>{_(Number(e.target.value))}})),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{disabled:!f||!g||!v,variant:"contained",type:"submit"},"Submit"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),b?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},b)):null)}function MR({changeManager:e,handleClose:t,session:n}){const{internetAccounts:r}=u.getRoot(n),[o,i]=d.useState(),[a,s]=d.useState(""),[l,f]=d.useState(!1),[h,p]=d.useState(!1),m=r.filter((e=>"ApolloInternetAccount"===e.type));if(0===m.length)throw new Error("No Apollo internet account found");const[g,y]=d.useState(m[0]),{collaborationServerDriver:v}=n.apolloDataStore,_=v.getAssemblies();return d.useEffect((()=>{_.length>0&&void 0===o&&i(_[0])}),[_,o]),M.default.createElement(xd,{open:!0,title:"Delete Assembly",handleClose:t,maxWidth:!1,"data-testid":"delete-assembly"},M.default.createElement("form",{onSubmit:async function(n){if(n.preventDefault(),p(!0),s(""),!o)return void s("Must select assembly!");const r=new nr.DeleteAssemblyChange({typeName:"DeleteAssemblyChange",assembly:o.name});await e.submit(r,{internetAccountId:g.internetAccountId}),t(),n.preventDefault()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},m.length>1?M.default.createElement(M.default.Fragment,null,M.default.createElement(c.DialogContentText,null,"Select account"),M.default.createElement(c.Select,{value:g.internetAccountId,onChange:function(e){p(!1);const t=m.find((t=>t.internetAccountId===e.target.value));if(!t)throw new Error(`Could not find internetAccount with ID "${e.target.value}"`);y(t)},disabled:h&&!a},r.map((e=>M.default.createElement(c.MenuItem,{key:e.id,value:e.internetAccountId},e.name))))):null,M.default.createElement(c.DialogContentText,null,"Select assembly"),M.default.createElement(c.Select,{labelId:"label",value:o?.name??"",onChange:function(e){const t=_.find((t=>t.name===e.target.value));i(t)},disabled:0===_.length},_.map((e=>M.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name)))),M.default.createElement(c.DialogContentText,null,M.default.createElement("strong",{style:{color:"red"}},"NOTE: All assembly data will be deleted and this operation cannot be undone!")),M.default.createElement(c.FormGroup,null,M.default.createElement(c.FormControlLabel,{control:M.default.createElement(c.Checkbox,{checked:l,onChange:()=>{f(!l)}}),label:"I understand that all assembly data will be deleted"}))),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{disabled:!o||!l,variant:"contained",type:"submit"},"Delete"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),a?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},a)):null)}function jR({changeManager:e,handleClose:t,selectedFeature:n,session:r,setSelectedFeature:o,sourceAssemblyId:i,sourceFeature:a}){const{notify:s}=r,[l,f]=d.useState("");return M.default.createElement(xd,{open:!0,title:"Delete feature",handleClose:t,maxWidth:!1,"data-testid":"delete-feature"},M.default.createElement("form",{onSubmit:async function(r){r.preventDefault(),f(""),n?._id===a._id&&o();const c=new nr.DeleteFeatureChange({changedIds:[a._id],typeName:"DeleteFeatureChange",assembly:i,deletedFeature:u.getSnapshot(a),parentFeatureId:a.parent?._id});await e.submit(c),s("Feature deleted successfully","success"),t(),r.preventDefault()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.DialogContentText,null,"Are you sure you want to delete the selected feature?")),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"contained",type:"submit"},"Yes"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),l?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},l)):null)}var FR={exports:{}};function LR({handleClose:e,session:t}){const[n,o]=d.useState(),[i,a]=d.useState(""),{collaborationServerDriver:s,getInternetAccount:l,inMemoryFileDriver:f}=t.apolloDataStore,h=[...s.getAssemblies(),...f.getAssemblies()];return M.default.createElement(xd,{open:!0,title:"Export GFF3",handleClose:e,maxWidth:!1,"data-testid":"download-gff3"},M.default.createElement("form",{onSubmit:async function(o){if(o.preventDefault(),a(""),!n)return void a("Must select assembly to download");const{internetAccountConfigId:i}=r.getConf(n,["sequence","metadata"]);i?await async function(e){if(!n)return void a("Must select assembly to download");const t=l(n.configuration.name,e),r=new URL("export/getID",t.baseURL),o=new URLSearchParams({assembly:n.name});r.search=o.toString();const i=r.toString(),s=t.getFetcher({locationType:"UriLocation",uri:i}),u=await s(i,{method:"GET"});if(!u.ok){const e=await md(u,"Error when exporting ID");return void a(e)}const{exportID:c}=await u.json(),f=new URL("export",t.baseURL),d=new URLSearchParams({exportID:c});f.search=d.toString();const h=f.toString();window.open(h,"_blank")}(i):function(e){if(!n)return void a("Must select assembly to download");const{assemblies:t}=e.apolloDataStore,o=t.get(n.name),i=o?.refSeqs;if(!i)return void a(`No refSeqs found for assembly "${n.name}"`);const s=[{directive:"gff-version",value:"3"}],c=r.getConf(n,["sequence","adapter","features"]);for(const e of c){const{end:t,refName:n,start:r}=e;s.push({directive:"sequence-region",value:`${n} ${r+1} ${t}`})}for(const[,e]of i){const{features:t}=e;if(t)for(const[,e]of t)s.push(nr.annotationFeatureToGFF3(u.getSnapshot(e)))}for(const e of c){const{refName:t,seq:n}=e;s.push({id:t,description:"",sequence:n})}const l=dd.formatSync(s),f=new Blob([l],{type:"text/plain;charset=utf-8"});FR.exports.saveAs(f,`${n.displayName??n.name}.gff3`)}(t),e()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.DialogContentText,null,"Select assembly"),M.default.createElement(c.Select,{labelId:"label",value:n?.name??"",onChange:function(e){const t=h.find((t=>t.name===e.target.value));o(t)},disabled:0===h.length},h.map((e=>M.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name)))),M.default.createElement(c.DialogContentText,null,"Select assembly to export to GFF3")),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{disabled:!n,variant:"contained",type:"submit"},"Download"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:e},"Cancel"))),i?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},i)):null)}function DR({changeManager:e,handleClose:t,session:n}){const{apolloDataStore:o}=n,[i,a]=d.useState(),[s,u]=d.useState(),[l,f]=d.useState(""),[h,p]=d.useState(!1),[m,g]=d.useState(),[y,v]=d.useState(!1),[_,b]=d.useState(!1),{collaborationServerDriver:w,getInternetAccount:S}=o,x=w.getAssemblies();return d.useEffect((()=>{s&&(async()=>{const{internetAccountConfigId:e}=r.getConf(s,["sequence","metadata"]),t=S(s.name,e);if(!t)throw new Error("No Apollo internet account found");const{baseURL:n}=t,o=new URL("features/count",n),i=new URLSearchParams({assemblyId:s.name});o.search=i.toString();const a=t.getFetcher({locationType:"UriLocation",uri:o.toString()});b(!0);const u=await a(o.toString(),{method:"GET"});if(!u.ok)throw new Error(await md(u));{const e=await u.json();g(e.count)}b(!1)})().catch((e=>{console.error(e),f(e.message??e)}))}),[S,n,s]),M.default.createElement(xd,{open:!0,title:"Import Features from GFF3 file",handleClose:t,maxWidth:!1,"data-testid":"import-features-dialog"},_?M.default.createElement(T.default,null):null,M.default.createElement("form",{onSubmit:async function(o){o.preventDefault(),f(""),b(!0),p(!0);let a="";if(!i)return void f("must select a file");if(!s)return void f("Must select assembly to download");const{internetAccountConfigId:u}=r.getConf(s,["sequence","metadata"]),c=S(s.name,u),{baseURL:l}=c,d=new URL("files",l);d.searchParams.set("type","text/x-gff3");const h=d.href,m=new FormData;m.append("file",i),m.append("fileName",i.name),m.append("type","text/x-gff3");const g=c.getFetcher({locationType:"UriLocation",uri:h});t();const{jobsManager:v}=n,_=new AbortController,w={name:`Importing features for ${s.displayName}`,statusMessage:"Uploading file, this may take awhile",progressPct:0,cancelCallback:()=>{_.abort(),v.abortJob(w.name)}};if(v.runJob(w),g){const{signal:e}=_,t=await g(h,{method:"POST",body:m,signal:e});if(!t.ok){const e=await md(t,"Error when inserting new features (while uploading file)");return v.abortJob(w.name,e),void f(e)}a=(await t.json())._id}const x=new nr.AddFeaturesFromFileChange({typeName:"AddFeaturesFromFileChange",assembly:s.name,fileId:a,deleteExistingFeatures:y});v.done(w),await e.submit(x,{updateJobsManager:!0})}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.DialogContentText,null,"Select assembly"),M.default.createElement(c.Select,{labelId:"label",value:s?.name??"",onChange:function(e){const t=x.find((t=>t.name===e.target.value));u(t),p(!1)},disabled:h&&!l},x.map((e=>M.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name))))),M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.DialogContentText,null,"Upload GFF3 to load features"),M.default.createElement("input",{type:"file",onChange:function(e){p(!1),e.target.files&&a(e.target.files[0])},disabled:h&&!l})),m&&m>0?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,null,"This assembly already has ",m," features, would you like to delete the existing features before importing new ones?"),M.default.createElement(L.default,{label:"Yes, delete existing features",disabled:h&&!l,control:M.default.createElement(F.default,{checked:y,onChange:function(e){v(e.target.checked)},inputProps:{"aria-label":"controlled"},color:"warning"})})):null,M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{disabled:!(s&&i&&void 0!==m)||h,variant:"contained",type:"submit"},h?"Submitting...":"Submit"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Close"))),l?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},l)):null)}function qR({handleClose:e,session:t}){const{internetAccounts:n}=u.getRoot(t),[r,o]=d.useState(""),i=n.filter((e=>"ApolloInternetAccount"===e.type));if(0===i.length)throw new Error("No Apollo internet account found");const[a,s]=d.useState(i[0]);return M.default.createElement(xd,{open:!0,title:"Log out",handleClose:e,maxWidth:!1,"data-testid":"log-out"},M.default.createElement("form",{onSubmit:function(e){e.preventDefault(),o(""),a.removeToken(),globalThis.location.reload()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},i.length>1?M.default.createElement(M.default.Fragment,null,M.default.createElement(c.DialogContentText,null,"Select account"),M.default.createElement(c.Select,{value:a.internetAccountId,onChange:function(e){const t=i.find((t=>t.internetAccountId===e.target.value));if(!t)throw new Error(`Could not find internetAccount with ID "${e.target.value}"`);s(t)}},n.map((e=>M.default.createElement(c.MenuItem,{key:e.id,value:e.internetAccountId},e.name))))):null,M.default.createElement(c.DialogContentText,null,"Are you sure you want to log out?")),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{disabled:!a,variant:"contained",type:"submit"},"Log Out"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:e},"Cancel"))),r?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},r)):null)}function BR({handleClose:e,session:t}){const{internetAccounts:n}=u.getRoot(t),[r,o]=d.useState(),[i,a]=d.useState(""),[s,l]=d.useState(!1),f=n.filter((e=>"ApolloInternetAccount"===e.type));if(0===f.length)throw new Error("No Apollo internet account found");const[h,p]=d.useState(f[0]),[m,g]=d.useState([]),[y,v]=d.useState([]),{collaborationServerDriver:_}=t.apolloDataStore,b=_.getAssemblies();function w(e,t){const n=[...y],r=e.target.value;if(t)n.includes(r)||(n.push(r),v(n));else{const e=n.indexOf(r,0);-1!==e&&n.splice(e,1),v(n)}}return d.useEffect((()=>{(async function(){const{baseURL:e,getFetcher:t}=h,n=new URL("checks/types",e).href,r=t({locationType:"UriLocation",uri:n}),o=await r(n,{method:"GET"});if(!o.ok){const e=await md(o,"Error when retrieving checks from server");return void a(e)}const i=await o.json();g(i)})().catch((e=>{a(String(e))}))}),[h]),d.useEffect((()=>{b.length>0&&void 0===r&&o(b[0])}),[b,r]),d.useEffect((()=>{(async function(){if(!r)return;const{baseURL:e,getFetcher:t}=h,n=new URL(`/assemblies/${r.name}`,e).href,o=t({locationType:"UriLocation",uri:n}),i=await o(n,{method:"GET"});if(!i.ok){const e=await md(i,"Error when retrieving assembly from server");return void a(e)}const s=await i.json();v(s.checks)})().catch((e=>{a(String(e))}))}),[r,h]),M.default.createElement(xd,{open:!0,title:"Manage Checks",handleClose:e,"data-testid":"manage-checks"},M.default.createElement("form",{onSubmit:async function(n){if(n.preventDefault(),!r)return void a("Must select assembly!");const{notify:o}=t,{baseURL:i,getFetcher:s}=h,u=new URL("assemblies/checks",i).href,c=s({locationType:"UriLocation",uri:u}),l=await c(u,{method:"POST",body:JSON.stringify({_id:r.name,checks:y,name:""}),headers:{"Content-Type":"application/json"}});if(l.ok)o("Assembly checks updated successfully","success"),e();else{const e=await md(l,"Error when updating assembly checks");a(e)}}},M.default.createElement(c.DialogContent,null,f.length>1?M.default.createElement(M.default.Fragment,null,M.default.createElement(c.DialogContentText,null,"Select account"),M.default.createElement(c.Select,{value:h.internetAccountId,onChange:function(e){l(!1);const t=f.find((t=>t.internetAccountId===e.target.value));if(!t)throw new Error(`Could not find internetAccount with ID "${e.target.value}"`);p(t)},disabled:s&&!i},n.map((e=>M.default.createElement(c.MenuItem,{key:e.id,value:e.internetAccountId},e.name))))):null,M.default.createElement(c.DialogContentText,null,"Select assembly"),M.default.createElement(c.Select,{style:{width:300},labelId:"label",value:r?.name??"",onChange:function(e){const t=b.find((t=>t.name===e.target.value));o(t)},disabled:0===b.length},b.map((e=>M.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name)))),M.default.createElement("br",null),M.default.createElement("br",null),M.default.createElement(c.TableContainer,{component:c.Paper},M.default.createElement(c.Table,null,M.default.createElement(c.TableHead,null,M.default.createElement(c.TableRow,null,M.default.createElement(c.TableCell,null,"Check name"),M.default.createElement(c.TableCell,null,"Use check"))),M.default.createElement(c.TableBody,null,m.map((e=>M.default.createElement(c.TableRow,{key:e._id},M.default.createElement(c.TableCell,null,e.name),M.default.createElement(c.TableCell,null,M.default.createElement(c.Checkbox,{value:e._id,checked:y.includes(e._id),onChange:w}))))))))),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"contained",type:"submit"},"Submit"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:e},"Cancel"))),i?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},i)):null)}!function(e,t){!function(){function t(e,t,n){var r=new XMLHttpRequest;r.open("GET",e),r.responseType="blob",r.onload=function(){a(r.response,t,n)},r.onerror=function(){console.error("could not download file")},r.send()}function n(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function r(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(n){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var o="object"==("undefined"==typeof window?"undefined":Z(window))&&window.window===window?window:"object"==("undefined"==typeof self?"undefined":Z(self))&&self.self===self?self:"object"==Z(q)&&q.global===q?q:void 0,i=o.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),a=o.saveAs||("object"!=("undefined"==typeof window?"undefined":Z(window))||window!==o?function(){}:"download"in HTMLAnchorElement.prototype&&!i?function(e,i,a){var s=o.URL||o.webkitURL,u=document.createElement("a");u.download=i=i||e.name||"download",u.rel="noopener","string"==typeof e?(u.href=e,u.origin===location.origin?r(u):n(u.href)?t(e,i,a):r(u,u.target="_blank")):(u.href=s.createObjectURL(e),setTimeout((function(){s.revokeObjectURL(u.href)}),4e4),setTimeout((function(){r(u)}),0))}:"msSaveOrOpenBlob"in navigator?function(e,o,i){if(o=o||e.name||"download","string"!=typeof e)navigator.msSaveOrOpenBlob(function(e,t){return void 0===t?t={autoBom:!1}:"object"!=Z(t)&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\ufeff",e],{type:e.type}):e}(e,i),o);else if(n(e))t(e,o,i);else{var a=document.createElement("a");a.href=e,a.target="_blank",setTimeout((function(){r(a)}))}}:function(e,n,r,a){if((a=a||open("","_blank"))&&(a.document.title=a.document.body.innerText="downloading..."),"string"==typeof e)return t(e,n,r);var s="application/octet-stream"===e.type,u=/constructor/i.test(o.HTMLElement)||o.safari,c=/CriOS\/[\d]+/.test(navigator.userAgent);if((c||s&&u||i)&&"undefined"!=typeof FileReader){var l=new FileReader;l.onloadend=function(){var e=l.result;e=c?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),a?a.location.href=e:location=e,a=null},l.readAsDataURL(e)}else{var f=o.URL||o.webkitURL,d=f.createObjectURL(e);a?a.location=d:location.href=d,a=null,setTimeout((function(){f.revokeObjectURL(d)}),4e4)}});o.saveAs=a.saveAs=a,e.exports=a}()}(FR);var UR={},zR=Ju.exports;Object.defineProperty(UR,"__esModule",{value:!0});var GR=UR.default=void 0;function HR({changeManager:e,handleClose:t,session:n}){const{internetAccounts:r}=u.getRoot(n),o=r.filter((e=>"ApolloInternetAccount"===e.type&&e.role?.includes("admin")));if(0===o.length)throw new Error("No Apollo internet account found");const[i,a]=d.useState(""),[s,l]=d.useState(o[0]),[f,h]=d.useState([]),p=d.useCallback((async()=>{const{baseURL:e}=s,t=new URL("users",e).href,n=s.getFetcher({locationType:"UriLocation",uri:t});if(n){const e=await n(t,{method:"GET"});if(!e.ok){const t=await md(e,"Error when getting user data from db");return void a(t)}const r=await e.json();h(r.map((e=>void 0===e.role?{...e,role:""}:e)))}}),[s]);function m(e){return e===s.getUserId()}d.useEffect((()=>{p().catch((e=>{a(String(e))}))}),[p]);const g=[{field:"username",headerName:"User",width:140},{field:"email",headerName:"Email",width:160},{field:"role",headerName:"Role",width:140,type:"singleSelect",valueOptions:["readOnly","user","admin","none"],getOptionLabel(e){switch(e){case"readOnly":return"Read-only";case"user":return"User";case"admin":return"Admin";case"none":return"None";default:return"unknown"}},editable:!0},{field:"actions",type:"actions",getActions:t=>[M.default.createElement(b.GridActionsCellItem,{key:`delete-${t.id}`,icon:M.default.createElement(GR,null),onClick:async()=>{globalThis.confirm("Delete this user?")&&await async function(t){const n=new nr.DeleteUserChange({typeName:"DeleteUserChange",userId:t});await e.submit(n,{internetAccountId:s.internetAccountId}),h((e=>e.filter((e=>e._id!==t))))}(t.id)},disabled:m(t.id),label:"Delete"})]}];return M.default.createElement(xd,{open:!0,fullScreen:!0,title:"Manage users",handleClose:t,"data-testid":"manage-users"},M.default.createElement(c.DialogContent,null,o.length>1?M.default.createElement(M.default.Fragment,null,M.default.createElement(c.DialogContentText,null,"Select account"),M.default.createElement(c.Select,{value:s.internetAccountId,onChange:function(e){const t=o.find((t=>t.internetAccountId===e.target.value));if(!t)throw new Error(`Could not find internetAccount with ID "${e.target.value}"`);l(t)},disabled:!i},r.map((e=>M.default.createElement(c.MenuItem,{key:e.id,value:e.internetAccountId},e.name))))):null,M.default.createElement("div",{style:{height:"100%",width:"100%"}},M.default.createElement(b.DataGrid,{pagination:!0,rows:f,columns:g,getRowId:e=>e._id,slots:{toolbar:b.GridToolbar},getRowHeight:()=>"auto",isCellEditable:e=>!m(e.id),processRowUpdate:async function(t){const n=new nr.UserChange({typeName:"UserChange",role:t.role,userId:t._id});return await e.submit(n,{internetAccountId:s.internetAccountId}),t},onProcessRowUpdateError:e=>{a(String(e))}}))),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Close")),i?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},i)):null)}GR=UR.default=(0,zR(Ku).default)((0,N.default.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"}),"Delete");var WR={exports:{}};!function(e,t){!function(t,n){e.exports=n()}(0,(function(){return e={772:function(e,t,n){var r=n(826).remove,o=/[.*+?^${}()|[\]\\]/g,i=/[a-z0-9_]/i,a=/\s+/;e.exports=function(e,t,n){var s,u;u={insideWords:!1,findAllOccurrences:!1,requireMatchAll:!1},s=(s=n)||{},Object.keys(s).forEach((function(e){u[e]=!!s[e]})),n=u;var c=Array.from(e).map((function(e){return r(e)})),l=c.join("");return(t=r(t)).trim().split(a).filter((function(e){return e.length>0})).reduce((function(e,t){var r,a,s=t.length,u=!n.insideWords&&i.test(t[0])?"\\b":"",f=new RegExp(u+t.replace(o,"\\$&"),"i");if(r=f.exec(l),n.requireMatchAll&&null===r)return l="",[];for(;r;){var d=s-c.slice(a=r.index,a+s).join("").length,h=a-c.slice(0,a).join("").length,p=[a+h,a+s+h+d];if(p[0]!==p[1]&&e.push(p),l=l.slice(0,a)+new Array(s+1).join(" ")+l.slice(a+s),!n.findAllOccurrences)break;r=f.exec(l)}return e}),[]).sort((function(e,t){return e[0]-t[0]}))}},826:function(e){var t={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Ấ":"A","Ắ":"A","Ẳ":"A","Ẵ":"A","Ặ":"A","Æ":"AE","Ầ":"A","Ằ":"A","Ȃ":"A","Ç":"C","Ḉ":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ế":"E","Ḗ":"E","Ề":"E","Ḕ":"E","Ḝ":"E","Ȇ":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ḯ":"I","Ȋ":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ố":"O","Ṍ":"O","Ṓ":"O","Ȏ":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","ấ":"a","ắ":"a","ẳ":"a","ẵ":"a","ặ":"a","æ":"ae","ầ":"a","ằ":"a","ȃ":"a","ç":"c","ḉ":"c","è":"e","é":"e","ê":"e","ë":"e","ế":"e","ḗ":"e","ề":"e","ḕ":"e","ḝ":"e","ȇ":"e","ì":"i","í":"i","î":"i","ï":"i","ḯ":"i","ȋ":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ố":"o","ṍ":"o","ṓ":"o","ȏ":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Ĉ":"C","ĉ":"c","Ċ":"C","ċ":"c","Č":"C","č":"c","C̆":"C","c̆":"c","Ď":"D","ď":"d","Đ":"D","đ":"d","Ē":"E","ē":"e","Ĕ":"E","ĕ":"e","Ė":"E","ė":"e","Ę":"E","ę":"e","Ě":"E","ě":"e","Ĝ":"G","Ǵ":"G","ĝ":"g","ǵ":"g","Ğ":"G","ğ":"g","Ġ":"G","ġ":"g","Ģ":"G","ģ":"g","Ĥ":"H","ĥ":"h","Ħ":"H","ħ":"h","Ḫ":"H","ḫ":"h","Ĩ":"I","ĩ":"i","Ī":"I","ī":"i","Ĭ":"I","ĭ":"i","Į":"I","į":"i","İ":"I","ı":"i","IJ":"IJ","ij":"ij","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","Ḱ":"K","ḱ":"k","K̆":"K","k̆":"k","Ĺ":"L","ĺ":"l","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ŀ":"L","ŀ":"l","Ł":"l","ł":"l","Ḿ":"M","ḿ":"m","M̆":"M","m̆":"m","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","ʼn":"n","N̆":"N","n̆":"n","Ō":"O","ō":"o","Ŏ":"O","ŏ":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","P̆":"P","p̆":"p","Ŕ":"R","ŕ":"r","Ŗ":"R","ŗ":"r","Ř":"R","ř":"r","R̆":"R","r̆":"r","Ȓ":"R","ȓ":"r","Ś":"S","ś":"s","Ŝ":"S","ŝ":"s","Ş":"S","Ș":"S","ș":"s","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","ț":"t","Ț":"T","Ť":"T","ť":"t","Ŧ":"T","ŧ":"t","T̆":"T","t̆":"t","Ũ":"U","ũ":"u","Ū":"U","ū":"u","Ŭ":"U","ŭ":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ȗ":"U","ȗ":"u","V̆":"V","v̆":"v","Ŵ":"W","ŵ":"w","Ẃ":"W","ẃ":"w","X̆":"X","x̆":"x","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Y̆":"Y","y̆":"y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","ſ":"s","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Ǎ":"A","ǎ":"a","Ǐ":"I","ǐ":"i","Ǒ":"O","ǒ":"o","Ǔ":"U","ǔ":"u","Ǖ":"U","ǖ":"u","Ǘ":"U","ǘ":"u","Ǚ":"U","ǚ":"u","Ǜ":"U","ǜ":"u","Ứ":"U","ứ":"u","Ṹ":"U","ṹ":"u","Ǻ":"A","ǻ":"a","Ǽ":"AE","ǽ":"ae","Ǿ":"O","ǿ":"o","Þ":"TH","þ":"th","Ṕ":"P","ṕ":"p","Ṥ":"S","ṥ":"s","X́":"X","x́":"x","Ѓ":"Г","ѓ":"г","Ќ":"К","ќ":"к","A̋":"A","a̋":"a","E̋":"E","e̋":"e","I̋":"I","i̋":"i","Ǹ":"N","ǹ":"n","Ồ":"O","ồ":"o","Ṑ":"O","ṑ":"o","Ừ":"U","ừ":"u","Ẁ":"W","ẁ":"w","Ỳ":"Y","ỳ":"y","Ȁ":"A","ȁ":"a","Ȅ":"E","ȅ":"e","Ȉ":"I","ȉ":"i","Ȍ":"O","ȍ":"o","Ȑ":"R","ȑ":"r","Ȕ":"U","ȕ":"u","B̌":"B","b̌":"b","Č̣":"C","č̣":"c","Ê̌":"E","ê̌":"e","F̌":"F","f̌":"f","Ǧ":"G","ǧ":"g","Ȟ":"H","ȟ":"h","J̌":"J","ǰ":"j","Ǩ":"K","ǩ":"k","M̌":"M","m̌":"m","P̌":"P","p̌":"p","Q̌":"Q","q̌":"q","Ř̩":"R","ř̩":"r","Ṧ":"S","ṧ":"s","V̌":"V","v̌":"v","W̌":"W","w̌":"w","X̌":"X","x̌":"x","Y̌":"Y","y̌":"y","A̧":"A","a̧":"a","B̧":"B","b̧":"b","Ḑ":"D","ḑ":"d","Ȩ":"E","ȩ":"e","Ɛ̧":"E","ɛ̧":"e","Ḩ":"H","ḩ":"h","I̧":"I","i̧":"i","Ɨ̧":"I","ɨ̧":"i","M̧":"M","m̧":"m","O̧":"O","o̧":"o","Q̧":"Q","q̧":"q","U̧":"U","u̧":"u","X̧":"X","x̧":"x","Z̧":"Z","z̧":"z"},n=Object.keys(t).join("|"),r=new RegExp(n,"g"),o=new RegExp(n,""),i=function(e){return e.replace(r,(function(e){return t[e]}))};e.exports=i,e.exports.has=function(e){return!!e.match(o)},e.exports.remove=i}},t={},function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}(772);var e,t}))}(WR);var VR=WR.exports,$R={exports:{}};!function(e,t){!function(t,n){e.exports=n()}(0,(function(){return e={705:function(e){e.exports=function(e,t){var n=[];return 0===t.length?n.push({text:e,highlight:!1}):t[0][0]>0&&n.push({text:e.slice(0,t[0][0]),highlight:!1}),t.forEach((function(r,o){var i=r[1];n.push({text:e.slice(r[0],i),highlight:!0}),o===t.length-1?i<e.length&&n.push({text:e.slice(i,e.length),highlight:!1}):i<t[o+1][0]&&n.push({text:e.slice(i,t[o+1][0]),highlight:!1})})),n}}},t={},function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}(705);var e,t}))}($R);var JR=$R.exports;function KR({getTagProps:e,index:t,ontology:n,termId:r}){const o=u.getParent(n,2),[i,a]=j.useState(""),[s,l]=j.useState("");return j.useEffect((()=>{const e=new AbortController,{signal:t}=e;return async function(){const e=o.expandPrefixes(r),i=await(n.dataStore?.db);if(!i||t.aborted)return;const s=await i.transaction("nodes").objectStore("nodes").get(e);s&&s.lbl&&!t.aborted&&a(s.lbl||"no label")}().catch((e=>{t.aborted||l(String(e))})),()=>{e.abort()}}),[r,n,o]),j.createElement(c.Tooltip,{title:i},j.createElement("div",null,j.createElement(c.Chip,{label:s||o.applyPrefixes(r),color:s?"error":"default",size:"small",...e({index:t})})))}function YR({includeDeprecated:e,onChange:t,ontologyName:n,ontologyVersion:r,session:o,value:a}){const{ontologyManager:s}=o.apolloDataStore,u=s.findOntology(n,r),[l,f]=j.useState(a.map((e=>({term:{id:e,type:"CLASS"}})))),[d,h]=j.useState(""),[p,m]=j.useState([]),[g,y]=j.useState(!1),[v,_]=j.useState(""),b=j.useMemo((()=>i.debounce((async(t,n)=>{if(!u)return;const{dataStore:r}=u;if(!r)return;const{input:o,signal:i}=t;try{const t=await r.getTermsByFulltext(o,void 0,i),a=new Map,s=[];for(const n of t){if(!AR(n.term)||!e&&pR(n.term))continue;let t=a.get(n.term.id);t||(t={term:n.term,matches:[]},a.set(n.term.id,t),s.push(t)),t.matches.push(n)}n(s)}catch(e){$O(e)||_(String(e))}}),400)),[e,u]);if(j.useEffect((()=>{const e=new AbortController,{signal:t}=e;if(""!==d)return y(!0),b({input:d,signal:t},(e=>{let t=[];l.length>0&&(t=l),e&&(t=[...t,...e]),m(t),y(!1)})),()=>{e.abort()};m([])}),[b,u,e,d,l]),!u)return null;const w={};return v&&(w.error=!0,w.helperText=v),j.createElement(c.Autocomplete,{getOptionLabel:e=>s.applyPrefixes(e.term.id),filterOptions:e=>e.filter((e=>AR(e.term))),options:p,autoComplete:!0,includeInputInList:!0,filterSelectedOptions:!0,value:l,loading:g,isOptionEqualToValue:(e,t)=>s.applyPrefixes(e.term.id)===s.applyPrefixes(t.term.id),noOptionsText:d?"No matches":"Start typing to search",onChange:(e,n)=>{m(n?[...n,...p]:p),t(n.map((e=>s.applyPrefixes(e.term.id)))),f(n)},onInputChange:(e,t)=>{t&&y(!0),m([]),h(t)},multiple:!0,renderInput:e=>j.createElement(c.TextField,{...e,...w,variant:"outlined",fullWidth:!0}),renderOption:(e,t)=>j.createElement(XR,{...e,ontologyManager:s,option:t,inputValue:d}),renderTags:(e,t)=>e.map(((e,n)=>j.createElement(KR,{termId:e.term.id,index:n,ontology:u,getTagProps:t,key:e.term.id})))})}function ZR(e){const{search:t,str:n}=e,r=VR(n,t,{insideWords:!0,findAllOccurrences:!0}),o=JR(n,r);return j.createElement(j.Fragment,null,o.map(((e,t)=>j.createElement(c.Typography,{key:t,component:"span",sx:{fontWeight:e.highlight?"bold":"regular"},variant:"body2",color:"text.secondary"},e.text))))}function XR(e){const{inputValue:t,ontologyManager:n,option:r,...o}=e,i=(r.matches??[]).filter((e=>"$.lbl"!==e.field.jsonPath)).map((e=>j.createElement(j.Fragment,{key:`option-${e.term.id}-${e.str}`},j.createElement(c.Typography,{component:"dt",variant:"body2",color:"text.secondary"},e.field.displayName),j.createElement("dd",null,j.createElement(ZR,{str:e.str,search:t})))));return j.createElement("li",{...o},j.createElement(c.Grid,{container:!0},j.createElement(c.Grid,{item:!0},j.createElement(c.Typography,{component:"span"},n.applyPrefixes(r.term.id))," ",j.createElement(ZR,{str:r.term.lbl??"(no label)",search:t})," ",j.createElement("dl",null,i))))}const QR=new Map([["Gene Ontology",e=>M.default.createElement(YR,{...e,ontologyName:"Gene Ontology"})],["Sequence Ontology",e=>M.default.createElement(YR,{...e,ontologyName:"Sequence Ontology"})]]),eN=m.makeStyles()((e=>({attributeInput:{maxWidth:600},newAttributePaper:{padding:e.spacing(2)},attributeName:{background:e.palette.secondary.main,color:e.palette.secondary.contrastText,padding:e.spacing(1)}}))),tN=["ID","Name","Alias","Target","Gap","Derives_from","Note","Dbxref","Ontology","Is_Circular"];function nN(e){const{onChange:t,value:n}=e;return M.default.createElement(c.TextField,{type:"text",value:n,onChange:e=>{t(e.target.value.split(","))},variant:"outlined",fullWidth:!0,helperText:"Separate multiple values for the attribute with commas"})}function rN({changeManager:e,handleClose:t,session:n,sourceAssemblyId:r,sourceFeature:o}){const{notify:i}=n,{internetAccounts:a}=u.getRoot(n),s=d.useMemo((()=>a.find((e=>"ApolloInternetAccount"===e.type))),[a]),l=["admin","user"].includes((s?s.role:"admin")??""),[f,h]=d.useState(""),[p,m]=d.useState(Object.fromEntries([...o.attributes.entries()].map((([e,t])=>{if(e.startsWith("gff_")){const n=e.slice(4);return[n.charAt(0).toUpperCase()+n.slice(1),u.getSnapshot(t)]}return"_id"===e?["ID",u.getSnapshot(t)]:[e,u.getSnapshot(t)]})))),[g,y]=d.useState(!1),[v,_]=d.useState(""),{classes:b}=eN(),w=Object.values(p).some((e=>0===e.length||e.includes("")));return M.default.createElement(xd,{open:!0,title:"Feature attributes",handleClose:t,maxWidth:!1,"data-testid":"modify-feature-attribute"},M.default.createElement("form",{onSubmit:async function(n){n.preventDefault(),h("");const a={};if(p)for(const[e,t]of Object.entries(p))if(t&&"parent"!==e.toLowerCase())if([...QR.keys()].includes(e))a[e]=t;else switch(e){case"ID":a._id=t;break;case"Name":a.gff_name=t;break;case"Alias":a.gff_alias=t;break;case"Target":a.gff_target=t;break;case"Gap":a.gff_gap=t;break;case"Derives_from":a.gff_derives_from=t;break;case"Note":a.gff_note=t;break;case"Dbxref":a.gff_dbxref=t;break;case"Ontology_term":a.gff_ontology_term=t;break;case"Is_circular":a.gff_is_circular=t;break;default:a[e.toLowerCase()]=t}const s=new nr.FeatureAttributeChange({changedIds:[o._id],typeName:"FeatureAttributeChange",assembly:r,featureId:o._id,attributes:a});await e.submit(s),i("Feature attributes modified successfully","success"),t(),n.preventDefault()}},M.default.createElement(c.DialogContent,null,M.default.createElement(c.Grid,{container:!0,direction:"column",spacing:1},Object.entries(p).map((([e,t])=>{const r=QR.get(e)??nN;return M.default.createElement(c.Grid,{container:!0,item:!0,spacing:3,alignItems:"center",key:e},M.default.createElement(c.Grid,{item:!0,xs:"auto"},M.default.createElement(c.Paper,{variant:"outlined",className:b.attributeName},M.default.createElement(c.Typography,null,e))),M.default.createElement(c.Grid,{item:!0,flexGrow:1},M.default.createElement(r,{session:n,value:t,onChange:(o=e,e=>{m({...p,[o]:e})})})),M.default.createElement(c.Grid,{item:!0,xs:1},M.default.createElement(c.IconButton,{"aria-label":"delete",size:"medium",disabled:!l,onClick:()=>{!function(e){h("");const{[e]:t,...n}=p;m(n)}(e)}},M.default.createElement(GR,{fontSize:"medium",key:e}))));var o})),M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.Button,{color:"primary",variant:"contained",disabled:g||!l,onClick:()=>{y(!0)}},"Add new")),g?M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.Paper,{elevation:8,className:b.newAttributePaper},M.default.createElement(c.Grid,{container:!0,direction:"column"},M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.FormControl,null,M.default.createElement(c.FormLabel,{id:"attribute-radio-button-group"},"Select attribute type"),M.default.createElement(c.RadioGroup,{"aria-labelledby":"demo-radio-buttons-group-label",defaultValue:"custom",name:"radio-buttons-group",onChange:function(e,t){"custom"===t?_(""):QR.has(t)?_(t):h("Unknown attribute type")}},M.default.createElement(c.FormControlLabel,{value:"custom",control:M.default.createElement(c.Radio,null),disableTypography:!0,label:M.default.createElement(c.Grid,{container:!0,spacing:1,alignItems:"center"},M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.Typography,null,"Custom")),M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.TextField,{label:"Custom attribute key",variant:"outlined",value:QR.has(v)?"":v,disabled:QR.has(v),onChange:e=>{_(e.target.value)}})))}),[...QR.keys()].map((e=>M.default.createElement(c.FormControlLabel,{key:e,value:e,control:M.default.createElement(c.Radio,null),label:e})))))),M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{key:"addButton",color:"primary",variant:"contained",style:{margin:2},onClick:function(){h(""),0!==v.trim().length?"Parent"!==v?v in p?h(`Attribute "${v}" already exists`):!/^[A-Z]/.test(v)||tN.includes(v)||[...QR.keys()].includes(v)?(m({...p,[v]:[]}),y(!1),_("")):h(`Key cannot starts with uppercase letter unless key is one of these: ${tN.join(", ")}`):h('"Parent" -key is handled internally and it cannot be modified manually'):h("Attribute key is mandatory")},disabled:!v},"Add"),M.default.createElement(c.Button,{key:"cancelAddButton",variant:"outlined",type:"submit",onClick:()=>{y(!1),_(""),h("")}},"Cancel")))))):null),f?M.default.createElement(c.DialogContentText,{color:"error"},f):null),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"contained",type:"submit",disabled:g||w||!l},"Submit changes"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",disabled:g,onClick:t},"Cancel"))))}var oN=function(){return crypto.getRandomValues(new Uint8Array(arguments.length>0&&void 0!==arguments[0]?arguments[0]:21)).reduce((function(e,t){return e+((t&=63)<36?t.toString(36):t<62?(t-26).toString(36).toUpperCase():t>62?"-":"_")}),"")};function iN({handleClose:e,session:t}){const{apolloDataStore:r}=t,{addAssembly:o,addSessionAssembly:i,assemblyManager:a,notify:s}=t,[u,l]=d.useState(null),[f,h]=d.useState(""),[p,m]=d.useState(""),[g,y]=d.useState(!1),v=c.useTheme();return M.default.createElement(xd,{open:!0,title:"Open local GFF3 file",handleClose:e,maxWidth:!1,"data-testid":"open-local-file"},M.default.createElement("form",{onSubmit:async function(c){if(c.preventDefault(),m(""),y(!0),!u)throw new Error("No file selected");const l=await new Response(u).text(),d=`${f}-${u.name}-${oN(8)}`;try{await hd(d,l,r)}catch(t){return console.error(t),s(`Error loading GFF3 ${u.name}, ${String(t)}`,"error"),void e()}const h={name:d,aliases:[f],displayName:f,sequence:{trackId:`sequenceConfigId-${f}`,type:"ReferenceSequenceTrack",adapter:{type:"ApolloSequenceAdapter",assemblyId:d},metadata:{apollo:!0,...n.isElectron?{file:u.path}:{}}}};await(i||o)(h);const p=await a.waitForAssembly(h.name);p?(t.addApolloTrackConfig(p),s(`Loaded GFF3 ${u.name}`,"success")):s(`Error loading GFF3 ${u.name}`,"error"),e()}},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.FormControl,null,M.default.createElement("div",{style:{flexDirection:"row"}},M.default.createElement(c.Button,{variant:"contained",component:"label",style:{marginRight:v.spacing()}},"Choose File",M.default.createElement("input",{type:"file",required:!0,hidden:!0,onChange:function(e){const t=e.target.files?.item(0);if(t&&(m(""),l(t),!f)){const e=t.name,n=e.lastIndexOf(".");h(-1===n?e:e.slice(0,n))}}})),u?u.name:"No file chosen"),M.default.createElement(c.FormHelperText,null,"Make sure your GFF3 has an embedded FASTA section")),M.default.createElement(c.TextField,{required:!0,label:"Assembly name",value:f,onChange:function(e){h(e.target.value)}})),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{disabled:!1,variant:"contained",type:"submit"},g?"Submitting...":"Submit"),M.default.createElement(c.Button,{disabled:g,variant:"outlined",type:"submit",onClick:e},"Cancel"))),p?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},p)):null)}const aN=m.makeStyles()((e=>({changeTextarea:{fontFamily:"monospace",width:600,resize:"none",border:`1px solid ${e.palette.divider}`,borderRadius:e.shape.borderRadius}})));function sN({handleClose:e,session:t}){const{internetAccounts:n}=u.getRoot(t),r=n.find((e=>"ApolloInternetAccount"===e.type));if(!r)throw new Error("No Apollo internet account found");const{baseURL:o}=r,{classes:i}=aN(),[a,s]=d.useState(),[l,f]=d.useState([]),[h,p]=d.useState(""),[m,g]=d.useState([]),y=[{field:"sequence"},{field:"typeName",headerName:"Change type",width:200,type:"singleSelect",valueOptions:[...z.changeRegistry.changes.keys()]},{field:"changes",headerName:"Change JSON",width:600,renderCell:({value:e})=>M.default.createElement("textarea",{className:i.changeTextarea,value:JSON.stringify(e),readOnly:!0}),valueFormatter:({value:e})=>JSON.stringify(e)},{field:"user",headerName:"User",width:140},{field:"createdAt",headerName:"Time",width:160,type:"dateTime",valueGetter:e=>e&&new Date(e)}];return d.useEffect((()=>{(async function(){const e=new URL("assemblies",o).href,t=r?.getFetcher({locationType:"UriLocation",uri:e});if(t){const n=await t(e,{method:"GET"});if(!n.ok){const e=await md(n,"Error when retrieving assemblies from server");return void s(e)}const r=await n.json();f(r)}})().catch((e=>{s(String(e))}))}),[r,o]),d.useEffect((()=>{!h&&l.length>0&&p(l[0]._id)}),[h,l]),d.useEffect((()=>{(async function(){if(!h)return;const e=new URL("changes",o),t=new URLSearchParams({assembly:h});e.search=t.toString();const n=e.toString(),i=r?.getFetcher({locationType:"UriLocation",uri:n});if(i){const e=await i(n,{headers:new Headers({"Content-Type":"application/json"})});if(!e.ok){const t=await md(e,"Error when retrieving changes");return void s(t)}const t=await e.json();g(t)}})().catch((e=>{s(String(e))}))}),[h,r,o]),M.default.createElement(xd,{open:!0,fullScreen:!0,title:"View change log",handleClose:e,"data-testid":"view-changelog"},M.default.createElement(c.Select,{style:{width:200,marginLeft:40},value:h,onChange:function(e){p(e.target.value)}},l.map((e=>M.default.createElement(c.MenuItem,{key:e._id,value:e._id},e.name)))),M.default.createElement(c.DialogContent,null,M.default.createElement(b.DataGrid,{pagination:!0,rows:m,columns:y,getRowId:e=>e._id,slots:{toolbar:b.GridToolbar},initialState:{sorting:{sortModel:[{field:"sequence",sort:"desc"}]},columns:{columnVisibilityModel:{sequence:!1}}}})),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:e},"Close")),a?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},a)):null)}const uN=[{field:"refName",headerName:"Ref Name"},{field:"aliases",headerName:"Aliases",editable:!0}],cN=e=>/^[\da-f]{24}$/i.test(e);function lN({changeManager:e,handleClose:t,session:n}){const r=d.useRef(null),[o,i]=d.useState(""),[a,s]=d.useState(!1),[u,l]=d.useState(),[f,h]=d.useState([]),[p,m]=d.useState(new Map),{apolloDataStore:g}=n,{collaborationServerDriver:y}=g,v=y.getAssemblies();d.useEffect((()=>{let e=0;const t=()=>{if(!u)return;const n=new Map;if(e<2&&!u.refNames&&(e++,setTimeout(t,50)),!u.refNames)return;const r=u.refNameAliases;for(const e in r){const t=r[e];if(t&&!cN(e))if(n.has(t)){const r=n.get(t)??[];n.set(t,[...r,e])}else n.set(t,[e])}m(n)};t()}),[u]);const _=()=>[...p].map(((e,t)=>({id:t,refName:e[0],aliases:e[1].filter((t=>t!==e[0])).join(", ")})));return M.default.createElement(xd,{open:!0,title:"Add reference sequence aliases",handleClose:t,maxWidth:"sm","data-testid":"add-refseq-alias",fullWidth:!0},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},M.default.createElement(c.Grid,{container:!0,spacing:2},M.default.createElement(c.Grid,{item:!0,xs:4},M.default.createElement(c.FormControl,{disabled:a&&!o,fullWidth:!0},M.default.createElement(c.InputLabel,{id:"demo-simple-select-label"},"Assembly"),M.default.createElement(c.Select,{labelId:"demo-simple-select-label",id:"demo-simple-select",label:"Assembly",value:u?.name??"",onChange:e=>{const t=v.find((t=>t.name===e.target.value));l(t),s(!1),i(""),r.current&&(r.current.value="")}},v.map((e=>M.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name)))))),M.default.createElement(c.Grid,{item:!0,xs:1}),M.default.createElement(c.Grid,{item:!0,xs:7},M.default.createElement(c.InputLabel,null,"Load RefName alias"),M.default.createElement("input",{type:"file",onChange:e=>{(async e=>{if(!e.target.files)return;const t=e.target.files[0],n=(await t.text()).split("\n"),r=new Map(p);i("");for(const e of n){const t=e.split("\t");for(const e of t)r.has(e)&&r.set(e,[...r.get(e)??[],...t])}m(r)})(e).catch((()=>{i("Error reading file")}))},ref:r,disabled:a&&!o||!u}))),u&&p.size>0?M.default.createElement("div",{style:{height:200,width:"100%",marginTop:20}},M.default.createElement(c.InputLabel,null,"Refname aliases found for selected assembly."),M.default.createElement(b.DataGrid,{rows:_(),columns:uN,initialState:{pagination:{paginationModel:{page:0,pageSize:5}}},pageSizeOptions:[5,10],onRowSelectionModelChange:e=>{(e=>{if(e.length>0){s(!0);const t=e.flatMap((e=>_().filter((t=>t.id===e))));h(t)}else s(!1),h([])})(e)},processRowUpdate:(e,t)=>{const n=new Map(p);return n.set(e.refName,e.aliases.split(",")),m(n),e},checkboxSelection:!0})):null),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"contained",type:"submit",disabled:!a,onClick:()=>{const n=[];for(const e of f){const{refName:t}=e,r=e.aliases.split(",").map((e=>e.trim())).filter((e=>e.length>0));n.push({refName:t,aliases:r})}if(i(""),!u)return void i("No assembly selected");const r=new nr.AddRefSeqAliasesChange({typeName:"AddRefSeqAliasesChange",assembly:u.name,refSeqAliases:n});e.submit(r).catch((()=>{i("Error submitting change")})),t()}},"Submit"),M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Close")),o?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},o)):null)}function fN({handleClose:e,session:t}){const{internetAccounts:n}=u.getRoot(t),{collaborationServerDriver:r}=t.apolloDataStore,o=n.find((e=>"ApolloInternetAccount"===e.type));if(!o)throw new Error("No Apollo internet account found");const{baseURL:i}=o,[a,s]=d.useState(),[l,f]=d.useState(),[h,p]=d.useState([]),m=r.getAssemblies();return d.useEffect((()=>{!l&&m.length>0&&f(m[0])}),[m,l]),d.useEffect((()=>{(async function(){const e=l?.name;if(!e)return;const t=new URL("checks",i),n=new URLSearchParams({assembly:e});t.search=n.toString();const r=t.toString(),a=o?.getFetcher({locationType:"UriLocation",uri:r});if(a){const e=await a(r,{headers:new Headers({"Content-Type":"application/json"})});if(!e.ok){const t=await md(e,"Error when retrieving checks");return void s(t)}const t=await e.json();p(t)}})().catch((e=>{s(String(e))}))}),[l,o,i]),M.default.createElement(xd,{open:!0,fullScreen:!0,title:"View check results",handleClose:e,"data-testid":"view-check-results"},M.default.createElement(c.Select,{style:{width:200,marginLeft:40},value:l?.name??"",onChange:function(e){const t=m.find((t=>t.name===e.target.value));f(t)},disabled:0===m.length},m.map((e=>M.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name)))),M.default.createElement(c.DialogContent,null,M.default.createElement(b.DataGrid,{pagination:!0,rows:h,columns:[{field:"_id",headerName:"id",width:50},{field:"name",headerName:"Check name",width:200},{field:"refSeq",headerName:"Reference sequence ID",width:200},{field:"ids",headerName:"Feature IDs",width:200},{field:"message",headerName:"Message",flex:1}],getRowId:e=>e._id,slots:{toolbar:b.GridToolbar},initialState:{sorting:{sortModel:[{field:"name",sort:"asc"}]},columns:{columnVisibilityModel:{name:!0}}}})),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:e},"Close")),a?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},a)):null)}var dN={},hN=Ju.exports;Object.defineProperty(dN,"__esModule",{value:!0});var pN=dN.default=void 0;function mN(e){const{color:t}=e;return M.default.createElement(c.SvgIcon,{viewBox:"0 0 18 18",style:{fontSize:18,marginRight:4},...e},"disabled"===t?M.default.createElement("path",{d:"M9.001,10.71 l0,-3.348 l8.424,0 c0.126,0.567,0.225,1.098,0.225,1.845 c0,5.139,-3.447,8.793,-8.64,8.793 c-4.968,0,-9,-4.032,-9,-9 c0,-4.968,4.032,-9,9,-9 c2.43,0,4.464,0.891,6.021,2.349 l-2.556,2.484 c-0.648,-0.612,-1.782,-1.332,-3.465,-1.332 c-2.979,0,-5.409,2.475,-5.409,5.508 c0,3.033,2.43,5.508,5.409,5.508 c3.447,0,4.716,-2.385,4.95,-3.798 l-4.959,0 l0,-0.009 z"}):M.default.createElement(M.default.Fragment,null,M.default.createElement("path",{d:"M17.64,9.20454545 c0,-0.638,-0.057,-1.252,-0.164,-1.841 l-8.476,0 l0,3.481 l4.844,0 c-0.209,1.125,-0.843,2.079,-1.796,2.717 l0,2.258 l2.908,0 c1.702,-1.567,2.684,-3.874,2.684,-6.615 l0,0 z",fill:"#4285F4"}),M.default.createElement("path",{d:"M9,18 c2.43,0,4.467,-0.806,5.956,-2.18 l-2.908,-2.259 c-0.806,0.54,-1.837,0.859,-3.048,0.859 c-2.344,0,-4.328,-1.583,-5.036,-3.71 l-3.007,0 l0,2.332 c1.481,2.941,4.525,4.958,8.043,4.958 l0,0 z",fill:"#34A853"}),M.default.createElement("path",{d:"M3.96409091,10.71 c-0.18,-0.54,-0.282,-1.117,-0.282,-1.71 c0,-0.593,0.102,-1.17,0.282,-1.71 l0,-2.332 l-3.007,0 c-0.609,1.215,-0.957,2.59,-0.957,4.042 c0,1.452,0.348,2.827,0.957,4.042 l3.007,-2.332 l0,0 z",fill:"#FBBC05"}),M.default.createElement("path",{d:"M9,3.57954545 c1.321,0,2.508,0.454,3.44,1.346 l2.582,-2.581 c-1.559,-1.453,-3.596,-2.345,-6.022,-2.345 c-3.518,0,-6.562,2.017,-8.043,4.959 l3.007,2.331 c0.708,-2.127,2.692,-3.71,5.036,-3.71 l0,0 z",fill:"#EA4335"})))}function gN(e){const{color:t}=e;return M.default.createElement(c.SvgIcon,{viewBox:"0 0 21 21",style:{fontSize:21},...e},M.default.createElement("rect",{x:"1",y:"1",width:"9",height:"9",fill:"disabled"===t?"#7B7B7B":"#F25022"}),M.default.createElement("rect",{x:"1",y:"11",width:"9",height:"9",fill:"disabled"===t?"#7B7B7B":"#00A4EF"}),M.default.createElement("rect",{x:"11",y:"1",width:"9",height:"9",fill:"disabled"===t?"#939393":"#7FBA00"}),M.default.createElement("rect",{x:"11",y:"11",width:"9",height:"9",fill:"disabled"===t?"#B9B9B9":"#FFB900"}))}pN=dN.default=(0,hN(Ku).default)((0,N.default.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 4c1.93 0 3.5 1.57 3.5 3.5S13.93 13 12 13s-3.5-1.57-3.5-3.5S10.07 6 12 6zm0 14c-2.03 0-4.43-.82-6.14-2.88C7.55 15.8 9.68 15 12 15s4.45.8 6.14 2.12C16.43 19.18 14.03 20 12 20z"}),"AccountCircle");const yN=m.makeStyles()((e=>({loginButton:{marginBottom:e.spacing(1),width:"220px",height:"40px",fontSize:"16px",textTransform:"none",justifyContent:"left",padding:"3px 12px"}})));function vN(e){const{classes:t}=yN(),{disabled:n}=e;return M.default.createElement(c.Button,{className:t.loginButton,variant:"outlined",startIcon:M.default.createElement(mN,{color:n?"disabled":void 0}),...e},"Sign in with Google")}function _N(e){const{classes:t}=yN(),{disabled:n}=e;return M.default.createElement(c.Button,{className:t.loginButton,variant:"outlined",startIcon:M.default.createElement(gN,{color:n?"disabled":void 0}),...e},"Sign in with Microsoft")}function bN(e){const{classes:t}=yN();return M.default.createElement(c.Button,{className:t.loginButton,variant:"outlined",startIcon:M.default.createElement(pN,{fontSize:"small"}),...e},"Continue as Guest")}const wN=m.makeStyles()((e=>({divider:{marginTop:e.spacing(4),marginBottom:e.spacing(5)}}))),SN=({baseURL:e,handleClose:t,name:n})=>{const{classes:r}=wN(),[o,i]=d.useState(""),[a,s]=d.useState([]);function u(e){t("google"===e?"google":"microsoft"===e?"microsoft":"guest")}d.useEffect((()=>{const t=new AbortController,{signal:n}=t;return async function(){const t=new URL("auth/types",e).href,r=await fetch(t,{method:"GET",signal:n});if(!r.ok){const e=await md(r,"Error when retrieving auth types from server");return void i(e)}const o=await r.json();s(o)}().catch((e=>{$O(e)||i(String(e))})),()=>{t.abort()}}),[e]);const l=a.includes("google"),f=a.includes("microsoft"),h=a.includes("guest");return M.default.createElement(xd,{open:!0,title:`Log in to ${n}`,handleClose:t,maxWidth:!1,"data-testid":"login-apollo"},M.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column",paddingTop:8}},l?M.default.createElement(vN,{disabled:!l,onClick:()=>{u("google")}}):null,f?M.default.createElement(_N,{disabled:!f,onClick:()=>{u("microsoft")}}):null,h?M.default.createElement(M.default.Fragment,null,M.default.createElement(c.Divider,{className:r.divider}),M.default.createElement(bN,{onClick:()=>{u("guest")}})):null),M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:()=>{t()}},"Cancel")),o?M.default.createElement(c.DialogContent,null,M.default.createElement(c.DialogContentText,{color:"error"},o)):null)},xN="undefined"==typeof sessionStorage,kN=e=>o.InternetAccount.named("ApolloInternetAccount").props({type:u.types.literal("ApolloInternetAccount"),configuration:r.ConfigurationReference(e)}).views((e=>({get baseURL(){return r.getConf(e,"baseURL")},getUserId(){const t=e.retrieveToken();if(t)return nr.getDecodedToken(t).id}}))).volatile((()=>({role:void 0}))).actions((e=>{let t=!1;return{setRole(){const n=e.retrieveToken();if(!n)return void(e.role=void 0);const r=nr.getDecodedToken(n),{role:o}=r;if(!o&&!t){const{session:n}=u.getRoot(e);n.notify("You have registered as a user but have not been given access. Ask your administrator to enable access for your account.","warning"),t=!0}e.role!==o&&(e.role=o)}}})).actions((e=>{let t;return{addMessageChannel(e,n){t=t=>{this.finishOAuthWindow(t,e,n)},window.addEventListener("message",t)},deleteMessageChannel(){window.removeEventListener("message",t)},finishOAuthWindow(t,n,r){if(t.data.name!==`JBrowseAuthWindow-${e.internetAccountId}`)return void this.deleteMessageChannel();const o=t.data.redirectUri.replace("#","?"),i=new URL(o),a=new URLSearchParams(i.search).get("access_token");this.deleteMessageChannel(),a?(e.storeToken(a),e.setRole(),n(a)):r(new Error("Error with token endpoint"))},async openAuthWindow(t,r,o){const i=n.isElectron?"http://localhost/auth":globalThis.location.origin+globalThis.location.pathname,a=new URL("auth/login",e.baseURL),s=new URLSearchParams({type:t,redirect_uri:i});a.search=s.toString();const u=`JBrowseAuthWindow-${e.internetAccountId}`;if(n.isElectron){const{ipcRenderer:t}=globalThis.require("electron"),n=await t.invoke("openAuthWindow",{internetAccountId:e.internetAccountId,data:{redirect_uri:i},url:a.toString()}),s=new MessageEvent("message",{data:{name:u,redirectUri:n}});this.finishOAuthWindow(s,r,o)}else this.addMessageChannel(r,o),window.open(a,u,"width=500,height=600")}}})).actions((e=>({async getTokenFromUser(t,n){const{baseURL:r}=e,o=await new Promise(((t,n)=>{const{session:r}=u.getRoot(e),{baseURL:o,name:i}=e;r.queueDialog((e=>[SN,{name:i,handleClose:r=>{r?r instanceof Error?n(r):t(r):n(new Error("user cancelled entry")),e()},baseURL:o}]))}));if("guest"!==o)return void e.openAuthWindow(o,t,n);const i=new URL("auth/login",r),a=new URLSearchParams({type:o});i.search=a.toString();const s=i.toString(),c=await fetch(s);if(!c.ok){const e=await md(c,"Error when logging in");return void n(new Error(e))}const{token:l}=await c.json();t(l)}}))).volatile((()=>({lastChangeSequenceNumber:void 0}))).actions((e=>({setLastChangeSequenceNumber(t){e.lastChangeSequenceNumber=t}}))).actions((e=>({updateLastChangeSequenceNumber:u.flow((function*(){const{baseURL:t}=e,n=new URL("changes",t),r=new URLSearchParams({limit:"1"});n.search=r.toString();const o=n.toString(),i=e.getFetcher({locationType:"UriLocation",uri:o}),a=yield i(o,{method:"GET"});if(!a.ok){const e=yield md(a,"Error when fetching server LastChangeSequence");throw new Error(e)}const s=yield a.json();e.setLastChangeSequenceNumber(s.length>0?s[0].sequence:0)})),getMissingChanges:u.flow((function*(){const{session:t}=u.getRoot(e),{changeManager:n}=t.apolloDataStore;if(!e.lastChangeSequenceNumber)throw new Error("No LastChangeSequence stored in session. Please, refresh you browser to get last updates from server");const{baseURL:r,lastChangeSequenceNumber:o}=e,i=new URL("changes",r),a=new URLSearchParams({since:String(o),sort:"1"});i.search=a.toString();const s=i.toString(),c=e.getFetcher({locationType:"UriLocation",uri:s}),l=yield c(s,{method:"GET"});if(!l.ok)return void console.error(`Error when fetching the last updates to recover socket connection — ${l.status}`);const f=yield l.json();for(const e of f){const t=z.Change.fromJSON(e);n.submit(t,{submitToBackend:!1})}}))}))).volatile((e=>{const{origin:t,pathname:n}=new URL("socket.io/",e.baseURL);return{socket:wl(t,{path:n})}})).actions((e=>({addSocketListeners(){const{session:t}=u.getRoot(e),{notify:n}=t,r=e.retrieveToken();if(!r)throw new Error("No Token found");const{socket:o}=e,{addCheckResult:i,changeManager:a,deleteCheckResult:s}=t.apolloDataStore;o.on("connect",(async()=>{await e.getMissingChanges()})),o.on("connect_error",(e=>{console.error(e),n("Could not connect to the Apollo server.","error")})),o.on("COMMON",(e=>{if("checkResult"in e)return void(e.deleted?s(e.checkResult._id.toString()):i(e.checkResult));if(sessionStorage.setItem("LastChangeSequence",String(e.changeSequence)),e.userSessionId===r)return;const t=z.Change.fromJSON(e.changeInfo);a.submit(t,{submitToBackend:!1})})),o.on("USER_LOCATION",(e=>{const{channel:n,locations:o,userName:i,userSessionId:a}=e,s=nr.getDecodedToken(r),u=nr.makeUserSessionId(s);"USER_LOCATION"===n&&a!==u&&t.addOrUpdateCollaborator({name:i,id:a,locations:o})})),o.on("REQUEST_INFORMATION",(e=>{const{channel:n,userSessionId:o}=e;"REQUEST_INFORMATION"===n&&o!==r&&t.broadcastLocations()}))}}))).actions((e=>({postUserLocation:(t=>{let n;return t=>{clearTimeout(n),n=setTimeout((()=>{!async function(t){const{baseURL:n}=e,r=new URL("users/userLocation",n).href,o=new URLSearchParams(JSON.stringify(t)),i=e.getFetcher({locationType:"UriLocation",uri:r});try{if(!(await i(r,{method:"POST",body:o})).ok)throw new Error("ignore")}catch{console.error("Broadcasting user location failed")}}(t)}),300)}})()}))).actions((e=>({initialize:u.flow((function*(t){if("admin"===t){const t=u.getRoot(e);n.isAbstractMenuManager(t)&&function(e){e.appendToMenu("Apollo",{label:"Add Assembly",onClick:e=>{e.queueDialog((t=>[Ed,{session:e,handleClose:()=>{t()},changeManager:e.apolloDataStore.changeManager}]))}}),e.appendToMenu("Apollo",{label:"Delete Assembly",onClick:e=>{e.queueDialog((t=>[MR,{session:e,handleClose:()=>{t()},changeManager:e.apolloDataStore.changeManager}]))}}),e.appendToMenu("Apollo",{label:"Import Features",onClick:e=>{e.queueDialog((t=>[DR,{session:e,handleClose:()=>{t()},changeManager:e.apolloDataStore.changeManager}]))}}),e.appendToMenu("Apollo",{label:"Add reference sequence aliases",onClick:e=>{e.queueDialog((t=>[lN,{session:e,handleClose:()=>{t()},changeManager:e.apolloDataStore.changeManager}]))}}),e.appendToMenu("Apollo",{label:"Manage Users",onClick:e=>{e.queueDialog((t=>[HR,{session:e,handleClose:()=>{t()},changeManager:e.apolloDataStore.changeManager}]))}}),e.appendToMenu("Apollo",{label:"Undo",onClick:e=>{const{apolloDataStore:t}=e,{notify:n}=e;t.changeManager.recentChanges.length>0?t.changeManager.revertLastChange():n("No changes to undo","info")}})}(t)}yield e.updateLastChangeSequenceNumber(),e.addSocketListeners();const{baseURL:r}=e,o=new URL("users/locations",r).href,i=e.getFetcher({locationType:"UriLocation",uri:o});yield i(o,{method:"GET"}),window.addEventListener("beforeunload",(()=>{e.postUserLocation([])})),document.addEventListener("visibilitychange",(()=>{if("hidden"===document.visibilityState&&e.postUserLocation([]),"visible"===document.visibilityState){const{session:t}=u.getRoot(e);t.broadcastLocations()}}))}))}))).actions((e=>({afterAttach(){e.setRole(),s.autorun((async t=>{if(xN)return;const{session:n}=u.getRoot(e);n&&e.role&&(await e.initialize(e.role),t.dispose())}),{name:"ApolloInternetAccount"})}})));var EN={};function AN(e){return"uniqueId"in e&&"object"!==Z(e.data)}Object.defineProperty(EN,"__esModule",{value:!0}),EN.isFeature=function(e){return"object"===Z(e)&&null!==e&&"function"==typeof e.get&&"function"==typeof e.id};var CN=function(){function e(t){var n,r=this;ee(this,e),AN(t)?this.data=t:(this.data=t.data||{},this.parentHandle=t.parent);var o=AN(t)?t.uniqueId:t.id;if(null==o)throw new Error("SimpleFeature requires a unique `id` or `data.uniqueId` attribute");if(this.uniqueId=String(o),!(this.data.aliases||this.data.end-this.data.start>=0))throw new Error("invalid feature data, end less than start. end: ".concat(this.data.end," start: ").concat(this.data.start));this.data.subfeatures&&(this.subfeatures=null===(n=this.data.subfeatures)||void 0===n?void 0:n.map((function(t,n){return"function"!=typeof t.get?new e({id:t.uniqueId||"".concat(o,"-").concat(n),data:K({strand:r.data.strand},t),parent:r}):t})))}return ne(e,[{key:"get",value:function(e){return"subfeatures"===e?this.subfeatures:"parent"===e?this.parent():this.data[e]}},{key:"set",value:function(e,t){this.data[e]=t}},{key:"tags",value:function(){return Object.keys(this.data)}},{key:"id",value:function(){return this.uniqueId}},{key:"parent",value:function(){return this.parentHandle}},{key:"children",value:function(){return this.get("subfeatures")}},{key:"toJSON",value:function(){var e=K(K({},this.data),{},{uniqueId:this.id()}),t=this.parent();t&&(e.parentId=t.id());var n=this.children();return n&&(e.subfeatures=n.map((function(e){return e.toJSON()}))),e}}],[{key:"fromJSON",value:function(t){return new e(K({},t))}}]),e}(),ON=EN.default=CN;function RN(e){return"object"==typeof e&&null!==e&&"apollo"in e&&!0===e.apollo}const NN="undefined"==typeof sessionStorage;class IN extends S.BaseSequenceAdapter{regions;async getRefNames(e){return(await this.getRegions(e)).map((e=>e.refName))}async getRegions(e){if(this.regions)return this.regions;const t=r.readConfObject(this.config,"assemblyId");if(!NN){const e=this.pluginManager?.rootModel?.session?.apolloDataStore;if(!e)throw new Error("No Apollo data store found");const n=e.getBackendDriver(t),r=await n.getRegions(t);return this.regions=r,r}const n=await new Promise(((n,r)=>{const o=setTimeout((()=>{r("timeout")}),2e4),i=oN(),a=e=>{const{data:t}=e;RN(t)&&t.messageId===i&&(clearTimeout(o),removeEventListener("message",a),n(t.regions))};addEventListener("message",a,e),globalThis.rpcServer.emit("apollo",{apollo:!0,method:"getRegions",assembly:t,messageId:i})}));return this.regions=n,n}getFeatures(e,t){const{end:n,refName:o,start:i}=e,a=r.readConfObject(this.config,"assemblyId"),s={...e,assemblyName:a};return x.ObservableCreate((async e=>{if(!NN){const t=this.pluginManager?.rootModel?.session?.apolloDataStore;if(!t)return void e.error("No Apollo data store found");const r=t.getBackendDriver(a),{seq:u}=await r.getSequence(s);return e.next(new ON({id:`${o} ${i}-${n}`,data:{refName:o,start:i,end:n,seq:u}})),void e.complete()}const r=await new Promise(((e,n)=>{const r=setTimeout((()=>{n("timeout")}),2e4),o=oN(),i=t=>{const{data:n}=t;RN(n)&&n.messageId===o&&(clearTimeout(r),removeEventListener("message",i),e(n.sequence))};addEventListener("message",i,t),globalThis.rpcServer.emit("apollo",{apollo:!0,method:"getSequence",region:s,messageId:o})}));e.next(new ON({id:`${o} ${i}-${n}`,data:{refName:o,start:i,end:n,seq:r}})),e.complete()}))}freeResources(){}}var PN=r.ConfigurationSchema("ApolloSequenceAdapter",{assemblyId:{type:"string",defaultValue:""}},{explicitlyTyped:!0});function TN(e,t,n,r,o,i){const a=r/o;e.fillStyle="black",e.fillRect(t,n,a,i),a>2&&(e.clearRect(t+1,n+1,a-2,i-2),e.fillStyle="rgba(255,255,255,0.75)",e.fillRect(t+1,n+1,a-2,i-2))}var MN=p.observer((function(e){const[t,o]=d.useState(),[i,a]=d.useState(),l=d.useRef(null),f=d.useRef(null),h=d.useRef(null),[p,m]=d.useState(!1),[g,y]=d.useState(!0),[v,_]=d.useState(),[b,w]=d.useState(!1),[S,x]=d.useState([]),{bpPerPx:k,displayModel:E,regions:A}=e,{session:C}=E,{collaborators:O}=C;d.useEffect((()=>s.autorun((()=>{x(s.toJS(O))}))),[]);const[R]=A,N=(R.end-R.start)/k,{apolloFeatureUnderMouse:I,apolloRowHeight:P,apolloRowUnderMouse:T,changeManager:j,codonLayout:F,featureLayout:L,features:D,featuresHeight:q,getAssemblyId:B,selectedFeature:U,setApolloFeatureUnderMouse:z,setApolloRowUnderMouse:G,setSelectedFeature:H,showIntronLines:W,showStartCodons:V,showStopCodons:$}=E,J=[...D.values()].map((e=>[...e.values()].map((e=>u.getSnapshot(e))))),K=d.useMemo((()=>{const{internetAccounts:e}=u.getRoot(C),{assemblyName:t}=R,{assemblyManager:o}=n.getSession(E),i=o.get(t);if(!i)throw new Error(`No assembly found with name ${t}`);const{internetAccountConfigId:a}=r.getConf(i,["sequence","metadata"]),s=e.find((e=>r.getConf(e,"internetAccountId")===a));if(!s)throw new Error(`No InternetAccount found with config id ${a}`);return s}),[E,R,C]),{role:Y}=K;return d.useEffect((()=>{Y?.includes("admin")&&m(!0),(Y?.includes("admin")??Y?.includes("user"))&&y(!1)}),[Y]),d.useEffect((()=>{const e=l.current;if(!e)return;const t=e.getContext("2d");if(!t)return;const n={};t.clearRect(0,0,N,q);for(const[e,r]of L)for(const[o,i]of r){const r=R.reversed?R.end-i.max:i.min-R.start-1,a=i.max-R.start-1,s=r/k,u=a/k;TN(t,s,e*P,a-r,k,P);const c=e*P+P/2;n[o]||(n[o]=[]),n[o].some((e=>e[0]===s&&e[1]===c))||n[o].push([s,c]),n[o].some((e=>e[0]===u&&e[1]===c))||n[o].push([u,c])}if(W){let e=-Math.floor(Object.keys(n).length/2);for(const r in n){t.strokeStyle=`hsl(${e*(180*(3-Math.sqrt(5)))+60},100%,50%)`;const o=n[r].sort(((e,t)=>e[0]-t[0]));let[i]=o;for(const[n,r]of o.entries())if(0!==n){if(n%2==0){const n=[(r[0]-i[0])/2+i[0],Math.max(1,Math.min(i[1],r[1])-P/2+2*e)];t.beginPath(),t.moveTo(i[0],i[1]+2*e),t.lineTo(...n),t.stroke(),t.moveTo(...n),t.lineTo(r[0],r[1]+2*e),t.stroke()}i=r}e+=1}}}),[W,R,k,R.start,R.end,R.reversed,N,L,q,D,P,J]),d.useEffect((()=>{const e=h.current;if(!e)return;const t=e.getContext("2d");if(t){t.clearRect(0,0,N,q);for(const[e,{starts:n,stops:r}]of F){const o=k;for(const r of n){const n=r/o;R.start/o<=n&&n<=R.end/o&&(t.fillStyle="rgba(255,0,255,1)",V?t.fillRect(Math.round(n-.5-R.start/o),e*P,1,P):t.clearRect(Math.round(n-.5-R.start/o),e*P,1,P))}for(const n of r){const r=n/o;R.start/o<=r&&r<=R.end/o&&(t.fillStyle="black",$?t.fillRect(Math.round(r-.5-R.start/o),e*P,1,P):t.clearRect(Math.round(r-.5-R.start/o),e*P,1,P))}}}}),[V,$,F,N,q,k,P,R,R.start,R.end]),d.useEffect((()=>{const e=f.current;if(!e)return;const t=e.getContext("2d");if(t){t.clearRect(0,0,N,q);for(const e of S){const{locations:n}=e;if(0===n.length)return;for(const r of n){const{end:n,start:o}=r,i=(R.reversed?R.end-o:o-R.start)/k,a=(n-o)/k;t.fillStyle="rgba(0,255,0,.2)",t.fillRect(i,1,a,100),t.fillStyle="black",t.fillText(e.name,i+1,11,a-2)}}}}),[I,T,k,q,N,R,R.start,R.end,R.reversed,v,P,S]),M.default.createElement("div",{style:{position:"relative",width:N,height:q}},M.default.createElement(c.Menu,{open:Boolean(i),anchorReference:"anchorPosition",anchorPosition:t?{left:t[0],top:t[1]}:void 0,"data-testid":"base_linear_display_context_menu",onClose:()=>{a(void 0)}},M.default.createElement(c.MenuItem,{disabled:g,key:1,value:1,onClick:()=>{if(!i)return;const e=B(R.assemblyName);C.queueDialog((t=>[NR,{session:C,handleClose:()=>{t(),a(void 0)},changeManager:j,sourceFeature:i,sourceAssemblyId:e,internetAccount:K}]))}},"Add child feature"),M.default.createElement(c.MenuItem,{disabled:g,key:2,value:2,onClick:()=>{if(!i)return;const e=B(R.assemblyName);C.queueDialog((t=>[TR,{session:C,handleClose:()=>{t(),a(void 0)},changeManager:j,sourceFeature:i,sourceAssemblyId:e}]))}},"Copy features and annotations"),M.default.createElement(c.MenuItem,{disabled:!p,key:3,value:3,onClick:()=>{if(!i)return;const e=B(R.assemblyName);C.queueDialog((t=>[jR,{session:C,handleClose:()=>{t(),a(void 0)},changeManager:j,sourceFeature:i,sourceAssemblyId:e,selectedFeature:U,setSelectedFeature:H}]))}},"Delete feature")),M.default.createElement("canvas",{ref:l,width:N,height:q,style:{position:"absolute",left:0,top:0}}),M.default.createElement("canvas",{ref:f,width:N,height:q,onMouseLeave:function(){z(),G()},onMouseUp:async function(){if(b){if(v){const e=B(R.assemblyName),{bp:t,edge:n,feature:r}=v;let o;if("end"===n){const n=r._id,i=r.max,a=Math.round(t);o=new nr.LocationEndChange({typeName:"LocationEndChange",changedIds:[n],featureId:n,oldEnd:i,newEnd:a,assembly:e})}else{const n=r._id,i=r.min,a=Math.round(t);o=new nr.LocationStartChange({typeName:"LocationStartChange",changedIds:[n],featureId:n,oldStart:i,newStart:a,assembly:e})}await j.submit(o)}}else I&&H(I);_(void 0),w(!1)},onContextMenu:function(e){e.preventDefault(),a(I),o([e.pageX,e.pageY])},style:{position:"absolute",left:0,top:0}}),M.default.createElement("canvas",{ref:h,width:N,height:6*P,style:{position:"absolute",left:0,top:0}}))})),jN=r.ConfigurationSchema("ApolloSixFrameRenderer",{},{explicitlyTyped:!0});class FN extends o.RendererType{async renderInClient(e,t){return this.render(t)}async freeResourcesInClient(e,t){return 0}}var LN={};Object.defineProperty(LN,"__esModule",{value:!0}),LN.RefSequenceResult=void 0;var DN=function(){function e(t){ee(this,e),this.label=t.label,this.locString=t.locString,this.renderingComponent=t.renderingComponent,this.displayString=t.displayString,this.matchedAttribute=t.matchedAttribute,this.matchedObject=t.matchedObject,this.textSearchAdapter=t.textSearchAdapter,this.relevance=t.relevance,this.trackId=t.trackId,this.score=t.score||1,this.results=t.results||[]}return ne(e,[{key:"getLabel",value:function(){return this.label}},{key:"getDisplayString",value:function(){return this.displayString||this.label}},{key:"getRenderingComponent",value:function(){return this.renderingComponent}},{key:"getTrackId",value:function(){return this.trackId}},{key:"getScore",value:function(){return this.score}},{key:"updateScore",value:function(e){return this.score=e,this.score}},{key:"getId",value:function(){return"".concat(this.getLabel(),"-").concat(this.getLocation(),"-").concat(this.getTrackId())}},{key:"hasLocation",value:function(){return!!this.locString}},{key:"getLocation",value:function(){return this.locString}},{key:"getComboResults",value:function(){return this.results}}]),e}(),qN=LN.default=DN,BN=function(e){oe(n,e);var t=fe(n);function n(e){var r,o;return ee(this,n),(r=t.call(this,e)).refName=null!==(o=e.refName)&&void 0!==o?o:"",r}return ne(n,[{key:"getLocation",value:function(){return this.refName}}]),n}(DN);LN.RefSequenceResult=BN;class UN extends S.BaseAdapter{get baseURL(){return r.readConfObject(this.config,"baseURL").uri}get trackId(){return r.readConfObject(this.config,"trackId")}get assemblyNames(){return r.readConfObject(this.config,"assemblyNames")}mapBaseResult(e,t,n){return e.map((e=>{const r=t.getCanonicalRefName(e.refSeq);return new qN({label:n,trackId:this.trackId,locString:`${r}:${e.min+1}..${e.max}`})}))}async searchIndex(e){const t=e.queryString,n=[],r=this.pluginManager?.rootModel?.session;if(!r)return n;const{apolloDataStore:o}=r,{assemblyManager:i}=r;for(const r of this.assemblyNames){const a=o.getBackendDriver(r),s=i.get(r);if(!a||!s)continue;const u=await a.searchFeatures(e.queryString,[r]);n.push(...this.mapBaseResult(u,s,t))}return n}freeResources(){}}var zN=r.ConfigurationSchema("ApolloTextSearchAdapter",{assemblyNames:{type:"stringArray",defaultValue:[],description:"List of assemblies covered by text search adapter"},trackId:{type:"string",defaultValue:""},baseURL:{type:"fileLocation",defaultValue:{uri:"",locationType:"UriLocation"}}},{explicitlyTyped:!0,explicitIdentifier:"textSearchAdapterId"});const GN=r.ConfigurationSchema("ApolloPlugin",{ontologies:u.types.array(ER),featureTypeOntologyName:{description:"Name of the feature type ontology",type:"string",defaultValue:"Sequence Ontology"}});function HN(e){if("LinearPileupDisplay"!==e.name)return e;const{stateModel:t}=e,r=t.views((e=>({getFirstRegion:()=>n.getContainingView(e).dynamicBlocks.contentBlocks[0],getAssembly(){const t=e.getFirstRegion(),r=n.getSession(e),{assemblyManager:o}=r,{assemblyName:i}=t,a=o.get(i);if(!a)throw new Error(`Could not find assembly named ${i}`);return a},getRefSeqId(t){const n=e.getFirstRegion(),{refName:r}=n,{refNameAliases:o}=t;if(!o)throw new Error(`Could not find aliases for ${t.name}`);const i=[...Object.entries(o)].filter((([e,t])=>e!==t)).map((([e,t])=>({_id:e,name:t??""}))),a=i.find((e=>e.name===r))?._id;if(!a)throw new Error(`Could not find refSeqId named ${r}`);return a},createFeature(){const t=e.contextMenuFeature,n=e.getAssembly(),r=e.getRefSeqId(n),o=(t.get("CIGAR").toUpperCase().match(/\d+\D/g)??[]).map((e=>[(/\D/.exec(e)??[])[0],Number.parseInt(e,10)]));let i=0;const a=t.get("start");let s;const u=[];for(const[e,t]of o)"M"===e||"="===e?void 0===s&&(s=i+a):"N"===e&&void 0!==s&&(u.push({start:s,end:i+s}),s=void 0),"I"!==e&&(i+=t);void 0!==s&&u.push({start:s,end:i+a});const c={_id:Jn().toHexString(),refSeq:r,min:t.get("start"),max:t.get("end"),type:"mRNA",strand:t.get("strand")};if(0===u.length)return c;c.children={};const[l]=u,f={_id:Jn().toHexString(),refSeq:r,min:l.start,max:l.end,type:"CDS",strand:t.get("strand")};if(c.children[f._id]=f,1===u.length){const e={_id:Jn().toHexString(),refSeq:r,min:l.start,max:l.end,type:"exon",strand:t.get("strand")};return c.children[e._id]=e,c}for(const e of u){f.min=Math.min(f.min,e.start),f.max=Math.max(f.max,e.end);const{end:n,start:o}=e,i={_id:Jn().toHexString(),refSeq:r,min:o,max:n,type:"exon",strand:t.get("strand")};c.children[i._id]=i}return c},async onPileupFeatureContext(){const t=e.createFeature(),r=e.getAssembly(),o=new nr.AddFeatureChange({changedIds:[t._id],typeName:"AddFeatureChange",assembly:r.name,addedFeature:t}),i=n.getSession(e);await i.apolloDataStore.changeManager.submit(o),i.notify("Annotation added successfully","success")}}))).views((e=>{const t=e.contextMenuItems;return{contextMenuItems:()=>e.contextMenuFeature?[...t(),{label:"Create Apollo annotation",icon:Zu,onClick:e.onPileupFeatureContext}]:t()}}));return e.stateModel=r,e}const WN=p.observer((function({onChangeCommitted:e,value:t,...n}){const[r,o]=d.useState(String(t)),[i,a]=d.useState(!1),[s,u]=d.useState(null);return d.useEffect((()=>{o(String(t))}),[t]),d.useEffect((()=>{i&&(s?.blur(),a(!1))}),[i,s]),M.default.createElement(c.TextField,{...n,type:"text",onChange:function(e){o(e.target.value)},value:r,onKeyDown:e=>{"Enter"===e.key?s?.blur():"Escape"===e.key&&(o(String(t)),a(!0))},onBlur:()=>{r!==String(t)&&e(r)},inputRef:e=>{u(e)}})})),VN=new Map([["Gene Ontology",e=>M.default.createElement(YR,{...e,ontologyName:"Gene Ontology"})],["Sequence Ontology",e=>M.default.createElement(YR,{...e,ontologyName:"Sequence Ontology"})]]),$N=["ID","Name","Alias","Target","Gap","Derives_from","Note","Dbxref","Ontology","Is_Circular"],JN=m.makeStyles()((e=>({newAttributePaper:{padding:e.spacing(2)},attributeName:{background:e.palette.secondary.main,color:e.palette.secondary.contrastText,padding:e.spacing(1)}})));function KN(e){const{onChange:t,value:n}=e;return M.default.createElement(WN,{value:n,onChangeCommitted:e=>{t(e.split(","))},variant:"outlined",fullWidth:!0,helperText:"Separate multiple values for the attribute with commas"})}const YN=p.observer((function({assembly:e,editable:t,feature:n,session:r}){const[o,i]=d.useState(""),[a,s]=d.useState(!1),{classes:l}=JN(),[f,h]=d.useState(""),p=Object.fromEntries([...n.attributes.entries()].map((([e,t])=>{if(e.startsWith("gff_")){const n=e.slice(4);return[n.charAt(0).toUpperCase()+n.slice(1),u.getSnapshot(t)]}return"_id"===e?["ID",u.getSnapshot(t)]:[e,u.getSnapshot(t)]}))),{notify:m}=r,{changeManager:g}=r.apolloDataStore;async function y(t,r){i("");const o={};if(p){const e=Object.entries({...p,[t]:r});for(const[t,n]of e)if(n&&"parent"!==t.toLowerCase())if([...VN.keys()].includes(t))o[t]=n;else switch(t){case"ID":o._id=n;break;case"Name":o.gff_name=n;break;case"Alias":o.gff_alias=n;break;case"Target":o.gff_target=n;break;case"Gap":o.gff_gap=n;break;case"Derives_from":o.gff_derives_from=n;break;case"Note":o.gff_note=n;break;case"Dbxref":o.gff_dbxref=n;break;case"Ontology_term":o.gff_ontology_term=n;break;case"Is_circular":o.gff_is_circular=n;break;default:o[t.toLowerCase()]=n}}const a=new nr.FeatureAttributeChange({changedIds:[n._id],typeName:"FeatureAttributeChange",assembly:e,featureId:n._id,attributes:o});await g.submit(a),m("Feature attributes modified successfully","success")}return M.default.createElement(M.default.Fragment,null,M.default.createElement(c.Typography,{variant:"h5"},"Attributes"),M.default.createElement(c.Grid,{container:!0,direction:"column",spacing:1},Object.entries(p).map((([e,n])=>{if(""===e)return null;const o=VN.get(e)??KN;return M.default.createElement(c.Grid,{container:!0,item:!0,spacing:3,alignItems:"center",key:e},M.default.createElement(c.Grid,{item:!0,xs:"auto"},M.default.createElement(c.Paper,{variant:"outlined",className:l.attributeName},M.default.createElement(c.Typography,null,e))),M.default.createElement(c.Grid,{item:!0,flexGrow:1},M.default.createElement(o,{session:r,value:n,onChange:t=>y(e,t)})),M.default.createElement(c.Grid,{item:!0,xs:1},M.default.createElement(c.IconButton,{"aria-label":"delete",size:"medium",disabled:!t,onClick:()=>y(e)},M.default.createElement(GR,{fontSize:"medium",key:e}))))})),M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.Button,{color:"primary",variant:"contained",disabled:a||!t,onClick:()=>{s(!0)}},"Add new")),a?M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.Paper,{elevation:8,className:l.newAttributePaper},M.default.createElement(c.Grid,{container:!0,direction:"column"},M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.FormControl,null,M.default.createElement(c.FormLabel,{id:"attribute-radio-button-group"},"Select attribute type"),M.default.createElement(c.RadioGroup,{"aria-labelledby":"demo-radio-buttons-group-label",defaultValue:"custom",name:"radio-buttons-group",onChange:function(e,t){"custom"===t?h(""):VN.has(t)?h(t):i("Unknown attribute type")}},M.default.createElement(c.FormControlLabel,{value:"custom",control:M.default.createElement(c.Radio,null),disableTypography:!0,label:M.default.createElement(c.Grid,{container:!0,spacing:1,alignItems:"center"},M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.Typography,null,"Custom")),M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.TextField,{label:"Custom attribute key",variant:"outlined",value:VN.has(f)?"":f,disabled:VN.has(f),onChange:e=>{h(e.target.value)}})))}),[...VN.keys()].map((e=>M.default.createElement(c.FormControlLabel,{key:e,value:e,control:M.default.createElement(c.Radio,null),label:e})))))),M.default.createElement(c.Grid,{item:!0},M.default.createElement(c.DialogActions,null,M.default.createElement(c.Button,{key:"addButton",color:"primary",variant:"contained",onClick:function(){i(""),0!==f.trim().length?"Parent"!==f?f in p?i(`Attribute "${f}" already exists`):!/^[A-Z]/.test(f)||$N.includes(f)||[...VN.keys()].includes(f)?y(f,[]):i(`Key cannot starts with uppercase letter unless key is one of these: ${$N.join(", ")}`):i('"Parent" -key is handled internally and it cannot be modified manually'):i("Attribute key is mandatory")},disabled:!f},"Add"),M.default.createElement(c.Button,{key:"cancelAddButton",variant:"outlined",type:"submit",onClick:()=>{s(!1),h(""),i("")}},"Cancel")))))):null),o?M.default.createElement(c.Typography,{color:"error"},o):null)})),ZN=p.observer((function({onChangeCommitted:e,value:t,...n}){const[r,o]=d.useState(String(t)),[i,a]=d.useState(!1),[s,u]=d.useState(null);d.useEffect((()=>{o(String(t))}),[t]),d.useEffect((()=>{i&&(s?.blur(),a(!1))}),[i,s]);const l=Number.isNaN(Number(r));return M.default.createElement(c.TextField,{...n,type:"text",onChange:function(e){o(e.target.value)},value:r,onKeyDown:e=>{"Enter"===e.key?s?.blur():"Escape"===e.key&&(o(String(t)),a(!0))},onBlur:()=>{const n=Number(r);r!==String(t)&&(Number.isNaN(n)?o(String(t)):e(n))},inputRef:e=>{u(e)},error:l,helperText:l?"Not a valid number":void 0})})),XN=p.observer((function({assembly:e,feature:t,session:n}){const[r,o]=d.useState(""),[i,a]=d.useState(""),{_id:s,assemblyId:u,max:l,min:f,strand:h,type:p}=t,m=e=>{n.notify(e.message,"error")},{changeManager:g}=n.apolloDataStore;function y(t){const{value:n}=t.target,r=n?Number(n):void 0,o=new nr.StrandChange({typeName:"StrandChange",changedIds:[s],featureId:s,oldStrand:h,newStrand:r,assembly:e});return g.submit(o)}return M.default.createElement(M.default.Fragment,null,M.default.createElement(c.Typography,{variant:"h5"},"Basic information"),M.default.createElement(ZN,{margin:"dense",id:"start",label:"Start",fullWidth:!0,variant:"outlined",value:f+1,onChangeCommitted:function(t){t--;const n=new nr.LocationStartChange({typeName:"LocationStartChange",changedIds:[s],featureId:s,oldStart:f,newStart:t,assembly:e});return g.submit(n)}}),M.default.createElement(ZN,{margin:"dense",id:"end",label:"End",fullWidth:!0,variant:"outlined",value:l,onChangeCommitted:function(t){const n=new nr.LocationEndChange({typeName:"LocationEndChange",changedIds:[s],featureId:s,oldEnd:l,newEnd:t,assembly:e});return g.submit(n)}}),M.default.createElement(RR,{session:n,ontologyName:"Sequence Ontology",value:p,filterTerms:AR,fetchValidTerms:async function(e,t,n){const r=await OR(e,t);if(r)return r;a(`Type "${e?.type}" does not have any children in the ontology`)}.bind(null,t),renderInput:e=>M.default.createElement(c.TextField,{...e,label:"Type",variant:"outlined",fullWidth:!0,error:Boolean(i),helperText:i}),onChange:(e,t)=>{t&&function(e){o("");const t=new nr.TypeChange({typeName:"TypeChange",changedIds:[s],featureId:s,oldType:p,newType:e,assembly:u});return g.submit(t)}(t).catch(m)}}),M.default.createElement("label",null,M.default.createElement("input",{type:"radio",value:"1",checked:1===h,onChange:y}),"Positive Strand (+)"),M.default.createElement("label",null,M.default.createElement("input",{type:"radio",value:"-1",checked:-1===h,onChange:y}),"Negative Strand (-)"),M.default.createElement("label",null,M.default.createElement("input",{type:"radio",value:"",checked:void 0===h,onChange:y}),"No Strand Information"),r?M.default.createElement(c.Typography,{color:"error"},r):null)})),QN=m.makeStyles()({sequence:{width:"100%",resize:"vertical"}}),eI=p.observer((function({assembly:e,feature:t,refName:n,session:r}){const o=r.apolloDataStore.assemblies.get(e),[i,a]=d.useState(!1),{classes:s}=QN();if(!t||!o)return null;const u=o.getByRefName(n);if(!u)return null;const{max:l,min:f}=t;let h="";return i&&(h=u.getSequence(f,l),h?h=function(e,t,n,r,o){return`>${t}:${n+1}–${r}\n${e}`}(h,n,f,l):r.apolloDataStore.loadRefSeq([{assemblyName:e,refName:n,start:f,end:l}])),M.default.createElement(M.default.Fragment,null,M.default.createElement(c.Typography,{variant:"h5"},"Sequence"),M.default.createElement(c.Button,{variant:"contained",onClick:()=>{a(!i)}},i?"Hide sequence":"Show sequence"),M.default.createElement("div",null,i&&M.default.createElement("textarea",{readOnly:!0,rows:20,className:s.sequence,value:h})))})),tI=m.makeStyles()((e=>({root:{padding:e.spacing(2)}}))),nI=p.observer((function(e){const{model:t}=e,{assembly:r,feature:o,refName:i}=t,a=n.getSession(t),s=a.apolloDataStore.assemblies.get(r),{classes:u}=tI();if(!o||!s)return null;const c=s.getByRefName(i);if(!c)return null;const{max:l,min:f}=o;return c.getSequence(f,l)||a.apolloDataStore.loadRefSeq([{assemblyName:r,refName:i,start:f,end:l}]),M.default.createElement("div",{className:u.root},M.default.createElement(XN,{feature:o,session:a,assembly:s._id}),M.default.createElement("hr",null),M.default.createElement(YN,{feature:o,session:a,assembly:s._id,editable:!0}),M.default.createElement("hr",null),M.default.createElement(eI,{feature:o,session:a,assembly:s._id,refName:i}))}));var rI={},oI={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.AnnotationFeatureModel=void 0;var t=O.default,n=I.default,r=rI,o=n.types.late((function(){return e.AnnotationFeatureModel}));e.AnnotationFeatureModel=n.types.model("AnnotationFeatureModel",{_id:n.types.identifier,refSeq:n.types.string,type:n.types.string,min:n.types.number,max:n.types.number,strand:n.types.maybe(n.types.union(n.types.literal(1),n.types.literal(-1))),children:n.types.maybe(n.types.map(o)),attributes:n.types.map(n.types.array(n.types.string))}).views((function(e){return{get length(){return e.max-e.min},get featureId(){return e.attributes.get("id")},get minWithChildren(){var t=e.min,n=e.children;if(!n)return t;var r,o=we(n);try{for(o.s();!(r=o.n()).done;){var i=he(r.value,2);t=Math.min(t,i[1].min)}}catch(e){o.e(e)}finally{o.f()}return t},get maxWithChildren(){var t=e.max,n=e.children;if(!n)return t;var r,o=we(n);try{for(o.s();!(r=o.n()).done;){var i=he(r.value,2);t=Math.max(t,i[1].max)}}catch(e){o.e(e)}finally{o.f()}return t},hasDescendant:function(t){var n=e.children;if(!n)return!1;var r,o=we(n);try{for(o.s();!(r=o.n()).done;){var i=he(r.value,2);if(i[0]===t)return!0;if(i[1].hasDescendant(t))return!0}}catch(e){o.e(e)}finally{o.f()}return!1},get transcriptParts(){if("mRNA"!==e.type)throw new Error('Only features of type "mRNA" or equivalent can calculate CDS locations');var n=e.children;if(!n)throw new Error("no CDS or exons in mRNA");var r=me(n.values()).filter((function(e){return"CDS"===e.type}));if(0===r.length)throw new Error("no CDS in mRNA");var o,i=[],a=we(r);try{var s=function(){var r,a=o.value,s=a.max,u=a.min,c=[],l=!1,f=[],d=we(n);try{for(d.s();!(r=d.n()).done;){var h=he(r.value,2)[1];"exon"===h.type&&f.push({min:h.min,max:h.max})}}catch(e){d.e(e)}finally{d.f()}f.sort((function(e,t){return e.min-t.min}));for(var p=0,m=f;p<m.length;p++){var g=m[p],y=c.at(-1);y&&c.push({min:y.max,max:g.min,type:"intron"});var v,_=he((0,t.intersection2)(u,s,g.min,g.max),2),b=_[0],w=_[1];v=l?1===e.strand?"threePrimeUTR":"fivePrimeUTR":1===e.strand?"fivePrimeUTR":"threePrimeUTR",void 0!==b&&void 0!==w?(l=!0,b===g.min&&w===g.max?c.push({min:b,max:w,phase:0,type:"CDS"}):b===g.min?c.push({min:b,max:w,phase:0,type:"CDS"},{min:w,max:g.max,type:v}):w===g.max?c.push({min:g.min,max:b,type:v},{min:b,max:w,phase:0,type:"CDS"}):c.push({min:g.min,max:b,type:v},{min:b,max:w,phase:0,type:"CDS"},{min:w,max:g.max,type:"fivePrimeUTR"===v?"threePrimeUTR":"fivePrimeUTR"})):c.push({min:g.min,max:g.max,type:v})}c.sort((function(e,t){return e.min-t.min})),-1===e.strand&&c.reverse();var S=0,x=c.map((function(e){if("CDS"!==e.type)return e;var t=S;return S=(3-(e.max-e.min-t+3)%3)%3,K(K({},e),{},{phase:t})}));i.push(x)};for(a.s();!(o=a.n()).done;)s()}catch(e){a.e(e)}finally{a.f()}return i}}})).views((function(e){return{get cdsLocations(){return e.transcriptParts.map((function(e){return e.filter((function(e){return"CDS"===e.type}))}))}}})).actions((function(e){return{setAttributes:function(t){e.attributes.clear();var n,r=we(t.entries());try{for(r.s();!(n=r.n()).done;){var o=he(n.value,2);e.attributes.set(o[0],o[1])}}catch(e){r.e(e)}finally{r.f()}},setAttribute:function(t,n){e.attributes.merge(re({},t,n))},setType:function(t){e.type=t},setRefSeq:function(t){e.refSeq=t},setMin:function(t){if(t>e.max)throw new Error('Min "'.concat(t,'" is greater than max "').concat(e.max,'"'));e.min!==t&&(e.min=t)},setMax:function(t){if(t<e.min)throw new Error('Max "'.concat(t,'" is less than Min "').concat(e.min,'"'));e.max!==t&&(e.max=t)},setStrand:function(t){e.strand=t},addChild:function(t){if(e.children&&e.children.size>0){var r=(0,n.getSnapshot)(e.children);e.children.clear();var o,i=we(Object.entries(K(K({},r),{},re({},t._id,t))).sort((function(e,t){var n=he(e,2)[1],r=he(t,2);return n.min-r[1].min})));try{for(i.s();!(o=i.n()).done;){var a=he(o.value,2);e.children.put(a[1])}}catch(e){i.e(e)}finally{i.f()}}else{var s;e.children=(0,n.cast)({}),null===(s=e.children)||void 0===s||s.put(t)}},deleteChild:function(t){var n;null===(n=e.children)||void 0===n||n.delete(t)}}})).actions((function(e){return{update:function(t){var r=t.children,o=t.max,i=t.min,a=t.strand;e.setRefSeq(t.refSeq),e.setMin(i),e.setMax(o),e.setStrand(a),r&&(e.children=(0,n.cast)(r))}}})).views((function(t){return{get parent(){var r;try{r=(0,n.getParentOfType)(t,e.AnnotationFeatureModel)}catch(e){}return r},get topLevelFeature(){var r,o=t;do{try{o=r=(0,n.getParentOfType)(o,e.AnnotationFeatureModel)}catch(e){r=void 0}}while(r);return o},get assemblyId(){return(0,n.getParentOfType)(t,r.ApolloAssembly)._id}}}))}(oI);var iI={},aI={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ApolloRefSeq=e.Sequence=void 0;var t=O.default,n=I.default,r=oI;e.Sequence=n.types.model({start:n.types.number,stop:n.types.number,sequence:n.types.string}),e.ApolloRefSeq=n.types.model("ApolloRefSeq",{_id:n.types.identifier,name:n.types.string,description:"",features:n.types.map(r.AnnotationFeatureModel),sequence:n.types.array(e.Sequence)}).actions((function(e){return{addFeature:function(t){e.features.put(t)},deleteFeature:function(t){return e.features.delete(t)},setDescription:function(t){e.description=t},addSequence:function(t){var n;if(t.sequence.length!==t.stop-t.start)throw new Error("sequence does not match declared length");if(0!==e.sequence.length){var r=e.sequence.map((function(e){return{start:e.start,stop:e.stop,sequence:e.sequence}}));r.push({start:t.start,stop:t.stop,sequence:t.sequence}),r.sort((function(e,t){return e.start-t.start}));var o=r.reduce((function(e,t){var n=e.at(-1);return void 0===n?[t]:(n.stop>=t.start?t.stop>n.stop&&(n.stop=t.stop,n.sequence+=t.sequence.slice(t.stop-n.stop)):e.push(t),e)}),[]);e.sequence.length===o.length&&e.sequence.every((function(e,t){return e.start===o[t].start&&e.stop===o[t].stop}))||(e.sequence.clear(),(n=e.sequence).push.apply(n,me(o)))}else e.sequence.push(t)}}})).views((function(e){return{getSequence:function(n,r){var o,i=we(e.sequence);try{for(i.s();!(o=i.n()).done;){var a=o.value,s=a.sequence,u=a.start;if((0,t.isContainedWithin)(n,r,u,a.stop))return s.slice(n-u,r-u)}}catch(e){i.e(e)}finally{i.f()}return""}}}))}(aI),Object.defineProperty(iI,"__esModule",{value:!0}),iI.ApolloAssembly=void 0;var sI=I.default;iI.ApolloAssembly=sI.types.model("ApolloAssembly",{_id:sI.types.identifier,refSeqs:sI.types.map(aI.ApolloRefSeq),comments:sI.types.array(sI.types.string),backendDriverType:sI.types.optional(sI.types.enumeration("backendDriverType",["CollaborationServerDriver","InMemoryFileDriver","DesktopFileDriver"]),"CollaborationServerDriver")}).views((function(e){return{getByRefName:function(t){return me(e.refSeqs.values()).find((function(e){return e.name===t}))}}})).actions((function(e){return{addRefSeq:function(t,n,r){return e.refSeqs.put({_id:t,name:n,description:r})},addComment:function(t){return e.comments.push(t)}}}));var uI={};Object.defineProperty(uI,"__esModule",{value:!0}),uI.CheckResult=void 0;var cI=I.default;uI.CheckResult=cI.types.model("CheckResult",{_id:cI.types.identifier,name:cI.types.string,ids:cI.types.array(cI.types.safeReference(oI.AnnotationFeatureModel)),refSeq:cI.types.string,start:cI.types.number,end:cI.types.number,ignored:!1,message:cI.types.string}),function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=et;t.__exportStar(oI,e),t.__exportStar(iI,e),t.__exportStar(aI,e),t.__exportStar(uI,e)}(rI);const lI=u.types.model("ApolloFeatureDetailsWidget",{id:g.ElementId,type:u.types.literal("ApolloFeatureDetailsWidget"),feature:u.types.maybe(u.types.reference(rI.AnnotationFeatureModel,{onInvalidated(e){e.parent.setTryReload(e.invalidId),e.removeRef()}})),assembly:u.types.string,refName:u.types.string}).volatile((()=>({tryReload:void 0}))).actions((e=>({setFeature(t){e.feature=t},setTryReload(t){e.tryReload=t}}))).actions((e=>({afterAttach(){u.addDisposer(e,s.autorun((t=>{if(!e.tryReload)return;const r=n.getSession(e),{apolloDataStore:o}=r;if(!o)return;const i=o.getFeature(e.tryReload);i&&(e.setFeature(i),e.setTryReload(),t.dispose())})))}}))),fI=u.types.model("ApolloTranscriptDetails",{id:g.ElementId,type:u.types.literal("ApolloTranscriptDetails"),feature:u.types.maybe(u.types.reference(rI.AnnotationFeatureModel,{onInvalidated(e){e.parent.setTryReload(e.invalidId),e.removeRef()}})),assembly:u.types.string,refName:u.types.string,changeManager:u.types.frozen()}).volatile((()=>({tryReload:void 0}))).actions((e=>({setFeature(t){e.feature=t},setTryReload(t){e.tryReload=t}}))).actions((e=>({afterAttach(){u.addDisposer(e,s.autorun((t=>{if(!e.tryReload)return;const r=n.getSession(e),{apolloDataStore:o}=r;if(!o)return;const i=o.getFeature(e.tryReload);i&&(e.setFeature(i),e.setTryReload(),t.dispose())})))}}))),dI=p.observer((function({assembly:e,feature:t,refName:r,session:o}){const{notify:i}=o,a=o.apolloDataStore.assemblies.get(e),s=a?.getByRefName(r),{changeManager:u}=o.apolloDataStore,l=c.useTheme();function f(t,n,r,o){if(!r.children)throw new Error("Transcript should have child features");for(const[,a]of r.children){if(o&&t-1===a.min){const o=new nr.LocationStartChange({typeName:"LocationStartChange",changedIds:[a._id],featureId:r._id,oldStart:t-1,newStart:n-1,assembly:e});return void u.submit(o).catch((()=>{i("Error updating feature start position","error")}))}if(!o&&n===a.max){const t=new nr.LocationEndChange({typeName:"LocationEndChange",changedIds:[a._id],featureId:r._id,oldEnd:a.max,newEnd:n,assembly:e});return void u.submit(t).catch((()=>{i("Error updating feature start position","error")}))}}}if(!s)return null;const{strand:d,transcriptParts:h}=t,[p]=h,m=p.map(((e,t)=>{const{max:r,min:o,type:i}=e;let a,u,c,f=i;if("threePrimeUTR"===f?f="3` UTR":"fivePrimeUTR"===f&&(f="5` UTR"),"CDS"===i){const{phase:i}=e,f=n.getFrame(o,r,d??1,i);c=l.palette.framesCDS.at(f)?.main;const h=p.at(t-1),m=p.at(t+1);1===d?("intron"===h?.type&&(a=s.getSequence(o-2,o)),"intron"===m?.type&&(u=s.getSequence(r,r+2))):("intron"===h?.type&&(a=n.revcom(s.getSequence(r,r+2))),"intron"===m?.type&&(u=n.revcom(s.getSequence(o-2,o))))}return{min:o,max:r,label:f,fivePrimeSpliceSite:a,threePrimeSpliceSite:u,frameColor:c}})).filter((e=>"intron"!==e.label));return M.default.createElement(M.default.Fragment,null,M.default.createElement(c.Typography,{variant:"h5"},"Structure"),M.default.createElement(c.Typography,{variant:"h6"},1===d?"Forward":"Reverse"," strand"),M.default.createElement(c.TableContainer,{component:c.Paper},M.default.createElement(c.Table,{size:"small"},M.default.createElement(c.TableBody,null,m.map((e=>M.default.createElement(c.TableRow,{key:`${e.label}:${e.min}-${e.max}`},M.default.createElement(c.TableCell,{component:"th",scope:"row",style:{background:e.frameColor}},e.label),M.default.createElement(c.TableCell,null,e.fivePrimeSpliceSite??""),M.default.createElement(c.TableCell,{padding:"none"},M.default.createElement(ZN,{margin:"dense",variant:"outlined",value:1===d?e.min+1:e.max,onChangeCommitted:n=>{f(1===d?e.min+1:e.max,n,t,1===d)}})),M.default.createElement(c.TableCell,{padding:"none"},M.default.createElement(ZN,{margin:"dense",variant:"outlined",value:1===d?e.max:e.min+1,onChangeCommitted:n=>{f(1===d?e.max:e.min+1,n,t,1!==d)}})),M.default.createElement(c.TableCell,null,e.threePrimeSpliceSite??""))))))))})),hI=60;function pI(e){switch(e){case"upOrDownstream":return"rgb(255,255,255)";case"UTR":return"rgb(194,106,119)";case"CDS":return"rgb(93,168,153)";case"intron":return"rgb(187,187,187)";case"protein":return"rgb(148,203,236)"}}const mI=p.observer((function({assembly:e,feature:t,refName:r,session:o}){const i=o.apolloDataStore.assemblies.get(e),a=i?.getByRefName(r),[s,u]=d.useState(!1),[l,f]=d.useState("CDS"),h=c.useTheme(),p=d.useRef(null);if(!i||!a)return null;const m=i.getByRefName(r);if(!m)return null;if("mRNA"!==t.type)return null;const g=s?function(e,t,r){const o=[],{cdsLocations:i,strand:a,transcriptParts:s}=t;switch(e){case"genomic":case"cDNA":{const[t]=s;for(const i of t){if("cDNA"===e&&"intron"===i.type)continue;let t=r(i.min,i.max);-1===a&&(t=n.revcom(t));const s="fivePrimeUTR"===i.type||"threePrimeUTR"===i.type?"UTR":i.type,u=o.at(-1);if(u)if(u.type===s){const[e,...n]=u.sequenceLines,r=n.join("")+t;u.sequenceLines=[e,...nr.splitStringIntoChunks(r,hI)],u.locs.push({min:i.min,max:i.max})}else{const e=o.reduce(((e,t)=>e+t.sequenceLines.reduce(((e,t)=>e+t.length),0)),0),n=hI-e%hI,r=t.slice(0,n),a=nr.splitStringIntoChunks(t.slice(n),hI);o.push({type:s,sequenceLines:[r,...a],locs:[{min:i.min,max:i.max}]})}else{const e=nr.splitStringIntoChunks(t,hI);o.push({type:s,sequenceLines:e,locs:[{min:i.min,max:i.max}]})}}return o}case"CDS":{let e="";const[t]=i,s=[];for(const o of t){let t=r(o.min,o.max);-1===a&&(t=n.revcom(t)),e+=t,s.push({min:o.min,max:o.max})}const u=nr.splitStringIntoChunks(e,hI);return o.push({type:"CDS",sequenceLines:u,locs:s}),o}}}(l,t,((e,t)=>a.getSequence(e,t))):[],y=[];if(s){const e=g.flatMap((e=>e.locs));let[t]=e;for(let n=1;n<e.length;n++)t.min===e[n].max||t.max===e[n].min?t={min:Math.min(t.min,e[n].min),max:Math.max(t.max,e[n].max)}:(y.push(t),t=e[n]);y.push(t)}return M.default.createElement(M.default.Fragment,null,M.default.createElement(c.Typography,{variant:"h5"},"Sequence"),M.default.createElement("div",null,M.default.createElement(c.Button,{variant:"contained",onClick:()=>{u(!s)}},s?"Hide sequence":"Show sequence")),s&&M.default.createElement(M.default.Fragment,null,M.default.createElement(c.Select,{defaultValue:"CDS",value:l,onChange:function(e){f(e.target.value)}},M.default.createElement(c.MenuItem,{value:"CDS"},"CDS"),M.default.createElement(c.MenuItem,{value:"cDNA"},"cDNA"),M.default.createElement(c.MenuItem,{value:"genomic"},"Genomic")),M.default.createElement(c.Paper,{style:{fontFamily:"monospace",padding:h.spacing(),overflowX:"auto"},ref:p},">",m.name,":",y.map((e=>1===t.strand?`${e.min+1}-${e.max}`:`${e.max}-${e.min+1}`)).join(";"),"(",1===t.strand?"+":"-",")",M.default.createElement("br",null),g.map(((e,t)=>M.default.createElement("span",{key:`${e.type}-${t}`,style:{background:pI(e.type),color:h.palette.getContrastText(pI(e.type))}},e.sequenceLines.map(((t,n)=>M.default.createElement(M.default.Fragment,{key:`${t.slice(0,5)}-${n}`},t,n===e.sequenceLines.length-1&&t.length!==hI?null:M.default.createElement("br",null)))))))),M.default.createElement(c.Button,{variant:"contained",onClick:()=>{const e=p.current;if(!e)return;const t=new Blob([e.outerText],{type:"text/plain"}),n=new Blob([e.outerHTML],{type:"text/html"}),r=new ClipboardItem({[t.type]:t,[n.type]:n});navigator.clipboard.write([r])}},"Copy sequence")))})),gI=m.makeStyles()((e=>({root:{padding:e.spacing(2)}}))),yI=p.observer((function(e){const{classes:t}=gI(),{model:r}=e,{assembly:o,feature:i,refName:a}=r,s=n.getSession(r),c=n.getSession(r),l=c.apolloDataStore.assemblies.get(o),{internetAccounts:f}=u.getRoot(s),d=f.find((e=>"ApolloInternetAccount"===e.type)),h=["admin","user"].includes((d?d.role:"admin")??"");if(!i||!l)return null;const p=l.getByRefName(a);if(!p)return null;const{max:m,min:g}=i;return p.getSequence(g,m)||c.apolloDataStore.loadRefSeq([{assemblyName:o,refName:a,start:g,end:m}]),M.default.createElement("div",{className:t.root},M.default.createElement(dI,{feature:i,session:c,assembly:l._id||"",refName:a}),M.default.createElement("hr",null),M.default.createElement(YN,{feature:i,session:c,assembly:l._id||"",editable:h}),M.default.createElement("hr",null),M.default.createElement(mI,{feature:i,session:c,assembly:l._id||"",refName:a}))})),vI=r.ConfigurationSchema("LinearApolloDisplay",{},{explicitIdentifier:"displayId",explicitlyTyped:!0}),_I=m.makeStyles()({highlighted:{background:"orange"}}),bI=({highlight:e,text:t})=>{const{classes:n}=_I();if(!e)return M.default.createElement(M.default.Fragment,null,t);const r=t.split(e);if(1===r.length)return M.default.createElement(M.default.Fragment,null,t);const o=[];for(let t=0;t<r.length-1;t++)o.push(r[t],M.default.createElement("span",{className:n.highlighted},e));return M.default.createElement(M.default.Fragment,null,o,r.at(-1))},wI=p.observer((function({feature:e,filterText:t}){const n=[...e.attributes.entries()].map((([e,t])=>{if(e.startsWith("gff_")){const n=e.slice(4);return[n.charAt(0).toUpperCase()+n.slice(1),u.getSnapshot(t)]}return"_id"===e?["ID",u.getSnapshot(t)]:[e,u.getSnapshot(t)]})).filter((([e])=>e)).map((([e,t])=>`${e}=${Array.isArray(t)?t.join(", "):t}`)).join(", ");return M.default.createElement(bI,{text:n,highlight:t})})),SI=m.makeStyles()((e=>({inputWrapper:{position:"relative"},hiddenWidthSpan:{padding:e.spacing(.5),color:"transparent"},numberTextInput:{border:"none",background:"inherit",font:"inherit",position:"absolute",width:"100%",left:0}}))),xI=p.observer((function({initialValue:e,notifyError:t,onChangeCommitted:n}){const[r,o]=d.useState(e),[i,a]=d.useState(!1),[s,u]=d.useState(null),{classes:c}=SI();return d.useEffect((()=>{i&&(s?.blur(),a(!1))}),[i,s]),M.default.createElement("span",{className:c.inputWrapper},M.default.createElement("span",{className:c.hiddenWidthSpan,"aria-hidden":!0},r),M.default.createElement("input",{type:"text",value:r,className:c.numberTextInput,onChange:function(e){const t=Number(e.target.value);Number.isNaN(t)||o(t)},onKeyDown:t=>{"Enter"===t.key?s?.blur():"Escape"===t.key&&(o(e),a(!0))},onBlur:()=>{r!==e&&n(r).catch(t)},ref:e=>{u(e)}}))}));function kI(e,t){return t?.palette.bases[e.toUpperCase()].main.toString()??"lightgray"}function EI(e,t,n,r,o){const i=Math.min(n,10);e.fillStyle="#000",e.font=`${i}px`;const a=e.measureText(r).width;e.fillText(r,t+(n-a)/2,o+10)}function AI(e,t,r,o,i,a,s,u,c){let l=s.slice(u,u+3).toUpperCase();c&&(l=function(e){return[...e].map((e=>n.revcom(e))).reverse().join("")}(l));const f=n.defaultCodonTable[l];if(!f)return;const d={M:"#33ee33","*":"#f44336"}[f.toUpperCase()];d&&(e.fillStyle=d,e.fillRect(r,o,i,a)),t<=.1&&(e.rect(r,o,i,a),e.stroke(),EI(e,r,i,f,o))}function CI(e){return"featureAndGlyphUnderMouse"in e}function OI(e,t){const n=t<=1?2:0;switch(e){case 3:return 0;case 2:return 1;case 1:return 2;case-1:return 3+n;case-2:return 4+n;case-3:return 5+n}}function RI(e,t){if(!(t>1||void 0===e))return 1===e?3:4}function NI(e,t,n,r,o,i){void 0!==o&&(e.fillStyle=t?.palette.action.focus??"rgba(0,0,0,0.04)",e.fillRect(n,r*o,i,r))}function II(e,t){return Boolean(t&&e._id===t._id)}function PI(e,t){return t?e?.palette.text.primary??"black":e?.palette.background.default??"white"}function TI(e,t,n,r,o,i){e.fillStyle=i,e.fillRect(t,n,r,o)}function MI(e,t,n){const{refName:r,regionNumber:o,x:i}=e,{lgv:a}=n,{offsetPx:s}=a,u=a.bpToPx({refName:r,coord:t.min,regionNumber:o}),c=a.bpToPx({refName:r,coord:t.max,regionNumber:o});if(void 0!==u&&void 0!==c){const e=u.offsetPx-s,t=c.offsetPx-s;if(Math.abs(t-e)<8)return;if(Math.abs(e-i)<4)return"min";if(Math.abs(t-i)<4)return"max"}}const jI={draw:function(e,t,n,r,o){const{apolloRowHeight:i,lgv:a,session:s,theme:u}=r,{bpPerPx:c,displayedRegions:l,offsetPx:f}=a,d=l[o],h=(a.bpToPx({refName:d.refName,coord:t.min,regionNumber:o})?.offsetPx??0)-f,{reversed:p}=d,{apolloSelectedFeature:m}=s,g=t.length/c,y=p?h-g:h,v=n*i,_=II(t,m),b=PI(u,_),w=function(e,t){return t?e?.palette.getContrastText(PI(e,t))??"white":e?.palette.text.primary??"black"}(u,_);!function(e,t,n,r,o,i){TI(e,t,n,r,o,i),r<=2||e.clearRect(t+1,n+1,r-2,o-2)}(e,y,v,g,i,w),g<=2||(function(e,t,n,r,o,i){TI(e,t+1,n+1,r-2,o-2,i)}(e,y,v,g,i,b),function(e,t,n,r,o,i){e.fillStyle=o;const a=Math.max(t+1,0);e.fillText(i,a,n+11,t-1+r-a)}(e,y,v,g,w,t.type))},drawDragPreview:function(e,t){const{apolloDragging:n,apolloRowHeight:r,lgv:o,theme:i}=e,{bpPerPx:a,displayedRegions:s,offsetPx:u}=o;if(!n)return;const{current:l,edge:f,feature:d,start:h}=n,p=Math.floor(h.y/r),m=s[h.regionNumber],g=(m.reversed?m.end-d[f]:d[f]-m.start)/a-u,y=Math.min(l.x,g),v=p*r,_=Math.abs(l.x-g),b=1*r;t.strokeStyle=i?.palette.info.main??"rgb(255,0,0)",t.setLineDash([6]),t.strokeRect(y,v,_,b),t.fillStyle=c.alpha(i?.palette.info.main??"rgb(255,0,0)",.2),t.fillRect(y,v,_,b)},drawHover:function(e,t){const{apolloHover:n,apolloRowHeight:r,lgv:o,theme:i}=e;if(!n)return;const{feature:a}=n,s=e.getFeatureLayoutPosition(a);if(!s)return;const{bpPerPx:u,displayedRegions:c,offsetPx:l}=o,{layoutIndex:f,layoutRow:d}=s,h=c[f],{refName:p,reversed:m}=h,{length:g,max:y,min:v}=a,_=(o.bpToPx({refName:p,coord:m?y:v,regionNumber:f})?.offsetPx??0)-l,b=d*r,w=g/u;t.fillStyle=i?.palette.action.focus??"rgba(0,0,0,0.04)",t.fillRect(_,b,w,r)},drawTooltip:function(e,t){const{apolloHover:n,apolloRowHeight:r,lgv:o,theme:i}=e;if(!n)return;const{feature:a}=n,s=e.getFeatureLayoutPosition(a);if(!s)return;const{featureRow:u,layoutIndex:l,layoutRow:f}=s,{bpPerPx:d,displayedRegions:h,offsetPx:p}=o,m=h[l],{refName:g,reversed:y}=m;let v="Loc: ";const{length:_,max:b,min:w}=a;v+=`${w+1}–${b}`;let S=(o.bpToPx({refName:g,coord:y?b:w,regionNumber:l})?.offsetPx??0)-p;const x=(f+u)*r,k=_/d,E=`Type: ${a.type}`,{attributes:A}=a,C=A.get("gff_name")?.find((e=>""!==e)),O=[t.measureText(E).width,t.measureText(v).width];C&&O.push(t.measureText(`Name: ${C}`).width);const R=Math.max(...O);S=S+k+5,t.fillStyle=c.alpha(i?.palette.text.primary??"rgb(1, 1, 1)",.7),t.fillRect(S,x,R+4,3===O.length?45:35),t.beginPath(),t.moveTo(S,x),t.lineTo(S-5,x+5),t.lineTo(S,x+10),t.fill(),t.fillStyle=i?.palette.background.default??"rgba(255, 255, 255)";let N=x+12;t.fillText(E,S+2,N),C&&(N+=12,t.fillText(`Name: ${C}`,S+2,N)),N+=12,t.fillText(v,S+2,N)},getContextMenuItems:function(e){const{apolloHover:t,apolloInternetAccount:r,changeManager:o,regions:i,selectedFeature:a,session:s}=e,u=[];if(!t)return u;const{feature:c}=t,l=r?r.role:"admin",f="admin"===l,d=!(l&&["admin","user"].includes(l)),[h]=i,p=e.getAssemblyId(h.assemblyName),m=e.getAssemblyId(h.assemblyName);return u.push({label:"Add child feature",disabled:d,onClick:()=>{s.queueDialog((e=>[NR,{session:s,handleClose:()=>{e()},changeManager:o,sourceFeature:c,sourceAssemblyId:p,internetAccount:r}]))}},{label:"Copy features and annotations",disabled:d,onClick:()=>{s.queueDialog((e=>[TR,{session:s,handleClose:()=>{e()},changeManager:o,sourceFeature:c,sourceAssemblyId:m}]))}},{label:"Delete feature",disabled:!f,onClick:()=>{s.queueDialog((t=>[jR,{session:s,handleClose:()=>{t()},changeManager:o,sourceFeature:c,sourceAssemblyId:m,selectedFeature:a,setSelectedFeature:t=>{e.setSelectedFeature(t)}}]))}},{label:"Modify feature attribute",disabled:d,onClick:()=>{s.queueDialog((e=>[rN,{session:s,handleClose:()=>{e()},changeManager:o,sourceFeature:c,sourceAssemblyId:m}]))}},{label:"Edit feature details",onClick:()=>{const e=s.addWidget("ApolloFeatureDetailsWidget","apolloFeatureDetailsWidget",{feature:c,assembly:m,refName:h.refName});s.showWidget(e)}}),"mRNA"===c.type&&n.isSessionModelWithWidgets(s)&&u.push({label:"Edit transcript details",onClick:()=>{const e=s.addWidget("ApolloTranscriptDetails","apolloTranscriptDetails",{feature:c,assembly:m,changeManager:o,refName:h.refName});s.showWidget(e)}}),u},getFeatureFromLayout:function(e,t,n){return e},getRowCount:function(e){return 1},getRowForFeature:function(e,t){return 0},onMouseDown:function(e,t,n){const{featureAndGlyphUnderMouse:r}=t,{feature:o}=r,i=MI(t,o,e);i&&(n.stopPropagation(),e.startDrag(t,o,i))},onMouseLeave:function(){},onMouseMove:function(e,t){if(CI(t)){const{featureAndGlyphUnderMouse:n}=t;e.setApolloHover(n);const{feature:r}=n;if(MI(t,r,e))return void e.setCursor("col-resize")}e.setCursor()},onMouseUp:function(e,t){if(e.apolloDragging)return;const{featureAndGlyphUnderMouse:n}=t;n?.feature&&e.setSelectedFeature(n.feature)}};let FI=null,LI=null,DI=null,qI=null;if("document"in globalThis)for(const e of["forward","backward"])for(const t of["light","dark"]){const n=document.createElement("canvas"),r=10;n.width=n.height=r;const o=n.getContext("2d");if(o){const i="light"===t?"rgba(0,0,0,0)":"rgba(0,0,0,0.75)",a="light"===t?"rgba(255,255,255,0.25)":"rgba(0,0,0,0.50)",s="forward"===e?o.createLinearGradient(0,r,r,0):o.createLinearGradient(0,0,r,r);s.addColorStop(0,i),s.addColorStop(.25,i),s.addColorStop(.25,a),s.addColorStop(.5,a),s.addColorStop(.5,i),s.addColorStop(.75,i),s.addColorStop(.75,a),s.addColorStop(1,a),o.fillStyle=s,o.fillRect(0,0,10,10),"forward"===e?"light"===t?FI=o.createPattern(n,"repeat"):DI=o.createPattern(n,"repeat"):"light"===t?LI=o.createPattern(n,"repeat"):qI=o.createPattern(n,"repeat")}}function BI(e,t){const{children:n,type:r}=e;if(!n)return 1;let o=0;if("mRNA"===r){for(const[,e]of n)"CDS"===e.type&&(o+=1);return o}for(const[,e]of n)o+=BI(e);return o}function UI(e){if("gene"!==e.type)throw new Error('Top level feature for GeneGlyph must have type "gene"');const{children:t}=e;if(!t)return[[e]];const n=[];for(const[,r]of t){if("mRNA"!==r.type){n.push([r,e]);continue}if(!r.children)continue;const t=[],o=[];for(const[,e]of r.children)"CDS"===e.type?t.push(e):"exon"===e.type&&o.push(e);for(const i of t)n.push([i,...o,r,e])}return n}function zI(e,t,r){if("gene"===t.type||"mRNA"===t.type)return;const{bp:o,refName:i,regionNumber:a,x:s}=e,{lgv:u}=r,{offsetPx:c}=u,l=u.bpToPx({refName:i,coord:t.min,regionNumber:a}),f=u.bpToPx({refName:i,coord:t.max,regionNumber:a});if(void 0===l||void 0===f)return;const d=l.offsetPx-c,h=f.offsetPx-c;if(!(Math.abs(h-d)<8)){if(Math.abs(d-s)<4)return{feature:t,edge:"min"};if(Math.abs(h-s)<4)return{feature:t,edge:"max"};if("CDS"===t.type){const e=t.parent;if(!e?.children)return;const r=[...e.children.values()].filter((e=>"exon"===e.type)).find((e=>{const[t,r]=n.intersection2(o,o+1,e.min,e.max);return void 0!==t&&void 0!==r}));if(!r)return;const l=u.bpToPx({refName:i,coord:r.min,regionNumber:a}),f=u.bpToPx({refName:i,coord:r.max,regionNumber:a});if(void 0===l||void 0===f)return;const d=l.offsetPx-c,h=f.offsetPx-c;if(Math.abs(h-d)<8)return;if(Math.abs(d-s)<4)return{feature:r,edge:"min"};if(Math.abs(h-s)<4)return{feature:r,edge:"max"}}}}const{drawTooltip:GI,getContextMenuItems:HI,onMouseLeave:WI}=jI,VI={draw:function(e,t,r,o,i){const{apolloRowHeight:a,lgv:s,session:u,theme:l}=o,{bpPerPx:f,displayedRegions:d,offsetPx:h}=s,p=d[i],{refName:m,reversed:g}=p,y=a,v=Math.round(.6*y),_=Math.round(.9*y),{children:b,min:w,strand:S}=t;if(!b)return;const{apolloSelectedFeature:x}=u,k=(s.bpToPx({refName:m,coord:w,regionNumber:i})?.offsetPx??0)-h,E=t.length/f,A=g?k-E:k,C=r*y,O=BI(t)*y;e.fillStyle=c.alpha(l?.palette.background.paper??"#ffffff",.6),e.fillRect(A,C,E,O);let R=0;for(const[,t]of b){if("mRNA"!==t.type){R+=1;continue}const{children:n,min:o}=t;if(n)for(const[,a]of n){if("CDS"!==a.type)continue;const n=(s.bpToPx({refName:m,coord:o,regionNumber:i})?.offsetPx??0)-h,u=t.length/f,c=g?n-u:n,d=Math.round((R+.5)*y)+r*y;e.strokeStyle=l?.palette.text.primary??"black",e.beginPath(),e.moveTo(c,d),e.lineTo(c+u,d),e.stroke(),R+=1}}const N="dark"===l?.palette.mode?DI:FI,I="dark"===l?.palette.mode?qI:LI;R=0;for(const[,t]of b)if("mRNA"===t.type)for(const o of t.cdsLocations){const{_id:a,children:u}=t;if(u){for(const[,t]of u){if("exon"!==t.type)continue;const n=(s.bpToPx({refName:m,coord:t.min,regionNumber:i})?.offsetPx??0)-h,o=t.length/f,a=g?n-o:n,u=(r+R)*y+(y-v)/2;if(e.fillStyle=l?.palette.text.primary??"black",e.fillRect(a,u,o,v),o>2&&(e.clearRect(a+1,u+1,o-2,v-2),e.fillStyle=x&&t._id===x._id?"rgb(0,0,0)":"rgb(211,211,211)",e.fillRect(a+1,u+1,o-2,v-2),N&&I&&S)){const t=g?-1:1,[n,r]=S*t==1?[N,I]:[I,N];e.fillStyle=n,e.fillRect(a+1,u+1,o-2,(v-2)/2),e.fillStyle=r,e.fillRect(a+1,u+1+(v-2)/2,o-2,(v-2)/2)}}for(const u of o){const o=(u.max-u.min)/f,c=(s.bpToPx({refName:m,coord:u.min,regionNumber:i})?.offsetPx??0)-h,d=g?c-o:c;e.fillStyle=l?.palette.text.primary??"black";const p=(r+R)*y+(y-_)/2;if(e.fillRect(d,p,o,_),o>2){e.clearRect(d+1,p+1,o-2,_-2);const r=n.getFrame(u.min,u.max,t.strand??1,u.phase),i=l?.palette.framesCDS.at(r)?.main,s=i??"rgb(171,71,188)";if(e.fillStyle=x&&a===x._id?"rgb(0,0,0)":s,e.fillStyle=s,e.fillRect(d+1,p+1,o-2,_-2),N&&I&&S){const t=g?-1:1,[n,r]=S*t==1?[N,I]:[I,N];e.fillStyle=n,e.fillRect(d+1,p+1,o-2,(_-2)/2),e.fillStyle=r,e.fillRect(d+1,p+(_-2)/2,o-2,(_-2)/2)}}}R+=1}}else jI.draw(e,t,r,o,i),R+=1},drawDragPreview:function(e,t){const{apolloDragging:n,apolloRowHeight:r,lgv:o,theme:i}=e,{bpPerPx:a,displayedRegions:s,offsetPx:u}=o;if(!n)return;const{current:l,edge:f,feature:d,start:h}=n,p=Math.floor(h.y/r),m=s[h.regionNumber],g=(m.reversed?m.end-d[f]:d[f]-m.start)/a-u,y=Math.min(l.x,g),v=p*r,_=Math.abs(l.x-g),b=1*r;t.strokeStyle=i?.palette.info.main??"rgb(255,0,0)",t.setLineDash([6]),t.strokeRect(y,v,_,b),t.fillStyle=c.alpha(i?.palette.info.main??"rgb(255,0,0)",.2),t.fillRect(y,v,_,b)},drawHover:function(e,t){const{apolloHover:n,apolloRowHeight:r,lgv:o,theme:i}=e;if(!n)return;const{feature:a}=n,s=e.getFeatureLayoutPosition(a);if(!s)return;const{bpPerPx:u,displayedRegions:c,offsetPx:l}=o,{featureRow:f,layoutIndex:d,layoutRow:h}=s,p=c[d],{refName:m,reversed:g}=p,{length:y,max:v,min:_}=a,b=(o.bpToPx({refName:m,coord:g?v:_,regionNumber:d})?.offsetPx??0)-l,w=(h+f)*r,S=y/u;t.fillStyle=i?.palette.action.selected??"rgba(0,0,0,04)",t.fillRect(b,w,S,r*BI(a))},drawTooltip:GI,getContextMenuItems:HI,getFeatureFromLayout:function(e,t,n){const r=UI(e)[n]||[];for(const e of r){let n;if(t>=e.min&&t<=e.max&&e.parent&&(n=e),n){if("CDS"===n.type&&n.parent&&"mRNA"===n.parent.type){const{cdsLocations:e}=n.parent;for(const r of e)for(const e of r)if(t>=e.min&&t<=e.max)return n;return n.parent}return n}}return e},getRowCount:BI,getRowForFeature:function(e,t){const n=UI(e);for(const[e,r]of n.entries())if(r.some((e=>e._id===t._id)))return e},onMouseDown:function(e,t,n){const{featureAndGlyphUnderMouse:r}=t,{feature:o}=r,i=zI(t,o,e);i&&(n.stopPropagation(),e.startDrag(t,i.feature,i.edge))},onMouseLeave:WI,onMouseMove:function(e,t){if(CI(t)){const{featureAndGlyphUnderMouse:n}=t;e.setApolloHover(n);const{feature:r}=n;if(zI(t,r,e))return void e.setCursor("col-resize")}e.setCursor()},onMouseUp:function(e,t){if(e.apolloDragging)return;const{featureAndGlyphUnderMouse:n}=t;n?.feature&&e.setSelectedFeature(n.feature)}};function $I(e){const t=[[e]];if(e.children)for(const[,n]of e.children)t.push(...$I(n));return t}function JI(e){return $I(e).length}function KI(e,t,n,r,o,i){const a=$I(t)[n-r];for(const t of a)YI(e,t,n,o,i)}function YI(e,t,n,r,o){const{apolloRowHeight:i,lgv:a,session:s}=r,{bpPerPx:u,displayedRegions:c,offsetPx:l}=a,f=c[o],d=(a.bpToPx({refName:f.refName,coord:t.min,regionNumber:o})?.offsetPx??0)-l,{reversed:h}=f,{apolloSelectedFeature:p}=s,m=t.length/u,g=h?d-m:d,y=n*i,v=JI(t),_=II(t,p);v>1&&TI(e,g,y,m,v*i,_?"rgba(130,0,0,0.45)":"rgba(255,0,0,0.25)"),jI.draw(e,t,n,r,o)}const{drawDragPreview:ZI,drawTooltip:XI,getContextMenuItems:QI,onMouseDown:eP,onMouseLeave:tP,onMouseMove:nP,onMouseUp:rP}=jI,oP={draw:function(e,t,n,r,o){for(let i=0;i<JI(t);i++)KI(e,t,n+i,n,r,o)},drawDragPreview:ZI,drawHover:function(e,t){const{apolloHover:n,apolloRowHeight:r,lgv:o}=e;if(!n)return;const{feature:i}=n,a=e.getFeatureLayoutPosition(i);if(!a)return;const{featureRow:s,layoutIndex:u,layoutRow:c}=a,{bpPerPx:l,displayedRegions:f,offsetPx:d}=o,h=f[u],{refName:p,reversed:m}=h,{length:g,max:y,min:v}=i,_=(o.bpToPx({refName:p,coord:m?y:v,regionNumber:u})?.offsetPx??0)-d,b=(c+s)*r,w=g/l;t.fillStyle="rgba(0,0,0,0.2)",t.fillRect(_,b,w,r*JI(i))},drawTooltip:XI,getContextMenuItems:QI,getFeatureFromLayout:function(e,t,n){return $I(e)[n].find((e=>t>=e.min&&t<=e.max))},getRowCount:JI,getRowForFeature:function(e,t){const n=$I(e);for(const[e,r]of n.entries())if(r.some((e=>e._id===t._id)))return e},onMouseDown:eP,onMouseLeave:tP,onMouseMove:nP,onMouseUp:rP};function iP(e){return function(e){const{children:t}=e;if(!t?.size)return!1;for(const[,e]of t)if("mRNA"===e.type){const{children:t}=e;if(!t?.size)return!1;const n=[...t.values()].some((e=>"CDS"===e.type)),r=[...t.values()].some((e=>"exon"===e.type));if(n&&r)return!0}return!1}(e)?VI:e.children?.size?oP:jI}const aP=m.makeStyles()((e=>({typeContent:{display:"inline-block",width:"174px",height:"100%",cursor:"text"},feature:{td:{position:"relative",verticalAlign:"top",paddingLeft:"0.5em"}},arrow:{display:"inline-block",width:"1.6em",textAlign:"center",cursor:"pointer"},arrowExpanded:{transform:"rotate(90deg)"},hoveredFeature:{backgroundColor:e.palette.action.hover},typeInputElement:{border:"none",background:"none"},typeErrorMessage:{color:"red"}})));function sP(e,t){const{changeManager:r,getAssemblyId:o,regions:i,selectedFeature:a,session:s,setSelectedFeature:c}=e;return function(e,t,r,o,i,a,s){const c=function(e){const{internetAccounts:t}=u.getParent(e);return t.find((e=>"ApolloInternetAccount"===e.type))}(a),l=c?c.role:"admin",f="admin"===l,d=!(l&&["admin","user"].includes(l)),h=[];if(e){const u=r(t.assemblyName),l=r(t.assemblyName);h.push({label:"Edit feature details",onClick:()=>{const n=a.addWidget("ApolloFeatureDetailsWidget","apolloFeatureDetailsWidget",{feature:e,assembly:l,refName:t.refName});a.showWidget(n)}},{label:"Add child feature",disabled:d,onClick:()=>{a.queueDialog((t=>[NR,{session:a,handleClose:()=>{t()},changeManager:s,sourceFeature:e,sourceAssemblyId:u,internetAccount:c}]))}},{label:"Copy features and annotations",disabled:d,onClick:()=>{a.queueDialog((t=>[TR,{session:a,handleClose:()=>{t()},changeManager:s,sourceFeature:e,sourceAssemblyId:l}]))}},{label:"Delete feature",disabled:!f,onClick:()=>{a.queueDialog((t=>[jR,{session:a,handleClose:()=>{t()},changeManager:s,sourceFeature:e,sourceAssemblyId:l,selectedFeature:o,setSelectedFeature:i}]))}},{label:"Edit attributes",disabled:d,onClick:()=>{a.queueDialog((t=>[rN,{session:a,handleClose:()=>{t()},changeManager:s,sourceFeature:e,sourceAssemblyId:l}]))}}),"mRNA"===e.type&&n.isSessionModelWithWidgets(a)&&h.push({label:"Edit transcript details",onClick:()=>{const n=a.addWidget("ApolloTranscriptDetails","apolloTranscriptDetails",{feature:e,assembly:l,changeManager:s,refName:t.refName});a.showWidget(n)}})}return h}(t,i[0],o,a,c,s,r)}function uP(e){let t=e;for(;t.parent;)t=t.parent;return t}const cP=p.observer((function e({depth:t,feature:n,isHovered:r,isSelected:o,model:i,selectedFeatureClass:a,setContextMenu:s}){const{classes:u}=aP(),{apolloHover:c,changeManager:l,selectedFeature:f,session:d,tabularEditor:h}=i,{featureCollapsed:p,filterText:m}=h,{_id:g,children:y,max:v,min:_,strand:b,type:w}=n,S=!p.get(g),x=e=>{d.notify(e.message,"error")};return M.default.createElement(M.default.Fragment,null,M.default.createElement("tr",{onMouseEnter:e=>{i.setApolloHover({feature:n,topLevelFeature:uP(n),glyph:iP(uP(n))})},className:u.feature+(o?` ${a}`:r?` ${u.hoveredFeature}`:""),onClick:e=>{e.stopPropagation(),i.setSelectedFeature(n)},onContextMenu:e=>(e.preventDefault(),s({position:{left:e.clientX+2,top:e.clientY-6},items:sP(i,n)}),!1)},M.default.createElement("td",{style:{whiteSpace:"nowrap",borderLeft:2*t+"em solid transparent"}},y?.size?M.default.createElement("div",{onClick:e=>{e.stopPropagation(),h.setFeatureCollapsed(g,S)},className:u.arrow+(S?` ${u.arrowExpanded}`:"")},"❯"):null,M.default.createElement("div",{className:u.typeContent},M.default.createElement(RR,{session:d,ontologyName:"Sequence Ontology",style:{width:170},value:w,filterTerms:AR,fetchValidTerms:lP.bind(null,n),renderInput:e=>M.default.createElement("div",{ref:e.InputProps.ref},M.default.createElement("input",{type:"text",...e.inputProps,className:u.typeInputElement,style:{width:170}}),e.error?M.default.createElement("div",{className:u.typeErrorMessage},e.errorMessage??"unknown error"):null),onChange:(e,t)=>{t&&function(e,t,n,r){const o=t._id,i=new nr.TypeChange({typeName:"TypeChange",changedIds:[o],featureId:o,oldType:String(n),newType:String(r),assembly:t.assemblyId});return e.submit(i)}(l,n,e,t).catch(x)}}))),M.default.createElement("td",null,M.default.createElement(xI,{initialValue:_+1,notifyError:x,onChangeCommitted:e=>function(e,t,n,r){const o=t._id,i=new nr.LocationStartChange({typeName:"LocationStartChange",changedIds:[o],featureId:o,oldStart:n,newStart:r,assembly:t.assemblyId});return e.submit(i)}(l,n,_,e-1)})),M.default.createElement("td",null,M.default.createElement(xI,{initialValue:v,notifyError:x,onChangeCommitted:e=>function(e,t,n,r){const o=t._id,i=new nr.LocationEndChange({typeName:"LocationEndChange",changedIds:[o],featureId:o,oldEnd:n,newEnd:r,assembly:t.assemblyId});return e.submit(i)}(l,n,v,e)})),M.default.createElement("td",null,1===b?"+":-1===b?"-":void 0),M.default.createElement("td",null,M.default.createElement(wI,{filterText:m,feature:n}))),S&&y?[...y.entries()].filter((e=>{if(!m)return!0;const[,t]=e;return JSON.stringify(t).includes(m)})).map((([n,r])=>M.default.createElement(e,{isHovered:c?.feature._id===r._id,isSelected:f?._id===r._id,selectedFeatureClass:a,key:n,depth:(t||0)+1,feature:r,model:i,setContextMenu:s}))):null)}));async function lP(e,t,n){const{parent:r}=e;if(r){const e=(await t.getTermsWithLabelOrSynonym(r.type,{includeSubclasses:!1})).filter(AR);if(e.length>0)return await t.getClassesThat("part_of",e)}}const fP=m.makeStyles()((e=>({scrollableTable:{width:"100%",height:"100%",th:{position:"sticky",top:0,zIndex:2,textAlign:"left",background:e.palette.background.paper,paddingTop:"3.2em"},td:{whiteSpace:"normal"}},selectedFeature:{backgroundColor:e.palette.action.selected}}))),dP=p.observer((function({model:e}){const{apolloHover:t,seenFeatures:n,selectedFeature:r,tabularEditor:o}=e,i=c.useTheme(),{classes:a}=fP(),s=d.useRef(null),[u,l]=d.useState(null),{filterText:f}=o;return d.useEffect((()=>{const e=s.current;if(e&&r){const t=e.querySelector(`.${a.selectedFeature}`);if(t){const n=e.scrollTop,r=t.offsetTop-25;r>n&&r<n+e.offsetHeight||e.scroll({top:r-40,behavior:"smooth"})}}}),[r,n,a.selectedFeature]),M.default.createElement("div",{ref:s,style:{width:"100%",overflowY:"auto",height:"100%"}},M.default.createElement("table",{className:a.scrollableTable},M.default.createElement("thead",null,M.default.createElement("tr",null,M.default.createElement("th",null,"Type"),M.default.createElement("th",null,"Start"),M.default.createElement("th",null,"End"),M.default.createElement("th",null,"Strand"),M.default.createElement("th",null,"Attributes"))),M.default.createElement("tbody",null,[...n.entries()].filter((e=>{if(!f)return!0;const[,t]=e;return JSON.stringify(t).includes(f)})).sort(((e,t)=>e[1].min-t[1].min)).map((([n,o])=>M.default.createElement(cP,{key:n,isSelected:r?._id===n,isHovered:t?.feature._id===n,selectedFeatureClass:a.selectedFeature,feature:o,model:e,depth:0,setContextMenu:l}))))),M.default.createElement(h.Menu,{open:Boolean(u),onMenuItemClick:(e,t)=>{t(),l(null)},onClose:()=>{l(null)},TransitionProps:{onExit:()=>{l(null)}},style:{zIndex:i.zIndex.tooltip},menuItems:u?.items??[],anchorReference:"anchorPosition",anchorPosition:u?.position}))}));var hP={},pP=Ju.exports;Object.defineProperty(hP,"__esModule",{value:!0});var mP=hP.default=void 0;mP=hP.default=(0,pP(Ku).default)((0,N.default.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Clear");var gP={},yP=Ju.exports;Object.defineProperty(gP,"__esModule",{value:!0});var vP=gP.default=void 0;vP=gP.default=(0,yP(Ku).default)((0,N.default.jsx)("path",{d:"M7.41 18.59 8.83 20 12 16.83 15.17 20l1.41-1.41L12 14l-4.59 4.59zm9.18-13.18L15.17 4 12 7.17 8.83 4 7.41 5.41 12 10l4.59-4.59z"}),"UnfoldLess");const _P=m.makeStyles()({toolbar:{width:"100%",display:"flex",paddingRight:"2em",flexDirection:"row",justifyContent:"space-between",position:"absolute",zIndex:4},filterText:{}}),bP=p.observer((function({model:e}){const t=e.tabularEditor,{classes:n}=_P();return M.default.createElement("div",{className:n.toolbar},M.default.createElement(c.Tooltip,{title:"Collapse all"},M.default.createElement(c.IconButton,{"aria-label":"collapse",sx:{marginTop:0},onClick:t.collapseAllFeatures},M.default.createElement(vP,null))),M.default.createElement(c.TextField,{className:n.filterText,label:"Filter features",value:t.filterText,sx:{marginTop:0},variant:"outlined",onChange:e=>{t.setFilterText(e.target.value)},InputProps:{endAdornment:M.default.createElement(c.InputAdornment,{position:"end"},M.default.createElement(c.IconButton,{onClick:()=>{t.clearFilterText()}},M.default.createElement(mP,null)))}}))}));function wP(e){e.stopPropagation()}const SP=p.observer((function({model:e}){return e.tabularEditor.isShown?M.default.createElement("div",{onMouseDown:wP,onClick:wP,style:{width:"100%",height:"100%",position:"relative"}},M.default.createElement(bP,{model:e}),M.default.createElement(dP,{model:e})):null})),xP=u.types.model("TabularEditor",{isShown:!0,featureCollapsed:u.types.map(u.types.boolean),filterText:""}).actions((e=>({setFeatureCollapsed(t,n){e.featureCollapsed.set(t,n)},setFilterText(t){e.filterText=t},clearFilterText(){e.filterText=""},collapseAllFeatures(){const t=u.getParent(e);for(const[n]of t.seenFeatures.entries())e.featureCollapsed.set(n,!0)},togglePane(){e.isShown=!e.isShown},hidePane(){e.isShown=!1},showPane(){e.isShown=!0}})));function kP(e,t){return function(e,t){const i=function(e,t){return function(e,t){const i=function(e,t){return function(e,t){const i=function(e,t){return function(e,t){const i=function(e,t){return o.BaseDisplay.named("BaseLinearApolloDisplay").props({type:u.types.literal("LinearApolloDisplay"),configuration:r.ConfigurationReference(t),graphical:!0,table:!1,heightPreConfig:u.types.maybe(u.types.refinement("displayHeight",u.types.number,(e=>e>=20)))}).views((e=>{const{configuration:t,renderProps:n}=e;return{renderProps:()=>({...n(),...k.getParentRenderProps(e),config:t.renderer})}})).volatile((()=>({scrollTop:0}))).views((e=>({get lgv(){return n.getContainingView(e)},get height(){return e.heightPreConfig?e.heightPreConfig:e.graphical&&e.table?500:e.graphical?200:300}}))).views((e=>({get rendererTypeName(){return e.configuration.renderer.type},get session(){return n.getSession(e)},get regions(){return e.lgv.dynamicBlocks.contentBlocks.map((({assemblyName:e,end:t,refName:n,start:r})=>({assemblyName:e,refName:n,start:Math.round(r),end:Math.round(t)})))},regionCannotBeRendered(){if(e.lgv&&e.lgv.bpPerPx>=200)return"Zoom in to see annotations"}}))).views((e=>({get apolloInternetAccount(){const[t]=e.regions,{internetAccounts:n}=u.getRoot(e),{assemblyName:o}=t,{assemblyManager:i}=e.session,a=i.get(o);if(!a)throw new Error(`No assembly found with name ${o}`);const{internetAccountConfigId:s}=r.getConf(a,["sequence","metadata"]);return n.find((e=>r.getConf(e,"internetAccountId")===s))},get changeManager(){return e.session.apolloDataStore.changeManager},getAssemblyId(t){const{assemblyManager:n}=e.session,r=n.get(t);if(!r)throw new Error(`Could not find assembly named ${t}`);return r.name},get selectedFeature(){return e.session.apolloSelectedFeature}}))).actions((e=>({setScrollTop(t){e.scrollTop=t},setHeight:t=>(e.heightPreConfig=Math.max(t,20),e.height),resizeHeight(t){const n=e.height;return this.setHeight(e.height+t)-n},showGraphicalOnly(){e.graphical=!0,e.table=!1},showTableOnly(){e.graphical=!1,e.table=!0},showGraphicalAndTable(){e.graphical=!0,e.table=!0}}))).views((e=>{const{trackMenuItems:t}=e;return{trackMenuItems(){const{graphical:n,table:r}=e;return[...t(),{type:"subMenu",label:"Appearance",subMenu:[{label:"Show graphical display",type:"radio",checked:n&&!r,onClick:()=>{e.showGraphicalOnly()}},{label:"Show table display",type:"radio",checked:r&&!n,onClick:()=>{e.showTableOnly()}},{label:"Show both graphical and table display",type:"radio",checked:r&&n,onClick:()=>{e.showGraphicalAndTable()}}]}]}}})).actions((e=>({setSelectedFeature(t){e.session.apolloSetSelectedFeature(t)},afterAttach(){u.addDisposer(e,s.autorun((()=>{e.lgv.initialized&&!e.regionCannotBeRendered()&&(e.session.apolloDataStore.loadFeatures(e.regions),e.lgv.bpPerPx<=3&&e.session.apolloDataStore.loadRefSeq(e.regions))}),{name:"LinearApolloDisplayLoadFeatures",delay:1e3}))}})))}(0,t);return i.named("LinearApolloDisplayLayouts").props({featuresMinMaxLimit:5e5}).volatile((()=>({seenFeatures:s.observable.map()}))).views((e=>({get featuresMinMax(){const{assemblyManager:t}=e.session;return e.lgv.displayedRegions.map((r=>{const o=t.get(r.assemblyName);let i,a;const{end:s,refName:u,start:c}=r;for(const[,t]of e.seenFeatures)u!==o?.getCanonicalRefName(t.refSeq)||!n.doesIntersect2(c,s,t.min,t.max)||t.length>e.featuresMinMaxLimit||(void 0===i&&({min:i}=t),void 0===a&&({max:a}=t),t.minWithChildren<i&&({min:i}=t),t.maxWithChildren>a&&({max:a}=t));if(void 0!==i&&void 0!==a)return[i,a]}))}}))).actions((e=>({addSeenFeature(t){e.seenFeatures.set(t._id,t)},deleteSeenFeature(t){e.seenFeatures.delete(t)}}))).views((e=>({get featureLayouts(){const{assemblyManager:t}=e.session;return e.lgv.displayedRegions.map(((r,o)=>{const i=t.get(r.assemblyName),a=new Map,s=e.featuresMinMax[o];if(!s)return a;const[c,l]=s,f=[],{end:d,refName:h,start:p}=r;for(const[t,r]of e.seenFeatures.entries()){if(!u.isAlive(r)){e.deleteSeenFeature(t);continue}if(h!==i?.getCanonicalRefName(r.refSeq)||!n.doesIntersect2(p,d,r.min,r.max))continue;const o=iP(r).getRowCount(r,e.lgv.bpPerPx);let s=0,m=!1;for(;!m;){let e=f.slice(s,s+o);if(e.length<o){for(let t=0;t<o-e.length;t++){const e=f.length;f[e]=Array.from({length:l-c}),a.set(e,[])}e=f.slice(s,s+o)}if(e.map((e=>{const t=r.max-r.min==0?r.min+1:r.max;let n=r.min-c,o=t-c;return r.min-c<0&&(n=0,o=t-r.min),e.slice(n,o).some(Boolean)})).some(Boolean))s+=1;else{for(let e=s;e<s+o;e++){let t=r.min-c,n=r.max-c;r.min-c<0&&(t=0,n=r.max-r.min),f[e].fill(!0,t,n);const o=a.get(e);o?.push([e-s,r])}m=!0}}}return a}))},getFeatureLayoutPosition(e){const{featureLayouts:t}=this;for(const[n,r]of t.entries())for(const[t,o]of r)for(const[r,i]of o)if(0===r){if(e._id===i._id)return{layoutIndex:n,layoutRow:t,featureRow:r};if(i.hasDescendant(e._id)){const r=iP(i).getRowForFeature(i,e);if(void 0!==r)return{layoutIndex:n,layoutRow:t,featureRow:r}}}}}))).views((e=>({get highestRow(){return Math.max(0,...e.featureLayouts.map((e=>Math.max(...e.keys()))))}}))).actions((e=>({afterAttach(){u.addDisposer(e,s.autorun((()=>{if(e.lgv.initialized&&!e.regionCannotBeRendered())for(const t of e.regions){const r=e.session.apolloDataStore.assemblies.get(t.assemblyName),o=r?.getByRefName(t.refName),i=o?.features;if(i)for(const[,r]of i)n.doesIntersect2(t.start,t.end,r.min,r.max)&&!e.seenFeatures.has(r._id)&&e.addSeenFeature(r)}}),{name:"LinearApolloDisplaySetSeenFeatures",delay:1e3}))}})))}(0,t).named("LinearApolloDisplayRendering").props({sequenceRowHeight:15,apolloRowHeight:20,detailsMinHeight:200,detailsHeight:200,lastRowTooltipBufferHeight:40,isShown:!0}).volatile((()=>({canvas:null,overlayCanvas:null,collaboratorCanvas:null,seqTrackCanvas:null,seqTrackOverlayCanvas:null,theme:void 0}))).views((e=>({get featuresHeight(){return(e.highestRow+1)*e.apolloRowHeight+e.lastRowTooltipBufferHeight}}))).actions((e=>({toggleShown(){e.isShown=!e.isShown},setDetailsHeight(t){e.detailsHeight=e.isShown?Math.max(Math.min(t,e.height-100),Math.min(e.height,e.detailsMinHeight)):t},setCanvas(t){e.canvas=t},setOverlayCanvas(t){e.overlayCanvas=t},setCollaboratorCanvas(t){e.collaboratorCanvas=t},setSeqTrackCanvas(t){e.seqTrackCanvas=t},setSeqTrackOverlayCanvas(t){e.seqTrackOverlayCanvas=t},setTheme(t){e.theme=t},afterAttach(){u.addDisposer(e,s.autorun((()=>{if(!e.lgv.initialized||e.regionCannotBeRendered())return;const t=e.collaboratorCanvas?.getContext("2d");if(t){t.clearRect(0,0,e.lgv.dynamicBlocks.totalWidthPx,e.featuresHeight);for(const n of e.session.collaborators){const{locations:r}=n;if(0===r.length)continue;let o=0;for(const i of e.lgv.displayedRegions){for(const a of r){if(a.refSeq!==i.refName)continue;const{end:r,refSeq:s,start:u}=a,c=e.lgv.bpToPx({refName:s,coord:u,regionNumber:o});if(!c)continue;const l=c.offsetPx-e.lgv.offsetPx,f=(r-u)/e.lgv.bpPerPx;t.fillStyle="rgba(0,255,0,.2)",t.fillRect(l,1,f,100),t.fillStyle="black",t.fillText(n.name,l+1,11,f-2)}o++}}}}),{name:"LinearApolloDisplayRenderCollaborators"}))}})))}(0,t);return i.actions((e=>({afterAttach(){u.addDisposer(e,s.autorun((async()=>{if(!e.lgv.initialized||e.regionCannotBeRendered())return;if(e.lgv.bpPerPx>3)return;const t=e.seqTrackCanvas?.getContext("2d");if(!t)return;t.clearRect(0,0,e.lgv.dynamicBlocks.totalWidthPx,e.lgv.bpPerPx<=1?125:95);const r=e.lgv.bpPerPx<=1?[3,2,1,0,0,-1,-2,-3]:[3,2,1,-1,-2,-3];let o=0;for(const n of r){const r=e.theme?.palette.framesCDS.at(n)?.main;r&&(t.fillStyle=r,t.fillRect(0,o,e.lgv.dynamicBlocks.totalWidthPx,e.sequenceRowHeight)),o+=e.sequenceRowHeight}for(const[r,o]of e.regions.entries()){const i=e.session.apolloDataStore.getBackendDriver(o.assemblyName);if(!i)throw new Error("Failed to get the backend driver");const{seq:a}=await i.getSequence(o);if(!a)return;for(const[i,s]of[...a].entries()){const u=(e.lgv.bpToPx({refName:o.refName,coord:o.start+i,regionNumber:r})?.offsetPx??0)-e.lgv.offsetPx,c=3/e.lgv.bpPerPx,l=e.lgv.displayedRegions[r].reversed?u-c:u;for(let n=2;n>=0;n--)(o.start+i)%3===n&&AI(t,e.lgv.bpPerPx,l,e.sequenceRowHeight*(2-n),c,e.sequenceRowHeight,a,i,!1);if(e.lgv.bpPerPx<=1){const a=(e.lgv.bpToPx({refName:o.refName,coord:o.start+i,regionNumber:r})?.offsetPx??0)-e.lgv.offsetPx,u=1/e.lgv.bpPerPx,c=e.lgv.displayedRegions[r].reversed?a-u:a;t.beginPath(),t.fillStyle=kI(s,e.theme),t.rect(c,3*e.sequenceRowHeight,u,e.sequenceRowHeight),t.fill(),e.lgv.bpPerPx<=.1&&(t.stroke(),EI(t,c,u,s,3*e.sequenceRowHeight));const l=n.revcom(s);t.beginPath(),t.fillStyle=kI(l,e.theme),t.rect(c,4*e.sequenceRowHeight,u,e.sequenceRowHeight),t.fill(),e.lgv.bpPerPx<=.1&&(t.stroke(),EI(t,c,u,l,4*e.sequenceRowHeight))}for(let n=0;n<=2;n++)(o.start+i)%3===n&&AI(t,e.lgv.bpPerPx,l,e.sequenceRowHeight*((e.lgv.bpPerPx<=1?5:3)+n),c,e.sequenceRowHeight,a,i,!0)}}}),{name:"LinearApolloDisplayRenderSequence"}))}})))}(0,t).actions((e=>({afterAttach(){u.addDisposer(e,s.autorun((()=>{const{canvas:t,featureLayouts:r,featuresHeight:o,lgv:i}=e;if(!i.initialized||e.regionCannotBeRendered())return;const{displayedRegions:a,dynamicBlocks:s}=i,u=t?.getContext("2d");if(u){u.clearRect(0,0,s.totalWidthPx,o);for(const[t,o]of r.entries()){const r=a[t];for(const[i,a]of o.entries())for(const[o,s]of a)o>0||n.doesIntersect2(r.start,r.end,s.min,s.max)&&iP(s).draw(u,s,i,e,t)}}}),{name:"LinearApolloDisplayRenderFeatures"}))}})))}(0,t);return i.named("LinearApolloDisplayMouseEvents").volatile((()=>({apolloDragging:null,cursor:void 0,apolloHover:void 0}))).views((e=>({getMousePosition(t){const n=function(e,t){const n=e.currentTarget,{clientX:r,clientY:o}=e,{left:i,top:a}=n.getBoundingClientRect(),s=r-i,u=o-a,{coord:c,index:l,refName:f}=t.pxToBp(s);return{x:s,y:u,refName:f,bp:c,regionNumber:l}}(t,e.lgv),{bp:r,regionNumber:o,y:i}=n,a=Math.floor(i/e.apolloRowHeight),s=e.featureLayouts[o].get(a);if(!s)return n;const u=s.find((e=>r>=e[1].min&&r<=e[1].max));if(!u)return n;const[c,l]=u,f=iP(l),d=f.getFeatureFromLayout(l,r,c);return d?{...n,featureAndGlyphUnderMouse:{feature:d,topLevelFeature:l,glyph:f}}:n}}))).actions((e=>({continueDrag(t,n){if(!e.apolloDragging)throw new Error("continueDrag() called with no current drag in progress");n.stopPropagation(),e.apolloDragging={...e.apolloDragging,current:t}},setDragging(t){e.apolloDragging=t??null}}))).actions((e=>({setApolloHover(t){e.apolloHover=t},setCursor(t){e.cursor!==t&&(e.cursor=t)}}))).actions((()=>({onClick(){}})))}(0,t).actions((e=>({afterAttach(){u.addDisposer(e,s.autorun((()=>{if(!e.lgv.initialized||e.regionCannotBeRendered())return;const t=e.seqTrackOverlayCanvas?.getContext("2d");if(!t)return;t.clearRect(0,0,e.lgv.dynamicBlocks.totalWidthPx,e.lgv.bpPerPx<=1?125:95);const{apolloHover:r,lgv:o,regions:i,sequenceRowHeight:a,theme:s}=e;if(!r)return;const{feature:u}=r;for(const[e,r]of i.entries())if("CDS"===u.type){const i=u.parent;if(!i)continue;const c=i.cdsLocations.find((e=>u.min===e.at(0)?.min&&u.max===e.at(-1)?.max));if(!c)continue;for(const i of c){const c=OI(n.getFrame(i.min,i.max,u.strand??1,i.phase),o.bpPerPx),l=(o.bpToPx({refName:r.refName,coord:i.min,regionNumber:e})?.offsetPx??0)-o.offsetPx,f=(i.max-i.min)/o.bpPerPx;NI(t,s,o.displayedRegions[e].reversed?l-f:l,a,c,f)}}else{const n=RI(u.strand,o.bpPerPx),i=(o.bpToPx({refName:r.refName,coord:u.min,regionNumber:e})?.offsetPx??0)-o.offsetPx,c=u.length/o.bpPerPx;NI(t,s,o.displayedRegions[e].reversed?i-c:i,a,n,c)}}),{name:"LinearApolloDisplayRenderSeqHighlight"}))}})))}(0,t);return i.views((e=>({contextMenuItems(t){const{apolloHover:n}=e;if(!n||!t)return[];const{topLevelFeature:r}=n;return iP(r).getContextMenuItems(e)}}))).actions((e=>({startDrag(t,n,r){e.apolloDragging={start:t,current:t,feature:n,edge:r}},endDrag(){if(!e.apolloDragging)throw new Error("endDrag() called with no current drag in progress");const{current:t,edge:n,feature:r,start:o}=e.apolloDragging;if(Math.abs(t.x-o.x)<=4)return e.setDragging(),void e.setCursor();const{displayedRegions:i}=e.lgv,a=e.getAssemblyId(i[o.regionNumber].assemblyName);let s;if("max"===n){const e=r._id;s=new nr.LocationEndChange({typeName:"LocationEndChange",changedIds:[e],featureId:e,oldEnd:r.max,newEnd:t.bp,assembly:a})}else{const e=r._id;s=new nr.LocationStartChange({typeName:"LocationStartChange",changedIds:[e],featureId:e,oldStart:r.min,newStart:t.bp,assembly:a})}e.changeManager.submit(s),e.setDragging(),e.setCursor()}}))).actions((e=>({onMouseDown(t){const n=e.getMousePosition(t);CI(n)&&n.featureAndGlyphUnderMouse.glyph.onMouseDown(e,n,t)},onMouseMove(t){const n=e.getMousePosition(t);if(e.apolloDragging)return e.setCursor("col-resize"),void e.continueDrag(n,t);CI(n)?n.featureAndGlyphUnderMouse.glyph.onMouseMove(e,n,t):(e.setApolloHover(),e.setCursor())},onMouseLeave(t){e.setDragging(),e.setApolloHover();const n=e.getMousePosition(t);CI(n)&&n.featureAndGlyphUnderMouse.glyph.onMouseLeave(e,n,t)},onMouseUp(t){const n=e.getMousePosition(t);CI(n)&&n.featureAndGlyphUnderMouse.glyph.onMouseUp(e,n,t),e.apolloDragging&&e.endDrag()}}))).actions((e=>({afterAttach(){u.addDisposer(e,s.autorun((()=>{if(!e.lgv.initialized||e.regionCannotBeRendered())return;const t=e.overlayCanvas?.getContext("2d");if(!t)return;t.clearRect(0,0,e.lgv.dynamicBlocks.totalWidthPx,e.featuresHeight);const{apolloDragging:n,apolloHover:r}=e;if(!r)return;const{glyph:o}=r;o.drawHover(e,t),o.drawTooltip(e,t),n&&iP(n.feature.topLevelFeature).drawDragPreview(e,t)}),{name:"LinearApolloDisplayRenderMouseoverAndDrag"}))}})))}(0,t).props({tabularEditor:u.types.optional(xP,{})}).named("LinearApolloDisplay")}var EP={},AP=Ju.exports;Object.defineProperty(EP,"__esModule",{value:!0});var CP=EP.default=void 0;CP=EP.default=(0,AP(Ku).default)((0,N.default.jsx)("path",{d:"m12 8-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"}),"ExpandLess");var OP={},RP=Ju.exports;Object.defineProperty(OP,"__esModule",{value:!0});var NP=OP.default=void 0;NP=OP.default=(0,RP(Ku).default)((0,N.default.jsx)("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"ExpandMore");var IP={},PP=Ju.exports;Object.defineProperty(IP,"__esModule",{value:!0});var TP=IP.default=void 0;TP=IP.default=(0,PP(Ku).default)((0,N.default.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"}),"Error");const MP=m.makeStyles()((e=>({canvasContainer:{position:"relative",left:0},canvas:{position:"absolute",left:0},ellipses:{textOverflow:"ellipsis",overflow:"hidden"},avatar:{position:"absolute",color:e.palette.warning.light,backgroundColor:e.palette.warning.contrastText}}))),jP=p.observer((function(e){const t=c.useTheme(),{model:r}=e,{apolloRowHeight:o,contextMenuItems:i,cursor:a,featuresHeight:s,isShown:u,onMouseDown:l,onMouseLeave:f,onMouseMove:p,onMouseUp:m,regionCannotBeRendered:g,session:y,setCanvas:v,setCollaboratorCanvas:_,setOverlayCanvas:b,setSeqTrackCanvas:w,setSeqTrackOverlayCanvas:S,setTheme:x}=r,{classes:k}=MP(),E=n.getContainingView(r);d.useEffect((()=>{x(t)}),[t,x]);const[A,C]=d.useState(),[O,R]=d.useState([]),N=g();if(!u)return null;const{assemblyManager:I}=y;return M.default.createElement(M.default.Fragment,null,E.bpPerPx<=3?M.default.createElement("div",{className:k.canvasContainer,style:{width:E.dynamicBlocks.totalWidthPx,height:E.bpPerPx<=1?125:95}},M.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),w(e)},width:E.dynamicBlocks.totalWidthPx,height:E.bpPerPx<=1?125:95,className:k.canvas,"data-testid":"seqTrackCanvas"}),M.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),S(e)},width:E.dynamicBlocks.totalWidthPx,height:E.bpPerPx<=1?125:95,className:k.canvas,"data-testid":"seqTrackOverlayCanvas"})):null,M.default.createElement("div",{className:k.canvasContainer,style:{width:E.dynamicBlocks.totalWidthPx,height:s},onContextMenu:e=>{if(e.preventDefault(),O.length>0)R([]);else{const t=[e.clientX,e.clientY];C(t),R(i(t))}}},N?M.default.createElement(c.Alert,{severity:"warning",classes:{message:k.ellipses}},M.default.createElement(c.Tooltip,{title:N},M.default.createElement("div",null,N))):M.default.createElement(M.default.Fragment,null,M.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),_(e)},width:E.dynamicBlocks.totalWidthPx,height:s,className:k.canvas,"data-testid":"collaboratorCanvas"}),M.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),v(e)},width:E.dynamicBlocks.totalWidthPx,height:s,className:k.canvas,"data-testid":"canvas"}),M.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),b(e)},width:E.dynamicBlocks.totalWidthPx,height:s,onMouseMove:p,onMouseLeave:f,onMouseDown:l,onMouseUp:m,className:k.canvas,style:{cursor:a??"default"},"data-testid":"overlayCanvas"}),E.displayedRegions.flatMap(((e,t)=>{const i=I.get(e.assemblyName);return[...y.apolloDataStore.checkResults.values()].filter((t=>i?.isValidRefName(t.refSeq)&&i.getCanonicalRefName(t.refSeq)===e.refName&&n.doesIntersect2(e.start,e.end,t.start,t.end))).map((n=>{const i=(E.bpToPx({refName:e.refName,coord:n.start,regionNumber:t})?.offsetPx??0)-E.offsetPx,[a]=n.ids;if(!a)return null;const{topLevelFeature:s}=a,u=parent?r.getFeatureLayoutPosition(s)?.layoutRow??0:0;return M.default.createElement(c.Tooltip,{key:n._id,title:n.message},M.default.createElement(c.Avatar,{className:k.avatar,style:{top:u*o,left:i,height:o,width:o}},M.default.createElement(TP,null)))}))})),M.default.createElement(h.Menu,{open:O.length>0,onMenuItemClick:(e,t)=>{t(),R([])},onClose:()=>{R([])},TransitionProps:{onExit:()=>{R([])}},anchorReference:"anchorPosition",anchorPosition:A?{top:A[1],left:A[0]}:void 0,style:{zIndex:t.zIndex.tooltip},menuItems:O}))))})),FP=p.observer((function({model:e}){const{height:t}=e;return M.default.createElement("div",{style:{position:"absolute",left:0,top:t/2,width:"100%"}},M.default.createElement("hr",{style:{margin:0,top:0,color:"black"}}))})),LP=m.makeStyles()((e=>({shading:{background:c.alpha(e.palette.primary.main,.2),overflowY:"scroll",overflowX:"hidden"},details:{background:e.palette.background.paper},accordionControl:{height:12,width:"100%","&:hover":{background:e.palette.action.hover},display:"flex",alignItems:"center",justifyContent:"center"},accordionRoot:{background:e.palette.divider},resizeHandle:{width:"100%",height:4,position:"absolute",cursor:"row-resize",zIndex:100},expandIcon:{},title:{userSelect:"none"},alertContainer:{display:"flex",alignItems:"center",justifyContent:"center"}}))),DP=({onResize:e})=>{const{classes:t}=LP(),n=d.useCallback((t=>{t.stopPropagation(),t.preventDefault(),e(t.movementY)}),[e]),r=d.useCallback((e=>{e.stopPropagation(),e.preventDefault(),globalThis.removeEventListener("mousemove",n),globalThis.removeEventListener("mouseup",r),globalThis.removeEventListener("mouseleave",r)}),[n]);return M.default.createElement("div",{onMouseDown:e=>{e.stopPropagation(),globalThis.addEventListener("mousemove",n),globalThis.addEventListener("mouseup",r),globalThis.addEventListener("mouseleave",r)},onClick:e=>{e.stopPropagation(),e.preventDefault()},className:t.resizeHandle})},qP=p.observer((function({onClick:e,onResize:t,open:n,title:r}){const{classes:o}=LP();return M.default.createElement("div",{className:o.accordionRoot},n&&t?M.default.createElement(DP,{onResize:t}):null,M.default.createElement("div",{className:o.accordionControl,onClick:e},M.default.createElement(n?CP:NP,{className:o.expandIcon}),r?M.default.createElement(c.Typography,{className:o.title,variant:"caption",component:"span"},r):null))})),BP=p.observer((function({model:e,...t}){const r=n.getSession(e),{ontologyManager:o}=r.apolloDataStore,{featureTypeOntology:i}=o,a=i?.dataStore,{classes:s}=LP(),{detailsHeight:u,graphical:l,height:f,isShown:h,selectedFeature:p,table:m,tabularEditor:g,toggleShown:y}=e,v=d.useRef(null);d.useEffect((()=>{!function(e,t){const{apolloRowHeight:n,selectedFeature:r}=e;if(t.current&&r){const o=e.getFeatureLayoutPosition(r);o&&t.current.scroll({top:(o.layoutRow+o.featureRow)*n,behavior:"smooth"})}}(e,v)}),[e,p]);const _=t=>{e.setDetailsHeight(u-t)};if(!a)return M.default.createElement("div",{className:s.alertContainer},M.default.createElement(c.Alert,{severity:"error"},"Could not load feature type ontology."));if(l&&m){const n=g.isShown?u:0,r=h?f-u-24:0;return M.default.createElement("div",{style:{height:f}},M.default.createElement(qP,{open:h,title:"Graphical",onClick:y}),M.default.createElement("div",{className:s.shading,ref:v,style:{height:r}},M.default.createElement(jP,{model:e,...t})),M.default.createElement(qP,{title:"Table",open:g.isShown,onClick:g.togglePane,onResize:_}),M.default.createElement("div",{className:s.details,style:{height:n}},M.default.createElement(SP,{model:e})))}return l?M.default.createElement("div",{className:s.shading,ref:v,style:{height:f}},M.default.createElement(jP,{model:e,...t})):M.default.createElement("div",{className:s.details,style:{height:f}},M.default.createElement(SP,{model:e}))}));var UP={},zP=Ju.exports;Object.defineProperty(UP,"__esModule",{value:!0});var GP=UP.default=void 0;GP=UP.default=(0,zP(Ku).default)((0,N.default.jsx)("path",{d:"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7l-4-4zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm3-10H5V5h10v4z"}),"Save");const HP=u.types.model("JobsManager",{}).views((e=>({get jobStatusWidget(){const{widgets:t}=n.getSession(e);let r=t.get("JobsList");return r||(r=n.getSession(e).addWidget("JobsListWidget","JobsList")),r}}))).actions((e=>({update(t,n,r){e.jobStatusWidget.updateJobStatusMessage(t,n),r&&e.jobStatusWidget.updateJobProgressPct(t,r)},abortJob(t,r){const o=n.getSession(e);if(n.isSessionModelWithWidgets(o)){o.showWidget(e.jobStatusWidget),e.jobStatusWidget.updateJobStatusMessage(t,r??"Aborted unexpectedly");const n=e.jobStatusWidget.jobs.findIndex((e=>e.name===t));e.jobStatusWidget.addAbortedJob({...e.jobStatusWidget.jobs[n]}),e.jobStatusWidget.removeJob(t),o.notify("Job aborted","info")}},runJob(t){const r=n.getSession(e);n.isSessionModelWithWidgets(r)&&(r.showWidget(e.jobStatusWidget),e.jobStatusWidget.addJob(t))},done(t){const r=n.getSession(e);n.isSessionModelWithWidgets(r)&&(r.showWidget(e.jobStatusWidget),e.jobStatusWidget.removeJob(t.name),e.jobStatusWidget.addFinishedJob({name:t.name,statusMessage:"All operations successful",progressPct:100,cancelCallback:t.cancelCallback}))}})));class WP{clientStore;constructor(e){this.clientStore=e}}class VP{dataStore;constructor(e){this.dataStore=e}recentChanges=[];async submit(e,t={}){const{addToRecents:r=!0,submitToBackend:o=!0,updateJobsManager:i=!1}=t,a=n.getSession(this.dataStore),s=new AbortController,{jobsManager:u}=n.getSession(this.dataStore),c={name:e.typeName,statusMessage:"Pre-validating",progressPct:0,cancelCallback:()=>{s.abort()}};i&&u.runJob(c);const l=await nr.validationRegistry.frontendPreValidate(e);if(!l.ok){const e=`Pre-validation failed: "${l.resultsMessages}"`;return i&&u.abortJob(c.name,e),void a.notify(e,"error")}try{await e.execute(this.dataStore)}catch(e){return i&&u.abortJob(c.name,String(e)),console.error(e),void a.notify(String(e),"error")}if((await nr.validationRegistry.frontendPostValidate(e,this.dataStore)).ok||await this.revert(e),o){i&&u.update(c.name,"Submitting to driver");const{collaborationServerDriver:n,getBackendDriver:r}=this.dataStore,o=z.isAssemblySpecificChange(e)?r(e.assembly):n;let s;try{s=await o.submitChange(e,t)}catch(t){return i&&u.abortJob(c.name,String(t)),console.error(t),a.notify(String(t),"error"),void await this.revert(e,!1)}if(!s.ok){const t=`Post-validation failed: "${l.resultsMessages}"`;return i&&u.abortJob(c.name,t),a.notify(t,"error"),void await this.revert(e,!1)}e.notification&&a.notify(e.notification,"success")}r&&this.recentChanges.push(e),i&&u.done(c)}async revert(e,t=!0){const n=e.getInverse();return this.submit(n,{submitToBackend:t,addToRecents:!1})}async revertLastChange(){const e=this.recentChanges.pop();if(e)return this.revert(e);n.getSession(this.dataStore).notify("No changes to undo!","warning")}}class $P extends WP{inFlight=new Map;async fetch(e,t,n){return e.getFetcher({locationType:"UriLocation",uri:t.toString()})(t,n)}async searchFeatures(e,t){const n=this.clientStore.getInternetAccount(t[0]),{baseURL:r}=n,o=new URL("features/searchFeatures",r),i=new URLSearchParams({assemblies:t.join(","),term:e});o.search=i.toString();const a=o.toString(),s=await this.fetch(n,a);if(!s.ok){const e=await md(s,"searchFeatures failed");throw new Error(e)}return s.json()}async getFeatures(e){const{assemblyName:t,end:o,refName:i,start:a}=e,{assemblyManager:s}=n.getSession(this.clientStore),u=s.get(t);if(!u)throw new Error(`Could not find assembly with name "${t}"`);const{ids:c}=r.getConf(u,["sequence","metadata"]),l=c[i];if(!l)throw new Error(`Could not find refSeq "${i}"`);const f=this.clientStore.getInternetAccount(t),{baseURL:d}=f,h=new URL("features/getFeatures",d),p=new URLSearchParams({refSeq:l,start:String(a),end:String(o)});h.search=p.toString();const m=h.toString(),g=await this.fetch(f,m);if(!g.ok){const e=await md(g,"getFeatures failed");throw new Error(e)}return this.checkSocket(t,i,f),g.json()}checkSocket(e,t,n){const{socket:r}=n,o=n.retrieveToken(),i=`${e}-${t}`,a=new VP(this.clientStore);r.hasListeners(i)||r.on(i,(async e=>{if(n.setLastChangeSequenceNumber(Number(e.changeSequence)),e.userSessionId!==o&&e.channel===i){const t=z.Change.fromJSON(e.changeInfo);await a.submit(t,{submitToBackend:!1})}}))}async getSequence(e){const t=`${e.refName}:${e.start}-${e.end}`,o=this.inFlight.get(t),{assemblyName:i,end:a,refName:s,start:u}=e,{assemblyManager:c}=n.getSession(this.clientStore),l=c.get(i);if(!l)throw new Error(`Could not find assembly with name "${i}"`);const{ids:f}=r.getConf(l,["sequence","metadata"]),d=f[s];if(!d)throw new Error(`Could not find refSeq "${s}"`);if(o)return{seq:await o,refSeq:d};let h=this.clientStore.assemblies.get(i);h||(h=this.clientStore.addAssembly(i));let p=h.refSeqs.get(d);p||(p=h.addRefSeq(d,s));const m=p.getSequence(u,a);if(m.length===a-u)return{seq:m,refSeq:d};const g=this.clientStore.getInternetAccount(i),{baseURL:y}=g,v=new URL("sequence",y),_=new URLSearchParams({refSeq:d,start:String(u),end:String(a)});v.search=_.toString();const b=v.toString(),w=this.getSeqFromServer(g,b,p,u,a);this.inFlight.set(t,w);const S=await w;return this.checkSocket(i,s,g),this.inFlight.delete(t),{seq:S,refSeq:d}}async getSeqFromServer(e,t,n,r,o){const i=await this.fetch(e,t);if(!i.ok){let e;try{e=await i.text()}catch{e=""}throw new Error(`getSequence failed: ${i.status} (${i.statusText})${e?` (${e})`:""}`)}const a=await i.text();return n.addSequence({sequence:a,start:r,stop:o}),a}async getRefNameAliases(e){const{assemblyManager:t}=n.getSession(this.clientStore);if(!t.get(e))throw new Error(`Could not find assembly with name "${e}"`);const r=this.clientStore.getInternetAccount(e),{baseURL:o}=r,i=new URL("refSeqs",o),a=new URLSearchParams({assembly:e});i.search=a.toString();const s=i.toString(),u=await this.fetch(r,s);if(!u.ok){let e;try{e=await u.text()}catch{e=""}throw new Error(`getRefNameAliases failed: ${u.status} (${u.statusText})${e?` (${e})`:""}`)}return(await u.json()).map((e=>({refName:e.name,aliases:[e._id,...e.aliases],uniqueId:`alias-${e._id}`})))}async getRegions(e){const{assemblyManager:t}=n.getSession(this.clientStore);if(!t.get(e))throw new Error(`Could not find assembly with name "${e}"`);const r=this.clientStore.getInternetAccount(e),{baseURL:o}=r,i=new URL("refSeqs",o),a=new URLSearchParams({assembly:e});i.search=a.toString();const s=i.toString(),u=await this.fetch(r,s);if(!u.ok){let e;try{e=await u.text()}catch{e=""}throw new Error(`getRegions failed: ${u.status} (${u.statusText})${e?` (${e})`:""}`)}return(await u.json()).map((e=>({refName:e.name,start:0,end:e.length})))}getAssemblies(e){const{assemblyManager:t}=n.getSession(this.clientStore);return t.assemblies.filter((t=>{const n=r.getConf(t,["sequence","metadata"]);return!(!(n&&n.apollo&&n.internetAccountConfigId)||e&&n.internetAccountConfigId!==e)}))}async submitChange(e,t={}){const{internetAccountId:n}=t,r=this.clientStore.getInternetAccount("assembly"in e?e.assembly:void 0,n),{baseURL:o}=r,i=new URL("changes",o).href,a=await this.fetch(r,i,{method:"POST",body:JSON.stringify(e.toJSON()),headers:{"Content-Type":"application/json"}});if(!a.ok){const e=await md(a,"submitChange failed");throw new Error(e)}const s=new nr.ValidationResultSet;return a.ok||(s.ok=!1),s}}class JP extends WP{async getFeatures(){return[[],[]]}async getSequence(e){const{assemblyName:t,end:n,refName:r,start:o}=e,i=this.clientStore.assemblies.get(t);if(!i)return{seq:"",refSeq:r};const a=i.refSeqs.get(r);return a?{seq:a.getSequence(o,n),refSeq:r}:{seq:"",refSeq:r}}async getRefNameAliases(e){const t=this.clientStore.assemblies.get(e),n=[];if(!t)return n;for(const[,e]of t.refSeqs)n.push({refName:e.name,aliases:[e._id],uniqueId:`alias-${e._id}`});return n}async getRegions(e){const t=this.clientStore.assemblies.get(e);if(!t)return[];const n=[];for(const[,r]of t.refSeqs)n.push({assemblyName:e,refName:r.name,start:r.sequence[0].start,end:r.sequence[0].stop});return n}getAssemblies(){const{assemblyManager:e}=n.getSession(this.clientStore);return e.assemblies.filter((e=>{const t=r.getConf(e,["sequence","metadata"]);return Boolean(t&&t.apollo&&!t.file&&!t.internetAccountConfigId)}))}async submitChange(e,t={}){const{clientStore:n}=this,{assemblies:r}=n;n.clearCheckResults();for(const[,e]of r)if("InMemoryFileDriver"===e.backendDriverType){const t=await pd(e);n.addCheckResults(t)}return new nr.ValidationResultSet}async searchFeatures(e,t){return[]}}class KP extends WP{async loadAssembly(e){const{assemblyManager:t}=n.getSession(this.clientStore),o=t.get(e);if(!o)throw new Error(`Assembly ${e} not found`);const{file:i}=r.getConf(o,["sequence","metadata"]),a=require("node:fs");return hd(e,await a.promises.readFile(i,"utf8"),this.clientStore)}async getAssembly(e){let t=this.clientStore.assemblies.get(e);return t||(t=await this.loadAssembly(e)),t}async getRefNameAliases(e){const t=await this.getAssembly(e),n=[];for(const[,e]of t.refSeqs)n.push({refName:e.name,aliases:[e._id],uniqueId:`alias-${e._id}`});return n}async getFeatures(e){return await this.getAssembly(e.assemblyName),[[],[]]}async getSequence(e){const{assemblyName:t,end:n,refName:r,start:o}=e,i=(await this.getAssembly(t)).refSeqs.get(r);if(!i)throw new Error(`refSeq ${r} not found in client data store`);return{seq:i.getSequence(o,n),refSeq:r}}async getRegions(e){const t=await this.getAssembly(e),n=[];for(const[,r]of t.refSeqs)n.push({assemblyName:e,refName:r.name,start:r.sequence[0].start,end:r.sequence[0].stop});return n}getAssemblies(){const{assemblyManager:e}=n.getSession(this.clientStore);return e.assemblies.filter((e=>{const t=r.getConf(e,["sequence","metadata"]);return Boolean(t&&t.apollo&&!t.internetAccountConfigId&&t.file)}))}async submitChange(e){if(!z.isAssemblySpecificChange(e))throw new Error(`Cannot use this type of change with local file: "${e.typeName}"`);const{assemblyManager:t}=n.getSession(this.clientStore),o=t.get(e.assembly);if(!o)throw new Error(`Could not find assembly with name "${e.assembly}"`);const{file:i}=r.getConf(o,["sequence","metadata"]),a=this.clientStore.assemblies.get(e.assembly);if(!a)throw new Error(`Could not find assembly in client with name "${e.assembly}"`);const s=new Set(...a.refSeqs.keys()),{checkResults:c}=this.clientStore;for(const e of c.values())s.has(e.refSeq)&&c.delete(e._id);const l=await pd(a);this.clientStore.addCheckResults(l);const f=[{directive:"gff-version",value:"3"}];for(const[,e]of a.refSeqs)f.push({directive:"sequence-region",value:`${e.name} 1 ${e.sequence[0].stop}`});for(const e of a.comments)f.push({comment:e});for(const[,e]of a.refSeqs){const{features:t}=e;for(const[,e]of t)f.push(nr.annotationFeatureToGFF3(u.getSnapshot(e)))}for(const[,e]of a.refSeqs){const[t]=e.sequence,n=nr.splitStringIntoChunks(t.sequence,80).join("\n");f.push({id:e.name,description:e.description,sequence:n})}const d=dd.formatSync(f),h=require("node:fs");return await h.promises.writeFile(i,d,"utf8"),new nr.ValidationResultSet}async searchFeatures(e,t){return[]}}function YP(e,t){const o=new AbortController,{signal:i}=o,a=e.evaluateExtensionPoint("Apollo-extendAnnotationFeature",rI.AnnotationFeatureModel),c=function(e){return u.types.model("ClientDataStore",{typeName:u.types.optional(u.types.literal("Client"),"Client"),assemblies:u.types.map(rI.ApolloAssembly),checkResults:u.types.map(rI.CheckResult),ontologyManager:u.types.optional(xR,{})}).views((t=>({get internetAccounts(){return u.getRoot(t).internetAccounts},get pluginConfiguration(){return u.getRoot(t).jbrowse.configuration.ApolloPlugin},getFeature:n=>u.resolveIdentifier(e,t.assemblies,n)}))).actions((e=>({addAssembly(t,n){const r={_id:t,refSeqs:{}};return n&&(r.backendDriverType=n),e.assemblies.put(r)},addFeature(t,n){const r=e.assemblies.get(t);if(!r)throw new Error(`Could not find assembly "${t}" to add feature "${n._id}"`);const o=r.refSeqs.get(n.refSeq);if(!o)throw new Error(`Could not find refSeq "${n.refSeq}" to add feature "${n._id}"`);o.features.put(n)},deleteFeature(t){const n=e.getFeature(t);if(!n)throw new Error(`Could not find feature "${t}" to delete`);const{_id:r,parent:o}=n;o?o.deleteChild(t):u.getParentOfType(n,rI.ApolloRefSeq).deleteFeature(r)},deleteAssembly(t){e.assemblies.delete(t)},addCheckResult(t){e.checkResults.put(t)},addCheckResults(t){for(const n of t)e.checkResults.has(n._id)||e.checkResults.put(n)},deleteCheckResult(t){e.checkResults.delete(t)},clearCheckResults(){e.checkResults.clear()}}))).volatile((e=>({changeManager:new VP(e),collaborationServerDriver:new $P(e),inMemoryFileDriver:new JP(e),desktopFileDriver:n.isElectron?new KP(e):void 0}))).actions((e=>({afterCreate(){u.addDisposer(e,s.autorun((()=>{const{ontologyManager:t,pluginConfiguration:n}=e,o=n.ontologies;for(const e of o||[]){const[n,o,i,a]=[r.readConfObject(e,"name"),r.readConfObject(e,"version"),r.readConfObject(e,"source"),r.readConfObject(e,"textIndexFields")];t.findOntology(n)||t.addOntology(n,o,i,{textIndexing:{indexFields:a}})}})))}}))).views((e=>({getBackendDriver(t){if(!t)return e.collaborationServerDriver;const o=n.getSession(e),{assemblyManager:i}=o,a=i.get(t);if(!a)return e.collaborationServerDriver;const{file:s,internetAccountConfigId:u}=r.getConf(a,["sequence","metadata"]);return n.isElectron&&s?e.desktopFileDriver:u?e.collaborationServerDriver:e.inMemoryFileDriver},getInternetAccount(t,o){if(!(t??o))throw new Error("Must provide either assemblyName or internetAccountId");let i=o;if(t&&!i){const{assemblyManager:o}=n.getSession(e),a=o.get(t);if(!a)throw new Error(`No assembly found with name ${t}`);({internetAccountConfigId:i}=r.getConf(a,["sequence","metadata"]))}const{internetAccounts:a}=e,s=a.find((e=>e.internetAccountId===i));if(!s)throw new Error(`No InternetAccount found with config id ${o}`);return s}}))).actions((e=>({loadFeatures:u.flow((function*(t){for(const n of t){const t=e.getBackendDriver(n.assemblyName);if(!t)return;const[r,o]=yield t.getFeatures(n);if(0===r.length)continue;const{assemblyName:i,refName:a}=n;let s=e.assemblies.get(i);s||(s=e.assemblies.put({_id:i,refSeqs:{}}));const[u]=r;let c=s.refSeqs.get(u.refSeq);c||(c=s.refSeqs.put({_id:u.refSeq,name:a,features:{}}));for(const e of r)c.features.has(e._id)||c.features.put(e);e.addCheckResults(o)}})),loadRefSeq:u.flow((function*(t){for(const n of t){const t=e.getBackendDriver(n.assemblyName);if(!t)return;const{refSeq:r,seq:o}=yield t.getSequence(n),{assemblyName:i,end:a,refName:s,start:u}=n;let c=e.assemblies.get(i);c||(c=e.assemblies.put({_id:i,refSeqs:{}}));let l=c.refSeqs.get(r);l||(l=c.refSeqs.put({_id:r,name:s,sequence:[]})),l.addSequence({start:u,stop:a,sequence:o})}}))})))}(a),l=t.props({apolloDataStore:u.types.optional(c,{typeName:"Client"}),apolloSelectedFeature:u.types.safeReference(a),jobsManager:u.types.optional(HP,{})}).extend((()=>{const e=s.observable.array([]);return{views:{get collaborators(){return e}},actions:{addOrUpdateCollaborator(t){const n=e.find((e=>e.id===t.id));n?n.locations=t.locations:e.push(t)}}}})).actions((e=>({apolloSetSelectedFeature(t){e.apolloSelectedFeature=t},addApolloTrackConfig(t,n){const o=`apollo_track_${t.name}`;e.tracks.some((e=>e.trackId===o))||e.addTrackConf({type:"ApolloTrack",trackId:o,name:`Annotations (${r.getConf(t,"displayName")||t.name})`,assemblyNames:[t.name],textSearching:{textSearchAdapter:{type:"ApolloTextSearchAdapter",trackId:o,assemblyNames:[t.name],textSearchAdapterId:`apollo_search_${t.name}`,...n?{baseURL:{uri:n,locationType:"UriLocation"}}:{}}},displays:[{type:"LinearApolloDisplay",displayId:`${o}-LinearApolloDisplay`},{type:"SixFrameFeatureDisplay",displayId:`${o}-SixFrameFeatureDisplay`}]})},broadcastLocations(){const{internetAccounts:t}=u.getRoot(e),n=[];for(const t of e.views){if("LinearGenomeView"!==t.type)return;const r=t;if(r.initialized){const{dynamicBlocks:t}=r;t.forEach((t=>{if(void 0!==t.regionNumber){const{assemblyName:r,end:o,refName:i,start:a}=t,s=e.apolloDataStore.assemblies.get(r);s&&"CollaborationServerDriver"===s.backendDriverType&&n.push({assemblyName:r,refName:i,start:a,end:o})}}))}}if(0===n.length){for(const e of t)"baseURL"in e&&e.postUserLocation([]);return}const r=[];for(const e of t)if("baseURL"in e){for(const e of n)r.push({assemblyId:e.assemblyName,refSeq:e.refName,start:e.start,end:e.end});e.postUserLocation(r)}}}))).actions((e=>({afterCreate:u.flow((function*(){const t=u.getSnapshot(e),{id:n,name:r}=t;u.applySnapshot(e,{name:r,id:n});const{internetAccounts:o,jbrowse:a}=u.getRoot(e);s.autorun((()=>{const t=[];for(const n of e.views){if("LinearGenomeView"!==n.type)return;const r=n;if(r.initialized){const{dynamicBlocks:n}=r;n.forEach((n=>{if(void 0!==n.regionNumber){const{assemblyName:r,end:o,refName:i,start:a}=n,s=e.apolloDataStore.assemblies.get(r);s&&"CollaborationServerDriver"===s.backendDriverType&&t.push({assemblyName:r,refName:i,start:a,end:o})}}))}}if(0===t.length){for(const e of o)"baseURL"in e&&e.postUserLocation([]);return}const n=[];for(const e of o)if("baseURL"in e){for(const e of t)n.push({assemblyId:e.assemblyName,refSeq:e.refName,start:e.start,end:e.end});e.postUserLocation(n)}}),{name:"ApolloSession"});for(const n of o){if("ApolloInternetAccount"!==n.type)continue;const{baseURL:r}=n,o=new URL("jbrowse/config.json",r).href,s=n.getFetcher({locationType:"UriLocation",uri:o});let c,l;try{c=yield s(o,{signal:i})}catch(e){console.error(e);continue}if(c.ok){try{l=yield c.json()}catch(e){console.error(e);continue}u.applySnapshot(a,l),u.applySnapshot(e,t)}else{const e=yield md(c,"Failed to fetch assemblies");console.error(e)}}})),beforeDestroy(){o.abort("destroying session model")}}))).views((e=>{const t=e.getTrackActionMenuItems;return{getTrackActionMenuItems(n){if("ApolloTrack"===n.type||"ReferenceSequenceTrack"===n.type)return t?.(n);const o=r.readConfObject(n,"trackId");return o.endsWith("-sessionTrack")?[...t?.(n)??[],{label:"Save track to Apollo",onClick:async()=>{const{internetAccounts:t,jbrowse:r}=u.getRoot(e),i=u.getSnapshot(r);let a;a=nr.filterJBrowseConfig(i),0===Object.keys(a).length&&(a=void 0);const s={...u.getSnapshot(n),trackId:o.slice(0,o.length-13)};for(const n of t){if("ApolloInternetAccount"!==n.type)continue;const t=new nr.ImportJBrowseConfigChange({typeName:"ImportJBrowseConfigChange",oldJBrowseConfig:a,newJBrowseConfig:{...a,tracks:a?.tracks&&[...a.tracks,s]}}),{internetAccountId:r}=n;await e.apolloDataStore.changeManager.submit(t,{internetAccountId:r});const{notify:o}=e;o("Track added","success")}e.deleteTrackConf(n),r.addTrackConf(s)},icon:GP}]:[...t?.(n)??[],{label:"Remove track from Apollo",onClick:async()=>{const{internetAccounts:t,jbrowse:r}=u.getRoot(e),i=u.getSnapshot(r);let a;a=nr.filterJBrowseConfig(i),0===Object.keys(a).length&&(a=void 0);const s=a?.tracks?.filter((e=>e.trackId!==o));for(const n of t){if("ApolloInternetAccount"!==n.type)continue;const t=new nr.ImportJBrowseConfigChange({typeName:"ImportJBrowseConfigChange",oldJBrowseConfig:a,newJBrowseConfig:{...a,tracks:s}}),{internetAccountId:r}=n;await e.apolloDataStore.changeManager.submit(t,{internetAccountId:r});const{notify:o}=e;o("Track removed","success")}e.deleteTrackConf(n),r.deleteTrackConf(n)},icon:GP}]}}}));return u.types.snapshotProcessor(l,{postProcessor(e,t){e.apolloSelectedFeature=void 0;const n=Object.fromEntries(Object.entries(e.apolloDataStore.assemblies).filter((([,e])=>"InMemoryFileDriver"===e.backendDriverType)));if(e.apolloDataStore={typeName:"Client",assemblies:n,checkResults:{}},!t)return e;const{apolloDataStore:r}=t,{checkResults:o}=r;for(const[,t]of o){const[n]=t.ids;if(!n)continue;const o=r.assemblies.get(n.assemblyId);o&&"InMemoryFileDriver"===o.backendDriverType&&(e.apolloDataStore.checkResults[t._id]=u.getSnapshot(t))}return e}})}const ZP={0:2,1:1,2:0},XP={3:0,4:1,5:2};function QP(e,t){const o=e.getPlugin("LinearGenomeViewPlugin"),{BaseLinearDisplay:i}=o.exports;return i.named("SixFrameFeatureDisplay").props({type:u.types.literal("SixFrameFeatureDisplay"),configuration:r.ConfigurationReference(t),apolloRowHeight:20,detailsMinHeight:200,showStartCodons:!1,showStopCodons:!0,showIntronLines:!0}).volatile((()=>({apolloFeatureUnderMouse:void 0,apolloRowUnderMouse:void 0}))).views((e=>{const{configuration:t,renderProps:n}=e;return{renderProps:()=>({...n(),...k.getParentRenderProps(e),config:t.renderer})}})).views((e=>({get regions(){let t;try{({blockDefinitions:t}=e)}catch{return[]}return t.contentBlocks.map((({assemblyName:e,end:t,refName:n,start:r})=>({assemblyName:e,refName:n,start:r,end:t})))},regionCannotBeRendered(){const t=n.getContainingView(e);if(t&&t.bpPerPx>=200)return"Zoom in to see annotations"},get session(){return n.getSession(e)}}))).actions((e=>{let t=[];return{afterAttach(){u.addDisposer(e,s.autorun((()=>{const r=n.getSession(e);if(n.getContainingView(e).initialized){if(e.regionCannotBeRendered())return;const n=[],o=[];for(const r of e.blockDefinitions.contentBlocks)n.push(r.key),t.includes(r.key)||o.push(r);r.apolloDataStore.loadFeatures(o.map((({assemblyName:e,end:t,refName:n,start:r})=>({assemblyName:e,refName:n,start:r,end:t})))),r.apolloDataStore.loadRefSeq(o.map((({assemblyName:e,end:t,refName:n,start:r})=>({assemblyName:e,refName:n,start:r,end:t})))),t=n}}),{name:"SixFrameFeatureDisplay"}))}}})).views((e=>({get rendererTypeName(){return e.configuration.renderer.type},get changeManager(){return n.getSession(e).apolloDataStore.changeManager},get sequence(){const{regions:t}=e,r=n.getSession(e),o=new Map;for(const e of t){const t=r.apolloDataStore.assemblies.get(e.assemblyName),n=t?.getByRefName(e.refName),i=n?.getSequence(e.start,e.end);o.set(e.start,i??"")}return o},get features(){const{regions:t}=e,r=n.getSession(e),o=new Map;for(const e of t){const t=r.apolloDataStore.assemblies.get(e.assemblyName),n=t?.getByRefName(e.refName);let i=o.get(e.refName);i||(i=new Map,o.set(e.refName,i));for(const[t,r]of n?.features.entries()??new Map)e.start<r.end&&e.end>r.start&&i.set(t,r)}return o},get featuresMinMax(){const e={};for(const[t,n]of this.features||[]){let r,o;for(const[,e]of n)void 0===r&&({min:r}=e),void 0===o&&({max:o}=e),e.min<r&&({min:r}=e),e.max>o&&({max:o}=e);void 0!==r&&void 0!==o&&(e[t]=[r,o])}return e},get codonLayout(){const e=new Map;let t="",r=0;for(const[e,n]of this.sequence||[])n&&(t||(r=e),t+=n);for(let o=0;o<6;o++){const i=[],a=[],s=o in XP;let u,c,l;s?(u=(t.length+r)%3,c=(XP[o]+u+3)%3,l=n.reverse(t).slice(c)):(u=3-r%3,c=(ZP[o]+u+3)%3,l=t.slice(c));for(let e=0;e<l.length;e+=3){const t=l.slice(e,e+3),o=s?n.reverse(n.revcom(t)):t,u=s?r+l.length-(3+e):r+e+c;n.defaultStarts.includes(o.toUpperCase())?i.push(u):n.defaultStops.includes(o.toUpperCase())&&a.push(u)}e.set(o,{starts:i,stops:a})}return e},get featureLayout(){const e=new Map;for(const[t,n]of this.features||[]){if(!n)continue;const r=this.featuresMinMax[t];if(!r)continue;const[o,i]=r,a=[],s=6;for(let t=0;t<s;t++){const t=a.length;a[t]=Array.from({length:i-o}),e.set(t,[])}for(const t of[...n.values()].sort(((e,t)=>{const{max:n,min:r}=e,{max:o,min:i}=t;return r-i||n-o})))for(const[,n]of t.children??new Map)if("mRNA"===n.type)for(const[,r]of n.children||new Map){let o;if("CDS"===r.type){let i;r.discontinuousLocations.length>0?({discontinuousLocations:i}=r):i=[r];for(const r of i){const i=r.start+3,a=r.end-3;for(const[s,{stops:u}]of this.codonLayout)if(s<3&&1===t.strand||s>=3&&-1===t.strand){const t=u.filter((e=>e>=i&&e<=a));if(0===t.length){o=s;const t=e.get(o);t?.push([n.featureId,r]);break}}}}}}return e},getAssemblyId(t){const{assemblyManager:r}=n.getSession(e),o=r.get(t);if(!o)throw new Error(`Could not find assembly named ${t}`);return o.name},get selectedFeature(){return n.getSession(e).apolloSelectedFeature},get setSelectedFeature(){return n.getSession(e).apolloSetSelectedFeature}}))).actions((e=>({setSelectedFeature(t){n.getSession(e).apolloSetSelectedFeature(t)},setApolloFeatureUnderMouse(t){e.apolloFeatureUnderMouse=t},setApolloRowUnderMouse(t){e.apolloRowUnderMouse=t},toggleShowStartCodons(){e.showStartCodons=!e.showStartCodons},toggleShowStopCodons(){e.showStopCodons=!e.showStopCodons},toggleShowIntronLines(){e.showIntronLines=!e.showIntronLines}}))).views((e=>({get highestRow(){return 0===e.featureLayout.size?0:Math.max(...e.featureLayout.keys())},get featuresHeight(){return(this.highestRow+1)*e.apolloRowHeight},get detailsHeight(){return Math.max(e.detailsMinHeight,e.height-this.featuresHeight)},trackMenuItems:()=>[{label:"Show start codons",type:"checkbox",checked:e.showStartCodons,onClick:()=>{e.toggleShowStartCodons()}},{label:"Show stop codons",type:"checkbox",checked:e.showStopCodons,onClick:()=>{e.toggleShowStopCodons()}},{label:"Show intron lines",type:"checkbox",checked:e.showIntronLines,onClick:()=>{e.toggleShowIntronLines()}}]})))}var eT=r.ConfigurationSchema("ApolloRefNameAliasAdapter",{assemblyId:{type:"string",defaultValue:""}},{explicitlyTyped:!0});const tT="undefined"==typeof sessionStorage;class nT extends S.BaseAdapter{refNameAliases;async getRefNameAliases(){const e=r.readConfObject(this.config,"assemblyId");if(!tT){const t=this.pluginManager?.rootModel?.session?.apolloDataStore;if(!t)throw new Error("No Apollo data store found");const n=t.getBackendDriver(e);return await n.getRefNameAliases(e)}const t=await new Promise(((t,n)=>{const r=setTimeout((()=>{n(new Error("timeout"))}),2e4),o=oN(),i=e=>{const n=e.data;(function(e){return"object"==typeof e&&null!==e&&"apollo"in e&&!0===e.apollo&&"refNameAliases"in e})(n)&&n.messageId===o&&(clearTimeout(r),removeEventListener("message",i),t(n.refNameAliases))};addEventListener("message",i),rpcServer.emit("apollo",{apollo:!0,method:"getRefNameAliases",assembly:e,messageId:o})}));return this.refNameAliases=t,t}freeResources(){}}const rT="WorkerGlobalScope"in globalThis;for(const[e,t]of Object.entries(nr.changes))z.changeRegistry.registerChange(e,t);const oT=new nr.CDSCheck;z.checkRegistry.registerCheck(oT.name,oT),nr.validationRegistry.registerValidation(new nr.CoreValidation),nr.validationRegistry.registerValidation(new nr.ParentChildValidation),e.default=class extends C.default{name="ApolloPlugin";version="0.3.0";configurationSchema=GN;install(e){!function(e){e.addAdapterType((()=>new D.default({name:"ApolloSequenceAdapter",configSchema:PN,adapterMetadata:{category:void 0,hiddenFromGUI:!0,description:void 0},AdapterClass:IN})))}(e),function(e){e.addAdapterType((()=>new D.default({name:"ApolloRefNameAliasAdapter",configSchema:eT,adapterMetadata:{category:void 0,hiddenFromGUI:!0,description:void 0},AdapterClass:nT})))}(e),function(e){e.addTextSearchAdapterType((()=>new o.TextSearchAdapterType({name:"ApolloTextSearchAdapter",displayName:"Apollo text search adapter",configSchema:zN,AdapterClass:UN,description:"Apollo Text Search adapter"})))}(e),e.addWidgetType((()=>{const e=r.ConfigurationSchema("ApolloFeatureDetailsWidget",{});return new o.WidgetType({name:"ApolloFeatureDetailsWidget",heading:"Apollo feature details",configSchema:e,stateModel:lI,ReactComponent:nI})})),e.addWidgetType((()=>{const e=r.ConfigurationSchema("ApolloTranscriptDetails",{});return new o.WidgetType({name:"ApolloTranscriptDetails",heading:"Apollo transcript details",configSchema:e,stateModel:fI,ReactComponent:yI})})),e.addTrackType((()=>{const t=r.ConfigurationSchema("ApolloTrack",{adapter:""},{baseConfiguration:o.createBaseTrackConfig(e),explicitIdentifier:"trackId"});return new o.TrackType({name:"ApolloTrack",configSchema:t,stateModel:o.createBaseTrackModel(e,"ApolloTrack",t)})})),e.addInternetAccountType((()=>new o.InternetAccountType({name:"ApolloInternetAccount",configSchema:Xu,stateModel:kN(Xu)}))),e.addDisplayType((()=>new o.DisplayType({name:"LinearApolloDisplay",configSchema:vI,stateModel:kP(0,vI),trackType:"ApolloTrack",viewType:"LinearGenomeView",ReactComponent:BP}))),e.addDisplayType((()=>{const t=function(e){const t=e.getPlugin("LinearGenomeViewPlugin"),{baseLinearDisplayConfigSchema:n}=t.exports;return r.ConfigurationSchema("SixFrameFeatureDisplay",{renderer:jN,height:{type:"number",defaultValue:120}},{baseConfiguration:n,explicitlyTyped:!0})}(e),n=function(e){const t=e.getPlugin("LinearGenomeViewPlugin");if(!t)throw new Error("LinearGenomeView plugin not found");const{BaseLinearDisplayComponent:n}=t.exports;return p.observer((function({model:e,...t}){const{classes:r}=LP(),{height:o,selectedFeature:i}=e;let{detailsHeight:a}=e;return i||(a=0),M.default.createElement("div",{style:{height:e.height}},M.default.createElement("div",{className:r.shading,style:{height:o-a}},M.default.createElement(n,{model:e,...t})),M.default.createElement("div",{className:"testTrackLines"},M.default.createElement(FP,{model:e})))}))}(e);return new o.DisplayType({name:"SixFrameFeatureDisplay",configSchema:t,stateModel:QP(e,t),trackType:"ApolloTrack",viewType:"LinearGenomeView",ReactComponent:n})})),e.addRendererType((()=>new FN({name:"ApolloSixFrameRenderer",ReactComponent:MN,configSchema:jN,pluginManager:e}))),e.addToExtensionPoint("Core-extendSession",YP.bind(this,e)),e.addToExtensionPoint("Core-extendPluggableElement",(e=>{if("LinearGenomeView"===e.name){const{stateModel:t}=e,r=t.views((e=>{const t=e.rubberBandMenuItems;return{rubberBandMenuItems:()=>[...t(),{label:"Add new feature",icon:Zu,onClick:()=>{const t=n.getSession(e),{leftOffset:r,rightOffset:o}=e,i=e.getSelectedRegions(r,o);t.queueDialog((e=>[IR,{session:t,handleClose:()=>{e()},region:i[0],changeManager:t.apolloDataStore.changeManager}]))}}]}}));e.stateModel=r}return e})),e.addToExtensionPoint("Core-extendPluggableElement",HN),rT||e.addToExtensionPoint("Core-extendWorker",(t=>"on"in t&&t.on?(t.on("apollo",(async n=>{if("object"!=typeof(r=n)||null===r||!("apollo"in r)||!0!==r.apollo)return;var r;const{apollo:o,messageId:i,method:a}=n;switch(a){case"getSequence":{const{region:r}=n,{assemblyName:a}=r,s=e.rootModel?.session?.apolloDataStore;if(!s)break;const u=s.getBackendDriver(a),{seq:c}=await u.getSequence(r);t.workers[0].postMessage({apollo:o,messageId:i,sequence:c});break}case"getRegions":{const{assembly:r}=n,a=e.rootModel?.session?.apolloDataStore;if(!a)break;const s=a.getBackendDriver(r),u=await s.getRegions(r);t.workers[0].postMessage({apollo:o,messageId:i,regions:u});break}case"getRefNameAliases":{const{assembly:r}=n,a=e.rootModel?.session?.apolloDataStore;if(!a)break;const s=a.getBackendDriver(r),u=await s.getRefNameAliases(r);t.workers[0].postMessage({apollo:o,messageId:i,refNameAliases:u});break}}})),t):t))}configure(e){n.isAbstractMenuManager(e.rootModel)&&(e.rootModel.appendToMenu("Apollo",{label:"Download GFF3",onClick:e=>{e.queueDialog((t=>[LR,{session:e,handleClose:()=>{t()}}]))}}),e.rootModel.appendToMenu("Apollo",{label:"Manage Checks",onClick:e=>{e.queueDialog((t=>[BR,{session:e,handleClose:()=>{t()}}]))}}),e.rootModel.appendToMenu("Apollo",{label:"View Change Log",onClick:e=>{e.queueDialog((t=>[sN,{session:e,handleClose:()=>{t()}}]))}}),e.rootModel.appendToMenu("Apollo",{label:"Open local GFF3 file",onClick:e=>{e.queueDialog((t=>[iN,{session:e,handleClose:()=>{t()},inMemoryFileDriver:e.apolloDataStore.inMemoryFileDriver}]))}}),e.rootModel.appendToMenu("Apollo",{label:"View check results",onClick:e=>{e.queueDialog((t=>[fN,{session:e,handleClose:()=>{t()}}]))}}),e.rootModel.appendToMenu("Apollo",{label:"Log out",onClick:e=>{e.queueDialog((t=>[qR,{session:e,handleClose:()=>{t()}}]))}}))}},Object.defineProperty(e,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=jbrowse-plugin-apollo.umd.production.min.js.map