@nowline/embed 0.0.0-dev.20260610044929.g419bf5e → 0.0.0-dev.20260610143214.g13a42f2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/nowline.esm.js +3 -3
- package/dist/nowline.min.js +2 -2
- package/package.json +6 -6
package/dist/nowline.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @nowline/embed 0.0.0-dev.
|
|
1
|
+
/*! @nowline/embed 0.0.0-dev.20260610143214.g13a42f2 sha=13a42f2 built=2026-06-10T07:31:45-07:00 */
|
|
2
2
|
var __create = Object.create;
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -40019,8 +40019,8 @@ function effectiveTheme(theme, systemTheme) {
|
|
|
40019
40019
|
}
|
|
40020
40020
|
|
|
40021
40021
|
// src/index.ts
|
|
40022
|
-
var version = true ? "0.0.0-dev.
|
|
40023
|
-
var sha = true ? "
|
|
40022
|
+
var version = true ? "0.0.0-dev.20260610143214.g13a42f2" : "0.0.0";
|
|
40023
|
+
var sha = true ? "13a42f2" : "unknown";
|
|
40024
40024
|
var DEFAULT_SELECTOR = "pre code.language-nowline, code.language-nowline";
|
|
40025
40025
|
var initialConfig = {
|
|
40026
40026
|
theme: "auto",
|
package/dist/nowline.min.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @nowline/embed 0.0.0-dev.
|
|
1
|
+
/*! @nowline/embed 0.0.0-dev.20260610143214.g13a42f2 sha=13a42f2 built=2026-06-10T07:31:45-07:00 */
|
|
2
2
|
"use strict";var nowline=(()=>{var XP=Object.create;var bc=Object.defineProperty;var HP=Object.getOwnPropertyDescriptor;var jP=Object.getOwnPropertyNames;var zP=Object.getPrototypeOf,qP=Object.prototype.hasOwnProperty;var WP=(t,e,r)=>e in t?bc(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var s0=(t,e)=>()=>(t&&(e=t(t=0)),e);var fe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),rn=(t,e)=>{for(var r in e)bc(t,r,{get:e[r],enumerable:!0})},ff=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of jP(e))!qP.call(t,i)&&i!==r&&bc(t,i,{get:()=>e[i],enumerable:!(n=HP(e,i))||n.enumerable});return t},Ie=(t,e,r)=>(ff(t,e,"default"),r&&ff(r,e,"default")),Tm=(t,e,r)=>(r=t!=null?XP(zP(t)):{},ff(e||!t||!t.__esModule?bc(r,"default",{value:t,enumerable:!0}):r,t)),df=t=>ff(bc({},"__esModule",{value:!0}),t);var de=(t,e,r)=>WP(t,typeof e!="symbol"?e+"":e,r);var ep={};rn(ep,{AnnotatedTextEdit:()=>Hn,ChangeAnnotation:()=>Po,ChangeAnnotationIdentifier:()=>Lt,CodeAction:()=>Dy,CodeActionContext:()=>Ly,CodeActionKind:()=>Oy,CodeActionTriggerKind:()=>bl,CodeDescription:()=>uy,CodeLens:()=>$y,Color:()=>Wd,ColorInformation:()=>iy,ColorPresentation:()=>oy,Command:()=>Oo,CompletionItem:()=>Ey,CompletionItemKind:()=>my,CompletionItemLabelDetails:()=>_y,CompletionItemTag:()=>yy,CompletionList:()=>vy,CreateFile:()=>oa,DeleteFile:()=>aa,Diagnostic:()=>El,DiagnosticRelatedInformation:()=>Vd,DiagnosticSeverity:()=>cy,DiagnosticTag:()=>ly,DocumentHighlight:()=>Iy,DocumentHighlightKind:()=>Ay,DocumentLink:()=>Fy,DocumentSymbol:()=>Py,DocumentUri:()=>ty,EOL:()=>u2,FoldingRange:()=>ay,FoldingRangeKind:()=>sy,FormattingOptions:()=>My,Hover:()=>Ry,InlayHint:()=>Wy,InlayHintKind:()=>Jd,InlayHintLabelPart:()=>Qd,InlineCompletionContext:()=>Qy,InlineCompletionItem:()=>Yy,InlineCompletionList:()=>Ky,InlineCompletionTriggerKind:()=>Zy,InlineValueContext:()=>qy,InlineValueEvaluatableExpression:()=>zy,InlineValueText:()=>Hy,InlineValueVariableLookup:()=>jy,InsertReplaceEdit:()=>xy,InsertTextFormat:()=>gy,InsertTextMode:()=>Ty,Location:()=>_l,LocationLink:()=>ny,MarkedString:()=>wl,MarkupContent:()=>ca,MarkupKind:()=>Zd,OptionalVersionedTextDocumentIdentifier:()=>Rl,ParameterInformation:()=>wy,Position:()=>Se,Range:()=>Ee,RenameFile:()=>sa,SelectedCompletionInfo:()=>Jy,SelectionRange:()=>Uy,SemanticTokenModifiers:()=>Gy,SemanticTokenTypes:()=>By,SemanticTokens:()=>Xy,SignatureInformation:()=>by,StringValue:()=>Vy,SymbolInformation:()=>Ny,SymbolKind:()=>Sy,SymbolTag:()=>ky,TextDocument:()=>tx,TextDocumentEdit:()=>vl,TextDocumentIdentifier:()=>dy,TextDocumentItem:()=>hy,TextEdit:()=>fn,URI:()=>qd,VersionedTextDocumentIdentifier:()=>py,WorkspaceChange:()=>fy,WorkspaceEdit:()=>Yd,WorkspaceFolder:()=>ex,WorkspaceSymbol:()=>Cy,integer:()=>ry,uinteger:()=>Tl});var ty,qd,ry,Tl,Se,Ee,_l,ny,Wd,iy,oy,sy,ay,Vd,cy,ly,uy,El,Oo,fn,Po,Lt,Hn,vl,oa,sa,aa,Yd,ia,Kd,fy,dy,py,Rl,hy,Zd,ca,my,gy,yy,xy,Ty,_y,Ey,vy,wl,Ry,wy,by,Ay,Iy,Sy,ky,Ny,Cy,Py,Oy,bl,Ly,Dy,$y,My,Fy,Uy,By,Gy,Xy,Hy,jy,zy,qy,Jd,Qd,Wy,Vy,Yy,Ky,Zy,Jy,Qy,ex,u2,tx,rx,w,la=s0(()=>{"use strict";(function(t){function e(r){return typeof r=="string"}t.is=e})(ty||(ty={}));(function(t){function e(r){return typeof r=="string"}t.is=e})(qd||(qd={}));(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(ry||(ry={}));(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(Tl||(Tl={}));(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=Tl.MAX_VALUE),i===Number.MAX_VALUE&&(i=Tl.MAX_VALUE),{line:n,character:i}}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&w.uinteger(i.line)&&w.uinteger(i.character)}t.is=r})(Se||(Se={}));(function(t){function e(n,i,o,s){if(w.uinteger(n)&&w.uinteger(i)&&w.uinteger(o)&&w.uinteger(s))return{start:Se.create(n,i),end:Se.create(o,s)};if(Se.is(n)&&Se.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${o}, ${s}]`)}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&Se.is(i.start)&&Se.is(i.end)}t.is=r})(Ee||(Ee={}));(function(t){function e(n,i){return{uri:n,range:i}}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&Ee.is(i.range)&&(w.string(i.uri)||w.undefined(i.uri))}t.is=r})(_l||(_l={}));(function(t){function e(n,i,o,s){return{targetUri:n,targetRange:i,targetSelectionRange:o,originSelectionRange:s}}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&Ee.is(i.targetRange)&&w.string(i.targetUri)&&Ee.is(i.targetSelectionRange)&&(Ee.is(i.originSelectionRange)||w.undefined(i.originSelectionRange))}t.is=r})(ny||(ny={}));(function(t){function e(n,i,o,s){return{red:n,green:i,blue:o,alpha:s}}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&w.numberRange(i.red,0,1)&&w.numberRange(i.green,0,1)&&w.numberRange(i.blue,0,1)&&w.numberRange(i.alpha,0,1)}t.is=r})(Wd||(Wd={}));(function(t){function e(n,i){return{range:n,color:i}}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&Ee.is(i.range)&&Wd.is(i.color)}t.is=r})(iy||(iy={}));(function(t){function e(n,i,o){return{label:n,textEdit:i,additionalTextEdits:o}}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&w.string(i.label)&&(w.undefined(i.textEdit)||fn.is(i))&&(w.undefined(i.additionalTextEdits)||w.typedArray(i.additionalTextEdits,fn.is))}t.is=r})(oy||(oy={}));(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(sy||(sy={}));(function(t){function e(n,i,o,s,a,c){let l={startLine:n,endLine:i};return w.defined(o)&&(l.startCharacter=o),w.defined(s)&&(l.endCharacter=s),w.defined(a)&&(l.kind=a),w.defined(c)&&(l.collapsedText=c),l}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&w.uinteger(i.startLine)&&w.uinteger(i.startLine)&&(w.undefined(i.startCharacter)||w.uinteger(i.startCharacter))&&(w.undefined(i.endCharacter)||w.uinteger(i.endCharacter))&&(w.undefined(i.kind)||w.string(i.kind))}t.is=r})(ay||(ay={}));(function(t){function e(n,i){return{location:n,message:i}}t.create=e;function r(n){let i=n;return w.defined(i)&&_l.is(i.location)&&w.string(i.message)}t.is=r})(Vd||(Vd={}));(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(cy||(cy={}));(function(t){t.Unnecessary=1,t.Deprecated=2})(ly||(ly={}));(function(t){function e(r){let n=r;return w.objectLiteral(n)&&w.string(n.href)}t.is=e})(uy||(uy={}));(function(t){function e(n,i,o,s,a,c){let l={range:n,message:i};return w.defined(o)&&(l.severity=o),w.defined(s)&&(l.code=s),w.defined(a)&&(l.source=a),w.defined(c)&&(l.relatedInformation=c),l}t.create=e;function r(n){var i;let o=n;return w.defined(o)&&Ee.is(o.range)&&w.string(o.message)&&(w.number(o.severity)||w.undefined(o.severity))&&(w.integer(o.code)||w.string(o.code)||w.undefined(o.code))&&(w.undefined(o.codeDescription)||w.string((i=o.codeDescription)===null||i===void 0?void 0:i.href))&&(w.string(o.source)||w.undefined(o.source))&&(w.undefined(o.relatedInformation)||w.typedArray(o.relatedInformation,Vd.is))}t.is=r})(El||(El={}));(function(t){function e(n,i,...o){let s={title:n,command:i};return w.defined(o)&&o.length>0&&(s.arguments=o),s}t.create=e;function r(n){let i=n;return w.defined(i)&&w.string(i.title)&&w.string(i.command)}t.is=r})(Oo||(Oo={}));(function(t){function e(o,s){return{range:o,newText:s}}t.replace=e;function r(o,s){return{range:{start:o,end:o},newText:s}}t.insert=r;function n(o){return{range:o,newText:""}}t.del=n;function i(o){let s=o;return w.objectLiteral(s)&&w.string(s.newText)&&Ee.is(s.range)}t.is=i})(fn||(fn={}));(function(t){function e(n,i,o){let s={label:n};return i!==void 0&&(s.needsConfirmation=i),o!==void 0&&(s.description=o),s}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&w.string(i.label)&&(w.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(w.string(i.description)||i.description===void 0)}t.is=r})(Po||(Po={}));(function(t){function e(r){let n=r;return w.string(n)}t.is=e})(Lt||(Lt={}));(function(t){function e(o,s,a){return{range:o,newText:s,annotationId:a}}t.replace=e;function r(o,s,a){return{range:{start:o,end:o},newText:s,annotationId:a}}t.insert=r;function n(o,s){return{range:o,newText:"",annotationId:s}}t.del=n;function i(o){let s=o;return fn.is(s)&&(Po.is(s.annotationId)||Lt.is(s.annotationId))}t.is=i})(Hn||(Hn={}));(function(t){function e(n,i){return{textDocument:n,edits:i}}t.create=e;function r(n){let i=n;return w.defined(i)&&Rl.is(i.textDocument)&&Array.isArray(i.edits)}t.is=r})(vl||(vl={}));(function(t){function e(n,i,o){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),o!==void 0&&(s.annotationId=o),s}t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&w.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||w.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||w.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Lt.is(i.annotationId))}t.is=r})(oa||(oa={}));(function(t){function e(n,i,o,s){let a={kind:"rename",oldUri:n,newUri:i};return o!==void 0&&(o.overwrite!==void 0||o.ignoreIfExists!==void 0)&&(a.options=o),s!==void 0&&(a.annotationId=s),a}t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&w.string(i.oldUri)&&w.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||w.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||w.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Lt.is(i.annotationId))}t.is=r})(sa||(sa={}));(function(t){function e(n,i,o){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),o!==void 0&&(s.annotationId=o),s}t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&w.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||w.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||w.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Lt.is(i.annotationId))}t.is=r})(aa||(aa={}));(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>w.string(i.kind)?oa.is(i)||sa.is(i)||aa.is(i):vl.is(i)))}t.is=e})(Yd||(Yd={}));ia=class{constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,o;if(n===void 0?i=fn.insert(e,r):Lt.is(n)?(o=n,i=Hn.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(n),i=Hn.insert(e,r,o)),this.edits.push(i),o!==void 0)return o}replace(e,r,n){let i,o;if(n===void 0?i=fn.replace(e,r):Lt.is(n)?(o=n,i=Hn.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(n),i=Hn.replace(e,r,o)),this.edits.push(i),o!==void 0)return o}delete(e,r){let n,i;if(r===void 0?n=fn.del(e):Lt.is(r)?(i=r,n=Hn.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=Hn.del(e,i)),this.edits.push(n),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}},Kd=class{constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,r){let n;if(Lt.is(e)?n=e:(n=this.nextId(),r=e),this._annotations[n]!==void 0)throw new Error(`Id ${n} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${n}`);return this._annotations[n]=r,this._size++,n}nextId(){return this._counter++,this._counter.toString()}},fy=class{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new Kd(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(vl.is(r)){let n=new ia(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{let n=new ia(e.changes[r]);this._textEditChanges[r]=n})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(Rl.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let r={uri:e.uri,version:e.version},n=this._textEditChanges[r.uri];if(!n){let i=[],o={textDocument:r,edits:i};this._workspaceEdit.documentChanges.push(o),n=new ia(i,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let n=[];this._workspaceEdit.changes[e]=n,r=new ia(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new Kd,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Po.is(r)||Lt.is(r)?i=r:n=r;let o,s;if(i===void 0?o=oa.create(e,n):(s=Lt.is(i)?i:this._changeAnnotations.manage(i),o=oa.create(e,n,s)),this._workspaceEdit.documentChanges.push(o),s!==void 0)return s}renameFile(e,r,n,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let o;Po.is(n)||Lt.is(n)?o=n:i=n;let s,a;if(o===void 0?s=sa.create(e,r,i):(a=Lt.is(o)?o:this._changeAnnotations.manage(o),s=sa.create(e,r,i,a)),this._workspaceEdit.documentChanges.push(s),a!==void 0)return a}deleteFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Po.is(r)||Lt.is(r)?i=r:n=r;let o,s;if(i===void 0?o=aa.create(e,n):(s=Lt.is(i)?i:this._changeAnnotations.manage(i),o=aa.create(e,n,s)),this._workspaceEdit.documentChanges.push(o),s!==void 0)return s}};(function(t){function e(n){return{uri:n}}t.create=e;function r(n){let i=n;return w.defined(i)&&w.string(i.uri)}t.is=r})(dy||(dy={}));(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return w.defined(i)&&w.string(i.uri)&&w.integer(i.version)}t.is=r})(py||(py={}));(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return w.defined(i)&&w.string(i.uri)&&(i.version===null||w.integer(i.version))}t.is=r})(Rl||(Rl={}));(function(t){function e(n,i,o,s){return{uri:n,languageId:i,version:o,text:s}}t.create=e;function r(n){let i=n;return w.defined(i)&&w.string(i.uri)&&w.string(i.languageId)&&w.integer(i.version)&&w.string(i.text)}t.is=r})(hy||(hy={}));(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){let n=r;return n===t.PlainText||n===t.Markdown}t.is=e})(Zd||(Zd={}));(function(t){function e(r){let n=r;return w.objectLiteral(r)&&Zd.is(n.kind)&&w.string(n.value)}t.is=e})(ca||(ca={}));(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(my||(my={}));(function(t){t.PlainText=1,t.Snippet=2})(gy||(gy={}));(function(t){t.Deprecated=1})(yy||(yy={}));(function(t){function e(n,i,o){return{newText:n,insert:i,replace:o}}t.create=e;function r(n){let i=n;return i&&w.string(i.newText)&&Ee.is(i.insert)&&Ee.is(i.replace)}t.is=r})(xy||(xy={}));(function(t){t.asIs=1,t.adjustIndentation=2})(Ty||(Ty={}));(function(t){function e(r){let n=r;return n&&(w.string(n.detail)||n.detail===void 0)&&(w.string(n.description)||n.description===void 0)}t.is=e})(_y||(_y={}));(function(t){function e(r){return{label:r}}t.create=e})(Ey||(Ey={}));(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}t.create=e})(vy||(vy={}));(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function r(n){let i=n;return w.string(i)||w.objectLiteral(i)&&w.string(i.language)&&w.string(i.value)}t.is=r})(wl||(wl={}));(function(t){function e(r){let n=r;return!!n&&w.objectLiteral(n)&&(ca.is(n.contents)||wl.is(n.contents)||w.typedArray(n.contents,wl.is))&&(r.range===void 0||Ee.is(r.range))}t.is=e})(Ry||(Ry={}));(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}t.create=e})(wy||(wy={}));(function(t){function e(r,n,...i){let o={label:r};return w.defined(n)&&(o.documentation=n),w.defined(i)?o.parameters=i:o.parameters=[],o}t.create=e})(by||(by={}));(function(t){t.Text=1,t.Read=2,t.Write=3})(Ay||(Ay={}));(function(t){function e(r,n){let i={range:r};return w.number(n)&&(i.kind=n),i}t.create=e})(Iy||(Iy={}));(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(Sy||(Sy={}));(function(t){t.Deprecated=1})(ky||(ky={}));(function(t){function e(r,n,i,o,s){let a={name:r,kind:n,location:{uri:o,range:i}};return s&&(a.containerName=s),a}t.create=e})(Ny||(Ny={}));(function(t){function e(r,n,i,o){return o!==void 0?{name:r,kind:n,location:{uri:i,range:o}}:{name:r,kind:n,location:{uri:i}}}t.create=e})(Cy||(Cy={}));(function(t){function e(n,i,o,s,a,c){let l={name:n,detail:i,kind:o,range:s,selectionRange:a};return c!==void 0&&(l.children=c),l}t.create=e;function r(n){let i=n;return i&&w.string(i.name)&&w.number(i.kind)&&Ee.is(i.range)&&Ee.is(i.selectionRange)&&(i.detail===void 0||w.string(i.detail))&&(i.deprecated===void 0||w.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=r})(Py||(Py={}));(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(Oy||(Oy={}));(function(t){t.Invoked=1,t.Automatic=2})(bl||(bl={}));(function(t){function e(n,i,o){let s={diagnostics:n};return i!=null&&(s.only=i),o!=null&&(s.triggerKind=o),s}t.create=e;function r(n){let i=n;return w.defined(i)&&w.typedArray(i.diagnostics,El.is)&&(i.only===void 0||w.typedArray(i.only,w.string))&&(i.triggerKind===void 0||i.triggerKind===bl.Invoked||i.triggerKind===bl.Automatic)}t.is=r})(Ly||(Ly={}));(function(t){function e(n,i,o){let s={title:n},a=!0;return typeof i=="string"?(a=!1,s.kind=i):Oo.is(i)?s.command=i:s.edit=i,a&&o!==void 0&&(s.kind=o),s}t.create=e;function r(n){let i=n;return i&&w.string(i.title)&&(i.diagnostics===void 0||w.typedArray(i.diagnostics,El.is))&&(i.kind===void 0||w.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||Oo.is(i.command))&&(i.isPreferred===void 0||w.boolean(i.isPreferred))&&(i.edit===void 0||Yd.is(i.edit))}t.is=r})(Dy||(Dy={}));(function(t){function e(n,i){let o={range:n};return w.defined(i)&&(o.data=i),o}t.create=e;function r(n){let i=n;return w.defined(i)&&Ee.is(i.range)&&(w.undefined(i.command)||Oo.is(i.command))}t.is=r})($y||($y={}));(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}t.create=e;function r(n){let i=n;return w.defined(i)&&w.uinteger(i.tabSize)&&w.boolean(i.insertSpaces)}t.is=r})(My||(My={}));(function(t){function e(n,i,o){return{range:n,target:i,data:o}}t.create=e;function r(n){let i=n;return w.defined(i)&&Ee.is(i.range)&&(w.undefined(i.target)||w.string(i.target))}t.is=r})(Fy||(Fy={}));(function(t){function e(n,i){return{range:n,parent:i}}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&Ee.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=r})(Uy||(Uy={}));(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(By||(By={}));(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(Gy||(Gy={}));(function(t){function e(r){let n=r;return w.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}t.is=e})(Xy||(Xy={}));(function(t){function e(n,i){return{range:n,text:i}}t.create=e;function r(n){let i=n;return i!=null&&Ee.is(i.range)&&w.string(i.text)}t.is=r})(Hy||(Hy={}));(function(t){function e(n,i,o){return{range:n,variableName:i,caseSensitiveLookup:o}}t.create=e;function r(n){let i=n;return i!=null&&Ee.is(i.range)&&w.boolean(i.caseSensitiveLookup)&&(w.string(i.variableName)||i.variableName===void 0)}t.is=r})(jy||(jy={}));(function(t){function e(n,i){return{range:n,expression:i}}t.create=e;function r(n){let i=n;return i!=null&&Ee.is(i.range)&&(w.string(i.expression)||i.expression===void 0)}t.is=r})(zy||(zy={}));(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}t.create=e;function r(n){let i=n;return w.defined(i)&&Ee.is(n.stoppedLocation)}t.is=r})(qy||(qy={}));(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}t.is=e})(Jd||(Jd={}));(function(t){function e(n){return{value:n}}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&(i.tooltip===void 0||w.string(i.tooltip)||ca.is(i.tooltip))&&(i.location===void 0||_l.is(i.location))&&(i.command===void 0||Oo.is(i.command))}t.is=r})(Qd||(Qd={}));(function(t){function e(n,i,o){let s={position:n,label:i};return o!==void 0&&(s.kind=o),s}t.create=e;function r(n){let i=n;return w.objectLiteral(i)&&Se.is(i.position)&&(w.string(i.label)||w.typedArray(i.label,Qd.is))&&(i.kind===void 0||Jd.is(i.kind))&&i.textEdits===void 0||w.typedArray(i.textEdits,fn.is)&&(i.tooltip===void 0||w.string(i.tooltip)||ca.is(i.tooltip))&&(i.paddingLeft===void 0||w.boolean(i.paddingLeft))&&(i.paddingRight===void 0||w.boolean(i.paddingRight))}t.is=r})(Wy||(Wy={}));(function(t){function e(r){return{kind:"snippet",value:r}}t.createSnippet=e})(Vy||(Vy={}));(function(t){function e(r,n,i,o){return{insertText:r,filterText:n,range:i,command:o}}t.create=e})(Yy||(Yy={}));(function(t){function e(r){return{items:r}}t.create=e})(Ky||(Ky={}));(function(t){t.Invoked=0,t.Automatic=1})(Zy||(Zy={}));(function(t){function e(r,n){return{range:r,text:n}}t.create=e})(Jy||(Jy={}));(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}t.create=e})(Qy||(Qy={}));(function(t){function e(r){let n=r;return w.objectLiteral(n)&&qd.is(n.uri)&&w.string(n.name)}t.is=e})(ex||(ex={}));u2=[`
|
|
3
3
|
`,`\r
|
|
4
4
|
`,"\r"];(function(t){function e(o,s,a,c){return new rx(o,s,a,c)}t.create=e;function r(o){let s=o;return!!(w.defined(s)&&w.string(s.uri)&&(w.undefined(s.languageId)||w.string(s.languageId))&&w.uinteger(s.lineCount)&&w.func(s.getText)&&w.func(s.positionAt)&&w.func(s.offsetAt))}t.is=r;function n(o,s){let a=o.getText(),c=i(s,(u,f)=>{let d=u.range.start.line-f.range.start.line;return d===0?u.range.start.character-f.range.start.character:d}),l=a.length;for(let u=c.length-1;u>=0;u--){let f=c[u],d=o.offsetAt(f.range.start),p=o.offsetAt(f.range.end);if(p<=l)a=a.substring(0,d)+f.newText+a.substring(p,a.length);else throw new Error("Overlapping edit");l=d}return a}t.applyEdits=n;function i(o,s){if(o.length<=1)return o;let a=o.length/2|0,c=o.slice(0,a),l=o.slice(a);i(c,s),i(l,s);let u=0,f=0,d=0;for(;u<c.length&&f<l.length;)s(c[u],l[f])<=0?o[d++]=c[u++]:o[d++]=l[f++];for(;u<c.length;)o[d++]=c[u++];for(;f<l.length;)o[d++]=l[f++];return o}})(tx||(tx={}));rx=class{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){this._content=e.text,this._version=r,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],r=this._content,n=!0;for(let i=0;i<r.length;i++){n&&(e.push(i),n=!1);let o=r.charAt(i);n=o==="\r"||o===`
|
|
@@ -2660,5 +2660,5 @@ ${r}`),this.inline?`{${i}}`:i}};function FU(t,e,r){if(t==="linkplain"||t==="link
|
|
|
2660
2660
|
"interfaces": [],
|
|
2661
2661
|
"types": []
|
|
2662
2662
|
}`));var HU={languageId:"nowline",fileExtensions:[".nowline"],caseInsensitive:!1,mode:"development"},lk={AstReflection:()=>new Ru},uk={Grammar:()=>ck(),LanguageMetaData:()=>HU,parser:{}};var fk={"NL.E0001":()=>"Config section must appear before roadmap.","NL.E0002":()=>"Include declarations must appear before the config section.","NL.E0003":()=>"Include declarations must appear before the roadmap section.","NL.E0004":()=>"At least one swimlane is required.","NL.E0005":t=>`Line ${t.line}: mixed tabs and spaces in indentation. Use either tabs or spaces consistently.`,"NL.E0100":t=>`Invalid version format "${t.version}". Expected format: v1, v2, etc.`,"NL.E0101":t=>`This file requires Nowline ${t.version}, but the parser only supports up to ${t.supported}.`,"NL.E0102":t=>`Unknown directive property "${t.key}". Allowed: ${t.allowed}.`,"NL.E0103":t=>`Duplicate directive property "${t.key}".`,"NL.E0104":t=>`Invalid locale "${t.value}". Use a BCP-47 tag like "en-US", "fr", or "fr-CA".`,"NL.E0200":t=>`Invalid include mode "${t.value}". Must be merge, ignore, or isolate.`,"NL.E0201":t=>`Duplicate "${t.key}" option on include.`,"NL.E0300":t=>`Duplicate identifier "${t.name}". First declared at ${t.location}.`,"NL.E0301":t=>`${t.type} must have an identifier, a title, or both.`,"NL.E0400":t=>`Invalid duration "${t.value}". Use a raw duration literal like 0.5d, 2w, 1m, 2q. Use "size:NAME" to reference a declared size.`,"NL.E0401":t=>`Invalid size "${t.value}". Use the id of a declared size (e.g. xs, m, lg).`,"NL.E0402":t=>`Invalid effort "${t.value}". Use a raw duration literal like 0.5d, 2w, 1m, 2q.`,"NL.E0403":t=>`Invalid remaining value "${t.value}". Use a percentage like 30% or a duration literal like 1w, 0.5d.`,"NL.E0404":t=>`Remaining must be between 0% and 100%, got ${t.value}.`,"NL.E0405":t=>`Invalid ${t.key} "${t.value}". Use ISO 8601 format: YYYY-MM-DD.`,"NL.E0406":t=>`Invalid scale "${t.value}". Use a raw duration literal like 1w, 2w, 1q (no name lookup).`,"NL.E0407":t=>`Invalid calendar "${t.value}". Must be business, full, or custom.`,"NL.E0408":t=>`Property "${t.key}" requires at least one reference.`,"NL.E0410":t=>`"${t.key}:" accepts at most one inline date per direction; collapse the multiple dates to a single binding date or use a declared anchor.`,"NL.E0411":t=>`Inline date in "${t.key}:" is not allowed on ${t.type}. Allowed only on item, parallel, and group; for a milestone use "date:" instead.`,"NL.E0412":t=>`Inline date "${t.date}" in "${t.key}:" requires the roadmap to declare "start:". Add start:YYYY-MM-DD to the roadmap.`,"NL.E0413":t=>`Inline date "${t.date}" in "${t.key}:" is before roadmap start ${t.start}.`,"NL.E0500":t=>`Anchor "${t.name}" requires a "date:" property.`,"NL.E0501":t=>`Anchor "${t.name}" has a date but the roadmap is missing "start:". Add start:YYYY-MM-DD to the roadmap.`,"NL.E0502":t=>`Anchor "${t.name}" date ${t.date} is before roadmap start ${t.start}.`,"NL.E0503":t=>`Milestone "${t.name}" requires at least one of "date:" or "after:".`,"NL.E0504":t=>`Milestone "${t.name}" date ${t.date} is before roadmap start ${t.start}.`,"NL.E0505":()=>'Footnote requires an "on:" property referencing one or more entities.',"NL.E0600":t=>`Item "${t.name}" requires a "size:" or "duration:" property.`,"NL.W0700":t=>`Unknown property "${t.key}" on ${t.entity}. The renderer ignores it.${t.suggested?` Did you mean "${t.suggested}"?`:""}`};var dk={"NL.E0001":()=>"La section config doit pr\xE9c\xE9der la section roadmap.","NL.E0002":()=>"Les d\xE9clarations include doivent pr\xE9c\xE9der la section config.","NL.E0003":()=>"Les d\xE9clarations include doivent pr\xE9c\xE9der la section roadmap.","NL.E0004":()=>"Au moins une swimlane est requise.","NL.E0005":t=>`Ligne ${t.line}\xA0: tabulations et espaces m\xE9lang\xE9s dans l'indentation. Utilisez l'un ou l'autre, mais pas les deux.`,"NL.E0100":t=>`Format de version invalide \xAB\xA0${t.version}\xA0\xBB. Format attendu\xA0: v1, v2, etc.`,"NL.E0101":t=>`Ce fichier requiert Nowline ${t.version}, mais l'analyseur ne prend en charge que jusqu'\xE0 ${t.supported}.`,"NL.E0102":t=>`Propri\xE9t\xE9 de directive inconnue \xAB\xA0${t.key}\xA0\xBB. Valeurs admises\xA0: ${t.allowed}.`,"NL.E0103":t=>`Propri\xE9t\xE9 de directive \xAB\xA0${t.key}\xA0\xBB en double.`,"NL.E0104":t=>`Locale invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez une \xE9tiquette BCP-47 telle que \xAB\xA0en-US\xA0\xBB, \xAB\xA0fr\xA0\xBB ou \xAB\xA0fr-CA\xA0\xBB.`,"NL.E0200":t=>`Mode d'include invalide \xAB\xA0${t.value}\xA0\xBB. Doit \xEAtre merge, ignore ou isolate.`,"NL.E0201":t=>`Option \xAB\xA0${t.key}\xA0\xBB en double sur include.`,"NL.E0300":t=>`Identifiant en double \xAB\xA0${t.name}\xA0\xBB. Premi\xE8re d\xE9claration \xE0 ${t.location}.`,"NL.E0301":t=>`${t.type} doit comporter un identifiant, un titre, ou les deux.`,"NL.E0400":t=>`Dur\xE9e invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un litt\xE9ral de dur\xE9e brut comme 0.5d, 2w, 1m, 2q. Utilisez \xAB\xA0size:NOM\xA0\xBB pour r\xE9f\xE9rencer une taille d\xE9clar\xE9e.`,"NL.E0401":t=>`Taille invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez l'identifiant d'une taille d\xE9clar\xE9e (p.\xA0ex. xs, m, lg).`,"NL.E0402":t=>`Effort invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un litt\xE9ral de dur\xE9e brut comme 0.5d, 2w, 1m, 2q.`,"NL.E0403":t=>`Valeur restante invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un pourcentage tel que 30% ou un litt\xE9ral de dur\xE9e comme 1w, 0.5d.`,"NL.E0404":t=>`La valeur restante doit \xEAtre comprise entre 0 % et 100 %, re\xE7u ${t.value}.`,"NL.E0405":t=>`${t.key} invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez le format ISO 8601\xA0: AAAA-MM-JJ.`,"NL.E0406":t=>`\xC9chelle invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un litt\xE9ral de dur\xE9e brut comme 1w, 2w, 1q (pas de recherche par nom).`,"NL.E0407":t=>`Calendrier invalide \xAB\xA0${t.value}\xA0\xBB. Doit \xEAtre business, full ou custom.`,"NL.E0408":t=>`La propri\xE9t\xE9 \xAB\xA0${t.key}\xA0\xBB exige au moins une r\xE9f\xE9rence.`,"NL.E0410":t=>`\xAB\xA0${t.key}:\xA0\xBB n'accepte qu'une seule date inline par direction\xA0; regroupez les dates en une seule date contraignante ou utilisez une ancre d\xE9clar\xE9e.`,"NL.E0411":t=>`Une date inline dans \xAB\xA0${t.key}:\xA0\xBB n'est pas autoris\xE9e sur ${t.type}. Autoris\xE9e seulement sur item, parallel et group\xA0; pour un milestone utilisez \xAB\xA0date:\xA0\xBB \xE0 la place.`,"NL.E0412":t=>`La date inline \xAB\xA0${t.date}\xA0\xBB dans \xAB\xA0${t.key}:\xA0\xBB exige que la roadmap d\xE9clare \xAB\xA0start:\xA0\xBB. Ajoutez start:AAAA-MM-JJ \xE0 la roadmap.`,"NL.E0413":t=>`La date inline \xAB\xA0${t.date}\xA0\xBB dans \xAB\xA0${t.key}:\xA0\xBB pr\xE9c\xE8de le d\xE9but de la roadmap (${t.start}).`,"NL.E0500":t=>`L'ancre \xAB\xA0${t.name}\xA0\xBB exige une propri\xE9t\xE9 \xAB\xA0date:\xA0\xBB.`,"NL.E0501":t=>`L'ancre \xAB\xA0${t.name}\xA0\xBB a une date, mais \xAB\xA0start:\xA0\xBB manque sur la roadmap. Ajoutez start:AAAA-MM-JJ \xE0 la roadmap.`,"NL.E0502":t=>`La date ${t.date} de l'ancre \xAB\xA0${t.name}\xA0\xBB pr\xE9c\xE8de le d\xE9but de la roadmap (${t.start}).`,"NL.E0503":t=>`Le jalon \xAB\xA0${t.name}\xA0\xBB exige au moins l'une des propri\xE9t\xE9s \xAB\xA0date:\xA0\xBB ou \xAB\xA0after:\xA0\xBB.`,"NL.E0504":t=>`La date ${t.date} du jalon \xAB\xA0${t.name}\xA0\xBB pr\xE9c\xE8de le d\xE9but de la roadmap (${t.start}).`,"NL.E0505":()=>"Une note de bas de page exige une propri\xE9t\xE9 \xAB\xA0on:\xA0\xBB r\xE9f\xE9ren\xE7ant au moins une entit\xE9.","NL.E0600":t=>`L'\xE9l\xE9ment \xAB\xA0${t.name}\xA0\xBB exige une propri\xE9t\xE9 \xAB\xA0size:\xA0\xBB ou \xAB\xA0duration:\xA0\xBB.`,"NL.W0700":t=>`Propri\xE9t\xE9 inconnue \xAB\xA0${t.key}\xA0\xBB sur ${t.entity}. Le moteur de rendu l'ignore.${t.suggested?` Vouliez-vous dire \xAB\xA0${t.suggested}\xA0\xBB\xA0?`:""}`};var pk={};var hk={};var jU=new Map([["en-US",fk],["fr",dk],["fr-CA",pk],["fr-FR",hk]]);function gk(t,e,...r){for(let n of zU(t)){let o=jU.get(n)?.[e];if(o)return o(...r)}return e}var mk="en-US";function zU(t){let e=[],r=qU(t);for(;r.length>0;){e.includes(r)||e.push(r);let n=r.lastIndexOf("-");if(n<=0)break;r=r.slice(0,n)}return e.includes(mk)||e.push(mk),e}function qU(t){return t.split("-").map((r,n)=>n===0?r.toLowerCase():/^[a-zA-Z]{2}$/.test(r)?r.toUpperCase():r).join("-")}var WU=/[\\/]/;function Tk(t){for(let e=t.length-1;e>=0;e--){let r=t.charCodeAt(e);if(r===47||r===92)return e}return-1}function yk(...t){for(let e of t)if(e){if(e.includes("\\")&&!e.includes("/"))return"\\";if(e.includes("/"))return"/"}return"/"}function VU(t){return t?t[0]==="/"||t[0]==="\\"?!0:t.length>=3&&/^[A-Za-z]:[\\/]/.test(t):!1}function _k(t){let e=Tk(t);return e<0?".":e===0?t[0]:e===2&&/^[A-Za-z]:[\\/]/.test(t)?t.slice(0,3):t.slice(0,e)}function ch(t){let e=Tk(t);return e<0?t:t.slice(e+1)}function m_(t,e){if(VU(e))return xk(e,yk(e));let r=yk(t,e);return xk(`${t}${r}${e}`,r)}function xk(t,e){let r="",n=t,i=/^([A-Za-z]:)([\\/])?/.exec(n);i?(r=i[1]+(i[2]?e:""),n=n.slice(i[0].length)):(n[0]==="/"||n[0]==="\\")&&(r=e,n=n.replace(/^[\\/]+/,""));let o=[];for(let s of n.split(WU))if(!(s===""||s===".")){if(s===".."){o.length>0&&o[o.length-1]!==".."?o.pop():r||o.push("..");continue}o.push(s)}return r+o.join(e)}var KU=/^\d{4}-\d{2}-\d{2}$/;function Rk(t){let e=t?.properties.find(r=>r.key==="start");if(e?.value&&KU.test(e.value)&&!Number.isNaN(new Date(e.value).getTime()))return e.value}function ZU(t,e,r){return e&&r?`Included "${t}" declares start:${r}, which doesn't match this file's start:${e}. Both files must declare the same start date, or neither should.`:e?`Included "${t}" has no start:, but this file declares start:${e}. Both files must declare the same start date, or neither should.`:`Included "${t}" declares start:${r}, but this file has no start:. Both files must declare the same start date, or neither should.`}function wk(){return{styles:new Map,defaults:new Map,symbols:new Map}}function bk(){return{persons:new Map,teams:new Map,anchors:new Map,labels:new Map,sizes:new Map,statuses:new Map,swimlanes:new Map,milestones:new Map,footnotes:new Map,isolatedRegions:[]}}async function y_(t,e,r){let n=r.readFile??(async c=>{let{nodeReadFile:l}=await Promise.resolve().then(()=>(vk(),Ek));return l(c)}),i={services:r.services,diagnostics:[],resolving:[],processed:new Map,readFile:n},o=m_("",e),{config:s,content:a}=await Ik(t,o,i);return{config:s,content:a,diagnostics:i.diagnostics,processedFiles:new Set(i.processed.keys())}}async function Ik(t,e,r){if(r.processed.has(e))return r.processed.get(e);if(r.resolving.includes(e)){r.diagnostics.push({severity:"error",message:`Circular include detected: ${[...r.resolving,e].join(" \u2192 ")}`,sourcePath:e});let a={config:wk(),content:bk()};return r.processed.set(e,a),a}r.resolving.push(e);let n=wk(),i=bk();tB(n,t),iB(i,t);let o=new Set;for(let a of t.includes){let c=a.path,l=m_(_k(e),c);if(o.has(l)){r.diagnostics.push({severity:"error",message:`Duplicate include "${c}" in ${ch(e)}.`,sourcePath:e,line:a.$cstNode?.range.start.line});continue}o.add(l);let u=Ak(a,"config")??"merge",f=Ak(a,"roadmap")??"merge",d;try{let y=await r.readFile(l);d=await JU(r.services,y,l)}catch(y){r.diagnostics.push({severity:"error",message:`Could not read include "${c}": ${y.message}`,sourcePath:e,line:a.$cstNode?.range.start.line});continue}let{config:p,content:m}=await Ik(d,l,r);if(QU(n,p,u,l,r.diagnostics),eB(i,m,p,f,l,c,r.diagnostics),f==="isolate"&&!m.roadmap&&r.diagnostics.push({severity:"error",message:`Cannot isolate "${c}": it has no roadmap declaration.`,sourcePath:e,line:a.$cstNode?.range.start.line}),f!=="ignore"&&d.roadmapDecl){let y=Rk(t.roadmapDecl),T=Rk(d.roadmapDecl);y!==T&&r.diagnostics.push({severity:"error",message:ZU(c,y,T),sourcePath:e,line:a.$cstNode?.range.start.line})}}r.resolving.pop();let s={config:n,content:i};return r.processed.set(e,s),s}function Ak(t,e){let r=t.options.find(n=>n.key===e);if(r&&(r.value==="merge"||r.value==="ignore"||r.value==="isolate"))return r.value}async function JU(t,e,r){let n=ht.file(r),o=t.shared.workspace.LangiumDocumentFactory.fromString(e,n);return await t.shared.workspace.DocumentBuilder.build([o],{validation:!1}),o.parseResult.value}function QU(t,e,r,n,i){if(r==="ignore"||r==="isolate")return;let o=(s,a)=>i.push({severity:"warning",message:`${a} "${s}" from ${ch(n)} is shadowed by the parent's definition.`,sourcePath:n});g_(t.styles,e.styles,s=>o(s,"Style")),g_(t.defaults,e.defaults,s=>o(s,"Default")),g_(t.symbols,e.symbols,s=>o(s,"Symbol")),e.scale&&!t.scale&&(t.scale=e.scale),e.calendar&&!t.calendar&&(t.calendar=e.calendar)}function eB(t,e,r,n,i,o,s){if(n==="ignore")return;if(n==="isolate"){e.roadmap&&t.isolatedRegions.push({sourcePath:o,config:r,content:e});return}let a=(c,l)=>s.push({severity:"warning",message:`${l} "${c}" from ${ch(i)} is shadowed by the parent's definition.`,sourcePath:i});qn(t.persons,e.persons,c=>a(c,"Person")),qn(t.teams,e.teams,c=>a(c,"Team")),qn(t.anchors,e.anchors,c=>a(c,"Anchor")),qn(t.labels,e.labels,c=>a(c,"Label")),qn(t.sizes,e.sizes,c=>a(c,"Size")),qn(t.statuses,e.statuses,c=>a(c,"Status")),qn(t.swimlanes,e.swimlanes,c=>a(c,"Swimlane")),qn(t.milestones,e.milestones,c=>a(c,"Milestone")),qn(t.footnotes,e.footnotes,c=>a(c,"Footnote")),e.roadmap&&!t.roadmap&&(t.roadmap=e.roadmap)}function g_(t,e,r){for(let[n,i]of e){if(t.has(n)){r(n);continue}t.set(n,i)}}function qn(t,e,r){for(let[n,i]of e){if(!i.name&&i.title){t.set(kk(t,Sk(i.title)),i);continue}if(t.has(n)){r(n);continue}t.set(n,i)}}function tB(t,e){for(let r of e.configEntries)rB(t,r)}function rB(t,e){sk(e)?t.scale||(t.scale=e):ah(e)?t.calendar||(t.calendar=e):Su(e)?e.name&&!t.styles.has(e.name)&&t.styles.set(e.name,e):ku(e)?e.name&&!t.symbols.has(e.name)&&t.symbols.set(e.name,e):Hi(e)&&(t.defaults.has(e.entityType)||t.defaults.set(e.entityType,e))}function nB(t){let e={swimlanes:new Set,persons:new Set,teams:new Set,anchors:new Set,labels:new Set,sizes:new Set,statuses:new Set,milestones:new Set,footnotes:new Set};for(let r of t){let n=r.name;n&&(Ir(r)?e.swimlanes.add(n):zn(r)?e.persons.add(n):Sr(r)?e.teams.add(n):wu(r)?e.anchors.add(n):Au(r)?e.labels.add(n):Ko(r)?e.sizes.add(n):tc(r)?e.statuses.add(n):Iu(r)?e.milestones.add(n):bu(r)&&e.footnotes.add(n))}return e}function iB(t,e){e.roadmapDecl&&!t.roadmap&&(t.roadmap=e.roadmapDecl);let r=nB(e.roadmapEntries);for(let n of e.roadmapEntries)oB(t,n,r)}function Sk(t){return t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"entity"}function kk(t,e,r){let n=o=>t.has(o)||(r?.has(o)??!1);if(!n(e))return e;let i=2;for(;n(`${e}-${i}`);)i++;return`${e}-${i}`}function Wn(t,e,r){e.name?t.has(e.name)||t.set(e.name,e):e.title&&t.set(kk(t,Sk(e.title),r),e)}function oB(t,e,r){Ir(e)?Wn(t.swimlanes,e,r.swimlanes):zn(e)?Wn(t.persons,e,r.persons):Sr(e)?Wn(t.teams,e,r.teams):wu(e)?Wn(t.anchors,e,r.anchors):Au(e)?Wn(t.labels,e,r.labels):Ko(e)?Wn(t.sizes,e,r.sizes):tc(e)?Wn(t.statuses,e,r.statuses):Iu(e)?Wn(t.milestones,e,r.milestones):bu(e)&&Wn(t.footnotes,e,r.footnotes)}var Nk="v1",x_=new Set(["planned","in-progress","active","done","completed","at-risk","blocked"]),lh=new Set(["bg","fg","text","border","icon","shadow","font","weight","italic","text-size","padding","spacing","header-height","corner-radius","bracket","header-position","capacity-icon","timeline-position","minor-grid"]),R_=new Set(["none","multiplier","person","people","points","time"]),uh=new Set([...R_,"shield","warning","lock","calendar"]),Bk="none",fh={border:new Set(["solid","dashed","dotted"]),shadow:new Set(["none","subtle","soft","hard"]),font:new Set(["sans","serif","mono"]),weight:new Set(["thin","light","normal","bold"]),italic:new Set(["true","false"]),"text-size":new Set(["none","xs","sm","md","lg","xl"]),padding:new Set(["none","xs","sm","md","lg","xl"]),spacing:new Set(["none","xs","sm","md","lg","xl"]),"header-height":new Set(["none","xs","sm","md","lg","xl"]),"corner-radius":new Set(["none","xs","sm","md","lg","xl","full"]),bracket:new Set(["none","solid","dashed"]),"header-position":new Set(["beside","above"]),"timeline-position":new Set(["top","bottom","both"]),"minor-grid":new Set(["true","false"])},sB=new Set(["red","blue","yellow","green","orange","purple","violet","gray","grey","navy","white","none"]),aB=new Set(["business","full","custom"]),T_=new Set(["days-per-week","days-per-month","days-per-quarter","days-per-year"]),Ck=new Set(["name","label-every","label"]),Pk=new Set(["item","label","swimlane","roadmap","milestone","footnote","anchor","parallel","group"]),cB={item:new Set(["size","duration","after","before","remaining","link","description","owner"]),milestone:new Set(["date","after","link","description"]),anchor:new Set(["date","link","description"]),footnote:new Set(["on","link","description"]),label:new Set(["link","description"]),swimlane:new Set(["capacity"]),roadmap:new Set,parallel:new Set,group:new Set},Ok=new Set(["labels","link","style","description"]),lB={RoadmapDeclaration:new Set(["author","start","length","scale","calendar","logo","logo-size"]),AnchorDeclaration:new Set(["date"]),SwimlaneDeclaration:new Set(["owner","capacity","utilization-warn-at","utilization-over-at","status","after","before"]),ItemDeclaration:new Set(["size","duration","status","owner","after","before","remaining","capacity","date","start"]),ParallelBlock:new Set(["owner","after","before","status"]),GroupBlock:new Set(["owner","after","before","status"]),MilestoneDeclaration:new Set(["date","after"]),FootnoteDeclaration:new Set(["on"]),PersonDeclaration:new Set,TeamDeclaration:new Set,LabelDeclaration:new Set,SizeDeclaration:new Set(["effort"]),StatusDeclaration:new Set};function uB(t,e,r){if(t===e)return 0;let n=t.length,i=e.length;if(Math.abs(n-i)>r)return r+1;if(n===0)return i;if(i===0)return n;let o=new Array(i+1),s=new Array(i+1);for(let a=0;a<=i;a++)o[a]=a;for(let a=1;a<=n;a++){s[0]=a;let c=a;for(let u=1;u<=i;u++){let f=t.charCodeAt(a-1)===e.charCodeAt(u-1)?0:1;s[u]=Math.min(o[u]+1,s[u-1]+1,o[u-1]+f),s[u]<c&&(c=s[u])}if(c>r)return r+1;let l=o;o=s,s=l}return o[i]}function fB(t,e,r=2){let n,i=r+1;for(let o of e){let s=uB(t,o,r);if(s<i&&(n=o,i=s,s===0))break}return n}function ke(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}var Nu=/^\d+(?:\.\d+)?[dwmqy]$/,dB=/^\d+%$/,ji=/^\d{4}-\d{2}-\d{2}$/,pB=/^#[0-9a-fA-F]{3,8}$/,hB=/^v\d+$/,Lk=/^\d+$/,mB=/^[dwmqy]$/,Dk=/^\d+(\.\d+)?$/,w_=/^\d+(\.\d+)?%$/,Gk=/^\d+\.\d+$/,gB=/^\d+$/,yB=/^[\x20-\x7E]{1,3}$/,xB=/^[a-zA-Z]{2,3}(-[a-zA-Z]{2}|-\d{3})?$/,TB=new Set(["merge","ignore","isolate"]),$k=new Set(["locale"]);function __(t){let e=t?.roadmapDecl?.properties.find(i=>ke(i)==="start");if(!e)return{kind:"missing"};let r=e.value;if(!r||!ji.test(r))return{kind:"invalid"};let n=new Date(r);return Number.isNaN(n.getTime())?{kind:"invalid"}:{kind:"valid",iso:r,date:n}}function Vr(t){return t.name??t.title??"<unnamed>"}function _B(t){return t.$type.replace(/Declaration$|Block$/,"").toLowerCase()}function we(t,e,r,n,...i){t(e,gk("en-US",n,...i),{...r,data:{code:n,args:i}})}function Xk(t){let e=t.validation.ValidationRegistry,r=t.validation.NowlineValidator,n={NowlineFile:[r.checkFileStructure,r.checkUniqueIdentifiers,r.checkSwimlaneRequired,r.checkIndentationConsistency,r.checkRoadmapOnlyKeywordsPosition,r.checkForwardReferences,r.checkReferenceResolution,r.checkInlineDatePins,r.checkCircularDependencies,r.checkDuplicateSizeIds,r.checkCalendarBlockConsistency,r.checkPersonDeclarations,r.checkDuplicateSymbolIds,r.checkSymbolReferences],NowlineDirective:[r.checkDirectiveVersion,r.checkDirectiveProperties],IncludeOption:[r.checkIncludeMode],IncludeDeclaration:[r.checkIncludeDuplicateOptions],EntityProperty:[r.checkPropertyValues],RoadmapDeclaration:[r.checkEntityIdOrTitle,r.checkRoadmapProperties,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],AnchorDeclaration:[r.checkEntityIdOrTitle,r.checkAnchorRequiredDate,r.checkAnchorAgainstStart,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],SwimlaneDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkUtilizationOrdering,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],ItemDeclaration:[r.checkEntityIdOrTitle,r.checkItemRequiredDuration,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],ParallelBlock:[r.checkParallelMinChildren,r.checkNoComputedProperties,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],GroupBlock:[r.checkGroupMinChildren,r.checkNoComputedProperties,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],MilestoneDeclaration:[r.checkEntityIdOrTitle,r.checkMilestoneRequirement,r.checkMilestoneAgainstStart,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],FootnoteDeclaration:[r.checkEntityIdOrTitle,r.checkFootnoteOn,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],PersonDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],TeamDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],StyleDeclaration:[r.checkEntityIdOrTitle],StyleProperty:[r.checkStylePropertyEnum],SymbolDeclaration:[r.checkEntityIdOrTitle,r.checkSymbolDeclaration],LabelDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],SizeDeclaration:[r.checkEntityIdOrTitle,r.checkSizeDeclaration,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],StatusDeclaration:[r.checkEntityIdOrTitle,r.checkStatusDeclaration,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],DefaultDeclaration:[r.checkDefaultDeclaration,r.checkUtilizationOrdering],CalendarBlock:[r.checkCalendarBlock],ScaleBlock:[r.checkScaleBlock]};e.register(n,r)}var ph=class{checkFileStructure(e,r){let n=e.hasConfig?Ss.findNodeForKeyword(e.$cstNode,"config")?.offset:void 0,i=e.roadmapDecl?.$cstNode?.offset;n!==void 0&&i!==void 0&&n>i&&we(r,"error",{node:e,property:"hasConfig"},"NL.E0001");for(let o of e.includes){let s=o.$cstNode?.offset??0;n!==void 0&&s>n&&we(r,"error",{node:o},"NL.E0002"),i!==void 0&&s>i&&we(r,"error",{node:o},"NL.E0003")}}checkRoadmapOnlyKeywordsPosition(e,r){}checkDirectiveVersion(e,r){if(!hB.test(e.version)){we(r,"error",{node:e,property:"version"},"NL.E0100",{version:e.version});return}let n=parseInt(e.version.slice(1),10),i=parseInt(Nk.slice(1),10);n>i&&we(r,"error",{node:e,property:"version"},"NL.E0101",{version:e.version,supported:Nk})}checkDirectiveProperties(e,r){let n=new Set;for(let i of e.properties){let o=ke(i);if(!$k.has(o)){we(r,"error",{node:i,property:"key"},"NL.E0102",{key:o,allowed:[...$k].join(", ")});continue}if(n.has(o)&&we(r,"error",{node:i,property:"key"},"NL.E0103",{key:o}),n.add(o),o==="locale"){let s=i.value;xB.test(s)||we(r,"error",{node:i,property:"value"},"NL.E0104",{value:s})}}}checkEntityIdOrTitle(e,r){!e.name&&!e.title&&we(r,"error",{node:e},"NL.E0301",{type:e.$type})}checkUniqueIdentifiers(e,r){let n=new Map,i=(o,s)=>{if(!o)return;let a=n.get(o);a?we(r,"error",{node:s},"NL.E0300",{name:o,location:dh(a)}):n.set(o,s)};e.roadmapDecl?.name&&i(e.roadmapDecl.name,e.roadmapDecl);for(let o of e.roadmapEntries)RB(o,i);for(let o of e.configEntries)Su(o)&&o.name&&i(o.name,o)}checkIndentationConsistency(e,r){let n=e.$document?.textDocument.getText()??e.$cstNode?.text;if(!n)return;let i=n.split(/\r?\n/);for(let o=0;o<i.length;o++){let s=i[o];if(s.length===0)continue;let a=s.match(/^([\t ]+)/);if(!a)continue;let c=a[1];if(c.includes(" ")&&c.includes(" ")){we(r,"error",{node:e},"NL.E0005",{line:o+1});return}}}checkSwimlaneRequired(e,r){let n=e.roadmapEntries.some(Ir);e.roadmapDecl&&!n&&we(r,"error",{node:e.roadmapDecl},"NL.E0004")}checkIncludeMode(e,r){TB.has(e.value)||we(r,"error",{node:e,property:"value"},"NL.E0200",{value:e.value})}checkIncludeDuplicateOptions(e,r){let n=new Set;for(let i of e.options){let o=i.key.replace(/:$/,"");n.has(o)&&we(r,"error",{node:i},"NL.E0201",{key:o}),n.add(o)}}checkPropertyValues(e,r){let n=ke(e),i=e.value,o=e.values,s=i?[i]:o;switch(n){case"status":break;case"duration":i&&!Nu.test(i)&&we(r,"error",{node:e,property:"value"},"NL.E0400",{value:i});break;case"size":i&&!Mk(i)&&we(r,"error",{node:e,property:"value"},"NL.E0401",{value:i});break;case"effort":i&&!Nu.test(i)&&we(r,"error",{node:e,property:"value"},"NL.E0402",{value:i});break;case"remaining":{if(i)if(dB.test(i)){let a=parseFloat(i);(a<0||a>100)&&we(r,"error",{node:e,property:"value"},"NL.E0404",{value:i})}else Nu.test(i)||we(r,"error",{node:e,property:"value"},"NL.E0403",{value:i});break}case"date":case"start":i&&(!ji.test(i)||Number.isNaN(new Date(i).getTime()))&&we(r,"error",{node:e,property:"value"},"NL.E0405",{key:n,value:i});break;case"scale":i&&!Nu.test(i)&&we(r,"error",{node:e,property:"value"},"NL.E0406",{value:i});break;case"calendar":i&&!aB.has(i)&&we(r,"error",{node:e,property:"value"},"NL.E0407",{value:i});break;case"on":case"after":case"before":s.length===0&&we(r,"error",{node:e},"NL.E0408",{key:n});break;case"capacity":{if(!i)break;let a=e.$container,c=EB(a);if(c==="invalid")break;c==="lane"?(!Dk.test(i)||parseFloat(i)<=0)&&r("error",`Invalid swimlane capacity "${i}". Use a positive integer (e.g. capacity:5) or decimal (e.g. capacity:1.5). Percent literals are not allowed on swimlanes.`,{node:e,property:"value"}):w_.test(i)?parseFloat(i)<=0&&r("error",`Item capacity "${i}" must be positive.`,{node:e,property:"value"}):Dk.test(i)?parseFloat(i)<=0&&r("error",`Item capacity "${i}" must be positive.`,{node:e,property:"value"}):r("error",`Invalid item capacity "${i}". Use a positive integer (capacity:2), decimal (capacity:0.5), or percent literal (capacity:50%).`,{node:e,property:"value"});break}case"overcapacity":{r("error",'"overcapacity:" was removed. Use "utilization-over-at:none" (and/or "utilization-warn-at:none") to suppress the lane utilization underline.',{node:e});break}case"utilization-warn-at":case"utilization-over-at":{if(!i)break;if(!vB(e.$container)){r("error",`"${n}:" is only valid on "swimlane" or "default swimlane".`,{node:e});break}if(i===Bk)break;if(w_.test(i)){parseFloat(i)<=0&&r("error",`${n} value "${i}" must be positive.`,{node:e,property:"value"});break}if(Gk.test(i)){parseFloat(i)<=0&&r("error",`${n} value "${i}" must be positive.`,{node:e,property:"value"});break}if(gB.test(i)){r("error",`Ambiguous ${n} value "${i}". Use the percent form ("${i}%") or the decimal-fraction form ("0.${i}") to make the intent explicit.`,{node:e,property:"value"});break}r("error",`Invalid ${n} value "${i}". Use a positive percent (e.g. 80%), a positive decimal fraction (e.g. 0.8), or "none" to opt out.`,{node:e,property:"value"});break}case"capacity-icon":break;case"icon":break;default:if(lh.has(n)){if(n==="bg"||n==="fg"||n==="text")i&&!E_(i)&&r("error",`Invalid color "${i}" for "${n}". Use a named color, hex value, or "none".`,{node:e,property:"value"});else if(n in fh){let a=fh[n];i&&!a.has(i)&&!E_(i)&&r("error",`Invalid value "${i}" for "${n}". Allowed: ${[...a].join(", ")}.`,{node:e,property:"value"})}}break}}checkAnchorRequiredDate(e,r){e.properties.find(i=>ke(i)==="date")||we(r,"error",{node:e},"NL.E0500",{name:Vr(e)})}checkAnchorAgainstStart(e,r){let n=e.properties.find(a=>ke(a)==="date");if(!n?.value)return;let i=n.value;if(!ji.test(i))return;let o=new Date(i);if(Number.isNaN(o.getTime()))return;let s=__(e.$container);switch(s.kind){case"invalid":return;case"missing":we(r,"error",{node:n,property:"value"},"NL.E0501",{name:Vr(e)});return;case"valid":o<s.date&&we(r,"error",{node:n,property:"value"},"NL.E0502",{name:Vr(e),date:i,start:s.iso});return}}checkMilestoneRequirement(e,r){let n=e.properties.some(o=>ke(o)==="date"),i=e.properties.some(o=>ke(o)==="after");!n&&!i&&we(r,"error",{node:e},"NL.E0503",{name:Vr(e)})}checkMilestoneAgainstStart(e,r){let n=e.properties.find(a=>ke(a)==="date");if(!n?.value)return;let i=n.value;if(!ji.test(i))return;let o=new Date(i);if(Number.isNaN(o.getTime()))return;let s=__(e.$container);switch(s.kind){case"invalid":return;case"missing":r("error",`Milestone "${Vr(e)}" has a date but the roadmap is missing "start:". Add start:YYYY-MM-DD to the roadmap.`,{node:n,property:"value"});return;case"valid":o<s.date&&we(r,"error",{node:n,property:"value"},"NL.E0504",{name:Vr(e),date:i,start:s.iso});return}}checkFootnoteOn(e,r){e.properties.some(i=>ke(i)==="on")||we(r,"error",{node:e},"NL.E0505")}checkNoFootnoteProperty(e,r){for(let n of e.properties)ke(n)==="footnote"&&r("error",`Property "footnote:" is not valid on ${v_(e)}. Footnotes attach via "on:" on the footnote declaration \u2014 declare \`footnote <id> on:<target-id>\` instead.`,{node:n})}checkItemRequiredDuration(e,r){let n=e.properties.some(o=>ke(o)==="duration"),i=e.properties.some(o=>ke(o)==="size");!n&&!i&&we(r,"error",{node:e},"NL.E0600",{name:Vr(e)})}checkNoComputedProperties(e,r){for(let n of e.properties){let i=ke(n);(i==="size"||i==="duration"||i==="remaining"||i==="capacity")&&r("error",`"${i}" is not valid on ${e.$type==="ParallelBlock"?"parallel":"group"} (computed from children).`,{node:n})}}checkParallelMinChildren(e,r){let n=e.content.filter(i=>!h_(i));n.length===0?r("error","Parallel block must contain at least 2 children.",{node:e}):n.length===1&&r("warning","Parallel block has only 1 child. Use at least 2 for parallel execution.",{node:e})}checkGroupMinChildren(e,r){e.content.filter(i=>!h_(i)).length===0&&r("error","Group must contain at least 1 child.",{node:e})}checkNoRawStyleProperties(e,r){for(let n of e.properties){let i=ke(n);lh.has(i)&&r("error",`Raw style property "${i}" is not allowed on ${v_(e)}. Declare a named style in config and reference it via "style:id".`,{node:n})}}checkUnknownEntityProperties(e,r){let n=lB[e.$type];if(!n)return;let i=e.$type==="ParallelBlock"||e.$type==="GroupBlock"?new Set(["size","duration","remaining","capacity"]):null;for(let o of e.properties){let s=ke(o);if(n.has(s)||Ok.has(s)||lh.has(s)||s==="footnote"||i?.has(s))continue;let a=[...n,...Ok],c=fB(s,a)??"";we(r,"warning",{node:o,property:"key"},"NL.W0700",{key:s,entity:v_(e),suggested:c})}}checkRoadmapProperties(e,r){}checkStylePropertyEnum(e,r){let n=ke(e),i=e.value;if(n==="bg"||n==="fg"||n==="text")E_(i)||r("error",`Invalid color "${i}" for "${n}". Use a named color, hex value, or "none".`,{node:e,property:"value"});else if(n in fh){let o=fh[n];o.has(i)||r("error",`Invalid value "${i}" for "${n}". Allowed: ${[...o].join(", ")}.`,{node:e,property:"value"})}else lh.has(n)||r("error",`Unknown style property "${n}".`,{node:e,property:"key"})}checkSizeDeclaration(e,r){e.properties.find(i=>ke(i)==="effort")||r("error",`Size "${Vr(e)}" requires an "effort:" property.`,{node:e}),e.name&&(Nu.test(e.name)||mB.test(e.name))&&r("error",`Size id "${e.name}" collides with the raw duration pattern. Choose a different name (e.g. "xs", "small", "quarter").`,{node:e,property:"name"})}checkStatusDeclaration(e,r){e.name&&x_.has(e.name)&&r("error",`Status id "${e.name}" collides with the built-in status value. Built-ins: ${[...x_].join(", ")}.`,{node:e,property:"name"})}checkDuplicateSizeIds(e,r){let n=new Map;for(let i of e.roadmapEntries)if(Ko(i)&&i.name){let o=n.get(i.name);o?r("error",`Duplicate size id "${i.name}". First declared at ${dh(o)}.`,{node:i,property:"name"}):n.set(i.name,i)}}checkUtilizationOrdering(e,r){if(Hi(e)&&e.entityType!=="swimlane")return;let n=e.properties.find(a=>ke(a)==="utilization-warn-at"),i=e.properties.find(a=>ke(a)==="utilization-over-at");if(!n||!i)return;let o=Fk(n.value),s=Fk(i.value);o===null||s===null||o>s&&r("error",`utilization-warn-at (${n.value}) must be \u2264 utilization-over-at (${i.value}). Warn fires below over; if both fire at the same point, the warn band collapses to zero.`,{node:n,property:"value"})}checkDefaultDeclaration(e,r){if(!Pk.has(e.entityType)){r("error",`"${e.entityType}" is not a supported entity type for default. Allowed: ${[...Pk].join(", ")}.`,{node:e,property:"entityType"});return}let n=e.$container,i=-1;for(let s=0;s<n.configEntries.length;s++){let a=n.configEntries[s];if(Hi(a)&&a.entityType===e.entityType){if(i<0)i=s;else if(a===e){r("error",`Duplicate "default ${e.entityType}" declaration. Only one is allowed per entity type per file.`,{node:e});break}}}let o=cB[e.entityType];if(o)for(let s of e.properties){let a=ke(s);o.has(a)&&r("error",`"${a}" cannot be set on "default ${e.entityType}". Identity-defining, sizing, sequencing, reference, and prose properties must be explicit on each entity.`,{node:s})}}checkCalendarBlockConsistency(e,r){let n=e.configEntries.filter(ah),o=e.roadmapDecl?.properties.find(s=>ke(s)==="calendar")?.value;if(n.length>0&&o!=="custom")for(let s of n)r("error",'A "calendar" config block is only valid when the roadmap declares calendar:custom.',{node:s});if(o==="custom"&&n.length===0&&r("error",'calendar:custom requires a "calendar" config block with days-per-week, days-per-month, days-per-quarter, and days-per-year.',{node:e.roadmapDecl,property:"properties"}),o==="custom"&&n.length>0)for(let s of n){let a=new Set(s.properties.map(c=>ke(c)));for(let c of T_)a.has(c)||r("error",`calendar:custom requires "${c}" in the calendar config block.`,{node:s})}}checkCalendarBlock(e,r){let n=new Set;for(let i of e.properties){let o=ke(i);if(!T_.has(o)){r("error",`Unknown calendar property "${o}". Allowed: ${[...T_].join(", ")}.`,{node:i,property:"key"});continue}n.has(o)&&r("error",`Duplicate calendar property "${o}".`,{node:i,property:"key"}),n.add(o),(!Lk.test(i.value)||parseInt(i.value,10)<=0)&&r("error",`"${o}" must be a positive integer, got "${i.value}".`,{node:i,property:"value"})}}checkScaleBlock(e,r){let n=new Set;for(let i of e.properties){let o=ke(i);if(!Ck.has(o)){r("error",`Unknown scale property "${o}". Allowed: ${[...Ck].join(", ")}.`,{node:i,property:"key"});continue}n.has(o)&&r("error",`Duplicate scale property "${o}".`,{node:i,property:"key"}),n.add(o),o==="label-every"&&(!Lk.test(i.value)||parseInt(i.value,10)<=0)&&r("error",`"label-every" must be a positive integer, got "${i.value}".`,{node:i,property:"value"})}}checkForwardReferences(e,r){let n=new Map,i=new Map;for(let o=0;o<e.roadmapEntries.length;o++){let s=e.roadmapEntries[o];Ko(s)&&s.name?n.has(s.name)||n.set(s.name,o):tc(s)&&s.name&&(i.has(s.name)||i.set(s.name,o))}for(let o=0;o<e.roadmapEntries.length;o++){let s=e.roadmapEntries[o];Uk(s,a=>{let c=ke(a);if(c==="size"&&a.value){let l=a.value,u=n.get(l);u===void 0?r("error",`Size "${l}" is not declared. Add "size ${l} effort:<literal>" earlier in the roadmap section.`,{node:a,property:"value"}):u>=o&&r("error",`Size "${l}" is referenced before its declaration. Move "size ${l}" above this entity.`,{node:a,property:"value"})}else if(c==="status"&&a.value){let l=a.value;if(x_.has(l))return;let u=i.get(l);u===void 0?r("error",`Status "${l}" is not a built-in and has no declaration. Add "status ${l}" earlier in the roadmap section.`,{node:a,property:"value"}):u>=o&&r("error",`Status "${l}" is referenced before its declaration. Move "status ${l}" above this entity.`,{node:a,property:"value"})}})}}checkReferenceResolution(e,r){let n=wB(e),i=o=>{Uk(o,s=>{let a=ke(s);if(a!=="after"&&a!=="before"&&a!=="on")return;let c=s.value?[s.value]:s.values;for(let l of c)l&&((a==="after"||a==="before")&&ji.test(l)||n.has(l)||r("error",`${a}: reference "${l}" does not resolve to any declared entity in this file.`,{node:s}))})};for(let o of e.roadmapEntries)i(o)}checkInlineDatePins(e,r){let n=__(e),i=o=>{let s=o.properties??[],a=gr(o)||Wr(o)||qr(o);for(let c of s){let l=ke(c);if(l!=="after"&&l!=="before")continue;let f=(c.value?[c.value]:c.values).filter(d=>!!d&&ji.test(d));if(f.length!==0){if(!a){we(r,"error",{node:c},"NL.E0411",{key:l,type:_B(o)});continue}f.length>1&&we(r,"error",{node:c},"NL.E0410",{key:l});for(let d of f)switch(n.kind){case"invalid":continue;case"missing":we(r,"error",{node:c},"NL.E0412",{key:l,date:d});continue;case"valid":{let p=new Date(d);if(Number.isNaN(p.getTime()))continue;p<n.date&&we(r,"error",{node:c},"NL.E0413",{key:l,date:d,start:n.iso})}}}}if(Ir(o))for(let c of o.content)i(c);else if(Wr(o)||qr(o))for(let c of o.content)i(c)};for(let o of e.roadmapEntries)i(o)}checkCircularDependencies(e,r){let n=new Map,i=(p,m)=>{n.has(p)||n.set(p,new Set),n.get(p).add(m)},o=(p,m,y)=>{if(p)for(let T of m){let _=ke(T);if(_==="after"){let v=T.value?[T.value]:T.values;for(let E of v)E&&(ji.test(E)||i(p,E))}else if(_==="before"){let v=T.value?[T.value]:T.values;for(let E of v)E&&(ji.test(E)||i(E,p))}}},s=p=>{let m=p.name,y=p.properties??[];if(o(m,y,e),Ir(p))for(let T of p.content)s(T);else if(Wr(p)||qr(p))for(let T of p.content)s(T)};for(let p of e.roadmapEntries)s(p);let a=0,c=1,l=2,u=new Map;for(let p of n.keys())u.set(p,a);let f=new Set,d=(p,m)=>{u.set(p,c),m.push(p);for(let y of n.get(p)??[]){let T=u.get(y)??a;if(T===c){let _=m.indexOf(y),v=m.slice(_).concat(y),E=[...v].sort().join("\u2192");f.has(E)||(f.add(E),r("error",`Circular dependency detected: ${v.join(" \u2192 ")}.`,{node:e.roadmapDecl??e}))}else T===a&&d(y,m)}m.pop(),u.set(p,l)};for(let p of n.keys())(u.get(p)??a)===a&&d(p,[])}checkPersonDeclarations(e,r){let n=new Map,i=a=>!!a.title||a.properties.length>0||a.description!==void 0,o=a=>{if(!a.name)return;let c=i(a);n.has(a.name)||n.set(a.name,[]),n.get(a.name).push({node:a,isDeclaration:c}),!c&&a.$container.$type==="NowlineFile"&&r("warning",`Bare "person ${a.name}" at roadmap top level has no declaration. Either add properties (title, link, etc.) or remove the line.`,{node:a})},s=a=>{for(let c of a.content)zn(c)?o(c):Sr(c)&&s(c)};for(let a of e.roadmapEntries)zn(a)?o(a):Sr(a)&&s(a);for(let[a,c]of n){let l=c.filter(u=>u.isDeclaration);if(l.length>1)for(let u=1;u<l.length;u++)r("error",`Person "${a}" is declared more than once. First declaration at ${dh(l[0].node)}.`,{node:l[u].node})}}checkSymbolDeclaration(e,r){e.name&&uh.has(e.name)&&r("error",`Symbol id "${e.name}" collides with a built-in icon name. Reserved built-ins: ${[...uh].sort().join(", ")}.`,{node:e,property:"name"});let n=e.properties.find(o=>ke(o)==="unicode");n?(!n.value||n.value.length===0)&&r("error",`Symbol "${Vr(e)}" unicode: must be a non-empty value.`,{node:n,property:"value"}):r("error",`Symbol "${Vr(e)}" requires a "unicode:" property (e.g. unicode:"\u{1F4B0}" or unicode:"\\u{1F464}").`,{node:e});let i=e.properties.find(o=>ke(o)==="ascii");if(i){let o=i.value??"";yB.test(o)||r("error",`Symbol "${Vr(e)}" ascii: must be 1-3 ASCII characters (got ${o.length} character${o.length===1?"":"s"}).`,{node:i,property:"value"})}for(let o of e.properties){let s=ke(o);s!=="unicode"&&s!=="ascii"&&s!=="link"&&s!=="description"&&r("error",`Unknown symbol property "${s}". Allowed: unicode, ascii, link, description.`,{node:o,property:"key"})}}checkDuplicateSymbolIds(e,r){let n=new Map;for(let i of e.configEntries)if(ku(i)&&i.name){let o=n.get(i.name);o?r("error",`Duplicate symbol id "${i.name}". First declared at ${dh(o)}.`,{node:i,property:"name"}):n.set(i.name,i)}}checkSymbolReferences(e,r){let n=new Map;for(let o=0;o<e.configEntries.length;o++){let s=e.configEntries[o];ku(s)&&s.name&&(n.has(s.name)||n.set(s.name,o))}let i=(o,s,a,c)=>{if(s!=="icon"&&s!=="capacity-icon"||!a||!Mk(a)||s==="capacity-icon"&&R_.has(a)||s==="icon"&&uh.has(a))return;let l=n.get(a);if(l===void 0){let u=s==="capacity-icon"?[...R_].sort().join(", "):[...uh].sort().join(", ");r("error",`${s}: "${a}" is neither a built-in (${u}) nor a declared symbol. Add "symbol ${a} unicode:..." earlier in config or use a quoted Unicode literal.`,{node:c,property:"value"})}else l>=o&&r("error",`${s}: symbol "${a}" is referenced before its declaration. Move "symbol ${a}" above this entry.`,{node:c,property:"value"})};for(let o=0;o<e.configEntries.length;o++){let s=e.configEntries[o];if(Su(s))for(let a of s.properties)i(o,ke(a),a.value,a);else if(Hi(s))for(let a of s.properties)i(o,ke(a),a.value,a)}}};function E_(t){return sB.has(t)||pB.test(t)}function Mk(t){return/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(t)}function EB(t){return t?Ir(t)?"lane":gr(t)?"item":Hi(t)?t.entityType==="swimlane"?"lane":"item":"invalid":"invalid"}function vB(t){return t?!!(Ir(t)||Hi(t)&&t.entityType==="swimlane"):!1}function Fk(t){if(!t||t===Bk)return null;if(w_.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e/100:null}if(Gk.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e:null}return null}function dh(t){let e=t.$cstNode;return e?`line ${e.range.start.line+1}`:"unknown location"}function v_(t){let e=t.$type.replace(/Declaration$|Block$/,"").toLowerCase(),r=t.name??t.title;return r?`${e} "${r}"`:e}function RB(t,e){if(Ir(t)){e(t.name,t);for(let r of t.content)b_(r,e)}else zn(t)?e(t.name,t):Sr(t)?Hk(t,e):(wu(t)||Iu(t)||bu(t)||Au(t)||Ko(t)||tc(t))&&e(t.name,t)}function Hk(t,e){e(t.name,t);for(let r of t.content)Sr(r)&&Hk(r,e)}function b_(t,e){if(gr(t))e(t.name,t);else if(Wr(t)){e(t.name,t);for(let r of t.content)b_(r,e)}else if(qr(t)){e(t.name,t);for(let r of t.content)b_(r,e)}}function Uk(t,e){let r=n=>{let i=n.properties;if(Array.isArray(i))for(let o of i)e(o);if(Ir(n))for(let o of n.content)r(o);else if(Wr(n)||qr(n))for(let o of n.content)r(o);else if(Sr(n))for(let o of n.content)(Sr(o)||zn(o))&&r(o)};r(t)}function wB(t){let e=new Set;t.roadmapDecl?.name&&e.add(t.roadmapDecl.name);let r=n=>{let i=n.name;if(i&&e.add(i),Ir(n))for(let o of n.content)r(o);else if(Wr(n)||qr(n))for(let o of n.content)r(o);else if(Sr(n))for(let o of n.content)Sr(o)||zn(o)?r(o):ok(o)};for(let n of t.roadmapEntries)r(n);return e}var A_=class extends Fo{runConverter(e,r,n){return e.name==="PROPERTY_KEY_WITH_COLON"||e.name==="INCLUDE_OPTION_KEY"?r.endsWith(":")?r.slice(0,-1):r:super.runConverter(e,r,n)}},I_=class extends Ba{isStartOfLine(e,r){if(!super.isStartOfLine(e,r))return!1;let n=r-1;for(;n>=0&&(e[n]===" "||e[n]===" ");)n--;for(;n>=0&&(e[n]==="\r"||e[n]===`
|
|
2663
|
-
`);)n--;for(;n>=0&&(e[n]===" "||e[n]===" ");)n--;return n<0||e[n]!=="\\"}},jk={parser:{TokenBuilder:()=>new I_({indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[["[","]"]]}),Lexer:t=>new xu(t),ParserConfig:()=>({maxLookahead:4}),ValueConverter:()=>new A_},validation:{NowlineValidator:()=>new ph}};function S_(t={}){let e=t.shared??Wo(gu(Tu),lk),r=Wo(mu({shared:e}),uk,jk);return e.ServiceRegistry.register(r),Xk(r),{shared:e,Nowline:r}}function zk(t){return t.endsWith(":")?t.slice(0,-1):t}function ae(t,e){return t.find(r=>zk(r.key)===e)?.value}function gt(t,e){let r=t.find(n=>zk(n.key)===e);return r?r.value!==void 0?[r.value]:[...r.values]:[]}function vt(t){if(!t)return null;let e=/^(\d{4})-(\d{2})-(\d{2})$/.exec(t);if(!e)return null;let r=new Date(Date.UTC(parseInt(e[1],10),parseInt(e[2],10)-1,parseInt(e[3],10)));return Number.isNaN(r.getTime())?null:r}var rc={mode:"business",daysPerWeek:5,daysPerMonth:22,daysPerQuarter:65,daysPerYear:260},bB={mode:"full",daysPerWeek:7,daysPerMonth:30,daysPerQuarter:91,daysPerYear:365};function qk(t,e){let n=t.roadmapDecl?.properties.find(i=>k_(i.key)==="calendar")?.value??"business";if(n==="business")return{...rc};if(n==="full")return{...bB};if(e){let i=(o,s)=>{let a=e.properties.find(l=>k_(l.key)===o),c=a?parseInt(a.value,10):NaN;return Number.isFinite(c)&&c>0?c:s};return{mode:"custom",daysPerWeek:i("days-per-week",rc.daysPerWeek),daysPerMonth:i("days-per-month",rc.daysPerMonth),daysPerQuarter:i("days-per-quarter",rc.daysPerQuarter),daysPerYear:i("days-per-year",rc.daysPerYear)}}return{...rc}}var hh=/^(\d+(?:\.\d+)?)([dwmqy])$/;function mh(t,e){let r=hh.exec(t);if(!r)return 0;let n=parseFloat(r[1]);switch(r[2]){case"d":return n;case"w":return n*e.daysPerWeek;case"m":return n*e.daysPerMonth;case"q":return n*e.daysPerQuarter;case"y":return n*e.daysPerYear;default:return 0}}function Wk(t,e,r){return t?hh.test(t)?mh(t,r):e.get(t)?.effortDays??0:0}function zi(t,e,r){let n=ae(t,"duration");if(n&&hh.test(n))return mh(n,r);let i=ae(t,"size"),o=i?e.get(i):void 0;if(!o)return 0;let s=oi(ae(t,"capacity"))??1;return o.effortDays/s}function Vk(t,e,r){let n=ae(t,"size"),i=n?e.get(n):void 0;if(i)return i.effortDays;let o=ae(t,"duration");if(o&&hh.test(o)){let s=oi(ae(t,"capacity"))??1;return mh(o,r)*s}return 0}function gh(t,e){let r=new Map;for(let[n,i]of t){let s=i.properties.find(c=>k_(c.key)==="effort")?.value;if(!s)continue;let a=mh(s,e);a<=0||r.set(n,{name:n,title:i.title||void 0,effortDays:a,effortLiteral:s})}return r}function k_(t){return t.endsWith(":")?t.slice(0,-1):t}function kr(t,e){return Math.round((e.getTime()-t.getTime())/864e5)}function Zo(t,e){let r=new Date(t.getTime());return r.setUTCDate(r.getUTCDate()+e),r}var yh=class{constructor(e){de(this,"items");de(this,"brackets");this.items=e.itemBars,this.brackets=e.brackets}hasObstacle(e,r,n){let i=Math.min(r,n),o=Math.max(r,n);for(let s of this.items)if(!(e<=s.x||e>=s.x+s.width)&&!(s.y+s.height<=i||s.y>=o))return!0;return!1}bracketsNear(e,r,n,i){let o=Math.min(r,n),s=Math.max(r,n),a=[];for(let c of this.brackets)Math.abs(c.x-e)>i||c.yBottom<=o||c.yTop>=s||a.push(c);return a}};function Yk(t,e){let r=[],n=[],i=s=>{if(s.kind==="item"){r.push(s.box);return}if(s.kind==="parallel"){if(s.style.bracket==="solid"||s.style.bracket==="dashed"){let l=s.box.y-12,u=s.box.y+s.box.height+12,f=s.box.x,d=s.box.x+s.box.width;n.push({x:f,yTop:l,yBottom:u}),n.push({x:d,yTop:l,yBottom:u}),n.push({x:f+4,yTop:l-1,yBottom:l+1}),n.push({x:f+4,yTop:u-1,yBottom:u+1}),n.push({x:d-4,yTop:l-1,yBottom:l+1}),n.push({x:d-4,yTop:u-1,yBottom:u+1})}for(let a of s.children)i(a);return}if(s.kind==="group"){!(s.style.bg!=="none"&&s.style.bg!=="#ffffff")&&s.style.bracket&&s.style.bracket!=="none"&&n.push({x:s.box.x,yTop:s.box.y,yBottom:s.box.y+s.box.height});for(let c of s.children)i(c);return}},o=s=>{for(let a of s.children)i(a);for(let a of s.nested)o(a)};for(let s of t)o(s);for(let s of e)for(let a of s.nestedSwimlanes)o(a);return{itemBars:r,brackets:n}}function AB(t,e){let{from:r,to:n}=t;if(Math.abs(r.y-n.y)<.5)return{x:(r.x+n.x)/2,underBar:!1,range:null};let i=Math.min(r.y,n.y),o=Math.max(r.y,n.y);if(r.x<=n.x){let a=r.x+6,c=n.x-6;if(a>c)return{x:n.x-6,underBar:!0,range:null};let l={minX:a,maxX:c},u=(r.x+n.x)/2,f=Math.max(a,Math.min(c,u));if(!e.hasObstacle(f,i,o))return{x:f,underBar:!1,range:l};let d=c-a;for(let p=1;p<=d;p++){let m=f-p;if(m>=a&&!e.hasObstacle(m,i,o))return{x:m,underBar:!1,range:l};let y=f+p;if(y<=c&&!e.hasObstacle(y,i,o))return{x:y,underBar:!1,range:l}}return{x:f,underBar:!0,range:l}}let s=[r.x+10,n.x-10];for(let a of s)if(a>0&&!e.hasObstacle(a,i,o))return{x:a,underBar:!1,range:null};return{x:r.x+10,underBar:!0,range:null}}function IB(t,e,r,n){let i=Math.min(r.from.y,r.to.y),o=Math.max(r.from.y,r.to.y),s=n.bracketsNear(t,i,o,4);if(s.length===0)return{x:t,forceUnderBar:!1};let a=s[0],c=Math.abs(s[0].x-t);for(let d=1;d<s.length;d++){let p=Math.abs(s[d].x-t);p<c&&(a=s[d],c=p)}let l=[a.x+4,a.x-4],u=4-.01;for(let d of l){if(e&&(d<e.minX||d>e.maxX))continue;let p=e?d:Math.max(Math.min(r.from.x,r.to.x)+1,Math.min(Math.max(r.from.x,r.to.x)-1,d));if(n.bracketsNear(p,i,o,u).length===0)return{x:p,forceUnderBar:!1}}return{x:e?Math.min(Math.max(t,e.minX),e.maxX):t,forceUnderBar:!0}}function SB(t){let e=[...t].sort((i,o)=>Math.abs(i.channelX-o.channelX)>=1?i.channelX-o.channelX:i.orderIndex-o.orderIndex),r=new Map,n=0;for(;n<e.length;){let i=n+1;for(;i<e.length&&Math.abs(e[i].channelX-e[n].channelX)<1;)i++;let s=[...e.slice(n,i)].sort((c,l)=>{let u=Math.min(c.req.from.y,c.req.to.y),f=Math.min(l.req.from.y,l.req.to.y);return Math.abs(u-f)>.5?u-f:c.orderIndex-l.orderIndex}),a=[];for(let c of s){let l=Math.min(c.req.from.y,c.req.to.y),u=Math.max(c.req.from.y,c.req.to.y),f=-1;for(let d=0;d<a.length;d++)if(a[d]<=l){f=d,a[d]=u;break}f===-1&&(f=a.length,a.push(u)),r.set(c.orderIndex,f)}n=i}return r}function kB(t){if(t===0||t>4)return 0;let e=Math.ceil(t/2);return(t%2===1?1:-1)*e*3}function NB(t){let e=t.from.x>=t.to.x?{x:t.to.x-1,y:t.from.y}:t.from;return{fromId:t.fromId,toId:t.toId,waypoints:[e,t.to],underBar:!1}}function Kk(t,e){let r=new Array(t.length),n=[];for(let o=0;o<t.length;o++){let s=t[o];if(s.isMarkerSource){r[o]=NB(s);continue}if(Math.abs(s.from.y-s.to.y)<.5&&s.to.x-s.from.x<20){r[o]={fromId:s.fromId,toId:s.toId,waypoints:[s.from,s.to],underBar:!1};continue}let{x:a,underBar:c,range:l}=AB(s,e),{x:u,forceUnderBar:f}=IB(a,l,s,e),d=c||f;n.push({req:s,channelX:u,underBar:d,orderIndex:o})}let i=SB(n);for(let o of n){let s=kB(i.get(o.orderIndex)??0),a=o.channelX+s;r[o.orderIndex]={fromId:o.req.fromId,toId:o.req.toId,waypoints:CB(o.req.from,o.req.to,a),underBar:o.underBar}}return r}function CB(t,e,r){return Math.abs(t.y-e.y)<.5?[t,e]:[t,{x:r,y:t.y},{x:r,y:e.y},e]}var Cu="en-US",PB={"en-US":{nowLabel:"now",quarterPrefix:"Q"},fr:{nowLabel:"maint.",quarterPrefix:"T"}};function Zk(t,e){return e??t??Cu}function xh(t){let e={};for(let r of OB(t)){let n=PB[r];if(n)for(let i of Object.keys(n))e[i]===void 0&&n[i]!==void 0&&(e[i]=n[i])}return e}function OB(t){let e=[],r=LB(t);for(;r.length>0;){e.includes(r)||e.push(r);let n=r.lastIndexOf("-");if(n<=0)break;r=r.slice(0,n)}return e.includes(Cu)||e.push(Cu),e}function LB(t){return t.split("-").map((r,n)=>n===0?r.toLowerCase():/^[a-zA-Z]{2}$/.test(r)?r.toUpperCase():r).join("-")}function tN(t){let{box:e,afterDate:r,beforeDate:n,hasLinkIcon:i,footnoteCount:o}=t;if(!r&&!n)return[];let s=[],a=12,c=e.y+5,l=e.width<40;if(r){let u=i?e.x+6+14+4:e.x+6,f=l?{x:e.x-6-a,y:c}:{x:u,y:c};s.push({side:"after",isoDate:r,glyphTopLeft:f,glyphSize:a,spilled:l})}if(n){let u=e.x+e.width,f;o>0?f=u-22-(o-1)*8-4:f=u-12-5-4;let d=f-a,p=l?{x:u+6,y:c}:{x:d,y:c};s.push({side:"before",isoDate:n,glyphTopLeft:p,glyphSize:a,spilled:l})}return s}function _h(t){let{box:e,afterDate:r,beforeDate:n}=t;if(!r&&!n)return[];let i=[],o=12,s=e.y+5;return r&&i.push({side:"after",isoDate:r,glyphTopLeft:{x:e.x+6,y:s},glyphSize:o,spilled:!1}),n&&i.push({side:"before",isoDate:n,glyphTopLeft:{x:e.x+e.width-6-o,y:s},glyphSize:o,spilled:!1}),i}function Vn(t){for(let e of t)if(/^\d{4}-\d{2}-\d{2}$/.test(e))return e}function Eh(t,e){return{x:t,y:e,height:0,maxX:t}}var oc=class{constructor(e){de(this,"rows");de(this,"opts");this.opts=e,this.rows=[{y:e.originY,height:e.minRowHeight,rightEdge:e.laneLeftX,spillX:e.laneLeftX,placedChildren:[]}]}placeItem(e){for(let n=0;n<this.rows.length;n+=1){let i=this.rows[n];if(!(e.desiredStart<i.rightEdge)&&!(e.desiredStart<i.spillX)&&!this.rowIntersectsCorridor(i,e))return{rowIndex:n,y:i.y}}let r=this.appendRow(Math.max(this.opts.minRowHeight,e.predictedHeight));return{rowIndex:this.rows.length-1,y:r.y}}placeBlock(){let e=this.rows[this.rows.length-1];if(e.rightEdge>this.opts.laneLeftX){let r=this.appendRow(this.opts.minRowHeight);return{rowIndex:this.rows.length-1,y:r.y}}return{rowIndex:this.rows.length-1,y:e.y}}commitItem(e){let r=this.rows[e.rowIndex],n=Math.max(e.placed.box.height,e.rowHeight??0);this.growRowHeight(e.rowIndex,n),r.rightEdge=e.logicalEnd,r.spillX=e.spillReservation??this.opts.laneLeftX,r.placedChildren.push(e.placed)}commitBlock(e){let r=this.rows[e.rowIndex];this.growRowHeight(e.rowIndex,e.blockHeight),r.rightEdge=e.blockEnd,r.spillX=this.opts.laneLeftX,r.placedChildren.push(e.placed)}usedHeight(){let e=this.rows[this.rows.length-1];return e.y+e.height-this.opts.originY}usedRightX(){let e=this.opts.laneLeftX;for(let r of this.rows)r.rightEdge>e&&(e=r.rightEdge),r.spillX>e&&(e=r.spillX);return e}rowIntersectsCorridor(e,r){return this.opts.slackCorridors.some(n=>n.y>=e.y&&n.y<e.y+e.height&&r.desiredStart<n.xEnd&&r.desiredEnd>n.xStart&&n.slackPredId!==r.childId)}appendRow(e){let r=this.rows[this.rows.length-1],n={y:r.y+r.height,height:e,rightEdge:this.opts.laneLeftX,spillX:this.opts.laneLeftX,placedChildren:[]};return this.rows.push(n),n}growRowHeight(e,r){let n=this.rows[e],i=r-n.height;if(!(i<=0)){n.height=r;for(let o=e+1;o<this.rows.length;o+=1){let s=this.rows[o];s.y+=i;for(let a of s.placedChildren)rN(a,i)}}}};function rN(t,e){if(t.box.y+=e,t.kind==="item"){for(let r of t.labelChips)r.box.y+=e;t.overflowBox&&(t.overflowBox.y+=e);return}for(let r of t.children)rN(r,e)}var nN={red:"#f87171",blue:"#60a5fa",yellow:"#facc15",green:"#34d399",orange:"#fb923c",purple:"#a78bfa",gray:"#94a3b8",navy:"#818cf8",white:"#e2e8f0"},Yn={bg:"none",fg:"#e2e8f0",text:"#e2e8f0",border:"solid",icon:"none",shadow:"none",font:"sans",weight:"normal",italic:!1,textSize:"md",padding:"sm",spacing:"sm",headerHeight:"sm",cornerRadius:"sm",bracket:"none",capacityIcon:"multiplier"},N_={name:"dark",surface:{page:"#0b1220",chart:"#111827",headerBox:"#1e293b"},entities:{roadmap:{...Yn,headerHeight:"md",padding:"md"},swimlane:{...Yn,fg:"#e2e8f0",text:"#e2e8f0",padding:"sm",spacing:"none",textSize:"sm"},item:{...Yn,bg:"#0f172a",fg:"#94a3b8",text:"#e2e8f0",shadow:"subtle",cornerRadius:"sm"},parallel:{...Yn,bracket:"none",padding:"xs"},group:{...Yn,bracket:"solid",padding:"xs",fg:"#94a3b8"},anchor:{...Yn,bg:"#0b1220",fg:"#cbd5e1",text:"#cbd5e1",cornerRadius:"sm"},milestone:{...Yn,bg:"#e2e8f0",fg:"#e2e8f0",text:"#0b1220",border:"solid"},footnote:{...Yn,bg:"none",fg:"#94a3b8",text:"#e2e8f0",textSize:"sm"},label:{...Yn,bg:"#1e293b",fg:"#94a3b8",text:"#e2e8f0",textSize:"xs",padding:"xs",cornerRadius:"full"}},swimlane:{bandEven:"#111827",bandOdd:"#0f172a",separator:"#1f2937",frameTabText:"#e2e8f0",frameTabMuted:"#94a3b8",border:"#334155",tabFill:"#1e293b",tabStroke:"#475569",tabText:"#e2e8f0",ownerText:"#94a3b8",footnoteIndicator:"#f87171",rowTintEven:"#0f172a",rowTintOdd:"#1e293b",utilizationOk:"#34d399",utilizationWarn:"#fbbf24",utilizationOver:"#f87171"},timeline:{gridLine:"#475569",minorGridLine:"#334155",tickMark:"#334155",labelText:"#cbd5e1",panelFill:"#0f172a",border:"#334155"},header:{cardBorder:"#475569",author:"#94a3b8"},item:{overflowX:"#f87171",linkIconFg:"#94a3b8",overflowTailFill:"#7f1d1d",overflowTailStroke:"#f87171",overflowCaption:"#fecaca"},parallel:{bracketStroke:"#cbd5e1"},anchorDiamond:{fill:"#0f172a",stroke:"#cbd5e1",label:"#cbd5e1",cutLine:"#94a3b8"},milestoneDiamond:{fill:"#e2e8f0",label:"#e2e8f0",cutLineNormal:"#a5b4fc",cutLineOverrun:"#ef4444",slack:"#cbd5e1"},footnotePanel:{fill:"#0f172a",border:"#334155",header:"#e2e8f0",title:"#e2e8f0",description:"#94a3b8",number:"#f87171"},nowline:{stroke:"#f87171",labelText:"#0b1220",labelBg:"#f87171"},milestone:{dashedInk:"#a5b4fc",overrun:"#ef4444"},anchor:{predecessorLine:"#94a3b8"},dependency:{edgeStroke:"#cbd5e1",overflowStroke:"#ef5350"},footnote:{indicatorText:"#f87171",descriptionMuted:"#94a3b8"},includeRegion:{border:"#475569",label:"#cbd5e1",badge:"#94a3b8",fill:"#0b1220",tabFill:"#111827",tabStroke:"#475569",tabText:"#e2e8f0",badgeFill:"#1e293b",badgeStroke:"#475569",badgeText:"#94a3b8"},arrowhead:{neutral:"#94a3b8",light:"#64748b",dark:"#e2e8f0"},status:{done:"#34d399",inProgress:"#60a5fa",atRisk:"#facc15",blocked:"#ef4444",planned:"#94a3b8",neutral:"#94a3b8"},statusDot:{onLight:{done:"#065f46",inProgress:"#1e3a8a",atRisk:"#92400e",blocked:"#991b1b",planned:"#334155",neutral:"#334155"},onDark:{done:"#d1fae5",inProgress:"#dbeafe",atRisk:"#fef3c7",blocked:"#fee2e2",planned:"#e2e8f0",neutral:"#e2e8f0"}},attribution:{mark:"#cbd5e1",link:"#f87171"},diagnostic:{overlayBg:"#7f1d1d",errorText:"#fecaca"}};var iN={red:"#4a4a4a",blue:"#6b6b6b",green:"#8a8a8a",yellow:"#c8c8c8",orange:"#5c5c5c",purple:"#3a3a3a",gray:"#9e9e9e",navy:"#2a2a2a",white:"#ffffff"},Kn={bg:"none",fg:"#1a1a1a",text:"#1a1a1a",border:"solid",icon:"none",shadow:"none",font:"sans",weight:"normal",italic:!1,textSize:"md",padding:"sm",spacing:"sm",headerHeight:"sm",cornerRadius:"sm",bracket:"none",capacityIcon:"multiplier"},C_={name:"grayscale",surface:{page:"#f5f5f5",chart:"#ffffff",headerBox:"#ffffff"},entities:{roadmap:{...Kn,headerHeight:"md",padding:"md"},swimlane:{...Kn,fg:"#3a3a3a",text:"#3a3a3a",padding:"sm",spacing:"none",textSize:"sm"},item:{...Kn,bg:"#ffffff",fg:"#9e9e9e",text:"#1a1a1a",shadow:"subtle",cornerRadius:"sm"},parallel:{...Kn,bracket:"none",padding:"xs"},group:{...Kn,bracket:"solid",padding:"xs",fg:"#595959"},anchor:{...Kn,bg:"#1a1a1a",fg:"#1a1a1a",text:"#1a1a1a",cornerRadius:"sm"},milestone:{...Kn,bg:"#2a2a2a",fg:"#2a2a2a",text:"#ffffff",border:"solid"},footnote:{...Kn,bg:"none",fg:"#595959",text:"#595959",textSize:"sm"},label:{...Kn,bg:"#e8e8e8",fg:"#595959",text:"#595959",textSize:"xs",padding:"xs",cornerRadius:"full"}},swimlane:{bandEven:"#ffffff",bandOdd:"#f5f5f5",separator:"#d4d4d4",frameTabText:"#3a3a3a",frameTabMuted:"#737373",border:"#d4d4d4",tabFill:"#e8e8e8",tabStroke:"#bdbdbd",tabText:"#3a3a3a",ownerText:"#737373",footnoteIndicator:"#4a4a4a",rowTintEven:"#ffffff",rowTintOdd:"#f5f5f5",utilizationOk:"#8a8a8a",utilizationWarn:"#595959",utilizationOver:"#1a1a1a"},timeline:{gridLine:"#bdbdbd",minorGridLine:"#d4d4d4",tickMark:"#bdbdbd",labelText:"#737373",panelFill:"#ffffff",border:"#d4d4d4"},header:{cardBorder:"#d4d4d4",author:"#737373"},item:{overflowX:"#1a1a1a",linkIconFg:"#1a1a1a",overflowTailFill:"#e8e8e8",overflowTailStroke:"#4a4a4a",overflowCaption:"#3a3a3a"},parallel:{bracketStroke:"#3a3a3a"},anchorDiamond:{fill:"#ffffff",stroke:"#3a3a3a",label:"#3a3a3a",cutLine:"#737373"},milestoneDiamond:{fill:"#1a1a1a",label:"#1a1a1a",cutLineNormal:"#2a2a2a",cutLineOverrun:"#4a4a4a",slack:"#1a1a1a"},footnotePanel:{fill:"#ffffff",border:"#d4d4d4",header:"#1a1a1a",title:"#1a1a1a",description:"#737373",number:"#4a4a4a"},nowline:{stroke:"#1a1a1a",labelText:"#ffffff",labelBg:"#1a1a1a"},milestone:{dashedInk:"#9e9e9e",overrun:"#4a4a4a"},anchor:{predecessorLine:"#9e9e9e"},dependency:{edgeStroke:"#595959",overflowStroke:"#1a1a1a"},footnote:{indicatorText:"#4a4a4a",descriptionMuted:"#737373"},includeRegion:{border:"#9e9e9e",label:"#3a3a3a",badge:"#737373",fill:"#f5f5f5",tabFill:"#ffffff",tabStroke:"#bdbdbd",tabText:"#1a1a1a",badgeFill:"#e8e8e8",badgeStroke:"#bdbdbd",badgeText:"#595959"},arrowhead:{neutral:"#595959",light:"#9e9e9e",dark:"#1a1a1a"},status:{done:"#8a8a8a",inProgress:"#595959",atRisk:"#737373",blocked:"#3a3a3a",planned:"#bdbdbd",neutral:"#bdbdbd"},statusDot:{onLight:{done:"#3a3a3a",inProgress:"#2a2a2a",atRisk:"#4a4a4a",blocked:"#1a1a1a",planned:"#595959",neutral:"#595959"},onDark:{done:"#d4d4d4",inProgress:"#e8e8e8",atRisk:"#c8c8c8",blocked:"#f0f0f0",planned:"#d4d4d4",neutral:"#d4d4d4"}},attribution:{mark:"#9e9e9e",link:"#1a1a1a"},diagnostic:{overlayBg:"#e8e8e8",errorText:"#1a1a1a"}};var oN={red:"#e53935",blue:"#1e88e5",yellow:"#fdd835",green:"#43a047",orange:"#fb8c00",purple:"#8e24aa",gray:"#9e9e9e",navy:"#0d47a1",white:"#ffffff"},Zn={bg:"none",fg:"#0f172a",text:"#0f172a",border:"solid",icon:"none",shadow:"none",font:"sans",weight:"normal",italic:!1,textSize:"md",padding:"sm",spacing:"sm",headerHeight:"sm",cornerRadius:"sm",bracket:"none",capacityIcon:"multiplier"},P_={name:"light",surface:{page:"#f8fafc",chart:"#ffffff",headerBox:"#ffffff"},entities:{roadmap:{...Zn,headerHeight:"md",padding:"md"},swimlane:{...Zn,fg:"#334155",text:"#334155",padding:"sm",spacing:"none",textSize:"sm"},item:{...Zn,bg:"#ffffff",fg:"#94a3b8",text:"#0f172a",shadow:"subtle",cornerRadius:"sm"},parallel:{...Zn,bracket:"none",padding:"xs"},group:{...Zn,bracket:"solid",padding:"xs",fg:"#475569"},anchor:{...Zn,bg:"#0f172a",fg:"#0f172a",text:"#0f172a",cornerRadius:"sm"},milestone:{...Zn,bg:"#312e81",fg:"#312e81",text:"#ffffff",border:"solid"},footnote:{...Zn,bg:"none",fg:"#475569",text:"#475569",textSize:"sm"},label:{...Zn,bg:"#f1f5f9",fg:"#475569",text:"#475569",textSize:"xs",padding:"xs",cornerRadius:"full"}},swimlane:{bandEven:"#ffffff",bandOdd:"#f8fafc",separator:"#e2e8f0",frameTabText:"#334155",frameTabMuted:"#64748b",border:"#e2e8f0",tabFill:"#f1f5f9",tabStroke:"#cbd5e1",tabText:"#334155",ownerText:"#64748b",footnoteIndicator:"#dc2626",rowTintEven:"#ffffff",rowTintOdd:"#f8fafc",utilizationOk:"#10b981",utilizationWarn:"#f59e0b",utilizationOver:"#ef4444"},timeline:{gridLine:"#cbd5e1",minorGridLine:"#e2e8f0",tickMark:"#cbd5e1",labelText:"#64748b",panelFill:"#ffffff",border:"#e2e8f0"},header:{cardBorder:"#e2e8f0",author:"#64748b"},item:{overflowX:"#dc2626",linkIconFg:"#0f172a",overflowTailFill:"#fee2e2",overflowTailStroke:"#ef4444",overflowCaption:"#b91c1c"},parallel:{bracketStroke:"#334155"},anchorDiamond:{fill:"#ffffff",stroke:"#334155",label:"#334155",cutLine:"#64748b"},milestoneDiamond:{fill:"#0f172a",label:"#0f172a",cutLineNormal:"#1e1b4b",cutLineOverrun:"#b91c1c",slack:"#0f172a"},footnotePanel:{fill:"#ffffff",border:"#e2e8f0",header:"#0f172a",title:"#0f172a",description:"#64748b",number:"#dc2626"},nowline:{stroke:"#e53e3e",labelText:"#ffffff",labelBg:"#e53e3e"},milestone:{dashedInk:"#94a3b8",overrun:"#ef4444"},anchor:{predecessorLine:"#94a3b8"},dependency:{edgeStroke:"#475569",overflowStroke:"#d32f2f"},footnote:{indicatorText:"#e53e3e",descriptionMuted:"#64748b"},includeRegion:{border:"#94a3b8",label:"#334155",badge:"#64748b",fill:"#f8fafc",tabFill:"#ffffff",tabStroke:"#cbd5e1",tabText:"#0f172a",badgeFill:"#e2e8f0",badgeStroke:"#cbd5e1",badgeText:"#475569"},arrowhead:{neutral:"#475569",light:"#94a3b8",dark:"#0f172a"},status:{done:"#10b981",inProgress:"#3b82f6",atRisk:"#f59e0b",blocked:"#ef4444",planned:"#94a3b8",neutral:"#94a3b8"},statusDot:{onLight:{done:"#065f46",inProgress:"#1e3a8a",atRisk:"#92400e",blocked:"#991b1b",planned:"#334155",neutral:"#334155"},onDark:{done:"#d1fae5",inProgress:"#dbeafe",atRisk:"#fef3c7",blocked:"#fee2e2",planned:"#e2e8f0",neutral:"#e2e8f0"}},attribution:{mark:"#94a3b8",link:"#e53e3e"},diagnostic:{overlayBg:"#fee2e2",errorText:"#991b1b"}};var O_={light:P_,dark:N_,grayscale:C_};var FB={greyscale:"grayscale"};function L_(t){let e=t.toLowerCase(),r=FB[e]??e;if(r==="light"||r==="dark"||r==="grayscale")return r}var UB={grey:"gray",violet:"purple"};function Jo(t,e){if(t==="none")return"none";if(t.startsWith("#"))return t;let r=e.name==="dark"?nN:e.name==="grayscale"?iN:oN,n=UB[t]??t,i=r[n];return typeof i=="string"?i:t}function sc(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}function BB(t,e){return{bg:Jo(t.bg,e),fg:Jo(t.fg,e),text:Jo(t.text,e),border:t.border,icon:t.icon,shadow:t.shadow,font:t.font,weight:t.weight,italic:t.italic,textSize:t.textSize,padding:t.padding,spacing:t.spacing,headerHeight:t.headerHeight,cornerRadius:t.cornerRadius,bracket:t.bracket,headerPosition:"beside",capacityIcon:t.capacityIcon,timelinePosition:"top",minorGrid:!1}}function D_(t,e,r,n){switch(e){case"bg":t.bg=Jo(r,n);break;case"fg":t.fg=Jo(r,n);break;case"text":t.text=Jo(r,n);break;case"border":(r==="solid"||r==="dashed"||r==="dotted")&&(t.border=r);break;case"icon":t.icon=r;break;case"shadow":(r==="none"||r==="subtle"||r==="soft"||r==="hard")&&(t.shadow=r);break;case"font":(r==="sans"||r==="serif"||r==="mono")&&(t.font=r);break;case"weight":(r==="thin"||r==="light"||r==="normal"||r==="bold")&&(t.weight=r);break;case"italic":t.italic=r==="true";break;case"text-size":t.textSize=Lu(r,"xl");break;case"padding":t.padding=Lu(r,"xl");break;case"spacing":t.spacing=Lu(r,"xl");break;case"header-height":t.headerHeight=Lu(r,"xl");break;case"corner-radius":t.cornerRadius=Lu(r,"full");break;case"bracket":(r==="none"||r==="solid"||r==="dashed")&&(t.bracket=r);break;case"header-position":(r==="beside"||r==="above")&&(t.headerPosition=r);break;case"capacity-icon":t.capacityIcon=r;break;case"timeline-position":(r==="top"||r==="bottom"||r==="both")&&(t.timelinePosition=r);break;case"minor-grid":t.minorGrid=r==="true";break;default:break}}function Lu(t,e){let r=["none","xs","sm","md","lg","xl","full"],n=r.indexOf(e),i=r.indexOf(t);return i<0?"md":i>n?r[n]:r[i]}function sN(t,e,r){if(e)for(let n of e.properties)D_(t,sc(n),n.value,r)}function GB(t,e,r){for(let n of e){let i=sc(n);n.value!==void 0&&D_(t,i,n.value,r)}}function XB(t,e,r){let n=e.find(o=>sc(o)==="labels");if(!n)return;let i=n.value?[n.value]:n.values;for(let o of i){let s=r.labels.get(o);if(!s)continue;let a=s.properties.find(c=>sc(c)==="style");a?.value&&sN(t,r.styles.get(a.value),r.theme)}}function HB(t,e,r){let n=e.find(i=>sc(i)==="style");n?.value&&sN(t,r.styles.get(n.value),r.theme)}function yt(t,e,r){let n=r.theme.entities[t],i=BB(n,r.theme),o=r.defaults.get(t);if(o)for(let s of o.properties)s.value!==void 0&&D_(i,sc(s),s.value,r.theme);return XB(i,e,r),HB(i,e,r),GB(i,e,r.theme),i}function aN(t,e){return yt("label",t.properties,e)}var cN={none:0,xs:2,sm:4,md:8,lg:16,xl:24},lN={none:0,xs:4,sm:8,md:12,lg:20,xl:32};var ac={none:0,xs:10,sm:12,md:14,lg:18,xl:24},vh={none:0,xs:2,sm:4,md:8,lg:12,xl:20,full:9999};var Nr=8,_n=4,Du=24,Rh=15,$u=8,wh=22,bh=15,Mu=16,Ah=6,$_=4,M_=11,F_=9,U_=5.5,B_=4,cc=12,Ih="6 4",G_=36,qi=16,X_=qi/2,Fu=10,H_=qi-4,lc=6,Sh=2.25,Yr=6,Kr=2*Yr,uN=5,fN=120,j_=240,kh=72,Uu=28,Zr=16,z_=22,Bu=18,Nh="Powered by",q_="https://nowline.io",Gu=.22,Wi=40,Ch=32,dN=.58,jB=Nh.length*Ch*dN,zB=10,Xu=jB+zB,W_=Xu+74,V_=5,Ph=Xu+81,qB=3*Wi*dN,WB=Ph+qB,VB=12+Wi,Y_=WB*Gu,pN=VB*Gu,K_=4;var Z_={sans:'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',serif:'Georgia, "Times New Roman", serif',mono:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"},hN={days:7,weeks:4,months:3,quarters:4,years:5};var Oh=class{constructor(e,r){de(this,"node");de(this,"deps");this.node=e,this.deps=r}get id(){return this.node.name??""}place(e,r){let{node:n}=this,{deps:i}=this,o=yt("group",n.properties,r.styleCtx),s=e.x,a=n.title??n.name,c=r.currentFlowKey;r.nextGroupId+=1,r.currentFlowKey=`${c}/group:${n.name??`group-${r.nextGroupId}`}`;let l=o.bg!=="none"&&o.bg!=="#ffffff"&&!!a,u=l?Mu+$_:0,f=l?B_:0,d=!l&&a?cc:0,p=e.y+d,m=r.bandScale.step(),y=s,T=new oc({laneLeftX:y,originY:p+u,minRowHeight:m,slackCorridors:r.slackCorridors}),_=y,v=[];for(let G of n.content){if(G.$type==="DescriptionDirective")continue;if(!gr(G)){let te=G.properties??[],De=i.resolveChildStart(te,_,y,r),{rowIndex:Ne,y:Xe}=T.placeBlock(),q=i.newCursor(De,Xe),J=i.sequenceOne(G,q,r);v.push(J);let re=J.box.x+J.box.width,C=Math.max(m,q.height);T.commitBlock({rowIndex:Ne,placed:J,blockHeight:C,blockEnd:re}),_=Math.max(_,re);continue}let oe=G.properties,L=i.resolveChildStart(oe,_,y,r),R=zi(oe,r.sizes,r.cal),O=Math.max(Nr,R*r.timeline.pixelsPerDay),$=L+O,b=G.name??"",A=i.predictItemChipExtraHeight(G,r),I=m+A,{rowIndex:F,y:j}=T.placeItem({childId:b,desiredStart:L,desiredEnd:$,predictedHeight:I}),U=i.newCursor(L,j),W=i.sequenceItem(G,U,r);v.push(W);let Z=W.box.x+W.box.width+Yr;_=Math.max(_,Z);let pe=null;(W.textSpills||W.chipsOutside||W.dotSpills||W.iconSpills||W.footnoteSpills)&&(pe=Math.max(W.decorationsRightX,W.chipsOutside?W.chipsRightX:0)+6),T.commitItem({rowIndex:F,placed:W,logicalEnd:Z,spillReservation:pe,rowHeight:I})}let E=Math.max(m,T.usedHeight()),S=Math.max(_,T.usedRightX()),D={x:s,y:p,width:S-s,height:u+E+f};e.x=_+$u,e.maxX=Math.max(e.maxX,e.x);let N=r.bandScale.step()-r.bandScale.bandwidth();e.height=Math.max(e.height,d+D.height+N);let M=n.name;M&&(r.entityLeftEdges.set(M,D.x),r.entityRightEdges.set(M,D.x+D.width)),r.currentFlowKey=c;let B=_h({box:D,afterDate:Vn(gt(n.properties,"after")),beforeDate:Vn(gt(n.properties,"before"))});return{kind:"group",id:M,title:a,box:D,children:v,style:o,inlineDatePins:B.length>0?B:void 0}}};var J_=12,YB=4,KB=13,ZB=11;function mN(t,e){return t.length*e*.58}var Lh=class{constructor(e){de(this,"input");this.input=e}get id(){return this.input.id}measure(e){return{width:Math.max(Nr,this.input.logicalRightX-this.input.logicalLeftX),height:e.bands.bandwidth()}}place(e,r){let n=this.measure(r),i=Math.max(Nr,n.width-2*Yr),o=e.x+Yr,s={x:o,y:e.y,width:i,height:n.height},a=this.input.hasLinkIcon?20+JB-J_:0,c=J_+Math.max(0,a),l=Math.max(0,i-c-J_),u=this.input.title,f=u?mN(u,KB):0,d=this.input.metaText?mN(this.input.metaText,ZB):0,p=this.input.metaTrailingWidth??0,m=d+p,y=this.input.metaText!==void 0||p>0,T=u.length>0&&f>l||y&&m>l,_=T?o+i+YB:o+c;return{id:this.input.id,box:s,textX:_,textSpills:T}}},JB=4;var Dh=class{constructor(e,r){de(this,"node");de(this,"deps");this.node=e,this.deps=r}get id(){return this.node.name??""}place(e,r){let{node:n}=this,{deps:i}=this,o=yt("parallel",n.properties,r.styleCtx),s=e.x,a=e.y,c=[],l=s,u=0,f=r.currentFlowKey;r.nextParallelId+=1;let d=n.name??`parallel-${r.nextParallelId}`,p=0;for(let _ of n.content){if(_.$type==="DescriptionDirective")continue;r.currentFlowKey=`${f}/par:${d}#${p}`;let v=i.newCursor(s,a+u),E=i.sequenceOne(_,v,r);c.push(E),u+=Math.max(r.bandScale.step(),v.height),l=Math.max(l,v.maxX),p++}r.currentFlowKey=f;let m={x:s,y:a,width:l-s,height:u};e.x=l+$u,e.maxX=Math.max(e.maxX,e.x),e.height=Math.max(e.height,u);let y=n.name;y&&(r.entityLeftEdges.set(y,m.x),r.entityRightEdges.set(y,m.x+m.width));let T=_h({box:m,afterDate:Vn(gt(n.properties,"after")),beforeDate:Vn(gt(n.properties,"before"))});return{kind:"parallel",id:y,title:n.title??n.name,box:m,children:c,style:o,inlineDatePins:T.length>0?T:void 0}}};function Qo(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function Q_(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function es(t){let e,r,n;t.length!==2?(e=Qo,r=(a,c)=>Qo(t(a),c),n=(a,c)=>t(a)-c):(e=t===Qo||t===Q_?t:QB,r=t,n=t);function i(a,c,l=0,u=a.length){if(l<u){if(e(c,c)!==0)return u;do{let f=l+u>>>1;r(a[f],c)<0?l=f+1:u=f}while(l<u)}return l}function o(a,c,l=0,u=a.length){if(l<u){if(e(c,c)!==0)return u;do{let f=l+u>>>1;r(a[f],c)<=0?l=f+1:u=f}while(l<u)}return l}function s(a,c,l=0,u=a.length){let f=i(a,c,l,u-1);return f>l&&n(a[f-1],c)>-n(a[f],c)?f-1:f}return{left:i,center:s,right:o}}function QB(){return 0}function eE(t){return t===null?NaN:+t}var gN=es(Qo),yN=gN.right,e4=gN.left,t4=es(eE).center,tE=yN;var uc=class extends Map{constructor(e,r=i4){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(let[n,i]of e)this.set(n,i)}get(e){return super.get(xN(this,e))}has(e){return super.has(xN(this,e))}set(e,r){return super.set(r4(this,e),r)}delete(e){return super.delete(n4(this,e))}};function xN({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):r}function r4({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function n4({_intern:t,_key:e},r){let n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function i4(t){return t!==null&&typeof t=="object"?t.valueOf():t}var o4=Math.sqrt(50),s4=Math.sqrt(10),a4=Math.sqrt(2);function TN(t,e,r){let n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),o=n/Math.pow(10,i),s=o>=o4?10:o>=s4?5:o>=a4?2:1,a,c,l;return i<0?(l=Math.pow(10,-i)/s,a=Math.round(t*l),c=Math.round(e*l),a/l<t&&++a,c/l>e&&--c,l=-l):(l=Math.pow(10,i)*s,a=Math.round(t/l),c=Math.round(e/l),a*l<t&&++a,c*l>e&&--c),c<a&&.5<=r&&r<2?TN(t,e,r*2):[a,c,l]}function rE(t,e,r){return e=+e,t=+t,r=+r,TN(t,e,r)[2]}function $h(t,e,r){e=+e,t=+t,r=+r;let n=e<t,i=n?rE(e,t,r):rE(t,e,r);return(n?-1:1)*(i<0?1/-i:i)}function Mh(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,o=new Array(i);++n<i;)o[n]=t+n*r;return o}function fc(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}var _N=Symbol("implicit");function Fh(){var t=new uc,e=[],r=[],n=_N;function i(o){let s=t.get(o);if(s===void 0){if(n!==_N)return n;t.set(o,s=e.push(o)-1)}return r[s%r.length]}return i.domain=function(o){if(!arguments.length)return e.slice();e=[],t=new uc;for(let s of o)t.has(s)||t.set(s,e.push(s)-1);return i},i.range=function(o){return arguments.length?(r=Array.from(o),i):r.slice()},i.unknown=function(o){return arguments.length?(n=o,i):n},i.copy=function(){return Fh(e,r).unknown(n)},fc.apply(i,arguments),i}function Hu(){var t=Fh().unknown(void 0),e=t.domain,r=t.range,n=0,i=1,o,s,a=!1,c=0,l=0,u=.5;delete t.unknown;function f(){var d=e().length,p=i<n,m=p?i:n,y=p?n:i;o=(y-m)/Math.max(1,d-c+l*2),a&&(o=Math.floor(o)),m+=(y-m-o*(d-c))*u,s=o*(1-c),a&&(m=Math.round(m),s=Math.round(s));var T=Mh(d).map(function(_){return m+o*_});return r(p?T.reverse():T)}return t.domain=function(d){return arguments.length?(e(d),f()):e()},t.range=function(d){return arguments.length?([n,i]=d,n=+n,i=+i,f()):[n,i]},t.rangeRound=function(d){return[n,i]=d,n=+n,i=+i,a=!0,f()},t.bandwidth=function(){return s},t.step=function(){return o},t.round=function(d){return arguments.length?(a=!!d,f()):a},t.padding=function(d){return arguments.length?(c=Math.min(1,l=+d),f()):c},t.paddingInner=function(d){return arguments.length?(c=Math.min(1,d),f()):c},t.paddingOuter=function(d){return arguments.length?(l=+d,f()):l},t.align=function(d){return arguments.length?(u=Math.max(0,Math.min(1,d)),f()):u},t.copy=function(){return Hu(e(),[n,i]).round(a).paddingInner(c).paddingOuter(l).align(u)},fc.apply(f(),arguments)}function Uh(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function nE(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function qu(){}var ju=.7,Xh=1/ju,dc="\\s*([+-]?\\d+)\\s*",zu="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",En="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",c4=/^#([0-9a-f]{3,8})$/,l4=new RegExp(`^rgb\\(${dc},${dc},${dc}\\)$`),u4=new RegExp(`^rgb\\(${En},${En},${En}\\)$`),f4=new RegExp(`^rgba\\(${dc},${dc},${dc},${zu}\\)$`),d4=new RegExp(`^rgba\\(${En},${En},${En},${zu}\\)$`),p4=new RegExp(`^hsl\\(${zu},${En},${En}\\)$`),h4=new RegExp(`^hsla\\(${zu},${En},${En},${zu}\\)$`),EN={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Uh(qu,Vi,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:vN,formatHex:vN,formatHex8:m4,formatHsl:g4,formatRgb:RN,toString:RN});function vN(){return this.rgb().formatHex()}function m4(){return this.rgb().formatHex8()}function g4(){return kN(this).formatHsl()}function RN(){return this.rgb().formatRgb()}function Vi(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=c4.exec(t))?(r=e[1].length,e=parseInt(e[1],16),r===6?wN(e):r===3?new ar(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?Bh(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?Bh(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=l4.exec(t))?new ar(e[1],e[2],e[3],1):(e=u4.exec(t))?new ar(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=f4.exec(t))?Bh(e[1],e[2],e[3],e[4]):(e=d4.exec(t))?Bh(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=p4.exec(t))?IN(e[1],e[2]/100,e[3]/100,1):(e=h4.exec(t))?IN(e[1],e[2]/100,e[3]/100,e[4]):EN.hasOwnProperty(t)?wN(EN[t]):t==="transparent"?new ar(NaN,NaN,NaN,0):null}function wN(t){return new ar(t>>16&255,t>>8&255,t&255,1)}function Bh(t,e,r,n){return n<=0&&(t=e=r=NaN),new ar(t,e,r,n)}function y4(t){return t instanceof qu||(t=Vi(t)),t?(t=t.rgb(),new ar(t.r,t.g,t.b,t.opacity)):new ar}function pc(t,e,r,n){return arguments.length===1?y4(t):new ar(t,e,r,n??1)}function ar(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}Uh(ar,pc,nE(qu,{brighter(t){return t=t==null?Xh:Math.pow(Xh,t),new ar(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?ju:Math.pow(ju,t),new ar(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new ar(rs(this.r),rs(this.g),rs(this.b),Hh(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:bN,formatHex:bN,formatHex8:x4,formatRgb:AN,toString:AN}));function bN(){return`#${ts(this.r)}${ts(this.g)}${ts(this.b)}`}function x4(){return`#${ts(this.r)}${ts(this.g)}${ts(this.b)}${ts((isNaN(this.opacity)?1:this.opacity)*255)}`}function AN(){let t=Hh(this.opacity);return`${t===1?"rgb(":"rgba("}${rs(this.r)}, ${rs(this.g)}, ${rs(this.b)}${t===1?")":`, ${t})`}`}function Hh(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function rs(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function ts(t){return t=rs(t),(t<16?"0":"")+t.toString(16)}function IN(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new Jr(t,e,r,n)}function kN(t){if(t instanceof Jr)return new Jr(t.h,t.s,t.l,t.opacity);if(t instanceof qu||(t=Vi(t)),!t)return new Jr;if(t instanceof Jr)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),o=Math.max(e,r,n),s=NaN,a=o-i,c=(o+i)/2;return a?(e===o?s=(r-n)/a+(r<n)*6:r===o?s=(n-e)/a+2:s=(e-r)/a+4,a/=c<.5?o+i:2-o-i,s*=60):a=c>0&&c<1?0:s,new Jr(s,a,c,t.opacity)}function NN(t,e,r,n){return arguments.length===1?kN(t):new Jr(t,e,r,n??1)}function Jr(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}Uh(Jr,NN,nE(qu,{brighter(t){return t=t==null?Xh:Math.pow(Xh,t),new Jr(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?ju:Math.pow(ju,t),new Jr(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new ar(iE(t>=240?t-240:t+120,i,n),iE(t,i,n),iE(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new Jr(SN(this.h),Gh(this.s),Gh(this.l),Hh(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=Hh(this.opacity);return`${t===1?"hsl(":"hsla("}${SN(this.h)}, ${Gh(this.s)*100}%, ${Gh(this.l)*100}%${t===1?")":`, ${t})`}`}}));function SN(t){return t=(t||0)%360,t<0?t+360:t}function Gh(t){return Math.max(0,Math.min(1,t||0))}function iE(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}function oE(t,e,r,n,i){var o=t*t,s=o*t;return((1-3*t+3*o-s)*e+(4-6*o+3*s)*r+(1+3*t+3*o-3*s)*n+s*i)/6}function CN(t){var e=t.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,e-1):Math.floor(r*e),i=t[n],o=t[n+1],s=n>0?t[n-1]:2*i-o,a=n<e-1?t[n+2]:2*o-i;return oE((r-n/e)*e,s,i,o,a)}}function PN(t){var e=t.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*e),i=t[(n+e-1)%e],o=t[n%e],s=t[(n+1)%e],a=t[(n+2)%e];return oE((r-n/e)*e,i,o,s,a)}}var Wu=t=>()=>t;function T4(t,e){return function(r){return t+r*e}}function _4(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function ON(t){return(t=+t)==1?jh:function(e,r){return r-e?_4(e,r,t):Wu(isNaN(e)?r:e)}}function jh(t,e){var r=e-t;return r?T4(t,r):Wu(isNaN(t)?e:t)}var sE=(function t(e){var r=ON(e);function n(i,o){var s=r((i=pc(i)).r,(o=pc(o)).r),a=r(i.g,o.g),c=r(i.b,o.b),l=jh(i.opacity,o.opacity);return function(u){return i.r=s(u),i.g=a(u),i.b=c(u),i.opacity=l(u),i+""}}return n.gamma=t,n})(1);function LN(t){return function(e){var r=e.length,n=new Array(r),i=new Array(r),o=new Array(r),s,a;for(s=0;s<r;++s)a=pc(e[s]),n[s]=a.r||0,i[s]=a.g||0,o[s]=a.b||0;return n=t(n),i=t(i),o=t(o),a.opacity=1,function(c){return a.r=n(c),a.g=i(c),a.b=o(c),a+""}}}var nne=LN(CN),ine=LN(PN);function DN(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(o){for(i=0;i<r;++i)n[i]=t[i]*(1-o)+e[i]*o;return n}}function $N(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function MN(t,e){var r=e?e.length:0,n=t?Math.min(r,t.length):0,i=new Array(n),o=new Array(r),s;for(s=0;s<n;++s)i[s]=ns(t[s],e[s]);for(;s<r;++s)o[s]=e[s];return function(a){for(s=0;s<n;++s)o[s]=i[s](a);return o}}function FN(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}function Yi(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function UN(t,e){var r={},n={},i;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(i in e)i in t?r[i]=ns(t[i],e[i]):n[i]=e[i];return function(o){for(i in r)n[i]=r[i](o);return n}}var cE=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,aE=new RegExp(cE.source,"g");function E4(t){return function(){return t}}function v4(t){return function(e){return t(e)+""}}function BN(t,e){var r=cE.lastIndex=aE.lastIndex=0,n,i,o,s=-1,a=[],c=[];for(t=t+"",e=e+"";(n=cE.exec(t))&&(i=aE.exec(e));)(o=i.index)>r&&(o=e.slice(r,o),a[s]?a[s]+=o:a[++s]=o),(n=n[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,c.push({i:s,x:Yi(n,i)})),r=aE.lastIndex;return r<e.length&&(o=e.slice(r),a[s]?a[s]+=o:a[++s]=o),a.length<2?c[0]?v4(c[0].x):E4(e):(e=c.length,function(l){for(var u=0,f;u<e;++u)a[(f=c[u]).i]=f.x(l);return a.join("")})}function ns(t,e){var r=typeof e,n;return e==null||r==="boolean"?Wu(e):(r==="number"?Yi:r==="string"?(n=Vi(e))?(e=n,sE):BN:e instanceof Vi?sE:e instanceof Date?FN:$N(e)?DN:Array.isArray(e)?MN:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?UN:Yi)(t,e)}function lE(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}}function uE(t){return function(){return t}}function fE(t){return+t}var GN=[0,1];function hc(t){return t}function dE(t,e){return(e-=t=+t)?function(r){return(r-t)/e}:uE(isNaN(e)?NaN:.5)}function R4(t,e){var r;return t>e&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function w4(t,e,r){var n=t[0],i=t[1],o=e[0],s=e[1];return i<n?(n=dE(i,n),o=r(s,o)):(n=dE(n,i),o=r(o,s)),function(a){return o(n(a))}}function b4(t,e,r){var n=Math.min(t.length,e.length)-1,i=new Array(n),o=new Array(n),s=-1;for(t[n]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++s<n;)i[s]=dE(t[s],t[s+1]),o[s]=r(e[s],e[s+1]);return function(a){var c=tE(t,a,1,n)-1;return o[c](i[c](a))}}function XN(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function A4(){var t=GN,e=GN,r=ns,n,i,o,s=hc,a,c,l;function u(){var d=Math.min(t.length,e.length);return s!==hc&&(s=R4(t[0],t[d-1])),a=d>2?b4:w4,c=l=null,f}function f(d){return d==null||isNaN(d=+d)?o:(c||(c=a(t.map(n),e,r)))(n(s(d)))}return f.invert=function(d){return s(i((l||(l=a(e,t.map(n),Yi)))(d)))},f.domain=function(d){return arguments.length?(t=Array.from(d,fE),u()):t.slice()},f.range=function(d){return arguments.length?(e=Array.from(d),u()):e.slice()},f.rangeRound=function(d){return e=Array.from(d),r=lE,u()},f.clamp=function(d){return arguments.length?(s=d?!0:hc,u()):s!==hc},f.interpolate=function(d){return arguments.length?(r=d,u()):r},f.unknown=function(d){return arguments.length?(o=d,f):o},function(d,p){return n=d,i=p,u()}}function pE(){return A4()(hc,hc)}function hE(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],o=t[n],s;return o<i&&(s=r,r=n,n=s,s=i,i=o,o=s),t[r]=e.floor(i),t[n]=e.ceil(o),t}var mE=new Date,gE=new Date;function Ve(t,e,r,n){function i(o){return t(o=arguments.length===0?new Date:new Date(+o)),o}return i.floor=o=>(t(o=new Date(+o)),o),i.ceil=o=>(t(o=new Date(o-1)),e(o,1),t(o),o),i.round=o=>{let s=i(o),a=i.ceil(o);return o-s<a-o?s:a},i.offset=(o,s)=>(e(o=new Date(+o),s==null?1:Math.floor(s)),o),i.range=(o,s,a)=>{let c=[];if(o=i.ceil(o),a=a==null?1:Math.floor(a),!(o<s)||!(a>0))return c;let l;do c.push(l=new Date(+o)),e(o,a),t(o);while(l<o&&o<s);return c},i.filter=o=>Ve(s=>{if(s>=s)for(;t(s),!o(s);)s.setTime(s-1)},(s,a)=>{if(s>=s)if(a<0)for(;++a<=0;)for(;e(s,-1),!o(s););else for(;--a>=0;)for(;e(s,1),!o(s););}),r&&(i.count=(o,s)=>(mE.setTime(+o),gE.setTime(+s),t(mE),t(gE),Math.floor(r(mE,gE))),i.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?i.filter(n?s=>n(s)%o===0:s=>i.count(0,s)%o===0):i)),i}var Vu=Ve(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Vu.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?Ve(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):Vu);var Bne=Vu.range;var vn=Ve(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*1e3)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds()),HN=vn.range;var mc=Ve(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getMinutes()),I4=mc.range,zh=Ve(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes()),S4=zh.range;var gc=Ve(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3-t.getMinutes()*6e4)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getHours()),k4=gc.range,qh=Ve(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours()),N4=qh.range;var Jn=Ve(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1),C4=Jn.range,Ku=Ve(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1),P4=Ku.range,Wh=Ve(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5)),O4=Wh.range;function ss(t){return Ve(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/6048e5)}var Qn=ss(0),yc=ss(1),zN=ss(2),qN=ss(3),Ki=ss(4),WN=ss(5),VN=ss(6),YN=Qn.range,L4=yc.range,D4=zN.range,$4=qN.range,M4=Ki.range,F4=WN.range,U4=VN.range;function as(t){return Ve(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/6048e5)}var cs=as(0),xc=as(1),KN=as(2),ZN=as(3),Zi=as(4),JN=as(5),QN=as(6),eC=cs.range,B4=xc.range,G4=KN.range,X4=ZN.range,H4=Zi.range,j4=JN.range,z4=QN.range;var Tc=Ve(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth()),q4=Tc.range,Vh=Ve(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()),W4=Vh.range;var yr=Ve(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());yr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Ve(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});var V4=yr.range,Qr=Ve(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());Qr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Ve(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});var Y4=Qr.range;function rC(t,e,r,n,i,o){let s=[[vn,1,1e3],[vn,5,5*1e3],[vn,15,15*1e3],[vn,30,30*1e3],[o,1,6e4],[o,5,5*6e4],[o,15,15*6e4],[o,30,30*6e4],[i,1,36e5],[i,3,3*36e5],[i,6,6*36e5],[i,12,12*36e5],[n,1,864e5],[n,2,2*864e5],[r,1,6048e5],[e,1,2592e6],[e,3,3*2592e6],[t,1,31536e6]];function a(l,u,f){let d=u<l;d&&([l,u]=[u,l]);let p=f&&typeof f.range=="function"?f:c(l,u,f),m=p?p.range(l,+u+1):[];return d?m.reverse():m}function c(l,u,f){let d=Math.abs(u-l)/f,p=es(([,,T])=>T).right(s,d);if(p===s.length)return t.every($h(l/31536e6,u/31536e6,f));if(p===0)return Vu.every(Math.max($h(l,u,f),1));let[m,y]=s[d/s[p-1][2]<s[p][2]/d?p-1:p];return m.every(y)}return[a,c]}var[Z4,J4]=rC(Qr,Vh,cs,Wh,qh,zh),[yE,xE]=rC(yr,Tc,Qn,Jn,gc,mc);function TE(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function _E(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function Zu(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function EE(t){var e=t.dateTime,r=t.date,n=t.time,i=t.periods,o=t.days,s=t.shortDays,a=t.months,c=t.shortMonths,l=Ju(i),u=Qu(i),f=Ju(o),d=Qu(o),p=Ju(s),m=Qu(s),y=Ju(a),T=Qu(a),_=Ju(c),v=Qu(c),E={a:I,A:F,b:j,B:U,c:null,d:cC,e:cC,f:E3,g:C3,G:O3,H:x3,I:T3,j:_3,L:pC,m:v3,M:R3,p:W,q:Z,Q:fC,s:dC,S:w3,u:b3,U:A3,V:I3,w:S3,W:k3,x:null,X:null,y:N3,Y:P3,Z:L3,"%":uC},S={a:pe,A:V,b:te,B:De,c:null,d:lC,e:lC,f:F3,g:V3,G:K3,H:D3,I:$3,j:M3,L:mC,m:U3,M:B3,p:Ne,q:Xe,Q:fC,s:dC,S:G3,u:X3,U:H3,V:j3,w:z3,W:q3,x:null,X:null,y:W3,Y:Y3,Z:Z3,"%":uC},D={a:oe,A:L,b:R,B:O,c:$,d:sC,e:sC,f:h3,g:oC,G:iC,H:aC,I:aC,j:u3,L:p3,m:l3,M:f3,p:G,q:c3,Q:g3,s:y3,S:d3,u:n3,U:i3,V:o3,w:r3,W:s3,x:b,X:A,y:oC,Y:iC,Z:a3,"%":m3};E.x=N(r,E),E.X=N(n,E),E.c=N(e,E),S.x=N(r,S),S.X=N(n,S),S.c=N(e,S);function N(q,J){return function(re){var C=[],be=-1,me=0,ve=q.length,Tt,X,Cr;for(re instanceof Date||(re=new Date(+re));++be<ve;)q.charCodeAt(be)===37&&(C.push(q.slice(me,be)),(X=nC[Tt=q.charAt(++be)])!=null?Tt=q.charAt(++be):X=Tt==="e"?" ":"0",(Cr=J[Tt])&&(Tt=Cr(re,X)),C.push(Tt),me=be+1);return C.push(q.slice(me,be)),C.join("")}}function M(q,J){return function(re){var C=Zu(1900,void 0,1),be=B(C,q,re+="",0),me,ve;if(be!=re.length)return null;if("Q"in C)return new Date(C.Q);if("s"in C)return new Date(C.s*1e3+("L"in C?C.L:0));if(J&&!("Z"in C)&&(C.Z=0),"p"in C&&(C.H=C.H%12+C.p*12),C.m===void 0&&(C.m="q"in C?C.q:0),"V"in C){if(C.V<1||C.V>53)return null;"w"in C||(C.w=1),"Z"in C?(me=_E(Zu(C.y,0,1)),ve=me.getUTCDay(),me=ve>4||ve===0?xc.ceil(me):xc(me),me=Ku.offset(me,(C.V-1)*7),C.y=me.getUTCFullYear(),C.m=me.getUTCMonth(),C.d=me.getUTCDate()+(C.w+6)%7):(me=TE(Zu(C.y,0,1)),ve=me.getDay(),me=ve>4||ve===0?yc.ceil(me):yc(me),me=Jn.offset(me,(C.V-1)*7),C.y=me.getFullYear(),C.m=me.getMonth(),C.d=me.getDate()+(C.w+6)%7)}else("W"in C||"U"in C)&&("w"in C||(C.w="u"in C?C.u%7:"W"in C?1:0),ve="Z"in C?_E(Zu(C.y,0,1)).getUTCDay():TE(Zu(C.y,0,1)).getDay(),C.m=0,C.d="W"in C?(C.w+6)%7+C.W*7-(ve+5)%7:C.w+C.U*7-(ve+6)%7);return"Z"in C?(C.H+=C.Z/100|0,C.M+=C.Z%100,_E(C)):TE(C)}}function B(q,J,re,C){for(var be=0,me=J.length,ve=re.length,Tt,X;be<me;){if(C>=ve)return-1;if(Tt=J.charCodeAt(be++),Tt===37){if(Tt=J.charAt(be++),X=D[Tt in nC?J.charAt(be++):Tt],!X||(C=X(q,re,C))<0)return-1}else if(Tt!=re.charCodeAt(C++))return-1}return C}function G(q,J,re){var C=l.exec(J.slice(re));return C?(q.p=u.get(C[0].toLowerCase()),re+C[0].length):-1}function oe(q,J,re){var C=p.exec(J.slice(re));return C?(q.w=m.get(C[0].toLowerCase()),re+C[0].length):-1}function L(q,J,re){var C=f.exec(J.slice(re));return C?(q.w=d.get(C[0].toLowerCase()),re+C[0].length):-1}function R(q,J,re){var C=_.exec(J.slice(re));return C?(q.m=v.get(C[0].toLowerCase()),re+C[0].length):-1}function O(q,J,re){var C=y.exec(J.slice(re));return C?(q.m=T.get(C[0].toLowerCase()),re+C[0].length):-1}function $(q,J,re){return B(q,e,J,re)}function b(q,J,re){return B(q,r,J,re)}function A(q,J,re){return B(q,n,J,re)}function I(q){return s[q.getDay()]}function F(q){return o[q.getDay()]}function j(q){return c[q.getMonth()]}function U(q){return a[q.getMonth()]}function W(q){return i[+(q.getHours()>=12)]}function Z(q){return 1+~~(q.getMonth()/3)}function pe(q){return s[q.getUTCDay()]}function V(q){return o[q.getUTCDay()]}function te(q){return c[q.getUTCMonth()]}function De(q){return a[q.getUTCMonth()]}function Ne(q){return i[+(q.getUTCHours()>=12)]}function Xe(q){return 1+~~(q.getUTCMonth()/3)}return{format:function(q){var J=N(q+="",E);return J.toString=function(){return q},J},parse:function(q){var J=M(q+="",!1);return J.toString=function(){return q},J},utcFormat:function(q){var J=N(q+="",S);return J.toString=function(){return q},J},utcParse:function(q){var J=M(q+="",!0);return J.toString=function(){return q},J}}}var nC={"-":"",_:" ",0:"0"},Ot=/^\s*\d+/,Q4=/^%/,e3=/[\\^$*+?|[\]().{}]/g;function Oe(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",o=i.length;return n+(o<r?new Array(r-o+1).join(e)+i:i)}function t3(t){return t.replace(e3,"\\$&")}function Ju(t){return new RegExp("^(?:"+t.map(t3).join("|")+")","i")}function Qu(t){return new Map(t.map((e,r)=>[e.toLowerCase(),r]))}function r3(t,e,r){var n=Ot.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function n3(t,e,r){var n=Ot.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function i3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function o3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function s3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function iC(t,e,r){var n=Ot.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function oC(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function a3(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function c3(t,e,r){var n=Ot.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function l3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function sC(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function u3(t,e,r){var n=Ot.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function aC(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function f3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function d3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function p3(t,e,r){var n=Ot.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function h3(t,e,r){var n=Ot.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function m3(t,e,r){var n=Q4.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function g3(t,e,r){var n=Ot.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function y3(t,e,r){var n=Ot.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function cC(t,e){return Oe(t.getDate(),e,2)}function x3(t,e){return Oe(t.getHours(),e,2)}function T3(t,e){return Oe(t.getHours()%12||12,e,2)}function _3(t,e){return Oe(1+Jn.count(yr(t),t),e,3)}function pC(t,e){return Oe(t.getMilliseconds(),e,3)}function E3(t,e){return pC(t,e)+"000"}function v3(t,e){return Oe(t.getMonth()+1,e,2)}function R3(t,e){return Oe(t.getMinutes(),e,2)}function w3(t,e){return Oe(t.getSeconds(),e,2)}function b3(t){var e=t.getDay();return e===0?7:e}function A3(t,e){return Oe(Qn.count(yr(t)-1,t),e,2)}function hC(t){var e=t.getDay();return e>=4||e===0?Ki(t):Ki.ceil(t)}function I3(t,e){return t=hC(t),Oe(Ki.count(yr(t),t)+(yr(t).getDay()===4),e,2)}function S3(t){return t.getDay()}function k3(t,e){return Oe(yc.count(yr(t)-1,t),e,2)}function N3(t,e){return Oe(t.getFullYear()%100,e,2)}function C3(t,e){return t=hC(t),Oe(t.getFullYear()%100,e,2)}function P3(t,e){return Oe(t.getFullYear()%1e4,e,4)}function O3(t,e){var r=t.getDay();return t=r>=4||r===0?Ki(t):Ki.ceil(t),Oe(t.getFullYear()%1e4,e,4)}function L3(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Oe(e/60|0,"0",2)+Oe(e%60,"0",2)}function lC(t,e){return Oe(t.getUTCDate(),e,2)}function D3(t,e){return Oe(t.getUTCHours(),e,2)}function $3(t,e){return Oe(t.getUTCHours()%12||12,e,2)}function M3(t,e){return Oe(1+Ku.count(Qr(t),t),e,3)}function mC(t,e){return Oe(t.getUTCMilliseconds(),e,3)}function F3(t,e){return mC(t,e)+"000"}function U3(t,e){return Oe(t.getUTCMonth()+1,e,2)}function B3(t,e){return Oe(t.getUTCMinutes(),e,2)}function G3(t,e){return Oe(t.getUTCSeconds(),e,2)}function X3(t){var e=t.getUTCDay();return e===0?7:e}function H3(t,e){return Oe(cs.count(Qr(t)-1,t),e,2)}function gC(t){var e=t.getUTCDay();return e>=4||e===0?Zi(t):Zi.ceil(t)}function j3(t,e){return t=gC(t),Oe(Zi.count(Qr(t),t)+(Qr(t).getUTCDay()===4),e,2)}function z3(t){return t.getUTCDay()}function q3(t,e){return Oe(xc.count(Qr(t)-1,t),e,2)}function W3(t,e){return Oe(t.getUTCFullYear()%100,e,2)}function V3(t,e){return t=gC(t),Oe(t.getUTCFullYear()%100,e,2)}function Y3(t,e){return Oe(t.getUTCFullYear()%1e4,e,4)}function K3(t,e){var r=t.getUTCDay();return t=r>=4||r===0?Zi(t):Zi.ceil(t),Oe(t.getUTCFullYear()%1e4,e,4)}function Z3(){return"+0000"}function uC(){return"%"}function fC(t){return+t}function dC(t){return Math.floor(+t/1e3)}var _c,Yh,yC,xC,TC;vE({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function vE(t){return _c=EE(t),Yh=_c.format,yC=_c.parse,xC=_c.utcFormat,TC=_c.utcParse,_c}function J3(t){return new Date(t)}function Q3(t){return t instanceof Date?+t:+new Date(+t)}function _C(t,e,r,n,i,o,s,a,c,l){var u=pE(),f=u.invert,d=u.domain,p=l(".%L"),m=l(":%S"),y=l("%I:%M"),T=l("%I %p"),_=l("%a %d"),v=l("%b %d"),E=l("%B"),S=l("%Y");function D(N){return(c(N)<N?p:a(N)<N?m:s(N)<N?y:o(N)<N?T:n(N)<N?i(N)<N?_:v:r(N)<N?E:S)(N)}return u.invert=function(N){return new Date(f(N))},u.domain=function(N){return arguments.length?d(Array.from(N,Q3)):d().map(J3)},u.ticks=function(N){var M=d();return t(M[0],M[M.length-1],N??10)},u.tickFormat=function(N,M){return M==null?D:l(M)},u.nice=function(N){var M=d();return(!N||typeof N.range!="function")&&(N=e(M[0],M[M.length-1],N??10)),N?d(hE(M,N)):u},u.copy=function(){return XN(u,_C(t,e,r,n,i,o,s,a,c,l))},u}function Kh(){return fc.apply(_C(yE,xE,yr,Tc,Qn,Jn,gc,mc,vn,Yh).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}var RE=class t{constructor(e,r,n){de(this,"bandwidthPx");de(this,"stepPx");de(this,"d3");this.bandwidthPx=e,this.stepPx=r,this.d3=n}static fixedRow(e){return new t(e.bandwidth,e.step)}static forRows(e){let r=Array.from({length:e.count},(i,o)=>String(o)),n=Hu().domain(r).range(e.range).paddingInner(e.paddingInner??0).paddingOuter(e.paddingOuter??0);return new t(n.bandwidth(),n.step(),n)}bandwidth(){return this.bandwidthPx}step(){return this.stepPx}forward(e){if(!this.d3)throw new Error("BandScale.forward is only available on closed-domain bands (BandScale.forRows)");let r=this.d3(e);if(r===void 0)throw new Error(`BandScale: unknown band id "${e}"`);return r}},eG={bandwidth:56,step:64};function EC(){return RE.fixedRow(eG)}var Zh=class{constructor(e){de(this,"domain");de(this,"range");de(this,"pixelsPerDay");de(this,"calendar");de(this,"d3");this.domain=e.domain,this.range=e.range,this.calendar=e.calendar;let r=Math.max(1,kr(e.domain[0],e.domain[1]));this.pixelsPerDay=(e.range[1]-e.range[0])/r,this.d3=Kh().domain(e.domain).range(e.range)}forward(e){let r=kr(this.domain[0],e);return this.range[0]+r*this.pixelsPerDay}forwardWithinDomain(e){return e<this.domain[0]||e>this.domain[1]?null:this.forward(e)}invert(e){return this.d3.invert(e)}get originX(){return this.range[0]}get widthPx(){return this.range[1]-this.range[0]}};function Jh(t){return t.endsWith(":")?t.slice(0,-1):t}function vC(t,e){let n=t.roadmapDecl?.properties.find(c=>Jh(c.key)==="scale")?.value,i="weeks",o,s;if(n)if(n==="days"||n==="weeks"||n==="months"||n==="quarters"||n==="years")i=n;else{let c=/^(\d+)([dwmqy])$/.exec(n);if(c){let l=Math.max(1,parseInt(c[1],10));switch(c[2]){case"d":i="days";break;case"w":i="weeks";break;case"m":i="months";break;case"q":i="quarters";break;case"y":i="years";break}o=Qh(i)*l,s=1}}let a=s??hN[i]??4;if(e){let l=e.properties.find(m=>Jh(m.key)==="unit")?.value??i,u=e.properties.find(m=>Jh(m.key)==="label-every"),f=e.properties.find(m=>Jh(m.key)==="pixels-per-unit"),d=u?Math.max(1,parseInt(u.value,10)||a):a,p=f?Math.max(1,parseInt(f.value,10)||Qh(l)):o??Qh(l);return{unit:l,labelEvery:d,pixelsPerUnit:p}}return{unit:i,labelEvery:a,pixelsPerUnit:o??Qh(i)}}function Qh(t){switch(t){case"days":return uN;case"weeks":return 40;case"months":return 80;case"quarters":return 160;case"years":return 320}}function RC(t,e,r,n=Cu){let i=r.daysPerUnit(e.unit),o=i*t.pixelsPerDay,s=Math.max(1,Math.round(t.widthPx/t.pixelsPerDay)),a=Math.floor(s/i)+1,c=[];for(let l=0;l<a;l++){let u=l*i,f=t.originX+u*t.pixelsPerDay,d=l%e.labelEvery===0,p=l===a-1;c.push({x:f,labelX:p?void 0:f+o/2,major:d,label:d&&!p?tG(e.unit,Zo(t.domain[0],u),l,n):void 0})}return c}function tG(t,e,r,n){switch(t){case"days":return`${e.getUTCMonth()+1}/${e.getUTCDate()}`;case"weeks":{let i=e.toLocaleString(n,{month:"short",timeZone:"UTC"}),o=e.getUTCDate().toString().padStart(2,"0");return`${i} ${o}`}case"months":return e.toLocaleString(n,{month:"short",timeZone:"UTC"});case"quarters":{let i=Math.floor(e.getUTCMonth()/3)+1;return`${xh(n).quarterPrefix}${i} ${e.getUTCFullYear()}`}case"years":return`${e.getUTCFullYear()}`}}function wC(t){return{daysPerUnit:e=>wE(e,t),addUnits:(e,r,n)=>Zo(e,r*wE(n,t)),isWorkingDay:()=>!0}}function bC(t,e){return wE(t,e)}function wE(t,e){switch(t){case"days":return 1;case"weeks":return e.daysPerWeek;case"months":return e.daysPerMonth;case"quarters":return e.daysPerQuarter;case"years":return e.daysPerYear}}var bE=class{constructor(e,r){de(this,"id");de(this,"anchor");this.id=e,this.anchor=r}place(e,r){let n=ae(this.anchor.properties,"date"),i=vt(n);if(!i)return null;let o=e.scale.forwardWithinDomain(i);if(o===null)return null;let s=yt("anchor",this.anchor.properties,e.styleCtx),a=e.markerRowPlacements.get(this.id),c=a?.centerY??e.timeline.markerRow.y,l={x:o,y:c},u=a?.labelBox??{x:o+6+6,y:c-4,width:0,height:12},f=a?.labelSide??"right";return e.entityLeftEdges.set(this.id,o),e.entityRightEdges.set(this.id,o),e.entityMidpoints.set(this.id,l),{id:this.id,title:this.anchor.title??this.id,center:l,radius:6,style:s,predecessorPoints:[],cutTopY:e.chartTopY,cutBottomY:e.swimlaneBottomY,bumpedUp:(a?.rowIndex??0)>0,labelBox:u,labelSide:f}}};function IC(t,e,r){let n=[];for(let[i,o]of t){let s=new bE(i,o).place(e,r);s&&n.push(s)}return n}function AE(t,e,r){let n=[],i=new Map,o=new Map;return[...t.entries()].sort(([c],[l])=>c.localeCompare(l)).forEach(([c,l],u)=>{let f=u+1;i.set(c,f),o.set(c,gt(l.properties,"on")),n.push({number:f,title:l.title??c,description:l.description?.text,style:yt("footnote",l.properties,e.styleCtx)})}),{area:{box:{x:Zr,y:r+Zr,width:e.chartRightX-2*Zr,height:n.length===0?0:Uu+n.length*Bu+Zr},entries:n},index:i,hosts:o}}var rG=.8,nG=1;function iG(t){let e=[];return kC(t,e),e}function kC(t,e){for(let r of t)if(r.kind==="item"){let n=oG(r);n>0&&r.box.width>0&&e.push({startX:r.box.x,endX:r.box.x+r.box.width,load:n})}else(r.kind==="parallel"||r.kind==="group")&&kC(r.children,e)}function oG(t){return t.capacity?t.capacity.value:t.size?1:0}function NC(t){if(t.capacityValue<=0||t.warnFraction===null&&t.overFraction===null)return null;let e=iG(t.children);if(e.length===0)return null;let r=new Set;for(let s of e)r.add(s.startX),r.add(s.endX);let n=Array.from(r).sort((s,a)=>s-a);if(n.length<2)return null;let i=[];for(let s=0;s<n.length-1;s++){let a=n[s],c=n[s+1],l=(a+c)/2,u=0;for(let f of e)f.startX<=l&&l<f.endX&&(u+=f.load);i.push({startX:a,endX:c,load:u,classification:sG(u,t.capacityValue,t.warnFraction,t.overFraction)})}let o=[];for(let s of i){let a=o[o.length-1];a&&a.classification===s.classification&&a.endX===s.startX?a.endX=s.endX:o.push({...s})}return{segments:o,capacityValue:t.capacityValue,warnFraction:t.warnFraction,overFraction:t.overFraction}}function sG(t,e,r,n){let i=t/e;return n!==null&&i>=n?"red":r!==null&&i>=r?"yellow":"green"}function CC(t,e){let r=e.get("swimlane"),n=SC(ae(t.properties,"utilization-warn-at"),r?ae(r.properties,"utilization-warn-at"):void 0,rG),i=SC(ae(t.properties,"utilization-over-at"),r?ae(r.properties,"utilization-over-at"):void 0,nG);return{warn:n,over:i}}function SC(t,e,r){let i=lG(t??e);return i.kind==="unset"?r:i.kind==="none"?null:i.value}var aG=/^\d+(?:\.\d+)?%$/,cG=/^\d+\.\d+$/;function lG(t){if(t===void 0)return{kind:"unset"};if(t==="none")return{kind:"none"};if(aG.test(t)){let e=parseFloat(t)/100;return Number.isFinite(e)&&e>0?{kind:"number",value:e}:{kind:"unset"}}if(cG.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?{kind:"number",value:e}:{kind:"unset"}}return{kind:"unset"}}var PC=10;function uG(t,e,r){let n=ae(t.properties,"capacity"),i=oi(n);if(i===null)return{capacity:null,badgeWidthPx:0};let o=Ac(i),s=Ic(e.capacityIcon,r),a=to(o,s,PC);return{capacity:{value:i,text:o,icon:s},badgeWidthPx:a}}var fG=10,dG=38,pG=8;function hG(t,e,r){let n=t.title??t.name??"";if(!n)return 0;let i=ae(t.properties,"owner");return Sc(0,n,i??void 0,e,r).rightX}function mG(t,e){if(!t.name)return[];let r=[];for(let[n,i]of e.footnoteHosts.entries())if(i.includes(t.name)){let o=e.footnoteIndex.get(n);o!==void 0&&r.push(o)}return r.sort((n,i)=>n-i),r}function gG(t,e,r,n){for(let i of t.content){if(i.$type==="DescriptionDirective")continue;let o=gr(i)?i.properties:i.properties??[];return n.resolveChildStart(o,e,e,r)}}var Ec=class{constructor(e,r){de(this,"input");de(this,"deps");this.input=e,this.deps=r}get id(){return this.input.lane.name??""}place(e,r){let{lane:n,bandIndex:i}=this.input,{deps:o}=this,s=yt("swimlane",n.properties,r.styleCtx),a=e.x,c=r.bandScale.step(),l=r.currentFlowKey;r.currentFlowKey=`lane:${n.name??i}`;let{capacity:u,badgeWidthPx:f}=uG(n,s,r.symbols),d=mG(n,r),p=d.length>0?o.estimateTextWidth(d.join(","),PC):0,m=hG(n,f,p),y=gG(n,a,r,o),T=!n.title||y===void 0||y>=m+pG,_=e.y+(T?fG:dG),v=new oc({laneLeftX:a,originY:_,minRowHeight:c,slackCorridors:r.slackCorridors}),E=a,S=[];for(let R of n.content){if(R.$type==="DescriptionDirective")continue;if(!gr(R)){let Xe=R.properties??[],q=o.resolveChildStart(Xe,E,a,r),{rowIndex:J,y:re}=v.placeBlock(),C=o.newCursor(q,re),be=o.sequenceOne(R,C,r);S.push(be);let me=be.box.x+be.box.width,ve=Math.max(c,C.height);v.commitBlock({rowIndex:J,placed:be,blockHeight:ve,blockEnd:me}),E=Math.max(E,me);continue}let O=R.properties,$=o.resolveChildStart(O,E,a,r),b=zi(O,r.sizes,r.cal),A=Math.max(Nr,b*r.timeline.pixelsPerDay),I=$+A,F=R.name??"",j=o.predictItemChipExtraHeight(R,r),U=c+j,{rowIndex:W,y:Z}=v.placeItem({childId:F,desiredStart:$,desiredEnd:I,predictedHeight:U}),pe=o.newCursor($,Z),V=o.sequenceItem(R,pe,r);S.push(V);let te=V.box.x+V.box.width+Yr;E=Math.max(E,te);let De=null;(V.textSpills||V.chipsOutside||V.dotSpills||V.iconSpills||V.footnoteSpills)&&(De=Math.max(V.decorationsRightX,V.chipsOutside?V.chipsRightX:0)+6),v.commitItem({rowIndex:W,placed:V,logicalEnd:te,spillReservation:De,rowHeight:U})}let D=_-e.y,N=Math.max(c+32,D+v.usedHeight()+16),M=Math.max(v.usedRightX(),m),B={x:0,y:e.y,width:r.chartRightX,height:N},G=ae(n.properties,"owner"),oe;if(G){let R=r.teams.get(G),O=r.persons.get(G);oe=R?.title??O?.title??G}let L=u?(()=>{let{warn:R,over:O}=CC(n,r.styleCtx.defaults);return NC({children:S,capacityValue:u.value,warnFraction:R,overFraction:O})})():null;return r.currentFlowKey=l,{positioned:{id:n.name,title:n.title??n.name??"",box:B,bandIndex:i,children:S,nested:[],style:s,owner:oe,footnoteIndicators:d,capacity:u,utilization:L},usedHeight:N,usedRightX:M}}};var yG=18,xG=14,TG=14,_G=16,EG=32;function OC(t,e,r,n){let i=r+yG,o=[],s=!0;for(let a of t){s||(i+=_G),s=!1;let c=a.content.roadmap?.title??a.sourcePath,l=i+xG,u={cal:e.cal,styleCtx:{theme:e.styleCtx.theme,styles:a.config.styles,defaults:a.config.defaults,labels:a.content.labels},sizes:gh(a.content.sizes,e.cal),labels:a.content.labels,teams:a.content.teams,persons:a.content.persons,symbols:a.config.symbols,footnoteIndex:new Map,footnoteHosts:new Map,timeline:e.timeline,scale:e.scale,calendar:e.calendar,bandScale:e.bandScale,entityLeftEdges:new Map,entityRightEdges:new Map,entityMidpoints:new Map,entityVisualLeftX:new Map,entityVisualRightX:new Map,itemArrowSource:new Map,itemFlowKey:new Map,currentFlowKey:"",itemSlackAttachY:new Map,slackCorridors:[],markerRowPlacements:new Map,chartTopY:l,chartBottomY:l,swimlaneBottomY:l,chartRightX:e.chartRightX,nextParallelId:0,nextGroupId:0},f=[],d=l,p=0,m=u.timeline.originX;for(let N of a.content.swimlanes.values()){u.nextParallelId=0,u.nextGroupId=0;let{positioned:M,usedHeight:B,usedRightX:G}=new Ec({lane:N,bandIndex:p},n).place({x:u.timeline.originX,y:d},u);f.push(M),d+=B,p++,G>m&&(m=G)}let y=d,T=Math.max(e.bandScale.bandwidth(),y-i+TG),_=0,{chromeRightX:v}=kc(_,c,a.sourcePath),E=Math.max(v,m)+EG,S=Math.min(e.chartRightX-_,E-_),D={x:_,y:i,width:S,height:T};for(let N of f)N.box.width=S;o.push({sourcePath:a.sourcePath,label:c,box:D,nestedSwimlanes:f,style:yt("swimlane",[],e.styleCtx)}),i+=T}return{regions:o,endY:i}}function rm(t,e){let r=[];for(let n of t){let o=e.entityVisualRightX.get(n)??e.entityRightEdges.get(n);if(o===void 0)continue;let s=e.itemSlackAttachY.get(n)??e.entityMidpoints.get(n)?.y??0,a=e.itemFlowKey.get(n)??`marker:${n}`;r.push({ref:n,x:o,y:s,flowKey:a})}return r}function nm(t){let e=new Map;for(let r of t){let n=e.get(r.flowKey);(!n||r.x>n.x)&&e.set(r.flowKey,r)}return Array.from(e.values())}function LC(t,e,r,n,i,o,s,a){let c=n.length*i*.58*(o?1.05:1),l=t+r+6,u=t-r-6-c,f=l+c<=a,d=u>=s,p=f?"right":d?"left":"right";return{box:{x:p==="right"?l:u,y:e-4,width:c,height:12},side:p}}var IE=class{constructor(e,r){de(this,"id");de(this,"milestone");this.id=e,this.milestone=r}place(e){let r=this.milestone,n=yt("milestone",r.properties,e.styleCtx),i=ae(r.properties,"date"),o=gt(r.properties,"after"),s=vt(i),a=e.timeline.markerRow.y,c=6,l=r.title??this.id,u=null,f=a,d=null,p="right",m=!1,y,T=!1;if(s){let v=e.scale.forwardWithinDomain(s);if(v===null)return null;u=v,m=!0;let E=e.markerRowPlacements.get(this.id);E&&(f=E.centerY,d=E.labelBox,p=E.labelSide);let S=rm(o,e),D=nm(S),N=null;for(let M of D)(!N||M.x>N.x)&&(N=M);N&&N.x>v&&(T=!0,y=[{x:N.x,y:N.y>0?N.y:f}])}else if(o.length>0){let v=rm(o,e),E=nm(v);E.sort((M,B)=>B.x-M.x);let S=E[0]?.x??e.timeline.originX;u=S,m=!1;let D=LC(u,a,c,l,10,!0,e.timeline.box.x,e.chartRightX);f=a,d=D.box,p=D.side,e.markerRowPlacements.set(this.id,{rowIndex:0,centerY:f,labelBox:d,labelSide:p});let N=[];for(let M=1;M<E.length;M++){let B=E[M];B.x<S&&B.y>0&&N.push({x:B.x,y:B.y})}N.length>0&&(y=N)}if(u===null)return null;if(!d){let v=LC(u,f,c,l,10,!0,e.timeline.box.x,e.chartRightX);d=v.box,p=v.side}let _={x:u,y:f};return e.entityLeftEdges.set(this.id,_.x),e.entityRightEdges.set(this.id,_.x),e.entityMidpoints.set(this.id,_),{id:this.id,title:l,center:_,radius:c,fixed:m,slackArrows:y,isOverrun:T,style:n,cutTopY:e.chartTopY,cutBottomY:e.swimlaneBottomY,labelBox:d,labelSide:p}}};function DC(t,e){let r=[];for(let[n,i]of t){let o=new IE(n,i).place(e);o&&r.push(o)}return r}var RG=4;function wG(t,e){e>t.chartRightX&&(t.chartRightX=e)}var om=class{place(e,r,n,i){let o=n.theme??"light",s=O_[o],a=n.width??1280,c=Zk(n.locale,IG(e)),l=qk(e,r.config.calendar),u=vC(e,r.config.scale),f=gh(r.content.sizes,l),d={theme:s,styles:r.config.styles,defaults:r.config.defaults,labels:r.content.labels},{startDate:p,endDate:m}=i.computeDateWindow(e,{cal:l,sizes:f},r,n.today,u),y=yt("roadmap",e.roadmapDecl?.properties??[],d),T=y.headerPosition==="beside",_=y.timelinePosition!=="bottom",v=y.timelinePosition==="bottom"||y.timelinePosition==="both",E=e.roadmapDecl?.title??e.roadmapDecl?.name??"",S=ae(e.roadmapDecl?.properties??[],"author"),D=i.sizeBesideHeader(E,S),N=T?{x:0,y:0,width:D.boxWidth,height:0}:{x:0,y:0,width:0,height:kh},M=T?D.boxWidth:0,B=T?8:kh+8,G=wC(l),oe=u.pixelsPerUnit/G.daysPerUnit(u.unit),R=Math.max(1,kr(p,m))*oe,O=M+Kr,$=R,b=M+Kr+$+Kr,A=Math.min(a,b),I=n.today!==void 0&&n.today>=p&&n.today<=m,F=r.content.anchors.size+r.content.milestones.size>0,j=I?qi:0,U=_?Du:0,W=new Zh({domain:[p,m],range:[O,O+R],calendar:G}),Z=Math.max(A,O+$+Kr),pe=[];for(let[K,le]of r.content.anchors){let je=vt(ae(le.properties,"date"));if(!je)continue;let Lr=W.forwardWithinDomain(je);Lr!==null&&pe.push({id:K,centerX:Lr,radius:6,title:le.title??K,fontSize:10,bold:!1,date:je,isMilestone:!1})}for(let[K,le]of r.content.milestones){let je=vt(ae(le.properties,"date"));if(!je)continue;let Lr=W.forwardWithinDomain(je);Lr!==null&&pe.push({id:K,centerX:Lr,radius:6,title:le.title??K,fontSize:10,bold:!0,date:je,isMilestone:!0})}let V=MC(pe,M,Z,i.estimateTextWidth),te=F?Math.max(1,V.rowCount):0,De=te*26,Ne=j+U+De,Xe=Ne+8,q=T?D.cardHeight+RG:0,J=Math.max(B,q-Ne),re=J+j,C=re+U,be=C+De,me=RC(W,u,G,c),ve={box:{x:O,y:J,width:R,height:0},ticks:me,pixelsPerDay:oe,originX:O,startDate:p,endDate:m,labelStyle:yt("roadmap",[],d),pillRowHeight:j,tickPanelY:re,tickPanelHeight:U,markerRow:{y:C+13,height:De,collisionY:C-8},minorGrid:y.minorGrid},Tt=new Map;for(let[K,le]of V.placements){let je=C+13+le.rowIndex*26;Tt.set(K,{rowIndex:le.rowIndex,centerY:je,labelBox:{...le.labelBox,y:je-4},labelSide:le.labelSide})}let X={cal:l,styleCtx:d,sizes:f,labels:r.content.labels,teams:r.content.teams,persons:r.content.persons,symbols:r.config.symbols,footnoteIndex:new Map,footnoteHosts:new Map,timeline:ve,scale:W,calendar:G,bandScale:EC(),entityLeftEdges:new Map,entityRightEdges:new Map,entityMidpoints:new Map,entityVisualLeftX:new Map,entityVisualRightX:new Map,itemArrowSource:new Map,itemFlowKey:new Map,currentFlowKey:"",itemSlackAttachY:new Map,slackCorridors:[],markerRowPlacements:Tt,chartTopY:J+Xe,chartBottomY:0,swimlaneBottomY:0,chartRightX:Z,nextParallelId:0,nextGroupId:0};for(let K of pe){let le=Tt.get(K.id);le&&(X.entityLeftEdges.set(K.id,K.centerX),X.entityRightEdges.set(K.id,K.centerX),X.entityMidpoints.set(K.id,{x:K.centerX,y:le.centerY}))}let Cr=AE(r.content.footnotes,X,0);X.footnoteIndex=Cr.index,X.footnoteHosts=Cr.hosts;let Tr=new Map(X.entityLeftEdges),Pr=new Map(X.entityRightEdges),fs=new Map(X.entityMidpoints),_e=[...r.content.swimlanes.values()],Or=yt("swimlane",[],d),Qi=cN[Or.spacing]??0,bn=()=>{X.nextParallelId=0,X.nextGroupId=0;let K=[],le=X.chartTopY,je=0,Lr=X.timeline.originX;for(let eo of _e){je>0&&(le+=Qi);let{positioned:ni,usedHeight:xm,usedRightX:uf}=new Ec({lane:eo,bandIndex:je},i).place({x:X.timeline.originX,y:le},X);K.push(ni),le+=xm,uf>Lr&&(Lr=uf),je++}return{swimlanes:K,nextY:le,maxRightX:Lr}},_r=bn(),Ht=_r.swimlanes,bt=_r.nextY,x=bG(r.content.milestones,X);x.length>0&&(X.entityLeftEdges=new Map(Tr),X.entityRightEdges=new Map(Pr),X.entityMidpoints=new Map(fs),X.itemSlackAttachY=new Map,X.entityVisualLeftX=new Map,X.entityVisualRightX=new Map,X.itemArrowSource=new Map,X.itemFlowKey=new Map,X.currentFlowKey="",X.slackCorridors=x,_r=bn(),Ht=_r.swimlanes,bt=_r.nextY),wG(X,_r.maxRightX+Kr);for(let K of Ht)K.box.width=X.chartRightX;let P=r.content.isolatedRegions,z=[];if(P.length>0){let K=OC(P,X,bt+8,i);z=K.regions,bt=K.endY}X.chartBottomY=bt,X.swimlaneBottomY=bt,ve.box.height=X.chartBottomY-ve.box.y;let Y=DC(r.content.milestones,X),$e=pe.map(K=>({id:K.id,centerX:K.centerX,radius:K.radius,title:K.title,fontSize:K.fontSize,bold:K.bold}));for(let K of Y)K.fixed||$e.push({id:K.id??"",centerX:K.center.x,radius:K.radius,title:K.title,fontSize:10,bold:!0});let Ce=MC($e,M,X.chartRightX,i.estimateTextWidth);X.markerRowPlacements.clear();for(let[K,le]of Ce.placements){let je=C+13+le.rowIndex*26;X.markerRowPlacements.set(K,{rowIndex:le.rowIndex,centerY:je,labelBox:{...le.labelBox,y:je-4},labelSide:le.labelSide})}for(let K of Y){let le=X.markerRowPlacements.get(K.id??"");le&&(K.center={x:K.center.x,y:le.centerY},K.labelBox=le.labelBox,K.labelSide=le.labelSide)}for(let K of pe){let le=X.markerRowPlacements.get(K.id);le&&X.entityMidpoints.set(K.id,{x:K.centerX,y:le.centerY})}for(let K of Y)K.fixed||X.entityMidpoints.set(K.id??"",{x:K.center.x,y:K.center.y});let ze=F?Math.max(1,Ce.rowCount):0;if(ze>te){let K=(ze-te)*26;X.timeline.markerRow.height=ze*26,X.timeline.box.height+=K,X.chartTopY+=K,X.chartBottomY+=K,X.swimlaneBottomY+=K;for(let le of Ht)SE(le,K);for(let le of z)AG(le,K);for(let[le,je]of X.entityMidpoints)X.markerRowPlacements.has(le)||X.entityMidpoints.set(le,{x:je.x,y:je.y+K});for(let[le,je]of X.itemSlackAttachY)X.itemSlackAttachY.set(le,je+K);for(let le of Y)if(le.cutTopY=X.chartTopY,le.cutBottomY=X.swimlaneBottomY,le.slackArrows)for(let je of le.slackArrows)je.y+=K}v&&(X.timeline.bottomTickPanelY=X.chartBottomY+8,X.timeline.bottomTickPanelHeight=Du,X.chartBottomY+=8+Du);let Ye=new Set(Y.map(K=>K.center.x)),ge=IC(r.content.anchors,X,Ye),Ue=i.collectItems(_e),Ae=i.buildDependencies(Ue,Ht,z,X),Ke=i.buildNowline(n.today,X,c),st=AE(r.content.footnotes,X,X.chartBottomY);X.footnoteIndex=st.index,X.footnoteHosts=st.hosts,N.height=N.height||X.chartBottomY,T||(N.width=X.chartRightX);let Jt=T?{x:6,y:be-D.cardHeight,width:D.cardWidth,height:D.cardHeight}:{x:0,y:0,width:X.chartRightX,height:kh},ds=st.area.entries.length>0?st.area.box.y+st.area.box.height:X.chartBottomY,cf={x:X.chartRightX-Kr-Y_,y:ds+Kr,width:Y_,height:pN},Qt=cf.y+cf.height+Kr,tn={box:N,position:y.headerPosition,title:E,author:S,titleLines:D.titleLines,authorLines:D.authorLines,cardBox:Jt,logo:void 0,style:y,attributionBox:cf};return{width:X.chartRightX,height:Qt,theme:o,palette:s,backgroundColor:s.surface.page,header:tn,timeline:ve,nowline:Ke,swimlanes:Ht,anchors:ge,milestones:Y,edges:Ae,footnotes:st.area,includes:z,chartBox:{x:M,y:X.chartTopY,width:X.chartRightX-M,height:X.chartBottomY-X.chartTopY}}}};function bG(t,e){let r=[];for(let[n,i]of t){let o=ae(i.properties,"date"),s=gt(i.properties,"after"),a=vt(o),c=rm(s,e),l=nm(c);if(a){let f=e.scale.forwardWithinDomain(a);if(f===null)continue;let d=null;for(let p of l)(!d||p.x>d.x)&&(d=p);d&&d.x>f&&d.y>0&&r.push({xStart:Math.min(d.x,f),xEnd:Math.max(d.x,f),y:d.y,slackPredId:d.ref,milestoneId:n});continue}if(l.length===0)continue;l.sort((f,d)=>d.x-f.x);let u=l[0].x;for(let f=1;f<l.length;f++){let d=l[f];d.x<u&&d.y>0&&r.push({xStart:d.x,xEnd:u,y:d.y,slackPredId:d.ref,milestoneId:n})}}return r}function SE(t,e){t.box.y+=e;for(let r of t.children)FC(r,e);for(let r of t.nested)SE(r,e)}function FC(t,e){if(t.box.y+=e,t.kind==="item"){t.overflowBox&&(t.overflowBox.y+=e);for(let r of t.labelChips)r.box.y+=e;return}for(let r of t.children)FC(r,e)}function AG(t,e){t.box.y+=e;for(let r of t.nestedSwimlanes)SE(r,e)}function MC(t,e,r,n){let i=[...t].sort((a,c)=>a.centerX-c.centerX),o=new Map,s=[];for(let a of i){let c=n(a.title,a.fontSize)*(a.bold?1.05:1),l=a.centerX+a.radius+6,u=a.centerX-a.radius-6-c,f=l+c<=r,d=u>=e,p=a.centerX-a.radius,m=a.centerX+a.radius,y=M=>M==="right"?l:u,T=M=>M==="right"?f:d,_=(M,B)=>{let G=Math.min(p,M),oe=Math.max(m,M+c);return s[B].some(L=>L.left<oe&&L.right>G)},v=-1,E="right",S=l;e:for(let M=s.length-1;M>=0;M--)for(let B of["right","left"]){if(!T(B))continue;let G=y(B);if(!_(G,M)){v=M,E=B,S=G;break e}}if(v===-1){for(let[M,B]of o)o.set(M,{...B,rowIndex:B.rowIndex+1});s=[[],...s],v=0,E=f?"right":"left",S=y(E)}let D=Math.min(p,S),N=Math.max(m,S+c);s[v].push({left:D,right:N}),o.set(a.id,{rowIndex:v,labelBox:{x:S,y:0,width:c,height:12},labelSide:E})}return{placements:o,rowCount:s.length}}function IG(t){return t.directive?.properties.find(r=>SG(r.key)==="locale")?.value}function SG(t){return t.endsWith(":")?t.slice(0,-1):t}function PG(t){switch(t){case"done":case"completed":return"done";case"in-progress":case"active":return"in-progress";case"at-risk":case"blocked":case"planned":return t;case void 0:return"planned";default:return"neutral"}}function OG(t){if(!t)return 0;let e=/^(\d{1,3})%$/.exec(t);return e?Math.max(0,Math.min(100,parseInt(e[1],10)))/100:0}function LG(t,e){if(t)return/^\d+(?:\.\d+)?[dwmqy]$/.test(t)||/^\d+%$/.test(t)?t:e.sizes.get(t)?.effortLiteral??t}function DG(t,e){if(t)return e.teams.get(t)?.title??e.persons.get(t)?.title??t}function $G(t){if(!t)return{icon:"none"};let e=t.toLowerCase();return e.includes("linear.app")?{icon:"linear",href:t}:e.includes("github.com")?{icon:"github",href:t}:e.includes("atlassian.net")||e.includes("jira.")?{icon:"jira",href:t}:{icon:"generic",href:t}}function sm(t,e,r,n,i){let o=aN(t,e),s=t.name??t.title??"",a=o.padding==="none"?"xs":o.padding,c=lN[a],l=Math.max(20,Math.round(s.length*5.5+c*2));return i!==void 0&&(l=Math.min(l,i)),{text:s,style:o,box:{x:r,y:n,width:l,height:13}}}function LE(t,e,r,n){let i=t.properties,o=yt("item",i,r.styleCtx),s=ae(i,"size"),a=s?r.sizes.get(s)??null:null,c=zi(i,r.sizes,r.cal),l=Vk(i,r.sizes,r.cal),u=gt(i,"after"),f=gt(i,"before"),d=ae(i,"date"),p=Wk(ae(i,"remaining"),r.sizes,r.cal),m=e.x,y=vt(d);if(y){let ue=r.scale.forwardWithinDomain(y);ue!==null&&(m=ue)}else if(u.length>0){let ue=e.x;for(let tt of u){let _t=vt(tt);if(_t){let ii=r.scale.forwardWithinDomain(_t);ii!==null&&(ue=Math.max(ue,ii));continue}let An=r.entityRightEdges.get(tt);An!==void 0&&(ue=Math.max(ue,An))}m=Math.max(e.x,ue)}let T=Math.max(Nr,c*r.timeline.pixelsPerDay),_=m,v=m+T,E=ae(i,"link"),S=$G(E),D=S.icon!=="none",N=Math.max(Nr,T-2*Yr),M=gt(i,"labels"),B=[];for(let ue of M){let tt=r.labels.get(ue);if(!tt)continue;let _t=sm(tt,r.styleCtx,0,0);B.push({id:tt,width:_t.box.width})}let G=0;for(let ue=0;ue<B.length;ue+=1)ue>0&&(G+=4),G+=B[ue].width;let oe=Math.max(0,N-24),L=B.length>0&&G>oe,R=!1,O,$;if(f.length>0){let ue,tt;for(let _t of f){let An=vt(_t),ii=An?r.scale.forwardWithinDomain(An)??void 0:r.entityLeftEdges.get(_t);ii!==void 0&&(ue===void 0||ii<ue)&&(ue=ii,tt=_t)}ue!==void 0&&v>ue&&(R=!0,O={x:ue,y:e.y,width:v-ue,height:r.bandScale.bandwidth()},$=tt)}let b=ae(i,"status"),A=PG(b),I=OG(b);I===0&&A==="done"&&(I=1);let F=/^(\d{1,3})%$/.exec(ae(i,"remaining")??"");I===0&&A==="in-progress"&&F&&(I=1-Math.max(0,Math.min(100,parseInt(F[1],10)))/100),I===0&&A==="in-progress"&&p>0&&l>0&&(I=Math.max(0,Math.min(1,1-p/l)));let j={done:"#ecfdf5","in-progress":"#eff6ff","at-risk":"#fffbeb",blocked:"#fee2e2",planned:"#f8fafc",neutral:"#f8fafc"},U={done:"#052e16","in-progress":"#172554","at-risk":"#422006",blocked:"#7f1d1d",planned:"#1e293b",neutral:"#1e293b"},W={done:"#ebebeb","in-progress":"#e4e4e4","at-risk":"#eeeeee",blocked:"#dcdcdc",planned:"#f5f5f5",neutral:"#f5f5f5"},Z={done:r.styleCtx.theme.status.done,"in-progress":r.styleCtx.theme.status.inProgress,"at-risk":r.styleCtx.theme.status.atRisk,blocked:r.styleCtx.theme.status.blocked,planned:r.styleCtx.theme.status.planned,neutral:r.styleCtx.theme.status.neutral},pe=r.styleCtx.theme.name,V=pe==="dark",te=V?"#0f172a":"#ffffff",De=pe==="grayscale"?"#9e9e9e":"#94a3b8";o.bg===te&&(o.bg=pe==="grayscale"?W[A]:V?U[A]:j[A]),o.fg===De&&(o.fg=Z[A]);let Ne=ae(i,"duration"),Xe=!!Ne&&/^\d+(?:\.\d+)?[dwmqy]$/.test(Ne),q=a?a.title??a.name:"",J=Xe?Ne:q||void 0,re=ae(i,"remaining"),C=LG(re,r),be=DG(n??ae(i,"owner"),r),me=()=>[J,be].filter(Boolean).join(" "),ve;if(A==="in-progress"&&C){let ue=me();ve=ue?`${ue} \u2014 ${C} remaining`:`${C} remaining`}else if(A==="in-progress"&&I>0&&I<1){let ue=Math.round((1-I)*100),tt=me();ve=tt?`${tt} \u2014 ${ue}% remaining`:`${ue}% remaining`}else(be||J)&&(ve=me()||void 0);let Tt=ae(i,"capacity"),X=oi(Tt),Cr=null,Tr=0;if(X!==null){let ue=Ac(X),tt=Ic(o.capacityIcon,r.symbols);Cr={value:X,text:ue,icon:tt};let _t=11;Tr=(ve?wn(" ",_t):0)+to(ue,tt,_t)}let Pr=t.title??t.name??"",fs=new Lh({id:t.name??"",title:Pr,logicalLeftX:_,logicalRightX:v,metaText:ve,metaTrailingWidth:Tr,hasLinkIcon:D}).place({x:_,y:e.y},{time:r.scale,bands:r.bandScale,style:o}),_e=fs.box,Or=r.bandScale.bandwidth(),Qi=_e.width<17,bn=D&&_e.width<41,_r=_e.width<23,Ht=fs.textSpills||bn,bt=null;L&&(bt=_m(B,_e.width));let x=bt?bt.rows.length:B.length>0?1:0,P=ve!==void 0||Cr!==null,z=jC(L,Ht,x,Or,P);z>0&&(_e.height=Or+z);let Y=[],$e=_e.y+Or-_n-13-3,Ce=_e.y+38+3,Ye=L&&Ht||!L&&P&&B.length>0?Math.max($e,Ce):$e,ge=L?_e.x+_e.width+6:_e.x+12,Ue=ge;if(bt)for(let ue=0;ue<bt.rows.length;ue+=1){let tt=Ye+ue*17,_t=ge;for(let ii of bt.rows[ue]){let o0=sm(ii.id,r.styleCtx,_t,tt);Y.push(o0),_t+=o0.box.width+4}let An=_t-4;An>Ue&&(Ue=An)}else{let ue=ge;for(let tt of B){let _t=sm(tt.id,r.styleCtx,ue,Ye);Y.push(_t),ue+=_t.box.width+4}Ue=B.length>0?ue-4:ge}let Ae=new Set;if(t.name){for(let[ue,tt]of r.footnoteHosts.entries())if(tt.includes(t.name)){let _t=r.footnoteIndex.get(ue);_t!==void 0&&Ae.add(_t)}}let Ke=[...Ae].sort((ue,tt)=>ue-tt),st=be??n??ae(i,"owner"),Jt=t.description?.text,ds=Ke.length>0&&_r,Qt=_e.x+_e.width+6,tn=!1,lf=null;bn&&(tn&&(Qt+=4),lf=Qt,Qt=lf+14,tn=!0);let K=0;if(Ht){tn&&(Qt+=4);let ue=wn(Pr,13),tt=(ve?wn(ve,11):0)+Tr;K=Math.max(ue,tt),Qt+=K,tn=!0}let le=null;ds&&(tn&&(Qt+=4),le=Qt,Qt+=Ke.length*8,tn=!0);let je=null;Qi&&(tn&&(Qt+=4),je=Qt+5,Qt=je+5,tn=!0);let Lr=Math.max(_e.x+_e.width,Qt),eo=t.name;eo&&(r.entityLeftEdges.set(eo,_),r.entityRightEdges.set(eo,v));let ni=eo??HC(t);r.entityMidpoints.set(ni,{x:(_+v)/2,y:_e.y+_e.height/2}),r.entityVisualLeftX.set(ni,_e.x),r.entityVisualRightX.set(ni,_e.x+_e.width);let xm=Ht?{x:_e.x+_e.width,y:_e.y+_e.height-_n/2}:{x:_e.x+_e.width,y:_e.y+_e.height/2};r.itemArrowSource.set(ni,xm),r.itemFlowKey.set(ni,r.currentFlowKey);let uf=Ht?_e.y+_e.height-_n/2:_e.y+_e.height/2;r.itemSlackAttachY.set(ni,uf),e.x=v,e.maxX=Math.max(e.maxX,e.x),e.height=Math.max(e.height,r.bandScale.step()+z);let i0=tN({box:_e,afterDate:Vn(u),beforeDate:Vn(f),hasLinkIcon:D,footnoteCount:Ke.length});return{kind:"item",id:eo,title:Pr,box:_e,status:A,progressFraction:I,footnoteIndicators:Ke,labelChips:Y,chipsOutside:L,chipsRightX:Ue,linkIcon:S.icon,linkHref:S.href,hasOverflow:R,overflowBox:O,overflowAnchorId:$,owner:st,description:Jt,metaText:ve,textSpills:Ht,dotSpills:Qi,iconSpills:bn,footnoteSpills:ds,dotSpillCx:je,iconSpillX:lf,footnoteSpillStartX:le,decorationsRightX:Lr,capacity:Cr,size:a,style:o,inlineDatePins:i0.length>0?i0:void 0}}function MG(t,e,r){return new Dh(t,{sequenceOne:DE,newCursor:Eh}).place(e,r)}function FG(t,e,r){return new Oh(t,{sequenceItem:LE,sequenceOne:DE,resolveChildStart:qC,newCursor:Eh,estimateTextWidth:wn,predictItemChipExtraHeight:zC}).place(e,r)}function DE(t,e,r){if(gr(t))return LE(t,e,r);if(Wr(t))return MG(t,e,r);if(qr(t))return FG(t,e,r);throw new Error(`Unknown swimlane child type: ${t.$type??"unknown"}`)}function wn(t,e){return t.length*e*.58}function HC(t){let e=t.$cstNode?.range.start;return`#item@${e?e.line+1:0}:${e?e.character+1:0}`}function jC(t,e,r,n,i){if(r===0)return 0;let o=n-_n-13-3,s=41,a;t&&e?a=s:!t&&i?a=Math.max(o,s):a=o;let l=a+(r-1)*17+13+3+_n;return Math.max(0,l-n)}function zC(t,e){let r=t.properties,n=gt(r,"labels");if(n.length===0)return 0;let i=zi(r,e.sizes,e.cal),o=Math.max(Nr,i*e.timeline.pixelsPerDay),s=Math.max(Nr,o-2*Yr),a=[];for(let _ of n){let v=e.labels.get(_);if(!v)continue;let E=sm(v,e.styleCtx,0,0);a.push({id:v,width:E.box.width})}if(a.length===0)return 0;let c=0;for(let _=0;_<a.length;_+=1)_>0&&(c+=4),c+=a[_].width;let l=Math.max(0,s-24),u=c>l,f=ae(r,"duration")!==void 0||ae(r,"size")!==void 0||ae(r,"owner")!==void 0||ae(r,"remaining")!==void 0||ae(r,"capacity")!==void 0,d=t.title??t.name??"",m=(d?wn(d,13):0)>l,y=u?_m(a,s):null,T=y?y.rows.length:a.length>0?1:0;return jC(u,m,T,e.bandScale.bandwidth(),f)}function qC(t,e,r,n){let i=vt(ae(t,"date"))??vt(ae(t,"start"));if(i){let s=n.scale.forwardWithinDomain(i);if(s!==null)return s}let o=gt(t,"after");if(o.length>0){let s=r;for(let a of o){let c=vt(a);if(c){let u=n.scale.forwardWithinDomain(c);u!==null&&(s=Math.max(s,u));continue}let l=n.entityRightEdges.get(a);l!==void 0&&(s=Math.max(s,l))}return Math.max(r,s)}return e}var kE=6;function UC(t,e,r){if(!t)return[];let n=t.split(/\s+/).filter(s=>s.length>0);if(n.length===0)return[];let i=[],o="";for(let s of n){let a=o?`${o} ${s}`:s;o&&wn(a,r)>e?(i.push(o),o=s):o=a}return o&&i.push(o),i}function UG(t,e){let r=j_-32,n=UC(t,r,16),i=UC(e??"",r,11),o=0;for(let d of n)o=Math.max(o,wn(d,16));for(let d of i)o=Math.max(o,wn(d,11));let s=o+32,a=Math.max(fN-kE,Math.min(j_-kE,s)),c=n.length>0?(n.length-1)*20:0,l=i.length>0?18+(i.length-1)*14:0,u=26+c+l+14,f=a+kE;return{titleLines:n,authorLines:i,cardWidth:a,cardHeight:u,boxWidth:f}}function BG(t,e,r,n,i){let s=t.roadmapDecl?.properties??[],a=ae(s,"start"),c=vt(a)??GG(n),l=ae(s,"length");if(l){let p=XG(l,e.cal);if(p>0)return{startDate:c,endDate:Zo(c,p)}}let u=WC(r,e,c,n),f=bC(i.unit,e.cal),d=u>0?Math.ceil(u/f)*f:4*e.cal.daysPerWeek;return{startDate:c,endDate:Zo(c,Math.max(1,d))}}function GG(t){let e=t??new Date;return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()))}function XG(t,e){let r=/^(\d+(?:\.\d+)?)([dwmqy])$/.exec(t);if(!r)return 0;let n=parseFloat(r[1]);switch(r[2]){case"d":return n;case"w":return n*e.daysPerWeek;case"m":return n*e.daysPerMonth;case"q":return n*e.daysPerQuarter;case"y":return n*e.daysPerYear;default:return 0}}function WC(t,e,r,n){let i=new Map,o=new Map,s=new Map,a=0,c=f=>{let d=vt(f);return d?kr(r,d):i.has(f)?i.get(f):o.has(f)?o.get(f):s.has(f)?s.get(f):0};for(let f of t.content.anchors.values()){let d=vt(ae(f.properties,"date"));if(d&&f.name){let p=kr(r,d);o.set(f.name,p),a=Math.max(a,p)}}let l=(f,d)=>{let p=d;for(let m of f)m.$type!=="DescriptionDirective"&&(p=u(m,p),a=Math.max(a,p));return p},u=(f,d)=>{if(gr(f)){let p=zi(f.properties,e.sizes,e.cal),m=vt(ae(f.properties,"date")),y=vt(ae(f.properties,"start")),T=gt(f.properties,"after"),_=d;m?_=kr(r,m):y?_=kr(r,y):T.length>0&&(_=Math.max(d,...T.map(c)));let v=_+p;return f.name&&i.set(f.name,v),v}if(Wr(f)){let p=gt(f.properties,"after"),m=p.length>0?Math.max(d,...p.map(c)):d,y=m;for(let T of f.content){if(T.$type==="DescriptionDirective")continue;let _=u(T,m);y=Math.max(y,_)}return y}if(qr(f)){let p=gt(f.properties,"after"),m=p.length>0?Math.max(d,...p.map(c)):d;return l(f.content,m)}return d};for(let f of t.content.swimlanes.values())l(f.content,0);for(let f of t.content.milestones.values()){let d=vt(ae(f.properties,"date"));if(d){let m=kr(r,d);f.name&&s.set(f.name,m),a=Math.max(a,m);continue}let p=gt(f.properties,"after");if(p.length>0){let m=Math.max(0,...p.map(c));f.name&&s.set(f.name,m),a=Math.max(a,m)}}for(let f of t.content.isolatedRegions){let d=WC({config:f.config,content:f.content,diagnostics:[],processedFiles:new Set},e,r,void 0);a=Math.max(a,d)}if(n){let f=kr(r,n);f>0&&(a=Math.max(a,f))}return a}function HG(t,e,r,n){let i=new yh(Yk(e,r)),o=[],s=[];for(let[l,u]of t){let f=gt(u.properties,"after"),d=n.entityMidpoints.get(l),p=n.entityVisualLeftX.get(l);if(!d||p===void 0)continue;let m={x:p,y:d.y};for(let y of f){let T=n.itemArrowSource.get(y),_,v=T===void 0;if(T)_=T;else{let E=n.entityMidpoints.get(y);if(!E)continue;_={x:E.x,y:d.y}}!v&&Math.abs(_.y-m.y)<.5&&m.x-_.x<20||(o.push({fromId:y,toId:l,from:_,to:m,isMarkerSource:v}),s.push({fromId:y,toId:l}))}}let a=Kk(o,i),c=[];for(let l=0;l<a.length;l++){let u=a[l];c.push({fromId:s[l].fromId,toId:s[l].toId,waypoints:u.waypoints,kind:u.underBar?"underBar":"normal",style:yt("item",[],n.styleCtx)})}return c}function jG(t,e,r){if(!t)return null;let n=e.scale.forwardWithinDomain(t);if(n===null)return null;let i=e.timeline.box.y,o=e.timeline.tickPanelY,s=xh(r).nowLabel,a=wn(s,Fu),c=Math.max(G_,Math.ceil(a+2*lc)),l=e.timeline.originX-Kr,u=c/2,f;n-u<l?f="flag-right":n+u>e.chartRightX?f="flag-left":f="center";let d=e.timeline.bottomTickPanelY,p=e.timeline.bottomTickPanelHeight??0,m=d!==void 0&&p>0?d+p:e.swimlaneBottomY;return{x:n,topY:o,bottomY:m,pillTopY:i,pillMode:f,label:s,pillWidth:c,style:yt("item",[],e.styleCtx)}}function zG(t){let e=new Map,r=n=>{if(gr(n)){e.set(n.name??HC(n),n);return}if(Wr(n)){for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return}if(qr(n)){for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return}};for(let n of t)for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return e}function $E(t,e,r={}){return new om().place(t,e,r,{sequenceItem:LE,sequenceOne:DE,resolveChildStart:qC,newCursor:Eh,estimateTextWidth:wn,predictItemChipExtraHeight:zC,computeDateWindow:BG,sizeBesideHeader:UG,collectItems:zG,buildDependencies:HG,buildNowline:jG})}var ls=class extends Error{constructor(e){super(e),this.name="TimezoneError"}};function ME(t){if(!t||t.toLowerCase()==="local")return{kind:"local"};if(t.toUpperCase()==="UTC")return{kind:"utc"};if(t==="Z")return{kind:"offset",ms:0};let e=/^([+-])(\d{2})(?::?(\d{2}))?$/.exec(t);if(e){let r=e[1]==="+"?1:-1,n=parseInt(e[2],10),i=e[3]!==void 0?parseInt(e[3],10):0;if(n>23||i>59)throw new ls(`nowline: invalid timezone offset "${t}". Hours must be 0\u201323 and minutes 0\u201359.`);return{kind:"offset",ms:r*(n*60+i)*6e4}}try{return{kind:"iana",name:Intl.DateTimeFormat(void 0,{timeZone:t}).resolvedOptions().timeZone}}catch{throw new ls(`nowline: unrecognised timezone "${t}". Use "local", "UTC", an ISO 8601 offset (e.g. "+05:30", "-07:00", "Z"), or an IANA timezone name (e.g. "America/Los_Angeles", "Asia/Kolkata").`)}}function fm(t,e){switch(e.kind){case"local":return new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate()));case"utc":return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()));case"offset":{let r=new Date(t.getTime()+e.ms);return new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate()))}case"iana":{let r=new Intl.DateTimeFormat("en-CA",{timeZone:e.name,year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(t),n=0,i=0,o=0;for(let s of r)s.type==="year"?n=parseInt(s.value,10):s.type==="month"?i=parseInt(s.value,10)-1:s.type==="day"&&(o=parseInt(s.value,10));return new Date(Date.UTC(n,i,o))}}}var qG=/^(\d{4})-(\d{2})-(\d{2})$/,WG=/^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?)(Z|([+-])(\d{2})(?::?(\d{2}))?)$/,VG=/^(\d{4})-(\d{2})-(\d{2})T\d{2}:\d{2}:\d{2}(?:\.\d+)?$/;function FE(t={}){let e=t.zone??{kind:"local"},r=t.clock??(()=>new Date),n=t.now;if(!(n==="-"||n===null)){if(n instanceof Date)return n;if(n!==void 0){let i=qG.exec(n);if(i)return new Date(Date.UTC(parseInt(i[1],10),parseInt(i[2],10)-1,parseInt(i[3],10)));let o=WG.exec(n);if(o){let a=new Date(n);if(!Number.isNaN(a.getTime())){if(o[2]==="Z")return fm(a,{kind:"utc"});let l=o[3]==="+"?1:-1,u=parseInt(o[4],10),f=o[5]!==void 0?parseInt(o[5],10):0,d=l*(u*60+f)*6e4;return fm(a,{kind:"offset",ms:d})}}let s=VG.exec(n);return s?new Date(Date.UTC(parseInt(s[1],10),parseInt(s[2],10)-1,parseInt(s[3],10))):void 0}return fm(r(),e)}}function VC(t,e){return{severity:t.severity===2?"warning":"error",code:Rm(t),message:t.message,suggestion:vm(t.message),file:e,line:(t.range?.start.line??0)+1,column:(t.range?.start.character??0)+1}}function YC(t,e){return{severity:"error",code:"parse-error",message:t.message,file:e,line:t.token?.startLine??1,column:t.token?.startColumn??1}}function KC(t,e){return{severity:"error",code:"lex-error",message:t.message,file:e,line:t.line??1,column:t.column??1}}function ZC(t){return{severity:t.severity,code:"include",message:t.message,file:t.sourcePath,line:t.line!==void 0?t.line+1:1,column:1}}function JC(t,e,r="warning"){return{severity:r,code:"render.warning",message:t,file:e,line:1,column:1}}var QC="__nowline_browser_noop_include__";async function eP(t){throw new Error(`${QC}: include "${t}" was skipped \u2014 running in single-file mode.`)}function tP(t){return t.includes(QC)}var Ji={person:{viewBox:"0 0 24 24",body:'<circle cx="12" cy="8" r="4" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M4 21a8 8 0 0 1 16 0" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"p"},people:{viewBox:"0 0 24 24",body:'<path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><circle cx="9" cy="7" r="4" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M22 21v-2a4 4 0 0 0-3-3.87" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M16 3.13a4 4 0 0 1 0 7.75" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"P"},points:{viewBox:"0 0 24 24",body:'<polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" fill="currentColor" stroke="currentColor" stroke-width="1" stroke-linejoin="round"/>',ascii:"*"},time:{viewBox:"0 0 24 24",body:'<line x1="10" x2="14" y1="2" y2="2" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="12" x2="15" y1="14" y2="11" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><circle cx="12" cy="14" r="8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"t"}},YG={calendar:{viewBox:"0 0 24 24",body:'<rect x="3" y="4" width="18" height="18" rx="2" ry="2" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="16" x2="16" y1="2" y2="6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="8" x2="8" y1="2" y2="6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="3" x2="21" y1="10" y2="10" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"d"}},rP={...Ji,...YG};var $se={none:"",multiplier:"x",person:Ji.person.ascii,people:Ji.people.ascii,points:Ji.points.ascii,time:Ji.time.ascii};var dm=class{constructor(e="nl"){de(this,"prefix");de(this,"counter",0);this.prefix=e}next(e){let r=`${this.prefix}-${this.counter++}`;return e?`${r}-${e}`:r}};var KG=new Set(["svg","g","defs","symbol","use","path","rect","circle","ellipse","line","polyline","polygon","text","tspan","title","desc","linearGradient","radialGradient","stop","clipPath","mask","pattern","filter","feGaussianBlur","feColorMatrix","feOffset","feMerge","feMergeNode","feFlood","feComposite","feBlend","feDropShadow","image"]),ZG=new Set(["d","x","y","x1","y1","x2","y2","cx","cy","r","rx","ry","width","height","viewBox","preserveAspectRatio","fill","fill-opacity","fill-rule","stroke","stroke-width","stroke-opacity","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-dasharray","stroke-dashoffset","opacity","transform","points","id","class","clip-path","mask","filter","font-family","font-size","font-weight","font-style","text-anchor","dx","dy","rotate","letter-spacing","word-spacing","style","xmlns","href","xlink:href","offset","stop-color","stop-opacity","gradientUnits","gradientTransform","spreadMethod","maskUnits","maskContentUnits","stdDeviation","values","in","in2","mode","type","result","flood-color","flood-opacity","patternUnits","patternContentUnits","role","aria-label"]);function JG(t){let e=[],r=0,n=t.length;for(;r<n;){if(t[r]!=="<"){let u=r;for(;r<n&&t[r]!=="<";)r++;let f=t.slice(u,r);f.trim().length>0?e.push({kind:"text",text:f}):f.length>0&&e.push({kind:"text",text:f});continue}if(t.startsWith("<!--",r)){let u=t.indexOf("-->",r+4);if(u<0)break;e.push({kind:"comment",text:t.slice(r+4,u)}),r=u+3;continue}if(t.startsWith("<![CDATA[",r)){let u=t.indexOf("]]>",r+9);if(u<0)break;e.push({kind:"cdata",text:t.slice(r+9,u)}),r=u+3;continue}if(t.startsWith("<?",r)){let u=t.indexOf("?>",r+2);if(u<0)break;e.push({kind:"decl",text:t.slice(r+2,u)}),r=u+2;continue}if(t.startsWith("<!",r)){let u=t.indexOf(">",r+2);if(u<0)break;e.push({kind:"decl",text:t.slice(r+2,u)}),r=u+1;continue}if(t[r+1]==="/"){let u=t.indexOf(">",r+2);if(u<0)break;let f=t.slice(r+2,u).trim();e.push({kind:"close",name:f}),r=u+1;continue}let i=QG(t,r);if(i<0)break;let o=t.slice(r+1,i).trim(),s=o.endsWith("/"),a=s?o.slice(0,-1).trim():o,{name:c,attrs:l}=eX(a);e.push({kind:s?"self":"open",name:c,attrs:l}),r=i+1}return e}function QG(t,e){let r=e+1,n=null;for(;r<t.length;){let i=t[r];if(n)i===n&&(n=null);else if(i==='"'||i==="'")n=i;else if(i===">")return r;r++}return-1}function eX(t){let e=0;for(;e<t.length&&/\s/.test(t[e]);)e++;let r=e;for(;e<t.length&&!/\s/.test(t[e]);)e++;let n=t.slice(r,e),i={};for(;e<t.length;){for(;e<t.length&&/\s/.test(t[e]);)e++;if(e>=t.length)break;let o=e;for(;e<t.length&&t[e]!=="="&&!/\s/.test(t[e]);)e++;let s=t.slice(o,e);if(e>=t.length||t[e]!=="="){s&&(i[s]="");continue}if(e++,e>=t.length)break;let a=t[e];if(a!=='"'&&a!=="'"){let l=e;for(;e<t.length&&!/\s/.test(t[e]);)e++;i[s]=t.slice(l,e);continue}e++;let c=e;for(;e<t.length&&t[e]!==a;)e++;i[s]=t.slice(c,e),e<t.length&&e++}return{name:n,attrs:i}}function rf(t){return t.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function tX(t,e){if(t.startsWith("#")){let r=e.get(t.slice(1));return r?`#${r}`:null}if(/^url\(#[^)]+\)$/.test(t)){let r=t.slice(5,-1),n=e.get(r);return n?`url(#${n})`:null}return null}function nP(t,e={}){let r=e.idPrefix??"nl-logo",n=e.onWarn??(()=>{}),i=JG(t),o=new Map,s=0;for(let l of i)if((l.kind==="open"||l.kind==="self")&&l.attrs&&"id"in l.attrs){let u=l.attrs.id;u&&!o.has(u)&&o.set(u,`${r}-${s++}`)}let a=[],c=[];for(let l of i)if(l.kind!=="comment"&&l.kind!=="decl"){if(l.kind==="cdata"){c[c.length-1]&&a.push(rf(l.text??""));continue}if(l.kind==="text"){if(c.length===0||c[c.length-1]){let u=(l.text??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");a.push(u)}continue}if(l.kind==="open"||l.kind==="self"){let u=l.name??"";if(u==="script"||u==="foreignObject"||u==="animate"||u==="animateTransform"||u==="animateMotion"||u==="set"){n(`sanitizer: dropping <${u}>`),l.kind==="open"&&c.push(!1);continue}if(!KG.has(u)){n(`sanitizer: dropping unknown element <${u}>`),l.kind==="open"&&c.push(!1);continue}let f=[`<${u}`],d=Object.keys(l.attrs??{}).sort();for(let p of d){let m=l.attrs[p];if(/^on/i.test(p)){n(`sanitizer: dropping event handler ${p}`);continue}if(!ZG.has(p)){n(`sanitizer: dropping attribute ${p}`);continue}if(p==="href"||p==="xlink:href"){let y=tX(m,o);if(y===null){n(`sanitizer: dropping external href ${m}`);continue}f.push(` ${p}="${rf(y)}"`);continue}if(p==="style"){n("sanitizer: dropping inline style");continue}if(p==="id"){let y=o.get(m);y&&f.push(` id="${rf(y)}"`);continue}if(/\burl\(#/i.test(m)){let y=m.replace(/url\(#([^)]+)\)/gi,(T,_)=>{let v=o.get(_);return v?`url(#${v})`:"none"});f.push(` ${p}="${rf(y)}"`);continue}if(/data:|javascript:|vbscript:/i.test(m)){n(`sanitizer: dropping suspicious value at ${p}`);continue}f.push(` ${p}="${rf(m)}"`)}f.push(l.kind==="self"?"/>":">"),a.push(f.join("")),l.kind==="open"&&c.push(!0);continue}l.kind==="close"&&c.pop()&&a.push(`</${l.name}>`)}return a.join("")}var iP=/&/g,oP=/</g,sP=/>/g,rX=/"/g,nX=/'/g;function cr(t){return t.replace(iP,"&").replace(oP,"<").replace(sP,">")}function ei(t){return t.replace(iP,"&").replace(oP,"<").replace(sP,">").replace(rX,""").replace(nX,"'")}function wc(t){let e=Object.keys(t).sort(),r=[];for(let n of e){let i=t[n];i==null||i===!1||(i===!0?r.push(n):r.push(`${n}="${ei(String(i))}"`))}return r.length?` ${r.join(" ")}`:""}function Q(t,e,r){return r===void 0||r===""?`<${t}${wc(e)}/>`:`<${t}${wc(e)}>${r}</${t}>`}function Le(t,e){return`<text${wc(t)}>${cr(e)}</text>`}function h(t){return Number.isFinite(t)?Number.isInteger(t)?t.toString():(Math.round(t*100)/100).toString():"0"}var iX={none:{dx:0,dy:0,stdDeviation:0,opacity:0},subtle:{dx:0,dy:1,stdDeviation:1.5,opacity:.2},soft:{dx:0,dy:3,stdDeviation:5,opacity:.3},hard:{dx:2,dy:2,stdDeviation:0,opacity:.45}};function oX(t,e){let r=`${t}-shadow-${e}`,n=iX[e],i=`<feGaussianBlur in="SourceAlpha" stdDeviation="${n.stdDeviation}"/><feOffset dx="${n.dx}" dy="${n.dy}" result="offsetblur"/><feComponentTransfer><feFuncA type="linear" slope="${n.opacity}"/></feComponentTransfer><feMerge><feMergeNode/><feMergeNode in="SourceGraphic"/></feMerge>`;return Q("filter",{id:r,x:"-50%",y:"-50%",width:"200%",height:"200%"},i)}function aP(t,e){return e==="none"?null:`url(#${t}-shadow-${e})`}function cP(t){return["subtle","soft","hard"].map(e=>oX(t,e)).join("")}var uX={thin:100,light:300,normal:400,bold:700};function fX(t){return ac[t]??14}function BE(t,e,r){return{"font-family":e[t.font],"font-size":r??fX(t.textSize),"font-weight":uX[t.weight]??400,"font-style":t.italic?"italic":"normal",fill:t.text}}function dX(t){if(t.border==="dashed")return"4 3";if(t.border==="dotted")return"1 3"}function pX(t){if(!t||t==="none"||t==="transparent")return 1;let e=t.startsWith("#")?t.slice(1):t;if(e.length===3&&(e=e.split("").map(s=>s+s).join("")),e.length!==6)return 1;let r=parseInt(e.slice(0,2),16)/255,n=parseInt(e.slice(2,4),16)/255,i=parseInt(e.slice(4,6),16)/255,o=s=>s<=.03928?s/12.92:((s+.055)/1.055)**2.4;return .2126*o(r)+.7152*o(n)+.0722*o(i)}function hX(t,e){return pX(t)>=.24?e.statusDot.onLight:e.statusDot.onDark}function UE(t,e){return t.length*e*.58}function dP(t,e,r,n,i,o,s){let a=i*.58,c=e?UE(e,i):0,l=e?a:0,u=r+c+l,{text:f,icon:d}=t,p=UE(f,i),m={"font-family":o,"font-size":i,fill:s};if(!d)return Le({x:h(u),y:h(n),...m},f);if(d.kind==="builtin"&&d.name==="multiplier")return Le({x:h(u),y:h(n),...m},`${f}\xD7`);if(d.kind==="builtin"){let T=Ji[d.name],_=Le({x:h(u),y:h(n),...m},f),v=i*.1,E=i,S=u+p+v,D=n-i*.85,N=`<svg x="${h(S)}" y="${h(D)}" width="${h(E)}" height="${h(E)}" viewBox="${T.viewBox}" style="color:${ei(s)}" aria-hidden="true">${T.body}</svg>`;return _+N}let y=h(i*.1);return`<text x="${h(u)}" y="${h(n)}" font-family="${ei(o)}" font-size="${i}" fill="${ei(s)}">${cr(f)}<tspan dx="${y}">${cr(d.text)}</tspan></text>`}var lP=.6,mX=.5;function gX(t){let{metaText:e,capacity:r,x:n,baselineY:i,fontSize:o,fontFamily:s,color:a}=t;if(!e&&!r)return"";let c={"font-family":s,"font-size":o,fill:a};if(!r)return Le({x:h(n),y:h(i),...c},e);if(!e)return dP(r,void 0,n,i,o,s,a);let l=h(o*lP),u=`<text x="${h(n)}" y="${h(i)}" font-family="${ei(s)}" font-size="${o}" fill="${ei(a)}">`,{text:f,icon:d}=r;if(!d)return u+cr(e)+`<tspan dx="${l}">${cr(f)}</tspan></text>`;if(d.kind==="builtin"&&d.name==="multiplier")return u+cr(e)+`<tspan dx="${l}">${cr(f)}\xD7</tspan></text>`;if(d.kind==="literal"){let N=h(o*.1);return u+cr(e)+`<tspan dx="${l}">${cr(f)}</tspan><tspan dx="${N}">${cr(d.text)}</tspan></text>`}let p=Ji[d.name],m=N=>N.length*o*mX,y=n+m(e)+o*lP,T=o*.1,_=o,v=y+m(f)+T,E=i-o*.85,S=u+cr(e)+`<tspan dx="${l}">${cr(f)}</tspan></text>`,D=`<svg x="${h(v)}" y="${h(E)}" width="${h(_)}" height="${h(_)}" viewBox="${p.viewBox}" style="color:${ei(a)}" aria-hidden="true">${p.body}</svg>`;return S+D}function yX(t,e){let r=rP.calendar,n=`<svg x="${h(t.glyphTopLeft.x)}" y="${h(t.glyphTopLeft.y)}" width="${h(t.glyphSize)}" height="${h(t.glyphSize)}" viewBox="${r.viewBox}" style="color:${ei(e)}" aria-hidden="true">${r.body}</svg>`,i=`<title>${cr(t.isoDate)}</title>`;return Q("g",{"data-layer":"inline-date-pin","data-side":t.side,"data-date":t.isoDate,"data-spilled":t.spilled?"true":null},i+n)}function GE(t,e){return!t||t.length===0?"":t.map(r=>yX(r,e)).join("")}function xX(t,e,r,n,i,o={}){let s=Math.min(vh[i.cornerRadius]??4,n/2);return Q("rect",{x:h(t),y:h(e),width:h(r),height:h(n),rx:h(s),ry:h(s),fill:i.bg==="none"?"transparent":i.bg,stroke:i.fg,"stroke-width":1,"stroke-dasharray":dX(i)??null,...o})}function TX(t,e,r,n){let i=t.box.x+t.cardBox.x,o=t.box.y+t.cardBox.y,s=t.cardBox.width,a=t.cardBox.height,c=t.style.bg==="none"?r.surface.headerBox:t.style.bg,l=r.header.cardBorder,u=Q("rect",{x:h(i),y:h(o),width:h(s),height:h(a),rx:6,ry:6,fill:c,stroke:l,"stroke-width":1,filter:`url(#${e}-shadow-subtle)`}),f=[];t.titleLines.forEach((_,v)=>{f.push(Le({x:h(i+16),y:h(o+26+v*20),"font-family":n[t.style.font],"font-size":16,"font-weight":600,fill:t.style.text},_))});let d=f.join(""),p=o+26+Math.max(0,t.titleLines.length-1)*20,m=r.header.author,y=[];t.authorLines.forEach((_,v)=>{y.push(Le({x:h(i+16),y:h(p+18+v*14),"font-family":n[t.style.font],"font-size":11,fill:m},_))});let T=y.join("");return Q("g",{"data-layer":"header","data-id":`${e}-header`},u+d+T)}function _X(t,e,r){let n=r.timeline.gridLine,i=r.timeline.minorGridLine,o=t.bottomTickPanelHeight??0,s=t.bottomTickPanelY!==void 0&&o>0,a=t.tickPanelY,c=s?t.bottomTickPanelY+o:t.box.y+t.box.height,l=e,u=t.box.y+t.box.height,f=[];for(let d of t.ticks)if(d.major)f.push(Q("line",{x1:h(d.x),y1:h(a),x2:h(d.x),y2:h(c),stroke:n,"stroke-width":1}));else if(t.minorGrid){if(d.labelX===void 0)continue;f.push(Q("line",{x1:h(d.x),y1:h(l),x2:h(d.x),y2:h(u),stroke:i,"stroke-width":1}))}return Q("g",{"data-layer":"grid"},f.join(""))}function EX(t,e,r){let n=e.timeline.panelFill,i=e.timeline.border,o=e.timeline.labelText,s=[],a=t.tickPanelY,c=t.tickPanelHeight,l=c>0,u=t.markerRow.height>0,f=a+c,d=t.markerRow.height,p=t.bottomTickPanelY,m=t.bottomTickPanelHeight??0,y=p!==void 0&&m>0;l&&s.push(Q("rect",{x:h(t.box.x),y:h(a),width:h(t.box.width),height:h(c),rx:4,ry:4,fill:n,stroke:i,"stroke-width":1})),u&&s.push(Q("rect",{x:h(t.box.x),y:h(f),width:h(t.box.width),height:h(d),rx:4,ry:4,fill:n,stroke:i,"stroke-width":1})),y&&s.push(Q("rect",{x:h(t.box.x),y:h(p),width:h(t.box.width),height:h(m),rx:4,ry:4,fill:n,stroke:i,"stroke-width":1}));for(let T of t.ticks)T.major&&(!T.label||T.labelX===void 0||(l&&s.push(Le({x:h(T.labelX),y:h(a+Rh),"font-family":r.sans,"font-size":10,fill:o,"text-anchor":"middle"},T.label)),y&&s.push(Le({x:h(T.labelX),y:h(p+Rh),"font-family":r.sans,"font-size":10,fill:o,"text-anchor":"middle"},T.label))));return Q("g",{"data-layer":"timeline"},s.join(""))}function vX(t,e,r){if(!t)return"";let n=e.nowline.stroke,i=e.nowline.labelText,o=Q("line",{x1:h(t.x),y1:h(t.topY),x2:h(t.x),y2:h(t.bottomY),stroke:n,"stroke-width":Sh}),s=RX(t,n),a=wX(t,i,r);return Q("g",{"data-layer":"nowline"},o+s+a)}function pP(t){let e=Sh/2;return t.pillMode==="flag-right"?t.x-e:t.pillMode==="flag-left"?t.x+e:t.x}function RX(t,e){let r=t.pillTopY,n=t.pillTopY+qi,i=X_,o=t.pillWidth;if(t.pillMode==="center")return Q("rect",{x:h(t.x-o/2),y:h(r),width:h(o),height:h(qi),rx:i,ry:i,fill:e});let s=pP(t);if(t.pillMode==="flag-right"){let l=s+o,u=[`M ${h(s)} ${h(r)}`,`L ${h(l-i)} ${h(r)}`,`A ${i} ${i} 0 0 1 ${h(l)} ${h(r+i)}`,`L ${h(l)} ${h(n-i)}`,`A ${i} ${i} 0 0 1 ${h(l-i)} ${h(n)}`,`L ${h(s)} ${h(n)}`,"Z"].join(" ");return Q("path",{d:u,fill:e})}let a=s-o,c=[`M ${h(s)} ${h(r)}`,`L ${h(a+i)} ${h(r)}`,`A ${i} ${i} 0 0 0 ${h(a)} ${h(r+i)}`,`L ${h(a)} ${h(n-i)}`,`A ${i} ${i} 0 0 0 ${h(a+i)} ${h(n)}`,`L ${h(s)} ${h(n)}`,"Z"].join(" ");return Q("path",{d:c,fill:e})}function wX(t,e,r){let n=t.pillTopY+H_,i=pP(t),o,s;return t.pillMode==="center"?(o=t.x,s="middle"):t.pillMode==="flag-right"?(o=i+lc,s="start"):(o=i-lc,s="end"),Le({x:h(o),y:h(n),"font-family":r.sans,"font-size":Fu,"font-weight":700,fill:e,"text-anchor":s},t.label)}function bX(t,e,r,n,i){let o=[],s=aP(r,t.style.shadow);o.push(xX(t.box.x,t.box.y,t.box.width,t.box.height,t.style,{filter:s??null}));let a=hX(t.style.bg,n),c={done:a.done,"in-progress":a.inProgress,"at-risk":a.atRisk,blocked:a.blocked,planned:a.planned,neutral:a.neutral},l=c[t.status]??c.neutral;if(t.progressFraction>0){let T=Math.max(0,Math.min(t.box.width,t.box.width*t.progressFraction));o.push(Q("rect",{x:h(t.box.x),y:h(t.box.y+t.box.height-_n),width:h(T),height:_n,fill:t.style.fg,opacity:.55}))}let u=t.dotSpills&&t.dotSpillCx!==null?t.dotSpillCx:t.box.x+t.box.width-12;o.push(Q("circle",{cx:h(u),cy:h(t.box.y+12),r:5,fill:l})),o.push(GE(t.inlineDatePins,t.style.fg));let f;t.textSpills?(f=t.box.x+t.box.width+6,t.iconSpills&&(f+=18)):f=t.box.x+12;let d=t.style.text,p=n.entities.item.text,m=t.textSpills?p:d,y=t.textSpills?p:t.style.fg;if(t.title&&o.push(Le({x:h(f),y:h(t.box.y+20),"font-family":i[t.style.font],"font-size":13,"font-weight":600,fill:m},t.title)),(t.metaText||t.capacity)&&o.push(gX({metaText:t.metaText,capacity:t.capacity,x:f,baselineY:t.box.y+38,fontSize:11,fontFamily:i[t.style.font],color:y})),t.footnoteIndicators.length>0){let T=t.box.y+14;if(t.footnoteSpills&&t.footnoteSpillStartX!==null){let _=t.footnoteSpillStartX;for(let v=0;v<t.footnoteIndicators.length;v++){let E=t.footnoteIndicators[v];o.push(Le({x:h(_),y:h(T),"font-family":i.sans,"font-size":10,"font-weight":700,fill:p},String(E))),_+=8}}else{let _=t.box.x+t.box.width-22;for(let v=t.footnoteIndicators.length-1;v>=0;v--){let E=t.footnoteIndicators[v];o.push(Le({x:h(_),y:h(T),"font-family":i.sans,"font-size":10,"font-weight":700,fill:t.style.text,"text-anchor":"end"},String(E))),_-=8}}}if(!e.noLinks&&t.linkIcon&&t.linkIcon!=="none"){let T={linear:"#5e6ad2",github:"#0f172a",jira:"#0052cc",generic:n.item.linkIconFg},_=T[t.linkIcon]??T.generic,v=14,E=t.iconSpills&&t.iconSpillX!==null?t.iconSpillX:t.box.x+6,S=t.box.y+6,D=Q("rect",{x:h(E),y:h(S),width:v,height:v,rx:2,ry:2,fill:_}),N=E,M=S,B=Q("path",{d:`M${h(N+4)} ${h(M+10)} L${h(N+10)} ${h(M+4)} M${h(N+6)} ${h(M+4)} H${h(N+10)} V${h(M+8)}`,stroke:"#ffffff",fill:"none","stroke-width":1.1,"stroke-linecap":"round","stroke-linejoin":"round"}),G=D+B,oe=t.linkHref?Q("a",{href:t.linkHref,target:"_blank",rel:"noopener"},G):G;o.push(oe)}if(t.hasOverflow&&t.overflowBox){let T=n.item.overflowTailFill,_=n.item.overflowTailStroke,v=n.item.overflowCaption;o.push(Q("rect",{x:h(t.overflowBox.x),y:h(t.overflowBox.y),width:h(t.overflowBox.width),height:h(t.overflowBox.height),fill:T,stroke:_,"stroke-width":1})),t.overflowAnchorId&&t.overflowBox.width>60&&o.push(Le({x:h(t.overflowBox.x+t.overflowBox.width/2),y:h(t.overflowBox.y+t.overflowBox.height/2+3),"font-family":i.sans,"font-size":9,"font-weight":700,fill:v,"text-anchor":"middle"},`past ${t.overflowAnchorId}`))}for(let T of t.labelChips){let _=Math.min(vh[T.style.cornerRadius]??8,T.box.height/2);o.push(Q("rect",{x:h(T.box.x),y:h(T.box.y),width:h(T.box.width),height:h(T.box.height),rx:h(_),ry:h(_),fill:T.style.bg==="none"?"transparent":T.style.bg,stroke:T.style.fg,"stroke-width":.5})),o.push(Le({x:h(T.box.x+T.box.width/2),y:h(T.box.y+T.box.height/2+3),...BE(T.style,i,ac.xs),"text-anchor":"middle"},T.text))}return Q("g",{"data-layer":"item","data-id":t.id??null},o.join(""))}function AX(t,e,r,n,i){let o=[];if(t.style.bg!=="none"&&t.style.bg!=="#ffffff"){if(o.push(Q("rect",{x:h(t.box.x),y:h(t.box.y),width:h(t.box.width),height:h(t.box.height),rx:6,ry:6,fill:t.style.bg,stroke:t.style.fg,"stroke-width":1,"fill-opacity":.18,filter:`url(#${r}-shadow-subtle)`})),t.title){let a=t.title.length*U_+2*Ah,c=t.box.x,l=t.box.y,u=Mu,f=6,d=`M${h(c+f)} ${h(l)}H${h(c+a)}V${h(l+u-f)}A${f} ${f} 0 0 1 ${h(c+a-f)} ${h(l+u)}H${h(c)}V${h(l+f)}A${f} ${f} 0 0 1 ${h(c+f)} ${h(l)}Z`;o.push(Q("path",{d,fill:t.style.fg})),o.push(Le({x:h(c+Ah),y:h(l+M_),"font-family":i[t.style.font],"font-size":F_,"font-weight":600,fill:"#ffffff"},t.title))}}else{let a=t.style.fg;if(t.style.bracket!=="none"){let l=t.box.y+t.box.height,u=t.style.bracket==="dashed"?"3 2":null,f=t.title?`M${h(t.box.x+4)} ${h(t.box.y-cc)} L${h(t.box.x)} ${h(t.box.y-cc)} L${h(t.box.x)} ${h(l)} L${h(t.box.x+4)} ${h(l)}`:`M${h(t.box.x)} ${h(t.box.y)} L${h(t.box.x)} ${h(l)} L${h(t.box.x+4)} ${h(l)}`;o.push(Q("path",{d:f,fill:"none",stroke:a,"stroke-width":1,"stroke-dasharray":u}))}t.title&&o.push(Le({x:h(t.box.x+6),y:h(t.box.y-2),...BE(t.style,i,ac.xs),"fill-opacity":.7},t.title))}o.push(GE(t.inlineDatePins,t.style.fg));for(let a of t.children)o.push(XE(a,e,r,n,i));return Q("g",{"data-layer":"group","data-id":t.id??null},o.join(""))}function IX(t,e,r,n,i){let o=[];if(t.style.bracket==="solid"||t.style.bracket==="dashed"){let c=t.box.y-12,l=t.box.y+t.box.height+12,u=t.box.x,f=t.box.x+t.box.width,d=n.parallel.bracketStroke;o.push(Q("path",{d:`M${h(u+4)} ${h(c)} H${h(u)} V${h(l)} H${h(u+4)}`,fill:"none",stroke:d,"stroke-width":1.25,"stroke-dasharray":t.style.bracket==="dashed"?"3 3":null,"stroke-linejoin":"round"})),o.push(Q("path",{d:`M${h(f-4)} ${h(c)} H${h(f)} V${h(l)} H${h(f-4)}`,fill:"none",stroke:d,"stroke-width":1.25,"stroke-dasharray":t.style.bracket==="dashed"?"3 3":null,"stroke-linejoin":"round"}))}t.title&&o.push(Le({x:h(t.box.x+4),y:h(t.box.y-2),...BE(t.style,i,ac.xs),"fill-opacity":.7},t.title)),o.push(GE(t.inlineDatePins,t.style.fg));for(let s of t.children)o.push(XE(s,e,r,n,i));return Q("g",{"data-layer":"parallel","data-id":t.id??null},o.join(""))}function XE(t,e,r,n,i){return t.kind==="item"?bX(t,e,r,n,i):t.kind==="group"?AX(t,e,r,n,i):IX(t,e,r,n,i)}var uP=2;function SX(t,e){switch(t){case"green":return e.swimlane.utilizationOk;case"yellow":return e.swimlane.utilizationWarn;case"red":return e.swimlane.utilizationOver}}function kX(t,e){if(!t.utilization||t.utilization.segments.length===0)return"";let r=t.box.y+t.box.height-uP,n=t.utilization.segments.map(i=>{let o=i.endX-i.startX;return o<=0?"":Q("rect",{x:h(i.startX),y:h(r),width:h(o),height:uP,fill:SX(i.classification,e),"data-utilization":i.classification,"data-load":h(i.load)})});return Q("g",{"data-layer":"lane-utilization","data-id":t.id??null},n.join(""))}function NX(t,e){let r=t.bandIndex%2===0?e.swimlane.rowTintEven:e.swimlane.rowTintOdd,n=e.swimlane.border;return Q("g",{"data-layer":"swimlane-bg","data-id":t.id??null},Q("rect",{x:h(t.box.x),y:h(t.box.y),width:h(t.box.width),height:h(t.box.height),fill:r,stroke:n,"stroke-width":1}))}function hP(t,e,r,n,i){let o=n.swimlane.tabFill,s=n.swimlane.tabStroke,a=n.swimlane.tabText,c=n.swimlane.ownerText,l=n.swimlane.footnoteIndicator,u=[];if(t.title){let d=t.capacity?to(t.capacity.text,t.capacity.icon,10):0,p=t.footnoteIndicators.length>0?t.footnoteIndicators.join(","):"",m=p?UE(p,10):0,y=Sc(t.box.x,t.title,t.owner,d,m),T=wh,_=t.box.y+10,v=_+bh;u.push(Q("rect",{x:h(y.tabX),y:h(_),width:h(y.tabW),height:h(T),rx:4,ry:4,fill:o,stroke:s,"stroke-width":1})),u.push(Le({x:h(y.titleX),y:h(v),"font-family":i[t.style.font],"font-size":12,"font-weight":600,fill:a},t.title)),t.owner&&u.push(Le({x:h(y.ownerX),y:h(v),"font-family":i[t.style.font],"font-size":10,fill:c},`owner: ${t.owner}`)),t.capacity&&u.push(dP(t.capacity,void 0,y.badgeX,v,10,i[t.style.font],c)),p&&u.push(Le({x:h(y.footnoteRightX),y:h(_+14),"font-family":i.sans,"font-size":10,"font-weight":700,fill:l,"text-anchor":"end"},p))}for(let f of t.children)u.push(XE(f,e,r,n,i));return u.push(kX(t,n)),Q("g",{"data-layer":"swimlane","data-id":t.id??null},u.join(""))}function CX(t,e,r){let n=t.radius,i=t.center.x,o=t.center.y,s=e.anchorDiamond.fill,a=e.anchorDiamond.stroke,c=Q("path",{d:`M${h(i)} ${h(o-n)} L${h(i+n)} ${h(o)} L${h(i)} ${h(o+n)} L${h(i-n)} ${h(o)} Z`,fill:s,stroke:a,"stroke-width":1.25}),l=e.anchorDiamond.label,u=t.labelSide==="left"?t.labelBox.x+t.labelBox.width:t.labelBox.x,f={x:h(u),y:h(o+4),"font-family":r.sans,"font-size":10,fill:l};t.labelSide==="left"&&(f["text-anchor"]="end");let d=t.title?Le(f,t.title):"";return Q("g",{"data-layer":"anchor","data-id":t.id??null},c+d)}function PX(t,e){let r=e.anchorDiamond.cutLine;return Q("line",{x1:h(t.center.x),y1:h(t.center.y+t.radius+1),x2:h(t.center.x),y2:h(t.cutBottomY),stroke:r,"stroke-width":1,"stroke-dasharray":"1 3"})}function OX(t,e,r){let n=t.center.x,i=t.center.y,o=t.radius,s=e.milestoneDiamond.fill,a=Q("path",{d:`M${h(n)} ${h(i-o)} L${h(n+o)} ${h(i)} L${h(n)} ${h(i+o)} L${h(n-o)} ${h(i)} Z`,fill:s,stroke:s,"stroke-width":1}),c=e.milestoneDiamond.label,l=t.labelSide==="left"?t.labelBox.x+t.labelBox.width:t.labelBox.x,u={x:h(l),y:h(i+4),"font-family":r.sans,"font-size":10,"font-weight":600,fill:c};t.labelSide==="left"&&(u["text-anchor"]="end");let f=t.title?Le(u,t.title):"";return Q("g",{"data-layer":"milestone","data-id":t.id??null},a+f)}function LX(t,e){let r=t.isOverrun?e.milestoneDiamond.cutLineOverrun:e.milestoneDiamond.cutLineNormal,n=[];if(n.push(Q("line",{x1:h(t.center.x),y1:h(t.center.y+t.radius+1),x2:h(t.center.x),y2:h(t.cutBottomY),stroke:r,"stroke-width":2,"stroke-dasharray":Ih,"stroke-linecap":"round"})),t.slackArrows&&t.slackArrows.length>0){let i=e.milestoneDiamond.slack;for(let o of t.slackArrows)n.push(Q("path",{d:`M${h(o.x)} ${h(o.y)} H${h(t.center.x-6)}`,fill:"none",stroke:i,"stroke-width":1.1,"stroke-dasharray":"3 3","stroke-linecap":"round","marker-end":"url(#nl-arrow-dark)"}))}return n.join("")}function fP(t,e){let r=t.kind==="overflow"?e.dependency.overflowStroke:e.dependency.edgeStroke,n=t.waypoints;if(n.length<2)return"";let i=t.kind==="underBar"?.8:1.1;return Q("path",{d:DX(n,K_),fill:"none",stroke:r,"stroke-width":i,"stroke-dasharray":t.kind==="overflow"?"4 2":null,"stroke-linejoin":"round","marker-end":"url(#nl-arrow)"})}function DX(t,e){if(t.length<2)return"";let r=[`M${h(t[0].x)} ${h(t[0].y)}`];for(let n=1;n<t.length;n++){let i=t[n-1],o=t[n];if(n===t.length-1){r.push(`L${h(o.x)} ${h(o.y)}`);continue}let s=t[n+1],a=Math.sign(o.x-i.x),c=Math.sign(o.y-i.y),l=Math.sign(s.x-o.x),u=Math.sign(s.y-o.y),f=Math.hypot(o.x-i.x,o.y-i.y),d=Math.hypot(s.x-o.x,s.y-o.y),p=Math.min(e,f/2,d/2);if(p<=0||a!==0&&l!==0||c!==0&&u!==0){r.push(`L${h(o.x)} ${h(o.y)}`);continue}let m={x:o.x-a*p,y:o.y-c*p},y={x:o.x+l*p,y:o.y+u*p};r.push(`L${h(m.x)} ${h(m.y)}`),r.push(`Q${h(o.x)} ${h(o.y)} ${h(y.x)} ${h(y.y)}`)}return r.join(" ")}function $X(t,e,r,n){if(t.entries.length===0)return"";let i=r.footnotePanel.fill,o=r.footnotePanel.border,s=r.footnotePanel.header,a=r.footnotePanel.title,c=r.footnotePanel.description,l=r.footnotePanel.number,u=[];u.push(Q("rect",{x:h(t.box.x),y:h(t.box.y),width:h(t.box.width),height:h(t.box.height),rx:6,ry:6,fill:i,stroke:o,"stroke-width":1,filter:`url(#${e}-shadow-subtle)`})),u.push(Le({x:h(t.box.x+Zr),y:h(t.box.y+z_),"font-family":n.sans,"font-size":12,"font-weight":700,fill:s},"Footnotes"));let f=t.box.y+Uu+Zr,d=t.box.x+Zr,p=d+Zr;return t.entries.forEach((m,y)=>{let T=f+y*Bu;u.push(Le({x:h(d),y:h(T),"font-family":n.sans,"font-size":10,"font-weight":700,fill:l},String(m.number))),u.push(Le({x:h(p),y:h(T),"font-family":n.sans,"font-size":11,"font-weight":600,fill:a},m.title)),m.description&&u.push(Le({x:h(p+Math.max(120,m.title.length*6)),y:h(T),"font-family":n.sans,"font-size":11,fill:c},`\u2014 ${m.description}`))}),Q("g",{"data-layer":"footnotes"},u.join(""))}function MX(t,e,r,n,i){let o=n.includeRegion.border,s=n.includeRegion.fill,a=n.includeRegion.tabFill,c=n.includeRegion.tabStroke,l=n.includeRegion.tabText,u=n.includeRegion.badgeFill,f=n.includeRegion.badgeStroke,d=n.includeRegion.badgeText,p=t.box.x+8,m=t.box.y,y=t.box.width-16,T=t.box.height,_=Q("rect",{x:h(p),y:h(m),width:h(y),height:h(T),rx:8,ry:8,fill:s,stroke:o,"stroke-width":1,"stroke-dasharray":Ih}),v=wh,E=kc(t.box.x,t.label,t.sourcePath),S=m-v/2,D=Q("rect",{x:h(E.tabX),y:h(S),width:h(E.tabWidth),height:v,rx:4,ry:4,fill:a,stroke:c,"stroke-width":1}),N=Le({x:h(E.tabLabelX),y:h(S+bh),"font-family":i.sans,"font-size":11,"font-weight":600,fill:l},t.label),M=E.badgeX,B=E.badgeSize,G=m-B/2,oe=Q("rect",{x:h(M),y:h(G),width:B,height:B,rx:4,ry:4,fill:u,stroke:f,"stroke-width":1}),L=Q("path",{d:`M${h(M+7)} ${h(G+4)} H${h(M+14)} V${h(G+11)} M${h(M+4)} ${h(G+7)} H${h(M+11)} V${h(G+14)} H${h(M+4)} Z`,stroke:d,"stroke-width":1.4,fill:"none","stroke-linecap":"round","stroke-linejoin":"round"}),R=9,O=m+4,$=Q("rect",{x:h(E.sourceHaloX),y:h(O-R),width:h(E.sourceHaloWidth),height:R+6,fill:s}),b=Le({x:h(E.sourceTextX),y:h(O),"font-family":i.mono,"font-size":R,fill:d},t.sourcePath),A=t.nestedSwimlanes.map(I=>hP(I,e,r,n,i)).join("");return Q("g",{"data-layer":"include"},_+A+D+N+oe+L+$+b)}function FX(t,e){let r=t.palette.attribution.mark,n=t.palette.attribution.link;if(t.swimlanes.length===0)return"";let i=t.header.attributionBox.x,o=t.header.attributionBox.y,s=Wi,a=Le({x:"0",y:s,"font-family":e.sans,"font-size":Ch,"font-weight":400,fill:r},Nh)+Le({x:Xu,y:s,"font-family":e.sans,"font-size":Wi,"font-weight":700,fill:r},"now")+Q("rect",{x:W_,y:12,width:V_,height:Wi,fill:n})+Le({x:Ph,y:s,"font-family":e.sans,"font-size":Wi,"font-weight":400,fill:r},"ine"),c=Q("g",{transform:`translate(${h(i)} ${h(o)}) scale(${h(Gu)})`},a);return Q("a",{href:q_,target:"_blank",rel:"noopener","aria-label":"Powered by nowline"},Q("g",{"data-layer":"attribution"},c))}async function UX(t,e,r,n,i,o,s){if(!e)return"";let a;try{a=await e(t)}catch(u){let f=`logo: failed to load ${t}: ${u instanceof Error?u.message:String(u)}`;if(n.strict)throw u;return n.warn?.(f),""}let c=(a.mime??"").toLowerCase();if(c==="image/svg+xml"){let u=new TextDecoder().decode(a.bytes),f=nP(u,{idPrefix:`${r}-logo`,onWarn:n.warn});return Q("g",{transform:`translate(${h(i)} ${h(o)})`},f)}if(c==="image/png"||c==="image/jpeg"||c==="image/jpg"||c==="image/webp"){let u=BX(a.bytes);return Q("image",{href:`data:${c};base64,${u}`,x:h(i),y:h(o),width:h(s),height:h(s),preserveAspectRatio:"xMidYMid meet"})}let l=`logo: unsupported mime ${c} for ${t}`;if(n.strict)throw new Error(l);return n.warn?.(l),""}function BX(t){if(typeof btoa<"u"){let r="";for(let n=0;n<t.length;n++)r+=String.fromCharCode(t[n]);return btoa(r)}let e=globalThis;if(e.Buffer)return e.Buffer.from(t).toString("base64");throw new Error("renderer: no base64 encoder available")}async function HE(t,e={}){let n=new dm(e.idPrefix??"nl").next("root"),i=t.palette,o=e.fontFamilies??Z_,s=[],a=i.arrowhead.neutral,c=i.arrowhead.light,l=i.arrowhead.dark,u=(p,m)=>`<marker id="${p}" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" fill="${m}"/></marker>`,f=`<defs>${cP(n)}`+u("nl-arrow",a)+u("nl-arrow-light",c)+u("nl-arrow-dark",l)+"</defs>";s.push(f),s.push(Q("rect",{x:0,y:0,width:h(t.width),height:h(t.height),fill:t.backgroundColor})),s.push(EX(t.timeline,i,o));for(let p of t.swimlanes)s.push(NX(p,i));s.push(_X(t.timeline,t.chartBox.y,i));for(let p of t.edges)p.kind==="underBar"&&s.push(fP(p,i));for(let p of t.swimlanes)s.push(hP(p,e,n,i,o));for(let p of t.includes)s.push(MX(p,e,n,i,o));for(let p of t.edges)p.kind!=="underBar"&&s.push(fP(p,i));for(let p of t.anchors)s.push(PX(p,i));for(let p of t.milestones)s.push(LX(p,i));for(let p of t.anchors)s.push(CX(p,i,o));for(let p of t.milestones)s.push(OX(p,i,o));if(s.push(vX(t.nowline,i,o)),s.push($X(t.footnotes,n,i,o)),s.push(TX(t.header,n,i,o)),s.push(FX(t,o)),t.header.logo&&e.assetResolver){let p=await UX(t.header.logo.assetRef??"",e.assetResolver,n,e,t.header.logo.box.x,t.header.logo.box.y,Math.max(t.header.logo.box.width,t.header.logo.box.height));p&&s.push(p)}return`<svg${wc({xmlns:"http://www.w3.org/2000/svg",viewBox:`0 0 ${h(t.width)} ${h(t.height)}`,width:h(t.width),height:h(t.height),"data-theme":t.theme,"data-generator":"nowline"})}>${s.join("")}</svg>`}var jE="/browser-source.nowline",pm,mP=0;function gP(){return pm||(pm=S_()),pm}function GX(){return ht.parse(`memory:///nowline-browser-${++mP}.nowline`)}async function hm(t,e={}){let r=e.filePath??jE,n=gP(),o=n.shared.workspace.LangiumDocumentFactory.fromString(t,GX());await n.shared.workspace.DocumentBuilder.build([o],{validation:!0});let s=[];for(let a of Em(o))a.origin==="lexer"?s.push(KC(a.error,r)):a.origin==="parser"?s.push(YC(a.error,r)):s.push(VC(a.diagnostic,r));return{ast:o.parseResult.value,diagnostics:s}}async function zE(t,e={}){let r=e.filePath??jE,n=await hm(t,{filePath:r});if(n.diagnostics.some(T=>T.severity==="error"))return{kind:"diagnostics",diagnostics:n.diagnostics};let i=gP(),o=e.readFile??eP,s=await y_(n.ast,r,{services:i.Nowline,readFile:o}),a=[...n.diagnostics];for(let T of s.diagnostics){if(T.severity==="error"&&tP(T.message)){e.onSkippedInclude?.({sourcePath:T.sourcePath,message:T.message});continue}a.push(ZC(T))}if(a.some(T=>T.severity==="error"))return{kind:"diagnostics",diagnostics:a};let c;if(e.timezone)try{c=ME(e.timezone)}catch(T){if(T instanceof ls)return{kind:"diagnostics",diagnostics:[{severity:"error",code:"invalid-timezone",message:T.message,file:r,line:1,column:1}]};throw T}let l=FE({now:e.today,zone:c}),u=$E(n.ast,s,{theme:e.theme,today:l,locale:e.locale,width:e.width}),f=e.showLinks!==!1,d=e.strict===!0,p=[],m=await HE(u,{idPrefix:e.idPrefix,assetResolver:e.assetResolver,noLinks:!f,strict:d,warn:T=>p.push(T),fontFamilies:e.fontFamilies}),y=p.map(T=>JC(T,r,d?"error":"warning"));return d&&y.length>0?{kind:"diagnostics",diagnostics:[...a,...y]}:{kind:"svg",svg:m,warnings:y}}function qE(){pm=void 0,mP=0}var yP="/embed.nowline",WE=!1;async function xP(t){let{ast:e,diagnostics:r}=await hm(t,{filePath:yP});return{ast:e,errors:r.filter(n=>n.severity==="error").map(n=>n.message)}}async function mm(t,e={}){let r={filePath:yP,theme:e.theme,today:e.today,timezone:e.timezone,locale:e.locale,width:e.width,idPrefix:e.idPrefix,onSkippedInclude:()=>{WE||(WE=!0,console.warn("nowline: `include` directives are skipped in the browser embed (single-file mode). Render multi-file roadmaps with the CLI or the GitHub Action."))}},n=await zE(t,r);if(n.kind==="svg")return n.svg;let i=n.diagnostics.filter(o=>o.severity==="error").map(o=>o.message);throw new nf(`Failed to render Nowline source: ${i.join("; ")}`,i)}var nf=class extends Error{constructor(r,n){super(r);de(this,"details",n);this.name="EmbedRenderError"}};function TP(){WE=!1,qE()}var en=Uint8Array,xr=Uint16Array,JE=Int32Array,QE=new en([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),e0=new en([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),_P=new en([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),wP=function(t,e){for(var r=new xr(31),n=0;n<31;++n)r[n]=e+=1<<t[n-1];for(var i=new JE(r[30]),n=1;n<30;++n)for(var o=r[n];o<r[n+1];++o)i[o]=o-r[n]<<5|n;return{b:r,r:i}},bP=wP(QE,2),XX=bP.b,YE=bP.r;XX[28]=258,YE[258]=28;var AP=wP(e0,0),fae=AP.b,EP=AP.r,KE=new xr(32768);for(Fe=0;Fe<32768;++Fe)ti=(Fe&43690)>>1|(Fe&21845)<<1,ti=(ti&52428)>>2|(ti&13107)<<2,ti=(ti&61680)>>4|(ti&3855)<<4,KE[Fe]=((ti&65280)>>8|(ti&255)<<8)>>1;var ti,Fe,af=(function(t,e,r){for(var n=t.length,i=0,o=new xr(e);i<n;++i)t[i]&&++o[t[i]-1];var s=new xr(e);for(i=1;i<e;++i)s[i]=s[i-1]+o[i-1]<<1;var a;if(r){a=new xr(1<<e);var c=15-e;for(i=0;i<n;++i)if(t[i])for(var l=i<<4|t[i],u=e-t[i],f=s[t[i]-1]++<<u,d=f|(1<<u)-1;f<=d;++f)a[KE[f]>>c]=l}else for(a=new xr(n),i=0;i<n;++i)t[i]&&(a[i]=KE[s[t[i]-1]++]>>15-t[i]);return a}),us=new en(288);for(Fe=0;Fe<144;++Fe)us[Fe]=8;var Fe;for(Fe=144;Fe<256;++Fe)us[Fe]=9;var Fe;for(Fe=256;Fe<280;++Fe)us[Fe]=7;var Fe;for(Fe=280;Fe<288;++Fe)us[Fe]=8;var Fe,gm=new en(32);for(Fe=0;Fe<32;++Fe)gm[Fe]=5;var Fe,HX=af(us,9,0);var jX=af(gm,5,0);var IP=function(t){return(t+7)/8|0},zX=function(t,e,r){return(e==null||e<0)&&(e=0),(r==null||r>t.length)&&(r=t.length),new en(t.subarray(e,r))};var ri=function(t,e,r){r<<=e&7;var n=e/8|0;t[n]|=r,t[n+1]|=r>>8},of=function(t,e,r){r<<=e&7;var n=e/8|0;t[n]|=r,t[n+1]|=r>>8,t[n+2]|=r>>16},VE=function(t,e){for(var r=[],n=0;n<t.length;++n)t[n]&&r.push({s:n,f:t[n]});var i=r.length,o=r.slice();if(!i)return{t:kP,l:0};if(i==1){var s=new en(r[0].s+1);return s[r[0].s]=1,{t:s,l:1}}r.sort(function(D,N){return D.f-N.f}),r.push({s:-1,f:25001});var a=r[0],c=r[1],l=0,u=1,f=2;for(r[0]={s:-1,f:a.f+c.f,l:a,r:c};u!=i-1;)a=r[r[l].f<r[f].f?l++:f++],c=r[l!=u&&r[l].f<r[f].f?l++:f++],r[u++]={s:-1,f:a.f+c.f,l:a,r:c};for(var d=o[0].s,n=1;n<i;++n)o[n].s>d&&(d=o[n].s);var p=new xr(d+1),m=ZE(r[u-1],p,0);if(m>e){var n=0,y=0,T=m-e,_=1<<T;for(o.sort(function(N,M){return p[M.s]-p[N.s]||N.f-M.f});n<i;++n){var v=o[n].s;if(p[v]>e)y+=_-(1<<m-p[v]),p[v]=e;else break}for(y>>=T;y>0;){var E=o[n].s;p[E]<e?y-=1<<e-p[E]++-1:++n}for(;n>=0&&y;--n){var S=o[n].s;p[S]==e&&(--p[S],++y)}m=e}return{t:new en(p),l:m}},ZE=function(t,e,r){return t.s==-1?Math.max(ZE(t.l,e,r+1),ZE(t.r,e,r+1)):e[t.s]=r},vP=function(t){for(var e=t.length;e&&!t[--e];);for(var r=new xr(++e),n=0,i=t[0],o=1,s=function(c){r[n++]=c},a=1;a<=e;++a)if(t[a]==i&&a!=e)++o;else{if(!i&&o>2){for(;o>138;o-=138)s(32754);o>2&&(s(o>10?o-11<<5|28690:o-3<<5|12305),o=0)}else if(o>3){for(s(i),--o;o>6;o-=6)s(8304);o>2&&(s(o-3<<5|8208),o=0)}for(;o--;)s(i);o=1,i=t[a]}return{c:r.subarray(0,n),n:e}},sf=function(t,e){for(var r=0,n=0;n<e.length;++n)r+=t[n]*e[n];return r},SP=function(t,e,r){var n=r.length,i=IP(e+2);t[i]=n&255,t[i+1]=n>>8,t[i+2]=t[i]^255,t[i+3]=t[i+1]^255;for(var o=0;o<n;++o)t[i+o+4]=r[o];return(i+4+n)*8},RP=function(t,e,r,n,i,o,s,a,c,l,u){ri(e,u++,r),++i[256];for(var f=VE(i,15),d=f.t,p=f.l,m=VE(o,15),y=m.t,T=m.l,_=vP(d),v=_.c,E=_.n,S=vP(y),D=S.c,N=S.n,M=new xr(19),B=0;B<v.length;++B)++M[v[B]&31];for(var B=0;B<D.length;++B)++M[D[B]&31];for(var G=VE(M,7),oe=G.t,L=G.l,R=19;R>4&&!oe[_P[R-1]];--R);var O=l+5<<3,$=sf(i,us)+sf(o,gm)+s,b=sf(i,d)+sf(o,y)+s+14+3*R+sf(M,oe)+2*M[16]+3*M[17]+7*M[18];if(c>=0&&O<=$&&O<=b)return SP(e,u,t.subarray(c,c+l));var A,I,F,j;if(ri(e,u,1+(b<$)),u+=2,b<$){A=af(d,p,0),I=d,F=af(y,T,0),j=y;var U=af(oe,L,0);ri(e,u,E-257),ri(e,u+5,N-1),ri(e,u+10,R-4),u+=14;for(var B=0;B<R;++B)ri(e,u+3*B,oe[_P[B]]);u+=3*R;for(var W=[v,D],Z=0;Z<2;++Z)for(var pe=W[Z],B=0;B<pe.length;++B){var V=pe[B]&31;ri(e,u,U[V]),u+=oe[V],V>15&&(ri(e,u,pe[B]>>5&127),u+=pe[B]>>12)}}else A=HX,I=us,F=jX,j=gm;for(var B=0;B<a;++B){var te=n[B];if(te>255){var V=te>>18&31;of(e,u,A[V+257]),u+=I[V+257],V>7&&(ri(e,u,te>>23&31),u+=QE[V]);var De=te&31;of(e,u,F[De]),u+=j[De],De>3&&(of(e,u,te>>5&8191),u+=e0[De])}else of(e,u,A[te]),u+=I[te]}return of(e,u,A[256]),u+I[256]},qX=new JE([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),kP=new en(0),WX=function(t,e,r,n,i,o){var s=o.z||t.length,a=new en(n+s+5*(1+Math.ceil(s/7e3))+i),c=a.subarray(n,a.length-i),l=o.l,u=(o.r||0)&7;if(e){u&&(c[0]=o.r>>3);for(var f=qX[e-1],d=f>>13,p=f&8191,m=(1<<r)-1,y=o.p||new xr(32768),T=o.h||new xr(m+1),_=Math.ceil(r/3),v=2*_,E=function(me){return(t[me]^t[me+1]<<_^t[me+2]<<v)&m},S=new JE(25e3),D=new xr(288),N=new xr(32),M=0,B=0,G=o.i||0,oe=0,L=o.w||0,R=0;G+2<s;++G){var O=E(G),$=G&32767,b=T[O];if(y[$]=b,T[O]=$,L<=G){var A=s-G;if((M>7e3||oe>24576)&&(A>423||!l)){u=RP(t,c,0,S,D,N,B,oe,R,G-R,u),oe=M=B=0,R=G;for(var I=0;I<286;++I)D[I]=0;for(var I=0;I<30;++I)N[I]=0}var F=2,j=0,U=p,W=$-b&32767;if(A>2&&O==E(G-W))for(var Z=Math.min(d,A)-1,pe=Math.min(32767,G),V=Math.min(258,A);W<=pe&&--U&&$!=b;){if(t[G+F]==t[G+F-W]){for(var te=0;te<V&&t[G+te]==t[G+te-W];++te);if(te>F){if(F=te,j=W,te>Z)break;for(var De=Math.min(W,te-2),Ne=0,I=0;I<De;++I){var Xe=G-W+I&32767,q=y[Xe],J=Xe-q&32767;J>Ne&&(Ne=J,b=Xe)}}}$=b,b=y[$],W+=$-b&32767}if(j){S[oe++]=268435456|YE[F]<<18|EP[j];var re=YE[F]&31,C=EP[j]&31;B+=QE[re]+e0[C],++D[257+re],++N[C],L=G+F,++M}else S[oe++]=t[G],++D[t[G]]}}for(G=Math.max(G,L);G<s;++G)S[oe++]=t[G],++D[t[G]];u=RP(t,c,l,S,D,N,B,oe,R,G-R,u),l||(o.r=u&7|c[u/8|0]<<3,u-=7,o.h=T,o.p=y,o.i=G,o.w=L)}else{for(var G=o.w||0;G<s+l;G+=65535){var be=G+65535;be>=s&&(c[u/8|0]=l,be=s),u=SP(c,u+1,t.subarray(G,be))}o.i=s}return zX(a,0,n+IP(u)+i)};var NP=function(){var t=1,e=0;return{p:function(r){for(var n=t,i=e,o=r.length|0,s=0;s!=o;){for(var a=Math.min(s+2655,o);s<a;++s)i+=n+=r[s];n=(n&65535)+15*(n>>16),i=(i&65535)+15*(i>>16)}t=n,e=i},d:function(){return t%=65521,e%=65521,(t&255)<<24|(t&65280)<<8|(e&255)<<8|e>>8}}},VX=function(t,e,r,n,i){if(!i&&(i={l:1},e.dictionary)){var o=e.dictionary.subarray(-32768),s=new en(o.length+t.length);s.set(o),s.set(t,o.length),t=s,i.w=o.length}return WX(t,e.level==null?6:e.level,e.mem==null?i.l?Math.ceil(Math.max(8,Math.min(13,Math.log(t.length)))*1.5):20:12+e.mem,r,n,i)};var CP=function(t,e,r){for(;r;++e)t[e]=r,r>>>=8};var YX=function(t,e){var r=e.level,n=r==0?0:r<6?1:r==9?3:2;if(t[0]=120,t[1]=n<<6|(e.dictionary&&32),t[1]|=31-(t[0]<<8|t[1])%31,e.dictionary){var i=NP();i.p(e.dictionary),CP(t,2,i.d())}};function PP(t,e){e||(e={});var r=NP();r.p(t);var n=VX(t,e,e.dictionary?6:2,4);return YX(n,e),CP(n,n.length-4,r.d()),n}var KX=typeof TextDecoder<"u"&&new TextDecoder,ZX=0;try{KX.decode(kP,{stream:!0}),ZX=1}catch{}var DP="https://free.nowline.io/open";function OP(t){let e=new TextEncoder().encode(t),r=PP(e),n=32768,i="";for(let o=0;o<r.length;o+=n)i+=String.fromCharCode(...r.subarray(o,o+n));return btoa(i).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function t0({source:t,sourceUrl:e,share:r}){if(r===!1||r==="none")return null;if(typeof r=="object")return e!==void 0&&LP(e)?r.remoteUrl.replace("{url}",encodeURIComponent(e)):r.textUrl.replace("{text}",OP(t));let n=r===!0?DP:r,i=new URL(n);return e!==void 0&&LP(e)?i.hash=`url=${encodeURIComponent(e)}`:i.hash=`text=${OP(t)}`,i.toString()}function LP(t){try{return new URL(t).protocol==="https:"}catch{return!1}}var $P=0;async function MP(t){let e=t.document??globalThis.document;if(!e)return{rendered:0,failed:0};let r=e.querySelectorAll(t.selector),n=0,i=0,o=++$P,s=t.share??!0,a=[],c=0;for(let l of Array.from(r)){let u=JX(l);if(!u)continue;let f=QX(l),d=`nl-r${o}-${c++}`,p={theme:t.theme,locale:t.locale,width:t.width,today:t.today,timezone:t.timezone,idPrefix:d},m=u.parentElement,y=u.nextSibling,_=l.getAttribute("data-nowline-source-url")??void 0??t.sourceUrl;a.push(mm(f,p).then(v=>{if(eH(u,v),n++,m!==null){let E=t0({source:f,sourceUrl:_,share:s});if(E!==null){let S=e.createElement("a");S.className="nowline-share",S.href=E,S.target="_blank",S.rel="noopener noreferrer",S.textContent="Share on Nowline",m.insertBefore(S,y)}}},v=>{i++,console.error("nowline: render failed",v)}))}return await Promise.all(a),{rendered:n,failed:i}}function JX(t){let e=t.parentElement;return e&&e.tagName.toUpperCase()==="PRE"?e:t}function QX(t){return t.textContent??""}function eH(t,e){t.outerHTML=e}function FP(){$P=0}function ym(){if(typeof globalThis>"u")return"light";let t=globalThis.matchMedia;if(typeof t!="function")return"light";try{return t("(prefers-color-scheme: dark)").matches?"dark":"light"}catch{return"light"}}function UP(t,e){return t&&t!=="auto"?L_(t)??e:e}var tH="0.0.0-dev.20260610044929.g419bf5e",rH="419bf5e",nH="pre code.language-nowline, code.language-nowline",BP={theme:"auto",startOnLoad:!0,selector:nH,systemTheme:ym(),share:!0},ot={...BP},r0=!1;function iH(t={}){ot={theme:t.theme??ot.theme,startOnLoad:t.startOnLoad??ot.startOnLoad,selector:t.selector??ot.selector,locale:t.locale??ot.locale,width:t.width??ot.width,today:t.today!==void 0?t.today:ot.today,timezone:t.timezone??ot.timezone,share:t.share??ot.share,sourceUrl:t.sourceUrl??ot.sourceUrl,systemTheme:ym()}}function GP(){return{theme:UP(ot.theme,ot.systemTheme),locale:ot.locale,width:ot.width,today:ot.today,timezone:ot.timezone}}async function oH(t,e={}){let r={...GP(),...e};return mm(t,r)}async function sH(t){return xP(t)}async function n0(t){let e={selector:t?.selector??ot.selector,theme:t?.theme??GP().theme,locale:t?.locale??ot.locale,width:t?.width??ot.width,today:t?.today!==void 0?t.today:ot.today,timezone:t?.timezone??ot.timezone,share:t?.share??ot.share,sourceUrl:t?.sourceUrl??ot.sourceUrl,document:t?.document};return MP(e)}var aH=n0;if(typeof document<"u"&&!r0){r0=!0;let t=()=>{ot.startOnLoad&&n0()};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t,{once:!0}):queueMicrotask(t)}function cH(){ot={...BP,systemTheme:ym()},r0=!1,TP(),FP()}return df(lH);})();
|
|
2663
|
+
`);)n--;for(;n>=0&&(e[n]===" "||e[n]===" ");)n--;return n<0||e[n]!=="\\"}},jk={parser:{TokenBuilder:()=>new I_({indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[["[","]"]]}),Lexer:t=>new xu(t),ParserConfig:()=>({maxLookahead:4}),ValueConverter:()=>new A_},validation:{NowlineValidator:()=>new ph}};function S_(t={}){let e=t.shared??Wo(gu(Tu),lk),r=Wo(mu({shared:e}),uk,jk);return e.ServiceRegistry.register(r),Xk(r),{shared:e,Nowline:r}}function zk(t){return t.endsWith(":")?t.slice(0,-1):t}function ae(t,e){return t.find(r=>zk(r.key)===e)?.value}function gt(t,e){let r=t.find(n=>zk(n.key)===e);return r?r.value!==void 0?[r.value]:[...r.values]:[]}function vt(t){if(!t)return null;let e=/^(\d{4})-(\d{2})-(\d{2})$/.exec(t);if(!e)return null;let r=new Date(Date.UTC(parseInt(e[1],10),parseInt(e[2],10)-1,parseInt(e[3],10)));return Number.isNaN(r.getTime())?null:r}var rc={mode:"business",daysPerWeek:5,daysPerMonth:22,daysPerQuarter:65,daysPerYear:260},bB={mode:"full",daysPerWeek:7,daysPerMonth:30,daysPerQuarter:91,daysPerYear:365};function qk(t,e){let n=t.roadmapDecl?.properties.find(i=>k_(i.key)==="calendar")?.value??"business";if(n==="business")return{...rc};if(n==="full")return{...bB};if(e){let i=(o,s)=>{let a=e.properties.find(l=>k_(l.key)===o),c=a?parseInt(a.value,10):NaN;return Number.isFinite(c)&&c>0?c:s};return{mode:"custom",daysPerWeek:i("days-per-week",rc.daysPerWeek),daysPerMonth:i("days-per-month",rc.daysPerMonth),daysPerQuarter:i("days-per-quarter",rc.daysPerQuarter),daysPerYear:i("days-per-year",rc.daysPerYear)}}return{...rc}}var hh=/^(\d+(?:\.\d+)?)([dwmqy])$/;function mh(t,e){let r=hh.exec(t);if(!r)return 0;let n=parseFloat(r[1]);switch(r[2]){case"d":return n;case"w":return n*e.daysPerWeek;case"m":return n*e.daysPerMonth;case"q":return n*e.daysPerQuarter;case"y":return n*e.daysPerYear;default:return 0}}function Wk(t,e,r){return t?hh.test(t)?mh(t,r):e.get(t)?.effortDays??0:0}function zi(t,e,r){let n=ae(t,"duration");if(n&&hh.test(n))return mh(n,r);let i=ae(t,"size"),o=i?e.get(i):void 0;if(!o)return 0;let s=oi(ae(t,"capacity"))??1;return o.effortDays/s}function Vk(t,e,r){let n=ae(t,"size"),i=n?e.get(n):void 0;if(i)return i.effortDays;let o=ae(t,"duration");if(o&&hh.test(o)){let s=oi(ae(t,"capacity"))??1;return mh(o,r)*s}return 0}function gh(t,e){let r=new Map;for(let[n,i]of t){let s=i.properties.find(c=>k_(c.key)==="effort")?.value;if(!s)continue;let a=mh(s,e);a<=0||r.set(n,{name:n,title:i.title||void 0,effortDays:a,effortLiteral:s})}return r}function k_(t){return t.endsWith(":")?t.slice(0,-1):t}function kr(t,e){return Math.round((e.getTime()-t.getTime())/864e5)}function Zo(t,e){let r=new Date(t.getTime());return r.setUTCDate(r.getUTCDate()+e),r}var yh=class{constructor(e){de(this,"items");de(this,"brackets");this.items=e.itemBars,this.brackets=e.brackets}hasObstacle(e,r,n){let i=Math.min(r,n),o=Math.max(r,n);for(let s of this.items)if(!(e<=s.x||e>=s.x+s.width)&&!(s.y+s.height<=i||s.y>=o))return!0;return!1}bracketsNear(e,r,n,i){let o=Math.min(r,n),s=Math.max(r,n),a=[];for(let c of this.brackets)Math.abs(c.x-e)>i||c.yBottom<=o||c.yTop>=s||a.push(c);return a}};function Yk(t,e){let r=[],n=[],i=s=>{if(s.kind==="item"){r.push(s.box);return}if(s.kind==="parallel"){if(s.style.bracket==="solid"||s.style.bracket==="dashed"){let l=s.box.y-12,u=s.box.y+s.box.height+12,f=s.box.x,d=s.box.x+s.box.width;n.push({x:f,yTop:l,yBottom:u}),n.push({x:d,yTop:l,yBottom:u}),n.push({x:f+4,yTop:l-1,yBottom:l+1}),n.push({x:f+4,yTop:u-1,yBottom:u+1}),n.push({x:d-4,yTop:l-1,yBottom:l+1}),n.push({x:d-4,yTop:u-1,yBottom:u+1})}for(let a of s.children)i(a);return}if(s.kind==="group"){!(s.style.bg!=="none"&&s.style.bg!=="#ffffff")&&s.style.bracket&&s.style.bracket!=="none"&&n.push({x:s.box.x,yTop:s.box.y,yBottom:s.box.y+s.box.height});for(let c of s.children)i(c);return}},o=s=>{for(let a of s.children)i(a);for(let a of s.nested)o(a)};for(let s of t)o(s);for(let s of e)for(let a of s.nestedSwimlanes)o(a);return{itemBars:r,brackets:n}}function AB(t,e){let{from:r,to:n}=t;if(Math.abs(r.y-n.y)<.5)return{x:(r.x+n.x)/2,underBar:!1,range:null};let i=Math.min(r.y,n.y),o=Math.max(r.y,n.y);if(r.x<=n.x){let a=r.x+6,c=n.x-6;if(a>c)return{x:n.x-6,underBar:!0,range:null};let l={minX:a,maxX:c},u=(r.x+n.x)/2,f=Math.max(a,Math.min(c,u));if(!e.hasObstacle(f,i,o))return{x:f,underBar:!1,range:l};let d=c-a;for(let p=1;p<=d;p++){let m=f-p;if(m>=a&&!e.hasObstacle(m,i,o))return{x:m,underBar:!1,range:l};let y=f+p;if(y<=c&&!e.hasObstacle(y,i,o))return{x:y,underBar:!1,range:l}}return{x:f,underBar:!0,range:l}}let s=[r.x+10,n.x-10];for(let a of s)if(a>0&&!e.hasObstacle(a,i,o))return{x:a,underBar:!1,range:null};return{x:r.x+10,underBar:!0,range:null}}function IB(t,e,r,n){let i=Math.min(r.from.y,r.to.y),o=Math.max(r.from.y,r.to.y),s=n.bracketsNear(t,i,o,4);if(s.length===0)return{x:t,forceUnderBar:!1};let a=s[0],c=Math.abs(s[0].x-t);for(let d=1;d<s.length;d++){let p=Math.abs(s[d].x-t);p<c&&(a=s[d],c=p)}let l=[a.x+4,a.x-4],u=4-.01;for(let d of l){if(e&&(d<e.minX||d>e.maxX))continue;let p=e?d:Math.max(Math.min(r.from.x,r.to.x)+1,Math.min(Math.max(r.from.x,r.to.x)-1,d));if(n.bracketsNear(p,i,o,u).length===0)return{x:p,forceUnderBar:!1}}return{x:e?Math.min(Math.max(t,e.minX),e.maxX):t,forceUnderBar:!0}}function SB(t){let e=[...t].sort((i,o)=>Math.abs(i.channelX-o.channelX)>=1?i.channelX-o.channelX:i.orderIndex-o.orderIndex),r=new Map,n=0;for(;n<e.length;){let i=n+1;for(;i<e.length&&Math.abs(e[i].channelX-e[n].channelX)<1;)i++;let s=[...e.slice(n,i)].sort((c,l)=>{let u=Math.min(c.req.from.y,c.req.to.y),f=Math.min(l.req.from.y,l.req.to.y);return Math.abs(u-f)>.5?u-f:c.orderIndex-l.orderIndex}),a=[];for(let c of s){let l=Math.min(c.req.from.y,c.req.to.y),u=Math.max(c.req.from.y,c.req.to.y),f=-1;for(let d=0;d<a.length;d++)if(a[d]<=l){f=d,a[d]=u;break}f===-1&&(f=a.length,a.push(u)),r.set(c.orderIndex,f)}n=i}return r}function kB(t){if(t===0||t>4)return 0;let e=Math.ceil(t/2);return(t%2===1?1:-1)*e*3}function NB(t){let e=t.from.x>=t.to.x?{x:t.to.x-1,y:t.from.y}:t.from;return{fromId:t.fromId,toId:t.toId,waypoints:[e,t.to],underBar:!1}}function Kk(t,e){let r=new Array(t.length),n=[];for(let o=0;o<t.length;o++){let s=t[o];if(s.isMarkerSource){r[o]=NB(s);continue}if(Math.abs(s.from.y-s.to.y)<.5&&s.to.x-s.from.x<20){r[o]={fromId:s.fromId,toId:s.toId,waypoints:[s.from,s.to],underBar:!1};continue}let{x:a,underBar:c,range:l}=AB(s,e),{x:u,forceUnderBar:f}=IB(a,l,s,e),d=c||f;n.push({req:s,channelX:u,underBar:d,orderIndex:o})}let i=SB(n);for(let o of n){let s=kB(i.get(o.orderIndex)??0),a=o.channelX+s;r[o.orderIndex]={fromId:o.req.fromId,toId:o.req.toId,waypoints:CB(o.req.from,o.req.to,a),underBar:o.underBar}}return r}function CB(t,e,r){return Math.abs(t.y-e.y)<.5?[t,e]:[t,{x:r,y:t.y},{x:r,y:e.y},e]}var Cu="en-US",PB={"en-US":{nowLabel:"now",quarterPrefix:"Q"},fr:{nowLabel:"maint.",quarterPrefix:"T"}};function Zk(t,e){return e??t??Cu}function xh(t){let e={};for(let r of OB(t)){let n=PB[r];if(n)for(let i of Object.keys(n))e[i]===void 0&&n[i]!==void 0&&(e[i]=n[i])}return e}function OB(t){let e=[],r=LB(t);for(;r.length>0;){e.includes(r)||e.push(r);let n=r.lastIndexOf("-");if(n<=0)break;r=r.slice(0,n)}return e.includes(Cu)||e.push(Cu),e}function LB(t){return t.split("-").map((r,n)=>n===0?r.toLowerCase():/^[a-zA-Z]{2}$/.test(r)?r.toUpperCase():r).join("-")}function tN(t){let{box:e,afterDate:r,beforeDate:n,hasLinkIcon:i,footnoteCount:o}=t;if(!r&&!n)return[];let s=[],a=12,c=e.y+5,l=e.width<40;if(r){let u=i?e.x+6+14+4:e.x+6,f=l?{x:e.x-6-a,y:c}:{x:u,y:c};s.push({side:"after",isoDate:r,glyphTopLeft:f,glyphSize:a,spilled:l})}if(n){let u=e.x+e.width,f;o>0?f=u-22-(o-1)*8-4:f=u-12-5-4;let d=f-a,p=l?{x:u+6,y:c}:{x:d,y:c};s.push({side:"before",isoDate:n,glyphTopLeft:p,glyphSize:a,spilled:l})}return s}function _h(t){let{box:e,afterDate:r,beforeDate:n}=t;if(!r&&!n)return[];let i=[],o=12,s=e.y+5;return r&&i.push({side:"after",isoDate:r,glyphTopLeft:{x:e.x+6,y:s},glyphSize:o,spilled:!1}),n&&i.push({side:"before",isoDate:n,glyphTopLeft:{x:e.x+e.width-6-o,y:s},glyphSize:o,spilled:!1}),i}function Vn(t){for(let e of t)if(/^\d{4}-\d{2}-\d{2}$/.test(e))return e}function Eh(t,e){return{x:t,y:e,height:0,maxX:t}}var oc=class{constructor(e){de(this,"rows");de(this,"opts");this.opts=e,this.rows=[{y:e.originY,height:e.minRowHeight,rightEdge:e.laneLeftX,spillX:e.laneLeftX,placedChildren:[]}]}placeItem(e){for(let n=0;n<this.rows.length;n+=1){let i=this.rows[n];if(!(e.desiredStart<i.rightEdge)&&!(e.desiredStart<i.spillX)&&!this.rowIntersectsCorridor(i,e))return{rowIndex:n,y:i.y}}let r=this.appendRow(Math.max(this.opts.minRowHeight,e.predictedHeight));return{rowIndex:this.rows.length-1,y:r.y}}placeBlock(){let e=this.rows[this.rows.length-1];if(e.rightEdge>this.opts.laneLeftX){let r=this.appendRow(this.opts.minRowHeight);return{rowIndex:this.rows.length-1,y:r.y}}return{rowIndex:this.rows.length-1,y:e.y}}commitItem(e){let r=this.rows[e.rowIndex],n=Math.max(e.placed.box.height,e.rowHeight??0);this.growRowHeight(e.rowIndex,n),r.rightEdge=e.logicalEnd,r.spillX=e.spillReservation??this.opts.laneLeftX,r.placedChildren.push(e.placed)}commitBlock(e){let r=this.rows[e.rowIndex];this.growRowHeight(e.rowIndex,e.blockHeight),r.rightEdge=e.blockEnd,r.spillX=this.opts.laneLeftX,r.placedChildren.push(e.placed)}usedHeight(){let e=this.rows[this.rows.length-1];return e.y+e.height-this.opts.originY}usedRightX(){let e=this.opts.laneLeftX;for(let r of this.rows)r.rightEdge>e&&(e=r.rightEdge),r.spillX>e&&(e=r.spillX);return e}rowIntersectsCorridor(e,r){return this.opts.slackCorridors.some(n=>n.y>=e.y&&n.y<e.y+e.height&&r.desiredStart<n.xEnd&&r.desiredEnd>n.xStart&&n.slackPredId!==r.childId)}appendRow(e){let r=this.rows[this.rows.length-1],n={y:r.y+r.height,height:e,rightEdge:this.opts.laneLeftX,spillX:this.opts.laneLeftX,placedChildren:[]};return this.rows.push(n),n}growRowHeight(e,r){let n=this.rows[e],i=r-n.height;if(!(i<=0)){n.height=r;for(let o=e+1;o<this.rows.length;o+=1){let s=this.rows[o];s.y+=i;for(let a of s.placedChildren)rN(a,i)}}}};function rN(t,e){if(t.box.y+=e,t.kind==="item"){for(let r of t.labelChips)r.box.y+=e;t.overflowBox&&(t.overflowBox.y+=e);return}for(let r of t.children)rN(r,e)}var nN={red:"#f87171",blue:"#60a5fa",yellow:"#facc15",green:"#34d399",orange:"#fb923c",purple:"#a78bfa",gray:"#94a3b8",navy:"#818cf8",white:"#e2e8f0"},Yn={bg:"none",fg:"#e2e8f0",text:"#e2e8f0",border:"solid",icon:"none",shadow:"none",font:"sans",weight:"normal",italic:!1,textSize:"md",padding:"sm",spacing:"sm",headerHeight:"sm",cornerRadius:"sm",bracket:"none",capacityIcon:"multiplier"},N_={name:"dark",surface:{page:"#0b1220",chart:"#111827",headerBox:"#1e293b"},entities:{roadmap:{...Yn,headerHeight:"md",padding:"md"},swimlane:{...Yn,fg:"#e2e8f0",text:"#e2e8f0",padding:"sm",spacing:"none",textSize:"sm"},item:{...Yn,bg:"#0f172a",fg:"#94a3b8",text:"#e2e8f0",shadow:"subtle",cornerRadius:"sm"},parallel:{...Yn,bracket:"none",padding:"xs"},group:{...Yn,bracket:"solid",padding:"xs",fg:"#94a3b8"},anchor:{...Yn,bg:"#0b1220",fg:"#cbd5e1",text:"#cbd5e1",cornerRadius:"sm"},milestone:{...Yn,bg:"#e2e8f0",fg:"#e2e8f0",text:"#0b1220",border:"solid"},footnote:{...Yn,bg:"none",fg:"#94a3b8",text:"#e2e8f0",textSize:"sm"},label:{...Yn,bg:"#1e293b",fg:"#94a3b8",text:"#e2e8f0",textSize:"xs",padding:"xs",cornerRadius:"full"}},swimlane:{bandEven:"#111827",bandOdd:"#0f172a",separator:"#1f2937",frameTabText:"#e2e8f0",frameTabMuted:"#94a3b8",border:"#334155",tabFill:"#1e293b",tabStroke:"#475569",tabText:"#e2e8f0",ownerText:"#94a3b8",footnoteIndicator:"#f87171",rowTintEven:"#0f172a",rowTintOdd:"#1e293b",utilizationOk:"#34d399",utilizationWarn:"#fbbf24",utilizationOver:"#f87171"},timeline:{gridLine:"#475569",minorGridLine:"#334155",tickMark:"#334155",labelText:"#cbd5e1",panelFill:"#0f172a",border:"#334155"},header:{cardBorder:"#475569",author:"#94a3b8"},item:{overflowX:"#f87171",linkIconFg:"#94a3b8",overflowTailFill:"#7f1d1d",overflowTailStroke:"#f87171",overflowCaption:"#fecaca"},parallel:{bracketStroke:"#cbd5e1"},anchorDiamond:{fill:"#0f172a",stroke:"#cbd5e1",label:"#cbd5e1",cutLine:"#94a3b8"},milestoneDiamond:{fill:"#e2e8f0",label:"#e2e8f0",cutLineNormal:"#a5b4fc",cutLineOverrun:"#ef4444",slack:"#cbd5e1"},footnotePanel:{fill:"#0f172a",border:"#334155",header:"#e2e8f0",title:"#e2e8f0",description:"#94a3b8",number:"#f87171"},nowline:{stroke:"#f87171",labelText:"#0b1220",labelBg:"#f87171"},milestone:{dashedInk:"#a5b4fc",overrun:"#ef4444"},anchor:{predecessorLine:"#94a3b8"},dependency:{edgeStroke:"#cbd5e1",overflowStroke:"#ef5350"},footnote:{indicatorText:"#f87171",descriptionMuted:"#94a3b8"},includeRegion:{border:"#475569",label:"#cbd5e1",badge:"#94a3b8",fill:"#0b1220",tabFill:"#111827",tabStroke:"#475569",tabText:"#e2e8f0",badgeFill:"#1e293b",badgeStroke:"#475569",badgeText:"#94a3b8"},arrowhead:{neutral:"#94a3b8",light:"#64748b",dark:"#e2e8f0"},status:{done:"#34d399",inProgress:"#60a5fa",atRisk:"#facc15",blocked:"#ef4444",planned:"#94a3b8",neutral:"#94a3b8"},statusDot:{onLight:{done:"#065f46",inProgress:"#1e3a8a",atRisk:"#92400e",blocked:"#991b1b",planned:"#334155",neutral:"#334155"},onDark:{done:"#d1fae5",inProgress:"#dbeafe",atRisk:"#fef3c7",blocked:"#fee2e2",planned:"#e2e8f0",neutral:"#e2e8f0"}},attribution:{mark:"#cbd5e1",link:"#f87171"},diagnostic:{overlayBg:"#7f1d1d",errorText:"#fecaca"}};var iN={red:"#4a4a4a",blue:"#6b6b6b",green:"#8a8a8a",yellow:"#c8c8c8",orange:"#5c5c5c",purple:"#3a3a3a",gray:"#9e9e9e",navy:"#2a2a2a",white:"#ffffff"},Kn={bg:"none",fg:"#1a1a1a",text:"#1a1a1a",border:"solid",icon:"none",shadow:"none",font:"sans",weight:"normal",italic:!1,textSize:"md",padding:"sm",spacing:"sm",headerHeight:"sm",cornerRadius:"sm",bracket:"none",capacityIcon:"multiplier"},C_={name:"grayscale",surface:{page:"#f5f5f5",chart:"#ffffff",headerBox:"#ffffff"},entities:{roadmap:{...Kn,headerHeight:"md",padding:"md"},swimlane:{...Kn,fg:"#3a3a3a",text:"#3a3a3a",padding:"sm",spacing:"none",textSize:"sm"},item:{...Kn,bg:"#ffffff",fg:"#9e9e9e",text:"#1a1a1a",shadow:"subtle",cornerRadius:"sm"},parallel:{...Kn,bracket:"none",padding:"xs"},group:{...Kn,bracket:"solid",padding:"xs",fg:"#595959"},anchor:{...Kn,bg:"#1a1a1a",fg:"#1a1a1a",text:"#1a1a1a",cornerRadius:"sm"},milestone:{...Kn,bg:"#2a2a2a",fg:"#2a2a2a",text:"#ffffff",border:"solid"},footnote:{...Kn,bg:"none",fg:"#595959",text:"#595959",textSize:"sm"},label:{...Kn,bg:"#e8e8e8",fg:"#595959",text:"#595959",textSize:"xs",padding:"xs",cornerRadius:"full"}},swimlane:{bandEven:"#ffffff",bandOdd:"#f5f5f5",separator:"#d4d4d4",frameTabText:"#3a3a3a",frameTabMuted:"#737373",border:"#d4d4d4",tabFill:"#e8e8e8",tabStroke:"#bdbdbd",tabText:"#3a3a3a",ownerText:"#737373",footnoteIndicator:"#4a4a4a",rowTintEven:"#ffffff",rowTintOdd:"#f5f5f5",utilizationOk:"#8a8a8a",utilizationWarn:"#595959",utilizationOver:"#1a1a1a"},timeline:{gridLine:"#bdbdbd",minorGridLine:"#d4d4d4",tickMark:"#bdbdbd",labelText:"#737373",panelFill:"#ffffff",border:"#d4d4d4"},header:{cardBorder:"#d4d4d4",author:"#737373"},item:{overflowX:"#1a1a1a",linkIconFg:"#1a1a1a",overflowTailFill:"#e8e8e8",overflowTailStroke:"#4a4a4a",overflowCaption:"#3a3a3a"},parallel:{bracketStroke:"#3a3a3a"},anchorDiamond:{fill:"#ffffff",stroke:"#3a3a3a",label:"#3a3a3a",cutLine:"#737373"},milestoneDiamond:{fill:"#1a1a1a",label:"#1a1a1a",cutLineNormal:"#2a2a2a",cutLineOverrun:"#4a4a4a",slack:"#1a1a1a"},footnotePanel:{fill:"#ffffff",border:"#d4d4d4",header:"#1a1a1a",title:"#1a1a1a",description:"#737373",number:"#4a4a4a"},nowline:{stroke:"#1a1a1a",labelText:"#ffffff",labelBg:"#1a1a1a"},milestone:{dashedInk:"#9e9e9e",overrun:"#4a4a4a"},anchor:{predecessorLine:"#9e9e9e"},dependency:{edgeStroke:"#595959",overflowStroke:"#1a1a1a"},footnote:{indicatorText:"#4a4a4a",descriptionMuted:"#737373"},includeRegion:{border:"#9e9e9e",label:"#3a3a3a",badge:"#737373",fill:"#f5f5f5",tabFill:"#ffffff",tabStroke:"#bdbdbd",tabText:"#1a1a1a",badgeFill:"#e8e8e8",badgeStroke:"#bdbdbd",badgeText:"#595959"},arrowhead:{neutral:"#595959",light:"#9e9e9e",dark:"#1a1a1a"},status:{done:"#8a8a8a",inProgress:"#595959",atRisk:"#737373",blocked:"#3a3a3a",planned:"#bdbdbd",neutral:"#bdbdbd"},statusDot:{onLight:{done:"#3a3a3a",inProgress:"#2a2a2a",atRisk:"#4a4a4a",blocked:"#1a1a1a",planned:"#595959",neutral:"#595959"},onDark:{done:"#d4d4d4",inProgress:"#e8e8e8",atRisk:"#c8c8c8",blocked:"#f0f0f0",planned:"#d4d4d4",neutral:"#d4d4d4"}},attribution:{mark:"#9e9e9e",link:"#1a1a1a"},diagnostic:{overlayBg:"#e8e8e8",errorText:"#1a1a1a"}};var oN={red:"#e53935",blue:"#1e88e5",yellow:"#fdd835",green:"#43a047",orange:"#fb8c00",purple:"#8e24aa",gray:"#9e9e9e",navy:"#0d47a1",white:"#ffffff"},Zn={bg:"none",fg:"#0f172a",text:"#0f172a",border:"solid",icon:"none",shadow:"none",font:"sans",weight:"normal",italic:!1,textSize:"md",padding:"sm",spacing:"sm",headerHeight:"sm",cornerRadius:"sm",bracket:"none",capacityIcon:"multiplier"},P_={name:"light",surface:{page:"#f8fafc",chart:"#ffffff",headerBox:"#ffffff"},entities:{roadmap:{...Zn,headerHeight:"md",padding:"md"},swimlane:{...Zn,fg:"#334155",text:"#334155",padding:"sm",spacing:"none",textSize:"sm"},item:{...Zn,bg:"#ffffff",fg:"#94a3b8",text:"#0f172a",shadow:"subtle",cornerRadius:"sm"},parallel:{...Zn,bracket:"none",padding:"xs"},group:{...Zn,bracket:"solid",padding:"xs",fg:"#475569"},anchor:{...Zn,bg:"#0f172a",fg:"#0f172a",text:"#0f172a",cornerRadius:"sm"},milestone:{...Zn,bg:"#312e81",fg:"#312e81",text:"#ffffff",border:"solid"},footnote:{...Zn,bg:"none",fg:"#475569",text:"#475569",textSize:"sm"},label:{...Zn,bg:"#f1f5f9",fg:"#475569",text:"#475569",textSize:"xs",padding:"xs",cornerRadius:"full"}},swimlane:{bandEven:"#ffffff",bandOdd:"#f8fafc",separator:"#e2e8f0",frameTabText:"#334155",frameTabMuted:"#64748b",border:"#e2e8f0",tabFill:"#f1f5f9",tabStroke:"#cbd5e1",tabText:"#334155",ownerText:"#64748b",footnoteIndicator:"#dc2626",rowTintEven:"#ffffff",rowTintOdd:"#f8fafc",utilizationOk:"#10b981",utilizationWarn:"#f59e0b",utilizationOver:"#ef4444"},timeline:{gridLine:"#cbd5e1",minorGridLine:"#e2e8f0",tickMark:"#cbd5e1",labelText:"#64748b",panelFill:"#ffffff",border:"#e2e8f0"},header:{cardBorder:"#e2e8f0",author:"#64748b"},item:{overflowX:"#dc2626",linkIconFg:"#0f172a",overflowTailFill:"#fee2e2",overflowTailStroke:"#ef4444",overflowCaption:"#b91c1c"},parallel:{bracketStroke:"#334155"},anchorDiamond:{fill:"#ffffff",stroke:"#334155",label:"#334155",cutLine:"#64748b"},milestoneDiamond:{fill:"#0f172a",label:"#0f172a",cutLineNormal:"#1e1b4b",cutLineOverrun:"#b91c1c",slack:"#0f172a"},footnotePanel:{fill:"#ffffff",border:"#e2e8f0",header:"#0f172a",title:"#0f172a",description:"#64748b",number:"#dc2626"},nowline:{stroke:"#e53e3e",labelText:"#ffffff",labelBg:"#e53e3e"},milestone:{dashedInk:"#94a3b8",overrun:"#ef4444"},anchor:{predecessorLine:"#94a3b8"},dependency:{edgeStroke:"#475569",overflowStroke:"#d32f2f"},footnote:{indicatorText:"#e53e3e",descriptionMuted:"#64748b"},includeRegion:{border:"#94a3b8",label:"#334155",badge:"#64748b",fill:"#f8fafc",tabFill:"#ffffff",tabStroke:"#cbd5e1",tabText:"#0f172a",badgeFill:"#e2e8f0",badgeStroke:"#cbd5e1",badgeText:"#475569"},arrowhead:{neutral:"#475569",light:"#94a3b8",dark:"#0f172a"},status:{done:"#10b981",inProgress:"#3b82f6",atRisk:"#f59e0b",blocked:"#ef4444",planned:"#94a3b8",neutral:"#94a3b8"},statusDot:{onLight:{done:"#065f46",inProgress:"#1e3a8a",atRisk:"#92400e",blocked:"#991b1b",planned:"#334155",neutral:"#334155"},onDark:{done:"#d1fae5",inProgress:"#dbeafe",atRisk:"#fef3c7",blocked:"#fee2e2",planned:"#e2e8f0",neutral:"#e2e8f0"}},attribution:{mark:"#94a3b8",link:"#e53e3e"},diagnostic:{overlayBg:"#fee2e2",errorText:"#991b1b"}};var O_={light:P_,dark:N_,grayscale:C_};var FB={greyscale:"grayscale"};function L_(t){let e=t.toLowerCase(),r=FB[e]??e;if(r==="light"||r==="dark"||r==="grayscale")return r}var UB={grey:"gray",violet:"purple"};function Jo(t,e){if(t==="none")return"none";if(t.startsWith("#"))return t;let r=e.name==="dark"?nN:e.name==="grayscale"?iN:oN,n=UB[t]??t,i=r[n];return typeof i=="string"?i:t}function sc(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}function BB(t,e){return{bg:Jo(t.bg,e),fg:Jo(t.fg,e),text:Jo(t.text,e),border:t.border,icon:t.icon,shadow:t.shadow,font:t.font,weight:t.weight,italic:t.italic,textSize:t.textSize,padding:t.padding,spacing:t.spacing,headerHeight:t.headerHeight,cornerRadius:t.cornerRadius,bracket:t.bracket,headerPosition:"beside",capacityIcon:t.capacityIcon,timelinePosition:"top",minorGrid:!1}}function D_(t,e,r,n){switch(e){case"bg":t.bg=Jo(r,n);break;case"fg":t.fg=Jo(r,n);break;case"text":t.text=Jo(r,n);break;case"border":(r==="solid"||r==="dashed"||r==="dotted")&&(t.border=r);break;case"icon":t.icon=r;break;case"shadow":(r==="none"||r==="subtle"||r==="soft"||r==="hard")&&(t.shadow=r);break;case"font":(r==="sans"||r==="serif"||r==="mono")&&(t.font=r);break;case"weight":(r==="thin"||r==="light"||r==="normal"||r==="bold")&&(t.weight=r);break;case"italic":t.italic=r==="true";break;case"text-size":t.textSize=Lu(r,"xl");break;case"padding":t.padding=Lu(r,"xl");break;case"spacing":t.spacing=Lu(r,"xl");break;case"header-height":t.headerHeight=Lu(r,"xl");break;case"corner-radius":t.cornerRadius=Lu(r,"full");break;case"bracket":(r==="none"||r==="solid"||r==="dashed")&&(t.bracket=r);break;case"header-position":(r==="beside"||r==="above")&&(t.headerPosition=r);break;case"capacity-icon":t.capacityIcon=r;break;case"timeline-position":(r==="top"||r==="bottom"||r==="both")&&(t.timelinePosition=r);break;case"minor-grid":t.minorGrid=r==="true";break;default:break}}function Lu(t,e){let r=["none","xs","sm","md","lg","xl","full"],n=r.indexOf(e),i=r.indexOf(t);return i<0?"md":i>n?r[n]:r[i]}function sN(t,e,r){if(e)for(let n of e.properties)D_(t,sc(n),n.value,r)}function GB(t,e,r){for(let n of e){let i=sc(n);n.value!==void 0&&D_(t,i,n.value,r)}}function XB(t,e,r){let n=e.find(o=>sc(o)==="labels");if(!n)return;let i=n.value?[n.value]:n.values;for(let o of i){let s=r.labels.get(o);if(!s)continue;let a=s.properties.find(c=>sc(c)==="style");a?.value&&sN(t,r.styles.get(a.value),r.theme)}}function HB(t,e,r){let n=e.find(i=>sc(i)==="style");n?.value&&sN(t,r.styles.get(n.value),r.theme)}function yt(t,e,r){let n=r.theme.entities[t],i=BB(n,r.theme),o=r.defaults.get(t);if(o)for(let s of o.properties)s.value!==void 0&&D_(i,sc(s),s.value,r.theme);return XB(i,e,r),HB(i,e,r),GB(i,e,r.theme),i}function aN(t,e){return yt("label",t.properties,e)}var cN={none:0,xs:2,sm:4,md:8,lg:16,xl:24},lN={none:0,xs:4,sm:8,md:12,lg:20,xl:32};var ac={none:0,xs:10,sm:12,md:14,lg:18,xl:24},vh={none:0,xs:2,sm:4,md:8,lg:12,xl:20,full:9999};var Nr=8,_n=4,Du=24,Rh=15,$u=8,wh=22,bh=15,Mu=16,Ah=6,$_=4,M_=11,F_=9,U_=5.5,B_=4,cc=12,Ih="6 4",G_=36,qi=16,X_=qi/2,Fu=10,H_=qi-4,lc=6,Sh=2.25,Yr=6,Kr=2*Yr,uN=5,fN=120,j_=240,kh=72,Uu=28,Zr=16,z_=22,Bu=18,Nh="Powered by",q_="https://nowline.io",Gu=.22,Wi=40,Ch=32,dN=.58,jB=Nh.length*Ch*dN,zB=10,Xu=jB+zB,W_=Xu+74,V_=5,Ph=Xu+81,qB=3*Wi*dN,WB=Ph+qB,VB=12+Wi,Y_=WB*Gu,pN=VB*Gu,K_=4;var Z_={sans:'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',serif:'Georgia, "Times New Roman", serif',mono:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"},hN={days:7,weeks:4,months:3,quarters:4,years:5};var Oh=class{constructor(e,r){de(this,"node");de(this,"deps");this.node=e,this.deps=r}get id(){return this.node.name??""}place(e,r){let{node:n}=this,{deps:i}=this,o=yt("group",n.properties,r.styleCtx),s=e.x,a=n.title??n.name,c=r.currentFlowKey;r.nextGroupId+=1,r.currentFlowKey=`${c}/group:${n.name??`group-${r.nextGroupId}`}`;let l=o.bg!=="none"&&o.bg!=="#ffffff"&&!!a,u=l?Mu+$_:0,f=l?B_:0,d=!l&&a?cc:0,p=e.y+d,m=r.bandScale.step(),y=s,T=new oc({laneLeftX:y,originY:p+u,minRowHeight:m,slackCorridors:r.slackCorridors}),_=y,v=[];for(let G of n.content){if(G.$type==="DescriptionDirective")continue;if(!gr(G)){let te=G.properties??[],De=i.resolveChildStart(te,_,y,r),{rowIndex:Ne,y:Xe}=T.placeBlock(),q=i.newCursor(De,Xe),J=i.sequenceOne(G,q,r);v.push(J);let re=J.box.x+J.box.width,C=Math.max(m,q.height);T.commitBlock({rowIndex:Ne,placed:J,blockHeight:C,blockEnd:re}),_=Math.max(_,re);continue}let oe=G.properties,L=i.resolveChildStart(oe,_,y,r),R=zi(oe,r.sizes,r.cal),O=Math.max(Nr,R*r.timeline.pixelsPerDay),$=L+O,b=G.name??"",A=i.predictItemChipExtraHeight(G,r),I=m+A,{rowIndex:F,y:j}=T.placeItem({childId:b,desiredStart:L,desiredEnd:$,predictedHeight:I}),U=i.newCursor(L,j),W=i.sequenceItem(G,U,r);v.push(W);let Z=W.box.x+W.box.width+Yr;_=Math.max(_,Z);let pe=null;(W.textSpills||W.chipsOutside||W.dotSpills||W.iconSpills||W.footnoteSpills)&&(pe=Math.max(W.decorationsRightX,W.chipsOutside?W.chipsRightX:0)+6),T.commitItem({rowIndex:F,placed:W,logicalEnd:Z,spillReservation:pe,rowHeight:I})}let E=Math.max(m,T.usedHeight()),S=Math.max(_,T.usedRightX()),D={x:s,y:p,width:S-s,height:u+E+f};e.x=_+$u,e.maxX=Math.max(e.maxX,e.x);let N=r.bandScale.step()-r.bandScale.bandwidth();e.height=Math.max(e.height,d+D.height+N);let M=n.name;M&&(r.entityLeftEdges.set(M,D.x),r.entityRightEdges.set(M,D.x+D.width)),r.currentFlowKey=c;let B=_h({box:D,afterDate:Vn(gt(n.properties,"after")),beforeDate:Vn(gt(n.properties,"before"))});return{kind:"group",id:M,title:a,box:D,children:v,style:o,inlineDatePins:B.length>0?B:void 0}}};var J_=12,YB=4,KB=13,ZB=11;function mN(t,e){return t.length*e*.58}var Lh=class{constructor(e){de(this,"input");this.input=e}get id(){return this.input.id}measure(e){return{width:Math.max(Nr,this.input.logicalRightX-this.input.logicalLeftX),height:e.bands.bandwidth()}}place(e,r){let n=this.measure(r),i=Math.max(Nr,n.width-2*Yr),o=e.x+Yr,s={x:o,y:e.y,width:i,height:n.height},a=this.input.hasLinkIcon?20+JB-J_:0,c=J_+Math.max(0,a),l=Math.max(0,i-c-J_),u=this.input.title,f=u?mN(u,KB):0,d=this.input.metaText?mN(this.input.metaText,ZB):0,p=this.input.metaTrailingWidth??0,m=d+p,y=this.input.metaText!==void 0||p>0,T=u.length>0&&f>l||y&&m>l,_=T?o+i+YB:o+c;return{id:this.input.id,box:s,textX:_,textSpills:T}}},JB=4;var Dh=class{constructor(e,r){de(this,"node");de(this,"deps");this.node=e,this.deps=r}get id(){return this.node.name??""}place(e,r){let{node:n}=this,{deps:i}=this,o=yt("parallel",n.properties,r.styleCtx),s=e.x,a=e.y,c=[],l=s,u=0,f=r.currentFlowKey;r.nextParallelId+=1;let d=n.name??`parallel-${r.nextParallelId}`,p=0;for(let _ of n.content){if(_.$type==="DescriptionDirective")continue;r.currentFlowKey=`${f}/par:${d}#${p}`;let v=i.newCursor(s,a+u),E=i.sequenceOne(_,v,r);c.push(E),u+=Math.max(r.bandScale.step(),v.height),l=Math.max(l,v.maxX),p++}r.currentFlowKey=f;let m={x:s,y:a,width:l-s,height:u};e.x=l+$u,e.maxX=Math.max(e.maxX,e.x),e.height=Math.max(e.height,u);let y=n.name;y&&(r.entityLeftEdges.set(y,m.x),r.entityRightEdges.set(y,m.x+m.width));let T=_h({box:m,afterDate:Vn(gt(n.properties,"after")),beforeDate:Vn(gt(n.properties,"before"))});return{kind:"parallel",id:y,title:n.title??n.name,box:m,children:c,style:o,inlineDatePins:T.length>0?T:void 0}}};function Qo(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function Q_(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function es(t){let e,r,n;t.length!==2?(e=Qo,r=(a,c)=>Qo(t(a),c),n=(a,c)=>t(a)-c):(e=t===Qo||t===Q_?t:QB,r=t,n=t);function i(a,c,l=0,u=a.length){if(l<u){if(e(c,c)!==0)return u;do{let f=l+u>>>1;r(a[f],c)<0?l=f+1:u=f}while(l<u)}return l}function o(a,c,l=0,u=a.length){if(l<u){if(e(c,c)!==0)return u;do{let f=l+u>>>1;r(a[f],c)<=0?l=f+1:u=f}while(l<u)}return l}function s(a,c,l=0,u=a.length){let f=i(a,c,l,u-1);return f>l&&n(a[f-1],c)>-n(a[f],c)?f-1:f}return{left:i,center:s,right:o}}function QB(){return 0}function eE(t){return t===null?NaN:+t}var gN=es(Qo),yN=gN.right,e4=gN.left,t4=es(eE).center,tE=yN;var uc=class extends Map{constructor(e,r=i4){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(let[n,i]of e)this.set(n,i)}get(e){return super.get(xN(this,e))}has(e){return super.has(xN(this,e))}set(e,r){return super.set(r4(this,e),r)}delete(e){return super.delete(n4(this,e))}};function xN({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):r}function r4({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function n4({_intern:t,_key:e},r){let n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function i4(t){return t!==null&&typeof t=="object"?t.valueOf():t}var o4=Math.sqrt(50),s4=Math.sqrt(10),a4=Math.sqrt(2);function TN(t,e,r){let n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),o=n/Math.pow(10,i),s=o>=o4?10:o>=s4?5:o>=a4?2:1,a,c,l;return i<0?(l=Math.pow(10,-i)/s,a=Math.round(t*l),c=Math.round(e*l),a/l<t&&++a,c/l>e&&--c,l=-l):(l=Math.pow(10,i)*s,a=Math.round(t/l),c=Math.round(e/l),a*l<t&&++a,c*l>e&&--c),c<a&&.5<=r&&r<2?TN(t,e,r*2):[a,c,l]}function rE(t,e,r){return e=+e,t=+t,r=+r,TN(t,e,r)[2]}function $h(t,e,r){e=+e,t=+t,r=+r;let n=e<t,i=n?rE(e,t,r):rE(t,e,r);return(n?-1:1)*(i<0?1/-i:i)}function Mh(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,o=new Array(i);++n<i;)o[n]=t+n*r;return o}function fc(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}var _N=Symbol("implicit");function Fh(){var t=new uc,e=[],r=[],n=_N;function i(o){let s=t.get(o);if(s===void 0){if(n!==_N)return n;t.set(o,s=e.push(o)-1)}return r[s%r.length]}return i.domain=function(o){if(!arguments.length)return e.slice();e=[],t=new uc;for(let s of o)t.has(s)||t.set(s,e.push(s)-1);return i},i.range=function(o){return arguments.length?(r=Array.from(o),i):r.slice()},i.unknown=function(o){return arguments.length?(n=o,i):n},i.copy=function(){return Fh(e,r).unknown(n)},fc.apply(i,arguments),i}function Hu(){var t=Fh().unknown(void 0),e=t.domain,r=t.range,n=0,i=1,o,s,a=!1,c=0,l=0,u=.5;delete t.unknown;function f(){var d=e().length,p=i<n,m=p?i:n,y=p?n:i;o=(y-m)/Math.max(1,d-c+l*2),a&&(o=Math.floor(o)),m+=(y-m-o*(d-c))*u,s=o*(1-c),a&&(m=Math.round(m),s=Math.round(s));var T=Mh(d).map(function(_){return m+o*_});return r(p?T.reverse():T)}return t.domain=function(d){return arguments.length?(e(d),f()):e()},t.range=function(d){return arguments.length?([n,i]=d,n=+n,i=+i,f()):[n,i]},t.rangeRound=function(d){return[n,i]=d,n=+n,i=+i,a=!0,f()},t.bandwidth=function(){return s},t.step=function(){return o},t.round=function(d){return arguments.length?(a=!!d,f()):a},t.padding=function(d){return arguments.length?(c=Math.min(1,l=+d),f()):c},t.paddingInner=function(d){return arguments.length?(c=Math.min(1,d),f()):c},t.paddingOuter=function(d){return arguments.length?(l=+d,f()):l},t.align=function(d){return arguments.length?(u=Math.max(0,Math.min(1,d)),f()):u},t.copy=function(){return Hu(e(),[n,i]).round(a).paddingInner(c).paddingOuter(l).align(u)},fc.apply(f(),arguments)}function Uh(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function nE(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function qu(){}var ju=.7,Xh=1/ju,dc="\\s*([+-]?\\d+)\\s*",zu="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",En="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",c4=/^#([0-9a-f]{3,8})$/,l4=new RegExp(`^rgb\\(${dc},${dc},${dc}\\)$`),u4=new RegExp(`^rgb\\(${En},${En},${En}\\)$`),f4=new RegExp(`^rgba\\(${dc},${dc},${dc},${zu}\\)$`),d4=new RegExp(`^rgba\\(${En},${En},${En},${zu}\\)$`),p4=new RegExp(`^hsl\\(${zu},${En},${En}\\)$`),h4=new RegExp(`^hsla\\(${zu},${En},${En},${zu}\\)$`),EN={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Uh(qu,Vi,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:vN,formatHex:vN,formatHex8:m4,formatHsl:g4,formatRgb:RN,toString:RN});function vN(){return this.rgb().formatHex()}function m4(){return this.rgb().formatHex8()}function g4(){return kN(this).formatHsl()}function RN(){return this.rgb().formatRgb()}function Vi(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=c4.exec(t))?(r=e[1].length,e=parseInt(e[1],16),r===6?wN(e):r===3?new ar(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?Bh(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?Bh(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=l4.exec(t))?new ar(e[1],e[2],e[3],1):(e=u4.exec(t))?new ar(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=f4.exec(t))?Bh(e[1],e[2],e[3],e[4]):(e=d4.exec(t))?Bh(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=p4.exec(t))?IN(e[1],e[2]/100,e[3]/100,1):(e=h4.exec(t))?IN(e[1],e[2]/100,e[3]/100,e[4]):EN.hasOwnProperty(t)?wN(EN[t]):t==="transparent"?new ar(NaN,NaN,NaN,0):null}function wN(t){return new ar(t>>16&255,t>>8&255,t&255,1)}function Bh(t,e,r,n){return n<=0&&(t=e=r=NaN),new ar(t,e,r,n)}function y4(t){return t instanceof qu||(t=Vi(t)),t?(t=t.rgb(),new ar(t.r,t.g,t.b,t.opacity)):new ar}function pc(t,e,r,n){return arguments.length===1?y4(t):new ar(t,e,r,n??1)}function ar(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}Uh(ar,pc,nE(qu,{brighter(t){return t=t==null?Xh:Math.pow(Xh,t),new ar(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?ju:Math.pow(ju,t),new ar(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new ar(rs(this.r),rs(this.g),rs(this.b),Hh(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:bN,formatHex:bN,formatHex8:x4,formatRgb:AN,toString:AN}));function bN(){return`#${ts(this.r)}${ts(this.g)}${ts(this.b)}`}function x4(){return`#${ts(this.r)}${ts(this.g)}${ts(this.b)}${ts((isNaN(this.opacity)?1:this.opacity)*255)}`}function AN(){let t=Hh(this.opacity);return`${t===1?"rgb(":"rgba("}${rs(this.r)}, ${rs(this.g)}, ${rs(this.b)}${t===1?")":`, ${t})`}`}function Hh(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function rs(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function ts(t){return t=rs(t),(t<16?"0":"")+t.toString(16)}function IN(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new Jr(t,e,r,n)}function kN(t){if(t instanceof Jr)return new Jr(t.h,t.s,t.l,t.opacity);if(t instanceof qu||(t=Vi(t)),!t)return new Jr;if(t instanceof Jr)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),o=Math.max(e,r,n),s=NaN,a=o-i,c=(o+i)/2;return a?(e===o?s=(r-n)/a+(r<n)*6:r===o?s=(n-e)/a+2:s=(e-r)/a+4,a/=c<.5?o+i:2-o-i,s*=60):a=c>0&&c<1?0:s,new Jr(s,a,c,t.opacity)}function NN(t,e,r,n){return arguments.length===1?kN(t):new Jr(t,e,r,n??1)}function Jr(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}Uh(Jr,NN,nE(qu,{brighter(t){return t=t==null?Xh:Math.pow(Xh,t),new Jr(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?ju:Math.pow(ju,t),new Jr(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new ar(iE(t>=240?t-240:t+120,i,n),iE(t,i,n),iE(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new Jr(SN(this.h),Gh(this.s),Gh(this.l),Hh(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=Hh(this.opacity);return`${t===1?"hsl(":"hsla("}${SN(this.h)}, ${Gh(this.s)*100}%, ${Gh(this.l)*100}%${t===1?")":`, ${t})`}`}}));function SN(t){return t=(t||0)%360,t<0?t+360:t}function Gh(t){return Math.max(0,Math.min(1,t||0))}function iE(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}function oE(t,e,r,n,i){var o=t*t,s=o*t;return((1-3*t+3*o-s)*e+(4-6*o+3*s)*r+(1+3*t+3*o-3*s)*n+s*i)/6}function CN(t){var e=t.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,e-1):Math.floor(r*e),i=t[n],o=t[n+1],s=n>0?t[n-1]:2*i-o,a=n<e-1?t[n+2]:2*o-i;return oE((r-n/e)*e,s,i,o,a)}}function PN(t){var e=t.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*e),i=t[(n+e-1)%e],o=t[n%e],s=t[(n+1)%e],a=t[(n+2)%e];return oE((r-n/e)*e,i,o,s,a)}}var Wu=t=>()=>t;function T4(t,e){return function(r){return t+r*e}}function _4(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function ON(t){return(t=+t)==1?jh:function(e,r){return r-e?_4(e,r,t):Wu(isNaN(e)?r:e)}}function jh(t,e){var r=e-t;return r?T4(t,r):Wu(isNaN(t)?e:t)}var sE=(function t(e){var r=ON(e);function n(i,o){var s=r((i=pc(i)).r,(o=pc(o)).r),a=r(i.g,o.g),c=r(i.b,o.b),l=jh(i.opacity,o.opacity);return function(u){return i.r=s(u),i.g=a(u),i.b=c(u),i.opacity=l(u),i+""}}return n.gamma=t,n})(1);function LN(t){return function(e){var r=e.length,n=new Array(r),i=new Array(r),o=new Array(r),s,a;for(s=0;s<r;++s)a=pc(e[s]),n[s]=a.r||0,i[s]=a.g||0,o[s]=a.b||0;return n=t(n),i=t(i),o=t(o),a.opacity=1,function(c){return a.r=n(c),a.g=i(c),a.b=o(c),a+""}}}var nne=LN(CN),ine=LN(PN);function DN(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(o){for(i=0;i<r;++i)n[i]=t[i]*(1-o)+e[i]*o;return n}}function $N(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function MN(t,e){var r=e?e.length:0,n=t?Math.min(r,t.length):0,i=new Array(n),o=new Array(r),s;for(s=0;s<n;++s)i[s]=ns(t[s],e[s]);for(;s<r;++s)o[s]=e[s];return function(a){for(s=0;s<n;++s)o[s]=i[s](a);return o}}function FN(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}function Yi(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function UN(t,e){var r={},n={},i;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(i in e)i in t?r[i]=ns(t[i],e[i]):n[i]=e[i];return function(o){for(i in r)n[i]=r[i](o);return n}}var cE=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,aE=new RegExp(cE.source,"g");function E4(t){return function(){return t}}function v4(t){return function(e){return t(e)+""}}function BN(t,e){var r=cE.lastIndex=aE.lastIndex=0,n,i,o,s=-1,a=[],c=[];for(t=t+"",e=e+"";(n=cE.exec(t))&&(i=aE.exec(e));)(o=i.index)>r&&(o=e.slice(r,o),a[s]?a[s]+=o:a[++s]=o),(n=n[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,c.push({i:s,x:Yi(n,i)})),r=aE.lastIndex;return r<e.length&&(o=e.slice(r),a[s]?a[s]+=o:a[++s]=o),a.length<2?c[0]?v4(c[0].x):E4(e):(e=c.length,function(l){for(var u=0,f;u<e;++u)a[(f=c[u]).i]=f.x(l);return a.join("")})}function ns(t,e){var r=typeof e,n;return e==null||r==="boolean"?Wu(e):(r==="number"?Yi:r==="string"?(n=Vi(e))?(e=n,sE):BN:e instanceof Vi?sE:e instanceof Date?FN:$N(e)?DN:Array.isArray(e)?MN:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?UN:Yi)(t,e)}function lE(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}}function uE(t){return function(){return t}}function fE(t){return+t}var GN=[0,1];function hc(t){return t}function dE(t,e){return(e-=t=+t)?function(r){return(r-t)/e}:uE(isNaN(e)?NaN:.5)}function R4(t,e){var r;return t>e&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function w4(t,e,r){var n=t[0],i=t[1],o=e[0],s=e[1];return i<n?(n=dE(i,n),o=r(s,o)):(n=dE(n,i),o=r(o,s)),function(a){return o(n(a))}}function b4(t,e,r){var n=Math.min(t.length,e.length)-1,i=new Array(n),o=new Array(n),s=-1;for(t[n]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++s<n;)i[s]=dE(t[s],t[s+1]),o[s]=r(e[s],e[s+1]);return function(a){var c=tE(t,a,1,n)-1;return o[c](i[c](a))}}function XN(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function A4(){var t=GN,e=GN,r=ns,n,i,o,s=hc,a,c,l;function u(){var d=Math.min(t.length,e.length);return s!==hc&&(s=R4(t[0],t[d-1])),a=d>2?b4:w4,c=l=null,f}function f(d){return d==null||isNaN(d=+d)?o:(c||(c=a(t.map(n),e,r)))(n(s(d)))}return f.invert=function(d){return s(i((l||(l=a(e,t.map(n),Yi)))(d)))},f.domain=function(d){return arguments.length?(t=Array.from(d,fE),u()):t.slice()},f.range=function(d){return arguments.length?(e=Array.from(d),u()):e.slice()},f.rangeRound=function(d){return e=Array.from(d),r=lE,u()},f.clamp=function(d){return arguments.length?(s=d?!0:hc,u()):s!==hc},f.interpolate=function(d){return arguments.length?(r=d,u()):r},f.unknown=function(d){return arguments.length?(o=d,f):o},function(d,p){return n=d,i=p,u()}}function pE(){return A4()(hc,hc)}function hE(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],o=t[n],s;return o<i&&(s=r,r=n,n=s,s=i,i=o,o=s),t[r]=e.floor(i),t[n]=e.ceil(o),t}var mE=new Date,gE=new Date;function Ve(t,e,r,n){function i(o){return t(o=arguments.length===0?new Date:new Date(+o)),o}return i.floor=o=>(t(o=new Date(+o)),o),i.ceil=o=>(t(o=new Date(o-1)),e(o,1),t(o),o),i.round=o=>{let s=i(o),a=i.ceil(o);return o-s<a-o?s:a},i.offset=(o,s)=>(e(o=new Date(+o),s==null?1:Math.floor(s)),o),i.range=(o,s,a)=>{let c=[];if(o=i.ceil(o),a=a==null?1:Math.floor(a),!(o<s)||!(a>0))return c;let l;do c.push(l=new Date(+o)),e(o,a),t(o);while(l<o&&o<s);return c},i.filter=o=>Ve(s=>{if(s>=s)for(;t(s),!o(s);)s.setTime(s-1)},(s,a)=>{if(s>=s)if(a<0)for(;++a<=0;)for(;e(s,-1),!o(s););else for(;--a>=0;)for(;e(s,1),!o(s););}),r&&(i.count=(o,s)=>(mE.setTime(+o),gE.setTime(+s),t(mE),t(gE),Math.floor(r(mE,gE))),i.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?i.filter(n?s=>n(s)%o===0:s=>i.count(0,s)%o===0):i)),i}var Vu=Ve(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Vu.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?Ve(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):Vu);var Bne=Vu.range;var vn=Ve(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*1e3)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds()),HN=vn.range;var mc=Ve(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getMinutes()),I4=mc.range,zh=Ve(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes()),S4=zh.range;var gc=Ve(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3-t.getMinutes()*6e4)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getHours()),k4=gc.range,qh=Ve(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours()),N4=qh.range;var Jn=Ve(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1),C4=Jn.range,Ku=Ve(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1),P4=Ku.range,Wh=Ve(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5)),O4=Wh.range;function ss(t){return Ve(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/6048e5)}var Qn=ss(0),yc=ss(1),zN=ss(2),qN=ss(3),Ki=ss(4),WN=ss(5),VN=ss(6),YN=Qn.range,L4=yc.range,D4=zN.range,$4=qN.range,M4=Ki.range,F4=WN.range,U4=VN.range;function as(t){return Ve(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/6048e5)}var cs=as(0),xc=as(1),KN=as(2),ZN=as(3),Zi=as(4),JN=as(5),QN=as(6),eC=cs.range,B4=xc.range,G4=KN.range,X4=ZN.range,H4=Zi.range,j4=JN.range,z4=QN.range;var Tc=Ve(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth()),q4=Tc.range,Vh=Ve(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()),W4=Vh.range;var yr=Ve(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());yr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Ve(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});var V4=yr.range,Qr=Ve(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());Qr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Ve(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});var Y4=Qr.range;function rC(t,e,r,n,i,o){let s=[[vn,1,1e3],[vn,5,5*1e3],[vn,15,15*1e3],[vn,30,30*1e3],[o,1,6e4],[o,5,5*6e4],[o,15,15*6e4],[o,30,30*6e4],[i,1,36e5],[i,3,3*36e5],[i,6,6*36e5],[i,12,12*36e5],[n,1,864e5],[n,2,2*864e5],[r,1,6048e5],[e,1,2592e6],[e,3,3*2592e6],[t,1,31536e6]];function a(l,u,f){let d=u<l;d&&([l,u]=[u,l]);let p=f&&typeof f.range=="function"?f:c(l,u,f),m=p?p.range(l,+u+1):[];return d?m.reverse():m}function c(l,u,f){let d=Math.abs(u-l)/f,p=es(([,,T])=>T).right(s,d);if(p===s.length)return t.every($h(l/31536e6,u/31536e6,f));if(p===0)return Vu.every(Math.max($h(l,u,f),1));let[m,y]=s[d/s[p-1][2]<s[p][2]/d?p-1:p];return m.every(y)}return[a,c]}var[Z4,J4]=rC(Qr,Vh,cs,Wh,qh,zh),[yE,xE]=rC(yr,Tc,Qn,Jn,gc,mc);function TE(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function _E(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function Zu(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function EE(t){var e=t.dateTime,r=t.date,n=t.time,i=t.periods,o=t.days,s=t.shortDays,a=t.months,c=t.shortMonths,l=Ju(i),u=Qu(i),f=Ju(o),d=Qu(o),p=Ju(s),m=Qu(s),y=Ju(a),T=Qu(a),_=Ju(c),v=Qu(c),E={a:I,A:F,b:j,B:U,c:null,d:cC,e:cC,f:E3,g:C3,G:O3,H:x3,I:T3,j:_3,L:pC,m:v3,M:R3,p:W,q:Z,Q:fC,s:dC,S:w3,u:b3,U:A3,V:I3,w:S3,W:k3,x:null,X:null,y:N3,Y:P3,Z:L3,"%":uC},S={a:pe,A:V,b:te,B:De,c:null,d:lC,e:lC,f:F3,g:V3,G:K3,H:D3,I:$3,j:M3,L:mC,m:U3,M:B3,p:Ne,q:Xe,Q:fC,s:dC,S:G3,u:X3,U:H3,V:j3,w:z3,W:q3,x:null,X:null,y:W3,Y:Y3,Z:Z3,"%":uC},D={a:oe,A:L,b:R,B:O,c:$,d:sC,e:sC,f:h3,g:oC,G:iC,H:aC,I:aC,j:u3,L:p3,m:l3,M:f3,p:G,q:c3,Q:g3,s:y3,S:d3,u:n3,U:i3,V:o3,w:r3,W:s3,x:b,X:A,y:oC,Y:iC,Z:a3,"%":m3};E.x=N(r,E),E.X=N(n,E),E.c=N(e,E),S.x=N(r,S),S.X=N(n,S),S.c=N(e,S);function N(q,J){return function(re){var C=[],be=-1,me=0,ve=q.length,Tt,X,Cr;for(re instanceof Date||(re=new Date(+re));++be<ve;)q.charCodeAt(be)===37&&(C.push(q.slice(me,be)),(X=nC[Tt=q.charAt(++be)])!=null?Tt=q.charAt(++be):X=Tt==="e"?" ":"0",(Cr=J[Tt])&&(Tt=Cr(re,X)),C.push(Tt),me=be+1);return C.push(q.slice(me,be)),C.join("")}}function M(q,J){return function(re){var C=Zu(1900,void 0,1),be=B(C,q,re+="",0),me,ve;if(be!=re.length)return null;if("Q"in C)return new Date(C.Q);if("s"in C)return new Date(C.s*1e3+("L"in C?C.L:0));if(J&&!("Z"in C)&&(C.Z=0),"p"in C&&(C.H=C.H%12+C.p*12),C.m===void 0&&(C.m="q"in C?C.q:0),"V"in C){if(C.V<1||C.V>53)return null;"w"in C||(C.w=1),"Z"in C?(me=_E(Zu(C.y,0,1)),ve=me.getUTCDay(),me=ve>4||ve===0?xc.ceil(me):xc(me),me=Ku.offset(me,(C.V-1)*7),C.y=me.getUTCFullYear(),C.m=me.getUTCMonth(),C.d=me.getUTCDate()+(C.w+6)%7):(me=TE(Zu(C.y,0,1)),ve=me.getDay(),me=ve>4||ve===0?yc.ceil(me):yc(me),me=Jn.offset(me,(C.V-1)*7),C.y=me.getFullYear(),C.m=me.getMonth(),C.d=me.getDate()+(C.w+6)%7)}else("W"in C||"U"in C)&&("w"in C||(C.w="u"in C?C.u%7:"W"in C?1:0),ve="Z"in C?_E(Zu(C.y,0,1)).getUTCDay():TE(Zu(C.y,0,1)).getDay(),C.m=0,C.d="W"in C?(C.w+6)%7+C.W*7-(ve+5)%7:C.w+C.U*7-(ve+6)%7);return"Z"in C?(C.H+=C.Z/100|0,C.M+=C.Z%100,_E(C)):TE(C)}}function B(q,J,re,C){for(var be=0,me=J.length,ve=re.length,Tt,X;be<me;){if(C>=ve)return-1;if(Tt=J.charCodeAt(be++),Tt===37){if(Tt=J.charAt(be++),X=D[Tt in nC?J.charAt(be++):Tt],!X||(C=X(q,re,C))<0)return-1}else if(Tt!=re.charCodeAt(C++))return-1}return C}function G(q,J,re){var C=l.exec(J.slice(re));return C?(q.p=u.get(C[0].toLowerCase()),re+C[0].length):-1}function oe(q,J,re){var C=p.exec(J.slice(re));return C?(q.w=m.get(C[0].toLowerCase()),re+C[0].length):-1}function L(q,J,re){var C=f.exec(J.slice(re));return C?(q.w=d.get(C[0].toLowerCase()),re+C[0].length):-1}function R(q,J,re){var C=_.exec(J.slice(re));return C?(q.m=v.get(C[0].toLowerCase()),re+C[0].length):-1}function O(q,J,re){var C=y.exec(J.slice(re));return C?(q.m=T.get(C[0].toLowerCase()),re+C[0].length):-1}function $(q,J,re){return B(q,e,J,re)}function b(q,J,re){return B(q,r,J,re)}function A(q,J,re){return B(q,n,J,re)}function I(q){return s[q.getDay()]}function F(q){return o[q.getDay()]}function j(q){return c[q.getMonth()]}function U(q){return a[q.getMonth()]}function W(q){return i[+(q.getHours()>=12)]}function Z(q){return 1+~~(q.getMonth()/3)}function pe(q){return s[q.getUTCDay()]}function V(q){return o[q.getUTCDay()]}function te(q){return c[q.getUTCMonth()]}function De(q){return a[q.getUTCMonth()]}function Ne(q){return i[+(q.getUTCHours()>=12)]}function Xe(q){return 1+~~(q.getUTCMonth()/3)}return{format:function(q){var J=N(q+="",E);return J.toString=function(){return q},J},parse:function(q){var J=M(q+="",!1);return J.toString=function(){return q},J},utcFormat:function(q){var J=N(q+="",S);return J.toString=function(){return q},J},utcParse:function(q){var J=M(q+="",!0);return J.toString=function(){return q},J}}}var nC={"-":"",_:" ",0:"0"},Ot=/^\s*\d+/,Q4=/^%/,e3=/[\\^$*+?|[\]().{}]/g;function Oe(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",o=i.length;return n+(o<r?new Array(r-o+1).join(e)+i:i)}function t3(t){return t.replace(e3,"\\$&")}function Ju(t){return new RegExp("^(?:"+t.map(t3).join("|")+")","i")}function Qu(t){return new Map(t.map((e,r)=>[e.toLowerCase(),r]))}function r3(t,e,r){var n=Ot.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function n3(t,e,r){var n=Ot.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function i3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function o3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function s3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function iC(t,e,r){var n=Ot.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function oC(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function a3(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function c3(t,e,r){var n=Ot.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function l3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function sC(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function u3(t,e,r){var n=Ot.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function aC(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function f3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function d3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function p3(t,e,r){var n=Ot.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function h3(t,e,r){var n=Ot.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function m3(t,e,r){var n=Q4.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function g3(t,e,r){var n=Ot.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function y3(t,e,r){var n=Ot.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function cC(t,e){return Oe(t.getDate(),e,2)}function x3(t,e){return Oe(t.getHours(),e,2)}function T3(t,e){return Oe(t.getHours()%12||12,e,2)}function _3(t,e){return Oe(1+Jn.count(yr(t),t),e,3)}function pC(t,e){return Oe(t.getMilliseconds(),e,3)}function E3(t,e){return pC(t,e)+"000"}function v3(t,e){return Oe(t.getMonth()+1,e,2)}function R3(t,e){return Oe(t.getMinutes(),e,2)}function w3(t,e){return Oe(t.getSeconds(),e,2)}function b3(t){var e=t.getDay();return e===0?7:e}function A3(t,e){return Oe(Qn.count(yr(t)-1,t),e,2)}function hC(t){var e=t.getDay();return e>=4||e===0?Ki(t):Ki.ceil(t)}function I3(t,e){return t=hC(t),Oe(Ki.count(yr(t),t)+(yr(t).getDay()===4),e,2)}function S3(t){return t.getDay()}function k3(t,e){return Oe(yc.count(yr(t)-1,t),e,2)}function N3(t,e){return Oe(t.getFullYear()%100,e,2)}function C3(t,e){return t=hC(t),Oe(t.getFullYear()%100,e,2)}function P3(t,e){return Oe(t.getFullYear()%1e4,e,4)}function O3(t,e){var r=t.getDay();return t=r>=4||r===0?Ki(t):Ki.ceil(t),Oe(t.getFullYear()%1e4,e,4)}function L3(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Oe(e/60|0,"0",2)+Oe(e%60,"0",2)}function lC(t,e){return Oe(t.getUTCDate(),e,2)}function D3(t,e){return Oe(t.getUTCHours(),e,2)}function $3(t,e){return Oe(t.getUTCHours()%12||12,e,2)}function M3(t,e){return Oe(1+Ku.count(Qr(t),t),e,3)}function mC(t,e){return Oe(t.getUTCMilliseconds(),e,3)}function F3(t,e){return mC(t,e)+"000"}function U3(t,e){return Oe(t.getUTCMonth()+1,e,2)}function B3(t,e){return Oe(t.getUTCMinutes(),e,2)}function G3(t,e){return Oe(t.getUTCSeconds(),e,2)}function X3(t){var e=t.getUTCDay();return e===0?7:e}function H3(t,e){return Oe(cs.count(Qr(t)-1,t),e,2)}function gC(t){var e=t.getUTCDay();return e>=4||e===0?Zi(t):Zi.ceil(t)}function j3(t,e){return t=gC(t),Oe(Zi.count(Qr(t),t)+(Qr(t).getUTCDay()===4),e,2)}function z3(t){return t.getUTCDay()}function q3(t,e){return Oe(xc.count(Qr(t)-1,t),e,2)}function W3(t,e){return Oe(t.getUTCFullYear()%100,e,2)}function V3(t,e){return t=gC(t),Oe(t.getUTCFullYear()%100,e,2)}function Y3(t,e){return Oe(t.getUTCFullYear()%1e4,e,4)}function K3(t,e){var r=t.getUTCDay();return t=r>=4||r===0?Zi(t):Zi.ceil(t),Oe(t.getUTCFullYear()%1e4,e,4)}function Z3(){return"+0000"}function uC(){return"%"}function fC(t){return+t}function dC(t){return Math.floor(+t/1e3)}var _c,Yh,yC,xC,TC;vE({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function vE(t){return _c=EE(t),Yh=_c.format,yC=_c.parse,xC=_c.utcFormat,TC=_c.utcParse,_c}function J3(t){return new Date(t)}function Q3(t){return t instanceof Date?+t:+new Date(+t)}function _C(t,e,r,n,i,o,s,a,c,l){var u=pE(),f=u.invert,d=u.domain,p=l(".%L"),m=l(":%S"),y=l("%I:%M"),T=l("%I %p"),_=l("%a %d"),v=l("%b %d"),E=l("%B"),S=l("%Y");function D(N){return(c(N)<N?p:a(N)<N?m:s(N)<N?y:o(N)<N?T:n(N)<N?i(N)<N?_:v:r(N)<N?E:S)(N)}return u.invert=function(N){return new Date(f(N))},u.domain=function(N){return arguments.length?d(Array.from(N,Q3)):d().map(J3)},u.ticks=function(N){var M=d();return t(M[0],M[M.length-1],N??10)},u.tickFormat=function(N,M){return M==null?D:l(M)},u.nice=function(N){var M=d();return(!N||typeof N.range!="function")&&(N=e(M[0],M[M.length-1],N??10)),N?d(hE(M,N)):u},u.copy=function(){return XN(u,_C(t,e,r,n,i,o,s,a,c,l))},u}function Kh(){return fc.apply(_C(yE,xE,yr,Tc,Qn,Jn,gc,mc,vn,Yh).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}var RE=class t{constructor(e,r,n){de(this,"bandwidthPx");de(this,"stepPx");de(this,"d3");this.bandwidthPx=e,this.stepPx=r,this.d3=n}static fixedRow(e){return new t(e.bandwidth,e.step)}static forRows(e){let r=Array.from({length:e.count},(i,o)=>String(o)),n=Hu().domain(r).range(e.range).paddingInner(e.paddingInner??0).paddingOuter(e.paddingOuter??0);return new t(n.bandwidth(),n.step(),n)}bandwidth(){return this.bandwidthPx}step(){return this.stepPx}forward(e){if(!this.d3)throw new Error("BandScale.forward is only available on closed-domain bands (BandScale.forRows)");let r=this.d3(e);if(r===void 0)throw new Error(`BandScale: unknown band id "${e}"`);return r}},eG={bandwidth:56,step:64};function EC(){return RE.fixedRow(eG)}var Zh=class{constructor(e){de(this,"domain");de(this,"range");de(this,"pixelsPerDay");de(this,"calendar");de(this,"d3");this.domain=e.domain,this.range=e.range,this.calendar=e.calendar;let r=Math.max(1,kr(e.domain[0],e.domain[1]));this.pixelsPerDay=(e.range[1]-e.range[0])/r,this.d3=Kh().domain(e.domain).range(e.range)}forward(e){let r=kr(this.domain[0],e);return this.range[0]+r*this.pixelsPerDay}forwardWithinDomain(e){return e<this.domain[0]||e>this.domain[1]?null:this.forward(e)}invert(e){return this.d3.invert(e)}get originX(){return this.range[0]}get widthPx(){return this.range[1]-this.range[0]}};function Jh(t){return t.endsWith(":")?t.slice(0,-1):t}function vC(t,e){let n=t.roadmapDecl?.properties.find(c=>Jh(c.key)==="scale")?.value,i="weeks",o,s;if(n)if(n==="days"||n==="weeks"||n==="months"||n==="quarters"||n==="years")i=n;else{let c=/^(\d+)([dwmqy])$/.exec(n);if(c){let l=Math.max(1,parseInt(c[1],10));switch(c[2]){case"d":i="days";break;case"w":i="weeks";break;case"m":i="months";break;case"q":i="quarters";break;case"y":i="years";break}o=Qh(i)*l,s=1}}let a=s??hN[i]??4;if(e){let l=e.properties.find(m=>Jh(m.key)==="unit")?.value??i,u=e.properties.find(m=>Jh(m.key)==="label-every"),f=e.properties.find(m=>Jh(m.key)==="pixels-per-unit"),d=u?Math.max(1,parseInt(u.value,10)||a):a,p=f?Math.max(1,parseInt(f.value,10)||Qh(l)):o??Qh(l);return{unit:l,labelEvery:d,pixelsPerUnit:p}}return{unit:i,labelEvery:a,pixelsPerUnit:o??Qh(i)}}function Qh(t){switch(t){case"days":return uN;case"weeks":return 40;case"months":return 80;case"quarters":return 160;case"years":return 320}}function RC(t,e,r,n=Cu){let i=r.daysPerUnit(e.unit),o=i*t.pixelsPerDay,s=Math.max(1,Math.round(t.widthPx/t.pixelsPerDay)),a=Math.floor(s/i)+1,c=[];for(let l=0;l<a;l++){let u=l*i,f=t.originX+u*t.pixelsPerDay,d=l%e.labelEvery===0,p=l===a-1;c.push({x:f,labelX:p?void 0:f+o/2,major:d,label:d&&!p?tG(e.unit,Zo(t.domain[0],u),l,n):void 0})}return c}function tG(t,e,r,n){switch(t){case"days":return`${e.getUTCMonth()+1}/${e.getUTCDate()}`;case"weeks":{let i=e.toLocaleString(n,{month:"short",timeZone:"UTC"}),o=e.getUTCDate().toString().padStart(2,"0");return`${i} ${o}`}case"months":return e.toLocaleString(n,{month:"short",timeZone:"UTC"});case"quarters":{let i=Math.floor(e.getUTCMonth()/3)+1;return`${xh(n).quarterPrefix}${i} ${e.getUTCFullYear()}`}case"years":return`${e.getUTCFullYear()}`}}function wC(t){return{daysPerUnit:e=>wE(e,t),addUnits:(e,r,n)=>Zo(e,r*wE(n,t)),isWorkingDay:()=>!0}}function bC(t,e){return wE(t,e)}function wE(t,e){switch(t){case"days":return 1;case"weeks":return e.daysPerWeek;case"months":return e.daysPerMonth;case"quarters":return e.daysPerQuarter;case"years":return e.daysPerYear}}var bE=class{constructor(e,r){de(this,"id");de(this,"anchor");this.id=e,this.anchor=r}place(e,r){let n=ae(this.anchor.properties,"date"),i=vt(n);if(!i)return null;let o=e.scale.forwardWithinDomain(i);if(o===null)return null;let s=yt("anchor",this.anchor.properties,e.styleCtx),a=e.markerRowPlacements.get(this.id),c=a?.centerY??e.timeline.markerRow.y,l={x:o,y:c},u=a?.labelBox??{x:o+6+6,y:c-4,width:0,height:12},f=a?.labelSide??"right";return e.entityLeftEdges.set(this.id,o),e.entityRightEdges.set(this.id,o),e.entityMidpoints.set(this.id,l),{id:this.id,title:this.anchor.title??this.id,center:l,radius:6,style:s,predecessorPoints:[],cutTopY:e.chartTopY,cutBottomY:e.swimlaneBottomY,bumpedUp:(a?.rowIndex??0)>0,labelBox:u,labelSide:f}}};function IC(t,e,r){let n=[];for(let[i,o]of t){let s=new bE(i,o).place(e,r);s&&n.push(s)}return n}function AE(t,e,r){let n=[],i=new Map,o=new Map;return[...t.entries()].sort(([c],[l])=>c.localeCompare(l)).forEach(([c,l],u)=>{let f=u+1;i.set(c,f),o.set(c,gt(l.properties,"on")),n.push({number:f,title:l.title??c,description:l.description?.text,style:yt("footnote",l.properties,e.styleCtx)})}),{area:{box:{x:Zr,y:r+Zr,width:e.chartRightX-2*Zr,height:n.length===0?0:Uu+n.length*Bu+Zr},entries:n},index:i,hosts:o}}var rG=.8,nG=1;function iG(t){let e=[];return kC(t,e),e}function kC(t,e){for(let r of t)if(r.kind==="item"){let n=oG(r);n>0&&r.box.width>0&&e.push({startX:r.box.x,endX:r.box.x+r.box.width,load:n})}else(r.kind==="parallel"||r.kind==="group")&&kC(r.children,e)}function oG(t){return t.capacity?t.capacity.value:t.size?1:0}function NC(t){if(t.capacityValue<=0||t.warnFraction===null&&t.overFraction===null)return null;let e=iG(t.children);if(e.length===0)return null;let r=new Set;for(let s of e)r.add(s.startX),r.add(s.endX);let n=Array.from(r).sort((s,a)=>s-a);if(n.length<2)return null;let i=[];for(let s=0;s<n.length-1;s++){let a=n[s],c=n[s+1],l=(a+c)/2,u=0;for(let f of e)f.startX<=l&&l<f.endX&&(u+=f.load);i.push({startX:a,endX:c,load:u,classification:sG(u,t.capacityValue,t.warnFraction,t.overFraction)})}let o=[];for(let s of i){let a=o[o.length-1];a&&a.classification===s.classification&&a.endX===s.startX?a.endX=s.endX:o.push({...s})}return{segments:o,capacityValue:t.capacityValue,warnFraction:t.warnFraction,overFraction:t.overFraction}}function sG(t,e,r,n){let i=t/e;return n!==null&&i>=n?"red":r!==null&&i>=r?"yellow":"green"}function CC(t,e){let r=e.get("swimlane"),n=SC(ae(t.properties,"utilization-warn-at"),r?ae(r.properties,"utilization-warn-at"):void 0,rG),i=SC(ae(t.properties,"utilization-over-at"),r?ae(r.properties,"utilization-over-at"):void 0,nG);return{warn:n,over:i}}function SC(t,e,r){let i=lG(t??e);return i.kind==="unset"?r:i.kind==="none"?null:i.value}var aG=/^\d+(?:\.\d+)?%$/,cG=/^\d+\.\d+$/;function lG(t){if(t===void 0)return{kind:"unset"};if(t==="none")return{kind:"none"};if(aG.test(t)){let e=parseFloat(t)/100;return Number.isFinite(e)&&e>0?{kind:"number",value:e}:{kind:"unset"}}if(cG.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?{kind:"number",value:e}:{kind:"unset"}}return{kind:"unset"}}var PC=10;function uG(t,e,r){let n=ae(t.properties,"capacity"),i=oi(n);if(i===null)return{capacity:null,badgeWidthPx:0};let o=Ac(i),s=Ic(e.capacityIcon,r),a=to(o,s,PC);return{capacity:{value:i,text:o,icon:s},badgeWidthPx:a}}var fG=10,dG=38,pG=8;function hG(t,e,r){let n=t.title??t.name??"";if(!n)return 0;let i=ae(t.properties,"owner");return Sc(0,n,i??void 0,e,r).rightX}function mG(t,e){if(!t.name)return[];let r=[];for(let[n,i]of e.footnoteHosts.entries())if(i.includes(t.name)){let o=e.footnoteIndex.get(n);o!==void 0&&r.push(o)}return r.sort((n,i)=>n-i),r}function gG(t,e,r,n){for(let i of t.content){if(i.$type==="DescriptionDirective")continue;let o=gr(i)?i.properties:i.properties??[];return n.resolveChildStart(o,e,e,r)}}var Ec=class{constructor(e,r){de(this,"input");de(this,"deps");this.input=e,this.deps=r}get id(){return this.input.lane.name??""}place(e,r){let{lane:n,bandIndex:i}=this.input,{deps:o}=this,s=yt("swimlane",n.properties,r.styleCtx),a=e.x,c=r.bandScale.step(),l=r.currentFlowKey;r.currentFlowKey=`lane:${n.name??i}`;let{capacity:u,badgeWidthPx:f}=uG(n,s,r.symbols),d=mG(n,r),p=d.length>0?o.estimateTextWidth(d.join(","),PC):0,m=hG(n,f,p),y=gG(n,a,r,o),T=!n.title||y===void 0||y>=m+pG,_=e.y+(T?fG:dG),v=new oc({laneLeftX:a,originY:_,minRowHeight:c,slackCorridors:r.slackCorridors}),E=a,S=[];for(let R of n.content){if(R.$type==="DescriptionDirective")continue;if(!gr(R)){let Xe=R.properties??[],q=o.resolveChildStart(Xe,E,a,r),{rowIndex:J,y:re}=v.placeBlock(),C=o.newCursor(q,re),be=o.sequenceOne(R,C,r);S.push(be);let me=be.box.x+be.box.width,ve=Math.max(c,C.height);v.commitBlock({rowIndex:J,placed:be,blockHeight:ve,blockEnd:me}),E=Math.max(E,me);continue}let O=R.properties,$=o.resolveChildStart(O,E,a,r),b=zi(O,r.sizes,r.cal),A=Math.max(Nr,b*r.timeline.pixelsPerDay),I=$+A,F=R.name??"",j=o.predictItemChipExtraHeight(R,r),U=c+j,{rowIndex:W,y:Z}=v.placeItem({childId:F,desiredStart:$,desiredEnd:I,predictedHeight:U}),pe=o.newCursor($,Z),V=o.sequenceItem(R,pe,r);S.push(V);let te=V.box.x+V.box.width+Yr;E=Math.max(E,te);let De=null;(V.textSpills||V.chipsOutside||V.dotSpills||V.iconSpills||V.footnoteSpills)&&(De=Math.max(V.decorationsRightX,V.chipsOutside?V.chipsRightX:0)+6),v.commitItem({rowIndex:W,placed:V,logicalEnd:te,spillReservation:De,rowHeight:U})}let D=_-e.y,N=Math.max(c+32,D+v.usedHeight()+16),M=Math.max(v.usedRightX(),m),B={x:0,y:e.y,width:r.chartRightX,height:N},G=ae(n.properties,"owner"),oe;if(G){let R=r.teams.get(G),O=r.persons.get(G);oe=R?.title??O?.title??G}let L=u?(()=>{let{warn:R,over:O}=CC(n,r.styleCtx.defaults);return NC({children:S,capacityValue:u.value,warnFraction:R,overFraction:O})})():null;return r.currentFlowKey=l,{positioned:{id:n.name,title:n.title??n.name??"",box:B,bandIndex:i,children:S,nested:[],style:s,owner:oe,footnoteIndicators:d,capacity:u,utilization:L},usedHeight:N,usedRightX:M}}};var yG=18,xG=14,TG=14,_G=16,EG=32;function OC(t,e,r,n){let i=r+yG,o=[],s=!0;for(let a of t){s||(i+=_G),s=!1;let c=a.content.roadmap?.title??a.sourcePath,l=i+xG,u={cal:e.cal,styleCtx:{theme:e.styleCtx.theme,styles:a.config.styles,defaults:a.config.defaults,labels:a.content.labels},sizes:gh(a.content.sizes,e.cal),labels:a.content.labels,teams:a.content.teams,persons:a.content.persons,symbols:a.config.symbols,footnoteIndex:new Map,footnoteHosts:new Map,timeline:e.timeline,scale:e.scale,calendar:e.calendar,bandScale:e.bandScale,entityLeftEdges:new Map,entityRightEdges:new Map,entityMidpoints:new Map,entityVisualLeftX:new Map,entityVisualRightX:new Map,itemArrowSource:new Map,itemFlowKey:new Map,currentFlowKey:"",itemSlackAttachY:new Map,slackCorridors:[],markerRowPlacements:new Map,chartTopY:l,chartBottomY:l,swimlaneBottomY:l,chartRightX:e.chartRightX,nextParallelId:0,nextGroupId:0},f=[],d=l,p=0,m=u.timeline.originX;for(let N of a.content.swimlanes.values()){u.nextParallelId=0,u.nextGroupId=0;let{positioned:M,usedHeight:B,usedRightX:G}=new Ec({lane:N,bandIndex:p},n).place({x:u.timeline.originX,y:d},u);f.push(M),d+=B,p++,G>m&&(m=G)}let y=d,T=Math.max(e.bandScale.bandwidth(),y-i+TG),_=0,{chromeRightX:v}=kc(_,c,a.sourcePath),E=Math.max(v,m)+EG,S=Math.min(e.chartRightX-_,E-_),D={x:_,y:i,width:S,height:T};for(let N of f)N.box.width=S;o.push({sourcePath:a.sourcePath,label:c,box:D,nestedSwimlanes:f,style:yt("swimlane",[],e.styleCtx)}),i+=T}return{regions:o,endY:i}}function rm(t,e){let r=[];for(let n of t){let o=e.entityVisualRightX.get(n)??e.entityRightEdges.get(n);if(o===void 0)continue;let s=e.itemSlackAttachY.get(n)??e.entityMidpoints.get(n)?.y??0,a=e.itemFlowKey.get(n)??`marker:${n}`;r.push({ref:n,x:o,y:s,flowKey:a})}return r}function nm(t){let e=new Map;for(let r of t){let n=e.get(r.flowKey);(!n||r.x>n.x)&&e.set(r.flowKey,r)}return Array.from(e.values())}function LC(t,e,r,n,i,o,s,a){let c=n.length*i*.58*(o?1.05:1),l=t+r+6,u=t-r-6-c,f=l+c<=a,d=u>=s,p=f?"right":d?"left":"right";return{box:{x:p==="right"?l:u,y:e-4,width:c,height:12},side:p}}var IE=class{constructor(e,r){de(this,"id");de(this,"milestone");this.id=e,this.milestone=r}place(e){let r=this.milestone,n=yt("milestone",r.properties,e.styleCtx),i=ae(r.properties,"date"),o=gt(r.properties,"after"),s=vt(i),a=e.timeline.markerRow.y,c=6,l=r.title??this.id,u=null,f=a,d=null,p="right",m=!1,y,T=!1;if(s){let v=e.scale.forwardWithinDomain(s);if(v===null)return null;u=v,m=!0;let E=e.markerRowPlacements.get(this.id);E&&(f=E.centerY,d=E.labelBox,p=E.labelSide);let S=rm(o,e),D=nm(S),N=null;for(let M of D)(!N||M.x>N.x)&&(N=M);N&&N.x>v&&(T=!0,y=[{x:N.x,y:N.y>0?N.y:f}])}else if(o.length>0){let v=rm(o,e),E=nm(v);E.sort((M,B)=>B.x-M.x);let S=E[0]?.x??e.timeline.originX;u=S,m=!1;let D=LC(u,a,c,l,10,!0,e.timeline.box.x,e.chartRightX);f=a,d=D.box,p=D.side,e.markerRowPlacements.set(this.id,{rowIndex:0,centerY:f,labelBox:d,labelSide:p});let N=[];for(let M=1;M<E.length;M++){let B=E[M];B.x<S&&B.y>0&&N.push({x:B.x,y:B.y})}N.length>0&&(y=N)}if(u===null)return null;if(!d){let v=LC(u,f,c,l,10,!0,e.timeline.box.x,e.chartRightX);d=v.box,p=v.side}let _={x:u,y:f};return e.entityLeftEdges.set(this.id,_.x),e.entityRightEdges.set(this.id,_.x),e.entityMidpoints.set(this.id,_),{id:this.id,title:l,center:_,radius:c,fixed:m,slackArrows:y,isOverrun:T,style:n,cutTopY:e.chartTopY,cutBottomY:e.swimlaneBottomY,labelBox:d,labelSide:p}}};function DC(t,e){let r=[];for(let[n,i]of t){let o=new IE(n,i).place(e);o&&r.push(o)}return r}var RG=4;function wG(t,e){e>t.chartRightX&&(t.chartRightX=e)}var om=class{place(e,r,n,i){let o=n.theme??"light",s=O_[o],a=n.width??1280,c=Zk(n.locale,IG(e)),l=qk(e,r.config.calendar),u=vC(e,r.config.scale),f=gh(r.content.sizes,l),d={theme:s,styles:r.config.styles,defaults:r.config.defaults,labels:r.content.labels},{startDate:p,endDate:m}=i.computeDateWindow(e,{cal:l,sizes:f},r,n.today,u),y=yt("roadmap",e.roadmapDecl?.properties??[],d),T=y.headerPosition==="beside",_=y.timelinePosition!=="bottom",v=y.timelinePosition==="bottom"||y.timelinePosition==="both",E=e.roadmapDecl?.title??e.roadmapDecl?.name??"",S=ae(e.roadmapDecl?.properties??[],"author"),D=i.sizeBesideHeader(E,S),N=T?{x:0,y:0,width:D.boxWidth,height:0}:{x:0,y:0,width:0,height:kh},M=T?D.boxWidth:0,B=T?8:kh+8,G=wC(l),oe=u.pixelsPerUnit/G.daysPerUnit(u.unit),R=Math.max(1,kr(p,m))*oe,O=M+Kr,$=R,b=M+Kr+$+Kr,A=Math.min(a,b),I=n.today!==void 0&&n.today>=p&&n.today<=m,F=r.content.anchors.size+r.content.milestones.size>0,j=I?qi:0,U=_?Du:0,W=new Zh({domain:[p,m],range:[O,O+R],calendar:G}),Z=Math.max(A,O+$+Kr),pe=[];for(let[K,le]of r.content.anchors){let je=vt(ae(le.properties,"date"));if(!je)continue;let Lr=W.forwardWithinDomain(je);Lr!==null&&pe.push({id:K,centerX:Lr,radius:6,title:le.title??K,fontSize:10,bold:!1,date:je,isMilestone:!1})}for(let[K,le]of r.content.milestones){let je=vt(ae(le.properties,"date"));if(!je)continue;let Lr=W.forwardWithinDomain(je);Lr!==null&&pe.push({id:K,centerX:Lr,radius:6,title:le.title??K,fontSize:10,bold:!0,date:je,isMilestone:!0})}let V=MC(pe,M,Z,i.estimateTextWidth),te=F?Math.max(1,V.rowCount):0,De=te*26,Ne=j+U+De,Xe=Ne+8,q=T?D.cardHeight+RG:0,J=Math.max(B,q-Ne),re=J+j,C=re+U,be=C+De,me=RC(W,u,G,c),ve={box:{x:O,y:J,width:R,height:0},ticks:me,pixelsPerDay:oe,originX:O,startDate:p,endDate:m,labelStyle:yt("roadmap",[],d),pillRowHeight:j,tickPanelY:re,tickPanelHeight:U,markerRow:{y:C+13,height:De,collisionY:C-8},minorGrid:y.minorGrid},Tt=new Map;for(let[K,le]of V.placements){let je=C+13+le.rowIndex*26;Tt.set(K,{rowIndex:le.rowIndex,centerY:je,labelBox:{...le.labelBox,y:je-4},labelSide:le.labelSide})}let X={cal:l,styleCtx:d,sizes:f,labels:r.content.labels,teams:r.content.teams,persons:r.content.persons,symbols:r.config.symbols,footnoteIndex:new Map,footnoteHosts:new Map,timeline:ve,scale:W,calendar:G,bandScale:EC(),entityLeftEdges:new Map,entityRightEdges:new Map,entityMidpoints:new Map,entityVisualLeftX:new Map,entityVisualRightX:new Map,itemArrowSource:new Map,itemFlowKey:new Map,currentFlowKey:"",itemSlackAttachY:new Map,slackCorridors:[],markerRowPlacements:Tt,chartTopY:J+Xe,chartBottomY:0,swimlaneBottomY:0,chartRightX:Z,nextParallelId:0,nextGroupId:0};for(let K of pe){let le=Tt.get(K.id);le&&(X.entityLeftEdges.set(K.id,K.centerX),X.entityRightEdges.set(K.id,K.centerX),X.entityMidpoints.set(K.id,{x:K.centerX,y:le.centerY}))}let Cr=AE(r.content.footnotes,X,0);X.footnoteIndex=Cr.index,X.footnoteHosts=Cr.hosts;let Tr=new Map(X.entityLeftEdges),Pr=new Map(X.entityRightEdges),fs=new Map(X.entityMidpoints),_e=[...r.content.swimlanes.values()],Or=yt("swimlane",[],d),Qi=cN[Or.spacing]??0,bn=()=>{X.nextParallelId=0,X.nextGroupId=0;let K=[],le=X.chartTopY,je=0,Lr=X.timeline.originX;for(let eo of _e){je>0&&(le+=Qi);let{positioned:ni,usedHeight:xm,usedRightX:uf}=new Ec({lane:eo,bandIndex:je},i).place({x:X.timeline.originX,y:le},X);K.push(ni),le+=xm,uf>Lr&&(Lr=uf),je++}return{swimlanes:K,nextY:le,maxRightX:Lr}},_r=bn(),Ht=_r.swimlanes,bt=_r.nextY,x=bG(r.content.milestones,X);x.length>0&&(X.entityLeftEdges=new Map(Tr),X.entityRightEdges=new Map(Pr),X.entityMidpoints=new Map(fs),X.itemSlackAttachY=new Map,X.entityVisualLeftX=new Map,X.entityVisualRightX=new Map,X.itemArrowSource=new Map,X.itemFlowKey=new Map,X.currentFlowKey="",X.slackCorridors=x,_r=bn(),Ht=_r.swimlanes,bt=_r.nextY),wG(X,_r.maxRightX+Kr);for(let K of Ht)K.box.width=X.chartRightX;let P=r.content.isolatedRegions,z=[];if(P.length>0){let K=OC(P,X,bt+8,i);z=K.regions,bt=K.endY}X.chartBottomY=bt,X.swimlaneBottomY=bt,ve.box.height=X.chartBottomY-ve.box.y;let Y=DC(r.content.milestones,X),$e=pe.map(K=>({id:K.id,centerX:K.centerX,radius:K.radius,title:K.title,fontSize:K.fontSize,bold:K.bold}));for(let K of Y)K.fixed||$e.push({id:K.id??"",centerX:K.center.x,radius:K.radius,title:K.title,fontSize:10,bold:!0});let Ce=MC($e,M,X.chartRightX,i.estimateTextWidth);X.markerRowPlacements.clear();for(let[K,le]of Ce.placements){let je=C+13+le.rowIndex*26;X.markerRowPlacements.set(K,{rowIndex:le.rowIndex,centerY:je,labelBox:{...le.labelBox,y:je-4},labelSide:le.labelSide})}for(let K of Y){let le=X.markerRowPlacements.get(K.id??"");le&&(K.center={x:K.center.x,y:le.centerY},K.labelBox=le.labelBox,K.labelSide=le.labelSide)}for(let K of pe){let le=X.markerRowPlacements.get(K.id);le&&X.entityMidpoints.set(K.id,{x:K.centerX,y:le.centerY})}for(let K of Y)K.fixed||X.entityMidpoints.set(K.id??"",{x:K.center.x,y:K.center.y});let ze=F?Math.max(1,Ce.rowCount):0;if(ze>te){let K=(ze-te)*26;X.timeline.markerRow.height=ze*26,X.timeline.box.height+=K,X.chartTopY+=K,X.chartBottomY+=K,X.swimlaneBottomY+=K;for(let le of Ht)SE(le,K);for(let le of z)AG(le,K);for(let[le,je]of X.entityMidpoints)X.markerRowPlacements.has(le)||X.entityMidpoints.set(le,{x:je.x,y:je.y+K});for(let[le,je]of X.itemSlackAttachY)X.itemSlackAttachY.set(le,je+K);for(let le of Y)if(le.cutTopY=X.chartTopY,le.cutBottomY=X.swimlaneBottomY,le.slackArrows)for(let je of le.slackArrows)je.y+=K}v&&(X.timeline.bottomTickPanelY=X.chartBottomY+8,X.timeline.bottomTickPanelHeight=Du,X.chartBottomY+=8+Du);let Ye=new Set(Y.map(K=>K.center.x)),ge=IC(r.content.anchors,X,Ye),Ue=i.collectItems(_e),Ae=i.buildDependencies(Ue,Ht,z,X),Ke=i.buildNowline(n.today,X,c),st=AE(r.content.footnotes,X,X.chartBottomY);X.footnoteIndex=st.index,X.footnoteHosts=st.hosts,N.height=N.height||X.chartBottomY,T||(N.width=X.chartRightX);let Jt=T?{x:6,y:be-D.cardHeight,width:D.cardWidth,height:D.cardHeight}:{x:0,y:0,width:X.chartRightX,height:kh},ds=st.area.entries.length>0?st.area.box.y+st.area.box.height:X.chartBottomY,cf={x:X.chartRightX-Kr-Y_,y:ds+Kr,width:Y_,height:pN},Qt=cf.y+cf.height+Kr,tn={box:N,position:y.headerPosition,title:E,author:S,titleLines:D.titleLines,authorLines:D.authorLines,cardBox:Jt,logo:void 0,style:y,attributionBox:cf};return{width:X.chartRightX,height:Qt,theme:o,palette:s,backgroundColor:s.surface.page,header:tn,timeline:ve,nowline:Ke,swimlanes:Ht,anchors:ge,milestones:Y,edges:Ae,footnotes:st.area,includes:z,chartBox:{x:M,y:X.chartTopY,width:X.chartRightX-M,height:X.chartBottomY-X.chartTopY}}}};function bG(t,e){let r=[];for(let[n,i]of t){let o=ae(i.properties,"date"),s=gt(i.properties,"after"),a=vt(o),c=rm(s,e),l=nm(c);if(a){let f=e.scale.forwardWithinDomain(a);if(f===null)continue;let d=null;for(let p of l)(!d||p.x>d.x)&&(d=p);d&&d.x>f&&d.y>0&&r.push({xStart:Math.min(d.x,f),xEnd:Math.max(d.x,f),y:d.y,slackPredId:d.ref,milestoneId:n});continue}if(l.length===0)continue;l.sort((f,d)=>d.x-f.x);let u=l[0].x;for(let f=1;f<l.length;f++){let d=l[f];d.x<u&&d.y>0&&r.push({xStart:d.x,xEnd:u,y:d.y,slackPredId:d.ref,milestoneId:n})}}return r}function SE(t,e){t.box.y+=e;for(let r of t.children)FC(r,e);for(let r of t.nested)SE(r,e)}function FC(t,e){if(t.box.y+=e,t.kind==="item"){t.overflowBox&&(t.overflowBox.y+=e);for(let r of t.labelChips)r.box.y+=e;return}for(let r of t.children)FC(r,e)}function AG(t,e){t.box.y+=e;for(let r of t.nestedSwimlanes)SE(r,e)}function MC(t,e,r,n){let i=[...t].sort((a,c)=>a.centerX-c.centerX),o=new Map,s=[];for(let a of i){let c=n(a.title,a.fontSize)*(a.bold?1.05:1),l=a.centerX+a.radius+6,u=a.centerX-a.radius-6-c,f=l+c<=r,d=u>=e,p=a.centerX-a.radius,m=a.centerX+a.radius,y=M=>M==="right"?l:u,T=M=>M==="right"?f:d,_=(M,B)=>{let G=Math.min(p,M),oe=Math.max(m,M+c);return s[B].some(L=>L.left<oe&&L.right>G)},v=-1,E="right",S=l;e:for(let M=s.length-1;M>=0;M--)for(let B of["right","left"]){if(!T(B))continue;let G=y(B);if(!_(G,M)){v=M,E=B,S=G;break e}}if(v===-1){for(let[M,B]of o)o.set(M,{...B,rowIndex:B.rowIndex+1});s=[[],...s],v=0,E=f?"right":"left",S=y(E)}let D=Math.min(p,S),N=Math.max(m,S+c);s[v].push({left:D,right:N}),o.set(a.id,{rowIndex:v,labelBox:{x:S,y:0,width:c,height:12},labelSide:E})}return{placements:o,rowCount:s.length}}function IG(t){return t.directive?.properties.find(r=>SG(r.key)==="locale")?.value}function SG(t){return t.endsWith(":")?t.slice(0,-1):t}function PG(t){switch(t){case"done":case"completed":return"done";case"in-progress":case"active":return"in-progress";case"at-risk":case"blocked":case"planned":return t;case void 0:return"planned";default:return"neutral"}}function OG(t){if(!t)return 0;let e=/^(\d{1,3})%$/.exec(t);return e?Math.max(0,Math.min(100,parseInt(e[1],10)))/100:0}function LG(t,e){if(t)return/^\d+(?:\.\d+)?[dwmqy]$/.test(t)||/^\d+%$/.test(t)?t:e.sizes.get(t)?.effortLiteral??t}function DG(t,e){if(t)return e.teams.get(t)?.title??e.persons.get(t)?.title??t}function $G(t){if(!t)return{icon:"none"};let e=t.toLowerCase();return e.includes("linear.app")?{icon:"linear",href:t}:e.includes("github.com")?{icon:"github",href:t}:e.includes("atlassian.net")||e.includes("jira.")?{icon:"jira",href:t}:{icon:"generic",href:t}}function sm(t,e,r,n,i){let o=aN(t,e),s=t.name??t.title??"",a=o.padding==="none"?"xs":o.padding,c=lN[a],l=Math.max(20,Math.round(s.length*5.5+c*2));return i!==void 0&&(l=Math.min(l,i)),{text:s,style:o,box:{x:r,y:n,width:l,height:13}}}function LE(t,e,r,n){let i=t.properties,o=yt("item",i,r.styleCtx),s=ae(i,"size"),a=s?r.sizes.get(s)??null:null,c=zi(i,r.sizes,r.cal),l=Vk(i,r.sizes,r.cal),u=gt(i,"after"),f=gt(i,"before"),d=ae(i,"date"),p=Wk(ae(i,"remaining"),r.sizes,r.cal),m=e.x,y=vt(d);if(y){let ue=r.scale.forwardWithinDomain(y);ue!==null&&(m=ue)}else if(u.length>0){let ue=e.x;for(let tt of u){let _t=vt(tt);if(_t){let ii=r.scale.forwardWithinDomain(_t);ii!==null&&(ue=Math.max(ue,ii));continue}let An=r.entityRightEdges.get(tt);An!==void 0&&(ue=Math.max(ue,An))}m=Math.max(e.x,ue)}let T=Math.max(Nr,c*r.timeline.pixelsPerDay),_=m,v=m+T,E=ae(i,"link"),S=$G(E),D=S.icon!=="none",N=Math.max(Nr,T-2*Yr),M=gt(i,"labels"),B=[];for(let ue of M){let tt=r.labels.get(ue);if(!tt)continue;let _t=sm(tt,r.styleCtx,0,0);B.push({id:tt,width:_t.box.width})}let G=0;for(let ue=0;ue<B.length;ue+=1)ue>0&&(G+=4),G+=B[ue].width;let oe=Math.max(0,N-24),L=B.length>0&&G>oe,R=!1,O,$;if(f.length>0){let ue,tt;for(let _t of f){let An=vt(_t),ii=An?r.scale.forwardWithinDomain(An)??void 0:r.entityLeftEdges.get(_t);ii!==void 0&&(ue===void 0||ii<ue)&&(ue=ii,tt=_t)}ue!==void 0&&v>ue&&(R=!0,O={x:ue,y:e.y,width:v-ue,height:r.bandScale.bandwidth()},$=tt)}let b=ae(i,"status"),A=PG(b),I=OG(b);I===0&&A==="done"&&(I=1);let F=/^(\d{1,3})%$/.exec(ae(i,"remaining")??"");I===0&&A==="in-progress"&&F&&(I=1-Math.max(0,Math.min(100,parseInt(F[1],10)))/100),I===0&&A==="in-progress"&&p>0&&l>0&&(I=Math.max(0,Math.min(1,1-p/l)));let j={done:"#ecfdf5","in-progress":"#eff6ff","at-risk":"#fffbeb",blocked:"#fee2e2",planned:"#f8fafc",neutral:"#f8fafc"},U={done:"#052e16","in-progress":"#172554","at-risk":"#422006",blocked:"#7f1d1d",planned:"#1e293b",neutral:"#1e293b"},W={done:"#ebebeb","in-progress":"#e4e4e4","at-risk":"#eeeeee",blocked:"#dcdcdc",planned:"#f5f5f5",neutral:"#f5f5f5"},Z={done:r.styleCtx.theme.status.done,"in-progress":r.styleCtx.theme.status.inProgress,"at-risk":r.styleCtx.theme.status.atRisk,blocked:r.styleCtx.theme.status.blocked,planned:r.styleCtx.theme.status.planned,neutral:r.styleCtx.theme.status.neutral},pe=r.styleCtx.theme.name,V=pe==="dark",te=V?"#0f172a":"#ffffff",De=pe==="grayscale"?"#9e9e9e":"#94a3b8";o.bg===te&&(o.bg=pe==="grayscale"?W[A]:V?U[A]:j[A]),o.fg===De&&(o.fg=Z[A]);let Ne=ae(i,"duration"),Xe=!!Ne&&/^\d+(?:\.\d+)?[dwmqy]$/.test(Ne),q=a?a.title??a.name:"",J=Xe?Ne:q||void 0,re=ae(i,"remaining"),C=LG(re,r),be=DG(n??ae(i,"owner"),r),me=()=>[J,be].filter(Boolean).join(" "),ve;if(A==="in-progress"&&C){let ue=me();ve=ue?`${ue} \u2014 ${C} remaining`:`${C} remaining`}else if(A==="in-progress"&&I>0&&I<1){let ue=Math.round((1-I)*100),tt=me();ve=tt?`${tt} \u2014 ${ue}% remaining`:`${ue}% remaining`}else(be||J)&&(ve=me()||void 0);let Tt=ae(i,"capacity"),X=oi(Tt),Cr=null,Tr=0;if(X!==null){let ue=Ac(X),tt=Ic(o.capacityIcon,r.symbols);Cr={value:X,text:ue,icon:tt};let _t=11;Tr=(ve?wn(" ",_t):0)+to(ue,tt,_t)}let Pr=t.title??t.name??"",fs=new Lh({id:t.name??"",title:Pr,logicalLeftX:_,logicalRightX:v,metaText:ve,metaTrailingWidth:Tr,hasLinkIcon:D}).place({x:_,y:e.y},{time:r.scale,bands:r.bandScale,style:o}),_e=fs.box,Or=r.bandScale.bandwidth(),Qi=_e.width<17,bn=D&&_e.width<41,_r=_e.width<23,Ht=fs.textSpills||bn,bt=null;L&&(bt=_m(B,_e.width));let x=bt?bt.rows.length:B.length>0?1:0,P=ve!==void 0||Cr!==null,z=jC(L,Ht,x,Or,P);z>0&&(_e.height=Or+z);let Y=[],$e=_e.y+Or-_n-13-3,Ce=_e.y+38+3,Ye=L&&Ht||!L&&P&&B.length>0?Math.max($e,Ce):$e,ge=L?_e.x+_e.width+6:_e.x+12,Ue=ge;if(bt)for(let ue=0;ue<bt.rows.length;ue+=1){let tt=Ye+ue*17,_t=ge;for(let ii of bt.rows[ue]){let o0=sm(ii.id,r.styleCtx,_t,tt);Y.push(o0),_t+=o0.box.width+4}let An=_t-4;An>Ue&&(Ue=An)}else{let ue=ge;for(let tt of B){let _t=sm(tt.id,r.styleCtx,ue,Ye);Y.push(_t),ue+=_t.box.width+4}Ue=B.length>0?ue-4:ge}let Ae=new Set;if(t.name){for(let[ue,tt]of r.footnoteHosts.entries())if(tt.includes(t.name)){let _t=r.footnoteIndex.get(ue);_t!==void 0&&Ae.add(_t)}}let Ke=[...Ae].sort((ue,tt)=>ue-tt),st=be??n??ae(i,"owner"),Jt=t.description?.text,ds=Ke.length>0&&_r,Qt=_e.x+_e.width+6,tn=!1,lf=null;bn&&(tn&&(Qt+=4),lf=Qt,Qt=lf+14,tn=!0);let K=0;if(Ht){tn&&(Qt+=4);let ue=wn(Pr,13),tt=(ve?wn(ve,11):0)+Tr;K=Math.max(ue,tt),Qt+=K,tn=!0}let le=null;ds&&(tn&&(Qt+=4),le=Qt,Qt+=Ke.length*8,tn=!0);let je=null;Qi&&(tn&&(Qt+=4),je=Qt+5,Qt=je+5,tn=!0);let Lr=Math.max(_e.x+_e.width,Qt),eo=t.name;eo&&(r.entityLeftEdges.set(eo,_),r.entityRightEdges.set(eo,v));let ni=eo??HC(t);r.entityMidpoints.set(ni,{x:(_+v)/2,y:_e.y+_e.height/2}),r.entityVisualLeftX.set(ni,_e.x),r.entityVisualRightX.set(ni,_e.x+_e.width);let xm=Ht?{x:_e.x+_e.width,y:_e.y+_e.height-_n/2}:{x:_e.x+_e.width,y:_e.y+_e.height/2};r.itemArrowSource.set(ni,xm),r.itemFlowKey.set(ni,r.currentFlowKey);let uf=Ht?_e.y+_e.height-_n/2:_e.y+_e.height/2;r.itemSlackAttachY.set(ni,uf),e.x=v,e.maxX=Math.max(e.maxX,e.x),e.height=Math.max(e.height,r.bandScale.step()+z);let i0=tN({box:_e,afterDate:Vn(u),beforeDate:Vn(f),hasLinkIcon:D,footnoteCount:Ke.length});return{kind:"item",id:eo,title:Pr,box:_e,status:A,progressFraction:I,footnoteIndicators:Ke,labelChips:Y,chipsOutside:L,chipsRightX:Ue,linkIcon:S.icon,linkHref:S.href,hasOverflow:R,overflowBox:O,overflowAnchorId:$,owner:st,description:Jt,metaText:ve,textSpills:Ht,dotSpills:Qi,iconSpills:bn,footnoteSpills:ds,dotSpillCx:je,iconSpillX:lf,footnoteSpillStartX:le,decorationsRightX:Lr,capacity:Cr,size:a,style:o,inlineDatePins:i0.length>0?i0:void 0}}function MG(t,e,r){return new Dh(t,{sequenceOne:DE,newCursor:Eh}).place(e,r)}function FG(t,e,r){return new Oh(t,{sequenceItem:LE,sequenceOne:DE,resolveChildStart:qC,newCursor:Eh,estimateTextWidth:wn,predictItemChipExtraHeight:zC}).place(e,r)}function DE(t,e,r){if(gr(t))return LE(t,e,r);if(Wr(t))return MG(t,e,r);if(qr(t))return FG(t,e,r);throw new Error(`Unknown swimlane child type: ${t.$type??"unknown"}`)}function wn(t,e){return t.length*e*.58}function HC(t){let e=t.$cstNode?.range.start;return`#item@${e?e.line+1:0}:${e?e.character+1:0}`}function jC(t,e,r,n,i){if(r===0)return 0;let o=n-_n-13-3,s=41,a;t&&e?a=s:!t&&i?a=Math.max(o,s):a=o;let l=a+(r-1)*17+13+3+_n;return Math.max(0,l-n)}function zC(t,e){let r=t.properties,n=gt(r,"labels");if(n.length===0)return 0;let i=zi(r,e.sizes,e.cal),o=Math.max(Nr,i*e.timeline.pixelsPerDay),s=Math.max(Nr,o-2*Yr),a=[];for(let _ of n){let v=e.labels.get(_);if(!v)continue;let E=sm(v,e.styleCtx,0,0);a.push({id:v,width:E.box.width})}if(a.length===0)return 0;let c=0;for(let _=0;_<a.length;_+=1)_>0&&(c+=4),c+=a[_].width;let l=Math.max(0,s-24),u=c>l,f=ae(r,"duration")!==void 0||ae(r,"size")!==void 0||ae(r,"owner")!==void 0||ae(r,"remaining")!==void 0||ae(r,"capacity")!==void 0,d=t.title??t.name??"",m=(d?wn(d,13):0)>l,y=u?_m(a,s):null,T=y?y.rows.length:a.length>0?1:0;return jC(u,m,T,e.bandScale.bandwidth(),f)}function qC(t,e,r,n){let i=vt(ae(t,"date"))??vt(ae(t,"start"));if(i){let s=n.scale.forwardWithinDomain(i);if(s!==null)return s}let o=gt(t,"after");if(o.length>0){let s=r;for(let a of o){let c=vt(a);if(c){let u=n.scale.forwardWithinDomain(c);u!==null&&(s=Math.max(s,u));continue}let l=n.entityRightEdges.get(a);l!==void 0&&(s=Math.max(s,l))}return Math.max(r,s)}return e}var kE=6;function UC(t,e,r){if(!t)return[];let n=t.split(/\s+/).filter(s=>s.length>0);if(n.length===0)return[];let i=[],o="";for(let s of n){let a=o?`${o} ${s}`:s;o&&wn(a,r)>e?(i.push(o),o=s):o=a}return o&&i.push(o),i}function UG(t,e){let r=j_-32,n=UC(t,r,16),i=UC(e??"",r,11),o=0;for(let d of n)o=Math.max(o,wn(d,16));for(let d of i)o=Math.max(o,wn(d,11));let s=o+32,a=Math.max(fN-kE,Math.min(j_-kE,s)),c=n.length>0?(n.length-1)*20:0,l=i.length>0?18+(i.length-1)*14:0,u=26+c+l+14,f=a+kE;return{titleLines:n,authorLines:i,cardWidth:a,cardHeight:u,boxWidth:f}}function BG(t,e,r,n,i){let s=t.roadmapDecl?.properties??[],a=ae(s,"start"),c=vt(a)??GG(n),l=ae(s,"length");if(l){let p=XG(l,e.cal);if(p>0)return{startDate:c,endDate:Zo(c,p)}}let u=WC(r,e,c,n),f=bC(i.unit,e.cal),d=u>0?Math.ceil(u/f)*f:4*e.cal.daysPerWeek;return{startDate:c,endDate:Zo(c,Math.max(1,d))}}function GG(t){let e=t??new Date;return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()))}function XG(t,e){let r=/^(\d+(?:\.\d+)?)([dwmqy])$/.exec(t);if(!r)return 0;let n=parseFloat(r[1]);switch(r[2]){case"d":return n;case"w":return n*e.daysPerWeek;case"m":return n*e.daysPerMonth;case"q":return n*e.daysPerQuarter;case"y":return n*e.daysPerYear;default:return 0}}function WC(t,e,r,n){let i=new Map,o=new Map,s=new Map,a=0,c=f=>{let d=vt(f);return d?kr(r,d):i.has(f)?i.get(f):o.has(f)?o.get(f):s.has(f)?s.get(f):0};for(let f of t.content.anchors.values()){let d=vt(ae(f.properties,"date"));if(d&&f.name){let p=kr(r,d);o.set(f.name,p),a=Math.max(a,p)}}let l=(f,d)=>{let p=d;for(let m of f)m.$type!=="DescriptionDirective"&&(p=u(m,p),a=Math.max(a,p));return p},u=(f,d)=>{if(gr(f)){let p=zi(f.properties,e.sizes,e.cal),m=vt(ae(f.properties,"date")),y=vt(ae(f.properties,"start")),T=gt(f.properties,"after"),_=d;m?_=kr(r,m):y?_=kr(r,y):T.length>0&&(_=Math.max(d,...T.map(c)));let v=_+p;return f.name&&i.set(f.name,v),v}if(Wr(f)){let p=gt(f.properties,"after"),m=p.length>0?Math.max(d,...p.map(c)):d,y=m;for(let T of f.content){if(T.$type==="DescriptionDirective")continue;let _=u(T,m);y=Math.max(y,_)}return y}if(qr(f)){let p=gt(f.properties,"after"),m=p.length>0?Math.max(d,...p.map(c)):d;return l(f.content,m)}return d};for(let f of t.content.swimlanes.values())l(f.content,0);for(let f of t.content.milestones.values()){let d=vt(ae(f.properties,"date"));if(d){let m=kr(r,d);f.name&&s.set(f.name,m),a=Math.max(a,m);continue}let p=gt(f.properties,"after");if(p.length>0){let m=Math.max(0,...p.map(c));f.name&&s.set(f.name,m),a=Math.max(a,m)}}for(let f of t.content.isolatedRegions){let d=WC({config:f.config,content:f.content,diagnostics:[],processedFiles:new Set},e,r,void 0);a=Math.max(a,d)}if(n){let f=kr(r,n);f>0&&(a=Math.max(a,f))}return a}function HG(t,e,r,n){let i=new yh(Yk(e,r)),o=[],s=[];for(let[l,u]of t){let f=gt(u.properties,"after"),d=n.entityMidpoints.get(l),p=n.entityVisualLeftX.get(l);if(!d||p===void 0)continue;let m={x:p,y:d.y};for(let y of f){let T=n.itemArrowSource.get(y),_,v=T===void 0;if(T)_=T;else{let E=n.entityMidpoints.get(y);if(!E)continue;_={x:E.x,y:d.y}}!v&&Math.abs(_.y-m.y)<.5&&m.x-_.x<20||(o.push({fromId:y,toId:l,from:_,to:m,isMarkerSource:v}),s.push({fromId:y,toId:l}))}}let a=Kk(o,i),c=[];for(let l=0;l<a.length;l++){let u=a[l];c.push({fromId:s[l].fromId,toId:s[l].toId,waypoints:u.waypoints,kind:u.underBar?"underBar":"normal",style:yt("item",[],n.styleCtx)})}return c}function jG(t,e,r){if(!t)return null;let n=e.scale.forwardWithinDomain(t);if(n===null)return null;let i=e.timeline.box.y,o=e.timeline.tickPanelY,s=xh(r).nowLabel,a=wn(s,Fu),c=Math.max(G_,Math.ceil(a+2*lc)),l=e.timeline.originX-Kr,u=c/2,f;n-u<l?f="flag-right":n+u>e.chartRightX?f="flag-left":f="center";let d=e.timeline.bottomTickPanelY,p=e.timeline.bottomTickPanelHeight??0,m=d!==void 0&&p>0?d+p:e.swimlaneBottomY;return{x:n,topY:o,bottomY:m,pillTopY:i,pillMode:f,label:s,pillWidth:c,style:yt("item",[],e.styleCtx)}}function zG(t){let e=new Map,r=n=>{if(gr(n)){e.set(n.name??HC(n),n);return}if(Wr(n)){for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return}if(qr(n)){for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return}};for(let n of t)for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return e}function $E(t,e,r={}){return new om().place(t,e,r,{sequenceItem:LE,sequenceOne:DE,resolveChildStart:qC,newCursor:Eh,estimateTextWidth:wn,predictItemChipExtraHeight:zC,computeDateWindow:BG,sizeBesideHeader:UG,collectItems:zG,buildDependencies:HG,buildNowline:jG})}var ls=class extends Error{constructor(e){super(e),this.name="TimezoneError"}};function ME(t){if(!t||t.toLowerCase()==="local")return{kind:"local"};if(t.toUpperCase()==="UTC")return{kind:"utc"};if(t==="Z")return{kind:"offset",ms:0};let e=/^([+-])(\d{2})(?::?(\d{2}))?$/.exec(t);if(e){let r=e[1]==="+"?1:-1,n=parseInt(e[2],10),i=e[3]!==void 0?parseInt(e[3],10):0;if(n>23||i>59)throw new ls(`nowline: invalid timezone offset "${t}". Hours must be 0\u201323 and minutes 0\u201359.`);return{kind:"offset",ms:r*(n*60+i)*6e4}}try{return{kind:"iana",name:Intl.DateTimeFormat(void 0,{timeZone:t}).resolvedOptions().timeZone}}catch{throw new ls(`nowline: unrecognised timezone "${t}". Use "local", "UTC", an ISO 8601 offset (e.g. "+05:30", "-07:00", "Z"), or an IANA timezone name (e.g. "America/Los_Angeles", "Asia/Kolkata").`)}}function fm(t,e){switch(e.kind){case"local":return new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate()));case"utc":return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()));case"offset":{let r=new Date(t.getTime()+e.ms);return new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate()))}case"iana":{let r=new Intl.DateTimeFormat("en-CA",{timeZone:e.name,year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(t),n=0,i=0,o=0;for(let s of r)s.type==="year"?n=parseInt(s.value,10):s.type==="month"?i=parseInt(s.value,10)-1:s.type==="day"&&(o=parseInt(s.value,10));return new Date(Date.UTC(n,i,o))}}}var qG=/^(\d{4})-(\d{2})-(\d{2})$/,WG=/^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?)(Z|([+-])(\d{2})(?::?(\d{2}))?)$/,VG=/^(\d{4})-(\d{2})-(\d{2})T\d{2}:\d{2}:\d{2}(?:\.\d+)?$/;function FE(t={}){let e=t.zone??{kind:"local"},r=t.clock??(()=>new Date),n=t.now;if(!(n==="-"||n===null)){if(n instanceof Date)return n;if(n!==void 0){let i=qG.exec(n);if(i)return new Date(Date.UTC(parseInt(i[1],10),parseInt(i[2],10)-1,parseInt(i[3],10)));let o=WG.exec(n);if(o){let a=new Date(n);if(!Number.isNaN(a.getTime())){if(o[2]==="Z")return fm(a,{kind:"utc"});let l=o[3]==="+"?1:-1,u=parseInt(o[4],10),f=o[5]!==void 0?parseInt(o[5],10):0,d=l*(u*60+f)*6e4;return fm(a,{kind:"offset",ms:d})}}let s=VG.exec(n);return s?new Date(Date.UTC(parseInt(s[1],10),parseInt(s[2],10)-1,parseInt(s[3],10))):void 0}return fm(r(),e)}}function VC(t,e){return{severity:t.severity===2?"warning":"error",code:Rm(t),message:t.message,suggestion:vm(t.message),file:e,line:(t.range?.start.line??0)+1,column:(t.range?.start.character??0)+1}}function YC(t,e){return{severity:"error",code:"parse-error",message:t.message,file:e,line:t.token?.startLine??1,column:t.token?.startColumn??1}}function KC(t,e){return{severity:"error",code:"lex-error",message:t.message,file:e,line:t.line??1,column:t.column??1}}function ZC(t){return{severity:t.severity,code:"include",message:t.message,file:t.sourcePath,line:t.line!==void 0?t.line+1:1,column:1}}function JC(t,e,r="warning"){return{severity:r,code:"render.warning",message:t,file:e,line:1,column:1}}var QC="__nowline_browser_noop_include__";async function eP(t){throw new Error(`${QC}: include "${t}" was skipped \u2014 running in single-file mode.`)}function tP(t){return t.includes(QC)}var Ji={person:{viewBox:"0 0 24 24",body:'<circle cx="12" cy="8" r="4" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M4 21a8 8 0 0 1 16 0" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"p"},people:{viewBox:"0 0 24 24",body:'<path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><circle cx="9" cy="7" r="4" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M22 21v-2a4 4 0 0 0-3-3.87" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M16 3.13a4 4 0 0 1 0 7.75" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"P"},points:{viewBox:"0 0 24 24",body:'<polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" fill="currentColor" stroke="currentColor" stroke-width="1" stroke-linejoin="round"/>',ascii:"*"},time:{viewBox:"0 0 24 24",body:'<line x1="10" x2="14" y1="2" y2="2" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="12" x2="15" y1="14" y2="11" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><circle cx="12" cy="14" r="8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"t"}},YG={calendar:{viewBox:"0 0 24 24",body:'<rect x="3" y="4" width="18" height="18" rx="2" ry="2" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="16" x2="16" y1="2" y2="6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="8" x2="8" y1="2" y2="6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="3" x2="21" y1="10" y2="10" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"d"}},rP={...Ji,...YG};var $se={none:"",multiplier:"x",person:Ji.person.ascii,people:Ji.people.ascii,points:Ji.points.ascii,time:Ji.time.ascii};var dm=class{constructor(e="nl"){de(this,"prefix");de(this,"counter",0);this.prefix=e}next(e){let r=`${this.prefix}-${this.counter++}`;return e?`${r}-${e}`:r}};var KG=new Set(["svg","g","defs","symbol","use","path","rect","circle","ellipse","line","polyline","polygon","text","tspan","title","desc","linearGradient","radialGradient","stop","clipPath","mask","pattern","filter","feGaussianBlur","feColorMatrix","feOffset","feMerge","feMergeNode","feFlood","feComposite","feBlend","feDropShadow","image"]),ZG=new Set(["d","x","y","x1","y1","x2","y2","cx","cy","r","rx","ry","width","height","viewBox","preserveAspectRatio","fill","fill-opacity","fill-rule","stroke","stroke-width","stroke-opacity","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-dasharray","stroke-dashoffset","opacity","transform","points","id","class","clip-path","mask","filter","font-family","font-size","font-weight","font-style","text-anchor","dx","dy","rotate","letter-spacing","word-spacing","style","xmlns","href","xlink:href","offset","stop-color","stop-opacity","gradientUnits","gradientTransform","spreadMethod","maskUnits","maskContentUnits","stdDeviation","values","in","in2","mode","type","result","flood-color","flood-opacity","patternUnits","patternContentUnits","role","aria-label"]);function JG(t){let e=[],r=0,n=t.length;for(;r<n;){if(t[r]!=="<"){let u=r;for(;r<n&&t[r]!=="<";)r++;let f=t.slice(u,r);f.trim().length>0?e.push({kind:"text",text:f}):f.length>0&&e.push({kind:"text",text:f});continue}if(t.startsWith("<!--",r)){let u=t.indexOf("-->",r+4);if(u<0)break;e.push({kind:"comment",text:t.slice(r+4,u)}),r=u+3;continue}if(t.startsWith("<![CDATA[",r)){let u=t.indexOf("]]>",r+9);if(u<0)break;e.push({kind:"cdata",text:t.slice(r+9,u)}),r=u+3;continue}if(t.startsWith("<?",r)){let u=t.indexOf("?>",r+2);if(u<0)break;e.push({kind:"decl",text:t.slice(r+2,u)}),r=u+2;continue}if(t.startsWith("<!",r)){let u=t.indexOf(">",r+2);if(u<0)break;e.push({kind:"decl",text:t.slice(r+2,u)}),r=u+1;continue}if(t[r+1]==="/"){let u=t.indexOf(">",r+2);if(u<0)break;let f=t.slice(r+2,u).trim();e.push({kind:"close",name:f}),r=u+1;continue}let i=QG(t,r);if(i<0)break;let o=t.slice(r+1,i).trim(),s=o.endsWith("/"),a=s?o.slice(0,-1).trim():o,{name:c,attrs:l}=eX(a);e.push({kind:s?"self":"open",name:c,attrs:l}),r=i+1}return e}function QG(t,e){let r=e+1,n=null;for(;r<t.length;){let i=t[r];if(n)i===n&&(n=null);else if(i==='"'||i==="'")n=i;else if(i===">")return r;r++}return-1}function eX(t){let e=0;for(;e<t.length&&/\s/.test(t[e]);)e++;let r=e;for(;e<t.length&&!/\s/.test(t[e]);)e++;let n=t.slice(r,e),i={};for(;e<t.length;){for(;e<t.length&&/\s/.test(t[e]);)e++;if(e>=t.length)break;let o=e;for(;e<t.length&&t[e]!=="="&&!/\s/.test(t[e]);)e++;let s=t.slice(o,e);if(e>=t.length||t[e]!=="="){s&&(i[s]="");continue}if(e++,e>=t.length)break;let a=t[e];if(a!=='"'&&a!=="'"){let l=e;for(;e<t.length&&!/\s/.test(t[e]);)e++;i[s]=t.slice(l,e);continue}e++;let c=e;for(;e<t.length&&t[e]!==a;)e++;i[s]=t.slice(c,e),e<t.length&&e++}return{name:n,attrs:i}}function rf(t){return t.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function tX(t,e){if(t.startsWith("#")){let r=e.get(t.slice(1));return r?`#${r}`:null}if(/^url\(#[^)]+\)$/.test(t)){let r=t.slice(5,-1),n=e.get(r);return n?`url(#${n})`:null}return null}function nP(t,e={}){let r=e.idPrefix??"nl-logo",n=e.onWarn??(()=>{}),i=JG(t),o=new Map,s=0;for(let l of i)if((l.kind==="open"||l.kind==="self")&&l.attrs&&"id"in l.attrs){let u=l.attrs.id;u&&!o.has(u)&&o.set(u,`${r}-${s++}`)}let a=[],c=[];for(let l of i)if(l.kind!=="comment"&&l.kind!=="decl"){if(l.kind==="cdata"){c[c.length-1]&&a.push(rf(l.text??""));continue}if(l.kind==="text"){if(c.length===0||c[c.length-1]){let u=(l.text??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");a.push(u)}continue}if(l.kind==="open"||l.kind==="self"){let u=l.name??"";if(u==="script"||u==="foreignObject"||u==="animate"||u==="animateTransform"||u==="animateMotion"||u==="set"){n(`sanitizer: dropping <${u}>`),l.kind==="open"&&c.push(!1);continue}if(!KG.has(u)){n(`sanitizer: dropping unknown element <${u}>`),l.kind==="open"&&c.push(!1);continue}let f=[`<${u}`],d=Object.keys(l.attrs??{}).sort();for(let p of d){let m=l.attrs[p];if(/^on/i.test(p)){n(`sanitizer: dropping event handler ${p}`);continue}if(!ZG.has(p)){n(`sanitizer: dropping attribute ${p}`);continue}if(p==="href"||p==="xlink:href"){let y=tX(m,o);if(y===null){n(`sanitizer: dropping external href ${m}`);continue}f.push(` ${p}="${rf(y)}"`);continue}if(p==="style"){n("sanitizer: dropping inline style");continue}if(p==="id"){let y=o.get(m);y&&f.push(` id="${rf(y)}"`);continue}if(/\burl\(#/i.test(m)){let y=m.replace(/url\(#([^)]+)\)/gi,(T,_)=>{let v=o.get(_);return v?`url(#${v})`:"none"});f.push(` ${p}="${rf(y)}"`);continue}if(/data:|javascript:|vbscript:/i.test(m)){n(`sanitizer: dropping suspicious value at ${p}`);continue}f.push(` ${p}="${rf(m)}"`)}f.push(l.kind==="self"?"/>":">"),a.push(f.join("")),l.kind==="open"&&c.push(!0);continue}l.kind==="close"&&c.pop()&&a.push(`</${l.name}>`)}return a.join("")}var iP=/&/g,oP=/</g,sP=/>/g,rX=/"/g,nX=/'/g;function cr(t){return t.replace(iP,"&").replace(oP,"<").replace(sP,">")}function ei(t){return t.replace(iP,"&").replace(oP,"<").replace(sP,">").replace(rX,""").replace(nX,"'")}function wc(t){let e=Object.keys(t).sort(),r=[];for(let n of e){let i=t[n];i==null||i===!1||(i===!0?r.push(n):r.push(`${n}="${ei(String(i))}"`))}return r.length?` ${r.join(" ")}`:""}function Q(t,e,r){return r===void 0||r===""?`<${t}${wc(e)}/>`:`<${t}${wc(e)}>${r}</${t}>`}function Le(t,e){return`<text${wc(t)}>${cr(e)}</text>`}function h(t){return Number.isFinite(t)?Number.isInteger(t)?t.toString():(Math.round(t*100)/100).toString():"0"}var iX={none:{dx:0,dy:0,stdDeviation:0,opacity:0},subtle:{dx:0,dy:1,stdDeviation:1.5,opacity:.2},soft:{dx:0,dy:3,stdDeviation:5,opacity:.3},hard:{dx:2,dy:2,stdDeviation:0,opacity:.45}};function oX(t,e){let r=`${t}-shadow-${e}`,n=iX[e],i=`<feGaussianBlur in="SourceAlpha" stdDeviation="${n.stdDeviation}"/><feOffset dx="${n.dx}" dy="${n.dy}" result="offsetblur"/><feComponentTransfer><feFuncA type="linear" slope="${n.opacity}"/></feComponentTransfer><feMerge><feMergeNode/><feMergeNode in="SourceGraphic"/></feMerge>`;return Q("filter",{id:r,x:"-50%",y:"-50%",width:"200%",height:"200%"},i)}function aP(t,e){return e==="none"?null:`url(#${t}-shadow-${e})`}function cP(t){return["subtle","soft","hard"].map(e=>oX(t,e)).join("")}var uX={thin:100,light:300,normal:400,bold:700};function fX(t){return ac[t]??14}function BE(t,e,r){return{"font-family":e[t.font],"font-size":r??fX(t.textSize),"font-weight":uX[t.weight]??400,"font-style":t.italic?"italic":"normal",fill:t.text}}function dX(t){if(t.border==="dashed")return"4 3";if(t.border==="dotted")return"1 3"}function pX(t){if(!t||t==="none"||t==="transparent")return 1;let e=t.startsWith("#")?t.slice(1):t;if(e.length===3&&(e=e.split("").map(s=>s+s).join("")),e.length!==6)return 1;let r=parseInt(e.slice(0,2),16)/255,n=parseInt(e.slice(2,4),16)/255,i=parseInt(e.slice(4,6),16)/255,o=s=>s<=.03928?s/12.92:((s+.055)/1.055)**2.4;return .2126*o(r)+.7152*o(n)+.0722*o(i)}function hX(t,e){return pX(t)>=.24?e.statusDot.onLight:e.statusDot.onDark}function UE(t,e){return t.length*e*.58}function dP(t,e,r,n,i,o,s){let a=i*.58,c=e?UE(e,i):0,l=e?a:0,u=r+c+l,{text:f,icon:d}=t,p=UE(f,i),m={"font-family":o,"font-size":i,fill:s};if(!d)return Le({x:h(u),y:h(n),...m},f);if(d.kind==="builtin"&&d.name==="multiplier")return Le({x:h(u),y:h(n),...m},`${f}\xD7`);if(d.kind==="builtin"){let T=Ji[d.name],_=Le({x:h(u),y:h(n),...m},f),v=i*.1,E=i,S=u+p+v,D=n-i*.85,N=`<svg x="${h(S)}" y="${h(D)}" width="${h(E)}" height="${h(E)}" viewBox="${T.viewBox}" style="color:${ei(s)}" aria-hidden="true">${T.body}</svg>`;return _+N}let y=h(i*.1);return`<text x="${h(u)}" y="${h(n)}" font-family="${ei(o)}" font-size="${i}" fill="${ei(s)}">${cr(f)}<tspan dx="${y}">${cr(d.text)}</tspan></text>`}var lP=.6,mX=.5;function gX(t){let{metaText:e,capacity:r,x:n,baselineY:i,fontSize:o,fontFamily:s,color:a}=t;if(!e&&!r)return"";let c={"font-family":s,"font-size":o,fill:a};if(!r)return Le({x:h(n),y:h(i),...c},e);if(!e)return dP(r,void 0,n,i,o,s,a);let l=h(o*lP),u=`<text x="${h(n)}" y="${h(i)}" font-family="${ei(s)}" font-size="${o}" fill="${ei(a)}">`,{text:f,icon:d}=r;if(!d)return u+cr(e)+`<tspan dx="${l}">${cr(f)}</tspan></text>`;if(d.kind==="builtin"&&d.name==="multiplier")return u+cr(e)+`<tspan dx="${l}">${cr(f)}\xD7</tspan></text>`;if(d.kind==="literal"){let N=h(o*.1);return u+cr(e)+`<tspan dx="${l}">${cr(f)}</tspan><tspan dx="${N}">${cr(d.text)}</tspan></text>`}let p=Ji[d.name],m=N=>N.length*o*mX,y=n+m(e)+o*lP,T=o*.1,_=o,v=y+m(f)+T,E=i-o*.85,S=u+cr(e)+`<tspan dx="${l}">${cr(f)}</tspan></text>`,D=`<svg x="${h(v)}" y="${h(E)}" width="${h(_)}" height="${h(_)}" viewBox="${p.viewBox}" style="color:${ei(a)}" aria-hidden="true">${p.body}</svg>`;return S+D}function yX(t,e){let r=rP.calendar,n=`<svg x="${h(t.glyphTopLeft.x)}" y="${h(t.glyphTopLeft.y)}" width="${h(t.glyphSize)}" height="${h(t.glyphSize)}" viewBox="${r.viewBox}" style="color:${ei(e)}" aria-hidden="true">${r.body}</svg>`,i=`<title>${cr(t.isoDate)}</title>`;return Q("g",{"data-layer":"inline-date-pin","data-side":t.side,"data-date":t.isoDate,"data-spilled":t.spilled?"true":null},i+n)}function GE(t,e){return!t||t.length===0?"":t.map(r=>yX(r,e)).join("")}function xX(t,e,r,n,i,o={}){let s=Math.min(vh[i.cornerRadius]??4,n/2);return Q("rect",{x:h(t),y:h(e),width:h(r),height:h(n),rx:h(s),ry:h(s),fill:i.bg==="none"?"transparent":i.bg,stroke:i.fg,"stroke-width":1,"stroke-dasharray":dX(i)??null,...o})}function TX(t,e,r,n){let i=t.box.x+t.cardBox.x,o=t.box.y+t.cardBox.y,s=t.cardBox.width,a=t.cardBox.height,c=t.style.bg==="none"?r.surface.headerBox:t.style.bg,l=r.header.cardBorder,u=Q("rect",{x:h(i),y:h(o),width:h(s),height:h(a),rx:6,ry:6,fill:c,stroke:l,"stroke-width":1,filter:`url(#${e}-shadow-subtle)`}),f=[];t.titleLines.forEach((_,v)=>{f.push(Le({x:h(i+16),y:h(o+26+v*20),"font-family":n[t.style.font],"font-size":16,"font-weight":600,fill:t.style.text},_))});let d=f.join(""),p=o+26+Math.max(0,t.titleLines.length-1)*20,m=r.header.author,y=[];t.authorLines.forEach((_,v)=>{y.push(Le({x:h(i+16),y:h(p+18+v*14),"font-family":n[t.style.font],"font-size":11,fill:m},_))});let T=y.join("");return Q("g",{"data-layer":"header","data-id":`${e}-header`},u+d+T)}function _X(t,e,r){let n=r.timeline.gridLine,i=r.timeline.minorGridLine,o=t.bottomTickPanelHeight??0,s=t.bottomTickPanelY!==void 0&&o>0,a=t.tickPanelY,c=s?t.bottomTickPanelY+o:t.box.y+t.box.height,l=e,u=t.box.y+t.box.height,f=[];for(let d of t.ticks)if(d.major)f.push(Q("line",{x1:h(d.x),y1:h(a),x2:h(d.x),y2:h(c),stroke:n,"stroke-width":1}));else if(t.minorGrid){if(d.labelX===void 0)continue;f.push(Q("line",{x1:h(d.x),y1:h(l),x2:h(d.x),y2:h(u),stroke:i,"stroke-width":1}))}return Q("g",{"data-layer":"grid"},f.join(""))}function EX(t,e,r){let n=e.timeline.panelFill,i=e.timeline.border,o=e.timeline.labelText,s=[],a=t.tickPanelY,c=t.tickPanelHeight,l=c>0,u=t.markerRow.height>0,f=a+c,d=t.markerRow.height,p=t.bottomTickPanelY,m=t.bottomTickPanelHeight??0,y=p!==void 0&&m>0;l&&s.push(Q("rect",{x:h(t.box.x),y:h(a),width:h(t.box.width),height:h(c),rx:4,ry:4,fill:n,stroke:i,"stroke-width":1})),u&&s.push(Q("rect",{x:h(t.box.x),y:h(f),width:h(t.box.width),height:h(d),rx:4,ry:4,fill:n,stroke:i,"stroke-width":1})),y&&s.push(Q("rect",{x:h(t.box.x),y:h(p),width:h(t.box.width),height:h(m),rx:4,ry:4,fill:n,stroke:i,"stroke-width":1}));for(let T of t.ticks)T.major&&(!T.label||T.labelX===void 0||(l&&s.push(Le({x:h(T.labelX),y:h(a+Rh),"font-family":r.sans,"font-size":10,fill:o,"text-anchor":"middle"},T.label)),y&&s.push(Le({x:h(T.labelX),y:h(p+Rh),"font-family":r.sans,"font-size":10,fill:o,"text-anchor":"middle"},T.label))));return Q("g",{"data-layer":"timeline"},s.join(""))}function vX(t,e,r){if(!t)return"";let n=e.nowline.stroke,i=e.nowline.labelText,o=Q("line",{x1:h(t.x),y1:h(t.topY),x2:h(t.x),y2:h(t.bottomY),stroke:n,"stroke-width":Sh}),s=RX(t,n),a=wX(t,i,r);return Q("g",{"data-layer":"nowline"},o+s+a)}function pP(t){let e=Sh/2;return t.pillMode==="flag-right"?t.x-e:t.pillMode==="flag-left"?t.x+e:t.x}function RX(t,e){let r=t.pillTopY,n=t.pillTopY+qi,i=X_,o=t.pillWidth;if(t.pillMode==="center")return Q("rect",{x:h(t.x-o/2),y:h(r),width:h(o),height:h(qi),rx:i,ry:i,fill:e});let s=pP(t);if(t.pillMode==="flag-right"){let l=s+o,u=[`M ${h(s)} ${h(r)}`,`L ${h(l-i)} ${h(r)}`,`A ${i} ${i} 0 0 1 ${h(l)} ${h(r+i)}`,`L ${h(l)} ${h(n-i)}`,`A ${i} ${i} 0 0 1 ${h(l-i)} ${h(n)}`,`L ${h(s)} ${h(n)}`,"Z"].join(" ");return Q("path",{d:u,fill:e})}let a=s-o,c=[`M ${h(s)} ${h(r)}`,`L ${h(a+i)} ${h(r)}`,`A ${i} ${i} 0 0 0 ${h(a)} ${h(r+i)}`,`L ${h(a)} ${h(n-i)}`,`A ${i} ${i} 0 0 0 ${h(a+i)} ${h(n)}`,`L ${h(s)} ${h(n)}`,"Z"].join(" ");return Q("path",{d:c,fill:e})}function wX(t,e,r){let n=t.pillTopY+H_,i=pP(t),o,s;return t.pillMode==="center"?(o=t.x,s="middle"):t.pillMode==="flag-right"?(o=i+lc,s="start"):(o=i-lc,s="end"),Le({x:h(o),y:h(n),"font-family":r.sans,"font-size":Fu,"font-weight":700,fill:e,"text-anchor":s},t.label)}function bX(t,e,r,n,i){let o=[],s=aP(r,t.style.shadow);o.push(xX(t.box.x,t.box.y,t.box.width,t.box.height,t.style,{filter:s??null}));let a=hX(t.style.bg,n),c={done:a.done,"in-progress":a.inProgress,"at-risk":a.atRisk,blocked:a.blocked,planned:a.planned,neutral:a.neutral},l=c[t.status]??c.neutral;if(t.progressFraction>0){let T=Math.max(0,Math.min(t.box.width,t.box.width*t.progressFraction));o.push(Q("rect",{x:h(t.box.x),y:h(t.box.y+t.box.height-_n),width:h(T),height:_n,fill:t.style.fg,opacity:.55}))}let u=t.dotSpills&&t.dotSpillCx!==null?t.dotSpillCx:t.box.x+t.box.width-12;o.push(Q("circle",{cx:h(u),cy:h(t.box.y+12),r:5,fill:l})),o.push(GE(t.inlineDatePins,t.style.fg));let f;t.textSpills?(f=t.box.x+t.box.width+6,t.iconSpills&&(f+=18)):f=t.box.x+12;let d=t.style.text,p=n.entities.item.text,m=t.textSpills?p:d,y=t.textSpills?p:t.style.fg;if(t.title&&o.push(Le({x:h(f),y:h(t.box.y+20),"font-family":i[t.style.font],"font-size":13,"font-weight":600,fill:m},t.title)),(t.metaText||t.capacity)&&o.push(gX({metaText:t.metaText,capacity:t.capacity,x:f,baselineY:t.box.y+38,fontSize:11,fontFamily:i[t.style.font],color:y})),t.footnoteIndicators.length>0){let T=t.box.y+14;if(t.footnoteSpills&&t.footnoteSpillStartX!==null){let _=t.footnoteSpillStartX;for(let v=0;v<t.footnoteIndicators.length;v++){let E=t.footnoteIndicators[v];o.push(Le({x:h(_),y:h(T),"font-family":i.sans,"font-size":10,"font-weight":700,fill:p},String(E))),_+=8}}else{let _=t.box.x+t.box.width-22;for(let v=t.footnoteIndicators.length-1;v>=0;v--){let E=t.footnoteIndicators[v];o.push(Le({x:h(_),y:h(T),"font-family":i.sans,"font-size":10,"font-weight":700,fill:t.style.text,"text-anchor":"end"},String(E))),_-=8}}}if(!e.noLinks&&t.linkIcon&&t.linkIcon!=="none"){let T={linear:"#5e6ad2",github:"#0f172a",jira:"#0052cc",generic:n.item.linkIconFg},_=T[t.linkIcon]??T.generic,v=14,E=t.iconSpills&&t.iconSpillX!==null?t.iconSpillX:t.box.x+6,S=t.box.y+6,D=Q("rect",{x:h(E),y:h(S),width:v,height:v,rx:2,ry:2,fill:_}),N=E,M=S,B=Q("path",{d:`M${h(N+4)} ${h(M+10)} L${h(N+10)} ${h(M+4)} M${h(N+6)} ${h(M+4)} H${h(N+10)} V${h(M+8)}`,stroke:"#ffffff",fill:"none","stroke-width":1.1,"stroke-linecap":"round","stroke-linejoin":"round"}),G=D+B,oe=t.linkHref?Q("a",{href:t.linkHref,target:"_blank",rel:"noopener"},G):G;o.push(oe)}if(t.hasOverflow&&t.overflowBox){let T=n.item.overflowTailFill,_=n.item.overflowTailStroke,v=n.item.overflowCaption;o.push(Q("rect",{x:h(t.overflowBox.x),y:h(t.overflowBox.y),width:h(t.overflowBox.width),height:h(t.overflowBox.height),fill:T,stroke:_,"stroke-width":1})),t.overflowAnchorId&&t.overflowBox.width>60&&o.push(Le({x:h(t.overflowBox.x+t.overflowBox.width/2),y:h(t.overflowBox.y+t.overflowBox.height/2+3),"font-family":i.sans,"font-size":9,"font-weight":700,fill:v,"text-anchor":"middle"},`past ${t.overflowAnchorId}`))}for(let T of t.labelChips){let _=Math.min(vh[T.style.cornerRadius]??8,T.box.height/2);o.push(Q("rect",{x:h(T.box.x),y:h(T.box.y),width:h(T.box.width),height:h(T.box.height),rx:h(_),ry:h(_),fill:T.style.bg==="none"?"transparent":T.style.bg,stroke:T.style.fg,"stroke-width":.5})),o.push(Le({x:h(T.box.x+T.box.width/2),y:h(T.box.y+T.box.height/2+3),...BE(T.style,i,ac.xs),"text-anchor":"middle"},T.text))}return Q("g",{"data-layer":"item","data-id":t.id??null},o.join(""))}function AX(t,e,r,n,i){let o=[];if(t.style.bg!=="none"&&t.style.bg!=="#ffffff"){if(o.push(Q("rect",{x:h(t.box.x),y:h(t.box.y),width:h(t.box.width),height:h(t.box.height),rx:6,ry:6,fill:t.style.bg,stroke:t.style.fg,"stroke-width":1,"fill-opacity":.18,filter:`url(#${r}-shadow-subtle)`})),t.title){let a=t.title.length*U_+2*Ah,c=t.box.x,l=t.box.y,u=Mu,f=6,d=`M${h(c+f)} ${h(l)}H${h(c+a)}V${h(l+u-f)}A${f} ${f} 0 0 1 ${h(c+a-f)} ${h(l+u)}H${h(c)}V${h(l+f)}A${f} ${f} 0 0 1 ${h(c+f)} ${h(l)}Z`;o.push(Q("path",{d,fill:t.style.fg})),o.push(Le({x:h(c+Ah),y:h(l+M_),"font-family":i[t.style.font],"font-size":F_,"font-weight":600,fill:"#ffffff"},t.title))}}else{let a=t.style.fg;if(t.style.bracket!=="none"){let l=t.box.y+t.box.height,u=t.style.bracket==="dashed"?"3 2":null,f=t.title?`M${h(t.box.x+4)} ${h(t.box.y-cc)} L${h(t.box.x)} ${h(t.box.y-cc)} L${h(t.box.x)} ${h(l)} L${h(t.box.x+4)} ${h(l)}`:`M${h(t.box.x)} ${h(t.box.y)} L${h(t.box.x)} ${h(l)} L${h(t.box.x+4)} ${h(l)}`;o.push(Q("path",{d:f,fill:"none",stroke:a,"stroke-width":1,"stroke-dasharray":u}))}t.title&&o.push(Le({x:h(t.box.x+6),y:h(t.box.y-2),...BE(t.style,i,ac.xs),"fill-opacity":.7},t.title))}o.push(GE(t.inlineDatePins,t.style.fg));for(let a of t.children)o.push(XE(a,e,r,n,i));return Q("g",{"data-layer":"group","data-id":t.id??null},o.join(""))}function IX(t,e,r,n,i){let o=[];if(t.style.bracket==="solid"||t.style.bracket==="dashed"){let c=t.box.y-12,l=t.box.y+t.box.height+12,u=t.box.x,f=t.box.x+t.box.width,d=n.parallel.bracketStroke;o.push(Q("path",{d:`M${h(u+4)} ${h(c)} H${h(u)} V${h(l)} H${h(u+4)}`,fill:"none",stroke:d,"stroke-width":1.25,"stroke-dasharray":t.style.bracket==="dashed"?"3 3":null,"stroke-linejoin":"round"})),o.push(Q("path",{d:`M${h(f-4)} ${h(c)} H${h(f)} V${h(l)} H${h(f-4)}`,fill:"none",stroke:d,"stroke-width":1.25,"stroke-dasharray":t.style.bracket==="dashed"?"3 3":null,"stroke-linejoin":"round"}))}t.title&&o.push(Le({x:h(t.box.x+4),y:h(t.box.y-2),...BE(t.style,i,ac.xs),"fill-opacity":.7},t.title)),o.push(GE(t.inlineDatePins,t.style.fg));for(let s of t.children)o.push(XE(s,e,r,n,i));return Q("g",{"data-layer":"parallel","data-id":t.id??null},o.join(""))}function XE(t,e,r,n,i){return t.kind==="item"?bX(t,e,r,n,i):t.kind==="group"?AX(t,e,r,n,i):IX(t,e,r,n,i)}var uP=2;function SX(t,e){switch(t){case"green":return e.swimlane.utilizationOk;case"yellow":return e.swimlane.utilizationWarn;case"red":return e.swimlane.utilizationOver}}function kX(t,e){if(!t.utilization||t.utilization.segments.length===0)return"";let r=t.box.y+t.box.height-uP,n=t.utilization.segments.map(i=>{let o=i.endX-i.startX;return o<=0?"":Q("rect",{x:h(i.startX),y:h(r),width:h(o),height:uP,fill:SX(i.classification,e),"data-utilization":i.classification,"data-load":h(i.load)})});return Q("g",{"data-layer":"lane-utilization","data-id":t.id??null},n.join(""))}function NX(t,e){let r=t.bandIndex%2===0?e.swimlane.rowTintEven:e.swimlane.rowTintOdd,n=e.swimlane.border;return Q("g",{"data-layer":"swimlane-bg","data-id":t.id??null},Q("rect",{x:h(t.box.x),y:h(t.box.y),width:h(t.box.width),height:h(t.box.height),fill:r,stroke:n,"stroke-width":1}))}function hP(t,e,r,n,i){let o=n.swimlane.tabFill,s=n.swimlane.tabStroke,a=n.swimlane.tabText,c=n.swimlane.ownerText,l=n.swimlane.footnoteIndicator,u=[];if(t.title){let d=t.capacity?to(t.capacity.text,t.capacity.icon,10):0,p=t.footnoteIndicators.length>0?t.footnoteIndicators.join(","):"",m=p?UE(p,10):0,y=Sc(t.box.x,t.title,t.owner,d,m),T=wh,_=t.box.y+10,v=_+bh;u.push(Q("rect",{x:h(y.tabX),y:h(_),width:h(y.tabW),height:h(T),rx:4,ry:4,fill:o,stroke:s,"stroke-width":1})),u.push(Le({x:h(y.titleX),y:h(v),"font-family":i[t.style.font],"font-size":12,"font-weight":600,fill:a},t.title)),t.owner&&u.push(Le({x:h(y.ownerX),y:h(v),"font-family":i[t.style.font],"font-size":10,fill:c},`owner: ${t.owner}`)),t.capacity&&u.push(dP(t.capacity,void 0,y.badgeX,v,10,i[t.style.font],c)),p&&u.push(Le({x:h(y.footnoteRightX),y:h(_+14),"font-family":i.sans,"font-size":10,"font-weight":700,fill:l,"text-anchor":"end"},p))}for(let f of t.children)u.push(XE(f,e,r,n,i));return u.push(kX(t,n)),Q("g",{"data-layer":"swimlane","data-id":t.id??null},u.join(""))}function CX(t,e,r){let n=t.radius,i=t.center.x,o=t.center.y,s=e.anchorDiamond.fill,a=e.anchorDiamond.stroke,c=Q("path",{d:`M${h(i)} ${h(o-n)} L${h(i+n)} ${h(o)} L${h(i)} ${h(o+n)} L${h(i-n)} ${h(o)} Z`,fill:s,stroke:a,"stroke-width":1.25}),l=e.anchorDiamond.label,u=t.labelSide==="left"?t.labelBox.x+t.labelBox.width:t.labelBox.x,f={x:h(u),y:h(o+4),"font-family":r.sans,"font-size":10,fill:l};t.labelSide==="left"&&(f["text-anchor"]="end");let d=t.title?Le(f,t.title):"";return Q("g",{"data-layer":"anchor","data-id":t.id??null},c+d)}function PX(t,e){let r=e.anchorDiamond.cutLine;return Q("line",{x1:h(t.center.x),y1:h(t.center.y+t.radius+1),x2:h(t.center.x),y2:h(t.cutBottomY),stroke:r,"stroke-width":1,"stroke-dasharray":"1 3"})}function OX(t,e,r){let n=t.center.x,i=t.center.y,o=t.radius,s=e.milestoneDiamond.fill,a=Q("path",{d:`M${h(n)} ${h(i-o)} L${h(n+o)} ${h(i)} L${h(n)} ${h(i+o)} L${h(n-o)} ${h(i)} Z`,fill:s,stroke:s,"stroke-width":1}),c=e.milestoneDiamond.label,l=t.labelSide==="left"?t.labelBox.x+t.labelBox.width:t.labelBox.x,u={x:h(l),y:h(i+4),"font-family":r.sans,"font-size":10,"font-weight":600,fill:c};t.labelSide==="left"&&(u["text-anchor"]="end");let f=t.title?Le(u,t.title):"";return Q("g",{"data-layer":"milestone","data-id":t.id??null},a+f)}function LX(t,e){let r=t.isOverrun?e.milestoneDiamond.cutLineOverrun:e.milestoneDiamond.cutLineNormal,n=[];if(n.push(Q("line",{x1:h(t.center.x),y1:h(t.center.y+t.radius+1),x2:h(t.center.x),y2:h(t.cutBottomY),stroke:r,"stroke-width":2,"stroke-dasharray":Ih,"stroke-linecap":"round"})),t.slackArrows&&t.slackArrows.length>0){let i=e.milestoneDiamond.slack;for(let o of t.slackArrows)n.push(Q("path",{d:`M${h(o.x)} ${h(o.y)} H${h(t.center.x-6)}`,fill:"none",stroke:i,"stroke-width":1.1,"stroke-dasharray":"3 3","stroke-linecap":"round","marker-end":"url(#nl-arrow-dark)"}))}return n.join("")}function fP(t,e){let r=t.kind==="overflow"?e.dependency.overflowStroke:e.dependency.edgeStroke,n=t.waypoints;if(n.length<2)return"";let i=t.kind==="underBar"?.8:1.1;return Q("path",{d:DX(n,K_),fill:"none",stroke:r,"stroke-width":i,"stroke-dasharray":t.kind==="overflow"?"4 2":null,"stroke-linejoin":"round","marker-end":"url(#nl-arrow)"})}function DX(t,e){if(t.length<2)return"";let r=[`M${h(t[0].x)} ${h(t[0].y)}`];for(let n=1;n<t.length;n++){let i=t[n-1],o=t[n];if(n===t.length-1){r.push(`L${h(o.x)} ${h(o.y)}`);continue}let s=t[n+1],a=Math.sign(o.x-i.x),c=Math.sign(o.y-i.y),l=Math.sign(s.x-o.x),u=Math.sign(s.y-o.y),f=Math.hypot(o.x-i.x,o.y-i.y),d=Math.hypot(s.x-o.x,s.y-o.y),p=Math.min(e,f/2,d/2);if(p<=0||a!==0&&l!==0||c!==0&&u!==0){r.push(`L${h(o.x)} ${h(o.y)}`);continue}let m={x:o.x-a*p,y:o.y-c*p},y={x:o.x+l*p,y:o.y+u*p};r.push(`L${h(m.x)} ${h(m.y)}`),r.push(`Q${h(o.x)} ${h(o.y)} ${h(y.x)} ${h(y.y)}`)}return r.join(" ")}function $X(t,e,r,n){if(t.entries.length===0)return"";let i=r.footnotePanel.fill,o=r.footnotePanel.border,s=r.footnotePanel.header,a=r.footnotePanel.title,c=r.footnotePanel.description,l=r.footnotePanel.number,u=[];u.push(Q("rect",{x:h(t.box.x),y:h(t.box.y),width:h(t.box.width),height:h(t.box.height),rx:6,ry:6,fill:i,stroke:o,"stroke-width":1,filter:`url(#${e}-shadow-subtle)`})),u.push(Le({x:h(t.box.x+Zr),y:h(t.box.y+z_),"font-family":n.sans,"font-size":12,"font-weight":700,fill:s},"Footnotes"));let f=t.box.y+Uu+Zr,d=t.box.x+Zr,p=d+Zr;return t.entries.forEach((m,y)=>{let T=f+y*Bu;u.push(Le({x:h(d),y:h(T),"font-family":n.sans,"font-size":10,"font-weight":700,fill:l},String(m.number))),u.push(Le({x:h(p),y:h(T),"font-family":n.sans,"font-size":11,"font-weight":600,fill:a},m.title)),m.description&&u.push(Le({x:h(p+Math.max(120,m.title.length*6)),y:h(T),"font-family":n.sans,"font-size":11,fill:c},`\u2014 ${m.description}`))}),Q("g",{"data-layer":"footnotes"},u.join(""))}function MX(t,e,r,n,i){let o=n.includeRegion.border,s=n.includeRegion.fill,a=n.includeRegion.tabFill,c=n.includeRegion.tabStroke,l=n.includeRegion.tabText,u=n.includeRegion.badgeFill,f=n.includeRegion.badgeStroke,d=n.includeRegion.badgeText,p=t.box.x+8,m=t.box.y,y=t.box.width-16,T=t.box.height,_=Q("rect",{x:h(p),y:h(m),width:h(y),height:h(T),rx:8,ry:8,fill:s,stroke:o,"stroke-width":1,"stroke-dasharray":Ih}),v=wh,E=kc(t.box.x,t.label,t.sourcePath),S=m-v/2,D=Q("rect",{x:h(E.tabX),y:h(S),width:h(E.tabWidth),height:v,rx:4,ry:4,fill:a,stroke:c,"stroke-width":1}),N=Le({x:h(E.tabLabelX),y:h(S+bh),"font-family":i.sans,"font-size":11,"font-weight":600,fill:l},t.label),M=E.badgeX,B=E.badgeSize,G=m-B/2,oe=Q("rect",{x:h(M),y:h(G),width:B,height:B,rx:4,ry:4,fill:u,stroke:f,"stroke-width":1}),L=Q("path",{d:`M${h(M+7)} ${h(G+4)} H${h(M+14)} V${h(G+11)} M${h(M+4)} ${h(G+7)} H${h(M+11)} V${h(G+14)} H${h(M+4)} Z`,stroke:d,"stroke-width":1.4,fill:"none","stroke-linecap":"round","stroke-linejoin":"round"}),R=9,O=m+4,$=Q("rect",{x:h(E.sourceHaloX),y:h(O-R),width:h(E.sourceHaloWidth),height:R+6,fill:s}),b=Le({x:h(E.sourceTextX),y:h(O),"font-family":i.mono,"font-size":R,fill:d},t.sourcePath),A=t.nestedSwimlanes.map(I=>hP(I,e,r,n,i)).join("");return Q("g",{"data-layer":"include"},_+A+D+N+oe+L+$+b)}function FX(t,e){let r=t.palette.attribution.mark,n=t.palette.attribution.link;if(t.swimlanes.length===0)return"";let i=t.header.attributionBox.x,o=t.header.attributionBox.y,s=Wi,a=Le({x:"0",y:s,"font-family":e.sans,"font-size":Ch,"font-weight":400,fill:r},Nh)+Le({x:Xu,y:s,"font-family":e.sans,"font-size":Wi,"font-weight":700,fill:r},"now")+Q("rect",{x:W_,y:12,width:V_,height:Wi,fill:n})+Le({x:Ph,y:s,"font-family":e.sans,"font-size":Wi,"font-weight":400,fill:r},"ine"),c=Q("g",{transform:`translate(${h(i)} ${h(o)}) scale(${h(Gu)})`},a);return Q("a",{href:q_,target:"_blank",rel:"noopener","aria-label":"Powered by nowline"},Q("g",{"data-layer":"attribution"},c))}async function UX(t,e,r,n,i,o,s){if(!e)return"";let a;try{a=await e(t)}catch(u){let f=`logo: failed to load ${t}: ${u instanceof Error?u.message:String(u)}`;if(n.strict)throw u;return n.warn?.(f),""}let c=(a.mime??"").toLowerCase();if(c==="image/svg+xml"){let u=new TextDecoder().decode(a.bytes),f=nP(u,{idPrefix:`${r}-logo`,onWarn:n.warn});return Q("g",{transform:`translate(${h(i)} ${h(o)})`},f)}if(c==="image/png"||c==="image/jpeg"||c==="image/jpg"||c==="image/webp"){let u=BX(a.bytes);return Q("image",{href:`data:${c};base64,${u}`,x:h(i),y:h(o),width:h(s),height:h(s),preserveAspectRatio:"xMidYMid meet"})}let l=`logo: unsupported mime ${c} for ${t}`;if(n.strict)throw new Error(l);return n.warn?.(l),""}function BX(t){if(typeof btoa<"u"){let r="";for(let n=0;n<t.length;n++)r+=String.fromCharCode(t[n]);return btoa(r)}let e=globalThis;if(e.Buffer)return e.Buffer.from(t).toString("base64");throw new Error("renderer: no base64 encoder available")}async function HE(t,e={}){let n=new dm(e.idPrefix??"nl").next("root"),i=t.palette,o=e.fontFamilies??Z_,s=[],a=i.arrowhead.neutral,c=i.arrowhead.light,l=i.arrowhead.dark,u=(p,m)=>`<marker id="${p}" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" fill="${m}"/></marker>`,f=`<defs>${cP(n)}`+u("nl-arrow",a)+u("nl-arrow-light",c)+u("nl-arrow-dark",l)+"</defs>";s.push(f),s.push(Q("rect",{x:0,y:0,width:h(t.width),height:h(t.height),fill:t.backgroundColor})),s.push(EX(t.timeline,i,o));for(let p of t.swimlanes)s.push(NX(p,i));s.push(_X(t.timeline,t.chartBox.y,i));for(let p of t.edges)p.kind==="underBar"&&s.push(fP(p,i));for(let p of t.swimlanes)s.push(hP(p,e,n,i,o));for(let p of t.includes)s.push(MX(p,e,n,i,o));for(let p of t.edges)p.kind!=="underBar"&&s.push(fP(p,i));for(let p of t.anchors)s.push(PX(p,i));for(let p of t.milestones)s.push(LX(p,i));for(let p of t.anchors)s.push(CX(p,i,o));for(let p of t.milestones)s.push(OX(p,i,o));if(s.push(vX(t.nowline,i,o)),s.push($X(t.footnotes,n,i,o)),s.push(TX(t.header,n,i,o)),s.push(FX(t,o)),t.header.logo&&e.assetResolver){let p=await UX(t.header.logo.assetRef??"",e.assetResolver,n,e,t.header.logo.box.x,t.header.logo.box.y,Math.max(t.header.logo.box.width,t.header.logo.box.height));p&&s.push(p)}return`<svg${wc({xmlns:"http://www.w3.org/2000/svg",viewBox:`0 0 ${h(t.width)} ${h(t.height)}`,width:h(t.width),height:h(t.height),"data-theme":t.theme,"data-generator":"nowline"})}>${s.join("")}</svg>`}var jE="/browser-source.nowline",pm,mP=0;function gP(){return pm||(pm=S_()),pm}function GX(){return ht.parse(`memory:///nowline-browser-${++mP}.nowline`)}async function hm(t,e={}){let r=e.filePath??jE,n=gP(),o=n.shared.workspace.LangiumDocumentFactory.fromString(t,GX());await n.shared.workspace.DocumentBuilder.build([o],{validation:!0});let s=[];for(let a of Em(o))a.origin==="lexer"?s.push(KC(a.error,r)):a.origin==="parser"?s.push(YC(a.error,r)):s.push(VC(a.diagnostic,r));return{ast:o.parseResult.value,diagnostics:s}}async function zE(t,e={}){let r=e.filePath??jE,n=await hm(t,{filePath:r});if(n.diagnostics.some(T=>T.severity==="error"))return{kind:"diagnostics",diagnostics:n.diagnostics};let i=gP(),o=e.readFile??eP,s=await y_(n.ast,r,{services:i.Nowline,readFile:o}),a=[...n.diagnostics];for(let T of s.diagnostics){if(T.severity==="error"&&tP(T.message)){e.onSkippedInclude?.({sourcePath:T.sourcePath,message:T.message});continue}a.push(ZC(T))}if(a.some(T=>T.severity==="error"))return{kind:"diagnostics",diagnostics:a};let c;if(e.timezone)try{c=ME(e.timezone)}catch(T){if(T instanceof ls)return{kind:"diagnostics",diagnostics:[{severity:"error",code:"invalid-timezone",message:T.message,file:r,line:1,column:1}]};throw T}let l=FE({now:e.today,zone:c}),u=$E(n.ast,s,{theme:e.theme,today:l,locale:e.locale,width:e.width}),f=e.showLinks!==!1,d=e.strict===!0,p=[],m=await HE(u,{idPrefix:e.idPrefix,assetResolver:e.assetResolver,noLinks:!f,strict:d,warn:T=>p.push(T),fontFamilies:e.fontFamilies}),y=p.map(T=>JC(T,r,d?"error":"warning"));return d&&y.length>0?{kind:"diagnostics",diagnostics:[...a,...y]}:{kind:"svg",svg:m,warnings:y}}function qE(){pm=void 0,mP=0}var yP="/embed.nowline",WE=!1;async function xP(t){let{ast:e,diagnostics:r}=await hm(t,{filePath:yP});return{ast:e,errors:r.filter(n=>n.severity==="error").map(n=>n.message)}}async function mm(t,e={}){let r={filePath:yP,theme:e.theme,today:e.today,timezone:e.timezone,locale:e.locale,width:e.width,idPrefix:e.idPrefix,onSkippedInclude:()=>{WE||(WE=!0,console.warn("nowline: `include` directives are skipped in the browser embed (single-file mode). Render multi-file roadmaps with the CLI or the GitHub Action."))}},n=await zE(t,r);if(n.kind==="svg")return n.svg;let i=n.diagnostics.filter(o=>o.severity==="error").map(o=>o.message);throw new nf(`Failed to render Nowline source: ${i.join("; ")}`,i)}var nf=class extends Error{constructor(r,n){super(r);de(this,"details",n);this.name="EmbedRenderError"}};function TP(){WE=!1,qE()}var en=Uint8Array,xr=Uint16Array,JE=Int32Array,QE=new en([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),e0=new en([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),_P=new en([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),wP=function(t,e){for(var r=new xr(31),n=0;n<31;++n)r[n]=e+=1<<t[n-1];for(var i=new JE(r[30]),n=1;n<30;++n)for(var o=r[n];o<r[n+1];++o)i[o]=o-r[n]<<5|n;return{b:r,r:i}},bP=wP(QE,2),XX=bP.b,YE=bP.r;XX[28]=258,YE[258]=28;var AP=wP(e0,0),fae=AP.b,EP=AP.r,KE=new xr(32768);for(Fe=0;Fe<32768;++Fe)ti=(Fe&43690)>>1|(Fe&21845)<<1,ti=(ti&52428)>>2|(ti&13107)<<2,ti=(ti&61680)>>4|(ti&3855)<<4,KE[Fe]=((ti&65280)>>8|(ti&255)<<8)>>1;var ti,Fe,af=(function(t,e,r){for(var n=t.length,i=0,o=new xr(e);i<n;++i)t[i]&&++o[t[i]-1];var s=new xr(e);for(i=1;i<e;++i)s[i]=s[i-1]+o[i-1]<<1;var a;if(r){a=new xr(1<<e);var c=15-e;for(i=0;i<n;++i)if(t[i])for(var l=i<<4|t[i],u=e-t[i],f=s[t[i]-1]++<<u,d=f|(1<<u)-1;f<=d;++f)a[KE[f]>>c]=l}else for(a=new xr(n),i=0;i<n;++i)t[i]&&(a[i]=KE[s[t[i]-1]++]>>15-t[i]);return a}),us=new en(288);for(Fe=0;Fe<144;++Fe)us[Fe]=8;var Fe;for(Fe=144;Fe<256;++Fe)us[Fe]=9;var Fe;for(Fe=256;Fe<280;++Fe)us[Fe]=7;var Fe;for(Fe=280;Fe<288;++Fe)us[Fe]=8;var Fe,gm=new en(32);for(Fe=0;Fe<32;++Fe)gm[Fe]=5;var Fe,HX=af(us,9,0);var jX=af(gm,5,0);var IP=function(t){return(t+7)/8|0},zX=function(t,e,r){return(e==null||e<0)&&(e=0),(r==null||r>t.length)&&(r=t.length),new en(t.subarray(e,r))};var ri=function(t,e,r){r<<=e&7;var n=e/8|0;t[n]|=r,t[n+1]|=r>>8},of=function(t,e,r){r<<=e&7;var n=e/8|0;t[n]|=r,t[n+1]|=r>>8,t[n+2]|=r>>16},VE=function(t,e){for(var r=[],n=0;n<t.length;++n)t[n]&&r.push({s:n,f:t[n]});var i=r.length,o=r.slice();if(!i)return{t:kP,l:0};if(i==1){var s=new en(r[0].s+1);return s[r[0].s]=1,{t:s,l:1}}r.sort(function(D,N){return D.f-N.f}),r.push({s:-1,f:25001});var a=r[0],c=r[1],l=0,u=1,f=2;for(r[0]={s:-1,f:a.f+c.f,l:a,r:c};u!=i-1;)a=r[r[l].f<r[f].f?l++:f++],c=r[l!=u&&r[l].f<r[f].f?l++:f++],r[u++]={s:-1,f:a.f+c.f,l:a,r:c};for(var d=o[0].s,n=1;n<i;++n)o[n].s>d&&(d=o[n].s);var p=new xr(d+1),m=ZE(r[u-1],p,0);if(m>e){var n=0,y=0,T=m-e,_=1<<T;for(o.sort(function(N,M){return p[M.s]-p[N.s]||N.f-M.f});n<i;++n){var v=o[n].s;if(p[v]>e)y+=_-(1<<m-p[v]),p[v]=e;else break}for(y>>=T;y>0;){var E=o[n].s;p[E]<e?y-=1<<e-p[E]++-1:++n}for(;n>=0&&y;--n){var S=o[n].s;p[S]==e&&(--p[S],++y)}m=e}return{t:new en(p),l:m}},ZE=function(t,e,r){return t.s==-1?Math.max(ZE(t.l,e,r+1),ZE(t.r,e,r+1)):e[t.s]=r},vP=function(t){for(var e=t.length;e&&!t[--e];);for(var r=new xr(++e),n=0,i=t[0],o=1,s=function(c){r[n++]=c},a=1;a<=e;++a)if(t[a]==i&&a!=e)++o;else{if(!i&&o>2){for(;o>138;o-=138)s(32754);o>2&&(s(o>10?o-11<<5|28690:o-3<<5|12305),o=0)}else if(o>3){for(s(i),--o;o>6;o-=6)s(8304);o>2&&(s(o-3<<5|8208),o=0)}for(;o--;)s(i);o=1,i=t[a]}return{c:r.subarray(0,n),n:e}},sf=function(t,e){for(var r=0,n=0;n<e.length;++n)r+=t[n]*e[n];return r},SP=function(t,e,r){var n=r.length,i=IP(e+2);t[i]=n&255,t[i+1]=n>>8,t[i+2]=t[i]^255,t[i+3]=t[i+1]^255;for(var o=0;o<n;++o)t[i+o+4]=r[o];return(i+4+n)*8},RP=function(t,e,r,n,i,o,s,a,c,l,u){ri(e,u++,r),++i[256];for(var f=VE(i,15),d=f.t,p=f.l,m=VE(o,15),y=m.t,T=m.l,_=vP(d),v=_.c,E=_.n,S=vP(y),D=S.c,N=S.n,M=new xr(19),B=0;B<v.length;++B)++M[v[B]&31];for(var B=0;B<D.length;++B)++M[D[B]&31];for(var G=VE(M,7),oe=G.t,L=G.l,R=19;R>4&&!oe[_P[R-1]];--R);var O=l+5<<3,$=sf(i,us)+sf(o,gm)+s,b=sf(i,d)+sf(o,y)+s+14+3*R+sf(M,oe)+2*M[16]+3*M[17]+7*M[18];if(c>=0&&O<=$&&O<=b)return SP(e,u,t.subarray(c,c+l));var A,I,F,j;if(ri(e,u,1+(b<$)),u+=2,b<$){A=af(d,p,0),I=d,F=af(y,T,0),j=y;var U=af(oe,L,0);ri(e,u,E-257),ri(e,u+5,N-1),ri(e,u+10,R-4),u+=14;for(var B=0;B<R;++B)ri(e,u+3*B,oe[_P[B]]);u+=3*R;for(var W=[v,D],Z=0;Z<2;++Z)for(var pe=W[Z],B=0;B<pe.length;++B){var V=pe[B]&31;ri(e,u,U[V]),u+=oe[V],V>15&&(ri(e,u,pe[B]>>5&127),u+=pe[B]>>12)}}else A=HX,I=us,F=jX,j=gm;for(var B=0;B<a;++B){var te=n[B];if(te>255){var V=te>>18&31;of(e,u,A[V+257]),u+=I[V+257],V>7&&(ri(e,u,te>>23&31),u+=QE[V]);var De=te&31;of(e,u,F[De]),u+=j[De],De>3&&(of(e,u,te>>5&8191),u+=e0[De])}else of(e,u,A[te]),u+=I[te]}return of(e,u,A[256]),u+I[256]},qX=new JE([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),kP=new en(0),WX=function(t,e,r,n,i,o){var s=o.z||t.length,a=new en(n+s+5*(1+Math.ceil(s/7e3))+i),c=a.subarray(n,a.length-i),l=o.l,u=(o.r||0)&7;if(e){u&&(c[0]=o.r>>3);for(var f=qX[e-1],d=f>>13,p=f&8191,m=(1<<r)-1,y=o.p||new xr(32768),T=o.h||new xr(m+1),_=Math.ceil(r/3),v=2*_,E=function(me){return(t[me]^t[me+1]<<_^t[me+2]<<v)&m},S=new JE(25e3),D=new xr(288),N=new xr(32),M=0,B=0,G=o.i||0,oe=0,L=o.w||0,R=0;G+2<s;++G){var O=E(G),$=G&32767,b=T[O];if(y[$]=b,T[O]=$,L<=G){var A=s-G;if((M>7e3||oe>24576)&&(A>423||!l)){u=RP(t,c,0,S,D,N,B,oe,R,G-R,u),oe=M=B=0,R=G;for(var I=0;I<286;++I)D[I]=0;for(var I=0;I<30;++I)N[I]=0}var F=2,j=0,U=p,W=$-b&32767;if(A>2&&O==E(G-W))for(var Z=Math.min(d,A)-1,pe=Math.min(32767,G),V=Math.min(258,A);W<=pe&&--U&&$!=b;){if(t[G+F]==t[G+F-W]){for(var te=0;te<V&&t[G+te]==t[G+te-W];++te);if(te>F){if(F=te,j=W,te>Z)break;for(var De=Math.min(W,te-2),Ne=0,I=0;I<De;++I){var Xe=G-W+I&32767,q=y[Xe],J=Xe-q&32767;J>Ne&&(Ne=J,b=Xe)}}}$=b,b=y[$],W+=$-b&32767}if(j){S[oe++]=268435456|YE[F]<<18|EP[j];var re=YE[F]&31,C=EP[j]&31;B+=QE[re]+e0[C],++D[257+re],++N[C],L=G+F,++M}else S[oe++]=t[G],++D[t[G]]}}for(G=Math.max(G,L);G<s;++G)S[oe++]=t[G],++D[t[G]];u=RP(t,c,l,S,D,N,B,oe,R,G-R,u),l||(o.r=u&7|c[u/8|0]<<3,u-=7,o.h=T,o.p=y,o.i=G,o.w=L)}else{for(var G=o.w||0;G<s+l;G+=65535){var be=G+65535;be>=s&&(c[u/8|0]=l,be=s),u=SP(c,u+1,t.subarray(G,be))}o.i=s}return zX(a,0,n+IP(u)+i)};var NP=function(){var t=1,e=0;return{p:function(r){for(var n=t,i=e,o=r.length|0,s=0;s!=o;){for(var a=Math.min(s+2655,o);s<a;++s)i+=n+=r[s];n=(n&65535)+15*(n>>16),i=(i&65535)+15*(i>>16)}t=n,e=i},d:function(){return t%=65521,e%=65521,(t&255)<<24|(t&65280)<<8|(e&255)<<8|e>>8}}},VX=function(t,e,r,n,i){if(!i&&(i={l:1},e.dictionary)){var o=e.dictionary.subarray(-32768),s=new en(o.length+t.length);s.set(o),s.set(t,o.length),t=s,i.w=o.length}return WX(t,e.level==null?6:e.level,e.mem==null?i.l?Math.ceil(Math.max(8,Math.min(13,Math.log(t.length)))*1.5):20:12+e.mem,r,n,i)};var CP=function(t,e,r){for(;r;++e)t[e]=r,r>>>=8};var YX=function(t,e){var r=e.level,n=r==0?0:r<6?1:r==9?3:2;if(t[0]=120,t[1]=n<<6|(e.dictionary&&32),t[1]|=31-(t[0]<<8|t[1])%31,e.dictionary){var i=NP();i.p(e.dictionary),CP(t,2,i.d())}};function PP(t,e){e||(e={});var r=NP();r.p(t);var n=VX(t,e,e.dictionary?6:2,4);return YX(n,e),CP(n,n.length-4,r.d()),n}var KX=typeof TextDecoder<"u"&&new TextDecoder,ZX=0;try{KX.decode(kP,{stream:!0}),ZX=1}catch{}var DP="https://free.nowline.io/open";function OP(t){let e=new TextEncoder().encode(t),r=PP(e),n=32768,i="";for(let o=0;o<r.length;o+=n)i+=String.fromCharCode(...r.subarray(o,o+n));return btoa(i).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function t0({source:t,sourceUrl:e,share:r}){if(r===!1||r==="none")return null;if(typeof r=="object")return e!==void 0&&LP(e)?r.remoteUrl.replace("{url}",encodeURIComponent(e)):r.textUrl.replace("{text}",OP(t));let n=r===!0?DP:r,i=new URL(n);return e!==void 0&&LP(e)?i.hash=`url=${encodeURIComponent(e)}`:i.hash=`text=${OP(t)}`,i.toString()}function LP(t){try{return new URL(t).protocol==="https:"}catch{return!1}}var $P=0;async function MP(t){let e=t.document??globalThis.document;if(!e)return{rendered:0,failed:0};let r=e.querySelectorAll(t.selector),n=0,i=0,o=++$P,s=t.share??!0,a=[],c=0;for(let l of Array.from(r)){let u=JX(l);if(!u)continue;let f=QX(l),d=`nl-r${o}-${c++}`,p={theme:t.theme,locale:t.locale,width:t.width,today:t.today,timezone:t.timezone,idPrefix:d},m=u.parentElement,y=u.nextSibling,_=l.getAttribute("data-nowline-source-url")??void 0??t.sourceUrl;a.push(mm(f,p).then(v=>{if(eH(u,v),n++,m!==null){let E=t0({source:f,sourceUrl:_,share:s});if(E!==null){let S=e.createElement("a");S.className="nowline-share",S.href=E,S.target="_blank",S.rel="noopener noreferrer",S.textContent="Share on Nowline",m.insertBefore(S,y)}}},v=>{i++,console.error("nowline: render failed",v)}))}return await Promise.all(a),{rendered:n,failed:i}}function JX(t){let e=t.parentElement;return e&&e.tagName.toUpperCase()==="PRE"?e:t}function QX(t){return t.textContent??""}function eH(t,e){t.outerHTML=e}function FP(){$P=0}function ym(){if(typeof globalThis>"u")return"light";let t=globalThis.matchMedia;if(typeof t!="function")return"light";try{return t("(prefers-color-scheme: dark)").matches?"dark":"light"}catch{return"light"}}function UP(t,e){return t&&t!=="auto"?L_(t)??e:e}var tH="0.0.0-dev.20260610143214.g13a42f2",rH="13a42f2",nH="pre code.language-nowline, code.language-nowline",BP={theme:"auto",startOnLoad:!0,selector:nH,systemTheme:ym(),share:!0},ot={...BP},r0=!1;function iH(t={}){ot={theme:t.theme??ot.theme,startOnLoad:t.startOnLoad??ot.startOnLoad,selector:t.selector??ot.selector,locale:t.locale??ot.locale,width:t.width??ot.width,today:t.today!==void 0?t.today:ot.today,timezone:t.timezone??ot.timezone,share:t.share??ot.share,sourceUrl:t.sourceUrl??ot.sourceUrl,systemTheme:ym()}}function GP(){return{theme:UP(ot.theme,ot.systemTheme),locale:ot.locale,width:ot.width,today:ot.today,timezone:ot.timezone}}async function oH(t,e={}){let r={...GP(),...e};return mm(t,r)}async function sH(t){return xP(t)}async function n0(t){let e={selector:t?.selector??ot.selector,theme:t?.theme??GP().theme,locale:t?.locale??ot.locale,width:t?.width??ot.width,today:t?.today!==void 0?t.today:ot.today,timezone:t?.timezone??ot.timezone,share:t?.share??ot.share,sourceUrl:t?.sourceUrl??ot.sourceUrl,document:t?.document};return MP(e)}var aH=n0;if(typeof document<"u"&&!r0){r0=!0;let t=()=>{ot.startOnLoad&&n0()};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t,{once:!0}):queueMicrotask(t)}function cH(){ot={...BP,systemTheme:ym()},r0=!1,TP(),FP()}return df(lH);})();
|
|
2664
2664
|
//# sourceMappingURL=nowline.min.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nowline/embed",
|
|
3
|
-
"version": "0.0.0-dev.
|
|
3
|
+
"version": "0.0.0-dev.20260610143214.g13a42f2",
|
|
4
4
|
"description": "Browser embed bundle for Nowline. Drop a <script> tag and ```nowline``` blocks render in place.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"engines": {
|
|
@@ -40,11 +40,11 @@
|
|
|
40
40
|
],
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"langium": "~4.2.4",
|
|
43
|
-
"@nowline/
|
|
44
|
-
"@nowline/
|
|
45
|
-
"@nowline/
|
|
46
|
-
"@nowline/
|
|
47
|
-
"@nowline/
|
|
43
|
+
"@nowline/renderer": "0.0.0-dev.20260610143214.g13a42f2",
|
|
44
|
+
"@nowline/browser": "0.0.0-dev.20260610143214.g13a42f2",
|
|
45
|
+
"@nowline/core": "0.0.0-dev.20260610143214.g13a42f2",
|
|
46
|
+
"@nowline/share-link": "0.0.0-dev.20260610143214.g13a42f2",
|
|
47
|
+
"@nowline/layout": "0.0.0-dev.20260610143214.g13a42f2"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@types/node": "^25.9.1",
|