From 969d16576d8d607172e01ded7a267da4a57a7889 Mon Sep 17 00:00:00 2001 From: salam Date: Sat, 17 Jan 2026 16:27:36 +0100 Subject: [PATCH] add lastcheck to fumetto --- app/Console/Commands/Grapper/TxOdds/Odds/_2Way.php | 2 +- app/Console/Commands/Grapper/TxOdds/Odds/_2WayS1.php | 2 +- app/Console/Commands/Grapper/TxOdds/Odds/_3Way.php | 2 +- app/Console/Commands/Grapper/TxOdds/Odds/_3WayHt.php | 2 +- app/Console/Commands/Grapper/TxOdds/Odds/_Dc.php | 2 +- app/Console/Commands/Grapper/TxOdds/Odds/_Dnb.php | 2 +- app/Console/Commands/Grapper/TxOdds/Odds/_Ggng.php | 2 +- app/Console/Commands/Grapper/TxOdds/Odds/_Points.php | 2 +- app/Console/Commands/Grapper/TxOdds/Odds/_PointsHt.php | 2 +- app/Console/Commands/Grapper/TxOdds/Odds/_PointsQ1.php | 2 +- app/Console/Commands/Grapper/TxOdds/Odds/_Totals.php | 2 +- app/Console/Commands/Grapper/TxOdds/Odds/_TotalsHt.php | 2 +- app/Console/Commands/Grapper/TxOdds/Odds/_TotalsQ1.php | 2 +- app/Console/Commands/Grapper/TxOdds/Odds/_Tq.php | 2 +- app/Livewire/Mapper/LoadEvents.php | 2 +- public/js/filament/forms/components/code-editor.js | 2 +- resources/css/filament/admin/theme.css | 2 +- .../tables/columns/fumetto-multiline/label.blade.php | 4 +++- .../tables/columns/fumetto-multiline/lastcheck.blade.php | 5 +++++ .../tables/columns/fumetto-multiline/odds.blade.php | 2 +- .../filament/tables/columns/fumetto/fumetto_1x2.blade.php | 5 ++++- .../tables/columns/fumetto/fumetto_1x2_ht.blade.php | 5 ++++- .../filament/tables/columns/fumetto/fumetto_dc.blade.php | 8 +++++++- .../filament/tables/columns/fumetto/fumetto_dnb.blade.php | 5 ++++- .../tables/columns/fumetto/fumetto_ggng.blade.php | 5 ++++- .../filament/tables/columns/fumetto/fumetto_ml.blade.php | 5 ++++- .../tables/columns/fumetto/fumetto_ml_s1.blade.php | 5 ++++- .../tables/columns/fumetto/fumetto_point.blade.php | 5 ++++- .../tables/columns/fumetto/fumetto_point_q1.blade.php | 5 ++++- .../tables/columns/fumetto/fumetto_total.blade.php | 5 ++++- .../tables/columns/fumetto/fumetto_total_ht.blade.php | 5 ++++- .../tables/columns/fumetto/fumetto_total_q1.blade.php | 5 ++++- .../filament/tables/columns/fumetto/fumetto_tq.blade.php | 5 ++++- 33 files changed, 81 insertions(+), 32 deletions(-) create mode 100644 resources/views/filament/tables/columns/fumetto-multiline/lastcheck.blade.php diff --git a/app/Console/Commands/Grapper/TxOdds/Odds/_2Way.php b/app/Console/Commands/Grapper/TxOdds/Odds/_2Way.php index d766ab51..96ba8641 100644 --- a/app/Console/Commands/Grapper/TxOdds/Odds/_2Way.php +++ b/app/Console/Commands/Grapper/TxOdds/Odds/_2Way.php @@ -16,7 +16,7 @@ class _2Way $odds['starttime'] = (string) $value['starttime']; } $odds['margin'] = (float) Margin::calculate([$odds['h2w'], $odds['a2w']], 1); - $odds['updated_at'] = DB::raw('NOW()'); + $odds['updated_at'] = now(); DB::table('odds_2ways')->updateOrInsert([ 'event_id' => Nuh::$id, diff --git a/app/Console/Commands/Grapper/TxOdds/Odds/_2WayS1.php b/app/Console/Commands/Grapper/TxOdds/Odds/_2WayS1.php index 93a3b4c6..afa54a68 100644 --- a/app/Console/Commands/Grapper/TxOdds/Odds/_2WayS1.php +++ b/app/Console/Commands/Grapper/TxOdds/Odds/_2WayS1.php @@ -15,7 +15,7 @@ class _2WayS1 $odds['a2w'] = (float) $value->o3; } $odds['margin'] = (float) Margin::calculate([$odds['h2w'], $odds['a2w']], 1); - $odds['updated_at'] = DB::raw('NOW()'); + $odds['updated_at'] = now(); DB::table('odds_2ways_s1')->updateOrInsert([ 'event_id' => Nuh::$id, diff --git a/app/Console/Commands/Grapper/TxOdds/Odds/_3Way.php b/app/Console/Commands/Grapper/TxOdds/Odds/_3Way.php index 419dca10..9960c76f 100644 --- a/app/Console/Commands/Grapper/TxOdds/Odds/_3Way.php +++ b/app/Console/Commands/Grapper/TxOdds/Odds/_3Way.php @@ -17,7 +17,7 @@ class _3Way $odds['starttime'] = (string) $value['starttime']; } $odds['margin'] = (float) Margin::calculate([$odds['h3w'], $odds['d3w'], $odds['a3w']], 1); - $odds['updated_at'] = DB::raw('NOW()'); + $odds['updated_at'] = now(); DB::table('odds_3ways')->updateOrInsert([ 'event_id' => Nuh::$id, diff --git a/app/Console/Commands/Grapper/TxOdds/Odds/_3WayHt.php b/app/Console/Commands/Grapper/TxOdds/Odds/_3WayHt.php index 6830ed34..8e71069a 100644 --- a/app/Console/Commands/Grapper/TxOdds/Odds/_3WayHt.php +++ b/app/Console/Commands/Grapper/TxOdds/Odds/_3WayHt.php @@ -16,7 +16,7 @@ class _3WayHt $odds['a3w'] = (float) $value->o3; } $odds['margin'] = (float) Margin::calculate([$odds['h3w'], $odds['d3w'], $odds['a3w']], 1); - $odds['updated_at'] = DB::raw('NOW()'); + $odds['updated_at'] = now(); DB::table('odds_3ways_ht')->updateOrInsert([ 'event_id' => Nuh::$id, diff --git a/app/Console/Commands/Grapper/TxOdds/Odds/_Dc.php b/app/Console/Commands/Grapper/TxOdds/Odds/_Dc.php index cd17f66a..8d556500 100644 --- a/app/Console/Commands/Grapper/TxOdds/Odds/_Dc.php +++ b/app/Console/Commands/Grapper/TxOdds/Odds/_Dc.php @@ -16,7 +16,7 @@ class _Dc $odds['dcx2'] = (float) $value->o3; } $odds['margin'] = (float) Margin::calculate([$odds['dc1x'], $odds['dc12'], $odds['dcx2']], 1); - $odds['updated_at'] = DB::raw('NOW()'); + $odds['updated_at'] = now(); DB::table('odds_dc')->updateOrInsert([ 'event_id' => Nuh::$id, diff --git a/app/Console/Commands/Grapper/TxOdds/Odds/_Dnb.php b/app/Console/Commands/Grapper/TxOdds/Odds/_Dnb.php index 8e01b0c9..e61cc890 100644 --- a/app/Console/Commands/Grapper/TxOdds/Odds/_Dnb.php +++ b/app/Console/Commands/Grapper/TxOdds/Odds/_Dnb.php @@ -15,7 +15,7 @@ class _Dnb $odds['dnb2'] = (float) $value->o3; } $odds['margin'] = (float) Margin::calculate([$odds['dnb1'], $odds['dnb2']], 1); - $odds['updated_at'] = DB::raw('NOW()'); + $odds['updated_at'] = now(); DB::table('odds_dnb')->updateOrInsert([ 'event_id' => Nuh::$id, diff --git a/app/Console/Commands/Grapper/TxOdds/Odds/_Ggng.php b/app/Console/Commands/Grapper/TxOdds/Odds/_Ggng.php index 903c1cef..908dfd4a 100644 --- a/app/Console/Commands/Grapper/TxOdds/Odds/_Ggng.php +++ b/app/Console/Commands/Grapper/TxOdds/Odds/_Ggng.php @@ -15,7 +15,7 @@ class _Ggng $odds['ng'] = (float) $value->o3; } $odds['margin'] = (float) Margin::calculate([$odds['gg'], $odds['ng']], 1); - $odds['updated_at'] = DB::raw('NOW()'); + $odds['updated_at'] = now(); DB::table('odds_ggng')->updateOrInsert([ 'event_id' => Nuh::$id, diff --git a/app/Console/Commands/Grapper/TxOdds/Odds/_Points.php b/app/Console/Commands/Grapper/TxOdds/Odds/_Points.php index 7df4cbfb..fd7e7f39 100644 --- a/app/Console/Commands/Grapper/TxOdds/Odds/_Points.php +++ b/app/Console/Commands/Grapper/TxOdds/Odds/_Points.php @@ -23,7 +23,7 @@ class _Points $odds['margin'] = (float) Margin::calculate([$odds['home'], $odds['away']], 1); $odds['difference'] = abs(1 / $odds['home'] - 1 / $odds['away']); - $odds['updated_at'] = DB::raw('NOW()'); + $odds['updated_at'] = now(); ActiveSpread::collect($odds, 'odds_points'); diff --git a/app/Console/Commands/Grapper/TxOdds/Odds/_PointsHt.php b/app/Console/Commands/Grapper/TxOdds/Odds/_PointsHt.php index 91d8823d..978fbe28 100644 --- a/app/Console/Commands/Grapper/TxOdds/Odds/_PointsHt.php +++ b/app/Console/Commands/Grapper/TxOdds/Odds/_PointsHt.php @@ -23,7 +23,7 @@ class _PointsHt $odds['margin'] = (float) Margin::calculate([$odds['home'], $odds['away']], 1); $odds['difference'] = abs(1 / $odds['home'] - 1 / $odds['away']); - $odds['updated_at'] = DB::raw('NOW()'); + $odds['updated_at'] = now(); ActiveSpread::collect($odds, 'odds_points_ht'); diff --git a/app/Console/Commands/Grapper/TxOdds/Odds/_PointsQ1.php b/app/Console/Commands/Grapper/TxOdds/Odds/_PointsQ1.php index 1f127d42..77190063 100644 --- a/app/Console/Commands/Grapper/TxOdds/Odds/_PointsQ1.php +++ b/app/Console/Commands/Grapper/TxOdds/Odds/_PointsQ1.php @@ -23,7 +23,7 @@ class _PointsQ1 $odds['margin'] = (float) Margin::calculate([$odds['home'], $odds['away']], 1); $odds['difference'] = abs(1 / $odds['home'] - 1 / $odds['away']); - $odds['updated_at'] = DB::raw('NOW()'); + $odds['updated_at'] = now(); ActiveSpread::collect($odds, 'odds_points_q1'); diff --git a/app/Console/Commands/Grapper/TxOdds/Odds/_Totals.php b/app/Console/Commands/Grapper/TxOdds/Odds/_Totals.php index c2152df8..846b1482 100644 --- a/app/Console/Commands/Grapper/TxOdds/Odds/_Totals.php +++ b/app/Console/Commands/Grapper/TxOdds/Odds/_Totals.php @@ -29,7 +29,7 @@ class _Totals $odds['margin'] = (float) Margin::calculate([$odds['over'], $odds['under']], 1); $odds['difference'] = abs(1 / $odds['over'] - 1 / $odds['under']); - $odds['updated_at'] = DB::raw('NOW()'); + $odds['updated_at'] = now(); ActiveSpread::collect($odds, 'odds_totals'); diff --git a/app/Console/Commands/Grapper/TxOdds/Odds/_TotalsHt.php b/app/Console/Commands/Grapper/TxOdds/Odds/_TotalsHt.php index ade8004a..1a62478e 100644 --- a/app/Console/Commands/Grapper/TxOdds/Odds/_TotalsHt.php +++ b/app/Console/Commands/Grapper/TxOdds/Odds/_TotalsHt.php @@ -23,7 +23,7 @@ class _TotalsHt $odds['margin'] = (float) Margin::calculate([$odds['over'], $odds['under']], 1); $odds['difference'] = abs(1 / $odds['over'] - 1 / $odds['under']); - $odds['updated_at'] = DB::raw('NOW()'); + $odds['updated_at'] = now(); ActiveSpread::collect($odds, 'odds_totals_ht'); diff --git a/app/Console/Commands/Grapper/TxOdds/Odds/_TotalsQ1.php b/app/Console/Commands/Grapper/TxOdds/Odds/_TotalsQ1.php index 3dfdf890..f47deafc 100644 --- a/app/Console/Commands/Grapper/TxOdds/Odds/_TotalsQ1.php +++ b/app/Console/Commands/Grapper/TxOdds/Odds/_TotalsQ1.php @@ -23,7 +23,7 @@ class _TotalsQ1 $odds['margin'] = (float) Margin::calculate([$odds['over'], $odds['under']], 1); $odds['difference'] = abs(1 / $odds['over'] - 1 / $odds['under']); - $odds['updated_at'] = DB::raw('NOW()'); + $odds['updated_at'] = now(); ActiveSpread::collect($odds, 'odds_totals_q1'); diff --git a/app/Console/Commands/Grapper/TxOdds/Odds/_Tq.php b/app/Console/Commands/Grapper/TxOdds/Odds/_Tq.php index f31595a7..69367da1 100644 --- a/app/Console/Commands/Grapper/TxOdds/Odds/_Tq.php +++ b/app/Console/Commands/Grapper/TxOdds/Odds/_Tq.php @@ -15,7 +15,7 @@ class _Tq $odds['atq'] = (float) $value->o3; } $odds['margin'] = (float) Margin::calculate([$odds['htq'], $odds['atq']], 1); - $odds['updated_at'] = DB::raw('NOW()'); + $odds['updated_at'] = now(); DB::table('odds_tq')->updateOrInsert([ 'event_id' => Nuh::$id, diff --git a/app/Livewire/Mapper/LoadEvents.php b/app/Livewire/Mapper/LoadEvents.php index ad67abde..c8f2d2e7 100644 --- a/app/Livewire/Mapper/LoadEvents.php +++ b/app/Livewire/Mapper/LoadEvents.php @@ -35,7 +35,7 @@ class LoadEvents ->with('home') ->with('away') ->where('sport_id', Auth::user()->sport_id) - ->where('starttime', '>', Carbon::now()); + ->where('starttime', '>', Carbon::now(); } switch (Auth::user()->provider_id) { diff --git a/public/js/filament/forms/components/code-editor.js b/public/js/filament/forms/components/code-editor.js index 9bee207f..4061a138 100644 --- a/public/js/filament/forms/components/code-editor.js +++ b/public/js/filament/forms/components/code-editor.js @@ -8,7 +8,7 @@ var Ms=[],Xh=[];(()=>{let O="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2, `,r=O.state.doc.line(r.number+(t?1:-1)),n=O.bidiSpans(r),l=O.visualLineSide(r,!t)}if(o){if(!o(c))return a}else{if(!i)return l;o=i(c)}a=l}}function VP(O,e,t){let i=O.state.charCategorizer(e),r=i(t);return n=>{let s=i(n);return r==ee.Space&&(r=s),r==s}}function qP(O,e,t,i){let r=e.head,n=t?1:-1;if(r==(t?O.state.doc.length:0))return S.cursor(r,e.assoc);let s=e.goalColumn,a,o=O.contentDOM.getBoundingClientRect(),l=O.coordsAtPos(r,e.assoc||-1),c=O.documentTop;if(l)s==null&&(s=l.left-o.left),a=n<0?l.top:l.bottom;else{let u=O.viewState.lineBlockAt(r);s==null&&(s=Math.min(o.right-o.left,O.defaultCharacterWidth*(r-u.from))),a=(n<0?u.top:u.bottom)+c}let h=o.left+s,f=i??O.viewState.heightOracle.textHeight>>1;for(let u=0;;u+=10){let Q=a+(f+u)*n,$=Wa(O,{x:h,y:Q},!1,n);return S.cursor($.pos,$.assoc,void 0,s)}}function Ei(O,e,t){for(;;){let i=0;for(let r of O)r.between(e-1,e+1,(n,s,a)=>{if(e>n&&er(O)),t.from,e.head>t.from?-1:1);return i==t.from?t:S.cursor(i,iO.viewState.docHeight)return new rt(O.state.doc.length,-1);if(l=O.elementAtHeight(o),i==null)break;if(l.type==Te.Text){let f=O.docView.coordsAt(i<0?l.from:l.to,i);if(f&&(i<0?f.top<=o+n:f.bottom>=o+n))break}let h=O.viewState.heightOracle.textHeight/2;o=i>0?l.bottom+h:l.top-h}if(O.viewport.from>=l.to||O.viewport.to<=l.from){if(t)return null;if(l.type==Te.Text){let h=_P(O,r,l,s,a);return new rt(h,h==l.from?1:-1)}}if(l.type!=Te.Text)return o<(l.top+l.bottom)/2?new rt(l.from,1):new rt(l.to,-1);let c=O.docView.lineAt(l.from,2);return(!c||c.length!=l.length)&&(c=O.docView.lineAt(l.from,-2)),od(O,c,l.from,s,a)}function od(O,e,t,i,r){let n=-1,s=null,a=1e9,o=1e9,l=r,c=r,h=(f,u)=>{for(let Q=0;Qi?$.left-i:$.rightr?$.top-r:$.bottom=l&&(l=Math.min($.top,l),c=Math.max($.bottom,c),m=0),(n<0||(m-o||p-a)<0)&&(n>=0&&o&&a=l+2?o=0:(n=u,a=p,o=m,s=$))}};if(e.isText()){for(let u=0;u(s.left+s.right)/2==(rf(O,n+t)==H.LTR)?new rt(t+fe(e.text,n),-1):new rt(t+n,1)}else{if(!e.length)return new rt(t,1);for(let $=0;$(s.left+s.right)/2==(rf(O,n+t)==H.LTR)?new rt(u+f.length,-1):new rt(u,1)}}function rf(O,e){let t=O.state.doc.lineAt(e);return O.bidiSpans(t)[ct.find(O.bidiSpans(t),e-t.from,-1,1)].dir}var qi="\uFFFF",ja=class{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(I.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=qi}readRange(e,t){if(!e)return this;let i=e.parentNode;for(let r=e;;){this.findPointBefore(i,r);let n=this.text.length;this.readNode(r);let s=de.get(r),a=r.nextSibling;if(a==t){s?.breakAfter&&!a&&i!=this.view.contentDOM&&this.lineBreak();break}let o=de.get(a);(s&&o?s.breakAfter:(s?s.breakAfter:mn(r))||mn(a)&&(r.nodeName!="BR"||s?.isWidget())&&this.text.length>n)&&!UP(a,t)&&this.lineBreak(),r=a}return this.findPointBefore(i,t),this}readTextNode(e){let t=e.nodeValue;for(let i of this.points)i.node==e&&(i.pos=this.text.length+Math.min(i.offset,t.length));for(let i=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let n=-1,s=1,a;if(this.lineSeparator?(n=t.indexOf(this.lineSeparator,i),s=this.lineSeparator.length):(a=r.exec(t))&&(n=a.index,s=a[0].length),this.append(t.slice(i,n<0?t.length:n)),n<0)break;if(this.lineBreak(),s>1)for(let o of this.points)o.node==e&&o.pos>this.text.length&&(o.pos-=s-1);i=n+s}}readNode(e){let t=de.get(e),i=t&&t.overrideDOMText;if(i!=null){this.findPointInside(e,i.length);for(let r=i.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let i of this.points)i.node==e&&e.childNodes[i.offset]==t&&(i.pos=this.text.length)}findPointInside(e,t){for(let i of this.points)(e.nodeType==3?i.node==e:e.contains(i.node))&&(i.pos=this.text.length+(zP(e,i.node,i.offset)?t:0))}};function zP(O,e,t){for(;;){if(!e||t-1;let{impreciseHead:n,impreciseAnchor:s}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=ld(e.docView.tile,t,i,0))){let a=n||s?[]:jP(e),o=new ja(a,e);o.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=o.text,this.newSel=CP(a,this.bounds.from)}else{let a=e.observer.selectionRange,o=n&&n.node==a.focusNode&&n.offset==a.focusOffset||!Ta(e.contentDOM,a.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(a.focusNode,a.focusOffset),l=s&&s.node==a.anchorNode&&s.offset==a.anchorOffset||!Ta(e.contentDOM,a.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(a.anchorNode,a.anchorOffset),c=e.viewport;if((v.ios||v.chrome)&&e.state.selection.main.empty&&o!=l&&(c.from>0||c.to-1&&e.state.selection.ranges.length>1?this.newSel=e.state.selection.replaceRange(S.range(l,o)):this.newSel=S.single(l,o)}}};function ld(O,e,t,i){if(O.isComposite()){let r=-1,n=-1,s=-1,a=-1;for(let o=0,l=i,c=i;ot)return ld(h,e,t,l);if(f>=e&&r==-1&&(r=o,n=l),l>t&&h.dom.parentNode==O.dom){s=o,a=c;break}c=f,l=f+h.breakAfter}return{from:n,to:a<0?i+O.length:a,startDOM:(r?O.children[r-1].dom.nextSibling:null)||O.dom.firstChild,endDOM:s=0?O.children[s].dom:null}}else return O.isText()?{from:i,to:i+O.length,startDOM:O.dom,endDOM:O.dom.nextSibling}:null}function cd(O,e){let t,{newSel:i}=e,r=O.state.selection.main,n=O.inputState.lastKeyTime>Date.now()-100?O.inputState.lastKeyCode:-1;if(e.bounds){let{from:s,to:a}=e.bounds,o=r.from,l=null;(n===8||v.android&&e.text.length=r.from&&t.to<=r.to&&(t.from!=r.from||t.to!=r.to)&&r.to-r.from-(t.to-t.from)<=4?t={from:r.from,to:r.to,insert:O.state.doc.slice(r.from,t.from).append(t.insert).append(O.state.doc.slice(t.to,r.to))}:O.state.doc.lineAt(r.from).toDate.now()-50?t={from:r.from,to:r.to,insert:O.state.toText(O.inputState.insertingText)}:v.chrome&&t&&t.from==t.to&&t.from==r.head&&t.insert.toString()==` `&&O.lineWrapping&&(i&&(i=S.single(i.main.anchor-1,i.main.head-1)),t={from:r.from,to:r.to,insert:E.of([" "])}),t)return So(O,t,i,n);if(i&&!i.main.eq(r)){let s=!1,a="select";return O.inputState.lastSelectionTime>Date.now()-50&&(O.inputState.lastSelectionOrigin=="select"&&(s=!0),a=O.inputState.lastSelectionOrigin,a=="select.pointer"&&(i=ad(O.state.facet(Ji).map(o=>o(O)),i))),O.dispatch({selection:i,scrollIntoView:s,userEvent:a}),!0}else return!1}function So(O,e,t,i=-1){if(v.ios&&O.inputState.flushIOSKey(e))return!0;let r=O.state.selection.main;if(v.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&O.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&ii(O.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||i==8&&e.insert.lengthr.head)&&ii(O.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&ii(O.contentDOM,"Delete",46)))return!0;let n=e.insert.toString();O.inputState.composing>=0&&O.inputState.composing++;let s,a=()=>s||(s=WP(O,e,t));return O.state.facet(Bf).some(o=>o(O,e.from,e.to,n,a))||O.dispatch(a()),!0}function WP(O,e,t){let i,r=O.state,n=r.selection.main,s=-1;if(e.from==e.to&&e.fromn.to){let o=e.fromh(O)),l,o);e.from==c&&(s=c)}if(s>-1)i={changes:e,selection:S.cursor(e.from+e.insert.length,-1)};else if(e.from>=n.from&&e.to<=n.to&&e.to-e.from>=(n.to-n.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&O.inputState.composing<0){let o=n.frome.to?r.sliceDoc(e.to,n.to):"";i=r.replaceSelection(O.state.toText(o+e.insert.sliceString(0,void 0,O.state.lineBreak)+l))}else{let o=r.changes(e),l=t&&t.main.to<=o.newLength?t.main:void 0;if(r.selection.ranges.length>1&&(O.inputState.composing>=0||O.inputState.compositionPendingChange)&&e.to<=n.to+10&&e.to>=n.to-10){let c=O.state.sliceDoc(e.from,e.to),h,f=t&&sd(O,t.main.head);if(f){let Q=e.insert.length-(e.to-e.from);h={from:f.from,to:f.to-Q}}else h=O.state.doc.lineAt(n.head);let u=n.to-e.to;i=r.changeByRange(Q=>{if(Q.from==n.from&&Q.to==n.to)return{changes:o,range:l||Q.map(o)};let $=Q.to-u,p=$-c.length;if(O.state.sliceDoc(p,$)!=c||$>=h.from&&p<=h.to)return{range:Q};let m=r.changes({from:p,to:$,insert:e.insert}),g=Q.to-n.to;return{changes:m,range:l?S.range(Math.max(0,l.anchor+g),Math.max(0,l.head+g)):Q.map(m)}})}else i={changes:o,selection:l&&r.selection.replaceRange(l)}}let a="input.type";return(O.composing||O.inputState.compositionPendingChange&&O.inputState.compositionEndedAt>Date.now()-50)&&(O.inputState.compositionPendingChange=!1,a+=".compose",O.inputState.compositionFirstChange&&(a+=".start",O.inputState.compositionFirstChange=!1)),r.update(i,{userEvent:a,scrollIntoView:!0})}function hd(O,e,t,i){let r=Math.min(O.length,e.length),n=0;for(;n0&&a>0&&O.charCodeAt(s-1)==e.charCodeAt(a-1);)s--,a--;if(i=="end"){let o=Math.max(0,n-Math.min(s,a));t-=s+o-n}if(s=s?n-t:0;n-=o,a=n+(a-s),s=n}else if(a=a?n-t:0;n-=o,s=n+(s-a),a=n}return{from:n,toA:s,toB:a}}function jP(O){let e=[];if(O.root.activeElement!=O.contentDOM)return e;let{anchorNode:t,anchorOffset:i,focusNode:r,focusOffset:n}=O.observer.selectionRange;return t&&(e.push(new Tn(t,i)),(r!=t||n!=i)&&e.push(new Tn(r,n))),e}function CP(O,e){if(O.length==0)return null;let t=O[0].pos,i=O.length==2?O[1].pos:t;return t>-1&&i>-1?S.single(t+e,i+e):null}var Ga=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,v.safari&&e.contentDOM.addEventListener("input",()=>null),v.gecko&&eS(e.contentDOM.ownerDocument)}handleEvent(e){!IP(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let i=this.handlers[e];if(i){for(let r of i.observers)r(this.view,t);for(let r of i.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=GP(e),i=this.handlers,r=this.view.contentDOM;for(let n in t)if(n!="scroll"){let s=!t[n].handlers.length,a=i[n];a&&s!=!a.handlers.length&&(r.removeEventListener(n,this.handleEvent),a=null),a||r.addEventListener(n,this.handleEvent,{passive:s})}for(let n in i)n!="scroll"&&!t[n]&&r.removeEventListener(n,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&dd.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),v.android&&v.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let t;return v.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&((t=fd.find(i=>i.keyCode==e.keyCode))&&!e.ctrlKey||EP.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(this.pendingIOSKey=t||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:v.safari&&!v.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function nf(O,e){return(t,i)=>{try{return e.call(O,i,t)}catch(r){Xe(t.state,r)}}}function GP(O){let e=Object.create(null);function t(i){return e[i]||(e[i]={observers:[],handlers:[]})}for(let i of O){let r=i.spec,n=r&&r.plugin.domEventHandlers,s=r&&r.plugin.domEventObservers;if(n)for(let a in n){let o=n[a];o&&t(a).handlers.push(nf(i.value,o))}if(s)for(let a in s){let o=s[a];o&&t(a).observers.push(nf(i.value,o))}}for(let i in ft)t(i).handlers.push(ft[i]);for(let i in nt)t(i).observers.push(nt[i]);return e}var fd=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],EP="dthko",dd=[16,17,18,20,91,92,224,225],tn=6;function On(O){return Math.max(0,O)*.7+8}function AP(O,e){return Math.max(Math.abs(O.clientX-e.clientX),Math.abs(O.clientY-e.clientY))}var Ea=class{constructor(e,t,i,r){this.view=e,this.startEvent=t,this.style=i,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=rP(e.contentDOM),this.atoms=e.state.facet(Ji).map(s=>s(e));let n=e.contentDOM.ownerDocument;n.addEventListener("mousemove",this.move=this.move.bind(this)),n.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(I.allowMultipleSelections)&&LP(e,t),this.dragging=DP(e,t)&&$d(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&AP(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,i=0,r=0,n=0,s=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:s}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:n,bottom:a}=this.scrollParents.y.getBoundingClientRect());let o=Po(this.view);e.clientX-o.left<=r+tn?t=-On(r-e.clientX):e.clientX+o.right>=s-tn&&(t=On(e.clientX-s)),e.clientY-o.top<=n+tn?i=-On(n-e.clientY):e.clientY+o.bottom>=a-tn&&(i=On(e.clientY-a)),this.setScrollSpeed(t,i)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,i=ad(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!i.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:i,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function LP(O,e){let t=O.state.facet(Lf);return t.length?t[0](e):v.mac?e.metaKey:e.ctrlKey}function MP(O,e){let t=O.state.facet(Mf);return t.length?t[0](e):v.mac?!e.altKey:!e.ctrlKey}function DP(O,e){let{main:t}=O.state.selection;if(t.empty)return!1;let i=Bi(O.root);if(!i||i.rangeCount==0)return!0;let r=i.getRangeAt(0).getClientRects();for(let n=0;n=e.clientX&&s.top<=e.clientY&&s.bottom>=e.clientY)return!0}return!1}function IP(O,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,i;t!=O.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(i=de.get(t))&&i.isWidget()&&!i.isHidden&&i.widget.ignoreEvent(e))return!1;return!0}var ft=Object.create(null),nt=Object.create(null),ud=v.ie&&v.ie_version<15||v.ios&&v.webkit_version<604;function BP(O){let e=O.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{O.focus(),t.remove(),Qd(O,t.value)},50)}function Vn(O,e,t){for(let i of O.facet(e))t=i(t,O);return t}function Qd(O,e){e=Vn(O.state,po,e);let{state:t}=O,i,r=1,n=t.toText(e),s=n.lines==t.selection.ranges.length;if(Aa!=null&&t.selection.ranges.every(o=>o.empty)&&Aa==n.toString()){let o=-1;i=t.changeByRange(l=>{let c=t.doc.lineAt(l.from);if(c.from==o)return{range:l};o=c.from;let h=t.toText((s?n.line(r++).text:e)+t.lineBreak);return{changes:{from:c.from,insert:h},range:S.cursor(l.from+h.length)}})}else s?i=t.changeByRange(o=>{let l=n.line(r++);return{changes:{from:o.from,to:o.to,insert:l.text},range:S.cursor(o.from+l.length)}}):i=t.replaceSelection(n);O.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}nt.scroll=O=>{O.inputState.lastScrollTop=O.scrollDOM.scrollTop,O.inputState.lastScrollLeft=O.scrollDOM.scrollLeft};ft.keydown=(O,e)=>(O.inputState.setSelectionOrigin("select"),e.keyCode==27&&O.inputState.tabFocusMode!=0&&(O.inputState.tabFocusMode=Date.now()+2e3),!1);nt.touchstart=(O,e)=>{O.inputState.lastTouchTime=Date.now(),O.inputState.setSelectionOrigin("select.pointer")};nt.touchmove=O=>{O.inputState.setSelectionOrigin("select.pointer")};ft.mousedown=(O,e)=>{if(O.observer.flush(),O.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let i of O.state.facet(Df))if(t=i(O,e),t)break;if(!t&&e.button==0&&(t=FP(O,e)),t){let i=!O.hasFocus;O.inputState.startMouseSelection(new Ea(O,e,t,i)),i&&O.observer.ignore(()=>{qf(O.contentDOM);let n=O.root.activeElement;n&&!n.contains(O.contentDOM)&&n.blur()});let r=O.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else O.inputState.setSelectionOrigin("select.pointer");return!1};function sf(O,e,t,i){if(i==1)return S.cursor(e,t);if(i==2)return YP(O.state,e,t);{let r=O.docView.lineAt(e,t),n=O.state.doc.lineAt(r?r.posAtEnd:e),s=r?r.posAtStart:n.from,a=r?r.posAtEnd:n.to;return aDate.now()-400&&Math.abs(e.clientX-O.clientX)<2&&Math.abs(e.clientY-O.clientY)<2?(of+1)%3:1}function FP(O,e){let t=O.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),i=$d(e),r=O.state.selection;return{update(n){n.docChanged&&(t.pos=n.changes.mapPos(t.pos),r=r.map(n.changes))},get(n,s,a){let o=O.posAndSideAtCoords({x:n.clientX,y:n.clientY},!1),l,c=sf(O,o.pos,o.assoc,i);if(t.pos!=o.pos&&!s){let h=sf(O,t.pos,t.assoc,i),f=Math.min(h.from,c.from),u=Math.max(h.to,c.to);c=f1&&(l=HP(r,o.pos))?l:a?r.addRange(c):S.create([c])}}}function HP(O,e){for(let t=0;t=e)return S.create(O.ranges.slice(0,t).concat(O.ranges.slice(t+1)),O.mainIndex==t?0:O.mainIndex-(O.mainIndex>t?1:0))}return null}ft.dragstart=(O,e)=>{let{selection:{main:t}}=O.state;if(e.target.draggable){let r=O.docView.tile.nearest(e.target);if(r&&r.isWidget()){let n=r.posAtStart,s=n+r.length;(n>=t.to||s<=t.from)&&(t=S.range(n,s))}}let{inputState:i}=O;return i.mouseSelection&&(i.mouseSelection.dragging=!0),i.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",Vn(O.state,mo,O.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};ft.dragend=O=>(O.inputState.draggedContent=null,!1);function cf(O,e,t,i){if(t=Vn(O.state,po,t),!t)return;let r=O.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:n}=O.inputState,s=i&&n&&MP(O,e)?{from:n.from,to:n.to}:null,a={from:r,insert:t},o=O.state.changes(s?[s,a]:a);O.focus(),O.dispatch({changes:o,selection:{anchor:o.mapPos(r,-1),head:o.mapPos(r,1)},userEvent:s?"move.drop":"input.drop"}),O.inputState.draggedContent=null}ft.drop=(O,e)=>{if(!e.dataTransfer)return!1;if(O.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let i=Array(t.length),r=0,n=()=>{++r==t.length&&cf(O,e,i.filter(s=>s!=null).join(O.state.lineBreak),!1)};for(let s=0;s{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(i[s]=a.result),n()},a.readAsText(t[s])}return!0}else{let i=e.dataTransfer.getData("Text");if(i)return cf(O,e,i,!0),!0}return!1};ft.paste=(O,e)=>{if(O.state.readOnly)return!0;O.observer.flush();let t=ud?null:e.clipboardData;return t?(Qd(O,t.getData("text/plain")||t.getData("text/uri-list")),!0):(BP(O),!1)};function KP(O,e){let t=O.dom.parentNode;if(!t)return;let i=t.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=e,i.focus(),i.selectionEnd=e.length,i.selectionStart=0,setTimeout(()=>{i.remove(),O.focus()},50)}function JP(O){let e=[],t=[],i=!1;for(let r of O.selection.ranges)r.empty||(e.push(O.sliceDoc(r.from,r.to)),t.push(r));if(!e.length){let r=-1;for(let{from:n}of O.selection.ranges){let s=O.doc.lineAt(n);s.number>r&&(e.push(s.text),t.push({from:s.from,to:Math.min(O.doc.length,s.to+1)})),r=s.number}i=!0}return{text:Vn(O,mo,e.join(O.lineBreak)),ranges:t,linewise:i}}var Aa=null;ft.copy=ft.cut=(O,e)=>{let{text:t,ranges:i,linewise:r}=JP(O.state);if(!t&&!r)return!1;Aa=r?t:null,e.type=="cut"&&!O.state.readOnly&&O.dispatch({changes:i,scrollIntoView:!0,userEvent:"delete.cut"});let n=ud?null:e.clipboardData;return n?(n.clearData(),n.setData("text/plain",t),!0):(KP(O,t),!1)};var pd=qe.define();function md(O,e){let t=[];for(let i of O.facet(Nf)){let r=i(O,e);r&&t.push(r)}return t.length?O.update({effects:t,annotations:pd.of(!0)}):null}function gd(O){setTimeout(()=>{let e=O.hasFocus;if(e!=O.inputState.notifiedFocused){let t=md(O.state,e);t?O.dispatch(t):O.update([])}},10)}nt.focus=O=>{O.inputState.lastFocusTime=Date.now(),!O.scrollDOM.scrollTop&&(O.inputState.lastScrollTop||O.inputState.lastScrollLeft)&&(O.scrollDOM.scrollTop=O.inputState.lastScrollTop,O.scrollDOM.scrollLeft=O.inputState.lastScrollLeft),gd(O)};nt.blur=O=>{O.observer.clearSelectionRange(),gd(O)};nt.compositionstart=nt.compositionupdate=O=>{O.observer.editContext||(O.inputState.compositionFirstChange==null&&(O.inputState.compositionFirstChange=!0),O.inputState.composing<0&&(O.inputState.composing=0))};nt.compositionend=O=>{O.observer.editContext||(O.inputState.composing=-1,O.inputState.compositionEndedAt=Date.now(),O.inputState.compositionPendingKey=!0,O.inputState.compositionPendingChange=O.observer.pendingRecords().length>0,O.inputState.compositionFirstChange=null,v.chrome&&v.android?O.observer.flushSoon():O.inputState.compositionPendingChange?Promise.resolve().then(()=>O.observer.flush()):setTimeout(()=>{O.inputState.composing<0&&O.docView.hasComposition&&O.update([])},50))};nt.contextmenu=O=>{O.inputState.lastContextMenu=Date.now()};ft.beforeinput=(O,e)=>{var t,i;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(O.inputState.insertingText=e.data,O.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&O.observer.editContext){let n=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),s=e.getTargetRanges();if(n&&s.length){let a=s[0],o=O.posAtDOM(a.startContainer,a.startOffset),l=O.posAtDOM(a.endContainer,a.endOffset);return So(O,{from:o,to:l,insert:O.state.toText(n)},null),!0}}let r;if(v.chrome&&v.android&&(r=fd.find(n=>n.inputType==e.inputType))&&(O.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let n=((i=window.visualViewport)===null||i===void 0?void 0:i.height)||0;setTimeout(()=>{var s;(((s=window.visualViewport)===null||s===void 0?void 0:s.height)||0)>n+10&&O.hasFocus&&(O.contentDOM.blur(),O.focus())},100)}return v.ios&&e.inputType=="deleteContentForward"&&O.observer.flushSoon(),v.safari&&e.inputType=="insertText"&&O.inputState.composing>=0&&setTimeout(()=>nt.compositionend(O,e),20),!1};var hf=new Set;function eS(O){hf.has(O)||(hf.add(O),O.addEventListener("copy",()=>{}),O.addEventListener("cut",()=>{}))}var ff=["pre-wrap","normal","pre-line","break-spaces"],oi=!1;function df(){oi=!1}var La=class{constructor(e){this.lineWrapping=e,this.doc=E.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let i=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((t-e-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return ff.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let i=0;i-1,o=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=i,this.textHeight=r,this.lineLength=n,o){this.heightSamples={};for(let l=0;l0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>fn&&(oi=!0),this.height=e)}replace(e,t,i){return O.of(i)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,i,r){let n=this,s=i.doc;for(let a=r.length-1;a>=0;a--){let{fromA:o,toA:l,fromB:c,toB:h}=r[a],f=n.lineAt(o,oe.ByPosNoHeight,i.setDoc(t),0,0),u=f.to>=l?f:n.lineAt(l,oe.ByPosNoHeight,i,0,0);for(h+=u.to-l,l=u.to;a>0&&f.from<=r[a-1].toA;)o=r[a-1].fromA,c=r[a-1].fromB,a--,on*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),i+=1+a.break,r-=a.size}else if(n>r*2){let a=e[i];a.break?e.splice(i,1,a.left,null,a.right):e.splice(i,1,a.left,a.right),i+=2+a.break,n-=a.size}else break;else if(r=n&&s(this.lineAt(0,oe.ByPos,i,r,n))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,i=!1,r){return r&&r.from<=t&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}},it=class O extends yn{constructor(e,t,i){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=i}mainBlock(e,t){return new lt(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,i){let r=i[0];return i.length==1&&(r instanceof O||r instanceof Bt&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof Bt?r=new O(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):De.of(i)}updateHeight(e,t=0,i=!1,r){return r&&r.from<=t&&r.more?this.setMeasuredHeight(r):(i||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},Bt=class O extends De{constructor(e){super(e,0)}heightMetrics(e,t){let i=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,n=r-i+1,s,a=0;if(e.lineWrapping){let o=Math.min(this.height,e.lineHeight*n);s=o/n,this.length>n+1&&(a=(this.height-o)/(this.length-n-1))}else s=this.height/n;return{firstLine:i,lastLine:r,perLine:s,perChar:a}}blockAt(e,t,i,r){let{firstLine:n,lastLine:s,perLine:a,perChar:o}=this.heightMetrics(t,r);if(t.lineWrapping){let l=r+(e0){let n=i[i.length-1];n instanceof O?i[i.length-1]=new O(n.length+r):i.push(null,new O(r-1))}if(e>0){let n=i[0];n instanceof O?i[0]=new O(e+n.length):i.unshift(new O(e-1),null)}return De.of(i)}decomposeLeft(e,t){t.push(new O(e-1),null)}decomposeRight(e,t){t.push(null,new O(this.length-e-1))}updateHeight(e,t=0,i=!1,r){let n=t+this.length;if(r&&r.from<=t+this.length&&r.more){let s=[],a=Math.max(t,r.from),o=-1;for(r.from>t&&s.push(new O(r.from-t-1).updateHeight(e,t));a<=n&&r.more;){let c=e.doc.lineAt(a).length;s.length&&s.push(null);let h=r.heights[r.index++],f=0;h<0&&(f=-h,h=r.heights[r.index++]),o==-1?o=h:Math.abs(h-o)>=fn&&(o=-2);let u=new it(c,h,f);u.outdated=!1,s.push(u),a+=c+1}a<=n&&s.push(null,new O(n-a).updateHeight(e,a));let l=De.of(s);return(o<0||Math.abs(l.height-this.height)>=fn||Math.abs(o-this.heightMetrics(e,t).perLine)>=fn)&&(oi=!0),bn(this,l)}else(i||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Da=class extends De{constructor(e,t,i){super(e.length+t+i.length,e.height+i.height,t|(e.outdated||i.outdated?2:0)),this.left=e,this.right=i,this.size=e.size+i.size}get break(){return this.flags&1}blockAt(e,t,i,r){let n=i+this.left.height;return ea))return l;let c=t==oe.ByPosNoHeight?oe.ByPosNoHeight:oe.ByPos;return o?l.join(this.right.lineAt(a,c,i,s,a)):this.left.lineAt(a,c,i,r,n).join(l)}forEachLine(e,t,i,r,n,s){let a=r+this.left.height,o=n+this.left.length+this.break;if(this.break)e=o&&this.right.forEachLine(e,t,i,a,o,s);else{let l=this.lineAt(o,oe.ByPos,i,r,n);e=e&&l.from<=t&&s(l),t>l.to&&this.right.forEachLine(l.to+1,t,i,a,o,s)}}replace(e,t,i){let r=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,i));let n=[];e>0&&this.decomposeLeft(e,n);let s=n.length;for(let a of i)n.push(a);if(e>0&&uf(n,s-1),t=i&&t.push(null)),e>i&&this.right.decomposeLeft(e-i,t)}decomposeRight(e,t){let i=this.left.length,r=i+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e2*t.size||t.size>2*e.size?De.of(this.break?[e,null,t]:[e,t]):(this.left=bn(this.left,e),this.right=bn(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,i=!1,r){let{left:n,right:s}=this,a=t+n.length+this.break,o=null;return r&&r.from<=t+n.length&&r.more?o=n=n.updateHeight(e,t,i,r):n.updateHeight(e,t,i),r&&r.from<=a+s.length&&r.more?o=s=s.updateHeight(e,a,i,r):s.updateHeight(e,a,i),o?this.balanced(n,s):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function uf(O,e){let t,i;O[e]==null&&(t=O[e-1])instanceof Bt&&(i=O[e+1])instanceof Bt&&O.splice(e-1,3,new Bt(t.length+1+i.length))}var OS=5,Ia=class O{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let i=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof it?r.length+=i-this.pos:(i>this.pos||!this.isCovered)&&this.nodes.push(new it(i-this.pos,-1,0)),this.writtenTo=i,t>i&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,i){if(e=OS)&&this.addLineDeco(r,n,s)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new it(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let i=new Bt(t-e);return this.oracle.doc.lineAt(e).to==t&&(i.flags|=4),i}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof it)return e;let t=new it(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,i){let r=this.ensureLine();r.length+=i,r.collapsed+=i,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+i}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof it)&&!this.isCovered?this.nodes.push(new it(0,-1,0)):(this.writtenToc.clientHeight||c.scrollWidth>c.clientWidth)&&h.overflow!="visible"){let f=c.getBoundingClientRect();n=Math.max(n,f.left),s=Math.min(s,f.right),a=Math.max(a,f.top),o=Math.min(l==O.parentNode?r.innerHeight:o,f.bottom)}l=h.position=="absolute"||h.position=="fixed"?c.offsetParent:c.parentNode}else if(l.nodeType==11)l=l.host;else break;return{left:n-t.left,right:Math.max(n,s)-t.left,top:a-(t.top+e),bottom:Math.max(a,o)-(t.top+e)}}function nS(O){let e=O.getBoundingClientRect(),t=O.ownerDocument.defaultView||window;return e.left0&&e.top0}function sS(O,e){let t=O.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var Ai=class{constructor(e,t,i,r){this.from=e,this.to=t,this.size=i,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let i=0;itypeof i!="function"&&i.class=="cm-lineWrapping");this.heightOracle=new La(t),this.stateDeco=e.facet(Fi).filter(i=>typeof i!="function"),this.heightMap=De.empty().applyChanges(this.stateDeco,E.empty,this.heightOracle.setDoc(e.doc),[new ht(0,0,0,e.doc.length)]);for(let i=0;i<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());i++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Y.set(this.lineGaps.map(i=>i.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let i=0;i<=1;i++){let r=i?t.head:t.anchor;if(!e.some(({from:n,to:s})=>r>=n&&r<=s)){let{from:n,to:s}=this.lineBlockAt(r);e.push(new JO(n,s))}}return this.viewports=e.sort((i,r)=>i.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Qf:new Fa(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(zi(e,this.scaler))})}update(e,t=null){this.state=e.state;let i=this.stateDeco;this.stateDeco=this.state.facet(Fi).filter(c=>typeof c!="function");let r=e.changedRanges,n=ht.extendWithRanges(r,iS(i,this.stateDeco,e?e.changes:Ze.empty(this.state.doc.length))),s=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);df(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),n),(this.heightMap.height!=s||oi)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=s);let o=n.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.heado.to)||!this.viewportIsAppropriate(o))&&(o=this.getViewport(0,t));let l=o.from!=this.viewport.from||o.to!=this.viewport.to;this.viewport=o,e.flags|=this.updateForViewport(),(l||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(Hf)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,i=window.getComputedStyle(t),r=this.heightOracle,n=i.whiteSpace;this.defaultTextDirection=i.direction=="rtl"?H.RTL:H.LTR;let s=this.heightOracle.mustRefreshForWrapping(n),a=t.getBoundingClientRect(),o=s||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let l=0,c=0;if(a.width&&a.height){let{scaleX:y,scaleY:X}=Vf(t,a);(y>.005&&Math.abs(this.scaleX-y)>.005||X>.005&&Math.abs(this.scaleY-X)>.005)&&(this.scaleX=y,this.scaleY=X,l|=16,s=o=!0)}let h=(parseInt(i.paddingTop)||0)*this.scaleY,f=(parseInt(i.paddingBottom)||0)*this.scaleY;(this.paddingTop!=h||this.paddingBottom!=f)&&(this.paddingTop=h,this.paddingBottom=f,l|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(o=!0),this.editorWidth=e.scrollDOM.clientWidth,l|=16);let u=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=u&&(this.scrollAnchorHeight=-1,this.scrollTop=u),this.scrolledToBottom=zf(e.scrollDOM);let Q=(this.printing?sS:rS)(t,this.paddingTop),$=Q.top-this.pixelViewport.top,p=Q.bottom-this.pixelViewport.bottom;this.pixelViewport=Q;let m=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(m!=this.inView&&(this.inView=m,m&&(o=!0)),!this.inView&&!this.scrollTarget&&!nS(e.dom))return 0;let g=a.width;if((this.contentDOMWidth!=g||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,l|=16),o){let y=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(y)&&(s=!0),s||r.lineWrapping&&Math.abs(g-this.contentDOMWidth)>r.charWidth){let{lineHeight:X,charWidth:x,textHeight:k}=e.docView.measureTextSize();s=X>0&&r.refresh(n,X,x,k,Math.max(5,g/x),y),s&&(e.docView.minWidth=0,l|=16)}$>0&&p>0?c=Math.max($,p):$<0&&p<0&&(c=Math.min($,p)),df();for(let X of this.viewports){let x=X.from==this.viewport.from?y:e.docView.measureVisibleLineHeights(X);this.heightMap=(s?De.empty().applyChanges(this.stateDeco,E.empty,this.heightOracle,[new ht(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,s,new Ma(X.from,x))}oi&&(l|=2)}let P=!this.viewportIsAppropriate(this.viewport,c)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return P&&(l&2&&(l|=this.updateScaler()),this.viewport=this.getViewport(c,this.scrollTarget),l|=this.updateForViewport()),(l&2||P)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(s?[]:this.lineGaps,e)),l|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),l}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let i=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,n=this.heightOracle,{visibleTop:s,visibleBottom:a}=this,o=new JO(r.lineAt(s-i*1e3,oe.ByHeight,n,0,0).from,r.lineAt(a+(1-i)*1e3,oe.ByHeight,n,0,0).to);if(t){let{head:l}=t.range;if(lo.to){let c=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),h=r.lineAt(l,oe.ByPos,n,0,0),f;t.y=="center"?f=(h.top+h.bottom)/2-c/2:t.y=="start"||t.y=="nearest"&&l=a+Math.max(10,Math.min(i,250)))&&r>s-2*1e3&&n>1,s=r<<1;if(this.defaultTextDirection!=H.LTR&&!i)return[];let a=[],o=(c,h,f,u)=>{if(h-cc&&mm.from>=f.from&&m.to<=f.to&&Math.abs(m.from-c)m.fromg));if(!p){if(hP.from<=h&&P.to>=h)){let P=t.moveToLineBoundary(S.cursor(h),!1,!0).head;P>c&&(h=P)}let m=this.gapSize(f,c,h,u),g=i||m<2e6?m:2e6;p=new Ai(c,h,m,g)}a.push(p)},l=c=>{if(c.length2e6)for(let x of e)x.from>=c.from&&x.fromc.from&&o(c.from,u,c,h),Qt.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let i=[];M.spans(t,this.viewport.from,this.viewport.to,{span(n,s){i.push({from:n,to:s})},point(){}},20);let r=0;if(i.length!=this.visibleRanges.length)r=12;else for(let n=0;n=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||zi(this.heightMap.lineAt(e,oe.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||zi(this.heightMap.lineAt(this.scaler.fromDOM(e),oe.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return zi(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},JO=class{constructor(e,t){this.from=e,this.to=t}};function aS(O,e,t){let i=[],r=O,n=0;return M.spans(t,O,e,{span(){},point(s,a){s>r&&(i.push({from:r,to:s}),n+=s-r),r=a}},20),r=1)return e[e.length-1].to;let i=Math.floor(O*t);for(let r=0;;r++){let{from:n,to:s}=e[r],a=s-n;if(i<=a)return n+i;i-=a}}function nn(O,e){let t=0;for(let{from:i,to:r}of O.ranges){if(e<=r){t+=e-i;break}t+=r-i}return t/O.total}function oS(O,e){for(let t of O)if(e(t))return t}var Qf={toDOM(O){return O},fromDOM(O){return O},scale:1,eq(O){return O==this}},Fa=class O{constructor(e,t,i){let r=0,n=0,s=0;this.viewports=i.map(({from:a,to:o})=>{let l=t.lineAt(a,oe.ByPos,e,0,0).top,c=t.lineAt(o,oe.ByPos,e,0,0).bottom;return r+=c-l,{from:a,to:o,top:l,bottom:c,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let a of this.viewports)a.domTop=s+(a.top-n)*this.scale,s=a.domBottom=a.domTop+(a.bottom-a.top),n=a.bottom}toDOM(e){for(let t=0,i=0,r=0;;t++){let n=tt.from==e.viewports[i].from&&t.to==e.viewports[i].to):!1}};function zi(O,e){if(e.scale==1)return O;let t=e.toDOM(O.top),i=e.toDOM(O.bottom);return new lt(O.from,O.length,t,i-t,Array.isArray(O._content)?O._content.map(r=>zi(r,e)):O._content)}var sn=Z.define({combine:O=>O.join(" ")}),Ha=Z.define({combine:O=>O.indexOf(!0)>-1}),Ka=Ot.newName(),Pd=Ot.newName(),Sd=Ot.newName(),Xd={"&light":"."+Pd,"&dark":"."+Sd};function Ja(O,e,t){return new Ot(e,{finish(i){return/&/.test(i)?i.replace(/&\w*/,r=>{if(r=="&")return O;if(!t||!t[r])throw new RangeError(`Unsupported selector: ${r}`);return t[r]}):O+" "+i}})}var lS=Ja("."+Ka,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Xd),cS={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Qa=v.ie&&v.ie_version<=11,eo=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new ba,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let i of t)this.queue.push(i);(v.ie&&v.ie_version<=11||v.ios&&e.composing)&&t.some(i=>i.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&v.android&&e.constructor.EDIT_CONTEXT!==!1&&!(v.chrome&&v.chrome_version<126)&&(this.editContext=new to(e),e.state.facet(_t)&&(e.contentDOM.editContext=this.editContext.editContext)),Qa&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,i)=>t!=e[i]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,r=this.selectionRange;if(i.state.facet(_t)?i.root.activeElement!=this.dom:!cn(this.dom,r))return;let n=r.anchorNode&&i.docView.tile.nearest(r.anchorNode);if(n&&n.isWidget()&&n.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(v.ie&&v.ie_version<=11||v.android&&v.chrome)&&!i.state.selection.main.empty&&r.focusNode&&Wi(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=Bi(e.root);if(!t)return!1;let i=v.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&hS(this.view,t)||t;if(!i||this.selectionRange.eq(i))return!1;let r=cn(this.dom,i);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let n=this.delayedAndroidKey;n&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=n.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&n.force&&ii(this.dom,n.key,n.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,i=-1,r=!1;for(let n of e){let s=this.readMutation(n);s&&(s.typeOver&&(r=!0),t==-1?{from:t,to:i}=s:(t=Math.min(s.from,t),i=Math.max(s.to,i)))}return{from:t,to:i,typeOver:r}}readChange(){let{from:e,to:t,typeOver:i}=this.processRecords(),r=this.selectionChanged&&cn(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let n=new Ca(this.view,e,t,i);return this.view.docView.domChanged={newSel:n.newSel?n.newSel.main:null},n}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let i=this.view.state,r=cd(this.view,t);return this.view.state==i&&(t.domChanged||t.newSel&&!t.newSel.main.eq(this.view.state.selection.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let i=$f(t,e.previousSibling||e.target.previousSibling,-1),r=$f(t,e.nextSibling||e.target.nextSibling,1);return{from:i?t.posAfter(i):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(_t)!=e.state.facet(_t)&&(e.view.contentDOM.editContext=e.state.facet(_t)?this.editContext.editContext:null))}destroy(){var e,t,i;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(i=this.resizeScroll)===null||i===void 0||i.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function $f(O,e,t){for(;e;){let i=de.get(e);if(i&&i.parent==O)return i;let r=e.parentNode;e=r!=O.dom?r:t>0?e.nextSibling:e.previousSibling}return null}function pf(O,e){let t=e.startContainer,i=e.startOffset,r=e.endContainer,n=e.endOffset,s=O.docView.domAtPos(O.state.selection.main.anchor,1);return Wi(s.node,s.offset,r,n)&&([t,i,r,n]=[r,n,t,i]),{anchorNode:t,anchorOffset:i,focusNode:r,focusOffset:n}}function hS(O,e){if(e.getComposedRanges){let r=e.getComposedRanges(O.root)[0];if(r)return pf(O,r)}let t=null;function i(r){r.preventDefault(),r.stopImmediatePropagation(),t=r.getTargetRanges()[0]}return O.contentDOM.addEventListener("beforeinput",i,!0),O.dom.ownerDocument.execCommand("indent"),O.contentDOM.removeEventListener("beforeinput",i,!0),t?pf(O,t):null}var to=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=i=>{let r=e.state.selection.main,{anchor:n,head:s}=r,a=this.toEditorPos(i.updateRangeStart),o=this.toEditorPos(i.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:i.updateRangeStart,editorBase:a,drifted:!1});let l=o-a>i.text.length;a==this.from&&nthis.to&&(o=n);let c=hd(e.state.sliceDoc(a,o),i.text,(l?r.from:r.to)-a,l?"end":null);if(!c){let f=S.single(this.toEditorPos(i.selectionStart),this.toEditorPos(i.selectionEnd));f.main.eq(r)||e.dispatch({selection:f,userEvent:"select"});return}let h={from:c.from+a,to:c.toA+a,insert:E.of(i.text.slice(c.from,c.toB).split(` `))};if((v.mac||v.android)&&h.from==s-1&&/^\. ?$/.test(i.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(h={from:a,to:o,insert:E.of([i.text.replace("."," ")])}),this.pendingContextChange=h,!e.state.readOnly){let f=this.to-this.from+(h.to-h.from+h.insert.length);So(e,h,S.single(this.toEditorPos(i.selectionStart,f),this.toEditorPos(i.selectionEnd,f)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),h.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,i.updateRangeStart-1),Math.min(t.text.length,i.updateRangeStart+1)))&&this.handlers.compositionend(i)},this.handlers.characterboundsupdate=i=>{let r=[],n=null;for(let s=this.toEditorPos(i.rangeStart),a=this.toEditorPos(i.rangeEnd);s{let r=[];for(let n of i.getTextFormats()){let s=n.underlineStyle,a=n.underlineThickness;if(!/none/i.test(s)&&!/none/i.test(a)){let o=this.toEditorPos(n.rangeStart),l=this.toEditorPos(n.rangeEnd);if(o{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:i}=this.composing;this.composing=null,i&&this.reset(e.state)}};for(let i in this.handlers)t.addEventListener(i,this.handlers[i]);this.measureReq={read:i=>{this.editContext.updateControlBounds(i.contentDOM.getBoundingClientRect());let r=Bi(i.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,i=!1,r=this.pendingContextChange;return e.changes.iterChanges((n,s,a,o,l)=>{if(i)return;let c=l.length-(s-n);if(r&&s>=r.to)if(r.from==n&&r.to==s&&r.insert.eq(l)){r=this.pendingContextChange=null,t+=c,this.to+=c;return}else r=null,this.revertPending(e.state);if(n+=t,s+=t,s<=this.from)this.from+=c,this.to+=c;else if(nthis.to||this.to-this.from+l.length>3e4){i=!0;return}this.editContext.updateText(this.toContextPos(n),this.toContextPos(s),l.toString()),this.to+=c}t+=c}),r&&!i&&this.revertPending(e.state),!i}update(e){let t=this.pendingContextChange,i=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(i.from,i.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=i||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(i,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let i=this.composing;return i&&i.drifted?i.editorBase+(e-i.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},T=class O{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:i}=e;this.dispatchTransactions=e.dispatchTransactions||i&&(r=>r.forEach(n=>i(n,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||nP(e.parent)||document,this.viewState=new xn(e.state||I.create(e)),e.scrollTo&&e.scrollTo.is(en)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(KO).map(r=>new Ci(r));for(let r of this.plugins)r.update(this);this.observer=new eo(this),this.inputState=new Ga(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Xn(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>this.requestMeasure())}dispatch(...e){let t=e.length==1&&e[0]instanceof Qe?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,i=!1,r,n=this.state;for(let f of e){if(f.startState!=n)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");n=f.state}if(this.destroyed){this.viewState.state=n;return}let s=this.hasFocus,a=0,o=null;e.some(f=>f.annotation(pd))?(this.inputState.notifiedFocused=s,a=1):s!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=s,o=md(n,s),o||(a=1));let l=this.observer.delayedAndroidKey,c=null;if(l?(this.observer.clearDelayedAndroidKey(),c=this.observer.readChange(),(c&&!this.state.doc.eq(n.doc)||!this.state.selection.eq(n.selection))&&(c=null)):this.observer.clear(),n.facet(I.phrases)!=this.state.facet(I.phrases))return this.setState(n);r=Pn.create(this,n,e),r.flags|=a;let h=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(h&&(h=h.map(f.changes)),f.scrollIntoView){let{main:u}=f.state.selection;h=new ji(u.empty?u:S.cursor(u.head,u.head>u.anchor?-1:1))}for(let u of f.effects)u.is(en)&&(h=u.value.clip(this.state))}this.viewState.update(r,h),this.bidiCache=kn.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(Vi)!=this.styleModules&&this.mountStyles(),i=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(f=>f.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(sn)!=r.state.facet(sn)&&(this.viewState.mustMeasureContent=!0),(t||i||h||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let f of this.state.facet(wa))try{f(r)}catch(u){Xe(this.state,u,"update listener")}(o||c)&&Promise.resolve().then(()=>{o&&this.state==o.startState&&this.dispatch(o),c&&!cd(this,c)&&l.force&&ii(this.contentDOM,l.key,l.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let i of this.plugins)i.destroy(this);this.viewState=new xn(e),this.plugins=e.facet(KO).map(i=>new Ci(i)),this.pluginMap.clear();for(let i of this.plugins)i.update(this);this.docView.destroy(),this.docView=new Xn(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(KO),i=e.state.facet(KO);if(t!=i){let r=[];for(let n of i){let s=t.indexOf(n);if(s<0)r.push(new Ci(n));else{let a=this.plugins[s];a.mustUpdate=e,r.push(a)}}for(let n of this.plugins)n.mustUpdate!=e&&n.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,i=this.scrollDOM,r=i.scrollTop*this.scaleY,{scrollAnchorPos:n,scrollAnchorHeight:s}=this.viewState;Math.abs(r-this.viewState.scrollTop)>1&&(s=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(s<0)if(zf(i))n=-1,s=this.viewState.heightMap.height;else{let u=this.viewState.scrollAnchorAt(r);n=u.from,s=u.top}this.updateState=1;let o=this.viewState.measure(this);if(!o&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let l=[];o&4||([this.measureRequests,l]=[l,this.measureRequests]);let c=l.map(u=>{try{return u.read(this)}catch(Q){return Xe(this.state,Q),mf}}),h=Pn.create(this,this.state,[]),f=!1;h.flags|=o,t?t.flags|=o:t=h,this.updateState=2,h.empty||(this.updatePlugins(h),this.inputState.update(h),this.updateAttrs(),f=this.docView.update(h),f&&this.docViewUpdate());for(let u=0;u1||Q<-1){r=r+Q,i.scrollTop=r/this.scaleY,s=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(wa))a(t)}get themeClasses(){return Ka+" "+(this.state.facet(Ha)?Sd:Pd)+" "+this.state.facet(sn)}updateAttrs(){let e=gf(this,ed,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(_t)?"true":"false",class:"cm-content",style:`${v.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),gf(this,go,t);let i=this.observer.ignore(()=>{let r=Fh(this.contentDOM,this.contentAttrs,t),n=Fh(this.dom,this.editorAttrs,e);return r||n});return this.editorAttrs=e,this.contentAttrs=t,i}showAnnouncements(e){let t=!0;for(let i of e)for(let r of i.effects)if(r.is(O.announce)){t&&(this.announceDOM.textContent=""),t=!1;let n=this.announceDOM.appendChild(document.createElement("div"));n.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(Vi);let e=this.state.facet(O.cspNonce);Ot.mount(this.root,this.styleModules.concat(lS).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;ti.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,i){return ua(this,e,Of(this,e,t,i))}moveByGroup(e,t){return ua(this,e,Of(this,e,t,i=>VP(this,e.head,i)))}visualLineSide(e,t){let i=this.bidiSpans(e),r=this.textDirectionAt(e.from),n=i[t?i.length-1:0];return S.cursor(n.side(t,r)+e.from,n.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,i=!0){return RP(this,e,t,i)}moveVertically(e,t,i){return ua(this,e,qP(this,e,t,i))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let i=Wa(this,e,t);return i&&i.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),Wa(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let i=this.docView.coordsAt(e,t);if(!i||i.left==i.right)return i;let r=this.state.doc.lineAt(e),n=this.bidiSpans(r),s=n[ct.find(n,e-r.from,-1,t)];return gn(i,s.dir==H.LTR==t>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(Ff)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>fS)return Ef(e.length);let t=this.textDirectionAt(e.from),i;for(let n of this.bidiCache)if(n.from==e.from&&n.dir==t&&(n.fresh||Gf(n.isolates,i=Jh(this,e))))return n.order;i||(i=Jh(this,e));let r=dP(e.text,t,i);return this.bidiCache.push(new kn(e.from,e.to,t,i,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||v.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{qf(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){return en.of(new ji(typeof e=="number"?S.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,i=this.viewState.scrollAnchorAt(e);return en.of(new ji(S.cursor(i.from),"start","start",i.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return he.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return he.define(()=>({}),{eventObservers:e})}static theme(e,t){let i=Ot.newName(),r=[sn.of(i),Vi.of(Ja(`.${i}`,e))];return t&&t.dark&&r.push(Ha.of(!0)),r}static baseTheme(e){return ze.lowest(Vi.of(Ja("."+Ka,e,Xd)))}static findFromDOM(e){var t;let i=e.querySelector(".cm-content"),r=i&&de.get(i)||de.get(e);return((t=r?.root)===null||t===void 0?void 0:t.view)||null}};T.styleModule=Vi;T.inputHandler=Bf;T.clipboardInputFilter=po;T.clipboardOutputFilter=mo;T.scrollHandler=Kf;T.focusChangeEffect=Nf;T.perLineTextDirection=Ff;T.exceptionSink=If;T.updateListener=wa;T.editable=_t;T.mouseSelectionStyle=Df;T.dragMovesSelection=Mf;T.clickAddsSelectionRange=Lf;T.decorations=Fi;T.blockWrappers=td;T.outerDecorations=Od;T.atomicRanges=Ji;T.bidiIsolatedRanges=id;T.scrollMargins=rd;T.darkTheme=Ha;T.cspNonce=Z.define({combine:O=>O.length?O[0]:""});T.contentAttributes=go;T.editorAttributes=ed;T.lineWrapping=T.contentAttributes.of({class:"cm-lineWrapping"});T.announce=V.define();var fS=4096,mf={},kn=class O{constructor(e,t,i,r,n,s){this.from=e,this.to=t,this.dir=i,this.isolates=r,this.fresh=n,this.order=s}static update(e,t){if(t.empty&&!e.some(n=>n.fresh))return e;let i=[],r=e.length?e[e.length-1].dir:H.LTR;for(let n=Math.max(0,e.length-10);n=0;r--){let n=i[r],s=typeof n=="function"?n(O):n;s&&uo(s,t)}return t}var dS=v.mac?"mac":v.windows?"win":v.linux?"linux":"key";function uS(O,e){let t=O.split(/-(?!$)/),i=t[t.length-1];i=="Space"&&(i=" ");let r,n,s,a;for(let o=0;oi.concat(r),[]))),t}function bd(O,e,t){return yd(Td(O.state),e,O,t)}var Dt=null,$S=4e3;function pS(O,e=dS){let t=Object.create(null),i=Object.create(null),r=(s,a)=>{let o=i[s];if(o==null)i[s]=a;else if(o!=a)throw new Error("Key binding "+s+" is used both as a regular binding and as a multi-stroke prefix")},n=(s,a,o,l,c)=>{var h,f;let u=t[s]||(t[s]=Object.create(null)),Q=a.split(/ (?!$)/).map(m=>uS(m,e));for(let m=1;m{let y=Dt={view:P,prefix:g,scope:s};return setTimeout(()=>{Dt==y&&(Dt=null)},$S),!0}]})}let $=Q.join(" ");r($,!1);let p=u[$]||(u[$]={preventDefault:!1,stopPropagation:!1,run:((f=(h=u._any)===null||h===void 0?void 0:h.run)===null||f===void 0?void 0:f.slice())||[]});o&&p.run.push(o),l&&(p.preventDefault=!0),c&&(p.stopPropagation=!0)};for(let s of O){let a=s.scope?s.scope.split(" "):["editor"];if(s.any)for(let l of a){let c=t[l]||(t[l]=Object.create(null));c._any||(c._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:h}=s;for(let f in c)c[f].run.push(u=>h(u,Oo))}let o=s[e]||s.key;if(o)for(let l of a)n(l,o,s.run,s.preventDefault,s.stopPropagation),s.shift&&n(l,"Shift-"+o,s.shift,s.preventDefault,s.stopPropagation)}return t}var Oo=null;function yd(O,e,t,i){Oo=e;let r=Mh(e),n=Se(r,0),s=Me(n)==r.length&&r!=" ",a="",o=!1,l=!1,c=!1;Dt&&Dt.view==t&&Dt.scope==i&&(a=Dt.prefix+" ",dd.indexOf(e.keyCode)<0&&(l=!0,Dt=null));let h=new Set,f=p=>{if(p){for(let m of p.run)if(!h.has(m)&&(h.add(m),m(t)))return p.stopPropagation&&(c=!0),!0;p.preventDefault&&(p.stopPropagation&&(c=!0),l=!0)}return!1},u=O[i],Q,$;return u&&(f(u[a+an(r,e,!s)])?o=!0:s&&(e.altKey||e.metaKey||e.ctrlKey)&&!(v.windows&&e.ctrlKey&&e.altKey)&&!(v.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(Q=Yt[e.keyCode])&&Q!=r?(f(u[a+an(Q,e,!0)])||e.shiftKey&&($=HO[e.keyCode])!=r&&$!=Q&&f(u[a+an($,e,!1)]))&&(o=!0):s&&e.shiftKey&&f(u[a+an(r,e,!0)])&&(o=!0),!o&&f(u._any)&&(o=!0)),l&&(o=!0),o&&c&&e.stopPropagation(),Oo=null,o}var Hi=class O{constructor(e,t,i,r,n){this.className=e,this.left=t,this.top=i,this.width=r,this.height=n}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,i){if(i.empty){let r=e.coordsAtPos(i.head,i.assoc||1);if(!r)return[];let n=xd(e);return[new O(t,r.left-n.left,r.top-n.top,null,r.bottom-r.top)]}else return mS(e,t,i)}};function xd(O){let e=O.scrollDOM.getBoundingClientRect();return{left:(O.textDirection==H.LTR?e.left:e.right-O.scrollDOM.clientWidth*O.scaleX)-O.scrollDOM.scrollLeft*O.scaleX,top:e.top-O.scrollDOM.scrollTop*O.scaleY}}function Sf(O,e,t,i){let r=O.coordsAtPos(e,t*2);if(!r)return i;let n=O.dom.getBoundingClientRect(),s=(r.top+r.bottom)/2,a=O.posAtCoords({x:n.left+1,y:s}),o=O.posAtCoords({x:n.right-1,y:s});return a==null||o==null?i:{from:Math.max(i.from,Math.min(a,o)),to:Math.min(i.to,Math.max(a,o))}}function mS(O,e,t){if(t.to<=O.viewport.from||t.from>=O.viewport.to)return[];let i=Math.max(t.from,O.viewport.from),r=Math.min(t.to,O.viewport.to),n=O.textDirection==H.LTR,s=O.contentDOM,a=s.getBoundingClientRect(),o=xd(O),l=s.querySelector(".cm-line"),c=l&&window.getComputedStyle(l),h=a.left+(c?parseInt(c.paddingLeft)+Math.min(0,parseInt(c.textIndent)):0),f=a.right-(c?parseInt(c.paddingRight):0),u=Ua(O,i,1),Q=Ua(O,r,-1),$=u.type==Te.Text?u:null,p=Q.type==Te.Text?Q:null;if($&&(O.lineWrapping||u.widgetLineBreaks)&&($=Sf(O,i,1,$)),p&&(O.lineWrapping||Q.widgetLineBreaks)&&(p=Sf(O,r,-1,p)),$&&p&&$.from==p.from&&$.to==p.to)return g(P(t.from,t.to,$));{let X=$?P(t.from,null,$):y(u,!1),x=p?P(null,t.to,p):y(Q,!0),k=[];return($||u).to<(p||Q).from-($&&p?1:0)||u.widgetLineBreaks>1&&X.bottom+O.defaultLineHeight/2q&&B.from=we)break;Je>ae&&G(Math.max(Pe,ae),X==null&&Pe<=q,Math.min(Je,we),x==null&&Je>=K,mt.dir)}if(ae=Ee.to+1,ae>=we)break}return ie.length==0&&G(q,X==null,K,x==null,O.textDirection),{top:j,bottom:A,horizontal:ie}}function y(X,x){let k=a.top+(x?X.top:X.bottom);return{top:k,bottom:k,horizontal:[]}}}function gS(O,e){return O.constructor==e.constructor&&O.eq(e)}var io=class{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(dn)!=e.state.facet(dn)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,i=e.facet(dn);for(;t!gS(t,this.drawn[i]))){let t=this.dom.firstChild,i=0;for(let r of e)r.update&&t&&r.constructor&&this.drawn[i].constructor&&r.update(t,this.drawn[i])?(t=t.nextSibling,i++):this.dom.insertBefore(r.draw(),t);for(;t;){let r=t.nextSibling;t.remove(),t=r}this.drawn=e,v.safari&&v.safari_version>=26&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}},dn=Z.define();function kd(O){return[he.define(e=>new io(e,O)),dn.of(O)]}var Ki=Z.define({combine(O){return xe(O,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function wd(O={}){return[Ki.of(O),PS,SS,XS,Hf.of(!0)]}function Zd(O){return O.startState.facet(Ki)!=O.state.facet(Ki)}var PS=kd({above:!0,markers(O){let{state:e}=O,t=e.facet(Ki),i=[];for(let r of e.selection.ranges){let n=r==e.selection.main;if(r.empty||t.drawRangeCursor){let s=n?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",a=r.empty?r:S.cursor(r.head,r.head>r.anchor?-1:1);for(let o of Hi.forRange(O,s,a))i.push(o)}}return i},update(O,e){O.transactions.some(i=>i.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=Zd(O);return t&&Xf(O.state,e),O.docChanged||O.selectionSet||t},mount(O,e){Xf(e.state,O)},class:"cm-cursorLayer"});function Xf(O,e){e.style.animationDuration=O.facet(Ki).cursorBlinkRate+"ms"}var SS=kd({above:!1,markers(O){return O.state.selection.ranges.map(e=>e.empty?[]:Hi.forRange(O,"cm-selectionBackground",e)).reduce((e,t)=>e.concat(t))},update(O,e){return O.docChanged||O.selectionSet||O.viewportChanged||Zd(O)},class:"cm-selectionLayer"}),XS=ze.highest(T.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),vd=V.define({map(O,e){return O==null?null:e.mapPos(O)}}),Ui=ce.define({create(){return null},update(O,e){return O!=null&&(O=e.changes.mapPos(O)),e.effects.reduce((t,i)=>i.is(vd)?i.value:t,O)}}),TS=he.fromClass(class{constructor(O){this.view=O,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(O){var e;let t=O.state.field(Ui);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(O.startState.field(Ui)!=t||O.docChanged||O.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:O}=this,e=O.state.field(Ui),t=e!=null&&O.coordsAtPos(e);if(!t)return null;let i=O.scrollDOM.getBoundingClientRect();return{left:t.left-i.left+O.scrollDOM.scrollLeft*O.scaleX,top:t.top-i.top+O.scrollDOM.scrollTop*O.scaleY,height:t.bottom-t.top}}drawCursor(O){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;O?(this.cursor.style.left=O.left/e+"px",this.cursor.style.top=O.top/t+"px",this.cursor.style.height=O.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(O){this.view.state.field(Ui)!=O&&this.view.dispatch({effects:vd.of(O)})}},{eventObservers:{dragover(O){this.setDropPos(this.view.posAtCoords({x:O.clientX,y:O.clientY}))},dragleave(O){(O.target==this.view.contentDOM||!this.view.contentDOM.contains(O.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function Yd(){return[Ui,TS]}function Tf(O,e,t,i,r){e.lastIndex=0;for(let n=O.iterRange(t,i),s=t,a;!n.next().done;s+=n.value.length)if(!n.lineBreak)for(;a=e.exec(n.value);)r(s+a.index,a)}function bS(O,e){let t=O.visibleRanges;if(t.length==1&&t[0].from==O.viewport.from&&t[0].to==O.viewport.to)return t;let i=[];for(let{from:r,to:n}of t)r=Math.max(O.state.doc.lineAt(r).from,r-e),n=Math.min(O.state.doc.lineAt(n).to,n+e),i.length&&i[i.length-1].to>=r?i[i.length-1].to=n:i.push({from:r,to:n});return i}var ro=class{constructor(e){let{regexp:t,decoration:i,decorate:r,boundary:n,maxLength:s=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,r)this.addMatch=(a,o,l,c)=>r(c,l,l+a[0].length,a,o);else if(typeof i=="function")this.addMatch=(a,o,l,c)=>{let h=i(a,o,l);h&&c(l,l+a[0].length,h)};else if(i)this.addMatch=(a,o,l,c)=>c(l,l+a[0].length,i);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=n,this.maxLength=s}createDeco(e){let t=new Le,i=t.add.bind(t);for(let{from:r,to:n}of bS(e,this.maxLength))Tf(e.state.doc,this.regexp,r,n,(s,a)=>this.addMatch(a,e,s,i));return t.finish()}updateDeco(e,t){let i=1e9,r=-1;return e.docChanged&&e.changes.iterChanges((n,s,a,o)=>{o>=e.view.viewport.from&&a<=e.view.viewport.to&&(i=Math.min(a,i),r=Math.max(o,r))}),e.viewportMoved||r-i>1e3?this.createDeco(e.view):r>-1?this.updateRange(e.view,t.map(e.changes),i,r):t}updateRange(e,t,i,r){for(let n of e.visibleRanges){let s=Math.max(n.from,i),a=Math.min(n.to,r);if(a>=s){let o=e.state.doc.lineAt(s),l=o.too.from;s--)if(this.boundary.test(o.text[s-1-o.from])){c=s;break}for(;af.push(m.range($,p));if(o==l)for(this.regexp.lastIndex=c-o.from;(u=this.regexp.exec(o.text))&&u.indexthis.addMatch(p,e,$,Q));t=t.update({filterFrom:c,filterTo:h,filter:($,p)=>$h,add:f})}}return t}},no=/x/.unicode!=null?"gu":"g",yS=new RegExp(`[\0-\b --\x7F-\x9F\xAD\u061C\u200B\u200E\u200F\u2028\u2029\u202D\u202E\u2066\u2067\u2069\uFEFF\uFFF9-\uFFFC]`,no),xS={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"},$a=null;function kS(){var O;if($a==null&&typeof document<"u"&&document.body){let e=document.body.style;$a=((O=e.tabSize)!==null&&O!==void 0?O:e.MozTabSize)!=null}return $a||!1}var un=Z.define({combine(O){let e=xe(O,{render:null,specialChars:yS,addSpecialChars:null});return(e.replaceTabs=!kS())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,no)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,no)),e}});function _d(O={}){return[un.of(O),wS()]}var bf=null;function wS(){return bf||(bf=he.fromClass(class{constructor(O){this.view=O,this.decorations=Y.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(O.state.facet(un)),this.decorations=this.decorator.createDeco(O)}makeDecorator(O){return new ro({regexp:O.specialChars,decoration:(e,t,i)=>{let{doc:r}=t.state,n=Se(e[0],0);if(n==9){let s=r.lineAt(i),a=t.state.tabSize,o=ve(s.text,a,i-s.from);return Y.replace({widget:new ao((a-o%a)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[n]||(this.decorationCache[n]=Y.replace({widget:new so(O,n)}))},boundary:O.replaceTabs?void 0:/[^]/})}update(O){let e=O.state.facet(un);O.startState.facet(un)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(O.view)):this.decorations=this.decorator.updateDeco(O,this.decorations)}},{decorations:O=>O.decorations}))}var ZS="\u2022";function vS(O){return O>=32?ZS:O==10?"\u2424":String.fromCharCode(9216+O)}var so=class extends _e{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=vS(this.code),i=e.state.phrase("Control character")+" "+(xS[this.code]||"0x"+this.code.toString(16)),r=this.options.render&&this.options.render(this.code,i,t);if(r)return r;let n=document.createElement("span");return n.textContent=t,n.title=i,n.setAttribute("aria-label",i),n.className="cm-specialChar",n}ignoreEvent(){return!1}},ao=class extends _e{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}};function Rd(){return _S}var YS=Y.line({class:"cm-activeLine"}),_S=he.fromClass(class{constructor(O){this.decorations=this.getDeco(O)}update(O){(O.docChanged||O.selectionSet)&&(this.decorations=this.getDeco(O.view))}getDeco(O){let e=-1,t=[];for(let i of O.state.selection.ranges){let r=O.lineBlockAt(i.head);r.from>e&&(t.push(YS.range(r.from)),e=r.from)}return Y.set(t)}},{decorations:O=>O.decorations});var oo=2e3;function RS(O,e,t){let i=Math.min(e.line,t.line),r=Math.max(e.line,t.line),n=[];if(e.off>oo||t.off>oo||e.col<0||t.col<0){let s=Math.min(e.off,t.off),a=Math.max(e.off,t.off);for(let o=i;o<=r;o++){let l=O.doc.line(o);l.length<=a&&n.push(S.range(l.from+s,l.to+a))}}else{let s=Math.min(e.col,t.col),a=Math.max(e.col,t.col);for(let o=i;o<=r;o++){let l=O.doc.line(o),c=Kr(l.text,s,O.tabSize,!0);if(c<0)n.push(S.cursor(l.to));else{let h=Kr(l.text,a,O.tabSize);n.push(S.range(l.from+c,l.from+h))}}}return n}function VS(O,e){let t=O.coordsAtPos(O.viewport.from);return t?Math.round(Math.abs((t.left-e)/O.defaultCharacterWidth)):-1}function yf(O,e){let t=O.posAtCoords({x:e.clientX,y:e.clientY},!1),i=O.state.doc.lineAt(t),r=t-i.from,n=r>oo?-1:r==i.length?VS(O,e.clientX):ve(i.text,O.state.tabSize,t-i.from);return{line:i.number,col:n,off:r}}function qS(O,e){let t=yf(O,e),i=O.state.selection;return t?{update(r){if(r.docChanged){let n=r.changes.mapPos(r.startState.doc.line(t.line).from),s=r.state.doc.lineAt(n);t={line:s.number,col:t.col,off:Math.min(t.off,s.length)},i=i.map(r.changes)}},get(r,n,s){let a=yf(O,r);if(!a)return i;let o=RS(O.state,t,a);return o.length?s?S.create(o.concat(i.ranges)):S.create(o):i}}:null}function Vd(O){let e=O?.eventFilter||(t=>t.altKey&&t.button==0);return T.mouseSelectionStyle.of((t,i)=>e(i)?qS(t,i):null)}var zS={Alt:[18,O=>!!O.altKey],Control:[17,O=>!!O.ctrlKey],Shift:[16,O=>!!O.shiftKey],Meta:[91,O=>!!O.metaKey]},US={style:"cursor: crosshair"};function qd(O={}){let[e,t]=zS[O.key||"Alt"],i=he.fromClass(class{constructor(r){this.view=r,this.isDown=!1}set(r){this.isDown!=r&&(this.isDown=r,this.view.update([]))}},{eventObservers:{keydown(r){this.set(r.keyCode==e||t(r))},keyup(r){(r.keyCode==e||!t(r))&&this.set(!1)},mousemove(r){this.set(t(r))}}});return[i,T.contentAttributes.of(r=>{var n;return!((n=r.plugin(i))===null||n===void 0)&&n.isDown?US:null})]}var on="-10000px",wn=class{constructor(e,t,i,r){this.facet=t,this.createTooltipView=i,this.removeTooltipView=r,this.input=e.state.facet(t),this.tooltips=this.input.filter(s=>s);let n=null;this.tooltipViews=this.tooltips.map(s=>n=i(s,n))}update(e,t){var i;let r=e.state.facet(this.facet),n=r.filter(o=>o);if(r===this.input){for(let o of this.tooltipViews)o.update&&o.update(e);return!1}let s=[],a=t?[]:null;for(let o=0;ot[l]=o),t.length=a.length),this.input=r,this.tooltips=n,this.tooltipViews=s,!0}};function WS(O){let e=O.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}var pa=Z.define({combine:O=>{var e,t,i;return{position:v.ios?"absolute":((e=O.find(r=>r.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((t=O.find(r=>r.parent))===null||t===void 0?void 0:t.parent)||null,tooltipSpace:((i=O.find(r=>r.tooltipSpace))===null||i===void 0?void 0:i.tooltipSpace)||WS}}}),xf=new WeakMap,Xo=he.fromClass(class{constructor(O){this.view=O,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=O.state.facet(pa);this.position=e.position,this.parent=e.parent,this.classes=O.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new wn(O,er,(t,i)=>this.createTooltip(t,i),t=>{this.resizeObserver&&this.resizeObserver.unobserve(t.dom),t.dom.remove()}),this.above=this.manager.tooltips.map(t=>!!t.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(t=>{Date.now()>this.lastTransaction-50&&t.length>0&&t[t.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),O.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let O of this.manager.tooltipViews)this.intersectionObserver.observe(O.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(O){O.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(O,this.above);e&&this.observeIntersection();let t=e||O.geometryChanged,i=O.state.facet(pa);if(i.position!=this.position&&!this.madeAbsolute){this.position=i.position;for(let r of this.manager.tooltipViews)r.dom.style.position=this.position;t=!0}if(i.parent!=this.parent){this.parent&&this.container.remove(),this.parent=i.parent,this.createContainer();for(let r of this.manager.tooltipViews)this.container.appendChild(r.dom);t=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);t&&this.maybeMeasure()}createTooltip(O,e){let t=O.create(this.view),i=e?e.dom:null;if(t.dom.classList.add("cm-tooltip"),O.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let r=document.createElement("div");r.className="cm-tooltip-arrow",t.dom.appendChild(r)}return t.dom.style.position=this.position,t.dom.style.top=on,t.dom.style.left="0px",this.container.insertBefore(t.dom,i),t.mount&&t.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(t.dom),t}destroy(){var O,e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let i of this.manager.tooltipViews)i.dom.remove(),(O=i.destroy)===null||O===void 0||O.call(i);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(t=this.intersectionObserver)===null||t===void 0||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let O=1,e=1,t=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:n}=this.manager.tooltipViews[0];if(v.safari){let s=n.getBoundingClientRect();t=Math.abs(s.top+1e4)>1||Math.abs(s.left)>1}else t=!!n.offsetParent&&n.offsetParent!=this.container.ownerDocument.body}if(t||this.position=="absolute")if(this.parent){let n=this.parent.getBoundingClientRect();n.width&&n.height&&(O=n.width/this.parent.offsetWidth,e=n.height/this.parent.offsetHeight)}else({scaleX:O,scaleY:e}=this.view.viewState);let i=this.view.scrollDOM.getBoundingClientRect(),r=Po(this.view);return{visible:{left:i.left+r.left,top:i.top+r.top,right:i.right-r.right,bottom:i.bottom-r.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((n,s)=>{let a=this.manager.tooltipViews[s];return a.getCoords?a.getCoords(n.pos):this.view.coordsAtPos(n.pos)}),size:this.manager.tooltipViews.map(({dom:n})=>n.getBoundingClientRect()),space:this.view.state.facet(pa).tooltipSpace(this.view),scaleX:O,scaleY:e,makeAbsolute:t}}writeMeasure(O){var e;if(O.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let a of this.manager.tooltipViews)a.dom.style.position="absolute"}let{visible:t,space:i,scaleX:r,scaleY:n}=O,s=[];for(let a=0;a=Math.min(t.bottom,i.bottom)||h.rightMath.min(t.right,i.right)+.1)){c.style.top=on;continue}let u=o.arrow?l.dom.querySelector(".cm-tooltip-arrow"):null,Q=u?7:0,$=f.right-f.left,p=(e=xf.get(l))!==null&&e!==void 0?e:f.bottom-f.top,m=l.offset||CS,g=this.view.textDirection==H.LTR,P=f.width>i.right-i.left?g?i.left:i.right-f.width:g?Math.max(i.left,Math.min(h.left-(u?14:0)+m.x,i.right-$)):Math.min(Math.max(i.left,h.left-$+(u?14:0)-m.x),i.right-$),y=this.above[a];!o.strictSide&&(y?h.top-p-Q-m.yi.bottom)&&y==i.bottom-h.bottom>h.top-i.top&&(y=this.above[a]=!y);let X=(y?h.top-i.top:i.bottom-h.bottom)-Q;if(XP&&j.topx&&(x=y?j.top-p-2-Q:j.bottom+Q+2);if(this.position=="absolute"?(c.style.top=(x-O.parent.top)/n+"px",kf(c,(P-O.parent.left)/r)):(c.style.top=x/n+"px",kf(c,P/r)),u){let j=h.left+(g?m.x:-m.x)-(P+14-7);u.style.left=j/r+"px"}l.overlap!==!0&&s.push({left:P,top:x,right:k,bottom:x+p}),c.classList.toggle("cm-tooltip-above",y),c.classList.toggle("cm-tooltip-below",!y),l.positioned&&l.positioned(O.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let O of this.manager.tooltipViews)O.dom.style.top=on}},{eventObservers:{scroll(){this.maybeMeasure()}}});function kf(O,e){let t=parseInt(O.style.left,10);(isNaN(t)||Math.abs(e-t)>1)&&(O.style.left=e+"px")}var jS=T.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),CS={x:0,y:0},er=Z.define({enables:[Xo,jS]}),Zn=Z.define({combine:O=>O.reduce((e,t)=>e.concat(t),[])}),vn=class O{static create(e){return new O(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new wn(e,Zn,(t,i)=>this.createHostedView(t,i),t=>t.dom.remove())}createHostedView(e,t){let i=e.create(this.view);return i.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(i.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&i.mount&&i.mount(this.view),i}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)(e=t.destroy)===null||e===void 0||e.call(t)}passProp(e){let t;for(let i of this.manager.tooltipViews){let r=i[e];if(r!==void 0){if(t===void 0)t=r;else if(t!==r)return}}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}},GS=er.compute([Zn],O=>{let e=O.facet(Zn);return e.length===0?null:{pos:Math.min(...e.map(t=>t.pos)),end:Math.max(...e.map(t=>{var i;return(i=t.end)!==null&&i!==void 0?i:t.pos})),create:vn.create,above:e[0].above,arrow:e.some(t=>t.arrow)}}),lo=class{constructor(e,t,i,r,n){this.view=e,this.source=t,this.field=i,this.setHover=r,this.hoverTime=n,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;ea.bottom||t.xa.right+e.defaultCharacterWidth)return;let o=e.bidiSpans(e.state.doc.lineAt(r)).find(c=>c.from<=r&&c.to>=r),l=o&&o.dir==H.RTL?-1:1;n=t.x{this.pending==a&&(this.pending=null,o&&!(Array.isArray(o)&&!o.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(o)?o:[o])}))},o=>Xe(e.state,o,"hover tooltip"))}else s&&!(Array.isArray(s)&&!s.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(s)?s:[s])})}get tooltip(){let e=this.view.plugin(Xo),t=e?e.manager.tooltips.findIndex(i=>i.create==vn.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,i;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:r,tooltip:n}=this;if(r.length&&n&&!ES(n.dom,e)||this.pending){let{pos:s}=r[0]||this.pending,a=(i=(t=r[0])===null||t===void 0?void 0:t.end)!==null&&i!==void 0?i:s;(s==a?this.view.posAtCoords(this.lastMove)!=s:!AS(this.view,s,a,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length){let{tooltip:i}=this;i&&i.dom.contains(e.relatedTarget)?this.watchTooltipLeave(i.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=i=>{e.removeEventListener("mouseleave",t),this.active.length&&!this.view.dom.contains(i.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}},ln=4;function ES(O,e){let{left:t,right:i,top:r,bottom:n}=O.getBoundingClientRect(),s;if(s=O.querySelector(".cm-tooltip-arrow")){let a=s.getBoundingClientRect();r=Math.min(a.top,r),n=Math.max(a.bottom,n)}return e.clientX>=t-ln&&e.clientX<=i+ln&&e.clientY>=r-ln&&e.clientY<=n+ln}function AS(O,e,t,i,r,n){let s=O.scrollDOM.getBoundingClientRect(),a=O.documentTop+O.documentPadding.top+O.contentHeight;if(s.left>i||s.rightr||Math.min(s.bottom,a)=e&&o<=t}function zd(O,e={}){let t=V.define(),i=ce.define({create(){return[]},update(r,n){if(r.length&&(e.hideOnChange&&(n.docChanged||n.selection)?r=[]:e.hideOn&&(r=r.filter(s=>!e.hideOn(n,s))),n.docChanged)){let s=[];for(let a of r){let o=n.changes.mapPos(a.pos,-1,pe.TrackDel);if(o!=null){let l=Object.assign(Object.create(null),a);l.pos=o,l.end!=null&&(l.end=n.changes.mapPos(l.end)),s.push(l)}}r=s}for(let s of n.effects)s.is(t)&&(r=s.value),s.is(LS)&&(r=[]);return r},provide:r=>Zn.from(r)});return{active:i,extension:[i,he.define(r=>new lo(r,O,i,t,e.hoverTime||300)),GS]}}function To(O,e){let t=O.plugin(Xo);if(!t)return null;let i=t.manager.tooltips.indexOf(e);return i<0?null:t.manager.tooltipViews[i]}var LS=V.define();var wf=Z.define({combine(O){let e,t;for(let i of O)e=e||i.topContainer,t=t||i.bottomContainer;return{topContainer:e,bottomContainer:t}}});function bO(O,e){let t=O.plugin(Ud),i=t?t.specs.indexOf(e):-1;return i>-1?t.panels[i]:null}var Ud=he.fromClass(class{constructor(O){this.input=O.state.facet(TO),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(O));let e=O.state.facet(wf);this.top=new ei(O,!0,e.topContainer),this.bottom=new ei(O,!1,e.bottomContainer),this.top.sync(this.panels.filter(t=>t.top)),this.bottom.sync(this.panels.filter(t=>!t.top));for(let t of this.panels)t.dom.classList.add("cm-panel"),t.mount&&t.mount()}update(O){let e=O.state.facet(wf);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new ei(O.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new ei(O.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=O.state.facet(TO);if(t!=this.input){let i=t.filter(o=>o),r=[],n=[],s=[],a=[];for(let o of i){let l=this.specs.indexOf(o),c;l<0?(c=o(O.view),a.push(c)):(c=this.panels[l],c.update&&c.update(O)),r.push(c),(c.top?n:s).push(c)}this.specs=i,this.panels=r,this.top.sync(n),this.bottom.sync(s);for(let o of a)o.dom.classList.add("cm-panel"),o.mount&&o.mount()}else for(let i of this.panels)i.update&&i.update(O)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:O=>T.scrollMargins.of(e=>{let t=e.plugin(O);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})}),ei=class{constructor(e,t,i){this.view=e,this.top=t,this.container=i,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let t=this.container||this.view.dom;t.insertBefore(this.dom,this.top?t.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=Zf(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=Zf(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}};function Zf(O){let e=O.nextSibling;return O.remove(),e}var TO=Z.define({enables:Ud});var Ie=class extends tt{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Ie.prototype.elementClass="";Ie.prototype.toDOM=void 0;Ie.prototype.mapMode=pe.TrackBefore;Ie.prototype.startSide=Ie.prototype.endSide=-1;Ie.prototype.point=!0;var Qn=Z.define(),MS=Z.define(),DS={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>M.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Li=Z.define();function bo(O){return[Wd(),Li.of({...DS,...O})]}var co=Z.define({combine:O=>O.some(e=>e)});function Wd(O){let e=[IS];return O&&O.fixed===!1&&e.push(co.of(!0)),e}var IS=he.fromClass(class{constructor(O){this.view=O,this.domAfter=null,this.prevViewport=O.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=O.state.facet(Li).map(e=>new Yn(O,e)),this.fixed=!O.state.facet(co);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),O.scrollDOM.insertBefore(this.dom,O.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(O){if(this.updateGutters(O)){let e=this.prevViewport,t=O.view.viewport,i=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(i<(t.to-t.from)*.8)}if(O.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(co)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=O.view.viewport}syncGutters(O){let e=this.dom.nextSibling;O&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let t=M.iter(this.view.state.facet(Qn),this.view.viewport.from),i=[],r=this.gutters.map(n=>new fo(n,this.view.viewport,-this.view.documentPadding.top));for(let n of this.view.viewportLineBlocks)if(i.length&&(i=[]),Array.isArray(n.type)){let s=!0;for(let a of n.type)if(a.type==Te.Text&&s){ho(t,i,a.from);for(let o of r)o.line(this.view,a,i);s=!1}else if(a.widget)for(let o of r)o.widget(this.view,a)}else if(n.type==Te.Text){ho(t,i,n.from);for(let s of r)s.line(this.view,n,i)}else if(n.widget)for(let s of r)s.widget(this.view,n);for(let n of r)n.finish();O&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(O){let e=O.startState.facet(Li),t=O.state.facet(Li),i=O.docChanged||O.heightChanged||O.viewportChanged||!M.eq(O.startState.facet(Qn),O.state.facet(Qn),O.view.viewport.from,O.view.viewport.to);if(e==t)for(let r of this.gutters)r.update(O)&&(i=!0);else{i=!0;let r=[];for(let n of t){let s=e.indexOf(n);s<0?r.push(new Yn(this.view,n)):(this.gutters[s].update(O),r.push(this.gutters[s]))}for(let n of this.gutters)n.dom.remove(),r.indexOf(n)<0&&n.destroy();for(let n of r)n.config.side=="after"?this.getDOMAfter().appendChild(n.dom):this.dom.appendChild(n.dom);this.gutters=r}return i}destroy(){for(let O of this.gutters)O.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:O=>T.scrollMargins.of(e=>{let t=e.plugin(O);if(!t||t.gutters.length==0||!t.fixed)return null;let i=t.dom.offsetWidth*e.scaleX,r=t.domAfter?t.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==H.LTR?{left:i,right:r}:{right:i,left:r}})});function vf(O){return Array.isArray(O)?O:[O]}function ho(O,e,t){for(;O.value&&O.from<=t;)O.from==t&&e.push(O.value),O.next()}var fo=class{constructor(e,t,i){this.gutter=e,this.height=i,this.i=0,this.cursor=M.iter(e.markers,t.from)}addElement(e,t,i){let{gutter:r}=this,n=(t.top-this.height)/e.scaleY,s=t.height/e.scaleY;if(this.i==r.elements.length){let a=new _n(e,s,n,i);r.elements.push(a),r.dom.appendChild(a.dom)}else r.elements[this.i].update(e,s,n,i);this.height=t.bottom,this.i++}line(e,t,i){let r=[];ho(this.cursor,r,t.from),i.length&&(r=r.concat(i));let n=this.gutter.config.lineMarker(e,t,r);n&&r.unshift(n);let s=this.gutter;r.length==0&&!s.config.renderEmptyElements||this.addElement(e,t,r)}widget(e,t){let i=this.gutter.config.widgetMarker(e,t.widget,t),r=i?[i]:null;for(let n of e.state.facet(MS)){let s=n(e,t.widget,t);s&&(r||(r=[])).push(s)}r&&this.addElement(e,t,r)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}},Yn=class{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in t.domEventHandlers)this.dom.addEventListener(i,r=>{let n=r.target,s;if(n!=this.dom&&this.dom.contains(n)){for(;n.parentNode!=this.dom;)n=n.parentNode;let o=n.getBoundingClientRect();s=(o.top+o.bottom)/2}else s=r.clientY;let a=e.lineBlockAtHeight(s-e.documentTop);t.domEventHandlers[i](e,a,r)&&r.preventDefault()});this.markers=vf(t.markers(e)),t.initialSpacer&&(this.spacer=new _n(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=vf(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let r=this.config.updateSpacer(this.spacer.markers[0],e);r!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[r])}let i=e.view.viewport;return!M.eq(this.markers,t,i.from,i.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}},_n=class{constructor(e,t,i,r){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,i,r)}update(e,t,i,r){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),BS(this.markers,r)||this.setMarkers(e,r)}setMarkers(e,t){let i="cm-gutterElement",r=this.dom.firstChild;for(let n=0,s=0;;){let a=s,o=nn(a,o,l)||s(a,o,l):s}return i}})}}),Mi=class extends Ie{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}};function ma(O,e){return O.state.facet(ti).formatNumber(e,O.state)}var HS=Li.compute([ti],O=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(NS)},lineMarker(e,t,i){return i.some(r=>r.toDOM)?null:new Mi(ma(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,i)=>{for(let r of e.state.facet(FS)){let n=r(e,t,i);if(n)return n}return null},lineMarkerChange:e=>e.startState.facet(ti)!=e.state.facet(ti),initialSpacer(e){return new Mi(ma(e,Yf(e.state.doc.lines)))},updateSpacer(e,t){let i=ma(t.view,Yf(t.view.state.doc.lines));return i==e.number?e:new Mi(i)},domEventHandlers:O.facet(ti).domEventHandlers,side:"before"}));function jd(O={}){return[ti.of(O),Wd(),HS]}function Yf(O){let e=9;for(;e{let e=[],t=-1;for(let i of O.selection.ranges){let r=O.doc.lineAt(i.head).from;r>t&&(t=r,e.push(KS.range(r)))}return M.of(e)});function Cd(){return JS}var eX=0,We=class{constructor(e,t){this.from=e,this.to=t}},R=class{constructor(e={}){this.id=eX++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=ue.match(e)),t=>{let i=e(t);return i===void 0?null:[this,i]}}};R.closedBy=new R({deserialize:O=>O.split(" ")});R.openedBy=new R({deserialize:O=>O.split(" ")});R.group=new R({deserialize:O=>O.split(" ")});R.isolate=new R({deserialize:O=>{if(O&&O!="rtl"&&O!="ltr"&&O!="auto")throw new RangeError("Invalid value for isolate: "+O);return O||"auto"}});R.contextHash=new R({perNode:!0});R.lookAhead=new R({perNode:!0});R.mounted=new R({perNode:!0});var Ht=class{constructor(e,t,i,r=!1){this.tree=e,this.overlay=t,this.parser=i,this.bracketed=r}static get(e){return e&&e.props&&e.props[R.mounted.id]}},tX=Object.create(null),ue=class O{constructor(e,t,i,r=0){this.name=e,this.props=t,this.id=i,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):tX,i=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new O(e.name||"",t,e.id,i);if(e.props){for(let n of e.props)if(Array.isArray(n)||(n=n(r)),n){if(n[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[n[0].id]=n[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(R.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let i in e)for(let r of i.split(" "))t[r]=e[i];return i=>{for(let r=i.prop(R.group),n=-1;n<(r?r.length:0);n++){let s=t[n<0?i.name:r[n]];if(s)return s}}}};ue.none=new ue("",Object.create(null),0,8);var Kt=class O{constructor(e){this.types=e;for(let t=0;t0;for(let o=this.cursor(s|C.IncludeAnonymous);;){let l=!1;if(o.from<=n&&o.to>=r&&(!a&&o.type.isAnonymous||t(o)!==!1)){if(o.firstChild())continue;l=!0}for(;l&&i&&(a||!o.type.isAnonymous)&&i(o),!o.nextSibling();){if(!o.parent())return;l=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:qo(ue.none,this.children,this.positions,0,this.children.length,0,this.length,(t,i,r)=>new O(this.type,t,i,r,this.propValues),e.makeTree||((t,i,r)=>new O(ue.none,t,i,r)))}static build(e){return iX(e)}};D.empty=new D(ue.none,[],[],0);var yo=class O{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new O(this.buffer,this.index)}},Jt=class O{constructor(e,t,i){this.buffer=e,this.length=t,this.set=i}get type(){return ue.none}toString(){let e=[];for(let t=0;t0));o=s[o+3]);return a}slice(e,t,i){let r=this.buffer,n=new Uint16Array(t-e),s=0;for(let a=e,o=0;a=e&&te;case 1:return t<=e&&i>e;case 2:return i>e;case 4:return!0}}function tr(O,e,t,i){for(var r;O.from==O.to||(t<1?O.from>=e:O.from>e)||(t>-1?O.to<=e:O.to0?o.length:-1;e!=c;e+=t){let h=o[e],f=l[e]+a.from;if(!(!(n&C.EnterBracketed&&h instanceof D&&((s=Ht.get(h))===null||s===void 0?void 0:s.overlay)===null&&(f>=i||f+h.length<=i))&&!Bd(r,i,f,f+h.length))){if(h instanceof Jt){if(n&C.ExcludeBuffers)continue;let u=h.findChild(0,h.buffer.length,t,i-f,r);if(u>-1)return new yO(new ko(a,h,e,f),null,u)}else if(n&C.IncludeAnonymous||!h.type.isAnonymous||Vo(h)){let u;if(!(n&C.IgnoreMounts)&&(u=Ht.get(h))&&!u.overlay)return new O(u.tree,f,e,a);let Q=new O(h,f,e,a);return n&C.IncludeAnonymous||!Q.type.isAnonymous?Q:Q.nextChild(t<0?h.children.length-1:0,t,i,r,n)}}}if(n&C.IncludeAnonymous||!a.type.isAnonymous||(a.index>=0?e=a.index+t:e=t<0?-1:a._parent._tree.children.length,a=a._parent,!a))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,i=0){let r;if(!(i&C.IgnoreOverlays)&&(r=Ht.get(this._tree))&&r.overlay){let n=e-this.from,s=i&C.EnterBracketed&&r.bracketed;for(let{from:a,to:o}of r.overlay)if((t>0||s?a<=n:a=n:o>n))return new O(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,i)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function Ed(O,e,t,i){let r=O.cursor(),n=[];if(!r.firstChild())return n;if(t!=null){for(let s=!1;!s;)if(s=r.type.is(t),!r.nextSibling())return n}for(;;){if(i!=null&&r.type.is(i))return n;if(r.type.is(e)&&n.push(r.node),!r.nextSibling())return i==null?n:[]}}function xo(O,e,t=e.length-1){for(let i=O;t>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(e[t]&&e[t]!=i.name)return!1;t--}}return!0}var ko=class{constructor(e,t,i,r){this.parent=e,this.buffer=t,this.index=i,this.start=r}},yO=class O extends Un{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,i){super(),this.context=e,this._parent=t,this.index=i,this.type=e.buffer.set.types[e.buffer.buffer[i]]}child(e,t,i){let{buffer:r}=this.context,n=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,i);return n<0?null:new O(this.context,this,n)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,i=0){if(i&C.ExcludeBuffers)return null;let{buffer:r}=this.context,n=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return n<0?null:new O(this.context,this,n)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new O(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new O(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:i}=this.context,r=this.index+4,n=i.buffer[this.index+3];if(n>r){let s=i.buffer[this.index+1];e.push(i.slice(r,n,s)),t.push(0)}return new D(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Nd(O){if(!O.length)return null;let e=0,t=O[0];for(let n=1;nt.from||s.to=e){let a=new je(s.tree,s.overlay[0].from+n.from,-1,n);(r||(r=[i])).push(tr(a,e,t,!1))}}return r?Nd(r):i}var li=class{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~C.EnterBracketed,e instanceof je)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let i=e._parent;i;i=i._parent)this.stack.unshift(i.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:i,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=i+r.buffer[e+1],this.to=i+r.buffer[e+2],!0}yield(e){return e?e instanceof je?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,i){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,i,this.mode));let{buffer:r}=this.buffer,n=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,i);return n<0?!1:(this.stack.push(this.index),this.yieldBuf(n))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,i=this.mode){return this.buffer?i&C.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,i))}parent(){if(!this.buffer)return this.yieldNode(this.mode&C.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&C.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,i=this.stack.length-1;if(e<0){let r=i<0?0:this.stack[i]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(i<0?t.buffer.length:t.buffer[this.stack[i]+3]))return this.yieldBuf(r)}return i<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,i,{buffer:r}=this;if(r){if(e>0){if(this.index-1)for(let n=t+e,s=e<0?-1:i._tree.children.length;n!=s;n+=e){let a=i._tree.children[n];if(this.mode&C.IncludeAnonymous||a instanceof Jt||!a.type.isAnonymous||Vo(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let s=e;s;s=s._parent)if(s.index==r){if(r==this.index)return s;t=s,i=n+1;break e}r=this.stack[--n]}for(let r=i;r=0;n--){if(n<0)return xo(this._tree,e,r);let s=i[t.buffer[this.stack[n]]];if(!s.isAnonymous){if(e[r]&&e[r]!=s.name)return!1;r--}}return!0}};function Vo(O){return O.children.some(e=>e instanceof Jt||!e.type.isAnonymous||Vo(e))}function iX(O){var e;let{buffer:t,nodeSet:i,maxBufferLength:r=1024,reused:n=[],minRepeatType:s=i.types.length}=O,a=Array.isArray(t)?new yo(t,t.length):t,o=i.types,l=0,c=0;function h(X,x,k,j,A,ie){let{id:G,start:q,end:K,size:B}=a,ae=c,we=l;if(B<0)if(a.next(),B==-1){let Zt=n[G];k.push(Zt),j.push(q-X);return}else if(B==-3){l=G;return}else if(B==-4){c=G;return}else throw new RangeError(`Unrecognized record size: ${B}`);let Ee=o[G],mt,Pe,Je=q-X;if(K-q<=r&&(Pe=p(a.pos-x,A))){let Zt=new Uint16Array(Pe.size-Pe.skip),et=a.pos-Pe.size,gt=Zt.length;for(;a.pos>et;)gt=m(Pe.start,Zt,gt);mt=new Jt(Zt,K-Pe.start,i),Je=Pe.start-X}else{let Zt=a.pos-B;a.next();let et=[],gt=[],dO=G>=s?G:-1,LO=0,Gr=K;for(;a.pos>Zt;)dO>=0&&a.id==dO&&a.size>=0?(a.end<=Gr-r&&(Q(et,gt,q,LO,a.end,Gr,dO,ae,we),LO=et.length,Gr=a.end),a.next()):ie>2500?f(q,Zt,et,gt):h(q,Zt,et,gt,dO,ie+1);if(dO>=0&&LO>0&&LO-1&&LO>0){let mh=u(Ee,we);mt=qo(Ee,et,gt,0,et.length,0,K-q,mh,mh)}else mt=$(Ee,et,gt,K-q,ae-K,we)}k.push(mt),j.push(Je)}function f(X,x,k,j){let A=[],ie=0,G=-1;for(;a.pos>x;){let{id:q,start:K,end:B,size:ae}=a;if(ae>4)a.next();else{if(G>-1&&K=0;B-=3)q[ae++]=A[B],q[ae++]=A[B+1]-K,q[ae++]=A[B+2]-K,q[ae++]=ae;k.push(new Jt(q,A[2]-K,i)),j.push(K-X)}}function u(X,x){return(k,j,A)=>{let ie=0,G=k.length-1,q,K;if(G>=0&&(q=k[G])instanceof D){if(!G&&q.type==X&&q.length==A)return q;(K=q.prop(R.lookAhead))&&(ie=j[G]+q.length+K)}return $(X,k,j,A,ie,x)}}function Q(X,x,k,j,A,ie,G,q,K){let B=[],ae=[];for(;X.length>j;)B.push(X.pop()),ae.push(x.pop()+k-A);X.push($(i.types[G],B,ae,ie-A,q-ie,K)),x.push(A-k)}function $(X,x,k,j,A,ie,G){if(ie){let q=[R.contextHash,ie];G=G?[q].concat(G):[q]}if(A>25){let q=[R.lookAhead,A];G=G?[q].concat(G):[q]}return new D(X,x,k,j,G)}function p(X,x){let k=a.fork(),j=0,A=0,ie=0,G=k.end-r,q={size:0,start:0,skip:0};e:for(let K=k.pos-X;k.pos>K;){let B=k.size;if(k.id==x&&B>=0){q.size=j,q.start=A,q.skip=ie,ie+=4,j+=4,k.next();continue}let ae=k.pos-B;if(B<0||ae=s?4:0,Ee=k.start;for(k.next();k.pos>ae;){if(k.size<0)if(k.size==-3||k.size==-4)we+=4;else break e;else k.id>=s&&(we+=4);k.next()}A=Ee,j+=B,ie+=we}return(x<0||j==X)&&(q.size=j,q.start=A,q.skip=ie),q.size>4?q:void 0}function m(X,x,k){let{id:j,start:A,end:ie,size:G}=a;if(a.next(),G>=0&&j4){let K=a.pos-(G-4);for(;a.pos>K;)k=m(X,x,k)}x[--k]=q,x[--k]=ie-X,x[--k]=A-X,x[--k]=j}else G==-3?l=j:G==-4&&(c=j);return k}let g=[],P=[];for(;a.pos>0;)h(O.start||0,O.bufferStart||0,g,P,-1,0);let y=(e=O.length)!==null&&e!==void 0?e:g.length?P[0]+g[0].length:0;return new D(o[O.topID],g.reverse(),P.reverse(),y)}var Ad=new WeakMap;function zn(O,e){if(!O.isAnonymous||e instanceof Jt||e.type!=O)return 1;let t=Ad.get(e);if(t==null){t=1;for(let i of e.children){if(i.type!=O||!(i instanceof D)){t=1;break}t+=zn(O,i)}Ad.set(e,t)}return t}function qo(O,e,t,i,r,n,s,a,o){let l=0;for(let Q=i;Q=c)break;x+=k}if(P==y+1){if(x>c){let k=Q[y];u(k.children,k.positions,0,k.children.length,$[y]+g);continue}h.push(Q[y])}else{let k=$[P-1]+Q[P-1].length-X;h.push(qo(O,Q,$,y,P,X,k,null,o))}f.push(X+g-n)}}return u(e,t,i,r,0),(a||o)(h,f,s)}var Tt=class{constructor(){this.map=new WeakMap}setBuffer(e,t,i){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,i)}getBuffer(e,t){let i=this.map.get(e);return i&&i.get(t)}set(e,t){e instanceof yO?this.setBuffer(e.context.buffer,e.index,t):e instanceof je&&this.map.set(e.tree,t)}get(e){return e instanceof yO?this.getBuffer(e.context.buffer,e.index):e instanceof je?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}},Vt=class O{constructor(e,t,i,r,n=!1,s=!1){this.from=e,this.to=t,this.tree=i,this.offset=r,this.open=(n?1:0)|(s?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],i=!1){let r=[new O(0,e.length,e,0,!1,i)];for(let n of t)n.to>e.length&&r.push(n);return r}static applyChanges(e,t,i=128){if(!t.length)return e;let r=[],n=1,s=e.length?e[0]:null;for(let a=0,o=0,l=0;;a++){let c=a=i)for(;s&&s.from=f.from||h<=f.to||l){let u=Math.max(f.from,o)-l,Q=Math.min(f.to,h)-l;f=u>=Q?null:new O(u,Q,f.tree,f.offset+l,a>0,!!c)}if(f&&r.push(f),s.to>h)break;s=nnew We(r.from,r.to)):[new We(0,0)]:[new We(0,e.length)],this.createParse(e,t||[],i)}parse(e,t,i){let r=this.startParse(e,t,i);for(;;){let n=r.advance();if(n)return n}}},Zo=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function xO(O){return(e,t,i,r)=>new _o(e,O,t,i,r)}var Wn=class{constructor(e,t,i,r,n,s){this.parser=e,this.parse=t,this.overlay=i,this.bracketed=r,this.target=n,this.from=s}};function Ld(O){if(!O.length||O.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(O))}var vo=class{constructor(e,t,i,r,n,s,a,o){this.parser=e,this.predicate=t,this.mounts=i,this.index=r,this.start=n,this.bracketed=s,this.target=a,this.prev=o,this.depth=0,this.ranges=[]}},Yo=new R({perNode:!0}),_o=class{constructor(e,t,i,r,n){this.nest=t,this.input=i,this.fragments=r,this.ranges=n,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let i=this.baseParse.advance();if(!i)return null;if(this.baseParse=null,this.baseTree=i,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let i=this.baseTree;return this.stoppedAt!=null&&(i=new D(i.type,i.children,i.positions,i.length,i.propValues.concat([[Yo,this.stoppedAt]]))),i}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let i=Object.assign(Object.create(null),e.target.props);i[R.mounted.id]=new Ht(t,e.overlay,e.parser,e.bracketed),e.target.props=i}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)a=!1;else if(e.hasNode(r)){if(t){let l=t.mounts.find(c=>c.frag.from<=r.from&&c.frag.to>=r.to&&c.mount.overlay);if(l)for(let c of l.mount.overlay){let h=c.from+l.pos,f=c.to+l.pos;h>=r.from&&f<=r.to&&!t.ranges.some(u=>u.fromh)&&t.ranges.push({from:h,to:f})}}a=!1}else if(i&&(s=rX(i.ranges,r.from,r.to)))a=s!=2;else if(!r.type.isAnonymous&&(n=this.nest(r,this.input))&&(r.fromnew We(h.from-r.from,h.to-r.from)):null,!!n.bracketed,r.tree,c.length?c[0].from:r.from)),n.overlay?c.length&&(i={ranges:c,depth:0,prev:i}):a=!1}}else if(t&&(o=t.predicate(r))&&(o===!0&&(o=new We(r.from,r.to)),o.from=0&&t.ranges[l].to==o.from?t.ranges[l]={from:t.ranges[l].from,to:o.to}:t.ranges.push(o)}if(a&&r.firstChild())t&&t.depth++,i&&i.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let l=Dd(this.ranges,t.ranges);l.length&&(Ld(l),this.inner.splice(t.index,0,new Wn(t.parser,t.parser.startParse(this.input,Id(t.mounts,l),l),t.ranges.map(c=>new We(c.from-t.start,c.to-t.start)),t.bracketed,t.target,l[0].from))),t=t.prev}i&&!--i.depth&&(i=i.prev)}}}};function rX(O,e,t){for(let i of O){if(i.from>=t)break;if(i.to>e)return i.from<=e&&i.to>=t?2:1}return 0}function Md(O,e,t,i,r,n){if(e=e&&t.enter(i,1,C.IgnoreOverlays|C.ExcludeBuffers)||t.next(!1)||(this.done=!0)}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof D)t=t.children[0];else break}return!1}},Ro=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let i=this.curFrag=e[0];this.curTo=(t=i.tree.prop(Yo))!==null&&t!==void 0?t:i.to,this.inner=new jn(i.tree,-i.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(Yo))!==null&&e!==void 0?e:t.to,this.inner=new jn(t.tree,-t.offset)}}findMounts(e,t){var i;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let n=this.inner.cursor.node;n;n=n.parent){let s=(i=n.tree)===null||i===void 0?void 0:i.prop(R.mounted);if(s&&s.parser==t)for(let a=this.fragI;a=n.to)break;o.tree==this.curFrag.tree&&r.push({frag:o,pos:n.from-o.offset,mount:s})}}}return r}};function Dd(O,e){let t=null,i=e;for(let r=1,n=0;r=a)break;o.to<=s||(t||(i=t=e.slice()),o.froma&&t.splice(n+1,0,new We(a,o.to))):o.to>a?t[n--]=new We(a,o.to):t.splice(n--,1))}}return i}function sX(O,e,t,i){let r=0,n=0,s=!1,a=!1,o=-1e9,l=[];for(;;){let c=r==O.length?1e9:s?O[r].to:O[r].from,h=n==e.length?1e9:a?e[n].to:e[n].from;if(s!=a){let f=Math.max(o,t),u=Math.min(c,h,i);fnew We(f.from+i,f.to+i)),h=sX(e,c,o,l);for(let f=0,u=o;;f++){let Q=f==h.length,$=Q?l:h[f].from;if($>u&&t.push(new Vt(u,$,r.tree,-s,n.from>=u||n.openStart,n.to<=$||n.openEnd)),Q)break;u=h[f].to}}else t.push(new Vt(o,l,r.tree,-s,n.from>=s||n.openStart,n.to<=a||n.openEnd))}return t}var aX=0,Be=class O{constructor(e,t,i,r){this.name=e,this.set=t,this.base=i,this.modified=r,this.id=aX++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let i=typeof e=="string"?e:"?";if(e instanceof O&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let r=new O(i,[],null,[]);if(r.set.push(r),t)for(let n of t.set)r.set.push(n);return r}static defineModifier(e){let t=new An(e);return i=>i.modified.indexOf(t)>-1?i:An.get(i.base||i,i.modified.concat(t).sort((r,n)=>r.id-n.id))}},oX=0,An=class O{constructor(e){this.name=e,this.instances=[],this.id=oX++}static get(e,t){if(!t.length)return e;let i=t[0].instances.find(a=>a.base==e&&lX(t,a.modified));if(i)return i;let r=[],n=new Be(e.name,r,e,t);for(let a of t)a.instances.push(n);let s=cX(t);for(let a of e.set)if(!a.modified.length)for(let o of s)r.push(O.get(a,o));return n}};function lX(O,e){return O.length==e.length&&O.every((t,i)=>t==e[i])}function cX(O){let e=[[]];for(let t=0;ti.length-t.length)}function F(O){let e=Object.create(null);for(let t in O){let i=O[t];Array.isArray(i)||(i=[i]);for(let r of t.split(" "))if(r){let n=[],s=2,a=r;for(let h=0;;){if(a=="..."&&h>0&&h+3==r.length){s=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!f)throw new RangeError("Invalid path: "+r);if(n.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),h+=f[0].length,h==r.length)break;let u=r[h++];if(h==r.length&&u=="!"){s=0;break}if(u!="/")throw new RangeError("Invalid path: "+r);a=r.slice(h)}let o=n.length-1,l=n[o];if(!l)throw new RangeError("Invalid path: "+r);let c=new wO(i,s,o>0?n.slice(0,o):null);e[l]=c.sort(e[l])}}return Kd.add(e)}var Kd=new R({combine(O,e){let t,i,r;for(;O||e;){if(!O||e&&O.depth>=e.depth?(r=e,e=e.next):(r=O,O=O.next),t&&t.mode==r.mode&&!r.context&&!t.context)continue;let n=new wO(r.tags,r.mode,r.context);t?t.next=n:i=n,t=n}return i}}),wO=class{constructor(e,t,i,r){this.tags=e,this.mode=t,this.context=i,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let s=r;for(let a of n)for(let o of a.set){let l=t[o.id];if(l){s=s?s+" "+l:l;break}}return s},scope:i}}function hX(O,e){let t=null;for(let i of O){let r=i.style(e);r&&(t=t?t+" "+r:r)}return t}function Jd(O,e,t,i=0,r=O.length){let n=new Uo(i,Array.isArray(e)?e:[e],t);n.highlightRange(O.cursor(),i,r,"",n.highlighters),n.flush(r)}var Uo=class{constructor(e,t,i){this.at=e,this.highlighters=t,this.span=i,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,i,r,n){let{type:s,from:a,to:o}=e;if(a>=i||o<=t)return;s.isTop&&(n=this.highlighters.filter(u=>!u.scope||u.scope(s)));let l=r,c=fX(e)||wO.empty,h=hX(n,c.tags);if(h&&(l&&(l+=" "),l+=h,c.mode==1&&(r+=(r?" ":"")+h)),this.startSpan(Math.max(t,a),l),c.opaque)return;let f=e.tree&&e.tree.prop(R.mounted);if(f&&f.overlay){let u=e.node.enter(f.overlay[0].from+a,1),Q=this.highlighters.filter(p=>!p.scope||p.scope(f.tree.type)),$=e.firstChild();for(let p=0,m=a;;p++){let g=p=P||!e.nextSibling())););if(!g||P>i)break;m=g.to+a,m>t&&(this.highlightRange(u.cursor(),Math.max(t,g.from+a),Math.min(i,m),"",Q),this.startSpan(Math.min(i,m),l))}$&&e.parent()}else if(e.firstChild()){f&&(r="");do if(!(e.to<=t)){if(e.from>=i)break;this.highlightRange(e,t,i,r,n),this.startSpan(Math.min(i,e.to),l)}while(e.nextSibling());e.parent()}}};function fX(O){let e=O.type.prop(Kd);for(;e&&e.context&&!O.matchContext(e.context);)e=e.next;return e||null}var w=Be.define,Cn=w(),tO=w(),Fd=w(tO),Hd=w(tO),OO=w(),Gn=w(OO),zo=w(OO),xt=w(),kO=w(xt),bt=w(),yt=w(),Wo=w(),Or=w(Wo),En=w(),d={comment:Cn,lineComment:w(Cn),blockComment:w(Cn),docComment:w(Cn),name:tO,variableName:w(tO),typeName:Fd,tagName:w(Fd),propertyName:Hd,attributeName:w(Hd),className:w(tO),labelName:w(tO),namespace:w(tO),macroName:w(tO),literal:OO,string:Gn,docString:w(Gn),character:w(Gn),attributeValue:w(Gn),number:zo,integer:w(zo),float:w(zo),bool:w(OO),regexp:w(OO),escape:w(OO),color:w(OO),url:w(OO),keyword:bt,self:w(bt),null:w(bt),atom:w(bt),unit:w(bt),modifier:w(bt),operatorKeyword:w(bt),controlKeyword:w(bt),definitionKeyword:w(bt),moduleKeyword:w(bt),operator:yt,derefOperator:w(yt),arithmeticOperator:w(yt),logicOperator:w(yt),bitwiseOperator:w(yt),compareOperator:w(yt),updateOperator:w(yt),definitionOperator:w(yt),typeOperator:w(yt),controlOperator:w(yt),punctuation:Wo,separator:w(Wo),bracket:Or,angleBracket:w(Or),squareBracket:w(Or),paren:w(Or),brace:w(Or),content:xt,heading:kO,heading1:w(kO),heading2:w(kO),heading3:w(kO),heading4:w(kO),heading5:w(kO),heading6:w(kO),contentSeparator:w(xt),list:w(xt),quote:w(xt),emphasis:w(xt),strong:w(xt),link:w(xt),monospace:w(xt),strikethrough:w(xt),inserted:w(),deleted:w(),changed:w(),invalid:w(),meta:En,documentMeta:w(En),annotation:w(En),processingInstruction:w(En),definition:Be.defineModifier("definition"),constant:Be.defineModifier("constant"),function:Be.defineModifier("function"),standard:Be.defineModifier("standard"),local:Be.defineModifier("local"),special:Be.defineModifier("special")};for(let O in d){let e=d[O];e instanceof Be&&(e.name=O)}var a_=jo([{tag:d.link,class:"tok-link"},{tag:d.heading,class:"tok-heading"},{tag:d.emphasis,class:"tok-emphasis"},{tag:d.strong,class:"tok-strong"},{tag:d.keyword,class:"tok-keyword"},{tag:d.atom,class:"tok-atom"},{tag:d.bool,class:"tok-bool"},{tag:d.url,class:"tok-url"},{tag:d.labelName,class:"tok-labelName"},{tag:d.inserted,class:"tok-inserted"},{tag:d.deleted,class:"tok-deleted"},{tag:d.literal,class:"tok-literal"},{tag:d.string,class:"tok-string"},{tag:d.number,class:"tok-number"},{tag:[d.regexp,d.escape,d.special(d.string)],class:"tok-string2"},{tag:d.variableName,class:"tok-variableName"},{tag:d.local(d.variableName),class:"tok-variableName tok-local"},{tag:d.definition(d.variableName),class:"tok-variableName tok-definition"},{tag:d.special(d.variableName),class:"tok-variableName2"},{tag:d.definition(d.propertyName),class:"tok-propertyName tok-definition"},{tag:d.typeName,class:"tok-typeName"},{tag:d.namespace,class:"tok-namespace"},{tag:d.className,class:"tok-className"},{tag:d.macroName,class:"tok-macroName"},{tag:d.propertyName,class:"tok-propertyName"},{tag:d.operator,class:"tok-operator"},{tag:d.comment,class:"tok-comment"},{tag:d.meta,class:"tok-meta"},{tag:d.invalid,class:"tok-invalid"},{tag:d.punctuation,class:"tok-punctuation"}]);var Co,iO=new R;function or(O){return Z.define({combine:O?e=>e.concat(O):void 0})}var Dn=new R,Re=class{constructor(e,t,i=[],r=""){this.data=e,this.name=r,I.prototype.hasOwnProperty("tree")||Object.defineProperty(I.prototype,"tree",{get(){return U(this)}}),this.parser=t,this.extension=[rO.of(this),I.languageData.of((n,s,a)=>{let o=eu(n,s,a),l=o.type.prop(iO);if(!l)return[];let c=n.facet(l),h=o.type.prop(Dn);if(h){let f=o.resolve(s-o.from,a);for(let u of h)if(u.test(f,n)){let Q=n.facet(u.facet);return u.type=="replace"?Q:Q.concat(c)}}return c})].concat(i)}isActiveAt(e,t,i=-1){return eu(e,t,i).type.prop(iO)==this.data}findRegions(e){let t=e.facet(rO);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let i=[],r=(n,s)=>{if(n.prop(iO)==this.data){i.push({from:s,to:s+n.length});return}let a=n.prop(R.mounted);if(a){if(a.tree.prop(iO)==this.data){if(a.overlay)for(let o of a.overlay)i.push({from:o.from+s,to:o.to+s});else i.push({from:s,to:s+n.length});return}else if(a.overlay){let o=i.length;if(r(a.tree,a.overlay[0].from+s),i.length>o)return}}for(let o=0;oi.isTop?t:void 0)]}),e.name)}configure(e,t){return new O(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function U(O){let e=O.field(Re.state,!1);return e?e.tree:D.empty}var Lo=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let i=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-i,t-i)}},ir=null,nr=class O{constructor(e,t,i=[],r,n,s,a,o){this.parser=e,this.state=t,this.fragments=i,this.tree=r,this.treeLen=n,this.viewport=s,this.skipped=a,this.scheduleOn=o,this.parse=null,this.tempSkipped=[]}static create(e,t,i){return new O(e,t,[],D.empty,0,i,[],null)}startParse(){return this.parser.startParse(new Lo(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=D.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var i;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Vt.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=ir;ir=this;try{return e()}finally{ir=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=tu(e,t.from,t.to);return e}changes(e,t){let{fragments:i,tree:r,treeLen:n,viewport:s,skipped:a}=this;if(this.takeTree(),!e.empty){let o=[];if(e.iterChangedRanges((l,c,h,f)=>o.push({fromA:l,toA:c,fromB:h,toB:f})),i=Vt.applyChanges(i,o),r=D.empty,n=0,s={from:e.mapPos(s.from,-1),to:e.mapPos(s.to,1)},this.skipped.length){a=[];for(let l of this.skipped){let c=e.mapPos(l.from,1),h=e.mapPos(l.to,-1);ce.from&&(this.fragments=tu(this.fragments,r,n),this.skipped.splice(i--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends eO{createParse(t,i,r){let n=r[0].from,s=r[r.length-1].to;return{parsedPos:n,advance(){let o=ir;if(o){for(let l of r)o.tempSkipped.push(l);e&&(o.scheduleOn=o.scheduleOn?Promise.all([o.scheduleOn,e]):e)}return this.parsedPos=s,new D(ue.none,[],[],s-n)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return ir}};function tu(O,e,t){return Vt.applyChanges(O,[{fromA:e,toA:t,fromB:e,toB:t}])}var sr=class O{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),i=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,i)||t.takeTree(),new O(t)}static init(e){let t=Math.min(3e3,e.doc.length),i=nr.create(e.facet(rO).parser,e,{from:0,to:t});return i.work(20,t)||i.takeTree(),new O(i)}};Re.state=ce.define({create:sr.init,update(O,e){for(let t of e.effects)if(t.is(Re.setState))return t.value;return e.startState.facet(rO)!=e.state.facet(rO)?sr.init(e.state):O.apply(e)}});var au=O=>{let e=setTimeout(()=>O(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(au=O=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(O,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var Go=typeof navigator<"u"&&(!((Co=navigator.scheduling)===null||Co===void 0)&&Co.isInputPending)?()=>navigator.scheduling.isInputPending():null,dX=he.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(Re.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(Re.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=au(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndr+1e3,o=n.context.work(()=>Go&&Go()||Date.now()>s,r+(a?0:1e5));this.chunkBudget-=Date.now()-t,(o||this.chunkBudget<=0)&&(n.context.takeTree(),this.view.dispatch({effects:Re.setState.of(new sr(n.context))})),this.chunkBudget>0&&!(o&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(n.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>Xe(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),rO=Z.define({combine(O){return O.length?O[0]:null},enables:O=>[Re.state,dX,T.contentAttributes.compute([O],e=>{let t=e.facet(O);return t&&t.name?{"data-language":t.name}:{}})]}),J=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}},ar=class O{constructor(e,t,i,r,n,s=void 0){this.name=e,this.alias=t,this.extensions=i,this.filename=r,this.loadFunc=n,this.support=s,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:i}=e;if(!t){if(!i)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(i)}return new O(e.name,(e.alias||[]).concat(e.name).map(r=>r.toLowerCase()),e.extensions||[],e.filename,t,i)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let i=/\.([^.]+)$/.exec(t);if(i){for(let r of e)if(r.extensions.indexOf(i[1])>-1)return r}return null}static matchLanguageName(e,t,i=!0){t=t.toLowerCase();for(let r of e)if(r.alias.some(n=>n==t))return r;if(i)for(let r of e)for(let n of r.alias){let s=t.indexOf(n);if(s>-1&&(n.length>2||!/\w/.test(t[s-1])&&!/\w/.test(t[s+n.length])))return r}return null}},uX=Z.define(),nO=Z.define({combine:O=>{if(!O.length)return" ";let e=O[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(O[0]));return e}});function lr(O){let e=O.facet(nO);return e.charCodeAt(0)==9?O.tabSize*e.length:e.length}function hi(O,e){let t="",i=O.tabSize,r=O.facet(nO)[0];if(r==" "){for(;e>=i;)t+=" ",e-=i;r=" "}for(let n=0;n=e?QX(O,t,e):null}var ZO=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=lr(e)}lineAt(e,t=1){let i=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:n}=this.options;return r!=null&&r>=i.from&&r<=i.to?n&&r==e?{text:"",from:e}:(t<0?r-1&&(n+=s-this.countColumn(i,i.search(/\S|$/))),n}countColumn(e,t=e.length){return ve(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:i,from:r}=this.lineAt(e,t),n=this.options.overrideIndentation;if(n){let s=n(r);if(s>-1)return s}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},se=new R;function QX(O,e,t){let i=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=i.node){let n=[];for(let s=r;s&&!(s.fromi.node.to||s.from==i.node.from&&s.type==i.node.type);s=s.parent)n.push(s);for(let s=n.length-1;s>=0;s--)i={node:n[s],next:i}}return ou(i,O,t)}function ou(O,e,t){for(let i=O;i;i=i.next){let r=pX(i.node);if(r)return r(Mo.create(e,t,i))}return 0}function $X(O){return O.pos==O.options.simulateBreak&&O.options.simulateDoubleBreak}function pX(O){let e=O.type.prop(se);if(e)return e;let t=O.firstChild,i;if(t&&(i=t.type.prop(R.closedBy))){let r=O.lastChild,n=r&&i.indexOf(r.name)>-1;return s=>lu(s,!0,1,void 0,n&&!$X(s)?r.from:void 0)}return O.parent==null?mX:null}function mX(){return 0}var Mo=class O extends ZO{constructor(e,t,i){super(e.state,e.options),this.base=e,this.pos=t,this.context=i}get node(){return this.context.node}static create(e,t,i){return new O(e,t,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let i=e.resolve(t.from);for(;i.parent&&i.parent.from==i.from;)i=i.parent;if(gX(i,e))break;t=this.state.doc.lineAt(i.from)}return this.lineIndent(t.from)}continue(){return ou(this.context.next,this.base,this.pos)}};function gX(O,e){for(let t=e;t;t=t.parent)if(O==t)return!0;return!1}function PX(O){let e=O.node,t=e.childAfter(e.from),i=e.lastChild;if(!t)return null;let r=O.options.simulateBreak,n=O.state.doc.lineAt(t.from),s=r==null||r<=n.from?n.to:Math.min(n.to,r);for(let a=t.to;;){let o=e.childAfter(a);if(!o||o==i)return null;if(!o.type.isSkipped){if(o.from>=s)return null;let l=/^ */.exec(n.text.slice(t.to-n.from))[0].length;return{from:t.from,to:t.to+l}}a=o.to}}function be({closing:O,align:e=!0,units:t=1}){return i=>lu(i,e,t,O)}function lu(O,e,t,i,r){let n=O.textAfter,s=n.match(/^\s*/)[0].length,a=i&&n.slice(s,s+i.length)==i||r==O.pos+s,o=e?PX(O):null;return o?a?O.column(o.from):O.column(o.to):O.baseIndent+(a?0:O.unit*t)}var sO=O=>O.baseIndent;function le({except:O,units:e=1}={}){return t=>{let i=O&&O.test(t.textAfter);return t.baseIndent+(i?0:e*t.unit)}}var SX=200;function cu(){return I.transactionFilter.of(O=>{if(!O.docChanged||!O.isUserEvent("input.type")&&!O.isUserEvent("input.complete"))return O;let e=O.startState.languageDataAt("indentOnInput",O.startState.selection.main.head);if(!e.length)return O;let t=O.newDoc,{head:i}=O.newSelection.main,r=t.lineAt(i);if(i>r.from+SX)return O;let n=t.sliceString(r.from,i);if(!e.some(l=>l.test(n)))return O;let{state:s}=O,a=-1,o=[];for(let{head:l}of s.selection.ranges){let c=s.doc.lineAt(l);if(c.from==a)continue;a=c.from;let h=In(s,c.from);if(h==null)continue;let f=/^\s*/.exec(c.text)[0],u=hi(s,h);f!=u&&o.push({from:c.from,to:c.from+f.length,insert:u})}return o.length?[O,{changes:o,sequential:!0}]:O})}var Ho=Z.define(),te=new R;function me(O){let e=O.firstChild,t=O.lastChild;return e&&e.tot)continue;if(n&&a.from=e&&l.to>t&&(n=l)}}return n}function TX(O){let e=O.lastChild;return e&&e.to==O.to&&e.type.isError}function Ln(O,e,t){for(let i of O.facet(Ho)){let r=i(O,e,t);if(r)return r}return XX(O,e,t)}function hu(O,e){let t=e.mapPos(O.from,1),i=e.mapPos(O.to,-1);return t>=i?void 0:{from:t,to:i}}var Bn=V.define({map:hu}),cr=V.define({map:hu});function fu(O){let e=[];for(let{head:t}of O.state.selection.ranges)e.some(i=>i.from<=t&&i.to>=t)||e.push(O.lineBlockAt(t));return e}var vO=ce.define({create(){return Y.none},update(O,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((t,i)=>O=Ou(O,t,i)),O=O.map(e.changes);for(let t of e.effects)if(t.is(Bn)&&!bX(O,t.value.from,t.value.to)){let{preparePlaceholder:i}=e.state.facet(Ko),r=i?Y.replace({widget:new Do(i(e.state,t.value))}):iu;O=O.update({add:[r.range(t.value.from,t.value.to)]})}else t.is(cr)&&(O=O.update({filter:(i,r)=>t.value.from!=i||t.value.to!=r,filterFrom:t.value.from,filterTo:t.value.to}));return e.selection&&(O=Ou(O,e.selection.main.head)),O},provide:O=>T.decorations.from(O),toJSON(O,e){let t=[];return O.between(0,e.doc.length,(i,r)=>{t.push(i,r)}),t},fromJSON(O){if(!Array.isArray(O)||O.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let t=0;t{re&&(i=!0)}),i?O.update({filterFrom:e,filterTo:t,filter:(r,n)=>r>=t||n<=e}):O}function Mn(O,e,t){var i;let r=null;return(i=O.field(vO,!1))===null||i===void 0||i.between(e,t,(n,s)=>{(!r||r.from>n)&&(r={from:n,to:s})}),r}function bX(O,e,t){let i=!1;return O.between(e,e,(r,n)=>{r==e&&n==t&&(i=!0)}),i}function du(O,e){return O.field(vO,!1)?e:e.concat(V.appendConfig.of($u()))}var yX=O=>{for(let e of fu(O)){let t=Ln(O.state,e.from,e.to);if(t)return O.dispatch({effects:du(O.state,[Bn.of(t),uu(O,t)])}),!0}return!1},xX=O=>{if(!O.state.field(vO,!1))return!1;let e=[];for(let t of fu(O)){let i=Mn(O.state,t.from,t.to);i&&e.push(cr.of(i),uu(O,i,!1))}return e.length&&O.dispatch({effects:e}),e.length>0};function uu(O,e,t=!0){let i=O.state.doc.lineAt(e.from).number,r=O.state.doc.lineAt(e.to).number;return T.announce.of(`${O.state.phrase(t?"Folded lines":"Unfolded lines")} ${i} ${O.state.phrase("to")} ${r}.`)}var kX=O=>{let{state:e}=O,t=[];for(let i=0;i{let e=O.state.field(vO,!1);if(!e||!e.size)return!1;let t=[];return e.between(0,O.state.doc.length,(i,r)=>{t.push(cr.of({from:i,to:r}))}),O.dispatch({effects:t}),!0};var Qu=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:yX},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:xX},{key:"Ctrl-Alt-[",run:kX},{key:"Ctrl-Alt-]",run:wX}],ZX={placeholderDOM:null,preparePlaceholder:null,placeholderText:"\u2026"},Ko=Z.define({combine(O){return xe(O,ZX)}});function $u(O){let e=[vO,YX];return O&&e.push(Ko.of(O)),e}function pu(O,e){let{state:t}=O,i=t.facet(Ko),r=s=>{let a=O.lineBlockAt(O.posAtDOM(s.target)),o=Mn(O.state,a.from,a.to);o&&O.dispatch({effects:cr.of(o)}),s.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(O,r,e);let n=document.createElement("span");return n.textContent=i.placeholderText,n.setAttribute("aria-label",t.phrase("folded code")),n.title=t.phrase("unfold"),n.className="cm-foldPlaceholder",n.onclick=r,n}var iu=Y.replace({widget:new class extends _e{toDOM(O){return pu(O,null)}}}),Do=class extends _e{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return pu(e,this.value)}},vX={openText:"\u2304",closedText:"\u203A",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1},rr=class extends Ie{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}};function mu(O={}){let e={...vX,...O},t=new rr(e,!0),i=new rr(e,!1),r=he.fromClass(class{constructor(s){this.from=s.viewport.from,this.markers=this.buildMarkers(s)}update(s){(s.docChanged||s.viewportChanged||s.startState.facet(rO)!=s.state.facet(rO)||s.startState.field(vO,!1)!=s.state.field(vO,!1)||U(s.startState)!=U(s.state)||e.foldingChanged(s))&&(this.markers=this.buildMarkers(s.view))}buildMarkers(s){let a=new Le;for(let o of s.viewportLineBlocks){let l=Mn(s.state,o.from,o.to)?i:Ln(s.state,o.from,o.to)?t:null;l&&a.add(o.from,o.from,l)}return a.finish()}}),{domEventHandlers:n}=e;return[r,bo({class:"cm-foldGutter",markers(s){var a;return((a=s.plugin(r))===null||a===void 0?void 0:a.markers)||M.empty},initialSpacer(){return new rr(e,!1)},domEventHandlers:{...n,click:(s,a,o)=>{if(n.click&&n.click(s,a,o))return!0;let l=Mn(s.state,a.from,a.to);if(l)return s.dispatch({effects:cr.of(l)}),!0;let c=Ln(s.state,a.from,a.to);return c?(s.dispatch({effects:Bn.of(c)}),!0):!1}}}),$u()]}var YX=T.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}}),ci=class O{constructor(e,t){this.specs=e;let i;function r(a){let o=Ot.newName();return(i||(i=Object.create(null)))["."+o]=a,o}let n=typeof t.all=="string"?t.all:t.all?r(t.all):void 0,s=t.scope;this.scope=s instanceof Re?a=>a.prop(iO)==s.data:s?a=>a==s:void 0,this.style=jo(e.map(a=>({tag:a.tag,class:a.class||r(Object.assign({},a,{tag:null}))})),{all:n}).style,this.module=i?new Ot(i):null,this.themeType=t.themeType}static define(e,t){return new O(e,t||{})}},Io=Z.define(),gu=Z.define({combine(O){return O.length?[O[0]]:null}});function Eo(O){let e=O.facet(Io);return e.length?e:O.facet(gu)}function Nn(O,e){let t=[_X],i;return O instanceof ci&&(O.module&&t.push(T.styleModule.of(O.module)),i=O.themeType),e?.fallback?t.push(gu.of(O)):i?t.push(Io.computeN([T.darkTheme],r=>r.facet(T.darkTheme)==(i=="dark")?[O]:[])):t.push(Io.of(O)),t}var Bo=class{constructor(e){this.markCache=Object.create(null),this.tree=U(e.state),this.decorations=this.buildDeco(e,Eo(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=U(e.state),i=Eo(e.state),r=i!=Eo(e.startState),{viewport:n}=e.view,s=e.changes.mapPos(this.decoratedTo,1);t.length=n.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=s):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,i),this.decoratedTo=n.to)}buildDeco(e,t){if(!t||!this.tree.length)return Y.none;let i=new Le;for(let{from:r,to:n}of e.visibleRanges)Jd(this.tree,t,(s,a,o)=>{i.add(s,a,this.markCache[o]||(this.markCache[o]=Y.mark({class:o})))},r,n);return i.finish()}},_X=ze.high(he.fromClass(Bo,{decorations:O=>O.decorations})),Pu=ci.define([{tag:d.meta,color:"#404740"},{tag:d.link,textDecoration:"underline"},{tag:d.heading,textDecoration:"underline",fontWeight:"bold"},{tag:d.emphasis,fontStyle:"italic"},{tag:d.strong,fontWeight:"bold"},{tag:d.strikethrough,textDecoration:"line-through"},{tag:d.keyword,color:"#708"},{tag:[d.atom,d.bool,d.url,d.contentSeparator,d.labelName],color:"#219"},{tag:[d.literal,d.inserted],color:"#164"},{tag:[d.string,d.deleted],color:"#a11"},{tag:[d.regexp,d.escape,d.special(d.string)],color:"#e40"},{tag:d.definition(d.variableName),color:"#00f"},{tag:d.local(d.variableName),color:"#30a"},{tag:[d.typeName,d.namespace],color:"#085"},{tag:d.className,color:"#167"},{tag:[d.special(d.variableName),d.macroName],color:"#256"},{tag:d.definition(d.propertyName),color:"#00c"},{tag:d.comment,color:"#940"},{tag:d.invalid,color:"#f00"}]),RX=T.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),Su=1e4,Xu="()[]{}",Tu=Z.define({combine(O){return xe(O,{afterCursor:!0,brackets:Xu,maxScanDistance:Su,renderMatch:zX})}}),VX=Y.mark({class:"cm-matchingBracket"}),qX=Y.mark({class:"cm-nonmatchingBracket"});function zX(O){let e=[],t=O.matched?VX:qX;return e.push(t.range(O.start.from,O.start.to)),O.end&&e.push(t.range(O.end.from,O.end.to)),e}var UX=ce.define({create(){return Y.none},update(O,e){if(!e.docChanged&&!e.selection)return O;let t=[],i=e.state.facet(Tu);for(let r of e.state.selection.ranges){if(!r.empty)continue;let n=dt(e.state,r.head,-1,i)||r.head>0&&dt(e.state,r.head-1,1,i)||i.afterCursor&&(dt(e.state,r.head,1,i)||r.headT.decorations.from(O)}),WX=[UX,RX];function bu(O={}){return[Tu.of(O),WX]}var hr=new R;function No(O,e,t){let i=O.prop(e<0?R.openedBy:R.closedBy);if(i)return i;if(O.name.length==1){let r=t.indexOf(O.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function Fo(O){let e=O.type.prop(hr);return e?e(O.node):O}function dt(O,e,t,i={}){let r=i.maxScanDistance||Su,n=i.brackets||Xu,s=U(O),a=s.resolveInner(e,t);for(let o=a;o;o=o.parent){let l=No(o.type,t,n);if(l&&o.from0?e>=c.from&&ec.from&&e<=c.to))return jX(O,e,t,o,c,l,n)}}return CX(O,e,t,s,a.type,r,n)}function jX(O,e,t,i,r,n,s){let a=i.parent,o={from:r.from,to:r.to},l=0,c=a?.cursor();if(c&&(t<0?c.childBefore(i.from):c.childAfter(i.to)))do if(t<0?c.to<=i.from:c.from>=i.to){if(l==0&&n.indexOf(c.type.name)>-1&&c.from0)return null;let l={from:t<0?e-1:e,to:t>0?e+1:e},c=O.doc.iterRange(e,t>0?O.doc.length:0),h=0;for(let f=0;!c.next().done&&f<=n;){let u=c.value;t<0&&(f+=u.length);let Q=e+f*t;for(let $=t>0?0:u.length-1,p=t>0?u.length:-1;$!=p;$+=t){let m=s.indexOf(u[$]);if(!(m<0||i.resolveInner(Q+$,1).type!=r))if(m%2==0==t>0)h++;else{if(h==1)return{start:l,end:{from:Q+$,to:Q+$+1},matched:m>>1==o>>1};h--}}t>0&&(f+=u.length)}return c.done?{start:l,matched:!1}:null}var GX=Object.create(null),ru=[ue.none];var nu=[],su=Object.create(null),EX=Object.create(null);for(let[O,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])EX[O]=AX(GX,e);function Ao(O,e){nu.indexOf(O)>-1||(nu.push(O),console.warn(e))}function AX(O,e){let t=[];for(let a of e.split(" ")){let o=[];for(let l of a.split(".")){let c=O[l]||d[l];c?typeof c=="function"?o.length?o=o.map(c):Ao(l,`Modifier ${l} used at start of tag`):o.length?Ao(l,`Tag ${l} used as modifier`):o=Array.isArray(c)?c:[c]:Ao(l,`Unknown highlighting tag ${l}`)}for(let l of o)t.push(l)}if(!t.length)return 0;let i=e.replace(/ /g,"_"),r=i+" "+t.map(a=>a.id),n=su[r];if(n)return n.id;let s=su[r]=ue.define({id:ru.length,name:i,props:[F({[i]:t})]});return ru.push(s),s.id}var Q_={rtl:Y.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:H.RTL}),ltr:Y.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:H.LTR}),auto:Y.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var LX=O=>{let{state:e}=O,t=e.doc.lineAt(e.selection.main.from),i=nl(O.state,t.from);return i.line?MX(O):i.block?IX(O):!1};function rl(O,e){return({state:t,dispatch:i})=>{if(t.readOnly)return!1;let r=O(e,t);return r?(i(t.update(r)),!0):!1}}var MX=rl(FX,0);var DX=rl(Ru,0);var IX=rl((O,e)=>Ru(O,e,NX(e)),0);function nl(O,e){let t=O.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}var fr=50;function BX(O,{open:e,close:t},i,r){let n=O.sliceDoc(i-fr,i),s=O.sliceDoc(r,r+fr),a=/\s*$/.exec(n)[0].length,o=/^\s*/.exec(s)[0].length,l=n.length-a;if(n.slice(l-e.length,l)==e&&s.slice(o,o+t.length)==t)return{open:{pos:i-a,margin:a&&1},close:{pos:r+o,margin:o&&1}};let c,h;r-i<=2*fr?c=h=O.sliceDoc(i,r):(c=O.sliceDoc(i,i+fr),h=O.sliceDoc(r-fr,r));let f=/^\s*/.exec(c)[0].length,u=/\s*$/.exec(h)[0].length,Q=h.length-u-t.length;return c.slice(f,f+e.length)==e&&h.slice(Q,Q+t.length)==t?{open:{pos:i+f+e.length,margin:/\s/.test(c.charAt(f+e.length))?1:0},close:{pos:r-u-t.length,margin:/\s/.test(h.charAt(Q-1))?1:0}}:null}function NX(O){let e=[];for(let t of O.selection.ranges){let i=O.doc.lineAt(t.from),r=t.to<=i.to?i:O.doc.lineAt(t.to);r.from>i.from&&r.from==t.to&&(r=t.to==i.to+1?i:O.doc.lineAt(t.to-1));let n=e.length-1;n>=0&&e[n].to>i.from?e[n].to=r.to:e.push({from:i.from+/^\s*/.exec(i.text)[0].length,to:r.to})}return e}function Ru(O,e,t=e.selection.ranges){let i=t.map(n=>nl(e,n.from).block);if(!i.every(n=>n))return null;let r=t.map((n,s)=>BX(e,i[s],n.from,n.to));if(O!=2&&!r.every(n=>n))return{changes:e.changes(t.map((n,s)=>r[s]?[]:[{from:n.from,insert:i[s].open+" "},{from:n.to,insert:" "+i[s].close}]))};if(O!=1&&r.some(n=>n)){let n=[];for(let s=0,a;sr&&(n==s||s>h.from)){r=h.from;let f=/^\s*/.exec(h.text)[0].length,u=f==h.length,Q=h.text.slice(f,f+l.length)==l?f:-1;fn.comment<0&&(!n.empty||n.single))){let n=[];for(let{line:a,token:o,indent:l,empty:c,single:h}of i)(h||!c)&&n.push({from:a.from+l,insert:o+" "});let s=e.changes(n);return{changes:s,selection:e.selection.map(s,1)}}else if(O!=1&&i.some(n=>n.comment>=0)){let n=[];for(let{line:s,comment:a,token:o}of i)if(a>=0){let l=s.from+a,c=l+o.length;s.text[c-s.from]==" "&&c++,n.push({from:l,to:c})}return{changes:n}}return null}var el=qe.define(),HX=qe.define(),KX=Z.define(),Vu=Z.define({combine(O){return xe(O,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(i,r)=>e(i,r)||t(i,r)})}}),qu=ce.define({create(){return YO.empty},update(O,e){let t=e.state.facet(Vu),i=e.annotation(el);if(i){let o=ut.fromTransaction(e,i.selection),l=i.side,c=l==0?O.undone:O.done;return o?c=Hn(c,c.length,t.minDepth,o):c=ju(c,e.startState.selection),new YO(l==0?i.rest:c,l==0?c:i.rest)}let r=e.annotation(HX);if((r=="full"||r=="before")&&(O=O.isolate()),e.annotation(Qe.addToHistory)===!1)return e.changes.empty?O:O.addMapping(e.changes.desc);let n=ut.fromTransaction(e),s=e.annotation(Qe.time),a=e.annotation(Qe.userEvent);return n?O=O.addChanges(n,s,a,t,e):e.selection&&(O=O.addSelection(e.startState.selection,s,a,t.newGroupDelay)),(r=="full"||r=="after")&&(O=O.isolate()),O},toJSON(O){return{done:O.done.map(e=>e.toJSON()),undone:O.undone.map(e=>e.toJSON())}},fromJSON(O){return new YO(O.done.map(ut.fromJSON),O.undone.map(ut.fromJSON))}});function zu(O={}){return[qu,Vu.of(O),T.domEventHandlers({beforeinput(e,t){let i=e.inputType=="historyUndo"?Uu:e.inputType=="historyRedo"?tl:null;return i?(e.preventDefault(),i(t)):!1}})]}function Kn(O,e){return function({state:t,dispatch:i}){if(!e&&t.readOnly)return!1;let r=t.field(qu,!1);if(!r)return!1;let n=r.pop(O,t,e);return n?(i(n),!0):!1}}var Uu=Kn(0,!1),tl=Kn(1,!1),JX=Kn(0,!0),eT=Kn(1,!0);var ut=class O{constructor(e,t,i,r,n){this.changes=e,this.effects=t,this.mapped=i,this.startSelection=r,this.selectionsAfter=n}setSelAfter(e){return new O(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,i;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(i=this.startSelection)===null||i===void 0?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new O(e.changes&&Ze.fromJSON(e.changes),[],e.mapped&&vt.fromJSON(e.mapped),e.startSelection&&S.fromJSON(e.startSelection),e.selectionsAfter.map(S.fromJSON))}static fromTransaction(e,t){let i=st;for(let r of e.startState.facet(KX)){let n=r(e);n.length&&(i=i.concat(n))}return!i.length&&e.changes.empty?null:new O(e.changes.invert(e.startState.doc),i,void 0,t||e.startState.selection,st)}static selection(e){return new O(void 0,st,void 0,void 0,e)}};function Hn(O,e,t,i){let r=e+1>t+20?e-t-1:0,n=O.slice(r,e);return n.push(i),n}function tT(O,e){let t=[],i=!1;return O.iterChangedRanges((r,n)=>t.push(r,n)),e.iterChangedRanges((r,n,s,a)=>{for(let o=0;o=l&&s<=c&&(i=!0)}}),i}function OT(O,e){return O.ranges.length==e.ranges.length&&O.ranges.filter((t,i)=>t.empty!=e.ranges[i].empty).length===0}function Wu(O,e){return O.length?e.length?O.concat(e):O:e}var st=[],iT=200;function ju(O,e){if(O.length){let t=O[O.length-1],i=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-iT));return i.length&&i[i.length-1].eq(e)?O:(i.push(e),Hn(O,O.length-1,1e9,t.setSelAfter(i)))}else return[ut.selection([e])]}function rT(O){let e=O[O.length-1],t=O.slice();return t[O.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function Jo(O,e){if(!O.length)return O;let t=O.length,i=st;for(;t;){let r=nT(O[t-1],e,i);if(r.changes&&!r.changes.empty||r.effects.length){let n=O.slice(0,t);return n[t-1]=r,n}else e=r.mapped,t--,i=r.selectionsAfter}return i.length?[ut.selection(i)]:st}function nT(O,e,t){let i=Wu(O.selectionsAfter.length?O.selectionsAfter.map(a=>a.map(e)):st,t);if(!O.changes)return ut.selection(i);let r=O.changes.map(e),n=e.mapDesc(O.changes,!0),s=O.mapped?O.mapped.composeDesc(n):n;return new ut(r,V.mapEffects(O.effects,e),s,O.startSelection.map(n),i)}var sT=/^(input\.type|delete)($|\.)/,YO=class O{constructor(e,t,i=0,r=void 0){this.done=e,this.undone=t,this.prevTime=i,this.prevUserEvent=r}isolate(){return this.prevTime?new O(this.done,this.undone):this}addChanges(e,t,i,r,n){let s=this.done,a=s[s.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!i||sT.test(i))&&(!a.selectionsAfter.length&&t-this.prevTime0&&t-this.prevTimet.empty?O.moveByChar(t,e):Jn(t,e))}function ke(O){return O.textDirectionAt(O.state.selection.main.head)==H.LTR}var Eu=O=>Gu(O,!ke(O)),Au=O=>Gu(O,ke(O));function Lu(O,e){return $t(O,t=>t.empty?O.moveByGroup(t,e):Jn(t,e))}var aT=O=>Lu(O,!ke(O)),oT=O=>Lu(O,ke(O));var b_=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function lT(O,e,t){if(e.type.prop(t))return!0;let i=e.to-e.from;return i&&(i>2||/[^\s,.;:]/.test(O.sliceDoc(e.from,e.to)))||e.firstChild}function es(O,e,t){let i=U(O).resolveInner(e.head),r=t?R.closedBy:R.openedBy;for(let o=e.head;;){let l=t?i.childAfter(o):i.childBefore(o);if(!l)break;lT(O,l,r)?i=l:o=t?l.to:l.from}let n=i.type.prop(r),s,a;return n&&(s=t?dt(O,i.from,1):dt(O,i.to,-1))&&s.matched?a=t?s.end.to:s.end.from:a=t?i.to:i.from,S.cursor(a,t?-1:1)}var cT=O=>$t(O,e=>es(O.state,e,!ke(O))),hT=O=>$t(O,e=>es(O.state,e,ke(O)));function Mu(O,e){return $t(O,t=>{if(!t.empty)return Jn(t,e);let i=O.moveVertically(t,e);return i.head!=t.head?i:O.moveToLineBoundary(t,e)})}var Du=O=>Mu(O,!1),Iu=O=>Mu(O,!0);function Bu(O){let e=O.scrollDOM.clientHeights.empty?O.moveVertically(s,e,t.height):Jn(s,e));if(r.eq(i.selection))return!1;let n;if(t.selfScroll){let s=O.coordsAtPos(i.selection.main.head),a=O.scrollDOM.getBoundingClientRect(),o=a.top+t.marginTop,l=a.bottom-t.marginBottom;s&&s.top>o&&s.bottomNu(O,!1),Ol=O=>Nu(O,!0);function aO(O,e,t){let i=O.lineBlockAt(e.head),r=O.moveToLineBoundary(e,t);if(r.head==e.head&&r.head!=(t?i.to:i.from)&&(r=O.moveToLineBoundary(e,t,!1)),!t&&r.head==i.from&&i.length){let n=/^\s*/.exec(O.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;n&&e.head!=i.from+n&&(r=S.cursor(i.from+n))}return r}var fT=O=>$t(O,e=>aO(O,e,!0)),dT=O=>$t(O,e=>aO(O,e,!1)),uT=O=>$t(O,e=>aO(O,e,!ke(O))),QT=O=>$t(O,e=>aO(O,e,ke(O))),$T=O=>$t(O,e=>S.cursor(O.lineBlockAt(e.head).from,1)),pT=O=>$t(O,e=>S.cursor(O.lineBlockAt(e.head).to,-1));function mT(O,e,t){let i=!1,r=fi(O.selection,n=>{let s=dt(O,n.head,-1)||dt(O,n.head,1)||n.head>0&&dt(O,n.head-1,1)||n.headmT(O,e,!1);function at(O,e){let t=fi(O.state.selection,i=>{let r=e(i);return S.range(i.anchor,r.head,r.goalColumn,r.bidiLevel||void 0)});return t.eq(O.state.selection)?!1:(O.dispatch(Qt(O.state,t)),!0)}function Fu(O,e){return at(O,t=>O.moveByChar(t,e))}var Hu=O=>Fu(O,!ke(O)),Ku=O=>Fu(O,ke(O));function Ju(O,e){return at(O,t=>O.moveByGroup(t,e))}var PT=O=>Ju(O,!ke(O)),ST=O=>Ju(O,ke(O));var XT=O=>at(O,e=>es(O.state,e,!ke(O))),TT=O=>at(O,e=>es(O.state,e,ke(O)));function eQ(O,e){return at(O,t=>O.moveVertically(t,e))}var tQ=O=>eQ(O,!1),OQ=O=>eQ(O,!0);function iQ(O,e){return at(O,t=>O.moveVertically(t,e,Bu(O).height))}var xu=O=>iQ(O,!1),ku=O=>iQ(O,!0),bT=O=>at(O,e=>aO(O,e,!0)),yT=O=>at(O,e=>aO(O,e,!1)),xT=O=>at(O,e=>aO(O,e,!ke(O))),kT=O=>at(O,e=>aO(O,e,ke(O))),wT=O=>at(O,e=>S.cursor(O.lineBlockAt(e.head).from)),ZT=O=>at(O,e=>S.cursor(O.lineBlockAt(e.head).to)),wu=({state:O,dispatch:e})=>(e(Qt(O,{anchor:0})),!0),Zu=({state:O,dispatch:e})=>(e(Qt(O,{anchor:O.doc.length})),!0),vu=({state:O,dispatch:e})=>(e(Qt(O,{anchor:O.selection.main.anchor,head:0})),!0),Yu=({state:O,dispatch:e})=>(e(Qt(O,{anchor:O.selection.main.anchor,head:O.doc.length})),!0),vT=({state:O,dispatch:e})=>(e(O.update({selection:{anchor:0,head:O.doc.length},userEvent:"select"})),!0),YT=({state:O,dispatch:e})=>{let t=ts(O).map(({from:i,to:r})=>S.range(i,Math.min(r+1,O.doc.length)));return e(O.update({selection:S.create(t),userEvent:"select"})),!0},_T=({state:O,dispatch:e})=>{let t=fi(O.selection,i=>{let r=U(O),n=r.resolveStack(i.from,1);if(i.empty){let s=r.resolveStack(i.from,-1);s.node.from>=n.node.from&&s.node.to<=n.node.to&&(n=s)}for(let s=n;s;s=s.next){let{node:a}=s;if((a.from=i.to||a.to>i.to&&a.from<=i.from)&&s.next)return S.range(a.to,a.from)}return i});return t.eq(O.selection)?!1:(e(Qt(O,t)),!0)};function rQ(O,e){let{state:t}=O,i=t.selection,r=t.selection.ranges.slice();for(let n of t.selection.ranges){let s=t.doc.lineAt(n.head);if(e?s.to0)for(let a=n;;){let o=O.moveVertically(a,e);if(o.heads.to){r.some(l=>l.head==o.head)||r.push(o);break}else{if(o.head==a.head)break;a=o}}}return r.length==i.ranges.length?!1:(O.dispatch(Qt(t,S.create(r,r.length-1))),!0)}var RT=O=>rQ(O,!1),VT=O=>rQ(O,!0),qT=({state:O,dispatch:e})=>{let t=O.selection,i=null;return t.ranges.length>1?i=S.create([t.main]):t.main.empty||(i=S.create([S.cursor(t.main.head)])),i?(e(Qt(O,i)),!0):!1};function dr(O,e){if(O.state.readOnly)return!1;let t="delete.selection",{state:i}=O,r=i.changeByRange(n=>{let{from:s,to:a}=n;if(s==a){let o=e(n);os&&(t="delete.forward",o=Fn(O,o,!0)),s=Math.min(s,o),a=Math.max(a,o)}else s=Fn(O,s,!1),a=Fn(O,a,!0);return s==a?{range:n}:{changes:{from:s,to:a},range:S.cursor(s,sr(O)))i.between(e,e,(r,n)=>{re&&(e=t?n:r)});return e}var nQ=(O,e,t)=>dr(O,i=>{let r=i.from,{state:n}=O,s=n.doc.lineAt(r),a,o;if(t&&!e&&r>s.from&&rnQ(O,!1,!0);var sQ=O=>nQ(O,!0,!1),aQ=(O,e)=>dr(O,t=>{let i=t.head,{state:r}=O,n=r.doc.lineAt(i),s=r.charCategorizer(i);for(let a=null;;){if(i==(e?n.to:n.from)){i==t.head&&n.number!=(e?r.doc.lines:1)&&(i+=e?1:-1);break}let o=fe(n.text,i-n.from,e)+n.from,l=n.text.slice(Math.min(i,o)-n.from,Math.max(i,o)-n.from),c=s(l);if(a!=null&&c!=a)break;(l!=" "||i!=t.head)&&(a=c),i=o}return i}),oQ=O=>aQ(O,!1),zT=O=>aQ(O,!0);var UT=O=>dr(O,e=>{let t=O.lineBlockAt(e.head).to;return e.headdr(O,e=>{let t=O.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),jT=O=>dr(O,e=>{let t=O.moveToLineBoundary(e,!0).head;return e.head{if(O.readOnly)return!1;let t=O.changeByRange(i=>({changes:{from:i.from,to:i.to,insert:E.of(["",""])},range:S.cursor(i.from)}));return e(O.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},GT=({state:O,dispatch:e})=>{if(O.readOnly)return!1;let t=O.changeByRange(i=>{if(!i.empty||i.from==0||i.from==O.doc.length)return{range:i};let r=i.from,n=O.doc.lineAt(r),s=r==n.from?r-1:fe(n.text,r-n.from,!1)+n.from,a=r==n.to?r+1:fe(n.text,r-n.from,!0)+n.from;return{changes:{from:s,to:a,insert:O.doc.slice(r,a).append(O.doc.slice(s,r))},range:S.cursor(a)}});return t.changes.empty?!1:(e(O.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function ts(O){let e=[],t=-1;for(let i of O.selection.ranges){let r=O.doc.lineAt(i.from),n=O.doc.lineAt(i.to);if(!i.empty&&i.to==n.from&&(n=O.doc.lineAt(i.to-1)),t>=r.number){let s=e[e.length-1];s.to=n.to,s.ranges.push(i)}else e.push({from:r.from,to:n.to,ranges:[i]});t=n.number+1}return e}function lQ(O,e,t){if(O.readOnly)return!1;let i=[],r=[];for(let n of ts(O)){if(t?n.to==O.doc.length:n.from==0)continue;let s=O.doc.lineAt(t?n.to+1:n.from-1),a=s.length+1;if(t){i.push({from:n.to,to:s.to},{from:n.from,insert:s.text+O.lineBreak});for(let o of n.ranges)r.push(S.range(Math.min(O.doc.length,o.anchor+a),Math.min(O.doc.length,o.head+a)))}else{i.push({from:s.from,to:n.from},{from:n.to,insert:O.lineBreak+s.text});for(let o of n.ranges)r.push(S.range(o.anchor-a,o.head-a))}}return i.length?(e(O.update({changes:i,scrollIntoView:!0,selection:S.create(r,O.selection.mainIndex),userEvent:"move.line"})),!0):!1}var ET=({state:O,dispatch:e})=>lQ(O,e,!1),AT=({state:O,dispatch:e})=>lQ(O,e,!0);function cQ(O,e,t){if(O.readOnly)return!1;let i=[];for(let n of ts(O))t?i.push({from:n.from,insert:O.doc.slice(n.from,n.to)+O.lineBreak}):i.push({from:n.to,insert:O.lineBreak+O.doc.slice(n.from,n.to)});let r=O.changes(i);return e(O.update({changes:r,selection:O.selection.map(r,t?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}var LT=({state:O,dispatch:e})=>cQ(O,e,!1),MT=({state:O,dispatch:e})=>cQ(O,e,!0),DT=O=>{if(O.state.readOnly)return!1;let{state:e}=O,t=e.changes(ts(e).map(({from:r,to:n})=>(r>0?r--:n{let n;if(O.lineWrapping){let s=O.lineBlockAt(r.head),a=O.coordsAtPos(r.head,r.assoc||1);a&&(n=s.bottom+O.documentTop-a.bottom+O.defaultLineHeight/2)}return O.moveVertically(r,!0,n)}).map(t);return O.dispatch({changes:t,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0};function IT(O,e){if(/\(\)|\[\]|\{\}/.test(O.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=U(O).resolveInner(e),i=t.childBefore(e),r=t.childAfter(e),n;return i&&r&&i.to<=e&&r.from>=e&&(n=i.type.prop(R.closedBy))&&n.indexOf(r.name)>-1&&O.doc.lineAt(i.to).from==O.doc.lineAt(r.from).from&&!/\S/.test(O.sliceDoc(i.to,r.from))?{from:i.to,to:r.from}:null}var _u=hQ(!1),BT=hQ(!0);function hQ(O){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=e.changeByRange(r=>{let{from:n,to:s}=r,a=e.doc.lineAt(n),o=!O&&n==s&&IT(e,n);O&&(n=s=(s<=a.to?a:e.doc.lineAt(s)).to);let l=new ZO(e,{simulateBreak:n,simulateDoubleBreak:!!o}),c=In(l,n);for(c==null&&(c=ve(/^\s*/.exec(e.doc.lineAt(n).text)[0],e.tabSize));sa.from&&n{let r=[];for(let s=i.from;s<=i.to;){let a=O.doc.lineAt(s);a.number>t&&(i.empty||i.to>a.from)&&(e(a,r,i),t=a.number),s=a.to+1}let n=O.changes(r);return{changes:r,range:S.range(n.mapPos(i.anchor,1),n.mapPos(i.head,1))}})}var NT=({state:O,dispatch:e})=>{if(O.readOnly)return!1;let t=Object.create(null),i=new ZO(O,{overrideIndentation:n=>{let s=t[n];return s??-1}}),r=sl(O,(n,s,a)=>{let o=In(i,n.from);if(o==null)return;/\S/.test(n.text)||(o=0);let l=/^\s*/.exec(n.text)[0],c=hi(O,o);(l!=c||a.fromO.readOnly?!1:(e(O.update(sl(O,(t,i)=>{i.push({from:t.from,insert:O.facet(nO)})}),{userEvent:"input.indent"})),!0),dQ=({state:O,dispatch:e})=>O.readOnly?!1:(e(O.update(sl(O,(t,i)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let n=ve(r,O.tabSize),s=0,a=hi(O,Math.max(0,n-lr(O)));for(;s(O.setTabFocusMode(),!0);var HT=[{key:"Ctrl-b",run:Eu,shift:Hu,preventDefault:!0},{key:"Ctrl-f",run:Au,shift:Ku},{key:"Ctrl-p",run:Du,shift:tQ},{key:"Ctrl-n",run:Iu,shift:OQ},{key:"Ctrl-a",run:$T,shift:wT},{key:"Ctrl-e",run:pT,shift:ZT},{key:"Ctrl-d",run:sQ},{key:"Ctrl-h",run:il},{key:"Ctrl-k",run:UT},{key:"Ctrl-Alt-h",run:oQ},{key:"Ctrl-o",run:CT},{key:"Ctrl-t",run:GT},{key:"Ctrl-v",run:Ol}],KT=[{key:"ArrowLeft",run:Eu,shift:Hu,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:aT,shift:PT,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:uT,shift:xT,preventDefault:!0},{key:"ArrowRight",run:Au,shift:Ku,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:oT,shift:ST,preventDefault:!0},{mac:"Cmd-ArrowRight",run:QT,shift:kT,preventDefault:!0},{key:"ArrowUp",run:Du,shift:tQ,preventDefault:!0},{mac:"Cmd-ArrowUp",run:wu,shift:vu},{mac:"Ctrl-ArrowUp",run:yu,shift:xu},{key:"ArrowDown",run:Iu,shift:OQ,preventDefault:!0},{mac:"Cmd-ArrowDown",run:Zu,shift:Yu},{mac:"Ctrl-ArrowDown",run:Ol,shift:ku},{key:"PageUp",run:yu,shift:xu},{key:"PageDown",run:Ol,shift:ku},{key:"Home",run:dT,shift:yT,preventDefault:!0},{key:"Mod-Home",run:wu,shift:vu},{key:"End",run:fT,shift:bT,preventDefault:!0},{key:"Mod-End",run:Zu,shift:Yu},{key:"Enter",run:_u,shift:_u},{key:"Mod-a",run:vT},{key:"Backspace",run:il,shift:il,preventDefault:!0},{key:"Delete",run:sQ,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:oQ,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:zT,preventDefault:!0},{mac:"Mod-Backspace",run:WT,preventDefault:!0},{mac:"Mod-Delete",run:jT,preventDefault:!0}].concat(HT.map(O=>({mac:O.key,run:O.run,shift:O.shift}))),uQ=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:cT,shift:XT},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:hT,shift:TT},{key:"Alt-ArrowUp",run:ET},{key:"Shift-Alt-ArrowUp",run:LT},{key:"Alt-ArrowDown",run:AT},{key:"Shift-Alt-ArrowDown",run:MT},{key:"Mod-Alt-ArrowUp",run:RT},{key:"Mod-Alt-ArrowDown",run:VT},{key:"Escape",run:qT},{key:"Mod-Enter",run:BT},{key:"Alt-l",mac:"Ctrl-l",run:YT},{key:"Mod-i",run:_T,preventDefault:!0},{key:"Mod-[",run:dQ},{key:"Mod-]",run:fQ},{key:"Mod-Alt-\\",run:NT},{key:"Shift-Mod-k",run:DT},{key:"Shift-Mod-\\",run:gT},{key:"Mod-/",run:LX},{key:"Alt-A",run:DX},{key:"Ctrl-m",mac:"Shift-Alt-m",run:FT}].concat(KT),QQ={key:"Tab",run:fQ,shift:dQ};var $Q=typeof String.prototype.normalize=="function"?O=>O.normalize("NFKD"):O=>O,lO=class{constructor(e,t,i=0,r=e.length,n,s){this.test=s,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(i,r),this.bufferStart=i,this.normalize=n?a=>n($Q(a)):$Q,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return Se(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=Ri(e),i=this.bufferStart+this.bufferPos;this.bufferPos+=Me(e);let r=this.normalize(t);if(r.length)for(let n=0,s=i;;n++){let a=r.charCodeAt(n),o=this.match(a,s,this.bufferPos+this.bufferStart);if(n==r.length-1){if(o)return this.value=o,this;break}s==i&&nthis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let i=this.curLineStart+t.index,r=i+t[0].length;if(this.matchPos=as(this.text,r+(i==r?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(ithis.value.to)&&(!this.test||this.test(i,r,t)))return this.value={from:i,to:r,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length=i||r.to<=t){let a=new O(t,e.sliceString(t,i));return al.set(e,a),a}if(r.from==t&&r.to==i)return r;let{text:n,from:s}=r;return s>t&&(n=e.sliceString(t,s)+n,s=t),r.to=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let i=this.flat.from+t.index,r=i+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(i,r,t)))return this.value={from:i,to:r,match:t},this.matchPos=as(this.text,r+(i==r?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=ns.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}};typeof Symbol<"u"&&(rs.prototype[Symbol.iterator]=ss.prototype[Symbol.iterator]=function(){return this});function JT(O){try{return new RegExp(O,dl),!0}catch{return!1}}function as(O,e){if(e>=O.length)return e;let t=O.lineAt(e),i;for(;e=56320&&i<57344;)e++;return e}function ol(O){let e=String(O.state.doc.lineAt(O.state.selection.main.head).number),t=N("input",{class:"cm-textfield",name:"line",value:e}),i=N("form",{class:"cm-gotoLine",onkeydown:n=>{n.keyCode==27?(n.preventDefault(),O.dispatch({effects:ur.of(!1)}),O.focus()):n.keyCode==13&&(n.preventDefault(),r())},onsubmit:n=>{n.preventDefault(),r()}},N("label",O.state.phrase("Go to line"),": ",t)," ",N("button",{class:"cm-button",type:"submit"},O.state.phrase("go")),N("button",{name:"close",onclick:()=>{O.dispatch({effects:ur.of(!1)}),O.focus()},"aria-label":O.state.phrase("close"),type:"button"},["\xD7"]));function r(){let n=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!n)return;let{state:s}=O,a=s.doc.lineAt(s.selection.main.head),[,o,l,c,h]=n,f=c?+c.slice(1):0,u=l?+l:a.number;if(l&&h){let p=u/100;o&&(p=p*(o=="-"?-1:1)+a.number/s.doc.lines),u=Math.round(s.doc.lines*p)}else l&&o&&(u=u*(o=="-"?-1:1)+a.number);let Q=s.doc.line(Math.max(1,Math.min(s.doc.lines,u))),$=S.cursor(Q.from+Math.max(0,Math.min(f,Q.length)));O.dispatch({effects:[ur.of(!1),T.scrollIntoView($.from,{y:"center"})],selection:$}),O.focus()}return{dom:i}}var ur=V.define(),pQ=ce.define({create(){return!0},update(O,e){for(let t of e.effects)t.is(ur)&&(O=t.value);return O},provide:O=>TO.from(O,e=>e?ol:null)}),e1=O=>{let e=bO(O,ol);if(!e){let t=[ur.of(!0)];O.state.field(pQ,!1)==null&&t.push(V.appendConfig.of([pQ,t1])),O.dispatch({effects:t}),e=bO(O,ol)}return e&&e.dom.querySelector("input").select(),!0},t1=T.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px",position:"relative","& label":{fontSize:"80%"},"& [name=close]":{position:"absolute",top:"0",bottom:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:"0"}}}),O1={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},SQ=Z.define({combine(O){return xe(O,O1,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function XQ(O){let e=[a1,s1];return O&&e.push(SQ.of(O)),e}var i1=Y.mark({class:"cm-selectionMatch"}),r1=Y.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function mQ(O,e,t,i){return(t==0||O(e.sliceDoc(t-1,t))!=ee.Word)&&(i==e.doc.length||O(e.sliceDoc(i,i+1))!=ee.Word)}function n1(O,e,t,i){return O(e.sliceDoc(t,t+1))==ee.Word&&O(e.sliceDoc(i-1,i))==ee.Word}var s1=he.fromClass(class{constructor(O){this.decorations=this.getDeco(O)}update(O){(O.selectionSet||O.docChanged||O.viewportChanged)&&(this.decorations=this.getDeco(O.view))}getDeco(O){let e=O.state.facet(SQ),{state:t}=O,i=t.selection;if(i.ranges.length>1)return Y.none;let r=i.main,n,s=null;if(r.empty){if(!e.highlightWordAroundCursor)return Y.none;let o=t.wordAt(r.head);if(!o)return Y.none;s=t.charCategorizer(r.head),n=t.sliceDoc(o.from,o.to)}else{let o=r.to-r.from;if(o200)return Y.none;if(e.wholeWords){if(n=t.sliceDoc(r.from,r.to),s=t.charCategorizer(r.head),!(mQ(s,t,r.from,r.to)&&n1(s,t,r.from,r.to)))return Y.none}else if(n=t.sliceDoc(r.from,r.to),!n)return Y.none}let a=[];for(let o of O.visibleRanges){let l=new lO(t.doc,n,o.from,o.to);for(;!l.next().done;){let{from:c,to:h}=l.value;if((!s||mQ(s,t,c,h))&&(r.empty&&c<=r.from&&h>=r.to?a.push(r1.range(c,h)):(c>=r.to||h<=r.from)&&a.push(i1.range(c,h)),a.length>e.maxMatches))return Y.none}}return Y.set(a)}},{decorations:O=>O.decorations}),a1=T.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),o1=({state:O,dispatch:e})=>{let{selection:t}=O,i=S.create(t.ranges.map(r=>O.wordAt(r.head)||S.cursor(r.head)),t.mainIndex);return i.eq(t)?!1:(e(O.update({selection:i})),!0)};function l1(O,e){let{main:t,ranges:i}=O.selection,r=O.wordAt(t.head),n=r&&r.from==t.from&&r.to==t.to;for(let s=!1,a=new lO(O.doc,e,i[i.length-1].to);;)if(a.next(),a.done){if(s)return null;a=new lO(O.doc,e,0,Math.max(0,i[i.length-1].from-1)),s=!0}else{if(s&&i.some(o=>o.from==a.value.from))continue;if(n){let o=O.wordAt(a.value.from);if(!o||o.from!=a.value.from||o.to!=a.value.to)continue}return a.value}}var c1=({state:O,dispatch:e})=>{let{ranges:t}=O.selection;if(t.some(n=>n.from===n.to))return o1({state:O,dispatch:e});let i=O.sliceDoc(t[0].from,t[0].to);if(O.selection.ranges.some(n=>O.sliceDoc(n.from,n.to)!=i))return!1;let r=l1(O,i);return r?(e(O.update({selection:O.selection.addRange(S.range(r.from,r.to),!1),effects:T.scrollIntoView(r.to)})),!0):!1},Qi=Z.define({combine(O){return xe(O,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new fl(e),scrollToMatch:e=>T.scrollIntoView(e)})}});var os=class{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||JT(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,i)=>i=="n"?` +-\x7F-\x9F\xAD\u061C\u200B\u200E\u200F\u2028\u2029\u202D\u202E\u2066\u2067\u2069\uFEFF\uFFF9-\uFFFC]`,no),xS={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"},$a=null;function kS(){var O;if($a==null&&typeof document<"u"&&document.body){let e=document.body.style;$a=((O=e.tabSize)!==null&&O!==void 0?O:e.MozTabSize)!=null}return $a||!1}var un=Z.define({combine(O){let e=xe(O,{render:null,specialChars:yS,addSpecialChars:null});return(e.replaceTabs=!kS())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,no)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,no)),e}});function _d(O={}){return[un.of(O),wS()]}var bf=null;function wS(){return bf||(bf=he.fromClass(class{constructor(O){this.view=O,this.decorations=Y.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(O.state.facet(un)),this.decorations=this.decorator.createDeco(O)}makeDecorator(O){return new ro({regexp:O.specialChars,decoration:(e,t,i)=>{let{doc:r}=t.state,n=Se(e[0],0);if(n==9){let s=r.lineAt(i),a=t.state.tabSize,o=ve(s.text,a,i-s.from);return Y.replace({widget:new ao((a-o%a)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[n]||(this.decorationCache[n]=Y.replace({widget:new so(O,n)}))},boundary:O.replaceTabs?void 0:/[^]/})}update(O){let e=O.state.facet(un);O.startState.facet(un)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(O.view)):this.decorations=this.decorator.updateDeco(O,this.decorations)}},{decorations:O=>O.decorations}))}var ZS="\u2022";function vS(O){return O>=32?ZS:O==10?"\u2424":String.fromCharCode(9216+O)}var so=class extends _e{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=vS(this.code),i=e.state.phrase("Control character")+" "+(xS[this.code]||"0x"+this.code.toString(16)),r=this.options.render&&this.options.render(this.code,i,t);if(r)return r;let n=document.createElement("span");return n.textContent=t,n.title=i,n.setAttribute("aria-label",i),n.className="cm-specialChar",n}ignoreEvent(){return!1}},ao=class extends _e{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}};function Rd(){return _S}var YS=Y.line({class:"cm-activeLine"}),_S=he.fromClass(class{constructor(O){this.decorations=this.getDeco(O)}update(O){(O.docChanged||O.selectionSet)&&(this.decorations=this.getDeco(O.view))}getDeco(O){let e=-1,t=[];for(let i of O.state.selection.ranges){let r=O.lineBlockAt(i.head);r.from>e&&(t.push(YS.range(r.from)),e=r.from)}return Y.set(t)}},{decorations:O=>O.decorations});var oo=2e3;function RS(O,e,t){let i=Math.min(e.line,t.line),r=Math.max(e.line,t.line),n=[];if(e.off>oo||t.off>oo||e.col<0||t.col<0){let s=Math.min(e.off,t.off),a=Math.max(e.off,t.off);for(let o=i;o<=r;o++){let l=O.doc.line(o);l.length<=a&&n.push(S.range(l.from+s,l.to+a))}}else{let s=Math.min(e.col,t.col),a=Math.max(e.col,t.col);for(let o=i;o<=r;o++){let l=O.doc.line(o),c=Kr(l.text,s,O.tabSize,!0);if(c<0)n.push(S.cursor(l.to));else{let h=Kr(l.text,a,O.tabSize);n.push(S.range(l.from+c,l.from+h))}}}return n}function VS(O,e){let t=O.coordsAtPos(O.viewport.from);return t?Math.round(Math.abs((t.left-e)/O.defaultCharacterWidth)):-1}function yf(O,e){let t=O.posAtCoords({x:e.clientX,y:e.clientY},!1),i=O.state.doc.lineAt(t),r=t-i.from,n=r>oo?-1:r==i.length?VS(O,e.clientX):ve(i.text,O.state.tabSize,t-i.from);return{line:i.number,col:n,off:r}}function qS(O,e){let t=yf(O,e),i=O.state.selection;return t?{update(r){if(r.docChanged){let n=r.changes.mapPos(r.startState.doc.line(t.line).from),s=r.state.doc.lineAt(n);t={line:s.number,col:t.col,off:Math.min(t.off,s.length)},i=i.map(r.changes)}},get(r,n,s){let a=yf(O,r);if(!a)return i;let o=RS(O.state,t,a);return o.length?s?S.create(o.concat(i.ranges)):S.create(o):i}}:null}function Vd(O){let e=O?.eventFilter||(t=>t.altKey&&t.button==0);return T.mouseSelectionStyle.of((t,i)=>e(i)?qS(t,i):null)}var zS={Alt:[18,O=>!!O.altKey],Control:[17,O=>!!O.ctrlKey],Shift:[16,O=>!!O.shiftKey],Meta:[91,O=>!!O.metaKey]},US={style:"cursor: crosshair"};function qd(O={}){let[e,t]=zS[O.key||"Alt"],i=he.fromClass(class{constructor(r){this.view=r,this.isDown=!1}set(r){this.isDown!=r&&(this.isDown=r,this.view.update([]))}},{eventObservers:{keydown(r){this.set(r.keyCode==e||t(r))},keyup(r){(r.keyCode==e||!t(r))&&this.set(!1)},mousemove(r){this.set(t(r))}}});return[i,T.contentAttributes.of(r=>{var n;return!((n=r.plugin(i))===null||n===void 0)&&n.isDown?US:null})]}var on="-10000px",wn=class{constructor(e,t,i,r){this.facet=t,this.createTooltipView=i,this.removeTooltipView=r,this.input=e.state.facet(t),this.tooltips=this.input.filter(s=>s);let n=null;this.tooltipViews=this.tooltips.map(s=>n=i(s,n))}update(e,t){var i;let r=e.state.facet(this.facet),n=r.filter(o=>o);if(r===this.input){for(let o of this.tooltipViews)o.update&&o.update(e);return!1}let s=[],a=t?[]:null;for(let o=0;ot[l]=o),t.length=a.length),this.input=r,this.tooltips=n,this.tooltipViews=s,!0}};function WS(O){let e=O.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}var pa=Z.define({combine:O=>{var e,t,i;return{position:v.ios?"absolute":((e=O.find(r=>r.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((t=O.find(r=>r.parent))===null||t===void 0?void 0:t.parent)||null,tooltipSpace:((i=O.find(r=>r.tooltipSpace))===null||i===void 0?void 0:i.tooltipSpace)||WS}}}),xf=new WeakMap,Xo=he.fromClass(class{constructor(O){this.view=O,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=O.state.facet(pa);this.position=e.position,this.parent=e.parent,this.classes=O.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new wn(O,er,(t,i)=>this.createTooltip(t,i),t=>{this.resizeObserver&&this.resizeObserver.unobserve(t.dom),t.dom.remove()}),this.above=this.manager.tooltips.map(t=>!!t.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(t=>{Date.now()>this.lastTransaction-50&&t.length>0&&t[t.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),O.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let O of this.manager.tooltipViews)this.intersectionObserver.observe(O.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(O){O.transactions.length&&(this.lastTransaction=Date.now();let e=this.manager.update(O,this.above);e&&this.observeIntersection();let t=e||O.geometryChanged,i=O.state.facet(pa);if(i.position!=this.position&&!this.madeAbsolute){this.position=i.position;for(let r of this.manager.tooltipViews)r.dom.style.position=this.position;t=!0}if(i.parent!=this.parent){this.parent&&this.container.remove(),this.parent=i.parent,this.createContainer();for(let r of this.manager.tooltipViews)this.container.appendChild(r.dom);t=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);t&&this.maybeMeasure()}createTooltip(O,e){let t=O.create(this.view),i=e?e.dom:null;if(t.dom.classList.add("cm-tooltip"),O.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let r=document.createElement("div");r.className="cm-tooltip-arrow",t.dom.appendChild(r)}return t.dom.style.position=this.position,t.dom.style.top=on,t.dom.style.left="0px",this.container.insertBefore(t.dom,i),t.mount&&t.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(t.dom),t}destroy(){var O,e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let i of this.manager.tooltipViews)i.dom.remove(),(O=i.destroy)===null||O===void 0||O.call(i);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(t=this.intersectionObserver)===null||t===void 0||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let O=1,e=1,t=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:n}=this.manager.tooltipViews[0];if(v.safari){let s=n.getBoundingClientRect();t=Math.abs(s.top+1e4)>1||Math.abs(s.left)>1}else t=!!n.offsetParent&&n.offsetParent!=this.container.ownerDocument.body}if(t||this.position=="absolute")if(this.parent){let n=this.parent.getBoundingClientRect();n.width&&n.height&&(O=n.width/this.parent.offsetWidth,e=n.height/this.parent.offsetHeight)}else({scaleX:O,scaleY:e}=this.view.viewState);let i=this.view.scrollDOM.getBoundingClientRect(),r=Po(this.view);return{visible:{left:i.left+r.left,top:i.top+r.top,right:i.right-r.right,bottom:i.bottom-r.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((n,s)=>{let a=this.manager.tooltipViews[s];return a.getCoords?a.getCoords(n.pos):this.view.coordsAtPos(n.pos)}),size:this.manager.tooltipViews.map(({dom:n})=>n.getBoundingClientRect()),space:this.view.state.facet(pa).tooltipSpace(this.view),scaleX:O,scaleY:e,makeAbsolute:t}}writeMeasure(O){var e;if(O.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let a of this.manager.tooltipViews)a.dom.style.position="absolute"}let{visible:t,space:i,scaleX:r,scaleY:n}=O,s=[];for(let a=0;a=Math.min(t.bottom,i.bottom)||h.rightMath.min(t.right,i.right)+.1)){c.style.top=on;continue}let u=o.arrow?l.dom.querySelector(".cm-tooltip-arrow"):null,Q=u?7:0,$=f.right-f.left,p=(e=xf.get(l))!==null&&e!==void 0?e:f.bottom-f.top,m=l.offset||CS,g=this.view.textDirection==H.LTR,P=f.width>i.right-i.left?g?i.left:i.right-f.width:g?Math.max(i.left,Math.min(h.left-(u?14:0)+m.x,i.right-$)):Math.min(Math.max(i.left,h.left-$+(u?14:0)-m.x),i.right-$),y=this.above[a];!o.strictSide&&(y?h.top-p-Q-m.yi.bottom)&&y==i.bottom-h.bottom>h.top-i.top&&(y=this.above[a]=!y);let X=(y?h.top-i.top:i.bottom-h.bottom)-Q;if(XP&&j.topx&&(x=y?j.top-p-2-Q:j.bottom+Q+2);if(this.position=="absolute"?(c.style.top=(x-O.parent.top)/n+"px",kf(c,(P-O.parent.left)/r)):(c.style.top=x/n+"px",kf(c,P/r)),u){let j=h.left+(g?m.x:-m.x)-(P+14-7);u.style.left=j/r+"px"}l.overlap!==!0&&s.push({left:P,top:x,right:k,bottom:x+p}),c.classList.toggle("cm-tooltip-above",y),c.classList.toggle("cm-tooltip-below",!y),l.positioned&&l.positioned(O.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let O of this.manager.tooltipViews)O.dom.style.top=on}},{eventObservers:{scroll(){this.maybeMeasure()}}});function kf(O,e){let t=parseInt(O.style.left,10);(isNaN(t)||Math.abs(e-t)>1)&&(O.style.left=e+"px")}var jS=T.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),CS={x:0,y:0},er=Z.define({enables:[Xo,jS]}),Zn=Z.define({combine:O=>O.reduce((e,t)=>e.concat(t),[])}),vn=class O{static create(e){return new O(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new wn(e,Zn,(t,i)=>this.createHostedView(t,i),t=>t.dom.remove())}createHostedView(e,t){let i=e.create(this.view);return i.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(i.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&i.mount&&i.mount(this.view),i}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)(e=t.destroy)===null||e===void 0||e.call(t)}passProp(e){let t;for(let i of this.manager.tooltipViews){let r=i[e];if(r!==void 0){if(t===void 0)t=r;else if(t!==r)return}}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}},GS=er.compute([Zn],O=>{let e=O.facet(Zn);return e.length===0?null:{pos:Math.min(...e.map(t=>t.pos)),end:Math.max(...e.map(t=>{var i;return(i=t.end)!==null&&i!==void 0?i:t.pos})),create:vn.create,above:e[0].above,arrow:e.some(t=>t.arrow)}}),lo=class{constructor(e,t,i,r,n){this.view=e,this.source=t,this.field=i,this.setHover=r,this.hoverTime=n,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;ea.bottom||t.xa.right+e.defaultCharacterWidth)return;let o=e.bidiSpans(e.state.doc.lineAt(r)).find(c=>c.from<=r&&c.to>=r),l=o&&o.dir==H.RTL?-1:1;n=t.x{this.pending==a&&(this.pending=null,o&&!(Array.isArray(o)&&!o.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(o)?o:[o])}))},o=>Xe(e.state,o,"hover tooltip"))}else s&&!(Array.isArray(s)&&!s.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(s)?s:[s])})}get tooltip(){let e=this.view.plugin(Xo),t=e?e.manager.tooltips.findIndex(i=>i.create==vn.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,i;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:r,tooltip:n}=this;if(r.length&&n&&!ES(n.dom,e)||this.pending){let{pos:s}=r[0]||this.pending,a=(i=(t=r[0])===null||t===void 0?void 0:t.end)!==null&&i!==void 0?i:s;(s==a?this.view.posAtCoords(this.lastMove)!=s:!AS(this.view,s,a,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length){let{tooltip:i}=this;i&&i.dom.contains(e.relatedTarget)?this.watchTooltipLeave(i.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=i=>{e.removeEventListener("mouseleave",t),this.active.length&&!this.view.dom.contains(i.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}},ln=4;function ES(O,e){let{left:t,right:i,top:r,bottom:n}=O.getBoundingClientRect(),s;if(s=O.querySelector(".cm-tooltip-arrow")){let a=s.getBoundingClientRect();r=Math.min(a.top,r),n=Math.max(a.bottom,n)}return e.clientX>=t-ln&&e.clientX<=i+ln&&e.clientY>=r-ln&&e.clientY<=n+ln}function AS(O,e,t,i,r,n){let s=O.scrollDOM.getBoundingClientRect(),a=O.documentTop+O.documentPadding.top+O.contentHeight;if(s.left>i||s.rightr||Math.min(s.bottom,a)=e&&o<=t}function zd(O,e={}){let t=V.define(),i=ce.define({create(){return[]},update(r,n){if(r.length&&(e.hideOnChange&&(n.docChanged||n.selection)?r=[]:e.hideOn&&(r=r.filter(s=>!e.hideOn(n,s))),n.docChanged)){let s=[];for(let a of r){let o=n.changes.mapPos(a.pos,-1,pe.TrackDel);if(o!=null){let l=Object.assign(Object.create(null),a);l.pos=o,l.end!=null&&(l.end=n.changes.mapPos(l.end)),s.push(l)}}r=s}for(let s of n.effects)s.is(t)&&(r=s.value),s.is(LS)&&(r=[]);return r},provide:r=>Zn.from(r)});return{active:i,extension:[i,he.define(r=>new lo(r,O,i,t,e.hoverTime||300)),GS]}}function To(O,e){let t=O.plugin(Xo);if(!t)return null;let i=t.manager.tooltips.indexOf(e);return i<0?null:t.manager.tooltipViews[i]}var LS=V.define();var wf=Z.define({combine(O){let e,t;for(let i of O)e=e||i.topContainer,t=t||i.bottomContainer;return{topContainer:e,bottomContainer:t}}});function bO(O,e){let t=O.plugin(Ud),i=t?t.specs.indexOf(e):-1;return i>-1?t.panels[i]:null}var Ud=he.fromClass(class{constructor(O){this.input=O.state.facet(TO),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(O));let e=O.state.facet(wf);this.top=new ei(O,!0,e.topContainer),this.bottom=new ei(O,!1,e.bottomContainer),this.top.sync(this.panels.filter(t=>t.top)),this.bottom.sync(this.panels.filter(t=>!t.top));for(let t of this.panels)t.dom.classList.add("cm-panel"),t.mount&&t.mount()}update(O){let e=O.state.facet(wf);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new ei(O.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new ei(O.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=O.state.facet(TO);if(t!=this.input){let i=t.filter(o=>o),r=[],n=[],s=[],a=[];for(let o of i){let l=this.specs.indexOf(o),c;l<0?(c=o(O.view),a.push(c)):(c=this.panels[l],c.update&&c.update(O)),r.push(c),(c.top?n:s).push(c)}this.specs=i,this.panels=r,this.top.sync(n),this.bottom.sync(s);for(let o of a)o.dom.classList.add("cm-panel"),o.mount&&o.mount()}else for(let i of this.panels)i.update&&i.update(O)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:O=>T.scrollMargins.of(e=>{let t=e.plugin(O);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})}),ei=class{constructor(e,t,i){this.view=e,this.top=t,this.container=i,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let t=this.container||this.view.dom;t.insertBefore(this.dom,this.top?t.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=Zf(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=Zf(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}};function Zf(O){let e=O.nextSibling;return O.remove(),e}var TO=Z.define({enables:Ud});var Ie=class extends tt{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Ie.prototype.elementClass="";Ie.prototype.toDOM=void 0;Ie.prototype.mapMode=pe.TrackBefore;Ie.prototype.startSide=Ie.prototype.endSide=-1;Ie.prototype.point=!0;var Qn=Z.define(),MS=Z.define(),DS={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>M.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Li=Z.define();function bo(O){return[Wd(),Li.of({...DS,...O})]}var co=Z.define({combine:O=>O.some(e=>e)});function Wd(O){let e=[IS];return O&&O.fixed===!1&&e.push(co.of(!0)),e}var IS=he.fromClass(class{constructor(O){this.view=O,this.domAfter=null,this.prevViewport=O.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=O.state.facet(Li).map(e=>new Yn(O,e)),this.fixed=!O.state.facet(co);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),O.scrollDOM.insertBefore(this.dom,O.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(O){if(this.updateGutters(O)){let e=this.prevViewport,t=O.view.viewport,i=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(i<(t.to-t.from)*.8)}if(O.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(co)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=O.view.viewport}syncGutters(O){let e=this.dom.nextSibling;O&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let t=M.iter(this.view.state.facet(Qn),this.view.viewport.from),i=[],r=this.gutters.map(n=>new fo(n,this.view.viewport,-this.view.documentPadding.top));for(let n of this.view.viewportLineBlocks)if(i.length&&(i=[]),Array.isArray(n.type)){let s=!0;for(let a of n.type)if(a.type==Te.Text&&s){ho(t,i,a.from);for(let o of r)o.line(this.view,a,i);s=!1}else if(a.widget)for(let o of r)o.widget(this.view,a)}else if(n.type==Te.Text){ho(t,i,n.from);for(let s of r)s.line(this.view,n,i)}else if(n.widget)for(let s of r)s.widget(this.view,n);for(let n of r)n.finish();O&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(O){let e=O.startState.facet(Li),t=O.state.facet(Li),i=O.docChanged||O.heightChanged||O.viewportChanged||!M.eq(O.startState.facet(Qn),O.state.facet(Qn),O.view.viewport.from,O.view.viewport.to);if(e==t)for(let r of this.gutters)r.update(O)&&(i=!0);else{i=!0;let r=[];for(let n of t){let s=e.indexOf(n);s<0?r.push(new Yn(this.view,n)):(this.gutters[s].update(O),r.push(this.gutters[s]))}for(let n of this.gutters)n.dom.remove(),r.indexOf(n)<0&&n.destroy();for(let n of r)n.config.side=="after"?this.getDOMAfter().appendChild(n.dom):this.dom.appendChild(n.dom);this.gutters=r}return i}destroy(){for(let O of this.gutters)O.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:O=>T.scrollMargins.of(e=>{let t=e.plugin(O);if(!t||t.gutters.length==0||!t.fixed)return null;let i=t.dom.offsetWidth*e.scaleX,r=t.domAfter?t.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==H.LTR?{left:i,right:r}:{right:i,left:r}})});function vf(O){return Array.isArray(O)?O:[O]}function ho(O,e,t){for(;O.value&&O.from<=t;)O.from==t&&e.push(O.value),O.next()}var fo=class{constructor(e,t,i){this.gutter=e,this.height=i,this.i=0,this.cursor=M.iter(e.markers,t.from)}addElement(e,t,i){let{gutter:r}=this,n=(t.top-this.height)/e.scaleY,s=t.height/e.scaleY;if(this.i==r.elements.length){let a=new _n(e,s,n,i);r.elements.push(a),r.dom.appendChild(a.dom)}else r.elements[this.i].update(e,s,n,i);this.height=t.bottom,this.i++}line(e,t,i){let r=[];ho(this.cursor,r,t.from),i.length&&(r=r.concat(i));let n=this.gutter.config.lineMarker(e,t,r);n&&r.unshift(n);let s=this.gutter;r.length==0&&!s.config.renderEmptyElements||this.addElement(e,t,r)}widget(e,t){let i=this.gutter.config.widgetMarker(e,t.widget,t),r=i?[i]:null;for(let n of e.state.facet(MS)){let s=n(e,t.widget,t);s&&(r||(r=[])).push(s)}r&&this.addElement(e,t,r)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}},Yn=class{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in t.domEventHandlers)this.dom.addEventListener(i,r=>{let n=r.target,s;if(n!=this.dom&&this.dom.contains(n)){for(;n.parentNode!=this.dom;)n=n.parentNode;let o=n.getBoundingClientRect();s=(o.top+o.bottom)/2}else s=r.clientY;let a=e.lineBlockAtHeight(s-e.documentTop);t.domEventHandlers[i](e,a,r)&&r.preventDefault()});this.markers=vf(t.markers(e)),t.initialSpacer&&(this.spacer=new _n(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=vf(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let r=this.config.updateSpacer(this.spacer.markers[0],e);r!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[r])}let i=e.view.viewport;return!M.eq(this.markers,t,i.from,i.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}},_n=class{constructor(e,t,i,r){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,i,r)}update(e,t,i,r){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),BS(this.markers,r)||this.setMarkers(e,r)}setMarkers(e,t){let i="cm-gutterElement",r=this.dom.firstChild;for(let n=0,s=0;;){let a=s,o=nn(a,o,l)||s(a,o,l):s}return i}})}}),Mi=class extends Ie{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}};function ma(O,e){return O.state.facet(ti).formatNumber(e,O.state)}var HS=Li.compute([ti],O=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(NS)},lineMarker(e,t,i){return i.some(r=>r.toDOM)?null:new Mi(ma(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,i)=>{for(let r of e.state.facet(FS)){let n=r(e,t,i);if(n)return n}return null},lineMarkerChange:e=>e.startState.facet(ti)!=e.state.facet(ti),initialSpacer(e){return new Mi(ma(e,Yf(e.state.doc.lines)))},updateSpacer(e,t){let i=ma(t.view,Yf(t.view.state.doc.lines));return i==e.number?e:new Mi(i)},domEventHandlers:O.facet(ti).domEventHandlers,side:"before"}));function jd(O={}){return[ti.of(O),Wd(),HS]}function Yf(O){let e=9;for(;e{let e=[],t=-1;for(let i of O.selection.ranges){let r=O.doc.lineAt(i.head).from;r>t&&(t=r,e.push(KS.range(r)))}return M.of(e)});function Cd(){return JS}var eX=0,We=class{constructor(e,t){this.from=e,this.to=t}},R=class{constructor(e={}){this.id=eX++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=ue.match(e)),t=>{let i=e(t);return i===void 0?null:[this,i]}}};R.closedBy=new R({deserialize:O=>O.split(" ")});R.openedBy=new R({deserialize:O=>O.split(" ")});R.group=new R({deserialize:O=>O.split(" ")});R.isolate=new R({deserialize:O=>{if(O&&O!="rtl"&&O!="ltr"&&O!="auto")throw new RangeError("Invalid value for isolate: "+O);return O||"auto"}});R.contextHash=new R({perNode:!0});R.lookAhead=new R({perNode:!0});R.mounted=new R({perNode:!0});var Ht=class{constructor(e,t,i,r=!1){this.tree=e,this.overlay=t,this.parser=i,this.bracketed=r}static get(e){return e&&e.props&&e.props[R.mounted.id]}},tX=Object.create(null),ue=class O{constructor(e,t,i,r=0){this.name=e,this.props=t,this.id=i,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):tX,i=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new O(e.name||"",t,e.id,i);if(e.props){for(let n of e.props)if(Array.isArray(n)||(n=n(r)),n){if(n[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[n[0].id]=n[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(R.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let i in e)for(let r of i.split(" "))t[r]=e[i];return i=>{for(let r=i.prop(R.group),n=-1;n<(r?r.length:0);n++){let s=t[n<0?i.name:r[n]];if(s)return s}}}};ue.none=new ue("",Object.create(null),0,8);var Kt=class O{constructor(e){this.types=e;for(let t=0;t0;for(let o=this.cursor(s|C.IncludeAnonymous);;){let l=!1;if(o.from<=n&&o.to>=r&&(!a&&o.type.isAnonymous||t(o)!==!1)){if(o.firstChild())continue;l=!0}for(;l&&i&&(a||!o.type.isAnonymous)&&i(o),!o.nextSibling();){if(!o.parent())return;l=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:qo(ue.none,this.children,this.positions,0,this.children.length,0,this.length,(t,i,r)=>new O(this.type,t,i,r,this.propValues),e.makeTree||((t,i,r)=>new O(ue.none,t,i,r)))}static build(e){return iX(e)}};D.empty=new D(ue.none,[],[],0);var yo=class O{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new O(this.buffer,this.index)}},Jt=class O{constructor(e,t,i){this.buffer=e,this.length=t,this.set=i}get type(){return ue.none}toString(){let e=[];for(let t=0;t0));o=s[o+3]);return a}slice(e,t,i){let r=this.buffer,n=new Uint16Array(t-e),s=0;for(let a=e,o=0;a=e&&te;case 1:return t<=e&&i>e;case 2:return i>e;case 4:return!0}}function tr(O,e,t,i){for(var r;O.from==O.to||(t<1?O.from>=e:O.from>e)||(t>-1?O.to<=e:O.to0?o.length:-1;e!=c;e+=t){let h=o[e],f=l[e]+a.from;if(!(!(n&C.EnterBracketed&&h instanceof D&&((s=Ht.get(h))===null||s===void 0?void 0:s.overlay)===null&&(f>=i||f+h.length<=i))&&!Bd(r,i,f,f+h.length))){if(h instanceof Jt){if(n&C.ExcludeBuffers)continue;let u=h.findChild(0,h.buffer.length,t,i-f,r);if(u>-1)return new yO(new ko(a,h,e,f),null,u)}else if(n&C.IncludeAnonymous||!h.type.isAnonymous||Vo(h)){let u;if(!(n&C.IgnoreMounts)&&(u=Ht.get(h))&&!u.overlay)return new O(u.tree,f,e,a);let Q=new O(h,f,e,a);return n&C.IncludeAnonymous||!Q.type.isAnonymous?Q:Q.nextChild(t<0?h.children.length-1:0,t,i,r,n)}}}if(n&C.IncludeAnonymous||!a.type.isAnonymous||(a.index>=0?e=a.index+t:e=t<0?-1:a._parent._tree.children.length,a=a._parent,!a))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,i=0){let r;if(!(i&C.IgnoreOverlays)&&(r=Ht.get(this._tree))&&r.overlay){let n=e-this.from,s=i&C.EnterBracketed&&r.bracketed;for(let{from:a,to:o}of r.overlay)if((t>0||s?a<=n:a=n:o>n))return new O(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,i)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function Ed(O,e,t,i){let r=O.cursor(),n=[];if(!r.firstChild())return n;if(t!=null){for(let s=!1;!s;)if(s=r.type.is(t),!r.nextSibling())return n}for(;;){if(i!=null&&r.type.is(i))return n;if(r.type.is(e)&&n.push(r.node),!r.nextSibling())return i==null?n:[]}}function xo(O,e,t=e.length-1){for(let i=O;t>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(e[t]&&e[t]!=i.name)return!1;t--}}return!0}var ko=class{constructor(e,t,i,r){this.parent=e,this.buffer=t,this.index=i,this.start=r}},yO=class O extends Un{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,i){super(),this.context=e,this._parent=t,this.index=i,this.type=e.buffer.set.types[e.buffer.buffer[i]]}child(e,t,i){let{buffer:r}=this.context,n=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,i);return n<0?null:new O(this.context,this,n)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,i=0){if(i&C.ExcludeBuffers)return null;let{buffer:r}=this.context,n=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return n<0?null:new O(this.context,this,n)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new O(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new O(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:i}=this.context,r=this.index+4,n=i.buffer[this.index+3];if(n>r){let s=i.buffer[this.index+1];e.push(i.slice(r,n,s)),t.push(0)}return new D(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Nd(O){if(!O.length)return null;let e=0,t=O[0];for(let n=1;nt.from||s.to=e){let a=new je(s.tree,s.overlay[0].from+n.from,-1,n);(r||(r=[i])).push(tr(a,e,t,!1))}}return r?Nd(r):i}var li=class{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~C.EnterBracketed,e instanceof je)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let i=e._parent;i;i=i._parent)this.stack.unshift(i.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:i,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=i+r.buffer[e+1],this.to=i+r.buffer[e+2],!0}yield(e){return e?e instanceof je?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,i){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,i,this.mode));let{buffer:r}=this.buffer,n=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,i);return n<0?!1:(this.stack.push(this.index),this.yieldBuf(n))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,i=this.mode){return this.buffer?i&C.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,i))}parent(){if(!this.buffer)return this.yieldNode(this.mode&C.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&C.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,i=this.stack.length-1;if(e<0){let r=i<0?0:this.stack[i]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(i<0?t.buffer.length:t.buffer[this.stack[i]+3]))return this.yieldBuf(r)}return i<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,i,{buffer:r}=this;if(r){if(e>0){if(this.index-1)for(let n=t+e,s=e<0?-1:i._tree.children.length;n!=s;n+=e){let a=i._tree.children[n];if(this.mode&C.IncludeAnonymous||a instanceof Jt||!a.type.isAnonymous||Vo(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let s=e;s;s=s._parent)if(s.index==r){if(r==this.index)return s;t=s,i=n+1;break e}r=this.stack[--n]}for(let r=i;r=0;n--){if(n<0)return xo(this._tree,e,r);let s=i[t.buffer[this.stack[n]]];if(!s.isAnonymous){if(e[r]&&e[r]!=s.name)return!1;r--}}return!0}};function Vo(O){return O.children.some(e=>e instanceof Jt||!e.type.isAnonymous||Vo(e))}function iX(O){var e;let{buffer:t,nodeSet:i,maxBufferLength:r=1024,reused:n=[],minRepeatType:s=i.types.length}=O,a=Array.isArray(t)?new yo(t,t.length):t,o=i.types,l=0,c=0;function h(X,x,k,j,A,ie){let{id:G,start:q,end:K,size:B}=a,ae=c,we=l;if(B<0)if(a.next(),B==-1){let Zt=n[G];k.push(Zt),j.push(q-X);return}else if(B==-3){l=G;return}else if(B==-4){c=G;return}else throw new RangeError(`Unrecognized record size: ${B}`);let Ee=o[G],mt,Pe,Je=q-X;if(K-q<=r&&(Pe=p(a.pos-x,A))){let Zt=new Uint16Array(Pe.size-Pe.skip),et=a.pos-Pe.size,gt=Zt.length;for(;a.pos>et;)gt=m(Pe.start,Zt,gt);mt=new Jt(Zt,K-Pe.start,i),Je=Pe.start-X}else{let Zt=a.pos-B;a.next();let et=[],gt=[],dO=G>=s?G:-1,LO=0,Gr=K;for(;a.pos>Zt;)dO>=0&&a.id==dO&&a.size>=0?(a.end<=Gr-r&&(Q(et,gt,q,LO,a.end,Gr,dO,ae,we),LO=et.length,Gr=a.end),a.next()):ie>2500?f(q,Zt,et,gt):h(q,Zt,et,gt,dO,ie+1);if(dO>=0&&LO>0&&LO-1&&LO>0){let mh=u(Ee,we);mt=qo(Ee,et,gt,0,et.length,0,K-q,mh,mh)}else mt=$(Ee,et,gt,K-q,ae-K,we)}k.push(mt),j.push(Je)}function f(X,x,k,j){let A=[],ie=0,G=-1;for(;a.pos>x;){let{id:q,start:K,end:B,size:ae}=a;if(ae>4)a.next();else{if(G>-1&&K=0;B-=3)q[ae++]=A[B],q[ae++]=A[B+1]-K,q[ae++]=A[B+2]-K,q[ae++]=ae;k.push(new Jt(q,A[2]-K,i)),j.push(K-X)}}function u(X,x){return(k,j,A)=>{let ie=0,G=k.length-1,q,K;if(G>=0&&(q=k[G])instanceof D){if(!G&&q.type==X&&q.length==A)return q;(K=q.prop(R.lookAhead))&&(ie=j[G]+q.length+K)}return $(X,k,j,A,ie,x)}}function Q(X,x,k,j,A,ie,G,q,K){let B=[],ae=[];for(;X.length>j;)B.push(X.pop()),ae.push(x.pop()+k-A);X.push($(i.types[G],B,ae,ie-A,q-ie,K)),x.push(A-k)}function $(X,x,k,j,A,ie,G){if(ie){let q=[R.contextHash,ie];G=G?[q].concat(G):[q]}if(A>25){let q=[R.lookAhead,A];G=G?[q].concat(G):[q]}return new D(X,x,k,j,G)}function p(X,x){let k=a.fork(),j=0,A=0,ie=0,G=k.end-r,q={size:0,start:0,skip:0};e:for(let K=k.pos-X;k.pos>K;){let B=k.size;if(k.id==x&&B>=0){q.size=j,q.start=A,q.skip=ie,ie+=4,j+=4,k.next();continue}let ae=k.pos-B;if(B<0||ae=s?4:0,Ee=k.start;for(k.next();k.pos>ae;){if(k.size<0)if(k.size==-3||k.size==-4)we+=4;else break e;else k.id>=s&&(we+=4);k.next()}A=Ee,j+=B,ie+=we}return(x<0||j==X)&&(q.size=j,q.start=A,q.skip=ie),q.size>4?q:void 0}function m(X,x,k){let{id:j,start:A,end:ie,size:G}=a;if(a.next(),G>=0&&j4){let K=a.pos-(G-4);for(;a.pos>K;)k=m(X,x,k)}x[--k]=q,x[--k]=ie-X,x[--k]=A-X,x[--k]=j}else G==-3?l=j:G==-4&&(c=j);return k}let g=[],P=[];for(;a.pos>0;)h(O.start||0,O.bufferStart||0,g,P,-1,0);let y=(e=O.length)!==null&&e!==void 0?e:g.length?P[0]+g[0].length:0;return new D(o[O.topID],g.reverse(),P.reverse(),y)}var Ad=new WeakMap;function zn(O,e){if(!O.isAnonymous||e instanceof Jt||e.type!=O)return 1;let t=Ad.get(e);if(t==null){t=1;for(let i of e.children){if(i.type!=O||!(i instanceof D)){t=1;break}t+=zn(O,i)}Ad.set(e,t)}return t}function qo(O,e,t,i,r,n,s,a,o){let l=0;for(let Q=i;Q=c)break;x+=k}if(P==y+1){if(x>c){let k=Q[y];u(k.children,k.positions,0,k.children.length,$[y]+g);continue}h.push(Q[y])}else{let k=$[P-1]+Q[P-1].length-X;h.push(qo(O,Q,$,y,P,X,k,null,o))}f.push(X+g-n)}}return u(e,t,i,r,0),(a||o)(h,f,s)}var Tt=class{constructor(){this.map=new WeakMap}setBuffer(e,t,i){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,i)}getBuffer(e,t){let i=this.map.get(e);return i&&i.get(t)}set(e,t){e instanceof yO?this.setBuffer(e.context.buffer,e.index,t):e instanceof je&&this.map.set(e.tree,t)}get(e){return e instanceof yO?this.getBuffer(e.context.buffer,e.index):e instanceof je?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}},Vt=class O{constructor(e,t,i,r,n=!1,s=!1){this.from=e,this.to=t,this.tree=i,this.offset=r,this.open=(n?1:0)|(s?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],i=!1){let r=[new O(0,e.length,e,0,!1,i)];for(let n of t)n.to>e.length&&r.push(n);return r}static applyChanges(e,t,i=128){if(!t.length)return e;let r=[],n=1,s=e.length?e[0]:null;for(let a=0,o=0,l=0;;a++){let c=a=i)for(;s&&s.from=f.from||h<=f.to||l){let u=Math.max(f.from,o)-l,Q=Math.min(f.to,h)-l;f=u>=Q?null:new O(u,Q,f.tree,f.offset+l,a>0,!!c)}if(f&&r.push(f),s.to>h)break;s=nnew We(r.from,r.to)):[new We(0,0)]:[new We(0,e.length)],this.createParse(e,t||[],i)}parse(e,t,i){let r=this.startParse(e,t,i);for(;;){let n=r.advance();if(n)return n}}},Zo=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function xO(O){return(e,t,i,r)=>new _o(e,O,t,i,r)}var Wn=class{constructor(e,t,i,r,n,s){this.parser=e,this.parse=t,this.overlay=i,this.bracketed=r,this.target=n,this.from=s}};function Ld(O){if(!O.length||O.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(O))}var vo=class{constructor(e,t,i,r,n,s,a,o){this.parser=e,this.predicate=t,this.mounts=i,this.index=r,this.start=n,this.bracketed=s,this.target=a,this.prev=o,this.depth=0,this.ranges=[]}},Yo=new R({perNode:!0}),_o=class{constructor(e,t,i,r,n){this.nest=t,this.input=i,this.fragments=r,this.ranges=n,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let i=this.baseParse.advance();if(!i)return null;if(this.baseParse=null,this.baseTree=i,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let i=this.baseTree;return this.stoppedAt!=null&&(i=new D(i.type,i.children,i.positions,i.length,i.propValues.concat([[Yo,this.stoppedAt]]))),i}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let i=Object.assign(Object.create(null),e.target.props);i[R.mounted.id]=new Ht(t,e.overlay,e.parser,e.bracketed),e.target.props=i}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)a=!1;else if(e.hasNode(r)){if(t){let l=t.mounts.find(c=>c.frag.from<=r.from&&c.frag.to>=r.to&&c.mount.overlay);if(l)for(let c of l.mount.overlay){let h=c.from+l.pos,f=c.to+l.pos;h>=r.from&&f<=r.to&&!t.ranges.some(u=>u.fromh)&&t.ranges.push({from:h,to:f})}}a=!1}else if(i&&(s=rX(i.ranges,r.from,r.to)))a=s!=2;else if(!r.type.isAnonymous&&(n=this.nest(r,this.input))&&(r.fromnew We(h.from-r.from,h.to-r.from)):null,!!n.bracketed,r.tree,c.length?c[0].from:r.from)),n.overlay?c.length&&(i={ranges:c,depth:0,prev:i}):a=!1}}else if(t&&(o=t.predicate(r))&&(o===!0&&(o=new We(r.from,r.to)),o.from=0&&t.ranges[l].to==o.from?t.ranges[l]={from:t.ranges[l].from,to:o.to}:t.ranges.push(o)}if(a&&r.firstChild())t&&t.depth++,i&&i.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let l=Dd(this.ranges,t.ranges);l.length&&(Ld(l),this.inner.splice(t.index,0,new Wn(t.parser,t.parser.startParse(this.input,Id(t.mounts,l),l),t.ranges.map(c=>new We(c.from-t.start,c.to-t.start)),t.bracketed,t.target,l[0].from))),t=t.prev}i&&!--i.depth&&(i=i.prev)}}}};function rX(O,e,t){for(let i of O){if(i.from>=t)break;if(i.to>e)return i.from<=e&&i.to>=t?2:1}return 0}function Md(O,e,t,i,r,n){if(e=e&&t.enter(i,1,C.IgnoreOverlays|C.ExcludeBuffers)||t.next(!1)||(this.done=!0)}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof D)t=t.children[0];else break}return!1}},Ro=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let i=this.curFrag=e[0];this.curTo=(t=i.tree.prop(Yo))!==null&&t!==void 0?t:i.to,this.inner=new jn(i.tree,-i.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(Yo))!==null&&e!==void 0?e:t.to,this.inner=new jn(t.tree,-t.offset)}}findMounts(e,t){var i;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let n=this.inner.cursor.node;n;n=n.parent){let s=(i=n.tree)===null||i===void 0?void 0:i.prop(R.mounted);if(s&&s.parser==t)for(let a=this.fragI;a=n.to)break;o.tree==this.curFrag.tree&&r.push({frag:o,pos:n.from-o.offset,mount:s})}}}return r}};function Dd(O,e){let t=null,i=e;for(let r=1,n=0;r=a)break;o.to<=s||(t||(i=t=e.slice()),o.froma&&t.splice(n+1,0,new We(a,o.to))):o.to>a?t[n--]=new We(a,o.to):t.splice(n--,1))}}return i}function sX(O,e,t,i){let r=0,n=0,s=!1,a=!1,o=-1e9,l=[];for(;;){let c=r==O.length?1e9:s?O[r].to:O[r].from,h=n==e.length?1e9:a?e[n].to:e[n].from;if(s!=a){let f=Math.max(o,t),u=Math.min(c,h,i);fnew We(f.from+i,f.to+i)),h=sX(e,c,o,l);for(let f=0,u=o;;f++){let Q=f==h.length,$=Q?l:h[f].from;if($>u&&t.push(new Vt(u,$,r.tree,-s,n.from>=u||n.openStart,n.to<=$||n.openEnd)),Q)break;u=h[f].to}}else t.push(new Vt(o,l,r.tree,-s,n.from>=s||n.openStart,n.to<=a||n.openEnd))}return t}var aX=0,Be=class O{constructor(e,t,i,r){this.name=e,this.set=t,this.base=i,this.modified=r,this.id=aX++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let i=typeof e=="string"?e:"?";if(e instanceof O&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let r=new O(i,[],null,[]);if(r.set.push(r),t)for(let n of t.set)r.set.push(n);return r}static defineModifier(e){let t=new An(e);return i=>i.modified.indexOf(t)>-1?i:An.get(i.base||i,i.modified.concat(t).sort((r,n)=>r.id-n.id))}},oX=0,An=class O{constructor(e){this.name=e,this.instances=[],this.id=oX++}static get(e,t){if(!t.length)return e;let i=t[0].instances.find(a=>a.base==e&&lX(t,a.modified));if(i)return i;let r=[],n=new Be(e.name,r,e,t);for(let a of t)a.instances.push(n);let s=cX(t);for(let a of e.set)if(!a.modified.length)for(let o of s)r.push(O.get(a,o));return n}};function lX(O,e){return O.length==e.length&&O.every((t,i)=>t==e[i])}function cX(O){let e=[[]];for(let t=0;ti.length-t.length)}function F(O){let e=Object.create(null);for(let t in O){let i=O[t];Array.isArray(i)||(i=[i]);for(let r of t.split(" "))if(r){let n=[],s=2,a=r;for(let h=0;;){if(a=="..."&&h>0&&h+3==r.length){s=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!f)throw new RangeError("Invalid path: "+r);if(n.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),h+=f[0].length,h==r.length)break;let u=r[h++];if(h==r.length&&u=="!"){s=0;break}if(u!="/")throw new RangeError("Invalid path: "+r);a=r.slice(h)}let o=n.length-1,l=n[o];if(!l)throw new RangeError("Invalid path: "+r);let c=new wO(i,s,o>0?n.slice(0,o):null);e[l]=c.sort(e[l])}}return Kd.add(e)}var Kd=new R({combine(O,e){let t,i,r;for(;O||e;){if(!O||e&&O.depth>=e.depth?(r=e,e=e.next):(r=O,O=O.next),t&&t.mode==r.mode&&!r.context&&!t.context)continue;let n=new wO(r.tags,r.mode,r.context);t?t.next=n:i=n,t=n}return i}}),wO=class{constructor(e,t,i,r){this.tags=e,this.mode=t,this.context=i,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let s=r;for(let a of n)for(let o of a.set){let l=t[o.id];if(l){s=s?s+" "+l:l;break}}return s},scope:i}}function hX(O,e){let t=null;for(let i of O){let r=i.style(e);r&&(t=t?t+" "+r:r)}return t}function Jd(O,e,t,i=0,r=O.length){let n=new Uo(i,Array.isArray(e)?e:[e],t);n.highlightRange(O.cursor(),i,r,"",n.highlighters),n.flush(r)}var Uo=class{constructor(e,t,i){this.at=e,this.highlighters=t,this.span=i,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,i,r,n){let{type:s,from:a,to:o}=e;if(a>=i||o<=t)return;s.isTop&&(n=this.highlighters.filter(u=>!u.scope||u.scope(s)));let l=r,c=fX(e)||wO.empty,h=hX(n,c.tags);if(h&&(l&&(l+=" "),l+=h,c.mode==1&&(r+=(r?" ":"")+h)),this.startSpan(Math.max(t,a),l),c.opaque)return;let f=e.tree&&e.tree.prop(R.mounted);if(f&&f.overlay){let u=e.node.enter(f.overlay[0].from+a,1),Q=this.highlighters.filter(p=>!p.scope||p.scope(f.tree.type)),$=e.firstChild();for(let p=0,m=a;;p++){let g=p=P||!e.nextSibling())););if(!g||P>i)break;m=g.to+a,m>t&&(this.highlightRange(u.cursor(),Math.max(t,g.from+a),Math.min(i,m),"",Q),this.startSpan(Math.min(i,m),l))}$&&e.parent()}else if(e.firstChild()){f&&(r="");do if(!(e.to<=t)){if(e.from>=i)break;this.highlightRange(e,t,i,r,n),this.startSpan(Math.min(i,e.to),l)}while(e.nextSibling());e.parent()}}};function fX(O){let e=O.type.prop(Kd);for(;e&&e.context&&!O.matchContext(e.context);)e=e.next;return e||null}var w=Be.define,Cn=w(),tO=w(),Fd=w(tO),Hd=w(tO),OO=w(),Gn=w(OO),zo=w(OO),xt=w(),kO=w(xt),bt=w(),yt=w(),Wo=w(),Or=w(Wo),En=w(),d={comment:Cn,lineComment:w(Cn),blockComment:w(Cn),docComment:w(Cn),name:tO,variableName:w(tO),typeName:Fd,tagName:w(Fd),propertyName:Hd,attributeName:w(Hd),className:w(tO),labelName:w(tO),namespace:w(tO),macroName:w(tO),literal:OO,string:Gn,docString:w(Gn),character:w(Gn),attributeValue:w(Gn),number:zo,integer:w(zo),float:w(zo),bool:w(OO),regexp:w(OO),escape:w(OO),color:w(OO),url:w(OO),keyword:bt,self:w(bt),null:w(bt),atom:w(bt),unit:w(bt),modifier:w(bt),operatorKeyword:w(bt),controlKeyword:w(bt),definitionKeyword:w(bt),moduleKeyword:w(bt),operator:yt,derefOperator:w(yt),arithmeticOperator:w(yt),logicOperator:w(yt),bitwiseOperator:w(yt),compareOperator:w(yt),updateOperator:w(yt),definitionOperator:w(yt),typeOperator:w(yt),controlOperator:w(yt),punctuation:Wo,separator:w(Wo),bracket:Or,angleBracket:w(Or),squareBracket:w(Or),paren:w(Or),brace:w(Or),content:xt,heading:kO,heading1:w(kO),heading2:w(kO),heading3:w(kO),heading4:w(kO),heading5:w(kO),heading6:w(kO),contentSeparator:w(xt),list:w(xt),quote:w(xt),emphasis:w(xt),strong:w(xt),link:w(xt),monospace:w(xt),strikethrough:w(xt),inserted:w(),deleted:w(),changed:w(),invalid:w(),meta:En,documentMeta:w(En),annotation:w(En),processingInstruction:w(En),definition:Be.defineModifier("definition"),constant:Be.defineModifier("constant"),function:Be.defineModifier("function"),standard:Be.defineModifier("standard"),local:Be.defineModifier("local"),special:Be.defineModifier("special")};for(let O in d){let e=d[O];e instanceof Be&&(e.name=O)}var a_=jo([{tag:d.link,class:"tok-link"},{tag:d.heading,class:"tok-heading"},{tag:d.emphasis,class:"tok-emphasis"},{tag:d.strong,class:"tok-strong"},{tag:d.keyword,class:"tok-keyword"},{tag:d.atom,class:"tok-atom"},{tag:d.bool,class:"tok-bool"},{tag:d.url,class:"tok-url"},{tag:d.labelName,class:"tok-labelName"},{tag:d.inserted,class:"tok-inserted"},{tag:d.deleted,class:"tok-deleted"},{tag:d.literal,class:"tok-literal"},{tag:d.string,class:"tok-string"},{tag:d.number,class:"tok-number"},{tag:[d.regexp,d.escape,d.special(d.string)],class:"tok-string2"},{tag:d.variableName,class:"tok-variableName"},{tag:d.local(d.variableName),class:"tok-variableName tok-local"},{tag:d.definition(d.variableName),class:"tok-variableName tok-definition"},{tag:d.special(d.variableName),class:"tok-variableName2"},{tag:d.definition(d.propertyName),class:"tok-propertyName tok-definition"},{tag:d.typeName,class:"tok-typeName"},{tag:d.namespace,class:"tok-namespace"},{tag:d.className,class:"tok-className"},{tag:d.macroName,class:"tok-macroName"},{tag:d.propertyName,class:"tok-propertyName"},{tag:d.operator,class:"tok-operator"},{tag:d.comment,class:"tok-comment"},{tag:d.meta,class:"tok-meta"},{tag:d.invalid,class:"tok-invalid"},{tag:d.punctuation,class:"tok-punctuation"}]);var Co,iO=new R;function or(O){return Z.define({combine:O?e=>e.concat(O):void 0})}var Dn=new R,Re=class{constructor(e,t,i=[],r=""){this.data=e,this.name=r,I.prototype.hasOwnProperty("tree")||Object.defineProperty(I.prototype,"tree",{get(){return U(this)}}),this.parser=t,this.extension=[rO.of(this),I.languageData.of((n,s,a)=>{let o=eu(n,s,a),l=o.type.prop(iO);if(!l)return[];let c=n.facet(l),h=o.type.prop(Dn);if(h){let f=o.resolve(s-o.from,a);for(let u of h)if(u.test(f,n)){let Q=n.facet(u.facet);return u.type=="replace"?Q:Q.concat(c)}}return c})].concat(i)}isActiveAt(e,t,i=-1){return eu(e,t,i).type.prop(iO)==this.data}findRegions(e){let t=e.facet(rO);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let i=[],r=(n,s)=>{if(n.prop(iO)==this.data){i.push({from:s,to:s+n.length});return}let a=n.prop(R.mounted);if(a){if(a.tree.prop(iO)==this.data){if(a.overlay)for(let o of a.overlay)i.push({from:o.from+s,to:o.to+s});else i.push({from:s,to:s+n.length});return}else if(a.overlay){let o=i.length;if(r(a.tree,a.overlay[0].from+s),i.length>o)return}}for(let o=0;oi.isTop?t:void 0)]}),e.name)}configure(e,t){return new O(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function U(O){let e=O.field(Re.state,!1);return e?e.tree:D.empty}var Lo=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let i=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-i,t-i)}},ir=null,nr=class O{constructor(e,t,i=[],r,n,s,a,o){this.parser=e,this.state=t,this.fragments=i,this.tree=r,this.treeLen=n,this.viewport=s,this.skipped=a,this.scheduleOn=o,this.parse=null,this.tempSkipped=[]}static create(e,t,i){return new O(e,t,[],D.empty,0,i,[],null)}startParse(){return this.parser.startParse(new Lo(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=D.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var i;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Vt.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=ir;ir=this;try{return e()}finally{ir=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=tu(e,t.from,t.to);return e}changes(e,t){let{fragments:i,tree:r,treeLen:n,viewport:s,skipped:a}=this;if(this.takeTree(),!e.empty){let o=[];if(e.iterChangedRanges((l,c,h,f)=>o.push({fromA:l,toA:c,fromB:h,toB:f})),i=Vt.applyChanges(i,o),r=D.empty,n=0,s={from:e.mapPos(s.from,-1),to:e.mapPos(s.to,1)},this.skipped.length){a=[];for(let l of this.skipped){let c=e.mapPos(l.from,1),h=e.mapPos(l.to,-1);ce.from&&(this.fragments=tu(this.fragments,r,n),this.skipped.splice(i--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends eO{createParse(t,i,r){let n=r[0].from,s=r[r.length-1].to;return{parsedPos:n,advance(){let o=ir;if(o){for(let l of r)o.tempSkipped.push(l);e&&(o.scheduleOn=o.scheduleOn?Promise.all([o.scheduleOn,e]):e)}return this.parsedPos=s,new D(ue.none,[],[],s-n)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return ir}};function tu(O,e,t){return Vt.applyChanges(O,[{fromA:e,toA:t,fromB:e,toB:t}])}var sr=class O{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),i=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,i)||t.takeTree(),new O(t)}static init(e){let t=Math.min(3e3,e.doc.length),i=nr.create(e.facet(rO).parser,e,{from:0,to:t});return i.work(20,t)||i.takeTree(),new O(i)}};Re.state=ce.define({create:sr.init,update(O,e){for(let t of e.effects)if(t.is(Re.setState))return t.value;return e.startState.facet(rO)!=e.state.facet(rO)?sr.init(e.state):O.apply(e)}});var au=O=>{let e=setTimeout(()=>O(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(au=O=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(O,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var Go=typeof navigator<"u"&&(!((Co=navigator.scheduling)===null||Co===void 0)&&Co.isInputPending)?()=>navigator.scheduling.isInputPending():null,dX=he.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(Re.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(Re.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=au(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndr+1e3,o=n.context.work(()=>Go&&Go()||Date.now()>s,r+(a?0:1e5));this.chunkBudget-=Date.now()-t,(o||this.chunkBudget<=0)&&(n.context.takeTree(),this.view.dispatch({effects:Re.setState.of(new sr(n.context))})),this.chunkBudget>0&&!(o&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(n.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>Xe(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),rO=Z.define({combine(O){return O.length?O[0]:null},enables:O=>[Re.state,dX,T.contentAttributes.compute([O],e=>{let t=e.facet(O);return t&&t.name?{"data-language":t.name}:{}})]}),J=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}},ar=class O{constructor(e,t,i,r,n,s=void 0){this.name=e,this.alias=t,this.extensions=i,this.filename=r,this.loadFunc=n,this.support=s,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:i}=e;if(!t){if(!i)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(i)}return new O(e.name,(e.alias||[]).concat(e.name).map(r=>r.toLowerCase()),e.extensions||[],e.filename,t,i)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let i=/\.([^.]+)$/.exec(t);if(i){for(let r of e)if(r.extensions.indexOf(i[1])>-1)return r}return null}static matchLanguageName(e,t,i=!0){t=t.toLowerCase();for(let r of e)if(r.alias.some(n=>n==t))return r;if(i)for(let r of e)for(let n of r.alias){let s=t.indexOf(n);if(s>-1&&(n.length>2||!/\w/.test(t[s-1])&&!/\w/.test(t[s+n.length])))return r}return null}},uX=Z.define(),nO=Z.define({combine:O=>{if(!O.length)return" ";let e=O[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(O[0]));return e}});function lr(O){let e=O.facet(nO);return e.charCodeAt(0)==9?O.tabSize*e.length:e.length}function hi(O,e){let t="",i=O.tabSize,r=O.facet(nO)[0];if(r==" "){for(;e>=i;)t+=" ",e-=i;r=" "}for(let n=0;n=e?QX(O,t,e):null}var ZO=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=lr(e)}lineAt(e,t=1){let i=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:n}=this.options;return r!=null&&r>=i.from&&r<=i.to?n&&r==e?{text:"",from:e}:(t<0?r-1&&(n+=s-this.countColumn(i,i.search(/\S|$/))),n}countColumn(e,t=e.length){return ve(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:i,from:r}=this.lineAt(e,t),n=this.options.overrideIndentation;if(n){let s=n(r);if(s>-1)return s}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},se=new R;function QX(O,e,t){let i=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=i.node){let n=[];for(let s=r;s&&!(s.fromi.node.to||s.from==i.node.from&&s.type==i.node.type);s=s.parent)n.push(s);for(let s=n.length-1;s>=0;s--)i={node:n[s],next:i}}return ou(i,O,t)}function ou(O,e,t){for(let i=O;i;i=i.next){let r=pX(i.node);if(r)return r(Mo.create(e,t,i))}return 0}function $X(O){return O.pos==O.options.simulateBreak&&O.options.simulateDoubleBreak}function pX(O){let e=O.type.prop(se);if(e)return e;let t=O.firstChild,i;if(t&&(i=t.type.prop(R.closedBy))){let r=O.lastChild,n=r&&i.indexOf(r.name)>-1;return s=>lu(s,!0,1,void 0,n&&!$X(s)?r.from:void 0)}return O.parent==null?mX:null}function mX(){return 0}var Mo=class O extends ZO{constructor(e,t,i){super(e.state,e.options),this.base=e,this.pos=t,this.context=i}get node(){return this.context.node}static create(e,t,i){return new O(e,t,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let i=e.resolve(t.from);for(;i.parent&&i.parent.from==i.from;)i=i.parent;if(gX(i,e))break;t=this.state.doc.lineAt(i.from)}return this.lineIndent(t.from)}continue(){return ou(this.context.next,this.base,this.pos)}};function gX(O,e){for(let t=e;t;t=t.parent)if(O==t)return!0;return!1}function PX(O){let e=O.node,t=e.childAfter(e.from),i=e.lastChild;if(!t)return null;let r=O.options.simulateBreak,n=O.state.doc.lineAt(t.from),s=r==null||r<=n.from?n.to:Math.min(n.to,r);for(let a=t.to;;){let o=e.childAfter(a);if(!o||o==i)return null;if(!o.type.isSkipped){if(o.from>=s)return null;let l=/^ */.exec(n.text.slice(t.to-n.from))[0].length;return{from:t.from,to:t.to+l}}a=o.to}}function be({closing:O,align:e=!0,units:t=1}){return i=>lu(i,e,t,O)}function lu(O,e,t,i,r){let n=O.textAfter,s=n.match(/^\s*/)[0].length,a=i&&n.slice(s,s+i.length)==i||r==O.pos+s,o=e?PX(O):null;return o?a?O.column(o.from):O.column(o.to):O.baseIndent+(a?0:O.unit*t)}var sO=O=>O.baseIndent;function le({except:O,units:e=1}={}){return t=>{let i=O&&O.test(t.textAfter);return t.baseIndent+(i?0:e*t.unit)}}var SX=200;function cu(){return I.transactionFilter.of(O=>{if(!O.docChanged||!O.isUserEvent("input.type")&&!O.isUserEvent("input.complete"))return O;let e=O.startState.languageDataAt("indentOnInput",O.startState.selection.main.head);if(!e.length)return O;let t=O.newDoc,{head:i}=O.newSelection.main,r=t.lineAt(i);if(i>r.from+SX)return O;let n=t.sliceString(r.from,i);if(!e.some(l=>l.test(n)))return O;let{state:s}=O,a=-1,o=[];for(let{head:l}of s.selection.ranges){let c=s.doc.lineAt(l);if(c.from==a)continue;a=c.from;let h=In(s,c.from);if(h==null)continue;let f=/^\s*/.exec(c.text)[0],u=hi(s,h);f!=u&&o.push({from:c.from,to:c.from+f.length,insert:u})}return o.length?[O,{changes:o,sequential:!0}]:O})}var Ho=Z.define(),te=new R;function me(O){let e=O.firstChild,t=O.lastChild;return e&&e.tot)continue;if(n&&a.from=e&&l.to>t&&(n=l)}}return n}function TX(O){let e=O.lastChild;return e&&e.to==O.to&&e.type.isError}function Ln(O,e,t){for(let i of O.facet(Ho)){let r=i(O,e,t);if(r)return r}return XX(O,e,t)}function hu(O,e){let t=e.mapPos(O.from,1),i=e.mapPos(O.to,-1);return t>=i?void 0:{from:t,to:i}}var Bn=V.define({map:hu}),cr=V.define({map:hu});function fu(O){let e=[];for(let{head:t}of O.state.selection.ranges)e.some(i=>i.from<=t&&i.to>=t)||e.push(O.lineBlockAt(t));return e}var vO=ce.define({create(){return Y.none},update(O,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((t,i)=>O=Ou(O,t,i)),O=O.map(e.changes);for(let t of e.effects)if(t.is(Bn)&&!bX(O,t.value.from,t.value.to)){let{preparePlaceholder:i}=e.state.facet(Ko),r=i?Y.replace({widget:new Do(i(e.state,t.value))}):iu;O=O.update({add:[r.range(t.value.from,t.value.to)]})}else t.is(cr)&&(O=O.update({filter:(i,r)=>t.value.from!=i||t.value.to!=r,filterFrom:t.value.from,filterTo:t.value.to}));return e.selection&&(O=Ou(O,e.selection.main.head)),O},provide:O=>T.decorations.from(O),toJSON(O,e){let t=[];return O.between(0,e.doc.length,(i,r)=>{t.push(i,r)}),t},fromJSON(O){if(!Array.isArray(O)||O.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let t=0;t{re&&(i=!0)}),i?O.update({filterFrom:e,filterTo:t,filter:(r,n)=>r>=t||n<=e}):O}function Mn(O,e,t){var i;let r=null;return(i=O.field(vO,!1))===null||i===void 0||i.between(e,t,(n,s)=>{(!r||r.from>n)&&(r={from:n,to:s})}),r}function bX(O,e,t){let i=!1;return O.between(e,e,(r,n)=>{r==e&&n==t&&(i=!0)}),i}function du(O,e){return O.field(vO,!1)?e:e.concat(V.appendConfig.of($u()))}var yX=O=>{for(let e of fu(O)){let t=Ln(O.state,e.from,e.to);if(t)return O.dispatch({effects:du(O.state,[Bn.of(t),uu(O,t)])}),!0}return!1},xX=O=>{if(!O.state.field(vO,!1))return!1;let e=[];for(let t of fu(O)){let i=Mn(O.state,t.from,t.to);i&&e.push(cr.of(i),uu(O,i,!1))}return e.length&&O.dispatch({effects:e}),e.length>0};function uu(O,e,t=!0){let i=O.state.doc.lineAt(e.from).number,r=O.state.doc.lineAt(e.to).number;return T.announce.of(`${O.state.phrase(t?"Folded lines":"Unfolded lines")} ${i} ${O.state.phrase("to")} ${r}.`)}var kX=O=>{let{state:e}=O,t=[];for(let i=0;i{let e=O.state.field(vO,!1);if(!e||!e.size)return!1;let t=[];return e.between(0,O.state.doc.length,(i,r)=>{t.push(cr.of({from:i,to:r}))}),O.dispatch({effects:t}),!0};var Qu=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:yX},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:xX},{key:"Ctrl-Alt-[",run:kX},{key:"Ctrl-Alt-]",run:wX}],ZX={placeholderDOM:null,preparePlaceholder:null,placeholderText:"\u2026"},Ko=Z.define({combine(O){return xe(O,ZX)}});function $u(O){let e=[vO,YX];return O&&e.push(Ko.of(O)),e}function pu(O,e){let{state:t}=O,i=t.facet(Ko),r=s=>{let a=O.lineBlockAt(O.posAtDOM(s.target)),o=Mn(O.state,a.from,a.to);o&&O.dispatch({effects:cr.of(o)}),s.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(O,r,e);let n=document.createElement("span");return n.textContent=i.placeholderText,n.setAttribute("aria-label",t.phrase("folded code")),n.title=t.phrase("unfold"),n.className="cm-foldPlaceholder",n.onclick=r,n}var iu=Y.replace({widget:new class extends _e{toDOM(O){return pu(O,null)}}}),Do=class extends _e{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return pu(e,this.value)}},vX={openText:"\u2304",closedText:"\u203A",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1},rr=class extends Ie{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}};function mu(O={}){let e={...vX,...O},t=new rr(e,!0),i=new rr(e,!1),r=he.fromClass(class{constructor(s){this.from=s.viewport.from,this.markers=this.buildMarkers(s)}update(s){(s.docChanged||s.viewportChanged||s.startState.facet(rO)!=s.state.facet(rO)||s.startState.field(vO,!1)!=s.state.field(vO,!1)||U(s.startState)!=U(s.state)||e.foldingChanged(s))&&(this.markers=this.buildMarkers(s.view))}buildMarkers(s){let a=new Le;for(let o of s.viewportLineBlocks){let l=Mn(s.state,o.from,o.to)?i:Ln(s.state,o.from,o.to)?t:null;l&&a.add(o.from,o.from,l)}return a.finish()}}),{domEventHandlers:n}=e;return[r,bo({class:"cm-foldGutter",markers(s){var a;return((a=s.plugin(r))===null||a===void 0?void 0:a.markers)||M.empty},initialSpacer(){return new rr(e,!1)},domEventHandlers:{...n,click:(s,a,o)=>{if(n.click&&n.click(s,a,o))return!0;let l=Mn(s.state,a.from,a.to);if(l)return s.dispatch({effects:cr.of(l)}),!0;let c=Ln(s.state,a.from,a.to);return c?(s.dispatch({effects:Bn.of(c)}),!0):!1}}}),$u()]}var YX=T.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}}),ci=class O{constructor(e,t){this.specs=e;let i;function r(a){let o=Ot.newName();return(i||(i=Object.create(null)))["."+o]=a,o}let n=typeof t.all=="string"?t.all:t.all?r(t.all):void 0,s=t.scope;this.scope=s instanceof Re?a=>a.prop(iO)==s.data:s?a=>a==s:void 0,this.style=jo(e.map(a=>({tag:a.tag,class:a.class||r(Object.assign({},a,{tag:null}))})),{all:n}).style,this.module=i?new Ot(i):null,this.themeType=t.themeType}static define(e,t){return new O(e,t||{})}},Io=Z.define(),gu=Z.define({combine(O){return O.length?[O[0]]:null}});function Eo(O){let e=O.facet(Io);return e.length?e:O.facet(gu)}function Nn(O,e){let t=[_X],i;return O instanceof ci&&(O.module&&t.push(T.styleModule.of(O.module)),i=O.themeType),e?.fallback?t.push(gu.of(O)):i?t.push(Io.computeN([T.darkTheme],r=>r.facet(T.darkTheme)==(i=="dark")?[O]:[])):t.push(Io.of(O)),t}var Bo=class{constructor(e){this.markCache=Object.create(null),this.tree=U(e.state),this.decorations=this.buildDeco(e,Eo(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=U(e.state),i=Eo(e.state),r=i!=Eo(e.startState),{viewport:n}=e.view,s=e.changes.mapPos(this.decoratedTo,1);t.length=n.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=s):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,i),this.decoratedTo=n.to)}buildDeco(e,t){if(!t||!this.tree.length)return Y.none;let i=new Le;for(let{from:r,to:n}of e.visibleRanges)Jd(this.tree,t,(s,a,o)=>{i.add(s,a,this.markCache[o]||(this.markCache[o]=Y.mark({class:o})))},r,n);return i.finish()}},_X=ze.high(he.fromClass(Bo,{decorations:O=>O.decorations})),Pu=ci.define([{tag:d.meta,color:"#404740"},{tag:d.link,textDecoration:"underline"},{tag:d.heading,textDecoration:"underline",fontWeight:"bold"},{tag:d.emphasis,fontStyle:"italic"},{tag:d.strong,fontWeight:"bold"},{tag:d.strikethrough,textDecoration:"line-through"},{tag:d.keyword,color:"#708"},{tag:[d.atom,d.bool,d.url,d.contentSeparator,d.labelName],color:"#219"},{tag:[d.literal,d.inserted],color:"#164"},{tag:[d.string,d.deleted],color:"#a11"},{tag:[d.regexp,d.escape,d.special(d.string)],color:"#e40"},{tag:d.definition(d.variableName),color:"#00f"},{tag:d.local(d.variableName),color:"#30a"},{tag:[d.typeName,d.namespace],color:"#085"},{tag:d.className,color:"#167"},{tag:[d.special(d.variableName),d.macroName],color:"#256"},{tag:d.definition(d.propertyName),color:"#00c"},{tag:d.comment,color:"#940"},{tag:d.invalid,color:"#f00"}]),RX=T.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),Su=1e4,Xu="()[]{}",Tu=Z.define({combine(O){return xe(O,{afterCursor:!0,brackets:Xu,maxScanDistance:Su,renderMatch:zX})}}),VX=Y.mark({class:"cm-matchingBracket"}),qX=Y.mark({class:"cm-nonmatchingBracket"});function zX(O){let e=[],t=O.matched?VX:qX;return e.push(t.range(O.start.from,O.start.to)),O.end&&e.push(t.range(O.end.from,O.end.to)),e}var UX=ce.define({create(){return Y.none},update(O,e){if(!e.docChanged&&!e.selection)return O;let t=[],i=e.state.facet(Tu);for(let r of e.state.selection.ranges){if(!r.empty)continue;let n=dt(e.state,r.head,-1,i)||r.head>0&&dt(e.state,r.head-1,1,i)||i.afterCursor&&(dt(e.state,r.head,1,i)||r.headT.decorations.from(O)}),WX=[UX,RX];function bu(O={}){return[Tu.of(O),WX]}var hr=new R;function No(O,e,t){let i=O.prop(e<0?R.openedBy:R.closedBy);if(i)return i;if(O.name.length==1){let r=t.indexOf(O.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function Fo(O){let e=O.type.prop(hr);return e?e(O.node):O}function dt(O,e,t,i={}){let r=i.maxScanDistance||Su,n=i.brackets||Xu,s=U(O),a=s.resolveInner(e,t);for(let o=a;o;o=o.parent){let l=No(o.type,t,n);if(l&&o.from0?e>=c.from&&ec.from&&e<=c.to))return jX(O,e,t,o,c,l,n)}}return CX(O,e,t,s,a.type,r,n)}function jX(O,e,t,i,r,n,s){let a=i.parent,o={from:r.from,to:r.to},l=0,c=a?.cursor();if(c&&(t<0?c.childBefore(i.from):c.childAfter(i.to)))do if(t<0?c.to<=i.from:c.from>=i.to){if(l==0&&n.indexOf(c.type.name)>-1&&c.from0)return null;let l={from:t<0?e-1:e,to:t>0?e+1:e},c=O.doc.iterRange(e,t>0?O.doc.length:0),h=0;for(let f=0;!c.next().done&&f<=n;){let u=c.value;t<0&&(f+=u.length);let Q=e+f*t;for(let $=t>0?0:u.length-1,p=t>0?u.length:-1;$!=p;$+=t){let m=s.indexOf(u[$]);if(!(m<0||i.resolveInner(Q+$,1).type!=r))if(m%2==0==t>0)h++;else{if(h==1)return{start:l,end:{from:Q+$,to:Q+$+1},matched:m>>1==o>>1};h--}}t>0&&(f+=u.length)}return c.done?{start:l,matched:!1}:null}var GX=Object.create(null),ru=[ue.none];var nu=[],su=Object.create(null),EX=Object.create(null);for(let[O,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])EX[O]=AX(GX,e);function Ao(O,e){nu.indexOf(O)>-1||(nu.push(O),console.warn(e))}function AX(O,e){let t=[];for(let a of e.split(" ")){let o=[];for(let l of a.split(".")){let c=O[l]||d[l];c?typeof c=="function"?o.length?o=o.map(c):Ao(l,`Modifier ${l} used at start of tag`):o.length?Ao(l,`Tag ${l} used as modifier`):o=Array.isArray(c)?c:[c]:Ao(l,`Unknown highlighting tag ${l}`)}for(let l of o)t.push(l)}if(!t.length)return 0;let i=e.replace(/ /g,"_"),r=i+" "+t.map(a=>a.id),n=su[r];if(n)return n.id;let s=su[r]=ue.define({id:ru.length,name:i,props:[F({[i]:t})]});return ru.push(s),s.id}var Q_={rtl:Y.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:H.RTL}),ltr:Y.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:H.LTR}),auto:Y.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var LX=O=>{let{state:e}=O,t=e.doc.lineAt(e.selection.main.from),i=nl(O.state,t.from);return i.line?MX(O):i.block?IX(O):!1};function rl(O,e){return({state:t,dispatch:i})=>{if(t.readOnly)return!1;let r=O(e,t);return r?(i(t.update(r)),!0):!1}}var MX=rl(FX,0);var DX=rl(Ru,0);var IX=rl((O,e)=>Ru(O,e,NX(e)),0);function nl(O,e){let t=O.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}var fr=50;function BX(O,{open:e,close:t},i,r){let n=O.sliceDoc(i-fr,i),s=O.sliceDoc(r,r+fr),a=/\s*$/.exec(n)[0].length,o=/^\s*/.exec(s)[0].length,l=n.length-a;if(n.slice(l-e.length,l)==e&&s.slice(o,o+t.length)==t)return{open:{pos:i-a,margin:a&&1},close:{pos:r+o,margin:o&&1}};let c,h;r-i<=2*fr?c=h=O.sliceDoc(i,r):(c=O.sliceDoc(i,i+fr),h=O.sliceDoc(r-fr,r));let f=/^\s*/.exec(c)[0].length,u=/\s*$/.exec(h)[0].length,Q=h.length-u-t.length;return c.slice(f,f+e.length)==e&&h.slice(Q,Q+t.length)==t?{open:{pos:i+f+e.length,margin:/\s/.test(c.charAt(f+e.length))?1:0},close:{pos:r-u-t.length,margin:/\s/.test(h.charAt(Q-1))?1:0}}:null}function NX(O){let e=[];for(let t of O.selection.ranges){let i=O.doc.lineAt(t.from),r=t.to<=i.to?i:O.doc.lineAt(t.to);r.from>i.from&&r.from==t.to&&(r=t.to==i.to+1?i:O.doc.lineAt(t.to-1));let n=e.length-1;n>=0&&e[n].to>i.from?e[n].to=r.to:e.push({from:i.from+/^\s*/.exec(i.text)[0].length,to:r.to})}return e}function Ru(O,e,t=e.selection.ranges){let i=t.map(n=>nl(e,n.from).block);if(!i.every(n=>n))return null;let r=t.map((n,s)=>BX(e,i[s],n.from,n.to));if(O!=2&&!r.every(n=>n))return{changes:e.changes(t.map((n,s)=>r[s]?[]:[{from:n.from,insert:i[s].open+" "},{from:n.to,insert:" "+i[s].close}]))};if(O!=1&&r.some(n=>n)){let n=[];for(let s=0,a;sr&&(n==s||s>h.from)){r=h.from;let f=/^\s*/.exec(h.text)[0].length,u=f==h.length,Q=h.text.slice(f,f+l.length)==l?f:-1;fn.comment<0&&(!n.empty||n.single))){let n=[];for(let{line:a,token:o,indent:l,empty:c,single:h}of i)(h||!c)&&n.push({from:a.from+l,insert:o+" "});let s=e.changes(n);return{changes:s,selection:e.selection.map(s,1)}}else if(O!=1&&i.some(n=>n.comment>=0)){let n=[];for(let{line:s,comment:a,token:o}of i)if(a>=0){let l=s.from+a,c=l+o.length;s.text[c-s.from]==" "&&c++,n.push({from:l,to:c})}return{changes:n}}return null}var el=qe.define(),HX=qe.define(),KX=Z.define(),Vu=Z.define({combine(O){return xe(O,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(i,r)=>e(i,r)||t(i,r)})}}),qu=ce.define({create(){return YO.empty},update(O,e){let t=e.state.facet(Vu),i=e.annotation(el);if(i){let o=ut.fromTransaction(e,i.selection),l=i.side,c=l==0?O.undone:O.done;return o?c=Hn(c,c.length,t.minDepth,o):c=ju(c,e.startState.selection),new YO(l==0?i.rest:c,l==0?c:i.rest)}let r=e.annotation(HX);if((r=="full"||r=="before")&&(O=O.isolate()),e.annotation(Qe.addToHistory)===!1)return e.changes.empty?O:O.addMapping(e.changes.desc);let n=ut.fromTransaction(e),s=e.annotation(Qe.time),a=e.annotation(Qe.userEvent);return n?O=O.addChanges(n,s,a,t,e):e.selection&&(O=O.addSelection(e.startState.selection,s,a,t.newGroupDelay)),(r=="full"||r=="after")&&(O=O.isolate()),O},toJSON(O){return{done:O.done.map(e=>e.toJSON()),undone:O.undone.map(e=>e.toJSON())}},fromJSON(O){return new YO(O.done.map(ut.fromJSON),O.undone.map(ut.fromJSON))}});function zu(O={}){return[qu,Vu.of(O),T.domEventHandlers({beforeinput(e,t){let i=e.inputType=="historyUndo"?Uu:e.inputType=="historyRedo"?tl:null;return i?(e.preventDefault(),i(t)):!1}})]}function Kn(O,e){return function({state:t,dispatch:i}){if(!e&&t.readOnly)return!1;let r=t.field(qu,!1);if(!r)return!1;let n=r.pop(O,t,e);return n?(i(n),!0):!1}}var Uu=Kn(0,!1),tl=Kn(1,!1),JX=Kn(0,!0),eT=Kn(1,!0);var ut=class O{constructor(e,t,i,r,n){this.changes=e,this.effects=t,this.mapped=i,this.startSelection=r,this.selectionsAfter=n}setSelAfter(e){return new O(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,i;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(i=this.startSelection)===null||i===void 0?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new O(e.changes&&Ze.fromJSON(e.changes),[],e.mapped&&vt.fromJSON(e.mapped),e.startSelection&&S.fromJSON(e.startSelection),e.selectionsAfter.map(S.fromJSON))}static fromTransaction(e,t){let i=st;for(let r of e.startState.facet(KX)){let n=r(e);n.length&&(i=i.concat(n))}return!i.length&&e.changes.empty?null:new O(e.changes.invert(e.startState.doc),i,void 0,t||e.startState.selection,st)}static selection(e){return new O(void 0,st,void 0,void 0,e)}};function Hn(O,e,t,i){let r=e+1>t+20?e-t-1:0,n=O.slice(r,e);return n.push(i),n}function tT(O,e){let t=[],i=!1;return O.iterChangedRanges((r,n)=>t.push(r,n)),e.iterChangedRanges((r,n,s,a)=>{for(let o=0;o=l&&s<=c&&(i=!0)}}),i}function OT(O,e){return O.ranges.length==e.ranges.length&&O.ranges.filter((t,i)=>t.empty!=e.ranges[i].empty).length===0}function Wu(O,e){return O.length?e.length?O.concat(e):O:e}var st=[],iT=200;function ju(O,e){if(O.length){let t=O[O.length-1],i=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-iT));return i.length&&i[i.length-1].eq(e)?O:(i.push(e),Hn(O,O.length-1,1e9,t.setSelAfter(i)))}else return[ut.selection([e])]}function rT(O){let e=O[O.length-1],t=O.slice();return t[O.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function Jo(O,e){if(!O.length)return O;let t=O.length,i=st;for(;t;){let r=nT(O[t-1],e,i);if(r.changes&&!r.changes.empty||r.effects.length){let n=O.slice(0,t);return n[t-1]=r,n}else e=r.mapped,t--,i=r.selectionsAfter}return i.length?[ut.selection(i)]:st}function nT(O,e,t){let i=Wu(O.selectionsAfter.length?O.selectionsAfter.map(a=>a.map(e)):st,t);if(!O.changes)return ut.selection(i);let r=O.changes.map(e),n=e.mapDesc(O.changes,!0),s=O.mapped?O.mapped.composeDesc(n):n;return new ut(r,V.mapEffects(O.effects,e),s,O.startSelection.map(n),i)}var sT=/^(input\.type|delete)($|\.)/,YO=class O{constructor(e,t,i=0,r=void 0){this.done=e,this.undone=t,this.prevTime=i,this.prevUserEvent=r}isolate(){return this.prevTime?new O(this.done,this.undone):this}addChanges(e,t,i,r,n){let s=this.done,a=s[s.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!i||sT.test(i))&&(!a.selectionsAfter.length&&t-this.prevTime0&&t-this.prevTimet.empty?O.moveByChar(t,e):Jn(t,e))}function ke(O){return O.textDirectionAt(O.state.selection.main.head)==H.LTR}var Eu=O=>Gu(O,!ke(O)),Au=O=>Gu(O,ke(O));function Lu(O,e){return $t(O,t=>t.empty?O.moveByGroup(t,e):Jn(t,e))}var aT=O=>Lu(O,!ke(O)),oT=O=>Lu(O,ke(O));var b_=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function lT(O,e,t){if(e.type.prop(t))return!0;let i=e.to-e.from;return i&&(i>2||/[^\s,.;:]/.test(O.sliceDoc(e.from,e.to)))||e.firstChild}function es(O,e,t){let i=U(O).resolveInner(e.head),r=t?R.closedBy:R.openedBy;for(let o=e.head;;){let l=t?i.childAfter(o):i.childBefore(o);if(!l)break;lT(O,l,r)?i=l:o=t?l.to:l.from}let n=i.type.prop(r),s,a;return n&&(s=t?dt(O,i.from,1):dt(O,i.to,-1))&&s.matched?a=t?s.end.to:s.end.from:a=t?i.to:i.from,S.cursor(a,t?-1:1)}var cT=O=>$t(O,e=>es(O.state,e,!ke(O))),hT=O=>$t(O,e=>es(O.state,e,ke(O)));function Mu(O,e){return $t(O,t=>{if(!t.empty)return Jn(t,e);let i=O.moveVertically(t,e);return i.head!=t.head?i:O.moveToLineBoundary(t,e)})}var Du=O=>Mu(O,!1),Iu=O=>Mu(O,!0);function Bu(O){let e=O.scrollDOM.clientHeights.empty?O.moveVertically(s,e,t.height):Jn(s,e));if(r.eq(i.selection))return!1;let n;if(t.selfScroll){let s=O.coordsAtPos(i.selection.main.head),a=O.scrollDOM.getBoundingClientRect(),o=a.top+t.marginTop,l=a.bottom-t.marginBottom;s&&s.top>o&&s.bottomNu(O,!1),Ol=O=>Nu(O,!0);function aO(O,e,t){let i=O.lineBlockAt(e.head),r=O.moveToLineBoundary(e,t);if(r.head==e.head&&r.head!=(t?i.to:i.from)&&(r=O.moveToLineBoundary(e,t,!1)),!t&&r.head==i.from&&i.length){let n=/^\s*/.exec(O.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;n&&e.head!=i.from+n&&(r=S.cursor(i.from+n))}return r}var fT=O=>$t(O,e=>aO(O,e,!0)),dT=O=>$t(O,e=>aO(O,e,!1)),uT=O=>$t(O,e=>aO(O,e,!ke(O))),QT=O=>$t(O,e=>aO(O,e,ke(O))),$T=O=>$t(O,e=>S.cursor(O.lineBlockAt(e.head).from,1)),pT=O=>$t(O,e=>S.cursor(O.lineBlockAt(e.head).to,-1));function mT(O,e,t){let i=!1,r=fi(O.selection,n=>{let s=dt(O,n.head,-1)||dt(O,n.head,1)||n.head>0&&dt(O,n.head-1,1)||n.headmT(O,e,!1);function at(O,e){let t=fi(O.state.selection,i=>{let r=e(i);return S.range(i.anchor,r.head,r.goalColumn,r.bidiLevel||void 0)});return t.eq(O.state.selection)?!1:(O.dispatch(Qt(O.state,t)),!0)}function Fu(O,e){return at(O,t=>O.moveByChar(t,e))}var Hu=O=>Fu(O,!ke(O)),Ku=O=>Fu(O,ke(O));function Ju(O,e){return at(O,t=>O.moveByGroup(t,e))}var PT=O=>Ju(O,!ke(O)),ST=O=>Ju(O,ke(O));var XT=O=>at(O,e=>es(O.state,e,!ke(O))),TT=O=>at(O,e=>es(O.state,e,ke(O)));function eQ(O,e){return at(O,t=>O.moveVertically(t,e))}var tQ=O=>eQ(O,!1),OQ=O=>eQ(O,!0);function iQ(O,e){return at(O,t=>O.moveVertically(t,e,Bu(O).height))}var xu=O=>iQ(O,!1),ku=O=>iQ(O,!0),bT=O=>at(O,e=>aO(O,e,!0)),yT=O=>at(O,e=>aO(O,e,!1)),xT=O=>at(O,e=>aO(O,e,!ke(O))),kT=O=>at(O,e=>aO(O,e,ke(O))),wT=O=>at(O,e=>S.cursor(O.lineBlockAt(e.head).from)),ZT=O=>at(O,e=>S.cursor(O.lineBlockAt(e.head).to)),wu=({state:O,dispatch:e})=>(e(Qt(O,{anchor:0})),!0),Zu=({state:O,dispatch:e})=>(e(Qt(O,{anchor:O.doc.length})),!0),vu=({state:O,dispatch:e})=>(e(Qt(O,{anchor:O.selection.main.anchor,head:0})),!0),Yu=({state:O,dispatch:e})=>(e(Qt(O,{anchor:O.selection.main.anchor,head:O.doc.length})),!0),vT=({state:O,dispatch:e})=>(e(O.update({selection:{anchor:0,head:O.doc.length},userEvent:"select"})),!0),YT=({state:O,dispatch:e})=>{let t=ts(O).map(({from:i,to:r})=>S.range(i,Math.min(r+1,O.doc.length)));return e(O.update({selection:S.create(t),userEvent:"select"})),!0},_T=({state:O,dispatch:e})=>{let t=fi(O.selection,i=>{let r=U(O),n=r.resolveStack(i.from,1);if(i.empty){let s=r.resolveStack(i.from,-1);s.node.from>=n.node.from&&s.node.to<=n.node.to&&(n=s)}for(let s=n;s;s=s.next){let{node:a}=s;if((a.from=i.to||a.to>i.to&&a.from<=i.from)&&s.next)return S.range(a.to,a.from)}return i});return t.eq(O.selection)?!1:(e(Qt(O,t)),!0)};function rQ(O,e){let{state:t}=O,i=t.selection,r=t.selection.ranges.slice();for(let n of t.selection.ranges){let s=t.doc.lineAt(n.head);if(e?s.to0)for(let a=n;;){let o=O.moveVertically(a,e);if(o.heads.to){r.some(l=>l.head==o.head)||r.push(o);break}else{if(o.head==a.head)break;a=o}}}return r.length==i.ranges.length?!1:(O.dispatch(Qt(t,S.create(r,r.length-1))),!0)}var RT=O=>rQ(O,!1),VT=O=>rQ(O,!0),qT=({state:O,dispatch:e})=>{let t=O.selection,i=null;return t.ranges.length>1?i=S.create([t.main]):t.main.empty||(i=S.create([S.cursor(t.main.head)])),i?(e(Qt(O,i)),!0):!1};function dr(O,e){if(O.state.readOnly)return!1;let t="delete.selection",{state:i}=O,r=i.changeByRange(n=>{let{from:s,to:a}=n;if(s==a){let o=e(n);os&&(t="delete.forward",o=Fn(O,o,!0)),s=Math.min(s,o),a=Math.max(a,o)}else s=Fn(O,s,!1),a=Fn(O,a,!0);return s==a?{range:n}:{changes:{from:s,to:a},range:S.cursor(s,sr(O)))i.between(e,e,(r,n)=>{re&&(e=t?n:r)});return e}var nQ=(O,e,t)=>dr(O,i=>{let r=i.from,{state:n}=O,s=n.doc.lineAt(r),a,o;if(t&&!e&&r>s.from&&rnQ(O,!1,!0);var sQ=O=>nQ(O,!0,!1),aQ=(O,e)=>dr(O,t=>{let i=t.head,{state:r}=O,n=r.doc.lineAt(i),s=r.charCategorizer(i);for(let a=null;;){if(i==(e?n.to:n.from)){i==t.head&&n.number!=(e?r.doc.lines:1)&&(i+=e?1:-1);break}let o=fe(n.text,i-n.from,e)+n.from,l=n.text.slice(Math.min(i,o)-n.from,Math.max(i,o)-n.from),c=s(l);if(a!=null&&c!=a)break;(l!=" "||i!=t.head)&&(a=c),i=o}return i}),oQ=O=>aQ(O,!1),zT=O=>aQ(O,!0);var UT=O=>dr(O,e=>{let t=O.lineBlockAt(e.head).to;return e.headdr(O,e=>{let t=O.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),jT=O=>dr(O,e=>{let t=O.moveToLineBoundary(e,!0).head;return e.head{if(O.readOnly)return!1;let t=O.changeByRange(i=>({changes:{from:i.from,to:i.to,insert:E.of(["",""])},range:S.cursor(i.from)}));return e(O.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},GT=({state:O,dispatch:e})=>{if(O.readOnly)return!1;let t=O.changeByRange(i=>{if(!i.empty||i.from==0||i.from==O.doc.length)return{range:i};let r=i.from,n=O.doc.lineAt(r),s=r==n.from?r-1:fe(n.text,r-n.from,!1)+n.from,a=r==n.to?r+1:fe(n.text,r-n.from,!0)+n.from;return{changes:{from:s,to:a,insert:O.doc.slice(r,a).append(O.doc.slice(s,r))},range:S.cursor(a)}});return t.changes.empty?!1:(e(O.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function ts(O){let e=[],t=-1;for(let i of O.selection.ranges){let r=O.doc.lineAt(i.from),n=O.doc.lineAt(i.to);if(!i.empty&&i.to==n.from&&(n=O.doc.lineAt(i.to-1)),t>=r.number){let s=e[e.length-1];s.to=n.to,s.ranges.push(i)}else e.push({from:r.from,to:n.to,ranges:[i]});t=n.number+1}return e}function lQ(O,e,t){if(O.readOnly)return!1;let i=[],r=[];for(let n of ts(O)){if(t?n.to==O.doc.length:n.from==0)continue;let s=O.doc.lineAt(t?n.to+1:n.from-1),a=s.length+1;if(t){i.push({from:n.to,to:s.to},{from:n.from,insert:s.text+O.lineBreak});for(let o of n.ranges)r.push(S.range(Math.min(O.doc.length,o.anchor+a),Math.min(O.doc.length,o.head+a)))}else{i.push({from:s.from,to:n.from},{from:n.to,insert:O.lineBreak+s.text});for(let o of n.ranges)r.push(S.range(o.anchor-a,o.head-a))}}return i.length?(e(O.update({changes:i,scrollIntoView:!0,selection:S.create(r,O.selection.mainIndex),userEvent:"move.line"})),!0):!1}var ET=({state:O,dispatch:e})=>lQ(O,e,!1),AT=({state:O,dispatch:e})=>lQ(O,e,!0);function cQ(O,e,t){if(O.readOnly)return!1;let i=[];for(let n of ts(O))t?i.push({from:n.from,insert:O.doc.slice(n.from,n.to)+O.lineBreak}):i.push({from:n.to,insert:O.lineBreak+O.doc.slice(n.from,n.to)});let r=O.changes(i);return e(O.update({changes:r,selection:O.selection.map(r,t?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}var LT=({state:O,dispatch:e})=>cQ(O,e,!1),MT=({state:O,dispatch:e})=>cQ(O,e,!0),DT=O=>{if(O.state.readOnly)return!1;let{state:e}=O,t=e.changes(ts(e).map(({from:r,to:n})=>(r>0?r--:n{let n;if(O.lineWrapping){let s=O.lineBlockAt(r.head),a=O.coordsAtPos(r.head,r.assoc||1);a&&(n=s.bottom+O.documentTop-a.bottom+O.defaultLineHeight/2)}return O.moveVertically(r,!0,n)}).map(t);return O.dispatch({changes:t,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0};function IT(O,e){if(/\(\)|\[\]|\{\}/.test(O.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=U(O).resolveInner(e),i=t.childBefore(e),r=t.childAfter(e),n;return i&&r&&i.to<=e&&r.from>=e&&(n=i.type.prop(R.closedBy))&&n.indexOf(r.name)>-1&&O.doc.lineAt(i.to).from==O.doc.lineAt(r.from).from&&!/\S/.test(O.sliceDoc(i.to,r.from))?{from:i.to,to:r.from}:null}var _u=hQ(!1),BT=hQ(!0);function hQ(O){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=e.changeByRange(r=>{let{from:n,to:s}=r,a=e.doc.lineAt(n),o=!O&&n==s&&IT(e,n);O&&(n=s=(s<=a.to?a:e.doc.lineAt(s)).to);let l=new ZO(e,{simulateBreak:n,simulateDoubleBreak:!!o}),c=In(l,n);for(c==null&&(c=ve(/^\s*/.exec(e.doc.lineAt(n).text)[0],e.tabSize));sa.from&&n{let r=[];for(let s=i.from;s<=i.to;){let a=O.doc.lineAt(s);a.number>t&&(i.empty||i.to>a.from)&&(e(a,r,i),t=a.number),s=a.to+1}let n=O.changes(r);return{changes:r,range:S.range(n.mapPos(i.anchor,1),n.mapPos(i.head,1))}})}var NT=({state:O,dispatch:e})=>{if(O.readOnly)return!1;let t=Object.create(null),i=new ZO(O,{overrideIndentation:n=>{let s=t[n];return s??-1}}),r=sl(O,(n,s,a)=>{let o=In(i,n.from);if(o==null)return;/\S/.test(n.text)||(o=0);let l=/^\s*/.exec(n.text)[0],c=hi(O,o);(l!=c||a.fromO.readOnly?!1:(e(O.update(sl(O,(t,i)=>{i.push({from:t.from,insert:O.facet(nO)})}),{userEvent:"input.indent"})),!0),dQ=({state:O,dispatch:e})=>O.readOnly?!1:(e(O.update(sl(O,(t,i)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let n=ve(r,O.tabSize),s=0,a=hi(O,Math.max(0,n-lr(O)));for(;s(O.setTabFocusMode(),!0);var HT=[{key:"Ctrl-b",run:Eu,shift:Hu,preventDefault:!0},{key:"Ctrl-f",run:Au,shift:Ku},{key:"Ctrl-p",run:Du,shift:tQ},{key:"Ctrl-n",run:Iu,shift:OQ},{key:"Ctrl-a",run:$T,shift:wT},{key:"Ctrl-e",run:pT,shift:ZT},{key:"Ctrl-d",run:sQ},{key:"Ctrl-h",run:il},{key:"Ctrl-k",run:UT},{key:"Ctrl-Alt-h",run:oQ},{key:"Ctrl-o",run:CT},{key:"Ctrl-t",run:GT},{key:"Ctrl-v",run:Ol}],KT=[{key:"ArrowLeft",run:Eu,shift:Hu,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:aT,shift:PT,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:uT,shift:xT,preventDefault:!0},{key:"ArrowRight",run:Au,shift:Ku,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:oT,shift:ST,preventDefault:!0},{mac:"Cmd-ArrowRight",run:QT,shift:kT,preventDefault:!0},{key:"ArrowUp",run:Du,shift:tQ,preventDefault:!0},{mac:"Cmd-ArrowUp",run:wu,shift:vu},{mac:"Ctrl-ArrowUp",run:yu,shift:xu},{key:"ArrowDown",run:Iu,shift:OQ,preventDefault:!0},{mac:"Cmd-ArrowDown",run:Zu,shift:Yu},{mac:"Ctrl-ArrowDown",run:Ol,shift:ku},{key:"PageUp",run:yu,shift:xu},{key:"PageDown",run:Ol,shift:ku},{key:"Home",run:dT,shift:yT,preventDefault:!0},{key:"Mod-Home",run:wu,shift:vu},{key:"End",run:fT,shift:bT,preventDefault:!0},{key:"Mod-End",run:Zu,shift:Yu},{key:"Enter",run:_u,shift:_u},{key:"Mod-a",run:vT},{key:"Backspace",run:il,shift:il,preventDefault:!0},{key:"Delete",run:sQ,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:oQ,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:zT,preventDefault:!0},{mac:"Mod-Backspace",run:WT,preventDefault:!0},{mac:"Mod-Delete",run:jT,preventDefault:!0}].concat(HT.map(O=>({mac:O.key,run:O.run,shift:O.shift}))),uQ=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:cT,shift:XT},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:hT,shift:TT},{key:"Alt-ArrowUp",run:ET},{key:"Shift-Alt-ArrowUp",run:LT},{key:"Alt-ArrowDown",run:AT},{key:"Shift-Alt-ArrowDown",run:MT},{key:"Mod-Alt-ArrowUp",run:RT},{key:"Mod-Alt-ArrowDown",run:VT},{key:"Escape",run:qT},{key:"Mod-Enter",run:BT},{key:"Alt-l",mac:"Ctrl-l",run:YT},{key:"Mod-i",run:_T,preventDefault:!0},{key:"Mod-[",run:dQ},{key:"Mod-]",run:fQ},{key:"Mod-Alt-\\",run:NT},{key:"Shift-Mod-k",run:DT},{key:"Shift-Mod-\\",run:gT},{key:"Mod-/",run:LX},{key:"Alt-A",run:DX},{key:"Ctrl-m",mac:"Shift-Alt-m",run:FT}].concat(KT),QQ={key:"Tab",run:fQ,shift:dQ};var $Q=typeof String.prototype.normalize=="function"?O=>O.normalize("NFKD"):O=>O,lO=class{constructor(e,t,i=0,r=e.length,n,s){this.test=s,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(i,r),this.bufferStart=i,this.normalize=n?a=>n($Q(a)):$Q,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return Se(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=Ri(e),i=this.bufferStart+this.bufferPos;this.bufferPos+=Me(e);let r=this.normalize(t);if(r.length)for(let n=0,s=i;;n++){let a=r.charCodeAt(n),o=this.match(a,s,this.bufferPos+this.bufferStart);if(n==r.length-1){if(o)return this.value=o,this;break}s==i&&nthis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let i=this.curLineStart+t.index,r=i+t[0].length;if(this.matchPos=as(this.text,r+(i==r?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(ithis.value.to)&&(!this.test||this.test(i,r,t)))return this.value={from:i,to:r,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length=i||r.to<=t){let a=new O(t,e.sliceString(t,i));return al.set(e,a),a}if(r.from==t&&r.to==i)return r;let{text:n,from:s}=r;return s>t&&(n=e.sliceString(t,s)+n,s=t),r.to=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let i=this.flat.from+t.index,r=i+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(i,r,t)))return this.value={from:i,to:r,match:t},this.matchPos=as(this.text,r+(i==r?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=ns.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}};typeof Symbol<"u"&&(rs.prototype[Symbol.iterator]=ss.prototype[Symbol.iterator]=function(){return this});function JT(O){try{return new RegExp(O,dl),!0}catch{return!1}}function as(O,e){if(e>=O.length)return e;let t=O.lineAt(e),i;for(;e=56320&&i<57344;)e++;return e}function ol(O){let e=String(O.state.doc.lineAt(O.state.selection.main.head).number),t=N("input",{class:"cm-textfield",name:"line",value:e}),i=N("form",{class:"cm-gotoLine",onkeydown:n=>{n.keyCode==27?(n.preventDefault(),O.dispatch({effects:ur.of(!1)}),O.focus()):n.keyCode==13&&(n.preventDefault(),r())},onsubmit:n=>{n.preventDefault(),r()}},N("label",O.state.phrase("Go to line"),": ",t)," ",N("button",{class:"cm-button",type:"submit"},O.state.phrase("go")),N("button",{name:"close",onclick:()=>{O.dispatch({effects:ur.of(!1)}),O.focus()},"aria-label":O.state.phrase("close"),type:"button"},["\xD7"]));function r(){let n=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!n)return;let{state:s}=O,a=s.doc.lineAt(s.selection.main.head),[,o,l,c,h]=n,f=c?+c.slice(1):0,u=l?+l:a.number;if(l&&h){let p=u/100;o&&(p=p*(o=="-"?-1:1)+a.number/s.doc.lines),u=Math.round(s.doc.lines*p)}else l&&o&&(u=u*(o=="-"?-1:1)+a.number);let Q=s.doc.line(Math.max(1,Math.min(s.doc.lines,u))),$=S.cursor(Q.from+Math.max(0,Math.min(f,Q.length)));O.dispatch({effects:[ur.of(!1),T.scrollIntoView($.from,{y:"center"})],selection:$}),O.focus()}return{dom:i}}var ur=V.define(),pQ=ce.define({create(){return!0},update(O,e){for(let t of e.effects)t.is(ur)&&(O=t.value);return O},provide:O=>TO.from(O,e=>e?ol:null)}),e1=O=>{let e=bO(O,ol);if(!e){let t=[ur.of(!0)];O.state.field(pQ,!1)==null&&t.push(V.appendConfig.of([pQ,t1])),O.dispatch({effects:t}),e=bO(O,ol)}return e&&e.dom.querySelector("input").select(),!0},t1=T.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px",position:"relative","& label":{fontSize:"80%"},"& [name=close]":{position:"absolute",top:"0",bottom:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:"0"}}}),O1={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},SQ=Z.define({combine(O){return xe(O,O1,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function XQ(O){let e=[a1,s1];return O&&e.push(SQ.of(O)),e}var i1=Y.mark({class:"cm-selectionMatch"}),r1=Y.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function mQ(O,e,t,i){return(t==0||O(e.sliceDoc(t-1,t))!=ee.Word)&&(i==e.doc.length||O(e.sliceDoc(i,i+1))!=ee.Word)}function n1(O,e,t,i){return O(e.sliceDoc(t,t+1))==ee.Word&&O(e.sliceDoc(i-1,i))==ee.Word}var s1=he.fromClass(class{constructor(O){this.decorations=this.getDeco(O)}update(O){(O.selectionSet||O.docChanged||O.viewportChanged)&&(this.decorations=this.getDeco(O.view))}getDeco(O){let e=O.state.facet(SQ),{state:t}=O,i=t.selection;if(i.ranges.length>1)return Y.none;let r=i.main,n,s=null;if(r.empty){if(!e.highlightWordAroundCursor)return Y.none;let o=t.wordAt(r.head);if(!o)return Y.none;s=t.charCategorizer(r.head),n=t.sliceDoc(o.from,o.to)}else{let o=r.to-r.from;if(o200)return Y.none;if(e.wholeWords){if(n=t.sliceDoc(r.from,r.to),s=t.charCategorizer(r.head),!(mQ(s,t,r.from,r.to)&&n1(s,t,r.from,r.to)))return Y.none}else if(n=t.sliceDoc(r.from,r.to),!n)return Y.none}let a=[];for(let o of O.visibleRanges){let l=new lO(t.doc,n,o.from,o.to);for(;!l.next().done;){let{from:c,to:h}=l.value;if((!s||mQ(s,t,c,h))&&(r.empty&&c<=r.from&&h>=r.to?a.push(r1.range(c,h)):(c>=r.to||h<=r.from)&&a.push(i1.range(c,h)),a.length>e.maxMatches))return Y.none}}return Y.set(a)}},{decorations:O=>O.decorations}),a1=T.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),o1=({state:O,dispatch:e})=>{let{selection:t}=O,i=S.create(t.ranges.map(r=>O.wordAt(r.head)||S.cursor(r.head)),t.mainIndex);return i.eq(t)?!1:(e(O.update({selection:i})),!0)};function l1(O,e){let{main:t,ranges:i}=O.selection,r=O.wordAt(t.head),n=r&&r.from==t.from&&r.to==t.to;for(let s=!1,a=new lO(O.doc,e,i[i.length-1].to);;)if(a.next(),a.done){if(s)return null;a=new lO(O.doc,e,0,Math.max(0,i[i.length-1].from-1)),s=!0}else{if(s&&i.some(o=>o.from==a.value.from))continue;if(n){let o=O.wordAt(a.value.from);if(!o||o.from!=a.value.from||o.to!=a.value.to)continue}return a.value}}var c1=({state:O,dispatch:e})=>{let{ranges:t}=O.selection;if(t.some(n=>n.from===n.to))return o1({state:O,dispatch:e});let i=O.sliceDoc(t[0].from,t[0].to);if(O.selection.ranges.some(n=>O.sliceDoc(n.from,n.to)!=i))return!1;let r=l1(O,i);return r?(e(O.update({selection:O.selection.addRange(S.range(r.from,r.to),!1),effects:T.scrollIntoView(r.to)})),!0):!1},Qi=Z.define({combine(O){return xe(O,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new fl(e),scrollToMatch:e=>T.scrollIntoView(e)})}});var os=class{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||JT(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,i)=>i=="n"?` `:i=="r"?"\r":i=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new cl(this):new ll(this)}getCursor(e,t=0,i){let r=e.doc?e:I.create({doc:e});return i==null&&(i=r.doc.length),this.regexp?ui(this,r,t,i):di(this,r,t,i)}},ls=class{constructor(e){this.spec=e}};function di(O,e,t,i){return new lO(e.doc,O.unquoted,t,i,O.caseSensitive?void 0:r=>r.toLowerCase(),O.wholeWord?h1(e.doc,e.charCategorizer(e.selection.main.head)):void 0)}function h1(O,e){return(t,i,r,n)=>((n>t||n+r.length=t)return null;r.push(i.value)}return r}highlight(e,t,i,r){let n=di(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,e.doc.length));for(;!n.next().done;)r(n.value.from,n.value.to)}};function ui(O,e,t,i){return new rs(e.doc,O.search,{ignoreCase:!O.caseSensitive,test:O.wholeWord?f1(e.charCategorizer(e.selection.main.head)):void 0},t,i)}function cs(O,e){return O.slice(fe(O,e,!1),e)}function hs(O,e){return O.slice(e,fe(O,e))}function f1(O){return(e,t,i)=>!i[0].length||(O(cs(i.input,i.index))!=ee.Word||O(hs(i.input,i.index))!=ee.Word)&&(O(hs(i.input,i.index+i[0].length))!=ee.Word||O(cs(i.input,i.index+i[0].length))!=ee.Word)}var cl=class extends ls{nextMatch(e,t,i){let r=ui(this.spec,e,i,e.doc.length).next();return r.done&&(r=ui(this.spec,e,0,t).next()),r.done?null:r.value}prevMatchInRange(e,t,i){for(let r=1;;r++){let n=Math.max(t,i-r*1e4),s=ui(this.spec,e,n,i),a=null;for(;!s.next().done;)a=s.value;if(a&&(n==t||a.from>n+10))return a;if(n==t)return null}}prevMatch(e,t,i){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,i)=>{if(i=="&")return e.match[0];if(i=="$")return"$";for(let r=i.length;r>0;r--){let n=+i.slice(0,r);if(n>0&&n=t)return null;r.push(i.value)}return r}highlight(e,t,i,r){let n=ui(this.spec,e,Math.max(0,t-250),Math.min(i+250,e.doc.length));for(;!n.next().done;)r(n.value.from,n.value.to)}},$r=V.define(),ul=V.define(),oO=ce.define({create(O){return new Qr(hl(O).create(),null)},update(O,e){for(let t of e.effects)t.is($r)?O=new Qr(t.value.create(),O.panel):t.is(ul)&&(O=new Qr(O.query,t.value?Ql:null));return O},provide:O=>TO.from(O,e=>e.panel)});var Qr=class{constructor(e,t){this.query=e,this.panel=t}},d1=Y.mark({class:"cm-searchMatch"}),u1=Y.mark({class:"cm-searchMatch cm-searchMatch-selected"}),Q1=he.fromClass(class{constructor(O){this.view=O,this.decorations=this.highlight(O.state.field(oO))}update(O){let e=O.state.field(oO);(e!=O.startState.field(oO)||O.docChanged||O.selectionSet||O.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:O,panel:e}){if(!e||!O.spec.valid)return Y.none;let{view:t}=this,i=new Le;for(let r=0,n=t.visibleRanges,s=n.length;rn[r+1].from-500;)o=n[++r].to;O.highlight(t.state,a,o,(l,c)=>{let h=t.state.selection.ranges.some(f=>f.from==l&&f.to==c);i.add(l,c,h?u1:d1)})}return i.finish()}},{decorations:O=>O.decorations});function pr(O){return e=>{let t=e.state.field(oO,!1);return t&&t.query.spec.valid?O(e,t):yQ(e)}}var fs=pr((O,{query:e})=>{let{to:t}=O.state.selection.main,i=e.nextMatch(O.state,t,t);if(!i)return!1;let r=S.single(i.from,i.to),n=O.state.facet(Qi);return O.dispatch({selection:r,effects:[$l(O,i),n.scrollToMatch(r.main,O)],userEvent:"select.search"}),bQ(O),!0}),ds=pr((O,{query:e})=>{let{state:t}=O,{from:i}=t.selection.main,r=e.prevMatch(t,i,i);if(!r)return!1;let n=S.single(r.from,r.to),s=O.state.facet(Qi);return O.dispatch({selection:n,effects:[$l(O,r),s.scrollToMatch(n.main,O)],userEvent:"select.search"}),bQ(O),!0}),$1=pr((O,{query:e})=>{let t=e.matchAll(O.state,1e3);return!t||!t.length?!1:(O.dispatch({selection:S.create(t.map(i=>S.range(i.from,i.to))),userEvent:"select.search.matches"}),!0)}),p1=({state:O,dispatch:e})=>{let t=O.selection;if(t.ranges.length>1||t.main.empty)return!1;let{from:i,to:r}=t.main,n=[],s=0;for(let a=new lO(O.doc,O.sliceDoc(i,r));!a.next().done;){if(n.length>1e3)return!1;a.value.from==i&&(s=n.length),n.push(S.range(a.value.from,a.value.to))}return e(O.update({selection:S.create(n,s),userEvent:"select.search.matches"})),!0},gQ=pr((O,{query:e})=>{let{state:t}=O,{from:i,to:r}=t.selection.main;if(t.readOnly)return!1;let n=e.nextMatch(t,i,i);if(!n)return!1;let s=n,a=[],o,l,c=[];s.from==i&&s.to==r&&(l=t.toText(e.getReplacement(s)),a.push({from:s.from,to:s.to,insert:l}),s=e.nextMatch(t,s.from,s.to),c.push(T.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(i).number)+".")));let h=O.state.changes(a);return s&&(o=S.single(s.from,s.to).map(h),c.push($l(O,s)),c.push(t.facet(Qi).scrollToMatch(o.main,O))),O.dispatch({changes:h,selection:o,effects:c,userEvent:"input.replace"}),!0}),m1=pr((O,{query:e})=>{if(O.state.readOnly)return!1;let t=e.matchAll(O.state,1e9).map(r=>{let{from:n,to:s}=r;return{from:n,to:s,insert:e.getReplacement(r)}});if(!t.length)return!1;let i=O.state.phrase("replaced $ matches",t.length)+".";return O.dispatch({changes:t,effects:T.announce.of(i),userEvent:"input.replace.all"}),!0});function Ql(O){return O.state.facet(Qi).createPanel(O)}function hl(O,e){var t,i,r,n,s;let a=O.selection.main,o=a.empty||a.to>a.from+100?"":O.sliceDoc(a.from,a.to);if(e&&!o)return e;let l=O.facet(Qi);return new os({search:((t=e?.literal)!==null&&t!==void 0?t:l.literal)?o:o.replace(/\n/g,"\\n"),caseSensitive:(i=e?.caseSensitive)!==null&&i!==void 0?i:l.caseSensitive,literal:(r=e?.literal)!==null&&r!==void 0?r:l.literal,regexp:(n=e?.regexp)!==null&&n!==void 0?n:l.regexp,wholeWord:(s=e?.wholeWord)!==null&&s!==void 0?s:l.wholeWord})}function TQ(O){let e=bO(O,Ql);return e&&e.dom.querySelector("[main-field]")}function bQ(O){let e=TQ(O);e&&e==O.root.activeElement&&e.select()}var yQ=O=>{let e=O.state.field(oO,!1);if(e&&e.panel){let t=TQ(O);if(t&&t!=O.root.activeElement){let i=hl(O.state,e.query.spec);i.valid&&O.dispatch({effects:$r.of(i)}),t.focus(),t.select()}}else O.dispatch({effects:[ul.of(!0),e?$r.of(hl(O.state,e.query.spec)):V.appendConfig.of(P1)]});return!0},xQ=O=>{let e=O.state.field(oO,!1);if(!e||!e.panel)return!1;let t=bO(O,Ql);return t&&t.dom.contains(O.root.activeElement)&&O.focus(),O.dispatch({effects:ul.of(!1)}),!0},kQ=[{key:"Mod-f",run:yQ,scope:"editor search-panel"},{key:"F3",run:fs,shift:ds,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:fs,shift:ds,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:xQ,scope:"editor search-panel"},{key:"Mod-Shift-l",run:p1},{key:"Mod-Alt-g",run:e1},{key:"Mod-d",run:c1,preventDefault:!0}],fl=class{constructor(e){this.view=e;let t=this.query=e.state.field(oO).query.spec;this.commit=this.commit.bind(this),this.searchField=N("input",{value:t.search,placeholder:Ne(e,"Find"),"aria-label":Ne(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=N("input",{value:t.replace,placeholder:Ne(e,"Replace"),"aria-label":Ne(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=N("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=N("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=N("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function i(r,n,s){return N("button",{class:"cm-button",name:r,onclick:n,type:"button"},s)}this.dom=N("div",{onkeydown:r=>this.keydown(r),class:"cm-search"},[this.searchField,i("next",()=>fs(e),[Ne(e,"next")]),i("prev",()=>ds(e),[Ne(e,"previous")]),i("select",()=>$1(e),[Ne(e,"all")]),N("label",null,[this.caseField,Ne(e,"match case")]),N("label",null,[this.reField,Ne(e,"regexp")]),N("label",null,[this.wordField,Ne(e,"by word")]),...e.state.readOnly?[]:[N("br"),this.replaceField,i("replace",()=>gQ(e),[Ne(e,"replace")]),i("replaceAll",()=>m1(e),[Ne(e,"replace all")])],N("button",{name:"close",onclick:()=>xQ(e),"aria-label":Ne(e,"close"),type:"button"},["\xD7"])])}commit(){let e=new os({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:$r.of(e)}))}keydown(e){bd(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?ds:fs)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),gQ(this.view))}update(e){for(let t of e.transactions)for(let i of t.effects)i.is($r)&&!i.value.eq(this.query)&&this.setQuery(i.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(Qi).top}};function Ne(O,e){return O.state.phrase(e)}var Os=30,is=/[\s\.,:;?!]/;function $l(O,{from:e,to:t}){let i=O.state.doc.lineAt(e),r=O.state.doc.lineAt(t).to,n=Math.max(i.from,e-Os),s=Math.min(r,t+Os),a=O.state.sliceDoc(n,s);if(n!=i.from){for(let o=0;oa.length-Os;o--)if(!is.test(a[o-1])&&is.test(a[o])){a=a.slice(0,o);break}}return T.announce.of(`${O.state.phrase("current match")}. ${a} ${O.state.phrase("on line")} ${i.number}.`)}var g1=T.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),P1=[oO,ze.low(Q1),g1];var $i=class{constructor(e,t,i,r){this.state=e,this.pos=t,this.explicit=i,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=U(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),i=Math.max(t.from,this.pos-250),r=t.text.slice(i-t.from,this.pos-t.from),n=r.search(zQ(e,!1));return n<0?null:{from:i+n,to:this.pos,text:r.slice(n)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,i){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),i&&i.onDocChange&&(this.abortOnDocChange=!0))}};function wQ(O){let e=Object.keys(O).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function S1(O){let e=Object.create(null),t=Object.create(null);for(let{label:r}of O){e[r[0]]=!0;for(let n=1;ntypeof r=="string"?{label:r}:r),[t,i]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:S1(e);return r=>{let n=r.matchBefore(i);return n||r.explicit?{from:n?n.from:r.pos,options:e,validFor:t}:null}}function cO(O,e){return t=>{for(let i=U(t.state).resolveInner(t.pos,-1);i;i=i.parent){if(O.indexOf(i.name)>-1)return null;if(i.type.isTop)break}return e(t)}}var Qs=class{constructor(e,t,i,r){this.completion=e,this.source=t,this.match=i,this.score=r}};function RO(O){return O.selection.main.from}function zQ(O,e){var t;let{source:i}=O,r=e&&i[0]!="^",n=i[i.length-1]!="$";return!r&&!n?O:new RegExp(`${r?"^":""}(?:${i})${n?"$":""}`,(t=O.flags)!==null&&t!==void 0?t:O.ignoreCase?"i":"")}var Zl=qe.define();function X1(O,e,t,i){let{main:r}=O.selection,n=t-r.from,s=i-r.from;return{...O.changeByRange(a=>{if(a!=r&&t!=i&&O.sliceDoc(a.from+n,a.from+s)!=O.sliceDoc(t,i))return{range:a};let o=O.toText(e);return{changes:{from:a.from+n,to:i==r.from?a.to:a.from+s,insert:o},range:S.cursor(a.from+n+o.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}var ZQ=new WeakMap;function T1(O){if(!Array.isArray(O))return O;let e=ZQ.get(O);return e||ZQ.set(O,e=zt(O)),e}var $s=V.define(),mr=V.define(),Pl=class{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t=48&&X<=57||X>=97&&X<=122?2:X>=65&&X<=90?1:0:(x=Ri(X))!=x.toLowerCase()?1:x!=x.toUpperCase()?2:0;(!g||k==1&&p||y==0&&k!=0)&&(t[h]==X||i[h]==X&&(f=!0)?s[h++]=g:s.length&&(m=!1)),y=k,g+=Me(X)}return h==o&&s[0]==0&&m?this.result(-100+(f?-200:0),s,e):u==o&&Q==0?this.ret(-200-e.length+($==e.length?0:-100),[0,$]):a>-1?this.ret(-700-e.length,[a,a+this.pattern.length]):u==o?this.ret(-900-e.length,[Q,$]):h==o?this.result(-100+(f?-200:0)+-700+(m?0:-1100),s,e):t.length==2?null:this.result((r[0]?-700:0)+-200+-1100,r,e)}result(e,t,i){let r=[],n=0;for(let s of t){let a=s+(this.astral?Me(Se(i,s)):1);n&&r[n-1]==s?r[n-1]=a:(r[n++]=s,r[n++]=a)}return this.ret(e-i.length,r)}},Sl=class{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:b1,filterStrict:!1,compareCompletions:(e,t)=>(e.sortText||e.label).localeCompare(t.sortText||t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>i=>vQ(e(i),t(i)),optionClass:(e,t)=>i=>vQ(e(i),t(i)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})}});function vQ(O,e){return O?e?O+" "+e:O:e}function b1(O,e,t,i,r,n){let s=O.textDirection==H.RTL,a=s,o=!1,l="top",c,h,f=e.left-r.left,u=r.right-e.right,Q=i.right-i.left,$=i.bottom-i.top;if(a&&f=$||g>e.top?c=t.bottom-e.top:(l="bottom",c=e.bottom-t.top)}let p=(e.bottom-e.top)/n.offsetHeight,m=(e.right-e.left)/n.offsetWidth;return{style:`${l}: ${c/p}px; max-width: ${h/m}px`,class:"cm-completionInfo-"+(o?s?"left-narrow":"right-narrow":a?"left":"right")}}function y1(O){let e=O.addToOptions.slice();return O.icons&&e.push({render(t){let i=document.createElement("div");return i.classList.add("cm-completionIcon"),t.type&&i.classList.add(...t.type.split(/\s+/g).map(r=>"cm-completionIcon-"+r)),i.setAttribute("aria-hidden","true"),i},position:20}),e.push({render(t,i,r,n){let s=document.createElement("span");s.className="cm-completionLabel";let a=t.displayLabel||t.label,o=0;for(let l=0;lo&&s.appendChild(document.createTextNode(a.slice(o,c)));let f=s.appendChild(document.createElement("span"));f.appendChild(document.createTextNode(a.slice(c,h))),f.className="cm-completionMatchedText",o=h}return ot.position-i.position).map(t=>t.render)}function pl(O,e,t){if(O<=t)return{from:0,to:O};if(e<0&&(e=0),e<=O>>1){let r=Math.floor(e/t);return{from:r*t,to:(r+1)*t}}let i=Math.floor((O-e)/t);return{from:O-(i+1)*t,to:O-i*t}}var Xl=class{constructor(e,t,i){this.view=e,this.stateField=t,this.applyCompletion=i,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:o=>this.placeInfo(o),key:this},this.space=null,this.currentClass="";let r=e.state.field(t),{options:n,selected:s}=r.open,a=e.state.facet(ge);this.optionContent=y1(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=pl(n.length,s,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",o=>{let{options:l}=e.state.field(t).open;for(let c=o.target,h;c&&c!=this.dom;c=c.parentNode)if(c.nodeName=="LI"&&(h=/-(\d+)$/.exec(c.id))&&+h[1]{let l=e.state.field(this.stateField,!1);l&&l.tooltip&&e.state.facet(ge).closeOnBlur&&o.relatedTarget!=e.contentDOM&&e.dispatch({effects:mr.of(null)})}),this.showOptions(n,r.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var t;let i=e.state.field(this.stateField),r=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),i!=r){let{options:n,selected:s,disabled:a}=i.open;(!r.open||r.open.options!=n)&&(this.range=pl(n.length,s,e.state.facet(ge).maxRenderedOptions),this.showOptions(n,i.id)),this.updateSel(),a!=((t=r.open)===null||t===void 0?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!a)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let i of this.currentClass.split(" "))i&&this.dom.classList.remove(i);for(let i of t.split(" "))i&&this.dom.classList.add(i);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;(t.selected>-1&&t.selected=this.range.to)&&(this.range=pl(t.options.length,t.selected,this.view.state.facet(ge).maxRenderedOptions),this.showOptions(t.options,e.id));let i=this.updateSelectedOption(t.selected);if(i){this.destroyInfo();let{completion:r}=t.options[t.selected],{info:n}=r;if(!n)return;let s=typeof n=="string"?document.createTextNode(n):n(r);if(!s)return;"then"in s?s.then(a=>{a&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(a,r)}).catch(a=>Xe(this.view.state,a,"completion info")):(this.addInfoPane(s,r),i.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,t){this.destroyInfo();let i=this.info=document.createElement("div");if(i.className="cm-tooltip cm-completionInfo",i.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),e.nodeType!=null)i.appendChild(e),this.infoDestroy=null;else{let{dom:r,destroy:n}=e;i.appendChild(r),this.infoDestroy=n||null}this.dom.appendChild(i),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let i=this.list.firstChild,r=this.range.from;i;i=i.nextSibling,r++)i.nodeName!="LI"||!i.id?r--:r==e?i.hasAttribute("aria-selected")||(i.setAttribute("aria-selected","true"),t=i):i.hasAttribute("aria-selected")&&(i.removeAttribute("aria-selected"),i.removeAttribute("aria-describedby"));return t&&k1(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),i=this.info.getBoundingClientRect(),r=e.getBoundingClientRect(),n=this.space;if(!n){let s=this.dom.ownerDocument.documentElement;n={left:0,top:0,right:s.clientWidth,bottom:s.clientHeight}}return r.top>Math.min(n.bottom,t.bottom)-10||r.bottom{s.target==r&&s.preventDefault()});let n=null;for(let s=i.from;si.from||i.from==0))if(n=f,typeof l!="string"&&l.header)r.appendChild(l.header(l));else{let u=r.appendChild(document.createElement("completion-section"));u.textContent=f}}let c=r.appendChild(document.createElement("li"));c.id=t+"-"+s,c.setAttribute("role","option");let h=this.optionClass(a);h&&(c.className=h);for(let f of this.optionContent){let u=f(a,this.view.state,this.view,o);u&&c.appendChild(u)}}return i.from&&r.classList.add("cm-completionListIncompleteTop"),i.tonew Xl(t,O,e)}function k1(O,e){let t=O.getBoundingClientRect(),i=e.getBoundingClientRect(),r=t.height/O.offsetHeight;i.topt.bottom&&(O.scrollTop+=(i.bottom-t.bottom)/r)}function YQ(O){return(O.boost||0)*100+(O.apply?10:0)+(O.info?5:0)+(O.type?1:0)}function w1(O,e){let t=[],i=null,r=null,n=c=>{t.push(c);let{section:h}=c.completion;if(h){i||(i=[]);let f=typeof h=="string"?h:h.name;i.some(u=>u.name==f)||i.push(typeof h=="string"?{name:f}:h)}},s=e.facet(ge);for(let c of O)if(c.hasResult()){let h=c.result.getMatch;if(c.result.filter===!1)for(let f of c.result.options)n(new Qs(f,c.source,h?h(f):[],1e9-t.length));else{let f=e.sliceDoc(c.from,c.to),u,Q=s.filterStrict?new Sl(f):new Pl(f);for(let $ of c.result.options)if(u=Q.match($.label)){let p=$.displayLabel?h?h($,u.matched):[]:u.matched,m=u.score+($.boost||0);if(n(new Qs($,c.source,p,m)),typeof $.section=="object"&&$.section.rank==="dynamic"){let{name:g}=$.section;r||(r=Object.create(null)),r[g]=Math.max(m,r[g]||-1e9)}}}}if(i){let c=Object.create(null),h=0,f=(u,Q)=>(u.rank==="dynamic"&&Q.rank==="dynamic"?r[Q.name]-r[u.name]:0)||(typeof u.rank=="number"?u.rank:1e9)-(typeof Q.rank=="number"?Q.rank:1e9)||(u.namef.score-h.score||l(h.completion,f.completion))){let h=c.completion;!o||o.label!=h.label||o.detail!=h.detail||o.type!=null&&h.type!=null&&o.type!=h.type||o.apply!=h.apply||o.boost!=h.boost?a.push(c):YQ(c.completion)>YQ(o)&&(a[a.length-1]=c),o=c.completion}return a}var Tl=class O{constructor(e,t,i,r,n,s){this.options=e,this.attrs=t,this.tooltip=i,this.timestamp=r,this.selected=n,this.disabled=s}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new O(this.options,_Q(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,i,r,n,s){if(r&&!s&&e.some(l=>l.isPending))return r.setDisabled();let a=w1(e,t);if(!a.length)return r&&e.some(l=>l.isPending)?r.setDisabled():null;let o=t.facet(ge).selectOnOpen?0:-1;if(r&&r.selected!=o&&r.selected!=-1){let l=r.options[r.selected].completion;for(let c=0;cc.hasResult()?Math.min(l,c.from):l,1e8),create:V1,above:n.aboveCursor},r?r.timestamp:Date.now(),o,!1)}map(e){return new O(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new O(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}},bl=class O{constructor(e,t,i){this.active=e,this.id=t,this.open=i}static start(){return new O(_1,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:t}=e,i=t.facet(ge),n=(i.override||t.languageDataAt("autocomplete",RO(t)).map(T1)).map(o=>(this.active.find(c=>c.source==o)||new qt(o,this.active.some(c=>c.state!=0)?1:0)).update(e,i));n.length==this.active.length&&n.every((o,l)=>o==this.active[l])&&(n=this.active);let s=this.open,a=e.effects.some(o=>o.is(vl));s&&e.docChanged&&(s=s.map(e.changes)),e.selection||n.some(o=>o.hasResult()&&e.changes.touchesRange(o.from,o.to))||!Z1(n,this.active)||a?s=Tl.build(n,t,this.id,s,i,a):s&&s.disabled&&!n.some(o=>o.isPending)&&(s=null),!s&&n.every(o=>!o.isPending)&&n.some(o=>o.hasResult())&&(n=n.map(o=>o.hasResult()?new qt(o.source,0):o));for(let o of e.effects)o.is(WQ)&&(s=s&&s.setSelected(o.value,this.id));return n==this.active&&s==this.open?this:new O(n,this.id,s)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?v1:Y1}};function Z1(O,e){if(O==e)return!0;for(let t=0,i=0;;){for(;t-1&&(t["aria-activedescendant"]=O+"-"+e),t}var _1=[];function UQ(O,e){if(O.isUserEvent("input.complete")){let i=O.annotation(Zl);if(i&&e.activateOnCompletion(i))return 12}let t=O.isUserEvent("input.type");return t&&e.activateOnTyping?5:t?1:O.isUserEvent("delete.backward")?2:O.selection?8:O.docChanged?16:0}var qt=class O{constructor(e,t,i=!1){this.source=e,this.state=t,this.explicit=i}hasResult(){return!1}get isPending(){return this.state==1}update(e,t){let i=UQ(e,t),r=this;(i&8||i&16&&this.touches(e))&&(r=new O(r.source,0)),i&4&&r.state==0&&(r=new O(this.source,1)),r=r.updateFor(e,i);for(let n of e.effects)if(n.is($s))r=new O(r.source,1,n.value);else if(n.is(mr))r=new O(r.source,0);else if(n.is(vl))for(let s of n.value)s.source==r.source&&(r=s);return r}updateFor(e,t){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(RO(e.state))}},ps=class O extends qt{constructor(e,t,i,r,n,s){super(e,3,t),this.limit=i,this.result=r,this.from=n,this.to=s}hasResult(){return!0}updateFor(e,t){var i;if(!(t&3))return this.map(e.changes);let r=this.result;r.map&&!e.changes.empty&&(r=r.map(r,e.changes));let n=e.changes.mapPos(this.from),s=e.changes.mapPos(this.to,1),a=RO(e.state);if(a>s||!r||t&2&&(RO(e.startState)==this.from||at.map(e))}}),WQ=V.define(),Ce=ce.define({create(){return bl.start()},update(O,e){return O.update(e)},provide:O=>[er.from(O,e=>e.tooltip),T.contentAttributes.from(O,e=>e.attrs)]});function Yl(O,e){let t=e.completion.apply||e.completion.label,i=O.state.field(Ce).active.find(r=>r.source==e.source);return i instanceof ps?(typeof t=="string"?O.dispatch({...X1(O.state,t,i.from,i.to),annotations:Zl.of(e.completion)}):t(O,e.completion,i.from,i.to),!0):!1}var V1=x1(Ce,Yl);function us(O,e="option"){return t=>{let i=t.state.field(Ce,!1);if(!i||!i.open||i.open.disabled||Date.now()-i.open.timestamp-1?i.open.selected+r*(O?1:-1):O?0:s-1;return a<0?a=e=="page"?0:s-1:a>=s&&(a=e=="page"?s-1:0),t.dispatch({effects:WQ.of(a)}),!0}}var q1=O=>{let e=O.state.field(Ce,!1);return O.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestampO.state.field(Ce,!1)?(O.dispatch({effects:$s.of(!0)}),!0):!1,z1=O=>{let e=O.state.field(Ce,!1);return!e||!e.active.some(t=>t.state!=0)?!1:(O.dispatch({effects:mr.of(null)}),!0)},yl=class{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}},U1=50,W1=1e3,j1=he.fromClass(class{constructor(O){this.view=O,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of O.state.field(Ce).active)e.isPending&&this.startQuery(e)}update(O){let e=O.state.field(Ce),t=O.state.facet(ge);if(!O.selectionSet&&!O.docChanged&&O.startState.field(Ce)==e)return;let i=O.transactions.some(n=>{let s=UQ(n,t);return s&8||(n.selection||n.docChanged)&&!(s&3)});for(let n=0;nU1&&Date.now()-s.time>W1){for(let a of s.context.abortListeners)try{a()}catch(o){Xe(this.view.state,o)}s.context.abortListeners=null,this.running.splice(n--,1)}else s.updates.push(...O.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),O.transactions.some(n=>n.effects.some(s=>s.is($s)))&&(this.pendingStart=!0);let r=this.pendingStart?50:t.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(n=>n.isPending&&!this.running.some(s=>s.active.source==n.source))?setTimeout(()=>this.startUpdate(),r):-1,this.composing!=0)for(let n of O.transactions)n.isUserEvent("input.type")?this.composing=2:this.composing==2&&n.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:O}=this.view,e=O.field(Ce);for(let t of e.active)t.isPending&&!this.running.some(i=>i.active.source==t.source)&&this.startQuery(t);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(ge).updateSyncTime))}startQuery(O){let{state:e}=this.view,t=RO(e),i=new $i(e,t,O.explicit,this.view),r=new yl(O,i);this.running.push(r),Promise.resolve(O.source(i)).then(n=>{r.context.aborted||(r.done=n||null,this.scheduleAccept())},n=>{this.view.dispatch({effects:mr.of(null)}),Xe(this.view.state,n)})}scheduleAccept(){this.running.every(O=>O.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(ge).updateSyncTime))}accept(){var O;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],t=this.view.state.facet(ge),i=this.view.state.field(Ce);for(let r=0;ra.source==n.active.source);if(s&&s.isPending)if(n.done==null){let a=new qt(n.active.source,0);for(let o of n.updates)a=a.update(o,t);a.isPending||e.push(a)}else this.startQuery(s)}(e.length||i.open&&i.open.disabled)&&this.view.dispatch({effects:vl.of(e)})}},{eventHandlers:{blur(O){let e=this.view.state.field(Ce,!1);if(e&&e.tooltip&&this.view.state.facet(ge).closeOnBlur){let t=e.open&&To(this.view,e.open.tooltip);(!t||!t.dom.contains(O.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:mr.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:$s.of(!1)}),20),this.composing=0}}}),C1=typeof navigator=="object"&&/Win/.test(navigator.platform),G1=ze.highest(T.domEventHandlers({keydown(O,e){let t=e.state.field(Ce,!1);if(!t||!t.open||t.open.disabled||t.open.selected<0||O.key.length>1||O.ctrlKey&&!(C1&&O.altKey)||O.metaKey)return!1;let i=t.open.options[t.open.selected],r=t.active.find(s=>s.source==i.source),n=i.completion.commitCharacters||r.result.commitCharacters;return n&&n.indexOf(O.key)>-1&&Yl(e,i),!1}})),jQ=T.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xB7\xB7\xB7"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),xl=class{constructor(e,t,i,r){this.field=e,this.line=t,this.from=i,this.to=r}},kl=class O{constructor(e,t,i){this.field=e,this.from=t,this.to=i}map(e){let t=e.mapPos(this.from,-1,pe.TrackDel),i=e.mapPos(this.to,1,pe.TrackDel);return t==null||i==null?null:new O(this.field,t,i)}},wl=class O{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let i=[],r=[t],n=e.doc.lineAt(t),s=/^\s*/.exec(n.text)[0];for(let o of this.lines){if(i.length){let l=s,c=/^\t*/.exec(o)[0].length;for(let h=0;hnew kl(o.field,r[o.line]+o.from,r[o.line]+o.to));return{text:i,ranges:a}}static parse(e){let t=[],i=[],r=[],n;for(let s of e.split(/\r\n?|\n/)){for(;n=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(s);){let a=n[1]?+n[1]:null,o=n[2]||n[3]||"",l=-1,c=o.replace(/\\[{}]/g,h=>h[1]);for(let h=0;h=l&&f.field++}for(let h of r)if(h.line==i.length&&h.from>n.index){let f=n[2]?3+(n[1]||"").length:2;h.from-=f,h.to-=f}r.push(new xl(l,i.length,n.index,n.index+c.length)),s=s.slice(0,n.index)+o+s.slice(n.index+n[0].length)}s=s.replace(/\\([{}])/g,(a,o,l)=>{for(let c of r)c.line==i.length&&c.from>l&&(c.from--,c.to--);return o}),i.push(s)}return new O(i,r)}},E1=Y.widget({widget:new class extends _e{toDOM(){let O=document.createElement("span");return O.className="cm-snippetFieldPosition",O}ignoreEvent(){return!1}}}),A1=Y.mark({class:"cm-snippetField"}),pi=class O{constructor(e,t){this.ranges=e,this.active=t,this.deco=Y.set(e.map(i=>(i.from==i.to?E1:A1).range(i.from,i.to)),!0)}map(e){let t=[];for(let i of this.ranges){let r=i.map(e);if(!r)return null;t.push(r)}return new O(t,this.active)}selectionInsideField(e){return e.ranges.every(t=>this.ranges.some(i=>i.field==this.active&&i.from<=t.from&&i.to>=t.to))}},Sr=V.define({map(O,e){return O&&O.map(e)}}),L1=V.define(),gr=ce.define({create(){return null},update(O,e){for(let t of e.effects){if(t.is(Sr))return t.value;if(t.is(L1)&&O)return new pi(O.ranges,t.value)}return O&&e.docChanged&&(O=O.map(e.changes)),O&&e.selection&&!O.selectionInsideField(e.selection)&&(O=null),O},provide:O=>T.decorations.from(O,e=>e?e.deco:Y.none)});function _l(O,e){return S.create(O.filter(t=>t.field==e).map(t=>S.range(t.from,t.to)))}function M1(O){let e=wl.parse(O);return(t,i,r,n)=>{let{text:s,ranges:a}=e.instantiate(t.state,r),{main:o}=t.state.selection,l={changes:{from:r,to:n==o.from?o.to:n,insert:E.of(s)},scrollIntoView:!0,annotations:i?[Zl.of(i),Qe.userEvent.of("input.complete")]:void 0};if(a.length&&(l.selection=_l(a,0)),a.some(c=>c.field>0)){let c=new pi(a,0),h=l.effects=[Sr.of(c)];t.state.field(gr,!1)===void 0&&h.push(V.appendConfig.of([gr,F1,H1,jQ]))}t.dispatch(t.state.update(l))}}function CQ(O){return({state:e,dispatch:t})=>{let i=e.field(gr,!1);if(!i||O<0&&i.active==0)return!1;let r=i.active+O,n=O>0&&!i.ranges.some(s=>s.field==r+O);return t(e.update({selection:_l(i.ranges,r),effects:Sr.of(n?null:new pi(i.ranges,r)),scrollIntoView:!0})),!0}}var D1=({state:O,dispatch:e})=>O.field(gr,!1)?(e(O.update({effects:Sr.of(null)})),!0):!1,I1=CQ(1),B1=CQ(-1);var N1=[{key:"Tab",run:I1,shift:B1},{key:"Escape",run:D1}],RQ=Z.define({combine(O){return O.length?O[0]:N1}}),F1=ze.highest(Xt.compute([RQ],O=>O.facet(RQ)));function W(O,e){return{...e,apply:M1(O)}}var H1=T.domEventHandlers({mousedown(O,e){let t=e.state.field(gr,!1),i;if(!t||(i=e.posAtCoords({x:O.clientX,y:O.clientY}))==null)return!1;let r=t.ranges.find(n=>n.from<=i&&n.to>=i);return!r||r.field==t.active?!1:(e.dispatch({selection:_l(t.ranges,r.field),effects:Sr.of(t.ranges.some(n=>n.field>r.field)?new pi(t.ranges,r.field):null),scrollIntoView:!0}),!0)}});var Pr={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},_O=V.define({map(O,e){let t=e.mapPos(O,-1,pe.TrackAfter);return t??void 0}}),Rl=new class extends tt{};Rl.startSide=1;Rl.endSide=-1;var GQ=ce.define({create(){return M.empty},update(O,e){if(O=O.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);O=O.update({filter:i=>i>=t.from&&i<=t.to})}for(let t of e.effects)t.is(_O)&&(O=O.update({add:[Rl.range(t.value,t.value+1)]}));return O}});function EQ(){return[J1,GQ]}var gl="()[]{}<>\xAB\xBB\xBB\xAB\uFF3B\uFF3D\uFF5B\uFF5D";function AQ(O){for(let e=0;e{if((K1?O.composing:O.compositionStarted)||O.state.readOnly)return!1;let r=O.state.selection.main;if(i.length>2||i.length==2&&Me(Se(i,0))==1||e!=r.from||t!=r.to)return!1;let n=t0(O.state,i);return n?(O.dispatch(n),!0):!1}),e0=({state:O,dispatch:e})=>{if(O.readOnly)return!1;let i=LQ(O,O.selection.main.head).brackets||Pr.brackets,r=null,n=O.changeByRange(s=>{if(s.empty){let a=O0(O.doc,s.head);for(let o of i)if(o==a&&ms(O.doc,s.head)==AQ(Se(o,0)))return{changes:{from:s.head-o.length,to:s.head+o.length},range:S.cursor(s.head-o.length)}}return{range:r=s}});return r||e(O.update(n,{scrollIntoView:!0,userEvent:"delete.backward"})),!r},MQ=[{key:"Backspace",run:e0}];function t0(O,e){let t=LQ(O,O.selection.main.head),i=t.brackets||Pr.brackets;for(let r of i){let n=AQ(Se(r,0));if(e==r)return n==r?n0(O,r,i.indexOf(r+r+r)>-1,t):i0(O,r,n,t.before||Pr.before);if(e==n&&DQ(O,O.selection.main.from))return r0(O,r,n)}return null}function DQ(O,e){let t=!1;return O.field(GQ).between(0,O.doc.length,i=>{i==e&&(t=!0)}),t}function ms(O,e){let t=O.sliceString(e,e+2);return t.slice(0,Me(Se(t,0)))}function O0(O,e){let t=O.sliceString(e-2,e);return Me(Se(t,0))==t.length?t:t.slice(1)}function i0(O,e,t,i){let r=null,n=O.changeByRange(s=>{if(!s.empty)return{changes:[{insert:e,from:s.from},{insert:t,from:s.to}],effects:_O.of(s.to+e.length),range:S.range(s.anchor+e.length,s.head+e.length)};let a=ms(O.doc,s.head);return!a||/\s/.test(a)||i.indexOf(a)>-1?{changes:{insert:e+t,from:s.head},effects:_O.of(s.head+e.length),range:S.cursor(s.head+e.length)}:{range:r=s}});return r?null:O.update(n,{scrollIntoView:!0,userEvent:"input.type"})}function r0(O,e,t){let i=null,r=O.changeByRange(n=>n.empty&&ms(O.doc,n.head)==t?{changes:{from:n.head,to:n.head+t.length,insert:t},range:S.cursor(n.head+t.length)}:i={range:n});return i?null:O.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function n0(O,e,t,i){let r=i.stringPrefixes||Pr.stringPrefixes,n=null,s=O.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:_O.of(a.to+e.length),range:S.range(a.anchor+e.length,a.head+e.length)};let o=a.head,l=ms(O.doc,o),c;if(l==e){if(VQ(O,o))return{changes:{insert:e+e,from:o},effects:_O.of(o+e.length),range:S.cursor(o+e.length)};if(DQ(O,o)){let f=t&&O.sliceDoc(o,o+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:o,to:o+f.length,insert:f},range:S.cursor(o+f.length)}}}else{if(t&&O.sliceDoc(o-2*e.length,o)==e+e&&(c=qQ(O,o-2*e.length,r))>-1&&VQ(O,c))return{changes:{insert:e+e+e+e,from:o},effects:_O.of(o+e.length),range:S.cursor(o+e.length)};if(O.charCategorizer(o)(l)!=ee.Word&&qQ(O,o,r)>-1&&!s0(O,o,e,r))return{changes:{insert:e+e,from:o},effects:_O.of(o+e.length),range:S.cursor(o+e.length)}}return{range:n=a}});return n?null:O.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function VQ(O,e){let t=U(O).resolveInner(e+1);return t.parent&&t.from==e}function s0(O,e,t,i){let r=U(O).resolveInner(e,-1),n=i.reduce((s,a)=>Math.max(s,a.length),0);for(let s=0;s<5;s++){let a=O.sliceDoc(r.from,Math.min(r.to,r.from+t.length+n)),o=a.indexOf(t);if(!o||o>-1&&i.indexOf(a.slice(0,o))>-1){let c=r.firstChild;for(;c&&c.from==r.from&&c.to-c.from>t.length+o;){if(O.sliceDoc(c.to-t.length,c.to)==t)return!1;c=c.firstChild}return!0}let l=r.to==e&&r.parent;if(!l)break;r=l}return!1}function qQ(O,e,t){let i=O.charCategorizer(e);if(i(O.sliceDoc(e-1,e))!=ee.Word)return e;for(let r of t){let n=e-r.length;if(O.sliceDoc(n,e)==r&&i(O.sliceDoc(n-1,n))!=ee.Word)return n}return-1}function IQ(O={}){return[G1,Ce,ge.of(O),j1,a0,jQ]}var Vl=[{key:"Ctrl-Space",run:ml},{mac:"Alt-`",run:ml},{mac:"Alt-i",run:ml},{key:"Escape",run:z1},{key:"ArrowDown",run:us(!0)},{key:"ArrowUp",run:us(!1)},{key:"PageDown",run:us(!0,"page")},{key:"PageUp",run:us(!1,"page")},{key:"Enter",run:q1}],a0=ze.highest(Xt.computeN([ge],O=>O.facet(ge).defaultKeymap?[Vl]:[]));var Ps=class{constructor(e,t,i){this.from=e,this.to=t,this.diagnostic=i}},VO=class O{constructor(e,t,i){this.diagnostics=e,this.panel=t,this.selected=i}static init(e,t,i){let r=i.facet(Xr).markerFilter;r&&(e=r(e,i));let n=e.slice().sort((u,Q)=>u.from-Q.from||u.to-Q.to),s=new Le,a=[],o=0,l=i.doc.iter(),c=0,h=i.doc.length;for(let u=0;;){let Q=u==n.length?null:n[u];if(!Q&&!a.length)break;let $,p;if(a.length)$=o,p=a.reduce((P,y)=>Math.min(P,y.to),Q&&Q.from>$?Q.from:1e8);else{if($=Q.from,$>h)break;p=Q.to,a.push(Q),u++}for(;uP.from||P.to==$))a.push(P),u++,p=Math.min(P.to,p);else{p=Math.min(P.from,p);break}}p=Math.min(p,h);let m=!1;if(a.some(P=>P.from==$&&(P.to==p||p==h))&&(m=$==p,!m&&p-$<10)){let P=$-(c+l.value.length);P>0&&(l.next(P),c=$);for(let y=$;;){if(y>=p){m=!0;break}if(!l.lineBreak&&c+l.value.length>y)break;y=c+l.value.length,c+=l.value.length,l.next()}}let g=m0(a);if(m)s.add($,$,Y.widget({widget:new ql(g),diagnostics:a.slice()}));else{let P=a.reduce((y,X)=>X.markClass?y+" "+X.markClass:y,"");s.add($,p,Y.mark({class:"cm-lintRange cm-lintRange-"+g+P,diagnostics:a.slice(),inclusiveEnd:a.some(y=>y.to>p)}))}if(o=p,o==h)break;for(let P=0;P{if(!(e&&s.diagnostics.indexOf(e)<0))if(!i)i=new Ps(r,n,e||s.diagnostics[0]);else{if(s.diagnostics.indexOf(i.diagnostic)<0)return!1;i=new Ps(i.from,n,i.diagnostic)}}),i}function o0(O,e){let t=e.pos,i=e.end||t,r=O.state.facet(Xr).hideOn(O,t,i);if(r!=null)return r;let n=O.startState.doc.lineAt(e.pos);return!!(O.effects.some(s=>s.is(FQ))||O.changes.touchesRange(n.from,Math.max(n.to,i)))}function l0(O,e){return O.field(Fe,!1)?e:e.concat(V.appendConfig.of(g0))}var FQ=V.define(),zl=V.define(),HQ=V.define(),Fe=ce.define({create(){return new VO(Y.none,null,null)},update(O,e){if(e.docChanged&&O.diagnostics.size){let t=O.diagnostics.map(e.changes),i=null,r=O.panel;if(O.selected){let n=e.changes.mapPos(O.selected.from,1);i=mi(t,O.selected.diagnostic,n)||mi(t,null,n)}!t.size&&r&&e.state.facet(Xr).autoPanel&&(r=null),O=new VO(t,r,i)}for(let t of e.effects)if(t.is(FQ)){let i=e.state.facet(Xr).autoPanel?t.value.length?Tr.open:null:O.panel;O=VO.init(t.value,i,e.state)}else t.is(zl)?O=new VO(O.diagnostics,t.value?Tr.open:null,O.selected):t.is(HQ)&&(O=new VO(O.diagnostics,O.panel,t.value));return O},provide:O=>[TO.from(O,e=>e.panel),T.decorations.from(O,e=>e.diagnostics)]});var c0=Y.mark({class:"cm-lintRange cm-lintRange-active"});function h0(O,e,t){let{diagnostics:i}=O.state.field(Fe),r,n=-1,s=-1;i.between(e-(t<0?1:0),e+(t>0?1:0),(o,l,{spec:c})=>{if(e>=o&&e<=l&&(o==l||(e>o||t>0)&&(ee$(O,t,!1)))}var d0=O=>{let e=O.state.field(Fe,!1);(!e||!e.panel)&&O.dispatch({effects:l0(O.state,[zl.of(!0)])});let t=bO(O,Tr.open);return t&&t.dom.querySelector(".cm-panel-lint ul").focus(),!0},BQ=O=>{let e=O.state.field(Fe,!1);return!e||!e.panel?!1:(O.dispatch({effects:zl.of(!1)}),!0)},u0=O=>{let e=O.state.field(Fe,!1);if(!e)return!1;let t=O.state.selection.main,i=e.diagnostics.iter(t.to+1);return!i.value&&(i=e.diagnostics.iter(0),!i.value||i.from==t.from&&i.to==t.to)?!1:(O.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0}),!0)};var KQ=[{key:"Mod-Shift-m",run:d0,preventDefault:!0},{key:"F8",run:u0}];var Xr=Z.define({combine(O){return{sources:O.map(e=>e.source).filter(e=>e!=null),...xe(O.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:NQ,tooltipFilter:NQ,needsRefresh:(e,t)=>e?t?i=>e(i)||t(i):e:t,hideOn:(e,t)=>e?t?(i,r,n)=>e(i,r,n)||t(i,r,n):e:t,autoPanel:(e,t)=>e||t})}}});function NQ(O,e){return O?e?(t,i)=>e(O(t,i),i):O:e}function JQ(O){let e=[];if(O)e:for(let{name:t}of O){for(let i=0;in.toLowerCase()==r.toLowerCase())){e.push(r);continue e}}e.push("")}return e}function e$(O,e,t){var i;let r=t?JQ(e.actions):[];return N("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},N("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(O):e.message),(i=e.actions)===null||i===void 0?void 0:i.map((n,s)=>{let a=!1,o=u=>{if(u.preventDefault(),a)return;a=!0;let Q=mi(O.state.field(Fe).diagnostics,e);Q&&n.apply(O,Q.from,Q.to)},{name:l}=n,c=r[s]?l.indexOf(r[s]):-1,h=c<0?l:[l.slice(0,c),N("u",l.slice(c,c+1)),l.slice(c+1)],f=n.markClass?" "+n.markClass:"";return N("button",{type:"button",class:"cm-diagnosticAction"+f,onclick:o,onmousedown:o,"aria-label":` Action: ${l}${c<0?"":` (access key "${r[s]})"`}.`},h)}),e.source&&N("div",{class:"cm-diagnosticSource"},e.source))}var ql=class extends _e{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return N("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}},Ss=class{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=e$(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}},Tr=class O{constructor(e){this.view=e,this.items=[];let t=r=>{if(r.keyCode==27)BQ(this.view),this.view.focus();else if(r.keyCode==38||r.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(r.keyCode==40||r.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(r.keyCode==36)this.moveSelection(0);else if(r.keyCode==35)this.moveSelection(this.items.length-1);else if(r.keyCode==13)this.view.focus();else if(r.keyCode>=65&&r.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:n}=this.items[this.selectedIndex],s=JQ(n.actions);for(let a=0;a{for(let n=0;nBQ(this.view)},"\xD7")),this.update()}get selectedIndex(){let e=this.view.state.field(Fe).selected;if(!e)return-1;for(let t=0;t{for(let c of l.diagnostics){if(s.has(c))continue;s.add(c);let h=-1,f;for(let u=i;ui&&(this.items.splice(i,h-i),r=!0)),t&&f.diagnostic==t.diagnostic?f.dom.hasAttribute("aria-selected")||(f.dom.setAttribute("aria-selected","true"),n=f):f.dom.hasAttribute("aria-selected")&&f.dom.removeAttribute("aria-selected"),i++}});i({sel:n.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:a,panel:o})=>{let l=o.height/this.list.offsetHeight;a.topo.bottom&&(this.list.scrollTop+=(a.bottom-o.bottom)/l)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),r&&this.sync()}sync(){let e=this.list.firstChild;function t(){let i=e;e=i.nextSibling,i.remove()}for(let i of this.items)if(i.dom.parentNode==this.list){for(;e!=i.dom;)t();e=i.dom.nextSibling}else this.list.insertBefore(i.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=this.view.state.field(Fe),i=mi(t.diagnostics,this.items[e].diagnostic);i&&this.view.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0,effects:HQ.of(i)})}static open(e){return new O(e)}};function Q0(O,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(O)}')`}function gs(O){return Q0(``,'width="6" height="3"')}var $0=T.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:gs("#d11")},".cm-lintRange-warning":{backgroundImage:gs("orange")},".cm-lintRange-info":{backgroundImage:gs("#999")},".cm-lintRange-hint":{backgroundImage:gs("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function p0(O){return O=="error"?4:O=="warning"?3:O=="info"?2:1}function m0(O){let e="hint",t=1;for(let i of O){let r=p0(i.severity);r>t&&(t=r,e=i.severity)}return e}var g0=[Fe,T.decorations.compute([Fe],O=>{let{selected:e,panel:t}=O.field(Fe);return!e||!t||e.from==e.to?Y.none:Y.set([c0.range(e.from,e.to)])}),zd(h0,{hideOn:o0}),$0];var t$=[jd(),Cd(),_d(),zu(),mu(),wd(),Yd(),I.allowMultipleSelections.of(!0),cu(),Nn(Pu,{fallback:!0}),bu(),EQ(),IQ(),Vd(),qd(),Rd(),XQ(),Xt.of([...MQ,...uQ,...kQ,...Cu,...Qu,...Vl,...KQ])];var P0="#e5c07b",O$="#e06c75",S0="#56b6c2",X0="#ffffff",Xs="#abb2bf",Wl="#7d8799",T0="#61afef",b0="#98c379",i$="#d19a66",y0="#c678dd",x0="#21252b",r$="#2c313a",n$="#282c34",Ul="#353a42",k0="#3E4451",s$="#528bff";var w0=T.theme({"&":{color:Xs,backgroundColor:n$},".cm-content":{caretColor:s$},".cm-cursor, .cm-dropCursor":{borderLeftColor:s$},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:k0},".cm-panels":{backgroundColor:x0,color:Xs},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:n$,color:Wl,border:"none"},".cm-activeLineGutter":{backgroundColor:r$},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Ul},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Ul,borderBottomColor:Ul},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:r$,color:Xs}}},{dark:!0}),Z0=ci.define([{tag:d.keyword,color:y0},{tag:[d.name,d.deleted,d.character,d.propertyName,d.macroName],color:O$},{tag:[d.function(d.variableName),d.labelName],color:T0},{tag:[d.color,d.constant(d.name),d.standard(d.name)],color:i$},{tag:[d.definition(d.name),d.separator],color:Xs},{tag:[d.typeName,d.className,d.number,d.changed,d.annotation,d.modifier,d.self,d.namespace],color:P0},{tag:[d.operator,d.operatorKeyword,d.url,d.escape,d.regexp,d.link,d.special(d.string)],color:S0},{tag:[d.meta,d.comment],color:Wl},{tag:d.strong,fontWeight:"bold"},{tag:d.emphasis,fontStyle:"italic"},{tag:d.strikethrough,textDecoration:"line-through"},{tag:d.link,color:Wl,textDecoration:"underline"},{tag:d.heading,fontWeight:"bold",color:O$},{tag:[d.atom,d.bool,d.special(d.variableName)],color:i$},{tag:[d.processingInstruction,d.string,d.inserted],color:b0},{tag:d.invalid,color:X0}]),a$=[w0,Nn(Z0)];var Gl=class O{constructor(e,t,i,r,n,s,a,o,l,c=0,h){this.p=e,this.stack=t,this.state=i,this.reducePos=r,this.pos=n,this.score=s,this.buffer=a,this.bufferBase=o,this.curContext=l,this.lookAhead=c,this.parent=h}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,i=0){let r=e.parser.context;return new O(e,[],t,i,i,0,[],0,r?new Ts(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let i=e>>19,r=e&65535,{parser:n}=this.p,s=this.reducePos=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(l==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=c):this.p.lastBigReductionSizeo;)this.stack.pop();this.reduceContext(r,l)}storeNode(e,t,i,r=4,n=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&s.buffer[a-4]==0&&s.buffer[a-1]>-1){if(t==i)return;if(s.buffer[a-2]>=t){s.buffer[a-2]=i;return}}}if(!n||this.pos==i)this.buffer.push(e,t,i,r);else{let s=this.buffer.length;if(s>0&&(this.buffer[s-4]!=0||this.buffer[s-1]<0)){let a=!1;for(let o=s;o>0&&this.buffer[o-2]>i;o-=4)if(this.buffer[o-1]>=0){a=!0;break}if(a)for(;s>0&&this.buffer[s-2]>i;)this.buffer[s]=this.buffer[s-4],this.buffer[s+1]=this.buffer[s-3],this.buffer[s+2]=this.buffer[s-2],this.buffer[s+3]=this.buffer[s-1],s-=4,r>4&&(r-=4)}this.buffer[s]=e,this.buffer[s+1]=t,this.buffer[s+2]=i,this.buffer[s+3]=r}}shift(e,t,i,r){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let n=e,{parser:s}=this.p;(r>this.pos||t<=s.maxNode)&&(this.pos=r,s.stateFlag(n,1)||(this.reducePos=r)),this.pushState(n,i),this.shiftContext(t,i),t<=s.maxNode&&this.buffer.push(t,i,r,4)}else this.pos=r,this.shiftContext(t,i),t<=this.p.parser.maxNode&&this.buffer.push(t,i,r,4)}apply(e,t,i,r){e&65536?this.reduce(e):this.shift(e,t,i,r)}useNode(e,t){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=e)&&(this.p.reused.push(e),i++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(i,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let i=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new O(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let i=e<=this.p.parser.maxNode;i&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,i?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new El(this);;){let i=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(i==0)return!1;if((i&65536)==0)return!0;t.reduce(i)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let n=0,s;no&1&&a==s)||r.push(t[n],s)}t=r}let i=[];for(let r=0;r>19,r=t&65535,n=this.stack.length-i*3;if(n<0||e.getGoto(this.stack[n],r,!1)<0){let s=this.findForcedReduction();if(s==null)return!1;t=s}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],i=(r,n)=>{if(!t.includes(r))return t.push(r),e.allActions(r,s=>{if(!(s&393216))if(s&65536){let a=(s>>19)-n;if(a>1){let o=s&65535,l=this.stack.length-a*3;if(l>=0&&e.getGoto(this.stack[l],o,!1)>=0)return a<<19|65536|o}}else{let a=i(s,n+1);if(a!=null)return a}})};return i(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t0&&this.emitLookAhead()}},Ts=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},El=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,i=e>>19;i==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(i-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}},Al=class O{constructor(e,t,i){this.stack=e,this.pos=t,this.index=i,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new O(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new O(this.stack,this.pos,this.index)}};function br(O,e=Uint16Array){if(typeof O!="string")return O;let t=null;for(let i=0,r=0;i=92&&s--,s>=34&&s--;let o=s-32;if(o>=46&&(o-=46,a=!0),n+=o,a)break;n*=46}t?t[r++]=n:t=new e(n)}return t}var gi=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},o$=new gi,Ll=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=o$,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let i=this.range,r=this.rangeIndex,n=this.pos+e;for(;ni.to:n>=i.to;){if(r==this.ranges.length-1)return null;let s=this.ranges[++r];n+=s.from-i.to,i=s}return n}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,i,r;if(t>=0&&t=this.chunk2Pos&&ia.to&&(this.chunk2=this.chunk2.slice(0,a.to-i)),r=this.chunk2.charCodeAt(0)}}return i>=this.token.lookAhead&&(this.token.lookAhead=i+1),r}acceptToken(e,t=0){let i=t?this.resolveOffset(t,-1):this.pos;if(i==null||i=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=o$,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let i="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(i+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return i}},hO=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:i}=t.p;d$(this.data,e,t,this.id,i.data,i.tokenPrecTable)}};hO.prototype.contextual=hO.prototype.fallback=hO.prototype.extend=!1;var kt=class{constructor(e,t,i){this.precTable=t,this.elseToken=i,this.data=typeof e=="string"?br(e):e}token(e,t){let i=e.pos,r=0;for(;;){let n=e.next<0,s=e.resolveOffset(1,1);if(d$(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(n||r++,s==null)break;e.reset(s,e.token)}r&&(e.reset(i,e.token),e.acceptToken(this.elseToken,r))}};kt.prototype.contextual=hO.prototype.fallback=hO.prototype.extend=!1;var z=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}};function d$(O,e,t,i,r,n){let s=0,a=1<0){let Q=O[u];if(o.allows(Q)&&(e.token.value==-1||e.token.value==Q||Y0(Q,e.token.value,r,n))){e.acceptToken(Q);break}}let c=e.next,h=0,f=O[s+2];if(e.next<0&&f>h&&O[l+f*3-3]==65535){s=O[l+f*3-1];continue e}for(;h>1,Q=l+u+(u<<1),$=O[Q],p=O[Q+1]||65536;if(c<$)f=u;else if(c>=p)h=u+1;else{s=O[Q+2],e.advance();continue e}}break}}function l$(O,e,t){for(let i=e,r;(r=O[i])!=65535;i++)if(r==t)return i-e;return-1}function Y0(O,e,t,i){let r=l$(t,i,e);return r<0||l$(t,i,O)e)&&!i.type.isError)return t<0?Math.max(0,Math.min(i.to-1,e-25)):Math.min(O.length,Math.max(i.from+1,e+25));if(t<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return t<0?0:O.length}}var Ml=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?c$(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?c$(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=s,null;if(n instanceof D){if(s==e){if(s=Math.max(this.safeFrom,e)&&(this.trees.push(n),this.start.push(s),this.index.push(0))}else this.index[t]++,this.nextStart=s+n.length}}},Dl=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(i=>new gi)}getActions(e){let t=0,i=null,{parser:r}=e.p,{tokenizers:n}=r,s=r.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,o=0;for(let l=0;lh.end+25&&(o=Math.max(h.lookAhead,o)),h.value!=0)){let f=t;if(h.extended>-1&&(t=this.addActions(e,h.extended,h.end,t)),t=this.addActions(e,h.value,h.end,t),!c.extend&&(i=h,t>f))break}}for(;this.actions.length>t;)this.actions.pop();return o&&e.setLookAhead(o),!i&&e.pos==this.stream.end&&(i=new gi,i.value=e.p.parser.eofTerm,i.start=i.end=e.pos,t=this.addActions(e,i.value,i.end,t)),this.mainToken=i,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new gi,{pos:i,p:r}=e;return t.start=i,t.end=Math.min(i+1,r.stream.end),t.value=i==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,i){let r=this.stream.clipPos(i.pos);if(t.token(this.stream.reset(r,e),i),e.value>-1){let{parser:n}=i.p;for(let s=0;s=0&&i.p.parser.dialect.allows(a>>1)){(a&1)==0?e.value=a>>1:e.extended=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,i,r){for(let n=0;ne.bufferLength*4?new Ml(i,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,i=this.stacks=[],r,n;if(this.bigReductionCount>300&&e.length==1){let[s]=e;for(;s.forceReduce()&&s.stack.length&&s.stack[s.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let s=0;st)i.push(a);else{if(this.advanceStack(a,i,e))continue;{r||(r=[],n=[]),r.push(a);let o=this.tokens.getMainToken(a);n.push(o.value,o.end)}}break}}if(!i.length){let s=r&&_0(r);if(s)return He&&console.log("Finish with "+this.stackID(s)),this.stackToTree(s);if(this.parser.strict)throw He&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let s=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,n,i);if(s)return He&&console.log("Force-finish "+this.stackID(s)),this.stackToTree(s.forceAll())}if(this.recovering){let s=this.recovering==1?1:this.recovering*3;if(i.length>s)for(i.sort((a,o)=>o.score-a.score);i.length>s;)i.pop();i.some(a=>a.reducePos>t)&&this.recovering--}else if(i.length>1){e:for(let s=0;s500&&l.buffer.length>500)if((a.score-l.score||a.buffer.length-l.buffer.length)>0)i.splice(o--,1);else{i.splice(s--,1);continue e}}}i.length>12&&(i.sort((s,a)=>a.score-s.score),i.splice(12,i.length-12))}this.minStackPos=i[0].pos;for(let s=1;s ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let l=e.curContext&&e.curContext.tracker.strict,c=l?e.curContext.hash:0;for(let h=this.fragments.nodeAt(r);h;){let f=this.parser.nodeSet.types[h.type.id]==h.type?n.getGoto(e.state,h.type.id):-1;if(f>-1&&h.length&&(!l||(h.prop(R.contextHash)||0)==c))return e.useNode(h,f),He&&console.log(s+this.stackID(e)+` (via reuse of ${n.getName(h.type.id)})`),!0;if(!(h instanceof D)||h.children.length==0||h.positions[0]>0)break;let u=h.children[0];if(u instanceof D&&h.positions[0]==0)h=u;else break}}let a=n.stateSlot(e.state,4);if(a>0)return e.reduce(a),He&&console.log(s+this.stackID(e)+` (via always-reduce ${n.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let o=this.tokens.getActions(e);for(let l=0;lr?t.push(Q):i.push(Q)}return!1}advanceFully(e,t){let i=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>i)return h$(e,t),!0}}runRecovery(e,t,i){let r=null,n=!1;for(let s=0;s ":"";if(a.deadEnd&&(n||(n=!0,a.restart(),He&&console.log(c+this.stackID(a)+" (restarted)"),this.advanceFully(a,i))))continue;let h=a.split(),f=c;for(let u=0;u<10&&h.forceReduce()&&(He&&console.log(f+this.stackID(h)+" (via force-reduce)"),!this.advanceFully(h,i));u++)He&&(f=this.stackID(h)+" -> ");for(let u of a.recoverByInsert(o))He&&console.log(c+this.stackID(u)+" (via recover-insert)"),this.advanceFully(u,i);this.stream.end>a.pos?(l==a.pos&&(l++,o=0),a.recoverByDelete(o,l),He&&console.log(c+this.stackID(a)+` (via recover-delete ${this.parser.getName(o)})`),h$(a,i)):(!r||r.scoreO,Ge=class{constructor(e){this.start=e.start,this.shift=e.shift||Cl,this.reduce=e.reduce||Cl,this.reuse=e.reuse||Cl,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},Oe=class O extends eO{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;ae.topRules[a][1]),r=[];for(let a=0;a=0)n(c,o,a[l++]);else{let h=a[l+-c];for(let f=-c;f>0;f--)n(a[l++],o,h);l++}}}this.nodeSet=new Kt(t.map((a,o)=>ue.define({name:o>=this.minRepeatTerm?void 0:a,id:o,props:r[o],top:i.indexOf(o)>-1,error:o==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(o)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let s=br(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;atypeof a=="number"?new hO(s,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,i){let r=new Il(this,e,t,i);for(let n of this.wrappers)r=n(r,e,t,i);return r}getGoto(e,t,i=!1){let r=this.goto;if(t>=r[0])return-1;for(let n=r[t+1];;){let s=r[n++],a=s&1,o=r[n++];if(a&&i)return o;for(let l=n+(s>>1);n0}validAction(e,t){return!!this.allActions(e,i=>i==t?!0:null)}allActions(e,t){let i=this.stateSlot(e,4),r=i?t(i):void 0;for(let n=this.stateSlot(e,1);r==null;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=Ut(this.data,n+2);else break;r=t(Ut(this.data,n+1))}return r}nextStates(e){let t=[];for(let i=this.stateSlot(e,1);;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=Ut(this.data,i+2);else break;if((this.data[i+2]&1)==0){let r=this.data[i+1];t.some((n,s)=>s&1&&n==r)||t.push(this.data[i],r)}}return t}configure(e){let t=Object.assign(Object.create(O.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let i=this.topRules[e.top];if(!i)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=i}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(i=>{let r=e.tokenizers.find(n=>n.from==i);return r?r.to:i})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((i,r)=>{let n=e.specializers.find(a=>a.from==i.external);if(!n)return i;let s=Object.assign(Object.assign({},i),{external:n.to});return t.specializers[r]=f$(s),s})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),i=t.map(()=>!1);if(e)for(let n of e.split(" ")){let s=t.indexOf(n);s>=0&&(i[s]=!0)}let r=null;for(let n=0;ni)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scoreO.external(t,i)<<1|e}return O.get}var u$=1,R0=2,V0=3,q0=82,z0=76,U0=117,W0=85,j0=97,C0=122,G0=65,E0=90,A0=95,Nl=48,Q$=34,L0=40,$$=41,M0=32,p$=62,D0=new z(O=>{if(O.next==z0||O.next==W0?O.advance():O.next==U0&&(O.advance(),O.next==Nl+8&&O.advance()),O.next!=q0||(O.advance(),O.next!=Q$))return;O.advance();let e="";for(;O.next!=L0;){if(O.next==M0||O.next<=13||O.next==$$)return;e+=String.fromCharCode(O.next),O.advance()}for(O.advance();;){if(O.next<0)return O.acceptToken(u$);if(O.next==$$){let t=!0;for(let i=0;t&&i{if(O.next==p$)O.peek(1)==p$&&O.acceptToken(R0,1);else{let e=!1,t=0;for(;;t++){if(O.next>=G0&&O.next<=E0)e=!0;else{if(O.next>=j0&&O.next<=C0)return;if(O.next!=A0&&!(O.next>=Nl&&O.next<=Nl+9))break}O.advance()}e&&t>1&&O.acceptToken(V0)}},{extend:!0}),B0=F({"typedef struct union enum class typename decltype auto template operator friend noexcept namespace using requires concept import export module __attribute__ __declspec __based":d.definitionKeyword,"extern MsCallModifier MsPointerModifier extern static register thread_local inline const volatile restrict _Atomic mutable constexpr constinit consteval virtual explicit VirtualSpecifier Access":d.modifier,"if else switch for while do case default return break continue goto throw try catch":d.controlKeyword,"co_return co_yield co_await":d.controlKeyword,"new sizeof delete static_assert":d.operatorKeyword,"NULL nullptr":d.null,this:d.self,"True False":d.bool,"TypeSize PrimitiveType":d.standard(d.typeName),TypeIdentifier:d.typeName,FieldIdentifier:d.propertyName,"CallExpression/FieldExpression/FieldIdentifier":d.function(d.propertyName),"ModuleName/Identifier":d.namespace,PartitionName:d.labelName,StatementIdentifier:d.labelName,"Identifier DestructorName":d.variableName,"CallExpression/Identifier":d.function(d.variableName),"CallExpression/ScopedIdentifier/Identifier":d.function(d.variableName),"FunctionDeclarator/Identifier FunctionDeclarator/DestructorName":d.function(d.definition(d.variableName)),NamespaceIdentifier:d.namespace,OperatorName:d.operator,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,AssignOp:d.definitionOperator,UpdateOp:d.updateOperator,LineComment:d.lineComment,BlockComment:d.blockComment,Number:d.number,String:d.string,"RawString SystemLibString":d.special(d.string),CharLiteral:d.character,EscapeSequence:d.escape,"UserDefinedLiteral/Identifier":d.literal,PreProcArg:d.meta,"PreprocDirectiveName #include #ifdef #ifndef #if #define #else #endif #elif":d.processingInstruction,MacroName:d.special(d.name),"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,"< >":d.angleBracket,". ->":d.derefOperator,", ;":d.separator}),N0={__proto__:null,bool:36,char:36,int:36,float:36,double:36,void:36,size_t:36,ssize_t:36,intptr_t:36,uintptr_t:36,charptr_t:36,int8_t:36,int16_t:36,int32_t:36,int64_t:36,uint8_t:36,uint16_t:36,uint32_t:36,uint64_t:36,char8_t:36,char16_t:36,char32_t:36,char64_t:36,const:70,volatile:72,restrict:74,_Atomic:76,mutable:78,constexpr:80,constinit:82,consteval:84,struct:88,__declspec:92,final:148,override:148,public:152,private:152,protected:152,virtual:154,extern:160,static:162,register:164,inline:166,thread_local:168,__attribute__:172,__based:178,__restrict:180,__uptr:180,__sptr:180,_unaligned:180,__unaligned:180,noexcept:194,requires:198,TRUE:786,true:786,FALSE:788,false:788,typename:218,class:220,template:234,throw:248,__cdecl:256,__clrcall:256,__stdcall:256,__fastcall:256,__thiscall:256,__vectorcall:256,try:260,catch:264,export:282,import:286,case:296,default:298,if:308,else:314,switch:318,do:322,while:324,for:330,return:334,break:338,continue:342,goto:346,co_return:350,co_yield:354,using:362,typedef:366,namespace:380,new:398,delete:400,co_await:402,concept:406,enum:410,static_assert:414,friend:422,union:424,explicit:430,operator:444,module:456,signed:518,unsigned:518,long:518,short:518,decltype:528,auto:530,sizeof:566,NULL:572,nullptr:586,this:588},F0={__proto__:null,"<":755},H0={__proto__:null,">":135},K0={__proto__:null,operator:388,new:576,delete:582},m$=Oe.deserialize({version:14,states:"$;SQ!QQVOOP'gOUOOO(XOWO'#CdO,RQUO'#CgO,]QUO'#FjO-sQbO'#CxO.UQUO'#CxO0TQUO'#KZO0[QUO'#CwO0gOpO'#DvO0oQ!dO'#D]OOQR'#JO'#JOO5XQVO'#GUO5fQUO'#JVOOQQ'#JV'#JVO8zQUO'#KnO{QVO'#E^O?]QUO'#E^OOQQ'#Ed'#EdOOQQ'#Ee'#EeO?bQVO'#EfO@XQVO'#EiOBUQUO'#FPOBvQUO'#FhOOQR'#Fj'#FjOB{QUO'#FjOOQR'#LR'#LROOQR'#LQ'#LQOETQVO'#KQOFxQUO'#LWOGVQUO'#KrOGkQUO'#LWOH]QUO'#LYOOQR'#HU'#HUOOQR'#HV'#HVOOQR'#HW'#HWOOQR'#K}'#K}OOQR'#J_'#J_Q!QQVOOOHkQVO'#FOOIWQUO'#EhOI_QUOOOKZQVO'#HgOKkQUO'#HgONVQUO'#KrONaQUO'#KrOOQQ'#Kr'#KrO!!_QUO'#KrOOQQ'#Jq'#JqO!!lQUO'#HxOOQQ'#KZ'#KZO!&^QUO'#KZO!&zQUO'#KQO!(zQVO'#I]O!(zQVO'#I`OCQQUO'#KQOOQQ'#Ip'#IpOOQQ'#KQ'#KQO!,}QUO'#KZOOQR'#KY'#KYO!-UQUO'#DZO!/mQUO'#KoOOQQ'#Ko'#KoO!/tQUO'#KoO!/{QUO'#ETO!0QQUO'#EWO!0VQUO'#FRO8zQUO'#FPO!QQVO'#F^O!0[Q#vO'#F`O!0gQUO'#FkO!0oQUO'#FpO!0tQVO'#FrO!0oQUO'#FuO!3sQUO'#FvO!3xQVO'#FxO!4SQUO'#FzO!4XQUO'#F|O!4^QUO'#GOO!4cQVO'#GQO!(zQVO'#GSO!4jQUO'#GpO!4xQUO'#GYO!(zQVO'#FeO!6VQUO'#FeO!6[QVO'#G`O!6cQUO'#GaO!6nQUO'#GnO!6sQUO'#GrO!6xQUO'#GzO!7jQ&lO'#HiO!:mQUO'#GuO!:}QUO'#HXO!;YQUO'#HZO!;bQUO'#DXO!;bQUO'#HuO!;bQUO'#HvO!;yQUO'#HwO!<[QUO'#H|O!=PQUO'#H}O!>uQVO'#IbO!(zQVO'#IdO!?PQUO'#IgO!?WQVO'#IjP!@}{,UO'#CbP!6n{,UO'#CbP!AY{7[O'#CbP!6n{,UO'#CbP!A_{,UO'#CbP!AjOSO'#IzPOOO)CEn)CEnOOOO'#I|'#I|O!AtOWO,59OOOQR,59O,59OO!(zQVO,59VOOQQ,59X,59XOOQR'#Do'#DoO!(zQVO,5;ROOQR,5qOOQR'#IX'#IXOOQR'#IY'#IYOOQR'#IZ'#IZOOQR'#I['#I[O!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!DOQVO,5>zOOQQ,5?W,5?WO!EqQVO'#CjO!IjQUO'#CzOOQQ,59d,59dOOQQ,59c,59cOOQQ,5<},5<}O!IwQ&lO,5=mO!?PQUO,5?RO!LkQVO,5?UO!LrQbO,59dO!L}QVO'#FYOOQQ,5?P,5?PO!M_QVO,59WO!MfO`O,5:bO!MkQbO'#D^O!M|QbO'#K_O!N[QbO,59wO!NdQbO'#CxO!NuQUO'#CxO!NzQUO'#KZO# UQUO'#CwOOQR-E<|-E<|O# aQUO,5ApO# hQVO'#EfO@XQVO'#EiOBUQUO,5;kOOQR,5l,5>lO#3gQUO'#CgO#4]QUO,5>pO#6OQUO'#IeOOQR'#I}'#I}O#6WQUO,5:xO#6tQUO,5:xO#7eQUO,5:xO#8YQUO'#CuO!0QQUO'#CmOOQQ'#JW'#JWO#6tQUO,5:xO#8bQUO,5;QO!4xQUO'#DOO#9kQUO,5;QO#9pQUO,5>QO#:|QUO'#DOO#;dQUO,5>{O#;iQUO'#KxO#}QUO'#L]O#?UQUO,5>UO#?ZQbO'#CxO#?fQUO'#GcO#?kQUO'#E^O#@[QUO,5;kO#@sQUO'#LOO#@{QUO,5;rOKkQUO'#HfOBUQUO'#HgO#AQQUO'#KrO!6nQUO'#HjO#AxQUO'#CuO!0tQVO,5PO$(WQUO'#E[O$(eQUO,5>ROOQQ,5>S,5>SO$,RQVO'#C|OOQQ-E=o-E=oOOQQ,5>d,5>dOOQQ,59a,59aO$,]QUO,5>wO$.]QUO,5>zO!6nQUO,59uO$.pQUO,5;qO$.}QUO,5<{O!0QQUO,5:oOOQQ,5:r,5:rO$/YQUO,5;mO$/_QUO'#KnOBUQUO,5;kOOQR,5;x,5;xO$0OQUO'#FbO$0^QUO'#FbO$0cQUO,5;zO$3|QVO'#FmO!0tQVO,5eQUO,5pQUO,5=[O$>uQUO,5=[O!4xQUO,5}QUO,5uQUO,5<{O$DQQUO,5<{O$D]QUO,5=YO!(zQVO,5=^O!(zQVO,5=fO#NeQUO,5=mOOQQ,5>T,5>TO$FbQUO,5>TO$FlQUO,5>TO$FqQUO,5>TO$FvQUO,5>TO!6nQUO,5>TO$HtQUO'#KZO$H{QUO,5=oO$IWQUO,5=aOKkQUO,5=oO$JQQUO,5=sOOQR,5=s,5=sO$JYQUO,5=sO$LeQVO'#H[OOQQ,5=u,5=uO!;]QUO,5=uO%#`QUO'#KkO%#gQUO'#K[O%#{QUO'#KkO%$VQUO'#DyO%$hQUO'#D|O%'eQUO'#K[OOQQ'#K['#K[O%)WQUO'#K[O%#gQUO'#K[O%)]QUO'#K[OOQQ,59s,59sOOQQ,5>a,5>aOOQQ,5>b,5>bO%)eQUO'#HzO%)mQUO,5>cOOQQ,5>c,5>cO%-XQUO,5>cO%-dQUO,5>hO%1OQVO,5>iO%1VQUO,5>|O# hQVO'#EfO%4]QUO,5>|OOQQ,5>|,5>|O%4|QUO,5?OO%7QQUO,5?RO!<[QUO,5?RO%8|QUO,5?UO%sQUO1G0mOOQQ1G0m1G0mO%@PQUO'#CpO%B`QbO'#CxO%BkQUO'#CsO%BpQUO'#CsO%BuQUO1G.uO#AxQUO'#CrOOQQ1G.u1G.uO%DxQUO1G4]O%FOQUO1G4^O%GqQUO1G4^O%IdQUO1G4^O%KVQUO1G4^O%LxQUO1G4^O%NkQUO1G4^O&!^QUO1G4^O&$PQUO1G4^O&%rQUO1G4^O&'eQUO1G4^O&)WQUO1G4^O&*yQUO'#KPO&,SQUO'#KPO&,[QUO,59UOOQQ,5=P,5=PO&.dQUO,5=PO&.nQUO,5=PO&.sQUO,5=PO&.xQUO,5=PO!6nQUO,5=PO#NeQUO1G3XO&/SQUO1G4mO!<[QUO1G4mO&1OQUO1G4pO&2qQVO1G4pOOQQ1G/O1G/OOOQQ1G.}1G.}OOQQ1G2i1G2iO!IwQ&lO1G3XO&2xQUO'#LPO@XQVO'#EiO&4RQUO'#F]OOQQ'#Ja'#JaO&4WQUO'#FZO&4cQUO'#LPO&4kQUO,5;tO&4pQUO1G.rOOQQ1G.r1G.rOOQR1G/|1G/|O&6cQ!dO'#JPO&6hQbO,59xO&8yQ!eO'#D`O&9QQ!dO'#JRO&9VQbO,5@yO&9VQbO,5@yOOQR1G/c1G/cO&9bQbO1G/cO&9gQ&lO'#GeO&:eQbO,59dOOQR1G7[1G7[O#@[QUO1G1VO&:pQUO1G1^OBUQUO1G1VO&=RQUO'#CzO#*wQbO,59dO&@tQUO1G6tOOQR-E<{-E<{O&BWQUO1G0dO#6WQUO1G0dOOQQ-E=U-E=UO#6tQUO1G0dOOQQ1G0l1G0lO&B{QUO,59jOOQQ1G3l1G3lO&CcQUO,59jO&CyQUO,59jO!M_QVO1G4gO!(zQVO'#JYO&DeQUO,5AdOOQQ1G0o1G0oO!(zQVO1G0oO!6nQUO'#JnO&DmQUO,5AwOOQQ1G3p1G3pOOQR1G1V1G1VO&HjQVO'#FOO!M_QVO,5;sOOQQ,5;s,5;sOBUQUO'#JcO&JfQUO,5AjO&JnQVO'#E[OOQR1G1^1G1^O&M]QUO'#L]OOQR1G1n1G1nOOQR-E=f-E=fOOQR1G7^1G7^O#DhQUO1G7^OGVQUO1G7^O#DhQUO1G7`OOQR1G7`1G7`O&MeQUO'#G}O&MmQUO'#LXOOQQ,5=h,5=hO&M{QUO,5=jO&NQQUO,5=kOOQR1G7a1G7aO#EfQVO1G7aO&NVQUO1G7aO' ]QVO,5=kOOQR1G1U1G1UO$.vQUO'#E]O'!RQUO'#E]OOQQ'#Kz'#KzO'!lQUO'#KyO'!wQUO,5;UO'#PQUO'#ElO'#dQUO'#ElO'#wQUO'#EtOOQQ'#J['#J[O'#|QUO,5;cO'$sQUO,5;cO'%nQUO,5;dO'&tQVO,5;dOOQQ,5;d,5;dO''OQVO,5;dO'&tQVO,5;dO''VQUO,5;bO'(SQUO,5;eO'(_QUO'#KqO'(gQUO,5:vO'(lQUO,5;fOOQQ1G0n1G0nOOQQ'#J]'#J]O''VQUO,5;bO!4xQUO'#E}OOQQ,5;b,5;bO')gQUO'#E`O'+aQUO'#E{OHrQUO1G0nO'+fQUO'#EbOOQQ'#JX'#JXO'-OQUO'#KsOOQQ'#Ks'#KsO'-xQUO1G0eO'.pQUO1G3kO'/vQVO1G3kOOQQ1G3k1G3kO'0QQVO1G3kO'0XQUO'#L`O'1eQUO'#KXO'1sQUO'#KWO'2OQUO,59hO'2WQUO1G/aO'2]QUO'#FPOOQR1G1]1G1]OOQR1G2g1G2gO$>uQUO1G2gO'2gQUO1G2gO'2rQUO1G0ZOOQR'#J`'#J`O'2wQVO1G1XO'8pQUO'#FTO'8uQUO1G1VO!6nQUO'#JdO'9TQUO,5;|O$0^QUO,5;|OOQQ'#Fc'#FcOOQQ,5;|,5;|O'9cQUO1G1fOOQR1G1f1G1fO'9kQUO,5}QUO1G2`OOQQ'#Cv'#CvO'CzQUO'#G[O'DuQUO'#G[O'DzQUO'#LSO'EYQUO'#G_OOQQ'#LT'#LTO'EhQUO1G2`O'EmQVO1G1kO'HOQVO'#GUOBUQUO'#FWOOQR'#Je'#JeO'EmQVO1G1kO'HYQUO'#FvOOQR1G2f1G2fO'H_QUO1G2gO'HdQUO'#JgO'2gQUO1G2gO!(zQVO1G2tO'HlQUO1G2xO'IuQUO1G3QO'J{QUO1G3XOOQQ1G3o1G3oO'KaQUO1G3oOOQR1G3Z1G3ZO'KfQUO'#KZO'2]QUO'#LUOGkQUO'#LWOOQR'#Gy'#GyO#DhQUO'#LYOOQR'#HQ'#HQO'KpQUO'#GvO'#wQUO'#GuOOQR1G2{1G2{O'LmQUO1G2{O'MdQUO1G3ZO'MoQUO1G3_O'MtQUO1G3_OOQR1G3_1G3_O'M|QUO'#H]OOQR'#H]'#H]O( VQUO'#H]O!(zQVO'#H`O!(zQVO'#H_OOQR'#L['#L[O( [QUO'#L[OOQR'#Jk'#JkO( aQVO,5=vOOQQ,5=v,5=vO( hQUO'#H^O( pQUO'#HZOOQQ1G3a1G3aO( zQUO,5@vOOQQ,5@v,5@vO%)WQUO,5@vO%)]QUO,5@vO%$VQUO,5:eO(%iQUO'#KlO(%wQUO'#KlOOQQ,5:e,5:eOOQQ'#JS'#JSO(&SQUO'#D}O(&^QUO'#KrOGkQUO'#LWO('YQUO'#D}OOQQ'#Hp'#HpOOQQ'#Hr'#HrOOQQ'#Hs'#HsOOQQ'#Km'#KmOOQQ'#JU'#JUO('dQUO,5:hOOQQ,5:h,5:hO((aQUO'#LWO((nQUO'#HtO()UQUO,5@vO()]QUO'#H{O()hQUO'#L_O()pQUO,5>fO()uQUO'#L^OOQQ1G3}1G3}O(-lQUO1G3}O(-sQUO1G3}O(-zQUO1G4TO(/QQUO1G4TO(/VQUO,5A}O!6nQUO1G4hO!(zQVO'#IiOOQQ1G4m1G4mO(/[QUO1G4mO(1_QVO1G4pPOOO1G.h1G.hP!A_{,UO1G.hP(3_QUO'#LfP(3j{,UO1G.hP(3o{7[O1G.hPO{O-E=s-E=sPOOO,5BO,5BOP(3w{,UO,5BOPOOO1G5Q1G5QO!(zQVO7+$]O(3|QUO'#CzOOQQ,59_,59_O(4XQbO,59dO(4dQbO,59_OOQQ,59^,59^OOQQ7+)w7+)wO!M_QVO'#JtO(4oQUO,5@kOOQQ1G.p1G.pOOQQ1G2k1G2kO(4wQUO1G2kO(4|QUO7+(sOOQQ7+*X7+*XO(7bQUO7+*XO(7iQUO7+*XO(1_QVO7+*[O#NeQUO7+(sO(7vQVO'#JbO(8ZQUO,5AkO(8cQUO,5;vOOQQ'#Cp'#CpOOQQ,5;w,5;wO!(zQVO'#F[OOQQ-E=_-E=_O!M_QVO,5;uOOQQ1G1`1G1`OOQQ,5?k,5?kOOQQ-E<}-E<}OOQR'#Dg'#DgOOQR'#Di'#DiOOQR'#Dl'#DlO(9lQ!eO'#K`O(9sQMkO'#K`O(9zQ!eO'#K`OOQR'#K`'#K`OOQR'#JQ'#JQO(:RQ!eO,59zOOQQ,59z,59zO(:YQbO,5?mOOQQ-E=P-E=PO(:hQbO1G6eOOQR7+$}7+$}OOQR7+&q7+&qOOQR7+&x7+&xO'8uQUO7+&qO(:sQUO7+&OO#6WQUO7+&OO(;hQUO1G/UO(]QUO,5?tOOQQ-E=W-E=WO(?fQUO7+&ZOOQQ,5@Y,5@YOOQQ-E=l-E=lO(?kQUO'#LPO@XQVO'#EiO(@wQUO1G1_OOQQ1G1_1G1_O(BQQUO,5?}OOQQ,5?},5?}OOQQ-E=a-E=aO(BfQUO'#KqOOQR7+,x7+,xO#DhQUO7+,xOOQR7+,z7+,zO(BsQUO,5=iO#DsQUO'#JjO(CUQUO,5AsOOQR1G3U1G3UOOQR1G3V1G3VO(CdQUO7+,{OOQR7+,{7+,{O(E[QUO,5:wO(FyQUO'#EwO!(zQVO,5;VO(GlQUO,5:wO(GvQUO'#EpO(HXQUO'#EzOOQQ,5;Z,5;ZO#K]QVO'#ExO(HoQUO,5:wO(HvQUO'#EyO#GgQUO'#JZO(J`QUO,5AeOOQQ1G0p1G0pO(JkQUO,5;WO!<[QUO,5;^O(KUQUO,5;_O(KdQUO,5;WO(MvQUO,5;`OOQQ-E=Y-E=YO(NOQUO1G0}OOQQ1G1O1G1OO(NyQUO1G1OO)!PQVO1G1OO)!WQVO1G1OO)!bQUO1G0|OOQQ1G0|1G0|OOQQ1G1P1G1PO)#_QUO'#JoO)#iQUO,5A]OOQQ1G0b1G0bOOQQ-E=Z-E=ZO)#qQUO,5;iO!<[QUO,5;iO)$nQVO,5:zO)$uQUO,5;gO$ mQUO7+&YOOQQ7+&Y7+&YO!(zQVO'#EfO)$|QUO,5:|OOQQ'#Kt'#KtOOQQ-E=V-E=VOOQQ,5A_,5A_OOQQ'#Jl'#JlO)(qQUO7+&PPOQQ7+&P7+&POOQQ7+)V7+)VO))iQUO7+)VO)*oQVO7+)VOOQQ,5>m,5>mO$)YQVO'#JsO)*vQUO,5@rOOQQ1G/S1G/SOOQQ7+${7+${O)+RQUO7+(RO)+WQUO7+(ROOQR7+(R7+(RO$>uQUO7+(ROOQQ7+%u7+%uOOQR-E=^-E=^O!0VQUO,5;oOOQQ,5@O,5@OOOQQ-E=b-E=bO$0^QUO1G1hOOQQ1G1h1G1hOOQR7+'Q7+'QOOQR1G1s1G1sOBUQUO,5;rO)+tQUO,5hQUO,5}QUO7+(dO)?SQVO7+(dOOQQ7+(l7+(lOOQQ7+)Z7+)ZO)?[QUO'#KkO)?fQUO'#KkOOQR,5=b,5=bO)?sQUO,5=bO!;bQUO,5=bO!;bQUO,5=bO!;bQUO,5=bOOQR7+(g7+(gOOQR7+(u7+(uOOQR7+(y7+(yOOQR,5=w,5=wO)?xQUO,5=zO)AOQUO,5=yOOQR,5Av,5AvOOQR-E=i-E=iOOQQ1G3b1G3bO)BUQUO,5=xO)BZQVO'#EfOOQQ1G6b1G6bO%)WQUO1G6bO%)]QUO1G6bOOQQ1G0P1G0POOQQ-E=Q-E=QO)DrQUO,5AWO(%iQUO'#JTO)D}QUO,5AWO)D}QUO,5AWO)EVQUO,5:iO8zQUO,5:iOOQQ,5>],5>]O)EaQUO,5ArO)EhQUO'#EVO)FrQUO'#EVO)G]QUO,5:iO)GgQUO'#HlO)GgQUO'#HmOOQQ'#Kp'#KpO)HUQUO'#KpO!(zQVO'#HnOOQQ,5:i,5:iO)HvQUO,5:iO!M_QVO,5:iOOQQ-E=S-E=SOOQQ1G0S1G0SOOQQ,5>`,5>`O)H{QUO1G6bO!(zQVO,5>gO)LjQUO'#JrO)LuQUO,5AyOOQQ1G4Q1G4QO)L}QUO,5AxOOQQ,5Ax,5AxOOQQ7+)i7+)iO*!lQUO7+)iOOQQ7+)o7+)oO*'kQVO1G7iO*)mQUO7+*SO*)rQUO,5?TO**xQUO7+*[POOO7+$S7+$SP*,kQUO'#LgP*,sQUO,5BQP*,x{,UO7+$SPOOO1G7j1G7jO*,}QUO<XQUO7+&jO*?_QVO7+&jOOQQ7+&h7+&hOOQQ,5@Z,5@ZOOQQ-E=m-E=mO*@ZQUO1G1TO*@eQUO1G1TO*AOQUO1G0fOOQQ1G0f1G0fO*BUQUO'#K|O*B^QUO1G1ROOQQ<uQUO<VO)GgQUO'#JpO*NQQUO1G0TO*NcQVO1G0TOOQQ1G3u1G3uO*NjQUO,5>WO*NuQUO,5>XO+ dQUO,5>YO+!jQUO1G0TO%)]QUO7++|O+#pQUO1G4ROOQQ,5@^,5@^OOQQ-E=p-E=pOOQQ<n,5>nO+/iQUOANAXOOQRANAXANAXO+/nQUO7+'`OOQRAN@cAN@cO+0zQVOAN@nO+1RQUOAN@nO!0tQVOAN@nO+2[QUOAN@nO+2aQUOAN@}O+2lQUOAN@}O+3rQUOAN@}OOQRAN@nAN@nO!M_QVOAN@}OOQRANAOANAOO+3wQUO7+'|O)7VQUO7+'|OOQQ7+(O7+(OO+4YQUO7+(OO+5`QVO7+(OO+5gQVO7+'hO+5nQUOANAjOOQR7+(h7+(hOOQR7+)P7+)PO+5sQUO7+)PO+5xQUO7+)POOQQ<= h<= hO+6QQUO7+,^O+6YQUO1G5ZOOQQ1G5Z1G5ZO+6eQUO7+%oOOQQ7+%o7+%oO+6vQUO7+%oO*NcQVO7+%oOOQQ7+)a7+)aO+6{QUO7+%oO+8RQUO7+%oO!M_QVO7+%oO+8]QUO1G0]O*LkQUO1G0]O)EhQUO1G0]OOQQ1G0a1G0aO+8zQUO1G3qO+:QQVO1G3qOOQQ1G3q1G3qO+:[QVO1G3qO+:cQUO,5@[OOQQ-E=n-E=nOOQQ1G3r1G3rO%)WQUO<= hOOQQ7+*Z7+*ZPOQQ,5@b,5@bPOQQ-E=t-E=tOOQQ1G/}1G/}OOQQ,5?x,5?xOOQQ-E=[-E=[OOQRG26sG26sO+:zQUOG26YO!0tQVOG26YO+QQUO<uAN>uO+BpQUOAN>uO+CvQUOAN>uO!M_QVOAN>uO+C{QUO<nQUO'#KZO,?OQUO'#CzO,?^QbO,59dO,6VQUO7+&OO,PP>j>|?bFYMY!&^!,tP!3n!4c!5WP!5rPPPPPPPP!6]P!7uP!9W!:pP!:vPPPPPP!:yP!:yPP!:yPP!;VPPPPPP!=X!@oP!@rPP!A`!BTPPPPP!BXP>m!CjPP>m!Eq!Gr!HQ!Ig!KWP!KcP!Kr!Kr# S#$c#%y#)V#,a!Gr#,kPP!Gr#,r#,x#,k#,k#,{P#-P#-n#-n#-n#-n!KWP#.X#.j#1PP#1eP#3QP#3U#3^#4R#4^#6l#6t#6t#3UP#3UP#6{#7RP#7]PP#7x#8g#9X#7xP#9y#:VP#7xP#7xPP#7x#7xP#7xP#7xP#7xP#7xP#7xP#7xP#:Y#7]#:vP#;]P#;r#;r#;r#;r#m>m>m$%Y!BT!BT!BT!BT!BT!BT!6]!6]!6]$%mP$'Y$'h!6]$'nPP!6]$)|$*P#Bo$*S:u7k$-Y$/T$0t$2d7kPP7k$4W7kP7k7kP7kP$7^7kP7kPP7k$7jPPPPPPPPP*]P$:r$:x$=a$?g$?m$@T$@_$@j$@y$AP$B_$C^$Ce$Cl$Cr$Cz$DU$D[$Dg$Dm$Dv$EO$EZ$Ea$Ek$Eq$E{$FS$Fc$Fi$FoP$Fu$F}$GU$Gd$IQ$IW$I^$Ie$InPPPPPPPP$It$IxPPPPP%!z$)|%!}%&V%(_PP%(l%(oPPPPPPPPPP%({%*O%*U%*Y%,P%-^%.P%.W%0g%0mPPP%0w%1S%1V%1]%2d%2g%2q%2{%3P%4T%4v%4|#BxP%5g%5w%5z%6[%6h%6l%6r%6x$)|$*P$*P%6{%7OP%7Y%7]R#cP'`mO[aefwx{!W!X!g!k!n!r!s!v!x#X#Y#[#g#j#m#r#s#t#u#v#w#x#y#z#{#|$O$V$X$Z$f$g$l%^%n&R&T&X&c&g&y&z&}'P'Q'c'j'k'z(a(c(j)m)s*i*j*m*r*s*w+X+Z+i+k+l,Q,S,o,r,x-^-_-b-h.Q.R.V/O/R/]/d/m/o/t/v0i0|1R1b1c1m1q1{1}2d2g2j2v2{3O3j4P4S4X4b5Z5f5r6`6d6g6i6k6u6w6|7c7k7n8f8h8n8t8u9S9W9^9`9m9p9q9|:P:V:X:^:c:gU%pm%q7RQ&n!`Q(k#]d0Q*O/}0O0P0S5O5P5Q5T8RR7R3Ub}Oaewx{!g&T*r&v$j[!W!X!k!n!r!s!v!x#X#Y#[#g#j#m#r#s#t#u#v#w#x#y#z#{#|$O$V$X$Z$f$g$l%^%n&R&X&c&g&y&z&}'P'Q'c'j'k'z(a(c(j)m)s*i*j*m*s*w+X+Z+i+k+l,Q,S,o,r,x-^-_-b-h.Q.R.V/O/R/]/d/m/o/t/v0|1b1c1m1q1{1}2d2g2j2v2{3O3j4P4S4X4b5Z5f5r6`6d6g6i6k6u6w6|7c7k7n8f8h8n8t8u9S9W9^9`9m9p9q9|:P:V:X:^:c:gS%af0i#d%kgnp|#O$h$}%O%T%e%i%j%x&t'u'v(R*Z*a*c*u+^,m,w-`-q-x.g.n.p0^0z0{1P1T2`2k5b6h;X;Y;Z;a;b;c;p;q;r;s;w;x;y;z MacroName LineComment BlockComment PreprocDirective #include String EscapeSequence SystemLibString Identifier ) ( ArgumentList ConditionalExpression AssignmentExpression CallExpression PrimitiveType FieldExpression FieldIdentifier DestructorName TemplateMethod ScopedFieldIdentifier NamespaceIdentifier TemplateType TypeIdentifier ScopedTypeIdentifier ScopedNamespaceIdentifier :: NamespaceIdentifier TypeIdentifier TemplateArgumentList < TypeDescriptor const volatile restrict _Atomic mutable constexpr constinit consteval StructSpecifier struct MsDeclspecModifier __declspec Attribute AttributeName Identifier AttributeArgs { } [ ] UpdateOp ArithOp ArithOp ArithOp LogicOp BitOp BitOp BitOp CompareOp CompareOp CompareOp > CompareOp BitOp UpdateOp , Number CharLiteral AttributeArgs VirtualSpecifier BaseClassClause Access virtual FieldDeclarationList FieldDeclaration extern static register inline thread_local AttributeSpecifier __attribute__ PointerDeclarator MsBasedModifier __based MsPointerModifier FunctionDeclarator ParameterList ParameterDeclaration PointerDeclarator FunctionDeclarator Noexcept noexcept RequiresClause requires True False ParenthesizedExpression CommaExpression LambdaExpression LambdaCaptureSpecifier TemplateParameterList OptionalParameterDeclaration TypeParameterDeclaration typename class VariadicParameterDeclaration VariadicDeclarator ReferenceDeclarator OptionalTypeParameterDeclaration VariadicTypeParameterDeclaration TemplateTemplateParameterDeclaration template AbstractFunctionDeclarator AbstractPointerDeclarator AbstractArrayDeclarator AbstractParenthesizedDeclarator AbstractReferenceDeclarator ThrowSpecifier throw TrailingReturnType CompoundStatement FunctionDefinition MsCallModifier TryStatement try CatchClause catch LinkageSpecification Declaration InitDeclarator InitializerList InitializerPair SubscriptDesignator FieldDesignator ExportDeclaration export ImportDeclaration import ModuleName PartitionName HeaderName CaseStatement case default LabeledStatement StatementIdentifier ExpressionStatement IfStatement if ConditionClause Declaration else SwitchStatement switch DoStatement do while WhileStatement ForStatement for ReturnStatement return BreakStatement break ContinueStatement continue GotoStatement goto CoReturnStatement co_return CoYieldStatement co_yield AttributeStatement ForRangeLoop AliasDeclaration using TypeDefinition typedef PointerDeclarator FunctionDeclarator ArrayDeclarator ParenthesizedDeclarator ThrowStatement NamespaceDefinition namespace ScopedIdentifier Identifier OperatorName operator ArithOp BitOp CompareOp LogicOp new delete co_await ConceptDefinition concept UsingDeclaration enum StaticAssertDeclaration static_assert ConcatenatedString TemplateDeclaration FriendDeclaration friend union FunctionDefinition ExplicitFunctionSpecifier explicit FieldInitializerList FieldInitializer DefaultMethodClause DeleteMethodClause FunctionDefinition OperatorCast operator TemplateInstantiation FunctionDefinition FunctionDefinition Declaration ModuleDeclaration module RequiresExpression RequirementList SimpleRequirement TypeRequirement CompoundRequirement ReturnTypeRequirement ConstraintConjuction LogicOp ConstraintDisjunction LogicOp ArrayDeclarator ParenthesizedDeclarator ReferenceDeclarator TemplateFunction OperatorName StructuredBindingDeclarator ArrayDeclarator ParenthesizedDeclarator ReferenceDeclarator BitfieldClause FunctionDefinition FunctionDefinition Declaration FunctionDefinition Declaration AccessSpecifier UnionSpecifier ClassSpecifier EnumSpecifier SizedTypeSpecifier TypeSize EnumeratorList Enumerator DependentType Decltype decltype auto PlaceholderTypeSpecifier ParameterPackExpansion ParameterPackExpansion FieldIdentifier PointerExpression SubscriptExpression BinaryExpression ArithOp LogicOp LogicOp BitOp UnaryExpression LogicOp BitOp UpdateExpression CastExpression SizeofExpression sizeof CoAwaitExpression CompoundLiteralExpression NULL NewExpression new NewDeclarator DeleteExpression delete ParameterPackExpansion nullptr this UserDefinedLiteral ParamPack #define PreprocArg #if #ifdef #ifndef #else #endif #elif PreprocDirectiveName Macro Program",maxTerm:426,nodeProps:[["group",-35,1,8,11,15,16,17,19,71,72,100,101,102,104,191,208,229,242,243,270,271,272,277,280,281,282,284,285,286,287,290,292,293,294,295,296,"Expression",-13,18,25,26,27,43,255,256,257,258,262,263,265,266,"Type",-19,126,129,147,150,152,153,158,160,163,164,166,168,170,172,174,176,178,179,188,"Statement"],["isolate",-4,4,5,8,10,""],["openedBy",12,"(",52,"{",54,"["],["closedBy",13,")",51,"}",53,"]"]],propSources:[B0],skippedNodes:[0,3,4,5,6,7,10,297,298,299,300,301,302,303,304,305,306,347,348],repeatNodeCount:41,tokenData:"&*r7ZR!UOX$eXY({YZ.gZ]$e]^+P^p$epq({qr.}rs0}st2ktu$euv!7dvw!9bwx!;exy!O{|!?R|}!AV}!O!BQ!O!P!DX!P!Q#+y!Q!R#Az!R![$(x![!]$Ag!]!^$Cc!^!_$D^!_!`%1W!`!a%2X!a!b%5_!b!c$e!c!n%6Y!n!o%7q!o!w%6Y!w!x%7q!x!}%6Y!}#O%:n#O#P%u#Y#]4Y#]#^NZ#^#o4Y#o;'S$e;'S;=`(u<%lO$e4e4eb)^W(qQ'f&j'm.oOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#o4Y#o;'S$e;'S;=`(u<%lO$e4e5xd)^W(qQ'f&j'm.oOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#X4Y#X#Y7W#Y#o4Y#o;'S$e;'S;=`(u<%lO$e4e7cd)^W(qQ'f&j'm.oOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#Y4Y#Y#Z8q#Z#o4Y#o;'S$e;'S;=`(u<%lO$e4e8|d)^W(qQ'f&j'm.oOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#]4Y#]#^:[#^#o4Y#o;'S$e;'S;=`(u<%lO$e4e:gd)^W(qQ'f&j'm.oOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#b4Y#b#c;u#c#o4Y#o;'S$e;'S;=`(u<%lO$e4e][)T,g)^W(qQ%Z!b'f&jOY$eZr$ers%^sw$ewx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o!?`^)^W(qQ%Z!b!Y,g'f&jOY$eZr$ers%^sw$ewx(Ox{$e{|!@[|!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o!@gY)^W!X-y(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e2a!AbY!h,k)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o!B__)^W(qQ%Z!b!Y,g'f&jOY$eZr$ers%^sw$ewx(Ox}$e}!O!@[!O!_$e!_!`!8g!`!a!C^!a#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o!CiY(x-y)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e2a!Dd^)^W(qQ'f&j(w,gOY$eZr$ers%^sw$ewx(Ox!O$e!O!P!E`!P!Q$e!Q![!GY![#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e2a!Ei[)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox!O$e!O!P!F_!P#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e2a!FjY)Z,k)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e2]!Gen)^W(qQ!i,g'f&jOY$eZr$ers%^sw$ewx!Icx!Q$e!Q![!GY![!g$e!g!h#$w!h!i#*Y!i!n$e!n!o#*Y!o!r$e!r!s#$w!s!w$e!w!x#*Y!x#O$e#O#P&f#P#X$e#X#Y#$w#Y#Z#*Y#Z#`$e#`#a#*Y#a#d$e#d#e#$w#e#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$e2T!IjY(qQ'f&jOY(OZr(Ors%}s!Q(O!Q![!JY![#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(O2T!Jcn(qQ!i,g'f&jOY(OZr(Ors%}sw(Owx!Icx!Q(O!Q![!JY![!g(O!g!h!La!h!i##`!i!n(O!n!o##`!o!r(O!r!s!La!s!w(O!w!x##`!x#O(O#O#P&f#P#X(O#X#Y!La#Y#Z##`#Z#`(O#`#a##`#a#d(O#d#e!La#e#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(O2T!Ljl(qQ!i,g'f&jOY(OZr(Ors%}s{(O{|!Nb|}(O}!O!Nb!O!Q(O!Q![# e![!c(O!c!h# e!h!i# e!i!n(O!n!o##`!o!w(O!w!x##`!x#O(O#O#P&f#P#T(O#T#Y# e#Y#Z# e#Z#`(O#`#a##`#a#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(O2T!Ni^(qQ'f&jOY(OZr(Ors%}s!Q(O!Q![# e![!c(O!c!i# e!i#O(O#O#P&f#P#T(O#T#Z# e#Z;'S(O;'S;=`(o<%lO(O2T# nj(qQ!i,g'f&jOY(OZr(Ors%}sw(Owx!Nbx!Q(O!Q![# e![!c(O!c!h# e!h!i# e!i!n(O!n!o##`!o!w(O!w!x##`!x#O(O#O#P&f#P#T(O#T#Y# e#Y#Z# e#Z#`(O#`#a##`#a#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(O2T##id(qQ!i,g'f&jOY(OZr(Ors%}s!h(O!h!i##`!i!n(O!n!o##`!o!w(O!w!x##`!x#O(O#O#P&f#P#Y(O#Y#Z##`#Z#`(O#`#a##`#a#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(O2]#%Sn)^W(qQ!i,g'f&jOY$eZr$ers%^sw$ewx(Ox{$e{|#'Q|}$e}!O#'Q!O!Q$e!Q![#(]![!c$e!c!h#(]!h!i#(]!i!n$e!n!o#*Y!o!w$e!w!x#*Y!x#O$e#O#P&f#P#T$e#T#Y#(]#Y#Z#(]#Z#`$e#`#a#*Y#a#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$e2]#'Z`)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![#(]![!c$e!c!i#(]!i#O$e#O#P&f#P#T$e#T#Z#(]#Z;'S$e;'S;=`(u<%lO$e2]#(hj)^W(qQ!i,g'f&jOY$eZr$ers%^sw$ewx!Nbx!Q$e!Q![#(]![!c$e!c!h#(]!h!i#(]!i!n$e!n!o#*Y!o!w$e!w!x#*Y!x#O$e#O#P&f#P#T$e#T#Y#(]#Y#Z#(]#Z#`$e#`#a#*Y#a#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$e2]#*ef)^W(qQ!i,g'f&jOY$eZr$ers%^sw$ewx(Ox!h$e!h!i#*Y!i!n$e!n!o#*Y!o!w$e!w!x#*Y!x#O$e#O#P&f#P#Y$e#Y#Z#*Y#Z#`$e#`#a#*Y#a#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$e7Z#,W`)^W(qQ%Z!b![,g'f&jOY$eZr$ers%^sw$ewx(Oxz$ez{#-Y{!P$e!P!Q#:s!Q!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e7Z#-c])^W(qQ'f&jOY#-YYZ#.[Zr#-Yrs#/csw#-Ywx#5wxz#-Yz{#8j{#O#-Y#O#P#2`#P;'S#-Y;'S;=`#:m<%lO#-Y1e#._TOz#.[z{#.n{;'S#.[;'S;=`#/]<%lO#.[1e#.qVOz#.[z{#.n{!P#.[!P!Q#/W!Q;'S#.[;'S;=`#/]<%lO#.[1e#/]OT1e1e#/`P;=`<%l#.[7X#/jZ)^W'f&jOY#/cYZ#.[Zw#/cwx#0]xz#/cz{#4O{#O#/c#O#P#2`#P;'S#/c;'S;=`#5q<%lO#/c7P#0bX'f&jOY#0]YZ#.[Zz#0]z{#0}{#O#0]#O#P#2`#P;'S#0];'S;=`#3x<%lO#0]7P#1SZ'f&jOY#0]YZ#.[Zz#0]z{#0}{!P#0]!P!Q#1u!Q#O#0]#O#P#2`#P;'S#0];'S;=`#3x<%lO#0]7P#1|UT1e'f&jOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}7P#2eZ'f&jOY#0]YZ#0]Z]#0]]^#3W^z#0]z{#0}{#O#0]#O#P#2`#P;'S#0];'S;=`#3x<%lO#0]7P#3]X'f&jOY#0]YZ#0]Zz#0]z{#0}{#O#0]#O#P#2`#P;'S#0];'S;=`#3x<%lO#0]7P#3{P;=`<%l#0]7X#4V])^W'f&jOY#/cYZ#.[Zw#/cwx#0]xz#/cz{#4O{!P#/c!P!Q#5O!Q#O#/c#O#P#2`#P;'S#/c;'S;=`#5q<%lO#/c7X#5XW)^WT1e'f&jOY%^Zw%^wx%}x#O%^#O#P&f#P;'S%^;'S;=`'x<%lO%^7X#5tP;=`<%l#/c7R#6OZ(qQ'f&jOY#5wYZ#.[Zr#5wrs#0]sz#5wz{#6q{#O#5w#O#P#2`#P;'S#5w;'S;=`#8d<%lO#5w7R#6x](qQ'f&jOY#5wYZ#.[Zr#5wrs#0]sz#5wz{#6q{!P#5w!P!Q#7q!Q#O#5w#O#P#2`#P;'S#5w;'S;=`#8d<%lO#5w7R#7zW(qQT1e'f&jOY(OZr(Ors%}s#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(O7R#8gP;=`<%l#5w7Z#8s_)^W(qQ'f&jOY#-YYZ#.[Zr#-Yrs#/csw#-Ywx#5wxz#-Yz{#8j{!P#-Y!P!Q#9r!Q#O#-Y#O#P#2`#P;'S#-Y;'S;=`#:m<%lO#-Y7Z#9}Y)^W(qQT1e'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e7Z#:pP;=`<%l#-Y7Z#;OY)^W(qQS1e'f&jOY#:sZr#:srs#;nsw#:swx#@{x#O#:s#O#P#[<%lO#b#P;'S#[<%lO#[<%lO#_P;=`<%l#i]S1e'f&jOY#b#P#b#[<%lO#[<%lO#b#P#b#[<%lO#t!R![$2V![!c$e!c!i$2V!i#O$e#O#P&f#P#T$e#T#Z$2V#Z;'S$e;'S;=`(u<%lO$e2]$?Pv)^W(qQ!i,g'f&jOY$eZr$ers%^sw$ewx$4lx!O$e!O!P$ m!P!Q$e!Q![$2V![!c$e!c!g$2V!g!h$:p!h!i$2V!i!n$e!n!o#*Y!o!r$e!r!s#$w!s!w$e!w!x#*Y!x#O$e#O#P&f#P#T$e#T#U$2V#U#V$2V#V#X$2V#X#Y$:p#Y#Z$2V#Z#`$e#`#a#*Y#a#d$e#d#e#$w#e#i$e#i#j#*Y#j#l$e#l#m$0z#m;'S$e;'S;=`(u<%lO$e4e$Ar[(v-X)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox![$e![!]$Bh!]#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3s$BsYm-})^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e2]$CnY)Y,g)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e7V$Dk_q,g%]!b)^W(qQ'f&jOY$EjYZ$FlZr$Ejrs$GZsw$Ejwx%)Px!^$Ej!^!_%+w!_!`%.U!`!a%0]!a#O$Ej#O#P$Ib#P;'S$Ej;'S;=`%+q<%lO$Ej*[$Es])^W(qQ'f&jOY$EjYZ$FlZr$Ejrs$GZsw$Ejwx%)Px!`$Ej!`!a%*t!a#O$Ej#O#P$Ib#P;'S$Ej;'S;=`%+q<%lO$Ejp$FoTO!`$Fl!`!a$GO!a;'S$Fl;'S;=`$GT<%lO$Flp$GTO$Wpp$GWP;=`<%l$Fl*Y$GbZ)^W'f&jOY$GZYZ$FlZw$GZwx$HTx!`$GZ!`!a%(U!a#O$GZ#O#P$Ib#P;'S$GZ;'S;=`%(y<%lO$GZ*Q$HYX'f&jOY$HTYZ$FlZ!`$HT!`!a$Hu!a#O$HT#O#P$Ib#P;'S$HT;'S;=`$Mx<%lO$HT*Q$IOU$WpY#t'f&jOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}*Q$Ig['f&jOY$HTYZ$HTZ]$HT]^$J]^!`$HT!`!a$NO!a#O$HT#O#P%&n#P;'S$HT;'S;=`%'f;=`<%l%$z<%lO$HT*Q$JbX'f&jOY$HTYZ$J}Z!`$HT!`!a$Hu!a#O$HT#O#P$Ib#P;'S$HT;'S;=`$Mx<%lO$HT'[$KSX'f&jOY$J}YZ$FlZ!`$J}!`!a$Ko!a#O$J}#O#P$LY#P;'S$J};'S;=`$Mr<%lO$J}'[$KvU$Wp'f&jOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}'[$L_Z'f&jOY$J}YZ$J}Z]$J}]^$MQ^!`$J}!`!a$Ko!a#O$J}#O#P$LY#P;'S$J};'S;=`$Mr<%lO$J}'[$MVX'f&jOY$J}YZ$J}Z!`$J}!`!a$Ko!a#O$J}#O#P$LY#P;'S$J};'S;=`$Mr<%lO$J}'[$MuP;=`<%l$J}*Q$M{P;=`<%l$HT*Q$NVW$Wp'f&jOY$NoZ!`$No!`!a% ^!a#O$No#O#P% w#P;'S$No;'S;=`%#^<%lO$No)`$NtW'f&jOY$NoZ!`$No!`!a% ^!a#O$No#O#P% w#P;'S$No;'S;=`%#^<%lO$No)`% eUY#t'f&jOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%})`% |Y'f&jOY$NoYZ$NoZ]$No]^%!l^#O$No#O#P%#d#P;'S$No;'S;=`%$[;=`<%l%$z<%lO$No)`%!qX'f&jOY$NoYZ%}Z!`$No!`!a% ^!a#O$No#O#P% w#P;'S$No;'S;=`%#^<%lO$No)`%#aP;=`<%l$No)`%#iZ'f&jOY$NoYZ%}Z]$No]^%!l^!`$No!`!a% ^!a#O$No#O#P% w#P;'S$No;'S;=`%#^<%lO$No)`%$_XOY%$zZ!`%$z!`!a%%g!a#O%$z#O#P%%l#P;'S%$z;'S;=`%&h;=`<%l$No<%lO%$z#t%$}WOY%$zZ!`%$z!`!a%%g!a#O%$z#O#P%%l#P;'S%$z;'S;=`%&h<%lO%$z#t%%lOY#t#t%%oRO;'S%$z;'S;=`%%x;=`O%$z#t%%{XOY%$zZ!`%$z!`!a%%g!a#O%$z#O#P%%l#P;'S%$z;'S;=`%&h;=`<%l%$z<%lO%$z#t%&kP;=`<%l%$z*Q%&sZ'f&jOY$HTYZ$J}Z]$HT]^$J]^!`$HT!`!a$Hu!a#O$HT#O#P$Ib#P;'S$HT;'S;=`$Mx<%lO$HT*Q%'iXOY%$zZ!`%$z!`!a%%g!a#O%$z#O#P%%l#P;'S%$z;'S;=`%&h;=`<%l$HT<%lO%$z*Y%(aW$WpY#t)^W'f&jOY%^Zw%^wx%}x#O%^#O#P&f#P;'S%^;'S;=`'x<%lO%^*Y%(|P;=`<%l$GZ*S%)WZ(qQ'f&jOY%)PYZ$FlZr%)Prs$HTs!`%)P!`!a%)y!a#O%)P#O#P$Ib#P;'S%)P;'S;=`%*n<%lO%)P*S%*UW$WpY#t(qQ'f&jOY(OZr(Ors%}s#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(O*S%*qP;=`<%l%)P*[%+RY$WpY#t)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e*[%+tP;=`<%l$Ej7V%,U^)^W(qQ%[!b!f,g'f&jOY$EjYZ$FlZr$Ejrs$GZsw$Ejwx%)Px!_$Ej!_!`%-Q!`!a%*t!a#O$Ej#O#P$Ib#P;'S$Ej;'S;=`%+q<%lO$Ej7V%-]]!g-y)^W(qQ'f&jOY$EjYZ$FlZr$Ejrs$GZsw$Ejwx%)Px!`$Ej!`!a%*t!a#O$Ej#O#P$Ib#P;'S$Ej;'S;=`%+q<%lO$Ej7V%.c]%]!b!b,g)^W(qQ'f&jOY$EjYZ$FlZr$Ejrs$GZsw$Ejwx%)Px!`$Ej!`!a%/[!a#O$Ej#O#P$Ib#P;'S$Ej;'S;=`%+q<%lO$Ej7V%/mY%]!b!b,g$WpY#t)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e)j%0hYY#t)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o%1c[)k!c)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox!_$e!_!`0Q!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o%2f]%]!b)^W(qQ!d,g'f&jOY$eZr$ers%^sw$ewx(Ox!_$e!_!`%3_!`!a%4[!a#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o%3lY%]!b!b,g)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o%4i[)^W(qQ%[!b!f,g'f&jOY$eZr$ers%^sw$ewx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e&u%5jY(uP)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e7Z%6ib)^W(yS(qQ!R,f(r%y'f&jOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![%6Y![!c$e!c!}%6Y!}#O$e#O#P&f#P#R$e#R#S%6Y#S#T$e#T#o%6Y#o;'S$e;'S;=`(u<%lO$e7Z%8Qb)^W(yS(qQ!R,f(r%y'f&jOY$eZr$ers%9Ysw$ewx%9{x!Q$e!Q![%6Y![!c$e!c!}%6Y!}#O$e#O#P&f#P#R$e#R#S%6Y#S#T$e#T#o%6Y#o;'S$e;'S;=`(u<%lO$e5P%9cW)^W(p/]'f&jOY%^Zw%^wx%}x#O%^#O#P&f#P;'S%^;'S;=`'x<%lO%^2T%:UW(qQ)],g'f&jOY(OZr(Ors%}s#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(O3o%:yZ!V-y)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox!}$e!}#O%;l#O#P&f#P;'S$e;'S;=`(u<%lO$e&u%;wY)QP)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e4e%[Z]%=q]^%?Z^!Q%=q!Q![%?w![!w%=q!w!x%AX!x#O%=q#O#P%H_#P#i%=q#i#j%Ds#j#l%=q#l#m%IR#m;'S%=q;'S;=`%Kt<%lO%=q&t%=xUXY'f&jOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}4e%>e[XY(n.o'f&jOX%}XY-OYZ*[Z]%}]^-O^p%}pq-Oq#O%}#O#P,^#P;'S%};'S;=`'r<%lO%}4e%?bVXY'f&jOY%}YZ-OZ#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}&t%@OWXY'f&jOY%}Z!Q%}!Q![%@h![#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}&t%@oWXY'f&jOY%}Z!Q%}!Q![%=q![#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}&t%A^['f&jOY%}Z!Q%}!Q![%BS![!c%}!c!i%BS!i#O%}#O#P&f#P#T%}#T#Z%BS#Z;'S%};'S;=`'r<%lO%}&t%BX['f&jOY%}Z!Q%}!Q![%B}![!c%}!c!i%B}!i#O%}#O#P&f#P#T%}#T#Z%B}#Z;'S%};'S;=`'r<%lO%}&t%CS['f&jOY%}Z!Q%}!Q![%Cx![!c%}!c!i%Cx!i#O%}#O#P&f#P#T%}#T#Z%Cx#Z;'S%};'S;=`'r<%lO%}&t%C}['f&jOY%}Z!Q%}!Q![%Ds![!c%}!c!i%Ds!i#O%}#O#P&f#P#T%}#T#Z%Ds#Z;'S%};'S;=`'r<%lO%}&t%Dx['f&jOY%}Z!Q%}!Q![%En![!c%}!c!i%En!i#O%}#O#P&f#P#T%}#T#Z%En#Z;'S%};'S;=`'r<%lO%}&t%Es['f&jOY%}Z!Q%}!Q![%Fi![!c%}!c!i%Fi!i#O%}#O#P&f#P#T%}#T#Z%Fi#Z;'S%};'S;=`'r<%lO%}&t%Fn['f&jOY%}Z!Q%}!Q![%Gd![!c%}!c!i%Gd!i#O%}#O#P&f#P#T%}#T#Z%Gd#Z;'S%};'S;=`'r<%lO%}&t%Gi['f&jOY%}Z!Q%}!Q![%=q![!c%}!c!i%=q!i#O%}#O#P&f#P#T%}#T#Z%=q#Z;'S%};'S;=`'r<%lO%}&t%HfXXY'f&jOY%}YZ%}Z]%}]^'W^#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}&t%IW['f&jOY%}Z!Q%}!Q![%I|![!c%}!c!i%I|!i#O%}#O#P&f#P#T%}#T#Z%I|#Z;'S%};'S;=`'r<%lO%}&t%JR['f&jOY%}Z!Q%}!Q![%Jw![!c%}!c!i%Jw!i#O%}#O#P&f#P#T%}#T#Z%Jw#Z;'S%};'S;=`'r<%lO%}&t%KO[XY'f&jOY%}Z!Q%}!Q![%Jw![!c%}!c!i%Jw!i#O%}#O#P&f#P#T%}#T#Z%Jw#Z;'S%};'S;=`'r<%lO%}&t%KwP;=`<%l%=q2a%LVZ!W,V)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P#Q%Lx#Q;'S$e;'S;=`(u<%lO$e'Y%MTY)Pd)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o%NQ[)^W(qQ%[!b'f&j!_,gOY$eZr$ers%^sw$ewx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e7Z& Vd)^W(yS(qQ!R,f(r%y'f&jOY$eZr$ers%9Ysw$ewx%9{x!Q$e!Q!Y%6Y!Y!Z%7q!Z![%6Y![!c$e!c!}%6Y!}#O$e#O#P&f#P#R$e#R#S%6Y#S#T$e#T#o%6Y#o;'S$e;'S;=`(u<%lO$e2]&!pY!T,g)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o&#m^)^W(qQ%[!b'f&j!^,gOY$eZr$ers%^sw$ewx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P#p$e#p#q&$i#q;'S$e;'S;=`(u<%lO$e3o&$vY)U,g%^!b)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e'V&%qY!Ua)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e(]&&nc)^W(qQ%[!b'RP'f&jOX$eXY&'yZp$epq&'yqr$ers%^sw$ewx(Ox!c$e!c!}&)_!}#O$e#O#P&f#P#R$e#R#S&)_#S#T$e#T#o&)_#o;'S$e;'S;=`(u<%lO$e&y&(Sc)^W(qQ'f&jOX$eXY&'yZp$epq&'yqr$ers%^sw$ewx(Ox!c$e!c!}&)_!}#O$e#O#P&f#P#R$e#R#S&)_#S#T$e#T#o&)_#o;'S$e;'S;=`(u<%lO$e&y&)jb)^W(qQeT'f&jOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![&)_![!c$e!c!}&)_!}#O$e#O#P&f#P#R$e#R#S&)_#S#T$e#T#o&)_#o;'S$e;'S;=`(u<%lO$e",tokenizers:[D0,I0,0,1,2,3,4,5,6,7,8,9],topRules:{Program:[0,307]},dynamicPrecedences:{65:1,87:1,94:1,119:1,184:1,187:-10,240:-10,241:1,244:-1,246:-10,247:1,262:-1,267:2,268:2,306:-10,365:3,418:1,419:3,420:1,421:1},specialized:[{term:356,get:O=>N0[O]||-1},{term:33,get:O=>F0[O]||-1},{term:66,get:O=>H0[O]||-1},{term:363,get:O=>K0[O]||-1}],tokenPrec:24891});var J0=ne.define({name:"cpp",parser:m$.configure({props:[se.add({IfStatement:le({except:/^\s*({|else\b)/}),TryStatement:le({except:/^\s*({|catch)\b/}),LabeledStatement:sO,CaseStatement:O=>O.baseIndent+O.unit,BlockComment:()=>null,CompoundStatement:be({closing:"}"}),Statement:le({except:/^{/})}),te.add({"DeclarationList CompoundStatement EnumeratorList FieldDeclarationList InitializerList":me,BlockComment(O){return{from:O.from+2,to:O.to-2}}})]}),languageData:{commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\})$/,closeBrackets:{stringPrefixes:["L","u","U","u8","LR","UR","uR","u8R","R"]}}});function g$(){return new J(J0)}var eb=122,P$=1,tb=123,Ob=124,X$=2,ib=125,rb=3,nb=4,T$=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],sb=58,ab=40,b$=95,ob=91,bs=45,lb=46,cb=35,hb=37,fb=38,db=92,ub=10,Qb=42;function yr(O){return O>=65&&O<=90||O>=97&&O<=122||O>=161}function Fl(O){return O>=48&&O<=57}function S$(O){return Fl(O)||O>=97&&O<=102||O>=65&&O<=70}var y$=(O,e,t)=>(i,r)=>{for(let n=!1,s=0,a=0;;a++){let{next:o}=i;if(yr(o)||o==bs||o==b$||n&&Fl(o))!n&&(o!=bs||a>0)&&(n=!0),s===a&&o==bs&&s++,i.advance();else if(o==db&&i.peek(1)!=ub){if(i.advance(),S$(i.next)){do i.advance();while(S$(i.next));i.next==32&&i.advance()}else i.next>-1&&i.advance();n=!0}else{n&&i.acceptToken(s==2&&r.canShift(X$)?e:o==ab?t:O);break}}},$b=new z(y$(tb,X$,Ob)),pb=new z(y$(ib,rb,nb)),mb=new z(O=>{if(T$.includes(O.peek(-1))){let{next:e}=O;(yr(e)||e==b$||e==cb||e==lb||e==Qb||e==ob||e==sb&&yr(O.peek(1))||e==bs||e==fb)&&O.acceptToken(eb)}}),gb=new z(O=>{if(!T$.includes(O.peek(-1))){let{next:e}=O;if(e==hb&&(O.advance(),O.acceptToken(P$)),yr(e)){do O.advance();while(yr(O.next)||Fl(O.next));O.acceptToken(P$)}}}),Pb=F({"AtKeyword import charset namespace keyframes media supports":d.definitionKeyword,"from to selector":d.keyword,NamespaceName:d.namespace,KeyframeName:d.labelName,KeyframeRangeName:d.operatorKeyword,TagName:d.tagName,ClassName:d.className,PseudoClassName:d.constant(d.className),IdName:d.labelName,"FeatureName PropertyName":d.propertyName,AttributeName:d.attributeName,NumberLiteral:d.number,KeywordQuery:d.keyword,UnaryQueryOp:d.operatorKeyword,"CallTag ValueName":d.atom,VariableName:d.variableName,Callee:d.operatorKeyword,Unit:d.unit,"UniversalSelector NestingSelector":d.definitionOperator,"MatchOp CompareOp":d.compareOperator,"ChildOp SiblingOp, LogicOp":d.logicOperator,BinOp:d.arithmeticOperator,Important:d.modifier,Comment:d.blockComment,ColorLiteral:d.color,"ParenthesizedContent StringLiteral":d.string,":":d.punctuation,"PseudoOp #":d.derefOperator,"; ,":d.separator,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace}),Sb={__proto__:null,lang:38,"nth-child":38,"nth-last-child":38,"nth-of-type":38,"nth-last-of-type":38,dir:38,"host-context":38,if:84,url:124,"url-prefix":124,domain:124,regexp:124},Xb={__proto__:null,or:98,and:98,not:106,only:106,layer:170},Tb={__proto__:null,selector:112,layer:166},bb={__proto__:null,"@import":162,"@media":174,"@charset":178,"@namespace":182,"@keyframes":188,"@supports":200,"@scope":204},yb={__proto__:null,to:207},x$=Oe.deserialize({version:14,states:"EbQYQdOOO#qQdOOP#xO`OOOOQP'#Cf'#CfOOQP'#Ce'#CeO#}QdO'#ChO$nQaO'#CcO$xQdO'#CkO%TQdO'#DpO%YQdO'#DrO%_QdO'#DuO%_QdO'#DxOOQP'#FV'#FVO&eQhO'#EhOOQS'#FU'#FUOOQS'#Ek'#EkQYQdOOO&lQdO'#EOO&PQhO'#EUO&lQdO'#EWO'aQdO'#EYO'lQdO'#E]O'tQhO'#EcO(VQdO'#EeO(bQaO'#CfO)VQ`O'#D{O)[Q`O'#F`O)gQdO'#F`QOQ`OOP)qO&jO'#CaPOOO)C@t)C@tOOQP'#Cj'#CjOOQP,59S,59SO#}QdO,59SO)|QdO,59VO%TQdO,5:[O%YQdO,5:^O%_QdO,5:aO%_QdO,5:cO%_QdO,5:dO%_QdO'#ErO*XQ`O,58}O*aQdO'#DzOOQS,58},58}OOQP'#Cn'#CnOOQO'#Dn'#DnOOQP,59V,59VO*hQ`O,59VO*mQ`O,59VOOQP'#Dq'#DqOOQP,5:[,5:[OOQO'#Ds'#DsO*rQpO,5:^O+]QaO,5:aO+sQaO,5:dOOQW'#DZ'#DZO,ZQhO'#DdO,xQhO'#FaO'tQhO'#DbO-WQ`O'#DhOOQW'#F['#F[O-]Q`O,5;SO-eQ`O'#DeOOQS-E8i-E8iOOQ['#Cs'#CsO-jQdO'#CtO.QQdO'#CzO.hQdO'#C}O/OQ!pO'#DPO1RQ!jO,5:jOOQO'#DU'#DUO*mQ`O'#DTO1cQ!nO'#FXO3`Q`O'#DVO3eQ`O'#DkOOQ['#FX'#FXO-`Q`O,5:pO3jQ!bO,5:rOOQS'#E['#E[O3rQ`O,5:tO3wQdO,5:tOOQO'#E_'#E_O4PQ`O,5:wO4UQhO,5:}O%_QdO'#DgOOQS,5;P,5;PO-eQ`O,5;PO4^QdO,5;PO4fQdO,5:gO4vQdO'#EtO5TQ`O,5;zO5TQ`O,5;zPOOO'#Ej'#EjP5`O&jO,58{POOO,58{,58{OOQP1G.n1G.nOOQP1G.q1G.qO*hQ`O1G.qO*mQ`O1G.qOOQP1G/v1G/vO5kQpO1G/xO5sQaO1G/{O6ZQaO1G/}O6qQaO1G0OO7XQaO,5;^OOQO-E8p-E8pOOQS1G.i1G.iO7cQ`O,5:fO7hQdO'#DoO7oQdO'#CrOOQP1G/x1G/xO&lQdO1G/xO7vQ!jO'#DZO8UQ!bO,59vO8^QhO,5:OOOQO'#F]'#F]O8XQ!bO,59zO'tQhO,59xO8fQhO'#EvO8sQ`O,5;{O9OQhO,59|O9uQhO'#DiOOQW,5:S,5:SOOQS1G0n1G0nOOQW,5:P,5:PO9|Q!fO'#FYOOQS'#FY'#FYOOQS'#Em'#EmO;^QdO,59`OOQ[,59`,59`O;tQdO,59fOOQ[,59f,59fO<[QdO,59iOOQ[,59i,59iOOQ[,59k,59kO&lQdO,59mOPQ!fO1G0ROOQO1G0R1G0ROOQO,5;`,5;`O>gQdO,5;`OOQO-E8r-E8rO>tQ`O1G1fPOOO-E8h-E8hPOOO1G.g1G.gOOQP7+$]7+$]OOQP7+%d7+%dO&lQdO7+%dOOQS1G0Q1G0QO?PQaO'#F_O?ZQ`O,5:ZO?`Q!fO'#ElO@^QdO'#FWO@hQ`O,59^O@mQ!bO7+%dO&lQdO1G/bO@uQhO1G/fOOQW1G/j1G/jOOQW1G/d1G/dOAWQhO,5;bOOQO-E8t-E8tOAfQhO'#DZOAtQhO'#F^OBPQ`O'#F^OBUQ`O,5:TOOQS-E8k-E8kOOQ[1G.z1G.zOOQ[1G/Q1G/QOOQ[1G/T1G/TOOQ[1G/X1G/XOBZQdO,5:lOOQS7+%p7+%pOB`Q`O7+%pOBeQhO'#DYOBmQ`O,59sO'tQhO,59sOOQ[1G/q1G/qOBuQ`O1G/qOOQS7+%z7+%zOBzQbO'#DPOOQO'#Eb'#EbOCYQ`O'#EaOOQO'#Ea'#EaOCeQ`O'#EwOCmQdO,5:zOOQS,5:z,5:zOOQ[1G/m1G/mOOQS7+&V7+&VO-`Q`O7+&VOCxQ!fO'#EsO&lQdO'#EsOEPQdO7+%mOOQO7+%m7+%mOOQO1G0z1G0zOEdQ!bO<jAN>jOIUQaO,5;]OOQO-E8o-E8oOI`QdO,5;[OOQO-E8n-E8nOOQW<WO&lQdO1G0uOK]Q`O7+'OOOQO,5;a,5;aOOQO-E8s-E8sOOQW<t}!O?V!O!P?t!P!Q@]!Q![AU![!]BP!]!^B{!^!_C^!_!`DY!`!aDm!a!b$q!b!cEn!c!}$q!}#OG{#O#P$q#P#QH^#Q#R6W#R#o$q#o#pHo#p#q6W#q#rIQ#r#sIc#s#y$q#y#z%i#z$f$q$f$g%i$g#BY$q#BY#BZ%i#BZ$IS$q$IS$I_%i$I_$I|$q$I|$JO%i$JO$JT$q$JT$JU%i$JU$KV$q$KV$KW%i$KW&FU$q&FU&FV%i&FV;'S$q;'S;=`Iz<%lO$q`$tSOy%Qz;'S%Q;'S;=`%c<%lO%Q`%VS!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Q`%fP;=`<%l%Q~%nh#s~OX%QX^'Y^p%Qpq'Yqy%Qz#y%Q#y#z'Y#z$f%Q$f$g'Y$g#BY%Q#BY#BZ'Y#BZ$IS%Q$IS$I_'Y$I_$I|%Q$I|$JO'Y$JO$JT%Q$JT$JU'Y$JU$KV%Q$KV$KW'Y$KW&FU%Q&FU&FV'Y&FV;'S%Q;'S;=`%c<%lO%Q~'ah#s~!a`OX%QX^'Y^p%Qpq'Yqy%Qz#y%Q#y#z'Y#z$f%Q$f$g'Y$g#BY%Q#BY#BZ'Y#BZ$IS%Q$IS$I_'Y$I_$I|%Q$I|$JO'Y$JO$JT%Q$JT$JU'Y$JU$KV%Q$KV$KW'Y$KW&FU%Q&FU&FV'Y&FV;'S%Q;'S;=`%c<%lO%Qj)OUOy%Qz#]%Q#]#^)b#^;'S%Q;'S;=`%c<%lO%Qj)gU!a`Oy%Qz#a%Q#a#b)y#b;'S%Q;'S;=`%c<%lO%Qj*OU!a`Oy%Qz#d%Q#d#e*b#e;'S%Q;'S;=`%c<%lO%Qj*gU!a`Oy%Qz#c%Q#c#d*y#d;'S%Q;'S;=`%c<%lO%Qj+OU!a`Oy%Qz#f%Q#f#g+b#g;'S%Q;'S;=`%c<%lO%Qj+gU!a`Oy%Qz#h%Q#h#i+y#i;'S%Q;'S;=`%c<%lO%Qj,OU!a`Oy%Qz#T%Q#T#U,b#U;'S%Q;'S;=`%c<%lO%Qj,gU!a`Oy%Qz#b%Q#b#c,y#c;'S%Q;'S;=`%c<%lO%Qj-OU!a`Oy%Qz#h%Q#h#i-b#i;'S%Q;'S;=`%c<%lO%Qj-iS!qY!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Q~-xWOY-uZr-urs.bs#O-u#O#P.g#P;'S-u;'S;=`/c<%lO-u~.gOt~~.jRO;'S-u;'S;=`.s;=`O-u~.vXOY-uZr-urs.bs#O-u#O#P.g#P;'S-u;'S;=`/c;=`<%l-u<%lO-u~/fP;=`<%l-uj/nYjYOy%Qz!Q%Q!Q![0^![!c%Q!c!i0^!i#T%Q#T#Z0^#Z;'S%Q;'S;=`%c<%lO%Qj0cY!a`Oy%Qz!Q%Q!Q![1R![!c%Q!c!i1R!i#T%Q#T#Z1R#Z;'S%Q;'S;=`%c<%lO%Qj1WY!a`Oy%Qz!Q%Q!Q![1v![!c%Q!c!i1v!i#T%Q#T#Z1v#Z;'S%Q;'S;=`%c<%lO%Qj1}YrY!a`Oy%Qz!Q%Q!Q![2m![!c%Q!c!i2m!i#T%Q#T#Z2m#Z;'S%Q;'S;=`%c<%lO%Qj2tYrY!a`Oy%Qz!Q%Q!Q![3d![!c%Q!c!i3d!i#T%Q#T#Z3d#Z;'S%Q;'S;=`%c<%lO%Qj3iY!a`Oy%Qz!Q%Q!Q![4X![!c%Q!c!i4X!i#T%Q#T#Z4X#Z;'S%Q;'S;=`%c<%lO%Qj4`YrY!a`Oy%Qz!Q%Q!Q![5O![!c%Q!c!i5O!i#T%Q#T#Z5O#Z;'S%Q;'S;=`%c<%lO%Qj5TY!a`Oy%Qz!Q%Q!Q![5s![!c%Q!c!i5s!i#T%Q#T#Z5s#Z;'S%Q;'S;=`%c<%lO%Qj5zSrY!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Qd6ZUOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Qd6tS!hS!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Qb7VSZQOy%Qz;'S%Q;'S;=`%c<%lO%Q~7fWOY7cZw7cwx.bx#O7c#O#P8O#P;'S7c;'S;=`8z<%lO7c~8RRO;'S7c;'S;=`8[;=`O7c~8_XOY7cZw7cwx.bx#O7c#O#P8O#P;'S7c;'S;=`8z;=`<%l7c<%lO7c~8}P;=`<%l7cj9VSeYOy%Qz;'S%Q;'S;=`%c<%lO%Q~9hOd~n9oUWQvWOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Qj:YWvW!mQOy%Qz!O%Q!O!P:r!P!Q%Q!Q![=w![;'S%Q;'S;=`%c<%lO%Qj:wU!a`Oy%Qz!Q%Q!Q![;Z![;'S%Q;'S;=`%c<%lO%Qj;bY!a`#}YOy%Qz!Q%Q!Q![;Z![!g%Q!g!hO[!a`#}YOy%Qz!O%Q!O!P;Z!P!Q%Q!Q![=w![!g%Q!g!hyS!^YOy%Qz;'S%Q;'S;=`%c<%lO%Qj?[WvWOy%Qz!O%Q!O!P:r!P!Q%Q!Q![=w![;'S%Q;'S;=`%c<%lO%Qj?yU]YOy%Qz!Q%Q!Q![;Z![;'S%Q;'S;=`%c<%lO%Q~@bTvWOy%Qz{@q{;'S%Q;'S;=`%c<%lO%Q~@xS!a`#t~Oy%Qz;'S%Q;'S;=`%c<%lO%QjAZ[#}YOy%Qz!O%Q!O!P;Z!P!Q%Q!Q![=w![!g%Q!g!hSb[O]||-1},{term:125,get:O=>Xb[O]||-1},{term:4,get:O=>Tb[O]||-1},{term:25,get:O=>bb[O]||-1},{term:123,get:O=>yb[O]||-1}],tokenPrec:1963});var Hl=null;function Kl(){if(!Hl&&typeof document=="object"&&document.body){let{style:O}=document.body,e=[],t=new Set;for(let i in O)i!="cssText"&&i!="cssFloat"&&typeof O[i]=="string"&&(/[A-Z]/.test(i)&&(i=i.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(i)||(e.push(i),t.add(i)));Hl=e.sort().map(i=>({type:"property",label:i,apply:i+": "}))}return Hl||[]}var k$=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(O=>({type:"class",label:O})),w$=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(O=>({type:"keyword",label:O})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(O=>({type:"constant",label:O}))),xb=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(O=>({type:"type",label:O})),kb=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(O=>({type:"keyword",label:O})),Wt=/^(\w[\w-]*|-\w[\w-]*|)$/,wb=/^-(-[\w-]*)?$/;function Zb(O,e){var t;if((O.name=="("||O.type.isError)&&(O=O.parent||O),O.name!="ArgList")return!1;let i=(t=O.parent)===null||t===void 0?void 0:t.firstChild;return i?.name!="Callee"?!1:e.sliceString(i.from,i.to)=="var"}var Z$=new Tt,vb=["Declaration"];function Yb(O){for(let e=O;;){if(e.type.isTop)return e;if(!(e=e.parent))return O}}function v$(O,e,t){if(e.to-e.from>4096){let i=Z$.get(e);if(i)return i;let r=[],n=new Set,s=e.cursor(C.IncludeAnonymous);if(s.firstChild())do for(let a of v$(O,s.node,t))n.has(a.label)||(n.add(a.label),r.push(a));while(s.nextSibling());return Z$.set(e,r),r}else{let i=[],r=new Set;return e.cursor().iterate(n=>{var s;if(t(n)&&n.matchContext(vb)&&((s=n.node.nextSibling)===null||s===void 0?void 0:s.name)==":"){let a=O.sliceString(n.from,n.to);r.has(a)||(r.add(a),i.push({label:a,type:"variable"}))}}),i}}var _b=O=>e=>{let{state:t,pos:i}=e,r=U(t).resolveInner(i,-1),n=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(n||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:Kl(),validFor:Wt};if(r.name=="ValueName")return{from:r.from,options:w$,validFor:Wt};if(r.name=="PseudoClassName")return{from:r.from,options:k$,validFor:Wt};if(O(r)||(e.explicit||n)&&Zb(r,t.doc))return{from:O(r)||n?r.from:i,options:v$(t.doc,Yb(r),O),validFor:wb};if(r.name=="TagName"){for(let{parent:o}=r;o;o=o.parent)if(o.name=="Block")return{from:r.from,options:Kl(),validFor:Wt};return{from:r.from,options:xb,validFor:Wt}}if(r.name=="AtKeyword")return{from:r.from,options:kb,validFor:Wt};if(!e.explicit)return null;let s=r.resolve(i),a=s.childBefore(i);return a&&a.name==":"&&s.name=="PseudoClassSelector"?{from:i,options:k$,validFor:Wt}:a&&a.name==":"&&s.name=="Declaration"||s.name=="ArgList"?{from:i,options:w$,validFor:Wt}:s.name=="Block"||s.name=="Styles"?{from:i,options:Kl(),validFor:Wt}:null},Rb=_b(O=>O.name=="VariableName"),xr=ne.define({name:"css",parser:x$.configure({props:[se.add({Declaration:le()}),te.add({"Block KeyframeList":me})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function ys(){return new J(xr,xr.data.of({autocomplete:Rb}))}var Vb=177,qb=179,zb=184,Ub=12,Wb=13,jb=17,Cb=20,Gb=25,Eb=53,Ab=95,Lb=142,Mb=144,Db=145,Ib=148,Bb=10,Nb=13,Fb=32,Hb=9,Y$=47,Kb=41,Jb=125,ey=new z((O,e)=>{for(let t=0,i=O.next;(e.context&&(i<0||i==Bb||i==Nb||i==Y$&&O.peek(t+1)==Y$)||i==Kb||i==Jb)&&O.acceptToken(Vb),!(i!=Fb&&i!=Hb);)i=O.peek(++t)},{contextual:!0}),ty=new Set([Ab,zb,Cb,Ub,jb,Mb,Db,Lb,Ib,Wb,Eb,Gb]),Oy=new Ge({start:!1,shift:(O,e)=>e==qb?O:ty.has(e)}),iy=F({"func interface struct chan map const type var":d.definitionKeyword,"import package":d.moduleKeyword,"switch for go select return break continue goto fallthrough case if else defer":d.controlKeyword,range:d.keyword,Bool:d.bool,String:d.string,Rune:d.character,Number:d.number,Nil:d.null,VariableName:d.variableName,DefName:d.definition(d.variableName),TypeName:d.typeName,LabelName:d.labelName,FieldName:d.propertyName,"FunctionDecl/DefName":d.function(d.definition(d.variableName)),"TypeSpec/DefName":d.definition(d.typeName),"CallExpr/VariableName":d.function(d.variableName),LineComment:d.lineComment,BlockComment:d.blockComment,LogicOp:d.logicOperator,ArithOp:d.arithmeticOperator,BitOp:d.bitwiseOperator,"DerefOp .":d.derefOperator,"UpdateOp IncDecOp":d.updateOperator,CompareOp:d.compareOperator,"= :=":d.definitionOperator,"<-":d.operator,'~ "*"':d.modifier,"; ,":d.separator,"... :":d.punctuation,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace}),ry={__proto__:null,package:10,import:18,true:380,false:380,nil:383,struct:48,func:68,interface:78,chan:94,map:118,make:157,new:159,const:204,type:212,var:224,if:236,else:238,switch:242,case:248,default:250,for:260,range:266,go:270,select:274,return:284,break:288,continue:290,goto:292,fallthrough:296,defer:300},_$=Oe.deserialize({version:14,states:"!=xO#{QQOOP$SOQOOO&UQTO'#CbO&]QRO'#FlO]QQOOOOQP'#Cn'#CnOOQP'#Co'#CoO&eQQO'#C|O(kQQO'#C{O)]QRO'#GiO+tQQO'#D_OOQP'#Ge'#GeO+{QQO'#GeO.aQTO'#GaO.hQQO'#D`OOQP'#Gm'#GmO.mQRO'#GdO/hQQO'#DgOOQP'#Gd'#GdO/uQQO'#DrO2bQQO'#DsO4QQTO'#GqO,^QTO'#GaO4XQQO'#DxO4^QQO'#D{OOQO'#EQ'#EQOOQO'#ER'#EROOQO'#ES'#ESOOQO'#ET'#ETO4cQQO'#EPO5}QQO'#EPOOQP'#Ga'#GaO6UQQO'#E`O6^QQO'#EcOOQP'#G`'#G`O6cQQO'#EsOOQP'#G_'#G_O&]QRO'#FnOOQO'#Fn'#FnO9QQQO'#G^QOQQOOO&]QROOO9XQQO'#C`O9^QSO'#CdO9lQQO'#C}O9tQQO'#DSO9yQQO'#D[O:kQQO'#CsO:pQQO'#DhO:uQQO'#EeO:}QQO'#EiO;VQQO'#EoO;_QQO'#EuOPQSO7+%hOOQP7+%h7+%hO4cQQO7+%hOOQP1G0Q1G0QO!>^QQO1G0QOOQP1G0U1G0UO!>fQQO1G0UOF|QQO1G0UOOQO,5nAN>nO4cQQOAN>nO!IsQSOAN>nOOQP<nQQO'#FrOOQO,5vAN>vO!LtQQOAN>vP.hQQO'#F|OOQPG25XG25XO!LyQQOG25bO!MOQQO'#FPOOQPG25bG25bO!MZQQOG25bOOQPLD)tLD)tOOQPG24bG24bO!JqQQOLD*|O!9OQQO'#GQO!McQQO,5;kOOQP,5;k,5;kO?tQQO'#FQO!MnQQO'#FQO!MsQQOLD*|OOQP!$'Nh!$'NhOOQO,5VO^!hOh!POr-TOw}O!P-_O!Q-`O!W-^O!]-eO%O!eO%Y!fO~OZ!sO~O^#uO~O!P$xO~On!lO#W%]aV%]a^%]ah%]ar%]aw%]a!P%]a!Q%]a!W%]a!]%]a#T%]a$w%]a%O%]a%Y%]au%]a~O]${O^#QO~OZ#RO^#VO!W#SO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~O]$|O!|,WO~PBROj!qOn%QO!QnOi%cP~P*aO!V%WO!|#`O~PBRO!V%YO~OV!}O[oO^YOaoOdoOh!POjcOr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~Oi%dX#p%dX#q%dX~PDQOi%]O~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-QO!WaO!]!QO!phO!qhO%O+{O%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O^%aO%O%_O~O!QnO!a%cO~P*aO!QnOn$mX#T$mX#U$mXV$mX$w$mX!a$mX~P*aOn#TO#T%ea#U%eaV%ea$w%ea!a%ea~O]%fO~PF|OV#ga$w#ga~PDTO[%sO~OZ#rO[#qO]%vO%O#oO~O^!hOh!POn%zOr-TOu%xOw}O!P-_O!Q-`O!W-^O!]-eO%O,dO%Y!fO]%[P~O^&OOh!POr!jOw}O!P!OO!Q!kO!WaO!]!QO%Y!fO^%ZXj%ZX~O%O%}O~PKfOjcO^qa]qanqa!Vqa~O^#uO!W&SO~O^!hOh!POr-TOw}O{&WO!P-_O!Q-`O!W-^O!]-eO%O,xO%Y!fO~Oi&^O~PL{O^!hOh!POr!jOw}O!Q!kO!WaO!]!QO%O!eO%Y!fO~O!P#hO~PMwOi&eO%O,yO%Y!fO~O#T&gOV#ZX$w#ZX~P?tO]&kO%O#oO~O^!hOh!POr-TOw}O!P-_O!Q-`O!]-eO%O!eO%Y!fO~O!W&lO#T&mO~P! _O]&qO%O#oO~O#T&sOV#eX$w#eX~P?tO]&vO%O#oO~OjeX~P$XOjcO!|,XO~P2gOn!lO#W&yO#W%]X~O^#VOn#TO!Q#cO!W#SO!|,XO#R#dO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]OV`X#T%eX#U%eX~OZ&zOj$`O$w`X~P!#cOi'OO#p'PO#q'QO~OZ#ROjcO~P!#cO#T'TO#U#iO~O#W'UO~OV'WO!QnO~P*aOV'XO~OjcO~O!|#`OV#za$w#za~PBROi'[O#p']O#q'^O~On#TO!|#`OV%eX$w%eX!a%eX~PBRO!|#`OV$Za$w$Za~PBRO${$rO$|$rO$}'`O~O]${O~O%O!eO]%ZXn%ZX!V%ZX~PKfO!|#`Oi!_Xn!_X!a!`X~PBROi!_Xn!_X!a!`X~O!a'aO~On'bOi%cX~Oi'dO~On'eO!V%bX!a%bX~O!V'gO~O]'jOn'kO!|,YO~PBROn'nO!V'mO!a'oO!|#`O~PBRO!QnO!V'qO!a'rO~P*aO!|#`On$ma#T$ma#U$maV$ma$w$ma!a$ma~PBRO]'sOu'tO~O%Y#XO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xin!xi!Q!xi!W!xi!|!xi#R!xi#T!xi#U!xi$w!xi%`!xi%f!xi%g!xi%i!xi%p!xi%q!xi~O!V!xii!xi!a!xi~P!+YO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%p!xi%q!xi!V!xii!xi!a!xi~O!|!xi~P!-TO!|#`O~P!-TO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[OV!xiZ!xi^!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%q!xi~O!|#`O!V!xii!xi!a!xi~P!/VO!|#`OV#Pi$w#Pi!a#Pi~PBRO]'uOn'wOu'vO~OZ#rO[#qO]'zO%O#oO~Ou'|O~P?tOn'}O]%[X~O](PO~OZeX^mX^!TXj!TX!W!TX~OjcOV$]i$w$]i~O%`(ZOV%^X$w%^Xn%^X!V%^X~Oi(`O~PL{O[(aO!W!tOVlX$wlX~On(bO~P?tO[(aOVlX$wlX~Oi(hO%O,yO%Y!fO~O!V(iO~O#T(kO~O](nO%O#oO~O[oO^YOaoOdoOh!POr!pOu-bOw}O!P!OO!QnO!V-UO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O%O+zO~P!4vO](sO%O#oO~O#T(tOV#ea$w#ea~O](xO%O#oO~O#k(yOV#ii$w#ii~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-PO!WaO!]!QO!phO!qhO%O+xO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O^(|O%O%_O~O#p%dP#q%dP~P/uOi)PO#p'PO#q'QO~O!a)RO~O!QnO#y)VO~P*aOV)WO!|#`O~PBROj#wa~P;_OV)WO!QnO~P*aOi)]O#p']O#q'^O~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O%O,eO~P!:lO!a)bO~Oj!qO!QnO~P*aOj!qO!QnOi%ca~P*aOn)iOi%ca~O!V%ba!a%ba~P?tOn)lO!V%ba!a%ba~O])nO~O])oO~O!V)pO~O!QnO!V)rO!a)sO~P*aO!V)rO!a)sO!|#`O~PBRO])uOn)vO~O])wOn)xO~O^!hOh!POr-TOu%xOw}O!P-_O!Q-`O!W-^O!]-eO%O,dO%Y!fO~O]%[a~P!>nOn)|O]%[a~O]${O]tXntX~OjcOV$^q$w$^q~On*PO{&WO~P?tOn*SO!V%rX~O!V*UO~OjcOV$]q$w$]q~O%`(ZOV|a$w|an|a!V|a~O[*]OVla$wla~O[*]O!W!tOVla$wla~On*PO{&WO!W*`O^%WXj%WX~P! _OjcO#j!UO~OjcO!|,XO~PBROZ*dO^#VO!W#SO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~O!|#`O~P!BoO#^*eO~P?tO!a*fO~Oj$`O!|,XO~P!BoO#W*hO~Oj#wi~P;_OV*kO!|#`O~PBROn#TO!Q#cO!|#`O!a$QX#T%eX~PBRO#T*lO~O#W*lO~O!a*mO~O!|#`Oi!_in!_i~PBRO!|#`Oi!bXn!bX!a!cX~PBROi!bXn!bX!a!cX~O!a*nO~Oj!qO!QnOi%ci~P*aO!V%bi!a%bi~P?tO!V*qO!a*rO!|#`O~PBRO!V*qO!|#`O~PBRO]*tO~O]*uO~O]*uOu*vO~O]%[i~P!>nO%O!eO!V%ra~On*|O!V%ra~O[+OOVli$wli~O%O+yO~P!4vO#k+QOV#iy$w#iy~O^+RO%O%_O~O]+SO~O!|,XOj#xq~PBROj#wq~P;_O!V+ZO!|#`O~PBRO]+[On+]O~O%O!eO!V%ri~O^#QOn'eO!V%bX~O#^+`O~P?tOj+aO~O^#VO!W#SO!|#`O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~OZ+cO~P!JvO!|#`O!a$Qi~PBRO!|#`Oi!bin!bi~PBRO!V+dO!|#`O~PBRO]+eO~O]+fO~Oi+iO#p+jO#q+kO~O^+lO%O%_O~Oi+pO#p+jO#q+kO~O!a+rO~O#^+sO~P?tO!a+tO~O]+uO~OZeX^eX^!TXj!TX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeXVeXneX!QeX#ReX#TeX#UeX$weX~O]eX]!TX!VeXieX!aeX~P!NUOjeX~P!NUOZeX^eX^!TXj!TX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeXn!TX!VeX~O]eX!V!TX~P#!gOh!TXr!TXw!TX{!TX!P!TX!Q!TX!]!TX%O!TX%Y!TX~P#!gOZeX^eX^!TXj!TXneX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeX~O]eXueX~P#$xO]$mXn$mXu$mX~PF|Oj$mXn$mX~P!7`On+|O]%eau%ea~On+}Oj%ea~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-OO!WaO!]!QO!phO!qhO%O+yO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~OZeX]!TX^UXhUXnUXn!TXrUXuUXwUX!PUX!QUX!WUX!W!TX!]UX%OUX%YUX~OnUX!QeX!aeX#TeX#WUX~P#$xOn+|O!|,YO]%eXu%eX~PBROn+}O!|,XOj%eX~PBRO^&OOV%ZXj%ZX$w%ZX]%ZXn%ZX!V%ZXu%ZX%`%ZX#T%ZX[%ZX!a%ZX~P?wO!|,YO]$man$mau$ma~PBRO!|,XOj$man$ma~PBRO%Y#XO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi!|!xi%`!xi%f!xi%g!xi%i!xi%p!xi%q!xi~Oj!xi~P!+YOn!xiu!xi~P#,hO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi!|!xi%p!xi%q!xi~O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xij!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%p!xi%q!xi~O!|!xi~P#/_On!xiu!xi~P#.TO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi%p!xi%q!xi~O!|,WO~P#1^O!|,XO~P#/_O!|,YOn!xiu!xi~P#1^O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[OZ!xi]!xi^!xi!W!xi%q!xi~O!|,WO~P#3QO!|,XOj!xi~P!/VO!|,YOn!xiu!xi~P#3QO!|,XOj#Pi~PBROV!TXZeX^mX!W!TX$w!TX~O%`!TX~P#5RO[!TXhmXnmXrmXwmX!PmX!QmX!WmX!]mX%OmX%YmX~P#5ROn#TO!Q,aO!|,XO#R#dOj`X#T%eX#U%eX~PBRO[oO^YOaoOdoOh!POr!pOw}O!P#hO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O!Q-OO%O+yO~P#6{O!Q-PO%O+xO~P#6{O!Q-QO%O+{O~P#6{O#T,bO#U,bO~O#W,cO~O^!hOh!POr-TOw}O!P-_O!Q-WO!W-^O!]-eO%O!eO%Y!fO~O^!hOh!POr-TOw}O!Q-`O!W-^O!]-eO%O!eO%Y!fO~O!P-VO~P#9zO%O+wO~P!4vO!P-XO~O!V-YO!|#`O~PBRO!V-ZO~O!V-[O~O!W-dO~OP%ka%Oa~",goto:"!FW%sPP%tP%wP%zP'SP'XPPPP'`'cP'u'uP)w'u-_PPP0j0m0qP1V4b1VP7s8WP1VP8a8d8hP8p8w1VPP1V8{<`?vPPCY-_-_-_PCdCuCxPC{DQ'u'uDV'uES'u'u'u'uGUIW'uPPJR'uJUMjMjMj'u! r! r!#SP!$`!%d!&d'cP'cPP'cP!&yP!'V!'^!&yP!'a!'h!'n!'w!&yP!'z!(R!&y!(U!(fPP!&yP!(x!)UPP!&y!)Y!)c!&yP!)g!)gP!&yP!&yP!)j!)m!&v!&yP!&yPPP!&yP!&yP!)q!)q!)w!)}!*U!*[!*d!*j!*p!*w!*}!+T!+Z!.q!.x!/O!/X!/m!/s!/z!0Q!0W!0^!0d!0jPPPPPPPPP!0p!1f!1k!1{!2kPP!7P!:^P!>u!?Z!?_!@Z!@fP!@p!D_!Df!Di!DuPPPPPPPPPPPP!FSR!aPRyO!WXOScw!R!T!U!W#O#k#n#u$R$X&O&j&u&|'W'Y']'})W)|*k*w+gQ#pzU#r{#s%uQ#x|U$T!S$U&pQ$^!VQ$y!lR)U'RVROS#nQ#t{T%t#s%uR#t{qrOScw!U!V!W#O#k#n&|'W'Y)W*k+g%PoOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^%O]OSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^#u!iW^!O!h!t!z#e#h#u#v#y#|#}$P$Q$T$W$v$x%W%Y%a%x%y&O&S&W&]&`&b&d&m'e'|'}(S([(c(i(o(|)l)|*P*Q*S*p*w*|+R+^+j+l,h-U-V-W-X-Y-Z-[-]-_-d'cbOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR$O!PT&c#}&dW%`#R&z*d+cQ&Q#vS&V#y&]S&`#}&dR*Y(b'cZOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-d%fWOSWYacmnw!O!U!V!W!X!Z!_!q!z#O#Q#S#T#V#^#_#`#a#b#c#h#i#j#k#n#v#|$f$v$x%W%Y%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(i(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^S&b#}&d!{-]!h!t#e#u#y$P$Q$T$W%a%x%y&O&W&]&`&m'e'|'}(S([(c(o(|)l)|*Q*p*w+R+j+l,h-U-V-W-X-Y-Z-[-]-_-dQ#v|S$v!j!pU&P#v$v,hZ,h#x&Q&U&V-TS%{#u&OV){'})|*wR#z}T&[#y&]]&X#y&](S([(o*QZ&Z#y&](S(o*QT([&Y(]'s_OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-d'r_OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR!w^'bbOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dS&a#}&dR(d&bS!u]fX!x`&_(e(oQ!r[Q%O!qQ)d'aU)f'b)i*oR+X*nR%R!qR%P!qV)h'b)i*oV)g'b)i*odtOScw#O#k#n&|'Y+gQ$h!WQ&R#wQ&w$[S'S$c$iQ(V&TQ*O(RQ*V(WQ*b(yQ*c(zR+_+Q%PfOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^%PgOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^!q#Weg!o!y$[$_$c$j$m$q$}%^%b%d%m'V'p(z({)S)Y)^)c)e)q)t*i*s+T+V+W+Y,f,g,i,j,w,z-aR#fh#^mOSacmnw!X!Z!_!q#O#S#T#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&y&|'P'T'U'X'Y']'a'b'o'r(k(t)i)s*`*h*l*n*o*r+g-^!W#_e!y$j$m$q$}%b%d%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aW,T!o,n,q,tj,U$[$_$c(z)S*i,g,j,o,r,u,w,z[,V%^,f,i,p,s,v`,{Y,Q,T,W,Z,^,{-Ox,|!U!V!W&x'R'W)V)W*k+},R,U,X,[,_,a,b,c,|-Pg,}#Q#V'w+|,S,V,Y,],`,}-Q#^mOSacmnw!X!Z!_!q#O#S#T#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&y&|'P'T'U'X'Y']'a'b'o'r(k(t)i)s*`*h*l*n*o*r+g-^`,{Y,Q,T,W,Z,^,{-Ox,|!U!V!W&x'R'W)V)W*k+},R,U,X,[,_,a,b,c,|-Pg,}#Q#V'w+|,S,V,Y,],`,}-Q!Y#^e!y$j$m$q$}%b%d%i%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aY,Q!o,k,n,q,tl,R$[$_$c(z)S*i,g,j,l,o,r,u,w,z_,S%^,f,i,m,p,s,v!W#_e!y$j$m$q$}%b%d%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aW,T!o,n,q,tj,U$[$_$c(z)S*i,g,j,o,r,u,w,z],V%^,f,i,p,s,v!S#ae!y$j$m$q$}%b%d%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aS,Z!o,tf,[$[$_$c(z)S*i,g,j,u,w,zX,]%^,f,i,v!Q#be!y$j$m$q$}%b%d%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aQ,^!od,_$[$_$c(z)S*i,g,j,w,zV,`%^,f,iprOScw!U!V!W#O#k#n&|'W'Y)W*k+gR)a']etOScw#O#k#n&|'Y+gQ$S!RT&i$R&jR$S!RQ$V!ST&o$U&pQ&U#xR&m$TS(T&S&lV*{*S*|+^R$V!SQ$Y!TT&t$X&uR$Y!TdsOScw#O#k#n&|'Y+gT$p![!]dtOScw#O#k#n&|'Y+gQ*b(yR+_+QQ$a!VQ&{$_Q)T'RR*g)ST&|$`&}Q+b+SQ+m+fR+v+uT+g+a+hR$i!WR$l!YT'Y$k'ZXuOSw#nQ$s!`R'_$sSSO#nR!dSQ%u#sR'y%uUwOS#nR#mwQ&d#}R(g&dQ(c&`R*Z(cS!mX$^R$z!mQ(O%{R)}(OQ&]#yR(_&]Q(]&YR*X(]'r^OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR!v^S'f%T+PR)m'fQ'c%RR)j'cW#Oc&|'Y+gR%[#O^#Ue$[$_$c$m)^,zU%e#U,O,PQ,O,fR,P,gQ&j$RR(m&jS*Q(S(oR*y*QQ*T(TR*}*TQ&p$UR(r&pQ&u$XR(w&uQ&}$`R)O&}Q+h+aR+o+hQ'Z$kR)['ZQ!cRQ#luQ#nyQ%Z!|Q&x$]Q'R$bQ'x%tQ(^&[Q(f&cQ(l&iQ(q&oR(v&tVxOS#nWuOSw#nY!|c#O&|'Y+gR%r#kdtOScw#O#k#n&|'Y+gQ$]!UQ$b!VQ$g!WQ)X'WQ*j)WR+U*kdeOScw#O#k#n&|'Y+gQ!oYQ!ya`#gmn,{,|,}-O-P-QQ$[!UQ$_!VQ$c!WQ$j!Xd$m!Z#i#j&g&s'P'T'U(k(tQ$q!_Q$}!qQ%^#QQ%b#SQ%d#TW%h#^,Q,R,SQ%i#_Q%j#`Q%k#aQ%l#bQ%m#cQ'V$fQ'p%cQ(z&xQ({&yQ)S'RQ)Y'XQ)^']Q)c'aU)e'b)i*oQ)q'oQ)t'rQ*i)VQ*s)sQ+T*hQ+V*lQ+W*nQ+Y*rS,f#V'wS,g,b,cQ,i+|Q,j+}Q,k,TQ,l,UQ,m,VQ,n,WQ,o,XQ,p,YQ,q,ZQ,r,[Q,s,]Q,t,^Q,u,_Q,v,`Q,w,aU,z'W)W*kV-a&l*`-^#bZW!O!h!t!z#e#h#u#v#y#|$P$Q$T$W$v$x%W%Y%a%x%y&O&W&]&`&m'e'|'}(S([(c(i(o(|)l)|*Q*p*w+R+j+l,h-U-V-W-X-Y-Z-[-]-_-d%P[OSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^$zdOSacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^S!gW-]Q!nYS#{!O-_Q$u!hS%T!t+jS%X!z-UQ%n#e[%o#h#|$x-V-W-XW%w#u'})|*wU&P#v$v,h[&X#y&](S([(o*QQ&f$PQ&h$QQ&n$TQ&r$WS'h%W-YS'i%Y-ZW'l%a(|+R+lS'{%x%yQ(Q&OQ(Y&WQ(d&`Q(p&mU)k'e)l*pQ)z'|Q*[(cS*^(i-[Q+P*`R-c-dS#w|!pS$w!j-TQ&T#xQ(R&QQ(W&UR(X&VT%|#u&OhqOScw!U!V#O#k#n&|'Y+gU$Q!R$R&jU$W!T$X&uQ$e!WY%y#u&O'})|*wQ)`']V-S'W)W*kS&[#y&]S*R(S(oR*z*QY&Y#y&](S(o*QR*W(['``OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dS&_#}&dW(S&S*S*|+^Q(e&bQ(o&lR*x*PS%U!t*`R+q+jR%S!qQ#PcQ(}&|Q)Z'YR+n+ghpOScw!U!V#O#k#n&|'Y+gQ$d!WQ$n!ZQ%g#VU%p#i'T,bU%q#j'U,cQ(j&gQ(u&sQ)Q'PQ)_']Q)y'wQ*_(kQ*a(tV-R'W)W*kT(U&S&l",nodeNames:"\u26A0 LineComment BlockComment SourceFile PackageClause package DefName ; ImportDecl import ImportSpec . String ) ( SpecList ExprStatement Number Bool Nil Rune VariableName TypedLiteral StructType struct } { StructBody FieldDecl FieldName , PointerType * FunctionType func Parameters Parameter ... InterfaceType interface InterfaceBody MethodElem UnderlyingType ~ TypeElem LogicOp ChannelType chan <- ParenthesizedType QualifiedType TypeName ParameterizedType ] [ TypeArgs ArrayType SliceType MapType map LiteralValue Element Key : Element Key ParenthesizedExpr FunctionLiteral Block Conversion SelectorExpr IndexExpr SliceExpr TypeAssertion CallExpr ParameterizedExpr Arguments CallExpr make new Arguments UnaryExp ArithOp LogicOp BitOp DerefOp BinaryExp ArithOp BitOp BitOp CompareOp LogicOp LogicOp SendStatement IncDecStatement IncDecOp Assignment = UpdateOp VarDecl := ConstDecl const ConstSpec SpecList TypeDecl type TypeSpec TypeParams TypeParam SpecList VarDecl var VarSpec SpecList LabeledStatement LabelName IfStatement if else SwitchStatement switch SwitchBlock Case case default TypeSwitchStatement SwitchBlock Case ForStatement for ForClause RangeClause range GoStatement go SelectStatement select SelectBlock Case ReceiveStatement ReturnStatement return GotoStatement break continue goto FallthroughStatement fallthrough DeferStatement defer FunctionDecl MethodDecl",maxTerm:218,context:Oy,nodeProps:[["isolate",-3,2,12,20,""],["group",-18,12,17,18,19,20,21,22,66,67,69,70,71,72,73,74,77,81,86,"Expr",-20,16,68,93,94,96,99,101,105,111,115,117,120,126,129,134,136,141,143,147,149,"Statement",-12,23,31,33,38,46,49,50,51,52,56,57,58,"Type"],["openedBy",13,"(",25,"{",53,"["],["closedBy",14,")",26,"}",54,"]"]],propSources:[iy],skippedNodes:[0,1,2,153],repeatNodeCount:23,tokenData:":b~RvXY#iYZ#i]^#ipq#iqr#zrs$Xuv&Pvw&^wx&yxy(qyz(vz{({{|)T|})e}!O)j!O!P)u!P!Q+}!Q!R,y!R![-t![!]2^!]!^2k!^!_2p!_!`3]!`!a3e!c!}3x!}#O4j#P#Q4o#Q#R4t#R#S4|#S#T9X#T#o3x#o#p9q#p#q9v#q#r:W#r#s:]$g;'S3x;'S;=`4d<%lO3x~#nS$y~XY#iYZ#i]^#ipq#iU$PP%hQ!_!`$SS$XO!|S~$^W[~OY$XZr$Xrs$vs#O$X#O#P${#P;'S$X;'S;=`%y<%lO$X~${O[~~%ORO;'S$X;'S;=`%X;=`O$X~%^X[~OY$XZr$Xrs$vs#O$X#O#P${#P;'S$X;'S;=`%y;=`<%l$X<%lO$X~%|P;=`<%l$X~&UP%l~!_!`&X~&^O#U~~&cR%j~vw&l!_!`&X#Q#R&q~&qO%p~~&vP%o~!_!`&X~'OWd~OY&yZw&ywx'hx#O&y#O#P'm#P;'S&y;'S;=`(k<%lO&y~'mOd~~'pRO;'S&y;'S;=`'y;=`O&y~(OXd~OY&yZw&ywx'hx#O&y#O#P'm#P;'S&y;'S;=`(k;=`<%l&y<%lO&y~(nP;=`<%l&y~(vO^~~({O]~~)QP%Y~!_!`&X~)YQ%f~{|)`!_!`&X~)eO#R~~)jOn~~)oQ%g~}!O)`!_!`&X~)zRZS!O!P*T!Q![*`#R#S+w~*WP!O!P*Z~*`Ou~Q*eTaQ!Q![*`!g!h*t#R#S+w#X#Y*t#]#^+rQ*wS{|+T}!O+T!Q![+^#R#S+lQ+WQ!Q![+^#R#S+lQ+cRaQ!Q![+^#R#S+l#]#^+rQ+oP!Q![+^Q+wOaQQ+zP!Q![*`~,SR%k~z{,]!P!Q,b!_!`&X~,bO$z~~,gSP~OY,bZ;'S,b;'S;=`,s<%lO,b~,vP;=`<%l,bQ-O[aQ!O!P*`!Q![-t!d!e.c!g!h*t!q!r/Z!z!{/x#R#S.]#U#V.c#X#Y*t#]#^+r#c#d/Z#l#m/xQ-yUaQ!O!P*`!Q![-t!g!h*t#R#S.]#X#Y*t#]#^+rQ.`P!Q![-tQ.fR!Q!R.o!R!S.o#R#S/QQ.tSaQ!Q!R.o!R!S.o#R#S/Q#]#^+rQ/TQ!Q!R.o!R!S.oQ/^Q!Q!Y/d#R#S/rQ/iRaQ!Q!Y/d#R#S/r#]#^+rQ/uP!Q!Y/dQ/{T!O!P0[!Q![1c!c!i1c#R#S2Q#T#Z1cQ0_S!Q![0k!c!i0k#R#S1V#T#Z0kQ0pVaQ!Q![0k!c!i0k!r!s*t#R#S1V#T#Z0k#]#^+r#d#e*tQ1YR!Q![0k!c!i0k#T#Z0kQ1hWaQ!O!P0k!Q![1c!c!i1c!r!s*t#R#S2Q#T#Z1c#]#^+r#d#e*tQ2TR!Q![1c!c!i1c#T#Z1c~2cP!a~!_!`2f~2kO#W~~2pOV~~2uR!|S}!O3O!^!_3T!_!`$S~3TO!Q~~3YP%m~!_!`&X~3bP#T~!_!`$S~3jQ!|S!_!`$S!`!a3p~3uP%n~!_!`&X~3}V%O~!Q![3x!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~4gP;=`<%l3x~4oO!W~~4tO!V~~4yP%i~!_!`&X~5RV%O~!Q![5h!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~5o^aQ%O~!O!P*`!Q![5h!c!g3x!g!h6k!h!}3x#R#S4|#T#X3x#X#Y6k#Y#]3x#]#^8k#^#o3x$g;'S3x;'S;=`4d<%lO3x~6pX%O~{|+T}!O+T!Q![7]!c!}3x#R#S8P#T#o3x$g;'S3x;'S;=`4d<%lO3x~7dXaQ%O~!Q![7]!c!}3x#R#S8P#T#]3x#]#^8k#^#o3x$g;'S3x;'S;=`4d<%lO3x~8UV%O~!Q![7]!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~8rVaQ%O~!Q![3x!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~9[TO#S9X#S#T$v#T;'S9X;'S;=`9k<%lO9X~9nP;=`<%l9X~9vOj~~9{Q%`~!_!`&X#p#q:R~:WO%q~~:]Oi~~:bO{~",tokenizers:[ey,1,2,new kt("j~RQYZXz{^~^O$|~~aP!P!Qd~iO$}~~",25,181)],topRules:{SourceFile:[0,3]},dynamicPrecedences:{19:1,51:-1,55:2,69:-1,108:-1},specialized:[{term:184,get:O=>ry[O]||-1}],tokenPrec:5451});var ny=[W("func ${name}(${params}) ${type} {\n ${}\n}",{label:"func",detail:"declaration",type:"keyword"}),W("func (${receiver}) ${name}(${params}) ${type} {\n ${}\n}",{label:"func",detail:"method declaration",type:"keyword"}),W("var ${name} = ${value}",{label:"var",detail:"declaration",type:"keyword"}),W("type ${name} ${type}",{label:"type",detail:"declaration",type:"keyword"}),W("const ${name} = ${value}",{label:"const",detail:"declaration",type:"keyword"}),W("type ${name} = ${type}",{label:"type",detail:"alias declaration",type:"keyword"}),W("for ${init}; ${test}; ${update} {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),W("for ${i} := range ${value} {\n ${}\n}",{label:"for",detail:"range",type:"keyword"}),W(`select { \${} }`,{label:"select",detail:"statement",type:"keyword"}),W("case ${}:\n${}",{label:"case",type:"keyword"}),W("switch ${} {\n ${}\n}",{label:"switch",detail:"statement",type:"keyword"}),W("switch ${}.(${type}) {\n ${}\n}",{label:"switch",detail:"type statement",type:"keyword"}),W("if ${} {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),W(`if \${} { diff --git a/resources/css/filament/admin/theme.css b/resources/css/filament/admin/theme.css index 6af567f8..f3021653 100644 --- a/resources/css/filament/admin/theme.css +++ b/resources/css/filament/admin/theme.css @@ -12,7 +12,7 @@ button[wire\:click="resetTableFiltersForm"] { } .tippy-box { - max-width: 700px !important; + max-width: 800px !important; } /* .fi-ta-header-toolbar { diff --git a/resources/views/filament/tables/columns/fumetto-multiline/label.blade.php b/resources/views/filament/tables/columns/fumetto-multiline/label.blade.php index 48a3fce3..36d640a6 100644 --- a/resources/views/filament/tables/columns/fumetto-multiline/label.blade.php +++ b/resources/views/filament/tables/columns/fumetto-multiline/label.blade.php @@ -3,9 +3,11 @@
{{ $label }}
@endforeach
Margin
+
Lastcheck
Book
@foreach ($labels as $label)
{{ $label }}
@endforeach -
Margin
\ No newline at end of file +
Margin
+
Lastcheck
\ No newline at end of file diff --git a/resources/views/filament/tables/columns/fumetto-multiline/lastcheck.blade.php b/resources/views/filament/tables/columns/fumetto-multiline/lastcheck.blade.php new file mode 100644 index 00000000..7c2d0b48 --- /dev/null +++ b/resources/views/filament/tables/columns/fumetto-multiline/lastcheck.blade.php @@ -0,0 +1,5 @@ +@php +use Illuminate\Support\Carbon; +@endphp + +
{{Carbon::createFromDate($lastcheck)->format('d.m H:i')}}
\ No newline at end of file diff --git a/resources/views/filament/tables/columns/fumetto-multiline/odds.blade.php b/resources/views/filament/tables/columns/fumetto-multiline/odds.blade.php index 13047141..c936e916 100644 --- a/resources/views/filament/tables/columns/fumetto-multiline/odds.blade.php +++ b/resources/views/filament/tables/columns/fumetto-multiline/odds.blade.php @@ -1,4 +1,4 @@ -