@holoviz/panel 1.4.2 → 1.5.0-a.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/bundled/notificationarea/panel/1.5.0-a.1/dist/bundled/font-awesome/css/all.min.css +2 -0
  2. package/dist/bundled/panel/1.5.0-a.1/dist/bundled/bootstrap5/css/bootstrap.min.css +2 -0
  3. package/dist/bundled/panel/1.5.0-a.1/dist/bundled/bootstrap5/js/bootstrap.bundle.min.js +2 -0
  4. package/dist/bundled/panel/1.5.0-a.1/dist/bundled/font-awesome/css/all.min.css +2 -0
  5. package/dist/bundled/panel/1.5.0-a.1/dist/bundled/jquery/jquery.slim.min.js +2 -0
  6. package/dist/bundled/plotlyplot/panel/1.5.0-a.1/dist/bundled/jquery/jquery.slim.min.js +2 -0
  7. package/dist/bundled/theme/fast.css +0 -1
  8. package/dist/css/models/card.css +11 -0
  9. package/dist/lib/models/comm_manager.d.ts +1 -1
  10. package/dist/lib/models/comm_manager.js +16 -18
  11. package/dist/lib/models/comm_manager.js.map +1 -1
  12. package/dist/lib/models/html.d.ts +7 -7
  13. package/dist/lib/models/html.js +28 -25
  14. package/dist/lib/models/html.js.map +1 -1
  15. package/dist/lib/models/index.d.ts +1 -0
  16. package/dist/lib/models/index.js +1 -0
  17. package/dist/lib/models/index.js.map +1 -1
  18. package/dist/lib/models/layout.d.ts +5 -4
  19. package/dist/lib/models/layout.js +41 -36
  20. package/dist/lib/models/layout.js.map +1 -1
  21. package/dist/lib/models/pdf.js +2 -2
  22. package/dist/lib/models/pdf.js.map +1 -1
  23. package/dist/lib/models/reactive_html.d.ts +18 -17
  24. package/dist/lib/models/reactive_html.js +159 -138
  25. package/dist/lib/models/reactive_html.js.map +1 -1
  26. package/dist/lib/models/text_input.d.ts +25 -0
  27. package/dist/lib/models/text_input.js +38 -0
  28. package/dist/lib/models/text_input.js.map +1 -0
  29. package/dist/lib/styles/models/card.css.js +1 -1
  30. package/dist/panel.js +335 -261
  31. package/dist/panel.js.map +1 -1
  32. package/dist/panel.json +1 -1
  33. package/dist/panel.min.js +33 -32
  34. package/package.json +1 -1
  35. package/dist/bundled/notificationarea/panel/1.4.2/dist/bundled/font-awesome/css/all.min.css +0 -2
  36. package/dist/bundled/panel/1.4.2/dist/bundled/bootstrap5/css/bootstrap.min.css +0 -2
  37. package/dist/bundled/panel/1.4.2/dist/bundled/bootstrap5/js/bootstrap.bundle.min.js +0 -2
  38. package/dist/bundled/panel/1.4.2/dist/bundled/font-awesome/css/all.min.css +0 -2
  39. package/dist/bundled/panel/1.4.2/dist/bundled/jquery/jquery.slim.min.js +0 -2
  40. package/dist/bundled/plotlyplot/panel/1.4.2/dist/bundled/jquery/jquery.slim.min.js +0 -2
package/dist/panel.min.js CHANGED
@@ -42,24 +42,24 @@
42
42
  }
43
43
  })
44
44
  ({
45
- "4e90918c0a": function _(e,s,t,o,i){o();const n=e("tslib").__importStar(e("38670592ce"));t.Panel=n;(0,e("@bokehjs/base").register_models)(n)},
46
- "38670592ce": function _(e,a,t,o,c){o();const d=e("tslib");c("AcePlot",e("c780fc99fd").AcePlot),c("Audio",e("fd59c985b3").Audio),c("BrowserInfo",e("85211a0a5b").BrowserInfo),c("Button",e("1db93211cd").Button),c("ButtonIcon",e("1738ddeb3a").ButtonIcon),c("ClickableIcon",e("17193475a8").ClickableIcon),c("Card",e("aaa0c51c8d").Card),c("CheckboxButtonGroup",e("51fbe9e2d0").CheckboxButtonGroup),c("ChatAreaInput",e("27a077673d").ChatAreaInput),c("Column",e("aab20b9d6a").Column),c("CommManager",e("352943c042").CommManager),c("CustomSelect",e("92bbd30bd1").CustomSelect),c("DataTabulator",e("887daef873").DataTabulator),c("DatetimePicker",e("ddf98634bb").DatetimePicker),c("DeckGLPlot",e("dc03aab885").DeckGLPlot),c("ECharts",e("04cbffdfe0").ECharts),c("Feed",e("976c02c0a8").Feed),c("FileDownload",e("3ead851ca6").FileDownload),c("HTML",e("89d2d3667a").HTML),c("IPyWidget",e("8a8089cbf3").IPyWidget),c("JSON",e("7eff964d3e").JSON),c("JSONEditor",e("d57683bd1f").JSONEditor),c("KaTeX",e("f672d71a9f").KaTeX),c("Location",e("bd8e0fe48b").Location),c("MathJax",e("ec353a3d9a").MathJax),c("PDF",e("cf33f23f5c").PDF),c("Perspective",e("8b1673a40b").Perspective),c("Player",e("f06104d237").Player),c("PlotlyPlot",e("6f2064dc74").PlotlyPlot),c("Progress",e("aded75e266").Progress),c("QuillInput",e("c72e00086f").QuillInput),c("RadioButtonGroup",e("25e2d7c208").RadioButtonGroup),c("ReactiveHTML",e("6cfc3f348e").ReactiveHTML),c("SingleSelect",e("168c4d0ebd").SingleSelect),c("SpeechToText",e("739cca6576").SpeechToText),c("State",e("92822cb73a").State),c("Tabs",e("2231cdc549").Tabs),c("Terminal",e("121f00bd6f").Terminal),c("TextAreaInput",e("b7d595d74a").TextAreaInput),c("TextToSpeech",e("a04eb51988").TextToSpeech),c("ToggleIcon",e("ad985f285e").ToggleIcon),c("TooltipIcon",e("ae3a172647").TooltipIcon),c("TrendIndicator",e("3584638c04").TrendIndicator),c("VegaPlot",e("119dc23765").VegaPlot),c("Video",e("79dc37b888").Video),c("VideoStream",e("f8afc4e661").VideoStream),c("VizzuChart",e("470ce1dcbc").VizzuChart),d.__exportStar(e("c51f25e2a7"),t)},
47
- "c780fc99fd": function _(e,t,i,o,a){var n;o();const s=e("@bokehjs/core/dom"),d=e("73d6aee8f5");class _ extends d.HTMLBoxView{connect_signals(){super.connect_signals();const{code:e,theme:t,language:i,filename:o,print_margin:a,annotations:n,readonly:s}=this.model.properties;this.on_change(e,(()=>this._update_code_from_model())),this.on_change(t,(()=>this._update_theme())),this.on_change(i,(()=>this._update_language())),this.on_change(o,(()=>this._update_filename())),this.on_change(a,(()=>this._update_print_margin())),this.on_change(n,(()=>this._add_annotations())),this.on_change(s,(()=>{this._editor.setReadOnly(this.model.readonly)}))}render(){super.render(),this._container=(0,s.div)({id:`_${Math.random().toString(36).substr(2,9)}`,style:{width:"100%",height:"100%",zIndex:0}}),this.shadow_el.append(this._container),this._container.textContent=this.model.code,this._editor=ace.edit(this._container),this._editor.renderer.attachToShadowRoot(),this._langTools=ace.require("ace/ext/language_tools"),this._modelist=ace.require("ace/ext/modelist"),this._editor.setOptions({enableBasicAutocompletion:!0,enableSnippets:!0,fontFamily:"monospace"}),this._update_theme(),this._update_filename(),this._update_language(),this._editor.setReadOnly(this.model.readonly),this._editor.setShowPrintMargin(this.model.print_margin),this._editor.on("change",(()=>this._update_code_from_editor()))}_update_code_from_model(){this._editor&&this._editor.getValue()!=this.model.code&&this._editor.setValue(this.model.code)}_update_print_margin(){this._editor.setShowPrintMargin(this.model.print_margin)}_update_code_from_editor(){this._editor.getValue()!=this.model.code&&(this.model.code=this._editor.getValue())}_update_theme(){this._editor.setTheme(`ace/theme/${this.model.theme}`)}_update_filename(){if(this.model.filename){const e=this._modelist.getModeForPath(this.model.filename).mode;this.model.language=e.slice(9)}}_update_language(){null!=this.model.language&&this._editor.session.setMode(`ace/mode/${this.model.language}`)}_add_annotations(){this._editor.session.setAnnotations(this.model.annotations)}after_layout(){super.after_layout(),void 0!==this._editor&&this._editor.resize()}}i.AcePlotView=_,_.__name__="AcePlotView";class h extends d.HTMLBox{constructor(e){super(e)}}i.AcePlot=h,n=h,h.__name__="AcePlot",h.__module__="panel.models.ace",n.prototype.default_view=_,n.define((({Any:e,List:t,Bool:i,Str:o,Nullable:a})=>({code:[o,""],filename:[a(o),null],language:[o,""],theme:[o,"chrome"],annotations:[t(e),[]],readonly:[i,!1],print_margin:[i,!1]}))),n.override({height:300,width:300})},
48
- "73d6aee8f5": function _(e,t,i,s,h){s();const l=e("@bokehjs/core/dom"),n=e("@bokehjs/core/util/types"),a=e("@bokehjs/models/widgets/widget"),d=e("@bokehjs/models/layouts/layout_dom");class o extends a.WidgetView{connect_signals(){super.connect_signals();const{width:e,height:t,min_height:i,max_height:s,margin:h,sizing_mode:l}=this.model.properties;this.on_change([e,t,i,s,h,l],(()=>{_(this.el,this.model),_(this.container,this.model,!1)}))}async lazy_initialize(){await super.lazy_initialize(),"not_started"!=this.provider.status&&"loading"!=this.provider.status||this.provider.ready.connect((()=>{this.contains_tex_string(this.model.text)&&this.render()}))}watch_stylesheets(){this._initialized_stylesheets={};for(const e of this._applied_stylesheets){const t=e.el;t instanceof HTMLLinkElement&&(this._initialized_stylesheets[t.href]=!1,t.addEventListener("load",(()=>{this._initialized_stylesheets[t.href]=!0,Object.values(this._initialized_stylesheets).every(Boolean)&&this.style_redraw()})))}0===Object.keys(this._initialized_stylesheets).length&&this.style_redraw()}style_redraw(){}has_math_disabled(){return this.model.disable_math||!this.contains_tex_string(this.model.text)}render(){super.render(),_(this.el,this.model),this.container=(0,l.div)(),_(this.container,this.model,!1),this.shadow_el.appendChild(this.container),"failed"!=this.provider.status&&"loaded"!=this.provider.status||(this._has_finished=!0)}}function _(e,t,i=!0){let s=null!=t.width?"fixed":"fit",h=null!=t.height?"fixed":"fit";const{sizing_mode:l,margin:a}=t;if(null!=l)if("fixed"==l)s=h="fixed";else if("stretch_both"==l)s=h="max";else if("stretch_width"==l)s="max";else if("stretch_height"==l)h="max";else switch(l){case"scale_width":s="max",h="min";break;case"scale_height":s="min",h="max";break;case"scale_both":s="max",h="max";break;default:throw new Error("unreachable")}let d,o;i?(0,n.isArray)(a)?4===a.length?(o=a[0]+a[2],d=a[1]+a[3]):(o=2*a[0],d=2*a[1]):null==a?o=d=0:d=o=2*a:o=d=0,"fixed"==s&&t.width?e.style.width=`${t.width}px`:"max"==s&&(e.style.width=d?`calc(100% - ${d}px)`:"100%"),null!=t.min_width&&(e.style.minWidth=`${t.min_width}px`),null!=t.max_width&&(e.style.maxWidth=`${t.max_width}px`),"fixed"==h&&t.height?e.style.height=`${t.height}px`:"max"==h&&(e.style.height=o?`calc(100% - ${o}px)`:"100%"),null!=t.min_height&&(e.style.minHeight=`${t.min_height}px`),null!=t.max_width&&(e.style.maxHeight=`${t.max_height}px`)}i.PanelMarkupView=o,o.__name__="PanelMarkupView",i.set_size=_;class r extends d.LayoutDOMView{connect_signals(){super.connect_signals();const{width:e,height:t,min_height:i,max_height:s,margin:h,sizing_mode:l}=this.model.properties;this.on_change([e,t,i,s,h,l],(()=>{_(this.el,this.model)}))}render(){super.render(),_(this.el,this.model)}watch_stylesheets(){this._initialized_stylesheets={};for(const e of this._applied_stylesheets){const t=e.el;t instanceof HTMLLinkElement&&(this._initialized_stylesheets[t.href]=!1,t.addEventListener("load",(()=>{this._initialized_stylesheets[t.href]=!0,Object.values(this._initialized_stylesheets).every(Boolean)&&this.style_redraw()})))}}style_redraw(){}get child_models(){return[]}}i.HTMLBoxView=r,r.__name__="HTMLBoxView";class c extends d.LayoutDOM{constructor(e){super(e)}}i.HTMLBox=c,c.__name__="HTMLBox"},
49
- "fd59c985b3": function _(e,t,i,o,s){var l;o();const u=e("73d6aee8f5");class d extends u.HTMLBoxView{initialize(){super.initialize(),this._blocked=!1,this._setting=!1,this._time=Date.now()}connect_signals(){super.connect_signals();const{loop:e,paused:t,time:i,value:o,volume:s,muted:l,autoplay:u}=this.model.properties;this.on_change(e,(()=>this.set_loop())),this.on_change(t,(()=>this.set_paused())),this.on_change(i,(()=>this.set_time())),this.on_change(o,(()=>this.set_value())),this.on_change(s,(()=>this.set_volume())),this.on_change(l,(()=>this.set_muted())),this.on_change(u,(()=>this.set_autoplay()))}render(){super.render(),this.audioEl=document.createElement("audio"),this.audioEl.controls=!0,this.audioEl.src=this.model.value,this.audioEl.currentTime=this.model.time,this.audioEl.loop=this.model.loop,this.audioEl.muted=this.model.muted,this.audioEl.autoplay=this.model.autoplay,null!=this.model.volume?this.audioEl.volume=this.model.volume/100:this.model.volume=100*this.audioEl.volume,this.audioEl.onpause=()=>this.model.paused=!0,this.audioEl.onplay=()=>this.model.paused=!1,this.audioEl.ontimeupdate=()=>this.update_time(this),this.audioEl.onvolumechange=()=>this.update_volume(this),(0,u.set_size)(this.audioEl,this.model,!1),this.shadow_el.appendChild(this.audioEl),this.model.paused||this.audioEl.play()}update_time(e){e._setting?e._setting=!1:Date.now()-e._time<e.model.throttle||(e._blocked=!0,e.model.time=e.audioEl.currentTime,e._time=Date.now())}update_volume(e){e._setting?e._setting=!1:(e._blocked=!0,e.model.volume=100*e.audioEl.volume)}set_loop(){this.audioEl.loop=this.model.loop}set_muted(){this.audioEl.muted=this.model.muted}set_autoplay(){this.audioEl.autoplay=this.model.autoplay}set_paused(){!this.audioEl.paused&&this.model.paused&&this.audioEl.pause(),this.audioEl.paused&&!this.model.paused&&this.audioEl.play()}set_volume(){this._blocked?this._blocked=!1:(this._setting=!0,null!=this.model.volume&&(this.audioEl.volume=this.model.volume/100))}set_time(){this._blocked?this._blocked=!1:(this._setting=!0,this.audioEl.currentTime=this.model.time)}set_value(){this.audioEl.src=this.model.value}}i.AudioView=d,d.__name__="AudioView";class a extends u.HTMLBox{constructor(e){super(e)}}i.Audio=a,l=a,a.__name__="Audio",a.__module__="panel.models.widgets",l.prototype.default_view=d,l.define((({Any:e,Bool:t,Float:i,Nullable:o})=>({loop:[t,!1],paused:[t,!0],muted:[t,!1],autoplay:[t,!1],time:[i,0],throttle:[i,250],value:[e,""],volume:[o(i),null]})))},
45
+ "4e90918c0a": function _(e,s,t,o,i){o();const n=e("tslib").__importStar(e("62567e6811"));t.Panel=n;(0,e("@bokehjs/base").register_models)(n)},
46
+ "62567e6811": function _(e,a,t,o,c){o();const d=e("tslib");c("AcePlot",e("c780fc99fd").AcePlot),c("Audio",e("fd59c985b3").Audio),c("BrowserInfo",e("85211a0a5b").BrowserInfo),c("Button",e("1db93211cd").Button),c("ButtonIcon",e("1738ddeb3a").ButtonIcon),c("ClickableIcon",e("17193475a8").ClickableIcon),c("Card",e("aaa0c51c8d").Card),c("CheckboxButtonGroup",e("51fbe9e2d0").CheckboxButtonGroup),c("ChatAreaInput",e("27a077673d").ChatAreaInput),c("Column",e("aab20b9d6a").Column),c("CommManager",e("a5b1a17220").CommManager),c("CustomSelect",e("92bbd30bd1").CustomSelect),c("DataTabulator",e("887daef873").DataTabulator),c("DatetimePicker",e("ddf98634bb").DatetimePicker),c("DeckGLPlot",e("dc03aab885").DeckGLPlot),c("ECharts",e("04cbffdfe0").ECharts),c("Feed",e("976c02c0a8").Feed),c("FileDownload",e("3ead851ca6").FileDownload),c("HTML",e("9cfeb137e6").HTML),c("IPyWidget",e("8a8089cbf3").IPyWidget),c("JSON",e("7eff964d3e").JSON),c("JSONEditor",e("d57683bd1f").JSONEditor),c("KaTeX",e("f672d71a9f").KaTeX),c("Location",e("bd8e0fe48b").Location),c("MathJax",e("ec353a3d9a").MathJax),c("PDF",e("f87ad1873c").PDF),c("Perspective",e("8b1673a40b").Perspective),c("Player",e("f06104d237").Player),c("PlotlyPlot",e("6f2064dc74").PlotlyPlot),c("Progress",e("aded75e266").Progress),c("QuillInput",e("c72e00086f").QuillInput),c("RadioButtonGroup",e("25e2d7c208").RadioButtonGroup),c("ReactiveHTML",e("4c1a1063b3").ReactiveHTML),c("SingleSelect",e("168c4d0ebd").SingleSelect),c("SpeechToText",e("739cca6576").SpeechToText),c("State",e("92822cb73a").State),c("Tabs",e("2231cdc549").Tabs),c("Terminal",e("121f00bd6f").Terminal),c("TextAreaInput",e("b7d595d74a").TextAreaInput),c("TextInput",e("8be416b160").TextInput),c("TextToSpeech",e("a04eb51988").TextToSpeech),c("ToggleIcon",e("ad985f285e").ToggleIcon),c("TooltipIcon",e("ae3a172647").TooltipIcon),c("TrendIndicator",e("3584638c04").TrendIndicator),c("VegaPlot",e("119dc23765").VegaPlot),c("Video",e("79dc37b888").Video),c("VideoStream",e("f8afc4e661").VideoStream),c("VizzuChart",e("470ce1dcbc").VizzuChart),d.__exportStar(e("c51f25e2a7"),t)},
47
+ "c780fc99fd": function _(e,t,i,o,a){var n;o();const s=e("@bokehjs/core/dom"),d=e("c37096b5ea");class _ extends d.HTMLBoxView{connect_signals(){super.connect_signals();const{code:e,theme:t,language:i,filename:o,print_margin:a,annotations:n,readonly:s}=this.model.properties;this.on_change(e,(()=>this._update_code_from_model())),this.on_change(t,(()=>this._update_theme())),this.on_change(i,(()=>this._update_language())),this.on_change(o,(()=>this._update_filename())),this.on_change(a,(()=>this._update_print_margin())),this.on_change(n,(()=>this._add_annotations())),this.on_change(s,(()=>{this._editor.setReadOnly(this.model.readonly)}))}render(){super.render(),this._container=(0,s.div)({id:`_${Math.random().toString(36).substr(2,9)}`,style:{width:"100%",height:"100%",zIndex:0}}),this.shadow_el.append(this._container),this._container.textContent=this.model.code,this._editor=ace.edit(this._container),this._editor.renderer.attachToShadowRoot(),this._langTools=ace.require("ace/ext/language_tools"),this._modelist=ace.require("ace/ext/modelist"),this._editor.setOptions({enableBasicAutocompletion:!0,enableSnippets:!0,fontFamily:"monospace"}),this._update_theme(),this._update_filename(),this._update_language(),this._editor.setReadOnly(this.model.readonly),this._editor.setShowPrintMargin(this.model.print_margin),this._editor.on("change",(()=>this._update_code_from_editor()))}_update_code_from_model(){this._editor&&this._editor.getValue()!=this.model.code&&this._editor.setValue(this.model.code)}_update_print_margin(){this._editor.setShowPrintMargin(this.model.print_margin)}_update_code_from_editor(){this._editor.getValue()!=this.model.code&&(this.model.code=this._editor.getValue())}_update_theme(){this._editor.setTheme(`ace/theme/${this.model.theme}`)}_update_filename(){if(this.model.filename){const e=this._modelist.getModeForPath(this.model.filename).mode;this.model.language=e.slice(9)}}_update_language(){null!=this.model.language&&this._editor.session.setMode(`ace/mode/${this.model.language}`)}_add_annotations(){this._editor.session.setAnnotations(this.model.annotations)}after_layout(){super.after_layout(),void 0!==this._editor&&this._editor.resize()}}i.AcePlotView=_,_.__name__="AcePlotView";class h extends d.HTMLBox{constructor(e){super(e)}}i.AcePlot=h,n=h,h.__name__="AcePlot",h.__module__="panel.models.ace",n.prototype.default_view=_,n.define((({Any:e,List:t,Bool:i,Str:o,Nullable:a})=>({code:[o,""],filename:[a(o),null],language:[o,""],theme:[o,"chrome"],annotations:[t(e),[]],readonly:[i,!1],print_margin:[i,!1]}))),n.override({height:300,width:300})},
48
+ "c37096b5ea": function _(e,t,i,s,h){s();const l=e("@bokehjs/core/dom"),n=e("@bokehjs/core/util/types"),a=e("@bokehjs/core/util/assert"),d=e("@bokehjs/models/widgets/widget"),_=e("@bokehjs/models/layouts/layout_dom");class r extends d.WidgetView{connect_signals(){super.connect_signals();const{width:e,height:t,min_height:i,max_height:s,margin:h,sizing_mode:l}=this.model.properties;this.on_change([e,t,i,s,h,l],(()=>{o(this.el,this.model),o(this.container,this.model,!1)}))}async lazy_initialize(){await super.lazy_initialize(),"not_started"!=this.provider.status&&"loading"!=this.provider.status||this.provider.ready.connect((()=>{this.contains_tex_string(this.model.text)&&this.render()}))}watch_stylesheets(){this._initialized_stylesheets=new Map;for(const e of this._applied_stylesheets){const t=e.el;t instanceof HTMLLinkElement&&(this._initialized_stylesheets.set(t.href,!1),t.addEventListener("load",(()=>{this._initialized_stylesheets.set(t.href,!0),[...this._initialized_stylesheets.values()].every((e=>e))&&this.style_redraw()})))}0==this._initialized_stylesheets.size&&this.style_redraw()}style_redraw(){}has_math_disabled(){return this.model.disable_math||!this.contains_tex_string(this.model.text)}render(){super.render(),o(this.el,this.model),this.container=(0,l.div)(),o(this.container,this.model,!1),this.shadow_el.appendChild(this.container),"failed"!=this.provider.status&&"loaded"!=this.provider.status||(this._has_finished=!0)}}function o(e,t,i=!0){let s=null!=t.width?"fixed":"fit",h=null!=t.height?"fixed":"fit";const{sizing_mode:d,margin:_}=t;if(null!=d)if("fixed"==d)s=h="fixed";else if("stretch_both"==d)s=h="max";else if("stretch_width"==d)s="max";else if("stretch_height"==d)h="max";else switch(d){case"scale_width":s="max",h="min";break;case"scale_height":s="min",h="max";break;case"scale_both":s="max",h="max";break;default:(0,a.unreachable)()}let r,o;i?(0,n.isArray)(_)?4===_.length?(o=_[0]+_[2],r=_[1]+_[3]):(o=2*_[0],r=2*_[1]):null==_?o=r=0:r=o=2*_:o=r=0,"fixed"==s&&null!=t.width?e.style.width=(0,l.px)(t.width):"max"==s&&(e.style.width=0!=r?`calc(100% - ${(0,l.px)(r)})`:"100%"),null!=t.min_width&&(e.style.minWidth=(0,l.px)(t.min_width)),null!=t.max_width&&(e.style.maxWidth=(0,l.px)(t.max_width)),"fixed"==h&&null!=t.height?e.style.height=(0,l.px)(t.height):"max"==h&&(e.style.height=0!=o?`calc(100% - ${(0,l.px)(o)})`:"100%"),null!=t.min_height&&(e.style.minHeight=(0,l.px)(t.min_height)),null!=t.max_height&&(e.style.maxHeight=(0,l.px)(t.max_height))}i.PanelMarkupView=r,r.__name__="PanelMarkupView",i.set_size=o;class c extends _.LayoutDOMView{connect_signals(){super.connect_signals();const{width:e,height:t,min_height:i,max_height:s,margin:h,sizing_mode:l}=this.model.properties;this.on_change([e,t,i,s,h,l],(()=>{o(this.el,this.model)}))}render(){super.render(),o(this.el,this.model)}watch_stylesheets(){this._initialized_stylesheets=new Map;for(const e of this._applied_stylesheets){const t=e.el;t instanceof HTMLLinkElement&&(this._initialized_stylesheets.set(t.href,!1),t.addEventListener("load",(()=>{this._initialized_stylesheets.set(t.href,!0),[...this._initialized_stylesheets.values()].every((e=>e))&&this.style_redraw()})))}}style_redraw(){}get child_models(){return[]}}i.HTMLBoxView=c,c.__name__="HTMLBoxView";class m extends _.LayoutDOM{constructor(e){super(e)}}i.HTMLBox=m,m.__name__="HTMLBox"},
49
+ "fd59c985b3": function _(e,t,i,o,s){var l;o();const u=e("c37096b5ea");class d extends u.HTMLBoxView{initialize(){super.initialize(),this._blocked=!1,this._setting=!1,this._time=Date.now()}connect_signals(){super.connect_signals();const{loop:e,paused:t,time:i,value:o,volume:s,muted:l,autoplay:u}=this.model.properties;this.on_change(e,(()=>this.set_loop())),this.on_change(t,(()=>this.set_paused())),this.on_change(i,(()=>this.set_time())),this.on_change(o,(()=>this.set_value())),this.on_change(s,(()=>this.set_volume())),this.on_change(l,(()=>this.set_muted())),this.on_change(u,(()=>this.set_autoplay()))}render(){super.render(),this.audioEl=document.createElement("audio"),this.audioEl.controls=!0,this.audioEl.src=this.model.value,this.audioEl.currentTime=this.model.time,this.audioEl.loop=this.model.loop,this.audioEl.muted=this.model.muted,this.audioEl.autoplay=this.model.autoplay,null!=this.model.volume?this.audioEl.volume=this.model.volume/100:this.model.volume=100*this.audioEl.volume,this.audioEl.onpause=()=>this.model.paused=!0,this.audioEl.onplay=()=>this.model.paused=!1,this.audioEl.ontimeupdate=()=>this.update_time(this),this.audioEl.onvolumechange=()=>this.update_volume(this),(0,u.set_size)(this.audioEl,this.model,!1),this.shadow_el.appendChild(this.audioEl),this.model.paused||this.audioEl.play()}update_time(e){e._setting?e._setting=!1:Date.now()-e._time<e.model.throttle||(e._blocked=!0,e.model.time=e.audioEl.currentTime,e._time=Date.now())}update_volume(e){e._setting?e._setting=!1:(e._blocked=!0,e.model.volume=100*e.audioEl.volume)}set_loop(){this.audioEl.loop=this.model.loop}set_muted(){this.audioEl.muted=this.model.muted}set_autoplay(){this.audioEl.autoplay=this.model.autoplay}set_paused(){!this.audioEl.paused&&this.model.paused&&this.audioEl.pause(),this.audioEl.paused&&!this.model.paused&&this.audioEl.play()}set_volume(){this._blocked?this._blocked=!1:(this._setting=!0,null!=this.model.volume&&(this.audioEl.volume=this.model.volume/100))}set_time(){this._blocked?this._blocked=!1:(this._setting=!0,this.audioEl.currentTime=this.model.time)}set_value(){this.audioEl.src=this.model.value}}i.AudioView=d,d.__name__="AudioView";class a extends u.HTMLBox{constructor(e){super(e)}}i.Audio=a,l=a,a.__name__="Audio",a.__module__="panel.models.widgets",l.prototype.default_view=d,l.define((({Any:e,Bool:t,Float:i,Nullable:o})=>({loop:[t,!1],paused:[t,!0],muted:[t,!1],autoplay:[t,!1],time:[i,0],throttle:[i,250],value:[e,""],volume:[o(i),null]})))},
50
50
  "85211a0a5b": function _(e,o,i,l,n){var t;l();const s=e("@bokehjs/core/view"),a=e("@bokehjs/model");class r extends s.View{initialize(){super.initialize(),null!=window.matchMedia&&(this.model.dark_mode=window.matchMedia("(prefers-color-scheme: dark)").matches),this.model.device_pixel_ratio=window.devicePixelRatio,null!=navigator&&(this.model.language=navigator.language,this.model.webdriver=navigator.webdriver);const e=Intl.DateTimeFormat().resolvedOptions().timeZone;null!=e&&(this.model.timezone=e);const o=(new Date).getTimezoneOffset();null!=o&&(this.model.timezone_offset=o),this._has_finished=!0,this.notify_finished()}}i.BrowserInfoView=r,r.__name__="BrowserInfoView";class d extends a.Model{constructor(e){super(e)}}i.BrowserInfo=d,t=d,d.__name__="BrowserInfo",d.__module__="panel.models.browser",t.prototype.default_view=r,t.define((({Bool:e,Nullable:o,Float:i,Str:l})=>({dark_mode:[o(e),null],device_pixel_ratio:[o(i),null],language:[o(l),null],timezone:[o(l),null],timezone_offset:[o(i),null],webdriver:[o(e),null]})))},
51
51
  "1db93211cd": function _(t,e,o,i,l){var s;i();const n=t("@bokehjs/models/ui/tooltip"),a=t("@bokehjs/core/build_views"),p=t("@bokehjs/models/widgets/button");class u extends p.ButtonView{*children(){yield*super.children(),null!=this.tooltip&&(yield this.tooltip)}connect_signals(){super.connect_signals();const{tooltip:t}=this.model.properties;this.on_change(t,(()=>this.update_tooltip()))}async update_tooltip(){null!=this.tooltip&&this.tooltip.remove();const{tooltip:t}=this.model;null!=t&&(this.tooltip=await(0,a.build_view)(t,{parent:this}))}async lazy_initialize(){await super.lazy_initialize();const{tooltip:t}=this.model;null!=t&&(this.tooltip=await(0,a.build_view)(t,{parent:this}))}remove(){this.tooltip?.remove(),super.remove()}render(){super.render();const t=t=>{this.tooltip?.model.setv({visible:t})};let e;this.el.addEventListener("mouseenter",(()=>{e=setTimeout((()=>t(!0)),this.model.tooltip_delay)})),this.el.addEventListener("mouseleave",(()=>{clearTimeout(e),t(!1)}))}}o.ButtonView=u,u.__name__="ButtonView";class d extends p.Button{constructor(t){super(t)}}o.Button=d,s=d,d.__name__="Button",d.__module__="panel.models.widgets",s.prototype.default_view=u,s.define((({Nullable:t,Ref:e,Float:o})=>({tooltip:[t(e(n.Tooltip)),null],tooltip_delay:[o,500]})))},
52
52
  "1738ddeb3a": function _(e,t,o,n,i){var l;n();const s=e("17193475a8");class c extends s.ClickableIconView{*controls(){}update_cursor(){this.icon_view.el.style.cursor=this.model.disabled?"default":"pointer"}click(){if(this.model.disabled)return;super.click();const e=(e,t)=>{this.model.value=e,this.model.disabled=t};e(!0,!0),new Promise((e=>setTimeout(e,this.model.toggle_duration))).then((()=>{e(!1,!1)}))}}o.ButtonIconView=c,c.__name__="ButtonIconView";class d extends s.ClickableIcon{constructor(e){super(e)}}o.ButtonIcon=d,l=d,d.__name__="ButtonIcon",d.__module__="panel.models.icon",l.prototype.default_view=c,l.define((({Int:e})=>({toggle_duration:[e,75]})))},
53
53
  "17193475a8": function _(i,e,t,o,s){var l;o();const n=i("@bokehjs/models/ui/tooltip"),c=i("@bokehjs/models/ui/icons/tabler_icon"),a=i("@bokehjs/models/ui/icons/svg_icon"),h=i("@bokehjs/models/widgets/control"),_=i("@bokehjs/core/dom"),d=i("@bokehjs/core/build_views"),r=i("@bokehjs/core/bokeh_events");class u extends h.ControlView{*controls(){}remove(){this.tooltip?.remove(),this.icon_view.remove(),super.remove()}async lazy_initialize(){await super.lazy_initialize(),this.was_svg_icon=this.is_svg_icon(this.model.icon),this.label_el=(0,_.div)({class:"bk-IconLabel"},this.model.title),this.label_el.style.fontSize=this.calculate_size(.6),this.icon_view=await this.build_icon_model(this.model.icon,this.was_svg_icon);const{tooltip:i}=this.model;null!=i&&(this.tooltip=await(0,d.build_view)(i,{parent:this}))}*children(){yield*super.children(),yield this.icon_view,null!=this.tooltip&&(yield this.tooltip)}is_svg_icon(i){return i.trim().startsWith("<svg")}connect_signals(){super.connect_signals();const{icon:i,active_icon:e,disabled:t,value:o,size:s,tooltip:l}=this.model.properties;this.on_change([e,i,o],(()=>this.update_icon())),this.on_change(this.model.properties.title,(()=>this.update_label())),this.on_change(t,(()=>this.update_cursor())),this.on_change(s,(()=>this.update_size())),this.on_change(l,(()=>this.update_tooltip()))}async update_tooltip(){null!=this.tooltip&&this.tooltip.remove();const{tooltip:i}=this.model;null!=i&&(this.tooltip=await(0,d.build_view)(i,{parent:this}))}render(){super.render(),this.icon_view.render(),this.update_icon(),this.update_label(),this.update_cursor(),this.row_div=(0,_.div)({class:"bk-IconRow"},this.icon_view.el,this.label_el),this.shadow_el.appendChild(this.row_div);const i=i=>{this.tooltip?.model.setv({visible:i})};let e;this.el.addEventListener("mouseenter",(()=>{e=setTimeout((()=>i(!0)),this.model.tooltip_delay)})),this.el.addEventListener("mouseleave",(()=>{clearTimeout(e),i(!1)}))}update_label(){this.label_el.innerText=this.model.title}update_cursor(){this.icon_view.el.style.cursor=this.model.disabled?"not-allowed":"pointer"}update_size(){this.icon_view.model.size=this.calculate_size(),this.label_el.style.fontSize=this.calculate_size(.6)}async build_icon_model(i,e){const t=this.calculate_size(),o=e?new a.SVGIcon({svg:i,size:t}):new c.TablerIcon({icon_name:i,size:t}),s=await(0,d.build_view)(o,{parent:this});return s.el.addEventListener("click",(()=>this.click())),s}async update_icon(){const i=this.model.value?this.get_active_icon():this.model.icon;this.class_list.toggle("active",this.model.value);const e=this.is_svg_icon(i);if(this.was_svg_icon!==e){const t=await this.build_icon_model(i,e);t.render(),this.icon_view.remove(),this.icon_view=t,this.was_svg_icon=e,this.update_cursor(),this.row_div.insertBefore(this.icon_view.el,this.label_el)}else e?this.icon_view.model.svg=i:this.icon_view.model.icon_name=i;this.icon_view.el.style.lineHeight="0"}get_active_icon(){return""!==this.model.active_icon?this.model.active_icon:`${this.model.icon}-filled`}calculate_size(i=1){if(null!==this.model.size)return`calc(${this.model.size} * ${i})`;const e=this.model.width??15,t=this.model.height??15;return`${Math.max(e,t)*i}px`}click(){this.model.trigger_event(new r.ButtonClick)}}t.ClickableIconView=u,u.__name__="ClickableIconView";class v extends h.Control{constructor(i){super(i)}on_click(i){this.on_event(r.ButtonClick,i)}}t.ClickableIcon=v,l=v,v.__name__="ClickableIcon",v.__module__="panel.models.icon",l.prototype.default_view=u,l.define((({Nullable:i,Ref:e,Float:t,Str:o,Bool:s})=>({active_icon:[o,""],icon:[o,"heart"],size:[i(o),null],value:[s,!1],title:[o,""],tooltip:[i(e(n.Tooltip)),null],tooltip_delay:[t,500]})))},
54
- "aaa0c51c8d": function _(e,l,s,t,o){var i;t();const n=e("tslib"),a=e("aab20b9d6a"),d=n.__importStar(e("@bokehjs/core/dom")),r=n.__importDefault(e("dfbedd1d49")),h='\n<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-right"><path stroke="none" d="M0 0h12v12H0z" fill="none"/><path d="M9 6l6 6l-6 6" /></svg>\n',c='\n<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-down"><path stroke="none" d="M0 0h12v12H0z" fill="none"/><path d="M6 9l6 6l6 -6" /></svg>\n';class _ extends a.ColumnView{constructor(){super(...arguments),this.collapsed_style=new d.InlineStyleSheet}connect_signals(){super.connect_signals();const{active_header_background:e,collapsed:l,header_background:s,header_color:t,hide_header:o}=this.model.properties;this.on_change(l,(()=>this._collapse())),this.on_change([t,o],(()=>this.render())),this.on_change([e,l,s],(()=>{const e=this.header_background;null!=e&&(this.child_views[0].el.style.backgroundColor=e,this.header_el.style.backgroundColor=e)}))}stylesheets(){return[...super.stylesheets(),r.default]}*_stylesheets(){yield*super._stylesheets(),yield this.collapsed_style}get header_background(){let e=this.model.header_background;return!this.model.collapsed&&this.model.active_header_background&&(e=this.model.active_header_background),e}render(){this.empty(),this.model.collapsed&&this.collapsed_style.replace(":host",{height:"fit-content",flex:"none"}),this._update_stylesheets(),this._update_css_classes(),this._apply_styles(),this._apply_visible(),this.class_list.add(...this.css_classes());const{button_css_classes:e,header_color:l,header_tag:s,header_css_classes:t}=this.model,o=this.header_background,i=this.child_views[0];let n;if(this.model.collapsible){this.button_el=d.createElement("button",{type:"button",class:t});const l=d.createElement("div",{class:e});l.innerHTML=this.model.collapsed?h:c,this.button_el.appendChild(l),this.button_el.style.backgroundColor=null!=o?o:"",i.el.style.backgroundColor=null!=o?o:"",this.button_el.appendChild(i.el),this.button_el.onclick=()=>this._toggle_button(),n=this.button_el}else n=d.createElement(s,{class:t}),n.style.backgroundColor=null!=o?o:"",n.appendChild(i.el);if(this.header_el=n,this.model.hide_header||(n.style.color=null!=l?l:"",this.shadow_el.appendChild(n),i.render(),i.after_render()),!this.model.collapsed)for(const e of this.child_views.slice(1))this.shadow_el.appendChild(e.el),e.render(),e.after_render()}async update_children(){await this.build_child_views(),this.render(),this.invalidate_layout()}_toggle_button(){this.model.collapsed=!this.model.collapsed}_collapse(){for(const e of this.child_views.slice(1))this.model.collapsed?(this.shadow_el.removeChild(e.el),e.model.visible=!1):(e.render(),e.after_render(),this.shadow_el.appendChild(e.el),e.model.visible=!0);this.model.collapsed?this.collapsed_style.replace(":host",{height:"fit-content",flex:"none"}):this.collapsed_style.clear(),this.button_el.children[0].innerHTML=this.model.collapsed?h:c,this.invalidate_layout()}_createElement(){return d.createElement(this.model.tag,{class:this.css_classes()})}}s.CardView=_,_.__name__="CardView";class u extends a.Column{constructor(e){super(e)}}s.Card=u,i=u,u.__name__="Card",u.__module__="panel.models.layout",i.prototype.default_view=_,i.define((({List:e,Bool:l,Nullable:s,Str:t})=>({active_header_background:[s(t),null],button_css_classes:[e(t),[]],collapsed:[l,!0],collapsible:[l,!0],header_background:[s(t),null],header_color:[s(t),null],header_css_classes:[e(t),[]],header_tag:[t,"div"],hide_header:[l,!1],tag:[t,"div"]})))},
54
+ "aaa0c51c8d": function _(e,l,s,t,o){var i;t();const n=e("tslib"),a=e("aab20b9d6a"),d=n.__importStar(e("@bokehjs/core/dom")),r=n.__importDefault(e("edc7ee0090")),h='\n<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-right"><path stroke="none" d="M0 0h12v12H0z" fill="none"/><path d="M9 6l6 6l-6 6" /></svg>\n',c='\n<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-down"><path stroke="none" d="M0 0h12v12H0z" fill="none"/><path d="M6 9l6 6l6 -6" /></svg>\n';class _ extends a.ColumnView{constructor(){super(...arguments),this.collapsed_style=new d.InlineStyleSheet}connect_signals(){super.connect_signals();const{active_header_background:e,collapsed:l,header_background:s,header_color:t,hide_header:o}=this.model.properties;this.on_change(l,(()=>this._collapse())),this.on_change([t,o],(()=>this.render())),this.on_change([e,l,s],(()=>{const e=this.header_background;null!=e&&(this.child_views[0].el.style.backgroundColor=e,this.header_el.style.backgroundColor=e)}))}stylesheets(){return[...super.stylesheets(),r.default]}*_stylesheets(){yield*super._stylesheets(),yield this.collapsed_style}get header_background(){let e=this.model.header_background;return!this.model.collapsed&&this.model.active_header_background&&(e=this.model.active_header_background),e}render(){this.empty(),this.model.collapsed&&this.collapsed_style.replace(":host",{height:"fit-content",flex:"none"}),this._update_stylesheets(),this._update_css_classes(),this._apply_styles(),this._apply_visible(),this.class_list.add(...this.css_classes());const{button_css_classes:e,header_color:l,header_tag:s,header_css_classes:t}=this.model,o=this.header_background,i=this.child_views[0];let n;if(this.model.collapsible){this.button_el=d.createElement("button",{type:"button",class:t});const l=d.createElement("div",{class:e});l.innerHTML=this.model.collapsed?h:c,this.button_el.appendChild(l),this.button_el.style.backgroundColor=null!=o?o:"",i.el.style.backgroundColor=null!=o?o:"",this.button_el.appendChild(i.el),this.button_el.onclick=()=>this._toggle_button(),n=this.button_el}else n=d.createElement(s,{class:t}),n.style.backgroundColor=null!=o?o:"",n.appendChild(i.el);if(this.header_el=n,this.model.hide_header||(n.style.color=null!=l?l:"",this.shadow_el.appendChild(n),i.render(),i.after_render()),!this.model.collapsed)for(const e of this.child_views.slice(1))this.shadow_el.appendChild(e.el),e.render(),e.after_render()}async update_children(){await this.build_child_views(),this.render(),this.invalidate_layout()}_toggle_button(){this.model.collapsed=!this.model.collapsed}_collapse(){for(const e of this.child_views.slice(1))this.model.collapsed?(this.shadow_el.removeChild(e.el),e.model.visible=!1):(e.render(),e.after_render(),this.shadow_el.appendChild(e.el),e.model.visible=!0);this.model.collapsed?this.collapsed_style.replace(":host",{height:"fit-content",flex:"none"}):this.collapsed_style.clear(),this.button_el.children[0].innerHTML=this.model.collapsed?h:c,this.invalidate_layout()}_createElement(){return d.createElement(this.model.tag,{class:this.css_classes()})}}s.CardView=_,_.__name__="CardView";class u extends a.Column{constructor(e){super(e)}}s.Card=u,i=u,u.__name__="Card",u.__module__="panel.models.layout",i.prototype.default_view=_,i.define((({List:e,Bool:l,Nullable:s,Str:t})=>({active_header_background:[s(t),null],button_css_classes:[e(t),[]],collapsed:[l,!0],collapsible:[l,!0],header_background:[s(t),null],header_color:[s(t),null],header_css_classes:[e(t),[]],header_tag:[t,"div"],hide_header:[l,!1],tag:[t,"div"]})))},
55
55
  "aab20b9d6a": function _(t,o,l,s,e){var i;s();const r=t("tslib"),_=t("@bokehjs/models/layouts/column"),n=r.__importStar(t("@bokehjs/core/dom"));class c extends _.ColumnView{connect_signals(){super.connect_signals();const{children:t,scroll_position:o,scroll_button_threshold:l}=this.model.properties;this.on_change(t,(()=>this.trigger_auto_scroll())),this.on_change(o,(()=>this.scroll_to_position())),this.on_change(l,(()=>this.toggle_scroll_button()))}get distance_from_latest(){return this.el.scrollHeight-this.el.scrollTop-this.el.clientHeight}scroll_to_position(){requestAnimationFrame((()=>{this.el.scrollTo({top:this.model.scroll_position,behavior:"instant"})}))}scroll_to_latest(){requestAnimationFrame((()=>{this.model.scroll_position=Math.round(this.el.scrollHeight)}))}trigger_auto_scroll(){const t=this.model.auto_scroll_limit;if(0==t)return;this.distance_from_latest<=t&&this.scroll_to_latest()}record_scroll_position(){this.model.scroll_position=Math.round(this.el.scrollTop)}toggle_scroll_button(){const t=this.model.scroll_button_threshold;if(!this.scroll_down_button_el||0===t)return;const o=this.distance_from_latest>=t;this.scroll_down_button_el.classList.toggle("visible",o)}render(){super.render(),this.scroll_down_button_el=n.createElement("div",{class:"scroll-button"}),this.shadow_el.appendChild(this.scroll_down_button_el),this.el.addEventListener("scroll",(()=>{this.record_scroll_position(),this.toggle_scroll_button()})),this.scroll_down_button_el.addEventListener("click",(()=>{this.scroll_to_latest()}))}after_render(){super.after_render(),requestAnimationFrame((()=>{this.model.scroll_position&&this.scroll_to_position(),this.model.view_latest&&this.scroll_to_latest(),this.toggle_scroll_button()}))}}l.ColumnView=c,c.__name__="ColumnView";class h extends _.Column{constructor(t){super(t)}}l.Column=h,i=h,h.__name__="Column",h.__module__="panel.models.layout",i.prototype.default_view=c,i.define((({Int:t,Bool:o})=>({scroll_position:[t,0],auto_scroll_limit:[t,0],scroll_button_threshold:[t,0],view_latest:[o,!1]})))},
56
- "dfbedd1d49": function _(r,e,o,t,a){t(),o.default=":host(.card){border-radius:0.25rem;box-shadow:rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;flex:auto;outline:1px solid rgba(0, 0, 0, 0.125);}:host(.accordion){box-shadow:rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;outline:1px solid rgba(0, 0, 0, 0.125);width:100%;}.card-header{align-items:center;background-color:rgba(0, 0, 0, 0.03);border:unset;border-radius:0.25rem;display:inline-flex;justify-content:start;outline:unset;position:sticky;width:100%;padding-inline:0.5em;}.accordion-header{align-items:center;background-color:rgba(0, 0, 0, 0.03);border:unset;outline:1px solid;border-radius:0;display:flex;justify-content:start;position:sticky;width:100%;}.card-button{background-color:transparent;margin-left:0em;margin-right:0.25em;}.card-header-row{position:relative !important;}.card-title{align-items:center;font-size:1.4em;font-weight:bold;overflow-wrap:break-word;}.card-header-row > .bk{overflow-wrap:break-word;text-align:center;}"},
56
+ "edc7ee0090": function _(r,e,o,t,a){t(),o.default=":host(.card){border-radius:0.25rem;box-shadow:rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;flex:auto;outline:1px solid rgba(0, 0, 0, 0.125);}:host(.accordion){box-shadow:rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;outline:1px solid rgba(0, 0, 0, 0.125);width:100%;}.card-header{align-items:center;background-color:rgba(0, 0, 0, 0.03);border:unset;border-radius:0.25rem;display:inline-flex;justify-content:start;outline:unset;position:sticky;width:100%;margin-right:0.5em;padding-inline:0.5em;cursor:pointer;}.card-header:hover{box-shadow:0 0 3px rgba(0, 0, 0, 0.3);}.card-header:not(:hover){box-shadow:0 0 3px rgba(0, 0, 0, 0);}.accordion-header{align-items:center;background-color:rgba(0, 0, 0, 0.03);border:unset;outline:1px solid;border-radius:0;display:flex;justify-content:start;position:sticky;width:100%;cursor:pointer;}.card-button{background-color:transparent;margin-left:0em;margin-right:0.25em;height:12px;width:12px;}.card-header-row{position:relative !important;}.card-title{align-items:center;font-size:1.4em;font-weight:bold;overflow-wrap:break-word;}.card-header-row > .bk{overflow-wrap:break-word;text-align:center;}"},
57
57
  "51fbe9e2d0": function _(t,e,o,i,l){var s;i();const n=t("@bokehjs/models/ui/tooltip"),p=t("@bokehjs/core/build_views"),u=t("@bokehjs/models/widgets/checkbox_button_group");class r extends u.CheckboxButtonGroupView{*children(){yield*super.children(),null!=this.tooltip&&(yield this.tooltip)}connect_signals(){super.connect_signals();const{tooltip:t}=this.model.properties;this.on_change(t,(()=>this.update_tooltip()))}async update_tooltip(){null!=this.tooltip&&this.tooltip.remove();const{tooltip:t}=this.model;null!=t&&(this.tooltip=await(0,p.build_view)(t,{parent:this}))}async lazy_initialize(){await super.lazy_initialize();const{tooltip:t}=this.model;null!=t&&(this.tooltip=await(0,p.build_view)(t,{parent:this}))}remove(){this.tooltip?.remove(),super.remove()}render(){super.render();const t=t=>{this.tooltip?.model.setv({visible:t})};let e;this.el.addEventListener("mouseenter",(()=>{e=setTimeout((()=>t(!0)),this.model.tooltip_delay)})),this.el.addEventListener("mouseleave",(()=>{clearTimeout(e),t(!1)}))}}o.CheckboxButtonGroupView=r,r.__name__="CheckboxButtonGroupView";class a extends u.CheckboxButtonGroup{constructor(t){super(t)}}o.CheckboxButtonGroup=a,s=a,a.__name__="CheckboxButtonGroup",a.__module__="panel.models.widgets",s.prototype.default_view=r,s.define((({Nullable:t,Ref:e,Float:o})=>({tooltip:[t(e(n.Tooltip)),null],tooltip_delay:[o,500]})))},
58
58
  "27a077673d": function _(e,t,n,s,a){var r,_;s();const i=e("b7d595d74a"),l=e("@bokehjs/core/bokeh_events");class o extends l.ModelEvent{constructor(e){super(),this.value=e}get event_values(){return{model:this.origin,value:this.value}}}n.ChatMessageEvent=o,r=o,o.__name__="ChatMessageEvent",r.prototype.event_name="chat_message_event";class d extends i.TextAreaInputView{connect_signals(){super.connect_signals();const{value_input:e}=this.model.properties;this.on_change(e,(()=>this.update_rows()))}render(){super.render(),this.el.addEventListener("keydown",(e=>{"Enter"===e.key&&(e.shiftKey||e.ctrlKey==this.model.enter_sends?e.ctrlKey&&this.model.enter_sends&&(this.model.value_input+="\n",e.preventDefault()):(this.model.disabled_enter||(this.model.trigger_event(new o(this.model.value_input)),this.model.value_input=""),e.preventDefault()))}))}}n.ChatAreaInputView=d,d.__name__="ChatAreaInputView";class u extends i.TextAreaInput{constructor(e){super(e)}}n.ChatAreaInput=u,_=u,u.__name__="ChatAreaInput",u.__module__="panel.models.chatarea_input",_.prototype.default_view=d,_.define((({Bool:e})=>({disabled_enter:[e,!1],enter_sends:[e,!0]})))},
59
59
  "b7d595d74a": function _(e,t,s,n,o){var a;n();const r=e("@bokehjs/models/widgets/textarea_input");class i extends r.TextAreaInputView{connect_signals(){super.connect_signals();const{value:e,max_rows:t}=this.model.properties;this.on_change([t,e],(()=>this.update_rows()))}update_rows(){if(!this.model.auto_grow)return;const e=this.input_el,t=e.value.split("\n"),s=Math.max(t.length,this.model.rows,1);e.rows=Math.min(s,this.model.max_rows||1/0)}render(){super.render(),this.update_rows(),this.el.addEventListener("input",(()=>{this.update_rows()}))}}s.TextAreaInputView=i,i.__name__="TextAreaInputView";class _ extends r.TextAreaInput{constructor(e){super(e)}}s.TextAreaInput=_,a=_,_.__name__="TextAreaInput",_.__module__="panel.models.widgets",a.prototype.default_view=i,a.define((({Bool:e,Int:t,Nullable:s})=>({auto_grow:[e,!1],max_rows:[s(t),null]})))},
60
- "352943c042": function _(e,t,s,n,o){var i;n();const c=e("@bokehjs/document"),l=e("@bokehjs/core/view"),_=e("@bokehjs/model"),h=e("@bokehjs/protocol/message"),r=e("@bokehjs/protocol/receiver");s.comm_settings={debounce:!0};class a extends l.View{}s.CommManagerView=a,a.__name__="CommManagerView";class d extends _.Model{constructor(e){super(e),this._document_listener=e=>this._document_changed(e)}initialize(){super.initialize(),this._receiver=new r.Receiver,this._event_buffer=[],this._blocked=!1,this._timeout=Date.now(),null!=window.PyViz&&window.PyViz.comm_manager?(this.ns=window.PyViz,this.ns.comm_manager.register_target(this.plot_id,this.comm_id,(e=>{for(const t of this.ns.shared_views.get(this.plot_id))t!==this&&t.msg_handler(e);try{this.msg_handler(e)}catch(e){console.error(e)}})),this._client_comm=this.ns.comm_manager.get_client_comm(this.plot_id,this.client_comm_id,(e=>this.on_ack(e))),null==this.ns.shared_views&&(this.ns.shared_views=new Map),this.ns.shared_views.has(this.plot_id)?this.ns.shared_views.get(this.plot_id).push(this):this.ns.shared_views.set(this.plot_id,[this])):console.log("Could not find comm manager on window.PyViz, ensure the extension is loaded.")}_doc_attached(){super._doc_attached(),null!=this.document&&this.document.on_change(this._document_listener)}_document_changed(e){e instanceof c.ModelChangedEvent&&!e.model.properties[e.attr].syncable||(this._event_buffer.push(e),s.comm_settings.debounce?(!this._blocked||Date.now()>this._timeout)&&(setTimeout((()=>this.process_events()),this.debounce),this._blocked=!0,this._timeout=Date.now()+this.timeout):this.process_events())}_extract_buffers(e,t){let s;if(e instanceof Array){s=[];for(const n of e)s.push(this._extract_buffers(n,t))}else if(e instanceof Object){s={};for(const n in e){if("buffer"===n&&e[n]instanceof ArrayBuffer){s={id:Object.keys(t).length},t.push(e[n]);break}s[n]=this._extract_buffers(e[n],t)}}else s=e;return s}process_events(){if(null==this.document||null==this._client_comm)return;const e=this.document.create_json_patch(this._event_buffer);this._event_buffer=[];const t={...h.Message.create("PATCH-DOC",{},e)},s=[];t.content=this._extract_buffers(t.content,s),this._client_comm.send(t,{},s);for(const t of this.ns.shared_views.get(this.plot_id))t!==this&&null!=t.document&&t.document.apply_json_patch(e,[],this.id)}disconnect_signals(){super.disconnect_signals(),this.ns.shared_views.shared_views.delete(this.plot_id)}on_ack(e){const t=e.metadata;this._event_buffer.length>0?(this._blocked=!0,this._timeout=Date.now()+this.timeout,this.process_events()):this._blocked=!1,"Ready"==t.msg_type&&t.content?console.log("Python callback returned following output:",t.content):"Error"==t.msg_type&&console.log("Python failed with the following traceback:",t.traceback)}msg_handler(e){const t=e.metadata,s=e.buffers,n=e.content.data,o=this.plot_id;if("Ready"==t.msg_type)t.content?console.log("Python callback returned following output:",t.content):"Error"==t.msg_type&&console.log("Python failed with the following traceback:",t.traceback);else if(null!=o){let e=null;if(o in this.ns.plot_index&&null!=this.ns.plot_index[o]?e=this.ns.plot_index[o]:void 0!==window.Bokeh&&o in window.Bokeh.index&&(e=window.Bokeh.index[o]),null==e)return;if(n.length)this._receiver.consume(n);else{if(!(null!=s&&s.length>0))return;this._receiver.consume(s[0].buffer)}const t=this._receiver.message;if(null!=t&&Object.keys(t.content).length>0&&null!=this.document){const e=t.content;this.document.apply_json_patch(e,t.buffers)}}}}s.CommManager=d,i=d,d.__name__="CommManager",d.__module__="panel.models.comm_manager",i.prototype.default_view=a,i.define((({Int:e,Str:t,Nullable:s})=>({plot_id:[s(t),null],comm_id:[s(t),null],client_comm_id:[s(t),null],timeout:[e,5e3],debounce:[e,50]})))},
60
+ "a5b1a17220": function _(e,t,s,n,o){var i;n();const c=e("@bokehjs/document"),l=e("@bokehjs/core/view"),_=e("@bokehjs/model"),h=e("@bokehjs/protocol/message"),r=e("@bokehjs/protocol/receiver"),a=e("@bokehjs/core/util/types"),d=e("@bokehjs/core/util/object");s.comm_settings={debounce:!0};class u extends l.View{}s.CommManagerView=u,u.__name__="CommManagerView";class m extends _.Model{constructor(e){super(e),this._document_listener=e=>this._document_changed(e)}initialize(){super.initialize(),this._receiver=new r.Receiver,this._event_buffer=[],this._blocked=!1,this._timeout=Date.now(),null!=window.PyViz&&window.PyViz.comm_manager?(this.ns=window.PyViz,this.ns.comm_manager.register_target(this.plot_id,this.comm_id,(e=>{for(const t of this.ns.shared_views.get(this.plot_id))t!==this&&t.msg_handler(e);try{this.msg_handler(e)}catch(e){console.error(e)}})),this._client_comm=this.ns.comm_manager.get_client_comm(this.plot_id,this.client_comm_id,(e=>this.on_ack(e))),null==this.ns.shared_views&&(this.ns.shared_views=new Map),this.ns.shared_views.has(this.plot_id)?this.ns.shared_views.get(this.plot_id).push(this):this.ns.shared_views.set(this.plot_id,[this])):console.log("Could not find comm manager on window.PyViz, ensure the extension is loaded.")}_doc_attached(){super._doc_attached(),null!=this.document&&this.document.on_change(this._document_listener)}_document_changed(e){e instanceof c.ModelChangedEvent&&!e.model.properties[e.attr].syncable||(this._event_buffer.push(e),s.comm_settings.debounce?(!this._blocked||Date.now()>this._timeout)&&(setTimeout((()=>this.process_events()),this.debounce),this._blocked=!0,this._timeout=Date.now()+this.timeout):this.process_events())}_extract_buffers(e,t){if((0,a.isArray)(e))for(const s of e)this._extract_buffers(s,t);else if((0,a.isPlainObject)(e))if(1==(0,d.size)(e)&&e.buffer instanceof ArrayBuffer){const{buffer:s}=e;delete e.buffer;const n=t.length;e.id=n,t.push(s)}else for(const s of(0,d.values)(e))this._extract_buffers(s,t)}process_events(){if(null==this.document||null==this._client_comm)return;const e=this.document.create_json_patch(this._event_buffer);this._event_buffer=[];const t={...h.Message.create("PATCH-DOC",{},e)},s=[];this._extract_buffers(t.content,s),this._client_comm.send(t,{},s);for(const t of this.ns.shared_views.get(this.plot_id))t!==this&&null!=t.document&&t.document.apply_json_patch(e,[],this.id)}disconnect_signals(){super.disconnect_signals(),this.ns.shared_views.shared_views.delete(this.plot_id)}on_ack(e){const t=e.metadata;this._event_buffer.length>0?(this._blocked=!0,this._timeout=Date.now()+this.timeout,this.process_events()):this._blocked=!1,"Ready"==t.msg_type&&t.content?console.log("Python callback returned following output:",t.content):"Error"==t.msg_type&&console.log("Python failed with the following traceback:",t.traceback)}msg_handler(e){const t=e.metadata,s=e.buffers,n=e.content.data,o=this.plot_id;if("Ready"==t.msg_type)t.content?console.log("Python callback returned following output:",t.content):"Error"==t.msg_type&&console.log("Python failed with the following traceback:",t.traceback);else if(null!=o){let e=null;if(o in this.ns.plot_index&&null!=this.ns.plot_index[o]?e=this.ns.plot_index[o]:void 0!==window.Bokeh&&o in window.Bokeh.index&&(e=window.Bokeh.index[o]),null==e)return;if(n.length)this._receiver.consume(n);else{if(!(null!=s&&s.length>0))return;this._receiver.consume(s[0].buffer)}const t=this._receiver.message;if(null!=t&&Object.keys(t.content).length>0&&null!=this.document){const e=t.content;this.document.apply_json_patch(e,t.buffers)}}}}s.CommManager=m,i=m,m.__name__="CommManager",m.__module__="panel.models.comm_manager",i.prototype.default_view=u,i.define((({Int:e,Str:t,Nullable:s})=>({plot_id:[s(t),null],comm_id:[s(t),null],client_comm_id:[s(t),null],timeout:[e,5e3],debounce:[e,50]})))},
61
61
  "92bbd30bd1": function _(e,t,s,o,i){var n;o();const l=e("@bokehjs/models/widgets/select");class d extends l.SelectView{connect_signals(){super.connect_signals();const{disabled_options:e}=this.model.properties;this.on_change(e,(()=>this._update_disabled_options()))}options_el(){const e=super.options_el(),{disabled_options:t}=this.model;return e.forEach((e=>{e instanceof HTMLOptionElement&&t.includes(e.value)&&e.setAttribute("disabled","true")})),e}_update_disabled_options(){for(const e of this.input_el.options)this.model.disabled_options.includes(e.value)?e.setAttribute("disabled","true"):e.removeAttribute("disabled")}}s.CustomSelectView=d,d.__name__="CustomSelectView";class _ extends l.Select{constructor(e){super(e)}}s.CustomSelect=_,n=_,_.__name__="CustomSelect",_.__module__="panel.models.widgets",n.prototype.default_view=d,n.define((({List:e,Str:t})=>({disabled_options:[e(t),[]]})))},
62
- "887daef873": function _(t,e,i,s,o){var l,n,a,r;s();const d=t("@bokehjs/core/dom"),h=t("@bokehjs/core/util/types"),c=t("@bokehjs/core/bokeh_events"),u=t("@bokehjs/core/dom"),_=t("@bokehjs/core/kinds"),m=t("@bokehjs/models/sources/column_data_source"),g=t("@bokehjs/models/widgets/tables"),f=t("99a25e6992"),p=t("352943c042"),b=t("be689f0377"),w=t("73d6aee8f5");class y extends c.ModelEvent{constructor(t,e,i){super(),this.column=t,this.row=e,this.pre=i}get event_values(){return{model:this.origin,column:this.column,row:this.row,pre:this.pre}}}i.TableEditEvent=y,l=y,y.__name__="TableEditEvent",l.prototype.event_name="table-edit";class x extends c.ModelEvent{constructor(t,e){super(),this.column=t,this.row=e}get event_values(){return{model:this.origin,column:this.column,row:this.row}}}i.CellClickEvent=x,n=x,x.__name__="CellClickEvent",n.prototype.event_name="cell-click";class v extends c.ModelEvent{constructor(t,e,i=!1){super(),this.indices=t,this.selected=e,this.flush=i}get event_values(){return{model:this.origin,indices:this.indices,selected:this.selected,flush:this.flush}}}function S(t,e,i){for(const s of i)if(s[t]==e)return s;return null}function C(t,e,i,s=0){const o={};if(0==t.length)return o;const l=i[s];for(const n of t){const t=C(n._children,e,i,s+1);for(const e in t)(0,h.isArray)(t[e])?n[e]=t[e].reduce(((t,e)=>t+e),0)/t[e].length:n[e]=t[e];for(const t of e.slice(1)){const e=n[t.field];if(t.field in o){const i=o[t.field];"min"===l?o[t.field]=Math.min(e,i):"max"===l?o[t.field]=Math.max(e,i):"sum"===l?o[t.field]=e+i:"mean"===l&&((0,h.isArray)(o[t.field])?o[t.field].push(e):o[t.field]=[i,e])}else o[t.field]=e}}return o}function T(t,e,i,s){const o=[],l=e[0].field;for(const s of t){const t=s[i[0]];let n=S(l,t,o);null==n&&(n={_children:[]},n[l]=t,o.push(n));let a=n;const r={};for(const t of i.slice(1)){a=S(l,s[t],a._children),null==a&&(a={_children:[]},a[l]=s[t],n._children.push(a)),r[t]=n;for(const t of e.slice(1))a[t.field]=s[t];n=a}for(const t of e.slice(1))a[t.field]=s[t.field]}const n=[];for(const t of i)n.push(t in s?s[t]:"sum");return C(o,e,n),o}i.SelectionEvent=v,a=v,v.__name__="SelectionEvent",a.prototype.event_name="selection-change";const M=function(t,e,i,s,o,l,n){let a;a=0;const r={zone:new window.luxon.IANAZone("UTC")};if(t="-9223372036854776"==String(t)?window.luxon.DateTime.fromISO("invalid"):window.luxon.DateTime.fromMillis(t,r),e="-9223372036854776"==String(e)?window.luxon.DateTime.fromISO("invalid"):window.luxon.DateTime.fromMillis(e,r),t.isValid){if(e.isValid)return t-e;a=1}else a=e.isValid?-1:0;return a*=-1,a},z=function(t,e,i,s){const o=t.getValue(),l={zone:new window.luxon.IANAZone("UTC")};let n;n="NaN"===o||null===o?null:window.luxon.DateTime.fromMillis(o,l).toFormat("yyyy-MM-dd");const a=document.createElement("input");function r(){const t=window.luxon.DateTime.fromFormat(a.value,"yyyy-MM-dd",l).toMillis();t!=n?i(t):s()}return a.setAttribute("type","date"),a.style.padding="4px",a.style.width="100%",a.style.boxSizing="border-box",a.value=n,e((()=>{a.focus(),a.style.height="100%"})),a.addEventListener("blur",r),a.addEventListener("keydown",(t=>{"Enter"==t.key&&setTimeout(r,100),"Escape"==t.key&&setTimeout(s,100)})),a},E=function(t,e,i,s){const o=t.getValue(),l={zone:new window.luxon.IANAZone("UTC")};let n;n="NaN"===o||null===o?null:window.luxon.DateTime.fromMillis(o,l).toFormat("yyyy-MM-dd'T'T");const a=document.createElement("input");function r(){const t=window.luxon.DateTime.fromFormat(a.value,"yyyy-MM-dd'T'T",l).toMillis();t!=n?i(t):s()}return a.setAttribute("type","datetime-local"),a.style.padding="4px",a.style.width="100%",a.style.boxSizing="border-box",a.value=n,e((()=>{a.focus(),a.style.height="100%"})),a.addEventListener("blur",r),a.addEventListener("keydown",(t=>{"Enter"==t.key&&setTimeout(r,100),"Escape"==t.key&&setTimeout(s,100)})),a};class k extends w.HTMLBoxView{constructor(){super(...arguments),this.columns=new Map,this._tabulator_cell_updating=!1,this._updating_page=!1,this._updating_sort=!1,this._selection_updating=!1,this._lastVerticalScrollbarTopPosition=0,this._lastHorizontalScrollbarLeftPosition=0,this._applied_styles=!1,this._building=!1,this._restore_scroll=!1}connect_signals(){super.connect_signals();const{configuration:t,layout:e,columns:i,groupby:s,visible:o,download:l,children:n,expanded:a,cell_styles:r,hidden_columns:d,page_size:h,page:c,max_page:u,frozen_rows:_,sorters:m,theme_classes:g}=this.model.properties;this.on_change([t,e,s],(0,f.debounce)((()=>{this.invalidate_render()}),20,!1)),this.on_change(o,(()=>{this.model.visible&&(this.tabulator.element.style.visibility="visible")})),this.on_change(i,(()=>{this.tabulator.setColumns(this.getColumns()),this.setHidden()})),this.on_change(l,(()=>{const t=this.model.filename.endsWith(".json")?"json":"csv";this.tabulator.download(t,this.model.filename)})),this.on_change(n,(()=>this.renderChildren())),this.on_change(a,(()=>{for(const t of this.tabulator.rowManager.getRows())t.cells.length>0&&t.cells[0].layoutElement();for(const t of this.tabulator.rowManager.getRows())if(t.cells.length>0){const e=t.data._index,i=this.model.expanded.indexOf(e)<0?"\u25ba":"\u25bc";t.cells[1].element.innerText=i}})),this.on_change(r,(()=>{this._applied_styles&&this.tabulator.redraw(!0),this.setStyles()})),this.on_change(d,(()=>{this.setHidden(),this.tabulator.redraw(!0)})),this.on_change(h,(()=>this.setPageSize())),this.on_change(c,(()=>{this._updating_page||this.setPage()})),this.on_change(o,(()=>this.setVisibility())),this.on_change(u,(()=>this.setMaxPage())),this.on_change(_,(()=>this.setFrozen())),this.on_change(m,(()=>this.setSorters())),this.on_change(g,(()=>this.setCSSClasses(this.tabulator.element))),this.on_change(this.model.source.properties.data,(()=>{void 0!==this.tabulator&&(this._selection_updating=!0,this.setData(),this._selection_updating=!1,this.postUpdate())})),this.connect(this.model.source.streaming,(()=>this.addData())),this.connect(this.model.source.patching,(()=>{const t=this.model.source.selected.indices;this.updateOrAddData(),this.record_scroll(),this.model.source.selected.indices=t})),this.connect(this.model.source.selected.change,(()=>this.setSelection())),this.connect(this.model.source.selected.properties.indices.change,(()=>this.setSelection()))}get groupBy(){return this.model.groupby.length>0&&(t=>{const e=[];for(const i of this.model.groupby){const s=`${i}: ${t[i]}`;e.push(s)}return e.join(", ")})}get sorters(){const t=[];this.model.sorters.length>0&&t.push({column:"_index",dir:"asc"});for(const e of this.model.sorters.reverse())void 0===e.column&&(e.column=e.field),t.push(e);return t}invalidate_render(){this.tabulator.destroy(),this.tabulator=null,this.render()}redraw(t=!0,e=!0){this._building||(t&&null!=this.tabulator.columnManager.element&&this.tabulator.columnManager.redraw(!0),e&&null!=this.tabulator.rowManager.renderer&&(this.tabulator.rowManager.redraw(!0),this.renderChildren(),this.setStyles()),this._restore_scroll=!0)}after_layout(){super.after_layout(),null!=this.tabulator&&this._initializing&&this.redraw(),this._initializing=!1}after_resize(){super.after_resize(),this.redraw(!1,!0)}setCSSClasses(t){t.className="pnx-tabulator tabulator";for(const e of this.model.theme_classes)t.classList.add(e)}render(){null!=this.tabulator&&this.tabulator.destroy(),super.render(),this._initializing=!0;const t=(0,u.div)({style:"display: contents;"}),e=(0,u.div)({style:"width: 100%; height: 100%; visibility: hidden;"});this.setCSSClasses(e),t.appendChild(e),this.shadow_el.appendChild(t);const i=this.getConfiguration();this.tabulator=new Tabulator(e,i),this.watch_stylesheets(),this.init_callbacks()}style_redraw(){this.model.visible&&(this.tabulator.element.style.visibility="visible"),this._initializing||this._building||this.redraw()}tableInit(){this._building=!0;this.tabulator.modules.ajax.sendRequest=(t,e,i)=>this.requestPage(e.page,e.sort),this.tabulator.modules.page._parseRemoteData=()=>!1}init_callbacks(){this.tabulator.on("tableBuilding",(()=>this.tableInit())),this.tabulator.on("tableBuilt",(()=>this.tableBuilt())),this.tabulator.on("selectableCheck",(t=>{const e=this.model.selectable_rows;return null==e||e.includes(t._row.data._index)})),this.tabulator.on("tooltips",(t=>`${t.getColumn().getField()}: ${t.getValue()}`)),this.tabulator.on("scrollVertical",(0,f.debounce)((()=>{this.record_scroll(),this.setStyles()}),50,!1)),this.tabulator.on("scrollHorizontal",(0,f.debounce)((()=>{this.record_scroll()}),50,!1)),this.tabulator.on("rowSelectionChanged",((t,e,i,s)=>this.rowSelectionChanged(t,e,i,s))),this.tabulator.on("rowClick",((t,e)=>this.rowClicked(t,e))),this.tabulator.on("cellEdited",(t=>this.cellEdited(t))),this.tabulator.on("dataFiltering",(t=>{this.record_scroll(),this.model.filters=t})),this.tabulator.on("dataFiltered",((t,e)=>{this._building||(0===e.length&&this.tabulator.rowManager.renderEmptyScroll(),this.updatePage(this.tabulator.getPage()))})),this.tabulator.on("pageLoaded",(t=>{this.updatePage(t)})),this.tabulator.on("renderComplete",(()=>{this._building||this.postUpdate()})),this.tabulator.on("dataSorting",(t=>{const e=[];for(const i of t)"_index"!==i.field&&e.push({field:i.field,dir:i.dir});"remote"!==this.model.pagination&&(this._updating_sort=!0,this.model.sorters=e,this._updating_sort=!1)}))}tableBuilt(){this._building=!1,this.setSelection(),this.renderChildren(),this.setStyles(),this.model.pagination&&(this.setMaxPage(),this.tabulator.setPage(this.model.page))}requestPage(t,e){return new Promise(((i,s)=>{try{if(null!=t&&null!=e){this._updating_sort=!0;const i=[];for(const t of e)"_index"!==t.field&&i.push({field:t.field,dir:t.dir});this.model.sorters=i,this._updating_sort=!1,this._updating_page=!0;try{this.model.page=t||1}finally{this._updating_page=!1}}i([])}catch(t){s(t)}}))}getLayout(){switch(this.model.layout){case"fit_data":return"fitData";case"fit_data_fill":return"fitDataFill";case"fit_data_stretch":return"fitDataStretch";case"fit_data_table":return"fitDataTable";case"fit_columns":return"fitColumns"}}getConfiguration(){const t="toggle"===this.model.select_mode||NaN,e={...this.model.configuration,index:"_index",nestedFieldSeparator:!1,movableColumns:!1,selectable:t,columns:this.getColumns(),initialSort:this.sorters,layout:this.getLayout(),pagination:null!=this.model.pagination,paginationMode:this.model.pagination,paginationSize:this.model.page_size,paginationInitialPage:1,groupBy:this.groupBy,rowFormatter:t=>this._render_row(t),frozenRows:t=>this.model.frozen_rows.length>0&&this.model.frozen_rows.includes(t._row.data._index)};"remote"===this.model.pagination&&(e.ajaxURL="http://panel.pyviz.org",e.sortMode="remote");const i=this.model.source;let s;return s=null===i||0===i.columns().length?[]:(0,b.transform_cds_to_records)(i,!0),e.dataTree&&(s=T(s,this.model.columns,this.model.indexes,this.model.aggregators)),{...e,data:s}}get child_models(){const t=[];for(const e of this.model.expanded){const i=this.model.children.get(e);null!=i&&t.push(i)}return t}renderChildren(){new Promise((async t=>{await this.build_child_views(),t(null)})).then((()=>{for(const t of this.model.expanded){const e=this.tabulator.getRow(t);this._render_row(e,!1)}this._update_children(),null!=this.tabulator.rowManager.renderer&&this.tabulator.rowManager.adjustTableSize(),this.invalidate_layout()}))}_render_row(t,e=!0){const i=t._row?.data._index;if(!this.model.expanded.includes(i)||null==this.model.children.get(i))return;const s=this.model.children.get(i),o=null==s?null:this._child_views.get(s);if(null==o)return;const l=t.getElement(),n=getComputedStyle(this.tabulator.element.children[1].children[0]).backgroundColor,a=l.style.paddingLeft?`-${l.style.paddingLeft}`:"0",r=(0,u.div)({style:`background-color: ${n}; margin-left:${a}; max-width: 100%; overflow-x: hidden;`});r.appendChild(o.el),l.appendChild(r),o.has_finished()||(o.render(),o.after_render()),e&&(this._update_children(),this.tabulator.rowManager.adjustTableSize(),this.invalidate_layout())}_expand_render(t){const e=t._cell.row.data._index;return`<i>${this.model.expanded.indexOf(e)<0?"\u25ba":"\u25bc"}</i>`}_update_expand(t){const e=t._cell.row.data._index,i=[...this.model.expanded],s=i.indexOf(e);if(s<0)i.push(e);else{const t=i.splice(s,1)[0],e=this.model.children.get(t);if(null!=e){const t=this._child_views.get(e);void 0!==t&&null!=t.el&&(0,d.undisplay)(t.el)}}if(this.model.expanded=i,i.indexOf(e)<0)return;let o=!0;for(const t of this.model.expanded)if(null==this.model.children.get(t)){o=!1;break}o&&this.renderChildren()}getData(){let t=(0,b.transform_cds_to_records)(this.model.source,!0);return this.model.configuration.dataTree&&(t=T(t,this.model.columns,this.model.indexes,this.model.aggregators)),t}getColumns(){this.columns=new Map;const t=this.model.configuration?.columns,e=[];if(e.push({field:"_index",frozen:!0,visible:!1}),null!=t)for(const i of t)if(null!=i.columns){const t=[];for(const e of i.columns)t.push({...e});e.push({...i,columns:t})}else if("expand"===i.formatter){const t={hozAlign:"center",cellClick:(t,e)=>{this._update_expand(e)},formatter:t=>this._expand_render(t),width:40,frozen:!0};e.push(t)}else{const t={...i};"rowSelection"===t.formatter&&(t.cellClick=(t,e)=>{e.getRow().toggleSelect()}),e.push(t)}for(const i of this.model.columns){let s=null;if(null!=t)for(const t of e)if(null!=t.columns){for(const e of t.columns)if(i.field===e.field){s=e;break}if(null!=s)break}else if(i.field===t.field){s=t;break}if(null==s&&(s={field:i.field}),this.columns.set(i.field,s),null==s.title&&(s.title=i.title),null==s.width&&null!=i.width&&0!=i.width&&(s.width=i.width),null==s.formatter&&null!=i.formatter){const t=i.formatter.type;s.formatter="BooleanFormatter"===t?"tickCross":t=>{const e=t.getRow(),s=i.formatter.doFormat(t.getRow(),t,t.getValue(),null,e.getData());if("HTMLTemplateFormatter"===i.formatter.type)return s;const o=(0,u.div)();o.innerHTML=s;const l=o.children[0];return"function(){return c.convert(arguments)}"===l.innerHTML?"":l}}"timestamp"==s.sorter&&(s.sorter=M),void 0===s.sorter&&(s.sorter="string");const o=i.editor,l=o.type;null!=s.editor?"date"===s.editor?s.editor=z:"datetime"===s.editor&&(s.editor=E):"StringEditor"===l?o.completions.length>0?(s.editor="list",s.editorParams={values:o.completions,autocomplete:!0,listOnEmpty:!0}):s.editor="input":"TextEditor"===l?s.editor="textarea":"IntEditor"===l||"NumberEditor"===l?(s.editor="number",s.editorParams={step:o.step},s.validator="IntEditor"===l?"integer":"numeric"):"CheckboxEditor"===l?s.editor="tickCross":"DateEditor"===l?s.editor=z:"SelectEditor"===l?(s.editor="list",s.editorParams={values:o.options}):null!=o&&null!=o.default_view&&(s.editor=(t,e,s,o)=>{this.renderEditor(i,t,e,s,o)}),s.visible=0!=s.visible&&!this.model.hidden_columns.includes(i.field),s.editable=()=>this.model.editable&&null!=o.default_view,s.headerFilter&&(0,h.isBoolean)(s.headerFilter)&&(0,h.isString)(s.editor)&&(s.headerFilter=s.editor,s.headerFilterParams=s.editorParams);for(const t of this.model.sorters)s.field===t.field&&(s.headerSortStartingDir=t.dir);s.cellClick=(t,e)=>{const s=e.getData()._index,o=new x(i.field,s);this.model.trigger_event(o)},null==t&&e.push(s)}for(const t in this.model.buttons){const i={formatter:()=>this.model.buttons[t],hozAlign:"center",cellClick:(e,i)=>{const s=i.getData()._index,o=new x(t,s);this.model.trigger_event(o)}};e.push(i)}return e}renderEditor(t,e,i,s,o){const l=t.editor,n=new l.default_view({column:t,model:l,parent:this,container:e._cell.element});return n.initialize(),n.connect_signals(),i((()=>{n.setValue(e.getValue())})),n.inputEl.addEventListener("input",(()=>{const t=n.serializeValue(),i=e.getValue(),l=n.validate();l.valid||o(l.msg),null!=i&&typeof t!=typeof i?o("Mismatching type"):s(n.serializeValue())})),n.inputEl}setData(){if(this._initializing||this._building||!this.tabulator.initialized)return;const t=this.getData();null!=this.model.pagination?this.tabulator.rowManager.setData(t,!0,!1):this.tabulator.setData(t)}addData(){const t=this.tabulator.rowManager.getRows(),e=t[t.length-1],i=e?.data._index||0;this.setData(),this.model.follow&&e&&this.tabulator.scrollToRow(i,"top",!1)}postUpdate(){this.setSelection(),this.setStyles(),this._restore_scroll&&(this.restore_scroll(),this._restore_scroll=!1)}updateOrAddData(){if(this._tabulator_cell_updating)return;const t=this.tabulator.element.style.minHeight;this.tabulator.element.style.minHeight=`${this.tabulator.element.offsetHeight}px`;const e=(0,b.transform_cds_to_records)(this.model.source,!0);this.tabulator.setData(e).then((()=>{this.tabulator.element.style.minHeight=t}))}setFrozen(){for(const t of this.model.frozen_rows)this.tabulator.getRow(t).freeze()}setVisibility(){null!=this.tabulator&&(this.tabulator.element.style.visibility=this.model.visible?"visible":"hidden")}updatePage(t){"local"===this.model.pagination&&this.model.page!==t&&(this._updating_page=!0,this.model.page=t,this._updating_page=!1,this.setStyles())}setGroupBy(){this.tabulator.setGroupBy(this.groupBy)}setSorters(){this._updating_sort||this.tabulator.setSort(this.sorters)}setStyles(){const t=this.model.cell_styles.data;if(null!=this.tabulator&&0!=this.tabulator.getDataCount()&&null!=t&&t.size){this._applied_styles=!1;for(const e of t.keys()){const i=t.get(e),s=this.tabulator.getRow(e);if(!s)continue;const o=s._row.cells;for(const t of i.keys()){const e=i.get(t),s=o[t];if(null==s||!e.length)continue;const l=s.element;for(const t of e){let e,i;if((0,h.isArray)(t))[e,i]=t;else{if(!t.includes(":"))continue;[e,i]=t.split(":")}l.style.setProperty(e,i.trimLeft()),this._applied_styles=!0}}}}}setHidden(){for(const t of this.tabulator.getColumns()){const e=t._column;"_index"==e.field||this.model.hidden_columns.includes(e.field)?t.hide():t.show()}}setMaxPage(){this.tabulator.setMaxPage(this.model.max_page),this.tabulator.modules.page.pagesElement&&this.tabulator.modules.page._setPageButtons()}setPage(){this.tabulator.setPage(Math.min(this.model.max_page,this.model.page)),"local"===this.model.pagination&&(this.renderChildren(),this.setStyles())}setPageSize(){this.tabulator.setPageSize(this.model.page_size),"local"===this.model.pagination&&(this.renderChildren(),this.setStyles())}setSelection(){if(null==this.tabulator||this._initializing||this._selection_updating||!this.tabulator.initialized)return;const t=this.model.source.selected.indices,e=this.tabulator.getSelectedData().map((t=>t._index));if(JSON.stringify(t)!=JSON.stringify(e)){this._selection_updating=!0,this.tabulator.deselectRow(),this.tabulator.selectRow(t);for(const e of t){this.tabulator.rowManager.findRow(e)&&this.tabulator.scrollToRow(e,"center",!1).catch((()=>{}))}this._selection_updating=!1}}restore_scroll(){const t={top:this._lastVerticalScrollbarTopPosition,left:this._lastHorizontalScrollbarLeftPosition,behavior:"instant"};setTimeout((()=>this.tabulator.rowManager.element.scrollTo(t)),0)}record_scroll(){this._lastVerticalScrollbarTopPosition=this.tabulator.rowManager.element.scrollTop,this._lastHorizontalScrollbarLeftPosition=this.tabulator.rowManager.element.scrollLeft}rowClicked(t,e){if(this._selection_updating||this._initializing||(0,h.isString)(this.model.select_mode)||!1===this.model.select_mode||this.model.configuration.dataTree||"\u25ba"===t.srcElement?.innerText)return;let i=[];const s=this.model.source.selected,o=e._row.data._index;if("remote"===this.model.pagination){const e=-1==this.model.source.selected.indices.indexOf(o),l=!(t.ctrlKey||t.metaKey||t.shiftKey);if(t.shiftKey&&s.indices.length){const t=s.indices[s.indices.length-1];if(o>t)for(let e=t;e<=o;e++)i.push(e);else for(let e=t;e>=o;e--)i.push(e)}else i.push(o);return this._selection_updating=!0,this.model.trigger_event(new v(i,e,l)),void(this._selection_updating=!1)}if(t.ctrlKey||t.metaKey)i=[...this.model.source.selected.indices];else if(t.shiftKey&&s.indices.length){const t=s.indices[s.indices.length-1];if(o>t)for(let e=t;e<o;e++)i.push(e);else for(let e=t;e>o;e--)i.push(e)}if(i.indexOf(o)<0?i.push(o):i.splice(i.indexOf(o),1),(0,h.isNumber)(this.model.select_mode))for(;i.length>this.model.select_mode;)i.shift();const l=this._filter_selected(i);this.tabulator.deselectRow(),this.tabulator.selectRow(l),this._selection_updating=!0,s.indices=l,this._selection_updating=!1}_filter_selected(t){const e=[];for(const i of t)(null==this.model.selectable_rows||this.model.selectable_rows.indexOf(i)>=0)&&e.push(i);return e}rowSelectionChanged(t,e,i,s){if(!(this._selection_updating||this._initializing||(0,h.isBoolean)(this.model.select_mode)||(0,h.isNumber)(this.model.select_mode)||this.model.configuration.dataTree)){if("remote"===this.model.pagination){const t=i.map((t=>t._row.data._index)),e=s.map((t=>t._row.data._index));t.length>0&&(this._selection_updating=!0,this.model.trigger_event(new v(t,!0,!1))),e.length>0&&(this._selection_updating=!0,this.model.trigger_event(new v(e,!1,!1)))}else{const e=t.map((t=>t._index)),i=this._filter_selected(e);this._selection_updating=e.length===i.length,this.model.source.selected.indices=i}this._selection_updating=!1}}cellEdited(t){const e=t._cell.column.field,i=this.columns.get(e),s=t.getData()._index,o=t._cell.value;if("numeric"!==i.validator||""!==o){this._tabulator_cell_updating=!0,p.comm_settings.debounce=!1,this.model.trigger_event(new y(e,s,!0));try{this.model.source.patch({[e]:[[s,o]]})}finally{p.comm_settings.debounce=!0,this._tabulator_cell_updating=!1}this.model.trigger_event(new y(e,s,!1)),this.tabulator.scrollToRow(s,"top",!1)}else t.setValue(NaN,!0)}}i.DataTabulatorView=k,k.__name__="DataTabulatorView",i.TableLayout=(0,_.Enum)("fit_data","fit_data_fill","fit_data_stretch","fit_data_table","fit_columns");class D extends w.HTMLBox{constructor(t){super(t)}}i.DataTabulator=D,r=D,D.__name__="DataTabulator",D.__module__="panel.models.tabulator",r.prototype.default_view=k,r.define((({Any:t,List:e,Bool:s,Nullable:o,Float:l,Ref:n,Str:a})=>({aggregators:[t,{}],buttons:[t,{}],children:[t,new Map],configuration:[t,{}],columns:[e(n(g.TableColumn)),[]],download:[s,!1],editable:[s,!0],expanded:[e(l),[]],filename:[a,"table.csv"],filters:[e(t),[]],follow:[s,!0],frozen_rows:[e(l),[]],groupby:[e(a),[]],hidden_columns:[e(a),[]],indexes:[e(a),[]],layout:[i.TableLayout,"fit_data"],max_page:[l,0],pagination:[o(a),null],page:[l,0],page_size:[l,0],select_mode:[t,!0],selectable_rows:[o(e(l)),null],source:[n(m.ColumnDataSource)],sorters:[e(t),[]],cell_styles:[t,{}],theme_classes:[e(a),[]]})))},
62
+ "887daef873": function _(t,e,i,s,o){var l,n,a,r;s();const d=t("@bokehjs/core/dom"),h=t("@bokehjs/core/util/types"),c=t("@bokehjs/core/bokeh_events"),u=t("@bokehjs/core/dom"),_=t("@bokehjs/core/kinds"),m=t("@bokehjs/models/sources/column_data_source"),g=t("@bokehjs/models/widgets/tables"),f=t("99a25e6992"),p=t("a5b1a17220"),b=t("be689f0377"),w=t("c37096b5ea");class y extends c.ModelEvent{constructor(t,e,i){super(),this.column=t,this.row=e,this.pre=i}get event_values(){return{model:this.origin,column:this.column,row:this.row,pre:this.pre}}}i.TableEditEvent=y,l=y,y.__name__="TableEditEvent",l.prototype.event_name="table-edit";class x extends c.ModelEvent{constructor(t,e){super(),this.column=t,this.row=e}get event_values(){return{model:this.origin,column:this.column,row:this.row}}}i.CellClickEvent=x,n=x,x.__name__="CellClickEvent",n.prototype.event_name="cell-click";class v extends c.ModelEvent{constructor(t,e,i=!1){super(),this.indices=t,this.selected=e,this.flush=i}get event_values(){return{model:this.origin,indices:this.indices,selected:this.selected,flush:this.flush}}}function S(t,e,i){for(const s of i)if(s[t]==e)return s;return null}function C(t,e,i,s=0){const o={};if(0==t.length)return o;const l=i[s];for(const n of t){const t=C(n._children,e,i,s+1);for(const e in t)(0,h.isArray)(t[e])?n[e]=t[e].reduce(((t,e)=>t+e),0)/t[e].length:n[e]=t[e];for(const t of e.slice(1)){const e=n[t.field];if(t.field in o){const i=o[t.field];"min"===l?o[t.field]=Math.min(e,i):"max"===l?o[t.field]=Math.max(e,i):"sum"===l?o[t.field]=e+i:"mean"===l&&((0,h.isArray)(o[t.field])?o[t.field].push(e):o[t.field]=[i,e])}else o[t.field]=e}}return o}function T(t,e,i,s){const o=[],l=e[0].field;for(const s of t){const t=s[i[0]];let n=S(l,t,o);null==n&&(n={_children:[]},n[l]=t,o.push(n));let a=n;const r={};for(const t of i.slice(1)){a=S(l,s[t],a._children),null==a&&(a={_children:[]},a[l]=s[t],n._children.push(a)),r[t]=n;for(const t of e.slice(1))a[t.field]=s[t];n=a}for(const t of e.slice(1))a[t.field]=s[t.field]}const n=[];for(const t of i)n.push(t in s?s[t]:"sum");return C(o,e,n),o}i.SelectionEvent=v,a=v,v.__name__="SelectionEvent",a.prototype.event_name="selection-change";const M=function(t,e,i,s,o,l,n){let a;a=0;const r={zone:new window.luxon.IANAZone("UTC")};if(t="-9223372036854776"==String(t)?window.luxon.DateTime.fromISO("invalid"):window.luxon.DateTime.fromMillis(t,r),e="-9223372036854776"==String(e)?window.luxon.DateTime.fromISO("invalid"):window.luxon.DateTime.fromMillis(e,r),t.isValid){if(e.isValid)return t-e;a=1}else a=e.isValid?-1:0;return a*=-1,a},z=function(t,e,i,s){const o=t.getValue(),l={zone:new window.luxon.IANAZone("UTC")};let n;n="NaN"===o||null===o?null:window.luxon.DateTime.fromMillis(o,l).toFormat("yyyy-MM-dd");const a=document.createElement("input");function r(){const t=window.luxon.DateTime.fromFormat(a.value,"yyyy-MM-dd",l).toMillis();t!=n?i(t):s()}return a.setAttribute("type","date"),a.style.padding="4px",a.style.width="100%",a.style.boxSizing="border-box",a.value=n,e((()=>{a.focus(),a.style.height="100%"})),a.addEventListener("blur",r),a.addEventListener("keydown",(t=>{"Enter"==t.key&&setTimeout(r,100),"Escape"==t.key&&setTimeout(s,100)})),a},E=function(t,e,i,s){const o=t.getValue(),l={zone:new window.luxon.IANAZone("UTC")};let n;n="NaN"===o||null===o?null:window.luxon.DateTime.fromMillis(o,l).toFormat("yyyy-MM-dd'T'T");const a=document.createElement("input");function r(){const t=window.luxon.DateTime.fromFormat(a.value,"yyyy-MM-dd'T'T",l).toMillis();t!=n?i(t):s()}return a.setAttribute("type","datetime-local"),a.style.padding="4px",a.style.width="100%",a.style.boxSizing="border-box",a.value=n,e((()=>{a.focus(),a.style.height="100%"})),a.addEventListener("blur",r),a.addEventListener("keydown",(t=>{"Enter"==t.key&&setTimeout(r,100),"Escape"==t.key&&setTimeout(s,100)})),a};class k extends w.HTMLBoxView{constructor(){super(...arguments),this.columns=new Map,this._tabulator_cell_updating=!1,this._updating_page=!1,this._updating_sort=!1,this._selection_updating=!1,this._lastVerticalScrollbarTopPosition=0,this._lastHorizontalScrollbarLeftPosition=0,this._applied_styles=!1,this._building=!1,this._restore_scroll=!1}connect_signals(){super.connect_signals();const{configuration:t,layout:e,columns:i,groupby:s,visible:o,download:l,children:n,expanded:a,cell_styles:r,hidden_columns:d,page_size:h,page:c,max_page:u,frozen_rows:_,sorters:m,theme_classes:g}=this.model.properties;this.on_change([t,e,s],(0,f.debounce)((()=>{this.invalidate_render()}),20,!1)),this.on_change(o,(()=>{this.model.visible&&(this.tabulator.element.style.visibility="visible")})),this.on_change(i,(()=>{this.tabulator.setColumns(this.getColumns()),this.setHidden()})),this.on_change(l,(()=>{const t=this.model.filename.endsWith(".json")?"json":"csv";this.tabulator.download(t,this.model.filename)})),this.on_change(n,(()=>this.renderChildren())),this.on_change(a,(()=>{for(const t of this.tabulator.rowManager.getRows())t.cells.length>0&&t.cells[0].layoutElement();for(const t of this.tabulator.rowManager.getRows())if(t.cells.length>0){const e=t.data._index,i=this.model.expanded.indexOf(e)<0?"\u25ba":"\u25bc";t.cells[1].element.innerText=i}})),this.on_change(r,(()=>{this._applied_styles&&this.tabulator.redraw(!0),this.setStyles()})),this.on_change(d,(()=>{this.setHidden(),this.tabulator.redraw(!0)})),this.on_change(h,(()=>this.setPageSize())),this.on_change(c,(()=>{this._updating_page||this.setPage()})),this.on_change(o,(()=>this.setVisibility())),this.on_change(u,(()=>this.setMaxPage())),this.on_change(_,(()=>this.setFrozen())),this.on_change(m,(()=>this.setSorters())),this.on_change(g,(()=>this.setCSSClasses(this.tabulator.element))),this.on_change(this.model.source.properties.data,(()=>{void 0!==this.tabulator&&(this._selection_updating=!0,this.setData(),this._selection_updating=!1,this.postUpdate())})),this.connect(this.model.source.streaming,(()=>this.addData())),this.connect(this.model.source.patching,(()=>{const t=this.model.source.selected.indices;this.updateOrAddData(),this.record_scroll(),this.model.source.selected.indices=t})),this.connect(this.model.source.selected.change,(()=>this.setSelection())),this.connect(this.model.source.selected.properties.indices.change,(()=>this.setSelection()))}get groupBy(){return this.model.groupby.length>0&&(t=>{const e=[];for(const i of this.model.groupby){const s=`${i}: ${t[i]}`;e.push(s)}return e.join(", ")})}get sorters(){const t=[];this.model.sorters.length>0&&t.push({column:"_index",dir:"asc"});for(const e of this.model.sorters.reverse())void 0===e.column&&(e.column=e.field),t.push(e);return t}invalidate_render(){this.tabulator.destroy(),this.tabulator=null,this.render()}redraw(t=!0,e=!0){this._building||(t&&null!=this.tabulator.columnManager.element&&this.tabulator.columnManager.redraw(!0),e&&null!=this.tabulator.rowManager.renderer&&(this.tabulator.rowManager.redraw(!0),this.renderChildren(),this.setStyles()),this._restore_scroll=!0)}after_layout(){super.after_layout(),null!=this.tabulator&&this._initializing&&this.redraw(),this._initializing=!1}after_resize(){super.after_resize(),this.redraw(!1,!0)}setCSSClasses(t){t.className="pnx-tabulator tabulator";for(const e of this.model.theme_classes)t.classList.add(e)}render(){null!=this.tabulator&&this.tabulator.destroy(),super.render(),this._initializing=!0;const t=(0,u.div)({style:"display: contents;"}),e=(0,u.div)({style:"width: 100%; height: 100%; visibility: hidden;"});this.setCSSClasses(e),t.appendChild(e),this.shadow_el.appendChild(t);const i=this.getConfiguration();this.tabulator=new Tabulator(e,i),this.watch_stylesheets(),this.init_callbacks()}style_redraw(){this.model.visible&&(this.tabulator.element.style.visibility="visible"),this._initializing||this._building||this.redraw()}tableInit(){this._building=!0;this.tabulator.modules.ajax.sendRequest=(t,e,i)=>this.requestPage(e.page,e.sort),this.tabulator.modules.page._parseRemoteData=()=>!1}init_callbacks(){this.tabulator.on("tableBuilding",(()=>this.tableInit())),this.tabulator.on("tableBuilt",(()=>this.tableBuilt())),this.tabulator.on("selectableCheck",(t=>{const e=this.model.selectable_rows;return null==e||e.includes(t._row.data._index)})),this.tabulator.on("tooltips",(t=>`${t.getColumn().getField()}: ${t.getValue()}`)),this.tabulator.on("scrollVertical",(0,f.debounce)((()=>{this.record_scroll(),this.setStyles()}),50,!1)),this.tabulator.on("scrollHorizontal",(0,f.debounce)((()=>{this.record_scroll()}),50,!1)),this.tabulator.on("rowSelectionChanged",((t,e,i,s)=>this.rowSelectionChanged(t,e,i,s))),this.tabulator.on("rowClick",((t,e)=>this.rowClicked(t,e))),this.tabulator.on("cellEdited",(t=>this.cellEdited(t))),this.tabulator.on("dataFiltering",(t=>{this.record_scroll(),this.model.filters=t})),this.tabulator.on("dataFiltered",((t,e)=>{this._building||(0===e.length&&this.tabulator.rowManager.renderEmptyScroll(),this.updatePage(this.tabulator.getPage()))})),this.tabulator.on("pageLoaded",(t=>{this.updatePage(t)})),this.tabulator.on("renderComplete",(()=>{this._building||this.postUpdate()})),this.tabulator.on("dataSorting",(t=>{const e=[];for(const i of t)"_index"!==i.field&&e.push({field:i.field,dir:i.dir});"remote"!==this.model.pagination&&(this._updating_sort=!0,this.model.sorters=e,this._updating_sort=!1)}))}tableBuilt(){this._building=!1,this.setSelection(),this.renderChildren(),this.setStyles(),this.model.pagination&&(this.setMaxPage(),this.tabulator.setPage(this.model.page))}requestPage(t,e){return new Promise(((i,s)=>{try{if(null!=t&&null!=e){this._updating_sort=!0;const i=[];for(const t of e)"_index"!==t.field&&i.push({field:t.field,dir:t.dir});this.model.sorters=i,this._updating_sort=!1,this._updating_page=!0;try{this.model.page=t||1}finally{this._updating_page=!1}}i([])}catch(t){s(t)}}))}getLayout(){switch(this.model.layout){case"fit_data":return"fitData";case"fit_data_fill":return"fitDataFill";case"fit_data_stretch":return"fitDataStretch";case"fit_data_table":return"fitDataTable";case"fit_columns":return"fitColumns"}}getConfiguration(){const t="toggle"===this.model.select_mode||NaN,e={...this.model.configuration,index:"_index",nestedFieldSeparator:!1,movableColumns:!1,selectable:t,columns:this.getColumns(),initialSort:this.sorters,layout:this.getLayout(),pagination:null!=this.model.pagination,paginationMode:this.model.pagination,paginationSize:this.model.page_size,paginationInitialPage:1,groupBy:this.groupBy,rowFormatter:t=>this._render_row(t),frozenRows:t=>this.model.frozen_rows.length>0&&this.model.frozen_rows.includes(t._row.data._index)};"remote"===this.model.pagination&&(e.ajaxURL="http://panel.pyviz.org",e.sortMode="remote");const i=this.model.source;let s;return s=null===i||0===i.columns().length?[]:(0,b.transform_cds_to_records)(i,!0),e.dataTree&&(s=T(s,this.model.columns,this.model.indexes,this.model.aggregators)),{...e,data:s}}get child_models(){const t=[];for(const e of this.model.expanded){const i=this.model.children.get(e);null!=i&&t.push(i)}return t}renderChildren(){new Promise((async t=>{await this.build_child_views(),t(null)})).then((()=>{for(const t of this.model.expanded){const e=this.tabulator.getRow(t);this._render_row(e,!1)}this._update_children(),null!=this.tabulator.rowManager.renderer&&this.tabulator.rowManager.adjustTableSize(),this.invalidate_layout()}))}_render_row(t,e=!0){const i=t._row?.data._index;if(!this.model.expanded.includes(i)||null==this.model.children.get(i))return;const s=this.model.children.get(i),o=null==s?null:this._child_views.get(s);if(null==o)return;const l=t.getElement(),n=getComputedStyle(this.tabulator.element.children[1].children[0]).backgroundColor,a=l.style.paddingLeft?`-${l.style.paddingLeft}`:"0",r=(0,u.div)({style:`background-color: ${n}; margin-left:${a}; max-width: 100%; overflow-x: hidden;`});r.appendChild(o.el),l.appendChild(r),o.has_finished()||(o.render(),o.after_render()),e&&(this._update_children(),this.tabulator.rowManager.adjustTableSize(),this.invalidate_layout())}_expand_render(t){const e=t._cell.row.data._index;return`<i>${this.model.expanded.indexOf(e)<0?"\u25ba":"\u25bc"}</i>`}_update_expand(t){const e=t._cell.row.data._index,i=[...this.model.expanded],s=i.indexOf(e);if(s<0)i.push(e);else{const t=i.splice(s,1)[0],e=this.model.children.get(t);if(null!=e){const t=this._child_views.get(e);void 0!==t&&null!=t.el&&(0,d.undisplay)(t.el)}}if(this.model.expanded=i,i.indexOf(e)<0)return;let o=!0;for(const t of this.model.expanded)if(null==this.model.children.get(t)){o=!1;break}o&&this.renderChildren()}getData(){let t=(0,b.transform_cds_to_records)(this.model.source,!0);return this.model.configuration.dataTree&&(t=T(t,this.model.columns,this.model.indexes,this.model.aggregators)),t}getColumns(){this.columns=new Map;const t=this.model.configuration?.columns,e=[];if(e.push({field:"_index",frozen:!0,visible:!1}),null!=t)for(const i of t)if(null!=i.columns){const t=[];for(const e of i.columns)t.push({...e});e.push({...i,columns:t})}else if("expand"===i.formatter){const t={hozAlign:"center",cellClick:(t,e)=>{this._update_expand(e)},formatter:t=>this._expand_render(t),width:40,frozen:!0};e.push(t)}else{const t={...i};"rowSelection"===t.formatter&&(t.cellClick=(t,e)=>{e.getRow().toggleSelect()}),e.push(t)}for(const i of this.model.columns){let s=null;if(null!=t)for(const t of e)if(null!=t.columns){for(const e of t.columns)if(i.field===e.field){s=e;break}if(null!=s)break}else if(i.field===t.field){s=t;break}if(null==s&&(s={field:i.field}),this.columns.set(i.field,s),null==s.title&&(s.title=i.title),null==s.width&&null!=i.width&&0!=i.width&&(s.width=i.width),null==s.formatter&&null!=i.formatter){const t=i.formatter.type;s.formatter="BooleanFormatter"===t?"tickCross":t=>{const e=t.getRow(),s=i.formatter.doFormat(t.getRow(),t,t.getValue(),null,e.getData());if("HTMLTemplateFormatter"===i.formatter.type)return s;const o=(0,u.div)();o.innerHTML=s;const l=o.children[0];return"function(){return c.convert(arguments)}"===l.innerHTML?"":l}}"timestamp"==s.sorter&&(s.sorter=M),void 0===s.sorter&&(s.sorter="string");const o=i.editor,l=o.type;null!=s.editor?"date"===s.editor?s.editor=z:"datetime"===s.editor&&(s.editor=E):"StringEditor"===l?o.completions.length>0?(s.editor="list",s.editorParams={values:o.completions,autocomplete:!0,listOnEmpty:!0}):s.editor="input":"TextEditor"===l?s.editor="textarea":"IntEditor"===l||"NumberEditor"===l?(s.editor="number",s.editorParams={step:o.step},s.validator="IntEditor"===l?"integer":"numeric"):"CheckboxEditor"===l?s.editor="tickCross":"DateEditor"===l?s.editor=z:"SelectEditor"===l?(s.editor="list",s.editorParams={values:o.options}):null!=o&&null!=o.default_view&&(s.editor=(t,e,s,o)=>{this.renderEditor(i,t,e,s,o)}),s.visible=0!=s.visible&&!this.model.hidden_columns.includes(i.field),s.editable=()=>this.model.editable&&null!=o.default_view,s.headerFilter&&(0,h.isBoolean)(s.headerFilter)&&(0,h.isString)(s.editor)&&(s.headerFilter=s.editor,s.headerFilterParams=s.editorParams);for(const t of this.model.sorters)s.field===t.field&&(s.headerSortStartingDir=t.dir);s.cellClick=(t,e)=>{const s=e.getData()._index,o=new x(i.field,s);this.model.trigger_event(o)},null==t&&e.push(s)}for(const t in this.model.buttons){const i={formatter:()=>this.model.buttons[t],hozAlign:"center",cellClick:(e,i)=>{const s=i.getData()._index,o=new x(t,s);this.model.trigger_event(o)}};e.push(i)}return e}renderEditor(t,e,i,s,o){const l=t.editor,n=new l.default_view({column:t,model:l,parent:this,container:e._cell.element});return n.initialize(),n.connect_signals(),i((()=>{n.setValue(e.getValue())})),n.inputEl.addEventListener("input",(()=>{const t=n.serializeValue(),i=e.getValue(),l=n.validate();l.valid||o(l.msg),null!=i&&typeof t!=typeof i?o("Mismatching type"):s(n.serializeValue())})),n.inputEl}setData(){if(this._initializing||this._building||!this.tabulator.initialized)return;const t=this.getData();null!=this.model.pagination?this.tabulator.rowManager.setData(t,!0,!1):this.tabulator.setData(t)}addData(){const t=this.tabulator.rowManager.getRows(),e=t[t.length-1],i=e?.data._index||0;this.setData(),this.model.follow&&e&&this.tabulator.scrollToRow(i,"top",!1)}postUpdate(){this.setSelection(),this.setStyles(),this._restore_scroll&&(this.restore_scroll(),this._restore_scroll=!1)}updateOrAddData(){if(this._tabulator_cell_updating)return;const t=this.tabulator.element.style.minHeight;this.tabulator.element.style.minHeight=`${this.tabulator.element.offsetHeight}px`;const e=(0,b.transform_cds_to_records)(this.model.source,!0);this.tabulator.setData(e).then((()=>{this.tabulator.element.style.minHeight=t}))}setFrozen(){for(const t of this.model.frozen_rows)this.tabulator.getRow(t).freeze()}setVisibility(){null!=this.tabulator&&(this.tabulator.element.style.visibility=this.model.visible?"visible":"hidden")}updatePage(t){"local"===this.model.pagination&&this.model.page!==t&&(this._updating_page=!0,this.model.page=t,this._updating_page=!1,this.setStyles())}setGroupBy(){this.tabulator.setGroupBy(this.groupBy)}setSorters(){this._updating_sort||this.tabulator.setSort(this.sorters)}setStyles(){const t=this.model.cell_styles.data;if(null!=this.tabulator&&0!=this.tabulator.getDataCount()&&null!=t&&t.size){this._applied_styles=!1;for(const e of t.keys()){const i=t.get(e),s=this.tabulator.getRow(e);if(!s)continue;const o=s._row.cells;for(const t of i.keys()){const e=i.get(t),s=o[t];if(null==s||!e.length)continue;const l=s.element;for(const t of e){let e,i;if((0,h.isArray)(t))[e,i]=t;else{if(!t.includes(":"))continue;[e,i]=t.split(":")}l.style.setProperty(e,i.trimLeft()),this._applied_styles=!0}}}}}setHidden(){for(const t of this.tabulator.getColumns()){const e=t._column;"_index"==e.field||this.model.hidden_columns.includes(e.field)?t.hide():t.show()}}setMaxPage(){this.tabulator.setMaxPage(this.model.max_page),this.tabulator.modules.page.pagesElement&&this.tabulator.modules.page._setPageButtons()}setPage(){this.tabulator.setPage(Math.min(this.model.max_page,this.model.page)),"local"===this.model.pagination&&(this.renderChildren(),this.setStyles())}setPageSize(){this.tabulator.setPageSize(this.model.page_size),"local"===this.model.pagination&&(this.renderChildren(),this.setStyles())}setSelection(){if(null==this.tabulator||this._initializing||this._selection_updating||!this.tabulator.initialized)return;const t=this.model.source.selected.indices,e=this.tabulator.getSelectedData().map((t=>t._index));if(JSON.stringify(t)!=JSON.stringify(e)){this._selection_updating=!0,this.tabulator.deselectRow(),this.tabulator.selectRow(t);for(const e of t){this.tabulator.rowManager.findRow(e)&&this.tabulator.scrollToRow(e,"center",!1).catch((()=>{}))}this._selection_updating=!1}}restore_scroll(){const t={top:this._lastVerticalScrollbarTopPosition,left:this._lastHorizontalScrollbarLeftPosition,behavior:"instant"};setTimeout((()=>this.tabulator.rowManager.element.scrollTo(t)),0)}record_scroll(){this._lastVerticalScrollbarTopPosition=this.tabulator.rowManager.element.scrollTop,this._lastHorizontalScrollbarLeftPosition=this.tabulator.rowManager.element.scrollLeft}rowClicked(t,e){if(this._selection_updating||this._initializing||(0,h.isString)(this.model.select_mode)||!1===this.model.select_mode||this.model.configuration.dataTree||"\u25ba"===t.srcElement?.innerText)return;let i=[];const s=this.model.source.selected,o=e._row.data._index;if("remote"===this.model.pagination){const e=-1==this.model.source.selected.indices.indexOf(o),l=!(t.ctrlKey||t.metaKey||t.shiftKey);if(t.shiftKey&&s.indices.length){const t=s.indices[s.indices.length-1];if(o>t)for(let e=t;e<=o;e++)i.push(e);else for(let e=t;e>=o;e--)i.push(e)}else i.push(o);return this._selection_updating=!0,this.model.trigger_event(new v(i,e,l)),void(this._selection_updating=!1)}if(t.ctrlKey||t.metaKey)i=[...this.model.source.selected.indices];else if(t.shiftKey&&s.indices.length){const t=s.indices[s.indices.length-1];if(o>t)for(let e=t;e<o;e++)i.push(e);else for(let e=t;e>o;e--)i.push(e)}if(i.indexOf(o)<0?i.push(o):i.splice(i.indexOf(o),1),(0,h.isNumber)(this.model.select_mode))for(;i.length>this.model.select_mode;)i.shift();const l=this._filter_selected(i);this.tabulator.deselectRow(),this.tabulator.selectRow(l),this._selection_updating=!0,s.indices=l,this._selection_updating=!1}_filter_selected(t){const e=[];for(const i of t)(null==this.model.selectable_rows||this.model.selectable_rows.indexOf(i)>=0)&&e.push(i);return e}rowSelectionChanged(t,e,i,s){if(!(this._selection_updating||this._initializing||(0,h.isBoolean)(this.model.select_mode)||(0,h.isNumber)(this.model.select_mode)||this.model.configuration.dataTree)){if("remote"===this.model.pagination){const t=i.map((t=>t._row.data._index)),e=s.map((t=>t._row.data._index));t.length>0&&(this._selection_updating=!0,this.model.trigger_event(new v(t,!0,!1))),e.length>0&&(this._selection_updating=!0,this.model.trigger_event(new v(e,!1,!1)))}else{const e=t.map((t=>t._index)),i=this._filter_selected(e);this._selection_updating=e.length===i.length,this.model.source.selected.indices=i}this._selection_updating=!1}}cellEdited(t){const e=t._cell.column.field,i=this.columns.get(e),s=t.getData()._index,o=t._cell.value;if("numeric"!==i.validator||""!==o){this._tabulator_cell_updating=!0,p.comm_settings.debounce=!1,this.model.trigger_event(new y(e,s,!0));try{this.model.source.patch({[e]:[[s,o]]})}finally{p.comm_settings.debounce=!0,this._tabulator_cell_updating=!1}this.model.trigger_event(new y(e,s,!1)),this.tabulator.scrollToRow(s,"top",!1)}else t.setValue(NaN,!0)}}i.DataTabulatorView=k,k.__name__="DataTabulatorView",i.TableLayout=(0,_.Enum)("fit_data","fit_data_fill","fit_data_stretch","fit_data_table","fit_columns");class D extends w.HTMLBox{constructor(t){super(t)}}i.DataTabulator=D,r=D,D.__name__="DataTabulator",D.__module__="panel.models.tabulator",r.prototype.default_view=k,r.define((({Any:t,List:e,Bool:s,Nullable:o,Float:l,Ref:n,Str:a})=>({aggregators:[t,{}],buttons:[t,{}],children:[t,new Map],configuration:[t,{}],columns:[e(n(g.TableColumn)),[]],download:[s,!1],editable:[s,!0],expanded:[e(l),[]],filename:[a,"table.csv"],filters:[e(t),[]],follow:[s,!0],frozen_rows:[e(l),[]],groupby:[e(a),[]],hidden_columns:[e(a),[]],indexes:[e(a),[]],layout:[i.TableLayout,"fit_data"],max_page:[l,0],pagination:[o(a),null],page:[l,0],page_size:[l,0],select_mode:[t,!0],selectable_rows:[o(e(l)),null],source:[n(m.ColumnDataSource)],sorters:[e(t),[]],cell_styles:[t,{}],theme_classes:[e(a),[]]})))},
63
63
  "99a25e6992": function _(n,l,u,t,e){function o(n,l,u){var t,e,o,a,r;function i(){var c=Date.now()-a;c<l&&c>=0?t=setTimeout(i,l-c):(t=null,u||(r=n.apply(o,e),o=e=null))}null==l&&(l=100);var c=function(){o=this,e=arguments,a=Date.now();var c=u&&!t;return t||(t=setTimeout(i,l)),c&&(r=n.apply(o,e),o=e=null),r};return c.clear=function(){t&&(clearTimeout(t),t=null)},c.flush=function(){t&&(r=n.apply(o,e),o=e=null,clearTimeout(t),t=null)},c}o.debounce=o,l.exports=o},
64
64
  "be689f0377": function _(n,e,t,l,o){l();const s=n("@bokehjs/core/util/types");t.transform_cds_to_records=function(n,e=!1,t=0){const l=[],o=n.columns(),r=n.get_length();if(0===o.length||null===r)return[];for(let c=t;c<r;c++){const t={};for(const e of o){const l=n.get_array(e),o=null==l[0]||null==l[0].shape?null:l[0].shape;if(null!=o&&o.length>1&&(0,s.isNumber)(o[0]))t[e]=l.slice(c*o[1],c*o[1]+o[1]);else if(l.length!=r&&l.length%r==0){const n=l.length/r;t[e]=l.slice(c*n,c*n+n)}else t[e]=l[c]}e&&(t._index=c),l.push(t)}return l},t.dict_to_records=function(n,e=!0){for(let t=0;t<n.index.length;t++){const l={};for(const o of n)(e||"index"!==o)&&(l[o]=n[o][t])}return[]}},
65
65
  "ddf98634bb": function _(e,t,i,s,n){var o;s();const a=e("tslib"),l=a.__importDefault(e("1156ddcec2")),r=e("@bokehjs/models/widgets/input_widget"),d=e("@bokehjs/core/dom"),c=e("@bokehjs/core/enums"),h=e("@bokehjs/core/util/types"),_=a.__importStar(e("@bokehjs/styles/widgets/inputs.css")),m=a.__importDefault(e("@bokehjs/styles/widgets/flatpickr.css"));function p(e){const t=[];for(const i of e)if((0,h.isString)(i))t.push(i);else{const[e,s]=i;t.push({from:e,to:s})}return t}class u extends r.InputWidgetView{connect_signals(){super.connect_signals();const{value:e,min_date:t,max_date:i,disabled_dates:s,enabled_dates:n,inline:o,enable_time:a,enable_seconds:l,military_time:r,date_format:d,mode:c}=this.model.properties;this.on_change(e,(()=>this.model.value?this._picker?.setDate(this.model.value):this._clear())),this.on_change(t,(()=>this._picker?.set("minDate",this.model.min_date))),this.on_change(i,(()=>this._picker?.set("maxDate",this.model.max_date))),this.on_change(s,(()=>{const{disabled_dates:e}=this.model;this._picker?.set("disable",null!=e?p(e):[])})),this.on_change(n,(()=>{const{enabled_dates:e}=this.model;null!=e?this._picker?.set("enable",p(e)):this._picker&&(this._picker.config._enable=void 0,this._picker.redraw(),this._picker.updateValue(!0))})),this.on_change(o,(()=>this._picker?.set("inline",this.model.inline))),this.on_change(a,(()=>this._picker?.set("enableTime",this.model.enable_time))),this.on_change(l,(()=>this._picker?.set("enableSeconds",this.model.enable_seconds))),this.on_change(r,(()=>this._picker?.set("time_24hr",this.model.military_time))),this.on_change(c,(()=>this._picker?.set("mode",this.model.mode))),this.on_change(d,(()=>this._picker?.set("dateFormat",this.model.date_format)))}remove(){this._picker?.destroy(),super.remove()}stylesheets(){return[...super.stylesheets(),m.default]}_render_input(){return this.input_el=(0,d.input)({type:"text",class:_.input,disabled:this.model.disabled})}render(){if(null!=this._picker)return;super.render();const e={appendTo:this.group_el,positionElement:this.input_el,defaultDate:this.model.value,inline:this.model.inline,position:this._position.bind(this),enableTime:this.model.enable_time,enableSeconds:this.model.enable_seconds,time_24hr:this.model.military_time,dateFormat:this.model.date_format,mode:this.model.mode,onClose:(e,t,i)=>this._on_close(e,t,i)},{min_date:t,max_date:i,disabled_dates:s,enabled_dates:n}=this.model;null!=t&&(e.minDate=t),null!=i&&(e.maxDate=i),null!=s&&(e.disable=p(s)),null!=n&&(e.enable=p(n)),this._picker=(0,l.default)(this.input_el,e),this._picker.maxDateHasTime=!0,this._picker.minDateHasTime=!0}_clear(){this._picker?.clear(),this.model.value=null}_on_close(e,t,i){("range"!=this.model.mode||t.includes("to"))&&(this.model.value=t,this.change_input())}_position(e,t){const i=t??e._positionElement,s=[...e.calendarContainer.children].reduce(((e,t)=>e+(0,d.bounding_box)(t).height),0),n=e.calendarContainer.offsetWidth,o=this.model.position.split(" "),a=o[0],l=o.length>1?o[1]:null,r=i.offsetTop,c=i.offsetTop+i.offsetHeight,h=i.offsetLeft,_=i.offsetLeft+i.offsetWidth,m=i.offsetWidth,p=window.innerHeight-c,u="above"===a||"below"!==a&&p<s&&r>s,f=e.config.appendTo?r+(u?-s-2:i.offsetHeight+2):window.scrollY+r+(u?-s-2:i.offsetHeight+2);if(e.calendarContainer.classList.toggle("arrowTop",!u),e.calendarContainer.classList.toggle("arrowBottom",u),e.config.inline)return;let g=window.scrollX+h,b=!1,k=!1;"center"===l?(g-=(n-m)/2,b=!0):"right"===l&&(g-=n-m,k=!0),e.calendarContainer.classList.toggle("arrowLeft",!b&&!k),e.calendarContainer.classList.toggle("arrowCenter",b),e.calendarContainer.classList.toggle("arrowRight",k);const w=window.document.body.offsetWidth-(window.scrollX+_),y=g+n>window.document.body.offsetWidth,C=w+n>window.document.body.offsetWidth;if(e.calendarContainer.classList.toggle("rightMost",y),!e.config.static)if(e.calendarContainer.style.top=`${f}px`,y)if(C){const t=this.shadow_el.styleSheets[0],i=window.document.body.offsetWidth,s=Math.max(0,i/2-n/2),o=".flatpickr-calendar.centerMost:before",a=".flatpickr-calendar.centerMost:after",l=t.cssRules.length,r=`{left:${h}px;right:auto;}`;e.calendarContainer.classList.toggle("rightMost",!1),e.calendarContainer.classList.toggle("centerMost",!0),t.insertRule(`${o},${a}${r}`,l),e.calendarContainer.style.left=`${s}px`,e.calendarContainer.style.right="auto"}else e.calendarContainer.style.left="auto",e.calendarContainer.style.right=`${w}px`;else e.calendarContainer.style.left=`${g}px`,e.calendarContainer.style.right="auto"}}i.DatetimePickerView=u,u.__name__="DatetimePickerView";class f extends r.InputWidget{constructor(e){super(e)}}i.DatetimePicker=f,o=f,f.__name__="DatetimePicker",f.__module__="panel.models.datetime_picker",o.prototype.default_view=u,o.define((({Bool:e,Str:t,List:i,Tuple:s,Or:n,Nullable:o})=>{const a=i(n(t,s(t,t)));return{value:[o(t),null],min_date:[o(t),null],max_date:[o(t),null],disabled_dates:[o(a),null],enabled_dates:[o(a),null],position:[c.CalendarPosition,"auto"],inline:[e,!1],enable_time:[e,!0],enable_seconds:[e,!0],military_time:[e,!0],date_format:[t,"Y-m-d H:i:S"],mode:[t,"single"]}}))},
@@ -99,7 +99,7 @@
99
99
  */
100
100
  const o=t("@bokehjs/core/util/types");let r,s;const c={fontFamily:'"Helvetica Neue", Helvetica, Arial, sans-serif',display:"flex",flex:"wrap",maxWidth:"500px",flexDirection:"column",zIndex:2};function a(){return document.createElement("div")}function f(t){if(!t.picked)return null;if(t.object===r)return s;const e={html:p(t.object),style:c};return s=e,r=t.object,e}n.getTooltipDefault=f;const u=new Set(["position","index"]);function p(t){const e=a();for(const n in t){if(u.has(n))continue;const i=a();i.className="header",i.textContent=n;const l=a();l.className="value",l.textContent=d(t[n]);const o=a();h(o,i,l),o.appendChild(i),o.appendChild(l),e.appendChild(o)}return e.innerHTML}function h(t,e,n){Object.assign(e.style,{fontWeight:700,marginRight:"10px",flex:"1 1 0%"}),Object.assign(n.style,{flex:"none",maxWidth:"250px",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"}),Object.assign(t.style,{display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"stretch"})}function d(t){let e;if(Array.isArray(t)&&t.length>4)e=`Array<${t.length}>`;else if((0,o.isString)(t))e=t;else if((0,o.isNumber)(t))e=String(t);else try{e=JSON.stringify(t)}catch(t){e="<Non-Serializable Object>"}return e.length>50&&(e=e.slice(0,50)),e}function x(t,e){let n=t;for(const t in e){if((0,o.isPlainObject)(e[t]))for(const i in e[t])n=n.replace(`{${t}.${i}}`,e[t][i]);n=n.replace(`{${t}}`,e[t])}return n}n.tabularize=p,n.toText=d,n.substituteIn=x,n.makeTooltip=function(t,e){if(!t)return null;let n=!1;const i={};for(let l=0;l<e.length;l++){const r=e[l].id;(0,o.isBoolean)(t)||!(l.toString()in t)&&!(r in t)||(i[r]=r in t?t[r]:t[l.toString()],n=!0)}return t.html||t.text||n?e=>{if(!e.picked)return null;const l=n?i[e.layer.id]:t;if(null==l)return;if((0,o.isBoolean)(l))return l?f(e):null;const r={style:l.style||c};return l.html?r.html=x(l.html,e.object):r.text=x(l.text,e.object),r}:f}},
101
101
  "d970fa7374": function _(E,_,R,T,A){T(),R.default={DEPTH_BUFFER_BIT:256,STENCIL_BUFFER_BIT:1024,COLOR_BUFFER_BIT:16384,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,ZERO:0,ONE:1,SRC_COLOR:768,ONE_MINUS_SRC_COLOR:769,SRC_ALPHA:770,ONE_MINUS_SRC_ALPHA:771,DST_ALPHA:772,ONE_MINUS_DST_ALPHA:773,DST_COLOR:774,ONE_MINUS_DST_COLOR:775,SRC_ALPHA_SATURATE:776,CONSTANT_COLOR:32769,ONE_MINUS_CONSTANT_COLOR:32770,CONSTANT_ALPHA:32771,ONE_MINUS_CONSTANT_ALPHA:32772,FUNC_ADD:32774,FUNC_SUBTRACT:32778,FUNC_REVERSE_SUBTRACT:32779,BLEND_EQUATION:32777,BLEND_EQUATION_RGB:32777,BLEND_EQUATION_ALPHA:34877,BLEND_DST_RGB:32968,BLEND_SRC_RGB:32969,BLEND_DST_ALPHA:32970,BLEND_SRC_ALPHA:32971,BLEND_COLOR:32773,ARRAY_BUFFER_BINDING:34964,ELEMENT_ARRAY_BUFFER_BINDING:34965,LINE_WIDTH:2849,ALIASED_POINT_SIZE_RANGE:33901,ALIASED_LINE_WIDTH_RANGE:33902,CULL_FACE_MODE:2885,FRONT_FACE:2886,DEPTH_RANGE:2928,DEPTH_WRITEMASK:2930,DEPTH_CLEAR_VALUE:2931,DEPTH_FUNC:2932,STENCIL_CLEAR_VALUE:2961,STENCIL_FUNC:2962,STENCIL_FAIL:2964,STENCIL_PASS_DEPTH_FAIL:2965,STENCIL_PASS_DEPTH_PASS:2966,STENCIL_REF:2967,STENCIL_VALUE_MASK:2963,STENCIL_WRITEMASK:2968,STENCIL_BACK_FUNC:34816,STENCIL_BACK_FAIL:34817,STENCIL_BACK_PASS_DEPTH_FAIL:34818,STENCIL_BACK_PASS_DEPTH_PASS:34819,STENCIL_BACK_REF:36003,STENCIL_BACK_VALUE_MASK:36004,STENCIL_BACK_WRITEMASK:36005,VIEWPORT:2978,SCISSOR_BOX:3088,COLOR_CLEAR_VALUE:3106,COLOR_WRITEMASK:3107,UNPACK_ALIGNMENT:3317,PACK_ALIGNMENT:3333,MAX_TEXTURE_SIZE:3379,MAX_VIEWPORT_DIMS:3386,SUBPIXEL_BITS:3408,RED_BITS:3410,GREEN_BITS:3411,BLUE_BITS:3412,ALPHA_BITS:3413,DEPTH_BITS:3414,STENCIL_BITS:3415,POLYGON_OFFSET_UNITS:10752,POLYGON_OFFSET_FACTOR:32824,TEXTURE_BINDING_2D:32873,SAMPLE_BUFFERS:32936,SAMPLES:32937,SAMPLE_COVERAGE_VALUE:32938,SAMPLE_COVERAGE_INVERT:32939,COMPRESSED_TEXTURE_FORMATS:34467,VENDOR:7936,RENDERER:7937,VERSION:7938,IMPLEMENTATION_COLOR_READ_TYPE:35738,IMPLEMENTATION_COLOR_READ_FORMAT:35739,BROWSER_DEFAULT_WEBGL:37444,STATIC_DRAW:35044,STREAM_DRAW:35040,DYNAMIC_DRAW:35048,ARRAY_BUFFER:34962,ELEMENT_ARRAY_BUFFER:34963,BUFFER_SIZE:34660,BUFFER_USAGE:34661,CURRENT_VERTEX_ATTRIB:34342,VERTEX_ATTRIB_ARRAY_ENABLED:34338,VERTEX_ATTRIB_ARRAY_SIZE:34339,VERTEX_ATTRIB_ARRAY_STRIDE:34340,VERTEX_ATTRIB_ARRAY_TYPE:34341,VERTEX_ATTRIB_ARRAY_NORMALIZED:34922,VERTEX_ATTRIB_ARRAY_POINTER:34373,VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:34975,CULL_FACE:2884,FRONT:1028,BACK:1029,FRONT_AND_BACK:1032,BLEND:3042,DEPTH_TEST:2929,DITHER:3024,POLYGON_OFFSET_FILL:32823,SAMPLE_ALPHA_TO_COVERAGE:32926,SAMPLE_COVERAGE:32928,SCISSOR_TEST:3089,STENCIL_TEST:2960,NO_ERROR:0,INVALID_ENUM:1280,INVALID_VALUE:1281,INVALID_OPERATION:1282,OUT_OF_MEMORY:1285,CONTEXT_LOST_WEBGL:37442,CW:2304,CCW:2305,DONT_CARE:4352,FASTEST:4353,NICEST:4354,GENERATE_MIPMAP_HINT:33170,BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130,DEPTH_COMPONENT:6402,ALPHA:6406,RGB:6407,RGBA:6408,LUMINANCE:6409,LUMINANCE_ALPHA:6410,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,FRAGMENT_SHADER:35632,VERTEX_SHADER:35633,COMPILE_STATUS:35713,DELETE_STATUS:35712,LINK_STATUS:35714,VALIDATE_STATUS:35715,ATTACHED_SHADERS:35717,ACTIVE_ATTRIBUTES:35721,ACTIVE_UNIFORMS:35718,MAX_VERTEX_ATTRIBS:34921,MAX_VERTEX_UNIFORM_VECTORS:36347,MAX_VARYING_VECTORS:36348,MAX_COMBINED_TEXTURE_IMAGE_UNITS:35661,MAX_VERTEX_TEXTURE_IMAGE_UNITS:35660,MAX_TEXTURE_IMAGE_UNITS:34930,MAX_FRAGMENT_UNIFORM_VECTORS:36349,SHADER_TYPE:35663,SHADING_LANGUAGE_VERSION:35724,CURRENT_PROGRAM:35725,NEVER:512,ALWAYS:519,LESS:513,EQUAL:514,LEQUAL:515,GREATER:516,GEQUAL:518,NOTEQUAL:517,KEEP:7680,REPLACE:7681,INCR:7682,DECR:7683,INVERT:5386,INCR_WRAP:34055,DECR_WRAP:34056,NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,TEXTURE_2D:3553,TEXTURE:5890,TEXTURE_CUBE_MAP:34067,TEXTURE_BINDING_CUBE_MAP:34068,TEXTURE_CUBE_MAP_POSITIVE_X:34069,TEXTURE_CUBE_MAP_NEGATIVE_X:34070,TEXTURE_CUBE_MAP_POSITIVE_Y:34071,TEXTURE_CUBE_MAP_NEGATIVE_Y:34072,TEXTURE_CUBE_MAP_POSITIVE_Z:34073,TEXTURE_CUBE_MAP_NEGATIVE_Z:34074,MAX_CUBE_MAP_TEXTURE_SIZE:34076,TEXTURE0:33984,ACTIVE_TEXTURE:34016,REPEAT:10497,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648,TEXTURE_WIDTH:4096,TEXTURE_HEIGHT:4097,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,INT_VEC2:35667,INT_VEC3:35668,INT_VEC4:35669,BOOL:35670,BOOL_VEC2:35671,BOOL_VEC3:35672,BOOL_VEC4:35673,FLOAT_MAT2:35674,FLOAT_MAT3:35675,FLOAT_MAT4:35676,SAMPLER_2D:35678,SAMPLER_CUBE:35680,LOW_FLOAT:36336,MEDIUM_FLOAT:36337,HIGH_FLOAT:36338,LOW_INT:36339,MEDIUM_INT:36340,HIGH_INT:36341,FRAMEBUFFER:36160,RENDERBUFFER:36161,RGBA4:32854,RGB5_A1:32855,RGB565:36194,DEPTH_COMPONENT16:33189,STENCIL_INDEX:6401,STENCIL_INDEX8:36168,DEPTH_STENCIL:34041,RENDERBUFFER_WIDTH:36162,RENDERBUFFER_HEIGHT:36163,RENDERBUFFER_INTERNAL_FORMAT:36164,RENDERBUFFER_RED_SIZE:36176,RENDERBUFFER_GREEN_SIZE:36177,RENDERBUFFER_BLUE_SIZE:36178,RENDERBUFFER_ALPHA_SIZE:36179,RENDERBUFFER_DEPTH_SIZE:36180,RENDERBUFFER_STENCIL_SIZE:36181,FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:36048,FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:36049,FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:36050,FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:36051,COLOR_ATTACHMENT0:36064,DEPTH_ATTACHMENT:36096,STENCIL_ATTACHMENT:36128,DEPTH_STENCIL_ATTACHMENT:33306,NONE:0,FRAMEBUFFER_COMPLETE:36053,FRAMEBUFFER_INCOMPLETE_ATTACHMENT:36054,FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:36055,FRAMEBUFFER_INCOMPLETE_DIMENSIONS:36057,FRAMEBUFFER_UNSUPPORTED:36061,FRAMEBUFFER_BINDING:36006,RENDERBUFFER_BINDING:36007,READ_FRAMEBUFFER:36008,DRAW_FRAMEBUFFER:36009,MAX_RENDERBUFFER_SIZE:34024,INVALID_FRAMEBUFFER_OPERATION:1286,UNPACK_FLIP_Y_WEBGL:37440,UNPACK_PREMULTIPLY_ALPHA_WEBGL:37441,UNPACK_COLORSPACE_CONVERSION_WEBGL:37443,READ_BUFFER:3074,UNPACK_ROW_LENGTH:3314,UNPACK_SKIP_ROWS:3315,UNPACK_SKIP_PIXELS:3316,PACK_ROW_LENGTH:3330,PACK_SKIP_ROWS:3331,PACK_SKIP_PIXELS:3332,TEXTURE_BINDING_3D:32874,UNPACK_SKIP_IMAGES:32877,UNPACK_IMAGE_HEIGHT:32878,MAX_3D_TEXTURE_SIZE:32883,MAX_ELEMENTS_VERTICES:33e3,MAX_ELEMENTS_INDICES:33001,MAX_TEXTURE_LOD_BIAS:34045,MAX_FRAGMENT_UNIFORM_COMPONENTS:35657,MAX_VERTEX_UNIFORM_COMPONENTS:35658,MAX_ARRAY_TEXTURE_LAYERS:35071,MIN_PROGRAM_TEXEL_OFFSET:35076,MAX_PROGRAM_TEXEL_OFFSET:35077,MAX_VARYING_COMPONENTS:35659,FRAGMENT_SHADER_DERIVATIVE_HINT:35723,RASTERIZER_DISCARD:35977,VERTEX_ARRAY_BINDING:34229,MAX_VERTEX_OUTPUT_COMPONENTS:37154,MAX_FRAGMENT_INPUT_COMPONENTS:37157,MAX_SERVER_WAIT_TIMEOUT:37137,MAX_ELEMENT_INDEX:36203,RED:6403,RGB8:32849,RGBA8:32856,RGB10_A2:32857,TEXTURE_3D:32879,TEXTURE_WRAP_R:32882,TEXTURE_MIN_LOD:33082,TEXTURE_MAX_LOD:33083,TEXTURE_BASE_LEVEL:33084,TEXTURE_MAX_LEVEL:33085,TEXTURE_COMPARE_MODE:34892,TEXTURE_COMPARE_FUNC:34893,SRGB:35904,SRGB8:35905,SRGB8_ALPHA8:35907,COMPARE_REF_TO_TEXTURE:34894,RGBA32F:34836,RGB32F:34837,RGBA16F:34842,RGB16F:34843,TEXTURE_2D_ARRAY:35866,TEXTURE_BINDING_2D_ARRAY:35869,R11F_G11F_B10F:35898,RGB9_E5:35901,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,RED_INTEGER:36244,RGB_INTEGER:36248,RGBA_INTEGER:36249,R8:33321,RG8:33323,R16F:33325,R32F:33326,RG16F:33327,RG32F:33328,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,RGB10_A2UI:36975,TEXTURE_IMMUTABLE_FORMAT:37167,TEXTURE_IMMUTABLE_LEVELS:33503,UNSIGNED_INT_2_10_10_10_REV:33640,UNSIGNED_INT_10F_11F_11F_REV:35899,UNSIGNED_INT_5_9_9_9_REV:35902,FLOAT_32_UNSIGNED_INT_24_8_REV:36269,UNSIGNED_INT_24_8:34042,HALF_FLOAT:5131,RG:33319,RG_INTEGER:33320,INT_2_10_10_10_REV:36255,CURRENT_QUERY:34917,QUERY_RESULT:34918,QUERY_RESULT_AVAILABLE:34919,ANY_SAMPLES_PASSED:35887,ANY_SAMPLES_PASSED_CONSERVATIVE:36202,MAX_DRAW_BUFFERS:34852,DRAW_BUFFER0:34853,DRAW_BUFFER1:34854,DRAW_BUFFER2:34855,DRAW_BUFFER3:34856,DRAW_BUFFER4:34857,DRAW_BUFFER5:34858,DRAW_BUFFER6:34859,DRAW_BUFFER7:34860,DRAW_BUFFER8:34861,DRAW_BUFFER9:34862,DRAW_BUFFER10:34863,DRAW_BUFFER11:34864,DRAW_BUFFER12:34865,DRAW_BUFFER13:34866,DRAW_BUFFER14:34867,DRAW_BUFFER15:34868,MAX_COLOR_ATTACHMENTS:36063,COLOR_ATTACHMENT1:36065,COLOR_ATTACHMENT2:36066,COLOR_ATTACHMENT3:36067,COLOR_ATTACHMENT4:36068,COLOR_ATTACHMENT5:36069,COLOR_ATTACHMENT6:36070,COLOR_ATTACHMENT7:36071,COLOR_ATTACHMENT8:36072,COLOR_ATTACHMENT9:36073,COLOR_ATTACHMENT10:36074,COLOR_ATTACHMENT11:36075,COLOR_ATTACHMENT12:36076,COLOR_ATTACHMENT13:36077,COLOR_ATTACHMENT14:36078,COLOR_ATTACHMENT15:36079,SAMPLER_3D:35679,SAMPLER_2D_SHADOW:35682,SAMPLER_2D_ARRAY:36289,SAMPLER_2D_ARRAY_SHADOW:36292,SAMPLER_CUBE_SHADOW:36293,INT_SAMPLER_2D:36298,INT_SAMPLER_3D:36299,INT_SAMPLER_CUBE:36300,INT_SAMPLER_2D_ARRAY:36303,UNSIGNED_INT_SAMPLER_2D:36306,UNSIGNED_INT_SAMPLER_3D:36307,UNSIGNED_INT_SAMPLER_CUBE:36308,UNSIGNED_INT_SAMPLER_2D_ARRAY:36311,MAX_SAMPLES:36183,SAMPLER_BINDING:35097,PIXEL_PACK_BUFFER:35051,PIXEL_UNPACK_BUFFER:35052,PIXEL_PACK_BUFFER_BINDING:35053,PIXEL_UNPACK_BUFFER_BINDING:35055,COPY_READ_BUFFER:36662,COPY_WRITE_BUFFER:36663,COPY_READ_BUFFER_BINDING:36662,COPY_WRITE_BUFFER_BINDING:36663,FLOAT_MAT2x3:35685,FLOAT_MAT2x4:35686,FLOAT_MAT3x2:35687,FLOAT_MAT3x4:35688,FLOAT_MAT4x2:35689,FLOAT_MAT4x3:35690,UNSIGNED_INT_VEC2:36294,UNSIGNED_INT_VEC3:36295,UNSIGNED_INT_VEC4:36296,UNSIGNED_NORMALIZED:35863,SIGNED_NORMALIZED:36764,VERTEX_ATTRIB_ARRAY_INTEGER:35069,VERTEX_ATTRIB_ARRAY_DIVISOR:35070,TRANSFORM_FEEDBACK_BUFFER_MODE:35967,MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS:35968,TRANSFORM_FEEDBACK_VARYINGS:35971,TRANSFORM_FEEDBACK_BUFFER_START:35972,TRANSFORM_FEEDBACK_BUFFER_SIZE:35973,TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN:35976,MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS:35978,MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS:35979,INTERLEAVED_ATTRIBS:35980,SEPARATE_ATTRIBS:35981,TRANSFORM_FEEDBACK_BUFFER:35982,TRANSFORM_FEEDBACK_BUFFER_BINDING:35983,TRANSFORM_FEEDBACK:36386,TRANSFORM_FEEDBACK_PAUSED:36387,TRANSFORM_FEEDBACK_ACTIVE:36388,TRANSFORM_FEEDBACK_BINDING:36389,FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING:33296,FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE:33297,FRAMEBUFFER_ATTACHMENT_RED_SIZE:33298,FRAMEBUFFER_ATTACHMENT_GREEN_SIZE:33299,FRAMEBUFFER_ATTACHMENT_BLUE_SIZE:33300,FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE:33301,FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE:33302,FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE:33303,FRAMEBUFFER_DEFAULT:33304,DEPTH24_STENCIL8:35056,DRAW_FRAMEBUFFER_BINDING:36006,READ_FRAMEBUFFER_BINDING:36010,RENDERBUFFER_SAMPLES:36011,FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER:36052,FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:36182,UNIFORM_BUFFER:35345,UNIFORM_BUFFER_BINDING:35368,UNIFORM_BUFFER_START:35369,UNIFORM_BUFFER_SIZE:35370,MAX_VERTEX_UNIFORM_BLOCKS:35371,MAX_FRAGMENT_UNIFORM_BLOCKS:35373,MAX_COMBINED_UNIFORM_BLOCKS:35374,MAX_UNIFORM_BUFFER_BINDINGS:35375,MAX_UNIFORM_BLOCK_SIZE:35376,MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS:35377,MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS:35379,UNIFORM_BUFFER_OFFSET_ALIGNMENT:35380,ACTIVE_UNIFORM_BLOCKS:35382,UNIFORM_TYPE:35383,UNIFORM_SIZE:35384,UNIFORM_BLOCK_INDEX:35386,UNIFORM_OFFSET:35387,UNIFORM_ARRAY_STRIDE:35388,UNIFORM_MATRIX_STRIDE:35389,UNIFORM_IS_ROW_MAJOR:35390,UNIFORM_BLOCK_BINDING:35391,UNIFORM_BLOCK_DATA_SIZE:35392,UNIFORM_BLOCK_ACTIVE_UNIFORMS:35394,UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES:35395,UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER:35396,UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER:35398,OBJECT_TYPE:37138,SYNC_CONDITION:37139,SYNC_STATUS:37140,SYNC_FLAGS:37141,SYNC_FENCE:37142,SYNC_GPU_COMMANDS_COMPLETE:37143,UNSIGNALED:37144,SIGNALED:37145,ALREADY_SIGNALED:37146,TIMEOUT_EXPIRED:37147,CONDITION_SATISFIED:37148,WAIT_FAILED:37149,SYNC_FLUSH_COMMANDS_BIT:1,COLOR:6144,DEPTH:6145,STENCIL:6146,MIN:32775,MAX:32776,DEPTH_COMPONENT24:33190,STREAM_READ:35041,STREAM_COPY:35042,STATIC_READ:35045,STATIC_COPY:35046,DYNAMIC_READ:35049,DYNAMIC_COPY:35050,DEPTH_COMPONENT32F:36012,DEPTH32F_STENCIL8:36013,INVALID_INDEX:4294967295,TIMEOUT_IGNORED:-1,MAX_CLIENT_WAIT_TIMEOUT_WEBGL:37447,VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE:35070,UNMASKED_VENDOR_WEBGL:37445,UNMASKED_RENDERER_WEBGL:37446,MAX_TEXTURE_MAX_ANISOTROPY_EXT:34047,TEXTURE_MAX_ANISOTROPY_EXT:34046,COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_RGBA8_ETC2_EAC:37493,COMPRESSED_SRGB8_ETC2:37494,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37495,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37496,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37497,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGB_ATC_WEBGL:35986,COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:35986,COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:34798,UNSIGNED_INT_24_8_WEBGL:34042,HALF_FLOAT_OES:36193,RGBA32F_EXT:34836,RGB32F_EXT:34837,FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT:33297,UNSIGNED_NORMALIZED_EXT:35863,MIN_EXT:32775,MAX_EXT:32776,SRGB_EXT:35904,SRGB_ALPHA_EXT:35906,SRGB8_ALPHA8_EXT:35907,FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT:33296,FRAGMENT_SHADER_DERIVATIVE_HINT_OES:35723,COLOR_ATTACHMENT0_WEBGL:36064,COLOR_ATTACHMENT1_WEBGL:36065,COLOR_ATTACHMENT2_WEBGL:36066,COLOR_ATTACHMENT3_WEBGL:36067,COLOR_ATTACHMENT4_WEBGL:36068,COLOR_ATTACHMENT5_WEBGL:36069,COLOR_ATTACHMENT6_WEBGL:36070,COLOR_ATTACHMENT7_WEBGL:36071,COLOR_ATTACHMENT8_WEBGL:36072,COLOR_ATTACHMENT9_WEBGL:36073,COLOR_ATTACHMENT10_WEBGL:36074,COLOR_ATTACHMENT11_WEBGL:36075,COLOR_ATTACHMENT12_WEBGL:36076,COLOR_ATTACHMENT13_WEBGL:36077,COLOR_ATTACHMENT14_WEBGL:36078,COLOR_ATTACHMENT15_WEBGL:36079,DRAW_BUFFER0_WEBGL:34853,DRAW_BUFFER1_WEBGL:34854,DRAW_BUFFER2_WEBGL:34855,DRAW_BUFFER3_WEBGL:34856,DRAW_BUFFER4_WEBGL:34857,DRAW_BUFFER5_WEBGL:34858,DRAW_BUFFER6_WEBGL:34859,DRAW_BUFFER7_WEBGL:34860,DRAW_BUFFER8_WEBGL:34861,DRAW_BUFFER9_WEBGL:34862,DRAW_BUFFER10_WEBGL:34863,DRAW_BUFFER11_WEBGL:34864,DRAW_BUFFER12_WEBGL:34865,DRAW_BUFFER13_WEBGL:34866,DRAW_BUFFER14_WEBGL:34867,DRAW_BUFFER15_WEBGL:34868,MAX_COLOR_ATTACHMENTS_WEBGL:36063,MAX_DRAW_BUFFERS_WEBGL:34852,VERTEX_ARRAY_BINDING_OES:34229,QUERY_COUNTER_BITS_EXT:34916,CURRENT_QUERY_EXT:34917,QUERY_RESULT_EXT:34918,QUERY_RESULT_AVAILABLE_EXT:34919,TIME_ELAPSED_EXT:35007,TIMESTAMP_EXT:36392,GPU_DISJOINT_EXT:36795}},
102
- "04cbffdfe0": function _(e,t,s,n,o){var i,h;n();const c=e("@bokehjs/core/bokeh_events"),r=e("@bokehjs/core/dom"),a=e("2cc1a33000"),l=e("73d6aee8f5"),d=["click","dblclick","mousedown","mousemove","mouseup","mouseover","mouseout","globalout","contextmenu"].concat(["highlight","downplay","selectchanged","legendselectchangedEvent","legendselected","legendunselected","legendselectall","legendinverseselect","legendscroll","datazoom","datarangeselected","timelineplaychanged","restore","dataviewchanged","magictypechanged","geoselectchanged","geoselected","geounselected","axisareaselected","brush","brushEnd","rushselected","globalcursortaken","rendered","finished"]);class _ extends c.ModelEvent{constructor(e,t,s){super(),this.type=e,this.data=t,this.query=s}get event_values(){return{model:this.origin,type:this.type,data:this.data,query:this.query}}}s.EChartsEvent=_,i=_,_.__name__="EChartsEvent",i.prototype.event_name="echarts_event";class u extends l.HTMLBoxView{constructor(){super(...arguments),this._callbacks=[]}connect_signals(){super.connect_signals();const{width:e,height:t,renderer:s,theme:n,event_config:o,js_events:i,data:h}=this.model.properties;this.on_change(h,(()=>this._plot())),this.on_change([e,t],(()=>this._resize())),this.on_change([n,s],(()=>{this.render(),this._chart.resize()})),this.on_change([o,i],(()=>this._subscribe()))}render(){null!=this._chart&&window.echarts.dispose(this._chart),super.render(),this.container=(0,r.div)({style:"height: 100%; width: 100%;"});const e={width:this.model.width,height:this.model.height,renderer:this.model.renderer};this._chart=window.echarts.init(this.container,this.model.theme,e),this._plot(),this._subscribe(),this.shadow_el.append(this.container)}remove(){super.remove(),null!=this._chart&&window.echarts.dispose(this._chart)}after_layout(){super.after_layout(),this._chart.resize()}_plot(){null!=window.echarts&&this._chart.setOption(this.model.data,this.model.options)}_resize(){this._chart.resize({width:this.model.width,height:this.model.height})}_subscribe(){if(null!=window.echarts){for(const[e,t]of this._callbacks)this._chart.off(e,t);this._callbacks=[];for(const e in this.model.event_config){if(!d.includes(e)){console.warn(`Could not subscribe to unknown Echarts event: ${e}.`);continue}const t=this.model.event_config[e];for(const s of t){const t=t=>{const n={...t};n.event=(0,a.serializeEvent)(t.event?.event);const o=JSON.parse(JSON.stringify(n));this.model.trigger_event(new _(e,o,s))};null==s?this._chart.on(e,s,t):this._chart.on(e,t),this._callbacks.push([e,t])}}for(const e in this.model.js_events){if(!d.includes(e)){console.warn(`Could not subscribe to unknown Echarts event: ${e}.`);continue}const t=this.model.js_events[e];for(const s of t){const t=e=>{s.callback.execute(this._chart,e)};"query"in s?this._chart.on(e,s.query,t):this._chart.on(e,t),this._callbacks.push([e,t])}}}}}s.EChartsView=u,u.__name__="EChartsView";class g extends l.HTMLBox{constructor(e){super(e)}}s.ECharts=g,h=g,g.__name__="ECharts",g.__module__="panel.models.echarts",h.prototype.default_view=u,h.define((({Any:e,Str:t})=>({data:[e,{}],options:[e,{}],event_config:[e,{}],js_events:[e,{}],theme:[t,"default"],renderer:[t,"canvas"]})))},
102
+ "04cbffdfe0": function _(e,t,s,n,o){var i,h;n();const c=e("@bokehjs/core/bokeh_events"),r=e("@bokehjs/core/dom"),a=e("2cc1a33000"),l=e("c37096b5ea"),d=["click","dblclick","mousedown","mousemove","mouseup","mouseover","mouseout","globalout","contextmenu"].concat(["highlight","downplay","selectchanged","legendselectchangedEvent","legendselected","legendunselected","legendselectall","legendinverseselect","legendscroll","datazoom","datarangeselected","timelineplaychanged","restore","dataviewchanged","magictypechanged","geoselectchanged","geoselected","geounselected","axisareaselected","brush","brushEnd","rushselected","globalcursortaken","rendered","finished"]);class _ extends c.ModelEvent{constructor(e,t,s){super(),this.type=e,this.data=t,this.query=s}get event_values(){return{model:this.origin,type:this.type,data:this.data,query:this.query}}}s.EChartsEvent=_,i=_,_.__name__="EChartsEvent",i.prototype.event_name="echarts_event";class u extends l.HTMLBoxView{constructor(){super(...arguments),this._callbacks=[]}connect_signals(){super.connect_signals();const{width:e,height:t,renderer:s,theme:n,event_config:o,js_events:i,data:h}=this.model.properties;this.on_change(h,(()=>this._plot())),this.on_change([e,t],(()=>this._resize())),this.on_change([n,s],(()=>{this.render(),this._chart.resize()})),this.on_change([o,i],(()=>this._subscribe()))}render(){null!=this._chart&&window.echarts.dispose(this._chart),super.render(),this.container=(0,r.div)({style:"height: 100%; width: 100%;"});const e={width:this.model.width,height:this.model.height,renderer:this.model.renderer};this._chart=window.echarts.init(this.container,this.model.theme,e),this._plot(),this._subscribe(),this.shadow_el.append(this.container)}remove(){super.remove(),null!=this._chart&&window.echarts.dispose(this._chart)}after_layout(){super.after_layout(),this._chart.resize()}_plot(){null!=window.echarts&&this._chart.setOption(this.model.data,this.model.options)}_resize(){this._chart.resize({width:this.model.width,height:this.model.height})}_subscribe(){if(null!=window.echarts){for(const[e,t]of this._callbacks)this._chart.off(e,t);this._callbacks=[];for(const e in this.model.event_config){if(!d.includes(e)){console.warn(`Could not subscribe to unknown Echarts event: ${e}.`);continue}const t=this.model.event_config[e];for(const s of t){const t=t=>{const n={...t};n.event=(0,a.serializeEvent)(t.event?.event);const o=JSON.parse(JSON.stringify(n));this.model.trigger_event(new _(e,o,s))};null==s?this._chart.on(e,s,t):this._chart.on(e,t),this._callbacks.push([e,t])}}for(const e in this.model.js_events){if(!d.includes(e)){console.warn(`Could not subscribe to unknown Echarts event: ${e}.`);continue}const t=this.model.js_events[e];for(const s of t){const t=e=>{s.callback.execute(this._chart,e)};"query"in s?this._chart.on(e,s.query,t):this._chart.on(e,t),this._callbacks.push([e,t])}}}}}s.EChartsView=u,u.__name__="EChartsView";class g extends l.HTMLBox{constructor(e){super(e)}}s.ECharts=g,h=g,g.__name__="ECharts",g.__module__="panel.models.echarts",h.prototype.default_view=u,h.define((({Any:e,Str:t})=>({data:[e,{}],options:[e,{}],event_config:[e,{}],js_events:[e,{}],theme:[t,"default"],renderer:[t,"canvas"]})))},
103
103
  "2cc1a33000": function _(e,t,a,r,n){function i(e){let t=null;return e&&(t=function(e){try{return{boundingClientRect:{...e.getBoundingClientRect()}}}catch{return{}}}(e),e.tagName in l&&l[e.tagName].forEach((a=>Object.assign(t,a(e))))),t}r(),a.serializeEvent=
104
104
  /*
105
105
  The MIT License (MIT)
@@ -127,46 +127,47 @@ const o=t("@bokehjs/core/util/types");let r,s;const c={fontFamily:'"Helvetica Ne
127
127
  function(e){const t={};return void 0!==e.detail&&Object.assign(t,{detail:JSON.parse(JSON.stringify(e.detail))}),e.type in d&&Object.assign(t,d[e.type](e)),t.target=i(e.target),t.currentTarget=e.target===e.currentTarget?t.target:i(e.currentTarget),t.relatedTarget=i(e.relatedTarget),t};const o={hasValue:e=>({value:e.value}),hasCurrentTime:e=>({currentTime:e.currentTime}),hasFiles:e=>"file"===e.type?{files:[...e.files??[]].map((e=>({lastModified:e.lastModified,name:e.name,size:e.size,type:e.type})))}:{}};const s={hasValue:["BUTTON","INPUT","OPTION","LI","METER","PROGRESS","PARAM","SELECT","TEXTAREA"],hasCurrentTime:["AUDIO","VIDEO"],hasFiles:["INPUT"]},l={};Object.keys(s).forEach((e=>{s[e].forEach((t=>{(l[t]||(l[t]=[])).push(o[e])}))}));class c{clipboard(e){return{clipboardData:e.clipboardData}}composition(e){return{data:e.data}}keyboard(e){return{altKey:e.altKey,charCode:e.charCode,ctrlKey:e.ctrlKey,key:e.key,keyCode:e.keyCode,locale:e.locale,location:e.location,metaKey:e.metaKey,repeat:e.repeat,shiftKey:e.shiftKey,which:e.which}}mouse(e){return{altKey:e.altKey,button:e.button,buttons:e.buttons,clientX:e.clientX,clientY:e.clientY,ctrlKey:e.ctrlKey,metaKey:e.metaKey,pageX:e.pageX,pageY:e.pageY,screenX:e.screenX,screenY:e.screenY,shiftKey:e.shiftKey}}pointer(e){return{...this.mouse(e),pointerId:e.pointerId,width:e.width,height:e.height,pressure:e.pressure,tiltX:e.tiltX,tiltY:e.tiltY,pointerType:e.pointerType,isPrimary:e.isPrimary}}selection(){return{selectedText:window.getSelection().toString()}}touch(e){return{altKey:e.altKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey}}ui(e){return{detail:e.detail}}wheel(e){return{deltaMode:e.deltaMode,deltaX:e.deltaX,deltaY:e.deltaY,deltaZ:e.deltaZ}}animation(e){return{animationName:e.animationName,pseudoElement:e.pseudoElement,elapsedTime:e.elapsedTime}}transition(e){return{propertyName:e.propertyName,pseudoElement:e.pseudoElement,elapsedTime:e.elapsedTime}}}c.__name__="EventTransformCategories";const u={clipboard:["copy","cut","paste"],composition:["compositionend","compositionstart","compositionupdate"],keyboard:["keydown","keypress","keyup"],mouse:["click","contextmenu","doubleclick","drag","dragend","dragenter","dragexit","dragleave","dragover","dragstart","drop","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup"],pointer:["pointerdown","pointermove","pointerup","pointercancel","gotpointercapture","lostpointercapture","pointerenter","pointerleave","pointerover","pointerout"],selection:["select"],touch:["touchcancel","touchend","touchmove","touchstart"],ui:["scroll"],wheel:["wheel"],animation:["animationstart","animationend","animationiteration"],transition:["transitionend"]},d={},p=new c;Object.keys(u).forEach((e=>{u[e].forEach((t=>{d[t]=p[e]}))}))},
128
128
  "976c02c0a8": function _(e,s,i,t,l){var o,n;t();const _=e("aab20b9d6a"),r=e("@bokehjs/core/build_views"),c=e("@bokehjs/core/bokeh_events");class d extends c.ModelEvent{}i.ScrollButtonClick=d,o=d,d.__name__="ScrollButtonClick",o.prototype.event_name="scroll_button_click";class h extends _.ColumnView{initialize(){super.initialize(),this._sync=!0,this._intersection_observer=new IntersectionObserver((e=>{const s=[...this.model.visible_children],i=this.node_map;for(const t of e){const e=i.get(t.target).id;t.isIntersecting?s.includes(e)||s.push(e):s.includes(e)&&s.splice(s.indexOf(e),1)}if(this._sync&&(this.model.visible_children=s),s.length>0){const e=this.child_models.map((e=>e.id)),i=s.map((s=>e.indexOf(s)));this._last_visible=this.child_views[Math.min(...i)]}else this._last_visible=null}),{root:this.el,threshold:.01})}get node_map(){const e=new Map;for(const s of this.child_views)e.set(s.el,s.model);return e}async update_children(){this._sync=!1,await super.update_children(),this._sync=!0,this._last_visible?.el.scrollIntoView(!0)}async build_child_views(){const{created:e,removed:s}=await(0,r.build_views)(this._child_views,this.child_models,{parent:this}),i=this.model.visible_children;for(const e of s)i.includes(e.model.id)&&i.splice(i.indexOf(e.model.id),1),this._resize_observer.unobserve(e.el),this._intersection_observer.unobserve(e.el);this.model.visible_children=[...i];for(const s of e)this._resize_observer.observe(s.el,{box:"border-box"}),this._intersection_observer.observe(s.el);return e}scroll_to_latest(e=!0){e&&this.model.trigger_event(new d),super.scroll_to_latest()}trigger_auto_scroll(){const e=this.model.auto_scroll_limit,s=this.distance_from_latest<=e;0!=e&&s&&this.scroll_to_latest(!1)}}i.FeedView=h,h.__name__="FeedView";class a extends _.Column{constructor(e){super(e)}on_click(e){this.on_event(d,e)}}i.Feed=a,n=a,a.__name__="Feed",a.__module__="panel.models.feed",n.prototype.default_view=h,n.define((({List:e,Str:s})=>({visible_children:[e(s),[]]})))},
129
129
  "3ead851ca6": function _(e,t,i,l,s){var n;l();const o=e("tslib"),h=e("@bokehjs/core/build_views"),a=e("@bokehjs/core/enums"),_=e("@bokehjs/models/widgets/input_widget"),d=e("@bokehjs/models/ui/icons/icon"),r=o.__importStar(e("@bokehjs/styles/buttons.css")),c=r,u=e("@bokehjs/core/dom");class b extends _.InputWidgetView{constructor(){super(...arguments),this._downloadable=!1,this._prev_href="",this._prev_download=""}*children(){yield*super.children(),null!=this.icon_view&&(yield this.icon_view)}*controls(){yield this.anchor_el,yield this.button_el}connect_signals(){super.connect_signals();const{button_type:e,filename:t,_transfers:i,label:l}=this.model.properties;this.on_change(e,(()=>this._update_button_style())),this.on_change(t,(()=>this._update_download())),this.on_change(i,(()=>this._handle_click())),this.on_change(l,(()=>this._update_label()))}remove(){null!=this.icon_view&&this.icon_view.remove(),super.remove()}async lazy_initialize(){await super.lazy_initialize();const{icon:e}=this.model;null!=e&&(this.icon_view=await(0,h.build_view)(e,{parent:this}))}_render_input(){if(this.anchor_el=document.createElement("a"),this.button_el=(0,u.button)({disabled:this.model.disabled}),null!=this.icon_view){const e=""!=this.model.label?(0,u.nbsp)():(0,u.text)("");(0,u.prepend)(this.button_el,this.icon_view.el,e),this.icon_view.render()}return this._update_button_style(),this._update_label(),this.model.disabled?(this.anchor_el.setAttribute("disabled",""),this._downloadable=!1):(this.anchor_el.removeAttribute("disabled"),this._prev_download&&(this.anchor_el.download=this._prev_download),this._prev_href&&(this.anchor_el.href=this._prev_href),this.anchor_el.download&&this.anchor_el.download&&(this._downloadable=!0)),this.model.embed?this._make_link_downloadable():(this._click_listener=this._increment_clicks.bind(this),this.anchor_el.addEventListener("click",this._click_listener)),this.button_el.appendChild(this.anchor_el),this.input_el=(0,u.input)(),this.button_el}render(){super.render(),this.group_el.style.display="flex",this.group_el.style.alignItems="stretch"}stylesheets(){return[...super.stylesheets(),r.default]}_increment_clicks(){this.model.clicks=this.model.clicks+1}_handle_click(){!this.model.auto&&this._downloadable||this.anchor_el.hasAttribute("disabled")||(this._make_link_downloadable(),!this.model.embed&&this.model.auto&&(this.anchor_el.removeEventListener("click",this._click_listener),this.anchor_el.click(),this.anchor_el.removeAttribute("href"),this.anchor_el.removeAttribute("download"),this.anchor_el.addEventListener("click",this._click_listener)),this._prev_href=this.anchor_el.getAttribute("href"),this._prev_download=this.anchor_el.getAttribute("download"))}_make_link_downloadable(){this._update_href(),this._update_download(),this.anchor_el.download&&this.anchor_el.href&&(this._downloadable=!0)}_update_href(){if(this.model.data){const e=function(e){const t=atob(e.split(",")[1]),i=e.split(",")[0].split(":")[1].split(";")[0],l=new ArrayBuffer(t.length),s=new Uint8Array(l);for(let e=0;e<t.length;e++)s[e]=t.charCodeAt(e);return new Blob([l],{type:i})}(this.model.data);this.anchor_el.href=URL.createObjectURL(e)}}_update_download(){this.model.filename&&(this.anchor_el.download=this.model.filename)}_update_label(){this.anchor_el.textContent=this.model.label}_update_button_style(){const e=c[`btn_${this.model.button_type}`];if(this.button_el.hasAttribute("class")){const t=this.anchor_el.classList.item(1);t&&this.button_el.classList.replace(t,e)}else this.button_el.classList.add(c.btn),this.button_el.classList.add(e)}}i.FileDownloadView=b,b.__name__="FileDownloadView";class p extends _.InputWidget{constructor(e){super(e)}}i.FileDownload=p,n=p,p.__name__="FileDownload",p.__module__="panel.models.widgets",n.prototype.default_view=b,n.define((({Bool:e,Int:t,Nullable:i,Ref:l,Str:s})=>({auto:[e,!1],clicks:[t,0],data:[i(s),null],embed:[e,!1],icon:[i(l(d.Icon)),null],label:[s,"Download"],filename:[i(s),null],button_type:[a.ButtonType,"default"],_transfers:[t,0]}))),n.override({title:""})},
130
- "89d2d3667a": function _(e,t,s,n,i){var r,o;n();const l=e("@bokehjs/core/bokeh_events"),a=e("@bokehjs/models/widgets/markup"),h=e("73d6aee8f5"),d=e("2cc1a33000");class _ extends l.ModelEvent{constructor(e,t){super(),this.node=e,this.data=t}get event_values(){return{model:this.origin,node:this.node,data:this.data}}}function c(e){return(new DOMParser).parseFromString(e,"text/html").documentElement.textContent}function u(e){Array.from(e.querySelectorAll("script")).forEach((e=>{const t=document.createElement("script");Array.from(e.attributes).forEach((e=>t.setAttribute(e.name,e.value))),t.appendChild(document.createTextNode(e.innerHTML)),e.parentNode&&e.parentNode.replaceChild(t,e)}))}s.DOMEvent=_,r=_,_.__name__="DOMEvent",r.prototype.event_name="dom_event",s.htmlDecode=c,s.runScripts=u;class v extends h.PanelMarkupView{constructor(){super(...arguments),this._event_listeners={}}connect_signals(){super.connect_signals();const{text:e,visible:t,events:s}=this.model.properties;this.on_change(e,(()=>{const e=this.process_tex();this.set_html(e)})),this.on_change(t,(()=>{this.model.visible&&(this.container.style.visibility="visible")})),this.on_change(s,(()=>{this._remove_event_listeners(),this._setup_event_listeners()}))}rerender(){this.render(),this.invalidate_layout()}set_html(e){null!==e&&(this.container.innerHTML=e,this.model.run_scripts&&u(this.container),this._setup_event_listeners())}render(){super.render(),this.container.style.visibility="hidden",this.shadow_el.appendChild(this.container),"failed"!=this.provider.status&&"loaded"!=this.provider.status||(this._has_finished=!0);const e=this.process_tex();this.watch_stylesheets(),this.set_html(e)}style_redraw(){this.model.visible&&(this.container.style.visibility="visible")}process_tex(){const e=c(this.model.text)||this.model.text;if(this.model.disable_math||!this.contains_tex(e))return e;const t=this.provider.MathJax.find_tex(e),s=[];let n=0;for(const i of t)s.push(e.slice(n,i.start.n)),s.push(this.provider.MathJax.tex2svg(i.math,{display:i.display}).outerHTML),n=i.end.n;return n<e.length&&s.push(e.slice(n)),s.join("")}contains_tex(e){return!!this.provider.MathJax&&this.provider.MathJax.find_tex(e).length>0}_remove_event_listeners(){for(const e in this._event_listeners){const t=document.getElementById(e);if(null!=t)for(const s in this._event_listeners[e]){const n=this._event_listeners[e][s];t.removeEventListener(s,n)}else console.warn(`DOM node '${e}' could not be found. Cannot subscribe to DOM events.`)}this._event_listeners={}}_setup_event_listeners(){for(const e in this.model.events){const t=document.getElementById(e);if(null!=t)for(const s of this.model.events[e]){const n=t=>{this.model.trigger_event(new _(e,(0,d.serializeEvent)(t)))};t.addEventListener(s,n),e in this._event_listeners||(this._event_listeners[e]={}),this._event_listeners[e][s]=n}else console.warn(`DOM node '${e}' could not be found. Cannot subscribe to DOM events.`)}}}s.HTMLView=v,v.__name__="HTMLView";class p extends a.Markup{constructor(e){super(e)}}s.HTML=p,o=p,p.__name__="HTML",p.__module__="panel.models.markup",o.prototype.default_view=v,o.define((({Any:e,Bool:t})=>({events:[e,{}],run_scripts:[t,!0]})))},
131
- "8a8089cbf3": function _(e,i,t,n,s){var o;n();const l=e("@bokehjs/core/dom"),d=e("73d6aee8f5"),r=window.Jupyter;class a extends d.HTMLBoxView{initialize(){let e;if(super.initialize(),null!=r&&null!=r.notebook)e=r.notebook.kernel.widget_manager;else{if(null==window.PyViz.widget_manager)return void console.warn("Panel IPyWidget model could not find a WidgetManager");e=window.PyViz.widget_manager}this.manager=e,this.ipychildren=[]}remove(){this.ipyview.remove(),super.remove()}_ipy_stylesheets(){const e=[];for(const i of document.head.children)if(i instanceof HTMLStyleElement){const t=i.textContent;if(null!=t){const i=t.replace(/:root/g,":host");e.push(new l.InlineStyleSheet(i))}}return e}stylesheets(){return[...super.stylesheets(),...this._ipy_stylesheets()]}render(){super.render();const{spec:e,state:i}=this.model.bundle;this.manager.set_state(i).then((async i=>{const t=i.find((i=>i.model_id==e.model_id));if(null==t)return;const n=await this.manager.create_view(t,{el:this.el});if(this.ipyview=n,this.ipychildren=[],n.children_views)for(const e of n.children_views.views)this.ipychildren.push(await e);this.shadow_el.appendChild(this.ipyview.el),this.ipyview.trigger("displayed",this.ipyview);for(const e of this.ipychildren)e.trigger("displayed",e);this.invalidate_layout()}))}}t.IPyWidgetView=a,a.__name__="IPyWidgetView";class h extends d.HTMLBox{constructor(e){super(e)}}t.IPyWidget=h,o=h,h.__name__="IPyWidget",h.__module__="panel.models.ipywidget",o.prototype.default_view=a,o.define((({Any:e})=>({bundle:[e,{}]})))},
132
- "7eff964d3e": function _(e,t,r,s,n){var o;s();const d=e("tslib"),i=e("@bokehjs/core/kinds"),a=e("@bokehjs/models/widgets/markup"),h=d.__importDefault(e("18bba7b7e1")),l=e("73d6aee8f5");class p extends l.PanelMarkupView{connect_signals(){super.connect_signals();const{depth:e,hover_preview:t,text:r,theme:s}=this.model.properties;this.on_change([e,t,r,s],(()=>this.render()))}render(){super.render();const e=this.model.text.replace(/(\r\n|\n|\r)/gm,"");let t;try{t=window.JSON.parse(e)}catch(e){return void(this.container.innerHTML=`<b>Invalid JSON:</b> ${e}`)}const r={hoverPreviewEnabled:this.model.hover_preview,theme:this.model.theme},s=null==this.model.depth?1/0:this.model.depth,n=new h.default(t,s,r).render(),o="border-radius: 5px; padding: 10px; width: 100%; height: 100%;";"dark"==this.model.theme?n.style.cssText=`background-color: rgb(30, 30, 30);${o}`:n.style.cssText=o,this.container.append(n)}}r.JSONView=p,p.__name__="JSONView",r.JSONTheme=(0,i.Enum)("dark","light");class c extends a.Markup{constructor(e){super(e)}}r.JSON=c,o=c,c.__name__="JSON",c.__module__="panel.models.markup",o.prototype.default_view=p,o.define((({List:e,Bool:t,Int:s,Nullable:n,Str:o})=>({css:[e(o),[]],depth:[n(s),1],hover_preview:[t,!1],theme:[r.JSONTheme,"dark"]})))},
130
+ "9cfeb137e6": function _(e,t,s,n,i){var o,r;n();const l=e("@bokehjs/core/bokeh_events"),a=e("@bokehjs/core/util/object"),c=e("@bokehjs/models/widgets/markup"),h=e("c37096b5ea"),d=e("2cc1a33000");class _ extends l.ModelEvent{constructor(e,t){super(),this.node=e,this.data=t}get event_values(){return{model:this.origin,node:this.node,data:this.data}}}function u(e){return(new DOMParser).parseFromString(e,"text/html").documentElement.textContent}function v(e){for(const t of e.querySelectorAll("script")){const e=document.createElement("script");for(const s of t.attributes)e.setAttribute(s.name,s.value);e.append(document.createTextNode(t.innerHTML));const s=t.parentNode;null!=s&&s.replaceChild(e,t)}}s.DOMEvent=_,o=_,_.__name__="DOMEvent",o.prototype.event_name="dom_event",s.html_decode=u,s.run_scripts=v;class p extends h.PanelMarkupView{constructor(){super(...arguments),this._event_listeners=new Map}connect_signals(){super.connect_signals();const{text:e,visible:t,events:s}=this.model.properties;this.on_change(e,(()=>{const e=this.process_tex();this.set_html(e)})),this.on_change(t,(()=>{this.model.visible&&(this.container.style.visibility="visible")})),this.on_change(s,(()=>{this._remove_event_listeners(),this._setup_event_listeners()}))}rerender(){this.render(),this.invalidate_layout()}set_html(e){null!==e&&(this.container.innerHTML=e,this.model.run_scripts&&v(this.container),this._setup_event_listeners())}render(){super.render(),this.container.style.visibility="hidden",this.shadow_el.appendChild(this.container),"failed"!=this.provider.status&&"loaded"!=this.provider.status||(this._has_finished=!0);const e=this.process_tex();this.watch_stylesheets(),this.set_html(e)}style_redraw(){this.model.visible&&(this.container.style.visibility="visible")}process_tex(){const e=u(this.model.text)??this.model.text;if(this.model.disable_math||!this.contains_tex(e))return e;const t=this.provider.MathJax.find_tex(e),s=[];let n=0;for(const i of t)s.push(e.slice(n,i.start.n)),s.push(this.provider.MathJax.tex2svg(i.math,{display:i.display}).outerHTML),n=i.end.n;return n<e.length&&s.push(e.slice(n)),s.join("")}contains_tex(e){return!!this.provider.MathJax&&this.provider.MathJax.find_tex(e).length>0}_remove_event_listeners(){for(const[e,t]of this._event_listeners){const s=document.getElementById(e);if(null!=s)for(const[e,n]of t)s.removeEventListener(e,n);else console.warn(`DOM node '${e}' could not be found. Cannot subscribe to DOM events.`)}this._event_listeners.clear()}_setup_event_listeners(){for(const[e,t]of(0,a.entries)(this.model.events)){const s=document.getElementById(e);if(null!=s)for(const n of t){const t=t=>{this.model.trigger_event(new _(e,(0,d.serializeEvent)(t)))};s.addEventListener(n,t);let i=this._event_listeners.get(e);void 0===i&&this._event_listeners.set(e,i=new Map),i.set(n,t)}else console.warn(`DOM node '${e}' could not be found. Cannot subscribe to DOM events.`)}}}s.HTMLView=p,p.__name__="HTMLView";class m extends c.Markup{constructor(e){super(e)}}s.HTML=m,r=m,m.__name__="HTML",m.__module__="panel.models.markup",r.prototype.default_view=p,r.define((({Bool:e,Str:t,List:s,Dict:n})=>({events:[n(s(t)),{}],run_scripts:[e,!0]})))},
131
+ "8a8089cbf3": function _(e,i,t,n,s){var o;n();const l=e("@bokehjs/core/dom"),r=e("c37096b5ea"),d=window.Jupyter;class a extends r.HTMLBoxView{initialize(){let e;if(super.initialize(),null!=d&&null!=d.notebook)e=d.notebook.kernel.widget_manager;else{if(null==window.PyViz.widget_manager)return void console.warn("Panel IPyWidget model could not find a WidgetManager");e=window.PyViz.widget_manager}this.manager=e,this.ipychildren=[]}remove(){this.ipyview.remove(),super.remove()}_ipy_stylesheets(){const e=[];for(const i of document.head.children)if(i instanceof HTMLStyleElement){const t=i.textContent;if(null!=t){const i=t.replace(/:root/g,":host");e.push(new l.InlineStyleSheet(i))}}return e}stylesheets(){return[...super.stylesheets(),...this._ipy_stylesheets()]}render(){super.render();const{spec:e,state:i}=this.model.bundle;this.manager.set_state(i).then((async i=>{const t=i.find((i=>i.model_id==e.model_id));if(null==t)return;const n=await this.manager.create_view(t,{el:this.el});if(this.ipyview=n,this.ipychildren=[],n.children_views)for(const e of n.children_views.views)this.ipychildren.push(await e);this.shadow_el.appendChild(this.ipyview.el),this.ipyview.trigger("displayed",this.ipyview);for(const e of this.ipychildren)e.trigger("displayed",e);this.invalidate_layout()}))}}t.IPyWidgetView=a,a.__name__="IPyWidgetView";class h extends r.HTMLBox{constructor(e){super(e)}}t.IPyWidget=h,o=h,h.__name__="IPyWidget",h.__module__="panel.models.ipywidget",o.prototype.default_view=a,o.define((({Any:e})=>({bundle:[e,{}]})))},
132
+ "7eff964d3e": function _(e,t,r,s,n){var o;s();const i=e("tslib"),d=e("@bokehjs/core/kinds"),a=e("@bokehjs/models/widgets/markup"),h=i.__importDefault(e("18bba7b7e1")),l=e("c37096b5ea");class p extends l.PanelMarkupView{connect_signals(){super.connect_signals();const{depth:e,hover_preview:t,text:r,theme:s}=this.model.properties;this.on_change([e,t,r,s],(()=>this.render()))}render(){super.render();const e=this.model.text.replace(/(\r\n|\n|\r)/gm,"");let t;try{t=window.JSON.parse(e)}catch(e){return void(this.container.innerHTML=`<b>Invalid JSON:</b> ${e}`)}const r={hoverPreviewEnabled:this.model.hover_preview,theme:this.model.theme},s=null==this.model.depth?1/0:this.model.depth,n=new h.default(t,s,r).render(),o="border-radius: 5px; padding: 10px; width: 100%; height: 100%;";"dark"==this.model.theme?n.style.cssText=`background-color: rgb(30, 30, 30);${o}`:n.style.cssText=o,this.container.append(n)}}r.JSONView=p,p.__name__="JSONView",r.JSONTheme=(0,d.Enum)("dark","light");class c extends a.Markup{constructor(e){super(e)}}r.JSON=c,o=c,c.__name__="JSON",c.__module__="panel.models.markup",o.prototype.default_view=p,o.define((({List:e,Bool:t,Int:s,Nullable:n,Str:o})=>({css:[e(o),[]],depth:[n(s),1],hover_preview:[t,!1],theme:[r.JSONTheme,"dark"]})))},
133
133
  "18bba7b7e1": function _(t,e,r,n,o){function i(t){return null===t?"null":typeof t}function s(t){return!!t&&"object"==typeof t}function a(t){if(void 0===t)return"";if(null===t)return"Object";if("object"==typeof t&&!t.constructor)return"Object";var e=/function ([^(]*)/.exec(t.constructor.toString());return e&&e.length>1?e[1]:""}function f(t,e,r){return"null"===t||"undefined"===t?t:("string"!==t&&"stringifiable"!==t||(r='"'+r.replace(/"/g,'\\"')+'"'),"function"===t?e.toString().replace(/[\r\n]/g,"").replace(/\{.*\}/,"")+"{\u2026}":r)}function m(t){var e="";return s(t)?(e=a(t),Array.isArray(t)&&(e+="["+t.length+"]")):e=f(i(t),t,t),e}function l(t){return"json-formatter-"+t}function d(t,e,r){var n=document.createElement(t);return e&&n.classList.add(l(e)),void 0!==r&&(r instanceof Node?n.appendChild(r):n.appendChild(document.createTextNode(String(r)))),n}n(),function(t){if(t&&"undefined"!=typeof window){var e=document.createElement("style");e.setAttribute("media","screen"),e.innerHTML=t,document.head.appendChild(e)}}('.json-formatter-row {\n font-family: monospace;\n}\n.json-formatter-row,\n.json-formatter-row a,\n.json-formatter-row a:hover {\n color: black;\n text-decoration: none;\n}\n.json-formatter-row .json-formatter-row {\n margin-left: 1rem;\n}\n.json-formatter-row .json-formatter-children.json-formatter-empty {\n opacity: 0.5;\n margin-left: 1rem;\n}\n.json-formatter-row .json-formatter-children.json-formatter-empty:after {\n display: none;\n}\n.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-object:after {\n content: "No properties";\n}\n.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-array:after {\n content: "[]";\n}\n.json-formatter-row .json-formatter-string,\n.json-formatter-row .json-formatter-stringifiable {\n color: green;\n white-space: pre;\n word-wrap: break-word;\n}\n.json-formatter-row .json-formatter-number {\n color: blue;\n}\n.json-formatter-row .json-formatter-boolean {\n color: red;\n}\n.json-formatter-row .json-formatter-null {\n color: #855A00;\n}\n.json-formatter-row .json-formatter-undefined {\n color: #ca0b69;\n}\n.json-formatter-row .json-formatter-function {\n color: #FF20ED;\n}\n.json-formatter-row .json-formatter-date {\n background-color: rgba(0, 0, 0, 0.05);\n}\n.json-formatter-row .json-formatter-url {\n text-decoration: underline;\n color: blue;\n cursor: pointer;\n}\n.json-formatter-row .json-formatter-bracket {\n color: blue;\n}\n.json-formatter-row .json-formatter-key {\n color: #00008B;\n padding-right: 0.2rem;\n}\n.json-formatter-row .json-formatter-toggler-link {\n cursor: pointer;\n}\n.json-formatter-row .json-formatter-toggler {\n line-height: 1.2rem;\n font-size: 0.7rem;\n vertical-align: middle;\n opacity: 0.6;\n cursor: pointer;\n padding-right: 0.2rem;\n}\n.json-formatter-row .json-formatter-toggler:after {\n display: inline-block;\n transition: transform 100ms ease-in;\n content: "\u25ba";\n}\n.json-formatter-row > a > .json-formatter-preview-text {\n opacity: 0;\n transition: opacity 0.15s ease-in;\n font-style: italic;\n}\n.json-formatter-row:hover > a > .json-formatter-preview-text {\n opacity: 0.6;\n}\n.json-formatter-row.json-formatter-open > .json-formatter-toggler-link .json-formatter-toggler:after {\n transform: rotate(90deg);\n}\n.json-formatter-row.json-formatter-open > .json-formatter-children:after {\n display: inline-block;\n}\n.json-formatter-row.json-formatter-open > a > .json-formatter-preview-text {\n display: none;\n}\n.json-formatter-row.json-formatter-open.json-formatter-empty:after {\n display: block;\n}\n.json-formatter-dark.json-formatter-row {\n font-family: monospace;\n}\n.json-formatter-dark.json-formatter-row,\n.json-formatter-dark.json-formatter-row a,\n.json-formatter-dark.json-formatter-row a:hover {\n color: white;\n text-decoration: none;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-row {\n margin-left: 1rem;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty {\n opacity: 0.5;\n margin-left: 1rem;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty:after {\n display: none;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-object:after {\n content: "No properties";\n}\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-array:after {\n content: "[]";\n}\n.json-formatter-dark.json-formatter-row .json-formatter-string,\n.json-formatter-dark.json-formatter-row .json-formatter-stringifiable {\n color: #31F031;\n white-space: pre;\n word-wrap: break-word;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-number {\n color: #66C2FF;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-boolean {\n color: #EC4242;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-null {\n color: #EEC97D;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-undefined {\n color: #ef8fbe;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-function {\n color: #FD48CB;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-date {\n background-color: rgba(255, 255, 255, 0.05);\n}\n.json-formatter-dark.json-formatter-row .json-formatter-url {\n text-decoration: underline;\n color: #027BFF;\n cursor: pointer;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-bracket {\n color: #9494FF;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-key {\n color: #23A0DB;\n padding-right: 0.2rem;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-toggler-link {\n cursor: pointer;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-toggler {\n line-height: 1.2rem;\n font-size: 0.7rem;\n vertical-align: middle;\n opacity: 0.6;\n cursor: pointer;\n padding-right: 0.2rem;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-toggler:after {\n display: inline-block;\n transition: transform 100ms ease-in;\n content: "\u25ba";\n}\n.json-formatter-dark.json-formatter-row > a > .json-formatter-preview-text {\n opacity: 0;\n transition: opacity 0.15s ease-in;\n font-style: italic;\n}\n.json-formatter-dark.json-formatter-row:hover > a > .json-formatter-preview-text {\n opacity: 0.6;\n}\n.json-formatter-dark.json-formatter-row.json-formatter-open > .json-formatter-toggler-link .json-formatter-toggler:after {\n transform: rotate(90deg);\n}\n.json-formatter-dark.json-formatter-row.json-formatter-open > .json-formatter-children:after {\n display: inline-block;\n}\n.json-formatter-dark.json-formatter-row.json-formatter-open > a > .json-formatter-preview-text {\n display: none;\n}\n.json-formatter-dark.json-formatter-row.json-formatter-open.json-formatter-empty:after {\n display: block;\n}\n');var c=/(^\d{1,4}[\.|\\/|-]\d{1,2}[\.|\\/|-]\d{1,4})(\s*(?:0?[1-9]:[0-5]|1(?=[012])\d:[0-5])\d\s*[ap]m)?$/,p=/\d{2}:\d{2}:\d{2} GMT-\d{4}/,j=/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z/,h=window.requestAnimationFrame||function(t){return t(),0},u={hoverPreviewEnabled:!1,hoverPreviewArrayCount:100,hoverPreviewFieldCount:5,animateOpen:!0,animateClose:!0,theme:null,useToJSON:!0,sortPropertiesBy:null},g=function(){function t(t,e,r,n){void 0===e&&(e=1),void 0===r&&(r=u),this.json=t,this.open=e,this.config=r,this.key=n,this._isOpen=null,void 0===this.config.hoverPreviewEnabled&&(this.config.hoverPreviewEnabled=u.hoverPreviewEnabled),void 0===this.config.hoverPreviewArrayCount&&(this.config.hoverPreviewArrayCount=u.hoverPreviewArrayCount),void 0===this.config.hoverPreviewFieldCount&&(this.config.hoverPreviewFieldCount=u.hoverPreviewFieldCount),void 0===this.config.useToJSON&&(this.config.useToJSON=u.useToJSON),""===this.key&&(this.key='""')}return Object.defineProperty(t.prototype,"isOpen",{get:function(){return null!==this._isOpen?this._isOpen:this.open>0},set:function(t){this._isOpen=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isDate",{get:function(){return this.json instanceof Date||"string"===this.type&&(c.test(this.json)||j.test(this.json)||p.test(this.json))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isUrl",{get:function(){return"string"===this.type&&0===this.json.indexOf("http")},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isArray",{get:function(){return Array.isArray(this.json)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isObject",{get:function(){return s(this.json)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isEmptyObject",{get:function(){return!this.keys.length&&!this.isArray},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isEmpty",{get:function(){return this.isEmptyObject||this.keys&&!this.keys.length&&this.isArray},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"useToJSON",{get:function(){return this.config.useToJSON&&"stringifiable"===this.type},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hasKey",{get:function(){return void 0!==this.key},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"constructorName",{get:function(){return a(this.json)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"type",{get:function(){return this.config.useToJSON&&this.json&&this.json.toJSON?"stringifiable":i(this.json)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"keys",{get:function(){if(this.isObject){var t=Object.keys(this.json);return!this.isArray&&this.config.sortPropertiesBy?t.sort(this.config.sortPropertiesBy):t}return[]},enumerable:!0,configurable:!0}),t.prototype.toggleOpen=function(){this.isOpen=!this.isOpen,this.element&&(this.isOpen?this.appendChildren(this.config.animateOpen):this.removeChildren(this.config.animateClose),this.element.classList.toggle(l("open")))},t.prototype.openAtDepth=function(t){void 0===t&&(t=1),t<0||(this.open=t,this.isOpen=0!==t,this.element&&(this.removeChildren(!1),0===t?this.element.classList.remove(l("open")):(this.appendChildren(this.config.animateOpen),this.element.classList.add(l("open")))))},t.prototype.getInlinepreview=function(){var t=this;if(this.isArray)return this.json.length>this.config.hoverPreviewArrayCount?"Array["+this.json.length+"]":"["+this.json.map(m).join(", ")+"]";var e=this.keys,r=e.slice(0,this.config.hoverPreviewFieldCount).map((function(e){return e+":"+m(t.json[e])})),n=e.length>=this.config.hoverPreviewFieldCount?"\u2026":"";return"{"+r.join(", ")+n+"}"},t.prototype.render=function(){this.element=d("div","row");var t=this.isObject?d("a","toggler-link"):d("span");if(this.isObject&&!this.useToJSON&&t.appendChild(d("span","toggler")),this.hasKey&&t.appendChild(d("span","key",this.key+":")),this.isObject&&!this.useToJSON){var e=d("span","value"),r=d("span"),n=d("span","constructor-name",this.constructorName);if(r.appendChild(n),this.isArray){var o=d("span");o.appendChild(d("span","bracket","[")),o.appendChild(d("span","number",this.json.length)),o.appendChild(d("span","bracket","]")),r.appendChild(o)}e.appendChild(r),t.appendChild(e)}else{(e=this.isUrl?d("a"):d("span")).classList.add(l(this.type)),this.isDate&&e.classList.add(l("date")),this.isUrl&&(e.classList.add(l("url")),e.setAttribute("href",this.json));var i=f(this.type,this.json,this.useToJSON?this.json.toJSON():this.json);e.appendChild(document.createTextNode(i)),t.appendChild(e)}if(this.isObject&&this.config.hoverPreviewEnabled){var s=d("span","preview-text");s.appendChild(document.createTextNode(this.getInlinepreview())),t.appendChild(s)}var a=d("div","children");return this.isObject&&a.classList.add(l("object")),this.isArray&&a.classList.add(l("array")),this.isEmpty&&a.classList.add(l("empty")),this.config&&this.config.theme&&this.element.classList.add(l(this.config.theme)),this.isOpen&&this.element.classList.add(l("open")),this.element.appendChild(t),this.element.appendChild(a),this.isObject&&this.isOpen&&this.appendChildren(),this.isObject&&!this.useToJSON&&t.addEventListener("click",this.toggleOpen.bind(this)),this.element},t.prototype.appendChildren=function(e){var r=this;void 0===e&&(e=!1);var n=this.element.querySelector("div."+l("children"));if(n&&!this.isEmpty)if(e){var o=0,i=function(){var e=r.keys[o],s=new t(r.json[e],r.open-1,r.config,e);n.appendChild(s.render()),(o+=1)<r.keys.length&&(o>10?i():h(i))};h(i)}else this.keys.forEach((function(e){var o=new t(r.json[e],r.open-1,r.config,e);n.appendChild(o.render())}))},t.prototype.removeChildren=function(t){void 0===t&&(t=!1);var e=this.element.querySelector("div."+l("children"));if(t){var r=0,n=function(){e&&e.children.length&&(e.removeChild(e.children[0]),(r+=1)>10?n():h(n))};h(n)}else e&&(e.innerHTML="")},t}();r.default=g},
134
- "d57683bd1f": function _(e,t,s,o,i){var d,n;o();const h=e("@bokehjs/core/dom"),a=e("@bokehjs/core/bokeh_events"),r=e("73d6aee8f5");class m extends a.ModelEvent{constructor(e){super(),this.data=e}get event_values(){return{model:this.origin,data:this.data}}}s.JSONEditEvent=m,d=m,m.__name__="JSONEditEvent",d.prototype.event_name="json_edit";class l extends r.HTMLBoxView{connect_signals(){super.connect_signals();const{data:e,disabled:t,templates:s,menu:o,mode:i,search:d,schema:n}=this.model.properties;this.on_change([e],(()=>this.editor.update(this.model.data))),this.on_change([s],(()=>{this.editor.options.templates=this.model.templates})),this.on_change([o],(()=>{this.editor.options.menu=this.model.menu})),this.on_change([d],(()=>{this.editor.options.search=this.model.search})),this.on_change([n],(()=>{this.editor.options.schema=this.model.schema})),this.on_change([t,i],(()=>{const e=this.model.disabled?"view":this.model.mode;this.editor.setMode(e)}))}stylesheets(){const e=super.stylesheets();for(const t of this.model.css)e.push(new h.ImportedStyleSheet(t));return e}remove(){super.remove(),this.editor.destroy()}render(){super.render();const e=this.model.disabled?"view":this.model.mode;this.editor=new window.JSONEditor(this.shadow_el,{menu:this.model.menu,mode:e,onChangeJSON:e=>{this.model.data=e},onSelectionChange:(e,t)=>{this.model.selection=[e,t]},search:this.model.search,schema:this.model.schema,templates:this.model.templates}),this.editor.set(this.model.data)}}s.JSONEditorView=l,l.__name__="JSONEditorView";class c extends r.HTMLBox{constructor(e){super(e)}}s.JSONEditor=c,n=c,c.__name__="JSONEditor",c.__module__="panel.models.jsoneditor",n.prototype.default_view=l,n.define((({Any:e,List:t,Bool:s,Str:o})=>({css:[t(o),[]],data:[e,{}],mode:[o,"tree"],menu:[s,!0],search:[s,!0],selection:[t(e),[]],schema:[e,null],templates:[t(e),[]]})))},
135
- "f672d71a9f": function _(e,t,n,s,i){var r;s();const a=e("@bokehjs/models/widgets/markup"),l=e("73d6aee8f5");class d extends l.PanelMarkupView{connect_signals(){super.connect_signals();const{text:e}=this.model.properties;this.on_change(e,(()=>this.render()))}render(){super.render(),this.container.innerHTML=this.model.text,window.renderMathInElement&&window.renderMathInElement(this.shadow_el,{delimiters:[{left:"$$",right:"$$",display:!0},{left:"\\[",right:"\\]",display:!0},{left:"$",right:"$",display:!1},{left:"\\(",right:"\\)",display:!1}]})}}n.KaTeXView=d,d.__name__="KaTeXView";class o extends a.Markup{constructor(e){super(e)}}n.KaTeX=o,r=o,o.__name__="KaTeX",o.__module__="panel.models.katex",r.prototype.default_view=d},
134
+ "d57683bd1f": function _(e,t,s,o,i){var d,n;o();const h=e("@bokehjs/core/dom"),a=e("@bokehjs/core/bokeh_events"),r=e("c37096b5ea");class m extends a.ModelEvent{constructor(e){super(),this.data=e}get event_values(){return{model:this.origin,data:this.data}}}s.JSONEditEvent=m,d=m,m.__name__="JSONEditEvent",d.prototype.event_name="json_edit";class l extends r.HTMLBoxView{connect_signals(){super.connect_signals();const{data:e,disabled:t,templates:s,menu:o,mode:i,search:d,schema:n}=this.model.properties;this.on_change([e],(()=>this.editor.update(this.model.data))),this.on_change([s],(()=>{this.editor.options.templates=this.model.templates})),this.on_change([o],(()=>{this.editor.options.menu=this.model.menu})),this.on_change([d],(()=>{this.editor.options.search=this.model.search})),this.on_change([n],(()=>{this.editor.options.schema=this.model.schema})),this.on_change([t,i],(()=>{const e=this.model.disabled?"view":this.model.mode;this.editor.setMode(e)}))}stylesheets(){const e=super.stylesheets();for(const t of this.model.css)e.push(new h.ImportedStyleSheet(t));return e}remove(){super.remove(),this.editor.destroy()}render(){super.render();const e=this.model.disabled?"view":this.model.mode;this.editor=new window.JSONEditor(this.shadow_el,{menu:this.model.menu,mode:e,onChangeJSON:e=>{this.model.data=e},onSelectionChange:(e,t)=>{this.model.selection=[e,t]},search:this.model.search,schema:this.model.schema,templates:this.model.templates}),this.editor.set(this.model.data)}}s.JSONEditorView=l,l.__name__="JSONEditorView";class c extends r.HTMLBox{constructor(e){super(e)}}s.JSONEditor=c,n=c,c.__name__="JSONEditor",c.__module__="panel.models.jsoneditor",n.prototype.default_view=l,n.define((({Any:e,List:t,Bool:s,Str:o})=>({css:[t(o),[]],data:[e,{}],mode:[o,"tree"],menu:[s,!0],search:[s,!0],selection:[t(e),[]],schema:[e,null],templates:[t(e),[]]})))},
135
+ "f672d71a9f": function _(e,t,n,s,i){var r;s();const a=e("@bokehjs/models/widgets/markup"),l=e("c37096b5ea");class d extends l.PanelMarkupView{connect_signals(){super.connect_signals();const{text:e}=this.model.properties;this.on_change(e,(()=>this.render()))}render(){super.render(),this.container.innerHTML=this.model.text,window.renderMathInElement&&window.renderMathInElement(this.shadow_el,{delimiters:[{left:"$$",right:"$$",display:!0},{left:"\\[",right:"\\]",display:!0},{left:"$",right:"$",display:!1},{left:"\\(",right:"\\)",display:!1}]})}}n.KaTeXView=d,d.__name__="KaTeXView";class o extends a.Markup{constructor(e){super(e)}}n.KaTeX=o,r=o,o.__name__="KaTeX",o.__module__="panel.models.katex",r.prototype.default_view=d},
136
136
  "bd8e0fe48b": function _(o,e,h,t,a){var i;t();const s=o("@bokehjs/core/view"),n=o("@bokehjs/model");class d extends s.View{initialize(){super.initialize(),this.model.pathname=window.location.pathname,this.model.search=window.location.search,this.model.hash=window.location.hash,this.model.href=window.location.href,this.model.hostname=window.location.hostname,this.model.protocol=window.location.protocol,this.model.port=window.location.port,this._hash_listener=()=>{this.model.hash=window.location.hash},window.addEventListener("hashchange",this._hash_listener),this._has_finished=!0,this.notify_finished()}connect_signals(){super.connect_signals();const{pathname:o,search:e,hash:h,reload:t}=this.model.properties;this.on_change(o,(()=>this.update("pathname"))),this.on_change(e,(()=>this.update("search"))),this.on_change(h,(()=>this.update("hash"))),this.on_change(t,(()=>this.update("reload")))}remove(){super.remove(),window.removeEventListener("hashchange",this._hash_listener)}update(o){this.model.reload&&"reload"!==o?("pathname"==o&&(window.location.pathname=this.model.pathname),"search"==o&&(window.location.search=this.model.search),"hash"==o&&(window.location.hash=this.model.hash)):(window.history.pushState({},"",`${this.model.pathname}${this.model.search}${this.model.hash}`),this.model.href=window.location.href,"reload"===o&&window.location.reload())}}h.LocationView=d,d.__name__="LocationView";class l extends n.Model{constructor(o){super(o)}}h.Location=l,i=l,l.__name__="Location",l.__module__="panel.models.location",i.prototype.default_view=d,i.define((({Bool:o,Str:e})=>({href:[e,""],hostname:[e,""],pathname:[e,""],protocol:[e,""],port:[e,""],search:[e,""],hash:[e,""],reload:[o,!1]})))},
137
- "ec353a3d9a": function _(e,t,s,a,n){var r;a();const i=e("@bokehjs/models/widgets/markup"),o=e("73d6aee8f5");class _ extends o.PanelMarkupView{connect_signals(){super.connect_signals();const{text:e}=this.model.properties;this.on_change(e,(()=>this.render()))}render(){super.render(),this.container.innerHTML=this.has_math_disabled()?this.model.text:this.process_tex(this.model.text)}}s.MathJaxView=_,_.__name__="MathJaxView";class h extends i.Markup{constructor(e){super(e)}}s.MathJax=h,r=h,h.__name__="MathJax",h.__module__="panel.models.mathjax",r.prototype.default_view=_},
138
- "cf33f23f5c": function _(e,t,n,s,o){var a;s();const i=e("@bokehjs/models/widgets/markup"),r=e("73d6aee8f5"),d=e("89d2d3667a");class l extends r.PanelMarkupView{connect_signals(){super.connect_signals();const{text:e,width:t,height:n,embed:s,start_page:o}=this.model.properties;this.on_change([e,t,n,s,o],(()=>{this.update()}))}render(){super.render(),this.update()}update(){if(this.model.embed){const e=this.convert_base64_to_blob(),t=URL.createObjectURL(e);this.container.innerHTML=`<embed src="${t}#page=${this.model.start_page}" type="application/pdf" width="100%" height="100%"></embed>`}else{const e=(0,d.htmlDecode)(this.model.text);this.container.innerHTML=e||""}}convert_base64_to_blob(){const e=atob(this.model.text),t=[];for(let n=0;n<e.length;n+=512){const s=e.slice(n,n+512),o=new Uint8Array(s.length);for(let e=0;e<s.length;e++)o[e]=s.charCodeAt(e);t.push(o)}return new Blob(t,{type:"application/pdf"})}}n.PDFView=l,l.__name__="PDFView";class c extends i.Markup{constructor(e){super(e)}}n.PDF=c,a=c,c.__name__="PDF",c.__module__="panel.models.markup",a.prototype.default_view=l,a.define((({Int:e,Bool:t})=>({embed:[t,!1],start_page:[e,1]})))},
139
- "8b1673a40b": function _(e,t,s,i,n){var r,l;i();const o=e("tslib"),c=e("@bokehjs/core/bokeh_events"),h=e("@bokehjs/core/dom"),a=e("@bokehjs/models/sources/column_data_source"),_=e("73d6aee8f5"),p=o.__importDefault(e("2e2913ea54")),d={"pro-dark":"Pro Dark",pro:"Pro Light",vaporwave:"Vaporwave",solarized:"Solarized","solarized-dark":"Solarized Dark",monokai:"Monokai"},m={datagrid:"Datagrid",d3_x_bar:"X Bar",d3_y_bar:"Y Bar",d3_xy_line:"X/Y Line",d3_y_line:"Y Line",d3_y_area:"Y Area",d3_y_scatter:"Y Scatter",d3_xy_scatter:"X/Y Scatter",d3_treemap:"Treemap",d3_candlestick:"Candlestick",d3_sunburst:"Sunburst",d3_heatmap:"Heatmap",d3_ohlc:"OHLC"};function g(e){const t={};return Object.keys(e).forEach((s=>{t[e[s]]=s})),t}const u=g(m),v=g(d);class f extends c.ModelEvent{constructor(e,t,s){super(),this.config=e,this.column_names=t,this.row=s}get event_values(){return{model:this.origin,config:this.config,column_names:this.column_names,row:this.row}}}s.PerspectiveClickEvent=f,r=f,f.__name__="PerspectiveClickEvent",r.prototype.event_name="perspective-click";class b extends _.HTMLBoxView{constructor(){super(...arguments),this._updating=!1,this._config_listener=null,this._current_config=null,this._current_plugin=null,this._loaded=!1,this._plugin_configs=new Map}connect_signals(){super.connect_signals(),this.connect(this.model.source.properties.data.change,(()=>this.setData())),this.connect(this.model.source.streaming,(()=>this.stream())),this.connect(this.model.source.patching,(()=>this.patch()));const{schema:e,columns:t,expressions:s,split_by:i,group_by:n,aggregates:r,filters:l,sort:o,plugin:c,selectable:h,editable:a,theme:_,title:p,settings:g}=this.model.properties,u=e=>()=>{this._updating||e()};this.on_change(e,(()=>{this.worker.table(this.model.schema).then((e=>{this.table=e,this.table.update(this.data),this.perspective_element.load(this.table)}))})),this.on_change(t,u((()=>{this.perspective_element.restore({columns:this.model.columns})}))),this.on_change(s,u((()=>{this.perspective_element.restore({expressions:this.model.expressions})}))),this.on_change(i,u((()=>{this.perspective_element.restore({split_by:this.model.split_by})}))),this.on_change(n,u((()=>{this.perspective_element.restore({group_by:this.model.group_by})}))),this.on_change(r,u((()=>{this.perspective_element.restore({aggregates:this.model.aggregates})}))),this.on_change(l,u((()=>{this.perspective_element.restore({filter:this.model.filters})}))),this.on_change(g,u((()=>{this.perspective_element.restore({settings:this.model.settings})}))),this.on_change(p,u((()=>{this.perspective_element.restore({title:this.model.title})}))),this.on_change(o,u((()=>{this.perspective_element.restore({sort:this.model.sort})}))),this.on_change(c,u((()=>{this.perspective_element.restore({plugin:m[this.model.plugin],...g})}))),this.on_change(h,u((()=>{this.perspective_element.restore({plugin_config:{...this._current_config,selectable:this.model.selectable}})}))),this.on_change(a,u((()=>{this.perspective_element.restore({plugin_config:{...this._current_config,editable:this.model.editable}})}))),this.on_change(_,u((()=>{this.perspective_element.restore({theme:d[this.model.theme]}).catch((()=>{}))})))}disconnect_signals(){null!=this._config_listener&&this.perspective_element.removeEventListener("perspective-config-update",this._config_listener),this._config_listener=null,super.disconnect_signals()}remove(){this.perspective_element.delete((()=>this.worker.terminate())),super.remove()}stylesheets(){return[...super.stylesheets(),p.default]}render(){super.render(),this.worker=window.perspective.worker();const e=(0,h.div)({class:"pnx-perspective-viewer",style:{zIndex:0}});this._current_plugin=this.model.plugin,e.innerHTML="<perspective-viewer style='height:100%; width:100%;'></perspective-viewer>",this.perspective_element=e.children[0];const t=Object.values(d).filter((e=>e!==this.model.theme)),s=[this.model.theme,...t];this.perspective_element.resetThemes(s).catch((()=>{})),(0,_.set_size)(e,this.model),this.shadow_el.appendChild(e),this.worker.table(this.model.schema).then((e=>{this.table=e,this.table.update(this.data),this.perspective_element.load(this.table);const t={...this.model.plugin_config,editable:this.model.editable,selectable:this.model.selectable};this.perspective_element.restore({aggregates:this.model.aggregates,columns:this.model.columns,columns_config:this.model.columns_config,expressions:this.model.expressions,filter:this.model.filters,split_by:this.model.split_by,group_by:this.model.group_by,plugin:m[this.model.plugin],plugin_config:t,settings:this.model.settings,sort:this.model.sort,theme:d[this.model.theme],title:this.model.title}).catch((()=>{})),this.perspective_element.save().then((e=>{this._current_config=e})),this._config_listener=()=>this.sync_config(),this.perspective_element.addEventListener("perspective-config-update",this._config_listener),this.perspective_element.addEventListener("perspective-click",(e=>{this.model.trigger_event(new f(e.detail.config,e.detail.column_names,e.detail.row))})),this._loaded=!0}))}sync_config(){return this._updating||this.perspective_element.save().then((e=>{if(e.plugin!==this._current_plugin&&(this._plugin_configs.set(this._current_plugin,{columns:this._current_config.columns,columns_config:this._current_config.columns_config,plugin_config:this._current_config.plugin_config}),this._plugin_configs.has(e.plugin))){const t=this._plugin_configs.get(e.plugin);this.perspective_element.restore(t),e={...e,...t}}this._current_config=e,this._current_plugin=e.plugin;const t={};for(let s in e){let i=e[s];void 0===i||"plugin"==s&&"debug"===i||"version"==s||void 0===this.model.properties.hasOwnProperty(s)||("filter"===s?s="filters":"plugin"===s?i=u[i]:"theme"===s&&(i=v[i]),t[s]=i)}this._updating=!0,this.model.setv(t),this._updating=!1})),!0}get data(){const e={};for(const t of this.model.source.columns()){let s=this.model.source.get_array(t);"datetime"==this.model.schema[t]&&s.includes(-9223372036854776)&&(s=s.map((e=>-9223372036854776===e?null:e))),e[t]=s}return e}setData(){if(this._loaded){for(const e of this.model.source.columns())if(!(e in this.model.schema))return;this.table.replace(this.data)}}stream(){this._loaded&&this.table.replace(this.data)}patch(){this._loaded&&this.table.replace(this.data)}}s.PerspectiveView=b,b.__name__="PerspectiveView";class y extends _.HTMLBox{constructor(e){super(e)}}s.Perspective=y,l=y,y.__name__="Perspective",y.__module__="panel.models.perspective",l.prototype.default_view=b,l.define((({Any:e,List:t,Bool:s,Ref:i,Nullable:n,Str:r})=>({aggregates:[e,{}],columns:[t(n(r)),[]],columns_config:[e,{}],expressions:[e,{}],split_by:[n(t(r)),null],editable:[s,!0],filters:[n(t(e)),null],group_by:[n(t(r)),null],plugin:[r],plugin_config:[e,{}],selectable:[s,!0],settings:[s,!0],schema:[e,{}],sort:[n(t(t(r))),null],source:[i(a.ColumnDataSource)],theme:[r,"pro"],title:[n(r),null]})))},
137
+ "ec353a3d9a": function _(e,t,s,a,n){var r;a();const i=e("@bokehjs/models/widgets/markup"),o=e("c37096b5ea");class _ extends o.PanelMarkupView{connect_signals(){super.connect_signals();const{text:e}=this.model.properties;this.on_change(e,(()=>this.render()))}render(){super.render(),this.container.innerHTML=this.has_math_disabled()?this.model.text:this.process_tex(this.model.text)}}s.MathJaxView=_,_.__name__="MathJaxView";class h extends i.Markup{constructor(e){super(e)}}s.MathJax=h,r=h,h.__name__="MathJax",h.__module__="panel.models.mathjax",r.prototype.default_view=_},
138
+ "f87ad1873c": function _(e,t,n,s,o){var a;s();const i=e("@bokehjs/models/widgets/markup"),r=e("c37096b5ea"),c=e("9cfeb137e6");class d extends r.PanelMarkupView{connect_signals(){super.connect_signals();const{text:e,width:t,height:n,embed:s,start_page:o}=this.model.properties;this.on_change([e,t,n,s,o],(()=>{this.update()}))}render(){super.render(),this.update()}update(){if(this.model.embed){const e=this.convert_base64_to_blob(),t=URL.createObjectURL(e);this.container.innerHTML=`<embed src="${t}#page=${this.model.start_page}" type="application/pdf" width="100%" height="100%"></embed>`}else{const e=(0,c.html_decode)(this.model.text);this.container.innerHTML=e||""}}convert_base64_to_blob(){const e=atob(this.model.text),t=[];for(let n=0;n<e.length;n+=512){const s=e.slice(n,n+512),o=new Uint8Array(s.length);for(let e=0;e<s.length;e++)o[e]=s.charCodeAt(e);t.push(o)}return new Blob(t,{type:"application/pdf"})}}n.PDFView=d,d.__name__="PDFView";class l extends i.Markup{constructor(e){super(e)}}n.PDF=l,a=l,l.__name__="PDF",l.__module__="panel.models.markup",a.prototype.default_view=d,a.define((({Int:e,Bool:t})=>({embed:[t,!1],start_page:[e,1]})))},
139
+ "8b1673a40b": function _(e,t,s,i,n){var r,l;i();const o=e("tslib"),c=e("@bokehjs/core/bokeh_events"),h=e("@bokehjs/core/dom"),a=e("@bokehjs/models/sources/column_data_source"),_=e("c37096b5ea"),p=o.__importDefault(e("2e2913ea54")),d={"pro-dark":"Pro Dark",pro:"Pro Light",vaporwave:"Vaporwave",solarized:"Solarized","solarized-dark":"Solarized Dark",monokai:"Monokai"},m={datagrid:"Datagrid",d3_x_bar:"X Bar",d3_y_bar:"Y Bar",d3_xy_line:"X/Y Line",d3_y_line:"Y Line",d3_y_area:"Y Area",d3_y_scatter:"Y Scatter",d3_xy_scatter:"X/Y Scatter",d3_treemap:"Treemap",d3_candlestick:"Candlestick",d3_sunburst:"Sunburst",d3_heatmap:"Heatmap",d3_ohlc:"OHLC"};function g(e){const t={};return Object.keys(e).forEach((s=>{t[e[s]]=s})),t}const u=g(m),v=g(d);class f extends c.ModelEvent{constructor(e,t,s){super(),this.config=e,this.column_names=t,this.row=s}get event_values(){return{model:this.origin,config:this.config,column_names:this.column_names,row:this.row}}}s.PerspectiveClickEvent=f,r=f,f.__name__="PerspectiveClickEvent",r.prototype.event_name="perspective-click";class b extends _.HTMLBoxView{constructor(){super(...arguments),this._updating=!1,this._config_listener=null,this._current_config=null,this._current_plugin=null,this._loaded=!1,this._plugin_configs=new Map}connect_signals(){super.connect_signals(),this.connect(this.model.source.properties.data.change,(()=>this.setData())),this.connect(this.model.source.streaming,(()=>this.stream())),this.connect(this.model.source.patching,(()=>this.patch()));const{schema:e,columns:t,expressions:s,split_by:i,group_by:n,aggregates:r,filters:l,sort:o,plugin:c,selectable:h,editable:a,theme:_,title:p,settings:g}=this.model.properties,u=e=>()=>{this._updating||e()};this.on_change(e,(()=>{this.worker.table(this.model.schema).then((e=>{this.table=e,this.table.update(this.data),this.perspective_element.load(this.table)}))})),this.on_change(t,u((()=>{this.perspective_element.restore({columns:this.model.columns})}))),this.on_change(s,u((()=>{this.perspective_element.restore({expressions:this.model.expressions})}))),this.on_change(i,u((()=>{this.perspective_element.restore({split_by:this.model.split_by})}))),this.on_change(n,u((()=>{this.perspective_element.restore({group_by:this.model.group_by})}))),this.on_change(r,u((()=>{this.perspective_element.restore({aggregates:this.model.aggregates})}))),this.on_change(l,u((()=>{this.perspective_element.restore({filter:this.model.filters})}))),this.on_change(g,u((()=>{this.perspective_element.restore({settings:this.model.settings})}))),this.on_change(p,u((()=>{this.perspective_element.restore({title:this.model.title})}))),this.on_change(o,u((()=>{this.perspective_element.restore({sort:this.model.sort})}))),this.on_change(c,u((()=>{this.perspective_element.restore({plugin:m[this.model.plugin],...g})}))),this.on_change(h,u((()=>{this.perspective_element.restore({plugin_config:{...this._current_config,selectable:this.model.selectable}})}))),this.on_change(a,u((()=>{this.perspective_element.restore({plugin_config:{...this._current_config,editable:this.model.editable}})}))),this.on_change(_,u((()=>{this.perspective_element.restore({theme:d[this.model.theme]}).catch((()=>{}))})))}disconnect_signals(){null!=this._config_listener&&this.perspective_element.removeEventListener("perspective-config-update",this._config_listener),this._config_listener=null,super.disconnect_signals()}remove(){this.perspective_element.delete((()=>this.worker.terminate())),super.remove()}stylesheets(){return[...super.stylesheets(),p.default]}render(){super.render(),this.worker=window.perspective.worker();const e=(0,h.div)({class:"pnx-perspective-viewer",style:{zIndex:0}});this._current_plugin=this.model.plugin,e.innerHTML="<perspective-viewer style='height:100%; width:100%;'></perspective-viewer>",this.perspective_element=e.children[0];const t=Object.values(d).filter((e=>e!==this.model.theme)),s=[this.model.theme,...t];this.perspective_element.resetThemes(s).catch((()=>{})),(0,_.set_size)(e,this.model),this.shadow_el.appendChild(e),this.worker.table(this.model.schema).then((e=>{this.table=e,this.table.update(this.data),this.perspective_element.load(this.table);const t={...this.model.plugin_config,editable:this.model.editable,selectable:this.model.selectable};this.perspective_element.restore({aggregates:this.model.aggregates,columns:this.model.columns,columns_config:this.model.columns_config,expressions:this.model.expressions,filter:this.model.filters,split_by:this.model.split_by,group_by:this.model.group_by,plugin:m[this.model.plugin],plugin_config:t,settings:this.model.settings,sort:this.model.sort,theme:d[this.model.theme],title:this.model.title}).catch((()=>{})),this.perspective_element.save().then((e=>{this._current_config=e})),this._config_listener=()=>this.sync_config(),this.perspective_element.addEventListener("perspective-config-update",this._config_listener),this.perspective_element.addEventListener("perspective-click",(e=>{this.model.trigger_event(new f(e.detail.config,e.detail.column_names,e.detail.row))})),this._loaded=!0}))}sync_config(){return this._updating||this.perspective_element.save().then((e=>{if(e.plugin!==this._current_plugin&&(this._plugin_configs.set(this._current_plugin,{columns:this._current_config.columns,columns_config:this._current_config.columns_config,plugin_config:this._current_config.plugin_config}),this._plugin_configs.has(e.plugin))){const t=this._plugin_configs.get(e.plugin);this.perspective_element.restore(t),e={...e,...t}}this._current_config=e,this._current_plugin=e.plugin;const t={};for(let s in e){let i=e[s];void 0===i||"plugin"==s&&"debug"===i||"version"==s||void 0===this.model.properties.hasOwnProperty(s)||("filter"===s?s="filters":"plugin"===s?i=u[i]:"theme"===s&&(i=v[i]),t[s]=i)}this._updating=!0,this.model.setv(t),this._updating=!1})),!0}get data(){const e={};for(const t of this.model.source.columns()){let s=this.model.source.get_array(t);"datetime"==this.model.schema[t]&&s.includes(-9223372036854776)&&(s=s.map((e=>-9223372036854776===e?null:e))),e[t]=s}return e}setData(){if(this._loaded){for(const e of this.model.source.columns())if(!(e in this.model.schema))return;this.table.replace(this.data)}}stream(){this._loaded&&this.table.replace(this.data)}patch(){this._loaded&&this.table.replace(this.data)}}s.PerspectiveView=b,b.__name__="PerspectiveView";class y extends _.HTMLBox{constructor(e){super(e)}}s.Perspective=y,l=y,y.__name__="Perspective",y.__module__="panel.models.perspective",l.prototype.default_view=b,l.define((({Any:e,List:t,Bool:s,Ref:i,Nullable:n,Str:r})=>({aggregates:[e,{}],columns:[t(n(r)),[]],columns_config:[e,{}],expressions:[e,{}],split_by:[n(t(r)),null],editable:[s,!0],filters:[n(t(e)),null],group_by:[n(t(r)),null],plugin:[r],plugin_config:[e,{}],selectable:[s,!0],settings:[s,!0],schema:[e,{}],sort:[n(t(t(r))),null],source:[i(a.ColumnDataSource)],theme:[r,"pro"],title:[n(r),null]})))},
140
140
  "2e2913ea54": function _(e,r,t,a,o){a(),t.default="regular-table{padding:0;margin:12px 0 0 12px;scrollbar-color:transparent transparent;scrollbar-width:thin;outline:none;}regular-table:hover{scrollbar-color:rgba(0, 0, 0, 0.3) transparent;}.sub-cell-scroll-enabled regular-table table tbody td,.sub-cell-scroll-enabled regular-table table thead th:not(.rt-group-corner){transform:translate(var(--regular-table--transform-x, 0px));}.sub-cell-scroll-enabled regular-table table tbody{transform:translate(0, var(--regular-table--transform-y, 0px));}.sub-cell-scroll-enabled regular-table table tbody tr:first-child td,.sub-cell-scroll-enabled regular-table table tbody tr:first-child th{clip-path:polygon(0 var(--regular-table--clip-y, 0), 0 200%, 200% 200%, 200% var(--regular-table--clip-y, 0));}.sub-cell-scroll-enabled regular-table table thead th.rt-group-corner{background:var(--plugin--background, white);z-index:1;}.sub-cell-scroll-enabled regular-table table tbody tr td:first-of-type{clip-path:polygon(var(--regular-table--clip-x, 0) 0, var(--regular-table--clip-x, 0) 200%, 200% 200%, 200% 0);}.sub-cell-scroll-enabled regular-table table tbody tr:first-child td:first-of-type{clip-path:polygon(var(--regular-table--clip-x, 0) var(--regular-table--clip-y, 0), var(--regular-table--clip-x, 0) 200%, 200% 200%, 200% var(--regular-table--clip-y, 0));}regular-table{font-family:inherit;}regular-table div[tabindex]{outline:none;}regular-table > div{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;}regular-table th{text-align:center;}regular-table thead tr:not(:last-child) th{overflow:hidden;max-width:0px;}regular-table thead tr:last-child .rt-float,regular-table tbody .rt-float{text-align:right;}regular-table thead .rt-integer,regular-table tbody .rt-integer{text-align:right;}regular-table tbody th{text-align:left;}regular-table span.rt-tree-container{display:flex;align-items:center;height:100%;}regular-table thead .rt-string,regular-table tbody .rt-string,regular-table thead .rt-date,regular-table tbody .rt-date,regular-table thead .rt-datetime,regular-table tbody .rt-datetime{text-align:left;}regular-table thead tr:last-child th{border-bottom:1px solid #eaedef;}regular-table tbody tr:first-child td,regular-table tbody tr:first-child th{border-top:1px solid transparent !important;}regular-table th{position:relative;}regular-table tr th span.rt-tree-group{margin-left:5px;margin-right:15px;border-left:1px solid #eee;height:100%;}regular-table td,regular-table th{white-space:nowrap;font-size:12px;padding-right:5px;padding-left:5px;padding-top:0px;padding-bottom:0px;height:19px;}regular-table tr:hover td{background:#eee;opacity:1;}regular-table tr:hover{color:#333;}regular-table table *{box-sizing:border-box;}regular-table table{position:absolute;overflow:hidden;color:#666;outline:none;}regular-table span.rt-row-header-icon{color:#aaa;padding-right:4px;font-family:var(--button--font-family, 'Material Icons');}regular-table span.rt-column-header-icon{font-size:10px;padding-left:3px;display:inline-block;width:10px;font-family:var(--button--font-family, 'Material Icons');}regular-table span.rt-row-header-icon:hover{color:#1a7da1;text-shadow:0px 0px 3px #1a7da1;}regular-table .rt-selected td{background-color:#eee;}regular-table .rt-cell-clip{overflow:hidden;text-overflow:ellipsis;}regular-table td span.rt-group-name,regular-table th span.rt-group-name{margin-right:-5px;padding-right:5px;padding-left:8px;flex:1;height:100%;}regular-table th span.rt-group-name{text-align:left;}regular-table td th span.rt-group-leaf,regular-table th span.rt-group-leaf{margin-left:16px;height:100%;}regular-table .rt-column-resize{height:100%;width:10px;position:absolute;top:0;right:0;cursor:col-resize;}regular-table a{color:var(--rt-pos-cell--color);}regular-table a:visited{color:var(--active--color);}regular-table::-webkit-scrollbar,regular-table::-webkit-scrollbar-corner{background-color:transparent;height:12px;width:12px;}regular-table::-webkit-scrollbar-thumb{background-clip:content-box;background-color:rgba(0, 0, 0, 0);border-radius:5px;}regular-table::-webkit-scrollbar-thumb:horizontal{border-bottom:2px solid transparent;border-top:2px solid transparent;}regular-table::-webkit-scrollbar-thumb:vertical{border-left:2px solid transparent;border-right:2px solid transparent;}regular-table:hover::-webkit-scrollbar-thumb{background-color:rgba(0, 0, 0, 0.15);}regular-table::-webkit-scrollbar-thumb:hover{background-color:rgba(0, 0, 0, 0.3);}.psp-header-border:not(.psp-is-top):not(.psp-header-leaf){box-shadow:1px 0px var(--inactive--color, #eaedef);}.psp-header-group{box-shadow:0px 10px 0 -9px var(--inactive--color, #eaedef);}.psp-is-top{box-shadow:5px 4px 0px -4px var(--inactive--color, #eaedef);}.psp-is-top.psp-header-group:not(.psp-header-group-corner){box-shadow:5px 4px 0px -4px var(--inactive--color, #eaedef), 0px 10px 0 -9px var(--inactive--color, #eaedef);}.psp-header-border.psp-header-group:not(.psp-is-top):not(\n .psp-header-group-corner\n ){box-shadow:1px 0px var(--inactive--color, #eaedef), 0px 10px 0 -9px var(--inactive--color, #eaedef);}.psp-header-leaf.psp-header-border{box-shadow:5px -4px 0px -4px var(--inactive--color, #eaedef);}tr:only-child th{box-shadow:none !important;}regular-table tbody tr:hover th.psp-tree-leaf:not(.psp-row-selected):not(.psp-row-subselected),regular-table tbody tr:hover th.psp-tree-label:not(.psp-row-selected):not(.psp-row-subselected),regular-table tbody tr:hover td:not(.psp-row-selected):not(.psp-row-subselected){border-color:var(--rt-hover--border-color, #c5c9d080) !important;background-color:transparent;box-shadow:0px 1px 0px var(--rt-hover--border-color, #c5c9d080), 0px 3px 0px rgba(0, 0, 0, 0.05), 0px 5px 0px rgba(0, 0, 0, 0.01);}regular-table tbody tr:hover + tr th.psp-tree-leaf:not(.psp-row-selected):not(.psp-row-subselected),regular-table tbody tr:hover + tr th.psp-tree-label:not(.psp-row-selected):not(.psp-row-subselected),regular-table tbody tr:hover + tr td:not(.psp-row-selected):not(.psp-row-subselected){border-top-color:transparent;}regular-table tbody tr th:first-child:not(:empty),regular-table tbody tr th:first-child:empty + th:not(:empty),regular-table tbody tr th:first-child:empty ~ th:empty + th:not(:empty),regular-table tbody tr td:first-child{border-left-width:1px;border-left-color:transparent;}regular-table tbody tr th:last-child,regular-table tbody tr td:last-child{border-right-width:1px;border-right-color:transparent;}regular-table tbody tr:hover{color:#161616;}regular-table tbody tr:hover th:first-child:not(:empty),regular-table tbody tr:hover th:first-child:empty + th:not(:empty),regular-table tbody tr:hover th:first-child:empty ~ th:empty + th:not(:empty),regular-table tbody tr:hover td:first-child{border-left-color:var(--rt-hover--border-color, #c5c9d080) !important;}regular-table tbody tr:hover th:last-child,regular-table tbody tr:hover td:last-child{border-right-color:var(--rt-hover--border-color, #c5c9d080) !important;}perspective-viewer[settings] regular-table .psp-header-leaf{height:36px;vertical-align:top;padding-top:2px;}perspective-viewer[settings] regular-table .psp-header-leaf:not(.psp-header-corner):before{font-family:var(--button--font-family, inherit);content:var(--column-style-open-button--content, var(--config-button-icon--content, '\u1f527'));position:absolute;width:calc(100% - 8px);left:5px;bottom:0px;color:var(--inactive--color, #b4b7be);}perspective-viewer[settings] regular-table .psp-header-leaf.psp-menu-enabled:not(.psp-header-corner):before{color:inherit;cursor:pointer;}perspective-viewer[settings] regular-table .psp-header-leaf.psp-menu-open:not(.psp-header-corner){pointer-events:none;}perspective-viewer[settings] regular-table .psp-header-leaf.psp-menu-open:not(.psp-header-corner):before{content:var(--column-style-close-button--content, 'X');}perspective-viewer[settings] regular-table .psp-header-leaf.psp-menu-enabled:hover:before{color:#338dcd;}perspective-viewer[settings] regular-table .psp-header-leaf .rt-column-resize{height:18px;}.psp-row-selected,:hover .psp-row-selected,:hover th.psp-tree-leaf.psp-row-selected,:hover th.psp-tree-label.psp-row-selected{color:white !important;background-color:#ea7319 !important;border-color:#ea7319 !important;}.psp-row-selected.psp-tree-label:not(:hover):before{color:white;}.psp-row-subselected,:hover .psp-row-subselected,:hover th.psp-tree-leaf.psp-row-subselected,:hover th.psp-tree-label.psp-row-subselected{background:rgba(234, 115, 25, 0.2) !important;}.psp-error{color:red;}td:focus{outline:#666;outline-style:dotted;outline-width:1px;}perspective-viewer.dragging regular-table{pointer-events:none;}.psp-header-border:last-child{border-right-width:0px;}.psp-header-sort-desc:after{font-family:var(--button--font-family, inherit);font-size:10px;content:var(--sort-order-desc--content, '\u2193');}.psp-header-sort-asc:after{font-family:var(--button--font-family, inherit);font-size:10px;content:var(--sort-order-asc--content, '\u2191');}.psp-header-sort-col-desc:after{font-family:var(--button--font-family, inherit);font-size:10px;content:var(--sort-order-col-desc--content, '\u2190');}.psp-header-sort-col-asc:after{font-family:var(--button--font-family, inherit);font-size:10px;content:var(--sort-order-col-asc--content, '\u2192');}tbody th:last-of-type{border-right:1px solid #eaedef;overflow:hidden;text-overflow:ellipsis;}tbody th:empty{background-image:linear-gradient(to right, transparent 9px, #eee 10px, transparent 11px);background-repeat:no-repeat;min-width:20px;max-width:20px;pointer-events:none;}.psp-tree-label{max-width:0px;min-width:0px;}.psp-tree-label:before{color:#ccc;font-family:var(--button--font-family, inherit);padding-right:11px;vertical-align:-1px;}.psp-tree-label-expand:before{content:var(--tree-label-expand--content, '+');}.psp-tree-label-collapse:before{content:var(--tree-label-collapse--content, '-');}.psp-tree-label:hover:before{color:#338dcd;text-shadow:0px 0px 5px #338dcd;}regular-table thead tr:last-child th{border-bottom-width:1px;border-bottom-color:var(--inactive--color, #eaedef);}.psp-tree-leaf{padding-left:24px;}.psp-align-right{text-align:right;}.psp-align-left{text-align:left;}.psp-positive:not(:focus){color:var(--rt-pos-cell--color, #338dcd);}.psp-negative:not(:focus){color:var(--rt-neg-cell--color, #ff5942);}regular-table table tbody td{min-width:52px !important;}.psp-is-width-override .rt-column-resize,.rt-column-resize:hover{border:1px dashed #999;border-bottom-width:0px;border-left-width:0px;}.psp-bool-type{font-family:var(--button--font-family, 'Material Icons');}.boolean-editable{cursor:pointer;}regular-table table{user-select:none;color:#161616;border-collapse:separate;}regular-table table th{font-weight:400;}regular-table table td,regular-table table th{border-color:#eaedef;height:23px;}regular-table table .psp-header-group{text-overflow:ellipsis;}regular-table table .psp-header-leaf{border-bottom-width:0px;}regular-table table td,regular-table table th.psp-tree-label,regular-table table th.psp-tree-label,regular-table table th.psp-tree-leaf,regular-table table tbody tr:first-child th{border-style:solid;border-width:0px;border-top-width:1px;}regular-table table tbody th:empty{background-position:0px -10px;}@keyframes pulse_pos{0%{background-color:var(--pulse--background-color-start, rgba(0, 128, 255, 0.5));}100%{background-color:var(--pulse--background-color-end, rgba(0, 128, 255, 0));}}@keyframes pulse_pos2{0%{background-color:var(--pulse--background-color-start, rgba(0, 128, 255, 0.5));}100%{background-color:var(--pulse--background-color-end, rgba(0, 128, 255, 0));}}@keyframes pulse_neg{0%{background-color:var(--pulse--background-color-start, rgba(255, 25, 0, 0.5));}100%{background-color:var(--pulse--background-color-end, rgba(255, 25, 0, 0));}}@keyframes pulse_neg2{0%{background-color:var(--pulse--background-color-start, rgba(255, 25, 0, 0.5));}100%{background-color:var(--pulse--background-color-end, rgba(255, 25, 0, 0));}}"},
141
141
  "f06104d237": function _(t,e,i,o,s){var l;o();const n=t("@bokehjs/core/kinds"),r=t("@bokehjs/core/dom"),a=t("@bokehjs/models/widgets/widget"),h='<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-minus" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M5 12l14 0" /></svg>',d='<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-player-track-prev-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path d="M20.341 4.247l-8 7a1 1 0 0 0 0 1.506l8 7c.647 .565 1.659 .106 1.659 -.753v-14c0 -.86 -1.012 -1.318 -1.659 -.753z" stroke-width="0" fill="currentColor" /><path d="M9.341 4.247l-8 7a1 1 0 0 0 0 1.506l8 7c.647 .565 1.659 .106 1.659 -.753v-14c0 -.86 -1.012 -1.318 -1.659 -.753z" stroke-width="0" fill="currentColor" /></svg>',c='<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-player-skip-back-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path d="M19.496 4.136l-12 7a1 1 0 0 0 0 1.728l12 7a1 1 0 0 0 1.504 -.864v-14a1 1 0 0 0 -1.504 -.864z" stroke-width="0" fill="currentColor" /><path d="M4 4a1 1 0 0 1 .993 .883l.007 .117v14a1 1 0 0 1 -1.993 .117l-.007 -.117v-14a1 1 0 0 1 1 -1z" stroke-width="0" fill="currentColor" /></svg>',p='<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-player-play-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round" style="transform: scaleX(-1);"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M6 4v16a1 1 0 0 0 1.524 .852l13 -8a1 1 0 0 0 0 -1.704l-13 -8a1 1 0 0 0 -1.524 .852z" stroke-width="0" fill="currentColor" /></svg>',m='<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-player-pause-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9 4h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h2a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2z" stroke-width="0" fill="currentColor" /><path d="M17 4h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h2a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2z" stroke-width="0" fill="currentColor" /></svg>',u='<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-player-play-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M6 4v16a1 1 0 0 0 1.524 .852l13 -8a1 1 0 0 0 0 -1.704l-13 -8a1 1 0 0 0 -1.524 .852z" stroke-width="0" fill="currentColor" /></svg>',_='<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-player-skip-forward-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path d="M3 5v14a1 1 0 0 0 1.504 .864l12 -7a1 1 0 0 0 0 -1.728l-12 -7a1 1 0 0 0 -1.504 .864z" stroke-width="0" fill="currentColor" /><path d="M20 4a1 1 0 0 1 .993 .883l.007 .117v14a1 1 0 0 1 -1.993 .117l-.007 -.117v-14a1 1 0 0 1 1 -1z" stroke-width="0" fill="currentColor" /></svg>',g='<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-player-track-next-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M2 5v14c0 .86 1.012 1.318 1.659 .753l8 -7a1 1 0 0 0 0 -1.506l-8 -7c-.647 -.565 -1.659 -.106 -1.659 .753z" stroke-width="0" fill="currentColor" /><path d="M13 5v14c0 .86 1.012 1.318 1.659 .753l8 -7a1 1 0 0 0 0 -1.506l-8 -7c-.647 -.565 -1.659 -.106 -1.659 .753z" stroke-width="0" fill="currentColor" /></svg>',v='<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-plus" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M12 5l0 14" /><path d="M5 12l14 0" /></svg>';function f(t){t.forEach((t=>t.style.borderStyle="inset"))}function w(t){t.forEach((t=>t.style.borderStyle="outset"))}class k extends a.WidgetView{constructor(){super(...arguments),this._changing=!1}connect_signals(){super.connect_signals();const{direction:t,value:e,loop_policy:i,disabled:o,show_loop_controls:s}=this.model.properties;this.on_change(t,(()=>this.set_direction())),this.on_change(e,(()=>this.render())),this.on_change(i,(()=>this.set_loop_state(this.model.loop_policy))),this.on_change(o,(()=>this.toggle_disable())),this.on_change(s,(()=>{this.model.show_loop_controls&&this.loop_state.parentNode!=this.groupEl?this.groupEl.appendChild(this.loop_state):this.model.show_loop_controls||this.loop_state.parentNode!=this.groupEl||this.groupEl.removeChild(this.loop_state)}))}toggle_disable(){this.sliderEl.disabled=this.model.disabled;for(const t of this.buttonEl.children){t.disabled=this.model.disabled}for(const t of this.loop_state.children)if("input"==t.tagName){t.disabled=this.model.disabled}}get_height(){return 250}render(){if(null!=this.sliderEl)return this.sliderEl.min=String(this.model.start),this.sliderEl.max=String(this.model.end),void(this.sliderEl.value=String(this.model.value));super.render(),this.groupEl=(0,r.div)(),this.groupEl.style.display="flex",this.groupEl.style.flexDirection="column",this.groupEl.style.alignItems="center",this.sliderEl=document.createElement("input"),this.sliderEl.style.width="100%",this.sliderEl.setAttribute("type","range"),this.sliderEl.value=String(this.model.value),this.sliderEl.min=String(this.model.start),this.sliderEl.max=String(this.model.end),this.sliderEl.addEventListener("input",(t=>{this.set_frame(parseInt(t.target.value),!1)})),this.sliderEl.addEventListener("change",(t=>{this.set_frame(parseInt(t.target.value))}));const t=(0,r.div)();this.buttonEl=t,t.style.cssText="margin: 0 auto; display: flex; padding: 5px; align-items: stretch; width: 100%;";const e="text-align: center; min-width: 20px; flex-grow: 1; margin: 2px",i="text-align: center; min-width: 40px; flex-grow: 2; margin: 2px",o=document.createElement("button");o.style.cssText=e,o.innerHTML=h,o.onclick=()=>this.slower(),t.appendChild(o);const s=document.createElement("button");s.style.cssText=i,s.innerHTML=d,s.onclick=()=>this.first_frame(),t.appendChild(s);const l=document.createElement("button");l.style.cssText=i,l.innerHTML=c,l.onclick=()=>this.previous_frame(),t.appendChild(l);const n=document.createElement("button");n.style.cssText=i,n.innerHTML=p,n.onclick=()=>this.reverse_animation(),t.appendChild(n);const a=document.createElement("button");a.style.cssText=i,a.innerHTML=m,a.onclick=()=>this.pause_animation(),t.appendChild(a);const k=document.createElement("button");k.style.cssText=i,k.innerHTML=u,k.onclick=()=>this.play_animation(),t.appendChild(k);const x=document.createElement("button");x.style.cssText=i,x.innerHTML=_,x.onclick=()=>this.next_frame(),t.appendChild(x);const y=document.createElement("button");y.style.cssText=i,y.innerHTML=g,y.onclick=()=>this.last_frame(),t.appendChild(y);const b=document.createElement("button");b.style.cssText=e,b.innerHTML=v,b.onclick=()=>this.faster(),t.appendChild(b),this._toggle_reverse=()=>{w([a,k]),f([n])},this._toogle_pause=()=>{w([n,k]),f([a])},this._toggle_play=()=>{w([n,a]),f([k])},this.loop_state=document.createElement("form"),this.loop_state.style.cssText="margin: 0 auto; display: table";const E=document.createElement("input");E.type="radio",E.value="once",E.name="state";const C=document.createElement("label");C.innerHTML="Once",C.style.cssText="padding: 0 10px 0 5px; user-select:none;";const M=document.createElement("input");M.setAttribute("type","radio"),M.setAttribute("value","loop"),M.setAttribute("name","state");const T=document.createElement("label");T.innerHTML="Loop",T.style.cssText="padding: 0 10px 0 5px; user-select:none;";const z=document.createElement("input");z.setAttribute("type","radio"),z.setAttribute("value","reflect"),z.setAttribute("name","state");const H=document.createElement("label");H.innerHTML="Reflect",H.style.cssText="padding: 0 10px 0 5px; user-select:none;","once"==this.model.loop_policy?E.checked=!0:"loop"==this.model.loop_policy?M.checked=!0:z.checked=!0,this.loop_state.appendChild(E),this.loop_state.appendChild(C),this.loop_state.appendChild(M),this.loop_state.appendChild(T),this.loop_state.appendChild(z),this.loop_state.appendChild(H),this.groupEl.appendChild(this.sliderEl),this.groupEl.appendChild(t),this.model.show_loop_controls&&this.groupEl.appendChild(this.loop_state),this.toggle_disable(),this.shadow_el.appendChild(this.groupEl)}set_frame(t,e=!0){this.model.value=t,e&&(this.model.value_throttled=t),this.sliderEl.value!=String(t)&&(this.sliderEl.value=String(t))}get_loop_state(){const t=this.loop_state.state;for(let e=0;e<t.length;e++){const i=t[e];if(i.checked)return i.value}return"once"}set_loop_state(t){const e=this.loop_state.state;for(let i=0;i<e.length;i++){const o=e[i];o.value==t&&(o.checked=!0)}}next_frame(){this.set_frame(Math.min(this.model.end,this.model.value+this.model.step))}previous_frame(){this.set_frame(Math.max(this.model.start,this.model.value-this.model.step))}first_frame(){this.set_frame(this.model.start)}last_frame(){this.set_frame(this.model.end)}slower(){this.model.interval=Math.round(this.model.interval/.7),this.model.direction>0?this.play_animation():this.model.direction<0&&this.reverse_animation()}faster(){this.model.interval=Math.round(.7*this.model.interval),this.model.direction>0?this.play_animation():this.model.direction<0&&this.reverse_animation()}anim_step_forward(){if(this.model.value<this.model.end)this.next_frame();else{const t=this.get_loop_state();"loop"==t?this.first_frame():"reflect"==t?(this.last_frame(),this.reverse_animation()):(this.pause_animation(),this.last_frame())}}anim_step_reverse(){if(this.model.value>this.model.start)this.previous_frame();else{const t=this.get_loop_state();"loop"==t?this.last_frame():"reflect"==t?(this.first_frame(),this.play_animation()):(this.pause_animation(),this.first_frame())}}set_direction(){this._changing||(0===this.model.direction?this.pause_animation():1===this.model.direction?this.play_animation():-1===this.model.direction&&this.reverse_animation())}pause_animation(){this._toogle_pause(),this._changing=!0,this.model.direction=0,this._changing=!1,this.timer&&(clearInterval(this.timer),this.timer=null)}play_animation(){this.pause_animation(),this._toggle_play(),this._changing=!0,this.model.direction=1,this._changing=!1,this.timer||(this.timer=setInterval((()=>this.anim_step_forward()),this.model.interval))}reverse_animation(){this.pause_animation(),this._toggle_reverse(),this._changing=!0,this.model.direction=-1,this._changing=!1,this.timer||(this.timer=setInterval((()=>this.anim_step_reverse()),this.model.interval))}}i.PlayerView=k,k.__name__="PlayerView",i.LoopPolicy=(0,n.Enum)("once","loop","reflect");class x extends a.Widget{constructor(t){super(t)}}i.Player=x,l=x,x.__name__="Player",x.__module__="panel.models.widgets",l.prototype.default_view=k,l.define((({Bool:t,Int:e})=>({direction:[e,0],interval:[e,500],start:[e,0],end:[e,10],step:[e,1],loop_policy:[i.LoopPolicy,"once"],value:[e,0],value_throttled:[e,0],show_loop_controls:[t,!0]}))),l.override({width:400})},
142
- "6f2064dc74": function _(t,e,o,i,n){var s,r;i();const l=t("tslib"),a=t("@bokehjs/core/bokeh_events"),h=t("@bokehjs/core/dom"),c=t("@bokehjs/core/util/types"),d=t("@bokehjs/core/util/object"),_=t("@bokehjs/core/util/eq"),u=t("@bokehjs/models/sources/column_data_source"),p=t("99a25e6992"),y=t("27e2a99e99"),w=t("73d6aee8f5"),m=l.__importDefault(t("ce7c8e2a4f"));class g extends a.ModelEvent{constructor(t){super(),this.data=t}get event_values(){return{model:this.origin,data:this.data}}}function v(t){return(0,c.isArray)(t)?t.map(v):((0,c.isPlainObject)(t)&&Object.entries(t).forEach((([e,o])=>{(0,c.isPlainObject)(o)||(0,c.isArray)(o)?v(o):void 0===o&&(t[e]=null)})),t)}o.PlotlyEvent=g,s=g,g.__name__="PlotlyEvent",s.prototype.event_name="plotly_event";const P=(t,e,o)=>{const i=Array.isArray(e)?[]:{};if("click"===o||"hover"===o||"selected"===o){const o=[];if(null==e)return null;const n=t.data;for(let t=0;t<e.points.length;t++){const i=e.points[t],s={};for(const t in i){const e=i[t];!i.hasOwnProperty(t)||Array.isArray(e)||(0,c.isPlainObject)(e)||void 0===e||(s[t]=e)}null!=i&&(i.hasOwnProperty("curveNumber")&&i.hasOwnProperty("pointNumber")&&n[i.curveNumber].hasOwnProperty("customdata")&&(s.customdata=n[i.curveNumber].customdata[i.pointNumber]),i.hasOwnProperty("pointNumbers")&&(s.pointNumbers=i.pointNumbers)),o[t]=s}i.points=o}else if("relayout"===o||"restyle"===o)for(const t in e)e.hasOwnProperty(t)&&(i[t]=e[t]);return e.hasOwnProperty("range")&&(i.range=e.range),e.hasOwnProperty("lassoPoints")&&(i.lassoPoints=e.lassoPoints),v(i)};class f extends w.HTMLBoxView{constructor(){super(...arguments),this._settingViewport=!1,this._plotInitialized=!1,this._rendered=!1,this._reacting=!1,this._relayouting=!1,this._hoverdata=null,this._end_relayouting=(0,p.debounce)((()=>{this._relayouting=!1}),2e3,!1)}connect_signals(){super.connect_signals();const{data:t,data_sources:e,layout:o,relayout:i,restyle:n,viewport_update_policy:s,viewport_update_throttle:r,_render_count:l,frames:a,viewport:h}=this.model.properties;this.on_change([t,e,o],(()=>{const t=this.model._render_count;setTimeout((()=>{this.model._render_count===t&&(this.model._render_count+=1)}),250)})),this.on_change(i,(()=>{null!=this.model.relayout&&(window.Plotly.relayout(this.container,this.model.relayout),this.model.relayout=null)})),this.on_change(n,(()=>{null!=this.model.restyle&&(window.Plotly.restyle(this.container,this.model.restyle.data,this.model.restyle.traces),this.model.restyle=null)})),this.on_change(s,(()=>{this._updateSetViewportFunction()})),this.on_change(r,(()=>{this._updateSetViewportFunction()})),this.on_change(l,(()=>{this.plot()})),this.on_change(a,(()=>{this.plot(!0)})),this.on_change(h,(()=>{this._updateViewportFromProperty()}))}stylesheets(){return[...super.stylesheets(),m.default]}remove(){null!=this.container&&window.Plotly.purge(this.container),super.remove()}render(){super.render(),this.container=(0,h.div)(),(0,w.set_size)(this.container,this.model),this._rendered=!1,this.shadow_el.appendChild(this.container),this.watch_stylesheets(),this.plot().then((()=>{this._rendered=!0,null!=this.model.relayout&&window.Plotly.relayout(this.container,this.model.relayout),window.Plotly.Plots.resize(this.container)}))}style_redraw(){this._rendered&&null!=this.container&&window.Plotly.Plots.resize(this.container)}after_layout(){super.after_layout(),this._rendered&&null!=this.container&&window.Plotly.Plots.resize(this.container)}_trace_data(){const t=[];for(let e=0;e<this.model.data.length;e++)t.push(this._get_trace(e,!1));return t}_layout_data(){const t=(0,y.deepCopy)(this.model.layout);if(this._relayouting){const{layout:e}=this.container;Object.keys(e).reduce(((e,o)=>{"axis"===o.slice(1,5)&&"range"in e&&(t[o].range=e.range)}),{})}return t}_install_callbacks(){this.container.on("plotly_relayout",(t=>{!0!==t._update_from_property&&(this.model.relayout_data=P(this.container,t,"relayout"),this._updateViewportProperty(),this._end_relayouting())})),this.container.on("plotly_relayouting",(()=>{"mouseup"!==this.model.viewport_update_policy&&(this._relayouting=!0,this._updateViewportProperty())})),this.container.on("plotly_restyle",(t=>{this.model.restyle_data=P(this.container,t,"restyle"),this._updateViewportProperty()})),this.container.on("plotly_click",(t=>{const e=P(this.container,t,"click");this.model.trigger_event(new g({type:"click",data:e}))})),this.container.on("plotly_hover",(t=>{const e=P(this.container,t,"hover");this.model.trigger_event(new g({type:"hover",data:e})),this._hoverdata=this.container._hoverdata=t.points})),this.container.on("plotly_selected",(t=>{const e=P(this.container,t,"selected");this.model.trigger_event(new g({type:"selected",data:e}))})),this.container.on("plotly_clickannotation",(t=>{delete t.event,delete t.fullAnnotation,this.model.trigger_event(new g({type:"clickannotation",data:t}))})),this.container.on("plotly_deselect",(()=>{this.model.trigger_event(new g({type:"selected",data:null}))})),this.container.on("plotly_unhover",(()=>{this.container._hoverdata=this._hoverdata,this.model.trigger_event(new g({type:"hover",data:null})),setTimeout((()=>{delete this.container._hoverdata}),0)}))}async plot(t=!1){if(!window.Plotly)return;const e=this._trace_data(),o=this._layout_data();if(this._reacting=!0,t){const t={data:e,layout:o,config:this.model.config,frames:this.model.frames};await window.Plotly.newPlot(this.container,t)}else await window.Plotly.react(this.container,e,o,this.model.config),null!=this.model.frames&&await window.Plotly.addFrames(this.container,this.model.frames);this._updateSetViewportFunction(),this._updateViewportProperty(),this._plotInitialized?(t=>{const e=window.getComputedStyle(t).display;return!e||"none"===e})(this.container)||window.Plotly.Plots.resize(this.container):this._install_callbacks(),this._reacting=!1,this._plotInitialized=!0}_get_trace(t,e){const o=(0,d.clone)(this.model.data[t]),i=this.model.data_sources[t];for(const t of i.columns()){let n=i.get_array(t)[0];null!=n.shape&&n.shape.length>1&&(n=(0,y.reshape)(n,n.shape));const s=t.split("."),r=s[s.length-1];let l=o;for(const t of s.slice(0,-1))l=l[t];e&&1==s.length?l[r]=[n]:l[r]=n}return o}_updateViewportFromProperty(){if(!window.Plotly||this._settingViewport||this._reacting||!this.model.viewport)return;const t=this.container._fullLayout;Object.keys(this.model.viewport).reduce(((e,o)=>{if((0,_.is_equal)((0,y.get)(t,o),e))return!0;{const t=(0,y.deepCopy)(this.model.viewport);return t._update_from_property=!0,this._settingViewport=!0,window.Plotly.relayout(this.el,t).then((()=>{this._settingViewport=!1})),!1}}),{})}_updateViewportProperty(){const t=this.container._fullLayout,e={};for(const o in t){if(!t.hasOwnProperty(o))continue;const i=o.slice(0,5);"xaxis"!==i&&"yaxis"!==i||(e[`${o}.range`]=(0,y.deepCopy)(t[o].range))}(0,_.is_equal)(e,this.model.viewport)||this._setViewport(e)}_updateSetViewportFunction(){"continuous"===this.model.viewport_update_policy||"mouseup"===this.model.viewport_update_policy?this._setViewport=t=>{this._settingViewport||(this._settingViewport=!0,this.model.viewport=t,this._settingViewport=!1)}:this._setViewport=(0,y.throttle)((t=>{this._settingViewport||(this._settingViewport=!0,this.model.viewport=t,this._settingViewport=!1)}),this.model.viewport_update_throttle)}}o.PlotlyPlotView=f,f.__name__="PlotlyPlotView";class b extends w.HTMLBox{constructor(t){super(t)}}o.PlotlyPlot=b,r=b,b.__name__="PlotlyPlot",b.__module__="panel.models.plotly",r.prototype.default_view=f,r.define((({List:t,Any:e,Nullable:o,Float:i,Ref:n,Str:s})=>({data:[t(e),[]],layout:[e,{}],config:[e,{}],frames:[o(t(e)),null],data_sources:[t(n(u.ColumnDataSource)),[]],relayout:[o(e),{}],restyle:[o(e),{}],relayout_data:[e,{}],restyle_data:[t(e),[]],viewport:[e,{}],viewport_update_policy:[s,"mouseup"],viewport_update_throttle:[i,200],_render_count:[i,0]})))},
142
+ "6f2064dc74": function _(t,e,o,i,n){var s,r;i();const l=t("tslib"),a=t("@bokehjs/core/bokeh_events"),h=t("@bokehjs/core/dom"),c=t("@bokehjs/core/util/types"),d=t("@bokehjs/core/util/object"),_=t("@bokehjs/core/util/eq"),u=t("@bokehjs/models/sources/column_data_source"),p=t("99a25e6992"),y=t("27e2a99e99"),w=t("c37096b5ea"),m=l.__importDefault(t("ce7c8e2a4f"));class g extends a.ModelEvent{constructor(t){super(),this.data=t}get event_values(){return{model:this.origin,data:this.data}}}function v(t){return(0,c.isArray)(t)?t.map(v):((0,c.isPlainObject)(t)&&Object.entries(t).forEach((([e,o])=>{(0,c.isPlainObject)(o)||(0,c.isArray)(o)?v(o):void 0===o&&(t[e]=null)})),t)}o.PlotlyEvent=g,s=g,g.__name__="PlotlyEvent",s.prototype.event_name="plotly_event";const P=(t,e,o)=>{const i=Array.isArray(e)?[]:{};if("click"===o||"hover"===o||"selected"===o){const o=[];if(null==e)return null;const n=t.data;for(let t=0;t<e.points.length;t++){const i=e.points[t],s={};for(const t in i){const e=i[t];!i.hasOwnProperty(t)||Array.isArray(e)||(0,c.isPlainObject)(e)||void 0===e||(s[t]=e)}null!=i&&(i.hasOwnProperty("curveNumber")&&i.hasOwnProperty("pointNumber")&&n[i.curveNumber].hasOwnProperty("customdata")&&(s.customdata=n[i.curveNumber].customdata[i.pointNumber]),i.hasOwnProperty("pointNumbers")&&(s.pointNumbers=i.pointNumbers)),o[t]=s}i.points=o}else if("relayout"===o||"restyle"===o)for(const t in e)e.hasOwnProperty(t)&&(i[t]=e[t]);return e.hasOwnProperty("range")&&(i.range=e.range),e.hasOwnProperty("lassoPoints")&&(i.lassoPoints=e.lassoPoints),v(i)};class f extends w.HTMLBoxView{constructor(){super(...arguments),this._settingViewport=!1,this._plotInitialized=!1,this._rendered=!1,this._reacting=!1,this._relayouting=!1,this._hoverdata=null,this._end_relayouting=(0,p.debounce)((()=>{this._relayouting=!1}),2e3,!1)}connect_signals(){super.connect_signals();const{data:t,data_sources:e,layout:o,relayout:i,restyle:n,viewport_update_policy:s,viewport_update_throttle:r,_render_count:l,frames:a,viewport:h}=this.model.properties;this.on_change([t,e,o],(()=>{const t=this.model._render_count;setTimeout((()=>{this.model._render_count===t&&(this.model._render_count+=1)}),250)})),this.on_change(i,(()=>{null!=this.model.relayout&&(window.Plotly.relayout(this.container,this.model.relayout),this.model.relayout=null)})),this.on_change(n,(()=>{null!=this.model.restyle&&(window.Plotly.restyle(this.container,this.model.restyle.data,this.model.restyle.traces),this.model.restyle=null)})),this.on_change(s,(()=>{this._updateSetViewportFunction()})),this.on_change(r,(()=>{this._updateSetViewportFunction()})),this.on_change(l,(()=>{this.plot()})),this.on_change(a,(()=>{this.plot(!0)})),this.on_change(h,(()=>{this._updateViewportFromProperty()}))}stylesheets(){return[...super.stylesheets(),m.default]}remove(){null!=this.container&&window.Plotly.purge(this.container),super.remove()}render(){super.render(),this.container=(0,h.div)(),(0,w.set_size)(this.container,this.model),this._rendered=!1,this.shadow_el.appendChild(this.container),this.watch_stylesheets(),this.plot().then((()=>{this._rendered=!0,null!=this.model.relayout&&window.Plotly.relayout(this.container,this.model.relayout),window.Plotly.Plots.resize(this.container)}))}style_redraw(){this._rendered&&null!=this.container&&window.Plotly.Plots.resize(this.container)}after_layout(){super.after_layout(),this._rendered&&null!=this.container&&window.Plotly.Plots.resize(this.container)}_trace_data(){const t=[];for(let e=0;e<this.model.data.length;e++)t.push(this._get_trace(e,!1));return t}_layout_data(){const t=(0,y.deepCopy)(this.model.layout);if(this._relayouting){const{layout:e}=this.container;Object.keys(e).reduce(((e,o)=>{"axis"===o.slice(1,5)&&"range"in e&&(t[o].range=e.range)}),{})}return t}_install_callbacks(){this.container.on("plotly_relayout",(t=>{!0!==t._update_from_property&&(this.model.relayout_data=P(this.container,t,"relayout"),this._updateViewportProperty(),this._end_relayouting())})),this.container.on("plotly_relayouting",(()=>{"mouseup"!==this.model.viewport_update_policy&&(this._relayouting=!0,this._updateViewportProperty())})),this.container.on("plotly_restyle",(t=>{this.model.restyle_data=P(this.container,t,"restyle"),this._updateViewportProperty()})),this.container.on("plotly_click",(t=>{const e=P(this.container,t,"click");this.model.trigger_event(new g({type:"click",data:e}))})),this.container.on("plotly_hover",(t=>{const e=P(this.container,t,"hover");this.model.trigger_event(new g({type:"hover",data:e})),this._hoverdata=this.container._hoverdata=t.points})),this.container.on("plotly_selected",(t=>{const e=P(this.container,t,"selected");this.model.trigger_event(new g({type:"selected",data:e}))})),this.container.on("plotly_clickannotation",(t=>{delete t.event,delete t.fullAnnotation,this.model.trigger_event(new g({type:"clickannotation",data:t}))})),this.container.on("plotly_deselect",(()=>{this.model.trigger_event(new g({type:"selected",data:null}))})),this.container.on("plotly_unhover",(()=>{this.container._hoverdata=this._hoverdata,this.model.trigger_event(new g({type:"hover",data:null})),setTimeout((()=>{delete this.container._hoverdata}),0)}))}async plot(t=!1){if(!window.Plotly)return;const e=this._trace_data(),o=this._layout_data();if(this._reacting=!0,t){const t={data:e,layout:o,config:this.model.config,frames:this.model.frames};await window.Plotly.newPlot(this.container,t)}else await window.Plotly.react(this.container,e,o,this.model.config),null!=this.model.frames&&await window.Plotly.addFrames(this.container,this.model.frames);this._updateSetViewportFunction(),this._updateViewportProperty(),this._plotInitialized?(t=>{const e=window.getComputedStyle(t).display;return!e||"none"===e})(this.container)||window.Plotly.Plots.resize(this.container):this._install_callbacks(),this._reacting=!1,this._plotInitialized=!0}_get_trace(t,e){const o=(0,d.clone)(this.model.data[t]),i=this.model.data_sources[t];for(const t of i.columns()){let n=i.get_array(t)[0];null!=n.shape&&n.shape.length>1&&(n=(0,y.reshape)(n,n.shape));const s=t.split("."),r=s[s.length-1];let l=o;for(const t of s.slice(0,-1))l=l[t];e&&1==s.length?l[r]=[n]:l[r]=n}return o}_updateViewportFromProperty(){if(!window.Plotly||this._settingViewport||this._reacting||!this.model.viewport)return;const t=this.container._fullLayout;Object.keys(this.model.viewport).reduce(((e,o)=>{if((0,_.is_equal)((0,y.get)(t,o),e))return!0;{const t=(0,y.deepCopy)(this.model.viewport);return t._update_from_property=!0,this._settingViewport=!0,window.Plotly.relayout(this.el,t).then((()=>{this._settingViewport=!1})),!1}}),{})}_updateViewportProperty(){const t=this.container._fullLayout,e={};for(const o in t){if(!t.hasOwnProperty(o))continue;const i=o.slice(0,5);"xaxis"!==i&&"yaxis"!==i||(e[`${o}.range`]=(0,y.deepCopy)(t[o].range))}(0,_.is_equal)(e,this.model.viewport)||this._setViewport(e)}_updateSetViewportFunction(){"continuous"===this.model.viewport_update_policy||"mouseup"===this.model.viewport_update_policy?this._setViewport=t=>{this._settingViewport||(this._settingViewport=!0,this.model.viewport=t,this._settingViewport=!1)}:this._setViewport=(0,y.throttle)((t=>{this._settingViewport||(this._settingViewport=!0,this.model.viewport=t,this._settingViewport=!1)}),this.model.viewport_update_throttle)}}o.PlotlyPlotView=f,f.__name__="PlotlyPlotView";class b extends w.HTMLBox{constructor(t){super(t)}}o.PlotlyPlot=b,r=b,b.__name__="PlotlyPlot",b.__module__="panel.models.plotly",r.prototype.default_view=f,r.define((({List:t,Any:e,Nullable:o,Float:i,Ref:n,Str:s})=>({data:[t(e),[]],layout:[e,{}],config:[e,{}],frames:[o(t(e)),null],data_sources:[t(n(u.ColumnDataSource)),[]],relayout:[o(e),{}],restyle:[o(e),{}],relayout_data:[e,{}],restyle_data:[t(e),[]],viewport:[e,{}],viewport_update_policy:[s,"mouseup"],viewport_update_throttle:[i,200],_render_count:[i,0]})))},
143
143
  "27e2a99e99": function _(t,e,n,o,r){o();const c=t("@bokehjs/core/util/array");n.get=(t,e,n=void 0)=>{const o=n=>String.prototype.split.call(e,n).filter(Boolean).reduce(((t,e)=>null!=t?t[e]:t),t),r=o(/[,[\]]+?/)||o(/[,[\].]+?/);return void 0===r||r===t?n:r},n.throttle=function(t,e){let n=0;return function(){const o=Number(new Date);o-n>=e&&(t(),n=o)}},n.deepCopy=function t(e){let n;if(null==e||"object"!=typeof e)return e;if(e instanceof Array){n=[];for(let o=0,r=e.length;o<r;o++)n[o]=t(e[o]);return n}if(e instanceof Object){const n={};for(const o in e){const r=o;e.hasOwnProperty(r)&&(n[r]=t(e[r]))}return n}throw new Error("Unable to copy obj! Its type isn't supported.")},n.reshape=function(t,e){let n=0;return e&&t?function o(r){let l=[];if(r===e.length-1)l=(0,c.concat)(t.slice(n,n+e[r])),n+=e[r];else for(let t=0;t<e[r];t++)l.push(o(r+1));return l}(0):[]}},
144
144
  "ce7c8e2a4f": function _(o,t,l,r,e){r(),l.default=".js-plotly-plot .plotly,.js-plotly-plot .plotly div{direction:ltr;font-family:'Open Sans', verdana, arial, sans-serif;margin:0;padding:0;}.js-plotly-plot .plotly input,.js-plotly-plot .plotly button{font-family:'Open Sans', verdana, arial, sans-serif;}.js-plotly-plot .plotly input:focus,.js-plotly-plot .plotly button:focus{outline:none;}.js-plotly-plot .plotly a{text-decoration:none;}.js-plotly-plot .plotly a:hover{text-decoration:none;}.js-plotly-plot .plotly .crisp{shape-rendering:crispEdges;}.js-plotly-plot .plotly .user-select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.js-plotly-plot .plotly svg{overflow:hidden;}.js-plotly-plot .plotly svg a{fill:#447adb;}.js-plotly-plot .plotly svg a:hover{fill:#3c6dc5;}.js-plotly-plot .plotly .main-svg{position:absolute;top:0;left:0;pointer-events:none;}.js-plotly-plot .plotly .main-svg .draglayer{pointer-events:all;}.js-plotly-plot .plotly .cursor-default{cursor:default;}.js-plotly-plot .plotly .cursor-pointer{cursor:pointer;}.js-plotly-plot .plotly .cursor-crosshair{cursor:crosshair;}.js-plotly-plot .plotly .cursor-move{cursor:move;}.js-plotly-plot .plotly .cursor-col-resize{cursor:col-resize;}.js-plotly-plot .plotly .cursor-row-resize{cursor:row-resize;}.js-plotly-plot .plotly .cursor-ns-resize{cursor:ns-resize;}.js-plotly-plot .plotly .cursor-ew-resize{cursor:ew-resize;}.js-plotly-plot .plotly .cursor-sw-resize{cursor:sw-resize;}.js-plotly-plot .plotly .cursor-s-resize{cursor:s-resize;}.js-plotly-plot .plotly .cursor-se-resize{cursor:se-resize;}.js-plotly-plot .plotly .cursor-w-resize{cursor:w-resize;}.js-plotly-plot .plotly .cursor-e-resize{cursor:e-resize;}.js-plotly-plot .plotly .cursor-nw-resize{cursor:nw-resize;}.js-plotly-plot .plotly .cursor-n-resize{cursor:n-resize;}.js-plotly-plot .plotly .cursor-ne-resize{cursor:ne-resize;}.js-plotly-plot .plotly .cursor-grab{cursor:-webkit-grab;cursor:grab;}.js-plotly-plot .plotly .modebar{position:absolute;top:2px;right:2px;}.js-plotly-plot .plotly .ease-bg{-webkit-transition:background-color 0.3s ease 0s;-moz-transition:background-color 0.3s ease 0s;-ms-transition:background-color 0.3s ease 0s;-o-transition:background-color 0.3s ease 0s;transition:background-color 0.3s ease 0s;}.js-plotly-plot .plotly .modebar--hover > :not(.watermark){opacity:0;-webkit-transition:opacity 0.3s ease 0s;-moz-transition:opacity 0.3s ease 0s;-ms-transition:opacity 0.3s ease 0s;-o-transition:opacity 0.3s ease 0s;transition:opacity 0.3s ease 0s;}.js-plotly-plot .plotly:hover .modebar--hover .modebar-group{opacity:1;}.js-plotly-plot .plotly .modebar-group{float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;}.js-plotly-plot .plotly .modebar-btn{fill:var(--plotly-icon-color);position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;}.js-plotly-plot .plotly .modebar-btn.active{fill:var(--plotly-active-icon-color);}.js-plotly-plot .plotly .modebar-btn svg{position:relative;top:2px;}.js-plotly-plot .plotly .modebar.vertical{display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;}.js-plotly-plot .plotly .modebar.vertical svg{top:-1px;}.js-plotly-plot .plotly .modebar.vertical .modebar-group{display:block;float:none;padding-left:0px;padding-bottom:8px;}.js-plotly-plot .plotly .modebar.vertical .modebar-group .modebar-btn{display:block;text-align:center;}.js-plotly-plot .plotly [data-title]{}.js-plotly-plot .plotly [data-title]:before,.js-plotly-plot .plotly [data-title]:after{position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;}.js-plotly-plot .plotly [data-title]:hover:before,.js-plotly-plot .plotly [data-title]:hover:after{display:block;opacity:1;}.js-plotly-plot .plotly [data-title]:before{content:'';position:absolute;background:transparent;border:6px solid transparent;z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;}.js-plotly-plot .plotly [data-title]:after{content:attr(data-title);background:#69738a;color:white;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;}.js-plotly-plot .plotly .vertical [data-title]:before,.js-plotly-plot .plotly .vertical [data-title]:after{top:0%;right:200%;}.js-plotly-plot .plotly .vertical [data-title]:before{border:6px solid transparent;border-left-color:#69738a;margin-top:8px;margin-right:-30px;}.plotly-notifier{font-family:'Open Sans', verdana, arial, sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;}.plotly-notifier p{margin:0;}.plotly-notifier .notifier-note{min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140, 151, 175, 0.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;}.plotly-notifier .notifier-close{color:#fff;opacity:0.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;}.plotly-notifier .notifier-close:hover{color:#444;text-decoration:none;cursor:pointer;}"},
145
- "aded75e266": function _(e,s,t,o,l){var i;o();const r=e("@bokehjs/core/dom"),a=e("73d6aee8f5");class h extends a.HTMLBoxView{connect_signals(){super.connect_signals();const{width:e,height:s,height_policy:t,width_policy:o,sizing_mode:l,active:i,bar_color:r,css_classes:a,value:h,max:n}=this.model.properties;this.on_change([e,s,t,o,l],(()=>this.render())),this.on_change([i,r,a],(()=>this.setCSS())),this.on_change(h,(()=>this.setValue())),this.on_change(n,(()=>this.setMax()))}render(){super.render();const e={...this.model.styles,display:"inline-block"};this.progressEl=document.createElement("progress"),this.setValue(),this.setMax(),this.setCSS();for(const s in e)this.progressEl.style.setProperty(s,e[s]);this.shadow_el.appendChild(this.progressEl)}stylesheets(){const e=super.stylesheets();for(const s of this.model.css)e.push(new r.ImportedStyleSheet(s));return e}setCSS(){let e=`${this.model.css_classes.join(" ")} ${this.model.bar_color}`;this.model.active&&(e=`${e} active`),this.progressEl.className=e}setValue(){null==this.model.value?this.progressEl.value=0:this.model.value>=0?this.progressEl.value=this.model.value:this.model.value<0&&this.progressEl.removeAttribute("value")}setMax(){null!=this.model.max&&(this.progressEl.max=this.model.max)}}t.ProgressView=h,h.__name__="ProgressView";class n extends a.HTMLBox{constructor(e){super(e)}}t.Progress=n,i=n,n.__name__="Progress",n.__module__="panel.models.widgets",i.prototype.default_view=h,i.define((({Any:e,List:s,Bool:t,Float:o,Str:l})=>({active:[t,!0],bar_color:[l,"primary"],css:[s(l),[]],max:[o,100],value:[e,null]})))},
146
- "c72e00086f": function _(e,t,i,l,o){var s;l();const n=e("@bokehjs/core/dom"),a=e("73d6aee8f5");class d extends a.HTMLBoxView{connect_signals(){super.connect_signals();const{disabled:e,visible:t,text:i,mode:l,toolbar:o,placeholder:s}=this.model.properties;this.on_change(e,(()=>{this.quill.enable(!this.model.disabled)})),this.on_change(t,(()=>{this.model.visible&&(this.container.style.visibility="visible")})),this.on_change(i,(()=>{this._editing||(this._editing=!0,this.quill.enable(!1),this.quill.setContents([]),this.quill.clipboard.dangerouslyPasteHTML(this.model.text),this.quill.enable(!this.model.disabled),this._editing=!1)})),this.on_change(s,(()=>{this.quill.root.setAttribute("data-placeholder",this.model.placeholder)})),this.on_change([l,o],(()=>{this.render(),this._layout_toolbar()}))}_layout_toolbar(){if(null==this._toolbar)this.el.style.removeProperty("padding-top");else{const e=this._toolbar.getBoundingClientRect().height+1;this.el.style.paddingTop=`${e}px`,this._toolbar.style.marginTop=-e+"px"}}render(){super.render(),this.container=(0,n.div)({style:"visibility: hidden;"}),this.shadow_el.appendChild(this.container);const e="bubble"===this.model.mode?"bubble":"snow";this.watch_stylesheets(),this.quill=new window.Quill(this.container,{modules:{toolbar:this.model.toolbar},readOnly:!0,placeholder:this.model.placeholder,theme:e});const t=!!document.createElement("div").attachShadow({mode:"open"}).getSelection;this.quill.selection.hasFocus=()=>this.quill.root.getRootNode().activeElement===this.quill.root,this.quill.selection.getNativeRange=()=>{const e=(e=>{try{if(t)return e.getSelection().getRangeAt(0);{const t=window.getSelection();return t.getComposedRanges?t.getComposedRanges(e)[0]:t.getRangeAt(0)}}catch{return null}})(this.quill.root.getRootNode());return e?this.quill.selection.normalizeNative(e):null},this.quill.selection.setNativeRange=(e,t)=>{let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t;const o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(null!=e&&(null==this.quill.selection.root.parentNode||null==e.parentNode||null==i.parentNode))return;const s=document.getSelection();if(null!=s)if(null!=e){this.quill.selection.hasFocus()||this.quill.selection.root.focus();const n=(this.quill.selection.getNativeRange()||{}).native;(null==n||o||e!==n.startContainer||t!==n.startOffset||i!==n.endContainer||l!==n.endOffset)&&("BR"==e.tagName&&(t=Array.prototype.indexOf.call(e.parentNode?.childNodes??[],e),e=e.parentNode),"BR"==i.tagName&&(l=Array.prototype.indexOf(i.parentNode?.childNodes??[],i),i=i.parentNode),s.setBaseAndExtent(e,t,i,l))}else s.removeAllRanges(),this.quill.selection.root.blur(),document.body.focus()},this._editor=this.shadow_el.querySelector(".ql-editor"),this._toolbar=this.shadow_el.querySelector(".ql-toolbar");const i=this.quill.clipboard.convert(this.model.text);this.quill.setContents(i),this.quill.on("text-change",(()=>{this._editing||(this._editing=!0,this.model.text=this._editor.innerHTML,this._editing=!1)})),this.model.disabled||this.quill.enable(!this.model.disabled),document.addEventListener("selectionchange",((...e)=>{this.quill.selection.update()}))}style_redraw(){this.model.visible&&(this.container.style.visibility="visible");const e=this.quill.clipboard.convert(this.model.text);this.quill.setContents(e),this.invalidate_layout()}after_layout(){super.after_layout(),this._layout_toolbar()}}i.QuillInputView=d,d.__name__="QuillInputView";class h extends a.HTMLBox{constructor(e){super(e)}}i.QuillInput=h,s=h,h.__name__="QuillInput",h.__module__="panel.models.quill",s.prototype.default_view=d,s.define((({Any:e,Str:t})=>({mode:[t,"toolbar"],placeholder:[t,""],text:[t,""],toolbar:[e,null]}))),s.override({height:300})},
145
+ "aded75e266": function _(e,s,t,o,l){var i;o();const r=e("@bokehjs/core/dom"),a=e("c37096b5ea");class h extends a.HTMLBoxView{connect_signals(){super.connect_signals();const{width:e,height:s,height_policy:t,width_policy:o,sizing_mode:l,active:i,bar_color:r,css_classes:a,value:h,max:n}=this.model.properties;this.on_change([e,s,t,o,l],(()=>this.render())),this.on_change([i,r,a],(()=>this.setCSS())),this.on_change(h,(()=>this.setValue())),this.on_change(n,(()=>this.setMax()))}render(){super.render();const e={...this.model.styles,display:"inline-block"};this.progressEl=document.createElement("progress"),this.setValue(),this.setMax(),this.setCSS();for(const s in e)this.progressEl.style.setProperty(s,e[s]);this.shadow_el.appendChild(this.progressEl)}stylesheets(){const e=super.stylesheets();for(const s of this.model.css)e.push(new r.ImportedStyleSheet(s));return e}setCSS(){let e=`${this.model.css_classes.join(" ")} ${this.model.bar_color}`;this.model.active&&(e=`${e} active`),this.progressEl.className=e}setValue(){null==this.model.value?this.progressEl.value=0:this.model.value>=0?this.progressEl.value=this.model.value:this.model.value<0&&this.progressEl.removeAttribute("value")}setMax(){null!=this.model.max&&(this.progressEl.max=this.model.max)}}t.ProgressView=h,h.__name__="ProgressView";class n extends a.HTMLBox{constructor(e){super(e)}}t.Progress=n,i=n,n.__name__="Progress",n.__module__="panel.models.widgets",i.prototype.default_view=h,i.define((({Any:e,List:s,Bool:t,Float:o,Str:l})=>({active:[t,!0],bar_color:[l,"primary"],css:[s(l),[]],max:[o,100],value:[e,null]})))},
146
+ "c72e00086f": function _(e,t,i,l,o){var s;l();const n=e("@bokehjs/core/dom"),a=e("c37096b5ea");class d extends a.HTMLBoxView{connect_signals(){super.connect_signals();const{disabled:e,visible:t,text:i,mode:l,toolbar:o,placeholder:s}=this.model.properties;this.on_change(e,(()=>{this.quill.enable(!this.model.disabled)})),this.on_change(t,(()=>{this.model.visible&&(this.container.style.visibility="visible")})),this.on_change(i,(()=>{this._editing||(this._editing=!0,this.quill.enable(!1),this.quill.setContents([]),this.quill.clipboard.dangerouslyPasteHTML(this.model.text),this.quill.enable(!this.model.disabled),this._editing=!1)})),this.on_change(s,(()=>{this.quill.root.setAttribute("data-placeholder",this.model.placeholder)})),this.on_change([l,o],(()=>{this.render(),this._layout_toolbar()}))}_layout_toolbar(){if(null==this._toolbar)this.el.style.removeProperty("padding-top");else{const e=this._toolbar.getBoundingClientRect().height+1;this.el.style.paddingTop=`${e}px`,this._toolbar.style.marginTop=-e+"px"}}render(){super.render(),this.container=(0,n.div)({style:"visibility: hidden;"}),this.shadow_el.appendChild(this.container);const e="bubble"===this.model.mode?"bubble":"snow";this.watch_stylesheets(),this.quill=new window.Quill(this.container,{modules:{toolbar:this.model.toolbar},readOnly:!0,placeholder:this.model.placeholder,theme:e});const t=!!document.createElement("div").attachShadow({mode:"open"}).getSelection;this.quill.selection.hasFocus=()=>this.quill.root.getRootNode().activeElement===this.quill.root,this.quill.selection.getNativeRange=()=>{const e=(e=>{try{if(t)return e.getSelection().getRangeAt(0);{const t=window.getSelection();return t.getComposedRanges?t.getComposedRanges(e)[0]:t.getRangeAt(0)}}catch{return null}})(this.quill.root.getRootNode());return e?this.quill.selection.normalizeNative(e):null},this.quill.selection.setNativeRange=(e,t)=>{let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t;const o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(null!=e&&(null==this.quill.selection.root.parentNode||null==e.parentNode||null==i.parentNode))return;const s=document.getSelection();if(null!=s)if(null!=e){this.quill.selection.hasFocus()||this.quill.selection.root.focus();const n=(this.quill.selection.getNativeRange()||{}).native;(null==n||o||e!==n.startContainer||t!==n.startOffset||i!==n.endContainer||l!==n.endOffset)&&("BR"==e.tagName&&(t=Array.prototype.indexOf.call(e.parentNode?.childNodes??[],e),e=e.parentNode),"BR"==i.tagName&&(l=Array.prototype.indexOf(i.parentNode?.childNodes??[],i),i=i.parentNode),s.setBaseAndExtent(e,t,i,l))}else s.removeAllRanges(),this.quill.selection.root.blur(),document.body.focus()},this._editor=this.shadow_el.querySelector(".ql-editor"),this._toolbar=this.shadow_el.querySelector(".ql-toolbar");const i=this.quill.clipboard.convert(this.model.text);this.quill.setContents(i),this.quill.on("text-change",(()=>{this._editing||(this._editing=!0,this.model.text=this._editor.innerHTML,this._editing=!1)})),this.model.disabled||this.quill.enable(!this.model.disabled),document.addEventListener("selectionchange",((...e)=>{this.quill.selection.update()}))}style_redraw(){this.model.visible&&(this.container.style.visibility="visible");const e=this.quill.clipboard.convert(this.model.text);this.quill.setContents(e),this.invalidate_layout()}after_layout(){super.after_layout(),this._layout_toolbar()}}i.QuillInputView=d,d.__name__="QuillInputView";class h extends a.HTMLBox{constructor(e){super(e)}}i.QuillInput=h,s=h,h.__name__="QuillInput",h.__module__="panel.models.quill",s.prototype.default_view=d,s.define((({Any:e,Str:t})=>({mode:[t,"toolbar"],placeholder:[t,""],text:[t,""],toolbar:[e,null]}))),s.override({height:300})},
147
147
  "25e2d7c208": function _(t,o,e,i,l){var s;i();const n=t("@bokehjs/models/ui/tooltip"),a=t("@bokehjs/core/build_views"),p=t("@bokehjs/models/widgets/radio_button_group");class u extends p.RadioButtonGroupView{*children(){yield*super.children(),null!=this.tooltip&&(yield this.tooltip)}connect_signals(){super.connect_signals();const{tooltip:t}=this.model.properties;this.on_change(t,(()=>this.update_tooltip()))}async update_tooltip(){null!=this.tooltip&&this.tooltip.remove();const{tooltip:t}=this.model;null!=t&&(this.tooltip=await(0,a.build_view)(t,{parent:this}))}async lazy_initialize(){await super.lazy_initialize();const{tooltip:t}=this.model;null!=t&&(this.tooltip=await(0,a.build_view)(t,{parent:this}))}remove(){this.tooltip?.remove(),super.remove()}render(){super.render();const t=t=>{this.tooltip?.model.setv({visible:t})};let o;this.el.addEventListener("mouseenter",(()=>{o=setTimeout((()=>t(!0)),this.model.tooltip_delay)})),this.el.addEventListener("mouseleave",(()=>{clearTimeout(o),t(!1)}))}}e.RadioButtonGroupView=u,u.__name__="RadioButtonGroupView";class d extends p.RadioButtonGroup{constructor(t){super(t)}}e.RadioButtonGroup=d,s=d,d.__name__="RadioButtonGroup",d.__module__="panel.models.widgets",s.prototype.default_view=u,s.define((({Nullable:t,Ref:o,Float:e})=>({tooltip:[t(o(n.Tooltip)),null],tooltip_delay:[e,500]})))},
148
- "6cfc3f348e": function _(e,t,n,s,i){var o;s();const l=e("bfac992a64"),r=e("d952f1d8b6"),c=e("b3f51db71c"),d=e("@bokehjs/core/dom"),a=e("@bokehjs/core/util/types"),h=e("be689f0377"),_=e("2cc1a33000"),u=e("89d2d3667a"),p=e("73d6aee8f5");function m(e,t,n){const s={};for(const e of n)s[`{${e}}`]="(.*)";const i=[];let o=`^${l=e,l.replace(/[-\/\\^$*+?.()|[\]]/g,"\\$&")}$`;var l;let r,c,d;for(const t in s)if(c=e.indexOf(t),c>-1){for(o=o.replace(t,s[t]),d={index:c,token:t},r=0;r<i.length&&i[r].index<c;r++);r<i.length?i.splice(r,0,d):i.push(d)}o=o.replace(/\{[^{}]+\}/g,".*");const a=new RegExp(o).exec(t);let h=null;if(a)for(h={},r=0;r<i.length;r++)h[i[r].token.slice(1,-1)]=a[r+1];return h}function f(e,t){let n=e.getElementById(t);return null==n&&(n=document.getElementById(t)),n}class v extends p.HTMLBoxView{constructor(){super(...arguments),this._parent=null,this._changing=!1,this._event_listeners={},this._mutation_observers=[],this._script_fns={},this._state={}}initialize(){super.initialize(),this.html=(0,u.htmlDecode)(this.model.html)||this.model.html}_recursive_connect(e,t,n){for(const s in e.properties){let i;i=n.length?`${n}.${s}`:s;const o=e[s];null!=o&&(null!=o.properties&&this._recursive_connect(o,!0,i),this.on_change(e.properties[s],(()=>{if(t)for(const t in this.model.children)if(this.model.children[t]==s){let n=e[s];return(0,a.isArray)(n)||(n=[n]),void this._render_node(t,n)}this._changing||this._update(i)})))}}connect_signals(){super.connect_signals();const{children:e,events:t}=this.model.properties;this.on_change(e,(async()=>{this.html=(0,u.htmlDecode)(this.model.html)||this.model.html,await this.build_child_views(),this.invalidate_render()})),this._recursive_connect(this.model.data,!0,""),this.on_change(t,(()=>{this._remove_event_listeners(),this._setup_event_listeners()})),this.connect_scripts()}connect_scripts(){const e=this.model.data.id;for(const t in this.model.scripts){const n=this.model.scripts[t];let s,i=this.model.data;if(t.indexOf(".")>=0){const e=t.split(".");s=e[e.length-1];for(const t of e.slice(0,-1))i=i[t]}else s=t;for(const o of n){const n=(0,u.htmlDecode)(o)||o,l=this._render_script(n,e);this._script_fns[t]=l;const r=i.properties[s];if(null==r)continue;const c=this.model.event_params.includes(t);this.on_change(r,(()=>{this._changing||c&&!i[t]||(this.run_script(t),c&&i.setv({[t]:!1}))}))}}}run_script(e,t=!1){const n=this._script_fns[e];if(void 0===n)return void(t||console.log(`Script '${e}' could not be found.`));const s={get_records:(e,t)=>this.get_records(e,t)};for(const e in this._script_fns)s[e]=()=>this.run_script(e);return n(this.model,this.model.data,this._state,this,(e=>this.run_script(e)),s)}get_records(e,t=!0){return(0,h.dict_to_records)(this.model.data[e],t)}disconnect_signals(){super.disconnect_signals(),this._remove_event_listeners(),this._remove_mutation_observers()}remove(){this.run_script("remove",!0),super.remove()}get child_models(){const e=[];for(const t in this.model.children)for(const n of this.model.children[t])(0,a.isString)(n)||e.push(n);return e}_after_layout(){this.run_script("after_layout",!0)}render(){this.empty(),this._update_stylesheets(),this._update_css_classes(),this._apply_styles(),this._apply_visible(),this.container=(0,d.div)({style:"display: contents;"}),this.shadow_el.append(this.container),this._update(),this._render_children(),this._setup_mutation_observers(),this._setup_event_listeners(),this.run_script("render",!0)}_send_event(e,t,n){const s=(0,_.serializeEvent)(n);s.type=t;for(const e in s)void 0===s[e]&&delete s[e];this.model.trigger_event(new u.DOMEvent(e,s))}_render_child(e,t){const n=this._child_views.get(e);null==n?t.innerHTML=(0,u.htmlDecode)(e)||e:(t.appendChild(n.el),n.render(),n.after_render())}_render_node(e,t){const n=this.model.data.id;if(this.model.looped.indexOf(e)>-1)for(let s=0;s<t.length;s++){const i=f(this.shadow_el,`${e}-${s}-${n}`);null!=i?this._render_child(t[s],i):console.warn(`DOM node '${e}-${s}-${n}' could not be found. Cannot render children.`)}else{const s=f(this.shadow_el,`${e}-${n}`);if(null==s)return void console.warn(`DOM node '${e}-${n}' could not be found. Cannot render children.`);for(const e of t)this._render_child(e,s)}}_render_children(){for(const e in this.model.children){let t=this.model.children[e];(0,a.isString)(t)&&(t=this.model.data[t],(0,a.isArray)(t)||(t=[t])),this._render_node(e,t)}}_render_html(e,t={}){let n=e.replace(/[`]/g,"\\$&"),s="";const i=[];for(const e in this.model.callbacks)for(const t of this.model.callbacks[e]){const[o,l]=t;let r;if(n=n.replaceAll(`\${${l}}`,`$--{${l}}`),l.startsWith("script(")){const e=l.replace("('","_").replace("')","").replace('("',"_").replace('")',"").replace("-","_"),t=e.replaceAll("script_","");n=n.replaceAll(l,e),r=`\n const ${e} = (event) => {\n view._state.event = event\n view.run_script("${t}")\n delete view._state.event\n }\n `}else r=`\n const ${l} = (event) => {\n let elname = "${e}"\n if (RegExp("{{.*loop.index.*}}").test(elname)) {\n const pattern = RegExp(elname.replace(/{{(.+?)}}/g, String.fromCharCode(92) + "d+"))\n for (const p of event.path) {\n if (pattern.exec(p.id) != null) {\n elname = p.id.split("-").slice(null, -1).join("-")\n break\n }\n }\n }\n view._send_event(elname, "${o}", event)\n }\n `;i.indexOf(l)>-1||(i.push(l),s+=r)}return n=n.replaceAll("${model.","$-{model.").replaceAll("${","${data.").replaceAll("$-{model.","${model.").replaceAll("$--{","${"),new Function("view, model, data, state, html, useCallback",`${s}return html\`${n}\`;`)(this,this.model,this.model.data,t,c.html,r.useCallback)}_render_script(e,t){const n=[];for(const s of this.model.nodes){const i=s.replace("-","_");if(-1===e.indexOf(i))continue;const o=`\n let ${i} = view.shadow_el.getElementById('${s}-${t}')\n if (${i} == null)\n ${i} = document.getElementById('${s}-${t}')\n if (${i} == null) {\n console.warn("DOM node '${s}' could not be found. Cannot execute callback.")\n return\n }\n `;n.push(o)}return n.push("\n let event = null\n if (state.event !== undefined) {\n event = state.event\n }\n "),n.push(e),new Function("model, data, state, view, script, self",n.join("\n"))}_remove_mutation_observers(){for(const e of this._mutation_observers)e.disconnect();this._mutation_observers=[]}_setup_mutation_observers(){const e=this.model.data.id;for(const t in this.model.attrs){const n=f(this.shadow_el,`${t}-${e}`);if(null==n){console.warn(`DOM node '${t}-${e}' could not be found. Cannot set up MutationObserver.`);continue}const s=new MutationObserver((()=>{this._update_model(n,t)}));s.observe(n,{attributes:!0}),this._mutation_observers.push(s)}}_remove_event_listeners(){const e=this.model.data.id;for(const t in this._event_listeners){const n=f(this.shadow_el,`${t}-${e}`);if(null!=n)for(const e in this._event_listeners[t]){const s=this._event_listeners[t][e];n.removeEventListener(e,s)}}this._event_listeners={}}_setup_event_listeners(){const e=this.model.data.id;for(const t in this.model.events){const n=f(this.shadow_el,`${t}-${e}`);if(null==n){console.warn(`DOM node '${t}-${e}' could not be found. Cannot subscribe to DOM events.`);continue}const s=this.model.events[t];for(const e in s){const i=i=>{this._send_event(t,e,i),t in this.model.attrs&&s[e]&&this._update_model(n,t)};n.addEventListener(e,i),t in this._event_listeners||(this._event_listeners[t]={}),this._event_listeners[t][e]=i}}}_update(e=null){if(null==e||this.html.indexOf(`\${${e}}`)>-1){const e=this._render_html(this.html);if(null==e)return;try{this._changing=!0,(0,l.render)(e,this.container)}finally{this._changing=!1}}}_update_model(e,t){if(this._changing)return;const n={};for(const s of this.model.attrs[t]){const[i,o,l]=s;let r="children"===i?e.innerHTML:e[i];if(1===o.length&&`{${o[0]}}`===l)n[o[0]]=r;else if((0,a.isString)(r))if(r=m(l,r,o),null==r)console.warn(`Could not resolve parameters in ${t} element ${i} attribute value ${r}.`);else for(const e in r)void 0===r[e]?console.warn(`Could not resolve ${e} in ${t} element ${i} attribute value ${r}.`):n[e]=r[e]}try{this._changing=!0,this.model.data.setv(function(e){const t={};for(const n in e){let s=e[n];(0,a.isString)(s)&&(""===s||"NaN"!==s&&isNaN(Number(s))?"false"!==s&&"true"!==s||(s="true"===s):s=Number(s)),t[n]=s}return t}(n))}catch{console.log("Could not serialize",n)}finally{this._changing=!1}}}n.ReactiveHTMLView=v,v.__name__="ReactiveHTMLView";class $ extends p.HTMLBox{constructor(e){super(e)}}n.ReactiveHTML=$,o=$,$.__name__="ReactiveHTML",$.__module__="panel.models.reactive_html",o.prototype.default_view=v,o.define((({List:e,Any:t,Str:n})=>({attrs:[t,{}],callbacks:[t,{}],children:[t,{}],data:[t],event_params:[e(n),[]],events:[t,{}],html:[n,""],looped:[e(n),[]],nodes:[e(n),[]],scripts:[t,{}]})))},
148
+ "4c1a1063b3": function _(e,t,n,s,o){var i;s();const r=e("bfac992a64"),l=e("d952f1d8b6"),c=e("b3f51db71c"),a=e("@bokehjs/core/dom"),d=e("@bokehjs/core/util/assert"),_=e("@bokehjs/core/util/iterator"),h=e("@bokehjs/core/util/types"),u=e("@bokehjs/core/util/object"),f=e("@bokehjs/model"),p=e("@bokehjs/models/ui/ui_element"),m=e("be689f0377"),v=e("2cc1a33000"),g=e("9cfeb137e6"),$=e("c37096b5ea");function b(e,t,n){const s=new Map;for(const e of n)s.set(`{${e}}`,"(.*)");const o=[];let i=`^${r=e,r.replace(/[-\/\\^$*+?.()|[\]]/g,"\\$&")}$`;var r;let l,c,a;for(const[t,n]of s)if(c=e.indexOf(t),c>-1){for(i=i.replace(t,n),a={index:c,token:t},l=0;l<o.length&&o[l].index<c;l++);l<o.length?o.splice(l,0,a):o.push(a)}i=i.replace(/\{[^{}]+\}/g,".*");const d=new RegExp(i).exec(t);if(null!=d){const e={};for(l=0;l<o.length;l++)e[o[l].token.slice(1,-1)]=d[l+1];return e}return null}function w(e,t){let n=e.getElementById(t);return null==n&&(n=document.getElementById(t)),n}class y extends $.HTMLBoxView{constructor(){super(...arguments),this._changing=!1,this._event_listeners=new Map,this._mutation_observers=[],this._script_fns=new Map,this._state={}}initialize(){super.initialize(),this.html=(0,g.html_decode)(this.model.html)??this.model.html}_recursive_connect(e,t,n){for(const s of e){const e=0!=n.length?`${n}.${s.attr}`:s.attr,o=s.get_value();null!=o&&(o instanceof f.Model&&this._recursive_connect(o,!0,e),this.on_change(s,(()=>{if(t)for(const[e,t]of(0,u.entries)(this.model.children))if(t==s.attr){let t=s.get_value();return(0,h.isArray)(t)||(t=[t]),void this._render_node(e,t)}this._changing||this._update(e)})))}}connect_signals(){super.connect_signals();const{children:e,events:t}=this.model.properties;this.on_change(e,(async()=>{this.html=(0,g.html_decode)(this.model.html)??this.model.html,await this.build_child_views(),this.invalidate_render()})),this._recursive_connect(this.model.data,!0,""),this.on_change(t,(()=>{this._remove_event_listeners(),this._setup_event_listeners()})),this.connect_scripts()}connect_scripts(){const{id:e}=this.model.data;for(const[t,n]of(0,u.entries)(this.model.scripts)){let s,o=this.model.data;if(t.includes(".")){const e=t.split(".");s=e[e.length-1];for(const t of e.slice(0,-1)){const e=o.property(t).get_value();(0,d.assert)(e instanceof f.Model),o=e}}else s=t;for(const i of n){const n=(0,g.html_decode)(i)??i,r=this._render_script(n,e);if(this._script_fns.set(t,r),!(s in o.properties))continue;const l=o.property(s),c=this.model.event_params.includes(t);this.on_change(l,(()=>{this._changing||c&&!o.property(t).get_value()||(this.run_script(t),c&&o.setv({[t]:!1}))}))}}}run_script(e,t=!1){const n=this._script_fns.get(e);if(void 0===n)return void(t||console.log(`Script '${e}' could not be found.`));const s={get_records(e,t){return this.get_records(e,t)}};for(const e of this._script_fns.keys())s[e]=()=>this.run_script(e);return n(this.model,this.model.data,this._state,this,(e=>this.run_script(e)),s)}get_records(e,t=!0){return(0,m.dict_to_records)(this.model.data.property(e),t)}disconnect_signals(){super.disconnect_signals(),this._remove_event_listeners(),this._remove_mutation_observers()}remove(){this.run_script("remove",!0),super.remove()}get child_models(){const e=[];for(const[t,n]of(0,u.entries)(this.model.children))for(const t of n)(0,h.isString)(t)||e.push(t);return e}_after_layout(){this.run_script("after_layout",!0)}render(){this.empty(),this._update_stylesheets(),this._update_css_classes(),this._apply_styles(),this._apply_visible(),this.container=(0,a.div)({style:"display: contents;"}),this.shadow_el.append(this.container),this._update(),this._render_children(),this._setup_mutation_observers(),this._setup_event_listeners(),this.run_script("render",!0)}_send_event(e,t,n){const s=(0,v.serializeEvent)(n);s.type=t;for(const e in s)void 0===s[e]&&delete s[e];this.model.trigger_event(new g.DOMEvent(e,s))}_render_child(e,t){if((0,h.isString)(e))t.innerHTML=(0,g.html_decode)(e)??e;else{const n=this._child_views.get(e);null==n?t.innerHTML="":(t.appendChild(n.el),n.render(),n.after_render())}}_render_node(e,t){const{id:n}=this.model.data;if(this.model.looped.includes(e))for(const[s,o]of(0,_.enumerate)(t)){const t=`${e}-${o}-${n}`,i=w(this.shadow_el,t);null!=i?this._render_child(s,i):console.warn(`DOM node '${t}' could not be found. Cannot render children.`)}else{const s=`${e}-${n}`,o=w(this.shadow_el,s);if(null==o)return void console.warn(`DOM node '${s}' could not be found. Cannot render children.`);for(const e of t)this._render_child(e,o)}}_render_children(){for(const[e,t]of(0,u.entries)(this.model.children)){const n=(()=>{if(!(0,h.isString)(t))return t;{const e=this.model.data.property(t).get_value();if((0,h.isString)(e))return[e];if((0,h.isArray)(e))return e;(0,d.unreachable)()}})();this._render_node(e,n)}}_render_html(e,t={}){let n=e.replace(/[`]/g,"\\$&"),s="";const o=[];for(const[e,t]of(0,u.entries)(this.model.callbacks))for(const[i,r]of t){let t;if(n=n.replaceAll(`\${${r}}`,`$--{${r}}`),r.startsWith("script(")){const e=r.replace("('","_").replace("')","").replace('("',"_").replace('")',"").replace("-","_"),s=e.replaceAll("script_","");n=n.replaceAll(r,e),t=`\n const ${e} = (event) => {\n view._state.event = event\n view.run_script("${s}")\n delete view._state.event\n }\n `}else t=`\n const ${r} = (event) => {\n let elname = "${e}"\n if (RegExp("{{.*loop.index.*}}").test(elname)) {\n const pattern = RegExp(elname.replace(/{{(.+?)}}/g, String.fromCharCode(92) + "d+"))\n for (const p of event.path) {\n if (pattern.exec(p.id) != null) {\n elname = p.id.split("-").slice(null, -1).join("-")\n break\n }\n }\n }\n view._send_event(elname, "${i}", event)\n }\n `;o.indexOf(r)>-1||(o.push(r),s+=t)}return n=n.replaceAll("${model.","$-{model.").replaceAll("${","${data.").replaceAll("$-{model.","${model.").replaceAll("$--{","${"),new Function("view, model, data, state, html, useCallback",`${s}return html\`${n}\`;`)(this,this.model,this.model.data,t,c.html,l.useCallback)}_render_script(e,t){const n=[];for(const s of this.model.nodes){const o=s.replace("-","_");if(!e.includes(o))continue;const i=`\n let ${o} = view.shadow_el.getElementById('${s}-${t}')\n if (${o} == null) {\n ${o} = document.getElementById('${s}-${t}')\n }\n if (${o} == null) {\n console.warn("DOM node '${s}' could not be found. Cannot execute callback.")\n return\n }\n `;n.push(i)}return n.push("\n let event = null\n if (state.event !== undefined) {\n event = state.event\n }\n "),n.push(e),new Function("model, data, state, view, script, self",n.join("\n"))}_remove_mutation_observers(){for(const e of this._mutation_observers)e.disconnect();this._mutation_observers=[]}_setup_mutation_observers(){const{id:e}=this.model.data;for(const t of(0,u.keys)(this.model.attrs)){const n=w(this.shadow_el,`${t}-${e}`);if(null==n){console.warn(`DOM node '${t}-${e}' could not be found. Cannot set up MutationObserver.`);continue}const s=new MutationObserver((()=>{this._update_model(n,t)}));s.observe(n,{attributes:!0}),this._mutation_observers.push(s)}}_remove_event_listeners(){const{id:e}=this.model.data;for(const[t,n]of this._event_listeners){const s=w(this.shadow_el,`${t}-${e}`);if(null!=s)for(const[e,t]of n)s.removeEventListener(e,t)}this._event_listeners.clear()}_setup_event_listeners(){const{id:e}=this.model.data,t=(0,u.dict)(this.model.attrs);for(const[n,s]of(0,u.entries)(this.model.events)){const o=w(this.shadow_el,`${n}-${e}`);if(null!=o)for(const[e,i]of(0,u.entries)(s)){const s=s=>{this._send_event(n,e,s),t.has(n)&&i&&this._update_model(o,n)};o.addEventListener(e,s);let r=this._event_listeners.get(n);void 0===r&&this._event_listeners.set(n,r=new Map),r.set(e,s)}else console.warn(`DOM node '${n}-${e}' could not be found. Cannot subscribe to DOM events.`)}}_update(e=null){if(null==e||this.html.includes(`\${${e}}`)){const e=this._render_html(this.html);if(null==e)return;try{this._changing=!0,(0,r.render)(e,this.container)}finally{this._changing=!1}}}_update_model(e,t){if(this._changing)return;const n=(0,u.dict)(this.model.attrs).get(t)??[],s={};for(const o of n){const[n,i,r]=o;let l="children"==n?e.innerHTML:e[n];if(1===i.length&&`{${i[0]}}`===r)s[i[0]]=l;else if((0,h.isString)(l))if(l=b(r,l,i),null==l)console.warn(`Could not resolve parameters in ${t} element ${n} attribute value ${l}.`);else for(const[e,o]of(0,u.entries)(l))void 0===o?console.warn(`Could not resolve ${e} in ${t} element ${n} attribute value ${l}.`):s[e]=o}try{this._changing=!0,this.model.data.setv(function(e){const t={};for(const[n,s]of(0,u.entries)(e)){const e=(()=>{if((0,h.isString)(s)){if(!(""===s||"NaN"!==s&&isNaN(Number(s))))return Number(s);if("false"===s||"true"===s)return"true"===s}return s})();t[n]=e}return t}(s))}catch{console.log("Could not serialize",s)}finally{this._changing=!1}}}n.ReactiveHTMLView=y,y.__name__="ReactiveHTMLView";class M extends $.HTMLBox{constructor(e){super(e)}}n.ReactiveHTML=M,i=M,M.__name__="ReactiveHTML",M.__module__="panel.models.reactive_html",i.prototype.default_view=y,i.define((({Bool:e,Str:t,List:n,Dict:s,Tuple:o,Or:i,Ref:r})=>({attrs:[s(n(o(t,n(t),t))),{}],callbacks:[s(n(o(t,t))),{}],children:[s(i(n(i(r(p.UIElement),t)),t)),{}],data:[r(f.Model)],event_params:[n(t),[]],events:[s(s(e)),{}],html:[t,""],looped:[n(t),[]],nodes:[n(t),[]],scripts:[s(n(t)),{}]})))},
149
149
  "bfac992a64": function _(e,n,t,_,o){_();var l,r,u,i,s,c,f,p,a={},d=[],h=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,v=Array.isArray;function y(e,n){for(var t in n)e[t]=n[t];return e}function m(e){var n=e.parentNode;n&&n.removeChild(e)}function g(e,n,t){var _,o,r,u={};for(r in n)"key"==r?_=n[r]:"ref"==r?o=n[r]:u[r]=n[r];if(arguments.length>2&&(u.children=arguments.length>3?l.call(arguments,2):t),"function"==typeof e&&null!=e.defaultProps)for(r in e.defaultProps)void 0===u[r]&&(u[r]=e.defaultProps[r]);return k(e,u,_,o,null)}function k(e,n,t,_,o){var l={type:e,props:n,key:t,ref:_,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:o??++u,__i:-1,__u:0};return null==o&&null!=r.vnode&&r.vnode(l),l}function b(e){return e.children}function C(e,n){this.props=e,this.context=n}function x(e,n){if(null==n)return e.__?x(e.__,e.__i+1):null;for(var t;n<e.__k.length;n++)if(null!=(t=e.__k[n])&&null!=t.__e)return t.__e;return"function"==typeof e.type?x(e):null}function P(e){var n,t;if(null!=(e=e.__)&&null!=e.__c){for(e.__e=e.__c.base=null,n=0;n<e.__k.length;n++)if(null!=(t=e.__k[n])&&null!=t.__e){e.__e=e.__c.base=t.__e;break}return P(e)}}function S(e){(!e.__d&&(e.__d=!0)&&i.push(e)&&!w.__r++||s!==r.debounceRendering)&&((s=r.debounceRendering)||c)(w)}function w(){var e,n,t,_,o,l,u,s,c;for(i.sort(f);e=i.shift();)e.__d&&(n=i.length,_=void 0,l=(o=(t=e).__v).__e,s=[],c=[],(u=t.__P)&&((_=y({},o)).__v=o.__v+1,r.vnode&&r.vnode(_),N(u,_,o,t.__n,void 0!==u.ownerSVGElement,32&o.__u?[l]:null,s,l??x(o),!!(32&o.__u),c),_.__.__k[_.__i]=_,A(s,_,c),_.__e!=l&&P(_)),i.length>n&&i.sort(f));w.__r=0}function E(e,n,t,_,o,l,r,u,i,s,c){var f,p,h,v,y,m=_&&_.__k||d,g=n.length;for(t.__d=i,D(t,n,m),i=t.__d,f=0;f<g;f++)null!=(h=t.__k[f])&&"boolean"!=typeof h&&"function"!=typeof h&&(p=-1===h.__i?a:m[h.__i]||a,h.__i=f,N(e,h,p,o,l,r,u,i,s,c),v=h.__e,h.ref&&p.ref!=h.ref&&(p.ref&&R(p.ref,null,h),c.push(h.ref,h.__c||v,h)),null==y&&null!=v&&(y=v),65536&h.__u||p.__k===h.__k?i=U(h,i,e):"function"==typeof h.type&&void 0!==h.__d?i=h.__d:v&&(i=v.nextSibling),h.__d=void 0,h.__u&=-196609);t.__d=i,t.__e=y}function D(e,n,t){var _,o,l,r,u,i=n.length,s=t.length,c=s,f=0;for(e.__k=[],_=0;_<i;_++)null!=(o=e.__k[_]=null==(o=n[_])||"boolean"==typeof o||"function"==typeof o?null:"string"==typeof o||"number"==typeof o||"bigint"==typeof o||o.constructor==String?k(null,o,null,null,o):v(o)?k(b,{children:o},null,null,null):void 0===o.constructor&&o.__b>0?k(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):o)?(o.__=e,o.__b=e.__b+1,u=T(o,t,r=_+f,c),o.__i=u,l=null,-1!==u&&(c--,(l=t[u])&&(l.__u|=131072)),null==l||null===l.__v?(-1==u&&f--,"function"!=typeof o.type&&(o.__u|=65536)):u!==r&&(u===r+1?f++:u>r?c>i-r?f+=u-r:f--:f=u<r&&u==r-1?u-r:0,u!==_+f&&(o.__u|=65536))):(l=t[_])&&null==l.key&&l.__e&&(l.__e==e.__d&&(e.__d=x(l)),$(l,l,!1),t[_]=null,c--);if(c)for(_=0;_<s;_++)null!=(l=t[_])&&0==(131072&l.__u)&&(l.__e==e.__d&&(e.__d=x(l)),$(l,l))}function U(e,n,t){var _,o;if("function"==typeof e.type){for(_=e.__k,o=0;_&&o<_.length;o++)_[o]&&(_[o].__=e,n=U(_[o],n,t));return n}return e.__e!=n&&(t.insertBefore(e.__e,n||null),n=e.__e),n&&n.nextSibling}function T(e,n,t,_){var o=e.key,l=e.type,r=t-1,u=t+1,i=n[t];if(null===i||i&&o==i.key&&l===i.type)return t;if(_>(null!=i&&0==(131072&i.__u)?1:0))for(;r>=0||u<n.length;){if(r>=0){if((i=n[r])&&0==(131072&i.__u)&&o==i.key&&l===i.type)return r;r--}if(u<n.length){if((i=n[u])&&0==(131072&i.__u)&&o==i.key&&l===i.type)return u;u++}}return-1}function W(e,n,t){"-"===n[0]?e.setProperty(n,t??""):e[n]=null==t?"":"number"!=typeof t||h.test(n)?t:t+"px"}function L(e,n,t,_,o){var l;e:if("style"===n)if("string"==typeof t)e.style.cssText=t;else{if("string"==typeof _&&(e.style.cssText=_=""),_)for(n in _)t&&n in t||W(e.style,n,"");if(t)for(n in t)_&&t[n]===_[n]||W(e.style,n,t[n])}else if("o"===n[0]&&"n"===n[1])l=n!==(n=n.replace(/(PointerCapture)$|Capture$/,"$1")),n=n.toLowerCase()in e?n.toLowerCase().slice(2):n.slice(2),e.l||(e.l={}),e.l[n+l]=t,t?_?t.u=_.u:(t.u=Date.now(),e.addEventListener(n,l?F:M,l)):e.removeEventListener(n,l?F:M,l);else{if(o)n=n.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!==n&&"height"!==n&&"href"!==n&&"list"!==n&&"form"!==n&&"tabIndex"!==n&&"download"!==n&&"rowSpan"!==n&&"colSpan"!==n&&"role"!==n&&n in e)try{e[n]=t??"";break e}catch(e){}"function"==typeof t||(null==t||!1===t&&"-"!==n[4]?e.removeAttribute(n):e.setAttribute(n,t))}}function M(e){var n=this.l[e.type+!1];if(e.t){if(e.t<=n.u)return}else e.t=Date.now();return n(r.event?r.event(e):e)}function F(e){return this.l[e.type+!0](r.event?r.event(e):e)}function N(e,n,t,_,o,l,u,i,s,c){var f,p,a,d,h,m,g,k,x,P,S,w,D,U,T,W=n.type;if(void 0!==n.constructor)return null;128&t.__u&&(s=!!(32&t.__u),l=[i=n.__e=t.__e]),(f=r.__b)&&f(n);e:if("function"==typeof W)try{if(k=n.props,x=(f=W.contextType)&&_[f.__c],P=f?x?x.props.value:f.__:_,t.__c?g=(p=n.__c=t.__c).__=p.__E:("prototype"in W&&W.prototype.render?n.__c=p=new W(k,P):(n.__c=p=new C(k,P),p.constructor=W,p.render=B),x&&x.sub(p),p.props=k,p.state||(p.state={}),p.context=P,p.__n=_,a=p.__d=!0,p.__h=[],p._sb=[]),null==p.__s&&(p.__s=p.state),null!=W.getDerivedStateFromProps&&(p.__s==p.state&&(p.__s=y({},p.__s)),y(p.__s,W.getDerivedStateFromProps(k,p.__s))),d=p.props,h=p.state,p.__v=n,a)null==W.getDerivedStateFromProps&&null!=p.componentWillMount&&p.componentWillMount(),null!=p.componentDidMount&&p.__h.push(p.componentDidMount);else{if(null==W.getDerivedStateFromProps&&k!==d&&null!=p.componentWillReceiveProps&&p.componentWillReceiveProps(k,P),!p.__e&&(null!=p.shouldComponentUpdate&&!1===p.shouldComponentUpdate(k,p.__s,P)||n.__v===t.__v)){for(n.__v!==t.__v&&(p.props=k,p.state=p.__s,p.__d=!1),n.__e=t.__e,n.__k=t.__k,n.__k.forEach((function(e){e&&(e.__=n)})),S=0;S<p._sb.length;S++)p.__h.push(p._sb[S]);p._sb=[],p.__h.length&&u.push(p);break e}null!=p.componentWillUpdate&&p.componentWillUpdate(k,p.__s,P),null!=p.componentDidUpdate&&p.__h.push((function(){p.componentDidUpdate(d,h,m)}))}if(p.context=P,p.props=k,p.__P=e,p.__e=!1,w=r.__r,D=0,"prototype"in W&&W.prototype.render){for(p.state=p.__s,p.__d=!1,w&&w(n),f=p.render(p.props,p.state,p.context),U=0;U<p._sb.length;U++)p.__h.push(p._sb[U]);p._sb=[]}else do{p.__d=!1,w&&w(n),f=p.render(p.props,p.state,p.context),p.state=p.__s}while(p.__d&&++D<25);p.state=p.__s,null!=p.getChildContext&&(_=y(y({},_),p.getChildContext())),a||null==p.getSnapshotBeforeUpdate||(m=p.getSnapshotBeforeUpdate(d,h)),E(e,v(T=null!=f&&f.type===b&&null==f.key?f.props.children:f)?T:[T],n,t,_,o,l,u,i,s,c),p.base=n.__e,n.__u&=-161,p.__h.length&&u.push(p),g&&(p.__E=p.__=null)}catch(e){n.__v=null,s||null!=l?(n.__e=i,n.__u|=s?160:32,l[l.indexOf(i)]=null):(n.__e=t.__e,n.__k=t.__k),r.__e(e,n,t)}else null==l&&n.__v===t.__v?(n.__k=t.__k,n.__e=t.__e):n.__e=H(t.__e,n,t,_,o,l,u,s,c);(f=r.diffed)&&f(n)}function A(e,n,t){n.__d=void 0;for(var _=0;_<t.length;_++)R(t[_],t[++_],t[++_]);r.__c&&r.__c(n,e),e.some((function(n){try{e=n.__h,n.__h=[],e.some((function(e){e.call(n)}))}catch(e){r.__e(e,n.__v)}}))}function H(e,n,t,_,o,r,u,i,s){var c,f,p,d,h,y,g,k=t.props,b=n.props,C=n.type;if("svg"===C&&(o=!0),null!=r)for(c=0;c<r.length;c++)if((h=r[c])&&"setAttribute"in h==!!C&&(C?h.localName===C:3===h.nodeType)){e=h,r[c]=null;break}if(null==e){if(null===C)return document.createTextNode(b);e=o?document.createElementNS("http://www.w3.org/2000/svg",C):document.createElement(C,b.is&&b),r=null,i=!1}if(null===C)k===b||i&&e.data===b||(e.data=b);else{if(r=r&&l.call(e.childNodes),k=t.props||a,!i&&null!=r)for(k={},c=0;c<e.attributes.length;c++)k[(h=e.attributes[c]).name]=h.value;for(c in k)h=k[c],"children"==c||("dangerouslySetInnerHTML"==c?p=h:"key"===c||c in b||L(e,c,null,h,o));for(c in b)h=b[c],"children"==c?d=h:"dangerouslySetInnerHTML"==c?f=h:"value"==c?y=h:"checked"==c?g=h:"key"===c||i&&"function"!=typeof h||k[c]===h||L(e,c,h,k[c],o);if(f)i||p&&(f.__html===p.__html||f.__html===e.innerHTML)||(e.innerHTML=f.__html),n.__k=[];else if(p&&(e.innerHTML=""),E(e,v(d)?d:[d],n,t,_,o&&"foreignObject"!==C,r,u,r?r[0]:t.__k&&x(t,0),i,s),null!=r)for(c=r.length;c--;)null!=r[c]&&m(r[c]);i||(c="value",void 0!==y&&(y!==e[c]||"progress"===C&&!y||"option"===C&&y!==k[c])&&L(e,c,y,k[c],!1),c="checked",void 0!==g&&g!==e[c]&&L(e,c,g,k[c],!1))}return e}function R(e,n,t){try{"function"==typeof e?e(n):e.current=n}catch(e){r.__e(e,t)}}function $(e,n,t){var _,o;if(r.unmount&&r.unmount(e),(_=e.ref)&&(_.current&&_.current!==e.__e||R(_,null,n)),null!=(_=e.__c)){if(_.componentWillUnmount)try{_.componentWillUnmount()}catch(e){r.__e(e,n)}_.base=_.__P=null,e.__c=void 0}if(_=e.__k)for(o=0;o<_.length;o++)_[o]&&$(_[o],n,t||"function"!=typeof e.type);t||null==e.__e||m(e.__e),e.__=e.__e=e.__d=void 0}function B(e,n,t){return this.constructor(e,t)}function I(e,n,t){var _,o,u,i;r.__&&r.__(e,n),o=(_="function"==typeof t)?null:t&&t.__k||n.__k,u=[],i=[],N(n,e=(!_&&t||n).__k=g(b,null,[e]),o||a,a,void 0!==n.ownerSVGElement,!_&&t?[t]:o?null:n.firstChild?l.call(n.childNodes):null,u,!_&&t?t:o?o.__e:n.firstChild,_,i),A(u,e,i)}t.createElement=g,t.h=g,t.createRef=function(){return{current:null}},t.Fragment=b,t.Component=C,t.toChildArray=function e(n,t){return t=t||[],null==n||"boolean"==typeof n||(v(n)?n.some((function(n){e(n,t)})):t.push(n)),t},t.render=I,t.hydrate=function e(n,t){I(n,t,e)},t.cloneElement=function(e,n,t){var _,o,r,u,i=y({},e.props);for(r in e.type&&e.type.defaultProps&&(u=e.type.defaultProps),n)"key"==r?_=n[r]:"ref"==r?o=n[r]:i[r]=void 0===n[r]&&void 0!==u?u[r]:n[r];return arguments.length>2&&(i.children=arguments.length>3?l.call(arguments,2):t),k(e.type,i,_||e.key,o||e.ref,null)},t.createContext=function(e,n){var t={__c:n="__cC"+p++,__:e,Consumer:function(e,n){return e.children(n)},Provider:function(e){var t,_;return this.getChildContext||(t=[],(_={})[n]=this,this.getChildContext=function(){return _},this.shouldComponentUpdate=function(e){this.props.value!==e.value&&t.some((function(e){e.__e=!0,S(e)}))},this.sub=function(e){t.push(e);var n=e.componentWillUnmount;e.componentWillUnmount=function(){t.splice(t.indexOf(e),1),n&&n.call(e)}}),e.children}};return t.Provider.__=t.Consumer.contextType=t},l=d.slice,t.options=r={__e:function(e,n,t,_){for(var o,l,r;n=n.__;)if((o=n.__c)&&!o.__)try{if((l=o.constructor)&&null!=l.getDerivedStateFromError&&(o.setState(l.getDerivedStateFromError(e)),r=o.__d),null!=o.componentDidCatch&&(o.componentDidCatch(e,_||{}),r=o.__d),r)return o.__E=o}catch(n){e=n}throw e}},u=0,t.isValidElement=function(e){return null!=e&&null==e.constructor},C.prototype.setState=function(e,n){var t;t=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=y({},this.state),"function"==typeof e&&(e=e(y({},t),this.props)),e&&y(t,e),null!=e&&this.__v&&(n&&this._sb.push(n),S(this))},C.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),S(this))},C.prototype.render=b,i=[],c="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,f=function(e,n){return e.__v.__b-n.__v.__b},w.__r=0,p=0},
150
150
  "d952f1d8b6": function _(_,n,t,o,u){o();const i=_("bfac992a64");var r,e,c,f,a=0,s=[],h=[],p=i.options.__b,l=i.options.__r,v=i.options.diffed,m=i.options.__c,d=i.options.unmount;function H(_,n){i.options.__h&&i.options.__h(e,_,a||n),a=0;var t=e.__H||(e.__H={__:[],__h:[]});return _>=t.__.length&&t.__.push({__V:h}),t.__[_]}function E(_){return a=1,N(q,_)}function N(_,n,t){var o=H(r++,2);if(o.t=_,!o.__c&&(o.__=[t?t(n):q(void 0,n),function(_){var n=o.__N?o.__N[0]:o.__[0],t=o.t(n,_);n!==t&&(o.__N=[t,o.__[1]],o.__c.setState({}))}],o.__c=e,!e.u)){var u=function(_,n,t){if(!o.__c.__H)return!0;var u=o.__c.__H.__.filter((function(_){return _.__c}));if(u.every((function(_){return!_.__N})))return!i||i.call(this,_,n,t);var r=!1;return u.forEach((function(_){if(_.__N){var n=_.__[0];_.__=_.__N,_.__N=void 0,n!==_.__[0]&&(r=!0)}})),!(!r&&o.__c.props===_)&&(!i||i.call(this,_,n,t))};e.u=!0;var i=e.shouldComponentUpdate,c=e.componentWillUpdate;e.componentWillUpdate=function(_,n,t){if(this.__e){var o=i;i=void 0,u(_,n,t),i=o}c&&c.call(this,_,n,t)},e.shouldComponentUpdate=u}return o.__N||o.__}function y(_,n){var t=H(r++,4);!i.options.__s&&F(t.__H,n)&&(t.__=_,t.i=n,e.__h.push(t))}function V(_,n){var t=H(r++,7);return F(t.__H,n)?(t.__V=_(),t.i=n,t.__h=_,t.__V):t.__}function b(){for(var _;_=s.shift();)if(_.__P&&_.__H)try{_.__H.__h.forEach(A),_.__H.__h.forEach(D),_.__H.__h=[]}catch(n){_.__H.__h=[],i.options.__e(n,_.__v)}}t.useState=E,t.useReducer=N,t.useEffect=function(_,n){var t=H(r++,3);!i.options.__s&&F(t.__H,n)&&(t.__=_,t.i=n,e.__H.__h.push(t))},t.useLayoutEffect=y,t.useRef=function(_){return a=5,V((function(){return{current:_}}),[])},t.useImperativeHandle=function(_,n,t){a=6,y((function(){return"function"==typeof _?(_(n()),function(){return _(null)}):_?(_.current=n(),function(){return _.current=null}):void 0}),null==t?t:t.concat(_))},t.useMemo=V,t.useCallback=function(_,n){return a=8,V((function(){return _}),n)},t.useContext=function(_){var n=e.context[_.__c],t=H(r++,9);return t.c=_,n?(null==t.__&&(t.__=!0,n.sub(e)),n.props.value):_.__},t.useDebugValue=function(_,n){i.options.useDebugValue&&i.options.useDebugValue(n?n(_):_)},t.useErrorBoundary=function(_){var n=H(r++,10),t=E();return n.__=_,e.componentDidCatch||(e.componentDidCatch=function(_,o){n.__&&n.__(_,o),t[1](_)}),[t[0],function(){t[1](void 0)}]},t.useId=function(){var _=H(r++,11);if(!_.__){for(var n=e.__v;null!==n&&!n.__m&&null!==n.__;)n=n.__;var t=n.__m||(n.__m=[0,0]);_.__="P"+t[0]+"-"+t[1]++}return _.__},i.options.__b=function(_){e=null,p&&p(_)},i.options.__r=function(_){l&&l(_),r=0;var n=(e=_.__c).__H;n&&(c===e?(n.__h=[],e.__h=[],n.__.forEach((function(_){_.__N&&(_.__=_.__N),_.__V=h,_.__N=_.i=void 0}))):(n.__h.forEach(A),n.__h.forEach(D),n.__h=[],r=0)),c=e},i.options.diffed=function(_){v&&v(_);var n=_.__c;n&&n.__H&&(n.__H.__h.length&&(1!==s.push(n)&&f===i.options.requestAnimationFrame||((f=i.options.requestAnimationFrame)||C)(b)),n.__H.__.forEach((function(_){_.i&&(_.__H=_.i),_.__V!==h&&(_.__=_.__V),_.i=void 0,_.__V=h}))),c=e=null},i.options.__c=function(_,n){n.some((function(_){try{_.__h.forEach(A),_.__h=_.__h.filter((function(_){return!_.__||D(_)}))}catch(t){n.some((function(_){_.__h&&(_.__h=[])})),n=[],i.options.__e(t,_.__v)}})),m&&m(_,n)},i.options.unmount=function(_){d&&d(_);var n,t=_.__c;t&&t.__H&&(t.__H.__.forEach((function(_){try{A(_)}catch(_){n=_}})),t.__H=void 0,n&&i.options.__e(n,t.__v))};var g="function"==typeof requestAnimationFrame;function C(_){var n,t=function(){clearTimeout(o),g&&cancelAnimationFrame(n),setTimeout(_)},o=setTimeout(t,100);g&&(n=requestAnimationFrame(t))}function A(_){var n=e,t=_.__c;"function"==typeof t&&(_.__c=void 0,t()),e=n}function D(_){var n=e;_.__c=_.__(),e=n}function F(_,n){return!_||_.length!==n.length||n.some((function(n,t){return n!==_[t]}))}function q(_,n){return"function"==typeof n?n(_):n}},
151
151
  "b3f51db71c": function _(n,a,t,e,o){e();const r=n("tslib"),d=n("bfac992a64");var f=n("bfac992a64");o("h",f.h),o("render",f.render),o("Component",f.Component);var b=r.__importDefault(n("ab33dd3f38")).default.bind(d.h);t.html=b},
152
152
  "ab33dd3f38": function _(n,t,s,u,r){u();var e=function(n,t,s,u){var r;t[0]=0;for(var h=1;h<t.length;h++){var p=t[h++],a=t[h]?(t[0]|=p?1:2,s[t[h++]]):t[++h];3===p?u[0]=a:4===p?u[1]=Object.assign(u[1]||{},a):5===p?(u[1]=u[1]||{})[t[++h]]=a:6===p?u[1][t[++h]]+=a+"":p?(r=n.apply(a,e(n,a,s,["",null])),u.push(r),a[0]?t[0]|=2:(t[h-2]=0,t[h]=r)):u.push(a)}return u},h=new Map;s.default=function(n){var t=h.get(this);return t||(t=new Map,h.set(this,t)),(t=e(this,t.get(n)||(t.set(n,t=function(n){for(var t,s,u=1,r="",e="",h=[0],p=function(n){1===u&&(n||(r=r.replace(/^\s*\n\s*|\s*\n\s*$/g,"")))?h.push(0,n,r):3===u&&(n||r)?(h.push(3,n,r),u=2):2===u&&"..."===r&&n?h.push(4,n,0):2===u&&r&&!n?h.push(5,0,!0,r):u>=5&&((r||!n&&5===u)&&(h.push(u,0,r,s),u=6),n&&(h.push(u,n,0,s),u=6)),r=""},a=0;a<n.length;a++){a&&(1===u&&p(),p(a));for(var f=0;f<n[a].length;f++)t=n[a][f],1===u?"<"===t?(p(),h=[h],u=3):r+=t:4===u?"--"===r&&">"===t?(u=1,r=""):r=t+r[0]:e?t===e?e="":r+=t:'"'===t||"'"===t?e=t:">"===t?(p(),u=1):u&&("="===t?(u=5,s=r,r=""):"/"===t&&(u<5||">"===n[a][f+1])?(p(),3===u&&(h=h[0]),u=h,(h=h[0]).push(2,0,u),u=0):" "===t||"\t"===t||"\n"===t||"\r"===t?(p(),u=2):r+=t),3===u&&"!--"===r&&(u=4,h=h[0])}return p(),h}(n)),t),arguments,[])).length>1?t:t[0]}},
153
153
  "168c4d0ebd": function _(e,t,s,i,n){var l;i();const o=e("tslib"),d=e("@bokehjs/core/dom"),r=e("@bokehjs/core/util/types"),c=e("@bokehjs/models/widgets/input_widget"),u=o.__importStar(e("@bokehjs/styles/widgets/inputs.css"));class a extends c.InputWidgetView{connect_signals(){super.connect_signals();const{value:e,options:t,disabled_options:s,size:i,disabled:n}=this.model.properties;this.on_change(e,(()=>this.render_selection())),this.on_change(t,(()=>this.render())),this.on_change(s,(()=>this.render())),this.on_change(i,(()=>this.render())),this.on_change(n,(()=>this.render()))}render(){super.render(),this.render_selection()}_render_input(){const e=this.model.options.map((e=>{let t,s;(0,r.isString)(e)?t=s=e:[t,s]=e;const i=this.model.disabled_options.includes(t);return(0,d.option)({value:t,disabled:i},s)}));return this.input_el=(0,d.select)({multiple:!1,class:u.input,name:this.model.name,disabled:this.model.disabled},e),this.input_el.style.backgroundImage="none",this.input_el.addEventListener("change",(()=>this.change_input())),this.input_el}render_selection(){const e=this.model.value;for(const t of this.input_el.querySelectorAll("option"))t.value===e&&(t.selected=!0);this.input_el.size=this.model.size}change_input(){const e=null!=this.el.querySelector("select:focus");let t=null;for(const e of this.shadow_el.querySelectorAll("option"))if(e.selected){t=e.value;break}this.model.value=t,super.change_input(),e&&this.input_el.focus()}}s.SingleSelectView=a,a.__name__="SingleSelectView";class h extends c.InputWidget{constructor(e){super(e)}}s.SingleSelect=h,l=h,h.__name__="SingleSelect",h.__module__="panel.models.widgets",l.prototype.default_view=a,l.define((({Any:e,List:t,Int:s,Nullable:i,Str:n})=>({disabled_options:[t(n),[]],options:[t(e),[]],size:[s,4],value:[i(n),null]})))},
154
- "739cca6576": function _(t,e,i,n,o){var s;n();const r=t("73d6aee8f5"),a="Click to START the speech recognition.",{webkitSpeechRecognition:h}=window,{webkitSpeechGrammarList:l}=window;class c extends r.HTMLBoxView{initialize(){super.initialize(),this.recognition=new h,this.recognition.lang=this.model.lang,this.recognition.continuous=this.model.continuous,this.recognition.interimResults=this.model.interim_results,this.recognition.maxAlternatives=this.model.max_alternatives,this.recognition.serviceURI=this.model.service_uri,this.setGrammars(),this.recognition.onresult=t=>{this.model.results=function(t){const e=[];for(const n of t){const t=[],o={is_final:n.isFinal,alternatives:t};for(let e=0;e<n.length;e++){const o={confidence:(i=n[e].confidence,Math.round(100*(i+Number.EPSILON))/100),transcript:n[e].transcript};t.push(o)}o.alternatives=t,e.push(o)}var i;return e}(t.results)},this.recognition.onerror=t=>{console.log("SpeechToText Error"),console.log(t)},this.recognition.onnomatch=t=>{console.log("SpeechToText No Match"),console.log(t)},this.recognition.onaudiostart=()=>this.model.audio_started=!0,this.recognition.onaudioend=()=>this.model.audio_started=!1,this.recognition.onsoundstart=()=>this.model.sound_started=!0,this.recognition.onsoundend=()=>this.model.sound_started=!1,this.recognition.onspeechstart=()=>this.model.speech_started=!0,this.recognition.onspeechend=()=>this.model.speech_started=!1,this.recognition.onstart=()=>{this.buttonEl.onclick=()=>{this.recognition.stop()},this.buttonEl.innerHTML=this.iconStarted(),this.buttonEl.setAttribute("title","Click to STOP the speech recognition."),this.model.started=!0},this.recognition.onend=()=>{this.buttonEl.onclick=()=>{this.recognition.start()},this.buttonEl.innerHTML=this.iconNotStarted(),this.buttonEl.setAttribute("title",a),this.model.started=!1},this.buttonEl=function(t){const e=document.createElement("template");return t=t.trim(),e.innerHTML=t,e.content.firstChild}(`<button class="bk bk-btn bk-btn-${this.model.button_type}" type="button" title="${a}"></button>`),this.buttonEl.innerHTML=this.iconNotStarted(),this.buttonEl.onclick=()=>this.recognition.start()}iconStarted(){return""!==this.model.button_started?this.model.button_started:'<svg xmlns="http://www.w3.org/2000/svg" height="22px" style="vertical-align: middle;" fill="currentColor" class="bi bi-mic" viewBox="0 0 16 16">\n <path fill-rule="evenodd" d="M3.5 6.5A.5.5 0 0 1 4 7v1a4 4 0 0 0 8 0V7a.5.5 0 0 1 1 0v1a5 5 0 0 1-4.5 4.975V15h3a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1h3v-2.025A5 5 0 0 1 3 8V7a.5.5 0 0 1 .5-.5z"/>\n <path fill-rule="evenodd" d="M10 8V3a2 2 0 1 0-4 0v5a2 2 0 1 0 4 0zM8 0a3 3 0 0 0-3 3v5a3 3 0 0 0 6 0V3a3 3 0 0 0-3-3z"/>\n</svg>'}iconNotStarted(){return""!==this.model.button_not_started?this.model.button_not_started:'<svg xmlns="http://www.w3.org/2000/svg" height="22px" style="vertical-align: middle;" fill="currentColor" class="bi bi-mic-mute" viewBox="0 0 16 16">\n<path fill-rule="evenodd" d="M12.734 9.613A4.995 4.995 0 0 0 13 8V7a.5.5 0 0 0-1 0v1c0 .274-.027.54-.08.799l.814.814zm-2.522 1.72A4 4 0 0 1 4 8V7a.5.5 0 0 0-1 0v1a5 5 0 0 0 4.5 4.975V15h-3a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-3v-2.025a4.973 4.973 0 0 0 2.43-.923l-.718-.719zM11 7.88V3a3 3 0 0 0-5.842-.963l.845.845A2 2 0 0 1 10 3v3.879l1 1zM8.738 9.86l.748.748A3 3 0 0 1 5 8V6.121l1 1V8a2 2 0 0 0 2.738 1.86zm4.908 3.494l-12-12 .708-.708 12 12-.708.707z"/>\n</svg>'}setIcon(){this.model.started?this.buttonEl.innerHTML=this.iconStarted():this.buttonEl.innerHTML=this.iconNotStarted()}connect_signals(){super.connect_signals();const{start:t,stop:e,abort:i,grammars:n,lang:o,continuous:s,interim_results:r,max_alternatives:a,service_uri:h,button_type:l,button_hide:c,button_not_started:d,button_started:u}=this.model.properties;this.on_change(t,(()=>{this.model.start=!1,this.recognition.start()})),this.on_change(e,(()=>{this.model.stop=!1,this.recognition.stop()})),this.on_change(i,(()=>{this.model.abort=!1,this.recognition.abort()})),this.on_change(n,(()=>this.setGrammars())),this.on_change(o,(()=>this.recognition.lang=this.model.lang)),this.on_change(s,(()=>this.recognition.continuous=this.model.continuous)),this.on_change(r,(()=>this.recognition.interimResults=this.model.interim_results)),this.on_change(a,(()=>this.recognition.maxAlternatives=this.model.max_alternatives)),this.on_change(h,(()=>this.recognition.serviceURI=this.model.service_uri)),this.on_change(l,(()=>this.buttonEl.className=`bk bk-btn bk-btn-${this.model.button_type}`)),this.on_change(c,(()=>this.render())),this.on_change([d,u],(()=>this.setIcon()))}setGrammars(){this.recognition.grammars=function(t){if(t){const e=new l;for(const i of t)i.src?e.addFromString(i.src,i.weight):i.uri&&e.addFromURI(i.uri,i.weight);return e}return null}(this.model.grammars)}render(){super.render(),this.model.button_hide||this.shadow_el.appendChild(this.buttonEl)}}i.SpeechToTextView=c,c.__name__="SpeechToTextView";class d extends r.HTMLBox{constructor(t){super(t)}}i.SpeechToText=d,s=d,d.__name__="SpeechToText",d.__module__="panel.models.speech_to_text",s.prototype.default_view=c,s.define((({Any:t,List:e,Bool:i,Float:n,Str:o})=>({start:[i,!1],stop:[i,!1],abort:[i,!1],grammars:[e(t),[]],lang:[o,""],continuous:[i,!1],interim_results:[i,!1],max_alternatives:[n,1],service_uri:[o,""],started:[i,!1],audio_started:[i,!1],sound_started:[i,!1],speech_started:[i,!1],button_type:[o,"light"],button_hide:[i,!1],button_not_started:[o,""],button_started:[o,""],results:[e(t),[]]})))},
154
+ "739cca6576": function _(t,e,i,n,o){var s;n();const r=t("c37096b5ea"),a="Click to START the speech recognition.",{webkitSpeechRecognition:h}=window,{webkitSpeechGrammarList:l}=window;class c extends r.HTMLBoxView{initialize(){super.initialize(),this.recognition=new h,this.recognition.lang=this.model.lang,this.recognition.continuous=this.model.continuous,this.recognition.interimResults=this.model.interim_results,this.recognition.maxAlternatives=this.model.max_alternatives,this.recognition.serviceURI=this.model.service_uri,this.setGrammars(),this.recognition.onresult=t=>{this.model.results=function(t){const e=[];for(const n of t){const t=[],o={is_final:n.isFinal,alternatives:t};for(let e=0;e<n.length;e++){const o={confidence:(i=n[e].confidence,Math.round(100*(i+Number.EPSILON))/100),transcript:n[e].transcript};t.push(o)}o.alternatives=t,e.push(o)}var i;return e}(t.results)},this.recognition.onerror=t=>{console.log("SpeechToText Error"),console.log(t)},this.recognition.onnomatch=t=>{console.log("SpeechToText No Match"),console.log(t)},this.recognition.onaudiostart=()=>this.model.audio_started=!0,this.recognition.onaudioend=()=>this.model.audio_started=!1,this.recognition.onsoundstart=()=>this.model.sound_started=!0,this.recognition.onsoundend=()=>this.model.sound_started=!1,this.recognition.onspeechstart=()=>this.model.speech_started=!0,this.recognition.onspeechend=()=>this.model.speech_started=!1,this.recognition.onstart=()=>{this.buttonEl.onclick=()=>{this.recognition.stop()},this.buttonEl.innerHTML=this.iconStarted(),this.buttonEl.setAttribute("title","Click to STOP the speech recognition."),this.model.started=!0},this.recognition.onend=()=>{this.buttonEl.onclick=()=>{this.recognition.start()},this.buttonEl.innerHTML=this.iconNotStarted(),this.buttonEl.setAttribute("title",a),this.model.started=!1},this.buttonEl=function(t){const e=document.createElement("template");return t=t.trim(),e.innerHTML=t,e.content.firstChild}(`<button class="bk bk-btn bk-btn-${this.model.button_type}" type="button" title="${a}"></button>`),this.buttonEl.innerHTML=this.iconNotStarted(),this.buttonEl.onclick=()=>this.recognition.start()}iconStarted(){return""!==this.model.button_started?this.model.button_started:'<svg xmlns="http://www.w3.org/2000/svg" height="22px" style="vertical-align: middle;" fill="currentColor" class="bi bi-mic" viewBox="0 0 16 16">\n <path fill-rule="evenodd" d="M3.5 6.5A.5.5 0 0 1 4 7v1a4 4 0 0 0 8 0V7a.5.5 0 0 1 1 0v1a5 5 0 0 1-4.5 4.975V15h3a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1h3v-2.025A5 5 0 0 1 3 8V7a.5.5 0 0 1 .5-.5z"/>\n <path fill-rule="evenodd" d="M10 8V3a2 2 0 1 0-4 0v5a2 2 0 1 0 4 0zM8 0a3 3 0 0 0-3 3v5a3 3 0 0 0 6 0V3a3 3 0 0 0-3-3z"/>\n</svg>'}iconNotStarted(){return""!==this.model.button_not_started?this.model.button_not_started:'<svg xmlns="http://www.w3.org/2000/svg" height="22px" style="vertical-align: middle;" fill="currentColor" class="bi bi-mic-mute" viewBox="0 0 16 16">\n<path fill-rule="evenodd" d="M12.734 9.613A4.995 4.995 0 0 0 13 8V7a.5.5 0 0 0-1 0v1c0 .274-.027.54-.08.799l.814.814zm-2.522 1.72A4 4 0 0 1 4 8V7a.5.5 0 0 0-1 0v1a5 5 0 0 0 4.5 4.975V15h-3a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-3v-2.025a4.973 4.973 0 0 0 2.43-.923l-.718-.719zM11 7.88V3a3 3 0 0 0-5.842-.963l.845.845A2 2 0 0 1 10 3v3.879l1 1zM8.738 9.86l.748.748A3 3 0 0 1 5 8V6.121l1 1V8a2 2 0 0 0 2.738 1.86zm4.908 3.494l-12-12 .708-.708 12 12-.708.707z"/>\n</svg>'}setIcon(){this.model.started?this.buttonEl.innerHTML=this.iconStarted():this.buttonEl.innerHTML=this.iconNotStarted()}connect_signals(){super.connect_signals();const{start:t,stop:e,abort:i,grammars:n,lang:o,continuous:s,interim_results:r,max_alternatives:a,service_uri:h,button_type:l,button_hide:c,button_not_started:d,button_started:u}=this.model.properties;this.on_change(t,(()=>{this.model.start=!1,this.recognition.start()})),this.on_change(e,(()=>{this.model.stop=!1,this.recognition.stop()})),this.on_change(i,(()=>{this.model.abort=!1,this.recognition.abort()})),this.on_change(n,(()=>this.setGrammars())),this.on_change(o,(()=>this.recognition.lang=this.model.lang)),this.on_change(s,(()=>this.recognition.continuous=this.model.continuous)),this.on_change(r,(()=>this.recognition.interimResults=this.model.interim_results)),this.on_change(a,(()=>this.recognition.maxAlternatives=this.model.max_alternatives)),this.on_change(h,(()=>this.recognition.serviceURI=this.model.service_uri)),this.on_change(l,(()=>this.buttonEl.className=`bk bk-btn bk-btn-${this.model.button_type}`)),this.on_change(c,(()=>this.render())),this.on_change([d,u],(()=>this.setIcon()))}setGrammars(){this.recognition.grammars=function(t){if(t){const e=new l;for(const i of t)i.src?e.addFromString(i.src,i.weight):i.uri&&e.addFromURI(i.uri,i.weight);return e}return null}(this.model.grammars)}render(){super.render(),this.model.button_hide||this.shadow_el.appendChild(this.buttonEl)}}i.SpeechToTextView=c,c.__name__="SpeechToTextView";class d extends r.HTMLBox{constructor(t){super(t)}}i.SpeechToText=d,s=d,d.__name__="SpeechToText",d.__module__="panel.models.speech_to_text",s.prototype.default_view=c,s.define((({Any:t,List:e,Bool:i,Float:n,Str:o})=>({start:[i,!1],stop:[i,!1],abort:[i,!1],grammars:[e(t),[]],lang:[o,""],continuous:[i,!1],interim_results:[i,!1],max_alternatives:[n,1],service_uri:[o,""],started:[i,!1],audio_started:[i,!1],sound_started:[i,!1],speech_started:[i,!1],button_type:[o,"light"],button_hide:[i,!1],button_not_started:[o,""],button_started:[o,""],results:[e(t),[]]})))},
155
155
  "92822cb73a": function _(e,t,s,a,i){var o;a();const c=e("@bokehjs/core/view"),n=e("@bokehjs/core/util/array"),h=e("@bokehjs/model"),_=e("@bokehjs/protocol/receiver");class r extends c.View{}s.StateView=r,r.__name__="StateView";class p extends h.Model{constructor(e){super(e),this._receiver=new _.Receiver,this._cache={}}apply_state(e){this._receiver.consume(e.header),this._receiver.consume(e.metadata),this._receiver.consume(e.content),this._receiver.message&&this.document&&this.document.apply_json_patch(this._receiver.message.content)}_receive_json(e,t){const s=JSON.parse(e);this._cache[t]=s;let a=this.state;for(const e of this.values)a=a instanceof Map?a.get(e):a[e];a===t?this.apply_state(s):this._cache[a]&&this.apply_state(this._cache[a])}set_state(e,t){const s=(0,n.copy)(this.values);s[this.widgets[e.id]]=t;let a=this.state;for(const e of s)a=a instanceof Map?a.get(e):a[e];this.values=s,this.json?this._cache[a]?this.apply_state(this._cache[a]):function(e,t){const s=new XMLHttpRequest;s.overrideMimeType("application/json"),s.open("GET",e,!0),s.onreadystatechange=function(){4==s.readyState&&200==s.status&&t(s.responseText)},s.send(null)}(a,(e=>this._receive_json(e,a))):this.apply_state(a)}}s.State=p,o=p,p.__name__="State",p.__module__="panel.models.state",o.prototype.default_view=r,o.define((({Any:e,Bool:t})=>({json:[t,!1],state:[e,{}],widgets:[e,{}],values:[e,[]]})))},
156
156
  "2231cdc549": function _(e,t,s,i,l){var o;i();const a=e("tslib").__importStar(e("@bokehjs/styles/tabs.css")),n=e("@bokehjs/core/layout/grid"),c=e("@bokehjs/core/enums"),d=e("@bokehjs/models/layouts/alignments"),r=e("@bokehjs/models/layouts/tabs"),_=e("@bokehjs/models/layouts/layout_dom");function u(e){e.style.visibility="",e.style.opacity=""}function h(e){e.style.visibility="hidden",e.style.opacity="0"}class y extends r.TabsView{connect_signals(){super.connect_signals();let e=this;for(;null!=e;)e.model.type.endsWith("Tabs")&&e.connect(e.model.properties.active.change,(()=>this.update_zindex())),e=e.parent||e._parent}get is_visible(){let e=this.parent,t=this;for(;null!=e;){if(e.model.type.endsWith("Tabs")&&e.child_views.indexOf(t)!==e.model.active)return!1;t=e,e=e.parent||e._parent}return!0}render(){super.render(),this.update_zindex()}update_zindex(){const{child_views:e}=this;for(const t of e)null!=t&&null!=t.el&&(t.el.style.zIndex="");if(this.is_visible){const t=e[this.model.active];null!=t&&null!=t.el&&(t.el.style.zIndex="1")}}_after_layout(){_.LayoutDOMView.prototype._after_layout.call(this);const{child_views:e}=this;for(const t of e)void 0!==t&&h(t.el);const{active:t}=this.model;if(t in e){const s=e[t];void 0!==s&&u(s.el)}}_update_layout(){_.LayoutDOMView.prototype._update_layout.call(this);const e=this.model.tabs_location;this.class_list.remove([...c.Location].map((e=>a[e]))),this.class_list.add(a[e]);const t=new n.Container;for(const e of this.child_views)null!=e&&(e.style.append(":host",{grid_area:"stack"}),e instanceof _.LayoutDOMView&&null!=e.layout&&t.add({r0:0,c0:0,r1:1,c1:1},e));0!=t.size?(this.layout=new d.GridAlignmentLayout(t),this.layout.set_sizing()):delete this.layout}update_active(){const e=this.model.active,{header_els:t}=this;for(const e of t)e.classList.remove(a.active);e in t&&t[e].classList.add(a.active);const{child_views:s}=this;for(const e of s)h(e.el);if(e in s){const t=s[e];u(t.el),null==t.invalidate_render&&t.invalidate_render()}}}s.TabsView=y,y.__name__="TabsView";class p extends r.Tabs{}s.Tabs=p,o=p,p.__name__="Tabs",p.__module__="panel.models.tabs",o.prototype.default_view=y},
157
- "121f00bd6f": function _(e,t,n,s,i){var r,o;s();const a=e("@bokehjs/core/dom"),l=e("@bokehjs/core/bokeh_events"),h=e("73d6aee8f5");class d extends l.ModelEvent{constructor(e){super(),this.key=e}get event_values(){return{model:this.origin,key:this.key}}}n.KeystrokeEvent=d,r=d,d.__name__="KeystrokeEvent",r.prototype.event_name="keystroke";class c extends h.HTMLBoxView{connect_signals(){super.connect_signals();const{output:e,_clears:t}=this.model.properties;this.on_change(e,this.write),this.on_change(t,this.clear)}render(){super.render(),this.container=(0,a.div)({class:"terminal-container"}),(0,h.set_size)(this.container,this.model),this.term=this.getNewTerminal(),this.term.onData((e=>{this.handleOnData(e)})),this.webLinksAddon=this.getNewWebLinksAddon(),this.term.loadAddon(this.webLinksAddon),this.term.open(this.container),this.term.onRender((()=>{this._rendered||this.fit()})),this.write(),this.shadow_el.appendChild(this.container)}getNewTerminal(){const e=window;return e.Terminal?new e.Terminal(this.model.options):new e.xtermjs.Terminal(this.model.options)}getNewWebLinksAddon(){return new window.WebLinksAddon.WebLinksAddon}handleOnData(e){this.model.trigger_event(new d(e))}write(){const e=this.model.output;if(null==e||!e.length)return;const t=e.replace(/\r?\n/g,"\r\n");this.term.write(t)}clear(){this.term.clear()}fit(){const e=this.container.offsetWidth,t=this.container.offsetHeight,n=this.term._core._renderService,s=n.dimensions.actualCellWidth||9,i=n.dimensions.actualCellHeight||18;if(null==e||null==t||e<=0||t<=0)return;const r=Math.max(2,Math.floor(e/s)),o=Math.max(1,Math.floor(t/i));this.term.rows===o&&this.term.cols===r||this.term.resize(r,o),this.model.ncols=r,this.model.nrows=o,this._rendered=!0}after_layout(){super.after_layout(),null!=this.container&&this.fit()}}n.TerminalView=c,c.__name__="TerminalView";class m extends h.HTMLBox{constructor(e){super(e)}}n.Terminal=m,o=m,m.__name__="Terminal",m.__module__="panel.models.terminal",o.prototype.default_view=c,o.define((({Any:e,Int:t,Str:n})=>({_clears:[t,0],options:[e,{}],output:[n,""],ncols:[t,0],nrows:[t,0]})))},
158
- "a04eb51988": function _(e,s,i,n,t){var o;n();const h=e("73d6aee8f5");function c(e){const s=[];for(const i of e){const e={default:i.default,lang:i.lang,local_service:i.localService,name:i.name,voice_uri:i.voiceURI};s.push(e)}return s}class p extends h.HTMLBoxView{initialize(){super.initialize(),this.model.paused=speechSynthesis.paused,this.model.pending=speechSynthesis.pending,this.model.speaking=speechSynthesis.speaking,this._callback=window.setInterval((function(){!speechSynthesis.paused&&speechSynthesis.speaking&&window.speechSynthesis.resume()}),1e4);const e=()=>{"undefined"!=typeof speechSynthesis&&(this.voices=speechSynthesis.getVoices(),this.voices&&(this.model.voices=c(this.voices)))};e(),"undefined"!=typeof speechSynthesis&&void 0!==speechSynthesis.onvoiceschanged&&(speechSynthesis.onvoiceschanged=e)}remove(){null!=this._callback&&clearInterval(this._callback),speechSynthesis.cancel(),super.remove()}connect_signals(){super.connect_signals();const{speak:e,pause:s,resume:i,cancel:n}=this.model.properties;this.on_change(e,(()=>{this.speak()})),this.on_change(s,(()=>{this.model.pause=!1,speechSynthesis.pause()})),this.on_change(i,(()=>{this.model.resume=!1,speechSynthesis.resume()})),this.on_change(n,(()=>{this.model.cancel=!1,speechSynthesis.cancel()}))}speak(){const e=new SpeechSynthesisUtterance(this.model.speak.text);if(e.pitch=this.model.speak.pitch,e.volume=this.model.speak.volume,e.rate=this.model.speak.rate,this.model.voices)for(const s of this.voices)s.name===this.model.speak.voice&&(e.voice=s);e.onpause=()=>this.model.paused=!0,e.onstart=()=>{this.model.speaking=!0,this.model.paused=!1,this.model.pending=speechSynthesis.pending},e.onresume=()=>this.model.paused=!1,e.onend=()=>{this.model.speaking=!1,this.model.paused=!1,this.model.pending=speechSynthesis.pending},speechSynthesis.speak(e),this.model.paused=speechSynthesis.paused,this.model.pending=speechSynthesis.pending}render(){super.render(),this.model.voices||(this.model.voices=c(this.voices)),null!=this.model.speak&&this.model.speak.text&&this.speak()}}i.TextToSpeechView=p,p.__name__="TextToSpeechView";class a extends h.HTMLBox{constructor(e){super(e)}}i.TextToSpeech=a,o=a,a.__name__="TextToSpeech",a.__module__="panel.models.text_to_speech",o.prototype.default_view=p,o.define((({Any:e,List:s,Bool:i})=>({paused:[i,!1],pending:[i,!1],speaking:[i,!1],voices:[s(e),[]],cancel:[i,!1],pause:[i,!1],resume:[i,!1],speak:[e,{}]})))},
157
+ "121f00bd6f": function _(e,t,n,s,i){var r,o;s();const a=e("@bokehjs/core/dom"),l=e("@bokehjs/core/bokeh_events"),h=e("c37096b5ea");class d extends l.ModelEvent{constructor(e){super(),this.key=e}get event_values(){return{model:this.origin,key:this.key}}}n.KeystrokeEvent=d,r=d,d.__name__="KeystrokeEvent",r.prototype.event_name="keystroke";class c extends h.HTMLBoxView{connect_signals(){super.connect_signals();const{output:e,_clears:t}=this.model.properties;this.on_change(e,this.write),this.on_change(t,this.clear)}render(){super.render(),this.container=(0,a.div)({class:"terminal-container"}),(0,h.set_size)(this.container,this.model),this.term=this.getNewTerminal(),this.term.onData((e=>{this.handleOnData(e)})),this.webLinksAddon=this.getNewWebLinksAddon(),this.term.loadAddon(this.webLinksAddon),this.term.open(this.container),this.term.onRender((()=>{this._rendered||this.fit()})),this.write(),this.shadow_el.appendChild(this.container)}getNewTerminal(){const e=window;return e.Terminal?new e.Terminal(this.model.options):new e.xtermjs.Terminal(this.model.options)}getNewWebLinksAddon(){return new window.WebLinksAddon.WebLinksAddon}handleOnData(e){this.model.trigger_event(new d(e))}write(){const e=this.model.output;if(null==e||!e.length)return;const t=e.replace(/\r?\n/g,"\r\n");this.term.write(t)}clear(){this.term.clear()}fit(){const e=this.container.offsetWidth,t=this.container.offsetHeight,n=this.term._core._renderService,s=n.dimensions.actualCellWidth||9,i=n.dimensions.actualCellHeight||18;if(null==e||null==t||e<=0||t<=0)return;const r=Math.max(2,Math.floor(e/s)),o=Math.max(1,Math.floor(t/i));this.term.rows===o&&this.term.cols===r||this.term.resize(r,o),this.model.ncols=r,this.model.nrows=o,this._rendered=!0}after_layout(){super.after_layout(),null!=this.container&&this.fit()}}n.TerminalView=c,c.__name__="TerminalView";class m extends h.HTMLBox{constructor(e){super(e)}}n.Terminal=m,o=m,m.__name__="Terminal",m.__module__="panel.models.terminal",o.prototype.default_view=c,o.define((({Any:e,Int:t,Str:n})=>({_clears:[t,0],options:[e,{}],output:[n,""],ncols:[t,0],nrows:[t,0]})))},
158
+ "8be416b160": function _(e,t,n,s,_){var u,o;s();const i=e("@bokehjs/models/widgets/text_input"),p=e("@bokehjs/core/bokeh_events");class r extends p.ModelEvent{constructor(e){super(),this.value_input=e}get event_values(){return{model:this.origin,value_input:this.value_input}}}n.EnterEvent=r,u=r,r.__name__="EnterEvent",u.prototype.event_name="enter-pressed";class l extends i.TextInputView{_keyup(e){if(super._keyup(e),"Enter"==e.key){const{value_input:e}=this.model;this.model.trigger_event(new r(e))}}}n.TextInputView=l,l.__name__="TextInputView";class a extends i.TextInput{constructor(e){super(e)}}n.TextInput=a,o=a,a.__name__="TextInput",a.__module__="panel.models.widgets",o.prototype.default_view=l,o.define((({})=>({})))},
159
+ "a04eb51988": function _(e,s,i,n,t){var o;n();const h=e("c37096b5ea");function c(e){const s=[];for(const i of e){const e={default:i.default,lang:i.lang,local_service:i.localService,name:i.name,voice_uri:i.voiceURI};s.push(e)}return s}class p extends h.HTMLBoxView{initialize(){super.initialize(),this.model.paused=speechSynthesis.paused,this.model.pending=speechSynthesis.pending,this.model.speaking=speechSynthesis.speaking,this._callback=window.setInterval((function(){!speechSynthesis.paused&&speechSynthesis.speaking&&window.speechSynthesis.resume()}),1e4);const e=()=>{"undefined"!=typeof speechSynthesis&&(this.voices=speechSynthesis.getVoices(),this.voices&&(this.model.voices=c(this.voices)))};e(),"undefined"!=typeof speechSynthesis&&void 0!==speechSynthesis.onvoiceschanged&&(speechSynthesis.onvoiceschanged=e)}remove(){null!=this._callback&&clearInterval(this._callback),speechSynthesis.cancel(),super.remove()}connect_signals(){super.connect_signals();const{speak:e,pause:s,resume:i,cancel:n}=this.model.properties;this.on_change(e,(()=>{this.speak()})),this.on_change(s,(()=>{this.model.pause=!1,speechSynthesis.pause()})),this.on_change(i,(()=>{this.model.resume=!1,speechSynthesis.resume()})),this.on_change(n,(()=>{this.model.cancel=!1,speechSynthesis.cancel()}))}speak(){const e=new SpeechSynthesisUtterance(this.model.speak.text);if(e.pitch=this.model.speak.pitch,e.volume=this.model.speak.volume,e.rate=this.model.speak.rate,this.model.voices)for(const s of this.voices)s.name===this.model.speak.voice&&(e.voice=s);e.onpause=()=>this.model.paused=!0,e.onstart=()=>{this.model.speaking=!0,this.model.paused=!1,this.model.pending=speechSynthesis.pending},e.onresume=()=>this.model.paused=!1,e.onend=()=>{this.model.speaking=!1,this.model.paused=!1,this.model.pending=speechSynthesis.pending},speechSynthesis.speak(e),this.model.paused=speechSynthesis.paused,this.model.pending=speechSynthesis.pending}render(){super.render(),this.model.voices||(this.model.voices=c(this.voices)),null!=this.model.speak&&this.model.speak.text&&this.speak()}}i.TextToSpeechView=p,p.__name__="TextToSpeechView";class a extends h.HTMLBox{constructor(e){super(e)}}i.TextToSpeech=a,o=a,a.__name__="TextToSpeech",a.__module__="panel.models.text_to_speech",o.prototype.default_view=p,o.define((({Any:e,List:s,Bool:i})=>({paused:[i,!1],pending:[i,!1],speaking:[i,!1],voices:[s(e),[]],cancel:[i,!1],pause:[i,!1],resume:[i,!1],speak:[e,{}]})))},
159
160
  "ad985f285e": function _(e,o,l,c,n){var s;c();const i=e("17193475a8");class _ extends i.ClickableIconView{*controls(){}click(){this.model.disabled||(super.click(),this.model.value=!this.model.value)}}l.ToggleIconView=_,_.__name__="ToggleIconView";class a extends i.ClickableIcon{constructor(e){super(e)}}l.ToggleIcon=a,s=a,a.__name__="ToggleIcon",a.__module__="panel.models.icon",s.prototype.default_view=_,s.define((({})=>({})))},
160
161
  "ae3a172647": function _(e,s,t,i,o){var l;i();const d=e("tslib"),n=e("@bokehjs/models/ui/tooltip"),c=e("@bokehjs/models/layouts/layout_dom"),r=e("@bokehjs/core/dom"),p=d.__importStar(e("@bokehjs/styles/widgets/inputs.css")),a=p,h=d.__importDefault(e("@bokehjs/styles/icons.css"));class _ extends c.LayoutDOMView{get child_models(){return null==this.model.description?[]:[this.model.description]}connect_signals(){super.connect_signals();const{description:e}=this.model.properties;this.on_change(e,(()=>this.update_children()))}stylesheets(){return[...super.stylesheets(),p.default,h.default]}render(){super.render();const e=(0,r.div)({class:a.icon});this.desc_el=(0,r.div)({class:a.description},e),this.model.description.target=this.desc_el;let s=!1;const t=t=>{this.model.description.setv({visible:t,closable:s}),e.classList.toggle(a.opaque,t&&s)};this.on_change(this.model.description.properties.visible,(()=>{const{visible:e}=this.model.description;e||(s=!1),t(e)})),this.desc_el.addEventListener("mouseenter",(()=>{t(!0)})),this.desc_el.addEventListener("mouseleave",(()=>{s||t(!1)})),document.addEventListener("mousedown",(e=>{const i=e.composedPath(),o=this._child_views.get(this.model.description);void 0!==o&&i.includes(o.el)||(i.includes(this.desc_el)?(s=!s,t(s)):(s=!1,t(!1)))})),window.addEventListener("blur",(()=>{s=!1,t(!1)})),this.shadow_el.appendChild((0,r.label)(this.desc_el))}}t.TooltipIconView=_,_.__name__="TooltipIconView";class u extends c.LayoutDOM{constructor(e){super(e)}}t.TooltipIcon=u,l=u,u.__name__="TooltipIcon",u.__module__="panel.models.widgets",l.prototype.default_view=_,l.define((({Ref:e})=>({description:[e(n.Tooltip),new n.Tooltip]})))},
161
- "3584638c04": function _(t,e,i,l,o){var s;l();const h=t("73d6aee8f5"),a=t("@bokehjs/core/build_views"),n=t("@bokehjs/models/plots"),d=t("@bokehjs/models/glyphs"),r=t("@bokehjs/core/dom"),c=t("@bokehjs/models/sources/column_data_source"),_=t("@bokehjs/models/formatters");class p extends h.HTMLBoxView{initialize(){super.initialize(),this.containerDiv=(0,r.div)({style:"height:100%; width:100%;"}),this.titleDiv=(0,r.div)({style:"font-size: 1em; word-wrap: break-word;"}),this.valueDiv=(0,r.div)({style:"font-size: 2em"}),this.value2Div=(0,r.div)({style:"font-size: 1em; opacity: 0.5; display: inline"}),this.changeDiv=(0,r.div)({style:"font-size: 1em; opacity: 0.5; display: inline"}),this.textDiv=(0,r.div)({},this.titleDiv,this.valueDiv,(0,r.div)({},this.changeDiv,this.value2Div)),this.updateTitle(),this.updateValue(),this.updateValue2(),this.updateValueChange(),this.updateTextFontSize(),this.plotDiv=(0,r.div)({}),this.containerDiv=(0,r.div)({style:"height:100%; width:100%"},this.textDiv,this.plotDiv),this.updateLayout()}connect_signals(){super.connect_signals();const{pos_color:t,neg_color:e,plot_color:i,plot_type:l,width:o,height:s,sizing_mode:h,title:a,value:n,value_change:d,layout:r}=this.model.properties;this.on_change([t,e],(()=>this.updateValueChange())),this.on_change([i,l,o,s,h],(()=>this.render())),this.on_change(a,(()=>this.updateTitle(!0))),this.on_change(n,(()=>this.updateValue(!0))),this.on_change(d,(()=>this.updateValue2(!0))),this.on_change(r,(()=>this.updateLayout()))}async render(){super.render(),this.shadow_el.appendChild(this.containerDiv),await this.setPlot()}async setPlot(){this.plot=new n.Plot({background_fill_color:null,border_fill_color:null,outline_line_color:null,min_border:0,sizing_mode:"stretch_both",toolbar_location:null});const t=this.model.source;if("line"===this.model.plot_type){const e=new d.Line({x:{field:this.model.plot_x},y:{field:this.model.plot_y},line_width:4,line_color:this.model.plot_color});this.plot.add_glyph(e,t)}else if("step"===this.model.plot_type){const e=new d.Step({x:{field:this.model.plot_x},y:{field:this.model.plot_y},line_width:3,line_color:this.model.plot_color});this.plot.add_glyph(e,t)}else if("area"===this.model.plot_type){const e=new d.VArea({x:{field:this.model.plot_x},y1:{field:this.model.plot_y},y2:0,fill_color:this.model.plot_color,fill_alpha:.5});this.plot.add_glyph(e,t);const i=new d.Line({x:{field:this.model.plot_x},y:{field:this.model.plot_y},line_width:3,line_color:this.model.plot_color});this.plot.add_glyph(i,t)}else{const e=new d.VBar({x:{field:this.model.plot_x},top:{field:this.model.plot_y},width:.9,line_color:null,fill_color:this.model.plot_color});this.plot.add_glyph(e,t)}const e=await(0,a.build_view)(this.plot);this.plotDiv.innerHTML="",e.render_to(this.plotDiv)}after_layout(){super.after_layout(),this.updateTextFontSize()}updateTextFontSize(){this.updateTextFontSizeColumn()}updateTextFontSizeColumn(){let t=this.containerDiv.clientWidth,e=this.containerDiv.clientHeight;"column"===this.model.layout?e=Math.round(e/2):t=Math.round(t/2);const i=t/this.model.title.length*2,l=t/(2*this._value_format.length)*1.8,o=t/(this._value_change_format.length+1)*2,s=e/6,h=Math.min(i,l,o,s);this.textDiv.style.fontSize=`${Math.trunc(h)}px`,this.textDiv.style.lineHeight="1.3"}updateTitle(t=!1){this.titleDiv.innerText=this.model.title,t&&this.updateTextFontSize()}updateValue(t=!1){this._value_format=this.model.formatter.doFormat([this.model.value],{loc:0})[0],this.valueDiv.innerText=this._value_format,t&&this.updateTextFontSize()}updateValue2(t=!1){this._value_change_format=this.model.change_formatter.doFormat([this.model.value_change],{loc:0})[0],this.value2Div.innerText=this._value_change_format,this.updateValueChange(),t&&this.updateTextFontSize()}updateValueChange(){this.model.value_change>0?(this.changeDiv.innerHTML="&#9650;",this.changeDiv.style.color=this.model.pos_color):this.model.value_change<0?(this.changeDiv.innerHTML="&#9660;",this.changeDiv.style.color=this.model.neg_color):(this.changeDiv.innerHTML="&nbsp;",this.changeDiv.style.color="inherit")}updateLayout(){"column"===this.model.layout?(this.containerDiv.style.display="block",this.textDiv.style.height="50%",this.textDiv.style.width="100%",this.plotDiv.style.height="50%",this.plotDiv.style.width="100%"):(this.containerDiv.style.display="flex",this.textDiv.style.height="100%",this.textDiv.style.width="",this.plotDiv.style.height="100%",this.plotDiv.style.width="",this.textDiv.style.flex="1",this.plotDiv.style.flex="1"),this._has_finished&&this.invalidate_layout()}}i.TrendIndicatorView=p,p.__name__="TrendIndicatorView";class u extends h.HTMLBox{constructor(t){super(t)}}i.TrendIndicator=u,s=u,u.__name__="TrendIndicator",u.__module__="panel.models.trend",s.prototype.default_view=p,s.define((({Float:t,Str:e,Ref:i})=>({description:[e,""],formatter:[i(_.TickFormatter),()=>new _.BasicTickFormatter],change_formatter:[i(_.TickFormatter),()=>new _.NumeralTickFormatter],layout:[e,"column"],source:[i(c.ColumnDataSource)],plot_x:[e,"x"],plot_y:[e,"y"],plot_color:[e,"#428bca"],plot_type:[e,"bar"],pos_color:[e,"#5cb85c"],neg_color:[e,"#d9534f"],title:[e,""],value:[t,0],value_change:[t,0]})))},
162
- "119dc23765": function _(e,t,s,o,n){var a,i;o();const d=e("@bokehjs/core/dom"),r=e("@bokehjs/core/bokeh_events"),c=e("@bokehjs/core/util/types"),h=e("@bokehjs/models/layouts/layout_dom"),_=e("73d6aee8f5"),l=e("99a25e6992");class u extends r.ModelEvent{constructor(e){super(),this.data=e}get event_values(){return{model:this.origin,data:this.data}}}s.VegaEvent=u,a=u,u.__name__="VegaEvent",a.prototype.event_name="vega_event";class v extends h.LayoutDOMView{constructor(){super(...arguments),this._rendered=!1}connect_signals(){super.connect_signals();const{data:e,show_actions:t,theme:s,data_sources:o,events:n}=this.model.properties;this._replot=(0,l.debounce)((()=>this._plot()),20),this.on_change([e,t,s],(()=>{this._replot()})),this.on_change(o,(()=>this._connect_sources())),this.on_change(n,(()=>{for(const e of this.model.events){if(this._callbacks.indexOf(e)>-1)continue;this._callbacks.push(e);const t=(e,t)=>this._dispatch_event(e,t),s=this.model.throttle[e]||20;this.vega_view.addSignalListener(e,(0,l.debounce)(t,s,!1))}})),this._connected=[],this._connect_sources()}_connect_sources(){for(const e in this.model.data_sources){const t=this.model.data_sources[e];this._connected.indexOf(e)<0&&(this.connect(t.properties.data.change,(()=>this._replot())),this._connected.push(e))}}remove(){this.vega_view&&this.vega_view.finalize(),super.remove()}_dispatch_event(e,t){if("vlPoint"in t&&null!=t.vlPoint.or){const e=[];for(const s of t.vlPoint.or)if(void 0!==s._vgsid_)e.push(s._vgsid_);else for(const t in s)s.hasOwnProperty(t)&&e.push({[t]:s[t]});t=e}this.model.trigger_event(new u({type:e,value:t}))}_fetch_datasets(){const e={};for(const t in this.model.data_sources){const s=this.model.data_sources[t],o=[],n=s.columns();for(let e=0;e<s.get_length();e++){const t={};for(const o of n)t[o]=s.data[o][e];o.push(t)}e[t]=o}return e}get child_models(){return[]}render(){super.render(),this._rendered=!1,this.container=(0,d.div)(),(0,_.set_size)(this.container,this.model),this._callbacks=[],this._plot(),this.shadow_el.append(this.container)}_plot(){const e=this.model.data;if(null==e||!window.vegaEmbed)return;if(this.model.data_sources&&Object.keys(this.model.data_sources).length>0){const t=this._fetch_datasets();if("data"in t&&(e.data.values=t.data,delete t.data),null!=e.data){const s=(0,c.isArray)(e.data)?e.data:[e.data];for(const e of s)e.name in t&&(e.values=t[e.name],delete t[e.name])}this.model.data.datasets=t}const t={actions:this.model.show_actions,theme:this.model.theme};window.vegaEmbed(this.container,this.model.data,t).then((e=>{this.vega_view=e.view,this._resize=(0,l.debounce)((()=>this.resize_view(e.view)),50);const t=(e,t)=>this._dispatch_event(e,t);for(const e of this.model.events){this._callbacks.push(e);const s=this.model.throttle[e]||20;this.vega_view.addSignalListener(e,(0,l.debounce)(t,s,!1))}}))}after_layout(){super.after_layout(),null!=this.vega_view&&this._resize()}resize_view(e){const t=e._renderer.canvas();if(!this._rendered&&null!==t){for(const t of e._eventListeners)"resize"===t.type&&t.handler(new Event("resize"));this._rendered=!0}}}s.VegaPlotView=v,v.__name__="VegaPlotView";class m extends h.LayoutDOM{constructor(e){super(e)}}s.VegaPlot=m,i=m,m.__name__="VegaPlot",m.__module__="panel.models.vega",i.prototype.default_view=v,i.define((({Any:e,List:t,Bool:s,Nullable:o,Str:n})=>({data:[e,{}],data_sources:[e,{}],events:[t(n),[]],show_actions:[s,!1],theme:[o(n),null],throttle:[e,{}]})))},
163
- "79dc37b888": function _(e,t,i,s,o){var l;s();const d=e("tslib"),h=e("@bokehjs/core/dom"),_=e("73d6aee8f5"),u=d.__importDefault(e("dfe21e6f1b"));class n extends _.HTMLBoxView{constructor(){super(...arguments),this._blocked=!1,this._setting=!1}initialize(){super.initialize(),this._time=Date.now()}connect_signals(){super.connect_signals();const{loop:e,paused:t,muted:i,autoplay:s,time:o,value:l,volume:d}=this.model.properties;this.on_change(e,(()=>this.set_loop())),this.on_change(t,(()=>this.set_paused())),this.on_change(i,(()=>this.set_muted())),this.on_change(s,(()=>this.set_autoplay())),this.on_change(o,(()=>this.set_time())),this.on_change(l,(()=>this.set_value())),this.on_change(d,(()=>this.set_volume()))}stylesheets(){return[...super.stylesheets(),u.default]}render(){super.render(),this.video_el=document.createElement("video");const e=document.createElement("div");e.className="pn-video-container",e.style.height="100%",e.style.width="100%";const{sizing_mode:t}=this.model;if(null==t||"fixed"===t){const{width:e,height:t}=this.model;null!=e&&(this.video_el.width=e),null!=t&&(this.video_el.height=t)}const{max_width:i,max_height:s}=this.model;null!=i&&(this.video_el.style.maxWidth=(0,h.px)(i)),null!=s&&(this.video_el.style.maxHeight=(0,h.px)(s)),this.video_el.controls=!0,this.video_el.src=this.model.value,this.video_el.currentTime=this.model.time,this.video_el.loop=this.model.loop,this.video_el.muted=this.model.muted,this.video_el.autoplay=this.model.autoplay,null!=this.model.volume?this.video_el.volume=this.model.volume/100:this.model.volume=100*this.video_el.volume,this.video_el.onpause=()=>this.model.paused=!0,this.video_el.onplay=()=>this.model.paused=!1,this.video_el.ontimeupdate=()=>this.update_time(),this.video_el.onvolumechange=()=>this.update_volume(),e.append(this.video_el),this.shadow_el.append(e),this.model.paused||this.video_el.play()}update_time(){this._setting?this._setting=!1:Date.now()-this._time<this.model.throttle||(this._blocked=!0,this.model.time=this.video_el.currentTime,this._time=Date.now())}update_volume(){this._setting?this._setting=!1:(this._blocked=!0,this.model.volume=100*this.video_el.volume)}set_loop(){this.video_el.loop=this.model.loop}set_muted(){this.video_el.muted=this.model.muted}set_autoplay(){this.video_el.autoplay=this.model.autoplay}set_paused(){const{paused:e}=this.model;!this.video_el.paused&&e&&this.video_el.pause(),this.video_el.paused&&!e&&this.video_el.play()}set_volume(){if(this._blocked)return void(this._blocked=!1);this._setting=!0;const{volume:e}=this.model;null!=e&&(this.video_el.volume=e/100)}set_time(){this._blocked?this._blocked=!1:(this._setting=!0,this.video_el.currentTime=this.model.time)}set_value(){this.video_el.src=this.model.value}}i.VideoView=n,n.__name__="VideoView";class a extends _.HTMLBox{constructor(e){super(e)}}i.Video=a,l=a,a.__name__="Video",a.__module__="panel.models.widgets",l.prototype.default_view=n,l.define((({Bool:e,Int:t,Float:i,Str:s,Nullable:o})=>({loop:[e,!1],paused:[e,!0],muted:[e,!1],autoplay:[e,!1],time:[i,0],throttle:[t,250],value:[s,""],volume:[o(t),null]})))},
162
+ "3584638c04": function _(t,e,i,l,o){var s;l();const h=t("c37096b5ea"),a=t("@bokehjs/core/build_views"),n=t("@bokehjs/models/plots"),d=t("@bokehjs/models/glyphs"),r=t("@bokehjs/core/dom"),c=t("@bokehjs/models/sources/column_data_source"),_=t("@bokehjs/models/formatters");class p extends h.HTMLBoxView{initialize(){super.initialize(),this.containerDiv=(0,r.div)({style:"height:100%; width:100%;"}),this.titleDiv=(0,r.div)({style:"font-size: 1em; word-wrap: break-word;"}),this.valueDiv=(0,r.div)({style:"font-size: 2em"}),this.value2Div=(0,r.div)({style:"font-size: 1em; opacity: 0.5; display: inline"}),this.changeDiv=(0,r.div)({style:"font-size: 1em; opacity: 0.5; display: inline"}),this.textDiv=(0,r.div)({},this.titleDiv,this.valueDiv,(0,r.div)({},this.changeDiv,this.value2Div)),this.updateTitle(),this.updateValue(),this.updateValue2(),this.updateValueChange(),this.updateTextFontSize(),this.plotDiv=(0,r.div)({}),this.containerDiv=(0,r.div)({style:"height:100%; width:100%"},this.textDiv,this.plotDiv),this.updateLayout()}connect_signals(){super.connect_signals();const{pos_color:t,neg_color:e,plot_color:i,plot_type:l,width:o,height:s,sizing_mode:h,title:a,value:n,value_change:d,layout:r}=this.model.properties;this.on_change([t,e],(()=>this.updateValueChange())),this.on_change([i,l,o,s,h],(()=>this.render())),this.on_change(a,(()=>this.updateTitle(!0))),this.on_change(n,(()=>this.updateValue(!0))),this.on_change(d,(()=>this.updateValue2(!0))),this.on_change(r,(()=>this.updateLayout()))}async render(){super.render(),this.shadow_el.appendChild(this.containerDiv),await this.setPlot()}async setPlot(){this.plot=new n.Plot({background_fill_color:null,border_fill_color:null,outline_line_color:null,min_border:0,sizing_mode:"stretch_both",toolbar_location:null});const t=this.model.source;if("line"===this.model.plot_type){const e=new d.Line({x:{field:this.model.plot_x},y:{field:this.model.plot_y},line_width:4,line_color:this.model.plot_color});this.plot.add_glyph(e,t)}else if("step"===this.model.plot_type){const e=new d.Step({x:{field:this.model.plot_x},y:{field:this.model.plot_y},line_width:3,line_color:this.model.plot_color});this.plot.add_glyph(e,t)}else if("area"===this.model.plot_type){const e=new d.VArea({x:{field:this.model.plot_x},y1:{field:this.model.plot_y},y2:0,fill_color:this.model.plot_color,fill_alpha:.5});this.plot.add_glyph(e,t);const i=new d.Line({x:{field:this.model.plot_x},y:{field:this.model.plot_y},line_width:3,line_color:this.model.plot_color});this.plot.add_glyph(i,t)}else{const e=new d.VBar({x:{field:this.model.plot_x},top:{field:this.model.plot_y},width:.9,line_color:null,fill_color:this.model.plot_color});this.plot.add_glyph(e,t)}const e=await(0,a.build_view)(this.plot);this.plotDiv.innerHTML="",e.render_to(this.plotDiv)}after_layout(){super.after_layout(),this.updateTextFontSize()}updateTextFontSize(){this.updateTextFontSizeColumn()}updateTextFontSizeColumn(){let t=this.containerDiv.clientWidth,e=this.containerDiv.clientHeight;"column"===this.model.layout?e=Math.round(e/2):t=Math.round(t/2);const i=t/this.model.title.length*2,l=t/(2*this._value_format.length)*1.8,o=t/(this._value_change_format.length+1)*2,s=e/6,h=Math.min(i,l,o,s);this.textDiv.style.fontSize=`${Math.trunc(h)}px`,this.textDiv.style.lineHeight="1.3"}updateTitle(t=!1){this.titleDiv.innerText=this.model.title,t&&this.updateTextFontSize()}updateValue(t=!1){this._value_format=this.model.formatter.doFormat([this.model.value],{loc:0})[0],this.valueDiv.innerText=this._value_format,t&&this.updateTextFontSize()}updateValue2(t=!1){this._value_change_format=this.model.change_formatter.doFormat([this.model.value_change],{loc:0})[0],this.value2Div.innerText=this._value_change_format,this.updateValueChange(),t&&this.updateTextFontSize()}updateValueChange(){this.model.value_change>0?(this.changeDiv.innerHTML="&#9650;",this.changeDiv.style.color=this.model.pos_color):this.model.value_change<0?(this.changeDiv.innerHTML="&#9660;",this.changeDiv.style.color=this.model.neg_color):(this.changeDiv.innerHTML="&nbsp;",this.changeDiv.style.color="inherit")}updateLayout(){"column"===this.model.layout?(this.containerDiv.style.display="block",this.textDiv.style.height="50%",this.textDiv.style.width="100%",this.plotDiv.style.height="50%",this.plotDiv.style.width="100%"):(this.containerDiv.style.display="flex",this.textDiv.style.height="100%",this.textDiv.style.width="",this.plotDiv.style.height="100%",this.plotDiv.style.width="",this.textDiv.style.flex="1",this.plotDiv.style.flex="1"),this._has_finished&&this.invalidate_layout()}}i.TrendIndicatorView=p,p.__name__="TrendIndicatorView";class u extends h.HTMLBox{constructor(t){super(t)}}i.TrendIndicator=u,s=u,u.__name__="TrendIndicator",u.__module__="panel.models.trend",s.prototype.default_view=p,s.define((({Float:t,Str:e,Ref:i})=>({description:[e,""],formatter:[i(_.TickFormatter),()=>new _.BasicTickFormatter],change_formatter:[i(_.TickFormatter),()=>new _.NumeralTickFormatter],layout:[e,"column"],source:[i(c.ColumnDataSource)],plot_x:[e,"x"],plot_y:[e,"y"],plot_color:[e,"#428bca"],plot_type:[e,"bar"],pos_color:[e,"#5cb85c"],neg_color:[e,"#d9534f"],title:[e,""],value:[t,0],value_change:[t,0]})))},
163
+ "119dc23765": function _(e,t,s,o,n){var a,i;o();const c=e("@bokehjs/core/dom"),d=e("@bokehjs/core/bokeh_events"),r=e("@bokehjs/core/util/types"),h=e("@bokehjs/models/layouts/layout_dom"),_=e("c37096b5ea"),l=e("99a25e6992");class u extends d.ModelEvent{constructor(e){super(),this.data=e}get event_values(){return{model:this.origin,data:this.data}}}s.VegaEvent=u,a=u,u.__name__="VegaEvent",a.prototype.event_name="vega_event";class v extends h.LayoutDOMView{constructor(){super(...arguments),this._rendered=!1}connect_signals(){super.connect_signals();const{data:e,show_actions:t,theme:s,data_sources:o,events:n}=this.model.properties;this._replot=(0,l.debounce)((()=>this._plot()),20),this.on_change([e,t,s],(()=>{this._replot()})),this.on_change(o,(()=>this._connect_sources())),this.on_change(n,(()=>{for(const e of this.model.events){if(this._callbacks.indexOf(e)>-1)continue;this._callbacks.push(e);const t=(e,t)=>this._dispatch_event(e,t),s=this.model.throttle[e]||20;this.vega_view.addSignalListener(e,(0,l.debounce)(t,s,!1))}})),this._connected=[],this._connect_sources()}_connect_sources(){for(const e in this.model.data_sources){const t=this.model.data_sources[e];this._connected.indexOf(e)<0&&(this.connect(t.properties.data.change,(()=>this._replot())),this._connected.push(e))}}remove(){this.vega_view&&this.vega_view.finalize(),super.remove()}_dispatch_event(e,t){if("vlPoint"in t&&null!=t.vlPoint.or){const e=[];for(const s of t.vlPoint.or)if(void 0!==s._vgsid_)e.push(s._vgsid_);else for(const t in s)s.hasOwnProperty(t)&&e.push({[t]:s[t]});t=e}this.model.trigger_event(new u({type:e,value:t}))}_fetch_datasets(){const e={};for(const t in this.model.data_sources){const s=this.model.data_sources[t],o=[],n=s.columns();for(let e=0;e<s.get_length();e++){const t={};for(const o of n)t[o]=s.data[o][e];o.push(t)}e[t]=o}return e}get child_models(){return[]}render(){super.render(),this._rendered=!1,this.container=(0,c.div)(),(0,_.set_size)(this.container,this.model),this._callbacks=[],this._plot(),this.shadow_el.append(this.container)}_plot(){const e=this.model.data;if(null==e||!window.vegaEmbed)return;if(this.model.data_sources&&Object.keys(this.model.data_sources).length>0){const t=this._fetch_datasets();if("data"in t&&(e.data.values=t.data,delete t.data),null!=e.data){const s=(0,r.isArray)(e.data)?e.data:[e.data];for(const e of s)e.name in t&&(e.values=t[e.name],delete t[e.name])}this.model.data.datasets=t}const t={actions:this.model.show_actions,theme:this.model.theme};window.vegaEmbed(this.container,this.model.data,t).then((e=>{this.vega_view=e.view,this._resize=(0,l.debounce)((()=>this.resize_view(e.view)),50);const t=(e,t)=>this._dispatch_event(e,t);for(const e of this.model.events){this._callbacks.push(e);const s=this.model.throttle[e]||20;this.vega_view.addSignalListener(e,(0,l.debounce)(t,s,!1))}}))}after_layout(){super.after_layout(),null!=this.vega_view&&this._resize()}resize_view(e){const t=e._renderer.canvas();if(!this._rendered&&null!==t){for(const t of e._eventListeners)"resize"===t.type&&t.handler(new Event("resize"));this._rendered=!0}}}s.VegaPlotView=v,v.__name__="VegaPlotView";class m extends h.LayoutDOM{constructor(e){super(e)}}s.VegaPlot=m,i=m,m.__name__="VegaPlot",m.__module__="panel.models.vega",i.prototype.default_view=v,i.define((({Any:e,List:t,Bool:s,Nullable:o,Str:n})=>({data:[e,{}],data_sources:[e,{}],events:[t(n),[]],show_actions:[s,!1],theme:[o(n),null],throttle:[e,{}]})))},
164
+ "79dc37b888": function _(e,t,i,s,o){var l;s();const d=e("tslib"),h=e("@bokehjs/core/dom"),_=e("c37096b5ea"),u=d.__importDefault(e("dfe21e6f1b"));class n extends _.HTMLBoxView{constructor(){super(...arguments),this._blocked=!1,this._setting=!1}initialize(){super.initialize(),this._time=Date.now()}connect_signals(){super.connect_signals();const{loop:e,paused:t,muted:i,autoplay:s,time:o,value:l,volume:d}=this.model.properties;this.on_change(e,(()=>this.set_loop())),this.on_change(t,(()=>this.set_paused())),this.on_change(i,(()=>this.set_muted())),this.on_change(s,(()=>this.set_autoplay())),this.on_change(o,(()=>this.set_time())),this.on_change(l,(()=>this.set_value())),this.on_change(d,(()=>this.set_volume()))}stylesheets(){return[...super.stylesheets(),u.default]}render(){super.render(),this.video_el=document.createElement("video");const e=document.createElement("div");e.className="pn-video-container",e.style.height="100%",e.style.width="100%";const{sizing_mode:t}=this.model;if(null==t||"fixed"===t){const{width:e,height:t}=this.model;null!=e&&(this.video_el.width=e),null!=t&&(this.video_el.height=t)}const{max_width:i,max_height:s}=this.model;null!=i&&(this.video_el.style.maxWidth=(0,h.px)(i)),null!=s&&(this.video_el.style.maxHeight=(0,h.px)(s)),this.video_el.controls=!0,this.video_el.src=this.model.value,this.video_el.currentTime=this.model.time,this.video_el.loop=this.model.loop,this.video_el.muted=this.model.muted,this.video_el.autoplay=this.model.autoplay,null!=this.model.volume?this.video_el.volume=this.model.volume/100:this.model.volume=100*this.video_el.volume,this.video_el.onpause=()=>this.model.paused=!0,this.video_el.onplay=()=>this.model.paused=!1,this.video_el.ontimeupdate=()=>this.update_time(),this.video_el.onvolumechange=()=>this.update_volume(),e.append(this.video_el),this.shadow_el.append(e),this.model.paused||this.video_el.play()}update_time(){this._setting?this._setting=!1:Date.now()-this._time<this.model.throttle||(this._blocked=!0,this.model.time=this.video_el.currentTime,this._time=Date.now())}update_volume(){this._setting?this._setting=!1:(this._blocked=!0,this.model.volume=100*this.video_el.volume)}set_loop(){this.video_el.loop=this.model.loop}set_muted(){this.video_el.muted=this.model.muted}set_autoplay(){this.video_el.autoplay=this.model.autoplay}set_paused(){const{paused:e}=this.model;!this.video_el.paused&&e&&this.video_el.pause(),this.video_el.paused&&!e&&this.video_el.play()}set_volume(){if(this._blocked)return void(this._blocked=!1);this._setting=!0;const{volume:e}=this.model;null!=e&&(this.video_el.volume=e/100)}set_time(){this._blocked?this._blocked=!1:(this._setting=!0,this.video_el.currentTime=this.model.time)}set_value(){this.video_el.src=this.model.value}}i.VideoView=n,n.__name__="VideoView";class a extends _.HTMLBox{constructor(e){super(e)}}i.Video=a,l=a,a.__name__="Video",a.__module__="panel.models.widgets",l.prototype.default_view=n,l.define((({Bool:e,Int:t,Float:i,Str:s,Nullable:o})=>({loop:[e,!1],paused:[e,!0],muted:[e,!1],autoplay:[e,!1],time:[i,0],throttle:[t,250],value:[s,""],volume:[o(t),null]})))},
164
165
  "dfe21e6f1b": function _(i,t,e,f,d){f(),e.default="video{object-fit:fill;width:100%;height:100%;}"},
165
- "f8afc4e661": function _(e,t,i,s,o){var h;s();const l=e("73d6aee8f5");class a extends l.HTMLBoxView{constructor(){super(...arguments),this.constraints={audio:!1,video:!0}}initialize(){super.initialize(),null!==this.model.timeout&&this.set_timeout()}connect_signals(){super.connect_signals();const{timeout:e,snapshot:t,paused:i}=this.model.properties;this.on_change(e,(()=>this.set_timeout())),this.on_change(t,(()=>this.snapshot())),this.on_change(i,(()=>this.pause()))}pause(){this.model.paused?(null!=this.timer&&(clearInterval(this.timer),this.timer=null),this.videoEl.pause()):this.videoEl.play(),this.set_timeout()}set_timeout(){this.timer&&(clearInterval(this.timer),this.timer=null),null!=this.model.timeout&&this.model.timeout>0&&(this.timer=setInterval((()=>this.snapshot()),this.model.timeout))}snapshot(){this.canvasEl.width=this.videoEl.videoWidth,this.canvasEl.height=this.videoEl.videoHeight;const e=this.canvasEl.getContext("2d");e&&e.drawImage(this.videoEl,0,0,this.canvasEl.width,this.canvasEl.height),this.model.value=this.canvasEl.toDataURL(`image/${this.model.format}`,.95)}remove(){super.remove(),this.timer&&(clearInterval(this.timer),this.timer=null)}render(){super.render(),this.videoEl||(this.videoEl=document.createElement("video"),this.model.sizing_mode&&"fixed"!==this.model.sizing_mode||(this.model.height&&(this.videoEl.height=this.model.height),this.model.width&&(this.videoEl.width=this.model.width)),this.videoEl.style.objectFit="fill",this.videoEl.style.minWidth="100%",this.videoEl.style.minHeight="100%",this.canvasEl=document.createElement("canvas"),this.shadow_el.appendChild(this.videoEl),navigator.mediaDevices.getUserMedia&&navigator.mediaDevices.getUserMedia(this.constraints).then((e=>{this.videoEl.srcObject=e,this.model.paused||this.videoEl.play()})).catch(console.error))}}i.VideoStreamView=a,a.__name__="VideoStreamView";class d extends l.HTMLBox{constructor(e){super(e)}}i.VideoStream=d,h=d,d.__name__="VideoStream",d.__module__="panel.models.widgets",h.prototype.default_view=a,h.define((({Any:e,Bool:t,Int:i,Nullable:s,Str:o})=>({format:[o,"png"],paused:[t,!1],snapshot:[t,!1],timeout:[s(i),null],value:[e]}))),h.override({height:240,width:320})},
166
- "470ce1dcbc": function _(e,t,i,s,n){var o;s();const a=e("@bokehjs/core/dom"),l=e("@bokehjs/core/util/types"),c=e("@bokehjs/models/sources/column_data_source"),r=e("@bokehjs/core/bokeh_events"),h=e("99a25e6992"),d=e("73d6aee8f5");class u extends r.ModelEvent{constructor(e){super(),this.event_name="vizzu_event",this.publish=!0,this.data=e}get event_values(){return{model:this.origin,data:this.data}}}i.VizzuEvent=u,u.__name__="VizzuEvent";const m=["x","y","color","label","lightness","size","splittedBy","dividedBy"];class f extends d.HTMLBoxView{constructor(){super(...arguments),this.update=[],this._animating=!1}connect_signals(){super.connect_signals();const e=(0,h.debounce)((()=>{if(this.valid_config){if(0!==this.update.length&&!this._animating){let t={};for(const e of this.update)t="config"===e?{...t,config:this.config()}:"data"===e?{...t,data:this.data()}:{...t,style:this.model.style};this._animating=!0,this.vizzu_view.animate(t,`${this.model.duration}ms`).then((()=>{this._animating=!1,this.update.length>0&&e()})),this.update=[]}}else console.warn("Vizzu config not valid given current data.")}),20),t=t=>{this.update.includes(t)||this.update.push(t),e()},{config:i,tooltip:s,style:n}=this.model.properties;this.on_change(i,(()=>t("config"))),this.on_change(this.model.source.properties.data,(()=>t("data"))),this.connect(this.model.source.streaming,(()=>t("data"))),this.connect(this.model.source.patching,(()=>t("data"))),this.on_change(s,(()=>{this.vizzu_view.feature("tooltip",this.model.tooltip)})),this.on_change(n,(()=>t("style")))}get valid_config(){const e=this.model.source.columns();if("channels"in this.model.config){for(const t of Object.values(this.model.config.channels))if((0,l.isArray)(t)){for(const i of t)if(null!=t&&!e.includes(i))return!1}else if((0,l.isObject)(t)){for(const i of Object.keys(t))for(const s of t[i])if(null!=t&&!e.includes(s))return!1}else if(null!=t&&!e.includes(t))return!1}else for(const t of m)if(t in this.model.config&&!e.includes(this.model.config[t]))return!1;return!0}config(){let e={...this.model.config};return"channels"in e&&(e.channels={...e.channels}),null!=e.preset&&(e=window.Vizzu.presets[e.preset](e)),e}data(){const e=[];for(const t of this.model.columns){let i=[...this.model.source.get_array(t.name)];"datetime"!==t.type&&"date"!=t.type||(t.type="dimension"),"dimension"===t.type&&(i=i.map(String)),e.push({...t,values:i})}return{series:e}}render(){super.render(),this.container=(0,a.div)({style:"display: contents;"}),this.shadow_el.append(this.container);const e={config:this.config(),data:this.data(),style:this.model.style};this.vizzu_view=new window.Vizzu(this.container,e),this._animating=!0,this.vizzu_view.initializing.then((e=>{e.on("click",(e=>{this.model.trigger_event(new u({...e.target,...e.detail}))})),e.feature("tooltip",this.model.tooltip),this._animating=!1}))}remove(){this.vizzu_view&&this.vizzu_view.detach(),super.remove()}}i.VizzuChartView=f,f.__name__="VizzuChartView";class _ extends d.HTMLBox{constructor(e){super(e)}}i.VizzuChart=_,o=_,_.__name__="VizzuChart",_.__module__="panel.models.vizzu",o.prototype.default_view=f,o.define((({Any:e,List:t,Bool:i,Float:s,Ref:n})=>({animation:[e,{}],config:[e,{}],columns:[t(e),[]],source:[n(c.ColumnDataSource)],duration:[s,500],style:[e,{}],tooltip:[i,!1]})))},
166
+ "f8afc4e661": function _(e,t,i,s,o){var h;s();const l=e("c37096b5ea");class a extends l.HTMLBoxView{constructor(){super(...arguments),this.constraints={audio:!1,video:!0}}initialize(){super.initialize(),null!==this.model.timeout&&this.set_timeout()}connect_signals(){super.connect_signals();const{timeout:e,snapshot:t,paused:i}=this.model.properties;this.on_change(e,(()=>this.set_timeout())),this.on_change(t,(()=>this.snapshot())),this.on_change(i,(()=>this.pause()))}pause(){this.model.paused?(null!=this.timer&&(clearInterval(this.timer),this.timer=null),this.videoEl.pause()):this.videoEl.play(),this.set_timeout()}set_timeout(){this.timer&&(clearInterval(this.timer),this.timer=null),null!=this.model.timeout&&this.model.timeout>0&&(this.timer=setInterval((()=>this.snapshot()),this.model.timeout))}snapshot(){this.canvasEl.width=this.videoEl.videoWidth,this.canvasEl.height=this.videoEl.videoHeight;const e=this.canvasEl.getContext("2d");e&&e.drawImage(this.videoEl,0,0,this.canvasEl.width,this.canvasEl.height),this.model.value=this.canvasEl.toDataURL(`image/${this.model.format}`,.95)}remove(){super.remove(),this.timer&&(clearInterval(this.timer),this.timer=null)}render(){super.render(),this.videoEl||(this.videoEl=document.createElement("video"),this.model.sizing_mode&&"fixed"!==this.model.sizing_mode||(this.model.height&&(this.videoEl.height=this.model.height),this.model.width&&(this.videoEl.width=this.model.width)),this.videoEl.style.objectFit="fill",this.videoEl.style.minWidth="100%",this.videoEl.style.minHeight="100%",this.canvasEl=document.createElement("canvas"),this.shadow_el.appendChild(this.videoEl),navigator.mediaDevices.getUserMedia&&navigator.mediaDevices.getUserMedia(this.constraints).then((e=>{this.videoEl.srcObject=e,this.model.paused||this.videoEl.play()})).catch(console.error))}}i.VideoStreamView=a,a.__name__="VideoStreamView";class d extends l.HTMLBox{constructor(e){super(e)}}i.VideoStream=d,h=d,d.__name__="VideoStream",d.__module__="panel.models.widgets",h.prototype.default_view=a,h.define((({Any:e,Bool:t,Int:i,Nullable:s,Str:o})=>({format:[o,"png"],paused:[t,!1],snapshot:[t,!1],timeout:[s(i),null],value:[e]}))),h.override({height:240,width:320})},
167
+ "470ce1dcbc": function _(e,t,i,s,n){var o;s();const a=e("@bokehjs/core/dom"),l=e("@bokehjs/core/util/types"),c=e("@bokehjs/models/sources/column_data_source"),r=e("@bokehjs/core/bokeh_events"),h=e("99a25e6992"),d=e("c37096b5ea");class u extends r.ModelEvent{constructor(e){super(),this.event_name="vizzu_event",this.publish=!0,this.data=e}get event_values(){return{model:this.origin,data:this.data}}}i.VizzuEvent=u,u.__name__="VizzuEvent";const m=["x","y","color","label","lightness","size","splittedBy","dividedBy"];class _ extends d.HTMLBoxView{constructor(){super(...arguments),this.update=[],this._animating=!1}connect_signals(){super.connect_signals();const e=(0,h.debounce)((()=>{if(this.valid_config){if(0!==this.update.length&&!this._animating){let t={};for(const e of this.update)t="config"===e?{...t,config:this.config()}:"data"===e?{...t,data:this.data()}:{...t,style:this.model.style};this._animating=!0,this.vizzu_view.animate(t,`${this.model.duration}ms`).then((()=>{this._animating=!1,this.update.length>0&&e()})),this.update=[]}}else console.warn("Vizzu config not valid given current data.")}),20),t=t=>{this.update.includes(t)||this.update.push(t),e()},{config:i,tooltip:s,style:n}=this.model.properties;this.on_change(i,(()=>t("config"))),this.on_change(this.model.source.properties.data,(()=>t("data"))),this.connect(this.model.source.streaming,(()=>t("data"))),this.connect(this.model.source.patching,(()=>t("data"))),this.on_change(s,(()=>{this.vizzu_view.feature("tooltip",this.model.tooltip)})),this.on_change(n,(()=>t("style")))}get valid_config(){const e=this.model.source.columns();if("channels"in this.model.config){for(const t of Object.values(this.model.config.channels))if((0,l.isArray)(t)){for(const i of t)if(null!=t&&!e.includes(i))return!1}else if((0,l.isObject)(t)){for(const i of Object.keys(t))for(const s of t[i])if(null!=t&&!e.includes(s))return!1}else if(null!=t&&!e.includes(t))return!1}else for(const t of m)if(t in this.model.config&&!e.includes(this.model.config[t]))return!1;return!0}config(){let e={...this.model.config};return"channels"in e&&(e.channels={...e.channels}),null!=e.preset&&(e=window.Vizzu.presets[e.preset](e)),e}data(){const e=[];for(const t of this.model.columns){let i=[...this.model.source.get_array(t.name)];"datetime"!==t.type&&"date"!=t.type||(t.type="dimension"),"dimension"===t.type&&(i=i.map(String)),e.push({...t,values:i})}return{series:e}}render(){super.render(),this.container=(0,a.div)({style:"display: contents;"}),this.shadow_el.append(this.container);const e={config:this.config(),data:this.data(),style:this.model.style};this.vizzu_view=new window.Vizzu(this.container,e),this._animating=!0,this.vizzu_view.initializing.then((e=>{e.on("click",(e=>{this.model.trigger_event(new u({...e.target,...e.detail}))})),e.feature("tooltip",this.model.tooltip),this._animating=!1}))}remove(){this.vizzu_view&&this.vizzu_view.detach(),super.remove()}}i.VizzuChartView=_,_.__name__="VizzuChartView";class f extends d.HTMLBox{constructor(e){super(e)}}i.VizzuChart=f,o=f,f.__name__="VizzuChart",f.__module__="panel.models.vizzu",o.prototype.default_view=_,o.define((({Any:e,List:t,Bool:i,Float:s,Ref:n})=>({animation:[e,{}],config:[e,{}],columns:[t(e),[]],source:[n(c.ColumnDataSource)],duration:[s,500],style:[e,{}],tooltip:[i,!1]})))},
167
168
  "c51f25e2a7": function _(o,V,l,K,T){K(),T("VTKJSPlot",o("ac55912dc1").VTKJSPlot),T("VTKVolumePlot",o("4797a2858f").VTKVolumePlot),T("VTKAxes",o("0379dcf1cd").VTKAxes),T("VTKSynchronizedPlot",o("a4e5946204").VTKSynchronizedPlot)},
168
169
  "ac55912dc1": function _(e,t,n,s,a){var i;s();const r=e("b06d05fa3e"),l=e("df9946ff52");class _ extends r.AbstractVTKView{connect_signals(){super.connect_signals();const{data:e}=this.model.properties;this.on_change(e,(()=>{this.invalidate_render()}))}render(){super.render(),this._create_orientation_widget(),this._set_axes()}invalidate_render(){this._vtk_renwin=null,super.invalidate_render()}init_vtk_renwin(){this._vtk_renwin=l.vtkns.FullScreenRenderWindow.newInstance({rootContainer:this._vtk_container,container:this._vtk_container})}plot(){if(null==this.model.data&&null==this.model.data_url)return void this._vtk_renwin.getRenderWindow().render();let e;e=this.model.data_url?l.vtkns.DataAccessHelper.get("http").fetchBinary(this.model.data_url):async()=>{this.model.data},e.then((e=>{const t=l.vtkns.DataAccessHelper.get("zip",{zipContent:e,callback:e=>{const n=l.vtkns.HttpSceneLoader.newInstance({renderer:this._vtk_renwin.getRenderer(),dataAccessHelper:t}),s=window.vtk.macro.debounce((()=>{setTimeout((()=>{null==this._axes&&this.model.axes&&this._set_axes(),this._set_camera_state(),this._get_camera_state(),this._vtk_renwin.getRenderWindow().render()}),100)}),100);n.setUrl("index.json"),n.onReady(s)}})}))}}n.VTKJSPlotView=_,_.__name__="VTKJSPlotView";class d extends r.AbstractVTKPlot{}n.VTKJSPlot=d,i=d,d.__name__="VTKJSPlot",i.prototype.default_view=_,i.define((({Boolean:e,Bytes:t,Nullable:n,String:s})=>({data:[n(t),null],data_url:[n(s),null],enable_keybindings:[e,!1]})))},
169
- "b06d05fa3e": function _(e,t,i,n,s){var a;n();const r=e("@bokehjs/core/dom"),o=e("@bokehjs/core/util/object"),_=e("@bokehjs/models/mappers/color_mapper"),d=e("@bokehjs/core/kinds"),h=e("73d6aee8f5"),c=e("df9946ff52"),l=e("b1d68776a9"),g=e("0379dcf1cd"),m={padding:"0px 2px 0px 2px",maxHeight:"150px",height:"auto",backgroundColor:"rgba(255, 255, 255, 0.4)",borderRadius:"10px",margin:"2px",boxSizing:"border-box",overflow:"hidden",overflowY:"auto",transition:"width 0.1s linear",bottom:"0px",position:"absolute"},p=(0,d.Enum)("LowerLeft","LowerRight","UpperLeft","UpperRight","LowerEdge","RightEdge","LeftEdge","UpperEdge");class v extends h.HTMLBoxView{initialize(){super.initialize(),this._camera_callbacks=[],this._renderable=!0,this._setting_camera=!1,this._rendered=!1}_add_colorbars(){const e=this.shadow_el.querySelector(".vtk_info");if(e&&this.shadow_el.removeChild(e),this.model.color_mappers.length<1)return;const t=document.createElement("div"),i="350px",n="30px";t.classList.add("vtk_info"),(0,c.applyStyle)(t,m),(0,c.applyStyle)(t,{width:i}),this.shadow_el.appendChild(t);const s=[];this.model.color_mappers.forEach((e=>{const i=new l.VTKColorBar(t,e);s.push(i)}));const a=document.createElement("div");(0,c.applyStyle)(a,{textAlign:"center",fontSize:"20px"}),a.innerText="...",t.addEventListener("click",(()=>{t.style.width===n?(t.removeChild(a),(0,c.applyStyle)(t,{height:"auto",width:i}),s.forEach((e=>t.appendChild(e.canvas)))):(s.forEach((e=>t.removeChild(e.canvas))),(0,c.applyStyle)(t,{height:n,width:n}),t.appendChild(a))})),t.click()}_init_annotations_container(){this._annotations_container||(this._annotations_container=document.createElement("div"),this._annotations_container.style.position="absolute",this._annotations_container.style.width="100%",this._annotations_container.style.height="100%",this._annotations_container.style.top="0",this._annotations_container.style.left="0",this._annotations_container.style.pointerEvents="none")}_clean_annotations(){if(this._annotations_container)for(;this._annotations_container.firstElementChild;)this._annotations_container.firstElementChild.remove()}_add_annotations(){this._clean_annotations();const{annotations:e}=this.model;if(null!=e)for(const t of e){const{viewport:e,color:i,fontSize:n,fontFamily:s}=t;p.values.forEach((a=>{const r=t[a];if(r){const t=document.createElement("div");t.textContent=r;const{style:o}=t;o.position="absolute",o.color=`rgb(${i.map((e=>255*e)).join(",")})`,o.fontSize=`${n}px`,o.padding="5px",o.fontFamily=s,o.width="fit-content","UpperLeft"==a&&(o.top=100*(1-e[3])+"%",o.left=100*e[0]+"%"),"UpperRight"==a&&(o.top=100*(1-e[3])+"%",o.right=100*(1-e[2])+"%"),"LowerLeft"==a&&(o.bottom=100*e[1]+"%",o.left=100*e[0]+"%"),"LowerRight"==a&&(o.bottom=100*e[1]+"%",o.right=100*(1-e[2])+"%"),"UpperEdge"==a&&(o.top=100*(1-e[3])+"%",o.left=100*(e[0]+(e[2]-e[0])/2)+"%",o.transform="translateX(-50%)"),"LowerEdge"==a&&(o.bottom=100*e[1]+"%",o.left=100*(e[0]+(e[2]-e[0])/2)+"%",o.transform="translateX(-50%)"),"LeftEdge"==a&&(o.left=100*e[0]+"%",o.top=100*(1-e[3]+(e[3]-e[1])/2)+"%",o.transform="translateY(-50%)"),"RightEdge"==a&&(o.right=100*(1-e[2])+"%",o.top=100*(1-e[3]+(e[3]-e[1])/2)+"%",o.transform="translateY(-50%)"),this._annotations_container.appendChild(t)}}))}}connect_signals(){super.connect_signals(),this.on_change(this.model.properties.orientation_widget,(()=>{this._orientation_widget_visibility(this.model.orientation_widget)})),this.on_change(this.model.properties.camera,(()=>this._set_camera_state())),this.on_change(this.model.properties.axes,(()=>{this._delete_axes(),this.model.axes&&this._set_axes(),this._vtk_render()})),this.on_change(this.model.properties.color_mappers,(()=>this._add_colorbars())),this.on_change(this.model.properties.annotations,(()=>this._add_annotations()))}render(){super.render(),this._rendered=!1,this._orientationWidget=null,this._axes=null,this._vtk_container=(0,r.div)(),this.init_vtk_renwin(),this._init_annotations_container(),(0,h.set_size)(this._vtk_container,this.model),this.shadow_el.appendChild(this._vtk_container),this._vtk_renwin.getInteractor().onEndAnimation((()=>this._get_camera_state())),this._remove_default_key_binding(),this._bind_key_events(),this.plot(),this.model.renderer_el=this._vtk_renwin,this.shadow_el.appendChild(this._annotations_container)}after_layout(){super.after_layout(),this._renderable&&this._vtk_renwin.resize(),this._vtk_render(),this._rendered||(this._add_colorbars(),this._add_annotations(),this._rendered=!0)}invalidate_render(){this._unsubscribe_camera_cb(),super.invalidate_render()}remove(){this._unsubscribe_camera_cb(),window.removeEventListener("resize",this._vtk_renwin.resize),null!=this._orientationWidget&&this._orientationWidget.delete(),this._vtk_renwin.getRenderWindow().getInteractor().delete(),this._vtk_renwin.delete(),super.remove()}get _vtk_camera_state(){const e=this._vtk_renwin.getRenderer().getActiveCamera();let t;return e&&(t=(0,o.clone)(e.get()),delete t.cameraLightTransform,delete t.classHierarchy,delete t.vtkObject,delete t.vtkCamera,delete t.viewPlaneNormal,delete t.flattenedDepIds,delete t.managedInstanceId,delete t.directionOfProjection),t}get _axes_canvas(){let e=this._vtk_container.querySelector(".axes-canvas");return e||(e=(0,r.canvas)({style:{position:"absolute",top:"0",left:"0",width:"100%",height:"100%"}}),e.classList.add("axes-canvas"),this._vtk_container.appendChild(e),this._vtk_renwin.setResizeCallback((()=>{if(this._axes_canvas){const e=this._vtk_container.getBoundingClientRect(),t=Math.floor(e.width*window.devicePixelRatio),i=Math.floor(e.height*window.devicePixelRatio);this._axes_canvas.setAttribute("width",t.toFixed()),this._axes_canvas.setAttribute("height",i.toFixed())}}))),e}_bind_key_events(){this.el.addEventListener("mouseenter",(()=>{const e=this._vtk_renwin.getInteractor();this.model.enable_keybindings&&(document.querySelector("body").addEventListener("keypress",e.handleKeyPress),document.querySelector("body").addEventListener("keydown",e.handleKeyDown),document.querySelector("body").addEventListener("keyup",e.handleKeyUp))})),this.el.addEventListener("mouseleave",(()=>{const e=this._vtk_renwin.getInteractor();document.querySelector("body").removeEventListener("keypress",e.handleKeyPress),document.querySelector("body").removeEventListener("keydown",e.handleKeyDown),document.querySelector("body").removeEventListener("keyup",e.handleKeyUp)}))}_create_orientation_widget(){const e=c.vtkns.AxesActor.newInstance();this._orientationWidget=c.vtkns.OrientationMarkerWidget.newInstance({actor:e,interactor:this._vtk_renwin.getInteractor()}),this._orientationWidget.setEnabled(!0),this._orientationWidget.setViewportCorner(c.vtkns.OrientationMarkerWidget.Corners.BOTTOM_RIGHT),this._orientationWidget.setViewportSize(.15),this._orientationWidget.setMinPixelSize(75),this._orientationWidget.setMaxPixelSize(300),this.model.interactive_orientation_widget&&this._make_orientation_widget_interactive(),this._orientation_widget_visibility(this.model.orientation_widget)}_make_orientation_widget_interactive(){this._widgetManager=c.vtkns.WidgetManager.newInstance(),this._widgetManager.setRenderer(this._orientationWidget.getRenderer());const e=this._orientationWidget.getActor(),t=c.vtkns.InteractiveOrientationWidget.newInstance();t.placeWidget(e.getBounds()),t.setBounds(e.getBounds()),t.setPlaceFactor(1);this._widgetManager.addWidget(t).onOrientationChange((({direction:e})=>{const t=this._vtk_renwin.getRenderer().getActiveCamera(),i=t.getFocalPoint(),n=t.getPosition(),s=t.getViewUp(),a=Math.sqrt((n[0]-i[0])**2+(n[1]-i[1])**2+(n[2]-i[2])**2);t.setPosition(i[0]+e[0]*a,i[1]+e[1]*a,i[2]+e[2]*a),e[0]&&t.setViewUp((0,c.majorAxis)(s,1,2)),e[1]&&t.setViewUp((0,c.majorAxis)(s,0,2)),e[2]&&t.setViewUp((0,c.majorAxis)(s,0,1)),this._vtk_renwin.getRenderer().resetCameraClippingRange(),this._vtk_render(),this._get_camera_state()}))}_delete_axes(){if(this._axes){Object.keys(this._axes).forEach((e=>{this._vtk_renwin.getRenderer().removeActor(this._axes[e])})),this._axes=null;const e=this._axes_canvas.getContext("2d");e&&e.clearRect(0,0,this._axes_canvas.clientWidth*window.devicePixelRatio,this._axes_canvas.clientHeight*window.devicePixelRatio)}}_get_camera_state(){this._setting_camera||(this._setting_camera=!0,this.model.camera=this._vtk_camera_state,this._setting_camera=!1)}_orientation_widget_visibility(e){this._orientationWidget.setEnabled(e),null!=this._widgetManager&&(e?this._widgetManager.enablePicking():this._widgetManager.disablePicking()),this._vtk_render()}_remove_default_key_binding(){const e=this._vtk_renwin.getInteractor();document.querySelector("body").removeEventListener("keypress",e.handleKeyPress),document.querySelector("body").removeEventListener("keydown",e.handleKeyDown),document.querySelector("body").removeEventListener("keyup",e.handleKeyUp)}_set_axes(){if(this.model.axes&&this._vtk_renwin.getRenderer()){const{psActor:e,axesActor:t,gridActor:i}=this.model.axes.create_axes(this._axes_canvas);this._axes={psActor:e,axesActor:t,gridActor:i},e&&this._vtk_renwin.getRenderer().addActor(e),t&&this._vtk_renwin.getRenderer().addActor(t),i&&this._vtk_renwin.getRenderer().addActor(i)}}_set_camera_state(){this._setting_camera||void 0===this._vtk_renwin.getRenderer()||(this._setting_camera=!0,this.model.camera&&JSON.stringify(this.model.camera)!=JSON.stringify(this._vtk_camera_state)&&this._vtk_renwin.getRenderer().getActiveCamera().set(this.model.camera),this._vtk_renwin.getRenderer().resetCameraClippingRange(),this._setting_camera=!1)}_unsubscribe_camera_cb(){this._camera_callbacks.splice(0,this._camera_callbacks.length).map((e=>e.unsubscribe()))}_vtk_render(){this._renderable&&(this._orientationWidget&&this._orientationWidget.updateMarkerOrientation(),this._vtk_renwin.getRenderWindow().render())}}i.AbstractVTKView=v,v.__name__="AbstractVTKView";class w extends h.HTMLBox{constructor(e){(0,c.setup_vtkns)(),super(e)}getActors(){return this.renderer_el.getRenderer().getActors()}}i.AbstractVTKPlot=w,a=w,w.__name__="AbstractVTKPlot",w.__module__="panel.models.vtk",a.define((({Any:e,Ref:t,Array:i,Boolean:n,Nullable:s})=>({axes:[s(t(g.VTKAxes)),null],camera:[e,{}],color_mappers:[i(t(_.ColorMapper)),[]],orientation_widget:[n,!1],interactive_orientation_widget:[n,!1],annotations:[s(i(e)),null]}))),a.override({height:300,width:300})},
170
+ "b06d05fa3e": function _(e,t,i,n,s){var a;n();const r=e("@bokehjs/core/dom"),o=e("@bokehjs/core/util/object"),_=e("@bokehjs/models/mappers/color_mapper"),d=e("@bokehjs/core/kinds"),h=e("c37096b5ea"),c=e("df9946ff52"),l=e("b1d68776a9"),g=e("0379dcf1cd"),m={padding:"0px 2px 0px 2px",maxHeight:"150px",height:"auto",backgroundColor:"rgba(255, 255, 255, 0.4)",borderRadius:"10px",margin:"2px",boxSizing:"border-box",overflow:"hidden",overflowY:"auto",transition:"width 0.1s linear",bottom:"0px",position:"absolute"},p=(0,d.Enum)("LowerLeft","LowerRight","UpperLeft","UpperRight","LowerEdge","RightEdge","LeftEdge","UpperEdge");class v extends h.HTMLBoxView{initialize(){super.initialize(),this._camera_callbacks=[],this._renderable=!0,this._setting_camera=!1,this._rendered=!1}_add_colorbars(){const e=this.shadow_el.querySelector(".vtk_info");if(e&&this.shadow_el.removeChild(e),this.model.color_mappers.length<1)return;const t=document.createElement("div"),i="350px",n="30px";t.classList.add("vtk_info"),(0,c.applyStyle)(t,m),(0,c.applyStyle)(t,{width:i}),this.shadow_el.appendChild(t);const s=[];this.model.color_mappers.forEach((e=>{const i=new l.VTKColorBar(t,e);s.push(i)}));const a=document.createElement("div");(0,c.applyStyle)(a,{textAlign:"center",fontSize:"20px"}),a.innerText="...",t.addEventListener("click",(()=>{t.style.width===n?(t.removeChild(a),(0,c.applyStyle)(t,{height:"auto",width:i}),s.forEach((e=>t.appendChild(e.canvas)))):(s.forEach((e=>t.removeChild(e.canvas))),(0,c.applyStyle)(t,{height:n,width:n}),t.appendChild(a))})),t.click()}_init_annotations_container(){this._annotations_container||(this._annotations_container=document.createElement("div"),this._annotations_container.style.position="absolute",this._annotations_container.style.width="100%",this._annotations_container.style.height="100%",this._annotations_container.style.top="0",this._annotations_container.style.left="0",this._annotations_container.style.pointerEvents="none")}_clean_annotations(){if(this._annotations_container)for(;this._annotations_container.firstElementChild;)this._annotations_container.firstElementChild.remove()}_add_annotations(){this._clean_annotations();const{annotations:e}=this.model;if(null!=e)for(const t of e){const{viewport:e,color:i,fontSize:n,fontFamily:s}=t;p.values.forEach((a=>{const r=t[a];if(r){const t=document.createElement("div");t.textContent=r;const{style:o}=t;o.position="absolute",o.color=`rgb(${i.map((e=>255*e)).join(",")})`,o.fontSize=`${n}px`,o.padding="5px",o.fontFamily=s,o.width="fit-content","UpperLeft"==a&&(o.top=100*(1-e[3])+"%",o.left=100*e[0]+"%"),"UpperRight"==a&&(o.top=100*(1-e[3])+"%",o.right=100*(1-e[2])+"%"),"LowerLeft"==a&&(o.bottom=100*e[1]+"%",o.left=100*e[0]+"%"),"LowerRight"==a&&(o.bottom=100*e[1]+"%",o.right=100*(1-e[2])+"%"),"UpperEdge"==a&&(o.top=100*(1-e[3])+"%",o.left=100*(e[0]+(e[2]-e[0])/2)+"%",o.transform="translateX(-50%)"),"LowerEdge"==a&&(o.bottom=100*e[1]+"%",o.left=100*(e[0]+(e[2]-e[0])/2)+"%",o.transform="translateX(-50%)"),"LeftEdge"==a&&(o.left=100*e[0]+"%",o.top=100*(1-e[3]+(e[3]-e[1])/2)+"%",o.transform="translateY(-50%)"),"RightEdge"==a&&(o.right=100*(1-e[2])+"%",o.top=100*(1-e[3]+(e[3]-e[1])/2)+"%",o.transform="translateY(-50%)"),this._annotations_container.appendChild(t)}}))}}connect_signals(){super.connect_signals(),this.on_change(this.model.properties.orientation_widget,(()=>{this._orientation_widget_visibility(this.model.orientation_widget)})),this.on_change(this.model.properties.camera,(()=>this._set_camera_state())),this.on_change(this.model.properties.axes,(()=>{this._delete_axes(),this.model.axes&&this._set_axes(),this._vtk_render()})),this.on_change(this.model.properties.color_mappers,(()=>this._add_colorbars())),this.on_change(this.model.properties.annotations,(()=>this._add_annotations()))}render(){super.render(),this._rendered=!1,this._orientationWidget=null,this._axes=null,this._vtk_container=(0,r.div)(),this.init_vtk_renwin(),this._init_annotations_container(),(0,h.set_size)(this._vtk_container,this.model),this.shadow_el.appendChild(this._vtk_container),this._vtk_renwin.getInteractor().onEndAnimation((()=>this._get_camera_state())),this._remove_default_key_binding(),this._bind_key_events(),this.plot(),this.model.renderer_el=this._vtk_renwin,this.shadow_el.appendChild(this._annotations_container)}after_layout(){super.after_layout(),this._renderable&&this._vtk_renwin.resize(),this._vtk_render(),this._rendered||(this._add_colorbars(),this._add_annotations(),this._rendered=!0)}invalidate_render(){this._unsubscribe_camera_cb(),super.invalidate_render()}remove(){this._unsubscribe_camera_cb(),window.removeEventListener("resize",this._vtk_renwin.resize),null!=this._orientationWidget&&this._orientationWidget.delete(),this._vtk_renwin.getRenderWindow().getInteractor().delete(),this._vtk_renwin.delete(),super.remove()}get _vtk_camera_state(){const e=this._vtk_renwin.getRenderer().getActiveCamera();let t;return e&&(t=(0,o.clone)(e.get()),delete t.cameraLightTransform,delete t.classHierarchy,delete t.vtkObject,delete t.vtkCamera,delete t.viewPlaneNormal,delete t.flattenedDepIds,delete t.managedInstanceId,delete t.directionOfProjection),t}get _axes_canvas(){let e=this._vtk_container.querySelector(".axes-canvas");return e||(e=(0,r.canvas)({style:{position:"absolute",top:"0",left:"0",width:"100%",height:"100%"}}),e.classList.add("axes-canvas"),this._vtk_container.appendChild(e),this._vtk_renwin.setResizeCallback((()=>{if(this._axes_canvas){const e=this._vtk_container.getBoundingClientRect(),t=Math.floor(e.width*window.devicePixelRatio),i=Math.floor(e.height*window.devicePixelRatio);this._axes_canvas.setAttribute("width",t.toFixed()),this._axes_canvas.setAttribute("height",i.toFixed())}}))),e}_bind_key_events(){this.el.addEventListener("mouseenter",(()=>{const e=this._vtk_renwin.getInteractor();this.model.enable_keybindings&&(document.querySelector("body").addEventListener("keypress",e.handleKeyPress),document.querySelector("body").addEventListener("keydown",e.handleKeyDown),document.querySelector("body").addEventListener("keyup",e.handleKeyUp))})),this.el.addEventListener("mouseleave",(()=>{const e=this._vtk_renwin.getInteractor();document.querySelector("body").removeEventListener("keypress",e.handleKeyPress),document.querySelector("body").removeEventListener("keydown",e.handleKeyDown),document.querySelector("body").removeEventListener("keyup",e.handleKeyUp)}))}_create_orientation_widget(){const e=c.vtkns.AxesActor.newInstance();this._orientationWidget=c.vtkns.OrientationMarkerWidget.newInstance({actor:e,interactor:this._vtk_renwin.getInteractor()}),this._orientationWidget.setEnabled(!0),this._orientationWidget.setViewportCorner(c.vtkns.OrientationMarkerWidget.Corners.BOTTOM_RIGHT),this._orientationWidget.setViewportSize(.15),this._orientationWidget.setMinPixelSize(75),this._orientationWidget.setMaxPixelSize(300),this.model.interactive_orientation_widget&&this._make_orientation_widget_interactive(),this._orientation_widget_visibility(this.model.orientation_widget)}_make_orientation_widget_interactive(){this._widgetManager=c.vtkns.WidgetManager.newInstance(),this._widgetManager.setRenderer(this._orientationWidget.getRenderer());const e=this._orientationWidget.getActor(),t=c.vtkns.InteractiveOrientationWidget.newInstance();t.placeWidget(e.getBounds()),t.setBounds(e.getBounds()),t.setPlaceFactor(1);this._widgetManager.addWidget(t).onOrientationChange((({direction:e})=>{const t=this._vtk_renwin.getRenderer().getActiveCamera(),i=t.getFocalPoint(),n=t.getPosition(),s=t.getViewUp(),a=Math.sqrt((n[0]-i[0])**2+(n[1]-i[1])**2+(n[2]-i[2])**2);t.setPosition(i[0]+e[0]*a,i[1]+e[1]*a,i[2]+e[2]*a),e[0]&&t.setViewUp((0,c.majorAxis)(s,1,2)),e[1]&&t.setViewUp((0,c.majorAxis)(s,0,2)),e[2]&&t.setViewUp((0,c.majorAxis)(s,0,1)),this._vtk_renwin.getRenderer().resetCameraClippingRange(),this._vtk_render(),this._get_camera_state()}))}_delete_axes(){if(this._axes){Object.keys(this._axes).forEach((e=>{this._vtk_renwin.getRenderer().removeActor(this._axes[e])})),this._axes=null;const e=this._axes_canvas.getContext("2d");e&&e.clearRect(0,0,this._axes_canvas.clientWidth*window.devicePixelRatio,this._axes_canvas.clientHeight*window.devicePixelRatio)}}_get_camera_state(){this._setting_camera||(this._setting_camera=!0,this.model.camera=this._vtk_camera_state,this._setting_camera=!1)}_orientation_widget_visibility(e){this._orientationWidget.setEnabled(e),null!=this._widgetManager&&(e?this._widgetManager.enablePicking():this._widgetManager.disablePicking()),this._vtk_render()}_remove_default_key_binding(){const e=this._vtk_renwin.getInteractor();document.querySelector("body").removeEventListener("keypress",e.handleKeyPress),document.querySelector("body").removeEventListener("keydown",e.handleKeyDown),document.querySelector("body").removeEventListener("keyup",e.handleKeyUp)}_set_axes(){if(this.model.axes&&this._vtk_renwin.getRenderer()){const{psActor:e,axesActor:t,gridActor:i}=this.model.axes.create_axes(this._axes_canvas);this._axes={psActor:e,axesActor:t,gridActor:i},e&&this._vtk_renwin.getRenderer().addActor(e),t&&this._vtk_renwin.getRenderer().addActor(t),i&&this._vtk_renwin.getRenderer().addActor(i)}}_set_camera_state(){this._setting_camera||void 0===this._vtk_renwin.getRenderer()||(this._setting_camera=!0,this.model.camera&&JSON.stringify(this.model.camera)!=JSON.stringify(this._vtk_camera_state)&&this._vtk_renwin.getRenderer().getActiveCamera().set(this.model.camera),this._vtk_renwin.getRenderer().resetCameraClippingRange(),this._setting_camera=!1)}_unsubscribe_camera_cb(){this._camera_callbacks.splice(0,this._camera_callbacks.length).map((e=>e.unsubscribe()))}_vtk_render(){this._renderable&&(this._orientationWidget&&this._orientationWidget.updateMarkerOrientation(),this._vtk_renwin.getRenderWindow().render())}}i.AbstractVTKView=v,v.__name__="AbstractVTKView";class w extends h.HTMLBox{constructor(e){(0,c.setup_vtkns)(),super(e)}getActors(){return this.renderer_el.getRenderer().getActors()}}i.AbstractVTKPlot=w,a=w,w.__name__="AbstractVTKPlot",w.__module__="panel.models.vtk",a.define((({Any:e,Ref:t,Array:i,Boolean:n,Nullable:s})=>({axes:[s(t(g.VTKAxes)),null],camera:[e,{}],color_mappers:[i(t(_.ColorMapper)),[]],orientation_widget:[n,!1],interactive_orientation_widget:[n,!1],annotations:[s(i(e)),null]}))),a.override({height:300,width:300})},
170
171
  "df9946ff52": function _(e,n,r,t,o){t();const a=e("@bokehjs/core/util/array"),i=e("@bokehjs/core/kinds");function c(){if(null!=r.vtkns.Actor)return;const e=window.vtk;Object.assign(r.vtkns,{Actor:e.Rendering.Core.vtkActor,AxesActor:e.Rendering.Core.vtkAxesActor,Base64:e.Common.Core.vtkBase64,BoundingBox:e.Common.DataModel.vtkBoundingBox,Camera:e.Rendering.Core.vtkCamera,ColorTransferFunction:e.Rendering.Core.vtkColorTransferFunction,CubeSource:e.Filters.Sources.vtkCubeSource,DataAccessHelper:e.IO.Core.DataAccessHelper,DataArray:e.Common.Core.vtkDataArray,Follower:e.Rendering.Core.vtkFollower,FullScreenRenderWindow:e.Rendering.Misc.vtkFullScreenRenderWindow,Glyph3DMapper:e.Rendering.Core.vtkGlyph3DMapper,HttpSceneLoader:e.IO.Core.vtkHttpSceneLoader,ImageData:e.Common.DataModel.vtkImageData,ImageMapper:e.Rendering.Core.vtkImageMapper,ImageProperty:e.Rendering.Core.vtkImageProperty,ImageSlice:e.Rendering.Core.vtkImageSlice,InteractiveOrientationWidget:e.Widgets.Widgets3D.vtkInteractiveOrientationWidget,InteractorStyleTrackballCamera:e.Interaction.Style.vtkInteractorStyleTrackballCamera,Light:e.Rendering.Core.vtkLight,LineSource:e.Filters.Sources.vtkLineSource,LookupTable:e.Common.Core.vtkLookupTable,macro:e.macro,Mapper:e.Rendering.Core.vtkMapper,OpenGLRenderWindow:e.Rendering.OpenGL.vtkRenderWindow,OrientationMarkerWidget:e.Interaction.Widgets.vtkOrientationMarkerWidget,OutlineFilter:e.Filters.General.vtkOutlineFilter,PiecewiseFunction:e.Common.DataModel.vtkPiecewiseFunction,PixelSpaceCallbackMapper:e.Rendering.Core.vtkPixelSpaceCallbackMapper,PlaneSource:e.Filters.Sources.vtkPlaneSource,PointSource:e.Filters.Sources.vtkPointSource,PolyData:e.Common.DataModel.vtkPolyData,Property:e.Rendering.Core.vtkProperty,Renderer:e.Rendering.Core.vtkRenderer,RenderWindow:e.Rendering.Core.vtkRenderWindow,RenderWindowInteractor:e.Rendering.Core.vtkRenderWindowInteractor,SphereMapper:e.Rendering.Core.vtkSphereMapper,SynchronizableRenderWindow:e.Rendering.Misc.vtkSynchronizableRenderWindow,Texture:e.Rendering.Core.vtkTexture,Volume:e.Rendering.Core.vtkVolume,VolumeController:e.Interaction.UI.vtkVolumeController,VolumeMapper:e.Rendering.Core.vtkVolumeMapper,VolumeProperty:e.Rendering.Core.vtkVolumeProperty,WidgetManager:e.Widgets.Core.vtkWidgetManager});const{vtkObjectManager:n}=r.vtkns.SynchronizableRenderWindow;n.setTypeMapping("vtkVolumeMapper",r.vtkns.VolumeMapper.newInstance,n.oneTimeGenericUpdater),n.setTypeMapping("vtkSmartVolumeMapper",r.vtkns.VolumeMapper.newInstance,n.oneTimeGenericUpdater),n.setTypeMapping("vtkFollower",r.vtkns.Follower.newInstance,n.genericUpdater),n.setTypeMapping("vtkOpenGLGlyph3DMapper",r.vtkns.Glyph3DMapper.newInstance,n.genericUpdater)}function l(e){const n=Math.min(Math.max(Math.round(e),0),255).toString(16);return 2==n.length?n:`0${n}`}function s(e,n,r){return`#${l(e)}${l(n)}${l(r)}`}function p(e){const n=new ArrayBuffer(e.length),r=new Uint8Array(n);for(let n=0,t=e.length;n<t;n++)r[n]=e.charCodeAt(n);return n}r.ARRAY_TYPES={uint8:Uint8Array,int8:Int8Array,uint16:Uint16Array,int16:Int16Array,uint32:Uint32Array,int32:Int32Array,float32:Float32Array,float64:Float64Array},r.vtkns={},r.setup_vtkns=c,window.vtk&&c(),r.Interpolation=(0,i.Enum)("fast_linear","linear","nearest"),r.applyStyle=function(e,n){Object.keys(n).forEach((r=>{e.style[r]=n[r]}))},r.hexToRGB=function(e){return[parseInt(e.slice(1,3),16)/255,parseInt(e.slice(3,5),16)/255,parseInt(e.slice(5,7),16)/255]},r.rgbToHex=s,r.vtkLutToMapper=function(e){const{scale:n,nodes:t}=e.get("scale","nodes");if(n!==r.vtkns.ColorTransferFunction.Scale.LINEAR)throw new Error("Error transfer function scale not handle");const o=t.map((e=>e.x)),i=Math.min(...o),c=Math.max(...o),l=(0,a.linspace)(i,c,255),p=[0,0,0];return{low:i,high:c,palette:l.map((n=>(e.getColor(n,p),s(255*p[0],255*p[1],255*p[2]))))}},r.data2VTKImageData=function(e){const n=r.vtkns.ImageData.newInstance({spacing:e.spacing});n.setDimensions(e.dims),n.setOrigin(null!=e.origin?e.origin:e.dims.map((e=>e/2)));const t=r.vtkns.DataArray.newInstance({name:"scalars",numberOfComponents:1,values:new r.ARRAY_TYPES[e.dtype](p(atob(e.buffer)))});return n.getPointData().setScalars(t),n},r.majorAxis=function(e,n,r){const t=[0,0,0],o=Math.abs(e[n])>Math.abs(e[r])?n:r,a=e[o]>0?1:-1;return t[o]=a,t},r.cartesian_product=function(...e){return e.reduce(((e,n)=>[...e].flatMap((e=>n.map((n=>[].concat(e,n)))))))}},
171
172
  "b1d68776a9": function _(t,i,e,s,h){s();const a=t("@bokehjs/models/mappers"),n=t("@bokehjs/core/util/array");class c{constructor(t,i,e={}){this.parent=t,this.mapper=i,this.options=e,e.ticksNum||(e.ticksNum=5),e.fontFamily||(e.fontFamily="Arial"),e.fontSize||(e.fontSize="12px"),e.ticksSize||(e.ticksSize=2),this.canvas=document.createElement("canvas"),this.canvas.style.width="100%",this.parent.appendChild(this.canvas),this.ctx=this.canvas.getContext("2d"),this.ctx.font=`${this.options.fontSize} ${this.options.fontFamily}`,this.ctx.lineWidth=e.ticksSize,e.height||(e.height=4*(this.font_height+1)+"px"),this.canvas.style.height=e.height,this.draw_colorbar()}get values(){const{min:t,max:i}=this.mapper.metrics;return(0,n.linspace)(t,i,this.options.ticksNum)}get ticks(){return this.values.map((t=>t.toExponential(3)))}get title(){return this.mapper.name??"scalars"}get font_height(){let t=0;return this.values.forEach((i=>{const{actualBoundingBoxAscent:e,actualBoundingBoxDescent:s}=this.ctx.measureText(`${i}`),h=e+s;t<h&&(t=h)})),t}draw_colorbar(){this.canvas.width=this.canvas.clientWidth,this.canvas.height=this.canvas.clientHeight;const{palette:t}=this.mapper;this.ctx.font=`${this.options.fontSize} ${this.options.fontFamily}`;const i=this.font_height;this.ctx.save();const e=document.createElement("canvas"),s=t.length;e.width=s,e.height=1;const h=e.getContext("2d"),c=h.getImageData(0,0,s,1),o=new a.LinearColorMapper({palette:t}).rgba_mapper.v_compute((0,n.range)(0,t.length));c.data.set(o),h.putImageData(c,0,0),this.ctx.drawImage(e,0,2*(this.font_height+1)+1,this.canvas.width,this.canvas.height),this.ctx.restore(),this.ctx.save(),this.ctx.textAlign="center",this.ctx.fillText(this.title,this.canvas.width/2,i+1),this.ctx.restore(),this.ctx.save();const r=(0,n.linspace)(0,this.canvas.width,5);r.forEach(((t,e)=>{let s=t;0==e?(s=t+Math.ceil(this.ctx.lineWidth/2),this.ctx.textAlign="left"):e==r.length-1?(s=t-Math.ceil(this.ctx.lineWidth/2),this.ctx.textAlign="right"):this.ctx.textAlign="center",this.ctx.moveTo(s,2*(i+1)),this.ctx.lineTo(s,2*(i+1)+5),this.ctx.stroke(),this.ctx.fillText(`${this.ticks[e]}`,t,2*(i+1))})),this.ctx.restore()}}e.VTKColorBar=c,c.__name__="VTKColorBar"},
172
173
  "0379dcf1cd": function _(t,i,s,e,n){var a;e();const r=t("@bokehjs/model"),c=t("2f3fd5db07"),l=t("df9946ff52");class h extends r.Model{constructor(t){super(t)}get xticks(){return this.xticker?this.xticker.ticks:[]}get yticks(){return this.yticker?this.yticker.ticks:[]}get zticks(){return this.zticker?this.zticker.ticks:[]}get xlabels(){return this.xticker?.labels?this.xticker.labels:this.xticks.map((t=>t.toFixed(this.digits)))}get ylabels(){return this.yticker?.labels?this.yticker.labels:this.yticks.map((t=>t.toFixed(this.digits)))}get zlabels(){return this.zticker?.labels?this.zticker.labels:this.zticks.map((t=>t.toFixed(this.digits)))}_make_grid_lines(t,i,s){const e=[];for(let n=0;n<t-1;n++)for(let t=0;t<i-1;t++){const a=n*i+t+s,r=[5,a,n*i+t+1+s,(n+1)*i+t+1+s,(n+1)*i+t+s,a];e.push(r)}return e}_create_grid_axes(){const t=[];t.push((0,l.cartesian_product)(this.xticks,this.yticks,[this.origin[2]])),t.push((0,l.cartesian_product)([this.origin[0]],this.yticks,this.zticks)),t.push((0,l.cartesian_product)(this.xticks,[this.origin[1]],this.zticks));const i=[];let s=0;i.push(this._make_grid_lines(this.xticks.length,this.yticks.length,s)),s+=this.xticks.length*this.yticks.length,i.push(this._make_grid_lines(this.yticks.length,this.zticks.length,s)),s+=this.yticks.length*this.zticks.length,i.push(this._make_grid_lines(this.xticks.length,this.zticks.length,s));const e=window.vtk({vtkClass:"vtkPolyData",points:{vtkClass:"vtkPoints",dataType:"Float32Array",numberOfComponents:3,values:t.flat(2)},lines:{vtkClass:"vtkCellArray",dataType:"Uint32Array",values:i.flat(2)}}),n=l.vtkns.Mapper.newInstance(),a=l.vtkns.Actor.newInstance();return n.setInputData(e),a.setMapper(n),a.getProperty().setOpacity(this.grid_opacity),a.setVisibility(this.show_grid),a}create_axes(t){if(null==this.origin)return{psActor:null,axesActor:null,gridActor:null};const i=[this.xticks,this.yticks,this.zticks].map(((t,i)=>{let s=null;switch(i){case 0:s=(0,l.cartesian_product)(t,[this.origin[1]],[this.origin[2]]);break;case 1:s=(0,l.cartesian_product)([this.origin[0]],t,[this.origin[2]]);break;case 2:s=(0,l.cartesian_product)([this.origin[0]],[this.origin[1]],t)}return s})).flat(2),s=window.vtk({vtkClass:"vtkPolyData",points:{vtkClass:"vtkPoints",dataType:"Float32Array",numberOfComponents:3,values:i},lines:{vtkClass:"vtkCellArray",dataType:"Uint32Array",values:[2,0,this.xticks.length-1,2,this.xticks.length,this.xticks.length+this.yticks.length-1,2,this.xticks.length+this.yticks.length,this.xticks.length+this.yticks.length+this.zticks.length-1]}}),e=l.vtkns.PixelSpaceCallbackMapper.newInstance();e.setInputData(s),e.setUseZValues(!0),e.setCallback(((i,s,n)=>{const a=t.getContext("2d");if(a){const r={height:t.clientHeight*window.devicePixelRatio,width:t.clientWidth*window.devicePixelRatio},l=e.getInputData().getPoints(),h=s.getViewMatrix();c.mat4.transpose(h,h);const o=s.getProjectionMatrix(n,-1,1);c.mat4.transpose(o,o),a.clearRect(0,0,r.width,r.height),i.forEach(((t,i)=>{const s=l.getPoint(i),e=c.vec3.fromValues(s[0],s[1],s[2]);if(c.vec3.transformMat4(e,e,h),e[2]+=.05,c.vec3.transformMat4(e,e,o),e[2]-.001<t[3]){let s;a.font="30px serif",a.textAlign="center",a.textBaseline="alphabetic",a.fillText(".",t[0],r.height-t[1]+2),a.font=this.fontsize*window.devicePixelRatio+"px serif",a.textAlign="right",a.textBaseline="top",s=i<this.xticks.length?this.xlabels[i]:i>=this.xticks.length&&i<this.xticks.length+this.yticks.length?this.ylabels[i-this.xticks.length]:this.zlabels[i-(this.xticks.length+this.yticks.length)],a.fillText(`${s}`,t[0],r.height-t[1])}}))}}));const n=l.vtkns.Actor.newInstance();n.setMapper(e);const a=l.vtkns.Mapper.newInstance();a.setInputData(s);const r=l.vtkns.Actor.newInstance();r.setMapper(a),r.getProperty().setOpacity(this.axes_opacity);return{psActor:n,axesActor:r,gridActor:this._create_grid_axes()}}}s.VTKAxes=h,a=h,h.__name__="VTKAxes",h.__module__="panel.models.vtk",a.define((({Any:t,Array:i,Boolean:s,Number:e})=>({origin:[i(e),[0,0,0]],xticker:[t,null],yticker:[t,null],zticker:[t,null],digits:[e,1],show_grid:[s,!0],grid_opacity:[e,.1],axes_opacity:[e,1],fontsize:[e,12]})))},
@@ -184,4 +185,4 @@ function(e){const t={};return void 0!==e.detail&&Object.assign(t,{detail:JSON.pa
184
185
  "4797a2858f": function _(e,t,i,s,n){var r;s();const o=e("b06d05fa3e"),a=e("df9946ff52");class l extends o.AbstractVTKView{connect_signals(){super.connect_signals();const{data:e,colormap:t,shadow:i,sampling:s,edge_gradient:n,rescale:r,ambient:o,diffuse:l,camera:d,specular:_,specular_power:c,display_volume:h,display_slices:g,slice_i:p,slice_j:m,slice_k:u,render_background:v,interpolation:w,controller_expanded:y,nan_opacity:k}=this.model.properties;this.on_change(e,(()=>{this._vtk_image_data=(0,a.data2VTKImageData)(this.model.data),this.invalidate_render()})),this.on_change(t,(()=>{this.colormap_selector.value=this.model.colormap;const e=new Event("change");this.colormap_selector.dispatchEvent(e)})),this.on_change(i,(()=>{this.shadow_selector.value=this.model.shadow?"1":"0";const e=new Event("change");this.shadow_selector.dispatchEvent(e)})),this.on_change(s,(()=>{this.sampling_slider.value=this.model.sampling.toFixed(2);const e=new Event("input");this.sampling_slider.dispatchEvent(e)})),this.on_change(n,(()=>{this.edge_gradient_slider.value=this.model.edge_gradient.toFixed(2);const e=new Event("input");this.edge_gradient_slider.dispatchEvent(e)})),this.on_change(r,(()=>{this._controllerWidget.setRescaleColorMap(this.model.rescale),this._vtk_renwin.getRenderWindow().render()})),this.on_change(o,(()=>{this.volume.getProperty().setAmbient(this.model.ambient),this._vtk_renwin.getRenderWindow().render()})),this.on_change(l,(()=>{this.volume.getProperty().setDiffuse(this.model.diffuse),this._vtk_renwin.getRenderWindow().render()})),this.on_change(d,(()=>{this._setting_camera||(this._set_camera_state(),this._vtk_renwin.getRenderWindow().render())})),this.on_change(_,(()=>{this.volume.getProperty().setSpecular(this.model.specular),this._vtk_renwin.getRenderWindow().render()})),this.on_change(c,(()=>{this.volume.getProperty().setSpecularPower(this.model.specular_power),this._vtk_renwin.getRenderWindow().render()})),this.on_change(h,(()=>{this._set_volume_visibility(this.model.display_volume),this._vtk_renwin.getRenderWindow().render()})),this.on_change(g,(()=>{this._set_slices_visibility(this.model.display_slices),this._vtk_renwin.getRenderWindow().render()})),this.on_change(p,(()=>{void 0!==this.image_actor_i&&(this.image_actor_i.getMapper().setISlice(this.model.slice_i),this._vtk_renwin.getRenderWindow().render())})),this.on_change(m,(()=>{void 0!==this.image_actor_j&&(this.image_actor_j.getMapper().setJSlice(this.model.slice_j),this._vtk_renwin.getRenderWindow().render())})),this.on_change(u,(()=>{void 0!==this.image_actor_k&&(this.image_actor_k.getMapper().setKSlice(this.model.slice_k),this._vtk_renwin.getRenderWindow().render())})),this.on_change(v,(()=>{this._vtk_renwin.getRenderer().setBackground(...(0,a.hexToRGB)(this.model.render_background)),this._vtk_renwin.getRenderWindow().render()})),this.on_change(w,(()=>{this._set_interpolation(this.model.interpolation),this._vtk_renwin.getRenderWindow().render()})),this.on_change(y,(()=>{null!=this._controllerWidget&&this._controllerWidget.setExpanded(this.model.controller_expanded)})),this.on_change(k,(()=>{const e=this.image_actor_i.getProperty().getScalarOpacity();e.get(["nodes"]).nodes[0].y=this.model.nan_opacity,e.modified(),this._vtk_renwin.getRenderWindow().render()}))}render(){this._vtk_renwin=null,this._orientationWidget=null,this._axes=null,super.render(),this._create_orientation_widget(),this._set_axes(),this._vtk_renwin.getRenderer().resetCamera(),Object.keys(this.model.camera).length&&this._set_camera_state(),this._get_camera_state()}invalidate_render(){this._vtk_renwin=null,super.invalidate_render()}init_vtk_renwin(){this._vtk_renwin=a.vtkns.FullScreenRenderWindow.newInstance({rootContainer:this.shadow_el,container:this._vtk_container})}plot(){this._controllerWidget=a.vtkns.VolumeController.newInstance({size:[400,150],rescaleColorMap:this.model.rescale}),this._plot_volume(),this._plot_slices(),this._controllerWidget.setupContent(this._vtk_renwin.getRenderWindow(),this.volume,!0),this._controllerWidget.setContainer(this.el),this._controllerWidget.setExpanded(this.model.controller_expanded),this._connect_js_controls(),this._vtk_renwin.getRenderWindow().getInteractor(),this._vtk_renwin.getRenderWindow().getInteractor().setDesiredUpdateRate(45),this._set_volume_visibility(this.model.display_volume),this._set_slices_visibility(this.model.display_slices),this._vtk_renwin.getRenderer().setBackground(...(0,a.hexToRGB)(this.model.render_background)),this._set_interpolation(this.model.interpolation),this._set_camera_state()}get vtk_image_data(){return this._vtk_image_data||(this._vtk_image_data=(0,a.data2VTKImageData)(this.model.data)),this._vtk_image_data}get volume(){return this._vtk_renwin.getRenderer().getVolumes()[0]}get image_actor_i(){return this._vtk_renwin.getRenderer().getActors()[0]}get image_actor_j(){return this._vtk_renwin.getRenderer().getActors()[1]}get image_actor_k(){return this._vtk_renwin.getRenderer().getActors()[2]}get shadow_selector(){return this.el.querySelector(".js-shadow")}get edge_gradient_slider(){return this.el.querySelector(".js-edge")}get sampling_slider(){return this.el.querySelector(".js-spacing")}get colormap_selector(){return this.el.querySelector(".js-color-preset")}_connect_js_controls(){const{el:e}=this._controllerWidget.get("el");if(void 0!==e){e.querySelector(".js-button").addEventListener("click",(()=>this.model.controller_expanded=this._controllerWidget.getExpanded()))}this.colormap_selector.addEventListener("change",(()=>{this.model.colormap=this.colormap_selector.value})),this.model.colormap?this.model.properties.colormap.change.emit():this.model.colormap=this.colormap_selector.value,this.shadow_selector.addEventListener("change",(()=>{this.model.shadow=!!Number(this.shadow_selector.value)})),(this.model.shadow=!!Number(this.shadow_selector.value))&&this.model.properties.shadow.change.emit(),this.sampling_slider.addEventListener("input",(()=>{const e=Number(this.sampling_slider.value);Math.abs(this.model.sampling-e)>=.005&&(this.model.sampling=e)})),Math.abs(this.model.sampling-Number(this.shadow_selector.value))>=.005&&this.model.properties.sampling.change.emit(),this.edge_gradient_slider.addEventListener("input",(()=>{const e=Number(this.edge_gradient_slider.value);Math.abs(this.model.edge_gradient-e)>=.005&&(this.model.edge_gradient=e)})),Math.abs(this.model.edge_gradient-Number(this.edge_gradient_slider.value))>=.005&&this.model.properties.edge_gradient.change.emit()}_plot_slices(){const e=this._vtk_image_data,t=a.vtkns.ImageSlice.newInstance(),i=a.vtkns.ImageSlice.newInstance(),s=a.vtkns.ImageSlice.newInstance(),n=a.vtkns.ImageMapper.newInstance(),r=a.vtkns.ImageMapper.newInstance(),o=a.vtkns.ImageMapper.newInstance();n.setInputData(e),n.setISlice(this.model.slice_i),t.setMapper(n),r.setInputData(e),r.setJSlice(this.model.slice_j),i.setMapper(r),o.setInputData(e),o.setKSlice(this.model.slice_k),s.setMapper(o);const l=a.vtkns.PiecewiseFunction.newInstance(),d=this.volume.getProperty().getRGBTransferFunction(0),_=this.volume.getMapper().getInputData().getPointData().getScalars().getRange();l.removeAllPoints(),l.addPoint(_[0]-1,this.model.nan_opacity),l.addPoint(_[0],1),l.addPoint(_[1],1);const c=t.getProperty();i.setProperty(c),s.setProperty(c),c.setRGBTransferFunction(d),c.setScalarOpacity(l);const h=this._vtk_renwin.getRenderer();h.addActor(t),h.addActor(i),h.addActor(s)}_plot_volume(){const e=this.vtk_image_data,t=a.vtkns.Volume.newInstance(),i=a.vtkns.VolumeMapper.newInstance();t.setMapper(i),i.setInputData(e);const s=(e.getPointData().getScalars()||e.getPointData().getArrays()[0]).getRange(),n=a.vtkns.ColorTransferFunction.newInstance();if(null!=this.model.colormap){const e=a.vtkns.ColorTransferFunction.vtkColorMaps.getPresetByName(this.model.colormap);n.applyColorMap(e)}n.onModified((()=>this.model.mapper=(0,a.vtkLutToMapper)(n)));const r=a.vtkns.PiecewiseFunction.newInstance(),o=.7*Math.sqrt(e.getSpacing().map((e=>e*e)).reduce(((e,t)=>e+t),0));i.setSampleDistance(o),t.getProperty().setRGBTransferFunction(0,n),t.getProperty().setScalarOpacity(0,r),t.getProperty().setInterpolationTypeToFastLinear(),t.getProperty().setScalarOpacityUnitDistance(0,a.vtkns.BoundingBox.getDiagonalLength(e.getBounds())/Math.max(...e.getDimensions())),t.getProperty().setGradientOpacityMinimumValue(0,0),t.getProperty().setGradientOpacityMaximumValue(0,.05*(s[1]-s[0])),t.getProperty().setShade(this.model.shadow),t.getProperty().setUseGradientOpacity(0,!0),t.getProperty().setGradientOpacityMinimumOpacity(0,0),t.getProperty().setGradientOpacityMaximumOpacity(0,1),t.getProperty().setAmbient(this.model.ambient),t.getProperty().setDiffuse(this.model.diffuse),t.getProperty().setSpecular(this.model.specular),t.getProperty().setSpecularPower(this.model.specular_power),this._vtk_renwin.getRenderer().addVolume(t)}_set_interpolation(e){"fast_linear"==e?(this.volume.getProperty().setInterpolationTypeToFastLinear(),this.image_actor_i.getProperty().setInterpolationTypeToLinear()):"linear"==e?(this.volume.getProperty().setInterpolationTypeToLinear(),this.image_actor_i.getProperty().setInterpolationTypeToLinear()):(this.volume.getProperty().setInterpolationTypeToNearest(),this.image_actor_i.getProperty().setInterpolationTypeToNearest())}_set_slices_visibility(e){this.image_actor_i.setVisibility(e),this.image_actor_j.setVisibility(e),this.image_actor_k.setVisibility(e)}_set_volume_visibility(e){this.volume.setVisibility(e)}}i.VTKVolumePlotView=l,l.__name__="VTKVolumePlotView";class d extends o.AbstractVTKPlot{constructor(e){super(e)}}i.VTKVolumePlot=d,r=d,d.__name__="VTKVolumePlot",r.prototype.default_view=l,r.define((({Any:e,Array:t,Boolean:i,Int:s,Number:n,String:r,Struct:o})=>({ambient:[n,.2],colormap:[r],data:[e],diffuse:[n,.7],display_slices:[i,!1],display_volume:[i,!0],edge_gradient:[n,.2],interpolation:[a.Interpolation,"fast_linear"],mapper:[o({palette:t(r),low:n,high:n}),{palette:[],low:0,high:0}],nan_opacity:[n,1],render_background:[r,"#52576e"],rescale:[i,!1],sampling:[n,.4],shadow:[i,!0],slice_i:[s,0],slice_j:[s,0],slice_k:[s,0],specular:[n,.3],specular_power:[n,8],controller_expanded:[i,!0]}))),r.override({height:300,width:300})},
185
186
  "a4e5946204": function _(e,t,n,i,r){var s;i();const _=e("@bokehjs/core/util/object"),o=e("99a25e6992"),c=e("b06d05fa3e"),a=e("5e89c7b3eb"),h=e("df9946ff52"),d="panel";class l extends c.AbstractVTKView{initialize(){super.initialize(),this._renderable=!1,this._synchronizer_context=h.vtkns.SynchronizableRenderWindow.getSynchronizerContext(`${d}-{this.model.id}`)}connect_signals(){super.connect_signals();const{arrays:e,scene:t,one_time_reset:n}=this.model.properties;this.on_change([e,t],(0,o.debounce)((()=>{this._vtk_renwin.delete(),this._vtk_renwin=null,this.invalidate_render()}),20)),this.on_change(n,(()=>{this._vtk_renwin.getRenderWindow().clearOneTimeUpdaters()}))}init_vtk_renwin(){this._vtk_renwin=h.vtkns.FullScreenRenderWindowSynchronized.newInstance({rootContainer:this.el,container:this._vtk_container,synchronizerContext:this._synchronizer_context})}remove(){this._vtk_renwin&&this._vtk_renwin.delete(),super.remove()}plot(){this._vtk_renwin.getRenderWindow().clearOneTimeUpdaters();const e=(0,_.clone)(this.model.scene);this._sync_plot(e,(()=>this._on_scene_ready())).then((()=>{this._set_camera_state(),this._get_camera_state()}))}_on_scene_ready(){this._renderable=!0,this._camera_callbacks.push(this._vtk_renwin.getRenderer().getActiveCamera().onModified((()=>this._vtk_render()))),this._orientationWidget||this._create_orientation_widget(),this._axes||this._set_axes(),this._vtk_renwin.resize(),this._vtk_render()}_sync_plot(e,t){this._renderable=!1,this._unsubscribe_camera_cb(),this._synchronizer_context.setFetchArrayFunction((e=>Promise.resolve(this.model.arrays[e])));const n=this._synchronizer_context.getInstance(this.model.scene.dependencies[0].id);return n&&!this._vtk_renwin.getRenderer()&&this._vtk_renwin.getRenderWindow().addRenderer(n),this._vtk_renwin.getRenderWindow().synchronize(e).then(t)}}n.VTKSynchronizedPlotView=l,l.__name__="VTKSynchronizedPlotView";class v extends c.AbstractVTKPlot{constructor(e){super(e),(0,a.initialize_fullscreen_render)(),this.outline=h.vtkns.OutlineFilter.newInstance();const t=h.vtkns.Mapper.newInstance();t.setInputConnection(this.outline.getOutputPort()),this.outline_actor=h.vtkns.Actor.newInstance(),this.outline_actor.setMapper(t)}getActors(e){let t=this.renderer_el.getRenderer().getActors();if(e){const n=this.renderer_el.getSynchronizerContext(d);t=t.filter((t=>{const i=n.getInstanceId(t);return!!i&&i.slice(-16)==e.slice(1,17)}))}return t}}n.VTKSynchronizedPlot=v,s=v,v.__name__="VTKSynchronizedPlot",v.__module__="panel.models.vtk",s.prototype.default_view=l,s.define((({Any:e,Array:t,Boolean:n,Bytes:i,Dict:r,String:s})=>({arrays:[r(i),{}],arrays_processed:[t(s),[]],enable_keybindings:[n,!1],one_time_reset:[n,!1],rebuild:[n,!1],scene:[e,{}]}))),s.override({height:300,width:300})},
186
187
  "5e89c7b3eb": function _(e,n,o,t,r){t();const i=e("df9946ff52"),l={containerStyle:null,controlPanelStyle:null,listenWindowResize:!0,resizeCallback:null,controllerVisibility:!0,synchronizerContextName:"default"},a={position:"absolute",left:"25px",top:"25px",backgroundColor:"white",borderRadius:"5px",listStyle:"none",padding:"5px 10px",margin:"0",display:"block",border:"solid 1px black",maxWidth:"calc(100vw - 70px)",maxHeight:"calc(100vh - 60px)",overflow:"auto"};o.initialize_fullscreen_render=function(){const e={newInstance:window.vtk.macro.newInstance(((e,n,o={})=>{Object.assign(n,l,o),window.vtk.macro.obj(e,n),window.vtk.macro.get(e,n,["renderWindow","openGLRenderWindow","interactor","rootContainer","container","controlContainer","synchronizerContext"]),function(e,n){n.renderWindow=i.vtkns.SynchronizableRenderWindow.newInstance({synchronizerContext:n.synchronizerContext}),n.openGLRenderWindow=i.vtkns.OpenGLRenderWindow.newInstance(),n.openGLRenderWindow.setContainer(n.container),n.renderWindow.addView(n.openGLRenderWindow),n.interactor=i.vtkns.RenderWindowInteractor.newInstance(),n.interactor.setInteractorStyle(i.vtkns.InteractorStyleTrackballCamera.newInstance()),n.interactor.setView(n.openGLRenderWindow),n.interactor.initialize(),n.interactor.bindEvents(n.container),e.getRenderer=()=>n.renderWindow.getRenderers()[0],e.removeController=()=>{const e=n.controlContainer;e&&e.parentNode.removeChild(e)},e.setControllerVisibility=e=>{n.controllerVisibility=e,n.controlContainer&&(n.controlContainer.style.display=e?"block":"none")},e.toggleControllerVisibility=()=>{e.setControllerVisibility(!n.controllerVisibility)},e.addController=o=>{n.controlContainer=document.createElement("div"),(0,i.applyStyle)(n.controlContainer,n.controlPanelStyle||a),n.rootContainer.appendChild(n.controlContainer),n.controlContainer.innerHTML=o,e.setControllerVisibility(n.controllerVisibility),n.rootContainer.addEventListener("keypress",(n=>{"c"===String.fromCharCode(n.charCode)&&e.toggleControllerVisibility()}))},e.delete=window.vtk.macro.chain(e.setContainer,n.openGLRenderWindow.delete,e.delete),e.resize=()=>{const e=n.container.getBoundingClientRect(),o=window.devicePixelRatio||1;n.openGLRenderWindow.setSize(Math.floor(e.width*o),Math.floor(e.height*o)),n.resizeCallback&&n.resizeCallback(e),n.renderWindow.render()},e.setResizeCallback=o=>{n.resizeCallback=o,e.resize()},n.listenWindowResize&&window.addEventListener("resize",e.resize),e.resize()}(e,n)}))};i.vtkns.FullScreenRenderWindowSynchronized=e}},
187
- }, "4e90918c0a", {"index":"4e90918c0a","models/index":"38670592ce","models/ace":"c780fc99fd","models/layout":"73d6aee8f5","models/audio":"fd59c985b3","models/browser":"85211a0a5b","models/button":"1db93211cd","models/button_icon":"1738ddeb3a","models/icon":"17193475a8","models/card":"aaa0c51c8d","models/column":"aab20b9d6a","styles/models/card.css":"dfbedd1d49","models/checkbox_button_group":"51fbe9e2d0","models/chatarea_input":"27a077673d","models/textarea_input":"b7d595d74a","models/comm_manager":"352943c042","models/customselect":"92bbd30bd1","models/tabulator":"887daef873","models/data":"be689f0377","models/datetime_picker":"ddf98634bb","models/deckgl":"dc03aab885","models/tooltips":"f8f8ea4284","models/echarts":"04cbffdfe0","models/event-to-object":"2cc1a33000","models/feed":"976c02c0a8","models/file_download":"3ead851ca6","models/html":"89d2d3667a","models/ipywidget":"8a8089cbf3","models/json":"7eff964d3e","models/jsoneditor":"d57683bd1f","models/katex":"f672d71a9f","models/location":"bd8e0fe48b","models/mathjax":"ec353a3d9a","models/pdf":"cf33f23f5c","models/perspective":"8b1673a40b","styles/models/perspective.css":"2e2913ea54","models/player":"f06104d237","models/plotly":"6f2064dc74","models/util":"27e2a99e99","styles/models/plotly.css":"ce7c8e2a4f","models/progress":"aded75e266","models/quill":"c72e00086f","models/radio_button_group":"25e2d7c208","models/reactive_html":"6cfc3f348e","models/singleselect":"168c4d0ebd","models/speech_to_text":"739cca6576","models/state":"92822cb73a","models/tabs":"2231cdc549","models/terminal":"121f00bd6f","models/text_to_speech":"a04eb51988","models/toggle_icon":"ad985f285e","models/tooltip_icon":"ae3a172647","models/trend":"3584638c04","models/vega":"119dc23765","models/video":"79dc37b888","styles/models/video.css":"dfe21e6f1b","models/videostream":"f8afc4e661","models/vizzu":"470ce1dcbc","models/vtk/index":"c51f25e2a7","models/vtk/vtkjs":"ac55912dc1","models/vtk/vtklayout":"b06d05fa3e","models/vtk/util":"df9946ff52","models/vtk/vtkcolorbar":"b1d68776a9","models/vtk/vtkaxes":"0379dcf1cd","models/vtk/vtkvolume":"4797a2858f","models/vtk/vtksynchronized":"a4e5946204","models/vtk/panel_fullscreen_renwin_sync":"5e89c7b3eb"}, {});});
188
+ }, "4e90918c0a", {"index":"4e90918c0a","models/index":"62567e6811","models/ace":"c780fc99fd","models/layout":"c37096b5ea","models/audio":"fd59c985b3","models/browser":"85211a0a5b","models/button":"1db93211cd","models/button_icon":"1738ddeb3a","models/icon":"17193475a8","models/card":"aaa0c51c8d","models/column":"aab20b9d6a","styles/models/card.css":"edc7ee0090","models/checkbox_button_group":"51fbe9e2d0","models/chatarea_input":"27a077673d","models/textarea_input":"b7d595d74a","models/comm_manager":"a5b1a17220","models/customselect":"92bbd30bd1","models/tabulator":"887daef873","models/data":"be689f0377","models/datetime_picker":"ddf98634bb","models/deckgl":"dc03aab885","models/tooltips":"f8f8ea4284","models/echarts":"04cbffdfe0","models/event-to-object":"2cc1a33000","models/feed":"976c02c0a8","models/file_download":"3ead851ca6","models/html":"9cfeb137e6","models/ipywidget":"8a8089cbf3","models/json":"7eff964d3e","models/jsoneditor":"d57683bd1f","models/katex":"f672d71a9f","models/location":"bd8e0fe48b","models/mathjax":"ec353a3d9a","models/pdf":"f87ad1873c","models/perspective":"8b1673a40b","styles/models/perspective.css":"2e2913ea54","models/player":"f06104d237","models/plotly":"6f2064dc74","models/util":"27e2a99e99","styles/models/plotly.css":"ce7c8e2a4f","models/progress":"aded75e266","models/quill":"c72e00086f","models/radio_button_group":"25e2d7c208","models/reactive_html":"4c1a1063b3","models/singleselect":"168c4d0ebd","models/speech_to_text":"739cca6576","models/state":"92822cb73a","models/tabs":"2231cdc549","models/terminal":"121f00bd6f","models/text_input":"8be416b160","models/text_to_speech":"a04eb51988","models/toggle_icon":"ad985f285e","models/tooltip_icon":"ae3a172647","models/trend":"3584638c04","models/vega":"119dc23765","models/video":"79dc37b888","styles/models/video.css":"dfe21e6f1b","models/videostream":"f8afc4e661","models/vizzu":"470ce1dcbc","models/vtk/index":"c51f25e2a7","models/vtk/vtkjs":"ac55912dc1","models/vtk/vtklayout":"b06d05fa3e","models/vtk/util":"df9946ff52","models/vtk/vtkcolorbar":"b1d68776a9","models/vtk/vtkaxes":"0379dcf1cd","models/vtk/vtkvolume":"4797a2858f","models/vtk/vtksynchronized":"a4e5946204","models/vtk/panel_fullscreen_renwin_sync":"5e89c7b3eb"}, {});});