nebula-notebook 0.2.45 → 0.2.47
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.
- package/LICENSE +21 -0
- package/README.md +18 -3
- package/dist/assets/{errorwidget-BPSbuKot.js → errorwidget-DsdJi3CP.js} +1 -1
- package/dist/assets/{index-D4OyDYHa.js → index-7dzBRqjB.js} +1 -1
- package/dist/assets/{index-i6-VDHlg.js → index-BYLhtrxB.js} +1 -1
- package/dist/assets/{index-BaABO0Mr.js → index-CGUaqGiE.js} +1 -1
- package/dist/assets/index-D7GWSc_e.js +872 -0
- package/dist/assets/index-FTP7YTVP.css +32 -0
- package/dist/assets/{services-shim-CeNGM1z_.js → services-shim-B6rclDoU.js} +1 -1
- package/dist/index.html +2 -2
- package/node-server/dist/auth/auth-middleware.d.ts +8 -1
- package/node-server/dist/auth/auth-middleware.js +8 -2
- package/node-server/dist/auth/auth-service.d.ts +22 -3
- package/node-server/dist/auth/auth-service.js +47 -22
- package/node-server/dist/auth/nebula-dir.d.ts +7 -0
- package/node-server/dist/auth/nebula-dir.js +47 -0
- package/node-server/dist/auth/passkeys.d.ts +133 -0
- package/node-server/dist/auth/passkeys.js +374 -0
- package/node-server/dist/index.js +7 -10
- package/node-server/dist/routes/auth.d.ts +12 -1
- package/node-server/dist/routes/auth.js +131 -3
- package/node-server/package.json +1 -0
- package/package.json +3 -1
- package/dist/assets/index-BnQLGXqd.js +0 -857
- package/dist/assets/index-e_C_qM9S.css +0 -32
|
@@ -1 +1 @@
|
|
|
1
|
-
import{z as Vs,D as Es,a as q,o as Yi,t as He,h as As,$ as bt,n as vt,W as de,A as Me,r as $e,u as ae,k as Gi,f as qe,S as xt,N as Ji,e as Is,O as ps,Q as Xi}from"./services-shim-CeNGM1z_.js";import{V as Ke}from"./viewlist-uomDf7I7.js";import{a as Qi}from"./index-BnQLGXqd.js";function Zi(s,e){e!==void 0&&(s.textContent=e),window.MathJax!==void 0&&MathJax.Hub.Queue(["Typeset",MathJax.Hub,s])}function ea(s){const e=document.createElement("div");return e.textContent=s,e.innerHTML}function jn(s,e){return function(i){throw e&&console.error(new Error(s)),i}}const $="2.0.0";class K extends Vs{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"DescriptionStyleModel",_model_module:"@jupyter-widgets/controls",_model_module_version:$})}}K.styleProperties={description_width:{selector:".widget-label",attribute:"width",default:null}};class Ps extends Es{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"DescriptionModel",_view_name:"DescriptionView",_view_module:"@jupyter-widgets/controls",_model_module:"@jupyter-widgets/controls",_view_module_version:$,_model_module_version:$,description:"",description_allow_html:!1})}}class Y extends q{render(){this.label=document.createElement("label"),this.el.appendChild(this.label),this.label.className="widget-label",this.label.style.display="none",this.listenTo(this.model,"change:description",this.updateDescription),this.listenTo(this.model,"change:description_allow_html",this.updateDescription),this.listenTo(this.model,"change:tabbable",this.updateTabindex),this.updateDescription(),this.updateTabindex(),this.updateTooltip()}typeset(e,t){this.displayed.then(()=>{var i;const u=(i=this.model.widget_manager._rendermime)===null||i===void 0?void 0:i.latexTypesetter;if(u)t!==void 0&&(e.textContent=t),u.typeset(e);else return Zi(e,t)})}updateDescription(){const e=this.model.get("description");e.length===0?this.label.style.display="none":(this.model.get("description_allow_html")?this.label.innerHTML=this.model.widget_manager.inline_sanitize(e):this.label.textContent=e,this.typeset(this.label),this.label.style.display="")}updateTooltip(){this.label&&(this.label.title=this.model.get("tooltip"))}}class Ln extends Ps{}class Tn extends Y{}class zs extends Yi{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"CoreWidgetModel",_view_module:"@jupyter-widgets/controls",_model_module:"@jupyter-widgets/controls",_view_module_version:$,_model_module_version:$})}}class F extends Es{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"CoreDOMWidgetModel",_view_module:"@jupyter-widgets/controls",_model_module:"@jupyter-widgets/controls",_view_module_version:$,_model_module_version:$})}}class te extends Ps{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"CoreDescriptionModel",_view_module:"@jupyter-widgets/controls",_model_module:"@jupyter-widgets/controls",_view_module_version:$,_model_module_version:$})}}class Ds extends zs{defaults(){return Object.assign(Object.assign({},super.defaults()),{target:void 0,source:void 0,_model_name:"DirectionalLinkModel"})}initialize(e,t){super.initialize(e,t),this.on("change",this.updateBindings,this),this.updateBindings()}updateValue(e,t,i,n){if(!this._updating){this._updating=!0;try{i&&(i.set(n,e.get(t)),i.save_changes())}finally{this._updating=!1}}}updateBindings(){this.cleanup(),[this.sourceModel,this.sourceAttr]=this.get("source")||[null,null],[this.targetModel,this.targetAttr]=this.get("target")||[null,null],this.sourceModel&&(this.listenTo(this.sourceModel,"change:"+this.sourceAttr,()=>{this.updateValue(this.sourceModel,this.sourceAttr,this.targetModel,this.targetAttr)}),this.updateValue(this.sourceModel,this.sourceAttr,this.targetModel,this.targetAttr),this.listenToOnce(this.sourceModel,"destroy",this.cleanup)),this.targetModel&&this.listenToOnce(this.targetModel,"destroy",this.cleanup)}cleanup(){this.sourceModel&&(this.stopListening(this.sourceModel,"change:"+this.sourceAttr,void 0),this.stopListening(this.sourceModel,"destroy",void 0)),this.targetModel&&this.stopListening(this.targetModel,"destroy",void 0)}}Ds.serializers=Object.assign(Object.assign({},zs.serializers),{target:{deserialize:He},source:{deserialize:He}});class On extends Ds{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"LinkModel"})}updateBindings(){super.updateBindings(),this.targetModel&&this.listenTo(this.targetModel,"change:"+this.targetAttr,()=>{this.updateValue(this.targetModel,this.targetAttr,this.sourceModel,this.sourceAttr)})}cleanup(){super.cleanup(),this.targetModel&&this.stopListening(this.targetModel,"change:"+this.targetAttr,void 0)}}class ta extends K{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"CheckboxStyleModel"})}}ta.styleProperties=Object.assign(Object.assign({},K.styleProperties),{background:{selector:"",attribute:"background",default:null}});class sa extends K{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"ToggleButtonStyleModel"})}}sa.styleProperties=Object.assign(Object.assign({},K.styleProperties),{font_family:{selector:"",attribute:"font-family",default:""},font_size:{selector:"",attribute:"font-size",default:""},font_style:{selector:"",attribute:"font-style",default:""},font_variant:{selector:"",attribute:"font-variant",default:""},font_weight:{selector:"",attribute:"font-weight",default:""},text_color:{selector:"",attribute:"color",default:""},text_decoration:{selector:"",attribute:"text-decoration",default:""}});class Bs extends te{defaults(){return Object.assign(Object.assign({},super.defaults()),{value:!1,disabled:!1,_model_name:"BoolModel"})}}class Vn extends te{defaults(){return Object.assign(Object.assign({},super.defaults()),{indent:!0,style:null,_view_name:"CheckboxView",_model_name:"CheckboxModel"})}}class En extends Y{render(){super.render(),this.el.classList.add("jupyter-widgets"),this.el.classList.add("widget-inline-hbox"),this.el.classList.add("widget-checkbox"),this.label.innerHTML="​",this.checkboxLabel=document.createElement("label"),this.checkboxLabel.classList.add("widget-label-basic"),this.el.appendChild(this.checkboxLabel),this.checkbox=document.createElement("input"),this.checkbox.setAttribute("type","checkbox"),this.checkboxLabel.appendChild(this.checkbox),this.descriptionSpan=document.createElement("span"),this.checkboxLabel.appendChild(this.descriptionSpan),this.listenTo(this.model,"change:indent",this.updateIndent),this.listenTo(this.model,"change:tabbable",this.updateTabindex),this.update(),this.updateDescription(),this.updateIndent(),this.updateTabindex(),this.updateTooltip()}updateDescription(){if(this.checkboxLabel==null)return;const e=this.model.get("description");this.model.get("description_allow_html")?this.descriptionSpan.innerHTML=this.model.widget_manager.inline_sanitize(e):this.descriptionSpan.textContent=e,this.typeset(this.descriptionSpan),this.descriptionSpan.title=e,this.checkbox.title=e}updateIndent(){const e=this.model.get("indent");this.label.style.display=e?"":"none"}updateTabindex(){if(!this.checkbox)return;const e=this.model.get("tabbable");e===!0?this.checkbox.setAttribute("tabIndex","0"):e===!1?this.checkbox.setAttribute("tabIndex","-1"):e===null&&this.checkbox.removeAttribute("tabIndex")}updateTooltip(){if(!this.checkbox)return;const e=this.model.get("tooltip");e?this.model.get("description").length===0&&this.checkbox.setAttribute("title",e):this.checkbox.removeAttribute("title")}events(){return{'click input[type="checkbox"]':"_handle_click"}}_handle_click(){const e=this.model.get("value");this.model.set("value",!e,{updated_view:this}),this.touch()}update(e){return this.checkbox.checked=this.model.get("value"),(e===void 0||e.updated_view!=this)&&(this.checkbox.disabled=this.model.get("disabled")),super.update()}handle_message(e){e.do=="focus"?this.checkbox.focus():e.do=="blur"&&this.checkbox.blur()}}class An extends Bs{defaults(){return Object.assign(Object.assign({},super.defaults()),{_view_name:"ToggleButtonView",_model_name:"ToggleButtonModel",tooltip:"",icon:"",button_style:"",style:null})}}class ut extends q{render(){super.render(),this.el.classList.add("jupyter-widgets"),this.el.classList.add("jupyter-button"),this.el.classList.add("widget-toggle-button"),this.listenTo(this.model,"change:button_style",this.update_button_style),this.listenTo(this.model,"change:tabbable",this.updateTabindex),this.set_button_style(),this.update()}update_button_style(){this.update_mapped_classes(ut.class_map,"button_style")}set_button_style(){this.set_mapped_classes(ut.class_map,"button_style")}update(e){if(this.model.get("value")?this.el.classList.add("mod-active"):this.el.classList.remove("mod-active"),e===void 0||e.updated_view!==this){this.el.disabled=this.model.get("disabled"),this.el.setAttribute("tabbable",this.model.get("tabbable")),this.el.setAttribute("title",this.model.get("tooltip"));const t=this.model.get("description"),i=this.model.get("icon");if(t.trim().length===0&&i.trim().length===0)this.el.innerHTML=" ";else{if(this.el.textContent="",i.trim().length){const n=document.createElement("i");this.el.appendChild(n),n.classList.add("fa"),n.classList.add("fa-"+i)}this.el.appendChild(document.createTextNode(t))}}return this.updateTabindex(),super.update()}events(){return{click:"_handle_click"}}_handle_click(e){e.preventDefault();const t=this.model.get("value");this.model.set("value",!t,{updated_view:this}),this.touch()}preinitialize(){this.tagName="button"}}ut.class_map={primary:["mod-primary"],success:["mod-success"],info:["mod-info"],warning:["mod-warning"],danger:["mod-danger"]};class In extends Bs{defaults(){return Object.assign(Object.assign({},super.defaults()),{readout:"Invalid",_view_name:"ValidView",_model_name:"ValidModel"})}}class Pn extends Y{render(){super.render(),this.el.classList.add("jupyter-widgets"),this.el.classList.add("widget-valid"),this.el.classList.add("widget-inline-hbox"),this.icon=document.createElement("i"),this.icon.classList.add("fa","fa-fw"),this.el.appendChild(this.icon),this.readout=document.createElement("span"),this.readout.classList.add("widget-valid-readout"),this.readout.classList.add("widget-readout"),this.el.appendChild(this.readout),this.update()}update(){this.el.classList.remove("mod-valid"),this.el.classList.remove("mod-invalid"),this.icon.classList.remove("fa-check"),this.icon.classList.remove("fa-times"),this.readout.textContent=this.model.get("readout"),this.model.get("value")?(this.el.classList.add("mod-valid"),this.icon.classList.add("fa-check")):(this.el.classList.add("mod-invalid"),this.icon.classList.add("fa-times"))}}class ia extends Vs{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"ButtonStyleModel",_model_module:"@jupyter-widgets/controls",_model_module_version:$})}}ia.styleProperties={button_color:{selector:"",attribute:"background-color",default:null},font_family:{selector:"",attribute:"font-family",default:""},font_size:{selector:"",attribute:"font-size",default:""},font_style:{selector:"",attribute:"font-style",default:""},font_variant:{selector:"",attribute:"font-variant",default:""},font_weight:{selector:"",attribute:"font-weight",default:""},text_color:{selector:"",attribute:"color",default:""},text_decoration:{selector:"",attribute:"text-decoration",default:""}};class zn extends F{defaults(){return Object.assign(Object.assign({},super.defaults()),{description:"",tooltip:"",disabled:!1,icon:"",button_style:"",_view_name:"ButtonView",_model_name:"ButtonModel",style:null})}}class ht extends q{render(){super.render(),this.el.classList.add("jupyter-widgets"),this.el.classList.add("jupyter-button"),this.el.classList.add("widget-button"),this.listenTo(this.model,"change:button_style",this.update_button_style),this.listenTo(this.model,"change:tabbable",this.updateTabindex),this.set_button_style(),this.update()}update(){this.el.disabled=this.model.get("disabled"),this.updateTabindex();const e=this.model.get("tooltip"),t=this.model.get("description"),i=this.model.get("icon");if(this.el.setAttribute("title",e??t),t.length||i.length){if(this.el.textContent="",i.length){const n=document.createElement("i");n.classList.add("fa"),n.classList.add(...i.split(/[\s]+/).filter(Boolean).map(u=>`fa-${u}`)),t.length===0&&n.classList.add("center"),this.el.appendChild(n)}this.el.appendChild(document.createTextNode(t))}return super.update()}update_button_style(){this.update_mapped_classes(ht.class_map,"button_style")}set_button_style(){this.set_mapped_classes(ht.class_map,"button_style")}events(){return{click:"_handle_click"}}_handle_click(e){e.preventDefault(),this.send({event:"click"})}preinitialize(){this.tagName="button"}}ht.class_map={primary:["mod-primary"],success:["mod-success"],info:["mod-info"],warning:["mod-warning"],danger:["mod-danger"]};class Je extends F{defaults(){return Object.assign(Object.assign({},super.defaults()),{_view_name:"BoxView",_model_name:"BoxModel",children:[],box_style:""})}}Je.serializers=Object.assign(Object.assign({},F.serializers),{children:{deserialize:He}});class Dn extends Je{defaults(){return Object.assign(Object.assign({},super.defaults()),{_view_name:"HBoxView",_model_name:"HBoxModel"})}}class Bn extends Je{defaults(){return Object.assign(Object.assign({},super.defaults()),{_view_name:"VBoxView",_model_name:"VBoxModel"})}}class we extends q{_createElement(e){return this.luminoWidget=new As({view:this}),this.luminoWidget.node}_setElement(e){if(this.el||e!==this.luminoWidget.node)throw new Error("Cannot reset the DOM element.");this.el=this.luminoWidget.node,this.$el=bt(this.luminoWidget.node)}initialize(e){super.initialize(e),this.children_views=new Ke(this.add_child_model,null,this),this.listenTo(this.model,"change:children",this.update_children),this.listenTo(this.model,"change:box_style",this.update_box_style),this.luminoWidget.addClass("jupyter-widgets"),this.luminoWidget.addClass("widget-container"),this.luminoWidget.addClass("widget-box")}render(){super.render(),this.update_children(),this.set_box_style()}update_children(){var e;(e=this.children_views)===null||e===void 0||e.update(this.model.get("children")).then(t=>{t.forEach(i=>{vt.postMessage(i.luminoWidget,de.ResizeMessage.UnknownSize)})})}update_box_style(){this.update_mapped_classes(we.class_map,"box_style")}set_box_style(){this.set_mapped_classes(we.class_map,"box_style")}add_child_model(e){const t=new de;return this.luminoWidget.addWidget(t),this.create_child_view(e).then(i=>{const n=Me.firstIndexOf(this.luminoWidget.widgets,t);return this.luminoWidget.insertWidget(n,i.luminoWidget),t.dispose(),i}).catch($e("Could not add child view to box",!0))}remove(){this.children_views=null,super.remove()}}we.class_map={success:["alert","alert-success"],info:["alert","alert-info"],warning:["alert","alert-warning"],danger:["alert","alert-danger"]};class Wn extends we{initialize(e){super.initialize(e),this.luminoWidget.addClass("widget-hbox")}}class Rn extends we{initialize(e){super.initialize(e),this.luminoWidget.addClass("widget-vbox")}}class Nn extends we{initialize(e){super.initialize(e),this.luminoWidget.addClass("widget-gridbox"),this.luminoWidget.removeClass("widget-box")}}class Un extends Je{defaults(){return Object.assign(Object.assign({},super.defaults()),{_view_name:"GridBoxView",_model_name:"GridBoxModel"})}}class aa extends F{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"ImageModel",_view_name:"ImageView",format:"png",width:"",height:"",value:new DataView(new ArrayBuffer(0))})}}aa.serializers=Object.assign(Object.assign({},F.serializers),{value:{serialize:s=>new DataView(s.buffer.slice(0))}});class Fn extends q{render(){super.render(),this.luminoWidget.addClass("jupyter-widgets"),this.luminoWidget.addClass("widget-image"),this.update()}update(){let e;const t=this.model.get("format"),i=this.model.get("value");if(t!=="url"){const _=new Blob([i],{type:`image/${this.model.get("format")}`});e=URL.createObjectURL(_)}else e=new TextDecoder("utf-8").decode(i.buffer);const n=this.el.src;this.el.src=e,n&&URL.revokeObjectURL(n);const u=this.model.get("width");u!==void 0&&u.length>0?this.el.setAttribute("width",u):this.el.removeAttribute("width");const p=this.model.get("height");return p!==void 0&&p.length>0?this.el.setAttribute("height",p):this.el.removeAttribute("height"),super.update()}remove(){this.el.src&&URL.revokeObjectURL(this.el.src),super.remove()}preinitialize(){this.tagName="img"}}class na extends F{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"VideoModel",_view_name:"VideoView",format:"mp4",width:"",height:"",autoplay:!0,loop:!0,controls:!0,value:new DataView(new ArrayBuffer(0))})}}na.serializers=Object.assign(Object.assign({},F.serializers),{value:{serialize:s=>new DataView(s.buffer.slice(0))}});class Hn extends q{render(){super.render(),this.luminoWidget.addClass("jupyter-widgets"),this.luminoWidget.addClass("widget-image"),this.update()}update(){let e;const t=this.model.get("format"),i=this.model.get("value");if(t!=="url"){const _=new Blob([i],{type:`video/${this.model.get("format")}`});e=URL.createObjectURL(_)}else e=new TextDecoder("utf-8").decode(i.buffer);const n=this.el.src;this.el.src=e,n&&URL.revokeObjectURL(n);const u=this.model.get("width");u!==void 0&&u.length>0?this.el.setAttribute("width",u):this.el.removeAttribute("width");const p=this.model.get("height");return p!==void 0&&p.length>0?this.el.setAttribute("height",p):this.el.removeAttribute("height"),this.el.loop=this.model.get("loop"),this.el.autoplay=this.model.get("autoplay"),this.el.controls=this.model.get("controls"),super.update()}remove(){this.el.src&&URL.revokeObjectURL(this.el.src),super.remove()}preinitialize(){this.tagName="video"}}class la extends F{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"AudioModel",_view_name:"AudioView",format:"mp3",autoplay:!0,loop:!0,controls:!0,value:new DataView(new ArrayBuffer(0))})}}la.serializers=Object.assign(Object.assign({},F.serializers),{value:{serialize:s=>new DataView(s.buffer.slice(0))}});class $n extends q{render(){super.render(),this.luminoWidget.addClass("jupyter-widgets"),this.update()}update(){let e;const t=this.model.get("format"),i=this.model.get("value");if(t!=="url"){const u=new Blob([i],{type:`audio/${this.model.get("format")}`});e=URL.createObjectURL(u)}else e=new TextDecoder("utf-8").decode(i.buffer);const n=this.el.src;return this.el.src=e,n&&URL.revokeObjectURL(n),this.el.loop=this.model.get("loop"),this.el.autoplay=this.model.get("autoplay"),this.el.controls=this.model.get("controls"),super.update()}remove(){this.el.src&&URL.revokeObjectURL(this.el.src),super.remove()}preinitialize(){this.tagName="audio"}}const Ws={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgrey:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgreen:"#90ee90",lightgray:"#d3d3d3",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};class qn extends te{defaults(){return Object.assign(Object.assign({},super.defaults()),{value:"black",concise:!1,_model_name:"ColorPickerModel",_view_name:"ColorPickerView"})}}class Kn extends Y{render(){super.render(),this.el.classList.add("jupyter-widgets"),this.el.classList.add("widget-inline-hbox"),this.el.classList.add("widget-colorpicker"),this._color_container=document.createElement("div"),this._color_container.className="widget-inline-hbox widget-colorpicker-input",this.el.appendChild(this._color_container),this._textbox=document.createElement("input"),this._textbox.setAttribute("type","text"),this._textbox.id=this.label.htmlFor=ae(),this._color_container.appendChild(this._textbox),this._textbox.value=this.model.get("value"),this._colorpicker=document.createElement("input"),this._colorpicker.setAttribute("type","color"),this._color_container.appendChild(this._colorpicker),this.listenTo(this.model,"change:value",this._update_value),this.listenTo(this.model,"change:concise",this._update_concise),this._update_concise(),this._update_value(),this.update()}update(e){if(e===void 0||e.updated_view!=this){const t=this.model.get("disabled");this._textbox.disabled=t,this._colorpicker.disabled=t}return super.update()}events(){return this._picker_change,this._text_change,{'change [type="color"]':"_picker_change",'change [type="text"]':"_text_change"}}_update_value(){const e=this.model.get("value");this._colorpicker.value=ra(e),this._textbox.value=e}_update_concise(){this.model.get("concise")?(this.el.classList.add("concise"),this._textbox.style.display="none"):(this.el.classList.remove("concise"),this._textbox.style.display="")}_picker_change(){this.model.set("value",this._colorpicker.value),this.touch()}_text_change(){const e=this._validate_color(this._textbox.value,this.model.get("value"));this.model.set("value",e),this.touch()}_validate_color(e,t){return e.match(/#[a-fA-F0-9]{3}(?:[a-fA-F0-9]{3})?$/)||Ws[e.toLowerCase()]?e:t}}function ra(s){return Ws[s.toLowerCase()]||oa(s)}function oa(s){return s.length===7?s:"#"+s.charAt(1)+s.charAt(1)+s.charAt(2)+s.charAt(2)+s.charAt(3)+s.charAt(3)}function da(s){return s===null?null:{year:s.getUTCFullYear(),month:s.getUTCMonth(),date:s.getUTCDate()}}function ua(s){if(s===null)return null;{const e=new Date;return e.setUTCFullYear(s.year,s.month,s.date),e.setUTCHours(0,0,0,0),e}}class ha extends te{defaults(){return Object.assign(Object.assign({},super.defaults()),{value:null,_model_name:"DatePickerModel",_view_name:"DatePickerView"})}}ha.serializers=Object.assign(Object.assign({},te.serializers),{value:{serialize:da,deserialize:ua}});class Yn extends Y{render(){super.render(),this.el.classList.add("jupyter-widgets"),this.el.classList.add("widget-inline-hbox"),this.el.classList.add("widget-datepicker"),this._datepicker=document.createElement("input"),this._datepicker.setAttribute("type","date"),this._datepicker.id=this.label.htmlFor=ae(),this.el.appendChild(this._datepicker),this.listenTo(this.model,"change:value",this._update_value),this._update_value(),this.update()}update(e){return(e===void 0||e.updated_view!==this)&&(this._datepicker.disabled=this.model.get("disabled")),super.update()}events(){return this._picker_change,this._picker_focusout,{'change [type="date"]':"_picker_change",'focusout [type="date"]':"_picker_focusout"}}_update_value(){const e=this.model.get("value");this._datepicker.valueAsDate=e}_picker_change(){this._datepicker.validity.badInput||(this.model.set("value",this._datepicker.valueAsDate),this.touch())}_picker_focusout(){this._datepicker.validity.badInput&&(this.model.set("value",null),this.touch())}}const ca=/(\d\d):(\d\d)(:(\d\d)(.(\d{1,3})\d*)?)?/;function Rs(s){if(s===null)return null;{const e=ca.exec(s);return e===null?null:{hours:Math.min(23,parseInt(e[1],10)),minutes:Math.min(59,parseInt(e[2],10)),seconds:e[4]?Math.min(59,parseInt(e[4],10)):0,milliseconds:e[6]?parseInt(e[6],10):0}}}function pa(s){if(s===null)return null;{const e=[`${s.hours.toString().padStart(2,"0")}:${s.minutes.toString().padStart(2,"0")}`];return(s.seconds>0||s.milliseconds>0)&&(e.push(`:${s.seconds.toString().padStart(2,"0")}`),s.milliseconds>0&&e.push(`.${s.milliseconds.toString().padStart(3,"0")}`)),e.join("")}}const Wt={serialize:Rs,deserialize:pa};class Pe extends te{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:Pe.model_name,_view_name:Pe.view_name,value:null,disabled:!1,min:null,max:null,step:60})}}Pe.serializers=Object.assign(Object.assign({},te.serializers),{value:Wt,min:Wt,max:Wt});Pe.model_name="TimeModel";Pe.view_name="TimeView";class Gn extends Y{render(){super.render(),this.el.classList.add("jupyter-widgets"),this.el.classList.add("widget-inline-hbox"),this.el.classList.add("widget-timepicker"),this._timepicker=document.createElement("input"),this._timepicker.setAttribute("type","time"),this._timepicker.id=this.label.htmlFor=ae(),this.el.appendChild(this._timepicker),this.listenTo(this.model,"change:value",this._update_value),this.listenTo(this.model,"change",this.update2),this._update_value(),this.update2()}update2(e,t){return(t===void 0||t.updated_view!==this)&&(this._timepicker.disabled=this.model.get("disabled"),this._timepicker.min=this.model.get("min"),this._timepicker.max=this.model.get("max"),this._timepicker.step=this.model.get("step")),super.update()}events(){return this._picker_change,this._picker_focusout,{'change [type="time"]':"_picker_change",'focusout [type="time"]':"_picker_focusout"}}_update_value(e,t,i){(i===void 0||i.updated_view!==this)&&(this._timepicker.value=this.model.get("value"))}_picker_change(){this._timepicker.validity.badInput||(this.model.set("value",this._timepicker.value,{updated_view:this}),this.touch())}_picker_focusout(){this._timepicker.validity.badInput&&(this.model.set("value",null,{updated_view:this}),this.touch())}}function fa(s){return s===null?null:{year:s.getUTCFullYear(),month:s.getUTCMonth(),date:s.getUTCDate(),hours:s.getUTCHours(),minutes:s.getUTCMinutes(),seconds:s.getUTCSeconds(),milliseconds:s.getUTCMilliseconds()}}function ga(s){if(s===null)return null;{const e=new Date;return e.setUTCFullYear(s.year,s.month,s.date),e.setUTCHours(s.hours,s.minutes,s.seconds,s.milliseconds),e}}const Rt={serialize:fa,deserialize:ga};class Ns extends te{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"DatetimeModel",_view_name:"DatetimeView",value:null,disabled:!1,min:null,max:null})}}Ns.serializers=Object.assign(Object.assign({},te.serializers),{value:Rt,min:Rt,max:Rt});class Jn extends Y{render(){super.render(),this.el.classList.add("jupyter-widgets"),this.el.classList.add("widget-inline-hbox"),this.el.classList.add("widget-datetimepicker");const e=document.createElement("input");e.type="datetime-local",e.type==="text"?(this._datepicker=document.createElement("input"),this._datepicker.setAttribute("type","date"),this._datepicker.id=this.label.htmlFor=ae(),this._timepicker=document.createElement("input"),this._timepicker.setAttribute("type","time"),this._timepicker.id=ae(),this.el.appendChild(this._datepicker),this.el.appendChild(this._timepicker)):(this._datetimepicker=e,this._datetimepicker.id=this.label.htmlFor=ae(),this.el.appendChild(this._datetimepicker)),this.listenTo(this.model,"change:value",this._update_value),this.listenTo(this.model,"change",this.update2),this._update_value(),this.update2()}update2(e,t){if(t===void 0||t.updated_view!==this){const i=this.model.get("min"),n=this.model.get("max");this._datetimepicker?(this._datetimepicker.disabled=this.model.get("disabled"),this._datetimepicker.min=xe.dt_as_dt_string(i),this._datetimepicker.max=xe.dt_as_dt_string(n)):(this._datepicker.disabled=this.model.get("disabled"),this._datepicker.min=xe.dt_as_date_string(i),this._datepicker.max=xe.dt_as_date_string(n),this._timepicker.disabled=this.model.get("disabled"))}}events(){return this._picker_change,this._picker_focusout,{'change [type="date"]':"_picker_change",'change [type="time"]':"_picker_change",'change [type="datetime-local"]':"_picker_change",'focusout [type="date"]':"_picker_focusout",'focusout [type="datetime-local"]':"_picker_focusout",'focusout [type="time"]':"_picker_focusout"}}_update_value(e,t,i){if(i===void 0||i.updated_view!==this){const n=this.model.get("value");this._datetimepicker?this._datetimepicker.value=xe.dt_as_dt_string(n):(this._datepicker.valueAsDate=n,this._timepicker.value=xe.dt_as_time_string(n))}}_picker_change(){if(this._datetimepicker){if(!this._datetimepicker.validity.badInput){const e=this._datetimepicker.value;let t=e?new Date(e):null;t&&isNaN(t.valueOf())&&(t=null),this.model.set("value",t,{updated_view:this}),this.touch()}}else if(!this._datepicker.validity.badInput&&!this._timepicker.validity.badInput){const e=this._datepicker.valueAsDate,t=Rs(this._timepicker.value);e!==null&&t!==null&&e.setHours(t.hours,t.minutes,t.seconds,t.milliseconds),this.model.set("value",t!==null&&e,{updated_view:this}),this.touch()}}_picker_focusout(){[this._datetimepicker,this._datepicker,this._timepicker].some(t=>t&&t.validity.badInput)&&(this.model.set("value",null),this.touch())}}var xe;(function(s){function e(n){if(n===null)return"";const u=[];return u.push(`${n.getFullYear().toString().padStart(4,"0")}`),u.push(`-${(n.getMonth()+1).toString().padStart(2,"0")}`),u.push(`-${n.getDate().toString().padStart(2,"0")}`),u.push(`T${n.getHours().toString().padStart(2,"0")}`),u.push(`:${n.getMinutes().toString().padStart(2,"0")}`),(n.getSeconds()>0||n.getMilliseconds()>0)&&(u.push(`:${n.getSeconds().toString().padStart(2,"0")}`),n.getMilliseconds()>0&&u.push(`.${n.getMilliseconds().toString().padStart(3,"0")}`)),u.join("")}s.dt_as_dt_string=e;function t(n){return n?e(n).split("T",2)[0]:""}s.dt_as_date_string=t;function i(n){return n?e(n).split("T",2)[1]:""}s.dt_as_time_string=i})(xe||(xe={}));function ma(s){return s===null?null:{year:s.getFullYear(),month:s.getMonth(),date:s.getDate(),hours:s.getHours(),minutes:s.getMinutes(),seconds:s.getSeconds(),milliseconds:s.getMilliseconds()}}function _a(s){if(s===null)return null;{const e=new Date;return e.setFullYear(s.year,s.month,s.date),e.setHours(s.hours,s.minutes,s.seconds,s.milliseconds),e}}const Nt={serialize:ma,deserialize:_a};class ba extends Ns{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"NaiveDatetimeModel"})}}ba.serializers=Object.assign(Object.assign({},te.serializers),{value:Nt,min:Nt,max:Nt});function va(s){return Math.abs(s=Math.round(s))>=1e21?s.toLocaleString("en").replace(/,/g,""):s.toString(10)}function ct(s,e){if(!isFinite(s)||s===0)return null;var t=(s=e?s.toExponential(e-1):s.toExponential()).indexOf("e"),i=s.slice(0,t);return[i.length>1?i[0]+i.slice(2):i,+s.slice(t+1)]}function xa(s){return s=ct(Math.abs(s)),s?s[1]:NaN}function wa(s,e){return function(t,i){for(var n=t.length,u=[],p=0,_=s[0],j=0;n>0&&_>0&&(j+_+1>i&&(_=Math.max(1,i-j)),u.push(t.substring(n-=_,n+_)),!((j+=_+1)>i));)_=s[p=(p+1)%s.length];return u.reverse().join(e)}}function ya(s){return function(e){return e.replace(/[0-9]/g,function(t){return s[+t]})}}var Sa=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Ft(s){if(!(e=Sa.exec(s)))throw new Error("invalid format: "+s);var e;return new Ht({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}Ft.prototype=Ht.prototype;function Ht(s){this.fill=s.fill===void 0?" ":s.fill+"",this.align=s.align===void 0?">":s.align+"",this.sign=s.sign===void 0?"-":s.sign+"",this.symbol=s.symbol===void 0?"":s.symbol+"",this.zero=!!s.zero,this.width=s.width===void 0?void 0:+s.width,this.comma=!!s.comma,this.precision=s.precision===void 0?void 0:+s.precision,this.trim=!!s.trim,this.type=s.type===void 0?"":s.type+""}Ht.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function Ca(s){e:for(var e=s.length,t=1,i=-1,n;t<e;++t)switch(s[t]){case".":i=n=t;break;case"0":i===0&&(i=t),n=t;break;default:if(!+s[t])break e;i>0&&(i=0);break}return i>0?s.slice(0,i)+s.slice(n+1):s}var pt;function Ma(s,e){var t=ct(s,e);if(!t)return pt=void 0,s.toPrecision(e);var i=t[0],n=t[1],u=n-(pt=Math.max(-8,Math.min(8,Math.floor(n/3)))*3)+1,p=i.length;return u===p?i:u>p?i+new Array(u-p+1).join("0"):u>0?i.slice(0,u)+"."+i.slice(u):"0."+new Array(1-u).join("0")+ct(s,Math.max(0,e+u-1))[0]}function fs(s,e){var t=ct(s,e);if(!t)return s+"";var i=t[0],n=t[1];return n<0?"0."+new Array(-n).join("0")+i:i.length>n+1?i.slice(0,n+1)+"."+i.slice(n+1):i+new Array(n-i.length+2).join("0")}const gs={"%":(s,e)=>(s*100).toFixed(e),b:s=>Math.round(s).toString(2),c:s=>s+"",d:va,e:(s,e)=>s.toExponential(e),f:(s,e)=>s.toFixed(e),g:(s,e)=>s.toPrecision(e),o:s=>Math.round(s).toString(8),p:(s,e)=>fs(s*100,e),r:fs,s:Ma,X:s=>Math.round(s).toString(16).toUpperCase(),x:s=>Math.round(s).toString(16)};function ms(s){return s}var _s=Array.prototype.map,bs=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function ka(s){var e=s.grouping===void 0||s.thousands===void 0?ms:wa(_s.call(s.grouping,Number),s.thousands+""),t=s.currency===void 0?"":s.currency[0]+"",i=s.currency===void 0?"":s.currency[1]+"",n=s.decimal===void 0?".":s.decimal+"",u=s.numerals===void 0?ms:ya(_s.call(s.numerals,String)),p=s.percent===void 0?"%":s.percent+"",_=s.minus===void 0?"−":s.minus+"",j=s.nan===void 0?"NaN":s.nan+"";function ue(w,A){w=Ft(w);var H=w.fill,G=w.align,J=w.sign,k=w.symbol,he=w.zero,Be=w.width,Le=w.comma,ce=w.precision,et=w.trim,X=w.type;X==="n"?(Le=!0,X="g"):gs[X]||(ce===void 0&&(ce=12),et=!0,X="g"),(he||H==="0"&&G==="=")&&(he=!0,H="0",G="=");var We=(A&&A.prefix!==void 0?A.prefix:"")+(k==="$"?t:k==="#"&&/[boxX]/.test(X)?"0"+X.toLowerCase():""),Re=(k==="$"?i:/[%p]/.test(X)?p:"")+(A&&A.suffix!==void 0?A.suffix:""),tt=gs[X],Ct=/[defgprs%]/.test(X);ce=ce===void 0?6:/[gprs]/.test(X)?Math.max(1,Math.min(21,ce)):Math.max(0,Math.min(20,ce));function be(M){var pe=We,Q=Re,fe,Ne,ve;if(X==="c")Q=tt(M)+Q,M="";else{M=+M;var se=M<0||1/M<0;if(M=isNaN(M)?j:tt(Math.abs(M),ce),et&&(M=Ca(M)),se&&+M==0&&J!=="+"&&(se=!1),pe=(se?J==="("?J:_:J==="-"||J==="("?"":J)+pe,Q=(X==="s"&&!isNaN(M)&&pt!==void 0?bs[8+pt/3]:"")+Q+(se&&J==="("?")":""),Ct){for(fe=-1,Ne=M.length;++fe<Ne;)if(ve=M.charCodeAt(fe),48>ve||ve>57){Q=(ve===46?n+M.slice(fe+1):M.slice(fe))+Q,M=M.slice(0,fe);break}}}Le&&!he&&(M=e(M,1/0));var Te=pe.length+M.length+Q.length,ne=Te<Be?new Array(Be-Te+1).join(H):"";switch(Le&&he&&(M=e(ne+M,ne.length?Be-Q.length:1/0),ne=""),G){case"<":M=pe+M+Q+ne;break;case"=":M=pe+ne+M+Q;break;case"^":M=ne.slice(0,Te=ne.length>>1)+pe+M+Q+ne.slice(Te);break;default:M=ne+pe+M+Q;break}return u(M)}return be.toString=function(){return w+""},be}function je(w,A){var H=Math.max(-8,Math.min(8,Math.floor(xa(A)/3)))*3,G=Math.pow(10,-H),J=ue((w=Ft(w),w.type="f",w),{suffix:bs[8+H/3]});return function(k){return J(G*k)}}return{format:ue,formatPrefix:je}}var rt,ze;ja({thousands:",",grouping:[3],currency:["$",""]});function ja(s){return rt=ka(s),ze=rt.format,rt.formatPrefix,rt}var Fe={exports:{}},La=Fe.exports,vs;function Ta(){return vs||(vs=1,(function(s,e){(function(t,i){i(e)})(La,(function(t){t.PipsMode=void 0,(function(l){l.Range="range",l.Steps="steps",l.Positions="positions",l.Count="count",l.Values="values"})(t.PipsMode||(t.PipsMode={})),t.PipsType=void 0,(function(l){l[l.None=-1]="None",l[l.NoValue=0]="NoValue",l[l.LargeValue=1]="LargeValue",l[l.SmallValue=2]="SmallValue"})(t.PipsType||(t.PipsType={}));function i(l){return n(l)&&typeof l.from=="function"}function n(l){return typeof l=="object"&&typeof l.to=="function"}function u(l){l.parentElement.removeChild(l)}function p(l){return l!=null}function _(l){l.preventDefault()}function j(l){return l.filter(function(a){return this[a]?!1:this[a]=!0},{})}function ue(l,a){return Math.round(l/a)*a}function je(l,a){var c=l.getBoundingClientRect(),b=l.ownerDocument,m=b.documentElement,C=Le(b);return/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(C.x=0),a?c.top+C.y-m.clientTop:c.left+C.x-m.clientLeft}function w(l){return typeof l=="number"&&!isNaN(l)&&isFinite(l)}function A(l,a,c){c>0&&(k(l,a),setTimeout(function(){he(l,a)},c))}function H(l){return Math.max(Math.min(l,100),0)}function G(l){return Array.isArray(l)?l:[l]}function J(l){l=String(l);var a=l.split(".");return a.length>1?a[1].length:0}function k(l,a){l.classList&&!/\s/.test(a)?l.classList.add(a):l.className+=" "+a}function he(l,a){l.classList&&!/\s/.test(a)?l.classList.remove(a):l.className=l.className.replace(new RegExp("(^|\\b)"+a.split(" ").join("|")+"(\\b|$)","gi")," ")}function Be(l,a){return l.classList?l.classList.contains(a):new RegExp("\\b"+a+"\\b").test(l.className)}function Le(l){var a=window.pageXOffset!==void 0,c=(l.compatMode||"")==="CSS1Compat",b=a?window.pageXOffset:c?l.documentElement.scrollLeft:l.body.scrollLeft,m=a?window.pageYOffset:c?l.documentElement.scrollTop:l.body.scrollTop;return{x:b,y:m}}function ce(){return window.navigator.pointerEnabled?{start:"pointerdown",move:"pointermove",end:"pointerup"}:window.navigator.msPointerEnabled?{start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}:{start:"mousedown touchstart",move:"mousemove touchmove",end:"mouseup touchend"}}function et(){var l=!1;try{var a=Object.defineProperty({},"passive",{get:function(){l=!0}});window.addEventListener("test",null,a)}catch{}return l}function X(){return window.CSS&&CSS.supports&&CSS.supports("touch-action","none")}function We(l,a){return 100/(a-l)}function Re(l,a,c){return a*100/(l[c+1]-l[c])}function tt(l,a){return Re(l,l[0]<0?a+Math.abs(l[0]):a-l[0],0)}function Ct(l,a){return a*(l[1]-l[0])/100+l[0]}function be(l,a){for(var c=1;l>=a[c];)c+=1;return c}function M(l,a,c){if(c>=l.slice(-1)[0])return 100;var b=be(c,l),m=l[b-1],C=l[b],y=a[b-1],I=a[b];return y+tt([m,C],c)/We(y,I)}function pe(l,a,c){if(c>=100)return l.slice(-1)[0];var b=be(c,a),m=l[b-1],C=l[b],y=a[b-1],I=a[b];return Ct([m,C],(c-y)*We(y,I))}function Q(l,a,c,b){if(b===100)return b;var m=be(b,l),C=l[m-1],y=l[m];return c?b-C>(y-C)/2?y:C:a[m-1]?l[m-1]+ue(b-l[m-1],a[m-1]):b}var fe=(function(){function l(a,c,b){this.xPct=[],this.xVal=[],this.xSteps=[],this.xNumSteps=[],this.xHighestCompleteStep=[],this.xSteps=[b||!1],this.xNumSteps=[!1],this.snap=c;var m,C=[];for(Object.keys(a).forEach(function(y){C.push([G(a[y]),y])}),C.sort(function(y,I){return y[0][0]-I[0][0]}),m=0;m<C.length;m++)this.handleEntryPoint(C[m][1],C[m][0]);for(this.xNumSteps=this.xSteps.slice(0),m=0;m<this.xNumSteps.length;m++)this.handleStepPoint(m,this.xNumSteps[m])}return l.prototype.getDistance=function(a){var c,b=[];for(c=0;c<this.xNumSteps.length-1;c++){var m=this.xNumSteps[c];if(m&&a/m%1!==0)throw new Error("noUiSlider: 'limit', 'margin' and 'padding' of "+this.xPct[c]+"% range must be divisible by step.");b[c]=Re(this.xVal,a,c)}return b},l.prototype.getAbsoluteDistance=function(a,c,b){var m=0;if(a<this.xPct[this.xPct.length-1])for(;a>this.xPct[m+1];)m++;else a===this.xPct[this.xPct.length-1]&&(m=this.xPct.length-2);!b&&a===this.xPct[m+1]&&m++,c===null&&(c=[]);var C,y=1,I=c[m],S=0,ie=0,le=0,D=0;for(b?C=(a-this.xPct[m])/(this.xPct[m+1]-this.xPct[m]):C=(this.xPct[m+1]-a)/(this.xPct[m+1]-this.xPct[m]);I>0;)S=this.xPct[m+1+D]-this.xPct[m+D],c[m+D]*y+100-C*100>100?(ie=S*C,y=(I-100*C)/c[m+D],C=1):(ie=c[m+D]*S/100*y,y=0),b?(le=le-ie,this.xPct.length+D>=1&&D--):(le=le+ie,this.xPct.length-D>=1&&D++),I=c[m+D]*y;return a+le},l.prototype.toStepping=function(a){return a=M(this.xVal,this.xPct,a),a},l.prototype.fromStepping=function(a){return pe(this.xVal,this.xPct,a)},l.prototype.getStep=function(a){return a=Q(this.xPct,this.xSteps,this.snap,a),a},l.prototype.getDefaultStep=function(a,c,b){var m=be(a,this.xPct);return(a===100||c&&a===this.xPct[m-1])&&(m=Math.max(m-1,1)),(this.xVal[m]-this.xVal[m-1])/b},l.prototype.getNearbySteps=function(a){var c=be(a,this.xPct);return{stepBefore:{startValue:this.xVal[c-2],step:this.xNumSteps[c-2],highestStep:this.xHighestCompleteStep[c-2]},thisStep:{startValue:this.xVal[c-1],step:this.xNumSteps[c-1],highestStep:this.xHighestCompleteStep[c-1]},stepAfter:{startValue:this.xVal[c],step:this.xNumSteps[c],highestStep:this.xHighestCompleteStep[c]}}},l.prototype.countStepDecimals=function(){var a=this.xNumSteps.map(J);return Math.max.apply(null,a)},l.prototype.hasNoSize=function(){return this.xVal[0]===this.xVal[this.xVal.length-1]},l.prototype.convert=function(a){return this.getStep(this.toStepping(a))},l.prototype.handleEntryPoint=function(a,c){var b;if(a==="min"?b=0:a==="max"?b=100:b=parseFloat(a),!w(b)||!w(c[0]))throw new Error("noUiSlider: 'range' value isn't numeric.");this.xPct.push(b),this.xVal.push(c[0]);var m=Number(c[1]);b?this.xSteps.push(isNaN(m)?!1:m):isNaN(m)||(this.xSteps[0]=m),this.xHighestCompleteStep.push(0)},l.prototype.handleStepPoint=function(a,c){if(c){if(this.xVal[a]===this.xVal[a+1]){this.xSteps[a]=this.xHighestCompleteStep[a]=this.xVal[a];return}this.xSteps[a]=Re([this.xVal[a],this.xVal[a+1]],c,0)/We(this.xPct[a],this.xPct[a+1]);var b=(this.xVal[a+1]-this.xVal[a])/this.xNumSteps[a],m=Math.ceil(Number(b.toFixed(3))-1),C=this.xVal[a]+this.xNumSteps[a]*m;this.xHighestCompleteStep[a]=C}},l})(),Ne={to:function(l){return l===void 0?"":l.toFixed(2)},from:Number},ve={target:"target",base:"base",origin:"origin",handle:"handle",handleLower:"handle-lower",handleUpper:"handle-upper",touchArea:"touch-area",horizontal:"horizontal",vertical:"vertical",background:"background",connect:"connect",connects:"connects",ltr:"ltr",rtl:"rtl",textDirectionLtr:"txt-dir-ltr",textDirectionRtl:"txt-dir-rtl",draggable:"draggable",drag:"state-drag",tap:"state-tap",active:"active",tooltip:"tooltip",pips:"pips",pipsHorizontal:"pips-horizontal",pipsVertical:"pips-vertical",marker:"marker",markerHorizontal:"marker-horizontal",markerVertical:"marker-vertical",markerNormal:"marker-normal",markerLarge:"marker-large",markerSub:"marker-sub",value:"value",valueHorizontal:"value-horizontal",valueVertical:"value-vertical",valueNormal:"value-normal",valueLarge:"value-large",valueSub:"value-sub"},se={tooltips:".__tooltips",aria:".__aria"};function Te(l,a){if(!w(a))throw new Error("noUiSlider: 'step' is not numeric.");l.singleStep=a}function ne(l,a){if(!w(a))throw new Error("noUiSlider: 'keyboardPageMultiplier' is not numeric.");l.keyboardPageMultiplier=a}function ei(l,a){if(!w(a))throw new Error("noUiSlider: 'keyboardMultiplier' is not numeric.");l.keyboardMultiplier=a}function ti(l,a){if(!w(a))throw new Error("noUiSlider: 'keyboardDefaultStep' is not numeric.");l.keyboardDefaultStep=a}function si(l,a){if(typeof a!="object"||Array.isArray(a))throw new Error("noUiSlider: 'range' is not an object.");if(a.min===void 0||a.max===void 0)throw new Error("noUiSlider: Missing 'min' or 'max' in 'range'.");l.spectrum=new fe(a,l.snap||!1,l.singleStep)}function ii(l,a){if(a=G(a),!Array.isArray(a)||!a.length)throw new Error("noUiSlider: 'start' option is incorrect.");l.handles=a.length,l.start=a}function ai(l,a){if(typeof a!="boolean")throw new Error("noUiSlider: 'snap' option must be a boolean.");l.snap=a}function ni(l,a){if(typeof a!="boolean")throw new Error("noUiSlider: 'animate' option must be a boolean.");l.animate=a}function li(l,a){if(typeof a!="number")throw new Error("noUiSlider: 'animationDuration' option must be a number.");l.animationDuration=a}function ri(l,a){var c=[!1],b;if(a==="lower"?a=[!0,!1]:a==="upper"&&(a=[!1,!0]),a===!0||a===!1){for(b=1;b<l.handles;b++)c.push(a);c.push(!1)}else{if(!Array.isArray(a)||!a.length||a.length!==l.handles+1)throw new Error("noUiSlider: 'connect' option doesn't match handle count.");c=a}l.connect=c}function oi(l,a){switch(a){case"horizontal":l.ort=0;break;case"vertical":l.ort=1;break;default:throw new Error("noUiSlider: 'orientation' option is invalid.")}}function Gt(l,a){if(!w(a))throw new Error("noUiSlider: 'margin' option must be numeric.");a!==0&&(l.margin=l.spectrum.getDistance(a))}function di(l,a){if(!w(a))throw new Error("noUiSlider: 'limit' option must be numeric.");if(l.limit=l.spectrum.getDistance(a),!l.limit||l.handles<2)throw new Error("noUiSlider: 'limit' option is only supported on linear sliders with 2 or more handles.")}function ui(l,a){var c;if(!w(a)&&!Array.isArray(a))throw new Error("noUiSlider: 'padding' option must be numeric or array of exactly 2 numbers.");if(Array.isArray(a)&&!(a.length===2||w(a[0])||w(a[1])))throw new Error("noUiSlider: 'padding' option must be numeric or array of exactly 2 numbers.");if(a!==0){for(Array.isArray(a)||(a=[a,a]),l.padding=[l.spectrum.getDistance(a[0]),l.spectrum.getDistance(a[1])],c=0;c<l.spectrum.xNumSteps.length-1;c++)if(l.padding[0][c]<0||l.padding[1][c]<0)throw new Error("noUiSlider: 'padding' option must be a positive number(s).");var b=a[0]+a[1],m=l.spectrum.xVal[0],C=l.spectrum.xVal[l.spectrum.xVal.length-1];if(b/(C-m)>1)throw new Error("noUiSlider: 'padding' option must not exceed 100% of the range.")}}function hi(l,a){switch(a){case"ltr":l.dir=0;break;case"rtl":l.dir=1;break;default:throw new Error("noUiSlider: 'direction' option was not recognized.")}}function ci(l,a){if(typeof a!="string")throw new Error("noUiSlider: 'behaviour' must be a string containing options.");var c=a.indexOf("tap")>=0,b=a.indexOf("drag")>=0,m=a.indexOf("fixed")>=0,C=a.indexOf("snap")>=0,y=a.indexOf("hover")>=0,I=a.indexOf("unconstrained")>=0,S=a.indexOf("drag-all")>=0;if(m){if(l.handles!==2)throw new Error("noUiSlider: 'fixed' behaviour must be used with 2 handles");Gt(l,l.start[1]-l.start[0])}if(I&&(l.margin||l.limit))throw new Error("noUiSlider: 'unconstrained' behaviour cannot be used with margin or limit");l.events={tap:c||C,drag:b,dragAll:S,fixed:m,snap:C,hover:y,unconstrained:I}}function pi(l,a){if(a!==!1)if(a===!0||n(a)){l.tooltips=[];for(var c=0;c<l.handles;c++)l.tooltips.push(a)}else{if(a=G(a),a.length!==l.handles)throw new Error("noUiSlider: must pass a formatter for all handles.");a.forEach(function(b){if(typeof b!="boolean"&&!n(b))throw new Error("noUiSlider: 'tooltips' must be passed a formatter or 'false'.")}),l.tooltips=a}}function fi(l,a){if(a.length!==l.handles)throw new Error("noUiSlider: must pass a attributes for all handles.");l.handleAttributes=a}function gi(l,a){if(!n(a))throw new Error("noUiSlider: 'ariaFormat' requires 'to' method.");l.ariaFormat=a}function mi(l,a){if(!i(a))throw new Error("noUiSlider: 'format' requires 'to' and 'from' methods.");l.format=a}function _i(l,a){if(typeof a!="boolean")throw new Error("noUiSlider: 'keyboardSupport' option must be a boolean.");l.keyboardSupport=a}function bi(l,a){l.documentElement=a}function vi(l,a){if(typeof a!="string"&&a!==!1)throw new Error("noUiSlider: 'cssPrefix' must be a string or `false`.");l.cssPrefix=a}function xi(l,a){if(typeof a!="object")throw new Error("noUiSlider: 'cssClasses' must be an object.");typeof l.cssPrefix=="string"?(l.cssClasses={},Object.keys(a).forEach(function(c){l.cssClasses[c]=l.cssPrefix+a[c]})):l.cssClasses=a}function Jt(l){var a={margin:null,limit:null,padding:null,animate:!0,animationDuration:300,ariaFormat:Ne,format:Ne},c={step:{r:!1,t:Te},keyboardPageMultiplier:{r:!1,t:ne},keyboardMultiplier:{r:!1,t:ei},keyboardDefaultStep:{r:!1,t:ti},start:{r:!0,t:ii},connect:{r:!0,t:ri},direction:{r:!0,t:hi},snap:{r:!1,t:ai},animate:{r:!1,t:ni},animationDuration:{r:!1,t:li},range:{r:!0,t:si},orientation:{r:!1,t:oi},margin:{r:!1,t:Gt},limit:{r:!1,t:di},padding:{r:!1,t:ui},behaviour:{r:!0,t:ci},ariaFormat:{r:!1,t:gi},format:{r:!1,t:mi},tooltips:{r:!1,t:pi},keyboardSupport:{r:!0,t:_i},documentElement:{r:!1,t:bi},cssPrefix:{r:!0,t:vi},cssClasses:{r:!0,t:xi},handleAttributes:{r:!1,t:fi}},b={connect:!1,direction:"ltr",behaviour:"tap",orientation:"horizontal",keyboardSupport:!0,cssPrefix:"noUi-",cssClasses:ve,keyboardPageMultiplier:5,keyboardMultiplier:1,keyboardDefaultStep:10};l.format&&!l.ariaFormat&&(l.ariaFormat=l.format),Object.keys(c).forEach(function(S){if(!p(l[S])&&b[S]===void 0){if(c[S].r)throw new Error("noUiSlider: '"+S+"' is required.");return}c[S].t(a,p(l[S])?l[S]:b[S])}),a.pips=l.pips;var m=document.createElement("div"),C=m.style.msTransform!==void 0,y=m.style.transform!==void 0;a.transformRule=y?"transform":C?"msTransform":"webkitTransform";var I=[["left","top"],["right","bottom"]];return a.style=I[a.dir][a.ort],a}function wi(l,a,c){var b=ce(),m=X(),C=m&&et(),y=l,I,S,ie,le,D,L=a.spectrum,ge=[],P=[],Z=[],Mt=0,me={},Oe=l.ownerDocument,st=a.documentElement||Oe.documentElement,it=Oe.body,Si=Oe.dir==="rtl"||a.ort===1?0:100;function _e(r,o){var d=Oe.createElement("div");return o&&k(d,o),r.appendChild(d),d}function Ci(r,o){var d=_e(r,a.cssClasses.origin),h=_e(d,a.cssClasses.handle);if(_e(h,a.cssClasses.touchArea),h.setAttribute("data-handle",String(o)),a.keyboardSupport&&(h.setAttribute("tabindex","0"),h.addEventListener("keydown",function(g){return Bi(g,o)})),a.handleAttributes!==void 0){var f=a.handleAttributes[o];Object.keys(f).forEach(function(g){h.setAttribute(g,f[g])})}return h.setAttribute("role","slider"),h.setAttribute("aria-orientation",a.ort?"vertical":"horizontal"),o===0?k(h,a.cssClasses.handleLower):o===a.handles-1&&k(h,a.cssClasses.handleUpper),d}function Qt(r,o){return o?_e(r,a.cssClasses.connect):!1}function Mi(r,o){var d=_e(o,a.cssClasses.connects);S=[],ie=[],ie.push(Qt(d,r[0]));for(var h=0;h<a.handles;h++)S.push(Ci(o,h)),Z[h]=h,ie.push(Qt(d,r[h+1]))}function ki(r){k(r,a.cssClasses.target),a.dir===0?k(r,a.cssClasses.ltr):k(r,a.cssClasses.rtl),a.ort===0?k(r,a.cssClasses.horizontal):k(r,a.cssClasses.vertical);var o=getComputedStyle(r).direction;return o==="rtl"?k(r,a.cssClasses.textDirectionRtl):k(r,a.cssClasses.textDirectionLtr),_e(r,a.cssClasses.base)}function ji(r,o){return!a.tooltips||!a.tooltips[o]?!1:_e(r.firstChild,a.cssClasses.tooltip)}function Zt(){return y.hasAttribute("disabled")}function kt(r){var o=S[r];return o.hasAttribute("disabled")}function jt(){D&&(Ue("update"+se.tooltips),D.forEach(function(r){r&&u(r)}),D=null)}function es(){jt(),D=S.map(ji),Et("update"+se.tooltips,function(r,o,d){if(!(!D||!a.tooltips)&&D[o]!==!1){var h=r[o];a.tooltips[o]!==!0&&(h=a.tooltips[o].to(d[o])),D[o].innerHTML=h}})}function Li(){Ue("update"+se.aria),Et("update"+se.aria,function(r,o,d,h,f){Z.forEach(function(g){var v=S[g],x=at(P,g,0,!0,!0,!0),E=at(P,g,100,!0,!0,!0),V=f[g],T=String(a.ariaFormat.to(d[g]));x=L.fromStepping(x).toFixed(1),E=L.fromStepping(E).toFixed(1),V=L.fromStepping(V).toFixed(1),v.children[0].setAttribute("aria-valuemin",x),v.children[0].setAttribute("aria-valuemax",E),v.children[0].setAttribute("aria-valuenow",V),v.children[0].setAttribute("aria-valuetext",T)})})}function Ti(r){if(r.mode===t.PipsMode.Range||r.mode===t.PipsMode.Steps)return L.xVal;if(r.mode===t.PipsMode.Count){if(r.values<2)throw new Error("noUiSlider: 'values' (>= 2) required for mode 'count'.");for(var o=r.values-1,d=100/o,h=[];o--;)h[o]=o*d;return h.push(100),ts(h,r.stepped)}return r.mode===t.PipsMode.Positions?ts(r.values,r.stepped):r.mode===t.PipsMode.Values?r.stepped?r.values.map(function(f){return L.fromStepping(L.getStep(L.toStepping(f)))}):r.values:[]}function ts(r,o){return r.map(function(d){return L.fromStepping(o?L.getStep(d):d)})}function Oi(r){function o(V,T){return Number((V+T).toFixed(7))}var d=Ti(r),h={},f=L.xVal[0],g=L.xVal[L.xVal.length-1],v=!1,x=!1,E=0;return d=j(d.slice().sort(function(V,T){return V-T})),d[0]!==f&&(d.unshift(f),v=!0),d[d.length-1]!==g&&(d.push(g),x=!0),d.forEach(function(V,T){var B,O,N,U=V,W=d[T+1],R,Pt,zt,Dt,us,Bt,hs,cs=r.mode===t.PipsMode.Steps;for(cs&&(B=L.xNumSteps[T]),B||(B=W-U),W===void 0&&(W=U),B=Math.max(B,1e-7),O=U;O<=W;O=o(O,B)){for(R=L.toStepping(O),Pt=R-E,us=Pt/(r.density||1),Bt=Math.round(us),hs=Pt/Bt,N=1;N<=Bt;N+=1)zt=E+N*hs,h[zt.toFixed(5)]=[L.fromStepping(zt),0];Dt=d.indexOf(O)>-1?t.PipsType.LargeValue:cs?t.PipsType.SmallValue:t.PipsType.NoValue,!T&&v&&O!==W&&(Dt=0),O===W&&x||(h[R.toFixed(5)]=[O,Dt]),E=R}}),h}function Vi(r,o,d){var h,f,g=Oe.createElement("div"),v=(h={},h[t.PipsType.None]="",h[t.PipsType.NoValue]=a.cssClasses.valueNormal,h[t.PipsType.LargeValue]=a.cssClasses.valueLarge,h[t.PipsType.SmallValue]=a.cssClasses.valueSub,h),x=(f={},f[t.PipsType.None]="",f[t.PipsType.NoValue]=a.cssClasses.markerNormal,f[t.PipsType.LargeValue]=a.cssClasses.markerLarge,f[t.PipsType.SmallValue]=a.cssClasses.markerSub,f),E=[a.cssClasses.valueHorizontal,a.cssClasses.valueVertical],V=[a.cssClasses.markerHorizontal,a.cssClasses.markerVertical];k(g,a.cssClasses.pips),k(g,a.ort===0?a.cssClasses.pipsHorizontal:a.cssClasses.pipsVertical);function T(O,N){var U=N===a.cssClasses.value,W=U?E:V,R=U?v:x;return N+" "+W[a.ort]+" "+R[O]}function B(O,N,U){if(U=o?o(N,U):U,U!==t.PipsType.None){var W=_e(g,!1);W.className=T(U,a.cssClasses.marker),W.style[a.style]=O+"%",U>t.PipsType.NoValue&&(W=_e(g,!1),W.className=T(U,a.cssClasses.value),W.setAttribute("data-value",String(N)),W.style[a.style]=O+"%",W.innerHTML=String(d.to(N)))}}return Object.keys(r).forEach(function(O){B(O,r[O][0],r[O][1])}),g}function Lt(){le&&(u(le),le=null)}function Tt(r){Lt();var o=Oi(r),d=r.filter,h=r.format||{to:function(f){return String(Math.round(f))}};return le=y.appendChild(Vi(o,d,h)),le}function ss(){var r=I.getBoundingClientRect(),o="offset"+["Width","Height"][a.ort];return a.ort===0?r.width||I[o]:r.height||I[o]}function ye(r,o,d,h){var f=function(v){var x=Ei(v,h.pageOffset,h.target||o);if(!x||Zt()&&!h.doNotReject||Be(y,a.cssClasses.tap)&&!h.doNotReject||r===b.start&&x.buttons!==void 0&&x.buttons>1||h.hover&&x.buttons)return!1;C||x.preventDefault(),x.calcPoint=x.points[a.ort],d(x,h)},g=[];return r.split(" ").forEach(function(v){o.addEventListener(v,f,C?{passive:!0}:!1),g.push([v,f])}),g}function Ei(r,o,d){var h=r.type.indexOf("touch")===0,f=r.type.indexOf("mouse")===0,g=r.type.indexOf("pointer")===0,v=0,x=0;if(r.type.indexOf("MSPointer")===0&&(g=!0),r.type==="mousedown"&&!r.buttons&&!r.touches)return!1;if(h){var E=function(B){var O=B.target;return O===d||d.contains(O)||r.composed&&r.composedPath().shift()===d};if(r.type==="touchstart"){var V=Array.prototype.filter.call(r.touches,E);if(V.length>1)return!1;v=V[0].pageX,x=V[0].pageY}else{var T=Array.prototype.find.call(r.changedTouches,E);if(!T)return!1;v=T.pageX,x=T.pageY}}return o=o||Le(Oe),(f||g)&&(v=r.clientX+o.x,x=r.clientY+o.y),r.pageOffset=o,r.points=[v,x],r.cursor=f||g,r}function is(r){var o=r-je(I,a.ort),d=o*100/ss();return d=H(d),a.dir?100-d:d}function Ai(r){var o=100,d=!1;return S.forEach(function(h,f){if(!kt(f)){var g=P[f],v=Math.abs(g-r),x=v===100&&o===100,E=v<o,V=v<=o&&r>g;(E||V||x)&&(d=f,o=v)}}),d}function Ii(r,o){r.type==="mouseout"&&r.target.nodeName==="HTML"&&r.relatedTarget===null&&Ot(r,o)}function Pi(r,o){if(navigator.appVersion.indexOf("MSIE 9")===-1&&r.buttons===0&&o.buttonsProperty!==0)return Ot(r,o);var d=(a.dir?-1:1)*(r.calcPoint-o.startCalcPoint),h=d*100/o.baseSize;as(d>0,h,o.locations,o.handleNumbers,o.connect)}function Ot(r,o){o.handle&&(he(o.handle,a.cssClasses.active),Mt-=1),o.listeners.forEach(function(d){st.removeEventListener(d[0],d[1])}),Mt===0&&(he(y,a.cssClasses.drag),It(),r.cursor&&(it.style.cursor="",it.removeEventListener("selectstart",_))),o.handleNumbers.forEach(function(d){z("change",d),z("set",d),z("end",d)})}function Vt(r,o){if(!o.handleNumbers.some(kt)){var d;if(o.handleNumbers.length===1){var h=S[o.handleNumbers[0]];d=h.children[0],Mt+=1,k(d,a.cssClasses.active)}r.stopPropagation();var f=[],g=ye(b.move,st,Pi,{target:r.target,handle:d,connect:o.connect,listeners:f,startCalcPoint:r.calcPoint,baseSize:ss(),pageOffset:r.pageOffset,handleNumbers:o.handleNumbers,buttonsProperty:r.buttons,locations:P.slice()}),v=ye(b.end,st,Ot,{target:r.target,handle:d,listeners:f,doNotReject:!0,handleNumbers:o.handleNumbers}),x=ye("mouseout",st,Ii,{target:r.target,handle:d,listeners:f,doNotReject:!0,handleNumbers:o.handleNumbers});f.push.apply(f,g.concat(v,x)),r.cursor&&(it.style.cursor=getComputedStyle(r.target).cursor,S.length>1&&k(y,a.cssClasses.drag),it.addEventListener("selectstart",_,!1)),o.handleNumbers.forEach(function(E){z("start",E)})}}function zi(r){r.stopPropagation();var o=is(r.calcPoint),d=Ai(o);d!==!1&&(a.events.snap||A(y,a.cssClasses.tap,a.animationDuration),Ve(d,o,!0,!0),It(),z("slide",d,!0),z("update",d,!0),a.events.snap?Vt(r,{handleNumbers:[d]}):(z("change",d,!0),z("set",d,!0)))}function Di(r){var o=is(r.calcPoint),d=L.getStep(o),h=L.fromStepping(d);Object.keys(me).forEach(function(f){f.split(".")[0]==="hover"&&me[f].forEach(function(g){g.call(lt,h)})})}function Bi(r,o){if(Zt()||kt(o))return!1;var d=["Left","Right"],h=["Down","Up"],f=["PageDown","PageUp"],g=["Home","End"];a.dir&&!a.ort?d.reverse():a.ort&&!a.dir&&(h.reverse(),f.reverse());var v=r.key.replace("Arrow",""),x=v===f[0],E=v===f[1],V=v===h[0]||v===d[0]||x,T=v===h[1]||v===d[1]||E,B=v===g[0],O=v===g[1];if(!V&&!T&&!B&&!O)return!0;r.preventDefault();var N;if(T||V){var U=V?0:1,W=ds(o),R=W[U];if(R===null)return!1;R===!1&&(R=L.getDefaultStep(P[o],V,a.keyboardDefaultStep)),E||x?R*=a.keyboardPageMultiplier:R*=a.keyboardMultiplier,R=Math.max(R,1e-7),R=(V?-1:1)*R,N=ge[o]+R}else O?N=a.spectrum.xVal[a.spectrum.xVal.length-1]:N=a.spectrum.xVal[0];return Ve(o,L.toStepping(N),!0,!0),z("slide",o),z("update",o),z("change",o),z("set",o),!1}function Wi(r){r.fixed||S.forEach(function(o,d){ye(b.start,o.children[0],Vt,{handleNumbers:[d]})}),r.tap&&ye(b.start,I,zi,{}),r.hover&&ye(b.move,I,Di,{hover:!0}),r.drag&&ie.forEach(function(o,d){if(!(o===!1||d===0||d===ie.length-1)){var h=S[d-1],f=S[d],g=[o],v=[h,f],x=[d-1,d];k(o,a.cssClasses.draggable),r.fixed&&(g.push(h.children[0]),g.push(f.children[0])),r.dragAll&&(v=S,x=Z),g.forEach(function(E){ye(b.start,E,Vt,{handles:v,handleNumbers:x,connect:o})})}})}function Et(r,o){me[r]=me[r]||[],me[r].push(o),r.split(".")[0]==="update"&&S.forEach(function(d,h){z("update",h)})}function Ri(r){return r===se.aria||r===se.tooltips}function Ue(r){var o=r&&r.split(".")[0],d=o?r.substring(o.length):r;Object.keys(me).forEach(function(h){var f=h.split(".")[0],g=h.substring(f.length);(!o||o===f)&&(!d||d===g)&&(!Ri(g)||d===g)&&delete me[h]})}function z(r,o,d){Object.keys(me).forEach(function(h){var f=h.split(".")[0];r===f&&me[h].forEach(function(g){g.call(lt,ge.map(a.format.to),o,ge.slice(),d||!1,P.slice(),lt)})})}function at(r,o,d,h,f,g){var v;return S.length>1&&!a.events.unconstrained&&(h&&o>0&&(v=L.getAbsoluteDistance(r[o-1],a.margin,!1),d=Math.max(d,v)),f&&o<S.length-1&&(v=L.getAbsoluteDistance(r[o+1],a.margin,!0),d=Math.min(d,v))),S.length>1&&a.limit&&(h&&o>0&&(v=L.getAbsoluteDistance(r[o-1],a.limit,!1),d=Math.min(d,v)),f&&o<S.length-1&&(v=L.getAbsoluteDistance(r[o+1],a.limit,!0),d=Math.max(d,v))),a.padding&&(o===0&&(v=L.getAbsoluteDistance(0,a.padding[0],!1),d=Math.max(d,v)),o===S.length-1&&(v=L.getAbsoluteDistance(100,a.padding[1],!0),d=Math.min(d,v))),d=L.getStep(d),d=H(d),d===r[o]&&!g?!1:d}function At(r,o){var d=a.ort;return(d?o:r)+", "+(d?r:o)}function as(r,o,d,h,f){var g=d.slice(),v=h[0],x=[!r,r],E=[r,!r];h=h.slice(),r&&h.reverse(),h.length>1?h.forEach(function(T,B){var O=at(g,T,g[T]+o,x[B],E[B],!1);O===!1?o=0:(o=O-g[T],g[T]=O)}):x=E=[!0];var V=!1;h.forEach(function(T,B){V=Ve(T,d[T]+o,x[B],E[B])||V}),V&&(h.forEach(function(T){z("update",T),z("slide",T)}),f!=null&&z("drag",v))}function ns(r,o){return a.dir?100-r-o:r}function Ni(r,o){P[r]=o,ge[r]=L.fromStepping(o);var d=10*(ns(o,0)-Si),h="translate("+At(d+"%","0")+")";S[r].style[a.transformRule]=h,ls(r),ls(r+1)}function It(){Z.forEach(function(r){var o=P[r]>50?-1:1,d=3+(S.length+o*r);S[r].style.zIndex=String(d)})}function Ve(r,o,d,h,f){return f||(o=at(P,r,o,d,h,!1)),o===!1?!1:(Ni(r,o),!0)}function ls(r){if(ie[r]){var o=0,d=100;r!==0&&(o=P[r-1]),r!==ie.length-1&&(d=P[r]);var h=d-o,f="translate("+At(ns(o,h)+"%","0")+")",g="scale("+At(h/100,"1")+")";ie[r].style[a.transformRule]=f+" "+g}}function rs(r,o){return r===null||r===!1||r===void 0||(typeof r=="number"&&(r=String(r)),r=a.format.from(r),r!==!1&&(r=L.toStepping(r)),r===!1||isNaN(r))?P[o]:r}function nt(r,o,d){var h=G(r),f=P[0]===void 0;o=o===void 0?!0:o,a.animate&&!f&&A(y,a.cssClasses.tap,a.animationDuration),Z.forEach(function(x){Ve(x,rs(h[x],x),!0,!1,d)});var g=Z.length===1?0:1;if(f&&L.hasNoSize()&&(d=!0,P[0]=0,Z.length>1)){var v=100/(Z.length-1);Z.forEach(function(x){P[x]=x*v})}for(;g<Z.length;++g)Z.forEach(function(x){Ve(x,P[x],!0,!0,d)});It(),Z.forEach(function(x){z("update",x),h[x]!==null&&o&&z("set",x)})}function Ui(r){nt(a.start,r)}function Fi(r,o,d,h){if(r=Number(r),!(r>=0&&r<Z.length))throw new Error("noUiSlider: invalid handle number, got: "+r);Ve(r,rs(o,r),!0,!0,h),z("update",r),d&&z("set",r)}function os(r){if(r===void 0&&(r=!1),r)return ge.length===1?ge[0]:ge.slice(0);var o=ge.map(a.format.to);return o.length===1?o[0]:o}function Hi(){for(Ue(se.aria),Ue(se.tooltips),Object.keys(a.cssClasses).forEach(function(r){he(y,a.cssClasses[r])});y.firstChild;)y.removeChild(y.firstChild);delete y.noUiSlider}function ds(r){var o=P[r],d=L.getNearbySteps(o),h=ge[r],f=d.thisStep.step,g=null;if(a.snap)return[h-d.stepBefore.startValue||null,d.stepAfter.startValue-h||null];f!==!1&&h+f>d.stepAfter.startValue&&(f=d.stepAfter.startValue-h),h>d.thisStep.startValue?g=d.thisStep.step:d.stepBefore.step===!1?g=!1:g=h-d.stepBefore.highestStep,o===100?f=null:o===0&&(g=null);var v=L.countStepDecimals();return f!==null&&f!==!1&&(f=Number(f.toFixed(v))),g!==null&&g!==!1&&(g=Number(g.toFixed(v))),[g,f]}function $i(){return Z.map(ds)}function qi(r,o){var d=os(),h=["margin","limit","padding","range","animate","snap","step","format","pips","tooltips"];h.forEach(function(g){r[g]!==void 0&&(c[g]=r[g])});var f=Jt(c);h.forEach(function(g){r[g]!==void 0&&(a[g]=f[g])}),L=f.spectrum,a.margin=f.margin,a.limit=f.limit,a.padding=f.padding,a.pips?Tt(a.pips):Lt(),a.tooltips?es():jt(),P=[],nt(p(r.start)?r.start:d,o)}function Ki(){I=ki(y),Mi(a.connect,I),Wi(a.events),nt(a.start),a.pips&&Tt(a.pips),a.tooltips&&es(),Li()}Ki();var lt={destroy:Hi,steps:$i,on:Et,off:Ue,get:os,set:nt,setHandle:Fi,reset:Ui,__moveHandles:function(r,o,d){as(r,o,P,d)},options:c,updateOptions:qi,target:y,removePips:Lt,removeTooltips:jt,getPositions:function(){return P.slice()},getTooltips:function(){return D},getOrigins:function(){return S},pips:Tt};return lt}function Xt(l,a){if(!l||!l.nodeName)throw new Error("noUiSlider: create requires a single element, got: "+l);if(l.noUiSlider)throw new Error("noUiSlider: Slider was already initialized.");var c=Jt(a),b=wi(l,c,a);return l.noUiSlider=b,b}var yi={__spectrum:fe,cssClasses:ve,create:Xt};t.create=Xt,t.cssClasses=ve,t.default=yi,Object.defineProperty(t,"__esModule",{value:!0})}))})(Fe,Fe.exports)),Fe.exports}var Oa=Ta();const $t=Qi(Oa);class Us extends te{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"IntModel",value:0})}}class wt extends Us{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"BoundedIntModel",max:100,min:0})}}class Va extends K{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"SliderStyleModel"})}}Va.styleProperties=Object.assign(Object.assign({},K.styleProperties),{handle_color:{selector:".noUi-handle",attribute:"background-color",default:null}});class Ea extends wt{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"IntSliderModel",_view_name:"IntSliderView",step:1,orientation:"horizontal",readout:!0,readout_format:"d",continuous_update:!0,style:null,disabled:!1})}initialize(e,t){super.initialize(e,t),this.on("change:readout_format",this.update_readout_format,this),this.update_readout_format()}update_readout_format(){this.readout_formatter=ze(this.get("readout_format"))}}class Xn extends Ea{}class qt extends Y{constructor(){super(...arguments),this._parse_value=parseInt}render(){super.render(),this.el.classList.add("jupyter-widgets"),this.el.classList.add("widget-inline-hbox"),this.el.classList.add("widget-slider"),this.el.classList.add("widget-hslider"),this.$slider=document.createElement("div"),this.$slider.classList.add("slider"),this.slider_container=document.createElement("div"),this.slider_container.classList.add("slider-container"),this.slider_container.appendChild(this.$slider),this.el.appendChild(this.slider_container),this.readout=document.createElement("div"),this.el.appendChild(this.readout),this.readout.classList.add("widget-readout"),this.readout.contentEditable="true",this.readout.style.display="none",this.createSlider(),this.model.on("change:orientation",this.regenSlider,this),this.model.on("change:max",this.updateSliderOptions,this),this.model.on("change:min",this.updateSliderOptions,this),this.model.on("change:step",this.updateSliderOptions,this),this.model.on("change:value",this.updateSliderValue,this),this.update()}update(e){return(e===void 0||e.updated_view!==this)&&(this.model.get("disabled")?(this.readout.contentEditable="false",this.$slider.setAttribute("disabled",!0)):(this.readout.contentEditable="true",this.$slider.removeAttribute("disabled")),this.model.get("orientation")==="vertical"?(this.el.classList.remove("widget-hslider"),this.el.classList.add("widget-vslider"),this.el.classList.remove("widget-inline-hbox"),this.el.classList.add("widget-inline-vbox")):(this.el.classList.remove("widget-vslider"),this.el.classList.add("widget-hslider"),this.el.classList.remove("widget-inline-vbox"),this.el.classList.add("widget-inline-hbox")),this.model.get("readout")?(this.readout.style.display="",this.displayed.then(()=>{this.readout_overflow()?this.readout.classList.add("overflow"):this.readout.classList.remove("overflow")})):this.readout.style.display="none"),super.update()}readout_overflow(){return this.readout.scrollWidth>this.readout.clientWidth}events(){return{"blur [contentEditable=true]":"handleTextChange","keydown [contentEditable=true]":"handleKeyDown"}}handleKeyDown(e){e.keyCode===13&&(e.preventDefault(),this.handleTextChange())}createSlider(){const e=this.model.get("orientation"),t=this.model.get("behavior");$t.create(this.$slider,{start:this.model.get("value"),connect:!0,behaviour:t,range:{min:this.model.get("min"),max:this.model.get("max")},step:this.model.get("step"),animate:!1,orientation:e,direction:e==="horizontal"?"ltr":"rtl",format:{from:i=>Number(i),to:i=>this._validate_slide_value(i)}}),this.$slider.noUiSlider.on("update",(i,n)=>{this.handleSliderUpdateEvent(i,n)}),this.$slider.noUiSlider.on("change",(i,n)=>{this.handleSliderChangeEvent(i,n)})}regenSlider(e){this.$slider.noUiSlider.destroy(),this.createSlider()}_validate_slide_value(e){return Math.round(e)}}class Aa extends qt{constructor(){super(...arguments),this._range_regex=/^\s*([+-]?\d+)\s*[-:–]\s*([+-]?\d+)/}update(e){super.update(e);const t=this.model.get("value");this.readout.textContent=this.valueToString(t),this.model.get("value")!==t&&(this.model.set("value",t,{updated_view:this}),this.touch())}valueToString(e){const t=this.model.readout_formatter;return e.map(function(i){return t(i)}).join(" – ")}stringToValue(e){if(e===null)return null;const t=this._range_regex.exec(e);return t?[this._parse_value(t[1]),this._parse_value(t[2])]:null}handleTextChange(){let e=this.stringToValue(this.readout.textContent);const t=this.model.get("min"),i=this.model.get("max");e===null||isNaN(e[0])||isNaN(e[1])||e[0]>e[1]?this.readout.textContent=this.valueToString(this.model.get("value")):(e=[Math.max(Math.min(e[0],i),t),Math.max(Math.min(e[1],i),t)],e[0]!==this.model.get("value")[0]||e[1]!==this.model.get("value")[1]?(this.readout.textContent=this.valueToString(e),this.model.set("value",e),this.touch()):this.readout.textContent=this.valueToString(this.model.get("value")))}handleSliderChangeEvent(e,t){const i=e.map(this._validate_slide_value);this.readout.textContent=this.valueToString(i),this.handleSliderChanged(e,t)}handleSliderUpdateEvent(e,t){const i=e.map(this._validate_slide_value);this.readout.textContent=this.valueToString(i),this.model.get("continuous_update")&&this.handleSliderChanged(e,t)}handleSliderChanged(e,t){const i=e.map(this._validate_slide_value);this.model.set("value",i,{updated_view:this}),this.touch()}updateSliderOptions(e){this.$slider.noUiSlider.updateOptions({start:this.model.get("value"),range:{min:this.model.get("min"),max:this.model.get("max")},step:this.model.get("step")})}updateSliderValue(e,t,i){if(i.updated_view===this)return;const n=this.$slider.noUiSlider.get(),u=this.model.get("value");(n[0]!==u[0]||n[1]!==u[1])&&this.$slider.noUiSlider.set(u)}}class Ia extends qt{update(e){super.update(e);const t=this.model.get("min"),i=this.model.get("max");let n=this.model.get("value");n>i?n=i:n<t&&(n=t),this.readout.textContent=this.valueToString(n),this.model.get("value")!==n&&(this.model.set("value",n,{updated_view:this}),this.touch())}valueToString(e){const t=this.model.readout_formatter;return t(e)}stringToValue(e){return this._parse_value(e)}handleTextChange(){var e;let t=this.stringToValue((e=this.readout.textContent)!==null&&e!==void 0?e:"");const i=this.model.get("min"),n=this.model.get("max");isNaN(t)?this.readout.textContent=this.valueToString(this.model.get("value")):(t=Math.max(Math.min(t,n),i),t!==this.model.get("value")?(this.readout.textContent=this.valueToString(t),this.model.set("value",t),this.touch()):this.readout.textContent=this.valueToString(this.model.get("value")))}handleSliderChangeEvent(e,t){const i=e.map(this._validate_slide_value);this.readout.textContent=this.valueToString(i),this.handleSliderChanged(e,t)}handleSliderUpdateEvent(e,t){const i=e.map(this._validate_slide_value);this.readout.textContent=this.valueToString(i),this.model.get("continuous_update")&&this.handleSliderChanged(e,t)}handleSliderChanged(e,t){const i=this._validate_slide_value(e[t]),n=this.model.get("value");parseFloat(n)!==i&&(this.model.set("value",i,{updated_view:this}),this.touch())}updateSliderOptions(e){this.$slider.noUiSlider.updateOptions({start:this.model.get("value"),range:{min:this.model.get("min"),max:this.model.get("max")},step:this.model.get("step")})}updateSliderValue(e,t,i){if(i.updated_view===this)return;const n=this.$slider.noUiSlider.get(),u=this.model.get("value");n!==u&&this.$slider.noUiSlider.set(u)}}class Qn extends Us{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"IntTextModel",_view_name:"IntTextView",disabled:!1,continuous_update:!1})}}class Zn extends wt{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"BoundedIntTextModel",_view_name:"IntTextView",disabled:!1,continuous_update:!1,step:1})}}class Pa extends Y{constructor(){super(...arguments),this._parse_value=parseInt,this._default_step="1"}render(){super.render(),this.el.classList.add("jupyter-widgets"),this.el.classList.add("widget-inline-hbox"),this.el.classList.add("widget-text"),this.textbox=document.createElement("input"),this.textbox.type="number",this.textbox.required=!0,this.textbox.id=this.label.htmlFor=ae(),this.el.appendChild(this.textbox),this.update()}update(e){if(e===void 0||e.updated_view!==this){const t=this.model.get("value");this._parse_value(this.textbox.value)!==t&&(this.textbox.value=t.toString()),this.model.get("min")!==void 0&&(this.textbox.min=this.model.get("min")),this.model.get("max")!==void 0&&(this.textbox.max=this.model.get("max")),this.model.get("step")!==void 0&&this.model.get("step")!==null?this.textbox.step=this.model.get("step"):this.textbox.step=this._default_step,this.textbox.disabled=this.model.get("disabled")}return super.update()}events(){return{"keydown input":"handleKeyDown","keypress input":"handleKeypress","keyup input":"handleKeyUp","input input":"handleChanging","change input":"handleChanged"}}handleKeyDown(e){e.stopPropagation()}handleKeypress(e){/[e,. ]/.test(String.fromCharCode(e.keyCode))&&e.preventDefault()}handleKeyUp(e){if(e.altKey||e.ctrlKey)return;const t=e.target;let i=t.value;if(i=i.replace(/[e,.\s]/g,""),i.length>=1){const n=i.substr(1);i=i[0]+n.replace(/[+-]/g,"")}t.value!==i&&(e.preventDefault(),t.value=i)}handleChanging(e){const i=e.target.value.trim();i===""||["-","-.",".","+.","+"].indexOf(i)>=0||this.model.get("continuous_update")&&this.handleChanged(e)}handleChanged(e){const t=e.target;let i=this._parse_value(t.value);if(isNaN(i))t.value=this.model.get("value");else{let n=i;this.model.get("max")!==void 0&&(n=Math.min(this.model.get("max"),n)),this.model.get("min")!==void 0&&(n=Math.max(this.model.get("min"),n)),n!==i&&(t.value=n,i=n),i!==this.model.get("value")&&(this.model.set("value",i,{updated_view:this}),this.touch())}}}class za extends K{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"ProgressStyleModel"})}}za.styleProperties=Object.assign(Object.assign({},K.styleProperties),{bar_color:{selector:".progress-bar",attribute:"background-color",default:null}});class el extends wt{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"IntProgressModel",_view_name:"ProgressView",orientation:"horizontal",bar_style:"",style:null})}}class ft extends Y{initialize(e){super.initialize(e),this.listenTo(this.model,"change:bar_style",this.update_bar_style),this.luminoWidget.addClass("jupyter-widgets")}render(){super.render();const t=this.model.get("orientation")==="horizontal"?"widget-hprogress":"widget-vprogress";this.el.classList.add(t),this.progress=document.createElement("div"),this.progress.classList.add("progress"),this.progress.style.position="relative",this.el.appendChild(this.progress),this.bar=document.createElement("div"),this.bar.classList.add("progress-bar"),this.bar.style.position="absolute",this.bar.style.bottom="0px",this.bar.style.left="0px",this.progress.appendChild(this.bar),this.update(),this.set_bar_style()}update(){const e=this.model.get("value"),t=this.model.get("max"),i=this.model.get("min"),n=this.model.get("orientation"),u=100*(e-i)/(t-i);return n==="horizontal"?(this.el.classList.remove("widget-inline-vbox"),this.el.classList.remove("widget-vprogress"),this.el.classList.add("widget-inline-hbox"),this.el.classList.add("widget-hprogress"),this.bar.style.width=u+"%",this.bar.style.height="100%"):(this.el.classList.remove("widget-inline-hbox"),this.el.classList.remove("widget-hprogress"),this.el.classList.add("widget-inline-vbox"),this.el.classList.add("widget-vprogress"),this.bar.style.width="100%",this.bar.style.height=u+"%"),super.update()}update_bar_style(){this.update_mapped_classes(ft.class_map,"bar_style",this.bar)}set_bar_style(){this.set_mapped_classes(ft.class_map,"bar_style",this.bar)}}ft.class_map={success:["progress-bar-success"],info:["progress-bar-info"],warning:["progress-bar-warning"],danger:["progress-bar-danger"]};class tl extends wt{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"PlayModel",_view_name:"PlayView",repeat:!1,playing:!1,show_repeat:!0,interval:100,step:1,disabled:!1})}initialize(e,t){super.initialize(e,t)}loop(){if(!this.get("playing"))return;const e=this.get("value")+this.get("step");e<=this.get("max")?(this.set("value",e),this.schedule_next()):this.get("repeat")?(this.set("value",this.get("min")),this.schedule_next()):this.pause(),this.save_changes()}schedule_next(){this._timerId=window.setTimeout(this.loop.bind(this),this.get("interval"))}stop(){this.pause(),this.set("value",this.get("min")),this.save_changes()}pause(){window.clearTimeout(this._timerId),this._timerId=void 0,this.set("playing",!1),this.save_changes()}animate(){this._timerId===void 0&&(this.get("value")===this.get("max")?(this.set("value",this.get("min")),this.schedule_next(),this.save_changes()):this.loop(),this.save_changes())}play(){this.set("playing",!this.get("playing")),this.save_changes()}repeat(){this.set("repeat",!this.get("repeat")),this.save_changes()}}class sl extends q{render(){super.render(),this.el.classList.add("jupyter-widgets"),this.el.classList.add("widget-inline-hbox"),this.el.classList.add("widget-play"),this.playPauseButton=document.createElement("button"),this.stopButton=document.createElement("button"),this.repeatButton=document.createElement("button"),this.playPauseButton.className="jupyter-button",this.stopButton.className="jupyter-button",this.repeatButton.className="jupyter-button",this.el.appendChild(this.playPauseButton),this.el.appendChild(this.stopButton),this.el.appendChild(this.repeatButton);const e=document.createElement("i");e.className="fa fa-play",this.playPauseButton.appendChild(e);const t=document.createElement("i");t.className="fa fa-stop",this.stopButton.appendChild(t);const i=document.createElement("i");i.className="fa fa-retweet",this.repeatButton.appendChild(i),this.playPauseButton.onclick=this.model.play.bind(this.model),this.stopButton.onclick=this.model.stop.bind(this.model),this.repeatButton.onclick=this.model.repeat.bind(this.model),this.listenTo(this.model,"change:playing",this.onPlayingChanged),this.listenTo(this.model,"change:repeat",this.updateRepeat),this.listenTo(this.model,"change:show_repeat",this.updateRepeat),this.updatePlaying(),this.updateRepeat(),this.update()}update(){const e=this.model.get("disabled");this.playPauseButton.disabled=e,this.stopButton.disabled=e,this.repeatButton.disabled=e,this.updatePlaying()}onPlayingChanged(){this.updatePlaying();const e=this.model.previous("playing"),t=this.model.get("playing");!e&&t?this.model.animate():this.model.pause()}updatePlaying(){const e=this.model.get("playing"),t=this.playPauseButton.getElementsByTagName("i")[0];e?t.className="fa fa-pause":t.className="fa fa-play"}updateRepeat(){const e=this.model.get("repeat");this.repeatButton.style.display=this.model.get("show_repeat")?this.playPauseButton.style.display:"none",e?this.repeatButton.classList.add("mod-active"):this.repeatButton.classList.remove("mod-active")}}class Fs extends te{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"FloatModel",value:0})}}class yt extends Fs{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"BoundedFloatModel",max:100,min:0})}}class Da extends yt{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"FloatSliderModel",_view_name:"FloatSliderView",step:1,orientation:"horizontal",_range:!1,readout:!0,readout_format:".2f",slider_color:null,continuous_update:!0,disabled:!1})}initialize(e,t){super.initialize(e,t),this.on("change:readout_format",this.update_readout_format,this),this.update_readout_format()}update_readout_format(){this.readout_formatter=ze(this.get("readout_format"))}}class il extends yt{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"FloatLogSliderModel",_view_name:"FloatLogSliderView",step:.1,orientation:"horizontal",_range:!1,readout:!0,readout_format:".3g",slider_color:null,continuous_update:!0,disabled:!1,base:10,value:1,min:0,max:4})}initialize(e,t){super.initialize(e,t),this.on("change:readout_format",this.update_readout_format,this),this.update_readout_format()}update_readout_format(){this.readout_formatter=ze(this.get("readout_format"))}}class al extends Da{}class nl extends Ia{constructor(){super(...arguments),this._parse_value=parseFloat}_validate_slide_value(e){return e}}class ll extends qt{constructor(){super(...arguments),this._parse_value=parseFloat}update(e){super.update(e);const t=this.model.get("value");this.readout.textContent=this.valueToString(t)}logCalc(e){const t=this.model.get("min"),i=this.model.get("max"),n=this.model.get("base");let u=Math.log(e)/Math.log(n);return u>i?u=i:u<t&&(u=t),u}createSlider(){var e;const t=this.model.get("orientation"),i=this.model.get("behavior");$t.create(this.$slider,{start:this.logCalc(this.model.get("value")),behaviour:i,range:{min:this.model.get("min"),max:this.model.get("max")},step:(e=this.model.get("step"))!==null&&e!==void 0?e:void 0,animate:!1,orientation:t,direction:t==="horizontal"?"ltr":"rtl",format:{from:n=>Number(n),to:n=>n}}),this.$slider.noUiSlider.on("update",(n,u)=>{this.handleSliderUpdateEvent(n,u)}),this.$slider.noUiSlider.on("change",(n,u)=>{this.handleSliderChangeEvent(n,u)})}valueToString(e){const t=this.model.readout_formatter;return t(e)}stringToValue(e){return e===null?NaN:this._parse_value(e)}handleTextChange(){let e=this.stringToValue(this.readout.textContent);const t=this.model.get("min"),i=this.model.get("max"),n=this.model.get("base");isNaN(e)?this.readout.textContent=this.valueToString(this.model.get("value")):(e=Math.max(Math.min(e,Math.pow(n,i)),Math.pow(n,t)),e!==this.model.get("value")?(this.readout.textContent=this.valueToString(e),this.model.set("value",e),this.touch()):this.readout.textContent=this.valueToString(this.model.get("value")))}handleSliderUpdateEvent(e,t){const i=this.model.get("base"),n=Math.pow(i,this._validate_slide_value(e[0]));this.readout.textContent=this.valueToString(n),this.model.get("continuous_update")&&this.handleSliderChanged(e,t)}handleSliderChangeEvent(e,t){const i=this.model.get("base"),n=Math.pow(i,this._validate_slide_value(e[0]));this.readout.textContent=this.valueToString(n),this.handleSliderChanged(e,t)}handleSliderChanged(e,t){if(this._updating_slider)return;const i=this.model.get("base"),n=Math.pow(i,this._validate_slide_value(e[0]));this.model.set("value",n,{updated_view:this}),this.touch()}updateSliderValue(e,t,i){if(i.updated_view===this)return;const n=this.logCalc(this.model.get("value"));this.$slider.noUiSlider.set(n)}updateSliderOptions(e){this.$slider.noUiSlider.updateOptions({start:this.logCalc(this.model.get("value")),range:{min:this.model.get("min"),max:this.model.get("max")},step:this.model.get("step")})}_validate_slide_value(e){return e}}class rl extends Aa{constructor(){super(...arguments),this._parse_value=parseFloat,this._range_regex=/^\s*([+-]?(?:\d*\.?\d+|\d+\.)(?:[eE][-:]?\d+)?)\s*[-:–]\s*([+-]?(?:\d*\.?\d+|\d+\.)(?:[eE][+-]?\d+)?)/}_validate_slide_value(e){return e}}class ol extends Fs{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"FloatTextModel",_view_name:"FloatTextView",disabled:!1,continuous_update:!1})}}class dl extends yt{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"BoundedFloatTextModel",_view_name:"FloatTextView",disabled:!1,continuous_update:!1,step:.1})}}class ul extends Pa{constructor(){super(...arguments),this._parse_value=parseFloat,this._default_step="any"}handleKeypress(e){e.stopPropagation()}handleKeyUp(e){}}class hl extends yt{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"FloatProgressModel",_view_name:"ProgressView",orientation:"horizontal",bar_style:"",style:null})}}class cl extends F{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"ControllerButtonModel",_view_name:"ControllerButtonView",value:0,pressed:!1})}}class pl extends q{render(){this.el.classList.add("jupyter-widgets"),this.el.classList.add("widget-controller-button"),this.el.style.width="fit-content",this.support=document.createElement("div"),this.support.style.position="relative",this.support.style.margin="1px",this.support.style.width="16px",this.support.style.height="16px",this.support.style.border="1px solid black",this.support.style.background="lightgray",this.el.appendChild(this.support),this.bar=document.createElement("div"),this.bar.style.position="absolute",this.bar.style.width="100%",this.bar.style.bottom="0px",this.bar.style.background="gray",this.support.appendChild(this.bar),this.update(),this.label=document.createElement("div"),this.label.textContent=this.model.get("description"),this.label.style.textAlign="center",this.el.appendChild(this.label)}update(){this.bar.style.height=100*this.model.get("value")+"%"}}class fl extends F{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"ControllerAxisModel",_view_name:"ControllerAxisView",value:0})}}class gl extends q{render(){this.el.classList.add("jupyter-widgets"),this.el.classList.add("widget-controller-axis"),this.el.style.width="16px",this.el.style.padding="4px",this.support=document.createElement("div"),this.support.style.position="relative",this.support.style.margin="1px",this.support.style.width="4px",this.support.style.height="64px",this.support.style.border="1px solid black",this.support.style.background="lightgray",this.bullet=document.createElement("div"),this.bullet.style.position="absolute",this.bullet.style.margin="-3px",this.bullet.style.boxSizing="unset",this.bullet.style.width="10px",this.bullet.style.height="10px",this.bullet.style.background="gray",this.label=document.createElement("div"),this.label.textContent=this.model.get("description"),this.label.style.textAlign="center",this.support.appendChild(this.bullet),this.el.appendChild(this.support),this.el.appendChild(this.label),this.update()}update(){this.bullet.style.top=50*(this.model.get("value")+1)+"%"}}class Ba extends F{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"ControllerModel",_view_name:"ControllerView",index:0,name:"",mapping:"",connected:!1,timestamp:0,buttons:[],axes:[]})}initialize(e,t){super.initialize(e,t),navigator.getGamepads===void 0?(this.readout="This browser does not support gamepads.",console.error(this.readout)):(this.readout="Connect gamepad and press any button.",this.get("connected")?this.update_loop():this.wait_loop())}wait_loop(){const e=this.get("index"),t=navigator.getGamepads()[e];t?this.setup(t).then(i=>{this.set(i),this.save_changes(),window.requestAnimationFrame(this.update_loop.bind(this))}):window.requestAnimationFrame(this.wait_loop.bind(this))}setup(e){return this.set({name:e.id,mapping:e.mapping,connected:e.connected,timestamp:e.timestamp}),Gi({buttons:Promise.all(e.buttons.map((t,i)=>this._create_button_model(i))),axes:Promise.all(e.axes.map((t,i)=>this._create_axis_model(i)))})}update_loop(){const e=this.get("index"),t=this.get("name"),i=navigator.getGamepads()[e];i&&e===i.index&&t===i.id?(this.set({timestamp:i.timestamp,connected:i.connected}),this.save_changes(),this.get("buttons").forEach(function(n,u){n.set({value:i.buttons[u].value,pressed:i.buttons[u].pressed}),n.save_changes()}),this.get("axes").forEach(function(n,u){n.set("value",i.axes[u]),n.save_changes()}),window.requestAnimationFrame(this.update_loop.bind(this))):this.reset_gamepad()}reset_gamepad(){this.get("buttons").forEach(function(e){e.close()}),this.get("axes").forEach(function(e){e.close()}),this.set({name:"",mapping:"",connected:!1,timestamp:0,buttons:[],axes:[]}),this.save_changes(),window.requestAnimationFrame(this.wait_loop.bind(this))}_create_button_model(e){return this.widget_manager.new_widget({model_name:"ControllerButtonModel",model_module:"@jupyter-widgets/controls",model_module_version:this.get("_model_module_version"),view_name:"ControllerButtonView",view_module:"@jupyter-widgets/controls",view_module_version:this.get("_view_module_version")}).then(function(t){return t.set("description",e),t})}_create_axis_model(e){return this.widget_manager.new_widget({model_name:"ControllerAxisModel",model_module:"@jupyter-widgets/controls",model_module_version:this.get("_model_module_version"),view_name:"ControllerAxisView",view_module:"@jupyter-widgets/controls",view_module_version:this.get("_view_module_version")}).then(function(t){return t.set("description",e),t})}}Ba.serializers=Object.assign(Object.assign({},F.serializers),{buttons:{deserialize:He},axes:{deserialize:He}});class ml extends q{_createElement(e){return this.luminoWidget=new As({view:this}),this.luminoWidget.node}_setElement(e){if(this.el||e!==this.luminoWidget.node)throw new Error("Cannot reset the DOM element.");this.el=this.luminoWidget.node,this.$el=bt(this.luminoWidget.node)}initialize(e){super.initialize(e),this.button_views=new Ke(this.add_button,null,this),this.listenTo(this.model,"change:buttons",(t,i)=>{this.button_views.update(i)}),this.axis_views=new Ke(this.add_axis,null,this),this.listenTo(this.model,"change:axes",(t,i)=>{this.axis_views.update(i)}),this.listenTo(this.model,"change:name",this.update_label)}render(){this.el.classList.add("jupyter-widgets"),this.el.classList.add("widget-controller"),this.label=document.createElement("div"),this.el.appendChild(this.label),this.axis_box=new qe,this.axis_box.node.style.display="flex",this.luminoWidget.addWidget(this.axis_box),this.button_box=new qe,this.button_box.node.style.display="flex",this.luminoWidget.addWidget(this.button_box),this.button_views.update(this.model.get("buttons")),this.axis_views.update(this.model.get("axes")),this.update_label()}update_label(){this.label.textContent=this.model.get("name")||this.model.readout}add_button(e){const t=new de;return this.button_box.addWidget(t),this.create_child_view(e).then(i=>{const n=Me.firstIndexOf(this.button_box.widgets,t);return this.button_box.insertWidget(n,i.luminoWidget),t.dispose(),i}).catch($e("Could not add child button view to controller",!0))}add_axis(e){const t=new de;return this.axis_box.addWidget(t),this.create_child_view(e).then(i=>{const n=Me.firstIndexOf(this.axis_box.widgets,t);return this.axis_box.insertWidget(n,i.luminoWidget),t.dispose(),i}).catch($e("Could not add child axis view to controller",!0))}remove(){super.remove(),this.button_views.remove(),this.axis_views.remove()}}class De extends te{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"SelectionModel",index:"",_options_labels:[],disabled:!1})}}class Hs extends Y{render(){super.render(),this.el.classList.add("jupyter-widgets"),this.el.classList.add("widget-inline-hbox")}update(){super.update(),this.listbox&&(this.listbox.disabled=this.model.get("disabled")),this.updateTabindex(),this.updateTooltip()}updateTabindex(){if(!this.listbox)return;const e=this.model.get("tabbable");e===!0?this.listbox.setAttribute("tabIndex","0"):e===!1?this.listbox.setAttribute("tabIndex","-1"):e===null&&this.listbox.removeAttribute("tabIndex")}updateTooltip(){if(!this.listbox)return;const e=this.model.get("tooltip");e?this.model.get("description").length===0&&this.listbox.setAttribute("title",e):this.listbox.removeAttribute("title")}}class _l extends De{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"DropdownModel",_view_name:"DropdownView",button_style:""})}}class bl extends Hs{render(){super.render(),this.el.classList.add("widget-dropdown"),this.listbox=document.createElement("select"),this.listbox.id=this.label.htmlFor=ae(),this.el.appendChild(this.listbox),this._updateOptions(),this.update()}update(e){(e==null?void 0:e.updated_view)!==this&&this.model.hasChanged("_options_labels")&&this._updateOptions();const t=this.model.get("index");return this.listbox.selectedIndex=t===null?-1:t,super.update()}_updateOptions(){this.listbox.textContent="";const e=this.model.get("_options_labels");for(let t=0;t<e.length;t++){const i=e[t],n=document.createElement("option");n.textContent=i.replace(/ /g," "),n.setAttribute("data-value",encodeURIComponent(i)),n.value=i,this.listbox.appendChild(n)}}events(){return{"change select":"_handle_change"}}_handle_change(){this.model.set("index",this.listbox.selectedIndex===-1?null:this.listbox.selectedIndex,{updated_view:this}),this.touch()}handle_message(e){e.do==="focus"?this.listbox.focus():e.do==="blur"&&this.listbox.blur()}}class vl extends De{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"SelectModel",_view_name:"SelectView",rows:5})}}class Wa extends Hs{initialize(e){super.initialize(e),this.listbox=document.createElement("select")}render(){super.render(),this.el.classList.add("widget-select"),this.listbox.id=this.label.htmlFor=ae(),this.el.appendChild(this.listbox),this._updateOptions(),this.update(),this.updateSelection()}update(e){if((e==null?void 0:e.updated_view)!==this){const i=this.model.hasChanged("_options_labels"),n=this.model.hasChanged("index");if(i||n){const u=this.model.get("index");i&&this._updateOptions(),this.updateSelection(u)}}super.update();let t=this.model.get("rows");t===null&&(t=""),this.listbox.setAttribute("size",t)}updateSelection(e){e=e||this.model.get("index"),this.listbox.selectedIndex=e===null?-1:e}_updateOptions(){this.listbox.textContent="";const e=this.model.get("_options_labels");for(let t=0;t<e.length;t++){const i=e[t],n=document.createElement("option");n.textContent=i.replace(/ /g," "),n.setAttribute("data-value",encodeURIComponent(i)),n.value=i,this.listbox.appendChild(n)}}events(){return{"change select":"_handle_change"}}_handle_change(){this.model.set("index",this.listbox.selectedIndex,{updated_view:this}),this.touch()}handle_message(e){e.do=="focus"?this.listbox.focus():e.do=="blur"&&this.listbox.blur()}}class xl extends De{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"RadioButtonsModel",_view_name:"RadioButtonsView",tooltips:[],icons:[],button_style:"",orientation:"vertical"})}}class wl extends Y{render(){super.render(),this.el.classList.add("widget-radio"),this.container=document.createElement("div"),this.el.appendChild(this.container),this.container.classList.add("widget-radio-box"),this.update()}update(e){this.model.get("orientation")==="vertical"?(this.container.classList.remove("widget-radio-box-horizontal"),this.container.classList.add("widget-radio-box-vertical")):(this.container.classList.remove("widget-radio-box-vertical"),this.container.classList.add("widget-radio-box-horizontal"));const t=this.model.get("_options_labels"),i=Array.from(this.container.querySelectorAll('input[type="radio"]')).map(u=>u.value);let n=t.length!==i.length;if(!n){for(let u=0,p=t.length;u<p;++u)if(i[u]!==t[u]){n=!0;break}}return n&&(e===void 0||e.updated_view!==this)&&(this.container.textContent="",t.forEach((u,p)=>{const _=document.createElement("label");_.textContent=u,this.container.appendChild(_);const j=document.createElement("input");j.setAttribute("type","radio"),j.value=p.toString(),j.setAttribute("data-value",encodeURIComponent(u)),_.appendChild(j)})),t.forEach((u,p)=>{const _='input[data-value="'+encodeURIComponent(u)+'"]',j=this.container.querySelectorAll(_);if(j.length>0){const ue=j[0];ue.checked=this.model.get("index")===p,ue.disabled=this.model.get("disabled")}}),setTimeout(this.adjustPadding,0,this),super.update(e)}adjustPadding(e){const t=window.getComputedStyle(e.el),i=parseInt(t.marginTop,10)+parseInt(t.marginBottom,10),n=e.label.offsetHeight+i,u=window.getComputedStyle(e.container),p=parseInt(u.marginBottom,10),_=(e.el.offsetHeight+i-p)%n,j=_===0?0:n-_;e.container.style.marginBottom=j+"px"}events(){return{'click input[type="radio"]':"_handle_click"}}_handle_click(e){const t=e.target;this.model.set("index",parseInt(t.value,10),{updated_view:this}),this.touch()}handle_message(e){if(e.do=="focus")this.container.firstElementChild.focus();else if(e.do=="blur")for(let t=0;t<this.container.children.length;t++)this.container.children[t].blur()}}class Ra extends K{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"ToggleButtonsStyleModel"})}}Ra.styleProperties=Object.assign(Object.assign({},K.styleProperties),{button_width:{selector:".widget-toggle-button",attribute:"width",default:null},font_weight:{selector:".widget-toggle-button",attribute:"font-weight",default:""}});class yl extends De{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"ToggleButtonsModel",_view_name:"ToggleButtonsView"})}}class Ee extends Y{initialize(e){this._css_state={},super.initialize(e),this.listenTo(this.model,"change:button_style",this.update_button_style)}render(){super.render(),this.el.classList.add("widget-toggle-buttons"),this.buttongroup=document.createElement("div"),this.el.appendChild(this.buttongroup),this.update(),this.set_button_style()}update(e){const t=this.model.get("_options_labels"),i=this.model.get("icons")||[],n=this.model.previous("icons")||[],u=Ee.classMap[this.model.previous("button_style")]||"",p=this.model.get("tooltips")||[],_=this.model.get("disabled"),j=this.buttongroup.querySelectorAll("button"),ue=Array.from(j).map(w=>w.value);let je=!1;for(let w=0,A=t.length;w<A;++w)if(ue[w]!==t[w]||i[w]!==n[w]){je=!0;break}return je&&(e===void 0||e.updated_view!==this)&&(this.buttongroup.textContent="",t.forEach((w,A)=>{let H;w.trim().length===0&&(!i[A]||i[A].trim().length===0)?H=" ":H=ea(w);const J=document.createElement("i"),k=document.createElement("button");i[A]&&(J.className="fa fa-"+i[A]),k.setAttribute("type","button"),k.className="widget-toggle-button jupyter-button",u&&k.classList.add(u),k.innerHTML=H,k.setAttribute("data-value",encodeURIComponent(w)),k.setAttribute("value",A.toString()),k.appendChild(J),k.disabled=_,p[A]&&k.setAttribute("title",p[A]),this.update_style_traits(k),this.buttongroup.appendChild(k)})),t.forEach((w,A)=>{const H='[data-value="'+encodeURIComponent(w)+'"]',G=this.buttongroup.querySelector(H);this.model.get("index")===A?G.classList.add("mod-active"):G.classList.remove("mod-active")}),this.stylePromise.then(function(w){w&&w.style()}),super.update(e)}update_style_traits(e){for(const t in this._css_state)if(Object.prototype.hasOwnProperty.call(this._css_state,"name")){if(t==="margin")this.buttongroup.style[t]=this._css_state[t];else if(t!=="width")if(e)e.style[t]=this._css_state[t];else{const i=this.buttongroup.querySelectorAll("button");i.length&&(i[0].style[t]=this._css_state[t])}}}update_button_style(){const e=this.buttongroup.querySelectorAll("button");for(let t=0;t<e.length;t++)this.update_mapped_classes(Ee.classMap,"button_style",e[t])}set_button_style(){const e=this.buttongroup.querySelectorAll("button");for(let t=0;t<e.length;t++)this.set_mapped_classes(Ee.classMap,"button_style",e[t])}events(){return{"click button":"_handle_click"}}_handle_click(e){const t=e.target;this.model.set("index",parseInt(t.value,10),{updated_view:this}),this.touch(),this.send({event:"click"})}}(function(s){s.classMap={primary:["mod-primary"],success:["mod-success"],info:["mod-info"],warning:["mod-warning"],danger:["mod-danger"]}})(Ee||(Ee={}));class Sl extends De{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"SelectionSliderModel",_view_name:"SelectionSliderView",orientation:"horizontal",readout:!0,continuous_update:!0})}}class Na extends Y{render(){super.render(),this.el.classList.add("widget-hslider"),this.el.classList.add("widget-slider"),this.$slider=document.createElement("div"),this.$slider.classList.add("slider"),this.slider_container=document.createElement("div"),this.slider_container.classList.add("slider-container"),this.slider_container.appendChild(this.$slider),this.el.appendChild(this.slider_container),this.readout=document.createElement("div"),this.el.appendChild(this.readout),this.readout.classList.add("widget-readout"),this.readout.style.display="none",this.createSlider(),this.model.on("change:orientation",this.regenSlider,this),this.model.on("change:index",this.updateSliderValue,this),this.update()}update(e){if((e==null?void 0:e.updated_view)!==this){this.updateSliderOptions(this.model);const t=this.model.get("orientation");this.model.get("disabled")?(this.readout.contentEditable="false",this.$slider.setAttribute("disabled",!0)):(this.readout.contentEditable="true",this.$slider.removeAttribute("disabled")),t==="vertical"?(this.el.classList.remove("widget-hslider"),this.el.classList.remove("widget-inline-hbox"),this.el.classList.add("widget-vslider"),this.el.classList.add("widget-inline-vbox")):(this.el.classList.remove("widget-vslider"),this.el.classList.remove("widget-inline-vbox"),this.el.classList.add("widget-hslider"),this.el.classList.add("widget-inline-hbox")),this.model.get("readout")?this.readout.style.display="":this.readout.style.display="none",this.updateSelection()}return super.update(e)}regenSlider(e){this.$slider.noUiSlider.destroy(),this.createSlider()}createSlider(){const e=this.model.get("_options_labels"),t=0,i=e.length-1,n=this.model.get("orientation"),u=this.model.get("behavior");$t.create(this.$slider,{start:this.model.get("index"),connect:!0,behaviour:u,range:{min:t,max:i},step:1,animate:!1,orientation:n,direction:n==="horizontal"?"ltr":"rtl",format:{from:p=>Number(p),to:p=>Math.round(p)}}),this.$slider.noUiSlider.on("update",(p,_)=>{this.handleSliderUpdateEvent(p,_)}),this.$slider.noUiSlider.on("change",(p,_)=>{this.handleSliderChangeEvent(p,_)})}events(){return{slide:"handleSliderChange",slidestop:"handleSliderChanged"}}updateSelection(){const e=this.model.get("index");this.updateReadout(e)}updateReadout(e){const t=this.model.get("_options_labels")[e];this.readout.textContent=t}handleSliderUpdateEvent(e,t){const i=e[0];this.updateReadout(i),this.model.get("continuous_update")&&this.handleSliderChanged(e,t)}handleSliderChangeEvent(e,t){const i=e[0];this.updateReadout(i),this.handleSliderChanged(e,t)}handleSliderChanged(e,t){const i=e[0];this.updateReadout(i),this.model.set("index",i,{updated_view:this}),this.touch()}updateSliderOptions(e){const t=this.model.get("_options_labels"),i=0,n=t.length-1;this.$slider.noUiSlider.updateOptions({start:this.model.get("index"),range:{min:i,max:n},step:1})}updateSliderValue(e,t,i){if(i.updated_view===this)return;const n=this.$slider.noUiSlider.get(),u=this.model.get("index");n!==u&&this.$slider.noUiSlider.set(u)}}class $s extends De{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"MultipleSelectionModel"})}}class Cl extends $s{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"SelectMultipleModel",_view_name:"SelectMultipleView",rows:null})}}class Ml extends Wa{initialize(e){super.initialize(e),this.listbox.multiple=!0}render(){super.render(),this.el.classList.add("widget-select-multiple")}updateSelection(){const e=this.model.get("index")||[],t=this.listbox.options;this.listbox.selectedIndex=-1,e.forEach(i=>{t[i].selected=!0})}_handle_change(){const e=Array.prototype.map.call(this.listbox.selectedOptions||[],function(t){return t.index});this.model.set("index",e,{updated_view:this}),this.touch()}}class kl extends $s{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"SelectionSliderModel",_view_name:"SelectionSliderView",orientation:"horizontal",readout:!0,continuous_update:!0})}}class jl extends Na{render(){super.render()}updateSelection(e){e=e||this.model.get("index"),this.updateReadout(e)}updateReadout(e){const t=this.model.get("_options_labels"),i=t[e[0]],n=t[e[1]];this.readout.textContent=`${i}-${n}`}handleSliderUpdateEvent(e,t){const i=e.map(Math.trunc);this.updateReadout(i),this.model.get("continuous_update")&&this.handleSliderChanged(e,t)}handleSliderChanged(e,t){const i=e.map(Math.round);this.updateReadout(i),this.model.set("index",i.slice(),{updated_view:this}),this.touch()}updateSliderValue(e,t,i){if(i.updated_view===this)return;const n=this.$slider.noUiSlider.get().map(Math.round),u=this.model.get("index").map(Math.round);(n[0]!==u[0]||n[1]!==u[1])&&this.$slider.noUiSlider.set(u)}}class Ua extends qe{constructor(){super(...arguments),this._widgetRemoved=new xt(this)}get widgetRemoved(){return this._widgetRemoved}onChildRemoved(e){this._widgetRemoved.emit(e.child)}}class Fa extends de{constructor(e={}){super(),this._currentChanged=new xt(this),this.addClass("jupyter-widget-TabPanel"),this.tabBar=new Ji(e),this.tabBar.addClass("jupyter-widget-TabPanel-tabBar"),this.tabContents=new Ua,this.tabContents.addClass("jupyter-widget-TabPanel-tabContents"),this.tabBar.tabMoved.connect(this._onTabMoved,this),this.tabBar.currentChanged.connect(this._onCurrentChanged,this),this.tabBar.tabCloseRequested.connect(this._onTabCloseRequested,this),this.tabBar.tabActivateRequested.connect(this._onTabActivateRequested,this),this.tabContents.widgetRemoved.connect(this._onWidgetRemoved,this);const t=new Is;t.addWidget(this.tabBar),t.addWidget(this.tabContents),this.layout=t}get currentChanged(){return this._currentChanged}get currentIndex(){const e=this.tabBar.currentIndex;return e===-1?null:e}set currentIndex(e){this.tabBar.currentIndex=e===null?-1:e}get currentWidget(){const e=this.tabBar.currentTitle;return e?e.owner:null}set currentWidget(e){this.tabBar.currentTitle=e?e.title:null}get tabsMovable(){return this.tabBar.tabsMovable}set tabsMovable(e){this.tabBar.tabsMovable=e}get widgets(){return this.tabContents.widgets}addWidget(e){this.insertWidget(this.widgets.length,e)}insertWidget(e,t){t!==this.currentWidget&&t.hide(),this.tabContents.insertWidget(e,t),this.tabBar.insertTab(e,t.title)}_onCurrentChanged(e,t){const{previousIndex:i,previousTitle:n,currentIndex:u,currentTitle:p}=t,_=n?n.owner:null,j=p?p.owner:null;_&&_.hide(),j&&j.show(),this._currentChanged.emit({previousIndex:i,previousWidget:_,currentIndex:u,currentWidget:j}),(ps.IS_EDGE||ps.IS_IE)&&vt.flush()}_onTabActivateRequested(e,t){t.title.owner.activate()}_onTabCloseRequested(e,t){t.title.owner.close()}_onTabMoved(e,t){this.tabContents.insertWidget(t.toIndex,t.title.owner)}_onWidgetRemoved(e,t){this.tabBar.removeTab(t.title)}}let Ha=class{constructor(e,t={}){this._array=null,this._value=null,this._previousValue=null,this._selectionChanged=new xt(this),this._array=e,this._insertBehavior=t.insertBehavior||"select-item-if-needed",this._removeBehavior=t.removeBehavior||"select-item-after"}get selectionChanged(){return this._selectionChanged}adjustSelectionForSet(e){const t=this.index,i=this.value;if(e!==t)return;this._updateSelectedValue();const n=this.value;this._previousValue=null,i!==n&&this._selectionChanged.emit({previousIndex:t,previousValue:i,currentIndex:t,currentValue:n})}get value(){return this._value}set value(e){e===null||this._array===null?this.index=null:this.index=Me.firstIndexOf(this._array,e)}get index(){return this._index}set index(e){let t;if(e!==null&&this._array!==null?(t=Math.floor(e),(t<0||t>=this._array.length)&&(t=null)):t=null,this._index===t)return;const i=this._index,n=this._value;this._index=t,this._updateSelectedValue(),this._previousValue=n,this._selectionChanged.emit({previousIndex:i,previousValue:n,currentIndex:t,currentValue:this._value})}get insertBehavior(){return this._insertBehavior}set insertBehavior(e){this._insertBehavior=e}get removeBehavior(){return this._removeBehavior}set removeBehavior(e){this._removeBehavior=e}adjustSelectionForInsert(e,t){const i=this._value,n=this._index,u=this._insertBehavior;if(u==="select-item"||u==="select-item-if-needed"&&n===null){this._index=e,this._value=t,this._previousValue=i,this._selectionChanged.emit({previousIndex:n,previousValue:i,currentIndex:e,currentValue:t});return}n!==null&&n>=e&&this._index++}clearSelection(){const e=this._index,t=this._value;this._index=null,this._value=null,this._previousValue=null,e!==null&&this._selectionChanged.emit({previousIndex:e,previousValue:t,currentIndex:this._index,currentValue:this._value})}adjustSelectionForRemove(e,t){if(this._index===null)return;const i=this._index,n=this._removeBehavior;if(i!==e){i>e&&this._index--;return}if(!this._array||this._array.length===0){this._index=null,this._value=null,this._previousValue=null,this._selectionChanged.emit({previousIndex:e,previousValue:t,currentIndex:this._index,currentValue:this._value});return}if(n==="select-item-after"){this._index=Math.min(e,this._array.length-1),this._updateSelectedValue(),this._previousValue=null,this._selectionChanged.emit({previousIndex:e,previousValue:t,currentIndex:this._index,currentValue:this._value});return}if(n==="select-item-before"){this._index=Math.max(0,e-1),this._updateSelectedValue(),this._previousValue=null,this._selectionChanged.emit({previousIndex:e,previousValue:t,currentIndex:this._index,currentValue:this._value});return}if(n==="select-previous-item"){this._previousValue?this.value=this._previousValue:(this._index=Math.min(e,this._array.length-1),this._updateSelectedValue()),this._previousValue=null,this._selectionChanged.emit({previousIndex:e,previousValue:t,currentIndex:this._index,currentValue:this.value});return}this._index=null,this._value=null,this._previousValue=null,this._selectionChanged.emit({previousIndex:e,previousValue:t,currentIndex:this._index,currentValue:this._value})}_updateSelectedValue(){const e=this._index;this._value=e!==null&&this._array?this._array[e]:null}};const $a="jupyter-widget-Collapse",qa="jupyter-widget-Collapse-header",Ka="jupyter-widget-Collapse-contents",xs="jupyter-widget-Collapse-open";class Ya extends de{constructor(e){super(e),this._collapseChanged=new xt(this),this.addClass($a),this._header=new de,this._header.addClass(qa),this._header.node.addEventListener("click",this);const t=document.createElement("i");t.classList.add("fa","fa-fw","fa-caret-right"),this._header.node.appendChild(t),this._header.node.appendChild(document.createElement("span")),this._content=new qe,this._content.addClass(Ka);const i=new Is;this.layout=i,i.addWidget(this._header),i.addWidget(this._content),e.widget&&(this.widget=e.widget),this.collapsed=!1}dispose(){this.isDisposed||(super.dispose(),this._header=null,this._widget=null,this._content=null)}get widget(){return this._widget}set widget(e){const t=this._widget;t&&(t.disposed.disconnect(this._onChildDisposed,this),t.title.changed.disconnect(this._onTitleChanged,this),t.parent=null),this._widget=e,e.disposed.connect(this._onChildDisposed,this),e.title.changed.connect(this._onTitleChanged,this),this._onTitleChanged(e.title),this._content.addWidget(e)}get collapsed(){return this._collapsed}set collapsed(e){e!==this._collapsed&&(e?this._collapse():this._uncollapse())}toggle(){this.collapsed=!this.collapsed}get collapseChanged(){return this._collapseChanged}_collapse(){this._collapsed=!0,this._content&&this._content.hide(),this.removeClass(xs),this._header.node.children[0].classList.add("fa-caret-right"),this._header.node.children[0].classList.remove("fa-caret-down"),this._collapseChanged.emit(void 0)}_uncollapse(){this._collapsed=!1,this._content&&this._content.show(),this.addClass(xs),this._header.node.children[0].classList.add("fa-caret-down"),this._header.node.children[0].classList.remove("fa-caret-right"),this._collapseChanged.emit(void 0)}handleEvent(e){switch(e.type){case"click":this._evtClick(e);break}}_evtClick(e){this.toggle()}_onTitleChanged(e){this._header.node.children[1].textContent=this._widget.title.label}_onChildDisposed(e){this.dispose()}}const Ga="jupyter-widget-Accordion",Ja="jupyter-widget-Accordion-child",ws="jupyter-widget-Accordion-child-active";class Xa extends qe{constructor(e){super(e),this._selection=new Ha(this.widgets),this._selection.selectionChanged.connect(this._onSelectionChanged,this),this.addClass(Ga)}get collapseWidgets(){return this.layout.widgets}get selection(){return this._selection}indexOf(e){return Me.findFirstIndex(this.collapseWidgets,t=>t.widget===e)}addWidget(e){const t=this._wrapWidget(e);return t.collapsed=!0,super.addWidget(t),this._selection.adjustSelectionForInsert(this.widgets.length-1,t),t}insertWidget(e,t){const i=this._wrapWidget(t);i.collapsed=!0,super.insertWidget(e,i),this._selection.adjustSelectionForInsert(e,i)}removeWidget(e){const t=this.indexOf(e);if(t>=0){const i=this.collapseWidgets[t];e.parent=null,i.dispose(),this._selection.adjustSelectionForRemove(t,null)}}_wrapWidget(e){const t=new Ya({widget:e});return t.addClass(Ja),t.collapseChanged.connect(this._onCollapseChange,this),t}_onCollapseChange(e){e.collapsed?this._selection.value===e&&e.collapsed&&(this._selection.value=null):this._selection.value=e}_onSelectionChanged(e,t){const i=t.previousValue,n=t.currentValue;i&&(i.collapsed=!0,i.removeClass(ws)),n&&(n.collapsed=!1,n.addClass(ws))}}class Kt extends Je{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"SelectionContainerModel",selected_index:null,titles:[]})}}class Tl extends Kt{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"AccordionModel",_view_name:"AccordionView"})}}class Qa extends Xa{constructor(e){const t=e.view;delete e.view,super(e),this._view=t}processMessage(e){var t;super.processMessage(e),(t=this._view)===null||t===void 0||t.processLuminoMessage(e)}dispose(){this.isDisposed||(super.dispose(),this._view.remove(),this._view=null)}}class Ol extends q{_createElement(e){return this.luminoWidget=new Qa({view:this}),this.luminoWidget.node}_setElement(e){if(this.el||e!==this.luminoWidget.node)throw new Error("Cannot reset the DOM element.");this.el=this.luminoWidget.node,this.$el=bt(this.luminoWidget.node)}initialize(e){super.initialize(e),this.children_views=new Ke(this.add_child_view,this.remove_child_view,this),this.listenTo(this.model,"change:children",()=>this.updateChildren()),this.listenTo(this.model,"change:selected_index",()=>this.update_selected_index()),this.listenTo(this.model,"change:titles",()=>this.update_titles())}render(){var e;super.render();const t=this.luminoWidget;t.addClass("jupyter-widgets"),t.addClass("widget-accordion"),t.addClass("widget-container"),t.selection.selectionChanged.connect(i=>{this.updatingChildren||(this.model.set("selected_index",t.selection.index),this.touch())}),(e=this.children_views)===null||e===void 0||e.update(this.model.get("children")),this.update_titles(),this.update_selected_index()}updateChildren(){var e;this.updatingChildren=!0,this.luminoWidget.selection.index=null,(e=this.children_views)===null||e===void 0||e.update(this.model.get("children")),this.update_selected_index(),this.updatingChildren=!1}update_titles(){const e=this.luminoWidget.collapseWidgets,t=this.model.get("titles");for(let i=0;i<e.length;i++)t[i]!==void 0&&(e[i].widget.title.label=t[i])}update_selected_index(){this.luminoWidget.selection.index=this.model.get("selected_index")}remove_child_view(e){this.luminoWidget.removeWidget(e.luminoWidget),e.remove()}add_child_view(e,t){const i=this.luminoWidget,n=new de;return n.title.label=this.model.get("titles")[t]||"",i.addWidget(n),this.create_child_view(e).then(u=>{const p=u.luminoWidget;p.title.label=n.title.label;const _=i.collapseWidgets[i.indexOf(n)];return _.widget=p,n.dispose(),u}).catch($e("Could not add child view to box",!0))}remove(){this.children_views=null,super.remove()}}class Vl extends Kt{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"TabModel",_view_name:"TabView"})}}class Za extends Fa{constructor(e){const t=e.view;delete e.view,super(e),this._view=t,vt.installMessageHook(this.tabContents,(i,n)=>(this._view.processLuminoMessage(n),!0))}dispose(){this.isDisposed||(super.dispose(),this._view.remove(),this._view=null)}}class El extends q{constructor(){super(...arguments),this.updatingTabs=!1}_createElement(e){return this.luminoWidget=new Za({view:this}),this.luminoWidget.node}_setElement(e){if(this.el||e!==this.luminoWidget.node)throw new Error("Cannot reset the DOM element.");this.el=this.luminoWidget.node,this.$el=bt(this.luminoWidget.node)}initialize(e){super.initialize(e),this.childrenViews=new Ke(this.addChildView,t=>{t.remove()},this),this.listenTo(this.model,"change:children",()=>this.updateTabs()),this.listenTo(this.model,"change:titles",()=>this.updateTitles())}render(){super.render();const e=this.luminoWidget;e.addClass("jupyter-widgets"),e.addClass("widget-container"),e.addClass("jupyter-widget-tab"),e.addClass("widget-tab"),e.tabsMovable=!0,e.tabBar.insertBehavior="none",e.tabBar.currentChanged.connect(this._onTabChanged,this),e.tabBar.tabMoved.connect(this._onTabMoved,this),e.tabBar.addClass("widget-tab-bar"),e.tabContents.addClass("widget-tab-contents"),e.tabBar.tabsMovable=!1,this.updateTabs(),this.update()}updateTabs(){var e;this.updatingTabs=!0,this.luminoWidget.currentIndex=null,(e=this.childrenViews)===null||e===void 0||e.update(this.model.get("children")),this.luminoWidget.currentIndex=this.model.get("selected_index"),this.updatingTabs=!1}addChildView(e,t){const i=this.model.get("titles")[t]||"",n=this.luminoWidget,u=new de;return u.title.label=i,n.addWidget(u),this.create_child_view(e).then(p=>{const _=p.luminoWidget;_.title.label=u.title.label,_.title.closable=!1;const j=Me.firstIndexOf(n.widgets,u);return n.insertWidget(j+1,_),u.dispose(),p}).catch($e("Could not add child view to box",!0))}update(){return this.updateSelectedIndex(),super.update()}updateTitles(){const e=this.model.get("titles")||[];Xi(this.luminoWidget.widgets,(t,i)=>{t.title.label=e[i]||""})}updateSelectedIndex(){this.luminoWidget.currentIndex=this.model.get("selected_index")}remove(){this.childrenViews=null,super.remove()}_onTabChanged(e,t){if(!this.updatingTabs){const i=t.currentIndex;this.model.set("selected_index",i===-1?null:i),this.touch()}}_onTabMoved(e,t){const i=this.model.get("children").slice();Me.move(i,t.fromIndex,t.toIndex),this.model.set("children",i),this.touch()}}class Al extends Kt{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"StackModel",_view_name:"StackView"})}}class Il extends we{initialize(e){super.initialize(e),this.listenTo(this.model,"change:selected_index",this.update_children)}update_children(){var e;let t;this.model.get("selected_index")===null?t=[]:t=[this.model.get("children")[this.model.get("selected_index")]],(e=this.children_views)===null||e===void 0||e.update(t).then(i=>{i.forEach(n=>{vt.postMessage(n.luminoWidget,de.ResizeMessage.UnknownSize)})})}}function Yt(s,e,t){s.prototype=e.prototype=t,t.constructor=s}function qs(s,e){var t=Object.create(s.prototype);for(var i in e)t[i]=e[i];return t}function Xe(){}var Ye=.7,gt=1/Ye,Ae="\\s*([+-]?\\d+)\\s*",Ge="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",oe="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",en=/^#([0-9a-f]{3,8})$/,tn=new RegExp(`^rgb\\(${Ae},${Ae},${Ae}\\)$`),sn=new RegExp(`^rgb\\(${oe},${oe},${oe}\\)$`),an=new RegExp(`^rgba\\(${Ae},${Ae},${Ae},${Ge}\\)$`),nn=new RegExp(`^rgba\\(${oe},${oe},${oe},${Ge}\\)$`),ln=new RegExp(`^hsl\\(${Ge},${oe},${oe}\\)$`),rn=new RegExp(`^hsla\\(${Ge},${oe},${oe},${Ge}\\)$`),ys={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Yt(Xe,Ie,{copy(s){return Object.assign(new this.constructor,this,s)},displayable(){return this.rgb().displayable()},hex:Ss,formatHex:Ss,formatHex8:on,formatHsl:dn,formatRgb:Cs,toString:Cs});function Ss(){return this.rgb().formatHex()}function on(){return this.rgb().formatHex8()}function dn(){return Ks(this).formatHsl()}function Cs(){return this.rgb().formatRgb()}function Ie(s){var e,t;return s=(s+"").trim().toLowerCase(),(e=en.exec(s))?(t=e[1].length,e=parseInt(e[1],16),t===6?Ms(e):t===3?new ee(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):t===8?ot(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):t===4?ot(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=tn.exec(s))?new ee(e[1],e[2],e[3],1):(e=sn.exec(s))?new ee(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=an.exec(s))?ot(e[1],e[2],e[3],e[4]):(e=nn.exec(s))?ot(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=ln.exec(s))?Ls(e[1],e[2]/100,e[3]/100,1):(e=rn.exec(s))?Ls(e[1],e[2]/100,e[3]/100,e[4]):ys.hasOwnProperty(s)?Ms(ys[s]):s==="transparent"?new ee(NaN,NaN,NaN,0):null}function Ms(s){return new ee(s>>16&255,s>>8&255,s&255,1)}function ot(s,e,t,i){return i<=0&&(s=e=t=NaN),new ee(s,e,t,i)}function un(s){return s instanceof Xe||(s=Ie(s)),s?(s=s.rgb(),new ee(s.r,s.g,s.b,s.opacity)):new ee}function hn(s,e,t,i){return arguments.length===1?un(s):new ee(s,e,t,i??1)}function ee(s,e,t,i){this.r=+s,this.g=+e,this.b=+t,this.opacity=+i}Yt(ee,hn,qs(Xe,{brighter(s){return s=s==null?gt:Math.pow(gt,s),new ee(this.r*s,this.g*s,this.b*s,this.opacity)},darker(s){return s=s==null?Ye:Math.pow(Ye,s),new ee(this.r*s,this.g*s,this.b*s,this.opacity)},rgb(){return this},clamp(){return new ee(Ce(this.r),Ce(this.g),Ce(this.b),mt(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:ks,formatHex:ks,formatHex8:cn,formatRgb:js,toString:js}));function ks(){return`#${Se(this.r)}${Se(this.g)}${Se(this.b)}`}function cn(){return`#${Se(this.r)}${Se(this.g)}${Se(this.b)}${Se((isNaN(this.opacity)?1:this.opacity)*255)}`}function js(){const s=mt(this.opacity);return`${s===1?"rgb(":"rgba("}${Ce(this.r)}, ${Ce(this.g)}, ${Ce(this.b)}${s===1?")":`, ${s})`}`}function mt(s){return isNaN(s)?1:Math.max(0,Math.min(1,s))}function Ce(s){return Math.max(0,Math.min(255,Math.round(s)||0))}function Se(s){return s=Ce(s),(s<16?"0":"")+s.toString(16)}function Ls(s,e,t,i){return i<=0?s=e=t=NaN:t<=0||t>=1?s=e=NaN:e<=0&&(s=NaN),new re(s,e,t,i)}function Ks(s){if(s instanceof re)return new re(s.h,s.s,s.l,s.opacity);if(s instanceof Xe||(s=Ie(s)),!s)return new re;if(s instanceof re)return s;s=s.rgb();var e=s.r/255,t=s.g/255,i=s.b/255,n=Math.min(e,t,i),u=Math.max(e,t,i),p=NaN,_=u-n,j=(u+n)/2;return _?(e===u?p=(t-i)/_+(t<i)*6:t===u?p=(i-e)/_+2:p=(e-t)/_+4,_/=j<.5?u+n:2-u-n,p*=60):_=j>0&&j<1?0:p,new re(p,_,j,s.opacity)}function pn(s,e,t,i){return arguments.length===1?Ks(s):new re(s,e,t,i??1)}function re(s,e,t,i){this.h=+s,this.s=+e,this.l=+t,this.opacity=+i}Yt(re,pn,qs(Xe,{brighter(s){return s=s==null?gt:Math.pow(gt,s),new re(this.h,this.s,this.l*s,this.opacity)},darker(s){return s=s==null?Ye:Math.pow(Ye,s),new re(this.h,this.s,this.l*s,this.opacity)},rgb(){var s=this.h%360+(this.h<0)*360,e=isNaN(s)||isNaN(this.s)?0:this.s,t=this.l,i=t+(t<.5?t:1-t)*e,n=2*t-i;return new ee(Ut(s>=240?s-240:s+120,n,i),Ut(s,n,i),Ut(s<120?s+240:s-120,n,i),this.opacity)},clamp(){return new re(Ts(this.h),dt(this.s),dt(this.l),mt(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const s=mt(this.opacity);return`${s===1?"hsl(":"hsla("}${Ts(this.h)}, ${dt(this.s)*100}%, ${dt(this.l)*100}%${s===1?")":`, ${s})`}`}}));function Ts(s){return s=(s||0)%360,s<0?s+360:s}function dt(s){return Math.max(0,Math.min(1,s||0))}function Ut(s,e,t){return(s<60?e+(t-e)*s/60:s<180?t:s<240?e+(t-e)*(240-s)/60:e)*255}function fn(s){return s.replace(/^\s+|\s+$/g,"")}function gn(s,e,t){return Math.min(Math.max(s,e),t)}function Os(s){for(;s.firstChild;)s.removeChild(s.firstChild)}class mn{constructor(e,t,i){this.start=e,this.dx=t,this.max=i}isSelected(e){let t,i;return this.dx>=0?(t=this.start,i=this.start+this.dx):(t=this.start+this.dx,i=this.start),t<=e&&e<i}updateSelection(e){this.dx+=e,this.start+this.dx>this.max&&(this.dx=this.max-this.start),this.start+this.dx<0&&(this.dx=-this.start)}}class Ys extends F{defaults(){return Object.assign(Object.assign({},super.defaults()),{value:[],placeholder:"",allowed_tags:null,allow_duplicates:!0})}}class Gs extends q{constructor(){super(...arguments),this.hoveredTag=null,this.hoveredTagIndex=null}render(){super.render(),this.el.classList.add("jupyter-widgets"),this.el.classList.add("jupyter-widget-tagsinput"),this.taginputWrapper=document.createElement("div"),this.model.get("value").length?this.taginputWrapper.style.display="none":this.taginputWrapper.style.display="inline-block",this.datalistID=ae(),this.taginput=document.createElement("input"),this.taginput.classList.add("jupyter-widget-tag"),this.taginput.classList.add("jupyter-widget-taginput"),this.taginput.setAttribute("list",this.datalistID),this.taginput.setAttribute("type","text"),this.autocompleteList=document.createElement("datalist"),this.autocompleteList.id=this.datalistID,this.updateAutocomplete(),this.model.on("change:allowed_tags",this.updateAutocomplete.bind(this)),this.updatePlaceholder(),this.model.on("change:placeholder",this.updatePlaceholder.bind(this)),this.taginputWrapper.classList.add("widget-text"),this.taginputWrapper.appendChild(this.taginput),this.taginputWrapper.appendChild(this.autocompleteList),this.el.onclick=this.focus.bind(this),this.el.ondrop=e=>{const t=this.hoveredTagIndex==null?this.tags.length:this.hoveredTagIndex;return this.ondrop(e,t)},this.el.ondragover=this.ondragover.bind(this),this.taginput.onchange=this.handleValueAdded.bind(this),this.taginput.oninput=this.resizeInput.bind(this),this.taginput.onkeydown=this.handleKeyEvent.bind(this),this.taginput.onblur=this.loseFocus.bind(this),this.resizeInput(),this.inputIndex=this.model.get("value").length,this.selection=null,this.preventLoosingFocus=!1,this.update()}update(){this.preventLoosingFocus=!0,Os(this.el),this.tags=[];const e=this.model.get("value");this.inputIndex=e.length;for(const t in e){const i=parseInt(t),n=this.createTag(e[i],i,this.selection!=null&&this.selection.isSelected(i));n.draggable=!0,n.ondragstart=((u,p)=>_=>{this.ondragstart(_,u,p,this.model.model_id)})(i,e[i]),n.ondrop=(u=>p=>{this.ondrop(p,u)})(i),n.ondragover=this.ondragover.bind(this),n.ondragenter=(u=>p=>{this.ondragenter(p,u)})(i),n.ondragend=this.ondragend.bind(this),this.tags.push(n),this.el.appendChild(n)}return this.el.insertBefore(this.taginputWrapper,this.el.children[this.inputIndex]),this.model.get("value").length?this.taginputWrapper.style.display="none":this.taginputWrapper.style.display="inline-block",this.preventLoosingFocus=!1,super.update()}updateAutocomplete(){Os(this.autocompleteList);const e=this.model.get("allowed_tags");for(const t of e){const i=document.createElement("option");i.value=t,this.autocompleteList.appendChild(i)}}updatePlaceholder(){this.taginput.placeholder=this.model.get("placeholder"),this.resizeInput()}updateTags(){const e=this.model.get("value");for(const t in this.tags){const i=parseInt(t);this.updateTag(this.tags[i],e[i],i,this.selection!=null&&this.selection.isSelected(i))}}handleValueAdded(e){const t=fn(this.taginput.value),i=this.inputIndex;if(t=="")return;this.inputIndex++,this.addTag(i,t)&&(this.taginput.value="",this.resizeInput(),this.focus())}addTag(e,t){const i=this.model.get("value");let n;try{n=this.validateValue(t)}catch{return!1}const u=this.model.get("allowed_tags");if(u.length&&!u.includes(n)||!this.model.get("allow_duplicates")&&i.includes(n))return!1;this.selection=null;const p=[...i];return p.splice(e,0,n),this.model.set("value",p),this.model.save_changes(),!0}resizeInput(){let e;this.taginput.value.length!=0?e=this.taginput.value:e=this.model.get("placeholder");const t=e.length+1;this.taginput.setAttribute("size",String(t))}handleKeyEvent(e){const t=this.model.get("value").length;if(this.taginput.value.length)return;const i=this.inputIndex;switch(e.key){case"ArrowLeft":e.ctrlKey&&e.shiftKey&&this.select(i,-i),!e.ctrlKey&&e.shiftKey&&this.select(i,-1),e.ctrlKey?this.inputIndex=0:this.inputIndex--;break;case"ArrowRight":e.ctrlKey&&e.shiftKey&&this.select(i,t-i),!e.ctrlKey&&e.shiftKey&&this.select(i,1),e.ctrlKey?this.inputIndex=t:this.inputIndex++;break;case"Backspace":this.selection?this.removeSelectedTags():this.removeTag(this.inputIndex-1);break;case"Delete":this.selection?this.removeSelectedTags():this.removeTag(this.inputIndex);break;default:return}e.shiftKey||(this.selection=null),this.inputIndex=gn(this.inputIndex,0,t),this.update(),this.focus()}ondragstart(e,t,i,n){e.dataTransfer!=null&&(e.dataTransfer.setData("index",String(t)),e.dataTransfer.setData("tagValue",String(i)),e.dataTransfer.setData("origin",n))}ondrop(e,t){if(e.dataTransfer==null)return;e.preventDefault(),e.stopPropagation();const i=e.dataTransfer.getData("tagValue"),n=parseInt(e.dataTransfer.getData("index")),u=e.dataTransfer.getData("origin")==this.model.model_id;if(!isNaN(n)){if(u){const _=[...this.model.get("value")];n<t&&t--,_.splice(n,1),_.splice(t,0,i),this.model.set("value",_),this.model.save_changes();return}this.addTag(t,i)}}ondragover(e){e.preventDefault()}ondragenter(e,t){this.hoveredTag!=null&&this.hoveredTag!=this.tags[t]&&(this.hoveredTag.style.marginLeft="1px"),this.hoveredTag=this.tags[t],this.hoveredTagIndex=t,this.hoveredTag.style.marginLeft="30px"}ondragend(){this.hoveredTag!=null&&(this.hoveredTag.style.marginLeft="1px"),this.hoveredTag=null,this.hoveredTagIndex=null}select(e,t){const i=this.model.get("value").length;this.selection?this.selection.updateSelection(t):this.selection=new mn(e,t,i)}removeSelectedTags(){const e=[...this.model.get("value")],t=e.length;for(let i=t-1;i>=0;i--)this.selection!=null&&this.selection.isSelected(i)&&(e.splice(i,1),i<this.inputIndex&&this.inputIndex--);this.model.set("value",e),this.model.save_changes()}removeTag(e){const t=[...this.model.get("value")];t.splice(e,1),e<this.inputIndex&&this.inputIndex--,this.model.set("value",t),this.model.save_changes()}focus(){this.taginputWrapper.style.display="inline-block",this.taginput.focus()}loseFocus(){this.preventLoosingFocus||(this.model.get("value").length&&(this.taginputWrapper.style.display="none"),this.selection=null,this.updateTags())}preinitialize(){this.tagName="div"}validateValue(e){return e}}class _n extends Ys{defaults(){return Object.assign(Object.assign({},super.defaults()),{value:[],tag_style:"",_view_name:"TagsInputView",_model_name:"TagsInputModel"})}}class St extends Gs{createTag(e,t,i){const n=document.createElement("div"),u=this.model.get("tag_style");n.classList.add("jupyter-widget-tag"),n.classList.add(St.class_map[u]),i&&n.classList.add("mod-active"),n.appendChild(document.createTextNode(this.getTagText(e)));const p=document.createElement("i");return p.classList.add("fa"),p.classList.add("fa-times"),p.classList.add("jupyter-widget-tag-close"),n.appendChild(p),p.onmousedown=(_=>()=>{this.removeTag(_),this.loseFocus()})(t),n}getTagText(e){return e}updateTag(e,t,i,n){n?e.classList.add("mod-active"):e.classList.remove("mod-active")}}St.class_map={primary:"mod-primary",success:"mod-success",info:"mod-info",warning:"mod-warning",danger:"mod-danger"};class Pl extends Ys{defaults(){return Object.assign(Object.assign({},super.defaults()),{value:[],_view_name:"ColorsInputView",_model_name:"ColorsInputModel"})}}class zl extends Gs{createTag(e,t,i){const n=document.createElement("div"),u=e,p=Ie(e).darker().toString();n.classList.add("jupyter-widget-tag"),n.classList.add("jupyter-widget-colortag"),i?(n.classList.add("mod-active"),n.style.backgroundColor=p):n.style.backgroundColor=u;const _=document.createElement("i");return _.classList.add("fa"),_.classList.add("fa-times"),_.classList.add("jupyter-widget-tag-close"),n.appendChild(_),_.onmousedown=(j=>()=>{this.removeTag(j),this.loseFocus()})(t),n}updateTag(e,t,i,n){const u=t,p=Ie(t).darker().toString();n?(e.classList.add("mod-active"),e.style.backgroundColor=p):(e.classList.remove("mod-active"),e.style.backgroundColor=u)}validateValue(e){if(Ie(e)==null)throw e+" is not a valid Color";return e}}class Js extends _n{defaults(){return Object.assign(Object.assign({},super.defaults()),{min:null,max:null})}}class Xs extends St{render(){this.model.on("change:format",()=>{this.formatter=ze(this.model.get("format")),this.update()}),this.formatter=ze(this.model.get("format")),super.render()}getTagText(e){return this.formatter(this.parseNumber(e))}validateValue(e){const t=this.parseNumber(e),i=this.model.get("min"),n=this.model.get("max");if(isNaN(t)||i!=null&&t<i||n!=null&&t>n)throw e+" is not a valid number, it should be in the range ["+i+", "+n+"]";return t}}class Dl extends Js{defaults(){return Object.assign(Object.assign({},super.defaults()),{_view_name:"FloatsInputView",_model_name:"FloatsInputModel",format:".1f"})}}class Bl extends Xs{parseNumber(e){return parseFloat(e)}}class Wl extends Js{defaults(){return Object.assign(Object.assign({},super.defaults()),{_view_name:"IntsInputView",_model_name:"IntsInputModel",format:"d"})}}class Rl extends Xs{parseNumber(e){const t=parseInt(e);if(t!=parseFloat(e))throw e+" should be an integer";return t}}const bn="jpwidgets-invalidComboValue";class ke extends K{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"StringStyleModel",_model_module:"@jupyter-widgets/controls",_model_module_version:$})}}ke.styleProperties=Object.assign(Object.assign({},K.styleProperties),{background:{selector:"",attribute:"background",default:null},font_size:{selector:"",attribute:"font-size",default:""},text_color:{selector:"",attribute:"color",default:""}});class vn extends ke{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"HTMLStyleModel",_model_module:"@jupyter-widgets/controls",_model_module_version:$})}}vn.styleProperties=Object.assign({},ke.styleProperties);class xn extends ke{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"HTMLMathStyleModel",_model_module:"@jupyter-widgets/controls",_model_module_version:$})}}xn.styleProperties=Object.assign({},ke.styleProperties);class wn extends ke{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"LabelStyleModel",_model_module:"@jupyter-widgets/controls",_model_module_version:$})}}wn.styleProperties=Object.assign(Object.assign({},ke.styleProperties),{font_family:{selector:"",attribute:"font-family",default:""},font_style:{selector:"",attribute:"font-style",default:""},font_variant:{selector:"",attribute:"font-variant",default:""},font_weight:{selector:"",attribute:"font-weight",default:""},text_decoration:{selector:"",attribute:"text-decoration",default:""}});class yn extends K{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"TextStyleModel",_model_module:"@jupyter-widgets/controls",_model_module_version:$})}}yn.styleProperties=Object.assign(Object.assign({},K.styleProperties),{background:{selector:".widget-input",attribute:"background",default:null},font_size:{selector:".widget-input",attribute:"font-size",default:""},text_color:{selector:".widget-input",attribute:"color",default:""}});class Qe extends te{defaults(){return Object.assign(Object.assign({},super.defaults()),{value:"",disabled:!1,placeholder:"",_model_name:"StringModel"})}}class Ze extends Y{render(){super.render(),this.el.classList.add("jupyter-widgets"),this.el.classList.add("widget-inline-hbox")}}class Nl extends Qe{defaults(){return Object.assign(Object.assign({},super.defaults()),{_view_name:"HTMLView",_model_name:"HTMLModel"})}}class Ul extends Ze{render(){super.render(),this.el.classList.add("widget-html"),this.content=document.createElement("div"),this.content.classList.add("widget-html-content"),this.el.appendChild(this.content),this.update()}update(){return this.content.innerHTML=this.model.get("value"),super.update()}handle_message(e){e.do==="focus"?this.content.focus():e.do==="blur"&&this.content.blur()}}class Fl extends Qe{defaults(){return Object.assign(Object.assign({},super.defaults()),{_view_name:"HTMLMathView",_model_name:"HTMLMathModel"})}}class Hl extends Ze{render(){super.render(),this.el.classList.add("widget-htmlmath"),this.content=document.createElement("div"),this.content.classList.add("widget-htmlmath-content"),this.el.appendChild(this.content),this.update()}update(){return this.content.innerHTML=this.model.get("value"),this.typeset(this.content),super.update()}handle_message(e){e.do==="focus"?this.content.focus():e.do==="blur"&&this.content.blur()}}class $l extends Qe{defaults(){return Object.assign(Object.assign({},super.defaults()),{_view_name:"LabelView",_model_name:"LabelModel"})}}class ql extends Ze{render(){super.render(),this.el.classList.add("widget-label"),this.update()}update(){return this.typeset(this.el,this.model.get("value")),super.update()}}class Kl extends Qe{defaults(){return Object.assign(Object.assign({},super.defaults()),{_view_name:"TextareaView",_model_name:"TextareaModel",rows:null,continuous_update:!0})}}class Yl extends Ze{render(){super.render(),this.el.classList.add("widget-textarea"),this.textbox=document.createElement("textarea"),this.textbox.setAttribute("rows","5"),this.textbox.id=this.label.htmlFor=ae(),this.textbox.classList.add("widget-input"),this.el.appendChild(this.textbox),this.update(),this.listenTo(this.model,"change:placeholder",(e,t,i)=>{this.update_placeholder(t)}),this.update_placeholder(),this.updateTooltip()}update_placeholder(e){const t=e||this.model.get("placeholder");this.textbox.setAttribute("placeholder",t.toString())}update(e){if(e===void 0||e.updated_view!==this){this.textbox.value=this.model.get("value");let t=this.model.get("rows");t===null&&(t=""),this.textbox.setAttribute("rows",t),this.textbox.disabled=this.model.get("disabled")}return this.updateTabindex(),this.updateTooltip(),super.update()}updateTabindex(){if(!this.textbox)return;const e=this.model.get("tabbable");e===!0?this.textbox.setAttribute("tabIndex","0"):e===!1?this.textbox.setAttribute("tabIndex","-1"):e===null&&this.textbox.removeAttribute("tabIndex")}updateTooltip(){if(!this.textbox)return;const e=this.model.get("tooltip");e?this.model.get("description").length===0&&this.textbox.setAttribute("title",e):this.textbox.removeAttribute("title")}events(){return{"keydown textarea":"handleKeyDown","keypress textarea":"handleKeypress","input textarea":"handleChanging","change textarea":"handleChanged"}}handleKeyDown(e){e.stopPropagation()}handleKeypress(e){e.stopPropagation()}handleChanging(e){this.model.get("continuous_update")&&this.handleChanged(e)}handleChanged(e){const t=e.target;this.model.set("value",t.value,{updated_view:this}),this.touch()}handle_message(e){e.do==="focus"?this.textbox.focus():e.do==="blur"&&this.textbox.blur()}}class Qs extends Qe{defaults(){return Object.assign(Object.assign({},super.defaults()),{_view_name:"TextView",_model_name:"TextModel",continuous_update:!0})}}class Zs extends Ze{constructor(){super(...arguments),this.inputType="text"}render(){super.render(),this.el.classList.add("widget-text"),this.textbox=document.createElement("input"),this.textbox.setAttribute("type",this.inputType),this.textbox.id=this.label.htmlFor=ae(),this.textbox.classList.add("widget-input"),this.el.appendChild(this.textbox),this.update(),this.listenTo(this.model,"change:placeholder",(e,t,i)=>{this.update_placeholder(t)}),this.update_placeholder(),this.updateTabindex(),this.updateTooltip()}update_placeholder(e){this.textbox.setAttribute("placeholder",e||this.model.get("placeholder"))}updateTabindex(){if(!this.textbox)return;const e=this.model.get("tabbable");e===!0?this.textbox.setAttribute("tabIndex","0"):e===!1?this.textbox.setAttribute("tabIndex","-1"):e===null&&this.textbox.removeAttribute("tabIndex")}updateTooltip(){if(!this.textbox)return;const e=this.model.get("tooltip");e?this.model.get("description").length===0&&this.textbox.setAttribute("title",e):this.textbox.removeAttribute("title")}update(e){return(e===void 0||e.updated_view!==this)&&(this.textbox.value!==this.model.get("value")&&(this.textbox.value=this.model.get("value")),this.textbox.disabled=this.model.get("disabled")),super.update()}events(){return{"keydown input":"handleKeyDown","keypress input":"handleKeypress","input input":"handleChanging","change input":"handleChanged"}}handleKeyDown(e){e.stopPropagation()}handleKeypress(e){e.stopPropagation(),e.keyCode===13&&this.send({event:"submit"})}handleChanging(e){this.model.get("continuous_update")&&this.handleChanged(e)}handleChanged(e){const t=e.target;this.model.set("value",t.value,{updated_view:this}),this.touch()}handle_message(e){e.do==="focus"?this.textbox.focus():e.do==="blur"&&this.textbox.blur()}}class Gl extends Qs{defaults(){return Object.assign(Object.assign({},super.defaults()),{_view_name:"PasswordView",_model_name:"PasswordModel"})}}class Jl extends Zs{constructor(){super(...arguments),this.inputType="password"}}class Xl extends Qs{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"ComboboxModel",_view_name:"ComboboxView",options:[],ensure_options:!1})}}class Ql extends Zs{constructor(){super(...arguments),this.isInitialRender=!0}render(){this.datalist=document.createElement("datalist"),this.datalist.id=ae(),super.render(),this.textbox.setAttribute("list",this.datalist.id),this.el.appendChild(this.datalist),this.updateTooltip()}update(e){if(super.update(e),!this.datalist)return;const t=this.isValid(this.model.get("value"));if(this.highlightValidState(t),e!==void 0&&e.updated_view||!this.model.hasChanged("options")&&!this.isInitialRender)return;this.isInitialRender=!1;const i=this.model.get("options"),n=document.createDocumentFragment();for(const u of i){const p=document.createElement("option");p.value=u,n.appendChild(p)}this.datalist.replaceChildren(...n.children)}isValid(e){return!(this.model.get("ensure_option")===!0&&this.model.get("options").indexOf(e)===-1)}handleChanging(e){const t=e.target,i=this.isValid(t.value);this.highlightValidState(i),i&&super.handleChanging(e)}handleChanged(e){const t=e.target,i=this.isValid(t.value);this.highlightValidState(i),i&&super.handleChanged(e)}handle_message(e){e.do==="focus"?this.textbox.focus():e.do==="blur"&&this.textbox.blur()}highlightValidState(e){this.textbox.classList.toggle(bn,!e)}}class Sn extends F{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"FileUploadModel",_view_name:"FileUploadView",accept:"",description:"Upload",disabled:!1,icon:"upload",button_style:"",multiple:!1,value:[],error:"",style:null})}}Sn.serializers=Object.assign(Object.assign({},F.serializers),{value:{serialize:s=>s}});class _t extends q{preinitialize(){this.tagName="button"}render(){super.render(),this.el.classList.add("jupyter-widgets"),this.el.classList.add("widget-upload"),this.el.classList.add("jupyter-button"),this.fileInput=document.createElement("input"),this.fileInput.type="file",this.fileInput.style.display="none",this.el.addEventListener("click",()=>{this.fileInput.click()}),this.fileInput.addEventListener("click",()=>{this.fileInput.value=""}),this.fileInput.addEventListener("change",()=>{var e;const t=[];Array.from((e=this.fileInput.files)!==null&&e!==void 0?e:[]).forEach(i=>{t.push(new Promise((n,u)=>{const p=new FileReader;p.onload=()=>{const _=p.result;n({content:_,name:i.name,type:i.type,size:i.size,last_modified:i.lastModified})},p.onerror=()=>{u()},p.onabort=p.onerror,p.readAsArrayBuffer(i)}))}),Promise.all(t).then(i=>{this.model.set({value:i,error:""}),this.touch()}).catch(i=>{console.error("error in file upload: %o",i),this.model.set({error:i}),this.touch()})}),this.listenTo(this.model,"change:button_style",this.update_button_style),this.set_button_style(),this.update()}update(){this.el.disabled=this.model.get("disabled"),this.el.setAttribute("title",this.model.get("tooltip"));const e=this.model.get("value"),t=`${this.model.get("description")} (${e.length})`,i=this.model.get("icon");if(t.length||i.length){if(this.el.textContent="",i.length){const n=document.createElement("i");n.classList.add("fa"),n.classList.add("fa-"+i),t.length===0&&n.classList.add("center"),this.el.appendChild(n)}this.el.appendChild(document.createTextNode(t))}return this.fileInput.accept=this.model.get("accept"),this.fileInput.multiple=this.model.get("multiple"),super.update()}update_button_style(){this.update_mapped_classes(_t.class_map,"button_style",this.el)}set_button_style(){this.set_mapped_classes(_t.class_map,"button_style",this.el)}}_t.class_map={primary:["mod-primary"],success:["mod-success"],info:["mod-info"],warning:["mod-warning"],danger:["mod-danger"]};const Zl=require("../package.json").version;export{Tl as AccordionModel,Ol as AccordionView,la as AudioModel,$n as AudioView,qt as BaseIntSliderView,Bs as BoolModel,yt as BoundedFloatModel,dl as BoundedFloatTextModel,wt as BoundedIntModel,Zn as BoundedIntTextModel,Je as BoxModel,we as BoxView,zn as ButtonModel,ia as ButtonStyleModel,ht as ButtonView,Vn as CheckboxModel,ta as CheckboxStyleModel,En as CheckboxView,qn as ColorPickerModel,Kn as ColorPickerView,Pl as ColorsInputModel,zl as ColorsInputView,Xl as ComboboxModel,Ql as ComboboxView,fl as ControllerAxisModel,gl as ControllerAxisView,cl as ControllerButtonModel,pl as ControllerButtonView,Ba as ControllerModel,ml as ControllerView,ha as DatePickerModel,Yn as DatePickerView,Ns as DatetimeModel,Jn as DatetimeView,Ps as DescriptionModel,K as DescriptionStyleModel,Y as DescriptionView,Ds as DirectionalLinkModel,_l as DropdownModel,bl as DropdownView,Sn as FileUploadModel,_t as FileUploadView,il as FloatLogSliderModel,ll as FloatLogSliderView,Fs as FloatModel,hl as FloatProgressModel,al as FloatRangeSliderModel,rl as FloatRangeSliderView,Da as FloatSliderModel,nl as FloatSliderView,ol as FloatTextModel,ul as FloatTextView,Dl as FloatsInputModel,Bl as FloatsInputView,Un as GridBoxModel,Nn as GridBoxView,Dn as HBoxModel,Wn as HBoxView,Fl as HTMLMathModel,xn as HTMLMathStyleModel,Hl as HTMLMathView,Nl as HTMLModel,vn as HTMLStyleModel,Ul as HTMLView,aa as ImageModel,Fn as ImageView,Us as IntModel,el as IntProgressModel,Xn as IntRangeSliderModel,Aa as IntRangeSliderView,Ea as IntSliderModel,Ia as IntSliderView,Qn as IntTextModel,Pa as IntTextView,Wl as IntsInputModel,Rl as IntsInputView,$ as JUPYTER_CONTROLS_VERSION,Qa as JupyterLuminoAccordionWidget,Za as JupyterLuminoTabPanelWidget,$l as LabelModel,wn as LabelStyleModel,ql as LabelView,Ln as LabeledDOMWidgetModel,Tn as LabeledDOMWidgetView,On as LinkModel,$s as MultipleSelectionModel,ba as NaiveDatetimeModel,Gl as PasswordModel,Jl as PasswordView,tl as PlayModel,sl as PlayView,za as ProgressStyleModel,ft as ProgressView,xl as RadioButtonsModel,wl as RadioButtonsView,vl as SelectModel,Cl as SelectMultipleModel,Ml as SelectMultipleView,Wa as SelectView,Kt as SelectionContainerModel,De as SelectionModel,kl as SelectionRangeSliderModel,jl as SelectionRangeSliderView,Sl as SelectionSliderModel,Na as SelectionSliderView,Hs as SelectionView,Va as SliderStyleModel,Al as StackModel,Il as StackView,Qe as StringModel,Ze as StringView,Vl as TabModel,El as TabView,_n as TagsInputModel,St as TagsInputView,Qs as TextModel,yn as TextStyleModel,Zs as TextView,Kl as TextareaModel,Yl as TextareaView,Pe as TimeModel,Gn as TimeView,An as ToggleButtonModel,sa as ToggleButtonStyleModel,ut as ToggleButtonView,yl as ToggleButtonsModel,Ra as ToggleButtonsStyleModel,Ee as ToggleButtonsView,Bn as VBoxModel,Rn as VBoxView,In as ValidModel,Pn as ValidView,na as VideoModel,Hn as VideoView,Rt as datetime_serializers,ua as deserialize_date,ga as deserialize_datetime,_a as deserialize_naive,pa as deserialize_time,ea as escape_html,Nt as naive_serializers,jn as reject,Gi as resolvePromisesDict,da as serialize_date,fa as serialize_datetime,ma as serialize_naive,Rs as serialize_time,Wt as time_serializers,Zi as typeset,ae as uuid,Zl as version};
|
|
1
|
+
import{z as Vs,D as Es,a as q,o as Yi,t as He,h as As,$ as bt,n as vt,W as de,A as Me,r as $e,u as ae,k as Gi,f as qe,S as xt,N as Ji,e as Is,O as ps,Q as Xi}from"./services-shim-B6rclDoU.js";import{V as Ke}from"./viewlist-uomDf7I7.js";import{a as Qi}from"./index-D7GWSc_e.js";function Zi(s,e){e!==void 0&&(s.textContent=e),window.MathJax!==void 0&&MathJax.Hub.Queue(["Typeset",MathJax.Hub,s])}function ea(s){const e=document.createElement("div");return e.textContent=s,e.innerHTML}function jn(s,e){return function(i){throw e&&console.error(new Error(s)),i}}const $="2.0.0";class K extends Vs{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"DescriptionStyleModel",_model_module:"@jupyter-widgets/controls",_model_module_version:$})}}K.styleProperties={description_width:{selector:".widget-label",attribute:"width",default:null}};class Ps extends Es{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"DescriptionModel",_view_name:"DescriptionView",_view_module:"@jupyter-widgets/controls",_model_module:"@jupyter-widgets/controls",_view_module_version:$,_model_module_version:$,description:"",description_allow_html:!1})}}class Y extends q{render(){this.label=document.createElement("label"),this.el.appendChild(this.label),this.label.className="widget-label",this.label.style.display="none",this.listenTo(this.model,"change:description",this.updateDescription),this.listenTo(this.model,"change:description_allow_html",this.updateDescription),this.listenTo(this.model,"change:tabbable",this.updateTabindex),this.updateDescription(),this.updateTabindex(),this.updateTooltip()}typeset(e,t){this.displayed.then(()=>{var i;const u=(i=this.model.widget_manager._rendermime)===null||i===void 0?void 0:i.latexTypesetter;if(u)t!==void 0&&(e.textContent=t),u.typeset(e);else return Zi(e,t)})}updateDescription(){const e=this.model.get("description");e.length===0?this.label.style.display="none":(this.model.get("description_allow_html")?this.label.innerHTML=this.model.widget_manager.inline_sanitize(e):this.label.textContent=e,this.typeset(this.label),this.label.style.display="")}updateTooltip(){this.label&&(this.label.title=this.model.get("tooltip"))}}class Ln extends Ps{}class Tn extends Y{}class zs extends Yi{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"CoreWidgetModel",_view_module:"@jupyter-widgets/controls",_model_module:"@jupyter-widgets/controls",_view_module_version:$,_model_module_version:$})}}class F extends Es{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"CoreDOMWidgetModel",_view_module:"@jupyter-widgets/controls",_model_module:"@jupyter-widgets/controls",_view_module_version:$,_model_module_version:$})}}class te extends Ps{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"CoreDescriptionModel",_view_module:"@jupyter-widgets/controls",_model_module:"@jupyter-widgets/controls",_view_module_version:$,_model_module_version:$})}}class Ds extends zs{defaults(){return Object.assign(Object.assign({},super.defaults()),{target:void 0,source:void 0,_model_name:"DirectionalLinkModel"})}initialize(e,t){super.initialize(e,t),this.on("change",this.updateBindings,this),this.updateBindings()}updateValue(e,t,i,n){if(!this._updating){this._updating=!0;try{i&&(i.set(n,e.get(t)),i.save_changes())}finally{this._updating=!1}}}updateBindings(){this.cleanup(),[this.sourceModel,this.sourceAttr]=this.get("source")||[null,null],[this.targetModel,this.targetAttr]=this.get("target")||[null,null],this.sourceModel&&(this.listenTo(this.sourceModel,"change:"+this.sourceAttr,()=>{this.updateValue(this.sourceModel,this.sourceAttr,this.targetModel,this.targetAttr)}),this.updateValue(this.sourceModel,this.sourceAttr,this.targetModel,this.targetAttr),this.listenToOnce(this.sourceModel,"destroy",this.cleanup)),this.targetModel&&this.listenToOnce(this.targetModel,"destroy",this.cleanup)}cleanup(){this.sourceModel&&(this.stopListening(this.sourceModel,"change:"+this.sourceAttr,void 0),this.stopListening(this.sourceModel,"destroy",void 0)),this.targetModel&&this.stopListening(this.targetModel,"destroy",void 0)}}Ds.serializers=Object.assign(Object.assign({},zs.serializers),{target:{deserialize:He},source:{deserialize:He}});class On extends Ds{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"LinkModel"})}updateBindings(){super.updateBindings(),this.targetModel&&this.listenTo(this.targetModel,"change:"+this.targetAttr,()=>{this.updateValue(this.targetModel,this.targetAttr,this.sourceModel,this.sourceAttr)})}cleanup(){super.cleanup(),this.targetModel&&this.stopListening(this.targetModel,"change:"+this.targetAttr,void 0)}}class ta extends K{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"CheckboxStyleModel"})}}ta.styleProperties=Object.assign(Object.assign({},K.styleProperties),{background:{selector:"",attribute:"background",default:null}});class sa extends K{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"ToggleButtonStyleModel"})}}sa.styleProperties=Object.assign(Object.assign({},K.styleProperties),{font_family:{selector:"",attribute:"font-family",default:""},font_size:{selector:"",attribute:"font-size",default:""},font_style:{selector:"",attribute:"font-style",default:""},font_variant:{selector:"",attribute:"font-variant",default:""},font_weight:{selector:"",attribute:"font-weight",default:""},text_color:{selector:"",attribute:"color",default:""},text_decoration:{selector:"",attribute:"text-decoration",default:""}});class Bs extends te{defaults(){return Object.assign(Object.assign({},super.defaults()),{value:!1,disabled:!1,_model_name:"BoolModel"})}}class Vn extends te{defaults(){return Object.assign(Object.assign({},super.defaults()),{indent:!0,style:null,_view_name:"CheckboxView",_model_name:"CheckboxModel"})}}class En extends Y{render(){super.render(),this.el.classList.add("jupyter-widgets"),this.el.classList.add("widget-inline-hbox"),this.el.classList.add("widget-checkbox"),this.label.innerHTML="​",this.checkboxLabel=document.createElement("label"),this.checkboxLabel.classList.add("widget-label-basic"),this.el.appendChild(this.checkboxLabel),this.checkbox=document.createElement("input"),this.checkbox.setAttribute("type","checkbox"),this.checkboxLabel.appendChild(this.checkbox),this.descriptionSpan=document.createElement("span"),this.checkboxLabel.appendChild(this.descriptionSpan),this.listenTo(this.model,"change:indent",this.updateIndent),this.listenTo(this.model,"change:tabbable",this.updateTabindex),this.update(),this.updateDescription(),this.updateIndent(),this.updateTabindex(),this.updateTooltip()}updateDescription(){if(this.checkboxLabel==null)return;const e=this.model.get("description");this.model.get("description_allow_html")?this.descriptionSpan.innerHTML=this.model.widget_manager.inline_sanitize(e):this.descriptionSpan.textContent=e,this.typeset(this.descriptionSpan),this.descriptionSpan.title=e,this.checkbox.title=e}updateIndent(){const e=this.model.get("indent");this.label.style.display=e?"":"none"}updateTabindex(){if(!this.checkbox)return;const e=this.model.get("tabbable");e===!0?this.checkbox.setAttribute("tabIndex","0"):e===!1?this.checkbox.setAttribute("tabIndex","-1"):e===null&&this.checkbox.removeAttribute("tabIndex")}updateTooltip(){if(!this.checkbox)return;const e=this.model.get("tooltip");e?this.model.get("description").length===0&&this.checkbox.setAttribute("title",e):this.checkbox.removeAttribute("title")}events(){return{'click input[type="checkbox"]':"_handle_click"}}_handle_click(){const e=this.model.get("value");this.model.set("value",!e,{updated_view:this}),this.touch()}update(e){return this.checkbox.checked=this.model.get("value"),(e===void 0||e.updated_view!=this)&&(this.checkbox.disabled=this.model.get("disabled")),super.update()}handle_message(e){e.do=="focus"?this.checkbox.focus():e.do=="blur"&&this.checkbox.blur()}}class An extends Bs{defaults(){return Object.assign(Object.assign({},super.defaults()),{_view_name:"ToggleButtonView",_model_name:"ToggleButtonModel",tooltip:"",icon:"",button_style:"",style:null})}}class ut extends q{render(){super.render(),this.el.classList.add("jupyter-widgets"),this.el.classList.add("jupyter-button"),this.el.classList.add("widget-toggle-button"),this.listenTo(this.model,"change:button_style",this.update_button_style),this.listenTo(this.model,"change:tabbable",this.updateTabindex),this.set_button_style(),this.update()}update_button_style(){this.update_mapped_classes(ut.class_map,"button_style")}set_button_style(){this.set_mapped_classes(ut.class_map,"button_style")}update(e){if(this.model.get("value")?this.el.classList.add("mod-active"):this.el.classList.remove("mod-active"),e===void 0||e.updated_view!==this){this.el.disabled=this.model.get("disabled"),this.el.setAttribute("tabbable",this.model.get("tabbable")),this.el.setAttribute("title",this.model.get("tooltip"));const t=this.model.get("description"),i=this.model.get("icon");if(t.trim().length===0&&i.trim().length===0)this.el.innerHTML=" ";else{if(this.el.textContent="",i.trim().length){const n=document.createElement("i");this.el.appendChild(n),n.classList.add("fa"),n.classList.add("fa-"+i)}this.el.appendChild(document.createTextNode(t))}}return this.updateTabindex(),super.update()}events(){return{click:"_handle_click"}}_handle_click(e){e.preventDefault();const t=this.model.get("value");this.model.set("value",!t,{updated_view:this}),this.touch()}preinitialize(){this.tagName="button"}}ut.class_map={primary:["mod-primary"],success:["mod-success"],info:["mod-info"],warning:["mod-warning"],danger:["mod-danger"]};class In extends Bs{defaults(){return Object.assign(Object.assign({},super.defaults()),{readout:"Invalid",_view_name:"ValidView",_model_name:"ValidModel"})}}class Pn extends Y{render(){super.render(),this.el.classList.add("jupyter-widgets"),this.el.classList.add("widget-valid"),this.el.classList.add("widget-inline-hbox"),this.icon=document.createElement("i"),this.icon.classList.add("fa","fa-fw"),this.el.appendChild(this.icon),this.readout=document.createElement("span"),this.readout.classList.add("widget-valid-readout"),this.readout.classList.add("widget-readout"),this.el.appendChild(this.readout),this.update()}update(){this.el.classList.remove("mod-valid"),this.el.classList.remove("mod-invalid"),this.icon.classList.remove("fa-check"),this.icon.classList.remove("fa-times"),this.readout.textContent=this.model.get("readout"),this.model.get("value")?(this.el.classList.add("mod-valid"),this.icon.classList.add("fa-check")):(this.el.classList.add("mod-invalid"),this.icon.classList.add("fa-times"))}}class ia extends Vs{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"ButtonStyleModel",_model_module:"@jupyter-widgets/controls",_model_module_version:$})}}ia.styleProperties={button_color:{selector:"",attribute:"background-color",default:null},font_family:{selector:"",attribute:"font-family",default:""},font_size:{selector:"",attribute:"font-size",default:""},font_style:{selector:"",attribute:"font-style",default:""},font_variant:{selector:"",attribute:"font-variant",default:""},font_weight:{selector:"",attribute:"font-weight",default:""},text_color:{selector:"",attribute:"color",default:""},text_decoration:{selector:"",attribute:"text-decoration",default:""}};class zn extends F{defaults(){return Object.assign(Object.assign({},super.defaults()),{description:"",tooltip:"",disabled:!1,icon:"",button_style:"",_view_name:"ButtonView",_model_name:"ButtonModel",style:null})}}class ht extends q{render(){super.render(),this.el.classList.add("jupyter-widgets"),this.el.classList.add("jupyter-button"),this.el.classList.add("widget-button"),this.listenTo(this.model,"change:button_style",this.update_button_style),this.listenTo(this.model,"change:tabbable",this.updateTabindex),this.set_button_style(),this.update()}update(){this.el.disabled=this.model.get("disabled"),this.updateTabindex();const e=this.model.get("tooltip"),t=this.model.get("description"),i=this.model.get("icon");if(this.el.setAttribute("title",e??t),t.length||i.length){if(this.el.textContent="",i.length){const n=document.createElement("i");n.classList.add("fa"),n.classList.add(...i.split(/[\s]+/).filter(Boolean).map(u=>`fa-${u}`)),t.length===0&&n.classList.add("center"),this.el.appendChild(n)}this.el.appendChild(document.createTextNode(t))}return super.update()}update_button_style(){this.update_mapped_classes(ht.class_map,"button_style")}set_button_style(){this.set_mapped_classes(ht.class_map,"button_style")}events(){return{click:"_handle_click"}}_handle_click(e){e.preventDefault(),this.send({event:"click"})}preinitialize(){this.tagName="button"}}ht.class_map={primary:["mod-primary"],success:["mod-success"],info:["mod-info"],warning:["mod-warning"],danger:["mod-danger"]};class Je extends F{defaults(){return Object.assign(Object.assign({},super.defaults()),{_view_name:"BoxView",_model_name:"BoxModel",children:[],box_style:""})}}Je.serializers=Object.assign(Object.assign({},F.serializers),{children:{deserialize:He}});class Dn extends Je{defaults(){return Object.assign(Object.assign({},super.defaults()),{_view_name:"HBoxView",_model_name:"HBoxModel"})}}class Bn extends Je{defaults(){return Object.assign(Object.assign({},super.defaults()),{_view_name:"VBoxView",_model_name:"VBoxModel"})}}class we extends q{_createElement(e){return this.luminoWidget=new As({view:this}),this.luminoWidget.node}_setElement(e){if(this.el||e!==this.luminoWidget.node)throw new Error("Cannot reset the DOM element.");this.el=this.luminoWidget.node,this.$el=bt(this.luminoWidget.node)}initialize(e){super.initialize(e),this.children_views=new Ke(this.add_child_model,null,this),this.listenTo(this.model,"change:children",this.update_children),this.listenTo(this.model,"change:box_style",this.update_box_style),this.luminoWidget.addClass("jupyter-widgets"),this.luminoWidget.addClass("widget-container"),this.luminoWidget.addClass("widget-box")}render(){super.render(),this.update_children(),this.set_box_style()}update_children(){var e;(e=this.children_views)===null||e===void 0||e.update(this.model.get("children")).then(t=>{t.forEach(i=>{vt.postMessage(i.luminoWidget,de.ResizeMessage.UnknownSize)})})}update_box_style(){this.update_mapped_classes(we.class_map,"box_style")}set_box_style(){this.set_mapped_classes(we.class_map,"box_style")}add_child_model(e){const t=new de;return this.luminoWidget.addWidget(t),this.create_child_view(e).then(i=>{const n=Me.firstIndexOf(this.luminoWidget.widgets,t);return this.luminoWidget.insertWidget(n,i.luminoWidget),t.dispose(),i}).catch($e("Could not add child view to box",!0))}remove(){this.children_views=null,super.remove()}}we.class_map={success:["alert","alert-success"],info:["alert","alert-info"],warning:["alert","alert-warning"],danger:["alert","alert-danger"]};class Wn extends we{initialize(e){super.initialize(e),this.luminoWidget.addClass("widget-hbox")}}class Rn extends we{initialize(e){super.initialize(e),this.luminoWidget.addClass("widget-vbox")}}class Nn extends we{initialize(e){super.initialize(e),this.luminoWidget.addClass("widget-gridbox"),this.luminoWidget.removeClass("widget-box")}}class Un extends Je{defaults(){return Object.assign(Object.assign({},super.defaults()),{_view_name:"GridBoxView",_model_name:"GridBoxModel"})}}class aa extends F{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"ImageModel",_view_name:"ImageView",format:"png",width:"",height:"",value:new DataView(new ArrayBuffer(0))})}}aa.serializers=Object.assign(Object.assign({},F.serializers),{value:{serialize:s=>new DataView(s.buffer.slice(0))}});class Fn extends q{render(){super.render(),this.luminoWidget.addClass("jupyter-widgets"),this.luminoWidget.addClass("widget-image"),this.update()}update(){let e;const t=this.model.get("format"),i=this.model.get("value");if(t!=="url"){const _=new Blob([i],{type:`image/${this.model.get("format")}`});e=URL.createObjectURL(_)}else e=new TextDecoder("utf-8").decode(i.buffer);const n=this.el.src;this.el.src=e,n&&URL.revokeObjectURL(n);const u=this.model.get("width");u!==void 0&&u.length>0?this.el.setAttribute("width",u):this.el.removeAttribute("width");const p=this.model.get("height");return p!==void 0&&p.length>0?this.el.setAttribute("height",p):this.el.removeAttribute("height"),super.update()}remove(){this.el.src&&URL.revokeObjectURL(this.el.src),super.remove()}preinitialize(){this.tagName="img"}}class na extends F{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"VideoModel",_view_name:"VideoView",format:"mp4",width:"",height:"",autoplay:!0,loop:!0,controls:!0,value:new DataView(new ArrayBuffer(0))})}}na.serializers=Object.assign(Object.assign({},F.serializers),{value:{serialize:s=>new DataView(s.buffer.slice(0))}});class Hn extends q{render(){super.render(),this.luminoWidget.addClass("jupyter-widgets"),this.luminoWidget.addClass("widget-image"),this.update()}update(){let e;const t=this.model.get("format"),i=this.model.get("value");if(t!=="url"){const _=new Blob([i],{type:`video/${this.model.get("format")}`});e=URL.createObjectURL(_)}else e=new TextDecoder("utf-8").decode(i.buffer);const n=this.el.src;this.el.src=e,n&&URL.revokeObjectURL(n);const u=this.model.get("width");u!==void 0&&u.length>0?this.el.setAttribute("width",u):this.el.removeAttribute("width");const p=this.model.get("height");return p!==void 0&&p.length>0?this.el.setAttribute("height",p):this.el.removeAttribute("height"),this.el.loop=this.model.get("loop"),this.el.autoplay=this.model.get("autoplay"),this.el.controls=this.model.get("controls"),super.update()}remove(){this.el.src&&URL.revokeObjectURL(this.el.src),super.remove()}preinitialize(){this.tagName="video"}}class la extends F{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"AudioModel",_view_name:"AudioView",format:"mp3",autoplay:!0,loop:!0,controls:!0,value:new DataView(new ArrayBuffer(0))})}}la.serializers=Object.assign(Object.assign({},F.serializers),{value:{serialize:s=>new DataView(s.buffer.slice(0))}});class $n extends q{render(){super.render(),this.luminoWidget.addClass("jupyter-widgets"),this.update()}update(){let e;const t=this.model.get("format"),i=this.model.get("value");if(t!=="url"){const u=new Blob([i],{type:`audio/${this.model.get("format")}`});e=URL.createObjectURL(u)}else e=new TextDecoder("utf-8").decode(i.buffer);const n=this.el.src;return this.el.src=e,n&&URL.revokeObjectURL(n),this.el.loop=this.model.get("loop"),this.el.autoplay=this.model.get("autoplay"),this.el.controls=this.model.get("controls"),super.update()}remove(){this.el.src&&URL.revokeObjectURL(this.el.src),super.remove()}preinitialize(){this.tagName="audio"}}const Ws={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgrey:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgreen:"#90ee90",lightgray:"#d3d3d3",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};class qn extends te{defaults(){return Object.assign(Object.assign({},super.defaults()),{value:"black",concise:!1,_model_name:"ColorPickerModel",_view_name:"ColorPickerView"})}}class Kn extends Y{render(){super.render(),this.el.classList.add("jupyter-widgets"),this.el.classList.add("widget-inline-hbox"),this.el.classList.add("widget-colorpicker"),this._color_container=document.createElement("div"),this._color_container.className="widget-inline-hbox widget-colorpicker-input",this.el.appendChild(this._color_container),this._textbox=document.createElement("input"),this._textbox.setAttribute("type","text"),this._textbox.id=this.label.htmlFor=ae(),this._color_container.appendChild(this._textbox),this._textbox.value=this.model.get("value"),this._colorpicker=document.createElement("input"),this._colorpicker.setAttribute("type","color"),this._color_container.appendChild(this._colorpicker),this.listenTo(this.model,"change:value",this._update_value),this.listenTo(this.model,"change:concise",this._update_concise),this._update_concise(),this._update_value(),this.update()}update(e){if(e===void 0||e.updated_view!=this){const t=this.model.get("disabled");this._textbox.disabled=t,this._colorpicker.disabled=t}return super.update()}events(){return this._picker_change,this._text_change,{'change [type="color"]':"_picker_change",'change [type="text"]':"_text_change"}}_update_value(){const e=this.model.get("value");this._colorpicker.value=ra(e),this._textbox.value=e}_update_concise(){this.model.get("concise")?(this.el.classList.add("concise"),this._textbox.style.display="none"):(this.el.classList.remove("concise"),this._textbox.style.display="")}_picker_change(){this.model.set("value",this._colorpicker.value),this.touch()}_text_change(){const e=this._validate_color(this._textbox.value,this.model.get("value"));this.model.set("value",e),this.touch()}_validate_color(e,t){return e.match(/#[a-fA-F0-9]{3}(?:[a-fA-F0-9]{3})?$/)||Ws[e.toLowerCase()]?e:t}}function ra(s){return Ws[s.toLowerCase()]||oa(s)}function oa(s){return s.length===7?s:"#"+s.charAt(1)+s.charAt(1)+s.charAt(2)+s.charAt(2)+s.charAt(3)+s.charAt(3)}function da(s){return s===null?null:{year:s.getUTCFullYear(),month:s.getUTCMonth(),date:s.getUTCDate()}}function ua(s){if(s===null)return null;{const e=new Date;return e.setUTCFullYear(s.year,s.month,s.date),e.setUTCHours(0,0,0,0),e}}class ha extends te{defaults(){return Object.assign(Object.assign({},super.defaults()),{value:null,_model_name:"DatePickerModel",_view_name:"DatePickerView"})}}ha.serializers=Object.assign(Object.assign({},te.serializers),{value:{serialize:da,deserialize:ua}});class Yn extends Y{render(){super.render(),this.el.classList.add("jupyter-widgets"),this.el.classList.add("widget-inline-hbox"),this.el.classList.add("widget-datepicker"),this._datepicker=document.createElement("input"),this._datepicker.setAttribute("type","date"),this._datepicker.id=this.label.htmlFor=ae(),this.el.appendChild(this._datepicker),this.listenTo(this.model,"change:value",this._update_value),this._update_value(),this.update()}update(e){return(e===void 0||e.updated_view!==this)&&(this._datepicker.disabled=this.model.get("disabled")),super.update()}events(){return this._picker_change,this._picker_focusout,{'change [type="date"]':"_picker_change",'focusout [type="date"]':"_picker_focusout"}}_update_value(){const e=this.model.get("value");this._datepicker.valueAsDate=e}_picker_change(){this._datepicker.validity.badInput||(this.model.set("value",this._datepicker.valueAsDate),this.touch())}_picker_focusout(){this._datepicker.validity.badInput&&(this.model.set("value",null),this.touch())}}const ca=/(\d\d):(\d\d)(:(\d\d)(.(\d{1,3})\d*)?)?/;function Rs(s){if(s===null)return null;{const e=ca.exec(s);return e===null?null:{hours:Math.min(23,parseInt(e[1],10)),minutes:Math.min(59,parseInt(e[2],10)),seconds:e[4]?Math.min(59,parseInt(e[4],10)):0,milliseconds:e[6]?parseInt(e[6],10):0}}}function pa(s){if(s===null)return null;{const e=[`${s.hours.toString().padStart(2,"0")}:${s.minutes.toString().padStart(2,"0")}`];return(s.seconds>0||s.milliseconds>0)&&(e.push(`:${s.seconds.toString().padStart(2,"0")}`),s.milliseconds>0&&e.push(`.${s.milliseconds.toString().padStart(3,"0")}`)),e.join("")}}const Wt={serialize:Rs,deserialize:pa};class Pe extends te{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:Pe.model_name,_view_name:Pe.view_name,value:null,disabled:!1,min:null,max:null,step:60})}}Pe.serializers=Object.assign(Object.assign({},te.serializers),{value:Wt,min:Wt,max:Wt});Pe.model_name="TimeModel";Pe.view_name="TimeView";class Gn extends Y{render(){super.render(),this.el.classList.add("jupyter-widgets"),this.el.classList.add("widget-inline-hbox"),this.el.classList.add("widget-timepicker"),this._timepicker=document.createElement("input"),this._timepicker.setAttribute("type","time"),this._timepicker.id=this.label.htmlFor=ae(),this.el.appendChild(this._timepicker),this.listenTo(this.model,"change:value",this._update_value),this.listenTo(this.model,"change",this.update2),this._update_value(),this.update2()}update2(e,t){return(t===void 0||t.updated_view!==this)&&(this._timepicker.disabled=this.model.get("disabled"),this._timepicker.min=this.model.get("min"),this._timepicker.max=this.model.get("max"),this._timepicker.step=this.model.get("step")),super.update()}events(){return this._picker_change,this._picker_focusout,{'change [type="time"]':"_picker_change",'focusout [type="time"]':"_picker_focusout"}}_update_value(e,t,i){(i===void 0||i.updated_view!==this)&&(this._timepicker.value=this.model.get("value"))}_picker_change(){this._timepicker.validity.badInput||(this.model.set("value",this._timepicker.value,{updated_view:this}),this.touch())}_picker_focusout(){this._timepicker.validity.badInput&&(this.model.set("value",null,{updated_view:this}),this.touch())}}function fa(s){return s===null?null:{year:s.getUTCFullYear(),month:s.getUTCMonth(),date:s.getUTCDate(),hours:s.getUTCHours(),minutes:s.getUTCMinutes(),seconds:s.getUTCSeconds(),milliseconds:s.getUTCMilliseconds()}}function ga(s){if(s===null)return null;{const e=new Date;return e.setUTCFullYear(s.year,s.month,s.date),e.setUTCHours(s.hours,s.minutes,s.seconds,s.milliseconds),e}}const Rt={serialize:fa,deserialize:ga};class Ns extends te{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"DatetimeModel",_view_name:"DatetimeView",value:null,disabled:!1,min:null,max:null})}}Ns.serializers=Object.assign(Object.assign({},te.serializers),{value:Rt,min:Rt,max:Rt});class Jn extends Y{render(){super.render(),this.el.classList.add("jupyter-widgets"),this.el.classList.add("widget-inline-hbox"),this.el.classList.add("widget-datetimepicker");const e=document.createElement("input");e.type="datetime-local",e.type==="text"?(this._datepicker=document.createElement("input"),this._datepicker.setAttribute("type","date"),this._datepicker.id=this.label.htmlFor=ae(),this._timepicker=document.createElement("input"),this._timepicker.setAttribute("type","time"),this._timepicker.id=ae(),this.el.appendChild(this._datepicker),this.el.appendChild(this._timepicker)):(this._datetimepicker=e,this._datetimepicker.id=this.label.htmlFor=ae(),this.el.appendChild(this._datetimepicker)),this.listenTo(this.model,"change:value",this._update_value),this.listenTo(this.model,"change",this.update2),this._update_value(),this.update2()}update2(e,t){if(t===void 0||t.updated_view!==this){const i=this.model.get("min"),n=this.model.get("max");this._datetimepicker?(this._datetimepicker.disabled=this.model.get("disabled"),this._datetimepicker.min=xe.dt_as_dt_string(i),this._datetimepicker.max=xe.dt_as_dt_string(n)):(this._datepicker.disabled=this.model.get("disabled"),this._datepicker.min=xe.dt_as_date_string(i),this._datepicker.max=xe.dt_as_date_string(n),this._timepicker.disabled=this.model.get("disabled"))}}events(){return this._picker_change,this._picker_focusout,{'change [type="date"]':"_picker_change",'change [type="time"]':"_picker_change",'change [type="datetime-local"]':"_picker_change",'focusout [type="date"]':"_picker_focusout",'focusout [type="datetime-local"]':"_picker_focusout",'focusout [type="time"]':"_picker_focusout"}}_update_value(e,t,i){if(i===void 0||i.updated_view!==this){const n=this.model.get("value");this._datetimepicker?this._datetimepicker.value=xe.dt_as_dt_string(n):(this._datepicker.valueAsDate=n,this._timepicker.value=xe.dt_as_time_string(n))}}_picker_change(){if(this._datetimepicker){if(!this._datetimepicker.validity.badInput){const e=this._datetimepicker.value;let t=e?new Date(e):null;t&&isNaN(t.valueOf())&&(t=null),this.model.set("value",t,{updated_view:this}),this.touch()}}else if(!this._datepicker.validity.badInput&&!this._timepicker.validity.badInput){const e=this._datepicker.valueAsDate,t=Rs(this._timepicker.value);e!==null&&t!==null&&e.setHours(t.hours,t.minutes,t.seconds,t.milliseconds),this.model.set("value",t!==null&&e,{updated_view:this}),this.touch()}}_picker_focusout(){[this._datetimepicker,this._datepicker,this._timepicker].some(t=>t&&t.validity.badInput)&&(this.model.set("value",null),this.touch())}}var xe;(function(s){function e(n){if(n===null)return"";const u=[];return u.push(`${n.getFullYear().toString().padStart(4,"0")}`),u.push(`-${(n.getMonth()+1).toString().padStart(2,"0")}`),u.push(`-${n.getDate().toString().padStart(2,"0")}`),u.push(`T${n.getHours().toString().padStart(2,"0")}`),u.push(`:${n.getMinutes().toString().padStart(2,"0")}`),(n.getSeconds()>0||n.getMilliseconds()>0)&&(u.push(`:${n.getSeconds().toString().padStart(2,"0")}`),n.getMilliseconds()>0&&u.push(`.${n.getMilliseconds().toString().padStart(3,"0")}`)),u.join("")}s.dt_as_dt_string=e;function t(n){return n?e(n).split("T",2)[0]:""}s.dt_as_date_string=t;function i(n){return n?e(n).split("T",2)[1]:""}s.dt_as_time_string=i})(xe||(xe={}));function ma(s){return s===null?null:{year:s.getFullYear(),month:s.getMonth(),date:s.getDate(),hours:s.getHours(),minutes:s.getMinutes(),seconds:s.getSeconds(),milliseconds:s.getMilliseconds()}}function _a(s){if(s===null)return null;{const e=new Date;return e.setFullYear(s.year,s.month,s.date),e.setHours(s.hours,s.minutes,s.seconds,s.milliseconds),e}}const Nt={serialize:ma,deserialize:_a};class ba extends Ns{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"NaiveDatetimeModel"})}}ba.serializers=Object.assign(Object.assign({},te.serializers),{value:Nt,min:Nt,max:Nt});function va(s){return Math.abs(s=Math.round(s))>=1e21?s.toLocaleString("en").replace(/,/g,""):s.toString(10)}function ct(s,e){if(!isFinite(s)||s===0)return null;var t=(s=e?s.toExponential(e-1):s.toExponential()).indexOf("e"),i=s.slice(0,t);return[i.length>1?i[0]+i.slice(2):i,+s.slice(t+1)]}function xa(s){return s=ct(Math.abs(s)),s?s[1]:NaN}function wa(s,e){return function(t,i){for(var n=t.length,u=[],p=0,_=s[0],j=0;n>0&&_>0&&(j+_+1>i&&(_=Math.max(1,i-j)),u.push(t.substring(n-=_,n+_)),!((j+=_+1)>i));)_=s[p=(p+1)%s.length];return u.reverse().join(e)}}function ya(s){return function(e){return e.replace(/[0-9]/g,function(t){return s[+t]})}}var Sa=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Ft(s){if(!(e=Sa.exec(s)))throw new Error("invalid format: "+s);var e;return new Ht({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}Ft.prototype=Ht.prototype;function Ht(s){this.fill=s.fill===void 0?" ":s.fill+"",this.align=s.align===void 0?">":s.align+"",this.sign=s.sign===void 0?"-":s.sign+"",this.symbol=s.symbol===void 0?"":s.symbol+"",this.zero=!!s.zero,this.width=s.width===void 0?void 0:+s.width,this.comma=!!s.comma,this.precision=s.precision===void 0?void 0:+s.precision,this.trim=!!s.trim,this.type=s.type===void 0?"":s.type+""}Ht.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function Ca(s){e:for(var e=s.length,t=1,i=-1,n;t<e;++t)switch(s[t]){case".":i=n=t;break;case"0":i===0&&(i=t),n=t;break;default:if(!+s[t])break e;i>0&&(i=0);break}return i>0?s.slice(0,i)+s.slice(n+1):s}var pt;function Ma(s,e){var t=ct(s,e);if(!t)return pt=void 0,s.toPrecision(e);var i=t[0],n=t[1],u=n-(pt=Math.max(-8,Math.min(8,Math.floor(n/3)))*3)+1,p=i.length;return u===p?i:u>p?i+new Array(u-p+1).join("0"):u>0?i.slice(0,u)+"."+i.slice(u):"0."+new Array(1-u).join("0")+ct(s,Math.max(0,e+u-1))[0]}function fs(s,e){var t=ct(s,e);if(!t)return s+"";var i=t[0],n=t[1];return n<0?"0."+new Array(-n).join("0")+i:i.length>n+1?i.slice(0,n+1)+"."+i.slice(n+1):i+new Array(n-i.length+2).join("0")}const gs={"%":(s,e)=>(s*100).toFixed(e),b:s=>Math.round(s).toString(2),c:s=>s+"",d:va,e:(s,e)=>s.toExponential(e),f:(s,e)=>s.toFixed(e),g:(s,e)=>s.toPrecision(e),o:s=>Math.round(s).toString(8),p:(s,e)=>fs(s*100,e),r:fs,s:Ma,X:s=>Math.round(s).toString(16).toUpperCase(),x:s=>Math.round(s).toString(16)};function ms(s){return s}var _s=Array.prototype.map,bs=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function ka(s){var e=s.grouping===void 0||s.thousands===void 0?ms:wa(_s.call(s.grouping,Number),s.thousands+""),t=s.currency===void 0?"":s.currency[0]+"",i=s.currency===void 0?"":s.currency[1]+"",n=s.decimal===void 0?".":s.decimal+"",u=s.numerals===void 0?ms:ya(_s.call(s.numerals,String)),p=s.percent===void 0?"%":s.percent+"",_=s.minus===void 0?"−":s.minus+"",j=s.nan===void 0?"NaN":s.nan+"";function ue(w,A){w=Ft(w);var H=w.fill,G=w.align,J=w.sign,k=w.symbol,he=w.zero,Be=w.width,Le=w.comma,ce=w.precision,et=w.trim,X=w.type;X==="n"?(Le=!0,X="g"):gs[X]||(ce===void 0&&(ce=12),et=!0,X="g"),(he||H==="0"&&G==="=")&&(he=!0,H="0",G="=");var We=(A&&A.prefix!==void 0?A.prefix:"")+(k==="$"?t:k==="#"&&/[boxX]/.test(X)?"0"+X.toLowerCase():""),Re=(k==="$"?i:/[%p]/.test(X)?p:"")+(A&&A.suffix!==void 0?A.suffix:""),tt=gs[X],Ct=/[defgprs%]/.test(X);ce=ce===void 0?6:/[gprs]/.test(X)?Math.max(1,Math.min(21,ce)):Math.max(0,Math.min(20,ce));function be(M){var pe=We,Q=Re,fe,Ne,ve;if(X==="c")Q=tt(M)+Q,M="";else{M=+M;var se=M<0||1/M<0;if(M=isNaN(M)?j:tt(Math.abs(M),ce),et&&(M=Ca(M)),se&&+M==0&&J!=="+"&&(se=!1),pe=(se?J==="("?J:_:J==="-"||J==="("?"":J)+pe,Q=(X==="s"&&!isNaN(M)&&pt!==void 0?bs[8+pt/3]:"")+Q+(se&&J==="("?")":""),Ct){for(fe=-1,Ne=M.length;++fe<Ne;)if(ve=M.charCodeAt(fe),48>ve||ve>57){Q=(ve===46?n+M.slice(fe+1):M.slice(fe))+Q,M=M.slice(0,fe);break}}}Le&&!he&&(M=e(M,1/0));var Te=pe.length+M.length+Q.length,ne=Te<Be?new Array(Be-Te+1).join(H):"";switch(Le&&he&&(M=e(ne+M,ne.length?Be-Q.length:1/0),ne=""),G){case"<":M=pe+M+Q+ne;break;case"=":M=pe+ne+M+Q;break;case"^":M=ne.slice(0,Te=ne.length>>1)+pe+M+Q+ne.slice(Te);break;default:M=ne+pe+M+Q;break}return u(M)}return be.toString=function(){return w+""},be}function je(w,A){var H=Math.max(-8,Math.min(8,Math.floor(xa(A)/3)))*3,G=Math.pow(10,-H),J=ue((w=Ft(w),w.type="f",w),{suffix:bs[8+H/3]});return function(k){return J(G*k)}}return{format:ue,formatPrefix:je}}var rt,ze;ja({thousands:",",grouping:[3],currency:["$",""]});function ja(s){return rt=ka(s),ze=rt.format,rt.formatPrefix,rt}var Fe={exports:{}},La=Fe.exports,vs;function Ta(){return vs||(vs=1,(function(s,e){(function(t,i){i(e)})(La,(function(t){t.PipsMode=void 0,(function(l){l.Range="range",l.Steps="steps",l.Positions="positions",l.Count="count",l.Values="values"})(t.PipsMode||(t.PipsMode={})),t.PipsType=void 0,(function(l){l[l.None=-1]="None",l[l.NoValue=0]="NoValue",l[l.LargeValue=1]="LargeValue",l[l.SmallValue=2]="SmallValue"})(t.PipsType||(t.PipsType={}));function i(l){return n(l)&&typeof l.from=="function"}function n(l){return typeof l=="object"&&typeof l.to=="function"}function u(l){l.parentElement.removeChild(l)}function p(l){return l!=null}function _(l){l.preventDefault()}function j(l){return l.filter(function(a){return this[a]?!1:this[a]=!0},{})}function ue(l,a){return Math.round(l/a)*a}function je(l,a){var c=l.getBoundingClientRect(),b=l.ownerDocument,m=b.documentElement,C=Le(b);return/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(C.x=0),a?c.top+C.y-m.clientTop:c.left+C.x-m.clientLeft}function w(l){return typeof l=="number"&&!isNaN(l)&&isFinite(l)}function A(l,a,c){c>0&&(k(l,a),setTimeout(function(){he(l,a)},c))}function H(l){return Math.max(Math.min(l,100),0)}function G(l){return Array.isArray(l)?l:[l]}function J(l){l=String(l);var a=l.split(".");return a.length>1?a[1].length:0}function k(l,a){l.classList&&!/\s/.test(a)?l.classList.add(a):l.className+=" "+a}function he(l,a){l.classList&&!/\s/.test(a)?l.classList.remove(a):l.className=l.className.replace(new RegExp("(^|\\b)"+a.split(" ").join("|")+"(\\b|$)","gi")," ")}function Be(l,a){return l.classList?l.classList.contains(a):new RegExp("\\b"+a+"\\b").test(l.className)}function Le(l){var a=window.pageXOffset!==void 0,c=(l.compatMode||"")==="CSS1Compat",b=a?window.pageXOffset:c?l.documentElement.scrollLeft:l.body.scrollLeft,m=a?window.pageYOffset:c?l.documentElement.scrollTop:l.body.scrollTop;return{x:b,y:m}}function ce(){return window.navigator.pointerEnabled?{start:"pointerdown",move:"pointermove",end:"pointerup"}:window.navigator.msPointerEnabled?{start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}:{start:"mousedown touchstart",move:"mousemove touchmove",end:"mouseup touchend"}}function et(){var l=!1;try{var a=Object.defineProperty({},"passive",{get:function(){l=!0}});window.addEventListener("test",null,a)}catch{}return l}function X(){return window.CSS&&CSS.supports&&CSS.supports("touch-action","none")}function We(l,a){return 100/(a-l)}function Re(l,a,c){return a*100/(l[c+1]-l[c])}function tt(l,a){return Re(l,l[0]<0?a+Math.abs(l[0]):a-l[0],0)}function Ct(l,a){return a*(l[1]-l[0])/100+l[0]}function be(l,a){for(var c=1;l>=a[c];)c+=1;return c}function M(l,a,c){if(c>=l.slice(-1)[0])return 100;var b=be(c,l),m=l[b-1],C=l[b],y=a[b-1],I=a[b];return y+tt([m,C],c)/We(y,I)}function pe(l,a,c){if(c>=100)return l.slice(-1)[0];var b=be(c,a),m=l[b-1],C=l[b],y=a[b-1],I=a[b];return Ct([m,C],(c-y)*We(y,I))}function Q(l,a,c,b){if(b===100)return b;var m=be(b,l),C=l[m-1],y=l[m];return c?b-C>(y-C)/2?y:C:a[m-1]?l[m-1]+ue(b-l[m-1],a[m-1]):b}var fe=(function(){function l(a,c,b){this.xPct=[],this.xVal=[],this.xSteps=[],this.xNumSteps=[],this.xHighestCompleteStep=[],this.xSteps=[b||!1],this.xNumSteps=[!1],this.snap=c;var m,C=[];for(Object.keys(a).forEach(function(y){C.push([G(a[y]),y])}),C.sort(function(y,I){return y[0][0]-I[0][0]}),m=0;m<C.length;m++)this.handleEntryPoint(C[m][1],C[m][0]);for(this.xNumSteps=this.xSteps.slice(0),m=0;m<this.xNumSteps.length;m++)this.handleStepPoint(m,this.xNumSteps[m])}return l.prototype.getDistance=function(a){var c,b=[];for(c=0;c<this.xNumSteps.length-1;c++){var m=this.xNumSteps[c];if(m&&a/m%1!==0)throw new Error("noUiSlider: 'limit', 'margin' and 'padding' of "+this.xPct[c]+"% range must be divisible by step.");b[c]=Re(this.xVal,a,c)}return b},l.prototype.getAbsoluteDistance=function(a,c,b){var m=0;if(a<this.xPct[this.xPct.length-1])for(;a>this.xPct[m+1];)m++;else a===this.xPct[this.xPct.length-1]&&(m=this.xPct.length-2);!b&&a===this.xPct[m+1]&&m++,c===null&&(c=[]);var C,y=1,I=c[m],S=0,ie=0,le=0,D=0;for(b?C=(a-this.xPct[m])/(this.xPct[m+1]-this.xPct[m]):C=(this.xPct[m+1]-a)/(this.xPct[m+1]-this.xPct[m]);I>0;)S=this.xPct[m+1+D]-this.xPct[m+D],c[m+D]*y+100-C*100>100?(ie=S*C,y=(I-100*C)/c[m+D],C=1):(ie=c[m+D]*S/100*y,y=0),b?(le=le-ie,this.xPct.length+D>=1&&D--):(le=le+ie,this.xPct.length-D>=1&&D++),I=c[m+D]*y;return a+le},l.prototype.toStepping=function(a){return a=M(this.xVal,this.xPct,a),a},l.prototype.fromStepping=function(a){return pe(this.xVal,this.xPct,a)},l.prototype.getStep=function(a){return a=Q(this.xPct,this.xSteps,this.snap,a),a},l.prototype.getDefaultStep=function(a,c,b){var m=be(a,this.xPct);return(a===100||c&&a===this.xPct[m-1])&&(m=Math.max(m-1,1)),(this.xVal[m]-this.xVal[m-1])/b},l.prototype.getNearbySteps=function(a){var c=be(a,this.xPct);return{stepBefore:{startValue:this.xVal[c-2],step:this.xNumSteps[c-2],highestStep:this.xHighestCompleteStep[c-2]},thisStep:{startValue:this.xVal[c-1],step:this.xNumSteps[c-1],highestStep:this.xHighestCompleteStep[c-1]},stepAfter:{startValue:this.xVal[c],step:this.xNumSteps[c],highestStep:this.xHighestCompleteStep[c]}}},l.prototype.countStepDecimals=function(){var a=this.xNumSteps.map(J);return Math.max.apply(null,a)},l.prototype.hasNoSize=function(){return this.xVal[0]===this.xVal[this.xVal.length-1]},l.prototype.convert=function(a){return this.getStep(this.toStepping(a))},l.prototype.handleEntryPoint=function(a,c){var b;if(a==="min"?b=0:a==="max"?b=100:b=parseFloat(a),!w(b)||!w(c[0]))throw new Error("noUiSlider: 'range' value isn't numeric.");this.xPct.push(b),this.xVal.push(c[0]);var m=Number(c[1]);b?this.xSteps.push(isNaN(m)?!1:m):isNaN(m)||(this.xSteps[0]=m),this.xHighestCompleteStep.push(0)},l.prototype.handleStepPoint=function(a,c){if(c){if(this.xVal[a]===this.xVal[a+1]){this.xSteps[a]=this.xHighestCompleteStep[a]=this.xVal[a];return}this.xSteps[a]=Re([this.xVal[a],this.xVal[a+1]],c,0)/We(this.xPct[a],this.xPct[a+1]);var b=(this.xVal[a+1]-this.xVal[a])/this.xNumSteps[a],m=Math.ceil(Number(b.toFixed(3))-1),C=this.xVal[a]+this.xNumSteps[a]*m;this.xHighestCompleteStep[a]=C}},l})(),Ne={to:function(l){return l===void 0?"":l.toFixed(2)},from:Number},ve={target:"target",base:"base",origin:"origin",handle:"handle",handleLower:"handle-lower",handleUpper:"handle-upper",touchArea:"touch-area",horizontal:"horizontal",vertical:"vertical",background:"background",connect:"connect",connects:"connects",ltr:"ltr",rtl:"rtl",textDirectionLtr:"txt-dir-ltr",textDirectionRtl:"txt-dir-rtl",draggable:"draggable",drag:"state-drag",tap:"state-tap",active:"active",tooltip:"tooltip",pips:"pips",pipsHorizontal:"pips-horizontal",pipsVertical:"pips-vertical",marker:"marker",markerHorizontal:"marker-horizontal",markerVertical:"marker-vertical",markerNormal:"marker-normal",markerLarge:"marker-large",markerSub:"marker-sub",value:"value",valueHorizontal:"value-horizontal",valueVertical:"value-vertical",valueNormal:"value-normal",valueLarge:"value-large",valueSub:"value-sub"},se={tooltips:".__tooltips",aria:".__aria"};function Te(l,a){if(!w(a))throw new Error("noUiSlider: 'step' is not numeric.");l.singleStep=a}function ne(l,a){if(!w(a))throw new Error("noUiSlider: 'keyboardPageMultiplier' is not numeric.");l.keyboardPageMultiplier=a}function ei(l,a){if(!w(a))throw new Error("noUiSlider: 'keyboardMultiplier' is not numeric.");l.keyboardMultiplier=a}function ti(l,a){if(!w(a))throw new Error("noUiSlider: 'keyboardDefaultStep' is not numeric.");l.keyboardDefaultStep=a}function si(l,a){if(typeof a!="object"||Array.isArray(a))throw new Error("noUiSlider: 'range' is not an object.");if(a.min===void 0||a.max===void 0)throw new Error("noUiSlider: Missing 'min' or 'max' in 'range'.");l.spectrum=new fe(a,l.snap||!1,l.singleStep)}function ii(l,a){if(a=G(a),!Array.isArray(a)||!a.length)throw new Error("noUiSlider: 'start' option is incorrect.");l.handles=a.length,l.start=a}function ai(l,a){if(typeof a!="boolean")throw new Error("noUiSlider: 'snap' option must be a boolean.");l.snap=a}function ni(l,a){if(typeof a!="boolean")throw new Error("noUiSlider: 'animate' option must be a boolean.");l.animate=a}function li(l,a){if(typeof a!="number")throw new Error("noUiSlider: 'animationDuration' option must be a number.");l.animationDuration=a}function ri(l,a){var c=[!1],b;if(a==="lower"?a=[!0,!1]:a==="upper"&&(a=[!1,!0]),a===!0||a===!1){for(b=1;b<l.handles;b++)c.push(a);c.push(!1)}else{if(!Array.isArray(a)||!a.length||a.length!==l.handles+1)throw new Error("noUiSlider: 'connect' option doesn't match handle count.");c=a}l.connect=c}function oi(l,a){switch(a){case"horizontal":l.ort=0;break;case"vertical":l.ort=1;break;default:throw new Error("noUiSlider: 'orientation' option is invalid.")}}function Gt(l,a){if(!w(a))throw new Error("noUiSlider: 'margin' option must be numeric.");a!==0&&(l.margin=l.spectrum.getDistance(a))}function di(l,a){if(!w(a))throw new Error("noUiSlider: 'limit' option must be numeric.");if(l.limit=l.spectrum.getDistance(a),!l.limit||l.handles<2)throw new Error("noUiSlider: 'limit' option is only supported on linear sliders with 2 or more handles.")}function ui(l,a){var c;if(!w(a)&&!Array.isArray(a))throw new Error("noUiSlider: 'padding' option must be numeric or array of exactly 2 numbers.");if(Array.isArray(a)&&!(a.length===2||w(a[0])||w(a[1])))throw new Error("noUiSlider: 'padding' option must be numeric or array of exactly 2 numbers.");if(a!==0){for(Array.isArray(a)||(a=[a,a]),l.padding=[l.spectrum.getDistance(a[0]),l.spectrum.getDistance(a[1])],c=0;c<l.spectrum.xNumSteps.length-1;c++)if(l.padding[0][c]<0||l.padding[1][c]<0)throw new Error("noUiSlider: 'padding' option must be a positive number(s).");var b=a[0]+a[1],m=l.spectrum.xVal[0],C=l.spectrum.xVal[l.spectrum.xVal.length-1];if(b/(C-m)>1)throw new Error("noUiSlider: 'padding' option must not exceed 100% of the range.")}}function hi(l,a){switch(a){case"ltr":l.dir=0;break;case"rtl":l.dir=1;break;default:throw new Error("noUiSlider: 'direction' option was not recognized.")}}function ci(l,a){if(typeof a!="string")throw new Error("noUiSlider: 'behaviour' must be a string containing options.");var c=a.indexOf("tap")>=0,b=a.indexOf("drag")>=0,m=a.indexOf("fixed")>=0,C=a.indexOf("snap")>=0,y=a.indexOf("hover")>=0,I=a.indexOf("unconstrained")>=0,S=a.indexOf("drag-all")>=0;if(m){if(l.handles!==2)throw new Error("noUiSlider: 'fixed' behaviour must be used with 2 handles");Gt(l,l.start[1]-l.start[0])}if(I&&(l.margin||l.limit))throw new Error("noUiSlider: 'unconstrained' behaviour cannot be used with margin or limit");l.events={tap:c||C,drag:b,dragAll:S,fixed:m,snap:C,hover:y,unconstrained:I}}function pi(l,a){if(a!==!1)if(a===!0||n(a)){l.tooltips=[];for(var c=0;c<l.handles;c++)l.tooltips.push(a)}else{if(a=G(a),a.length!==l.handles)throw new Error("noUiSlider: must pass a formatter for all handles.");a.forEach(function(b){if(typeof b!="boolean"&&!n(b))throw new Error("noUiSlider: 'tooltips' must be passed a formatter or 'false'.")}),l.tooltips=a}}function fi(l,a){if(a.length!==l.handles)throw new Error("noUiSlider: must pass a attributes for all handles.");l.handleAttributes=a}function gi(l,a){if(!n(a))throw new Error("noUiSlider: 'ariaFormat' requires 'to' method.");l.ariaFormat=a}function mi(l,a){if(!i(a))throw new Error("noUiSlider: 'format' requires 'to' and 'from' methods.");l.format=a}function _i(l,a){if(typeof a!="boolean")throw new Error("noUiSlider: 'keyboardSupport' option must be a boolean.");l.keyboardSupport=a}function bi(l,a){l.documentElement=a}function vi(l,a){if(typeof a!="string"&&a!==!1)throw new Error("noUiSlider: 'cssPrefix' must be a string or `false`.");l.cssPrefix=a}function xi(l,a){if(typeof a!="object")throw new Error("noUiSlider: 'cssClasses' must be an object.");typeof l.cssPrefix=="string"?(l.cssClasses={},Object.keys(a).forEach(function(c){l.cssClasses[c]=l.cssPrefix+a[c]})):l.cssClasses=a}function Jt(l){var a={margin:null,limit:null,padding:null,animate:!0,animationDuration:300,ariaFormat:Ne,format:Ne},c={step:{r:!1,t:Te},keyboardPageMultiplier:{r:!1,t:ne},keyboardMultiplier:{r:!1,t:ei},keyboardDefaultStep:{r:!1,t:ti},start:{r:!0,t:ii},connect:{r:!0,t:ri},direction:{r:!0,t:hi},snap:{r:!1,t:ai},animate:{r:!1,t:ni},animationDuration:{r:!1,t:li},range:{r:!0,t:si},orientation:{r:!1,t:oi},margin:{r:!1,t:Gt},limit:{r:!1,t:di},padding:{r:!1,t:ui},behaviour:{r:!0,t:ci},ariaFormat:{r:!1,t:gi},format:{r:!1,t:mi},tooltips:{r:!1,t:pi},keyboardSupport:{r:!0,t:_i},documentElement:{r:!1,t:bi},cssPrefix:{r:!0,t:vi},cssClasses:{r:!0,t:xi},handleAttributes:{r:!1,t:fi}},b={connect:!1,direction:"ltr",behaviour:"tap",orientation:"horizontal",keyboardSupport:!0,cssPrefix:"noUi-",cssClasses:ve,keyboardPageMultiplier:5,keyboardMultiplier:1,keyboardDefaultStep:10};l.format&&!l.ariaFormat&&(l.ariaFormat=l.format),Object.keys(c).forEach(function(S){if(!p(l[S])&&b[S]===void 0){if(c[S].r)throw new Error("noUiSlider: '"+S+"' is required.");return}c[S].t(a,p(l[S])?l[S]:b[S])}),a.pips=l.pips;var m=document.createElement("div"),C=m.style.msTransform!==void 0,y=m.style.transform!==void 0;a.transformRule=y?"transform":C?"msTransform":"webkitTransform";var I=[["left","top"],["right","bottom"]];return a.style=I[a.dir][a.ort],a}function wi(l,a,c){var b=ce(),m=X(),C=m&&et(),y=l,I,S,ie,le,D,L=a.spectrum,ge=[],P=[],Z=[],Mt=0,me={},Oe=l.ownerDocument,st=a.documentElement||Oe.documentElement,it=Oe.body,Si=Oe.dir==="rtl"||a.ort===1?0:100;function _e(r,o){var d=Oe.createElement("div");return o&&k(d,o),r.appendChild(d),d}function Ci(r,o){var d=_e(r,a.cssClasses.origin),h=_e(d,a.cssClasses.handle);if(_e(h,a.cssClasses.touchArea),h.setAttribute("data-handle",String(o)),a.keyboardSupport&&(h.setAttribute("tabindex","0"),h.addEventListener("keydown",function(g){return Bi(g,o)})),a.handleAttributes!==void 0){var f=a.handleAttributes[o];Object.keys(f).forEach(function(g){h.setAttribute(g,f[g])})}return h.setAttribute("role","slider"),h.setAttribute("aria-orientation",a.ort?"vertical":"horizontal"),o===0?k(h,a.cssClasses.handleLower):o===a.handles-1&&k(h,a.cssClasses.handleUpper),d}function Qt(r,o){return o?_e(r,a.cssClasses.connect):!1}function Mi(r,o){var d=_e(o,a.cssClasses.connects);S=[],ie=[],ie.push(Qt(d,r[0]));for(var h=0;h<a.handles;h++)S.push(Ci(o,h)),Z[h]=h,ie.push(Qt(d,r[h+1]))}function ki(r){k(r,a.cssClasses.target),a.dir===0?k(r,a.cssClasses.ltr):k(r,a.cssClasses.rtl),a.ort===0?k(r,a.cssClasses.horizontal):k(r,a.cssClasses.vertical);var o=getComputedStyle(r).direction;return o==="rtl"?k(r,a.cssClasses.textDirectionRtl):k(r,a.cssClasses.textDirectionLtr),_e(r,a.cssClasses.base)}function ji(r,o){return!a.tooltips||!a.tooltips[o]?!1:_e(r.firstChild,a.cssClasses.tooltip)}function Zt(){return y.hasAttribute("disabled")}function kt(r){var o=S[r];return o.hasAttribute("disabled")}function jt(){D&&(Ue("update"+se.tooltips),D.forEach(function(r){r&&u(r)}),D=null)}function es(){jt(),D=S.map(ji),Et("update"+se.tooltips,function(r,o,d){if(!(!D||!a.tooltips)&&D[o]!==!1){var h=r[o];a.tooltips[o]!==!0&&(h=a.tooltips[o].to(d[o])),D[o].innerHTML=h}})}function Li(){Ue("update"+se.aria),Et("update"+se.aria,function(r,o,d,h,f){Z.forEach(function(g){var v=S[g],x=at(P,g,0,!0,!0,!0),E=at(P,g,100,!0,!0,!0),V=f[g],T=String(a.ariaFormat.to(d[g]));x=L.fromStepping(x).toFixed(1),E=L.fromStepping(E).toFixed(1),V=L.fromStepping(V).toFixed(1),v.children[0].setAttribute("aria-valuemin",x),v.children[0].setAttribute("aria-valuemax",E),v.children[0].setAttribute("aria-valuenow",V),v.children[0].setAttribute("aria-valuetext",T)})})}function Ti(r){if(r.mode===t.PipsMode.Range||r.mode===t.PipsMode.Steps)return L.xVal;if(r.mode===t.PipsMode.Count){if(r.values<2)throw new Error("noUiSlider: 'values' (>= 2) required for mode 'count'.");for(var o=r.values-1,d=100/o,h=[];o--;)h[o]=o*d;return h.push(100),ts(h,r.stepped)}return r.mode===t.PipsMode.Positions?ts(r.values,r.stepped):r.mode===t.PipsMode.Values?r.stepped?r.values.map(function(f){return L.fromStepping(L.getStep(L.toStepping(f)))}):r.values:[]}function ts(r,o){return r.map(function(d){return L.fromStepping(o?L.getStep(d):d)})}function Oi(r){function o(V,T){return Number((V+T).toFixed(7))}var d=Ti(r),h={},f=L.xVal[0],g=L.xVal[L.xVal.length-1],v=!1,x=!1,E=0;return d=j(d.slice().sort(function(V,T){return V-T})),d[0]!==f&&(d.unshift(f),v=!0),d[d.length-1]!==g&&(d.push(g),x=!0),d.forEach(function(V,T){var B,O,N,U=V,W=d[T+1],R,Pt,zt,Dt,us,Bt,hs,cs=r.mode===t.PipsMode.Steps;for(cs&&(B=L.xNumSteps[T]),B||(B=W-U),W===void 0&&(W=U),B=Math.max(B,1e-7),O=U;O<=W;O=o(O,B)){for(R=L.toStepping(O),Pt=R-E,us=Pt/(r.density||1),Bt=Math.round(us),hs=Pt/Bt,N=1;N<=Bt;N+=1)zt=E+N*hs,h[zt.toFixed(5)]=[L.fromStepping(zt),0];Dt=d.indexOf(O)>-1?t.PipsType.LargeValue:cs?t.PipsType.SmallValue:t.PipsType.NoValue,!T&&v&&O!==W&&(Dt=0),O===W&&x||(h[R.toFixed(5)]=[O,Dt]),E=R}}),h}function Vi(r,o,d){var h,f,g=Oe.createElement("div"),v=(h={},h[t.PipsType.None]="",h[t.PipsType.NoValue]=a.cssClasses.valueNormal,h[t.PipsType.LargeValue]=a.cssClasses.valueLarge,h[t.PipsType.SmallValue]=a.cssClasses.valueSub,h),x=(f={},f[t.PipsType.None]="",f[t.PipsType.NoValue]=a.cssClasses.markerNormal,f[t.PipsType.LargeValue]=a.cssClasses.markerLarge,f[t.PipsType.SmallValue]=a.cssClasses.markerSub,f),E=[a.cssClasses.valueHorizontal,a.cssClasses.valueVertical],V=[a.cssClasses.markerHorizontal,a.cssClasses.markerVertical];k(g,a.cssClasses.pips),k(g,a.ort===0?a.cssClasses.pipsHorizontal:a.cssClasses.pipsVertical);function T(O,N){var U=N===a.cssClasses.value,W=U?E:V,R=U?v:x;return N+" "+W[a.ort]+" "+R[O]}function B(O,N,U){if(U=o?o(N,U):U,U!==t.PipsType.None){var W=_e(g,!1);W.className=T(U,a.cssClasses.marker),W.style[a.style]=O+"%",U>t.PipsType.NoValue&&(W=_e(g,!1),W.className=T(U,a.cssClasses.value),W.setAttribute("data-value",String(N)),W.style[a.style]=O+"%",W.innerHTML=String(d.to(N)))}}return Object.keys(r).forEach(function(O){B(O,r[O][0],r[O][1])}),g}function Lt(){le&&(u(le),le=null)}function Tt(r){Lt();var o=Oi(r),d=r.filter,h=r.format||{to:function(f){return String(Math.round(f))}};return le=y.appendChild(Vi(o,d,h)),le}function ss(){var r=I.getBoundingClientRect(),o="offset"+["Width","Height"][a.ort];return a.ort===0?r.width||I[o]:r.height||I[o]}function ye(r,o,d,h){var f=function(v){var x=Ei(v,h.pageOffset,h.target||o);if(!x||Zt()&&!h.doNotReject||Be(y,a.cssClasses.tap)&&!h.doNotReject||r===b.start&&x.buttons!==void 0&&x.buttons>1||h.hover&&x.buttons)return!1;C||x.preventDefault(),x.calcPoint=x.points[a.ort],d(x,h)},g=[];return r.split(" ").forEach(function(v){o.addEventListener(v,f,C?{passive:!0}:!1),g.push([v,f])}),g}function Ei(r,o,d){var h=r.type.indexOf("touch")===0,f=r.type.indexOf("mouse")===0,g=r.type.indexOf("pointer")===0,v=0,x=0;if(r.type.indexOf("MSPointer")===0&&(g=!0),r.type==="mousedown"&&!r.buttons&&!r.touches)return!1;if(h){var E=function(B){var O=B.target;return O===d||d.contains(O)||r.composed&&r.composedPath().shift()===d};if(r.type==="touchstart"){var V=Array.prototype.filter.call(r.touches,E);if(V.length>1)return!1;v=V[0].pageX,x=V[0].pageY}else{var T=Array.prototype.find.call(r.changedTouches,E);if(!T)return!1;v=T.pageX,x=T.pageY}}return o=o||Le(Oe),(f||g)&&(v=r.clientX+o.x,x=r.clientY+o.y),r.pageOffset=o,r.points=[v,x],r.cursor=f||g,r}function is(r){var o=r-je(I,a.ort),d=o*100/ss();return d=H(d),a.dir?100-d:d}function Ai(r){var o=100,d=!1;return S.forEach(function(h,f){if(!kt(f)){var g=P[f],v=Math.abs(g-r),x=v===100&&o===100,E=v<o,V=v<=o&&r>g;(E||V||x)&&(d=f,o=v)}}),d}function Ii(r,o){r.type==="mouseout"&&r.target.nodeName==="HTML"&&r.relatedTarget===null&&Ot(r,o)}function Pi(r,o){if(navigator.appVersion.indexOf("MSIE 9")===-1&&r.buttons===0&&o.buttonsProperty!==0)return Ot(r,o);var d=(a.dir?-1:1)*(r.calcPoint-o.startCalcPoint),h=d*100/o.baseSize;as(d>0,h,o.locations,o.handleNumbers,o.connect)}function Ot(r,o){o.handle&&(he(o.handle,a.cssClasses.active),Mt-=1),o.listeners.forEach(function(d){st.removeEventListener(d[0],d[1])}),Mt===0&&(he(y,a.cssClasses.drag),It(),r.cursor&&(it.style.cursor="",it.removeEventListener("selectstart",_))),o.handleNumbers.forEach(function(d){z("change",d),z("set",d),z("end",d)})}function Vt(r,o){if(!o.handleNumbers.some(kt)){var d;if(o.handleNumbers.length===1){var h=S[o.handleNumbers[0]];d=h.children[0],Mt+=1,k(d,a.cssClasses.active)}r.stopPropagation();var f=[],g=ye(b.move,st,Pi,{target:r.target,handle:d,connect:o.connect,listeners:f,startCalcPoint:r.calcPoint,baseSize:ss(),pageOffset:r.pageOffset,handleNumbers:o.handleNumbers,buttonsProperty:r.buttons,locations:P.slice()}),v=ye(b.end,st,Ot,{target:r.target,handle:d,listeners:f,doNotReject:!0,handleNumbers:o.handleNumbers}),x=ye("mouseout",st,Ii,{target:r.target,handle:d,listeners:f,doNotReject:!0,handleNumbers:o.handleNumbers});f.push.apply(f,g.concat(v,x)),r.cursor&&(it.style.cursor=getComputedStyle(r.target).cursor,S.length>1&&k(y,a.cssClasses.drag),it.addEventListener("selectstart",_,!1)),o.handleNumbers.forEach(function(E){z("start",E)})}}function zi(r){r.stopPropagation();var o=is(r.calcPoint),d=Ai(o);d!==!1&&(a.events.snap||A(y,a.cssClasses.tap,a.animationDuration),Ve(d,o,!0,!0),It(),z("slide",d,!0),z("update",d,!0),a.events.snap?Vt(r,{handleNumbers:[d]}):(z("change",d,!0),z("set",d,!0)))}function Di(r){var o=is(r.calcPoint),d=L.getStep(o),h=L.fromStepping(d);Object.keys(me).forEach(function(f){f.split(".")[0]==="hover"&&me[f].forEach(function(g){g.call(lt,h)})})}function Bi(r,o){if(Zt()||kt(o))return!1;var d=["Left","Right"],h=["Down","Up"],f=["PageDown","PageUp"],g=["Home","End"];a.dir&&!a.ort?d.reverse():a.ort&&!a.dir&&(h.reverse(),f.reverse());var v=r.key.replace("Arrow",""),x=v===f[0],E=v===f[1],V=v===h[0]||v===d[0]||x,T=v===h[1]||v===d[1]||E,B=v===g[0],O=v===g[1];if(!V&&!T&&!B&&!O)return!0;r.preventDefault();var N;if(T||V){var U=V?0:1,W=ds(o),R=W[U];if(R===null)return!1;R===!1&&(R=L.getDefaultStep(P[o],V,a.keyboardDefaultStep)),E||x?R*=a.keyboardPageMultiplier:R*=a.keyboardMultiplier,R=Math.max(R,1e-7),R=(V?-1:1)*R,N=ge[o]+R}else O?N=a.spectrum.xVal[a.spectrum.xVal.length-1]:N=a.spectrum.xVal[0];return Ve(o,L.toStepping(N),!0,!0),z("slide",o),z("update",o),z("change",o),z("set",o),!1}function Wi(r){r.fixed||S.forEach(function(o,d){ye(b.start,o.children[0],Vt,{handleNumbers:[d]})}),r.tap&&ye(b.start,I,zi,{}),r.hover&&ye(b.move,I,Di,{hover:!0}),r.drag&&ie.forEach(function(o,d){if(!(o===!1||d===0||d===ie.length-1)){var h=S[d-1],f=S[d],g=[o],v=[h,f],x=[d-1,d];k(o,a.cssClasses.draggable),r.fixed&&(g.push(h.children[0]),g.push(f.children[0])),r.dragAll&&(v=S,x=Z),g.forEach(function(E){ye(b.start,E,Vt,{handles:v,handleNumbers:x,connect:o})})}})}function Et(r,o){me[r]=me[r]||[],me[r].push(o),r.split(".")[0]==="update"&&S.forEach(function(d,h){z("update",h)})}function Ri(r){return r===se.aria||r===se.tooltips}function Ue(r){var o=r&&r.split(".")[0],d=o?r.substring(o.length):r;Object.keys(me).forEach(function(h){var f=h.split(".")[0],g=h.substring(f.length);(!o||o===f)&&(!d||d===g)&&(!Ri(g)||d===g)&&delete me[h]})}function z(r,o,d){Object.keys(me).forEach(function(h){var f=h.split(".")[0];r===f&&me[h].forEach(function(g){g.call(lt,ge.map(a.format.to),o,ge.slice(),d||!1,P.slice(),lt)})})}function at(r,o,d,h,f,g){var v;return S.length>1&&!a.events.unconstrained&&(h&&o>0&&(v=L.getAbsoluteDistance(r[o-1],a.margin,!1),d=Math.max(d,v)),f&&o<S.length-1&&(v=L.getAbsoluteDistance(r[o+1],a.margin,!0),d=Math.min(d,v))),S.length>1&&a.limit&&(h&&o>0&&(v=L.getAbsoluteDistance(r[o-1],a.limit,!1),d=Math.min(d,v)),f&&o<S.length-1&&(v=L.getAbsoluteDistance(r[o+1],a.limit,!0),d=Math.max(d,v))),a.padding&&(o===0&&(v=L.getAbsoluteDistance(0,a.padding[0],!1),d=Math.max(d,v)),o===S.length-1&&(v=L.getAbsoluteDistance(100,a.padding[1],!0),d=Math.min(d,v))),d=L.getStep(d),d=H(d),d===r[o]&&!g?!1:d}function At(r,o){var d=a.ort;return(d?o:r)+", "+(d?r:o)}function as(r,o,d,h,f){var g=d.slice(),v=h[0],x=[!r,r],E=[r,!r];h=h.slice(),r&&h.reverse(),h.length>1?h.forEach(function(T,B){var O=at(g,T,g[T]+o,x[B],E[B],!1);O===!1?o=0:(o=O-g[T],g[T]=O)}):x=E=[!0];var V=!1;h.forEach(function(T,B){V=Ve(T,d[T]+o,x[B],E[B])||V}),V&&(h.forEach(function(T){z("update",T),z("slide",T)}),f!=null&&z("drag",v))}function ns(r,o){return a.dir?100-r-o:r}function Ni(r,o){P[r]=o,ge[r]=L.fromStepping(o);var d=10*(ns(o,0)-Si),h="translate("+At(d+"%","0")+")";S[r].style[a.transformRule]=h,ls(r),ls(r+1)}function It(){Z.forEach(function(r){var o=P[r]>50?-1:1,d=3+(S.length+o*r);S[r].style.zIndex=String(d)})}function Ve(r,o,d,h,f){return f||(o=at(P,r,o,d,h,!1)),o===!1?!1:(Ni(r,o),!0)}function ls(r){if(ie[r]){var o=0,d=100;r!==0&&(o=P[r-1]),r!==ie.length-1&&(d=P[r]);var h=d-o,f="translate("+At(ns(o,h)+"%","0")+")",g="scale("+At(h/100,"1")+")";ie[r].style[a.transformRule]=f+" "+g}}function rs(r,o){return r===null||r===!1||r===void 0||(typeof r=="number"&&(r=String(r)),r=a.format.from(r),r!==!1&&(r=L.toStepping(r)),r===!1||isNaN(r))?P[o]:r}function nt(r,o,d){var h=G(r),f=P[0]===void 0;o=o===void 0?!0:o,a.animate&&!f&&A(y,a.cssClasses.tap,a.animationDuration),Z.forEach(function(x){Ve(x,rs(h[x],x),!0,!1,d)});var g=Z.length===1?0:1;if(f&&L.hasNoSize()&&(d=!0,P[0]=0,Z.length>1)){var v=100/(Z.length-1);Z.forEach(function(x){P[x]=x*v})}for(;g<Z.length;++g)Z.forEach(function(x){Ve(x,P[x],!0,!0,d)});It(),Z.forEach(function(x){z("update",x),h[x]!==null&&o&&z("set",x)})}function Ui(r){nt(a.start,r)}function Fi(r,o,d,h){if(r=Number(r),!(r>=0&&r<Z.length))throw new Error("noUiSlider: invalid handle number, got: "+r);Ve(r,rs(o,r),!0,!0,h),z("update",r),d&&z("set",r)}function os(r){if(r===void 0&&(r=!1),r)return ge.length===1?ge[0]:ge.slice(0);var o=ge.map(a.format.to);return o.length===1?o[0]:o}function Hi(){for(Ue(se.aria),Ue(se.tooltips),Object.keys(a.cssClasses).forEach(function(r){he(y,a.cssClasses[r])});y.firstChild;)y.removeChild(y.firstChild);delete y.noUiSlider}function ds(r){var o=P[r],d=L.getNearbySteps(o),h=ge[r],f=d.thisStep.step,g=null;if(a.snap)return[h-d.stepBefore.startValue||null,d.stepAfter.startValue-h||null];f!==!1&&h+f>d.stepAfter.startValue&&(f=d.stepAfter.startValue-h),h>d.thisStep.startValue?g=d.thisStep.step:d.stepBefore.step===!1?g=!1:g=h-d.stepBefore.highestStep,o===100?f=null:o===0&&(g=null);var v=L.countStepDecimals();return f!==null&&f!==!1&&(f=Number(f.toFixed(v))),g!==null&&g!==!1&&(g=Number(g.toFixed(v))),[g,f]}function $i(){return Z.map(ds)}function qi(r,o){var d=os(),h=["margin","limit","padding","range","animate","snap","step","format","pips","tooltips"];h.forEach(function(g){r[g]!==void 0&&(c[g]=r[g])});var f=Jt(c);h.forEach(function(g){r[g]!==void 0&&(a[g]=f[g])}),L=f.spectrum,a.margin=f.margin,a.limit=f.limit,a.padding=f.padding,a.pips?Tt(a.pips):Lt(),a.tooltips?es():jt(),P=[],nt(p(r.start)?r.start:d,o)}function Ki(){I=ki(y),Mi(a.connect,I),Wi(a.events),nt(a.start),a.pips&&Tt(a.pips),a.tooltips&&es(),Li()}Ki();var lt={destroy:Hi,steps:$i,on:Et,off:Ue,get:os,set:nt,setHandle:Fi,reset:Ui,__moveHandles:function(r,o,d){as(r,o,P,d)},options:c,updateOptions:qi,target:y,removePips:Lt,removeTooltips:jt,getPositions:function(){return P.slice()},getTooltips:function(){return D},getOrigins:function(){return S},pips:Tt};return lt}function Xt(l,a){if(!l||!l.nodeName)throw new Error("noUiSlider: create requires a single element, got: "+l);if(l.noUiSlider)throw new Error("noUiSlider: Slider was already initialized.");var c=Jt(a),b=wi(l,c,a);return l.noUiSlider=b,b}var yi={__spectrum:fe,cssClasses:ve,create:Xt};t.create=Xt,t.cssClasses=ve,t.default=yi,Object.defineProperty(t,"__esModule",{value:!0})}))})(Fe,Fe.exports)),Fe.exports}var Oa=Ta();const $t=Qi(Oa);class Us extends te{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"IntModel",value:0})}}class wt extends Us{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"BoundedIntModel",max:100,min:0})}}class Va extends K{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"SliderStyleModel"})}}Va.styleProperties=Object.assign(Object.assign({},K.styleProperties),{handle_color:{selector:".noUi-handle",attribute:"background-color",default:null}});class Ea extends wt{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"IntSliderModel",_view_name:"IntSliderView",step:1,orientation:"horizontal",readout:!0,readout_format:"d",continuous_update:!0,style:null,disabled:!1})}initialize(e,t){super.initialize(e,t),this.on("change:readout_format",this.update_readout_format,this),this.update_readout_format()}update_readout_format(){this.readout_formatter=ze(this.get("readout_format"))}}class Xn extends Ea{}class qt extends Y{constructor(){super(...arguments),this._parse_value=parseInt}render(){super.render(),this.el.classList.add("jupyter-widgets"),this.el.classList.add("widget-inline-hbox"),this.el.classList.add("widget-slider"),this.el.classList.add("widget-hslider"),this.$slider=document.createElement("div"),this.$slider.classList.add("slider"),this.slider_container=document.createElement("div"),this.slider_container.classList.add("slider-container"),this.slider_container.appendChild(this.$slider),this.el.appendChild(this.slider_container),this.readout=document.createElement("div"),this.el.appendChild(this.readout),this.readout.classList.add("widget-readout"),this.readout.contentEditable="true",this.readout.style.display="none",this.createSlider(),this.model.on("change:orientation",this.regenSlider,this),this.model.on("change:max",this.updateSliderOptions,this),this.model.on("change:min",this.updateSliderOptions,this),this.model.on("change:step",this.updateSliderOptions,this),this.model.on("change:value",this.updateSliderValue,this),this.update()}update(e){return(e===void 0||e.updated_view!==this)&&(this.model.get("disabled")?(this.readout.contentEditable="false",this.$slider.setAttribute("disabled",!0)):(this.readout.contentEditable="true",this.$slider.removeAttribute("disabled")),this.model.get("orientation")==="vertical"?(this.el.classList.remove("widget-hslider"),this.el.classList.add("widget-vslider"),this.el.classList.remove("widget-inline-hbox"),this.el.classList.add("widget-inline-vbox")):(this.el.classList.remove("widget-vslider"),this.el.classList.add("widget-hslider"),this.el.classList.remove("widget-inline-vbox"),this.el.classList.add("widget-inline-hbox")),this.model.get("readout")?(this.readout.style.display="",this.displayed.then(()=>{this.readout_overflow()?this.readout.classList.add("overflow"):this.readout.classList.remove("overflow")})):this.readout.style.display="none"),super.update()}readout_overflow(){return this.readout.scrollWidth>this.readout.clientWidth}events(){return{"blur [contentEditable=true]":"handleTextChange","keydown [contentEditable=true]":"handleKeyDown"}}handleKeyDown(e){e.keyCode===13&&(e.preventDefault(),this.handleTextChange())}createSlider(){const e=this.model.get("orientation"),t=this.model.get("behavior");$t.create(this.$slider,{start:this.model.get("value"),connect:!0,behaviour:t,range:{min:this.model.get("min"),max:this.model.get("max")},step:this.model.get("step"),animate:!1,orientation:e,direction:e==="horizontal"?"ltr":"rtl",format:{from:i=>Number(i),to:i=>this._validate_slide_value(i)}}),this.$slider.noUiSlider.on("update",(i,n)=>{this.handleSliderUpdateEvent(i,n)}),this.$slider.noUiSlider.on("change",(i,n)=>{this.handleSliderChangeEvent(i,n)})}regenSlider(e){this.$slider.noUiSlider.destroy(),this.createSlider()}_validate_slide_value(e){return Math.round(e)}}class Aa extends qt{constructor(){super(...arguments),this._range_regex=/^\s*([+-]?\d+)\s*[-:–]\s*([+-]?\d+)/}update(e){super.update(e);const t=this.model.get("value");this.readout.textContent=this.valueToString(t),this.model.get("value")!==t&&(this.model.set("value",t,{updated_view:this}),this.touch())}valueToString(e){const t=this.model.readout_formatter;return e.map(function(i){return t(i)}).join(" – ")}stringToValue(e){if(e===null)return null;const t=this._range_regex.exec(e);return t?[this._parse_value(t[1]),this._parse_value(t[2])]:null}handleTextChange(){let e=this.stringToValue(this.readout.textContent);const t=this.model.get("min"),i=this.model.get("max");e===null||isNaN(e[0])||isNaN(e[1])||e[0]>e[1]?this.readout.textContent=this.valueToString(this.model.get("value")):(e=[Math.max(Math.min(e[0],i),t),Math.max(Math.min(e[1],i),t)],e[0]!==this.model.get("value")[0]||e[1]!==this.model.get("value")[1]?(this.readout.textContent=this.valueToString(e),this.model.set("value",e),this.touch()):this.readout.textContent=this.valueToString(this.model.get("value")))}handleSliderChangeEvent(e,t){const i=e.map(this._validate_slide_value);this.readout.textContent=this.valueToString(i),this.handleSliderChanged(e,t)}handleSliderUpdateEvent(e,t){const i=e.map(this._validate_slide_value);this.readout.textContent=this.valueToString(i),this.model.get("continuous_update")&&this.handleSliderChanged(e,t)}handleSliderChanged(e,t){const i=e.map(this._validate_slide_value);this.model.set("value",i,{updated_view:this}),this.touch()}updateSliderOptions(e){this.$slider.noUiSlider.updateOptions({start:this.model.get("value"),range:{min:this.model.get("min"),max:this.model.get("max")},step:this.model.get("step")})}updateSliderValue(e,t,i){if(i.updated_view===this)return;const n=this.$slider.noUiSlider.get(),u=this.model.get("value");(n[0]!==u[0]||n[1]!==u[1])&&this.$slider.noUiSlider.set(u)}}class Ia extends qt{update(e){super.update(e);const t=this.model.get("min"),i=this.model.get("max");let n=this.model.get("value");n>i?n=i:n<t&&(n=t),this.readout.textContent=this.valueToString(n),this.model.get("value")!==n&&(this.model.set("value",n,{updated_view:this}),this.touch())}valueToString(e){const t=this.model.readout_formatter;return t(e)}stringToValue(e){return this._parse_value(e)}handleTextChange(){var e;let t=this.stringToValue((e=this.readout.textContent)!==null&&e!==void 0?e:"");const i=this.model.get("min"),n=this.model.get("max");isNaN(t)?this.readout.textContent=this.valueToString(this.model.get("value")):(t=Math.max(Math.min(t,n),i),t!==this.model.get("value")?(this.readout.textContent=this.valueToString(t),this.model.set("value",t),this.touch()):this.readout.textContent=this.valueToString(this.model.get("value")))}handleSliderChangeEvent(e,t){const i=e.map(this._validate_slide_value);this.readout.textContent=this.valueToString(i),this.handleSliderChanged(e,t)}handleSliderUpdateEvent(e,t){const i=e.map(this._validate_slide_value);this.readout.textContent=this.valueToString(i),this.model.get("continuous_update")&&this.handleSliderChanged(e,t)}handleSliderChanged(e,t){const i=this._validate_slide_value(e[t]),n=this.model.get("value");parseFloat(n)!==i&&(this.model.set("value",i,{updated_view:this}),this.touch())}updateSliderOptions(e){this.$slider.noUiSlider.updateOptions({start:this.model.get("value"),range:{min:this.model.get("min"),max:this.model.get("max")},step:this.model.get("step")})}updateSliderValue(e,t,i){if(i.updated_view===this)return;const n=this.$slider.noUiSlider.get(),u=this.model.get("value");n!==u&&this.$slider.noUiSlider.set(u)}}class Qn extends Us{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"IntTextModel",_view_name:"IntTextView",disabled:!1,continuous_update:!1})}}class Zn extends wt{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"BoundedIntTextModel",_view_name:"IntTextView",disabled:!1,continuous_update:!1,step:1})}}class Pa extends Y{constructor(){super(...arguments),this._parse_value=parseInt,this._default_step="1"}render(){super.render(),this.el.classList.add("jupyter-widgets"),this.el.classList.add("widget-inline-hbox"),this.el.classList.add("widget-text"),this.textbox=document.createElement("input"),this.textbox.type="number",this.textbox.required=!0,this.textbox.id=this.label.htmlFor=ae(),this.el.appendChild(this.textbox),this.update()}update(e){if(e===void 0||e.updated_view!==this){const t=this.model.get("value");this._parse_value(this.textbox.value)!==t&&(this.textbox.value=t.toString()),this.model.get("min")!==void 0&&(this.textbox.min=this.model.get("min")),this.model.get("max")!==void 0&&(this.textbox.max=this.model.get("max")),this.model.get("step")!==void 0&&this.model.get("step")!==null?this.textbox.step=this.model.get("step"):this.textbox.step=this._default_step,this.textbox.disabled=this.model.get("disabled")}return super.update()}events(){return{"keydown input":"handleKeyDown","keypress input":"handleKeypress","keyup input":"handleKeyUp","input input":"handleChanging","change input":"handleChanged"}}handleKeyDown(e){e.stopPropagation()}handleKeypress(e){/[e,. ]/.test(String.fromCharCode(e.keyCode))&&e.preventDefault()}handleKeyUp(e){if(e.altKey||e.ctrlKey)return;const t=e.target;let i=t.value;if(i=i.replace(/[e,.\s]/g,""),i.length>=1){const n=i.substr(1);i=i[0]+n.replace(/[+-]/g,"")}t.value!==i&&(e.preventDefault(),t.value=i)}handleChanging(e){const i=e.target.value.trim();i===""||["-","-.",".","+.","+"].indexOf(i)>=0||this.model.get("continuous_update")&&this.handleChanged(e)}handleChanged(e){const t=e.target;let i=this._parse_value(t.value);if(isNaN(i))t.value=this.model.get("value");else{let n=i;this.model.get("max")!==void 0&&(n=Math.min(this.model.get("max"),n)),this.model.get("min")!==void 0&&(n=Math.max(this.model.get("min"),n)),n!==i&&(t.value=n,i=n),i!==this.model.get("value")&&(this.model.set("value",i,{updated_view:this}),this.touch())}}}class za extends K{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"ProgressStyleModel"})}}za.styleProperties=Object.assign(Object.assign({},K.styleProperties),{bar_color:{selector:".progress-bar",attribute:"background-color",default:null}});class el extends wt{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"IntProgressModel",_view_name:"ProgressView",orientation:"horizontal",bar_style:"",style:null})}}class ft extends Y{initialize(e){super.initialize(e),this.listenTo(this.model,"change:bar_style",this.update_bar_style),this.luminoWidget.addClass("jupyter-widgets")}render(){super.render();const t=this.model.get("orientation")==="horizontal"?"widget-hprogress":"widget-vprogress";this.el.classList.add(t),this.progress=document.createElement("div"),this.progress.classList.add("progress"),this.progress.style.position="relative",this.el.appendChild(this.progress),this.bar=document.createElement("div"),this.bar.classList.add("progress-bar"),this.bar.style.position="absolute",this.bar.style.bottom="0px",this.bar.style.left="0px",this.progress.appendChild(this.bar),this.update(),this.set_bar_style()}update(){const e=this.model.get("value"),t=this.model.get("max"),i=this.model.get("min"),n=this.model.get("orientation"),u=100*(e-i)/(t-i);return n==="horizontal"?(this.el.classList.remove("widget-inline-vbox"),this.el.classList.remove("widget-vprogress"),this.el.classList.add("widget-inline-hbox"),this.el.classList.add("widget-hprogress"),this.bar.style.width=u+"%",this.bar.style.height="100%"):(this.el.classList.remove("widget-inline-hbox"),this.el.classList.remove("widget-hprogress"),this.el.classList.add("widget-inline-vbox"),this.el.classList.add("widget-vprogress"),this.bar.style.width="100%",this.bar.style.height=u+"%"),super.update()}update_bar_style(){this.update_mapped_classes(ft.class_map,"bar_style",this.bar)}set_bar_style(){this.set_mapped_classes(ft.class_map,"bar_style",this.bar)}}ft.class_map={success:["progress-bar-success"],info:["progress-bar-info"],warning:["progress-bar-warning"],danger:["progress-bar-danger"]};class tl extends wt{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"PlayModel",_view_name:"PlayView",repeat:!1,playing:!1,show_repeat:!0,interval:100,step:1,disabled:!1})}initialize(e,t){super.initialize(e,t)}loop(){if(!this.get("playing"))return;const e=this.get("value")+this.get("step");e<=this.get("max")?(this.set("value",e),this.schedule_next()):this.get("repeat")?(this.set("value",this.get("min")),this.schedule_next()):this.pause(),this.save_changes()}schedule_next(){this._timerId=window.setTimeout(this.loop.bind(this),this.get("interval"))}stop(){this.pause(),this.set("value",this.get("min")),this.save_changes()}pause(){window.clearTimeout(this._timerId),this._timerId=void 0,this.set("playing",!1),this.save_changes()}animate(){this._timerId===void 0&&(this.get("value")===this.get("max")?(this.set("value",this.get("min")),this.schedule_next(),this.save_changes()):this.loop(),this.save_changes())}play(){this.set("playing",!this.get("playing")),this.save_changes()}repeat(){this.set("repeat",!this.get("repeat")),this.save_changes()}}class sl extends q{render(){super.render(),this.el.classList.add("jupyter-widgets"),this.el.classList.add("widget-inline-hbox"),this.el.classList.add("widget-play"),this.playPauseButton=document.createElement("button"),this.stopButton=document.createElement("button"),this.repeatButton=document.createElement("button"),this.playPauseButton.className="jupyter-button",this.stopButton.className="jupyter-button",this.repeatButton.className="jupyter-button",this.el.appendChild(this.playPauseButton),this.el.appendChild(this.stopButton),this.el.appendChild(this.repeatButton);const e=document.createElement("i");e.className="fa fa-play",this.playPauseButton.appendChild(e);const t=document.createElement("i");t.className="fa fa-stop",this.stopButton.appendChild(t);const i=document.createElement("i");i.className="fa fa-retweet",this.repeatButton.appendChild(i),this.playPauseButton.onclick=this.model.play.bind(this.model),this.stopButton.onclick=this.model.stop.bind(this.model),this.repeatButton.onclick=this.model.repeat.bind(this.model),this.listenTo(this.model,"change:playing",this.onPlayingChanged),this.listenTo(this.model,"change:repeat",this.updateRepeat),this.listenTo(this.model,"change:show_repeat",this.updateRepeat),this.updatePlaying(),this.updateRepeat(),this.update()}update(){const e=this.model.get("disabled");this.playPauseButton.disabled=e,this.stopButton.disabled=e,this.repeatButton.disabled=e,this.updatePlaying()}onPlayingChanged(){this.updatePlaying();const e=this.model.previous("playing"),t=this.model.get("playing");!e&&t?this.model.animate():this.model.pause()}updatePlaying(){const e=this.model.get("playing"),t=this.playPauseButton.getElementsByTagName("i")[0];e?t.className="fa fa-pause":t.className="fa fa-play"}updateRepeat(){const e=this.model.get("repeat");this.repeatButton.style.display=this.model.get("show_repeat")?this.playPauseButton.style.display:"none",e?this.repeatButton.classList.add("mod-active"):this.repeatButton.classList.remove("mod-active")}}class Fs extends te{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"FloatModel",value:0})}}class yt extends Fs{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"BoundedFloatModel",max:100,min:0})}}class Da extends yt{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"FloatSliderModel",_view_name:"FloatSliderView",step:1,orientation:"horizontal",_range:!1,readout:!0,readout_format:".2f",slider_color:null,continuous_update:!0,disabled:!1})}initialize(e,t){super.initialize(e,t),this.on("change:readout_format",this.update_readout_format,this),this.update_readout_format()}update_readout_format(){this.readout_formatter=ze(this.get("readout_format"))}}class il extends yt{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"FloatLogSliderModel",_view_name:"FloatLogSliderView",step:.1,orientation:"horizontal",_range:!1,readout:!0,readout_format:".3g",slider_color:null,continuous_update:!0,disabled:!1,base:10,value:1,min:0,max:4})}initialize(e,t){super.initialize(e,t),this.on("change:readout_format",this.update_readout_format,this),this.update_readout_format()}update_readout_format(){this.readout_formatter=ze(this.get("readout_format"))}}class al extends Da{}class nl extends Ia{constructor(){super(...arguments),this._parse_value=parseFloat}_validate_slide_value(e){return e}}class ll extends qt{constructor(){super(...arguments),this._parse_value=parseFloat}update(e){super.update(e);const t=this.model.get("value");this.readout.textContent=this.valueToString(t)}logCalc(e){const t=this.model.get("min"),i=this.model.get("max"),n=this.model.get("base");let u=Math.log(e)/Math.log(n);return u>i?u=i:u<t&&(u=t),u}createSlider(){var e;const t=this.model.get("orientation"),i=this.model.get("behavior");$t.create(this.$slider,{start:this.logCalc(this.model.get("value")),behaviour:i,range:{min:this.model.get("min"),max:this.model.get("max")},step:(e=this.model.get("step"))!==null&&e!==void 0?e:void 0,animate:!1,orientation:t,direction:t==="horizontal"?"ltr":"rtl",format:{from:n=>Number(n),to:n=>n}}),this.$slider.noUiSlider.on("update",(n,u)=>{this.handleSliderUpdateEvent(n,u)}),this.$slider.noUiSlider.on("change",(n,u)=>{this.handleSliderChangeEvent(n,u)})}valueToString(e){const t=this.model.readout_formatter;return t(e)}stringToValue(e){return e===null?NaN:this._parse_value(e)}handleTextChange(){let e=this.stringToValue(this.readout.textContent);const t=this.model.get("min"),i=this.model.get("max"),n=this.model.get("base");isNaN(e)?this.readout.textContent=this.valueToString(this.model.get("value")):(e=Math.max(Math.min(e,Math.pow(n,i)),Math.pow(n,t)),e!==this.model.get("value")?(this.readout.textContent=this.valueToString(e),this.model.set("value",e),this.touch()):this.readout.textContent=this.valueToString(this.model.get("value")))}handleSliderUpdateEvent(e,t){const i=this.model.get("base"),n=Math.pow(i,this._validate_slide_value(e[0]));this.readout.textContent=this.valueToString(n),this.model.get("continuous_update")&&this.handleSliderChanged(e,t)}handleSliderChangeEvent(e,t){const i=this.model.get("base"),n=Math.pow(i,this._validate_slide_value(e[0]));this.readout.textContent=this.valueToString(n),this.handleSliderChanged(e,t)}handleSliderChanged(e,t){if(this._updating_slider)return;const i=this.model.get("base"),n=Math.pow(i,this._validate_slide_value(e[0]));this.model.set("value",n,{updated_view:this}),this.touch()}updateSliderValue(e,t,i){if(i.updated_view===this)return;const n=this.logCalc(this.model.get("value"));this.$slider.noUiSlider.set(n)}updateSliderOptions(e){this.$slider.noUiSlider.updateOptions({start:this.logCalc(this.model.get("value")),range:{min:this.model.get("min"),max:this.model.get("max")},step:this.model.get("step")})}_validate_slide_value(e){return e}}class rl extends Aa{constructor(){super(...arguments),this._parse_value=parseFloat,this._range_regex=/^\s*([+-]?(?:\d*\.?\d+|\d+\.)(?:[eE][-:]?\d+)?)\s*[-:–]\s*([+-]?(?:\d*\.?\d+|\d+\.)(?:[eE][+-]?\d+)?)/}_validate_slide_value(e){return e}}class ol extends Fs{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"FloatTextModel",_view_name:"FloatTextView",disabled:!1,continuous_update:!1})}}class dl extends yt{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"BoundedFloatTextModel",_view_name:"FloatTextView",disabled:!1,continuous_update:!1,step:.1})}}class ul extends Pa{constructor(){super(...arguments),this._parse_value=parseFloat,this._default_step="any"}handleKeypress(e){e.stopPropagation()}handleKeyUp(e){}}class hl extends yt{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"FloatProgressModel",_view_name:"ProgressView",orientation:"horizontal",bar_style:"",style:null})}}class cl extends F{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"ControllerButtonModel",_view_name:"ControllerButtonView",value:0,pressed:!1})}}class pl extends q{render(){this.el.classList.add("jupyter-widgets"),this.el.classList.add("widget-controller-button"),this.el.style.width="fit-content",this.support=document.createElement("div"),this.support.style.position="relative",this.support.style.margin="1px",this.support.style.width="16px",this.support.style.height="16px",this.support.style.border="1px solid black",this.support.style.background="lightgray",this.el.appendChild(this.support),this.bar=document.createElement("div"),this.bar.style.position="absolute",this.bar.style.width="100%",this.bar.style.bottom="0px",this.bar.style.background="gray",this.support.appendChild(this.bar),this.update(),this.label=document.createElement("div"),this.label.textContent=this.model.get("description"),this.label.style.textAlign="center",this.el.appendChild(this.label)}update(){this.bar.style.height=100*this.model.get("value")+"%"}}class fl extends F{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"ControllerAxisModel",_view_name:"ControllerAxisView",value:0})}}class gl extends q{render(){this.el.classList.add("jupyter-widgets"),this.el.classList.add("widget-controller-axis"),this.el.style.width="16px",this.el.style.padding="4px",this.support=document.createElement("div"),this.support.style.position="relative",this.support.style.margin="1px",this.support.style.width="4px",this.support.style.height="64px",this.support.style.border="1px solid black",this.support.style.background="lightgray",this.bullet=document.createElement("div"),this.bullet.style.position="absolute",this.bullet.style.margin="-3px",this.bullet.style.boxSizing="unset",this.bullet.style.width="10px",this.bullet.style.height="10px",this.bullet.style.background="gray",this.label=document.createElement("div"),this.label.textContent=this.model.get("description"),this.label.style.textAlign="center",this.support.appendChild(this.bullet),this.el.appendChild(this.support),this.el.appendChild(this.label),this.update()}update(){this.bullet.style.top=50*(this.model.get("value")+1)+"%"}}class Ba extends F{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"ControllerModel",_view_name:"ControllerView",index:0,name:"",mapping:"",connected:!1,timestamp:0,buttons:[],axes:[]})}initialize(e,t){super.initialize(e,t),navigator.getGamepads===void 0?(this.readout="This browser does not support gamepads.",console.error(this.readout)):(this.readout="Connect gamepad and press any button.",this.get("connected")?this.update_loop():this.wait_loop())}wait_loop(){const e=this.get("index"),t=navigator.getGamepads()[e];t?this.setup(t).then(i=>{this.set(i),this.save_changes(),window.requestAnimationFrame(this.update_loop.bind(this))}):window.requestAnimationFrame(this.wait_loop.bind(this))}setup(e){return this.set({name:e.id,mapping:e.mapping,connected:e.connected,timestamp:e.timestamp}),Gi({buttons:Promise.all(e.buttons.map((t,i)=>this._create_button_model(i))),axes:Promise.all(e.axes.map((t,i)=>this._create_axis_model(i)))})}update_loop(){const e=this.get("index"),t=this.get("name"),i=navigator.getGamepads()[e];i&&e===i.index&&t===i.id?(this.set({timestamp:i.timestamp,connected:i.connected}),this.save_changes(),this.get("buttons").forEach(function(n,u){n.set({value:i.buttons[u].value,pressed:i.buttons[u].pressed}),n.save_changes()}),this.get("axes").forEach(function(n,u){n.set("value",i.axes[u]),n.save_changes()}),window.requestAnimationFrame(this.update_loop.bind(this))):this.reset_gamepad()}reset_gamepad(){this.get("buttons").forEach(function(e){e.close()}),this.get("axes").forEach(function(e){e.close()}),this.set({name:"",mapping:"",connected:!1,timestamp:0,buttons:[],axes:[]}),this.save_changes(),window.requestAnimationFrame(this.wait_loop.bind(this))}_create_button_model(e){return this.widget_manager.new_widget({model_name:"ControllerButtonModel",model_module:"@jupyter-widgets/controls",model_module_version:this.get("_model_module_version"),view_name:"ControllerButtonView",view_module:"@jupyter-widgets/controls",view_module_version:this.get("_view_module_version")}).then(function(t){return t.set("description",e),t})}_create_axis_model(e){return this.widget_manager.new_widget({model_name:"ControllerAxisModel",model_module:"@jupyter-widgets/controls",model_module_version:this.get("_model_module_version"),view_name:"ControllerAxisView",view_module:"@jupyter-widgets/controls",view_module_version:this.get("_view_module_version")}).then(function(t){return t.set("description",e),t})}}Ba.serializers=Object.assign(Object.assign({},F.serializers),{buttons:{deserialize:He},axes:{deserialize:He}});class ml extends q{_createElement(e){return this.luminoWidget=new As({view:this}),this.luminoWidget.node}_setElement(e){if(this.el||e!==this.luminoWidget.node)throw new Error("Cannot reset the DOM element.");this.el=this.luminoWidget.node,this.$el=bt(this.luminoWidget.node)}initialize(e){super.initialize(e),this.button_views=new Ke(this.add_button,null,this),this.listenTo(this.model,"change:buttons",(t,i)=>{this.button_views.update(i)}),this.axis_views=new Ke(this.add_axis,null,this),this.listenTo(this.model,"change:axes",(t,i)=>{this.axis_views.update(i)}),this.listenTo(this.model,"change:name",this.update_label)}render(){this.el.classList.add("jupyter-widgets"),this.el.classList.add("widget-controller"),this.label=document.createElement("div"),this.el.appendChild(this.label),this.axis_box=new qe,this.axis_box.node.style.display="flex",this.luminoWidget.addWidget(this.axis_box),this.button_box=new qe,this.button_box.node.style.display="flex",this.luminoWidget.addWidget(this.button_box),this.button_views.update(this.model.get("buttons")),this.axis_views.update(this.model.get("axes")),this.update_label()}update_label(){this.label.textContent=this.model.get("name")||this.model.readout}add_button(e){const t=new de;return this.button_box.addWidget(t),this.create_child_view(e).then(i=>{const n=Me.firstIndexOf(this.button_box.widgets,t);return this.button_box.insertWidget(n,i.luminoWidget),t.dispose(),i}).catch($e("Could not add child button view to controller",!0))}add_axis(e){const t=new de;return this.axis_box.addWidget(t),this.create_child_view(e).then(i=>{const n=Me.firstIndexOf(this.axis_box.widgets,t);return this.axis_box.insertWidget(n,i.luminoWidget),t.dispose(),i}).catch($e("Could not add child axis view to controller",!0))}remove(){super.remove(),this.button_views.remove(),this.axis_views.remove()}}class De extends te{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"SelectionModel",index:"",_options_labels:[],disabled:!1})}}class Hs extends Y{render(){super.render(),this.el.classList.add("jupyter-widgets"),this.el.classList.add("widget-inline-hbox")}update(){super.update(),this.listbox&&(this.listbox.disabled=this.model.get("disabled")),this.updateTabindex(),this.updateTooltip()}updateTabindex(){if(!this.listbox)return;const e=this.model.get("tabbable");e===!0?this.listbox.setAttribute("tabIndex","0"):e===!1?this.listbox.setAttribute("tabIndex","-1"):e===null&&this.listbox.removeAttribute("tabIndex")}updateTooltip(){if(!this.listbox)return;const e=this.model.get("tooltip");e?this.model.get("description").length===0&&this.listbox.setAttribute("title",e):this.listbox.removeAttribute("title")}}class _l extends De{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"DropdownModel",_view_name:"DropdownView",button_style:""})}}class bl extends Hs{render(){super.render(),this.el.classList.add("widget-dropdown"),this.listbox=document.createElement("select"),this.listbox.id=this.label.htmlFor=ae(),this.el.appendChild(this.listbox),this._updateOptions(),this.update()}update(e){(e==null?void 0:e.updated_view)!==this&&this.model.hasChanged("_options_labels")&&this._updateOptions();const t=this.model.get("index");return this.listbox.selectedIndex=t===null?-1:t,super.update()}_updateOptions(){this.listbox.textContent="";const e=this.model.get("_options_labels");for(let t=0;t<e.length;t++){const i=e[t],n=document.createElement("option");n.textContent=i.replace(/ /g," "),n.setAttribute("data-value",encodeURIComponent(i)),n.value=i,this.listbox.appendChild(n)}}events(){return{"change select":"_handle_change"}}_handle_change(){this.model.set("index",this.listbox.selectedIndex===-1?null:this.listbox.selectedIndex,{updated_view:this}),this.touch()}handle_message(e){e.do==="focus"?this.listbox.focus():e.do==="blur"&&this.listbox.blur()}}class vl extends De{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"SelectModel",_view_name:"SelectView",rows:5})}}class Wa extends Hs{initialize(e){super.initialize(e),this.listbox=document.createElement("select")}render(){super.render(),this.el.classList.add("widget-select"),this.listbox.id=this.label.htmlFor=ae(),this.el.appendChild(this.listbox),this._updateOptions(),this.update(),this.updateSelection()}update(e){if((e==null?void 0:e.updated_view)!==this){const i=this.model.hasChanged("_options_labels"),n=this.model.hasChanged("index");if(i||n){const u=this.model.get("index");i&&this._updateOptions(),this.updateSelection(u)}}super.update();let t=this.model.get("rows");t===null&&(t=""),this.listbox.setAttribute("size",t)}updateSelection(e){e=e||this.model.get("index"),this.listbox.selectedIndex=e===null?-1:e}_updateOptions(){this.listbox.textContent="";const e=this.model.get("_options_labels");for(let t=0;t<e.length;t++){const i=e[t],n=document.createElement("option");n.textContent=i.replace(/ /g," "),n.setAttribute("data-value",encodeURIComponent(i)),n.value=i,this.listbox.appendChild(n)}}events(){return{"change select":"_handle_change"}}_handle_change(){this.model.set("index",this.listbox.selectedIndex,{updated_view:this}),this.touch()}handle_message(e){e.do=="focus"?this.listbox.focus():e.do=="blur"&&this.listbox.blur()}}class xl extends De{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"RadioButtonsModel",_view_name:"RadioButtonsView",tooltips:[],icons:[],button_style:"",orientation:"vertical"})}}class wl extends Y{render(){super.render(),this.el.classList.add("widget-radio"),this.container=document.createElement("div"),this.el.appendChild(this.container),this.container.classList.add("widget-radio-box"),this.update()}update(e){this.model.get("orientation")==="vertical"?(this.container.classList.remove("widget-radio-box-horizontal"),this.container.classList.add("widget-radio-box-vertical")):(this.container.classList.remove("widget-radio-box-vertical"),this.container.classList.add("widget-radio-box-horizontal"));const t=this.model.get("_options_labels"),i=Array.from(this.container.querySelectorAll('input[type="radio"]')).map(u=>u.value);let n=t.length!==i.length;if(!n){for(let u=0,p=t.length;u<p;++u)if(i[u]!==t[u]){n=!0;break}}return n&&(e===void 0||e.updated_view!==this)&&(this.container.textContent="",t.forEach((u,p)=>{const _=document.createElement("label");_.textContent=u,this.container.appendChild(_);const j=document.createElement("input");j.setAttribute("type","radio"),j.value=p.toString(),j.setAttribute("data-value",encodeURIComponent(u)),_.appendChild(j)})),t.forEach((u,p)=>{const _='input[data-value="'+encodeURIComponent(u)+'"]',j=this.container.querySelectorAll(_);if(j.length>0){const ue=j[0];ue.checked=this.model.get("index")===p,ue.disabled=this.model.get("disabled")}}),setTimeout(this.adjustPadding,0,this),super.update(e)}adjustPadding(e){const t=window.getComputedStyle(e.el),i=parseInt(t.marginTop,10)+parseInt(t.marginBottom,10),n=e.label.offsetHeight+i,u=window.getComputedStyle(e.container),p=parseInt(u.marginBottom,10),_=(e.el.offsetHeight+i-p)%n,j=_===0?0:n-_;e.container.style.marginBottom=j+"px"}events(){return{'click input[type="radio"]':"_handle_click"}}_handle_click(e){const t=e.target;this.model.set("index",parseInt(t.value,10),{updated_view:this}),this.touch()}handle_message(e){if(e.do=="focus")this.container.firstElementChild.focus();else if(e.do=="blur")for(let t=0;t<this.container.children.length;t++)this.container.children[t].blur()}}class Ra extends K{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"ToggleButtonsStyleModel"})}}Ra.styleProperties=Object.assign(Object.assign({},K.styleProperties),{button_width:{selector:".widget-toggle-button",attribute:"width",default:null},font_weight:{selector:".widget-toggle-button",attribute:"font-weight",default:""}});class yl extends De{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"ToggleButtonsModel",_view_name:"ToggleButtonsView"})}}class Ee extends Y{initialize(e){this._css_state={},super.initialize(e),this.listenTo(this.model,"change:button_style",this.update_button_style)}render(){super.render(),this.el.classList.add("widget-toggle-buttons"),this.buttongroup=document.createElement("div"),this.el.appendChild(this.buttongroup),this.update(),this.set_button_style()}update(e){const t=this.model.get("_options_labels"),i=this.model.get("icons")||[],n=this.model.previous("icons")||[],u=Ee.classMap[this.model.previous("button_style")]||"",p=this.model.get("tooltips")||[],_=this.model.get("disabled"),j=this.buttongroup.querySelectorAll("button"),ue=Array.from(j).map(w=>w.value);let je=!1;for(let w=0,A=t.length;w<A;++w)if(ue[w]!==t[w]||i[w]!==n[w]){je=!0;break}return je&&(e===void 0||e.updated_view!==this)&&(this.buttongroup.textContent="",t.forEach((w,A)=>{let H;w.trim().length===0&&(!i[A]||i[A].trim().length===0)?H=" ":H=ea(w);const J=document.createElement("i"),k=document.createElement("button");i[A]&&(J.className="fa fa-"+i[A]),k.setAttribute("type","button"),k.className="widget-toggle-button jupyter-button",u&&k.classList.add(u),k.innerHTML=H,k.setAttribute("data-value",encodeURIComponent(w)),k.setAttribute("value",A.toString()),k.appendChild(J),k.disabled=_,p[A]&&k.setAttribute("title",p[A]),this.update_style_traits(k),this.buttongroup.appendChild(k)})),t.forEach((w,A)=>{const H='[data-value="'+encodeURIComponent(w)+'"]',G=this.buttongroup.querySelector(H);this.model.get("index")===A?G.classList.add("mod-active"):G.classList.remove("mod-active")}),this.stylePromise.then(function(w){w&&w.style()}),super.update(e)}update_style_traits(e){for(const t in this._css_state)if(Object.prototype.hasOwnProperty.call(this._css_state,"name")){if(t==="margin")this.buttongroup.style[t]=this._css_state[t];else if(t!=="width")if(e)e.style[t]=this._css_state[t];else{const i=this.buttongroup.querySelectorAll("button");i.length&&(i[0].style[t]=this._css_state[t])}}}update_button_style(){const e=this.buttongroup.querySelectorAll("button");for(let t=0;t<e.length;t++)this.update_mapped_classes(Ee.classMap,"button_style",e[t])}set_button_style(){const e=this.buttongroup.querySelectorAll("button");for(let t=0;t<e.length;t++)this.set_mapped_classes(Ee.classMap,"button_style",e[t])}events(){return{"click button":"_handle_click"}}_handle_click(e){const t=e.target;this.model.set("index",parseInt(t.value,10),{updated_view:this}),this.touch(),this.send({event:"click"})}}(function(s){s.classMap={primary:["mod-primary"],success:["mod-success"],info:["mod-info"],warning:["mod-warning"],danger:["mod-danger"]}})(Ee||(Ee={}));class Sl extends De{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"SelectionSliderModel",_view_name:"SelectionSliderView",orientation:"horizontal",readout:!0,continuous_update:!0})}}class Na extends Y{render(){super.render(),this.el.classList.add("widget-hslider"),this.el.classList.add("widget-slider"),this.$slider=document.createElement("div"),this.$slider.classList.add("slider"),this.slider_container=document.createElement("div"),this.slider_container.classList.add("slider-container"),this.slider_container.appendChild(this.$slider),this.el.appendChild(this.slider_container),this.readout=document.createElement("div"),this.el.appendChild(this.readout),this.readout.classList.add("widget-readout"),this.readout.style.display="none",this.createSlider(),this.model.on("change:orientation",this.regenSlider,this),this.model.on("change:index",this.updateSliderValue,this),this.update()}update(e){if((e==null?void 0:e.updated_view)!==this){this.updateSliderOptions(this.model);const t=this.model.get("orientation");this.model.get("disabled")?(this.readout.contentEditable="false",this.$slider.setAttribute("disabled",!0)):(this.readout.contentEditable="true",this.$slider.removeAttribute("disabled")),t==="vertical"?(this.el.classList.remove("widget-hslider"),this.el.classList.remove("widget-inline-hbox"),this.el.classList.add("widget-vslider"),this.el.classList.add("widget-inline-vbox")):(this.el.classList.remove("widget-vslider"),this.el.classList.remove("widget-inline-vbox"),this.el.classList.add("widget-hslider"),this.el.classList.add("widget-inline-hbox")),this.model.get("readout")?this.readout.style.display="":this.readout.style.display="none",this.updateSelection()}return super.update(e)}regenSlider(e){this.$slider.noUiSlider.destroy(),this.createSlider()}createSlider(){const e=this.model.get("_options_labels"),t=0,i=e.length-1,n=this.model.get("orientation"),u=this.model.get("behavior");$t.create(this.$slider,{start:this.model.get("index"),connect:!0,behaviour:u,range:{min:t,max:i},step:1,animate:!1,orientation:n,direction:n==="horizontal"?"ltr":"rtl",format:{from:p=>Number(p),to:p=>Math.round(p)}}),this.$slider.noUiSlider.on("update",(p,_)=>{this.handleSliderUpdateEvent(p,_)}),this.$slider.noUiSlider.on("change",(p,_)=>{this.handleSliderChangeEvent(p,_)})}events(){return{slide:"handleSliderChange",slidestop:"handleSliderChanged"}}updateSelection(){const e=this.model.get("index");this.updateReadout(e)}updateReadout(e){const t=this.model.get("_options_labels")[e];this.readout.textContent=t}handleSliderUpdateEvent(e,t){const i=e[0];this.updateReadout(i),this.model.get("continuous_update")&&this.handleSliderChanged(e,t)}handleSliderChangeEvent(e,t){const i=e[0];this.updateReadout(i),this.handleSliderChanged(e,t)}handleSliderChanged(e,t){const i=e[0];this.updateReadout(i),this.model.set("index",i,{updated_view:this}),this.touch()}updateSliderOptions(e){const t=this.model.get("_options_labels"),i=0,n=t.length-1;this.$slider.noUiSlider.updateOptions({start:this.model.get("index"),range:{min:i,max:n},step:1})}updateSliderValue(e,t,i){if(i.updated_view===this)return;const n=this.$slider.noUiSlider.get(),u=this.model.get("index");n!==u&&this.$slider.noUiSlider.set(u)}}class $s extends De{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"MultipleSelectionModel"})}}class Cl extends $s{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"SelectMultipleModel",_view_name:"SelectMultipleView",rows:null})}}class Ml extends Wa{initialize(e){super.initialize(e),this.listbox.multiple=!0}render(){super.render(),this.el.classList.add("widget-select-multiple")}updateSelection(){const e=this.model.get("index")||[],t=this.listbox.options;this.listbox.selectedIndex=-1,e.forEach(i=>{t[i].selected=!0})}_handle_change(){const e=Array.prototype.map.call(this.listbox.selectedOptions||[],function(t){return t.index});this.model.set("index",e,{updated_view:this}),this.touch()}}class kl extends $s{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"SelectionSliderModel",_view_name:"SelectionSliderView",orientation:"horizontal",readout:!0,continuous_update:!0})}}class jl extends Na{render(){super.render()}updateSelection(e){e=e||this.model.get("index"),this.updateReadout(e)}updateReadout(e){const t=this.model.get("_options_labels"),i=t[e[0]],n=t[e[1]];this.readout.textContent=`${i}-${n}`}handleSliderUpdateEvent(e,t){const i=e.map(Math.trunc);this.updateReadout(i),this.model.get("continuous_update")&&this.handleSliderChanged(e,t)}handleSliderChanged(e,t){const i=e.map(Math.round);this.updateReadout(i),this.model.set("index",i.slice(),{updated_view:this}),this.touch()}updateSliderValue(e,t,i){if(i.updated_view===this)return;const n=this.$slider.noUiSlider.get().map(Math.round),u=this.model.get("index").map(Math.round);(n[0]!==u[0]||n[1]!==u[1])&&this.$slider.noUiSlider.set(u)}}class Ua extends qe{constructor(){super(...arguments),this._widgetRemoved=new xt(this)}get widgetRemoved(){return this._widgetRemoved}onChildRemoved(e){this._widgetRemoved.emit(e.child)}}class Fa extends de{constructor(e={}){super(),this._currentChanged=new xt(this),this.addClass("jupyter-widget-TabPanel"),this.tabBar=new Ji(e),this.tabBar.addClass("jupyter-widget-TabPanel-tabBar"),this.tabContents=new Ua,this.tabContents.addClass("jupyter-widget-TabPanel-tabContents"),this.tabBar.tabMoved.connect(this._onTabMoved,this),this.tabBar.currentChanged.connect(this._onCurrentChanged,this),this.tabBar.tabCloseRequested.connect(this._onTabCloseRequested,this),this.tabBar.tabActivateRequested.connect(this._onTabActivateRequested,this),this.tabContents.widgetRemoved.connect(this._onWidgetRemoved,this);const t=new Is;t.addWidget(this.tabBar),t.addWidget(this.tabContents),this.layout=t}get currentChanged(){return this._currentChanged}get currentIndex(){const e=this.tabBar.currentIndex;return e===-1?null:e}set currentIndex(e){this.tabBar.currentIndex=e===null?-1:e}get currentWidget(){const e=this.tabBar.currentTitle;return e?e.owner:null}set currentWidget(e){this.tabBar.currentTitle=e?e.title:null}get tabsMovable(){return this.tabBar.tabsMovable}set tabsMovable(e){this.tabBar.tabsMovable=e}get widgets(){return this.tabContents.widgets}addWidget(e){this.insertWidget(this.widgets.length,e)}insertWidget(e,t){t!==this.currentWidget&&t.hide(),this.tabContents.insertWidget(e,t),this.tabBar.insertTab(e,t.title)}_onCurrentChanged(e,t){const{previousIndex:i,previousTitle:n,currentIndex:u,currentTitle:p}=t,_=n?n.owner:null,j=p?p.owner:null;_&&_.hide(),j&&j.show(),this._currentChanged.emit({previousIndex:i,previousWidget:_,currentIndex:u,currentWidget:j}),(ps.IS_EDGE||ps.IS_IE)&&vt.flush()}_onTabActivateRequested(e,t){t.title.owner.activate()}_onTabCloseRequested(e,t){t.title.owner.close()}_onTabMoved(e,t){this.tabContents.insertWidget(t.toIndex,t.title.owner)}_onWidgetRemoved(e,t){this.tabBar.removeTab(t.title)}}let Ha=class{constructor(e,t={}){this._array=null,this._value=null,this._previousValue=null,this._selectionChanged=new xt(this),this._array=e,this._insertBehavior=t.insertBehavior||"select-item-if-needed",this._removeBehavior=t.removeBehavior||"select-item-after"}get selectionChanged(){return this._selectionChanged}adjustSelectionForSet(e){const t=this.index,i=this.value;if(e!==t)return;this._updateSelectedValue();const n=this.value;this._previousValue=null,i!==n&&this._selectionChanged.emit({previousIndex:t,previousValue:i,currentIndex:t,currentValue:n})}get value(){return this._value}set value(e){e===null||this._array===null?this.index=null:this.index=Me.firstIndexOf(this._array,e)}get index(){return this._index}set index(e){let t;if(e!==null&&this._array!==null?(t=Math.floor(e),(t<0||t>=this._array.length)&&(t=null)):t=null,this._index===t)return;const i=this._index,n=this._value;this._index=t,this._updateSelectedValue(),this._previousValue=n,this._selectionChanged.emit({previousIndex:i,previousValue:n,currentIndex:t,currentValue:this._value})}get insertBehavior(){return this._insertBehavior}set insertBehavior(e){this._insertBehavior=e}get removeBehavior(){return this._removeBehavior}set removeBehavior(e){this._removeBehavior=e}adjustSelectionForInsert(e,t){const i=this._value,n=this._index,u=this._insertBehavior;if(u==="select-item"||u==="select-item-if-needed"&&n===null){this._index=e,this._value=t,this._previousValue=i,this._selectionChanged.emit({previousIndex:n,previousValue:i,currentIndex:e,currentValue:t});return}n!==null&&n>=e&&this._index++}clearSelection(){const e=this._index,t=this._value;this._index=null,this._value=null,this._previousValue=null,e!==null&&this._selectionChanged.emit({previousIndex:e,previousValue:t,currentIndex:this._index,currentValue:this._value})}adjustSelectionForRemove(e,t){if(this._index===null)return;const i=this._index,n=this._removeBehavior;if(i!==e){i>e&&this._index--;return}if(!this._array||this._array.length===0){this._index=null,this._value=null,this._previousValue=null,this._selectionChanged.emit({previousIndex:e,previousValue:t,currentIndex:this._index,currentValue:this._value});return}if(n==="select-item-after"){this._index=Math.min(e,this._array.length-1),this._updateSelectedValue(),this._previousValue=null,this._selectionChanged.emit({previousIndex:e,previousValue:t,currentIndex:this._index,currentValue:this._value});return}if(n==="select-item-before"){this._index=Math.max(0,e-1),this._updateSelectedValue(),this._previousValue=null,this._selectionChanged.emit({previousIndex:e,previousValue:t,currentIndex:this._index,currentValue:this._value});return}if(n==="select-previous-item"){this._previousValue?this.value=this._previousValue:(this._index=Math.min(e,this._array.length-1),this._updateSelectedValue()),this._previousValue=null,this._selectionChanged.emit({previousIndex:e,previousValue:t,currentIndex:this._index,currentValue:this.value});return}this._index=null,this._value=null,this._previousValue=null,this._selectionChanged.emit({previousIndex:e,previousValue:t,currentIndex:this._index,currentValue:this._value})}_updateSelectedValue(){const e=this._index;this._value=e!==null&&this._array?this._array[e]:null}};const $a="jupyter-widget-Collapse",qa="jupyter-widget-Collapse-header",Ka="jupyter-widget-Collapse-contents",xs="jupyter-widget-Collapse-open";class Ya extends de{constructor(e){super(e),this._collapseChanged=new xt(this),this.addClass($a),this._header=new de,this._header.addClass(qa),this._header.node.addEventListener("click",this);const t=document.createElement("i");t.classList.add("fa","fa-fw","fa-caret-right"),this._header.node.appendChild(t),this._header.node.appendChild(document.createElement("span")),this._content=new qe,this._content.addClass(Ka);const i=new Is;this.layout=i,i.addWidget(this._header),i.addWidget(this._content),e.widget&&(this.widget=e.widget),this.collapsed=!1}dispose(){this.isDisposed||(super.dispose(),this._header=null,this._widget=null,this._content=null)}get widget(){return this._widget}set widget(e){const t=this._widget;t&&(t.disposed.disconnect(this._onChildDisposed,this),t.title.changed.disconnect(this._onTitleChanged,this),t.parent=null),this._widget=e,e.disposed.connect(this._onChildDisposed,this),e.title.changed.connect(this._onTitleChanged,this),this._onTitleChanged(e.title),this._content.addWidget(e)}get collapsed(){return this._collapsed}set collapsed(e){e!==this._collapsed&&(e?this._collapse():this._uncollapse())}toggle(){this.collapsed=!this.collapsed}get collapseChanged(){return this._collapseChanged}_collapse(){this._collapsed=!0,this._content&&this._content.hide(),this.removeClass(xs),this._header.node.children[0].classList.add("fa-caret-right"),this._header.node.children[0].classList.remove("fa-caret-down"),this._collapseChanged.emit(void 0)}_uncollapse(){this._collapsed=!1,this._content&&this._content.show(),this.addClass(xs),this._header.node.children[0].classList.add("fa-caret-down"),this._header.node.children[0].classList.remove("fa-caret-right"),this._collapseChanged.emit(void 0)}handleEvent(e){switch(e.type){case"click":this._evtClick(e);break}}_evtClick(e){this.toggle()}_onTitleChanged(e){this._header.node.children[1].textContent=this._widget.title.label}_onChildDisposed(e){this.dispose()}}const Ga="jupyter-widget-Accordion",Ja="jupyter-widget-Accordion-child",ws="jupyter-widget-Accordion-child-active";class Xa extends qe{constructor(e){super(e),this._selection=new Ha(this.widgets),this._selection.selectionChanged.connect(this._onSelectionChanged,this),this.addClass(Ga)}get collapseWidgets(){return this.layout.widgets}get selection(){return this._selection}indexOf(e){return Me.findFirstIndex(this.collapseWidgets,t=>t.widget===e)}addWidget(e){const t=this._wrapWidget(e);return t.collapsed=!0,super.addWidget(t),this._selection.adjustSelectionForInsert(this.widgets.length-1,t),t}insertWidget(e,t){const i=this._wrapWidget(t);i.collapsed=!0,super.insertWidget(e,i),this._selection.adjustSelectionForInsert(e,i)}removeWidget(e){const t=this.indexOf(e);if(t>=0){const i=this.collapseWidgets[t];e.parent=null,i.dispose(),this._selection.adjustSelectionForRemove(t,null)}}_wrapWidget(e){const t=new Ya({widget:e});return t.addClass(Ja),t.collapseChanged.connect(this._onCollapseChange,this),t}_onCollapseChange(e){e.collapsed?this._selection.value===e&&e.collapsed&&(this._selection.value=null):this._selection.value=e}_onSelectionChanged(e,t){const i=t.previousValue,n=t.currentValue;i&&(i.collapsed=!0,i.removeClass(ws)),n&&(n.collapsed=!1,n.addClass(ws))}}class Kt extends Je{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"SelectionContainerModel",selected_index:null,titles:[]})}}class Tl extends Kt{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"AccordionModel",_view_name:"AccordionView"})}}class Qa extends Xa{constructor(e){const t=e.view;delete e.view,super(e),this._view=t}processMessage(e){var t;super.processMessage(e),(t=this._view)===null||t===void 0||t.processLuminoMessage(e)}dispose(){this.isDisposed||(super.dispose(),this._view.remove(),this._view=null)}}class Ol extends q{_createElement(e){return this.luminoWidget=new Qa({view:this}),this.luminoWidget.node}_setElement(e){if(this.el||e!==this.luminoWidget.node)throw new Error("Cannot reset the DOM element.");this.el=this.luminoWidget.node,this.$el=bt(this.luminoWidget.node)}initialize(e){super.initialize(e),this.children_views=new Ke(this.add_child_view,this.remove_child_view,this),this.listenTo(this.model,"change:children",()=>this.updateChildren()),this.listenTo(this.model,"change:selected_index",()=>this.update_selected_index()),this.listenTo(this.model,"change:titles",()=>this.update_titles())}render(){var e;super.render();const t=this.luminoWidget;t.addClass("jupyter-widgets"),t.addClass("widget-accordion"),t.addClass("widget-container"),t.selection.selectionChanged.connect(i=>{this.updatingChildren||(this.model.set("selected_index",t.selection.index),this.touch())}),(e=this.children_views)===null||e===void 0||e.update(this.model.get("children")),this.update_titles(),this.update_selected_index()}updateChildren(){var e;this.updatingChildren=!0,this.luminoWidget.selection.index=null,(e=this.children_views)===null||e===void 0||e.update(this.model.get("children")),this.update_selected_index(),this.updatingChildren=!1}update_titles(){const e=this.luminoWidget.collapseWidgets,t=this.model.get("titles");for(let i=0;i<e.length;i++)t[i]!==void 0&&(e[i].widget.title.label=t[i])}update_selected_index(){this.luminoWidget.selection.index=this.model.get("selected_index")}remove_child_view(e){this.luminoWidget.removeWidget(e.luminoWidget),e.remove()}add_child_view(e,t){const i=this.luminoWidget,n=new de;return n.title.label=this.model.get("titles")[t]||"",i.addWidget(n),this.create_child_view(e).then(u=>{const p=u.luminoWidget;p.title.label=n.title.label;const _=i.collapseWidgets[i.indexOf(n)];return _.widget=p,n.dispose(),u}).catch($e("Could not add child view to box",!0))}remove(){this.children_views=null,super.remove()}}class Vl extends Kt{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"TabModel",_view_name:"TabView"})}}class Za extends Fa{constructor(e){const t=e.view;delete e.view,super(e),this._view=t,vt.installMessageHook(this.tabContents,(i,n)=>(this._view.processLuminoMessage(n),!0))}dispose(){this.isDisposed||(super.dispose(),this._view.remove(),this._view=null)}}class El extends q{constructor(){super(...arguments),this.updatingTabs=!1}_createElement(e){return this.luminoWidget=new Za({view:this}),this.luminoWidget.node}_setElement(e){if(this.el||e!==this.luminoWidget.node)throw new Error("Cannot reset the DOM element.");this.el=this.luminoWidget.node,this.$el=bt(this.luminoWidget.node)}initialize(e){super.initialize(e),this.childrenViews=new Ke(this.addChildView,t=>{t.remove()},this),this.listenTo(this.model,"change:children",()=>this.updateTabs()),this.listenTo(this.model,"change:titles",()=>this.updateTitles())}render(){super.render();const e=this.luminoWidget;e.addClass("jupyter-widgets"),e.addClass("widget-container"),e.addClass("jupyter-widget-tab"),e.addClass("widget-tab"),e.tabsMovable=!0,e.tabBar.insertBehavior="none",e.tabBar.currentChanged.connect(this._onTabChanged,this),e.tabBar.tabMoved.connect(this._onTabMoved,this),e.tabBar.addClass("widget-tab-bar"),e.tabContents.addClass("widget-tab-contents"),e.tabBar.tabsMovable=!1,this.updateTabs(),this.update()}updateTabs(){var e;this.updatingTabs=!0,this.luminoWidget.currentIndex=null,(e=this.childrenViews)===null||e===void 0||e.update(this.model.get("children")),this.luminoWidget.currentIndex=this.model.get("selected_index"),this.updatingTabs=!1}addChildView(e,t){const i=this.model.get("titles")[t]||"",n=this.luminoWidget,u=new de;return u.title.label=i,n.addWidget(u),this.create_child_view(e).then(p=>{const _=p.luminoWidget;_.title.label=u.title.label,_.title.closable=!1;const j=Me.firstIndexOf(n.widgets,u);return n.insertWidget(j+1,_),u.dispose(),p}).catch($e("Could not add child view to box",!0))}update(){return this.updateSelectedIndex(),super.update()}updateTitles(){const e=this.model.get("titles")||[];Xi(this.luminoWidget.widgets,(t,i)=>{t.title.label=e[i]||""})}updateSelectedIndex(){this.luminoWidget.currentIndex=this.model.get("selected_index")}remove(){this.childrenViews=null,super.remove()}_onTabChanged(e,t){if(!this.updatingTabs){const i=t.currentIndex;this.model.set("selected_index",i===-1?null:i),this.touch()}}_onTabMoved(e,t){const i=this.model.get("children").slice();Me.move(i,t.fromIndex,t.toIndex),this.model.set("children",i),this.touch()}}class Al extends Kt{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"StackModel",_view_name:"StackView"})}}class Il extends we{initialize(e){super.initialize(e),this.listenTo(this.model,"change:selected_index",this.update_children)}update_children(){var e;let t;this.model.get("selected_index")===null?t=[]:t=[this.model.get("children")[this.model.get("selected_index")]],(e=this.children_views)===null||e===void 0||e.update(t).then(i=>{i.forEach(n=>{vt.postMessage(n.luminoWidget,de.ResizeMessage.UnknownSize)})})}}function Yt(s,e,t){s.prototype=e.prototype=t,t.constructor=s}function qs(s,e){var t=Object.create(s.prototype);for(var i in e)t[i]=e[i];return t}function Xe(){}var Ye=.7,gt=1/Ye,Ae="\\s*([+-]?\\d+)\\s*",Ge="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",oe="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",en=/^#([0-9a-f]{3,8})$/,tn=new RegExp(`^rgb\\(${Ae},${Ae},${Ae}\\)$`),sn=new RegExp(`^rgb\\(${oe},${oe},${oe}\\)$`),an=new RegExp(`^rgba\\(${Ae},${Ae},${Ae},${Ge}\\)$`),nn=new RegExp(`^rgba\\(${oe},${oe},${oe},${Ge}\\)$`),ln=new RegExp(`^hsl\\(${Ge},${oe},${oe}\\)$`),rn=new RegExp(`^hsla\\(${Ge},${oe},${oe},${Ge}\\)$`),ys={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Yt(Xe,Ie,{copy(s){return Object.assign(new this.constructor,this,s)},displayable(){return this.rgb().displayable()},hex:Ss,formatHex:Ss,formatHex8:on,formatHsl:dn,formatRgb:Cs,toString:Cs});function Ss(){return this.rgb().formatHex()}function on(){return this.rgb().formatHex8()}function dn(){return Ks(this).formatHsl()}function Cs(){return this.rgb().formatRgb()}function Ie(s){var e,t;return s=(s+"").trim().toLowerCase(),(e=en.exec(s))?(t=e[1].length,e=parseInt(e[1],16),t===6?Ms(e):t===3?new ee(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):t===8?ot(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):t===4?ot(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=tn.exec(s))?new ee(e[1],e[2],e[3],1):(e=sn.exec(s))?new ee(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=an.exec(s))?ot(e[1],e[2],e[3],e[4]):(e=nn.exec(s))?ot(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=ln.exec(s))?Ls(e[1],e[2]/100,e[3]/100,1):(e=rn.exec(s))?Ls(e[1],e[2]/100,e[3]/100,e[4]):ys.hasOwnProperty(s)?Ms(ys[s]):s==="transparent"?new ee(NaN,NaN,NaN,0):null}function Ms(s){return new ee(s>>16&255,s>>8&255,s&255,1)}function ot(s,e,t,i){return i<=0&&(s=e=t=NaN),new ee(s,e,t,i)}function un(s){return s instanceof Xe||(s=Ie(s)),s?(s=s.rgb(),new ee(s.r,s.g,s.b,s.opacity)):new ee}function hn(s,e,t,i){return arguments.length===1?un(s):new ee(s,e,t,i??1)}function ee(s,e,t,i){this.r=+s,this.g=+e,this.b=+t,this.opacity=+i}Yt(ee,hn,qs(Xe,{brighter(s){return s=s==null?gt:Math.pow(gt,s),new ee(this.r*s,this.g*s,this.b*s,this.opacity)},darker(s){return s=s==null?Ye:Math.pow(Ye,s),new ee(this.r*s,this.g*s,this.b*s,this.opacity)},rgb(){return this},clamp(){return new ee(Ce(this.r),Ce(this.g),Ce(this.b),mt(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:ks,formatHex:ks,formatHex8:cn,formatRgb:js,toString:js}));function ks(){return`#${Se(this.r)}${Se(this.g)}${Se(this.b)}`}function cn(){return`#${Se(this.r)}${Se(this.g)}${Se(this.b)}${Se((isNaN(this.opacity)?1:this.opacity)*255)}`}function js(){const s=mt(this.opacity);return`${s===1?"rgb(":"rgba("}${Ce(this.r)}, ${Ce(this.g)}, ${Ce(this.b)}${s===1?")":`, ${s})`}`}function mt(s){return isNaN(s)?1:Math.max(0,Math.min(1,s))}function Ce(s){return Math.max(0,Math.min(255,Math.round(s)||0))}function Se(s){return s=Ce(s),(s<16?"0":"")+s.toString(16)}function Ls(s,e,t,i){return i<=0?s=e=t=NaN:t<=0||t>=1?s=e=NaN:e<=0&&(s=NaN),new re(s,e,t,i)}function Ks(s){if(s instanceof re)return new re(s.h,s.s,s.l,s.opacity);if(s instanceof Xe||(s=Ie(s)),!s)return new re;if(s instanceof re)return s;s=s.rgb();var e=s.r/255,t=s.g/255,i=s.b/255,n=Math.min(e,t,i),u=Math.max(e,t,i),p=NaN,_=u-n,j=(u+n)/2;return _?(e===u?p=(t-i)/_+(t<i)*6:t===u?p=(i-e)/_+2:p=(e-t)/_+4,_/=j<.5?u+n:2-u-n,p*=60):_=j>0&&j<1?0:p,new re(p,_,j,s.opacity)}function pn(s,e,t,i){return arguments.length===1?Ks(s):new re(s,e,t,i??1)}function re(s,e,t,i){this.h=+s,this.s=+e,this.l=+t,this.opacity=+i}Yt(re,pn,qs(Xe,{brighter(s){return s=s==null?gt:Math.pow(gt,s),new re(this.h,this.s,this.l*s,this.opacity)},darker(s){return s=s==null?Ye:Math.pow(Ye,s),new re(this.h,this.s,this.l*s,this.opacity)},rgb(){var s=this.h%360+(this.h<0)*360,e=isNaN(s)||isNaN(this.s)?0:this.s,t=this.l,i=t+(t<.5?t:1-t)*e,n=2*t-i;return new ee(Ut(s>=240?s-240:s+120,n,i),Ut(s,n,i),Ut(s<120?s+240:s-120,n,i),this.opacity)},clamp(){return new re(Ts(this.h),dt(this.s),dt(this.l),mt(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const s=mt(this.opacity);return`${s===1?"hsl(":"hsla("}${Ts(this.h)}, ${dt(this.s)*100}%, ${dt(this.l)*100}%${s===1?")":`, ${s})`}`}}));function Ts(s){return s=(s||0)%360,s<0?s+360:s}function dt(s){return Math.max(0,Math.min(1,s||0))}function Ut(s,e,t){return(s<60?e+(t-e)*s/60:s<180?t:s<240?e+(t-e)*(240-s)/60:e)*255}function fn(s){return s.replace(/^\s+|\s+$/g,"")}function gn(s,e,t){return Math.min(Math.max(s,e),t)}function Os(s){for(;s.firstChild;)s.removeChild(s.firstChild)}class mn{constructor(e,t,i){this.start=e,this.dx=t,this.max=i}isSelected(e){let t,i;return this.dx>=0?(t=this.start,i=this.start+this.dx):(t=this.start+this.dx,i=this.start),t<=e&&e<i}updateSelection(e){this.dx+=e,this.start+this.dx>this.max&&(this.dx=this.max-this.start),this.start+this.dx<0&&(this.dx=-this.start)}}class Ys extends F{defaults(){return Object.assign(Object.assign({},super.defaults()),{value:[],placeholder:"",allowed_tags:null,allow_duplicates:!0})}}class Gs extends q{constructor(){super(...arguments),this.hoveredTag=null,this.hoveredTagIndex=null}render(){super.render(),this.el.classList.add("jupyter-widgets"),this.el.classList.add("jupyter-widget-tagsinput"),this.taginputWrapper=document.createElement("div"),this.model.get("value").length?this.taginputWrapper.style.display="none":this.taginputWrapper.style.display="inline-block",this.datalistID=ae(),this.taginput=document.createElement("input"),this.taginput.classList.add("jupyter-widget-tag"),this.taginput.classList.add("jupyter-widget-taginput"),this.taginput.setAttribute("list",this.datalistID),this.taginput.setAttribute("type","text"),this.autocompleteList=document.createElement("datalist"),this.autocompleteList.id=this.datalistID,this.updateAutocomplete(),this.model.on("change:allowed_tags",this.updateAutocomplete.bind(this)),this.updatePlaceholder(),this.model.on("change:placeholder",this.updatePlaceholder.bind(this)),this.taginputWrapper.classList.add("widget-text"),this.taginputWrapper.appendChild(this.taginput),this.taginputWrapper.appendChild(this.autocompleteList),this.el.onclick=this.focus.bind(this),this.el.ondrop=e=>{const t=this.hoveredTagIndex==null?this.tags.length:this.hoveredTagIndex;return this.ondrop(e,t)},this.el.ondragover=this.ondragover.bind(this),this.taginput.onchange=this.handleValueAdded.bind(this),this.taginput.oninput=this.resizeInput.bind(this),this.taginput.onkeydown=this.handleKeyEvent.bind(this),this.taginput.onblur=this.loseFocus.bind(this),this.resizeInput(),this.inputIndex=this.model.get("value").length,this.selection=null,this.preventLoosingFocus=!1,this.update()}update(){this.preventLoosingFocus=!0,Os(this.el),this.tags=[];const e=this.model.get("value");this.inputIndex=e.length;for(const t in e){const i=parseInt(t),n=this.createTag(e[i],i,this.selection!=null&&this.selection.isSelected(i));n.draggable=!0,n.ondragstart=((u,p)=>_=>{this.ondragstart(_,u,p,this.model.model_id)})(i,e[i]),n.ondrop=(u=>p=>{this.ondrop(p,u)})(i),n.ondragover=this.ondragover.bind(this),n.ondragenter=(u=>p=>{this.ondragenter(p,u)})(i),n.ondragend=this.ondragend.bind(this),this.tags.push(n),this.el.appendChild(n)}return this.el.insertBefore(this.taginputWrapper,this.el.children[this.inputIndex]),this.model.get("value").length?this.taginputWrapper.style.display="none":this.taginputWrapper.style.display="inline-block",this.preventLoosingFocus=!1,super.update()}updateAutocomplete(){Os(this.autocompleteList);const e=this.model.get("allowed_tags");for(const t of e){const i=document.createElement("option");i.value=t,this.autocompleteList.appendChild(i)}}updatePlaceholder(){this.taginput.placeholder=this.model.get("placeholder"),this.resizeInput()}updateTags(){const e=this.model.get("value");for(const t in this.tags){const i=parseInt(t);this.updateTag(this.tags[i],e[i],i,this.selection!=null&&this.selection.isSelected(i))}}handleValueAdded(e){const t=fn(this.taginput.value),i=this.inputIndex;if(t=="")return;this.inputIndex++,this.addTag(i,t)&&(this.taginput.value="",this.resizeInput(),this.focus())}addTag(e,t){const i=this.model.get("value");let n;try{n=this.validateValue(t)}catch{return!1}const u=this.model.get("allowed_tags");if(u.length&&!u.includes(n)||!this.model.get("allow_duplicates")&&i.includes(n))return!1;this.selection=null;const p=[...i];return p.splice(e,0,n),this.model.set("value",p),this.model.save_changes(),!0}resizeInput(){let e;this.taginput.value.length!=0?e=this.taginput.value:e=this.model.get("placeholder");const t=e.length+1;this.taginput.setAttribute("size",String(t))}handleKeyEvent(e){const t=this.model.get("value").length;if(this.taginput.value.length)return;const i=this.inputIndex;switch(e.key){case"ArrowLeft":e.ctrlKey&&e.shiftKey&&this.select(i,-i),!e.ctrlKey&&e.shiftKey&&this.select(i,-1),e.ctrlKey?this.inputIndex=0:this.inputIndex--;break;case"ArrowRight":e.ctrlKey&&e.shiftKey&&this.select(i,t-i),!e.ctrlKey&&e.shiftKey&&this.select(i,1),e.ctrlKey?this.inputIndex=t:this.inputIndex++;break;case"Backspace":this.selection?this.removeSelectedTags():this.removeTag(this.inputIndex-1);break;case"Delete":this.selection?this.removeSelectedTags():this.removeTag(this.inputIndex);break;default:return}e.shiftKey||(this.selection=null),this.inputIndex=gn(this.inputIndex,0,t),this.update(),this.focus()}ondragstart(e,t,i,n){e.dataTransfer!=null&&(e.dataTransfer.setData("index",String(t)),e.dataTransfer.setData("tagValue",String(i)),e.dataTransfer.setData("origin",n))}ondrop(e,t){if(e.dataTransfer==null)return;e.preventDefault(),e.stopPropagation();const i=e.dataTransfer.getData("tagValue"),n=parseInt(e.dataTransfer.getData("index")),u=e.dataTransfer.getData("origin")==this.model.model_id;if(!isNaN(n)){if(u){const _=[...this.model.get("value")];n<t&&t--,_.splice(n,1),_.splice(t,0,i),this.model.set("value",_),this.model.save_changes();return}this.addTag(t,i)}}ondragover(e){e.preventDefault()}ondragenter(e,t){this.hoveredTag!=null&&this.hoveredTag!=this.tags[t]&&(this.hoveredTag.style.marginLeft="1px"),this.hoveredTag=this.tags[t],this.hoveredTagIndex=t,this.hoveredTag.style.marginLeft="30px"}ondragend(){this.hoveredTag!=null&&(this.hoveredTag.style.marginLeft="1px"),this.hoveredTag=null,this.hoveredTagIndex=null}select(e,t){const i=this.model.get("value").length;this.selection?this.selection.updateSelection(t):this.selection=new mn(e,t,i)}removeSelectedTags(){const e=[...this.model.get("value")],t=e.length;for(let i=t-1;i>=0;i--)this.selection!=null&&this.selection.isSelected(i)&&(e.splice(i,1),i<this.inputIndex&&this.inputIndex--);this.model.set("value",e),this.model.save_changes()}removeTag(e){const t=[...this.model.get("value")];t.splice(e,1),e<this.inputIndex&&this.inputIndex--,this.model.set("value",t),this.model.save_changes()}focus(){this.taginputWrapper.style.display="inline-block",this.taginput.focus()}loseFocus(){this.preventLoosingFocus||(this.model.get("value").length&&(this.taginputWrapper.style.display="none"),this.selection=null,this.updateTags())}preinitialize(){this.tagName="div"}validateValue(e){return e}}class _n extends Ys{defaults(){return Object.assign(Object.assign({},super.defaults()),{value:[],tag_style:"",_view_name:"TagsInputView",_model_name:"TagsInputModel"})}}class St extends Gs{createTag(e,t,i){const n=document.createElement("div"),u=this.model.get("tag_style");n.classList.add("jupyter-widget-tag"),n.classList.add(St.class_map[u]),i&&n.classList.add("mod-active"),n.appendChild(document.createTextNode(this.getTagText(e)));const p=document.createElement("i");return p.classList.add("fa"),p.classList.add("fa-times"),p.classList.add("jupyter-widget-tag-close"),n.appendChild(p),p.onmousedown=(_=>()=>{this.removeTag(_),this.loseFocus()})(t),n}getTagText(e){return e}updateTag(e,t,i,n){n?e.classList.add("mod-active"):e.classList.remove("mod-active")}}St.class_map={primary:"mod-primary",success:"mod-success",info:"mod-info",warning:"mod-warning",danger:"mod-danger"};class Pl extends Ys{defaults(){return Object.assign(Object.assign({},super.defaults()),{value:[],_view_name:"ColorsInputView",_model_name:"ColorsInputModel"})}}class zl extends Gs{createTag(e,t,i){const n=document.createElement("div"),u=e,p=Ie(e).darker().toString();n.classList.add("jupyter-widget-tag"),n.classList.add("jupyter-widget-colortag"),i?(n.classList.add("mod-active"),n.style.backgroundColor=p):n.style.backgroundColor=u;const _=document.createElement("i");return _.classList.add("fa"),_.classList.add("fa-times"),_.classList.add("jupyter-widget-tag-close"),n.appendChild(_),_.onmousedown=(j=>()=>{this.removeTag(j),this.loseFocus()})(t),n}updateTag(e,t,i,n){const u=t,p=Ie(t).darker().toString();n?(e.classList.add("mod-active"),e.style.backgroundColor=p):(e.classList.remove("mod-active"),e.style.backgroundColor=u)}validateValue(e){if(Ie(e)==null)throw e+" is not a valid Color";return e}}class Js extends _n{defaults(){return Object.assign(Object.assign({},super.defaults()),{min:null,max:null})}}class Xs extends St{render(){this.model.on("change:format",()=>{this.formatter=ze(this.model.get("format")),this.update()}),this.formatter=ze(this.model.get("format")),super.render()}getTagText(e){return this.formatter(this.parseNumber(e))}validateValue(e){const t=this.parseNumber(e),i=this.model.get("min"),n=this.model.get("max");if(isNaN(t)||i!=null&&t<i||n!=null&&t>n)throw e+" is not a valid number, it should be in the range ["+i+", "+n+"]";return t}}class Dl extends Js{defaults(){return Object.assign(Object.assign({},super.defaults()),{_view_name:"FloatsInputView",_model_name:"FloatsInputModel",format:".1f"})}}class Bl extends Xs{parseNumber(e){return parseFloat(e)}}class Wl extends Js{defaults(){return Object.assign(Object.assign({},super.defaults()),{_view_name:"IntsInputView",_model_name:"IntsInputModel",format:"d"})}}class Rl extends Xs{parseNumber(e){const t=parseInt(e);if(t!=parseFloat(e))throw e+" should be an integer";return t}}const bn="jpwidgets-invalidComboValue";class ke extends K{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"StringStyleModel",_model_module:"@jupyter-widgets/controls",_model_module_version:$})}}ke.styleProperties=Object.assign(Object.assign({},K.styleProperties),{background:{selector:"",attribute:"background",default:null},font_size:{selector:"",attribute:"font-size",default:""},text_color:{selector:"",attribute:"color",default:""}});class vn extends ke{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"HTMLStyleModel",_model_module:"@jupyter-widgets/controls",_model_module_version:$})}}vn.styleProperties=Object.assign({},ke.styleProperties);class xn extends ke{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"HTMLMathStyleModel",_model_module:"@jupyter-widgets/controls",_model_module_version:$})}}xn.styleProperties=Object.assign({},ke.styleProperties);class wn extends ke{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"LabelStyleModel",_model_module:"@jupyter-widgets/controls",_model_module_version:$})}}wn.styleProperties=Object.assign(Object.assign({},ke.styleProperties),{font_family:{selector:"",attribute:"font-family",default:""},font_style:{selector:"",attribute:"font-style",default:""},font_variant:{selector:"",attribute:"font-variant",default:""},font_weight:{selector:"",attribute:"font-weight",default:""},text_decoration:{selector:"",attribute:"text-decoration",default:""}});class yn extends K{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"TextStyleModel",_model_module:"@jupyter-widgets/controls",_model_module_version:$})}}yn.styleProperties=Object.assign(Object.assign({},K.styleProperties),{background:{selector:".widget-input",attribute:"background",default:null},font_size:{selector:".widget-input",attribute:"font-size",default:""},text_color:{selector:".widget-input",attribute:"color",default:""}});class Qe extends te{defaults(){return Object.assign(Object.assign({},super.defaults()),{value:"",disabled:!1,placeholder:"",_model_name:"StringModel"})}}class Ze extends Y{render(){super.render(),this.el.classList.add("jupyter-widgets"),this.el.classList.add("widget-inline-hbox")}}class Nl extends Qe{defaults(){return Object.assign(Object.assign({},super.defaults()),{_view_name:"HTMLView",_model_name:"HTMLModel"})}}class Ul extends Ze{render(){super.render(),this.el.classList.add("widget-html"),this.content=document.createElement("div"),this.content.classList.add("widget-html-content"),this.el.appendChild(this.content),this.update()}update(){return this.content.innerHTML=this.model.get("value"),super.update()}handle_message(e){e.do==="focus"?this.content.focus():e.do==="blur"&&this.content.blur()}}class Fl extends Qe{defaults(){return Object.assign(Object.assign({},super.defaults()),{_view_name:"HTMLMathView",_model_name:"HTMLMathModel"})}}class Hl extends Ze{render(){super.render(),this.el.classList.add("widget-htmlmath"),this.content=document.createElement("div"),this.content.classList.add("widget-htmlmath-content"),this.el.appendChild(this.content),this.update()}update(){return this.content.innerHTML=this.model.get("value"),this.typeset(this.content),super.update()}handle_message(e){e.do==="focus"?this.content.focus():e.do==="blur"&&this.content.blur()}}class $l extends Qe{defaults(){return Object.assign(Object.assign({},super.defaults()),{_view_name:"LabelView",_model_name:"LabelModel"})}}class ql extends Ze{render(){super.render(),this.el.classList.add("widget-label"),this.update()}update(){return this.typeset(this.el,this.model.get("value")),super.update()}}class Kl extends Qe{defaults(){return Object.assign(Object.assign({},super.defaults()),{_view_name:"TextareaView",_model_name:"TextareaModel",rows:null,continuous_update:!0})}}class Yl extends Ze{render(){super.render(),this.el.classList.add("widget-textarea"),this.textbox=document.createElement("textarea"),this.textbox.setAttribute("rows","5"),this.textbox.id=this.label.htmlFor=ae(),this.textbox.classList.add("widget-input"),this.el.appendChild(this.textbox),this.update(),this.listenTo(this.model,"change:placeholder",(e,t,i)=>{this.update_placeholder(t)}),this.update_placeholder(),this.updateTooltip()}update_placeholder(e){const t=e||this.model.get("placeholder");this.textbox.setAttribute("placeholder",t.toString())}update(e){if(e===void 0||e.updated_view!==this){this.textbox.value=this.model.get("value");let t=this.model.get("rows");t===null&&(t=""),this.textbox.setAttribute("rows",t),this.textbox.disabled=this.model.get("disabled")}return this.updateTabindex(),this.updateTooltip(),super.update()}updateTabindex(){if(!this.textbox)return;const e=this.model.get("tabbable");e===!0?this.textbox.setAttribute("tabIndex","0"):e===!1?this.textbox.setAttribute("tabIndex","-1"):e===null&&this.textbox.removeAttribute("tabIndex")}updateTooltip(){if(!this.textbox)return;const e=this.model.get("tooltip");e?this.model.get("description").length===0&&this.textbox.setAttribute("title",e):this.textbox.removeAttribute("title")}events(){return{"keydown textarea":"handleKeyDown","keypress textarea":"handleKeypress","input textarea":"handleChanging","change textarea":"handleChanged"}}handleKeyDown(e){e.stopPropagation()}handleKeypress(e){e.stopPropagation()}handleChanging(e){this.model.get("continuous_update")&&this.handleChanged(e)}handleChanged(e){const t=e.target;this.model.set("value",t.value,{updated_view:this}),this.touch()}handle_message(e){e.do==="focus"?this.textbox.focus():e.do==="blur"&&this.textbox.blur()}}class Qs extends Qe{defaults(){return Object.assign(Object.assign({},super.defaults()),{_view_name:"TextView",_model_name:"TextModel",continuous_update:!0})}}class Zs extends Ze{constructor(){super(...arguments),this.inputType="text"}render(){super.render(),this.el.classList.add("widget-text"),this.textbox=document.createElement("input"),this.textbox.setAttribute("type",this.inputType),this.textbox.id=this.label.htmlFor=ae(),this.textbox.classList.add("widget-input"),this.el.appendChild(this.textbox),this.update(),this.listenTo(this.model,"change:placeholder",(e,t,i)=>{this.update_placeholder(t)}),this.update_placeholder(),this.updateTabindex(),this.updateTooltip()}update_placeholder(e){this.textbox.setAttribute("placeholder",e||this.model.get("placeholder"))}updateTabindex(){if(!this.textbox)return;const e=this.model.get("tabbable");e===!0?this.textbox.setAttribute("tabIndex","0"):e===!1?this.textbox.setAttribute("tabIndex","-1"):e===null&&this.textbox.removeAttribute("tabIndex")}updateTooltip(){if(!this.textbox)return;const e=this.model.get("tooltip");e?this.model.get("description").length===0&&this.textbox.setAttribute("title",e):this.textbox.removeAttribute("title")}update(e){return(e===void 0||e.updated_view!==this)&&(this.textbox.value!==this.model.get("value")&&(this.textbox.value=this.model.get("value")),this.textbox.disabled=this.model.get("disabled")),super.update()}events(){return{"keydown input":"handleKeyDown","keypress input":"handleKeypress","input input":"handleChanging","change input":"handleChanged"}}handleKeyDown(e){e.stopPropagation()}handleKeypress(e){e.stopPropagation(),e.keyCode===13&&this.send({event:"submit"})}handleChanging(e){this.model.get("continuous_update")&&this.handleChanged(e)}handleChanged(e){const t=e.target;this.model.set("value",t.value,{updated_view:this}),this.touch()}handle_message(e){e.do==="focus"?this.textbox.focus():e.do==="blur"&&this.textbox.blur()}}class Gl extends Qs{defaults(){return Object.assign(Object.assign({},super.defaults()),{_view_name:"PasswordView",_model_name:"PasswordModel"})}}class Jl extends Zs{constructor(){super(...arguments),this.inputType="password"}}class Xl extends Qs{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"ComboboxModel",_view_name:"ComboboxView",options:[],ensure_options:!1})}}class Ql extends Zs{constructor(){super(...arguments),this.isInitialRender=!0}render(){this.datalist=document.createElement("datalist"),this.datalist.id=ae(),super.render(),this.textbox.setAttribute("list",this.datalist.id),this.el.appendChild(this.datalist),this.updateTooltip()}update(e){if(super.update(e),!this.datalist)return;const t=this.isValid(this.model.get("value"));if(this.highlightValidState(t),e!==void 0&&e.updated_view||!this.model.hasChanged("options")&&!this.isInitialRender)return;this.isInitialRender=!1;const i=this.model.get("options"),n=document.createDocumentFragment();for(const u of i){const p=document.createElement("option");p.value=u,n.appendChild(p)}this.datalist.replaceChildren(...n.children)}isValid(e){return!(this.model.get("ensure_option")===!0&&this.model.get("options").indexOf(e)===-1)}handleChanging(e){const t=e.target,i=this.isValid(t.value);this.highlightValidState(i),i&&super.handleChanging(e)}handleChanged(e){const t=e.target,i=this.isValid(t.value);this.highlightValidState(i),i&&super.handleChanged(e)}handle_message(e){e.do==="focus"?this.textbox.focus():e.do==="blur"&&this.textbox.blur()}highlightValidState(e){this.textbox.classList.toggle(bn,!e)}}class Sn extends F{defaults(){return Object.assign(Object.assign({},super.defaults()),{_model_name:"FileUploadModel",_view_name:"FileUploadView",accept:"",description:"Upload",disabled:!1,icon:"upload",button_style:"",multiple:!1,value:[],error:"",style:null})}}Sn.serializers=Object.assign(Object.assign({},F.serializers),{value:{serialize:s=>s}});class _t extends q{preinitialize(){this.tagName="button"}render(){super.render(),this.el.classList.add("jupyter-widgets"),this.el.classList.add("widget-upload"),this.el.classList.add("jupyter-button"),this.fileInput=document.createElement("input"),this.fileInput.type="file",this.fileInput.style.display="none",this.el.addEventListener("click",()=>{this.fileInput.click()}),this.fileInput.addEventListener("click",()=>{this.fileInput.value=""}),this.fileInput.addEventListener("change",()=>{var e;const t=[];Array.from((e=this.fileInput.files)!==null&&e!==void 0?e:[]).forEach(i=>{t.push(new Promise((n,u)=>{const p=new FileReader;p.onload=()=>{const _=p.result;n({content:_,name:i.name,type:i.type,size:i.size,last_modified:i.lastModified})},p.onerror=()=>{u()},p.onabort=p.onerror,p.readAsArrayBuffer(i)}))}),Promise.all(t).then(i=>{this.model.set({value:i,error:""}),this.touch()}).catch(i=>{console.error("error in file upload: %o",i),this.model.set({error:i}),this.touch()})}),this.listenTo(this.model,"change:button_style",this.update_button_style),this.set_button_style(),this.update()}update(){this.el.disabled=this.model.get("disabled"),this.el.setAttribute("title",this.model.get("tooltip"));const e=this.model.get("value"),t=`${this.model.get("description")} (${e.length})`,i=this.model.get("icon");if(t.length||i.length){if(this.el.textContent="",i.length){const n=document.createElement("i");n.classList.add("fa"),n.classList.add("fa-"+i),t.length===0&&n.classList.add("center"),this.el.appendChild(n)}this.el.appendChild(document.createTextNode(t))}return this.fileInput.accept=this.model.get("accept"),this.fileInput.multiple=this.model.get("multiple"),super.update()}update_button_style(){this.update_mapped_classes(_t.class_map,"button_style",this.el)}set_button_style(){this.set_mapped_classes(_t.class_map,"button_style",this.el)}}_t.class_map={primary:["mod-primary"],success:["mod-success"],info:["mod-info"],warning:["mod-warning"],danger:["mod-danger"]};const Zl=require("../package.json").version;export{Tl as AccordionModel,Ol as AccordionView,la as AudioModel,$n as AudioView,qt as BaseIntSliderView,Bs as BoolModel,yt as BoundedFloatModel,dl as BoundedFloatTextModel,wt as BoundedIntModel,Zn as BoundedIntTextModel,Je as BoxModel,we as BoxView,zn as ButtonModel,ia as ButtonStyleModel,ht as ButtonView,Vn as CheckboxModel,ta as CheckboxStyleModel,En as CheckboxView,qn as ColorPickerModel,Kn as ColorPickerView,Pl as ColorsInputModel,zl as ColorsInputView,Xl as ComboboxModel,Ql as ComboboxView,fl as ControllerAxisModel,gl as ControllerAxisView,cl as ControllerButtonModel,pl as ControllerButtonView,Ba as ControllerModel,ml as ControllerView,ha as DatePickerModel,Yn as DatePickerView,Ns as DatetimeModel,Jn as DatetimeView,Ps as DescriptionModel,K as DescriptionStyleModel,Y as DescriptionView,Ds as DirectionalLinkModel,_l as DropdownModel,bl as DropdownView,Sn as FileUploadModel,_t as FileUploadView,il as FloatLogSliderModel,ll as FloatLogSliderView,Fs as FloatModel,hl as FloatProgressModel,al as FloatRangeSliderModel,rl as FloatRangeSliderView,Da as FloatSliderModel,nl as FloatSliderView,ol as FloatTextModel,ul as FloatTextView,Dl as FloatsInputModel,Bl as FloatsInputView,Un as GridBoxModel,Nn as GridBoxView,Dn as HBoxModel,Wn as HBoxView,Fl as HTMLMathModel,xn as HTMLMathStyleModel,Hl as HTMLMathView,Nl as HTMLModel,vn as HTMLStyleModel,Ul as HTMLView,aa as ImageModel,Fn as ImageView,Us as IntModel,el as IntProgressModel,Xn as IntRangeSliderModel,Aa as IntRangeSliderView,Ea as IntSliderModel,Ia as IntSliderView,Qn as IntTextModel,Pa as IntTextView,Wl as IntsInputModel,Rl as IntsInputView,$ as JUPYTER_CONTROLS_VERSION,Qa as JupyterLuminoAccordionWidget,Za as JupyterLuminoTabPanelWidget,$l as LabelModel,wn as LabelStyleModel,ql as LabelView,Ln as LabeledDOMWidgetModel,Tn as LabeledDOMWidgetView,On as LinkModel,$s as MultipleSelectionModel,ba as NaiveDatetimeModel,Gl as PasswordModel,Jl as PasswordView,tl as PlayModel,sl as PlayView,za as ProgressStyleModel,ft as ProgressView,xl as RadioButtonsModel,wl as RadioButtonsView,vl as SelectModel,Cl as SelectMultipleModel,Ml as SelectMultipleView,Wa as SelectView,Kt as SelectionContainerModel,De as SelectionModel,kl as SelectionRangeSliderModel,jl as SelectionRangeSliderView,Sl as SelectionSliderModel,Na as SelectionSliderView,Hs as SelectionView,Va as SliderStyleModel,Al as StackModel,Il as StackView,Qe as StringModel,Ze as StringView,Vl as TabModel,El as TabView,_n as TagsInputModel,St as TagsInputView,Qs as TextModel,yn as TextStyleModel,Zs as TextView,Kl as TextareaModel,Yl as TextareaView,Pe as TimeModel,Gn as TimeView,An as ToggleButtonModel,sa as ToggleButtonStyleModel,ut as ToggleButtonView,yl as ToggleButtonsModel,Ra as ToggleButtonsStyleModel,Ee as ToggleButtonsView,Bn as VBoxModel,Rn as VBoxView,In as ValidModel,Pn as ValidView,na as VideoModel,Hn as VideoView,Rt as datetime_serializers,ua as deserialize_date,ga as deserialize_datetime,_a as deserialize_naive,pa as deserialize_time,ea as escape_html,Nt as naive_serializers,jn as reject,Gi as resolvePromisesDict,da as serialize_date,fa as serialize_datetime,ma as serialize_naive,Rs as serialize_time,Wt as time_serializers,Zi as typeset,ae as uuid,Zl as version};
|