@apollo-annotation/jbrowse-plugin-apollo 0.3.5 → 0.3.6

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.
Files changed (126) hide show
  1. package/dist/index.esm.js +5474 -4937
  2. package/dist/index.esm.js.map +1 -1
  3. package/dist/jbrowse-plugin-apollo.cjs.development.js +4609 -4089
  4. package/dist/jbrowse-plugin-apollo.cjs.development.js.map +1 -1
  5. package/dist/jbrowse-plugin-apollo.cjs.production.min.js +1 -1
  6. package/dist/jbrowse-plugin-apollo.cjs.production.min.js.map +1 -1
  7. package/dist/jbrowse-plugin-apollo.umd.development.js +3634 -3500
  8. package/dist/jbrowse-plugin-apollo.umd.development.js.map +1 -1
  9. package/dist/jbrowse-plugin-apollo.umd.production.min.js +1 -1
  10. package/dist/jbrowse-plugin-apollo.umd.production.min.js.map +1 -1
  11. package/package.json +4 -4
  12. package/src/ApolloInternetAccount/addMenuItems.ts +5 -2
  13. package/src/ApolloInternetAccount/components/AuthTypeSelector.tsx +1 -0
  14. package/src/ApolloInternetAccount/components/LoginButtons.tsx +1 -1
  15. package/src/ApolloInternetAccount/components/LoginIcons.tsx +1 -1
  16. package/src/ApolloInternetAccount/configSchema.ts +1 -1
  17. package/src/ApolloInternetAccount/model.ts +11 -10
  18. package/src/ApolloJobModel.ts +1 -1
  19. package/src/ApolloRefNameAliasAdapter/ApolloRefNameAliasAdapter.ts +8 -6
  20. package/src/ApolloRefNameAliasAdapter/index.ts +2 -2
  21. package/src/ApolloSequenceAdapter/ApolloSequenceAdapter.ts +4 -4
  22. package/src/ApolloSequenceAdapter/index.ts +1 -1
  23. package/src/ApolloTextSearchAdapter/ApolloTextSearchAdapter.ts +8 -7
  24. package/src/ApolloTextSearchAdapter/index.ts +1 -1
  25. package/src/BackendDrivers/BackendDriver.ts +7 -7
  26. package/src/BackendDrivers/CollaborationServerDriver.ts +14 -10
  27. package/src/BackendDrivers/DesktopFileDriver.ts +11 -10
  28. package/src/BackendDrivers/InMemoryFileDriver.ts +10 -6
  29. package/src/ChangeManager.ts +5 -5
  30. package/src/FeatureDetailsWidget/ApolloFeatureDetailsWidget.tsx +8 -7
  31. package/src/FeatureDetailsWidget/ApolloTranscriptDetailsWidget.tsx +35 -14
  32. package/src/FeatureDetailsWidget/AttributeKey.tsx +50 -0
  33. package/src/FeatureDetailsWidget/AttributeKeySelector.tsx +104 -0
  34. package/src/FeatureDetailsWidget/Attributes.tsx +210 -367
  35. package/src/FeatureDetailsWidget/BasicInformation.tsx +6 -5
  36. package/src/FeatureDetailsWidget/DefaultAttributeEditor.tsx +104 -0
  37. package/src/FeatureDetailsWidget/DefaultAttributeViewer.tsx +22 -0
  38. package/src/FeatureDetailsWidget/FeatureDetailsNavigation.tsx +4 -4
  39. package/src/FeatureDetailsWidget/NumberTextField.tsx +1 -1
  40. package/src/FeatureDetailsWidget/Sequence.tsx +2 -2
  41. package/src/FeatureDetailsWidget/StringTextField.tsx +1 -1
  42. package/src/FeatureDetailsWidget/TranscriptSequence.tsx +3 -3
  43. package/src/FeatureDetailsWidget/TranscriptWidgetEditLocation.tsx +21 -21
  44. package/src/FeatureDetailsWidget/TranscriptWidgetSummary.tsx +4 -4
  45. package/src/FeatureDetailsWidget/model.ts +8 -3
  46. package/src/LinearApolloDisplay/components/LinearApolloDisplay.tsx +6 -6
  47. package/src/LinearApolloDisplay/glyphs/BoxGlyph.ts +13 -14
  48. package/src/LinearApolloDisplay/glyphs/GeneGlyph.ts +9 -9
  49. package/src/LinearApolloDisplay/glyphs/GenericChildGlyph.ts +6 -5
  50. package/src/LinearApolloDisplay/glyphs/Glyph.ts +7 -7
  51. package/src/LinearApolloDisplay/stateModel/base.ts +52 -10
  52. package/src/LinearApolloDisplay/stateModel/index.ts +4 -3
  53. package/src/LinearApolloDisplay/stateModel/layouts.ts +8 -39
  54. package/src/LinearApolloDisplay/stateModel/mouseEvents.ts +13 -12
  55. package/src/LinearApolloDisplay/stateModel/rendering.ts +59 -31
  56. package/src/LinearApolloSixFrameDisplay/components/LinearApolloSixFrameDisplay.tsx +221 -0
  57. package/src/LinearApolloSixFrameDisplay/components/TrackLines.tsx +40 -0
  58. package/src/LinearApolloSixFrameDisplay/components/index.ts +2 -0
  59. package/src/LinearApolloSixFrameDisplay/configSchema.ts +7 -0
  60. package/src/LinearApolloSixFrameDisplay/glyphs/GeneGlyph.ts +821 -0
  61. package/src/LinearApolloSixFrameDisplay/glyphs/Glyph.ts +63 -0
  62. package/src/LinearApolloSixFrameDisplay/glyphs/index.ts +1 -0
  63. package/src/LinearApolloSixFrameDisplay/index.ts +2 -0
  64. package/src/LinearApolloSixFrameDisplay/stateModel/base.ts +261 -0
  65. package/src/LinearApolloSixFrameDisplay/stateModel/index.ts +27 -0
  66. package/src/LinearApolloSixFrameDisplay/stateModel/layouts.ts +236 -0
  67. package/src/LinearApolloSixFrameDisplay/stateModel/mouseEvents.ts +349 -0
  68. package/src/LinearApolloSixFrameDisplay/stateModel/rendering.ts +199 -0
  69. package/src/LinearApolloSixFrameDisplay/types.ts +1 -0
  70. package/src/OntologyManager/OntologyStore/fulltext.test.ts +1 -1
  71. package/src/OntologyManager/OntologyStore/fulltext.ts +8 -3
  72. package/src/OntologyManager/OntologyStore/index.test.ts +3 -1
  73. package/src/OntologyManager/OntologyStore/index.ts +19 -14
  74. package/src/OntologyManager/OntologyStore/indexeddb-schema.ts +6 -5
  75. package/src/OntologyManager/OntologyStore/indexeddb-storage.ts +11 -5
  76. package/src/OntologyManager/index.ts +8 -6
  77. package/src/OntologyManager/util.ts +3 -2
  78. package/src/TabularEditor/HybridGrid/ChangeHandling.ts +2 -2
  79. package/src/TabularEditor/HybridGrid/Feature.tsx +9 -7
  80. package/src/TabularEditor/HybridGrid/FeatureAttributes.tsx +1 -1
  81. package/src/TabularEditor/HybridGrid/HybridGrid.tsx +3 -2
  82. package/src/TabularEditor/HybridGrid/ToolBar.tsx +1 -1
  83. package/src/TabularEditor/HybridGrid/featureContextMenuItems.ts +6 -6
  84. package/src/TabularEditor/TabularEditorPane.tsx +1 -1
  85. package/src/TabularEditor/model.ts +2 -2
  86. package/src/TabularEditor/types.ts +5 -2
  87. package/src/components/AddAssembly.tsx +182 -179
  88. package/src/components/AddChildFeature.tsx +6 -5
  89. package/src/components/AddFeature.tsx +211 -38
  90. package/src/components/AddRefSeqAliases.tsx +14 -12
  91. package/src/components/CopyFeature.tsx +8 -7
  92. package/src/components/CreateApolloAnnotation.tsx +9 -8
  93. package/src/components/DeleteAssembly.tsx +9 -8
  94. package/src/components/DeleteFeature.tsx +5 -4
  95. package/src/components/Dialog.tsx +1 -1
  96. package/src/components/DownloadGFF3.tsx +11 -10
  97. package/src/components/FilterFeatures.tsx +6 -4
  98. package/src/components/ImportFeatures.tsx +7 -6
  99. package/src/components/LogOut.tsx +5 -4
  100. package/src/components/ManageChecks.tsx +9 -8
  101. package/src/components/ManageUsers.tsx +11 -10
  102. package/src/components/OntologyTermAutocomplete.tsx +5 -5
  103. package/src/components/OntologyTermMultiSelect.tsx +6 -6
  104. package/src/components/OpenLocalFile.tsx +4 -3
  105. package/src/components/ViewChangeLog.tsx +7 -6
  106. package/src/components/ViewCheckResults.tsx +8 -7
  107. package/src/extensions/annotationFromJBrowseFeature.test.ts +1 -0
  108. package/src/extensions/annotationFromJBrowseFeature.ts +11 -10
  109. package/src/extensions/annotationFromPileup.ts +6 -6
  110. package/src/index.ts +33 -50
  111. package/src/makeDisplayComponent.tsx +90 -37
  112. package/src/session/ClientDataStore.ts +21 -17
  113. package/src/session/session.ts +20 -26
  114. package/src/types.ts +4 -4
  115. package/src/util/annotationFeatureUtils.ts +1 -1
  116. package/src/util/index.ts +3 -3
  117. package/src/util/loadAssemblyIntoClient.ts +10 -3
  118. package/src/ApolloSixFrameRenderer/ApolloSixFrameRenderer.tsx +0 -13
  119. package/src/ApolloSixFrameRenderer/components/ApolloRendering.tsx +0 -707
  120. package/src/ApolloSixFrameRenderer/configSchema.ts +0 -7
  121. package/src/ApolloSixFrameRenderer/index.ts +0 -3
  122. package/src/SixFrameFeatureDisplay/components/TrackLines.tsx +0 -19
  123. package/src/SixFrameFeatureDisplay/components/index.ts +0 -1
  124. package/src/SixFrameFeatureDisplay/configSchema.ts +0 -21
  125. package/src/SixFrameFeatureDisplay/index.ts +0 -2
  126. package/src/SixFrameFeatureDisplay/stateModel.ts +0 -443
@@ -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("tss-react/mui"),require("react"),require("@jbrowse/core/ui"),require("mobx-react"),require("@jbrowse/core/util/types/mst"),require("@jbrowse/core/util/io"),require("@mui/material/Checkbox"),require("@mui/material/FormControlLabel"),require("@mui/material/LinearProgress"),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","tss-react/mui","react","@jbrowse/core/ui","mobx-react","@jbrowse/core/util/types/mst","@jbrowse/core/util/io","@mui/material/Checkbox","@mui/material/FormControlLabel","@mui/material/LinearProgress","@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["tss-react/mui"],e.JBrowseExports.react,e.JBrowseExports["@jbrowse/core/ui"],e.JBrowseExports["mobx-react"],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/material/LinearProgress"],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,a,i,s,l,c,u,f,d,p,h,m,g,y,v,_,b,w,S,x){"use strict";function E(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function k(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 A=E(t),O=E(n),C=E(a),N=E(i),R=E(l),T=E(f),I=k(f),P=E(g),M=E(y),F=E(v),j=E(b),L="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function D(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 q(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 B={};function U(e){var t,n;function r(t,n){try{var a=e[t](n),i=a.value,s=i instanceof z;Promise.resolve(s?i.v:i).then((function(n){if(s){var l="return"===t?"return":"next";if(!i.k||n.done)return r(l,n);n=e[l](n).value}o(a.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(a,i){var s={key:e,arg:o,resolve:a,reject:i,next:null};n?n=n.next=s:(t=n=s,r(e,o))}))},"function"!=typeof e.return&&(this.return=void 0)}function z(e,t){this.v=e,this.k=t}function G(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 H(t.call(e));n="@@asyncIterator",r="@@iterator"}throw new TypeError("Object is not async iterable")}function H(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 H=function(e){this.s=e,this.n=e.next},H.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 H(e)}function W(e){return new z(e,0)}function $(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 V(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?$(Object(n),!0).forEach((function(t){te(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):$(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function J(){J=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,o=Object.defineProperty||function(e,t,n){e[t]=n.value},a="function"==typeof Symbol?Symbol:{},i=a.iterator||"@@iterator",s=a.asyncIterator||"@@asyncIterator",l=a.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 u(e,t,n,r){var a=Object.create((t&&t.prototype instanceof y?t:y).prototype),i=new R(r||[]);return o(a,"_invoke",{value:A(e,n,i)}),a}function f(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=u;var d="suspendedStart",p="suspendedYield",h="executing",m="completed",g={};function y(){}function v(){}function _(){}var b={};c(b,i,(function(){return this}));var w=Object.getPrototypeOf,S=w&&w(w(T([])));S&&S!==n&&r.call(S,i)&&(b=S);var x=_.prototype=y.prototype=Object.create(b);function E(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function k(e,t){function n(o,a,i,s){var l=f(e[o],e,a);if("throw"!==l.type){var c=l.arg,u=c.value;return u&&"object"==typeof u&&r.call(u,"__await")?t.resolve(u.__await).then((function(e){n("next",e,i,s)}),(function(e){n("throw",e,i,s)})):t.resolve(u).then((function(e){c.value=e,i(c)}),(function(e){return n("throw",e,i,s)}))}s(l.arg)}var a;o(this,"_invoke",{value:function(e,r){function o(){return new t((function(t,o){n(e,r,t,o)}))}return a=a?a.then(o,o):o()}})}function A(t,n,r){var o=d;return function(a,i){if(o===h)throw new Error("Generator is already running");if(o===m){if("throw"===a)throw i;return{value:e,done:!0}}for(r.method=a,r.arg=i;;){var s=r.delegate;if(s){var l=O(s,r);if(l){if(l===g)continue;return l}}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=h;var c=f(t,n,r);if("normal"===c.type){if(o=r.done?m:p,c.arg===g)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(o=m,r.method="throw",r.arg=c.arg)}}}function O(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,O(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),g;var a=f(o,t.iterator,n.arg);if("throw"===a.type)return n.method="throw",n.arg=a.arg,n.delegate=null,g;var i=a.arg;return i?i.done?(n[t.resultName]=i.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,g):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,g)}function C(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 N(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function R(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(C,this),this.reset(!0)}function T(t){if(t||""===t){var n=t[i];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,a=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 a.next=a}}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(_,l,"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,l,"GeneratorFunction")),e.prototype=Object.create(x),e},t.awrap=function(e){return{__await:e}},E(k.prototype),c(k.prototype,s,(function(){return this})),t.AsyncIterator=k,t.async=function(e,n,r,o,a){void 0===a&&(a=Promise);var i=new k(u(e,n,r,o),a);return t.isGeneratorFunction(n)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},E(x),c(x,l,"Generator"),c(x,i,(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=T,R.prototype={constructor:R,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(N),!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 a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],s=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var l=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(l&&c){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(l){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return o(i.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 a=o;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=t,a?(this.method="next",this.next=a.finallyLoc,g):this.complete(i)},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),N(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;N(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:T(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),g}},t}function Y(e){return Y="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},Y(e)}function K(e,t,n,r,o,a,i){try{var s=e[a](i),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,o)}function Z(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var a=e.apply(t,n);function i(e){K(a,r,o,i,s,"next",e)}function s(e){K(a,r,o,i,s,"throw",e)}i(void 0)}))}}function X(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Q(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,be(r.key),r)}}function ee(e,t,n){return t&&Q(e.prototype,t),n&&Q(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function te(e,t,n){return(t=be(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ne(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&&oe(e,t)}function re(e){return re=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},re(e)}function oe(e,t){return oe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},oe(e,t)}function ae(){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 ie(e,t,n){return ie=ae()?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&&oe(o,n.prototype),o},ie.apply(null,arguments)}function se(e){var t="function"==typeof Map?new Map:void 0;return se=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 ie(e,arguments,re(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),oe(n,e)},se(e)}function le(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ce(e){var t=ae();return function(){var n,r=re(e);if(t){var o=re(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 ue(){return ue="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=re(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}},ue.apply(this,arguments)}function fe(e,t){return he(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,s=[],l=!0,c=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw o}}return s}}(e,t)||ge(e,t)||ve()}function de(e){return he(e)||me(e)||ge(e)||ve()}function pe(e){return function(e){if(Array.isArray(e))return ye(e)}(e)||me(e)||ge(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 he(e){if(Array.isArray(e))return e}function me(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function ge(e,t){if(e){if("string"==typeof e)return ye(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)?ye(e,t):void 0}}function ye(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 ve(){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 _e(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=ge(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 a,i=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){s=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(s)throw a}}}}function be(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)}U.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},U.prototype.next=function(e){return this._invoke("next",e)},U.prototype.throw=function(e){return this._invoke("throw",e)},U.prototype.return=function(e){return this._invoke("return",e)};var we=function(e,t){return we=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])},we(e,t)};function Se(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}we(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var xe=function(){return xe=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},xe.apply(this,arguments)};function Ee(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 ke(e,t,n,r){var o,a=arguments.length,i=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"===("undefined"==typeof Reflect?"undefined":Y(Reflect))&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(i=(a<3?o(i):a>3?o(t,n,i):o(t,n))||i);return a>3&&i&&Object.defineProperty(t,n,i),i}function Ae(e,t){return function(n,r){t(n,r,e)}}function Oe(e,t){if("object"===("undefined"==typeof Reflect?"undefined":Y(Reflect))&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function Ce(e,t,n,r){return new(n||(n=Promise))((function(o,a){function i(e){try{l(r.next(e))}catch(e){a(e)}}function s(e){try{l(r.throw(e))}catch(e){a(e)}}function l(e){e.done?o(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(i,s)}l((r=r.apply(e,t||[])).next())}))}function Ne(e,t){var n,r,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(s){return function(l){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,s[0]&&(i=0)),i;)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 i.label++,{value:s[1],done:!1};case 5:i.label++,r=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!((o=(o=i.trys).length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){i.label=s[1];break}if(6===s[0]&&i.label<o[1]){i.label=o[1],o=s;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(s);break}o[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}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,l])}}}var Re=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)||Re(t,e,n)}function Ie(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 Pe(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i}function Me(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(Pe(arguments[t]));return e}function Fe(){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 a=arguments[t],i=0,s=a.length;i<s;i++,o++)r[o]=a[i];return r}function je(e,t,n){if(n||2===arguments.length)for(var r,o=0,a=t.length;o<a;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 Le(e){return this instanceof Le?(this.v=e,this):new Le(e)}function De(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=n.apply(e,t||[]),a=[];return r={},i("next"),i("throw"),i("return"),r[Symbol.asyncIterator]=function(){return this},r;function i(e){o[e]&&(r[e]=function(t){return new Promise((function(n,r){a.push([e,t,n,r])>1||s(e,t)}))})}function s(e,t){try{!function(e){e.value instanceof Le?Promise.resolve(e.value.v).then(l,c):u(a[0][2],e)}(o[e](t))}catch(e){u(a[0][3],e)}}function l(e){s("next",e)}function c(e){s("throw",e)}function u(e,t){e(t),a.shift(),a.length&&s(a[0][0],a[0][1])}}function qe(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:Le(e[r](t)),done:!1}:o?o(t):t}:o}}function Be(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=Ie(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 Ue(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var ze=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function Ge(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)&&Re(t,e,n);return ze(t,e),t}function He(e){return e&&e.__esModule?e:{default:e}}function We(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 $e(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 Ve(e,t){if(null===t||"object"!==Y(t)&&"function"!=typeof t)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function Je(e,t,n){if(null!=t){if("object"!==Y(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 Ye="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 Ke(e){function t(t){e.error=e.hasError?new Ye(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 Ze={__proto__:null,__extends:Se,get __assign(){return xe},__rest:Ee,__decorate:ke,__param:Ae,__esDecorate:function(e,t,n,r,o,a){function i(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var s,l=r.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?r.static?e:e.prototype:null,f=t||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),d=!1,p=n.length-1;p>=0;p--){var h={};for(var m in r)h[m]="access"===m?{}:r[m];for(var m in r.access)h.access[m]=r.access[m];h.addInitializer=function(e){if(d)throw new TypeError("Cannot add initializers after decoration has completed");a.push(i(e||null))};var g=(0,n[p])("accessor"===l?{get:f.get,set:f.set}:f[c],h);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!==Y(g))throw new TypeError("Object expected");(s=i(g.get))&&(f.get=s),(s=i(g.set))&&(f.set=s),(s=i(g.init))&&o.unshift(s)}else(s=i(g))&&("field"===l?o.unshift(s):f[c]=s)}u&&Object.defineProperty(u,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"===Y(e)?e:"".concat(e)},__setFunctionName:function(e,t,n){return"symbol"===Y(t)&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:n?"".concat(n," ",t):t})},__metadata:Oe,__awaiter:Ce,__generator:Ne,__createBinding:Re,__exportStar:Te,__values:Ie,__read:Pe,__spread:Me,__spreadArrays:Fe,__spreadArray:je,__await:Le,__asyncGenerator:De,__asyncDelegator:qe,__asyncValues:Be,__makeTemplateObject:Ue,__importStar:Ge,__importDefault:He,__classPrivateFieldGet:We,__classPrivateFieldSet:$e,__classPrivateFieldIn:Ve,__addDisposableResource:Je,__disposeResources:Ke,default:{__extends:Se,__assign:xe,__rest:Ee,__decorate:ke,__param:Ae,__metadata:Oe,__awaiter:Ce,__generator:Ne,__createBinding:Re,__exportStar:Te,__values:Ie,__read:Pe,__spread:Me,__spreadArrays:Fe,__spreadArray:je,__await:Le,__asyncGenerator:De,__asyncDelegator:qe,__asyncValues:Be,__makeTemplateObject:Ue,__importStar:Ge,__importDefault:He,__classPrivateFieldGet:We,__classPrivateFieldSet:$e,__classPrivateFieldIn:Ve,__addDisposableResource:Je,__disposeResources:Ke}},Xe=D(Ze),Qe={};Object.defineProperty(Qe,"__esModule",{value:!0}),Qe.ApolloPlugin=void 0;var et=function(e){ne(n,e);var t=ce(n);function n(){return X(this,n),t.apply(this,arguments)}return ee(n,[{key:"apolloInstall",value:function(e){}}]),n}(Xe.__importDefault(A.default).default);Qe.ApolloPlugin=et;var tt={},nt={},rt={};Object.defineProperty(rt,"__esModule",{value:!0}),rt.changeRegistry=void 0,rt.changeRegistry=new(function(){function e(){X(this,e),this.changes=new Map}return ee(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 ot={};Object.defineProperty(ot,"__esModule",{value:!0}),ot.Operation=void 0;var at=function(){function e(t,n){var r;X(this,e),this.logger=null!==(r=null==n?void 0:n.logger)&&void 0!==r?r:console}var t;return ee(e,[{key:"execute",value:(t=Z(J().mark((function e(t){var n,r;return J().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}();ot.Operation=at,Object.defineProperty(nt,"__esModule",{value:!0}),nt.Change=void 0,nt.isChange=function(e){return void 0!==e.executeOnClient};var it=rt,st=function(e){ne(r,e);var t,n=ce(r);function r(){return X(this,r),n.apply(this,arguments)}return ee(r,[{key:"notification",get:function(){return""}},{key:"execute",value:(t=Z(J().mark((function e(t){var n;return J().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",ue(re(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(it.changeRegistry.getChangeType(e.typeName))(e,(null==t?void 0:t.logger)&&{logger:t.logger})}}]),r}(ot.Operation);nt.Change=st,Object.defineProperty(tt,"__esModule",{value:!0}),tt.AssemblySpecificChange=void 0,tt.isAssemblySpecificChange=function(e){return(0,lt.isChange)(e)&&void 0!==e.assembly};var lt=nt;tt.AssemblySpecificChange=function(e){ne(n,e);var t=ce(n);function n(e,r){var o;return X(this,n),(o=t.call(this,e,r)).assembly=e.assembly,o}return ee(n)}(lt.Change);var ct={};Object.defineProperty(ct,"__esModule",{value:!0}),ct.Check=void 0,ct.Check=ee((function e(){X(this,e)}));var ut={};Object.defineProperty(ut,"__esModule",{value:!0}),ut.checkRegistry=void 0,ut.checkRegistry=new(function(){function e(){X(this,e),this.checks=new Map}return ee(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 ft={},dt="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function pt(){throw new Error("setTimeout has not been defined")}function ht(){throw new Error("clearTimeout has not been defined")}var mt=pt,gt=ht;function yt(e){if(mt===setTimeout)return setTimeout(e,0);if((mt===pt||!mt)&&setTimeout)return mt=setTimeout,setTimeout(e,0);try{return mt(e,0)}catch(t){try{return mt.call(null,e,0)}catch(t){return mt.call(this,e,0)}}}"function"==typeof dt.setTimeout&&(mt=setTimeout),"function"==typeof dt.clearTimeout&&(gt=clearTimeout);var vt,_t=[],bt=!1,wt=-1;function St(){bt&&vt&&(bt=!1,vt.length?_t=vt.concat(_t):wt=-1,_t.length&&xt())}function xt(){if(!bt){var e=yt(St);bt=!0;for(var t=_t.length;t;){for(vt=_t,_t=[];++wt<t;)vt&&vt[wt].run();wt=-1,t=_t.length}vt=null,bt=!1,function(e){if(gt===clearTimeout)return clearTimeout(e);if((gt===ht||!gt)&&clearTimeout)return gt=clearTimeout,clearTimeout(e);try{return gt(e)}catch(t){try{return gt.call(null,e)}catch(t){return gt.call(this,e)}}}(e)}}function Et(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];_t.push(new kt(e,t)),1!==_t.length||bt||yt(xt)}function kt(e,t){this.fun=e,this.array=t}function At(){}kt.prototype.run=function(){this.fun.apply(null,this.array)};var Ot=At,Ct=At,Nt=At,Rt=At,Tt=At,It=At,Pt=At,Mt=dt.performance||{},Ft=Mt.now||Mt.mozNow||Mt.msNow||Mt.oNow||Mt.webkitNow||function(){return(new Date).getTime()},jt=new Date,Lt={nextTick:Et,title:"browser",browser:!0,env:{},argv:[],version:"",versions:{},on:Ot,addListener:Ct,once:Nt,off:Rt,removeListener:Tt,removeAllListeners:It,emit:Pt,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*Ft.call(Mt),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-jt)/1e3}},Dt=[],qt=[],Bt="undefined"!=typeof Uint8Array?Uint8Array:Array,Ut=!1;function zt(){Ut=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0;t<64;++t)Dt[t]=e[t],qt[e.charCodeAt(t)]=t;qt["-".charCodeAt(0)]=62,qt["_".charCodeAt(0)]=63}function Gt(e,t,n){for(var r,o=[],a=t;a<n;a+=3)o.push(Dt[(r=(e[a]<<16)+(e[a+1]<<8)+e[a+2])>>18&63]+Dt[r>>12&63]+Dt[r>>6&63]+Dt[63&r]);return o.join("")}function Ht(e,t,n,r,o){var a,i,s=8*o-r-1,l=(1<<s)-1,c=l>>1,u=-7,f=n?o-1:0,d=n?-1:1,p=e[t+f];for(f+=d,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+e[t+f],f+=d,u-=8);for(i=a&(1<<-u)-1,a>>=-u,u+=r;u>0;i=256*i+e[t+f],f+=d,u-=8);if(0===a)a=1-c;else{if(a===l)return i?NaN:Infinity*(p?-1:1);i+=Math.pow(2,r),a-=c}return(p?-1:1)*i*Math.pow(2,a-r)}function Wt(e,t,n,r,o,a){var i,s,l,c=8*a-o-1,u=(1<<c)-1,f=u>>1,d=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:a-1,h=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,i=u):(i=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-i))<1&&(i--,l*=2),(t+=i+f>=1?d/l:d*Math.pow(2,1-f))*l>=2&&(i++,l/=2),i+f>=u?(s=0,i=u):i+f>=1?(s=(t*l-1)*Math.pow(2,o),i+=f):(s=t*Math.pow(2,f-1)*Math.pow(2,o),i=0));o>=8;e[n+p]=255&s,p+=h,s/=256,o-=8);for(i=i<<o|s,c+=o;c>0;e[n+p]=255&i,p+=h,i/=256,c-=8);e[n+p-h]|=128*m}var $t={}.toString,Vt=Array.isArray||function(e){return"[object Array]"==$t.call(e)};function Jt(){return Kt.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function Yt(e,t){if(Jt()<t)throw new RangeError("Invalid typed array length");return Kt.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=Kt.prototype:(null===e&&(e=new Kt(t)),e.length=t),e}function Kt(e,t,n){if(!(Kt.TYPED_ARRAY_SUPPORT||this instanceof Kt))return new Kt(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 Qt(this,e)}return Zt(this,e,t,n)}function Zt(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),Kt.TYPED_ARRAY_SUPPORT?(e=t).__proto__=Kt.prototype:e=en(e,t),e}(e,t,n,r):"string"==typeof t?function(e,t,n){if("string"==typeof n&&""!==n||(n="utf8"),!Kt.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|rn(t,n),o=(e=Yt(e,r)).write(t,n);return o!==r&&(e=e.slice(0,o)),e}(e,t,n):function(e,t){if(nn(t)){var n=0|tn(t.length);return 0===(e=Yt(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?Yt(e,0):en(e,t);if("Buffer"===t.type&&Vt(t.data))return en(e,t.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function Xt(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 Qt(e,t){if(Xt(t),e=Yt(e,t<0?0:0|tn(t)),!Kt.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function en(e,t){var n=t.length<0?0:0|tn(t.length);e=Yt(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function tn(e){if(e>=Jt())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Jt().toString(16)+" bytes");return 0|e}function nn(e){return!(null==e||!e._isBuffer)}function rn(e,t){if(nn(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 In(e).length;default:if(r)return Tn(e).length;t=(""+t).toLowerCase(),r=!0}}function on(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 bn(this,t,n);case"utf8":case"utf-8":return gn(this,t,n);case"ascii":return vn(this,t,n);case"latin1":case"binary":return _n(this,t,n);case"base64":return mn(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return wn(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function an(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function sn(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=Kt.from(t,r)),nn(t))return 0===t.length?-1:ln(e,t,n,r,o);if("number"==typeof t)return t&=255,Kt.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 a,i=1,s=e.length,l=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;i=2,s/=2,l/=2,n/=2}function c(e,t){return 1===i?e[t]:e.readUInt16BE(t*i)}if(o){var u=-1;for(a=n;a<s;a++)if(c(e,a)===c(t,-1===u?0:a-u)){if(-1===u&&(u=a),a-u+1===l)return u*i}else-1!==u&&(a-=a-u),u=-1}else for(n+l>s&&(n=s-l),a=n;a>=0;a--){for(var f=!0,d=0;d<l;d++)if(c(e,a+d)!==c(t,d)){f=!1;break}if(f)return a}return-1}function cn(e,t,n,r){n=Number(n)||0;var o=e.length-n;r?(r=Number(r))>o&&(r=o):r=o;var a=t.length;if(a%2!=0)throw new TypeError("Invalid hex string");r>a/2&&(r=a/2);for(var i=0;i<r;++i){var s=parseInt(t.substr(2*i,2),16);if(isNaN(s))return i;e[n+i]=s}return i}function un(e,t,n,r){return Pn(Tn(t,e.length-n),e,n,r)}function fn(e,t,n,r){return Pn(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function dn(e,t,n,r){return fn(e,t,n,r)}function pn(e,t,n,r){return Pn(In(t),e,n,r)}function hn(e,t,n,r){return Pn(function(e,t){for(var n,r,o=[],a=0;a<e.length&&!((t-=2)<0);++a)r=(n=e.charCodeAt(a))>>8,o.push(n%256),o.push(r);return o}(t,e.length-n),e,n,r)}function mn(e,t,n){return function(e){var t;Ut||zt();for(var n=e.length,r=n%3,o="",a=[],i=16383,s=0,l=n-r;s<l;s+=i)a.push(Gt(e,s,s+i>l?l:s+i));return 1===r?(o+=Dt[(t=e[n-1])>>2],o+=Dt[t<<4&63],o+="=="):2===r&&(o+=Dt[(t=(e[n-2]<<8)+e[n-1])>>10],o+=Dt[t>>4&63],o+=Dt[t<<2&63],o+="="),a.push(o),a.join("")}(0===t&&n===e.length?e:e.slice(t,n))}function gn(e,t,n){n=Math.min(e.length,n);for(var r=[],o=t;o<n;){var a,i,s,l,c=e[o],u=null,f=c>239?4:c>223?3:c>191?2:1;if(o+f<=n)switch(f){case 1:c<128&&(u=c);break;case 2:128==(192&(a=e[o+1]))&&(l=(31&c)<<6|63&a)>127&&(u=l);break;case 3:i=e[o+2],128==(192&(a=e[o+1]))&&128==(192&i)&&(l=(15&c)<<12|(63&a)<<6|63&i)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:i=e[o+2],s=e[o+3],128==(192&(a=e[o+1]))&&128==(192&i)&&128==(192&s)&&(l=(15&c)<<18|(63&a)<<12|(63&i)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,f=1):u>65535&&(r.push((u-=65536)>>>10&1023|55296),u=56320|1023&u),r.push(u),o+=f}return function(e){var t=e.length;if(t<=yn)return String.fromCharCode.apply(String,e);for(var n="",r=0;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=yn));return n}(r)}Kt.TYPED_ARRAY_SUPPORT=void 0===dt.TYPED_ARRAY_SUPPORT||dt.TYPED_ARRAY_SUPPORT,Kt.poolSize=8192,Kt._augment=function(e){return e.__proto__=Kt.prototype,e},Kt.from=function(e,t,n){return Zt(null,e,t,n)},Kt.TYPED_ARRAY_SUPPORT&&(Kt.prototype.__proto__=Uint8Array.prototype,Kt.__proto__=Uint8Array),Kt.alloc=function(e,t,n){return function(e,t,n,r){return Xt(t),t<=0?Yt(e,t):void 0!==n?"string"==typeof r?Yt(e,t).fill(n,r):Yt(e,t).fill(n):Yt(e,t)}(null,e,t,n)},Kt.allocUnsafe=function(e){return Qt(null,e)},Kt.allocUnsafeSlow=function(e){return Qt(null,e)},Kt.isBuffer=Mn,Kt.compare=function(e,t){if(!nn(e)||!nn(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,o=0,a=Math.min(n,r);o<a;++o)if(e[o]!==t[o]){n=e[o],r=t[o];break}return n<r?-1:r<n?1:0},Kt.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}},Kt.concat=function(e,t){if(!Vt(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return Kt.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=Kt.allocUnsafe(t),o=0;for(n=0;n<e.length;++n){var a=e[n];if(!nn(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(r,o),o+=a.length}return r},Kt.byteLength=rn,Kt.prototype._isBuffer=!0,Kt.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)an(this,t,t+1);return this},Kt.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)an(this,t,t+3),an(this,t+1,t+2);return this},Kt.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)an(this,t,t+7),an(this,t+1,t+6),an(this,t+2,t+5),an(this,t+3,t+4);return this},Kt.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?gn(this,0,e):on.apply(this,arguments)},Kt.prototype.equals=function(e){if(!nn(e))throw new TypeError("Argument must be a Buffer");return this===e||0===Kt.compare(this,e)},Kt.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+">"},Kt.prototype.compare=function(e,t,n,r,o){if(!nn(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 a=(o>>>=0)-(r>>>=0),i=(n>>>=0)-(t>>>=0),s=Math.min(a,i),l=this.slice(r,o),c=e.slice(t,n),u=0;u<s;++u)if(l[u]!==c[u]){a=l[u],i=c[u];break}return a<i?-1:i<a?1:0},Kt.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},Kt.prototype.indexOf=function(e,t,n){return sn(this,e,t,n,!0)},Kt.prototype.lastIndexOf=function(e,t,n){return sn(this,e,t,n,!1)},Kt.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 a=!1;;)switch(r){case"hex":return cn(this,e,t,n);case"utf8":case"utf-8":return un(this,e,t,n);case"ascii":return fn(this,e,t,n);case"latin1":case"binary":return dn(this,e,t,n);case"base64":return pn(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return hn(this,e,t,n);default:if(a)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),a=!0}},Kt.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var yn=4096;function vn(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 _n(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 bn(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var o="",a=t;a<n;++a)o+=Rn(e[a]);return o}function wn(e,t,n){for(var r=e.slice(t,n),o="",a=0;a<r.length;a+=2)o+=String.fromCharCode(r[a]+256*r[a+1]);return o}function Sn(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 xn(e,t,n,r,o,a){if(!nn(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||t<a)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function En(e,t,n,r){t<0&&(t=65535+t+1);for(var o=0,a=Math.min(e.length-n,2);o<a;++o)e[n+o]=(t&255<<8*(r?o:1-o))>>>8*(r?o:1-o)}function kn(e,t,n,r){t<0&&(t=4294967295+t+1);for(var o=0,a=Math.min(e.length-n,4);o<a;++o)e[n+o]=t>>>8*(r?o:3-o)&255}function An(e,t,n,r,o,a){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function On(e,t,n,r,o){return o||An(e,0,n,4),Wt(e,t,n,r,23,4),n+4}function Cn(e,t,n,r,o){return o||An(e,0,n,8),Wt(e,t,n,r,52,8),n+8}Kt.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),Kt.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=Kt.prototype;else{var o=t-e;n=new Kt(o,void 0);for(var a=0;a<o;++a)n[a]=this[a+e]}return n},Kt.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||Sn(e,t,this.length);for(var r=this[e],o=1,a=0;++a<t&&(o*=256);)r+=this[e+a]*o;return r},Kt.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||Sn(e,t,this.length);for(var r=this[e+--t],o=1;t>0&&(o*=256);)r+=this[e+--t]*o;return r},Kt.prototype.readUInt8=function(e,t){return t||Sn(e,1,this.length),this[e]},Kt.prototype.readUInt16LE=function(e,t){return t||Sn(e,2,this.length),this[e]|this[e+1]<<8},Kt.prototype.readUInt16BE=function(e,t){return t||Sn(e,2,this.length),this[e]<<8|this[e+1]},Kt.prototype.readUInt32LE=function(e,t){return t||Sn(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Kt.prototype.readUInt32BE=function(e,t){return t||Sn(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Kt.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||Sn(e,t,this.length);for(var r=this[e],o=1,a=0;++a<t&&(o*=256);)r+=this[e+a]*o;return r>=(o*=128)&&(r-=Math.pow(2,8*t)),r},Kt.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||Sn(e,t,this.length);for(var r=t,o=1,a=this[e+--r];r>0&&(o*=256);)a+=this[e+--r]*o;return a>=(o*=128)&&(a-=Math.pow(2,8*t)),a},Kt.prototype.readInt8=function(e,t){return t||Sn(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Kt.prototype.readInt16LE=function(e,t){t||Sn(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},Kt.prototype.readInt16BE=function(e,t){t||Sn(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},Kt.prototype.readInt32LE=function(e,t){return t||Sn(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Kt.prototype.readInt32BE=function(e,t){return t||Sn(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Kt.prototype.readFloatLE=function(e,t){return t||Sn(e,4,this.length),Ht(this,e,!0,23,4)},Kt.prototype.readFloatBE=function(e,t){return t||Sn(e,4,this.length),Ht(this,e,!1,23,4)},Kt.prototype.readDoubleLE=function(e,t){return t||Sn(e,8,this.length),Ht(this,e,!0,52,8)},Kt.prototype.readDoubleBE=function(e,t){return t||Sn(e,8,this.length),Ht(this,e,!1,52,8)},Kt.prototype.writeUIntLE=function(e,t,n,r){e=+e,t|=0,n|=0,r||xn(this,e,t,n,Math.pow(2,8*n)-1,0);var o=1,a=0;for(this[t]=255&e;++a<n&&(o*=256);)this[t+a]=e/o&255;return t+n},Kt.prototype.writeUIntBE=function(e,t,n,r){e=+e,t|=0,n|=0,r||xn(this,e,t,n,Math.pow(2,8*n)-1,0);var o=n-1,a=1;for(this[t+o]=255&e;--o>=0&&(a*=256);)this[t+o]=e/a&255;return t+n},Kt.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||xn(this,e,t,1,255,0),Kt.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},Kt.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||xn(this,e,t,2,65535,0),Kt.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):En(this,e,t,!0),t+2},Kt.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||xn(this,e,t,2,65535,0),Kt.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):En(this,e,t,!1),t+2},Kt.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||xn(this,e,t,4,4294967295,0),Kt.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):kn(this,e,t,!0),t+4},Kt.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||xn(this,e,t,4,4294967295,0),Kt.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):kn(this,e,t,!1),t+4},Kt.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);xn(this,e,t,n,o-1,-o)}var a=0,i=1,s=0;for(this[t]=255&e;++a<n&&(i*=256);)e<0&&0===s&&0!==this[t+a-1]&&(s=1),this[t+a]=(e/i>>0)-s&255;return t+n},Kt.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);xn(this,e,t,n,o-1,-o)}var a=n-1,i=1,s=0;for(this[t+a]=255&e;--a>=0&&(i*=256);)e<0&&0===s&&0!==this[t+a+1]&&(s=1),this[t+a]=(e/i>>0)-s&255;return t+n},Kt.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||xn(this,e,t,1,127,-128),Kt.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},Kt.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||xn(this,e,t,2,32767,-32768),Kt.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):En(this,e,t,!0),t+2},Kt.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||xn(this,e,t,2,32767,-32768),Kt.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):En(this,e,t,!1),t+2},Kt.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||xn(this,e,t,4,2147483647,-2147483648),Kt.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):kn(this,e,t,!0),t+4},Kt.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||xn(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),Kt.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):kn(this,e,t,!1),t+4},Kt.prototype.writeFloatLE=function(e,t,n){return On(this,e,t,!0,n)},Kt.prototype.writeFloatBE=function(e,t,n){return On(this,e,t,!1,n)},Kt.prototype.writeDoubleLE=function(e,t,n){return Cn(this,e,t,!0,n)},Kt.prototype.writeDoubleBE=function(e,t,n){return Cn(this,e,t,!1,n)},Kt.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,a=r-n;if(this===e&&n<t&&t<r)for(o=a-1;o>=0;--o)e[o+t]=this[o+n];else if(a<1e3||!Kt.TYPED_ARRAY_SUPPORT)for(o=0;o<a;++o)e[o+t]=this[o+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+a),t);return a},Kt.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&&!Kt.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 a;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(a=t;a<n;++a)this[a]=e;else{var i=nn(e)?e:Tn(new Kt(e,r).toString()),s=i.length;for(a=0;a<n-t;++a)this[a+t]=i[a%s]}return this};var Nn=/[^+\/0-9A-Za-z-_]/g;function Rn(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,a=[],i=0;i<r;++i){if((n=e.charCodeAt(i))>55295&&n<57344){if(!o){if(n>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(i+1===r){(t-=3)>-1&&a.push(239,191,189);continue}o=n;continue}if(n<56320){(t-=3)>-1&&a.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(t-=3)>-1&&a.push(239,191,189);if(o=null,n<128){if((t-=1)<0)break;a.push(n)}else if(n<2048){if((t-=2)<0)break;a.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;a.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;a.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return a}function In(e){return function(e){var t,n,r,o,a,i;Ut||zt();var s=e.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");i=new Bt(3*s/4-(a="="===e[s-2]?2:"="===e[s-1]?1:0)),r=a>0?s-4:s;var l=0;for(t=0,n=0;t<r;t+=4,n+=3)o=qt[e.charCodeAt(t)]<<18|qt[e.charCodeAt(t+1)]<<12|qt[e.charCodeAt(t+2)]<<6|qt[e.charCodeAt(t+3)],i[l++]=o>>16&255,i[l++]=o>>8&255,i[l++]=255&o;return 2===a?(o=qt[e.charCodeAt(t)]<<2|qt[e.charCodeAt(t+1)]>>4,i[l++]=255&o):1===a&&(o=qt[e.charCodeAt(t)]<<10|qt[e.charCodeAt(t+1)]<<4|qt[e.charCodeAt(t+2)]>>2,i[l++]=o>>8&255,i[l++]=255&o),i}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(Nn,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function Pn(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 Mn(e){return null!=e&&(!!e._isBuffer||Fn(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&Fn(e.slice(0,0))}(e))}function Fn(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}for(var jn=Math.floor(16777215*Math.random()),Ln=Wn.index=parseInt(16777215*Math.random(),10),Dn=(void 0===Lt||"number"!=typeof Lt.pid?Math.floor(1e5*Math.random()):Lt.pid)%65535,qn=function(){try{return _Buffer}catch(e){try{return Kt}catch(e){return null}}}(),Bn=function(e){return!(null==e||!e.constructor||"function"!=typeof e.constructor.isBuffer||!e.constructor.isBuffer(e))},Un=[],zn=0;zn<256;zn++)Un[zn]=(zn<=15?"0":"")+zn.toString(16);var Gn=new RegExp("^[0-9a-fA-F]{24}$"),Hn=[];for(zn=0;zn<10;)Hn[48+zn]=zn++;for(;zn<16;)Hn[55+zn]=Hn[87+zn]=zn++;function Wn(e){if(!(this instanceof Wn))return new Wn(e);if(e&&(e instanceof Wn||"ObjectID"===e._bsontype))return e;if(this._bsontype="ObjectID",null!=e&&"number"!=typeof e){var t=Wn.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 Wn.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 $n=Wn;Wn.default=Wn,Wn.createFromTime=function(e){return new Wn(function(e,t){return 8===(t=t.toString(16)).length?t:"00000000".substring(t.length,8)+t}(0,e=parseInt(e,10)%4294967295)+"0000000000000000")},Wn.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(Hn[e.charCodeAt(n++)]<<4|Hn[e.charCodeAt(n++)]);return new Wn(t)},Wn.isValid=function(e){return null!=e&&("number"==typeof e||("string"==typeof e?12===e.length||24===e.length&&Gn.test(e):e instanceof Wn||(Bn(e)?Wn.isValid(e.toString("hex")):!("function"!=typeof e.toHexString||!qn||!(e.id instanceof qn||"string"==typeof e.id))&&(12===e.id.length||24===e.id.length&&Gn.test(e.id)))))},Wn.prototype={constructor:Wn,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(Bn(this.id))return this.id.toString("hex");for(var e="",t=0;t<this.id.length;t++)e+=Un[this.id.charCodeAt(t)];return e},equals:function(e){return e instanceof Wn?this.toString()===e.toString():"string"==typeof e&&Wn.isValid(e)&&12===e.length&&Bn(this.id)?e===this.id.toString("binary"):"string"==typeof e&&Wn.isValid(e)&&24===e.length?e.toLowerCase()===this.toHexString():"string"==typeof e&&Wn.isValid(e)&&12===e.length?e===this.id:!(null==e||!(e instanceof Wn||e.toHexString))&&e.toHexString()===this.toHexString()},getTimestamp:function(){var e,t=new Date;return e=Bn(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=Ln=(Ln+1)%16777215;return String.fromCharCode(e>>24&255,e>>16&255,e>>8&255,255&e,jn>>16&255,jn>>8&255,255&jn,Dn>>8&255,255&Dn,t>>16&255,t>>8&255,255&t)}};var Vn=Symbol&&Symbol.for&&Symbol.for("nodejs.util.inspect.custom")||"inspect";Wn.prototype[Vn]=function(){return"ObjectID("+this+")"},Wn.prototype.toJSON=Wn.prototype.toHexString,Wn.prototype.toString=Wn.prototype.toHexString,Object.defineProperty(ft,"__esModule",{value:!0}),ft.FeatureChange=void 0,ft.isFeatureChange=function(e){return(0,Yn.isAssemblySpecificChange)(e)&&void 0!==e.changedIds};var Jn=Xe.__importDefault($n),Yn=tt,Kn=function(e){ne(n,e);var t=ce(n);function n(e,r){var o;return X(this,n),(o=t.call(this,e,r)).changedIds=e.changedIds,o}return ee(n,[{key:"getFeatureFromId",value:function(e,t){var n,r,o,a,i=this.logger;if(null===(n=i.verbose)||void 0===n||n.call(i,"Entry=".concat(JSON.stringify(e))),e._id.equals(t))return null===(r=i.debug)||void 0===r||r.call(i,"Top level featureId matches in the object ".concat(JSON.stringify(e))),e;null===(o=i.debug)||void 0===o||o.call(i,"FeatureId was not found on top level so lets make recursive call...");var s,l=_e(null!==(a=e.children)&&void 0!==a?a:new Map);try{for(l.s();!(s=l.n()).done;){var c=fe(s.value,2),u=this.getFeatureFromId(c[1],t);if(u)return u}}catch(e){l.e(e)}finally{l.f()}return null}},{key:"getChildFeatureIds",value:function(e){if(!e.children)return[];var t,n=[],r=_e((e.children instanceof Map?e.children:new Map(Object.entries(e.children)))||new Map);try{for(r.s();!(t=r.n()).done;){var o=fe(t.value,2);n.push.apply(n,[o[0]].concat(pe(this.getChildFeatureIds(o[1]))))}}catch(e){r.e(e)}finally{r.f()}return n}},{key:"generateNewIds",value:function(e,t){var n=(new Jn.default).toHexString();t.push(n);var r={};if(e.children)for(var o=0,a=Object.values(e.children);o<a.length;o++){var i=this.generateNewIds(a[o],t);r[i._id]=i}var s="string"==typeof e.refSeq?e.refSeq:e.refSeq.toHexString();return V(V({},e),{},{refSeq:s,children:e.children&&r,_id:n})}}]),n}(Yn.AssemblySpecificChange);ft.FeatureChange=Kn;var Zn={};Object.defineProperty(Zn,"__esModule",{value:!0}),Zn.operationRegistry=void 0,Zn.operationRegistry=new(function(){function e(){X(this,e),this.operations=new Map}return ee(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 Xn={};Object.defineProperty(Xn,"__esModule",{value:!0}),Xn.Validation=void 0,Xn.isContext=function(e){return"context"in e&&"reflector"in e};var Qn=function(){function e(){X(this,e)}var t,n,r,o,a;return ee(e,[{key:"frontendPreValidate",value:(a=Z(J().mark((function e(t){return J().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 a.apply(this,arguments)})},{key:"frontendPostValidate",value:(o=Z(J().mark((function e(t,n){return J().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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t,n){return J().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=Z(J().mark((function e(t){return J().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}();Xn.Validation=Qn,function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=Xe;t.__exportStar(Qe,e),t.__exportStar(tt,e),t.__exportStar(nt,e),t.__exportStar(rt,e),t.__exportStar(ct,e),t.__exportStar(ut,e),t.__exportStar(ft,e),t.__exportStar(ot,e),t.__exportStar(Zn,e),t.__exportStar(Xn,e)}(B);var er={},tr={},nr={},rr={},or={},ar={};Object.defineProperty(ar,"__esModule",{value:!0}),ar.ApolloPlugin=void 0;var ir=function(e){ne(n,e);var t=ce(n);function n(){return X(this,n),t.apply(this,arguments)}return ee(n,[{key:"apolloInstall",value:function(e){}}]),n}(Xe.__importDefault(A.default).default);ar.ApolloPlugin=ir;var sr={},lr={},cr={};Object.defineProperty(cr,"__esModule",{value:!0}),cr.changeRegistry=void 0,cr.changeRegistry=new(function(){function e(){X(this,e),this.changes=new Map}return ee(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 ur={};Object.defineProperty(ur,"__esModule",{value:!0}),ur.Operation=void 0;var fr=function(){function e(t,n){var r;X(this,e),this.logger=null!==(r=null==n?void 0:n.logger)&&void 0!==r?r:console}var t;return ee(e,[{key:"execute",value:(t=Z(J().mark((function e(t){var n,r;return J().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}();ur.Operation=fr,Object.defineProperty(lr,"__esModule",{value:!0}),lr.Change=void 0,lr.isChange=function(e){return void 0!==e.executeOnClient};var dr=cr,pr=function(e){ne(r,e);var t,n=ce(r);function r(){return X(this,r),n.apply(this,arguments)}return ee(r,[{key:"notification",get:function(){return""}},{key:"execute",value:(t=Z(J().mark((function e(t){var n;return J().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",ue(re(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(dr.changeRegistry.getChangeType(e.typeName))(e,(null==t?void 0:t.logger)&&{logger:t.logger})}}]),r}(ur.Operation);lr.Change=pr,Object.defineProperty(sr,"__esModule",{value:!0}),sr.AssemblySpecificChange=void 0,sr.isAssemblySpecificChange=function(e){return(0,hr.isChange)(e)&&void 0!==e.assembly};var hr=lr;sr.AssemblySpecificChange=function(e){ne(n,e);var t=ce(n);function n(e,r){var o;return X(this,n),(o=t.call(this,e,r)).assembly=e.assembly,o}return ee(n)}(hr.Change);var mr={};Object.defineProperty(mr,"__esModule",{value:!0}),mr.Check=void 0,mr.Check=ee((function e(){X(this,e)}));var gr={};Object.defineProperty(gr,"__esModule",{value:!0}),gr.checkRegistry=void 0,gr.checkRegistry=new(function(){function e(){X(this,e),this.checks=new Map}return ee(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 yr={};Object.defineProperty(yr,"__esModule",{value:!0}),yr.FeatureChange=void 0,yr.isFeatureChange=function(e){return(0,_r.isAssemblySpecificChange)(e)&&void 0!==e.changedIds};var vr=Xe.__importDefault($n),_r=sr,br=function(e){ne(n,e);var t=ce(n);function n(e,r){var o;return X(this,n),(o=t.call(this,e,r)).changedIds=e.changedIds,o}return ee(n,[{key:"getFeatureFromId",value:function(e,t){var n,r,o,a,i=this.logger;if(null===(n=i.verbose)||void 0===n||n.call(i,"Entry=".concat(JSON.stringify(e))),e._id.equals(t))return null===(r=i.debug)||void 0===r||r.call(i,"Top level featureId matches in the object ".concat(JSON.stringify(e))),e;null===(o=i.debug)||void 0===o||o.call(i,"FeatureId was not found on top level so lets make recursive call...");var s,l=_e(null!==(a=e.children)&&void 0!==a?a:new Map);try{for(l.s();!(s=l.n()).done;){var c=fe(s.value,2),u=this.getFeatureFromId(c[1],t);if(u)return u}}catch(e){l.e(e)}finally{l.f()}return null}},{key:"getChildFeatureIds",value:function(e){if(!e.children)return[];var t,n=[],r=_e((e.children instanceof Map?e.children:new Map(Object.entries(e.children)))||new Map);try{for(r.s();!(t=r.n()).done;){var o=fe(t.value,2);n.push.apply(n,[o[0]].concat(pe(this.getChildFeatureIds(o[1]))))}}catch(e){r.e(e)}finally{r.f()}return n}},{key:"generateNewIds",value:function(e,t){var n=(new vr.default).toHexString();t.push(n);var r={};if(e.children)for(var o=0,a=Object.values(e.children);o<a.length;o++){var i=this.generateNewIds(a[o],t);r[i._id]=i}var s="string"==typeof e.refSeq?e.refSeq:e.refSeq.toHexString();return V(V({},e),{},{refSeq:s,children:e.children&&r,_id:n})}}]),n}(_r.AssemblySpecificChange);yr.FeatureChange=br;var wr={};Object.defineProperty(wr,"__esModule",{value:!0}),wr.operationRegistry=void 0,wr.operationRegistry=new(function(){function e(){X(this,e),this.operations=new Map}return ee(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 Sr={};Object.defineProperty(Sr,"__esModule",{value:!0}),Sr.Validation=void 0,Sr.isContext=function(e){return"context"in e&&"reflector"in e};var xr=function(){function e(){X(this,e)}var t,n,r,o,a;return ee(e,[{key:"frontendPreValidate",value:(a=Z(J().mark((function e(t){return J().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 a.apply(this,arguments)})},{key:"frontendPostValidate",value:(o=Z(J().mark((function e(t,n){return J().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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t,n){return J().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=Z(J().mark((function e(t){return J().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}();Sr.Validation=xr,function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=Xe;t.__exportStar(ar,e),t.__exportStar(sr,e),t.__exportStar(lr,e),t.__exportStar(cr,e),t.__exportStar(mr,e),t.__exportStar(gr,e),t.__exportStar(yr,e),t.__exportStar(ur,e),t.__exportStar(wr,e),t.__exportStar(Sr,e)}(or);var Er={},kr={};Object.defineProperty(kr,"__esModule",{value:!0}),kr.annotationFeatureToGFF3=Or;var Ar=O.default;function Or(e,t,n){var r,o,a,i,s=JSON.parse(JSON.stringify(null!==(r=e.attributes)&&void 0!==r?r:{})),l=[],c=null!==(o=null===(a=e.attributes)||void 0===a||null===(a=a.gff_source)||void 0===a?void 0:a[0])&&void 0!==o?o:null;delete s.gff_source,t&&(s.Parent=[t]),s.gff_id?(s.ID=s.gff_id,delete s.gff_id):e.children&&(s.ID=[e._id]),s.gff_name&&(s.Name=s.gff_name,delete s.gff_name),s.gff_alias&&(s.Alias=s.gff_alias,delete s.gff_alias),s.gff_target&&(s.Target=s.gff_target,delete s.gff_target),s.gff_gap&&(s.Gap=s.gff_gap,delete s.gff_gap),s.gff_derives_from&&(s.Derives_from=s.gff_derives_from,delete s.gff_derives_from),s.gff_note&&(s.Note=s.gff_note,delete s.gff_note),s.gff_dbxref&&(s.Dbxref=s.gff_dbxref,delete s.gff_dbxref),s.gff_is_circular&&(s.Is_circular=s.gff_is_circular,delete s.gff_is_circular),s.gff_ontology_term&&(l.push.apply(l,pe(s.gff_ontology_term)),delete s.gff_ontology_term),s["Gene Ontology"]&&(l.push.apply(l,pe(s["Gene Ontology"])),delete s["Gene Ontology"]),s["Sequence Ontology"]&&(l.push.apply(l,pe(s["Sequence Ontology"])),delete s["Sequence Ontology"]),l.length>0&&(s.Ontology_term=l);var u=null===(i=e.attributes)||void 0===i?void 0:i.gff_score,f=null;return u&&u.length>0&&(u[0]&&(f=Number(u[0]),Number.isNaN(f)&&(f=null)),delete s.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:c,type:e.type,score:f,strand:e.strand?1===e.strand?"+":"-":null,phase:null,attributes:Object.keys(s).length>0?s:null,derived_features:[],child_features:Cr(e,null===(o=s.ID)||void 0===o?void 0:o[0],n)}}))}function Cr(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=[],a=_e(n);try{var i=function(){for(var n=r.value,a=n.max,i=n.min,s=[],l=!1,c=[],u=0,f=t;u<f.length;u++){var d=f[u];"exon"===d.type&&c.push({min:d.min,max:d.max})}c.sort((function(e,t){return e.min-t.min}));for(var p=0,h=c;p<h.length;p++){var m=h[p],g=s.at(-1);g&&s.push({min:g.max,max:m.min,type:"intron"});var y,v=fe((0,Ar.intersection2)(i,a,m.min,m.max),2),_=v[0],b=v[1];y=l?1===e.strand?"threePrimeUTR":"fivePrimeUTR":1===e.strand?"fivePrimeUTR":"threePrimeUTR",void 0!==_&&void 0!==b?(l=!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,V(V({},e),{},{phase:t})}));o.push(S)};for(a.s();!(r=a.n()).done;)i()}catch(e){a.e(e)}finally{a.f()}return o}(e);return t.map((function(e){return e.filter((function(e){return"CDS"===e.type}))}))}(e),a=0,i=0,s=Object.values(e.children);i<s.length;i++){var l=s[i],c=Or(l,t,n);if("CDS"===l.type){var u,f=_e(o[a]);try{for(f.s();!(u=f.n()).done;){var d=u.value,p=JSON.parse(JSON.stringify(c));if(1!=p.length)throw new Error("Unexpected CDS: ".concat(JSON.stringify(p,null,2)));p[0].start=d.min+1,p[0].end=d.max,p[0].phase=d.phase.toString(),p[0].type=d.type,r.push(p)}}catch(e){f.e(e)}finally{f.f()}a++}else r.push(c)}return r}return Object.values(e.children).map((function(e){return Or(e,t,n)}))}var Nr={};!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"}}(Nr);var Rr={};Object.defineProperty(Rr,"__esModule",{value:!0}),Rr.gff3ToAnnotationFeature=function e(t,n,r){var o=fe(t,1)[0],a=o.end,i=o.seq_id,s=o.start,l=o.strand,c=o.type;if(!i)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===a)throw new Error("feature does not have end: ".concat(JSON.stringify(o)));var u=fe(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,pe(t))-1,Math.max.apply(Math,pe(n))]}(t),2),f=u[0],d=u[1],p=function(t,n,r){var o={},a=t.filter((function(e){return e.child_features.length>0}));if(a.length>1)throw new Error("Features with multiple locations may not have children");if(0!==a.length){var i,s=[],l=[],c=[],u=_e(fe(a,1)[0].child_features);try{for(u.s();!(i=u.n()).done;){var f=i.value,d=fe(f,1)[0];if("exon"===d.type&&l.push(f),"three_prime_UTR"!==d.type&&"five_prime_UTR"!==d.type||c.push(f),"three_prime_UTR"!==d.type&&"five_prime_UTR"!==d.type&&"intron"!==d.type&&"start_codon"!==d.type&&"stop_codon"!==d.type)if("CDS"===d.type)s.push(f);else{var p=e(f,n,r);o[p._id]=p}}}catch(e){u.e(e)}finally{u.f()}if(s.length>0){var h,m=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 a=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(!a.some((function(e,t){var n=a.at(t+1);return!!n&&(0,Tr.doesIntersect2)(e.start,e.end,n.start,n.end)})))return[e(a,n,r)];var i,s=t.map((function(e){return e[0]})),l=[],c=_e(s);try{var u=function(){var e=i.value,t=l.at(-1);if(!t)return l.push([e]),1;t.some((function(t){return(0,Tr.doesIntersect2)(t.start,t.end,e.start,e.end)}))?l.push([e]):t.push(e)};for(c.s();!(i=c.n()).done;)u()}catch(e){c.e(e)}finally{c.f()}return l.map((function(t){return e(t,n,r)}))}(s,n,r),g=_e(m);try{for(g.s();!(h=g.n()).done;){var y=h.value;o[y._id]=y}}catch(e){g.e(e)}finally{g.f()}var v,_=function(e,t,n,r,o){var a,i=[],s=_e(n);try{for(s.s();!(a=s.n()).done;){var l,c=_e(a.value);try{for(c.s();!(l=c.n()).done;){var u=l.value;if(!u.start||!u.end)throw new Error("UTR has undefined start and/or end\n: ".concat(JSON.stringify(u,null,2)));var f=void 0;"+"===u.strand?f=1:"-"===u.strand&&(f=-1),i.push({_id:(new Ir.default).toHexString(),refSeq:r,type:"exon",min:u.start-1,max:u.end,strand:f})}}catch(e){c.e(e)}finally{c.f()}}}catch(e){s.e(e)}finally{s.f()}i.sort((function(e,t){return e.min-t.min}));var d,p=[],h=_e(e);try{for(h.s();!(d=h.n()).done;){var m=d.value;m.sort((function(e,t){if(!e.start||!t.start)throw new Error("CDS has undefined start");return e.start-t.start}));for(var g=0;g<m.length;g++){var y,v=m[g],_=!1,b=_e(t);try{for(b.s();!(y=b.n()).done;){var w=y.value;if(1!=w.length)throw new Error("Unexpected number of exons");var S=fe(w,1)[0];if(S.start&&S.end&&v.start&&v.end&&S.start<=v.start&&S.end>=v.end){_=!0;break}}}catch(e){b.e(e)}finally{b.f()}if(!_){if(!v.start||!v.end)throw new Error("CDS has undefined start and/or end: ".concat(JSON.stringify(v,null,2)));var x=void 0;"+"===v.strand?x=1:"-"===v.strand&&(x=-1);var E={_id:(new Ir.default).toHexString(),refSeq:r,type:"exon",min:v.start-1,max:v.end,strand:x};if(0===g){var k,A=_e(i);try{for(A.s();!(k=A.n()).done;){var O=k.value;if(O.max>E.min)break;O.max===E.min?E.min=O.min:p.push(O)}}catch(e){A.e(e)}finally{A.f()}}if(g===m.length-1){var C,N=_e(i);try{for(N.s();!(C=N.n()).done;){var R=C.value;R.min<E.max||(R.min===E.max?E.max=R.max:p.push(R))}}catch(e){N.e(e)}finally{N.f()}}p.push(E)}}}}catch(e){h.e(e)}finally{h.f()}var T=function(e){if(0===e.length)return[];e.sort((function(e,t){return e.min-t.min}));var t=[];t.push(e[0]);for(var n=1;n<e.length;n++){var r=t.at(-1),o=e[n];r&&o.min<=r.max?r.max=Math.max(r.max,o.max):t.push(o)}return t}(p);if(o){var I,P=_e(T);try{for(P.s();!(I=P.n()).done;){var M=I.value;o.includes(M._id)||o.push(M._id)}}catch(e){P.e(e)}finally{P.f()}}return T}(s,l,c,m[0].refSeq,r),b=_e(_);try{for(b.s();!(v=b.n()).done;){var w=v.value;o[w._id]=w}}catch(e){b.e(e)}finally{b.f()}}return Object.keys(o).length>0?o:void 0}}(t,n,r),h=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 a=fe(n,1)[0];n.length>1&&(a=n.reduce((function(e,t){return e+t}),0)/n.length),t.gff_score=[String(a)]}if(r.length>0){var i=fe(r,1)[0];r.length>1&&(i=pe(new Set(r)).join(",")),t.gff_source=[i]}if(o.length>0){var s,l=_e(o);try{for(l.s();!(s=l.n()).done;)for(var c=0,u=Object.entries(s.value);c<u.length;c++){var f=fe(u[c],2),d=f[0],p=f[1];if(p&&"Parent"!==d){var h=(0,Pr.isGFFReservedAttribute)(d)?Pr.gffToInternal[d]:d,m=t[h];if(m){var g=new Set([].concat(pe(m),pe(p)));t[h]=pe(g)}else t[h]=p}}}catch(e){l.e(e)}finally{l.f()}}if(Object.keys(t).length>0)return t}(t),m={_id:(new Ir.default).toHexString(),refSeq:null!=n?n:i,type:c,min:f,max:d};if(l)if("+"===l)m.strand=1;else{if("-"!==l)throw new Error('Unknown strand: "'.concat(l,'"'));m.strand=-1}return p&&(m.children=p),h&&(m.attributes=h),r&&r.push(m._id),m};var Tr=O.default,Ir=Xe.__importDefault($n),Pr=Nr;!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=Xe;t.__exportStar(kr,e),t.__exportStar(Nr,e),t.__exportStar(Rr,e)}(Er),Object.defineProperty(rr,"__esModule",{value:!0}),rr.FromFileBaseChange=void 0;var Mr=Er,Fr=function(e){ne(a,e);var t,n,r,o=ce(a);function a(){var e;X(this,a);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return te(le(e=o.call.apply(o,[this].concat(n))),"refSeqCache",new Map),e}return ee(a,[{key:"addRefSeqIntoDb",value:(r=Z(J().mark((function e(t,n,r){var o,a,i,s,l,c,u,f,d,p,h,m,g,y,v,_,b,w,S,x,E,k,A,O,C,N,R,T,I,P,M,F,j,L,D,q,B,U,z,H,W,$,Y,K,Z,X;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:a=this.logger,i=r.filesService,s=r.refSeqChunkModel,l=r.refSeqModel,c=r.user,f=(u=Lt.env.CHUNK_SIZE)&&Number(u),d=0,p=0,m="text/x-gff3"!==t.type,g=i.getFileStream(t),y="",v="",_=!0,b=!1,null===(o=a.debug)||void 0===o||o.call(a,"starting sequence stream"),w=0,S=!1,x=!1,e.prev=16,k=G(g);case 18:return e.next=20,k.next();case 20:if(!(S=!(A=e.sent).done)){e.next=102;break}O=A.value.toString(),_=!O.endsWith("\n"),C=O.split(/\r?\n/),v&&(C[0]="".concat(v).concat(C[0]),v=""),_&&(v=C.pop()||""),N=!1,R=!1,e.prev=29,I=G(C);case 31:return e.next=33,I.next();case 33:if(!(N=!(P=e.sent).done)){e.next=83;break}if(M=P.value,++w%1e6==0&&(null===(F=a.debug)||void 0===F||F.call(a,"Processed ".concat(w," lines"))),m){e.next=40;break}return"##FASTA"===M.trim()&&(m=!0),e.abrupt("continue",80);case 40:if(!(j=/^>\s*(\S+)\s*(.*)/.exec(M))){e.next=66;break}if(b=!0,null===(L=a.debug)||void 0===L||L.call(a,'Reference sequence information line "'.concat(j[0],'"')),""===y){e.next=51;break}if(h){e.next=47;break}throw new Error("No refSeq document found");case 47:return p+=y.length,e.next=50,s.create([{refSeq:h._id,n:d,sequence:y,user:c,status:-1}]);case 50:y="";case 51:return e.next=53,null===(D=h)||void 0===D?void 0:D.updateOne({length:p});case 53:return p=0,d=0,B=j[1].trim(),U=j[2]?j[2].trim():"",e.next=59,l.create([V(V({name:B,description:U,assembly:n,length:0},f?{chunkSize:f}:null),{},{user:c,status:-1})]);case 59:z=fe(e.sent,1),H=z[0],null===(q=a.debug)||void 0===q||q.call(a,'Added new refSeq "'.concat(B,'", desc "').concat(U,'", docId "').concat(H._id,'"')),h=H,e.next=80;break;case 66:if(!/\S/.test(M)){e.next=80;break}if(h){e.next=69;break}throw new Error("No refSeq document found");case 69:$=(W=h)._id,Y=W.chunkSize,y+=M.replaceAll(/\s/g,"");case 71:if(!(y.length>=Y)){e.next=80;break}return K=y.slice(0,Y),p+=K.length,e.next=76,s.create([{refSeq:$,n:d,sequence:K,user:c,status:-1}]);case 76:d++,y=y.slice(Y),e.next=71;break;case 80:N=!1,e.next=31;break;case 83:e.next=89;break;case 85:e.prev=85,e.t0=e.catch(29),R=!0,T=e.t0;case 89:if(e.prev=89,e.prev=90,!N||null==I.return){e.next=94;break}return e.next=94,I.return();case 94:if(e.prev=94,!R){e.next=97;break}throw T;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,E=e.t1;case 108:if(e.prev=108,e.prev=109,!S||null==k.return){e.next=113;break}return e.next=113,k.return();case 113:if(e.prev=113,!x){e.next=116;break}throw E;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(h){e.next=123;break}throw new Error("No refSeq document found");case 123:return _&&(y+=v),p+=y.length,null===(Z=a.verbose)||void 0===Z||Z.call(a,'*** Add the very last chunk to ref seq ("'.concat(h._id,'", index ').concat(d," and total length for ref seq is ").concat(p,'): "').concat(y,'"')),null===(X=a.debug)||void 0===X||X.call(a,"Creating refSeq chunk number ".concat(d,' of "').concat(h._id,'"')),e.next=129,s.create([{refSeq:h._id,n:d,sequence:y,user:c,status:-1}]);case 129:return e.next=131,h.updateOne({length:p});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=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.featureModel,o=t.refSeqModel,a=this.assembly,null===(n=(i=this.logger).debug)||void 0===n||n.call(i,"Removing existing features for assembly = ".concat(a)),e.next=5,o.find({assembly:a}).exec();case 5:s=_e(e.sent),e.prev=7,s.s();case 9:if((l=s.n()).done){e.next=15;break}return c=l.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=Z(J().mark((function e(t,n){var r,o,a,i,s,l,c,u,f,d,p;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.featureModel,o=n.refSeqModel,a=n.user,i=this.assembly,s=this.refSeqCache,l=fe(t,1),c=l[0].seq_id){e.next=5;break}throw new Error("Valid seq_id not found in feature ".concat(JSON.stringify(t)));case 5:if(u=s.get(c)){e.next=20;break}return e.next=9,o.findOne({assembly:i,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:(u=e.t2)&&s.set(c,u);case 20:if(u){e.next=22;break}throw new Error('RefSeq was not found by assembly "'.concat(i,'" and seq_id "').concat(c,'" not found'));case 22:return p=(0,Mr.gff3ToAnnotationFeature)(t,u._id,d=[]),e.next=26,r.create([V(V({allIds:d},p),{},{user:a,status:-1})]);case 26:case"end":return e.stop()}}),e,this)}))),function(e,n){return t.apply(this,arguments)})}]),a}(or.AssemblySpecificChange);rr.FromFileBaseChange=Fr,Object.defineProperty(nr,"__esModule",{value:!0}),nr.AddAssemblyAndFeaturesFromFileChange=void 0;var jr=function(e){ne(a,e);var t,n,r,o=ce(a);function a(e,t){var n;return X(this,a),te(le(n=o.call(this,e,t)),"typeName","AddAssemblyAndFeaturesFromFileChange"),te(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ee(a,[{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=fe(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=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c,u,f,d,p,h,m,g,y,v,_,b,w,S,x,E,k,A,O,C,N;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.assemblyModel,r=t.checkModel,o=t.fileModel,a=t.filesService,i=t.user,s=this.assembly,l=this.logger,c=_e(this.changes),e.prev=3,c.s();case 5:if((u=c.n()).done){e.next=71;break}if(g=(m=u.value).assemblyName,y=m.fileIds.fa,Lt.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=l.debug)||void 0===f||f.call(l,'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:i,status:-1,fileId:y,checks:_}]);case 29:return b=fe(e.sent,1),w=b[0],null===(d=l.debug)||void 0===d||d.call(l,'Added new assembly "'.concat(g,'", docId "').concat(w._id.toHexString(),'"')),null===(p=l.debug)||void 0===p||p.call(l,'File type: "'.concat(v.type,'"')),e.next=36,this.addRefSeqIntoDb(v,w._id.toString(),t);case 36:null===(h=l.debug)||void 0===h||h.call(l,'**************** LOOPATAAN KAIKKI FEATURET SEURAAVAKSI File type: "'.concat(v.type,'"')),S=a.parseGFF3(a.getFileStream(v)),x=!1,E=!1,e.prev=40,A=G(S);case 42:return e.next=44,A.next();case 44:if(!(x=!(O=e.sent).done)){e.next=53;break}return N=O.value,null===(C=l.verbose)||void 0===C||C.call(l,"ENTRY=".concat(JSON.stringify(N))),e.next=50,this.addFeatureIntoDb(N,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),E=!0,k=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,!E){e.next=67;break}throw k;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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t){return J().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 a({typeName:this.typeName,changes:this.changes,assembly:this.assembly},{logger:this.logger})}}]),a}(rr.FromFileBaseChange);nr.AddAssemblyAndFeaturesFromFileChange=jr;var Lr={},Dr={},qr=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};X(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,a,i;return ee(e,[{key:"getBufferFromResponse",value:(i=Z(J().mark((function e(t){return J().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",Kt.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 i.apply(this,arguments)})},{key:"fetch",value:(a=Z(J().mark((function e(t,n){var r;return J().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,V(V({},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 a.apply(this,arguments)})},{key:"read",value:(o=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c,u,f,d,p,h,m,g,y=arguments;return J().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===(i=(a=y.length>4&&void 0!==y[4]?y[4]:{}).headers)?{}:i,l=a.signal,u=void 0===(c=a.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=V(V(V({},this.baseOverrides),u),{},{headers:V(V(V({},s),u.headers),this.baseOverrides.headers),method:"GET",redirect:"follow",mode:"cors",signal:l}),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 h=(p=e.sent).copy(t,n,0,Math.min(r,p.length)),m=d.headers.get("content-range"),(g=/\/(\d+)$/.exec(m||""))&&g[1]&&(this._stat={size:parseInt(g[1],10)}),e.abrupt("return",{bytesRead:h,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=Z(J().mark((function e(){var t,n,r,o,a,i,s,l,c,u=arguments;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return"string"==typeof(t=u.length>0&&void 0!==u[0]?u[0]:{})?(n=t,r={}):(n=t.encoding,delete(r=t).encoding),s=void 0===(i=(o=r).overrides)?{}:i,l=V(V({headers:void 0===(a=o.headers)?{}:a,method:"GET",redirect:"follow",mode:"cors",signal:o.signal},this.baseOverrides),s),e.next=6,this.fetch(this.url,l);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=Z(J().mark((function e(){var t;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._stat){e.next=6;break}return t=Kt.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=Z(J().mark((function e(){return J().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 Br(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 Ur(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 zr=function(){function e(t){X(this,e),this.blob=t,this.size=t.size}var t,n,r,o;return ee(e,[{key:"read",value:(o=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c=arguments;return J().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 i=(a=o)+r,e.next=9,Br(this.blob.slice(a,i));case 9:return s=Kt.from(e.sent),l=s.copy(t,n),e.abrupt("return",{bytesRead:l,buffer:s});case 13:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"readFile",value:(r=Z(J().mark((function e(t){var n;return J().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",Ur(this.blob));case 3:if(!n){e.next=5;break}throw new Error("unsupported encoding: ".concat(n));case 5:return e.next=7,Br(this.blob);case 7:return e.abrupt("return",Kt.from(e.sent));case 9:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"stat",value:(n=Z(J().mark((function e(){return J().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=Z(J().mark((function e(){return J().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 Gr(e){return new qr(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{})}var Hr={__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 Gr(e,r);if(void 0!==t)return new Dr(t,r);throw new Error("no url, path, or filehandle provided, cannot open")},fromUrl:Gr,RemoteFile:qr,LocalFile:Dr,BlobFile:zr},Wr={};!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"!==Y(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 a=0;a<r;a++)e[o+a]=t[n+a]},flattenChunks:function(e){var t,n,r,o,a,i;for(r=0,t=0,n=e.length;t<n;t++)r+=e[t].length;for(i=new Uint8Array(r),o=0,t=0,n=e.length;t<n;t++)i.set(a=e[t],o),o+=a.length;return i}},o={arraySet:function(e,t,n,r,o){for(var a=0;a<r;a++)e[o+a]=t[n+a]},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)}(Wr);var $r={},Vr={},Jr={},Yr=Wr;function Kr(e){for(var t=e.length;--t>=0;)e[t]=0}var Zr=15,Xr=16,Qr=[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],eo=[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],to=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],no=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],ro=new Array(576);Kr(ro);var oo=new Array(60);Kr(oo);var ao=new Array(512);Kr(ao);var io=new Array(256);Kr(io);var so=new Array(29);Kr(so);var lo,co,uo,fo=new Array(30);function po(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 ho(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function mo(e){return e<256?ao[e]:ao[256+(e>>>7)]}function go(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function yo(e,t,n){e.bi_valid>Xr-n?(e.bi_buf|=t<<e.bi_valid&65535,go(e,e.bi_buf),e.bi_buf=t>>Xr-e.bi_valid,e.bi_valid+=n-Xr):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)}function vo(e,t,n){yo(e,n[2*t],n[2*t+1])}function _o(e,t){var n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1}function bo(e,t,n){var r,o,a=new Array(Zr+1),i=0;for(r=1;r<=Zr;r++)a[r]=i=i+n[r-1]<<1;for(o=0;o<=t;o++){var s=e[2*o+1];0!==s&&(e[2*o]=_o(a[s]++,s))}}function wo(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 So(e){e.bi_valid>8?go(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 xo(e,t,n,r){var o=2*t,a=2*n;return e[o]<e[a]||e[o]===e[a]&&r[t]<=r[n]}function Eo(e,t,n){for(var r=e.heap[n],o=n<<1;o<=e.heap_len&&(o<e.heap_len&&xo(t,e.heap[o+1],e.heap[o],e.depth)&&o++,!xo(t,r,e.heap[o],e.depth));)e.heap[n]=e.heap[o],n=o,o<<=1;e.heap[n]=r}function ko(e,t,n){var r,o,a,i,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?vo(e,o,t):(vo(e,(a=io[o])+256+1,t),0!==(i=Qr[a])&&yo(e,o-=so[a],i),vo(e,a=mo(--r),n),0!==(i=eo[a])&&yo(e,r-=fo[a],i))}while(s<e.last_lit);vo(e,256,t)}function Ao(e,t){var n,r,o,a=t.dyn_tree,i=t.stat_desc.static_tree,s=t.stat_desc.has_stree,l=t.stat_desc.elems,c=-1;for(e.heap_len=0,e.heap_max=573,n=0;n<l;n++)0!==a[2*n]?(e.heap[++e.heap_len]=c=n,e.depth[n]=0):a[2*n+1]=0;for(;e.heap_len<2;)a[2*(o=e.heap[++e.heap_len]=c<2?++c:0)]=1,e.depth[o]=0,e.opt_len--,s&&(e.static_len-=i[2*o+1]);for(t.max_code=c,n=e.heap_len>>1;n>=1;n--)Eo(e,a,n);o=l;do{n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Eo(e,a,1),r=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=r,a[2*o]=a[2*n]+a[2*r],e.depth[o]=(e.depth[n]>=e.depth[r]?e.depth[n]:e.depth[r])+1,a[2*n+1]=a[2*r+1]=o,e.heap[1]=o++,Eo(e,a,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var n,r,o,a,i,s,l=t.dyn_tree,c=t.max_code,u=t.stat_desc.static_tree,f=t.stat_desc.has_stree,d=t.stat_desc.extra_bits,p=t.stat_desc.extra_base,h=t.stat_desc.max_length,m=0;for(a=0;a<=Zr;a++)e.bl_count[a]=0;for(l[2*e.heap[e.heap_max]+1]=0,n=e.heap_max+1;n<573;n++)(a=l[2*l[2*(r=e.heap[n])+1]+1]+1)>h&&(a=h,m++),l[2*r+1]=a,r>c||(e.bl_count[a]++,i=0,r>=p&&(i=d[r-p]),e.opt_len+=(s=l[2*r])*(a+i),f&&(e.static_len+=s*(u[2*r+1]+i)));if(0!==m){do{for(a=h-1;0===e.bl_count[a];)a--;e.bl_count[a]--,e.bl_count[a+1]+=2,e.bl_count[h]--,m-=2}while(m>0);for(a=h;0!==a;a--)for(r=e.bl_count[a];0!==r;)(o=e.heap[--n])>c||(l[2*o+1]!==a&&(e.opt_len+=(a-l[2*o+1])*l[2*o],l[2*o+1]=a),r--)}}(e,t),bo(a,c,e.bl_count)}function Oo(e,t,n){var r,o,a=-1,i=t[1],s=0,l=7,c=4;for(0===i&&(l=138,c=3),t[2*(n+1)+1]=65535,r=0;r<=n;r++)o=i,i=t[2*(r+1)+1],++s<l&&o===i||(s<c?e.bl_tree[2*o]+=s:0!==o?(o!==a&&e.bl_tree[2*o]++,e.bl_tree[32]++):s<=10?e.bl_tree[34]++:e.bl_tree[36]++,s=0,a=o,0===i?(l=138,c=3):o===i?(l=6,c=3):(l=7,c=4))}function Co(e,t,n){var r,o,a=-1,i=t[1],s=0,l=7,c=4;for(0===i&&(l=138,c=3),r=0;r<=n;r++)if(o=i,i=t[2*(r+1)+1],!(++s<l&&o===i)){if(s<c)do{vo(e,o,e.bl_tree)}while(0!=--s);else 0!==o?(o!==a&&(vo(e,o,e.bl_tree),s--),vo(e,16,e.bl_tree),yo(e,s-3,2)):s<=10?(vo(e,17,e.bl_tree),yo(e,s-3,3)):(vo(e,18,e.bl_tree),yo(e,s-11,7));s=0,a=o,0===i?(l=138,c=3):o===i?(l=6,c=3):(l=7,c=4)}}Kr(fo);var No=!1;function Ro(e,t,n,r){yo(e,0+(r?1:0),3),function(e,t,n,r){So(e),go(e,n),go(e,~n),Yr.arraySet(e.pending_buf,e.window,t,n,e.pending),e.pending+=n}(e,t,n)}Jr._tr_init=function(e){No||(function(){var e,t,n,r,o,a=new Array(Zr+1);for(n=0,r=0;r<28;r++)for(so[r]=n,e=0;e<1<<Qr[r];e++)io[n++]=r;for(io[n-1]=r,o=0,r=0;r<16;r++)for(fo[r]=o,e=0;e<1<<eo[r];e++)ao[o++]=r;for(o>>=7;r<30;r++)for(fo[r]=o<<7,e=0;e<1<<eo[r]-7;e++)ao[256+o++]=r;for(t=0;t<=Zr;t++)a[t]=0;for(e=0;e<=143;)ro[2*e+1]=8,e++,a[8]++;for(;e<=255;)ro[2*e+1]=9,e++,a[9]++;for(;e<=279;)ro[2*e+1]=7,e++,a[7]++;for(;e<=287;)ro[2*e+1]=8,e++,a[8]++;for(bo(ro,287,a),e=0;e<30;e++)oo[2*e+1]=5,oo[2*e]=_o(e,5);lo=new po(ro,Qr,257,286,Zr),co=new po(oo,eo,0,30,Zr),uo=new po(new Array(0),to,0,19,7)}(),No=!0),e.l_desc=new ho(e.dyn_ltree,lo),e.d_desc=new ho(e.dyn_dtree,co),e.bl_desc=new ho(e.bl_tree,uo),e.bi_buf=0,e.bi_valid=0,wo(e)},Jr._tr_stored_block=Ro,Jr._tr_flush_block=function(e,t,n,r){var o,a,i=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)),Ao(e,e.l_desc),Ao(e,e.d_desc),i=function(e){var t;for(Oo(e,e.dyn_ltree,e.l_desc.max_code),Oo(e,e.dyn_dtree,e.d_desc.max_code),Ao(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*no[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),(a=e.static_len+3+7>>>3)<=(o=e.opt_len+3+7>>>3)&&(o=a)):o=a=n+5,n+4<=o&&-1!==t?Ro(e,t,n,r):4===e.strategy||a===o?(yo(e,2+(r?1:0),3),ko(e,ro,oo)):(yo(e,4+(r?1:0),3),function(e,t,n,r){var o;for(yo(e,t-257,5),yo(e,n-1,5),yo(e,r-4,4),o=0;o<r;o++)yo(e,e.bl_tree[2*no[o]+1],3);Co(e,e.dyn_ltree,t-1),Co(e,e.dyn_dtree,n-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,i+1),ko(e,e.dyn_ltree,e.dyn_dtree)),wo(e),r&&So(e)},Jr._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*(io[n]+256+1)]++,e.dyn_dtree[2*mo(t)]++),e.last_lit===e.lit_bufsize-1},Jr._tr_align=function(e){yo(e,2,3),vo(e,256,ro),function(e){16===e.bi_valid?(go(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,a=e>>>16&65535|0,i=0;0!==n;){n-=i=n>2e3?2e3:n;do{a=a+(o=o+t[r++]|0)|0}while(--i);o%=65521,a%=65521}return o|a<<16|0};function Io(){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 Po,Mo=Io(),Fo=function(e,t,n,r){var o=Mo,a=r+n;e^=-1;for(var i=r;i<a;i++)e=e>>>8^o[255&(e^t[i])];return-1^e},jo={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"},Lo=Wr,Do=Jr,qo=To,Bo=Fo,Uo=jo,zo=0,Go=0,Ho=-2,Wo=2,$o=8,Vo=286,Jo=30,Yo=19,Ko=2*Vo+1,Zo=15,Xo=3,Qo=258,ea=Qo+Xo+1,ta=42,na=103,ra=113,oa=666;function aa(e,t){return e.msg=Uo[t],t}function ia(e){return(e<<1)-(e>4?9:0)}function sa(e){for(var t=e.length;--t>=0;)e[t]=0}function la(e){var t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),0!==n&&(Lo.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 ca(e,t){Do._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,la(e.strm)}function ua(e,t){e.pending_buf[e.pending++]=t}function fa(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function da(e,t){var n,r,o=e.max_chain_length,a=e.strstart,i=e.prev_length,s=e.nice_match,l=e.strstart>e.w_size-ea?e.strstart-(e.w_size-ea):0,c=e.window,u=e.w_mask,f=e.prev,d=e.strstart+Qo,p=c[a+i-1],h=c[a+i];e.prev_length>=e.good_match&&(o>>=2),s>e.lookahead&&(s=e.lookahead);do{if(c[(n=t)+i]===h&&c[n+i-1]===p&&c[n]===c[a]&&c[++n]===c[a+1]){a+=2,n++;do{}while(c[++a]===c[++n]&&c[++a]===c[++n]&&c[++a]===c[++n]&&c[++a]===c[++n]&&c[++a]===c[++n]&&c[++a]===c[++n]&&c[++a]===c[++n]&&c[++a]===c[++n]&&a<d);if(r=Qo-(d-a),a=d-Qo,r>i){if(e.match_start=t,i=r,r>=s)break;p=c[a+i-1],h=c[a+i]}}}while((t=f[t&u])>l&&0!=--o);return i<=e.lookahead?i:e.lookahead}function pa(e){var t,n,r,o,a,i,s,l,c,u,f=e.w_size;do{if(o=e.window_size-e.lookahead-e.strstart,e.strstart>=f+(f-ea)){Lo.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,l=e.strstart+e.lookahead,u=void 0,(u=(i=e.strm).avail_in)>(c=o)&&(u=c),n=0===u?0:(i.avail_in-=u,Lo.arraySet(s,i.input,i.next_in,u,l),1===i.state.wrap?i.adler=qo(i.adler,s,u,l):2===i.state.wrap&&(i.adler=Bo(i.adler,s,u,l)),i.next_in+=u,i.total_in+=u,u),e.lookahead+=n,e.lookahead+e.insert>=Xo)for(e.ins_h=e.window[a=e.strstart-e.insert],e.ins_h=(e.ins_h<<e.hash_shift^e.window[a+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[a+Xo-1])&e.hash_mask,e.prev[a&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=a,a++,e.insert--,!(e.lookahead+e.insert<Xo)););}while(e.lookahead<ea&&0!==e.strm.avail_in)}function ha(e,t){var n=65535;for(n>e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(pa(e),0===e.lookahead&&t===zo)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,ca(e,!1),0===e.strm.avail_out))return 1;if(e.strstart-e.block_start>=e.w_size-ea&&(ca(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(ca(e,!0),0===e.strm.avail_out?3:4):(e.strstart>e.block_start&&ca(e,!1),1)}function ma(e,t){for(var n,r;;){if(e.lookahead<ea){if(pa(e),e.lookahead<ea&&t===zo)return 1;if(0===e.lookahead)break}if(n=0,e.lookahead>=Xo&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Xo-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-ea&&(e.match_length=da(e,n)),e.match_length>=Xo)if(r=Do._tr_tally(e,e.strstart-e.match_start,e.match_length-Xo),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=Xo){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Xo-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=Do._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(ca(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<Xo-1?e.strstart:Xo-1,4===t?(ca(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(ca(e,!1),0===e.strm.avail_out)?1:2}function ga(e,t){for(var n,r,o;;){if(e.lookahead<ea){if(pa(e),e.lookahead<ea&&t===zo)return 1;if(0===e.lookahead)break}if(n=0,e.lookahead>=Xo&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Xo-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=Xo-1,0!==n&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-ea&&(e.match_length=da(e,n),e.match_length<=5&&(1===e.strategy||e.match_length===Xo&&e.strstart-e.match_start>4096)&&(e.match_length=Xo-1)),e.prev_length>=Xo&&e.match_length<=e.prev_length){o=e.strstart+e.lookahead-Xo,r=Do._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-Xo),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+Xo-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=Xo-1,e.strstart++,r&&(ca(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if((r=Do._tr_tally(e,0,e.window[e.strstart-1]))&&ca(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=Do._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<Xo-1?e.strstart:Xo-1,4===t?(ca(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(ca(e,!1),0===e.strm.avail_out)?1:2}function ya(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 va(){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=$o,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 Lo.Buf16(2*Ko),this.dyn_dtree=new Lo.Buf16(2*(2*Jo+1)),this.bl_tree=new Lo.Buf16(2*(2*Yo+1)),sa(this.dyn_ltree),sa(this.dyn_dtree),sa(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Lo.Buf16(Zo+1),this.heap=new Lo.Buf16(2*Vo+1),sa(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Lo.Buf16(2*Vo+1),sa(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 _a(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=Wo,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?ta:ra,e.adler=2===t.wrap?0:1,t.last_flush=zo,Do._tr_init(t),Go):aa(e,Ho)}function ba(e){var t,n=_a(e);return n===Go&&((t=e.state).window_size=2*t.w_size,sa(t.head),t.max_lazy_match=Po[t.level].max_lazy,t.good_match=Po[t.level].good_length,t.nice_match=Po[t.level].nice_length,t.max_chain_length=Po[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=Xo-1,t.match_available=0,t.ins_h=0),n}function wa(e,t,n,r,o,a){if(!e)return Ho;var i=1;if(-1===t&&(t=6),r<0?(i=0,r=-r):r>15&&(i=2,r-=16),o<1||o>9||n!==$o||r<8||r>15||t<0||t>9||a<0||a>4)return aa(e,Ho);8===r&&(r=9);var s=new va;return e.state=s,s.strm=e,s.wrap=i,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+Xo-1)/Xo),s.window=new Lo.Buf8(2*s.w_size),s.head=new Lo.Buf16(s.hash_size),s.prev=new Lo.Buf16(s.w_size),s.lit_bufsize=1<<o+6,s.pending_buf_size=4*s.lit_bufsize,s.pending_buf=new Lo.Buf8(s.pending_buf_size),s.d_buf=1*s.lit_bufsize,s.l_buf=3*s.lit_bufsize,s.level=t,s.strategy=a,s.method=n,ba(e)}Po=[new ya(0,0,0,0,ha),new ya(4,4,8,4,ma),new ya(4,5,16,8,ma),new ya(4,6,32,32,ma),new ya(4,4,16,16,ga),new ya(8,16,32,32,ga),new ya(8,16,128,128,ga),new ya(8,32,128,256,ga),new ya(32,128,258,1024,ga),new ya(32,258,258,4096,ga)],Vr.deflateInit=function(e,t){return wa(e,t,$o,15,8,0)},Vr.deflateInit2=wa,Vr.deflateReset=ba,Vr.deflateResetKeep=_a,Vr.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?Ho:(e.state.gzhead=t,Go):Ho},Vr.deflate=function(e,t){var n,r,o,a;if(!e||!e.state||t>5||t<0)return e?aa(e,Ho):Ho;if(r=e.state,!e.output||!e.input&&0!==e.avail_in||r.status===oa&&4!==t)return aa(e,0===e.avail_out?-5:Ho);if(r.strm=e,n=r.last_flush,r.last_flush=t,r.status===ta)if(2===r.wrap)e.adler=0,ua(r,31),ua(r,139),ua(r,8),r.gzhead?(ua(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)),ua(r,255&r.gzhead.time),ua(r,r.gzhead.time>>8&255),ua(r,r.gzhead.time>>16&255),ua(r,r.gzhead.time>>24&255),ua(r,9===r.level?2:r.strategy>=2||r.level<2?4:0),ua(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(ua(r,255&r.gzhead.extra.length),ua(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(e.adler=Bo(e.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69):(ua(r,0),ua(r,0),ua(r,0),ua(r,0),ua(r,0),ua(r,9===r.level?2:r.strategy>=2||r.level<2?4:0),ua(r,3),r.status=ra);else{var i=$o+(r.w_bits-8<<4)<<8;i|=(r.strategy>=2||r.level<2?0:r.level<6?1:6===r.level?2:3)<<6,0!==r.strstart&&(i|=32),i+=31-i%31,r.status=ra,fa(r,i),0!==r.strstart&&(fa(r,e.adler>>>16),fa(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=Bo(e.adler,r.pending_buf,r.pending-o,o)),la(e),o=r.pending,r.pending!==r.pending_buf_size));)ua(r,255&r.gzhead.extra[r.gzindex]),r.gzindex++;r.gzhead.hcrc&&r.pending>o&&(e.adler=Bo(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=Bo(e.adler,r.pending_buf,r.pending-o,o)),la(e),o=r.pending,r.pending===r.pending_buf_size)){a=1;break}a=r.gzindex<r.gzhead.name.length?255&r.gzhead.name.charCodeAt(r.gzindex++):0,ua(r,a)}while(0!==a);r.gzhead.hcrc&&r.pending>o&&(e.adler=Bo(e.adler,r.pending_buf,r.pending-o,o)),0===a&&(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=Bo(e.adler,r.pending_buf,r.pending-o,o)),la(e),o=r.pending,r.pending===r.pending_buf_size)){a=1;break}a=r.gzindex<r.gzhead.comment.length?255&r.gzhead.comment.charCodeAt(r.gzindex++):0,ua(r,a)}while(0!==a);r.gzhead.hcrc&&r.pending>o&&(e.adler=Bo(e.adler,r.pending_buf,r.pending-o,o)),0===a&&(r.status=na)}else r.status=na;if(r.status===na&&(r.gzhead.hcrc?(r.pending+2>r.pending_buf_size&&la(e),r.pending+2<=r.pending_buf_size&&(ua(r,255&e.adler),ua(r,e.adler>>8&255),e.adler=0,r.status=ra)):r.status=ra),0!==r.pending){if(la(e),0===e.avail_out)return r.last_flush=-1,Go}else if(0===e.avail_in&&ia(t)<=ia(n)&&4!==t)return aa(e,-5);if(r.status===oa&&0!==e.avail_in)return aa(e,-5);if(0!==e.avail_in||0!==r.lookahead||t!==zo&&r.status!==oa){var s=2===r.strategy?function(e,t){for(var n;;){if(0===e.lookahead&&(pa(e),0===e.lookahead)){if(t===zo)return 1;break}if(e.match_length=0,n=Do._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(ca(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(ca(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(ca(e,!1),0===e.strm.avail_out)?1:2}(r,t):3===r.strategy?function(e,t){for(var n,r,o,a,i=e.window;;){if(e.lookahead<=Qo){if(pa(e),e.lookahead<=Qo&&t===zo)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=Xo&&e.strstart>0&&(r=i[o=e.strstart-1])===i[++o]&&r===i[++o]&&r===i[++o]){a=e.strstart+Qo;do{}while(r===i[++o]&&r===i[++o]&&r===i[++o]&&r===i[++o]&&r===i[++o]&&r===i[++o]&&r===i[++o]&&r===i[++o]&&o<a);e.match_length=Qo-(a-o),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=Xo?(n=Do._tr_tally(e,1,e.match_length-Xo),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=Do._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(ca(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(ca(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(ca(e,!1),0===e.strm.avail_out)?1:2}(r,t):Po[r.level].func(r,t);if(3!==s&&4!==s||(r.status=oa),1===s||3===s)return 0===e.avail_out&&(r.last_flush=-1),Go;if(2===s&&(1===t?Do._tr_align(r):5!==t&&(Do._tr_stored_block(r,0,0,!1),3===t&&(sa(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),la(e),0===e.avail_out))return r.last_flush=-1,Go}return 4!==t?Go:r.wrap<=0?1:(2===r.wrap?(ua(r,255&e.adler),ua(r,e.adler>>8&255),ua(r,e.adler>>16&255),ua(r,e.adler>>24&255),ua(r,255&e.total_in),ua(r,e.total_in>>8&255),ua(r,e.total_in>>16&255),ua(r,e.total_in>>24&255)):(fa(r,e.adler>>>16),fa(r,65535&e.adler)),la(e),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?Go:1)},Vr.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==ta&&69!==t&&73!==t&&91!==t&&t!==na&&t!==ra&&t!==oa?aa(e,Ho):(e.state=null,t===ra?aa(e,-3):Go):Ho},Vr.deflateSetDictionary=function(e,t){var n,r,o,a,i,s,l,c,u=t.length;if(!e||!e.state)return Ho;if(2===(a=(n=e.state).wrap)||1===a&&n.status!==ta||n.lookahead)return Ho;for(1===a&&(e.adler=qo(e.adler,t,u,0)),n.wrap=0,u>=n.w_size&&(0===a&&(sa(n.head),n.strstart=0,n.block_start=0,n.insert=0),c=new Lo.Buf8(n.w_size),Lo.arraySet(c,t,u-n.w_size,n.w_size,0),t=c,u=n.w_size),i=e.avail_in,s=e.next_in,l=e.input,e.avail_in=u,e.next_in=0,e.input=t,pa(n);n.lookahead>=Xo;){r=n.strstart,o=n.lookahead-(Xo-1);do{n.ins_h=(n.ins_h<<n.hash_shift^n.window[r+Xo-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=Xo-1,pa(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=Xo-1,n.match_available=0,e.next_in=s,e.input=l,e.avail_in=i,n.wrap=a,Go},Vr.deflateInfo="pako deflate (from Nodeca project)";var Sa={},xa=Wr,Ea=!0,ka=!0;try{String.fromCharCode.apply(null,[0])}catch(e){Ea=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){ka=!1}for(var Aa=new xa.Buf8(256),Oa=0;Oa<256;Oa++)Aa[Oa]=Oa>=252?6:Oa>=248?5:Oa>=240?4:Oa>=224?3:Oa>=192?2:1;function Ca(e,t){if(t<65534&&(e.subarray&&ka||!e.subarray&&Ea))return String.fromCharCode.apply(null,xa.shrinkBuf(e,t));for(var n="",r=0;r<t;r++)n+=String.fromCharCode(e[r]);return n}Aa[254]=Aa[254]=1,Sa.string2buf=function(e){var t,n,r,o,a,i=e.length,s=0;for(o=0;o<i;o++)55296==(64512&(n=e.charCodeAt(o)))&&o+1<i&&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 xa.Buf8(s),a=0,o=0;a<s;o++)55296==(64512&(n=e.charCodeAt(o)))&&o+1<i&&56320==(64512&(r=e.charCodeAt(o+1)))&&(n=65536+(n-55296<<10)+(r-56320),o++),n<128?t[a++]=n:n<2048?(t[a++]=192|n>>>6,t[a++]=128|63&n):n<65536?(t[a++]=224|n>>>12,t[a++]=128|n>>>6&63,t[a++]=128|63&n):(t[a++]=240|n>>>18,t[a++]=128|n>>>12&63,t[a++]=128|n>>>6&63,t[a++]=128|63&n);return t},Sa.buf2binstring=function(e){return Ca(e,e.length)},Sa.binstring2buf=function(e){for(var t=new xa.Buf8(e.length),n=0,r=t.length;n<r;n++)t[n]=e.charCodeAt(n);return t},Sa.buf2string=function(e,t){var n,r,o,a,i=t||e.length,s=new Array(2*i);for(r=0,n=0;n<i;)if((o=e[n++])<128)s[r++]=o;else if((a=Aa[o])>4)s[r++]=65533,n+=a-1;else{for(o&=2===a?31:3===a?15:7;a>1&&n<i;)o=o<<6|63&e[n++],a--;a>1?s[r++]=65533:o<65536?s[r++]=o:(s[r++]=55296|(o-=65536)>>10&1023,s[r++]=56320|1023&o)}return Ca(s,r)},Sa.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+Aa[e[n]]>t?n:t};var Na=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},Ra=Vr,Ta=Wr,Ia=Sa,Pa=jo,Ma=Na,Fa=Object.prototype.toString,ja=0,La=-1,Da=0,qa=8;function Ba(e){if(!(this instanceof Ba))return new Ba(e);this.options=Ta.assign({level:La,method:qa,chunkSize:16384,windowBits:15,memLevel:8,strategy:Da,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 Ma,this.strm.avail_out=0;var n=Ra.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==ja)throw new Error(Pa[n]);if(t.header&&Ra.deflateSetHeader(this.strm,t.header),t.dictionary){var r;if(r="string"==typeof t.dictionary?Ia.string2buf(t.dictionary):"[object ArrayBuffer]"===Fa.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(n=Ra.deflateSetDictionary(this.strm,r))!==ja)throw new Error(Pa[n]);this._dict_set=!0}}function Ua(e,t){var n=new Ba(t);if(n.push(e,!0),n.err)throw n.msg||Pa[n.err];return n.result}Ba.prototype.push=function(e,t){var n,r,o=this.strm,a=this.options.chunkSize;if(this.ended)return!1;r=t===~~t?t:!0===t?4:0,o.input="string"==typeof e?Ia.string2buf(e):"[object ArrayBuffer]"===Fa.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 Ta.Buf8(a),o.next_out=0,o.avail_out=a),1!==(n=Ra.deflate(o,r))&&n!==ja)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?Ia.buf2binstring(Ta.shrinkBuf(o.output,o.next_out)):Ta.shrinkBuf(o.output,o.next_out))}while((o.avail_in>0||0===o.avail_out)&&1!==n);return 4===r?(n=Ra.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===ja):2!==r||(this.onEnd(ja),o.avail_out=0,!0)},Ba.prototype.onData=function(e){this.chunks.push(e)},Ba.prototype.onEnd=function(e){e===ja&&(this.result="string"===this.options.to?this.chunks.join(""):Ta.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},$r.Deflate=Ba,$r.deflate=Ua,$r.deflateRaw=function(e,t){return(t=t||{}).raw=!0,Ua(e,t)},$r.gzip=function(e,t){return(t=t||{}).gzip=!0,Ua(e,t)};var za={},Ga={},Ha=Wr,Wa=[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],$a=[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],Va=[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],Ja=[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],Ya=Wr,Ka=To,Za=Fo,Xa=function(e,t){var n,r,o,a,i,s,l,c,u,f,d,p,h,m,g,y,v,_,b,w,S,x,E,k,A;k=e.input,o=(r=e.next_in)+(e.avail_in-5),A=e.output,i=(a=e.next_out)-(t-e.avail_out),s=a+(e.avail_out-257),l=(n=e.state).dmax,c=n.wsize,u=n.whave,f=n.wnext,d=n.window,p=n.hold,h=n.bits,m=n.lencode,g=n.distcode,y=(1<<n.lenbits)-1,v=(1<<n.distbits)-1;e:do{h<15&&(p+=k[r++]<<h,p+=k[r++]<<(h+=8),h+=8),_=m[p&y];t:for(;;){if(p>>>=b=_>>>24,h-=b,0==(b=_>>>16&255))A[a++]=65535&_;else{if(!(16&b)){if(0==(64&b)){_=m[(65535&_)+(p&(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)&&(h<b&&(p+=k[r++]<<h,h+=8),w+=p&(1<<b)-1,p>>>=b,h-=b),h<15&&(p+=k[r++]<<h,p+=k[r++]<<(h+=8),h+=8),_=g[p&v];n:for(;;){if(p>>>=b=_>>>24,h-=b,!(16&(b=_>>>16&255))){if(0==(64&b)){_=g[(65535&_)+(p&(1<<b)-1)];continue n}e.msg="invalid distance code",n.mode=30;break e}if(S=65535&_,h<(b&=15)&&(p+=k[r++]<<h,(h+=8)<b&&(p+=k[r++]<<h,h+=8)),(S+=p&(1<<b)-1)>l){e.msg="invalid distance too far back",n.mode=30;break e}if(p>>>=b,h-=b,S>(b=a-i)){if((b=S-b)>u&&n.sane){e.msg="invalid distance too far back",n.mode=30;break e}if(x=0,E=d,0===f){if(x+=c-b,b<w){w-=b;do{A[a++]=d[x++]}while(--b);x=a-S,E=A}}else if(f<b){if(x+=c+f-b,(b-=f)<w){w-=b;do{A[a++]=d[x++]}while(--b);if(x=0,f<w){w-=b=f;do{A[a++]=d[x++]}while(--b);x=a-S,E=A}}}else if(x+=f-b,b<w){w-=b;do{A[a++]=d[x++]}while(--b);x=a-S,E=A}for(;w>2;)A[a++]=E[x++],A[a++]=E[x++],A[a++]=E[x++],w-=3;w&&(A[a++]=E[x++],w>1&&(A[a++]=E[x++]))}else{x=a-S;do{A[a++]=A[x++],A[a++]=A[x++],A[a++]=A[x++],w-=3}while(w>2);w&&(A[a++]=A[x++],w>1&&(A[a++]=A[x++]))}break}}break}}while(r<o&&a<s);p&=(1<<(h-=(w=h>>3)<<3))-1,e.next_in=r-=w,e.next_out=a,e.avail_in=r<o?o-r+5:5-(r-o),e.avail_out=a<s?s-a+257:257-(a-s),n.hold=p,n.bits=h},Qa=function(e,t,n,r,o,a,i,s){var l,c,u,f,d,p,h,m,g,y=s.bits,v=0,_=0,b=0,w=0,S=0,x=0,E=0,k=0,A=0,O=0,C=null,N=0,R=new Ha.Buf16(16),T=new Ha.Buf16(16),I=null,P=0;for(v=0;v<=15;v++)R[v]=0;for(_=0;_<r;_++)R[t[n+_]]++;for(S=y,w=15;w>=1&&0===R[w];w--);if(S>w&&(S=w),0===w)return o[a++]=20971520,o[a++]=20971520,s.bits=1,0;for(b=1;b<w&&0===R[b];b++);for(S<b&&(S=b),k=1,v=1;v<=15;v++)if(k<<=1,(k-=R[v])<0)return-1;if(k>0&&(0===e||1!==w))return-1;for(T[1]=0,v=1;v<15;v++)T[v+1]=T[v]+R[v];for(_=0;_<r;_++)0!==t[n+_]&&(i[T[t[n+_]]++]=_);if(0===e?(C=I=i,p=19):1===e?(C=Wa,N-=257,I=$a,P-=257,p=256):(C=Va,I=Ja,p=-1),O=0,_=0,v=b,d=a,x=S,E=0,u=-1,f=(A=1<<S)-1,1===e&&A>852||2===e&&A>592)return 1;for(;;){h=v-E,i[_]<p?(m=0,g=i[_]):i[_]>p?(m=I[P+i[_]],g=C[N+i[_]]):(m=96,g=0),l=1<<v-E,b=c=1<<x;do{o[d+(O>>E)+(c-=l)]=h<<24|m<<16|g|0}while(0!==c);for(l=1<<v-1;O&l;)l>>=1;if(0!==l?(O&=l-1,O+=l):O=0,_++,0==--R[v]){if(v===w)break;v=t[n+i[_]]}if(v>S&&(O&f)!==u){for(0===E&&(E=S),d+=b,k=1<<(x=v-E);x+E<w&&!((k-=R[x+E])<=0);)x++,k<<=1;if(A+=1<<x,1===e&&A>852||2===e&&A>592)return 1;o[u=O&f]=S<<24|x<<16|d-a|0}}return 0!==O&&(o[d+O]=v-E<<24|64<<16|0),s.bits=S,0},ei=0,ti=-2,ni=1,ri=12,oi=30,ai=852,ii=592;function si(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function li(){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 Ya.Buf16(320),this.work=new Ya.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function ci(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=ni,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Ya.Buf32(ai),t.distcode=t.distdyn=new Ya.Buf32(ii),t.sane=1,t.back=-1,ei):ti}function ui(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,ci(e)):ti}function fi(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)?ti:(null!==(r=e.state).window&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,ui(e))):ti}function di(e,t){var n,r;return e?(r=new li,e.state=r,r.window=null,(n=fi(e,t))!==ei&&(e.state=null),n):ti}var pi,hi,mi=!0;function gi(e){if(mi){var t;for(pi=new Ya.Buf32(512),hi=new Ya.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(Qa(1,e.lens,0,288,pi,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Qa(2,e.lens,0,32,hi,0,e.work,{bits:5}),mi=!1}e.lencode=pi,e.lenbits=9,e.distcode=hi,e.distbits=5}function yi(e,t,n,r){var o,a=e.state;return null===a.window&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new Ya.Buf8(a.wsize)),r>=a.wsize?(Ya.arraySet(a.window,t,n-a.wsize,a.wsize,0),a.wnext=0,a.whave=a.wsize):((o=a.wsize-a.wnext)>r&&(o=r),Ya.arraySet(a.window,t,n-r,o,a.wnext),(r-=o)?(Ya.arraySet(a.window,t,n-r,r,0),a.wnext=r,a.whave=a.wsize):(a.wnext+=o,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=o))),0}Ga.inflateReset=ui,Ga.inflateReset2=fi,Ga.inflateResetKeep=ci,Ga.inflateInit=function(e){return di(e,15)},Ga.inflateInit2=di,Ga.inflate=function(e,t){var n,r,o,a,i,s,l,c,u,f,d,p,h,m,g,y,v,_,b,w,S,x,E,k,A=0,O=new Ya.Buf8(4),C=[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 ti;(n=e.state).mode===ri&&(n.mode=13),i=e.next_out,o=e.output,a=e.next_in,r=e.input,c=n.hold,u=n.bits,f=s=e.avail_in,d=l=e.avail_out,x=ei;e:for(;;)switch(n.mode){case ni:if(0===n.wrap){n.mode=13;break}for(;u<16;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}if(2&n.wrap&&35615===c){n.check=0,O[0]=255&c,O[1]=c>>>8&255,n.check=Za(n.check,O,2,0),c=0,u=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=oi;break}if(8!=(15&c)){e.msg="unknown compression method",n.mode=oi;break}if(u-=4,S=8+(15&(c>>>=4)),0===n.wbits)n.wbits=S;else if(S>n.wbits){e.msg="invalid window size",n.mode=oi;break}n.dmax=1<<S,e.adler=n.check=1,n.mode=512&c?10:ri,c=0,u=0;break;case 2:for(;u<16;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}if(n.flags=c,8!=(255&n.flags)){e.msg="unknown compression method",n.mode=oi;break}if(57344&n.flags){e.msg="unknown header flags set",n.mode=oi;break}n.head&&(n.head.text=c>>8&1),512&n.flags&&(O[0]=255&c,O[1]=c>>>8&255,n.check=Za(n.check,O,2,0)),c=0,u=0,n.mode=3;case 3:for(;u<32;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}n.head&&(n.head.time=c),512&n.flags&&(O[0]=255&c,O[1]=c>>>8&255,O[2]=c>>>16&255,O[3]=c>>>24&255,n.check=Za(n.check,O,4,0)),c=0,u=0,n.mode=4;case 4:for(;u<16;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}n.head&&(n.head.xflags=255&c,n.head.os=c>>8),512&n.flags&&(O[0]=255&c,O[1]=c>>>8&255,n.check=Za(n.check,O,2,0)),c=0,u=0,n.mode=5;case 5:if(1024&n.flags){for(;u<16;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}n.length=c,n.head&&(n.head.extra_len=c),512&n.flags&&(O[0]=255&c,O[1]=c>>>8&255,n.check=Za(n.check,O,2,0)),c=0,u=0}else n.head&&(n.head.extra=null);n.mode=6;case 6:if(1024&n.flags&&((p=n.length)>s&&(p=s),p&&(n.head&&(S=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),Ya.arraySet(n.head.extra,r,a,p,S)),512&n.flags&&(n.check=Za(n.check,r,p,a)),s-=p,a+=p,n.length-=p),n.length))break e;n.length=0,n.mode=7;case 7:if(2048&n.flags){if(0===s)break e;p=0;do{S=r[a+p++],n.head&&S&&n.length<65536&&(n.head.name+=String.fromCharCode(S))}while(S&&p<s);if(512&n.flags&&(n.check=Za(n.check,r,p,a)),s-=p,a+=p,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;p=0;do{S=r[a+p++],n.head&&S&&n.length<65536&&(n.head.comment+=String.fromCharCode(S))}while(S&&p<s);if(512&n.flags&&(n.check=Za(n.check,r,p,a)),s-=p,a+=p,S)break e}else n.head&&(n.head.comment=null);n.mode=9;case 9:if(512&n.flags){for(;u<16;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}if(c!==(65535&n.check)){e.msg="header crc mismatch",n.mode=oi;break}c=0,u=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=ri;break;case 10:for(;u<32;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}e.adler=n.check=si(c),c=0,u=0,n.mode=11;case 11:if(0===n.havedict)return e.next_out=i,e.avail_out=l,e.next_in=a,e.avail_in=s,n.hold=c,n.bits=u,2;e.adler=n.check=1,n.mode=ri;case ri:if(5===t||6===t)break e;case 13:if(n.last){c>>>=7&u,u-=7&u,n.mode=27;break}for(;u<3;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}switch(n.last=1&c,u-=1,3&(c>>>=1)){case 0:n.mode=14;break;case 1:if(gi(n),n.mode=20,6===t){c>>>=2,u-=2;break e}break;case 2:n.mode=17;break;case 3:e.msg="invalid block type",n.mode=oi}c>>>=2,u-=2;break;case 14:for(c>>>=7&u,u-=7&u;u<32;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}if((65535&c)!=(c>>>16^65535)){e.msg="invalid stored block lengths",n.mode=oi;break}if(n.length=65535&c,c=0,u=0,n.mode=15,6===t)break e;case 15:n.mode=16;case 16:if(p=n.length){if(p>s&&(p=s),p>l&&(p=l),0===p)break e;Ya.arraySet(o,r,a,p,i),s-=p,a+=p,l-=p,i+=p,n.length-=p;break}n.mode=ri;break;case 17:for(;u<14;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}if(n.nlen=257+(31&c),u-=5,n.ndist=1+(31&(c>>>=5)),u-=5,n.ncode=4+(15&(c>>>=5)),c>>>=4,u-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=oi;break}n.have=0,n.mode=18;case 18:for(;n.have<n.ncode;){for(;u<3;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}n.lens[C[n.have++]]=7&c,c>>>=3,u-=3}for(;n.have<19;)n.lens[C[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,x=Qa(0,n.lens,0,19,n.lencode,0,n.work,E={bits:n.lenbits}),n.lenbits=E.bits,x){e.msg="invalid code lengths set",n.mode=oi;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)<=u);){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}if(v<16)c>>>=g,u-=g,n.lens[n.have++]=v;else{if(16===v){for(k=g+2;u<k;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}if(c>>>=g,u-=g,0===n.have){e.msg="invalid bit length repeat",n.mode=oi;break}S=n.lens[n.have-1],p=3+(3&c),c>>>=2,u-=2}else if(17===v){for(k=g+3;u<k;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}u-=g,S=0,p=3+(7&(c>>>=g)),c>>>=3,u-=3}else{for(k=g+7;u<k;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}u-=g,S=0,p=11+(127&(c>>>=g)),c>>>=7,u-=7}if(n.have+p>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=oi;break}for(;p--;)n.lens[n.have++]=S}}if(n.mode===oi)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=oi;break}if(n.lenbits=9,x=Qa(1,n.lens,0,n.nlen,n.lencode,0,n.work,E={bits:n.lenbits}),n.lenbits=E.bits,x){e.msg="invalid literal/lengths set",n.mode=oi;break}if(n.distbits=6,n.distcode=n.distdyn,x=Qa(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,E={bits:n.distbits}),n.distbits=E.bits,x){e.msg="invalid distances set",n.mode=oi;break}if(n.mode=20,6===t)break e;case 20:n.mode=21;case 21:if(s>=6&&l>=258){e.next_out=i,e.avail_out=l,e.next_in=a,e.avail_in=s,n.hold=c,n.bits=u,Xa(e,d),i=e.next_out,o=e.output,l=e.avail_out,a=e.next_in,r=e.input,s=e.avail_in,c=n.hold,u=n.bits,n.mode===ri&&(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)<=u);){if(0===s)break e;s--,c+=r[a++]<<u,u+=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)<=u);){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}c>>>=_,u-=_,n.back+=_}if(c>>>=g,u-=g,n.back+=g,n.length=v,0===y){n.mode=26;break}if(32&y){n.back=-1,n.mode=ri;break}if(64&y){e.msg="invalid literal/length code",n.mode=oi;break}n.extra=15&y,n.mode=22;case 22:if(n.extra){for(k=n.extra;u<k;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}n.length+=c&(1<<n.extra)-1,c>>>=n.extra,u-=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)<=u);){if(0===s)break e;s--,c+=r[a++]<<u,u+=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)<=u);){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}c>>>=_,u-=_,n.back+=_}if(c>>>=g,u-=g,n.back+=g,64&y){e.msg="invalid distance code",n.mode=oi;break}n.offset=v,n.extra=15&y,n.mode=24;case 24:if(n.extra){for(k=n.extra;u<k;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}n.offset+=c&(1<<n.extra)-1,c>>>=n.extra,u-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=oi;break}n.mode=25;case 25:if(0===l)break e;if(n.offset>(p=d-l)){if((p=n.offset-p)>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=oi;break}h=p>n.wnext?n.wsize-(p-=n.wnext):n.wnext-p,p>n.length&&(p=n.length),m=n.window}else m=o,h=i-n.offset,p=n.length;p>l&&(p=l),l-=p,n.length-=p;do{o[i++]=m[h++]}while(--p);0===n.length&&(n.mode=21);break;case 26:if(0===l)break e;o[i++]=n.length,l--,n.mode=21;break;case 27:if(n.wrap){for(;u<32;){if(0===s)break e;s--,c|=r[a++]<<u,u+=8}if(e.total_out+=d-=l,n.total+=d,d&&(e.adler=n.check=n.flags?Za(n.check,o,d,i-d):Ka(n.check,o,d,i-d)),d=l,(n.flags?c:si(c))!==n.check){e.msg="incorrect data check",n.mode=oi;break}c=0,u=0}n.mode=28;case 28:if(n.wrap&&n.flags){for(;u<32;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}if(c!==(4294967295&n.total)){e.msg="incorrect length check",n.mode=oi;break}c=0,u=0}n.mode=29;case 29:x=1;break e;case oi:x=-3;break e;case 31:return-4;default:return ti}return e.next_out=i,e.avail_out=l,e.next_in=a,e.avail_in=s,n.hold=c,n.bits=u,(n.wsize||d!==e.avail_out&&n.mode<oi&&(n.mode<27||4!==t))&&yi(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?Za(n.check,o,d,e.next_out-d):Ka(n.check,o,d,e.next_out-d)),e.data_type=n.bits+(n.last?64:0)+(n.mode===ri?128:0)+(20===n.mode||15===n.mode?256:0),(0===f&&0===d||4===t)&&x===ei&&(x=-5),x},Ga.inflateEnd=function(e){if(!e||!e.state)return ti;var t=e.state;return t.window&&(t.window=null),e.state=null,ei},Ga.inflateGetHeader=function(e,t){var n;return e&&e.state?0==(2&(n=e.state).wrap)?ti:(n.head=t,t.done=!1,ei):ti},Ga.inflateSetDictionary=function(e,t){var n,r=t.length;return e&&e.state?0!==(n=e.state).wrap&&11!==n.mode?ti:11===n.mode&&Ka(1,t,r,0)!==n.check?-3:yi(e,t,r,r)?(n.mode=31,-4):(n.havedict=1,ei):ti},Ga.inflateInfo="pako inflate (from Nodeca project)";var vi={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},_i=Ga,bi=Wr,wi=Sa,Si=vi,xi=jo,Ei=Na,ki=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},Ai=Object.prototype.toString;function Oi(e){if(!(this instanceof Oi))return new Oi(e);this.options=bi.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 Ei,this.strm.avail_out=0;var n=_i.inflateInit2(this.strm,t.windowBits);if(n!==Si.Z_OK)throw new Error(xi[n]);if(this.header=new ki,_i.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=wi.string2buf(t.dictionary):"[object ArrayBuffer]"===Ai.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=_i.inflateSetDictionary(this.strm,t.dictionary))!==Si.Z_OK))throw new Error(xi[n])}function Ci(e,t){var n=new Oi(t);if(n.push(e,!0),n.err)throw n.msg||xi[n.err];return n.result}Oi.prototype.push=function(e,t){var n,r,o,a,i,s=this.strm,l=this.options.chunkSize,c=this.options.dictionary,u=!1;if(this.ended)return!1;r=t===~~t?t:!0===t?Si.Z_FINISH:Si.Z_NO_FLUSH,s.input="string"==typeof e?wi.binstring2buf(e):"[object ArrayBuffer]"===Ai.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 bi.Buf8(l),s.next_out=0,s.avail_out=l),(n=_i.inflate(s,Si.Z_NO_FLUSH))===Si.Z_NEED_DICT&&c&&(n=_i.inflateSetDictionary(this.strm,c)),n===Si.Z_BUF_ERROR&&!0===u&&(n=Si.Z_OK,u=!1),n!==Si.Z_STREAM_END&&n!==Si.Z_OK)return this.onEnd(n),this.ended=!0,!1;s.next_out&&(0!==s.avail_out&&n!==Si.Z_STREAM_END&&(0!==s.avail_in||r!==Si.Z_FINISH&&r!==Si.Z_SYNC_FLUSH)||("string"===this.options.to?(o=wi.utf8border(s.output,s.next_out),a=s.next_out-o,i=wi.buf2string(s.output,o),s.next_out=a,s.avail_out=l-a,a&&bi.arraySet(s.output,s.output,o,a,0),this.onData(i)):this.onData(bi.shrinkBuf(s.output,s.next_out)))),0===s.avail_in&&0===s.avail_out&&(u=!0)}while((s.avail_in>0||0===s.avail_out)&&n!==Si.Z_STREAM_END);return n===Si.Z_STREAM_END&&(r=Si.Z_FINISH),r===Si.Z_FINISH?(n=_i.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===Si.Z_OK):r!==Si.Z_SYNC_FLUSH||(this.onEnd(Si.Z_OK),s.avail_out=0,!0)},Oi.prototype.onData=function(e){this.chunks.push(e)},Oi.prototype.onEnd=function(e){e===Si.Z_OK&&(this.result="string"===this.options.to?this.chunks.join(""):bi.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},za.Inflate=Oi,za.inflate=Ci,za.inflateRaw=function(e,t){return(t=t||{}).raw=!0,Ci(e,t)},za.ungzip=Ci;var Ni={};(0,Wr.assign)(Ni,$r,za,vi);var Ri=Ni;function Ti(e){return Ii.apply(this,arguments)}function Ii(){return Ii=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c,u,f;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.prev=0,r=0,o=0,a=[],i=0;case 5:if(l=t.subarray(r),s=new Ri.Inflate,n=s.strm,s.push(l,Ri.Z_SYNC_FLUSH),!s.err){e.next=12;break}throw new Error(s.msg);case 12:r+=n.next_in,a[o]=s.result,i+=a[o].length,o+=1;case 16:if(n.avail_in){e.next=5;break}case 17:for(c=new Uint8Array(i),u=0,f=0;u<a.length;u++)c.set(a[u],f),f+=a[u].length;return e.abrupt("return",Kt.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]])}))),Ii.apply(this,arguments)}var Pi=null;try{Pi=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(bl){}function Mi(e,t,n){this.low=0|e,this.high=0|t,this.unsigned=!!n}function Fi(e){return!0===(e&&e.__isLong__)}function ji(e){var t=Math.clz32(e&-e);return e?31-t:t}Object.defineProperty(Mi.prototype,"__isLong__",{value:!0}),Mi.isLong=Fi;var Li={},Di={};function qi(e,t){var n,r,o;return t?(o=0<=(e>>>=0)&&e<256)&&(r=Di[e])?r:(n=Ui(e,0,!0),o&&(Di[e]=n),n):(o=-128<=(e|=0)&&e<128)&&(r=Li[e])?r:(n=Ui(e,e<0?-1:0,!1),o&&(Li[e]=n),n)}function Bi(e,t){if(isNaN(e))return t?Ki:Yi;if(t){if(e<0)return Ki;if(e>=$i)return ts}else{if(e<=-Vi)return ns;if(e+1>=Vi)return es}return e<0?Bi(-e,t).neg():Ui(e%Wi|0,e/Wi|0,t)}function Ui(e,t,n){return new Mi(e,t,n)}Mi.fromInt=qi,Mi.fromNumber=Bi,Mi.fromBits=Ui;var zi=Math.pow;function Gi(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?Ki:Yi;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 Gi(e.substring(1),t,n).neg();for(var o=Bi(zi(n,8)),a=Yi,i=0;i<e.length;i+=8){var s=Math.min(8,e.length-i),l=parseInt(e.substring(i,i+s),n);if(s<8){var c=Bi(zi(n,s));a=a.mul(c).add(Bi(l))}else a=(a=a.mul(o)).add(Bi(l))}return a.unsigned=t,a}function Hi(e,t){return"number"==typeof e?Bi(e,t):"string"==typeof e?Gi(e,t):Ui(e.low,e.high,"boolean"==typeof t?t:e.unsigned)}Mi.fromString=Gi,Mi.fromValue=Hi;var Wi=4294967296,$i=Wi*Wi,Vi=$i/2,Ji=qi(16777216),Yi=qi(0);Mi.ZERO=Yi;var Ki=qi(0,!0);Mi.UZERO=Ki;var Zi=qi(1);Mi.ONE=Zi;var Xi=qi(1,!0);Mi.UONE=Xi;var Qi=qi(-1);Mi.NEG_ONE=Qi;var es=Ui(-1,2147483647,!1);Mi.MAX_VALUE=es;var ts=Ui(-1,-1,!0);Mi.MAX_UNSIGNED_VALUE=ts;var ns=Ui(0,-2147483648,!1);Mi.MIN_VALUE=ns;var rs=Mi.prototype;rs.toInt=function(){return this.unsigned?this.low>>>0:this.low},rs.toNumber=function(){return this.unsigned?(this.high>>>0)*Wi+(this.low>>>0):this.high*Wi+(this.low>>>0)},rs.toString=function(e){if((e=e||10)<2||36<e)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative()){if(this.eq(ns)){var t=Bi(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=Bi(zi(e,6),this.unsigned),a=this,i="";;){var s=a.div(o),l=(a.sub(s.mul(o)).toInt()>>>0).toString(e);if((a=s).isZero())return l+i;for(;l.length<6;)l="0"+l;i=""+l+i}},rs.getHighBits=function(){return this.high},rs.getHighBitsUnsigned=function(){return this.high>>>0},rs.getLowBits=function(){return this.low},rs.getLowBitsUnsigned=function(){return this.low>>>0},rs.getNumBitsAbs=function(){if(this.isNegative())return this.eq(ns)?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},rs.isZero=function(){return 0===this.high&&0===this.low},rs.eqz=rs.isZero,rs.isNegative=function(){return!this.unsigned&&this.high<0},rs.isPositive=function(){return this.unsigned||this.high>=0},rs.isOdd=function(){return 1==(1&this.low)},rs.isEven=function(){return 0==(1&this.low)},rs.equals=function(e){return Fi(e)||(e=Hi(e)),(this.unsigned===e.unsigned||this.high>>>31!=1||e.high>>>31!=1)&&this.high===e.high&&this.low===e.low},rs.eq=rs.equals,rs.notEquals=function(e){return!this.eq(e)},rs.neq=rs.notEquals,rs.ne=rs.notEquals,rs.lessThan=function(e){return this.comp(e)<0},rs.lt=rs.lessThan,rs.lessThanOrEqual=function(e){return this.comp(e)<=0},rs.lte=rs.lessThanOrEqual,rs.le=rs.lessThanOrEqual,rs.greaterThan=function(e){return this.comp(e)>0},rs.gt=rs.greaterThan,rs.greaterThanOrEqual=function(e){return this.comp(e)>=0},rs.gte=rs.greaterThanOrEqual,rs.ge=rs.greaterThanOrEqual,rs.compare=function(e){if(Fi(e)||(e=Hi(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},rs.comp=rs.compare,rs.negate=function(){return!this.unsigned&&this.eq(ns)?ns:this.not().add(Zi)},rs.neg=rs.negate,rs.add=function(e){Fi(e)||(e=Hi(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),Ui((r&=65535)<<16|(o&=65535),(t&=65535)<<16|(n&=65535),this.unsigned)},rs.subtract=function(e){return Fi(e)||(e=Hi(e)),this.add(e.neg())},rs.sub=rs.subtract,rs.multiply=function(e){if(this.isZero())return this;if(Fi(e)||(e=Hi(e)),Pi)return Ui(Pi.mul(this.low,this.high,e.low,e.high),Pi.get_high(),this.unsigned);if(e.isZero())return this.unsigned?Ki:Yi;if(this.eq(ns))return e.isOdd()?ns:Yi;if(e.eq(ns))return this.isOdd()?ns:Yi;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(Ji)&&e.lt(Ji))return Bi(this.toNumber()*e.toNumber(),this.unsigned);var t=65535&this.high,n=this.low>>>16,r=65535&this.low,o=65535&e.high,a=e.low>>>16,i=65535&e.low,s=0,l=0,c=0,u=0;return c+=(u+=r*i)>>>16,l+=(c+=n*i)>>>16,c&=65535,l+=(c+=r*a)>>>16,s+=(l+=t*i)>>>16,l&=65535,s+=(l+=n*a)>>>16,l&=65535,s+=(l+=r*o)>>>16,s+=(this.high>>>16)*i+t*a+n*o+r*(e.high>>>16),Ui((c&=65535)<<16|(u&=65535),(s&=65535)<<16|(l&=65535),this.unsigned)},rs.mul=rs.multiply,rs.divide=function(e){if(Fi(e)||(e=Hi(e)),e.isZero())throw Error("division by zero");var t,n,r;if(Pi)return this.unsigned||-2147483648!==this.high||-1!==e.low||-1!==e.high?Ui((this.unsigned?Pi.div_u:Pi.div_s)(this.low,this.high,e.low,e.high),Pi.get_high(),this.unsigned):this;if(this.isZero())return this.unsigned?Ki:Yi;if(this.unsigned){if(e.unsigned||(e=e.toUnsigned()),e.gt(this))return Ki;if(e.gt(this.shru(1)))return Xi;r=Ki}else{if(this.eq(ns))return e.eq(Zi)||e.eq(Qi)?ns:e.eq(ns)?Zi:(t=this.shr(1).div(e).shl(1)).eq(Yi)?e.isNegative()?Zi:Qi:(n=this.sub(e.mul(t)),r=t.add(n.div(e)));if(e.eq(ns))return this.unsigned?Ki:Yi;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=Yi}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),a=o<=48?1:zi(2,o-48),i=Bi(t),s=i.mul(e);s.isNegative()||s.gt(n);)s=(i=Bi(t-=a,this.unsigned)).mul(e);i.isZero()&&(i=Zi),r=r.add(i),n=n.sub(s)}return r},rs.div=rs.divide,rs.modulo=function(e){return Fi(e)||(e=Hi(e)),Pi?Ui((this.unsigned?Pi.rem_u:Pi.rem_s)(this.low,this.high,e.low,e.high),Pi.get_high(),this.unsigned):this.sub(this.div(e).mul(e))},rs.mod=rs.modulo,rs.rem=rs.modulo,rs.not=function(){return Ui(~this.low,~this.high,this.unsigned)},rs.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32},rs.clz=rs.countLeadingZeros,rs.countTrailingZeros=function(){return this.low?ji(this.low):ji(this.high)+32},rs.ctz=rs.countTrailingZeros,rs.and=function(e){return Fi(e)||(e=Hi(e)),Ui(this.low&e.low,this.high&e.high,this.unsigned)},rs.or=function(e){return Fi(e)||(e=Hi(e)),Ui(this.low|e.low,this.high|e.high,this.unsigned)},rs.xor=function(e){return Fi(e)||(e=Hi(e)),Ui(this.low^e.low,this.high^e.high,this.unsigned)},rs.shiftLeft=function(e){return Fi(e)&&(e=e.toInt()),0==(e&=63)?this:e<32?Ui(this.low<<e,this.high<<e|this.low>>>32-e,this.unsigned):Ui(0,this.low<<e-32,this.unsigned)},rs.shl=rs.shiftLeft,rs.shiftRight=function(e){return Fi(e)&&(e=e.toInt()),0==(e&=63)?this:e<32?Ui(this.low>>>e|this.high<<32-e,this.high>>e,this.unsigned):Ui(this.high>>e-32,this.high>=0?0:-1,this.unsigned)},rs.shr=rs.shiftRight,rs.shiftRightUnsigned=function(e){return Fi(e)&&(e=e.toInt()),0==(e&=63)?this:e<32?Ui(this.low>>>e|this.high<<32-e,this.high>>>e,this.unsigned):Ui(32===e?this.high:this.high>>>e-32,0,this.unsigned)},rs.shru=rs.shiftRightUnsigned,rs.shr_u=rs.shiftRightUnsigned,rs.rotateLeft=function(e){var t;return Fi(e)&&(e=e.toInt()),0==(e&=63)?this:32===e?Ui(this.high,this.low,this.unsigned):e<32?Ui(this.low<<e|this.high>>>(t=32-e),this.high<<e|this.low>>>t,this.unsigned):Ui(this.high<<(e-=32)|this.low>>>(t=32-e),this.low<<e|this.high>>>t,this.unsigned)},rs.rotl=rs.rotateLeft,rs.rotateRight=function(e){var t;return Fi(e)&&(e=e.toInt()),0==(e&=63)?this:32===e?Ui(this.high,this.low,this.unsigned):e<32?Ui(this.high<<(t=32-e)|this.low>>>e,this.low<<t|this.high>>>e,this.unsigned):Ui(this.low<<(t=32-(e-=32))|this.high>>>e,this.high<<t|this.low>>>e,this.unsigned)},rs.rotr=rs.rotateRight,rs.toSigned=function(){return this.unsigned?Ui(this.low,this.high,!1):this},rs.toUnsigned=function(){return this.unsigned?this:Ui(this.low,this.high,!0)},rs.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()},rs.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]},rs.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]},Mi.fromBytes=function(e,t,n){return n?Mi.fromBytesLE(e,t):Mi.fromBytesBE(e,t)},Mi.fromBytesLE=function(e,t){return new Mi(e[0]|e[1]<<8|e[2]<<16|e[3]<<24,e[4]|e[5]<<8|e[6]<<16|e[7]<<24,t)},Mi.fromBytesBE=function(e,t){return new Mi(e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[0]<<24|e[1]<<16|e[2]<<8|e[3],t)};var os=function(){function e(t){var n=t.filehandle,r=t.path;if(X(this,e),n)this.filehandle=n;else{if(!r)throw new TypeError("either filehandle or path must be defined");this.filehandle=new Dr(r)}}var t,n,r;return ee(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=Mi.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=Z(J().mark((function e(){var t,n,r,o,a,i,s;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=Kt.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=Kt.allocUnsafe(o),e.next=14,this.filehandle.read(t,0,o,8);case 14:for(a=0;a<n;a+=1)i=this._readLongWithOverflow(t,16*a),s=this._readLongWithOverflow(t,16*a+8),r[a+1]=[i,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=Z(J().mark((function e(){var t;return J().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=Z(J().mark((function e(t,n){var r,o,a,i,s,l,c,u,f;return J().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(a=[],i=function(e,t){var r=e[1];return r<=n&&(t?t[1]:Infinity)>n?0:r<n?-1:1},s=0,l=(o=e.sent).length-1,c=Math.floor(o.length/2),u=i(o[c],o[c+1]);0!==u;)u>0?l=c-1:u<0&&(s=c+1),c=Math.ceil((l-s)/2)+s,u=i(o[c],o[c+1]);a.push(o[c]),f=c+1;case 15:if(!(f<o.length)){e.next=22;break}if(a.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 a[a.length-1][1]<r&&a.push([]),e.abrupt("return",a);case 24:case"end":return e.stop()}}),e,this)}))),function(e,n){return t.apply(this,arguments)})}]),e}(),as=function(){function e(t){var n=t.filehandle,r=t.path,o=t.gziFilehandle,a=t.gziPath;if(X(this,e),n)this.filehandle=n;else{if(!r)throw new TypeError("either filehandle or path must be defined");this.filehandle=new Dr(r)}if(!o&&!a&&!r)throw new TypeError("either gziFilehandle or gziPath must be defined");this.gzi=new os({filehandle:o,path:o||a||!r?"".concat(r,".gzi"):a})}var t,n,r,o;return ee(e,[{key:"stat",value:(o=Z(J().mark((function e(){var t;return J().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=Z(J().mark((function e(){var t,n,r,o,a;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.gzi.getLastBlock();case 2:return t=fe(e.sent,2),n=t[1],e.next=7,this.filehandle.stat();case 7:return r=e.sent.size,o=Kt.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 a=o.readUInt32LE(0),e.abrupt("return",n+a);case 18:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"_readAndUncompressBlock",value:(n=Z(J().mark((function e(t,n,r){var o,a,i;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=fe(n,1)[0],a=fe(r,1)[0]){e.next=7;break}return e.next=6,this.filehandle.stat();case 6:a=e.sent.size;case 7:return i=a-o,e.next=10,this.filehandle.read(t,0,i,o);case 10:return e.next=12,Ti(t.slice(0,i));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=Z(J().mark((function e(t,n,r,o){var a,i,s,l,c,u,f,d,p,h;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.gzi.getRelevantBlocksForRead(r,o);case 2:a=e.sent,i=Kt.allocUnsafe(65536),s=n,l=0,c=0;case 7:if(!(c<a.length-1)){e.next=18;break}return e.next=10,this._readAndUncompressBlock(i,a[c],a[c+1]);case 10:u=e.sent,f=fe(a[c],2),p=(d=f[1])>=o?0:o-d,h=Math.min(o+r,d+u.length)-d,p>=0&&p<u.length&&(u.copy(t,s,p,h),s+=h-p,l+=h-p);case 15:c+=1,e.next=7;break;case 18:return e.abrupt("return",{bytesRead:l,buffer:t});case 19:case"end":return e.stop()}}),e,this)}))),function(e,n,r,o){return t.apply(this,arguments)})}]),e}();function is(e,t){return e.offset+e.lineBytes*Math.floor(t/e.lineLength)+t%e.lineLength}function ss(e,t){return ls.apply(this,arguments)}function ls(){return ls=Z(J().mark((function e(t,n){var r,o,a,i;return J().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,i=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 a&&a.name===e[0]||(a={name:e[0],id:o},o+=1),{id:a.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(i.map((function(e){return[e.name,e]}))),id:Object.fromEntries(i.map((function(e){return[e.id,e]})))});case 8:case"end":return e.stop()}}),e)}))),ls.apply(this,arguments)}var cs=function(){function e(t){var n=t.fasta,r=t.fai,o=t.path,a=t.faiPath;if(X(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 Dr(o)}if(r)this.fai=r;else if(a)this.fai=new Dr(a);else{if(!o)throw new Error("Need to pass filehandle for or path to localfile");this.fai=new Dr("".concat(o,".fai"))}}var t,n,r,o,a,i,s,l,c;return ee(e,[{key:"_getIndexes",value:(c=Z(J().mark((function e(t){return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.indexes||(this.indexes=ss(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:(l=Z(J().mark((function e(t){return J().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 l.apply(this,arguments)})},{key:"getSequenceSizes",value:(s=Z(J().mark((function e(t){var n,r,o;return J().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:(i=Z(J().mark((function e(t,n){var r;return J().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 i.apply(this,arguments)})},{key:"hasReferenceSequence",value:(a=Z(J().mark((function e(t,n){return J().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 a.apply(this,arguments)})},{key:"getResiduesById",value:(o=Z(J().mark((function e(t,n,r,o){var a;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getIndexes(o);case 2:if(e.t0=t,a=e.sent.id[e.t0]){e.next=6;break}return e.abrupt("return",void 0);case 6:return e.abrupt("return",this._fetchFromIndexEntry(a,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=Z(J().mark((function e(t,n,r,o){var a;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getIndexes(o);case 2:if(e.t0=t,a=e.sent.name[e.t0]){e.next=6;break}return e.abrupt("return",void 0);case 6:return e.abrupt("return",this._fetchFromIndexEntry(a,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=Z(J().mark((function e(t,n,r,o){return J().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=Z(J().mark((function e(t){var n,r,o,a,i,s,l=arguments;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=l.length>3?l[3]:void 0,o=l.length>2?l[2]:void 0,!((n=l.length>1&&void 0!==l[1]?l[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 a=is(t,n),i=is(t,o)-a,s=Kt.allocUnsafe(i),e.next=14,this.fasta.read(s,0,i,a,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}(),us=function(e){ne(n,e);var t=ce(n);function n(e){var r,o=e.fasta,a=e.path,i=e.fai,s=e.faiPath,l=e.gzi,c=e.gziPath;return X(this,n),r=t.call(this,{fasta:o,path:a,fai:i,faiPath:s}),o&&l?r.fasta=new as({filehandle:o,gziFilehandle:l}):a&&c&&(r.fasta=new as({path:a,gziPath:c})),r}return ee(n)}(cs);function fs(e){return e.split(">").filter((function(e){return/\S/.test(e)})).map((function(e){var t=de(e.split("\n")),n=t[0],r=t.slice(1),o=de(n.split(" ")),a=o[0],i=o.slice(1),s=r.join("").replace(/\s/g,"");return{id:a,description:i.join(" "),sequence:s}}))}var ds=function(){function e(t){var n=t.fasta,r=t.path;if(X(this,e),n)this.fasta=n;else{if(!r)throw new Error("Need to pass fasta or path");this.fasta=new Dr(r)}this.data=this.fasta.readFile().then((function(e){return fs(e.toString("utf8"))}))}var t,n;return ee(e,[{key:"fetch",value:(n=Z(J().mark((function e(t,n,r){var o,a;return J().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})),a=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,a));case 8:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return n.apply(this,arguments)})},{key:"getSequenceNames",value:(t=Z(J().mark((function e(){return J().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}(),ps=D({__proto__:null,parseSmallFasta:fs,FetchableSmallFasta:ds,IndexedFasta:cs,BgzipIndexedFasta:us}),hs=D(Hr);Object.defineProperty(Lr,"__esModule",{value:!0}),Lr.AddAssemblyFromExternalChange=void 0;var ms=ps,gs=hs,ys=function(e){ne(a,e);var t,n,r,o=ce(a);function a(e,t){var n;return X(this,a),te(le(n=o.call(this,e,t)),"typeName","AddAssemblyFromExternalChange"),te(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ee(a,[{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=fe(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=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c,u,f,d,p,h,m,g,y,v,_,b,w,S,x,E,k,A,O,C;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.assemblyModel,r=t.checkModel,o=t.refSeqModel,a=t.user,i=this.assembly,s=this.changes,l=this.logger,u=(c=Lt.env.CHUNK_SIZE)&&Number(c),f=_e(s),e.prev=5,f.s();case 7:if((d=f.n()).done){e.next=45;break}return m=(h=d.value).assemblyName,y=(g=h.externalLocation).fa,v=g.fai,b=(_=g.gzi)?new ms.BgzipIndexedFasta({fasta:new gs.RemoteFile(y,{fetch:fetch}),fai:new gs.RemoteFile(v,{fetch:fetch}),gzi:new gs.RemoteFile(_,{fetch:fetch})}):new ms.IndexedFasta({fasta:new gs.RemoteFile(y,{fetch:fetch}),fai:new gs.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:i,name:m,user:a,status:-1,externalLocation:g,checks:S}]);case 28:x=fe(e.sent,1),E=x[0],null===(p=l.debug)||void 0===p||p.call(l,'Added new assembly "'.concat(m,'", docId "').concat(E._id,'"')),e.t0=J().keys(w);case 33:if((e.t1=e.t0()).done){e.next=43;break}return k=e.t1.value,e.next=37,o.create([V(V({name:k,assembly:E._id,length:w[k]},u?{chunkSize:u}:null),{},{user:a,status:-1})]);case 37:O=fe(e.sent,1),C=O[0],null===(A=l.debug)||void 0===A||A.call(l,'Added new refSeq "'.concat(k,'", docId "').concat(C._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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t){return J().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 a({typeName:this.typeName,changes:this.changes,assembly:this.assembly},{logger:this.logger})}}]),a}(or.AssemblySpecificChange);Lr.AddAssemblyFromExternalChange=ys;var vs={};Object.defineProperty(vs,"__esModule",{value:!0}),vs.AddAssemblyFromFileChange=void 0;var _s=ps,bs=function(e){ne(s,e);var t,n,r,o,a,i=ce(s);function s(e,t){var n;return X(this,s),te(le(n=i.call(this,e,t)),"typeName","AddAssemblyFromFileChange"),te(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ee(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=fe(t,1)[0];return{typeName:n,assembly:e,assemblyName:r.assemblyName,fileIds:r.fileIds}}return{typeName:n,assembly:e,changes:t}}},{key:"executeOnServer",value:(a=Z(J().mark((function e(t){var n,r,o,a,i;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=_e(this.changes),e.prev=2,n.s();case 4:if((r=n.n()).done){e.next=11;break}return a=(o=r.value).assemblyName,i=o.fileIds,e.next=9,"gzi"in i?this.executeOnServerIndexed(t,a,i):this.executeOnServerFasta(t,a,i.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 a.apply(this,arguments)})},{key:"executeOnServerIndexed",value:(o=Z(J().mark((function e(t,n,r){var o,a,i,s,l,c,u,f,d,p,h,m,g,y,v,_,b,w,S,x,E,k,A,O,C,N,R,T,I;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=(i=Lt.env.CHUNK_SIZE)&&Number(i),Lt.env.FILE_UPLOAD_FOLDER){e.next=5;break}throw new Error("No FILE_UPLOAD_FOLDER found in .env file");case 5:return l=r.fa,c=r.fai,u=r.gzi,f=t.assemblyModel,d=t.checkModel,p=t.fileModel,h=t.filesService,m=t.refSeqModel,g=t.user,e.next=9,p.findById(l);case 9:if(null==(y=e.sent)?void 0:y.checksum){e.next=13;break}throw new Error("No checksum for file document ".concat(null==y?void 0:y.id));case 13:return e.next=15,p.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(null==v?void 0:v.id));case 19:return e.next=21,p.findById(u);case 21:if(null==(_=e.sent)?void 0:_.checksum){e.next=25;break}throw new Error("No checksum for file document ".concat(null==_?void 0:_.id));case 25:return b=h.getFileHandle(y),w=h.getFileHandle(v),S=h.getFileHandle(_),x=new _s.BgzipIndexedFasta({fasta:b,fai:w,gzi:S}),e.next=31,x.getSequenceSizes();case 31:return E=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 k=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:k}]);case 45:A=fe(e.sent,1),O=A[0],null===(o=(a=this.logger).debug)||void 0===o||o.call(a,'Added new assembly "'.concat(n,'", docId "').concat(O._id,'"')),e.t0=J().keys(E);case 50:if((e.t1=e.t0()).done){e.next=60;break}return C=e.t1.value,e.next=54,m.create([V(V({name:C,assembly:O._id,length:E[C]},s?{chunkSize:s}:null),{},{user:g,status:-1})]);case 54:T=fe(e.sent,1),I=T[0],null===(N=(R=this.logger).debug)||void 0===N||N.call(R,'Added new refSeq "'.concat(C,'", docId "').concat(I._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=Z(J().mark((function e(t,n,r){var o,a,i,s,l,c,u,f,d,p,h,m,g,y;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=t.assemblyModel,f=t.checkModel,d=t.fileModel,p=t.user,e.next=3,d.findById(r).exec();case 3:if(h=e.sent){e.next=6;break}throw new Error('File "'.concat(r,'" not found in Mongo'));case 6:return null===(o=(a=this.logger).debug)||void 0===o||o.call(a,'FileId "'.concat(r,'", checksum "').concat(h.checksum,'"')),e.next=9,u.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,u.create([{_id:this.assembly,name:n,user:p,status:-1,fileIds:{fa:r},checks:m}]);case 18:return g=fe(e.sent,1),y=g[0],null===(i=(s=this.logger).debug)||void 0===i||i.call(s,'Added new assembly "'.concat(n,'", docId "').concat(y._id,'"')),null===(l=(c=this.logger).debug)||void 0===l||l.call(c,'File type: "'.concat(h.type,'", assemblyId: "').concat(y._id,'"')),e.next=25,this.addRefSeqIntoDb(h,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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t){return J().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}(rr.FromFileBaseChange);vs.AddAssemblyFromFileChange=bs;var ws={},Ss={};Object.defineProperty(Ss,"__esModule",{value:!0}),Ss.DeleteFeatureChange=void 0,Ss.isDeleteFeatureChange=function(e){return"DeleteFeatureChange"===e.typeName};var xs=ws,Es=function(e){ne(a,e);var t,n,r,o=ce(a);function a(e,t){var n;return X(this,a),te(le(n=o.call(this,e,t)),"typeName","DeleteFeatureChange"),te(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ee(a,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=fe(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=Z(J().mark((function e(t){var n,r,o,a,i,s,l=this;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,o=this.logger,a=_e(this.changes),e.prev=3,s=J().mark((function e(){var t,a,s,c,u,f,d,p,h;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=(a=i.value).deletedFeature,c=a.parentFeatureId,e.next=4,n.findOne({allIds:s._id}).session(r).exec();case 4:if(u=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(!u._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(u._id);case 14:return null===(d=o.debug)||void 0===d||d.call(o,'Feature "'.concat(s._id,'" deleted from document "').concat(u._id,'". Whole document deleted.')),e.abrupt("return",1);case 16:return(p=l.findAndDeleteChildFeature(u,s._id)).push(s._id),u.allIds=u.allIds.filter((function(e){return!p.includes(e)})),u.markModified("children"),e.prev=20,e.next=23,u.save();case 23:e.next=29;break;case 25:throw e.prev=25,e.t0=e.catch(20),null===(h=o.debug)||void 0===h||h.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(u._id,'"'));case 30:case"end":return e.stop()}}),e,null,[[20,25]])})),a.s();case 6:if((i=a.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),a.e(e.t1);case 17:return e.prev=17,a.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 a=this.getChildFeatureIds(o);return r.delete(t),a}var i,s=_e(r);try{for(s.s();!(i=s.n()).done;){var l=fe(i.value,2)[1];try{return this.findAndDeleteChildFeature(l,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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t){var n,r,o,a,i,s;return J().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=_e(this.changes),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=18;break}if(a=(o=r.value).deletedFeature,!(i=o.parentFeatureId)){e.next=15;break}if(s=t.getFeature(i)){e.next=12;break}throw new Error('Could not find parent feature "'.concat(i,'"'));case 12:s.deleteChild(a._id),e.next=16;break;case 15:t.getFeature(a._id)&&t.deleteFeature(a._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=pe(this.changedIds).reverse(),a=pe(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(a),"'")),new xs.AddFeatureChange({changedIds:o,typeName:"AddFeatureChange",changes:a,assembly:t},{logger:r})}}]),a}(or.FeatureChange);Ss.DeleteFeatureChange=Es,Object.defineProperty(ws,"__esModule",{value:!0}),ws.AddFeatureChange=void 0,ws.isAddFeatureChange=function(e){return"AddFeatureChange"===e.typeName};var ks=Ss,As=function(e){ne(a,e);var t,n,r,o=ce(a);function a(e,t){var n;return X(this,a),te(le(n=o.call(this,e,t)),"typeName","AddFeatureChange"),te(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ee(a,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=fe(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=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c,u,f,d,p,h,m,g,y,v,_,b,w,S,x,E,k,A,O,C,N,R,T,I,P,M,F,j,L;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=t.assemblyModel,a=t.featureModel,i=t.refSeqModel,s=t.session,l=t.user,c=this.assembly,u=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:p=0,null===(n=f.debug)||void 0===n||n.call(f,"changes: ".concat(JSON.stringify(u))),h=_e(u),e.prev=12,h.s();case 14:if((m=h.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,i.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,a.create([V(V({},v),{},{allIds:_,status:-1,user:l})],{session:s});case 27:k=fe(e.sent,1),A=k[0],null===(E=f.debug)||void 0===E||E.call(f,'Copied feature, docId "'.concat(A._id,'" to assembly "').concat(c,'"')),p++,e.next=61;break;case 34:if(!w){e.next=53;break}return e.next=37,a.findOne({allIds:w}).session(s).exec();case 37:if(N=e.sent){e.next=40;break}throw new Error('Could not find feature with ID "'.concat(w,'"'));case 40:if(R=this.getFeatureFromId(N,w)){e.next=43;break}throw new Error('Could not find feature with ID "'.concat(w,'" in feature "').concat(N._id,'"'));case 43:return R.children||(R.children=new Map),null!==(O=R.attributes)&&void 0!==O&&O._id||((T=R.attributes)||(T={}),T=V({_id:[R._id.toString()]},JSON.parse(JSON.stringify(T))),R.attributes=T),R.children.set(S,V(V({allIds:[]},v),{},{_id:S})),R.children=new Map(pe(R.children.entries()).sort((function(e,t){return e[1].min-t[1].min}))),I=this.getChildFeatureIds(v),(C=N.allIds).push.apply(C,[S].concat(pe(I))),e.next=51,N.save();case 51:e.next=61;break;case 53:return M=this.getChildFeatureIds(v),F=[S].concat(pe(M)),e.next=57,a.create([V({allIds:F,status:0},v)],{session:s});case 57:j=fe(e.sent,1),L=j[0],null===(P=f.verbose)||void 0===P||P.call(f,'Added docId "'.concat(L._id,'"'));case 61:p++;case 62:e.next=14;break;case 64:e.next=69;break;case 66:e.prev=66,e.t0=e.catch(12),h.e(e.t0);case 69:return e.prev=69,h.f(),e.finish(69);case 72:null===(r=f.debug)||void 0===r||r.call(f,"Added ".concat(p," 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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t){var n,r,o,a,i,s,l;return J().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=_e(this.changes),e.prev=4,r.s();case 6:if((o=r.n()).done){e.next=20;break}if(i=(a=o.value).addedFeature,!(s=a.parentFeatureId)){e.next=17;break}if(l=t.getFeature(s)){e.next=13;break}throw new Error('Could not find parent feature "'.concat(s,'"'));case 13:l.attributes.get("_id")||l.setAttribute("_id",[l._id]),l.addChild(i),e.next=18;break;case 17:t.addFeature(n,i);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=pe(this.changedIds).reverse(),o=pe(t).reverse().map((function(e){return{deletedFeature:e.addedFeature,parentFeatureId:e.parentFeatureId}}));return new ks.DeleteFeatureChange({changedIds:r,typeName:"DeleteFeatureChange",changes:o,assembly:e},{logger:n})}}]),a}(or.FeatureChange);ws.AddFeatureChange=As;var Os={};Object.defineProperty(Os,"__esModule",{value:!0}),Os.AddFeaturesFromFileChange=void 0;var Cs=function(e){ne(a,e);var t,n,r,o=ce(a);function a(e,t){var n,r;return X(this,a),te(le(r=o.call(this,e,t)),"typeName","AddFeaturesFromFileChange"),te(le(r),"changes",void 0),te(le(r),"deleteExistingFeatures",!1),r.deleteExistingFeatures=null!==(n=e.deleteExistingFeatures)&&void 0!==n&&n,r.changes="changes"in e?e.changes:[e],r}return ee(a,[{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:fe(t,1)[0].fileId,deleteExistingFeatures:n}:{typeName:r,assembly:e,changes:t,deleteExistingFeatures:n}}},{key:"executeOnServer",value:(r=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c,u,f,d,p,h,m,g,y,v,_,b;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.fileModel,o=t.filesService,a=this.changes,i=this.logger,!this.deleteExistingFeatures){e.next=5;break}return e.next=5,this.removeExistingFeatures(t);case 5:s=_e(a),e.prev=6,s.s();case 8:if((l=s.n()).done){e.next=56;break}if(u=l.value.fileId,Lt.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(u).exec();case 16:if(f=e.sent){e.next=19;break}throw new Error('File "'.concat(u,'" not found in Mongo'));case 19:null===(c=i.debug)||void 0===c||c.call(i,'FileId "'.concat(u,'", checksum "').concat(f.checksum,'"')),d=o.parseGFF3(o.getFileStream(f)),p=0,h=!1,m=!1,e.prev=24,y=G(d);case 26:return e.next=28,y.next();case 28:if(!(h=!(v=e.sent).done)){e.next=38;break}return _=v.value,e.next=33,this.addFeatureIntoDb(_,t);case 33:++p%1e3==0&&(null===(b=i.debug)||void 0===b||b.call(i,"Processed ".concat(p," features")));case 35:h=!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,!h||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=i.debug)||void 0===n||n.call(i,"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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t){return J().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 a({typeName:this.typeName,changes:this.changes,assembly:this.assembly},{logger:this.logger})}}]),a}(rr.FromFileBaseChange);Os.AddFeaturesFromFileChange=Cs;var Ns={};Object.defineProperty(Ns,"__esModule",{value:!0}),Ns.AddRefSeqAliasesChange=void 0;var Rs=O.default,Ts=function(e){ne(r,e);var t,n=ce(r);function r(e,t){var o;return X(this,r),te(le(o=n.call(this,e,t)),"typeName","AddRefSeqAliasesChange"),te(le(o),"refSeqAliases",void 0),o.refSeqAliases=e.refSeqAliases,o}return ee(r,[{key:"executeOnClient",value:function(e){var t=(0,Rs.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,a=_e(this.refSeqAliases);try{for(a.s();!(o=a.n()).done;){var i,s=o.value,l=s.refName,c=_e(s.aliases);try{for(c.s();!(i=c.n()).done;){var u=i.value;n[u]=l,r[u.toLowerCase()]=l}}catch(e){c.e(e)}finally{c.f()}}}catch(e){a.e(e)}finally{a.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=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c,u,f;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.refSeqModel,r=t.session,o=this.assembly,a=this.logger,i=_e(this.refSeqAliases),e.prev=3,i.s();case 5:if((s=i.n()).done){e.next=13;break}return c=s.value,null===(l=a.debug)||void 0===l||l.call(a,"Updating Refname alias for assembly: ".concat(o,", refSeqAlias: ").concat(JSON.stringify(c))),u=c.aliases,f=c.refName,e.next=11,n.updateOne({assembly:o,name:f},{$set:{aliases:u}}).session(r);case 11:e.next=5;break;case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(3),i.e(e.t0);case 18:return e.prev=18,i.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}(or.AssemblySpecificChange);Ns.AddRefSeqAliasesChange=Ts;var Is={};Object.defineProperty(Is,"__esModule",{value:!0}),Is.DeleteAssemblyChange=void 0;var Ps=O.default,Ms=function(e){ne(a,e);var t,n,r,o=ce(a);function a(){var e;X(this,a);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return te(le(e=o.call.apply(o,[this].concat(n))),"typeName","DeleteAssemblyChange"),e}return ee(a,[{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=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c,u,f;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.assemblyModel,o=t.featureModel,a=t.refSeqChunkModel,i=t.refSeqModel,s=t.session,l=this.assembly,c=this.logger,e.next=4,r.findById(l).session(s).exec();case 4:if(e.sent){e.next=9;break}throw u='*** ERROR: Assembly with id "'.concat(l,'" not found'),c.error(u),new Error(u);case 9:return e.next=11,i.find({assembly:l}).exec();case 11:return f=e.sent.map((function(e){return e._id})),e.next=15,a.deleteMany({refSeq:f}).exec();case 15:return e.next=17,o.deleteMany({refSeq:f}).exec();case 17:return e.next=19,i.deleteMany({assembly:l}).exec();case 19:return e.next=21,r.findByIdAndDelete(l).exec();case 21:null===(n=c.debug)||void 0===n||n.call(c,'Assembly "'.concat(l,'" deleted from database.'));case 22:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t){var n,r,o,a;return J().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 a=(0,Ps.getSession)(t),t.assemblies.has(o)&&t.deleteAssembly(o),e.next=7,null===(n=a.removeAssembly)||void 0===n?void 0:n.call(a,o);case 7:return e.next=9,null===(r=a.removeSessionAssembly)||void 0===r?void 0:r.call(a,o);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new a({typeName:"DeleteAssemblyChange",assembly:this.assembly},{logger:this.logger})}}]),a}(or.AssemblySpecificChange);Is.DeleteAssemblyChange=Ms;var Fs={};Object.defineProperty(Fs,"__esModule",{value:!0}),Fs.DeleteUserChange=void 0;var js=function(e){ne(a,e);var t,n,r,o=ce(a);function a(e,t){var n;return X(this,a),te(le(n=o.call(this,e,t)),"typeName","DeleteUserChange"),te(le(n),"changes",void 0),te(le(n),"userId",void 0),n.changes="changes"in e?e.changes:[e],n.userId=e.userId,n}return ee(a,[{key:"toJSON",value:function(){return{typeName:this.typeName,userId:this.userId}}},{key:"executeOnServer",value:(r=Z(J().mark((function e(t){var n,r,o,a,i;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.session,r=t.userModel,o=this.logger,a=this.userId,e.next=4,r.findOneAndDelete({_id:a}).session(n).exec();case 4:if(e.sent){e.next=9;break}throw i='*** ERROR: User with id "'.concat(a,'" not found'),o.error(i),new Error(i);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t){return J().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 a({typeName:this.typeName,userId:this.userId},{logger:this.logger})}}]),a}(or.Change);Fs.DeleteUserChange=js;var Ls={};Object.defineProperty(Ls,"__esModule",{value:!0}),Ls.FeatureAttributeChange=void 0,Ls.isFeatureAttributeChange=function(e){return"FeatureAttributeChange"===e.typeName};var Ds=function(e){ne(a,e);var t,n,r,o=ce(a);function a(e,t){var n;return X(this,a),te(le(n=o.call(this,e,t)),"typeName","FeatureAttributeChange"),te(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ee(a,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=fe(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=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c,u,f,d,p,h,m,g,y,v,_,b,w,S;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,a=this.logger,i=[],s=_e(o=this.changes),e.prev=4,s.s();case 6:if((l=s.n()).done){e.next=26;break}return f=l.value.featureId,e.next=11,n.findOne({allIds:f}).session(r).exec();case 11:if(d=e.sent){e.next=16;break}throw p="*** ERROR: The following featureId was not found in database ='".concat(f,"'"),a.error(p),new Error(p);case 16:if(null===(c=a.debug)||void 0===c||c.call(a,"*** Feature found: ".concat(JSON.stringify(d))),h=this.getFeatureFromId(d,f)){e.next=22;break}throw a.error("ERROR when searching feature by featureId"),new Error("ERROR when searching feature by featureId");case 22:null===(u=a.debug)||void 0===u||u.call(a,"*** Found feature: ".concat(JSON.stringify(h))),i.push({feature:h,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=_e(o.entries()),e.prev=35,m.s();case 37:if((g=m.n()).done){e.next=55;break}return v=fe(g.value,2),w=(_=i[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=a.debug)||void 0===S||S.call(a,"*** FAILED: ".concat(e.t1)),e.t1;case 52:null===(y=a.debug)||void 0===y||y.call(a,"*** 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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t){var n,r,o,a,i,s;return J().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=_e(this.changedIds.entries()),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=13;break}if(o=fe(r.value,2),a=o[0],s=t.getFeature(i=o[1])){e.next=10;break}throw new Error('Could not find feature with identifier "'.concat(i,'"'));case 10:s.setAttributes(new Map(Object.entries(this.changes[a].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 a({changedIds:pe(this.changedIds).reverse(),typeName:"FeatureAttributeChange",changes:pe(t).reverse().map((function(e){return{featureId:e.featureId,attributes:e.attributes}})),assembly:e},{logger:n})}}]),a}(or.FeatureChange);Ls.FeatureAttributeChange=Ds;var qs={},Bs=["__v","_id","assemblies","internetAccounts","plugins","tracks"];function Us(e){var t=e.assemblies,n=e.internetAccounts,r=e.plugins,o=e.tracks,a=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)t.indexOf(n=a[r])>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)t.indexOf(n=a[r])>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,Bs),i=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})),l=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})),u=a;return i&&(u.assemblies=i),s&&(u.tracks=s),l&&(u.plugins=l),c&&(u.internetAccounts=c),u}Object.defineProperty(qs,"__esModule",{value:!0}),qs.ImportJBrowseConfigChange=void 0,qs.filterJBrowseConfig=Us;var zs=function(e){ne(a,e);var t,n,r,o=ce(a);function a(e,t){var n;return X(this,a),te(le(n=o.call(this,e,t)),"typeName","ImportJBrowseConfigChange"),te(le(n),"oldJBrowseConfig",void 0),te(le(n),"newJBrowseConfig",void 0),n.oldJBrowseConfig=e.oldJBrowseConfig,n.newJBrowseConfig=e.newJBrowseConfig,n}return ee(a,[{key:"toJSON",value:function(){return{typeName:this.typeName,oldJBrowseConfig:this.oldJBrowseConfig,newJBrowseConfig:this.newJBrowseConfig}}},{key:"executeOnServer",value:(r=Z(J().mark((function e(t){var n,r,o,a,i;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.jbrowseConfigModel,o=this.logger,a=this.newJBrowseConfig,e.next=4,r.deleteMany();case 4:if(a){e.next=6;break}return e.abrupt("return");case 6:return i=Us(a),e.next=9,r.create(i);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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t){return J().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 a({typeName:"ImportJBrowseConfigChange",oldJBrowseConfig:this.newJBrowseConfig,newJBrowseConfig:this.oldJBrowseConfig},{logger:this.logger})}}]),a}(or.Change);qs.ImportJBrowseConfigChange=zs;var Gs={};Object.defineProperty(Gs,"__esModule",{value:!0}),Gs.LocationEndChange=void 0,Gs.isLocationEndChange=function(e){return"LocationEndChange"===e.typeName};var Hs=function(e){ne(a,e);var t,n,r,o=ce(a);function a(e,t){var n;return X(this,a),te(le(n=o.call(this,e,t)),"typeName","LocationEndChange"),te(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ee(a,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=fe(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=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c,u,f,d,p,h,m,g,y,v,_,b,w,S,x,E,k,A,O,C,N;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,a=this.logger,i=[],s=_e(o=this.changes),e.prev=4,s.s();case 6:if((l=s.n()).done){e.next=49;break}return d=(f=l.value).featureId,p=f.oldEnd,e.next=11,n.findOne({allIds:d}).session(r).exec();case 11:if(h=e.sent){e.next=16;break}throw m="*** ERROR: The following featureId was not found in database ='".concat(d,"'"),a.error(m),new Error(m);case 16:if(null===(c=a.debug)||void 0===c||c.call(a,"*** TOP level feature found: ".concat(JSON.stringify(h))),g=this.getFeatureFromId(h,d)){e.next=22;break}throw a.error("ERROR when searching feature by featureId"),new Error("ERROR when searching feature by featureId");case 22:if(null===(u=a.debug)||void 0===u||u.call(a,"*** Found feature: ".concat(JSON.stringify(g))),g.max!==p){e.next=27;break}i.push({feature:g,topLevelFeature:h}),e.next=47;break;case 27:if(!g.children){e.next=47;break}y=_e(g.children),e.prev=29,y.s();case 31:if((v=y.n()).done){e.next=39;break}if(_=fe(v.value,2),(b=_[1]).max!==p){e.next=37;break}return null===(w=a.debug)||void 0===w||w.call(a,"*************** UPDATE CHILD FEATURE ID= ".concat(d,", CHILD: ").concat(JSON.stringify(b))),i.push({feature:b,topLevelFeature:h}),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=_e(o.entries()),e.prev=58,S.s();case 60:if((x=S.n()).done){e.next=78;break}return k=fe(x.value,2),C=(A=i[k[0]]).topLevelFeature,(O=A.feature).max=k[1].newEnd,C._id.equals(O._id)?C.markModified("end"):C.markModified("children"),e.prev=66,e.next=69,C.save();case 69:e.next=75;break;case 71:throw e.prev=71,e.t2=e.catch(66),null===(N=a.debug)||void 0===N||N.call(a,"*** FAILED: ".concat(e.t2)),e.t2;case 75:null===(E=a.debug)||void 0===E||E.call(a,"*** Object updated in Mongo. New object: ".concat(JSON.stringify(C)));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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t){var n,r,o,a,i,s;return J().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=_e(this.changedIds.entries()),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=13;break}if(o=fe(r.value,2),a=o[0],s=t.getFeature(i=o[1])){e.next=10;break}throw new Error('Could not find feature with identifier "'.concat(i,'"'));case 10:s.setMax(this.changes[a].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 a({changedIds:pe(this.changedIds).reverse(),typeName:r,changes:pe(t).reverse().map((function(e){return{featureId:e.featureId,oldEnd:e.newEnd,newEnd:e.oldEnd}})),assembly:e},{logger:n})}}]),a}(or.FeatureChange);Gs.LocationEndChange=Hs;var Ws={};Object.defineProperty(Ws,"__esModule",{value:!0}),Ws.LocationStartChange=void 0,Ws.isLocationStartChange=function(e){return"LocationStartChange"===e.typeName};var $s=function(e){ne(a,e);var t,n,r,o=ce(a);function a(e,t){var n;return X(this,a),te(le(n=o.call(this,e,t)),"typeName","LocationStartChange"),te(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ee(a,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=fe(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=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c,u,f,d,p,h,m,g,y,v,_,b,w,S,x,E,k,A,O,C,N;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,a=this.logger,i=[],s=_e(o=this.changes),e.prev=4,s.s();case 6:if((l=s.n()).done){e.next=49;break}return d=(f=l.value).featureId,p=f.oldStart,e.next=11,n.findOne({allIds:d}).session(r).exec();case 11:if(h=e.sent){e.next=16;break}throw m="*** ERROR: The following featureId was not found in database ='".concat(d,"'"),a.error(m),new Error(m);case 16:if(null===(c=a.debug)||void 0===c||c.call(a,"*** TOP level feature found: ".concat(JSON.stringify(h))),g=this.getFeatureFromId(h,d)){e.next=22;break}throw a.error("ERROR when searching feature by featureId"),new Error("ERROR when searching feature by featureId");case 22:if(null===(u=a.debug)||void 0===u||u.call(a,"*** Found feature: ".concat(JSON.stringify(g))),g.min!==p){e.next=27;break}i.push({feature:g,topLevelFeature:h}),e.next=47;break;case 27:if(!g.children){e.next=47;break}y=_e(g.children),e.prev=29,y.s();case 31:if((v=y.n()).done){e.next=39;break}if(_=fe(v.value,2),(b=_[1]).min!==p){e.next=37;break}return null===(w=a.debug)||void 0===w||w.call(a,"*** UPDATE CHILD FEATURE ID= ".concat(d,", CHILD: ").concat(JSON.stringify(b))),i.push({feature:b,topLevelFeature:h}),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=_e(o.entries()),e.prev=58,S.s();case 60:if((x=S.n()).done){e.next=78;break}return k=fe(x.value,2),C=(A=i[k[0]]).topLevelFeature,(O=A.feature).min=k[1].newStart,C._id.equals(O._id)?C.markModified("start"):C.markModified("children"),e.prev=66,e.next=69,C.save();case 69:e.next=75;break;case 71:throw e.prev=71,e.t2=e.catch(66),null===(N=a.debug)||void 0===N||N.call(a,"*** FAILED: ".concat(e.t2)),e.t2;case 75:null===(E=a.debug)||void 0===E||E.call(a,"*** Object updated in Mongo. New object: ".concat(JSON.stringify(C)));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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t){var n,r,o,a,i,s;return J().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=_e(this.changedIds.entries()),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=13;break}if(o=fe(r.value,2),a=o[0],s=t.getFeature(i=o[1])){e.next=10;break}throw new Error('Could not find feature with identifier "'.concat(i,'"'));case 10:s.setMin(this.changes[a].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 a({changedIds:pe(this.changedIds).reverse(),typeName:r,changes:pe(t).reverse().map((function(e){return{featureId:e.featureId,oldStart:e.newStart,newStart:e.oldStart}})),assembly:e},{logger:n})}}]),a}(or.FeatureChange);Ws.LocationStartChange=$s;var Vs={};Object.defineProperty(Vs,"__esModule",{value:!0}),Vs.StrandChange=void 0;var Js=function(e){ne(a,e);var t,n,r,o=ce(a);function a(e,t){var n;return X(this,a),te(le(n=o.call(this,e,t)),"typeName","StrandChange"),te(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ee(a,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=fe(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=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c,u,f,d,p,h,m,g,y,v,_,b,w,S,x,E,k;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,a=this.logger,i=[],s=_e(o=this.changes),e.prev=4,s.s();case 6:if((l=s.n()).done){e.next=30;break}return d=(f=l.value).featureId,p=f.oldStrand,e.next=11,n.findOne({allIds:d}).session(r).exec();case 11:if(h=e.sent){e.next=16;break}throw m="*** ERROR: The following featureId was not found in database ='".concat(d,"'"),a.error(m),new Error(m);case 16:if(null===(c=a.debug)||void 0===c||c.call(a,"*** Feature found: ".concat(JSON.stringify(h))),g=this.getFeatureFromId(h,d)){e.next=22;break}throw a.error("ERROR when searching feature by featureId"),new Error("ERROR when searching feature by featureId");case 22:if(null===(u=a.debug)||void 0===u||u.call(a,"*** Found feature: ".concat(JSON.stringify(g))),g.strand===p){e.next=27;break}throw y="*** ERROR: Feature's current strand \"".concat(h.strand,'" doesn\'t match with expected value "').concat(p,'"'),a.error(y),new Error(y);case 27:i.push({feature:g,topLevelFeature:h});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=_e(o.entries()),e.prev=39,v.s();case 41:if((_=v.n()).done){e.next=59;break}return w=fe(_.value,2),E=(S=i[w[0]]).topLevelFeature,(x=S.feature).strand=w[1].newStrand,E._id.equals(x._id)?E.markModified("strand"):E.markModified("children"),e.prev=47,e.next=50,E.save();case 50:e.next=56;break;case 52:throw e.prev=52,e.t1=e.catch(47),null===(k=a.debug)||void 0===k||k.call(a,"*** FAILED: ".concat(e.t1)),e.t1;case 56:null===(b=a.debug)||void 0===b||b.call(a,"*** Object updated in Mongo. New object: ".concat(JSON.stringify(E)));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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t){var n,r,o,a,i,s;return J().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=_e(this.changedIds.entries()),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=13;break}if(o=fe(r.value,2),a=o[0],s=t.getFeature(i=o[1])){e.next=10;break}throw new Error('Could not find feature with identifier "'.concat(i,'"'));case 10:s.setStrand(this.changes[a].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 a({changedIds:pe(this.changedIds).reverse(),typeName:r,changes:pe(t).reverse().map((function(e){return{featureId:e.featureId,oldStrand:e.newStrand,newStrand:e.oldStrand}})),assembly:e},{logger:n})}}]),a}(or.FeatureChange);Vs.StrandChange=Js;var Ys={};Object.defineProperty(Ys,"__esModule",{value:!0}),Ys.TypeChange=void 0;var Ks=function(e){ne(a,e);var t,n,r,o=ce(a);function a(e,t){var n;return X(this,a),te(le(n=o.call(this,e,t)),"typeName","TypeChange"),te(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ee(a,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=fe(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=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c,u,f,d,p,h,m,g,y,v,_,b,w,S,x,E,k;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,a=this.logger,i=[],s=_e(o=this.changes),e.prev=4,s.s();case 6:if((l=s.n()).done){e.next=30;break}return d=(f=l.value).featureId,p=f.oldType,e.next=11,n.findOne({allIds:d}).session(r).exec();case 11:if(h=e.sent){e.next=16;break}throw m="*** ERROR: The following featureId was not found in database ='".concat(d,"'"),a.error(m),new Error(m);case 16:if(null===(c=a.debug)||void 0===c||c.call(a,"*** Feature found: ".concat(JSON.stringify(h))),g=this.getFeatureFromId(h,d)){e.next=22;break}throw a.error("ERROR when searching feature by featureId"),new Error("ERROR when searching feature by featureId");case 22:if(null===(u=a.debug)||void 0===u||u.call(a,"*** Found feature: ".concat(JSON.stringify(g))),g.type===p){e.next=27;break}throw y="*** ERROR: Feature's current type \"".concat(h.type,'" doesn\'t match with expected value "').concat(p,'"'),a.error(y),new Error(y);case 27:i.push({feature:g,topLevelFeature:h});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=_e(o.entries()),e.prev=39,v.s();case 41:if((_=v.n()).done){e.next=59;break}return w=fe(_.value,2),E=(S=i[w[0]]).topLevelFeature,(x=S.feature).type=w[1].newType,E._id.equals(x._id)?E.markModified("type"):E.markModified("children"),e.prev=47,e.next=50,E.save();case 50:e.next=56;break;case 52:throw e.prev=52,e.t1=e.catch(47),null===(k=a.debug)||void 0===k||k.call(a,"*** FAILED: ".concat(e.t1)),e.t1;case 56:null===(b=a.debug)||void 0===b||b.call(a,"*** Object updated in Mongo. New object: ".concat(JSON.stringify(E)));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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t){var n,r,o,a,i,s;return J().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=_e(this.changedIds.entries()),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=13;break}if(o=fe(r.value,2),a=o[0],s=t.getFeature(i=o[1])){e.next=10;break}throw new Error('Could not find feature with identifier "'.concat(i,'"'));case 10:s.setType(this.changes[a].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 a({changedIds:pe(this.changedIds).reverse(),typeName:r,changes:pe(t).reverse().map((function(e){return{featureId:e.featureId,oldType:e.newType,newType:e.oldType}})),assembly:e},{logger:n})}}]),a}(or.FeatureChange);Ys.TypeChange=Ks;var Zs={};Object.defineProperty(Zs,"__esModule",{value:!0}),Zs.UserChange=void 0;var Xs=function(e){ne(a,e);var t,n,r,o=ce(a);function a(e,t){var n;return X(this,a),te(le(n=o.call(this,e,t)),"typeName","UserChange"),te(le(n),"changes",void 0),te(le(n),"userId",void 0),n.changes="changes"in e?e.changes:[e],n.userId=e.userId,n}return ee(a,[{key:"toJSON",value:function(){var e=this.changes,t=this.typeName,n=this.userId;return 1===e.length?{typeName:t,userId:n,role:fe(e,1)[0].role}:{typeName:t,userId:n,changes:e}}},{key:"executeOnServer",value:(r=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c,u,f,d;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.session,r=t.userModel,a=this.logger,i=this.userId,s=_e(o=this.changes),e.prev=3,s.s();case 5:if((l=s.n()).done){e.next=18;break}return u=l.value,null===(c=a.debug)||void 0===c||c.call(a,"change: ".concat(JSON.stringify(o))),f=u.role,e.next=11,r.findByIdAndUpdate(i,{role:f}).session(n).exec();case 11:if(e.sent){e.next=16;break}throw d='*** ERROR: User with id "'.concat(i,'" not found'),a.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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t){return J().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 a({typeName:this.typeName,changes:this.changes,userId:this.userId},{logger:this.logger})}}]),a}(or.Change);Zs.UserChange=Xs,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.changes=void 0;var t=Xe;e.changes={AddAssemblyAndFeaturesFromFileChange:nr.AddAssemblyAndFeaturesFromFileChange,AddAssemblyFromFileChange:vs.AddAssemblyFromFileChange,AddAssemblyFromExternalChange:Lr.AddAssemblyFromExternalChange,AddFeatureChange:ws.AddFeatureChange,AddFeaturesFromFileChange:Os.AddFeaturesFromFileChange,DeleteAssemblyChange:Is.DeleteAssemblyChange,DeleteFeatureChange:Ss.DeleteFeatureChange,DeleteUserChange:Fs.DeleteUserChange,FeatureAttributeChange:Ls.FeatureAttributeChange,ImportJBrowseConfigChange:qs.ImportJBrowseConfigChange,LocationEndChange:Gs.LocationEndChange,LocationStartChange:Ws.LocationStartChange,StrandChange:Vs.StrandChange,TypeChange:Ys.TypeChange,UserChange:Zs.UserChange,AddRefSeqAliasesChange:Ns.AddRefSeqAliasesChange},t.__exportStar(nr,e),t.__exportStar(vs,e),t.__exportStar(Lr,e),t.__exportStar(ws,e),t.__exportStar(Os,e),t.__exportStar(Is,e),t.__exportStar(Ss,e),t.__exportStar(Fs,e),t.__exportStar(Ls,e),t.__exportStar(qs,e),t.__exportStar(Gs,e),t.__exportStar(Ws,e),t.__exportStar(Vs,e),t.__exportStar(Ys,e),t.__exportStar(Zs,e),t.__exportStar(Ns,e)}(tr);var Qs={},el={};Object.defineProperty(el,"__esModule",{value:!0}),el.GetAssembliesOperation=void 0;var tl=function(e){ne(r,e);var t,n=ce(r);function r(){var e;X(this,r);for(var t=arguments.length,o=new Array(t),a=0;a<t;a++)o[a]=arguments[a];return te(le(e=n.call.apply(n,[this].concat(o))),"typeName","GetAssembliesOperation"),e}return ee(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=Z(J().mark((function e(t){return J().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}(or.Operation);el.GetAssembliesOperation=tl;var nl={};Object.defineProperty(nl,"__esModule",{value:!0}),nl.GetFeaturesOperation=void 0;var rl=function(e){ne(r,e);var t,n=ce(r);function r(e,t){var o;return X(this,r),te(le(o=n.call(this,e,t)),"typeName","GetFeaturesOperation"),te(le(o),"refSeq",void 0),te(le(o),"start",void 0),te(le(o),"end",void 0),o.refSeq=e.refSeq,o.start=e.start,o.end=e.end,o}return ee(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=Z(J().mark((function e(t){return J().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}(or.Operation);nl.GetFeaturesOperation=rl,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.operations=void 0;var t=Xe;e.operations={GetAssembliesOperation:el.GetAssembliesOperation,GetFeaturesOperation:nl.GetFeaturesOperation},t.__exportStar(el,e),t.__exportStar(nl,e)}(Qs);var ol={},al={};Object.defineProperty(al,"__esModule",{value:!0}),al.Validation=void 0,al.isContext=function(e){return void 0!==e.context&&void 0!==e.reflector};var il=function(){function e(){X(this,e)}var t,n,r,o,a;return ee(e,[{key:"frontendPreValidate",value:(a=Z(J().mark((function e(t){return J().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 a.apply(this,arguments)})},{key:"frontendPostValidate",value:(o=Z(J().mark((function e(t,n){return J().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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t,n){return J().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=Z(J().mark((function e(t){return J().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}();al.Validation=il;var sl={};Object.defineProperty(sl,"__esModule",{value:!0}),sl.validationRegistry=sl.ValidationSet=sl.ValidationResultSet=void 0;var ll=function(){function e(){X(this,e),te(this,"results",[]),te(this,"ok",!0)}return ee(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}();sl.ValidationResultSet=ll;var cl=function(){function e(){X(this,e),te(this,"validations",new Set)}var t,n,r,o,a;return ee(e,[{key:"registerValidation",value:function(e){this.validations.add(e)}},{key:"frontendPreValidate",value:(a=Z(J().mark((function e(t){var n,r,o,a,i;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=new ll,r=_e(this.validations),e.prev=2,r.s();case 4:if((o=r.n()).done){e.next=14;break}return a=o.value,e.next=8,a.frontendPreValidate(t);case 8:if(n.add(i=e.sent),!i.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 a.apply(this,arguments)})},{key:"frontendPostValidate",value:(o=Z(J().mark((function e(t,n){var r,o,a,i,s;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=new ll,o=_e(this.validations),e.prev=2,o.s();case 4:if((a=o.n()).done){e.next=14;break}return i=a.value,e.next=8,i.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=Z(J().mark((function e(t){var n,r,o,a,i;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=new ll,r=_e(this.validations),e.prev=2,r.s();case 4:if((o=r.n()).done){e.next=14;break}return a=o.value,e.next=8,a.backendPreValidate(t);case 8:if(n.add(i=e.sent),!i.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=Z(J().mark((function e(t,n){var r,o,a,i,s,l,c;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=n.featureModel,o=n.session,a=new ll,i=_e(this.validations),e.prev=3,i.s();case 5:if((s=i.n()).done){e.next=15;break}return l=s.value,e.next=9,l.backendPostValidate(t,{featureModel:r,session:o});case 9:if(a.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),i.e(e.t0);case 20:return e.prev=20,i.f(),e.finish(20);case 23:return e.abrupt("return",a);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=Z(J().mark((function e(t){var n,r,o,a;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=_e(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(!(a=e.sent)){e.next=10;break}return e.abrupt("return",a);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}();sl.ValidationSet=cl,sl.validationRegistry=new cl;var ul={},fl={};Object.defineProperty(fl,"__esModule",{value:!0}),fl.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(ul,"__esModule",{value:!0}),ul.CoreValidation=void 0,ul.isTypeChange=pl;var dl=Xe.__importDefault(fl);function pl(e){return"oldType"in e&&"newType"in e}var hl=function(e){ne(o,e);var t,n,r=ce(o);function o(){var e;X(this,o);for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return te(le(e=r.call.apply(r,[this].concat(n))),"name","Core"),e}return ee(o,[{key:"frontendPreValidate",value:(n=Z(J().mark((function e(t){var n,r,o;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!pl(t)){e.next=18;break}n=_e(t.changes),e.prev=2,n.s();case 4:if((r=n.n()).done){e.next=10;break}if(dl.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=Z(J().mark((function e(t){return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("type"!==t){e.next=2;break}return e.abrupt("return",dl.default);case 2:return e.abrupt("return");case 3:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),o}(al.Validation);ul.CoreValidation=hl;var ml={};Object.defineProperty(ml,"__esModule",{value:!0}),ml.ParentChildValidation=void 0;var gl=tr,yl=function(e){ne(o,e);var t,n,r=ce(o);function o(){var e;X(this,o);for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return te(le(e=r.call.apply(r,[this].concat(n))),"name","ParentChildValidation"),e}return ee(o,[{key:"backendPostValidate",value:(n=Z(J().mark((function e(t,n){var r,o;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.featureModel,o=n.session,!(0,gl.isLocationEndChange)(t)&&!(0,gl.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=Z(J().mark((function e(t,n){var r,o,a,i,s,l,c,u,f;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=n.featureModel,o=n.session,a=[],i=_e(t.changes),e.prev=3,l=J().mark((function e(){var t,n,i;return J().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 i="ERROR: The following featureId was not found in database ='".concat(t,"'"),new Error(i);case 8:a.some((function(e){return e._id===n._id}))||a.push(n);case 9:case"end":return e.stop()}}),e)})),i.s();case 6:if((s=i.n()).done){e.next=10;break}return e.delegateYield(l(),"t0",8);case 8:e.next=6;break;case 10:e.next=15;break;case 12:e.prev=12,e.t1=e.catch(3),i.e(e.t1);case 15:return e.prev=15,i.f(),e.finish(15);case 18:c=0,u=a;case 19:if(!(c<u.length)){e.next=31;break}f=u[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=_e(e.children||new Map);try{for(n.s();!(t=n.n()).done;){var r=fe(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}(al.Validation);ml.ParentChildValidation=yl,function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=Xe;t.__exportStar(al,e),t.__exportStar(sl,e),t.__exportStar(ul,e),t.__exportStar(ml,e)}(ol);var vl={},_l={};function bl(e){this.message=e}(bl.prototype=new Error).name="InvalidCharacterError";var wl="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new bl("'atob' failed: The string to be decoded is not correctly encoded.");for(var n,r,o=0,a=0,i="";r=t.charAt(a++);~r&&(n=o%4?64*n+r:r,o++%4)?i+=String.fromCharCode(255&n>>(-2*o&6)):0)r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(r);return i};function Sl(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(wl(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 wl(t)}}function xl(e){this.message=e}(xl.prototype=new Error).name="InvalidTokenError";var El={__proto__:null,default:function(e,t){if("string"!=typeof e)throw new xl("Invalid token specified");var n=!0===(t=t||{}).header?0:1;try{return JSON.parse(Sl(e.split(".")[n]))}catch(e){throw new xl("Invalid token specified: "+e.message)}},InvalidTokenError:xl},kl=D(El);Object.defineProperty(_l,"__esModule",{value:!0}),_l.makeUserSessionId=function(e){var t="string"==typeof e?(0,Al.default)(e):e;return"".concat(t.id,"-").concat(t.iat)},_l.getDecodedToken=function(e){return(0,Al.default)(e)};var Al=Xe.__importDefault(kl);!function(e){Object.defineProperty(e,"__esModule",{value:!0}),Xe.__exportStar(_l,e)}(vl);var Ol={},Cl={};Object.defineProperty(Cl,"__esModule",{value:!0}),Cl.CDSCheck=void 0;var Nl,Rl,Tl=or,Il=O.default,Pl=Xe.__importDefault($n);!function(e){e[e.TAG=0]="TAG",e[e.TAA=1]="TAA",e[e.TGA=2]="TGA"}(Nl||(Nl={})),function(e){e[e.ATG=0]="ATG"}(Rl||(Rl={}));var Ml,Fl="CDSCheck";!function(e){e[e.InternalStopCodon=0]="InternalStopCodon",e[e.MissingStartCodon=1]="MissingStartCodon",e[e.MissingStopCodon=2]="MissingStopCodon",e[e.MultipleOfThree=3]="MultipleOfThree"}(Ml||(Ml={}));var jl={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 Ll(e){var t,n=[],r=_e(e);try{for(r.s();!(t=r.n()).done;){var o=t.value,a=jl[o.toUpperCase()];if(void 0===a)throw new TypeError('Cannot complement nucleotide: "'.concat(o,'"'));o===o.toLowerCase()?n.push(a.toLowerCase()):n.push(a)}}catch(e){r.e(e)}finally{r.f()}return n.reverse().join("")}function Dl(e,t,n){return ql.apply(this,arguments)}function ql(){return(ql=Z(J().mark((function e(t,n,r){var o;return J().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:return o=e.sent.join(""),-1===n&&(o=Ll(o)),e.abrupt("return",o);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Bl(e){for(var t=[],n=0;n<=e.length-3;n+=3)t.push(e.slice(n,n+3));return t}function Ul(e,t,n){return-1===n?e>t:e<t}function zl(e,t,n){var r=structuredClone(e);r.sort(-1===t?function(e,t){return e.min<t.min?1:-1}:function(e,t){return e.min<t.min?-1:1});for(var o=0,a=void 0,i=void 0,s=0;s<r.length;s++)for(var l=r[s],c=l.phase,u=-1===t?l.min:l.max,f=-1===t?l.max-c:l.min+c;Ul(f,u,t);f=-1===t?f-3:f+3){if(a=f,i=-1===t?a-3:a+3,-1===t&&i<l.min?i=r[s+1].max-r[s+1].phase:i>l.max&&(i=r[s+1].min+r[s+1].phase),o===n)return[a,i].sort((function(e,t){return e-t}));o++}}function Gl(e,t){return Hl.apply(this,arguments)}function Hl(){return(Hl=Z(J().mark((function e(t,n){var r,o,a,i,s,l,c,u,f,d,p,h,m,g,y,v,_,b,w,S,x,E,k,A,O,C,N,R,T,I,P,M,F,j;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=[],o=t._id,a=t.max,i=t.min,s=t.refSeq,l=t.strand,c=Wl(t)){e.next=5;break}return e.abrupt("return",r);case 5:u=[o],f=_e(c),e.prev=7,f.s();case 9:if((d=f.n()).done){e.next=37;break}return p=d.value,e.next=13,Dl(p,l,n);case 13:m=Bl(h=e.sent),h.length%3==0?((g=m.at(0))&&!(g.toUpperCase()in Rl)&&(w=-1===l?null!==(y=null===(v=p.at(-1))||void 0===v?void 0:v.max)&&void 0!==y?y:a:null!==(_=null===(b=p.at(0))||void 0===b?void 0:b.min)&&void 0!==_?_:i,w=-1===l?w-3:w,r.push({_id:(new Pl.default).toHexString(),name:Fl,cause:Ml[Ml.MissingStartCodon],ids:u,refSeq:s.toString(),start:w,end:w,message:'Unexpected start codon in feature "'.concat(o,'": ').concat(g)})),(S=m.at(-1))&&!(S.toUpperCase()in Nl)&&(O=-1===l?null!==(x=null===(E=p.at(0))||void 0===E?void 0:E.min)&&void 0!==x?x:i:null!==(k=null===(A=p.at(-1))||void 0===A?void 0:A.max)&&void 0!==k?k:a,r.push({_id:(new Pl.default).toHexString(),name:Fl,cause:Ml[Ml.MissingStopCodon],ids:u,refSeq:s.toString(),start:O,end:O,message:'Missing stop codon for feature "'.concat(o,'"')}))):r.push({_id:(new Pl.default).toHexString(),name:Fl,cause:Ml[Ml.MultipleOfThree],ids:u,refSeq:s.toString(),start:i,end:a,message:'The coding sequence for feature "'.concat(o,'" is not a multiple of three')}),C=_e(m.entries()),e.prev=17,C.s();case 19:if((N=C.n()).done){e.next=27;break}if(R=fe(N.value,2),I=R[1],(T=R[0])!==m.length-1){e.next=23;break}return e.abrupt("break",27);case 23:(P=zl(p,l,T))&&I.toUpperCase()in Nl&&(M=fe(P,2),F=M[0],j=M[1],r.push({_id:(new Pl.default).toHexString(),name:Fl,cause:Ml[Ml.InternalStopCodon],ids:u,refSeq:s.toString(),start:F,end:j,message:'The coding sequence for feature "'.concat(o,'" has an internal stop codon')}));case 25:e.next=19;break;case 27:e.next=32;break;case 29:e.prev=29,e.t0=e.catch(17),C.e(e.t0);case 32:return e.prev=32,C.f(),e.finish(32);case 35:e.next=9;break;case 37:e.next=42;break;case 39:e.prev=39,e.t1=e.catch(7),f.e(e.t1);case 42:return e.prev=42,f.f(),e.finish(42);case 45:return e.abrupt("return",r);case 46:case"end":return e.stop()}}),e,null,[[7,39,42,45],[17,29,32,35]])})))).apply(this,arguments)}function Wl(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,a=[],i=_e(r);try{var s=function(){for(var e=o.value,r=e.max,i=e.min,s=[],l=0,c=Object.values(t);l<c.length;l++){var u=c[l];if("exon"===u.type){var f=fe((0,Il.intersection2)(i,r,u.min,u.max),2),d=f[0],p=f[1];void 0!==d&&void 0!==p&&s.push({min:d,max:p})}}s.sort((function(e,t){return e.min-t.min})),-1===n&&s.reverse();var h=0,m=s.map((function(e){var t=h;return h=(3-(e.max-e.min-t+3)%3)%3,V(V({},e),{},{phase:t})}));m.sort((function(e,t){return e.min<t.min?-1:1})),a.push(m)};for(i.s();!(o=i.n()).done;)s()}catch(e){i.e(e)}finally{i.f()}return a.length>1&&a.sort((function(e,t){return e[0].min<t[0].min?-1:1})),a}}}}var $l=function(e){ne(r,e);var t,n=ce(r);function r(){var e;X(this,r);for(var t=arguments.length,o=new Array(t),a=0;a<t;a++)o[a]=arguments[a];return te(le(e=n.call.apply(n,[this].concat(o))),"name",Fl),te(le(e),"causes",Object.values(Ml).filter((function(e){return Number.isNaN(Number(e))}))),te(le(e),"version",1),te(le(e),"default",!0),e}return ee(r,[{key:"checkFeature",value:(t=Z(J().mark((function e(t,n){var r,o,a,i;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("mRNA"!==t.type){e.next=2;break}return e.abrupt("return",Gl(t,n));case 2:if(t.children){e.next=4;break}return e.abrupt("return",[]);case 4:r=[],o=0,a=Object.values(t.children);case 6:if(!(o<a.length)){e.next=19;break}return i=a[o],e.t0=r.push,e.t1=r,e.t2=pe,e.next=13,this.checkFeature(i,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}(Tl.Check);Cl.CDSCheck=$l,function(e){Object.defineProperty(e,"__esModule",{value:!0}),Xe.__exportStar(Cl,e)}(Ol);var Vl={};Object.defineProperty(Vl,"__esModule",{value:!0}),Vl.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 Jl={};Object.defineProperty(Jl,"__esModule",{value:!0}),function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=Xe;t.__exportStar(tr,e),t.__exportStar(Qs,e),t.__exportStar(ol,e),t.__exportStar(vl,e),t.__exportStar(Ol,e),t.__exportStar(Vl,e),t.__exportStar(Jl,e),t.__exportStar(Er,e)}(er);var Yl={},Kl={exports:{}};!function(e){e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports}(Kl);var Zl={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.createSvgIcon}});var t=C.default}(Zl);var Xl=Kl.exports;Object.defineProperty(Yl,"__esModule",{value:!0});var Ql=Yl.default=void 0;Ql=Yl.default=(0,Xl(Zl).default)((0,N.default.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"}),"Add");const ec=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 tc=Object.create(null);tc.open="0",tc.close="1",tc.ping="2",tc.pong="3",tc.message="4",tc.upgrade="5",tc.noop="6";var nc=Object.create(null);Object.keys(tc).forEach((function(e){nc[tc[e]]=e}));var rc,oc={type:"error",data:"parser error"},ac="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),ic="function"==typeof ArrayBuffer,sc=function(e){return"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer},lc=function(e,t,n){var r=e.type,o=e.data;return ac&&o instanceof Blob?t?n(o):cc(o,n):ic&&(o instanceof ArrayBuffer||sc(o))?t?n(o):cc(new Blob([o]),n):n(tc[r]+(o||""))},cc=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 fc="undefined"==typeof Uint8Array?[]:new Uint8Array(256),dc=0;dc<64;dc++)fc["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(dc)]=dc;var pc,hc="function"==typeof ArrayBuffer,mc=function(e,t){if("string"!=typeof e)return{type:"message",data:yc(e,t)};var n=e.charAt(0);return"b"===n?{type:"message",data:gc(e.substring(1),t)}:nc[n]?e.length>1?{type:nc[n],data:e.substring(1)}:{type:nc[n]}:oc},gc=function(e,t){if(hc){var n=function(e){var t,n,r,o,a,i=.75*e.length,s=e.length,l=0;"="===e[e.length-1]&&(i--,"="===e[e.length-2]&&i--);var c=new ArrayBuffer(i),u=new Uint8Array(c);for(t=0;t<s;t+=4)n=fc[e.charCodeAt(t)],r=fc[e.charCodeAt(t+1)],o=fc[e.charCodeAt(t+2)],a=fc[e.charCodeAt(t+3)],u[l++]=n<<2|r>>4,u[l++]=(15&r)<<4|o>>2,u[l++]=(3&o)<<6|63&a;return c}(e);return yc(n,t)}return{base64:!0,data:e}},yc=function(e,t){return"blob"===t?e instanceof Blob?e:new Blob([e]):e instanceof ArrayBuffer?e:e.buffer},vc=String.fromCharCode(30);function _c(e){return e.reduce((function(e,t){return e+t.length}),0)}function bc(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 wc(e){if(e)return function(e){for(var t in wc.prototype)e[t]=wc.prototype[t];return e}(e)}wc.prototype.on=wc.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},wc.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},wc.prototype.off=wc.prototype.removeListener=wc.prototype.removeAllListeners=wc.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},wc.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},wc.prototype.emitReserved=wc.prototype.emit,wc.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},wc.prototype.hasListeners=function(e){return!!this.listeners(e).length};var Sc=function(){return"undefined"!=typeof self?self:"undefined"!=typeof window?window:Function("return this")()}();function xc(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 Ec=Sc.setTimeout,kc=Sc.clearTimeout;function Ac(e,t){t.useNativeTimers?(e.setTimeoutFn=Ec.bind(Sc),e.clearTimeoutFn=kc.bind(Sc)):(e.setTimeoutFn=Sc.setTimeout.bind(Sc),e.clearTimeoutFn=Sc.clearTimeout.bind(Sc))}var Oc,Cc=function(e){ne(n,e);var t=ce(n);function n(e,r,o){var a;return X(this,n),(a=t.call(this,e)).description=r,a.context=o,a.type="TransportError",a}return ee(n)}(se(Error)),Nc=function(e){ne(n,e);var t=ce(n);function n(e){var r;return X(this,n),(r=t.call(this)).writable=!1,Ac(le(r),e),r.opts=e,r.query=e.query,r.socket=e.socket,r}return ee(n,[{key:"onError",value:function(e,t,r){return ue(re(n.prototype),"emitReserved",this).call(this,"error",new Cc(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,ue(re(n.prototype),"emitReserved",this).call(this,"open")}},{key:"onData",value:function(e){var t=mc(e,this.socket.binaryType);this.onPacket(t)}},{key:"onPacket",value:function(e){ue(re(n.prototype),"emitReserved",this).call(this,"packet",e)}},{key:"onClose",value:function(e){this.readyState="closed",ue(re(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}(wc),Rc="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),Tc=64,Ic=0;function Pc(e){var t="";do{t=Rc[e%Tc]+t,e=Math.floor(e/Tc)}while(e>0);return t}function Mc(){var e=Pc(+new Date);return e!==Oc?(Ic=0,Oc=e):e+"."+Pc(Ic++)}var Fc=!1;try{Fc="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(aa){}var jc=Fc;function Lc(e){var t=e.xdomain;try{if("undefined"!=typeof XMLHttpRequest&&(!t||jc))return new XMLHttpRequest}catch(e){}if(!t)try{return new(Sc[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(e){}}function Dc(){}var qc=function(){return null!=new Lc({xdomain:!1}).responseType}(),Bc=function(e){ne(n,e);var t=ce(n);function n(e){var r;if(X(this,n),(r=t.call(this,e)).polling=!1,"undefined"!=typeof location){var o="https:"===location.protocol,a=location.port;a||(a=o?"443":"80"),r.xd="undefined"!=typeof location&&e.hostname!==location.hostname||a!==e.port}return r.supportsBinary=qc&&!(e&&e.forceBase64),r.opts.withCredentials&&(r.cookieJar=void 0),r}return ee(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(vc),r=[],o=0;o<n.length;o++){var a=mc(n[o],t);if(r.push(a),"error"===a.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),a=0;e.forEach((function(e,n){lc(e,!1,(function(e){var i;o[n]=e,++a===r&&(i=o.join(vc),t.doWrite(i,(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]=Mc()),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 Uc(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}(Nc),Uc=function(e){ne(n,e);var t=ce(n);function n(e,r){var o;return X(this,n),Ac(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 ee(n,[{key:"create",value:function(){var e,t=this,r=xc(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");r.xdomain=!!this.opts.xd;var o=this.xhr=new Lc(r);try{o.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders)for(var a in o.setDisableHeaderCheck&&o.setDisableHeaderCheck(!0),this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(a)&&o.setRequestHeader(a,this.opts.extraHeaders[a])}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=Dc,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}(wc);function zc(){for(var e in Uc.requests)Uc.requests.hasOwnProperty(e)&&Uc.requests[e].abort()}Uc.requestsCount=0,Uc.requests={},"undefined"!=typeof document&&("function"==typeof attachEvent?attachEvent("onunload",zc):"function"==typeof addEventListener&&addEventListener("onpagehide"in Sc?"pagehide":"unload",zc,!1));var Gc=function(){return"function"==typeof Promise&&"function"==typeof Promise.resolve?function(e){return Promise.resolve().then(e)}:function(e,t){return t(e,0)}}(),Hc=Sc.WebSocket||Sc.MozWebSocket,Wc="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase(),$c=function(e){ne(n,e);var t=ce(n);function n(e){var r;return X(this,n),(r=t.call(this,e)).supportsBinary=!e.forceBase64,r}return ee(n,[{key:"name",get:function(){return"websocket"}},{key:"doOpen",value:function(){if(this.check()){var e=this.uri(),t=this.opts.protocols,n=Wc?{}:xc(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=Wc?new Hc(e,t,n):t?new Hc(e,t):new Hc(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;lc(e[r],t.supportsBinary,(function(e){try{t.ws.send(e)}catch(e){}n&&Gc((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]=Mc()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}},{key:"check",value:function(){return!!Hc}}]),n}(Nc),Vc=function(e){ne(n,e);var t=ce(n);function n(){return X(this,n),t.apply(this,arguments)}return ee(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){pc||(pc=new TextDecoder);var n=[],r=0,o=-1,a=!1;return new TransformStream({transform:function(i,s){for(n.push(i);;){if(0===r){if(_c(n)<1)break;var l=bc(n,1);a=128==(128&l[0]),r=(o=127&l[0])<126?3:126===o?1:2}else if(1===r){if(_c(n)<2)break;var c=bc(n,2);o=new DataView(c.buffer,c.byteOffset,c.length).getUint16(0),r=3}else if(2===r){if(_c(n)<8)break;var u=bc(n,8),f=new DataView(u.buffer,u.byteOffset,u.length),d=f.getUint32(0);if(d>Math.pow(2,21)-1){s.enqueue(oc);break}o=d*Math.pow(2,32)+f.getUint32(4),r=3}else{if(_c(n)<o)break;var p=bc(n,o);s.enqueue(mc(a?p:pc.decode(p),t)),r=0}if(0===o||o>e){s.enqueue(oc);break}}}})}(Number.MAX_SAFE_INTEGER,e.socket.binaryType),r=t.readable.pipeThrough(n).getReader(),o=new TransformStream({transform:function(e,t){!function(e,t){ac&&e.data instanceof Blob?e.data.arrayBuffer().then(uc).then(t):ic&&(e.data instanceof ArrayBuffer||sc(e.data))?t(uc(e.data)):lc(e,!1,(function(e){rc||(rc=new TextEncoder),t(rc.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 a=new DataView(r.buffer);a.setUint8(0,126),a.setUint16(1,o)}else{r=new Uint8Array(9);var i=new DataView(r.buffer);i.setUint8(0,127),i.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 a={type:"open"};e.query.sid&&(a.data='{"sid":"'.concat(e.query.sid,'"}')),e.writer.write(a).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&&Gc((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}(Nc),Jc={websocket:$c,webtransport:Vc,polling:Bc},Yc=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,Kc=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function Zc(e){var t,n,r=e,o=e.indexOf("["),a=e.indexOf("]");-1!=o&&-1!=a&&(e=e.substring(0,o)+e.substring(o,a).replace(/:/g,";")+e.substring(a,e.length));for(var i,s=Yc.exec(e||""),l={},c=14;c--;)l[Kc[c]]=s[c]||"";return-1!=o&&-1!=a&&(l.source=r,l.host=l.host.substring(1,l.host.length-1).replace(/;/g,":"),l.authority=l.authority.replace("[","").replace("]","").replace(/;/g,":"),l.ipv6uri=!0),l.pathNames=(n=(t=l.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),l.queryKey=(i={},l.query.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,(function(e,t,n){t&&(i[t]=n)})),i),l}var Xc=function(e){ne(n,e);var t=ce(n);function n(e){var r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return X(this,n),(r=t.call(this)).binaryType="arraybuffer",r.writeBuffer=[],e&&"object"===Y(e)&&(o=e,e=null),e?(e=Zc(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=Zc(o.host).host),Ac(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 a=n[r].split("=");t[decodeURIComponent(a[0])]=decodeURIComponent(a[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 ee(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 Jc[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 a=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 a=new Error("probe error");a.transport=r.name,t.emitReserved("upgradeError",a)}})))};function i(){o||(o=!0,f(),r.close(),r=null)}var s=function(e){var n=new Error("probe error: "+e);n.transport=r.name,i(),t.emitReserved("upgradeError",n)};function l(){s("transport closed")}function c(){s("socket closed")}function u(e){r&&e.name!==r.name&&i()}var f=function(){r.removeListener("open",a),r.removeListener("error",s),r.removeListener("close",l),t.off("close",c),t.off("upgrading",u)};r.once("open",a),r.once("error",s),r.once("close",l),this.once("close",c),this.once("upgrading",u),-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}(wc);Xc.protocol=4;var Qc="function"==typeof ArrayBuffer,eu=function(e){return"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer},tu=Object.prototype.toString,nu="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===tu.call(Blob),ru="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===tu.call(File);function ou(e){return Qc&&(e instanceof ArrayBuffer||eu(e))||nu&&e instanceof Blob||ru&&e instanceof File}function au(e,t){if(!e||"object"!==Y(e))return!1;if(Array.isArray(e)){for(var n=0,r=e.length;n<r;n++)if(au(e[n]))return!0;return!1}if(ou(e))return!0;if(e.toJSON&&"function"==typeof e.toJSON&&1===arguments.length)return au(e.toJSON(),!0);for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)&&au(e[o]))return!0;return!1}function iu(e){var t=[],n=e;return n.data=su(e.data,t),n.attachments=t.length,{packet:n,buffers:t}}function su(e,t){if(!e)return e;if(ou(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]=su(e[o],t);return r}if("object"===Y(e)&&!(e instanceof Date)){var a={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(a[i]=su(e[i],t));return a}return e}function lu(e,t){return e.data=cu(e.data,t),delete e.attachments,e}function cu(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]=cu(e[n],t);else if("object"===Y(e))for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(e[r]=cu(e[r],t));return e}var uu,fu=["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"}(uu||(uu={}));var du=function(){function e(t){X(this,e),this.replacer=t}return ee(e,[{key:"encode",value:function(e){return e.type!==uu.EVENT&&e.type!==uu.ACK||!au(e)?[this.encodeAsString(e)]:this.encodeAsBinary({type:e.type===uu.EVENT?uu.BINARY_EVENT:uu.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id})}},{key:"encodeAsString",value:function(e){var t=""+e.type;return e.type!==uu.BINARY_EVENT&&e.type!==uu.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=iu(e),n=this.encodeAsString(t.packet),r=t.buffers;return r.unshift(n),r}}]),e}();function pu(e){return"[object Object]"===Object.prototype.toString.call(e)}var hu=function(e){ne(n,e);var t=ce(n);function n(e){var r;return X(this,n),(r=t.call(this)).reviver=e,r}return ee(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===uu.BINARY_EVENT;r||t.type===uu.BINARY_ACK?(t.type=r?uu.EVENT:uu.ACK,this.reconstructor=new mu(t),0===t.attachments&&ue(re(n.prototype),"emitReserved",this).call(this,"decoded",t)):ue(re(n.prototype),"emitReserved",this).call(this,"decoded",t)}else{if(!ou(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,ue(re(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===uu[r.type])throw new Error("unknown packet type "+r.type);if(r.type===uu.BINARY_EVENT||r.type===uu.BINARY_ACK){for(var o=t+1;"-"!==e.charAt(++t)&&t!=e.length;);var a=e.substring(o,t);if(a!=Number(a)||"-"!==e.charAt(t))throw new Error("Illegal attachments");r.attachments=Number(a)}if("/"===e.charAt(t+1)){for(var i=t+1;++t&&","!==e.charAt(t)&&t!==e.length;);r.nsp=e.substring(i,t)}else r.nsp="/";var s=e.charAt(t+1);if(""!==s&&Number(s)==s){for(var l=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(l,t+1))}if(e.charAt(++t)){var u=this.tryParse(e.substr(t));if(!n.isPayloadValid(r.type,u))throw new Error("invalid payload");r.data=u}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 uu.CONNECT:return pu(t);case uu.DISCONNECT:return void 0===t;case uu.CONNECT_ERROR:return"string"==typeof t||pu(t);case uu.EVENT:case uu.BINARY_EVENT:return Array.isArray(t)&&("number"==typeof t[0]||"string"==typeof t[0]&&-1===fu.indexOf(t[0]));case uu.ACK:case uu.BINARY_ACK:return Array.isArray(t)}}}]),n}(wc),mu=function(){function e(t){X(this,e),this.packet=t,this.buffers=[],this.reconPack=t}return ee(e,[{key:"takeBinaryData",value:function(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){var t=lu(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}},{key:"finishedReconstruction",value:function(){this.reconPack=null,this.buffers=[]}}]),e}(),gu={__proto__:null,protocol:5,get PacketType(){return uu},Encoder:du,Decoder:hu};function yu(e,t,n){return e.on(t,n),function(){e.off(t,n)}}var vu=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1}),_u=function(e){ne(n,e);var t=ce(n);function n(e,r,o){var a;return X(this,n),(a=t.call(this)).connected=!1,a.recovered=!1,a.receiveBuffer=[],a.sendBuffer=[],a._queue=[],a._queueSeq=0,a.ids=0,a.acks={},a.flags={},a.io=e,a.nsp=r,o&&o.auth&&(a.auth=o.auth),a._opts=Object.assign({},o),a.io._autoConnect&&a.open(),a}return ee(n,[{key:"disconnected",get:function(){return!this.connected}},{key:"subEvents",value:function(){if(!this.subs){var e=this.io;this.subs=[yu(e,"open",this.onopen.bind(this)),yu(e,"packet",this.onpacket.bind(this)),yu(e,"error",this.onerror.bind(this)),yu(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(vu.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:uu.EVENT,data:n,options:{}};if(o.options.compress=!1!==this.flags.compress,"function"==typeof n[n.length-1]){var a=this.ids++,i=n.pop();this._registerAckCallback(a,i),o.id=a}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 a=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(a);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 a=void 0!==this.flags.timeout||void 0!==this._opts.ackTimeout;return new Promise((function(n,o){r.push((function(e,t){return a?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,a=new Array(o>1?o-1:0),i=1;i<o;i++)a[i-1]=arguments[i];t.apply(void 0,[null].concat(a))}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:uu.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 uu.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 uu.EVENT:case uu.BINARY_EVENT:this.onevent(e);break;case uu.ACK:case uu.BINARY_ACK:this.onack(e);break;case uu.DISCONNECT:this.ondisconnect();break;case uu.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=_e(this._anyListeners.slice());try{for(r.s();!(t=r.n()).done;)t.value.apply(this,e)}catch(e){r.e(e)}finally{r.f()}}ue(re(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),a=0;a<r;a++)o[a]=arguments[a];t.packet({type:uu.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:uu.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=_e(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}(wc);function bu(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}bu.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)},bu.prototype.reset=function(){this.attempts=0},bu.prototype.setMin=function(e){this.ms=e},bu.prototype.setMax=function(e){this.max=e},bu.prototype.setJitter=function(e){this.jitter=e};var wu=function(e){ne(n,e);var t=ce(n);function n(e,r){var o,a;X(this,n),(o=t.call(this)).nsps={},o.subs=[],e&&"object"===Y(e)&&(r=e,e=void 0),(r=r||{}).path=r.path||"/socket.io",o.opts=r,Ac(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!==(a=r.randomizationFactor)&&void 0!==a?a:.5),o.backoff=new bu({min:o.reconnectionDelay(),max:o.reconnectionDelayMax(),jitter:o.randomizationFactor()}),o.timeout(null==r.timeout?2e4:r.timeout),o._readyState="closed",o.uri=e;var i=r.parser||gu;return o.encoder=new i.Encoder,o.decoder=new i.Decoder,o._autoConnect=!1!==r.autoConnect,o._autoConnect&&o.open(),o}return ee(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 Xc(this.uri,this.opts);var n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;var o=yu(n,"open",(function(){r.onopen(),e&&e()})),a=function(n){t.cleanup(),t._readyState="closed",t.emitReserved("error",n),e?e(n):t.maybeReconnectOnOpen()},i=yu(n,"error",a);if(!1!==this._timeout){var s=this.setTimeoutFn((function(){o(),a(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(i),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(yu(e,"ping",this.onping.bind(this)),yu(e,"data",this.ondata.bind(this)),yu(e,"error",this.onerror.bind(this)),yu(e,"close",this.onclose.bind(this)),yu(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;Gc((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 _u(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}(wc),Su={};function xu(e,t){"object"===Y(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=Zc(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,a=r.id;return t.forceNew||t["force new connection"]||!1===t.multiplex||Su[a]&&r.path in Su[a].nsps?n=new wu(o,t):(Su[a]||(Su[a]=new wu(o,t)),n=Su[a]),r.query&&!t.query&&(t.query=r.queryKey),n.socket(r.path,t)}function Eu(){}function ku(){ku.init.call(this)}function Au(e){return void 0===e._maxListeners?ku.defaultMaxListeners:e._maxListeners}function Ou(e,t,n,r){var o,a,i;if("function"!=typeof n)throw new TypeError('"listener" argument must be a function');if((a=e._events)?(a.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),a=e._events),i=a[t]):(a=e._events=new Eu,e._eventsCount=0),i){if("function"==typeof i?i=a[t]=r?[n,i]:[i,n]:r?i.unshift(n):i.push(n),!i.warned&&(o=Au(e))&&o>0&&i.length>o){i.warned=!0;var s=new Error("Possible EventEmitter memory leak detected. "+i.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");s.name="MaxListenersExceededWarning",s.emitter=e,s.type=t,s.count=i.length,function(e){"function"==typeof console.warn?console.warn(e):console.log(e)}(s)}}else i=a[t]=n,++e._eventsCount;return e}function Cu(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 Nu(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 Ru(e,t){for(var n=new Array(t);t--;)n[t]=e[t];return n}Object.assign(xu,{Manager:wu,Socket:_u,io:xu,connect:xu}),Eu.prototype=Object.create(null),ku.EventEmitter=ku,ku.usingDomains=!1,ku.prototype.domain=void 0,ku.prototype._events=void 0,ku.prototype._maxListeners=void 0,ku.defaultMaxListeners=10,ku.init=function(){this.domain=null,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new Eu,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},ku.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},ku.prototype.getMaxListeners=function(){return Au(this)},ku.prototype.emit=function(e){var t,n,r,o,a,i,s,l="error"===e;if(i=this._events)l=l&&null==i.error;else if(!l)return!1;if(s=this.domain,l){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=i[e]))return!1;var u="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=Ru(e,r),a=0;a<r;++a)o[a].call(n)}(n,u,this);break;case 2:!function(e,t,n,r){if(t)e.call(n,r);else for(var o=e.length,a=Ru(e,o),i=0;i<o;++i)a[i].call(n,r)}(n,u,this,arguments[1]);break;case 3:!function(e,t,n,r,o){if(t)e.call(n,r,o);else for(var a=e.length,i=Ru(e,a),s=0;s<a;++s)i[s].call(n,r,o)}(n,u,this,arguments[1],arguments[2]);break;case 4:!function(e,t,n,r,o,a){if(t)e.call(n,r,o,a);else for(var i=e.length,s=Ru(e,i),l=0;l<i;++l)s[l].call(n,r,o,a)}(n,u,this,arguments[1],arguments[2],arguments[3]);break;default:for(o=new Array(r-1),a=1;a<r;a++)o[a-1]=arguments[a];!function(e,t,n,r){if(t)e.apply(n,r);else for(var o=e.length,a=Ru(e,o),i=0;i<o;++i)a[i].apply(n,r)}(n,u,this,o)}return!0},ku.prototype.on=ku.prototype.addListener=function(e,t){return Ou(this,e,t,!1)},ku.prototype.prependListener=function(e,t){return Ou(this,e,t,!0)},ku.prototype.once=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.on(e,Cu(this,e,t)),this},ku.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.prependListener(e,Cu(this,e,t)),this},ku.prototype.removeListener=function(e,t){var n,r,o,a,i;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 Eu:(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(o=-1,a=n.length;a-- >0;)if(n[a]===t||n[a].listener&&n[a].listener===t){i=n[a].listener,o=a;break}if(o<0)return this;if(1===n.length){if(n[0]=void 0,0==--this._eventsCount)return this._events=new Eu,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,i||t)}return this},ku.prototype.removeAllListeners=function(e){var t,n;if(!(n=this._events))return this;if(!n.removeListener)return 0===arguments.length?(this._events=new Eu,this._eventsCount=0):n[e]&&(0==--this._eventsCount?this._events=new Eu:delete n[e]),this;if(0===arguments.length){for(var r,o=Object.keys(n),a=0;a<o.length;++a)"removeListener"!==(r=o[a])&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events=new Eu,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},ku.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},ku.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):Nu.call(e,t)},ku.prototype.listenerCount=Nu,ku.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};var Tu="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},Iu=/%[sdj%]/g;function Pu(e){if(!$u(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(Du(arguments[n]));return t.join(" ")}n=1;for(var r=arguments,o=r.length,a=String(e).replace(Iu,(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}})),i=r[n];n<o;i=r[++n])Wu(i)||!Yu(i)?a+=" "+i:a+=" "+Du(i);return a}function Mu(e,t){if(Vu(dt.process))return function(){return Mu(e,t).apply(this,arguments)};if(!0===Lt.noDeprecation)return e;var n=!1;return function(){if(!n){if(Lt.throwDeprecation)throw new Error(t);Lt.traceDeprecation?console.trace(t):console.error(t),n=!0}return e.apply(this,arguments)}}var Fu,ju={};function Lu(e){return Vu(Fu)&&(Fu=Lt.env.NODE_DEBUG||""),e=e.toUpperCase(),ju[e]||(ju[e]=new RegExp("\\b"+e+"\\b","i").test(Fu)?function(){var t=Pu.apply(null,arguments);console.error("%s %d: %s",e,0,t)}:function(){}),ju[e]}function Du(e,t){var n={seen:[],stylize:Bu};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),Hu(t)?n.showHidden=t:t&&function(e,t){if(!t||!Yu(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]]}(n,t),Vu(n.showHidden)&&(n.showHidden=!1),Vu(n.depth)&&(n.depth=2),Vu(n.colors)&&(n.colors=!1),Vu(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=qu),Uu(n,e,n.depth)}function qu(e,t){var n=Du.styles[t];return n?"["+Du.colors[n][0]+"m"+e+"["+Du.colors[n][1]+"m":e}function Bu(e,t){return e}function Uu(e,t,n){if(e.customInspect&&t&&Xu(t.inspect)&&t.inspect!==Du&&(!t.constructor||t.constructor.prototype!==t)){var r=t.inspect(n,e);return $u(r)||(r=Uu(e,r,n)),r}var o=function(e,t){if(Vu(t))return e.stylize("undefined","undefined");if($u(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"):Hu(t)?e.stylize(""+t,"boolean"):Wu(t)?e.stylize("null","null"):void 0}(e,t);if(o)return o;var a=Object.keys(t),i=function(e){var t={};return e.forEach((function(e,n){t[e]=!0})),t}(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),Zu(t)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return zu(t);if(0===a.length){if(Xu(t))return e.stylize("[Function"+(t.name?": "+t.name:"")+"]","special");if(Ju(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(Ku(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Zu(t))return zu(t)}var s,l="",c=!1,u=["{","}"];return Array.isArray(t)&&(c=!0,u=["[","]"]),Xu(t)&&(l=" [Function"+(t.name?": "+t.name:"")+"]"),Ju(t)&&(l=" "+RegExp.prototype.toString.call(t)),Ku(t)&&(l=" "+Date.prototype.toUTCString.call(t)),Zu(t)&&(l=" "+zu(t)),0!==a.length||c&&0!=t.length?n<0?Ju(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 a=[],i=0,s=t.length;i<s;++i)ef(t,String(i))?a.push(Gu(e,t,n,r,String(i),!0)):a.push("");return o.forEach((function(o){o.match(/^\d+$/)||a.push(Gu(e,t,n,r,o,!0))})),a}(e,t,n,i,a):a.map((function(r){return Gu(e,t,n,i,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,l,u)):u[0]+l+u[1]}function zu(e){return"["+Error.prototype.toString.call(e)+"]"}function Gu(e,t,n,r,o,a){var i,s,l;if((l=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?s=e.stylize(l.set?"[Getter/Setter]":"[Getter]","special"):l.set&&(s=e.stylize("[Setter]","special")),ef(r,o)||(i="["+o+"]"),s||(e.seen.indexOf(l.value)<0?(s=Wu(n)?Uu(e,l.value,null):Uu(e,l.value,n-1)).indexOf("\n")>-1&&(s=a?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")),Vu(i)){if(a&&o.match(/^\d+$/))return s;(i=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(i=i.substr(1,i.length-2),i=e.stylize(i,"name")):(i=i.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),i=e.stylize(i,"string"))}return i+": "+s}function Hu(e){return"boolean"==typeof e}function Wu(e){return null===e}function $u(e){return"string"==typeof e}function Vu(e){return void 0===e}function Ju(e){return Yu(e)&&"[object RegExp]"===Qu(e)}function Yu(e){return"object"===Y(e)&&null!==e}function Ku(e){return Yu(e)&&"[object Date]"===Qu(e)}function Zu(e){return Yu(e)&&("[object Error]"===Qu(e)||e instanceof Error)}function Xu(e){return"function"==typeof e}function Qu(e){return Object.prototype.toString.call(e)}function ef(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function tf(){this.head=null,this.tail=null,this.length=0}Du.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]},Du.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},tf.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},tf.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},tf.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}},tf.prototype.clear=function(){this.head=this.tail=null,this.length=0},tf.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},tf.prototype.concat=function(e){if(0===this.length)return Kt.alloc(0);if(1===this.length)return this.head.data;for(var t=Kt.allocUnsafe(e>>>0),n=this.head,r=0;n;)n.data.copy(t,r),r+=n.data.length,n=n.next;return t};var nf=Kt.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 rf(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),function(e){if(e&&!nf(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=af;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=sf;break;default:return void(this.write=of)}this.charBuffer=new Kt(6),this.charReceived=0,this.charLength=0}function of(e){return e.toString(this.encoding)}function af(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function sf(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}rf.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 a=this.surrogateSize;return this.charLength+=a,this.charReceived+=a,this.charBuffer.copy(this.charBuffer,a,0,a),e.copy(this.charBuffer,0,0,a),t.substring(0,o)}return t},rf.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},rf.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=cf;var lf=Lu("stream");function cf(e,t){this.objectMode=!!(e=e||{}).objectMode,t instanceof Df&&(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 tf,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 rf(e.encoding),this.encoding=e.encoding)}function uf(e){if(!(this instanceof uf))return new uf(e);this._readableState=new cf(e,this),this.readable=!0,e&&"function"==typeof e.read&&(this._read=e.read),ku.call(this)}function ff(e,t,n,r,o){var a=function(e,t){var n=null;return Mn(t)||"string"==typeof t||null==t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk")),n}(t,n);if(a)e.emit("error",a);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,hf(e)}}(e,t);else if(t.objectMode||n&&n.length>0)if(t.ended&&!o){var i=new Error("stream.push() after EOF");e.emit("error",i)}else if(t.endEmitted&&o){var s=new Error("stream.unshift() after end event");e.emit("error",s)}else{var l;!t.decoder||o||r||(n=t.decoder.write(n),l=!t.objectMode&&0===n.length),o||(t.reading=!1),l||(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&&hf(e))),function(e,t){t.readingMore||(t.readingMore=!0,Et(gf,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)}Tu(uf,ku),uf.prototype.push=function(e,t){var n=this._readableState;return n.objectMode||"string"!=typeof e||(t=t||n.defaultEncoding)!==n.encoding&&(e=Kt.from(e,t),t=""),ff(this,n,e,t,!1)},uf.prototype.unshift=function(e){return ff(this,this._readableState,e,"",!0)},uf.prototype.isPaused=function(){return!1===this._readableState.flowing},uf.prototype.setEncoding=function(e){return this._readableState.decoder=new rf(e),this._readableState.encoding=e,this};var df=8388608;function pf(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>=df?e=df:(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 hf(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(lf("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?Et(mf,e):mf(e))}function mf(e){lf("emit readable"),e.emit("readable"),_f(e)}function gf(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(lf("maybeReadMore read 0"),e.read(0),n!==t.length);)n=t.length;t.readingMore=!1}function yf(e){lf("readable nexttick read 0"),e.read(0)}function vf(e,t){t.reading||(lf("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),_f(e),t.flowing&&!t.reading&&e.read(0)}function _f(e){var t=e._readableState;for(lf("flow",t.flowing);t.flowing&&null!==e.read(););}function bf(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 a=n.data,i=e>a.length?a.length:e;if(o+=i===a.length?a:a.slice(0,e),0==(e-=i)){i===a.length?(++r,t.head=n.next?n.next:t.tail=null):(t.head=n,n.data=a.slice(i));break}++r}return t.length-=r,o}(e,t):function(e,t){var n=Kt.allocUnsafe(e),r=t.head,o=1;for(r.data.copy(n),e-=r.data.length;r=r.next;){var a=r.data,i=e>a.length?a.length:e;if(a.copy(n,n.length-e,0,i),0==(e-=i)){i===a.length?(++o,t.head=r.next?r.next:t.tail=null):(t.head=r,r.data=a.slice(i));break}++o}return t.length-=o,n}(e,t),r}(e,t.buffer,t.decoder),n);var n}function wf(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,Et(Sf,t,e))}function Sf(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function xf(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}function Ef(){}function kf(e,t,n){this.chunk=e,this.encoding=t,this.callback=n,this.next=null}function Af(e,t){Object.defineProperty(this,"buffer",{get:Mu((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")}),this.objectMode=!!(e=e||{}).objectMode,t instanceof Df&&(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?Et(o,r):o(r),e._writableState.errorEmitted=!0,e.emit("error",r)}(e,n,r,t,o);else{var a=Tf(n);a||n.corked||n.bufferProcessing||!n.bufferedRequest||Rf(e,n),r?Et(Nf,e,n,a,o):Nf(e,n,a,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 Mf(this)}function Of(e){if(!(this instanceof Of||this instanceof Df))return new Of(e);this._writableState=new Af(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev)),ku.call(this)}function Cf(e,t,n,r,o,a,i){t.writelen=r,t.writecb=i,t.writing=!0,t.sync=!0,n?e._writev(o,t.onwrite):e._write(o,a,t.onwrite),t.sync=!1}function Nf(e,t,n,r){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,r(),Pf(e,t)}function Rf(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 a=0;n;)r[a]=n,n=n.next,a+=1;Cf(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 Mf(t)}else{for(;n;){var i=n.chunk;if(Cf(e,t,!1,t.objectMode?1:i.length,i,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 Tf(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function If(e,t){t.prefinished||(t.prefinished=!0,e.emit("prefinish"))}function Pf(e,t){var n=Tf(t);return n&&(0===t.pendingcb?(If(e,t),t.finished=!0,e.emit("finish")):If(e,t)),n}function Mf(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){lf("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 lf("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?wf(this):hf(this),null;if(0===(e=pf(e,t))&&t.ended)return 0===t.length&&wf(this),null;var r,o=t.needReadable;return lf("need readable",o),(0===t.length||t.length-e<t.highWaterMark)&&lf("length less than watermark",o=!0),t.ended||t.reading?lf("reading or ended",o=!1):o&&(lf("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=pf(n,t))),null===(r=e>0?bf(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&wf(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,lf("pipe count=%d opts=%j",r.pipesCount,t);var o=t&&!1===t.end?c:i;function a(e){lf("onunpipe"),e===n&&c()}function i(){lf("onend"),e.end()}r.endEmitted?Et(o):n.once("end",o),e.on("unpipe",a);var s=function(e){return function(){var t=e._readableState;lf("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&e.listeners("data").length&&(t.flowing=!0,_f(e))}}(n);e.on("drain",s);var l=!1;function c(){lf("cleanup"),e.removeListener("close",p),e.removeListener("finish",h),e.removeListener("drain",s),e.removeListener("error",d),e.removeListener("unpipe",a),n.removeListener("end",i),n.removeListener("end",c),n.removeListener("data",f),l=!0,!r.awaitDrain||e._writableState&&!e._writableState.needDrain||s()}var u=!1;function f(t){lf("ondata"),u=!1,!1!==e.write(t)||u||((1===r.pipesCount&&r.pipes===e||r.pipesCount>1&&-1!==xf(r.pipes,e))&&!l&&(lf("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,u=!0),n.pause())}function d(t){lf("onerror",t),m(),e.removeListener("error",d),0===e.listeners("error").length&&e.emit("error",t)}function p(){e.removeListener("finish",h),m()}function h(){lf("onfinish"),e.removeListener("close",p),m()}function m(){lf("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",p),e.once("finish",h),e.emit("pipe",n),r.flowing||(lf("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 a=xf(t.pipes,e);return-1===a||(t.pipes.splice(a,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=ku.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&&hf(this):Et(yf,this))}return n},uf.prototype.resume=function(){var e=this._readableState;return e.flowing||(lf("resume"),e.flowing=!0,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,Et(vf,e,t))}(this,e)),this},uf.prototype.pause=function(){return lf("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(lf("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(lf("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){lf("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,a=t.length;o<a;o++)e.on(i=t[o],r.emit.bind(r,i));var i}(["error","close","destroy","pause","resume"]),r._read=function(t){lf("wrapped _read",t),n&&(n=!1,e.resume())},r},uf._fromList=bf,Of.WritableState=Af,Tu(Of,ku),Af.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},Of.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},Of.prototype.write=function(e,t,n){var r=this._writableState,o=!1;return"function"==typeof t&&(n=t,t=null),Kt.isBuffer(e)?t="buffer":t||(t=r.defaultEncoding),"function"!=typeof n&&(n=Ef),r.ended?function(e,t){var n=new Error("write after end");e.emit("error",n),Et(t,n)}(this,n):function(e,t,n,r){var o=!0,a=!1;return null===n?a=new TypeError("May not write null values to stream"):Kt.isBuffer(n)||"string"==typeof n||void 0===n||t.objectMode||(a=new TypeError("Invalid non-string/buffer chunk")),a&&(e.emit("error",a),Et(r,a),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=Kt.from(t,n)),t}(t,n,r),Kt.isBuffer(n)&&(r="buffer");var a=t.objectMode?1:n.length;t.length+=a;var i=t.length<t.highWaterMark;if(i||(t.needDrain=!0),t.writing||t.corked){var s=t.lastBufferedRequest;t.lastBufferedRequest=new kf(n,r,o),s?s.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else Cf(e,t,!1,a,n,r,o);return i}(this,r,e,t,n)),o},Of.prototype.cork=function(){this._writableState.corked++},Of.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||Rf(this,e))},Of.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},Of.prototype._write=function(e,t,n){n(new Error("not implemented"))},Of.prototype._writev=null,Of.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,Pf(e,t),n&&(t.finished?Et(n):e.once("finish",n)),t.ended=!0,e.writable=!1}(this,r,n)},Tu(Df,uf);for(var Ff=Object.keys(Of.prototype),jf=0;jf<Ff.length;jf++){var Lf=Ff[jf];Df.prototype[Lf]||(Df.prototype[Lf]=Of.prototype[Lf])}function Df(e){if(!(this instanceof Df))return new Df(e);uf.call(this,e),Of.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",qf)}function qf(){this.allowHalfOpen||this._writableState.ended||Et(Bf,this)}function Bf(e){e.end()}function Uf(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 a=e._readableState;a.reading=!1,(a.needReadable||a.length<a.highWaterMark)&&e._read(a.highWaterMark)}(e,t,n)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function zf(e){if(!(this instanceof zf))return new zf(e);Df.call(this,e),this._transformState=new Uf(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){Gf(t,e)})):Gf(t)}))}function Gf(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 Hf(e){if(!(this instanceof Hf))return new Hf(e);zf.call(this,e)}function Wf(){ku.call(this)}function $f(e){return e.replace(/%([0-9A-Fa-f]{2})/g,(function(e,t){return String.fromCharCode(parseInt(t,16))}))}function Vf(e,t){return String(t).replace(e,(function(e){var t=e.charCodeAt(0).toString(16).toUpperCase().padStart(2,"0");return"%".concat(t)}))}function Jf(e){return Vf(/[\n;\r\t=%&,\x00-\x1f\x7f-\xff]/g,e)}function Yf(e){return Vf(/[\n\r\t%\x00-\x1f\x7f-\xff]/g,e)}function Kf(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,pe(r[1].split(",").map((function(e){return e.trim()})).map($f)))}})),t}function Zf(e){var t=e.split("\t").map((function(e){return"."===e||""===e?null:e}));return{seq_id:t[0]&&$f(t[0]),source:t[1]&&$f(t[1]),type:t[2]&&$f(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:Kf(t[8])}}function Xf(e){var t=/^\s*##\s*(\S+)\s*(.*)/.exec(e);if(!t)return null;var n=fe(t,2)[1],r=fe(t,3)[2],o={directive:n};if(r.length&&(r=r.replace(/\r?\n$/,""),o.value=r),"sequence-region"===n){var a=r.split(/\s+/,3);return V(V({},o),{},{seq_id:a[0],start:a[1]&&a[1].replace(/\D/g,""),end:a[2]&&a[2].replace(/\D/g,"")})}if("genome-build"===n){var i=fe(r.split(/\s+/,2),2),s=i[0],l=i[1];return V(V({},o),{},{source:s,buildName:l})}return o}function Qf(e){var t=[];return Object.entries(e).forEach((function(e){var n,r=fe(e,2),o=r[0],a=r[1];a&&(n=a.hasOwnProperty("toString")?Jf(a.toString()):Array.isArray(a)?a.map(Jf).join(","):Jf(a),t.push("".concat(Jf(o),"=").concat(n)))})),t.length?t.join(";"):"."}function ed(e,t){var n=null==e.attributes?".":Qf(e.attributes),r=[null===e.seq_id?".":Yf(e.seq_id),null===e.source?".":Yf(e.source),null===e.type?".":Yf(e.type),null===e.start?".":Yf(e.start),null===e.end?".":Yf(e.end),null===e.score?".":Yf(e.score),null===e.strand?".":Yf(e.strand),null===e.phase?".":Yf(e.phase),n],o="".concat(r.join("\t"),"\n");return t[o]?"":(t[o]=!0,o)}function td(e,t){if(Array.isArray(e))return e.map((function(e){return td(e,t)})).join("");var n,r=[ed(e,t)];return void 0!==(n=e).child_features&&void 0!==n.derived_features&&r.push.apply(r,pe(e.child_features.map((function(e){return td(e,t)}))).concat(pe(e.derived_features.map((function(e){return td(e,t)}))))),r.join("")}function nd(e){return td(e,{})}function rd(e){var t="##".concat(e.directive);return e.value&&(t+=" ".concat(e.value)),t+"\n"}function od(e){return"# ".concat(e.comment,"\n")}function ad(e){return">".concat(e.id).concat(e.description?" ".concat(e.description):"","\n").concat(e.sequence,"\n")}function id(e){function t(e){return"attributes"in e?nd(e):"directive"in e?rd(e):"sequence"in e?ad(e):"comment"in e?od(e):"# (invalid item found during format)\n"}return Array.isArray(e)?e.map(t):t(e)}Tu(zf,Df),zf.prototype.push=function(e,t){return this._transformState.needTransform=!1,Df.prototype.push.call(this,e,t)},zf.prototype._transform=function(e,t,n){throw new Error("Not implemented")},zf.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)}},zf.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},Tu(Hf,zf),Hf.prototype._transform=function(e,t,n){n(null,e)},Tu(Wf,ku),Wf.Readable=uf,Wf.Writable=Of,Wf.Duplex=Df,Wf.Transform=zf,Wf.PassThrough=Hf,Wf.Stream=Wf,Wf.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",i),n.on("close",s));var a=!1;function i(){a||(a=!0,e.end())}function s(){a||(a=!0,"function"==typeof e.destroy&&e.destroy())}function l(e){if(c(),0===ku.listenerCount(this,"error"))throw e}function c(){n.removeListener("data",r),e.removeListener("drain",o),n.removeListener("end",i),n.removeListener("close",s),n.removeListener("error",l),e.removeListener("error",l),n.removeListener("end",c),n.removeListener("close",c),e.removeListener("close",c)}return n.on("error",l),e.on("error",l),n.on("end",c),n.on("close",c),e.on("close",c),e.emit("pipe",n),e};var sd={__proto__:null,unescape:$f,escape:Jf,escapeColumn:Yf,parseAttributes:Kf,parseFeature:Zf,parseDirective:Xf,formatAttributes:Qf,formatFeature:nd,formatDirective:rd,formatComment:od,formatSequence:ad,formatItem:id},ld=function(){function e(t){X(this,e),this.seqCallback=t,this.currentSequence=void 0}return ee(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}(),cd=function(){function e(t){X(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 ee(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=fe(t,2)[1],r=fe(t,3)[2];if(3===n.length)this._emitAllUnderConstructionFeatures();else if(2===n.length){var o=Xf(e);o&&("FASTA"===o.directive?(this._emitAllUnderConstructionFeatures(),this.eof=!0,this.fastaParser=new ld(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 a=e.replace(/\r?\n?$/g,"");throw new Error("GFF3 parse error. Cannot parse '".concat(a,"'."))}this._emitAllUnderConstructionFeatures(),this.eof=!0,this.fastaParser=new ld(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,a=V(V({},Zf(e)),{},{child_features:[],derived_features:[]}),i=(null===(t=a.attributes)||void 0===t?void 0:t.ID)||[],s=(null===(n=a.attributes)||void 0===n?void 0:n.Parent)||[],l=(null===(r=a.attributes)||void 0===r?void 0:r.Derives_from)||[];if(i.length||s.length||l.length){var c=void 0;i.forEach((function(e){var t=o._underConstructionById[e];t?(t[t.length-1].type!==a.type&&o._parseError('multi-line feature "'.concat(e,'" has inconsistent types: "').concat(a.type,'", "').concat(t[t.length-1].type,'"')),t.push(a),c=t):(c=[a],o._enforceBufferSizeLimit(1),s.length||l.length||o._underConstructionTopLevel.push(c),o._underConstructionById[e]=c,o._resolveReferencesTo(c,e))})),this._resolveReferencesFrom(c||[a],{Parent:s,Derives_from:l},i)}else this._emitItem([a])}},{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,pe(n.Parent))})),e.forEach((function(e){var t;(t=e.derived_features).push.apply(t,pe(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 a=r._underConstructionById[t];if(a)n.filter((function(e){return o(r._completedReferences,e,"Parent,".concat(t))})).length||a.forEach((function(t){t.child_features.push(e)}));else{var i=r._underConstructionOrphans[t];i||(r._underConstructionOrphans[t]=i={Parent:[],Derives_from:[]}),i.Parent.push(e)}})),t.Derives_from.forEach((function(t){var a=r._underConstructionById[t];if(a)n.filter((function(e){return o(r._completedReferences,e,"Derives_from,".concat(t))})).length||a.forEach((function(t){t.derived_features.push(e)}));else{var i=r._underConstructionOrphans[t];i||(r._underConstructionOrphans[t]=i={Parent:[],Derives_from:[]}),i.Derives_from.push(e)}}))}}]),e}();function ud(e){Lt&&Et?Et(e):e()}function fd(e){var t=V({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 dd=function(e){ne(n,e);var t=ce(n);function n(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};X(this,n),(e=t.call(this,{objectMode:!0})).textBuffer="";var o=fd(r);e.encoding=r.encoding||"utf8",e.decoder=new rf;var a=e.push.bind(le(e));return e.parser=new cd({featureCallback:o.parseFeatures?a:void 0,directiveCallback:o.parseDirectives?a:void 0,commentCallback:o.parseComments?a:void 0,sequenceCallback:o.parseSequences?a:void 0,errorCallback:function(t){return e.emit("error",t)},bufferSize:o.bufferSize}),e}return ee(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}(zf),pd=function(e){ne(n,e);var t=ce(n);function n(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return X(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 ee(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(id).join(""):id(e),this.push(r),this.linesSinceLastSyncMark>=this.minLinesBetweenSyncMarks)this.push("###\n"),this.linesSinceLastSyncMark=0;else{for(var a=0,i=0;i<r.length;i+=1)"\n"===r[i]&&(a+=1);this.linesSinceLastSyncMark+=a}this.haveWeEmittedData=!0,ud(n)}}]),n}(zf),hd={parseStream:function(){return new dd(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})},parseStringSync:function(e){if(!e)return[];var t=fd(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),n=[],r=n.push.bind(n),o=new cd({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(id).join("");return n.length&&(r+="##FASTA\n",r+=n.map(ad).join("")),r},formatStream:function(){return new pd(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})},formatFile:function(e,t){var n=V({insertVersionDirective:!0},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{});return new Promise((function(r,o){e.pipe(new pd(n)).on("end",(function(){return r(null)})).on("error",o).pipe(t)}))},util:sd};async function md(e,t,n){const r=hd.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,a=n.assemblies.get(e);a||(a=n.addAssembly(e,"InMemoryFileDriver"));for(const e of r)if(Array.isArray(e)){const t=er.gff3ToAnnotationFeature(e),n=a.refSeqs.get(t.refSeq)??a.addRefSeq(t.refSeq,t.refSeq);n.features.has(t._id)||n.addFeature(t)}else if("comment"in e)a.addComment(e.comment);else{o++;let t=a.refSeqs.get(e.id);t||(t=a.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 i=await gd(a);return n.addCheckResults(i),a}async function gd(e){const t=[];for(const n of e.refSeqs.values())for(const e of n.features.values())for(const r of B.checkRegistry.getChecks().values()){const o=await r.checkFeature(l.getSnapshot(e),((e,t)=>Promise.resolve(n.getSequence(e,t))));t.push(...o)}return t}function yd(e){const{attributes:t}=e,n=t.get("gff_name");return n?n[0]:""}function vd(e){const{attributes:t}=e,n=t.get("gff_id"),r=t.get("transcript_id"),o=t.get("exon_id"),a=t.get("protein_id");return n?n[0]:r?r[0]:o?o[0]:a?a[0]:""}function _d(e){const t=yd(e),n=vd(e);return t?`: ${t}`:n?`: ${n}`:""}async function bd(e,t){let n;try{n=await e.text()}catch{n=""}return`${t?`${t} — `:""}${e.status} ${e.statusText}${n?` (${n})`:""}`}var wd={},Sd=Kl.exports;Object.defineProperty(wd,"__esModule",{value:!0});var xd=wd.default=void 0;xd=wd.default=(0,Sd(Zl).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 Ed=u.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}}))),kd=p.observer((function(e){const{classes:t}=Ed(),{handleClose:n,title:r,...o}=e;return T.default.createElement(d.Dialog,{...o,header:T.default.createElement(T.default.Fragment,null,T.default.createElement(c.DialogTitle,{className:t.dialogTitle},r),T.default.createElement(c.IconButton,{"aria-label":"close",onClick:n,className:t.closeButton},T.default.createElement(xd,null)))})}));var Ad={},Od=Kl.exports;Object.defineProperty(Ad,"__esModule",{value:!0});var Cd=Ad.default=void 0;Cd=Ad.default=(0,Od(Zl).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 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"RadioButtonUnchecked");var Nd={},Rd=Kl.exports;Object.defineProperty(Nd,"__esModule",{value:!0});var Td=Nd.default=void 0;Td=Nd.default=(0,Rd(Zl).default)((0,N.default.jsx)("path",{d:"M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"RadioButtonChecked");var Id={},Pd=Kl.exports;Object.defineProperty(Id,"__esModule",{value:!0});var Md=Id.default=void 0;Md=Id.default=(0,Pd(Zl).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-6h2v6zm0-8h-2V7h2v2z"}),"Info");var Fd={},jd=Kl.exports;Object.defineProperty(Fd,"__esModule",{value:!0});var Ld,Dd=Fd.default=void 0;Dd=Fd.default=(0,jd(Zl).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"),function(e){e.GFF3="text/x-gff3",e.FASTA="text/x-fasta",e.BGZIP_FASTA="application/x-bgzip-fasta",e.FAI="text/x-fai",e.GZI="application/x-gzi",e.EXTERNAL="text/x-external"}(Ld||(Ld={}));const qd=u.makeStyles()((e=>({accordion:{border:`1px solid ${e.palette.divider}`,"&:not(:last-child)":{borderBottom:0}},accordionSummary:{flexDirection:"row-reverse"},accordionDetails:{padding:e.spacing(2),borderTop:"1px solid rgba(0, 0, 0, .125)"},radioIcon:{color:e?.palette?.tertiary?.contrastText},dialog:{minWidth:550,maxWidth:800}})));function Bd(e,t,n,r,o,a,i,s,l){return!(!e||!(t&&r||n===Ld.GFF3&&r||r&&o&&a||i&&s&&l))}function Ud({changeManager:e,handleClose:t,session:n}){const{classes:o}=qd(),{internetAccounts:a}=l.getRoot(n),{notify:i}=n,s=a.filter((e=>"ApolloInternetAccount"===e.type));if(0===s.length)throw new Error("No Apollo internet account found");const[u,d]=f.useState(""),[p,h]=f.useState(""),[m,g]=f.useState(!1),[y,v]=f.useState(Ld.BGZIP_FASTA),[_,b]=f.useState(!0),[w,S]=f.useState(!1),[x,E]=f.useState(!1),[k,A]=f.useState(null),[O,C]=f.useState(null),[N,R]=f.useState(null),[I,P]=f.useState(""),[M,F]=f.useState(""),[j,L]=f.useState(""),[D,q]=f.useState(!1),[B,U]=f.useState(!1);async function z(e,t){const{jobsManager:r}=n,o=new AbortController,[{baseURL:a,getFetcher:i}]=s,l=new URL("files",a);l.searchParams.set("type",t);const c=l.href,f=new FormData;let d=e.name;t===Ld.FAI||t===Ld.GZI?d=`${d}.txt`:B&&!e.name.toLocaleLowerCase().endsWith(".gz")?d=`${d}.gz`:!B&&e.name.toLocaleLowerCase().endsWith(".gz")&&(d=`${d}.txt`),f.append("file",e,d),f.append("type",t);const p=i({locationType:"UriLocation",uri:c});if(p){const t={name:`UploadAssemblyFile for ${u}`,statusMessage:"Pre-validating",progressPct:0,cancelCallback:()=>{o.abort(),r.abortJob(t.name)}};r.runJob(t),r.update(t.name,`Uploading ${e.name}, this may take awhile`);const{signal:n}=o,a=await p(c,{method:"POST",body:f,signal:n});if(!a.ok){const e=await bd(a,"Error when inserting new assembly (while uploading file)");return r.abortJob(t.name,e),h(e),""}const i=(await a.json())._id;return r.done(t),i}throw new Error("Failed to fetch")}f.useEffect((()=>{F(I?`${I}.fai`:"")}),[I]),f.useEffect((()=>{L(I?`${I}.gzi`:"")}),[I]),f.useEffect((()=>{U(!w&&y!==Ld.GFF3||!!k?.name.toLocaleLowerCase().endsWith(".gz"))}),[k,w,y]);let G=!1;try{const e=new URL(I);"http:"!==e.protocol&&"https:"!==e.protocol||(G=!0)}catch{}let H=!1;try{const e=new URL(M);"http:"!==e.protocol&&"https:"!==e.protocol||(H=!0)}catch{}let W=!1;try{const e=new URL(j);"http:"!==e.protocol&&"https:"!==e.protocol||(W=!0)}catch{}const[$,V]=T.default.useState("panelFastaInput"),J=e=>(t,n)=>{n&&V(e),U("panelGffInput"!==e)};return T.default.createElement(kd,{open:!0,handleClose:t,"data-testid":"add-assembly-dialog",title:"Add new assembly",maxWidth:!1},T.default.createElement("form",{onSubmit:async function(n){let r;if(n.preventDefault(),h(""),E(!0),q(!0),i(`Assembly "${u}" is being added`,"info"),t(),n.preventDefault(),y===Ld.EXTERNAL)r=new er.AddAssemblyFromExternalChange({typeName:"AddAssemblyFromExternalChange",assembly:(new $n).toHexString(),assemblyName:u,externalLocation:{fa:I,fai:M,gzi:j}});else{if(!k)throw new Error("Missing fasta file");if(y===Ld.GFF3&&_){const e=await z(k,Ld.GFF3);r=new er.AddAssemblyAndFeaturesFromFileChange({typeName:"AddAssemblyAndFeaturesFromFileChange",assembly:(new $n).toHexString(),assemblyName:u,fileIds:{fa:e}})}else if(y===Ld.GFF3){const e=await z(k,Ld.GFF3);r=new er.AddAssemblyFromFileChange({typeName:"AddAssemblyFromFileChange",assembly:(new $n).toHexString(),assemblyName:u,fileIds:{fa:e}})}else if(w){const e=await z(k,Ld.FASTA);r=new er.AddAssemblyFromFileChange({typeName:"AddAssemblyFromFileChange",assembly:(new $n).toHexString(),assemblyName:u,fileIds:{fa:e}})}else{if(!O||!N)throw new Error("Missing fasta index files");const e=await z(k,Ld.BGZIP_FASTA),t=await z(O,Ld.FAI),n=await z(N,Ld.GZI);r=new er.AddAssemblyFromFileChange({typeName:"AddAssemblyFromFileChange",assembly:(new $n).toHexString(),assemblyName:u,fileIds:{fa:e,fai:t,gzi:n}})}}const[{internetAccountId:o}]=s;await e.submit(r,{internetAccountId:o,updateJobsManager:!0}),E(!1),q(!1)},"data-testid":"submit-form"},T.default.createElement(c.DialogContent,{className:o.dialog},D?T.default.createElement(c.LinearProgress,null):null,T.default.createElement(c.TextField,{margin:"dense",id:"name",label:"Assembly name",type:"TextField",fullWidth:!0,variant:"outlined",onChange:e=>{E(!1),d(e.target.value),function(e){const{assemblies:t}=n;t.find((t=>r.readConfObject(t,"displayName")===e))?(g(!1),h(`Assembly ${e} already exists.`)):(g(!0),h(""))}(e.target.value)},disabled:x&&!p}),T.default.createElement(c.Accordion,{disableGutters:!0,elevation:0,square:!0,className:o.accordion,expanded:"panelFastaInput"===$,onChange:J("panelFastaInput")},T.default.createElement(c.AccordionSummary,{className:o.accordionSummary,expandIcon:"panelFastaInput"===$?T.default.createElement(Td,{className:o.radioIcon,sx:{fontSize:"1.2rem",ml:5}}):T.default.createElement(Cd,{className:o.radioIcon,sx:{fontSize:"1.2rem",mr:5}}),"aria-controls":"panelFastaInputd-content",id:"panelFastaInputd-header"},T.default.createElement(c.Typography,{component:"span"},"FASTA input")),T.default.createElement(c.AccordionDetails,{className:o.accordionDetails},T.default.createElement(c.FormGroup,null,T.default.createElement(c.FormControlLabel,{"data-testid":"files-on-url-checkbox",control:T.default.createElement(c.Checkbox,{onChange:()=>{v(y===Ld.EXTERNAL?Ld.BGZIP_FASTA:Ld.EXTERNAL),y===Ld.EXTERNAL&&S(!1)},checked:y===Ld.EXTERNAL,disabled:w&&y!==Ld.GFF3}),label:T.default.createElement(c.Box,{display:"flex",alignItems:"center"},"Use external URLs",T.default.createElement(c.Tooltip,{title:"Use external URLs to provide FASTA and index files. Does not copy the files to the Apollo collaboration server, so ensure the URLs are stable.",placement:"top-start"},T.default.createElement(c.IconButton,{size:"small"},T.default.createElement(Md,{sx:{fontSize:18}}))))}),T.default.createElement(c.FormControlLabel,{"data-testid":"sequence-is-editable-checkbox",control:T.default.createElement(c.Checkbox,{onChange:()=>{S(!w)}}),checked:w,disabled:y===Ld.EXTERNAL,label:T.default.createElement(c.Box,{display:"flex",alignItems:"center"},"Store sequence in database",T.default.createElement(c.Tooltip,{title:"Enables users to edit the genomic sequence, but comes with performance impacts. Use with care.",placement:"top-start"},T.default.createElement(c.IconButton,{size:"small"},T.default.createElement(Md,{sx:{fontSize:18}}))))}),T.default.createElement(c.FormControlLabel,{"data-testid":"fasta-is-gzip-checkbox",control:T.default.createElement(c.Checkbox,{checked:B,onChange:()=>{U(!w||!B)},disabled:!w}),label:"FASTA is gzip compressed"}),T.default.createElement(c.Table,{size:"small",sx:{mt:2}},y===Ld.BGZIP_FASTA||y===Ld.GFF3?T.default.createElement(c.TableBody,null,T.default.createElement(c.TableRow,null),T.default.createElement(c.TableCell,{style:{borderBottomWidth:0}},T.default.createElement(c.Box,{display:"flex",alignItems:"center"},T.default.createElement("span",null,"FASTA"),T.default.createElement(c.Tooltip,{title:'Unless "Store sequence in database" enabled, FASTA input must be compressed with bgzip and indexed with samtools faidx (or equivalent). Compression is optional for sequences stored in the database.'},T.default.createElement(c.IconButton,{size:"small"},T.default.createElement(Md,{sx:{fontSize:18}}))))),T.default.createElement(c.TableCell,{style:{borderBottomWidth:0}},T.default.createElement("input",{"data-testid":"fasta-input-file",type:"file",onChange:e=>{A(e.target.files?.item(0)??null)},disabled:x&&!p})),T.default.createElement(c.TableRow,null),T.default.createElement(c.TableCell,{style:{borderBottomWidth:0}},"FASTA index (.fai)"),T.default.createElement(c.TableCell,{style:{borderBottomWidth:0}},T.default.createElement("input",{"data-testid":"fai-input-file",type:"file",onChange:e=>{C(e.target.files?.item(0)??null)},disabled:x&&!p||w})),T.default.createElement(c.TableRow,null),T.default.createElement(c.TableCell,{style:{borderBottomWidth:0}},"FASTA binary index (.gzi)"),T.default.createElement(c.TableCell,{style:{borderBottomWidth:0}},T.default.createElement("input",{"data-testid":"gzi-input-file",type:"file",onChange:e=>{R(e.target.files?.item(0)??null)},disabled:x&&!p||w}))):T.default.createElement(c.TableBody,null,T.default.createElement(c.TableRow,null),T.default.createElement(c.TableCell,{style:{borderBottomWidth:0}},T.default.createElement(c.Box,{display:"flex",alignItems:"center"},T.default.createElement("span",null,"FASTA"),T.default.createElement(c.Tooltip,{title:"Remote FASTA input must be compressed with bgzip and indexed with samtools faidx (or equivalent)"},T.default.createElement(c.IconButton,{size:"small"},T.default.createElement(Md,{sx:{fontSize:18}}))))),T.default.createElement(c.TableCell,{style:{borderBottomWidth:0}},T.default.createElement(c.TextField,{"data-testid":"fasta-input-url",variant:"outlined",value:I,error:!G,onChange:e=>{P(e.target.value)},disabled:x&&!p,slotProps:{input:{startAdornment:T.default.createElement(c.InputAdornment,{position:"start"},T.default.createElement(Dd,null))}}})),T.default.createElement(c.TableRow,null),T.default.createElement(c.TableCell,{style:{borderBottomWidth:0}},"FASTA index (.fai)"),T.default.createElement(c.TableCell,{style:{borderBottomWidth:0}},T.default.createElement(c.TextField,{"data-testid":"fai-input-url",variant:"outlined",value:M,error:!H,onChange:e=>{F(e.target.value)},disabled:x&&!p,slotProps:{input:{startAdornment:T.default.createElement(c.InputAdornment,{position:"start"},T.default.createElement(Dd,null))}}})),T.default.createElement(c.TableRow,null),T.default.createElement(c.TableCell,{style:{borderBottomWidth:0}},"FASTA binary index (.gzi)"),T.default.createElement(c.TableCell,{style:{borderBottomWidth:0}},T.default.createElement(c.TextField,{"data-testid":"gzi-input-url",variant:"outlined",value:j,error:!W,onChange:e=>{L(e.target.value)},disabled:x&&!p,slotProps:{input:{startAdornment:T.default.createElement(c.InputAdornment,{position:"start"},T.default.createElement(Dd,null))}}}))))))),T.default.createElement(c.Accordion,{disableGutters:!0,elevation:0,square:!0,className:o.accordion,expanded:"panelGffInput"===$,onChange:J("panelGffInput")},T.default.createElement(c.AccordionSummary,{className:o.accordionSummary,expandIcon:"panelGffInput"===$?T.default.createElement(Td,{className:o.radioIcon,sx:{fontSize:"1.2rem",ml:5}}):T.default.createElement(Cd,{className:o.radioIcon,sx:{fontSize:"1.2rem",mr:5}}),"aria-controls":"panelGffInputd-content"},T.default.createElement(c.Typography,{component:"span"},"GFF3 input",T.default.createElement(c.Tooltip,{title:"GFF3 must includes FASTA sequences. File can be gzip compressed."},T.default.createElement(Md,{className:o.radioIcon,sx:{fontSize:18}})))),T.default.createElement(c.AccordionDetails,{className:o.accordionDetails},T.default.createElement(c.Box,{style:{marginTop:20}},T.default.createElement("input",{"data-testid":"gff3-input-file",type:"file",disabled:x&&!p,onChange:e=>{A(e.target.files?.item(0)??null),v(Ld.GFF3)}}),T.default.createElement(c.FormGroup,{style:{display:"grid"}},T.default.createElement(c.FormControlLabel,{control:T.default.createElement(c.Checkbox,{checked:_,onChange:()=>{b(!_)},disabled:x&&!p}),label:"Load features from GFF3 file"}),T.default.createElement(c.FormControlLabel,{"data-testid":"gff3-is-gzip-checkbox",control:T.default.createElement(c.Checkbox,{checked:B,onChange:()=>{U(!B)},disabled:x&&!p}),label:"GFF3 is gzip compressed"})))))),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{disabled:!Bd(m,w,y,k,O,N,G,H,W)||x,variant:"contained",type:"submit","data-testid":"submit-button"},x?"Submitting...":"Submit"),T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),p?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},p)):null)}var zd,Gd,Hd=function(e,t){return t.some((function(t){return e instanceof t}))},Wd=new WeakMap,$d=new WeakMap,Vd=new WeakMap,Jd=new WeakMap,Yd=new WeakMap,Kd={get:function(e,t,n){if(e instanceof IDBTransaction){if("done"===t)return $d.get(e);if("objectStoreNames"===t)return e.objectStoreNames||Vd.get(e);if("store"===t)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return Xd(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 Zd(e){Kd=e(Kd)}function Xd(e){if(e instanceof IDBRequest)return t=e,(n=new Promise((function(e,n){var r=function(){t.removeEventListener("success",o),t.removeEventListener("error",a)},o=function(){e(Xd(t.result)),r()},a=function(){n(t.error),r()};t.addEventListener("success",o),t.addEventListener("error",a)}))).then((function(e){e instanceof IDBCursor&&Wd.set(e,t)})).catch((function(){})),Yd.set(n,t),n;var t,n;if(Jd.has(e))return Jd.get(e);var r=function(e){return"function"==typeof e?(t=e)!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(Gd||(Gd=[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(Qd(this),n),Xd(Wd.get(this))}:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return Xd(t.apply(Qd(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 a=t.call.apply(t,[Qd(this),e].concat(r));return Vd.set(a,e.sort?e.sort():[e]),Xd(a)}:(e instanceof IDBTransaction&&function(e){if(!$d.has(e)){var t=new Promise((function(t,n){var r=function(){e.removeEventListener("complete",o),e.removeEventListener("error",a),e.removeEventListener("abort",a)},o=function(){t(),r()},a=function(){n(e.error||new DOMException("AbortError","AbortError")),r()};e.addEventListener("complete",o),e.addEventListener("error",a),e.addEventListener("abort",a)}));$d.set(e,t)}}(e),Hd(e,zd||(zd=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]))?new Proxy(e,Kd):e);var t}(e);return r!==e&&(Jd.set(e,r),Yd.set(r,e)),r}var Qd=function(e){return Yd.get(e)},ep=["get","getKey","getAll","getAllKeys","count"],tp=["put","add","delete","clear"],np=new Map;function rp(e,t){if(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t){if(np.get(t))return np.get(t);var n=t.replace(/FromIndex$/,""),r=t!==n,o=tp.includes(n);if(n in(r?IDBIndex:IDBObjectStore).prototype&&(o||ep.includes(n))){var a=function(){var e=Z(J().mark((function e(t){var a,i,s,l,c,u,f=arguments;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(i=this.transaction(t,o?"readwrite":"readonly"),s=i.store,l=f.length,c=new Array(l>1?l-1:0),u=1;u<l;u++)c[u-1]=f[u];return r&&(s=s.index(c.shift())),e.next=6,Promise.all([(a=s)[n].apply(a,c),o&&i.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 np.set(t,a),a}}}Zd((function(e){return V(V({},e),{},{get:function(t,n,r){return rp(t,n)||e.get(t,n,r)},has:function(t,n){return!!rp(t,n)||e.has(t,n)}})}));var op=["continue","continuePrimaryKey","advance"],ap={},ip=new WeakMap,sp=new WeakMap,lp={get:function(e,t){if(!op.includes(t))return e[t];var n=ap[t];return n||(n=ap[t]=function(){var e;ip.set(this,(e=sp.get(this))[t].apply(e,arguments))}),n}};function cp(){return up.apply(this,arguments)}function up(){var e;return e=J().mark((function e(){var t,n,r,o=arguments;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((t=this)instanceof IDBCursor){e.next=5;break}return e.next=4,W((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,lp),sp.set(r,t),Yd.set(r,Qd(t));case 11:if(!t){e.next=20;break}return e.next=14,r;case 14:return e.next=16,W(ip.get(r)||t.continue());case 16:t=e.sent,ip.delete(r),e.next=11;break;case 20:case"end":return e.stop()}}),e,this)})),up=function(){return new U(e.apply(this,arguments))},up.apply(this,arguments)}function fp(e,t){return t===Symbol.asyncIterator&&Hd(e,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===t&&Hd(e,[IDBIndex,IDBObjectStore])}Zd((function(e){return V(V({},e),{},{get:function(t,n,r){return fp(t,n)?cp:e.get(t,n,r)},has:function(t,n){return fp(t,n)||e.has(t,n)}})}));var dp={},pp={},hp={},mp={},gp={};Object.defineProperty(gp,"__esModule",{value:!0}),gp.isFunction=void 0,gp.isFunction=function(e){return"function"==typeof e};var yp={},vp={},_p={};Object.defineProperty(_p,"__esModule",{value:!0}),_p.createErrorClass=void 0,_p.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(vp,"__esModule",{value:!0}),vp.UnsubscriptionError=void 0,vp.UnsubscriptionError=_p.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 bp={};Object.defineProperty(bp,"__esModule",{value:!0}),bp.arrRemove=void 0,bp.arrRemove=function(e,t){if(e){var n=e.indexOf(t);0<=n&&e.splice(n,1)}};var wp=L&&L.__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.")},Sp=L&&L.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},xp=L&&L.__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(yp,"__esModule",{value:!0}),yp.isSubscription=yp.EMPTY_SUBSCRIPTION=yp.Subscription=void 0;var Ep=gp,kp=vp,Ap=bp,Op=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 a=this._parentage;if(a)if(this._parentage=null,Array.isArray(a))try{for(var i=wp(a),s=i.next();!s.done;s=i.next())s.value.remove(this)}catch(t){e={error:t}}finally{try{s&&!s.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}else a.remove(this);var l=this.initialTeardown;if(Ep.isFunction(l))try{l()}catch(e){o=e instanceof kp.UnsubscriptionError?e.errors:[e]}var c=this._finalizers;if(c){this._finalizers=null;try{for(var u=wp(c),f=u.next();!f.done;f=u.next()){var d=f.value;try{Cp(d)}catch(e){o=null!=o?o:[],e instanceof kp.UnsubscriptionError?o=xp(xp([],Sp(o)),Sp(e.errors)):o.push(e)}}}catch(e){n={error:e}}finally{try{f&&!f.done&&(r=u.return)&&r.call(u)}finally{if(n)throw n.error}}}if(o)throw new kp.UnsubscriptionError(o)}},e.prototype.add=function(t){var n;if(t&&t!==this)if(this.closed)Cp(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)&&Ap.arrRemove(t,e)},e.prototype.remove=function(t){var n=this._finalizers;n&&Ap.arrRemove(n,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}();function Cp(e){Ep.isFunction(e)?e():e.unsubscribe()}yp.Subscription=Op,yp.EMPTY_SUBSCRIPTION=Op.EMPTY,yp.isSubscription=function(e){return e instanceof Op||e&&"closed"in e&&Ep.isFunction(e.remove)&&Ep.isFunction(e.add)&&Ep.isFunction(e.unsubscribe)};var Np={};Object.defineProperty(Np,"__esModule",{value:!0}),Np.config=void 0,Np.config={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var Rp={},Tp={};!function(e){var t=L&&L.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},n=L&&L.__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 a=[],i=2;i<arguments.length;i++)a[i-2]=arguments[i];var s=e.timeoutProvider.delegate;return(null==s?void 0:s.setTimeout)?s.setTimeout.apply(s,n([r,o],t(a))):setTimeout.apply(void 0,n([r,o],t(a)))})),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}}(Tp),Object.defineProperty(Rp,"__esModule",{value:!0}),Rp.reportUnhandledError=void 0;var Ip=Np,Pp=Tp;Rp.reportUnhandledError=function(e){Pp.timeoutProvider.setTimeout((function(){var t=Ip.config.onUnhandledError;if(!t)throw e;t(e)}))};var Mp={};Object.defineProperty(Mp,"__esModule",{value:!0}),Mp.noop=void 0,Mp.noop=function(){};var Fp={};function jp(e,t,n){return{kind:e,value:t,error:n}}Object.defineProperty(Fp,"__esModule",{value:!0}),Fp.createNotification=Fp.nextNotification=Fp.errorNotification=Fp.COMPLETE_NOTIFICATION=void 0,Fp.COMPLETE_NOTIFICATION=function(){return jp("C",void 0,void 0)}(),Fp.errorNotification=function(e){return jp("E",void 0,e)},Fp.nextNotification=function(e){return jp("N",e,void 0)},Fp.createNotification=jp;var Lp={};Object.defineProperty(Lp,"__esModule",{value:!0}),Lp.captureError=Lp.errorContext=void 0;var Dp=Np,qp=null;Lp.errorContext=function(e){if(Dp.config.useDeprecatedSynchronousErrorHandling){var t=!qp;if(t&&(qp={errorThrown:!1,error:null}),e(),t){var n=qp;if(qp=null,n.errorThrown)throw n.error}}else e()},Lp.captureError=function(e){Dp.config.useDeprecatedSynchronousErrorHandling&&qp&&(qp.errorThrown=!0,qp.error=e)},function(e){var t=L&&L.__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=gp,r=yp,o=Np,a=Rp,i=Mp,s=Fp,l=Tp,c=Lp,u=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 h(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=u;var f=Function.prototype.bind;function d(e,t){return f.call(e,t)}var p=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}(),h=function(e){function r(t,r,a){var i,s,l=e.call(this)||this;return n.isFunction(t)||!t?i={next:null!=t?t:void 0,error:null!=r?r:void 0,complete:null!=a?a:void 0}:l&&o.config.useDeprecatedNextContext?((s=Object.create(t)).unsubscribe=function(){return l.unsubscribe()},i={next:t.next&&d(t.next,s),error:t.error&&d(t.error,s),complete:t.complete&&d(t.complete,s)}):i=t,l.destination=new p(i),l}return t(r,e),r}(u);function m(e){o.config.useDeprecatedSynchronousErrorHandling?c.captureError(e):a.reportUnhandledError(e)}function g(e,t){var n=o.config.onStoppedNotification;n&&l.timeoutProvider.setTimeout((function(){return n(e,t)}))}e.SafeSubscriber=h,e.EMPTY_OBSERVER={closed:!0,next:i.noop,error:function(e){throw e},complete:i.noop}}(mp);var Bp={};Object.defineProperty(Bp,"__esModule",{value:!0}),Bp.observable=void 0,Bp.observable=function(){return"function"==typeof Symbol&&Symbol.observable||"@@observable"}();var Up={},zp={};Object.defineProperty(zp,"__esModule",{value:!0}),zp.identity=void 0,zp.identity=function(e){return e},Object.defineProperty(Up,"__esModule",{value:!0}),Up.pipeFromArray=Up.pipe=void 0;var Gp=zp;function Hp(e){return 0===e.length?Gp.identity:1===e.length?e[0]:function(t){return e.reduce((function(e,t){return t(e)}),t)}}Up.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Hp(e)},Up.pipeFromArray=Hp,Object.defineProperty(hp,"__esModule",{value:!0}),hp.Observable=void 0;var Wp=mp,$p=yp,Vp=Bp,Jp=Up,Yp=Np,Kp=gp,Zp=Lp,Xp=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 Wp.Subscriber||function(e){return e&&Kp.isFunction(e.next)&&Kp.isFunction(e.error)&&Kp.isFunction(e.complete)}(e)&&$p.isSubscription(e)}(e)?e:new Wp.SafeSubscriber(e,t,n);return Zp.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=Qp(t))((function(t,r){var o=new Wp.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[Vp.observable]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Jp.pipeFromArray(e)(this)},e.prototype.toPromise=function(e){var t=this;return new(e=Qp(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 Qp(e){var t;return null!==(t=null!=e?e:Yp.config.Promise)&&void 0!==t?t:Promise}hp.Observable=Xp;var eh={},th={},nh={};Object.defineProperty(nh,"__esModule",{value:!0}),nh.operate=nh.hasLift=void 0;var rh=gp;function oh(e){return rh.isFunction(null==e?void 0:e.lift)}nh.hasLift=oh,nh.operate=function(e){return function(t){if(oh(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 ah={},ih=L&&L.__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(ah,"__esModule",{value:!0}),ah.OperatorSubscriber=ah.createOperatorSubscriber=void 0;var sh=mp;ah.createOperatorSubscriber=function(e,t,n,r,o){return new lh(e,t,n,r,o)};var lh=function(e){function t(t,n,r,o,a,i){var s=e.call(this,t)||this;return s.onFinalize=a,s.shouldUnsubscribe=i,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 ih(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}(sh.Subscriber);ah.OperatorSubscriber=lh,Object.defineProperty(th,"__esModule",{value:!0}),th.refCount=void 0;var ch=nh,uh=ah;th.refCount=function(){return ch.operate((function(e,t){var n=null;e._refCount++;var r=uh.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 fh=L&&L.__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(eh,"__esModule",{value:!0}),eh.ConnectableObservable=void 0;var dh=yp,ph=th,hh=ah,mh=nh,gh=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,mh.hasLift(t)&&(r.lift=t.lift),r}return fh(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 dh.Subscription;var n=this.getSubject();t.add(this.source.subscribe(hh.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=dh.Subscription.EMPTY)}return t},t.prototype.refCount=function(){return ph.refCount()(this)},t}(hp.Observable);eh.ConnectableObservable=gh;var yh={},vh={};!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}}(vh);var _h={};!function(e){var t=L&&L.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},n=L&&L.__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=yp;e.animationFrameProvider={schedule:function(t){var n=requestAnimationFrame,o=cancelAnimationFrame,a=e.animationFrameProvider.delegate;a&&(n=a.requestAnimationFrame,o=a.cancelAnimationFrame);var i=n((function(e){o=void 0,t(e)}));return new r.Subscription((function(){return null==o?void 0:o(i)}))},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 a=e.animationFrameProvider.delegate;return((null==a?void 0:a.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 a=e.animationFrameProvider.delegate;return((null==a?void 0:a.cancelAnimationFrame)||cancelAnimationFrame).apply(void 0,n([],t(r)))})),delegate:void 0}}(_h),Object.defineProperty(yh,"__esModule",{value:!0}),yh.animationFrames=void 0;var bh=hp,wh=vh,Sh=_h;function xh(e){return new bh.Observable((function(t){var n=e||wh.performanceTimestampProvider,r=n.now(),o=0;return function a(){t.closed||(o=Sh.animationFrameProvider.requestAnimationFrame((function(i){o=0;var s=n.now();t.next({timestamp:e?s:i,elapsed:s-r}),a()})))}(),function(){o&&Sh.animationFrameProvider.cancelAnimationFrame(o)}}))}yh.animationFrames=function(e){return e?xh(e):Eh};var Eh=xh(),kh={},Ah={};Object.defineProperty(Ah,"__esModule",{value:!0}),Ah.ObjectUnsubscribedError=void 0,Ah.ObjectUnsubscribedError=_p.createErrorClass((function(e){return function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}));var Oh=L&&L.__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)}}(),Ch=L&&L.__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(kh,"__esModule",{value:!0}),kh.AnonymousSubject=kh.Subject=void 0;var Nh=hp,Rh=yp,Th=Ah,Ih=bp,Ph=Lp,Mh=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 Oh(t,e),t.prototype.lift=function(e){var t=new Fh(this,this);return t.operator=e,t},t.prototype._throwIfClosed=function(){if(this.closed)throw new Th.ObjectUnsubscribedError},t.prototype.next=function(e){var t=this;Ph.errorContext((function(){var n,r;if(t._throwIfClosed(),!t.isStopped){t.currentObservers||(t.currentObservers=Array.from(t.observers));try{for(var o=Ch(t.currentObservers),a=o.next();!a.done;a=o.next())a.value.next(e)}catch(e){n={error:e}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}}}))},t.prototype.error=function(e){var t=this;Ph.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;Ph.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?Rh.EMPTY_SUBSCRIPTION:(this.currentObservers=null,r.push(e),new Rh.Subscription((function(){t.currentObservers=null,Ih.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 Nh.Observable;return e.source=this,e},t.create=function(e,t){return new Fh(e,t)},t}(Nh.Observable);kh.Subject=Mh;var Fh=function(e){function t(t,n){var r=e.call(this)||this;return r.destination=t,r.source=n,r}return Oh(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:Rh.EMPTY_SUBSCRIPTION},t}(Mh);kh.AnonymousSubject=Fh;var jh={},Lh=L&&L.__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(jh,"__esModule",{value:!0}),jh.BehaviorSubject=void 0;var Dh=function(e){function t(t){var n=e.call(this)||this;return n._value=t,n}return Lh(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}(kh.Subject);jh.BehaviorSubject=Dh;var qh={},Bh={};!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}}(Bh);var Uh=L&&L.__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(qh,"__esModule",{value:!0}),qh.ReplaySubject=void 0;var zh=Bh,Gh=function(e){function t(t,n,r){void 0===t&&(t=Infinity),void 0===n&&(n=Infinity),void 0===r&&(r=zh.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 Uh(t,e),t.prototype.next=function(t){var n=this,r=n._buffer,o=n._infiniteTimeWindow,a=n._timestampProvider,i=n._windowTime;n.isStopped||(r.push(t),!o&&r.push(a.now()+i)),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,a=(o?1:2)*t;if(t<Infinity&&a<r.length&&r.splice(0,r.length-a),!o){for(var i=n.now(),s=0,l=1;l<r.length&&r[l]<=i;l+=2)s=l;s&&r.splice(0,s+1)}},t}(kh.Subject);qh.ReplaySubject=Gh;var Hh={},Wh=L&&L.__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(Hh,"__esModule",{value:!0}),Hh.AsyncSubject=void 0;var $h=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 Wh(t,e),t.prototype._checkFinalizedStatuses=function(e){var t=this,n=t._hasValue,r=t._value,o=t.isStopped,a=t._isComplete;t.hasError?e.error(t.thrownError):(o||a)&&(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}(kh.Subject);Hh.AsyncSubject=$h;var Vh={},Jh={},Yh={},Kh={},Zh=L&&L.__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(Kh,"__esModule",{value:!0}),Kh.Action=void 0,Kh.Action=function(e){function t(t,n){return e.call(this)||this}return Zh(t,e),t.prototype.schedule=function(e,t){return this},t}(yp.Subscription);var Xh={};!function(e){var t=L&&L.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},n=L&&L.__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 a=[],i=2;i<arguments.length;i++)a[i-2]=arguments[i];var s=e.intervalProvider.delegate;return(null==s?void 0:s.setInterval)?s.setInterval.apply(s,n([r,o],t(a))):setInterval.apply(void 0,n([r,o],t(a)))})),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}}(Xh);var Qh=L&&L.__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(Yh,"__esModule",{value:!0}),Yh.AsyncAction=void 0;var em=Xh,tm=bp,nm=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 Qh(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),em.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&&em.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,tm.arrRemove(r,this),null!=t&&(this.id=this.recycleAsyncId(n,t,null)),this.delay=null,e.prototype.unsubscribe.call(this)}},t}(Kh.Action);Yh.AsyncAction=nm;var rm={},om={};Object.defineProperty(om,"__esModule",{value:!0}),om.TestTools=om.Immediate=void 0;var am,im=1,sm={};function lm(e){return e in sm&&(delete sm[e],!0)}om.Immediate={setImmediate:function(e){var t=im++;return sm[t]=!0,am||(am=Promise.resolve()),am.then((function(){return lm(t)&&e()})),t},clearImmediate:function(e){lm(e)}},om.TestTools={pending:function(){return Object.keys(sm).length}},function(e){var t=L&&L.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},n=L&&L.__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=om.Immediate.setImmediate,o=om.Immediate.clearImmediate;e.immediateProvider={setImmediate:function(){for(var o=[],a=0;a<arguments.length;a++)o[a]=arguments[a];var i=e.immediateProvider.delegate;return((null==i?void 0:i.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}}(rm);var cm=L&&L.__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(Jh,"__esModule",{value:!0}),Jh.AsapAction=void 0;var um=rm;Jh.AsapAction=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r}return cm(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=um.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 a=t.actions;null!=n&&(null===(o=a[a.length-1])||void 0===o?void 0:o.id)!==n&&(um.immediateProvider.clearImmediate(n),t._scheduled===n&&(t._scheduled=void 0))},t}(Yh.AsyncAction);var fm={},dm={},pm={};Object.defineProperty(pm,"__esModule",{value:!0}),pm.Scheduler=void 0;var hm=Bh;pm.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=hm.dateTimestampProvider.now,e}();var mm=L&&L.__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(dm,"__esModule",{value:!0}),dm.AsyncScheduler=void 0;var gm=pm;dm.AsyncScheduler=function(e){function t(t,n){void 0===n&&(n=gm.Scheduler.now);var r=e.call(this,t,n)||this;return r.actions=[],r._active=!1,r}return mm(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}(gm.Scheduler);var ym=L&&L.__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.AsapScheduler=void 0;var vm=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ym(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}(dm.AsyncScheduler);fm.AsapScheduler=vm,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.asap=e.asapScheduler=void 0,e.asapScheduler=new fm.AsapScheduler(Jh.AsapAction),e.asap=e.asapScheduler}(Vh);var _m={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.async=e.asyncScheduler=void 0,e.asyncScheduler=new dm.AsyncScheduler(Yh.AsyncAction),e.async=e.asyncScheduler}(_m);var bm={},wm={},Sm=L&&L.__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(wm,"__esModule",{value:!0}),wm.QueueAction=void 0,wm.QueueAction=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r}return Sm(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}(Yh.AsyncAction);var xm={},Em=L&&L.__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(xm,"__esModule",{value:!0}),xm.QueueScheduler=void 0;var km=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Em(t,e),t}(dm.AsyncScheduler);xm.QueueScheduler=km,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.queue=e.queueScheduler=void 0,e.queueScheduler=new xm.QueueScheduler(wm.QueueAction),e.queue=e.queueScheduler}(bm);var Am={},Om={},Cm=L&&L.__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(Om,"__esModule",{value:!0}),Om.AnimationFrameAction=void 0;var Nm=_h;Om.AnimationFrameAction=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r}return Cm(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=Nm.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 a=t.actions;null!=n&&(null===(o=a[a.length-1])||void 0===o?void 0:o.id)!==n&&(Nm.animationFrameProvider.cancelAnimationFrame(n),t._scheduled=void 0)},t}(Yh.AsyncAction);var Rm={},Tm=L&&L.__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(Rm,"__esModule",{value:!0}),Rm.AnimationFrameScheduler=void 0;var Im=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}(dm.AsyncScheduler);Rm.AnimationFrameScheduler=Im,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.animationFrame=e.animationFrameScheduler=void 0,e.animationFrameScheduler=new Rm.AnimationFrameScheduler(Om.AnimationFrameAction),e.animationFrame=e.animationFrameScheduler}(Am);var Pm={},Mm=L&&L.__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.VirtualAction=Pm.VirtualTimeScheduler=void 0;var Fm=Yh,jm=yp;Pm.VirtualTimeScheduler=function(e){function t(t,n){void 0===t&&(t=Lm),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 Mm(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}(dm.AsyncScheduler);var Lm=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 Mm(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 jm.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}(Fm.AsyncAction);Pm.VirtualAction=Lm;var Dm={},qm={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.empty=e.EMPTY=void 0;var t=hp;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}}(qm);var Bm={},Um={},zm={};Object.defineProperty(zm,"__esModule",{value:!0}),zm.isScheduler=void 0;var Gm=gp;zm.isScheduler=function(e){return e&&Gm.isFunction(e.schedule)},Object.defineProperty(Um,"__esModule",{value:!0}),Um.popNumber=Um.popScheduler=Um.popResultSelector=void 0;var Hm=gp,Wm=zm;function $m(e){return e[e.length-1]}Um.popResultSelector=function(e){return Hm.isFunction($m(e))?e.pop():void 0},Um.popScheduler=function(e){return Wm.isScheduler($m(e))?e.pop():void 0},Um.popNumber=function(e,t){return"number"==typeof $m(e)?e.pop():t};var Vm={},Jm={},Ym={},Km={},Zm={};Object.defineProperty(Zm,"__esModule",{value:!0}),Zm.isArrayLike=void 0,Zm.isArrayLike=function(e){return e&&"number"==typeof e.length&&"function"!=typeof e};var Xm={};Object.defineProperty(Xm,"__esModule",{value:!0}),Xm.isPromise=void 0;var Qm=gp;Xm.isPromise=function(e){return Qm.isFunction(null==e?void 0:e.then)};var eg={};Object.defineProperty(eg,"__esModule",{value:!0}),eg.isInteropObservable=void 0;var tg=Bp,ng=gp;eg.isInteropObservable=function(e){return ng.isFunction(e[tg.observable])};var rg={};Object.defineProperty(rg,"__esModule",{value:!0}),rg.isAsyncIterable=void 0;var og=gp;rg.isAsyncIterable=function(e){return Symbol.asyncIterator&&og.isFunction(null==e?void 0:e[Symbol.asyncIterator])};var ag={};Object.defineProperty(ag,"__esModule",{value:!0}),ag.createInvalidObservableTypeError=void 0,ag.createInvalidObservableTypeError=function(e){return new TypeError("You provided "+(null!==e&&"object"===Y(e)?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")};var ig={},sg={};function lg(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}Object.defineProperty(sg,"__esModule",{value:!0}),sg.iterator=sg.getSymbolIterator=void 0,sg.getSymbolIterator=lg,sg.iterator=lg(),Object.defineProperty(ig,"__esModule",{value:!0}),ig.isIterable=void 0;var cg=sg,ug=gp;ig.isIterable=function(e){return ug.isFunction(null==e?void 0:e[cg.iterator])};var fg={},dg=L&&L.__generator||function(e,t){var n,r,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,r=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!((o=(o=i.trys).length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1],o=a;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(a);break}o[2]&&i.ops.pop(),i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},pg=L&&L.__await||function(e){return this instanceof pg?(this.v=e,this):new pg(e)},hg=L&&L.__asyncGenerator||function(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=n.apply(e,t||[]),a=[];return r={},i("next"),i("throw"),i("return"),r[Symbol.asyncIterator]=function(){return this},r;function i(e){o[e]&&(r[e]=function(t){return new Promise((function(n,r){a.push([e,t,n,r])>1||s(e,t)}))})}function s(e,t){try{!function(e){e.value instanceof pg?Promise.resolve(e.value.v).then(l,c):u(a[0][2],e)}(o[e](t))}catch(e){u(a[0][3],e)}}function l(e){s("next",e)}function c(e){s("throw",e)}function u(e,t){e(t),a.shift(),a.length&&s(a[0][0],a[0][1])}};Object.defineProperty(fg,"__esModule",{value:!0}),fg.isReadableStreamLike=fg.readableStreamLikeToAsyncGenerator=void 0;var mg=gp;fg.readableStreamLikeToAsyncGenerator=function(e){return hg(this,arguments,(function(){var t,n,r;return dg(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,pg(t.read())];case 3:return n=o.sent(),r=n.value,n.done?[4,pg(void 0)]:[3,5];case 4:return[2,o.sent()];case 5:return[4,pg(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]}}))}))},fg.isReadableStreamLike=function(e){return mg.isFunction(null==e?void 0:e.getReader)};var gg=L&&L.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,a){function i(e){try{l(r.next(e))}catch(e){a(e)}}function s(e){try{l(r.throw(e))}catch(e){a(e)}}function l(e){e.done?o(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(i,s)}l((r=r.apply(e,t||[])).next())}))},yg=L&&L.__generator||function(e,t){var n,r,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,r=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!((o=(o=i.trys).length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1],o=a;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(a);break}o[2]&&i.ops.pop(),i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},vg=L&&L.__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 _g?_g(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)}))}}},_g=L&&L.__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(Km,"__esModule",{value:!0}),Km.fromReadableStreamLike=Km.fromAsyncIterable=Km.fromIterable=Km.fromPromise=Km.fromArrayLike=Km.fromInteropObservable=Km.innerFrom=void 0;var bg=Zm,wg=Xm,Sg=hp,xg=eg,Eg=rg,kg=ag,Ag=ig,Og=fg,Cg=gp,Ng=Rp,Rg=Bp;function Tg(e){return new Sg.Observable((function(t){var n=e[Rg.observable]();if(Cg.isFunction(n.subscribe))return n.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")}))}function Ig(e){return new Sg.Observable((function(t){for(var n=0;n<e.length&&!t.closed;n++)t.next(e[n]);t.complete()}))}function Pg(e){return new Sg.Observable((function(t){e.then((function(e){t.closed||(t.next(e),t.complete())}),(function(e){return t.error(e)})).then(null,Ng.reportUnhandledError)}))}function Mg(e){return new Sg.Observable((function(t){var n,r;try{for(var o=_g(e),a=o.next();!a.done;a=o.next())if(t.next(a.value),t.closed)return}catch(e){n={error:e}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}t.complete()}))}function Fg(e){return new Sg.Observable((function(t){(function(e,t){var n,r,o,a;return gg(this,void 0,void 0,(function(){var i;return yg(this,(function(s){switch(s.label){case 0:s.trys.push([0,5,6,11]),n=vg(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 i=s.sent(),o={error:i},[3,11];case 6:return s.trys.push([6,,9,10]),r&&!r.done&&(a=n.return)?[4,a.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 jg(e){return Fg(Og.readableStreamLikeToAsyncGenerator(e))}Km.innerFrom=function(e){if(e instanceof Sg.Observable)return e;if(null!=e){if(xg.isInteropObservable(e))return Tg(e);if(bg.isArrayLike(e))return Ig(e);if(wg.isPromise(e))return Pg(e);if(Eg.isAsyncIterable(e))return Fg(e);if(Ag.isIterable(e))return Mg(e);if(Og.isReadableStreamLike(e))return jg(e)}throw kg.createInvalidObservableTypeError(e)},Km.fromInteropObservable=Tg,Km.fromArrayLike=Ig,Km.fromPromise=Pg,Km.fromIterable=Mg,Km.fromAsyncIterable=Fg,Km.fromReadableStreamLike=jg;var Lg={},Dg={};Object.defineProperty(Dg,"__esModule",{value:!0}),Dg.executeSchedule=void 0,Dg.executeSchedule=function(e,t,n,r,o){void 0===r&&(r=0),void 0===o&&(o=!1);var a=t.schedule((function(){n(),o?e.add(this.schedule(null,r)):this.unsubscribe()}),r);if(e.add(a),!o)return a},Object.defineProperty(Lg,"__esModule",{value:!0}),Lg.observeOn=void 0;var qg=Dg,Bg=nh,Ug=ah;Lg.observeOn=function(e,t){return void 0===t&&(t=0),Bg.operate((function(n,r){n.subscribe(Ug.createOperatorSubscriber(r,(function(n){return qg.executeSchedule(r,e,(function(){return r.next(n)}),t)}),(function(){return qg.executeSchedule(r,e,(function(){return r.complete()}),t)}),(function(n){return qg.executeSchedule(r,e,(function(){return r.error(n)}),t)})))}))};var zg={};Object.defineProperty(zg,"__esModule",{value:!0}),zg.subscribeOn=void 0;var Gg=nh;zg.subscribeOn=function(e,t){return void 0===t&&(t=0),Gg.operate((function(n,r){r.add(e.schedule((function(){return n.subscribe(r)}),t))}))},Object.defineProperty(Ym,"__esModule",{value:!0}),Ym.scheduleObservable=void 0;var Hg=Km,Wg=Lg,$g=zg;Ym.scheduleObservable=function(e,t){return Hg.innerFrom(e).pipe($g.subscribeOn(t),Wg.observeOn(t))};var Vg={};Object.defineProperty(Vg,"__esModule",{value:!0}),Vg.schedulePromise=void 0;var Jg=Km,Yg=Lg,Kg=zg;Vg.schedulePromise=function(e,t){return Jg.innerFrom(e).pipe(Kg.subscribeOn(t),Yg.observeOn(t))};var Zg={};Object.defineProperty(Zg,"__esModule",{value:!0}),Zg.scheduleArray=void 0;var Xg=hp;Zg.scheduleArray=function(e,t){return new Xg.Observable((function(n){var r=0;return t.schedule((function(){r===e.length?n.complete():(n.next(e[r++]),n.closed||this.schedule())}))}))};var Qg={};Object.defineProperty(Qg,"__esModule",{value:!0}),Qg.scheduleIterable=void 0;var ey=hp,ty=sg,ny=gp,ry=Dg;Qg.scheduleIterable=function(e,t){return new ey.Observable((function(n){var r;return ry.executeSchedule(n,t,(function(){r=e[ty.iterator](),ry.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 ny.isFunction(null==r?void 0:r.return)&&r.return()}}))};var oy={};Object.defineProperty(oy,"__esModule",{value:!0}),oy.scheduleAsyncIterable=void 0;var ay=hp,iy=Dg;oy.scheduleAsyncIterable=function(e,t){if(!e)throw new Error("Iterable cannot be null");return new ay.Observable((function(n){iy.executeSchedule(n,t,(function(){var r=e[Symbol.asyncIterator]();iy.executeSchedule(n,t,(function(){r.next().then((function(e){e.done?n.complete():n.next(e.value)}))}),0,!0)}))}))};var sy={};Object.defineProperty(sy,"__esModule",{value:!0}),sy.scheduleReadableStreamLike=void 0;var ly=oy,cy=fg;sy.scheduleReadableStreamLike=function(e,t){return ly.scheduleAsyncIterable(cy.readableStreamLikeToAsyncGenerator(e),t)},Object.defineProperty(Jm,"__esModule",{value:!0}),Jm.scheduled=void 0;var uy=Ym,fy=Vg,dy=Zg,py=Qg,hy=oy,my=eg,gy=Xm,yy=Zm,vy=ig,_y=rg,by=ag,wy=fg,Sy=sy;Jm.scheduled=function(e,t){if(null!=e){if(my.isInteropObservable(e))return uy.scheduleObservable(e,t);if(yy.isArrayLike(e))return dy.scheduleArray(e,t);if(gy.isPromise(e))return fy.schedulePromise(e,t);if(_y.isAsyncIterable(e))return hy.scheduleAsyncIterable(e,t);if(vy.isIterable(e))return py.scheduleIterable(e,t);if(wy.isReadableStreamLike(e))return Sy.scheduleReadableStreamLike(e,t)}throw by.createInvalidObservableTypeError(e)},Object.defineProperty(Vm,"__esModule",{value:!0}),Vm.from=void 0;var xy=Jm,Ey=Km;Vm.from=function(e,t){return t?xy.scheduled(e,t):Ey.innerFrom(e)},Object.defineProperty(Bm,"__esModule",{value:!0}),Bm.of=void 0;var ky=Um,Ay=Vm;Bm.of=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=ky.popScheduler(e);return Ay.from(e,n)};var Oy={};Object.defineProperty(Oy,"__esModule",{value:!0}),Oy.throwError=void 0;var Cy=hp,Ny=gp;Oy.throwError=function(e,t){var n=Ny.isFunction(e)?e:function(){return e},r=function(e){return e.error(n())};return new Cy.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=qm,r=Bm,o=Oy,a=gp;(t=e.NotificationKind||(e.NotificationKind={})).NEXT="N",t.ERROR="E",t.COMPLETE="C";var i=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,a=r.error;return"N"===o?null==e?void 0:e(r.value):"E"===o?null==t?void 0:t(a):null==n?void 0:n()},e.prototype.accept=function(e,t,n){var r;return a.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,a=e.error,i="N"===t?r.of(e.value):"E"===t?o.throwError((function(){return a})):"C"===t?n.EMPTY:0;if(!i)throw new TypeError("Unexpected notification kind "+t);return i},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,a=e.kind,i=e.value,s=e.error;if("string"!=typeof a)throw new TypeError('Invalid notification, missing "kind"');"N"===a?null===(n=t.next)||void 0===n||n.call(t,i):"E"===a?null===(r=t.error)||void 0===r||r.call(t,s):null===(o=t.complete)||void 0===o||o.call(t)}e.Notification=i,e.observeNotification=s}(Dm);var Ry={};Object.defineProperty(Ry,"__esModule",{value:!0}),Ry.isObservable=void 0;var Ty=hp,Iy=gp;Ry.isObservable=function(e){return!!e&&(e instanceof Ty.Observable||Iy.isFunction(e.lift)&&Iy.isFunction(e.subscribe))};var Py={},My={};Object.defineProperty(My,"__esModule",{value:!0}),My.EmptyError=void 0,My.EmptyError=_p.createErrorClass((function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}})),Object.defineProperty(Py,"__esModule",{value:!0}),Py.lastValueFrom=void 0;var Fy=My;Py.lastValueFrom=function(e,t){var n="object"===Y(t);return new Promise((function(r,o){var a,i=!1;e.subscribe({next:function(e){a=e,i=!0},error:o,complete:function(){i?r(a):n?r(t.defaultValue):o(new Fy.EmptyError)}})}))};var jy={};Object.defineProperty(jy,"__esModule",{value:!0}),jy.firstValueFrom=void 0;var Ly=My,Dy=mp;jy.firstValueFrom=function(e,t){var n="object"===Y(t);return new Promise((function(r,o){var a=new Dy.SafeSubscriber({next:function(e){r(e),a.unsubscribe()},error:o,complete:function(){n?r(t.defaultValue):o(new Ly.EmptyError)}});e.subscribe(a)}))};var qy={};Object.defineProperty(qy,"__esModule",{value:!0}),qy.ArgumentOutOfRangeError=void 0,qy.ArgumentOutOfRangeError=_p.createErrorClass((function(e){return function(){e(this),this.name="ArgumentOutOfRangeError",this.message="argument out of range"}}));var By={};Object.defineProperty(By,"__esModule",{value:!0}),By.NotFoundError=void 0,By.NotFoundError=_p.createErrorClass((function(e){return function(t){e(this),this.name="NotFoundError",this.message=t}}));var Uy={};Object.defineProperty(Uy,"__esModule",{value:!0}),Uy.SequenceError=void 0,Uy.SequenceError=_p.createErrorClass((function(e){return function(t){e(this),this.name="SequenceError",this.message=t}}));var zy={},Gy={};Object.defineProperty(Gy,"__esModule",{value:!0}),Gy.isValidDate=void 0,Gy.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=_m,n=Gy,r=nh,o=Km,a=ah,i=Dg;function s(t){throw new e.TimeoutError(t)}e.TimeoutError=_p.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,l){var c=n.isValidDate(e)?{first:e}:"number"==typeof e?{each:e}:e,u=c.first,f=c.each,d=c.with,p=void 0===d?s:d,h=c.scheduler,m=void 0===h?null!=l?l:t.asyncScheduler:h,g=c.meta,y=void 0===g?null:g;if(null==u&&null==f)throw new TypeError("No timeout provided.");return r.operate((function(e,t){var n,r,s=null,l=0,c=function(e){r=i.executeSchedule(t,m,(function(){try{n.unsubscribe(),o.innerFrom(p({meta:y,lastValue:s,seen:l})).subscribe(t)}catch(e){t.error(e)}}),e)};n=e.subscribe(a.createOperatorSubscriber(t,(function(e){null==r||r.unsubscribe(),l++,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}))),!l&&c(null!=u?"number"==typeof u?u:+u-m.now():f)}))}}(zy);var Hy={},Wy={},$y={},Vy={};Object.defineProperty(Vy,"__esModule",{value:!0}),Vy.map=void 0;var Jy=nh,Yy=ah;Vy.map=function(e,t){return Jy.operate((function(n,r){var o=0;n.subscribe(Yy.createOperatorSubscriber(r,(function(n){r.next(e.call(t,n,o++))})))}))};var Ky=L&&L.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},Zy=L&&L.__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($y,"__esModule",{value:!0}),$y.mapOneOrManyArgs=void 0;var Xy=Vy,Qy=Array.isArray;$y.mapOneOrManyArgs=function(e){return Xy.map((function(t){return function(e,t){return Qy(t)?e.apply(void 0,Zy([],Ky(t))):e(t)}(e,t)}))};var ev=L&&L.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},tv=L&&L.__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(Wy,"__esModule",{value:!0}),Wy.bindCallbackInternals=void 0;var nv=zm,rv=hp,ov=zg,av=$y,iv=Lg,sv=Hh;Wy.bindCallbackInternals=function e(t,n,r,o){if(r){if(!nv.isScheduler(r))return function(){for(var a=[],i=0;i<arguments.length;i++)a[i]=arguments[i];return e(t,n,o).apply(this,a).pipe(av.mapOneOrManyArgs(r))};o=r}return o?function(){for(var r=[],a=0;a<arguments.length;a++)r[a]=arguments[a];return e(t,n).apply(this,r).pipe(ov.subscribeOn(o),iv.observeOn(o))}:function(){for(var e=this,r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];var a=new sv.AsyncSubject,i=!0;return new rv.Observable((function(o){var s=a.subscribe(o);if(i){i=!1;var l=!1,c=!1;n.apply(e,tv(tv([],ev(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 a.error(r)}a.next(1<e.length?e:e[0]),c=!0,l&&a.complete()}])),c&&a.complete(),l=!0}return s}))}},Object.defineProperty(Hy,"__esModule",{value:!0}),Hy.bindCallback=void 0;var lv=Wy;Hy.bindCallback=function(e,t,n){return lv.bindCallbackInternals(!1,e,t,n)};var cv={};Object.defineProperty(cv,"__esModule",{value:!0}),cv.bindNodeCallback=void 0;var uv=Wy;cv.bindNodeCallback=function(e,t,n){return uv.bindCallbackInternals(!0,e,t,n)};var fv={},dv={};Object.defineProperty(dv,"__esModule",{value:!0}),dv.argsArgArrayOrObject=void 0;var pv=Array.isArray,hv=Object.getPrototypeOf,mv=Object.prototype,gv=Object.keys;dv.argsArgArrayOrObject=function(e){if(1===e.length){var t=e[0];if(pv(t))return{args:t,keys:null};if((r=t)&&"object"===Y(r)&&hv(r)===mv){var n=gv(t);return{args:n.map((function(e){return t[e]})),keys:n}}}var r;return{args:e,keys:null}};var yv={};Object.defineProperty(yv,"__esModule",{value:!0}),yv.createObject=void 0,yv.createObject=function(e,t){return e.reduce((function(e,n,r){return e[n]=t[r],e}),{})},Object.defineProperty(fv,"__esModule",{value:!0}),fv.combineLatestInit=fv.combineLatest=void 0;var vv=hp,_v=dv,bv=Vm,wv=zp,Sv=$y,xv=Um,Ev=yv,kv=ah,Av=Dg;function Ov(e,t,n){return void 0===n&&(n=wv.identity),function(r){Cv(t,(function(){for(var o=e.length,a=new Array(o),i=o,s=o,l=function(o){Cv(t,(function(){var l=bv.from(e[o],t),c=!1;l.subscribe(kv.createOperatorSubscriber(r,(function(e){a[o]=e,c||(c=!0,s--),s||r.next(n(a.slice()))}),(function(){--i||r.complete()})))}),r)},c=0;c<o;c++)l(c)}),r)}}function Cv(e,t,n){e?Av.executeSchedule(n,e,t):t()}fv.combineLatest=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=xv.popScheduler(e),r=xv.popResultSelector(e),o=_v.argsArgArrayOrObject(e),a=o.args,i=o.keys;if(0===a.length)return bv.from([],n);var s=new vv.Observable(Ov(a,n,i?function(e){return Ev.createObject(i,e)}:wv.identity));return r?s.pipe(Sv.mapOneOrManyArgs(r)):s},fv.combineLatestInit=Ov;var Nv={},Rv={},Tv={},Iv={},Pv={};Object.defineProperty(Pv,"__esModule",{value:!0}),Pv.mergeInternals=void 0;var Mv=Km,Fv=Dg,jv=ah;Pv.mergeInternals=function(e,t,n,r,o,a,i,s){var l=[],c=0,u=0,f=!1,d=function(){!f||l.length||c||t.complete()},p=function(e){return c<r?h(e):l.push(e)},h=function e(s){a&&t.next(s),c++;var f=!1;Mv.innerFrom(n(s,u++)).subscribe(jv.createOperatorSubscriber(t,(function(e){null==o||o(e),a?p(e):t.next(e)}),(function(){f=!0}),void 0,(function(){if(f)try{c--;for(var n=function(){var n=l.shift();i?Fv.executeSchedule(t,i,(function(){return e(n)})):e(n)};l.length&&c<r;)n();d()}catch(e){t.error(e)}})))};return e.subscribe(jv.createOperatorSubscriber(t,p,(function(){f=!0,d()}))),function(){null==s||s()}},Object.defineProperty(Iv,"__esModule",{value:!0}),Iv.mergeMap=void 0;var Lv=Vy,Dv=Km,qv=nh,Bv=Pv,Uv=gp;Iv.mergeMap=function e(t,n,r){return void 0===r&&(r=Infinity),Uv.isFunction(n)?e((function(e,r){return Lv.map((function(t,o){return n(e,t,r,o)}))(Dv.innerFrom(t(e,r)))}),r):("number"==typeof n&&(r=n),qv.operate((function(e,n){return Bv.mergeInternals(e,n,t,r)})))},Object.defineProperty(Tv,"__esModule",{value:!0}),Tv.mergeAll=void 0;var zv=Iv,Gv=zp;Tv.mergeAll=function(e){return void 0===e&&(e=Infinity),zv.mergeMap(Gv.identity,e)},Object.defineProperty(Rv,"__esModule",{value:!0}),Rv.concatAll=void 0;var Hv=Tv;Rv.concatAll=function(){return Hv.mergeAll(1)},Object.defineProperty(Nv,"__esModule",{value:!0}),Nv.concat=void 0;var Wv=Rv,$v=Um,Vv=Vm;Nv.concat=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Wv.concatAll()(Vv.from(e,$v.popScheduler(e)))};var Jv={},Yv={};Object.defineProperty(Yv,"__esModule",{value:!0}),Yv.defer=void 0;var Kv=hp,Zv=Km;Yv.defer=function(e){return new Kv.Observable((function(t){Zv.innerFrom(e()).subscribe(t)}))},Object.defineProperty(Jv,"__esModule",{value:!0}),Jv.connectable=void 0;var Xv=kh,Qv=hp,e_=Yv,t_={connector:function(){return new Xv.Subject},resetOnDisconnect:!0};Jv.connectable=function(e,t){void 0===t&&(t=t_);var n=null,r=t.connector,o=t.resetOnDisconnect,a=void 0===o||o,i=r(),s=new Qv.Observable((function(e){return i.subscribe(e)}));return s.connect=function(){return n&&!n.closed||(n=e_.defer((function(){return e})).subscribe(i),a&&n.add((function(){return i=r()}))),n},s};var n_={};Object.defineProperty(n_,"__esModule",{value:!0}),n_.forkJoin=void 0;var r_=hp,o_=dv,a_=Km,i_=Um,s_=ah,l_=$y,c_=yv;n_.forkJoin=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=i_.popResultSelector(e),r=o_.argsArgArrayOrObject(e),o=r.args,a=r.keys,i=new r_.Observable((function(e){var t=o.length;if(t)for(var n=new Array(t),r=t,i=t,s=function(t){var s=!1;a_.innerFrom(o[t]).subscribe(s_.createOperatorSubscriber(e,(function(e){s||(s=!0,i--),n[t]=e}),(function(){return r--}),void 0,(function(){r&&s||(i||e.next(a?c_.createObject(a,n):n),e.complete())})))},l=0;l<t;l++)s(l);else e.complete()}));return n?i.pipe(l_.mapOneOrManyArgs(n)):i};var u_={},f_=L&&L.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i};Object.defineProperty(u_,"__esModule",{value:!0}),u_.fromEvent=void 0;var d_=Km,p_=hp,h_=Iv,m_=Zm,g_=gp,y_=$y,v_=["addListener","removeListener"],__=["addEventListener","removeEventListener"],b_=["on","off"];function w_(e,t){return function(n){return function(r){return e[n](t,r)}}}u_.fromEvent=function e(t,n,r,o){if(g_.isFunction(r)&&(o=r,r=void 0),o)return e(t,n,r).pipe(y_.mapOneOrManyArgs(o));var a=f_(function(e){return g_.isFunction(e.addEventListener)&&g_.isFunction(e.removeEventListener)}(t)?__.map((function(e){return function(o){return t[e](n,o,r)}})):function(e){return g_.isFunction(e.addListener)&&g_.isFunction(e.removeListener)}(t)?v_.map(w_(t,n)):function(e){return g_.isFunction(e.on)&&g_.isFunction(e.off)}(t)?b_.map(w_(t,n)):[],2),i=a[0],s=a[1];if(!i&&m_.isArrayLike(t))return h_.mergeMap((function(t){return e(t,n,r)}))(d_.innerFrom(t));if(!i)throw new TypeError("Invalid event target");return new p_.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 i(t),function(){return s(t)}}))};var S_={};Object.defineProperty(S_,"__esModule",{value:!0}),S_.fromEventPattern=void 0;var x_=hp,E_=gp,k_=$y;S_.fromEventPattern=function e(t,n,r){return r?e(t,n).pipe(k_.mapOneOrManyArgs(r)):new x_.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 E_.isFunction(n)?function(){return n(r,o)}:void 0}))};var A_={},O_=L&&L.__generator||function(e,t){var n,r,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,r=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!((o=(o=i.trys).length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1],o=a;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(a);break}o[2]&&i.ops.pop(),i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}};Object.defineProperty(A_,"__esModule",{value:!0}),A_.generate=void 0;var C_=zp,N_=zm,R_=Yv,T_=Qg;A_.generate=function(e,t,n,r,o){var a,i,s,l;function c(){var e;return O_(this,(function(r){switch(r.label){case 0:e=l,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?(l=(a=e).initialState,t=a.condition,n=a.iterate,s=void 0===(i=a.resultSelector)?C_.identity:i,o=a.scheduler):(l=e,!r||N_.isScheduler(r)?(s=C_.identity,o=r):s=r),R_.defer(o?function(){return T_.scheduleIterable(c(),o)}:c)};var I_={};Object.defineProperty(I_,"__esModule",{value:!0}),I_.iif=void 0;var P_=Yv;I_.iif=function(e,t,n){return P_.defer((function(){return e()?t:n}))};var M_={},F_={};Object.defineProperty(F_,"__esModule",{value:!0}),F_.timer=void 0;var j_=hp,L_=_m,D_=zm,q_=Gy;F_.timer=function(e,t,n){void 0===e&&(e=0),void 0===n&&(n=L_.async);var r=-1;return null!=t&&(D_.isScheduler(t)?n=t:r=t),new j_.Observable((function(t){var o=q_.isValidDate(e)?+e-n.now():e;o<0&&(o=0);var a=0;return n.schedule((function(){t.closed||(t.next(a++),0<=r?this.schedule(void 0,r):t.complete())}),o)}))},Object.defineProperty(M_,"__esModule",{value:!0}),M_.interval=void 0;var B_=_m,U_=F_;M_.interval=function(e,t){return void 0===e&&(e=0),void 0===t&&(t=B_.asyncScheduler),e<0&&(e=0),U_.timer(e,e,t)};var z_={};Object.defineProperty(z_,"__esModule",{value:!0}),z_.merge=void 0;var G_=Tv,H_=Km,W_=qm,$_=Um,V_=Vm;z_.merge=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=$_.popScheduler(e),r=$_.popNumber(e,Infinity),o=e;return o.length?1===o.length?H_.innerFrom(o[0]):G_.mergeAll(r)(V_.from(o,n)):W_.EMPTY};var J_={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.never=e.NEVER=void 0,e.NEVER=new hp.Observable(Mp.noop),e.never=function(){return e.NEVER}}(J_);var Y_={},K_={};Object.defineProperty(K_,"__esModule",{value:!0}),K_.argsOrArgArray=void 0;var Z_=Array.isArray;K_.argsOrArgArray=function(e){return 1===e.length&&Z_(e[0])?e[0]:e},Object.defineProperty(Y_,"__esModule",{value:!0}),Y_.onErrorResumeNext=void 0;var X_=hp,Q_=K_,eb=ah,tb=Mp,nb=Km;Y_.onErrorResumeNext=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=Q_.argsOrArgArray(e);return new X_.Observable((function(e){var t=0;!function r(){if(t<n.length){var o=void 0;try{o=nb.innerFrom(n[t++])}catch(e){return void r()}var a=new eb.OperatorSubscriber(e,void 0,tb.noop,tb.noop);o.subscribe(a),a.add(r)}else e.complete()}()}))};var rb={};Object.defineProperty(rb,"__esModule",{value:!0}),rb.pairs=void 0;var ob=Vm;rb.pairs=function(e,t){return ob.from(Object.entries(e),t)};var ab={},ib={};Object.defineProperty(ib,"__esModule",{value:!0}),ib.not=void 0,ib.not=function(e,t){return function(n,r){return!e.call(t,n,r)}};var sb={};Object.defineProperty(sb,"__esModule",{value:!0}),sb.filter=void 0;var lb=nh,cb=ah;sb.filter=function(e,t){return lb.operate((function(n,r){var o=0;n.subscribe(cb.createOperatorSubscriber(r,(function(n){return e.call(t,n,o++)&&r.next(n)})))}))},Object.defineProperty(ab,"__esModule",{value:!0}),ab.partition=void 0;var ub=ib,fb=sb,db=Km;ab.partition=function(e,t,n){return[fb.filter(t,n)(db.innerFrom(e)),fb.filter(ub.not(t,n))(db.innerFrom(e))]};var pb={};Object.defineProperty(pb,"__esModule",{value:!0}),pb.raceInit=pb.race=void 0;var hb=hp,mb=Km,gb=K_,yb=ah;function vb(e){return function(t){for(var n=[],r=function(r){n.push(mb.innerFrom(e[r]).subscribe(yb.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)}}pb.race=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return 1===(e=gb.argsOrArgArray(e)).length?mb.innerFrom(e[0]):new hb.Observable(vb(e))},pb.raceInit=vb;var _b={};Object.defineProperty(_b,"__esModule",{value:!0}),_b.range=void 0;var bb=hp,wb=qm;_b.range=function(e,t,n){if(null==t&&(t=e,e=0),t<=0)return wb.EMPTY;var r=t+e;return new bb.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 Sb={};Object.defineProperty(Sb,"__esModule",{value:!0}),Sb.using=void 0;var xb=hp,Eb=Km,kb=qm;Sb.using=function(e,t){return new xb.Observable((function(n){var r=e(),o=t(r);return(o?Eb.innerFrom(o):kb.EMPTY).subscribe(n),function(){r&&r.unsubscribe()}}))};var Ab={},Ob=L&&L.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},Cb=L&&L.__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(Ab,"__esModule",{value:!0}),Ab.zip=void 0;var Nb=hp,Rb=Km,Tb=K_,Ib=qm,Pb=ah,Mb=Um;Ab.zip=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=Mb.popResultSelector(e),r=Tb.argsOrArgArray(e);return r.length?new Nb.Observable((function(e){var t=r.map((function(){return[]})),o=r.map((function(){return!1}));e.add((function(){t=o=null}));for(var a=function(a){Rb.innerFrom(r[a]).subscribe(Pb.createOperatorSubscriber(e,(function(r){if(t[a].push(r),t.every((function(e){return e.length}))){var i=t.map((function(e){return e.shift()}));e.next(n?n.apply(void 0,Cb([],Ob(i))):i),t.some((function(e,t){return!e.length&&o[t]}))&&e.complete()}}),(function(){o[a]=!0,!t[a].length&&e.complete()})))},i=0;!e.closed&&i<r.length;i++)a(i);return function(){t=o=null}})):Ib.EMPTY};var Fb={};Object.defineProperty(Fb,"__esModule",{value:!0});var jb={};Object.defineProperty(jb,"__esModule",{value:!0}),jb.audit=void 0;var Lb=nh,Db=Km,qb=ah;jb.audit=function(e){return Lb.operate((function(t,n){var r=!1,o=null,a=null,i=!1,s=function(){if(null==a||a.unsubscribe(),a=null,r){r=!1;var e=o;o=null,n.next(e)}i&&n.complete()},l=function(){a=null,i&&n.complete()};t.subscribe(qb.createOperatorSubscriber(n,(function(t){r=!0,o=t,a||Db.innerFrom(e(t)).subscribe(a=qb.createOperatorSubscriber(n,s,l))}),(function(){i=!0,(!r||!a||a.closed)&&n.complete()})))}))};var Bb={};Object.defineProperty(Bb,"__esModule",{value:!0}),Bb.auditTime=void 0;var Ub=_m,zb=jb,Gb=F_;Bb.auditTime=function(e,t){return void 0===t&&(t=Ub.asyncScheduler),zb.audit((function(){return Gb.timer(e,t)}))};var Hb={};Object.defineProperty(Hb,"__esModule",{value:!0}),Hb.buffer=void 0;var Wb=nh,$b=Mp,Vb=ah,Jb=Km;Hb.buffer=function(e){return Wb.operate((function(t,n){var r=[];return t.subscribe(Vb.createOperatorSubscriber(n,(function(e){return r.push(e)}),(function(){n.next(r),n.complete()}))),Jb.innerFrom(e).subscribe(Vb.createOperatorSubscriber(n,(function(){var e=r;r=[],n.next(e)}),$b.noop)),function(){r=null}}))};var Yb={},Kb=L&&L.__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(Yb,"__esModule",{value:!0}),Yb.bufferCount=void 0;var Zb=nh,Xb=ah,Qb=bp;Yb.bufferCount=function(e,t){return void 0===t&&(t=null),t=null!=t?t:e,Zb.operate((function(n,r){var o=[],a=0;n.subscribe(Xb.createOperatorSubscriber(r,(function(n){var i,s,l,c,u=null;a++%t==0&&o.push([]);try{for(var f=Kb(o),d=f.next();!d.done;d=f.next())(m=d.value).push(n),e<=m.length&&(u=null!=u?u:[]).push(m)}catch(e){i={error:e}}finally{try{d&&!d.done&&(s=f.return)&&s.call(f)}finally{if(i)throw i.error}}if(u)try{for(var p=Kb(u),h=p.next();!h.done;h=p.next()){var m;Qb.arrRemove(o,m=h.value),r.next(m)}}catch(e){l={error:e}}finally{try{h&&!h.done&&(c=p.return)&&c.call(p)}finally{if(l)throw l.error}}}),(function(){var e,t;try{for(var n=Kb(o),a=n.next();!a.done;a=n.next())r.next(a.value)}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}r.complete()}),void 0,(function(){o=null})))}))};var ew={},tw=L&&L.__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(ew,"__esModule",{value:!0}),ew.bufferTime=void 0;var nw=yp,rw=nh,ow=ah,aw=bp,iw=_m,sw=Um,lw=Dg;ew.bufferTime=function(e){for(var t,n,r=[],o=1;o<arguments.length;o++)r[o-1]=arguments[o];var a=null!==(t=sw.popScheduler(r))&&void 0!==t?t:iw.asyncScheduler,i=null!==(n=r[0])&&void 0!==n?n:null,s=r[1]||Infinity;return rw.operate((function(t,n){var r=[],o=!1,l=function(e){var t=e.buffer;e.subs.unsubscribe(),aw.arrRemove(r,e),n.next(t),o&&c()},c=function(){if(r){var t=new nw.Subscription;n.add(t);var o={buffer:[],subs:t};r.push(o),lw.executeSchedule(t,a,(function(){return l(o)}),e)}};null!==i&&i>=0?lw.executeSchedule(n,a,c,i,!0):o=!0,c();var u=ow.createOperatorSubscriber(n,(function(e){var t,n,o=r.slice();try{for(var a=tw(o),i=a.next();!i.done;i=a.next()){var c=i.value,u=c.buffer;u.push(e),s<=u.length&&l(c)}}catch(e){t={error:e}}finally{try{i&&!i.done&&(n=a.return)&&n.call(a)}finally{if(t)throw t.error}}}),(function(){for(;null==r?void 0:r.length;)n.next(r.shift().buffer);null==u||u.unsubscribe(),n.complete(),n.unsubscribe()}),void 0,(function(){return r=null}));t.subscribe(u)}))};var cw={},uw=L&&L.__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(cw,"__esModule",{value:!0}),cw.bufferToggle=void 0;var fw=yp,dw=nh,pw=Km,hw=ah,mw=Mp,gw=bp;cw.bufferToggle=function(e,t){return dw.operate((function(n,r){var o=[];pw.innerFrom(e).subscribe(hw.createOperatorSubscriber(r,(function(e){var n=[];o.push(n);var a=new fw.Subscription;a.add(pw.innerFrom(t(e)).subscribe(hw.createOperatorSubscriber(r,(function(){gw.arrRemove(o,n),r.next(n),a.unsubscribe()}),mw.noop)))}),mw.noop)),n.subscribe(hw.createOperatorSubscriber(r,(function(e){var t,n;try{for(var r=uw(o),a=r.next();!a.done;a=r.next())a.value.push(e)}catch(e){t={error:e}}finally{try{a&&!a.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 yw={};Object.defineProperty(yw,"__esModule",{value:!0}),yw.bufferWhen=void 0;var vw=nh,_w=Mp,bw=ah,ww=Km;yw.bufferWhen=function(e){return vw.operate((function(t,n){var r=null,o=null;!function t(){null==o||o.unsubscribe();var a=r;r=[],a&&n.next(a),ww.innerFrom(e()).subscribe(o=bw.createOperatorSubscriber(n,t,_w.noop))}(),t.subscribe(bw.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 Sw={};Object.defineProperty(Sw,"__esModule",{value:!0}),Sw.catchError=void 0;var xw=Km,Ew=ah,kw=nh;Sw.catchError=function e(t){return kw.operate((function(n,r){var o,a=null,i=!1;a=n.subscribe(Ew.createOperatorSubscriber(r,void 0,void 0,(function(s){o=xw.innerFrom(t(s,e(t)(n))),a?(a.unsubscribe(),a=null,o.subscribe(r)):i=!0}))),i&&(a.unsubscribe(),a=null,o.subscribe(r))}))};var Aw={},Ow={},Cw={},Nw={},Rw={},Tw={};Object.defineProperty(Tw,"__esModule",{value:!0}),Tw.scanInternals=void 0;var Iw=ah;Tw.scanInternals=function(e,t,n,r,o){return function(a,i){var s=n,l=t,c=0;a.subscribe(Iw.createOperatorSubscriber(i,(function(t){var n=c++;l=s?e(l,t,n):(s=!0,t),r&&i.next(l)}),o&&function(){s&&i.next(l),i.complete()}))}},Object.defineProperty(Rw,"__esModule",{value:!0}),Rw.reduce=void 0;var Pw=Tw,Mw=nh;Rw.reduce=function(e,t){return Mw.operate(Pw.scanInternals(e,t,arguments.length>=2,!1,!0))},Object.defineProperty(Nw,"__esModule",{value:!0}),Nw.toArray=void 0;var Fw=Rw,jw=nh,Lw=function(e,t){return e.push(t),e};Nw.toArray=function(){return jw.operate((function(e,t){Fw.reduce(Lw,[])(e).subscribe(t)}))},Object.defineProperty(Cw,"__esModule",{value:!0}),Cw.joinAllInternals=void 0;var Dw=zp,qw=$y,Bw=Up,Uw=Iv,zw=Nw;Cw.joinAllInternals=function(e,t){return Bw.pipe(zw.toArray(),Uw.mergeMap((function(t){return e(t)})),t?qw.mapOneOrManyArgs(t):Dw.identity)},Object.defineProperty(Ow,"__esModule",{value:!0}),Ow.combineLatestAll=void 0;var Gw=fv,Hw=Cw;Ow.combineLatestAll=function(e){return Hw.joinAllInternals(Gw.combineLatest,e)},Object.defineProperty(Aw,"__esModule",{value:!0}),Aw.combineAll=void 0,Aw.combineAll=Ow.combineLatestAll;var Ww={},$w={},Vw=L&&L.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},Jw=L&&L.__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($w,"__esModule",{value:!0}),$w.combineLatest=void 0;var Yw=fv,Kw=nh,Zw=K_,Xw=$y,Qw=Up,eS=Um;$w.combineLatest=function e(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=eS.popResultSelector(t);return r?Qw.pipe(e.apply(void 0,Jw([],Vw(t))),Xw.mapOneOrManyArgs(r)):Kw.operate((function(e,n){Yw.combineLatestInit(Jw([e],Vw(Zw.argsOrArgArray(t))))(n)}))};var tS=L&&L.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},nS=L&&L.__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(Ww,"__esModule",{value:!0}),Ww.combineLatestWith=void 0;var rS=$w;Ww.combineLatestWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return rS.combineLatest.apply(void 0,nS([],tS(e)))};var oS={};Object.defineProperty(oS,"__esModule",{value:!0}),oS.concatMap=void 0;var aS=Iv,iS=gp;oS.concatMap=function(e,t){return iS.isFunction(t)?aS.mergeMap(e,t,1):aS.mergeMap(e,1)};var sS={};Object.defineProperty(sS,"__esModule",{value:!0}),sS.concatMapTo=void 0;var lS=oS,cS=gp;sS.concatMapTo=function(e,t){return cS.isFunction(t)?lS.concatMap((function(){return e}),t):lS.concatMap((function(){return e}))};var uS={},fS={},dS=L&&L.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},pS=L&&L.__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(fS,"__esModule",{value:!0}),fS.concat=void 0;var hS=nh,mS=Rv,gS=Um,yS=Vm;fS.concat=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=gS.popScheduler(e);return hS.operate((function(t,r){mS.concatAll()(yS.from(pS([t],dS(e)),n)).subscribe(r)}))};var vS=L&&L.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},_S=L&&L.__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(uS,"__esModule",{value:!0}),uS.concatWith=void 0;var bS=fS;uS.concatWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return bS.concat.apply(void 0,_S([],vS(e)))};var wS={},SS={};Object.defineProperty(SS,"__esModule",{value:!0}),SS.fromSubscribable=void 0;var xS=hp;SS.fromSubscribable=function(e){return new xS.Observable((function(t){return e.subscribe(t)}))},Object.defineProperty(wS,"__esModule",{value:!0}),wS.connect=void 0;var ES=kh,kS=Km,AS=nh,OS=SS,CS={connector:function(){return new ES.Subject}};wS.connect=function(e,t){void 0===t&&(t=CS);var n=t.connector;return AS.operate((function(t,r){var o=n();kS.innerFrom(e(OS.fromSubscribable(o))).subscribe(r),r.add(t.subscribe(o))}))};var NS={};Object.defineProperty(NS,"__esModule",{value:!0}),NS.count=void 0;var RS=Rw;NS.count=function(e){return RS.reduce((function(t,n,r){return!e||e(n,r)?t+1:t}),0)};var TS={};Object.defineProperty(TS,"__esModule",{value:!0}),TS.debounce=void 0;var IS=nh,PS=Mp,MS=ah,FS=Km;TS.debounce=function(e){return IS.operate((function(t,n){var r=!1,o=null,a=null,i=function(){if(null==a||a.unsubscribe(),a=null,r){r=!1;var e=o;o=null,n.next(e)}};t.subscribe(MS.createOperatorSubscriber(n,(function(t){null==a||a.unsubscribe(),r=!0,o=t,a=MS.createOperatorSubscriber(n,i,PS.noop),FS.innerFrom(e(t)).subscribe(a)}),(function(){i(),n.complete()}),void 0,(function(){o=a=null})))}))};var jS={};Object.defineProperty(jS,"__esModule",{value:!0}),jS.debounceTime=void 0;var LS=_m,DS=nh,qS=ah;jS.debounceTime=function(e,t){return void 0===t&&(t=LS.asyncScheduler),DS.operate((function(n,r){var o=null,a=null,i=null,s=function(){if(o){o.unsubscribe(),o=null;var e=a;a=null,r.next(e)}};function l(){var n=i+e,a=t.now();if(a<n)return o=this.schedule(void 0,n-a),void r.add(o);s()}n.subscribe(qS.createOperatorSubscriber(r,(function(n){a=n,i=t.now(),o||(o=t.schedule(l,e),r.add(o))}),(function(){s(),r.complete()}),void 0,(function(){a=o=null})))}))};var BS={};Object.defineProperty(BS,"__esModule",{value:!0}),BS.defaultIfEmpty=void 0;var US=nh,zS=ah;BS.defaultIfEmpty=function(e){return US.operate((function(t,n){var r=!1;t.subscribe(zS.createOperatorSubscriber(n,(function(e){r=!0,n.next(e)}),(function(){r||n.next(e),n.complete()})))}))};var GS={},HS={},WS={};Object.defineProperty(WS,"__esModule",{value:!0}),WS.take=void 0;var $S=qm,VS=nh,JS=ah;WS.take=function(e){return e<=0?function(){return $S.EMPTY}:VS.operate((function(t,n){var r=0;t.subscribe(JS.createOperatorSubscriber(n,(function(t){++r<=e&&(n.next(t),e<=r&&n.complete())})))}))};var YS={};Object.defineProperty(YS,"__esModule",{value:!0}),YS.ignoreElements=void 0;var KS=nh,ZS=ah,XS=Mp;YS.ignoreElements=function(){return KS.operate((function(e,t){e.subscribe(ZS.createOperatorSubscriber(t,XS.noop))}))};var QS={};Object.defineProperty(QS,"__esModule",{value:!0}),QS.mapTo=void 0;var ex=Vy;QS.mapTo=function(e){return ex.map((function(){return e}))},Object.defineProperty(HS,"__esModule",{value:!0}),HS.delayWhen=void 0;var tx=Nv,nx=WS,rx=YS,ox=QS,ax=Iv,ix=Km;HS.delayWhen=function e(t,n){return n?function(r){return tx.concat(n.pipe(nx.take(1),rx.ignoreElements()),r.pipe(e(t)))}:ax.mergeMap((function(e,n){return ix.innerFrom(t(e,n)).pipe(nx.take(1),ox.mapTo(e))}))},Object.defineProperty(GS,"__esModule",{value:!0}),GS.delay=void 0;var sx=_m,lx=HS,cx=F_;GS.delay=function(e,t){void 0===t&&(t=sx.asyncScheduler);var n=cx.timer(e,t);return lx.delayWhen((function(){return n}))};var ux={};Object.defineProperty(ux,"__esModule",{value:!0}),ux.dematerialize=void 0;var fx=Dm,dx=nh,px=ah;ux.dematerialize=function(){return dx.operate((function(e,t){e.subscribe(px.createOperatorSubscriber(t,(function(e){return fx.observeNotification(e,t)})))}))};var hx={};Object.defineProperty(hx,"__esModule",{value:!0}),hx.distinct=void 0;var mx=nh,gx=ah,yx=Mp,vx=Km;hx.distinct=function(e,t){return mx.operate((function(n,r){var o=new Set;n.subscribe(gx.createOperatorSubscriber(r,(function(t){var n=e?e(t):t;o.has(n)||(o.add(n),r.next(t))}))),t&&vx.innerFrom(t).subscribe(gx.createOperatorSubscriber(r,(function(){return o.clear()}),yx.noop))}))};var _x={};Object.defineProperty(_x,"__esModule",{value:!0}),_x.distinctUntilChanged=void 0;var bx=zp,wx=nh,Sx=ah;function xx(e,t){return e===t}_x.distinctUntilChanged=function(e,t){return void 0===t&&(t=bx.identity),e=null!=e?e:xx,wx.operate((function(n,r){var o,a=!0;n.subscribe(Sx.createOperatorSubscriber(r,(function(n){var i=t(n);!a&&e(o,i)||(a=!1,o=i,r.next(n))})))}))};var Ex={};Object.defineProperty(Ex,"__esModule",{value:!0}),Ex.distinctUntilKeyChanged=void 0;var kx=_x;Ex.distinctUntilKeyChanged=function(e,t){return kx.distinctUntilChanged((function(n,r){return t?t(n[e],r[e]):n[e]===r[e]}))};var Ax={},Ox={};Object.defineProperty(Ox,"__esModule",{value:!0}),Ox.throwIfEmpty=void 0;var Cx=My,Nx=nh,Rx=ah;function Tx(){return new Cx.EmptyError}Ox.throwIfEmpty=function(e){return void 0===e&&(e=Tx),Nx.operate((function(t,n){var r=!1;t.subscribe(Rx.createOperatorSubscriber(n,(function(e){r=!0,n.next(e)}),(function(){return r?n.complete():n.error(e())})))}))},Object.defineProperty(Ax,"__esModule",{value:!0}),Ax.elementAt=void 0;var Ix=qy,Px=sb,Mx=Ox,Fx=BS,jx=WS;Ax.elementAt=function(e,t){if(e<0)throw new Ix.ArgumentOutOfRangeError;var n=arguments.length>=2;return function(r){return r.pipe(Px.filter((function(t,n){return n===e})),jx.take(1),n?Fx.defaultIfEmpty(t):Mx.throwIfEmpty((function(){return new Ix.ArgumentOutOfRangeError})))}};var Lx={},Dx=L&&L.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},qx=L&&L.__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(Lx,"__esModule",{value:!0}),Lx.endWith=void 0;var Bx=Nv,Ux=Bm;Lx.endWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(t){return Bx.concat(t,Ux.of.apply(void 0,qx([],Dx(e))))}};var zx={};Object.defineProperty(zx,"__esModule",{value:!0}),zx.every=void 0;var Gx=nh,Hx=ah;zx.every=function(e,t){return Gx.operate((function(n,r){var o=0;n.subscribe(Hx.createOperatorSubscriber(r,(function(a){e.call(t,a,o++,n)||(r.next(!1),r.complete())}),(function(){r.next(!0),r.complete()})))}))};var Wx={},$x={},Vx={};Object.defineProperty(Vx,"__esModule",{value:!0}),Vx.exhaustMap=void 0;var Jx=Vy,Yx=Km,Kx=nh,Zx=ah;Vx.exhaustMap=function e(t,n){return n?function(r){return r.pipe(e((function(e,r){return Yx.innerFrom(t(e,r)).pipe(Jx.map((function(t,o){return n(e,t,r,o)})))})))}:Kx.operate((function(e,n){var r=0,o=null,a=!1;e.subscribe(Zx.createOperatorSubscriber(n,(function(e){o||(o=Zx.createOperatorSubscriber(n,void 0,(function(){o=null,a&&n.complete()})),Yx.innerFrom(t(e,r++)).subscribe(o))}),(function(){a=!0,!o&&n.complete()})))}))},Object.defineProperty($x,"__esModule",{value:!0}),$x.exhaustAll=void 0;var Xx=Vx,Qx=zp;$x.exhaustAll=function(){return Xx.exhaustMap(Qx.identity)},Object.defineProperty(Wx,"__esModule",{value:!0}),Wx.exhaust=void 0,Wx.exhaust=$x.exhaustAll;var eE={};Object.defineProperty(eE,"__esModule",{value:!0}),eE.expand=void 0;var tE=nh,nE=Pv;eE.expand=function(e,t,n){return void 0===t&&(t=Infinity),t=(t||0)<1?Infinity:t,tE.operate((function(r,o){return nE.mergeInternals(r,o,e,t,void 0,!0,n)}))};var rE={};Object.defineProperty(rE,"__esModule",{value:!0}),rE.finalize=void 0;var oE=nh;rE.finalize=function(e){return oE.operate((function(t,n){try{t.subscribe(n)}finally{n.add(e)}}))};var aE={};Object.defineProperty(aE,"__esModule",{value:!0}),aE.createFind=aE.find=void 0;var iE=nh,sE=ah;function lE(e,t,n){var r="index"===n;return function(n,o){var a=0;n.subscribe(sE.createOperatorSubscriber(o,(function(i){var s=a++;e.call(t,i,s,n)&&(o.next(r?s:i),o.complete())}),(function(){o.next(r?-1:void 0),o.complete()})))}}aE.find=function(e,t){return iE.operate(lE(e,t,"value"))},aE.createFind=lE;var cE={};Object.defineProperty(cE,"__esModule",{value:!0}),cE.findIndex=void 0;var uE=nh,fE=aE;cE.findIndex=function(e,t){return uE.operate(fE.createFind(e,t,"index"))};var dE={};Object.defineProperty(dE,"__esModule",{value:!0}),dE.first=void 0;var pE=My,hE=sb,mE=WS,gE=BS,yE=Ox,vE=zp;dE.first=function(e,t){var n=arguments.length>=2;return function(r){return r.pipe(e?hE.filter((function(t,n){return e(t,n,r)})):vE.identity,mE.take(1),n?gE.defaultIfEmpty(t):yE.throwIfEmpty((function(){return new pE.EmptyError})))}};var _E={};Object.defineProperty(_E,"__esModule",{value:!0}),_E.groupBy=void 0;var bE=hp,wE=Km,SE=kh,xE=nh,EE=ah;_E.groupBy=function(e,t,n,r){return xE.operate((function(o,a){var i;t&&"function"!=typeof t?(n=t.duration,i=t.element,r=t.connector):i=t;var s=new Map,l=function(e){s.forEach(e),e(a)},c=function(e){return l((function(t){return t.error(e)}))},u=0,f=!1,d=new EE.OperatorSubscriber(a,(function(t){try{var o=e(t),l=s.get(o);if(!l){s.set(o,l=r?r():new SE.Subject);var p=(m=o,g=l,(y=new bE.Observable((function(e){u++;var t=g.subscribe(e);return function(){t.unsubscribe(),0==--u&&f&&d.unsubscribe()}}))).key=m,y);if(a.next(p),n){var h=EE.createOperatorSubscriber(l,(function(){l.complete(),null==h||h.unsubscribe()}),void 0,void 0,(function(){return s.delete(o)}));d.add(wE.innerFrom(n(p)).subscribe(h))}}l.next(i?i(t):t)}catch(e){c(e)}var m,g,y}),(function(){return l((function(e){return e.complete()}))}),c,(function(){return s.clear()}),(function(){return f=!0,0===u}));o.subscribe(d)}))};var kE={};Object.defineProperty(kE,"__esModule",{value:!0}),kE.isEmpty=void 0;var AE=nh,OE=ah;kE.isEmpty=function(){return AE.operate((function(e,t){e.subscribe(OE.createOperatorSubscriber(t,(function(){t.next(!1),t.complete()}),(function(){t.next(!0),t.complete()})))}))};var CE={},NE={},RE=L&&L.__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(NE,"__esModule",{value:!0}),NE.takeLast=void 0;var TE=qm,IE=nh,PE=ah;NE.takeLast=function(e){return e<=0?function(){return TE.EMPTY}:IE.operate((function(t,n){var r=[];t.subscribe(PE.createOperatorSubscriber(n,(function(t){r.push(t),e<r.length&&r.shift()}),(function(){var e,t;try{for(var o=RE(r),a=o.next();!a.done;a=o.next())n.next(a.value)}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}n.complete()}),void 0,(function(){r=null})))}))},Object.defineProperty(CE,"__esModule",{value:!0}),CE.last=void 0;var ME=My,FE=sb,jE=NE,LE=Ox,DE=BS,qE=zp;CE.last=function(e,t){var n=arguments.length>=2;return function(r){return r.pipe(e?FE.filter((function(t,n){return e(t,n,r)})):qE.identity,jE.takeLast(1),n?DE.defaultIfEmpty(t):LE.throwIfEmpty((function(){return new ME.EmptyError})))}};var BE={};Object.defineProperty(BE,"__esModule",{value:!0}),BE.materialize=void 0;var UE=Dm,zE=nh,GE=ah;BE.materialize=function(){return zE.operate((function(e,t){e.subscribe(GE.createOperatorSubscriber(t,(function(e){t.next(UE.Notification.createNext(e))}),(function(){t.next(UE.Notification.createComplete()),t.complete()}),(function(e){t.next(UE.Notification.createError(e)),t.complete()})))}))};var HE={};Object.defineProperty(HE,"__esModule",{value:!0}),HE.max=void 0;var WE=Rw,$E=gp;HE.max=function(e){return WE.reduce($E.isFunction(e)?function(t,n){return e(t,n)>0?t:n}:function(e,t){return e>t?e:t})};var VE={};Object.defineProperty(VE,"__esModule",{value:!0}),VE.flatMap=void 0,VE.flatMap=Iv.mergeMap;var JE={};Object.defineProperty(JE,"__esModule",{value:!0}),JE.mergeMapTo=void 0;var YE=Iv,KE=gp;JE.mergeMapTo=function(e,t,n){return void 0===n&&(n=Infinity),KE.isFunction(t)?YE.mergeMap((function(){return e}),t,n):("number"==typeof t&&(n=t),YE.mergeMap((function(){return e}),n))};var ZE={};Object.defineProperty(ZE,"__esModule",{value:!0}),ZE.mergeScan=void 0;var XE=nh,QE=Pv;ZE.mergeScan=function(e,t,n){return void 0===n&&(n=Infinity),XE.operate((function(r,o){var a=t;return QE.mergeInternals(r,o,(function(t,n){return e(a,t,n)}),n,(function(e){a=e}),!1,void 0,(function(){return a=null}))}))};var ek={},tk={},nk=L&&L.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},rk=L&&L.__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(tk,"__esModule",{value:!0}),tk.merge=void 0;var ok=nh,ak=K_,ik=Tv,sk=Um,lk=Vm;tk.merge=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=sk.popScheduler(e),r=sk.popNumber(e,Infinity);return e=ak.argsOrArgArray(e),ok.operate((function(t,o){ik.mergeAll(r)(lk.from(rk([t],nk(e)),n)).subscribe(o)}))};var ck=L&&L.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},uk=L&&L.__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(ek,"__esModule",{value:!0}),ek.mergeWith=void 0;var fk=tk;ek.mergeWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return fk.merge.apply(void 0,uk([],ck(e)))};var dk={};Object.defineProperty(dk,"__esModule",{value:!0}),dk.min=void 0;var pk=Rw,hk=gp;dk.min=function(e){return pk.reduce(hk.isFunction(e)?function(t,n){return e(t,n)<0?t:n}:function(e,t){return e<t?e:t})};var mk={};Object.defineProperty(mk,"__esModule",{value:!0}),mk.multicast=void 0;var gk=eh,yk=gp,vk=wS;mk.multicast=function(e,t){var n=yk.isFunction(e)?e:function(){return e};return yk.isFunction(t)?vk.connect(t,{connector:n}):function(e){return new gk.ConnectableObservable(e,n)}};var _k={},bk=L&&L.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},wk=L&&L.__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(_k,"__esModule",{value:!0}),_k.onErrorResumeNext=_k.onErrorResumeNextWith=void 0;var Sk=K_,xk=Y_;function Ek(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=Sk.argsOrArgArray(e);return function(e){return xk.onErrorResumeNext.apply(void 0,wk([e],bk(n)))}}_k.onErrorResumeNextWith=Ek,_k.onErrorResumeNext=Ek;var kk={};Object.defineProperty(kk,"__esModule",{value:!0}),kk.pairwise=void 0;var Ak=nh,Ok=ah;kk.pairwise=function(){return Ak.operate((function(e,t){var n,r=!1;e.subscribe(Ok.createOperatorSubscriber(t,(function(e){var o=n;n=e,r&&t.next([o,e]),r=!0})))}))};var Ck={};Object.defineProperty(Ck,"__esModule",{value:!0}),Ck.pluck=void 0;var Nk=Vy;Ck.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 Nk.map((function(t){for(var r=t,o=0;o<n;o++){var a=null==r?void 0:r[e[o]];if(void 0===a)return;r=a}return r}))};var Rk={};Object.defineProperty(Rk,"__esModule",{value:!0}),Rk.publish=void 0;var Tk=kh,Ik=mk,Pk=wS;Rk.publish=function(e){return e?function(t){return Pk.connect(e)(t)}:function(e){return Ik.multicast(new Tk.Subject)(e)}};var Mk={};Object.defineProperty(Mk,"__esModule",{value:!0}),Mk.publishBehavior=void 0;var Fk=jh,jk=eh;Mk.publishBehavior=function(e){return function(t){var n=new Fk.BehaviorSubject(e);return new jk.ConnectableObservable(t,(function(){return n}))}};var Lk={};Object.defineProperty(Lk,"__esModule",{value:!0}),Lk.publishLast=void 0;var Dk=Hh,qk=eh;Lk.publishLast=function(){return function(e){var t=new Dk.AsyncSubject;return new qk.ConnectableObservable(e,(function(){return t}))}};var Bk={};Object.defineProperty(Bk,"__esModule",{value:!0}),Bk.publishReplay=void 0;var Uk=qh,zk=mk,Gk=gp;Bk.publishReplay=function(e,t,n,r){n&&!Gk.isFunction(n)&&(r=n);var o=Gk.isFunction(n)?n:void 0;return function(n){return zk.multicast(new Uk.ReplaySubject(e,t,r),o)(n)}};var Hk={},Wk=L&&L.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},$k=L&&L.__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(Hk,"__esModule",{value:!0}),Hk.raceWith=void 0;var Vk=pb,Jk=nh,Yk=zp;Hk.raceWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return e.length?Jk.operate((function(t,n){Vk.raceInit($k([t],Wk(e)))(n)})):Yk.identity};var Kk={};Object.defineProperty(Kk,"__esModule",{value:!0}),Kk.repeat=void 0;var Zk=qm,Xk=nh,Qk=ah,eA=Km,tA=F_;Kk.repeat=function(e){var t,n,r=Infinity;return null!=e&&("object"===Y(e)?(r=void 0===(t=e.count)?Infinity:t,n=e.delay):r=e),r<=0?function(){return Zk.EMPTY}:Xk.operate((function(e,t){var o,a=0,i=function(){if(null==o||o.unsubscribe(),o=null,null!=n){var e="number"==typeof n?tA.timer(n):eA.innerFrom(n(a)),r=Qk.createOperatorSubscriber(t,(function(){r.unsubscribe(),s()}));e.subscribe(r)}else s()},s=function(){var n=!1;o=e.subscribe(Qk.createOperatorSubscriber(t,void 0,(function(){++a<r?o?i():n=!0:t.complete()}))),n&&i()};s()}))};var nA={};Object.defineProperty(nA,"__esModule",{value:!0}),nA.repeatWhen=void 0;var rA=Km,oA=kh,aA=nh,iA=ah;nA.repeatWhen=function(e){return aA.operate((function(t,n){var r,o,a=!1,i=!1,s=!1,l=function(){return s&&i&&(n.complete(),!0)},c=function(){return o||(o=new oA.Subject,rA.innerFrom(e(o)).subscribe(iA.createOperatorSubscriber(n,(function(){r?u():a=!0}),(function(){i=!0,l()})))),o},u=function e(){s=!1,r=t.subscribe(iA.createOperatorSubscriber(n,void 0,(function(){s=!0,!l()&&c().next()}))),a&&(r.unsubscribe(),r=null,a=!1,e())};u()}))};var sA={};Object.defineProperty(sA,"__esModule",{value:!0}),sA.retry=void 0;var lA=nh,cA=ah,uA=zp,fA=F_,dA=Km;sA.retry=function(e){var t;void 0===e&&(e=Infinity);var n=(t=e&&"object"===Y(e)?e:{count:e}).count,r=void 0===n?Infinity:n,o=t.delay,a=t.resetOnSuccess,i=void 0!==a&&a;return r<=0?uA.identity:lA.operate((function(e,t){var n,a=0;!function s(){var l=!1;n=e.subscribe(cA.createOperatorSubscriber(t,(function(e){i&&(a=0),t.next(e)}),void 0,(function(e){if(a++<r){var i=function(){n?(n.unsubscribe(),n=null,s()):l=!0};if(null!=o){var c="number"==typeof o?fA.timer(o):dA.innerFrom(o(e,a)),u=cA.createOperatorSubscriber(t,(function(){u.unsubscribe(),i()}),(function(){t.complete()}));c.subscribe(u)}else i()}else t.error(e)}))),l&&(n.unsubscribe(),n=null,s())}()}))};var pA={};Object.defineProperty(pA,"__esModule",{value:!0}),pA.retryWhen=void 0;var hA=Km,mA=kh,gA=nh,yA=ah;pA.retryWhen=function(e){return gA.operate((function(t,n){var r,o,a=!1;!function i(){r=t.subscribe(yA.createOperatorSubscriber(n,void 0,void 0,(function(t){o||(o=new mA.Subject,hA.innerFrom(e(o)).subscribe(yA.createOperatorSubscriber(n,(function(){return r?i():a=!0})))),o&&o.next(t)}))),a&&(r.unsubscribe(),r=null,a=!1,i())}()}))};var vA={};Object.defineProperty(vA,"__esModule",{value:!0}),vA.sample=void 0;var _A=Km,bA=nh,wA=Mp,SA=ah;vA.sample=function(e){return bA.operate((function(t,n){var r=!1,o=null;t.subscribe(SA.createOperatorSubscriber(n,(function(e){r=!0,o=e}))),_A.innerFrom(e).subscribe(SA.createOperatorSubscriber(n,(function(){if(r){r=!1;var e=o;o=null,n.next(e)}}),wA.noop))}))};var xA={};Object.defineProperty(xA,"__esModule",{value:!0}),xA.sampleTime=void 0;var EA=_m,kA=vA,AA=M_;xA.sampleTime=function(e,t){return void 0===t&&(t=EA.asyncScheduler),kA.sample(AA.interval(e,t))};var OA={};Object.defineProperty(OA,"__esModule",{value:!0}),OA.scan=void 0;var CA=nh,NA=Tw;OA.scan=function(e,t){return CA.operate(NA.scanInternals(e,t,arguments.length>=2,!0))};var RA={};Object.defineProperty(RA,"__esModule",{value:!0}),RA.sequenceEqual=void 0;var TA=nh,IA=ah,PA=Km;RA.sequenceEqual=function(e,t){return void 0===t&&(t=function(e,t){return e===t}),TA.operate((function(n,r){var o={buffer:[],complete:!1},a={buffer:[],complete:!1},i=function(e){r.next(e),r.complete()},s=function(e,n){var o=IA.createOperatorSubscriber(r,(function(r){var o=n.buffer;0===o.length?n.complete?i(!1):e.buffer.push(r):!t(r,o.shift())&&i(!1)}),(function(){e.complete=!0,n.complete&&i(0===n.buffer.length),null==o||o.unsubscribe()}));return o};n.subscribe(s(o,a)),PA.innerFrom(e).subscribe(s(a,o))}))};var MA={},FA=L&&L.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},jA=L&&L.__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(MA,"__esModule",{value:!0}),MA.share=void 0;var LA=Km,DA=kh,qA=mp,BA=nh;function UA(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 qA.SafeSubscriber({next:function(){o.unsubscribe(),e()}});return LA.innerFrom(t.apply(void 0,jA([],FA(n)))).subscribe(o)}}else e()}MA.share=function(e){void 0===e&&(e={});var t=e.connector,n=void 0===t?function(){return new DA.Subject}:t,r=e.resetOnError,o=void 0===r||r,a=e.resetOnComplete,i=void 0===a||a,s=e.resetOnRefCountZero,l=void 0===s||s;return function(e){var t,r,a,s=0,c=!1,u=!1,f=function(){null==r||r.unsubscribe(),r=void 0},d=function(){f(),t=a=void 0,c=u=!1},p=function(){var e=t;d(),null==e||e.unsubscribe()};return BA.operate((function(e,h){s++,u||c||f();var m=a=null!=a?a:n();h.add((function(){0!=--s||u||c||(r=UA(p,l))})),m.subscribe(h),!t&&s>0&&(t=new qA.SafeSubscriber({next:function(e){return m.next(e)},error:function(e){u=!0,f(),r=UA(d,o,e),m.error(e)},complete:function(){c=!0,f(),r=UA(d,i),m.complete()}}),LA.innerFrom(e).subscribe(t))}))(e)}};var zA={};Object.defineProperty(zA,"__esModule",{value:!0}),zA.shareReplay=void 0;var GA=qh,HA=MA;zA.shareReplay=function(e,t,n){var r,o,a,i,s=!1;return e&&"object"===Y(e)?(i=void 0===(r=e.bufferSize)?Infinity:r,t=void 0===(o=e.windowTime)?Infinity:o,s=void 0!==(a=e.refCount)&&a,n=e.scheduler):i=null!=e?e:Infinity,HA.share({connector:function(){return new GA.ReplaySubject(i,t,n)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:s})};var WA={};Object.defineProperty(WA,"__esModule",{value:!0}),WA.single=void 0;var $A=My,VA=Uy,JA=By,YA=nh,KA=ah;WA.single=function(e){return YA.operate((function(t,n){var r,o=!1,a=!1,i=0;t.subscribe(KA.createOperatorSubscriber(n,(function(s){a=!0,e&&!e(s,i++,t)||(o&&n.error(new VA.SequenceError("Too many matching values")),o=!0,r=s)}),(function(){o?(n.next(r),n.complete()):n.error(a?new JA.NotFoundError("No matching values"):new $A.EmptyError)})))}))};var ZA={};Object.defineProperty(ZA,"__esModule",{value:!0}),ZA.skip=void 0;var XA=sb;ZA.skip=function(e){return XA.filter((function(t,n){return e<=n}))};var QA={};Object.defineProperty(QA,"__esModule",{value:!0}),QA.skipLast=void 0;var eO=zp,tO=nh,nO=ah;QA.skipLast=function(e){return e<=0?eO.identity:tO.operate((function(t,n){var r=new Array(e),o=0;return t.subscribe(nO.createOperatorSubscriber(n,(function(t){var a=o++;if(a<e)r[a]=t;else{var i=a%e,s=r[i];r[i]=t,n.next(s)}}))),function(){r=null}}))};var rO={};Object.defineProperty(rO,"__esModule",{value:!0}),rO.skipUntil=void 0;var oO=nh,aO=ah,iO=Km,sO=Mp;rO.skipUntil=function(e){return oO.operate((function(t,n){var r=!1,o=aO.createOperatorSubscriber(n,(function(){null==o||o.unsubscribe(),r=!0}),sO.noop);iO.innerFrom(e).subscribe(o),t.subscribe(aO.createOperatorSubscriber(n,(function(e){return r&&n.next(e)})))}))};var lO={};Object.defineProperty(lO,"__esModule",{value:!0}),lO.skipWhile=void 0;var cO=nh,uO=ah;lO.skipWhile=function(e){return cO.operate((function(t,n){var r=!1,o=0;t.subscribe(uO.createOperatorSubscriber(n,(function(t){return(r||(r=!e(t,o++)))&&n.next(t)})))}))};var fO={};Object.defineProperty(fO,"__esModule",{value:!0}),fO.startWith=void 0;var dO=Nv,pO=Um,hO=nh;fO.startWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=pO.popScheduler(e);return hO.operate((function(t,r){(n?dO.concat(e,t,n):dO.concat(e,t)).subscribe(r)}))};var mO={},gO={};Object.defineProperty(gO,"__esModule",{value:!0}),gO.switchMap=void 0;var yO=Km,vO=nh,_O=ah;gO.switchMap=function(e,t){return vO.operate((function(n,r){var o=null,a=0,i=!1,s=function(){return i&&!o&&r.complete()};n.subscribe(_O.createOperatorSubscriber(r,(function(n){null==o||o.unsubscribe();var i=0,l=a++;yO.innerFrom(e(n,l)).subscribe(o=_O.createOperatorSubscriber(r,(function(e){return r.next(t?t(n,e,l,i++):e)}),(function(){o=null,s()})))}),(function(){i=!0,s()})))}))},Object.defineProperty(mO,"__esModule",{value:!0}),mO.switchAll=void 0;var bO=gO,wO=zp;mO.switchAll=function(){return bO.switchMap(wO.identity)};var SO={};Object.defineProperty(SO,"__esModule",{value:!0}),SO.switchMapTo=void 0;var xO=gO,EO=gp;SO.switchMapTo=function(e,t){return EO.isFunction(t)?xO.switchMap((function(){return e}),t):xO.switchMap((function(){return e}))};var kO={};Object.defineProperty(kO,"__esModule",{value:!0}),kO.switchScan=void 0;var AO=gO,OO=nh;kO.switchScan=function(e,t){return OO.operate((function(n,r){var o=t;return AO.switchMap((function(t,n){return e(o,t,n)}),(function(e,t){return o=t,t}))(n).subscribe(r),function(){o=null}}))};var CO={};Object.defineProperty(CO,"__esModule",{value:!0}),CO.takeUntil=void 0;var NO=nh,RO=ah,TO=Km,IO=Mp;CO.takeUntil=function(e){return NO.operate((function(t,n){TO.innerFrom(e).subscribe(RO.createOperatorSubscriber(n,(function(){return n.complete()}),IO.noop)),!n.closed&&t.subscribe(n)}))};var PO={};Object.defineProperty(PO,"__esModule",{value:!0}),PO.takeWhile=void 0;var MO=nh,FO=ah;PO.takeWhile=function(e,t){return void 0===t&&(t=!1),MO.operate((function(n,r){var o=0;n.subscribe(FO.createOperatorSubscriber(r,(function(n){var a=e(n,o++);(a||t)&&r.next(n),!a&&r.complete()})))}))};var jO={};Object.defineProperty(jO,"__esModule",{value:!0}),jO.tap=void 0;var LO=gp,DO=nh,qO=ah,BO=zp;jO.tap=function(e,t,n){var r=LO.isFunction(e)||t||n?{next:e,error:t,complete:n}:e;return r?DO.operate((function(e,t){var n;null===(n=r.subscribe)||void 0===n||n.call(r);var o=!0;e.subscribe(qO.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)})))})):BO.identity};var UO={};Object.defineProperty(UO,"__esModule",{value:!0}),UO.throttle=void 0;var zO=nh,GO=ah,HO=Km;UO.throttle=function(e,t){return zO.operate((function(n,r){var o=null!=t?t:{},a=o.leading,i=void 0===a||a,s=o.trailing,l=void 0!==s&&s,c=!1,u=null,f=null,d=!1,p=function(){null==f||f.unsubscribe(),f=null,l&&(g(),d&&r.complete())},h=function(){f=null,d&&r.complete()},m=function(t){return f=HO.innerFrom(e(t)).subscribe(GO.createOperatorSubscriber(r,p,h))},g=function(){if(c){c=!1;var e=u;u=null,r.next(e),!d&&m(e)}};n.subscribe(GO.createOperatorSubscriber(r,(function(e){c=!0,u=e,(!f||f.closed)&&(i?g():m(e))}),(function(){d=!0,(!(l&&c&&f)||f.closed)&&r.complete()})))}))};var WO={};Object.defineProperty(WO,"__esModule",{value:!0}),WO.throttleTime=void 0;var $O=_m,VO=UO,JO=F_;WO.throttleTime=function(e,t,n){void 0===t&&(t=$O.asyncScheduler);var r=JO.timer(e,t);return VO.throttle((function(){return r}),n)};var YO={};Object.defineProperty(YO,"__esModule",{value:!0}),YO.TimeInterval=YO.timeInterval=void 0;var KO=_m,ZO=nh,XO=ah;YO.timeInterval=function(e){return void 0===e&&(e=KO.asyncScheduler),ZO.operate((function(t,n){var r=e.now();t.subscribe(XO.createOperatorSubscriber(n,(function(t){var o=e.now(),a=o-r;r=o,n.next(new QO(t,a))})))}))};var QO=function(){return function(e,t){this.value=e,this.interval=t}}();YO.TimeInterval=QO;var eC={};Object.defineProperty(eC,"__esModule",{value:!0}),eC.timeoutWith=void 0;var tC=_m,nC=Gy,rC=zy;eC.timeoutWith=function(e,t,n){var r,o,a;if(n=null!=n?n:tC.async,nC.isValidDate(e)?r=e:"number"==typeof e&&(o=e),!t)throw new TypeError("No observable provided to switch to");if(a=function(){return t},null==r&&null==o)throw new TypeError("No timeout provided.");return rC.timeout({first:r,each:o,scheduler:n,with:a})};var oC={};Object.defineProperty(oC,"__esModule",{value:!0}),oC.timestamp=void 0;var aC=Bh,iC=Vy;oC.timestamp=function(e){return void 0===e&&(e=aC.dateTimestampProvider),iC.map((function(t){return{value:t,timestamp:e.now()}}))};var sC={};Object.defineProperty(sC,"__esModule",{value:!0}),sC.window=void 0;var lC=kh,cC=nh,uC=ah,fC=Mp,dC=Km;sC.window=function(e){return cC.operate((function(t,n){var r=new lC.Subject;n.next(r.asObservable());var o=function(e){r.error(e),n.error(e)};return t.subscribe(uC.createOperatorSubscriber(n,(function(e){return null==r?void 0:r.next(e)}),(function(){r.complete(),n.complete()}),o)),dC.innerFrom(e).subscribe(uC.createOperatorSubscriber(n,(function(){r.complete(),n.next(r=new lC.Subject)}),fC.noop,o)),function(){null==r||r.unsubscribe(),r=null}}))};var pC={},hC=L&&L.__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(pC,"__esModule",{value:!0}),pC.windowCount=void 0;var mC=kh,gC=nh,yC=ah;pC.windowCount=function(e,t){void 0===t&&(t=0);var n=t>0?t:e;return gC.operate((function(t,r){var o=[new mC.Subject],a=0;r.next(o[0].asObservable()),t.subscribe(yC.createOperatorSubscriber(r,(function(t){var i,s;try{for(var l=hC(o),c=l.next();!c.done;c=l.next())c.value.next(t)}catch(e){i={error:e}}finally{try{c&&!c.done&&(s=l.return)&&s.call(l)}finally{if(i)throw i.error}}var u=a-e+1;if(u>=0&&u%n==0&&o.shift().complete(),++a%n==0){var f=new mC.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 vC={};Object.defineProperty(vC,"__esModule",{value:!0}),vC.windowTime=void 0;var _C=kh,bC=_m,wC=yp,SC=nh,xC=ah,EC=bp,kC=Um,AC=Dg;vC.windowTime=function(e){for(var t,n,r=[],o=1;o<arguments.length;o++)r[o-1]=arguments[o];var a=null!==(t=kC.popScheduler(r))&&void 0!==t?t:bC.asyncScheduler,i=null!==(n=r[0])&&void 0!==n?n:null,s=r[1]||Infinity;return SC.operate((function(t,n){var r=[],o=!1,l=function(e){var t=e.subs;e.window.complete(),t.unsubscribe(),EC.arrRemove(r,e),o&&c()},c=function(){if(r){var t=new wC.Subscription;n.add(t);var o=new _C.Subject,i={window:o,subs:t,seen:0};r.push(i),n.next(o.asObservable()),AC.executeSchedule(t,a,(function(){return l(i)}),e)}};null!==i&&i>=0?AC.executeSchedule(n,a,c,i,!0):o=!0,c();var u=function(e){return r.slice().forEach(e)},f=function(e){u((function(t){return e(t.window)})),e(n),n.unsubscribe()};return t.subscribe(xC.createOperatorSubscriber(n,(function(e){u((function(t){t.window.next(e),s<=++t.seen&&l(t)}))}),(function(){return f((function(e){return e.complete()}))}),(function(e){return f((function(t){return t.error(e)}))}))),function(){r=null}}))};var OC={},CC=L&&L.__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(OC,"__esModule",{value:!0}),OC.windowToggle=void 0;var NC=kh,RC=yp,TC=nh,IC=Km,PC=ah,MC=Mp,FC=bp;OC.windowToggle=function(e,t){return TC.operate((function(n,r){var o=[],a=function(e){for(;0<o.length;)o.shift().error(e);r.error(e)};IC.innerFrom(e).subscribe(PC.createOperatorSubscriber(r,(function(e){var n=new NC.Subject;o.push(n);var i,s=new RC.Subscription;try{i=IC.innerFrom(t(e))}catch(e){return void a(e)}r.next(n.asObservable()),s.add(i.subscribe(PC.createOperatorSubscriber(r,(function(){FC.arrRemove(o,n),n.complete(),s.unsubscribe()}),MC.noop,a)))}),MC.noop)),n.subscribe(PC.createOperatorSubscriber(r,(function(e){var t,n,r=o.slice();try{for(var a=CC(r),i=a.next();!i.done;i=a.next())i.value.next(e)}catch(e){t={error:e}}finally{try{i&&!i.done&&(n=a.return)&&n.call(a)}finally{if(t)throw t.error}}}),(function(){for(;0<o.length;)o.shift().complete();r.complete()}),a,(function(){for(;0<o.length;)o.shift().unsubscribe()})))}))};var jC={};Object.defineProperty(jC,"__esModule",{value:!0}),jC.windowWhen=void 0;var LC=kh,DC=nh,qC=ah,BC=Km;jC.windowWhen=function(e){return DC.operate((function(t,n){var r,o,a=function(e){r.error(e),n.error(e)};!function t(){var i;null==o||o.unsubscribe(),null==r||r.complete(),r=new LC.Subject,n.next(r.asObservable());try{i=BC.innerFrom(e())}catch(e){return void a(e)}i.subscribe(o=qC.createOperatorSubscriber(n,t,t,a))}(),t.subscribe(qC.createOperatorSubscriber(n,(function(e){return r.next(e)}),(function(){r.complete(),n.complete()}),a,(function(){null==o||o.unsubscribe(),r=null})))}))};var UC={},zC=L&&L.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},GC=L&&L.__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(UC,"__esModule",{value:!0}),UC.withLatestFrom=void 0;var HC=nh,WC=ah,$C=Km,VC=zp,JC=Mp,YC=Um;UC.withLatestFrom=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=YC.popResultSelector(e);return HC.operate((function(t,r){for(var o=e.length,a=new Array(o),i=e.map((function(){return!1})),s=!1,l=function(t){$C.innerFrom(e[t]).subscribe(WC.createOperatorSubscriber(r,(function(e){a[t]=e,s||i[t]||(i[t]=!0,(s=i.every(VC.identity))&&(i=null))}),JC.noop))},c=0;c<o;c++)l(c);t.subscribe(WC.createOperatorSubscriber(r,(function(e){if(s){var t=GC([e],zC(a));r.next(n?n.apply(void 0,GC([],zC(t))):t)}})))}))};var KC={};Object.defineProperty(KC,"__esModule",{value:!0}),KC.zipAll=void 0;var ZC=Ab,XC=Cw;KC.zipAll=function(e){return XC.joinAllInternals(ZC.zip,e)};var QC={},eN={},tN=L&&L.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},nN=L&&L.__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(eN,"__esModule",{value:!0}),eN.zip=void 0;var rN=Ab,oN=nh;eN.zip=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return oN.operate((function(t,n){rN.zip.apply(void 0,nN([t],tN(e))).subscribe(n)}))};var aN=L&&L.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},iN=L&&L.__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(QC,"__esModule",{value:!0}),QC.zipWith=void 0;var sN=eN;QC.zipWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return sN.zip.apply(void 0,iN([],aN(e)))},function(e){var t=L&&L.__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=L&&L.__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=hp;Object.defineProperty(e,"Observable",{enumerable:!0,get:function(){return r.Observable}});var o=eh;Object.defineProperty(e,"ConnectableObservable",{enumerable:!0,get:function(){return o.ConnectableObservable}});var a=Bp;Object.defineProperty(e,"observable",{enumerable:!0,get:function(){return a.observable}});var i=yh;Object.defineProperty(e,"animationFrames",{enumerable:!0,get:function(){return i.animationFrames}});var s=kh;Object.defineProperty(e,"Subject",{enumerable:!0,get:function(){return s.Subject}});var l=jh;Object.defineProperty(e,"BehaviorSubject",{enumerable:!0,get:function(){return l.BehaviorSubject}});var c=qh;Object.defineProperty(e,"ReplaySubject",{enumerable:!0,get:function(){return c.ReplaySubject}});var u=Hh;Object.defineProperty(e,"AsyncSubject",{enumerable:!0,get:function(){return u.AsyncSubject}});var f=Vh;Object.defineProperty(e,"asap",{enumerable:!0,get:function(){return f.asap}}),Object.defineProperty(e,"asapScheduler",{enumerable:!0,get:function(){return f.asapScheduler}});var d=_m;Object.defineProperty(e,"async",{enumerable:!0,get:function(){return d.async}}),Object.defineProperty(e,"asyncScheduler",{enumerable:!0,get:function(){return d.asyncScheduler}});var p=bm;Object.defineProperty(e,"queue",{enumerable:!0,get:function(){return p.queue}}),Object.defineProperty(e,"queueScheduler",{enumerable:!0,get:function(){return p.queueScheduler}});var h=Am;Object.defineProperty(e,"animationFrame",{enumerable:!0,get:function(){return h.animationFrame}}),Object.defineProperty(e,"animationFrameScheduler",{enumerable:!0,get:function(){return h.animationFrameScheduler}});var m=Pm;Object.defineProperty(e,"VirtualTimeScheduler",{enumerable:!0,get:function(){return m.VirtualTimeScheduler}}),Object.defineProperty(e,"VirtualAction",{enumerable:!0,get:function(){return m.VirtualAction}});var g=pm;Object.defineProperty(e,"Scheduler",{enumerable:!0,get:function(){return g.Scheduler}});var y=yp;Object.defineProperty(e,"Subscription",{enumerable:!0,get:function(){return y.Subscription}});var v=mp;Object.defineProperty(e,"Subscriber",{enumerable:!0,get:function(){return v.Subscriber}});var _=Dm;Object.defineProperty(e,"Notification",{enumerable:!0,get:function(){return _.Notification}}),Object.defineProperty(e,"NotificationKind",{enumerable:!0,get:function(){return _.NotificationKind}});var b=Up;Object.defineProperty(e,"pipe",{enumerable:!0,get:function(){return b.pipe}});var w=Mp;Object.defineProperty(e,"noop",{enumerable:!0,get:function(){return w.noop}});var S=zp;Object.defineProperty(e,"identity",{enumerable:!0,get:function(){return S.identity}});var x=Ry;Object.defineProperty(e,"isObservable",{enumerable:!0,get:function(){return x.isObservable}});var E=Py;Object.defineProperty(e,"lastValueFrom",{enumerable:!0,get:function(){return E.lastValueFrom}});var k=jy;Object.defineProperty(e,"firstValueFrom",{enumerable:!0,get:function(){return k.firstValueFrom}});var A=qy;Object.defineProperty(e,"ArgumentOutOfRangeError",{enumerable:!0,get:function(){return A.ArgumentOutOfRangeError}});var O=My;Object.defineProperty(e,"EmptyError",{enumerable:!0,get:function(){return O.EmptyError}});var C=By;Object.defineProperty(e,"NotFoundError",{enumerable:!0,get:function(){return C.NotFoundError}});var N=Ah;Object.defineProperty(e,"ObjectUnsubscribedError",{enumerable:!0,get:function(){return N.ObjectUnsubscribedError}});var R=Uy;Object.defineProperty(e,"SequenceError",{enumerable:!0,get:function(){return R.SequenceError}});var T=zy;Object.defineProperty(e,"TimeoutError",{enumerable:!0,get:function(){return T.TimeoutError}});var I=vp;Object.defineProperty(e,"UnsubscriptionError",{enumerable:!0,get:function(){return I.UnsubscriptionError}});var P=Hy;Object.defineProperty(e,"bindCallback",{enumerable:!0,get:function(){return P.bindCallback}});var M=cv;Object.defineProperty(e,"bindNodeCallback",{enumerable:!0,get:function(){return M.bindNodeCallback}});var F=fv;Object.defineProperty(e,"combineLatest",{enumerable:!0,get:function(){return F.combineLatest}});var j=Nv;Object.defineProperty(e,"concat",{enumerable:!0,get:function(){return j.concat}});var D=Jv;Object.defineProperty(e,"connectable",{enumerable:!0,get:function(){return D.connectable}});var q=Yv;Object.defineProperty(e,"defer",{enumerable:!0,get:function(){return q.defer}});var B=qm;Object.defineProperty(e,"empty",{enumerable:!0,get:function(){return B.empty}});var U=n_;Object.defineProperty(e,"forkJoin",{enumerable:!0,get:function(){return U.forkJoin}});var z=Vm;Object.defineProperty(e,"from",{enumerable:!0,get:function(){return z.from}});var G=u_;Object.defineProperty(e,"fromEvent",{enumerable:!0,get:function(){return G.fromEvent}});var H=S_;Object.defineProperty(e,"fromEventPattern",{enumerable:!0,get:function(){return H.fromEventPattern}});var W=A_;Object.defineProperty(e,"generate",{enumerable:!0,get:function(){return W.generate}});var $=I_;Object.defineProperty(e,"iif",{enumerable:!0,get:function(){return $.iif}});var V=M_;Object.defineProperty(e,"interval",{enumerable:!0,get:function(){return V.interval}});var J=z_;Object.defineProperty(e,"merge",{enumerable:!0,get:function(){return J.merge}});var Y=J_;Object.defineProperty(e,"never",{enumerable:!0,get:function(){return Y.never}});var K=Bm;Object.defineProperty(e,"of",{enumerable:!0,get:function(){return K.of}});var Z=Y_;Object.defineProperty(e,"onErrorResumeNext",{enumerable:!0,get:function(){return Z.onErrorResumeNext}});var X=rb;Object.defineProperty(e,"pairs",{enumerable:!0,get:function(){return X.pairs}});var Q=ab;Object.defineProperty(e,"partition",{enumerable:!0,get:function(){return Q.partition}});var ee=pb;Object.defineProperty(e,"race",{enumerable:!0,get:function(){return ee.race}});var te=_b;Object.defineProperty(e,"range",{enumerable:!0,get:function(){return te.range}});var ne=Oy;Object.defineProperty(e,"throwError",{enumerable:!0,get:function(){return ne.throwError}});var re=F_;Object.defineProperty(e,"timer",{enumerable:!0,get:function(){return re.timer}});var oe=Sb;Object.defineProperty(e,"using",{enumerable:!0,get:function(){return oe.using}});var ae=Ab;Object.defineProperty(e,"zip",{enumerable:!0,get:function(){return ae.zip}});var ie=Jm;Object.defineProperty(e,"scheduled",{enumerable:!0,get:function(){return ie.scheduled}});var se=qm;Object.defineProperty(e,"EMPTY",{enumerable:!0,get:function(){return se.EMPTY}});var le=J_;Object.defineProperty(e,"NEVER",{enumerable:!0,get:function(){return le.NEVER}}),n(Fb,e);var ce=Np;Object.defineProperty(e,"config",{enumerable:!0,get:function(){return ce.config}});var ue=jb;Object.defineProperty(e,"audit",{enumerable:!0,get:function(){return ue.audit}});var fe=Bb;Object.defineProperty(e,"auditTime",{enumerable:!0,get:function(){return fe.auditTime}});var de=Hb;Object.defineProperty(e,"buffer",{enumerable:!0,get:function(){return de.buffer}});var pe=Yb;Object.defineProperty(e,"bufferCount",{enumerable:!0,get:function(){return pe.bufferCount}});var he=ew;Object.defineProperty(e,"bufferTime",{enumerable:!0,get:function(){return he.bufferTime}});var me=cw;Object.defineProperty(e,"bufferToggle",{enumerable:!0,get:function(){return me.bufferToggle}});var ge=yw;Object.defineProperty(e,"bufferWhen",{enumerable:!0,get:function(){return ge.bufferWhen}});var ye=Sw;Object.defineProperty(e,"catchError",{enumerable:!0,get:function(){return ye.catchError}});var ve=Aw;Object.defineProperty(e,"combineAll",{enumerable:!0,get:function(){return ve.combineAll}});var _e=Ow;Object.defineProperty(e,"combineLatestAll",{enumerable:!0,get:function(){return _e.combineLatestAll}});var be=Ww;Object.defineProperty(e,"combineLatestWith",{enumerable:!0,get:function(){return be.combineLatestWith}});var we=Rv;Object.defineProperty(e,"concatAll",{enumerable:!0,get:function(){return we.concatAll}});var Se=oS;Object.defineProperty(e,"concatMap",{enumerable:!0,get:function(){return Se.concatMap}});var xe=sS;Object.defineProperty(e,"concatMapTo",{enumerable:!0,get:function(){return xe.concatMapTo}});var Ee=uS;Object.defineProperty(e,"concatWith",{enumerable:!0,get:function(){return Ee.concatWith}});var ke=wS;Object.defineProperty(e,"connect",{enumerable:!0,get:function(){return ke.connect}});var Ae=NS;Object.defineProperty(e,"count",{enumerable:!0,get:function(){return Ae.count}});var Oe=TS;Object.defineProperty(e,"debounce",{enumerable:!0,get:function(){return Oe.debounce}});var Ce=jS;Object.defineProperty(e,"debounceTime",{enumerable:!0,get:function(){return Ce.debounceTime}});var Ne=BS;Object.defineProperty(e,"defaultIfEmpty",{enumerable:!0,get:function(){return Ne.defaultIfEmpty}});var Re=GS;Object.defineProperty(e,"delay",{enumerable:!0,get:function(){return Re.delay}});var Te=HS;Object.defineProperty(e,"delayWhen",{enumerable:!0,get:function(){return Te.delayWhen}});var Ie=ux;Object.defineProperty(e,"dematerialize",{enumerable:!0,get:function(){return Ie.dematerialize}});var Pe=hx;Object.defineProperty(e,"distinct",{enumerable:!0,get:function(){return Pe.distinct}});var Me=_x;Object.defineProperty(e,"distinctUntilChanged",{enumerable:!0,get:function(){return Me.distinctUntilChanged}});var Fe=Ex;Object.defineProperty(e,"distinctUntilKeyChanged",{enumerable:!0,get:function(){return Fe.distinctUntilKeyChanged}});var je=Ax;Object.defineProperty(e,"elementAt",{enumerable:!0,get:function(){return je.elementAt}});var Le=Lx;Object.defineProperty(e,"endWith",{enumerable:!0,get:function(){return Le.endWith}});var De=zx;Object.defineProperty(e,"every",{enumerable:!0,get:function(){return De.every}});var qe=Wx;Object.defineProperty(e,"exhaust",{enumerable:!0,get:function(){return qe.exhaust}});var Be=$x;Object.defineProperty(e,"exhaustAll",{enumerable:!0,get:function(){return Be.exhaustAll}});var Ue=Vx;Object.defineProperty(e,"exhaustMap",{enumerable:!0,get:function(){return Ue.exhaustMap}});var ze=eE;Object.defineProperty(e,"expand",{enumerable:!0,get:function(){return ze.expand}});var Ge=sb;Object.defineProperty(e,"filter",{enumerable:!0,get:function(){return Ge.filter}});var He=rE;Object.defineProperty(e,"finalize",{enumerable:!0,get:function(){return He.finalize}});var We=aE;Object.defineProperty(e,"find",{enumerable:!0,get:function(){return We.find}});var $e=cE;Object.defineProperty(e,"findIndex",{enumerable:!0,get:function(){return $e.findIndex}});var Ve=dE;Object.defineProperty(e,"first",{enumerable:!0,get:function(){return Ve.first}});var Je=_E;Object.defineProperty(e,"groupBy",{enumerable:!0,get:function(){return Je.groupBy}});var Ye=YS;Object.defineProperty(e,"ignoreElements",{enumerable:!0,get:function(){return Ye.ignoreElements}});var Ke=kE;Object.defineProperty(e,"isEmpty",{enumerable:!0,get:function(){return Ke.isEmpty}});var Ze=CE;Object.defineProperty(e,"last",{enumerable:!0,get:function(){return Ze.last}});var Xe=Vy;Object.defineProperty(e,"map",{enumerable:!0,get:function(){return Xe.map}});var Qe=QS;Object.defineProperty(e,"mapTo",{enumerable:!0,get:function(){return Qe.mapTo}});var et=BE;Object.defineProperty(e,"materialize",{enumerable:!0,get:function(){return et.materialize}});var tt=HE;Object.defineProperty(e,"max",{enumerable:!0,get:function(){return tt.max}});var nt=Tv;Object.defineProperty(e,"mergeAll",{enumerable:!0,get:function(){return nt.mergeAll}});var rt=VE;Object.defineProperty(e,"flatMap",{enumerable:!0,get:function(){return rt.flatMap}});var ot=Iv;Object.defineProperty(e,"mergeMap",{enumerable:!0,get:function(){return ot.mergeMap}});var at=JE;Object.defineProperty(e,"mergeMapTo",{enumerable:!0,get:function(){return at.mergeMapTo}});var it=ZE;Object.defineProperty(e,"mergeScan",{enumerable:!0,get:function(){return it.mergeScan}});var st=ek;Object.defineProperty(e,"mergeWith",{enumerable:!0,get:function(){return st.mergeWith}});var lt=dk;Object.defineProperty(e,"min",{enumerable:!0,get:function(){return lt.min}});var ct=mk;Object.defineProperty(e,"multicast",{enumerable:!0,get:function(){return ct.multicast}});var ut=Lg;Object.defineProperty(e,"observeOn",{enumerable:!0,get:function(){return ut.observeOn}});var ft=_k;Object.defineProperty(e,"onErrorResumeNextWith",{enumerable:!0,get:function(){return ft.onErrorResumeNextWith}});var dt=kk;Object.defineProperty(e,"pairwise",{enumerable:!0,get:function(){return dt.pairwise}});var pt=Ck;Object.defineProperty(e,"pluck",{enumerable:!0,get:function(){return pt.pluck}});var ht=Rk;Object.defineProperty(e,"publish",{enumerable:!0,get:function(){return ht.publish}});var mt=Mk;Object.defineProperty(e,"publishBehavior",{enumerable:!0,get:function(){return mt.publishBehavior}});var gt=Lk;Object.defineProperty(e,"publishLast",{enumerable:!0,get:function(){return gt.publishLast}});var yt=Bk;Object.defineProperty(e,"publishReplay",{enumerable:!0,get:function(){return yt.publishReplay}});var vt=Hk;Object.defineProperty(e,"raceWith",{enumerable:!0,get:function(){return vt.raceWith}});var _t=Rw;Object.defineProperty(e,"reduce",{enumerable:!0,get:function(){return _t.reduce}});var bt=Kk;Object.defineProperty(e,"repeat",{enumerable:!0,get:function(){return bt.repeat}});var wt=nA;Object.defineProperty(e,"repeatWhen",{enumerable:!0,get:function(){return wt.repeatWhen}});var St=sA;Object.defineProperty(e,"retry",{enumerable:!0,get:function(){return St.retry}});var xt=pA;Object.defineProperty(e,"retryWhen",{enumerable:!0,get:function(){return xt.retryWhen}});var Et=th;Object.defineProperty(e,"refCount",{enumerable:!0,get:function(){return Et.refCount}});var kt=vA;Object.defineProperty(e,"sample",{enumerable:!0,get:function(){return kt.sample}});var At=xA;Object.defineProperty(e,"sampleTime",{enumerable:!0,get:function(){return At.sampleTime}});var Ot=OA;Object.defineProperty(e,"scan",{enumerable:!0,get:function(){return Ot.scan}});var Ct=RA;Object.defineProperty(e,"sequenceEqual",{enumerable:!0,get:function(){return Ct.sequenceEqual}});var Nt=MA;Object.defineProperty(e,"share",{enumerable:!0,get:function(){return Nt.share}});var Rt=zA;Object.defineProperty(e,"shareReplay",{enumerable:!0,get:function(){return Rt.shareReplay}});var Tt=WA;Object.defineProperty(e,"single",{enumerable:!0,get:function(){return Tt.single}});var It=ZA;Object.defineProperty(e,"skip",{enumerable:!0,get:function(){return It.skip}});var Pt=QA;Object.defineProperty(e,"skipLast",{enumerable:!0,get:function(){return Pt.skipLast}});var Mt=rO;Object.defineProperty(e,"skipUntil",{enumerable:!0,get:function(){return Mt.skipUntil}});var Ft=lO;Object.defineProperty(e,"skipWhile",{enumerable:!0,get:function(){return Ft.skipWhile}});var jt=fO;Object.defineProperty(e,"startWith",{enumerable:!0,get:function(){return jt.startWith}});var Lt=zg;Object.defineProperty(e,"subscribeOn",{enumerable:!0,get:function(){return Lt.subscribeOn}});var Dt=mO;Object.defineProperty(e,"switchAll",{enumerable:!0,get:function(){return Dt.switchAll}});var qt=gO;Object.defineProperty(e,"switchMap",{enumerable:!0,get:function(){return qt.switchMap}});var Bt=SO;Object.defineProperty(e,"switchMapTo",{enumerable:!0,get:function(){return Bt.switchMapTo}});var Ut=kO;Object.defineProperty(e,"switchScan",{enumerable:!0,get:function(){return Ut.switchScan}});var zt=WS;Object.defineProperty(e,"take",{enumerable:!0,get:function(){return zt.take}});var Gt=NE;Object.defineProperty(e,"takeLast",{enumerable:!0,get:function(){return Gt.takeLast}});var Ht=CO;Object.defineProperty(e,"takeUntil",{enumerable:!0,get:function(){return Ht.takeUntil}});var Wt=PO;Object.defineProperty(e,"takeWhile",{enumerable:!0,get:function(){return Wt.takeWhile}});var $t=jO;Object.defineProperty(e,"tap",{enumerable:!0,get:function(){return $t.tap}});var Vt=UO;Object.defineProperty(e,"throttle",{enumerable:!0,get:function(){return Vt.throttle}});var Jt=WO;Object.defineProperty(e,"throttleTime",{enumerable:!0,get:function(){return Jt.throttleTime}});var Yt=Ox;Object.defineProperty(e,"throwIfEmpty",{enumerable:!0,get:function(){return Yt.throwIfEmpty}});var Kt=YO;Object.defineProperty(e,"timeInterval",{enumerable:!0,get:function(){return Kt.timeInterval}});var Zt=zy;Object.defineProperty(e,"timeout",{enumerable:!0,get:function(){return Zt.timeout}});var Xt=eC;Object.defineProperty(e,"timeoutWith",{enumerable:!0,get:function(){return Xt.timeoutWith}});var Qt=oC;Object.defineProperty(e,"timestamp",{enumerable:!0,get:function(){return Qt.timestamp}});var en=Nw;Object.defineProperty(e,"toArray",{enumerable:!0,get:function(){return en.toArray}});var tn=sC;Object.defineProperty(e,"window",{enumerable:!0,get:function(){return tn.window}});var nn=pC;Object.defineProperty(e,"windowCount",{enumerable:!0,get:function(){return nn.windowCount}});var rn=vC;Object.defineProperty(e,"windowTime",{enumerable:!0,get:function(){return rn.windowTime}});var on=OC;Object.defineProperty(e,"windowToggle",{enumerable:!0,get:function(){return on.windowToggle}});var an=jC;Object.defineProperty(e,"windowWhen",{enumerable:!0,get:function(){return an.windowWhen}});var sn=UC;Object.defineProperty(e,"withLatestFrom",{enumerable:!0,get:function(){return sn.withLatestFrom}});var ln=KC;Object.defineProperty(e,"zipAll",{enumerable:!0,get:function(){return ln.zipAll}});var cn=QC;Object.defineProperty(e,"zipWith",{enumerable:!0,get:function(){return cn.zipWith}})}(pp),Object.defineProperty(dp,"__esModule",{value:!0});var lN=dp.checkAbortSignal=dN;dp.abortBreakPoint=function(e){return hN.apply(this,arguments)},dp.makeAbortError=mN,dp.observeAbortSignal=function(e){return e?(0,uN.fromEvent)(e,"abort"):new uN.Observable};var cN=dp.isAbortException=function(e){return e instanceof Error&&("AbortError"===e.name||"ERR_ABORTED"===e.code||!!/\b(aborted|aborterror)\b/i.test(e.message))},uN=pp,fN=function(e){ne(n,e);var t=ce(n);function n(){return X(this,n),t.apply(this,arguments)}return ee(n)}(se(Error));function dN(e){if(e){if(!(e instanceof AbortSignal))throw new TypeError("must pass an AbortSignal");if(e.aborted)throw mN()}}function pN(e){return new Promise((function(t){return setTimeout(t,e)}))}function hN(){return(hN=Z(J().mark((function e(t){return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,pN(1);case 2:dN(t);case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function mN(){if("undefined"!=typeof DOMException)return new DOMException("aborted","AbortError");var e=new fN("aborted");return e.code="ERR_ABORTED",e}var gN={exports:{}};!function(e,t){var n;n=function(){return function e(t,n,r){function o(i,s){if(!n[i]){if(!t[i]){if(!s&&q)return q(i);if(a)return a(i,!0);var l=new Error("Cannot find module '"+i+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[i]={exports:{}};t[i][0].call(c.exports,(function(e){return o(t[i][1][e]||e)}),c,c.exports,e,t,n,r)}return n[i].exports}for(var a=q,i=0;i<r.length;i++)o(r[i]);return o}({"./aesprim":[function(e,t,n){var r;r=function(e){var t,n,r,o,a,i,s,l,c,u,f,d,p,h,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 E(e){return 10===e||13===e||8232===e||8233===e}function k(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 O(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 C(e){return"eval"===e||"arguments"===e}function N(e,t,n,r,o){var a;_("number"==typeof n,"Comment must have valid position"),y.lastCommentStart>=n||(y.lastCommentStart=n,a={type:e,value:t},v.range&&(a.range=[n,r]),v.loc&&(a.loc=o),v.comments.push(a),v.attachComment&&(v.leadingComments.push(a),v.trailingComments.push(a)))}function R(e){var t,n,r,o;for(t=f-e,n={start:{line:d,column:f-p-e}};f<h;)if(r=c.charCodeAt(f),++f,E(r))return v.comments&&(o=c.slice(t+e,f-1),n.end={line:d,column:f-p-1},N("Line",o,t,f-1,n)),13===r&&10===c.charCodeAt(f)&&++f,++d,void(p=f);v.comments&&(o=c.slice(t+e,f),n.end={line:d,column:f-p},N("Line",o,t,f,n))}function T(){var e,t,n,r;for(v.comments&&(e=f-2,t={start:{line:d,column:f-p-2}});f<h;)if(E(n=c.charCodeAt(f)))13===n&&10===c.charCodeAt(f+1)&&++f,++d,++f,p=f,f>=h&&$({},i.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-p},N("Block",r,e,f,t)));++f}else++f;$({},i.UnexpectedToken,"ILLEGAL")}function I(){var e,t;for(t=0===f;f<h;)if(x(e=c.charCodeAt(f)))++f;else if(E(e))++f,13===e&&10===c.charCodeAt(f)&&++f,++d,p=f,t=!0;else if(47===e)if(47===(e=c.charCodeAt(f+1)))++f,++f,R(2),t=!0;else{if(42!==e)break;++f,++f,T()}else if(t&&45===e){if(45!==c.charCodeAt(f+1)||62!==c.charCodeAt(f+2))break;f+=3,R(3)}else{if(60!==e)break;if("!--"!==c.slice(f+1,f+4))break;++f,++f,++f,++f,R(4)}}function P(e){var t,n,r,o=0;for(n="u"===e?4:2,t=0;t<n;++t){if(!(f<h&&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)&&$({},i.UnexpectedToken,"ILLEGAL"),++f,(e=P("u"))&&"\\"!==e&&k(e.charCodeAt(0))||$({},i.UnexpectedToken,"ILLEGAL"),t=e);f<h&&A(e=c.charCodeAt(f));)++f,t+=String.fromCharCode(e),92===e&&(t=t.substr(0,t.length-1),117!==c.charCodeAt(f)&&$({},i.UnexpectedToken,"ILLEGAL"),++f,(e=P("u"))&&"\\"!==e&&A(e.charCodeAt(0))||$({},i.UnexpectedToken,"ILLEGAL"),t+=e);return t}function F(){var e,n,r,o,a=f,s=c.charCodeAt(f),l=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:p,start:a,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:p,start:a,end:f};case 33:case 61:return 61===c.charCodeAt(f+=2)&&++f,{type:t.Punctuator,value:c.slice(a,f),lineNumber:d,lineStart:p,start:a,end:f}}}return">>>="===(o=c.substr(f,4))?{type:t.Punctuator,value:o,lineNumber:d,lineStart:p,start:a,end:f+=4}:">>>"===(r=o.substr(0,3))||"<<="===r||">>="===r?{type:t.Punctuator,value:r,lineNumber:d,lineStart:p,start:a,end:f+=3}:l===(n=r.substr(0,2))[1]&&"+-<>&|".indexOf(l)>=0||"=>"===n?{type:t.Punctuator,value:n,lineNumber:d,lineStart:p,start:a,end:f+=2}:"<>=!+-*%&|^/".indexOf(l)>=0?(++f,{type:t.Punctuator,value:l,lineNumber:d,lineStart:p,start:a,end:f}):void $({},i.UnexpectedToken,"ILLEGAL")}function j(){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<h&&w(c[f]);)n+=c[f++];return 0===n.length&&$({},i.UnexpectedToken,"ILLEGAL"),k(c.charCodeAt(f))&&$({},i.UnexpectedToken,"ILLEGAL"),{type:t.NumericLiteral,value:parseInt("0x"+n,16),lineNumber:d,lineStart:p,start:e,end:f}}(n);if(S(r))return function(e){for(var n="0"+c[f++];f<h&&S(c[f]);)n+=c[f++];return(k(c.charCodeAt(f))||b(c.charCodeAt(f)))&&$({},i.UnexpectedToken,"ILLEGAL"),{type:t.NumericLiteral,value:parseInt(n,8),octal:!0,lineNumber:d,lineStart:p,start:e,end:f}}(n);r&&b(r.charCodeAt(0))&&$({},i.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 $({},i.UnexpectedToken,"ILLEGAL");return k(c.charCodeAt(f))&&$({},i.UnexpectedToken,"ILLEGAL"),{type:t.NumericLiteral,value:parseFloat(e),lineNumber:d,lineStart:p,start:n,end:f}}function L(){var e,n,r,o;return g=null,I(),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<h;)if(t+=e=c[f++],"\\"===e)E((e=c[f++]).charCodeAt(0))&&$({},i.UnterminatedRegExp),t+=e;else if(E(e.charCodeAt(0)))$({},i.UnterminatedRegExp);else if(n)"]"===e&&(n=!1);else{if("/"===e){r=!0;break}"["===e&&(n=!0)}return r||$({},i.UnterminatedRegExp),{value:t.substr(1,t.length-2),literal:t}}(),r=function(){var e,t,n,r;for(t="",n="";f<h&&A((e=c[f]).charCodeAt(0));)if(++f,"\\"===e&&f<h)if("u"===(e=c[f])){if(r=++f,e=P("u"))for(n+=e,t+="\\u";r<f;++r)t+=c[r];else f=r,n+="u",t+="\\u";V({},i.UnexpectedToken,"ILLEGAL")}else t+="\\",V({},i.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){$({},i.InvalidRegExp)}return n}(n.value,r.value),v.tokenize?{type:t.RegularExpression,value:o,lineNumber:d,lineStart:p,start:e,end:f}:{literal:n.literal+r.literal,value:o,start:e,end:f}}function D(){var e,t,n,r;return I(),e=f,t={start:{line:d,column:f-p}},n=L(),t.end={line:d,column:f-p},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 I(),f>=h?{type:t.EOF,lineNumber:d,lineStart:p,start:f,end:f}:k(e=c.charCodeAt(f))?(n=f,o=92===c.charCodeAt(f)?M():function(){var e,t;for(e=f++;f<h;){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(u&&O(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:p,start:n,end:f}):40===e||41===e||59===e?F():39===e||34===e?function(){var e,n,r,o,a,s,l,u,m="",g=!1;for(l=d,u=p,_("'"===(e=c[f])||'"'===e,"String literal must starts with a quote"),n=f,++f;f<h;){if((r=c[f++])===e){e="";break}if("\\"===r)if((r=c[f++])&&E(r.charCodeAt(0)))++d,"\r"===r&&"\n"===c[f]&&++f,p=f;else switch(r){case"u":case"x":s=f,(a=P(r))?m+=a:(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<h&&S(c[f])&&(g=!0,o=8*o+"01234567".indexOf(c[f++]),"0123".indexOf(r)>=0&&f<h&&S(c[f])&&(o=8*o+"01234567".indexOf(c[f++]))),m+=String.fromCharCode(o)):m+=r}else{if(E(r.charCodeAt(0)))break;m+=r}}return""!==e&&$({},i.UnexpectedToken,"ILLEGAL"),{type:t.StringLiteral,value:m,octal:g,startLineNumber:l,startLineStart:u,lineNumber:d,lineStart:p,start:n,end:f}}():46===e?b(c.charCodeAt(f+1))?j():F():b(e)?j():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 F();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?F():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 F()}else{if(!v.tokens[v.openCurlyToken-4]||"Keyword"!==v.tokens[v.openCurlyToken-4].type)return F();if(!(t=v.tokens[v.openCurlyToken-5]))return D()}return r.indexOf(t.value)>=0?F():D()}return D()}return"Keyword"===e.type?D():F()}():F()}function B(){var e,r,o;return I(),e={start:{line:d,column:f-p}},r=q(),e.end={line:d,column:f-p},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,p=e.lineStart,g=void 0!==v.tokens?B():q(),f=e.end,d=e.lineNumber,p=e.lineStart,e}function z(){var e,t,n;e=f,t=d,n=p,g=void 0!==v.tokens?B():q(),f=e,d=t,p=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=p,I(),r=d!==t,f=e,d=t,p=n,r}function $(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-p+1):((n=new Error("Line "+d+": "+o)).index=f,n.lineNumber=d,n.column=f-p+1),n.description=o,n}function V(){try{$.apply(null,arguments)}catch(e){if(!v.errors)throw e;v.errors.push(e)}}function J(e){if(e.type===t.EOF&&$(e,i.UnexpectedEOS),e.type===t.NumericLiteral&&$(e,i.UnexpectedNumber),e.type===t.StringLiteral&&$(e,i.UnexpectedString),e.type===t.Identifier&&$(e,i.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))$(e,i.UnexpectedReserved);else if(u&&O(e.value))return void V(e,i.StrictReservedWord);$(e,i.UnexpectedToken,e.value)}$(e,i.UnexpectedToken,e.value)}function Y(e){var n=U();n.type===t.Punctuator&&n.value===e||J(n)}function K(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,I(),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=u,o=g,r=be(),t&&u&&C(e[0].name)&&V(t,i.StrictParamName),u=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?(u&&e.octal&&V(e,i.StrictOctalLiteral),m.markEnd(m.createLiteral(e),n)):m.markEnd(m.createIdentifier(e.value),n)}function re(){var e,n,r,o,a,s;return s=g,(e=g).type===t.Identifier?(r=ne(),"get"!==e.value||Z(":")?"set"!==e.value||Z(":")?(Y(":"),o=de(),m.markEnd(m.createProperty("init",r,o),s)):(n=ne(),Y("("),(e=g).type!==t.Identifier?(Y(")"),V(e,i.UnexpectedToken,e.value),o=te([])):(a=[me()],Y(")"),o=te(a,e)),m.markEnd(m.createProperty("set",n,o),s)):(n=ne(),Y("("),Y(")"),o=te([]),m.markEnd(m.createProperty("get",n,o),s))):e.type!==t.EOF&&e.type!==t.Punctuator?(n=ne(),Y(":"),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 Y("("),e=pe(),Y(")"),e}();if(Z("["))return function(){var e,t=[];for(e=g,Y("[");!Z("]");)Z(",")?(U(),t.push(null)):(t.push(de()),Z("]")||Y(","));return U(),m.markEnd(m.createArrayExpression(t),e)}();if(Z("{"))return function(){var e,t,n,r,s,l=[],c={},f=String;for(s=g,Y("{");!Z("}");)t=(e=re()).key.type===o.Identifier?e.key.name:f(e.key.value),r="init"===e.kind?a.Data:"get"===e.kind?a.Get:a.Set,n="$"+t,Object.prototype.hasOwnProperty.call(c,n)?(c[n]===a.Data?u&&r===a.Data?V({},i.StrictDuplicateProperty):r!==a.Data&&V({},i.AccessorDataProperty):r===a.Data?V({},i.AccessorDataProperty):c[n]&r&&V({},i.AccessorGetSet),c[n]|=r):c[n]=r,l.push(e),Z("}")||Y(",");return Y("}"),m.markEnd(m.createObjectExpression(l),s)}();if(s=g,(e=g.type)===t.Identifier)r=m.createIdentifier(U().value);else if(e===t.StringLiteral||e===t.NumericLiteral)u&&g.octal&&V(g,i.StrictOctalLiteral),r=m.createLiteral(U());else if(e===t.Keyword){if(X("function"))return function(){var e,t,n,r,o,a,s,l,c,f=null;return l=g,K("function"),Z("(")||(e=g,f=me(),u?C(e.value)&&V(e,i.StrictFunctionName):C(e.value)?(n=e,r=i.StrictFunctionName):O(e.value)&&(n=e,r=i.StrictReservedWord)),c=(o=we(n)).params,t=o.stricted,n=o.firstRestricted,o.message&&(r=o.message),s=u,a=be(),u&&n&&$(n,r),u&&t&&V(t,r),u=s,m.markEnd(m.createFunctionExpression(f,c,[],a),l)}();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 ae(){var e=[];if(Y("("),!Z(")"))for(;f<h&&(e.push(de()),!Z(")"));)Y(",");return Y(")"),e}function ie(){return Y("."),function(){var e,n;return 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)}()}function se(){var e;return Y("["),e=pe(),Y("]"),e}function le(){var e,t,n;return n=g,K("new"),e=function(){var e,t,n,r;for(r=g,e=y.allowIn,t=X("new")?le():oe(),y.allowIn=e;Z(".")||Z("[");)Z("[")?(n=se(),t=m.createMemberExpression("[",t,n)):(n=ie(),t=m.createMemberExpression(".",t,n)),m.markEnd(t,r);return t}(),t=Z("(")?ae():[],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")?le():oe(),y.allowIn=e;;){if(Z("."))r=ie(),t=m.createMemberExpression(".",t,r);else if(Z("("))n=ae(),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()||(u&&e.type===o.Identifier&&C(e.name)&&V({},i.StrictLHSPostfix),ee(e)||V({},i.InvalidLHSInAssignment),n=U(),e=m.markEnd(m.createPostfixExpression(n.value,e),r))),e}function ue(){var e,n,r;return g.type!==t.Punctuator&&g.type!==t.Keyword?n=ce():Z("++")||Z("--")?(r=g,e=U(),n=ue(),u&&n.type===o.Identifier&&C(n.name)&&V({},i.StrictLHSPrefix),ee(n)||V({},i.InvalidLHSInAssignment),n=m.createUnaryExpression(e.value,n),n=m.markEnd(n,r)):Z("+")||Z("-")||Z("~")||Z("!")?(r=g,e=U(),n=ue(),n=m.createUnaryExpression(e.value,n),n=m.markEnd(n,r)):X("delete")||X("void")||X("typeof")?(r=g,e=U(),n=ue(),n=m.createUnaryExpression(e.value,n),n=m.markEnd(n,r),u&&"delete"===n.operator&&n.argument.type===o.Identifier&&V({},i.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,a,s,l;return e=g,s=g,a=n=function(){var e,t,n,r,o;return o=g,e=function(){var e,t,n,r,o,a,i,s,l,c;if(e=g,l=ue(),0===(o=fe(r=g,y.allowIn)))return l;for(r.prec=o,U(),t=[e,g],a=[l,r,i=ue()];(o=fe(g,y.allowIn))>0;){for(;a.length>2&&o<=a[a.length-2].prec;)i=a.pop(),s=a.pop().value,l=a.pop(),n=m.createBinaryExpression(s,l,i),t.pop(),m.markEnd(n,e=t[t.length-1]),a.push(n);(r=U()).prec=o,a.push(r),t.push(g),n=ue(),a.push(n)}for(n=a[c=a.length-1],t.pop();c>1;)n=m.createBinaryExpression(a[c-1].value,a[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,Y(":"),r=de(),e=m.createConditionalExpression(e,n,r),m.markEnd(e,o)),e}(),g.type!==t.Punctuator||"="!==(l=g.value)&&"*="!==l&&"/="!==l&&"%="!==l&&"+="!==l&&"-="!==l&&"<<="!==l&&">>="!==l&&">>>="!==l&&"&="!==l&&"^="!==l&&"|="!==l||(ee(n)||V({},i.InvalidLHSInAssignment),u&&n.type===o.Identifier&&C(n.name)&&V(e,i.StrictLHSAssignment),e=U(),r=de(),a=m.markEnd(m.createAssignmentExpression(e.value,n,r),s)),a}function pe(){var e,t=g;if(e=de(),Z(",")){for(e=m.createSequenceExpression([e]);f<h&&Z(",");)U(),e.expressions.push(de());m.markEnd(e,t)}return e}function he(){var e,t;return t=g,Y("{"),e=function(){for(var e,t=[];f<h&&!Z("}")&&void 0!==(e=xe());)t.push(e);return t}(),Y("}"),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(),u&&C(t.name)&&V({},i.StrictVarName),"const"===e?(Y("="),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<h);return t}function ve(){var e,t,n,r=[];for(n=g,X("default")?(U(),e=null):(K("case"),e=pe()),Y(":");f<h&&!(Z("}")||X("default")||X("case"));)t=_e(),r.push(t);return m.markEnd(m.createSwitchCase(e,r),n)}function _e(){var e,n,r,a,s,l,d,p,v,_,b=g.type;if(b===t.EOF&&J(g),b===t.Punctuator&&"{"===g.value)return he();if(a=g,b===t.Punctuator)switch(g.value){case";":return m.markEnd((Y(";"),m.createEmptyStatement()),a);case"(":return m.markEnd(function(){var e=pe();return Q(),m.createExpressionStatement(e)}(),a)}if(b===t.Keyword)switch(g.value){case"break":return m.markEnd((_=null,K("break"),59===c.charCodeAt(f)?(U(),y.inIteration||y.inSwitch||$({},i.IllegalBreak),m.createBreakStatement(null)):W()?(y.inIteration||y.inSwitch||$({},i.IllegalBreak),m.createBreakStatement(null)):(g.type===t.Identifier&&(_=me(),Object.prototype.hasOwnProperty.call(y.labelSet,"$"+_.name)||$({},i.UnknownLabel,_.name)),Q(),null!==_||y.inIteration||y.inSwitch||$({},i.IllegalBreak),m.createBreakStatement(_))),a);case"continue":return m.markEnd(function(){var e=null;return K("continue"),59===c.charCodeAt(f)?(U(),y.inIteration||$({},i.IllegalContinue),m.createContinueStatement(null)):W()?(y.inIteration||$({},i.IllegalContinue),m.createContinueStatement(null)):(g.type===t.Identifier&&(e=me(),Object.prototype.hasOwnProperty.call(y.labelSet,"$"+e.name)||$({},i.UnknownLabel,e.name)),Q(),null!==e||y.inIteration||$({},i.IllegalContinue),m.createContinueStatement(e))}(),a);case"debugger":return m.markEnd((K("debugger"),Q(),m.createDebuggerStatement()),a);case"do":return m.markEnd((K("do"),v=y.inIteration,y.inIteration=!0,d=_e(),y.inIteration=v,K("while"),Y("("),p=pe(),Y(")"),Z(";")&&U(),m.createDoWhileStatement(d,p)),a);case"for":return m.markEnd(function(){var e,t,n,r,o,a,s;return e=t=n=null,K("for"),Y("("),Z(";")?U():(X("var")||X("let")?(y.allowIn=!1,e=function(){var e,t,n;return n=g,e=U(),t=ye(),m.markEnd(m.createVariableDeclaration(t,e.value),n)}(),y.allowIn=!0,1===e.declarations.length&&X("in")&&(U(),r=e,o=pe(),e=null)):(y.allowIn=!1,e=pe(),y.allowIn=!0,X("in")&&(ee(e)||V({},i.InvalidLHSInForIn),U(),r=e,o=pe(),e=null)),void 0===r&&Y(";")),void 0===r&&(Z(";")||(t=pe()),Y(";"),Z(")")||(n=pe())),Y(")"),s=y.inIteration,y.inIteration=!0,a=_e(),y.inIteration=s,void 0===r?m.createForStatement(e,t,n,a):m.createForInStatement(r,o,a)}(),a);case"function":return m.markEnd(Se(),a);case"if":return m.markEnd(function(){var e,t,n;return K("if"),Y("("),e=pe(),Y(")"),t=_e(),X("else")?(U(),n=_e()):n=null,m.createIfStatement(e,t,n)}(),a);case"return":return m.markEnd((l=null,K("return"),y.inFunctionBody||V({},i.IllegalReturn),32===c.charCodeAt(f)&&k(c.charCodeAt(f+1))?(l=pe(),Q(),m.createReturnStatement(l)):W()?m.createReturnStatement(null):(Z(";")||Z("}")||g.type===t.EOF||(l=pe()),Q(),m.createReturnStatement(l))),a);case"switch":return m.markEnd(function(){var e,t,n,r,o;if(K("switch"),Y("("),e=pe(),Y(")"),Y("{"),t=[],Z("}"))return U(),m.createSwitchStatement(e,t);for(r=y.inSwitch,y.inSwitch=!0,o=!1;f<h&&!Z("}");)null===(n=ve()).test&&(o&&$({},i.MultipleDefaultsInSwitch),o=!0),t.push(n);return y.inSwitch=r,Y("}"),m.createSwitchStatement(e,t)}(),a);case"throw":return m.markEnd(function(){var e;return K("throw"),W()&&$({},i.NewlineAfterThrow),e=pe(),Q(),m.createThrowStatement(e)}(),a);case"try":return m.markEnd(function(){var e,t,n,r,o=[],a=null;return K("try"),e=he(),X("catch")&&o.push((r=g,K("catch"),Y("("),Z(")")&&J(g),t=me(),u&&C(t.name)&&V({},i.StrictCatchVariable),Y(")"),n=he(),m.markEnd(m.createCatchClause(t,n),r))),X("finally")&&(U(),a=he()),0!==o.length||a||$({},i.NoCatchOrFinally),m.createTryStatement(e,[],o,a)}(),a);case"var":return m.markEnd((K("var"),s=ye(),Q(),m.createVariableDeclaration(s,"var")),a);case"while":return m.markEnd(function(){var e,t,n;return K("while"),Y("("),e=pe(),Y(")"),n=y.inIteration,y.inIteration=!0,t=_e(),y.inIteration=n,m.createWhileStatement(e,t)}(),a);case"with":return m.markEnd(function(){var e,t;return u&&(I(),V({},i.StrictModeWith)),K("with"),Y("("),e=pe(),Y(")"),t=_e(),m.createWithStatement(e,t)}(),a)}return(e=pe()).type===o.Identifier&&Z(":")?(U(),r="$"+e.name,Object.prototype.hasOwnProperty.call(y.labelSet,r)&&$({},i.Redeclaration,"Label",e.name),y.labelSet[r]=!0,n=_e(),delete y.labelSet[r],m.markEnd(m.createLabeledStatement(e,n),a)):(Q(),m.markEnd(m.createExpressionStatement(e),a))}function be(){var e,n,r,a,s,l,d,p,v=[];for(p=g,Y("{");f<h&&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)?(u=!0,r&&V(r,i.StrictOctalLiteral)):!r&&n.octal&&(r=n);for(a=y.labelSet,s=y.inIteration,l=y.inSwitch,d=y.inFunctionBody,y.labelSet={},y.inIteration=!1,y.inSwitch=!1,y.inFunctionBody=!0;f<h&&!Z("}")&&void 0!==(e=xe());)v.push(e);return Y("}"),y.labelSet=a,y.inIteration=s,y.inSwitch=l,y.inFunctionBody=d,m.markEnd(m.createBlockStatement(v),p)}function we(e){var t,n,r,o,a,s,l=[];if(Y("("),!Z(")"))for(o={};f<h&&(n=g,t=me(),a="$"+n.value,u?(C(n.value)&&(r=n,s=i.StrictParamName),Object.prototype.hasOwnProperty.call(o,a)&&(r=n,s=i.StrictParamDupe)):e||(C(n.value)?(e=n,s=i.StrictParamName):O(n.value)?(e=n,s=i.StrictReservedWord):Object.prototype.hasOwnProperty.call(o,a)&&(e=n,s=i.StrictParamDupe)),l.push(t),o[a]=!0,!Z(")"));)Y(",");return Y(")"),{params:l,stricted:r,firstRestricted:e,message:s}}function Se(){var e,t,n,r,o,a,s,l,c,f;return f=g,K("function"),r=g,e=me(),u?C(r.value)&&V(r,i.StrictFunctionName):C(r.value)?(s=r,l=i.StrictFunctionName):O(r.value)&&(s=r,l=i.StrictReservedWord),t=(a=we(s)).params,o=a.stricted,s=a.firstRestricted,a.message&&(l=a.message),c=u,n=be(),u&&s&&$(s,l),u&&o&&V(o,l),u=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,K(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 Ee(){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"},a={Data:1,Get:2,Set:4},i={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ヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]")},l={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-p),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=l,f=0,d=(c=e).length>0?1:0,p=0,h=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}Ee(),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,a,s,_;a=String,"string"==typeof e||e instanceof String||(e=a(e)),m=l,f=0,d=(c=e).length>0?1:0,p=0,h=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=a(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{I(),z(),_=g,u=!1,s=function(){for(var e,n,r,a=[];f<h&&(n=g).type===t.StringLiteral&&(e=xe(),a.push(e),e.expression.type===o.Literal);)"use strict"===c.slice(n.start+1,n.end-1)?(u=!0,r&&V(r,i.StrictOctalLiteral)):!r&&n.octal&&(r=n);for(;f<h&&void 0!==(e=xe());)a.push(e);return a}(),r=m.markEnd(m.createProgram(s),_),void 0!==v.comments&&(r.comments=v.comments),void 0!==v.tokens&&(Ee(),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,a,i,s){o.ast||(o.ast=t,t.initialize());var l=i.length-1;switch(a){case 1:return o.ast.set({expression:{type:"root",value:i[l]}}),o.ast.unshift(),o.ast.yield();case 2:return o.ast.set({expression:{type:"root",value:i[l-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:i[l-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:i[l]}});break;case 15:o.ast.set({expression:{type:"identifier",value:i[l]}});break;case 16:o.ast.set({expression:{type:"script_expression",value:i[l]}});break;case 17:o.ast.set({expression:{type:"numeric_literal",value:parseInt(i[l])}});break;case 24:i[l].length>1?o.ast.set({expression:{type:"union",value:i[l]}}):this.$=i[l];break;case 25:this.$=[i[l]];break;case 26:this.$=i[l-2].concat(i[l]);break;case 27:this.$={expression:{type:"numeric_literal",value:parseInt(i[l])}},o.ast.set(this.$);break;case 28:this.$={expression:{type:"string_literal",value:i[l]}},o.ast.set(this.$);break;case 29:this.$={expression:{type:"slice",value:i[l]}},o.ast.set(this.$);break;case 30:this.$={expression:{type:"wildcard",value:i[l]}},o.ast.set(this.$);break;case 31:this.$={expression:{type:"script_expression",value:i[l]}},o.ast.set(this.$);break;case 32:this.$={expression:{type:"filter_expression",value:i[l]}},o.ast.set(this.$);break;case 33:case 34:this.$=i[l]}},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=this,n=[0],r=[null],o=[],a=this.table,i="",s=0,l=0,c=o.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 u=this.lexer.yylloc;o.push(u);var f=this.lexer.options&&this.lexer.options.ranges;function d(){var e;return"number"!=typeof(e=t.lexer.lex()||1)&&(e=t.symbols_[e]||e),e}this.parseError="function"==typeof this.yy.parseError?this.yy.parseError:Object.getPrototypeOf(this).parseError;for(var p,h,m,g,y,v,_,b={};;){if(this.defaultActions[h=n[n.length-1]]?m=this.defaultActions[h]:(null==p&&(p=d()),m=a[h]&&a[h][p]),void 0===m||!m.length||!m[0]){var w;for(y in _=[],a[h])this.terminals_[y]&&y>2&&_.push("'"+this.terminals_[y]+"'");w=this.lexer.showPosition?"Parse error on line "+(s+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+_.join(", ")+", got '"+(this.terminals_[p]||p)+"'":"Parse error on line "+(s+1)+": Unexpected "+(1==p?"end of input":"'"+(this.terminals_[p]||p)+"'"),this.parseError(w,{text:this.lexer.match,token:this.terminals_[p]||p,line:this.lexer.yylineno,loc:u,expected:_})}if(m[0]instanceof Array&&m.length>1)throw new Error("Parse Error: multiple actions possible at state: "+h+", token: "+p);switch(m[0]){case 1:n.push(p),r.push(this.lexer.yytext),o.push(this.lexer.yylloc),n.push(m[1]),p=null,l=this.lexer.yyleng,i=this.lexer.yytext,s=this.lexer.yylineno,u=this.lexer.yylloc;break;case 2:if(b.$=r[r.length-(v=this.productions_[m[1]][1])],b._$={first_line:o[o.length-(v||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(v||1)].first_column,last_column:o[o.length-1].last_column},f&&(b._$.range=[o[o.length-(v||1)].range[0],o[o.length-1].range[1]]),void 0!==(g=this.performAction.apply(b,[i,l,s,this.yy,m[1],r,o].concat(c))))return g;v&&(n=n.slice(0,-1*v*2),r=r.slice(0,-1*v),o=o.slice(0,-1*v)),n.push(this.productions_[m[1]][0]),r.push(b.$),o.push(b._$),n.push(a[n[n.length-2]][n[n.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 a in o)this[a]=o[a];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(),a=0;a<o.length;a++)if((n=this._input.match(this.rules[o[a]]))&&(!t||n[0].length>t[0].length)){if(t=n,r=a,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,o[a])))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"),a={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&&(a.moduleInclude=o.readFileSync(e.resolve("../include/module.js")),a.actionInclude=o.readFileSync(e.resolve("../include/action.js"))),t.exports=a},{"./dict":2,fs:12}],4:[function(e,t,n){var r=e("./aesprim"),o=e("./slice"),a=e("static-eval"),i=e("underscore").uniq,s=function(){return this.initialize.apply(this,arguments)};function l(t,n,o){var a=e("./index"),i=p(r.parse(n).body[0].expression,{"@":t.value}),s=o.replace(/\{\{\s*value\s*\}\}/g,i),l=a.nodes(t.value,s);return l.forEach((function(e){e.path=t.path.concat(e.path.slice(1))})),l}function c(e){return Array.isArray(e)}function u(e){return function(t,n,r,o){var a=t.value,i=t.path,s=[],l=function(t,a){var i;c(t)?(t.forEach((function(e,t){s.length>=o||r(t,e,n)&&s.push({path:a.concat(t),value:e})})),t.forEach((function(t,n){s.length>=o||e&&l(t,a.concat(n))}))):(i=t)&&!(i instanceof Array)&&i instanceof Object&&(this.keys(t).forEach((function(e){s.length>=o||r(e,t[e],n)&&s.push({path:a.concat(e),value:t[e]})})),this.keys(t).forEach((function(n){s.length>=o||e&&l(t[n],a.concat(n))})))}.bind(this);return l(a,i),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 p(){try{return a.apply(this,arguments)}catch(e){}}function h(e){return e=e.filter((function(e){return e})),i(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=u(!0),this.descend=u()},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),h(n)},"subscript-descendant-union":function(t,n,r){var o=e(".."),a=this,i=[];return o.nodes(n,"$..*").slice(1).forEach((function(e){i.length>=r||t.expression.value.forEach((function(t){var n={operation:"subscript",scope:"child",expression:t.expression},r=a.resolve(n)(n,e);i=i.concat(r)}))})),h(i)},"subscript-child-filter_expression":function(e,t,n){var o=e.expression.value.slice(2,-1),a=r.parse(o).body[0].expression;return this.descend(t,null,(function(e,t){return p(a,{"@":t})}),n)},"subscript-descendant-filter_expression":function(e,t,n){var o=e.expression.value.slice(2,-1),a=r.parse(o).body[0].expression;return this.traverse(t,null,(function(e,t){return p(a,{"@":t})}),n)},"subscript-child-script_expression":function(e,t){return l(t,e.expression.value.slice(1,-1),"$[{{value}}]")},"member-child-script_expression":function(e,t){return l(t,e.expression.value.slice(1,-1),"$.{{value}}")},"member-descendant-script_expression":function(e,t){return l(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"),a=e("./parser"),i=e("./handlers"),s=function(){this.initialize.apply(this,arguments)};function l(e){return"[object String]"==Object.prototype.toString.call(e)}s.prototype.initialize=function(){this.parser=new a,this.handlers=new i},s.prototype.parse=function(e){return r.ok(l(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(Y(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)),a=t.value=n.call(e,o[r]);o[r]=a}),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 a=o.path.slice(-1).shift();this.parent(e,this.stringify(o.path))[a]=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 a=n.pop(),i=o.value(e,n);i||(t(n.concat(),"string"==typeof a?{}:[]),i=o.value(e,n)),i[a]=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(l(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),a=this.handlers,i=[{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=a.resolve(e),l=[];i.forEach((function(a){if(!(s.length>=n)){var i=r(e,a,n);t==o.length-1?s=s.concat(i||[]):l=l.concat(i||[])}})),i=l}})),n?s.slice(0,n):s):i},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("-"),a=n[o];if(r="string_literal"==e.expression.type?JSON.stringify(e.expression.value):e.expression.value,!a)throw new Error("couldn't find template "+o);t+=a.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"==Y(e[0]))return e;throw new Error("couldn't understand path "+e)},s.Handlers=i,s.Parser=a;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"),a=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};a.grammar=r,t.exports=a},{"../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 a=e.length;if(0===o)throw new Error("step cannot be zero");if(o=o?r(o):1,n=n<0?a+n:n,t=r(0===(t=t<0?a+t:t)?0:t||(o>0?0:a-1)),n=r(0===n?0:n||(o>0?a:-1)),t=o>0?Math.max(0,t):Math.min(a,t),n=o>0?Math.min(n,a):Math.max(-1,n),o>0&&n<=t)return[];if(o<0&&t<=n)return[];for(var i=[],s=t;s!=n&&!(o<0&&s<=n||o>0&&s>=n);s+=o)i.push(e[s]);return i}},{}],8:[function(e,t,n){var r=e("util/"),o=Array.prototype.slice,a=Object.prototype.hasOwnProperty,i=t.exports=u;function s(e,t){return r.isUndefined(t)?""+t:r.isNumber(t)&&!isFinite(t)||r.isFunction(t)||r.isRegExp(t)?t.toString():t}function l(e,t){return r.isString(e)?e.length<t?e:e.slice(0,t):e}function c(e,t,n,r,o){throw new i.AssertionError({message:n,actual:e,expected:t,operator:r,stackStartFunction:o})}function u(e,t){e||c(e,!0,t,"==",i.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),a=d(t);if(n&&!a||!n&&a)return!1;if(n)return f(e=o.call(e),t=o.call(t));var i,s,l=m(e),c=m(t);if(l.length!=c.length)return!1;for(l.sort(),c.sort(),s=l.length-1;s>=0;s--)if(l[s]!=c[s])return!1;for(s=l.length-1;s>=0;s--)if(!f(e[i=l[s]],t[i]))return!1;return!0}(e,t):e==t}function d(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function p(e,t){return!(!e||!t)&&("[object RegExp]"==Object.prototype.toString.call(t)?t.test(e):e instanceof t||!0===t.call({},e))}function h(e,t,n,o){var a;r.isString(n)&&(o=n,n=null);try{t()}catch(e){a=e}if(o=(n&&n.name?" ("+n.name+").":".")+(o?" "+o:"."),e&&!a&&c(a,n,"Missing expected exception"+o),!e&&p(a,n)&&c(a,n,"Got unwanted exception"+o),e&&a&&n&&!p(a,n)||!e&&a)throw a}i.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 l(JSON.stringify(e.actual,s),128)+" "+e.operator+" "+l(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 a=r.indexOf("\n",o+1);r=r.substring(a+1)}this.stack=r}}},r.inherits(i.AssertionError,Error),i.fail=c,i.ok=u,i.equal=function(e,t,n){e!=t&&c(e,t,n,"==",i.equal)},i.notEqual=function(e,t,n){e==t&&c(e,t,n,"!=",i.notEqual)},i.deepEqual=function(e,t,n){f(e,t)||c(e,t,n,"deepEqual",i.deepEqual)},i.notDeepEqual=function(e,t,n){f(e,t)&&c(e,t,n,"notDeepEqual",i.notDeepEqual)},i.strictEqual=function(e,t,n){e!==t&&c(e,t,n,"===",i.strictEqual)},i.notStrictEqual=function(e,t,n){e===t&&c(e,t,n,"!==",i.notStrictEqual)},i.throws=function(e,t,n){h.apply(this,[!0].concat(o.call(arguments)))},i.doesNotThrow=function(e,t){h.apply(this,[!1].concat(o.call(arguments)))},i.ifError=function(e){if(e)throw e};var m=Object.keys||function(e){var t=[];for(var n in e)a.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"===Y(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,a=r.length,i=String(e).replace(o,(function(e){if("%%"===e)return"%";if(n>=a)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}})),l=r[n];n<a;l=r[++n])m(l)||!b(l)?i+=" "+l:i+=" "+s(l);return i},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 a=!1;return function(){if(!a){if(t.throwDeprecation)throw new Error(o);t.traceDeprecation?console.trace(o):console.error(o),a=!0}return e.apply(this,arguments)}};var a,i={};function s(e,t){var r={seen:[],stylize:c};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),h(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=l),u(r,e,r.depth)}function l(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 u(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=u(e,o,r)),o}var a=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"):h(t)?e.stylize(""+t,"boolean"):m(t)?e.stylize("null","null"):void 0}(e,t);if(a)return a;var i=Object.keys(t),s=function(e){var t={};return e.forEach((function(e,n){t[e]=!0})),t}(i);if(e.showHidden&&(i=Object.getOwnPropertyNames(t)),S(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return f(t);if(0===i.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 l,c="",b=!1,E=["{","}"];return p(t)&&(b=!0,E=["[","]"]),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!==i.length||b&&0!=t.length?r<0?_(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),l=b?function(e,t,n,r,o){for(var a=[],i=0,s=t.length;i<s;++i)O(t,String(i))?a.push(d(e,t,n,r,String(i),!0)):a.push("");return o.forEach((function(o){o.match(/^\d+$/)||a.push(d(e,t,n,r,o,!0))})),a}(e,t,r,s,i):i.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]}(l,c,E)):E[0]+c+E[1]}function f(e){return"["+Error.prototype.toString.call(e)+"]"}function d(e,t,n,r,o,a){var i,s,l;if((l=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?s=e.stylize(l.set?"[Getter/Setter]":"[Getter]","special"):l.set&&(s=e.stylize("[Setter]","special")),O(r,o)||(i="["+o+"]"),s||(e.seen.indexOf(l.value)<0?(s=m(n)?u(e,l.value,null):u(e,l.value,n-1)).indexOf("\n")>-1&&(s=a?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(i)){if(a&&o.match(/^\d+$/))return s;(i=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(i=i.substr(1,i.length-2),i=e.stylize(i,"name")):(i=i.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),i=e.stylize(i,"string"))}return i+": "+s}function p(e){return Array.isArray(e)}function h(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]"===E(e)}function b(e){return"object"===Y(e)&&null!==e}function w(e){return b(e)&&"[object Date]"===E(e)}function S(e){return b(e)&&("[object Error]"===E(e)||e instanceof Error)}function x(e){return"function"==typeof e}function E(e){return Object.prototype.toString.call(e)}function k(e){return e<10?"0"+e.toString(10):e.toString(10)}n.debuglog=function(e){if(v(a)&&(a=t.env.NODE_DEBUG||""),e=e.toUpperCase(),!i[e])if(new RegExp("\\b"+e+"\\b","i").test(a)){var r=t.pid;i[e]=function(){var t=n.format.apply(n,arguments);console.error("%s %d: %s",e,r,t)}}else i[e]=function(){};return i[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=p,n.isBoolean=h,n.isNull=m,n.isNullOrUndefined=function(e){return null==e},n.isNumber=g,n.isString=y,n.isSymbol=function(e){return"symbol"===Y(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"===Y(e)||void 0===e},n.isBuffer=e("./support/isBuffer");var A=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function O(e,t){return Object.prototype.hasOwnProperty.call(e,t)}n.log=function(){var e,t;console.log("%s - %s",(t=[k((e=new Date).getHours()),k(e.getMinutes()),k(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!==L?L:"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,a=arguments.length-1;a>=-1&&!o;a--){var i=a>=0?arguments[a]:e.cwd();if("string"!=typeof i)throw new TypeError("Arguments to path.resolve must be strings");i&&(n=i+"/"+n,o="/"===i.charAt(0))}return(o?"/":"")+(n=t(r(n.split("/"),(function(e){return!!e})),!o).join("/"))||"."},n.normalize=function(e){var a=n.isAbsolute(e),i="/"===o(e,-1);return(e=t(r(e.split("/"),(function(e){return!!e})),!a).join("/"))||a||(e="."),e&&i&&(e+="/"),(a?"/":"")+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("/")),a=r(t.split("/")),i=Math.min(o.length,a.length),s=i,l=0;l<i;l++)if(o[l]!==a[l]){s=l;break}var c=[];for(l=s;l<o.length;l++)c.push("..");return(c=c.concat(a.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,a=e.length-1;a>=1;--a)if(47===(t=e.charCodeAt(a))){if(!o){r=a;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,a=0,i=e.length-1;i>=0;--i){var s=e.charCodeAt(i);if(47!==s)-1===r&&(o=!1,r=i+1),46===s?-1===t?t=i:1!==a&&(a=1):-1!==t&&(a=-1);else if(!o){n=i+1;break}}return-1===t||-1===r||0===a||1===a&&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,a=t.exports={};function i(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function l(e){if(r===setTimeout)return setTimeout(e,0);if((r===i||!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:i}catch(e){r=i}try{o="function"==typeof clearTimeout?clearTimeout:s}catch(e){o=s}}();var c,u=[],f=!1,d=-1;function p(){f&&c&&(f=!1,c.length?u=c.concat(u):d=-1,u.length&&h())}function h(){if(!f){var e=l(p);f=!0;for(var t=u.length;t;){for(c=u,u=[];++d<t;)c&&c[d].run();d=-1,t=u.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(){}a.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];u.push(new m(e,t)),1!==u.length||f||l(h)},m.prototype.run=function(){this.fun.apply(null,this.array)},a.title="browser",a.browser=!0,a.env={},a.argv=[],a.version="",a.versions={},a.on=g,a.addListener=g,a.once=g,a.off=g,a.removeListener=g,a.removeAllListeners=g,a.emit=g,a.prependListener=g,a.prependOnceListener=g,a.listeners=function(e){return[]},a.binding=function(e){throw new Error("process.binding is not supported")},a.cwd=function(){return"/"},a.chdir=function(e){throw new Error("process.chdir is not supported")},a.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,a){if("Literal"===o.type)return o.value;if("UnaryExpression"===o.type){var i=e(o.argument);return"+"===o.operator?+i:"-"===o.operator?-i:"~"===o.operator?~i:"!"===o.operator?!i:n}if("ArrayExpression"===o.type){for(var s=[],l=0,c=o.elements.length;l<c;l++){if((y=e(o.elements[l]))===n)return n;s.push(y)}return s}if("ObjectExpression"===o.type){var u={};for(l=0;l<o.properties.length;l++){var f=null===(v=o.properties[l]).value?v.value:e(v.value);if(f===n)return n;u[v.key.value||v.key.name]=f}return u}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 p=o.operator;return"=="===p?c==d:"==="===p?c===d:"!="===p?c!=d:"!=="===p?c!==d:"+"===p?c+d:"-"===p?c-d:"*"===p?c*d:"/"===p?c/d:"%"===p?c%d:"<"===p?c<d:"<="===p?c<=d:">"===p?c>d:">="===p?c>=d:"|"===p?c|d:"&"===p?c&d:"^"===p?c^d:"&&"===p?c&&d:"||"===p?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 h=e(o.callee);if(h===n)return n;if("function"!=typeof h)return n;var m=o.callee.object?e(o.callee.object):n;m===n&&(m=null);var g=[];for(l=0,c=o.arguments.length;l<c;l++){var y;if((y=e(o.arguments[l]))===n)return n;g.push(y)}return h.apply(m,g)}var v;if("MemberExpression"===o.type)return(u=e(o.object))===n||"function"==typeof u?n:"Identifier"===o.property.type?u[o.property.name]:(v=e(o.property))===n?n:u[v];if("ConditionalExpression"===o.type)return(i=e(o.test))===n?n:e(i?o.consequent:o.alternate);if("ExpressionStatement"===o.type)return(i=e(o.expression))===n?n:i;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]})),l=0;l<o.params.length;l++){var w=o.params[l];if("Identifier"!=w.type)return n;t[w.name]=null}for(var l in _)if(e(_[l])===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 E="";for(l=0;l<o.expressions.length;l++)E+=e(o.quasis[l]),E+=e(o.expressions[l]);return E+e(o.quasis[l])}if("TaggedTemplateExpression"===o.type){var k=e(o.tag),A=o.quasi,O=A.quasis.map(e),C=A.expressions.map(e);return k.apply(null,[O].concat(C))}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()}(gN);var yN=gN.exports;const vN=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","0","1","2","3","4","5","6","7","8","9"]);function _N(e,t){for(const[n,r]of t.entries())if(e.startsWith(r))return e.replace(r,String(n));return e}const bN="$PREFIXED_ID";function wN(e,t,n){return t===bN?[_N(e.id,n)]:yN.query(e,t)}function SN(e){return e.toLowerCase().split(/[^\d:A-Za-z]+/).filter((e=>e&&!vN.has(e)))}function*xN(e){for(const t of e)yield*SN(t)}function*EN(e){for(const t of e)if("string"==typeof t)yield t;else if("object"==typeof t){const e=yN.query(t,"$..*");yield*EN(e)}}function*kN(e,t,n){for(const r of t){const t=wN(e,r,n);if(t.length>0)for(const e of xN(EN(t)))yield[r,e]}}async function AN(e,t,n){const r=await this.db,o=t??r.transaction(["nodes"]);lN(n);const a=[...SN(e)],i=[],s=new Map;i.push(...a.map((async(e,t)=>{lN(n);const r=o.objectStore("nodes").index("full-text-words");for await(const o of r.iterate(IDBKeyRange.bound(e,`${e}￿`,!1,!1))){lN(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(i),lN(n);const l=[];for(const[,[e,t]]of s)lN(n),l.push(...ON(this.textIndexFields,e,t,a,this.prefixes));return l.sort(((e,t)=>t.score-e.score)),l.slice(0,this.options.maxSearchResults??this.DEFAULT_MAX_SEARCH_RESULTS)}function ON(e,t,n,r,o){const a=[...n].sort().map((e=>r[e])),i=a.map((e=>{const t=e.replaceAll(/[$()*+./?[\\\]^{|}-]/g,String.raw`\$&`);return new RegExp(`\\b${t}`,"gi")}));let s=[],l=0;for(const[n,a]of e.entries()){const c=new Set,u=e.length-n-1,f=[...EN(wN(t,a.jsonPath,o))];for(const e of f){let n=0;const o=[];for(const[t,a]of i.entries())for(const i of e.matchAll(a)){n+=1+1*u,c.add(t);const a=i.index,s=r[t];void 0!==a&&(n+=.01*s.length,n+=s.length/e.length*100*.05,o.push({wordIndex:t,position:a}))}n+=100*c.size,l<n&&(l=n),o.sort(((e,t)=>e.position-t.position)),o.length>0&&s.push({term:t,field:a,str:e,score:n,wordMatches:o})}}s=s.filter((e=>e.score===l));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],i=o.wordIndex-r.wordIndex;if(1===i||-1===i){e.score+=1,1===i&&(e.score+=1);const t=Math.abs(o.position-(r.position+a[r.wordIndex].length))-1;e.score-=.05*t}}}return s}function CN(e){return"string"==typeof e.id}function NN(e){return"string"==typeof e.sub&&"string"==typeof e.pred&&"string"==typeof e.obj}function RN(e){return Boolean(e.meta?.deprecated)}var TN=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==Y(t)&&"object"==Y(n)){if(t.constructor!==n.constructor)return!1;var r,o,a;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 i,s=_e(t.entries());try{for(s.s();!(i=s.n()).done;)if(!n.has((o=i.value)[0]))return!1}catch(e){s.e(e)}finally{s.f()}var l,c=_e(t.entries());try{for(c.s();!(l=c.n()).done;)if(!e((o=l.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 u,f=_e(t.entries());try{for(f.s();!(u=f.n()).done;)if(!n.has((o=u.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=(a=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(o=r;0!=o--;)if(!Object.prototype.hasOwnProperty.call(n,a[o]))return!1;for(o=r;0!=o--;){var d=a[o];if(!e(t[d],n[d]))return!1}return!0}return t!=t&&n!=n};async function IN(e){return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.blocked,o=n.upgrade,a=n.blocking,i=n.terminated,s=indexedDB.open(e,t),l=Xd(s);return o&&s.addEventListener("upgradeneeded",(function(e){o(Xd(s.result),e.oldVersion,e.newVersion,Xd(s.transaction),e)})),r&&s.addEventListener("blocked",(function(e){return r(e.oldVersion,e.newVersion,e)})),l.then((function(e){i&&e.addEventListener("close",(function(){return i()})),a&&e.addEventListener("versionchange",(function(e){return a(e.oldVersion,e.newVersion,e)}))})).catch((function(){})),l}(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 PN(e){const t=new Set;for(const[,n]of e)t.add(n);return[...t]}async function MN(e){const t=Date.now();let n,r=1;this.options.update?.("Parsing JSON",r);try{n=JSON.parse(await m.openLocation(this.sourceLocation).readFile("utf8"))}catch{throw new Error("Error in loading ontology")}r+=5,this.options.update?.("Parsing JSON complete",r);const o=Date.now(),[a,...i]=n.graphs??[];if(a){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"),s=FN.call(this).map((e=>e.jsonPath));if(a.nodes){let e=Math.round(r);for(const[,t]of a.nodes.entries())r+=1/a.nodes.length*64,Math.round(r)!=e&&r<100&&(this.options.update?.("Processing nodes",r),e=Math.round(r)),CN(t)&&await i.add({...t,fullTextWords:PN(kN(t,s,this.prefixes))})}const l=n.objectStore("edges");if(a.edges){let e=Math.round(r);for(const[,t]of a.edges.entries())r+=1/a.edges.length*30,Math.round(r)!=e&&r<100&&(this.options.update?.("Processing edges",r),e=Math.round(r)),NN(t)&&await l.add(t)}await n.done;const c=e.transaction("meta","readwrite"),{update:u,...f}=this.options;await c.objectStore("meta").add({ontologyRecord:{name:this.ontologyName,version:this.ontologyVersion,sourceLocation:this.sourceLocation},storeOptions:f,graphMeta:a.meta,timestamp:String(new Date),schemaVersion:2,timings:{overall:Date.now()-t,load:Date.now()-o}},"meta"),await c.done}catch(t){throw await e.transaction("meta","readwrite").objectStore("meta").clear(),t}}}function FN(){return[{displayName:"ID",jsonPath:bN},...this.options.textIndexing?.indexFields??BN]}async function jN(e){const[t]=await e.transaction("meta").objectStore("meta").getAll();return!!t&&TN(this.options.prefixes,t.storeOptions.prefixes)&&TN(this.options.textIndexing,t.storeOptions.textIndexing)}class LN{ontologyName;ontologyVersion;sourceLocation;db;options;loadOboGraphJson=MN;getTermsByFulltext=AN;openDatabase=IN;isDatabaseCurrent=jN;get textIndexFields(){return FN.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.options=r??{},this.db=this.prepareDatabase()}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{options:e,sourceLocation:n,sourceType:r}=this;if("obo-graph-json"!==r)throw new Error(`ontology source file ${JSON.stringify(n)} has type ${r}, which is not yet supported`);return e.update?.("",0),await this.loadOboGraphJson(t),e.update?.("",100),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)})),Xd(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,a=n??o.transaction(["nodes","edges"]),i=a.objectStore("nodes"),s=[...await i.index("by-label").getAll(e),...await i.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",a);for(const t of e){const e=await i.get(t);e&&s.push(e)}}return s}async getPropertiesByLabel(e,t,n){const r=t?.includeSubProperties??!0,o=await this.db,a=n??o.transaction(["nodes","edges"]),i=(await this.getTermsWithLabelOrSynonym(e,{includeSubclasses:!1},a)).filter((e=>GN(e)));if(r){const e=await this.recurseEdges("by-object",i.map((e=>e.id)),(e=>"subPropertyOf"===e.pred),"sub",a),t=a.objectStore("nodes");for(const n of e){const e=await t.get(n);e&&GN(e)&&i.push(e)}}return i}async recurseEdges(e,t,n,r,o){const a=new Set;return await async function t(i){await Promise.all([...i].map((async i=>{const s=(await o.objectStore("edges").index(e).getAll(i)).filter((e=>n(e))).map((e=>e[r]));if(s.length>0){for(const e of s)a.add(e);await t(s)}})))}(t),a.values()}async*expandNodeSet(e,t="is_a",n,r){const o=await this.db,a=r??o.transaction(["edges"]),i=[...e],s=await this.recurseEdges("subclasses"===n?"by-object":"by-subject",i,(e=>e.pred===t),"subclasses"===n?"sub":"obj",a);for(const e of i)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"]),a=await this.getPropertiesByLabel(e,{includeSubProperties:!0},o),i=new Set(a.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)),l=await this.recurseEdges("by-object",s,(e=>i.has(e.pred)),"sub",o),c=this.expandSubclasses(l,"is_a",o),u=[];for await(const e of c){const t=await o.objectStore("nodes").get(e);t&&zN(t)&&!RN(t)&&u.push(t)}return u}async getClassesWithoutPropertyLabeled(e,t,n){const r=await this.db,o=n??r.transaction(["nodes","edges"]),a=o.objectStore("nodes"),i=o.objectStore("edges"),s=(await this.getPropertiesByLabel(e,t,o)).map((e=>e.id)),l=await(async()=>{const e=new Set;for(const t of s)for await(const n of i.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 a){const t=e.value;zN(t)&&!l.has(t.id)&&c.push(t.id)}const u=[];for(const e of c){const t=await o.objectStore("nodes").get(e);t&&zN(t)&&!RN(t)&&u.push(t)}return u}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=>!RN(e)))}async getAllTerms(e){const t=await this.db,n=e??t.transaction(["nodes"]);return(await n.objectStore("nodes").getAll()).filter((e=>!RN(e)))}}const DN=l.types.model("OntologyRecord",{name:l.types.string,version:"unversioned",source:l.types.union(h.LocalPathLocation,h.UriLocation,h.BlobLocation),options:l.types.frozen(),equivalentTypes:l.types.map(l.types.array(l.types.string))}).volatile((e=>({dataStore:void 0,startedEquivalentTypeRequests:new Set}))).actions((e=>({ping(){},initDataStore(){e.dataStore=new LN(e.name,e.version,l.getSnapshot(e.source),e.options)},afterCreate(){l.addDisposer(e,s.autorun((()=>{this.initDataStore()})))},setEquivalentTypes(t,n){e.equivalentTypes.set(t,n)}}))).actions((e=>({loadEquivalentTypes:l.flow((function*(t){if(!e.dataStore)return;if(e.startedEquivalentTypeRequests.has(t))return;e.startedEquivalentTypeRequests.add(t);const n=(yield e.dataStore.getTermsWithLabelOrSynonym(t)).map((e=>e.lbl)).filter((e=>null!=e));e.setEquivalentTypes(t,n)}))}))).actions((e=>({afterCreate(){s.autorun((t=>{e.dataStore&&(e.loadEquivalentTypes("gene"),e.loadEquivalentTypes("pseudogene"),e.loadEquivalentTypes("transcript"),e.loadEquivalentTypes("pseudogenic_transcript"),e.loadEquivalentTypes("CDS"),e.loadEquivalentTypes("mRNA"),t.dispose())}))},setEquivalentTypes(t,n){e.equivalentTypes.set(t,n)}}))).views((e=>({isTypeOf(t,n){if(t===n)return!0;if(!e.dataStore)return!1;const r=e.equivalentTypes.get(n);return r?r.includes(t):(e.loadEquivalentTypes(n),!1)}}))),qN=l.types.model("OntologyManager",{ontologies:l.types.array(DN),prefixes:l.types.optional(l.types.map(l.types.string),{"GO:":"http://purl.obolibrary.org/obo/GO_","SO:":"http://purl.obolibrary.org/obo/SO_"})}).views((e=>({get featureTypeOntologyName(){const t=l.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=>_N(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 a=e.ontologies.push({name:t,version:n,source:r,options:{prefixes:new Map(e.prefixes.entries()),...o}});e.ontologies[a-1].ping()}}))),BN=[{displayName:"Label",jsonPath:"$.lbl"},{displayName:"Synonym",jsonPath:"$.meta.synonyms[*].val"},{displayName:"Definition",jsonPath:"$.meta.definition.val"}],UN=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:BN}});function zN(e){return"CLASS"===e.type}function GN(e){return"PROPERTY"===e.type}async function HN(e,t,n){if(!e)return;const r=await t.getTermsWithLabelOrSynonym(e.type,{includeSubclasses:!1}),o=r.filter(zN);if(0===r.length)return;const a=await t.getClassesThat("part_of",o);return 0!==a.length?a:void 0}function WN({fetchValidTerms:e,filterTerms:t,includeDeprecated:n,onChange:r,ontologyName:o,ontologyVersion:a,renderInput:i,session:s,style:l,value:u}){const[d,p]=f.useState(!1),[h,m]=f.useState(),[g,y]=f.useState(""),[v,_]=f.useState(),{ontologyManager:b}=s.apolloDataStore,w=b.findOntology(o,a)?.dataStore,S=w&&d&&!h,x=w&&!v,E=f.useCallback((e=>(n||!RN(e))&&(!t||t(e))),[t,n]);f.useEffect((()=>{d||m(void 0)}),[d]),f.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,u,E).then((e=>{t.aborted||_(e)}),(e=>{t.aborted||cN(e)||y(String(e))}))),()=>{e.abort()}}),[s,u,E,w,x]),f.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,E,n).then((e=>{e&&!n.aborted&&m(e)}),(e=>{n.aborted||cN(e)||s.notify(e instanceof Error?e.message:String(e),"error")})),()=>{t.abort()}}),[S,E,w,s,e]);const k={};return g&&(k.error=!0,k.helperText=g),T.default.createElement(c.Autocomplete,{style:l,autoComplete:!0,filterSelectedOptions:!0,disableClearable:!0,selectOnFocus:!0,clearOnBlur:!0,handleHomeEndKeys:!0,freeSolo:!0,value:u,options:h??[],onOpen:()=>{p(!0)},onClose:()=>{p(!1)},loading:S,renderInput:i??(e=>T.default.createElement(c.TextField,{...e,...k})),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(u,t)):t.lbl!==u&&(y(""),_(t),r(u,t.lbl)))}})}function $N({changeManager:e,handleClose:t,session:n,sourceAssemblyId:r,sourceFeature:o}){const{notify:a}=n,[i,s]=f.useState(String(o.max)),[l,u]=f.useState(String(o.min+1)),[d,p]=f.useState(""),[h,m]=f.useState(""),[g,y]=f.useState(""),v=Number(i)<=Number(l);return T.default.createElement(kd,{open:!0,title:"Add new child feature",handleClose:t,maxWidth:!1,"data-testid":"add-feature-dialog"},T.default.createElement("form",{onSubmit:async function(n){n.preventDefault(),m("");const s=new er.AddFeatureChange({changedIds:[o._id],typeName:"AddFeatureChange",assembly:r,addedFeature:{_id:(new $n).toHexString(),refSeq:o.refSeq,min:Number(l)-1,max:Number(i),type:d},parentFeatureId:o._id});await e.submit(s),a("Feature added successfully","success"),t(),n.preventDefault()}},T.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},T.default.createElement(c.TextField,{margin:"dense",id:"start",label:"Start",type:"number",fullWidth:!0,variant:"outlined",value:l,onChange:e=>{u(e.target.value)}}),T.default.createElement(c.TextField,{margin:"dense",id:"end",label:"End",type:"number",fullWidth:!0,variant:"outlined",value:i,onChange:e=>{s(e.target.value)},error:v,helperText:v?'"End" must be greater than "Start"':null}),T.default.createElement(WN,{session:n,ontologyName:"Sequence Ontology",style:{width:170},value:d,filterTerms:zN,fetchValidTerms:async function(e,t,n){const r=await HN(e,t);if(r)return r;y(`Type "${e?.type}" does not have any children in the ontology`)}.bind(null,o),renderInput:e=>T.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(""),p(n))}})),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{variant:"contained",type:"submit",disabled:v||!(l&&i&&d)},"Submit"),T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),h?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},h)):null)}function VN({changeManager:e,handleClose:t,region:n,session:r}){const{notify:o}=r,[a,i]=f.useState(String(n.end)),[s,l]=f.useState(String(n.start+1)),[u,d]=f.useState(""),[p,h]=f.useState(),[m,g]=f.useState(""),y=Number(a)<=Number(s);return T.default.createElement(kd,{open:!0,title:"Add new feature",handleClose:t,maxWidth:!1,"data-testid":"add-feature-dialog"},T.default.createElement("form",{onSubmit:async function(i){let l;i.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&&(l=t._id);if(!l)return void g("Invalid refseq id");const c=(new $n).toHexString(),f=new er.AddFeatureChange({changedIds:[c],typeName:"AddFeatureChange",assembly:n.assemblyName,addedFeature:{_id:c,refSeq:l,min:Number(s)-1,max:Number(a),type:u,strand:p}});await e.submit(f),o("Feature added successfully","success"),t(),i.preventDefault()}},T.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},T.default.createElement(c.TextField,{margin:"dense",id:"start",label:"Start",type:"number",fullWidth:!0,variant:"outlined",value:Number(s),onChange:e=>{l(e.target.value)}}),T.default.createElement(c.TextField,{margin:"dense",id:"end",label:"End",type:"number",fullWidth:!0,variant:"outlined",value:a,onChange:e=>{i(e.target.value)},error:y,helperText:y?'"End" must be greater than "Start"':null}),T.default.createElement(WN,{session:r,ontologyName:"Sequence Ontology",style:{width:170},value:u,filterTerms:zN,renderInput:e=>T.default.createElement(c.TextField,{...e,label:"Type",variant:"outlined",fullWidth:!0}),onChange:(e,t)=>{var n;t&&(n=t,g(""),d(n))}}),T.default.createElement(c.FormControl,null,T.default.createElement(c.InputLabel,{id:"demo-simple-select-label"},"Strand"),T.default.createElement(c.Select,{labelId:"demo-simple-select-label",id:"demo-simple-select",label:"Strand",value:p?.toString(),onChange:function(e){switch(g(""),Number(e.target.value)){case 1:h(1);break;case-1:h(-1);break;default:h(void 0)}}},T.default.createElement(c.MenuItem,{value:void 0}),T.default.createElement(c.MenuItem,{value:1},"+"),T.default.createElement(c.MenuItem,{value:-1},"-")))),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{variant:"contained",type:"submit",disabled:y||!(s&&a&&u)},"Submit"),T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),m?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},m)):null)}function JN(e,t){const n=(new $n).toHexString();t.push(n);const r={};if(e.children)for(const n of Object.values(e.children)){const e=JN(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 YN({changeManager:e,handleClose:t,session:n,sourceAssemblyId:o,sourceFeature:a}){const{assemblyManager:i,notify:s}=n,u=i.assemblyList,[d,p]=f.useState(u.find((e=>e.name!==o))?.name),[h,m]=f.useState([]),[g,y]=f.useState(""),[v,_]=f.useState(a.min),[b,w]=f.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 f.useEffect((()=>{y(""),async function(){if(!d)return void w("No assemblies to copy to");const e=await i.waitForAssembly(d);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))}))}),[d,i]),T.default.createElement(kd,{open:!0,title:"Copy features and annotations",handleClose:t,maxWidth:!1,"data-testid":"copy-feature"},T.default.createElement("form",{onSubmit:async function(n){if(!d)return;n.preventDefault(),w("");const r=a.length,o=await i.waitForAssembly(d);if(!o)return void w(`Assembly not found: ${d}.`);const c=o.getCanonicalRefName(g),u=o.regions?.find((e=>e.refName===c));if(!u)return void w(`RefSeq not found: ${g}.`);const f=v+r;if(f>u.end)return void w(`Feature would extend beyond the bounds of the selected reference sequence. (Feature would end at ${f}, but reference sequence ends at ${u.end})`);if(v<u.start)return void w(`Reference sequence starts at ${u.start}, feature cannot start before that.`);const p=[],h=JN(l.getSnapshot(a),p),m={...h.attributes};"Parent"in m&&delete m.Parent,h.refSeq=g;const y=v-h.min;h.min=v,h.max=v+r;const _=S(h,y),b=new er.AddFeatureChange({changedIds:[h._id],typeName:"AddFeatureChange",assembly:d,addedFeature:{_id:h._id,refSeq:h.refSeq,min:h.min,max:h.max,type:h.type,children:_.children,attributes:m,strand:h.strand},copyFeature:!0,allIds:p});await e.submit(b),s("Feature copied successfully","success"),t(),n.preventDefault()}},T.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},T.default.createElement(c.DialogContentText,null,"Target assembly"),T.default.createElement(c.Select,{labelId:"label",value:d,onChange:function(e){p(e.target.value)}},u.filter((e=>e.name!==o)).map((e=>T.default.createElement(c.MenuItem,{key:e.name,value:e.name},r.readConfObject(e,"displayName"))))),T.default.createElement(c.DialogContentText,null,"Target reference sequence"),T.default.createElement(c.Select,{labelId:"label",value:g,onChange:function(e){y(e.target.value)}},h.map((e=>T.default.createElement(c.MenuItem,{key:e._id,value:e._id},e.name)))),T.default.createElement(c.DialogContentText,null,"Start position in target reference sequence"),T.default.createElement(c.TextField,{margin:"dense",type:"number",fullWidth:!0,variant:"outlined",value:v,onChange:e=>{_(Number(e.target.value))}})),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{disabled:!d||!g||!v,variant:"contained",type:"submit"},"Submit"),T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),b?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},b)):null)}function KN({changeManager:e,handleClose:t,session:n}){const{internetAccounts:r}=l.getRoot(n),[o,a]=f.useState(),[i,s]=f.useState(""),[u,d]=f.useState(!1),[p,h]=f.useState(!1),m=r.filter((e=>"ApolloInternetAccount"===e.type));if(0===m.length)throw new Error("No Apollo internet account found");const[g,y]=f.useState(m[0]),{collaborationServerDriver:v}=n.apolloDataStore,_=v.getAssemblies();return f.useEffect((()=>{_.length>0&&void 0===o&&a(_[0])}),[_,o]),T.default.createElement(kd,{open:!0,title:"Delete Assembly",handleClose:t,maxWidth:!1,"data-testid":"delete-assembly"},T.default.createElement("form",{onSubmit:async function(n){if(n.preventDefault(),h(!0),s(""),!o)return void s("Must select assembly!");const r=new er.DeleteAssemblyChange({typeName:"DeleteAssemblyChange",assembly:o.name});await e.submit(r,{internetAccountId:g.internetAccountId}),t(),n.preventDefault()}},T.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},m.length>1?T.default.createElement(T.default.Fragment,null,T.default.createElement(c.DialogContentText,null,"Select account"),T.default.createElement(c.Select,{value:g.internetAccountId,onChange:function(e){h(!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:p&&!i},r.map((e=>T.default.createElement(c.MenuItem,{key:e.id,value:e.internetAccountId},e.name))))):null,T.default.createElement(c.DialogContentText,null,"Select assembly"),T.default.createElement(c.Select,{labelId:"label",value:o?.name??"",onChange:function(e){const t=_.find((t=>t.name===e.target.value));a(t)},disabled:0===_.length},_.map((e=>T.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name)))),T.default.createElement(c.DialogContentText,null,T.default.createElement("strong",{style:{color:"red"}},"NOTE: All assembly data will be deleted and this operation cannot be undone!")),T.default.createElement(c.FormGroup,null,T.default.createElement(c.FormControlLabel,{control:T.default.createElement(c.Checkbox,{checked:u,onChange:()=>{d(!u)}}),label:"I understand that all assembly data will be deleted"}))),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{disabled:!o||!u,variant:"contained",type:"submit"},"Delete"),T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),i?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},i)):null)}function ZN({changeManager:e,handleClose:t,selectedFeature:n,session:r,setSelectedFeature:o,sourceAssemblyId:a,sourceFeature:i}){const{notify:s}=r,[u,d]=f.useState("");return T.default.createElement(kd,{open:!0,title:"Delete feature",handleClose:t,maxWidth:!1,"data-testid":"delete-feature"},T.default.createElement("form",{onSubmit:async function(r){r.preventDefault(),d(""),n?._id===i._id&&o();const c=new er.DeleteFeatureChange({changedIds:[i._id],typeName:"DeleteFeatureChange",assembly:a,deletedFeature:l.getSnapshot(i),parentFeatureId:i.parent?._id});await e.submit(c),s("Feature deleted successfully","success"),t(),r.preventDefault()}},T.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},T.default.createElement(c.DialogContentText,null,"Are you sure you want to delete the selected feature?")),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{variant:"contained",type:"submit"},"Yes"),T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),u?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},u)):null)}var XN={exports:{}};function QN({handleClose:e,session:t}){const[n,o]=f.useState(),[a,i]=f.useState(""),{collaborationServerDriver:s,getInternetAccount:u,inMemoryFileDriver:d}=t.apolloDataStore,p=[...s.getAssemblies(),...d.getAssemblies()];return T.default.createElement(kd,{open:!0,title:"Export GFF3",handleClose:e,maxWidth:!1,"data-testid":"download-gff3"},T.default.createElement("form",{onSubmit:async function(o){if(o.preventDefault(),i(""),!n)return void i("Must select assembly to download");const{internetAccountConfigId:a}=r.getConf(n,["sequence","metadata"]);a?await async function(e){if(!n)return void i("Must select assembly to download");const t=u(n.configuration.name,e),r=new URL("export/getID",t.baseURL),o=new URLSearchParams({assembly:n.name});r.search=o.toString();const a=r.toString(),s=t.getFetcher({locationType:"UriLocation",uri:a}),l=await s(a,{method:"GET"});if(!l.ok){const e=await bd(l,"Error when exporting ID");return void i(e)}const{exportID:c}=await l.json(),f=new URL("export",t.baseURL),d=new URLSearchParams({exportID:c,includeFASTA:"true"});f.search=d.toString();const p=f.toString();window.open(p,"_blank")}(a):function(e){if(!n)return void i("Must select assembly to download");const{assemblies:t}=e.apolloDataStore,o=t.get(n.name),a=o?.refSeqs;if(!a)return void i(`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 a){const{features:t}=e;if(t)for(const[,e]of t)s.push(er.annotationFeatureToGFF3(l.getSnapshot(e)))}for(const e of c){const{refName:t,seq:n}=e;s.push({id:t,description:"",sequence:n})}const u=hd.formatSync(s),f=new Blob([u],{type:"text/plain;charset=utf-8"});XN.exports.saveAs(f,`${n.displayName??n.name}.gff3`)}(t),e()}},T.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},T.default.createElement(c.DialogContentText,null,"Select assembly"),T.default.createElement(c.Select,{labelId:"label",value:n?.name??"",onChange:function(e){const t=p.find((t=>t.name===e.target.value));o(t)},disabled:0===p.length},p.map((e=>T.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name)))),T.default.createElement(c.DialogContentText,null,"Select assembly to export to GFF3")),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{disabled:!n,variant:"contained",type:"submit"},"Download"),T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:e},"Cancel"))),a?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},a)):null)}function eR({changeManager:e,handleClose:t,session:n}){const{apolloDataStore:o}=n,[a,i]=f.useState(),[s,l]=f.useState(),[u,d]=f.useState(""),[p,h]=f.useState(!1),[m,g]=f.useState(),[y,v]=f.useState(!1),[_,b]=f.useState(!1),{collaborationServerDriver:w,getInternetAccount:S}=o,x=w.getAssemblies();return f.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),a=new URLSearchParams({assemblyId:s.name});o.search=a.toString();const i=t.getFetcher({locationType:"UriLocation",uri:o.toString()});b(!0);const l=await i(o.toString(),{method:"GET"});if(!l.ok)throw new Error(await bd(l));{const e=await l.json();g(e.count)}b(!1)})().catch((e=>{console.error(e),d(e.message??e)}))}),[S,n,s]),T.default.createElement(kd,{open:!0,title:"Import Features from GFF3 file",handleClose:t,maxWidth:!1,"data-testid":"import-features-dialog"},_?T.default.createElement(F.default,null):null,T.default.createElement("form",{onSubmit:async function(o){o.preventDefault(),d(""),b(!0),h(!0);let i="";if(!a)return void d("must select a file");if(!s)return void d("Must select assembly to download");const{internetAccountConfigId:l}=r.getConf(s,["sequence","metadata"]),c=S(s.name,l),{baseURL:u}=c,f=new URL("files",u);f.searchParams.set("type","text/x-gff3");const p=f.href,m=new FormData;m.append("file",a),m.append("fileName",a.name),m.append("type","text/x-gff3");const g=c.getFetcher({locationType:"UriLocation",uri:p});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(p,{method:"POST",body:m,signal:e});if(!t.ok){const e=await bd(t,"Error when inserting new features (while uploading file)");return v.abortJob(w.name,e),void d(e)}i=(await t.json())._id}const x=new er.AddFeaturesFromFileChange({typeName:"AddFeaturesFromFileChange",assembly:s.name,fileId:i,deleteExistingFeatures:y});v.done(w),await e.submit(x,{updateJobsManager:!0})}},T.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},T.default.createElement(c.DialogContentText,null,"Select assembly"),T.default.createElement(c.Select,{labelId:"label",value:s?.name??"",onChange:function(e){const t=x.find((t=>t.name===e.target.value));l(t),h(!1)},disabled:p&&!u},x.map((e=>T.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name))))),T.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},T.default.createElement(c.DialogContentText,null,"Upload GFF3 to load features"),T.default.createElement("input",{type:"file",onChange:function(e){h(!1),e.target.files&&i(e.target.files[0])},disabled:p&&!u})),m&&m>0?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,null,"This assembly already has ",m," features, would you like to delete the existing features before importing new ones?"),T.default.createElement(M.default,{label:"Yes, delete existing features",disabled:p&&!u,control:T.default.createElement(P.default,{checked:y,onChange:function(e){v(e.target.checked)},inputProps:{"aria-label":"controlled"},color:"warning"})})):null,T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{disabled:!(s&&a&&void 0!==m)||p,variant:"contained",type:"submit"},p?"Submitting...":"Submit"),T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Close"))),u?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},u)):null)}function tR({handleClose:e,session:t}){const{internetAccounts:n}=l.getRoot(t),[r,o]=f.useState(""),a=n.filter((e=>"ApolloInternetAccount"===e.type));if(0===a.length)throw new Error("No Apollo internet account found");const[i,s]=f.useState(a[0]);return T.default.createElement(kd,{open:!0,title:"Log out",handleClose:e,maxWidth:!1,"data-testid":"log-out"},T.default.createElement("form",{onSubmit:function(e){e.preventDefault(),o(""),i.removeToken(),globalThis.location.reload()}},T.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},a.length>1?T.default.createElement(T.default.Fragment,null,T.default.createElement(c.DialogContentText,null,"Select account"),T.default.createElement(c.Select,{value:i.internetAccountId,onChange:function(e){const t=a.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=>T.default.createElement(c.MenuItem,{key:e.id,value:e.internetAccountId},e.name))))):null,T.default.createElement(c.DialogContentText,null,"Are you sure you want to log out?")),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{disabled:!i,variant:"contained",type:"submit"},"Log Out"),T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:e},"Cancel"))),r?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},r)):null)}function nR({handleClose:e,session:t}){const{internetAccounts:n}=l.getRoot(t),[r,o]=f.useState(),[a,i]=f.useState(""),[s,u]=f.useState(!1),d=n.filter((e=>"ApolloInternetAccount"===e.type));if(0===d.length)throw new Error("No Apollo internet account found");const[p,h]=f.useState(d[0]),[m,g]=f.useState([]),[y,v]=f.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 f.useEffect((()=>{(async function(){const{baseURL:e,getFetcher:t}=p,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 bd(o,"Error when retrieving checks from server");return void i(e)}const a=await o.json();g(a)})().catch((e=>{i(String(e))}))}),[p]),f.useEffect((()=>{b.length>0&&void 0===r&&o(b[0])}),[b,r]),f.useEffect((()=>{(async function(){if(!r)return;const{baseURL:e,getFetcher:t}=p,n=new URL(`/assemblies/${r.name}`,e).href,o=t({locationType:"UriLocation",uri:n}),a=await o(n,{method:"GET"});if(!a.ok){const e=await bd(a,"Error when retrieving assembly from server");return void i(e)}const s=await a.json();v(s.checks)})().catch((e=>{i(String(e))}))}),[r,p]),T.default.createElement(kd,{open:!0,title:"Manage Checks",handleClose:e,"data-testid":"manage-checks"},T.default.createElement("form",{onSubmit:async function(n){if(n.preventDefault(),!r)return void i("Must select assembly!");const{notify:o}=t,{baseURL:a,getFetcher:s}=p,l=new URL("assemblies/checks",a).href,c=s({locationType:"UriLocation",uri:l}),u=await c(l,{method:"POST",body:JSON.stringify({_id:r.name,checks:y,name:""}),headers:{"Content-Type":"application/json"}});if(u.ok)o("Assembly checks updated successfully","success"),e();else{const e=await bd(u,"Error when updating assembly checks");i(e)}}},T.default.createElement(c.DialogContent,null,d.length>1?T.default.createElement(T.default.Fragment,null,T.default.createElement(c.DialogContentText,null,"Select account"),T.default.createElement(c.Select,{value:p.internetAccountId,onChange:function(e){u(!1);const t=d.find((t=>t.internetAccountId===e.target.value));if(!t)throw new Error(`Could not find internetAccount with ID "${e.target.value}"`);h(t)},disabled:s&&!a},n.map((e=>T.default.createElement(c.MenuItem,{key:e.id,value:e.internetAccountId},e.name))))):null,T.default.createElement(c.DialogContentText,null,"Select assembly"),T.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=>T.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name)))),T.default.createElement("br",null),T.default.createElement("br",null),T.default.createElement(c.TableContainer,{component:c.Paper},T.default.createElement(c.Table,null,T.default.createElement(c.TableHead,null,T.default.createElement(c.TableRow,null,T.default.createElement(c.TableCell,null,"Check name"),T.default.createElement(c.TableCell,null,"Use check"))),T.default.createElement(c.TableBody,null,m.map((e=>T.default.createElement(c.TableRow,{key:e._id},T.default.createElement(c.TableCell,null,e.name),T.default.createElement(c.TableCell,null,T.default.createElement(c.Checkbox,{value:e._id,checked:y.includes(e._id),onChange:w}))))))))),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{variant:"contained",type:"submit"},"Submit"),T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:e},"Cancel"))),a?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},a)):null)}!function(e,t){!function(){function t(e,t,n){var r=new XMLHttpRequest;r.open("GET",e),r.responseType="blob",r.onload=function(){i(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":Y(window))&&window.window===window?window:"object"==("undefined"==typeof self?"undefined":Y(self))&&self.self===self?self:"object"==Y(L)&&L.global===L?L:void 0,a=o.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),i=o.saveAs||("object"!=("undefined"==typeof window?"undefined":Y(window))||window!==o?function(){}:"download"in HTMLAnchorElement.prototype&&!a?function(e,a,i){var s=o.URL||o.webkitURL,l=document.createElement("a");l.download=a=a||e.name||"download",l.rel="noopener","string"==typeof e?(l.href=e,l.origin===location.origin?r(l):n(l.href)?t(e,a,i):r(l,l.target="_blank")):(l.href=s.createObjectURL(e),setTimeout((function(){s.revokeObjectURL(l.href)}),4e4),setTimeout((function(){r(l)}),0))}:"msSaveOrOpenBlob"in navigator?function(e,o,a){if(o=o||e.name||"download","string"!=typeof e)navigator.msSaveOrOpenBlob(function(e,t){return void 0===t?t={autoBom:!1}:"object"!=Y(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,a),o);else if(n(e))t(e,o,a);else{var i=document.createElement("a");i.href=e,i.target="_blank",setTimeout((function(){r(i)}))}}:function(e,n,r,i){if((i=i||open("","_blank"))&&(i.document.title=i.document.body.innerText="downloading..."),"string"==typeof e)return t(e,n,r);var s="application/octet-stream"===e.type,l=/constructor/i.test(o.HTMLElement)||o.safari,c=/CriOS\/[\d]+/.test(navigator.userAgent);if((c||s&&l||a)&&"undefined"!=typeof FileReader){var u=new FileReader;u.onloadend=function(){var e=u.result;e=c?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),i?i.location.href=e:location=e,i=null},u.readAsDataURL(e)}else{var f=o.URL||o.webkitURL,d=f.createObjectURL(e);i?i.location=d:location.href=d,i=null,setTimeout((function(){f.revokeObjectURL(d)}),4e4)}});o.saveAs=i.saveAs=i,e.exports=i}()}(XN);var rR={},oR=Kl.exports;Object.defineProperty(rR,"__esModule",{value:!0});var aR=rR.default=void 0;function iR({changeManager:e,handleClose:t,session:n}){const{internetAccounts:r}=l.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[a,i]=f.useState(""),[s,u]=f.useState(o[0]),[d,p]=f.useState([]),h=f.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 bd(e,"Error when getting user data from db");return void i(t)}const r=await e.json();p(r.map((e=>void 0===e.role?{...e,role:""}:e)))}}),[s]);function m(e){return e===s.getUserId()}f.useEffect((()=>{h().catch((e=>{i(String(e))}))}),[h]);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=>[T.default.createElement(_.GridActionsCellItem,{key:`delete-${t.id}`,icon:T.default.createElement(aR,null),onClick:async()=>{globalThis.confirm("Delete this user?")&&await async function(t){const n=new er.DeleteUserChange({typeName:"DeleteUserChange",userId:t});await e.submit(n,{internetAccountId:s.internetAccountId}),p((e=>e.filter((e=>e._id!==t))))}(t.id)},disabled:m(t.id),label:"Delete"})]}];return T.default.createElement(kd,{open:!0,fullScreen:!0,title:"Manage users",handleClose:t,"data-testid":"manage-users"},T.default.createElement(c.DialogContent,null,o.length>1?T.default.createElement(T.default.Fragment,null,T.default.createElement(c.DialogContentText,null,"Select account"),T.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}"`);u(t)},disabled:!a},r.map((e=>T.default.createElement(c.MenuItem,{key:e.id,value:e.internetAccountId},e.name))))):null,T.default.createElement("div",{style:{height:"100%",width:"100%"}},T.default.createElement(_.DataGrid,{pagination:!0,rows:d,columns:g,getRowId:e=>e._id,slots:{toolbar:_.GridToolbar},getRowHeight:()=>"auto",isCellEditable:e=>!m(e.id),processRowUpdate:async function(t){const n=new er.UserChange({typeName:"UserChange",role:t.role,userId:t._id});return await e.submit(n,{internetAccountId:s.internetAccountId}),t},onProcessRowUpdateError:e=>{i(String(e))}}))),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Close")),a?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},a)):null)}aR=rR.default=(0,oR(Zl).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 sR=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 lR({handleClose:e,session:t}){const{apolloDataStore:r}=t,{addAssembly:o,addSessionAssembly:a,assemblyManager:i,notify:s}=t,[l,u]=f.useState(null),[d,p]=f.useState(""),[h,m]=f.useState(""),[g,y]=f.useState(!1),v=c.useTheme();return T.default.createElement(kd,{open:!0,title:"Open local GFF3 file",handleClose:e,maxWidth:!1,"data-testid":"open-local-file"},T.default.createElement("form",{onSubmit:async function(c){if(c.preventDefault(),m(""),y(!0),!l)throw new Error("No file selected");const u=await new Response(l).text(),f=`${d}-${l.name}-${sR(8)}`;try{await md(f,u,r)}catch(t){return console.error(t),s(`Error loading GFF3 ${l.name}, ${String(t)}`,"error"),void e()}const p={name:f,aliases:[d],displayName:d,sequence:{trackId:`sequenceConfigId-${d}`,type:"ReferenceSequenceTrack",adapter:{type:"ApolloSequenceAdapter",assemblyId:f},metadata:{apollo:!0,...n.isElectron?{file:l.path}:{}}}};await(a||o)(p);const h=await i.waitForAssembly(p.name);h?(t.addApolloTrackConfig(h),s(`Loaded GFF3 ${l.name}`,"success")):s(`Error loading GFF3 ${l.name}`,"error"),e()}},T.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},T.default.createElement(c.FormControl,null,T.default.createElement("div",{style:{flexDirection:"row"}},T.default.createElement(c.Button,{variant:"contained",component:"label",style:{marginRight:v.spacing()}},"Choose File",T.default.createElement("input",{type:"file",required:!0,hidden:!0,onChange:function(e){const t=e.target.files?.item(0);if(t&&(m(""),u(t),!d)){const e=t.name,n=e.lastIndexOf(".");p(-1===n?e:e.slice(0,n))}}})),l?l.name:"No file chosen"),T.default.createElement(c.FormHelperText,null,"Make sure your GFF3 has an embedded FASTA section")),T.default.createElement(c.TextField,{required:!0,label:"Assembly name",value:d,onChange:function(e){p(e.target.value)}})),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{disabled:!1,variant:"contained",type:"submit"},g?"Submitting...":"Submit"),T.default.createElement(c.Button,{disabled:g,variant:"outlined",type:"submit",onClick:e},"Cancel"))),h?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},h)):null)}const cR=u.makeStyles()((e=>({changeTextarea:{fontFamily:"monospace",width:600,resize:"none",border:`1px solid ${e.palette.divider}`,borderRadius:e.shape.borderRadius}})));function uR({handleClose:e,session:t}){const{internetAccounts:n}=l.getRoot(t),r=n.find((e=>"ApolloInternetAccount"===e.type));if(!r)throw new Error("No Apollo internet account found");const{baseURL:o}=r,{classes:a}=cR(),[i,s]=f.useState(),[u,d]=f.useState([]),[p,h]=f.useState(""),[m,g]=f.useState([]),y=[{field:"sequence"},{field:"typeName",headerName:"Change type",width:200,type:"singleSelect",valueOptions:[...B.changeRegistry.changes.keys()]},{field:"changes",headerName:"Change JSON",width:600,renderCell:({value:e})=>T.default.createElement("textarea",{className:a.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 f.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 bd(n,"Error when retrieving assemblies from server");return void s(e)}const r=await n.json();d(r)}})().catch((e=>{s(String(e))}))}),[r,o]),f.useEffect((()=>{!p&&u.length>0&&h(u[0]._id)}),[p,u]),f.useEffect((()=>{(async function(){if(!p)return;const e=new URL("changes",o),t=new URLSearchParams({assembly:p});e.search=t.toString();const n=e.toString(),a=r?.getFetcher({locationType:"UriLocation",uri:n});if(a){const e=await a(n,{headers:new Headers({"Content-Type":"application/json"})});if(!e.ok){const t=await bd(e,"Error when retrieving changes");return void s(t)}const t=await e.json();g(t)}})().catch((e=>{s(String(e))}))}),[p,r,o]),T.default.createElement(kd,{open:!0,fullScreen:!0,title:"View change log",handleClose:e,"data-testid":"view-changelog"},T.default.createElement(c.Select,{style:{width:200,marginLeft:40},value:p,onChange:function(e){h(e.target.value)}},u.map((e=>T.default.createElement(c.MenuItem,{key:e._id,value:e._id},e.name)))),T.default.createElement(c.DialogContent,null,T.default.createElement(_.DataGrid,{pagination:!0,rows:m,columns:y,getRowId:e=>e._id,slots:{toolbar:_.GridToolbar},initialState:{sorting:{sortModel:[{field:"sequence",sort:"desc"}]},columns:{columnVisibilityModel:{sequence:!1}}}})),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:e},"Close")),i?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},i)):null)}const fR=[{field:"refName",headerName:"Ref Name"},{field:"aliases",headerName:"Aliases",editable:!0}],dR=e=>/^[\da-f]{24}$/i.test(e);function pR({changeManager:e,handleClose:t,session:n}){const r=f.useRef(null),[o,a]=f.useState(""),[i,s]=f.useState(!1),[l,u]=f.useState(),[d,p]=f.useState([]),[h,m]=f.useState(new Map),{apolloDataStore:g}=n,{collaborationServerDriver:y}=g,v=y.getAssemblies();f.useEffect((()=>{let e=0;const t=()=>{if(!l)return;const n=new Map;if(e<2&&!l.refNames&&(e++,setTimeout(t,50)),!l.refNames)return;const r=l.refNameAliases;for(const e in r){const t=r[e];if(t&&!dR(e))if(n.has(t)){const r=n.get(t)??[];n.set(t,[...r,e])}else n.set(t,[e])}m(n)};t()}),[l]);const b=()=>[...h].map(((e,t)=>({id:t,refName:e[0],aliases:e[1].filter((t=>t!==e[0])).join(", ")})));return T.default.createElement(kd,{open:!0,title:"Add reference sequence aliases",handleClose:t,maxWidth:"sm","data-testid":"add-refseq-alias",fullWidth:!0},T.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},T.default.createElement(c.Grid2,{container:!0,spacing:2},T.default.createElement(c.Grid2,null,T.default.createElement(c.FormControl,{disabled:i&&!o,fullWidth:!0},T.default.createElement(c.InputLabel,{id:"demo-simple-select-label"},"Assembly"),T.default.createElement(c.Select,{labelId:"demo-simple-select-label",id:"demo-simple-select",label:"Assembly",value:l?.name??"",onChange:e=>{const t=v.find((t=>t.name===e.target.value));u(t),s(!1),a(""),r.current&&(r.current.value="")}},v.map((e=>T.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name)))))),T.default.createElement(c.Grid2,null,T.default.createElement(c.InputLabel,null,"Load RefName alias"),T.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(h);a("");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((()=>{a("Error reading file")}))},ref:r,disabled:i&&!o||!l}))),l&&h.size>0?T.default.createElement("div",{style:{height:200,width:"100%",marginTop:20}},T.default.createElement(c.InputLabel,null,"Refname aliases found for selected assembly."),T.default.createElement(_.DataGrid,{rows:b(),columns:fR,initialState:{pagination:{paginationModel:{page:0,pageSize:5}}},pageSizeOptions:[5,10],onRowSelectionModelChange:e=>{(e=>{if(e.length>0){s(!0);const t=e.flatMap((e=>b().filter((t=>t.id===e))));p(t)}else s(!1),p([])})(e)},processRowUpdate:(e,t)=>{const n=new Map(h);return n.set(e.refName,e.aliases.split(",")),m(n),e},checkboxSelection:!0})):null),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{variant:"contained",type:"submit",disabled:!i,onClick:()=>{const n=[];for(const e of d){const{refName:t}=e,r=e.aliases.split(",").map((e=>e.trim())).filter((e=>e.length>0));n.push({refName:t,aliases:r})}if(a(""),!l)return void a("No assembly selected");const r=new er.AddRefSeqAliasesChange({typeName:"AddRefSeqAliasesChange",assembly:l.name,refSeqAliases:n});e.submit(r).catch((()=>{a("Error submitting change")})),t()}},"Submit"),T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Close")),o?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},o)):null)}function hR({handleClose:e,session:t}){const{internetAccounts:n}=l.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:a}=o,[i,s]=f.useState(),[u,d]=f.useState(),[p,h]=f.useState([]),m=r.getAssemblies();return f.useEffect((()=>{!u&&m.length>0&&d(m[0])}),[m,u]),f.useEffect((()=>{(async function(){const e=u?.name;if(!e)return;const t=new URL("checks",a),n=new URLSearchParams({assembly:e});t.search=n.toString();const r=t.toString(),i=o?.getFetcher({locationType:"UriLocation",uri:r});if(i){const e=await i(r,{headers:new Headers({"Content-Type":"application/json"})});if(!e.ok){const t=await bd(e,"Error when retrieving checks");return void s(t)}const t=await e.json();h(t)}})().catch((e=>{s(String(e))}))}),[u,o,a]),T.default.createElement(kd,{open:!0,fullScreen:!0,title:"View check results",handleClose:e,"data-testid":"view-check-results"},T.default.createElement(c.Select,{style:{width:200,marginLeft:40},value:u?.name??"",onChange:function(e){const t=m.find((t=>t.name===e.target.value));d(t)},disabled:0===m.length},m.map((e=>T.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name)))),T.default.createElement(c.DialogContent,null,T.default.createElement(_.DataGrid,{pagination:!0,rows:p,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:_.GridToolbar},initialState:{sorting:{sortModel:[{field:"name",sort:"asc"}]},columns:{columnVisibilityModel:{name:!0}}}})),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:e},"Close")),i?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},i)):null)}var mR={},gR=Kl.exports;Object.defineProperty(mR,"__esModule",{value:!0});var yR=mR.default=void 0;function vR(e){const{color:t}=e;return T.default.createElement(c.SvgIcon,{viewBox:"0 0 18 18",style:{fontSize:18,marginRight:4},...e},"disabled"===t?T.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"}):T.default.createElement(T.default.Fragment,null,T.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"}),T.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"}),T.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"}),T.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 _R(e){const{color:t}=e;return T.default.createElement(c.SvgIcon,{viewBox:"0 0 21 21",style:{fontSize:21},...e},T.default.createElement("rect",{x:"1",y:"1",width:"9",height:"9",fill:"disabled"===t?"#7B7B7B":"#F25022"}),T.default.createElement("rect",{x:"1",y:"11",width:"9",height:"9",fill:"disabled"===t?"#7B7B7B":"#00A4EF"}),T.default.createElement("rect",{x:"11",y:"1",width:"9",height:"9",fill:"disabled"===t?"#939393":"#7FBA00"}),T.default.createElement("rect",{x:"11",y:"11",width:"9",height:"9",fill:"disabled"===t?"#B9B9B9":"#FFB900"}))}yR=mR.default=(0,gR(Zl).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 bR=u.makeStyles()((e=>({loginButton:{marginBottom:e.spacing(1),width:"220px",height:"40px",fontSize:"16px",textTransform:"none",justifyContent:"left",padding:"3px 12px"}})));function wR(e){const{classes:t}=bR(),{disabled:n}=e;return T.default.createElement(c.Button,{className:t.loginButton,variant:"outlined",startIcon:T.default.createElement(vR,{color:n?"disabled":void 0}),...e},"Sign in with Google")}function SR(e){const{classes:t}=bR(),{disabled:n}=e;return T.default.createElement(c.Button,{className:t.loginButton,variant:"outlined",startIcon:T.default.createElement(_R,{color:n?"disabled":void 0}),...e},"Sign in with Microsoft")}function xR(e){const{classes:t}=bR();return T.default.createElement(c.Button,{className:t.loginButton,variant:"outlined",startIcon:T.default.createElement(yR,{fontSize:"small"}),...e},"Continue as Guest")}const ER=u.makeStyles()((e=>({divider:{marginTop:e.spacing(4),marginBottom:e.spacing(5)}}))),kR=({baseURL:e,handleClose:t,name:n})=>{const{classes:r}=ER(),[o,a]=f.useState(""),[i,s]=f.useState([]);function l(e){t("google"===e?"google":"microsoft"===e?"microsoft":"guest")}f.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 bd(r,"Error when retrieving auth types from server");return void a(e)}const o=await r.json();s(o)}().catch((e=>{cN(e)||a(String(e))})),()=>{t.abort()}}),[e]);const u=i.includes("google"),d=i.includes("microsoft"),p=i.includes("guest");return T.default.createElement(kd,{open:!0,title:`Log in to ${n}`,handleClose:t,maxWidth:!1,"data-testid":"login-apollo"},T.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column",paddingTop:8}},u?T.default.createElement(wR,{disabled:!u,onClick:()=>{l("google")}}):null,d?T.default.createElement(SR,{disabled:!d,onClick:()=>{l("microsoft")}}):null,p?T.default.createElement(T.default.Fragment,null,T.default.createElement(c.Divider,{className:r.divider}),T.default.createElement(xR,{onClick:()=>{l("guest")}})):null),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:()=>{t()}},"Cancel")),o?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},o)):null)},AR="undefined"==typeof sessionStorage,OR=e=>o.InternetAccount.named("ApolloInternetAccount").props({type:l.types.literal("ApolloInternetAccount"),configuration:r.ConfigurationReference(e)}).views((e=>({get baseURL(){return r.getConf(e,"baseURL")},getUserId(){const t=e.retrieveToken();if(t)return er.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=er.getDecodedToken(n),{role:o}=r;if(!o&&!t){const{session:n}=l.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("#","?"),a=new URL(o),i=new URLSearchParams(a.search).get("access_token");this.deleteMessageChannel(),i?(e.storeToken(i),e.setRole(),n(i)):r(new Error("Error with token endpoint"))},async openAuthWindow(t,r,o){const a=n.isElectron?"http://localhost/auth":globalThis.location.origin+globalThis.location.pathname,i=new URL("auth/login",e.baseURL),s=new URLSearchParams({type:t,redirect_uri:a});i.search=s.toString();const l=`JBrowseAuthWindow-${e.internetAccountId}`;if(n.isElectron){const{ipcRenderer:t}=globalThis.require("electron"),n=await t.invoke("openAuthWindow",{internetAccountId:e.internetAccountId,data:{redirect_uri:a},url:i.toString()}),s=new MessageEvent("message",{data:{name:l,redirectUri:n}});this.finishOAuthWindow(s,r,o)}else this.addMessageChannel(r,o),window.open(i,l,"width=500,height=600")}}})).actions((e=>({async getTokenFromUser(t,n){const{baseURL:r}=e,o=await new Promise(((t,n)=>{const{session:r}=l.getRoot(e),{baseURL:o,name:a}=e;r.queueDialog((e=>[kR,{name:a,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 a=new URL("auth/login",r),i=new URLSearchParams({type:o});a.search=i.toString();const s=a.toString(),c=await fetch(s);if(!c.ok){const e=await bd(c,"Error when logging in");return void n(new Error(e))}const{token:u}=await c.json();t(u)}}))).volatile((()=>({lastChangeSequenceNumber:void 0}))).actions((e=>({setLastChangeSequenceNumber(t){e.lastChangeSequenceNumber=t}}))).actions((e=>({updateLastChangeSequenceNumber:l.flow((function*(){const{baseURL:t}=e,n=new URL("changes",t),r=new URLSearchParams({limit:"1"});n.search=r.toString();const o=n.toString(),a=e.getFetcher({locationType:"UriLocation",uri:o}),i=yield a(o,{method:"GET"});if(!i.ok){const e=yield bd(i,"Error when fetching server LastChangeSequence");throw new Error(e)}const s=yield i.json();e.setLastChangeSequenceNumber(s.length>0?s[0].sequence:0)})),getMissingChanges:l.flow((function*(){const{session:t}=l.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,a=new URL("changes",r),i=new URLSearchParams({since:String(o),sort:"1"});a.search=i.toString();const s=a.toString(),c=e.getFetcher({locationType:"UriLocation",uri:s}),u=yield c(s,{method:"GET"});if(!u.ok)return void console.error(`Error when fetching the last updates to recover socket connection — ${u.status}`);const f=yield u.json();for(const e of f){const t=B.Change.fromJSON(e);n.submit(t,{submitToBackend:!1})}}))}))).volatile((e=>{const{origin:t,pathname:n}=new URL("socket.io/",e.baseURL);return{socket:xu(t,{path:n})}})).actions((e=>({addSocketListeners(){const{session:t}=l.getRoot(e),{notify:n}=t,r=e.retrieveToken();if(!r)throw new Error("No Token found");const{socket:o}=e,{addCheckResult:a,changeManager:i,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()):a(e.checkResult));if(sessionStorage.setItem("LastChangeSequence",String(e.changeSequence)),e.userSessionId===r)return;const t=B.Change.fromJSON(e.changeInfo);i.submit(t,{submitToBackend:!1})})),o.on("USER_LOCATION",(e=>{const{channel:n,locations:o,userName:a,userSessionId:i}=e,s=er.getDecodedToken(r),l=er.makeUserSessionId(s);"USER_LOCATION"===n&&i!==l&&t.addOrUpdateCollaborator({name:a,id:i,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)),a=e.getFetcher({locationType:"UriLocation",uri:r});try{if(!(await a(r,{method:"POST",body:o})).ok)throw new Error("ignore")}catch{console.error("Broadcasting user location failed")}}(t)}),300)}})()}))).actions((e=>({initialize:l.flow((function*(t){if("admin"===t){const t=l.getRoot(e);n.isAbstractMenuManager(t)&&function(e){e.appendToMenu("Apollo",{label:"Add Assembly",onClick:e=>{e.queueDialog((t=>[Ud,{session:e,handleClose:()=>{t()},changeManager:e.apolloDataStore.changeManager}]))}}),e.appendToMenu("Apollo",{label:"Delete Assembly",onClick:e=>{e.queueDialog((t=>[KN,{session:e,handleClose:()=>{t()},changeManager:e.apolloDataStore.changeManager}]))}}),e.appendToMenu("Apollo",{label:"Import Features",onClick:e=>{e.queueDialog((t=>[eR,{session:e,handleClose:()=>{t()},changeManager:e.apolloDataStore.changeManager}]))}}),e.appendToMenu("Apollo",{label:"Add reference sequence aliases",onClick:e=>{e.queueDialog((t=>[pR,{session:e,handleClose:()=>{t()},changeManager:e.apolloDataStore.changeManager}]))}}),e.appendToMenu("Apollo",{label:"Manage Users",onClick:e=>{e.queueDialog((t=>[iR,{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,a=e.getFetcher({locationType:"UriLocation",uri:o});yield a(o,{method:"GET"}),window.addEventListener("beforeunload",(()=>{e.postUserLocation([])})),document.addEventListener("visibilitychange",(()=>{if("hidden"===document.visibilityState&&e.postUserLocation([]),"visible"===document.visibilityState){const{session:t}=l.getRoot(e);t.broadcastLocations()}}))}))}))).actions((e=>({afterAttach(){e.setRole(),s.autorun((async t=>{if(AR)return;const{session:n}=l.getRoot(e);n&&e.role&&(await e.initialize(e.role),t.dispose())}),{name:"ApolloInternetAccount"})}})));var CR={};function NR(e){return"uniqueId"in e&&"object"!==Y(e.data)}Object.defineProperty(CR,"__esModule",{value:!0}),CR.isFeature=function(e){return"object"===Y(e)&&null!==e&&"function"==typeof e.get&&"function"==typeof e.id};var RR=function(){function e(t){var n,r=this;X(this,e),NR(t)?this.data=t:(this.data=t.data,this.parentHandle=t.parent);var o=NR(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:V({strand:r.data.strand},t),parent:r}):t})))}return ee(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=V(V({},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(V({},t))}}]),e}(),TR=CR.default=RR;function IR(e){return"object"==typeof e&&null!==e&&"apollo"in e&&!0===e.apollo}const PR="undefined"==typeof sessionStorage;class MR extends w.BaseSequenceAdapter{regions;async getRefNames(){return(await this.getRegions()).map((e=>e.refName))}async getRegions(){if(this.regions)return this.regions;const e=r.readConfObject(this.config,"assemblyId");if(!PR){const t=this.pluginManager?.rootModel?.session?.apolloDataStore;if(!t)throw new Error("No Apollo data store found");const n=t.getBackendDriver(e),r=await n.getRegions(e);return this.regions=r,r}const t=await new Promise(((t,n)=>{const r=setTimeout((()=>{n("timeout")}),2e4),o=sR(),a=e=>{const{data:n}=e;IR(n)&&n.messageId===o&&(clearTimeout(r),removeEventListener("message",a),t(n.regions))};addEventListener("message",a),globalThis.rpcServer.emit("apollo",{apollo:!0,method:"getRegions",assembly:e,messageId:o})}));return this.regions=t,t}getFeatures(e){const{end:t,refName:n,start:o}=e,a=r.readConfObject(this.config,"assemblyId"),i={...e,assemblyName:a};return S.ObservableCreate((async e=>{if(!PR){const r=this.pluginManager?.rootModel?.session?.apolloDataStore;if(!r)return void e.error("No Apollo data store found");const s=r.getBackendDriver(a),l=(await s.getRegions(i.assemblyName)).find((e=>e.refName===i.refName));if(!l)return void e.error("Cannot get region");i.end>l.end&&(i.end=l.end);const{seq:c}=await s.getSequence(i);return e.next(new TR({id:`${n} ${o}-${t}`,data:{refName:n,start:o,end:t,seq:c}})),void e.complete()}const r=await new Promise(((e,t)=>{const n=setTimeout((()=>{t("timeout")}),2e4),r=sR(),o=t=>{const{data:a}=t;IR(a)&&a.messageId===r&&(clearTimeout(n),removeEventListener("message",o),e(a.sequence))};addEventListener("message",o),globalThis.rpcServer.emit("apollo",{apollo:!0,method:"getSequence",region:i,messageId:r})}));e.next(new TR({id:`${n} ${o}-${t}`,data:{refName:n,start:o,end:t,seq:r}})),e.complete()}))}freeResources(){}}var FR=r.ConfigurationSchema("ApolloSequenceAdapter",{assemblyId:{type:"string",defaultValue:""}},{explicitlyTyped:!0});function jR(e,t,n,r,o,a){const i=r/o;e.fillStyle="black",e.fillRect(t,n,i,a),i>2&&(e.clearRect(t+1,n+1,i-2,a-2),e.fillStyle="rgba(255,255,255,0.75)",e.fillRect(t+1,n+1,i-2,a-2))}var LR=p.observer((function(e){const[t,o]=f.useState(),[a,i]=f.useState(),u=f.useRef(null),d=f.useRef(null),p=f.useRef(null),[h,m]=f.useState(!1),[g,y]=f.useState(!0),[v,_]=f.useState(),[b,w]=f.useState(!1),[S,x]=f.useState([]),{bpPerPx:E,displayModel:k,regions:A}=e,{session:O}=k,{collaborators:C}=O;f.useEffect((()=>s.autorun((()=>{x(s.toJS(C))}))),[]);const[N]=A,R=(N.end-N.start)/E,{apolloFeatureUnderMouse:I,apolloRowHeight:P,apolloRowUnderMouse:M,changeManager:F,codonLayout:j,featureLayout:L,features:D,featuresHeight:q,getAssemblyId:B,selectedFeature:U,setApolloFeatureUnderMouse:z,setApolloRowUnderMouse:G,setSelectedFeature:H,showIntronLines:W,showStartCodons:$,showStopCodons:V}=k,J=[...D.values()].map((e=>[...e.values()].map((e=>l.getSnapshot(e))))),Y=f.useMemo((()=>{const{internetAccounts:e}=l.getRoot(O),{assemblyName:t}=N,{assemblyManager:o}=n.getSession(k),a=o.get(t);if(!a)throw new Error(`No assembly found with name ${t}`);const{internetAccountConfigId:i}=r.getConf(a,["sequence","metadata"]),s=e.find((e=>r.getConf(e,"internetAccountId")===i));if(!s)throw new Error(`No InternetAccount found with config id ${i}`);return s}),[k,N,O]),{role:K}=Y;return f.useEffect((()=>{K?.includes("admin")&&m(!0),(K?.includes("admin")??K?.includes("user"))&&y(!1)}),[K]),f.useEffect((()=>{const e=u.current;if(!e)return;const t=e.getContext("2d");if(!t)return;const n={};t.clearRect(0,0,R,q);for(const[e,r]of L)for(const[o,a]of r){const r=N.reversed?N.end-a.max:a.min-N.start-1,i=a.max-N.start-1,s=r/E,l=i/E;jR(t,s,e*P,i-r,E,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]===l&&e[1]===c))||n[o].push([l,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[a]=o;for(const[n,r]of o.entries())if(0!==n){if(n%2==0){const n=[(r[0]-a[0])/2+a[0],Math.max(1,Math.min(a[1],r[1])-P/2+2*e)];t.beginPath(),t.moveTo(a[0],a[1]+2*e),t.lineTo(...n),t.stroke(),t.moveTo(...n),t.lineTo(r[0],r[1]+2*e),t.stroke()}a=r}e+=1}}}),[W,N,E,N.start,N.end,N.reversed,R,L,q,D,P,J]),f.useEffect((()=>{const e=p.current;if(!e)return;const t=e.getContext("2d");if(t){t.clearRect(0,0,R,q);for(const[e,{starts:n,stops:r}]of j){const o=E;for(const r of n){const n=r/o;N.start/o<=n&&n<=N.end/o&&(t.fillStyle="rgba(255,0,255,1)",$?t.fillRect(Math.round(n-.5-N.start/o),e*P,1,P):t.clearRect(Math.round(n-.5-N.start/o),e*P,1,P))}for(const n of r){const r=n/o;N.start/o<=r&&r<=N.end/o&&(t.fillStyle="black",V?t.fillRect(Math.round(r-.5-N.start/o),e*P,1,P):t.clearRect(Math.round(r-.5-N.start/o),e*P,1,P))}}}}),[$,V,j,R,q,E,P,N,N.start,N.end]),f.useEffect((()=>{const e=d.current;if(!e)return;const t=e.getContext("2d");if(t){t.clearRect(0,0,R,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,a=(N.reversed?N.end-o:o-N.start)/E,i=(n-o)/E;t.fillStyle="rgba(0,255,0,.2)",t.fillRect(a,1,i,100),t.fillStyle="black",t.fillText(e.name,a+1,11,i-2)}}}}),[I,M,E,q,R,N,N.start,N.end,N.reversed,v,P,S]),T.default.createElement("div",{style:{position:"relative",width:R,height:q}},T.default.createElement(c.Menu,{open:Boolean(a),anchorReference:"anchorPosition",anchorPosition:t?{left:t[0],top:t[1]}:void 0,"data-testid":"base_linear_display_context_menu",onClose:()=>{i(void 0)}},T.default.createElement(c.MenuItem,{disabled:g,key:1,value:1,onClick:()=>{if(!a)return;const e=B(N.assemblyName);O.queueDialog((t=>[$N,{session:O,handleClose:()=>{t(),i(void 0)},changeManager:F,sourceFeature:a,sourceAssemblyId:e,internetAccount:Y}]))}},"Add child feature"),T.default.createElement(c.MenuItem,{disabled:g,key:2,value:2,onClick:()=>{if(!a)return;const e=B(N.assemblyName);O.queueDialog((t=>[YN,{session:O,handleClose:()=>{t(),i(void 0)},changeManager:F,sourceFeature:a,sourceAssemblyId:e}]))}},"Copy features and annotations"),T.default.createElement(c.MenuItem,{disabled:!h,key:3,value:3,onClick:()=>{if(!a)return;const e=B(N.assemblyName);O.queueDialog((t=>[ZN,{session:O,handleClose:()=>{t(),i(void 0)},changeManager:F,sourceFeature:a,sourceAssemblyId:e,selectedFeature:U,setSelectedFeature:H}]))}},"Delete feature")),T.default.createElement("canvas",{ref:u,width:R,height:q,style:{position:"absolute",left:0,top:0}}),T.default.createElement("canvas",{ref:d,width:R,height:q,onMouseLeave:function(){z(),G()},onMouseUp:async function(){if(b){if(v){const e=B(N.assemblyName),{bp:t,edge:n,feature:r}=v;let o;if("end"===n){const n=r._id,a=r.max,i=Math.round(t);o=new er.LocationEndChange({typeName:"LocationEndChange",changedIds:[n],featureId:n,oldEnd:a,newEnd:i,assembly:e})}else{const n=r._id,a=r.min,i=Math.round(t);o=new er.LocationStartChange({typeName:"LocationStartChange",changedIds:[n],featureId:n,oldStart:a,newStart:i,assembly:e})}await F.submit(o)}}else I&&H(I);_(void 0),w(!1)},onContextMenu:function(e){e.preventDefault(),i(I),o([e.pageX,e.pageY])},style:{position:"absolute",left:0,top:0}}),T.default.createElement("canvas",{ref:p,width:R,height:6*P,style:{position:"absolute",left:0,top:0}}))})),DR=r.ConfigurationSchema("ApolloSixFrameRenderer",{},{explicitlyTyped:!0});class qR extends o.RendererType{async renderInClient(e,t){return this.render(t)}async freeResourcesInClient(e,t){return 0}}var BR={};Object.defineProperty(BR,"__esModule",{value:!0}),BR.RefSequenceResult=void 0;var UR=function(){function e(t){X(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 ee(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}(),zR=BR.default=UR,GR=function(e){ne(n,e);var t=ce(n);function n(e){var r,o;return X(this,n),(r=t.call(this,e)).refName=null!==(o=e.refName)&&void 0!==o?o:"",r}return ee(n,[{key:"getLocation",value:function(){return this.refName}}]),n}(UR);BR.RefSequenceResult=GR;class HR extends w.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 zR({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:a}=r;for(const r of this.assemblyNames){const i=o.getBackendDriver(r),s=a.get(r);if(!i||!s)continue;const l=await i.searchFeatures(e.queryString,[r]);n.push(...this.mapBaseResult(l,s,t))}return n}freeResources(){}}var WR=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 $R=r.ConfigurationSchema("ApolloPlugin",{ontologies:l.types.array(UN),featureTypeOntologyName:{description:"Name of the feature type ontology",type:"string",defaultValue:"Sequence Ontology"}});function VR(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:a}=t,i=o.get(a);if(!i)throw new Error(`Could not find assembly named ${a}`);return i},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 a=[...Object.entries(o)].filter((([e,t])=>e!==t)).map((([e,t])=>({_id:e,name:t}))),i=a.find((e=>e.name===r))?._id;if(!i)throw new Error(`Could not find refSeqId named ${r}`);return i},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 a=0;const i=t.get("start");let s;const l=[];for(const[e,t]of o)"M"===e||"="===e?void 0===s&&(s=a+i):"N"===e&&void 0!==s&&(l.push({start:s,end:a+s}),s=void 0),"I"!==e&&(a+=t);void 0!==s&&l.push({start:s,end:a+i});const c={_id:$n().toHexString(),refSeq:r,min:t.get("start"),max:t.get("end"),type:"mRNA",strand:t.get("strand")};if(0===l.length)return c;c.children={};const[u]=l,f={_id:$n().toHexString(),refSeq:r,min:u.start,max:u.end,type:"CDS",strand:t.get("strand")};if(c.children[f._id]=f,1===l.length){const e={_id:$n().toHexString(),refSeq:r,min:u.start,max:u.end,type:"exon",strand:t.get("strand")};return c.children[e._id]=e,c}for(const e of l){f.min=Math.min(f.min,e.start),f.max=Math.max(f.max,e.end);const{end:n,start:o}=e,a={_id:$n().toHexString(),refSeq:r,min:o,max:n,type:"exon",strand:t.get("strand")};c.children[a._id]=a}return c},async onPileupFeatureContext(){const t=e.createFeature(),r=e.getAssembly(),o=new er.AddFeatureChange({changedIds:[t._id],typeName:"AddFeatureChange",assembly:r.name,addedFeature:t}),a=n.getSession(e);await a.apolloDataStore.changeManager.submit(o),a.notify("Annotation added successfully","success")}}))).views((e=>{const t=e.contextMenuItems;return{contextMenuItems:()=>e.contextMenuFeature?[...t(),{label:"Create Apollo annotation",icon:Ql,onClick:e.onPileupFeatureContext}]:t()}}));return e.stateModel=r,e}const JR=(e,t)=>{const{featureTypeOntology:n}=t.apolloDataStore.ontologyManager;if(!n)throw new Error("featureTypeOntology is undefined");return n.isTypeOf(e.type,"gene")||n.isTypeOf(e.type,"transcript")||n.isTypeOf(e.type,"pseudogene")||n.isTypeOf(e.type,"pseudogenic_transcript")},YR=(e,t)=>{const{featureTypeOntology:n}=t.apolloDataStore.ontologyManager;if(!n)throw new Error("featureTypeOntology is undefined");return n.isTypeOf(e.type,"gene")||n.isTypeOf(e.type,"pseudogene")},KR=(e,t)=>{const{featureTypeOntology:n}=t.apolloDataStore.ontologyManager;if(!n)throw new Error("featureTypeOntology is undefined");return n.isTypeOf(e.type,"transcript")||n.isTypeOf(e.type,"pseudogenic_transcript")},ZR=e=>{const{attributes:t}=e,n=t?.id;return n?n[0]:e.type},XR=(e,t)=>{const{featureTypeOntology:n}=t.apolloDataStore.ontologyManager;if(!n)return ZR(e);let r="";n.isTypeOf(e.type,"gene")&&(r="gene_name"),n.isTypeOf(e.type,"transcript")&&(r="transcript_name");const{attributes:o}=e,a=o?.[r];return a?a[0]:ZR(e)};function QR({annotationFeature:e,assembly:t,handleClose:n,refSeqId:r,session:o}){const a=o,i=f.useMemo((()=>Object.keys(e.children??{})),[e]),s=f.useMemo((()=>{for(const[,e]of a.apolloDataStore.assemblies)if(e._id===t.name)for(const[,t]of e.refSeqs)if(t._id===r)return t.features;return[]}),[]),[u,d]=f.useState(!0),[p,h]=f.useState(i),[m,g]=f.useState(""),[y,v]=f.useState([]),[_,b]=f.useState();return f.useEffect((()=>{g("");let t=[],n=[];if(e.children){const r=Object.values(e.children).filter((e=>KR(e,a))).filter((e=>p.includes(e._id)));t=r.map((e=>e.min)),n=r.map((e=>e.max))}const{featureTypeOntology:r}=a.apolloDataStore.ontologyManager;r&&r.isTypeOf(e.type,"transcript")&&(t=[e.min,...t],n=[e.max,...n]);const o=((e,t)=>{const n=[];for(const[,r]of s){if("chromosome"===r.type)continue;const o=l.getSnapshot(r);e>=o.min&&t<=o.max&&n.push(o)}return n})(Math.min(...t),Math.max(...n));v(o),b(o[0])}),[p,u]),T.default.createElement(kd,{open:!0,title:"Create Apollo Annotation",handleClose:n,fullWidth:!0,maxWidth:"sm"},T.default.createElement(c.DialogTitle,{fontSize:15},"Select the feature to be copied to apollo track"),T.default.createElement(c.DialogContent,null,T.default.createElement(c.Box,{sx:{ml:3}},JR(e,a)&&T.default.createElement(c.FormControlLabel,{control:T.default.createElement(c.Checkbox,{size:"small",checked:u,onChange:e=>{const t=e.target.checked;d(t),h(t?i:[])}}),label:`${XR(e,a)} (${e.min+1}..${e.max})`}),e.children&&T.default.createElement(c.Box,{sx:{display:"flex",flexDirection:"column",ml:3}},Object.values(e.children).filter((e=>KR(e,a))).map((e=>T.default.createElement(c.FormControlLabel,{key:e._id,control:T.default.createElement(c.Checkbox,{size:"small",checked:p.includes(e._id),onChange:t=>{((e,t)=>{h((n=>e.target.checked?[...n,t._id]:n.filter((e=>e!==t._id))))})(t,e)}}),label:`${XR(e,a)} (${e.min+1}..${e.max})`}))))),y.length>0&&(!u&&p.length>0||u&&KR(e,a))&&T.default.createElement(c.Box,{sx:{ml:3}},T.default.createElement(c.Typography,{variant:"caption",fontSize:12},"Select the destination feature to copy the selected features"),T.default.createElement(c.Box,{sx:{mt:1}},T.default.createElement(c.Select,{labelId:"label",style:{width:"100%"},value:_?._id??"",onChange:e=>{const t=y.find((t=>t._id===e.target.value));b(t)}},y.map((e=>T.default.createElement(c.MenuItem,{key:e._id,value:e._id},`${XR(e,a)} (${e.min}..${e.max})`))))))),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{variant:"contained",type:"submit",disabled:0===p.length||!u&&p.length>0&&!_,onClick:async()=>{if(u){let r;if(YR(e,a))if(e.children&&p.length!==Object.values(e.children).length){const n={};for(const t of p)n[t]=e.children[t];r=new er.AddFeatureChange({changedIds:[e._id],typeName:"AddFeatureChange",assembly:t.name,addedFeature:{...e,children:n}})}else r=new er.AddFeatureChange({changedIds:[e._id],typeName:"AddFeatureChange",assembly:t.name,addedFeature:e});if(KR(e,a)){if(!_)return void g("There is no destination gene for this transcript");r=new er.AddFeatureChange({parentFeatureId:_._id,changedIds:[_._id],typeName:"AddFeatureChange",assembly:t.name,addedFeature:e})}if(!r)return;await a.apolloDataStore.changeManager.submit(r),o.notify("Annotation added successfully","success"),n()}else{if(!e.children)return;if(!_)return;for(const n of p){const r=new er.AddFeatureChange({parentFeatureId:_._id,changedIds:[_._id],typeName:"AddFeatureChange",assembly:t.name,addedFeature:e.children[n]});await a.apolloDataStore.changeManager.submit(r)}o.notify("Annotation added successfully","success"),n()}}},"Create"),T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:n},"Cancel")),m?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},m)):null)}function eT(e,t){const n=JSON.parse(JSON.stringify(e)),r=n.subfeatures;return[{start:n.start+1,end:n.end,seq_id:t,source:n.source??null,type:n.type??null,score:n.score??null,strand:n.strand?1===n.strand?"+":"-":null,phase:null!==n.phase||void 0!==n.phase?n.phase:null,attributes:nT(n),derived_features:[],child_features:r?r.map((e=>eT(e,t))):[]}]}function tT(e,t){return er.gff3ToAnnotationFeature(eT(e,t))}function nT(e){const t={},n=new Set(["start","end","type","strand","refName","subfeatures","derived_features","phase","source","score"]);for(const[r,o]of Object.entries(e))n.has(r)||(t[r]=Array.isArray(o)?o.map(String):[String(o)]);return t}function rT(e){if("LinearBasicDisplay"!==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:a}=t,i=o.get(a);if(!i)throw new Error(`Could not find assembly named ${a}`);return i},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 a=[...Object.entries(o)].filter((([e,t])=>e!==t)).map((([e,t])=>({_id:e,name:t}))),i=a.find((e=>e.name===r))?._id;if(!i)throw new Error(`Could not find refSeqId named ${r}`);return i},getAnnotationFeature(t){const n=e.getRefSeqId(t);return tT(e.contextMenuFeature.data,n)}}))).views((e=>{const t=e.contextMenuItems;return{contextMenuItems(){const r=n.getSession(e),o=e.getAssembly();return e.contextMenuFeature?[...t(),{label:"Create Apollo annotation",icon:Ql,onClick:()=>{r.queueDialog((t=>[QR,{session:r,handleClose:()=>{t()},annotationFeature:e.getAnnotationFeature(o),assembly:o,refSeqId:e.getRefSeqId(o)}]))}}]:t()}}}));return e.stateModel=r,e}var oT={},aT=Kl.exports;Object.defineProperty(oT,"__esModule",{value:!0});var iT=oT.default=void 0;iT=oT.default=(0,aT(Zl).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 sT={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,a=/[a-z0-9_]/i,i=/\s+/;e.exports=function(e,t,n){var s,l;l={insideWords:!1,findAllOccurrences:!1,requireMatchAll:!1},s=(s=n)||{},Object.keys(s).forEach((function(e){l[e]=!!s[e]})),n=l;var c=Array.from(e).map((function(e){return r(e)})),u=c.join("");return(t=r(t)).trim().split(i).filter((function(e){return e.length>0})).reduce((function(e,t){var r,i,s=t.length,l=!n.insideWords&&a.test(t[0])?"\\b":"",f=new RegExp(l+t.replace(o,"\\$&"),"i");if(r=f.exec(u),n.requireMatchAll&&null===r)return u="",[];for(;r;){var d=s-c.slice(i=r.index,i+s).join("").length,p=i-c.slice(0,i).join("").length,h=[i+p,i+s+p+d];if(h[0]!==h[1]&&e.push(h),u=u.slice(0,i)+new Array(s+1).join(" ")+u.slice(i+s),!n.findAllOccurrences)break;r=f.exec(u)}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,""),a=function(e){return e.replace(r,(function(e){return t[e]}))};e.exports=a,e.exports.has=function(e){return!!e.match(o)},e.exports.remove=a}},t={},function n(r){var o=t[r];if(void 0!==o)return o.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,n),a.exports}(772);var e,t}))}(sT);var lT=sT.exports,cT={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 a=r[1];n.push({text:e.slice(r[0],a),highlight:!0}),o===t.length-1?a<e.length&&n.push({text:e.slice(a,e.length),highlight:!1}):a<t[o+1][0]&&n.push({text:e.slice(a,t[o+1][0]),highlight:!1})})),n}}},t={},function n(r){var o=t[r];if(void 0!==o)return o.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,n),a.exports}(705);var e,t}))}(cT);var uT=cT.exports;function fT({getTagProps:e,index:t,ontology:n,termId:r}){const o=l.getParent(n,2),[a,i]=I.useState(""),[s,u]=I.useState("");return I.useEffect((()=>{const e=new AbortController,{signal:t}=e;return async function(){const e=o.expandPrefixes(r),a=await(n.dataStore?.db);if(!a||t.aborted)return;const s=await a.transaction("nodes").objectStore("nodes").get(e);s&&s.lbl&&!t.aborted&&i(s.lbl||"no label")}().catch((e=>{t.aborted||u(String(e))})),()=>{e.abort()}}),[r,n,o]),I.createElement(c.Tooltip,{title:a},I.createElement("div",null,I.createElement(c.Chip,{label:s||o.applyPrefixes(r),color:s?"error":"default",size:"small",...e({index:t})})))}function dT({includeDeprecated:e,onChange:t,ontologyName:n,ontologyVersion:r,session:o,value:i,label:s}){const{ontologyManager:l}=o.apolloDataStore,u=l.findOntology(n,r),[f,d]=I.useState(i.map((e=>({term:{id:e,type:"CLASS"}})))),[p,h]=I.useState(""),[m,g]=I.useState([]),[y,v]=I.useState(!1),[_,b]=I.useState(""),w=I.useMemo((()=>a.debounce((async(t,n)=>{if(!u)return;const{dataStore:r}=u;if(!r)return;const{input:o,signal:a}=t;try{const t=await r.getTermsByFulltext(o,void 0,a),i=new Map,s=[];for(const n of t){if(!zN(n.term)||!e&&RN(n.term))continue;let t=i.get(n.term.id);t||(t={term:n.term,matches:[]},i.set(n.term.id,t),s.push(t)),t.matches.push(n)}n(s)}catch(e){cN(e)||b(String(e))}}),400)),[e,u]);if(I.useEffect((()=>{const e=new AbortController,{signal:t}=e;if(""!==p)return v(!0),w({input:p,signal:t},(e=>{let t=[];f.length>0&&(t=f),e&&(t=[...t,...e]),g(t),v(!1)})),()=>{e.abort()};g([])}),[w,u,e,p,f]),!u)return null;const S={};return _&&(S.error=!0,S.helperText=_),I.createElement(c.Autocomplete,{getOptionLabel:e=>l.applyPrefixes(e.term.id),filterOptions:e=>e.filter((e=>zN(e.term))),options:m,autoComplete:!0,includeInputInList:!0,filterSelectedOptions:!0,value:f,loading:y,isOptionEqualToValue:(e,t)=>l.applyPrefixes(e.term.id)===l.applyPrefixes(t.term.id),noOptionsText:p?"No matches":"Start typing to search",onChange:(e,n)=>{g(n?[...n,...m]:m),t(n.map((e=>l.applyPrefixes(e.term.id)))),d(n)},onInputChange:(e,t)=>{t&&v(!0),g([]),h(t)},multiple:!0,renderInput:e=>I.createElement(c.TextField,{...e,...S,variant:"outlined",label:s,fullWidth:!0}),renderOption:(e,t)=>I.createElement(hT,{...e,ontologyManager:l,option:t,inputValue:p}),renderTags:(e,t)=>e.map(((e,n)=>I.createElement(fT,{termId:e.term.id,index:n,ontology:u,getTagProps:t,key:e.term.id})))})}function pT(e){const{search:t,str:n}=e,r=lT(n,t,{insideWords:!0,findAllOccurrences:!0}),o=uT(n,r);return I.createElement(I.Fragment,null,o.map(((e,t)=>I.createElement(c.Typography,{key:t,component:"span",sx:{fontWeight:e.highlight?"bold":"regular"},variant:"body2",color:"text.secondary"},e.text))))}function hT(e){const{inputValue:t,ontologyManager:n,option:r,...o}=e,a=(r.matches??[]).filter((e=>"$.lbl"!==e.field.jsonPath)).map((e=>I.createElement(I.Fragment,{key:`option-${e.term.id}-${e.str}`},I.createElement(c.Typography,{component:"dt",variant:"body2",color:"text.secondary"},e.field.displayName),I.createElement("dd",null,I.createElement(pT,{str:e.str,search:t})))));return I.createElement("li",{...o},I.createElement(c.Grid2,{container:!0},I.createElement(c.Grid2,null,I.createElement(c.Typography,{component:"span"},n.applyPrefixes(r.term.id))," ",I.createElement(pT,{str:r.term.lbl??"(no label)",search:t})," ",I.createElement("dl",null,a))))}const mT=p.observer((function({onChangeCommitted:e,value:t,...n}){const[r,o]=f.useState(String(t)),[a,i]=f.useState(!1),[s,l]=f.useState(null);return f.useEffect((()=>{o(String(t))}),[t]),f.useEffect((()=>{a&&(s?.blur(),i(!1))}),[a,s]),T.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)),i(!0))},onBlur:()=>{r!==String(t)&&e(r)},inputRef:e=>{l(e)}})})),gT=new Map([["Gene Ontology",e=>T.default.createElement(dT,{...e,ontologyName:"Gene Ontology",label:"Gene Ontology"})],["Sequence Ontology",e=>T.default.createElement(dT,{...e,ontologyName:"Sequence Ontology",label:"Sequence Ontology"})]]),yT=["ID","Name","Alias","Target","Gap","Derives_from","Note","Dbxref","Ontology","Is_Circular"],vT=u.makeStyles()((e=>({newAttributePaper:{padding:e.spacing(2)},attributeName:{background:e.palette.secondary.main,color:e.palette.secondary.contrastText,padding:e.spacing(1)}})));function _T(e){const{onChange:t,value:n,label:r}=e;return T.default.createElement(mT,{value:n,onChangeCommitted:e=>{t(e.split(","))},variant:"outlined",fullWidth:!0,label:r,style:{width:"100%"}})}function bT(e){return Object.fromEntries([...e.attributes.entries()].map((([e,t])=>{if(e.startsWith("gff_")){const n=e.slice(4);return[n.charAt(0).toUpperCase()+n.slice(1),l.getSnapshot(t)]}return"_id"===e?["ID",l.getSnapshot(t)]:[e,l.getSnapshot(t)]})))}const wT=p.observer((function({assembly:e,editable:t,feature:n,session:r}){const[o,a]=f.useState(""),[i,s]=f.useState(!1),{classes:l}=vT(),[u,d]=f.useState(""),[p,h]=f.useState((()=>bT(n)));f.useEffect((()=>{h(bT(n))}),[n]);const{notify:m}=r,{changeManager:g}=r.apolloDataStore;async function y(t){a("");const r={};if(t)for(const[e,n]of Object.entries(t))if(n&&"parent"!==e.toLowerCase())if([...gT.keys()].includes(e))r[e]=n;else switch(e){case"ID":r._id=n;break;case"Name":r.gff_name=n;break;case"Alias":r.gff_alias=n;break;case"Target":r.gff_target=n;break;case"Gap":r.gff_gap=n;break;case"Derives_from":r.gff_derives_from=n;break;case"Note":r.gff_note=n;break;case"Dbxref":r.gff_dbxref=n;break;case"Ontology_term":r.gff_ontology_term=n;break;case"Is_circular":r.gff_is_circular=n;break;default:r[e.toLowerCase()]=n}const o=new er.FeatureAttributeChange({changedIds:[n._id],typeName:"FeatureAttributeChange",assembly:e,featureId:n._id,attributes:r});await g.submit(o),m("Feature attributes modified successfully","success")}return T.default.createElement("div",{"data-testid":"attributes_test"},T.default.createElement(c.Grid2,{container:!0,direction:"column",spacing:1},Object.entries(p).map((([e,n])=>{if(""===e)return null;const o=gT.get(e)??_T;return T.default.createElement(c.Grid2,{container:!0,key:e},T.default.createElement(c.Grid2,{size:11},T.default.createElement(o,{session:r,value:n,onChange:t=>{!function(e,t){const n={...p};n[e]=t,h(n),y(n)}(e,t)},label:e})),T.default.createElement(c.Grid2,{size:1},T.default.createElement(c.IconButton,{"aria-label":"delete",size:"medium",disabled:!t,onClick:()=>{!function(e){const t={...p};delete t[e],h(t),y(t)}(e)},style:{marginTop:"10px"}},T.default.createElement(aR,{fontSize:"medium",key:e}))))})),T.default.createElement(c.Grid2,null,T.default.createElement(c.Button,{color:"primary",variant:"contained",disabled:i||!t,onClick:()=>{s(!0)}},"Add new")),i?T.default.createElement(c.Grid2,null,T.default.createElement(c.Paper,{elevation:8,className:l.newAttributePaper},T.default.createElement(c.Grid2,{container:!0,direction:"column"},T.default.createElement(c.Grid2,null,T.default.createElement(c.FormControl,null,T.default.createElement(c.FormLabel,{id:"attribute-radio-button-group"},"Select attribute type"),T.default.createElement(c.RadioGroup,{"aria-labelledby":"demo-radio-buttons-group-label",defaultValue:"custom",name:"radio-buttons-group",onChange:function(e,t){"custom"===t?d(""):gT.has(t)?d(t):a("Unknown attribute type")}},T.default.createElement(c.FormControlLabel,{value:"custom",control:T.default.createElement(c.Radio,null),disableTypography:!0,label:T.default.createElement(c.Grid2,{container:!0,spacing:1,alignItems:"center"},T.default.createElement(c.Grid2,null,T.default.createElement(c.Typography,null,"Custom")),T.default.createElement(c.Grid2,null,T.default.createElement(c.TextField,{label:"Custom attribute key",variant:"outlined",value:gT.has(u)?"":u,disabled:gT.has(u),onChange:e=>{d(e.target.value)}})))}),[...gT.keys()].map((e=>T.default.createElement(c.FormControlLabel,{key:e,value:e,control:T.default.createElement(c.Radio,null),label:e})))))),T.default.createElement(c.Grid2,null,T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{key:"addButton",color:"primary",variant:"contained",onClick:function(){a(""),0!==u.trim().length?"Parent"!==u?u in p?a(`Attribute "${u}" already exists`):!/^[A-Z]/.test(u)||yT.includes(u)||[...gT.keys()].includes(u)?(h({...p,[u]:[]}),s(!1),d("")):a(`Key cannot starts with uppercase letter unless key is one of these: ${yT.join(", ")}`):a('"Parent" -key is handled internally and it cannot be modified manually'):a("Attribute key is mandatory")},disabled:!u},"Add"),T.default.createElement(c.Button,{key:"cancelAddButton",variant:"outlined",type:"submit",onClick:()=>{s(!1),d(""),a("")}},"Cancel")))))):null),o?T.default.createElement(c.Typography,{color:"error"},o):null)})),ST=p.observer((function({onChangeCommitted:e,value:t,...n}){const[r,o]=f.useState(String(t)),[a,i]=f.useState(!1),[s,l]=f.useState(null);f.useEffect((()=>{o(String(t))}),[t]),f.useEffect((()=>{a&&(s?.blur(),i(!1))}),[a,s]);const u=Number.isNaN(Number(r));return T.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)),i(!0))},onBlur:()=>{const n=Number(r);r!==String(t)&&(Number.isNaN(n)?o(String(t)):e(n))},inputRef:e=>{l(e)},error:u,helperText:u?"Not a valid number":void 0})})),xT=p.observer((function({assembly:e,feature:t,session:n}){const[r,o]=f.useState(""),[a,i]=f.useState(""),{_id:s,assemblyId:l,max:u,min:d,strand:p,type:h}=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 er.StrandChange({typeName:"StrandChange",changedIds:[s],featureId:s,oldStrand:p,newStrand:r,assembly:e});return g.submit(o)}return T.default.createElement("div",{"data-testid":"basic_information"},T.default.createElement(ST,{margin:"dense",id:"start",label:"Start",fullWidth:!0,variant:"outlined",value:d+1,onChangeCommitted:function(t){t--;const n=new er.LocationStartChange({typeName:"LocationStartChange",changedIds:[s],featureId:s,oldStart:d,newStart:t,assembly:e});return g.submit(n)}}),T.default.createElement(ST,{margin:"dense",id:"end",label:"End",fullWidth:!0,variant:"outlined",value:u,onChangeCommitted:function(t){const n=new er.LocationEndChange({typeName:"LocationEndChange",changedIds:[s],featureId:s,oldEnd:u,newEnd:t,assembly:e});return g.submit(n)}}),T.default.createElement(WN,{session:n,ontologyName:"Sequence Ontology",value:h,filterTerms:zN,fetchValidTerms:async function(e,t,n){const r=await HN(e,t);if(r)return r;i(`Type "${e?.type}" does not have any children in the ontology`)}.bind(null,t),renderInput:e=>T.default.createElement(c.TextField,{...e,label:"Type",variant:"outlined",fullWidth:!0,error:Boolean(a),helperText:a}),onChange:(e,t)=>{t&&function(e){o("");const t=new er.TypeChange({typeName:"TypeChange",changedIds:[s],featureId:s,oldType:h,newType:e,assembly:l});return g.submit(t)}(t).catch(m)}}),T.default.createElement("label",null,T.default.createElement("input",{type:"radio",value:"1",checked:1===p,onChange:y}),"Positive Strand (+)"),T.default.createElement("label",null,T.default.createElement("input",{type:"radio",value:"-1",checked:-1===p,onChange:y}),"Negative Strand (-)"),T.default.createElement("label",null,T.default.createElement("input",{type:"radio",value:"",checked:void 0===p,onChange:y}),"No Strand Information"),r?T.default.createElement(c.Typography,{color:"error"},r):null)})),ET=u.makeStyles()({sequence:{width:"100%",resize:"vertical"}}),kT=p.observer((function({assembly:e,feature:t,refName:n,session:r}){const o=r.apolloDataStore.assemblies.get(e),{classes:a}=ET();if(!t||!o)return null;const i=o.getByRefName(n);if(!i)return null;const{max:s,min:l}=t;let c=i.getSequence(l,s);return c?c=function(e,t,n,r,o){return`>${t}:${n+1}–${r}\n${e}`}(c,n,l,s):r.apolloDataStore.loadRefSeq([{assemblyName:e,refName:n,start:l,end:s}]),T.default.createElement("div",null,T.default.createElement("textarea",{readOnly:!0,rows:20,className:a.sequence,value:c}))})),AT=p.observer((function(e){const{feature:t,model:n}=e,{children:r,parent:o}=t,a=[];if(r)for(const[,e]of r)a.push(e);return o??a.length>0?T.default.createElement("div",{style:{marginTop:10}},o&&T.default.createElement("div",null,T.default.createElement(c.Typography,{variant:"h6"},"Parent:"),T.default.createElement(c.Button,{variant:"contained",onClick:()=>{n.setFeature(o)}},o.type,_d(o)," (",o.min,"..",o.max,")")),a.length>0&&T.default.createElement("div",null,T.default.createElement(c.Typography,{variant:"h6"},1===a.length?"Child":"Children",":"),a.map((e=>T.default.createElement("div",{key:e._id,style:{marginBottom:5}},T.default.createElement(c.Button,{variant:"contained",onClick:()=>{n.setFeature(e)}},e.type,_d(e)," (",e.min,"..",e.max,")")))))):null})),OT=u.makeStyles()((e=>({root:{padding:e.spacing(2)}}))),CT=p.observer((function(e){const{model:t}=e,{assembly:r,feature:o,refName:a}=t,i=n.getSession(t),s=i.apolloDataStore.assemblies.get(r),{classes:l}=OT(),[u,d]=f.useState(["attributes"]);if(f.useEffect((()=>{d(["attributes"])}),[o]),!o||!s)return null;const p=s.getByRefName(a);if(!p)return null;const{max:h,min:m}=o;function g(e,t){d(e?[...u,t]:u.filter((e=>e!==t)))}return p.getSequence(m,h)||i.apolloDataStore.loadRefSeq([{assemblyName:r,refName:a,start:m,end:h}]),T.default.createElement("div",{className:l.root},T.default.createElement(xT,{feature:o,session:i,assembly:s._id}),T.default.createElement(c.Accordion,{style:{marginTop:10},expanded:u.includes("attributes"),onChange:(e,t)=>{g(t,"attributes")}},T.default.createElement(c.AccordionSummary,{expandIcon:T.default.createElement(iT,{style:{color:"white"}}),"aria-controls":"panel1-content",id:"panel1-header"},T.default.createElement(c.Typography,{component:"span"},"Attributes")),T.default.createElement(c.AccordionDetails,null,T.default.createElement(wT,{feature:o,session:i,assembly:s._id,editable:!0}))),T.default.createElement(c.Accordion,{style:{marginTop:10},expanded:u.includes("sequence"),onChange:(e,t)=>{g(t,"sequence")}},T.default.createElement(c.AccordionSummary,{expandIcon:T.default.createElement(iT,{style:{color:"white"}}),"aria-controls":"panel2-content",id:"panel2-header"},T.default.createElement(c.Typography,{component:"span"},"Sequence")),T.default.createElement(c.AccordionDetails,null,u.includes("sequence")&&T.default.createElement(kT,{feature:o,session:i,assembly:s._id,refName:a}))),T.default.createElement(c.Accordion,{style:{marginTop:10},expanded:u.includes("related_features"),onChange:(e,t)=>{g(t,"related_features")}},T.default.createElement(c.AccordionSummary,{expandIcon:T.default.createElement(iT,{style:{color:"white"}}),"aria-controls":"panel3-content",id:"panel3-header"},T.default.createElement(c.Typography,{component:"span"},"Related features")),T.default.createElement(c.AccordionDetails,null,T.default.createElement(AT,{model:t,feature:o}))))}));var NT={},RT={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.AnnotationFeatureModel=void 0;var t=O.default,n=R.default,r=NT,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=_e(n);try{for(o.s();!(r=o.n()).done;){var a=fe(r.value,2);t=Math.min(t,a[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=_e(n);try{for(o.s();!(r=o.n()).done;){var a=fe(r.value,2);t=Math.max(t,a[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=_e(n);try{for(o.s();!(r=o.n()).done;){var a=fe(r.value,2);if(a[0]===t)return!0;if(a[1].hasDescendant(t))return!0}}catch(e){o.e(e)}finally{o.f()}return!1},get transcriptExonParts(){var n=(0,t.getSession)(e).apolloDataStore.ontologyManager.featureTypeOntology;if(!n.isTypeOf(e.type,"transcript"))throw new Error("Feature is not a transcript or equivalent, cannot calculate exon locations");var r=e.children;if(!r)throw new Error("No exons in transcript");var o,a=pe(r.values()).filter((function(e){return n.isTypeOf(e.type,"exon")})).sort((function(e,t){return e.min-t.min})),i=e.min,s=[],l=_e(a);try{for(l.s();!(o=l.n()).done;){var c=o.value;c.min>i&&s.push({min:i,max:c.min,type:"intron"}),s.push({min:c.min,max:c.max,type:"exon"}),i=c.max}}catch(e){l.e(e)}finally{l.f()}return i<e.max&&s.push({min:i,max:e.max,type:"intron"}),-1===e.strand&&s.reverse(),s},get transcriptParts(){var n=(0,t.getSession)(e).apolloDataStore.ontologyManager.featureTypeOntology;if(!n.isTypeOf(e.type,"transcript"))throw new Error('Only features of type "transcript" or equivalent can calculate CDS locations');var r=e.children;if(!r)throw new Error("no CDS or exons in transcript");var o=pe(r.values()).filter((function(e){return n.isTypeOf(e.type,"CDS")})),a=[];if(0===o.length)return a.push(this.transcriptExonParts),a;var i,s=_e(o);try{var l=function(){var o,s=i.value,l=s.max,c=s.min,u=[],f=!1,d=[],p=_e(r);try{for(p.s();!(o=p.n()).done;){var h=fe(o.value,2)[1];n.isTypeOf(h.type,"exon")&&d.push({min:h.min,max:h.max})}}catch(e){p.e(e)}finally{p.f()}d.sort((function(e,t){return e.min-t.min}));for(var m=0,g=d;m<g.length;m++){var y=g[m],v=u.at(-1);v&&u.push({min:v.max,max:y.min,type:"intron"});var _,b=fe((0,t.intersection2)(c,l,y.min,y.max),2),w=b[0],S=b[1];_=f?1===e.strand?"threePrimeUTR":"fivePrimeUTR":1===e.strand?"fivePrimeUTR":"threePrimeUTR",void 0!==w&&void 0!==S?(f=!0,w===y.min&&S===y.max?u.push({min:w,max:S,phase:0,type:"CDS"}):w===y.min?u.push({min:w,max:S,phase:0,type:"CDS"},{min:S,max:y.max,type:_}):S===y.max?u.push({min:y.min,max:w,type:_},{min:w,max:S,phase:0,type:"CDS"}):u.push({min:y.min,max:w,type:_},{min:w,max:S,phase:0,type:"CDS"},{min:S,max:y.max,type:"fivePrimeUTR"===_?"threePrimeUTR":"fivePrimeUTR"})):u.push({min:y.min,max:y.max,type:_})}u.sort((function(e,t){return e.min-t.min})),-1===e.strand&&u.reverse();var x=0,E=u.map((function(e){if("CDS"!==e.type)return e;var t=x;return x=(3-(e.max-e.min-t+3)%3)%3,V(V({},e),{},{phase:t})}));a.push(E)};for(s.s();!(i=s.n()).done;)l()}catch(e){s.e(e)}finally{s.f()}return a}}})).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=_e(t.entries());try{for(r.s();!(n=r.n()).done;){var o=fe(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(te({},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,a=_e(Object.entries(V(V({},r),{},te({},t._id,t))).sort((function(e,t){var n=fe(e,2)[1],r=fe(t,2);return n.min-r[1].min})));try{for(a.s();!(o=a.n()).done;){var i=fe(o.value,2);e.children.put(i[1])}}catch(e){a.e(e)}finally{a.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,a=t.min,i=t.strand;e.setRefSeq(t.refSeq),e.setMin(a),e.setMax(o),e.setStrand(i),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}}}))}(RT);var TT={},IT={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ApolloRefSeq=e.Sequence=void 0;var t=O.default,n=R.default,r=RT;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: ".concat(JSON.stringify(t)));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?e.stop-t.stop:e.start-t.start}));var o,a=r.reduce((function(e,t){var n=e.at(-1);if(void 0===n)return[t];if(n.stop>=t.start){if(t.stop>n.stop){var r=n.stop-t.start;n.stop=t.stop,n.sequence+=t.sequence.slice(r)}}else e.push(t);return e}),[]),i=_e(a);try{for(i.s();!(o=i.n()).done;){var s=o.value;if(s.sequence.length!==s.stop-s.start)throw new Error("Consolidated sequence does not match declared length")}}catch(e){i.e(e)}finally{i.f()}e.sequence.length===a.length&&e.sequence.every((function(e,t){return e.start===a[t].start&&e.stop===a[t].stop}))||(e.sequence.clear(),(n=e.sequence).push.apply(n,pe(a)))}else e.sequence.push(t)}}})).views((function(e){return{getSequence:function(n,r){var o,a=_e(e.sequence);try{for(a.s();!(o=a.n()).done;){var i=o.value,s=i.sequence,l=i.start;if((0,t.isContainedWithin)(n,r,l,i.stop))return s.slice(n-l,r-l)}}catch(e){a.e(e)}finally{a.f()}return""}}}))}(IT),Object.defineProperty(TT,"__esModule",{value:!0}),TT.ApolloAssembly=void 0;var PT=R.default;TT.ApolloAssembly=PT.types.model("ApolloAssembly",{_id:PT.types.identifier,refSeqs:PT.types.map(IT.ApolloRefSeq),comments:PT.types.array(PT.types.string),backendDriverType:PT.types.optional(PT.types.enumeration("backendDriverType",["CollaborationServerDriver","InMemoryFileDriver","DesktopFileDriver"]),"CollaborationServerDriver")}).views((function(e){return{getByRefName:function(t){return pe(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 MT={};Object.defineProperty(MT,"__esModule",{value:!0}),MT.CheckResult=void 0;var FT=R.default;MT.CheckResult=FT.types.model("CheckResult",{_id:FT.types.identifier,name:FT.types.string,cause:FT.types.string,ids:FT.types.array(FT.types.safeReference(RT.AnnotationFeatureModel)),refSeq:FT.types.string,start:FT.types.number,end:FT.types.number,ignored:!1,message:FT.types.string}),function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=Xe;t.__exportStar(RT,e),t.__exportStar(TT,e),t.__exportStar(IT,e),t.__exportStar(MT,e)}(NT);const jT=l.types.model("ApolloFeatureDetailsWidget",{id:h.ElementId,type:l.types.literal("ApolloFeatureDetailsWidget"),feature:l.types.maybe(l.types.reference(NT.AnnotationFeatureModel,{onInvalidated(e){e.parent.setTryReload(e.invalidId),e.removeRef()}})),assembly:l.types.string,refName:l.types.string}).volatile((()=>({tryReload:void 0}))).actions((e=>({setFeature(t){e.feature=t},setTryReload(t){e.tryReload=t}}))).actions((e=>({afterAttach(){l.addDisposer(e,s.autorun((t=>{if(!e.tryReload)return;const r=n.getSession(e),{apolloDataStore:o}=r;if(!o)return;const a=o.getFeature(e.tryReload);a&&(e.setFeature(a),e.setTryReload(),t.dispose())})))}}))),LT=l.types.model("ApolloTranscriptDetails",{id:h.ElementId,type:l.types.literal("ApolloTranscriptDetails"),feature:l.types.maybe(l.types.reference(NT.AnnotationFeatureModel,{onInvalidated(e){e.parent.setTryReload(e.invalidId),e.removeRef()}})),assembly:l.types.string,refName:l.types.string}).volatile((()=>({tryReload:void 0}))).actions((e=>({setFeature(t){e.feature=t},setTryReload(t){e.tryReload=t}}))).actions((e=>({afterAttach(){l.addDisposer(e,s.autorun((t=>{if(!e.tryReload)return;const r=n.getSession(e),{apolloDataStore:o}=r;if(!o)return;const a=o.getFeature(e.tryReload);a&&(e.setFeature(a),e.setTryReload(),t.dispose())})))}})));function DT(){return DT=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},DT.apply(this,arguments)}function qT(e){var t=Object.create(null);return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}}var BT=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,UT=qT((function(e){return BT.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91})),zT=function(){function e(e){var t=this;this._insertTag=function(e){t.container.insertBefore(e,0===t.tags.length?t.insertionPoint?t.insertionPoint.nextSibling:t.prepend?t.container.firstChild:t.before:t.tags[t.tags.length-1].nextSibling),t.tags.push(e)},this.isSpeedy=void 0===e.speedy?"production"===Lt.env.NODE_ENV:e.speedy,this.tags=[],this.ctr=0,this.nonce=e.nonce,this.key=e.key,this.container=e.container,this.prepend=e.prepend,this.insertionPoint=e.insertionPoint,this.before=null}var t=e.prototype;return t.hydrate=function(e){e.forEach(this._insertTag)},t.insert=function(e){this.ctr%(this.isSpeedy?65e3:1)==0&&this._insertTag(function(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key),void 0!==e.nonce&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t}(this));var t=this.tags[this.tags.length-1];if("production"!==Lt.env.NODE_ENV){var n=64===e.charCodeAt(0)&&105===e.charCodeAt(1);n&&this._alreadyInsertedOrderInsensitiveRule&&console.error("You're attempting to insert the following rule:\n"+e+"\n\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules."),this._alreadyInsertedOrderInsensitiveRule=this._alreadyInsertedOrderInsensitiveRule||!n}if(this.isSpeedy){var r=function(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]}(t);try{r.insertRule(e,r.cssRules.length)}catch(t){"production"===Lt.env.NODE_ENV||/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(e)||console.error('There was a problem inserting the following rule: "'+e+'"',t)}}else t.appendChild(document.createTextNode(e));this.ctr++},t.flush=function(){this.tags.forEach((function(e){return e.parentNode&&e.parentNode.removeChild(e)})),this.tags=[],this.ctr=0,"production"!==Lt.env.NODE_ENV&&(this._alreadyInsertedOrderInsensitiveRule=!1)},e}(),GT="-ms-",HT="-moz-",WT="-webkit-",$T="comm",VT="rule",JT="decl",YT="@keyframes",KT=Math.abs,ZT=String.fromCharCode,XT=Object.assign;function QT(e){return e.trim()}function eI(e,t,n){return e.replace(t,n)}function tI(e,t){return e.indexOf(t)}function nI(e,t){return 0|e.charCodeAt(t)}function rI(e,t,n){return e.slice(t,n)}function oI(e){return e.length}function aI(e){return e.length}function iI(e,t){return t.push(e),e}var sI=1,lI=1,cI=0,uI=0,fI=0,dI="";function pI(e,t,n,r,o,a,i){return{value:e,root:t,parent:n,type:r,props:o,children:a,line:sI,column:lI,length:i,return:""}}function hI(e,t){return XT(pI("",null,null,"",null,null,0),e,{length:-e.length},t)}function mI(){return fI=uI>0?nI(dI,--uI):0,lI--,10===fI&&(lI=1,sI--),fI}function gI(){return fI=uI<cI?nI(dI,uI++):0,lI++,10===fI&&(lI=1,sI++),fI}function yI(){return nI(dI,uI)}function vI(){return uI}function _I(e,t){return rI(dI,e,t)}function bI(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function wI(e){return sI=lI=1,cI=oI(dI=e),uI=0,[]}function SI(e){return dI="",e}function xI(e){return QT(_I(uI-1,AI(91===e?e+2:40===e?e+1:e)))}function EI(e){for(;(fI=yI())&&fI<33;)gI();return bI(e)>2||bI(fI)>3?"":" "}function kI(e,t){for(;--t&&gI()&&!(fI<48||fI>102||fI>57&&fI<65||fI>70&&fI<97););return _I(e,vI()+(t<6&&32==yI()&&32==gI()))}function AI(e){for(;gI();)switch(fI){case e:return uI;case 34:case 39:34!==e&&39!==e&&AI(fI);break;case 40:41===e&&AI(e);break;case 92:gI()}return uI}function OI(e,t){for(;gI()&&e+fI!==57&&(e+fI!==84||47!==yI()););return"/*"+_I(t,uI-1)+"*"+ZT(47===e?e:gI())}function CI(e){for(;!bI(yI());)gI();return _I(e,uI)}function NI(e){return SI(RI("",null,null,null,[""],e=wI(e),0,[0],e))}function RI(e,t,n,r,o,a,i,s,l){for(var c=0,u=0,f=i,d=0,p=0,h=0,m=1,g=1,y=1,v=0,_="",b=o,w=a,S=r,x=_;g;)switch(h=v,v=gI()){case 40:if(108!=h&&58==nI(x,f-1)){-1!=tI(x+=eI(xI(v),"&","&\f"),"&\f")&&(y=-1);break}case 34:case 39:case 91:x+=xI(v);break;case 9:case 10:case 13:case 32:x+=EI(h);break;case 92:x+=kI(vI()-1,7);continue;case 47:switch(yI()){case 42:case 47:iI(II(OI(gI(),vI()),t,n),l);break;default:x+="/"}break;case 123*m:s[c++]=oI(x)*y;case 125*m:case 59:case 0:switch(v){case 0:case 125:g=0;case 59+u:-1==y&&(x=eI(x,/\f/g,"")),p>0&&oI(x)-f&&iI(p>32?PI(x+";",r,n,f-1):PI(eI(x," ","")+";",r,n,f-2),l);break;case 59:x+=";";default:if(iI(S=TI(x,t,n,c,u,o,s,_,b=[],w=[],f),a),123===v)if(0===u)RI(x,t,S,S,b,a,f,s,w);else switch(99===d&&110===nI(x,3)?100:d){case 100:case 108:case 109:case 115:RI(e,S,S,r&&iI(TI(e,S,S,0,0,o,s,_,o,b=[],f),w),o,w,f,s,r?b:w);break;default:RI(x,S,S,S,[""],w,0,s,w)}}c=u=p=0,m=y=1,_=x="",f=i;break;case 58:f=1+oI(x),p=h;default:if(m<1)if(123==v)--m;else if(125==v&&0==m++&&125==mI())continue;switch(x+=ZT(v),v*m){case 38:y=u>0?1:(x+="\f",-1);break;case 44:s[c++]=(oI(x)-1)*y,y=1;break;case 64:45===yI()&&(x+=xI(gI())),d=yI(),u=f=oI(_=x+=CI(vI())),v++;break;case 45:45===h&&2==oI(x)&&(m=0)}}return a}function TI(e,t,n,r,o,a,i,s,l,c,u){for(var f=o-1,d=0===o?a:[""],p=aI(d),h=0,m=0,g=0;h<r;++h)for(var y=0,v=rI(e,f+1,f=KT(m=i[h])),_=e;y<p;++y)(_=QT(m>0?d[y]+" "+v:eI(v,/&\f/g,d[y])))&&(l[g++]=_);return pI(e,t,n,0===o?VT:s,l,c,u)}function II(e,t,n){return pI(e,t,n,$T,ZT(fI),rI(e,2,-2),0)}function PI(e,t,n,r){return pI(e,t,n,JT,rI(e,0,r),rI(e,r+1,-1),r)}function MI(e,t){for(var n="",r=aI(e),o=0;o<r;o++)n+=t(e[o],o,e,t)||"";return n}function FI(e,t,n,r){switch(e.type){case"@layer":if(e.children.length)break;case"@import":case JT:return e.return=e.return||e.value;case $T:return"";case YT:return e.return=e.value+"{"+MI(e.children,r)+"}";case VT:e.value=e.props.join(",")}return oI(n=MI(e.children,r))?e.return=e.value+"{"+n+"}":""}var jI=function(e,t,n){for(var r=0,o=0;r=o,o=yI(),38===r&&12===o&&(t[n]=1),!bI(o);)gI();return _I(e,uI)},LI=new WeakMap,DI=function(e){if("rule"===e.type&&e.parent&&!(e.length<1)){for(var t=e.value,n=e.parent,r=e.column===n.column&&e.line===n.line;"rule"!==n.type;)if(!(n=n.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||LI.get(n))&&!r){LI.set(e,!0);for(var o=[],a=function(e,t){return SI(function(e,t){var n=-1,r=44;do{switch(bI(r)){case 0:38===r&&12===yI()&&(t[n]=1),e[n]+=jI(uI-1,t,n);break;case 2:e[n]+=xI(r);break;case 4:if(44===r){e[++n]=58===yI()?"&\f":"",t[n]=e[n].length;break}default:e[n]+=ZT(r)}}while(r=gI());return e}(wI(e),t))}(t,o),i=n.props,s=0,l=0;s<a.length;s++)for(var c=0;c<i.length;c++,l++)e.props[l]=o[s]?a[s].replace(/&\f/g,i[c]):i[c]+" "+a[s]}}},qI=function(e){if("decl"===e.type){var t=e.value;108===t.charCodeAt(0)&&98===t.charCodeAt(2)&&(e.return="",e.value="")}},BI=function(e){return"comm"===e.type&&e.children.indexOf("emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason")>-1},UI=function(e){return 105===e.type.charCodeAt(1)&&64===e.type.charCodeAt(0)},zI=function(e){e.type="",e.value="",e.return="",e.children="",e.props=""},GI=function(e,t,n){UI(e)&&(e.parent?(console.error("`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles."),zI(e)):function(e,t){for(var n=e-1;n>=0;n--)if(!UI(t[n]))return!0;return!1}(t,n)&&(console.error("`@import` rules can't be after other rules. Please put your `@import` rules before your other rules."),zI(e)))};function HI(e,t){switch(function(e,t){return 45^nI(e,0)?(((t<<2^nI(e,0))<<2^nI(e,1))<<2^nI(e,2))<<2^nI(e,3):0}(e,t)){case 5103:return WT+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return WT+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return WT+e+HT+e+GT+e+e;case 6828:case 4268:return WT+e+GT+e+e;case 6165:return WT+e+GT+"flex-"+e+e;case 5187:return WT+e+eI(e,/(\w+).+(:[^]+)/,WT+"box-$1$2"+GT+"flex-$1$2")+e;case 5443:return WT+e+GT+"flex-item-"+eI(e,/flex-|-self/,"")+e;case 4675:return WT+e+GT+"flex-line-pack"+eI(e,/align-content|flex-|-self/,"")+e;case 5548:return WT+e+GT+eI(e,"shrink","negative")+e;case 5292:return WT+e+GT+eI(e,"basis","preferred-size")+e;case 6060:return WT+"box-"+eI(e,"-grow","")+WT+e+GT+eI(e,"grow","positive")+e;case 4554:return WT+eI(e,/([^-])(transform)/g,"$1"+WT+"$2")+e;case 6187:return eI(eI(eI(e,/(zoom-|grab)/,WT+"$1"),/(image-set)/,WT+"$1"),e,"")+e;case 5495:case 3959:return eI(e,/(image-set\([^]*)/,WT+"$1$`$1");case 4968:return eI(eI(e,/(.+:)(flex-)?(.*)/,WT+"box-pack:$3"+GT+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+WT+e+e;case 4095:case 3583:case 4068:case 2532:return eI(e,/(.+)-inline(.+)/,WT+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(oI(e)-1-t>6)switch(nI(e,t+1)){case 109:if(45!==nI(e,t+4))break;case 102:return eI(e,/(.+:)(.+)-([^]+)/,"$1"+WT+"$2-$3$1"+HT+(108==nI(e,t+3)?"$3":"$2-$3"))+e;case 115:return~tI(e,"stretch")?HI(eI(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==nI(e,t+1))break;case 6444:switch(nI(e,oI(e)-3-(~tI(e,"!important")&&10))){case 107:return eI(e,":",":"+WT)+e;case 101:return eI(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+WT+(45===nI(e,14)?"inline-":"")+"box$3$1"+WT+"$2$3$1"+GT+"$2box$3")+e}break;case 5936:switch(nI(e,t+11)){case 114:return WT+e+GT+eI(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return WT+e+GT+eI(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return WT+e+GT+eI(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return WT+e+GT+e+e}return e}var WI=[function(e,t,n,r){if(e.length>-1&&!e.return)switch(e.type){case JT:e.return=HI(e.value,e.length);break;case YT:return MI([hI(e,{value:eI(e.value,"@","@"+WT)})],r);case VT:if(e.length)return function(e,t){return e.map(t).join("")}(e.props,(function(t){switch(function(e,t){return(e=/(::plac\w+|:read-\w+)/.exec(e))?e[0]:e}(t)){case":read-only":case":read-write":return MI([hI(e,{props:[eI(t,/:(read-\w+)/,":-moz-$1")]})],r);case"::placeholder":return MI([hI(e,{props:[eI(t,/:(plac\w+)/,":"+WT+"input-$1")]}),hI(e,{props:[eI(t,/:(plac\w+)/,":-moz-$1")]}),hI(e,{props:[eI(t,/:(plac\w+)/,GT+"input-$1")]})],r)}return""}))}}],$I=function(e){var t=e.key;if("production"!==Lt.env.NODE_ENV&&!t)throw new Error("You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\nIf multiple caches share the same key they might \"fight\" for each other's style elements.");if("css"===t){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,(function(e){-1!==e.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(e),e.setAttribute("data-s",""))}))}var r=e.stylisPlugins||WI;if("production"!==Lt.env.NODE_ENV&&/[^a-z-]/.test(t))throw new Error('Emotion key must only contain lower case alphabetical characters and - but "'+t+'" was passed');var o,a,i={},s=[];o=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),(function(e){for(var t=e.getAttribute("data-emotion").split(" "),n=1;n<t.length;n++)i[t[n]]=!0;s.push(e)}));var l=[DI,qI];"production"!==Lt.env.NODE_ENV&&l.push(function(e){return function(t,n,r){if("rule"===t.type&&!e.compat){var o=t.value.match(/(:first|:nth|:nth-last)-child/g);if(o){for(var a=t.parent?t.parent.children:r,i=a.length-1;i>=0;i--){var s=a[i];if(s.line<t.line)break;if(s.column<t.column){if(BI(s))return;break}}o.forEach((function(e){console.error('The pseudo class "'+e+'" is potentially unsafe when doing server-side rendering. Try changing it to "'+e.split("-child")[0]+'-of-type".')}))}}}}({get compat(){return p.compat}}),GI);var c,u,f=[FI,"production"!==Lt.env.NODE_ENV?function(e){e.root||(e.return?c.insert(e.return):e.value&&e.type!==$T&&c.insert(e.value+"{}"))}:(u=function(e){c.insert(e)},function(e){e.root||(e=e.return)&&u(e)})],d=function(e){var t=aI(e);return function(n,r,o,a){for(var i="",s=0;s<t;s++)i+=e[s](n,r,o,a)||"";return i}}(l.concat(r,f));a=function(e,t,n,r){c=n,"production"!==Lt.env.NODE_ENV&&void 0!==t.map&&(c={insert:function(e){n.insert(e+t.map)}}),MI(NI(e?e+"{"+t.styles+"}":t.styles),d),r&&(p.inserted[t.name]=!0)};var p={key:t,sheet:new zT({key:t,container:o,nonce:e.nonce,speedy:e.speedy,prepend:e.prepend,insertionPoint:e.insertionPoint}),nonce:e.nonce,inserted:i,registered:{},insert:a};return p.sheet.hydrate(s),p};function VI(e,t,n){var r="";return n.split(" ").forEach((function(n){void 0!==e[n]?t.push(e[n]+";"):r+=n+" "})),r}var JI=function(e,t,n){var r=e.key+"-"+t.name;!1===n&&void 0===e.registered[r]&&(e.registered[r]=t.styles)},YI=function(e,t,n){JI(e,t,n);var r=e.key+"-"+t.name;if(void 0===e.inserted[t.name]){var o=t;do{e.insert(t===o?"."+r:"",o,e.sheet,!0),o=o.next}while(void 0!==o)}},KI={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},ZI="You have illegal escape sequence in your template literal, most likely inside content's property value.\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \"content: '\\00d7';\" should become \"content: '\\\\00d7';\".\nYou can read more about this here:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences",XI=/[A-Z]|^ms/g,QI=/_EMO_([^_]+?)_([^]*?)_EMO_/g,eP=function(e){return 45===e.charCodeAt(1)},tP=function(e){return null!=e&&"boolean"!=typeof e},nP=qT((function(e){return eP(e)?e:e.replace(XI,"-$&").toLowerCase()})),rP=function(e,t){switch(e){case"animation":case"animationName":if("string"==typeof t)return t.replace(QI,(function(e,t,n){return pP={name:t,styles:n,next:pP},t}))}return 1===KI[e]||eP(e)||"number"!=typeof t||0===t?t:t+"px"};if("production"!==Lt.env.NODE_ENV){var oP=/(var|attr|counters?|url|element|(((repeating-)?(linear|radial))|conic)-gradient)\(|(no-)?(open|close)-quote/,aP=["normal","none","initial","inherit","unset"],iP=rP,sP=/^-ms-/,lP=/-(.)/g,cP={};rP=function(e,t){if("content"===e&&("string"!=typeof t||-1===aP.indexOf(t)&&!oP.test(t)&&(t.charAt(0)!==t.charAt(t.length-1)||'"'!==t.charAt(0)&&"'"!==t.charAt(0))))throw new Error("You seem to be using a value for 'content' without quotes, try replacing it with `content: '\""+t+"\"'`");var n=iP(e,t);return""===n||eP(e)||-1===e.indexOf("-")||void 0!==cP[e]||(cP[e]=!0,console.error("Using kebab-case for css properties in objects is not supported. Did you mean "+e.replace(sP,"ms-").replace(lP,(function(e,t){return t.toUpperCase()}))+"?")),n}}var uP="Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.";function fP(e,t,n){if(null==n)return"";if(void 0!==n.__emotion_styles){if("production"!==Lt.env.NODE_ENV&&"NO_COMPONENT_SELECTOR"===n.toString())throw new Error(uP);return n}switch(Y(n)){case"boolean":return"";case"object":if(1===n.anim)return pP={name:n.name,styles:n.styles,next:pP},n.name;if(void 0!==n.styles){var r=n.next;if(void 0!==r)for(;void 0!==r;)pP={name:r.name,styles:r.styles,next:pP},r=r.next;var o=n.styles+";";return"production"!==Lt.env.NODE_ENV&&void 0!==n.map&&(o+=n.map),o}return function(e,t,n){var r="";if(Array.isArray(n))for(var o=0;o<n.length;o++)r+=fP(e,t,n[o])+";";else for(var a in n){var i=n[a];if("object"!==Y(i))null!=t&&void 0!==t[i]?r+=a+"{"+t[i]+"}":tP(i)&&(r+=nP(a)+":"+rP(a,i)+";");else{if("NO_COMPONENT_SELECTOR"===a&&"production"!==Lt.env.NODE_ENV)throw new Error(uP);if(!Array.isArray(i)||"string"!=typeof i[0]||null!=t&&void 0!==t[i[0]]){var s=fP(e,t,i);switch(a){case"animation":case"animationName":r+=nP(a)+":"+s+";";break;default:"production"!==Lt.env.NODE_ENV&&"undefined"===a&&console.error("You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key)."),r+=a+"{"+s+"}"}}else for(var l=0;l<i.length;l++)tP(i[l])&&(r+=nP(a)+":"+rP(a,i[l])+";")}}return r}(e,t,n);case"function":if(void 0!==e){var a=pP,i=n(e);return pP=a,fP(e,t,i)}"production"!==Lt.env.NODE_ENV&&console.error("Functions that are interpolated in css calls will be stringified.\nIf you want to have a css call based on props, create a function that returns a css call like this\nlet dynamicStyle = (props) => css`color: ${props.color}`\nIt can be called directly with props or interpolated in a styled call like this\nlet SomeComponent = styled('div')`${dynamicStyle}`");break;case"string":if("production"!==Lt.env.NODE_ENV){var s=[],l=n.replace(QI,(function(e,t,n){var r="animation"+s.length;return s.push("const "+r+" = keyframes`"+n.replace(/^@keyframes animation-\w+/,"")+"`"),"${"+r+"}"}));s.length&&console.error("`keyframes` output got interpolated into plain string, please wrap it with `css`.\n\nInstead of doing this:\n\n"+[].concat(s,["`"+l+"`"]).join("\n")+"\n\nYou should wrap it with `css` like this:\n\ncss`"+l+"`")}}if(null==t)return n;var c=t[n];return void 0!==c?c:n}var dP,pP,hP=/label:\s*([^\s;\n{]+)\s*(;|$)/g;"production"!==Lt.env.NODE_ENV&&(dP=/\/\*#\ssourceMappingURL=data:application\/json;\S+\s+\*\//g);var mP=function(e,t,n){if(1===e.length&&"object"===Y(e[0])&&null!==e[0]&&void 0!==e[0].styles)return e[0];var r=!0,o="";pP=void 0;var a,i=e[0];null==i||void 0===i.raw?(r=!1,o+=fP(n,t,i)):("production"!==Lt.env.NODE_ENV&&void 0===i[0]&&console.error(ZI),o+=i[0]);for(var s=1;s<e.length;s++)o+=fP(n,t,e[s]),r&&("production"!==Lt.env.NODE_ENV&&void 0===i[s]&&console.error(ZI),o+=i[s]);"production"!==Lt.env.NODE_ENV&&(o=o.replace(dP,(function(e){return a=e,""}))),hP.lastIndex=0;for(var l,c="";null!==(l=hP.exec(o));)c+="-"+l[1];var u=function(e){for(var t,n=0,r=0,o=e.length;o>=4;++r,o-=4)t=1540483477*(65535&(t=255&e.charCodeAt(r)|(255&e.charCodeAt(++r))<<8|(255&e.charCodeAt(++r))<<16|(255&e.charCodeAt(++r))<<24))+(59797*(t>>>16)<<16),n=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&n)+(59797*(n>>>16)<<16);switch(o){case 3:n^=(255&e.charCodeAt(r+2))<<16;case 2:n^=(255&e.charCodeAt(r+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(r)))+(59797*(n>>>16)<<16)}return(((n=1540483477*(65535&(n^=n>>>13))+(59797*(n>>>16)<<16))^n>>>15)>>>0).toString(36)}(o)+c;return"production"!==Lt.env.NODE_ENV?{name:u,styles:o,map:a,next:pP,toString:function(){return"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."}}:{name:u,styles:o,next:pP}},gP=!!I.useInsertionEffect&&I.useInsertionEffect||function(e){return e()},yP={}.hasOwnProperty,vP=I.createContext("undefined"!=typeof HTMLElement?$I({key:"css"}):null);"production"!==Lt.env.NODE_ENV&&(vP.displayName="EmotionCacheContext");var _P=function(e){return f.forwardRef((function(t,n){var r=f.useContext(vP);return e(t,r,n)}))},bP=I.createContext({});"production"!==Lt.env.NODE_ENV&&(bP.displayName="EmotionThemeContext");var wP="__EMOTION_TYPE_PLEASE_DO_NOT_USE__",SP="__EMOTION_LABEL_PLEASE_DO_NOT_USE__",xP=function(e){var t=e.cache,n=e.serialized,r=e.isStringTag;return JI(t,n,r),gP((function(){return YI(t,n,r)})),null},EP=_P((function(e,t,n){var r=e.css;"string"==typeof r&&void 0!==t.registered[r]&&(r=t.registered[r]);var o=e[wP],a=[r],i="";"string"==typeof e.className?i=VI(t.registered,a,e.className):null!=e.className&&(i=e.className+" ");var s=mP(a,void 0,I.useContext(bP));if("production"!==Lt.env.NODE_ENV&&-1===s.name.indexOf("-")){var l=e[SP];l&&(s=mP([s,"label:"+l+";"]))}i+=t.key+"-"+s.name;var c={};for(var u in e)!yP.call(e,u)||"css"===u||u===wP||"production"!==Lt.env.NODE_ENV&&u===SP||(c[u]=e[u]);return c.ref=n,c.className=i,I.createElement(I.Fragment,null,I.createElement(xP,{cache:t,serialized:s,isStringTag:"string"==typeof o}),I.createElement(o,c))}));"production"!==Lt.env.NODE_ENV&&(EP.displayName="EmotionCssPropInternal");var kP=UT,AP=function(e){return"theme"!==e},OP=function(e){return"string"==typeof e&&e.charCodeAt(0)>96?kP:AP},CP=function(e,t,n){var r;if(t){var o=t.shouldForwardProp;r=e.__emotion_forwardProp&&o?function(t){return e.__emotion_forwardProp(t)&&o(t)}:o}return"function"!=typeof r&&n&&(r=e.__emotion_forwardProp),r},NP="You have illegal escape sequence in your template literal, most likely inside content's property value.\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \"content: '\\00d7';\" should become \"content: '\\\\00d7';\".\nYou can read more about this here:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences",RP=function(e){var t=e.cache,n=e.serialized,r=e.isStringTag;return JI(t,n,r),gP((function(){return YI(t,n,r)})),null},TP=function e(t,n){if("production"!==Lt.env.NODE_ENV&&void 0===t)throw new Error("You are trying to create a styled element with an undefined component.\nYou may have forgotten to import it.");var r,o,a=t.__emotion_real===t,i=a&&t.__emotion_base||t;void 0!==n&&(r=n.label,o=n.target);var s=CP(t,n,a),l=s||OP(i),c=!l("as");return function(){var u=arguments,f=a&&void 0!==t.__emotion_styles?t.__emotion_styles.slice(0):[];if(void 0!==r&&f.push("label:"+r+";"),null==u[0]||void 0===u[0].raw)f.push.apply(f,u);else{"production"!==Lt.env.NODE_ENV&&void 0===u[0][0]&&console.error(NP),f.push(u[0][0]);for(var d=u.length,p=1;p<d;p++)"production"!==Lt.env.NODE_ENV&&void 0===u[0][p]&&console.error(NP),f.push(u[p],u[0][p])}var h=_P((function(e,t,n){var r=c&&e.as||i,a="",u=[],d=e;if(null==e.theme){for(var p in d={},e)d[p]=e[p];d.theme=I.useContext(bP)}"string"==typeof e.className?a=VI(t.registered,u,e.className):null!=e.className&&(a=e.className+" ");var h=mP(f.concat(u),t.registered,d);a+=t.key+"-"+h.name,void 0!==o&&(a+=" "+o);var m=c&&void 0===s?OP(r):l,g={};for(var y in e)c&&"as"===y||m(y)&&(g[y]=e[y]);return g.className=a,g.ref=n,I.createElement(I.Fragment,null,I.createElement(RP,{cache:t,serialized:h,isStringTag:"string"==typeof r}),I.createElement(r,g))}));return h.displayName=void 0!==r?r:"Styled("+("string"==typeof i?i:i.displayName||i.name||"Component")+")",h.defaultProps=t.defaultProps,h.__emotion_real=h,h.__emotion_base=i,h.__emotion_styles=f,h.__emotion_forwardProp=s,Object.defineProperty(h,"toString",{value:function(){return void 0===o&&"production"!==Lt.env.NODE_ENV?"NO_COMPONENT_SELECTOR":"."+o}}),h.withComponent=function(t,r){return e(t,DT({},n,r,{shouldForwardProp:CP(h,r,!0)})).apply(void 0,f)},h}}.bind();["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"].forEach((function(e){TP[e]=TP(e)}));const IP=60;function PP(e,t,r){const o=[],{cdsLocations:a,strand:i,transcriptParts:s}=t;switch(e){case"genomic":case"cDNA":{const[t]=s;for(const a of t){if("cDNA"===e&&"intron"===a.type)continue;let t=r(a.min,a.max);-1===i&&(t=n.revcom(t));const s="fivePrimeUTR"===a.type||"threePrimeUTR"===a.type?"UTR":a.type,l=o.at(-1);if(l)if(l.type===s){const[e,...n]=l.sequenceLines,r=n.join("")+t;l.sequenceLines=[e,...er.splitStringIntoChunks(r,IP)],l.locs.push({min:a.min,max:a.max})}else{const e=o.reduce(((e,t)=>e+t.sequenceLines.reduce(((e,t)=>e+t.length),0)),0),n=IP-e%IP,r=t.slice(0,n),i=er.splitStringIntoChunks(t.slice(n),IP);o.push({type:s,sequenceLines:[r,...i],locs:[{min:a.min,max:a.max}]})}else{const e=er.splitStringIntoChunks(t,IP);o.push({type:s,sequenceLines:e,locs:[{min:a.min,max:a.max}]})}}return o}case"CDS":{let e="";const[t]=a,s=[];for(const o of t){let t=r(o.min,o.max);-1===i&&(t=n.revcom(t)),e+=t,s.push({min:o.min,max:o.max})}const l=er.splitStringIntoChunks(e,IP);return o.push({type:"CDS",sequenceLines:l,locs:s}),o}case"protein":{let e="";const[t]=a,s=[];for(const o of t){let t=r(o.min,o.max);-1===i&&(t=n.revcom(t)),e+=t,s.push({min:o.min,max:o.max})}let l="";for(let t=0;t<e.length;t+=3){const r=e.slice(t,t+3).toUpperCase();l+=n.defaultCodonTable[r]||"&"}const c=er.splitStringIntoChunks(l,IP);return o.push({type:"protein",sequenceLines:c,locs:s}),o}}}function MP(e){switch(e){case"upOrDownstream":return"rgb(255,255,255)";case"exon":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)"}}function FP(e){const t=[],n=e.flatMap((e=>e.locs));let[r]=n;for(let e=1;e<n.length;e++)r.min===n[e].max||r.max===n[e].min?r={min:Math.min(r.min,n[e].min),max:Math.max(r.max,n[e].max)}:(t.push(r),r=n[e]);return t.push(r),t}const jP=p.observer((function({assembly:e,feature:t,refName:n,session:r}){const o=r.apolloDataStore.assemblies.get(e),a=o?.getByRefName(n),{featureTypeOntology:i}=r.apolloDataStore.ontologyManager,s="genomic",l=["genomic","cDNA"],[u,d]=f.useState(l),[p,h]=f.useState(s),[m,g]=f.useState((()=>a?PP(s,t,((e,t)=>a.getSequence(e,t))):[])),[y,v]=f.useState((()=>FP(m))),_=c.useTheme(),b=f.useRef(null);if(f.useEffect((()=>{const{cdsLocations:e}=t,[n]=e;d(n.length>0?[...l,"CDS","protein"]:l)}),[t]),!o||!a)return null;const w=o.getByRefName(n);if(!w)return null;if(!i)throw new Error("featureTypeOntology is undefined");return i.isTypeOf(t.type,"transcript")?T.default.createElement(T.default.Fragment,null,T.default.createElement(c.Select,{defaultValue:"genomic",value:p,onChange:function(e){const n=e.target.value;h(n);const r=a?PP(n,t,((e,t)=>a.getSequence(e,t))):[],o=FP(r);g(r),v(o)},size:"small"},u.map((e=>T.default.createElement(c.MenuItem,{key:e,value:e},e)))),T.default.createElement(c.Button,{variant:"contained",onClick:()=>{const e=b.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])},style:{marginLeft:10},size:"medium"},"Copy sequence"),T.default.createElement(c.Paper,{style:{fontFamily:"monospace",padding:_.spacing(),overflowX:"auto"},ref:b},">",w.name,":",y.map((e=>1===t.strand?`${e.min+1}-${e.max}`:`${e.max}-${e.min+1}`)).join(";"),"(",1===t.strand?"+":"-",")",T.default.createElement("br",null),m.map(((e,t)=>T.default.createElement("span",{key:`${e.type}-${t}`,style:{background:MP(e.type),color:_.palette.getContrastText(MP(e.type))}},e.sequenceLines.map(((t,n)=>T.default.createElement(T.default.Fragment,{key:`${t.slice(0,5)}-${n}`},t,n===e.sequenceLines.length-1&&t.length!==IP?null:T.default.createElement("br",null))))))))):null})),LP=TP(c.TableCell)((()=>({fontWeight:"bold"}))),DP=p.observer((function(e){const{feature:t}=e,n=yd(t),r=vd(t);return T.default.createElement(c.Table,{size:"small",sx:{fontSize:"0.75rem","& .MuiTableCell-root":{padding:"4px"}}},T.default.createElement(c.TableBody,null,""!==n&&T.default.createElement(c.TableRow,null,T.default.createElement(LP,null,"Name"),T.default.createElement(c.TableCell,null,yd(t))),""!==r&&T.default.createElement(c.TableRow,null,T.default.createElement(LP,null,"ID"),T.default.createElement(c.TableCell,null,vd(t))),T.default.createElement(c.TableRow,null,T.default.createElement(LP,null,"Location"),T.default.createElement(c.TableCell,null,e.refName,":",t.min,"..",t.max)),T.default.createElement(c.TableRow,null,T.default.createElement(LP,null,"Strand"),T.default.createElement(c.TableCell,null,1===(o=t.strand)?"Forward":-1===o?"Reverse":""))));var o}));var qP={},BP=Kl.exports;Object.defineProperty(qP,"__esModule",{value:!0});var UP=qP.default=void 0;UP=qP.default=(0,BP(Zl).default)((0,N.default.jsx)("path",{d:"M19 13H5v-2h14v2z"}),"Remove");var zP={},GP=Kl.exports;Object.defineProperty(zP,"__esModule",{value:!0});var HP=zP.default=void 0;HP=zP.default=(0,GP(Zl).default)((0,N.default.jsx)("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"}),"ContentCopy");var WP={},$P=Kl.exports;Object.defineProperty(WP,"__esModule",{value:!0});var VP=WP.default=void 0;VP=WP.default=(0,$P(Zl).default)((0,N.default.jsx)("path",{d:"M9.64 7.64c.23-.5.36-1.05.36-1.64 0-2.21-1.79-4-4-4S2 3.79 2 6s1.79 4 4 4c.59 0 1.14-.13 1.64-.36L10 12l-2.36 2.36C7.14 14.13 6.59 14 6 14c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4c0-.59-.13-1.14-.36-1.64L12 14l7 7h3v-1L9.64 7.64zM6 8c-1.1 0-2-.89-2-2s.9-2 2-2 2 .89 2 2-.9 2-2 2zm0 12c-1.1 0-2-.89-2-2s.9-2 2-2 2 .89 2 2-.9 2-2 2zm6-7.5c-.28 0-.5-.22-.5-.5s.22-.5.5-.5.5.22.5.5-.22.5-.5.5zM19 3l-6 6 2 2 7-7V3z"}),"ContentCut");const JP=TP(ST)((()=>({"&.MuiFormControl-root":{marginTop:0,marginBottom:0,width:"100%"},"& .MuiInputBase-input":{fontSize:12,height:20,padding:1,paddingLeft:10}}))),YP=TP("div")({display:"flex",justifyContent:"center",alignItems:"center",textAlign:"left",width:"100%",overflowWrap:"break-word",wordWrap:"break-word",wordBreak:"break-all","& span":{fontSize:12}}),KP=e=>{const{strand:t}=e;return T.default.createElement("div",null,1===t?T.default.createElement(Ql,null):-1===t?T.default.createElement(UP,null):T.default.createElement(c.Typography,{component:"span"},"N/A"))},ZP=p.observer((function({assembly:e,feature:t,refName:r,session:o}){const{notify:a}=o,i=o.apolloDataStore.assemblies.get(e),s=i?.getByRefName(r),{changeManager:l}=o.apolloDataStore,u=f.useRef(null);function d(t,n,r,o){if(!r.children)throw new Error("Transcript should have child features");for(const[,i]of r.children)if("CDS"===i.type){if(o&&t===i.min){const t=new er.LocationStartChange({typeName:"LocationStartChange",changedIds:[i._id],featureId:r._id,oldStart:i.min,newStart:n,assembly:e});return void l.submit(t).catch((()=>{a("Error updating feature start position","error")}))}if(!o&&t===i.max){const t=new er.LocationEndChange({typeName:"LocationEndChange",changedIds:[i._id],featureId:r._id,oldEnd:i.max,newEnd:n,assembly:e});return void l.submit(t).catch((()=>{a("Error updating feature start position","error")}))}}}function p(t,n,r,o){if(!r.children)throw new Error("Transcript should have child features");for(const[,i]of r.children)if("exon"===i.type){if(o&&t===i.min){const t=new er.LocationStartChange({typeName:"LocationStartChange",changedIds:[i._id],featureId:r._id,oldStart:i.min,newStart:n,assembly:e});return void l.submit(t).catch((()=>{a("Error updating feature start position","error")}))}if(!o&&t===i.max){const t=new er.LocationEndChange({typeName:"LocationEndChange",changedIds:[i._id],featureId:r._id,oldEnd:i.max,newEnd:n,assembly:e});return void l.submit(t).catch((()=>{a("Error updating feature start position","error")}))}}}if(!s)return null;const{cdsLocations:h,transcriptExonParts:m,strand:g}=t,[y]=h,v=m.filter((e=>"exon"===e.type)).sort((({min:e},{min:t})=>e-t)),_=v[0]?.min,b=v[v.length-1]?.max;let w=_,S=b;const x=y.length>0;x&&(w=y[0].min,S=y[y.length-1].max);const E=()=>{let e="";const[r]=h;for(const t of r){let r=s.getSequence(t.min,t.max);-1===g&&(r=n.revcom(r)),e+=r}const o=[];for(let r=0;r<e.length;r+=3){const a=e.slice(r,r+3).toUpperCase(),i=n.defaultCodonTable[a]||"&";"ATG"===a?o.push(T.default.createElement(c.Typography,{component:"span",style:{backgroundColor:"yellow",cursor:"pointer",border:"1px solid black"},key:r,onClick:()=>{const e=k(r);e!==w&&d(w,e,t,!0)}},i)):["TAA","TAG","TGA"].includes(a)?o.push(T.default.createElement(c.Typography,{style:{backgroundColor:"red",color:"white"},component:"span",key:r},i)):o.push(T.default.createElement(c.Typography,{component:"span",key:r},i))}return o},k=e=>{const[t]=h;let n=0;for(const r of t){const t=r.max-r.min;if(n+t>e)return r.min+(e-n);n+=t}return w};return T.default.createElement("div",null,x&&T.default.createElement("div",null,T.default.createElement(c.Accordion,{defaultExpanded:!0},T.default.createElement(QP,{expandIcon:T.default.createElement(iT,{style:{color:"white"}}),"aria-controls":"panel1-content",id:"panel1-header"},T.default.createElement(c.Typography,{component:"span",fontWeight:"bold"},"Translation")),T.default.createElement(c.AccordionDetails,null,T.default.createElement(YP,null,T.default.createElement(c.Typography,{component:"span",ref:u},E())),T.default.createElement("div",{style:{marginTop:10,display:"flex",flexDirection:"row",alignItems:"center",gap:10}},T.default.createElement(c.Tooltip,{title:"Copy"},T.default.createElement(HP,{style:{fontSize:15,cursor:"pointer"},onClick:()=>{const e=u.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])}})),T.default.createElement(c.Tooltip,{title:"Trim"},T.default.createElement(VP,{style:{fontSize:15,cursor:"pointer"},onClick:()=>{const e=E(),n=e.map((e=>e.props.children)).join("");if(n.startsWith("M")&&n.endsWith("*"))return;const r=[];for(const t of e)r.push({codonGenomicPos:t.key,sequenceLetter:t.props.children});if(0===r.length)return;const o=n.indexOf("M"),a=n.lastIndexOf("*")+1,i=r[o].codonGenomicPos,s=r[a].codonGenomicPos;if(!i||!s)return;const l=k(i),c=(e=>{const[t]=h;let n=0;for(const r of t){const t=r.max-r.min;if(n+t>e)return r.min+(e-n);n+=t}return S})(s);l!==w&&d(w,l,t,!0),c!==S&&setTimeout((()=>{d(S,c,t,!1)}),1e3)}}))))),T.default.createElement(c.Grid2,{container:!0,justifyContent:"center",alignItems:"center",style:{textAlign:"center",marginTop:10}},T.default.createElement(c.Grid2,{size:1}),T.default.createElement(c.Grid2,{size:4},T.default.createElement(JP,{margin:"dense",variant:"outlined",value:w,onChangeCommitted:e=>{d(w,e,t,!0)}})),T.default.createElement(c.Grid2,{size:2},T.default.createElement(c.Typography,{component:"span"},"CDS")),T.default.createElement(c.Grid2,{size:4},T.default.createElement(JP,{margin:"dense",variant:"outlined",value:S,onChangeCommitted:e=>{d(S,e,t,!1)}})),T.default.createElement(c.Grid2,{size:1}))),T.default.createElement("div",{style:{marginTop:5}},m.map(((e,r)=>T.default.createElement("div",{key:r},"exon"===e.type&&T.default.createElement(c.Grid2,{container:!0,justifyContent:"center",alignItems:"center",style:{textAlign:"center"}},T.default.createElement(c.Grid2,{size:1},0!==r&&((e,t)=>{let r="";if(t>0){const o=m[t-1];1===g?"intron"===o.type&&(r=s.getSequence(e.min-2,e.min)):"intron"===o.type&&(r=n.revcom(s.getSequence(e.max,e.max+2)))}return[{spliceSite:r,color:"AG"===r?"green":"red"}]})(e,r).map(((e,t)=>T.default.createElement(c.Typography,{key:t,component:"span",color:e.color},e.spliceSite)))),T.default.createElement(c.Grid2,{size:4,style:{padding:0}},T.default.createElement(JP,{margin:"dense",variant:"outlined",value:e.min,onChangeCommitted:n=>{p(e.min,n,t,!0)}})),T.default.createElement(c.Grid2,{size:2},T.default.createElement(KP,{strand:t.strand})),T.default.createElement(c.Grid2,{size:4,style:{padding:0}},T.default.createElement(JP,{margin:"dense",variant:"outlined",value:e.max,onChangeCommitted:n=>{p(e.max,n,t,!1)}})),T.default.createElement(c.Grid2,{size:1},r!==m.length-1&&((e,t)=>{let r="";if(t<m.length-1){const o=m[t+1];1===g?"intron"===o.type&&(r=s.getSequence(e.max,e.max+2)):"intron"===o.type&&(r=n.revcom(s.getSequence(e.min-2,e.min)))}return[{spliceSite:r,color:"GT"===r?"green":"red"}]})(e,r).map(((e,t)=>T.default.createElement(c.Typography,{key:t,component:"span",color:e.color},e.spliceSite))))))))))})),XP=u.makeStyles()((e=>({root:{padding:e.spacing(2)}}))),QP=TP(c.AccordionSummary)((()=>({minHeight:30,maxHeight:30,"&.Mui-expanded":{minHeight:30,maxHeight:30}}))),eM=p.observer((function(e){const{classes:t}=XP(),r=["summary","location","attrs"],[o,a]=f.useState(r),{model:i}=e,{assembly:s,feature:u,refName:d}=i;f.useEffect((()=>{a(r)}),[u]);const p=n.getSession(i),h=n.getSession(i),m=h.apolloDataStore.assemblies.get(s),{internetAccounts:g}=l.getRoot(p),y=g.find((e=>"ApolloInternetAccount"===e.type)),v=["admin","user"].includes((y?y.role:"admin")??"");if(!u||!m)return null;const _=m.getByRefName(d);if(!_)return null;const{max:b,min:w}=u;function S(e,t){a(e?[...o,t]:o.filter((e=>e!==t)))}return _.getSequence(w,b)||h.apolloDataStore.loadRefSeq([{assemblyName:s,refName:d,start:w,end:b}]),T.default.createElement("div",{className:t.root},T.default.createElement(c.Accordion,{expanded:o.includes("summary"),onChange:(e,t)=>{S(t,"summary")}},T.default.createElement(QP,{expandIcon:T.default.createElement(iT,{style:{color:"white"}}),"aria-controls":"panel1-content",id:"panel1-header"},T.default.createElement(c.Typography,{component:"span",fontWeight:"bold"},"Summary")),T.default.createElement(c.AccordionDetails,null,T.default.createElement(DP,{feature:u,refName:d}))),T.default.createElement(c.Accordion,{style:{marginTop:5},expanded:o.includes("location"),onChange:(e,t)=>{S(t,"location")}},T.default.createElement(QP,{expandIcon:T.default.createElement(iT,{style:{color:"white"}}),"aria-controls":"panel2-content",id:"panel2-header"},T.default.createElement(c.Typography,{component:"span",fontWeight:"bold"},"Location")),T.default.createElement(c.AccordionDetails,null,T.default.createElement(ZP,{feature:u,refName:d,session:h,assembly:m._id||""}))),T.default.createElement(c.Accordion,{style:{marginTop:5},expanded:o.includes("attrs"),onChange:(e,t)=>{S(t,"attrs")}},T.default.createElement(QP,{expandIcon:T.default.createElement(iT,{style:{color:"white"}}),"aria-controls":"panel3-content",id:"panel3-header"},T.default.createElement("div",{style:{display:"flex",alignItems:"center"}},T.default.createElement(c.Typography,{component:"span",fontWeight:"bold"},"Attributes"," "),T.default.createElement(c.Tooltip,{title:"Separate multiple values for the attribute with commas"},T.default.createElement(Md,{style:{color:"white",fontSize:15,marginLeft:10}})))),T.default.createElement(c.AccordionDetails,null,T.default.createElement(wT,{feature:u,session:h,assembly:m._id||"",editable:v}))),T.default.createElement(c.Accordion,{style:{marginTop:5},expanded:o.includes("sequence"),onChange:(e,t)=>{S(t,"sequence")}},T.default.createElement(QP,{expandIcon:T.default.createElement(iT,{style:{color:"white"}}),"aria-controls":"panel4-content",id:"panel4-header"},T.default.createElement(c.Typography,{component:"span",fontWeight:"bold"},"Sequence")),T.default.createElement(c.AccordionDetails,null,o.includes("sequence")&&T.default.createElement(jP,{feature:u,session:h,assembly:m._id||"",refName:d}))))})),tM=r.ConfigurationSchema("LinearApolloDisplay",{},{explicitIdentifier:"displayId",explicitlyTyped:!0}),nM=u.makeStyles()({highlighted:{background:"orange"}}),rM=({highlight:e,text:t})=>{const{classes:n}=nM();if(!e)return T.default.createElement(T.default.Fragment,null,t);const r=t.split(e);if(1===r.length)return T.default.createElement(T.default.Fragment,null,t);const o=[];for(let t=0;t<r.length-1;t++)o.push(r[t],T.default.createElement("span",{className:n.highlighted},e));return T.default.createElement(T.default.Fragment,null,o,r.at(-1))},oM=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),l.getSnapshot(t)]}return"_id"===e?["ID",l.getSnapshot(t)]:[e,l.getSnapshot(t)]})).filter((([e])=>e)).map((([e,t])=>`${e}=${Array.isArray(t)?t.join(", "):t}`)).join(", ");return T.default.createElement(rM,{text:n,highlight:t})})),aM=u.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}}))),iM=p.observer((function({initialValue:e,notifyError:t,onChangeCommitted:n}){const[r,o]=f.useState(e),[a,i]=f.useState(!1),[s,l]=f.useState(null),{classes:c}=aM();return f.useEffect((()=>{e!==r&&o(e)}),[e]),f.useEffect((()=>{a&&(s?.blur(),i(!1))}),[a,s]),T.default.createElement("span",{className:c.inputWrapper},T.default.createElement("span",{className:c.hiddenWidthSpan,"aria-hidden":!0},r),T.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),i(!0))},onBlur:()=>{r!==e&&n(r).catch(t)},ref:e=>{l(e)}}))})),sM=u.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 lM(e,t){const{changeManager:r,getAssemblyId:o,regions:a,selectedFeature:i,session:s,setSelectedFeature:c}=e;return function(e,t,r,o,a,i,s){const c=function(e){const{internetAccounts:t}=l.getParent(e);return t.find((e=>"ApolloInternetAccount"===e.type))}(i),u=c?c.role:"admin",f="admin"===u,d=!(u&&["admin","user"].includes(u)),p=[];if(e){const l=r(t.assemblyName),u=r(t.assemblyName);p.push({label:"Edit feature details",onClick:()=>{const n=i.addWidget("ApolloFeatureDetailsWidget","apolloFeatureDetailsWidget",{feature:e,assembly:u,refName:t.refName});i.showWidget(n)}},{label:"Add child feature",disabled:d,onClick:()=>{i.queueDialog((t=>[$N,{session:i,handleClose:()=>{t()},changeManager:s,sourceFeature:e,sourceAssemblyId:l,internetAccount:c}]))}},{label:"Copy features and annotations",disabled:d,onClick:()=>{i.queueDialog((t=>[YN,{session:i,handleClose:()=>{t()},changeManager:s,sourceFeature:e,sourceAssemblyId:u}]))}},{label:"Delete feature",disabled:!f,onClick:()=>{i.queueDialog((t=>[ZN,{session:i,handleClose:()=>{t()},changeManager:s,sourceFeature:e,sourceAssemblyId:u,selectedFeature:o,setSelectedFeature:a}]))}});const{featureTypeOntology:h}=i.apolloDataStore.ontologyManager;if(!h)throw new Error("featureTypeOntology is undefined");(h.isTypeOf(e.type,"transcript")||h.isTypeOf(e.type,"pseudogenic_transcript"))&&n.isSessionModelWithWidgets(i)&&p.push({label:"Edit transcript details",onClick:()=>{const n=i.addWidget("ApolloTranscriptDetails","apolloTranscriptDetails",{feature:e,assembly:u,changeManager:s,refName:t.refName});i.showWidget(n)}})}return p}(t,a[0],o,i,c,s,r)}function cM(e){let t=e;for(;t.parent;)t=t.parent;return t}const uM=p.observer((function e({depth:t,feature:n,isHovered:r,isSelected:o,model:a,selectedFeatureClass:i,setContextMenu:s}){const{classes:l}=sM(),{apolloHover:c,changeManager:u,selectedFeature:f,session:d,tabularEditor:p}=a,{featureCollapsed:h,filterText:m}=p,{_id:g,children:y,max:v,min:_,strand:b,type:w}=n,S=!h.get(g),x=e=>{d.notify(e.message,"error")};return T.default.createElement(T.default.Fragment,null,T.default.createElement("tr",{onMouseEnter:e=>{a.setApolloHover({feature:n,topLevelFeature:cM(n),glyph:a.getGlyph(cM(n))})},className:l.feature+(o?` ${i}`:r?` ${l.hoveredFeature}`:""),onClick:e=>{e.stopPropagation(),a.setSelectedFeature(n)},onContextMenu:e=>(e.preventDefault(),s({position:{left:e.clientX+2,top:e.clientY-6},items:lM(a,n)}),!1)},T.default.createElement("td",{style:{whiteSpace:"nowrap",borderLeft:2*t+"em solid transparent"}},y?.size?T.default.createElement("div",{onClick:e=>{e.stopPropagation(),p.setFeatureCollapsed(g,S)},className:l.arrow+(S?` ${l.arrowExpanded}`:"")},"❯"):null,T.default.createElement("div",{className:l.typeContent},T.default.createElement(WN,{session:d,ontologyName:"Sequence Ontology",style:{width:170},value:w,filterTerms:zN,fetchValidTerms:fM.bind(null,n),renderInput:e=>T.default.createElement("div",{ref:e.InputProps.ref},T.default.createElement("input",{type:"text",...e.inputProps,className:l.typeInputElement,style:{width:170}}),e.error?T.default.createElement("div",{className:l.typeErrorMessage},e.errorMessage??"unknown error"):null),onChange:(e,t)=>{t&&function(e,t,n,r){const o=t._id,a=new er.TypeChange({typeName:"TypeChange",changedIds:[o],featureId:o,oldType:String(n),newType:String(r),assembly:t.assemblyId});return e.submit(a)}(u,n,e,t).catch(x)}}))),T.default.createElement("td",null,T.default.createElement(iM,{initialValue:_+1,notifyError:x,onChangeCommitted:e=>function(e,t,n,r){const o=t._id,a=new er.LocationStartChange({typeName:"LocationStartChange",changedIds:[o],featureId:o,oldStart:n,newStart:r,assembly:t.assemblyId});return e.submit(a)}(u,n,_,e-1)})),T.default.createElement("td",null,T.default.createElement(iM,{initialValue:v,notifyError:x,onChangeCommitted:e=>function(e,t,n,r){const o=t._id,a=new er.LocationEndChange({typeName:"LocationEndChange",changedIds:[o],featureId:o,oldEnd:n,newEnd:r,assembly:t.assemblyId});return e.submit(a)}(u,n,v,e)})),T.default.createElement("td",null,1===b?"+":-1===b?"-":void 0),T.default.createElement("td",null,T.default.createElement(oM,{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])=>T.default.createElement(e,{isHovered:c?.feature._id===r._id,isSelected:f?._id===r._id,selectedFeatureClass:i,key:n,depth:(t||0)+1,feature:r,model:a,setContextMenu:s}))):null)}));async function fM(e,t,n){const{parent:r}=e;if(r){const e=(await t.getTermsWithLabelOrSynonym(r.type,{includeSubclasses:!1})).filter(zN);if(e.length>0)return await t.getClassesThat("part_of",e)}}const dM=u.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}}))),pM=p.observer((function({model:e}){const{apolloHover:t,seenFeatures:n,selectedFeature:r,tabularEditor:o}=e,a=c.useTheme(),{classes:i}=dM(),s=f.useRef(null),[l,u]=f.useState(null),{filterText:p}=o;return f.useEffect((()=>{const e=s.current;if(e&&r){const t=e.querySelector(`.${i.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,i.selectedFeature]),T.default.createElement("div",{ref:s,style:{width:"100%",overflowY:"auto",height:"100%"}},T.default.createElement("table",{className:i.scrollableTable},T.default.createElement("thead",null,T.default.createElement("tr",null,T.default.createElement("th",null,"Type"),T.default.createElement("th",null,"Start"),T.default.createElement("th",null,"End"),T.default.createElement("th",null,"Strand"),T.default.createElement("th",null,"Attributes"))),T.default.createElement("tbody",null,[...n.entries()].filter((e=>{if(!p)return!0;const[,t]=e;return JSON.stringify(t).includes(p)})).sort(((e,t)=>e[1].min-t[1].min)).map((([n,o])=>T.default.createElement(uM,{key:n,isSelected:r?._id===n,isHovered:t?.feature._id===n,selectedFeatureClass:i.selectedFeature,feature:o,model:e,depth:0,setContextMenu:u}))))),T.default.createElement(d.Menu,{open:Boolean(l),onMenuItemClick:(e,t)=>{t(),u(null)},onClose:()=>{u(null)},TransitionProps:{onExit:()=>{u(null)}},style:{zIndex:a.zIndex.tooltip},menuItems:l?.items??[],anchorReference:"anchorPosition",anchorPosition:l?.position}))}));var hM={},mM=Kl.exports;Object.defineProperty(hM,"__esModule",{value:!0});var gM=hM.default=void 0;gM=hM.default=(0,mM(Zl).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 yM={},vM=Kl.exports;Object.defineProperty(yM,"__esModule",{value:!0});var _M=yM.default=void 0;_M=yM.default=(0,vM(Zl).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 bM=u.makeStyles()({toolbar:{width:"100%",display:"flex",paddingRight:"2em",flexDirection:"row",justifyContent:"space-between",position:"absolute",zIndex:4},filterText:{}}),wM=p.observer((function({model:e}){const t=e.tabularEditor,{classes:n}=bM();return T.default.createElement("div",{className:n.toolbar},T.default.createElement(c.Tooltip,{title:"Collapse all"},T.default.createElement(c.IconButton,{"aria-label":"collapse",sx:{marginTop:0},onClick:t.collapseAllFeatures},T.default.createElement(_M,null))),T.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)},slotProps:{input:{endAdornment:T.default.createElement(c.InputAdornment,{position:"end"},T.default.createElement(c.IconButton,{onClick:()=>{t.clearFilterText()}},T.default.createElement(gM,null)))}}}))}));function SM(e){e.stopPropagation()}const xM=p.observer((function({model:e}){return e.tabularEditor.isShown?T.default.createElement("div",{onMouseDown:SM,onClick:SM,style:{width:"100%",height:"100%",position:"relative"}},T.default.createElement(wM,{model:e}),T.default.createElement(pM,{model:e})):null})),EM=l.types.model("TabularEditor",{isShown:!0,featureCollapsed:l.types.map(l.types.boolean),filterText:""}).actions((e=>({setFeatureCollapsed(t,n){e.featureCollapsed.set(t,n)},setFilterText(t){e.filterText=t},clearFilterText(){e.filterText=""},collapseAllFeatures(){const t=l.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}}))),kM=p.observer((function({featureTypes:e,handleClose:t,onUpdate:n,session:r}){const[o,a]=f.useState(""),[i,s]=f.useState(e);return T.default.createElement(kd,{open:!0,maxWidth:!1,"data-testid":"filter-features-dialog",title:"Filter features by type",handleClose:t},T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,null,"Select the feature types you want to display in the apollo track"),T.default.createElement(c.Grid2,{container:!0,spacing:2},T.default.createElement(c.Grid2,{size:8},T.default.createElement(WN,{session:r,ontologyName:"Sequence Ontology",style:{width:"100%"},value:o,filterTerms:zN,renderInput:e=>T.default.createElement(c.TextField,{...e,label:"Feature type",variant:"outlined",fullWidth:!0}),onChange:(e,t)=>{t&&(e=>{a(e)})(t)}})),T.default.createElement(c.Grid2,{size:4},T.default.createElement(c.Button,{variant:"contained",onClick:()=>{if(o){if(i.includes(o))return;n([...i,o]),s([...i,o])}},disabled:!o,style:{marginTop:9},size:"medium"},"Add"))),i.length>0&&T.default.createElement("div",null,T.default.createElement("hr",null),T.default.createElement("div",{style:{width:300}},T.default.createElement(c.DialogContentText,null,"Selected feature types:"),T.default.createElement(c.Box,{sx:{display:"flex",flexWrap:"wrap",gap:.5}},i.map((e=>T.default.createElement(c.Chip,{key:e,label:e,onDelete:()=>{(e=>{const t=i.filter((t=>t!==e));n(t),s(t)})(e)}}))))))))}));function AM(e,t){return Boolean(t&&e._id===t._id)}function OM(e,t){return t?e?.palette.text.primary??"black":e?.palette.background.default??"white"}function CM(e,t,n,r,o,a){e.fillStyle=a,e.fillRect(t,n,r,o)}function NM(e,t,n){const{refName:r,regionNumber:o,x:a}=e,{lgv:i}=n,{offsetPx:s}=i,l=i.bpToPx({refName:r,coord:t.min,regionNumber:o}),c=i.bpToPx({refName:r,coord:t.max,regionNumber:o});if(void 0!==l&&void 0!==c){const e=l.offsetPx-s,t=c.offsetPx-s;if(Math.abs(t-e)<8)return;if(Math.abs(e-a)<4)return"min";if(Math.abs(t-a)<4)return"max"}}const RM={draw:function(e,t,n,r,o){const{apolloRowHeight:a,lgv:i,session:s,theme:l}=r,{bpPerPx:c,displayedRegions:u,offsetPx:f}=i,d=u[o],p=(i.bpToPx({refName:d.refName,coord:t.min,regionNumber:o})?.offsetPx??0)-f,{reversed:h}=d,{apolloSelectedFeature:m}=s,g=t.length/c,y=h?p-g:p,v=n*a,_=AM(t,m),b=OM(l,_),w=function(e,t){return t?e?.palette.getContrastText(OM(e,t))??"white":e?.palette.text.primary??"black"}(l,_);!function(e,t,n,r,o,a){CM(e,t,n,r,o,a),r<=2||e.clearRect(t+1,n+1,r-2,o-2)}(e,y,v,g,a,w),g<=2||(function(e,t,n,r,o,a){CM(e,t+1,n+1,r-2,o-2,a)}(e,y,v,g,a,b),function(e,t,n,r,o,a){e.fillStyle=o;const i=Math.max(t+1,0);e.fillText(a,i,n+11,t-1+r-i)}(e,y,v,g,w,t.type))},drawDragPreview:function(e,t){const{apolloDragging:n,apolloRowHeight:r,lgv:o,theme:a}=e,{bpPerPx:i,displayedRegions:s,offsetPx:l}=o;if(!n)return;const{current:u,edge:f,feature:d,start:p}=n,h=Math.floor(p.y/r),m=s[p.regionNumber],g=(m.reversed?m.end-d[f]:d[f]-m.start)/i-l,y=Math.min(u.x,g),v=h*r,_=Math.abs(u.x-g),b=1*r;t.strokeStyle=a?.palette.info.main??"rgb(255,0,0)",t.setLineDash([6]),t.strokeRect(y,v,_,b),t.fillStyle=c.alpha(a?.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:a}=e;if(!n)return;const{feature:i}=n,s=e.getFeatureLayoutPosition(i);if(!s)return;const{bpPerPx:l,displayedRegions:c,offsetPx:u}=o,{layoutIndex:f,layoutRow:d}=s,p=c[f],{refName:h,reversed:m}=p,{length:g,max:y,min:v}=i,_=(o.bpToPx({refName:h,coord:m?y:v,regionNumber:f})?.offsetPx??0)-u,b=d*r,w=g/l;t.fillStyle=a?.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:a}=e;if(!n)return;const{feature:i}=n,s=e.getFeatureLayoutPosition(i);if(!s)return;const{featureRow:l,layoutIndex:u,layoutRow:f}=s,{bpPerPx:d,displayedRegions:p,offsetPx:h}=o,m=p[u],{refName:g,reversed:y}=m;let v="Loc: ";const{length:_,max:b,min:w}=i;v+=`${w+1}–${b}`;let S=(o.bpToPx({refName:g,coord:y?b:w,regionNumber:u})?.offsetPx??0)-h;const x=(f+l)*r,E=_/d,k=`Type: ${i.type}`,{attributes:A}=i,O=A.get("gff_name")?.find((e=>""!==e)),C=[t.measureText(k).width,t.measureText(v).width];O&&C.push(t.measureText(`Name: ${O}`).width);const N=Math.max(...C);S=S+E+5,t.fillStyle=c.alpha(a?.palette.text.primary??"rgb(1, 1, 1)",.7),t.fillRect(S,x,N+4,3===C.length?45:35),t.beginPath(),t.moveTo(S,x),t.lineTo(S-5,x+5),t.lineTo(S,x+10),t.fill(),t.fillStyle=a?.palette.background.default??"rgba(255, 255, 255)";let R=x+12;t.fillText(k,S+2,R),O&&(R+=12,t.fillText(`Name: ${O}`,S+2,R)),R+=12,t.fillText(v,S+2,R)},getContextMenuItems:function(e){const{apolloHover:t,apolloInternetAccount:r,changeManager:o,regions:a,selectedFeature:i,session:s}=e,l=[];if(!t)return l;const{feature:c}=t,u=r?r.role:"admin",f="admin"===u,d=!(u&&["admin","user"].includes(u)),[p]=a,h=e.getAssemblyId(p.assemblyName),m=e.getAssemblyId(p.assemblyName);l.push({label:"Add child feature",disabled:d,onClick:()=>{s.queueDialog((e=>[$N,{session:s,handleClose:()=>{e()},changeManager:o,sourceFeature:c,sourceAssemblyId:h,internetAccount:r}]))}},{label:"Copy features and annotations",disabled:d,onClick:()=>{s.queueDialog((e=>[YN,{session:s,handleClose:()=>{e()},changeManager:o,sourceFeature:c,sourceAssemblyId:m}]))}},{label:"Delete feature",disabled:!f,onClick:()=>{s.queueDialog((t=>[ZN,{session:s,handleClose:()=>{t()},changeManager:o,sourceFeature:c,sourceAssemblyId:m,selectedFeature:i,setSelectedFeature:t=>{e.setSelectedFeature(t)}}]))}},{label:"Edit feature details",onClick:()=>{const e=s.addWidget("ApolloFeatureDetailsWidget","apolloFeatureDetailsWidget",{feature:c,assembly:m,refName:p.refName});s.showWidget(e)}});const{featureTypeOntology:g}=s.apolloDataStore.ontologyManager;if(!g)throw new Error("featureTypeOntology is undefined");return(g.isTypeOf(c.type,"transcript")||g.isTypeOf(c.type,"pseudogenic_transcript"))&&n.isSessionModelWithWidgets(s)&&l.push({label:"Edit transcript details",onClick:()=>{const e=s.addWidget("ApolloTranscriptDetails","apolloTranscriptDetails",{feature:c,assembly:m,changeManager:o,refName:p.refName});s.showWidget(e)}}),l},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,a=NM(t,o,e);a&&(n.stopPropagation(),e.startDrag(t,o,a))},onMouseLeave:function(){},onMouseMove:function(e,t){if(lF(t)){const{featureAndGlyphUnderMouse:n}=t;e.setApolloHover(n);const{feature:r}=n;if(NM(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 TM=null,IM=null,PM=null,MM=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 a="light"===t?"rgba(0,0,0,0)":"rgba(0,0,0,0.75)",i="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,a),s.addColorStop(.25,a),s.addColorStop(.25,i),s.addColorStop(.5,i),s.addColorStop(.5,a),s.addColorStop(.75,a),s.addColorStop(.75,i),s.addColorStop(1,i),o.fillStyle=s,o.fillRect(0,0,10,10),"forward"===e?"light"===t?TM=o.createPattern(n,"repeat"):PM=o.createPattern(n,"repeat"):"light"===t?IM=o.createPattern(n,"repeat"):MM=o.createPattern(n,"repeat")}}function FM(e,t,n,r,o,a,i,s,l){const{apolloRowHeight:c,lgv:u,session:f,theme:d}=t,{bpPerPx:p,displayedRegions:h,offsetPx:m}=u,g=h[n],{refName:y,reversed:v}=g,{apolloSelectedFeature:_}=f,b=(u.bpToPx({refName:y,coord:o.min,regionNumber:n})?.offsetPx??0)-m,w=o.length/p,S=v?b-w:b,x=(r+a)*c,E=Math.round(.6*c),k=x+(c-E)/2;if(e.fillStyle=d?.palette.text.primary??"black",e.fillRect(S,k,w,E),w>2&&(e.clearRect(S+1,k+1,w-2,E-2),e.fillStyle=_&&o._id===_._id?"rgb(0,0,0)":"rgb(211,211,211)",e.fillRect(S+1,k+1,w-2,E-2),s&&l&&i)){const t=v?-1:1,[n,r]=i*t==1?[s,l]:[l,s];e.fillStyle=n,e.fillRect(S+1,k+1,w-2,(E-2)/2),e.fillStyle=r,e.fillRect(S+1,k+1+(E-2)/2,w-2,(E-2)/2)}}function jM(e,t,n,r,o,a){const{apolloRowHeight:i,lgv:s,theme:l}=t,{bpPerPx:c,displayedRegions:u,offsetPx:f}=s,d=u[n],{refName:p,reversed:h}=d,m=(s.bpToPx({refName:p,coord:o.min,regionNumber:n})?.offsetPx??0)-f,g=o.length/c,y=h?m-g:m,v=Math.round((a+.5)*i)+r*i;e.strokeStyle=l?.palette.text.primary??"black",e.beginPath(),e.moveTo(y,v),e.lineTo(y+g,v),e.stroke()}function LM(e,t){const{children:n,type:r}=e;if(!n)return 0;let o=0;if(t.isTypeOf(r,"transcript"))for(const[,e]of n)t.isTypeOf(e.type,"CDS")&&(o+=1);return o}function DM(e,t,n){const{children:r,type:o}=e;if(!r)return 1;let a=0;if(t.isTypeOf(o,"transcript")||t.isTypeOf(o,"pseudogenic_transcript")){for(const[,e]of r)t.isTypeOf(e.type,"CDS")&&(a+=1);return 0===a?1:a}for(const[,e]of r)a+=DM(e,t);return a}function qM(e,t){if(!t.isTypeOf(e.type,"gene")&&!t.isTypeOf(e.type,"pseudogene"))throw new Error('Top level feature for GeneGlyph must have type "gene"');const{children:n}=e;if(!n)return[[e]];const r=[];for(const[,o]of n){if(!t.isTypeOf(o.type,"transcript")&&!t.isTypeOf(o.type,"pseudogenic_transcript")){r.push([o,e]);continue}if(!o.children)continue;const n=[],a=[];for(const[,e]of o.children)t.isTypeOf(e.type,"CDS")?n.push(e):t.isTypeOf(e.type,"exon")&&a.push(e);for(const t of n)r.push([t,...a,o,e]);0===n.length&&r.push([...a,o,e])}return r}function BM(e,t,r){const{session:o}=r,{apolloDataStore:a}=o,{featureTypeOntology:i}=a.ontologyManager;if(!i)throw new Error("featureTypeOntology is undefined");const s=i.isTypeOf(t.type,"gene")||i.isTypeOf(t.type,"pseudogene"),l=i.isTypeOf(t.type,"transcript")||i.isTypeOf(t.type,"pseudogenic_transcript"),c=i.isTypeOf(t.type,"CDS");if(s||l)return;const{bp:u,refName:f,regionNumber:d,x:p}=e,{lgv:h}=r,{offsetPx:m}=h,g=h.bpToPx({refName:f,coord:t.min,regionNumber:d}),y=h.bpToPx({refName:f,coord:t.max,regionNumber:d});if(void 0===g||void 0===y)return;const v=g.offsetPx-m,_=y.offsetPx-m;if(!(Math.abs(_-v)<8)){if(Math.abs(v-p)<4)return{feature:t,edge:"min"};if(Math.abs(_-p)<4)return{feature:t,edge:"max"};if(c){const e=t.parent;if(!e?.children)return;const r=[];for(const t of e.children.values())i.isTypeOf(t.type,"exon")&&r.push(t);const o=r.find((e=>{const[t,r]=n.intersection2(u-1,u,e.min,e.max);return void 0!==t&&void 0!==r}));if(!o)return;const a=h.bpToPx({refName:f,coord:o.min,regionNumber:d}),s=h.bpToPx({refName:f,coord:o.max,regionNumber:d});if(void 0===a||void 0===s)return;const l=a.offsetPx-m,c=s.offsetPx-m;if(Math.abs(c-l)<8)return;if(Math.abs(l-p)<4)return{feature:o,edge:"min"};if(Math.abs(c-p)<4)return{feature:o,edge:"max"}}}}const{drawTooltip:UM,getContextMenuItems:zM,onMouseLeave:GM}=RM,HM={draw:function(e,t,r,o,a){const{apolloRowHeight:i,lgv:s,session:l,theme:u}=o,{bpPerPx:f,displayedRegions:d,offsetPx:p}=s,h=d[a],{refName:m,reversed:g}=h,y=i,v=Math.round(.9*y),{children:_,min:b,strand:w}=t;if(!_)return;const{apolloSelectedFeature:S}=l,{apolloDataStore:x}=l,{featureTypeOntology:E}=x.ontologyManager;if(!E)throw new Error("featureTypeOntology is undefined");const k=(s.bpToPx({refName:m,coord:b,regionNumber:a})?.offsetPx??0)-p,A=t.length/f,O=g?k-A:k,C=r*y,N=DM(t,E)*y;e.fillStyle=c.alpha(u?.palette.background.paper??"#ffffff",.6),e.fillRect(O,C,A,N);let R=0;for(const[,t]of _){if(!E.isTypeOf(t.type,"transcript")&&!E.isTypeOf(t.type,"pseudogenic_transcript")){R+=1;continue}const{children:n}=t;if(!n)continue;const i=LM(t,E);for(const[,i]of n)E.isTypeOf(i.type,"CDS")&&(jM(e,o,a,r,t,R),R+=1);0===i&&(jM(e,o,a,r,t,R),R+=1)}const T="dark"===u?.palette.mode?PM:TM,I="dark"===u?.palette.mode?MM:IM;R=0;for(const[,t]of _){if(!E.isTypeOf(t.type,"transcript")&&!E.isTypeOf(t.type,"pseudogenic_transcript")){RM.draw(e,t,r,o,a),R+=1;continue}const i=LM(t,E);if(0!=i)for(const i of t.cdsLocations){const{_id:l,children:c}=t;if(c){for(const[,t]of c)E.isTypeOf(t.type,"exon")&&FM(e,o,a,r,t,R,w,T,I);for(const o of i){const i=(o.max-o.min)/f,c=(s.bpToPx({refName:m,coord:o.min,regionNumber:a})?.offsetPx??0)-p,d=g?c-i:c;e.fillStyle=u?.palette.text.primary??"black";const h=(r+R)*y+(y-v)/2;if(e.fillRect(d,h,i,v),i>2){e.clearRect(d+1,h+1,i-2,v-2);const r=n.getFrame(o.min,o.max,t.strand??1,o.phase),a=u?.palette.framesCDS.at(r)?.main,s=a??"rgb(171,71,188)";if(e.fillStyle=S&&l===S._id?"rgb(0,0,0)":s,e.fillStyle=s,e.fillRect(d+1,h+1,i-2,v-2),T&&I&&w){const t=g?-1:1,[n,r]=w*t==1?[T,I]:[I,T];e.fillStyle=n,e.fillRect(d+1,h+1,i-2,(v-2)/2),e.fillStyle=r,e.fillRect(d+1,h+(v-2)/2,i-2,(v-2)/2)}}}R+=1}}const{children:l}=t;if(0===i&&l){for(const[,t]of l)E.isTypeOf(t.type,"exon")&&FM(e,o,a,r,t,R,w,T,I);R+=1}}},drawDragPreview:function(e,t){const{apolloDragging:n,apolloRowHeight:r,lgv:o,theme:a}=e,{bpPerPx:i,displayedRegions:s,offsetPx:l}=o;if(!n)return;const{current:u,edge:f,feature:d,start:p}=n,h=Math.floor(p.y/r),m=s[p.regionNumber],g=(m.reversed?m.end-d[f]:d[f]-m.start)/i-l,y=Math.min(u.x,g),v=h*r,_=Math.abs(u.x-g),b=1*r;t.strokeStyle=a?.palette.info.main??"rgb(255,0,0)",t.setLineDash([6]),t.strokeRect(y,v,_,b),t.fillStyle=c.alpha(a?.palette.info.main??"rgb(255,0,0)",.2),t.fillRect(y,v,_,b)},drawHover:function(e,t){const{apolloHover:n,apolloRowHeight:r,lgv:o,session:a,theme:i}=e,{featureTypeOntology:s}=a.apolloDataStore.ontologyManager;if(!n)return;const{feature:l}=n,c=e.getFeatureLayoutPosition(l);if(!c)return;const{bpPerPx:u,displayedRegions:f,offsetPx:d}=o,{featureRow:p,layoutIndex:h,layoutRow:m}=c,g=f[h],{refName:y,reversed:v}=g,{length:_,max:b,min:w}=l,S=(o.bpToPx({refName:y,coord:v?b:w,regionNumber:h})?.offsetPx??0)-d,x=(m+p)*r,E=_/u;if(t.fillStyle=i?.palette.action.selected??"rgba(0,0,0,04)",!s)throw new Error("featureTypeOntology is undefined");t.fillRect(S,x,E,r*DM(l,s))},drawTooltip:UM,getContextMenuItems:zM,getFeatureFromLayout:function(e,t,n,r){const o=qM(e,r)[n]||[];for(const e of o){let n;if(t>=e.min&&t<=e.max&&e.parent&&(n=e),n){if(r.isTypeOf(n.type,"CDS")&&n.parent&&(r.isTypeOf(n.parent.type,"transcript")||r.isTypeOf(n.parent.type,"pseudogenic_transcript"))){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:DM,getRowForFeature:function(e,t,n){const r=qM(e,n);for(const[e,n]of r.entries())if(n.some((e=>e._id===t._id)))return e},onMouseDown:function(e,t,n){const{featureAndGlyphUnderMouse:r}=t,{feature:o}=r,a=BM(t,o,e);a&&(n.stopPropagation(),e.startDrag(t,a.feature,a.edge))},onMouseLeave:GM,onMouseMove:function(e,t){if(lF(t)){const{featureAndGlyphUnderMouse:n}=t;e.setApolloHover(n);const{feature:r}=n;if(BM(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 WM(e){const t=[[e]];if(e.children)for(const[,n]of e.children)t.push(...WM(n));return t}function $M(e){return WM(e).length}function VM(e,t,n,r,o,a){const i=WM(t)[n-r];for(const t of i)JM(e,t,n,o,a)}function JM(e,t,n,r,o){const{apolloRowHeight:a,lgv:i,session:s}=r,{bpPerPx:l,displayedRegions:c,offsetPx:u}=i,f=c[o],d=(i.bpToPx({refName:f.refName,coord:t.min,regionNumber:o})?.offsetPx??0)-u,{reversed:p}=f,{apolloSelectedFeature:h}=s,m=t.length/l,g=p?d-m:d,y=n*a,v=$M(t),_=AM(t,h);v>1&&CM(e,g,y,m,v*a,_?"rgba(130,0,0,0.45)":"rgba(255,0,0,0.25)"),RM.draw(e,t,n,r,o)}const{drawDragPreview:YM,drawTooltip:KM,getContextMenuItems:ZM,onMouseDown:XM,onMouseLeave:QM,onMouseMove:eF,onMouseUp:tF}=RM,nF={draw:function(e,t,n,r,o){for(let a=0;a<$M(t);a++)VM(e,t,n+a,n,r,o)},drawDragPreview:YM,drawHover:function(e,t){const{apolloHover:n,apolloRowHeight:r,lgv:o}=e;if(!n)return;const{feature:a}=n,i=e.getFeatureLayoutPosition(a);if(!i)return;const{featureRow:s,layoutIndex:l,layoutRow:c}=i,{bpPerPx:u,displayedRegions:f,offsetPx:d}=o,p=f[l],{refName:h,reversed:m}=p,{length:g,max:y,min:v}=a,_=(o.bpToPx({refName:h,coord:m?y:v,regionNumber:l})?.offsetPx??0)-d,b=(c+s)*r,w=g/u;t.fillStyle="rgba(0,0,0,0.2)",t.fillRect(_,b,w,r*$M(a))},drawTooltip:KM,getContextMenuItems:ZM,getFeatureFromLayout:function(e,t,n){return WM(e)[n].find((e=>t>=e.min&&t<=e.max))},getRowCount:$M,getRowForFeature:function(e,t){const n=WM(e);for(const[e,r]of n.entries())if(r.some((e=>e._id===t._id)))return e},onMouseDown:XM,onMouseLeave:QM,onMouseMove:eF,onMouseUp:tF};function rF(e,t,n){const r=[];for(let o=e;o<e+t;o++){const e=n.get(o);e&&r.push(e)}return r}function oF(e,t){for(const r of e)for(const[e,o]of r)if(n.doesIntersect2(t.min,t.max,e,o)||n.doesIntersect2(e,o,t.min,t.max))return!1;return!0}function aF(e,t){return t?.palette.bases[e.toUpperCase()].main.toString()??"lightgray"}function iF(e,t,n,r,o){const a=Math.min(n,10);e.fillStyle="#000",e.font=`${a}px`;const i=e.measureText(r).width;e.fillText(r,t+(n-i)/2,o+10)}function sF(e,t,r,o,a,i,s,l,c){let u=s.slice(l,l+3).toUpperCase();c&&(u=function(e){return[...e].map((e=>n.revcom(e))).reverse().join("")}(u));const f=n.defaultCodonTable[u];if(!f)return;const d={M:"#33ee33","*":"#f44336"}[f.toUpperCase()];d&&(e.fillStyle=d,e.fillRect(r,o,a,i)),t<=.1&&(e.rect(r,o,a,i),e.stroke(),iF(e,r,a,f,o))}function lF(e){return"featureAndGlyphUnderMouse"in e}function cF(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 uF(e,t){if(!(t>1||void 0===e))return 1===e?3:4}function fF(e,t,n,r,o,a){void 0!==o&&(e.fillStyle=t?.palette.action.focus??"rgba(0,0,0,0.04)",e.fillRect(n,r*o,a,r))}function dF(e,t){return function(e,t){const a=function(e,t){return function(e,t){const a=function(e,t){return function(e,t){const a=function(e,t){return function(e,t){const a=function(e,t){return o.BaseDisplay.named("BaseLinearApolloDisplay").props({type:l.types.literal("LinearApolloDisplay"),configuration:r.ConfigurationReference(t),graphical:!0,table:!1,heightPreConfig:l.types.maybe(l.types.refinement("displayHeight",l.types.number,(e=>e>=20))),filteredFeatureTypes:l.types.array(l.types.string),loadingState:!1}).views((e=>{const{configuration:t,renderProps:n}=e;return{renderProps:()=>({...n(),...x.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},get loading(){return e.loadingState}}))).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}=l.getRoot(e),{assemblyName:o}=t,{assemblyManager:a}=e.session,i=a.get(o);if(!i)throw new Error(`No assembly found with name ${o}`);const{internetAccountConfigId:s}=r.getConf(i,["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},updateFilteredFeatureTypes(t){e.filteredFeatureTypes=l.cast(t)},setLoading(t){e.loadingState=t}}))).views((e=>{const{filteredFeatureTypes:t,trackMenuItems:n}=e;return{trackMenuItems(){const{graphical:r,table:o}=e;return[...n(),{type:"subMenu",label:"Appearance",subMenu:[{label:"Show graphical display",type:"radio",checked:r&&!o,onClick:()=>{e.showGraphicalOnly()}},{label:"Show table display",type:"radio",checked:o&&!r,onClick:()=>{e.showTableOnly()}},{label:"Show both graphical and table display",type:"radio",checked:o&&r,onClick:()=>{e.showGraphicalAndTable()}}]},{label:"Filter features by type",onClick:()=>{const n=e.session;e.session.queueDialog((r=>[kM,{session:n,handleClose:()=>{r()},featureTypes:l.getSnapshot(t),onUpdate:t=>{e.updateFilteredFeatureTypes(t)}}]))}}]}}})).actions((e=>({setSelectedFeature(t){e.session.apolloSetSelectedFeature(t)},afterAttach(){l.addDisposer(e,s.autorun((()=>{e.lgv.initialized&&!e.regionCannotBeRendered()&&(e.setLoading(!0),e.session.apolloDataStore.loadFeatures(e.regions).then((()=>{setTimeout((()=>{e.setLoading(!1)}),1e3)})),e.lgv.bpPerPx<=3&&e.session.apolloDataStore.loadRefSeq(e.regions))}),{name:"LinearApolloDisplayLoadFeatures",delay:1e3}))}})))}(0,t);return a.named("LinearApolloDisplayLayouts").props({cleanupBoundary:2e5}).volatile((()=>({seenFeatures:s.observable.map()}))).views((e=>({getAnnotationFeatureById:t=>e.seenFeatures.get(t),getGlyph(e){return this.looksLikeGene(e)?HM:e.children?.size?nF:RM},looksLikeGene(t){const{featureTypeOntology:n}=e.session.apolloDataStore.ontologyManager;if(!n)return!1;const{children:r}=t;if(!r?.size)return!1;if(!n.isTypeOf(t.type,"gene")&&!n.isTypeOf(t.type,"pseudogene"))return!1;for(const[,e]of r)if(n.isTypeOf(e.type,"transcript")||n.isTypeOf(e.type,"pseudogenic_transcript")){const{children:t}=e;return!!t?.size&&[...t.values()].some((e=>n.isTypeOf(e.type,"exon")))}return!1}}))).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=>{const o=t.get(r.assemblyName),a=new Map,i=new Map,{end:s,refName:c,start:u}=r;for(const[t,r]of e.seenFeatures.entries()){if(!l.isAlive(r)){e.deleteSeenFeature(t);continue}if(c!==o?.getCanonicalRefName(r.refSeq)||!n.doesIntersect2(u,s,r.min,r.max)||e.filteredFeatureTypes.length>0&&!e.filteredFeatureTypes.includes(r.type))continue;const{featureTypeOntology:f}=e.session.apolloDataStore.ontologyManager;if(!f)throw new Error("featureTypeOntology is undefined");const d=e.getGlyph(r).getRowCount(r,f,e.lgv.bpPerPx);let p=0,h=!1;for(;!h;){let e=rF(p,d,i);if(e.length<d){for(let t=0;t<d-e.length;t++){const e=i.size;i.set(e,[]),a.set(e,[])}e=rF(p,d,i)}if(oF(e,r)){for(let e=p;e<p+d;e++){i.get(e)?.push([r.min,r.max]);const t=a.get(e);t?.push([e-p,r._id])}h=!0}else p+=1}}return a}))},getFeatureLayoutPosition(t){const{featureLayouts:n}=this,{featureTypeOntology:r}=e.session.apolloDataStore.ontologyManager;for(const[o,a]of n.entries())for(const[n,i]of a)for(const[a,s]of i){if(0!==a)continue;const i=e.getAnnotationFeatureById(s);if(i){if(t._id===i._id)return{layoutIndex:o,layoutRow:n,featureRow:a};if(i.hasDescendant(t._id)){if(!r)throw new Error("featureTypeOntology is undefined");const a=e.getGlyph(i).getRowForFeature(i,t,r);if(void 0!==a)return{layoutIndex:o,layoutRow:n,featureRow:a}}}}}}))).views((e=>({get highestRow(){return Math.max(0,...e.featureLayouts.map((e=>Math.max(...e.keys()))))}}))).actions((e=>({afterAttach(){l.addDisposer(e,s.autorun((()=>{if(e.lgv.initialized&&!e.regionCannotBeRendered()){for(const[t,r]of e.seenFeatures.entries()){let o=!1;for(const t of e.regions)if(n.doesIntersect2(t.start-e.cleanupBoundary,t.end+e.cleanupBoundary,r.min,r.max)){o=!0;break}o||e.deleteSeenFeature(t)}for(const t of e.regions){const r=e.session.apolloDataStore.assemblies.get(t.assemblyName),o=r?.getByRefName(t.refName),a=o?.features;if(a)for(const[,r]of a)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(){l.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 a of e.lgv.displayedRegions){for(const i of r){if(i.refSeq!==a.refName)continue;const{end:r,refSeq:s,start:l}=i,c=e.lgv.bpToPx({refName:s,coord:l,regionNumber:o});if(!c)continue;const u=c.offsetPx-e.lgv.offsetPx,f=(r-l)/e.lgv.bpPerPx;t.fillStyle="rgba(0,255,0,.2)",t.fillRect(u,1,f,100),t.fillStyle="black",t.fillText(n.name,u+1,11,f-2)}o++}}}}),{name:"LinearApolloDisplayRenderCollaborators"}))}})))}(0,t);return a.actions((e=>({afterAttach(){l.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 a=e.session.apolloDataStore.getBackendDriver(o.assemblyName);if(!a)throw new Error("Failed to get the backend driver");const{seq:i}=await a.getSequence(o);if(!i)return;for(const[a,s]of[...i].entries()){const l=(e.lgv.bpToPx({refName:o.refName,coord:o.start+a,regionNumber:r})?.offsetPx??0)-e.lgv.offsetPx,c=3/e.lgv.bpPerPx,u=e.lgv.displayedRegions[r].reversed?l-c:l;for(let n=2;n>=0;n--)(o.start+a)%3===n&&sF(t,e.lgv.bpPerPx,u,e.sequenceRowHeight*(2-n),c,e.sequenceRowHeight,i,a,!1);if(e.lgv.bpPerPx<=1){const i=(e.lgv.bpToPx({refName:o.refName,coord:o.start+a,regionNumber:r})?.offsetPx??0)-e.lgv.offsetPx,l=1/e.lgv.bpPerPx,c=e.lgv.displayedRegions[r].reversed?i-l:i;t.beginPath(),t.fillStyle=aF(s,e.theme),t.rect(c,3*e.sequenceRowHeight,l,e.sequenceRowHeight),t.fill(),e.lgv.bpPerPx<=.1&&(t.stroke(),iF(t,c,l,s,3*e.sequenceRowHeight));const u=n.revcom(s);t.beginPath(),t.fillStyle=aF(u,e.theme),t.rect(c,4*e.sequenceRowHeight,l,e.sequenceRowHeight),t.fill(),e.lgv.bpPerPx<=.1&&(t.stroke(),iF(t,c,l,u,4*e.sequenceRowHeight))}for(let n=0;n<=2;n++)(o.start+a)%3===n&&sF(t,e.lgv.bpPerPx,u,e.sequenceRowHeight*((e.lgv.bpPerPx<=1?5:3)+n),c,e.sequenceRowHeight,i,a,!0)}}}),{name:"LinearApolloDisplayRenderSequence"}))}})))}(0,t).actions((e=>({afterAttach(){l.addDisposer(e,s.autorun((()=>{const{canvas:t,featureLayouts:r,featuresHeight:o,lgv:a}=e;if(!a.initialized||e.regionCannotBeRendered())return;const{displayedRegions:i,dynamicBlocks:s}=a,l=t?.getContext("2d");if(l){l.clearRect(0,0,s.totalWidthPx,o);for(const[t,o]of r.entries()){const r=i[t];for(const[a,i]of o.entries())for(const[o,s]of i){const i=e.getAnnotationFeatureById(s);o>0||!i||n.doesIntersect2(r.start,r.end,i.min,i.max)&&e.getGlyph(i).draw(l,i,a,e,t)}}}}),{name:"LinearApolloDisplayRenderFeatures"}))}})))}(0,t);return a.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:a,top:i}=n.getBoundingClientRect(),s=r-a,l=o-i,{coord:c,index:u,refName:f}=t.pxToBp(s);return{x:s,y:l,refName:f,bp:c,regionNumber:u}}(t,e.lgv),{bp:r,regionNumber:o,y:a}=n,i=Math.floor(a/e.apolloRowHeight),s=e.featureLayouts[o].get(i);if(!s)return n;const l=s.find((t=>{const n=e.getAnnotationFeatureById(t[1]);return n&&r>=n.min&&r<=n.max}));if(!l)return n;const[c,u]=l,f=e.getAnnotationFeatureById(u);if(!f)return n;const d=e.getGlyph(f),{featureTypeOntology:p}=e.session.apolloDataStore.ontologyManager;if(!p)throw new Error("featureTypeOntology is undefined");const h=d.getFeatureFromLayout(f,r,c,p);return h?{...n,featureAndGlyphUnderMouse:{feature:h,topLevelFeature:f,glyph:d}}: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(){l.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:a,sequenceRowHeight:i,session:s,theme:l}=e;if(!r)return;const{feature:c}=r,{featureTypeOntology:u}=s.apolloDataStore.ontologyManager;if(!u)throw new Error("featureTypeOntology is undefined");for(const[e,r]of a.entries())if(u.isTypeOf(c.type,"CDS")){const a=c.parent;if(!a)continue;const s=a.cdsLocations.find((e=>c.min===e.at(0)?.min&&c.max===e.at(-1)?.max));if(!s)continue;for(const a of s){const s=cF(n.getFrame(a.min,a.max,c.strand??1,a.phase),o.bpPerPx),u=(o.bpToPx({refName:r.refName,coord:a.min,regionNumber:e})?.offsetPx??0)-o.offsetPx,f=(a.max-a.min)/o.bpPerPx;fF(t,l,o.displayedRegions[e].reversed?u-f:u,i,s,f)}}else{const n=uF(c.strand,o.bpPerPx),a=(o.bpToPx({refName:r.refName,coord:c.min,regionNumber:e})?.offsetPx??0)-o.offsetPx,s=c.length/o.bpPerPx;fF(t,l,o.displayedRegions[e].reversed?a-s:a,i,n,s)}}),{name:"LinearApolloDisplayRenderSeqHighlight"}))}})))}(0,t);return a.views((e=>({contextMenuItems(t){const{apolloHover:n}=e;if(!n||!t)return[];const{topLevelFeature:r}=n;return e.getGlyph(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:a}=e.lgv,i=e.getAssemblyId(a[o.regionNumber].assemblyName);let s;if("max"===n){const e=r._id;s=new er.LocationEndChange({typeName:"LocationEndChange",changedIds:[e],featureId:e,oldEnd:r.max,newEnd:t.bp,assembly:i})}else{const e=r._id;s=new er.LocationStartChange({typeName:"LocationStartChange",changedIds:[e],featureId:e,oldStart:r.min,newStart:t.bp,assembly:i})}e.changeManager.submit(s),e.setDragging(),e.setCursor()}}))).actions((e=>({onMouseDown(t){const n=e.getMousePosition(t);lF(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);lF(n)?n.featureAndGlyphUnderMouse.glyph.onMouseMove(e,n,t):(e.setApolloHover(),e.setCursor())},onMouseLeave(t){e.setDragging(),e.setApolloHover();const n=e.getMousePosition(t);lF(n)&&n.featureAndGlyphUnderMouse.glyph.onMouseLeave(e,n,t)},onMouseUp(t){const n=e.getMousePosition(t);lF(n)&&n.featureAndGlyphUnderMouse.glyph.onMouseUp(e,n,t),e.apolloDragging&&e.endDrag()}}))).actions((e=>({afterAttach(){l.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&&e.getGlyph(n.feature.topLevelFeature).drawDragPreview(e,t)}),{name:"LinearApolloDisplayRenderMouseoverAndDrag"}))}})))}(0,t).props({tabularEditor:l.types.optional(EM,{})}).named("LinearApolloDisplay")}var pF={},hF=Kl.exports;Object.defineProperty(pF,"__esModule",{value:!0});var mF=pF.default=void 0;mF=pF.default=(0,hF(Zl).default)((0,N.default.jsx)("path",{d:"m12 8-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"}),"ExpandLess");var gF={},yF=Kl.exports;Object.defineProperty(gF,"__esModule",{value:!0});var vF=gF.default=void 0;vF=gF.default=(0,yF(Zl).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 _F=u.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},loading:{position:"absolute",right:e.spacing(3),zIndex:10,pointerEvents:"none",textAlign:"right"}}))),bF=p.observer((function(e){const t=c.useTheme(),{model:r}=e,{loading:o,apolloDragging:a,apolloRowHeight:i,contextMenuItems:s,cursor:l,featuresHeight:u,isShown:p,onMouseDown:h,onMouseLeave:m,onMouseMove:g,onMouseUp:y,regionCannotBeRendered:v,session:_,setCanvas:b,setCollaboratorCanvas:w,setOverlayCanvas:S,setSeqTrackCanvas:x,setSeqTrackOverlayCanvas:E,setTheme:k}=r,{classes:A}=_F(),O=n.getContainingView(r);f.useEffect((()=>{k(t)}),[t,k]);const[C,N]=f.useState(),[R,I]=f.useState([]),P=v();if(!p)return null;const{assemblyManager:M}=_;return T.default.createElement(T.default.Fragment,null,O.bpPerPx<=3?T.default.createElement("div",{className:A.canvasContainer,style:{width:O.dynamicBlocks.totalWidthPx,height:O.bpPerPx<=1?125:95}},T.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),x(e)},width:O.dynamicBlocks.totalWidthPx,height:O.bpPerPx<=1?125:95,className:A.canvas,"data-testid":"seqTrackCanvas"}),T.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),E(e)},width:O.dynamicBlocks.totalWidthPx,height:O.bpPerPx<=1?125:95,className:A.canvas,"data-testid":"seqTrackOverlayCanvas"})):null,T.default.createElement("div",{className:A.canvasContainer,style:{width:O.dynamicBlocks.totalWidthPx,height:u},onContextMenu:e=>{if(e.preventDefault(),R.length>0)I([]);else{const t=[e.clientX,e.clientY];N(t),I(s(t))}}},o?T.default.createElement("div",{className:A.loading},T.default.createElement(c.CircularProgress,{size:"18px"})):null,P?T.default.createElement(c.Alert,{severity:"warning",classes:{message:A.ellipses}},T.default.createElement(c.Tooltip,{title:P},T.default.createElement("div",null,P))):T.default.createElement(T.default.Fragment,null,T.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),w(e)},width:O.dynamicBlocks.totalWidthPx,height:u,className:A.canvas,"data-testid":"collaboratorCanvas"}),T.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),b(e)},width:O.dynamicBlocks.totalWidthPx,height:u,className:A.canvas,"data-testid":"canvas"}),T.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),S(e)},width:O.dynamicBlocks.totalWidthPx,height:u,onMouseMove:g,onMouseLeave:m,onMouseDown:h,onMouseUp:y,className:A.canvas,style:{cursor:l??"default"},"data-testid":"overlayCanvas"}),O.displayedRegions.flatMap(((e,t)=>{const o=M.get(e.assemblyName);return[..._.apolloDataStore.checkResults.values()].filter((t=>o?.isValidRefName(t.refSeq)&&o.getCanonicalRefName(t.refSeq)===e.refName&&n.doesIntersect2(e.start,e.end,t.start,t.end))).map((n=>{const o=(O.bpToPx({refName:e.refName,coord:n.start,regionNumber:t})?.offsetPx??0)-O.offsetPx,[s]=n.ids;if(!s)return null;let l=0;const u=r.getFeatureLayoutPosition(s);return u&&(l=u.layoutRow+u.featureRow),T.default.createElement(c.Tooltip,{key:n._id,title:n.message},T.default.createElement(c.Avatar,{className:A.avatar,style:{top:l*i,left:o,height:i,width:i,pointerEvents:a?"none":"auto"}},T.default.createElement(vF,null)))}))})),T.default.createElement(d.Menu,{open:R.length>0,onMenuItemClick:(e,t)=>{t(),I([])},onClose:()=>{I([])},TransitionProps:{onExit:()=>{I([])}},anchorReference:"anchorPosition",anchorPosition:C?{top:C[1],left:C[0]}:void 0,style:{zIndex:t.zIndex.tooltip},menuItems:R}))))})),wF=p.observer((function({model:e}){const{height:t}=e;return T.default.createElement("div",{style:{position:"absolute",left:0,top:t/2,width:"100%"}},T.default.createElement("hr",{style:{margin:0,top:0,color:"black"}}))})),SF=u.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"}}))),xF=({onResize:e})=>{const{classes:t}=SF(),n=f.useCallback((t=>{t.stopPropagation(),t.preventDefault(),e(t.movementY)}),[e]),r=f.useCallback((e=>{e.stopPropagation(),e.preventDefault(),globalThis.removeEventListener("mousemove",n),globalThis.removeEventListener("mouseup",r),globalThis.removeEventListener("mouseleave",r)}),[n]);return T.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})},EF=p.observer((function({onClick:e,onResize:t,open:n,title:r}){const{classes:o}=SF();return T.default.createElement("div",{className:o.accordionRoot},n&&t?T.default.createElement(xF,{onResize:t}):null,T.default.createElement("div",{className:o.accordionControl,onClick:e},T.default.createElement(n?mF:iT,{className:o.expandIcon}),r?T.default.createElement(c.Typography,{className:o.title,variant:"caption",component:"span"},r):null))})),kF=p.observer((function({model:e,...t}){const r=n.getSession(e),{ontologyManager:o}=r.apolloDataStore,{featureTypeOntology:a}=o,i=a?.dataStore,{classes:s}=SF(),{graphical:l,height:u,isShown:d,selectedFeature:p,table:h,tabularEditor:m,toggleShown:g}=e,y=f.useRef(null);f.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,y)}),[e,p]);const v=t=>{e.setDetailsHeight(e.detailsHeight-t)};if(!i)return T.default.createElement("div",{className:s.alertContainer},T.default.createElement(c.Alert,{severity:"error"},"Could not load feature type ontology."));if(l&&h){const n=m.isShown?e.detailsHeight:0,r=d?u-e.detailsHeight-24:0;return T.default.createElement("div",{style:{height:u}},T.default.createElement(EF,{open:d,title:"Graphical",onClick:g}),T.default.createElement("div",{className:s.shading,ref:y,style:{height:r}},T.default.createElement(bF,{model:e,...t})),T.default.createElement(EF,{title:"Table",open:m.isShown,onClick:m.togglePane,onResize:v}),T.default.createElement("div",{className:s.details,style:{height:n}},T.default.createElement(xM,{model:e})))}return l?T.default.createElement("div",{className:s.shading,ref:y,style:{height:u}},T.default.createElement(bF,{model:e,...t})):T.default.createElement("div",{className:s.details,style:{height:u}},T.default.createElement(xM,{model:e}))}));var AF={},OF=Kl.exports;Object.defineProperty(AF,"__esModule",{value:!0});var CF=AF.default=void 0;CF=AF.default=(0,OF(Zl).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 NF=l.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 RF{clientStore;constructor(e){this.clientStore=e}}class TF{dataStore;constructor(e){this.dataStore=e}recentChanges=[];async submit(e,t={}){const{addToRecents:r=!0,submitToBackend:o=!0,updateJobsManager:a=!1}=t,i=n.getSession(this.dataStore),s=new AbortController,{jobsManager:l}=n.getSession(this.dataStore),c={name:e.typeName,statusMessage:"Pre-validating",progressPct:0,cancelCallback:()=>{s.abort()}};a&&l.runJob(c);const u=await er.validationRegistry.frontendPreValidate(e);if(!u.ok){const e=`Pre-validation failed: "${u.resultsMessages}"`;return a&&l.abortJob(c.name,e),void i.notify(e,"error")}try{await e.execute(this.dataStore)}catch(e){return a&&l.abortJob(c.name,String(e)),console.error(e),void i.notify(String(e),"error")}if((await er.validationRegistry.frontendPostValidate(e,this.dataStore)).ok||await this.revert(e),o){a&&l.update(c.name,"Submitting to driver");const{collaborationServerDriver:n,getBackendDriver:r}=this.dataStore,o=B.isAssemblySpecificChange(e)?r(e.assembly):n;let s;try{s=await o.submitChange(e,t)}catch(t){return a&&l.abortJob(c.name,String(t)),console.error(t),i.notify(String(t),"error"),void await this.revert(e,!1)}if(!s.ok){const t=`Post-validation failed: "${u.resultsMessages}"`;return a&&l.abortJob(c.name,t),i.notify(t,"error"),void await this.revert(e,!1)}e.notification&&i.notify(e.notification,"success")}r&&this.recentChanges.push(e),a&&l.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 IF extends RF{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),a=new URLSearchParams({assemblies:t.join(","),term:e});o.search=a.toString();const i=o.toString(),s=await this.fetch(n,i);if(!s.ok){const e=await bd(s,"searchFeatures failed");throw new Error(e)}return s.json()}async getFeatures(e){const{assemblyName:t,end:o,refName:a,start:i}=e,{assemblyManager:s}=n.getSession(this.clientStore),l=s.get(t);if(!l)throw new Error(`Could not find assembly with name "${t}"`);const{ids:c}=r.getConf(l,["sequence","metadata"]),u=c[a];if(!u)throw new Error(`Could not find refSeq "${a}"`);const f=this.clientStore.getInternetAccount(t),{baseURL:d}=f,p=new URL("features/getFeatures",d),h=new URLSearchParams({refSeq:u,start:String(i),end:String(o)});p.search=h.toString();const m=p.toString(),g=await this.fetch(f,m);if(!g.ok){const e=await bd(g,"getFeatures failed");throw new Error(e)}return this.checkSocket(t,a,f),g.json()}checkSocket(e,t,n){const{socket:r}=n,o=n.retrieveToken(),a=`${e}-${t}`,i=new TF(this.clientStore);r.hasListeners(a)||r.on(a,(async e=>{if(n.setLastChangeSequenceNumber(Number(e.changeSequence)),e.userSessionId!==o&&e.channel===a){const t=B.Change.fromJSON(e.changeInfo);await i.submit(t,{submitToBackend:!1})}}))}async getSequence(e){const t=`${e.refName}:${e.start}-${e.end}`,o=this.inFlight.get(t),{assemblyName:a,end:i,refName:s,start:l}=e,{assemblyManager:c}=n.getSession(this.clientStore),u=c.get(a);if(!u)throw new Error(`Could not find assembly with name "${a}"`);const{ids:f}=r.getConf(u,["sequence","metadata"]),d=f[s];if(!d)throw new Error(`Could not find refSeq "${s}"`);if(o)return{seq:await o,refSeq:d};let p=this.clientStore.assemblies.get(a);p||(p=this.clientStore.addAssembly(a));let h=p.refSeqs.get(d);h||(h=p.addRefSeq(d,s));const m=h.getSequence(l,i);if(m.length===i-l)return{seq:m,refSeq:d};const g=this.clientStore.getInternetAccount(a),{baseURL:y}=g,v=new URL("sequence",y),_=new URLSearchParams({refSeq:d,start:String(l),end:String(i)});v.search=_.toString();const b=v.toString(),w=this.getSeqFromServer(g,b,h,l,i);this.inFlight.set(t,w);const S=await w;return this.checkSocket(a,s,g),this.inFlight.delete(t),{seq:S,refSeq:d}}async getSeqFromServer(e,t,n,r,o){const a=await this.fetch(e,t);if(!a.ok){let e;try{e=await a.text()}catch{e=""}throw new Error(`getSequence failed: ${a.status} (${a.statusText})${e?` (${e})`:""}`)}const i=await a.text();return n.addSequence({sequence:i,start:r,stop:o}),i}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,a=new URL("refSeqs",o),i=new URLSearchParams({assembly:e});a.search=i.toString();const s=a.toString(),l=await this.fetch(r,s);if(!l.ok){let e;try{e=await l.text()}catch{e=""}throw new Error(`getRefNameAliases failed: ${l.status} (${l.statusText})${e?` (${e})`:""}`)}return(await l.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,a=new URL("refSeqs",o),i=new URLSearchParams({assembly:e});a.search=i.toString();const s=a.toString(),l=await this.fetch(r,s);if(!l.ok){let e;try{e=await l.text()}catch{e=""}throw new Error(`getRegions failed: ${l.status} (${l.statusText})${e?` (${e})`:""}`)}return(await l.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,a=new URL("changes",o).href,i=await this.fetch(r,a,{method:"POST",body:JSON.stringify(e.toJSON()),headers:{"Content-Type":"application/json"}});if(!i.ok){const e=await bd(i,"submitChange failed");throw new Error(e)}const s=new er.ValidationResultSet;return i.ok||(s.ok=!1),s}}class PF extends RF{async getFeatures(){return[[],[]]}async getSequence(e){const{assemblyName:t,end:n,refName:r,start:o}=e,a=this.clientStore.assemblies.get(t);if(!a)return{seq:"",refSeq:r};const i=a.refSeqs.get(r);return i?{seq:i.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 gd(e);n.addCheckResults(t)}return new er.ValidationResultSet}async searchFeatures(e,t){return[]}}class MF extends RF{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:a}=r.getConf(o,["sequence","metadata"]),i=require("node:fs");return md(e,await i.promises.readFile(a,"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,a=(await this.getAssembly(t)).refSeqs.get(r);if(!a)throw new Error(`refSeq ${r} not found in client data store`);return{seq:a.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(!B.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:a}=r.getConf(o,["sequence","metadata"]),i=this.clientStore.assemblies.get(e.assembly);if(!i)throw new Error(`Could not find assembly in client with name "${e.assembly}"`);const s=new Set(...i.refSeqs.keys()),{checkResults:c}=this.clientStore;for(const e of c.values())s.has(e.refSeq)&&c.delete(e._id);const u=await gd(i);this.clientStore.addCheckResults(u);const f=[{directive:"gff-version",value:"3"}];for(const[,e]of i.refSeqs)f.push({directive:"sequence-region",value:`${e.name} 1 ${e.sequence[0].stop}`});for(const e of i.comments)f.push({comment:e});for(const[,e]of i.refSeqs){const{features:t}=e;for(const[,e]of t)f.push(er.annotationFeatureToGFF3(l.getSnapshot(e)))}for(const[,e]of i.refSeqs){const[t]=e.sequence,n=er.splitStringIntoChunks(t.sequence,80).join("\n");f.push({id:e.name,description:e.description,sequence:n})}const d=hd.formatSync(f),p=require("node:fs");return await p.promises.writeFile(a,d,"utf8"),new er.ValidationResultSet}async searchFeatures(e,t){return[]}}function FF(e,t){const o=new AbortController,{signal:a}=o,i=e.evaluateExtensionPoint("Apollo-extendAnnotationFeature",NT.AnnotationFeatureModel),c=function(e){return l.types.model("ClientDataStore",{typeName:l.types.optional(l.types.literal("Client"),"Client"),assemblies:l.types.map(NT.ApolloAssembly),checkResults:l.types.map(NT.CheckResult),ontologyManager:l.types.optional(qN,{})}).views((t=>({get internetAccounts(){return l.getRoot(t).internetAccounts},get pluginConfiguration(){return l.getRoot(t).jbrowse.configuration.ApolloPlugin},getFeature:n=>l.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):l.getParentOfType(n,NT.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 TF(e),collaborationServerDriver:new IF(e),inMemoryFileDriver:new PF(e),desktopFileDriver:n.isElectron?new MF(e):void 0}))).actions((e=>({afterCreate(){l.addDisposer(e,s.autorun((()=>{const{ontologyManager:t,pluginConfiguration:o}=e,a=o.ontologies;for(const o of a||[]){const[a,i,s,l]=[r.readConfObject(o,"name"),r.readConfObject(o,"version"),r.readConfObject(o,"source"),r.readConfObject(o,"textIndexFields")];if(!t.findOntology(a)){const r=n.getSession(e),{jobsManager:o}=r,c=new AbortController,u=`Loading ontology "${a}"`,f={name:u,statusMessage:`Loading ontology "${a}", version "${i}", this may take a while`,progressPct:0,cancelCallback:()=>{c.abort(),o.abortJob(f.name)}};t.addOntology(a,i,s,{textIndexing:{indexFields:l},update:(e,t)=>{0!==t?100!==t?o.update(u,e,t):o.done(f):o.runJob(f)}})}}})))}}))).views((e=>({getBackendDriver(t){if(!t)return e.collaborationServerDriver;const o=n.getSession(e),{assemblyManager:a}=o,i=a.get(t);if(!i)return e.collaborationServerDriver;const{file:s,internetAccountConfigId:l}=r.getConf(i,["sequence","metadata"]);return n.isElectron&&s?e.desktopFileDriver:l?e.collaborationServerDriver:e.inMemoryFileDriver},getInternetAccount(t,o){if(!(t??o))throw new Error("Must provide either assemblyName or internetAccountId");let a=o;if(t&&!a){const{assemblyManager:o}=n.getSession(e),i=o.get(t);if(!i)throw new Error(`No assembly found with name ${t}`);({internetAccountConfigId:a}=r.getConf(i,["sequence","metadata"]))}const{internetAccounts:i}=e,s=i.find((e=>e.internetAccountId===a));if(!s)throw new Error(`No InternetAccount found with config id ${o}`);return s}}))).actions((e=>({loadFeatures:l.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:a,refName:i}=n;let s=e.assemblies.get(a);s||(s=e.assemblies.put({_id:a,refSeqs:{}}));const[l]=r;let c=s.refSeqs.get(l.refSeq);c||(c=s.refSeqs.put({_id:l.refSeq,name:i,features:{}}));for(const e of r)c.features.has(e._id)||c.features.put(e);e.addCheckResults(o)}})),loadRefSeq:l.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:a,end:i,refName:s,start:l}=n;let c=e.assemblies.get(a);c||(c=e.assemblies.put({_id:a,refSeqs:{}}));let u=c.refSeqs.get(r);u||(u=c.refSeqs.put({_id:r,name:s,sequence:[]})),u.addSequence({start:l,stop:i,sequence:o})}}))})))}(i),u=t.props({apolloDataStore:l.types.optional(c,{typeName:"Client"}),apolloSelectedFeature:l.types.safeReference(i),jobsManager:l.types.optional(NF,{})}).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}=l.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:a,start:i}=t,s=e.apolloDataStore.assemblies.get(r);s&&"CollaborationServerDriver"===s.backendDriverType&&n.push({assemblyName:r,refName:a,start:i,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:l.flow((function*(){const t=l.getSnapshot(e),{id:n,name:r}=t;l.applySnapshot(e,{name:r,id:n});const{internetAccounts:o,jbrowse:i}=l.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:a,start:i}=n,s=e.apolloDataStore.assemblies.get(r);s&&"CollaborationServerDriver"===s.backendDriverType&&t.push({assemblyName:r,refName:a,start:i,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,u;try{c=yield s(o,{signal:a})}catch(e){console.error(e);continue}if(c.ok){try{u=yield c.json()}catch(e){console.error(e);continue}l.applySnapshot(i,u),l.applySnapshot(e,t)}else{const e=yield bd(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}=l.getRoot(e),a=l.getSnapshot(r);let i;i=er.filterJBrowseConfig(a),0===Object.keys(i).length&&(i=void 0);const s={...l.getSnapshot(n),trackId:o.slice(0,o.length-13)};for(const n of t){if("ApolloInternetAccount"!==n.type)continue;const t=new er.ImportJBrowseConfigChange({typeName:"ImportJBrowseConfigChange",oldJBrowseConfig:i,newJBrowseConfig:{...i,tracks:i?.tracks&&[...i.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:CF}]:[...t?.(n)??[],{label:"Remove track from Apollo",onClick:async()=>{const{internetAccounts:t,jbrowse:r}=l.getRoot(e),a=l.getSnapshot(r);let i;i=er.filterJBrowseConfig(a),0===Object.keys(i).length&&(i=void 0);const s=i?.tracks?.filter((e=>e.trackId!==o));for(const n of t){if("ApolloInternetAccount"!==n.type)continue;const t=new er.ImportJBrowseConfigChange({typeName:"ImportJBrowseConfigChange",oldJBrowseConfig:i,newJBrowseConfig:{...i,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:CF}]}}}));return l.types.snapshotProcessor(u,{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]=l.getSnapshot(t))}return e}})}const jF={0:2,1:1,2:0},LF={3:0,4:1,5:2};function DF(e,t){const o=e.getPlugin("LinearGenomeViewPlugin"),{BaseLinearDisplay:a}=o.exports;return a.named("SixFrameFeatureDisplay").props({type:l.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(),...x.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(){l.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),a=n?.getSequence(e.start,e.end);o.set(e.start,a??"")}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 a=o.get(e.refName);a||(a=new Map,o.set(e.refName,a));for(const[t,r]of n?.features.entries()??new Map)e.start<r.end&&e.end>r.start&&a.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 a=[],i=[],s=o in LF;let l,c,u;s?(l=(t.length+r)%3,c=(LF[o]+l+3)%3,u=n.reverse(t).slice(c)):(l=3-r%3,c=(jF[o]+l+3)%3,u=t.slice(c));for(let e=0;e<u.length;e+=3){const t=u.slice(e,e+3),o=s?n.reverse(n.revcom(t)):t,l=s?r+u.length-(3+e):r+e+c;n.defaultStarts.includes(o.toUpperCase())?a.push(l):n.defaultStops.includes(o.toUpperCase())&&i.push(l)}e.set(o,{starts:a,stops:i})}return e},get featureLayout(){const{featureTypeOntology:t}=e.session.apolloDataStore.ontologyManager;if(!t)throw new Error("featureTypeOntology is undefined");const n=new Map;for(const[e,r]of this.features||[]){if(!r)continue;const o=this.featuresMinMax[e];if(!o)continue;const[a,i]=o,s=[],l=6;for(let e=0;e<l;e++){const e=s.length;s[e]=Array.from({length:i-a}),n.set(e,[])}for(const e of[...r.values()].sort(((e,t)=>{const{max:n,min:r}=e,{max:o,min:a}=t;return r-a||n-o})))for(const[,r]of e.children??new Map)if(t.isTypeOf(r.type,"transcript")||t.isTypeOf(e.type,"pseudogenic_transcript"))for(const[,o]of r.children||new Map){let a;if(t.isTypeOf(o.type,"CDS")){let t;o.discontinuousLocations.length>0?({discontinuousLocations:t}=o):t=[o];for(const o of t){const t=o.start+3,i=o.end-3;for(const[s,{stops:l}]of this.codonLayout)if(s<3&&1===e.strand||s>=3&&-1===e.strand){const e=l.filter((e=>e>=t&&e<=i));if(0===e.length){a=s;const e=n.get(a);e?.push([r.featureId,o]);break}}}}}}return n},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 qF=r.ConfigurationSchema("ApolloRefNameAliasAdapter",{assemblyId:{type:"string",defaultValue:""}},{explicitlyTyped:!0});const BF="undefined"==typeof sessionStorage;class UF extends w.BaseAdapter{refNameAliases;async getRefNameAliases(){const e=r.readConfObject(this.config,"assemblyId");if(!BF){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=sR(),a=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",a),t(n.refNameAliases))};addEventListener("message",a),rpcServer.emit("apollo",{apollo:!0,method:"getRefNameAliases",assembly:e,messageId:o})}));return this.refNameAliases=t,t}freeResources(){}}const zF="WorkerGlobalScope"in globalThis;for(const[e,t]of Object.entries(er.changes))B.changeRegistry.registerChange(e,t);const GF=new er.CDSCheck;B.checkRegistry.registerCheck(GF.name,GF),er.validationRegistry.registerValidation(new er.CoreValidation),er.validationRegistry.registerValidation(new er.ParentChildValidation),e.default=class extends A.default{name="ApolloPlugin";version="0.3.5";configurationSchema=$R;install(e){!function(e){e.addAdapterType((()=>new j.default({name:"ApolloSequenceAdapter",configSchema:FR,adapterMetadata:{category:void 0,hiddenFromGUI:!0,description:void 0},AdapterClass:MR})))}(e),function(e){e.addAdapterType((()=>new j.default({name:"ApolloRefNameAliasAdapter",configSchema:qF,adapterMetadata:{category:void 0,hiddenFromGUI:!0,description:void 0},AdapterClass:UF})))}(e),function(e){e.addTextSearchAdapterType((()=>new o.TextSearchAdapterType({name:"ApolloTextSearchAdapter",displayName:"Apollo text search adapter",configSchema:WR,AdapterClass:HR,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:jT,ReactComponent:CT})})),e.addWidgetType((()=>{const e=r.ConfigurationSchema("ApolloTranscriptDetails",{});return new o.WidgetType({name:"ApolloTranscriptDetails",heading:"Apollo transcript details",configSchema:e,stateModel:LT,ReactComponent:eM})})),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:ec,stateModel:OR(ec)}))),e.addDisplayType((()=>new o.DisplayType({name:"LinearApolloDisplay",configSchema:tM,stateModel:dF(0,tM),trackType:"ApolloTrack",viewType:"LinearGenomeView",ReactComponent:kF}))),e.addDisplayType((()=>{const t=function(e){const t=e.getPlugin("LinearGenomeViewPlugin"),{baseLinearDisplayConfigSchema:n}=t.exports;return r.ConfigurationSchema("SixFrameFeatureDisplay",{renderer:DR,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}=SF(),{height:o,selectedFeature:a}=e;let{detailsHeight:i}=e;return a||(i=0),T.default.createElement("div",{style:{height:e.height}},T.default.createElement("div",{className:r.shading,style:{height:o-i}},T.default.createElement(n,{model:e,...t})),T.default.createElement("div",{className:"testTrackLines"},T.default.createElement(wF,{model:e})))}))}(e);return new o.DisplayType({name:"SixFrameFeatureDisplay",configSchema:t,stateModel:DF(e,t),trackType:"ApolloTrack",viewType:"LinearGenomeView",ReactComponent:n})})),e.addRendererType((()=>new qR({name:"ApolloSixFrameRenderer",ReactComponent:LR,configSchema:DR,pluginManager:e}))),e.addToExtensionPoint("Core-extendSession",FF.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:Ql,onClick:()=>{const t=n.getSession(e),{leftOffset:r,rightOffset:o}=e,a=e.getSelectedRegions(r,o);t.queueDialog((e=>[VN,{session:t,handleClose:()=>{e()},region:a[0],changeManager:t.apolloDataStore.changeManager}]))}}]}}));e.stateModel=r}return e})),e.addToExtensionPoint("Core-extendPluggableElement",VR),e.addToExtensionPoint("Core-extendPluggableElement",rT),zF||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:a,method:i}=n;switch(i){case"getSequence":{const{region:r}=n,{assemblyName:i}=r,s=e.rootModel?.session?.apolloDataStore;if(!s)break;const l=s.getBackendDriver(i),{seq:c}=await l.getSequence(r);t.workers[0].postMessage({apollo:o,messageId:a,sequence:c});break}case"getRegions":{const{assembly:r}=n,i=e.rootModel?.session?.apolloDataStore;if(!i)break;const s=i.getBackendDriver(r),l=await s.getRegions(r);t.workers[0].postMessage({apollo:o,messageId:a,regions:l});break}case"getRefNameAliases":{const{assembly:r}=n,i=e.rootModel?.session?.apolloDataStore;if(!i)break;const s=i.getBackendDriver(r),l=await s.getRefNameAliases(r);t.workers[0].postMessage({apollo:o,messageId:a,refNameAliases:l});break}}})),t):t))}configure(e){n.isAbstractMenuManager(e.rootModel)&&(e.rootModel.appendToMenu("Apollo",{label:"Download GFF3",onClick:e=>{e.queueDialog((t=>[QN,{session:e,handleClose:()=>{t()}}]))}}),e.rootModel.appendToMenu("Apollo",{label:"Manage Checks",onClick:e=>{e.queueDialog((t=>[nR,{session:e,handleClose:()=>{t()}}]))}}),e.rootModel.appendToMenu("Apollo",{label:"View Change Log",onClick:e=>{e.queueDialog((t=>[uR,{session:e,handleClose:()=>{t()}}]))}}),e.rootModel.appendToMenu("Apollo",{label:"Open local GFF3 file",onClick:e=>{e.queueDialog((t=>[lR,{session:e,handleClose:()=>{t()},inMemoryFileDriver:e.apolloDataStore.inMemoryFileDriver}]))}}),e.rootModel.appendToMenu("Apollo",{label:"View check results",onClick:e=>{e.queueDialog((t=>[hR,{session:e,handleClose:()=>{t()}}]))}}),e.rootModel.appendToMenu("Apollo",{label:"Log out",onClick:e=>{e.queueDialog((t=>[tR,{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("react"),require("tss-react/mui"),require("@jbrowse/core/ui"),require("mobx-react"),require("@jbrowse/core/util/types/mst"),require("@jbrowse/core/util/io"),require("@mui/material/Checkbox"),require("@mui/material/FormControlLabel"),require("@mui/material/LinearProgress"),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","react","tss-react/mui","@jbrowse/core/ui","mobx-react","@jbrowse/core/util/types/mst","@jbrowse/core/util/io","@mui/material/Checkbox","@mui/material/FormControlLabel","@mui/material/LinearProgress","@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.react,e.JBrowseExports["tss-react/mui"],e.JBrowseExports["@jbrowse/core/ui"],e.JBrowseExports["mobx-react"],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/material/LinearProgress"],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,a,i,s,l,c,u,f,d,p,h,m,g,y,v,b,_,w,S,x){"use strict";function E(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function k(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 A=E(t),C=E(n),O=E(a),N=E(i),R=E(l),T=E(u),I=k(u),P=E(g),M=E(y),F=E(v),j=E(_),D="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function L(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 q(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 B={};function U(e){var t,n;function r(t,n){try{var a=e[t](n),i=a.value,s=i instanceof z;Promise.resolve(s?i.v:i).then((function(n){if(s){var l="return"===t?"return":"next";if(!i.k||n.done)return r(l,n);n=e[l](n).value}o(a.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(a,i){var s={key:e,arg:o,resolve:a,reject:i,next:null};n?n=n.next=s:(t=n=s,r(e,o))}))},"function"!=typeof e.return&&(this.return=void 0)}function z(e,t){this.v=e,this.k=t}function H(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 G(t.call(e));n="@@asyncIterator",r="@@iterator"}throw new TypeError("Object is not async iterable")}function G(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 G=function(e){this.s=e,this.n=e.next},G.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 G(e)}function W(e){return new z(e,0)}function $(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 V(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?$(Object(n),!0).forEach((function(t){te(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):$(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function J(){J=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,o=Object.defineProperty||function(e,t,n){e[t]=n.value},a="function"==typeof Symbol?Symbol:{},i=a.iterator||"@@iterator",s=a.asyncIterator||"@@asyncIterator",l=a.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 u(e,t,n,r){var a=Object.create((t&&t.prototype instanceof y?t:y).prototype),i=new R(r||[]);return o(a,"_invoke",{value:A(e,n,i)}),a}function f(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=u;var d="suspendedStart",p="suspendedYield",h="executing",m="completed",g={};function y(){}function v(){}function b(){}var _={};c(_,i,(function(){return this}));var w=Object.getPrototypeOf,S=w&&w(w(T([])));S&&S!==n&&r.call(S,i)&&(_=S);var x=b.prototype=y.prototype=Object.create(_);function E(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function k(e,t){function n(o,a,i,s){var l=f(e[o],e,a);if("throw"!==l.type){var c=l.arg,u=c.value;return u&&"object"==typeof u&&r.call(u,"__await")?t.resolve(u.__await).then((function(e){n("next",e,i,s)}),(function(e){n("throw",e,i,s)})):t.resolve(u).then((function(e){c.value=e,i(c)}),(function(e){return n("throw",e,i,s)}))}s(l.arg)}var a;o(this,"_invoke",{value:function(e,r){function o(){return new t((function(t,o){n(e,r,t,o)}))}return a=a?a.then(o,o):o()}})}function A(t,n,r){var o=d;return function(a,i){if(o===h)throw new Error("Generator is already running");if(o===m){if("throw"===a)throw i;return{value:e,done:!0}}for(r.method=a,r.arg=i;;){var s=r.delegate;if(s){var l=C(s,r);if(l){if(l===g)continue;return l}}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=h;var c=f(t,n,r);if("normal"===c.type){if(o=r.done?m:p,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 a=f(o,t.iterator,n.arg);if("throw"===a.type)return n.method="throw",n.arg=a.arg,n.delegate=null,g;var i=a.arg;return i?i.done?(n[t.resultName]=i.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,g):i:(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 N(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function R(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.reset(!0)}function T(t){if(t||""===t){var n=t[i];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,a=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 a.next=a}}throw new TypeError(typeof t+" is not iterable")}return v.prototype=b,o(x,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:v,configurable:!0}),v.displayName=c(b,l,"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,b):(e.__proto__=b,c(e,l,"GeneratorFunction")),e.prototype=Object.create(x),e},t.awrap=function(e){return{__await:e}},E(k.prototype),c(k.prototype,s,(function(){return this})),t.AsyncIterator=k,t.async=function(e,n,r,o,a){void 0===a&&(a=Promise);var i=new k(u(e,n,r,o),a);return t.isGeneratorFunction(n)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},E(x),c(x,l,"Generator"),c(x,i,(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=T,R.prototype={constructor:R,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(N),!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 a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],s=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var l=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(l&&c){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(l){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return o(i.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 a=o;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=t,a?(this.method="next",this.next=a.finallyLoc,g):this.complete(i)},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),N(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;N(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:T(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),g}},t}function Y(e){return Y="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},Y(e)}function K(e,t,n,r,o,a,i){try{var s=e[a](i),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,o)}function Z(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var a=e.apply(t,n);function i(e){K(a,r,o,i,s,"next",e)}function s(e){K(a,r,o,i,s,"throw",e)}i(void 0)}))}}function X(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Q(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,_e(r.key),r)}}function ee(e,t,n){return t&&Q(e.prototype,t),n&&Q(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function te(e,t,n){return(t=_e(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ne(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&&oe(e,t)}function re(e){return re=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},re(e)}function oe(e,t){return oe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},oe(e,t)}function ae(){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 ie(e,t,n){return ie=ae()?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&&oe(o,n.prototype),o},ie.apply(null,arguments)}function se(e){var t="function"==typeof Map?new Map:void 0;return se=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 ie(e,arguments,re(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),oe(n,e)},se(e)}function le(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ce(e){var t=ae();return function(){var n,r=re(e);if(t){var o=re(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 ue(){return ue="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=re(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}},ue.apply(this,arguments)}function fe(e,t){return he(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,s=[],l=!0,c=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw o}}return s}}(e,t)||ge(e,t)||ve()}function de(e){return he(e)||me(e)||ge(e)||ve()}function pe(e){return function(e){if(Array.isArray(e))return ye(e)}(e)||me(e)||ge(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 he(e){if(Array.isArray(e))return e}function me(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function ge(e,t){if(e){if("string"==typeof e)return ye(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)?ye(e,t):void 0}}function ye(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 ve(){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 be(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=ge(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 a,i=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){s=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(s)throw a}}}}function _e(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)}U.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},U.prototype.next=function(e){return this._invoke("next",e)},U.prototype.throw=function(e){return this._invoke("throw",e)},U.prototype.return=function(e){return this._invoke("return",e)};var we=function(e,t){return we=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])},we(e,t)};function Se(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}we(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var xe=function(){return xe=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},xe.apply(this,arguments)};function Ee(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 ke(e,t,n,r){var o,a=arguments.length,i=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"===("undefined"==typeof Reflect?"undefined":Y(Reflect))&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(i=(a<3?o(i):a>3?o(t,n,i):o(t,n))||i);return a>3&&i&&Object.defineProperty(t,n,i),i}function Ae(e,t){return function(n,r){t(n,r,e)}}function Ce(e,t){if("object"===("undefined"==typeof Reflect?"undefined":Y(Reflect))&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function Oe(e,t,n,r){return new(n||(n=Promise))((function(o,a){function i(e){try{l(r.next(e))}catch(e){a(e)}}function s(e){try{l(r.throw(e))}catch(e){a(e)}}function l(e){e.done?o(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(i,s)}l((r=r.apply(e,t||[])).next())}))}function Ne(e,t){var n,r,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(s){return function(l){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,s[0]&&(i=0)),i;)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 i.label++,{value:s[1],done:!1};case 5:i.label++,r=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!((o=(o=i.trys).length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){i.label=s[1];break}if(6===s[0]&&i.label<o[1]){i.label=o[1],o=s;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(s);break}o[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}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,l])}}}var Re=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)||Re(t,e,n)}function Ie(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 Pe(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i}function Me(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(Pe(arguments[t]));return e}function Fe(){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 a=arguments[t],i=0,s=a.length;i<s;i++,o++)r[o]=a[i];return r}function je(e,t,n){if(n||2===arguments.length)for(var r,o=0,a=t.length;o<a;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 De(e){return this instanceof De?(this.v=e,this):new De(e)}function Le(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=n.apply(e,t||[]),a=[];return r={},i("next"),i("throw"),i("return"),r[Symbol.asyncIterator]=function(){return this},r;function i(e){o[e]&&(r[e]=function(t){return new Promise((function(n,r){a.push([e,t,n,r])>1||s(e,t)}))})}function s(e,t){try{!function(e){e.value instanceof De?Promise.resolve(e.value.v).then(l,c):u(a[0][2],e)}(o[e](t))}catch(e){u(a[0][3],e)}}function l(e){s("next",e)}function c(e){s("throw",e)}function u(e,t){e(t),a.shift(),a.length&&s(a[0][0],a[0][1])}}function qe(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:De(e[r](t)),done:!1}:o?o(t):t}:o}}function Be(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=Ie(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 Ue(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var ze=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function He(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)&&Re(t,e,n);return ze(t,e),t}function Ge(e){return e&&e.__esModule?e:{default:e}}function We(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 $e(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 Ve(e,t){if(null===t||"object"!==Y(t)&&"function"!=typeof t)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function Je(e,t,n){if(null!=t){if("object"!==Y(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 Ye="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 Ke(e){function t(t){e.error=e.hasError?new Ye(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 Ze={__proto__:null,__extends:Se,get __assign(){return xe},__rest:Ee,__decorate:ke,__param:Ae,__esDecorate:function(e,t,n,r,o,a){function i(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var s,l=r.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?r.static?e:e.prototype:null,f=t||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),d=!1,p=n.length-1;p>=0;p--){var h={};for(var m in r)h[m]="access"===m?{}:r[m];for(var m in r.access)h.access[m]=r.access[m];h.addInitializer=function(e){if(d)throw new TypeError("Cannot add initializers after decoration has completed");a.push(i(e||null))};var g=(0,n[p])("accessor"===l?{get:f.get,set:f.set}:f[c],h);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!==Y(g))throw new TypeError("Object expected");(s=i(g.get))&&(f.get=s),(s=i(g.set))&&(f.set=s),(s=i(g.init))&&o.unshift(s)}else(s=i(g))&&("field"===l?o.unshift(s):f[c]=s)}u&&Object.defineProperty(u,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"===Y(e)?e:"".concat(e)},__setFunctionName:function(e,t,n){return"symbol"===Y(t)&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:n?"".concat(n," ",t):t})},__metadata:Ce,__awaiter:Oe,__generator:Ne,__createBinding:Re,__exportStar:Te,__values:Ie,__read:Pe,__spread:Me,__spreadArrays:Fe,__spreadArray:je,__await:De,__asyncGenerator:Le,__asyncDelegator:qe,__asyncValues:Be,__makeTemplateObject:Ue,__importStar:He,__importDefault:Ge,__classPrivateFieldGet:We,__classPrivateFieldSet:$e,__classPrivateFieldIn:Ve,__addDisposableResource:Je,__disposeResources:Ke,default:{__extends:Se,__assign:xe,__rest:Ee,__decorate:ke,__param:Ae,__metadata:Ce,__awaiter:Oe,__generator:Ne,__createBinding:Re,__exportStar:Te,__values:Ie,__read:Pe,__spread:Me,__spreadArrays:Fe,__spreadArray:je,__await:De,__asyncGenerator:Le,__asyncDelegator:qe,__asyncValues:Be,__makeTemplateObject:Ue,__importStar:He,__importDefault:Ge,__classPrivateFieldGet:We,__classPrivateFieldSet:$e,__classPrivateFieldIn:Ve,__addDisposableResource:Je,__disposeResources:Ke}},Xe=L(Ze),Qe={};Object.defineProperty(Qe,"__esModule",{value:!0}),Qe.ApolloPlugin=void 0;var et=function(e){ne(n,e);var t=ce(n);function n(){return X(this,n),t.apply(this,arguments)}return ee(n,[{key:"apolloInstall",value:function(e){}}]),n}(Xe.__importDefault(A.default).default);Qe.ApolloPlugin=et;var tt={},nt={},rt={};Object.defineProperty(rt,"__esModule",{value:!0}),rt.changeRegistry=void 0,rt.changeRegistry=new(function(){function e(){X(this,e),this.changes=new Map}return ee(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 ot={};Object.defineProperty(ot,"__esModule",{value:!0}),ot.Operation=void 0;var at=function(){function e(t,n){var r;X(this,e),this.logger=null!==(r=null==n?void 0:n.logger)&&void 0!==r?r:console}var t;return ee(e,[{key:"execute",value:(t=Z(J().mark((function e(t){var n,r;return J().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}();ot.Operation=at,Object.defineProperty(nt,"__esModule",{value:!0}),nt.Change=void 0,nt.isChange=function(e){return void 0!==e.executeOnClient};var it=rt,st=function(e){ne(r,e);var t,n=ce(r);function r(){return X(this,r),n.apply(this,arguments)}return ee(r,[{key:"notification",get:function(){return""}},{key:"execute",value:(t=Z(J().mark((function e(t){var n;return J().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",ue(re(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(it.changeRegistry.getChangeType(e.typeName))(e,(null==t?void 0:t.logger)&&{logger:t.logger})}}]),r}(ot.Operation);nt.Change=st,Object.defineProperty(tt,"__esModule",{value:!0}),tt.AssemblySpecificChange=void 0,tt.isAssemblySpecificChange=function(e){return(0,lt.isChange)(e)&&void 0!==e.assembly};var lt=nt;tt.AssemblySpecificChange=function(e){ne(n,e);var t=ce(n);function n(e,r){var o;return X(this,n),(o=t.call(this,e,r)).assembly=e.assembly,o}return ee(n)}(lt.Change);var ct={};Object.defineProperty(ct,"__esModule",{value:!0}),ct.Check=void 0,ct.Check=ee((function e(){X(this,e)}));var ut={};Object.defineProperty(ut,"__esModule",{value:!0}),ut.checkRegistry=void 0,ut.checkRegistry=new(function(){function e(){X(this,e),this.checks=new Map}return ee(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 ft={},dt="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function pt(){throw new Error("setTimeout has not been defined")}function ht(){throw new Error("clearTimeout has not been defined")}var mt=pt,gt=ht;function yt(e){if(mt===setTimeout)return setTimeout(e,0);if((mt===pt||!mt)&&setTimeout)return mt=setTimeout,setTimeout(e,0);try{return mt(e,0)}catch(t){try{return mt.call(null,e,0)}catch(t){return mt.call(this,e,0)}}}"function"==typeof dt.setTimeout&&(mt=setTimeout),"function"==typeof dt.clearTimeout&&(gt=clearTimeout);var vt,bt=[],_t=!1,wt=-1;function St(){_t&&vt&&(_t=!1,vt.length?bt=vt.concat(bt):wt=-1,bt.length&&xt())}function xt(){if(!_t){var e=yt(St);_t=!0;for(var t=bt.length;t;){for(vt=bt,bt=[];++wt<t;)vt&&vt[wt].run();wt=-1,t=bt.length}vt=null,_t=!1,function(e){if(gt===clearTimeout)return clearTimeout(e);if((gt===ht||!gt)&&clearTimeout)return gt=clearTimeout,clearTimeout(e);try{return gt(e)}catch(t){try{return gt.call(null,e)}catch(t){return gt.call(this,e)}}}(e)}}function Et(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];bt.push(new kt(e,t)),1!==bt.length||_t||yt(xt)}function kt(e,t){this.fun=e,this.array=t}function At(){}kt.prototype.run=function(){this.fun.apply(null,this.array)};var Ct=At,Ot=At,Nt=At,Rt=At,Tt=At,It=At,Pt=At,Mt=dt.performance||{},Ft=Mt.now||Mt.mozNow||Mt.msNow||Mt.oNow||Mt.webkitNow||function(){return(new Date).getTime()},jt=new Date,Dt={nextTick:Et,title:"browser",browser:!0,env:{},argv:[],version:"",versions:{},on:Ct,addListener:Ot,once:Nt,off:Rt,removeListener:Tt,removeAllListeners:It,emit:Pt,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*Ft.call(Mt),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-jt)/1e3}},Lt=[],qt=[],Bt="undefined"!=typeof Uint8Array?Uint8Array:Array,Ut=!1;function zt(){Ut=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0;t<64;++t)Lt[t]=e[t],qt[e.charCodeAt(t)]=t;qt["-".charCodeAt(0)]=62,qt["_".charCodeAt(0)]=63}function Ht(e,t,n){for(var r,o=[],a=t;a<n;a+=3)o.push(Lt[(r=(e[a]<<16)+(e[a+1]<<8)+e[a+2])>>18&63]+Lt[r>>12&63]+Lt[r>>6&63]+Lt[63&r]);return o.join("")}function Gt(e,t,n,r,o){var a,i,s=8*o-r-1,l=(1<<s)-1,c=l>>1,u=-7,f=n?o-1:0,d=n?-1:1,p=e[t+f];for(f+=d,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+e[t+f],f+=d,u-=8);for(i=a&(1<<-u)-1,a>>=-u,u+=r;u>0;i=256*i+e[t+f],f+=d,u-=8);if(0===a)a=1-c;else{if(a===l)return i?NaN:Infinity*(p?-1:1);i+=Math.pow(2,r),a-=c}return(p?-1:1)*i*Math.pow(2,a-r)}function Wt(e,t,n,r,o,a){var i,s,l,c=8*a-o-1,u=(1<<c)-1,f=u>>1,d=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:a-1,h=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,i=u):(i=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-i))<1&&(i--,l*=2),(t+=i+f>=1?d/l:d*Math.pow(2,1-f))*l>=2&&(i++,l/=2),i+f>=u?(s=0,i=u):i+f>=1?(s=(t*l-1)*Math.pow(2,o),i+=f):(s=t*Math.pow(2,f-1)*Math.pow(2,o),i=0));o>=8;e[n+p]=255&s,p+=h,s/=256,o-=8);for(i=i<<o|s,c+=o;c>0;e[n+p]=255&i,p+=h,i/=256,c-=8);e[n+p-h]|=128*m}var $t={}.toString,Vt=Array.isArray||function(e){return"[object Array]"==$t.call(e)};function Jt(){return Kt.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function Yt(e,t){if(Jt()<t)throw new RangeError("Invalid typed array length");return Kt.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=Kt.prototype:(null===e&&(e=new Kt(t)),e.length=t),e}function Kt(e,t,n){if(!(Kt.TYPED_ARRAY_SUPPORT||this instanceof Kt))return new Kt(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 Qt(this,e)}return Zt(this,e,t,n)}function Zt(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),Kt.TYPED_ARRAY_SUPPORT?(e=t).__proto__=Kt.prototype:e=en(e,t),e}(e,t,n,r):"string"==typeof t?function(e,t,n){if("string"==typeof n&&""!==n||(n="utf8"),!Kt.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|rn(t,n),o=(e=Yt(e,r)).write(t,n);return o!==r&&(e=e.slice(0,o)),e}(e,t,n):function(e,t){if(nn(t)){var n=0|tn(t.length);return 0===(e=Yt(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?Yt(e,0):en(e,t);if("Buffer"===t.type&&Vt(t.data))return en(e,t.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function Xt(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 Qt(e,t){if(Xt(t),e=Yt(e,t<0?0:0|tn(t)),!Kt.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function en(e,t){var n=t.length<0?0:0|tn(t.length);e=Yt(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function tn(e){if(e>=Jt())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Jt().toString(16)+" bytes");return 0|e}function nn(e){return!(null==e||!e._isBuffer)}function rn(e,t){if(nn(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 In(e).length;default:if(r)return Tn(e).length;t=(""+t).toLowerCase(),r=!0}}function on(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 _n(this,t,n);case"utf8":case"utf-8":return gn(this,t,n);case"ascii":return vn(this,t,n);case"latin1":case"binary":return bn(this,t,n);case"base64":return mn(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return wn(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function an(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function sn(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=Kt.from(t,r)),nn(t))return 0===t.length?-1:ln(e,t,n,r,o);if("number"==typeof t)return t&=255,Kt.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 a,i=1,s=e.length,l=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;i=2,s/=2,l/=2,n/=2}function c(e,t){return 1===i?e[t]:e.readUInt16BE(t*i)}if(o){var u=-1;for(a=n;a<s;a++)if(c(e,a)===c(t,-1===u?0:a-u)){if(-1===u&&(u=a),a-u+1===l)return u*i}else-1!==u&&(a-=a-u),u=-1}else for(n+l>s&&(n=s-l),a=n;a>=0;a--){for(var f=!0,d=0;d<l;d++)if(c(e,a+d)!==c(t,d)){f=!1;break}if(f)return a}return-1}function cn(e,t,n,r){n=Number(n)||0;var o=e.length-n;r?(r=Number(r))>o&&(r=o):r=o;var a=t.length;if(a%2!=0)throw new TypeError("Invalid hex string");r>a/2&&(r=a/2);for(var i=0;i<r;++i){var s=parseInt(t.substr(2*i,2),16);if(isNaN(s))return i;e[n+i]=s}return i}function un(e,t,n,r){return Pn(Tn(t,e.length-n),e,n,r)}function fn(e,t,n,r){return Pn(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function dn(e,t,n,r){return fn(e,t,n,r)}function pn(e,t,n,r){return Pn(In(t),e,n,r)}function hn(e,t,n,r){return Pn(function(e,t){for(var n,r,o=[],a=0;a<e.length&&!((t-=2)<0);++a)r=(n=e.charCodeAt(a))>>8,o.push(n%256),o.push(r);return o}(t,e.length-n),e,n,r)}function mn(e,t,n){return function(e){var t;Ut||zt();for(var n=e.length,r=n%3,o="",a=[],i=16383,s=0,l=n-r;s<l;s+=i)a.push(Ht(e,s,s+i>l?l:s+i));return 1===r?(o+=Lt[(t=e[n-1])>>2],o+=Lt[t<<4&63],o+="=="):2===r&&(o+=Lt[(t=(e[n-2]<<8)+e[n-1])>>10],o+=Lt[t>>4&63],o+=Lt[t<<2&63],o+="="),a.push(o),a.join("")}(0===t&&n===e.length?e:e.slice(t,n))}function gn(e,t,n){n=Math.min(e.length,n);for(var r=[],o=t;o<n;){var a,i,s,l,c=e[o],u=null,f=c>239?4:c>223?3:c>191?2:1;if(o+f<=n)switch(f){case 1:c<128&&(u=c);break;case 2:128==(192&(a=e[o+1]))&&(l=(31&c)<<6|63&a)>127&&(u=l);break;case 3:i=e[o+2],128==(192&(a=e[o+1]))&&128==(192&i)&&(l=(15&c)<<12|(63&a)<<6|63&i)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:i=e[o+2],s=e[o+3],128==(192&(a=e[o+1]))&&128==(192&i)&&128==(192&s)&&(l=(15&c)<<18|(63&a)<<12|(63&i)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,f=1):u>65535&&(r.push((u-=65536)>>>10&1023|55296),u=56320|1023&u),r.push(u),o+=f}return function(e){var t=e.length;if(t<=yn)return String.fromCharCode.apply(String,e);for(var n="",r=0;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=yn));return n}(r)}Kt.TYPED_ARRAY_SUPPORT=void 0===dt.TYPED_ARRAY_SUPPORT||dt.TYPED_ARRAY_SUPPORT,Kt.poolSize=8192,Kt._augment=function(e){return e.__proto__=Kt.prototype,e},Kt.from=function(e,t,n){return Zt(null,e,t,n)},Kt.TYPED_ARRAY_SUPPORT&&(Kt.prototype.__proto__=Uint8Array.prototype,Kt.__proto__=Uint8Array),Kt.alloc=function(e,t,n){return function(e,t,n,r){return Xt(t),t<=0?Yt(e,t):void 0!==n?"string"==typeof r?Yt(e,t).fill(n,r):Yt(e,t).fill(n):Yt(e,t)}(null,e,t,n)},Kt.allocUnsafe=function(e){return Qt(null,e)},Kt.allocUnsafeSlow=function(e){return Qt(null,e)},Kt.isBuffer=Mn,Kt.compare=function(e,t){if(!nn(e)||!nn(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,o=0,a=Math.min(n,r);o<a;++o)if(e[o]!==t[o]){n=e[o],r=t[o];break}return n<r?-1:r<n?1:0},Kt.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}},Kt.concat=function(e,t){if(!Vt(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return Kt.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=Kt.allocUnsafe(t),o=0;for(n=0;n<e.length;++n){var a=e[n];if(!nn(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(r,o),o+=a.length}return r},Kt.byteLength=rn,Kt.prototype._isBuffer=!0,Kt.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)an(this,t,t+1);return this},Kt.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)an(this,t,t+3),an(this,t+1,t+2);return this},Kt.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)an(this,t,t+7),an(this,t+1,t+6),an(this,t+2,t+5),an(this,t+3,t+4);return this},Kt.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?gn(this,0,e):on.apply(this,arguments)},Kt.prototype.equals=function(e){if(!nn(e))throw new TypeError("Argument must be a Buffer");return this===e||0===Kt.compare(this,e)},Kt.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+">"},Kt.prototype.compare=function(e,t,n,r,o){if(!nn(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 a=(o>>>=0)-(r>>>=0),i=(n>>>=0)-(t>>>=0),s=Math.min(a,i),l=this.slice(r,o),c=e.slice(t,n),u=0;u<s;++u)if(l[u]!==c[u]){a=l[u],i=c[u];break}return a<i?-1:i<a?1:0},Kt.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},Kt.prototype.indexOf=function(e,t,n){return sn(this,e,t,n,!0)},Kt.prototype.lastIndexOf=function(e,t,n){return sn(this,e,t,n,!1)},Kt.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 a=!1;;)switch(r){case"hex":return cn(this,e,t,n);case"utf8":case"utf-8":return un(this,e,t,n);case"ascii":return fn(this,e,t,n);case"latin1":case"binary":return dn(this,e,t,n);case"base64":return pn(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return hn(this,e,t,n);default:if(a)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),a=!0}},Kt.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var yn=4096;function vn(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 bn(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 _n(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var o="",a=t;a<n;++a)o+=Rn(e[a]);return o}function wn(e,t,n){for(var r=e.slice(t,n),o="",a=0;a<r.length;a+=2)o+=String.fromCharCode(r[a]+256*r[a+1]);return o}function Sn(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 xn(e,t,n,r,o,a){if(!nn(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||t<a)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function En(e,t,n,r){t<0&&(t=65535+t+1);for(var o=0,a=Math.min(e.length-n,2);o<a;++o)e[n+o]=(t&255<<8*(r?o:1-o))>>>8*(r?o:1-o)}function kn(e,t,n,r){t<0&&(t=4294967295+t+1);for(var o=0,a=Math.min(e.length-n,4);o<a;++o)e[n+o]=t>>>8*(r?o:3-o)&255}function An(e,t,n,r,o,a){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function Cn(e,t,n,r,o){return o||An(e,0,n,4),Wt(e,t,n,r,23,4),n+4}function On(e,t,n,r,o){return o||An(e,0,n,8),Wt(e,t,n,r,52,8),n+8}Kt.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),Kt.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=Kt.prototype;else{var o=t-e;n=new Kt(o,void 0);for(var a=0;a<o;++a)n[a]=this[a+e]}return n},Kt.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||Sn(e,t,this.length);for(var r=this[e],o=1,a=0;++a<t&&(o*=256);)r+=this[e+a]*o;return r},Kt.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||Sn(e,t,this.length);for(var r=this[e+--t],o=1;t>0&&(o*=256);)r+=this[e+--t]*o;return r},Kt.prototype.readUInt8=function(e,t){return t||Sn(e,1,this.length),this[e]},Kt.prototype.readUInt16LE=function(e,t){return t||Sn(e,2,this.length),this[e]|this[e+1]<<8},Kt.prototype.readUInt16BE=function(e,t){return t||Sn(e,2,this.length),this[e]<<8|this[e+1]},Kt.prototype.readUInt32LE=function(e,t){return t||Sn(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Kt.prototype.readUInt32BE=function(e,t){return t||Sn(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Kt.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||Sn(e,t,this.length);for(var r=this[e],o=1,a=0;++a<t&&(o*=256);)r+=this[e+a]*o;return r>=(o*=128)&&(r-=Math.pow(2,8*t)),r},Kt.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||Sn(e,t,this.length);for(var r=t,o=1,a=this[e+--r];r>0&&(o*=256);)a+=this[e+--r]*o;return a>=(o*=128)&&(a-=Math.pow(2,8*t)),a},Kt.prototype.readInt8=function(e,t){return t||Sn(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Kt.prototype.readInt16LE=function(e,t){t||Sn(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},Kt.prototype.readInt16BE=function(e,t){t||Sn(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},Kt.prototype.readInt32LE=function(e,t){return t||Sn(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Kt.prototype.readInt32BE=function(e,t){return t||Sn(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Kt.prototype.readFloatLE=function(e,t){return t||Sn(e,4,this.length),Gt(this,e,!0,23,4)},Kt.prototype.readFloatBE=function(e,t){return t||Sn(e,4,this.length),Gt(this,e,!1,23,4)},Kt.prototype.readDoubleLE=function(e,t){return t||Sn(e,8,this.length),Gt(this,e,!0,52,8)},Kt.prototype.readDoubleBE=function(e,t){return t||Sn(e,8,this.length),Gt(this,e,!1,52,8)},Kt.prototype.writeUIntLE=function(e,t,n,r){e=+e,t|=0,n|=0,r||xn(this,e,t,n,Math.pow(2,8*n)-1,0);var o=1,a=0;for(this[t]=255&e;++a<n&&(o*=256);)this[t+a]=e/o&255;return t+n},Kt.prototype.writeUIntBE=function(e,t,n,r){e=+e,t|=0,n|=0,r||xn(this,e,t,n,Math.pow(2,8*n)-1,0);var o=n-1,a=1;for(this[t+o]=255&e;--o>=0&&(a*=256);)this[t+o]=e/a&255;return t+n},Kt.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||xn(this,e,t,1,255,0),Kt.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},Kt.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||xn(this,e,t,2,65535,0),Kt.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):En(this,e,t,!0),t+2},Kt.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||xn(this,e,t,2,65535,0),Kt.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):En(this,e,t,!1),t+2},Kt.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||xn(this,e,t,4,4294967295,0),Kt.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):kn(this,e,t,!0),t+4},Kt.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||xn(this,e,t,4,4294967295,0),Kt.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):kn(this,e,t,!1),t+4},Kt.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);xn(this,e,t,n,o-1,-o)}var a=0,i=1,s=0;for(this[t]=255&e;++a<n&&(i*=256);)e<0&&0===s&&0!==this[t+a-1]&&(s=1),this[t+a]=(e/i>>0)-s&255;return t+n},Kt.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);xn(this,e,t,n,o-1,-o)}var a=n-1,i=1,s=0;for(this[t+a]=255&e;--a>=0&&(i*=256);)e<0&&0===s&&0!==this[t+a+1]&&(s=1),this[t+a]=(e/i>>0)-s&255;return t+n},Kt.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||xn(this,e,t,1,127,-128),Kt.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},Kt.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||xn(this,e,t,2,32767,-32768),Kt.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):En(this,e,t,!0),t+2},Kt.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||xn(this,e,t,2,32767,-32768),Kt.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):En(this,e,t,!1),t+2},Kt.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||xn(this,e,t,4,2147483647,-2147483648),Kt.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):kn(this,e,t,!0),t+4},Kt.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||xn(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),Kt.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):kn(this,e,t,!1),t+4},Kt.prototype.writeFloatLE=function(e,t,n){return Cn(this,e,t,!0,n)},Kt.prototype.writeFloatBE=function(e,t,n){return Cn(this,e,t,!1,n)},Kt.prototype.writeDoubleLE=function(e,t,n){return On(this,e,t,!0,n)},Kt.prototype.writeDoubleBE=function(e,t,n){return On(this,e,t,!1,n)},Kt.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,a=r-n;if(this===e&&n<t&&t<r)for(o=a-1;o>=0;--o)e[o+t]=this[o+n];else if(a<1e3||!Kt.TYPED_ARRAY_SUPPORT)for(o=0;o<a;++o)e[o+t]=this[o+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+a),t);return a},Kt.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&&!Kt.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 a;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(a=t;a<n;++a)this[a]=e;else{var i=nn(e)?e:Tn(new Kt(e,r).toString()),s=i.length;for(a=0;a<n-t;++a)this[a+t]=i[a%s]}return this};var Nn=/[^+\/0-9A-Za-z-_]/g;function Rn(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,a=[],i=0;i<r;++i){if((n=e.charCodeAt(i))>55295&&n<57344){if(!o){if(n>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(i+1===r){(t-=3)>-1&&a.push(239,191,189);continue}o=n;continue}if(n<56320){(t-=3)>-1&&a.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(t-=3)>-1&&a.push(239,191,189);if(o=null,n<128){if((t-=1)<0)break;a.push(n)}else if(n<2048){if((t-=2)<0)break;a.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;a.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;a.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return a}function In(e){return function(e){var t,n,r,o,a,i;Ut||zt();var s=e.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");i=new Bt(3*s/4-(a="="===e[s-2]?2:"="===e[s-1]?1:0)),r=a>0?s-4:s;var l=0;for(t=0,n=0;t<r;t+=4,n+=3)o=qt[e.charCodeAt(t)]<<18|qt[e.charCodeAt(t+1)]<<12|qt[e.charCodeAt(t+2)]<<6|qt[e.charCodeAt(t+3)],i[l++]=o>>16&255,i[l++]=o>>8&255,i[l++]=255&o;return 2===a?(o=qt[e.charCodeAt(t)]<<2|qt[e.charCodeAt(t+1)]>>4,i[l++]=255&o):1===a&&(o=qt[e.charCodeAt(t)]<<10|qt[e.charCodeAt(t+1)]<<4|qt[e.charCodeAt(t+2)]>>2,i[l++]=o>>8&255,i[l++]=255&o),i}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(Nn,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function Pn(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 Mn(e){return null!=e&&(!!e._isBuffer||Fn(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&Fn(e.slice(0,0))}(e))}function Fn(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}for(var jn=Math.floor(16777215*Math.random()),Dn=Wn.index=parseInt(16777215*Math.random(),10),Ln=(void 0===Dt||"number"!=typeof Dt.pid?Math.floor(1e5*Math.random()):Dt.pid)%65535,qn=function(){try{return _Buffer}catch(e){try{return Kt}catch(e){return null}}}(),Bn=function(e){return!(null==e||!e.constructor||"function"!=typeof e.constructor.isBuffer||!e.constructor.isBuffer(e))},Un=[],zn=0;zn<256;zn++)Un[zn]=(zn<=15?"0":"")+zn.toString(16);var Hn=new RegExp("^[0-9a-fA-F]{24}$"),Gn=[];for(zn=0;zn<10;)Gn[48+zn]=zn++;for(;zn<16;)Gn[55+zn]=Gn[87+zn]=zn++;function Wn(e){if(!(this instanceof Wn))return new Wn(e);if(e&&(e instanceof Wn||"ObjectID"===e._bsontype))return e;if(this._bsontype="ObjectID",null!=e&&"number"!=typeof e){var t=Wn.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 Wn.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 $n=Wn;Wn.default=Wn,Wn.createFromTime=function(e){return new Wn(function(e,t){return 8===(t=t.toString(16)).length?t:"00000000".substring(t.length,8)+t}(0,e=parseInt(e,10)%4294967295)+"0000000000000000")},Wn.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(Gn[e.charCodeAt(n++)]<<4|Gn[e.charCodeAt(n++)]);return new Wn(t)},Wn.isValid=function(e){return null!=e&&("number"==typeof e||("string"==typeof e?12===e.length||24===e.length&&Hn.test(e):e instanceof Wn||(Bn(e)?Wn.isValid(e.toString("hex")):!("function"!=typeof e.toHexString||!qn||!(e.id instanceof qn||"string"==typeof e.id))&&(12===e.id.length||24===e.id.length&&Hn.test(e.id)))))},Wn.prototype={constructor:Wn,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(Bn(this.id))return this.id.toString("hex");for(var e="",t=0;t<this.id.length;t++)e+=Un[this.id.charCodeAt(t)];return e},equals:function(e){return e instanceof Wn?this.toString()===e.toString():"string"==typeof e&&Wn.isValid(e)&&12===e.length&&Bn(this.id)?e===this.id.toString("binary"):"string"==typeof e&&Wn.isValid(e)&&24===e.length?e.toLowerCase()===this.toHexString():"string"==typeof e&&Wn.isValid(e)&&12===e.length?e===this.id:!(null==e||!(e instanceof Wn||e.toHexString))&&e.toHexString()===this.toHexString()},getTimestamp:function(){var e,t=new Date;return e=Bn(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=Dn=(Dn+1)%16777215;return String.fromCharCode(e>>24&255,e>>16&255,e>>8&255,255&e,jn>>16&255,jn>>8&255,255&jn,Ln>>8&255,255&Ln,t>>16&255,t>>8&255,255&t)}};var Vn=Symbol&&Symbol.for&&Symbol.for("nodejs.util.inspect.custom")||"inspect";Wn.prototype[Vn]=function(){return"ObjectID("+this+")"},Wn.prototype.toJSON=Wn.prototype.toHexString,Wn.prototype.toString=Wn.prototype.toHexString,Object.defineProperty(ft,"__esModule",{value:!0}),ft.FeatureChange=void 0,ft.isFeatureChange=function(e){return(0,Yn.isAssemblySpecificChange)(e)&&void 0!==e.changedIds};var Jn=Xe.__importDefault($n),Yn=tt,Kn=function(e){ne(n,e);var t=ce(n);function n(e,r){var o;return X(this,n),(o=t.call(this,e,r)).changedIds=e.changedIds,o}return ee(n,[{key:"getFeatureFromId",value:function(e,t){var n,r,o,a,i=this.logger;if(null===(n=i.verbose)||void 0===n||n.call(i,"Entry=".concat(JSON.stringify(e))),e._id.equals(t))return null===(r=i.debug)||void 0===r||r.call(i,"Top level featureId matches in the object ".concat(JSON.stringify(e))),e;null===(o=i.debug)||void 0===o||o.call(i,"FeatureId was not found on top level so lets make recursive call...");var s,l=be(null!==(a=e.children)&&void 0!==a?a:new Map);try{for(l.s();!(s=l.n()).done;){var c=fe(s.value,2),u=this.getFeatureFromId(c[1],t);if(u)return u}}catch(e){l.e(e)}finally{l.f()}return null}},{key:"getChildFeatureIds",value:function(e){if(!e.children)return[];var t,n=[],r=be((e.children instanceof Map?e.children:new Map(Object.entries(e.children)))||new Map);try{for(r.s();!(t=r.n()).done;){var o=fe(t.value,2);n.push.apply(n,[o[0]].concat(pe(this.getChildFeatureIds(o[1]))))}}catch(e){r.e(e)}finally{r.f()}return n}},{key:"generateNewIds",value:function(e,t){var n=(new Jn.default).toHexString();t.push(n);var r={};if(e.children)for(var o=0,a=Object.values(e.children);o<a.length;o++){var i=this.generateNewIds(a[o],t);r[i._id]=i}var s="string"==typeof e.refSeq?e.refSeq:e.refSeq.toHexString();return V(V({},e),{},{refSeq:s,children:e.children&&r,_id:n})}}]),n}(Yn.AssemblySpecificChange);ft.FeatureChange=Kn;var Zn={};Object.defineProperty(Zn,"__esModule",{value:!0}),Zn.operationRegistry=void 0,Zn.operationRegistry=new(function(){function e(){X(this,e),this.operations=new Map}return ee(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 Xn={};Object.defineProperty(Xn,"__esModule",{value:!0}),Xn.Validation=void 0,Xn.isContext=function(e){return"context"in e&&"reflector"in e};var Qn=function(){function e(){X(this,e)}var t,n,r,o,a;return ee(e,[{key:"frontendPreValidate",value:(a=Z(J().mark((function e(t){return J().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 a.apply(this,arguments)})},{key:"frontendPostValidate",value:(o=Z(J().mark((function e(t,n){return J().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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t,n){return J().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=Z(J().mark((function e(t){return J().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}();Xn.Validation=Qn,function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=Xe;t.__exportStar(Qe,e),t.__exportStar(tt,e),t.__exportStar(nt,e),t.__exportStar(rt,e),t.__exportStar(ct,e),t.__exportStar(ut,e),t.__exportStar(ft,e),t.__exportStar(ot,e),t.__exportStar(Zn,e),t.__exportStar(Xn,e)}(B);var er={},tr={},nr={},rr={},or={},ar={};Object.defineProperty(ar,"__esModule",{value:!0}),ar.ApolloPlugin=void 0;var ir=function(e){ne(n,e);var t=ce(n);function n(){return X(this,n),t.apply(this,arguments)}return ee(n,[{key:"apolloInstall",value:function(e){}}]),n}(Xe.__importDefault(A.default).default);ar.ApolloPlugin=ir;var sr={},lr={},cr={};Object.defineProperty(cr,"__esModule",{value:!0}),cr.changeRegistry=void 0,cr.changeRegistry=new(function(){function e(){X(this,e),this.changes=new Map}return ee(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 ur={};Object.defineProperty(ur,"__esModule",{value:!0}),ur.Operation=void 0;var fr=function(){function e(t,n){var r;X(this,e),this.logger=null!==(r=null==n?void 0:n.logger)&&void 0!==r?r:console}var t;return ee(e,[{key:"execute",value:(t=Z(J().mark((function e(t){var n,r;return J().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}();ur.Operation=fr,Object.defineProperty(lr,"__esModule",{value:!0}),lr.Change=void 0,lr.isChange=function(e){return void 0!==e.executeOnClient};var dr=cr,pr=function(e){ne(r,e);var t,n=ce(r);function r(){return X(this,r),n.apply(this,arguments)}return ee(r,[{key:"notification",get:function(){return""}},{key:"execute",value:(t=Z(J().mark((function e(t){var n;return J().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",ue(re(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(dr.changeRegistry.getChangeType(e.typeName))(e,(null==t?void 0:t.logger)&&{logger:t.logger})}}]),r}(ur.Operation);lr.Change=pr,Object.defineProperty(sr,"__esModule",{value:!0}),sr.AssemblySpecificChange=void 0,sr.isAssemblySpecificChange=function(e){return(0,hr.isChange)(e)&&void 0!==e.assembly};var hr=lr;sr.AssemblySpecificChange=function(e){ne(n,e);var t=ce(n);function n(e,r){var o;return X(this,n),(o=t.call(this,e,r)).assembly=e.assembly,o}return ee(n)}(hr.Change);var mr={};Object.defineProperty(mr,"__esModule",{value:!0}),mr.Check=void 0,mr.Check=ee((function e(){X(this,e)}));var gr={};Object.defineProperty(gr,"__esModule",{value:!0}),gr.checkRegistry=void 0,gr.checkRegistry=new(function(){function e(){X(this,e),this.checks=new Map}return ee(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 yr={};Object.defineProperty(yr,"__esModule",{value:!0}),yr.FeatureChange=void 0,yr.isFeatureChange=function(e){return(0,br.isAssemblySpecificChange)(e)&&void 0!==e.changedIds};var vr=Xe.__importDefault($n),br=sr,_r=function(e){ne(n,e);var t=ce(n);function n(e,r){var o;return X(this,n),(o=t.call(this,e,r)).changedIds=e.changedIds,o}return ee(n,[{key:"getFeatureFromId",value:function(e,t){var n,r,o,a,i=this.logger;if(null===(n=i.verbose)||void 0===n||n.call(i,"Entry=".concat(JSON.stringify(e))),e._id.equals(t))return null===(r=i.debug)||void 0===r||r.call(i,"Top level featureId matches in the object ".concat(JSON.stringify(e))),e;null===(o=i.debug)||void 0===o||o.call(i,"FeatureId was not found on top level so lets make recursive call...");var s,l=be(null!==(a=e.children)&&void 0!==a?a:new Map);try{for(l.s();!(s=l.n()).done;){var c=fe(s.value,2),u=this.getFeatureFromId(c[1],t);if(u)return u}}catch(e){l.e(e)}finally{l.f()}return null}},{key:"getChildFeatureIds",value:function(e){if(!e.children)return[];var t,n=[],r=be((e.children instanceof Map?e.children:new Map(Object.entries(e.children)))||new Map);try{for(r.s();!(t=r.n()).done;){var o=fe(t.value,2);n.push.apply(n,[o[0]].concat(pe(this.getChildFeatureIds(o[1]))))}}catch(e){r.e(e)}finally{r.f()}return n}},{key:"generateNewIds",value:function(e,t){var n=(new vr.default).toHexString();t.push(n);var r={};if(e.children)for(var o=0,a=Object.values(e.children);o<a.length;o++){var i=this.generateNewIds(a[o],t);r[i._id]=i}var s="string"==typeof e.refSeq?e.refSeq:e.refSeq.toHexString();return V(V({},e),{},{refSeq:s,children:e.children&&r,_id:n})}}]),n}(br.AssemblySpecificChange);yr.FeatureChange=_r;var wr={};Object.defineProperty(wr,"__esModule",{value:!0}),wr.operationRegistry=void 0,wr.operationRegistry=new(function(){function e(){X(this,e),this.operations=new Map}return ee(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 Sr={};Object.defineProperty(Sr,"__esModule",{value:!0}),Sr.Validation=void 0,Sr.isContext=function(e){return"context"in e&&"reflector"in e};var xr=function(){function e(){X(this,e)}var t,n,r,o,a;return ee(e,[{key:"frontendPreValidate",value:(a=Z(J().mark((function e(t){return J().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 a.apply(this,arguments)})},{key:"frontendPostValidate",value:(o=Z(J().mark((function e(t,n){return J().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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t,n){return J().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=Z(J().mark((function e(t){return J().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}();Sr.Validation=xr,function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=Xe;t.__exportStar(ar,e),t.__exportStar(sr,e),t.__exportStar(lr,e),t.__exportStar(cr,e),t.__exportStar(mr,e),t.__exportStar(gr,e),t.__exportStar(yr,e),t.__exportStar(ur,e),t.__exportStar(wr,e),t.__exportStar(Sr,e)}(or);var Er={},kr={};Object.defineProperty(kr,"__esModule",{value:!0}),kr.annotationFeatureToGFF3=Cr;var Ar=C.default;function Cr(e,t,n){var r,o,a,i,s=JSON.parse(JSON.stringify(null!==(r=e.attributes)&&void 0!==r?r:{})),l=[],c=null!==(o=null===(a=e.attributes)||void 0===a||null===(a=a.gff_source)||void 0===a?void 0:a[0])&&void 0!==o?o:null;delete s.gff_source,t&&(s.Parent=[t]),s.gff_id?(s.ID=s.gff_id,delete s.gff_id):e.children&&(s.ID=[e._id]),s.gff_name&&(s.Name=s.gff_name,delete s.gff_name),s.gff_alias&&(s.Alias=s.gff_alias,delete s.gff_alias),s.gff_target&&(s.Target=s.gff_target,delete s.gff_target),s.gff_gap&&(s.Gap=s.gff_gap,delete s.gff_gap),s.gff_derives_from&&(s.Derives_from=s.gff_derives_from,delete s.gff_derives_from),s.gff_note&&(s.Note=s.gff_note,delete s.gff_note),s.gff_dbxref&&(s.Dbxref=s.gff_dbxref,delete s.gff_dbxref),s.gff_is_circular&&(s.Is_circular=s.gff_is_circular,delete s.gff_is_circular),s.gff_ontology_term&&(l.push.apply(l,pe(s.gff_ontology_term)),delete s.gff_ontology_term),s["Gene Ontology"]&&(l.push.apply(l,pe(s["Gene Ontology"])),delete s["Gene Ontology"]),s["Sequence Ontology"]&&(l.push.apply(l,pe(s["Sequence Ontology"])),delete s["Sequence Ontology"]),l.length>0&&(s.Ontology_term=l);var u=null===(i=e.attributes)||void 0===i?void 0:i.gff_score,f=null;return u&&u.length>0&&(u[0]&&(f=Number(u[0]),Number.isNaN(f)&&(f=null)),delete s.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:c,type:e.type,score:f,strand:e.strand?1===e.strand?"+":"-":null,phase:null,attributes:Object.keys(s).length>0?s:null,derived_features:[],child_features:Or(e,null===(o=s.ID)||void 0===o?void 0:o[0],n)}}))}function Or(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=[],a=be(n);try{var i=function(){for(var n=r.value,a=n.max,i=n.min,s=[],l=!1,c=[],u=0,f=t;u<f.length;u++){var d=f[u];"exon"===d.type&&c.push({min:d.min,max:d.max})}c.sort((function(e,t){return e.min-t.min}));for(var p=0,h=c;p<h.length;p++){var m=h[p],g=s.at(-1);g&&s.push({min:g.max,max:m.min,type:"intron"});var y,v=fe((0,Ar.intersection2)(i,a,m.min,m.max),2),b=v[0],_=v[1];y=l?1===e.strand?"threePrimeUTR":"fivePrimeUTR":1===e.strand?"fivePrimeUTR":"threePrimeUTR",void 0!==b&&void 0!==_?(l=!0,b===m.min&&_===m.max?s.push({min:b,max:_,phase:0,type:"CDS"}):b===m.min?s.push({min:b,max:_,phase:0,type:"CDS"},{min:_,max:m.max,type:y}):_===m.max?s.push({min:m.min,max:b,type:y},{min:b,max:_,phase:0,type:"CDS"}):s.push({min:m.min,max:b,type:y},{min:b,max:_,phase:0,type:"CDS"},{min:_,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,V(V({},e),{},{phase:t})}));o.push(S)};for(a.s();!(r=a.n()).done;)i()}catch(e){a.e(e)}finally{a.f()}return o}(e);return t.map((function(e){return e.filter((function(e){return"CDS"===e.type}))}))}(e),a=0,i=0,s=Object.values(e.children);i<s.length;i++){var l=s[i],c=Cr(l,t,n);if("CDS"===l.type){var u,f=be(o[a]);try{for(f.s();!(u=f.n()).done;){var d=u.value,p=JSON.parse(JSON.stringify(c));if(1!=p.length)throw new Error("Unexpected CDS: ".concat(JSON.stringify(p,null,2)));p[0].start=d.min+1,p[0].end=d.max,p[0].phase=d.phase.toString(),p[0].type=d.type,r.push(p)}}catch(e){f.e(e)}finally{f.f()}a++}else r.push(c)}return r}return Object.values(e.children).map((function(e){return Cr(e,t,n)}))}var Nr={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.gffInternalToColumn=e.gffColumnToInternal=e.internalToGFF=e.gffToInternal=void 0,e.isGFFReservedAttribute=function(t){return t in e.gffToInternal},e.isGFFInternalAttribute=function(t){return t in e.internalToGFF},e.isGFFColumn=function(t){return t in e.gffColumnToInternal},e.isGFFColumnInternal=function(t){return t in e.gffInternalToColumn},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"},e.gffColumnToInternal={score:"gff_score",source:"gff_source"},e.gffInternalToColumn={gff_score:"score",gff_source:"source"}}(Nr);var Rr={};Object.defineProperty(Rr,"__esModule",{value:!0}),Rr.gff3ToAnnotationFeature=function e(t,n,r){var o=fe(t,1)[0],a=o.end,i=o.seq_id,s=o.start,l=o.strand,c=o.type;if(!i)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===a)throw new Error("feature does not have end: ".concat(JSON.stringify(o)));var u=fe(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,pe(t))-1,Math.max.apply(Math,pe(n))]}(t),2),f=u[0],d=u[1],p=function(t,n,r){var o={},a=t.filter((function(e){return e.child_features.length>0}));if(a.length>1)throw new Error("Features with multiple locations may not have children");if(0!==a.length){var i,s=[],l=[],c=[],u=be(fe(a,1)[0].child_features);try{for(u.s();!(i=u.n()).done;){var f=i.value,d=fe(f,1)[0];if("exon"===d.type&&l.push(f),"three_prime_UTR"!==d.type&&"five_prime_UTR"!==d.type||c.push(f),"three_prime_UTR"!==d.type&&"five_prime_UTR"!==d.type&&"intron"!==d.type&&"start_codon"!==d.type&&"stop_codon"!==d.type)if("CDS"===d.type)s.push(f);else{var p=e(f,n,r);o[p._id]=p}}}catch(e){u.e(e)}finally{u.f()}if(s.length>0){var h,m=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 a=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(!a.some((function(e,t){var n=a.at(t+1);return!!n&&(0,Tr.doesIntersect2)(e.start,e.end,n.start,n.end)})))return[e(a,n,r)];var i,s=t.map((function(e){return e[0]})),l=[],c=be(s);try{var u=function(){var e=i.value,t=l.at(-1);if(!t)return l.push([e]),1;t.some((function(t){return(0,Tr.doesIntersect2)(t.start,t.end,e.start,e.end)}))?l.push([e]):t.push(e)};for(c.s();!(i=c.n()).done;)u()}catch(e){c.e(e)}finally{c.f()}return l.map((function(t){return e(t,n,r)}))}(s,n,r),g=be(m);try{for(g.s();!(h=g.n()).done;){var y=h.value;o[y._id]=y}}catch(e){g.e(e)}finally{g.f()}var v,b=function(e,t,n,r,o){var a,i=[],s=be(n);try{for(s.s();!(a=s.n()).done;){var l,c=be(a.value);try{for(c.s();!(l=c.n()).done;){var u=l.value;if(!u.start||!u.end)throw new Error("UTR has undefined start and/or end\n: ".concat(JSON.stringify(u,null,2)));var f=void 0;"+"===u.strand?f=1:"-"===u.strand&&(f=-1),i.push({_id:(new Ir.default).toHexString(),refSeq:r,type:"exon",min:u.start-1,max:u.end,strand:f})}}catch(e){c.e(e)}finally{c.f()}}}catch(e){s.e(e)}finally{s.f()}i.sort((function(e,t){return e.min-t.min}));var d,p=[],h=be(e);try{for(h.s();!(d=h.n()).done;){var m=d.value;m.sort((function(e,t){if(!e.start||!t.start)throw new Error("CDS has undefined start");return e.start-t.start}));for(var g=0;g<m.length;g++){var y,v=m[g],b=!1,_=be(t);try{for(_.s();!(y=_.n()).done;){var w=y.value;if(1!=w.length)throw new Error("Unexpected number of exons");var S=fe(w,1)[0];if(S.start&&S.end&&v.start&&v.end&&S.start<=v.start&&S.end>=v.end){b=!0;break}}}catch(e){_.e(e)}finally{_.f()}if(!b){if(!v.start||!v.end)throw new Error("CDS has undefined start and/or end: ".concat(JSON.stringify(v,null,2)));var x=void 0;"+"===v.strand?x=1:"-"===v.strand&&(x=-1);var E={_id:(new Ir.default).toHexString(),refSeq:r,type:"exon",min:v.start-1,max:v.end,strand:x};if(0===g){var k,A=be(i);try{for(A.s();!(k=A.n()).done;){var C=k.value;if(C.max>E.min)break;C.max===E.min?E.min=C.min:p.push(C)}}catch(e){A.e(e)}finally{A.f()}}if(g===m.length-1){var O,N=be(i);try{for(N.s();!(O=N.n()).done;){var R=O.value;R.min<E.max||(R.min===E.max?E.max=R.max:p.push(R))}}catch(e){N.e(e)}finally{N.f()}}p.push(E)}}}}catch(e){h.e(e)}finally{h.f()}var T=function(e){if(0===e.length)return[];e.sort((function(e,t){return e.min-t.min}));var t=[];t.push(e[0]);for(var n=1;n<e.length;n++){var r=t.at(-1),o=e[n];r&&o.min<=r.max?r.max=Math.max(r.max,o.max):t.push(o)}return t}(p);if(o){var I,P=be(T);try{for(P.s();!(I=P.n()).done;){var M=I.value;o.includes(M._id)||o.push(M._id)}}catch(e){P.e(e)}finally{P.f()}}return T}(s,l,c,m[0].refSeq,r),_=be(b);try{for(_.s();!(v=_.n()).done;){var w=v.value;o[w._id]=w}}catch(e){_.e(e)}finally{_.f()}}return Object.keys(o).length>0?o:void 0}}(t,n,r),h=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 a=fe(n,1)[0];n.length>1&&(a=n.reduce((function(e,t){return e+t}),0)/n.length),t.gff_score=[String(a)]}if(r.length>0){var i=fe(r,1)[0];r.length>1&&(i=pe(new Set(r)).join(",")),t.gff_source=[i]}if(o.length>0){var s,l=be(o);try{for(l.s();!(s=l.n()).done;)for(var c=0,u=Object.entries(s.value);c<u.length;c++){var f=fe(u[c],2),d=f[0],p=f[1];if(p&&"Parent"!==d){var h=(0,Pr.isGFFReservedAttribute)(d)?Pr.gffToInternal[d]:d,m=t[h];if(m){var g=new Set([].concat(pe(m),pe(p)));t[h]=pe(g)}else t[h]=p}}}catch(e){l.e(e)}finally{l.f()}}if(Object.keys(t).length>0)return t}(t),m={_id:(new Ir.default).toHexString(),refSeq:null!=n?n:i,type:c,min:f,max:d};if(l)if("+"===l)m.strand=1;else{if("-"!==l)throw new Error('Unknown strand: "'.concat(l,'"'));m.strand=-1}return p&&(m.children=p),h&&(m.attributes=h),r&&r.push(m._id),m};var Tr=C.default,Ir=Xe.__importDefault($n),Pr=Nr;!function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=Xe;t.__exportStar(kr,e),t.__exportStar(Nr,e),t.__exportStar(Rr,e)}(Er),Object.defineProperty(rr,"__esModule",{value:!0}),rr.FromFileBaseChange=void 0;var Mr=Er,Fr=function(e){ne(a,e);var t,n,r,o=ce(a);function a(){var e;X(this,a);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return te(le(e=o.call.apply(o,[this].concat(n))),"refSeqCache",new Map),e}return ee(a,[{key:"addRefSeqIntoDb",value:(r=Z(J().mark((function e(t,n,r){var o,a,i,s,l,c,u,f,d,p,h,m,g,y,v,b,_,w,S,x,E,k,A,C,O,N,R,T,I,P,M,F,j,D,L,q,B,U,z,G,W,$,Y,K,Z,X;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:a=this.logger,i=r.filesService,s=r.refSeqChunkModel,l=r.refSeqModel,c=r.user,f=(u=Dt.env.CHUNK_SIZE)&&Number(u),d=0,p=0,m="text/x-gff3"!==t.type,g=i.getFileStream(t),y="",v="",b=!0,_=!1,null===(o=a.debug)||void 0===o||o.call(a,"starting sequence stream"),w=0,S=!1,x=!1,e.prev=16,k=H(g);case 18:return e.next=20,k.next();case 20:if(!(S=!(A=e.sent).done)){e.next=102;break}C=A.value.toString(),b=!C.endsWith("\n"),O=C.split(/\r?\n/),v&&(O[0]="".concat(v).concat(O[0]),v=""),b&&(v=O.pop()||""),N=!1,R=!1,e.prev=29,I=H(O);case 31:return e.next=33,I.next();case 33:if(!(N=!(P=e.sent).done)){e.next=83;break}if(M=P.value,++w%1e6==0&&(null===(F=a.debug)||void 0===F||F.call(a,"Processed ".concat(w," lines"))),m){e.next=40;break}return"##FASTA"===M.trim()&&(m=!0),e.abrupt("continue",80);case 40:if(!(j=/^>\s*(\S+)\s*(.*)/.exec(M))){e.next=66;break}if(_=!0,null===(D=a.debug)||void 0===D||D.call(a,'Reference sequence information line "'.concat(j[0],'"')),""===y){e.next=51;break}if(h){e.next=47;break}throw new Error("No refSeq document found");case 47:return p+=y.length,e.next=50,s.create([{refSeq:h._id,n:d,sequence:y,user:c,status:-1}]);case 50:y="";case 51:return e.next=53,null===(L=h)||void 0===L?void 0:L.updateOne({length:p});case 53:return p=0,d=0,B=j[1].trim(),U=j[2]?j[2].trim():"",e.next=59,l.create([V(V({name:B,description:U,assembly:n,length:0},f?{chunkSize:f}:null),{},{user:c,status:-1})]);case 59:z=fe(e.sent,1),G=z[0],null===(q=a.debug)||void 0===q||q.call(a,'Added new refSeq "'.concat(B,'", desc "').concat(U,'", docId "').concat(G._id,'"')),h=G,e.next=80;break;case 66:if(!/\S/.test(M)){e.next=80;break}if(h){e.next=69;break}throw new Error("No refSeq document found");case 69:$=(W=h)._id,Y=W.chunkSize,y+=M.replaceAll(/\s/g,"");case 71:if(!(y.length>=Y)){e.next=80;break}return K=y.slice(0,Y),p+=K.length,e.next=76,s.create([{refSeq:$,n:d,sequence:K,user:c,status:-1}]);case 76:d++,y=y.slice(Y),e.next=71;break;case 80:N=!1,e.next=31;break;case 83:e.next=89;break;case 85:e.prev=85,e.t0=e.catch(29),R=!0,T=e.t0;case 89:if(e.prev=89,e.prev=90,!N||null==I.return){e.next=94;break}return e.next=94,I.return();case 94:if(e.prev=94,!R){e.next=97;break}throw T;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,E=e.t1;case 108:if(e.prev=108,e.prev=109,!S||null==k.return){e.next=113;break}return e.next=113,k.return();case 113:if(e.prev=113,!x){e.next=116;break}throw E;case 116:return e.finish(113);case 117:return e.finish(108);case 118:if(_){e.next=120;break}throw new Error("No reference sequences found in file");case 120:if(!y&&!b){e.next=131;break}if(h){e.next=123;break}throw new Error("No refSeq document found");case 123:return b&&(y+=v),p+=y.length,null===(Z=a.verbose)||void 0===Z||Z.call(a,'*** Add the very last chunk to ref seq ("'.concat(h._id,'", index ').concat(d," and total length for ref seq is ").concat(p,'): "').concat(y,'"')),null===(X=a.debug)||void 0===X||X.call(a,"Creating refSeq chunk number ".concat(d,' of "').concat(h._id,'"')),e.next=129,s.create([{refSeq:h._id,n:d,sequence:y,user:c,status:-1}]);case 129:return e.next=131,h.updateOne({length:p});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=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.featureModel,o=t.refSeqModel,a=this.assembly,null===(n=(i=this.logger).debug)||void 0===n||n.call(i,"Removing existing features for assembly = ".concat(a)),e.next=5,o.find({assembly:a}).exec();case 5:s=be(e.sent),e.prev=7,s.s();case 9:if((l=s.n()).done){e.next=15;break}return c=l.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=Z(J().mark((function e(t,n){var r,o,a,i,s,l,c,u,f,d,p;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.featureModel,o=n.refSeqModel,a=n.user,i=this.assembly,s=this.refSeqCache,l=fe(t,1),c=l[0].seq_id){e.next=5;break}throw new Error("Valid seq_id not found in feature ".concat(JSON.stringify(t)));case 5:if(u=s.get(c)){e.next=20;break}return e.next=9,o.findOne({assembly:i,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:(u=e.t2)&&s.set(c,u);case 20:if(u){e.next=22;break}throw new Error('RefSeq was not found by assembly "'.concat(i,'" and seq_id "').concat(c,'" not found'));case 22:return p=(0,Mr.gff3ToAnnotationFeature)(t,u._id,d=[]),e.next=26,r.create([V(V({allIds:d},p),{},{user:a,status:-1})]);case 26:case"end":return e.stop()}}),e,this)}))),function(e,n){return t.apply(this,arguments)})}]),a}(or.AssemblySpecificChange);rr.FromFileBaseChange=Fr,Object.defineProperty(nr,"__esModule",{value:!0}),nr.AddAssemblyAndFeaturesFromFileChange=void 0;var jr=function(e){ne(a,e);var t,n,r,o=ce(a);function a(e,t){var n;return X(this,a),te(le(n=o.call(this,e,t)),"typeName","AddAssemblyAndFeaturesFromFileChange"),te(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ee(a,[{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=fe(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=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c,u,f,d,p,h,m,g,y,v,b,_,w,S,x,E,k,A,C,O,N;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.assemblyModel,r=t.checkModel,o=t.fileModel,a=t.filesService,i=t.user,s=this.assembly,l=this.logger,c=be(this.changes),e.prev=3,c.s();case 5:if((u=c.n()).done){e.next=71;break}if(g=(m=u.value).assemblyName,y=m.fileIds.fa,Dt.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=l.debug)||void 0===f||f.call(l,'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 b=e.sent.map((function(e){return e._id.toHexString()})),e.next=29,n.create([{_id:s,name:g,user:i,status:-1,fileId:y,checks:b}]);case 29:return _=fe(e.sent,1),w=_[0],null===(d=l.debug)||void 0===d||d.call(l,'Added new assembly "'.concat(g,'", docId "').concat(w._id.toHexString(),'"')),null===(p=l.debug)||void 0===p||p.call(l,'File type: "'.concat(v.type,'"')),e.next=36,this.addRefSeqIntoDb(v,w._id.toString(),t);case 36:null===(h=l.debug)||void 0===h||h.call(l,'**************** LOOPATAAN KAIKKI FEATURET SEURAAVAKSI File type: "'.concat(v.type,'"')),S=a.parseGFF3(a.getFileStream(v)),x=!1,E=!1,e.prev=40,A=H(S);case 42:return e.next=44,A.next();case 44:if(!(x=!(C=e.sent).done)){e.next=53;break}return N=C.value,null===(O=l.verbose)||void 0===O||O.call(l,"ENTRY=".concat(JSON.stringify(N))),e.next=50,this.addFeatureIntoDb(N,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),E=!0,k=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,!E){e.next=67;break}throw k;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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t){return J().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 a({typeName:this.typeName,changes:this.changes,assembly:this.assembly},{logger:this.logger})}}]),a}(rr.FromFileBaseChange);nr.AddAssemblyAndFeaturesFromFileChange=jr;var Dr={},Lr={},qr=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};X(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,a,i;return ee(e,[{key:"getBufferFromResponse",value:(i=Z(J().mark((function e(t){return J().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",Kt.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 i.apply(this,arguments)})},{key:"fetch",value:(a=Z(J().mark((function e(t,n){var r;return J().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,V(V({},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 a.apply(this,arguments)})},{key:"read",value:(o=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c,u,f,d,p,h,m,g,y=arguments;return J().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===(i=(a=y.length>4&&void 0!==y[4]?y[4]:{}).headers)?{}:i,l=a.signal,u=void 0===(c=a.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=V(V(V({},this.baseOverrides),u),{},{headers:V(V(V({},s),u.headers),this.baseOverrides.headers),method:"GET",redirect:"follow",mode:"cors",signal:l}),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 h=(p=e.sent).copy(t,n,0,Math.min(r,p.length)),m=d.headers.get("content-range"),(g=/\/(\d+)$/.exec(m||""))&&g[1]&&(this._stat={size:parseInt(g[1],10)}),e.abrupt("return",{bytesRead:h,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=Z(J().mark((function e(){var t,n,r,o,a,i,s,l,c,u=arguments;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return"string"==typeof(t=u.length>0&&void 0!==u[0]?u[0]:{})?(n=t,r={}):(n=t.encoding,delete(r=t).encoding),s=void 0===(i=(o=r).overrides)?{}:i,l=V(V({headers:void 0===(a=o.headers)?{}:a,method:"GET",redirect:"follow",mode:"cors",signal:o.signal},this.baseOverrides),s),e.next=6,this.fetch(this.url,l);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=Z(J().mark((function e(){var t;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._stat){e.next=6;break}return t=Kt.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=Z(J().mark((function e(){return J().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 Br(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 Ur(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 zr=function(){function e(t){X(this,e),this.blob=t,this.size=t.size}var t,n,r,o;return ee(e,[{key:"read",value:(o=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c=arguments;return J().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 i=(a=o)+r,e.next=9,Br(this.blob.slice(a,i));case 9:return s=Kt.from(e.sent),l=s.copy(t,n),e.abrupt("return",{bytesRead:l,buffer:s});case 13:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"readFile",value:(r=Z(J().mark((function e(t){var n;return J().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",Ur(this.blob));case 3:if(!n){e.next=5;break}throw new Error("unsupported encoding: ".concat(n));case 5:return e.next=7,Br(this.blob);case 7:return e.abrupt("return",Kt.from(e.sent));case 9:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"stat",value:(n=Z(J().mark((function e(){return J().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=Z(J().mark((function e(){return J().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 Hr(e){return new qr(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{})}var Gr={__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 Hr(e,r);if(void 0!==t)return new Lr(t,r);throw new Error("no url, path, or filehandle provided, cannot open")},fromUrl:Hr,RemoteFile:qr,LocalFile:Lr,BlobFile:zr},Wr={};!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"!==Y(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 a=0;a<r;a++)e[o+a]=t[n+a]},flattenChunks:function(e){var t,n,r,o,a,i;for(r=0,t=0,n=e.length;t<n;t++)r+=e[t].length;for(i=new Uint8Array(r),o=0,t=0,n=e.length;t<n;t++)i.set(a=e[t],o),o+=a.length;return i}},o={arraySet:function(e,t,n,r,o){for(var a=0;a<r;a++)e[o+a]=t[n+a]},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)}(Wr);var $r={},Vr={},Jr={},Yr=Wr;function Kr(e){for(var t=e.length;--t>=0;)e[t]=0}var Zr=15,Xr=16,Qr=[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],eo=[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],to=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],no=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],ro=new Array(576);Kr(ro);var oo=new Array(60);Kr(oo);var ao=new Array(512);Kr(ao);var io=new Array(256);Kr(io);var so=new Array(29);Kr(so);var lo,co,uo,fo=new Array(30);function po(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 ho(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function mo(e){return e<256?ao[e]:ao[256+(e>>>7)]}function go(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function yo(e,t,n){e.bi_valid>Xr-n?(e.bi_buf|=t<<e.bi_valid&65535,go(e,e.bi_buf),e.bi_buf=t>>Xr-e.bi_valid,e.bi_valid+=n-Xr):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)}function vo(e,t,n){yo(e,n[2*t],n[2*t+1])}function bo(e,t){var n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1}function _o(e,t,n){var r,o,a=new Array(Zr+1),i=0;for(r=1;r<=Zr;r++)a[r]=i=i+n[r-1]<<1;for(o=0;o<=t;o++){var s=e[2*o+1];0!==s&&(e[2*o]=bo(a[s]++,s))}}function wo(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 So(e){e.bi_valid>8?go(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 xo(e,t,n,r){var o=2*t,a=2*n;return e[o]<e[a]||e[o]===e[a]&&r[t]<=r[n]}function Eo(e,t,n){for(var r=e.heap[n],o=n<<1;o<=e.heap_len&&(o<e.heap_len&&xo(t,e.heap[o+1],e.heap[o],e.depth)&&o++,!xo(t,r,e.heap[o],e.depth));)e.heap[n]=e.heap[o],n=o,o<<=1;e.heap[n]=r}function ko(e,t,n){var r,o,a,i,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?vo(e,o,t):(vo(e,(a=io[o])+256+1,t),0!==(i=Qr[a])&&yo(e,o-=so[a],i),vo(e,a=mo(--r),n),0!==(i=eo[a])&&yo(e,r-=fo[a],i))}while(s<e.last_lit);vo(e,256,t)}function Ao(e,t){var n,r,o,a=t.dyn_tree,i=t.stat_desc.static_tree,s=t.stat_desc.has_stree,l=t.stat_desc.elems,c=-1;for(e.heap_len=0,e.heap_max=573,n=0;n<l;n++)0!==a[2*n]?(e.heap[++e.heap_len]=c=n,e.depth[n]=0):a[2*n+1]=0;for(;e.heap_len<2;)a[2*(o=e.heap[++e.heap_len]=c<2?++c:0)]=1,e.depth[o]=0,e.opt_len--,s&&(e.static_len-=i[2*o+1]);for(t.max_code=c,n=e.heap_len>>1;n>=1;n--)Eo(e,a,n);o=l;do{n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Eo(e,a,1),r=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=r,a[2*o]=a[2*n]+a[2*r],e.depth[o]=(e.depth[n]>=e.depth[r]?e.depth[n]:e.depth[r])+1,a[2*n+1]=a[2*r+1]=o,e.heap[1]=o++,Eo(e,a,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var n,r,o,a,i,s,l=t.dyn_tree,c=t.max_code,u=t.stat_desc.static_tree,f=t.stat_desc.has_stree,d=t.stat_desc.extra_bits,p=t.stat_desc.extra_base,h=t.stat_desc.max_length,m=0;for(a=0;a<=Zr;a++)e.bl_count[a]=0;for(l[2*e.heap[e.heap_max]+1]=0,n=e.heap_max+1;n<573;n++)(a=l[2*l[2*(r=e.heap[n])+1]+1]+1)>h&&(a=h,m++),l[2*r+1]=a,r>c||(e.bl_count[a]++,i=0,r>=p&&(i=d[r-p]),e.opt_len+=(s=l[2*r])*(a+i),f&&(e.static_len+=s*(u[2*r+1]+i)));if(0!==m){do{for(a=h-1;0===e.bl_count[a];)a--;e.bl_count[a]--,e.bl_count[a+1]+=2,e.bl_count[h]--,m-=2}while(m>0);for(a=h;0!==a;a--)for(r=e.bl_count[a];0!==r;)(o=e.heap[--n])>c||(l[2*o+1]!==a&&(e.opt_len+=(a-l[2*o+1])*l[2*o],l[2*o+1]=a),r--)}}(e,t),_o(a,c,e.bl_count)}function Co(e,t,n){var r,o,a=-1,i=t[1],s=0,l=7,c=4;for(0===i&&(l=138,c=3),t[2*(n+1)+1]=65535,r=0;r<=n;r++)o=i,i=t[2*(r+1)+1],++s<l&&o===i||(s<c?e.bl_tree[2*o]+=s:0!==o?(o!==a&&e.bl_tree[2*o]++,e.bl_tree[32]++):s<=10?e.bl_tree[34]++:e.bl_tree[36]++,s=0,a=o,0===i?(l=138,c=3):o===i?(l=6,c=3):(l=7,c=4))}function Oo(e,t,n){var r,o,a=-1,i=t[1],s=0,l=7,c=4;for(0===i&&(l=138,c=3),r=0;r<=n;r++)if(o=i,i=t[2*(r+1)+1],!(++s<l&&o===i)){if(s<c)do{vo(e,o,e.bl_tree)}while(0!=--s);else 0!==o?(o!==a&&(vo(e,o,e.bl_tree),s--),vo(e,16,e.bl_tree),yo(e,s-3,2)):s<=10?(vo(e,17,e.bl_tree),yo(e,s-3,3)):(vo(e,18,e.bl_tree),yo(e,s-11,7));s=0,a=o,0===i?(l=138,c=3):o===i?(l=6,c=3):(l=7,c=4)}}Kr(fo);var No=!1;function Ro(e,t,n,r){yo(e,0+(r?1:0),3),function(e,t,n,r){So(e),go(e,n),go(e,~n),Yr.arraySet(e.pending_buf,e.window,t,n,e.pending),e.pending+=n}(e,t,n)}Jr._tr_init=function(e){No||(function(){var e,t,n,r,o,a=new Array(Zr+1);for(n=0,r=0;r<28;r++)for(so[r]=n,e=0;e<1<<Qr[r];e++)io[n++]=r;for(io[n-1]=r,o=0,r=0;r<16;r++)for(fo[r]=o,e=0;e<1<<eo[r];e++)ao[o++]=r;for(o>>=7;r<30;r++)for(fo[r]=o<<7,e=0;e<1<<eo[r]-7;e++)ao[256+o++]=r;for(t=0;t<=Zr;t++)a[t]=0;for(e=0;e<=143;)ro[2*e+1]=8,e++,a[8]++;for(;e<=255;)ro[2*e+1]=9,e++,a[9]++;for(;e<=279;)ro[2*e+1]=7,e++,a[7]++;for(;e<=287;)ro[2*e+1]=8,e++,a[8]++;for(_o(ro,287,a),e=0;e<30;e++)oo[2*e+1]=5,oo[2*e]=bo(e,5);lo=new po(ro,Qr,257,286,Zr),co=new po(oo,eo,0,30,Zr),uo=new po(new Array(0),to,0,19,7)}(),No=!0),e.l_desc=new ho(e.dyn_ltree,lo),e.d_desc=new ho(e.dyn_dtree,co),e.bl_desc=new ho(e.bl_tree,uo),e.bi_buf=0,e.bi_valid=0,wo(e)},Jr._tr_stored_block=Ro,Jr._tr_flush_block=function(e,t,n,r){var o,a,i=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)),Ao(e,e.l_desc),Ao(e,e.d_desc),i=function(e){var t;for(Co(e,e.dyn_ltree,e.l_desc.max_code),Co(e,e.dyn_dtree,e.d_desc.max_code),Ao(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*no[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),(a=e.static_len+3+7>>>3)<=(o=e.opt_len+3+7>>>3)&&(o=a)):o=a=n+5,n+4<=o&&-1!==t?Ro(e,t,n,r):4===e.strategy||a===o?(yo(e,2+(r?1:0),3),ko(e,ro,oo)):(yo(e,4+(r?1:0),3),function(e,t,n,r){var o;for(yo(e,t-257,5),yo(e,n-1,5),yo(e,r-4,4),o=0;o<r;o++)yo(e,e.bl_tree[2*no[o]+1],3);Oo(e,e.dyn_ltree,t-1),Oo(e,e.dyn_dtree,n-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,i+1),ko(e,e.dyn_ltree,e.dyn_dtree)),wo(e),r&&So(e)},Jr._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*(io[n]+256+1)]++,e.dyn_dtree[2*mo(t)]++),e.last_lit===e.lit_bufsize-1},Jr._tr_align=function(e){yo(e,2,3),vo(e,256,ro),function(e){16===e.bi_valid?(go(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,a=e>>>16&65535|0,i=0;0!==n;){n-=i=n>2e3?2e3:n;do{a=a+(o=o+t[r++]|0)|0}while(--i);o%=65521,a%=65521}return o|a<<16|0};function Io(){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 Po,Mo=Io(),Fo=function(e,t,n,r){var o=Mo,a=r+n;e^=-1;for(var i=r;i<a;i++)e=e>>>8^o[255&(e^t[i])];return-1^e},jo={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"},Do=Wr,Lo=Jr,qo=To,Bo=Fo,Uo=jo,zo=0,Ho=0,Go=-2,Wo=2,$o=8,Vo=286,Jo=30,Yo=19,Ko=2*Vo+1,Zo=15,Xo=3,Qo=258,ea=Qo+Xo+1,ta=42,na=103,ra=113,oa=666;function aa(e,t){return e.msg=Uo[t],t}function ia(e){return(e<<1)-(e>4?9:0)}function sa(e){for(var t=e.length;--t>=0;)e[t]=0}function la(e){var t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),0!==n&&(Do.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 ca(e,t){Lo._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,la(e.strm)}function ua(e,t){e.pending_buf[e.pending++]=t}function fa(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function da(e,t){var n,r,o=e.max_chain_length,a=e.strstart,i=e.prev_length,s=e.nice_match,l=e.strstart>e.w_size-ea?e.strstart-(e.w_size-ea):0,c=e.window,u=e.w_mask,f=e.prev,d=e.strstart+Qo,p=c[a+i-1],h=c[a+i];e.prev_length>=e.good_match&&(o>>=2),s>e.lookahead&&(s=e.lookahead);do{if(c[(n=t)+i]===h&&c[n+i-1]===p&&c[n]===c[a]&&c[++n]===c[a+1]){a+=2,n++;do{}while(c[++a]===c[++n]&&c[++a]===c[++n]&&c[++a]===c[++n]&&c[++a]===c[++n]&&c[++a]===c[++n]&&c[++a]===c[++n]&&c[++a]===c[++n]&&c[++a]===c[++n]&&a<d);if(r=Qo-(d-a),a=d-Qo,r>i){if(e.match_start=t,i=r,r>=s)break;p=c[a+i-1],h=c[a+i]}}}while((t=f[t&u])>l&&0!=--o);return i<=e.lookahead?i:e.lookahead}function pa(e){var t,n,r,o,a,i,s,l,c,u,f=e.w_size;do{if(o=e.window_size-e.lookahead-e.strstart,e.strstart>=f+(f-ea)){Do.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,l=e.strstart+e.lookahead,u=void 0,(u=(i=e.strm).avail_in)>(c=o)&&(u=c),n=0===u?0:(i.avail_in-=u,Do.arraySet(s,i.input,i.next_in,u,l),1===i.state.wrap?i.adler=qo(i.adler,s,u,l):2===i.state.wrap&&(i.adler=Bo(i.adler,s,u,l)),i.next_in+=u,i.total_in+=u,u),e.lookahead+=n,e.lookahead+e.insert>=Xo)for(e.ins_h=e.window[a=e.strstart-e.insert],e.ins_h=(e.ins_h<<e.hash_shift^e.window[a+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[a+Xo-1])&e.hash_mask,e.prev[a&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=a,a++,e.insert--,!(e.lookahead+e.insert<Xo)););}while(e.lookahead<ea&&0!==e.strm.avail_in)}function ha(e,t){var n=65535;for(n>e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(pa(e),0===e.lookahead&&t===zo)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,ca(e,!1),0===e.strm.avail_out))return 1;if(e.strstart-e.block_start>=e.w_size-ea&&(ca(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(ca(e,!0),0===e.strm.avail_out?3:4):(e.strstart>e.block_start&&ca(e,!1),1)}function ma(e,t){for(var n,r;;){if(e.lookahead<ea){if(pa(e),e.lookahead<ea&&t===zo)return 1;if(0===e.lookahead)break}if(n=0,e.lookahead>=Xo&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Xo-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-ea&&(e.match_length=da(e,n)),e.match_length>=Xo)if(r=Lo._tr_tally(e,e.strstart-e.match_start,e.match_length-Xo),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=Xo){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Xo-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=Lo._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(ca(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<Xo-1?e.strstart:Xo-1,4===t?(ca(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(ca(e,!1),0===e.strm.avail_out)?1:2}function ga(e,t){for(var n,r,o;;){if(e.lookahead<ea){if(pa(e),e.lookahead<ea&&t===zo)return 1;if(0===e.lookahead)break}if(n=0,e.lookahead>=Xo&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Xo-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=Xo-1,0!==n&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-ea&&(e.match_length=da(e,n),e.match_length<=5&&(1===e.strategy||e.match_length===Xo&&e.strstart-e.match_start>4096)&&(e.match_length=Xo-1)),e.prev_length>=Xo&&e.match_length<=e.prev_length){o=e.strstart+e.lookahead-Xo,r=Lo._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-Xo),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+Xo-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=Xo-1,e.strstart++,r&&(ca(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if((r=Lo._tr_tally(e,0,e.window[e.strstart-1]))&&ca(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=Lo._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<Xo-1?e.strstart:Xo-1,4===t?(ca(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(ca(e,!1),0===e.strm.avail_out)?1:2}function ya(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 va(){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=$o,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 Do.Buf16(2*Ko),this.dyn_dtree=new Do.Buf16(2*(2*Jo+1)),this.bl_tree=new Do.Buf16(2*(2*Yo+1)),sa(this.dyn_ltree),sa(this.dyn_dtree),sa(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Do.Buf16(Zo+1),this.heap=new Do.Buf16(2*Vo+1),sa(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Do.Buf16(2*Vo+1),sa(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 ba(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=Wo,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?ta:ra,e.adler=2===t.wrap?0:1,t.last_flush=zo,Lo._tr_init(t),Ho):aa(e,Go)}function _a(e){var t,n=ba(e);return n===Ho&&((t=e.state).window_size=2*t.w_size,sa(t.head),t.max_lazy_match=Po[t.level].max_lazy,t.good_match=Po[t.level].good_length,t.nice_match=Po[t.level].nice_length,t.max_chain_length=Po[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=Xo-1,t.match_available=0,t.ins_h=0),n}function wa(e,t,n,r,o,a){if(!e)return Go;var i=1;if(-1===t&&(t=6),r<0?(i=0,r=-r):r>15&&(i=2,r-=16),o<1||o>9||n!==$o||r<8||r>15||t<0||t>9||a<0||a>4)return aa(e,Go);8===r&&(r=9);var s=new va;return e.state=s,s.strm=e,s.wrap=i,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+Xo-1)/Xo),s.window=new Do.Buf8(2*s.w_size),s.head=new Do.Buf16(s.hash_size),s.prev=new Do.Buf16(s.w_size),s.lit_bufsize=1<<o+6,s.pending_buf_size=4*s.lit_bufsize,s.pending_buf=new Do.Buf8(s.pending_buf_size),s.d_buf=1*s.lit_bufsize,s.l_buf=3*s.lit_bufsize,s.level=t,s.strategy=a,s.method=n,_a(e)}Po=[new ya(0,0,0,0,ha),new ya(4,4,8,4,ma),new ya(4,5,16,8,ma),new ya(4,6,32,32,ma),new ya(4,4,16,16,ga),new ya(8,16,32,32,ga),new ya(8,16,128,128,ga),new ya(8,32,128,256,ga),new ya(32,128,258,1024,ga),new ya(32,258,258,4096,ga)],Vr.deflateInit=function(e,t){return wa(e,t,$o,15,8,0)},Vr.deflateInit2=wa,Vr.deflateReset=_a,Vr.deflateResetKeep=ba,Vr.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?Go:(e.state.gzhead=t,Ho):Go},Vr.deflate=function(e,t){var n,r,o,a;if(!e||!e.state||t>5||t<0)return e?aa(e,Go):Go;if(r=e.state,!e.output||!e.input&&0!==e.avail_in||r.status===oa&&4!==t)return aa(e,0===e.avail_out?-5:Go);if(r.strm=e,n=r.last_flush,r.last_flush=t,r.status===ta)if(2===r.wrap)e.adler=0,ua(r,31),ua(r,139),ua(r,8),r.gzhead?(ua(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)),ua(r,255&r.gzhead.time),ua(r,r.gzhead.time>>8&255),ua(r,r.gzhead.time>>16&255),ua(r,r.gzhead.time>>24&255),ua(r,9===r.level?2:r.strategy>=2||r.level<2?4:0),ua(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(ua(r,255&r.gzhead.extra.length),ua(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(e.adler=Bo(e.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69):(ua(r,0),ua(r,0),ua(r,0),ua(r,0),ua(r,0),ua(r,9===r.level?2:r.strategy>=2||r.level<2?4:0),ua(r,3),r.status=ra);else{var i=$o+(r.w_bits-8<<4)<<8;i|=(r.strategy>=2||r.level<2?0:r.level<6?1:6===r.level?2:3)<<6,0!==r.strstart&&(i|=32),i+=31-i%31,r.status=ra,fa(r,i),0!==r.strstart&&(fa(r,e.adler>>>16),fa(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=Bo(e.adler,r.pending_buf,r.pending-o,o)),la(e),o=r.pending,r.pending!==r.pending_buf_size));)ua(r,255&r.gzhead.extra[r.gzindex]),r.gzindex++;r.gzhead.hcrc&&r.pending>o&&(e.adler=Bo(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=Bo(e.adler,r.pending_buf,r.pending-o,o)),la(e),o=r.pending,r.pending===r.pending_buf_size)){a=1;break}a=r.gzindex<r.gzhead.name.length?255&r.gzhead.name.charCodeAt(r.gzindex++):0,ua(r,a)}while(0!==a);r.gzhead.hcrc&&r.pending>o&&(e.adler=Bo(e.adler,r.pending_buf,r.pending-o,o)),0===a&&(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=Bo(e.adler,r.pending_buf,r.pending-o,o)),la(e),o=r.pending,r.pending===r.pending_buf_size)){a=1;break}a=r.gzindex<r.gzhead.comment.length?255&r.gzhead.comment.charCodeAt(r.gzindex++):0,ua(r,a)}while(0!==a);r.gzhead.hcrc&&r.pending>o&&(e.adler=Bo(e.adler,r.pending_buf,r.pending-o,o)),0===a&&(r.status=na)}else r.status=na;if(r.status===na&&(r.gzhead.hcrc?(r.pending+2>r.pending_buf_size&&la(e),r.pending+2<=r.pending_buf_size&&(ua(r,255&e.adler),ua(r,e.adler>>8&255),e.adler=0,r.status=ra)):r.status=ra),0!==r.pending){if(la(e),0===e.avail_out)return r.last_flush=-1,Ho}else if(0===e.avail_in&&ia(t)<=ia(n)&&4!==t)return aa(e,-5);if(r.status===oa&&0!==e.avail_in)return aa(e,-5);if(0!==e.avail_in||0!==r.lookahead||t!==zo&&r.status!==oa){var s=2===r.strategy?function(e,t){for(var n;;){if(0===e.lookahead&&(pa(e),0===e.lookahead)){if(t===zo)return 1;break}if(e.match_length=0,n=Lo._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(ca(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(ca(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(ca(e,!1),0===e.strm.avail_out)?1:2}(r,t):3===r.strategy?function(e,t){for(var n,r,o,a,i=e.window;;){if(e.lookahead<=Qo){if(pa(e),e.lookahead<=Qo&&t===zo)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=Xo&&e.strstart>0&&(r=i[o=e.strstart-1])===i[++o]&&r===i[++o]&&r===i[++o]){a=e.strstart+Qo;do{}while(r===i[++o]&&r===i[++o]&&r===i[++o]&&r===i[++o]&&r===i[++o]&&r===i[++o]&&r===i[++o]&&r===i[++o]&&o<a);e.match_length=Qo-(a-o),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=Xo?(n=Lo._tr_tally(e,1,e.match_length-Xo),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=Lo._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(ca(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(ca(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(ca(e,!1),0===e.strm.avail_out)?1:2}(r,t):Po[r.level].func(r,t);if(3!==s&&4!==s||(r.status=oa),1===s||3===s)return 0===e.avail_out&&(r.last_flush=-1),Ho;if(2===s&&(1===t?Lo._tr_align(r):5!==t&&(Lo._tr_stored_block(r,0,0,!1),3===t&&(sa(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),la(e),0===e.avail_out))return r.last_flush=-1,Ho}return 4!==t?Ho:r.wrap<=0?1:(2===r.wrap?(ua(r,255&e.adler),ua(r,e.adler>>8&255),ua(r,e.adler>>16&255),ua(r,e.adler>>24&255),ua(r,255&e.total_in),ua(r,e.total_in>>8&255),ua(r,e.total_in>>16&255),ua(r,e.total_in>>24&255)):(fa(r,e.adler>>>16),fa(r,65535&e.adler)),la(e),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?Ho:1)},Vr.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==ta&&69!==t&&73!==t&&91!==t&&t!==na&&t!==ra&&t!==oa?aa(e,Go):(e.state=null,t===ra?aa(e,-3):Ho):Go},Vr.deflateSetDictionary=function(e,t){var n,r,o,a,i,s,l,c,u=t.length;if(!e||!e.state)return Go;if(2===(a=(n=e.state).wrap)||1===a&&n.status!==ta||n.lookahead)return Go;for(1===a&&(e.adler=qo(e.adler,t,u,0)),n.wrap=0,u>=n.w_size&&(0===a&&(sa(n.head),n.strstart=0,n.block_start=0,n.insert=0),c=new Do.Buf8(n.w_size),Do.arraySet(c,t,u-n.w_size,n.w_size,0),t=c,u=n.w_size),i=e.avail_in,s=e.next_in,l=e.input,e.avail_in=u,e.next_in=0,e.input=t,pa(n);n.lookahead>=Xo;){r=n.strstart,o=n.lookahead-(Xo-1);do{n.ins_h=(n.ins_h<<n.hash_shift^n.window[r+Xo-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=Xo-1,pa(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=Xo-1,n.match_available=0,e.next_in=s,e.input=l,e.avail_in=i,n.wrap=a,Ho},Vr.deflateInfo="pako deflate (from Nodeca project)";var Sa={},xa=Wr,Ea=!0,ka=!0;try{String.fromCharCode.apply(null,[0])}catch(e){Ea=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){ka=!1}for(var Aa=new xa.Buf8(256),Ca=0;Ca<256;Ca++)Aa[Ca]=Ca>=252?6:Ca>=248?5:Ca>=240?4:Ca>=224?3:Ca>=192?2:1;function Oa(e,t){if(t<65534&&(e.subarray&&ka||!e.subarray&&Ea))return String.fromCharCode.apply(null,xa.shrinkBuf(e,t));for(var n="",r=0;r<t;r++)n+=String.fromCharCode(e[r]);return n}Aa[254]=Aa[254]=1,Sa.string2buf=function(e){var t,n,r,o,a,i=e.length,s=0;for(o=0;o<i;o++)55296==(64512&(n=e.charCodeAt(o)))&&o+1<i&&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 xa.Buf8(s),a=0,o=0;a<s;o++)55296==(64512&(n=e.charCodeAt(o)))&&o+1<i&&56320==(64512&(r=e.charCodeAt(o+1)))&&(n=65536+(n-55296<<10)+(r-56320),o++),n<128?t[a++]=n:n<2048?(t[a++]=192|n>>>6,t[a++]=128|63&n):n<65536?(t[a++]=224|n>>>12,t[a++]=128|n>>>6&63,t[a++]=128|63&n):(t[a++]=240|n>>>18,t[a++]=128|n>>>12&63,t[a++]=128|n>>>6&63,t[a++]=128|63&n);return t},Sa.buf2binstring=function(e){return Oa(e,e.length)},Sa.binstring2buf=function(e){for(var t=new xa.Buf8(e.length),n=0,r=t.length;n<r;n++)t[n]=e.charCodeAt(n);return t},Sa.buf2string=function(e,t){var n,r,o,a,i=t||e.length,s=new Array(2*i);for(r=0,n=0;n<i;)if((o=e[n++])<128)s[r++]=o;else if((a=Aa[o])>4)s[r++]=65533,n+=a-1;else{for(o&=2===a?31:3===a?15:7;a>1&&n<i;)o=o<<6|63&e[n++],a--;a>1?s[r++]=65533:o<65536?s[r++]=o:(s[r++]=55296|(o-=65536)>>10&1023,s[r++]=56320|1023&o)}return Oa(s,r)},Sa.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+Aa[e[n]]>t?n:t};var Na=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},Ra=Vr,Ta=Wr,Ia=Sa,Pa=jo,Ma=Na,Fa=Object.prototype.toString,ja=0,Da=-1,La=0,qa=8;function Ba(e){if(!(this instanceof Ba))return new Ba(e);this.options=Ta.assign({level:Da,method:qa,chunkSize:16384,windowBits:15,memLevel:8,strategy:La,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 Ma,this.strm.avail_out=0;var n=Ra.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==ja)throw new Error(Pa[n]);if(t.header&&Ra.deflateSetHeader(this.strm,t.header),t.dictionary){var r;if(r="string"==typeof t.dictionary?Ia.string2buf(t.dictionary):"[object ArrayBuffer]"===Fa.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(n=Ra.deflateSetDictionary(this.strm,r))!==ja)throw new Error(Pa[n]);this._dict_set=!0}}function Ua(e,t){var n=new Ba(t);if(n.push(e,!0),n.err)throw n.msg||Pa[n.err];return n.result}Ba.prototype.push=function(e,t){var n,r,o=this.strm,a=this.options.chunkSize;if(this.ended)return!1;r=t===~~t?t:!0===t?4:0,o.input="string"==typeof e?Ia.string2buf(e):"[object ArrayBuffer]"===Fa.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 Ta.Buf8(a),o.next_out=0,o.avail_out=a),1!==(n=Ra.deflate(o,r))&&n!==ja)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?Ia.buf2binstring(Ta.shrinkBuf(o.output,o.next_out)):Ta.shrinkBuf(o.output,o.next_out))}while((o.avail_in>0||0===o.avail_out)&&1!==n);return 4===r?(n=Ra.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===ja):2!==r||(this.onEnd(ja),o.avail_out=0,!0)},Ba.prototype.onData=function(e){this.chunks.push(e)},Ba.prototype.onEnd=function(e){e===ja&&(this.result="string"===this.options.to?this.chunks.join(""):Ta.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},$r.Deflate=Ba,$r.deflate=Ua,$r.deflateRaw=function(e,t){return(t=t||{}).raw=!0,Ua(e,t)},$r.gzip=function(e,t){return(t=t||{}).gzip=!0,Ua(e,t)};var za={},Ha={},Ga=Wr,Wa=[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],$a=[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],Va=[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],Ja=[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],Ya=Wr,Ka=To,Za=Fo,Xa=function(e,t){var n,r,o,a,i,s,l,c,u,f,d,p,h,m,g,y,v,b,_,w,S,x,E,k,A;k=e.input,o=(r=e.next_in)+(e.avail_in-5),A=e.output,i=(a=e.next_out)-(t-e.avail_out),s=a+(e.avail_out-257),l=(n=e.state).dmax,c=n.wsize,u=n.whave,f=n.wnext,d=n.window,p=n.hold,h=n.bits,m=n.lencode,g=n.distcode,y=(1<<n.lenbits)-1,v=(1<<n.distbits)-1;e:do{h<15&&(p+=k[r++]<<h,p+=k[r++]<<(h+=8),h+=8),b=m[p&y];t:for(;;){if(p>>>=_=b>>>24,h-=_,0==(_=b>>>16&255))A[a++]=65535&b;else{if(!(16&_)){if(0==(64&_)){b=m[(65535&b)+(p&(1<<_)-1)];continue t}if(32&_){n.mode=12;break e}e.msg="invalid literal/length code",n.mode=30;break e}w=65535&b,(_&=15)&&(h<_&&(p+=k[r++]<<h,h+=8),w+=p&(1<<_)-1,p>>>=_,h-=_),h<15&&(p+=k[r++]<<h,p+=k[r++]<<(h+=8),h+=8),b=g[p&v];n:for(;;){if(p>>>=_=b>>>24,h-=_,!(16&(_=b>>>16&255))){if(0==(64&_)){b=g[(65535&b)+(p&(1<<_)-1)];continue n}e.msg="invalid distance code",n.mode=30;break e}if(S=65535&b,h<(_&=15)&&(p+=k[r++]<<h,(h+=8)<_&&(p+=k[r++]<<h,h+=8)),(S+=p&(1<<_)-1)>l){e.msg="invalid distance too far back",n.mode=30;break e}if(p>>>=_,h-=_,S>(_=a-i)){if((_=S-_)>u&&n.sane){e.msg="invalid distance too far back",n.mode=30;break e}if(x=0,E=d,0===f){if(x+=c-_,_<w){w-=_;do{A[a++]=d[x++]}while(--_);x=a-S,E=A}}else if(f<_){if(x+=c+f-_,(_-=f)<w){w-=_;do{A[a++]=d[x++]}while(--_);if(x=0,f<w){w-=_=f;do{A[a++]=d[x++]}while(--_);x=a-S,E=A}}}else if(x+=f-_,_<w){w-=_;do{A[a++]=d[x++]}while(--_);x=a-S,E=A}for(;w>2;)A[a++]=E[x++],A[a++]=E[x++],A[a++]=E[x++],w-=3;w&&(A[a++]=E[x++],w>1&&(A[a++]=E[x++]))}else{x=a-S;do{A[a++]=A[x++],A[a++]=A[x++],A[a++]=A[x++],w-=3}while(w>2);w&&(A[a++]=A[x++],w>1&&(A[a++]=A[x++]))}break}}break}}while(r<o&&a<s);p&=(1<<(h-=(w=h>>3)<<3))-1,e.next_in=r-=w,e.next_out=a,e.avail_in=r<o?o-r+5:5-(r-o),e.avail_out=a<s?s-a+257:257-(a-s),n.hold=p,n.bits=h},Qa=function(e,t,n,r,o,a,i,s){var l,c,u,f,d,p,h,m,g,y=s.bits,v=0,b=0,_=0,w=0,S=0,x=0,E=0,k=0,A=0,C=0,O=null,N=0,R=new Ga.Buf16(16),T=new Ga.Buf16(16),I=null,P=0;for(v=0;v<=15;v++)R[v]=0;for(b=0;b<r;b++)R[t[n+b]]++;for(S=y,w=15;w>=1&&0===R[w];w--);if(S>w&&(S=w),0===w)return o[a++]=20971520,o[a++]=20971520,s.bits=1,0;for(_=1;_<w&&0===R[_];_++);for(S<_&&(S=_),k=1,v=1;v<=15;v++)if(k<<=1,(k-=R[v])<0)return-1;if(k>0&&(0===e||1!==w))return-1;for(T[1]=0,v=1;v<15;v++)T[v+1]=T[v]+R[v];for(b=0;b<r;b++)0!==t[n+b]&&(i[T[t[n+b]]++]=b);if(0===e?(O=I=i,p=19):1===e?(O=Wa,N-=257,I=$a,P-=257,p=256):(O=Va,I=Ja,p=-1),C=0,b=0,v=_,d=a,x=S,E=0,u=-1,f=(A=1<<S)-1,1===e&&A>852||2===e&&A>592)return 1;for(;;){h=v-E,i[b]<p?(m=0,g=i[b]):i[b]>p?(m=I[P+i[b]],g=O[N+i[b]]):(m=96,g=0),l=1<<v-E,_=c=1<<x;do{o[d+(C>>E)+(c-=l)]=h<<24|m<<16|g|0}while(0!==c);for(l=1<<v-1;C&l;)l>>=1;if(0!==l?(C&=l-1,C+=l):C=0,b++,0==--R[v]){if(v===w)break;v=t[n+i[b]]}if(v>S&&(C&f)!==u){for(0===E&&(E=S),d+=_,k=1<<(x=v-E);x+E<w&&!((k-=R[x+E])<=0);)x++,k<<=1;if(A+=1<<x,1===e&&A>852||2===e&&A>592)return 1;o[u=C&f]=S<<24|x<<16|d-a|0}}return 0!==C&&(o[d+C]=v-E<<24|64<<16|0),s.bits=S,0},ei=0,ti=-2,ni=1,ri=12,oi=30,ai=852,ii=592;function si(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function li(){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 Ya.Buf16(320),this.work=new Ya.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function ci(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=ni,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Ya.Buf32(ai),t.distcode=t.distdyn=new Ya.Buf32(ii),t.sane=1,t.back=-1,ei):ti}function ui(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,ci(e)):ti}function fi(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)?ti:(null!==(r=e.state).window&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,ui(e))):ti}function di(e,t){var n,r;return e?(r=new li,e.state=r,r.window=null,(n=fi(e,t))!==ei&&(e.state=null),n):ti}var pi,hi,mi=!0;function gi(e){if(mi){var t;for(pi=new Ya.Buf32(512),hi=new Ya.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(Qa(1,e.lens,0,288,pi,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Qa(2,e.lens,0,32,hi,0,e.work,{bits:5}),mi=!1}e.lencode=pi,e.lenbits=9,e.distcode=hi,e.distbits=5}function yi(e,t,n,r){var o,a=e.state;return null===a.window&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new Ya.Buf8(a.wsize)),r>=a.wsize?(Ya.arraySet(a.window,t,n-a.wsize,a.wsize,0),a.wnext=0,a.whave=a.wsize):((o=a.wsize-a.wnext)>r&&(o=r),Ya.arraySet(a.window,t,n-r,o,a.wnext),(r-=o)?(Ya.arraySet(a.window,t,n-r,r,0),a.wnext=r,a.whave=a.wsize):(a.wnext+=o,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=o))),0}Ha.inflateReset=ui,Ha.inflateReset2=fi,Ha.inflateResetKeep=ci,Ha.inflateInit=function(e){return di(e,15)},Ha.inflateInit2=di,Ha.inflate=function(e,t){var n,r,o,a,i,s,l,c,u,f,d,p,h,m,g,y,v,b,_,w,S,x,E,k,A=0,C=new Ya.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 ti;(n=e.state).mode===ri&&(n.mode=13),i=e.next_out,o=e.output,a=e.next_in,r=e.input,c=n.hold,u=n.bits,f=s=e.avail_in,d=l=e.avail_out,x=ei;e:for(;;)switch(n.mode){case ni:if(0===n.wrap){n.mode=13;break}for(;u<16;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}if(2&n.wrap&&35615===c){n.check=0,C[0]=255&c,C[1]=c>>>8&255,n.check=Za(n.check,C,2,0),c=0,u=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=oi;break}if(8!=(15&c)){e.msg="unknown compression method",n.mode=oi;break}if(u-=4,S=8+(15&(c>>>=4)),0===n.wbits)n.wbits=S;else if(S>n.wbits){e.msg="invalid window size",n.mode=oi;break}n.dmax=1<<S,e.adler=n.check=1,n.mode=512&c?10:ri,c=0,u=0;break;case 2:for(;u<16;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}if(n.flags=c,8!=(255&n.flags)){e.msg="unknown compression method",n.mode=oi;break}if(57344&n.flags){e.msg="unknown header flags set",n.mode=oi;break}n.head&&(n.head.text=c>>8&1),512&n.flags&&(C[0]=255&c,C[1]=c>>>8&255,n.check=Za(n.check,C,2,0)),c=0,u=0,n.mode=3;case 3:for(;u<32;){if(0===s)break e;s--,c+=r[a++]<<u,u+=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=Za(n.check,C,4,0)),c=0,u=0,n.mode=4;case 4:for(;u<16;){if(0===s)break e;s--,c+=r[a++]<<u,u+=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=Za(n.check,C,2,0)),c=0,u=0,n.mode=5;case 5:if(1024&n.flags){for(;u<16;){if(0===s)break e;s--,c+=r[a++]<<u,u+=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=Za(n.check,C,2,0)),c=0,u=0}else n.head&&(n.head.extra=null);n.mode=6;case 6:if(1024&n.flags&&((p=n.length)>s&&(p=s),p&&(n.head&&(S=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),Ya.arraySet(n.head.extra,r,a,p,S)),512&n.flags&&(n.check=Za(n.check,r,p,a)),s-=p,a+=p,n.length-=p),n.length))break e;n.length=0,n.mode=7;case 7:if(2048&n.flags){if(0===s)break e;p=0;do{S=r[a+p++],n.head&&S&&n.length<65536&&(n.head.name+=String.fromCharCode(S))}while(S&&p<s);if(512&n.flags&&(n.check=Za(n.check,r,p,a)),s-=p,a+=p,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;p=0;do{S=r[a+p++],n.head&&S&&n.length<65536&&(n.head.comment+=String.fromCharCode(S))}while(S&&p<s);if(512&n.flags&&(n.check=Za(n.check,r,p,a)),s-=p,a+=p,S)break e}else n.head&&(n.head.comment=null);n.mode=9;case 9:if(512&n.flags){for(;u<16;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}if(c!==(65535&n.check)){e.msg="header crc mismatch",n.mode=oi;break}c=0,u=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=ri;break;case 10:for(;u<32;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}e.adler=n.check=si(c),c=0,u=0,n.mode=11;case 11:if(0===n.havedict)return e.next_out=i,e.avail_out=l,e.next_in=a,e.avail_in=s,n.hold=c,n.bits=u,2;e.adler=n.check=1,n.mode=ri;case ri:if(5===t||6===t)break e;case 13:if(n.last){c>>>=7&u,u-=7&u,n.mode=27;break}for(;u<3;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}switch(n.last=1&c,u-=1,3&(c>>>=1)){case 0:n.mode=14;break;case 1:if(gi(n),n.mode=20,6===t){c>>>=2,u-=2;break e}break;case 2:n.mode=17;break;case 3:e.msg="invalid block type",n.mode=oi}c>>>=2,u-=2;break;case 14:for(c>>>=7&u,u-=7&u;u<32;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}if((65535&c)!=(c>>>16^65535)){e.msg="invalid stored block lengths",n.mode=oi;break}if(n.length=65535&c,c=0,u=0,n.mode=15,6===t)break e;case 15:n.mode=16;case 16:if(p=n.length){if(p>s&&(p=s),p>l&&(p=l),0===p)break e;Ya.arraySet(o,r,a,p,i),s-=p,a+=p,l-=p,i+=p,n.length-=p;break}n.mode=ri;break;case 17:for(;u<14;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}if(n.nlen=257+(31&c),u-=5,n.ndist=1+(31&(c>>>=5)),u-=5,n.ncode=4+(15&(c>>>=5)),c>>>=4,u-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=oi;break}n.have=0,n.mode=18;case 18:for(;n.have<n.ncode;){for(;u<3;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}n.lens[O[n.have++]]=7&c,c>>>=3,u-=3}for(;n.have<19;)n.lens[O[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,x=Qa(0,n.lens,0,19,n.lencode,0,n.work,E={bits:n.lenbits}),n.lenbits=E.bits,x){e.msg="invalid code lengths set",n.mode=oi;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)<=u);){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}if(v<16)c>>>=g,u-=g,n.lens[n.have++]=v;else{if(16===v){for(k=g+2;u<k;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}if(c>>>=g,u-=g,0===n.have){e.msg="invalid bit length repeat",n.mode=oi;break}S=n.lens[n.have-1],p=3+(3&c),c>>>=2,u-=2}else if(17===v){for(k=g+3;u<k;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}u-=g,S=0,p=3+(7&(c>>>=g)),c>>>=3,u-=3}else{for(k=g+7;u<k;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}u-=g,S=0,p=11+(127&(c>>>=g)),c>>>=7,u-=7}if(n.have+p>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=oi;break}for(;p--;)n.lens[n.have++]=S}}if(n.mode===oi)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=oi;break}if(n.lenbits=9,x=Qa(1,n.lens,0,n.nlen,n.lencode,0,n.work,E={bits:n.lenbits}),n.lenbits=E.bits,x){e.msg="invalid literal/lengths set",n.mode=oi;break}if(n.distbits=6,n.distcode=n.distdyn,x=Qa(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,E={bits:n.distbits}),n.distbits=E.bits,x){e.msg="invalid distances set",n.mode=oi;break}if(n.mode=20,6===t)break e;case 20:n.mode=21;case 21:if(s>=6&&l>=258){e.next_out=i,e.avail_out=l,e.next_in=a,e.avail_in=s,n.hold=c,n.bits=u,Xa(e,d),i=e.next_out,o=e.output,l=e.avail_out,a=e.next_in,r=e.input,s=e.avail_in,c=n.hold,u=n.bits,n.mode===ri&&(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)<=u);){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}if(y&&0==(240&y)){for(b=g,_=y,w=v;y=(A=n.lencode[w+((c&(1<<b+_)-1)>>b)])>>>16&255,v=65535&A,!(b+(g=A>>>24)<=u);){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}c>>>=b,u-=b,n.back+=b}if(c>>>=g,u-=g,n.back+=g,n.length=v,0===y){n.mode=26;break}if(32&y){n.back=-1,n.mode=ri;break}if(64&y){e.msg="invalid literal/length code",n.mode=oi;break}n.extra=15&y,n.mode=22;case 22:if(n.extra){for(k=n.extra;u<k;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}n.length+=c&(1<<n.extra)-1,c>>>=n.extra,u-=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)<=u);){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}if(0==(240&y)){for(b=g,_=y,w=v;y=(A=n.distcode[w+((c&(1<<b+_)-1)>>b)])>>>16&255,v=65535&A,!(b+(g=A>>>24)<=u);){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}c>>>=b,u-=b,n.back+=b}if(c>>>=g,u-=g,n.back+=g,64&y){e.msg="invalid distance code",n.mode=oi;break}n.offset=v,n.extra=15&y,n.mode=24;case 24:if(n.extra){for(k=n.extra;u<k;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}n.offset+=c&(1<<n.extra)-1,c>>>=n.extra,u-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=oi;break}n.mode=25;case 25:if(0===l)break e;if(n.offset>(p=d-l)){if((p=n.offset-p)>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=oi;break}h=p>n.wnext?n.wsize-(p-=n.wnext):n.wnext-p,p>n.length&&(p=n.length),m=n.window}else m=o,h=i-n.offset,p=n.length;p>l&&(p=l),l-=p,n.length-=p;do{o[i++]=m[h++]}while(--p);0===n.length&&(n.mode=21);break;case 26:if(0===l)break e;o[i++]=n.length,l--,n.mode=21;break;case 27:if(n.wrap){for(;u<32;){if(0===s)break e;s--,c|=r[a++]<<u,u+=8}if(e.total_out+=d-=l,n.total+=d,d&&(e.adler=n.check=n.flags?Za(n.check,o,d,i-d):Ka(n.check,o,d,i-d)),d=l,(n.flags?c:si(c))!==n.check){e.msg="incorrect data check",n.mode=oi;break}c=0,u=0}n.mode=28;case 28:if(n.wrap&&n.flags){for(;u<32;){if(0===s)break e;s--,c+=r[a++]<<u,u+=8}if(c!==(4294967295&n.total)){e.msg="incorrect length check",n.mode=oi;break}c=0,u=0}n.mode=29;case 29:x=1;break e;case oi:x=-3;break e;case 31:return-4;default:return ti}return e.next_out=i,e.avail_out=l,e.next_in=a,e.avail_in=s,n.hold=c,n.bits=u,(n.wsize||d!==e.avail_out&&n.mode<oi&&(n.mode<27||4!==t))&&yi(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?Za(n.check,o,d,e.next_out-d):Ka(n.check,o,d,e.next_out-d)),e.data_type=n.bits+(n.last?64:0)+(n.mode===ri?128:0)+(20===n.mode||15===n.mode?256:0),(0===f&&0===d||4===t)&&x===ei&&(x=-5),x},Ha.inflateEnd=function(e){if(!e||!e.state)return ti;var t=e.state;return t.window&&(t.window=null),e.state=null,ei},Ha.inflateGetHeader=function(e,t){var n;return e&&e.state?0==(2&(n=e.state).wrap)?ti:(n.head=t,t.done=!1,ei):ti},Ha.inflateSetDictionary=function(e,t){var n,r=t.length;return e&&e.state?0!==(n=e.state).wrap&&11!==n.mode?ti:11===n.mode&&Ka(1,t,r,0)!==n.check?-3:yi(e,t,r,r)?(n.mode=31,-4):(n.havedict=1,ei):ti},Ha.inflateInfo="pako inflate (from Nodeca project)";var vi={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},bi=Ha,_i=Wr,wi=Sa,Si=vi,xi=jo,Ei=Na,ki=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},Ai=Object.prototype.toString;function Ci(e){if(!(this instanceof Ci))return new Ci(e);this.options=_i.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 Ei,this.strm.avail_out=0;var n=bi.inflateInit2(this.strm,t.windowBits);if(n!==Si.Z_OK)throw new Error(xi[n]);if(this.header=new ki,bi.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=wi.string2buf(t.dictionary):"[object ArrayBuffer]"===Ai.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=bi.inflateSetDictionary(this.strm,t.dictionary))!==Si.Z_OK))throw new Error(xi[n])}function Oi(e,t){var n=new Ci(t);if(n.push(e,!0),n.err)throw n.msg||xi[n.err];return n.result}Ci.prototype.push=function(e,t){var n,r,o,a,i,s=this.strm,l=this.options.chunkSize,c=this.options.dictionary,u=!1;if(this.ended)return!1;r=t===~~t?t:!0===t?Si.Z_FINISH:Si.Z_NO_FLUSH,s.input="string"==typeof e?wi.binstring2buf(e):"[object ArrayBuffer]"===Ai.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 _i.Buf8(l),s.next_out=0,s.avail_out=l),(n=bi.inflate(s,Si.Z_NO_FLUSH))===Si.Z_NEED_DICT&&c&&(n=bi.inflateSetDictionary(this.strm,c)),n===Si.Z_BUF_ERROR&&!0===u&&(n=Si.Z_OK,u=!1),n!==Si.Z_STREAM_END&&n!==Si.Z_OK)return this.onEnd(n),this.ended=!0,!1;s.next_out&&(0!==s.avail_out&&n!==Si.Z_STREAM_END&&(0!==s.avail_in||r!==Si.Z_FINISH&&r!==Si.Z_SYNC_FLUSH)||("string"===this.options.to?(o=wi.utf8border(s.output,s.next_out),a=s.next_out-o,i=wi.buf2string(s.output,o),s.next_out=a,s.avail_out=l-a,a&&_i.arraySet(s.output,s.output,o,a,0),this.onData(i)):this.onData(_i.shrinkBuf(s.output,s.next_out)))),0===s.avail_in&&0===s.avail_out&&(u=!0)}while((s.avail_in>0||0===s.avail_out)&&n!==Si.Z_STREAM_END);return n===Si.Z_STREAM_END&&(r=Si.Z_FINISH),r===Si.Z_FINISH?(n=bi.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===Si.Z_OK):r!==Si.Z_SYNC_FLUSH||(this.onEnd(Si.Z_OK),s.avail_out=0,!0)},Ci.prototype.onData=function(e){this.chunks.push(e)},Ci.prototype.onEnd=function(e){e===Si.Z_OK&&(this.result="string"===this.options.to?this.chunks.join(""):_i.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},za.Inflate=Ci,za.inflate=Oi,za.inflateRaw=function(e,t){return(t=t||{}).raw=!0,Oi(e,t)},za.ungzip=Oi;var Ni={};(0,Wr.assign)(Ni,$r,za,vi);var Ri=Ni;function Ti(e){return Ii.apply(this,arguments)}function Ii(){return Ii=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c,u,f;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.prev=0,r=0,o=0,a=[],i=0;case 5:if(l=t.subarray(r),s=new Ri.Inflate,n=s.strm,s.push(l,Ri.Z_SYNC_FLUSH),!s.err){e.next=12;break}throw new Error(s.msg);case 12:r+=n.next_in,a[o]=s.result,i+=a[o].length,o+=1;case 16:if(n.avail_in){e.next=5;break}case 17:for(c=new Uint8Array(i),u=0,f=0;u<a.length;u++)c.set(a[u],f),f+=a[u].length;return e.abrupt("return",Kt.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]])}))),Ii.apply(this,arguments)}var Pi=null;try{Pi=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(wl){}function Mi(e,t,n){this.low=0|e,this.high=0|t,this.unsigned=!!n}function Fi(e){return!0===(e&&e.__isLong__)}function ji(e){var t=Math.clz32(e&-e);return e?31-t:t}Object.defineProperty(Mi.prototype,"__isLong__",{value:!0}),Mi.isLong=Fi;var Di={},Li={};function qi(e,t){var n,r,o;return t?(o=0<=(e>>>=0)&&e<256)&&(r=Li[e])?r:(n=Ui(e,0,!0),o&&(Li[e]=n),n):(o=-128<=(e|=0)&&e<128)&&(r=Di[e])?r:(n=Ui(e,e<0?-1:0,!1),o&&(Di[e]=n),n)}function Bi(e,t){if(isNaN(e))return t?Ki:Yi;if(t){if(e<0)return Ki;if(e>=$i)return ts}else{if(e<=-Vi)return ns;if(e+1>=Vi)return es}return e<0?Bi(-e,t).neg():Ui(e%Wi|0,e/Wi|0,t)}function Ui(e,t,n){return new Mi(e,t,n)}Mi.fromInt=qi,Mi.fromNumber=Bi,Mi.fromBits=Ui;var zi=Math.pow;function Hi(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?Ki:Yi;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 Hi(e.substring(1),t,n).neg();for(var o=Bi(zi(n,8)),a=Yi,i=0;i<e.length;i+=8){var s=Math.min(8,e.length-i),l=parseInt(e.substring(i,i+s),n);if(s<8){var c=Bi(zi(n,s));a=a.mul(c).add(Bi(l))}else a=(a=a.mul(o)).add(Bi(l))}return a.unsigned=t,a}function Gi(e,t){return"number"==typeof e?Bi(e,t):"string"==typeof e?Hi(e,t):Ui(e.low,e.high,"boolean"==typeof t?t:e.unsigned)}Mi.fromString=Hi,Mi.fromValue=Gi;var Wi=4294967296,$i=Wi*Wi,Vi=$i/2,Ji=qi(16777216),Yi=qi(0);Mi.ZERO=Yi;var Ki=qi(0,!0);Mi.UZERO=Ki;var Zi=qi(1);Mi.ONE=Zi;var Xi=qi(1,!0);Mi.UONE=Xi;var Qi=qi(-1);Mi.NEG_ONE=Qi;var es=Ui(-1,2147483647,!1);Mi.MAX_VALUE=es;var ts=Ui(-1,-1,!0);Mi.MAX_UNSIGNED_VALUE=ts;var ns=Ui(0,-2147483648,!1);Mi.MIN_VALUE=ns;var rs=Mi.prototype;rs.toInt=function(){return this.unsigned?this.low>>>0:this.low},rs.toNumber=function(){return this.unsigned?(this.high>>>0)*Wi+(this.low>>>0):this.high*Wi+(this.low>>>0)},rs.toString=function(e){if((e=e||10)<2||36<e)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative()){if(this.eq(ns)){var t=Bi(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=Bi(zi(e,6),this.unsigned),a=this,i="";;){var s=a.div(o),l=(a.sub(s.mul(o)).toInt()>>>0).toString(e);if((a=s).isZero())return l+i;for(;l.length<6;)l="0"+l;i=""+l+i}},rs.getHighBits=function(){return this.high},rs.getHighBitsUnsigned=function(){return this.high>>>0},rs.getLowBits=function(){return this.low},rs.getLowBitsUnsigned=function(){return this.low>>>0},rs.getNumBitsAbs=function(){if(this.isNegative())return this.eq(ns)?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},rs.isZero=function(){return 0===this.high&&0===this.low},rs.eqz=rs.isZero,rs.isNegative=function(){return!this.unsigned&&this.high<0},rs.isPositive=function(){return this.unsigned||this.high>=0},rs.isOdd=function(){return 1==(1&this.low)},rs.isEven=function(){return 0==(1&this.low)},rs.equals=function(e){return Fi(e)||(e=Gi(e)),(this.unsigned===e.unsigned||this.high>>>31!=1||e.high>>>31!=1)&&this.high===e.high&&this.low===e.low},rs.eq=rs.equals,rs.notEquals=function(e){return!this.eq(e)},rs.neq=rs.notEquals,rs.ne=rs.notEquals,rs.lessThan=function(e){return this.comp(e)<0},rs.lt=rs.lessThan,rs.lessThanOrEqual=function(e){return this.comp(e)<=0},rs.lte=rs.lessThanOrEqual,rs.le=rs.lessThanOrEqual,rs.greaterThan=function(e){return this.comp(e)>0},rs.gt=rs.greaterThan,rs.greaterThanOrEqual=function(e){return this.comp(e)>=0},rs.gte=rs.greaterThanOrEqual,rs.ge=rs.greaterThanOrEqual,rs.compare=function(e){if(Fi(e)||(e=Gi(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},rs.comp=rs.compare,rs.negate=function(){return!this.unsigned&&this.eq(ns)?ns:this.not().add(Zi)},rs.neg=rs.negate,rs.add=function(e){Fi(e)||(e=Gi(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),Ui((r&=65535)<<16|(o&=65535),(t&=65535)<<16|(n&=65535),this.unsigned)},rs.subtract=function(e){return Fi(e)||(e=Gi(e)),this.add(e.neg())},rs.sub=rs.subtract,rs.multiply=function(e){if(this.isZero())return this;if(Fi(e)||(e=Gi(e)),Pi)return Ui(Pi.mul(this.low,this.high,e.low,e.high),Pi.get_high(),this.unsigned);if(e.isZero())return this.unsigned?Ki:Yi;if(this.eq(ns))return e.isOdd()?ns:Yi;if(e.eq(ns))return this.isOdd()?ns:Yi;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(Ji)&&e.lt(Ji))return Bi(this.toNumber()*e.toNumber(),this.unsigned);var t=65535&this.high,n=this.low>>>16,r=65535&this.low,o=65535&e.high,a=e.low>>>16,i=65535&e.low,s=0,l=0,c=0,u=0;return c+=(u+=r*i)>>>16,l+=(c+=n*i)>>>16,c&=65535,l+=(c+=r*a)>>>16,s+=(l+=t*i)>>>16,l&=65535,s+=(l+=n*a)>>>16,l&=65535,s+=(l+=r*o)>>>16,s+=(this.high>>>16)*i+t*a+n*o+r*(e.high>>>16),Ui((c&=65535)<<16|(u&=65535),(s&=65535)<<16|(l&=65535),this.unsigned)},rs.mul=rs.multiply,rs.divide=function(e){if(Fi(e)||(e=Gi(e)),e.isZero())throw Error("division by zero");var t,n,r;if(Pi)return this.unsigned||-2147483648!==this.high||-1!==e.low||-1!==e.high?Ui((this.unsigned?Pi.div_u:Pi.div_s)(this.low,this.high,e.low,e.high),Pi.get_high(),this.unsigned):this;if(this.isZero())return this.unsigned?Ki:Yi;if(this.unsigned){if(e.unsigned||(e=e.toUnsigned()),e.gt(this))return Ki;if(e.gt(this.shru(1)))return Xi;r=Ki}else{if(this.eq(ns))return e.eq(Zi)||e.eq(Qi)?ns:e.eq(ns)?Zi:(t=this.shr(1).div(e).shl(1)).eq(Yi)?e.isNegative()?Zi:Qi:(n=this.sub(e.mul(t)),r=t.add(n.div(e)));if(e.eq(ns))return this.unsigned?Ki:Yi;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=Yi}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),a=o<=48?1:zi(2,o-48),i=Bi(t),s=i.mul(e);s.isNegative()||s.gt(n);)s=(i=Bi(t-=a,this.unsigned)).mul(e);i.isZero()&&(i=Zi),r=r.add(i),n=n.sub(s)}return r},rs.div=rs.divide,rs.modulo=function(e){return Fi(e)||(e=Gi(e)),Pi?Ui((this.unsigned?Pi.rem_u:Pi.rem_s)(this.low,this.high,e.low,e.high),Pi.get_high(),this.unsigned):this.sub(this.div(e).mul(e))},rs.mod=rs.modulo,rs.rem=rs.modulo,rs.not=function(){return Ui(~this.low,~this.high,this.unsigned)},rs.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32},rs.clz=rs.countLeadingZeros,rs.countTrailingZeros=function(){return this.low?ji(this.low):ji(this.high)+32},rs.ctz=rs.countTrailingZeros,rs.and=function(e){return Fi(e)||(e=Gi(e)),Ui(this.low&e.low,this.high&e.high,this.unsigned)},rs.or=function(e){return Fi(e)||(e=Gi(e)),Ui(this.low|e.low,this.high|e.high,this.unsigned)},rs.xor=function(e){return Fi(e)||(e=Gi(e)),Ui(this.low^e.low,this.high^e.high,this.unsigned)},rs.shiftLeft=function(e){return Fi(e)&&(e=e.toInt()),0==(e&=63)?this:e<32?Ui(this.low<<e,this.high<<e|this.low>>>32-e,this.unsigned):Ui(0,this.low<<e-32,this.unsigned)},rs.shl=rs.shiftLeft,rs.shiftRight=function(e){return Fi(e)&&(e=e.toInt()),0==(e&=63)?this:e<32?Ui(this.low>>>e|this.high<<32-e,this.high>>e,this.unsigned):Ui(this.high>>e-32,this.high>=0?0:-1,this.unsigned)},rs.shr=rs.shiftRight,rs.shiftRightUnsigned=function(e){return Fi(e)&&(e=e.toInt()),0==(e&=63)?this:e<32?Ui(this.low>>>e|this.high<<32-e,this.high>>>e,this.unsigned):Ui(32===e?this.high:this.high>>>e-32,0,this.unsigned)},rs.shru=rs.shiftRightUnsigned,rs.shr_u=rs.shiftRightUnsigned,rs.rotateLeft=function(e){var t;return Fi(e)&&(e=e.toInt()),0==(e&=63)?this:32===e?Ui(this.high,this.low,this.unsigned):e<32?Ui(this.low<<e|this.high>>>(t=32-e),this.high<<e|this.low>>>t,this.unsigned):Ui(this.high<<(e-=32)|this.low>>>(t=32-e),this.low<<e|this.high>>>t,this.unsigned)},rs.rotl=rs.rotateLeft,rs.rotateRight=function(e){var t;return Fi(e)&&(e=e.toInt()),0==(e&=63)?this:32===e?Ui(this.high,this.low,this.unsigned):e<32?Ui(this.high<<(t=32-e)|this.low>>>e,this.low<<t|this.high>>>e,this.unsigned):Ui(this.low<<(t=32-(e-=32))|this.high>>>e,this.high<<t|this.low>>>e,this.unsigned)},rs.rotr=rs.rotateRight,rs.toSigned=function(){return this.unsigned?Ui(this.low,this.high,!1):this},rs.toUnsigned=function(){return this.unsigned?this:Ui(this.low,this.high,!0)},rs.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()},rs.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]},rs.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]},Mi.fromBytes=function(e,t,n){return n?Mi.fromBytesLE(e,t):Mi.fromBytesBE(e,t)},Mi.fromBytesLE=function(e,t){return new Mi(e[0]|e[1]<<8|e[2]<<16|e[3]<<24,e[4]|e[5]<<8|e[6]<<16|e[7]<<24,t)},Mi.fromBytesBE=function(e,t){return new Mi(e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[0]<<24|e[1]<<16|e[2]<<8|e[3],t)};var os=function(){function e(t){var n=t.filehandle,r=t.path;if(X(this,e),n)this.filehandle=n;else{if(!r)throw new TypeError("either filehandle or path must be defined");this.filehandle=new Lr(r)}}var t,n,r;return ee(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=Mi.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=Z(J().mark((function e(){var t,n,r,o,a,i,s;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=Kt.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=Kt.allocUnsafe(o),e.next=14,this.filehandle.read(t,0,o,8);case 14:for(a=0;a<n;a+=1)i=this._readLongWithOverflow(t,16*a),s=this._readLongWithOverflow(t,16*a+8),r[a+1]=[i,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=Z(J().mark((function e(){var t;return J().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=Z(J().mark((function e(t,n){var r,o,a,i,s,l,c,u,f;return J().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(a=[],i=function(e,t){var r=e[1];return r<=n&&(t?t[1]:Infinity)>n?0:r<n?-1:1},s=0,l=(o=e.sent).length-1,c=Math.floor(o.length/2),u=i(o[c],o[c+1]);0!==u;)u>0?l=c-1:u<0&&(s=c+1),c=Math.ceil((l-s)/2)+s,u=i(o[c],o[c+1]);a.push(o[c]),f=c+1;case 15:if(!(f<o.length)){e.next=22;break}if(a.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 a[a.length-1][1]<r&&a.push([]),e.abrupt("return",a);case 24:case"end":return e.stop()}}),e,this)}))),function(e,n){return t.apply(this,arguments)})}]),e}(),as=function(){function e(t){var n=t.filehandle,r=t.path,o=t.gziFilehandle,a=t.gziPath;if(X(this,e),n)this.filehandle=n;else{if(!r)throw new TypeError("either filehandle or path must be defined");this.filehandle=new Lr(r)}if(!o&&!a&&!r)throw new TypeError("either gziFilehandle or gziPath must be defined");this.gzi=new os({filehandle:o,path:o||a||!r?"".concat(r,".gzi"):a})}var t,n,r,o;return ee(e,[{key:"stat",value:(o=Z(J().mark((function e(){var t;return J().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=Z(J().mark((function e(){var t,n,r,o,a;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.gzi.getLastBlock();case 2:return t=fe(e.sent,2),n=t[1],e.next=7,this.filehandle.stat();case 7:return r=e.sent.size,o=Kt.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 a=o.readUInt32LE(0),e.abrupt("return",n+a);case 18:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"_readAndUncompressBlock",value:(n=Z(J().mark((function e(t,n,r){var o,a,i;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=fe(n,1)[0],a=fe(r,1)[0]){e.next=7;break}return e.next=6,this.filehandle.stat();case 6:a=e.sent.size;case 7:return i=a-o,e.next=10,this.filehandle.read(t,0,i,o);case 10:return e.next=12,Ti(t.slice(0,i));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=Z(J().mark((function e(t,n,r,o){var a,i,s,l,c,u,f,d,p,h;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.gzi.getRelevantBlocksForRead(r,o);case 2:a=e.sent,i=Kt.allocUnsafe(65536),s=n,l=0,c=0;case 7:if(!(c<a.length-1)){e.next=18;break}return e.next=10,this._readAndUncompressBlock(i,a[c],a[c+1]);case 10:u=e.sent,f=fe(a[c],2),p=(d=f[1])>=o?0:o-d,h=Math.min(o+r,d+u.length)-d,p>=0&&p<u.length&&(u.copy(t,s,p,h),s+=h-p,l+=h-p);case 15:c+=1,e.next=7;break;case 18:return e.abrupt("return",{bytesRead:l,buffer:t});case 19:case"end":return e.stop()}}),e,this)}))),function(e,n,r,o){return t.apply(this,arguments)})}]),e}();function is(e,t){return e.offset+e.lineBytes*Math.floor(t/e.lineLength)+t%e.lineLength}function ss(e,t){return ls.apply(this,arguments)}function ls(){return ls=Z(J().mark((function e(t,n){var r,o,a,i;return J().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,i=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 a&&a.name===e[0]||(a={name:e[0],id:o},o+=1),{id:a.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(i.map((function(e){return[e.name,e]}))),id:Object.fromEntries(i.map((function(e){return[e.id,e]})))});case 8:case"end":return e.stop()}}),e)}))),ls.apply(this,arguments)}var cs=function(){function e(t){var n=t.fasta,r=t.fai,o=t.path,a=t.faiPath;if(X(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 Lr(o)}if(r)this.fai=r;else if(a)this.fai=new Lr(a);else{if(!o)throw new Error("Need to pass filehandle for or path to localfile");this.fai=new Lr("".concat(o,".fai"))}}var t,n,r,o,a,i,s,l,c;return ee(e,[{key:"_getIndexes",value:(c=Z(J().mark((function e(t){return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.indexes||(this.indexes=ss(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:(l=Z(J().mark((function e(t){return J().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 l.apply(this,arguments)})},{key:"getSequenceSizes",value:(s=Z(J().mark((function e(t){var n,r,o;return J().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:(i=Z(J().mark((function e(t,n){var r;return J().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 i.apply(this,arguments)})},{key:"hasReferenceSequence",value:(a=Z(J().mark((function e(t,n){return J().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 a.apply(this,arguments)})},{key:"getResiduesById",value:(o=Z(J().mark((function e(t,n,r,o){var a;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getIndexes(o);case 2:if(e.t0=t,a=e.sent.id[e.t0]){e.next=6;break}return e.abrupt("return",void 0);case 6:return e.abrupt("return",this._fetchFromIndexEntry(a,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=Z(J().mark((function e(t,n,r,o){var a;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getIndexes(o);case 2:if(e.t0=t,a=e.sent.name[e.t0]){e.next=6;break}return e.abrupt("return",void 0);case 6:return e.abrupt("return",this._fetchFromIndexEntry(a,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=Z(J().mark((function e(t,n,r,o){return J().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=Z(J().mark((function e(t){var n,r,o,a,i,s,l=arguments;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=l.length>3?l[3]:void 0,o=l.length>2?l[2]:void 0,!((n=l.length>1&&void 0!==l[1]?l[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 a=is(t,n),i=is(t,o)-a,s=Kt.allocUnsafe(i),e.next=14,this.fasta.read(s,0,i,a,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}(),us=function(e){ne(n,e);var t=ce(n);function n(e){var r,o=e.fasta,a=e.path,i=e.fai,s=e.faiPath,l=e.gzi,c=e.gziPath;return X(this,n),r=t.call(this,{fasta:o,path:a,fai:i,faiPath:s}),o&&l?r.fasta=new as({filehandle:o,gziFilehandle:l}):a&&c&&(r.fasta=new as({path:a,gziPath:c})),r}return ee(n)}(cs);function fs(e){return e.split(">").filter((function(e){return/\S/.test(e)})).map((function(e){var t=de(e.split("\n")),n=t[0],r=t.slice(1),o=de(n.split(" ")),a=o[0],i=o.slice(1),s=r.join("").replace(/\s/g,"");return{id:a,description:i.join(" "),sequence:s}}))}var ds=function(){function e(t){var n=t.fasta,r=t.path;if(X(this,e),n)this.fasta=n;else{if(!r)throw new Error("Need to pass fasta or path");this.fasta=new Lr(r)}this.data=this.fasta.readFile().then((function(e){return fs(e.toString("utf8"))}))}var t,n;return ee(e,[{key:"fetch",value:(n=Z(J().mark((function e(t,n,r){var o,a;return J().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})),a=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,a));case 8:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return n.apply(this,arguments)})},{key:"getSequenceNames",value:(t=Z(J().mark((function e(){return J().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}(),ps=L({__proto__:null,parseSmallFasta:fs,FetchableSmallFasta:ds,IndexedFasta:cs,BgzipIndexedFasta:us}),hs=L(Gr);Object.defineProperty(Dr,"__esModule",{value:!0}),Dr.AddAssemblyFromExternalChange=void 0;var ms=ps,gs=hs,ys=function(e){ne(a,e);var t,n,r,o=ce(a);function a(e,t){var n;return X(this,a),te(le(n=o.call(this,e,t)),"typeName","AddAssemblyFromExternalChange"),te(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ee(a,[{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=fe(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=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c,u,f,d,p,h,m,g,y,v,b,_,w,S,x,E,k,A,C,O;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.assemblyModel,r=t.checkModel,o=t.refSeqModel,a=t.user,i=this.assembly,s=this.changes,l=this.logger,u=(c=Dt.env.CHUNK_SIZE)&&Number(c),f=be(s),e.prev=5,f.s();case 7:if((d=f.n()).done){e.next=45;break}return m=(h=d.value).assemblyName,y=(g=h.externalLocation).fa,v=g.fai,_=(b=g.gzi)?new ms.BgzipIndexedFasta({fasta:new gs.RemoteFile(y,{fetch:fetch}),fai:new gs.RemoteFile(v,{fetch:fetch}),gzi:new gs.RemoteFile(b,{fetch:fetch})}):new ms.IndexedFasta({fasta:new gs.RemoteFile(y,{fetch:fetch}),fai:new gs.RemoteFile(v,{fetch:fetch})}),e.next=14,_.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:i,name:m,user:a,status:-1,externalLocation:g,checks:S}]);case 28:x=fe(e.sent,1),E=x[0],null===(p=l.debug)||void 0===p||p.call(l,'Added new assembly "'.concat(m,'", docId "').concat(E._id,'"')),e.t0=J().keys(w);case 33:if((e.t1=e.t0()).done){e.next=43;break}return k=e.t1.value,e.next=37,o.create([V(V({name:k,assembly:E._id,length:w[k]},u?{chunkSize:u}:null),{},{user:a,status:-1})]);case 37:C=fe(e.sent,1),O=C[0],null===(A=l.debug)||void 0===A||A.call(l,'Added new refSeq "'.concat(k,'", 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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t){return J().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 a({typeName:this.typeName,changes:this.changes,assembly:this.assembly},{logger:this.logger})}}]),a}(or.AssemblySpecificChange);Dr.AddAssemblyFromExternalChange=ys;var vs={};Object.defineProperty(vs,"__esModule",{value:!0}),vs.AddAssemblyFromFileChange=void 0;var bs=ps,_s=function(e){ne(s,e);var t,n,r,o,a,i=ce(s);function s(e,t){var n;return X(this,s),te(le(n=i.call(this,e,t)),"typeName","AddAssemblyFromFileChange"),te(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ee(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=fe(t,1)[0];return{typeName:n,assembly:e,assemblyName:r.assemblyName,fileIds:r.fileIds}}return{typeName:n,assembly:e,changes:t}}},{key:"executeOnServer",value:(a=Z(J().mark((function e(t){var n,r,o,a,i;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=be(this.changes),e.prev=2,n.s();case 4:if((r=n.n()).done){e.next=11;break}return a=(o=r.value).assemblyName,i=o.fileIds,e.next=9,"gzi"in i?this.executeOnServerIndexed(t,a,i):this.executeOnServerFasta(t,a,i.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 a.apply(this,arguments)})},{key:"executeOnServerIndexed",value:(o=Z(J().mark((function e(t,n,r){var o,a,i,s,l,c,u,f,d,p,h,m,g,y,v,b,_,w,S,x,E,k,A,C,O,N,R,T,I;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=(i=Dt.env.CHUNK_SIZE)&&Number(i),Dt.env.FILE_UPLOAD_FOLDER){e.next=5;break}throw new Error("No FILE_UPLOAD_FOLDER found in .env file");case 5:return l=r.fa,c=r.fai,u=r.gzi,f=t.assemblyModel,d=t.checkModel,p=t.fileModel,h=t.filesService,m=t.refSeqModel,g=t.user,e.next=9,p.findById(l);case 9:if(null==(y=e.sent)?void 0:y.checksum){e.next=13;break}throw new Error("No checksum for file document ".concat(null==y?void 0:y.id));case 13:return e.next=15,p.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(null==v?void 0:v.id));case 19:return e.next=21,p.findById(u);case 21:if(null==(b=e.sent)?void 0:b.checksum){e.next=25;break}throw new Error("No checksum for file document ".concat(null==b?void 0:b.id));case 25:return _=h.getFileHandle(y),w=h.getFileHandle(v),S=h.getFileHandle(b),x=new bs.BgzipIndexedFasta({fasta:_,fai:w,gzi:S}),e.next=31,x.getSequenceSizes();case 31:return E=e.sent,e.next=34,Promise.all([_.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 k=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:k}]);case 45:A=fe(e.sent,1),C=A[0],null===(o=(a=this.logger).debug)||void 0===o||o.call(a,'Added new assembly "'.concat(n,'", docId "').concat(C._id,'"')),e.t0=J().keys(E);case 50:if((e.t1=e.t0()).done){e.next=60;break}return O=e.t1.value,e.next=54,m.create([V(V({name:O,assembly:C._id,length:E[O]},s?{chunkSize:s}:null),{},{user:g,status:-1})]);case 54:T=fe(e.sent,1),I=T[0],null===(N=(R=this.logger).debug)||void 0===N||N.call(R,'Added new refSeq "'.concat(O,'", docId "').concat(I._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=Z(J().mark((function e(t,n,r){var o,a,i,s,l,c,u,f,d,p,h,m,g,y;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=t.assemblyModel,f=t.checkModel,d=t.fileModel,p=t.user,e.next=3,d.findById(r).exec();case 3:if(h=e.sent){e.next=6;break}throw new Error('File "'.concat(r,'" not found in Mongo'));case 6:return null===(o=(a=this.logger).debug)||void 0===o||o.call(a,'FileId "'.concat(r,'", checksum "').concat(h.checksum,'"')),e.next=9,u.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,u.create([{_id:this.assembly,name:n,user:p,status:-1,fileIds:{fa:r},checks:m}]);case 18:return g=fe(e.sent,1),y=g[0],null===(i=(s=this.logger).debug)||void 0===i||i.call(s,'Added new assembly "'.concat(n,'", docId "').concat(y._id,'"')),null===(l=(c=this.logger).debug)||void 0===l||l.call(c,'File type: "'.concat(h.type,'", assemblyId: "').concat(y._id,'"')),e.next=25,this.addRefSeqIntoDb(h,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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t){return J().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}(rr.FromFileBaseChange);vs.AddAssemblyFromFileChange=_s;var ws={},Ss={};Object.defineProperty(Ss,"__esModule",{value:!0}),Ss.DeleteFeatureChange=void 0,Ss.isDeleteFeatureChange=function(e){return"DeleteFeatureChange"===e.typeName};var xs=ws,Es=function(e){ne(a,e);var t,n,r,o=ce(a);function a(e,t){var n;return X(this,a),te(le(n=o.call(this,e,t)),"typeName","DeleteFeatureChange"),te(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ee(a,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=fe(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=Z(J().mark((function e(t){var n,r,o,a,i,s,l=this;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,o=this.logger,a=be(this.changes),e.prev=3,s=J().mark((function e(){var t,a,s,c,u,f,d,p,h;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=(a=i.value).deletedFeature,c=a.parentFeatureId,e.next=4,n.findOne({allIds:s._id}).session(r).exec();case 4:if(u=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(!u._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(u._id);case 14:return null===(d=o.debug)||void 0===d||d.call(o,'Feature "'.concat(s._id,'" deleted from document "').concat(u._id,'". Whole document deleted.')),e.abrupt("return",1);case 16:return(p=l.findAndDeleteChildFeature(u,s._id)).push(s._id),u.allIds=u.allIds.filter((function(e){return!p.includes(e)})),u.markModified("children"),e.prev=20,e.next=23,u.save();case 23:e.next=29;break;case 25:throw e.prev=25,e.t0=e.catch(20),null===(h=o.debug)||void 0===h||h.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(u._id,'"'));case 30:case"end":return e.stop()}}),e,null,[[20,25]])})),a.s();case 6:if((i=a.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),a.e(e.t1);case 17:return e.prev=17,a.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 a=this.getChildFeatureIds(o);return r.delete(t),a}var i,s=be(r);try{for(s.s();!(i=s.n()).done;){var l=fe(i.value,2)[1];try{return this.findAndDeleteChildFeature(l,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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t){var n,r,o,a,i,s;return J().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=be(this.changes),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=18;break}if(a=(o=r.value).deletedFeature,!(i=o.parentFeatureId)){e.next=15;break}if(s=t.getFeature(i)){e.next=12;break}throw new Error('Could not find parent feature "'.concat(i,'"'));case 12:s.deleteChild(a._id),e.next=16;break;case 15:t.getFeature(a._id)&&t.deleteFeature(a._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=pe(this.changedIds).reverse(),a=pe(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(a),"'")),new xs.AddFeatureChange({changedIds:o,typeName:"AddFeatureChange",changes:a,assembly:t},{logger:r})}}]),a}(or.FeatureChange);Ss.DeleteFeatureChange=Es,Object.defineProperty(ws,"__esModule",{value:!0}),ws.AddFeatureChange=void 0,ws.isAddFeatureChange=function(e){return"AddFeatureChange"===e.typeName};var ks=Ss,As=function(e){ne(a,e);var t,n,r,o=ce(a);function a(e,t){var n;return X(this,a),te(le(n=o.call(this,e,t)),"typeName","AddFeatureChange"),te(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ee(a,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=fe(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=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c,u,f,d,p,h,m,g,y,v,b,_,w,S,x,E,k,A,C,O,N,R,T,I,P,M,F,j,D;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=t.assemblyModel,a=t.featureModel,i=t.refSeqModel,s=t.session,l=t.user,c=this.assembly,u=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:p=0,null===(n=f.debug)||void 0===n||n.call(f,"changes: ".concat(JSON.stringify(u))),h=be(u),e.prev=12,h.s();case 14:if((m=h.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))),b=y.allIds,_=y.copyFeature,w=y.parentFeatureId,S=(v=y.addedFeature)._id,x=v.refSeq,e.next=21,i.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(!_){e.next=34;break}return e.next=27,a.create([V(V({},v),{},{allIds:b,status:-1,user:l})],{session:s});case 27:k=fe(e.sent,1),A=k[0],null===(E=f.debug)||void 0===E||E.call(f,'Copied feature, docId "'.concat(A._id,'" to assembly "').concat(c,'"')),p++,e.next=61;break;case 34:if(!w){e.next=53;break}return e.next=37,a.findOne({allIds:w}).session(s).exec();case 37:if(N=e.sent){e.next=40;break}throw new Error('Could not find feature with ID "'.concat(w,'"'));case 40:if(R=this.getFeatureFromId(N,w)){e.next=43;break}throw new Error('Could not find feature with ID "'.concat(w,'" in feature "').concat(N._id,'"'));case 43:return R.children||(R.children=new Map),null!==(C=R.attributes)&&void 0!==C&&C._id||((T=R.attributes)||(T={}),T=V({_id:[R._id.toString()]},JSON.parse(JSON.stringify(T))),R.attributes=T),R.children.set(S,V(V({allIds:[]},v),{},{_id:S})),R.children=new Map(pe(R.children.entries()).sort((function(e,t){return e[1].min-t[1].min}))),I=this.getChildFeatureIds(v),(O=N.allIds).push.apply(O,[S].concat(pe(I))),e.next=51,N.save();case 51:e.next=61;break;case 53:return M=this.getChildFeatureIds(v),F=[S].concat(pe(M)),e.next=57,a.create([V({allIds:F,status:0},v)],{session:s});case 57:j=fe(e.sent,1),D=j[0],null===(P=f.verbose)||void 0===P||P.call(f,'Added docId "'.concat(D._id,'"'));case 61:p++;case 62:e.next=14;break;case 64:e.next=69;break;case 66:e.prev=66,e.t0=e.catch(12),h.e(e.t0);case 69:return e.prev=69,h.f(),e.finish(69);case 72:null===(r=f.debug)||void 0===r||r.call(f,"Added ".concat(p," 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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t){var n,r,o,a,i,s,l;return J().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=be(this.changes),e.prev=4,r.s();case 6:if((o=r.n()).done){e.next=20;break}if(i=(a=o.value).addedFeature,!(s=a.parentFeatureId)){e.next=17;break}if(l=t.getFeature(s)){e.next=13;break}throw new Error('Could not find parent feature "'.concat(s,'"'));case 13:l.attributes.get("_id")||l.setAttribute("_id",[l._id]),l.addChild(i),e.next=18;break;case 17:t.addFeature(n,i);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=pe(this.changedIds).reverse(),o=pe(t).reverse().map((function(e){return{deletedFeature:e.addedFeature,parentFeatureId:e.parentFeatureId}}));return new ks.DeleteFeatureChange({changedIds:r,typeName:"DeleteFeatureChange",changes:o,assembly:e},{logger:n})}}]),a}(or.FeatureChange);ws.AddFeatureChange=As;var Cs={};Object.defineProperty(Cs,"__esModule",{value:!0}),Cs.AddFeaturesFromFileChange=void 0;var Os=function(e){ne(a,e);var t,n,r,o=ce(a);function a(e,t){var n,r;return X(this,a),te(le(r=o.call(this,e,t)),"typeName","AddFeaturesFromFileChange"),te(le(r),"changes",void 0),te(le(r),"deleteExistingFeatures",!1),r.deleteExistingFeatures=null!==(n=e.deleteExistingFeatures)&&void 0!==n&&n,r.changes="changes"in e?e.changes:[e],r}return ee(a,[{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:fe(t,1)[0].fileId,deleteExistingFeatures:n}:{typeName:r,assembly:e,changes:t,deleteExistingFeatures:n}}},{key:"executeOnServer",value:(r=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c,u,f,d,p,h,m,g,y,v,b,_;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.fileModel,o=t.filesService,a=this.changes,i=this.logger,!this.deleteExistingFeatures){e.next=5;break}return e.next=5,this.removeExistingFeatures(t);case 5:s=be(a),e.prev=6,s.s();case 8:if((l=s.n()).done){e.next=56;break}if(u=l.value.fileId,Dt.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(u).exec();case 16:if(f=e.sent){e.next=19;break}throw new Error('File "'.concat(u,'" not found in Mongo'));case 19:null===(c=i.debug)||void 0===c||c.call(i,'FileId "'.concat(u,'", checksum "').concat(f.checksum,'"')),d=o.parseGFF3(o.getFileStream(f)),p=0,h=!1,m=!1,e.prev=24,y=H(d);case 26:return e.next=28,y.next();case 28:if(!(h=!(v=e.sent).done)){e.next=38;break}return b=v.value,e.next=33,this.addFeatureIntoDb(b,t);case 33:++p%1e3==0&&(null===(_=i.debug)||void 0===_||_.call(i,"Processed ".concat(p," features")));case 35:h=!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,!h||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=i.debug)||void 0===n||n.call(i,"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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t){return J().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 a({typeName:this.typeName,changes:this.changes,assembly:this.assembly},{logger:this.logger})}}]),a}(rr.FromFileBaseChange);Cs.AddFeaturesFromFileChange=Os;var Ns={};Object.defineProperty(Ns,"__esModule",{value:!0}),Ns.AddRefSeqAliasesChange=void 0;var Rs=C.default,Ts=function(e){ne(r,e);var t,n=ce(r);function r(e,t){var o;return X(this,r),te(le(o=n.call(this,e,t)),"typeName","AddRefSeqAliasesChange"),te(le(o),"refSeqAliases",void 0),o.refSeqAliases=e.refSeqAliases,o}return ee(r,[{key:"executeOnClient",value:function(e){var t=(0,Rs.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,a=be(this.refSeqAliases);try{for(a.s();!(o=a.n()).done;){var i,s=o.value,l=s.refName,c=be(s.aliases);try{for(c.s();!(i=c.n()).done;){var u=i.value;n[u]=l,r[u.toLowerCase()]=l}}catch(e){c.e(e)}finally{c.f()}}}catch(e){a.e(e)}finally{a.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=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c,u,f;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.refSeqModel,r=t.session,o=this.assembly,a=this.logger,i=be(this.refSeqAliases),e.prev=3,i.s();case 5:if((s=i.n()).done){e.next=13;break}return c=s.value,null===(l=a.debug)||void 0===l||l.call(a,"Updating Refname alias for assembly: ".concat(o,", refSeqAlias: ").concat(JSON.stringify(c))),u=c.aliases,f=c.refName,e.next=11,n.updateOne({assembly:o,name:f},{$set:{aliases:u}}).session(r);case 11:e.next=5;break;case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(3),i.e(e.t0);case 18:return e.prev=18,i.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}(or.AssemblySpecificChange);Ns.AddRefSeqAliasesChange=Ts;var Is={};Object.defineProperty(Is,"__esModule",{value:!0}),Is.DeleteAssemblyChange=void 0;var Ps=C.default,Ms=function(e){ne(a,e);var t,n,r,o=ce(a);function a(){var e;X(this,a);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return te(le(e=o.call.apply(o,[this].concat(n))),"typeName","DeleteAssemblyChange"),e}return ee(a,[{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=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c,u,f;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.assemblyModel,o=t.featureModel,a=t.refSeqChunkModel,i=t.refSeqModel,s=t.session,l=this.assembly,c=this.logger,e.next=4,r.findById(l).session(s).exec();case 4:if(e.sent){e.next=9;break}throw u='*** ERROR: Assembly with id "'.concat(l,'" not found'),c.error(u),new Error(u);case 9:return e.next=11,i.find({assembly:l}).exec();case 11:return f=e.sent.map((function(e){return e._id})),e.next=15,a.deleteMany({refSeq:f}).exec();case 15:return e.next=17,o.deleteMany({refSeq:f}).exec();case 17:return e.next=19,i.deleteMany({assembly:l}).exec();case 19:return e.next=21,r.findByIdAndDelete(l).exec();case 21:null===(n=c.debug)||void 0===n||n.call(c,'Assembly "'.concat(l,'" deleted from database.'));case 22:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t){var n,r,o,a;return J().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 a=(0,Ps.getSession)(t),t.assemblies.has(o)&&t.deleteAssembly(o),e.next=7,null===(n=a.removeAssembly)||void 0===n?void 0:n.call(a,o);case 7:return e.next=9,null===(r=a.removeSessionAssembly)||void 0===r?void 0:r.call(a,o);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"getInverse",value:function(){return new a({typeName:"DeleteAssemblyChange",assembly:this.assembly},{logger:this.logger})}}]),a}(or.AssemblySpecificChange);Is.DeleteAssemblyChange=Ms;var Fs={};Object.defineProperty(Fs,"__esModule",{value:!0}),Fs.DeleteUserChange=void 0;var js=function(e){ne(a,e);var t,n,r,o=ce(a);function a(e,t){var n;return X(this,a),te(le(n=o.call(this,e,t)),"typeName","DeleteUserChange"),te(le(n),"changes",void 0),te(le(n),"userId",void 0),n.changes="changes"in e?e.changes:[e],n.userId=e.userId,n}return ee(a,[{key:"toJSON",value:function(){return{typeName:this.typeName,userId:this.userId}}},{key:"executeOnServer",value:(r=Z(J().mark((function e(t){var n,r,o,a,i;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.session,r=t.userModel,o=this.logger,a=this.userId,e.next=4,r.findOneAndDelete({_id:a}).session(n).exec();case 4:if(e.sent){e.next=9;break}throw i='*** ERROR: User with id "'.concat(a,'" not found'),o.error(i),new Error(i);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"executeOnLocalGFF3",value:(n=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t){return J().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 a({typeName:this.typeName,userId:this.userId},{logger:this.logger})}}]),a}(or.Change);Fs.DeleteUserChange=js;var Ds={};Object.defineProperty(Ds,"__esModule",{value:!0}),Ds.FeatureAttributeChange=void 0,Ds.isFeatureAttributeChange=function(e){return"FeatureAttributeChange"===e.typeName};var Ls=function(e){ne(a,e);var t,n,r,o=ce(a);function a(e,t){var n;return X(this,a),te(le(n=o.call(this,e,t)),"typeName","FeatureAttributeChange"),te(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ee(a,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=fe(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=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c,u,f,d,p,h,m,g,y,v,b,_,w,S;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,a=this.logger,i=[],s=be(o=this.changes),e.prev=4,s.s();case 6:if((l=s.n()).done){e.next=26;break}return f=l.value.featureId,e.next=11,n.findOne({allIds:f}).session(r).exec();case 11:if(d=e.sent){e.next=16;break}throw p="*** ERROR: The following featureId was not found in database ='".concat(f,"'"),a.error(p),new Error(p);case 16:if(null===(c=a.debug)||void 0===c||c.call(a,"*** Feature found: ".concat(JSON.stringify(d))),h=this.getFeatureFromId(d,f)){e.next=22;break}throw a.error("ERROR when searching feature by featureId"),new Error("ERROR when searching feature by featureId");case 22:null===(u=a.debug)||void 0===u||u.call(a,"*** Found feature: ".concat(JSON.stringify(h))),i.push({feature:h,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=be(o.entries()),e.prev=35,m.s();case 37:if((g=m.n()).done){e.next=55;break}return v=fe(g.value,2),w=(b=i[v[0]]).topLevelFeature,(_=b.feature).attributes=v[1].attributes,w._id.equals(_._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=a.debug)||void 0===S||S.call(a,"*** FAILED: ".concat(e.t1)),e.t1;case 52:null===(y=a.debug)||void 0===y||y.call(a,"*** 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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t){var n,r,o,a,i,s;return J().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=be(this.changedIds.entries()),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=13;break}if(o=fe(r.value,2),a=o[0],s=t.getFeature(i=o[1])){e.next=10;break}throw new Error('Could not find feature with identifier "'.concat(i,'"'));case 10:s.setAttributes(new Map(Object.entries(this.changes[a].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 a({changedIds:pe(this.changedIds).reverse(),typeName:"FeatureAttributeChange",changes:pe(t).reverse().map((function(e){return{featureId:e.featureId,attributes:e.attributes}})),assembly:e},{logger:n})}}]),a}(or.FeatureChange);Ds.FeatureAttributeChange=Ls;var qs={},Bs=["__v","_id","assemblies","internetAccounts","plugins","tracks"];function Us(e){var t=e.assemblies,n=e.internetAccounts,r=e.plugins,o=e.tracks,a=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)t.indexOf(n=a[r])>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)t.indexOf(n=a[r])>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,Bs),i=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})),l=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})),u=a;return i&&(u.assemblies=i),s&&(u.tracks=s),l&&(u.plugins=l),c&&(u.internetAccounts=c),u}Object.defineProperty(qs,"__esModule",{value:!0}),qs.ImportJBrowseConfigChange=void 0,qs.filterJBrowseConfig=Us;var zs=function(e){ne(a,e);var t,n,r,o=ce(a);function a(e,t){var n;return X(this,a),te(le(n=o.call(this,e,t)),"typeName","ImportJBrowseConfigChange"),te(le(n),"oldJBrowseConfig",void 0),te(le(n),"newJBrowseConfig",void 0),n.oldJBrowseConfig=e.oldJBrowseConfig,n.newJBrowseConfig=e.newJBrowseConfig,n}return ee(a,[{key:"toJSON",value:function(){return{typeName:this.typeName,oldJBrowseConfig:this.oldJBrowseConfig,newJBrowseConfig:this.newJBrowseConfig}}},{key:"executeOnServer",value:(r=Z(J().mark((function e(t){var n,r,o,a,i;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.jbrowseConfigModel,o=this.logger,a=this.newJBrowseConfig,e.next=4,r.deleteMany();case 4:if(a){e.next=6;break}return e.abrupt("return");case 6:return i=Us(a),e.next=9,r.create(i);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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t){return J().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 a({typeName:"ImportJBrowseConfigChange",oldJBrowseConfig:this.newJBrowseConfig,newJBrowseConfig:this.oldJBrowseConfig},{logger:this.logger})}}]),a}(or.Change);qs.ImportJBrowseConfigChange=zs;var Hs={};Object.defineProperty(Hs,"__esModule",{value:!0}),Hs.LocationEndChange=void 0,Hs.isLocationEndChange=function(e){return"LocationEndChange"===e.typeName};var Gs=function(e){ne(a,e);var t,n,r,o=ce(a);function a(e,t){var n;return X(this,a),te(le(n=o.call(this,e,t)),"typeName","LocationEndChange"),te(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ee(a,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=fe(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=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c,u,f,d,p,h,m,g,y,v,b,_,w,S,x,E,k,A,C,O,N;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,a=this.logger,i=[],s=be(o=this.changes),e.prev=4,s.s();case 6:if((l=s.n()).done){e.next=49;break}return d=(f=l.value).featureId,p=f.oldEnd,e.next=11,n.findOne({allIds:d}).session(r).exec();case 11:if(h=e.sent){e.next=16;break}throw m="*** ERROR: The following featureId was not found in database ='".concat(d,"'"),a.error(m),new Error(m);case 16:if(null===(c=a.debug)||void 0===c||c.call(a,"*** TOP level feature found: ".concat(JSON.stringify(h))),g=this.getFeatureFromId(h,d)){e.next=22;break}throw a.error("ERROR when searching feature by featureId"),new Error("ERROR when searching feature by featureId");case 22:if(null===(u=a.debug)||void 0===u||u.call(a,"*** Found feature: ".concat(JSON.stringify(g))),g.max!==p){e.next=27;break}i.push({feature:g,topLevelFeature:h}),e.next=47;break;case 27:if(!g.children){e.next=47;break}y=be(g.children),e.prev=29,y.s();case 31:if((v=y.n()).done){e.next=39;break}if(b=fe(v.value,2),(_=b[1]).max!==p){e.next=37;break}return null===(w=a.debug)||void 0===w||w.call(a,"*************** UPDATE CHILD FEATURE ID= ".concat(d,", CHILD: ").concat(JSON.stringify(_))),i.push({feature:_,topLevelFeature:h}),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=be(o.entries()),e.prev=58,S.s();case 60:if((x=S.n()).done){e.next=78;break}return k=fe(x.value,2),O=(A=i[k[0]]).topLevelFeature,(C=A.feature).max=k[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===(N=a.debug)||void 0===N||N.call(a,"*** FAILED: ".concat(e.t2)),e.t2;case 75:null===(E=a.debug)||void 0===E||E.call(a,"*** 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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t){var n,r,o,a,i,s;return J().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=be(this.changedIds.entries()),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=13;break}if(o=fe(r.value,2),a=o[0],s=t.getFeature(i=o[1])){e.next=10;break}throw new Error('Could not find feature with identifier "'.concat(i,'"'));case 10:s.setMax(this.changes[a].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 a({changedIds:pe(this.changedIds).reverse(),typeName:r,changes:pe(t).reverse().map((function(e){return{featureId:e.featureId,oldEnd:e.newEnd,newEnd:e.oldEnd}})),assembly:e},{logger:n})}}]),a}(or.FeatureChange);Hs.LocationEndChange=Gs;var Ws={};Object.defineProperty(Ws,"__esModule",{value:!0}),Ws.LocationStartChange=void 0,Ws.isLocationStartChange=function(e){return"LocationStartChange"===e.typeName};var $s=function(e){ne(a,e);var t,n,r,o=ce(a);function a(e,t){var n;return X(this,a),te(le(n=o.call(this,e,t)),"typeName","LocationStartChange"),te(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ee(a,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=fe(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=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c,u,f,d,p,h,m,g,y,v,b,_,w,S,x,E,k,A,C,O,N;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,a=this.logger,i=[],s=be(o=this.changes),e.prev=4,s.s();case 6:if((l=s.n()).done){e.next=49;break}return d=(f=l.value).featureId,p=f.oldStart,e.next=11,n.findOne({allIds:d}).session(r).exec();case 11:if(h=e.sent){e.next=16;break}throw m="*** ERROR: The following featureId was not found in database ='".concat(d,"'"),a.error(m),new Error(m);case 16:if(null===(c=a.debug)||void 0===c||c.call(a,"*** TOP level feature found: ".concat(JSON.stringify(h))),g=this.getFeatureFromId(h,d)){e.next=22;break}throw a.error("ERROR when searching feature by featureId"),new Error("ERROR when searching feature by featureId");case 22:if(null===(u=a.debug)||void 0===u||u.call(a,"*** Found feature: ".concat(JSON.stringify(g))),g.min!==p){e.next=27;break}i.push({feature:g,topLevelFeature:h}),e.next=47;break;case 27:if(!g.children){e.next=47;break}y=be(g.children),e.prev=29,y.s();case 31:if((v=y.n()).done){e.next=39;break}if(b=fe(v.value,2),(_=b[1]).min!==p){e.next=37;break}return null===(w=a.debug)||void 0===w||w.call(a,"*** UPDATE CHILD FEATURE ID= ".concat(d,", CHILD: ").concat(JSON.stringify(_))),i.push({feature:_,topLevelFeature:h}),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=be(o.entries()),e.prev=58,S.s();case 60:if((x=S.n()).done){e.next=78;break}return k=fe(x.value,2),O=(A=i[k[0]]).topLevelFeature,(C=A.feature).min=k[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===(N=a.debug)||void 0===N||N.call(a,"*** FAILED: ".concat(e.t2)),e.t2;case 75:null===(E=a.debug)||void 0===E||E.call(a,"*** 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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t){var n,r,o,a,i,s;return J().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=be(this.changedIds.entries()),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=13;break}if(o=fe(r.value,2),a=o[0],s=t.getFeature(i=o[1])){e.next=10;break}throw new Error('Could not find feature with identifier "'.concat(i,'"'));case 10:s.setMin(this.changes[a].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 a({changedIds:pe(this.changedIds).reverse(),typeName:r,changes:pe(t).reverse().map((function(e){return{featureId:e.featureId,oldStart:e.newStart,newStart:e.oldStart}})),assembly:e},{logger:n})}}]),a}(or.FeatureChange);Ws.LocationStartChange=$s;var Vs={};Object.defineProperty(Vs,"__esModule",{value:!0}),Vs.StrandChange=void 0;var Js=function(e){ne(a,e);var t,n,r,o=ce(a);function a(e,t){var n;return X(this,a),te(le(n=o.call(this,e,t)),"typeName","StrandChange"),te(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ee(a,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=fe(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=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c,u,f,d,p,h,m,g,y,v,b,_,w,S,x,E,k;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,a=this.logger,i=[],s=be(o=this.changes),e.prev=4,s.s();case 6:if((l=s.n()).done){e.next=30;break}return d=(f=l.value).featureId,p=f.oldStrand,e.next=11,n.findOne({allIds:d}).session(r).exec();case 11:if(h=e.sent){e.next=16;break}throw m="*** ERROR: The following featureId was not found in database ='".concat(d,"'"),a.error(m),new Error(m);case 16:if(null===(c=a.debug)||void 0===c||c.call(a,"*** Feature found: ".concat(JSON.stringify(h))),g=this.getFeatureFromId(h,d)){e.next=22;break}throw a.error("ERROR when searching feature by featureId"),new Error("ERROR when searching feature by featureId");case 22:if(null===(u=a.debug)||void 0===u||u.call(a,"*** Found feature: ".concat(JSON.stringify(g))),g.strand===p){e.next=27;break}throw y="*** ERROR: Feature's current strand \"".concat(h.strand,'" doesn\'t match with expected value "').concat(p,'"'),a.error(y),new Error(y);case 27:i.push({feature:g,topLevelFeature:h});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=be(o.entries()),e.prev=39,v.s();case 41:if((b=v.n()).done){e.next=59;break}return w=fe(b.value,2),E=(S=i[w[0]]).topLevelFeature,(x=S.feature).strand=w[1].newStrand,E._id.equals(x._id)?E.markModified("strand"):E.markModified("children"),e.prev=47,e.next=50,E.save();case 50:e.next=56;break;case 52:throw e.prev=52,e.t1=e.catch(47),null===(k=a.debug)||void 0===k||k.call(a,"*** FAILED: ".concat(e.t1)),e.t1;case 56:null===(_=a.debug)||void 0===_||_.call(a,"*** Object updated in Mongo. New object: ".concat(JSON.stringify(E)));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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t){var n,r,o,a,i,s;return J().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=be(this.changedIds.entries()),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=13;break}if(o=fe(r.value,2),a=o[0],s=t.getFeature(i=o[1])){e.next=10;break}throw new Error('Could not find feature with identifier "'.concat(i,'"'));case 10:s.setStrand(this.changes[a].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 a({changedIds:pe(this.changedIds).reverse(),typeName:r,changes:pe(t).reverse().map((function(e){return{featureId:e.featureId,oldStrand:e.newStrand,newStrand:e.oldStrand}})),assembly:e},{logger:n})}}]),a}(or.FeatureChange);Vs.StrandChange=Js;var Ys={};Object.defineProperty(Ys,"__esModule",{value:!0}),Ys.TypeChange=void 0;var Ks=function(e){ne(a,e);var t,n,r,o=ce(a);function a(e,t){var n;return X(this,a),te(le(n=o.call(this,e,t)),"typeName","TypeChange"),te(le(n),"changes",void 0),n.changes="changes"in e?e.changes:[e],n}return ee(a,[{key:"toJSON",value:function(){var e=this.assembly,t=this.changedIds,n=this.changes,r=this.typeName;if(1===n.length){var o=fe(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=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c,u,f,d,p,h,m,g,y,v,b,_,w,S,x,E,k;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.featureModel,r=t.session,a=this.logger,i=[],s=be(o=this.changes),e.prev=4,s.s();case 6:if((l=s.n()).done){e.next=30;break}return d=(f=l.value).featureId,p=f.oldType,e.next=11,n.findOne({allIds:d}).session(r).exec();case 11:if(h=e.sent){e.next=16;break}throw m="*** ERROR: The following featureId was not found in database ='".concat(d,"'"),a.error(m),new Error(m);case 16:if(null===(c=a.debug)||void 0===c||c.call(a,"*** Feature found: ".concat(JSON.stringify(h))),g=this.getFeatureFromId(h,d)){e.next=22;break}throw a.error("ERROR when searching feature by featureId"),new Error("ERROR when searching feature by featureId");case 22:if(null===(u=a.debug)||void 0===u||u.call(a,"*** Found feature: ".concat(JSON.stringify(g))),g.type===p){e.next=27;break}throw y="*** ERROR: Feature's current type \"".concat(h.type,'" doesn\'t match with expected value "').concat(p,'"'),a.error(y),new Error(y);case 27:i.push({feature:g,topLevelFeature:h});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=be(o.entries()),e.prev=39,v.s();case 41:if((b=v.n()).done){e.next=59;break}return w=fe(b.value,2),E=(S=i[w[0]]).topLevelFeature,(x=S.feature).type=w[1].newType,E._id.equals(x._id)?E.markModified("type"):E.markModified("children"),e.prev=47,e.next=50,E.save();case 50:e.next=56;break;case 52:throw e.prev=52,e.t1=e.catch(47),null===(k=a.debug)||void 0===k||k.call(a,"*** FAILED: ".concat(e.t1)),e.t1;case 56:null===(_=a.debug)||void 0===_||_.call(a,"*** Object updated in Mongo. New object: ".concat(JSON.stringify(E)));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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t){var n,r,o,a,i,s;return J().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=be(this.changedIds.entries()),e.prev=3,n.s();case 5:if((r=n.n()).done){e.next=13;break}if(o=fe(r.value,2),a=o[0],s=t.getFeature(i=o[1])){e.next=10;break}throw new Error('Could not find feature with identifier "'.concat(i,'"'));case 10:s.setType(this.changes[a].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 a({changedIds:pe(this.changedIds).reverse(),typeName:r,changes:pe(t).reverse().map((function(e){return{featureId:e.featureId,oldType:e.newType,newType:e.oldType}})),assembly:e},{logger:n})}}]),a}(or.FeatureChange);Ys.TypeChange=Ks;var Zs={};Object.defineProperty(Zs,"__esModule",{value:!0}),Zs.UserChange=void 0;var Xs=function(e){ne(a,e);var t,n,r,o=ce(a);function a(e,t){var n;return X(this,a),te(le(n=o.call(this,e,t)),"typeName","UserChange"),te(le(n),"changes",void 0),te(le(n),"userId",void 0),n.changes="changes"in e?e.changes:[e],n.userId=e.userId,n}return ee(a,[{key:"toJSON",value:function(){var e=this.changes,t=this.typeName,n=this.userId;return 1===e.length?{typeName:t,userId:n,role:fe(e,1)[0].role}:{typeName:t,userId:n,changes:e}}},{key:"executeOnServer",value:(r=Z(J().mark((function e(t){var n,r,o,a,i,s,l,c,u,f,d;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.session,r=t.userModel,a=this.logger,i=this.userId,s=be(o=this.changes),e.prev=3,s.s();case 5:if((l=s.n()).done){e.next=18;break}return u=l.value,null===(c=a.debug)||void 0===c||c.call(a,"change: ".concat(JSON.stringify(o))),f=u.role,e.next=11,r.findByIdAndUpdate(i,{role:f}).session(n).exec();case 11:if(e.sent){e.next=16;break}throw d='*** ERROR: User with id "'.concat(i,'" not found'),a.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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t){return J().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 a({typeName:this.typeName,changes:this.changes,userId:this.userId},{logger:this.logger})}}]),a}(or.Change);Zs.UserChange=Xs,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.changes=void 0;var t=Xe;e.changes={AddAssemblyAndFeaturesFromFileChange:nr.AddAssemblyAndFeaturesFromFileChange,AddAssemblyFromFileChange:vs.AddAssemblyFromFileChange,AddAssemblyFromExternalChange:Dr.AddAssemblyFromExternalChange,AddFeatureChange:ws.AddFeatureChange,AddFeaturesFromFileChange:Cs.AddFeaturesFromFileChange,DeleteAssemblyChange:Is.DeleteAssemblyChange,DeleteFeatureChange:Ss.DeleteFeatureChange,DeleteUserChange:Fs.DeleteUserChange,FeatureAttributeChange:Ds.FeatureAttributeChange,ImportJBrowseConfigChange:qs.ImportJBrowseConfigChange,LocationEndChange:Hs.LocationEndChange,LocationStartChange:Ws.LocationStartChange,StrandChange:Vs.StrandChange,TypeChange:Ys.TypeChange,UserChange:Zs.UserChange,AddRefSeqAliasesChange:Ns.AddRefSeqAliasesChange},t.__exportStar(nr,e),t.__exportStar(vs,e),t.__exportStar(Dr,e),t.__exportStar(ws,e),t.__exportStar(Cs,e),t.__exportStar(Is,e),t.__exportStar(Ss,e),t.__exportStar(Fs,e),t.__exportStar(Ds,e),t.__exportStar(qs,e),t.__exportStar(Hs,e),t.__exportStar(Ws,e),t.__exportStar(Vs,e),t.__exportStar(Ys,e),t.__exportStar(Zs,e),t.__exportStar(Ns,e)}(tr);var Qs={},el={};Object.defineProperty(el,"__esModule",{value:!0}),el.GetAssembliesOperation=void 0;var tl=function(e){ne(r,e);var t,n=ce(r);function r(){var e;X(this,r);for(var t=arguments.length,o=new Array(t),a=0;a<t;a++)o[a]=arguments[a];return te(le(e=n.call.apply(n,[this].concat(o))),"typeName","GetAssembliesOperation"),e}return ee(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=Z(J().mark((function e(t){return J().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}(or.Operation);el.GetAssembliesOperation=tl;var nl={};Object.defineProperty(nl,"__esModule",{value:!0}),nl.GetFeaturesOperation=void 0;var rl=function(e){ne(r,e);var t,n=ce(r);function r(e,t){var o;return X(this,r),te(le(o=n.call(this,e,t)),"typeName","GetFeaturesOperation"),te(le(o),"refSeq",void 0),te(le(o),"start",void 0),te(le(o),"end",void 0),o.refSeq=e.refSeq,o.start=e.start,o.end=e.end,o}return ee(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=Z(J().mark((function e(t){return J().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}(or.Operation);nl.GetFeaturesOperation=rl,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.operations=void 0;var t=Xe;e.operations={GetAssembliesOperation:el.GetAssembliesOperation,GetFeaturesOperation:nl.GetFeaturesOperation},t.__exportStar(el,e),t.__exportStar(nl,e)}(Qs);var ol={},al={};Object.defineProperty(al,"__esModule",{value:!0}),al.Validation=void 0,al.isContext=function(e){return void 0!==e.context&&void 0!==e.reflector};var il=function(){function e(){X(this,e)}var t,n,r,o,a;return ee(e,[{key:"frontendPreValidate",value:(a=Z(J().mark((function e(t){return J().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 a.apply(this,arguments)})},{key:"frontendPostValidate",value:(o=Z(J().mark((function e(t,n){return J().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=Z(J().mark((function e(t){return J().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=Z(J().mark((function e(t,n){return J().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=Z(J().mark((function e(t){return J().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}();al.Validation=il;var sl={};Object.defineProperty(sl,"__esModule",{value:!0}),sl.validationRegistry=sl.ValidationSet=sl.ValidationResultSet=void 0;var ll=function(){function e(){X(this,e),te(this,"results",[]),te(this,"ok",!0)}return ee(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}();sl.ValidationResultSet=ll;var cl=function(){function e(){X(this,e),te(this,"validations",new Set)}var t,n,r,o,a;return ee(e,[{key:"registerValidation",value:function(e){this.validations.add(e)}},{key:"frontendPreValidate",value:(a=Z(J().mark((function e(t){var n,r,o,a,i;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=new ll,r=be(this.validations),e.prev=2,r.s();case 4:if((o=r.n()).done){e.next=14;break}return a=o.value,e.next=8,a.frontendPreValidate(t);case 8:if(n.add(i=e.sent),!i.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 a.apply(this,arguments)})},{key:"frontendPostValidate",value:(o=Z(J().mark((function e(t,n){var r,o,a,i,s;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=new ll,o=be(this.validations),e.prev=2,o.s();case 4:if((a=o.n()).done){e.next=14;break}return i=a.value,e.next=8,i.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=Z(J().mark((function e(t){var n,r,o,a,i;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=new ll,r=be(this.validations),e.prev=2,r.s();case 4:if((o=r.n()).done){e.next=14;break}return a=o.value,e.next=8,a.backendPreValidate(t);case 8:if(n.add(i=e.sent),!i.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=Z(J().mark((function e(t,n){var r,o,a,i,s,l,c;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=n.featureModel,o=n.session,a=new ll,i=be(this.validations),e.prev=3,i.s();case 5:if((s=i.n()).done){e.next=15;break}return l=s.value,e.next=9,l.backendPostValidate(t,{featureModel:r,session:o});case 9:if(a.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),i.e(e.t0);case 20:return e.prev=20,i.f(),e.finish(20);case 23:return e.abrupt("return",a);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=Z(J().mark((function e(t){var n,r,o,a;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=be(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(!(a=e.sent)){e.next=10;break}return e.abrupt("return",a);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}();sl.ValidationSet=cl,sl.validationRegistry=new cl;var ul={},fl={};Object.defineProperty(fl,"__esModule",{value:!0}),fl.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(ul,"__esModule",{value:!0}),ul.CoreValidation=void 0,ul.isTypeChange=hl;var dl=al,pl=Xe.__importDefault(fl);function hl(e){return"oldType"in e&&"newType"in e}var ml=function(e){ne(o,e);var t,n,r=ce(o);function o(){var e;X(this,o);for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return te(le(e=r.call.apply(r,[this].concat(n))),"name","Core"),e}return ee(o,[{key:"frontendPreValidate",value:(n=Z(J().mark((function e(t){var n,r,o;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!hl(t)){e.next=18;break}n=be(t.changes),e.prev=2,n.s();case 4:if((r=n.n()).done){e.next=10;break}if(pl.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=Z(J().mark((function e(t){return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("type"!==t){e.next=2;break}return e.abrupt("return",pl.default);case 2:return e.abrupt("return");case 3:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),o}(dl.Validation);ul.CoreValidation=ml;var gl={};Object.defineProperty(gl,"__esModule",{value:!0}),gl.ParentChildValidation=void 0;var yl=tr,vl=function(e){ne(o,e);var t,n,r=ce(o);function o(){var e;X(this,o);for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return te(le(e=r.call.apply(r,[this].concat(n))),"name","ParentChildValidation"),e}return ee(o,[{key:"backendPostValidate",value:(n=Z(J().mark((function e(t,n){var r,o;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.featureModel,o=n.session,!(0,yl.isLocationEndChange)(t)&&!(0,yl.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=Z(J().mark((function e(t,n){var r,o,a,i,s,l,c,u,f;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=n.featureModel,o=n.session,a=[],i=be(t.changes),e.prev=3,l=J().mark((function e(){var t,n,i;return J().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 i="ERROR: The following featureId was not found in database ='".concat(t,"'"),new Error(i);case 8:a.some((function(e){return e._id===n._id}))||a.push(n);case 9:case"end":return e.stop()}}),e)})),i.s();case 6:if((s=i.n()).done){e.next=10;break}return e.delegateYield(l(),"t0",8);case 8:e.next=6;break;case 10:e.next=15;break;case 12:e.prev=12,e.t1=e.catch(3),i.e(e.t1);case 15:return e.prev=15,i.f(),e.finish(15);case 18:c=0,u=a;case 19:if(!(c<u.length)){e.next=31;break}f=u[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=be(e.children||new Map);try{for(n.s();!(t=n.n()).done;){var r=fe(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}(al.Validation);gl.ParentChildValidation=vl,function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=Xe;t.__exportStar(al,e),t.__exportStar(sl,e),t.__exportStar(ul,e),t.__exportStar(gl,e)}(ol);var bl={},_l={};function wl(e){this.message=e}(wl.prototype=new Error).name="InvalidCharacterError";var Sl="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new wl("'atob' failed: The string to be decoded is not correctly encoded.");for(var n,r,o=0,a=0,i="";r=t.charAt(a++);~r&&(n=o%4?64*n+r:r,o++%4)?i+=String.fromCharCode(255&n>>(-2*o&6)):0)r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(r);return i};function xl(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(Sl(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 Sl(t)}}function El(e){this.message=e}(El.prototype=new Error).name="InvalidTokenError";var kl={__proto__:null,default:function(e,t){if("string"!=typeof e)throw new El("Invalid token specified");var n=!0===(t=t||{}).header?0:1;try{return JSON.parse(xl(e.split(".")[n]))}catch(e){throw new El("Invalid token specified: "+e.message)}},InvalidTokenError:El},Al=L(kl);Object.defineProperty(_l,"__esModule",{value:!0}),_l.makeUserSessionId=function(e){var t="string"==typeof e?(0,Cl.default)(e):e;return"".concat(t.id,"-").concat(t.iat)},_l.getDecodedToken=function(e){return(0,Cl.default)(e)};var Cl=Xe.__importDefault(Al);!function(e){Object.defineProperty(e,"__esModule",{value:!0}),Xe.__exportStar(_l,e)}(bl);var Ol={},Nl={};Object.defineProperty(Nl,"__esModule",{value:!0}),Nl.CDSCheck=void 0;var Rl,Tl,Il=or,Pl=C.default,Ml=Xe.__importDefault($n);!function(e){e[e.TAG=0]="TAG",e[e.TAA=1]="TAA",e[e.TGA=2]="TGA"}(Rl||(Rl={})),function(e){e[e.ATG=0]="ATG"}(Tl||(Tl={}));var Fl,jl="CDSCheck";!function(e){e[e.InternalStopCodon=0]="InternalStopCodon",e[e.MissingStartCodon=1]="MissingStartCodon",e[e.MissingStopCodon=2]="MissingStopCodon",e[e.MultipleOfThree=3]="MultipleOfThree"}(Fl||(Fl={}));var Dl={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 Ll(e){var t,n=[],r=be(e);try{for(r.s();!(t=r.n()).done;){var o=t.value,a=Dl[o.toUpperCase()];if(void 0===a)throw new TypeError('Cannot complement nucleotide: "'.concat(o,'"'));o===o.toLowerCase()?n.push(a.toLowerCase()):n.push(a)}}catch(e){r.e(e)}finally{r.f()}return n.reverse().join("")}function ql(e,t,n){return Bl.apply(this,arguments)}function Bl(){return(Bl=Z(J().mark((function e(t,n,r){var o;return J().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:return o=e.sent.join(""),-1===n&&(o=Ll(o)),e.abrupt("return",o);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ul(e){for(var t=[],n=0;n<=e.length-3;n+=3)t.push(e.slice(n,n+3));return t}function zl(e,t,n){return-1===n?e>t:e<t}function Hl(e,t,n){var r=structuredClone(e);r.sort(-1===t?function(e,t){return e.min<t.min?1:-1}:function(e,t){return e.min<t.min?-1:1});for(var o=0,a=void 0,i=void 0,s=0;s<r.length;s++)for(var l=r[s],c=l.phase,u=-1===t?l.min:l.max,f=-1===t?l.max-c:l.min+c;zl(f,u,t);f=-1===t?f-3:f+3){if(a=f,i=-1===t?a-3:a+3,-1===t&&i<l.min?i=r[s+1].max-r[s+1].phase:i>l.max&&(i=r[s+1].min+r[s+1].phase),o===n)return[a,i].sort((function(e,t){return e-t}));o++}}function Gl(e,t){return Wl.apply(this,arguments)}function Wl(){return(Wl=Z(J().mark((function e(t,n){var r,o,a,i,s,l,c,u,f,d,p,h,m,g,y,v,b,_,w,S,x,E,k,A,C,O,N,R,T,I,P,M,F,j;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=[],o=t._id,a=t.max,i=t.min,s=t.refSeq,l=t.strand,c=$l(t)){e.next=5;break}return e.abrupt("return",r);case 5:u=[o],f=be(c),e.prev=7,f.s();case 9:if((d=f.n()).done){e.next=37;break}return p=d.value,e.next=13,ql(p,l,n);case 13:m=Ul(h=e.sent),h.length%3==0?((g=m.at(0))&&!(g.toUpperCase()in Tl)&&(w=-1===l?null!==(y=null===(v=p.at(-1))||void 0===v?void 0:v.max)&&void 0!==y?y:a:null!==(b=null===(_=p.at(0))||void 0===_?void 0:_.min)&&void 0!==b?b:i,w=-1===l?w-3:w,r.push({_id:(new Ml.default).toHexString(),name:jl,cause:Fl[Fl.MissingStartCodon],ids:u,refSeq:s.toString(),start:w,end:w,message:'Unexpected start codon in feature "'.concat(o,'": ').concat(g)})),(S=m.at(-1))&&!(S.toUpperCase()in Rl)&&(C=-1===l?null!==(x=null===(E=p.at(0))||void 0===E?void 0:E.min)&&void 0!==x?x:i:null!==(k=null===(A=p.at(-1))||void 0===A?void 0:A.max)&&void 0!==k?k:a,r.push({_id:(new Ml.default).toHexString(),name:jl,cause:Fl[Fl.MissingStopCodon],ids:u,refSeq:s.toString(),start:C,end:C,message:'Missing stop codon for feature "'.concat(o,'"')}))):r.push({_id:(new Ml.default).toHexString(),name:jl,cause:Fl[Fl.MultipleOfThree],ids:u,refSeq:s.toString(),start:i,end:a,message:'The coding sequence for feature "'.concat(o,'" is not a multiple of three')}),O=be(m.entries()),e.prev=17,O.s();case 19:if((N=O.n()).done){e.next=27;break}if(R=fe(N.value,2),I=R[1],(T=R[0])!==m.length-1){e.next=23;break}return e.abrupt("break",27);case 23:(P=Hl(p,l,T))&&I.toUpperCase()in Rl&&(M=fe(P,2),F=M[0],j=M[1],r.push({_id:(new Ml.default).toHexString(),name:jl,cause:Fl[Fl.InternalStopCodon],ids:u,refSeq:s.toString(),start:F,end:j,message:'The coding sequence for feature "'.concat(o,'" has an internal stop codon')}));case 25:e.next=19;break;case 27:e.next=32;break;case 29:e.prev=29,e.t0=e.catch(17),O.e(e.t0);case 32:return e.prev=32,O.f(),e.finish(32);case 35:e.next=9;break;case 37:e.next=42;break;case 39:e.prev=39,e.t1=e.catch(7),f.e(e.t1);case 42:return e.prev=42,f.f(),e.finish(42);case 45:return e.abrupt("return",r);case 46:case"end":return e.stop()}}),e,null,[[7,39,42,45],[17,29,32,35]])})))).apply(this,arguments)}function $l(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,a=[],i=be(r);try{var s=function(){for(var e=o.value,r=e.max,i=e.min,s=[],l=0,c=Object.values(t);l<c.length;l++){var u=c[l];if("exon"===u.type){var f=fe((0,Pl.intersection2)(i,r,u.min,u.max),2),d=f[0],p=f[1];void 0!==d&&void 0!==p&&s.push({min:d,max:p})}}s.sort((function(e,t){return e.min-t.min})),-1===n&&s.reverse();var h=0,m=s.map((function(e){var t=h;return h=(3-(e.max-e.min-t+3)%3)%3,V(V({},e),{},{phase:t})}));m.sort((function(e,t){return e.min<t.min?-1:1})),a.push(m)};for(i.s();!(o=i.n()).done;)s()}catch(e){i.e(e)}finally{i.f()}return a.length>1&&a.sort((function(e,t){return e[0].min<t[0].min?-1:1})),a}}}}var Vl=function(e){ne(r,e);var t,n=ce(r);function r(){var e;X(this,r);for(var t=arguments.length,o=new Array(t),a=0;a<t;a++)o[a]=arguments[a];return te(le(e=n.call.apply(n,[this].concat(o))),"name",jl),te(le(e),"causes",Object.values(Fl).filter((function(e){return Number.isNaN(Number(e))}))),te(le(e),"version",1),te(le(e),"default",!0),e}return ee(r,[{key:"checkFeature",value:(t=Z(J().mark((function e(t,n){var r,o,a,i;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("mRNA"!==t.type){e.next=2;break}return e.abrupt("return",Gl(t,n));case 2:if(t.children){e.next=4;break}return e.abrupt("return",[]);case 4:r=[],o=0,a=Object.values(t.children);case 6:if(!(o<a.length)){e.next=19;break}return i=a[o],e.t0=r.push,e.t1=r,e.t2=pe,e.next=13,this.checkFeature(i,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}(Il.Check);Nl.CDSCheck=Vl,function(e){Object.defineProperty(e,"__esModule",{value:!0}),Xe.__exportStar(Nl,e)}(Ol);var Jl={};Object.defineProperty(Jl,"__esModule",{value:!0}),Jl.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 Yl={};Object.defineProperty(Yl,"__esModule",{value:!0}),function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=Xe;t.__exportStar(tr,e),t.__exportStar(Qs,e),t.__exportStar(ol,e),t.__exportStar(bl,e),t.__exportStar(Ol,e),t.__exportStar(Jl,e),t.__exportStar(Yl,e),t.__exportStar(Er,e)}(er);var Kl={},Zl={exports:{}};!function(e){e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports}(Zl);var Xl={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.createSvgIcon}});var t=O.default}(Xl);var Ql=Zl.exports;Object.defineProperty(Kl,"__esModule",{value:!0});var ec=Kl.default=void 0;ec=Kl.default=(0,Ql(Xl).default)((0,N.default.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"}),"Add");const tc=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 nc=Object.create(null);nc.open="0",nc.close="1",nc.ping="2",nc.pong="3",nc.message="4",nc.upgrade="5",nc.noop="6";var rc=Object.create(null);Object.keys(nc).forEach((function(e){rc[nc[e]]=e}));var oc,ac={type:"error",data:"parser error"},ic="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),sc="function"==typeof ArrayBuffer,lc=function(e){return"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer},cc=function(e,t,n){var r=e.type,o=e.data;return ic&&o instanceof Blob?t?n(o):uc(o,n):sc&&(o instanceof ArrayBuffer||lc(o))?t?n(o):uc(new Blob([o]),n):n(nc[r]+(o||""))},uc=function(e,t){var n=new FileReader;return n.onload=function(){var e=n.result.split(",")[1];t("b"+(e||""))},n.readAsDataURL(e)};function fc(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}for(var dc="undefined"==typeof Uint8Array?[]:new Uint8Array(256),pc=0;pc<64;pc++)dc["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(pc)]=pc;var hc,mc="function"==typeof ArrayBuffer,gc=function(e,t){if("string"!=typeof e)return{type:"message",data:vc(e,t)};var n=e.charAt(0);return"b"===n?{type:"message",data:yc(e.substring(1),t)}:rc[n]?e.length>1?{type:rc[n],data:e.substring(1)}:{type:rc[n]}:ac},yc=function(e,t){if(mc){var n=function(e){var t,n,r,o,a,i=.75*e.length,s=e.length,l=0;"="===e[e.length-1]&&(i--,"="===e[e.length-2]&&i--);var c=new ArrayBuffer(i),u=new Uint8Array(c);for(t=0;t<s;t+=4)n=dc[e.charCodeAt(t)],r=dc[e.charCodeAt(t+1)],o=dc[e.charCodeAt(t+2)],a=dc[e.charCodeAt(t+3)],u[l++]=n<<2|r>>4,u[l++]=(15&r)<<4|o>>2,u[l++]=(3&o)<<6|63&a;return c}(e);return vc(n,t)}return{base64:!0,data:e}},vc=function(e,t){return"blob"===t?e instanceof Blob?e:new Blob([e]):e instanceof ArrayBuffer?e:e.buffer},bc=String.fromCharCode(30);function _c(e){return e.reduce((function(e,t){return e+t.length}),0)}function wc(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 Sc(e){if(e)return function(e){for(var t in Sc.prototype)e[t]=Sc.prototype[t];return e}(e)}Sc.prototype.on=Sc.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},Sc.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},Sc.prototype.off=Sc.prototype.removeListener=Sc.prototype.removeAllListeners=Sc.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},Sc.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},Sc.prototype.emitReserved=Sc.prototype.emit,Sc.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},Sc.prototype.hasListeners=function(e){return!!this.listeners(e).length};var xc=function(){return"undefined"!=typeof self?self:"undefined"!=typeof window?window:Function("return this")()}();function Ec(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 kc=xc.setTimeout,Ac=xc.clearTimeout;function Cc(e,t){t.useNativeTimers?(e.setTimeoutFn=kc.bind(xc),e.clearTimeoutFn=Ac.bind(xc)):(e.setTimeoutFn=xc.setTimeout.bind(xc),e.clearTimeoutFn=xc.clearTimeout.bind(xc))}var Oc,Nc=function(e){ne(n,e);var t=ce(n);function n(e,r,o){var a;return X(this,n),(a=t.call(this,e)).description=r,a.context=o,a.type="TransportError",a}return ee(n)}(se(Error)),Rc=function(e){ne(n,e);var t=ce(n);function n(e){var r;return X(this,n),(r=t.call(this)).writable=!1,Cc(le(r),e),r.opts=e,r.query=e.query,r.socket=e.socket,r}return ee(n,[{key:"onError",value:function(e,t,r){return ue(re(n.prototype),"emitReserved",this).call(this,"error",new Nc(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,ue(re(n.prototype),"emitReserved",this).call(this,"open")}},{key:"onData",value:function(e){var t=gc(e,this.socket.binaryType);this.onPacket(t)}},{key:"onPacket",value:function(e){ue(re(n.prototype),"emitReserved",this).call(this,"packet",e)}},{key:"onClose",value:function(e){this.readyState="closed",ue(re(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}(Sc),Tc="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),Ic=64,Pc=0;function Mc(e){var t="";do{t=Tc[e%Ic]+t,e=Math.floor(e/Ic)}while(e>0);return t}function Fc(){var e=Mc(+new Date);return e!==Oc?(Pc=0,Oc=e):e+"."+Mc(Pc++)}var jc=!1;try{jc="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(aa){}var Dc=jc;function Lc(e){var t=e.xdomain;try{if("undefined"!=typeof XMLHttpRequest&&(!t||Dc))return new XMLHttpRequest}catch(e){}if(!t)try{return new(xc[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(e){}}function qc(){}var Bc=function(){return null!=new Lc({xdomain:!1}).responseType}(),Uc=function(e){ne(n,e);var t=ce(n);function n(e){var r;if(X(this,n),(r=t.call(this,e)).polling=!1,"undefined"!=typeof location){var o="https:"===location.protocol,a=location.port;a||(a=o?"443":"80"),r.xd="undefined"!=typeof location&&e.hostname!==location.hostname||a!==e.port}return r.supportsBinary=Bc&&!(e&&e.forceBase64),r.opts.withCredentials&&(r.cookieJar=void 0),r}return ee(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(bc),r=[],o=0;o<n.length;o++){var a=gc(n[o],t);if(r.push(a),"error"===a.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),a=0;e.forEach((function(e,n){cc(e,!1,(function(e){var i;o[n]=e,++a===r&&(i=o.join(bc),t.doWrite(i,(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]=Fc()),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 zc(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}(Rc),zc=function(e){ne(n,e);var t=ce(n);function n(e,r){var o;return X(this,n),Cc(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 ee(n,[{key:"create",value:function(){var e,t=this,r=Ec(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");r.xdomain=!!this.opts.xd;var o=this.xhr=new Lc(r);try{o.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders)for(var a in o.setDisableHeaderCheck&&o.setDisableHeaderCheck(!0),this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(a)&&o.setRequestHeader(a,this.opts.extraHeaders[a])}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=qc,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}(Sc);function Hc(){for(var e in zc.requests)zc.requests.hasOwnProperty(e)&&zc.requests[e].abort()}zc.requestsCount=0,zc.requests={},"undefined"!=typeof document&&("function"==typeof attachEvent?attachEvent("onunload",Hc):"function"==typeof addEventListener&&addEventListener("onpagehide"in xc?"pagehide":"unload",Hc,!1));var Gc=function(){return"function"==typeof Promise&&"function"==typeof Promise.resolve?function(e){return Promise.resolve().then(e)}:function(e,t){return t(e,0)}}(),Wc=xc.WebSocket||xc.MozWebSocket,$c="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase(),Vc=function(e){ne(n,e);var t=ce(n);function n(e){var r;return X(this,n),(r=t.call(this,e)).supportsBinary=!e.forceBase64,r}return ee(n,[{key:"name",get:function(){return"websocket"}},{key:"doOpen",value:function(){if(this.check()){var e=this.uri(),t=this.opts.protocols,n=$c?{}:Ec(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=$c?new Wc(e,t,n):t?new Wc(e,t):new Wc(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;cc(e[r],t.supportsBinary,(function(e){try{t.ws.send(e)}catch(e){}n&&Gc((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]=Fc()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}},{key:"check",value:function(){return!!Wc}}]),n}(Rc),Jc=function(e){ne(n,e);var t=ce(n);function n(){return X(this,n),t.apply(this,arguments)}return ee(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){hc||(hc=new TextDecoder);var n=[],r=0,o=-1,a=!1;return new TransformStream({transform:function(i,s){for(n.push(i);;){if(0===r){if(_c(n)<1)break;var l=wc(n,1);a=128==(128&l[0]),r=(o=127&l[0])<126?3:126===o?1:2}else if(1===r){if(_c(n)<2)break;var c=wc(n,2);o=new DataView(c.buffer,c.byteOffset,c.length).getUint16(0),r=3}else if(2===r){if(_c(n)<8)break;var u=wc(n,8),f=new DataView(u.buffer,u.byteOffset,u.length),d=f.getUint32(0);if(d>Math.pow(2,21)-1){s.enqueue(ac);break}o=d*Math.pow(2,32)+f.getUint32(4),r=3}else{if(_c(n)<o)break;var p=wc(n,o);s.enqueue(gc(a?p:hc.decode(p),t)),r=0}if(0===o||o>e){s.enqueue(ac);break}}}})}(Number.MAX_SAFE_INTEGER,e.socket.binaryType),r=t.readable.pipeThrough(n).getReader(),o=new TransformStream({transform:function(e,t){!function(e,t){ic&&e.data instanceof Blob?e.data.arrayBuffer().then(fc).then(t):sc&&(e.data instanceof ArrayBuffer||lc(e.data))?t(fc(e.data)):cc(e,!1,(function(e){oc||(oc=new TextEncoder),t(oc.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 a=new DataView(r.buffer);a.setUint8(0,126),a.setUint16(1,o)}else{r=new Uint8Array(9);var i=new DataView(r.buffer);i.setUint8(0,127),i.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 a={type:"open"};e.query.sid&&(a.data='{"sid":"'.concat(e.query.sid,'"}')),e.writer.write(a).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&&Gc((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}(Rc),Yc={websocket:Vc,webtransport:Jc,polling:Uc},Kc=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,Zc=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function Xc(e){var t,n,r=e,o=e.indexOf("["),a=e.indexOf("]");-1!=o&&-1!=a&&(e=e.substring(0,o)+e.substring(o,a).replace(/:/g,";")+e.substring(a,e.length));for(var i,s=Kc.exec(e||""),l={},c=14;c--;)l[Zc[c]]=s[c]||"";return-1!=o&&-1!=a&&(l.source=r,l.host=l.host.substring(1,l.host.length-1).replace(/;/g,":"),l.authority=l.authority.replace("[","").replace("]","").replace(/;/g,":"),l.ipv6uri=!0),l.pathNames=(n=(t=l.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),l.queryKey=(i={},l.query.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,(function(e,t,n){t&&(i[t]=n)})),i),l}var Qc=function(e){ne(n,e);var t=ce(n);function n(e){var r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return X(this,n),(r=t.call(this)).binaryType="arraybuffer",r.writeBuffer=[],e&&"object"===Y(e)&&(o=e,e=null),e?(e=Xc(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=Xc(o.host).host),Cc(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 a=n[r].split("=");t[decodeURIComponent(a[0])]=decodeURIComponent(a[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 ee(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 Yc[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 a=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 a=new Error("probe error");a.transport=r.name,t.emitReserved("upgradeError",a)}})))};function i(){o||(o=!0,f(),r.close(),r=null)}var s=function(e){var n=new Error("probe error: "+e);n.transport=r.name,i(),t.emitReserved("upgradeError",n)};function l(){s("transport closed")}function c(){s("socket closed")}function u(e){r&&e.name!==r.name&&i()}var f=function(){r.removeListener("open",a),r.removeListener("error",s),r.removeListener("close",l),t.off("close",c),t.off("upgrading",u)};r.once("open",a),r.once("error",s),r.once("close",l),this.once("close",c),this.once("upgrading",u),-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}(Sc);Qc.protocol=4;var eu="function"==typeof ArrayBuffer,tu=function(e){return"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer},nu=Object.prototype.toString,ru="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===nu.call(Blob),ou="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===nu.call(File);function au(e){return eu&&(e instanceof ArrayBuffer||tu(e))||ru&&e instanceof Blob||ou&&e instanceof File}function iu(e,t){if(!e||"object"!==Y(e))return!1;if(Array.isArray(e)){for(var n=0,r=e.length;n<r;n++)if(iu(e[n]))return!0;return!1}if(au(e))return!0;if(e.toJSON&&"function"==typeof e.toJSON&&1===arguments.length)return iu(e.toJSON(),!0);for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)&&iu(e[o]))return!0;return!1}function su(e){var t=[],n=e;return n.data=lu(e.data,t),n.attachments=t.length,{packet:n,buffers:t}}function lu(e,t){if(!e)return e;if(au(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]=lu(e[o],t);return r}if("object"===Y(e)&&!(e instanceof Date)){var a={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(a[i]=lu(e[i],t));return a}return e}function cu(e,t){return e.data=uu(e.data,t),delete e.attachments,e}function uu(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]=uu(e[n],t);else if("object"===Y(e))for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(e[r]=uu(e[r],t));return e}var fu,du=["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"}(fu||(fu={}));var pu=function(){function e(t){X(this,e),this.replacer=t}return ee(e,[{key:"encode",value:function(e){return e.type!==fu.EVENT&&e.type!==fu.ACK||!iu(e)?[this.encodeAsString(e)]:this.encodeAsBinary({type:e.type===fu.EVENT?fu.BINARY_EVENT:fu.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id})}},{key:"encodeAsString",value:function(e){var t=""+e.type;return e.type!==fu.BINARY_EVENT&&e.type!==fu.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=su(e),n=this.encodeAsString(t.packet),r=t.buffers;return r.unshift(n),r}}]),e}();function hu(e){return"[object Object]"===Object.prototype.toString.call(e)}var mu=function(e){ne(n,e);var t=ce(n);function n(e){var r;return X(this,n),(r=t.call(this)).reviver=e,r}return ee(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===fu.BINARY_EVENT;r||t.type===fu.BINARY_ACK?(t.type=r?fu.EVENT:fu.ACK,this.reconstructor=new gu(t),0===t.attachments&&ue(re(n.prototype),"emitReserved",this).call(this,"decoded",t)):ue(re(n.prototype),"emitReserved",this).call(this,"decoded",t)}else{if(!au(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,ue(re(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===fu[r.type])throw new Error("unknown packet type "+r.type);if(r.type===fu.BINARY_EVENT||r.type===fu.BINARY_ACK){for(var o=t+1;"-"!==e.charAt(++t)&&t!=e.length;);var a=e.substring(o,t);if(a!=Number(a)||"-"!==e.charAt(t))throw new Error("Illegal attachments");r.attachments=Number(a)}if("/"===e.charAt(t+1)){for(var i=t+1;++t&&","!==e.charAt(t)&&t!==e.length;);r.nsp=e.substring(i,t)}else r.nsp="/";var s=e.charAt(t+1);if(""!==s&&Number(s)==s){for(var l=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(l,t+1))}if(e.charAt(++t)){var u=this.tryParse(e.substr(t));if(!n.isPayloadValid(r.type,u))throw new Error("invalid payload");r.data=u}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 fu.CONNECT:return hu(t);case fu.DISCONNECT:return void 0===t;case fu.CONNECT_ERROR:return"string"==typeof t||hu(t);case fu.EVENT:case fu.BINARY_EVENT:return Array.isArray(t)&&("number"==typeof t[0]||"string"==typeof t[0]&&-1===du.indexOf(t[0]));case fu.ACK:case fu.BINARY_ACK:return Array.isArray(t)}}}]),n}(Sc),gu=function(){function e(t){X(this,e),this.packet=t,this.buffers=[],this.reconPack=t}return ee(e,[{key:"takeBinaryData",value:function(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){var t=cu(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}},{key:"finishedReconstruction",value:function(){this.reconPack=null,this.buffers=[]}}]),e}(),yu={__proto__:null,protocol:5,get PacketType(){return fu},Encoder:pu,Decoder:mu};function vu(e,t,n){return e.on(t,n),function(){e.off(t,n)}}var bu=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1}),_u=function(e){ne(n,e);var t=ce(n);function n(e,r,o){var a;return X(this,n),(a=t.call(this)).connected=!1,a.recovered=!1,a.receiveBuffer=[],a.sendBuffer=[],a._queue=[],a._queueSeq=0,a.ids=0,a.acks={},a.flags={},a.io=e,a.nsp=r,o&&o.auth&&(a.auth=o.auth),a._opts=Object.assign({},o),a.io._autoConnect&&a.open(),a}return ee(n,[{key:"disconnected",get:function(){return!this.connected}},{key:"subEvents",value:function(){if(!this.subs){var e=this.io;this.subs=[vu(e,"open",this.onopen.bind(this)),vu(e,"packet",this.onpacket.bind(this)),vu(e,"error",this.onerror.bind(this)),vu(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(bu.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:fu.EVENT,data:n,options:{}};if(o.options.compress=!1!==this.flags.compress,"function"==typeof n[n.length-1]){var a=this.ids++,i=n.pop();this._registerAckCallback(a,i),o.id=a}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 a=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(a);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 a=void 0!==this.flags.timeout||void 0!==this._opts.ackTimeout;return new Promise((function(n,o){r.push((function(e,t){return a?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,a=new Array(o>1?o-1:0),i=1;i<o;i++)a[i-1]=arguments[i];t.apply(void 0,[null].concat(a))}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:fu.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 fu.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 fu.EVENT:case fu.BINARY_EVENT:this.onevent(e);break;case fu.ACK:case fu.BINARY_ACK:this.onack(e);break;case fu.DISCONNECT:this.ondisconnect();break;case fu.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=be(this._anyListeners.slice());try{for(r.s();!(t=r.n()).done;)t.value.apply(this,e)}catch(e){r.e(e)}finally{r.f()}}ue(re(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),a=0;a<r;a++)o[a]=arguments[a];t.packet({type:fu.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:fu.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=be(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}(Sc);function wu(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}wu.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)},wu.prototype.reset=function(){this.attempts=0},wu.prototype.setMin=function(e){this.ms=e},wu.prototype.setMax=function(e){this.max=e},wu.prototype.setJitter=function(e){this.jitter=e};var Su=function(e){ne(n,e);var t=ce(n);function n(e,r){var o,a;X(this,n),(o=t.call(this)).nsps={},o.subs=[],e&&"object"===Y(e)&&(r=e,e=void 0),(r=r||{}).path=r.path||"/socket.io",o.opts=r,Cc(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!==(a=r.randomizationFactor)&&void 0!==a?a:.5),o.backoff=new wu({min:o.reconnectionDelay(),max:o.reconnectionDelayMax(),jitter:o.randomizationFactor()}),o.timeout(null==r.timeout?2e4:r.timeout),o._readyState="closed",o.uri=e;var i=r.parser||yu;return o.encoder=new i.Encoder,o.decoder=new i.Decoder,o._autoConnect=!1!==r.autoConnect,o._autoConnect&&o.open(),o}return ee(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 Qc(this.uri,this.opts);var n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;var o=vu(n,"open",(function(){r.onopen(),e&&e()})),a=function(n){t.cleanup(),t._readyState="closed",t.emitReserved("error",n),e?e(n):t.maybeReconnectOnOpen()},i=vu(n,"error",a);if(!1!==this._timeout){var s=this.setTimeoutFn((function(){o(),a(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(i),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(vu(e,"ping",this.onping.bind(this)),vu(e,"data",this.ondata.bind(this)),vu(e,"error",this.onerror.bind(this)),vu(e,"close",this.onclose.bind(this)),vu(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;Gc((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 _u(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}(Sc),xu={};function Eu(e,t){"object"===Y(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=Xc(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,a=r.id;return t.forceNew||t["force new connection"]||!1===t.multiplex||xu[a]&&r.path in xu[a].nsps?n=new Su(o,t):(xu[a]||(xu[a]=new Su(o,t)),n=xu[a]),r.query&&!t.query&&(t.query=r.queryKey),n.socket(r.path,t)}function ku(){}function Au(){Au.init.call(this)}function Cu(e){return void 0===e._maxListeners?Au.defaultMaxListeners:e._maxListeners}function Ou(e,t,n,r){var o,a,i;if("function"!=typeof n)throw new TypeError('"listener" argument must be a function');if((a=e._events)?(a.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),a=e._events),i=a[t]):(a=e._events=new ku,e._eventsCount=0),i){if("function"==typeof i?i=a[t]=r?[n,i]:[i,n]:r?i.unshift(n):i.push(n),!i.warned&&(o=Cu(e))&&o>0&&i.length>o){i.warned=!0;var s=new Error("Possible EventEmitter memory leak detected. "+i.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");s.name="MaxListenersExceededWarning",s.emitter=e,s.type=t,s.count=i.length,function(e){"function"==typeof console.warn?console.warn(e):console.log(e)}(s)}}else i=a[t]=n,++e._eventsCount;return e}function Nu(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 Ru(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 Tu(e,t){for(var n=new Array(t);t--;)n[t]=e[t];return n}Object.assign(Eu,{Manager:Su,Socket:_u,io:Eu,connect:Eu}),ku.prototype=Object.create(null),Au.EventEmitter=Au,Au.usingDomains=!1,Au.prototype.domain=void 0,Au.prototype._events=void 0,Au.prototype._maxListeners=void 0,Au.defaultMaxListeners=10,Au.init=function(){this.domain=null,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new ku,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},Au.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},Au.prototype.getMaxListeners=function(){return Cu(this)},Au.prototype.emit=function(e){var t,n,r,o,a,i,s,l="error"===e;if(i=this._events)l=l&&null==i.error;else if(!l)return!1;if(s=this.domain,l){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=i[e]))return!1;var u="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=Tu(e,r),a=0;a<r;++a)o[a].call(n)}(n,u,this);break;case 2:!function(e,t,n,r){if(t)e.call(n,r);else for(var o=e.length,a=Tu(e,o),i=0;i<o;++i)a[i].call(n,r)}(n,u,this,arguments[1]);break;case 3:!function(e,t,n,r,o){if(t)e.call(n,r,o);else for(var a=e.length,i=Tu(e,a),s=0;s<a;++s)i[s].call(n,r,o)}(n,u,this,arguments[1],arguments[2]);break;case 4:!function(e,t,n,r,o,a){if(t)e.call(n,r,o,a);else for(var i=e.length,s=Tu(e,i),l=0;l<i;++l)s[l].call(n,r,o,a)}(n,u,this,arguments[1],arguments[2],arguments[3]);break;default:for(o=new Array(r-1),a=1;a<r;a++)o[a-1]=arguments[a];!function(e,t,n,r){if(t)e.apply(n,r);else for(var o=e.length,a=Tu(e,o),i=0;i<o;++i)a[i].apply(n,r)}(n,u,this,o)}return!0},Au.prototype.on=Au.prototype.addListener=function(e,t){return Ou(this,e,t,!1)},Au.prototype.prependListener=function(e,t){return Ou(this,e,t,!0)},Au.prototype.once=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.on(e,Nu(this,e,t)),this},Au.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.prependListener(e,Nu(this,e,t)),this},Au.prototype.removeListener=function(e,t){var n,r,o,a,i;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 ku:(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(o=-1,a=n.length;a-- >0;)if(n[a]===t||n[a].listener&&n[a].listener===t){i=n[a].listener,o=a;break}if(o<0)return this;if(1===n.length){if(n[0]=void 0,0==--this._eventsCount)return this._events=new ku,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,i||t)}return this},Au.prototype.removeAllListeners=function(e){var t,n;if(!(n=this._events))return this;if(!n.removeListener)return 0===arguments.length?(this._events=new ku,this._eventsCount=0):n[e]&&(0==--this._eventsCount?this._events=new ku:delete n[e]),this;if(0===arguments.length){for(var r,o=Object.keys(n),a=0;a<o.length;++a)"removeListener"!==(r=o[a])&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events=new ku,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},Au.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},Au.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):Ru.call(e,t)},Au.prototype.listenerCount=Ru,Au.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};var Iu="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},Pu=/%[sdj%]/g;function Mu(e){if(!Vu(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(qu(arguments[n]));return t.join(" ")}n=1;for(var r=arguments,o=r.length,a=String(e).replace(Pu,(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}})),i=r[n];n<o;i=r[++n])$u(i)||!Ku(i)?a+=" "+i:a+=" "+qu(i);return a}function Fu(e,t){if(Ju(dt.process))return function(){return Fu(e,t).apply(this,arguments)};if(!0===Dt.noDeprecation)return e;var n=!1;return function(){if(!n){if(Dt.throwDeprecation)throw new Error(t);Dt.traceDeprecation?console.trace(t):console.error(t),n=!0}return e.apply(this,arguments)}}var ju,Du={};function Lu(e){return Ju(ju)&&(ju=Dt.env.NODE_DEBUG||""),e=e.toUpperCase(),Du[e]||(Du[e]=new RegExp("\\b"+e+"\\b","i").test(ju)?function(){var t=Mu.apply(null,arguments);console.error("%s %d: %s",e,0,t)}:function(){}),Du[e]}function qu(e,t){var n={seen:[],stylize:Uu};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),Wu(t)?n.showHidden=t:t&&function(e,t){if(!t||!Ku(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]]}(n,t),Ju(n.showHidden)&&(n.showHidden=!1),Ju(n.depth)&&(n.depth=2),Ju(n.colors)&&(n.colors=!1),Ju(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=Bu),zu(n,e,n.depth)}function Bu(e,t){var n=qu.styles[t];return n?"["+qu.colors[n][0]+"m"+e+"["+qu.colors[n][1]+"m":e}function Uu(e,t){return e}function zu(e,t,n){if(e.customInspect&&t&&Qu(t.inspect)&&t.inspect!==qu&&(!t.constructor||t.constructor.prototype!==t)){var r=t.inspect(n,e);return Vu(r)||(r=zu(e,r,n)),r}var o=function(e,t){if(Ju(t))return e.stylize("undefined","undefined");if(Vu(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"):Wu(t)?e.stylize(""+t,"boolean"):$u(t)?e.stylize("null","null"):void 0}(e,t);if(o)return o;var a=Object.keys(t),i=function(e){var t={};return e.forEach((function(e,n){t[e]=!0})),t}(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),Xu(t)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return Hu(t);if(0===a.length){if(Qu(t))return e.stylize("[Function"+(t.name?": "+t.name:"")+"]","special");if(Yu(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(Zu(t))return e.stylize(Date.prototype.toString.call(t),"date");if(Xu(t))return Hu(t)}var s,l="",c=!1,u=["{","}"];return Array.isArray(t)&&(c=!0,u=["[","]"]),Qu(t)&&(l=" [Function"+(t.name?": "+t.name:"")+"]"),Yu(t)&&(l=" "+RegExp.prototype.toString.call(t)),Zu(t)&&(l=" "+Date.prototype.toUTCString.call(t)),Xu(t)&&(l=" "+Hu(t)),0!==a.length||c&&0!=t.length?n<0?Yu(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 a=[],i=0,s=t.length;i<s;++i)tf(t,String(i))?a.push(Gu(e,t,n,r,String(i),!0)):a.push("");return o.forEach((function(o){o.match(/^\d+$/)||a.push(Gu(e,t,n,r,o,!0))})),a}(e,t,n,i,a):a.map((function(r){return Gu(e,t,n,i,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,l,u)):u[0]+l+u[1]}function Hu(e){return"["+Error.prototype.toString.call(e)+"]"}function Gu(e,t,n,r,o,a){var i,s,l;if((l=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?s=e.stylize(l.set?"[Getter/Setter]":"[Getter]","special"):l.set&&(s=e.stylize("[Setter]","special")),tf(r,o)||(i="["+o+"]"),s||(e.seen.indexOf(l.value)<0?(s=$u(n)?zu(e,l.value,null):zu(e,l.value,n-1)).indexOf("\n")>-1&&(s=a?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")),Ju(i)){if(a&&o.match(/^\d+$/))return s;(i=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(i=i.substr(1,i.length-2),i=e.stylize(i,"name")):(i=i.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),i=e.stylize(i,"string"))}return i+": "+s}function Wu(e){return"boolean"==typeof e}function $u(e){return null===e}function Vu(e){return"string"==typeof e}function Ju(e){return void 0===e}function Yu(e){return Ku(e)&&"[object RegExp]"===ef(e)}function Ku(e){return"object"===Y(e)&&null!==e}function Zu(e){return Ku(e)&&"[object Date]"===ef(e)}function Xu(e){return Ku(e)&&("[object Error]"===ef(e)||e instanceof Error)}function Qu(e){return"function"==typeof e}function ef(e){return Object.prototype.toString.call(e)}function tf(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function nf(){this.head=null,this.tail=null,this.length=0}qu.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]},qu.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},nf.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},nf.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},nf.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}},nf.prototype.clear=function(){this.head=this.tail=null,this.length=0},nf.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},nf.prototype.concat=function(e){if(0===this.length)return Kt.alloc(0);if(1===this.length)return this.head.data;for(var t=Kt.allocUnsafe(e>>>0),n=this.head,r=0;n;)n.data.copy(t,r),r+=n.data.length,n=n.next;return t};var rf=Kt.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 of(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),function(e){if(e&&!rf(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=sf;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=lf;break;default:return void(this.write=af)}this.charBuffer=new Kt(6),this.charReceived=0,this.charLength=0}function af(e){return e.toString(this.encoding)}function sf(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function lf(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}of.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 a=this.surrogateSize;return this.charLength+=a,this.charReceived+=a,this.charBuffer.copy(this.charBuffer,a,0,a),e.copy(this.charBuffer,0,0,a),t.substring(0,o)}return t},of.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},of.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},ff.ReadableState=uf;var cf=Lu("stream");function uf(e,t){this.objectMode=!!(e=e||{}).objectMode,t instanceof qf&&(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 nf,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 of(e.encoding),this.encoding=e.encoding)}function ff(e){if(!(this instanceof ff))return new ff(e);this._readableState=new uf(e,this),this.readable=!0,e&&"function"==typeof e.read&&(this._read=e.read),Au.call(this)}function df(e,t,n,r,o){var a=function(e,t){var n=null;return Mn(t)||"string"==typeof t||null==t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk")),n}(t,n);if(a)e.emit("error",a);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,mf(e)}}(e,t);else if(t.objectMode||n&&n.length>0)if(t.ended&&!o){var i=new Error("stream.push() after EOF");e.emit("error",i)}else if(t.endEmitted&&o){var s=new Error("stream.unshift() after end event");e.emit("error",s)}else{var l;!t.decoder||o||r||(n=t.decoder.write(n),l=!t.objectMode&&0===n.length),o||(t.reading=!1),l||(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&&mf(e))),function(e,t){t.readingMore||(t.readingMore=!0,Et(yf,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)}Iu(ff,Au),ff.prototype.push=function(e,t){var n=this._readableState;return n.objectMode||"string"!=typeof e||(t=t||n.defaultEncoding)!==n.encoding&&(e=Kt.from(e,t),t=""),df(this,n,e,t,!1)},ff.prototype.unshift=function(e){return df(this,this._readableState,e,"",!0)},ff.prototype.isPaused=function(){return!1===this._readableState.flowing},ff.prototype.setEncoding=function(e){return this._readableState.decoder=new of(e),this._readableState.encoding=e,this};var pf=8388608;function hf(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>=pf?e=pf:(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 mf(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(cf("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?Et(gf,e):gf(e))}function gf(e){cf("emit readable"),e.emit("readable"),_f(e)}function yf(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(cf("maybeReadMore read 0"),e.read(0),n!==t.length);)n=t.length;t.readingMore=!1}function vf(e){cf("readable nexttick read 0"),e.read(0)}function bf(e,t){t.reading||(cf("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),_f(e),t.flowing&&!t.reading&&e.read(0)}function _f(e){var t=e._readableState;for(cf("flow",t.flowing);t.flowing&&null!==e.read(););}function wf(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 a=n.data,i=e>a.length?a.length:e;if(o+=i===a.length?a:a.slice(0,e),0==(e-=i)){i===a.length?(++r,t.head=n.next?n.next:t.tail=null):(t.head=n,n.data=a.slice(i));break}++r}return t.length-=r,o}(e,t):function(e,t){var n=Kt.allocUnsafe(e),r=t.head,o=1;for(r.data.copy(n),e-=r.data.length;r=r.next;){var a=r.data,i=e>a.length?a.length:e;if(a.copy(n,n.length-e,0,i),0==(e-=i)){i===a.length?(++o,t.head=r.next?r.next:t.tail=null):(t.head=r,r.data=a.slice(i));break}++o}return t.length-=o,n}(e,t),r}(e,t.buffer,t.decoder),n);var n}function Sf(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,Et(xf,t,e))}function xf(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function Ef(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}function kf(){}function Af(e,t,n){this.chunk=e,this.encoding=t,this.callback=n,this.next=null}function Cf(e,t){Object.defineProperty(this,"buffer",{get:Fu((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")}),this.objectMode=!!(e=e||{}).objectMode,t instanceof qf&&(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?Et(o,r):o(r),e._writableState.errorEmitted=!0,e.emit("error",r)}(e,n,r,t,o);else{var a=If(n);a||n.corked||n.bufferProcessing||!n.bufferedRequest||Tf(e,n),r?Et(Rf,e,n,a,o):Rf(e,n,a,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 Ff(this)}function Of(e){if(!(this instanceof Of||this instanceof qf))return new Of(e);this._writableState=new Cf(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev)),Au.call(this)}function Nf(e,t,n,r,o,a,i){t.writelen=r,t.writecb=i,t.writing=!0,t.sync=!0,n?e._writev(o,t.onwrite):e._write(o,a,t.onwrite),t.sync=!1}function Rf(e,t,n,r){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,r(),Mf(e,t)}function Tf(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 a=0;n;)r[a]=n,n=n.next,a+=1;Nf(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 Ff(t)}else{for(;n;){var i=n.chunk;if(Nf(e,t,!1,t.objectMode?1:i.length,i,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 If(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function Pf(e,t){t.prefinished||(t.prefinished=!0,e.emit("prefinish"))}function Mf(e,t){var n=If(t);return n&&(0===t.pendingcb?(Pf(e,t),t.finished=!0,e.emit("finish")):Pf(e,t)),n}function Ff(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}}ff.prototype.read=function(e){cf("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 cf("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?Sf(this):mf(this),null;if(0===(e=hf(e,t))&&t.ended)return 0===t.length&&Sf(this),null;var r,o=t.needReadable;return cf("need readable",o),(0===t.length||t.length-e<t.highWaterMark)&&cf("length less than watermark",o=!0),t.ended||t.reading?cf("reading or ended",o=!1):o&&(cf("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=hf(n,t))),null===(r=e>0?wf(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&Sf(this)),null!==r&&this.emit("data",r),r},ff.prototype._read=function(e){this.emit("error",new Error("not implemented"))},ff.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,cf("pipe count=%d opts=%j",r.pipesCount,t);var o=t&&!1===t.end?c:i;function a(e){cf("onunpipe"),e===n&&c()}function i(){cf("onend"),e.end()}r.endEmitted?Et(o):n.once("end",o),e.on("unpipe",a);var s=function(e){return function(){var t=e._readableState;cf("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&e.listeners("data").length&&(t.flowing=!0,_f(e))}}(n);e.on("drain",s);var l=!1;function c(){cf("cleanup"),e.removeListener("close",p),e.removeListener("finish",h),e.removeListener("drain",s),e.removeListener("error",d),e.removeListener("unpipe",a),n.removeListener("end",i),n.removeListener("end",c),n.removeListener("data",f),l=!0,!r.awaitDrain||e._writableState&&!e._writableState.needDrain||s()}var u=!1;function f(t){cf("ondata"),u=!1,!1!==e.write(t)||u||((1===r.pipesCount&&r.pipes===e||r.pipesCount>1&&-1!==Ef(r.pipes,e))&&!l&&(cf("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,u=!0),n.pause())}function d(t){cf("onerror",t),m(),e.removeListener("error",d),0===e.listeners("error").length&&e.emit("error",t)}function p(){e.removeListener("finish",h),m()}function h(){cf("onfinish"),e.removeListener("close",p),m()}function m(){cf("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",p),e.once("finish",h),e.emit("pipe",n),r.flowing||(cf("pipe resume"),n.resume()),e},ff.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 a=Ef(t.pipes,e);return-1===a||(t.pipes.splice(a,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this)),this},ff.prototype.addListener=ff.prototype.on=function(e,t){var n=Au.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&&mf(this):Et(vf,this))}return n},ff.prototype.resume=function(){var e=this._readableState;return e.flowing||(cf("resume"),e.flowing=!0,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,Et(bf,e,t))}(this,e)),this},ff.prototype.pause=function(){return cf("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(cf("pause"),this._readableState.flowing=!1,this.emit("pause")),this},ff.prototype.wrap=function(e){var t=this._readableState,n=!1,r=this;for(var o in e.on("end",(function(){if(cf("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){cf("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,a=t.length;o<a;o++)e.on(i=t[o],r.emit.bind(r,i));var i}(["error","close","destroy","pause","resume"]),r._read=function(t){cf("wrapped _read",t),n&&(n=!1,e.resume())},r},ff._fromList=wf,Of.WritableState=Cf,Iu(Of,Au),Cf.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},Of.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},Of.prototype.write=function(e,t,n){var r=this._writableState,o=!1;return"function"==typeof t&&(n=t,t=null),Kt.isBuffer(e)?t="buffer":t||(t=r.defaultEncoding),"function"!=typeof n&&(n=kf),r.ended?function(e,t){var n=new Error("write after end");e.emit("error",n),Et(t,n)}(this,n):function(e,t,n,r){var o=!0,a=!1;return null===n?a=new TypeError("May not write null values to stream"):Kt.isBuffer(n)||"string"==typeof n||void 0===n||t.objectMode||(a=new TypeError("Invalid non-string/buffer chunk")),a&&(e.emit("error",a),Et(r,a),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=Kt.from(t,n)),t}(t,n,r),Kt.isBuffer(n)&&(r="buffer");var a=t.objectMode?1:n.length;t.length+=a;var i=t.length<t.highWaterMark;if(i||(t.needDrain=!0),t.writing||t.corked){var s=t.lastBufferedRequest;t.lastBufferedRequest=new Af(n,r,o),s?s.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else Nf(e,t,!1,a,n,r,o);return i}(this,r,e,t,n)),o},Of.prototype.cork=function(){this._writableState.corked++},Of.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||Tf(this,e))},Of.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},Of.prototype._write=function(e,t,n){n(new Error("not implemented"))},Of.prototype._writev=null,Of.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,Mf(e,t),n&&(t.finished?Et(n):e.once("finish",n)),t.ended=!0,e.writable=!1}(this,r,n)},Iu(qf,ff);for(var jf=Object.keys(Of.prototype),Df=0;Df<jf.length;Df++){var Lf=jf[Df];qf.prototype[Lf]||(qf.prototype[Lf]=Of.prototype[Lf])}function qf(e){if(!(this instanceof qf))return new qf(e);ff.call(this,e),Of.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",Bf)}function Bf(){this.allowHalfOpen||this._writableState.ended||Et(Uf,this)}function Uf(e){e.end()}function zf(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 a=e._readableState;a.reading=!1,(a.needReadable||a.length<a.highWaterMark)&&e._read(a.highWaterMark)}(e,t,n)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function Hf(e){if(!(this instanceof Hf))return new Hf(e);qf.call(this,e),this._transformState=new zf(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){Gf(t,e)})):Gf(t)}))}function Gf(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 Wf(e){if(!(this instanceof Wf))return new Wf(e);Hf.call(this,e)}function $f(){Au.call(this)}function Vf(e){return e.replace(/%([0-9A-Fa-f]{2})/g,(function(e,t){return String.fromCharCode(parseInt(t,16))}))}function Jf(e,t){return String(t).replace(e,(function(e){var t=e.charCodeAt(0).toString(16).toUpperCase().padStart(2,"0");return"%".concat(t)}))}function Yf(e){return Jf(/[\n;\r\t=%&,\x00-\x1f\x7f-\xff]/g,e)}function Kf(e){return Jf(/[\n\r\t%\x00-\x1f\x7f-\xff]/g,e)}function Zf(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,pe(r[1].split(",").map((function(e){return e.trim()})).map(Vf)))}})),t}function Xf(e){var t=e.split("\t").map((function(e){return"."===e||""===e?null:e}));return{seq_id:t[0]&&Vf(t[0]),source:t[1]&&Vf(t[1]),type:t[2]&&Vf(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:Zf(t[8])}}function Qf(e){var t=/^\s*##\s*(\S+)\s*(.*)/.exec(e);if(!t)return null;var n=fe(t,2)[1],r=fe(t,3)[2],o={directive:n};if(r.length&&(r=r.replace(/\r?\n$/,""),o.value=r),"sequence-region"===n){var a=r.split(/\s+/,3);return V(V({},o),{},{seq_id:a[0],start:a[1]&&a[1].replace(/\D/g,""),end:a[2]&&a[2].replace(/\D/g,"")})}if("genome-build"===n){var i=fe(r.split(/\s+/,2),2),s=i[0],l=i[1];return V(V({},o),{},{source:s,buildName:l})}return o}function ed(e){var t=[];return Object.entries(e).forEach((function(e){var n,r=fe(e,2),o=r[0],a=r[1];a&&(n=a.hasOwnProperty("toString")?Yf(a.toString()):Array.isArray(a)?a.map(Yf).join(","):Yf(a),t.push("".concat(Yf(o),"=").concat(n)))})),t.length?t.join(";"):"."}function td(e,t){var n=null==e.attributes?".":ed(e.attributes),r=[null===e.seq_id?".":Kf(e.seq_id),null===e.source?".":Kf(e.source),null===e.type?".":Kf(e.type),null===e.start?".":Kf(e.start),null===e.end?".":Kf(e.end),null===e.score?".":Kf(e.score),null===e.strand?".":Kf(e.strand),null===e.phase?".":Kf(e.phase),n],o="".concat(r.join("\t"),"\n");return t[o]?"":(t[o]=!0,o)}function nd(e,t){if(Array.isArray(e))return e.map((function(e){return nd(e,t)})).join("");var n,r=[td(e,t)];return void 0!==(n=e).child_features&&void 0!==n.derived_features&&r.push.apply(r,pe(e.child_features.map((function(e){return nd(e,t)}))).concat(pe(e.derived_features.map((function(e){return nd(e,t)}))))),r.join("")}function rd(e){return nd(e,{})}function od(e){var t="##".concat(e.directive);return e.value&&(t+=" ".concat(e.value)),t+"\n"}function ad(e){return"# ".concat(e.comment,"\n")}function id(e){return">".concat(e.id).concat(e.description?" ".concat(e.description):"","\n").concat(e.sequence,"\n")}function sd(e){function t(e){return"attributes"in e?rd(e):"directive"in e?od(e):"sequence"in e?id(e):"comment"in e?ad(e):"# (invalid item found during format)\n"}return Array.isArray(e)?e.map(t):t(e)}Iu(Hf,qf),Hf.prototype.push=function(e,t){return this._transformState.needTransform=!1,qf.prototype.push.call(this,e,t)},Hf.prototype._transform=function(e,t,n){throw new Error("Not implemented")},Hf.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)}},Hf.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},Iu(Wf,Hf),Wf.prototype._transform=function(e,t,n){n(null,e)},Iu($f,Au),$f.Readable=ff,$f.Writable=Of,$f.Duplex=qf,$f.Transform=Hf,$f.PassThrough=Wf,$f.Stream=$f,$f.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",i),n.on("close",s));var a=!1;function i(){a||(a=!0,e.end())}function s(){a||(a=!0,"function"==typeof e.destroy&&e.destroy())}function l(e){if(c(),0===Au.listenerCount(this,"error"))throw e}function c(){n.removeListener("data",r),e.removeListener("drain",o),n.removeListener("end",i),n.removeListener("close",s),n.removeListener("error",l),e.removeListener("error",l),n.removeListener("end",c),n.removeListener("close",c),e.removeListener("close",c)}return n.on("error",l),e.on("error",l),n.on("end",c),n.on("close",c),e.on("close",c),e.emit("pipe",n),e};var ld={__proto__:null,unescape:Vf,escape:Yf,escapeColumn:Kf,parseAttributes:Zf,parseFeature:Xf,parseDirective:Qf,formatAttributes:ed,formatFeature:rd,formatDirective:od,formatComment:ad,formatSequence:id,formatItem:sd},cd=function(){function e(t){X(this,e),this.seqCallback=t,this.currentSequence=void 0}return ee(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}(),ud=function(){function e(t){X(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 ee(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=fe(t,2)[1],r=fe(t,3)[2];if(3===n.length)this._emitAllUnderConstructionFeatures();else if(2===n.length){var o=Qf(e);o&&("FASTA"===o.directive?(this._emitAllUnderConstructionFeatures(),this.eof=!0,this.fastaParser=new cd(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 a=e.replace(/\r?\n?$/g,"");throw new Error("GFF3 parse error. Cannot parse '".concat(a,"'."))}this._emitAllUnderConstructionFeatures(),this.eof=!0,this.fastaParser=new cd(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,a=V(V({},Xf(e)),{},{child_features:[],derived_features:[]}),i=(null===(t=a.attributes)||void 0===t?void 0:t.ID)||[],s=(null===(n=a.attributes)||void 0===n?void 0:n.Parent)||[],l=(null===(r=a.attributes)||void 0===r?void 0:r.Derives_from)||[];if(i.length||s.length||l.length){var c=void 0;i.forEach((function(e){var t=o._underConstructionById[e];t?(t[t.length-1].type!==a.type&&o._parseError('multi-line feature "'.concat(e,'" has inconsistent types: "').concat(a.type,'", "').concat(t[t.length-1].type,'"')),t.push(a),c=t):(c=[a],o._enforceBufferSizeLimit(1),s.length||l.length||o._underConstructionTopLevel.push(c),o._underConstructionById[e]=c,o._resolveReferencesTo(c,e))})),this._resolveReferencesFrom(c||[a],{Parent:s,Derives_from:l},i)}else this._emitItem([a])}},{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,pe(n.Parent))})),e.forEach((function(e){var t;(t=e.derived_features).push.apply(t,pe(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 a=r._underConstructionById[t];if(a)n.filter((function(e){return o(r._completedReferences,e,"Parent,".concat(t))})).length||a.forEach((function(t){t.child_features.push(e)}));else{var i=r._underConstructionOrphans[t];i||(r._underConstructionOrphans[t]=i={Parent:[],Derives_from:[]}),i.Parent.push(e)}})),t.Derives_from.forEach((function(t){var a=r._underConstructionById[t];if(a)n.filter((function(e){return o(r._completedReferences,e,"Derives_from,".concat(t))})).length||a.forEach((function(t){t.derived_features.push(e)}));else{var i=r._underConstructionOrphans[t];i||(r._underConstructionOrphans[t]=i={Parent:[],Derives_from:[]}),i.Derives_from.push(e)}}))}}]),e}();function fd(e){Dt&&Et?Et(e):e()}function dd(e){var t=V({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 pd=function(e){ne(n,e);var t=ce(n);function n(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};X(this,n),(e=t.call(this,{objectMode:!0})).textBuffer="";var o=dd(r);e.encoding=r.encoding||"utf8",e.decoder=new of;var a=e.push.bind(le(e));return e.parser=new ud({featureCallback:o.parseFeatures?a:void 0,directiveCallback:o.parseDirectives?a:void 0,commentCallback:o.parseComments?a:void 0,sequenceCallback:o.parseSequences?a:void 0,errorCallback:function(t){return e.emit("error",t)},bufferSize:o.bufferSize}),e}return ee(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)),fd(n)}},{key:"_flush",value:function(e){this.decoder.end&&this._nextText(this.decoder.end()),null!=this.textBuffer&&this._addLine(this.textBuffer),this.parser.finish(),fd(e)}}]),n}(Hf),hd=function(e){ne(n,e);var t=ce(n);function n(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return X(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 ee(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(sd).join(""):sd(e),this.push(r),this.linesSinceLastSyncMark>=this.minLinesBetweenSyncMarks)this.push("###\n"),this.linesSinceLastSyncMark=0;else{for(var a=0,i=0;i<r.length;i+=1)"\n"===r[i]&&(a+=1);this.linesSinceLastSyncMark+=a}this.haveWeEmittedData=!0,fd(n)}}]),n}(Hf),md={parseStream:function(){return new pd(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})},parseStringSync:function(e){if(!e)return[];var t=dd(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),n=[],r=n.push.bind(n),o=new ud({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(sd).join("");return n.length&&(r+="##FASTA\n",r+=n.map(id).join("")),r},formatStream:function(){return new hd(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})},formatFile:function(e,t){var n=V({insertVersionDirective:!0},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{});return new Promise((function(r,o){e.pipe(new hd(n)).on("end",(function(){return r(null)})).on("error",o).pipe(t)}))},util:ld};async function gd(e,t,n){const r=md.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,a=n.assemblies.get(e);a||(a=n.addAssembly(e,"InMemoryFileDriver"));for(const e of r)if(Array.isArray(e)){const t=er.gff3ToAnnotationFeature(e),n=a.refSeqs.get(t.refSeq)??a.addRefSeq(t.refSeq,t.refSeq);n.features.has(t._id)||n.addFeature(t)}else if("comment"in e)a.addComment(e.comment);else{o++;let t=a.refSeqs.get(e.id);t||(t=a.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 i=await yd(a);return n.addCheckResults(i),a}async function yd(e){const t=[];for(const n of e.refSeqs.values())for(const e of n.features.values())for(const r of B.checkRegistry.getChecks().values()){const o=await r.checkFeature(l.getSnapshot(e),((e,t)=>Promise.resolve(n.getSequence(e,t))));t.push(...o)}return t}function vd(e){const{attributes:t}=e,n=t.get("gff_name");return n?n[0]:""}function bd(e){const{attributes:t}=e,n=t.get("gff_id"),r=t.get("transcript_id"),o=t.get("exon_id"),a=t.get("protein_id");return n?n[0]:r?r[0]:o?o[0]:a?a[0]:""}function _d(e){const t=vd(e),n=bd(e);return t?`: ${t}`:n?`: ${n}`:""}async function wd(e,t){let n;try{n=await e.text()}catch{n=""}return`${t?`${t} — `:""}${e.status} ${e.statusText}${n?` (${n})`:""}`}var Sd={},xd=Zl.exports;Object.defineProperty(Sd,"__esModule",{value:!0});var Ed=Sd.default=void 0;Ed=Sd.default=(0,xd(Xl).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-6h2v6zm0-8h-2V7h2v2z"}),"Info");var kd={},Ad=Zl.exports;Object.defineProperty(kd,"__esModule",{value:!0});var Cd=kd.default=void 0;Cd=kd.default=(0,Ad(Xl).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 Od={},Nd=Zl.exports;Object.defineProperty(Od,"__esModule",{value:!0});var Rd=Od.default=void 0;Rd=Od.default=(0,Nd(Xl).default)((0,N.default.jsx)("path",{d:"M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"RadioButtonChecked");var Td={},Id=Zl.exports;Object.defineProperty(Td,"__esModule",{value:!0});var Pd=Td.default=void 0;Pd=Td.default=(0,Id(Xl).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 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"RadioButtonUnchecked");var Md={},Fd=Zl.exports;Object.defineProperty(Md,"__esModule",{value:!0});var jd=Md.default=void 0;jd=Md.default=(0,Fd(Xl).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 Dd=f.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}}))),Ld=p.observer((function(e){const{classes:t}=Dd(),{handleClose:n,title:r,...o}=e;return T.default.createElement(d.Dialog,{...o,header:T.default.createElement(T.default.Fragment,null,T.default.createElement(c.DialogTitle,{className:t.dialogTitle},r),T.default.createElement(c.IconButton,{"aria-label":"close",onClick:n,className:t.closeButton},T.default.createElement(jd,null)))})}));var qd;!function(e){e.GFF3="text/x-gff3",e.FASTA="text/x-fasta",e.BGZIP_FASTA="application/x-bgzip-fasta",e.FAI="text/x-fai",e.GZI="application/x-gzi",e.EXTERNAL="text/x-external"}(qd||(qd={}));const Bd=f.makeStyles()((e=>({accordion:{border:`1px solid ${e.palette.divider}`,"&:not(:last-child)":{borderBottom:0}},accordionSummary:{flexDirection:"row-reverse"},accordionDetails:{padding:e.spacing(2),borderTop:"1px solid rgba(0, 0, 0, .125)"},radioIcon:{color:e?.palette?.tertiary?.contrastText},dialog:{minWidth:550,maxWidth:800}})));function Ud(e,t,n,r,o,a,i,s,l){return!(!e||!(t&&r||n===qd.GFF3&&r||r&&o&&a||i&&s&&l))}function zd({changeManager:e,handleClose:t,session:n}){const{classes:o}=Bd(),{internetAccounts:a}=l.getRoot(n),{notify:i}=n,s=a.filter((e=>"ApolloInternetAccount"===e.type));if(0===s.length)throw new Error("No Apollo internet account found");const[f,d]=u.useState(""),[p,h]=u.useState(""),[m,g]=u.useState(!1),[y,v]=u.useState(qd.BGZIP_FASTA),[b,_]=u.useState(!0),[w,S]=u.useState(!1),[x,E]=u.useState(!1),[k,A]=u.useState(null),[C,O]=u.useState(null),[N,R]=u.useState(null),[I,P]=u.useState(""),[M,F]=u.useState(""),[j,D]=u.useState(""),[L,q]=u.useState(!1),[B,U]=u.useState(!1);async function z(e,t){const{jobsManager:r}=n,o=new AbortController,[{baseURL:a,getFetcher:i}]=s,l=new URL("files",a);l.searchParams.set("type",t);const c=l.href,u=new FormData;let d=e.name;t===qd.FAI||t===qd.GZI?d=`${d}.txt`:B&&!e.name.toLocaleLowerCase().endsWith(".gz")?d=`${d}.gz`:!B&&e.name.toLocaleLowerCase().endsWith(".gz")&&(d=`${d}.txt`),u.append("file",e,d),u.append("type",t);const p=i({locationType:"UriLocation",uri:c});if(p){const t={name:`UploadAssemblyFile for ${f}`,statusMessage:"Pre-validating",progressPct:0,cancelCallback:()=>{o.abort(),r.abortJob(t.name)}};r.runJob(t),r.update(t.name,`Uploading ${e.name}, this may take awhile`);const{signal:n}=o,a=await p(c,{method:"POST",body:u,signal:n});if(!a.ok){const e=await wd(a,"Error when inserting new assembly (while uploading file)");return r.abortJob(t.name,e),h(e),""}const i=(await a.json())._id;return r.done(t),i}throw new Error("Failed to fetch")}u.useEffect((()=>{F(I?`${I}.fai`:"")}),[I]),u.useEffect((()=>{D(I?`${I}.gzi`:"")}),[I]),u.useEffect((()=>{U(!w&&y!==qd.GFF3||!!k?.name.toLocaleLowerCase().endsWith(".gz"))}),[k,w,y]);let H=!1;try{const e=new URL(I);"http:"!==e.protocol&&"https:"!==e.protocol||(H=!0)}catch{}let G=!1;try{const e=new URL(M);"http:"!==e.protocol&&"https:"!==e.protocol||(G=!0)}catch{}let W=!1;try{const e=new URL(j);"http:"!==e.protocol&&"https:"!==e.protocol||(W=!0)}catch{}const[$,V]=T.default.useState("panelFastaInput"),J=e=>(t,n)=>{n&&V(e),U("panelGffInput"!==e)};return T.default.createElement(Ld,{open:!0,handleClose:t,"data-testid":"add-assembly-dialog",title:"Add new assembly",maxWidth:!1},T.default.createElement("form",{onSubmit:async function(n){let r;if(n.preventDefault(),h(""),E(!0),q(!0),i(`Assembly "${f}" is being added`,"info"),t(),n.preventDefault(),y===qd.EXTERNAL)r=new er.AddAssemblyFromExternalChange({typeName:"AddAssemblyFromExternalChange",assembly:(new $n).toHexString(),assemblyName:f,externalLocation:{fa:I,fai:M,gzi:j}});else{if(!k)throw new Error("Missing fasta file");if(y===qd.GFF3&&b){const e=await z(k,qd.GFF3);r=new er.AddAssemblyAndFeaturesFromFileChange({typeName:"AddAssemblyAndFeaturesFromFileChange",assembly:(new $n).toHexString(),assemblyName:f,fileIds:{fa:e}})}else if(y===qd.GFF3){const e=await z(k,qd.GFF3);r=new er.AddAssemblyFromFileChange({typeName:"AddAssemblyFromFileChange",assembly:(new $n).toHexString(),assemblyName:f,fileIds:{fa:e}})}else if(w){const e=await z(k,qd.FASTA);r=new er.AddAssemblyFromFileChange({typeName:"AddAssemblyFromFileChange",assembly:(new $n).toHexString(),assemblyName:f,fileIds:{fa:e}})}else{if(!C||!N)throw new Error("Missing fasta index files");const e=await z(k,qd.BGZIP_FASTA),t=await z(C,qd.FAI),n=await z(N,qd.GZI);r=new er.AddAssemblyFromFileChange({typeName:"AddAssemblyFromFileChange",assembly:(new $n).toHexString(),assemblyName:f,fileIds:{fa:e,fai:t,gzi:n}})}}const[{internetAccountId:o}]=s;await e.submit(r,{internetAccountId:o,updateJobsManager:!0}),E(!1),q(!1)},"data-testid":"submit-form"},T.default.createElement(c.DialogContent,{className:o.dialog},L?T.default.createElement(c.LinearProgress,null):null,T.default.createElement(c.TextField,{margin:"dense",id:"name",label:"Assembly name",type:"TextField",fullWidth:!0,variant:"outlined",onChange:e=>{E(!1),d(e.target.value),function(e){const{assemblies:t}=n;t.find((t=>r.readConfObject(t,"displayName")===e))?(g(!1),h(`Assembly ${e} already exists.`)):(g(!0),h(""))}(e.target.value)},disabled:x&&!p}),T.default.createElement(c.Accordion,{disableGutters:!0,elevation:0,square:!0,className:o.accordion,expanded:"panelFastaInput"===$,onChange:J("panelFastaInput")},T.default.createElement(c.AccordionSummary,{className:o.accordionSummary,expandIcon:"panelFastaInput"===$?T.default.createElement(Rd,{className:o.radioIcon,sx:{fontSize:"1.2rem",ml:5}}):T.default.createElement(Pd,{className:o.radioIcon,sx:{fontSize:"1.2rem",mr:5}}),"aria-controls":"panelFastaInputd-content",id:"panelFastaInputd-header"},T.default.createElement(c.Typography,{component:"span"},"FASTA input")),T.default.createElement(c.AccordionDetails,{className:o.accordionDetails},T.default.createElement(c.FormGroup,null,T.default.createElement(c.FormControlLabel,{"data-testid":"files-on-url-checkbox",control:T.default.createElement(c.Checkbox,{onChange:()=>{v(y===qd.EXTERNAL?qd.BGZIP_FASTA:qd.EXTERNAL),y===qd.EXTERNAL&&S(!1)},checked:y===qd.EXTERNAL,disabled:w&&y!==qd.GFF3}),label:T.default.createElement(c.Box,{display:"flex",alignItems:"center"},"Use external URLs",T.default.createElement(c.Tooltip,{title:"Use external URLs to provide FASTA and index files. Does not copy the files to the Apollo collaboration server, so ensure the URLs are stable.",placement:"top-start"},T.default.createElement(c.IconButton,{size:"small"},T.default.createElement(Ed,{sx:{fontSize:18}}))))}),T.default.createElement(c.FormControlLabel,{"data-testid":"sequence-is-editable-checkbox",control:T.default.createElement(c.Checkbox,{onChange:()=>{S(!w)}}),checked:w,disabled:y===qd.EXTERNAL,label:T.default.createElement(c.Box,{display:"flex",alignItems:"center"},"Store sequence in database",T.default.createElement(c.Tooltip,{title:"Enables users to edit the genomic sequence, but comes with performance impacts. Use with care.",placement:"top-start"},T.default.createElement(c.IconButton,{size:"small"},T.default.createElement(Ed,{sx:{fontSize:18}}))))}),T.default.createElement(c.FormControlLabel,{"data-testid":"fasta-is-gzip-checkbox",control:T.default.createElement(c.Checkbox,{checked:B,onChange:()=>{U(!w||!B)},disabled:!w}),label:"FASTA is gzip compressed"}),T.default.createElement(c.Table,{size:"small",sx:{mt:2}},y===qd.BGZIP_FASTA||y===qd.GFF3?T.default.createElement(c.TableBody,null,T.default.createElement(c.TableRow,null,T.default.createElement(c.TableCell,{style:{borderBottomWidth:0}},T.default.createElement(c.Box,{display:"flex",alignItems:"center"},T.default.createElement("span",null,"FASTA"),T.default.createElement(c.Tooltip,{title:'Unless "Store sequence in database" enabled, FASTA input must be compressed with bgzip and indexed with samtools faidx (or equivalent). Compression is optional for sequences stored in the database.'},T.default.createElement(c.IconButton,{size:"small"},T.default.createElement(Ed,{sx:{fontSize:18}}))))),T.default.createElement(c.TableCell,{style:{borderBottomWidth:0}},T.default.createElement("input",{"data-testid":"fasta-input-file",type:"file",onChange:e=>{A(e.target.files?.item(0)??null)},disabled:x&&!p}))),T.default.createElement(c.TableRow,null,T.default.createElement(c.TableCell,{style:{borderBottomWidth:0}},"FASTA index (.fai)"),T.default.createElement(c.TableCell,{style:{borderBottomWidth:0}},T.default.createElement("input",{"data-testid":"fai-input-file",type:"file",onChange:e=>{O(e.target.files?.item(0)??null)},disabled:x&&!p||w}))),T.default.createElement(c.TableRow,null,T.default.createElement(c.TableCell,{style:{borderBottomWidth:0}},"FASTA binary index (.gzi)"),T.default.createElement(c.TableCell,{style:{borderBottomWidth:0}},T.default.createElement("input",{"data-testid":"gzi-input-file",type:"file",onChange:e=>{R(e.target.files?.item(0)??null)},disabled:x&&!p||w})))):T.default.createElement(c.TableBody,null,T.default.createElement(c.TableRow,null,T.default.createElement(c.TableCell,{style:{borderBottomWidth:0}},T.default.createElement(c.Box,{display:"flex",alignItems:"center"},T.default.createElement("span",null,"FASTA"),T.default.createElement(c.Tooltip,{title:"Remote FASTA input must be compressed with bgzip and indexed with samtools faidx (or equivalent)"},T.default.createElement(c.IconButton,{size:"small"},T.default.createElement(Ed,{sx:{fontSize:18}}))))),T.default.createElement(c.TableCell,{style:{borderBottomWidth:0}},T.default.createElement(c.TextField,{"data-testid":"fasta-input-url",variant:"outlined",value:I,error:!H,onChange:e=>{P(e.target.value)},disabled:x&&!p,slotProps:{input:{startAdornment:T.default.createElement(c.InputAdornment,{position:"start"},T.default.createElement(Cd,null))}}}))),T.default.createElement(c.TableRow,null,T.default.createElement(c.TableCell,{style:{borderBottomWidth:0}},"FASTA index (.fai)"),T.default.createElement(c.TableCell,{style:{borderBottomWidth:0}},T.default.createElement(c.TextField,{"data-testid":"fai-input-url",variant:"outlined",value:M,error:!G,onChange:e=>{F(e.target.value)},disabled:x&&!p,slotProps:{input:{startAdornment:T.default.createElement(c.InputAdornment,{position:"start"},T.default.createElement(Cd,null))}}}))),T.default.createElement(c.TableRow,null,T.default.createElement(c.TableCell,{style:{borderBottomWidth:0}},"FASTA binary index (.gzi)"),T.default.createElement(c.TableCell,{style:{borderBottomWidth:0}},T.default.createElement(c.TextField,{"data-testid":"gzi-input-url",variant:"outlined",value:j,error:!W,onChange:e=>{D(e.target.value)},disabled:x&&!p,slotProps:{input:{startAdornment:T.default.createElement(c.InputAdornment,{position:"start"},T.default.createElement(Cd,null))}}})))))))),T.default.createElement(c.Accordion,{disableGutters:!0,elevation:0,square:!0,className:o.accordion,expanded:"panelGffInput"===$,onChange:J("panelGffInput")},T.default.createElement(c.AccordionSummary,{className:o.accordionSummary,expandIcon:"panelGffInput"===$?T.default.createElement(Rd,{className:o.radioIcon,sx:{fontSize:"1.2rem",ml:5}}):T.default.createElement(Pd,{className:o.radioIcon,sx:{fontSize:"1.2rem",mr:5}}),"aria-controls":"panelGffInputd-content"},T.default.createElement(c.Typography,{component:"span"},"GFF3 input",T.default.createElement(c.Tooltip,{title:"GFF3 must includes FASTA sequences. File can be gzip compressed."},T.default.createElement(Ed,{className:o.radioIcon,sx:{fontSize:18}})))),T.default.createElement(c.AccordionDetails,{className:o.accordionDetails},T.default.createElement(c.Box,{style:{marginTop:20}},T.default.createElement("input",{"data-testid":"gff3-input-file",type:"file",disabled:x&&!p,onChange:e=>{A(e.target.files?.item(0)??null),v(qd.GFF3)}}),T.default.createElement(c.FormGroup,{style:{display:"grid"}},T.default.createElement(c.FormControlLabel,{control:T.default.createElement(c.Checkbox,{checked:b,onChange:()=>{_(!b)},disabled:x&&!p}),label:"Load features from GFF3 file"}),T.default.createElement(c.FormControlLabel,{"data-testid":"gff3-is-gzip-checkbox",control:T.default.createElement(c.Checkbox,{checked:B,onChange:()=>{U(!B)},disabled:x&&!p}),label:"GFF3 is gzip compressed"})))))),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{disabled:!Ud(m,w,y,k,C,N,H,G,W)||x,variant:"contained",type:"submit","data-testid":"submit-button"},x?"Submitting...":"Submit"),T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),p?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},p)):null)}var Hd,Gd,Wd=function(e,t){return t.some((function(t){return e instanceof t}))},$d=new WeakMap,Vd=new WeakMap,Jd=new WeakMap,Yd=new WeakMap,Kd=new WeakMap,Zd={get:function(e,t,n){if(e instanceof IDBTransaction){if("done"===t)return Vd.get(e);if("objectStoreNames"===t)return e.objectStoreNames||Jd.get(e);if("store"===t)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return Qd(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 Xd(e){Zd=e(Zd)}function Qd(e){if(e instanceof IDBRequest)return t=e,(n=new Promise((function(e,n){var r=function(){t.removeEventListener("success",o),t.removeEventListener("error",a)},o=function(){e(Qd(t.result)),r()},a=function(){n(t.error),r()};t.addEventListener("success",o),t.addEventListener("error",a)}))).then((function(e){e instanceof IDBCursor&&$d.set(e,t)})).catch((function(){})),Kd.set(n,t),n;var t,n;if(Yd.has(e))return Yd.get(e);var r=function(e){return"function"==typeof e?(t=e)!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(Gd||(Gd=[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(ep(this),n),Qd($d.get(this))}:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return Qd(t.apply(ep(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 a=t.call.apply(t,[ep(this),e].concat(r));return Jd.set(a,e.sort?e.sort():[e]),Qd(a)}:(e instanceof IDBTransaction&&function(e){if(!Vd.has(e)){var t=new Promise((function(t,n){var r=function(){e.removeEventListener("complete",o),e.removeEventListener("error",a),e.removeEventListener("abort",a)},o=function(){t(),r()},a=function(){n(e.error||new DOMException("AbortError","AbortError")),r()};e.addEventListener("complete",o),e.addEventListener("error",a),e.addEventListener("abort",a)}));Vd.set(e,t)}}(e),Wd(e,Hd||(Hd=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]))?new Proxy(e,Zd):e);var t}(e);return r!==e&&(Yd.set(e,r),Kd.set(r,e)),r}var ep=function(e){return Kd.get(e)},tp=["get","getKey","getAll","getAllKeys","count"],np=["put","add","delete","clear"],rp=new Map;function op(e,t){if(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t){if(rp.get(t))return rp.get(t);var n=t.replace(/FromIndex$/,""),r=t!==n,o=np.includes(n);if(n in(r?IDBIndex:IDBObjectStore).prototype&&(o||tp.includes(n))){var a=function(){var e=Z(J().mark((function e(t){var a,i,s,l,c,u,f=arguments;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(i=this.transaction(t,o?"readwrite":"readonly"),s=i.store,l=f.length,c=new Array(l>1?l-1:0),u=1;u<l;u++)c[u-1]=f[u];return r&&(s=s.index(c.shift())),e.next=6,Promise.all([(a=s)[n].apply(a,c),o&&i.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 rp.set(t,a),a}}}Xd((function(e){return V(V({},e),{},{get:function(t,n,r){return op(t,n)||e.get(t,n,r)},has:function(t,n){return!!op(t,n)||e.has(t,n)}})}));var ap=["continue","continuePrimaryKey","advance"],ip={},sp=new WeakMap,lp=new WeakMap,cp={get:function(e,t){if(!ap.includes(t))return e[t];var n=ip[t];return n||(n=ip[t]=function(){var e;sp.set(this,(e=lp.get(this))[t].apply(e,arguments))}),n}};function up(){return fp.apply(this,arguments)}function fp(){var e;return e=J().mark((function e(){var t,n,r,o=arguments;return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((t=this)instanceof IDBCursor){e.next=5;break}return e.next=4,W((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,cp),lp.set(r,t),Kd.set(r,ep(t));case 11:if(!t){e.next=20;break}return e.next=14,r;case 14:return e.next=16,W(sp.get(r)||t.continue());case 16:t=e.sent,sp.delete(r),e.next=11;break;case 20:case"end":return e.stop()}}),e,this)})),fp=function(){return new U(e.apply(this,arguments))},fp.apply(this,arguments)}function dp(e,t){return t===Symbol.asyncIterator&&Wd(e,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===t&&Wd(e,[IDBIndex,IDBObjectStore])}Xd((function(e){return V(V({},e),{},{get:function(t,n,r){return dp(t,n)?up:e.get(t,n,r)},has:function(t,n){return dp(t,n)||e.has(t,n)}})}));var pp={},hp={},mp={},gp={},yp={};Object.defineProperty(yp,"__esModule",{value:!0}),yp.isFunction=void 0,yp.isFunction=function(e){return"function"==typeof e};var vp={},bp={},_p={};Object.defineProperty(_p,"__esModule",{value:!0}),_p.createErrorClass=void 0,_p.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(bp,"__esModule",{value:!0}),bp.UnsubscriptionError=void 0,bp.UnsubscriptionError=_p.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 wp={};Object.defineProperty(wp,"__esModule",{value:!0}),wp.arrRemove=void 0,wp.arrRemove=function(e,t){if(e){var n=e.indexOf(t);0<=n&&e.splice(n,1)}};var Sp=D&&D.__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.")},xp=D&&D.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},Ep=D&&D.__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(vp,"__esModule",{value:!0}),vp.isSubscription=vp.EMPTY_SUBSCRIPTION=vp.Subscription=void 0;var kp=yp,Ap=bp,Cp=wp,Op=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 a=this._parentage;if(a)if(this._parentage=null,Array.isArray(a))try{for(var i=Sp(a),s=i.next();!s.done;s=i.next())s.value.remove(this)}catch(t){e={error:t}}finally{try{s&&!s.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}else a.remove(this);var l=this.initialTeardown;if(kp.isFunction(l))try{l()}catch(e){o=e instanceof Ap.UnsubscriptionError?e.errors:[e]}var c=this._finalizers;if(c){this._finalizers=null;try{for(var u=Sp(c),f=u.next();!f.done;f=u.next()){var d=f.value;try{Np(d)}catch(e){o=null!=o?o:[],e instanceof Ap.UnsubscriptionError?o=Ep(Ep([],xp(o)),xp(e.errors)):o.push(e)}}}catch(e){n={error:e}}finally{try{f&&!f.done&&(r=u.return)&&r.call(u)}finally{if(n)throw n.error}}}if(o)throw new Ap.UnsubscriptionError(o)}},e.prototype.add=function(t){var n;if(t&&t!==this)if(this.closed)Np(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)&&Cp.arrRemove(t,e)},e.prototype.remove=function(t){var n=this._finalizers;n&&Cp.arrRemove(n,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}();function Np(e){kp.isFunction(e)?e():e.unsubscribe()}vp.Subscription=Op,vp.EMPTY_SUBSCRIPTION=Op.EMPTY,vp.isSubscription=function(e){return e instanceof Op||e&&"closed"in e&&kp.isFunction(e.remove)&&kp.isFunction(e.add)&&kp.isFunction(e.unsubscribe)};var Rp={};Object.defineProperty(Rp,"__esModule",{value:!0}),Rp.config=void 0,Rp.config={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var Tp={},Ip={};!function(e){var t=D&&D.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},n=D&&D.__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 a=[],i=2;i<arguments.length;i++)a[i-2]=arguments[i];var s=e.timeoutProvider.delegate;return(null==s?void 0:s.setTimeout)?s.setTimeout.apply(s,n([r,o],t(a))):setTimeout.apply(void 0,n([r,o],t(a)))})),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}}(Ip),Object.defineProperty(Tp,"__esModule",{value:!0}),Tp.reportUnhandledError=void 0;var Pp=Rp,Mp=Ip;Tp.reportUnhandledError=function(e){Mp.timeoutProvider.setTimeout((function(){var t=Pp.config.onUnhandledError;if(!t)throw e;t(e)}))};var Fp={};Object.defineProperty(Fp,"__esModule",{value:!0}),Fp.noop=void 0,Fp.noop=function(){};var jp={};function Dp(e,t,n){return{kind:e,value:t,error:n}}Object.defineProperty(jp,"__esModule",{value:!0}),jp.createNotification=jp.nextNotification=jp.errorNotification=jp.COMPLETE_NOTIFICATION=void 0,jp.COMPLETE_NOTIFICATION=function(){return Dp("C",void 0,void 0)}(),jp.errorNotification=function(e){return Dp("E",void 0,e)},jp.nextNotification=function(e){return Dp("N",e,void 0)},jp.createNotification=Dp;var Lp={};Object.defineProperty(Lp,"__esModule",{value:!0}),Lp.captureError=Lp.errorContext=void 0;var qp=Rp,Bp=null;Lp.errorContext=function(e){if(qp.config.useDeprecatedSynchronousErrorHandling){var t=!Bp;if(t&&(Bp={errorThrown:!1,error:null}),e(),t){var n=Bp;if(Bp=null,n.errorThrown)throw n.error}}else e()},Lp.captureError=function(e){qp.config.useDeprecatedSynchronousErrorHandling&&Bp&&(Bp.errorThrown=!0,Bp.error=e)},function(e){var t=D&&D.__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=yp,r=vp,o=Rp,a=Tp,i=Fp,s=jp,l=Ip,c=Lp,u=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 h(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=u;var f=Function.prototype.bind;function d(e,t){return f.call(e,t)}var p=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}(),h=function(e){function r(t,r,a){var i,s,l=e.call(this)||this;return n.isFunction(t)||!t?i={next:null!=t?t:void 0,error:null!=r?r:void 0,complete:null!=a?a:void 0}:l&&o.config.useDeprecatedNextContext?((s=Object.create(t)).unsubscribe=function(){return l.unsubscribe()},i={next:t.next&&d(t.next,s),error:t.error&&d(t.error,s),complete:t.complete&&d(t.complete,s)}):i=t,l.destination=new p(i),l}return t(r,e),r}(u);function m(e){o.config.useDeprecatedSynchronousErrorHandling?c.captureError(e):a.reportUnhandledError(e)}function g(e,t){var n=o.config.onStoppedNotification;n&&l.timeoutProvider.setTimeout((function(){return n(e,t)}))}e.SafeSubscriber=h,e.EMPTY_OBSERVER={closed:!0,next:i.noop,error:function(e){throw e},complete:i.noop}}(gp);var Up={};Object.defineProperty(Up,"__esModule",{value:!0}),Up.observable=void 0,Up.observable=function(){return"function"==typeof Symbol&&Symbol.observable||"@@observable"}();var zp={},Hp={};Object.defineProperty(Hp,"__esModule",{value:!0}),Hp.identity=void 0,Hp.identity=function(e){return e},Object.defineProperty(zp,"__esModule",{value:!0}),zp.pipeFromArray=zp.pipe=void 0;var Gp=Hp;function Wp(e){return 0===e.length?Gp.identity:1===e.length?e[0]:function(t){return e.reduce((function(e,t){return t(e)}),t)}}zp.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Wp(e)},zp.pipeFromArray=Wp,Object.defineProperty(mp,"__esModule",{value:!0}),mp.Observable=void 0;var $p=gp,Vp=vp,Jp=Up,Yp=zp,Kp=Rp,Zp=yp,Xp=Lp,Qp=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 $p.Subscriber||function(e){return e&&Zp.isFunction(e.next)&&Zp.isFunction(e.error)&&Zp.isFunction(e.complete)}(e)&&Vp.isSubscription(e)}(e)?e:new $p.SafeSubscriber(e,t,n);return Xp.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=eh(t))((function(t,r){var o=new $p.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[Jp.observable]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Yp.pipeFromArray(e)(this)},e.prototype.toPromise=function(e){var t=this;return new(e=eh(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 eh(e){var t;return null!==(t=null!=e?e:Kp.config.Promise)&&void 0!==t?t:Promise}mp.Observable=Qp;var th={},nh={},rh={};Object.defineProperty(rh,"__esModule",{value:!0}),rh.operate=rh.hasLift=void 0;var oh=yp;function ah(e){return oh.isFunction(null==e?void 0:e.lift)}rh.hasLift=ah,rh.operate=function(e){return function(t){if(ah(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 ih={},sh=D&&D.__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(ih,"__esModule",{value:!0}),ih.OperatorSubscriber=ih.createOperatorSubscriber=void 0;var lh=gp;ih.createOperatorSubscriber=function(e,t,n,r,o){return new ch(e,t,n,r,o)};var ch=function(e){function t(t,n,r,o,a,i){var s=e.call(this,t)||this;return s.onFinalize=a,s.shouldUnsubscribe=i,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 sh(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}(lh.Subscriber);ih.OperatorSubscriber=ch,Object.defineProperty(nh,"__esModule",{value:!0}),nh.refCount=void 0;var uh=rh,fh=ih;nh.refCount=function(){return uh.operate((function(e,t){var n=null;e._refCount++;var r=fh.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 dh=D&&D.__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(th,"__esModule",{value:!0}),th.ConnectableObservable=void 0;var ph=vp,hh=nh,mh=ih,gh=rh,yh=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,gh.hasLift(t)&&(r.lift=t.lift),r}return dh(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 ph.Subscription;var n=this.getSubject();t.add(this.source.subscribe(mh.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=ph.Subscription.EMPTY)}return t},t.prototype.refCount=function(){return hh.refCount()(this)},t}(mp.Observable);th.ConnectableObservable=yh;var vh={},bh={};!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}}(bh);var _h={};!function(e){var t=D&&D.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},n=D&&D.__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=vp;e.animationFrameProvider={schedule:function(t){var n=requestAnimationFrame,o=cancelAnimationFrame,a=e.animationFrameProvider.delegate;a&&(n=a.requestAnimationFrame,o=a.cancelAnimationFrame);var i=n((function(e){o=void 0,t(e)}));return new r.Subscription((function(){return null==o?void 0:o(i)}))},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 a=e.animationFrameProvider.delegate;return((null==a?void 0:a.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 a=e.animationFrameProvider.delegate;return((null==a?void 0:a.cancelAnimationFrame)||cancelAnimationFrame).apply(void 0,n([],t(r)))})),delegate:void 0}}(_h),Object.defineProperty(vh,"__esModule",{value:!0}),vh.animationFrames=void 0;var wh=mp,Sh=bh,xh=_h;function Eh(e){return new wh.Observable((function(t){var n=e||Sh.performanceTimestampProvider,r=n.now(),o=0;return function a(){t.closed||(o=xh.animationFrameProvider.requestAnimationFrame((function(i){o=0;var s=n.now();t.next({timestamp:e?s:i,elapsed:s-r}),a()})))}(),function(){o&&xh.animationFrameProvider.cancelAnimationFrame(o)}}))}vh.animationFrames=function(e){return e?Eh(e):kh};var kh=Eh(),Ah={},Ch={};Object.defineProperty(Ch,"__esModule",{value:!0}),Ch.ObjectUnsubscribedError=void 0,Ch.ObjectUnsubscribedError=_p.createErrorClass((function(e){return function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}));var Oh=D&&D.__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)}}(),Nh=D&&D.__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(Ah,"__esModule",{value:!0}),Ah.AnonymousSubject=Ah.Subject=void 0;var Rh=mp,Th=vp,Ih=Ch,Ph=wp,Mh=Lp,Fh=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 Oh(t,e),t.prototype.lift=function(e){var t=new jh(this,this);return t.operator=e,t},t.prototype._throwIfClosed=function(){if(this.closed)throw new Ih.ObjectUnsubscribedError},t.prototype.next=function(e){var t=this;Mh.errorContext((function(){var n,r;if(t._throwIfClosed(),!t.isStopped){t.currentObservers||(t.currentObservers=Array.from(t.observers));try{for(var o=Nh(t.currentObservers),a=o.next();!a.done;a=o.next())a.value.next(e)}catch(e){n={error:e}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}}}))},t.prototype.error=function(e){var t=this;Mh.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;Mh.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?Th.EMPTY_SUBSCRIPTION:(this.currentObservers=null,r.push(e),new Th.Subscription((function(){t.currentObservers=null,Ph.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 Rh.Observable;return e.source=this,e},t.create=function(e,t){return new jh(e,t)},t}(Rh.Observable);Ah.Subject=Fh;var jh=function(e){function t(t,n){var r=e.call(this)||this;return r.destination=t,r.source=n,r}return Oh(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:Th.EMPTY_SUBSCRIPTION},t}(Fh);Ah.AnonymousSubject=jh;var Dh={},Lh=D&&D.__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.BehaviorSubject=void 0;var qh=function(e){function t(t){var n=e.call(this)||this;return n._value=t,n}return Lh(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}(Ah.Subject);Dh.BehaviorSubject=qh;var Bh={},Uh={};!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}}(Uh);var zh=D&&D.__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(Bh,"__esModule",{value:!0}),Bh.ReplaySubject=void 0;var Hh=Uh,Gh=function(e){function t(t,n,r){void 0===t&&(t=Infinity),void 0===n&&(n=Infinity),void 0===r&&(r=Hh.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 zh(t,e),t.prototype.next=function(t){var n=this,r=n._buffer,o=n._infiniteTimeWindow,a=n._timestampProvider,i=n._windowTime;n.isStopped||(r.push(t),!o&&r.push(a.now()+i)),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,a=(o?1:2)*t;if(t<Infinity&&a<r.length&&r.splice(0,r.length-a),!o){for(var i=n.now(),s=0,l=1;l<r.length&&r[l]<=i;l+=2)s=l;s&&r.splice(0,s+1)}},t}(Ah.Subject);Bh.ReplaySubject=Gh;var Wh={},$h=D&&D.__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(Wh,"__esModule",{value:!0}),Wh.AsyncSubject=void 0;var Vh=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 $h(t,e),t.prototype._checkFinalizedStatuses=function(e){var t=this,n=t._hasValue,r=t._value,o=t.isStopped,a=t._isComplete;t.hasError?e.error(t.thrownError):(o||a)&&(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}(Ah.Subject);Wh.AsyncSubject=Vh;var Jh={},Yh={},Kh={},Zh={},Xh=D&&D.__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(Zh,"__esModule",{value:!0}),Zh.Action=void 0,Zh.Action=function(e){function t(t,n){return e.call(this)||this}return Xh(t,e),t.prototype.schedule=function(e,t){return this},t}(vp.Subscription);var Qh={};!function(e){var t=D&&D.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},n=D&&D.__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 a=[],i=2;i<arguments.length;i++)a[i-2]=arguments[i];var s=e.intervalProvider.delegate;return(null==s?void 0:s.setInterval)?s.setInterval.apply(s,n([r,o],t(a))):setInterval.apply(void 0,n([r,o],t(a)))})),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}}(Qh);var em=D&&D.__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(Kh,"__esModule",{value:!0}),Kh.AsyncAction=void 0;var tm=Qh,nm=wp,rm=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 em(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),tm.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&&tm.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,nm.arrRemove(r,this),null!=t&&(this.id=this.recycleAsyncId(n,t,null)),this.delay=null,e.prototype.unsubscribe.call(this)}},t}(Zh.Action);Kh.AsyncAction=rm;var om={},am={};Object.defineProperty(am,"__esModule",{value:!0}),am.TestTools=am.Immediate=void 0;var im,sm=1,lm={};function cm(e){return e in lm&&(delete lm[e],!0)}am.Immediate={setImmediate:function(e){var t=sm++;return lm[t]=!0,im||(im=Promise.resolve()),im.then((function(){return cm(t)&&e()})),t},clearImmediate:function(e){cm(e)}},am.TestTools={pending:function(){return Object.keys(lm).length}},function(e){var t=D&&D.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},n=D&&D.__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=am.Immediate.setImmediate,o=am.Immediate.clearImmediate;e.immediateProvider={setImmediate:function(){for(var o=[],a=0;a<arguments.length;a++)o[a]=arguments[a];var i=e.immediateProvider.delegate;return((null==i?void 0:i.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}}(om);var um=D&&D.__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(Yh,"__esModule",{value:!0}),Yh.AsapAction=void 0;var fm=om;Yh.AsapAction=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r}return um(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=fm.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 a=t.actions;null!=n&&(null===(o=a[a.length-1])||void 0===o?void 0:o.id)!==n&&(fm.immediateProvider.clearImmediate(n),t._scheduled===n&&(t._scheduled=void 0))},t}(Kh.AsyncAction);var dm={},pm={},hm={};Object.defineProperty(hm,"__esModule",{value:!0}),hm.Scheduler=void 0;var mm=Uh;hm.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=mm.dateTimestampProvider.now,e}();var gm=D&&D.__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.AsyncScheduler=void 0;var ym=hm;pm.AsyncScheduler=function(e){function t(t,n){void 0===n&&(n=ym.Scheduler.now);var r=e.call(this,t,n)||this;return r.actions=[],r._active=!1,r}return gm(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}(ym.Scheduler);var vm=D&&D.__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(dm,"__esModule",{value:!0}),dm.AsapScheduler=void 0;var bm=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return vm(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}(pm.AsyncScheduler);dm.AsapScheduler=bm,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.asap=e.asapScheduler=void 0,e.asapScheduler=new dm.AsapScheduler(Yh.AsapAction),e.asap=e.asapScheduler}(Jh);var _m={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.async=e.asyncScheduler=void 0,e.asyncScheduler=new pm.AsyncScheduler(Kh.AsyncAction),e.async=e.asyncScheduler}(_m);var wm={},Sm={},xm=D&&D.__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.QueueAction=void 0,Sm.QueueAction=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r}return xm(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}(Kh.AsyncAction);var Em={},km=D&&D.__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(Em,"__esModule",{value:!0}),Em.QueueScheduler=void 0;var Am=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return km(t,e),t}(pm.AsyncScheduler);Em.QueueScheduler=Am,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.queue=e.queueScheduler=void 0,e.queueScheduler=new Em.QueueScheduler(Sm.QueueAction),e.queue=e.queueScheduler}(wm);var Cm={},Om={},Nm=D&&D.__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(Om,"__esModule",{value:!0}),Om.AnimationFrameAction=void 0;var Rm=_h;Om.AnimationFrameAction=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r}return Nm(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=Rm.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 a=t.actions;null!=n&&(null===(o=a[a.length-1])||void 0===o?void 0:o.id)!==n&&(Rm.animationFrameProvider.cancelAnimationFrame(n),t._scheduled=void 0)},t}(Kh.AsyncAction);var Tm={},Im=D&&D.__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(Tm,"__esModule",{value:!0}),Tm.AnimationFrameScheduler=void 0;var Pm=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Im(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}(pm.AsyncScheduler);Tm.AnimationFrameScheduler=Pm,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.animationFrame=e.animationFrameScheduler=void 0,e.animationFrameScheduler=new Tm.AnimationFrameScheduler(Om.AnimationFrameAction),e.animationFrame=e.animationFrameScheduler}(Cm);var Mm={},Fm=D&&D.__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(Mm,"__esModule",{value:!0}),Mm.VirtualAction=Mm.VirtualTimeScheduler=void 0;var jm=Kh,Dm=vp;Mm.VirtualTimeScheduler=function(e){function t(t,n){void 0===t&&(t=Lm),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 Fm(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}(pm.AsyncScheduler);var Lm=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 Fm(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 Dm.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}(jm.AsyncAction);Mm.VirtualAction=Lm;var qm={},Bm={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.empty=e.EMPTY=void 0;var t=mp;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}}(Bm);var Um={},zm={},Hm={};Object.defineProperty(Hm,"__esModule",{value:!0}),Hm.isScheduler=void 0;var Gm=yp;Hm.isScheduler=function(e){return e&&Gm.isFunction(e.schedule)},Object.defineProperty(zm,"__esModule",{value:!0}),zm.popNumber=zm.popScheduler=zm.popResultSelector=void 0;var Wm=yp,$m=Hm;function Vm(e){return e[e.length-1]}zm.popResultSelector=function(e){return Wm.isFunction(Vm(e))?e.pop():void 0},zm.popScheduler=function(e){return $m.isScheduler(Vm(e))?e.pop():void 0},zm.popNumber=function(e,t){return"number"==typeof Vm(e)?e.pop():t};var Jm={},Ym={},Km={},Zm={},Xm={};Object.defineProperty(Xm,"__esModule",{value:!0}),Xm.isArrayLike=void 0,Xm.isArrayLike=function(e){return e&&"number"==typeof e.length&&"function"!=typeof e};var Qm={};Object.defineProperty(Qm,"__esModule",{value:!0}),Qm.isPromise=void 0;var eg=yp;Qm.isPromise=function(e){return eg.isFunction(null==e?void 0:e.then)};var tg={};Object.defineProperty(tg,"__esModule",{value:!0}),tg.isInteropObservable=void 0;var ng=Up,rg=yp;tg.isInteropObservable=function(e){return rg.isFunction(e[ng.observable])};var og={};Object.defineProperty(og,"__esModule",{value:!0}),og.isAsyncIterable=void 0;var ag=yp;og.isAsyncIterable=function(e){return Symbol.asyncIterator&&ag.isFunction(null==e?void 0:e[Symbol.asyncIterator])};var ig={};Object.defineProperty(ig,"__esModule",{value:!0}),ig.createInvalidObservableTypeError=void 0,ig.createInvalidObservableTypeError=function(e){return new TypeError("You provided "+(null!==e&&"object"===Y(e)?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")};var sg={},lg={};function cg(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}Object.defineProperty(lg,"__esModule",{value:!0}),lg.iterator=lg.getSymbolIterator=void 0,lg.getSymbolIterator=cg,lg.iterator=cg(),Object.defineProperty(sg,"__esModule",{value:!0}),sg.isIterable=void 0;var ug=lg,fg=yp;sg.isIterable=function(e){return fg.isFunction(null==e?void 0:e[ug.iterator])};var dg={},pg=D&&D.__generator||function(e,t){var n,r,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,r=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!((o=(o=i.trys).length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1],o=a;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(a);break}o[2]&&i.ops.pop(),i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},hg=D&&D.__await||function(e){return this instanceof hg?(this.v=e,this):new hg(e)},mg=D&&D.__asyncGenerator||function(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=n.apply(e,t||[]),a=[];return r={},i("next"),i("throw"),i("return"),r[Symbol.asyncIterator]=function(){return this},r;function i(e){o[e]&&(r[e]=function(t){return new Promise((function(n,r){a.push([e,t,n,r])>1||s(e,t)}))})}function s(e,t){try{!function(e){e.value instanceof hg?Promise.resolve(e.value.v).then(l,c):u(a[0][2],e)}(o[e](t))}catch(e){u(a[0][3],e)}}function l(e){s("next",e)}function c(e){s("throw",e)}function u(e,t){e(t),a.shift(),a.length&&s(a[0][0],a[0][1])}};Object.defineProperty(dg,"__esModule",{value:!0}),dg.isReadableStreamLike=dg.readableStreamLikeToAsyncGenerator=void 0;var gg=yp;dg.readableStreamLikeToAsyncGenerator=function(e){return mg(this,arguments,(function(){var t,n,r;return pg(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,hg(t.read())];case 3:return n=o.sent(),r=n.value,n.done?[4,hg(void 0)]:[3,5];case 4:return[2,o.sent()];case 5:return[4,hg(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]}}))}))},dg.isReadableStreamLike=function(e){return gg.isFunction(null==e?void 0:e.getReader)};var yg=D&&D.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,a){function i(e){try{l(r.next(e))}catch(e){a(e)}}function s(e){try{l(r.throw(e))}catch(e){a(e)}}function l(e){e.done?o(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(i,s)}l((r=r.apply(e,t||[])).next())}))},vg=D&&D.__generator||function(e,t){var n,r,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,r=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!((o=(o=i.trys).length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1],o=a;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(a);break}o[2]&&i.ops.pop(),i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},bg=D&&D.__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 _g?_g(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)}))}}},_g=D&&D.__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(Zm,"__esModule",{value:!0}),Zm.fromReadableStreamLike=Zm.fromAsyncIterable=Zm.fromIterable=Zm.fromPromise=Zm.fromArrayLike=Zm.fromInteropObservable=Zm.innerFrom=void 0;var wg=Xm,Sg=Qm,xg=mp,Eg=tg,kg=og,Ag=ig,Cg=sg,Og=dg,Ng=yp,Rg=Tp,Tg=Up;function Ig(e){return new xg.Observable((function(t){var n=e[Tg.observable]();if(Ng.isFunction(n.subscribe))return n.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")}))}function Pg(e){return new xg.Observable((function(t){for(var n=0;n<e.length&&!t.closed;n++)t.next(e[n]);t.complete()}))}function Mg(e){return new xg.Observable((function(t){e.then((function(e){t.closed||(t.next(e),t.complete())}),(function(e){return t.error(e)})).then(null,Rg.reportUnhandledError)}))}function Fg(e){return new xg.Observable((function(t){var n,r;try{for(var o=_g(e),a=o.next();!a.done;a=o.next())if(t.next(a.value),t.closed)return}catch(e){n={error:e}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}t.complete()}))}function jg(e){return new xg.Observable((function(t){(function(e,t){var n,r,o,a;return yg(this,void 0,void 0,(function(){var i;return vg(this,(function(s){switch(s.label){case 0:s.trys.push([0,5,6,11]),n=bg(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 i=s.sent(),o={error:i},[3,11];case 6:return s.trys.push([6,,9,10]),r&&!r.done&&(a=n.return)?[4,a.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 Dg(e){return jg(Og.readableStreamLikeToAsyncGenerator(e))}Zm.innerFrom=function(e){if(e instanceof xg.Observable)return e;if(null!=e){if(Eg.isInteropObservable(e))return Ig(e);if(wg.isArrayLike(e))return Pg(e);if(Sg.isPromise(e))return Mg(e);if(kg.isAsyncIterable(e))return jg(e);if(Cg.isIterable(e))return Fg(e);if(Og.isReadableStreamLike(e))return Dg(e)}throw Ag.createInvalidObservableTypeError(e)},Zm.fromInteropObservable=Ig,Zm.fromArrayLike=Pg,Zm.fromPromise=Mg,Zm.fromIterable=Fg,Zm.fromAsyncIterable=jg,Zm.fromReadableStreamLike=Dg;var Lg={},qg={};Object.defineProperty(qg,"__esModule",{value:!0}),qg.executeSchedule=void 0,qg.executeSchedule=function(e,t,n,r,o){void 0===r&&(r=0),void 0===o&&(o=!1);var a=t.schedule((function(){n(),o?e.add(this.schedule(null,r)):this.unsubscribe()}),r);if(e.add(a),!o)return a},Object.defineProperty(Lg,"__esModule",{value:!0}),Lg.observeOn=void 0;var Bg=qg,Ug=rh,zg=ih;Lg.observeOn=function(e,t){return void 0===t&&(t=0),Ug.operate((function(n,r){n.subscribe(zg.createOperatorSubscriber(r,(function(n){return Bg.executeSchedule(r,e,(function(){return r.next(n)}),t)}),(function(){return Bg.executeSchedule(r,e,(function(){return r.complete()}),t)}),(function(n){return Bg.executeSchedule(r,e,(function(){return r.error(n)}),t)})))}))};var Hg={};Object.defineProperty(Hg,"__esModule",{value:!0}),Hg.subscribeOn=void 0;var Gg=rh;Hg.subscribeOn=function(e,t){return void 0===t&&(t=0),Gg.operate((function(n,r){r.add(e.schedule((function(){return n.subscribe(r)}),t))}))},Object.defineProperty(Km,"__esModule",{value:!0}),Km.scheduleObservable=void 0;var Wg=Zm,$g=Lg,Vg=Hg;Km.scheduleObservable=function(e,t){return Wg.innerFrom(e).pipe(Vg.subscribeOn(t),$g.observeOn(t))};var Jg={};Object.defineProperty(Jg,"__esModule",{value:!0}),Jg.schedulePromise=void 0;var Yg=Zm,Kg=Lg,Zg=Hg;Jg.schedulePromise=function(e,t){return Yg.innerFrom(e).pipe(Zg.subscribeOn(t),Kg.observeOn(t))};var Xg={};Object.defineProperty(Xg,"__esModule",{value:!0}),Xg.scheduleArray=void 0;var Qg=mp;Xg.scheduleArray=function(e,t){return new Qg.Observable((function(n){var r=0;return t.schedule((function(){r===e.length?n.complete():(n.next(e[r++]),n.closed||this.schedule())}))}))};var ey={};Object.defineProperty(ey,"__esModule",{value:!0}),ey.scheduleIterable=void 0;var ty=mp,ny=lg,ry=yp,oy=qg;ey.scheduleIterable=function(e,t){return new ty.Observable((function(n){var r;return oy.executeSchedule(n,t,(function(){r=e[ny.iterator](),oy.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 ry.isFunction(null==r?void 0:r.return)&&r.return()}}))};var ay={};Object.defineProperty(ay,"__esModule",{value:!0}),ay.scheduleAsyncIterable=void 0;var iy=mp,sy=qg;ay.scheduleAsyncIterable=function(e,t){if(!e)throw new Error("Iterable cannot be null");return new iy.Observable((function(n){sy.executeSchedule(n,t,(function(){var r=e[Symbol.asyncIterator]();sy.executeSchedule(n,t,(function(){r.next().then((function(e){e.done?n.complete():n.next(e.value)}))}),0,!0)}))}))};var ly={};Object.defineProperty(ly,"__esModule",{value:!0}),ly.scheduleReadableStreamLike=void 0;var cy=ay,uy=dg;ly.scheduleReadableStreamLike=function(e,t){return cy.scheduleAsyncIterable(uy.readableStreamLikeToAsyncGenerator(e),t)},Object.defineProperty(Ym,"__esModule",{value:!0}),Ym.scheduled=void 0;var fy=Km,dy=Jg,py=Xg,hy=ey,my=ay,gy=tg,yy=Qm,vy=Xm,by=sg,_y=og,wy=ig,Sy=dg,xy=ly;Ym.scheduled=function(e,t){if(null!=e){if(gy.isInteropObservable(e))return fy.scheduleObservable(e,t);if(vy.isArrayLike(e))return py.scheduleArray(e,t);if(yy.isPromise(e))return dy.schedulePromise(e,t);if(_y.isAsyncIterable(e))return my.scheduleAsyncIterable(e,t);if(by.isIterable(e))return hy.scheduleIterable(e,t);if(Sy.isReadableStreamLike(e))return xy.scheduleReadableStreamLike(e,t)}throw wy.createInvalidObservableTypeError(e)},Object.defineProperty(Jm,"__esModule",{value:!0}),Jm.from=void 0;var Ey=Ym,ky=Zm;Jm.from=function(e,t){return t?Ey.scheduled(e,t):ky.innerFrom(e)},Object.defineProperty(Um,"__esModule",{value:!0}),Um.of=void 0;var Ay=zm,Cy=Jm;Um.of=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=Ay.popScheduler(e);return Cy.from(e,n)};var Oy={};Object.defineProperty(Oy,"__esModule",{value:!0}),Oy.throwError=void 0;var Ny=mp,Ry=yp;Oy.throwError=function(e,t){var n=Ry.isFunction(e)?e:function(){return e},r=function(e){return e.error(n())};return new Ny.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=Bm,r=Um,o=Oy,a=yp;(t=e.NotificationKind||(e.NotificationKind={})).NEXT="N",t.ERROR="E",t.COMPLETE="C";var i=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,a=r.error;return"N"===o?null==e?void 0:e(r.value):"E"===o?null==t?void 0:t(a):null==n?void 0:n()},e.prototype.accept=function(e,t,n){var r;return a.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,a=e.error,i="N"===t?r.of(e.value):"E"===t?o.throwError((function(){return a})):"C"===t?n.EMPTY:0;if(!i)throw new TypeError("Unexpected notification kind "+t);return i},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,a=e.kind,i=e.value,s=e.error;if("string"!=typeof a)throw new TypeError('Invalid notification, missing "kind"');"N"===a?null===(n=t.next)||void 0===n||n.call(t,i):"E"===a?null===(r=t.error)||void 0===r||r.call(t,s):null===(o=t.complete)||void 0===o||o.call(t)}e.Notification=i,e.observeNotification=s}(qm);var Ty={};Object.defineProperty(Ty,"__esModule",{value:!0}),Ty.isObservable=void 0;var Iy=mp,Py=yp;Ty.isObservable=function(e){return!!e&&(e instanceof Iy.Observable||Py.isFunction(e.lift)&&Py.isFunction(e.subscribe))};var My={},Fy={};Object.defineProperty(Fy,"__esModule",{value:!0}),Fy.EmptyError=void 0,Fy.EmptyError=_p.createErrorClass((function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}})),Object.defineProperty(My,"__esModule",{value:!0}),My.lastValueFrom=void 0;var jy=Fy;My.lastValueFrom=function(e,t){var n="object"===Y(t);return new Promise((function(r,o){var a,i=!1;e.subscribe({next:function(e){a=e,i=!0},error:o,complete:function(){i?r(a):n?r(t.defaultValue):o(new jy.EmptyError)}})}))};var Dy={};Object.defineProperty(Dy,"__esModule",{value:!0}),Dy.firstValueFrom=void 0;var Ly=Fy,qy=gp;Dy.firstValueFrom=function(e,t){var n="object"===Y(t);return new Promise((function(r,o){var a=new qy.SafeSubscriber({next:function(e){r(e),a.unsubscribe()},error:o,complete:function(){n?r(t.defaultValue):o(new Ly.EmptyError)}});e.subscribe(a)}))};var By={};Object.defineProperty(By,"__esModule",{value:!0}),By.ArgumentOutOfRangeError=void 0,By.ArgumentOutOfRangeError=_p.createErrorClass((function(e){return function(){e(this),this.name="ArgumentOutOfRangeError",this.message="argument out of range"}}));var Uy={};Object.defineProperty(Uy,"__esModule",{value:!0}),Uy.NotFoundError=void 0,Uy.NotFoundError=_p.createErrorClass((function(e){return function(t){e(this),this.name="NotFoundError",this.message=t}}));var zy={};Object.defineProperty(zy,"__esModule",{value:!0}),zy.SequenceError=void 0,zy.SequenceError=_p.createErrorClass((function(e){return function(t){e(this),this.name="SequenceError",this.message=t}}));var Hy={},Gy={};Object.defineProperty(Gy,"__esModule",{value:!0}),Gy.isValidDate=void 0,Gy.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=_m,n=Gy,r=rh,o=Zm,a=ih,i=qg;function s(t){throw new e.TimeoutError(t)}e.TimeoutError=_p.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,l){var c=n.isValidDate(e)?{first:e}:"number"==typeof e?{each:e}:e,u=c.first,f=c.each,d=c.with,p=void 0===d?s:d,h=c.scheduler,m=void 0===h?null!=l?l:t.asyncScheduler:h,g=c.meta,y=void 0===g?null:g;if(null==u&&null==f)throw new TypeError("No timeout provided.");return r.operate((function(e,t){var n,r,s=null,l=0,c=function(e){r=i.executeSchedule(t,m,(function(){try{n.unsubscribe(),o.innerFrom(p({meta:y,lastValue:s,seen:l})).subscribe(t)}catch(e){t.error(e)}}),e)};n=e.subscribe(a.createOperatorSubscriber(t,(function(e){null==r||r.unsubscribe(),l++,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}))),!l&&c(null!=u?"number"==typeof u?u:+u-m.now():f)}))}}(Hy);var Wy={},$y={},Vy={},Jy={};Object.defineProperty(Jy,"__esModule",{value:!0}),Jy.map=void 0;var Yy=rh,Ky=ih;Jy.map=function(e,t){return Yy.operate((function(n,r){var o=0;n.subscribe(Ky.createOperatorSubscriber(r,(function(n){r.next(e.call(t,n,o++))})))}))};var Zy=D&&D.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},Xy=D&&D.__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(Vy,"__esModule",{value:!0}),Vy.mapOneOrManyArgs=void 0;var Qy=Jy,ev=Array.isArray;Vy.mapOneOrManyArgs=function(e){return Qy.map((function(t){return function(e,t){return ev(t)?e.apply(void 0,Xy([],Zy(t))):e(t)}(e,t)}))};var tv=D&&D.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},nv=D&&D.__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($y,"__esModule",{value:!0}),$y.bindCallbackInternals=void 0;var rv=Hm,ov=mp,av=Hg,iv=Vy,sv=Lg,lv=Wh;$y.bindCallbackInternals=function e(t,n,r,o){if(r){if(!rv.isScheduler(r))return function(){for(var a=[],i=0;i<arguments.length;i++)a[i]=arguments[i];return e(t,n,o).apply(this,a).pipe(iv.mapOneOrManyArgs(r))};o=r}return o?function(){for(var r=[],a=0;a<arguments.length;a++)r[a]=arguments[a];return e(t,n).apply(this,r).pipe(av.subscribeOn(o),sv.observeOn(o))}:function(){for(var e=this,r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];var a=new lv.AsyncSubject,i=!0;return new ov.Observable((function(o){var s=a.subscribe(o);if(i){i=!1;var l=!1,c=!1;n.apply(e,nv(nv([],tv(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 a.error(r)}a.next(1<e.length?e:e[0]),c=!0,l&&a.complete()}])),c&&a.complete(),l=!0}return s}))}},Object.defineProperty(Wy,"__esModule",{value:!0}),Wy.bindCallback=void 0;var cv=$y;Wy.bindCallback=function(e,t,n){return cv.bindCallbackInternals(!1,e,t,n)};var uv={};Object.defineProperty(uv,"__esModule",{value:!0}),uv.bindNodeCallback=void 0;var fv=$y;uv.bindNodeCallback=function(e,t,n){return fv.bindCallbackInternals(!0,e,t,n)};var dv={},pv={};Object.defineProperty(pv,"__esModule",{value:!0}),pv.argsArgArrayOrObject=void 0;var hv=Array.isArray,mv=Object.getPrototypeOf,gv=Object.prototype,yv=Object.keys;pv.argsArgArrayOrObject=function(e){if(1===e.length){var t=e[0];if(hv(t))return{args:t,keys:null};if((r=t)&&"object"===Y(r)&&mv(r)===gv){var n=yv(t);return{args:n.map((function(e){return t[e]})),keys:n}}}var r;return{args:e,keys:null}};var vv={};Object.defineProperty(vv,"__esModule",{value:!0}),vv.createObject=void 0,vv.createObject=function(e,t){return e.reduce((function(e,n,r){return e[n]=t[r],e}),{})},Object.defineProperty(dv,"__esModule",{value:!0}),dv.combineLatestInit=dv.combineLatest=void 0;var bv=mp,_v=pv,wv=Jm,Sv=Hp,xv=Vy,Ev=zm,kv=vv,Av=ih,Cv=qg;function Ov(e,t,n){return void 0===n&&(n=Sv.identity),function(r){Nv(t,(function(){for(var o=e.length,a=new Array(o),i=o,s=o,l=function(o){Nv(t,(function(){var l=wv.from(e[o],t),c=!1;l.subscribe(Av.createOperatorSubscriber(r,(function(e){a[o]=e,c||(c=!0,s--),s||r.next(n(a.slice()))}),(function(){--i||r.complete()})))}),r)},c=0;c<o;c++)l(c)}),r)}}function Nv(e,t,n){e?Cv.executeSchedule(n,e,t):t()}dv.combineLatest=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=Ev.popScheduler(e),r=Ev.popResultSelector(e),o=_v.argsArgArrayOrObject(e),a=o.args,i=o.keys;if(0===a.length)return wv.from([],n);var s=new bv.Observable(Ov(a,n,i?function(e){return kv.createObject(i,e)}:Sv.identity));return r?s.pipe(xv.mapOneOrManyArgs(r)):s},dv.combineLatestInit=Ov;var Rv={},Tv={},Iv={},Pv={},Mv={};Object.defineProperty(Mv,"__esModule",{value:!0}),Mv.mergeInternals=void 0;var Fv=Zm,jv=qg,Dv=ih;Mv.mergeInternals=function(e,t,n,r,o,a,i,s){var l=[],c=0,u=0,f=!1,d=function(){!f||l.length||c||t.complete()},p=function(e){return c<r?h(e):l.push(e)},h=function e(s){a&&t.next(s),c++;var f=!1;Fv.innerFrom(n(s,u++)).subscribe(Dv.createOperatorSubscriber(t,(function(e){null==o||o(e),a?p(e):t.next(e)}),(function(){f=!0}),void 0,(function(){if(f)try{c--;for(var n=function(){var n=l.shift();i?jv.executeSchedule(t,i,(function(){return e(n)})):e(n)};l.length&&c<r;)n();d()}catch(e){t.error(e)}})))};return e.subscribe(Dv.createOperatorSubscriber(t,p,(function(){f=!0,d()}))),function(){null==s||s()}},Object.defineProperty(Pv,"__esModule",{value:!0}),Pv.mergeMap=void 0;var Lv=Jy,qv=Zm,Bv=rh,Uv=Mv,zv=yp;Pv.mergeMap=function e(t,n,r){return void 0===r&&(r=Infinity),zv.isFunction(n)?e((function(e,r){return Lv.map((function(t,o){return n(e,t,r,o)}))(qv.innerFrom(t(e,r)))}),r):("number"==typeof n&&(r=n),Bv.operate((function(e,n){return Uv.mergeInternals(e,n,t,r)})))},Object.defineProperty(Iv,"__esModule",{value:!0}),Iv.mergeAll=void 0;var Hv=Pv,Gv=Hp;Iv.mergeAll=function(e){return void 0===e&&(e=Infinity),Hv.mergeMap(Gv.identity,e)},Object.defineProperty(Tv,"__esModule",{value:!0}),Tv.concatAll=void 0;var Wv=Iv;Tv.concatAll=function(){return Wv.mergeAll(1)},Object.defineProperty(Rv,"__esModule",{value:!0}),Rv.concat=void 0;var $v=Tv,Vv=zm,Jv=Jm;Rv.concat=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return $v.concatAll()(Jv.from(e,Vv.popScheduler(e)))};var Yv={},Kv={};Object.defineProperty(Kv,"__esModule",{value:!0}),Kv.defer=void 0;var Zv=mp,Xv=Zm;Kv.defer=function(e){return new Zv.Observable((function(t){Xv.innerFrom(e()).subscribe(t)}))},Object.defineProperty(Yv,"__esModule",{value:!0}),Yv.connectable=void 0;var Qv=Ah,eb=mp,tb=Kv,nb={connector:function(){return new Qv.Subject},resetOnDisconnect:!0};Yv.connectable=function(e,t){void 0===t&&(t=nb);var n=null,r=t.connector,o=t.resetOnDisconnect,a=void 0===o||o,i=r(),s=new eb.Observable((function(e){return i.subscribe(e)}));return s.connect=function(){return n&&!n.closed||(n=tb.defer((function(){return e})).subscribe(i),a&&n.add((function(){return i=r()}))),n},s};var rb={};Object.defineProperty(rb,"__esModule",{value:!0}),rb.forkJoin=void 0;var ob=mp,ab=pv,ib=Zm,sb=zm,lb=ih,cb=Vy,ub=vv;rb.forkJoin=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=sb.popResultSelector(e),r=ab.argsArgArrayOrObject(e),o=r.args,a=r.keys,i=new ob.Observable((function(e){var t=o.length;if(t)for(var n=new Array(t),r=t,i=t,s=function(t){var s=!1;ib.innerFrom(o[t]).subscribe(lb.createOperatorSubscriber(e,(function(e){s||(s=!0,i--),n[t]=e}),(function(){return r--}),void 0,(function(){r&&s||(i||e.next(a?ub.createObject(a,n):n),e.complete())})))},l=0;l<t;l++)s(l);else e.complete()}));return n?i.pipe(cb.mapOneOrManyArgs(n)):i};var fb={},db=D&&D.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i};Object.defineProperty(fb,"__esModule",{value:!0}),fb.fromEvent=void 0;var pb=Zm,hb=mp,mb=Pv,gb=Xm,yb=yp,vb=Vy,bb=["addListener","removeListener"],_b=["addEventListener","removeEventListener"],wb=["on","off"];function Sb(e,t){return function(n){return function(r){return e[n](t,r)}}}fb.fromEvent=function e(t,n,r,o){if(yb.isFunction(r)&&(o=r,r=void 0),o)return e(t,n,r).pipe(vb.mapOneOrManyArgs(o));var a=db(function(e){return yb.isFunction(e.addEventListener)&&yb.isFunction(e.removeEventListener)}(t)?_b.map((function(e){return function(o){return t[e](n,o,r)}})):function(e){return yb.isFunction(e.addListener)&&yb.isFunction(e.removeListener)}(t)?bb.map(Sb(t,n)):function(e){return yb.isFunction(e.on)&&yb.isFunction(e.off)}(t)?wb.map(Sb(t,n)):[],2),i=a[0],s=a[1];if(!i&&gb.isArrayLike(t))return mb.mergeMap((function(t){return e(t,n,r)}))(pb.innerFrom(t));if(!i)throw new TypeError("Invalid event target");return new hb.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 i(t),function(){return s(t)}}))};var xb={};Object.defineProperty(xb,"__esModule",{value:!0}),xb.fromEventPattern=void 0;var Eb=mp,kb=yp,Ab=Vy;xb.fromEventPattern=function e(t,n,r){return r?e(t,n).pipe(Ab.mapOneOrManyArgs(r)):new Eb.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 kb.isFunction(n)?function(){return n(r,o)}:void 0}))};var Cb={},Ob=D&&D.__generator||function(e,t){var n,r,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,r=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!((o=(o=i.trys).length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1],o=a;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(a);break}o[2]&&i.ops.pop(),i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}};Object.defineProperty(Cb,"__esModule",{value:!0}),Cb.generate=void 0;var Nb=Hp,Rb=Hm,Tb=Kv,Ib=ey;Cb.generate=function(e,t,n,r,o){var a,i,s,l;function c(){var e;return Ob(this,(function(r){switch(r.label){case 0:e=l,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?(l=(a=e).initialState,t=a.condition,n=a.iterate,s=void 0===(i=a.resultSelector)?Nb.identity:i,o=a.scheduler):(l=e,!r||Rb.isScheduler(r)?(s=Nb.identity,o=r):s=r),Tb.defer(o?function(){return Ib.scheduleIterable(c(),o)}:c)};var Pb={};Object.defineProperty(Pb,"__esModule",{value:!0}),Pb.iif=void 0;var Mb=Kv;Pb.iif=function(e,t,n){return Mb.defer((function(){return e()?t:n}))};var Fb={},jb={};Object.defineProperty(jb,"__esModule",{value:!0}),jb.timer=void 0;var Db=mp,Lb=_m,qb=Hm,Bb=Gy;jb.timer=function(e,t,n){void 0===e&&(e=0),void 0===n&&(n=Lb.async);var r=-1;return null!=t&&(qb.isScheduler(t)?n=t:r=t),new Db.Observable((function(t){var o=Bb.isValidDate(e)?+e-n.now():e;o<0&&(o=0);var a=0;return n.schedule((function(){t.closed||(t.next(a++),0<=r?this.schedule(void 0,r):t.complete())}),o)}))},Object.defineProperty(Fb,"__esModule",{value:!0}),Fb.interval=void 0;var Ub=_m,zb=jb;Fb.interval=function(e,t){return void 0===e&&(e=0),void 0===t&&(t=Ub.asyncScheduler),e<0&&(e=0),zb.timer(e,e,t)};var Hb={};Object.defineProperty(Hb,"__esModule",{value:!0}),Hb.merge=void 0;var Gb=Iv,Wb=Zm,$b=Bm,Vb=zm,Jb=Jm;Hb.merge=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=Vb.popScheduler(e),r=Vb.popNumber(e,Infinity),o=e;return o.length?1===o.length?Wb.innerFrom(o[0]):Gb.mergeAll(r)(Jb.from(o,n)):$b.EMPTY};var Yb={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.never=e.NEVER=void 0,e.NEVER=new mp.Observable(Fp.noop),e.never=function(){return e.NEVER}}(Yb);var Kb={},Zb={};Object.defineProperty(Zb,"__esModule",{value:!0}),Zb.argsOrArgArray=void 0;var Xb=Array.isArray;Zb.argsOrArgArray=function(e){return 1===e.length&&Xb(e[0])?e[0]:e},Object.defineProperty(Kb,"__esModule",{value:!0}),Kb.onErrorResumeNext=void 0;var Qb=mp,e_=Zb,t_=ih,n_=Fp,r_=Zm;Kb.onErrorResumeNext=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=e_.argsOrArgArray(e);return new Qb.Observable((function(e){var t=0;!function r(){if(t<n.length){var o=void 0;try{o=r_.innerFrom(n[t++])}catch(e){return void r()}var a=new t_.OperatorSubscriber(e,void 0,n_.noop,n_.noop);o.subscribe(a),a.add(r)}else e.complete()}()}))};var o_={};Object.defineProperty(o_,"__esModule",{value:!0}),o_.pairs=void 0;var a_=Jm;o_.pairs=function(e,t){return a_.from(Object.entries(e),t)};var i_={},s_={};Object.defineProperty(s_,"__esModule",{value:!0}),s_.not=void 0,s_.not=function(e,t){return function(n,r){return!e.call(t,n,r)}};var l_={};Object.defineProperty(l_,"__esModule",{value:!0}),l_.filter=void 0;var c_=rh,u_=ih;l_.filter=function(e,t){return c_.operate((function(n,r){var o=0;n.subscribe(u_.createOperatorSubscriber(r,(function(n){return e.call(t,n,o++)&&r.next(n)})))}))},Object.defineProperty(i_,"__esModule",{value:!0}),i_.partition=void 0;var f_=s_,d_=l_,p_=Zm;i_.partition=function(e,t,n){return[d_.filter(t,n)(p_.innerFrom(e)),d_.filter(f_.not(t,n))(p_.innerFrom(e))]};var h_={};Object.defineProperty(h_,"__esModule",{value:!0}),h_.raceInit=h_.race=void 0;var m_=mp,g_=Zm,y_=Zb,v_=ih;function b_(e){return function(t){for(var n=[],r=function(r){n.push(g_.innerFrom(e[r]).subscribe(v_.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)}}h_.race=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return 1===(e=y_.argsOrArgArray(e)).length?g_.innerFrom(e[0]):new m_.Observable(b_(e))},h_.raceInit=b_;var __={};Object.defineProperty(__,"__esModule",{value:!0}),__.range=void 0;var w_=mp,S_=Bm;__.range=function(e,t,n){if(null==t&&(t=e,e=0),t<=0)return S_.EMPTY;var r=t+e;return new w_.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 x_={};Object.defineProperty(x_,"__esModule",{value:!0}),x_.using=void 0;var E_=mp,k_=Zm,A_=Bm;x_.using=function(e,t){return new E_.Observable((function(n){var r=e(),o=t(r);return(o?k_.innerFrom(o):A_.EMPTY).subscribe(n),function(){r&&r.unsubscribe()}}))};var C_={},O_=D&&D.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},N_=D&&D.__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(C_,"__esModule",{value:!0}),C_.zip=void 0;var R_=mp,T_=Zm,I_=Zb,P_=Bm,M_=ih,F_=zm;C_.zip=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=F_.popResultSelector(e),r=I_.argsOrArgArray(e);return r.length?new R_.Observable((function(e){var t=r.map((function(){return[]})),o=r.map((function(){return!1}));e.add((function(){t=o=null}));for(var a=function(a){T_.innerFrom(r[a]).subscribe(M_.createOperatorSubscriber(e,(function(r){if(t[a].push(r),t.every((function(e){return e.length}))){var i=t.map((function(e){return e.shift()}));e.next(n?n.apply(void 0,N_([],O_(i))):i),t.some((function(e,t){return!e.length&&o[t]}))&&e.complete()}}),(function(){o[a]=!0,!t[a].length&&e.complete()})))},i=0;!e.closed&&i<r.length;i++)a(i);return function(){t=o=null}})):P_.EMPTY};var j_={};Object.defineProperty(j_,"__esModule",{value:!0});var D_={};Object.defineProperty(D_,"__esModule",{value:!0}),D_.audit=void 0;var L_=rh,q_=Zm,B_=ih;D_.audit=function(e){return L_.operate((function(t,n){var r=!1,o=null,a=null,i=!1,s=function(){if(null==a||a.unsubscribe(),a=null,r){r=!1;var e=o;o=null,n.next(e)}i&&n.complete()},l=function(){a=null,i&&n.complete()};t.subscribe(B_.createOperatorSubscriber(n,(function(t){r=!0,o=t,a||q_.innerFrom(e(t)).subscribe(a=B_.createOperatorSubscriber(n,s,l))}),(function(){i=!0,(!r||!a||a.closed)&&n.complete()})))}))};var U_={};Object.defineProperty(U_,"__esModule",{value:!0}),U_.auditTime=void 0;var z_=_m,H_=D_,G_=jb;U_.auditTime=function(e,t){return void 0===t&&(t=z_.asyncScheduler),H_.audit((function(){return G_.timer(e,t)}))};var W_={};Object.defineProperty(W_,"__esModule",{value:!0}),W_.buffer=void 0;var $_=rh,V_=Fp,J_=ih,Y_=Zm;W_.buffer=function(e){return $_.operate((function(t,n){var r=[];return t.subscribe(J_.createOperatorSubscriber(n,(function(e){return r.push(e)}),(function(){n.next(r),n.complete()}))),Y_.innerFrom(e).subscribe(J_.createOperatorSubscriber(n,(function(){var e=r;r=[],n.next(e)}),V_.noop)),function(){r=null}}))};var K_={},Z_=D&&D.__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(K_,"__esModule",{value:!0}),K_.bufferCount=void 0;var X_=rh,Q_=ih,ew=wp;K_.bufferCount=function(e,t){return void 0===t&&(t=null),t=null!=t?t:e,X_.operate((function(n,r){var o=[],a=0;n.subscribe(Q_.createOperatorSubscriber(r,(function(n){var i,s,l,c,u=null;a++%t==0&&o.push([]);try{for(var f=Z_(o),d=f.next();!d.done;d=f.next())(m=d.value).push(n),e<=m.length&&(u=null!=u?u:[]).push(m)}catch(e){i={error:e}}finally{try{d&&!d.done&&(s=f.return)&&s.call(f)}finally{if(i)throw i.error}}if(u)try{for(var p=Z_(u),h=p.next();!h.done;h=p.next()){var m;ew.arrRemove(o,m=h.value),r.next(m)}}catch(e){l={error:e}}finally{try{h&&!h.done&&(c=p.return)&&c.call(p)}finally{if(l)throw l.error}}}),(function(){var e,t;try{for(var n=Z_(o),a=n.next();!a.done;a=n.next())r.next(a.value)}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}r.complete()}),void 0,(function(){o=null})))}))};var tw={},nw=D&&D.__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(tw,"__esModule",{value:!0}),tw.bufferTime=void 0;var rw=vp,ow=rh,aw=ih,iw=wp,sw=_m,lw=zm,cw=qg;tw.bufferTime=function(e){for(var t,n,r=[],o=1;o<arguments.length;o++)r[o-1]=arguments[o];var a=null!==(t=lw.popScheduler(r))&&void 0!==t?t:sw.asyncScheduler,i=null!==(n=r[0])&&void 0!==n?n:null,s=r[1]||Infinity;return ow.operate((function(t,n){var r=[],o=!1,l=function(e){var t=e.buffer;e.subs.unsubscribe(),iw.arrRemove(r,e),n.next(t),o&&c()},c=function(){if(r){var t=new rw.Subscription;n.add(t);var o={buffer:[],subs:t};r.push(o),cw.executeSchedule(t,a,(function(){return l(o)}),e)}};null!==i&&i>=0?cw.executeSchedule(n,a,c,i,!0):o=!0,c();var u=aw.createOperatorSubscriber(n,(function(e){var t,n,o=r.slice();try{for(var a=nw(o),i=a.next();!i.done;i=a.next()){var c=i.value,u=c.buffer;u.push(e),s<=u.length&&l(c)}}catch(e){t={error:e}}finally{try{i&&!i.done&&(n=a.return)&&n.call(a)}finally{if(t)throw t.error}}}),(function(){for(;null==r?void 0:r.length;)n.next(r.shift().buffer);null==u||u.unsubscribe(),n.complete(),n.unsubscribe()}),void 0,(function(){return r=null}));t.subscribe(u)}))};var uw={},fw=D&&D.__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(uw,"__esModule",{value:!0}),uw.bufferToggle=void 0;var dw=vp,pw=rh,hw=Zm,mw=ih,gw=Fp,yw=wp;uw.bufferToggle=function(e,t){return pw.operate((function(n,r){var o=[];hw.innerFrom(e).subscribe(mw.createOperatorSubscriber(r,(function(e){var n=[];o.push(n);var a=new dw.Subscription;a.add(hw.innerFrom(t(e)).subscribe(mw.createOperatorSubscriber(r,(function(){yw.arrRemove(o,n),r.next(n),a.unsubscribe()}),gw.noop)))}),gw.noop)),n.subscribe(mw.createOperatorSubscriber(r,(function(e){var t,n;try{for(var r=fw(o),a=r.next();!a.done;a=r.next())a.value.push(e)}catch(e){t={error:e}}finally{try{a&&!a.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 vw={};Object.defineProperty(vw,"__esModule",{value:!0}),vw.bufferWhen=void 0;var bw=rh,_w=Fp,ww=ih,Sw=Zm;vw.bufferWhen=function(e){return bw.operate((function(t,n){var r=null,o=null;!function t(){null==o||o.unsubscribe();var a=r;r=[],a&&n.next(a),Sw.innerFrom(e()).subscribe(o=ww.createOperatorSubscriber(n,t,_w.noop))}(),t.subscribe(ww.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 xw={};Object.defineProperty(xw,"__esModule",{value:!0}),xw.catchError=void 0;var Ew=Zm,kw=ih,Aw=rh;xw.catchError=function e(t){return Aw.operate((function(n,r){var o,a=null,i=!1;a=n.subscribe(kw.createOperatorSubscriber(r,void 0,void 0,(function(s){o=Ew.innerFrom(t(s,e(t)(n))),a?(a.unsubscribe(),a=null,o.subscribe(r)):i=!0}))),i&&(a.unsubscribe(),a=null,o.subscribe(r))}))};var Cw={},Ow={},Nw={},Rw={},Tw={},Iw={};Object.defineProperty(Iw,"__esModule",{value:!0}),Iw.scanInternals=void 0;var Pw=ih;Iw.scanInternals=function(e,t,n,r,o){return function(a,i){var s=n,l=t,c=0;a.subscribe(Pw.createOperatorSubscriber(i,(function(t){var n=c++;l=s?e(l,t,n):(s=!0,t),r&&i.next(l)}),o&&function(){s&&i.next(l),i.complete()}))}},Object.defineProperty(Tw,"__esModule",{value:!0}),Tw.reduce=void 0;var Mw=Iw,Fw=rh;Tw.reduce=function(e,t){return Fw.operate(Mw.scanInternals(e,t,arguments.length>=2,!1,!0))},Object.defineProperty(Rw,"__esModule",{value:!0}),Rw.toArray=void 0;var jw=Tw,Dw=rh,Lw=function(e,t){return e.push(t),e};Rw.toArray=function(){return Dw.operate((function(e,t){jw.reduce(Lw,[])(e).subscribe(t)}))},Object.defineProperty(Nw,"__esModule",{value:!0}),Nw.joinAllInternals=void 0;var qw=Hp,Bw=Vy,Uw=zp,zw=Pv,Hw=Rw;Nw.joinAllInternals=function(e,t){return Uw.pipe(Hw.toArray(),zw.mergeMap((function(t){return e(t)})),t?Bw.mapOneOrManyArgs(t):qw.identity)},Object.defineProperty(Ow,"__esModule",{value:!0}),Ow.combineLatestAll=void 0;var Gw=dv,Ww=Nw;Ow.combineLatestAll=function(e){return Ww.joinAllInternals(Gw.combineLatest,e)},Object.defineProperty(Cw,"__esModule",{value:!0}),Cw.combineAll=void 0,Cw.combineAll=Ow.combineLatestAll;var $w={},Vw={},Jw=D&&D.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},Yw=D&&D.__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(Vw,"__esModule",{value:!0}),Vw.combineLatest=void 0;var Kw=dv,Zw=rh,Xw=Zb,Qw=Vy,eS=zp,tS=zm;Vw.combineLatest=function e(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=tS.popResultSelector(t);return r?eS.pipe(e.apply(void 0,Yw([],Jw(t))),Qw.mapOneOrManyArgs(r)):Zw.operate((function(e,n){Kw.combineLatestInit(Yw([e],Jw(Xw.argsOrArgArray(t))))(n)}))};var nS=D&&D.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},rS=D&&D.__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($w,"__esModule",{value:!0}),$w.combineLatestWith=void 0;var oS=Vw;$w.combineLatestWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return oS.combineLatest.apply(void 0,rS([],nS(e)))};var aS={};Object.defineProperty(aS,"__esModule",{value:!0}),aS.concatMap=void 0;var iS=Pv,sS=yp;aS.concatMap=function(e,t){return sS.isFunction(t)?iS.mergeMap(e,t,1):iS.mergeMap(e,1)};var lS={};Object.defineProperty(lS,"__esModule",{value:!0}),lS.concatMapTo=void 0;var cS=aS,uS=yp;lS.concatMapTo=function(e,t){return uS.isFunction(t)?cS.concatMap((function(){return e}),t):cS.concatMap((function(){return e}))};var fS={},dS={},pS=D&&D.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},hS=D&&D.__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(dS,"__esModule",{value:!0}),dS.concat=void 0;var mS=rh,gS=Tv,yS=zm,vS=Jm;dS.concat=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=yS.popScheduler(e);return mS.operate((function(t,r){gS.concatAll()(vS.from(hS([t],pS(e)),n)).subscribe(r)}))};var bS=D&&D.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},_S=D&&D.__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(fS,"__esModule",{value:!0}),fS.concatWith=void 0;var wS=dS;fS.concatWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return wS.concat.apply(void 0,_S([],bS(e)))};var SS={},xS={};Object.defineProperty(xS,"__esModule",{value:!0}),xS.fromSubscribable=void 0;var ES=mp;xS.fromSubscribable=function(e){return new ES.Observable((function(t){return e.subscribe(t)}))},Object.defineProperty(SS,"__esModule",{value:!0}),SS.connect=void 0;var kS=Ah,AS=Zm,CS=rh,OS=xS,NS={connector:function(){return new kS.Subject}};SS.connect=function(e,t){void 0===t&&(t=NS);var n=t.connector;return CS.operate((function(t,r){var o=n();AS.innerFrom(e(OS.fromSubscribable(o))).subscribe(r),r.add(t.subscribe(o))}))};var RS={};Object.defineProperty(RS,"__esModule",{value:!0}),RS.count=void 0;var TS=Tw;RS.count=function(e){return TS.reduce((function(t,n,r){return!e||e(n,r)?t+1:t}),0)};var IS={};Object.defineProperty(IS,"__esModule",{value:!0}),IS.debounce=void 0;var PS=rh,MS=Fp,FS=ih,jS=Zm;IS.debounce=function(e){return PS.operate((function(t,n){var r=!1,o=null,a=null,i=function(){if(null==a||a.unsubscribe(),a=null,r){r=!1;var e=o;o=null,n.next(e)}};t.subscribe(FS.createOperatorSubscriber(n,(function(t){null==a||a.unsubscribe(),r=!0,o=t,a=FS.createOperatorSubscriber(n,i,MS.noop),jS.innerFrom(e(t)).subscribe(a)}),(function(){i(),n.complete()}),void 0,(function(){o=a=null})))}))};var DS={};Object.defineProperty(DS,"__esModule",{value:!0}),DS.debounceTime=void 0;var LS=_m,qS=rh,BS=ih;DS.debounceTime=function(e,t){return void 0===t&&(t=LS.asyncScheduler),qS.operate((function(n,r){var o=null,a=null,i=null,s=function(){if(o){o.unsubscribe(),o=null;var e=a;a=null,r.next(e)}};function l(){var n=i+e,a=t.now();if(a<n)return o=this.schedule(void 0,n-a),void r.add(o);s()}n.subscribe(BS.createOperatorSubscriber(r,(function(n){a=n,i=t.now(),o||(o=t.schedule(l,e),r.add(o))}),(function(){s(),r.complete()}),void 0,(function(){a=o=null})))}))};var US={};Object.defineProperty(US,"__esModule",{value:!0}),US.defaultIfEmpty=void 0;var zS=rh,HS=ih;US.defaultIfEmpty=function(e){return zS.operate((function(t,n){var r=!1;t.subscribe(HS.createOperatorSubscriber(n,(function(e){r=!0,n.next(e)}),(function(){r||n.next(e),n.complete()})))}))};var GS={},WS={},$S={};Object.defineProperty($S,"__esModule",{value:!0}),$S.take=void 0;var VS=Bm,JS=rh,YS=ih;$S.take=function(e){return e<=0?function(){return VS.EMPTY}:JS.operate((function(t,n){var r=0;t.subscribe(YS.createOperatorSubscriber(n,(function(t){++r<=e&&(n.next(t),e<=r&&n.complete())})))}))};var KS={};Object.defineProperty(KS,"__esModule",{value:!0}),KS.ignoreElements=void 0;var ZS=rh,XS=ih,QS=Fp;KS.ignoreElements=function(){return ZS.operate((function(e,t){e.subscribe(XS.createOperatorSubscriber(t,QS.noop))}))};var ex={};Object.defineProperty(ex,"__esModule",{value:!0}),ex.mapTo=void 0;var tx=Jy;ex.mapTo=function(e){return tx.map((function(){return e}))},Object.defineProperty(WS,"__esModule",{value:!0}),WS.delayWhen=void 0;var nx=Rv,rx=$S,ox=KS,ax=ex,ix=Pv,sx=Zm;WS.delayWhen=function e(t,n){return n?function(r){return nx.concat(n.pipe(rx.take(1),ox.ignoreElements()),r.pipe(e(t)))}:ix.mergeMap((function(e,n){return sx.innerFrom(t(e,n)).pipe(rx.take(1),ax.mapTo(e))}))},Object.defineProperty(GS,"__esModule",{value:!0}),GS.delay=void 0;var lx=_m,cx=WS,ux=jb;GS.delay=function(e,t){void 0===t&&(t=lx.asyncScheduler);var n=ux.timer(e,t);return cx.delayWhen((function(){return n}))};var fx={};Object.defineProperty(fx,"__esModule",{value:!0}),fx.dematerialize=void 0;var dx=qm,px=rh,hx=ih;fx.dematerialize=function(){return px.operate((function(e,t){e.subscribe(hx.createOperatorSubscriber(t,(function(e){return dx.observeNotification(e,t)})))}))};var mx={};Object.defineProperty(mx,"__esModule",{value:!0}),mx.distinct=void 0;var gx=rh,yx=ih,vx=Fp,bx=Zm;mx.distinct=function(e,t){return gx.operate((function(n,r){var o=new Set;n.subscribe(yx.createOperatorSubscriber(r,(function(t){var n=e?e(t):t;o.has(n)||(o.add(n),r.next(t))}))),t&&bx.innerFrom(t).subscribe(yx.createOperatorSubscriber(r,(function(){return o.clear()}),vx.noop))}))};var _x={};Object.defineProperty(_x,"__esModule",{value:!0}),_x.distinctUntilChanged=void 0;var wx=Hp,Sx=rh,xx=ih;function Ex(e,t){return e===t}_x.distinctUntilChanged=function(e,t){return void 0===t&&(t=wx.identity),e=null!=e?e:Ex,Sx.operate((function(n,r){var o,a=!0;n.subscribe(xx.createOperatorSubscriber(r,(function(n){var i=t(n);!a&&e(o,i)||(a=!1,o=i,r.next(n))})))}))};var kx={};Object.defineProperty(kx,"__esModule",{value:!0}),kx.distinctUntilKeyChanged=void 0;var Ax=_x;kx.distinctUntilKeyChanged=function(e,t){return Ax.distinctUntilChanged((function(n,r){return t?t(n[e],r[e]):n[e]===r[e]}))};var Cx={},Ox={};Object.defineProperty(Ox,"__esModule",{value:!0}),Ox.throwIfEmpty=void 0;var Nx=Fy,Rx=rh,Tx=ih;function Ix(){return new Nx.EmptyError}Ox.throwIfEmpty=function(e){return void 0===e&&(e=Ix),Rx.operate((function(t,n){var r=!1;t.subscribe(Tx.createOperatorSubscriber(n,(function(e){r=!0,n.next(e)}),(function(){return r?n.complete():n.error(e())})))}))},Object.defineProperty(Cx,"__esModule",{value:!0}),Cx.elementAt=void 0;var Px=By,Mx=l_,Fx=Ox,jx=US,Dx=$S;Cx.elementAt=function(e,t){if(e<0)throw new Px.ArgumentOutOfRangeError;var n=arguments.length>=2;return function(r){return r.pipe(Mx.filter((function(t,n){return n===e})),Dx.take(1),n?jx.defaultIfEmpty(t):Fx.throwIfEmpty((function(){return new Px.ArgumentOutOfRangeError})))}};var Lx={},qx=D&&D.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},Bx=D&&D.__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(Lx,"__esModule",{value:!0}),Lx.endWith=void 0;var Ux=Rv,zx=Um;Lx.endWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(t){return Ux.concat(t,zx.of.apply(void 0,Bx([],qx(e))))}};var Hx={};Object.defineProperty(Hx,"__esModule",{value:!0}),Hx.every=void 0;var Gx=rh,Wx=ih;Hx.every=function(e,t){return Gx.operate((function(n,r){var o=0;n.subscribe(Wx.createOperatorSubscriber(r,(function(a){e.call(t,a,o++,n)||(r.next(!1),r.complete())}),(function(){r.next(!0),r.complete()})))}))};var $x={},Vx={},Jx={};Object.defineProperty(Jx,"__esModule",{value:!0}),Jx.exhaustMap=void 0;var Yx=Jy,Kx=Zm,Zx=rh,Xx=ih;Jx.exhaustMap=function e(t,n){return n?function(r){return r.pipe(e((function(e,r){return Kx.innerFrom(t(e,r)).pipe(Yx.map((function(t,o){return n(e,t,r,o)})))})))}:Zx.operate((function(e,n){var r=0,o=null,a=!1;e.subscribe(Xx.createOperatorSubscriber(n,(function(e){o||(o=Xx.createOperatorSubscriber(n,void 0,(function(){o=null,a&&n.complete()})),Kx.innerFrom(t(e,r++)).subscribe(o))}),(function(){a=!0,!o&&n.complete()})))}))},Object.defineProperty(Vx,"__esModule",{value:!0}),Vx.exhaustAll=void 0;var Qx=Jx,eE=Hp;Vx.exhaustAll=function(){return Qx.exhaustMap(eE.identity)},Object.defineProperty($x,"__esModule",{value:!0}),$x.exhaust=void 0,$x.exhaust=Vx.exhaustAll;var tE={};Object.defineProperty(tE,"__esModule",{value:!0}),tE.expand=void 0;var nE=rh,rE=Mv;tE.expand=function(e,t,n){return void 0===t&&(t=Infinity),t=(t||0)<1?Infinity:t,nE.operate((function(r,o){return rE.mergeInternals(r,o,e,t,void 0,!0,n)}))};var oE={};Object.defineProperty(oE,"__esModule",{value:!0}),oE.finalize=void 0;var aE=rh;oE.finalize=function(e){return aE.operate((function(t,n){try{t.subscribe(n)}finally{n.add(e)}}))};var iE={};Object.defineProperty(iE,"__esModule",{value:!0}),iE.createFind=iE.find=void 0;var sE=rh,lE=ih;function cE(e,t,n){var r="index"===n;return function(n,o){var a=0;n.subscribe(lE.createOperatorSubscriber(o,(function(i){var s=a++;e.call(t,i,s,n)&&(o.next(r?s:i),o.complete())}),(function(){o.next(r?-1:void 0),o.complete()})))}}iE.find=function(e,t){return sE.operate(cE(e,t,"value"))},iE.createFind=cE;var uE={};Object.defineProperty(uE,"__esModule",{value:!0}),uE.findIndex=void 0;var fE=rh,dE=iE;uE.findIndex=function(e,t){return fE.operate(dE.createFind(e,t,"index"))};var pE={};Object.defineProperty(pE,"__esModule",{value:!0}),pE.first=void 0;var hE=Fy,mE=l_,gE=$S,yE=US,vE=Ox,bE=Hp;pE.first=function(e,t){var n=arguments.length>=2;return function(r){return r.pipe(e?mE.filter((function(t,n){return e(t,n,r)})):bE.identity,gE.take(1),n?yE.defaultIfEmpty(t):vE.throwIfEmpty((function(){return new hE.EmptyError})))}};var _E={};Object.defineProperty(_E,"__esModule",{value:!0}),_E.groupBy=void 0;var wE=mp,SE=Zm,xE=Ah,EE=rh,kE=ih;_E.groupBy=function(e,t,n,r){return EE.operate((function(o,a){var i;t&&"function"!=typeof t?(n=t.duration,i=t.element,r=t.connector):i=t;var s=new Map,l=function(e){s.forEach(e),e(a)},c=function(e){return l((function(t){return t.error(e)}))},u=0,f=!1,d=new kE.OperatorSubscriber(a,(function(t){try{var o=e(t),l=s.get(o);if(!l){s.set(o,l=r?r():new xE.Subject);var p=(m=o,g=l,(y=new wE.Observable((function(e){u++;var t=g.subscribe(e);return function(){t.unsubscribe(),0==--u&&f&&d.unsubscribe()}}))).key=m,y);if(a.next(p),n){var h=kE.createOperatorSubscriber(l,(function(){l.complete(),null==h||h.unsubscribe()}),void 0,void 0,(function(){return s.delete(o)}));d.add(SE.innerFrom(n(p)).subscribe(h))}}l.next(i?i(t):t)}catch(e){c(e)}var m,g,y}),(function(){return l((function(e){return e.complete()}))}),c,(function(){return s.clear()}),(function(){return f=!0,0===u}));o.subscribe(d)}))};var AE={};Object.defineProperty(AE,"__esModule",{value:!0}),AE.isEmpty=void 0;var CE=rh,OE=ih;AE.isEmpty=function(){return CE.operate((function(e,t){e.subscribe(OE.createOperatorSubscriber(t,(function(){t.next(!1),t.complete()}),(function(){t.next(!0),t.complete()})))}))};var NE={},RE={},TE=D&&D.__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(RE,"__esModule",{value:!0}),RE.takeLast=void 0;var IE=Bm,PE=rh,ME=ih;RE.takeLast=function(e){return e<=0?function(){return IE.EMPTY}:PE.operate((function(t,n){var r=[];t.subscribe(ME.createOperatorSubscriber(n,(function(t){r.push(t),e<r.length&&r.shift()}),(function(){var e,t;try{for(var o=TE(r),a=o.next();!a.done;a=o.next())n.next(a.value)}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}n.complete()}),void 0,(function(){r=null})))}))},Object.defineProperty(NE,"__esModule",{value:!0}),NE.last=void 0;var FE=Fy,jE=l_,DE=RE,LE=Ox,qE=US,BE=Hp;NE.last=function(e,t){var n=arguments.length>=2;return function(r){return r.pipe(e?jE.filter((function(t,n){return e(t,n,r)})):BE.identity,DE.takeLast(1),n?qE.defaultIfEmpty(t):LE.throwIfEmpty((function(){return new FE.EmptyError})))}};var UE={};Object.defineProperty(UE,"__esModule",{value:!0}),UE.materialize=void 0;var zE=qm,HE=rh,GE=ih;UE.materialize=function(){return HE.operate((function(e,t){e.subscribe(GE.createOperatorSubscriber(t,(function(e){t.next(zE.Notification.createNext(e))}),(function(){t.next(zE.Notification.createComplete()),t.complete()}),(function(e){t.next(zE.Notification.createError(e)),t.complete()})))}))};var WE={};Object.defineProperty(WE,"__esModule",{value:!0}),WE.max=void 0;var $E=Tw,VE=yp;WE.max=function(e){return $E.reduce(VE.isFunction(e)?function(t,n){return e(t,n)>0?t:n}:function(e,t){return e>t?e:t})};var JE={};Object.defineProperty(JE,"__esModule",{value:!0}),JE.flatMap=void 0,JE.flatMap=Pv.mergeMap;var YE={};Object.defineProperty(YE,"__esModule",{value:!0}),YE.mergeMapTo=void 0;var KE=Pv,ZE=yp;YE.mergeMapTo=function(e,t,n){return void 0===n&&(n=Infinity),ZE.isFunction(t)?KE.mergeMap((function(){return e}),t,n):("number"==typeof t&&(n=t),KE.mergeMap((function(){return e}),n))};var XE={};Object.defineProperty(XE,"__esModule",{value:!0}),XE.mergeScan=void 0;var QE=rh,ek=Mv;XE.mergeScan=function(e,t,n){return void 0===n&&(n=Infinity),QE.operate((function(r,o){var a=t;return ek.mergeInternals(r,o,(function(t,n){return e(a,t,n)}),n,(function(e){a=e}),!1,void 0,(function(){return a=null}))}))};var tk={},nk={},rk=D&&D.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},ok=D&&D.__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(nk,"__esModule",{value:!0}),nk.merge=void 0;var ak=rh,ik=Zb,sk=Iv,lk=zm,ck=Jm;nk.merge=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=lk.popScheduler(e),r=lk.popNumber(e,Infinity);return e=ik.argsOrArgArray(e),ak.operate((function(t,o){sk.mergeAll(r)(ck.from(ok([t],rk(e)),n)).subscribe(o)}))};var uk=D&&D.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},fk=D&&D.__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(tk,"__esModule",{value:!0}),tk.mergeWith=void 0;var dk=nk;tk.mergeWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return dk.merge.apply(void 0,fk([],uk(e)))};var pk={};Object.defineProperty(pk,"__esModule",{value:!0}),pk.min=void 0;var hk=Tw,mk=yp;pk.min=function(e){return hk.reduce(mk.isFunction(e)?function(t,n){return e(t,n)<0?t:n}:function(e,t){return e<t?e:t})};var gk={};Object.defineProperty(gk,"__esModule",{value:!0}),gk.multicast=void 0;var yk=th,vk=yp,bk=SS;gk.multicast=function(e,t){var n=vk.isFunction(e)?e:function(){return e};return vk.isFunction(t)?bk.connect(t,{connector:n}):function(e){return new yk.ConnectableObservable(e,n)}};var _k={},wk=D&&D.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},Sk=D&&D.__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(_k,"__esModule",{value:!0}),_k.onErrorResumeNext=_k.onErrorResumeNextWith=void 0;var xk=Zb,Ek=Kb;function kk(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=xk.argsOrArgArray(e);return function(e){return Ek.onErrorResumeNext.apply(void 0,Sk([e],wk(n)))}}_k.onErrorResumeNextWith=kk,_k.onErrorResumeNext=kk;var Ak={};Object.defineProperty(Ak,"__esModule",{value:!0}),Ak.pairwise=void 0;var Ck=rh,Ok=ih;Ak.pairwise=function(){return Ck.operate((function(e,t){var n,r=!1;e.subscribe(Ok.createOperatorSubscriber(t,(function(e){var o=n;n=e,r&&t.next([o,e]),r=!0})))}))};var Nk={};Object.defineProperty(Nk,"__esModule",{value:!0}),Nk.pluck=void 0;var Rk=Jy;Nk.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 Rk.map((function(t){for(var r=t,o=0;o<n;o++){var a=null==r?void 0:r[e[o]];if(void 0===a)return;r=a}return r}))};var Tk={};Object.defineProperty(Tk,"__esModule",{value:!0}),Tk.publish=void 0;var Ik=Ah,Pk=gk,Mk=SS;Tk.publish=function(e){return e?function(t){return Mk.connect(e)(t)}:function(e){return Pk.multicast(new Ik.Subject)(e)}};var Fk={};Object.defineProperty(Fk,"__esModule",{value:!0}),Fk.publishBehavior=void 0;var jk=Dh,Dk=th;Fk.publishBehavior=function(e){return function(t){var n=new jk.BehaviorSubject(e);return new Dk.ConnectableObservable(t,(function(){return n}))}};var Lk={};Object.defineProperty(Lk,"__esModule",{value:!0}),Lk.publishLast=void 0;var qk=Wh,Bk=th;Lk.publishLast=function(){return function(e){var t=new qk.AsyncSubject;return new Bk.ConnectableObservable(e,(function(){return t}))}};var Uk={};Object.defineProperty(Uk,"__esModule",{value:!0}),Uk.publishReplay=void 0;var zk=Bh,Hk=gk,Gk=yp;Uk.publishReplay=function(e,t,n,r){n&&!Gk.isFunction(n)&&(r=n);var o=Gk.isFunction(n)?n:void 0;return function(n){return Hk.multicast(new zk.ReplaySubject(e,t,r),o)(n)}};var Wk={},$k=D&&D.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},Vk=D&&D.__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(Wk,"__esModule",{value:!0}),Wk.raceWith=void 0;var Jk=h_,Yk=rh,Kk=Hp;Wk.raceWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return e.length?Yk.operate((function(t,n){Jk.raceInit(Vk([t],$k(e)))(n)})):Kk.identity};var Zk={};Object.defineProperty(Zk,"__esModule",{value:!0}),Zk.repeat=void 0;var Xk=Bm,Qk=rh,eA=ih,tA=Zm,nA=jb;Zk.repeat=function(e){var t,n,r=Infinity;return null!=e&&("object"===Y(e)?(r=void 0===(t=e.count)?Infinity:t,n=e.delay):r=e),r<=0?function(){return Xk.EMPTY}:Qk.operate((function(e,t){var o,a=0,i=function(){if(null==o||o.unsubscribe(),o=null,null!=n){var e="number"==typeof n?nA.timer(n):tA.innerFrom(n(a)),r=eA.createOperatorSubscriber(t,(function(){r.unsubscribe(),s()}));e.subscribe(r)}else s()},s=function(){var n=!1;o=e.subscribe(eA.createOperatorSubscriber(t,void 0,(function(){++a<r?o?i():n=!0:t.complete()}))),n&&i()};s()}))};var rA={};Object.defineProperty(rA,"__esModule",{value:!0}),rA.repeatWhen=void 0;var oA=Zm,aA=Ah,iA=rh,sA=ih;rA.repeatWhen=function(e){return iA.operate((function(t,n){var r,o,a=!1,i=!1,s=!1,l=function(){return s&&i&&(n.complete(),!0)},c=function(){return o||(o=new aA.Subject,oA.innerFrom(e(o)).subscribe(sA.createOperatorSubscriber(n,(function(){r?u():a=!0}),(function(){i=!0,l()})))),o},u=function e(){s=!1,r=t.subscribe(sA.createOperatorSubscriber(n,void 0,(function(){s=!0,!l()&&c().next()}))),a&&(r.unsubscribe(),r=null,a=!1,e())};u()}))};var lA={};Object.defineProperty(lA,"__esModule",{value:!0}),lA.retry=void 0;var cA=rh,uA=ih,fA=Hp,dA=jb,pA=Zm;lA.retry=function(e){var t;void 0===e&&(e=Infinity);var n=(t=e&&"object"===Y(e)?e:{count:e}).count,r=void 0===n?Infinity:n,o=t.delay,a=t.resetOnSuccess,i=void 0!==a&&a;return r<=0?fA.identity:cA.operate((function(e,t){var n,a=0;!function s(){var l=!1;n=e.subscribe(uA.createOperatorSubscriber(t,(function(e){i&&(a=0),t.next(e)}),void 0,(function(e){if(a++<r){var i=function(){n?(n.unsubscribe(),n=null,s()):l=!0};if(null!=o){var c="number"==typeof o?dA.timer(o):pA.innerFrom(o(e,a)),u=uA.createOperatorSubscriber(t,(function(){u.unsubscribe(),i()}),(function(){t.complete()}));c.subscribe(u)}else i()}else t.error(e)}))),l&&(n.unsubscribe(),n=null,s())}()}))};var hA={};Object.defineProperty(hA,"__esModule",{value:!0}),hA.retryWhen=void 0;var mA=Zm,gA=Ah,yA=rh,vA=ih;hA.retryWhen=function(e){return yA.operate((function(t,n){var r,o,a=!1;!function i(){r=t.subscribe(vA.createOperatorSubscriber(n,void 0,void 0,(function(t){o||(o=new gA.Subject,mA.innerFrom(e(o)).subscribe(vA.createOperatorSubscriber(n,(function(){return r?i():a=!0})))),o&&o.next(t)}))),a&&(r.unsubscribe(),r=null,a=!1,i())}()}))};var bA={};Object.defineProperty(bA,"__esModule",{value:!0}),bA.sample=void 0;var _A=Zm,wA=rh,SA=Fp,xA=ih;bA.sample=function(e){return wA.operate((function(t,n){var r=!1,o=null;t.subscribe(xA.createOperatorSubscriber(n,(function(e){r=!0,o=e}))),_A.innerFrom(e).subscribe(xA.createOperatorSubscriber(n,(function(){if(r){r=!1;var e=o;o=null,n.next(e)}}),SA.noop))}))};var EA={};Object.defineProperty(EA,"__esModule",{value:!0}),EA.sampleTime=void 0;var kA=_m,AA=bA,CA=Fb;EA.sampleTime=function(e,t){return void 0===t&&(t=kA.asyncScheduler),AA.sample(CA.interval(e,t))};var OA={};Object.defineProperty(OA,"__esModule",{value:!0}),OA.scan=void 0;var NA=rh,RA=Iw;OA.scan=function(e,t){return NA.operate(RA.scanInternals(e,t,arguments.length>=2,!0))};var TA={};Object.defineProperty(TA,"__esModule",{value:!0}),TA.sequenceEqual=void 0;var IA=rh,PA=ih,MA=Zm;TA.sequenceEqual=function(e,t){return void 0===t&&(t=function(e,t){return e===t}),IA.operate((function(n,r){var o={buffer:[],complete:!1},a={buffer:[],complete:!1},i=function(e){r.next(e),r.complete()},s=function(e,n){var o=PA.createOperatorSubscriber(r,(function(r){var o=n.buffer;0===o.length?n.complete?i(!1):e.buffer.push(r):!t(r,o.shift())&&i(!1)}),(function(){e.complete=!0,n.complete&&i(0===n.buffer.length),null==o||o.unsubscribe()}));return o};n.subscribe(s(o,a)),MA.innerFrom(e).subscribe(s(a,o))}))};var FA={},jA=D&&D.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},DA=D&&D.__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(FA,"__esModule",{value:!0}),FA.share=void 0;var LA=Zm,qA=Ah,BA=gp,UA=rh;function zA(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 BA.SafeSubscriber({next:function(){o.unsubscribe(),e()}});return LA.innerFrom(t.apply(void 0,DA([],jA(n)))).subscribe(o)}}else e()}FA.share=function(e){void 0===e&&(e={});var t=e.connector,n=void 0===t?function(){return new qA.Subject}:t,r=e.resetOnError,o=void 0===r||r,a=e.resetOnComplete,i=void 0===a||a,s=e.resetOnRefCountZero,l=void 0===s||s;return function(e){var t,r,a,s=0,c=!1,u=!1,f=function(){null==r||r.unsubscribe(),r=void 0},d=function(){f(),t=a=void 0,c=u=!1},p=function(){var e=t;d(),null==e||e.unsubscribe()};return UA.operate((function(e,h){s++,u||c||f();var m=a=null!=a?a:n();h.add((function(){0!=--s||u||c||(r=zA(p,l))})),m.subscribe(h),!t&&s>0&&(t=new BA.SafeSubscriber({next:function(e){return m.next(e)},error:function(e){u=!0,f(),r=zA(d,o,e),m.error(e)},complete:function(){c=!0,f(),r=zA(d,i),m.complete()}}),LA.innerFrom(e).subscribe(t))}))(e)}};var HA={};Object.defineProperty(HA,"__esModule",{value:!0}),HA.shareReplay=void 0;var GA=Bh,WA=FA;HA.shareReplay=function(e,t,n){var r,o,a,i,s=!1;return e&&"object"===Y(e)?(i=void 0===(r=e.bufferSize)?Infinity:r,t=void 0===(o=e.windowTime)?Infinity:o,s=void 0!==(a=e.refCount)&&a,n=e.scheduler):i=null!=e?e:Infinity,WA.share({connector:function(){return new GA.ReplaySubject(i,t,n)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:s})};var $A={};Object.defineProperty($A,"__esModule",{value:!0}),$A.single=void 0;var VA=Fy,JA=zy,YA=Uy,KA=rh,ZA=ih;$A.single=function(e){return KA.operate((function(t,n){var r,o=!1,a=!1,i=0;t.subscribe(ZA.createOperatorSubscriber(n,(function(s){a=!0,e&&!e(s,i++,t)||(o&&n.error(new JA.SequenceError("Too many matching values")),o=!0,r=s)}),(function(){o?(n.next(r),n.complete()):n.error(a?new YA.NotFoundError("No matching values"):new VA.EmptyError)})))}))};var XA={};Object.defineProperty(XA,"__esModule",{value:!0}),XA.skip=void 0;var QA=l_;XA.skip=function(e){return QA.filter((function(t,n){return e<=n}))};var eC={};Object.defineProperty(eC,"__esModule",{value:!0}),eC.skipLast=void 0;var tC=Hp,nC=rh,rC=ih;eC.skipLast=function(e){return e<=0?tC.identity:nC.operate((function(t,n){var r=new Array(e),o=0;return t.subscribe(rC.createOperatorSubscriber(n,(function(t){var a=o++;if(a<e)r[a]=t;else{var i=a%e,s=r[i];r[i]=t,n.next(s)}}))),function(){r=null}}))};var oC={};Object.defineProperty(oC,"__esModule",{value:!0}),oC.skipUntil=void 0;var aC=rh,iC=ih,sC=Zm,lC=Fp;oC.skipUntil=function(e){return aC.operate((function(t,n){var r=!1,o=iC.createOperatorSubscriber(n,(function(){null==o||o.unsubscribe(),r=!0}),lC.noop);sC.innerFrom(e).subscribe(o),t.subscribe(iC.createOperatorSubscriber(n,(function(e){return r&&n.next(e)})))}))};var cC={};Object.defineProperty(cC,"__esModule",{value:!0}),cC.skipWhile=void 0;var uC=rh,fC=ih;cC.skipWhile=function(e){return uC.operate((function(t,n){var r=!1,o=0;t.subscribe(fC.createOperatorSubscriber(n,(function(t){return(r||(r=!e(t,o++)))&&n.next(t)})))}))};var dC={};Object.defineProperty(dC,"__esModule",{value:!0}),dC.startWith=void 0;var pC=Rv,hC=zm,mC=rh;dC.startWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=hC.popScheduler(e);return mC.operate((function(t,r){(n?pC.concat(e,t,n):pC.concat(e,t)).subscribe(r)}))};var gC={},yC={};Object.defineProperty(yC,"__esModule",{value:!0}),yC.switchMap=void 0;var vC=Zm,bC=rh,_C=ih;yC.switchMap=function(e,t){return bC.operate((function(n,r){var o=null,a=0,i=!1,s=function(){return i&&!o&&r.complete()};n.subscribe(_C.createOperatorSubscriber(r,(function(n){null==o||o.unsubscribe();var i=0,l=a++;vC.innerFrom(e(n,l)).subscribe(o=_C.createOperatorSubscriber(r,(function(e){return r.next(t?t(n,e,l,i++):e)}),(function(){o=null,s()})))}),(function(){i=!0,s()})))}))},Object.defineProperty(gC,"__esModule",{value:!0}),gC.switchAll=void 0;var wC=yC,SC=Hp;gC.switchAll=function(){return wC.switchMap(SC.identity)};var xC={};Object.defineProperty(xC,"__esModule",{value:!0}),xC.switchMapTo=void 0;var EC=yC,kC=yp;xC.switchMapTo=function(e,t){return kC.isFunction(t)?EC.switchMap((function(){return e}),t):EC.switchMap((function(){return e}))};var AC={};Object.defineProperty(AC,"__esModule",{value:!0}),AC.switchScan=void 0;var CC=yC,OC=rh;AC.switchScan=function(e,t){return OC.operate((function(n,r){var o=t;return CC.switchMap((function(t,n){return e(o,t,n)}),(function(e,t){return o=t,t}))(n).subscribe(r),function(){o=null}}))};var NC={};Object.defineProperty(NC,"__esModule",{value:!0}),NC.takeUntil=void 0;var RC=rh,TC=ih,IC=Zm,PC=Fp;NC.takeUntil=function(e){return RC.operate((function(t,n){IC.innerFrom(e).subscribe(TC.createOperatorSubscriber(n,(function(){return n.complete()}),PC.noop)),!n.closed&&t.subscribe(n)}))};var MC={};Object.defineProperty(MC,"__esModule",{value:!0}),MC.takeWhile=void 0;var FC=rh,jC=ih;MC.takeWhile=function(e,t){return void 0===t&&(t=!1),FC.operate((function(n,r){var o=0;n.subscribe(jC.createOperatorSubscriber(r,(function(n){var a=e(n,o++);(a||t)&&r.next(n),!a&&r.complete()})))}))};var DC={};Object.defineProperty(DC,"__esModule",{value:!0}),DC.tap=void 0;var LC=yp,qC=rh,BC=ih,UC=Hp;DC.tap=function(e,t,n){var r=LC.isFunction(e)||t||n?{next:e,error:t,complete:n}:e;return r?qC.operate((function(e,t){var n;null===(n=r.subscribe)||void 0===n||n.call(r);var o=!0;e.subscribe(BC.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)})))})):UC.identity};var zC={};Object.defineProperty(zC,"__esModule",{value:!0}),zC.throttle=void 0;var HC=rh,GC=ih,WC=Zm;zC.throttle=function(e,t){return HC.operate((function(n,r){var o=null!=t?t:{},a=o.leading,i=void 0===a||a,s=o.trailing,l=void 0!==s&&s,c=!1,u=null,f=null,d=!1,p=function(){null==f||f.unsubscribe(),f=null,l&&(g(),d&&r.complete())},h=function(){f=null,d&&r.complete()},m=function(t){return f=WC.innerFrom(e(t)).subscribe(GC.createOperatorSubscriber(r,p,h))},g=function(){if(c){c=!1;var e=u;u=null,r.next(e),!d&&m(e)}};n.subscribe(GC.createOperatorSubscriber(r,(function(e){c=!0,u=e,(!f||f.closed)&&(i?g():m(e))}),(function(){d=!0,(!(l&&c&&f)||f.closed)&&r.complete()})))}))};var $C={};Object.defineProperty($C,"__esModule",{value:!0}),$C.throttleTime=void 0;var VC=_m,JC=zC,YC=jb;$C.throttleTime=function(e,t,n){void 0===t&&(t=VC.asyncScheduler);var r=YC.timer(e,t);return JC.throttle((function(){return r}),n)};var KC={};Object.defineProperty(KC,"__esModule",{value:!0}),KC.TimeInterval=KC.timeInterval=void 0;var ZC=_m,XC=rh,QC=ih;KC.timeInterval=function(e){return void 0===e&&(e=ZC.asyncScheduler),XC.operate((function(t,n){var r=e.now();t.subscribe(QC.createOperatorSubscriber(n,(function(t){var o=e.now(),a=o-r;r=o,n.next(new eO(t,a))})))}))};var eO=function(){return function(e,t){this.value=e,this.interval=t}}();KC.TimeInterval=eO;var tO={};Object.defineProperty(tO,"__esModule",{value:!0}),tO.timeoutWith=void 0;var nO=_m,rO=Gy,oO=Hy;tO.timeoutWith=function(e,t,n){var r,o,a;if(n=null!=n?n:nO.async,rO.isValidDate(e)?r=e:"number"==typeof e&&(o=e),!t)throw new TypeError("No observable provided to switch to");if(a=function(){return t},null==r&&null==o)throw new TypeError("No timeout provided.");return oO.timeout({first:r,each:o,scheduler:n,with:a})};var aO={};Object.defineProperty(aO,"__esModule",{value:!0}),aO.timestamp=void 0;var iO=Uh,sO=Jy;aO.timestamp=function(e){return void 0===e&&(e=iO.dateTimestampProvider),sO.map((function(t){return{value:t,timestamp:e.now()}}))};var lO={};Object.defineProperty(lO,"__esModule",{value:!0}),lO.window=void 0;var cO=Ah,uO=rh,fO=ih,dO=Fp,pO=Zm;lO.window=function(e){return uO.operate((function(t,n){var r=new cO.Subject;n.next(r.asObservable());var o=function(e){r.error(e),n.error(e)};return t.subscribe(fO.createOperatorSubscriber(n,(function(e){return null==r?void 0:r.next(e)}),(function(){r.complete(),n.complete()}),o)),pO.innerFrom(e).subscribe(fO.createOperatorSubscriber(n,(function(){r.complete(),n.next(r=new cO.Subject)}),dO.noop,o)),function(){null==r||r.unsubscribe(),r=null}}))};var hO={},mO=D&&D.__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(hO,"__esModule",{value:!0}),hO.windowCount=void 0;var gO=Ah,yO=rh,vO=ih;hO.windowCount=function(e,t){void 0===t&&(t=0);var n=t>0?t:e;return yO.operate((function(t,r){var o=[new gO.Subject],a=0;r.next(o[0].asObservable()),t.subscribe(vO.createOperatorSubscriber(r,(function(t){var i,s;try{for(var l=mO(o),c=l.next();!c.done;c=l.next())c.value.next(t)}catch(e){i={error:e}}finally{try{c&&!c.done&&(s=l.return)&&s.call(l)}finally{if(i)throw i.error}}var u=a-e+1;if(u>=0&&u%n==0&&o.shift().complete(),++a%n==0){var f=new gO.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 bO={};Object.defineProperty(bO,"__esModule",{value:!0}),bO.windowTime=void 0;var _O=Ah,wO=_m,SO=vp,xO=rh,EO=ih,kO=wp,AO=zm,CO=qg;bO.windowTime=function(e){for(var t,n,r=[],o=1;o<arguments.length;o++)r[o-1]=arguments[o];var a=null!==(t=AO.popScheduler(r))&&void 0!==t?t:wO.asyncScheduler,i=null!==(n=r[0])&&void 0!==n?n:null,s=r[1]||Infinity;return xO.operate((function(t,n){var r=[],o=!1,l=function(e){var t=e.subs;e.window.complete(),t.unsubscribe(),kO.arrRemove(r,e),o&&c()},c=function(){if(r){var t=new SO.Subscription;n.add(t);var o=new _O.Subject,i={window:o,subs:t,seen:0};r.push(i),n.next(o.asObservable()),CO.executeSchedule(t,a,(function(){return l(i)}),e)}};null!==i&&i>=0?CO.executeSchedule(n,a,c,i,!0):o=!0,c();var u=function(e){return r.slice().forEach(e)},f=function(e){u((function(t){return e(t.window)})),e(n),n.unsubscribe()};return t.subscribe(EO.createOperatorSubscriber(n,(function(e){u((function(t){t.window.next(e),s<=++t.seen&&l(t)}))}),(function(){return f((function(e){return e.complete()}))}),(function(e){return f((function(t){return t.error(e)}))}))),function(){r=null}}))};var OO={},NO=D&&D.__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(OO,"__esModule",{value:!0}),OO.windowToggle=void 0;var RO=Ah,TO=vp,IO=rh,PO=Zm,MO=ih,FO=Fp,jO=wp;OO.windowToggle=function(e,t){return IO.operate((function(n,r){var o=[],a=function(e){for(;0<o.length;)o.shift().error(e);r.error(e)};PO.innerFrom(e).subscribe(MO.createOperatorSubscriber(r,(function(e){var n=new RO.Subject;o.push(n);var i,s=new TO.Subscription;try{i=PO.innerFrom(t(e))}catch(e){return void a(e)}r.next(n.asObservable()),s.add(i.subscribe(MO.createOperatorSubscriber(r,(function(){jO.arrRemove(o,n),n.complete(),s.unsubscribe()}),FO.noop,a)))}),FO.noop)),n.subscribe(MO.createOperatorSubscriber(r,(function(e){var t,n,r=o.slice();try{for(var a=NO(r),i=a.next();!i.done;i=a.next())i.value.next(e)}catch(e){t={error:e}}finally{try{i&&!i.done&&(n=a.return)&&n.call(a)}finally{if(t)throw t.error}}}),(function(){for(;0<o.length;)o.shift().complete();r.complete()}),a,(function(){for(;0<o.length;)o.shift().unsubscribe()})))}))};var DO={};Object.defineProperty(DO,"__esModule",{value:!0}),DO.windowWhen=void 0;var LO=Ah,qO=rh,BO=ih,UO=Zm;DO.windowWhen=function(e){return qO.operate((function(t,n){var r,o,a=function(e){r.error(e),n.error(e)};!function t(){var i;null==o||o.unsubscribe(),null==r||r.complete(),r=new LO.Subject,n.next(r.asObservable());try{i=UO.innerFrom(e())}catch(e){return void a(e)}i.subscribe(o=BO.createOperatorSubscriber(n,t,t,a))}(),t.subscribe(BO.createOperatorSubscriber(n,(function(e){return r.next(e)}),(function(){r.complete(),n.complete()}),a,(function(){null==o||o.unsubscribe(),r=null})))}))};var zO={},HO=D&&D.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},GO=D&&D.__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(zO,"__esModule",{value:!0}),zO.withLatestFrom=void 0;var WO=rh,$O=ih,VO=Zm,JO=Hp,YO=Fp,KO=zm;zO.withLatestFrom=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=KO.popResultSelector(e);return WO.operate((function(t,r){for(var o=e.length,a=new Array(o),i=e.map((function(){return!1})),s=!1,l=function(t){VO.innerFrom(e[t]).subscribe($O.createOperatorSubscriber(r,(function(e){a[t]=e,s||i[t]||(i[t]=!0,(s=i.every(JO.identity))&&(i=null))}),YO.noop))},c=0;c<o;c++)l(c);t.subscribe($O.createOperatorSubscriber(r,(function(e){if(s){var t=GO([e],HO(a));r.next(n?n.apply(void 0,GO([],HO(t))):t)}})))}))};var ZO={};Object.defineProperty(ZO,"__esModule",{value:!0}),ZO.zipAll=void 0;var XO=C_,QO=Nw;ZO.zipAll=function(e){return QO.joinAllInternals(XO.zip,e)};var eN={},tN={},nN=D&&D.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},rN=D&&D.__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(tN,"__esModule",{value:!0}),tN.zip=void 0;var oN=C_,aN=rh;tN.zip=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return aN.operate((function(t,n){oN.zip.apply(void 0,rN([t],nN(e))).subscribe(n)}))};var iN=D&&D.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i},sN=D&&D.__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(eN,"__esModule",{value:!0}),eN.zipWith=void 0;var lN=tN;eN.zipWith=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return lN.zip.apply(void 0,sN([],iN(e)))},function(e){var t=D&&D.__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=D&&D.__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=mp;Object.defineProperty(e,"Observable",{enumerable:!0,get:function(){return r.Observable}});var o=th;Object.defineProperty(e,"ConnectableObservable",{enumerable:!0,get:function(){return o.ConnectableObservable}});var a=Up;Object.defineProperty(e,"observable",{enumerable:!0,get:function(){return a.observable}});var i=vh;Object.defineProperty(e,"animationFrames",{enumerable:!0,get:function(){return i.animationFrames}});var s=Ah;Object.defineProperty(e,"Subject",{enumerable:!0,get:function(){return s.Subject}});var l=Dh;Object.defineProperty(e,"BehaviorSubject",{enumerable:!0,get:function(){return l.BehaviorSubject}});var c=Bh;Object.defineProperty(e,"ReplaySubject",{enumerable:!0,get:function(){return c.ReplaySubject}});var u=Wh;Object.defineProperty(e,"AsyncSubject",{enumerable:!0,get:function(){return u.AsyncSubject}});var f=Jh;Object.defineProperty(e,"asap",{enumerable:!0,get:function(){return f.asap}}),Object.defineProperty(e,"asapScheduler",{enumerable:!0,get:function(){return f.asapScheduler}});var d=_m;Object.defineProperty(e,"async",{enumerable:!0,get:function(){return d.async}}),Object.defineProperty(e,"asyncScheduler",{enumerable:!0,get:function(){return d.asyncScheduler}});var p=wm;Object.defineProperty(e,"queue",{enumerable:!0,get:function(){return p.queue}}),Object.defineProperty(e,"queueScheduler",{enumerable:!0,get:function(){return p.queueScheduler}});var h=Cm;Object.defineProperty(e,"animationFrame",{enumerable:!0,get:function(){return h.animationFrame}}),Object.defineProperty(e,"animationFrameScheduler",{enumerable:!0,get:function(){return h.animationFrameScheduler}});var m=Mm;Object.defineProperty(e,"VirtualTimeScheduler",{enumerable:!0,get:function(){return m.VirtualTimeScheduler}}),Object.defineProperty(e,"VirtualAction",{enumerable:!0,get:function(){return m.VirtualAction}});var g=hm;Object.defineProperty(e,"Scheduler",{enumerable:!0,get:function(){return g.Scheduler}});var y=vp;Object.defineProperty(e,"Subscription",{enumerable:!0,get:function(){return y.Subscription}});var v=gp;Object.defineProperty(e,"Subscriber",{enumerable:!0,get:function(){return v.Subscriber}});var b=qm;Object.defineProperty(e,"Notification",{enumerable:!0,get:function(){return b.Notification}}),Object.defineProperty(e,"NotificationKind",{enumerable:!0,get:function(){return b.NotificationKind}});var _=zp;Object.defineProperty(e,"pipe",{enumerable:!0,get:function(){return _.pipe}});var w=Fp;Object.defineProperty(e,"noop",{enumerable:!0,get:function(){return w.noop}});var S=Hp;Object.defineProperty(e,"identity",{enumerable:!0,get:function(){return S.identity}});var x=Ty;Object.defineProperty(e,"isObservable",{enumerable:!0,get:function(){return x.isObservable}});var E=My;Object.defineProperty(e,"lastValueFrom",{enumerable:!0,get:function(){return E.lastValueFrom}});var k=Dy;Object.defineProperty(e,"firstValueFrom",{enumerable:!0,get:function(){return k.firstValueFrom}});var A=By;Object.defineProperty(e,"ArgumentOutOfRangeError",{enumerable:!0,get:function(){return A.ArgumentOutOfRangeError}});var C=Fy;Object.defineProperty(e,"EmptyError",{enumerable:!0,get:function(){return C.EmptyError}});var O=Uy;Object.defineProperty(e,"NotFoundError",{enumerable:!0,get:function(){return O.NotFoundError}});var N=Ch;Object.defineProperty(e,"ObjectUnsubscribedError",{enumerable:!0,get:function(){return N.ObjectUnsubscribedError}});var R=zy;Object.defineProperty(e,"SequenceError",{enumerable:!0,get:function(){return R.SequenceError}});var T=Hy;Object.defineProperty(e,"TimeoutError",{enumerable:!0,get:function(){return T.TimeoutError}});var I=bp;Object.defineProperty(e,"UnsubscriptionError",{enumerable:!0,get:function(){return I.UnsubscriptionError}});var P=Wy;Object.defineProperty(e,"bindCallback",{enumerable:!0,get:function(){return P.bindCallback}});var M=uv;Object.defineProperty(e,"bindNodeCallback",{enumerable:!0,get:function(){return M.bindNodeCallback}});var F=dv;Object.defineProperty(e,"combineLatest",{enumerable:!0,get:function(){return F.combineLatest}});var j=Rv;Object.defineProperty(e,"concat",{enumerable:!0,get:function(){return j.concat}});var L=Yv;Object.defineProperty(e,"connectable",{enumerable:!0,get:function(){return L.connectable}});var q=Kv;Object.defineProperty(e,"defer",{enumerable:!0,get:function(){return q.defer}});var B=Bm;Object.defineProperty(e,"empty",{enumerable:!0,get:function(){return B.empty}});var U=rb;Object.defineProperty(e,"forkJoin",{enumerable:!0,get:function(){return U.forkJoin}});var z=Jm;Object.defineProperty(e,"from",{enumerable:!0,get:function(){return z.from}});var H=fb;Object.defineProperty(e,"fromEvent",{enumerable:!0,get:function(){return H.fromEvent}});var G=xb;Object.defineProperty(e,"fromEventPattern",{enumerable:!0,get:function(){return G.fromEventPattern}});var W=Cb;Object.defineProperty(e,"generate",{enumerable:!0,get:function(){return W.generate}});var $=Pb;Object.defineProperty(e,"iif",{enumerable:!0,get:function(){return $.iif}});var V=Fb;Object.defineProperty(e,"interval",{enumerable:!0,get:function(){return V.interval}});var J=Hb;Object.defineProperty(e,"merge",{enumerable:!0,get:function(){return J.merge}});var Y=Yb;Object.defineProperty(e,"never",{enumerable:!0,get:function(){return Y.never}});var K=Um;Object.defineProperty(e,"of",{enumerable:!0,get:function(){return K.of}});var Z=Kb;Object.defineProperty(e,"onErrorResumeNext",{enumerable:!0,get:function(){return Z.onErrorResumeNext}});var X=o_;Object.defineProperty(e,"pairs",{enumerable:!0,get:function(){return X.pairs}});var Q=i_;Object.defineProperty(e,"partition",{enumerable:!0,get:function(){return Q.partition}});var ee=h_;Object.defineProperty(e,"race",{enumerable:!0,get:function(){return ee.race}});var te=__;Object.defineProperty(e,"range",{enumerable:!0,get:function(){return te.range}});var ne=Oy;Object.defineProperty(e,"throwError",{enumerable:!0,get:function(){return ne.throwError}});var re=jb;Object.defineProperty(e,"timer",{enumerable:!0,get:function(){return re.timer}});var oe=x_;Object.defineProperty(e,"using",{enumerable:!0,get:function(){return oe.using}});var ae=C_;Object.defineProperty(e,"zip",{enumerable:!0,get:function(){return ae.zip}});var ie=Ym;Object.defineProperty(e,"scheduled",{enumerable:!0,get:function(){return ie.scheduled}});var se=Bm;Object.defineProperty(e,"EMPTY",{enumerable:!0,get:function(){return se.EMPTY}});var le=Yb;Object.defineProperty(e,"NEVER",{enumerable:!0,get:function(){return le.NEVER}}),n(j_,e);var ce=Rp;Object.defineProperty(e,"config",{enumerable:!0,get:function(){return ce.config}});var ue=D_;Object.defineProperty(e,"audit",{enumerable:!0,get:function(){return ue.audit}});var fe=U_;Object.defineProperty(e,"auditTime",{enumerable:!0,get:function(){return fe.auditTime}});var de=W_;Object.defineProperty(e,"buffer",{enumerable:!0,get:function(){return de.buffer}});var pe=K_;Object.defineProperty(e,"bufferCount",{enumerable:!0,get:function(){return pe.bufferCount}});var he=tw;Object.defineProperty(e,"bufferTime",{enumerable:!0,get:function(){return he.bufferTime}});var me=uw;Object.defineProperty(e,"bufferToggle",{enumerable:!0,get:function(){return me.bufferToggle}});var ge=vw;Object.defineProperty(e,"bufferWhen",{enumerable:!0,get:function(){return ge.bufferWhen}});var ye=xw;Object.defineProperty(e,"catchError",{enumerable:!0,get:function(){return ye.catchError}});var ve=Cw;Object.defineProperty(e,"combineAll",{enumerable:!0,get:function(){return ve.combineAll}});var be=Ow;Object.defineProperty(e,"combineLatestAll",{enumerable:!0,get:function(){return be.combineLatestAll}});var _e=$w;Object.defineProperty(e,"combineLatestWith",{enumerable:!0,get:function(){return _e.combineLatestWith}});var we=Tv;Object.defineProperty(e,"concatAll",{enumerable:!0,get:function(){return we.concatAll}});var Se=aS;Object.defineProperty(e,"concatMap",{enumerable:!0,get:function(){return Se.concatMap}});var xe=lS;Object.defineProperty(e,"concatMapTo",{enumerable:!0,get:function(){return xe.concatMapTo}});var Ee=fS;Object.defineProperty(e,"concatWith",{enumerable:!0,get:function(){return Ee.concatWith}});var ke=SS;Object.defineProperty(e,"connect",{enumerable:!0,get:function(){return ke.connect}});var Ae=RS;Object.defineProperty(e,"count",{enumerable:!0,get:function(){return Ae.count}});var Ce=IS;Object.defineProperty(e,"debounce",{enumerable:!0,get:function(){return Ce.debounce}});var Oe=DS;Object.defineProperty(e,"debounceTime",{enumerable:!0,get:function(){return Oe.debounceTime}});var Ne=US;Object.defineProperty(e,"defaultIfEmpty",{enumerable:!0,get:function(){return Ne.defaultIfEmpty}});var Re=GS;Object.defineProperty(e,"delay",{enumerable:!0,get:function(){return Re.delay}});var Te=WS;Object.defineProperty(e,"delayWhen",{enumerable:!0,get:function(){return Te.delayWhen}});var Ie=fx;Object.defineProperty(e,"dematerialize",{enumerable:!0,get:function(){return Ie.dematerialize}});var Pe=mx;Object.defineProperty(e,"distinct",{enumerable:!0,get:function(){return Pe.distinct}});var Me=_x;Object.defineProperty(e,"distinctUntilChanged",{enumerable:!0,get:function(){return Me.distinctUntilChanged}});var Fe=kx;Object.defineProperty(e,"distinctUntilKeyChanged",{enumerable:!0,get:function(){return Fe.distinctUntilKeyChanged}});var je=Cx;Object.defineProperty(e,"elementAt",{enumerable:!0,get:function(){return je.elementAt}});var De=Lx;Object.defineProperty(e,"endWith",{enumerable:!0,get:function(){return De.endWith}});var Le=Hx;Object.defineProperty(e,"every",{enumerable:!0,get:function(){return Le.every}});var qe=$x;Object.defineProperty(e,"exhaust",{enumerable:!0,get:function(){return qe.exhaust}});var Be=Vx;Object.defineProperty(e,"exhaustAll",{enumerable:!0,get:function(){return Be.exhaustAll}});var Ue=Jx;Object.defineProperty(e,"exhaustMap",{enumerable:!0,get:function(){return Ue.exhaustMap}});var ze=tE;Object.defineProperty(e,"expand",{enumerable:!0,get:function(){return ze.expand}});var He=l_;Object.defineProperty(e,"filter",{enumerable:!0,get:function(){return He.filter}});var Ge=oE;Object.defineProperty(e,"finalize",{enumerable:!0,get:function(){return Ge.finalize}});var We=iE;Object.defineProperty(e,"find",{enumerable:!0,get:function(){return We.find}});var $e=uE;Object.defineProperty(e,"findIndex",{enumerable:!0,get:function(){return $e.findIndex}});var Ve=pE;Object.defineProperty(e,"first",{enumerable:!0,get:function(){return Ve.first}});var Je=_E;Object.defineProperty(e,"groupBy",{enumerable:!0,get:function(){return Je.groupBy}});var Ye=KS;Object.defineProperty(e,"ignoreElements",{enumerable:!0,get:function(){return Ye.ignoreElements}});var Ke=AE;Object.defineProperty(e,"isEmpty",{enumerable:!0,get:function(){return Ke.isEmpty}});var Ze=NE;Object.defineProperty(e,"last",{enumerable:!0,get:function(){return Ze.last}});var Xe=Jy;Object.defineProperty(e,"map",{enumerable:!0,get:function(){return Xe.map}});var Qe=ex;Object.defineProperty(e,"mapTo",{enumerable:!0,get:function(){return Qe.mapTo}});var et=UE;Object.defineProperty(e,"materialize",{enumerable:!0,get:function(){return et.materialize}});var tt=WE;Object.defineProperty(e,"max",{enumerable:!0,get:function(){return tt.max}});var nt=Iv;Object.defineProperty(e,"mergeAll",{enumerable:!0,get:function(){return nt.mergeAll}});var rt=JE;Object.defineProperty(e,"flatMap",{enumerable:!0,get:function(){return rt.flatMap}});var ot=Pv;Object.defineProperty(e,"mergeMap",{enumerable:!0,get:function(){return ot.mergeMap}});var at=YE;Object.defineProperty(e,"mergeMapTo",{enumerable:!0,get:function(){return at.mergeMapTo}});var it=XE;Object.defineProperty(e,"mergeScan",{enumerable:!0,get:function(){return it.mergeScan}});var st=tk;Object.defineProperty(e,"mergeWith",{enumerable:!0,get:function(){return st.mergeWith}});var lt=pk;Object.defineProperty(e,"min",{enumerable:!0,get:function(){return lt.min}});var ct=gk;Object.defineProperty(e,"multicast",{enumerable:!0,get:function(){return ct.multicast}});var ut=Lg;Object.defineProperty(e,"observeOn",{enumerable:!0,get:function(){return ut.observeOn}});var ft=_k;Object.defineProperty(e,"onErrorResumeNextWith",{enumerable:!0,get:function(){return ft.onErrorResumeNextWith}});var dt=Ak;Object.defineProperty(e,"pairwise",{enumerable:!0,get:function(){return dt.pairwise}});var pt=Nk;Object.defineProperty(e,"pluck",{enumerable:!0,get:function(){return pt.pluck}});var ht=Tk;Object.defineProperty(e,"publish",{enumerable:!0,get:function(){return ht.publish}});var mt=Fk;Object.defineProperty(e,"publishBehavior",{enumerable:!0,get:function(){return mt.publishBehavior}});var gt=Lk;Object.defineProperty(e,"publishLast",{enumerable:!0,get:function(){return gt.publishLast}});var yt=Uk;Object.defineProperty(e,"publishReplay",{enumerable:!0,get:function(){return yt.publishReplay}});var vt=Wk;Object.defineProperty(e,"raceWith",{enumerable:!0,get:function(){return vt.raceWith}});var bt=Tw;Object.defineProperty(e,"reduce",{enumerable:!0,get:function(){return bt.reduce}});var _t=Zk;Object.defineProperty(e,"repeat",{enumerable:!0,get:function(){return _t.repeat}});var wt=rA;Object.defineProperty(e,"repeatWhen",{enumerable:!0,get:function(){return wt.repeatWhen}});var St=lA;Object.defineProperty(e,"retry",{enumerable:!0,get:function(){return St.retry}});var xt=hA;Object.defineProperty(e,"retryWhen",{enumerable:!0,get:function(){return xt.retryWhen}});var Et=nh;Object.defineProperty(e,"refCount",{enumerable:!0,get:function(){return Et.refCount}});var kt=bA;Object.defineProperty(e,"sample",{enumerable:!0,get:function(){return kt.sample}});var At=EA;Object.defineProperty(e,"sampleTime",{enumerable:!0,get:function(){return At.sampleTime}});var Ct=OA;Object.defineProperty(e,"scan",{enumerable:!0,get:function(){return Ct.scan}});var Ot=TA;Object.defineProperty(e,"sequenceEqual",{enumerable:!0,get:function(){return Ot.sequenceEqual}});var Nt=FA;Object.defineProperty(e,"share",{enumerable:!0,get:function(){return Nt.share}});var Rt=HA;Object.defineProperty(e,"shareReplay",{enumerable:!0,get:function(){return Rt.shareReplay}});var Tt=$A;Object.defineProperty(e,"single",{enumerable:!0,get:function(){return Tt.single}});var It=XA;Object.defineProperty(e,"skip",{enumerable:!0,get:function(){return It.skip}});var Pt=eC;Object.defineProperty(e,"skipLast",{enumerable:!0,get:function(){return Pt.skipLast}});var Mt=oC;Object.defineProperty(e,"skipUntil",{enumerable:!0,get:function(){return Mt.skipUntil}});var Ft=cC;Object.defineProperty(e,"skipWhile",{enumerable:!0,get:function(){return Ft.skipWhile}});var jt=dC;Object.defineProperty(e,"startWith",{enumerable:!0,get:function(){return jt.startWith}});var Dt=Hg;Object.defineProperty(e,"subscribeOn",{enumerable:!0,get:function(){return Dt.subscribeOn}});var Lt=gC;Object.defineProperty(e,"switchAll",{enumerable:!0,get:function(){return Lt.switchAll}});var qt=yC;Object.defineProperty(e,"switchMap",{enumerable:!0,get:function(){return qt.switchMap}});var Bt=xC;Object.defineProperty(e,"switchMapTo",{enumerable:!0,get:function(){return Bt.switchMapTo}});var Ut=AC;Object.defineProperty(e,"switchScan",{enumerable:!0,get:function(){return Ut.switchScan}});var zt=$S;Object.defineProperty(e,"take",{enumerable:!0,get:function(){return zt.take}});var Ht=RE;Object.defineProperty(e,"takeLast",{enumerable:!0,get:function(){return Ht.takeLast}});var Gt=NC;Object.defineProperty(e,"takeUntil",{enumerable:!0,get:function(){return Gt.takeUntil}});var Wt=MC;Object.defineProperty(e,"takeWhile",{enumerable:!0,get:function(){return Wt.takeWhile}});var $t=DC;Object.defineProperty(e,"tap",{enumerable:!0,get:function(){return $t.tap}});var Vt=zC;Object.defineProperty(e,"throttle",{enumerable:!0,get:function(){return Vt.throttle}});var Jt=$C;Object.defineProperty(e,"throttleTime",{enumerable:!0,get:function(){return Jt.throttleTime}});var Yt=Ox;Object.defineProperty(e,"throwIfEmpty",{enumerable:!0,get:function(){return Yt.throwIfEmpty}});var Kt=KC;Object.defineProperty(e,"timeInterval",{enumerable:!0,get:function(){return Kt.timeInterval}});var Zt=Hy;Object.defineProperty(e,"timeout",{enumerable:!0,get:function(){return Zt.timeout}});var Xt=tO;Object.defineProperty(e,"timeoutWith",{enumerable:!0,get:function(){return Xt.timeoutWith}});var Qt=aO;Object.defineProperty(e,"timestamp",{enumerable:!0,get:function(){return Qt.timestamp}});var en=Rw;Object.defineProperty(e,"toArray",{enumerable:!0,get:function(){return en.toArray}});var tn=lO;Object.defineProperty(e,"window",{enumerable:!0,get:function(){return tn.window}});var nn=hO;Object.defineProperty(e,"windowCount",{enumerable:!0,get:function(){return nn.windowCount}});var rn=bO;Object.defineProperty(e,"windowTime",{enumerable:!0,get:function(){return rn.windowTime}});var on=OO;Object.defineProperty(e,"windowToggle",{enumerable:!0,get:function(){return on.windowToggle}});var an=DO;Object.defineProperty(e,"windowWhen",{enumerable:!0,get:function(){return an.windowWhen}});var sn=zO;Object.defineProperty(e,"withLatestFrom",{enumerable:!0,get:function(){return sn.withLatestFrom}});var ln=ZO;Object.defineProperty(e,"zipAll",{enumerable:!0,get:function(){return ln.zipAll}});var cn=eN;Object.defineProperty(e,"zipWith",{enumerable:!0,get:function(){return cn.zipWith}})}(hp),Object.defineProperty(pp,"__esModule",{value:!0});var cN=pp.checkAbortSignal=pN;pp.abortBreakPoint=function(e){return mN.apply(this,arguments)},pp.makeAbortError=gN,pp.observeAbortSignal=function(e){return e?(0,fN.fromEvent)(e,"abort"):new fN.Observable};var uN=pp.isAbortException=function(e){return e instanceof Error&&("AbortError"===e.name||"ERR_ABORTED"===e.code||!!/\b(aborted|aborterror)\b/i.test(e.message))},fN=hp,dN=function(e){ne(n,e);var t=ce(n);function n(){return X(this,n),t.apply(this,arguments)}return ee(n)}(se(Error));function pN(e){if(e){if(!(e instanceof AbortSignal))throw new TypeError("must pass an AbortSignal");if(e.aborted)throw gN()}}function hN(e){return new Promise((function(t){return setTimeout(t,e)}))}function mN(){return(mN=Z(J().mark((function e(t){return J().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,hN(1);case 2:pN(t);case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function gN(){if("undefined"!=typeof DOMException)return new DOMException("aborted","AbortError");var e=new dN("aborted");return e.code="ERR_ABORTED",e}var yN={exports:{}};!function(e,t){var n;n=function(){return function e(t,n,r){function o(i,s){if(!n[i]){if(!t[i]){if(!s&&q)return q(i);if(a)return a(i,!0);var l=new Error("Cannot find module '"+i+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[i]={exports:{}};t[i][0].call(c.exports,(function(e){return o(t[i][1][e]||e)}),c,c.exports,e,t,n,r)}return n[i].exports}for(var a=q,i=0;i<r.length;i++)o(r[i]);return o}({"./aesprim":[function(e,t,n){var r;r=function(e){var t,n,r,o,a,i,s,l,c,u,f,d,p,h,m,g,y,v;function b(e,t){if(!e)throw new Error("ASSERT: "+t)}function _(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 E(e){return 10===e||13===e||8232===e||8233===e}function k(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 N(e,t,n,r,o){var a;b("number"==typeof n,"Comment must have valid position"),y.lastCommentStart>=n||(y.lastCommentStart=n,a={type:e,value:t},v.range&&(a.range=[n,r]),v.loc&&(a.loc=o),v.comments.push(a),v.attachComment&&(v.leadingComments.push(a),v.trailingComments.push(a)))}function R(e){var t,n,r,o;for(t=f-e,n={start:{line:d,column:f-p-e}};f<h;)if(r=c.charCodeAt(f),++f,E(r))return v.comments&&(o=c.slice(t+e,f-1),n.end={line:d,column:f-p-1},N("Line",o,t,f-1,n)),13===r&&10===c.charCodeAt(f)&&++f,++d,void(p=f);v.comments&&(o=c.slice(t+e,f),n.end={line:d,column:f-p},N("Line",o,t,f,n))}function T(){var e,t,n,r;for(v.comments&&(e=f-2,t={start:{line:d,column:f-p-2}});f<h;)if(E(n=c.charCodeAt(f)))13===n&&10===c.charCodeAt(f+1)&&++f,++d,++f,p=f,f>=h&&$({},i.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-p},N("Block",r,e,f,t)));++f}else++f;$({},i.UnexpectedToken,"ILLEGAL")}function I(){var e,t;for(t=0===f;f<h;)if(x(e=c.charCodeAt(f)))++f;else if(E(e))++f,13===e&&10===c.charCodeAt(f)&&++f,++d,p=f,t=!0;else if(47===e)if(47===(e=c.charCodeAt(f+1)))++f,++f,R(2),t=!0;else{if(42!==e)break;++f,++f,T()}else if(t&&45===e){if(45!==c.charCodeAt(f+1)||62!==c.charCodeAt(f+2))break;f+=3,R(3)}else{if(60!==e)break;if("!--"!==c.slice(f+1,f+4))break;++f,++f,++f,++f,R(4)}}function P(e){var t,n,r,o=0;for(n="u"===e?4:2,t=0;t<n;++t){if(!(f<h&&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)&&$({},i.UnexpectedToken,"ILLEGAL"),++f,(e=P("u"))&&"\\"!==e&&k(e.charCodeAt(0))||$({},i.UnexpectedToken,"ILLEGAL"),t=e);f<h&&A(e=c.charCodeAt(f));)++f,t+=String.fromCharCode(e),92===e&&(t=t.substr(0,t.length-1),117!==c.charCodeAt(f)&&$({},i.UnexpectedToken,"ILLEGAL"),++f,(e=P("u"))&&"\\"!==e&&A(e.charCodeAt(0))||$({},i.UnexpectedToken,"ILLEGAL"),t+=e);return t}function F(){var e,n,r,o,a=f,s=c.charCodeAt(f),l=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:p,start:a,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:p,start:a,end:f};case 33:case 61:return 61===c.charCodeAt(f+=2)&&++f,{type:t.Punctuator,value:c.slice(a,f),lineNumber:d,lineStart:p,start:a,end:f}}}return">>>="===(o=c.substr(f,4))?{type:t.Punctuator,value:o,lineNumber:d,lineStart:p,start:a,end:f+=4}:">>>"===(r=o.substr(0,3))||"<<="===r||">>="===r?{type:t.Punctuator,value:r,lineNumber:d,lineStart:p,start:a,end:f+=3}:l===(n=r.substr(0,2))[1]&&"+-<>&|".indexOf(l)>=0||"=>"===n?{type:t.Punctuator,value:n,lineNumber:d,lineStart:p,start:a,end:f+=2}:"<>=!+-*%&|^/".indexOf(l)>=0?(++f,{type:t.Punctuator,value:l,lineNumber:d,lineStart:p,start:a,end:f}):void $({},i.UnexpectedToken,"ILLEGAL")}function j(){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<h&&w(c[f]);)n+=c[f++];return 0===n.length&&$({},i.UnexpectedToken,"ILLEGAL"),k(c.charCodeAt(f))&&$({},i.UnexpectedToken,"ILLEGAL"),{type:t.NumericLiteral,value:parseInt("0x"+n,16),lineNumber:d,lineStart:p,start:e,end:f}}(n);if(S(r))return function(e){for(var n="0"+c[f++];f<h&&S(c[f]);)n+=c[f++];return(k(c.charCodeAt(f))||_(c.charCodeAt(f)))&&$({},i.UnexpectedToken,"ILLEGAL"),{type:t.NumericLiteral,value:parseInt(n,8),octal:!0,lineNumber:d,lineStart:p,start:e,end:f}}(n);r&&_(r.charCodeAt(0))&&$({},i.UnexpectedToken,"ILLEGAL")}for(;_(c.charCodeAt(f));)e+=c[f++];r=c[f]}if("."===r){for(e+=c[f++];_(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++]),_(c.charCodeAt(f)))for(;_(c.charCodeAt(f));)e+=c[f++];else $({},i.UnexpectedToken,"ILLEGAL");return k(c.charCodeAt(f))&&$({},i.UnexpectedToken,"ILLEGAL"),{type:t.NumericLiteral,value:parseFloat(e),lineNumber:d,lineStart:p,start:n,end:f}}function D(){var e,n,r,o;return g=null,I(),e=f,n=function(){var e,t,n,r;for(b("/"===(e=c[f]),"Regular expression literal must start with a slash"),t=c[f++],n=!1,r=!1;f<h;)if(t+=e=c[f++],"\\"===e)E((e=c[f++]).charCodeAt(0))&&$({},i.UnterminatedRegExp),t+=e;else if(E(e.charCodeAt(0)))$({},i.UnterminatedRegExp);else if(n)"]"===e&&(n=!1);else{if("/"===e){r=!0;break}"["===e&&(n=!0)}return r||$({},i.UnterminatedRegExp),{value:t.substr(1,t.length-2),literal:t}}(),r=function(){var e,t,n,r;for(t="",n="";f<h&&A((e=c[f]).charCodeAt(0));)if(++f,"\\"===e&&f<h)if("u"===(e=c[f])){if(r=++f,e=P("u"))for(n+=e,t+="\\u";r<f;++r)t+=c[r];else f=r,n+="u",t+="\\u";V({},i.UnexpectedToken,"ILLEGAL")}else t+="\\",V({},i.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){$({},i.InvalidRegExp)}return n}(n.value,r.value),v.tokenize?{type:t.RegularExpression,value:o,lineNumber:d,lineStart:p,start:e,end:f}:{literal:n.literal+r.literal,value:o,start:e,end:f}}function L(){var e,t,n,r;return I(),e=f,t={start:{line:d,column:f-p}},n=D(),t.end={line:d,column:f-p},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 I(),f>=h?{type:t.EOF,lineNumber:d,lineStart:p,start:f,end:f}:k(e=c.charCodeAt(f))?(n=f,o=92===c.charCodeAt(f)?M():function(){var e,t;for(e=f++;f<h;){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(u&&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:p,start:n,end:f}):40===e||41===e||59===e?F():39===e||34===e?function(){var e,n,r,o,a,s,l,u,m="",g=!1;for(l=d,u=p,b("'"===(e=c[f])||'"'===e,"String literal must starts with a quote"),n=f,++f;f<h;){if((r=c[f++])===e){e="";break}if("\\"===r)if((r=c[f++])&&E(r.charCodeAt(0)))++d,"\r"===r&&"\n"===c[f]&&++f,p=f;else switch(r){case"u":case"x":s=f,(a=P(r))?m+=a:(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<h&&S(c[f])&&(g=!0,o=8*o+"01234567".indexOf(c[f++]),"0123".indexOf(r)>=0&&f<h&&S(c[f])&&(o=8*o+"01234567".indexOf(c[f++]))),m+=String.fromCharCode(o)):m+=r}else{if(E(r.charCodeAt(0)))break;m+=r}}return""!==e&&$({},i.UnexpectedToken,"ILLEGAL"),{type:t.StringLiteral,value:m,octal:g,startLineNumber:l,startLineStart:u,lineNumber:d,lineStart:p,start:n,end:f}}():46===e?_(c.charCodeAt(f+1))?j():F():_(e)?j():v.tokenize&&47===e?function(){var e,t;if(!(e=v.tokens[v.tokens.length-1]))return L();if("Punctuator"===e.type){if("]"===e.value)return F();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?F():L();if("}"===e.value){if(v.tokens[v.openCurlyToken-3]&&"Keyword"===v.tokens[v.openCurlyToken-3].type){if(!(t=v.tokens[v.openCurlyToken-4]))return F()}else{if(!v.tokens[v.openCurlyToken-4]||"Keyword"!==v.tokens[v.openCurlyToken-4].type)return F();if(!(t=v.tokens[v.openCurlyToken-5]))return L()}return r.indexOf(t.value)>=0?F():L()}return L()}return"Keyword"===e.type?L():F()}():F()}function B(){var e,r,o;return I(),e={start:{line:d,column:f-p}},r=q(),e.end={line:d,column:f-p},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,p=e.lineStart,g=void 0!==v.tokens?B():q(),f=e.end,d=e.lineNumber,p=e.lineStart,e}function z(){var e,t,n;e=f,t=d,n=p,g=void 0!==v.tokens?B():q(),f=e,d=t,p=n}function H(e,t){this.line=e,this.column=t}function G(e,t,n,r){this.start=new H(e,t),this.end=new H(n,r)}function W(){var e,t,n,r;return e=f,t=d,n=p,I(),r=d!==t,f=e,d=t,p=n,r}function $(e,t){var n,r=Array.prototype.slice.call(arguments,2),o=t.replace(/%(\d)/g,(function(e,t){return b(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-p+1):((n=new Error("Line "+d+": "+o)).index=f,n.lineNumber=d,n.column=f-p+1),n.description=o,n}function V(){try{$.apply(null,arguments)}catch(e){if(!v.errors)throw e;v.errors.push(e)}}function J(e){if(e.type===t.EOF&&$(e,i.UnexpectedEOS),e.type===t.NumericLiteral&&$(e,i.UnexpectedNumber),e.type===t.StringLiteral&&$(e,i.UnexpectedString),e.type===t.Identifier&&$(e,i.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))$(e,i.UnexpectedReserved);else if(u&&C(e.value))return void V(e,i.StrictReservedWord);$(e,i.UnexpectedToken,e.value)}$(e,i.UnexpectedToken,e.value)}function Y(e){var n=U();n.type===t.Punctuator&&n.value===e||J(n)}function K(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,I(),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=u,o=g,r=_e(),t&&u&&O(e[0].name)&&V(t,i.StrictParamName),u=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?(u&&e.octal&&V(e,i.StrictOctalLiteral),m.markEnd(m.createLiteral(e),n)):m.markEnd(m.createIdentifier(e.value),n)}function re(){var e,n,r,o,a,s;return s=g,(e=g).type===t.Identifier?(r=ne(),"get"!==e.value||Z(":")?"set"!==e.value||Z(":")?(Y(":"),o=de(),m.markEnd(m.createProperty("init",r,o),s)):(n=ne(),Y("("),(e=g).type!==t.Identifier?(Y(")"),V(e,i.UnexpectedToken,e.value),o=te([])):(a=[me()],Y(")"),o=te(a,e)),m.markEnd(m.createProperty("set",n,o),s)):(n=ne(),Y("("),Y(")"),o=te([]),m.markEnd(m.createProperty("get",n,o),s))):e.type!==t.EOF&&e.type!==t.Punctuator?(n=ne(),Y(":"),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 Y("("),e=pe(),Y(")"),e}();if(Z("["))return function(){var e,t=[];for(e=g,Y("[");!Z("]");)Z(",")?(U(),t.push(null)):(t.push(de()),Z("]")||Y(","));return U(),m.markEnd(m.createArrayExpression(t),e)}();if(Z("{"))return function(){var e,t,n,r,s,l=[],c={},f=String;for(s=g,Y("{");!Z("}");)t=(e=re()).key.type===o.Identifier?e.key.name:f(e.key.value),r="init"===e.kind?a.Data:"get"===e.kind?a.Get:a.Set,n="$"+t,Object.prototype.hasOwnProperty.call(c,n)?(c[n]===a.Data?u&&r===a.Data?V({},i.StrictDuplicateProperty):r!==a.Data&&V({},i.AccessorDataProperty):r===a.Data?V({},i.AccessorDataProperty):c[n]&r&&V({},i.AccessorGetSet),c[n]|=r):c[n]=r,l.push(e),Z("}")||Y(",");return Y("}"),m.markEnd(m.createObjectExpression(l),s)}();if(s=g,(e=g.type)===t.Identifier)r=m.createIdentifier(U().value);else if(e===t.StringLiteral||e===t.NumericLiteral)u&&g.octal&&V(g,i.StrictOctalLiteral),r=m.createLiteral(U());else if(e===t.Keyword){if(X("function"))return function(){var e,t,n,r,o,a,s,l,c,f=null;return l=g,K("function"),Z("(")||(e=g,f=me(),u?O(e.value)&&V(e,i.StrictFunctionName):O(e.value)?(n=e,r=i.StrictFunctionName):C(e.value)&&(n=e,r=i.StrictReservedWord)),c=(o=we(n)).params,t=o.stricted,n=o.firstRestricted,o.message&&(r=o.message),s=u,a=_e(),u&&n&&$(n,r),u&&t&&V(t,r),u=s,m.markEnd(m.createFunctionExpression(f,c,[],a),l)}();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?L():D()),z()):J(U());return m.markEnd(r,s)}function ae(){var e=[];if(Y("("),!Z(")"))for(;f<h&&(e.push(de()),!Z(")"));)Y(",");return Y(")"),e}function ie(){return Y("."),function(){var e,n;return 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)}()}function se(){var e;return Y("["),e=pe(),Y("]"),e}function le(){var e,t,n;return n=g,K("new"),e=function(){var e,t,n,r;for(r=g,e=y.allowIn,t=X("new")?le():oe(),y.allowIn=e;Z(".")||Z("[");)Z("[")?(n=se(),t=m.createMemberExpression("[",t,n)):(n=ie(),t=m.createMemberExpression(".",t,n)),m.markEnd(t,r);return t}(),t=Z("(")?ae():[],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")?le():oe(),y.allowIn=e;;){if(Z("."))r=ie(),t=m.createMemberExpression(".",t,r);else if(Z("("))n=ae(),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()||(u&&e.type===o.Identifier&&O(e.name)&&V({},i.StrictLHSPostfix),ee(e)||V({},i.InvalidLHSInAssignment),n=U(),e=m.markEnd(m.createPostfixExpression(n.value,e),r))),e}function ue(){var e,n,r;return g.type!==t.Punctuator&&g.type!==t.Keyword?n=ce():Z("++")||Z("--")?(r=g,e=U(),n=ue(),u&&n.type===o.Identifier&&O(n.name)&&V({},i.StrictLHSPrefix),ee(n)||V({},i.InvalidLHSInAssignment),n=m.createUnaryExpression(e.value,n),n=m.markEnd(n,r)):Z("+")||Z("-")||Z("~")||Z("!")?(r=g,e=U(),n=ue(),n=m.createUnaryExpression(e.value,n),n=m.markEnd(n,r)):X("delete")||X("void")||X("typeof")?(r=g,e=U(),n=ue(),n=m.createUnaryExpression(e.value,n),n=m.markEnd(n,r),u&&"delete"===n.operator&&n.argument.type===o.Identifier&&V({},i.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,a,s,l;return e=g,s=g,a=n=function(){var e,t,n,r,o;return o=g,e=function(){var e,t,n,r,o,a,i,s,l,c;if(e=g,l=ue(),0===(o=fe(r=g,y.allowIn)))return l;for(r.prec=o,U(),t=[e,g],a=[l,r,i=ue()];(o=fe(g,y.allowIn))>0;){for(;a.length>2&&o<=a[a.length-2].prec;)i=a.pop(),s=a.pop().value,l=a.pop(),n=m.createBinaryExpression(s,l,i),t.pop(),m.markEnd(n,e=t[t.length-1]),a.push(n);(r=U()).prec=o,a.push(r),t.push(g),n=ue(),a.push(n)}for(n=a[c=a.length-1],t.pop();c>1;)n=m.createBinaryExpression(a[c-1].value,a[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,Y(":"),r=de(),e=m.createConditionalExpression(e,n,r),m.markEnd(e,o)),e}(),g.type!==t.Punctuator||"="!==(l=g.value)&&"*="!==l&&"/="!==l&&"%="!==l&&"+="!==l&&"-="!==l&&"<<="!==l&&">>="!==l&&">>>="!==l&&"&="!==l&&"^="!==l&&"|="!==l||(ee(n)||V({},i.InvalidLHSInAssignment),u&&n.type===o.Identifier&&O(n.name)&&V(e,i.StrictLHSAssignment),e=U(),r=de(),a=m.markEnd(m.createAssignmentExpression(e.value,n,r),s)),a}function pe(){var e,t=g;if(e=de(),Z(",")){for(e=m.createSequenceExpression([e]);f<h&&Z(",");)U(),e.expressions.push(de());m.markEnd(e,t)}return e}function he(){var e,t;return t=g,Y("{"),e=function(){for(var e,t=[];f<h&&!Z("}")&&void 0!==(e=xe());)t.push(e);return t}(),Y("}"),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(),u&&O(t.name)&&V({},i.StrictVarName),"const"===e?(Y("="),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<h);return t}function ve(){var e,t,n,r=[];for(n=g,X("default")?(U(),e=null):(K("case"),e=pe()),Y(":");f<h&&!(Z("}")||X("default")||X("case"));)t=be(),r.push(t);return m.markEnd(m.createSwitchCase(e,r),n)}function be(){var e,n,r,a,s,l,d,p,v,b,_=g.type;if(_===t.EOF&&J(g),_===t.Punctuator&&"{"===g.value)return he();if(a=g,_===t.Punctuator)switch(g.value){case";":return m.markEnd((Y(";"),m.createEmptyStatement()),a);case"(":return m.markEnd(function(){var e=pe();return Q(),m.createExpressionStatement(e)}(),a)}if(_===t.Keyword)switch(g.value){case"break":return m.markEnd((b=null,K("break"),59===c.charCodeAt(f)?(U(),y.inIteration||y.inSwitch||$({},i.IllegalBreak),m.createBreakStatement(null)):W()?(y.inIteration||y.inSwitch||$({},i.IllegalBreak),m.createBreakStatement(null)):(g.type===t.Identifier&&(b=me(),Object.prototype.hasOwnProperty.call(y.labelSet,"$"+b.name)||$({},i.UnknownLabel,b.name)),Q(),null!==b||y.inIteration||y.inSwitch||$({},i.IllegalBreak),m.createBreakStatement(b))),a);case"continue":return m.markEnd(function(){var e=null;return K("continue"),59===c.charCodeAt(f)?(U(),y.inIteration||$({},i.IllegalContinue),m.createContinueStatement(null)):W()?(y.inIteration||$({},i.IllegalContinue),m.createContinueStatement(null)):(g.type===t.Identifier&&(e=me(),Object.prototype.hasOwnProperty.call(y.labelSet,"$"+e.name)||$({},i.UnknownLabel,e.name)),Q(),null!==e||y.inIteration||$({},i.IllegalContinue),m.createContinueStatement(e))}(),a);case"debugger":return m.markEnd((K("debugger"),Q(),m.createDebuggerStatement()),a);case"do":return m.markEnd((K("do"),v=y.inIteration,y.inIteration=!0,d=be(),y.inIteration=v,K("while"),Y("("),p=pe(),Y(")"),Z(";")&&U(),m.createDoWhileStatement(d,p)),a);case"for":return m.markEnd(function(){var e,t,n,r,o,a,s;return e=t=n=null,K("for"),Y("("),Z(";")?U():(X("var")||X("let")?(y.allowIn=!1,e=function(){var e,t,n;return n=g,e=U(),t=ye(),m.markEnd(m.createVariableDeclaration(t,e.value),n)}(),y.allowIn=!0,1===e.declarations.length&&X("in")&&(U(),r=e,o=pe(),e=null)):(y.allowIn=!1,e=pe(),y.allowIn=!0,X("in")&&(ee(e)||V({},i.InvalidLHSInForIn),U(),r=e,o=pe(),e=null)),void 0===r&&Y(";")),void 0===r&&(Z(";")||(t=pe()),Y(";"),Z(")")||(n=pe())),Y(")"),s=y.inIteration,y.inIteration=!0,a=be(),y.inIteration=s,void 0===r?m.createForStatement(e,t,n,a):m.createForInStatement(r,o,a)}(),a);case"function":return m.markEnd(Se(),a);case"if":return m.markEnd(function(){var e,t,n;return K("if"),Y("("),e=pe(),Y(")"),t=be(),X("else")?(U(),n=be()):n=null,m.createIfStatement(e,t,n)}(),a);case"return":return m.markEnd((l=null,K("return"),y.inFunctionBody||V({},i.IllegalReturn),32===c.charCodeAt(f)&&k(c.charCodeAt(f+1))?(l=pe(),Q(),m.createReturnStatement(l)):W()?m.createReturnStatement(null):(Z(";")||Z("}")||g.type===t.EOF||(l=pe()),Q(),m.createReturnStatement(l))),a);case"switch":return m.markEnd(function(){var e,t,n,r,o;if(K("switch"),Y("("),e=pe(),Y(")"),Y("{"),t=[],Z("}"))return U(),m.createSwitchStatement(e,t);for(r=y.inSwitch,y.inSwitch=!0,o=!1;f<h&&!Z("}");)null===(n=ve()).test&&(o&&$({},i.MultipleDefaultsInSwitch),o=!0),t.push(n);return y.inSwitch=r,Y("}"),m.createSwitchStatement(e,t)}(),a);case"throw":return m.markEnd(function(){var e;return K("throw"),W()&&$({},i.NewlineAfterThrow),e=pe(),Q(),m.createThrowStatement(e)}(),a);case"try":return m.markEnd(function(){var e,t,n,r,o=[],a=null;return K("try"),e=he(),X("catch")&&o.push((r=g,K("catch"),Y("("),Z(")")&&J(g),t=me(),u&&O(t.name)&&V({},i.StrictCatchVariable),Y(")"),n=he(),m.markEnd(m.createCatchClause(t,n),r))),X("finally")&&(U(),a=he()),0!==o.length||a||$({},i.NoCatchOrFinally),m.createTryStatement(e,[],o,a)}(),a);case"var":return m.markEnd((K("var"),s=ye(),Q(),m.createVariableDeclaration(s,"var")),a);case"while":return m.markEnd(function(){var e,t,n;return K("while"),Y("("),e=pe(),Y(")"),n=y.inIteration,y.inIteration=!0,t=be(),y.inIteration=n,m.createWhileStatement(e,t)}(),a);case"with":return m.markEnd(function(){var e,t;return u&&(I(),V({},i.StrictModeWith)),K("with"),Y("("),e=pe(),Y(")"),t=be(),m.createWithStatement(e,t)}(),a)}return(e=pe()).type===o.Identifier&&Z(":")?(U(),r="$"+e.name,Object.prototype.hasOwnProperty.call(y.labelSet,r)&&$({},i.Redeclaration,"Label",e.name),y.labelSet[r]=!0,n=be(),delete y.labelSet[r],m.markEnd(m.createLabeledStatement(e,n),a)):(Q(),m.markEnd(m.createExpressionStatement(e),a))}function _e(){var e,n,r,a,s,l,d,p,v=[];for(p=g,Y("{");f<h&&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)?(u=!0,r&&V(r,i.StrictOctalLiteral)):!r&&n.octal&&(r=n);for(a=y.labelSet,s=y.inIteration,l=y.inSwitch,d=y.inFunctionBody,y.labelSet={},y.inIteration=!1,y.inSwitch=!1,y.inFunctionBody=!0;f<h&&!Z("}")&&void 0!==(e=xe());)v.push(e);return Y("}"),y.labelSet=a,y.inIteration=s,y.inSwitch=l,y.inFunctionBody=d,m.markEnd(m.createBlockStatement(v),p)}function we(e){var t,n,r,o,a,s,l=[];if(Y("("),!Z(")"))for(o={};f<h&&(n=g,t=me(),a="$"+n.value,u?(O(n.value)&&(r=n,s=i.StrictParamName),Object.prototype.hasOwnProperty.call(o,a)&&(r=n,s=i.StrictParamDupe)):e||(O(n.value)?(e=n,s=i.StrictParamName):C(n.value)?(e=n,s=i.StrictReservedWord):Object.prototype.hasOwnProperty.call(o,a)&&(e=n,s=i.StrictParamDupe)),l.push(t),o[a]=!0,!Z(")"));)Y(",");return Y(")"),{params:l,stricted:r,firstRestricted:e,message:s}}function Se(){var e,t,n,r,o,a,s,l,c,f;return f=g,K("function"),r=g,e=me(),u?O(r.value)&&V(r,i.StrictFunctionName):O(r.value)?(s=r,l=i.StrictFunctionName):C(r.value)&&(s=r,l=i.StrictReservedWord),t=(a=we(s)).params,o=a.stricted,s=a.firstRestricted,a.message&&(l=a.message),c=u,n=_e(),u&&s&&$(s,l),u&&o&&V(o,l),u=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,K(e=g.value),n=ye(e),Q(),m.markEnd(m.createVariableDeclaration(n,e),r);case"function":return Se();default:return be()}var e,n,r;if(g.type!==t.EOF)return be()}function Ee(){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"},a={Data:1,Get:2,Set:4},i={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ヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]")},l={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 G(void 0===t.startLineNumber?t.lineNumber:t.startLineNumber,t.start-(void 0===t.startLineStart?t.lineStart:t.startLineStart),d,f-p),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=l,f=0,d=(c=e).length>0?1:0,p=0,h=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}Ee(),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,a,s,b;a=String,"string"==typeof e||e instanceof String||(e=a(e)),m=l,f=0,d=(c=e).length>0?1:0,p=0,h=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=a(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{I(),z(),b=g,u=!1,s=function(){for(var e,n,r,a=[];f<h&&(n=g).type===t.StringLiteral&&(e=xe(),a.push(e),e.expression.type===o.Literal);)"use strict"===c.slice(n.start+1,n.end-1)?(u=!0,r&&V(r,i.StrictOctalLiteral)):!r&&n.octal&&(r=n);for(;f<h&&void 0!==(e=xe());)a.push(e);return a}(),r=m.markEnd(m.createProgram(s),b),void 0!==v.comments&&(r.comments=v.comments),void 0!==v.tokens&&(Ee(),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,a,i,s){o.ast||(o.ast=t,t.initialize());var l=i.length-1;switch(a){case 1:return o.ast.set({expression:{type:"root",value:i[l]}}),o.ast.unshift(),o.ast.yield();case 2:return o.ast.set({expression:{type:"root",value:i[l-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:i[l-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:i[l]}});break;case 15:o.ast.set({expression:{type:"identifier",value:i[l]}});break;case 16:o.ast.set({expression:{type:"script_expression",value:i[l]}});break;case 17:o.ast.set({expression:{type:"numeric_literal",value:parseInt(i[l])}});break;case 24:i[l].length>1?o.ast.set({expression:{type:"union",value:i[l]}}):this.$=i[l];break;case 25:this.$=[i[l]];break;case 26:this.$=i[l-2].concat(i[l]);break;case 27:this.$={expression:{type:"numeric_literal",value:parseInt(i[l])}},o.ast.set(this.$);break;case 28:this.$={expression:{type:"string_literal",value:i[l]}},o.ast.set(this.$);break;case 29:this.$={expression:{type:"slice",value:i[l]}},o.ast.set(this.$);break;case 30:this.$={expression:{type:"wildcard",value:i[l]}},o.ast.set(this.$);break;case 31:this.$={expression:{type:"script_expression",value:i[l]}},o.ast.set(this.$);break;case 32:this.$={expression:{type:"filter_expression",value:i[l]}},o.ast.set(this.$);break;case 33:case 34:this.$=i[l]}},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=this,n=[0],r=[null],o=[],a=this.table,i="",s=0,l=0,c=o.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 u=this.lexer.yylloc;o.push(u);var f=this.lexer.options&&this.lexer.options.ranges;function d(){var e;return"number"!=typeof(e=t.lexer.lex()||1)&&(e=t.symbols_[e]||e),e}this.parseError="function"==typeof this.yy.parseError?this.yy.parseError:Object.getPrototypeOf(this).parseError;for(var p,h,m,g,y,v,b,_={};;){if(this.defaultActions[h=n[n.length-1]]?m=this.defaultActions[h]:(null==p&&(p=d()),m=a[h]&&a[h][p]),void 0===m||!m.length||!m[0]){var w;for(y in b=[],a[h])this.terminals_[y]&&y>2&&b.push("'"+this.terminals_[y]+"'");w=this.lexer.showPosition?"Parse error on line "+(s+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+b.join(", ")+", got '"+(this.terminals_[p]||p)+"'":"Parse error on line "+(s+1)+": Unexpected "+(1==p?"end of input":"'"+(this.terminals_[p]||p)+"'"),this.parseError(w,{text:this.lexer.match,token:this.terminals_[p]||p,line:this.lexer.yylineno,loc:u,expected:b})}if(m[0]instanceof Array&&m.length>1)throw new Error("Parse Error: multiple actions possible at state: "+h+", token: "+p);switch(m[0]){case 1:n.push(p),r.push(this.lexer.yytext),o.push(this.lexer.yylloc),n.push(m[1]),p=null,l=this.lexer.yyleng,i=this.lexer.yytext,s=this.lexer.yylineno,u=this.lexer.yylloc;break;case 2:if(_.$=r[r.length-(v=this.productions_[m[1]][1])],_._$={first_line:o[o.length-(v||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(v||1)].first_column,last_column:o[o.length-1].last_column},f&&(_._$.range=[o[o.length-(v||1)].range[0],o[o.length-1].range[1]]),void 0!==(g=this.performAction.apply(_,[i,l,s,this.yy,m[1],r,o].concat(c))))return g;v&&(n=n.slice(0,-1*v*2),r=r.slice(0,-1*v),o=o.slice(0,-1*v)),n.push(this.productions_[m[1]][0]),r.push(_.$),o.push(_._$),n.push(a[n[n.length-2]][n[n.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 a in o)this[a]=o[a];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(),a=0;a<o.length;a++)if((n=this._input.match(this.rules[o[a]]))&&(!t||n[0].length>t[0].length)){if(t=n,r=a,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,o[a])))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"),a={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&&(a.moduleInclude=o.readFileSync(e.resolve("../include/module.js")),a.actionInclude=o.readFileSync(e.resolve("../include/action.js"))),t.exports=a},{"./dict":2,fs:12}],4:[function(e,t,n){var r=e("./aesprim"),o=e("./slice"),a=e("static-eval"),i=e("underscore").uniq,s=function(){return this.initialize.apply(this,arguments)};function l(t,n,o){var a=e("./index"),i=p(r.parse(n).body[0].expression,{"@":t.value}),s=o.replace(/\{\{\s*value\s*\}\}/g,i),l=a.nodes(t.value,s);return l.forEach((function(e){e.path=t.path.concat(e.path.slice(1))})),l}function c(e){return Array.isArray(e)}function u(e){return function(t,n,r,o){var a=t.value,i=t.path,s=[],l=function(t,a){var i;c(t)?(t.forEach((function(e,t){s.length>=o||r(t,e,n)&&s.push({path:a.concat(t),value:e})})),t.forEach((function(t,n){s.length>=o||e&&l(t,a.concat(n))}))):(i=t)&&!(i instanceof Array)&&i instanceof Object&&(this.keys(t).forEach((function(e){s.length>=o||r(e,t[e],n)&&s.push({path:a.concat(e),value:t[e]})})),this.keys(t).forEach((function(n){s.length>=o||e&&l(t[n],a.concat(n))})))}.bind(this);return l(a,i),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 p(){try{return a.apply(this,arguments)}catch(e){}}function h(e){return e=e.filter((function(e){return e})),i(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=u(!0),this.descend=u()},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),h(n)},"subscript-descendant-union":function(t,n,r){var o=e(".."),a=this,i=[];return o.nodes(n,"$..*").slice(1).forEach((function(e){i.length>=r||t.expression.value.forEach((function(t){var n={operation:"subscript",scope:"child",expression:t.expression},r=a.resolve(n)(n,e);i=i.concat(r)}))})),h(i)},"subscript-child-filter_expression":function(e,t,n){var o=e.expression.value.slice(2,-1),a=r.parse(o).body[0].expression;return this.descend(t,null,(function(e,t){return p(a,{"@":t})}),n)},"subscript-descendant-filter_expression":function(e,t,n){var o=e.expression.value.slice(2,-1),a=r.parse(o).body[0].expression;return this.traverse(t,null,(function(e,t){return p(a,{"@":t})}),n)},"subscript-child-script_expression":function(e,t){return l(t,e.expression.value.slice(1,-1),"$[{{value}}]")},"member-child-script_expression":function(e,t){return l(t,e.expression.value.slice(1,-1),"$.{{value}}")},"member-descendant-script_expression":function(e,t){return l(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"),a=e("./parser"),i=e("./handlers"),s=function(){this.initialize.apply(this,arguments)};function l(e){return"[object String]"==Object.prototype.toString.call(e)}s.prototype.initialize=function(){this.parser=new a,this.handlers=new i},s.prototype.parse=function(e){return r.ok(l(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(Y(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)),a=t.value=n.call(e,o[r]);o[r]=a}),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 a=o.path.slice(-1).shift();this.parent(e,this.stringify(o.path))[a]=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 a=n.pop(),i=o.value(e,n);i||(t(n.concat(),"string"==typeof a?{}:[]),i=o.value(e,n)),i[a]=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(l(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),a=this.handlers,i=[{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=a.resolve(e),l=[];i.forEach((function(a){if(!(s.length>=n)){var i=r(e,a,n);t==o.length-1?s=s.concat(i||[]):l=l.concat(i||[])}})),i=l}})),n?s.slice(0,n):s):i},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("-"),a=n[o];if(r="string_literal"==e.expression.type?JSON.stringify(e.expression.value):e.expression.value,!a)throw new Error("couldn't find template "+o);t+=a.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"==Y(e[0]))return e;throw new Error("couldn't understand path "+e)},s.Handlers=i,s.Parser=a;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"),a=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};a.grammar=r,t.exports=a},{"../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 a=e.length;if(0===o)throw new Error("step cannot be zero");if(o=o?r(o):1,n=n<0?a+n:n,t=r(0===(t=t<0?a+t:t)?0:t||(o>0?0:a-1)),n=r(0===n?0:n||(o>0?a:-1)),t=o>0?Math.max(0,t):Math.min(a,t),n=o>0?Math.min(n,a):Math.max(-1,n),o>0&&n<=t)return[];if(o<0&&t<=n)return[];for(var i=[],s=t;s!=n&&!(o<0&&s<=n||o>0&&s>=n);s+=o)i.push(e[s]);return i}},{}],8:[function(e,t,n){var r=e("util/"),o=Array.prototype.slice,a=Object.prototype.hasOwnProperty,i=t.exports=u;function s(e,t){return r.isUndefined(t)?""+t:r.isNumber(t)&&!isFinite(t)||r.isFunction(t)||r.isRegExp(t)?t.toString():t}function l(e,t){return r.isString(e)?e.length<t?e:e.slice(0,t):e}function c(e,t,n,r,o){throw new i.AssertionError({message:n,actual:e,expected:t,operator:r,stackStartFunction:o})}function u(e,t){e||c(e,!0,t,"==",i.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),a=d(t);if(n&&!a||!n&&a)return!1;if(n)return f(e=o.call(e),t=o.call(t));var i,s,l=m(e),c=m(t);if(l.length!=c.length)return!1;for(l.sort(),c.sort(),s=l.length-1;s>=0;s--)if(l[s]!=c[s])return!1;for(s=l.length-1;s>=0;s--)if(!f(e[i=l[s]],t[i]))return!1;return!0}(e,t):e==t}function d(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function p(e,t){return!(!e||!t)&&("[object RegExp]"==Object.prototype.toString.call(t)?t.test(e):e instanceof t||!0===t.call({},e))}function h(e,t,n,o){var a;r.isString(n)&&(o=n,n=null);try{t()}catch(e){a=e}if(o=(n&&n.name?" ("+n.name+").":".")+(o?" "+o:"."),e&&!a&&c(a,n,"Missing expected exception"+o),!e&&p(a,n)&&c(a,n,"Got unwanted exception"+o),e&&a&&n&&!p(a,n)||!e&&a)throw a}i.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 l(JSON.stringify(e.actual,s),128)+" "+e.operator+" "+l(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 a=r.indexOf("\n",o+1);r=r.substring(a+1)}this.stack=r}}},r.inherits(i.AssertionError,Error),i.fail=c,i.ok=u,i.equal=function(e,t,n){e!=t&&c(e,t,n,"==",i.equal)},i.notEqual=function(e,t,n){e==t&&c(e,t,n,"!=",i.notEqual)},i.deepEqual=function(e,t,n){f(e,t)||c(e,t,n,"deepEqual",i.deepEqual)},i.notDeepEqual=function(e,t,n){f(e,t)&&c(e,t,n,"notDeepEqual",i.notDeepEqual)},i.strictEqual=function(e,t,n){e!==t&&c(e,t,n,"===",i.strictEqual)},i.notStrictEqual=function(e,t,n){e===t&&c(e,t,n,"!==",i.notStrictEqual)},i.throws=function(e,t,n){h.apply(this,[!0].concat(o.call(arguments)))},i.doesNotThrow=function(e,t){h.apply(this,[!1].concat(o.call(arguments)))},i.ifError=function(e){if(e)throw e};var m=Object.keys||function(e){var t=[];for(var n in e)a.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"===Y(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,a=r.length,i=String(e).replace(o,(function(e){if("%%"===e)return"%";if(n>=a)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}})),l=r[n];n<a;l=r[++n])m(l)||!_(l)?i+=" "+l:i+=" "+s(l);return i},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 a=!1;return function(){if(!a){if(t.throwDeprecation)throw new Error(o);t.traceDeprecation?console.trace(o):console.error(o),a=!0}return e.apply(this,arguments)}};var a,i={};function s(e,t){var r={seen:[],stylize:c};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),h(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=l),u(r,e,r.depth)}function l(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 u(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=u(e,o,r)),o}var a=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"):h(t)?e.stylize(""+t,"boolean"):m(t)?e.stylize("null","null"):void 0}(e,t);if(a)return a;var i=Object.keys(t),s=function(e){var t={};return e.forEach((function(e,n){t[e]=!0})),t}(i);if(e.showHidden&&(i=Object.getOwnPropertyNames(t)),S(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return f(t);if(0===i.length){if(x(t))return e.stylize("[Function"+(t.name?": "+t.name:"")+"]","special");if(b(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 l,c="",_=!1,E=["{","}"];return p(t)&&(_=!0,E=["[","]"]),x(t)&&(c=" [Function"+(t.name?": "+t.name:"")+"]"),b(t)&&(c=" "+RegExp.prototype.toString.call(t)),w(t)&&(c=" "+Date.prototype.toUTCString.call(t)),S(t)&&(c=" "+f(t)),0!==i.length||_&&0!=t.length?r<0?b(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),l=_?function(e,t,n,r,o){for(var a=[],i=0,s=t.length;i<s;++i)C(t,String(i))?a.push(d(e,t,n,r,String(i),!0)):a.push("");return o.forEach((function(o){o.match(/^\d+$/)||a.push(d(e,t,n,r,o,!0))})),a}(e,t,r,s,i):i.map((function(n){return d(e,t,r,s,n,_)})),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]}(l,c,E)):E[0]+c+E[1]}function f(e){return"["+Error.prototype.toString.call(e)+"]"}function d(e,t,n,r,o,a){var i,s,l;if((l=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?s=e.stylize(l.set?"[Getter/Setter]":"[Getter]","special"):l.set&&(s=e.stylize("[Setter]","special")),C(r,o)||(i="["+o+"]"),s||(e.seen.indexOf(l.value)<0?(s=m(n)?u(e,l.value,null):u(e,l.value,n-1)).indexOf("\n")>-1&&(s=a?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(i)){if(a&&o.match(/^\d+$/))return s;(i=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(i=i.substr(1,i.length-2),i=e.stylize(i,"name")):(i=i.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),i=e.stylize(i,"string"))}return i+": "+s}function p(e){return Array.isArray(e)}function h(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 b(e){return _(e)&&"[object RegExp]"===E(e)}function _(e){return"object"===Y(e)&&null!==e}function w(e){return _(e)&&"[object Date]"===E(e)}function S(e){return _(e)&&("[object Error]"===E(e)||e instanceof Error)}function x(e){return"function"==typeof e}function E(e){return Object.prototype.toString.call(e)}function k(e){return e<10?"0"+e.toString(10):e.toString(10)}n.debuglog=function(e){if(v(a)&&(a=t.env.NODE_DEBUG||""),e=e.toUpperCase(),!i[e])if(new RegExp("\\b"+e+"\\b","i").test(a)){var r=t.pid;i[e]=function(){var t=n.format.apply(n,arguments);console.error("%s %d: %s",e,r,t)}}else i[e]=function(){};return i[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=p,n.isBoolean=h,n.isNull=m,n.isNullOrUndefined=function(e){return null==e},n.isNumber=g,n.isString=y,n.isSymbol=function(e){return"symbol"===Y(e)},n.isUndefined=v,n.isRegExp=b,n.isObject=_,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"===Y(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=[k((e=new Date).getHours()),k(e.getMinutes()),k(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||!_(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!==D?D:"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,a=arguments.length-1;a>=-1&&!o;a--){var i=a>=0?arguments[a]:e.cwd();if("string"!=typeof i)throw new TypeError("Arguments to path.resolve must be strings");i&&(n=i+"/"+n,o="/"===i.charAt(0))}return(o?"/":"")+(n=t(r(n.split("/"),(function(e){return!!e})),!o).join("/"))||"."},n.normalize=function(e){var a=n.isAbsolute(e),i="/"===o(e,-1);return(e=t(r(e.split("/"),(function(e){return!!e})),!a).join("/"))||a||(e="."),e&&i&&(e+="/"),(a?"/":"")+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("/")),a=r(t.split("/")),i=Math.min(o.length,a.length),s=i,l=0;l<i;l++)if(o[l]!==a[l]){s=l;break}var c=[];for(l=s;l<o.length;l++)c.push("..");return(c=c.concat(a.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,a=e.length-1;a>=1;--a)if(47===(t=e.charCodeAt(a))){if(!o){r=a;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,a=0,i=e.length-1;i>=0;--i){var s=e.charCodeAt(i);if(47!==s)-1===r&&(o=!1,r=i+1),46===s?-1===t?t=i:1!==a&&(a=1):-1!==t&&(a=-1);else if(!o){n=i+1;break}}return-1===t||-1===r||0===a||1===a&&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,a=t.exports={};function i(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function l(e){if(r===setTimeout)return setTimeout(e,0);if((r===i||!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:i}catch(e){r=i}try{o="function"==typeof clearTimeout?clearTimeout:s}catch(e){o=s}}();var c,u=[],f=!1,d=-1;function p(){f&&c&&(f=!1,c.length?u=c.concat(u):d=-1,u.length&&h())}function h(){if(!f){var e=l(p);f=!0;for(var t=u.length;t;){for(c=u,u=[];++d<t;)c&&c[d].run();d=-1,t=u.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(){}a.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];u.push(new m(e,t)),1!==u.length||f||l(h)},m.prototype.run=function(){this.fun.apply(null,this.array)},a.title="browser",a.browser=!0,a.env={},a.argv=[],a.version="",a.versions={},a.on=g,a.addListener=g,a.once=g,a.off=g,a.removeListener=g,a.removeAllListeners=g,a.emit=g,a.prependListener=g,a.prependOnceListener=g,a.listeners=function(e){return[]},a.binding=function(e){throw new Error("process.binding is not supported")},a.cwd=function(){return"/"},a.chdir=function(e){throw new Error("process.chdir is not supported")},a.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,a){if("Literal"===o.type)return o.value;if("UnaryExpression"===o.type){var i=e(o.argument);return"+"===o.operator?+i:"-"===o.operator?-i:"~"===o.operator?~i:"!"===o.operator?!i:n}if("ArrayExpression"===o.type){for(var s=[],l=0,c=o.elements.length;l<c;l++){if((y=e(o.elements[l]))===n)return n;s.push(y)}return s}if("ObjectExpression"===o.type){var u={};for(l=0;l<o.properties.length;l++){var f=null===(v=o.properties[l]).value?v.value:e(v.value);if(f===n)return n;u[v.key.value||v.key.name]=f}return u}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 p=o.operator;return"=="===p?c==d:"==="===p?c===d:"!="===p?c!=d:"!=="===p?c!==d:"+"===p?c+d:"-"===p?c-d:"*"===p?c*d:"/"===p?c/d:"%"===p?c%d:"<"===p?c<d:"<="===p?c<=d:">"===p?c>d:">="===p?c>=d:"|"===p?c|d:"&"===p?c&d:"^"===p?c^d:"&&"===p?c&&d:"||"===p?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 h=e(o.callee);if(h===n)return n;if("function"!=typeof h)return n;var m=o.callee.object?e(o.callee.object):n;m===n&&(m=null);var g=[];for(l=0,c=o.arguments.length;l<c;l++){var y;if((y=e(o.arguments[l]))===n)return n;g.push(y)}return h.apply(m,g)}var v;if("MemberExpression"===o.type)return(u=e(o.object))===n||"function"==typeof u?n:"Identifier"===o.property.type?u[o.property.name]:(v=e(o.property))===n?n:u[v];if("ConditionalExpression"===o.type)return(i=e(o.test))===n?n:e(i?o.consequent:o.alternate);if("ExpressionStatement"===o.type)return(i=e(o.expression))===n?n:i;if("ReturnStatement"===o.type)return e(o.argument);if("FunctionExpression"===o.type){var b=o.body.body,_={};for(Object.keys(t).forEach((function(e){_[e]=t[e]})),l=0;l<o.params.length;l++){var w=o.params[l];if("Identifier"!=w.type)return n;t[w.name]=null}for(var l in b)if(e(b[l])===n)return n;t=_;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 E="";for(l=0;l<o.expressions.length;l++)E+=e(o.quasis[l]),E+=e(o.expressions[l]);return E+e(o.quasis[l])}if("TaggedTemplateExpression"===o.type){var k=e(o.tag),A=o.quasi,C=A.quasis.map(e),O=A.expressions.map(e);return k.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()}(yN);var vN=yN.exports;const bN=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","0","1","2","3","4","5","6","7","8","9"]);function _N(e,t){for(const[n,r]of t.entries())if(e.startsWith(r))return e.replace(r,String(n));return e}const wN="$PREFIXED_ID";function SN(e,t,n){return t===wN?[_N(e.id,n)]:vN.query(e,t)}function xN(e){return e.toLowerCase().split(/[^\d:A-Za-z]+/).filter((e=>e&&!bN.has(e)))}function*EN(e){for(const t of e)yield*xN(t)}function*kN(e){for(const t of e)if("string"==typeof t)yield t;else if("object"==typeof t){const e=vN.query(t,"$..*");yield*kN(e)}}function*AN(e,t,n){for(const r of t){const t=SN(e,r,n);if(t.length>0)for(const e of EN(kN(t)))yield[r,e]}}async function CN(e,t,n){const r=await this.db,o=t??r.transaction(["nodes"]);cN(n);const a=[...xN(e)],i=[],s=new Map;i.push(...a.map((async(e,t)=>{cN(n);const r=o.objectStore("nodes").index("full-text-words");for await(const o of r.iterate(IDBKeyRange.bound(e,`${e}￿`,!1,!1))){cN(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(i),cN(n);const l=[];for(const[,[e,t]]of s)cN(n),l.push(...ON(this.textIndexFields,e,t,a,this.prefixes));return l.sort(((e,t)=>t.score-e.score)),l.slice(0,this.options.maxSearchResults??this.DEFAULT_MAX_SEARCH_RESULTS)}function ON(e,t,n,r,o){const a=[...n].sort().map((e=>r[e])),i=a.map((e=>{const t=e.replaceAll(/[$()*+./?[\\\]^{|}-]/g,String.raw`\$&`);return new RegExp(`\\b${t}`,"gi")}));let s=[],l=0;for(const[n,a]of e.entries()){const c=new Set,u=e.length-n-1,f=[...kN(SN(t,a.jsonPath,o))];for(const e of f){let n=0;const o=[];for(const[t,a]of i.entries())for(const i of e.matchAll(a)){n+=1+1*u,c.add(t);const a=i.index,s=r[t];void 0!==a&&(n+=.01*s.length,n+=s.length/e.length*100*.05,o.push({wordIndex:t,position:a}))}n+=100*c.size,l<n&&(l=n),o.sort(((e,t)=>e.position-t.position)),o.length>0&&s.push({term:t,field:a,str:e,score:n,wordMatches:o})}}s=s.filter((e=>e.score===l));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],i=o.wordIndex-r.wordIndex;if(1===i||-1===i){e.score+=1,1===i&&(e.score+=1);const t=Math.abs(o.position-(r.position+a[r.wordIndex].length))-1;e.score-=.05*t}}}return s}function NN(e){return"string"==typeof e.id}function RN(e){return"string"==typeof e.sub&&"string"==typeof e.pred&&"string"==typeof e.obj}function TN(e){return Boolean(e.meta?.deprecated)}var IN=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==Y(t)&&"object"==Y(n)){if(t.constructor!==n.constructor)return!1;var r,o,a;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 i,s=be(t.entries());try{for(s.s();!(i=s.n()).done;)if(!n.has((o=i.value)[0]))return!1}catch(e){s.e(e)}finally{s.f()}var l,c=be(t.entries());try{for(c.s();!(l=c.n()).done;)if(!e((o=l.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 u,f=be(t.entries());try{for(f.s();!(u=f.n()).done;)if(!n.has((o=u.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=(a=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(o=r;0!=o--;)if(!Object.prototype.hasOwnProperty.call(n,a[o]))return!1;for(o=r;0!=o--;){var d=a[o];if(!e(t[d],n[d]))return!1}return!0}return t!=t&&n!=n};async function PN(e){return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.blocked,o=n.upgrade,a=n.blocking,i=n.terminated,s=indexedDB.open(e,t),l=Qd(s);return o&&s.addEventListener("upgradeneeded",(function(e){o(Qd(s.result),e.oldVersion,e.newVersion,Qd(s.transaction),e)})),r&&s.addEventListener("blocked",(function(e){return r(e.oldVersion,e.newVersion,e)})),l.then((function(e){i&&e.addEventListener("close",(function(){return i()})),a&&e.addEventListener("versionchange",(function(e){return a(e.oldVersion,e.newVersion,e)}))})).catch((function(){})),l}(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 MN(e){const t=new Set;for(const[,n]of e)t.add(n);return[...t]}async function FN(e){const t=Date.now();let n,r=1;this.options.update?.("Parsing JSON",r);try{n=JSON.parse(await m.openLocation(this.sourceLocation).readFile("utf8"))}catch{throw new Error("Error in loading ontology")}r+=5,this.options.update?.("Parsing JSON complete",r);const o=Date.now(),[a,...i]=n.graphs??[];if(a){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"),s=jN.call(this).map((e=>e.jsonPath));if(a.nodes){let e=Math.round(r);for(const[,t]of a.nodes.entries())r+=1/a.nodes.length*64,Math.round(r)!=e&&r<100&&(this.options.update?.("Processing nodes",r),e=Math.round(r)),NN(t)&&await i.add({...t,fullTextWords:MN(AN(t,s,this.prefixes))})}const l=n.objectStore("edges");if(a.edges){let e=Math.round(r);for(const[,t]of a.edges.entries())r+=1/a.edges.length*30,Math.round(r)!=e&&r<100&&(this.options.update?.("Processing edges",r),e=Math.round(r)),RN(t)&&await l.add(t)}await n.done;const c=e.transaction("meta","readwrite"),{update:u,...f}=this.options;await c.objectStore("meta").add({ontologyRecord:{name:this.ontologyName,version:this.ontologyVersion,sourceLocation:this.sourceLocation},storeOptions:f,graphMeta:a.meta,timestamp:String(new Date),schemaVersion:2,timings:{overall:Date.now()-t,load:Date.now()-o}},"meta"),await c.done}catch(t){throw await e.transaction("meta","readwrite").objectStore("meta").clear(),t}}}function jN(){return[{displayName:"ID",jsonPath:wN},...this.options.textIndexing?.indexFields??UN]}async function DN(e){const[t]=await e.transaction("meta").objectStore("meta").getAll();return!!t&&IN(this.options.prefixes,t.storeOptions.prefixes)&&IN(this.options.textIndexing,t.storeOptions.textIndexing)}class LN{ontologyName;ontologyVersion;sourceLocation;db;options;loadOboGraphJson=FN;getTermsByFulltext=CN;openDatabase=PN;isDatabaseCurrent=DN;get textIndexFields(){return jN.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.options=r??{},this.db=this.prepareDatabase()}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{options:e,sourceLocation:n,sourceType:r}=this;if("obo-graph-json"!==r)throw new Error(`ontology source file ${JSON.stringify(n)} has type ${r}, which is not yet supported`);return e.update?.("",0),await this.loadOboGraphJson(t),e.update?.("",100),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)})),Qd(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,a=n??o.transaction(["nodes","edges"]),i=a.objectStore("nodes"),s=[...await i.index("by-label").getAll(e),...await i.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",a);for(const t of e){const e=await i.get(t);e&&s.push(e)}}return s}async getPropertiesByLabel(e,t,n){const r=t?.includeSubProperties??!0,o=await this.db,a=n??o.transaction(["nodes","edges"]),i=(await this.getTermsWithLabelOrSynonym(e,{includeSubclasses:!1},a)).filter((e=>GN(e)));if(r){const e=await this.recurseEdges("by-object",i.map((e=>e.id)),(e=>"subPropertyOf"===e.pred),"sub",a),t=a.objectStore("nodes");for(const n of e){const e=await t.get(n);e&&GN(e)&&i.push(e)}}return i}async recurseEdges(e,t,n,r,o){const a=new Set;return await async function t(i){await Promise.all([...i].map((async i=>{const s=(await o.objectStore("edges").index(e).getAll(i)).filter((e=>n(e))).map((e=>e[r]));if(s.length>0){for(const e of s)a.add(e);await t(s)}})))}(t),a.values()}async*expandNodeSet(e,t="is_a",n,r){const o=await this.db,a=r??o.transaction(["edges"]),i=[...e],s=await this.recurseEdges("subclasses"===n?"by-object":"by-subject",i,(e=>e.pred===t),"subclasses"===n?"sub":"obj",a);for(const e of i)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"]),a=await this.getPropertiesByLabel(e,{includeSubProperties:!0},o),i=new Set(a.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)),l=await this.recurseEdges("by-object",s,(e=>i.has(e.pred)),"sub",o),c=this.expandSubclasses(l,"is_a",o),u=[];for await(const e of c){const t=await o.objectStore("nodes").get(e);t&&HN(t)&&!TN(t)&&u.push(t)}return u}async getClassesWithoutPropertyLabeled(e,t,n){const r=await this.db,o=n??r.transaction(["nodes","edges"]),a=o.objectStore("nodes"),i=o.objectStore("edges"),s=(await this.getPropertiesByLabel(e,t,o)).map((e=>e.id)),l=await(async()=>{const e=new Set;for(const t of s)for await(const n of i.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 a){const t=e.value;HN(t)&&!l.has(t.id)&&c.push(t.id)}const u=[];for(const e of c){const t=await o.objectStore("nodes").get(e);t&&HN(t)&&!TN(t)&&u.push(t)}return u}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=>!TN(e)))}async getAllTerms(e){const t=await this.db,n=e??t.transaction(["nodes"]);return(await n.objectStore("nodes").getAll()).filter((e=>!TN(e)))}}const qN=l.types.model("OntologyRecord",{name:l.types.string,version:"unversioned",source:l.types.union(h.LocalPathLocation,h.UriLocation,h.BlobLocation),options:l.types.frozen(),equivalentTypes:l.types.map(l.types.array(l.types.string))}).volatile((e=>({dataStore:void 0,startedEquivalentTypeRequests:new Set}))).actions((e=>({ping(){},initDataStore(){e.dataStore=new LN(e.name,e.version,l.getSnapshot(e.source),e.options)},afterCreate(){l.addDisposer(e,s.autorun((()=>{this.initDataStore()})))},setEquivalentTypes(t,n){e.equivalentTypes.set(t,n)}}))).actions((e=>({loadEquivalentTypes:l.flow((function*(t){if(!e.dataStore)return;if(e.startedEquivalentTypeRequests.has(t))return;e.startedEquivalentTypeRequests.add(t);const n=(yield e.dataStore.getTermsWithLabelOrSynonym(t)).map((e=>e.lbl)).filter((e=>null!=e));e.setEquivalentTypes(t,n)}))}))).actions((e=>({afterCreate(){s.autorun((t=>{e.dataStore&&(e.loadEquivalentTypes("gene"),e.loadEquivalentTypes("pseudogene"),e.loadEquivalentTypes("transcript"),e.loadEquivalentTypes("pseudogenic_transcript"),e.loadEquivalentTypes("CDS"),e.loadEquivalentTypes("mRNA"),t.dispose())}))},setEquivalentTypes(t,n){e.equivalentTypes.set(t,n)}}))).views((e=>({isTypeOf(t,n){if(t===n)return!0;if(!e.dataStore)return!1;const r=e.equivalentTypes.get(n);return r?r.includes(t):(e.loadEquivalentTypes(n),!1)}}))),BN=l.types.model("OntologyManager",{ontologies:l.types.array(qN),prefixes:l.types.optional(l.types.map(l.types.string),{"GO:":"http://purl.obolibrary.org/obo/GO_","SO:":"http://purl.obolibrary.org/obo/SO_"})}).views((e=>({get featureTypeOntologyName(){const t=l.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=>_N(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 a=e.ontologies.push({name:t,version:n,source:r,options:{prefixes:new Map(e.prefixes.entries()),...o}});e.ontologies[a-1].ping()}}))),UN=[{displayName:"Label",jsonPath:"$.lbl"},{displayName:"Synonym",jsonPath:"$.meta.synonyms[*].val"},{displayName:"Definition",jsonPath:"$.meta.definition.val"}],zN=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:UN}});function HN(e){return"CLASS"===e.type}function GN(e){return"PROPERTY"===e.type}async function WN(e,t,n){if(!e)return;const r=await t.getTermsWithLabelOrSynonym(e.type,{includeSubclasses:!1}),o=r.filter(HN);if(0===r.length)return;const a=await t.getClassesThat("part_of",o);return 0!==a.length?a:void 0}function $N({fetchValidTerms:e,filterTerms:t,includeDeprecated:n,onChange:r,ontologyName:o,ontologyVersion:a,renderInput:i,session:s,style:l,value:f}){const[d,p]=u.useState(!1),[h,m]=u.useState(),[g,y]=u.useState(""),[v,b]=u.useState(),{ontologyManager:_}=s.apolloDataStore,w=_.findOntology(o,a)?.dataStore,S=w&&d&&!h,x=w&&!v,E=u.useCallback((e=>(n||!TN(e))&&(!t||t(e))),[t,n]);u.useEffect((()=>{d||m(void 0)}),[d]),u.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,f,E).then((e=>{t.aborted||b(e)}),(e=>{t.aborted||uN(e)||y(String(e))}))),()=>{e.abort()}}),[s,f,E,w,x]),u.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,E,n).then((e=>{e&&!n.aborted&&m(e)}),(e=>{n.aborted||uN(e)||s.notify(e instanceof Error?e.message:String(e),"error")})),()=>{t.abort()}}),[S,E,w,s,e]);const k={};return g&&(k.error=!0,k.helperText=g),T.default.createElement(c.Autocomplete,{style:l,autoComplete:!0,filterSelectedOptions:!0,disableClearable:!0,selectOnFocus:!0,clearOnBlur:!0,handleHomeEndKeys:!0,freeSolo:!0,value:f,options:h??[],onOpen:()=>{p(!0)},onClose:()=>{p(!1)},loading:S,renderInput:i??(e=>T.default.createElement(c.TextField,{...e,...k})),getOptionLabel:e=>"string"==typeof e?e:e.lbl??"",isOptionEqualToValue:(e,t)=>e.lbl===t.lbl,onChange:(e,t)=>{t&&("string"==typeof t?(b(void 0),r(f,t)):t.lbl!==f&&(y(""),b(t),r(f,t.lbl)))}})}function VN({changeManager:e,handleClose:t,session:n,sourceAssemblyId:r,sourceFeature:o}){const{notify:a}=n,[i,s]=u.useState(String(o.max)),[l,f]=u.useState(String(o.min+1)),[d,p]=u.useState(""),[h,m]=u.useState(""),[g,y]=u.useState(""),v=Number(i)<=Number(l);return T.default.createElement(Ld,{open:!0,title:"Add new child feature",handleClose:t,maxWidth:!1,"data-testid":"add-feature-dialog"},T.default.createElement("form",{onSubmit:async function(n){n.preventDefault(),m("");const s=new er.AddFeatureChange({changedIds:[o._id],typeName:"AddFeatureChange",assembly:r,addedFeature:{_id:(new $n).toHexString(),refSeq:o.refSeq,min:Number(l)-1,max:Number(i),type:d},parentFeatureId:o._id});await e.submit(s),a("Feature added successfully","success"),t(),n.preventDefault()}},T.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},T.default.createElement(c.TextField,{margin:"dense",id:"start",label:"Start",type:"number",fullWidth:!0,variant:"outlined",value:l,onChange:e=>{f(e.target.value)}}),T.default.createElement(c.TextField,{margin:"dense",id:"end",label:"End",type:"number",fullWidth:!0,variant:"outlined",value:i,onChange:e=>{s(e.target.value)},error:v,helperText:v?'"End" must be greater than "Start"':null}),T.default.createElement($N,{session:n,ontologyName:"Sequence Ontology",style:{width:170},value:d,filterTerms:HN,fetchValidTerms:async function(e,t,n){const r=await WN(e,t);if(r)return r;y(`Type "${e?.type}" does not have any children in the ontology`)}.bind(null,o),renderInput:e=>T.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(""),p(n))}})),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{variant:"contained",type:"submit",disabled:v||!(l&&i&&d)},"Submit"),T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),h?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},h)):null)}var JN;function YN(e,t,n,r){const o={_id:(new $n).toHexString(),refSeq:e,type:"CDS",min:n,max:r,strand:t},a={_id:(new $n).toHexString(),refSeq:e,type:"exon",min:n,max:r,strand:t},i={};return i[o._id]=o,i[a._id]=a,{_id:(new $n).toHexString(),refSeq:e,type:"mRNA",min:n,max:r,strand:t,children:i}}function KN({changeManager:e,handleClose:t,region:n,session:r}){const{notify:o}=r,[a,i]=u.useState(String(n.end)),[s,l]=u.useState(String(n.start+1)),[f,d]=u.useState(JN.GENE_AND_SUBFEATURES),[p,h]=u.useState(),[m,g]=u.useState(),[y,v]=u.useState(""),b=Number(a)<=Number(s);let _=Boolean(b)||!(s&&a&&f);return f!==JN.CUSTOM||p||(_=!0),T.default.createElement(Ld,{open:!0,title:"Add new feature",handleClose:t,maxWidth:!1,"data-testid":"add-feature-dialog"},T.default.createElement("form",{onSubmit:async function(i){let l;i.preventDefault(),v("");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&&(l=t._id);if(!l)return void v("Invalid refseq id");if(f===JN.GENE_AND_SUBFEATURES){const r=YN(l,m,Number(s)-1,Number(a)),i={};i[r._id]=r;const c=(new $n).toHexString(),u=new er.AddFeatureChange({changedIds:[c],typeName:"AddFeatureChange",assembly:n.assemblyName,addedFeature:{_id:c,refSeq:l,min:Number(s)-1,max:Number(a),type:"gene",strand:m,children:i}});return await e.submit(u),o("Feature added successfully","success"),void t()}if(f===JN.TRANSCRIPT_AND_SUBFEATURES){const r=YN(l,m,Number(s)-1,Number(a)),i=new er.AddFeatureChange({changedIds:[r._id],typeName:"AddFeatureChange",assembly:n.assemblyName,addedFeature:r});return await e.submit(i),o("Feature added successfully","success"),void t()}if(!p)return void v("No type selected");const c=(new $n).toHexString(),u=new er.AddFeatureChange({changedIds:[c],typeName:"AddFeatureChange",assembly:n.assemblyName,addedFeature:{_id:c,refSeq:l,min:Number(s)-1,max:Number(a),type:p,strand:m}});await e.submit(u),o("Feature added successfully","success"),t()},"data-testid":"submit-form"},T.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},T.default.createElement(c.TextField,{margin:"dense",id:"start",label:"Start",type:"number",fullWidth:!0,variant:"outlined",value:Number(s),onChange:e=>{l(e.target.value)}}),T.default.createElement(c.TextField,{margin:"dense",id:"end",label:"End",type:"number",fullWidth:!0,variant:"outlined",value:a,onChange:e=>{i(e.target.value)},error:b,helperText:b?'"End" must be greater than "Start"':null}),T.default.createElement(c.FormControl,null,T.default.createElement(c.InputLabel,{id:"demo-simple-select-label"},"Strand"),T.default.createElement(c.Select,{labelId:"demo-simple-select-label",id:"demo-simple-select",label:"Strand",value:m?.toString(),onChange:function(e){switch(v(""),Number(e.target.value)){case 1:g(1);break;case-1:g(-1);break;default:g(void 0)}}},T.default.createElement(c.MenuItem,{value:void 0}),T.default.createElement(c.MenuItem,{value:1},"+"),T.default.createElement(c.MenuItem,{value:-1},"-"))),T.default.createElement(c.FormControl,{style:{marginTop:20}},T.default.createElement(c.RadioGroup,{"aria-labelledby":"demo-radio-buttons-group-label",defaultValue:JN.GENE_AND_SUBFEATURES,name:"radio-buttons-group",value:f,onChange:e=>{v("");const{value:t}=e.target;Object.keys(JN).includes(t)&&d(JN[t])}},T.default.createElement(c.FormControlLabel,{value:JN.GENE_AND_SUBFEATURES,control:T.default.createElement(c.Radio,null),label:T.default.createElement(c.Box,{display:"flex",alignItems:"center"},"Add gene and sub-features",T.default.createElement(c.Tooltip,{title:"This is a shortcut to create a gene with a single mRNA, exon, and CDS"},T.default.createElement(c.IconButton,{size:"small"},T.default.createElement(Ed,{sx:{fontSize:18}}))))}),T.default.createElement(c.FormControlLabel,{value:JN.TRANSCRIPT_AND_SUBFEATURES,control:T.default.createElement(c.Radio,null),label:T.default.createElement(c.Box,{display:"flex",alignItems:"center"},"Add transcript and sub-features",T.default.createElement(c.Tooltip,{title:"This is a shortcut to create a single mRNA with exon and CDS, but without a parent gene"},T.default.createElement(c.IconButton,{size:"small"},T.default.createElement(Ed,{sx:{fontSize:18}}))))}),T.default.createElement(c.FormControlLabel,{value:JN.CUSTOM,checked:f!==JN.GENE_AND_SUBFEATURES&&f!==JN.TRANSCRIPT_AND_SUBFEATURES,control:T.default.createElement(c.Radio,null),label:"Add feature with a sequence ontology type"}))),f===JN.CUSTOM?T.default.createElement($N,{session:r,ontologyName:"Sequence Ontology",style:{width:170},value:"",filterTerms:HN,renderInput:e=>T.default.createElement(c.TextField,{...e,label:"Type",variant:"outlined",fullWidth:!0}),onChange:(e,t)=>{var n;t&&(n=t,v(""),h(n))}}):null),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{variant:"contained",type:"submit",disabled:_},"Submit"),T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),y?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},y)):null)}function ZN(e,t){const n=(new $n).toHexString();t.push(n);const r={};if(e.children)for(const n of Object.values(e.children)){const e=ZN(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 XN({changeManager:e,handleClose:t,session:n,sourceAssemblyId:o,sourceFeature:a}){const{assemblyManager:i,notify:s}=n,f=i.assemblyList,[d,p]=u.useState(f.find((e=>e.name!==o))?.name),[h,m]=u.useState([]),[g,y]=u.useState(""),[v,b]=u.useState(a.min),[_,w]=u.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 u.useEffect((()=>{y(""),async function(){if(!d)return void w("No assemblies to copy to");const e=await i.waitForAssembly(d);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))}))}),[d,i]),T.default.createElement(Ld,{open:!0,title:"Copy features and annotations",handleClose:t,maxWidth:!1,"data-testid":"copy-feature"},T.default.createElement("form",{onSubmit:async function(n){if(!d)return;n.preventDefault(),w("");const r=a.length,o=await i.waitForAssembly(d);if(!o)return void w(`Assembly not found: ${d}.`);const c=o.getCanonicalRefName(g),u=o.regions?.find((e=>e.refName===c));if(!u)return void w(`RefSeq not found: ${g}.`);const f=v+r;if(f>u.end)return void w(`Feature would extend beyond the bounds of the selected reference sequence. (Feature would end at ${f}, but reference sequence ends at ${u.end})`);if(v<u.start)return void w(`Reference sequence starts at ${u.start}, feature cannot start before that.`);const p=[],h=ZN(l.getSnapshot(a),p),m={...h.attributes};"Parent"in m&&delete m.Parent,h.refSeq=g;const y=v-h.min;h.min=v,h.max=v+r;const b=S(h,y),_=new er.AddFeatureChange({changedIds:[h._id],typeName:"AddFeatureChange",assembly:d,addedFeature:{_id:h._id,refSeq:h.refSeq,min:h.min,max:h.max,type:h.type,children:b.children,attributes:m,strand:h.strand},copyFeature:!0,allIds:p});await e.submit(_),s("Feature copied successfully","success"),t(),n.preventDefault()}},T.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},T.default.createElement(c.DialogContentText,null,"Target assembly"),T.default.createElement(c.Select,{labelId:"label",value:d,onChange:function(e){p(e.target.value)}},f.filter((e=>e.name!==o)).map((e=>T.default.createElement(c.MenuItem,{key:e.name,value:e.name},r.readConfObject(e,"displayName"))))),T.default.createElement(c.DialogContentText,null,"Target reference sequence"),T.default.createElement(c.Select,{labelId:"label",value:g,onChange:function(e){y(e.target.value)}},h.map((e=>T.default.createElement(c.MenuItem,{key:e._id,value:e._id},e.name)))),T.default.createElement(c.DialogContentText,null,"Start position in target reference sequence"),T.default.createElement(c.TextField,{margin:"dense",type:"number",fullWidth:!0,variant:"outlined",value:v,onChange:e=>{b(Number(e.target.value))}})),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{disabled:!d||!g||!v,variant:"contained",type:"submit"},"Submit"),T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),_?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},_)):null)}function QN({changeManager:e,handleClose:t,session:n}){const{internetAccounts:r}=l.getRoot(n),[o,a]=u.useState(),[i,s]=u.useState(""),[f,d]=u.useState(!1),[p,h]=u.useState(!1),m=r.filter((e=>"ApolloInternetAccount"===e.type));if(0===m.length)throw new Error("No Apollo internet account found");const[g,y]=u.useState(m[0]),{collaborationServerDriver:v}=n.apolloDataStore,b=v.getAssemblies();return u.useEffect((()=>{b.length>0&&void 0===o&&a(b[0])}),[b,o]),T.default.createElement(Ld,{open:!0,title:"Delete Assembly",handleClose:t,maxWidth:!1,"data-testid":"delete-assembly"},T.default.createElement("form",{onSubmit:async function(n){if(n.preventDefault(),h(!0),s(""),!o)return void s("Must select assembly!");const r=new er.DeleteAssemblyChange({typeName:"DeleteAssemblyChange",assembly:o.name});await e.submit(r,{internetAccountId:g.internetAccountId}),t(),n.preventDefault()}},T.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},m.length>1?T.default.createElement(T.default.Fragment,null,T.default.createElement(c.DialogContentText,null,"Select account"),T.default.createElement(c.Select,{value:g.internetAccountId,onChange:function(e){h(!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:p&&!i},r.map((e=>T.default.createElement(c.MenuItem,{key:e.id,value:e.internetAccountId},e.name))))):null,T.default.createElement(c.DialogContentText,null,"Select assembly"),T.default.createElement(c.Select,{labelId:"label",value:o?.name??"",onChange:function(e){const t=b.find((t=>t.name===e.target.value));a(t)},disabled:0===b.length},b.map((e=>T.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name)))),T.default.createElement(c.DialogContentText,null,T.default.createElement("strong",{style:{color:"red"}},"NOTE: All assembly data will be deleted and this operation cannot be undone!")),T.default.createElement(c.FormGroup,null,T.default.createElement(c.FormControlLabel,{control:T.default.createElement(c.Checkbox,{checked:f,onChange:()=>{d(!f)}}),label:"I understand that all assembly data will be deleted"}))),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{disabled:!o||!f,variant:"contained",type:"submit"},"Delete"),T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),i?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},i)):null)}function eR({changeManager:e,handleClose:t,selectedFeature:n,session:r,setSelectedFeature:o,sourceAssemblyId:a,sourceFeature:i}){const{notify:s}=r,[f,d]=u.useState("");return T.default.createElement(Ld,{open:!0,title:"Delete feature",handleClose:t,maxWidth:!1,"data-testid":"delete-feature"},T.default.createElement("form",{onSubmit:async function(r){r.preventDefault(),d(""),n?._id===i._id&&o();const c=new er.DeleteFeatureChange({changedIds:[i._id],typeName:"DeleteFeatureChange",assembly:a,deletedFeature:l.getSnapshot(i),parentFeatureId:i.parent?._id});await e.submit(c),s("Feature deleted successfully","success"),t(),r.preventDefault()}},T.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},T.default.createElement(c.DialogContentText,null,"Are you sure you want to delete the selected feature?")),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{variant:"contained",type:"submit"},"Yes"),T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Cancel"))),f?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},f)):null)}!function(e){e.GENE_AND_SUBFEATURES="GENE_AND_SUBFEATURES",e.TRANSCRIPT_AND_SUBFEATURES="TRANSCRIPT_AND_SUBFEATURES",e.CUSTOM="CUSTOM"}(JN||(JN={}));var tR={exports:{}};function nR({handleClose:e,session:t}){const[n,o]=u.useState(),[a,i]=u.useState(""),{collaborationServerDriver:s,getInternetAccount:f,inMemoryFileDriver:d}=t.apolloDataStore,p=[...s.getAssemblies(),...d.getAssemblies()];return T.default.createElement(Ld,{open:!0,title:"Export GFF3",handleClose:e,maxWidth:!1,"data-testid":"download-gff3"},T.default.createElement("form",{onSubmit:async function(o){if(o.preventDefault(),i(""),!n)return void i("Must select assembly to download");const{internetAccountConfigId:a}=r.getConf(n,["sequence","metadata"]);a?await async function(e){if(!n)return void i("Must select assembly to download");const t=f(n.configuration.name,e),r=new URL("export/getID",t.baseURL),o=new URLSearchParams({assembly:n.name});r.search=o.toString();const a=r.toString(),s=t.getFetcher({locationType:"UriLocation",uri:a}),l=await s(a,{method:"GET"});if(!l.ok){const e=await wd(l,"Error when exporting ID");return void i(e)}const{exportID:c}=await l.json(),u=new URL("export",t.baseURL),d=new URLSearchParams({exportID:c,includeFASTA:"true"});u.search=d.toString();const p=u.toString();window.open(p,"_blank")}(a):function(e){if(!n)return void i("Must select assembly to download");const{assemblies:t}=e.apolloDataStore,o=t.get(n.name),a=o?.refSeqs;if(!a)return void i(`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 a){const{features:t}=e;if(t)for(const[,e]of t)s.push(er.annotationFeatureToGFF3(l.getSnapshot(e)))}for(const e of c){const{refName:t,seq:n}=e;s.push({id:t,description:"",sequence:n})}const u=md.formatSync(s),f=new Blob([u],{type:"text/plain;charset=utf-8"});tR.exports.saveAs(f,`${n.displayName??n.name}.gff3`)}(t),e()}},T.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},T.default.createElement(c.DialogContentText,null,"Select assembly"),T.default.createElement(c.Select,{labelId:"label",value:n?.name??"",onChange:function(e){const t=p.find((t=>t.name===e.target.value));o(t)},disabled:0===p.length},p.map((e=>T.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name)))),T.default.createElement(c.DialogContentText,null,"Select assembly to export to GFF3")),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{disabled:!n,variant:"contained",type:"submit"},"Download"),T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:e},"Cancel"))),a?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},a)):null)}function rR({changeManager:e,handleClose:t,session:n}){const{apolloDataStore:o}=n,[a,i]=u.useState(),[s,l]=u.useState(),[f,d]=u.useState(""),[p,h]=u.useState(!1),[m,g]=u.useState(),[y,v]=u.useState(!1),[b,_]=u.useState(!1),{collaborationServerDriver:w,getInternetAccount:S}=o,x=w.getAssemblies();return u.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),a=new URLSearchParams({assemblyId:s.name});o.search=a.toString();const i=t.getFetcher({locationType:"UriLocation",uri:o.toString()});_(!0);const l=await i(o.toString(),{method:"GET"});if(!l.ok)throw new Error(await wd(l));{const e=await l.json();g(e.count)}_(!1)})().catch((e=>{console.error(e),d(e.message??e)}))}),[S,n,s]),T.default.createElement(Ld,{open:!0,title:"Import Features from GFF3 file",handleClose:t,maxWidth:!1,"data-testid":"import-features-dialog"},b?T.default.createElement(F.default,null):null,T.default.createElement("form",{onSubmit:async function(o){o.preventDefault(),d(""),_(!0),h(!0);let i="";if(!a)return void d("must select a file");if(!s)return void d("Must select assembly to download");const{internetAccountConfigId:l}=r.getConf(s,["sequence","metadata"]),c=S(s.name,l),{baseURL:u}=c,f=new URL("files",u);f.searchParams.set("type","text/x-gff3");const p=f.href,m=new FormData;m.append("file",a),m.append("fileName",a.name),m.append("type","text/x-gff3");const g=c.getFetcher({locationType:"UriLocation",uri:p});t();const{jobsManager:v}=n,b=new AbortController,w={name:`Importing features for ${s.displayName}`,statusMessage:"Uploading file, this may take awhile",progressPct:0,cancelCallback:()=>{b.abort(),v.abortJob(w.name)}};if(v.runJob(w),g){const{signal:e}=b,t=await g(p,{method:"POST",body:m,signal:e});if(!t.ok){const e=await wd(t,"Error when inserting new features (while uploading file)");return v.abortJob(w.name,e),void d(e)}i=(await t.json())._id}const x=new er.AddFeaturesFromFileChange({typeName:"AddFeaturesFromFileChange",assembly:s.name,fileId:i,deleteExistingFeatures:y});v.done(w),await e.submit(x,{updateJobsManager:!0})}},T.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},T.default.createElement(c.DialogContentText,null,"Select assembly"),T.default.createElement(c.Select,{labelId:"label",value:s?.name??"",onChange:function(e){const t=x.find((t=>t.name===e.target.value));l(t),h(!1)},disabled:p&&!f},x.map((e=>T.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name))))),T.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},T.default.createElement(c.DialogContentText,null,"Upload GFF3 to load features"),T.default.createElement("input",{type:"file",onChange:function(e){h(!1),e.target.files&&i(e.target.files[0])},disabled:p&&!f})),m&&m>0?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,null,"This assembly already has ",m," features, would you like to delete the existing features before importing new ones?"),T.default.createElement(M.default,{label:"Yes, delete existing features",disabled:p&&!f,control:T.default.createElement(P.default,{checked:y,onChange:function(e){v(e.target.checked)},inputProps:{"aria-label":"controlled"},color:"warning"})})):null,T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{disabled:!(s&&a&&void 0!==m)||p,variant:"contained",type:"submit"},p?"Submitting...":"Submit"),T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Close"))),f?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},f)):null)}function oR({handleClose:e,session:t}){const{internetAccounts:n}=l.getRoot(t),[r,o]=u.useState(""),a=n.filter((e=>"ApolloInternetAccount"===e.type));if(0===a.length)throw new Error("No Apollo internet account found");const[i,s]=u.useState(a[0]);return T.default.createElement(Ld,{open:!0,title:"Log out",handleClose:e,maxWidth:!1,"data-testid":"log-out"},T.default.createElement("form",{onSubmit:function(e){e.preventDefault(),o(""),i.removeToken(),globalThis.location.reload()}},T.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},a.length>1?T.default.createElement(T.default.Fragment,null,T.default.createElement(c.DialogContentText,null,"Select account"),T.default.createElement(c.Select,{value:i.internetAccountId,onChange:function(e){const t=a.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=>T.default.createElement(c.MenuItem,{key:e.id,value:e.internetAccountId},e.name))))):null,T.default.createElement(c.DialogContentText,null,"Are you sure you want to log out?")),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{disabled:!i,variant:"contained",type:"submit"},"Log Out"),T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:e},"Cancel"))),r?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},r)):null)}function aR({handleClose:e,session:t}){const{internetAccounts:n}=l.getRoot(t),[r,o]=u.useState(),[a,i]=u.useState(""),[s,f]=u.useState(!1),d=n.filter((e=>"ApolloInternetAccount"===e.type));if(0===d.length)throw new Error("No Apollo internet account found");const[p,h]=u.useState(d[0]),[m,g]=u.useState([]),[y,v]=u.useState([]),{collaborationServerDriver:b}=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 u.useEffect((()=>{(async function(){const{baseURL:e,getFetcher:t}=p,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 wd(o,"Error when retrieving checks from server");return void i(e)}const a=await o.json();g(a)})().catch((e=>{i(String(e))}))}),[p]),u.useEffect((()=>{_.length>0&&void 0===r&&o(_[0])}),[_,r]),u.useEffect((()=>{(async function(){if(!r)return;const{baseURL:e,getFetcher:t}=p,n=new URL(`/assemblies/${r.name}`,e).href,o=t({locationType:"UriLocation",uri:n}),a=await o(n,{method:"GET"});if(!a.ok){const e=await wd(a,"Error when retrieving assembly from server");return void i(e)}const s=await a.json();v(s.checks)})().catch((e=>{i(String(e))}))}),[r,p]),T.default.createElement(Ld,{open:!0,title:"Manage Checks",handleClose:e,"data-testid":"manage-checks"},T.default.createElement("form",{onSubmit:async function(n){if(n.preventDefault(),!r)return void i("Must select assembly!");const{notify:o}=t,{baseURL:a,getFetcher:s}=p,l=new URL("assemblies/checks",a).href,c=s({locationType:"UriLocation",uri:l}),u=await c(l,{method:"POST",body:JSON.stringify({_id:r.name,checks:y,name:""}),headers:{"Content-Type":"application/json"}});if(u.ok)o("Assembly checks updated successfully","success"),e();else{const e=await wd(u,"Error when updating assembly checks");i(e)}}},T.default.createElement(c.DialogContent,null,d.length>1?T.default.createElement(T.default.Fragment,null,T.default.createElement(c.DialogContentText,null,"Select account"),T.default.createElement(c.Select,{value:p.internetAccountId,onChange:function(e){f(!1);const t=d.find((t=>t.internetAccountId===e.target.value));if(!t)throw new Error(`Could not find internetAccount with ID "${e.target.value}"`);h(t)},disabled:s&&!a},n.map((e=>T.default.createElement(c.MenuItem,{key:e.id,value:e.internetAccountId},e.name))))):null,T.default.createElement(c.DialogContentText,null,"Select assembly"),T.default.createElement(c.Select,{style:{width:300},labelId:"label",value:r?.name??"",onChange:function(e){const t=_.find((t=>t.name===e.target.value));o(t)},disabled:0===_.length},_.map((e=>T.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name)))),T.default.createElement("br",null),T.default.createElement("br",null),T.default.createElement(c.TableContainer,{component:c.Paper},T.default.createElement(c.Table,null,T.default.createElement(c.TableHead,null,T.default.createElement(c.TableRow,null,T.default.createElement(c.TableCell,null,"Check name"),T.default.createElement(c.TableCell,null,"Use check"))),T.default.createElement(c.TableBody,null,m.map((e=>T.default.createElement(c.TableRow,{key:e._id},T.default.createElement(c.TableCell,null,e.name),T.default.createElement(c.TableCell,null,T.default.createElement(c.Checkbox,{value:e._id,checked:y.includes(e._id),onChange:w}))))))))),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{variant:"contained",type:"submit"},"Submit"),T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:e},"Cancel"))),a?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},a)):null)}!function(e,t){!function(){function t(e,t,n){var r=new XMLHttpRequest;r.open("GET",e),r.responseType="blob",r.onload=function(){i(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":Y(window))&&window.window===window?window:"object"==("undefined"==typeof self?"undefined":Y(self))&&self.self===self?self:"object"==Y(D)&&D.global===D?D:void 0,a=o.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),i=o.saveAs||("object"!=("undefined"==typeof window?"undefined":Y(window))||window!==o?function(){}:"download"in HTMLAnchorElement.prototype&&!a?function(e,a,i){var s=o.URL||o.webkitURL,l=document.createElement("a");l.download=a=a||e.name||"download",l.rel="noopener","string"==typeof e?(l.href=e,l.origin===location.origin?r(l):n(l.href)?t(e,a,i):r(l,l.target="_blank")):(l.href=s.createObjectURL(e),setTimeout((function(){s.revokeObjectURL(l.href)}),4e4),setTimeout((function(){r(l)}),0))}:"msSaveOrOpenBlob"in navigator?function(e,o,a){if(o=o||e.name||"download","string"!=typeof e)navigator.msSaveOrOpenBlob(function(e,t){return void 0===t?t={autoBom:!1}:"object"!=Y(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,a),o);else if(n(e))t(e,o,a);else{var i=document.createElement("a");i.href=e,i.target="_blank",setTimeout((function(){r(i)}))}}:function(e,n,r,i){if((i=i||open("","_blank"))&&(i.document.title=i.document.body.innerText="downloading..."),"string"==typeof e)return t(e,n,r);var s="application/octet-stream"===e.type,l=/constructor/i.test(o.HTMLElement)||o.safari,c=/CriOS\/[\d]+/.test(navigator.userAgent);if((c||s&&l||a)&&"undefined"!=typeof FileReader){var u=new FileReader;u.onloadend=function(){var e=u.result;e=c?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),i?i.location.href=e:location=e,i=null},u.readAsDataURL(e)}else{var f=o.URL||o.webkitURL,d=f.createObjectURL(e);i?i.location=d:location.href=d,i=null,setTimeout((function(){f.revokeObjectURL(d)}),4e4)}});o.saveAs=i.saveAs=i,e.exports=i}()}(tR);var iR={},sR=Zl.exports;Object.defineProperty(iR,"__esModule",{value:!0});var lR=iR.default=void 0;function cR({changeManager:e,handleClose:t,session:n}){const{internetAccounts:r}=l.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[a,i]=u.useState(""),[s,f]=u.useState(o[0]),[d,p]=u.useState([]),h=u.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 wd(e,"Error when getting user data from db");return void i(t)}const r=await e.json();p(r.map((e=>void 0===e.role?{...e,role:""}:e)))}}),[s]);function m(e){return e===s.getUserId()}u.useEffect((()=>{h().catch((e=>{i(String(e))}))}),[h]);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=>[T.default.createElement(b.GridActionsCellItem,{key:`delete-${t.id}`,icon:T.default.createElement(lR,null),onClick:async()=>{globalThis.confirm("Delete this user?")&&await async function(t){const n=new er.DeleteUserChange({typeName:"DeleteUserChange",userId:t});await e.submit(n,{internetAccountId:s.internetAccountId}),p((e=>e.filter((e=>e._id!==t))))}(t.id)},disabled:m(t.id),label:"Delete"})]}];return T.default.createElement(Ld,{open:!0,fullScreen:!0,title:"Manage users",handleClose:t,"data-testid":"manage-users"},T.default.createElement(c.DialogContent,null,o.length>1?T.default.createElement(T.default.Fragment,null,T.default.createElement(c.DialogContentText,null,"Select account"),T.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}"`);f(t)},disabled:!a},r.map((e=>T.default.createElement(c.MenuItem,{key:e.id,value:e.internetAccountId},e.name))))):null,T.default.createElement("div",{style:{height:"100%",width:"100%"}},T.default.createElement(b.DataGrid,{pagination:!0,rows:d,columns:g,getRowId:e=>e._id,slots:{toolbar:b.GridToolbar},getRowHeight:()=>"auto",isCellEditable:e=>!m(e.id),processRowUpdate:async function(t){const n=new er.UserChange({typeName:"UserChange",role:t.role,userId:t._id});return await e.submit(n,{internetAccountId:s.internetAccountId}),t},onProcessRowUpdateError:e=>{i(String(e))}}))),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Close")),a?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},a)):null)}lR=iR.default=(0,sR(Xl).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 uR=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 fR({handleClose:e,session:t}){const{apolloDataStore:r}=t,{addAssembly:o,addSessionAssembly:a,assemblyManager:i,notify:s}=t,[l,f]=u.useState(null),[d,p]=u.useState(""),[h,m]=u.useState(""),[g,y]=u.useState(!1),v=c.useTheme();return T.default.createElement(Ld,{open:!0,title:"Open local GFF3 file",handleClose:e,maxWidth:!1,"data-testid":"open-local-file"},T.default.createElement("form",{onSubmit:async function(c){if(c.preventDefault(),m(""),y(!0),!l)throw new Error("No file selected");const u=await new Response(l).text(),f=`${d}-${l.name}-${uR(8)}`;try{await gd(f,u,r)}catch(t){return console.error(t),s(`Error loading GFF3 ${l.name}, ${String(t)}`,"error"),void e()}const p={name:f,aliases:[d],displayName:d,sequence:{trackId:`sequenceConfigId-${d}`,type:"ReferenceSequenceTrack",adapter:{type:"ApolloSequenceAdapter",assemblyId:f},metadata:{apollo:!0,...n.isElectron?{file:l.path}:{}}}};await(a||o)(p);const h=await i.waitForAssembly(p.name);h?(t.addApolloTrackConfig(h),s(`Loaded GFF3 ${l.name}`,"success")):s(`Error loading GFF3 ${l.name}`,"error"),e()}},T.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},T.default.createElement(c.FormControl,null,T.default.createElement("div",{style:{flexDirection:"row"}},T.default.createElement(c.Button,{variant:"contained",component:"label",style:{marginRight:v.spacing()}},"Choose File",T.default.createElement("input",{type:"file",required:!0,hidden:!0,onChange:function(e){const t=e.target.files?.item(0);if(t&&(m(""),f(t),!d)){const e=t.name,n=e.lastIndexOf(".");p(-1===n?e:e.slice(0,n))}}})),l?l.name:"No file chosen"),T.default.createElement(c.FormHelperText,null,"Make sure your GFF3 has an embedded FASTA section")),T.default.createElement(c.TextField,{required:!0,label:"Assembly name",value:d,onChange:function(e){p(e.target.value)}})),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{disabled:!1,variant:"contained",type:"submit"},g?"Submitting...":"Submit"),T.default.createElement(c.Button,{disabled:g,variant:"outlined",type:"submit",onClick:e},"Cancel"))),h?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},h)):null)}const dR=f.makeStyles()((e=>({changeTextarea:{fontFamily:"monospace",width:600,resize:"none",border:`1px solid ${e.palette.divider}`,borderRadius:e.shape.borderRadius}})));function pR({handleClose:e,session:t}){const{internetAccounts:n}=l.getRoot(t),r=n.find((e=>"ApolloInternetAccount"===e.type));if(!r)throw new Error("No Apollo internet account found");const{baseURL:o}=r,{classes:a}=dR(),[i,s]=u.useState(),[f,d]=u.useState([]),[p,h]=u.useState(""),[m,g]=u.useState([]),y=[{field:"sequence"},{field:"typeName",headerName:"Change type",width:200,type:"singleSelect",valueOptions:[...B.changeRegistry.changes.keys()]},{field:"changes",headerName:"Change JSON",width:600,renderCell:({value:e})=>T.default.createElement("textarea",{className:a.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 u.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 wd(n,"Error when retrieving assemblies from server");return void s(e)}const r=await n.json();d(r)}})().catch((e=>{s(String(e))}))}),[r,o]),u.useEffect((()=>{!p&&f.length>0&&h(f[0]._id)}),[p,f]),u.useEffect((()=>{(async function(){if(!p)return;const e=new URL("changes",o),t=new URLSearchParams({assembly:p});e.search=t.toString();const n=e.toString(),a=r?.getFetcher({locationType:"UriLocation",uri:n});if(a){const e=await a(n,{headers:new Headers({"Content-Type":"application/json"})});if(!e.ok){const t=await wd(e,"Error when retrieving changes");return void s(t)}const t=await e.json();g(t)}})().catch((e=>{s(String(e))}))}),[p,r,o]),T.default.createElement(Ld,{open:!0,fullScreen:!0,title:"View change log",handleClose:e,"data-testid":"view-changelog"},T.default.createElement(c.Select,{style:{width:200,marginLeft:40},value:p,onChange:function(e){h(e.target.value)}},f.map((e=>T.default.createElement(c.MenuItem,{key:e._id,value:e._id},e.name)))),T.default.createElement(c.DialogContent,null,T.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}}}})),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:e},"Close")),i?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},i)):null)}const hR=[{field:"refName",headerName:"Ref Name"},{field:"aliases",headerName:"Aliases",editable:!0}],mR=e=>/^[\da-f]{24}$/i.test(e);function gR({changeManager:e,handleClose:t,session:n}){const r=u.useRef(null),[o,a]=u.useState(""),[i,s]=u.useState(!1),[l,f]=u.useState(),[d,p]=u.useState([]),[h,m]=u.useState(new Map),{apolloDataStore:g}=n,{collaborationServerDriver:y}=g,v=y.getAssemblies();u.useEffect((()=>{let e=0;const t=()=>{if(!l)return;const n=new Map;if(e<2&&!l.refNames&&(e++,setTimeout(t,50)),!l.refNames)return;const r=l.refNameAliases;for(const e in r){const t=r[e];if(t&&!mR(e))if(n.has(t)){const r=n.get(t)??[];n.set(t,[...r,e])}else n.set(t,[e])}m(n)};t()}),[l]);const _=()=>[...h].map(((e,t)=>({id:t,refName:e[0],aliases:e[1].filter((t=>t!==e[0])).join(", ")})));return T.default.createElement(Ld,{open:!0,title:"Add reference sequence aliases",handleClose:t,maxWidth:"sm","data-testid":"add-refseq-alias",fullWidth:!0},T.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column"}},T.default.createElement(c.Grid2,{container:!0,spacing:2},T.default.createElement(c.Grid2,null,T.default.createElement(c.FormControl,{disabled:i&&!o,fullWidth:!0},T.default.createElement(c.InputLabel,{id:"demo-simple-select-label"},"Assembly"),T.default.createElement(c.Select,{labelId:"demo-simple-select-label",id:"demo-simple-select",label:"Assembly",value:l?.name??"",onChange:e=>{const t=v.find((t=>t.name===e.target.value));f(t),s(!1),a(""),r.current&&(r.current.value="")}},v.map((e=>T.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name)))))),T.default.createElement(c.Grid2,null,T.default.createElement(c.InputLabel,null,"Load RefName alias"),T.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(h);a("");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((()=>{a("Error reading file")}))},ref:r,disabled:i&&!o||!l}))),l&&h.size>0?T.default.createElement("div",{style:{height:200,width:"100%",marginTop:20}},T.default.createElement(c.InputLabel,null,"Refname aliases found for selected assembly."),T.default.createElement(b.DataGrid,{rows:_(),columns:hR,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))));p(t)}else s(!1),p([])})(e)},processRowUpdate:(e,t)=>{const n=new Map(h);return n.set(e.refName,e.aliases.split(",")),m(n),e},checkboxSelection:!0})):null),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{variant:"contained",type:"submit",disabled:!i,onClick:()=>{const n=[];for(const e of d){const{refName:t}=e,r=e.aliases.split(",").map((e=>e.trim())).filter((e=>e.length>0));n.push({refName:t,aliases:r})}if(a(""),!l)return void a("No assembly selected");const r=new er.AddRefSeqAliasesChange({typeName:"AddRefSeqAliasesChange",assembly:l.name,refSeqAliases:n});e.submit(r).catch((()=>{a("Error submitting change")})),t()}},"Submit"),T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:t},"Close")),o?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},o)):null)}function yR({handleClose:e,session:t}){const{internetAccounts:n}=l.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:a}=o,[i,s]=u.useState(),[f,d]=u.useState(),[p,h]=u.useState([]),m=r.getAssemblies();return u.useEffect((()=>{!f&&m.length>0&&d(m[0])}),[m,f]),u.useEffect((()=>{(async function(){const e=f?.name;if(!e)return;const t=new URL("checks",a),n=new URLSearchParams({assembly:e});t.search=n.toString();const r=t.toString(),i=o?.getFetcher({locationType:"UriLocation",uri:r});if(i){const e=await i(r,{headers:new Headers({"Content-Type":"application/json"})});if(!e.ok){const t=await wd(e,"Error when retrieving checks");return void s(t)}const t=await e.json();h(t)}})().catch((e=>{s(String(e))}))}),[f,o,a]),T.default.createElement(Ld,{open:!0,fullScreen:!0,title:"View check results",handleClose:e,"data-testid":"view-check-results"},T.default.createElement(c.Select,{style:{width:200,marginLeft:40},value:f?.name??"",onChange:function(e){const t=m.find((t=>t.name===e.target.value));d(t)},disabled:0===m.length},m.map((e=>T.default.createElement(c.MenuItem,{key:e.name,value:e.name},e.displayName??e.name)))),T.default.createElement(c.DialogContent,null,T.default.createElement(b.DataGrid,{pagination:!0,rows:p,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}}}})),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:e},"Close")),i?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},i)):null)}var vR={},bR=Zl.exports;Object.defineProperty(vR,"__esModule",{value:!0});var _R=vR.default=void 0;function wR(e){const{color:t}=e;return T.default.createElement(c.SvgIcon,{viewBox:"0 0 18 18",style:{fontSize:18,marginRight:4},...e},"disabled"===t?T.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"}):T.default.createElement(T.default.Fragment,null,T.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"}),T.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"}),T.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"}),T.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 SR(e){const{color:t}=e;return T.default.createElement(c.SvgIcon,{viewBox:"0 0 21 21",style:{fontSize:21},...e},T.default.createElement("rect",{x:"1",y:"1",width:"9",height:"9",fill:"disabled"===t?"#7B7B7B":"#F25022"}),T.default.createElement("rect",{x:"1",y:"11",width:"9",height:"9",fill:"disabled"===t?"#7B7B7B":"#00A4EF"}),T.default.createElement("rect",{x:"11",y:"1",width:"9",height:"9",fill:"disabled"===t?"#939393":"#7FBA00"}),T.default.createElement("rect",{x:"11",y:"11",width:"9",height:"9",fill:"disabled"===t?"#B9B9B9":"#FFB900"}))}_R=vR.default=(0,bR(Xl).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 xR=f.makeStyles()((e=>({loginButton:{marginBottom:e.spacing(1),width:"220px",height:"40px",fontSize:"16px",textTransform:"none",justifyContent:"left",padding:"3px 12px"}})));function ER(e){const{classes:t}=xR(),{disabled:n}=e;return T.default.createElement(c.Button,{className:t.loginButton,variant:"outlined",startIcon:T.default.createElement(wR,{color:n?"disabled":void 0}),...e},"Sign in with Google")}function kR(e){const{classes:t}=xR(),{disabled:n}=e;return T.default.createElement(c.Button,{className:t.loginButton,variant:"outlined",startIcon:T.default.createElement(SR,{color:n?"disabled":void 0}),...e},"Sign in with Microsoft")}function AR(e){const{classes:t}=xR();return T.default.createElement(c.Button,{className:t.loginButton,variant:"outlined",startIcon:T.default.createElement(_R,{fontSize:"small"}),...e},"Continue as Guest")}const CR=f.makeStyles()((e=>({divider:{marginTop:e.spacing(4),marginBottom:e.spacing(5)}}))),OR=({baseURL:e,handleClose:t,name:n})=>{const{classes:r}=CR(),[o,a]=u.useState(""),[i,s]=u.useState([]);function l(e){t("google"===e?"google":"microsoft"===e?"microsoft":"guest")}u.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 wd(r,"Error when retrieving auth types from server");return void a(e)}const o=await r.json();s(o)}().catch((e=>{uN(e)||a(String(e))})),()=>{t.abort()}}),[e]);const f=i.includes("google"),d=i.includes("microsoft"),p=i.includes("guest");return T.default.createElement(Ld,{open:!0,title:`Log in to ${n}`,handleClose:t,maxWidth:!1,"data-testid":"login-apollo"},T.default.createElement(c.DialogContent,{style:{display:"flex",flexDirection:"column",paddingTop:8}},f?T.default.createElement(ER,{disabled:!f,onClick:()=>{l("google")}}):null,d?T.default.createElement(kR,{disabled:!d,onClick:()=>{l("microsoft")}}):null,p?T.default.createElement(T.default.Fragment,null,T.default.createElement(c.Divider,{className:r.divider}),T.default.createElement(AR,{onClick:()=>{l("guest")}})):null),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:()=>{t()}},"Cancel")),o?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},o)):null)},NR="undefined"==typeof sessionStorage,RR=e=>o.InternetAccount.named("ApolloInternetAccount").props({type:l.types.literal("ApolloInternetAccount"),configuration:r.ConfigurationReference(e)}).views((e=>({get baseURL(){return r.getConf(e,"baseURL")},getUserId(){const t=e.retrieveToken();if(t)return er.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=er.getDecodedToken(n),{role:o}=r;if(!o&&!t){const{session:n}=l.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("#","?"),a=new URL(o),i=new URLSearchParams(a.search).get("access_token");this.deleteMessageChannel(),i?(e.storeToken(i),e.setRole(),n(i)):r(new Error("Error with token endpoint"))},async openAuthWindow(t,r,o){const a=n.isElectron?"http://localhost/auth":globalThis.location.origin+globalThis.location.pathname,i=new URL("auth/login",e.baseURL),s=new URLSearchParams({type:t,redirect_uri:a});i.search=s.toString();const l=`JBrowseAuthWindow-${e.internetAccountId}`;if(n.isElectron){const{ipcRenderer:t}=globalThis.require("electron"),n=await t.invoke("openAuthWindow",{internetAccountId:e.internetAccountId,data:{redirect_uri:a},url:i.toString()}),s=new MessageEvent("message",{data:{name:l,redirectUri:n}});this.finishOAuthWindow(s,r,o)}else this.addMessageChannel(r,o),window.open(i,l,"width=500,height=600")}}})).actions((e=>({async getTokenFromUser(t,n){const{baseURL:r}=e,o=await new Promise(((t,n)=>{const{session:r}=l.getRoot(e),{baseURL:o,name:a}=e;r.queueDialog((e=>[OR,{name:a,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 a=new URL("auth/login",r),i=new URLSearchParams({type:o});a.search=i.toString();const s=a.toString(),c=await fetch(s);if(!c.ok){const e=await wd(c,"Error when logging in");return void n(new Error(e))}const{token:u}=await c.json();t(u)}}))).volatile((()=>({lastChangeSequenceNumber:void 0}))).actions((e=>({setLastChangeSequenceNumber(t){e.lastChangeSequenceNumber=t}}))).actions((e=>({updateLastChangeSequenceNumber:l.flow((function*(){const{baseURL:t}=e,n=new URL("changes",t),r=new URLSearchParams({limit:"1"});n.search=r.toString();const o=n.toString(),a=e.getFetcher({locationType:"UriLocation",uri:o}),i=yield a(o,{method:"GET"});if(!i.ok){const e=yield wd(i,"Error when fetching server LastChangeSequence");throw new Error(e)}const s=yield i.json();e.setLastChangeSequenceNumber(s.length>0?s[0].sequence:0)})),getMissingChanges:l.flow((function*(){const{session:t}=l.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,a=new URL("changes",r),i=new URLSearchParams({since:String(o),sort:"1"});a.search=i.toString();const s=a.toString(),c=e.getFetcher({locationType:"UriLocation",uri:s}),u=yield c(s,{method:"GET"});if(!u.ok)return void console.error(`Error when fetching the last updates to recover socket connection — ${u.status}`);const f=yield u.json();for(const e of f){const t=B.Change.fromJSON(e);n.submit(t,{submitToBackend:!1})}}))}))).volatile((e=>{const{origin:t,pathname:n}=new URL("socket.io/",e.baseURL);return{socket:Eu(t,{path:n})}})).actions((e=>({addSocketListeners(){const{session:t}=l.getRoot(e),{notify:n}=t,r=e.retrieveToken();if(!r)throw new Error("No Token found");const{socket:o}=e,{addCheckResult:a,changeManager:i,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()):a(e.checkResult));if(sessionStorage.setItem("LastChangeSequence",String(e.changeSequence)),e.userSessionId===r)return;const t=B.Change.fromJSON(e.changeInfo);i.submit(t,{submitToBackend:!1})})),o.on("USER_LOCATION",(e=>{const{channel:n,locations:o,userName:a,userSessionId:i}=e,s=er.getDecodedToken(r),l=er.makeUserSessionId(s);"USER_LOCATION"===n&&i!==l&&t.addOrUpdateCollaborator({name:a,id:i,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)),a=e.getFetcher({locationType:"UriLocation",uri:r});try{if(!(await a(r,{method:"POST",body:o})).ok)throw new Error("ignore")}catch{console.error("Broadcasting user location failed")}}(t)}),300)}})()}))).actions((e=>({initialize:l.flow((function*(t){if("admin"===t){const t=l.getRoot(e);n.isAbstractMenuManager(t)&&function(e){e.appendToMenu("Apollo",{label:"Add Assembly",onClick:e=>{e.queueDialog((t=>[zd,{session:e,handleClose:()=>{t()},changeManager:e.apolloDataStore.changeManager}]))}}),e.appendToMenu("Apollo",{label:"Delete Assembly",onClick:e=>{e.queueDialog((t=>[QN,{session:e,handleClose:()=>{t()},changeManager:e.apolloDataStore.changeManager}]))}}),e.appendToMenu("Apollo",{label:"Import Features",onClick:e=>{e.queueDialog((t=>[rR,{session:e,handleClose:()=>{t()},changeManager:e.apolloDataStore.changeManager}]))}}),e.appendToMenu("Apollo",{label:"Add reference sequence aliases",onClick:e=>{e.queueDialog((t=>[gR,{session:e,handleClose:()=>{t()},changeManager:e.apolloDataStore.changeManager}]))}}),e.appendToMenu("Apollo",{label:"Manage Users",onClick:e=>{e.queueDialog((t=>[cR,{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,a=e.getFetcher({locationType:"UriLocation",uri:o});yield a(o,{method:"GET"}),window.addEventListener("beforeunload",(()=>{e.postUserLocation([])})),document.addEventListener("visibilitychange",(()=>{if("hidden"===document.visibilityState&&e.postUserLocation([]),"visible"===document.visibilityState){const{session:t}=l.getRoot(e);t.broadcastLocations()}}))}))}))).actions((e=>({afterAttach(){e.setRole(),s.autorun((async t=>{if(NR)return;const{session:n}=l.getRoot(e);n&&e.role&&(await e.initialize(e.role),t.dispose())}),{name:"ApolloInternetAccount"})}}))),TR="undefined"==typeof sessionStorage;class IR extends w.BaseAdapter{refNameAliases;async getRefNameAliases(){const e=r.readConfObject(this.config,"assemblyId");if(!TR){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=uR(),a=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",a),t(n.refNameAliases))};addEventListener("message",a),rpcServer.emit("apollo",{apollo:!0,method:"getRefNameAliases",assembly:e,messageId:o})}));return this.refNameAliases=t,t}freeResources(){}}var PR=r.ConfigurationSchema("ApolloRefNameAliasAdapter",{assemblyId:{type:"string",defaultValue:""}},{explicitlyTyped:!0}),MR={};function FR(e){return"uniqueId"in e&&"object"!==Y(e.data)}Object.defineProperty(MR,"__esModule",{value:!0}),MR.isFeature=function(e){return"object"===Y(e)&&null!==e&&"function"==typeof e.get&&"function"==typeof e.id};var jR=function(){function e(t){var n,r=this;X(this,e),FR(t)?this.data=t:(this.data=t.data,this.parentHandle=t.parent);var o=FR(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:V({strand:r.data.strand},t),parent:r}):t})))}return ee(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=V(V({},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(V({},t))}}]),e}(),DR=MR.default=jR;function LR(e){return"object"==typeof e&&null!==e&&"apollo"in e&&!0===e.apollo}const qR="undefined"==typeof sessionStorage;class BR extends w.BaseSequenceAdapter{regions;async getRefNames(){return(await this.getRegions()).map((e=>e.refName))}async getRegions(){if(this.regions)return this.regions;const e=r.readConfObject(this.config,"assemblyId");if(!qR){const t=this.pluginManager?.rootModel?.session?.apolloDataStore;if(!t)throw new Error("No Apollo data store found");const n=t.getBackendDriver(e),r=await n.getRegions(e);return this.regions=r,r}const t=await new Promise(((t,n)=>{const r=setTimeout((()=>{n("timeout")}),2e4),o=uR(),a=e=>{const{data:n}=e;LR(n)&&n.messageId===o&&(clearTimeout(r),removeEventListener("message",a),t(n.regions))};addEventListener("message",a),globalThis.rpcServer.emit("apollo",{apollo:!0,method:"getRegions",assembly:e,messageId:o})}));return this.regions=t,t}getFeatures(e){const{end:t,refName:n,start:o}=e,a=r.readConfObject(this.config,"assemblyId"),i={...e,assemblyName:a};return S.ObservableCreate((async e=>{if(!qR){const r=this.pluginManager?.rootModel?.session?.apolloDataStore;if(!r)return void e.error("No Apollo data store found");const s=r.getBackendDriver(a),l=(await s.getRegions(i.assemblyName)).find((e=>e.refName===i.refName));if(!l)return void e.error("Cannot get region");i.end>l.end&&(i.end=l.end);const{seq:c}=await s.getSequence(i);return e.next(new DR({id:`${n} ${o}-${t}`,data:{refName:n,start:o,end:t,seq:c}})),void e.complete()}const r=await new Promise(((e,t)=>{const n=setTimeout((()=>{t("timeout")}),2e4),r=uR(),o=t=>{const{data:a}=t;LR(a)&&a.messageId===r&&(clearTimeout(n),removeEventListener("message",o),e(a.sequence))};addEventListener("message",o),globalThis.rpcServer.emit("apollo",{apollo:!0,method:"getSequence",region:i,messageId:r})}));e.next(new DR({id:`${n} ${o}-${t}`,data:{refName:n,start:o,end:t,seq:r}})),e.complete()}))}freeResources(){}}var UR=r.ConfigurationSchema("ApolloSequenceAdapter",{assemblyId:{type:"string",defaultValue:""}},{explicitlyTyped:!0}),zR={};Object.defineProperty(zR,"__esModule",{value:!0}),zR.RefSequenceResult=void 0;var HR=function(){function e(t){X(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 ee(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}(),GR=zR.default=HR,WR=function(e){ne(n,e);var t=ce(n);function n(e){var r,o;return X(this,n),(r=t.call(this,e)).refName=null!==(o=e.refName)&&void 0!==o?o:"",r}return ee(n,[{key:"getLocation",value:function(){return this.refName}}]),n}(HR);zR.RefSequenceResult=WR;class $R extends w.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 GR({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:a}=r;for(const r of this.assemblyNames){const i=o.getBackendDriver(r),s=a.get(r);if(!i||!s)continue;const l=await i.searchFeatures(e.queryString,[r]);n.push(...this.mapBaseResult(l,s,t))}return n}freeResources(){}}var VR=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"}),JR={},YR=Zl.exports;Object.defineProperty(JR,"__esModule",{value:!0});var KR=JR.default=void 0;KR=JR.default=(0,YR(Xl).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 ZR={},XR=Zl.exports;Object.defineProperty(ZR,"__esModule",{value:!0});var QR=ZR.default=void 0;QR=ZR.default=(0,XR(Xl).default)((0,N.default.jsx)("path",{d:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z"}),"Edit");var eT={},tT=Zl.exports;Object.defineProperty(eT,"__esModule",{value:!0});var nT=eT.default=void 0;nT=eT.default=(0,tT(Xl).default)((0,N.default.jsx)("path",{d:"M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"MoreHoriz");const rT=f.makeStyles()((e=>({attributeKey:{fontWeight:"bold",marginRight:e.spacing(2)}})));function oT({attributeKey:e}){const{classes:t}=rT(),n=/^[A-Z]/.test(e);let r,o=e;return er.isGFFInternalAttribute(e)?(o=er.internalToGFF[e],r=`On GFF3 export, this will be assigned to the GFF3's reserved "${o}" attribute`):er.isGFFColumnInternal(e)?(o=er.gffInternalToColumn[e],r=`On GFF3 export, this will be placed in the GFF3's "${o}" column`):n&&(r="On GFF3 export, this attribute will be changed to start with a lower-case letter because attributes starting with an upper-case letter are reserved in GFF3"),T.default.createElement("div",{style:{display:"flex"}},T.default.createElement(c.Typography,{className:t.attributeKey},o),r?T.default.createElement(c.Tooltip,{title:r},T.default.createElement(c.Chip,{icon:T.default.createElement(Ed,null),label:"GFF3",size:"small",variant:"outlined"})):null)}const aT="Custom",iT={[aT]:"custom"};for(const[e,t]of Object.entries(er.gffToInternal))iT[`GFF ${t}`]=e;for(const[e,t]of Object.entries(er.gffColumnToInternal))iT[`GFF ${t}`]=e;const sT=p.observer((function({setKey:e,session:t}){const{pluginManager:r}=n.getEnv(t),o=r.evaluateExtensionPoint("Apollo-ReservedAttributeKeys",iT),a=Object.keys(o).at(0)??aT,[i,s]=u.useState(a),[l,f]=u.useState(),d=i===aT;return T.default.createElement("form",{onSubmit:function(t){t.preventDefault(),e(d?l:o[i])}},T.default.createElement("div",{style:{display:"flex",flexDirection:"column",margin:8}},T.default.createElement(c.FormControl,{variant:"outlined"},T.default.createElement(c.InputLabel,{id:"attribute-key-select-label"},"Key"),T.default.createElement(c.Select,{labelId:"attribute-key-select-label",value:i,label:"Key",onChange:e=>{s(e.target.value)}},Object.keys(o).map((e=>T.default.createElement(c.MenuItem,{key:e,value:e},e))))),d?T.default.createElement(c.TextField,{label:"Attribute key",variant:"outlined",id:"attributeKey",onChange:e=>{f(e.target.value)}}):null),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{color:"primary",variant:"contained",type:"submit",disabled:d&&!l},"Add"),T.default.createElement(c.Button,{variant:"outlined",onClick:function(){e()}},"Cancel")))}));var lT={},cT=Zl.exports;Object.defineProperty(lT,"__esModule",{value:!0});var uT=lT.default=void 0;uT=lT.default=(0,cT(Xl).default)((0,N.default.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10h-4v4h-2v-4H7v-2h4V7h2v4h4v2z"}),"AddBox");const fT=p.observer((function({onChangeCommitted:e,value:t,...n}){const[r,o]=u.useState(String(t)),[a,i]=u.useState(!1),[s,l]=u.useState(null);return u.useEffect((()=>{o(String(t))}),[t]),u.useEffect((()=>{a&&(s?.blur(),i(!1))}),[a,s]),T.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)),i(!0))},onBlur:()=>{r!==String(t)&&e(r)},inputRef:e=>{l(e)}})})),dT=p.observer((function({attributeValues:e,setAttribute:t,isNew:n=!1}){const[r,o]=u.useState(e&&e.length>0?e:[""]);return T.default.createElement(T.default.Fragment,null,r.map(((e,t)=>T.default.createElement("div",{key:`${t}-${e}`,style:{display:"flex"}},T.default.createElement(fT,{value:e,onChangeCommitted:e=>{!function(e,t){o((n=>{const r=[...n];return r[e]=t,r}))}(t,e)},variant:"outlined",fullWidth:!0}),T.default.createElement(c.IconButton,{"aria-label":"delete",size:"medium",edge:"end",onClick:()=>{!function(e){o((t=>{const n=[...t];return n.splice(e,1),n}))}(t)}},T.default.createElement(lR,{fontSize:"inherit"}))))),T.default.createElement(c.IconButton,{"aria-label":"add",size:"medium",color:"secondary",edge:"start",onClick:function(){o((e=>{const t=[...e];return t.push(""),t}))}},T.default.createElement(uT,{fontSize:"inherit"})),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{color:"primary",variant:"contained",onClick:()=>{t(r.filter(Boolean))}},n?"Add":"Update"),T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:()=>{t()}},"Cancel")))}));function pT({values:e}){return T.default.createElement(T.default.Fragment,null,e?.map(((e,t)=>T.default.createElement(c.Typography,{key:`${t}.${e}`,variant:"body2",color:"textSecondary"},e))))}const hT=f.makeStyles()((e=>({list:{"li:nth-of-type(odd)":{backgroundColor:e.palette.action.focus},"li:nth-of-type(even)":{backgroundColor:e.palette.action.hover}}}))),mT=p.observer((function({assembly:e,editable:t,feature:r,session:o}){const{pluginManager:a}=n.getEnv(o),{classes:i}=hT(),[f,d]=u.useState(null),[p,h]=u.useState(null),[m,g]=u.useState(null),[y,v]=u.useState(!1),[b,_]=u.useState(),w=Boolean(f),{changeManager:S}=o.apolloDataStore,{notify:x}=o;function E(){d(null),h(null)}const{_id:k,attributes:A}=r,C=a.evaluateExtensionPoint("Apollo-AttributeEditorComponent",dT,{key:b});return T.default.createElement(T.default.Fragment,null,T.default.createElement(c.List,{className:i.list},s.entries(A).map((([n,i])=>{const s=a.evaluateExtensionPoint("Apollo-AttributeEditorComponent",dT,{key:n}),u=a.evaluateExtensionPoint("Apollo-AttributeViewerComponent",pT,{key:n});return T.default.createElement(c.ListItem,{key:n,secondaryAction:t&&!m?T.default.createElement(c.IconButton,{edge:"end",onClick:e=>{!function(e,t){d(e.currentTarget),h(t)}(e,n)}},T.default.createElement(nT,null)):null},T.default.createElement(c.ListItemText,{disableTypography:!0,primary:T.default.createElement(oT,{attributeKey:n}),secondary:m===n?T.default.createElement(s,{session:o,attributeValues:i,setAttribute:t=>{g(null),t&&function(t,n){const o={...l.getSnapshot(A)};if(!(t in o))return void x(`"${t}" not found in feature attributes`,"error");if(o[t].toString()===n.toString())return;o[t]=n;const a=new er.FeatureAttributeChange({changedIds:[r._id],typeName:"FeatureAttributeChange",assembly:e,featureId:r._id,attributes:o});S.submit(a)}(n,t)}}):T.default.createElement(u,{values:i})}))})),b?T.default.createElement(c.ListItem,null,T.default.createElement(c.ListItemText,{disableTypography:!0,primary:T.default.createElement(oT,{attributeKey:b}),secondary:T.default.createElement(C,{session:o,attributeValues:[],setAttribute:t=>{t&&function(t,n){const o={...l.getSnapshot(A)};if(t in o)return void x(`Feature already has attribute "${t}"`,"error");o[t]=n;const a=new er.FeatureAttributeChange({changedIds:[r._id],typeName:"FeatureAttributeChange",assembly:e,featureId:r._id,attributes:o});S.submit(a)}(b,t),_(void 0)},isNew:!0})})):null),t?T.default.createElement(c.Button,{color:"primary",variant:"contained",disabled:y||Boolean(b),onClick:()=>{v(!0)}},"Add new"):null,y?T.default.createElement(c.Paper,{variant:"outlined",style:{marginTop:8}},T.default.createElement(sT,{session:o,setKey:e=>{_(e),v(!1)}})):null,T.default.createElement(c.Menu,{anchorEl:f,open:w,onClose:E},T.default.createElement(c.MenuItem,{onClick:function(){p&&function(t){const n=l.getSnapshot(A),{[t]:r,...o}=n,a=new er.FeatureAttributeChange({changedIds:[k],typeName:"FeatureAttributeChange",assembly:e,featureId:k,attributes:o});S.submit(a)}(p),E()}},T.default.createElement(c.ListItemIcon,null,T.default.createElement(lR,{fontSize:"small"})),T.default.createElement(c.Typography,{variant:"inherit"},"Delete")),T.default.createElement(c.MenuItem,{onClick:function(){p&&g(p),E()}},T.default.createElement(c.ListItemIcon,null,T.default.createElement(QR,{fontSize:"small"})),T.default.createElement(c.Typography,{variant:"inherit"},"Edit"))))})),gT=p.observer((function({onChangeCommitted:e,value:t,...n}){const[r,o]=u.useState(String(t)),[a,i]=u.useState(!1),[s,l]=u.useState(null);u.useEffect((()=>{o(String(t))}),[t]),u.useEffect((()=>{a&&(s?.blur(),i(!1))}),[a,s]);const f=Number.isNaN(Number(r));return T.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)),i(!0))},onBlur:()=>{const n=Number(r);r!==String(t)&&(Number.isNaN(n)?o(String(t)):e(n))},inputRef:e=>{l(e)},error:f,helperText:f?"Not a valid number":void 0})})),yT=p.observer((function({assembly:e,feature:t,session:n}){const[r,o]=u.useState(""),[a,i]=u.useState(""),{_id:s,assemblyId:l,max:f,min:d,strand:p,type:h}=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 er.StrandChange({typeName:"StrandChange",changedIds:[s],featureId:s,oldStrand:p,newStrand:r,assembly:e});return g.submit(o)}return T.default.createElement("div",{"data-testid":"basic_information"},T.default.createElement(gT,{margin:"dense",id:"start",label:"Start",fullWidth:!0,variant:"outlined",value:d+1,onChangeCommitted:function(t){t--;const n=new er.LocationStartChange({typeName:"LocationStartChange",changedIds:[s],featureId:s,oldStart:d,newStart:t,assembly:e});return g.submit(n)}}),T.default.createElement(gT,{margin:"dense",id:"end",label:"End",fullWidth:!0,variant:"outlined",value:f,onChangeCommitted:function(t){const n=new er.LocationEndChange({typeName:"LocationEndChange",changedIds:[s],featureId:s,oldEnd:f,newEnd:t,assembly:e});return g.submit(n)}}),T.default.createElement($N,{session:n,ontologyName:"Sequence Ontology",value:h,filterTerms:HN,fetchValidTerms:async function(e,t,n){const r=await WN(e,t);if(r)return r;i(`Type "${e?.type}" does not have any children in the ontology`)}.bind(null,t),renderInput:e=>T.default.createElement(c.TextField,{...e,label:"Type",variant:"outlined",fullWidth:!0,error:Boolean(a),helperText:a}),onChange:(e,t)=>{t&&function(e){o("");const t=new er.TypeChange({typeName:"TypeChange",changedIds:[s],featureId:s,oldType:h,newType:e,assembly:l});return g.submit(t)}(t).catch(m)}}),T.default.createElement("label",null,T.default.createElement("input",{type:"radio",value:"1",checked:1===p,onChange:y}),"Positive Strand (+)"),T.default.createElement("label",null,T.default.createElement("input",{type:"radio",value:"-1",checked:-1===p,onChange:y}),"Negative Strand (-)"),T.default.createElement("label",null,T.default.createElement("input",{type:"radio",value:"",checked:void 0===p,onChange:y}),"No Strand Information"),r?T.default.createElement(c.Typography,{color:"error"},r):null)})),vT=p.observer((function(e){const{feature:t,model:n}=e,{children:r,parent:o}=t,a=[];if(r)for(const[,e]of r)a.push(e);return o??a.length>0?T.default.createElement("div",{style:{marginTop:10}},o&&T.default.createElement("div",null,T.default.createElement(c.Typography,{variant:"h6"},"Parent:"),T.default.createElement(c.Button,{variant:"contained",onClick:()=>{n.setFeature(o)}},o.type,_d(o)," (",o.min,"..",o.max,")")),a.length>0&&T.default.createElement("div",null,T.default.createElement(c.Typography,{variant:"h6"},1===a.length?"Child":"Children",":"),a.map((e=>T.default.createElement("div",{key:e._id,style:{marginBottom:5}},T.default.createElement(c.Button,{variant:"contained",onClick:()=>{n.setFeature(e)}},e.type,_d(e)," (",e.min,"..",e.max,")")))))):null})),bT=f.makeStyles()({sequence:{width:"100%",resize:"vertical"}}),_T=p.observer((function({assembly:e,feature:t,refName:n,session:r}){const o=r.apolloDataStore.assemblies.get(e),{classes:a}=bT();if(!t||!o)return null;const i=o.getByRefName(n);if(!i)return null;const{max:s,min:l}=t;let c=i.getSequence(l,s);return c?c=function(e,t,n,r,o){return`>${t}:${n+1}–${r}\n${e}`}(c,n,l,s):r.apolloDataStore.loadRefSeq([{assemblyName:e,refName:n,start:l,end:s}]),T.default.createElement("div",null,T.default.createElement("textarea",{readOnly:!0,rows:20,className:a.sequence,value:c}))})),wT=f.makeStyles()((e=>({root:{padding:e.spacing(2)}}))),ST=p.observer((function(e){const{model:t}=e,{assembly:r,feature:o,refName:a}=t,i=n.getSession(t),s=i.apolloDataStore.assemblies.get(r),{classes:l}=wT(),[f,d]=u.useState(["attributes"]);if(u.useEffect((()=>{d(["attributes"])}),[o]),!o||!s)return null;const p=s.getByRefName(a);if(!p)return null;const{max:h,min:m}=o;function g(e,t){d(e?[...f,t]:f.filter((e=>e!==t)))}return p.getSequence(m,h)||i.apolloDataStore.loadRefSeq([{assemblyName:r,refName:a,start:m,end:h}]),T.default.createElement("div",{className:l.root},T.default.createElement(yT,{feature:o,session:i,assembly:s._id}),T.default.createElement(c.Accordion,{style:{marginTop:10},expanded:f.includes("attributes"),onChange:(e,t)=>{g(t,"attributes")}},T.default.createElement(c.AccordionSummary,{expandIcon:T.default.createElement(KR,{style:{color:"white"}}),"aria-controls":"panel1-content",id:"panel1-header"},T.default.createElement(c.Typography,{component:"span"},"Attributes")),T.default.createElement(c.AccordionDetails,null,T.default.createElement(mT,{feature:o,session:i,assembly:s._id,editable:!0}))),T.default.createElement(c.Accordion,{style:{marginTop:10},expanded:f.includes("sequence"),onChange:(e,t)=>{g(t,"sequence")}},T.default.createElement(c.AccordionSummary,{expandIcon:T.default.createElement(KR,{style:{color:"white"}}),"aria-controls":"panel2-content",id:"panel2-header"},T.default.createElement(c.Typography,{component:"span"},"Sequence")),T.default.createElement(c.AccordionDetails,null,f.includes("sequence")&&T.default.createElement(_T,{feature:o,session:i,assembly:s._id,refName:a}))),T.default.createElement(c.Accordion,{style:{marginTop:10},expanded:f.includes("related_features"),onChange:(e,t)=>{g(t,"related_features")}},T.default.createElement(c.AccordionSummary,{expandIcon:T.default.createElement(KR,{style:{color:"white"}}),"aria-controls":"panel3-content",id:"panel3-header"},T.default.createElement(c.Typography,{component:"span"},"Related features")),T.default.createElement(c.AccordionDetails,null,T.default.createElement(vT,{model:t,feature:o}))))}));var xT={},ET={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.AnnotationFeatureModel=void 0;var t=C.default,n=R.default,r=xT,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=be(n);try{for(o.s();!(r=o.n()).done;){var a=fe(r.value,2);t=Math.min(t,a[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=be(n);try{for(o.s();!(r=o.n()).done;){var a=fe(r.value,2);t=Math.max(t,a[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=be(n);try{for(o.s();!(r=o.n()).done;){var a=fe(r.value,2);if(a[0]===t)return!0;if(a[1].hasDescendant(t))return!0}}catch(e){o.e(e)}finally{o.f()}return!1},get transcriptExonParts(){var n=(0,t.getSession)(e).apolloDataStore.ontologyManager.featureTypeOntology;if(!n.isTypeOf(e.type,"transcript"))throw new Error("Feature is not a transcript or equivalent, cannot calculate exon locations");var r=e.children;if(!r)throw new Error("No exons in transcript");var o,a=pe(r.values()).filter((function(e){return n.isTypeOf(e.type,"exon")})).sort((function(e,t){return e.min-t.min})),i=e.min,s=[],l=be(a);try{for(l.s();!(o=l.n()).done;){var c=o.value;c.min>i&&s.push({min:i,max:c.min,type:"intron"}),s.push({min:c.min,max:c.max,type:"exon"}),i=c.max}}catch(e){l.e(e)}finally{l.f()}return i<e.max&&s.push({min:i,max:e.max,type:"intron"}),-1===e.strand&&s.reverse(),s},get transcriptParts(){var n=(0,t.getSession)(e).apolloDataStore.ontologyManager.featureTypeOntology;if(!n.isTypeOf(e.type,"transcript"))throw new Error('Only features of type "transcript" or equivalent can calculate CDS locations');var r=e.children;if(!r)throw new Error("no CDS or exons in transcript");var o=pe(r.values()).filter((function(e){return n.isTypeOf(e.type,"CDS")})),a=[];if(0===o.length)return a.push(this.transcriptExonParts),a;var i,s=be(o);try{var l=function(){var o,s=i.value,l=s.max,c=s.min,u=[],f=!1,d=[],p=be(r);try{for(p.s();!(o=p.n()).done;){var h=fe(o.value,2)[1];n.isTypeOf(h.type,"exon")&&d.push({min:h.min,max:h.max})}}catch(e){p.e(e)}finally{p.f()}d.sort((function(e,t){return e.min-t.min}));for(var m=0,g=d;m<g.length;m++){var y=g[m],v=u.at(-1);v&&u.push({min:v.max,max:y.min,type:"intron"});var b,_=fe((0,t.intersection2)(c,l,y.min,y.max),2),w=_[0],S=_[1];b=f?1===e.strand?"threePrimeUTR":"fivePrimeUTR":1===e.strand?"fivePrimeUTR":"threePrimeUTR",void 0!==w&&void 0!==S?(f=!0,w===y.min&&S===y.max?u.push({min:w,max:S,phase:0,type:"CDS"}):w===y.min?u.push({min:w,max:S,phase:0,type:"CDS"},{min:S,max:y.max,type:b}):S===y.max?u.push({min:y.min,max:w,type:b},{min:w,max:S,phase:0,type:"CDS"}):u.push({min:y.min,max:w,type:b},{min:w,max:S,phase:0,type:"CDS"},{min:S,max:y.max,type:"fivePrimeUTR"===b?"threePrimeUTR":"fivePrimeUTR"})):u.push({min:y.min,max:y.max,type:b})}u.sort((function(e,t){return e.min-t.min})),-1===e.strand&&u.reverse();var x=0,E=u.map((function(e){if("CDS"!==e.type)return e;var t=x;return x=(3-(e.max-e.min-t+3)%3)%3,V(V({},e),{},{phase:t})}));a.push(E)};for(s.s();!(i=s.n()).done;)l()}catch(e){s.e(e)}finally{s.f()}return a}}})).views((function(e){return{get cdsLocations(){return e.transcriptParts.map((function(e){return e.filter((function(e){return"CDS"===e.type}))}))},get looksLikeGene(){var n=(0,t.getSession)(e).apolloDataStore.ontologyManager.featureTypeOntology;if(!n)return!1;var r=e.children;if(null==r||!r.size)return!1;if(!n.isTypeOf(e.type,"gene")&&!n.isTypeOf(e.type,"pseudogene"))return!1;var o,a=be(r);try{for(a.s();!(o=a.n()).done;){var i=fe(o.value,2)[1];if(n.isTypeOf(i.type,"transcript")||n.isTypeOf(i.type,"pseudogenic_transcript")){var s=i.children;return!(null==s||!s.size)&&pe(s.values()).some((function(e){return n.isTypeOf(e.type,"exon")}))}}}catch(e){a.e(e)}finally{a.f()}return!1}}})).actions((function(e){return{setAttributes:function(t){e.attributes.clear();var n,r=be(t.entries());try{for(r.s();!(n=r.n()).done;){var o=fe(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(te({},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,a=be(Object.entries(V(V({},r),{},te({},t._id,t))).sort((function(e,t){var n=fe(e,2)[1],r=fe(t,2);return n.min-r[1].min})));try{for(a.s();!(o=a.n()).done;){var i=fe(o.value,2);e.children.put(i[1])}}catch(e){a.e(e)}finally{a.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,a=t.min,i=t.strand;e.setRefSeq(t.refSeq),e.setMin(a),e.setMax(o),e.setStrand(i),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}}}))}(ET);var kT={},AT={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ApolloRefSeq=e.Sequence=void 0;var t=C.default,n=R.default,r=ET;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: ".concat(JSON.stringify(t)));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?e.stop-t.stop:e.start-t.start}));var o,a=r.reduce((function(e,t){var n=e.at(-1);if(void 0===n)return[t];if(n.stop>=t.start){if(t.stop>n.stop){var r=n.stop-t.start;n.stop=t.stop,n.sequence+=t.sequence.slice(r)}}else e.push(t);return e}),[]),i=be(a);try{for(i.s();!(o=i.n()).done;){var s=o.value;if(s.sequence.length!==s.stop-s.start)throw new Error("Consolidated sequence does not match declared length")}}catch(e){i.e(e)}finally{i.f()}e.sequence.length===a.length&&e.sequence.every((function(e,t){return e.start===a[t].start&&e.stop===a[t].stop}))||(e.sequence.clear(),(n=e.sequence).push.apply(n,pe(a)))}else e.sequence.push(t)}}})).views((function(e){return{getSequence:function(n,r){var o,a=be(e.sequence);try{for(a.s();!(o=a.n()).done;){var i=o.value,s=i.sequence,l=i.start;if((0,t.isContainedWithin)(n,r,l,i.stop))return s.slice(n-l,r-l)}}catch(e){a.e(e)}finally{a.f()}return""}}}))}(AT),Object.defineProperty(kT,"__esModule",{value:!0}),kT.ApolloAssembly=void 0;var CT=R.default;kT.ApolloAssembly=CT.types.model("ApolloAssembly",{_id:CT.types.identifier,refSeqs:CT.types.map(AT.ApolloRefSeq),comments:CT.types.array(CT.types.string),backendDriverType:CT.types.optional(CT.types.enumeration("backendDriverType",["CollaborationServerDriver","InMemoryFileDriver","DesktopFileDriver"]),"CollaborationServerDriver")}).views((function(e){return{getByRefName:function(t){return pe(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 OT={};Object.defineProperty(OT,"__esModule",{value:!0}),OT.CheckResult=void 0;var NT=R.default;OT.CheckResult=NT.types.model("CheckResult",{_id:NT.types.identifier,name:NT.types.string,cause:NT.types.string,ids:NT.types.array(NT.types.safeReference(ET.AnnotationFeatureModel)),refSeq:NT.types.string,start:NT.types.number,end:NT.types.number,ignored:!1,message:NT.types.string}),function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=Xe;t.__exportStar(ET,e),t.__exportStar(kT,e),t.__exportStar(AT,e),t.__exportStar(OT,e)}(xT);const RT=l.types.model("ApolloFeatureDetailsWidget",{id:h.ElementId,type:l.types.literal("ApolloFeatureDetailsWidget"),feature:l.types.maybe(l.types.reference(xT.AnnotationFeatureModel,{onInvalidated(e){e.parent.setTryReload(e.invalidId),e.removeRef()}})),assembly:l.types.string,refName:l.types.string}).volatile((()=>({tryReload:void 0}))).actions((e=>({setFeature(t){e.feature=t},setTryReload(t){e.tryReload=t}}))).actions((e=>({afterAttach(){l.addDisposer(e,s.autorun((t=>{if(!e.tryReload)return;const r=n.getSession(e),{apolloDataStore:o}=r;if(!o)return;const a=o.getFeature(e.tryReload);a&&(e.setFeature(a),e.setTryReload(),t.dispose())})))}}))),TT=l.types.model("ApolloTranscriptDetails",{id:h.ElementId,type:l.types.literal("ApolloTranscriptDetails"),feature:l.types.maybe(l.types.reference(xT.AnnotationFeatureModel,{onInvalidated(e){e.parent.setTryReload(e.invalidId),e.removeRef()}})),assembly:l.types.string,refName:l.types.string}).volatile((()=>({tryReload:void 0}))).actions((e=>({setFeature(t){e.feature=t},setTryReload(t){e.tryReload=t}}))).actions((e=>({afterAttach(){l.addDisposer(e,s.autorun((t=>{if(!e.tryReload)return;const r=n.getSession(e),{apolloDataStore:o}=r;if(!o)return;const a=o.getFeature(e.tryReload);a&&(e.setFeature(a),e.setTryReload(),t.dispose())})))}})));function IT(){return IT=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},IT.apply(this,arguments)}function PT(e){var t=Object.create(null);return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}}var MT=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,FT=PT((function(e){return MT.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91})),jT=function(){function e(e){var t=this;this._insertTag=function(e){t.container.insertBefore(e,0===t.tags.length?t.insertionPoint?t.insertionPoint.nextSibling:t.prepend?t.container.firstChild:t.before:t.tags[t.tags.length-1].nextSibling),t.tags.push(e)},this.isSpeedy=void 0===e.speedy?"production"===Dt.env.NODE_ENV:e.speedy,this.tags=[],this.ctr=0,this.nonce=e.nonce,this.key=e.key,this.container=e.container,this.prepend=e.prepend,this.insertionPoint=e.insertionPoint,this.before=null}var t=e.prototype;return t.hydrate=function(e){e.forEach(this._insertTag)},t.insert=function(e){this.ctr%(this.isSpeedy?65e3:1)==0&&this._insertTag(function(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key),void 0!==e.nonce&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t}(this));var t=this.tags[this.tags.length-1];if("production"!==Dt.env.NODE_ENV){var n=64===e.charCodeAt(0)&&105===e.charCodeAt(1);n&&this._alreadyInsertedOrderInsensitiveRule&&console.error("You're attempting to insert the following rule:\n"+e+"\n\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules."),this._alreadyInsertedOrderInsensitiveRule=this._alreadyInsertedOrderInsensitiveRule||!n}if(this.isSpeedy){var r=function(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]}(t);try{r.insertRule(e,r.cssRules.length)}catch(t){"production"===Dt.env.NODE_ENV||/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(e)||console.error('There was a problem inserting the following rule: "'+e+'"',t)}}else t.appendChild(document.createTextNode(e));this.ctr++},t.flush=function(){this.tags.forEach((function(e){return e.parentNode&&e.parentNode.removeChild(e)})),this.tags=[],this.ctr=0,"production"!==Dt.env.NODE_ENV&&(this._alreadyInsertedOrderInsensitiveRule=!1)},e}(),DT="-ms-",LT="-moz-",qT="-webkit-",BT="comm",UT="rule",zT="decl",HT="@keyframes",GT=Math.abs,WT=String.fromCharCode,$T=Object.assign;function VT(e){return e.trim()}function JT(e,t,n){return e.replace(t,n)}function YT(e,t){return e.indexOf(t)}function KT(e,t){return 0|e.charCodeAt(t)}function ZT(e,t,n){return e.slice(t,n)}function XT(e){return e.length}function QT(e){return e.length}function eI(e,t){return t.push(e),e}var tI=1,nI=1,rI=0,oI=0,aI=0,iI="";function sI(e,t,n,r,o,a,i){return{value:e,root:t,parent:n,type:r,props:o,children:a,line:tI,column:nI,length:i,return:""}}function lI(e,t){return $T(sI("",null,null,"",null,null,0),e,{length:-e.length},t)}function cI(){return aI=oI>0?KT(iI,--oI):0,nI--,10===aI&&(nI=1,tI--),aI}function uI(){return aI=oI<rI?KT(iI,oI++):0,nI++,10===aI&&(nI=1,tI++),aI}function fI(){return KT(iI,oI)}function dI(){return oI}function pI(e,t){return ZT(iI,e,t)}function hI(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function mI(e){return tI=nI=1,rI=XT(iI=e),oI=0,[]}function gI(e){return iI="",e}function yI(e){return VT(pI(oI-1,_I(91===e?e+2:40===e?e+1:e)))}function vI(e){for(;(aI=fI())&&aI<33;)uI();return hI(e)>2||hI(aI)>3?"":" "}function bI(e,t){for(;--t&&uI()&&!(aI<48||aI>102||aI>57&&aI<65||aI>70&&aI<97););return pI(e,dI()+(t<6&&32==fI()&&32==uI()))}function _I(e){for(;uI();)switch(aI){case e:return oI;case 34:case 39:34!==e&&39!==e&&_I(aI);break;case 40:41===e&&_I(e);break;case 92:uI()}return oI}function wI(e,t){for(;uI()&&e+aI!==57&&(e+aI!==84||47!==fI()););return"/*"+pI(t,oI-1)+"*"+WT(47===e?e:uI())}function SI(e){for(;!hI(fI());)uI();return pI(e,oI)}function xI(e){return gI(EI("",null,null,null,[""],e=mI(e),0,[0],e))}function EI(e,t,n,r,o,a,i,s,l){for(var c=0,u=0,f=i,d=0,p=0,h=0,m=1,g=1,y=1,v=0,b="",_=o,w=a,S=r,x=b;g;)switch(h=v,v=uI()){case 40:if(108!=h&&58==KT(x,f-1)){-1!=YT(x+=JT(yI(v),"&","&\f"),"&\f")&&(y=-1);break}case 34:case 39:case 91:x+=yI(v);break;case 9:case 10:case 13:case 32:x+=vI(h);break;case 92:x+=bI(dI()-1,7);continue;case 47:switch(fI()){case 42:case 47:eI(AI(wI(uI(),dI()),t,n),l);break;default:x+="/"}break;case 123*m:s[c++]=XT(x)*y;case 125*m:case 59:case 0:switch(v){case 0:case 125:g=0;case 59+u:-1==y&&(x=JT(x,/\f/g,"")),p>0&&XT(x)-f&&eI(p>32?CI(x+";",r,n,f-1):CI(JT(x," ","")+";",r,n,f-2),l);break;case 59:x+=";";default:if(eI(S=kI(x,t,n,c,u,o,s,b,_=[],w=[],f),a),123===v)if(0===u)EI(x,t,S,S,_,a,f,s,w);else switch(99===d&&110===KT(x,3)?100:d){case 100:case 108:case 109:case 115:EI(e,S,S,r&&eI(kI(e,S,S,0,0,o,s,b,o,_=[],f),w),o,w,f,s,r?_:w);break;default:EI(x,S,S,S,[""],w,0,s,w)}}c=u=p=0,m=y=1,b=x="",f=i;break;case 58:f=1+XT(x),p=h;default:if(m<1)if(123==v)--m;else if(125==v&&0==m++&&125==cI())continue;switch(x+=WT(v),v*m){case 38:y=u>0?1:(x+="\f",-1);break;case 44:s[c++]=(XT(x)-1)*y,y=1;break;case 64:45===fI()&&(x+=yI(uI())),d=fI(),u=f=XT(b=x+=SI(dI())),v++;break;case 45:45===h&&2==XT(x)&&(m=0)}}return a}function kI(e,t,n,r,o,a,i,s,l,c,u){for(var f=o-1,d=0===o?a:[""],p=QT(d),h=0,m=0,g=0;h<r;++h)for(var y=0,v=ZT(e,f+1,f=GT(m=i[h])),b=e;y<p;++y)(b=VT(m>0?d[y]+" "+v:JT(v,/&\f/g,d[y])))&&(l[g++]=b);return sI(e,t,n,0===o?UT:s,l,c,u)}function AI(e,t,n){return sI(e,t,n,BT,WT(aI),ZT(e,2,-2),0)}function CI(e,t,n,r){return sI(e,t,n,zT,ZT(e,0,r),ZT(e,r+1,-1),r)}function OI(e,t){for(var n="",r=QT(e),o=0;o<r;o++)n+=t(e[o],o,e,t)||"";return n}function NI(e,t,n,r){switch(e.type){case"@layer":if(e.children.length)break;case"@import":case zT:return e.return=e.return||e.value;case BT:return"";case HT:return e.return=e.value+"{"+OI(e.children,r)+"}";case UT:e.value=e.props.join(",")}return XT(n=OI(e.children,r))?e.return=e.value+"{"+n+"}":""}var RI=function(e,t,n){for(var r=0,o=0;r=o,o=fI(),38===r&&12===o&&(t[n]=1),!hI(o);)uI();return pI(e,oI)},TI=new WeakMap,II=function(e){if("rule"===e.type&&e.parent&&!(e.length<1)){for(var t=e.value,n=e.parent,r=e.column===n.column&&e.line===n.line;"rule"!==n.type;)if(!(n=n.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||TI.get(n))&&!r){TI.set(e,!0);for(var o=[],a=function(e,t){return gI(function(e,t){var n=-1,r=44;do{switch(hI(r)){case 0:38===r&&12===fI()&&(t[n]=1),e[n]+=RI(oI-1,t,n);break;case 2:e[n]+=yI(r);break;case 4:if(44===r){e[++n]=58===fI()?"&\f":"",t[n]=e[n].length;break}default:e[n]+=WT(r)}}while(r=uI());return e}(mI(e),t))}(t,o),i=n.props,s=0,l=0;s<a.length;s++)for(var c=0;c<i.length;c++,l++)e.props[l]=o[s]?a[s].replace(/&\f/g,i[c]):i[c]+" "+a[s]}}},PI=function(e){if("decl"===e.type){var t=e.value;108===t.charCodeAt(0)&&98===t.charCodeAt(2)&&(e.return="",e.value="")}},MI=function(e){return"comm"===e.type&&e.children.indexOf("emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason")>-1},FI=function(e){return 105===e.type.charCodeAt(1)&&64===e.type.charCodeAt(0)},jI=function(e){e.type="",e.value="",e.return="",e.children="",e.props=""},DI=function(e,t,n){FI(e)&&(e.parent?(console.error("`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles."),jI(e)):function(e,t){for(var n=e-1;n>=0;n--)if(!FI(t[n]))return!0;return!1}(t,n)&&(console.error("`@import` rules can't be after other rules. Please put your `@import` rules before your other rules."),jI(e)))};function LI(e,t){switch(function(e,t){return 45^KT(e,0)?(((t<<2^KT(e,0))<<2^KT(e,1))<<2^KT(e,2))<<2^KT(e,3):0}(e,t)){case 5103:return qT+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return qT+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return qT+e+LT+e+DT+e+e;case 6828:case 4268:return qT+e+DT+e+e;case 6165:return qT+e+DT+"flex-"+e+e;case 5187:return qT+e+JT(e,/(\w+).+(:[^]+)/,qT+"box-$1$2"+DT+"flex-$1$2")+e;case 5443:return qT+e+DT+"flex-item-"+JT(e,/flex-|-self/,"")+e;case 4675:return qT+e+DT+"flex-line-pack"+JT(e,/align-content|flex-|-self/,"")+e;case 5548:return qT+e+DT+JT(e,"shrink","negative")+e;case 5292:return qT+e+DT+JT(e,"basis","preferred-size")+e;case 6060:return qT+"box-"+JT(e,"-grow","")+qT+e+DT+JT(e,"grow","positive")+e;case 4554:return qT+JT(e,/([^-])(transform)/g,"$1"+qT+"$2")+e;case 6187:return JT(JT(JT(e,/(zoom-|grab)/,qT+"$1"),/(image-set)/,qT+"$1"),e,"")+e;case 5495:case 3959:return JT(e,/(image-set\([^]*)/,qT+"$1$`$1");case 4968:return JT(JT(e,/(.+:)(flex-)?(.*)/,qT+"box-pack:$3"+DT+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+qT+e+e;case 4095:case 3583:case 4068:case 2532:return JT(e,/(.+)-inline(.+)/,qT+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(XT(e)-1-t>6)switch(KT(e,t+1)){case 109:if(45!==KT(e,t+4))break;case 102:return JT(e,/(.+:)(.+)-([^]+)/,"$1"+qT+"$2-$3$1"+LT+(108==KT(e,t+3)?"$3":"$2-$3"))+e;case 115:return~YT(e,"stretch")?LI(JT(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==KT(e,t+1))break;case 6444:switch(KT(e,XT(e)-3-(~YT(e,"!important")&&10))){case 107:return JT(e,":",":"+qT)+e;case 101:return JT(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+qT+(45===KT(e,14)?"inline-":"")+"box$3$1"+qT+"$2$3$1"+DT+"$2box$3")+e}break;case 5936:switch(KT(e,t+11)){case 114:return qT+e+DT+JT(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return qT+e+DT+JT(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return qT+e+DT+JT(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return qT+e+DT+e+e}return e}var qI=[function(e,t,n,r){if(e.length>-1&&!e.return)switch(e.type){case zT:e.return=LI(e.value,e.length);break;case HT:return OI([lI(e,{value:JT(e.value,"@","@"+qT)})],r);case UT:if(e.length)return function(e,t){return e.map(t).join("")}(e.props,(function(t){switch(function(e,t){return(e=/(::plac\w+|:read-\w+)/.exec(e))?e[0]:e}(t)){case":read-only":case":read-write":return OI([lI(e,{props:[JT(t,/:(read-\w+)/,":-moz-$1")]})],r);case"::placeholder":return OI([lI(e,{props:[JT(t,/:(plac\w+)/,":"+qT+"input-$1")]}),lI(e,{props:[JT(t,/:(plac\w+)/,":-moz-$1")]}),lI(e,{props:[JT(t,/:(plac\w+)/,DT+"input-$1")]})],r)}return""}))}}],BI=function(e){var t=e.key;if("production"!==Dt.env.NODE_ENV&&!t)throw new Error("You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\nIf multiple caches share the same key they might \"fight\" for each other's style elements.");if("css"===t){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,(function(e){-1!==e.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(e),e.setAttribute("data-s",""))}))}var r=e.stylisPlugins||qI;if("production"!==Dt.env.NODE_ENV&&/[^a-z-]/.test(t))throw new Error('Emotion key must only contain lower case alphabetical characters and - but "'+t+'" was passed');var o,a,i={},s=[];o=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),(function(e){for(var t=e.getAttribute("data-emotion").split(" "),n=1;n<t.length;n++)i[t[n]]=!0;s.push(e)}));var l=[II,PI];"production"!==Dt.env.NODE_ENV&&l.push(function(e){return function(t,n,r){if("rule"===t.type&&!e.compat){var o=t.value.match(/(:first|:nth|:nth-last)-child/g);if(o){for(var a=t.parent?t.parent.children:r,i=a.length-1;i>=0;i--){var s=a[i];if(s.line<t.line)break;if(s.column<t.column){if(MI(s))return;break}}o.forEach((function(e){console.error('The pseudo class "'+e+'" is potentially unsafe when doing server-side rendering. Try changing it to "'+e.split("-child")[0]+'-of-type".')}))}}}}({get compat(){return p.compat}}),DI);var c,u,f=[NI,"production"!==Dt.env.NODE_ENV?function(e){e.root||(e.return?c.insert(e.return):e.value&&e.type!==BT&&c.insert(e.value+"{}"))}:(u=function(e){c.insert(e)},function(e){e.root||(e=e.return)&&u(e)})],d=function(e){var t=QT(e);return function(n,r,o,a){for(var i="",s=0;s<t;s++)i+=e[s](n,r,o,a)||"";return i}}(l.concat(r,f));a=function(e,t,n,r){c=n,"production"!==Dt.env.NODE_ENV&&void 0!==t.map&&(c={insert:function(e){n.insert(e+t.map)}}),OI(xI(e?e+"{"+t.styles+"}":t.styles),d),r&&(p.inserted[t.name]=!0)};var p={key:t,sheet:new jT({key:t,container:o,nonce:e.nonce,speedy:e.speedy,prepend:e.prepend,insertionPoint:e.insertionPoint}),nonce:e.nonce,inserted:i,registered:{},insert:a};return p.sheet.hydrate(s),p};function UI(e,t,n){var r="";return n.split(" ").forEach((function(n){void 0!==e[n]?t.push(e[n]+";"):r+=n+" "})),r}var zI=function(e,t,n){var r=e.key+"-"+t.name;!1===n&&void 0===e.registered[r]&&(e.registered[r]=t.styles)},HI=function(e,t,n){zI(e,t,n);var r=e.key+"-"+t.name;if(void 0===e.inserted[t.name]){var o=t;do{e.insert(t===o?"."+r:"",o,e.sheet,!0),o=o.next}while(void 0!==o)}},GI={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},WI="You have illegal escape sequence in your template literal, most likely inside content's property value.\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \"content: '\\00d7';\" should become \"content: '\\\\00d7';\".\nYou can read more about this here:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences",$I=/[A-Z]|^ms/g,VI=/_EMO_([^_]+?)_([^]*?)_EMO_/g,JI=function(e){return 45===e.charCodeAt(1)},YI=function(e){return null!=e&&"boolean"!=typeof e},KI=PT((function(e){return JI(e)?e:e.replace($I,"-$&").toLowerCase()})),ZI=function(e,t){switch(e){case"animation":case"animationName":if("string"==typeof t)return t.replace(VI,(function(e,t,n){return sP={name:t,styles:n,next:sP},t}))}return 1===GI[e]||JI(e)||"number"!=typeof t||0===t?t:t+"px"};if("production"!==Dt.env.NODE_ENV){var XI=/(var|attr|counters?|url|element|(((repeating-)?(linear|radial))|conic)-gradient)\(|(no-)?(open|close)-quote/,QI=["normal","none","initial","inherit","unset"],eP=ZI,tP=/^-ms-/,nP=/-(.)/g,rP={};ZI=function(e,t){if("content"===e&&("string"!=typeof t||-1===QI.indexOf(t)&&!XI.test(t)&&(t.charAt(0)!==t.charAt(t.length-1)||'"'!==t.charAt(0)&&"'"!==t.charAt(0))))throw new Error("You seem to be using a value for 'content' without quotes, try replacing it with `content: '\""+t+"\"'`");var n=eP(e,t);return""===n||JI(e)||-1===e.indexOf("-")||void 0!==rP[e]||(rP[e]=!0,console.error("Using kebab-case for css properties in objects is not supported. Did you mean "+e.replace(tP,"ms-").replace(nP,(function(e,t){return t.toUpperCase()}))+"?")),n}}var oP="Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.";function aP(e,t,n){if(null==n)return"";if(void 0!==n.__emotion_styles){if("production"!==Dt.env.NODE_ENV&&"NO_COMPONENT_SELECTOR"===n.toString())throw new Error(oP);return n}switch(Y(n)){case"boolean":return"";case"object":if(1===n.anim)return sP={name:n.name,styles:n.styles,next:sP},n.name;if(void 0!==n.styles){var r=n.next;if(void 0!==r)for(;void 0!==r;)sP={name:r.name,styles:r.styles,next:sP},r=r.next;var o=n.styles+";";return"production"!==Dt.env.NODE_ENV&&void 0!==n.map&&(o+=n.map),o}return function(e,t,n){var r="";if(Array.isArray(n))for(var o=0;o<n.length;o++)r+=aP(e,t,n[o])+";";else for(var a in n){var i=n[a];if("object"!==Y(i))null!=t&&void 0!==t[i]?r+=a+"{"+t[i]+"}":YI(i)&&(r+=KI(a)+":"+ZI(a,i)+";");else{if("NO_COMPONENT_SELECTOR"===a&&"production"!==Dt.env.NODE_ENV)throw new Error(oP);if(!Array.isArray(i)||"string"!=typeof i[0]||null!=t&&void 0!==t[i[0]]){var s=aP(e,t,i);switch(a){case"animation":case"animationName":r+=KI(a)+":"+s+";";break;default:"production"!==Dt.env.NODE_ENV&&"undefined"===a&&console.error("You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key)."),r+=a+"{"+s+"}"}}else for(var l=0;l<i.length;l++)YI(i[l])&&(r+=KI(a)+":"+ZI(a,i[l])+";")}}return r}(e,t,n);case"function":if(void 0!==e){var a=sP,i=n(e);return sP=a,aP(e,t,i)}"production"!==Dt.env.NODE_ENV&&console.error("Functions that are interpolated in css calls will be stringified.\nIf you want to have a css call based on props, create a function that returns a css call like this\nlet dynamicStyle = (props) => css`color: ${props.color}`\nIt can be called directly with props or interpolated in a styled call like this\nlet SomeComponent = styled('div')`${dynamicStyle}`");break;case"string":if("production"!==Dt.env.NODE_ENV){var s=[],l=n.replace(VI,(function(e,t,n){var r="animation"+s.length;return s.push("const "+r+" = keyframes`"+n.replace(/^@keyframes animation-\w+/,"")+"`"),"${"+r+"}"}));s.length&&console.error("`keyframes` output got interpolated into plain string, please wrap it with `css`.\n\nInstead of doing this:\n\n"+[].concat(s,["`"+l+"`"]).join("\n")+"\n\nYou should wrap it with `css` like this:\n\ncss`"+l+"`")}}if(null==t)return n;var c=t[n];return void 0!==c?c:n}var iP,sP,lP=/label:\s*([^\s;\n{]+)\s*(;|$)/g;"production"!==Dt.env.NODE_ENV&&(iP=/\/\*#\ssourceMappingURL=data:application\/json;\S+\s+\*\//g);var cP=function(e,t,n){if(1===e.length&&"object"===Y(e[0])&&null!==e[0]&&void 0!==e[0].styles)return e[0];var r=!0,o="";sP=void 0;var a,i=e[0];null==i||void 0===i.raw?(r=!1,o+=aP(n,t,i)):("production"!==Dt.env.NODE_ENV&&void 0===i[0]&&console.error(WI),o+=i[0]);for(var s=1;s<e.length;s++)o+=aP(n,t,e[s]),r&&("production"!==Dt.env.NODE_ENV&&void 0===i[s]&&console.error(WI),o+=i[s]);"production"!==Dt.env.NODE_ENV&&(o=o.replace(iP,(function(e){return a=e,""}))),lP.lastIndex=0;for(var l,c="";null!==(l=lP.exec(o));)c+="-"+l[1];var u=function(e){for(var t,n=0,r=0,o=e.length;o>=4;++r,o-=4)t=1540483477*(65535&(t=255&e.charCodeAt(r)|(255&e.charCodeAt(++r))<<8|(255&e.charCodeAt(++r))<<16|(255&e.charCodeAt(++r))<<24))+(59797*(t>>>16)<<16),n=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&n)+(59797*(n>>>16)<<16);switch(o){case 3:n^=(255&e.charCodeAt(r+2))<<16;case 2:n^=(255&e.charCodeAt(r+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(r)))+(59797*(n>>>16)<<16)}return(((n=1540483477*(65535&(n^=n>>>13))+(59797*(n>>>16)<<16))^n>>>15)>>>0).toString(36)}(o)+c;return"production"!==Dt.env.NODE_ENV?{name:u,styles:o,map:a,next:sP,toString:function(){return"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."}}:{name:u,styles:o,next:sP}},uP=!!I.useInsertionEffect&&I.useInsertionEffect||function(e){return e()},fP={}.hasOwnProperty,dP=I.createContext("undefined"!=typeof HTMLElement?BI({key:"css"}):null);"production"!==Dt.env.NODE_ENV&&(dP.displayName="EmotionCacheContext");var pP=function(e){return u.forwardRef((function(t,n){var r=u.useContext(dP);return e(t,r,n)}))},hP=I.createContext({});"production"!==Dt.env.NODE_ENV&&(hP.displayName="EmotionThemeContext");var mP="__EMOTION_TYPE_PLEASE_DO_NOT_USE__",gP="__EMOTION_LABEL_PLEASE_DO_NOT_USE__",yP=function(e){var t=e.cache,n=e.serialized,r=e.isStringTag;return zI(t,n,r),uP((function(){return HI(t,n,r)})),null},vP=pP((function(e,t,n){var r=e.css;"string"==typeof r&&void 0!==t.registered[r]&&(r=t.registered[r]);var o=e[mP],a=[r],i="";"string"==typeof e.className?i=UI(t.registered,a,e.className):null!=e.className&&(i=e.className+" ");var s=cP(a,void 0,I.useContext(hP));if("production"!==Dt.env.NODE_ENV&&-1===s.name.indexOf("-")){var l=e[gP];l&&(s=cP([s,"label:"+l+";"]))}i+=t.key+"-"+s.name;var c={};for(var u in e)!fP.call(e,u)||"css"===u||u===mP||"production"!==Dt.env.NODE_ENV&&u===gP||(c[u]=e[u]);return c.ref=n,c.className=i,I.createElement(I.Fragment,null,I.createElement(yP,{cache:t,serialized:s,isStringTag:"string"==typeof o}),I.createElement(o,c))}));"production"!==Dt.env.NODE_ENV&&(vP.displayName="EmotionCssPropInternal");var bP=FT,_P=function(e){return"theme"!==e},wP=function(e){return"string"==typeof e&&e.charCodeAt(0)>96?bP:_P},SP=function(e,t,n){var r;if(t){var o=t.shouldForwardProp;r=e.__emotion_forwardProp&&o?function(t){return e.__emotion_forwardProp(t)&&o(t)}:o}return"function"!=typeof r&&n&&(r=e.__emotion_forwardProp),r},xP="You have illegal escape sequence in your template literal, most likely inside content's property value.\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \"content: '\\00d7';\" should become \"content: '\\\\00d7';\".\nYou can read more about this here:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences",EP=function(e){var t=e.cache,n=e.serialized,r=e.isStringTag;return zI(t,n,r),uP((function(){return HI(t,n,r)})),null},kP=function e(t,n){if("production"!==Dt.env.NODE_ENV&&void 0===t)throw new Error("You are trying to create a styled element with an undefined component.\nYou may have forgotten to import it.");var r,o,a=t.__emotion_real===t,i=a&&t.__emotion_base||t;void 0!==n&&(r=n.label,o=n.target);var s=SP(t,n,a),l=s||wP(i),c=!l("as");return function(){var u=arguments,f=a&&void 0!==t.__emotion_styles?t.__emotion_styles.slice(0):[];if(void 0!==r&&f.push("label:"+r+";"),null==u[0]||void 0===u[0].raw)f.push.apply(f,u);else{"production"!==Dt.env.NODE_ENV&&void 0===u[0][0]&&console.error(xP),f.push(u[0][0]);for(var d=u.length,p=1;p<d;p++)"production"!==Dt.env.NODE_ENV&&void 0===u[0][p]&&console.error(xP),f.push(u[p],u[0][p])}var h=pP((function(e,t,n){var r=c&&e.as||i,a="",u=[],d=e;if(null==e.theme){for(var p in d={},e)d[p]=e[p];d.theme=I.useContext(hP)}"string"==typeof e.className?a=UI(t.registered,u,e.className):null!=e.className&&(a=e.className+" ");var h=cP(f.concat(u),t.registered,d);a+=t.key+"-"+h.name,void 0!==o&&(a+=" "+o);var m=c&&void 0===s?wP(r):l,g={};for(var y in e)c&&"as"===y||m(y)&&(g[y]=e[y]);return g.className=a,g.ref=n,I.createElement(I.Fragment,null,I.createElement(EP,{cache:t,serialized:h,isStringTag:"string"==typeof r}),I.createElement(r,g))}));return h.displayName=void 0!==r?r:"Styled("+("string"==typeof i?i:i.displayName||i.name||"Component")+")",h.defaultProps=t.defaultProps,h.__emotion_real=h,h.__emotion_base=i,h.__emotion_styles=f,h.__emotion_forwardProp=s,Object.defineProperty(h,"toString",{value:function(){return void 0===o&&"production"!==Dt.env.NODE_ENV?"NO_COMPONENT_SELECTOR":"."+o}}),h.withComponent=function(t,r){return e(t,IT({},n,r,{shouldForwardProp:SP(h,r,!0)})).apply(void 0,f)},h}}.bind();["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"].forEach((function(e){kP[e]=kP(e)}));const AP=60;function CP(e,t,r){const o=[],{cdsLocations:a,strand:i,transcriptParts:s}=t;switch(e){case"genomic":case"cDNA":{const[t]=s;for(const a of t){if("cDNA"===e&&"intron"===a.type)continue;let t=r(a.min,a.max);-1===i&&(t=n.revcom(t));const s="fivePrimeUTR"===a.type||"threePrimeUTR"===a.type?"UTR":a.type,l=o.at(-1);if(l)if(l.type===s){const[e,...n]=l.sequenceLines,r=n.join("")+t;l.sequenceLines=[e,...er.splitStringIntoChunks(r,AP)],l.locs.push({min:a.min,max:a.max})}else{const e=o.reduce(((e,t)=>e+t.sequenceLines.reduce(((e,t)=>e+t.length),0)),0),n=AP-e%AP,r=t.slice(0,n),i=er.splitStringIntoChunks(t.slice(n),AP);o.push({type:s,sequenceLines:[r,...i],locs:[{min:a.min,max:a.max}]})}else{const e=er.splitStringIntoChunks(t,AP);o.push({type:s,sequenceLines:e,locs:[{min:a.min,max:a.max}]})}}return o}case"CDS":{let e="";const[t]=a,s=[];for(const o of t){let t=r(o.min,o.max);-1===i&&(t=n.revcom(t)),e+=t,s.push({min:o.min,max:o.max})}const l=er.splitStringIntoChunks(e,AP);return o.push({type:"CDS",sequenceLines:l,locs:s}),o}case"protein":{let e="";const[t]=a,s=[];for(const o of t){let t=r(o.min,o.max);-1===i&&(t=n.revcom(t)),e+=t,s.push({min:o.min,max:o.max})}let l="";for(let t=0;t<e.length;t+=3){const r=e.slice(t,t+3).toUpperCase();l+=n.defaultCodonTable[r]||"&"}const c=er.splitStringIntoChunks(l,AP);return o.push({type:"protein",sequenceLines:c,locs:s}),o}}}function OP(e){switch(e){case"upOrDownstream":return"rgb(255,255,255)";case"exon":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)"}}function NP(e){const t=[],n=e.flatMap((e=>e.locs));let[r]=n;for(let e=1;e<n.length;e++)r.min===n[e].max||r.max===n[e].min?r={min:Math.min(r.min,n[e].min),max:Math.max(r.max,n[e].max)}:(t.push(r),r=n[e]);return t.push(r),t}const RP=p.observer((function({assembly:e,feature:t,refName:n,session:r}){const o=r.apolloDataStore.assemblies.get(e),a=o?.getByRefName(n),{featureTypeOntology:i}=r.apolloDataStore.ontologyManager,s="genomic",l=["genomic","cDNA"],[f,d]=u.useState(l),[p,h]=u.useState(s),[m,g]=u.useState((()=>a?CP(s,t,((e,t)=>a.getSequence(e,t))):[])),[y,v]=u.useState((()=>NP(m))),b=c.useTheme(),_=u.useRef(null);if(u.useEffect((()=>{const{cdsLocations:e}=t,[n]=e;d(n.length>0?[...l,"CDS","protein"]:l)}),[t]),!o||!a)return null;const w=o.getByRefName(n);if(!w)return null;if(!i)throw new Error("featureTypeOntology is undefined");return i.isTypeOf(t.type,"transcript")?T.default.createElement(T.default.Fragment,null,T.default.createElement(c.Select,{defaultValue:"genomic",value:p,onChange:function(e){const n=e.target.value;h(n);const r=a?CP(n,t,((e,t)=>a.getSequence(e,t))):[],o=NP(r);g(r),v(o)},size:"small"},f.map((e=>T.default.createElement(c.MenuItem,{key:e,value:e},e)))),T.default.createElement(c.Button,{variant:"contained",onClick:()=>{const e=_.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])},style:{marginLeft:10},size:"medium"},"Copy sequence"),T.default.createElement(c.Paper,{style:{fontFamily:"monospace",padding:b.spacing(),overflowX:"auto"},ref:_},">",w.name,":",y.map((e=>1===t.strand?`${e.min+1}-${e.max}`:`${e.max}-${e.min+1}`)).join(";"),"(",1===t.strand?"+":"-",")",T.default.createElement("br",null),m.map(((e,t)=>T.default.createElement("span",{key:`${e.type}-${t}`,style:{background:OP(e.type),color:b.palette.getContrastText(OP(e.type))}},e.sequenceLines.map(((t,n)=>T.default.createElement(T.default.Fragment,{key:`${t.slice(0,5)}-${n}`},t,n===e.sequenceLines.length-1&&t.length!==AP?null:T.default.createElement("br",null))))))))):null}));var TP={},IP=Zl.exports;Object.defineProperty(TP,"__esModule",{value:!0});var PP=TP.default=void 0;PP=TP.default=(0,IP(Xl).default)((0,N.default.jsx)("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"}),"ContentCopy");var MP={},FP=Zl.exports;Object.defineProperty(MP,"__esModule",{value:!0});var jP=MP.default=void 0;jP=MP.default=(0,FP(Xl).default)((0,N.default.jsx)("path",{d:"M9.64 7.64c.23-.5.36-1.05.36-1.64 0-2.21-1.79-4-4-4S2 3.79 2 6s1.79 4 4 4c.59 0 1.14-.13 1.64-.36L10 12l-2.36 2.36C7.14 14.13 6.59 14 6 14c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4c0-.59-.13-1.14-.36-1.64L12 14l7 7h3v-1L9.64 7.64zM6 8c-1.1 0-2-.89-2-2s.9-2 2-2 2 .89 2 2-.9 2-2 2zm0 12c-1.1 0-2-.89-2-2s.9-2 2-2 2 .89 2 2-.9 2-2 2zm6-7.5c-.28 0-.5-.22-.5-.5s.22-.5.5-.5.5.22.5.5-.22.5-.5.5zM19 3l-6 6 2 2 7-7V3z"}),"ContentCut");var DP={},LP=Zl.exports;Object.defineProperty(DP,"__esModule",{value:!0});var qP=DP.default=void 0;qP=DP.default=(0,LP(Xl).default)((0,N.default.jsx)("path",{d:"M19 13H5v-2h14v2z"}),"Remove");const BP=kP(gT)((()=>({"&.MuiFormControl-root":{marginTop:0,marginBottom:0,width:"100%"},"& .MuiInputBase-input":{fontSize:12,height:20,padding:1,paddingLeft:10}}))),UP=kP("div")({display:"flex",justifyContent:"center",alignItems:"center",textAlign:"left",width:"100%",overflowWrap:"break-word",wordWrap:"break-word",wordBreak:"break-all","& span":{fontSize:12}}),zP=e=>{const{strand:t}=e;return T.default.createElement("div",null,1===t?T.default.createElement(ec,null):-1===t?T.default.createElement(qP,null):T.default.createElement(c.Typography,{component:"span"},"N/A"))},HP=p.observer((function({assembly:e,feature:t,refName:r,session:o}){const{notify:a}=o,i=o.apolloDataStore.assemblies.get(e),s=i?.getByRefName(r),{changeManager:l}=o.apolloDataStore,f=u.useRef(null);function d(t,n,r,o){if(!r.children)throw new Error("Transcript should have child features");for(const[,i]of r.children)if("CDS"===i.type){if(o&&t===i.min){const t=new er.LocationStartChange({typeName:"LocationStartChange",changedIds:[i._id],featureId:r._id,oldStart:i.min,newStart:n,assembly:e});return void l.submit(t).catch((()=>{a("Error updating feature start position","error")}))}if(!o&&t===i.max){const t=new er.LocationEndChange({typeName:"LocationEndChange",changedIds:[i._id],featureId:r._id,oldEnd:i.max,newEnd:n,assembly:e});return void l.submit(t).catch((()=>{a("Error updating feature start position","error")}))}}}function p(t,n,r,o){if(!r.children)throw new Error("Transcript should have child features");for(const[,i]of r.children)if("exon"===i.type){if(o&&t===i.min){const t=new er.LocationStartChange({typeName:"LocationStartChange",changedIds:[i._id],featureId:r._id,oldStart:i.min,newStart:n,assembly:e});return void l.submit(t).catch((()=>{a("Error updating feature start position","error")}))}if(!o&&t===i.max){const t=new er.LocationEndChange({typeName:"LocationEndChange",changedIds:[i._id],featureId:r._id,oldEnd:i.max,newEnd:n,assembly:e});return void l.submit(t).catch((()=>{a("Error updating feature start position","error")}))}}}if(!s)return null;const{cdsLocations:h,transcriptExonParts:m,strand:g}=t,[y]=h,v=m.filter((e=>"exon"===e.type)).sort((({min:e},{min:t})=>e-t)),b=v[0]?.min,_=v[v.length-1]?.max;let w=b,S=_;const x=y.length>0;x&&(w=y[0].min,S=y[y.length-1].max);const E=()=>{let e="";const[r]=h;for(const t of r){let r=s.getSequence(t.min,t.max);-1===g&&(r=n.revcom(r)),e+=r}const o=[];for(let r=0;r<e.length;r+=3){const a=e.slice(r,r+3).toUpperCase(),i=n.defaultCodonTable[a]||"&";"ATG"===a?o.push(T.default.createElement(c.Typography,{component:"span",style:{backgroundColor:"yellow",cursor:"pointer",border:"1px solid black"},key:r,onClick:()=>{const e=k(r);e!==w&&d(w,e,t,!0)}},i)):["TAA","TAG","TGA"].includes(a)?o.push(T.default.createElement(c.Typography,{style:{backgroundColor:"red",color:"white"},component:"span",key:r},i)):o.push(T.default.createElement(c.Typography,{component:"span",key:r},i))}return o},k=e=>{const[t]=h;let n=0;for(const r of t){const t=r.max-r.min;if(n+t>e)return r.min+(e-n);n+=t}return w};return T.default.createElement("div",null,x&&T.default.createElement("div",null,T.default.createElement(c.Accordion,{defaultExpanded:!0},T.default.createElement(VP,{expandIcon:T.default.createElement(KR,{style:{color:"white"}}),"aria-controls":"panel1-content",id:"panel1-header"},T.default.createElement(c.Typography,{component:"span",fontWeight:"bold"},"Translation")),T.default.createElement(c.AccordionDetails,null,T.default.createElement(UP,null,T.default.createElement(c.Typography,{component:"span",ref:f},E())),T.default.createElement("div",{style:{marginTop:10,display:"flex",flexDirection:"row",alignItems:"center",gap:10}},T.default.createElement(c.Tooltip,{title:"Copy"},T.default.createElement(PP,{style:{fontSize:15,cursor:"pointer"},onClick:()=>{const e=f.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])}})),T.default.createElement(c.Tooltip,{title:"Trim"},T.default.createElement(jP,{style:{fontSize:15,cursor:"pointer"},onClick:()=>{const e=E(),n=e.map((e=>e.props.children)).join("");if(n.startsWith("M")&&n.endsWith("*"))return;const r=[];for(const t of e)r.push({codonGenomicPos:t.key,sequenceLetter:t.props.children});if(0===r.length)return;const o=n.indexOf("M"),a=n.lastIndexOf("*")+1,i=r[o].codonGenomicPos,s=r[a].codonGenomicPos;if(!i||!s)return;const l=k(i),c=(e=>{const[t]=h;let n=0;for(const r of t){const t=r.max-r.min;if(n+t>e)return r.min+(e-n);n+=t}return S})(s);l!==w&&d(w,l,t,!0),c!==S&&setTimeout((()=>{d(S,c,t,!1)}),1e3)}}))))),T.default.createElement(c.Grid2,{container:!0,justifyContent:"center",alignItems:"center",style:{textAlign:"center",marginTop:10}},T.default.createElement(c.Grid2,{size:1}),T.default.createElement(c.Grid2,{size:4},T.default.createElement(BP,{margin:"dense",variant:"outlined",value:w,onChangeCommitted:e=>{d(w,e,t,!0)}})),T.default.createElement(c.Grid2,{size:2},T.default.createElement(c.Typography,{component:"span"},"CDS")),T.default.createElement(c.Grid2,{size:4},T.default.createElement(BP,{margin:"dense",variant:"outlined",value:S,onChangeCommitted:e=>{d(S,e,t,!1)}})),T.default.createElement(c.Grid2,{size:1}))),T.default.createElement("div",{style:{marginTop:5}},m.map(((e,r)=>T.default.createElement("div",{key:r},"exon"===e.type&&T.default.createElement(c.Grid2,{container:!0,justifyContent:"center",alignItems:"center",style:{textAlign:"center"}},T.default.createElement(c.Grid2,{size:1},0!==r&&((e,t)=>{let r="";if(t>0){const o=m[t-1];1===g?"intron"===o.type&&(r=s.getSequence(e.min-2,e.min)):"intron"===o.type&&(r=n.revcom(s.getSequence(e.max,e.max+2)))}return[{spliceSite:r,color:"AG"===r?"green":"red"}]})(e,r).map(((e,t)=>T.default.createElement(c.Typography,{key:t,component:"span",color:e.color},e.spliceSite)))),T.default.createElement(c.Grid2,{size:4,style:{padding:0}},T.default.createElement(BP,{margin:"dense",variant:"outlined",value:e.min,onChangeCommitted:n=>{p(e.min,n,t,!0)}})),T.default.createElement(c.Grid2,{size:2},T.default.createElement(zP,{strand:t.strand})),T.default.createElement(c.Grid2,{size:4,style:{padding:0}},T.default.createElement(BP,{margin:"dense",variant:"outlined",value:e.max,onChangeCommitted:n=>{p(e.max,n,t,!1)}})),T.default.createElement(c.Grid2,{size:1},r!==m.length-1&&((e,t)=>{let r="";if(t<m.length-1){const o=m[t+1];1===g?"intron"===o.type&&(r=s.getSequence(e.max,e.max+2)):"intron"===o.type&&(r=n.revcom(s.getSequence(e.min-2,e.min)))}return[{spliceSite:r,color:"GT"===r?"green":"red"}]})(e,r).map(((e,t)=>T.default.createElement(c.Typography,{key:t,component:"span",color:e.color},e.spliceSite))))))))))})),GP=kP(c.TableCell)((()=>({fontWeight:"bold"}))),WP=p.observer((function(e){const{feature:t}=e,n=vd(t),r=bd(t);return T.default.createElement(c.Table,{size:"small",sx:{fontSize:"0.75rem","& .MuiTableCell-root":{padding:"4px"}}},T.default.createElement(c.TableBody,null,""!==n&&T.default.createElement(c.TableRow,null,T.default.createElement(GP,null,"Name"),T.default.createElement(c.TableCell,null,vd(t))),""!==r&&T.default.createElement(c.TableRow,null,T.default.createElement(GP,null,"ID"),T.default.createElement(c.TableCell,null,bd(t))),T.default.createElement(c.TableRow,null,T.default.createElement(GP,null,"Location"),T.default.createElement(c.TableCell,null,e.refName,":",t.min,"..",t.max)),T.default.createElement(c.TableRow,null,T.default.createElement(GP,null,"Strand"),T.default.createElement(c.TableCell,null,1===(o=t.strand)?"Forward":-1===o?"Reverse":""))));var o})),$P=f.makeStyles()((e=>({root:{padding:e.spacing(2)}}))),VP=kP(c.AccordionSummary)((()=>({minHeight:30,maxHeight:30,"&.Mui-expanded":{minHeight:30,maxHeight:30}})));function JP(e){return null}const YP=p.observer((function(e){const{classes:t}=$P(),r=["summary","location","attrs"],[o,a]=u.useState(r),{model:i}=e,{assembly:s,feature:f,refName:d}=i;u.useEffect((()=>{a(r)}),[f]);const p=n.getSession(i),{pluginManager:h}=n.getEnv(p),m=n.getSession(i),g=m.apolloDataStore.assemblies.get(s),{internetAccounts:y}=l.getRoot(p),v=y.find((e=>"ApolloInternetAccount"===e.type)),b=["admin","user"].includes((v?v.role:"admin")??"");if(!f||!g)return null;const _=g.getByRefName(d);if(!_)return null;const{max:w,min:S}=f;function x(e,t){a(e?[...o,t]:o.filter((e=>e!==t)))}_.getSequence(S,w)||m.apolloDataStore.loadRefSeq([{assemblyName:s,refName:d,start:S,end:w}]);const E=h.evaluateExtensionPoint("Apollo-TranscriptDetailsCustomComponent",JP,e);return T.default.createElement("div",{className:t.root},T.default.createElement(c.Accordion,{expanded:o.includes("summary"),onChange:(e,t)=>{x(t,"summary")}},T.default.createElement(VP,{expandIcon:T.default.createElement(KR,{style:{color:"white"}}),"aria-controls":"panel1-content",id:"panel1-header"},T.default.createElement(c.Typography,{component:"span",fontWeight:"bold"},"Summary")),T.default.createElement(c.AccordionDetails,null,T.default.createElement(WP,{feature:f,refName:d}))),T.default.createElement(E,{session:p,feature:f}),T.default.createElement(c.Accordion,{style:{marginTop:5},expanded:o.includes("location"),onChange:(e,t)=>{x(t,"location")}},T.default.createElement(VP,{expandIcon:T.default.createElement(KR,{style:{color:"white"}}),"aria-controls":"panel2-content",id:"panel2-header"},T.default.createElement(c.Typography,{component:"span",fontWeight:"bold"},"Location")),T.default.createElement(c.AccordionDetails,null,T.default.createElement(HP,{feature:f,refName:d,session:m,assembly:g._id||""}))),T.default.createElement(c.Accordion,{style:{marginTop:5},expanded:o.includes("attrs"),onChange:(e,t)=>{x(t,"attrs")}},T.default.createElement(VP,{expandIcon:T.default.createElement(KR,{style:{color:"white"}}),"aria-controls":"panel3-content",id:"panel3-header"},T.default.createElement("div",{style:{display:"flex",alignItems:"center"}},T.default.createElement(c.Typography,{component:"span",fontWeight:"bold"},"Attributes"," "),T.default.createElement(c.Tooltip,{title:"Separate multiple values for the attribute with commas"},T.default.createElement(Ed,{style:{color:"white",fontSize:15,marginLeft:10}})))),T.default.createElement(c.AccordionDetails,null,T.default.createElement(mT,{feature:f,session:m,assembly:g._id||"",editable:b}))),T.default.createElement(c.Accordion,{style:{marginTop:5},expanded:o.includes("sequence"),onChange:(e,t)=>{x(t,"sequence")}},T.default.createElement(VP,{expandIcon:T.default.createElement(KR,{style:{color:"white"}}),"aria-controls":"panel4-content",id:"panel4-header"},T.default.createElement(c.Typography,{component:"span",fontWeight:"bold"},"Sequence")),T.default.createElement(c.AccordionDetails,null,o.includes("sequence")&&T.default.createElement(RP,{feature:f,session:m,assembly:g._id||"",refName:d}))))})),KP=r.ConfigurationSchema("LinearApolloDisplay",{},{explicitIdentifier:"displayId",explicitlyTyped:!0}),ZP=f.makeStyles()({highlighted:{background:"orange"}}),XP=({highlight:e,text:t})=>{const{classes:n}=ZP();if(!e)return T.default.createElement(T.default.Fragment,null,t);const r=t.split(e);if(1===r.length)return T.default.createElement(T.default.Fragment,null,t);const o=[];for(let t=0;t<r.length-1;t++)o.push(r[t],T.default.createElement("span",{className:n.highlighted},e));return T.default.createElement(T.default.Fragment,null,o,r.at(-1))},QP=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),l.getSnapshot(t)]}return"_id"===e?["ID",l.getSnapshot(t)]:[e,l.getSnapshot(t)]})).filter((([e])=>e)).map((([e,t])=>`${e}=${Array.isArray(t)?t.join(", "):t}`)).join(", ");return T.default.createElement(XP,{text:n,highlight:t})})),eM=f.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}}))),tM=p.observer((function({initialValue:e,notifyError:t,onChangeCommitted:n}){const[r,o]=u.useState(e),[a,i]=u.useState(!1),[s,l]=u.useState(null),{classes:c}=eM();return u.useEffect((()=>{e!==r&&o(e)}),[e]),u.useEffect((()=>{a&&(s?.blur(),i(!1))}),[a,s]),T.default.createElement("span",{className:c.inputWrapper},T.default.createElement("span",{className:c.hiddenWidthSpan,"aria-hidden":!0},r),T.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),i(!0))},onBlur:()=>{r!==e&&n(r).catch(t)},ref:e=>{l(e)}}))})),nM=f.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 rM(e,t){const{changeManager:r,getAssemblyId:o,regions:a,selectedFeature:i,session:s,setSelectedFeature:c}=e;return function(e,t,r,o,a,i,s){const c=function(e){const{internetAccounts:t}=l.getParent(e);return t.find((e=>"ApolloInternetAccount"===e.type))}(i),u=c?c.role:"admin",f="admin"===u,d=!(u&&["admin","user"].includes(u)),p=[];if(e){const l=r(t.assemblyName),u=r(t.assemblyName);p.push({label:"Edit feature details",onClick:()=>{const n=i.addWidget("ApolloFeatureDetailsWidget","apolloFeatureDetailsWidget",{feature:e,assembly:u,refName:t.refName});i.showWidget(n)}},{label:"Add child feature",disabled:d,onClick:()=>{i.queueDialog((t=>[VN,{session:i,handleClose:()=>{t()},changeManager:s,sourceFeature:e,sourceAssemblyId:l,internetAccount:c}]))}},{label:"Copy features and annotations",disabled:d,onClick:()=>{i.queueDialog((t=>[XN,{session:i,handleClose:()=>{t()},changeManager:s,sourceFeature:e,sourceAssemblyId:u}]))}},{label:"Delete feature",disabled:!f,onClick:()=>{i.queueDialog((t=>[eR,{session:i,handleClose:()=>{t()},changeManager:s,sourceFeature:e,sourceAssemblyId:u,selectedFeature:o,setSelectedFeature:a}]))}});const{featureTypeOntology:h}=i.apolloDataStore.ontologyManager;if(!h)throw new Error("featureTypeOntology is undefined");(h.isTypeOf(e.type,"transcript")||h.isTypeOf(e.type,"pseudogenic_transcript"))&&n.isSessionModelWithWidgets(i)&&p.push({label:"Edit transcript details",onClick:()=>{const n=i.addWidget("ApolloTranscriptDetails","apolloTranscriptDetails",{feature:e,assembly:u,changeManager:s,refName:t.refName});i.showWidget(n)}})}return p}(t,a[0],o,i,c,s,r)}function oM(e){let t=e;for(;t.parent;)t=t.parent;return t}const aM=p.observer((function e({depth:t,feature:n,isHovered:r,isSelected:o,model:a,selectedFeatureClass:i,setContextMenu:s}){const{classes:l}=nM(),{apolloHover:c,changeManager:u,selectedFeature:f,session:d,tabularEditor:p}=a,{featureCollapsed:h,filterText:m}=p,{_id:g,children:y,max:v,min:b,strand:_,type:w}=n,S=!h.get(g),x=e=>{d.notify(e.message,"error")};return T.default.createElement(T.default.Fragment,null,T.default.createElement("tr",{onMouseEnter:e=>{a.setApolloHover({feature:n,topLevelFeature:oM(n),glyph:a.getGlyph(oM(n))})},className:l.feature+(o?` ${i}`:r?` ${l.hoveredFeature}`:""),onClick:e=>{e.stopPropagation(),a.setSelectedFeature(n)},onContextMenu:e=>(e.preventDefault(),s({position:{left:e.clientX+2,top:e.clientY-6},items:rM(a,n)}),!1)},T.default.createElement("td",{style:{whiteSpace:"nowrap",borderLeft:2*t+"em solid transparent"}},y?.size?T.default.createElement("div",{onClick:e=>{e.stopPropagation(),p.setFeatureCollapsed(g,S)},className:l.arrow+(S?` ${l.arrowExpanded}`:"")},"❯"):null,T.default.createElement("div",{className:l.typeContent},T.default.createElement($N,{session:d,ontologyName:"Sequence Ontology",style:{width:170},value:w,filterTerms:HN,fetchValidTerms:iM.bind(null,n),renderInput:e=>T.default.createElement("div",{ref:e.InputProps.ref},T.default.createElement("input",{type:"text",...e.inputProps,className:l.typeInputElement,style:{width:170}}),e.error?T.default.createElement("div",{className:l.typeErrorMessage},e.errorMessage??"unknown error"):null),onChange:(e,t)=>{t&&function(e,t,n,r){const o=t._id,a=new er.TypeChange({typeName:"TypeChange",changedIds:[o],featureId:o,oldType:String(n),newType:String(r),assembly:t.assemblyId});return e.submit(a)}(u,n,e,t).catch(x)}}))),T.default.createElement("td",null,T.default.createElement(tM,{initialValue:b+1,notifyError:x,onChangeCommitted:e=>function(e,t,n,r){const o=t._id,a=new er.LocationStartChange({typeName:"LocationStartChange",changedIds:[o],featureId:o,oldStart:n,newStart:r,assembly:t.assemblyId});return e.submit(a)}(u,n,b,e-1)})),T.default.createElement("td",null,T.default.createElement(tM,{initialValue:v,notifyError:x,onChangeCommitted:e=>function(e,t,n,r){const o=t._id,a=new er.LocationEndChange({typeName:"LocationEndChange",changedIds:[o],featureId:o,oldEnd:n,newEnd:r,assembly:t.assemblyId});return e.submit(a)}(u,n,v,e)})),T.default.createElement("td",null,1===_?"+":-1===_?"-":void 0),T.default.createElement("td",null,T.default.createElement(QP,{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])=>T.default.createElement(e,{isHovered:c?.feature._id===r._id,isSelected:f?._id===r._id,selectedFeatureClass:i,key:n,depth:(t||0)+1,feature:r,model:a,setContextMenu:s}))):null)}));async function iM(e,t,n){const{parent:r}=e;if(r){const e=(await t.getTermsWithLabelOrSynonym(r.type,{includeSubclasses:!1})).filter(HN);if(e.length>0)return await t.getClassesThat("part_of",e)}}const sM=f.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}}))),lM=p.observer((function({model:e}){const{apolloHover:t,seenFeatures:n,selectedFeature:r,tabularEditor:o}=e,a=c.useTheme(),{classes:i}=sM(),s=u.useRef(null),[l,f]=u.useState(null),{filterText:p}=o;return u.useEffect((()=>{const e=s.current;if(e&&r){const t=e.querySelector(`.${i.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,i.selectedFeature]),T.default.createElement("div",{ref:s,style:{width:"100%",overflowY:"auto",height:"100%"}},T.default.createElement("table",{className:i.scrollableTable},T.default.createElement("thead",null,T.default.createElement("tr",null,T.default.createElement("th",null,"Type"),T.default.createElement("th",null,"Start"),T.default.createElement("th",null,"End"),T.default.createElement("th",null,"Strand"),T.default.createElement("th",null,"Attributes"))),T.default.createElement("tbody",null,[...n.entries()].filter((e=>{if(!p)return!0;const[,t]=e;return JSON.stringify(t).includes(p)})).sort(((e,t)=>e[1].min-t[1].min)).map((([n,o])=>T.default.createElement(aM,{key:n,isSelected:r?._id===n,isHovered:t?.feature._id===n,selectedFeatureClass:i.selectedFeature,feature:o,model:e,depth:0,setContextMenu:f}))))),T.default.createElement(d.Menu,{open:Boolean(l),onMenuItemClick:(e,t)=>{t(),f(null)},onClose:()=>{f(null)},TransitionProps:{onExit:()=>{f(null)}},style:{zIndex:a.zIndex.tooltip},menuItems:l?.items??[],anchorReference:"anchorPosition",anchorPosition:l?.position}))}));var cM={},uM=Zl.exports;Object.defineProperty(cM,"__esModule",{value:!0});var fM=cM.default=void 0;fM=cM.default=(0,uM(Xl).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 dM={},pM=Zl.exports;Object.defineProperty(dM,"__esModule",{value:!0});var hM=dM.default=void 0;hM=dM.default=(0,pM(Xl).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 mM=f.makeStyles()({toolbar:{width:"100%",display:"flex",paddingRight:"2em",flexDirection:"row",justifyContent:"space-between",position:"absolute",zIndex:4},filterText:{}}),gM=p.observer((function({model:e}){const t=e.tabularEditor,{classes:n}=mM();return T.default.createElement("div",{className:n.toolbar},T.default.createElement(c.Tooltip,{title:"Collapse all"},T.default.createElement(c.IconButton,{"aria-label":"collapse",sx:{marginTop:0},onClick:t.collapseAllFeatures},T.default.createElement(hM,null))),T.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)},slotProps:{input:{endAdornment:T.default.createElement(c.InputAdornment,{position:"end"},T.default.createElement(c.IconButton,{onClick:()=>{t.clearFilterText()}},T.default.createElement(fM,null)))}}}))}));function yM(e){e.stopPropagation()}const vM=p.observer((function({model:e}){return e.tabularEditor.isShown?T.default.createElement("div",{onMouseDown:yM,onClick:yM,style:{width:"100%",height:"100%",position:"relative"}},T.default.createElement(gM,{model:e}),T.default.createElement(lM,{model:e})):null})),bM=l.types.model("TabularEditor",{isShown:!0,featureCollapsed:l.types.map(l.types.boolean),filterText:""}).actions((e=>({setFeatureCollapsed(t,n){e.featureCollapsed.set(t,n)},setFilterText(t){e.filterText=t},clearFilterText(){e.filterText=""},collapseAllFeatures(){const t=l.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 _M(e,t){return Boolean(t&&e._id===t._id)}function wM(e,t){return t?e?.palette.text.primary??"black":e?.palette.background.default??"white"}function SM(e,t,n,r,o,a){e.fillStyle=a,e.fillRect(t,n,r,o)}function xM(e,t,n){const{refName:r,regionNumber:o,x:a}=e,{lgv:i}=n,{offsetPx:s}=i,l=i.bpToPx({refName:r,coord:t.min,regionNumber:o}),c=i.bpToPx({refName:r,coord:t.max,regionNumber:o});if(void 0!==l&&void 0!==c){const e=l.offsetPx-s,t=c.offsetPx-s;if(Math.abs(t-e)<8)return;if(Math.abs(e-a)<4)return"min";if(Math.abs(t-a)<4)return"max"}}const EM={draw:function(e,t,n,r,o){const{apolloRowHeight:a,lgv:i,session:s,theme:l}=r,{bpPerPx:c,displayedRegions:u,offsetPx:f}=i,d=u[o],p=(i.bpToPx({refName:d.refName,coord:t.min,regionNumber:o})?.offsetPx??0)-f,{reversed:h}=d,{apolloSelectedFeature:m}=s,g=t.length/c,y=h?p-g:p,v=n*a,b=_M(t,m),_=wM(l,b),w=function(e,t){return t?e?.palette.getContrastText(wM(e,t))??"white":e?.palette.text.primary??"black"}(l,b);!function(e,t,n,r,o,a){SM(e,t,n,r,o,a),r<=2||e.clearRect(t+1,n+1,r-2,o-2)}(e,y,v,g,a,w),g<=2||(function(e,t,n,r,o,a){SM(e,t+1,n+1,r-2,o-2,a)}(e,y,v,g,a,_),function(e,t,n,r,o,a){e.fillStyle=o;const i=Math.max(t+1,0);e.fillText(a,i,n+11,t-1+r-i)}(e,y,v,g,w,t.type))},drawDragPreview:function(e,t){const{apolloDragging:n,apolloRowHeight:r,lgv:o,theme:a}=e,{bpPerPx:i,displayedRegions:s,offsetPx:l}=o;if(!n)return;const{current:u,edge:f,feature:d,start:p}=n,h=Math.floor(p.y/r),m=s[p.regionNumber],g=(m.reversed?m.end-d[f]:d[f]-m.start)/i-l,y=Math.min(u.x,g),v=h*r,b=Math.abs(u.x-g),_=1*r;t.strokeStyle=a?.palette.info.main??"rgb(255,0,0)",t.setLineDash([6]),t.strokeRect(y,v,b,_),t.fillStyle=c.alpha(a?.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:a}=e;if(!n)return;const{feature:i}=n,s=e.getFeatureLayoutPosition(i);if(!s)return;const{bpPerPx:l,displayedRegions:c,offsetPx:u}=o,{layoutIndex:f,layoutRow:d}=s,p=c[f],{refName:h,reversed:m}=p,{length:g,max:y,min:v}=i,b=(o.bpToPx({refName:h,coord:m?y:v,regionNumber:f})?.offsetPx??0)-u,_=d*r,w=g/l;t.fillStyle=a?.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:a}=e;if(!n)return;const{feature:i}=n,s=e.getFeatureLayoutPosition(i);if(!s)return;const{featureRow:l,layoutIndex:u,layoutRow:f}=s,{bpPerPx:d,displayedRegions:p,offsetPx:h}=o,m=p[u],{refName:g,reversed:y}=m;let v="Loc: ";const{length:b,max:_,min:w}=i;v+=`${w+1}–${_}`;let S=(o.bpToPx({refName:g,coord:y?_:w,regionNumber:u})?.offsetPx??0)-h;const x=(f+l)*r,E=b/d,k=`Type: ${i.type}`,{attributes:A}=i,C=A.get("gff_name")?.find((e=>""!==e)),O=[t.measureText(k).width,t.measureText(v).width];C&&O.push(t.measureText(`Name: ${C}`).width);const N=Math.max(...O);S=S+E+5,t.fillStyle=c.alpha(a?.palette.text.primary??"rgb(1, 1, 1)",.7),t.fillRect(S,x,N+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=a?.palette.background.default??"rgba(255, 255, 255)";let R=x+12;t.fillText(k,S+2,R),C&&(R+=12,t.fillText(`Name: ${C}`,S+2,R)),R+=12,t.fillText(v,S+2,R)},getContextMenuItems:function(e){const{apolloHover:t,apolloInternetAccount:r,changeManager:o,regions:a,selectedFeature:i,session:s}=e,l=[];if(!t)return l;const{feature:c}=t,u=r?r.role:"admin",f="admin"===u,d=!(u&&["admin","user"].includes(u)),[p]=a,h=e.getAssemblyId(p.assemblyName),m=e.getAssemblyId(p.assemblyName);l.push({label:"Add child feature",disabled:d,onClick:()=>{s.queueDialog((e=>[VN,{session:s,handleClose:()=>{e()},changeManager:o,sourceFeature:c,sourceAssemblyId:h,internetAccount:r}]))}},{label:"Copy features and annotations",disabled:d,onClick:()=>{s.queueDialog((e=>[XN,{session:s,handleClose:()=>{e()},changeManager:o,sourceFeature:c,sourceAssemblyId:m}]))}},{label:"Delete feature",disabled:!f,onClick:()=>{s.queueDialog((t=>[eR,{session:s,handleClose:()=>{t()},changeManager:o,sourceFeature:c,sourceAssemblyId:m,selectedFeature:i,setSelectedFeature:t=>{e.setSelectedFeature(t)}}]))}},{label:"Edit feature details",onClick:()=>{const e=s.addWidget("ApolloFeatureDetailsWidget","apolloFeatureDetailsWidget",{feature:c,assembly:m,refName:p.refName});s.showWidget(e)}});const{featureTypeOntology:g}=s.apolloDataStore.ontologyManager;if(!g)throw new Error("featureTypeOntology is undefined");return(g.isTypeOf(c.type,"transcript")||g.isTypeOf(c.type,"pseudogenic_transcript"))&&n.isSessionModelWithWidgets(s)&&l.push({label:"Edit transcript details",onClick:()=>{const e=s.addWidget("ApolloTranscriptDetails","apolloTranscriptDetails",{feature:c,assembly:m,changeManager:o,refName:p.refName});s.showWidget(e)}}),l},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,a=xM(t,o,e);a&&(n.stopPropagation(),e.startDrag(t,o,a))},onMouseLeave:function(){},onMouseMove:function(e,t){if(rF(t)){const{featureAndGlyphUnderMouse:n}=t;e.setApolloHover(n);const{feature:r}=n;if(xM(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 kM=null,AM=null,CM=null,OM=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 a="light"===t?"rgba(0,0,0,0)":"rgba(0,0,0,0.75)",i="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,a),s.addColorStop(.25,a),s.addColorStop(.25,i),s.addColorStop(.5,i),s.addColorStop(.5,a),s.addColorStop(.75,a),s.addColorStop(.75,i),s.addColorStop(1,i),o.fillStyle=s,o.fillRect(0,0,10,10),"forward"===e?"light"===t?kM=o.createPattern(n,"repeat"):CM=o.createPattern(n,"repeat"):"light"===t?AM=o.createPattern(n,"repeat"):OM=o.createPattern(n,"repeat")}}function NM(e,t,n,r,o,a,i,s,l){const{apolloRowHeight:c,lgv:u,session:f,theme:d}=t,{bpPerPx:p,displayedRegions:h,offsetPx:m}=u,g=h[n],{refName:y,reversed:v}=g,{apolloSelectedFeature:b}=f,_=(u.bpToPx({refName:y,coord:o.min,regionNumber:n})?.offsetPx??0)-m,w=o.length/p,S=v?_-w:_,x=(r+a)*c,E=Math.round(.6*c),k=x+(c-E)/2;if(e.fillStyle=d?.palette.text.primary??"black",e.fillRect(S,k,w,E),w>2&&(e.clearRect(S+1,k+1,w-2,E-2),e.fillStyle=b&&o._id===b._id?"rgb(0,0,0)":"rgb(211,211,211)",e.fillRect(S+1,k+1,w-2,E-2),s&&l&&i)){const t=v?-1:1,[n,r]=i*t==1?[s,l]:[l,s];e.fillStyle=n,e.fillRect(S+1,k+1,w-2,(E-2)/2),e.fillStyle=r,e.fillRect(S+1,k+1+(E-2)/2,w-2,(E-2)/2)}}function RM(e,t,n,r,o,a){const{apolloRowHeight:i,lgv:s,theme:l}=t,{bpPerPx:c,displayedRegions:u,offsetPx:f}=s,d=u[n],{refName:p,reversed:h}=d,m=(s.bpToPx({refName:p,coord:o.min,regionNumber:n})?.offsetPx??0)-f,g=o.length/c,y=h?m-g:m,v=Math.round((a+.5)*i)+r*i;e.strokeStyle=l?.palette.text.primary??"black",e.beginPath(),e.moveTo(y,v),e.lineTo(y+g,v),e.stroke()}function TM(e,t){const{children:n,type:r}=e;if(!n)return 0;let o=0;if(t.isTypeOf(r,"transcript"))for(const[,e]of n)t.isTypeOf(e.type,"CDS")&&(o+=1);return o}function IM(e,t,n){const{children:r,type:o}=e;if(!r)return 1;let a=0;if(t.isTypeOf(o,"transcript")||t.isTypeOf(o,"pseudogenic_transcript")){for(const[,e]of r)t.isTypeOf(e.type,"CDS")&&(a+=1);return 0===a?1:a}for(const[,e]of r)a+=IM(e,t);return a}function PM(e,t){if(!t.isTypeOf(e.type,"gene")&&!t.isTypeOf(e.type,"pseudogene"))throw new Error('Top level feature for GeneGlyph must have type "gene"');const{children:n}=e;if(!n)return[[e]];const r=[];for(const[,o]of n){if(!t.isTypeOf(o.type,"transcript")&&!t.isTypeOf(o.type,"pseudogenic_transcript")){r.push([o,e]);continue}if(!o.children)continue;const n=[],a=[];for(const[,e]of o.children)t.isTypeOf(e.type,"CDS")?n.push(e):t.isTypeOf(e.type,"exon")&&a.push(e);for(const t of n)r.push([t,...a,o,e]);0===n.length&&r.push([...a,o,e])}return r}function MM(e,t,r){const{session:o}=r,{apolloDataStore:a}=o,{featureTypeOntology:i}=a.ontologyManager;if(!i)throw new Error("featureTypeOntology is undefined");const s=i.isTypeOf(t.type,"gene")||i.isTypeOf(t.type,"pseudogene"),l=i.isTypeOf(t.type,"transcript")||i.isTypeOf(t.type,"pseudogenic_transcript"),c=i.isTypeOf(t.type,"CDS");if(s||l)return;const{bp:u,refName:f,regionNumber:d,x:p}=e,{lgv:h}=r,{offsetPx:m}=h,g=h.bpToPx({refName:f,coord:t.min,regionNumber:d}),y=h.bpToPx({refName:f,coord:t.max,regionNumber:d});if(void 0===g||void 0===y)return;const v=g.offsetPx-m,b=y.offsetPx-m;if(!(Math.abs(b-v)<8)){if(Math.abs(v-p)<4)return{feature:t,edge:"min"};if(Math.abs(b-p)<4)return{feature:t,edge:"max"};if(c){const e=t.parent;if(!e?.children)return;const r=[];for(const t of e.children.values())i.isTypeOf(t.type,"exon")&&r.push(t);const o=r.find((e=>{const[t,r]=n.intersection2(u-1,u,e.min,e.max);return void 0!==t&&void 0!==r}));if(!o)return;const a=h.bpToPx({refName:f,coord:o.min,regionNumber:d}),s=h.bpToPx({refName:f,coord:o.max,regionNumber:d});if(void 0===a||void 0===s)return;const l=a.offsetPx-m,c=s.offsetPx-m;if(Math.abs(c-l)<8)return;if(Math.abs(l-p)<4)return{feature:o,edge:"min"};if(Math.abs(c-p)<4)return{feature:o,edge:"max"}}}}const{drawTooltip:FM,getContextMenuItems:jM,onMouseLeave:DM}=EM,LM={draw:function(e,t,r,o,a){const{apolloRowHeight:i,lgv:s,session:l,theme:u}=o,{bpPerPx:f,displayedRegions:d,offsetPx:p}=s,h=d[a],{refName:m,reversed:g}=h,y=i,v=Math.round(.9*y),{children:b,min:_,strand:w}=t;if(!b)return;const{apolloSelectedFeature:S}=l,{apolloDataStore:x}=l,{featureTypeOntology:E}=x.ontologyManager;if(!E)throw new Error("featureTypeOntology is undefined");const k=(s.bpToPx({refName:m,coord:_,regionNumber:a})?.offsetPx??0)-p,A=t.length/f,C=g?k-A:k,O=r*y,N=IM(t,E)*y;e.fillStyle=c.alpha(u?.palette.background.paper??"#ffffff",.6),e.fillRect(C,O,A,N);let R=0;for(const[,t]of b){if(!E.isTypeOf(t.type,"transcript")&&!E.isTypeOf(t.type,"pseudogenic_transcript")){R+=1;continue}const{children:n}=t;if(!n)continue;const i=TM(t,E);for(const[,i]of n)E.isTypeOf(i.type,"CDS")&&(RM(e,o,a,r,t,R),R+=1);0===i&&(RM(e,o,a,r,t,R),R+=1)}const T="dark"===u?.palette.mode?CM:kM,I="dark"===u?.palette.mode?OM:AM;R=0;for(const[,t]of b){if(!E.isTypeOf(t.type,"transcript")&&!E.isTypeOf(t.type,"pseudogenic_transcript")){EM.draw(e,t,r,o,a),R+=1;continue}const i=TM(t,E);if(0!=i)for(const i of t.cdsLocations){const{_id:l,children:c}=t;if(c){for(const[,t]of c)E.isTypeOf(t.type,"exon")&&NM(e,o,a,r,t,R,w,T,I);for(const o of i){const i=(o.max-o.min)/f,c=(s.bpToPx({refName:m,coord:o.min,regionNumber:a})?.offsetPx??0)-p,d=g?c-i:c;e.fillStyle=u?.palette.text.primary??"black";const h=(r+R)*y+(y-v)/2;if(e.fillRect(d,h,i,v),i>2){e.clearRect(d+1,h+1,i-2,v-2);const r=n.getFrame(o.min,o.max,t.strand??1,o.phase),a=u?.palette.framesCDS.at(r)?.main;if(e.fillStyle=S&&l===S._id?"rgb(0,0,0)":a??"rgb(171,71,188)",e.fillRect(d+1,h+1,i-2,v-2),T&&I&&w){const t=g?-1:1,[n,r]=w*t==1?[T,I]:[I,T];e.fillStyle=n,e.fillRect(d+1,h+1,i-2,(v-2)/2),e.fillStyle=r,e.fillRect(d+1,h+(v-2)/2,i-2,(v-2)/2)}}}R+=1}}const{children:l}=t;if(0===i&&l){for(const[,t]of l)E.isTypeOf(t.type,"exon")&&NM(e,o,a,r,t,R,w,T,I);R+=1}}},drawDragPreview:function(e,t){const{apolloDragging:n,apolloRowHeight:r,lgv:o,theme:a}=e,{bpPerPx:i,displayedRegions:s,offsetPx:l}=o;if(!n)return;const{current:u,edge:f,feature:d,start:p}=n,h=Math.floor(p.y/r),m=s[p.regionNumber],g=(m.reversed?m.end-d[f]:d[f]-m.start)/i-l,y=Math.min(u.x,g),v=h*r,b=Math.abs(u.x-g),_=1*r;t.strokeStyle=a?.palette.info.main??"rgb(255,0,0)",t.setLineDash([6]),t.strokeRect(y,v,b,_),t.fillStyle=c.alpha(a?.palette.info.main??"rgb(255,0,0)",.2),t.fillRect(y,v,b,_)},drawHover:function(e,t){const{apolloHover:n,apolloRowHeight:r,lgv:o,session:a,theme:i}=e,{featureTypeOntology:s}=a.apolloDataStore.ontologyManager;if(!n)return;const{feature:l}=n,c=e.getFeatureLayoutPosition(l);if(!c)return;const{bpPerPx:u,displayedRegions:f,offsetPx:d}=o,{featureRow:p,layoutIndex:h,layoutRow:m}=c,g=f[h],{refName:y,reversed:v}=g,{length:b,max:_,min:w}=l,S=(o.bpToPx({refName:y,coord:v?_:w,regionNumber:h})?.offsetPx??0)-d,x=(m+p)*r,E=b/u;if(t.fillStyle=i?.palette.action.selected??"rgba(0,0,0,04)",!s)throw new Error("featureTypeOntology is undefined");t.fillRect(S,x,E,r*IM(l,s))},drawTooltip:FM,getContextMenuItems:jM,getFeatureFromLayout:function(e,t,n,r){const o=PM(e,r)[n]||[];for(const e of o){let n;if(t>=e.min&&t<=e.max&&e.parent&&(n=e),n){if(r.isTypeOf(n.type,"CDS")&&n.parent&&(r.isTypeOf(n.parent.type,"transcript")||r.isTypeOf(n.parent.type,"pseudogenic_transcript"))){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:IM,getRowForFeature:function(e,t,n){const r=PM(e,n);for(const[e,n]of r.entries())if(n.some((e=>e._id===t._id)))return e},onMouseDown:function(e,t,n){const{featureAndGlyphUnderMouse:r}=t,{feature:o}=r,a=MM(t,o,e);a&&(n.stopPropagation(),e.startDrag(t,a.feature,a.edge))},onMouseLeave:DM,onMouseMove:function(e,t){if(rF(t)){const{featureAndGlyphUnderMouse:n}=t;e.setApolloHover(n);const{feature:r}=n;if(MM(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 qM(e){const t=[[e]];if(e.children)for(const[,n]of e.children)t.push(...qM(n));return t}function BM(e){return qM(e).length}function UM(e,t,n,r,o,a){const i=qM(t)[n-r];for(const t of i)zM(e,t,n,o,a)}function zM(e,t,n,r,o){const{apolloRowHeight:a,lgv:i,session:s}=r,{bpPerPx:l,displayedRegions:c,offsetPx:u}=i,f=c[o],d=(i.bpToPx({refName:f.refName,coord:t.min,regionNumber:o})?.offsetPx??0)-u,{reversed:p}=f,{apolloSelectedFeature:h}=s,m=t.length/l,g=p?d-m:d,y=n*a,v=BM(t),b=_M(t,h);v>1&&SM(e,g,y,m,v*a,b?"rgba(130,0,0,0.45)":"rgba(255,0,0,0.25)"),EM.draw(e,t,n,r,o)}const{drawDragPreview:HM,drawTooltip:GM,getContextMenuItems:WM,onMouseDown:$M,onMouseLeave:VM,onMouseMove:JM,onMouseUp:YM}=EM,KM={draw:function(e,t,n,r,o){for(let a=0;a<BM(t);a++)UM(e,t,n+a,n,r,o)},drawDragPreview:HM,drawHover:function(e,t){const{apolloHover:n,apolloRowHeight:r,lgv:o}=e;if(!n)return;const{feature:a}=n,i=e.getFeatureLayoutPosition(a);if(!i)return;const{featureRow:s,layoutIndex:l,layoutRow:c}=i,{bpPerPx:u,displayedRegions:f,offsetPx:d}=o,p=f[l],{refName:h,reversed:m}=p,{length:g,max:y,min:v}=a,b=(o.bpToPx({refName:h,coord:m?y:v,regionNumber:l})?.offsetPx??0)-d,_=(c+s)*r,w=g/u;t.fillStyle="rgba(0,0,0,0.2)",t.fillRect(b,_,w,r*BM(a))},drawTooltip:GM,getContextMenuItems:WM,getFeatureFromLayout:function(e,t,n){return qM(e)[n].find((e=>t>=e.min&&t<=e.max))},getRowCount:BM,getRowForFeature:function(e,t){const n=qM(e);for(const[e,r]of n.entries())if(r.some((e=>e._id===t._id)))return e},onMouseDown:$M,onMouseLeave:VM,onMouseMove:JM,onMouseUp:YM},ZM=p.observer((function({featureTypes:e,handleClose:t,onUpdate:n,session:r}){const[o,a]=u.useState(""),[i,s]=u.useState(e);return T.default.createElement(Ld,{open:!0,maxWidth:!1,"data-testid":"filter-features-dialog",title:"Filter features by type",handleClose:t},T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,null,"Select the feature types you want to display in the apollo track"),T.default.createElement(c.Grid2,{container:!0,spacing:2},T.default.createElement(c.Grid2,{size:8},T.default.createElement($N,{session:r,ontologyName:"Sequence Ontology",style:{width:"100%"},value:o,filterTerms:HN,renderInput:e=>T.default.createElement(c.TextField,{...e,label:"Feature type",variant:"outlined",fullWidth:!0}),onChange:(e,t)=>{t&&(e=>{a(e)})(t)}})),T.default.createElement(c.Grid2,{size:4},T.default.createElement(c.Button,{variant:"contained",onClick:()=>{if(o){if(i.includes(o))return;n([...i,o]),s([...i,o])}},disabled:!o,style:{marginTop:9},size:"medium"},"Add"))),i.length>0&&T.default.createElement("div",null,T.default.createElement("hr",null),T.default.createElement("div",{style:{width:300}},T.default.createElement(c.DialogContentText,null,"Selected feature types:"),T.default.createElement(c.Box,{sx:{display:"flex",flexWrap:"wrap",gap:.5}},i.map((e=>T.default.createElement(c.Chip,{key:e,label:e,onDelete:()=>{(e=>{const t=i.filter((t=>t!==e));n(t),s(t)})(e)}}))))))))}));function XM(e,t,n){const r=[];for(let o=e;o<e+t;o++){const e=n.get(o);e&&r.push(e)}return r}function QM(e,t){for(const r of e)for(const[e,o]of r)if(n.doesIntersect2(t.min,t.max,e,o)||n.doesIntersect2(e,o,t.min,t.max))return!1;return!0}function eF(e,t){return t?.palette.bases[e.toUpperCase()].main.toString()??"lightgray"}function tF(e,t,n,r,o){const a=Math.min(n,10);e.fillStyle="#000",e.font=`${a}px`;const i=e.measureText(r).width;e.fillText(r,t+(n-i)/2,o+10)}function nF(e,t,r,o,a,i,s,l,c,u,f,d){let p=s.slice(l,l+3).toUpperCase();c&&(p=function(e){return[...e].map((e=>n.revcom(e))).reverse().join("")}(p));const h=n.defaultCodonTable[p];if(!h)return;const m=function(e,t){return{M:"#33ee33","*":t?"#000000":"#f44336"}[e.toUpperCase()]}(h,d);m&&(f&&"*"==h||u&&"*"!=h)&&(e.fillStyle=m,e.fillRect(r,o,a,i)),t<=.1&&(e.rect(r,o,a,i),e.stroke(),tF(e,r,a,h,o))}function rF(e){return"featureAndGlyphUnderMouse"in e}function oF(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 aF(e,t){if(!(t>1||void 0===e))return 1===e?3:4}function iF(e,t,n,r,o,a){void 0!==o&&(e.fillStyle=t?.palette.action.focus??"rgba(0,0,0,0.04)",e.fillRect(n,r*o,a,r))}function sF(e,t){return function(e,t){const a=function(e,t){return function(e,t){const a=function(e,t){return function(e,t){const a=function(e,t){return function(e,t){const a=function(e,t){return o.BaseDisplay.named("BaseLinearApolloDisplay").props({type:l.types.literal("LinearApolloDisplay"),configuration:r.ConfigurationReference(t),graphical:!0,table:!1,showStartCodons:!1,showStopCodons:!0,highContrast:!1,heightPreConfig:l.types.maybe(l.types.refinement("displayHeight",l.types.number,(e=>e>=20))),filteredFeatureTypes:l.types.array(l.types.string),loadingState:!1}).views((e=>{const{configuration:t,renderProps:n}=e;return{renderProps:()=>({...n(),...x.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},get loading(){return e.loadingState}}))).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}=l.getRoot(e),{assemblyName:o}=t,{assemblyManager:a}=e.session,i=a.get(o);if(!i)throw new Error(`No assembly found with name ${o}`);const{internetAccountConfigId:s}=r.getConf(i,["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},toggleShowStartCodons(){e.showStartCodons=!e.showStartCodons},toggleShowStopCodons(){e.showStopCodons=!e.showStopCodons},toggleHighContrast(){e.highContrast=!e.highContrast},updateFilteredFeatureTypes(t){e.filteredFeatureTypes=l.cast(t)},setLoading(t){e.loadingState=t}}))).views((e=>{const{filteredFeatureTypes:t,trackMenuItems:n}=e;return{trackMenuItems(){const{graphical:r,table:o,showStartCodons:a,showStopCodons:i,highContrast:s}=e;return[...n(),{type:"subMenu",label:"Appearance",subMenu:[{label:"Show graphical display",type:"radio",checked:r&&!o,onClick:()=>{e.showGraphicalOnly()}},{label:"Show table display",type:"radio",checked:o&&!r,onClick:()=>{e.showTableOnly()}},{label:"Show both graphical and table display",type:"radio",checked:o&&r,onClick:()=>{e.showGraphicalAndTable()}},{label:"Show start codons",type:"checkbox",checked:a,onClick:()=>{e.toggleShowStartCodons()}},{label:"Show stop codons",type:"checkbox",checked:i,onClick:()=>{e.toggleShowStopCodons()}},{label:"Use high contrast colors",type:"checkbox",checked:s,onClick:()=>{e.toggleHighContrast()}}]},{label:"Filter features by type",onClick:()=>{const n=e.session;e.session.queueDialog((r=>[ZM,{session:n,handleClose:()=>{r()},featureTypes:l.getSnapshot(t),onUpdate:t=>{e.updateFilteredFeatureTypes(t)}}]))}}]}}})).actions((e=>({setSelectedFeature(t){e.session.apolloSetSelectedFeature(t)},afterAttach(){l.addDisposer(e,s.autorun((()=>{e.lgv.initialized&&!e.regionCannotBeRendered()&&(e.setLoading(!0),e.session.apolloDataStore.loadFeatures(e.regions).then((()=>{setTimeout((()=>{e.setLoading(!1)}),1e3)})),e.lgv.bpPerPx<=3&&e.session.apolloDataStore.loadRefSeq(e.regions))}),{name:"LinearApolloDisplayLoadFeatures",delay:1e3}))}})))}(0,t);return a.named("LinearApolloDisplayLayouts").props({cleanupBoundary:2e5}).volatile((()=>({seenFeatures:s.observable.map()}))).views((e=>({getAnnotationFeatureById:t=>e.seenFeatures.get(t),getGlyph:e=>e.looksLikeGene?LM:e.children?.size?KM:EM}))).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=>{const o=t.get(r.assemblyName),a=new Map,i=new Map,{end:s,refName:c,start:u}=r;for(const[t,r]of e.seenFeatures.entries()){if(!l.isAlive(r)){e.deleteSeenFeature(t);continue}if(c!==o?.getCanonicalRefName(r.refSeq)||!n.doesIntersect2(u,s,r.min,r.max)||e.filteredFeatureTypes.length>0&&!e.filteredFeatureTypes.includes(r.type))continue;const{featureTypeOntology:f}=e.session.apolloDataStore.ontologyManager;if(!f)throw new Error("featureTypeOntology is undefined");const d=e.getGlyph(r).getRowCount(r,f,e.lgv.bpPerPx);let p=0,h=!1;for(;!h;){let e=XM(p,d,i);if(e.length<d){for(let t=0;t<d-e.length;t++){const e=i.size;i.set(e,[]),a.set(e,[])}e=XM(p,d,i)}if(QM(e,r)){for(let e=p;e<p+d;e++){i.get(e)?.push([r.min,r.max]);const t=a.get(e);t?.push([e-p,r._id])}h=!0}else p+=1}}return a}))},getFeatureLayoutPosition(t){const{featureLayouts:n}=this,{featureTypeOntology:r}=e.session.apolloDataStore.ontologyManager;for(const[o,a]of n.entries())for(const[n,i]of a)for(const[a,s]of i){if(0!==a)continue;const i=e.getAnnotationFeatureById(s);if(i){if(t._id===i._id)return{layoutIndex:o,layoutRow:n,featureRow:a};if(i.hasDescendant(t._id)){if(!r)throw new Error("featureTypeOntology is undefined");const a=e.getGlyph(i).getRowForFeature(i,t,r);if(void 0!==a)return{layoutIndex:o,layoutRow:n,featureRow:a}}}}}}))).views((e=>({get highestRow(){return Math.max(0,...e.featureLayouts.map((e=>Math.max(...e.keys()))))}}))).actions((e=>({afterAttach(){l.addDisposer(e,s.autorun((()=>{if(e.lgv.initialized&&!e.regionCannotBeRendered()){for(const[t,r]of e.seenFeatures.entries()){let o=!1;for(const t of e.regions)if(n.doesIntersect2(t.start-e.cleanupBoundary,t.end+e.cleanupBoundary,r.min,r.max)){o=!0;break}o||e.deleteSeenFeature(t)}for(const t of e.regions){const r=e.session.apolloDataStore.assemblies.get(t.assemblyName),o=r?.getByRefName(t.refName),a=o?.features;if(a)for(const[,r]of a)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(){l.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 a of e.lgv.displayedRegions){for(const i of r){if(i.refSeq!==a.refName)continue;const{end:r,refSeq:s,start:l}=i,c=e.lgv.bpToPx({refName:s,coord:l,regionNumber:o});if(!c)continue;const u=c.offsetPx-e.lgv.offsetPx,f=(r-l)/e.lgv.bpPerPx;t.fillStyle="rgba(0,255,0,.2)",t.fillRect(u,1,f,100),t.fillStyle="black",t.fillText(n.name,u+1,11,f-2)}o++}}}}),{name:"LinearApolloDisplayRenderCollaborators"}))}})))}(0,t);return a.actions((e=>({afterAttach(){l.addDisposer(e,s.autorun((()=>{const{theme:t}=e;if(!e.lgv.initialized||e.regionCannotBeRendered())return;const r=3/e.lgv.bpPerPx;if(r<1)return;const o=e.seqTrackCanvas?.getContext("2d");if(!o)return;o.clearRect(0,0,e.lgv.dynamicBlocks.totalWidthPx,e.lgv.bpPerPx<=1?125:95);const a=e.lgv.bpPerPx<=1?[3,2,1,0,0,-1,-2,-3]:[3,2,1,-1,-2,-3];let i=0;if(t)for(const n of a){let r=t.palette.framesCDS.at(n)?.main;if(r){let n=0;e.highContrast&&(r="white",n=1,o.fillStyle=t.palette.grey[200],o.fillRect(0,i,e.lgv.dynamicBlocks.totalWidthPx,e.sequenceRowHeight)),o.fillStyle=r,o.fillRect(0+n,i+n,e.lgv.dynamicBlocks.totalWidthPx-2*n,e.sequenceRowHeight-2*n)}i+=e.sequenceRowHeight}for(const[t,a]of e.regions.entries()){const{apolloDataStore:i}=e.session,s=i.assemblies.get(a.assemblyName),l=s?.getByRefName(a.refName),c=l?.getSequence(a.start,a.end);if(!c)return;for(const[i,s]of[...c].entries()){const l=(e.lgv.bpToPx({refName:a.refName,coord:a.start+i,regionNumber:t})?.offsetPx??0)-e.lgv.offsetPx,u=e.lgv.displayedRegions[t].reversed?l-r:l;for(let t=2;t>=0;t--)(a.start+i)%3===t&&nF(o,e.lgv.bpPerPx,u,e.sequenceRowHeight*(2-t),r,e.sequenceRowHeight,c,i,!1,e.showStartCodons,e.showStopCodons,e.highContrast);if(e.lgv.bpPerPx<=1){const r=(e.lgv.bpToPx({refName:a.refName,coord:a.start+i,regionNumber:t})?.offsetPx??0)-e.lgv.offsetPx,l=1/e.lgv.bpPerPx,c=e.lgv.displayedRegions[t].reversed?r-l:r;o.beginPath(),o.fillStyle=eF(s,e.theme),o.rect(c,3*e.sequenceRowHeight,l,e.sequenceRowHeight),o.fill(),e.lgv.bpPerPx<=.1&&(o.stroke(),tF(o,c,l,s,3*e.sequenceRowHeight));const u=n.revcom(s);o.beginPath(),o.fillStyle=eF(u,e.theme),o.rect(c,4*e.sequenceRowHeight,l,e.sequenceRowHeight),o.fill(),e.lgv.bpPerPx<=.1&&(o.stroke(),tF(o,c,l,u,4*e.sequenceRowHeight))}for(let t=0;t<=2;t++)(a.start+i)%3===t&&nF(o,e.lgv.bpPerPx,u,e.sequenceRowHeight*((e.lgv.bpPerPx<=1?5:3)+t),r,e.sequenceRowHeight,c,i,!0,e.showStartCodons,e.showStopCodons,e.highContrast)}}}),{name:"LinearApolloDisplayRenderSequence"}))}})))}(0,t).actions((e=>({afterAttach(){l.addDisposer(e,s.autorun((()=>{const{canvas:t,featureLayouts:r,featuresHeight:o,lgv:a}=e;if(!a.initialized||e.regionCannotBeRendered())return;const{displayedRegions:i,dynamicBlocks:s}=a,l=t?.getContext("2d");if(l){l.clearRect(0,0,s.totalWidthPx,o);for(const[t,o]of r.entries()){const r=i[t];for(const[a,i]of o.entries())for(const[o,s]of i){const i=e.getAnnotationFeatureById(s);o>0||!i||n.doesIntersect2(r.start,r.end,i.min,i.max)&&e.getGlyph(i).draw(l,i,a,e,t)}}}}),{name:"LinearApolloDisplayRenderFeatures"}))}})))}(0,t);return a.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:a,top:i}=n.getBoundingClientRect(),s=r-a,l=o-i,{coord:c,index:u,refName:f}=t.pxToBp(s);return{x:s,y:l,refName:f,bp:c,regionNumber:u}}(t,e.lgv),{bp:r,regionNumber:o,y:a}=n,i=Math.floor(a/e.apolloRowHeight),s=e.featureLayouts[o].get(i);if(!s)return n;const l=s.find((t=>{const n=e.getAnnotationFeatureById(t[1]);return n&&r>=n.min&&r<=n.max}));if(!l)return n;const[c,u]=l,f=e.getAnnotationFeatureById(u);if(!f)return n;const d=e.getGlyph(f),{featureTypeOntology:p}=e.session.apolloDataStore.ontologyManager;if(!p)throw new Error("featureTypeOntology is undefined");const h=d.getFeatureFromLayout(f,r,c,p);return h?{...n,featureAndGlyphUnderMouse:{feature:h,topLevelFeature:f,glyph:d}}: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(){l.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:a,sequenceRowHeight:i,session:s,theme:l}=e;if(!r)return;const{feature:c}=r,{featureTypeOntology:u}=s.apolloDataStore.ontologyManager;if(!u)throw new Error("featureTypeOntology is undefined");for(const[e,r]of a.entries())if(u.isTypeOf(c.type,"CDS")){const a=c.parent;if(!a)continue;const s=a.cdsLocations.find((e=>c.min===e.at(0)?.min&&c.max===e.at(-1)?.max));if(!s)continue;for(const a of s){const s=oF(n.getFrame(a.min,a.max,c.strand??1,a.phase),o.bpPerPx),u=(o.bpToPx({refName:r.refName,coord:a.min,regionNumber:e})?.offsetPx??0)-o.offsetPx,f=(a.max-a.min)/o.bpPerPx;iF(t,l,o.displayedRegions[e].reversed?u-f:u,i,s,f)}}else{const n=aF(c.strand,o.bpPerPx),a=(o.bpToPx({refName:r.refName,coord:c.min,regionNumber:e})?.offsetPx??0)-o.offsetPx,s=c.length/o.bpPerPx;iF(t,l,o.displayedRegions[e].reversed?a-s:a,i,n,s)}}),{name:"LinearApolloDisplayRenderSeqHighlight"}))}})))}(0,t);return a.views((e=>({contextMenuItems(t){const{apolloHover:n}=e;if(!n||!t)return[];const{topLevelFeature:r}=n;return e.getGlyph(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:a}=e.lgv,i=e.getAssemblyId(a[o.regionNumber].assemblyName);let s;if("max"===n){const e=r._id;s=new er.LocationEndChange({typeName:"LocationEndChange",changedIds:[e],featureId:e,oldEnd:r.max,newEnd:t.bp,assembly:i})}else{const e=r._id;s=new er.LocationStartChange({typeName:"LocationStartChange",changedIds:[e],featureId:e,oldStart:r.min,newStart:t.bp,assembly:i})}e.changeManager.submit(s),e.setDragging(),e.setCursor()}}))).actions((e=>({onMouseDown(t){const n=e.getMousePosition(t);rF(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);rF(n)?n.featureAndGlyphUnderMouse.glyph.onMouseMove(e,n,t):(e.setApolloHover(),e.setCursor())},onMouseLeave(t){e.setDragging(),e.setApolloHover();const n=e.getMousePosition(t);rF(n)&&n.featureAndGlyphUnderMouse.glyph.onMouseLeave(e,n,t)},onMouseUp(t){const n=e.getMousePosition(t);rF(n)&&n.featureAndGlyphUnderMouse.glyph.onMouseUp(e,n,t),e.apolloDragging&&e.endDrag()}}))).actions((e=>({afterAttach(){l.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&&e.getGlyph(n.feature.topLevelFeature).drawDragPreview(e,t)}),{name:"LinearApolloDisplayRenderMouseoverAndDrag"}))}})))}(0,t).props({tabularEditor:l.types.optional(bM,{})}).named("LinearApolloDisplay")}const lF=r.ConfigurationSchema("LinearApolloSixFrameDisplay",{},{explicitIdentifier:"displayId",explicitlyTyped:!0});let cF=null,uF=null,fF=null,dF=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 a="light"===t?"rgba(0,0,0,0)":"rgba(0,0,0,0.75)",i="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,a),s.addColorStop(.25,a),s.addColorStop(.25,i),s.addColorStop(.5,i),s.addColorStop(.5,a),s.addColorStop(.75,a),s.addColorStop(.75,i),s.addColorStop(1,i),o.fillStyle=s,o.fillRect(0,0,10,10),"forward"===e?"light"===t?cF=o.createPattern(n,"repeat"):fF=o.createPattern(n,"repeat"):"light"===t?uF=o.createPattern(n,"repeat"):dF=o.createPattern(n,"repeat")}}function pF(e,t){for(const n of e)if(IN(n,t))return!0;return!1}function hF(e,t,r,o){const{session:a}=o,{apolloDataStore:i}=a,{featureTypeOntology:s}=i.ontologyManager;if(!s)throw new Error("featureTypeOntology is undefined");const l=s.isTypeOf(r.type,"transcript");if(null===t)return;const{bp:c,refName:u,regionNumber:f,x:d}=e,{lgv:p}=o,{offsetPx:h}=p,m=p.bpToPx({refName:u,coord:t.min,regionNumber:f}),g=p.bpToPx({refName:u,coord:t.max,regionNumber:f});if(void 0!==m&&void 0!==g&&!(Math.abs(g.offsetPx-h-(m.offsetPx-h))<8)&&l){const e=r;if(!e.children)return;const t=[];for(const n of e.children.values())s.isTypeOf(n.type,"exon")&&t.push(n);const o=t.find((e=>{const[t,r]=n.intersection2(c,c+1,e.min,e.max);return void 0!==t&&void 0!==r}));if(!o)return;const a=p.bpToPx({refName:u,coord:o.min,regionNumber:f}),i=p.bpToPx({refName:u,coord:o.max,regionNumber:f});if(void 0===a||void 0===i)return;const l=a.offsetPx-h,m=i.offsetPx-h;if(Math.abs(m-l)<8)return;if(Math.abs(l-d)<4)return{feature:o,edge:"min"};if(Math.abs(m-d)<4)return{feature:o,edge:"max"}}}const mF={draw:function(e,t,r,o,a){const{apolloRowHeight:i,lgv:s,session:l,theme:u,highestRow:f}=o,{bpPerPx:d,displayedRegions:p,offsetPx:h}=s,m=p[a],{refName:g,reversed:y}=m,v=i,b=Math.round(.6*v),_=Math.round(.7*v),{children:w,min:S,strand:x,_id:E}=t;if(!w)return;const{apolloSelectedFeature:k}=l,{apolloDataStore:A}=l,{featureTypeOntology:C}=A.ontologyManager;if(!C)throw new Error("featureTypeOntology is undefined");const O=(s.bpToPx({refName:g,coord:S,regionNumber:a})?.offsetPx??0)-h,N=t.length/d,R=y?O-N:O,T=(1==x?3:4)*v,I=Math.round(.7*v);e.fillStyle=u?.palette.text.primary??"black",e.fillRect(R,T,N,I),e.fillStyle=c.alpha(k&&E===k._id?"rgb(0,0,0)":u?.palette.background.paper??"#ffffff",.7),e.fillRect(R+1,T+1,N-2,I-2);const P="dark"===u?.palette.mode?fF:cF,M="dark"===u?.palette.mode?dF:uF,F=y?-1:1;let j=null,D=null;x&&([j,D]=x*F==1?[P,M]:[M,P]),j&&D&&(e.fillStyle=j,e.fillRect(R+1,T+1,N-2,(I-2)/2),e.fillStyle=D,e.fillRect(R+1,T+(I-2)/2,N-2,(I-2)/2));const L=new Set;for(const[,t]of w){if(!C.isTypeOf(t.type,"transcript")&&!C.isTypeOf(t.type,"pseudogenic_transcript"))continue;const{children:r,cdsLocations:o,_id:i}=t;if(r){for(const[,t]of r){if(!C.isTypeOf(t.type,"exon"))continue;const n=(s.bpToPx({refName:g,coord:t.min,regionNumber:a})?.offsetPx??0)-h,r=t.length/d,o=y?n-r:n,i=T+(I-b)/2;e.fillStyle=u?.palette.text.primary??"black",e.fillRect(o,i,r,b),r>2&&(e.clearRect(o+1,i+1,r-2,b-2),e.fillStyle=k&&t._id===k._id?"rgb(0,0,0)":c.alpha("#f5f500",.6),e.fillRect(o+1,i+1,r-2,b-2),j&&D&&(e.fillStyle=j,e.fillRect(o+1,i+1,r-2,(b-2)/2),e.fillStyle=D,e.fillRect(o+1,i+1+(b-2)/2,r-2,(b-2)/2)))}for(const r of o){let o=0,l=0,c=1;for(const p of r.sort(((e,t)=>e.max-t.max)))if(k&&C.isTypeOf(k.type,"CDS")&&i===k.parent?._id||!pF(L,p)){const r=(p.max-p.min)/d,m=(s.bpToPx({refName:g,coord:p.min,regionNumber:a})?.offsetPx??0)-h,b=y?m-r:m;e.fillStyle=u?.palette.text.primary??"black";const w=n.getFrame(p.min,p.max,t.strand??1,p.phase),S=((w<0?-1*w+5:w)-1)*v+(v-_)/2;if(e.fillRect(b,S,r,_),r>2){e.clearRect(b+1,S+1,r-2,_-2);const t=u?.palette.framesCDS.at(w)?.main,n=t??"rgb(171,71,188)";if(e.fillStyle=n,e.fillStyle=k&&C.isTypeOf(k.type,"CDS")&&i===k.parent?._id?"rgb(0,0,0)":n,e.fillRect(b+1,S+1,r-2,_-2),c>1){const t=[(b-l)/2+l,Math.max(w<0?v*f+1:1,Math.min(o,S)-v/2)];e.strokeStyle="rgb(0, 128, 128)",e.beginPath(),e.moveTo(l,o),e.lineTo(...t),e.stroke(),e.moveTo(...t),e.lineTo(b,S+v/2),e.stroke()}l=b+r,o=S+v/2,c+=1,j&&D&&(e.fillStyle=j,e.fillRect(b+1,S+1,r-2,(_-2)/2),e.fillStyle=D,e.fillRect(b+1,S+(_-2)/2,r-2,(_-2)/2))}L.add(p)}}}}},drawDragPreview:function(e,t){const{apolloDragging:n,apolloRowHeight:r,lgv:o,theme:a}=e,{bpPerPx:i,displayedRegions:s,offsetPx:l}=o;if(!n)return;const{current:u,edge:f,feature:d,start:p}=n,h=Math.floor(p.y/r),m=s[p.regionNumber],g=(m.reversed?m.end-d[f]:d[f]-m.start)/i-l,y=Math.min(u.x,g),v=h*r,b=Math.abs(u.x-g),_=1*r;t.strokeStyle=a?.palette.info.main??"rgb(255,0,0)",t.setLineDash([6]),t.strokeRect(y,v,b,_),t.fillStyle=c.alpha(a?.palette.info.main??"rgb(255,0,0)",.2),t.fillRect(y,v,b,_)},drawHover:function(e,t){const{apolloHover:r,apolloRowHeight:o,lgv:a,highestRow:i,session:s}=e;if(!r)return;const{apolloDataStore:l}=s,{featureTypeOntology:c}=l.ontologyManager;if(!c)throw new Error("featureTypeOntology is undefined");const{feature:u}=r;if(!c.isTypeOf(u.type,"transcript"))return;const f=e.getFeatureLayoutPosition(u);if(!f)return;const{bpPerPx:d,displayedRegions:p,offsetPx:h}=a,{layoutIndex:m}=f,g=p[m],{refName:y,reversed:v}=g,b=o,_=Math.round(.7*b),{cdsLocations:w,strand:S}=u;for(const e of w){let r=0,o=0,s=1;for(const l of e.sort(((e,t)=>e.max-t.max))){const e=(l.max-l.min)/d;if(e>2){const c=(a.bpToPx({refName:y,coord:l.min,regionNumber:m})?.offsetPx??0)-h,u=v?c-e:c,f=n.getFrame(l.min,l.max,S??1,l.phase),d=((f<0?-1*f+5:f)-1)*b+(b-_)/2;if(t.fillStyle="rgba(255,0,0,0.6)",t.fillRect(u,d,e,_),s>1){const e=[(u-o)/2+o,Math.max(f<0?b*i+1:1,Math.min(r,d)-b/2)];t.strokeStyle="rgb(0, 0, 0)",t.lineWidth=2,t.beginPath(),t.moveTo(o,r),t.lineTo(...e),t.stroke(),t.moveTo(...e),t.lineTo(u,d+b/2),t.stroke()}o=u+e,r=d+b/2,s+=1}}}},drawTooltip:function(e,t){const{apolloHover:r,apolloRowHeight:o,lgv:a,theme:i}=e;if(!r)return;const{cds:s,feature:l}=r;if(!s)return;const u=e.getFeatureLayoutPosition(l);if(!u)return;const{layoutIndex:f}=u,{bpPerPx:d,displayedRegions:p,offsetPx:h}=a,m=p[f],{refName:g,reversed:y}=m,v=o,b=Math.round(.7*v);let _="Loc: ";const{strand:w}=l,{max:S,min:x,phase:E}=s;_+=`${x+1}–${S}`;let k=(a.bpToPx({refName:g,coord:y?S:x,regionNumber:f})?.offsetPx??0)-h;const A=n.getFrame(x,S,w??1,E),C=((A<0?-1*A+5:A)-1)*v+(v-b)/2,O=(S-x)/d,N=`Type: ${s.type}`,{attributes:R}=l,T=R.get("gff_name")?.find((e=>""!==e)),I=[t.measureText(N).width,t.measureText(_).width];T&&I.push(t.measureText(`Parent Type: ${l.type}`).width,t.measureText(`Parent Name: ${T}`).width);const P=Math.max(...I);k=k+O+5,t.fillStyle=c.alpha(i?.palette.text.primary??"rgb(1, 1, 1)",.7),t.fillRect(k,C,P+4,4===I.length?55:35),t.beginPath(),t.moveTo(k,C),t.lineTo(k-5,C+5),t.lineTo(k,C+10),t.fill(),t.fillStyle=i?.palette.background.default??"rgba(255, 255, 255)";let M=C+12;t.fillText(N,k+2,M),T&&(M+=12,t.fillText(`Parent Type: ${l.type}`,k+2,M),M+=12,t.fillText(`Parent Name: ${T}`,k+2,M)),M+=12,t.fillText(_,k+2,M)},getContextMenuItems:function(e){const{apolloHover:t,apolloInternetAccount:r,changeManager:o,regions:a,selectedFeature:i,session:s}=e,l=[];if(!t)return l;const{feature:c}=t,u=r?r.role:"admin",f="admin"===u,d=!(u&&["admin","user"].includes(u)),[p]=a,h=e.getAssemblyId(p.assemblyName),m=e.getAssemblyId(p.assemblyName);l.push({label:"Add child feature",disabled:d,onClick:()=>{s.queueDialog((e=>[VN,{session:s,handleClose:()=>{e()},changeManager:o,sourceFeature:c,sourceAssemblyId:h,internetAccount:r}]))}},{label:"Copy features and annotations",disabled:d,onClick:()=>{s.queueDialog((e=>[XN,{session:s,handleClose:()=>{e()},changeManager:o,sourceFeature:c,sourceAssemblyId:m}]))}},{label:"Delete feature",disabled:!f,onClick:()=>{s.queueDialog((t=>[eR,{session:s,handleClose:()=>{t()},changeManager:o,sourceFeature:c,sourceAssemblyId:m,selectedFeature:i,setSelectedFeature:t=>{e.setSelectedFeature(t)}}]))}},{label:"Edit feature details",onClick:()=>{const e=s.addWidget("ApolloFeatureDetailsWidget","apolloFeatureDetailsWidget",{feature:c,assembly:m,refName:p.refName});s.showWidget(e)}});const{featureTypeOntology:g}=s.apolloDataStore.ontologyManager;if(!g)throw new Error("featureTypeOntology is undefined");return g.isTypeOf(c.type,"transcript")&&n.isSessionModelWithWidgets(s)&&l.push({label:"Edit transcript details",onClick:()=>{const e=s.addWidget("ApolloTranscriptDetails","apolloTranscriptDetails",{feature:c,assembly:m,changeManager:o,refName:p.refName});s.showWidget(e)}}),l},onMouseDown:function(e,t,n){const{featureAndGlyphUnderMouse:r}=t,{cds:o,feature:a}=r,i=hF(t,o,a,e);i&&(n.stopPropagation(),e.startDrag(t,i.feature,i.edge))},onMouseLeave:function(){},onMouseMove:function(e,t){if(gF(t)){const{featureAndGlyphUnderMouse:n}=t;e.setApolloHover(n);const{cds:r,feature:o}=n;if(hF(t,r,o,e))return void e.setCursor("col-resize")}e.setCursor()},onMouseUp:function(e,t){if(e.apolloDragging)return;const{featureAndGlyphUnderMouse:n}=t,{session:r}=e,{apolloDataStore:o}=r,{featureTypeOntology:a}=o.ontologyManager;if(n?.cds){const{cds:t,feature:r}=n;if(!a)throw new Error("featureTypeOntology is undefined");if(!r.children)return;for(const n of r.children.values())if(a.isTypeOf(n.type,"CDS")&&t.max<=n.max&&t.min>=n.min){e.setSelectedFeature(n);break}}else n?.feature&&e.setSelectedFeature(n.feature)}};function gF(e){return"featureAndGlyphUnderMouse"in e}function yF(e,t){return function(e,t){const a=function(e,t){return function(e,t){const a=function(e,t){return function(e,t){const a=function(e,t){return o.BaseDisplay.named("BaseLinearApolloSixFrameDisplay").props({type:l.types.literal("LinearApolloSixFrameDisplay"),configuration:r.ConfigurationReference(t),graphical:!0,table:!1,heightPreConfig:l.types.maybe(l.types.refinement("displayHeight",l.types.number,(e=>e>=20))),filteredFeatureTypes:l.types.array(l.types.string)}).views((e=>{const{configuration:t,renderProps:n}=e;return{renderProps:()=>({...n(),...x.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}=l.getRoot(e),{assemblyName:o}=t,{assemblyManager:a}=e.session,i=a.get(o);if(!i)throw new Error(`No assembly found with name ${o}`);const{internetAccountConfigId:s}=r.getConf(i,["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},updateFilteredFeatureTypes(t){e.filteredFeatureTypes=l.cast(t)}}))).views((e=>{const{filteredFeatureTypes:t,trackMenuItems:n}=e;return{trackMenuItems(){const{graphical:r,table:o}=e;return[...n(),{type:"subMenu",label:"Appearance",subMenu:[{label:"Show graphical display",type:"radio",checked:r&&!o,onClick:()=>{e.showGraphicalOnly()}},{label:"Show table display",type:"radio",checked:o&&!r,onClick:()=>{e.showTableOnly()}},{label:"Show both graphical and table display",type:"radio",checked:o&&r,onClick:()=>{e.showGraphicalAndTable()}}]},{label:"Filter features by type",onClick:()=>{const n=e.session;e.session.queueDialog((r=>[ZM,{session:n,handleClose:()=>{r()},featureTypes:l.getSnapshot(t),onUpdate:t=>{e.updateFilteredFeatureTypes(t)}}]))}}]}}})).actions((e=>({setSelectedFeature(t){e.session.apolloSetSelectedFeature(t)},afterAttach(){l.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:"LinearApolloSixFrameDisplayLoadFeatures",delay:1e3}))}})))}(0,t);return a.named("LinearApolloSixFrameDisplayLayouts").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 a,i;const{end:s,refName:l,start:c}=r;for(const[,t]of e.seenFeatures)l!==o?.getCanonicalRefName(t.refSeq)||!n.doesIntersect2(c,s,t.min,t.max)||t.length>e.featuresMinMaxLimit||(void 0===a&&({min:a}=t),void 0===i&&({max:i}=t),t.minWithChildren<a&&({min:a}=t),t.maxWithChildren>i&&({max:i}=t));if(void 0!==a&&void 0!==i)return[a,i]}))},getGlyph:e=>mF}))).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 a=t.get(r.assemblyName),i=new Map;if(!e.featuresMinMax[o])return i;const{end:s,refName:c,start:u}=r;for(const[t,r]of e.seenFeatures.entries()){if(!l.isAlive(r)){e.deleteSeenFeature(t);continue}if(c!==a?.getCanonicalRefName(r.refSeq)||!n.doesIntersect2(u,s,r.min,r.max))continue;const{featureTypeOntology:o}=e.session.apolloDataStore.ontologyManager;if(!o)throw new Error("featureTypeOntology is undefined");if(r.looksLikeGene){const e=1==r.strand?4:5;i.get(e)||i.set(e,[]);const t=i.get(e);t?.push({rowNum:e,feature:r,cds:null});const{children:a}=r;if(!a)continue;for(const[,e]of a)if(o.isTypeOf(e.type,"transcript")){const{cdsLocations:t,strand:r,children:a}=e;if(a)for(const[,e]of a){if(!o.isTypeOf(e.type,"exon"))continue;const t=1==e.strand?4:5,n=i.get(t);n?.push({rowNum:t,feature:e,cds:null})}for(const o of t)for(const t of o){let o=n.getFrame(t.min,t.max,r??1,t.phase);o=o<0?-1*o+5:o,i.get(o)||i.set(o,[]);const a=i.get(o);a?.push({rowNum:o,feature:e,cds:t})}}}}return i}))},getFeatureLayoutPosition(e){const{featureLayouts:t}=this;for(const[n,r]of t.entries())for(const[,t]of r)for(const{feature:r}of t)if(e._id===r._id)return{layoutIndex:n,layoutRow:0,featureRow:0}}}))).views((e=>({get highestRow(){return 5}}))).actions((e=>({afterAttach(){l.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),a=o?.features;if(a)for(const[,r]of a)n.doesIntersect2(t.start,t.end,r.min,r.max)&&!e.seenFeatures.has(r._id)&&e.addSeenFeature(r)}}),{name:"LinearApolloSixFrameDisplaySetSeenFeatures",delay:1e3}))}})))}(0,t).named("LinearApolloSixFrameDisplayRendering").props({sequenceRowHeight:15,apolloRowHeight:20,detailsMinHeight:200,detailsHeight:200,lastRowTooltipBufferHeight:80,isShown:!0}).volatile((()=>({canvas:null,overlayCanvas:null,collaboratorCanvas: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},setTheme(t){e.theme=t},afterAttach(){l.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 a of e.lgv.displayedRegions){for(const i of r){if(i.refSeq!==a.refName)continue;const{end:r,refSeq:s,start:l}=i,c=e.lgv.bpToPx({refName:s,coord:l,regionNumber:o});if(!c)continue;const u=c.offsetPx-e.lgv.offsetPx,f=(r-l)/e.lgv.bpPerPx;t.fillStyle="rgba(0,255,0,.2)",t.fillRect(u,1,f,100),t.fillStyle="black",t.fillText(n.name,u+1,11,f-2)}o++}}}}),{name:"LinearApolloSixFrameDisplayRenderCollaborators"}))}})))}(0,t);return a.actions((e=>({afterAttach(){l.addDisposer(e,s.autorun((()=>{const{canvas:t,featureLayouts:r,featuresHeight:o,lgv:a}=e;if(!a.initialized||e.regionCannotBeRendered())return;const{displayedRegions:i,dynamicBlocks:s}=a,l=t?.getContext("2d");if(l){l.clearRect(0,0,s.totalWidthPx,o);for(const[t,o]of r.entries()){const r=i[t];for(const[a,i]of o.entries())for(const{feature:o}of i){if(!o.looksLikeGene)continue;if(!n.doesIntersect2(r.start,r.end,o.min,o.max))continue;const{topLevelFeature:i}=o,s=e.getGlyph(i);void 0!==s&&s.draw(l,i,a,e,t)}}}}),{name:"LinearApolloSixFrameDisplayRenderFeatures"}))}})))}(0,t).named("LinearApolloSixFrameDisplayMouseEvents").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:a,top:i}=n.getBoundingClientRect(),s=r-a,l=o-i,{coord:c,index:u,refName:f}=t.pxToBp(s);return{x:s,y:l,refName:f,bp:c,regionNumber:u}}(t,e.lgv),{bp:r,regionNumber:o,y:a}=n,i=Math.floor(a/e.apolloRowHeight)+1,s=e.featureLayouts[o].get(i);if(!s)return n;let l;if([4,5].includes(i)?(l=s.find((e=>"exon"==e.feature.type&&r>=e.feature.min&&r<=e.feature.max)),l||(l=s.find((e=>r>=e.feature.min&&r<=e.feature.max)))):l=s.find((e=>null!=e.cds&&r>=e.cds.min&&r<=e.cds.max)),!l)return n;const{feature:c,cds:u}=l,{topLevelFeature:f}=c,d=e.getGlyph(c);return{...n,featureAndGlyphUnderMouse:{cds:u,feature:c,topLevelFeature:f,glyph:d}}}}))).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);return a.views((e=>({contextMenuItems(t){const{apolloHover:n}=e;if(!n||!t)return[];const{topLevelFeature:r}=n;return e.getGlyph(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:a}=e.lgv,i=e.getAssemblyId(a[o.regionNumber].assemblyName);let s;if("max"===n){const e=r._id;s=new er.LocationEndChange({typeName:"LocationEndChange",changedIds:[e],featureId:e,oldEnd:r.max,newEnd:t.bp,assembly:i})}else{const e=r._id;s=new er.LocationStartChange({typeName:"LocationStartChange",changedIds:[e],featureId:e,oldStart:r.min,newStart:t.bp,assembly:i})}e.changeManager.submit(s),e.setDragging(),e.setCursor()}}))).actions((e=>({onMouseDown(t){const n=e.getMousePosition(t);gF(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);gF(n)?n.featureAndGlyphUnderMouse.glyph.onMouseMove(e,n,t):(e.setApolloHover(),e.setCursor())},onMouseLeave(t){e.setDragging(),e.setApolloHover();const n=e.getMousePosition(t);gF(n)&&n.featureAndGlyphUnderMouse.glyph.onMouseLeave(e,n,t)},onMouseUp(t){const n=e.getMousePosition(t);gF(n)&&n.featureAndGlyphUnderMouse.glyph.onMouseUp(e,n,t),e.apolloDragging&&e.endDrag()}}))).actions((e=>({afterAttach(){l.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&&e.getGlyph(n.feature.topLevelFeature).drawDragPreview(e,t)}),{name:"LinearApolloSixFrameDisplayRenderMouseoverAndDrag"}))}})))}(0,t).props({tabularEditor:l.types.optional(bM,{})}).named("LinearApolloSixFrameDisplay")}const vF=r.ConfigurationSchema("ApolloPlugin",{ontologies:l.types.array(zN),featureTypeOntologyName:{description:"Name of the feature type ontology",type:"string",defaultValue:"Sequence Ontology"}});function bF(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:a}=t,i=o.get(a);if(!i)throw new Error(`Could not find assembly named ${a}`);return i},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 a=[...Object.entries(o)].filter((([e,t])=>e!==t)).map((([e,t])=>({_id:e,name:t}))),i=a.find((e=>e.name===r))?._id;if(!i)throw new Error(`Could not find refSeqId named ${r}`);return i},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 a=0;const i=t.get("start");let s;const l=[];for(const[e,t]of o)"M"===e||"="===e?void 0===s&&(s=a+i):"N"===e&&void 0!==s&&(l.push({start:s,end:a+s}),s=void 0),"I"!==e&&(a+=t);void 0!==s&&l.push({start:s,end:a+i});const c={_id:$n().toHexString(),refSeq:r,min:t.get("start"),max:t.get("end"),type:"mRNA",strand:t.get("strand")};if(0===l.length)return c;c.children={};const[u]=l,f={_id:$n().toHexString(),refSeq:r,min:u.start,max:u.end,type:"CDS",strand:t.get("strand")};if(c.children[f._id]=f,1===l.length){const e={_id:$n().toHexString(),refSeq:r,min:u.start,max:u.end,type:"exon",strand:t.get("strand")};return c.children[e._id]=e,c}for(const e of l){f.min=Math.min(f.min,e.start),f.max=Math.max(f.max,e.end);const{end:n,start:o}=e,a={_id:$n().toHexString(),refSeq:r,min:o,max:n,type:"exon",strand:t.get("strand")};c.children[a._id]=a}return c},async onPileupFeatureContext(){const t=e.createFeature(),r=e.getAssembly(),o=new er.AddFeatureChange({changedIds:[t._id],typeName:"AddFeatureChange",assembly:r.name,addedFeature:t}),a=n.getSession(e);await a.apolloDataStore.changeManager.submit(o),a.notify("Annotation added successfully","success")}}))).views((e=>{const t=e.contextMenuItems;return{contextMenuItems:()=>e.contextMenuFeature?[...t(),{label:"Create Apollo annotation",icon:ec,onClick:e.onPileupFeatureContext}]:t()}}));return e.stateModel=r,e}const _F=(e,t)=>{const{featureTypeOntology:n}=t.apolloDataStore.ontologyManager;if(!n)throw new Error("featureTypeOntology is undefined");return n.isTypeOf(e.type,"gene")||n.isTypeOf(e.type,"transcript")||n.isTypeOf(e.type,"pseudogene")||n.isTypeOf(e.type,"pseudogenic_transcript")},wF=(e,t)=>{const{featureTypeOntology:n}=t.apolloDataStore.ontologyManager;if(!n)throw new Error("featureTypeOntology is undefined");return n.isTypeOf(e.type,"gene")||n.isTypeOf(e.type,"pseudogene")},SF=(e,t)=>{const{featureTypeOntology:n}=t.apolloDataStore.ontologyManager;if(!n)throw new Error("featureTypeOntology is undefined");return n.isTypeOf(e.type,"transcript")||n.isTypeOf(e.type,"pseudogenic_transcript")},xF=e=>{const{attributes:t}=e,n=t?.id;return n?n[0]:e.type},EF=(e,t)=>{const{featureTypeOntology:n}=t.apolloDataStore.ontologyManager;if(!n)return xF(e);let r="";n.isTypeOf(e.type,"gene")&&(r="gene_name"),n.isTypeOf(e.type,"transcript")&&(r="transcript_name");const{attributes:o}=e,a=o?.[r];return a?a[0]:xF(e)};function kF({annotationFeature:e,assembly:t,handleClose:n,refSeqId:r,session:o}){const a=o,i=u.useMemo((()=>Object.keys(e.children??{})),[e]),s=u.useMemo((()=>{for(const[,e]of a.apolloDataStore.assemblies)if(e._id===t.name)for(const[,t]of e.refSeqs)if(t._id===r)return t.features;return[]}),[]),[f,d]=u.useState(!0),[p,h]=u.useState(i),[m,g]=u.useState(""),[y,v]=u.useState([]),[b,_]=u.useState();return u.useEffect((()=>{g("");let t=[],n=[];if(e.children){const r=Object.values(e.children).filter((e=>SF(e,a))).filter((e=>p.includes(e._id)));t=r.map((e=>e.min)),n=r.map((e=>e.max))}const{featureTypeOntology:r}=a.apolloDataStore.ontologyManager;r&&r.isTypeOf(e.type,"transcript")&&(t=[e.min,...t],n=[e.max,...n]);const o=((e,t)=>{const n=[];for(const[,r]of s){if("chromosome"===r.type)continue;const o=l.getSnapshot(r);e>=o.min&&t<=o.max&&n.push(o)}return n})(Math.min(...t),Math.max(...n));v(o),_(o[0])}),[p,f]),T.default.createElement(Ld,{open:!0,title:"Create Apollo Annotation",handleClose:n,fullWidth:!0,maxWidth:"sm"},T.default.createElement(c.DialogTitle,{fontSize:15},"Select the feature to be copied to apollo track"),T.default.createElement(c.DialogContent,null,T.default.createElement(c.Box,{sx:{ml:3}},_F(e,a)&&T.default.createElement(c.FormControlLabel,{control:T.default.createElement(c.Checkbox,{size:"small",checked:f,onChange:e=>{const t=e.target.checked;d(t),h(t?i:[])}}),label:`${EF(e,a)} (${e.min+1}..${e.max})`}),e.children&&T.default.createElement(c.Box,{sx:{display:"flex",flexDirection:"column",ml:3}},Object.values(e.children).filter((e=>SF(e,a))).map((e=>T.default.createElement(c.FormControlLabel,{key:e._id,control:T.default.createElement(c.Checkbox,{size:"small",checked:p.includes(e._id),onChange:t=>{((e,t)=>{h((n=>e.target.checked?[...n,t._id]:n.filter((e=>e!==t._id))))})(t,e)}}),label:`${EF(e,a)} (${e.min+1}..${e.max})`}))))),y.length>0&&(!f&&p.length>0||f&&SF(e,a))&&T.default.createElement(c.Box,{sx:{ml:3}},T.default.createElement(c.Typography,{variant:"caption",fontSize:12},"Select the destination feature to copy the selected features"),T.default.createElement(c.Box,{sx:{mt:1}},T.default.createElement(c.Select,{labelId:"label",style:{width:"100%"},value:b?._id??"",onChange:e=>{const t=y.find((t=>t._id===e.target.value));_(t)}},y.map((e=>T.default.createElement(c.MenuItem,{key:e._id,value:e._id},`${EF(e,a)} (${e.min}..${e.max})`))))))),T.default.createElement(c.DialogActions,null,T.default.createElement(c.Button,{variant:"contained",type:"submit",disabled:0===p.length||!f&&p.length>0&&!b,onClick:async()=>{if(f){let r;if(wF(e,a))if(e.children&&p.length!==Object.values(e.children).length){const n={};for(const t of p)n[t]=e.children[t];r=new er.AddFeatureChange({changedIds:[e._id],typeName:"AddFeatureChange",assembly:t.name,addedFeature:{...e,children:n}})}else r=new er.AddFeatureChange({changedIds:[e._id],typeName:"AddFeatureChange",assembly:t.name,addedFeature:e});if(SF(e,a)){if(!b)return void g("There is no destination gene for this transcript");r=new er.AddFeatureChange({parentFeatureId:b._id,changedIds:[b._id],typeName:"AddFeatureChange",assembly:t.name,addedFeature:e})}if(!r)return;await a.apolloDataStore.changeManager.submit(r),o.notify("Annotation added successfully","success"),n()}else{if(!e.children)return;if(!b)return;for(const n of p){const r=new er.AddFeatureChange({parentFeatureId:b._id,changedIds:[b._id],typeName:"AddFeatureChange",assembly:t.name,addedFeature:e.children[n]});await a.apolloDataStore.changeManager.submit(r)}o.notify("Annotation added successfully","success"),n()}}},"Create"),T.default.createElement(c.Button,{variant:"outlined",type:"submit",onClick:n},"Cancel")),m?T.default.createElement(c.DialogContent,null,T.default.createElement(c.DialogContentText,{color:"error"},m)):null)}function AF(e,t){const n=JSON.parse(JSON.stringify(e)),r=n.subfeatures;return[{start:n.start+1,end:n.end,seq_id:t,source:n.source??null,type:n.type??null,score:n.score??null,strand:n.strand?1===n.strand?"+":"-":null,phase:null!==n.phase||void 0!==n.phase?n.phase:null,attributes:OF(n),derived_features:[],child_features:r?r.map((e=>AF(e,t))):[]}]}function CF(e,t){return er.gff3ToAnnotationFeature(AF(e,t))}function OF(e){const t={},n=new Set(["start","end","type","strand","refName","subfeatures","derived_features","phase","source","score"]);for(const[r,o]of Object.entries(e))n.has(r)||(t[r]=Array.isArray(o)?o.map(String):[String(o)]);return t}function NF(e){if("LinearBasicDisplay"!==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:a}=t,i=o.get(a);if(!i)throw new Error(`Could not find assembly named ${a}`);return i},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 a=[...Object.entries(o)].filter((([e,t])=>e!==t)).map((([e,t])=>({_id:e,name:t}))),i=a.find((e=>e.name===r))?._id;if(!i)throw new Error(`Could not find refSeqId named ${r}`);return i},getAnnotationFeature(t){const n=e.getRefSeqId(t);return CF(e.contextMenuFeature.data,n)}}))).views((e=>{const t=e.contextMenuItems;return{contextMenuItems(){const r=n.getSession(e),o=e.getAssembly();return e.contextMenuFeature?[...t(),{label:"Create Apollo annotation",icon:ec,onClick:()=>{r.queueDialog((t=>[kF,{session:r,handleClose:()=>{t()},annotationFeature:e.getAnnotationFeature(o),assembly:o,refSeqId:e.getRefSeqId(o)}]))}}]:t()}}}));return e.stateModel=r,e}var RF={},TF=Zl.exports;Object.defineProperty(RF,"__esModule",{value:!0});var IF=RF.default=void 0;IF=RF.default=(0,TF(Xl).default)((0,N.default.jsx)("path",{d:"m12 8-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"}),"ExpandLess");var PF={},MF=Zl.exports;Object.defineProperty(PF,"__esModule",{value:!0});var FF=PF.default=void 0;FF=PF.default=(0,MF(Xl).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 jF=f.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},loading:{position:"absolute",right:e.spacing(3),zIndex:10,pointerEvents:"none",textAlign:"right"}}))),DF=p.observer((function(e){const t=c.useTheme(),{model:r}=e,{loading:o,apolloDragging:a,apolloRowHeight:i,contextMenuItems:s,cursor:l,featuresHeight:f,isShown:p,onMouseDown:h,onMouseLeave:m,onMouseMove:g,onMouseUp:y,regionCannotBeRendered:v,session:b,setCanvas:_,setCollaboratorCanvas:w,setOverlayCanvas:S,setSeqTrackCanvas:x,setSeqTrackOverlayCanvas:E,setTheme:k}=r,{classes:A}=jF(),C=n.getContainingView(r);u.useEffect((()=>{k(t)}),[t,k]);const[O,N]=u.useState(),[R,I]=u.useState([]),P=v();if(!p)return null;const{assemblyManager:M}=b;return T.default.createElement(T.default.Fragment,null,3/C.bpPerPx>=1?T.default.createElement("div",{className:A.canvasContainer,style:{width:C.dynamicBlocks.totalWidthPx,height:C.bpPerPx<=1?125:95}},T.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),x(e)},width:C.dynamicBlocks.totalWidthPx,height:C.bpPerPx<=1?125:95,className:A.canvas,"data-testid":"seqTrackCanvas"}),T.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),E(e)},width:C.dynamicBlocks.totalWidthPx,height:C.bpPerPx<=1?125:95,className:A.canvas,"data-testid":"seqTrackOverlayCanvas"})):null,T.default.createElement("div",{className:A.canvasContainer,style:{width:C.dynamicBlocks.totalWidthPx,height:f},onContextMenu:e=>{if(e.preventDefault(),R.length>0)I([]);else{const t=[e.clientX,e.clientY];N(t),I(s(t))}}},o?T.default.createElement("div",{className:A.loading},T.default.createElement(c.CircularProgress,{size:"18px"})):null,P?T.default.createElement(c.Alert,{severity:"warning",classes:{message:A.ellipses}},T.default.createElement(c.Tooltip,{title:P},T.default.createElement("div",null,P))):T.default.createElement(T.default.Fragment,null,T.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),w(e)},width:C.dynamicBlocks.totalWidthPx,height:f,className:A.canvas,"data-testid":"collaboratorCanvas"}),T.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),_(e)},width:C.dynamicBlocks.totalWidthPx,height:f,className:A.canvas,"data-testid":"canvas"}),T.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),S(e)},width:C.dynamicBlocks.totalWidthPx,height:f,onMouseMove:g,onMouseLeave:m,onMouseDown:h,onMouseUp:y,className:A.canvas,style:{cursor:l??"default"},"data-testid":"overlayCanvas"}),C.displayedRegions.flatMap(((e,t)=>{const o=M.get(e.assemblyName);return[...b.apolloDataStore.checkResults.values()].filter((t=>o?.isValidRefName(t.refSeq)&&o.getCanonicalRefName(t.refSeq)===e.refName&&n.doesIntersect2(e.start,e.end,t.start,t.end))).map((n=>{const o=(C.bpToPx({refName:e.refName,coord:n.start,regionNumber:t})?.offsetPx??0)-C.offsetPx,[s]=n.ids;if(!s)return null;let l=0;const u=r.getFeatureLayoutPosition(s);return u&&(l=u.layoutRow+u.featureRow),T.default.createElement(c.Tooltip,{key:n._id,title:n.message},T.default.createElement(c.Avatar,{className:A.avatar,style:{top:l*i,left:o,height:i,width:i,pointerEvents:a?"none":"auto"}},T.default.createElement(FF,{"data-testid":"ErrorIcon"})))}))})),T.default.createElement(d.Menu,{open:R.length>0,onMenuItemClick:(e,t)=>{t(),I([])},onClose:()=>{I([])},TransitionProps:{onExit:()=>{I([])}},anchorReference:"anchorPosition",anchorPosition:O?{top:O[1],left:O[0]}:void 0,style:{zIndex:t.zIndex.tooltip},menuItems:R}))))})),LF=p.observer((function({model:e,strand:t}){const{apolloRowHeight:n,highestRow:r,lastRowTooltipBufferHeight:o}=e;return T.default.createElement("div",1==t?{style:{position:"absolute",left:0,top:n*(r+1)/2-2,width:"100%"}}:{style:{position:"absolute",left:0,bottom:(n*(r+1)+o)/2+3,width:"100%"}},T.default.createElement("hr",{style:{margin:0,top:0,color:"black"}}))})),qF=f.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}}))),BF=p.observer((function(e){const t=c.useTheme(),{model:r}=e,{apolloRowHeight:o,contextMenuItems:a,cursor:i,featuresHeight:s,isShown:l,onMouseDown:f,onMouseLeave:p,onMouseMove:h,onMouseUp:m,regionCannotBeRendered:g,session:y,setCanvas:v,setCollaboratorCanvas:b,setOverlayCanvas:_,setTheme:w}=r,{classes:S}=qF(),x=n.getContainingView(r);u.useEffect((()=>{w(t)}),[t,w]);const[E,k]=u.useState(),[A,C]=u.useState([]),O=g();if(!l)return null;const{assemblyManager:N}=y;return T.default.createElement(T.default.Fragment,null,T.default.createElement("div",{className:S.canvasContainer,style:{width:x.dynamicBlocks.totalWidthPx,height:s},onContextMenu:e=>{if(e.preventDefault(),A.length>0)C([]);else{const t=[e.clientX,e.clientY];k(t),C(a(t))}}},O?T.default.createElement(c.Alert,{severity:"warning",classes:{message:S.ellipses}},T.default.createElement(c.Tooltip,{title:O},T.default.createElement("div",null,O))):T.default.createElement(T.default.Fragment,null,T.default.createElement(LF,{model:r,strand:1}),T.default.createElement(LF,{model:r,strand:-1}),T.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),b(e)},width:x.dynamicBlocks.totalWidthPx,height:s,className:S.canvas,"data-testid":"collaboratorCanvas"}),T.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),v(e)},width:x.dynamicBlocks.totalWidthPx,height:s,className:S.canvas,"data-testid":"canvas"}),T.default.createElement("canvas",{ref:async e=>{await Promise.resolve(),_(e)},width:x.dynamicBlocks.totalWidthPx,height:s,onMouseMove:h,onMouseLeave:p,onMouseDown:f,onMouseUp:m,className:S.canvas,style:{cursor:i??"default"},"data-testid":"overlayCanvas"}),x.displayedRegions.flatMap(((e,t)=>{const r=N.get(e.assemblyName);return[...y.apolloDataStore.checkResults.values()].filter((t=>r?.isValidRefName(t.refSeq)&&r.getCanonicalRefName(t.refSeq)===e.refName&&n.doesIntersect2(e.start,e.end,t.start,t.end))).map((n=>{const r=(x.bpToPx({refName:e.refName,coord:n.start,regionNumber:t})?.offsetPx??0)-x.offsetPx,[a]=n.ids;return a&&a.parent?.looksLikeGene?T.default.createElement(c.Tooltip,{key:n._id,title:n.message},T.default.createElement(c.Avatar,{className:S.avatar,style:{top:0,left:r,height:o,width:o}},T.default.createElement(FF,null))):null}))})),T.default.createElement(d.Menu,{open:A.length>0,onMenuItemClick:(e,t)=>{t(),C([])},onClose:()=>{C([])},TransitionProps:{onExit:()=>{C([])}},anchorReference:"anchorPosition",anchorPosition:E?{top:E[1],left:E[0]}:void 0,style:{zIndex:t.zIndex.tooltip},menuItems:A}))))})),UF=f.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"}})));function zF(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"})}}const HF=({onResize:e})=>{const{classes:t}=UF(),n=u.useCallback((t=>{t.stopPropagation(),t.preventDefault(),e(t.movementY)}),[e]),r=u.useCallback((e=>{e.stopPropagation(),e.preventDefault(),globalThis.removeEventListener("mousemove",n),globalThis.removeEventListener("mouseup",r),globalThis.removeEventListener("mouseleave",r)}),[n]);return T.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})},GF=p.observer((function({onClick:e,onResize:t,open:n,title:r}){const{classes:o}=UF();return T.default.createElement("div",{className:o.accordionRoot},n&&t?T.default.createElement(HF,{onResize:t}):null,T.default.createElement("div",{className:o.accordionControl,onClick:e},T.default.createElement(n?IF:KR,{className:o.expandIcon}),r?T.default.createElement(c.Typography,{className:o.title,variant:"caption",component:"span"},r):null))})),WF=p.observer((function({model:e,...t}){const r=n.getSession(e),{ontologyManager:o}=r.apolloDataStore,{featureTypeOntology:a}=o,i=a?.dataStore,{classes:s}=UF(),{graphical:l,height:f,isShown:d,selectedFeature:p,table:h,tabularEditor:m,toggleShown:g}=e,y=u.useRef(null);u.useEffect((()=>{zF(e,y)}),[e,p]);const v=t=>{e.setDetailsHeight(e.detailsHeight-t)};if(!i)return T.default.createElement("div",{className:s.alertContainer},T.default.createElement(c.Alert,{severity:"error"},"Could not load feature type ontology."));if(l&&h){const n=m.isShown?e.detailsHeight:0,r=d?f-e.detailsHeight-24:0;return T.default.createElement("div",{style:{height:f}},T.default.createElement(GF,{open:d,title:"Graphical",onClick:g}),T.default.createElement("div",{className:s.shading,ref:y,style:{height:r}},T.default.createElement(DF,{model:e,...t})),T.default.createElement(GF,{title:"Table",open:m.isShown,onClick:m.togglePane,onResize:v}),T.default.createElement("div",{className:s.details,style:{height:n}},T.default.createElement(vM,{model:e})))}return l?T.default.createElement("div",{className:s.shading,ref:y,style:{height:f}},T.default.createElement(DF,{model:e,...t})):T.default.createElement("div",{className:s.details,style:{height:f}},T.default.createElement(vM,{model:e}))})),$F=p.observer((function({model:e,...t}){const r=n.getSession(e),{ontologyManager:o}=r.apolloDataStore,{featureTypeOntology:a}=o,i=a?.dataStore,{classes:s}=UF(),{detailsHeight:l,graphical:f,height:d,isShown:p,selectedFeature:h,table:m,tabularEditor:g,toggleShown:y}=e,v=u.useRef(null);u.useEffect((()=>{zF(e,v)}),[e,h]);const b=t=>{e.setDetailsHeight(l-t)};if(!i)return T.default.createElement("div",{className:s.alertContainer},T.default.createElement(c.Alert,{severity:"error"},"Could not load feature type ontology."));if(f&&m){const n=g.isShown?l:0,r=p?d-l-24:0;return T.default.createElement("div",{style:{height:d}},T.default.createElement(GF,{open:p,title:"Graphical",onClick:y}),T.default.createElement("div",{className:s.shading,ref:v,style:{height:r}},T.default.createElement(BF,{model:e,...t})),T.default.createElement(GF,{title:"Table",open:g.isShown,onClick:g.togglePane,onResize:b}),T.default.createElement("div",{className:s.details,style:{height:n}},T.default.createElement(vM,{model:e})))}return f?T.default.createElement("div",{className:s.shading,ref:v,style:{height:d}},T.default.createElement(BF,{model:e,...t})):T.default.createElement("div",{className:s.details,style:{height:d}},T.default.createElement(vM,{model:e}))}));var VF={},JF=Zl.exports;Object.defineProperty(VF,"__esModule",{value:!0});var YF=VF.default=void 0;YF=VF.default=(0,JF(Xl).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 KF=l.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 ZF{clientStore;constructor(e){this.clientStore=e}}class XF{dataStore;constructor(e){this.dataStore=e}recentChanges=[];async submit(e,t={}){const{addToRecents:r=!0,submitToBackend:o=!0,updateJobsManager:a=!1}=t,i=n.getSession(this.dataStore),s=new AbortController,{jobsManager:l}=n.getSession(this.dataStore),c={name:e.typeName,statusMessage:"Pre-validating",progressPct:0,cancelCallback:()=>{s.abort()}};a&&l.runJob(c);const u=await er.validationRegistry.frontendPreValidate(e);if(!u.ok){const e=`Pre-validation failed: "${u.resultsMessages}"`;return a&&l.abortJob(c.name,e),void i.notify(e,"error")}try{await e.execute(this.dataStore)}catch(e){return a&&l.abortJob(c.name,String(e)),console.error(e),void i.notify(String(e),"error")}if((await er.validationRegistry.frontendPostValidate(e,this.dataStore)).ok||await this.revert(e),o){a&&l.update(c.name,"Submitting to driver");const{collaborationServerDriver:n,getBackendDriver:r}=this.dataStore,o=B.isAssemblySpecificChange(e)?r(e.assembly):n;let s;try{s=await o.submitChange(e,t)}catch(t){return a&&l.abortJob(c.name,String(t)),console.error(t),i.notify(String(t),"error"),void await this.revert(e,!1)}if(!s.ok){const t=`Post-validation failed: "${u.resultsMessages}"`;return a&&l.abortJob(c.name,t),i.notify(t,"error"),void await this.revert(e,!1)}e.notification&&i.notify(e.notification,"success")}r&&this.recentChanges.push(e),a&&l.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 QF extends ZF{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),a=new URLSearchParams({assemblies:t.join(","),term:e});o.search=a.toString();const i=o.toString(),s=await this.fetch(n,i);if(!s.ok){const e=await wd(s,"searchFeatures failed");throw new Error(e)}return s.json()}async getFeatures(e){const{assemblyName:t,end:o,refName:a,start:i}=e,{assemblyManager:s}=n.getSession(this.clientStore),l=s.get(t);if(!l)throw new Error(`Could not find assembly with name "${t}"`);const{ids:c}=r.getConf(l,["sequence","metadata"]),u=c[a];if(!u)throw new Error(`Could not find refSeq "${a}"`);const f=this.clientStore.getInternetAccount(t),{baseURL:d}=f,p=new URL("features/getFeatures",d),h=new URLSearchParams({refSeq:u,start:String(i),end:String(o)});p.search=h.toString();const m=p.toString(),g=await this.fetch(f,m);if(!g.ok){const e=await wd(g,"getFeatures failed");throw new Error(e)}return this.checkSocket(t,a,f),g.json()}checkSocket(e,t,n){const{socket:r}=n,o=n.retrieveToken(),a=`${e}-${t}`,i=new XF(this.clientStore);r.hasListeners(a)||r.on(a,(async e=>{if(n.setLastChangeSequenceNumber(Number(e.changeSequence)),e.userSessionId!==o&&e.channel===a){const t=B.Change.fromJSON(e.changeInfo);await i.submit(t,{submitToBackend:!1})}}))}async getSequence(e){const t=`${e.refName}:${e.start}-${e.end}`,o=this.inFlight.get(t),{assemblyName:a,end:i,refName:s,start:l}=e,{assemblyManager:c}=n.getSession(this.clientStore),u=c.get(a);if(!u)throw new Error(`Could not find assembly with name "${a}"`);const{ids:f}=r.getConf(u,["sequence","metadata"]),d=f[s];if(!d)throw new Error(`Could not find refSeq "${s}"`);if(o)return{seq:await o,refSeq:d};let p=this.clientStore.assemblies.get(a);p||(p=this.clientStore.addAssembly(a));let h=p.refSeqs.get(d);h||(h=p.addRefSeq(d,s));const m=h.getSequence(l,i);if(m.length===i-l)return{seq:m,refSeq:d};const g=this.clientStore.getInternetAccount(a),{baseURL:y}=g,v=new URL("sequence",y),b=new URLSearchParams({refSeq:d,start:String(l),end:String(i)});v.search=b.toString();const _=v.toString(),w=this.getSeqFromServer(g,_,h,l,i);this.inFlight.set(t,w);const S=await w;return this.checkSocket(a,s,g),this.inFlight.delete(t),{seq:S,refSeq:d}}async getSeqFromServer(e,t,n,r,o){const a=await this.fetch(e,t);if(!a.ok){let e;try{e=await a.text()}catch{e=""}throw new Error(`getSequence failed: ${a.status} (${a.statusText})${e?` (${e})`:""}`)}const i=await a.text();return n.addSequence({sequence:i,start:r,stop:o}),i}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,a=new URL("refSeqs",o),i=new URLSearchParams({assembly:e});a.search=i.toString();const s=a.toString(),l=await this.fetch(r,s);if(!l.ok){let e;try{e=await l.text()}catch{e=""}throw new Error(`getRefNameAliases failed: ${l.status} (${l.statusText})${e?` (${e})`:""}`)}return(await l.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,a=new URL("refSeqs",o),i=new URLSearchParams({assembly:e});a.search=i.toString();const s=a.toString(),l=await this.fetch(r,s);if(!l.ok){let e;try{e=await l.text()}catch{e=""}throw new Error(`getRegions failed: ${l.status} (${l.statusText})${e?` (${e})`:""}`)}return(await l.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,a=new URL("changes",o).href,i=await this.fetch(r,a,{method:"POST",body:JSON.stringify(e.toJSON()),headers:{"Content-Type":"application/json"}});if(!i.ok){const e=await wd(i,"submitChange failed");throw new Error(e)}const s=new er.ValidationResultSet;return i.ok||(s.ok=!1),s}}class ej extends ZF{async getFeatures(){return[[],[]]}async getSequence(e){const{assemblyName:t,end:n,refName:r,start:o}=e,a=this.clientStore.assemblies.get(t);if(!a)return{seq:"",refSeq:r};const i=a.refSeqs.get(r);return i?{seq:i.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 yd(e);n.addCheckResults(t)}return new er.ValidationResultSet}async searchFeatures(e,t){return[]}}class tj extends ZF{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:a}=r.getConf(o,["sequence","metadata"]),i=require("node:fs");return gd(e,await i.promises.readFile(a,"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,a=(await this.getAssembly(t)).refSeqs.get(r);if(!a)throw new Error(`refSeq ${r} not found in client data store`);return{seq:a.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(!B.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:a}=r.getConf(o,["sequence","metadata"]),i=this.clientStore.assemblies.get(e.assembly);if(!i)throw new Error(`Could not find assembly in client with name "${e.assembly}"`);const s=new Set(...i.refSeqs.keys()),{checkResults:c}=this.clientStore;for(const e of c.values())s.has(e.refSeq)&&c.delete(e._id);const u=await yd(i);this.clientStore.addCheckResults(u);const f=[{directive:"gff-version",value:"3"}];for(const[,e]of i.refSeqs)f.push({directive:"sequence-region",value:`${e.name} 1 ${e.sequence[0].stop}`});for(const e of i.comments)f.push({comment:e});for(const[,e]of i.refSeqs){const{features:t}=e;for(const[,e]of t)f.push(er.annotationFeatureToGFF3(l.getSnapshot(e)))}for(const[,e]of i.refSeqs){const[t]=e.sequence,n=er.splitStringIntoChunks(t.sequence,80).join("\n");f.push({id:e.name,description:e.description,sequence:n})}const d=md.formatSync(f),p=require("node:fs");return await p.promises.writeFile(a,d,"utf8"),new er.ValidationResultSet}async searchFeatures(e,t){return[]}}function nj(e,t){const o=new AbortController,{signal:a}=o,i=e.evaluateExtensionPoint("Apollo-extendAnnotationFeature",xT.AnnotationFeatureModel),c=function(e){return l.types.model("ClientDataStore",{typeName:l.types.optional(l.types.literal("Client"),"Client"),assemblies:l.types.map(xT.ApolloAssembly),checkResults:l.types.map(xT.CheckResult),ontologyManager:l.types.optional(BN,{})}).views((t=>({get internetAccounts(){return l.getRoot(t).internetAccounts},get pluginConfiguration(){return l.getRoot(t).jbrowse.configuration.ApolloPlugin},getFeature:n=>l.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):l.getParentOfType(n,xT.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 XF(e),collaborationServerDriver:new QF(e),inMemoryFileDriver:new ej(e),desktopFileDriver:n.isElectron?new tj(e):void 0}))).actions((e=>({afterCreate(){l.addDisposer(e,s.autorun((()=>{const{ontologyManager:t,pluginConfiguration:o}=e,a=o.ontologies;for(const o of a||[]){const[a,i,s,l]=[r.readConfObject(o,"name"),r.readConfObject(o,"version"),r.readConfObject(o,"source"),r.readConfObject(o,"textIndexFields")];if(!t.findOntology(a)){const r=n.getSession(e),{jobsManager:o}=r,c=new AbortController,u=`Loading ontology "${a}"`,f={name:u,statusMessage:`Loading ontology "${a}", version "${i}", this may take a while`,progressPct:0,cancelCallback:()=>{c.abort(),o.abortJob(f.name)}};t.addOntology(a,i,s,{textIndexing:{indexFields:l},update:(e,t)=>{0!==t?100!==t?o.update(u,e,t):o.done(f):o.runJob(f)}})}}})))}}))).views((e=>({getBackendDriver(t){if(!t)return e.collaborationServerDriver;const o=n.getSession(e),{assemblyManager:a}=o,i=a.get(t);if(!i)return e.collaborationServerDriver;const{file:s,internetAccountConfigId:l}=r.getConf(i,["sequence","metadata"]);return n.isElectron&&s?e.desktopFileDriver:l?e.collaborationServerDriver:e.inMemoryFileDriver},getInternetAccount(t,o){if(!(t??o))throw new Error("Must provide either assemblyName or internetAccountId");let a=o;if(t&&!a){const{assemblyManager:o}=n.getSession(e),i=o.get(t);if(!i)throw new Error(`No assembly found with name ${t}`);({internetAccountConfigId:a}=r.getConf(i,["sequence","metadata"]))}const{internetAccounts:i}=e,s=i.find((e=>e.internetAccountId===a));if(!s)throw new Error(`No InternetAccount found with config id ${o}`);return s}}))).actions((e=>({loadFeatures:l.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:a,refName:i}=n;let s=e.assemblies.get(a);s||(s=e.assemblies.put({_id:a,refSeqs:{}}));const[l]=r;let c=s.refSeqs.get(l.refSeq);c||(c=s.refSeqs.put({_id:l.refSeq,name:i,features:{}}));for(const e of r)c.features.has(e._id)||c.features.put(e);e.addCheckResults(o)}})),loadRefSeq:l.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:a,end:i,refName:s,start:l}=n;let c=e.assemblies.get(a);c||(c=e.assemblies.put({_id:a,refSeqs:{}}));let u=c.refSeqs.get(r);u||(u=c.refSeqs.put({_id:r,name:s,sequence:[]})),u.addSequence({start:l,stop:i,sequence:o})}}))})))}(i),u=t.props({apolloDataStore:l.types.optional(c,{typeName:"Client"}),apolloSelectedFeature:l.types.safeReference(i),jobsManager:l.types.optional(KF,{})}).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"}}:{}}}})},broadcastLocations(){const{internetAccounts:t}=l.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:a,start:i}=t,s=e.apolloDataStore.assemblies.get(r);s&&"CollaborationServerDriver"===s.backendDriverType&&n.push({assemblyName:r,refName:a,start:i,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:l.flow((function*(){const t=l.getSnapshot(e),{id:n,name:r}=t;l.applySnapshot(e,{name:r,id:n});const{internetAccounts:o,jbrowse:i}=l.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:a,start:i}=n,s=e.apolloDataStore.assemblies.get(r);s&&"CollaborationServerDriver"===s.backendDriverType&&t.push({assemblyName:r,refName:a,start:i,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,u;try{c=yield s(o,{signal:a})}catch(e){console.error(e);continue}if(c.ok){try{u=yield c.json()}catch(e){console.error(e);continue}l.applySnapshot(i,u),l.applySnapshot(e,t)}else{const e=yield wd(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}=l.getRoot(e),a=l.getSnapshot(r);let i;i=er.filterJBrowseConfig(a),0===Object.keys(i).length&&(i=void 0);const s={...l.getSnapshot(n),trackId:o.slice(0,o.length-13)};for(const n of t){if("ApolloInternetAccount"!==n.type)continue;const t=new er.ImportJBrowseConfigChange({typeName:"ImportJBrowseConfigChange",oldJBrowseConfig:i,newJBrowseConfig:{...i,tracks:i?.tracks&&[...i.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:YF}]:[...t?.(n)??[],{label:"Remove track from Apollo",onClick:async()=>{const{internetAccounts:t,jbrowse:r}=l.getRoot(e),a=l.getSnapshot(r);let i;i=er.filterJBrowseConfig(a),0===Object.keys(i).length&&(i=void 0);const s=i?.tracks?.filter((e=>e.trackId!==o));for(const n of t){if("ApolloInternetAccount"!==n.type)continue;const t=new er.ImportJBrowseConfigChange({typeName:"ImportJBrowseConfigChange",oldJBrowseConfig:i,newJBrowseConfig:{...i,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:YF}]}}}));return l.types.snapshotProcessor(u,{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]=l.getSnapshot(t))}return e}})}const rj="WorkerGlobalScope"in globalThis;for(const[e,t]of Object.entries(er.changes))B.changeRegistry.registerChange(e,t);const oj=new er.CDSCheck;B.checkRegistry.registerCheck(oj.name,oj),er.validationRegistry.registerValidation(new er.CoreValidation),er.validationRegistry.registerValidation(new er.ParentChildValidation),e.default=class extends A.default{name="ApolloPlugin";version="0.3.6";configurationSchema=vF;install(e){!function(e){e.addAdapterType((()=>new j.default({name:"ApolloSequenceAdapter",configSchema:UR,adapterMetadata:{category:void 0,hiddenFromGUI:!0,description:void 0},AdapterClass:BR})))}(e),function(e){e.addAdapterType((()=>new j.default({name:"ApolloRefNameAliasAdapter",configSchema:PR,adapterMetadata:{category:void 0,hiddenFromGUI:!0,description:void 0},AdapterClass:IR})))}(e),function(e){e.addTextSearchAdapterType((()=>new o.TextSearchAdapterType({name:"ApolloTextSearchAdapter",displayName:"Apollo text search adapter",configSchema:VR,AdapterClass:$R,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:RT,ReactComponent:ST})})),e.addWidgetType((()=>{const e=r.ConfigurationSchema("ApolloTranscriptDetails",{});return new o.WidgetType({name:"ApolloTranscriptDetails",heading:"Apollo transcript details",configSchema:e,stateModel:TT,ReactComponent:YP})})),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:tc,stateModel:RR(tc)}))),e.addDisplayType((()=>new o.DisplayType({name:"LinearApolloDisplay",configSchema:KP,stateModel:sF(0,KP),trackType:"ApolloTrack",viewType:"LinearGenomeView",ReactComponent:WF}))),e.addDisplayType((()=>new o.DisplayType({name:"LinearApolloSixFrameDisplay",configSchema:lF,stateModel:yF(0,lF),trackType:"ApolloTrack",viewType:"LinearGenomeView",ReactComponent:$F}))),e.addToExtensionPoint("Core-extendSession",nj.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:ec,onClick:()=>{const t=n.getSession(e),{leftOffset:r,rightOffset:o}=e,a=e.getSelectedRegions(r,o);t.queueDialog((e=>[KN,{session:t,handleClose:()=>{e()},region:a[0],changeManager:t.apolloDataStore.changeManager}]))}}]}}));e.stateModel=r}return e})),e.addToExtensionPoint("Core-extendPluggableElement",bF),e.addToExtensionPoint("Core-extendPluggableElement",NF),rj||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:a,method:i}=n;switch(i){case"getSequence":{const{region:r}=n,{assemblyName:i}=r,s=e.rootModel?.session?.apolloDataStore;if(!s)break;const l=s.getBackendDriver(i),{seq:c}=await l.getSequence(r);t.workers[0].postMessage({apollo:o,messageId:a,sequence:c});break}case"getRegions":{const{assembly:r}=n,i=e.rootModel?.session?.apolloDataStore;if(!i)break;const s=i.getBackendDriver(r),l=await s.getRegions(r);t.workers[0].postMessage({apollo:o,messageId:a,regions:l});break}case"getRefNameAliases":{const{assembly:r}=n,i=e.rootModel?.session?.apolloDataStore;if(!i)break;const s=i.getBackendDriver(r),l=await s.getRefNameAliases(r);t.workers[0].postMessage({apollo:o,messageId:a,refNameAliases:l});break}}})),t):t))}configure(e){n.isAbstractMenuManager(e.rootModel)&&(e.rootModel.appendToMenu("Apollo",{label:"Download GFF3",onClick:e=>{e.queueDialog((t=>[nR,{session:e,handleClose:()=>{t()}}]))}}),e.rootModel.appendToMenu("Apollo",{label:"Manage Checks",onClick:e=>{e.queueDialog((t=>[aR,{session:e,handleClose:()=>{t()}}]))}}),e.rootModel.appendToMenu("Apollo",{label:"View Change Log",onClick:e=>{e.queueDialog((t=>[pR,{session:e,handleClose:()=>{t()}}]))}}),e.rootModel.appendToMenu("Apollo",{label:"Open local GFF3 file",onClick:e=>{e.queueDialog((t=>[fR,{session:e,handleClose:()=>{t()},inMemoryFileDriver:e.apolloDataStore.inMemoryFileDriver}]))}}),e.rootModel.appendToMenu("Apollo",{label:"View check results",onClick:e=>{e.queueDialog((t=>[yR,{session:e,handleClose:()=>{t()}}]))}}),e.rootModel.appendToMenu("Apollo",{label:"Log out",onClick:e=>{e.queueDialog((t=>[oR,{session:e,handleClose:()=>{t()}}]))}}))}},Object.defineProperty(e,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=jbrowse-plugin-apollo.umd.production.min.js.map