create-raclette-app 0.0.5 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,29 +1,72 @@
1
1
  # create-raclette-app
2
2
 
3
- A CLI tool to quickly scaffold new raclette applications with TypeScript.
4
- The raclette framework is not officially open source yet. You will need the GitLab deploy token to be able to download it. If you are an interested developer feel free to contact us at [pacifico.cloud](https://pacifico.cloud).
3
+ A CLI tool to quickly scaffold new [**raclette**](https://raclettejs.com/) applications - the framework for building platforms and portals faster than ever.
4
+
5
+ ## What is **raclette**?
6
+
7
+ **raclette** is a full-stack TypeScript meta-framework designed for building **platforms and portals** with minimal setup. It comes with bootstrapped features like authentication, WebSockets, database handling, containerization, and provides an easy-to-use, opinionated environment.
8
+
9
+ **Perfect for:**
10
+
11
+ - 🚀 **SaaS platforms** - Get to market faster with built-in auth and user management
12
+ - 🏢 **Customer/Supplier portals** - Enterprise-ready from day one
13
+ - 🛠️ **Internal business tools** - Focus on business logic, not infrastructure
14
+ - ⚡ **MVPs that can scale** - Start fast, grow clean with the plugin architecture
15
+
16
+ **Key Features:**
17
+
18
+ - **Widget-based frontend** (Vue.js + Vite, React support coming)
19
+ - **Plugin architecture** for reusable business logic
20
+ - **Built-in workbench** - Admin interface out of the box
21
+ - **Full-stack development** with Fastify backend + MongoDB
22
+ - **Docker containerization** for easy deployment
5
23
 
6
24
  ## Usage
7
25
 
26
+ ### Interactive Mode (Recommended)
27
+
8
28
  ```bash
9
29
  npx create-raclette-app
10
30
  ```
11
31
 
12
- This will ask you a few questions:
32
+ ### Quick Start with Project Name
33
+
34
+ ```bash
35
+ npx create-raclette-app my-awesome-platform
36
+ ```
37
+
38
+ ### Create in Current Directory
39
+
40
+ ```bash
41
+ mkdir my-project && cd my-project
42
+ npx create-raclette-app .
43
+ ```
13
44
 
14
- - Project name
15
- - GitLab deploy token (optional, but currently required to download raclette)
16
- - Whether to include the raclette dashboard (highly recommended)
45
+ ### Non-Interactive Mode
17
46
 
18
- Then it creates your project and informs you about the next steps.
47
+ ```bash
48
+ npx create-raclette-app my-platform --non-interactive
49
+ ```
19
50
 
20
- ## What you get
51
+ ## Wizard Questions
21
52
 
22
- - raclette core and dashboard (if selected) dependencies + requiered dev dependencies
23
- - minimal raclette.config file
24
- - development scripts ready to go
53
+ The interactive wizard will ask you:
25
54
 
26
- ## Next steps
55
+ 1. **Project name** - Used for folder name (converted to kebab-case) and configuration
56
+ 2. **ESLint configuration** - Choose between standard or recommended (opinionated) config
57
+
58
+ ## What You Get
59
+
60
+ - ✅ **raclette core & workbench** dependencies with dev dependencies
61
+ - ✅ **raclette.config.js** - Main configuration file
62
+ - ✅ **Development scripts** ready to go
63
+ - ✅ **ESLint + Prettier** configuration
64
+ - ✅ **TypeScript** setup
65
+ - ✅ **Docker-ready** development environment
66
+
67
+ ## Getting Started
68
+
69
+ After running the CLI:
27
70
 
28
71
  ```bash
29
72
  cd your-project-name
@@ -31,15 +74,43 @@ yarn install
31
74
  yarn dev
32
75
  ```
33
76
 
34
- That's it. raclette will handle everything else for you!
35
- Happy coding! 🧀
77
+ **⏳ First start note:** The initial `yarn dev` might take a few minutes as Docker containers are built and started.
78
+
79
+ Once running, you'll have:
80
+
81
+ - **Your app frontend**: http://localhost:8081
82
+ - **raclette workbench**: http://localhost:8083
83
+
84
+ **Important:** Visit the workbench first (http://localhost:8083) to create your admin user before accessing the main app.
85
+
86
+ ## Next Steps
87
+
88
+ 1. Create your admin user in the workbench
89
+ 2. Explore the documentation: [docs.raclettejs.com](https://docs.raclettejs.com/docs/introduction/getting-started)
90
+ 3. Start building your platform with plugins and widgets!
91
+
92
+ ## Troubleshooting
93
+
94
+ Having Docker issues? Check the [troubleshooting guide](https://docs.raclettejs.com/docs/introduction/getting-started) in our documentation.
36
95
 
37
96
  ## Requirements
38
97
 
39
- - Node.js 18+
40
- - yarn (for raclette)
41
- - npm (for npx)
98
+ - **Node.js** 24+ (might work with lower versions as well)
99
+ - **yarn** (for **raclette**)
100
+ - **npm** (for npx)
101
+ - **Docker** (for development environment)
102
+
103
+ ## Links
104
+
105
+ - 🌐 [Website](https://raclettejs.com/)
106
+ - 📚 [Documentation](https://docs.raclettejs.com/)
107
+ - 🚀 [GitLab](https://gitlab.com/raclettejs) (source code)
108
+ - 📦 [npm](https://www.npmjs.com/org/raclettejs) (packages)
42
109
 
43
110
  ## License
44
111
 
45
112
  MIT
113
+
114
+ ---
115
+
116
+ **Stop building from scratch. Start with **raclette**.** 🧀
package/dist/index.js CHANGED
@@ -1,12 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
3
- var Ae=Object.create;var z=Object.defineProperty;var Be=Object.getOwnPropertyDescriptor;var Ie=Object.getOwnPropertyNames;var Te=Object.getPrototypeOf,_e=Object.prototype.hasOwnProperty;var U=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var b=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Fe=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ie(t))!_e.call(e,o)&&o!==n&&z(e,o,{get:()=>t[o],enumerable:!(r=Be(t,o))||r.enumerable});return e};var W=(e,t,n)=>(n=e!=null?Ae(Te(e)):{},Fe(t||!e||!e.__esModule?z(n,"default",{value:e,enumerable:!0}):n,e));var V=b((dt,Y)=>{"use strict";Y.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var I=b((pt,X)=>{var C=V(),K={};for(let e of Object.keys(C))K[C[e]]=e;var i={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};X.exports=i;for(let e of Object.keys(i)){if(!("channels"in i[e]))throw new Error("missing channels property: "+e);if(!("labels"in i[e]))throw new Error("missing channel labels property: "+e);if(i[e].labels.length!==i[e].channels)throw new Error("channel and label counts mismatch: "+e);let{channels:t,labels:n}=i[e];delete i[e].channels,delete i[e].labels,Object.defineProperty(i[e],"channels",{value:t}),Object.defineProperty(i[e],"labels",{value:n})}i.rgb.hsl=function(e){let t=e[0]/255,n=e[1]/255,r=e[2]/255,o=Math.min(t,n,r),s=Math.max(t,n,r),l=s-o,c,a;s===o?c=0:t===s?c=(n-r)/l:n===s?c=2+(r-t)/l:r===s&&(c=4+(t-n)/l),c=Math.min(c*60,360),c<0&&(c+=360);let u=(o+s)/2;return s===o?a=0:u<=.5?a=l/(s+o):a=l/(2-s-o),[c,a*100,u*100]};i.rgb.hsv=function(e){let t,n,r,o,s,l=e[0]/255,c=e[1]/255,a=e[2]/255,u=Math.max(l,c,a),d=u-Math.min(l,c,a),g=function(Pe){return(u-Pe)/6/d+1/2};return d===0?(o=0,s=0):(s=d/u,t=g(l),n=g(c),r=g(a),l===u?o=r-n:c===u?o=1/3+t-r:a===u&&(o=2/3+n-t),o<0?o+=1:o>1&&(o-=1)),[o*360,s*100,u*100]};i.rgb.hwb=function(e){let t=e[0],n=e[1],r=e[2],o=i.rgb.hsl(e)[0],s=1/255*Math.min(t,Math.min(n,r));return r=1-1/255*Math.max(t,Math.max(n,r)),[o,s*100,r*100]};i.rgb.cmyk=function(e){let t=e[0]/255,n=e[1]/255,r=e[2]/255,o=Math.min(1-t,1-n,1-r),s=(1-t-o)/(1-o)||0,l=(1-n-o)/(1-o)||0,c=(1-r-o)/(1-o)||0;return[s*100,l*100,c*100,o*100]};function Se(e,t){return(e[0]-t[0])**2+(e[1]-t[1])**2+(e[2]-t[2])**2}i.rgb.keyword=function(e){let t=K[e];if(t)return t;let n=1/0,r;for(let o of Object.keys(C)){let s=C[o],l=Se(e,s);l<n&&(n=l,r=o)}return r};i.keyword.rgb=function(e){return C[e]};i.rgb.xyz=function(e){let t=e[0]/255,n=e[1]/255,r=e[2]/255;t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92;let o=t*.4124+n*.3576+r*.1805,s=t*.2126+n*.7152+r*.0722,l=t*.0193+n*.1192+r*.9505;return[o*100,s*100,l*100]};i.rgb.lab=function(e){let t=i.rgb.xyz(e),n=t[0],r=t[1],o=t[2];n/=95.047,r/=100,o/=108.883,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,o=o>.008856?o**(1/3):7.787*o+16/116;let s=116*r-16,l=500*(n-r),c=200*(r-o);return[s,l,c]};i.hsl.rgb=function(e){let t=e[0]/360,n=e[1]/100,r=e[2]/100,o,s,l;if(n===0)return l=r*255,[l,l,l];r<.5?o=r*(1+n):o=r+n-r*n;let c=2*r-o,a=[0,0,0];for(let u=0;u<3;u++)s=t+1/3*-(u-1),s<0&&s++,s>1&&s--,6*s<1?l=c+(o-c)*6*s:2*s<1?l=o:3*s<2?l=c+(o-c)*(2/3-s)*6:l=c,a[u]=l*255;return a};i.hsl.hsv=function(e){let t=e[0],n=e[1]/100,r=e[2]/100,o=n,s=Math.max(r,.01);r*=2,n*=r<=1?r:2-r,o*=s<=1?s:2-s;let l=(r+n)/2,c=r===0?2*o/(s+o):2*n/(r+n);return[t,c*100,l*100]};i.hsv.rgb=function(e){let t=e[0]/60,n=e[1]/100,r=e[2]/100,o=Math.floor(t)%6,s=t-Math.floor(t),l=255*r*(1-n),c=255*r*(1-n*s),a=255*r*(1-n*(1-s));switch(r*=255,o){case 0:return[r,a,l];case 1:return[c,r,l];case 2:return[l,r,a];case 3:return[l,c,r];case 4:return[a,l,r];case 5:return[r,l,c]}};i.hsv.hsl=function(e){let t=e[0],n=e[1]/100,r=e[2]/100,o=Math.max(r,.01),s,l;l=(2-n)*r;let c=(2-n)*o;return s=n*o,s/=c<=1?c:2-c,s=s||0,l/=2,[t,s*100,l*100]};i.hwb.rgb=function(e){let t=e[0]/360,n=e[1]/100,r=e[2]/100,o=n+r,s;o>1&&(n/=o,r/=o);let l=Math.floor(6*t),c=1-r;s=6*t-l,(l&1)!==0&&(s=1-s);let a=n+s*(c-n),u,d,g;switch(l){default:case 6:case 0:u=c,d=a,g=n;break;case 1:u=a,d=c,g=n;break;case 2:u=n,d=c,g=a;break;case 3:u=n,d=a,g=c;break;case 4:u=a,d=n,g=c;break;case 5:u=c,d=n,g=a;break}return[u*255,d*255,g*255]};i.cmyk.rgb=function(e){let t=e[0]/100,n=e[1]/100,r=e[2]/100,o=e[3]/100,s=1-Math.min(1,t*(1-o)+o),l=1-Math.min(1,n*(1-o)+o),c=1-Math.min(1,r*(1-o)+o);return[s*255,l*255,c*255]};i.xyz.rgb=function(e){let t=e[0]/100,n=e[1]/100,r=e[2]/100,o,s,l;return o=t*3.2406+n*-1.5372+r*-.4986,s=t*-.9689+n*1.8758+r*.0415,l=t*.0557+n*-.204+r*1.057,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,l=l>.0031308?1.055*l**(1/2.4)-.055:l*12.92,o=Math.min(Math.max(0,o),1),s=Math.min(Math.max(0,s),1),l=Math.min(Math.max(0,l),1),[o*255,s*255,l*255]};i.xyz.lab=function(e){let t=e[0],n=e[1],r=e[2];t/=95.047,n/=100,r/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116;let o=116*n-16,s=500*(t-n),l=200*(n-r);return[o,s,l]};i.lab.xyz=function(e){let t=e[0],n=e[1],r=e[2],o,s,l;s=(t+16)/116,o=n/500+s,l=s-r/200;let c=s**3,a=o**3,u=l**3;return s=c>.008856?c:(s-16/116)/7.787,o=a>.008856?a:(o-16/116)/7.787,l=u>.008856?u:(l-16/116)/7.787,o*=95.047,s*=100,l*=108.883,[o,s,l]};i.lab.lch=function(e){let t=e[0],n=e[1],r=e[2],o;o=Math.atan2(r,n)*360/2/Math.PI,o<0&&(o+=360);let l=Math.sqrt(n*n+r*r);return[t,l,o]};i.lch.lab=function(e){let t=e[0],n=e[1],o=e[2]/360*2*Math.PI,s=n*Math.cos(o),l=n*Math.sin(o);return[t,s,l]};i.rgb.ansi16=function(e,t=null){let[n,r,o]=e,s=t===null?i.rgb.hsv(e)[2]:t;if(s=Math.round(s/50),s===0)return 30;let l=30+(Math.round(o/255)<<2|Math.round(r/255)<<1|Math.round(n/255));return s===2&&(l+=60),l};i.hsv.ansi16=function(e){return i.rgb.ansi16(i.hsv.rgb(e),e[2])};i.rgb.ansi256=function(e){let t=e[0],n=e[1],r=e[2];return t===n&&n===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)};i.ansi16.rgb=function(e){let t=e%10;if(t===0||t===7)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];let n=(~~(e>50)+1)*.5,r=(t&1)*n*255,o=(t>>1&1)*n*255,s=(t>>2&1)*n*255;return[r,o,s]};i.ansi256.rgb=function(e){if(e>=232){let s=(e-232)*10+8;return[s,s,s]}e-=16;let t,n=Math.floor(e/36)/5*255,r=Math.floor((t=e%36)/6)/5*255,o=t%6/5*255;return[n,r,o]};i.rgb.hex=function(e){let n=(((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255)).toString(16).toUpperCase();return"000000".substring(n.length)+n};i.hex.rgb=function(e){let t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let n=t[0];t[0].length===3&&(n=n.split("").map(c=>c+c).join(""));let r=parseInt(n,16),o=r>>16&255,s=r>>8&255,l=r&255;return[o,s,l]};i.rgb.hcg=function(e){let t=e[0]/255,n=e[1]/255,r=e[2]/255,o=Math.max(Math.max(t,n),r),s=Math.min(Math.min(t,n),r),l=o-s,c,a;return l<1?c=s/(1-l):c=0,l<=0?a=0:o===t?a=(n-r)/l%6:o===n?a=2+(r-t)/l:a=4+(t-n)/l,a/=6,a%=1,[a*360,l*100,c*100]};i.hsl.hcg=function(e){let t=e[1]/100,n=e[2]/100,r=n<.5?2*t*n:2*t*(1-n),o=0;return r<1&&(o=(n-.5*r)/(1-r)),[e[0],r*100,o*100]};i.hsv.hcg=function(e){let t=e[1]/100,n=e[2]/100,r=t*n,o=0;return r<1&&(o=(n-r)/(1-r)),[e[0],r*100,o*100]};i.hcg.rgb=function(e){let t=e[0]/360,n=e[1]/100,r=e[2]/100;if(n===0)return[r*255,r*255,r*255];let o=[0,0,0],s=t%1*6,l=s%1,c=1-l,a=0;switch(Math.floor(s)){case 0:o[0]=1,o[1]=l,o[2]=0;break;case 1:o[0]=c,o[1]=1,o[2]=0;break;case 2:o[0]=0,o[1]=1,o[2]=l;break;case 3:o[0]=0,o[1]=c,o[2]=1;break;case 4:o[0]=l,o[1]=0,o[2]=1;break;default:o[0]=1,o[1]=0,o[2]=c}return a=(1-n)*r,[(n*o[0]+a)*255,(n*o[1]+a)*255,(n*o[2]+a)*255]};i.hcg.hsv=function(e){let t=e[1]/100,n=e[2]/100,r=t+n*(1-t),o=0;return r>0&&(o=t/r),[e[0],o*100,r*100]};i.hcg.hsl=function(e){let t=e[1]/100,r=e[2]/100*(1-t)+.5*t,o=0;return r>0&&r<.5?o=t/(2*r):r>=.5&&r<1&&(o=t/(2*(1-r))),[e[0],o*100,r*100]};i.hcg.hwb=function(e){let t=e[1]/100,n=e[2]/100,r=t+n*(1-t);return[e[0],(r-t)*100,(1-r)*100]};i.hwb.hcg=function(e){let t=e[1]/100,r=1-e[2]/100,o=r-t,s=0;return o<1&&(s=(r-o)/(1-o)),[e[0],o*100,s*100]};i.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]};i.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]};i.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]};i.gray.hsl=function(e){return[0,0,e[0]]};i.gray.hsv=i.gray.hsl;i.gray.hwb=function(e){return[0,100,e[0]]};i.gray.cmyk=function(e){return[0,0,0,e[0]]};i.gray.lab=function(e){return[e[0],0,0]};i.gray.hex=function(e){let t=Math.round(e[0]/100*255)&255,r=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(r.length)+r};i.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}});var J=b((bt,H)=>{var E=I();function Ne(){let e={},t=Object.keys(E);for(let n=t.length,r=0;r<n;r++)e[t[r]]={distance:-1,parent:null};return e}function $e(e){let t=Ne(),n=[e];for(t[e].distance=0;n.length;){let r=n.pop(),o=Object.keys(E[r]);for(let s=o.length,l=0;l<s;l++){let c=o[l],a=t[c];a.distance===-1&&(a.distance=t[r].distance+1,a.parent=r,n.unshift(c))}}return t}function qe(e,t){return function(n){return t(e(n))}}function Le(e,t){let n=[t[e].parent,e],r=E[t[e].parent][e],o=t[e].parent;for(;t[o].parent;)n.unshift(t[o].parent),r=qe(E[t[o].parent][o],r),o=t[o].parent;return r.conversion=n,r}H.exports=function(e){let t=$e(e),n={},r=Object.keys(t);for(let o=r.length,s=0;s<o;s++){let l=r[s];t[l].parent!==null&&(n[l]=Le(l,t))}return n}});var Q=b((mt,Z)=>{var T=I(),De=J(),w={},Ge=Object.keys(T);function ze(e){let t=function(...n){let r=n[0];return r==null?r:(r.length>1&&(n=r),e(n))};return"conversion"in e&&(t.conversion=e.conversion),t}function Ue(e){let t=function(...n){let r=n[0];if(r==null)return r;r.length>1&&(n=r);let o=e(n);if(typeof o=="object")for(let s=o.length,l=0;l<s;l++)o[l]=Math.round(o[l]);return o};return"conversion"in e&&(t.conversion=e.conversion),t}Ge.forEach(e=>{w[e]={},Object.defineProperty(w[e],"channels",{value:T[e].channels}),Object.defineProperty(w[e],"labels",{value:T[e].labels});let t=De(e);Object.keys(t).forEach(r=>{let o=t[r];w[e][r]=Ue(o),w[e][r].raw=ze(o)})});Z.exports=w});var se=b((yt,oe)=>{"use strict";var ee=(e,t)=>(...n)=>`\x1B[${e(...n)+t}m`,te=(e,t)=>(...n)=>{let r=e(...n);return`\x1B[${38+t};5;${r}m`},ne=(e,t)=>(...n)=>{let r=e(...n);return`\x1B[${38+t};2;${r[0]};${r[1]};${r[2]}m`},j=e=>e,re=(e,t,n)=>[e,t,n],v=(e,t,n)=>{Object.defineProperty(e,t,{get:()=>{let r=n();return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0}),r},enumerable:!0,configurable:!0})},_,k=(e,t,n,r)=>{_===void 0&&(_=Q());let o=r?10:0,s={};for(let[l,c]of Object.entries(_)){let a=l==="ansi16"?"ansi":l;l===t?s[a]=e(n,o):typeof c=="object"&&(s[a]=e(c[t],o))}return s};function We(){let e=new Map,t={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};t.color.gray=t.color.blackBright,t.bgColor.bgGray=t.bgColor.bgBlackBright,t.color.grey=t.color.blackBright,t.bgColor.bgGrey=t.bgColor.bgBlackBright;for(let[n,r]of Object.entries(t)){for(let[o,s]of Object.entries(r))t[o]={open:`\x1B[${s[0]}m`,close:`\x1B[${s[1]}m`},r[o]=t[o],e.set(s[0],s[1]);Object.defineProperty(t,n,{value:r,enumerable:!1})}return Object.defineProperty(t,"codes",{value:e,enumerable:!1}),t.color.close="\x1B[39m",t.bgColor.close="\x1B[49m",v(t.color,"ansi",()=>k(ee,"ansi16",j,!1)),v(t.color,"ansi256",()=>k(te,"ansi256",j,!1)),v(t.color,"ansi16m",()=>k(ne,"rgb",re,!1)),v(t.bgColor,"ansi",()=>k(ee,"ansi16",j,!0)),v(t.bgColor,"ansi256",()=>k(te,"ansi256",j,!0)),v(t.bgColor,"ansi16m",()=>k(ne,"rgb",re,!0)),t}Object.defineProperty(oe,"exports",{enumerable:!0,get:We})});var ce=b((wt,le)=>{"use strict";le.exports=(e,t=process.argv)=>{let n=e.startsWith("-")?"":e.length===1?"-":"--",r=t.indexOf(n+e),o=t.indexOf("--");return r!==-1&&(o===-1||r<o)}});var ue=b((vt,ae)=>{"use strict";var Ye=U("os"),ie=U("tty"),p=ce(),{env:f}=process,m;p("no-color")||p("no-colors")||p("color=false")||p("color=never")?m=0:(p("color")||p("colors")||p("color=true")||p("color=always"))&&(m=1);"FORCE_COLOR"in f&&(f.FORCE_COLOR==="true"?m=1:f.FORCE_COLOR==="false"?m=0:m=f.FORCE_COLOR.length===0?1:Math.min(parseInt(f.FORCE_COLOR,10),3));function F(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function S(e,t){if(m===0)return 0;if(p("color=16m")||p("color=full")||p("color=truecolor"))return 3;if(p("color=256"))return 2;if(e&&!t&&m===void 0)return 0;let n=m||0;if(f.TERM==="dumb")return n;if(process.platform==="win32"){let r=Ye.release().split(".");return Number(r[0])>=10&&Number(r[2])>=10586?Number(r[2])>=14931?3:2:1}if("CI"in f)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(r=>r in f)||f.CI_NAME==="codeship"?1:n;if("TEAMCITY_VERSION"in f)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(f.TEAMCITY_VERSION)?1:0;if(f.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in f){let r=parseInt((f.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(f.TERM_PROGRAM){case"iTerm.app":return r>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(f.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(f.TERM)||"COLORTERM"in f?1:n}function Ve(e){let t=S(e,e&&e.isTTY);return F(t)}ae.exports={supportsColor:Ve,stdout:F(S(!0,ie.isatty(1))),stderr:F(S(!0,ie.isatty(2)))}});var he=b((kt,fe)=>{"use strict";var Ke=(e,t,n)=>{let r=e.indexOf(t);if(r===-1)return e;let o=t.length,s=0,l="";do l+=e.substr(s,r-s)+t+n,s=r+o,r=e.indexOf(t,s);while(r!==-1);return l+=e.substr(s),l},Xe=(e,t,n,r)=>{let o=0,s="";do{let l=e[r-1]==="\r";s+=e.substr(o,(l?r-1:r)-o)+t+(l?`\r
3
+ var Ae=Object.create;var K=Object.defineProperty;var Fe=Object.getOwnPropertyDescriptor;var Ie=Object.getOwnPropertyNames;var _e=Object.getPrototypeOf,Te=Object.prototype.hasOwnProperty;var W=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var b=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var $e=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ie(t))!Te.call(e,o)&&o!==r&&K(e,o,{get:()=>t[o],enumerable:!(n=Fe(t,o))||n.enumerable});return e};var U=(e,t,r)=>(r=e!=null?Ae(_e(e)):{},$e(t||!e||!e.__esModule?K(r,"default",{value:e,enumerable:!0}):r,e));var Y=b((yt,V)=>{"use strict";V.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var F=b((wt,Z)=>{var E=Y(),X={};for(let e of Object.keys(E))X[E[e]]=e;var l={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};Z.exports=l;for(let e of Object.keys(l)){if(!("channels"in l[e]))throw new Error("missing channels property: "+e);if(!("labels"in l[e]))throw new Error("missing channel labels property: "+e);if(l[e].labels.length!==l[e].channels)throw new Error("channel and label counts mismatch: "+e);let{channels:t,labels:r}=l[e];delete l[e].channels,delete l[e].labels,Object.defineProperty(l[e],"channels",{value:t}),Object.defineProperty(l[e],"labels",{value:r})}l.rgb.hsl=function(e){let t=e[0]/255,r=e[1]/255,n=e[2]/255,o=Math.min(t,r,n),s=Math.max(t,r,n),i=s-o,c,a;s===o?c=0:t===s?c=(r-n)/i:r===s?c=2+(n-t)/i:n===s&&(c=4+(t-r)/i),c=Math.min(c*60,360),c<0&&(c+=360);let u=(o+s)/2;return s===o?a=0:u<=.5?a=i/(s+o):a=i/(2-s-o),[c,a*100,u*100]};l.rgb.hsv=function(e){let t,r,n,o,s,i=e[0]/255,c=e[1]/255,a=e[2]/255,u=Math.max(i,c,a),p=u-Math.min(i,c,a),g=function(Be){return(u-Be)/6/p+1/2};return p===0?(o=0,s=0):(s=p/u,t=g(i),r=g(c),n=g(a),i===u?o=n-r:c===u?o=1/3+t-n:a===u&&(o=2/3+r-t),o<0?o+=1:o>1&&(o-=1)),[o*360,s*100,u*100]};l.rgb.hwb=function(e){let t=e[0],r=e[1],n=e[2],o=l.rgb.hsl(e)[0],s=1/255*Math.min(t,Math.min(r,n));return n=1-1/255*Math.max(t,Math.max(r,n)),[o,s*100,n*100]};l.rgb.cmyk=function(e){let t=e[0]/255,r=e[1]/255,n=e[2]/255,o=Math.min(1-t,1-r,1-n),s=(1-t-o)/(1-o)||0,i=(1-r-o)/(1-o)||0,c=(1-n-o)/(1-o)||0;return[s*100,i*100,c*100,o*100]};function Ne(e,t){return(e[0]-t[0])**2+(e[1]-t[1])**2+(e[2]-t[2])**2}l.rgb.keyword=function(e){let t=X[e];if(t)return t;let r=1/0,n;for(let o of Object.keys(E)){let s=E[o],i=Ne(e,s);i<r&&(r=i,n=o)}return n};l.keyword.rgb=function(e){return E[e]};l.rgb.xyz=function(e){let t=e[0]/255,r=e[1]/255,n=e[2]/255;t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92;let o=t*.4124+r*.3576+n*.1805,s=t*.2126+r*.7152+n*.0722,i=t*.0193+r*.1192+n*.9505;return[o*100,s*100,i*100]};l.rgb.lab=function(e){let t=l.rgb.xyz(e),r=t[0],n=t[1],o=t[2];r/=95.047,n/=100,o/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,o=o>.008856?o**(1/3):7.787*o+16/116;let s=116*n-16,i=500*(r-n),c=200*(n-o);return[s,i,c]};l.hsl.rgb=function(e){let t=e[0]/360,r=e[1]/100,n=e[2]/100,o,s,i;if(r===0)return i=n*255,[i,i,i];n<.5?o=n*(1+r):o=n+r-n*r;let c=2*n-o,a=[0,0,0];for(let u=0;u<3;u++)s=t+1/3*-(u-1),s<0&&s++,s>1&&s--,6*s<1?i=c+(o-c)*6*s:2*s<1?i=o:3*s<2?i=c+(o-c)*(2/3-s)*6:i=c,a[u]=i*255;return a};l.hsl.hsv=function(e){let t=e[0],r=e[1]/100,n=e[2]/100,o=r,s=Math.max(n,.01);n*=2,r*=n<=1?n:2-n,o*=s<=1?s:2-s;let i=(n+r)/2,c=n===0?2*o/(s+o):2*r/(n+r);return[t,c*100,i*100]};l.hsv.rgb=function(e){let t=e[0]/60,r=e[1]/100,n=e[2]/100,o=Math.floor(t)%6,s=t-Math.floor(t),i=255*n*(1-r),c=255*n*(1-r*s),a=255*n*(1-r*(1-s));switch(n*=255,o){case 0:return[n,a,i];case 1:return[c,n,i];case 2:return[i,n,a];case 3:return[i,c,n];case 4:return[a,i,n];case 5:return[n,i,c]}};l.hsv.hsl=function(e){let t=e[0],r=e[1]/100,n=e[2]/100,o=Math.max(n,.01),s,i;i=(2-r)*n;let c=(2-r)*o;return s=r*o,s/=c<=1?c:2-c,s=s||0,i/=2,[t,s*100,i*100]};l.hwb.rgb=function(e){let t=e[0]/360,r=e[1]/100,n=e[2]/100,o=r+n,s;o>1&&(r/=o,n/=o);let i=Math.floor(6*t),c=1-n;s=6*t-i,(i&1)!==0&&(s=1-s);let a=r+s*(c-r),u,p,g;switch(i){default:case 6:case 0:u=c,p=a,g=r;break;case 1:u=a,p=c,g=r;break;case 2:u=r,p=c,g=a;break;case 3:u=r,p=a,g=c;break;case 4:u=a,p=r,g=c;break;case 5:u=c,p=r,g=a;break}return[u*255,p*255,g*255]};l.cmyk.rgb=function(e){let t=e[0]/100,r=e[1]/100,n=e[2]/100,o=e[3]/100,s=1-Math.min(1,t*(1-o)+o),i=1-Math.min(1,r*(1-o)+o),c=1-Math.min(1,n*(1-o)+o);return[s*255,i*255,c*255]};l.xyz.rgb=function(e){let t=e[0]/100,r=e[1]/100,n=e[2]/100,o,s,i;return o=t*3.2406+r*-1.5372+n*-.4986,s=t*-.9689+r*1.8758+n*.0415,i=t*.0557+r*-.204+n*1.057,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,i=i>.0031308?1.055*i**(1/2.4)-.055:i*12.92,o=Math.min(Math.max(0,o),1),s=Math.min(Math.max(0,s),1),i=Math.min(Math.max(0,i),1),[o*255,s*255,i*255]};l.xyz.lab=function(e){let t=e[0],r=e[1],n=e[2];t/=95.047,r/=100,n/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let o=116*r-16,s=500*(t-r),i=200*(r-n);return[o,s,i]};l.lab.xyz=function(e){let t=e[0],r=e[1],n=e[2],o,s,i;s=(t+16)/116,o=r/500+s,i=s-n/200;let c=s**3,a=o**3,u=i**3;return s=c>.008856?c:(s-16/116)/7.787,o=a>.008856?a:(o-16/116)/7.787,i=u>.008856?u:(i-16/116)/7.787,o*=95.047,s*=100,i*=108.883,[o,s,i]};l.lab.lch=function(e){let t=e[0],r=e[1],n=e[2],o;o=Math.atan2(n,r)*360/2/Math.PI,o<0&&(o+=360);let i=Math.sqrt(r*r+n*n);return[t,i,o]};l.lch.lab=function(e){let t=e[0],r=e[1],o=e[2]/360*2*Math.PI,s=r*Math.cos(o),i=r*Math.sin(o);return[t,s,i]};l.rgb.ansi16=function(e,t=null){let[r,n,o]=e,s=t===null?l.rgb.hsv(e)[2]:t;if(s=Math.round(s/50),s===0)return 30;let i=30+(Math.round(o/255)<<2|Math.round(n/255)<<1|Math.round(r/255));return s===2&&(i+=60),i};l.hsv.ansi16=function(e){return l.rgb.ansi16(l.hsv.rgb(e),e[2])};l.rgb.ansi256=function(e){let t=e[0],r=e[1],n=e[2];return t===r&&r===n?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5)};l.ansi16.rgb=function(e){let t=e%10;if(t===0||t===7)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];let r=(~~(e>50)+1)*.5,n=(t&1)*r*255,o=(t>>1&1)*r*255,s=(t>>2&1)*r*255;return[n,o,s]};l.ansi256.rgb=function(e){if(e>=232){let s=(e-232)*10+8;return[s,s,s]}e-=16;let t,r=Math.floor(e/36)/5*255,n=Math.floor((t=e%36)/6)/5*255,o=t%6/5*255;return[r,n,o]};l.rgb.hex=function(e){let r=(((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};l.hex.rgb=function(e){let t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let r=t[0];t[0].length===3&&(r=r.split("").map(c=>c+c).join(""));let n=parseInt(r,16),o=n>>16&255,s=n>>8&255,i=n&255;return[o,s,i]};l.rgb.hcg=function(e){let t=e[0]/255,r=e[1]/255,n=e[2]/255,o=Math.max(Math.max(t,r),n),s=Math.min(Math.min(t,r),n),i=o-s,c,a;return i<1?c=s/(1-i):c=0,i<=0?a=0:o===t?a=(r-n)/i%6:o===r?a=2+(n-t)/i:a=4+(t-r)/i,a/=6,a%=1,[a*360,i*100,c*100]};l.hsl.hcg=function(e){let t=e[1]/100,r=e[2]/100,n=r<.5?2*t*r:2*t*(1-r),o=0;return n<1&&(o=(r-.5*n)/(1-n)),[e[0],n*100,o*100]};l.hsv.hcg=function(e){let t=e[1]/100,r=e[2]/100,n=t*r,o=0;return n<1&&(o=(r-n)/(1-n)),[e[0],n*100,o*100]};l.hcg.rgb=function(e){let t=e[0]/360,r=e[1]/100,n=e[2]/100;if(r===0)return[n*255,n*255,n*255];let o=[0,0,0],s=t%1*6,i=s%1,c=1-i,a=0;switch(Math.floor(s)){case 0:o[0]=1,o[1]=i,o[2]=0;break;case 1:o[0]=c,o[1]=1,o[2]=0;break;case 2:o[0]=0,o[1]=1,o[2]=i;break;case 3:o[0]=0,o[1]=c,o[2]=1;break;case 4:o[0]=i,o[1]=0,o[2]=1;break;default:o[0]=1,o[1]=0,o[2]=c}return a=(1-r)*n,[(r*o[0]+a)*255,(r*o[1]+a)*255,(r*o[2]+a)*255]};l.hcg.hsv=function(e){let t=e[1]/100,r=e[2]/100,n=t+r*(1-t),o=0;return n>0&&(o=t/n),[e[0],o*100,n*100]};l.hcg.hsl=function(e){let t=e[1]/100,n=e[2]/100*(1-t)+.5*t,o=0;return n>0&&n<.5?o=t/(2*n):n>=.5&&n<1&&(o=t/(2*(1-n))),[e[0],o*100,n*100]};l.hcg.hwb=function(e){let t=e[1]/100,r=e[2]/100,n=t+r*(1-t);return[e[0],(n-t)*100,(1-n)*100]};l.hwb.hcg=function(e){let t=e[1]/100,n=1-e[2]/100,o=n-t,s=0;return o<1&&(s=(n-o)/(1-o)),[e[0],o*100,s*100]};l.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]};l.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]};l.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]};l.gray.hsl=function(e){return[0,0,e[0]]};l.gray.hsv=l.gray.hsl;l.gray.hwb=function(e){return[0,100,e[0]]};l.gray.cmyk=function(e){return[0,0,0,e[0]]};l.gray.lab=function(e){return[e[0],0,0]};l.gray.hex=function(e){let t=Math.round(e[0]/100*255)&255,n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(n.length)+n};l.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}});var J=b((vt,H)=>{var O=F();function qe(){let e={},t=Object.keys(O);for(let r=t.length,n=0;n<r;n++)e[t[n]]={distance:-1,parent:null};return e}function Le(e){let t=qe(),r=[e];for(t[e].distance=0;r.length;){let n=r.pop(),o=Object.keys(O[n]);for(let s=o.length,i=0;i<s;i++){let c=o[i],a=t[c];a.distance===-1&&(a.distance=t[n].distance+1,a.parent=n,r.unshift(c))}}return t}function ze(e,t){return function(r){return t(e(r))}}function De(e,t){let r=[t[e].parent,e],n=O[t[e].parent][e],o=t[e].parent;for(;t[o].parent;)r.unshift(t[o].parent),n=ze(O[t[o].parent][o],n),o=t[o].parent;return n.conversion=r,n}H.exports=function(e){let t=Le(e),r={},n=Object.keys(t);for(let o=n.length,s=0;s<o;s++){let i=n[s];t[i].parent!==null&&(r[i]=De(i,t))}return r}});var ee=b((kt,Q)=>{var I=F(),Ge=J(),v={},Ke=Object.keys(I);function We(e){let t=function(...r){let n=r[0];return n==null?n:(n.length>1&&(r=n),e(r))};return"conversion"in e&&(t.conversion=e.conversion),t}function Ue(e){let t=function(...r){let n=r[0];if(n==null)return n;n.length>1&&(r=n);let o=e(r);if(typeof o=="object")for(let s=o.length,i=0;i<s;i++)o[i]=Math.round(o[i]);return o};return"conversion"in e&&(t.conversion=e.conversion),t}Ke.forEach(e=>{v[e]={},Object.defineProperty(v[e],"channels",{value:I[e].channels}),Object.defineProperty(v[e],"labels",{value:I[e].labels});let t=Ge(e);Object.keys(t).forEach(n=>{let o=t[n];v[e][n]=Ue(o),v[e][n].raw=We(o)})});Q.exports=v});var ie=b((xt,se)=>{"use strict";var te=(e,t)=>(...r)=>`\x1B[${e(...r)+t}m`,ne=(e,t)=>(...r)=>{let n=e(...r);return`\x1B[${38+t};5;${n}m`},re=(e,t)=>(...r)=>{let n=e(...r);return`\x1B[${38+t};2;${n[0]};${n[1]};${n[2]}m`},M=e=>e,oe=(e,t,r)=>[e,t,r],k=(e,t,r)=>{Object.defineProperty(e,t,{get:()=>{let n=r();return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0}),n},enumerable:!0,configurable:!0})},_,x=(e,t,r,n)=>{_===void 0&&(_=ee());let o=n?10:0,s={};for(let[i,c]of Object.entries(_)){let a=i==="ansi16"?"ansi":i;i===t?s[a]=e(r,o):typeof c=="object"&&(s[a]=e(c[t],o))}return s};function Ve(){let e=new Map,t={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};t.color.gray=t.color.blackBright,t.bgColor.bgGray=t.bgColor.bgBlackBright,t.color.grey=t.color.blackBright,t.bgColor.bgGrey=t.bgColor.bgBlackBright;for(let[r,n]of Object.entries(t)){for(let[o,s]of Object.entries(n))t[o]={open:`\x1B[${s[0]}m`,close:`\x1B[${s[1]}m`},n[o]=t[o],e.set(s[0],s[1]);Object.defineProperty(t,r,{value:n,enumerable:!1})}return Object.defineProperty(t,"codes",{value:e,enumerable:!1}),t.color.close="\x1B[39m",t.bgColor.close="\x1B[49m",k(t.color,"ansi",()=>x(te,"ansi16",M,!1)),k(t.color,"ansi256",()=>x(ne,"ansi256",M,!1)),k(t.color,"ansi16m",()=>x(re,"rgb",oe,!1)),k(t.bgColor,"ansi",()=>x(te,"ansi16",M,!0)),k(t.bgColor,"ansi256",()=>x(ne,"ansi256",M,!0)),k(t.bgColor,"ansi16m",()=>x(re,"rgb",oe,!0)),t}Object.defineProperty(se,"exports",{enumerable:!0,get:Ve})});var le=b((Ct,ce)=>{"use strict";ce.exports=(e,t=process.argv)=>{let r=e.startsWith("-")?"":e.length===1?"-":"--",n=t.indexOf(r+e),o=t.indexOf("--");return n!==-1&&(o===-1||n<o)}});var fe=b((Et,ue)=>{"use strict";var Ye=W("os"),ae=W("tty"),d=le(),{env:h}=process,w;d("no-color")||d("no-colors")||d("color=false")||d("color=never")?w=0:(d("color")||d("colors")||d("color=true")||d("color=always"))&&(w=1);"FORCE_COLOR"in h&&(h.FORCE_COLOR==="true"?w=1:h.FORCE_COLOR==="false"?w=0:w=h.FORCE_COLOR.length===0?1:Math.min(parseInt(h.FORCE_COLOR,10),3));function T(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function $(e,t){if(w===0)return 0;if(d("color=16m")||d("color=full")||d("color=truecolor"))return 3;if(d("color=256"))return 2;if(e&&!t&&w===void 0)return 0;let r=w||0;if(h.TERM==="dumb")return r;if(process.platform==="win32"){let n=Ye.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in h)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in h)||h.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in h)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(h.TEAMCITY_VERSION)?1:0;if(h.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in h){let n=parseInt((h.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(h.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(h.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(h.TERM)||"COLORTERM"in h?1:r}function Xe(e){let t=$(e,e&&e.isTTY);return T(t)}ue.exports={supportsColor:Xe,stdout:T($(!0,ae.isatty(1))),stderr:T($(!0,ae.isatty(2)))}});var ge=b((jt,he)=>{"use strict";var Ze=(e,t,r)=>{let n=e.indexOf(t);if(n===-1)return e;let o=t.length,s=0,i="";do i+=e.substr(s,n-s)+t+r,s=n+o,n=e.indexOf(t,s);while(n!==-1);return i+=e.substr(s),i},He=(e,t,r,n)=>{let o=0,s="";do{let i=e[n-1]==="\r";s+=e.substr(o,(i?n-1:n)-o)+t+(i?`\r
4
4
  `:`
5
- `)+n,o=r+1,r=e.indexOf(`
6
- `,o)}while(r!==-1);return s+=e.substr(o),s};fe.exports={stringReplaceAll:Ke,stringEncaseCRLFWithFirstIndex:Xe}});var me=b((xt,be)=>{"use strict";var He=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,ge=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Je=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Ze=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,Qe=new Map([["n",`
7
- `],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function pe(e){let t=e[0]==="u",n=e[1]==="{";return t&&!n&&e.length===5||e[0]==="x"&&e.length===3?String.fromCharCode(parseInt(e.slice(1),16)):t&&n?String.fromCodePoint(parseInt(e.slice(2,-1),16)):Qe.get(e)||e}function et(e,t){let n=[],r=t.trim().split(/\s*,\s*/g),o;for(let s of r){let l=Number(s);if(!Number.isNaN(l))n.push(l);else if(o=s.match(Je))n.push(o[2].replace(Ze,(c,a,u)=>a?pe(a):u));else throw new Error(`Invalid Chalk template style argument: ${s} (in style '${e}')`)}return n}function tt(e){ge.lastIndex=0;let t=[],n;for(;(n=ge.exec(e))!==null;){let r=n[1];if(n[2]){let o=et(r,n[2]);t.push([r].concat(o))}else t.push([r])}return t}function de(e,t){let n={};for(let o of t)for(let s of o.styles)n[s[0]]=o.inverse?null:s.slice(1);let r=e;for(let[o,s]of Object.entries(n))if(Array.isArray(s)){if(!(o in r))throw new Error(`Unknown Chalk style: ${o}`);r=s.length>0?r[o](...s):r[o]}return r}be.exports=(e,t)=>{let n=[],r=[],o=[];if(t.replace(He,(s,l,c,a,u,d)=>{if(l)o.push(pe(l));else if(a){let g=o.join("");o=[],r.push(n.length===0?g:de(e,n)(g)),n.push({inverse:c,styles:tt(a)})}else if(u){if(n.length===0)throw new Error("Found extraneous } in Chalk template literal");r.push(de(e,n)(o.join(""))),o=[],n.pop()}else o.push(d)}),r.push(o.join("")),n.length>0){let s=`Chalk template literal is missing ${n.length} closing bracket${n.length===1?"":"s"} (\`}\`)`;throw new Error(s)}return r.join("")}});var G=b((Ct,Ce)=>{"use strict";var O=se(),{stdout:$,stderr:q}=ue(),{stringReplaceAll:nt,stringEncaseCRLFWithFirstIndex:rt}=he(),{isArray:M}=Array,we=["ansi","ansi","ansi256","ansi16m"],x=Object.create(null),ot=(e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let n=$?$.level:0;e.level=t.level===void 0?n:t.level},L=class{constructor(t){return ve(t)}},ve=e=>{let t={};return ot(t,e),t.template=(...n)=>xe(t.template,...n),Object.setPrototypeOf(t,R.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},t.template.Instance=L,t.template};function R(e){return ve(e)}for(let[e,t]of Object.entries(O))x[e]={get(){let n=P(this,D(t.open,t.close,this._styler),this._isEmpty);return Object.defineProperty(this,e,{value:n}),n}};x.visible={get(){let e=P(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:e}),e}};var ke=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let e of ke)x[e]={get(){let{level:t}=this;return function(...n){let r=D(O.color[we[t]][e](...n),O.color.close,this._styler);return P(this,r,this._isEmpty)}}};for(let e of ke){let t="bg"+e[0].toUpperCase()+e.slice(1);x[t]={get(){let{level:n}=this;return function(...r){let o=D(O.bgColor[we[n]][e](...r),O.bgColor.close,this._styler);return P(this,o,this._isEmpty)}}}}var st=Object.defineProperties(()=>{},{...x,level:{enumerable:!0,get(){return this._generator.level},set(e){this._generator.level=e}}}),D=(e,t,n)=>{let r,o;return n===void 0?(r=e,o=t):(r=n.openAll+e,o=t+n.closeAll),{open:e,close:t,openAll:r,closeAll:o,parent:n}},P=(e,t,n)=>{let r=(...o)=>M(o[0])&&M(o[0].raw)?ye(r,xe(r,...o)):ye(r,o.length===1?""+o[0]:o.join(" "));return Object.setPrototypeOf(r,st),r._generator=e,r._styler=t,r._isEmpty=n,r},ye=(e,t)=>{if(e.level<=0||!t)return e._isEmpty?"":t;let n=e._styler;if(n===void 0)return t;let{openAll:r,closeAll:o}=n;if(t.indexOf("\x1B")!==-1)for(;n!==void 0;)t=nt(t,n.close,n.open),n=n.parent;let s=t.indexOf(`
8
- `);return s!==-1&&(t=rt(t,o,r,s)),r+t+o},N,xe=(e,...t)=>{let[n]=t;if(!M(n)||!M(n.raw))return t.join(" ");let r=t.slice(1),o=[n.raw[0]];for(let s=1;s<n.length;s++)o.push(String(r[s-1]).replace(/[{}\\]/g,"\\$&"),String(n.raw[s]));return N===void 0&&(N=me()),N(e,o.join(""))};Object.defineProperties(R.prototype,x);var A=R();A.supportsColor=$;A.stderr=R({level:q?q.level:0});A.stderr.supportsColor=q;Ce.exports=A});var Me=W(G(),1);import{Command as ht}from"commander";var h=W(G(),1);import{input as Oe,confirm as Ee}from"@inquirer/prompts";import y from"fs-extra";import B from"path";var je=async(e,t=!1)=>{let n;t?n=await lt(e):n={projectName:e||"my-raclette-app",includeDashboard:!0},console.log(h.default.blue(`\u{1F9C0} Creating Raclette app: ${n.projectName}`));let r=B.resolve(process.cwd(),n.projectName);await y.pathExists(r)&&(console.error(h.default.red(`Directory ${n.projectName} already exists!`)),process.exit(1)),await y.ensureDir(r),await ct(r,n),console.log(h.default.green("\u2705 Raclette app created successfully!")),console.log(h.default.blue(`
9
- Next steps:`)),console.log(h.default.white(` cd ${n.projectName}`)),console.log(h.default.white(" yarn install")),console.log(h.default.white(" yarn dev")),console.log(h.default.white(`
10
- Happy coding! \u{1F9C0}`))},lt=async e=>{console.log(h.default.blue(`\u{1F9C0} Welcome to Raclette App Interactive Setup!
11
- `));let t=await Oe({message:"What is your project name?",default:e||"my-raclette-app",validate:l=>l.trim()?!0:"Project name is required"}),n=await Oe({message:"Enter your GitLab deploy token for .npmrc (leave empty to skip, but 'yarn install' won't work):",validate:l=>l&&!l.match(/^[a-zA-Z0-9_-]+$/)?"Deploy token should only contain alphanumeric characters, hyphens, and underscores":!0}),r=await Ee({message:"Do you want to include the raclette dashboard (highly recommended)?",default:!0}),o={projectName:t,deployToken:n||void 0,includeDashboard:r};return console.log(h.default.blue(`
12
- \u{1F4CB} Configuration Summary:`)),console.log(h.default.white(` Project: ${o.projectName}`)),console.log(h.default.white(` Deploy Token: ${o.deployToken?"\u2713 Provided":"\u2717 Skipped"}`)),console.log(h.default.white(` Include raclette dashboard: ${o.includeDashboard}`)),await Ee({message:"Proceed with this configuration?",default:!0})||(console.log(h.default.yellow("Setup cancelled.")),process.exit(0)),o},ct=async(e,t)=>{let n=B.join(import.meta.dirname,"templates");console.log(h.default.blue("\u{1F4C1} Copying template files...")),await y.copy(n,e),await it(e,t)},it=async(e,t)=>{console.log(h.default.blue("\u{1F504} Processing template files..."));let n=await at(e);for(let r of n){let o=B.extname(r);[".png",".jpg",".jpeg",".gif",".ico",".woff",".woff2",".ttf",".eot"].includes(o)||await ut(r,t)}},at=async e=>{let t=[],n=async r=>{let o=await y.readdir(r);for(let s of o){let l=B.join(r,s);(await y.stat(l)).isDirectory()?s!=="node_modules"&&s!==".git"&&!s.startsWith(".")&&await n(l):t.push(l)}};return await n(e),t},ut=async(e,t)=>{if(!await y.pathExists(e))return;let n=await y.readFile(e,"utf-8");n=n.replace(/{{PROJECT_NAME}}/g,t.projectName),n=n.replace(/{{PROJECT_NAME_KEBAB}}/g,ft(t.projectName)),n=n.replace(/{{DEPLOY_TOKEN}}/g,t.deployToken||""),t.includeDashboard!==void 0&&(n=n.replace(/{{#if INCLUDE_DASHBOARD}}([\s\S]*?){{\/if}}/g,t.includeDashboard?"$1":""),n=n.replace(/^\s*\n/gm,"")),await y.writeFile(e,n)},ft=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase();var Re=new ht;Re.name("create-raclette-app").description("Create a new raclette application - interactive prompts").version("1.0.0").action(async()=>{try{await je(void 0,!0)}catch(e){console.error(Me.default.red("Error creating Raclette app:"),e),process.exit(1)}});Re.parse();
5
+ `)+r,o=n+1,n=e.indexOf(`
6
+ `,o)}while(n!==-1);return s+=e.substr(o),s};he.exports={stringReplaceAll:Ze,stringEncaseCRLFWithFirstIndex:He}});var ye=b((Ot,be)=>{"use strict";var Je=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,pe=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Qe=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,et=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,tt=new Map([["n",`
7
+ `],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function me(e){let t=e[0]==="u",r=e[1]==="{";return t&&!r&&e.length===5||e[0]==="x"&&e.length===3?String.fromCharCode(parseInt(e.slice(1),16)):t&&r?String.fromCodePoint(parseInt(e.slice(2,-1),16)):tt.get(e)||e}function nt(e,t){let r=[],n=t.trim().split(/\s*,\s*/g),o;for(let s of n){let i=Number(s);if(!Number.isNaN(i))r.push(i);else if(o=s.match(Qe))r.push(o[2].replace(et,(c,a,u)=>a?me(a):u));else throw new Error(`Invalid Chalk template style argument: ${s} (in style '${e}')`)}return r}function rt(e){pe.lastIndex=0;let t=[],r;for(;(r=pe.exec(e))!==null;){let n=r[1];if(r[2]){let o=nt(n,r[2]);t.push([n].concat(o))}else t.push([n])}return t}function de(e,t){let r={};for(let o of t)for(let s of o.styles)r[s[0]]=o.inverse?null:s.slice(1);let n=e;for(let[o,s]of Object.entries(r))if(Array.isArray(s)){if(!(o in n))throw new Error(`Unknown Chalk style: ${o}`);n=s.length>0?n[o](...s):n[o]}return n}be.exports=(e,t)=>{let r=[],n=[],o=[];if(t.replace(Je,(s,i,c,a,u,p)=>{if(i)o.push(me(i));else if(a){let g=o.join("");o=[],n.push(r.length===0?g:de(e,r)(g)),r.push({inverse:c,styles:rt(a)})}else if(u){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");n.push(de(e,r)(o.join(""))),o=[],r.pop()}else o.push(p)}),n.push(o.join("")),r.length>0){let s=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(s)}return n.join("")}});var G=b((Mt,Ee)=>{"use strict";var j=ie(),{stdout:q,stderr:L}=fe(),{stringReplaceAll:ot,stringEncaseCRLFWithFirstIndex:st}=ge(),{isArray:R}=Array,ve=["ansi","ansi","ansi256","ansi16m"],C=Object.create(null),it=(e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let r=q?q.level:0;e.level=t.level===void 0?r:t.level},z=class{constructor(t){return ke(t)}},ke=e=>{let t={};return it(t,e),t.template=(...r)=>Ce(t.template,...r),Object.setPrototypeOf(t,P.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},t.template.Instance=z,t.template};function P(e){return ke(e)}for(let[e,t]of Object.entries(j))C[e]={get(){let r=S(this,D(t.open,t.close,this._styler),this._isEmpty);return Object.defineProperty(this,e,{value:r}),r}};C.visible={get(){let e=S(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:e}),e}};var xe=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let e of xe)C[e]={get(){let{level:t}=this;return function(...r){let n=D(j.color[ve[t]][e](...r),j.color.close,this._styler);return S(this,n,this._isEmpty)}}};for(let e of xe){let t="bg"+e[0].toUpperCase()+e.slice(1);C[t]={get(){let{level:r}=this;return function(...n){let o=D(j.bgColor[ve[r]][e](...n),j.bgColor.close,this._styler);return S(this,o,this._isEmpty)}}}}var ct=Object.defineProperties(()=>{},{...C,level:{enumerable:!0,get(){return this._generator.level},set(e){this._generator.level=e}}}),D=(e,t,r)=>{let n,o;return r===void 0?(n=e,o=t):(n=r.openAll+e,o=t+r.closeAll),{open:e,close:t,openAll:n,closeAll:o,parent:r}},S=(e,t,r)=>{let n=(...o)=>R(o[0])&&R(o[0].raw)?we(n,Ce(n,...o)):we(n,o.length===1?""+o[0]:o.join(" "));return Object.setPrototypeOf(n,ct),n._generator=e,n._styler=t,n._isEmpty=r,n},we=(e,t)=>{if(e.level<=0||!t)return e._isEmpty?"":t;let r=e._styler;if(r===void 0)return t;let{openAll:n,closeAll:o}=r;if(t.indexOf("\x1B")!==-1)for(;r!==void 0;)t=ot(t,r.close,r.open),r=r.parent;let s=t.indexOf(`
8
+ `);return s!==-1&&(t=st(t,o,n,s)),n+t+o},N,Ce=(e,...t)=>{let[r]=t;if(!R(r)||!R(r.raw))return t.join(" ");let n=t.slice(1),o=[r.raw[0]];for(let s=1;s<r.length;s++)o.push(String(n[s-1]).replace(/[{}\\]/g,"\\$&"),String(r.raw[s]));return N===void 0&&(N=ye()),N(e,o.join(""))};Object.defineProperties(P.prototype,C);var B=P();B.supportsColor=q;B.stderr=P({level:L?L.level:0});B.stderr.supportsColor=L;Ee.exports=B});var Pe=U(G(),1);import{Command as mt}from"commander";var f=U(G(),1);import{input as lt,confirm as Oe}from"@inquirer/prompts";import y from"fs-extra";import m from"path";import{fileURLToPath as at}from"url";var je=e=>e.replace(/([a-z])([A-Z])/g,"$1_$2").toUpperCase(),A=[{id:"projectName",enabled:!0,type:"input",message:"What is your project name?",default:"my-raclette-app",validate:e=>e.trim()?!0:"Project name is required",configKey:"projectName"},{id:"useRecommendedEslint",enabled:!0,type:"confirm",message:"Do you want to use the recommended ESLint config? (What the core devs use, but it's opinionated)",default:!1,configKey:"useRecommendedEslint"}],Me=async(e,t=!1)=>{let r;if(t)r=await ut(e);else{let s=e||"my-raclette-app";s==="."&&(s=m.basename(process.cwd())),r={projectName:s,useRecommendedEslint:!1}}if(!r.projectName)throw new Error("Project name is required");console.log(f.default.rgb(221,139,64)(`\u{1F9C0} Creating Raclette app: ${r.projectName}`));let n,o;if(e==="."){n=process.cwd(),o=".";let s=await y.readdir(n),i=[".git",".gitignore","LICENSE",".DS_Store"];s.some(a=>!i.includes(a))&&(console.error(f.default.red("Current directory is not empty! Please use an empty directory or specify a project name.")),process.exit(1))}else o=Re(r.projectName),n=m.resolve(process.cwd(),o),await y.pathExists(n)&&(console.error(f.default.red(`Directory ${o} already exists!`)),process.exit(1)),await y.ensureDir(n);await ht(n,r),console.log(f.default.green("\u2705 Raclette app created successfully!")),console.log(f.default.blue(`
9
+ Next steps:`)),e!=="."&&console.log(f.default.white(` cd ${o}`)),console.log(f.default.white(" yarn install")),console.log(f.default.white(" yarn dev")),console.log(f.default.blue(`
10
+ \u{1F4CB} Important notes:`)),console.log(f.default.white(" \u2022 First start might take a few minutes (Docker containers)")),console.log(f.default.white(" \u2022 Visit workbench first: http://localhost:8083")),console.log(f.default.white(" \u2022 Create admin user, then access app: http://localhost:8081")),console.log(f.default.white(" > We recommend to use Docker Desktop if you are not experienced with Docker")),console.log(f.default.white(`
11
+ Happy coding! \u{1F9C0}`))},ut=async e=>{console.log(f.default.rgb(221,139,64)(`\u{1F9C0} Welcome to Raclette App Interactive Setup!
12
+ `));let t={};for(let r of A){if(!r.enabled)continue;let n;if(r.id==="projectName"&&e)n=e==="."?m.basename(process.cwd()):e;else switch(r.type){case"input":n=await lt({message:r.message,default:r.default,validate:r.validate});break;case"confirm":n=await Oe({message:r.message,default:r.default});break;default:throw new Error(`Unknown step type: ${r.type}`)}t[r.configKey]=n}return await ft(t),t},ft=async e=>{console.log(f.default.blue(`
13
+ \u{1F4CB} Configuration Summary:`));for(let r of A){if(!r.enabled)continue;let n=e[r.configKey],o=typeof n=="boolean"?n:n||"Not set";console.log(f.default.white(` ${r.id}: ${o}`))}await Oe({message:"Proceed with this configuration?",default:!0})||(console.log(f.default.yellow("Setup cancelled.")),process.exit(0))},ht=async(e,t)=>{let r,n=m.dirname(at(import.meta.url)),o=[m.join(n,"templates"),m.join(n,"..","templates"),m.join(n,"..","..","templates"),m.join(process.cwd(),"templates"),m.join(process.cwd(),"src","templates")];for(let s of o)if(await y.pathExists(s)){r=s;break}if(!r)throw new Error("Could not find templates directory. Please ensure the templates folder exists.");console.log(f.default.blue("\u{1F4C1} Copying template files...")),await y.copy(r,e),await gt(e,t)},gt=async(e,t)=>{console.log(f.default.blue("\u{1F504} Processing template files..."));let r=await pt(e);for(let n of r){let o=m.extname(n);[".png",".jpg",".jpeg",".gif",".ico",".woff",".woff2",".ttf",".eot"].includes(o)||await dt(n,t)}},pt=async e=>{let t=[],r=async n=>{let o=await y.readdir(n);for(let s of o){let i=m.join(n,s);(await y.stat(i)).isDirectory()?s!=="node_modules"&&s!==".git"&&!s.startsWith(".")&&await r(i):t.push(i)}};return await r(e),t},dt=async(e,t)=>{if(!await y.pathExists(e))return;let r=await y.readFile(e,"utf-8");for(let n of A){if(!n.enabled)continue;let o=t[n.configKey];if(o!==void 0){let s=`{{${je(n.configKey)}}}`;r=r.replace(new RegExp(s,"g"),String(o))}}t.projectName&&(r=r.replace(/{{PROJECT_NAME_KEBAB}}/g,Re(t.projectName)));for(let n of A){if(!n.enabled)continue;let o=t[n.configKey];if(o!==void 0){let s=new RegExp(`{{#if ${je(n.configKey)}}}([\\s\\S]*?){{\\/if}}`,"g");r=r.replace(s,o?"$1":"")}}r=r.replace(/^\s*\n/gm,""),await y.writeFile(e,r)},Re=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase();var Se=new mt;Se.name("create-raclette-app").description("Create a new raclette application").version("1.0.0").argument("[project-name]","Name of the project to create").option("-n, --non-interactive","Skip interactive prompts and use defaults").action(async(e,t)=>{try{let r=!t.nonInteractive;await Me(e,r)}catch(r){console.error(Pe.default.red("Error creating Raclette app:"),r),process.exit(1)}});Se.parse();
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../node_modules/color-name/index.js", "../node_modules/color-convert/conversions.js", "../node_modules/color-convert/route.js", "../node_modules/color-convert/index.js", "../node_modules/ansi-styles/index.js", "../node_modules/has-flag/index.js", "../node_modules/supports-color/index.js", "../node_modules/chalk/source/util.js", "../node_modules/chalk/source/templates.js", "../node_modules/chalk/source/index.js", "../src/index.ts", "../src/create-app.ts"],
4
+ "sourcesContent": ["'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n", "/* MIT license */\n/* eslint-disable no-mixed-operators */\nconst cssKeywords = require('color-name');\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nconst reverseKeywords = {};\nfor (const key of Object.keys(cssKeywords)) {\n\treverseKeywords[cssKeywords[key]] = key;\n}\n\nconst convert = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\nmodule.exports = convert;\n\n// Hide .channels and .labels properties\nfor (const model of Object.keys(convert)) {\n\tif (!('channels' in convert[model])) {\n\t\tthrow new Error('missing channels property: ' + model);\n\t}\n\n\tif (!('labels' in convert[model])) {\n\t\tthrow new Error('missing channel labels property: ' + model);\n\t}\n\n\tif (convert[model].labels.length !== convert[model].channels) {\n\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t}\n\n\tconst {channels, labels} = convert[model];\n\tdelete convert[model].channels;\n\tdelete convert[model].labels;\n\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\tObject.defineProperty(convert[model], 'labels', {value: labels});\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst min = Math.min(r, g, b);\n\tconst max = Math.max(r, g, b);\n\tconst delta = max - min;\n\tlet h;\n\tlet s;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst l = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tlet rdif;\n\tlet gdif;\n\tlet bdif;\n\tlet h;\n\tlet s;\n\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst v = Math.max(r, g, b);\n\tconst diff = v - Math.min(r, g, b);\n\tconst diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = 0;\n\t\ts = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tconst r = rgb[0];\n\tconst g = rgb[1];\n\tlet b = rgb[2];\n\tconst h = convert.rgb.hsl(rgb)[0];\n\tconst w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\n\tconst k = Math.min(1 - r, 1 - g, 1 - b);\n\tconst c = (1 - r - k) / (1 - k) || 0;\n\tconst m = (1 - g - k) / (1 - k) || 0;\n\tconst y = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\nfunction comparativeDistance(x, y) {\n\t/*\n\t\tSee https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n\t*/\n\treturn (\n\t\t((x[0] - y[0]) ** 2) +\n\t\t((x[1] - y[1]) ** 2) +\n\t\t((x[2] - y[2]) ** 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tconst reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tlet currentClosestDistance = Infinity;\n\tlet currentClosestKeyword;\n\n\tfor (const keyword of Object.keys(cssKeywords)) {\n\t\tconst value = cssKeywords[keyword];\n\n\t\t// Compute comparative distance\n\t\tconst distance = comparativeDistance(rgb, value);\n\n\t\t// Check if its less, if so set as closest\n\t\tif (distance < currentClosestDistance) {\n\t\t\tcurrentClosestDistance = distance;\n\t\t\tcurrentClosestKeyword = keyword;\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tlet r = rgb[0] / 255;\n\tlet g = rgb[1] / 255;\n\tlet b = rgb[2] / 255;\n\n\t// Assume sRGB\n\tr = r > 0.04045 ? (((r + 0.055) / 1.055) ** 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? (((g + 0.055) / 1.055) ** 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? (((b + 0.055) / 1.055) ** 2.4) : (b / 12.92);\n\n\tconst x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tconst y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tconst z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tconst xyz = convert.rgb.xyz(rgb);\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tconst h = hsl[0] / 360;\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\tlet t2;\n\tlet t3;\n\tlet val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tconst t1 = 2 * l - t2;\n\n\tconst rgb = [0, 0, 0];\n\tfor (let i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tconst h = hsl[0];\n\tlet s = hsl[1] / 100;\n\tlet l = hsl[2] / 100;\n\tlet smin = s;\n\tconst lmin = Math.max(l, 0.01);\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tconst v = (l + s) / 2;\n\tconst sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tconst h = hsv[0] / 60;\n\tconst s = hsv[1] / 100;\n\tlet v = hsv[2] / 100;\n\tconst hi = Math.floor(h) % 6;\n\n\tconst f = h - Math.floor(h);\n\tconst p = 255 * v * (1 - s);\n\tconst q = 255 * v * (1 - (s * f));\n\tconst t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tconst h = hsv[0];\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\tconst vmin = Math.max(v, 0.01);\n\tlet sl;\n\tlet l;\n\n\tl = (2 - s) * v;\n\tconst lmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tconst h = hwb[0] / 360;\n\tlet wh = hwb[1] / 100;\n\tlet bl = hwb[2] / 100;\n\tconst ratio = wh + bl;\n\tlet f;\n\n\t// Wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\tconst i = Math.floor(6 * h);\n\tconst v = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tconst n = wh + f * (v - wh); // Linear interpolation\n\n\tlet r;\n\tlet g;\n\tlet b;\n\t/* eslint-disable max-statements-per-line,no-multi-spaces */\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\t/* eslint-enable max-statements-per-line,no-multi-spaces */\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tconst c = cmyk[0] / 100;\n\tconst m = cmyk[1] / 100;\n\tconst y = cmyk[2] / 100;\n\tconst k = cmyk[3] / 100;\n\n\tconst r = 1 - Math.min(1, c * (1 - k) + k);\n\tconst g = 1 - Math.min(1, m * (1 - k) + k);\n\tconst b = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tconst x = xyz[0] / 100;\n\tconst y = xyz[1] / 100;\n\tconst z = xyz[2] / 100;\n\tlet r;\n\tlet g;\n\tlet b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// Assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * (r ** (1.0 / 2.4))) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * (g ** (1.0 / 2.4))) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * (b ** (1.0 / 2.4))) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet x;\n\tlet y;\n\tlet z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tconst y2 = y ** 3;\n\tconst x2 = x ** 3;\n\tconst z2 = z ** 3;\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet h;\n\n\tconst hr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst c = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tconst l = lch[0];\n\tconst c = lch[1];\n\tconst h = lch[2];\n\n\tconst hr = h / 360 * 2 * Math.PI;\n\tconst a = c * Math.cos(hr);\n\tconst b = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args, saturation = null) {\n\tconst [r, g, b] = args;\n\tlet value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tlet ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// Optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tconst r = args[0];\n\tconst g = args[1];\n\tconst b = args[2];\n\n\t// We use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tconst ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tlet color = args % 10;\n\n\t// Handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tconst mult = (~~(args > 50) + 1) * 0.5;\n\tconst r = ((color & 1) * mult) * 255;\n\tconst g = (((color >> 1) & 1) * mult) * 255;\n\tconst b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// Handle greyscale\n\tif (args >= 232) {\n\t\tconst c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tlet rem;\n\tconst r = Math.floor(args / 36) / 5 * 255;\n\tconst g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tconst b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tconst integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tconst match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tlet colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(char => {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tconst integer = parseInt(colorString, 16);\n\tconst r = (integer >> 16) & 0xFF;\n\tconst g = (integer >> 8) & 0xFF;\n\tconst b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst max = Math.max(Math.max(r, g), b);\n\tconst min = Math.min(Math.min(r, g), b);\n\tconst chroma = (max - min);\n\tlet grayscale;\n\tlet hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\n\tconst c = l < 0.5 ? (2.0 * s * l) : (2.0 * s * (1.0 - l));\n\n\tlet f = 0;\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\n\tconst c = s * v;\n\tlet f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tconst h = hcg[0] / 360;\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tconst pure = [0, 0, 0];\n\tconst hi = (h % 1) * 6;\n\tconst v = hi % 1;\n\tconst w = 1 - v;\n\tlet mg = 0;\n\n\t/* eslint-disable max-statements-per-line */\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\t/* eslint-enable max-statements-per-line */\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst v = c + g * (1.0 - c);\n\tlet f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst l = g * (1.0 - c) + 0.5 * c;\n\tlet s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\tconst v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tconst w = hwb[1] / 100;\n\tconst b = hwb[2] / 100;\n\tconst v = 1 - b;\n\tconst c = v - w;\n\tlet g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hsv = convert.gray.hsl;\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tconst val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tconst integer = (val << 16) + (val << 8) + val;\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tconst val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n", "const conversions = require('./conversions');\n\n/*\n\tThis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tconst graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tconst models = Object.keys(conversions);\n\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tconst graph = buildGraph();\n\tconst queue = [fromModel]; // Unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tconst current = queue.pop();\n\t\tconst adjacents = Object.keys(conversions[current]);\n\n\t\tfor (let len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tconst adjacent = adjacents[i];\n\t\t\tconst node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tconst path = [graph[toModel].parent, toModel];\n\tlet fn = conversions[graph[toModel].parent][toModel];\n\n\tlet cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tconst graph = deriveBFS(fromModel);\n\tconst conversion = {};\n\n\tconst models = Object.keys(graph);\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tconst toModel = models[i];\n\t\tconst node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// No possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n", "const conversions = require('./conversions');\nconst route = require('./route');\n\nconst convert = {};\n\nconst models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\tconst result = fn(args);\n\n\t\t// We're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (let len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(fromModel => {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tconst routes = route(fromModel);\n\tconst routeModels = Object.keys(routes);\n\n\trouteModels.forEach(toModel => {\n\t\tconst fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n", "'use strict';\n\nconst wrapAnsi16 = (fn, offset) => (...args) => {\n\tconst code = fn(...args);\n\treturn `\\u001B[${code + offset}m`;\n};\n\nconst wrapAnsi256 = (fn, offset) => (...args) => {\n\tconst code = fn(...args);\n\treturn `\\u001B[${38 + offset};5;${code}m`;\n};\n\nconst wrapAnsi16m = (fn, offset) => (...args) => {\n\tconst rgb = fn(...args);\n\treturn `\\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`;\n};\n\nconst ansi2ansi = n => n;\nconst rgb2rgb = (r, g, b) => [r, g, b];\n\nconst setLazyProperty = (object, property, get) => {\n\tObject.defineProperty(object, property, {\n\t\tget: () => {\n\t\t\tconst value = get();\n\n\t\t\tObject.defineProperty(object, property, {\n\t\t\t\tvalue,\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: true\n\t\t\t});\n\n\t\t\treturn value;\n\t\t},\n\t\tenumerable: true,\n\t\tconfigurable: true\n\t});\n};\n\n/** @type {typeof import('color-convert')} */\nlet colorConvert;\nconst makeDynamicStyles = (wrap, targetSpace, identity, isBackground) => {\n\tif (colorConvert === undefined) {\n\t\tcolorConvert = require('color-convert');\n\t}\n\n\tconst offset = isBackground ? 10 : 0;\n\tconst styles = {};\n\n\tfor (const [sourceSpace, suite] of Object.entries(colorConvert)) {\n\t\tconst name = sourceSpace === 'ansi16' ? 'ansi' : sourceSpace;\n\t\tif (sourceSpace === targetSpace) {\n\t\t\tstyles[name] = wrap(identity, offset);\n\t\t} else if (typeof suite === 'object') {\n\t\t\tstyles[name] = wrap(suite[targetSpace], offset);\n\t\t}\n\t}\n\n\treturn styles;\n};\n\nfunction assembleStyles() {\n\tconst codes = new Map();\n\tconst styles = {\n\t\tmodifier: {\n\t\t\treset: [0, 0],\n\t\t\t// 21 isn't widely supported and 22 does the same thing\n\t\t\tbold: [1, 22],\n\t\t\tdim: [2, 22],\n\t\t\titalic: [3, 23],\n\t\t\tunderline: [4, 24],\n\t\t\tinverse: [7, 27],\n\t\t\thidden: [8, 28],\n\t\t\tstrikethrough: [9, 29]\n\t\t},\n\t\tcolor: {\n\t\t\tblack: [30, 39],\n\t\t\tred: [31, 39],\n\t\t\tgreen: [32, 39],\n\t\t\tyellow: [33, 39],\n\t\t\tblue: [34, 39],\n\t\t\tmagenta: [35, 39],\n\t\t\tcyan: [36, 39],\n\t\t\twhite: [37, 39],\n\n\t\t\t// Bright color\n\t\t\tblackBright: [90, 39],\n\t\t\tredBright: [91, 39],\n\t\t\tgreenBright: [92, 39],\n\t\t\tyellowBright: [93, 39],\n\t\t\tblueBright: [94, 39],\n\t\t\tmagentaBright: [95, 39],\n\t\t\tcyanBright: [96, 39],\n\t\t\twhiteBright: [97, 39]\n\t\t},\n\t\tbgColor: {\n\t\t\tbgBlack: [40, 49],\n\t\t\tbgRed: [41, 49],\n\t\t\tbgGreen: [42, 49],\n\t\t\tbgYellow: [43, 49],\n\t\t\tbgBlue: [44, 49],\n\t\t\tbgMagenta: [45, 49],\n\t\t\tbgCyan: [46, 49],\n\t\t\tbgWhite: [47, 49],\n\n\t\t\t// Bright color\n\t\t\tbgBlackBright: [100, 49],\n\t\t\tbgRedBright: [101, 49],\n\t\t\tbgGreenBright: [102, 49],\n\t\t\tbgYellowBright: [103, 49],\n\t\t\tbgBlueBright: [104, 49],\n\t\t\tbgMagentaBright: [105, 49],\n\t\t\tbgCyanBright: [106, 49],\n\t\t\tbgWhiteBright: [107, 49]\n\t\t}\n\t};\n\n\t// Alias bright black as gray (and grey)\n\tstyles.color.gray = styles.color.blackBright;\n\tstyles.bgColor.bgGray = styles.bgColor.bgBlackBright;\n\tstyles.color.grey = styles.color.blackBright;\n\tstyles.bgColor.bgGrey = styles.bgColor.bgBlackBright;\n\n\tfor (const [groupName, group] of Object.entries(styles)) {\n\t\tfor (const [styleName, style] of Object.entries(group)) {\n\t\t\tstyles[styleName] = {\n\t\t\t\topen: `\\u001B[${style[0]}m`,\n\t\t\t\tclose: `\\u001B[${style[1]}m`\n\t\t\t};\n\n\t\t\tgroup[styleName] = styles[styleName];\n\n\t\t\tcodes.set(style[0], style[1]);\n\t\t}\n\n\t\tObject.defineProperty(styles, groupName, {\n\t\t\tvalue: group,\n\t\t\tenumerable: false\n\t\t});\n\t}\n\n\tObject.defineProperty(styles, 'codes', {\n\t\tvalue: codes,\n\t\tenumerable: false\n\t});\n\n\tstyles.color.close = '\\u001B[39m';\n\tstyles.bgColor.close = '\\u001B[49m';\n\n\tsetLazyProperty(styles.color, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, false));\n\tsetLazyProperty(styles.color, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, false));\n\tsetLazyProperty(styles.color, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, false));\n\tsetLazyProperty(styles.bgColor, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, true));\n\tsetLazyProperty(styles.bgColor, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, true));\n\tsetLazyProperty(styles.bgColor, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, true));\n\n\treturn styles;\n}\n\n// Make the export immutable\nObject.defineProperty(module, 'exports', {\n\tenumerable: true,\n\tget: assembleStyles\n});\n", "'use strict';\n\nmodule.exports = (flag, argv = process.argv) => {\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst position = argv.indexOf(prefix + flag);\n\tconst terminatorPosition = argv.indexOf('--');\n\treturn position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);\n};\n", "'use strict';\nconst os = require('os');\nconst tty = require('tty');\nconst hasFlag = require('has-flag');\n\nconst {env} = process;\n\nlet forceColor;\nif (hasFlag('no-color') ||\n\thasFlag('no-colors') ||\n\thasFlag('color=false') ||\n\thasFlag('color=never')) {\n\tforceColor = 0;\n} else if (hasFlag('color') ||\n\thasFlag('colors') ||\n\thasFlag('color=true') ||\n\thasFlag('color=always')) {\n\tforceColor = 1;\n}\n\nif ('FORCE_COLOR' in env) {\n\tif (env.FORCE_COLOR === 'true') {\n\t\tforceColor = 1;\n\t} else if (env.FORCE_COLOR === 'false') {\n\t\tforceColor = 0;\n\t} else {\n\t\tforceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);\n\t}\n}\n\nfunction translateLevel(level) {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3\n\t};\n}\n\nfunction supportsColor(haveStream, streamIsTTY) {\n\tif (forceColor === 0) {\n\t\treturn 0;\n\t}\n\n\tif (hasFlag('color=16m') ||\n\t\thasFlag('color=full') ||\n\t\thasFlag('color=truecolor')) {\n\t\treturn 3;\n\t}\n\n\tif (hasFlag('color=256')) {\n\t\treturn 2;\n\t}\n\n\tif (haveStream && !streamIsTTY && forceColor === undefined) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor || 0;\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\t// Windows 10 build 10586 is the first Windows release that supports 256 colors.\n\t\t// Windows 10 build 14931 is the first release that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(osRelease[0]) >= 10 &&\n\t\t\tNumber(osRelease[2]) >= 10586\n\t\t) {\n\t\t\treturn Number(osRelease[2]) >= 14931 ? 3 : 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'GITHUB_ACTIONS', 'BUILDKITE'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn min;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif (env.COLORTERM === 'truecolor') {\n\t\treturn 3;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app':\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\tcase 'Apple_Terminal':\n\t\t\t\treturn 2;\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\treturn min;\n}\n\nfunction getSupportLevel(stream) {\n\tconst level = supportsColor(stream, stream && stream.isTTY);\n\treturn translateLevel(level);\n}\n\nmodule.exports = {\n\tsupportsColor: getSupportLevel,\n\tstdout: translateLevel(supportsColor(true, tty.isatty(1))),\n\tstderr: translateLevel(supportsColor(true, tty.isatty(2)))\n};\n", "'use strict';\n\nconst stringReplaceAll = (string, substring, replacer) => {\n\tlet index = string.indexOf(substring);\n\tif (index === -1) {\n\t\treturn string;\n\t}\n\n\tconst substringLength = substring.length;\n\tlet endIndex = 0;\n\tlet returnValue = '';\n\tdo {\n\t\treturnValue += string.substr(endIndex, index - endIndex) + substring + replacer;\n\t\tendIndex = index + substringLength;\n\t\tindex = string.indexOf(substring, endIndex);\n\t} while (index !== -1);\n\n\treturnValue += string.substr(endIndex);\n\treturn returnValue;\n};\n\nconst stringEncaseCRLFWithFirstIndex = (string, prefix, postfix, index) => {\n\tlet endIndex = 0;\n\tlet returnValue = '';\n\tdo {\n\t\tconst gotCR = string[index - 1] === '\\r';\n\t\treturnValue += string.substr(endIndex, (gotCR ? index - 1 : index) - endIndex) + prefix + (gotCR ? '\\r\\n' : '\\n') + postfix;\n\t\tendIndex = index + 1;\n\t\tindex = string.indexOf('\\n', endIndex);\n\t} while (index !== -1);\n\n\treturnValue += string.substr(endIndex);\n\treturn returnValue;\n};\n\nmodule.exports = {\n\tstringReplaceAll,\n\tstringEncaseCRLFWithFirstIndex\n};\n", "'use strict';\nconst TEMPLATE_REGEX = /(?:\\\\(u(?:[a-f\\d]{4}|\\{[a-f\\d]{1,6}\\})|x[a-f\\d]{2}|.))|(?:\\{(~)?(\\w+(?:\\([^)]*\\))?(?:\\.\\w+(?:\\([^)]*\\))?)*)(?:[ \\t]|(?=\\r?\\n)))|(\\})|((?:.|[\\r\\n\\f])+?)/gi;\nconst STYLE_REGEX = /(?:^|\\.)(\\w+)(?:\\(([^)]*)\\))?/g;\nconst STRING_REGEX = /^(['\"])((?:\\\\.|(?!\\1)[^\\\\])*)\\1$/;\nconst ESCAPE_REGEX = /\\\\(u(?:[a-f\\d]{4}|{[a-f\\d]{1,6}})|x[a-f\\d]{2}|.)|([^\\\\])/gi;\n\nconst ESCAPES = new Map([\n\t['n', '\\n'],\n\t['r', '\\r'],\n\t['t', '\\t'],\n\t['b', '\\b'],\n\t['f', '\\f'],\n\t['v', '\\v'],\n\t['0', '\\0'],\n\t['\\\\', '\\\\'],\n\t['e', '\\u001B'],\n\t['a', '\\u0007']\n]);\n\nfunction unescape(c) {\n\tconst u = c[0] === 'u';\n\tconst bracket = c[1] === '{';\n\n\tif ((u && !bracket && c.length === 5) || (c[0] === 'x' && c.length === 3)) {\n\t\treturn String.fromCharCode(parseInt(c.slice(1), 16));\n\t}\n\n\tif (u && bracket) {\n\t\treturn String.fromCodePoint(parseInt(c.slice(2, -1), 16));\n\t}\n\n\treturn ESCAPES.get(c) || c;\n}\n\nfunction parseArguments(name, arguments_) {\n\tconst results = [];\n\tconst chunks = arguments_.trim().split(/\\s*,\\s*/g);\n\tlet matches;\n\n\tfor (const chunk of chunks) {\n\t\tconst number = Number(chunk);\n\t\tif (!Number.isNaN(number)) {\n\t\t\tresults.push(number);\n\t\t} else if ((matches = chunk.match(STRING_REGEX))) {\n\t\t\tresults.push(matches[2].replace(ESCAPE_REGEX, (m, escape, character) => escape ? unescape(escape) : character));\n\t\t} else {\n\t\t\tthrow new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`);\n\t\t}\n\t}\n\n\treturn results;\n}\n\nfunction parseStyle(style) {\n\tSTYLE_REGEX.lastIndex = 0;\n\n\tconst results = [];\n\tlet matches;\n\n\twhile ((matches = STYLE_REGEX.exec(style)) !== null) {\n\t\tconst name = matches[1];\n\n\t\tif (matches[2]) {\n\t\t\tconst args = parseArguments(name, matches[2]);\n\t\t\tresults.push([name].concat(args));\n\t\t} else {\n\t\t\tresults.push([name]);\n\t\t}\n\t}\n\n\treturn results;\n}\n\nfunction buildStyle(chalk, styles) {\n\tconst enabled = {};\n\n\tfor (const layer of styles) {\n\t\tfor (const style of layer.styles) {\n\t\t\tenabled[style[0]] = layer.inverse ? null : style.slice(1);\n\t\t}\n\t}\n\n\tlet current = chalk;\n\tfor (const [styleName, styles] of Object.entries(enabled)) {\n\t\tif (!Array.isArray(styles)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (!(styleName in current)) {\n\t\t\tthrow new Error(`Unknown Chalk style: ${styleName}`);\n\t\t}\n\n\t\tcurrent = styles.length > 0 ? current[styleName](...styles) : current[styleName];\n\t}\n\n\treturn current;\n}\n\nmodule.exports = (chalk, temporary) => {\n\tconst styles = [];\n\tconst chunks = [];\n\tlet chunk = [];\n\n\t// eslint-disable-next-line max-params\n\ttemporary.replace(TEMPLATE_REGEX, (m, escapeCharacter, inverse, style, close, character) => {\n\t\tif (escapeCharacter) {\n\t\t\tchunk.push(unescape(escapeCharacter));\n\t\t} else if (style) {\n\t\t\tconst string = chunk.join('');\n\t\t\tchunk = [];\n\t\t\tchunks.push(styles.length === 0 ? string : buildStyle(chalk, styles)(string));\n\t\t\tstyles.push({inverse, styles: parseStyle(style)});\n\t\t} else if (close) {\n\t\t\tif (styles.length === 0) {\n\t\t\t\tthrow new Error('Found extraneous } in Chalk template literal');\n\t\t\t}\n\n\t\t\tchunks.push(buildStyle(chalk, styles)(chunk.join('')));\n\t\t\tchunk = [];\n\t\t\tstyles.pop();\n\t\t} else {\n\t\t\tchunk.push(character);\n\t\t}\n\t});\n\n\tchunks.push(chunk.join(''));\n\n\tif (styles.length > 0) {\n\t\tconst errMessage = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? '' : 's'} (\\`}\\`)`;\n\t\tthrow new Error(errMessage);\n\t}\n\n\treturn chunks.join('');\n};\n", "'use strict';\nconst ansiStyles = require('ansi-styles');\nconst {stdout: stdoutColor, stderr: stderrColor} = require('supports-color');\nconst {\n\tstringReplaceAll,\n\tstringEncaseCRLFWithFirstIndex\n} = require('./util');\n\nconst {isArray} = Array;\n\n// `supportsColor.level` \u2192 `ansiStyles.color[name]` mapping\nconst levelMapping = [\n\t'ansi',\n\t'ansi',\n\t'ansi256',\n\t'ansi16m'\n];\n\nconst styles = Object.create(null);\n\nconst applyOptions = (object, options = {}) => {\n\tif (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {\n\t\tthrow new Error('The `level` option should be an integer from 0 to 3');\n\t}\n\n\t// Detect level if not set manually\n\tconst colorLevel = stdoutColor ? stdoutColor.level : 0;\n\tobject.level = options.level === undefined ? colorLevel : options.level;\n};\n\nclass ChalkClass {\n\tconstructor(options) {\n\t\t// eslint-disable-next-line no-constructor-return\n\t\treturn chalkFactory(options);\n\t}\n}\n\nconst chalkFactory = options => {\n\tconst chalk = {};\n\tapplyOptions(chalk, options);\n\n\tchalk.template = (...arguments_) => chalkTag(chalk.template, ...arguments_);\n\n\tObject.setPrototypeOf(chalk, Chalk.prototype);\n\tObject.setPrototypeOf(chalk.template, chalk);\n\n\tchalk.template.constructor = () => {\n\t\tthrow new Error('`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.');\n\t};\n\n\tchalk.template.Instance = ChalkClass;\n\n\treturn chalk.template;\n};\n\nfunction Chalk(options) {\n\treturn chalkFactory(options);\n}\n\nfor (const [styleName, style] of Object.entries(ansiStyles)) {\n\tstyles[styleName] = {\n\t\tget() {\n\t\t\tconst builder = createBuilder(this, createStyler(style.open, style.close, this._styler), this._isEmpty);\n\t\t\tObject.defineProperty(this, styleName, {value: builder});\n\t\t\treturn builder;\n\t\t}\n\t};\n}\n\nstyles.visible = {\n\tget() {\n\t\tconst builder = createBuilder(this, this._styler, true);\n\t\tObject.defineProperty(this, 'visible', {value: builder});\n\t\treturn builder;\n\t}\n};\n\nconst usedModels = ['rgb', 'hex', 'keyword', 'hsl', 'hsv', 'hwb', 'ansi', 'ansi256'];\n\nfor (const model of usedModels) {\n\tstyles[model] = {\n\t\tget() {\n\t\t\tconst {level} = this;\n\t\t\treturn function (...arguments_) {\n\t\t\t\tconst styler = createStyler(ansiStyles.color[levelMapping[level]][model](...arguments_), ansiStyles.color.close, this._styler);\n\t\t\t\treturn createBuilder(this, styler, this._isEmpty);\n\t\t\t};\n\t\t}\n\t};\n}\n\nfor (const model of usedModels) {\n\tconst bgModel = 'bg' + model[0].toUpperCase() + model.slice(1);\n\tstyles[bgModel] = {\n\t\tget() {\n\t\t\tconst {level} = this;\n\t\t\treturn function (...arguments_) {\n\t\t\t\tconst styler = createStyler(ansiStyles.bgColor[levelMapping[level]][model](...arguments_), ansiStyles.bgColor.close, this._styler);\n\t\t\t\treturn createBuilder(this, styler, this._isEmpty);\n\t\t\t};\n\t\t}\n\t};\n}\n\nconst proto = Object.defineProperties(() => {}, {\n\t...styles,\n\tlevel: {\n\t\tenumerable: true,\n\t\tget() {\n\t\t\treturn this._generator.level;\n\t\t},\n\t\tset(level) {\n\t\t\tthis._generator.level = level;\n\t\t}\n\t}\n});\n\nconst createStyler = (open, close, parent) => {\n\tlet openAll;\n\tlet closeAll;\n\tif (parent === undefined) {\n\t\topenAll = open;\n\t\tcloseAll = close;\n\t} else {\n\t\topenAll = parent.openAll + open;\n\t\tcloseAll = close + parent.closeAll;\n\t}\n\n\treturn {\n\t\topen,\n\t\tclose,\n\t\topenAll,\n\t\tcloseAll,\n\t\tparent\n\t};\n};\n\nconst createBuilder = (self, _styler, _isEmpty) => {\n\tconst builder = (...arguments_) => {\n\t\tif (isArray(arguments_[0]) && isArray(arguments_[0].raw)) {\n\t\t\t// Called as a template literal, for example: chalk.red`2 + 3 = {bold ${2+3}}`\n\t\t\treturn applyStyle(builder, chalkTag(builder, ...arguments_));\n\t\t}\n\n\t\t// Single argument is hot path, implicit coercion is faster than anything\n\t\t// eslint-disable-next-line no-implicit-coercion\n\t\treturn applyStyle(builder, (arguments_.length === 1) ? ('' + arguments_[0]) : arguments_.join(' '));\n\t};\n\n\t// We alter the prototype because we must return a function, but there is\n\t// no way to create a function with a different prototype\n\tObject.setPrototypeOf(builder, proto);\n\n\tbuilder._generator = self;\n\tbuilder._styler = _styler;\n\tbuilder._isEmpty = _isEmpty;\n\n\treturn builder;\n};\n\nconst applyStyle = (self, string) => {\n\tif (self.level <= 0 || !string) {\n\t\treturn self._isEmpty ? '' : string;\n\t}\n\n\tlet styler = self._styler;\n\n\tif (styler === undefined) {\n\t\treturn string;\n\t}\n\n\tconst {openAll, closeAll} = styler;\n\tif (string.indexOf('\\u001B') !== -1) {\n\t\twhile (styler !== undefined) {\n\t\t\t// Replace any instances already present with a re-opening code\n\t\t\t// otherwise only the part of the string until said closing code\n\t\t\t// will be colored, and the rest will simply be 'plain'.\n\t\t\tstring = stringReplaceAll(string, styler.close, styler.open);\n\n\t\t\tstyler = styler.parent;\n\t\t}\n\t}\n\n\t// We can move both next actions out of loop, because remaining actions in loop won't have\n\t// any/visible effect on parts we add here. Close the styling before a linebreak and reopen\n\t// after next line to fix a bleed issue on macOS: https://github.com/chalk/chalk/pull/92\n\tconst lfIndex = string.indexOf('\\n');\n\tif (lfIndex !== -1) {\n\t\tstring = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);\n\t}\n\n\treturn openAll + string + closeAll;\n};\n\nlet template;\nconst chalkTag = (chalk, ...strings) => {\n\tconst [firstString] = strings;\n\n\tif (!isArray(firstString) || !isArray(firstString.raw)) {\n\t\t// If chalk() was called by itself or with a string,\n\t\t// return the string itself as a string.\n\t\treturn strings.join(' ');\n\t}\n\n\tconst arguments_ = strings.slice(1);\n\tconst parts = [firstString.raw[0]];\n\n\tfor (let i = 1; i < firstString.length; i++) {\n\t\tparts.push(\n\t\t\tString(arguments_[i - 1]).replace(/[{}\\\\]/g, '\\\\$&'),\n\t\t\tString(firstString.raw[i])\n\t\t);\n\t}\n\n\tif (template === undefined) {\n\t\ttemplate = require('./templates');\n\t}\n\n\treturn template(chalk, parts.join(''));\n};\n\nObject.defineProperties(Chalk.prototype, styles);\n\nconst chalk = Chalk(); // eslint-disable-line new-cap\nchalk.supportsColor = stdoutColor;\nchalk.stderr = Chalk({level: stderrColor ? stderrColor.level : 0}); // eslint-disable-line new-cap\nchalk.stderr.supportsColor = stderrColor;\n\nmodule.exports = chalk;\n", "#!/usr/bin/env node\n\nimport chalk from \"chalk\"\nimport { Command } from \"commander\"\nimport { createRacletteApp } from \"./create-app\"\n\nconst program = new Command()\n\nprogram\n .name(\"create-raclette-app\")\n .description(\"Create a new raclette application\")\n .version(\"1.0.0\")\n .argument(\"[project-name]\", \"Name of the project to create\")\n .option(\"-n, --non-interactive\", \"Skip interactive prompts and use defaults\")\n .action(async (projectName, options) => {\n try {\n const interactive = !options.nonInteractive\n\n await createRacletteApp(projectName, interactive)\n } catch (error) {\n console.error(chalk.red(\"Error creating Raclette app:\"), error)\n process.exit(1)\n }\n })\n\nprogram.parse()\n", "import { input, confirm } from \"@inquirer/prompts\"\nimport chalk from \"chalk\"\nimport fs from \"fs-extra\"\nimport path from \"path\"\nimport { fileURLToPath } from \"url\"\n\nexport const toUpperSnakeCase = (str: string): string => {\n return str.replace(/([a-z])([A-Z])/g, \"$1_$2\").toUpperCase()\n}\n\ninterface ProjectConfig {\n projectName?: string\n useRecommendedEslint?: boolean\n // Add more config options here as needed\n}\n\ninterface WizardStep {\n id: string\n enabled: boolean\n type: \"input\" | \"confirm\"\n message: string\n default?: any\n validate?: (input: string) => boolean | string\n configKey: string\n}\n\nconst WIZARD_STEPS: WizardStep[] = [\n {\n id: \"projectName\",\n enabled: true,\n type: \"input\",\n message: \"What is your project name?\",\n default: \"my-raclette-app\",\n validate: (input: string) => {\n if (!input.trim()) {\n return \"Project name is required\"\n }\n\n return true\n },\n configKey: \"projectName\",\n },\n {\n id: \"useRecommendedEslint\",\n enabled: true,\n type: \"confirm\",\n message:\n \"Do you want to use the recommended ESLint config? (What the core devs use, but it's opinionated)\",\n default: false,\n configKey: \"useRecommendedEslint\",\n },\n // Add more steps here as needed\n]\n\nexport const createRacletteApp = async (\n projectName?: string,\n interactive = false,\n): Promise<void> => {\n let config: ProjectConfig\n\n if (interactive) {\n config = await runWizard(projectName)\n } else {\n // Non-interactive mode - use provided name or default\n let name = projectName || \"my-raclette-app\"\n\n // If project name is \".\", use current directory name\n if (name === \".\") {\n name = path.basename(process.cwd())\n }\n\n config = {\n projectName: name,\n useRecommendedEslint: false, // Default to standard config in non-interactive mode\n }\n }\n\n // Ensure projectName is defined\n if (!config.projectName) {\n throw new Error(\"Project name is required\")\n }\n\n console.log(\n chalk.rgb(221, 139, 64)(`\uD83E\uDDC0 Creating Raclette app: ${config.projectName}`),\n )\n\n // Determine target directory and folder name\n let targetDir: string\n let folderName: string\n\n if (projectName === \".\") {\n // User wants to create in current directory\n targetDir = process.cwd()\n folderName = \".\" // For display purposes\n\n // Check if current directory is empty (has only common files)\n const existingFiles = await fs.readdir(targetDir)\n const allowedFiles = [\n \".git\",\n \".gitignore\",\n \"README.md\",\n \"LICENSE\",\n \".DS_Store\",\n ]\n const hasConflictingFiles = existingFiles.some(\n (file) => !allowedFiles.includes(file),\n )\n\n if (hasConflictingFiles) {\n console.error(\n chalk.red(\n \"Current directory is not empty! Please use an empty directory or specify a project name.\",\n ),\n )\n process.exit(1)\n }\n } else {\n // Use kebab-case for the folder name to avoid whitespace issues\n folderName = kebabCase(config.projectName)\n targetDir = path.resolve(process.cwd(), folderName)\n\n // Check if directory already exists\n if (await fs.pathExists(targetDir)) {\n console.error(chalk.red(`Directory ${folderName} already exists!`))\n process.exit(1)\n }\n\n // Create project directory\n await fs.ensureDir(targetDir)\n }\n\n // Copy template files\n await copyTemplateFiles(targetDir, config)\n\n console.log(chalk.green(\"\u2705 Raclette app created successfully!\"))\n console.log(chalk.blue(\"\\nNext steps:\"))\n console.log(chalk.white(` cd ${folderName}`))\n console.log(chalk.white(\" yarn install\"))\n console.log(chalk.white(\" yarn dev\"))\n console.log(chalk.blue(\"\\n\uD83D\uDCCB Important notes:\"))\n console.log(\n chalk.white(\" \u2022 First start might take a few minutes (Docker containers)\"),\n )\n console.log(chalk.white(\" \u2022 Visit workbench first: http://localhost:8083\"))\n console.log(\n chalk.white(\n \" \u2022 Create admin user, then access app: http://localhost:8081\",\n ),\n )\n console.log(\n chalk.white(\n \" > We recommend to use Docker Desktop if you are not experienced with Docker\",\n ),\n )\n console.log(chalk.white(\"\\nHappy coding! \uD83E\uDDC0\"))\n}\n\nconst runWizard = async (\n providedProjectName?: string,\n): Promise<ProjectConfig> => {\n console.log(\n chalk.rgb(221, 139, 64)(\"\uD83E\uDDC0 Welcome to Raclette App Interactive Setup!\\n\"),\n )\n\n const config: ProjectConfig = {}\n\n // Process each enabled step\n for (const step of WIZARD_STEPS) {\n if (!step.enabled) {\n continue\n }\n\n let value: any\n\n // Skip project name prompt if already provided\n if (step.id === \"projectName\" && providedProjectName) {\n // If project name is \".\", use current directory name\n value =\n providedProjectName === \".\"\n ? path.basename(process.cwd())\n : providedProjectName\n } else {\n // Run the appropriate prompt based on step type\n switch (step.type) {\n case \"input\":\n value = await input({\n message: step.message,\n default: step.default,\n validate: step.validate,\n })\n break\n case \"confirm\":\n value = await confirm({\n message: step.message,\n default: step.default,\n })\n break\n default:\n throw new Error(`Unknown step type: ${step.type}`)\n }\n }\n\n // Store the value in config using the configKey\n ;(config as any)[step.configKey] = value\n }\n\n // Show configuration summary\n await showConfigurationSummary(config)\n\n return config\n}\n\nconst showConfigurationSummary = async (\n config: ProjectConfig,\n): Promise<void> => {\n console.log(chalk.blue(\"\\n\uD83D\uDCCB Configuration Summary:\"))\n\n // Display each configuration value\n for (const step of WIZARD_STEPS) {\n if (!step.enabled) {\n continue\n }\n\n const value = (config as any)[step.configKey]\n const displayValue = typeof value === \"boolean\" ? value : value || \"Not set\"\n\n console.log(chalk.white(` ${step.id}: ${displayValue}`))\n }\n\n const confirmAnswer = await confirm({\n message: \"Proceed with this configuration?\",\n default: true,\n })\n\n if (!confirmAnswer) {\n console.log(chalk.yellow(\"Setup cancelled.\"))\n process.exit(0)\n }\n}\n\nconst copyTemplateFiles = async (\n targetDir: string,\n config: ProjectConfig,\n): Promise<void> => {\n // Find templates directory relative to the current file or project root\n let templatesDir: string | undefined\n\n // Try to find templates relative to the current file first\n const currentDir = path.dirname(fileURLToPath(import.meta.url))\n const possiblePaths = [\n path.join(currentDir, \"templates\"),\n path.join(currentDir, \"..\", \"templates\"),\n path.join(currentDir, \"..\", \"..\", \"templates\"), // For built/dist environments\n path.join(process.cwd(), \"templates\"),\n path.join(process.cwd(), \"src\", \"templates\"),\n ]\n\n for (const possiblePath of possiblePaths) {\n if (await fs.pathExists(possiblePath)) {\n templatesDir = possiblePath\n break\n }\n }\n\n if (!templatesDir) {\n throw new Error(\n \"Could not find templates directory. Please ensure the templates folder exists.\",\n )\n }\n\n console.log(chalk.blue(\"\uD83D\uDCC1 Copying template files...\"))\n\n // Copy all files from templates directory\n await fs.copy(templatesDir, targetDir)\n\n // Process ALL template files dynamically\n await processAllTemplateFiles(targetDir, config)\n}\n\nconst processAllTemplateFiles = async (\n targetDir: string,\n config: ProjectConfig,\n): Promise<void> => {\n console.log(chalk.blue(\"\uD83D\uDD04 Processing template files...\"))\n\n const files = await getAllFiles(targetDir)\n\n for (const file of files) {\n // Skip certain file types that shouldn't be processed\n const ext = path.extname(file)\n const skipExtensions = [\n \".png\",\n \".jpg\",\n \".jpeg\",\n \".gif\",\n \".ico\",\n \".woff\",\n \".woff2\",\n \".ttf\",\n \".eot\",\n ]\n\n if (skipExtensions.includes(ext)) {\n continue\n }\n\n await processTemplateFile(file, config)\n }\n}\n\nconst getAllFiles = async (dir: string): Promise<string[]> => {\n const files: string[] = []\n\n const traverse = async (currentDir: string) => {\n const items = await fs.readdir(currentDir)\n\n for (const item of items) {\n const fullPath = path.join(currentDir, item)\n const stat = await fs.stat(fullPath)\n\n if (stat.isDirectory()) {\n // Skip node_modules and .git directories\n if (\n item !== \"node_modules\" &&\n item !== \".git\" &&\n !item.startsWith(\".\")\n ) {\n await traverse(fullPath)\n }\n } else {\n files.push(fullPath)\n }\n }\n }\n\n await traverse(dir)\n\n return files\n}\n\nconst processTemplateFile = async (\n filePath: string,\n config: ProjectConfig,\n): Promise<void> => {\n if (!(await fs.pathExists(filePath))) {\n return\n }\n\n let content = await fs.readFile(filePath, \"utf-8\")\n\n // Process template variables dynamically based on config\n for (const step of WIZARD_STEPS) {\n if (!step.enabled) {\n continue\n }\n\n const value = (config as any)[step.configKey]\n\n if (value !== undefined) {\n // Replace template variables like {{PROJECT_NAME}} etc.\n const placeholder = `{{${toUpperSnakeCase(step.configKey)}}}`\n\n content = content.replace(new RegExp(placeholder, \"g\"), String(value))\n }\n }\n\n // Handle special case for PROJECT_NAME_KEBAB (kebab-case version)\n if (config.projectName) {\n content = content.replace(\n /{{PROJECT_NAME_KEBAB}}/g,\n kebabCase(config.projectName),\n )\n }\n\n // Handle conditional blocks\n for (const step of WIZARD_STEPS) {\n if (!step.enabled) {\n continue\n }\n\n const value = (config as any)[step.configKey]\n\n if (value !== undefined) {\n const conditionalPattern = new RegExp(\n `{{#if ${toUpperSnakeCase(step.configKey)}}}([\\\\s\\\\S]*?){{\\\\/if}}`,\n \"g\",\n )\n\n content = content.replace(conditionalPattern, value ? \"$1\" : \"\")\n }\n }\n\n // Clean up empty lines left by removed conditional blocks\n content = content.replace(/^\\s*\\n/gm, \"\")\n\n await fs.writeFile(filePath, content)\n}\n\nexport const kebabCase = (str: string): string => {\n return str\n .replace(/([a-z])([A-Z])/g, \"$1-$2\")\n .replace(/[\\s_]+/g, \"-\")\n .toLowerCase()\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAEA,WAAO,UAAU;AAAA,MAChB,aAAa,CAAC,KAAK,KAAK,GAAG;AAAA,MAC3B,gBAAgB,CAAC,KAAK,KAAK,GAAG;AAAA,MAC9B,QAAQ,CAAC,GAAG,KAAK,GAAG;AAAA,MACpB,cAAc,CAAC,KAAK,KAAK,GAAG;AAAA,MAC5B,SAAS,CAAC,KAAK,KAAK,GAAG;AAAA,MACvB,SAAS,CAAC,KAAK,KAAK,GAAG;AAAA,MACvB,UAAU,CAAC,KAAK,KAAK,GAAG;AAAA,MACxB,SAAS,CAAC,GAAG,GAAG,CAAC;AAAA,MACjB,kBAAkB,CAAC,KAAK,KAAK,GAAG;AAAA,MAChC,QAAQ,CAAC,GAAG,GAAG,GAAG;AAAA,MAClB,cAAc,CAAC,KAAK,IAAI,GAAG;AAAA,MAC3B,SAAS,CAAC,KAAK,IAAI,EAAE;AAAA,MACrB,aAAa,CAAC,KAAK,KAAK,GAAG;AAAA,MAC3B,aAAa,CAAC,IAAI,KAAK,GAAG;AAAA,MAC1B,cAAc,CAAC,KAAK,KAAK,CAAC;AAAA,MAC1B,aAAa,CAAC,KAAK,KAAK,EAAE;AAAA,MAC1B,SAAS,CAAC,KAAK,KAAK,EAAE;AAAA,MACtB,kBAAkB,CAAC,KAAK,KAAK,GAAG;AAAA,MAChC,YAAY,CAAC,KAAK,KAAK,GAAG;AAAA,MAC1B,WAAW,CAAC,KAAK,IAAI,EAAE;AAAA,MACvB,QAAQ,CAAC,GAAG,KAAK,GAAG;AAAA,MACpB,YAAY,CAAC,GAAG,GAAG,GAAG;AAAA,MACtB,YAAY,CAAC,GAAG,KAAK,GAAG;AAAA,MACxB,iBAAiB,CAAC,KAAK,KAAK,EAAE;AAAA,MAC9B,YAAY,CAAC,KAAK,KAAK,GAAG;AAAA,MAC1B,aAAa,CAAC,GAAG,KAAK,CAAC;AAAA,MACvB,YAAY,CAAC,KAAK,KAAK,GAAG;AAAA,MAC1B,aAAa,CAAC,KAAK,KAAK,GAAG;AAAA,MAC3B,eAAe,CAAC,KAAK,GAAG,GAAG;AAAA,MAC3B,kBAAkB,CAAC,IAAI,KAAK,EAAE;AAAA,MAC9B,cAAc,CAAC,KAAK,KAAK,CAAC;AAAA,MAC1B,cAAc,CAAC,KAAK,IAAI,GAAG;AAAA,MAC3B,WAAW,CAAC,KAAK,GAAG,CAAC;AAAA,MACrB,cAAc,CAAC,KAAK,KAAK,GAAG;AAAA,MAC5B,gBAAgB,CAAC,KAAK,KAAK,GAAG;AAAA,MAC9B,iBAAiB,CAAC,IAAI,IAAI,GAAG;AAAA,MAC7B,iBAAiB,CAAC,IAAI,IAAI,EAAE;AAAA,MAC5B,iBAAiB,CAAC,IAAI,IAAI,EAAE;AAAA,MAC5B,iBAAiB,CAAC,GAAG,KAAK,GAAG;AAAA,MAC7B,cAAc,CAAC,KAAK,GAAG,GAAG;AAAA,MAC1B,YAAY,CAAC,KAAK,IAAI,GAAG;AAAA,MACzB,eAAe,CAAC,GAAG,KAAK,GAAG;AAAA,MAC3B,WAAW,CAAC,KAAK,KAAK,GAAG;AAAA,MACzB,WAAW,CAAC,KAAK,KAAK,GAAG;AAAA,MACzB,cAAc,CAAC,IAAI,KAAK,GAAG;AAAA,MAC3B,aAAa,CAAC,KAAK,IAAI,EAAE;AAAA,MACzB,eAAe,CAAC,KAAK,KAAK,GAAG;AAAA,MAC7B,eAAe,CAAC,IAAI,KAAK,EAAE;AAAA,MAC3B,WAAW,CAAC,KAAK,GAAG,GAAG;AAAA,MACvB,aAAa,CAAC,KAAK,KAAK,GAAG;AAAA,MAC3B,cAAc,CAAC,KAAK,KAAK,GAAG;AAAA,MAC5B,QAAQ,CAAC,KAAK,KAAK,CAAC;AAAA,MACpB,aAAa,CAAC,KAAK,KAAK,EAAE;AAAA,MAC1B,QAAQ,CAAC,KAAK,KAAK,GAAG;AAAA,MACtB,SAAS,CAAC,GAAG,KAAK,CAAC;AAAA,MACnB,eAAe,CAAC,KAAK,KAAK,EAAE;AAAA,MAC5B,QAAQ,CAAC,KAAK,KAAK,GAAG;AAAA,MACtB,YAAY,CAAC,KAAK,KAAK,GAAG;AAAA,MAC1B,WAAW,CAAC,KAAK,KAAK,GAAG;AAAA,MACzB,aAAa,CAAC,KAAK,IAAI,EAAE;AAAA,MACzB,UAAU,CAAC,IAAI,GAAG,GAAG;AAAA,MACrB,SAAS,CAAC,KAAK,KAAK,GAAG;AAAA,MACvB,SAAS,CAAC,KAAK,KAAK,GAAG;AAAA,MACvB,YAAY,CAAC,KAAK,KAAK,GAAG;AAAA,MAC1B,iBAAiB,CAAC,KAAK,KAAK,GAAG;AAAA,MAC/B,aAAa,CAAC,KAAK,KAAK,CAAC;AAAA,MACzB,gBAAgB,CAAC,KAAK,KAAK,GAAG;AAAA,MAC9B,aAAa,CAAC,KAAK,KAAK,GAAG;AAAA,MAC3B,cAAc,CAAC,KAAK,KAAK,GAAG;AAAA,MAC5B,aAAa,CAAC,KAAK,KAAK,GAAG;AAAA,MAC3B,wBAAwB,CAAC,KAAK,KAAK,GAAG;AAAA,MACtC,aAAa,CAAC,KAAK,KAAK,GAAG;AAAA,MAC3B,cAAc,CAAC,KAAK,KAAK,GAAG;AAAA,MAC5B,aAAa,CAAC,KAAK,KAAK,GAAG;AAAA,MAC3B,aAAa,CAAC,KAAK,KAAK,GAAG;AAAA,MAC3B,eAAe,CAAC,KAAK,KAAK,GAAG;AAAA,MAC7B,iBAAiB,CAAC,IAAI,KAAK,GAAG;AAAA,MAC9B,gBAAgB,CAAC,KAAK,KAAK,GAAG;AAAA,MAC9B,kBAAkB,CAAC,KAAK,KAAK,GAAG;AAAA,MAChC,kBAAkB,CAAC,KAAK,KAAK,GAAG;AAAA,MAChC,kBAAkB,CAAC,KAAK,KAAK,GAAG;AAAA,MAChC,eAAe,CAAC,KAAK,KAAK,GAAG;AAAA,MAC7B,QAAQ,CAAC,GAAG,KAAK,CAAC;AAAA,MAClB,aAAa,CAAC,IAAI,KAAK,EAAE;AAAA,MACzB,SAAS,CAAC,KAAK,KAAK,GAAG;AAAA,MACvB,WAAW,CAAC,KAAK,GAAG,GAAG;AAAA,MACvB,UAAU,CAAC,KAAK,GAAG,CAAC;AAAA,MACpB,oBAAoB,CAAC,KAAK,KAAK,GAAG;AAAA,MAClC,cAAc,CAAC,GAAG,GAAG,GAAG;AAAA,MACxB,gBAAgB,CAAC,KAAK,IAAI,GAAG;AAAA,MAC7B,gBAAgB,CAAC,KAAK,KAAK,GAAG;AAAA,MAC9B,kBAAkB,CAAC,IAAI,KAAK,GAAG;AAAA,MAC/B,mBAAmB,CAAC,KAAK,KAAK,GAAG;AAAA,MACjC,qBAAqB,CAAC,GAAG,KAAK,GAAG;AAAA,MACjC,mBAAmB,CAAC,IAAI,KAAK,GAAG;AAAA,MAChC,mBAAmB,CAAC,KAAK,IAAI,GAAG;AAAA,MAChC,gBAAgB,CAAC,IAAI,IAAI,GAAG;AAAA,MAC5B,aAAa,CAAC,KAAK,KAAK,GAAG;AAAA,MAC3B,aAAa,CAAC,KAAK,KAAK,GAAG;AAAA,MAC3B,YAAY,CAAC,KAAK,KAAK,GAAG;AAAA,MAC1B,eAAe,CAAC,KAAK,KAAK,GAAG;AAAA,MAC7B,QAAQ,CAAC,GAAG,GAAG,GAAG;AAAA,MAClB,WAAW,CAAC,KAAK,KAAK,GAAG;AAAA,MACzB,SAAS,CAAC,KAAK,KAAK,CAAC;AAAA,MACrB,aAAa,CAAC,KAAK,KAAK,EAAE;AAAA,MAC1B,UAAU,CAAC,KAAK,KAAK,CAAC;AAAA,MACtB,aAAa,CAAC,KAAK,IAAI,CAAC;AAAA,MACxB,UAAU,CAAC,KAAK,KAAK,GAAG;AAAA,MACxB,iBAAiB,CAAC,KAAK,KAAK,GAAG;AAAA,MAC/B,aAAa,CAAC,KAAK,KAAK,GAAG;AAAA,MAC3B,iBAAiB,CAAC,KAAK,KAAK,GAAG;AAAA,MAC/B,iBAAiB,CAAC,KAAK,KAAK,GAAG;AAAA,MAC/B,cAAc,CAAC,KAAK,KAAK,GAAG;AAAA,MAC5B,aAAa,CAAC,KAAK,KAAK,GAAG;AAAA,MAC3B,QAAQ,CAAC,KAAK,KAAK,EAAE;AAAA,MACrB,QAAQ,CAAC,KAAK,KAAK,GAAG;AAAA,MACtB,QAAQ,CAAC,KAAK,KAAK,GAAG;AAAA,MACtB,cAAc,CAAC,KAAK,KAAK,GAAG;AAAA,MAC5B,UAAU,CAAC,KAAK,GAAG,GAAG;AAAA,MACtB,iBAAiB,CAAC,KAAK,IAAI,GAAG;AAAA,MAC9B,OAAO,CAAC,KAAK,GAAG,CAAC;AAAA,MACjB,aAAa,CAAC,KAAK,KAAK,GAAG;AAAA,MAC3B,aAAa,CAAC,IAAI,KAAK,GAAG;AAAA,MAC1B,eAAe,CAAC,KAAK,IAAI,EAAE;AAAA,MAC3B,UAAU,CAAC,KAAK,KAAK,GAAG;AAAA,MACxB,cAAc,CAAC,KAAK,KAAK,EAAE;AAAA,MAC3B,YAAY,CAAC,IAAI,KAAK,EAAE;AAAA,MACxB,YAAY,CAAC,KAAK,KAAK,GAAG;AAAA,MAC1B,UAAU,CAAC,KAAK,IAAI,EAAE;AAAA,MACtB,UAAU,CAAC,KAAK,KAAK,GAAG;AAAA,MACxB,WAAW,CAAC,KAAK,KAAK,GAAG;AAAA,MACzB,aAAa,CAAC,KAAK,IAAI,GAAG;AAAA,MAC1B,aAAa,CAAC,KAAK,KAAK,GAAG;AAAA,MAC3B,aAAa,CAAC,KAAK,KAAK,GAAG;AAAA,MAC3B,QAAQ,CAAC,KAAK,KAAK,GAAG;AAAA,MACtB,eAAe,CAAC,GAAG,KAAK,GAAG;AAAA,MAC3B,aAAa,CAAC,IAAI,KAAK,GAAG;AAAA,MAC1B,OAAO,CAAC,KAAK,KAAK,GAAG;AAAA,MACrB,QAAQ,CAAC,GAAG,KAAK,GAAG;AAAA,MACpB,WAAW,CAAC,KAAK,KAAK,GAAG;AAAA,MACzB,UAAU,CAAC,KAAK,IAAI,EAAE;AAAA,MACtB,aAAa,CAAC,IAAI,KAAK,GAAG;AAAA,MAC1B,UAAU,CAAC,KAAK,KAAK,GAAG;AAAA,MACxB,SAAS,CAAC,KAAK,KAAK,GAAG;AAAA,MACvB,SAAS,CAAC,KAAK,KAAK,GAAG;AAAA,MACvB,cAAc,CAAC,KAAK,KAAK,GAAG;AAAA,MAC5B,UAAU,CAAC,KAAK,KAAK,CAAC;AAAA,MACtB,eAAe,CAAC,KAAK,KAAK,EAAE;AAAA,IAC7B;AAAA;AAAA;;;ACvJA;AAAA;AAEA,QAAM,cAAc;AAMpB,QAAM,kBAAkB,CAAC;AACzB,eAAW,OAAO,OAAO,KAAK,WAAW,GAAG;AAC3C,sBAAgB,YAAY,GAAG,CAAC,IAAI;AAAA,IACrC;AAEA,QAAM,UAAU;AAAA,MACf,KAAK,EAAC,UAAU,GAAG,QAAQ,MAAK;AAAA,MAChC,KAAK,EAAC,UAAU,GAAG,QAAQ,MAAK;AAAA,MAChC,KAAK,EAAC,UAAU,GAAG,QAAQ,MAAK;AAAA,MAChC,KAAK,EAAC,UAAU,GAAG,QAAQ,MAAK;AAAA,MAChC,MAAM,EAAC,UAAU,GAAG,QAAQ,OAAM;AAAA,MAClC,KAAK,EAAC,UAAU,GAAG,QAAQ,MAAK;AAAA,MAChC,KAAK,EAAC,UAAU,GAAG,QAAQ,MAAK;AAAA,MAChC,KAAK,EAAC,UAAU,GAAG,QAAQ,MAAK;AAAA,MAChC,KAAK,EAAC,UAAU,GAAG,QAAQ,CAAC,KAAK,EAAC;AAAA,MAClC,SAAS,EAAC,UAAU,GAAG,QAAQ,CAAC,SAAS,EAAC;AAAA,MAC1C,QAAQ,EAAC,UAAU,GAAG,QAAQ,CAAC,QAAQ,EAAC;AAAA,MACxC,SAAS,EAAC,UAAU,GAAG,QAAQ,CAAC,SAAS,EAAC;AAAA,MAC1C,KAAK,EAAC,UAAU,GAAG,QAAQ,CAAC,KAAK,KAAK,GAAG,EAAC;AAAA,MAC1C,OAAO,EAAC,UAAU,GAAG,QAAQ,CAAC,OAAO,OAAO,KAAK,EAAC;AAAA,MAClD,MAAM,EAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,EAAC;AAAA,IACrC;AAEA,WAAO,UAAU;AAGjB,eAAW,SAAS,OAAO,KAAK,OAAO,GAAG;AACzC,UAAI,EAAE,cAAc,QAAQ,KAAK,IAAI;AACpC,cAAM,IAAI,MAAM,gCAAgC,KAAK;AAAA,MACtD;AAEA,UAAI,EAAE,YAAY,QAAQ,KAAK,IAAI;AAClC,cAAM,IAAI,MAAM,sCAAsC,KAAK;AAAA,MAC5D;AAEA,UAAI,QAAQ,KAAK,EAAE,OAAO,WAAW,QAAQ,KAAK,EAAE,UAAU;AAC7D,cAAM,IAAI,MAAM,wCAAwC,KAAK;AAAA,MAC9D;AAEA,YAAM,EAAC,UAAU,OAAM,IAAI,QAAQ,KAAK;AACxC,aAAO,QAAQ,KAAK,EAAE;AACtB,aAAO,QAAQ,KAAK,EAAE;AACtB,aAAO,eAAe,QAAQ,KAAK,GAAG,YAAY,EAAC,OAAO,SAAQ,CAAC;AACnE,aAAO,eAAe,QAAQ,KAAK,GAAG,UAAU,EAAC,OAAO,OAAM,CAAC;AAAA,IAChE;AAEA,YAAQ,IAAI,MAAM,SAAU,KAAK;AAChC,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,YAAM,MAAM,KAAK,IAAI,GAAG,GAAG,CAAC;AAC5B,YAAM,MAAM,KAAK,IAAI,GAAG,GAAG,CAAC;AAC5B,YAAM,QAAQ,MAAM;AACpB,UAAI;AACJ,UAAI;AAEJ,UAAI,QAAQ,KAAK;AAChB,YAAI;AAAA,MACL,WAAW,MAAM,KAAK;AACrB,aAAK,IAAI,KAAK;AAAA,MACf,WAAW,MAAM,KAAK;AACrB,YAAI,KAAK,IAAI,KAAK;AAAA,MACnB,WAAW,MAAM,KAAK;AACrB,YAAI,KAAK,IAAI,KAAK;AAAA,MACnB;AAEA,UAAI,KAAK,IAAI,IAAI,IAAI,GAAG;AAExB,UAAI,IAAI,GAAG;AACV,aAAK;AAAA,MACN;AAEA,YAAM,KAAK,MAAM,OAAO;AAExB,UAAI,QAAQ,KAAK;AAChB,YAAI;AAAA,MACL,WAAW,KAAK,KAAK;AACpB,YAAI,SAAS,MAAM;AAAA,MACpB,OAAO;AACN,YAAI,SAAS,IAAI,MAAM;AAAA,MACxB;AAEA,aAAO,CAAC,GAAG,IAAI,KAAK,IAAI,GAAG;AAAA,IAC5B;AAEA,YAAQ,IAAI,MAAM,SAAU,KAAK;AAChC,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AAEJ,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,YAAM,IAAI,KAAK,IAAI,GAAG,GAAG,CAAC;AAC1B,YAAM,OAAO,IAAI,KAAK,IAAI,GAAG,GAAG,CAAC;AACjC,YAAM,QAAQ,SAAU,GAAG;AAC1B,gBAAQ,IAAI,KAAK,IAAI,OAAO,IAAI;AAAA,MACjC;AAEA,UAAI,SAAS,GAAG;AACf,YAAI;AACJ,YAAI;AAAA,MACL,OAAO;AACN,YAAI,OAAO;AACX,eAAO,MAAM,CAAC;AACd,eAAO,MAAM,CAAC;AACd,eAAO,MAAM,CAAC;AAEd,YAAI,MAAM,GAAG;AACZ,cAAI,OAAO;AAAA,QACZ,WAAW,MAAM,GAAG;AACnB,cAAK,IAAI,IAAK,OAAO;AAAA,QACtB,WAAW,MAAM,GAAG;AACnB,cAAK,IAAI,IAAK,OAAO;AAAA,QACtB;AAEA,YAAI,IAAI,GAAG;AACV,eAAK;AAAA,QACN,WAAW,IAAI,GAAG;AACjB,eAAK;AAAA,QACN;AAAA,MACD;AAEA,aAAO;AAAA,QACN,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MACL;AAAA,IACD;AAEA,YAAQ,IAAI,MAAM,SAAU,KAAK;AAChC,YAAM,IAAI,IAAI,CAAC;AACf,YAAM,IAAI,IAAI,CAAC;AACf,UAAI,IAAI,IAAI,CAAC;AACb,YAAM,IAAI,QAAQ,IAAI,IAAI,GAAG,EAAE,CAAC;AAChC,YAAM,IAAI,IAAI,MAAM,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC;AAE9C,UAAI,IAAI,IAAI,MAAM,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC;AAE5C,aAAO,CAAC,GAAG,IAAI,KAAK,IAAI,GAAG;AAAA,IAC5B;AAEA,YAAQ,IAAI,OAAO,SAAU,KAAK;AACjC,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,YAAM,IAAI,IAAI,CAAC,IAAI;AAEnB,YAAM,IAAI,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AACtC,YAAM,KAAK,IAAI,IAAI,MAAM,IAAI,MAAM;AACnC,YAAM,KAAK,IAAI,IAAI,MAAM,IAAI,MAAM;AACnC,YAAM,KAAK,IAAI,IAAI,MAAM,IAAI,MAAM;AAEnC,aAAO,CAAC,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,GAAG;AAAA,IAC3C;AAEA,aAAS,oBAAoB,GAAG,GAAG;AAIlC,cACG,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,KAChB,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,KAChB,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM;AAAA,IAEpB;AAEA,YAAQ,IAAI,UAAU,SAAU,KAAK;AACpC,YAAM,WAAW,gBAAgB,GAAG;AACpC,UAAI,UAAU;AACb,eAAO;AAAA,MACR;AAEA,UAAI,yBAAyB;AAC7B,UAAI;AAEJ,iBAAW,WAAW,OAAO,KAAK,WAAW,GAAG;AAC/C,cAAM,QAAQ,YAAY,OAAO;AAGjC,cAAM,WAAW,oBAAoB,KAAK,KAAK;AAG/C,YAAI,WAAW,wBAAwB;AACtC,mCAAyB;AACzB,kCAAwB;AAAA,QACzB;AAAA,MACD;AAEA,aAAO;AAAA,IACR;AAEA,YAAQ,QAAQ,MAAM,SAAU,SAAS;AACxC,aAAO,YAAY,OAAO;AAAA,IAC3B;AAEA,YAAQ,IAAI,MAAM,SAAU,KAAK;AAChC,UAAI,IAAI,IAAI,CAAC,IAAI;AACjB,UAAI,IAAI,IAAI,CAAC,IAAI;AACjB,UAAI,IAAI,IAAI,CAAC,IAAI;AAGjB,UAAI,IAAI,YAAa,IAAI,SAAS,UAAU,MAAQ,IAAI;AACxD,UAAI,IAAI,YAAa,IAAI,SAAS,UAAU,MAAQ,IAAI;AACxD,UAAI,IAAI,YAAa,IAAI,SAAS,UAAU,MAAQ,IAAI;AAExD,YAAM,IAAK,IAAI,SAAW,IAAI,SAAW,IAAI;AAC7C,YAAM,IAAK,IAAI,SAAW,IAAI,SAAW,IAAI;AAC7C,YAAM,IAAK,IAAI,SAAW,IAAI,SAAW,IAAI;AAE7C,aAAO,CAAC,IAAI,KAAK,IAAI,KAAK,IAAI,GAAG;AAAA,IAClC;AAEA,YAAQ,IAAI,MAAM,SAAU,KAAK;AAChC,YAAM,MAAM,QAAQ,IAAI,IAAI,GAAG;AAC/B,UAAI,IAAI,IAAI,CAAC;AACb,UAAI,IAAI,IAAI,CAAC;AACb,UAAI,IAAI,IAAI,CAAC;AAEb,WAAK;AACL,WAAK;AACL,WAAK;AAEL,UAAI,IAAI,UAAY,MAAM,IAAI,KAAO,QAAQ,IAAM,KAAK;AACxD,UAAI,IAAI,UAAY,MAAM,IAAI,KAAO,QAAQ,IAAM,KAAK;AACxD,UAAI,IAAI,UAAY,MAAM,IAAI,KAAO,QAAQ,IAAM,KAAK;AAExD,YAAM,IAAK,MAAM,IAAK;AACtB,YAAM,IAAI,OAAO,IAAI;AACrB,YAAM,IAAI,OAAO,IAAI;AAErB,aAAO,CAAC,GAAG,GAAG,CAAC;AAAA,IAChB;AAEA,YAAQ,IAAI,MAAM,SAAU,KAAK;AAChC,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,UAAI;AACJ,UAAI;AACJ,UAAI;AAEJ,UAAI,MAAM,GAAG;AACZ,cAAM,IAAI;AACV,eAAO,CAAC,KAAK,KAAK,GAAG;AAAA,MACtB;AAEA,UAAI,IAAI,KAAK;AACZ,aAAK,KAAK,IAAI;AAAA,MACf,OAAO;AACN,aAAK,IAAI,IAAI,IAAI;AAAA,MAClB;AAEA,YAAM,KAAK,IAAI,IAAI;AAEnB,YAAM,MAAM,CAAC,GAAG,GAAG,CAAC;AACpB,eAAS,IAAI,GAAG,IAAI,GAAG,KAAK;AAC3B,aAAK,IAAI,IAAI,IAAI,EAAE,IAAI;AACvB,YAAI,KAAK,GAAG;AACX;AAAA,QACD;AAEA,YAAI,KAAK,GAAG;AACX;AAAA,QACD;AAEA,YAAI,IAAI,KAAK,GAAG;AACf,gBAAM,MAAM,KAAK,MAAM,IAAI;AAAA,QAC5B,WAAW,IAAI,KAAK,GAAG;AACtB,gBAAM;AAAA,QACP,WAAW,IAAI,KAAK,GAAG;AACtB,gBAAM,MAAM,KAAK,OAAO,IAAI,IAAI,MAAM;AAAA,QACvC,OAAO;AACN,gBAAM;AAAA,QACP;AAEA,YAAI,CAAC,IAAI,MAAM;AAAA,MAChB;AAEA,aAAO;AAAA,IACR;AAEA,YAAQ,IAAI,MAAM,SAAU,KAAK;AAChC,YAAM,IAAI,IAAI,CAAC;AACf,UAAI,IAAI,IAAI,CAAC,IAAI;AACjB,UAAI,IAAI,IAAI,CAAC,IAAI;AACjB,UAAI,OAAO;AACX,YAAM,OAAO,KAAK,IAAI,GAAG,IAAI;AAE7B,WAAK;AACL,WAAM,KAAK,IAAK,IAAI,IAAI;AACxB,cAAQ,QAAQ,IAAI,OAAO,IAAI;AAC/B,YAAM,KAAK,IAAI,KAAK;AACpB,YAAM,KAAK,MAAM,IAAK,IAAI,QAAS,OAAO,QAAS,IAAI,KAAM,IAAI;AAEjE,aAAO,CAAC,GAAG,KAAK,KAAK,IAAI,GAAG;AAAA,IAC7B;AAEA,YAAQ,IAAI,MAAM,SAAU,KAAK;AAChC,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,UAAI,IAAI,IAAI,CAAC,IAAI;AACjB,YAAM,KAAK,KAAK,MAAM,CAAC,IAAI;AAE3B,YAAM,IAAI,IAAI,KAAK,MAAM,CAAC;AAC1B,YAAM,IAAI,MAAM,KAAK,IAAI;AACzB,YAAM,IAAI,MAAM,KAAK,IAAK,IAAI;AAC9B,YAAM,IAAI,MAAM,KAAK,IAAK,KAAK,IAAI;AACnC,WAAK;AAEL,cAAQ,IAAI;AAAA,QACX,KAAK;AACJ,iBAAO,CAAC,GAAG,GAAG,CAAC;AAAA,QAChB,KAAK;AACJ,iBAAO,CAAC,GAAG,GAAG,CAAC;AAAA,QAChB,KAAK;AACJ,iBAAO,CAAC,GAAG,GAAG,CAAC;AAAA,QAChB,KAAK;AACJ,iBAAO,CAAC,GAAG,GAAG,CAAC;AAAA,QAChB,KAAK;AACJ,iBAAO,CAAC,GAAG,GAAG,CAAC;AAAA,QAChB,KAAK;AACJ,iBAAO,CAAC,GAAG,GAAG,CAAC;AAAA,MACjB;AAAA,IACD;AAEA,YAAQ,IAAI,MAAM,SAAU,KAAK;AAChC,YAAM,IAAI,IAAI,CAAC;AACf,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,YAAM,OAAO,KAAK,IAAI,GAAG,IAAI;AAC7B,UAAI;AACJ,UAAI;AAEJ,WAAK,IAAI,KAAK;AACd,YAAM,QAAQ,IAAI,KAAK;AACvB,WAAK,IAAI;AACT,YAAO,QAAQ,IAAK,OAAO,IAAI;AAC/B,WAAK,MAAM;AACX,WAAK;AAEL,aAAO,CAAC,GAAG,KAAK,KAAK,IAAI,GAAG;AAAA,IAC7B;AAGA,YAAQ,IAAI,MAAM,SAAU,KAAK;AAChC,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,UAAI,KAAK,IAAI,CAAC,IAAI;AAClB,UAAI,KAAK,IAAI,CAAC,IAAI;AAClB,YAAM,QAAQ,KAAK;AACnB,UAAI;AAGJ,UAAI,QAAQ,GAAG;AACd,cAAM;AACN,cAAM;AAAA,MACP;AAEA,YAAM,IAAI,KAAK,MAAM,IAAI,CAAC;AAC1B,YAAM,IAAI,IAAI;AACd,UAAI,IAAI,IAAI;AAEZ,WAAK,IAAI,OAAU,GAAG;AACrB,YAAI,IAAI;AAAA,MACT;AAEA,YAAM,IAAI,KAAK,KAAK,IAAI;AAExB,UAAI;AACJ,UAAI;AACJ,UAAI;AAEJ,cAAQ,GAAG;AAAA,QACV;AAAA,QACA,KAAK;AAAA,QACL,KAAK;AAAG,cAAI;AAAI,cAAI;AAAI,cAAI;AAAI;AAAA,QAChC,KAAK;AAAG,cAAI;AAAI,cAAI;AAAI,cAAI;AAAI;AAAA,QAChC,KAAK;AAAG,cAAI;AAAI,cAAI;AAAI,cAAI;AAAG;AAAA,QAC/B,KAAK;AAAG,cAAI;AAAI,cAAI;AAAI,cAAI;AAAG;AAAA,QAC/B,KAAK;AAAG,cAAI;AAAI,cAAI;AAAI,cAAI;AAAG;AAAA,QAC/B,KAAK;AAAG,cAAI;AAAI,cAAI;AAAI,cAAI;AAAG;AAAA,MAChC;AAGA,aAAO,CAAC,IAAI,KAAK,IAAI,KAAK,IAAI,GAAG;AAAA,IAClC;AAEA,YAAQ,KAAK,MAAM,SAAU,MAAM;AAClC,YAAM,IAAI,KAAK,CAAC,IAAI;AACpB,YAAM,IAAI,KAAK,CAAC,IAAI;AACpB,YAAM,IAAI,KAAK,CAAC,IAAI;AACpB,YAAM,IAAI,KAAK,CAAC,IAAI;AAEpB,YAAM,IAAI,IAAI,KAAK,IAAI,GAAG,KAAK,IAAI,KAAK,CAAC;AACzC,YAAM,IAAI,IAAI,KAAK,IAAI,GAAG,KAAK,IAAI,KAAK,CAAC;AACzC,YAAM,IAAI,IAAI,KAAK,IAAI,GAAG,KAAK,IAAI,KAAK,CAAC;AAEzC,aAAO,CAAC,IAAI,KAAK,IAAI,KAAK,IAAI,GAAG;AAAA,IAClC;AAEA,YAAQ,IAAI,MAAM,SAAU,KAAK;AAChC,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,UAAI;AACJ,UAAI;AACJ,UAAI;AAEJ,UAAK,IAAI,SAAW,IAAI,UAAY,IAAI;AACxC,UAAK,IAAI,UAAY,IAAI,SAAW,IAAI;AACxC,UAAK,IAAI,SAAW,IAAI,SAAY,IAAI;AAGxC,UAAI,IAAI,WACH,QAAS,MAAM,IAAM,OAAS,QAChC,IAAI;AAEP,UAAI,IAAI,WACH,QAAS,MAAM,IAAM,OAAS,QAChC,IAAI;AAEP,UAAI,IAAI,WACH,QAAS,MAAM,IAAM,OAAS,QAChC,IAAI;AAEP,UAAI,KAAK,IAAI,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC;AAC9B,UAAI,KAAK,IAAI,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC;AAC9B,UAAI,KAAK,IAAI,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC;AAE9B,aAAO,CAAC,IAAI,KAAK,IAAI,KAAK,IAAI,GAAG;AAAA,IAClC;AAEA,YAAQ,IAAI,MAAM,SAAU,KAAK;AAChC,UAAI,IAAI,IAAI,CAAC;AACb,UAAI,IAAI,IAAI,CAAC;AACb,UAAI,IAAI,IAAI,CAAC;AAEb,WAAK;AACL,WAAK;AACL,WAAK;AAEL,UAAI,IAAI,UAAY,MAAM,IAAI,KAAO,QAAQ,IAAM,KAAK;AACxD,UAAI,IAAI,UAAY,MAAM,IAAI,KAAO,QAAQ,IAAM,KAAK;AACxD,UAAI,IAAI,UAAY,MAAM,IAAI,KAAO,QAAQ,IAAM,KAAK;AAExD,YAAM,IAAK,MAAM,IAAK;AACtB,YAAM,IAAI,OAAO,IAAI;AACrB,YAAM,IAAI,OAAO,IAAI;AAErB,aAAO,CAAC,GAAG,GAAG,CAAC;AAAA,IAChB;AAEA,YAAQ,IAAI,MAAM,SAAU,KAAK;AAChC,YAAM,IAAI,IAAI,CAAC;AACf,YAAM,IAAI,IAAI,CAAC;AACf,YAAM,IAAI,IAAI,CAAC;AACf,UAAI;AACJ,UAAI;AACJ,UAAI;AAEJ,WAAK,IAAI,MAAM;AACf,UAAI,IAAI,MAAM;AACd,UAAI,IAAI,IAAI;AAEZ,YAAM,KAAK,KAAK;AAChB,YAAM,KAAK,KAAK;AAChB,YAAM,KAAK,KAAK;AAChB,UAAI,KAAK,UAAW,MAAM,IAAI,KAAK,OAAO;AAC1C,UAAI,KAAK,UAAW,MAAM,IAAI,KAAK,OAAO;AAC1C,UAAI,KAAK,UAAW,MAAM,IAAI,KAAK,OAAO;AAE1C,WAAK;AACL,WAAK;AACL,WAAK;AAEL,aAAO,CAAC,GAAG,GAAG,CAAC;AAAA,IAChB;AAEA,YAAQ,IAAI,MAAM,SAAU,KAAK;AAChC,YAAM,IAAI,IAAI,CAAC;AACf,YAAM,IAAI,IAAI,CAAC;AACf,YAAM,IAAI,IAAI,CAAC;AACf,UAAI;AAEJ,YAAM,KAAK,KAAK,MAAM,GAAG,CAAC;AAC1B,UAAI,KAAK,MAAM,IAAI,KAAK;AAExB,UAAI,IAAI,GAAG;AACV,aAAK;AAAA,MACN;AAEA,YAAM,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC;AAEjC,aAAO,CAAC,GAAG,GAAG,CAAC;AAAA,IAChB;AAEA,YAAQ,IAAI,MAAM,SAAU,KAAK;AAChC,YAAM,IAAI,IAAI,CAAC;AACf,YAAM,IAAI,IAAI,CAAC;AACf,YAAM,IAAI,IAAI,CAAC;AAEf,YAAM,KAAK,IAAI,MAAM,IAAI,KAAK;AAC9B,YAAM,IAAI,IAAI,KAAK,IAAI,EAAE;AACzB,YAAM,IAAI,IAAI,KAAK,IAAI,EAAE;AAEzB,aAAO,CAAC,GAAG,GAAG,CAAC;AAAA,IAChB;AAEA,YAAQ,IAAI,SAAS,SAAU,MAAM,aAAa,MAAM;AACvD,YAAM,CAAC,GAAG,GAAG,CAAC,IAAI;AAClB,UAAI,QAAQ,eAAe,OAAO,QAAQ,IAAI,IAAI,IAAI,EAAE,CAAC,IAAI;AAE7D,cAAQ,KAAK,MAAM,QAAQ,EAAE;AAE7B,UAAI,UAAU,GAAG;AAChB,eAAO;AAAA,MACR;AAEA,UAAI,OAAO,MACN,KAAK,MAAM,IAAI,GAAG,KAAK,IACxB,KAAK,MAAM,IAAI,GAAG,KAAK,IACxB,KAAK,MAAM,IAAI,GAAG;AAErB,UAAI,UAAU,GAAG;AAChB,gBAAQ;AAAA,MACT;AAEA,aAAO;AAAA,IACR;AAEA,YAAQ,IAAI,SAAS,SAAU,MAAM;AAGpC,aAAO,QAAQ,IAAI,OAAO,QAAQ,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC;AAAA,IACzD;AAEA,YAAQ,IAAI,UAAU,SAAU,MAAM;AACrC,YAAM,IAAI,KAAK,CAAC;AAChB,YAAM,IAAI,KAAK,CAAC;AAChB,YAAM,IAAI,KAAK,CAAC;AAIhB,UAAI,MAAM,KAAK,MAAM,GAAG;AACvB,YAAI,IAAI,GAAG;AACV,iBAAO;AAAA,QACR;AAEA,YAAI,IAAI,KAAK;AACZ,iBAAO;AAAA,QACR;AAEA,eAAO,KAAK,OAAQ,IAAI,KAAK,MAAO,EAAE,IAAI;AAAA,MAC3C;AAEA,YAAM,OAAO,KACT,KAAK,KAAK,MAAM,IAAI,MAAM,CAAC,IAC3B,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAC3B,KAAK,MAAM,IAAI,MAAM,CAAC;AAEzB,aAAO;AAAA,IACR;AAEA,YAAQ,OAAO,MAAM,SAAU,MAAM;AACpC,UAAI,QAAQ,OAAO;AAGnB,UAAI,UAAU,KAAK,UAAU,GAAG;AAC/B,YAAI,OAAO,IAAI;AACd,mBAAS;AAAA,QACV;AAEA,gBAAQ,QAAQ,OAAO;AAEvB,eAAO,CAAC,OAAO,OAAO,KAAK;AAAA,MAC5B;AAEA,YAAM,QAAQ,CAAC,EAAE,OAAO,MAAM,KAAK;AACnC,YAAM,KAAM,QAAQ,KAAK,OAAQ;AACjC,YAAM,KAAO,SAAS,IAAK,KAAK,OAAQ;AACxC,YAAM,KAAO,SAAS,IAAK,KAAK,OAAQ;AAExC,aAAO,CAAC,GAAG,GAAG,CAAC;AAAA,IAChB;AAEA,YAAQ,QAAQ,MAAM,SAAU,MAAM;AAErC,UAAI,QAAQ,KAAK;AAChB,cAAM,KAAK,OAAO,OAAO,KAAK;AAC9B,eAAO,CAAC,GAAG,GAAG,CAAC;AAAA,MAChB;AAEA,cAAQ;AAER,UAAI;AACJ,YAAM,IAAI,KAAK,MAAM,OAAO,EAAE,IAAI,IAAI;AACtC,YAAM,IAAI,KAAK,OAAO,MAAM,OAAO,MAAM,CAAC,IAAI,IAAI;AAClD,YAAM,IAAK,MAAM,IAAK,IAAI;AAE1B,aAAO,CAAC,GAAG,GAAG,CAAC;AAAA,IAChB;AAEA,YAAQ,IAAI,MAAM,SAAU,MAAM;AACjC,YAAM,YAAY,KAAK,MAAM,KAAK,CAAC,CAAC,IAAI,QAAS,QAC5C,KAAK,MAAM,KAAK,CAAC,CAAC,IAAI,QAAS,MAChC,KAAK,MAAM,KAAK,CAAC,CAAC,IAAI;AAE1B,YAAM,SAAS,QAAQ,SAAS,EAAE,EAAE,YAAY;AAChD,aAAO,SAAS,UAAU,OAAO,MAAM,IAAI;AAAA,IAC5C;AAEA,YAAQ,IAAI,MAAM,SAAU,MAAM;AACjC,YAAM,QAAQ,KAAK,SAAS,EAAE,EAAE,MAAM,0BAA0B;AAChE,UAAI,CAAC,OAAO;AACX,eAAO,CAAC,GAAG,GAAG,CAAC;AAAA,MAChB;AAEA,UAAI,cAAc,MAAM,CAAC;AAEzB,UAAI,MAAM,CAAC,EAAE,WAAW,GAAG;AAC1B,sBAAc,YAAY,MAAM,EAAE,EAAE,IAAI,UAAQ;AAC/C,iBAAO,OAAO;AAAA,QACf,CAAC,EAAE,KAAK,EAAE;AAAA,MACX;AAEA,YAAM,UAAU,SAAS,aAAa,EAAE;AACxC,YAAM,IAAK,WAAW,KAAM;AAC5B,YAAM,IAAK,WAAW,IAAK;AAC3B,YAAM,IAAI,UAAU;AAEpB,aAAO,CAAC,GAAG,GAAG,CAAC;AAAA,IAChB;AAEA,YAAQ,IAAI,MAAM,SAAU,KAAK;AAChC,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,YAAM,MAAM,KAAK,IAAI,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC;AACtC,YAAM,MAAM,KAAK,IAAI,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC;AACtC,YAAM,SAAU,MAAM;AACtB,UAAI;AACJ,UAAI;AAEJ,UAAI,SAAS,GAAG;AACf,oBAAY,OAAO,IAAI;AAAA,MACxB,OAAO;AACN,oBAAY;AAAA,MACb;AAEA,UAAI,UAAU,GAAG;AAChB,cAAM;AAAA,MACP,WACI,QAAQ,GAAG;AACd,eAAQ,IAAI,KAAK,SAAU;AAAA,MAC5B,WACI,QAAQ,GAAG;AACd,cAAM,KAAK,IAAI,KAAK;AAAA,MACrB,OAAO;AACN,cAAM,KAAK,IAAI,KAAK;AAAA,MACrB;AAEA,aAAO;AACP,aAAO;AAEP,aAAO,CAAC,MAAM,KAAK,SAAS,KAAK,YAAY,GAAG;AAAA,IACjD;AAEA,YAAQ,IAAI,MAAM,SAAU,KAAK;AAChC,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,YAAM,IAAI,IAAI,CAAC,IAAI;AAEnB,YAAM,IAAI,IAAI,MAAO,IAAM,IAAI,IAAM,IAAM,KAAK,IAAM;AAEtD,UAAI,IAAI;AACR,UAAI,IAAI,GAAK;AACZ,aAAK,IAAI,MAAM,MAAM,IAAM;AAAA,MAC5B;AAEA,aAAO,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,IAAI,GAAG;AAAA,IACjC;AAEA,YAAQ,IAAI,MAAM,SAAU,KAAK;AAChC,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,YAAM,IAAI,IAAI,CAAC,IAAI;AAEnB,YAAM,IAAI,IAAI;AACd,UAAI,IAAI;AAER,UAAI,IAAI,GAAK;AACZ,aAAK,IAAI,MAAM,IAAI;AAAA,MACpB;AAEA,aAAO,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,IAAI,GAAG;AAAA,IACjC;AAEA,YAAQ,IAAI,MAAM,SAAU,KAAK;AAChC,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,YAAM,IAAI,IAAI,CAAC,IAAI;AAEnB,UAAI,MAAM,GAAK;AACd,eAAO,CAAC,IAAI,KAAK,IAAI,KAAK,IAAI,GAAG;AAAA,MAClC;AAEA,YAAM,OAAO,CAAC,GAAG,GAAG,CAAC;AACrB,YAAM,KAAM,IAAI,IAAK;AACrB,YAAM,IAAI,KAAK;AACf,YAAM,IAAI,IAAI;AACd,UAAI,KAAK;AAGT,cAAQ,KAAK,MAAM,EAAE,GAAG;AAAA,QACvB,KAAK;AACJ,eAAK,CAAC,IAAI;AAAG,eAAK,CAAC,IAAI;AAAG,eAAK,CAAC,IAAI;AAAG;AAAA,QACxC,KAAK;AACJ,eAAK,CAAC,IAAI;AAAG,eAAK,CAAC,IAAI;AAAG,eAAK,CAAC,IAAI;AAAG;AAAA,QACxC,KAAK;AACJ,eAAK,CAAC,IAAI;AAAG,eAAK,CAAC,IAAI;AAAG,eAAK,CAAC,IAAI;AAAG;AAAA,QACxC,KAAK;AACJ,eAAK,CAAC,IAAI;AAAG,eAAK,CAAC,IAAI;AAAG,eAAK,CAAC,IAAI;AAAG;AAAA,QACxC,KAAK;AACJ,eAAK,CAAC,IAAI;AAAG,eAAK,CAAC,IAAI;AAAG,eAAK,CAAC,IAAI;AAAG;AAAA,QACxC;AACC,eAAK,CAAC,IAAI;AAAG,eAAK,CAAC,IAAI;AAAG,eAAK,CAAC,IAAI;AAAA,MACtC;AAGA,YAAM,IAAM,KAAK;AAEjB,aAAO;AAAA,SACL,IAAI,KAAK,CAAC,IAAI,MAAM;AAAA,SACpB,IAAI,KAAK,CAAC,IAAI,MAAM;AAAA,SACpB,IAAI,KAAK,CAAC,IAAI,MAAM;AAAA,MACtB;AAAA,IACD;AAEA,YAAQ,IAAI,MAAM,SAAU,KAAK;AAChC,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,YAAM,IAAI,IAAI,CAAC,IAAI;AAEnB,YAAM,IAAI,IAAI,KAAK,IAAM;AACzB,UAAI,IAAI;AAER,UAAI,IAAI,GAAK;AACZ,YAAI,IAAI;AAAA,MACT;AAEA,aAAO,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,IAAI,GAAG;AAAA,IACjC;AAEA,YAAQ,IAAI,MAAM,SAAU,KAAK;AAChC,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,YAAM,IAAI,IAAI,CAAC,IAAI;AAEnB,YAAM,IAAI,KAAK,IAAM,KAAK,MAAM;AAChC,UAAI,IAAI;AAER,UAAI,IAAI,KAAO,IAAI,KAAK;AACvB,YAAI,KAAK,IAAI;AAAA,MACd,WACI,KAAK,OAAO,IAAI,GAAK;AACxB,YAAI,KAAK,KAAK,IAAI;AAAA,MACnB;AAEA,aAAO,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,IAAI,GAAG;AAAA,IACjC;AAEA,YAAQ,IAAI,MAAM,SAAU,KAAK;AAChC,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,YAAM,IAAI,IAAI,KAAK,IAAM;AACzB,aAAO,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,MAAM,IAAI,KAAK,GAAG;AAAA,IAC7C;AAEA,YAAQ,IAAI,MAAM,SAAU,KAAK;AAChC,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,YAAM,IAAI,IAAI,CAAC,IAAI;AACnB,YAAM,IAAI,IAAI;AACd,YAAM,IAAI,IAAI;AACd,UAAI,IAAI;AAER,UAAI,IAAI,GAAG;AACV,aAAK,IAAI,MAAM,IAAI;AAAA,MACpB;AAEA,aAAO,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,IAAI,GAAG;AAAA,IACjC;AAEA,YAAQ,MAAM,MAAM,SAAU,OAAO;AACpC,aAAO,CAAE,MAAM,CAAC,IAAI,QAAS,KAAM,MAAM,CAAC,IAAI,QAAS,KAAM,MAAM,CAAC,IAAI,QAAS,GAAG;AAAA,IACrF;AAEA,YAAQ,IAAI,QAAQ,SAAU,KAAK;AAClC,aAAO,CAAE,IAAI,CAAC,IAAI,MAAO,OAAQ,IAAI,CAAC,IAAI,MAAO,OAAQ,IAAI,CAAC,IAAI,MAAO,KAAK;AAAA,IAC/E;AAEA,YAAQ,KAAK,MAAM,SAAU,MAAM;AAClC,aAAO,CAAC,KAAK,CAAC,IAAI,MAAM,KAAK,KAAK,CAAC,IAAI,MAAM,KAAK,KAAK,CAAC,IAAI,MAAM,GAAG;AAAA,IACtE;AAEA,YAAQ,KAAK,MAAM,SAAU,MAAM;AAClC,aAAO,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;AAAA,IACtB;AAEA,YAAQ,KAAK,MAAM,QAAQ,KAAK;AAEhC,YAAQ,KAAK,MAAM,SAAU,MAAM;AAClC,aAAO,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC;AAAA,IACxB;AAEA,YAAQ,KAAK,OAAO,SAAU,MAAM;AACnC,aAAO,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC;AAAA,IACzB;AAEA,YAAQ,KAAK,MAAM,SAAU,MAAM;AAClC,aAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;AAAA,IACtB;AAEA,YAAQ,KAAK,MAAM,SAAU,MAAM;AAClC,YAAM,MAAM,KAAK,MAAM,KAAK,CAAC,IAAI,MAAM,GAAG,IAAI;AAC9C,YAAM,WAAW,OAAO,OAAO,OAAO,KAAK;AAE3C,YAAM,SAAS,QAAQ,SAAS,EAAE,EAAE,YAAY;AAChD,aAAO,SAAS,UAAU,OAAO,MAAM,IAAI;AAAA,IAC5C;AAEA,YAAQ,IAAI,OAAO,SAAU,KAAK;AACjC,YAAM,OAAO,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;AACzC,aAAO,CAAC,MAAM,MAAM,GAAG;AAAA,IACxB;AAAA;AAAA;;;ACt0BA;AAAA;AAAA,QAAM,cAAc;AAapB,aAAS,aAAa;AACrB,YAAM,QAAQ,CAAC;AAEf,YAAM,SAAS,OAAO,KAAK,WAAW;AAEtC,eAAS,MAAM,OAAO,QAAQ,IAAI,GAAG,IAAI,KAAK,KAAK;AAClD,cAAM,OAAO,CAAC,CAAC,IAAI;AAAA;AAAA;AAAA,UAGlB,UAAU;AAAA,UACV,QAAQ;AAAA,QACT;AAAA,MACD;AAEA,aAAO;AAAA,IACR;AAGA,aAAS,UAAU,WAAW;AAC7B,YAAM,QAAQ,WAAW;AACzB,YAAM,QAAQ,CAAC,SAAS;AAExB,YAAM,SAAS,EAAE,WAAW;AAE5B,aAAO,MAAM,QAAQ;AACpB,cAAM,UAAU,MAAM,IAAI;AAC1B,cAAM,YAAY,OAAO,KAAK,YAAY,OAAO,CAAC;AAElD,iBAAS,MAAM,UAAU,QAAQ,IAAI,GAAG,IAAI,KAAK,KAAK;AACrD,gBAAM,WAAW,UAAU,CAAC;AAC5B,gBAAM,OAAO,MAAM,QAAQ;AAE3B,cAAI,KAAK,aAAa,IAAI;AACzB,iBAAK,WAAW,MAAM,OAAO,EAAE,WAAW;AAC1C,iBAAK,SAAS;AACd,kBAAM,QAAQ,QAAQ;AAAA,UACvB;AAAA,QACD;AAAA,MACD;AAEA,aAAO;AAAA,IACR;AAEA,aAAS,KAAK,MAAM,IAAI;AACvB,aAAO,SAAU,MAAM;AACtB,eAAO,GAAG,KAAK,IAAI,CAAC;AAAA,MACrB;AAAA,IACD;AAEA,aAAS,eAAe,SAAS,OAAO;AACvC,YAAMA,QAAO,CAAC,MAAM,OAAO,EAAE,QAAQ,OAAO;AAC5C,UAAI,KAAK,YAAY,MAAM,OAAO,EAAE,MAAM,EAAE,OAAO;AAEnD,UAAI,MAAM,MAAM,OAAO,EAAE;AACzB,aAAO,MAAM,GAAG,EAAE,QAAQ;AACzB,QAAAA,MAAK,QAAQ,MAAM,GAAG,EAAE,MAAM;AAC9B,aAAK,KAAK,YAAY,MAAM,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,EAAE;AACjD,cAAM,MAAM,GAAG,EAAE;AAAA,MAClB;AAEA,SAAG,aAAaA;AAChB,aAAO;AAAA,IACR;AAEA,WAAO,UAAU,SAAU,WAAW;AACrC,YAAM,QAAQ,UAAU,SAAS;AACjC,YAAM,aAAa,CAAC;AAEpB,YAAM,SAAS,OAAO,KAAK,KAAK;AAChC,eAAS,MAAM,OAAO,QAAQ,IAAI,GAAG,IAAI,KAAK,KAAK;AAClD,cAAM,UAAU,OAAO,CAAC;AACxB,cAAM,OAAO,MAAM,OAAO;AAE1B,YAAI,KAAK,WAAW,MAAM;AAEzB;AAAA,QACD;AAEA,mBAAW,OAAO,IAAI,eAAe,SAAS,KAAK;AAAA,MACpD;AAEA,aAAO;AAAA,IACR;AAAA;AAAA;;;AC/FA;AAAA;AAAA,QAAM,cAAc;AACpB,QAAM,QAAQ;AAEd,QAAM,UAAU,CAAC;AAEjB,QAAM,SAAS,OAAO,KAAK,WAAW;AAEtC,aAAS,QAAQ,IAAI;AACpB,YAAM,YAAY,YAAa,MAAM;AACpC,cAAM,OAAO,KAAK,CAAC;AACnB,YAAI,SAAS,UAAa,SAAS,MAAM;AACxC,iBAAO;AAAA,QACR;AAEA,YAAI,KAAK,SAAS,GAAG;AACpB,iBAAO;AAAA,QACR;AAEA,eAAO,GAAG,IAAI;AAAA,MACf;AAGA,UAAI,gBAAgB,IAAI;AACvB,kBAAU,aAAa,GAAG;AAAA,MAC3B;AAEA,aAAO;AAAA,IACR;AAEA,aAAS,YAAY,IAAI;AACxB,YAAM,YAAY,YAAa,MAAM;AACpC,cAAM,OAAO,KAAK,CAAC;AAEnB,YAAI,SAAS,UAAa,SAAS,MAAM;AACxC,iBAAO;AAAA,QACR;AAEA,YAAI,KAAK,SAAS,GAAG;AACpB,iBAAO;AAAA,QACR;AAEA,cAAM,SAAS,GAAG,IAAI;AAKtB,YAAI,OAAO,WAAW,UAAU;AAC/B,mBAAS,MAAM,OAAO,QAAQ,IAAI,GAAG,IAAI,KAAK,KAAK;AAClD,mBAAO,CAAC,IAAI,KAAK,MAAM,OAAO,CAAC,CAAC;AAAA,UACjC;AAAA,QACD;AAEA,eAAO;AAAA,MACR;AAGA,UAAI,gBAAgB,IAAI;AACvB,kBAAU,aAAa,GAAG;AAAA,MAC3B;AAEA,aAAO;AAAA,IACR;AAEA,WAAO,QAAQ,eAAa;AAC3B,cAAQ,SAAS,IAAI,CAAC;AAEtB,aAAO,eAAe,QAAQ,SAAS,GAAG,YAAY,EAAC,OAAO,YAAY,SAAS,EAAE,SAAQ,CAAC;AAC9F,aAAO,eAAe,QAAQ,SAAS,GAAG,UAAU,EAAC,OAAO,YAAY,SAAS,EAAE,OAAM,CAAC;AAE1F,YAAM,SAAS,MAAM,SAAS;AAC9B,YAAM,cAAc,OAAO,KAAK,MAAM;AAEtC,kBAAY,QAAQ,aAAW;AAC9B,cAAM,KAAK,OAAO,OAAO;AAEzB,gBAAQ,SAAS,EAAE,OAAO,IAAI,YAAY,EAAE;AAC5C,gBAAQ,SAAS,EAAE,OAAO,EAAE,MAAM,QAAQ,EAAE;AAAA,MAC7C,CAAC;AAAA,IACF,CAAC;AAED,WAAO,UAAU;AAAA;AAAA;;;AChFjB;AAAA;AAAA;AAEA,QAAM,aAAa,CAAC,IAAI,WAAW,IAAI,SAAS;AAC/C,YAAM,OAAO,GAAG,GAAG,IAAI;AACvB,aAAO,QAAU,OAAO,MAAM;AAAA,IAC/B;AAEA,QAAM,cAAc,CAAC,IAAI,WAAW,IAAI,SAAS;AAChD,YAAM,OAAO,GAAG,GAAG,IAAI;AACvB,aAAO,QAAU,KAAK,MAAM,MAAM,IAAI;AAAA,IACvC;AAEA,QAAM,cAAc,CAAC,IAAI,WAAW,IAAI,SAAS;AAChD,YAAM,MAAM,GAAG,GAAG,IAAI;AACtB,aAAO,QAAU,KAAK,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;AAAA,IAC7D;AAEA,QAAM,YAAY,OAAK;AACvB,QAAM,UAAU,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;AAErC,QAAM,kBAAkB,CAAC,QAAQ,UAAU,QAAQ;AAClD,aAAO,eAAe,QAAQ,UAAU;AAAA,QACvC,KAAK,MAAM;AACV,gBAAM,QAAQ,IAAI;AAElB,iBAAO,eAAe,QAAQ,UAAU;AAAA,YACvC;AAAA,YACA,YAAY;AAAA,YACZ,cAAc;AAAA,UACf,CAAC;AAED,iBAAO;AAAA,QACR;AAAA,QACA,YAAY;AAAA,QACZ,cAAc;AAAA,MACf,CAAC;AAAA,IACF;AAGA,QAAI;AACJ,QAAM,oBAAoB,CAAC,MAAM,aAAa,UAAU,iBAAiB;AACxE,UAAI,iBAAiB,QAAW;AAC/B,uBAAe;AAAA,MAChB;AAEA,YAAM,SAAS,eAAe,KAAK;AACnC,YAAM,SAAS,CAAC;AAEhB,iBAAW,CAAC,aAAa,KAAK,KAAK,OAAO,QAAQ,YAAY,GAAG;AAChE,cAAM,OAAO,gBAAgB,WAAW,SAAS;AACjD,YAAI,gBAAgB,aAAa;AAChC,iBAAO,IAAI,IAAI,KAAK,UAAU,MAAM;AAAA,QACrC,WAAW,OAAO,UAAU,UAAU;AACrC,iBAAO,IAAI,IAAI,KAAK,MAAM,WAAW,GAAG,MAAM;AAAA,QAC/C;AAAA,MACD;AAEA,aAAO;AAAA,IACR;AAEA,aAAS,iBAAiB;AACzB,YAAM,QAAQ,oBAAI,IAAI;AACtB,YAAM,SAAS;AAAA,QACd,UAAU;AAAA,UACT,OAAO,CAAC,GAAG,CAAC;AAAA;AAAA,UAEZ,MAAM,CAAC,GAAG,EAAE;AAAA,UACZ,KAAK,CAAC,GAAG,EAAE;AAAA,UACX,QAAQ,CAAC,GAAG,EAAE;AAAA,UACd,WAAW,CAAC,GAAG,EAAE;AAAA,UACjB,SAAS,CAAC,GAAG,EAAE;AAAA,UACf,QAAQ,CAAC,GAAG,EAAE;AAAA,UACd,eAAe,CAAC,GAAG,EAAE;AAAA,QACtB;AAAA,QACA,OAAO;AAAA,UACN,OAAO,CAAC,IAAI,EAAE;AAAA,UACd,KAAK,CAAC,IAAI,EAAE;AAAA,UACZ,OAAO,CAAC,IAAI,EAAE;AAAA,UACd,QAAQ,CAAC,IAAI,EAAE;AAAA,UACf,MAAM,CAAC,IAAI,EAAE;AAAA,UACb,SAAS,CAAC,IAAI,EAAE;AAAA,UAChB,MAAM,CAAC,IAAI,EAAE;AAAA,UACb,OAAO,CAAC,IAAI,EAAE;AAAA;AAAA,UAGd,aAAa,CAAC,IAAI,EAAE;AAAA,UACpB,WAAW,CAAC,IAAI,EAAE;AAAA,UAClB,aAAa,CAAC,IAAI,EAAE;AAAA,UACpB,cAAc,CAAC,IAAI,EAAE;AAAA,UACrB,YAAY,CAAC,IAAI,EAAE;AAAA,UACnB,eAAe,CAAC,IAAI,EAAE;AAAA,UACtB,YAAY,CAAC,IAAI,EAAE;AAAA,UACnB,aAAa,CAAC,IAAI,EAAE;AAAA,QACrB;AAAA,QACA,SAAS;AAAA,UACR,SAAS,CAAC,IAAI,EAAE;AAAA,UAChB,OAAO,CAAC,IAAI,EAAE;AAAA,UACd,SAAS,CAAC,IAAI,EAAE;AAAA,UAChB,UAAU,CAAC,IAAI,EAAE;AAAA,UACjB,QAAQ,CAAC,IAAI,EAAE;AAAA,UACf,WAAW,CAAC,IAAI,EAAE;AAAA,UAClB,QAAQ,CAAC,IAAI,EAAE;AAAA,UACf,SAAS,CAAC,IAAI,EAAE;AAAA;AAAA,UAGhB,eAAe,CAAC,KAAK,EAAE;AAAA,UACvB,aAAa,CAAC,KAAK,EAAE;AAAA,UACrB,eAAe,CAAC,KAAK,EAAE;AAAA,UACvB,gBAAgB,CAAC,KAAK,EAAE;AAAA,UACxB,cAAc,CAAC,KAAK,EAAE;AAAA,UACtB,iBAAiB,CAAC,KAAK,EAAE;AAAA,UACzB,cAAc,CAAC,KAAK,EAAE;AAAA,UACtB,eAAe,CAAC,KAAK,EAAE;AAAA,QACxB;AAAA,MACD;AAGA,aAAO,MAAM,OAAO,OAAO,MAAM;AACjC,aAAO,QAAQ,SAAS,OAAO,QAAQ;AACvC,aAAO,MAAM,OAAO,OAAO,MAAM;AACjC,aAAO,QAAQ,SAAS,OAAO,QAAQ;AAEvC,iBAAW,CAAC,WAAW,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AACxD,mBAAW,CAAC,WAAW,KAAK,KAAK,OAAO,QAAQ,KAAK,GAAG;AACvD,iBAAO,SAAS,IAAI;AAAA,YACnB,MAAM,QAAU,MAAM,CAAC,CAAC;AAAA,YACxB,OAAO,QAAU,MAAM,CAAC,CAAC;AAAA,UAC1B;AAEA,gBAAM,SAAS,IAAI,OAAO,SAAS;AAEnC,gBAAM,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;AAAA,QAC7B;AAEA,eAAO,eAAe,QAAQ,WAAW;AAAA,UACxC,OAAO;AAAA,UACP,YAAY;AAAA,QACb,CAAC;AAAA,MACF;AAEA,aAAO,eAAe,QAAQ,SAAS;AAAA,QACtC,OAAO;AAAA,QACP,YAAY;AAAA,MACb,CAAC;AAED,aAAO,MAAM,QAAQ;AACrB,aAAO,QAAQ,QAAQ;AAEvB,sBAAgB,OAAO,OAAO,QAAQ,MAAM,kBAAkB,YAAY,UAAU,WAAW,KAAK,CAAC;AACrG,sBAAgB,OAAO,OAAO,WAAW,MAAM,kBAAkB,aAAa,WAAW,WAAW,KAAK,CAAC;AAC1G,sBAAgB,OAAO,OAAO,WAAW,MAAM,kBAAkB,aAAa,OAAO,SAAS,KAAK,CAAC;AACpG,sBAAgB,OAAO,SAAS,QAAQ,MAAM,kBAAkB,YAAY,UAAU,WAAW,IAAI,CAAC;AACtG,sBAAgB,OAAO,SAAS,WAAW,MAAM,kBAAkB,aAAa,WAAW,WAAW,IAAI,CAAC;AAC3G,sBAAgB,OAAO,SAAS,WAAW,MAAM,kBAAkB,aAAa,OAAO,SAAS,IAAI,CAAC;AAErG,aAAO;AAAA,IACR;AAGA,WAAO,eAAe,QAAQ,WAAW;AAAA,MACxC,YAAY;AAAA,MACZ,KAAK;AAAA,IACN,CAAC;AAAA;AAAA;;;AClKD;AAAA;AAAA;AAEA,WAAO,UAAU,CAAC,MAAM,OAAO,QAAQ,SAAS;AAC/C,YAAM,SAAS,KAAK,WAAW,GAAG,IAAI,KAAM,KAAK,WAAW,IAAI,MAAM;AACtE,YAAM,WAAW,KAAK,QAAQ,SAAS,IAAI;AAC3C,YAAM,qBAAqB,KAAK,QAAQ,IAAI;AAC5C,aAAO,aAAa,OAAO,uBAAuB,MAAM,WAAW;AAAA,IACpE;AAAA;AAAA;;;ACPA;AAAA;AAAA;AACA,QAAM,KAAK,UAAQ,IAAI;AACvB,QAAM,MAAM,UAAQ,KAAK;AACzB,QAAM,UAAU;AAEhB,QAAM,EAAC,IAAG,IAAI;AAEd,QAAI;AACJ,QAAI,QAAQ,UAAU,KACrB,QAAQ,WAAW,KACnB,QAAQ,aAAa,KACrB,QAAQ,aAAa,GAAG;AACxB,mBAAa;AAAA,IACd,WAAW,QAAQ,OAAO,KACzB,QAAQ,QAAQ,KAChB,QAAQ,YAAY,KACpB,QAAQ,cAAc,GAAG;AACzB,mBAAa;AAAA,IACd;AAEA,QAAI,iBAAiB,KAAK;AACzB,UAAI,IAAI,gBAAgB,QAAQ;AAC/B,qBAAa;AAAA,MACd,WAAW,IAAI,gBAAgB,SAAS;AACvC,qBAAa;AAAA,MACd,OAAO;AACN,qBAAa,IAAI,YAAY,WAAW,IAAI,IAAI,KAAK,IAAI,SAAS,IAAI,aAAa,EAAE,GAAG,CAAC;AAAA,MAC1F;AAAA,IACD;AAEA,aAAS,eAAe,OAAO;AAC9B,UAAI,UAAU,GAAG;AAChB,eAAO;AAAA,MACR;AAEA,aAAO;AAAA,QACN;AAAA,QACA,UAAU;AAAA,QACV,QAAQ,SAAS;AAAA,QACjB,QAAQ,SAAS;AAAA,MAClB;AAAA,IACD;AAEA,aAAS,cAAc,YAAY,aAAa;AAC/C,UAAI,eAAe,GAAG;AACrB,eAAO;AAAA,MACR;AAEA,UAAI,QAAQ,WAAW,KACtB,QAAQ,YAAY,KACpB,QAAQ,iBAAiB,GAAG;AAC5B,eAAO;AAAA,MACR;AAEA,UAAI,QAAQ,WAAW,GAAG;AACzB,eAAO;AAAA,MACR;AAEA,UAAI,cAAc,CAAC,eAAe,eAAe,QAAW;AAC3D,eAAO;AAAA,MACR;AAEA,YAAM,MAAM,cAAc;AAE1B,UAAI,IAAI,SAAS,QAAQ;AACxB,eAAO;AAAA,MACR;AAEA,UAAI,QAAQ,aAAa,SAAS;AAGjC,cAAM,YAAY,GAAG,QAAQ,EAAE,MAAM,GAAG;AACxC,YACC,OAAO,UAAU,CAAC,CAAC,KAAK,MACxB,OAAO,UAAU,CAAC,CAAC,KAAK,OACvB;AACD,iBAAO,OAAO,UAAU,CAAC,CAAC,KAAK,QAAQ,IAAI;AAAA,QAC5C;AAEA,eAAO;AAAA,MACR;AAEA,UAAI,QAAQ,KAAK;AAChB,YAAI,CAAC,UAAU,YAAY,YAAY,aAAa,kBAAkB,WAAW,EAAE,KAAK,UAAQ,QAAQ,GAAG,KAAK,IAAI,YAAY,YAAY;AAC3I,iBAAO;AAAA,QACR;AAEA,eAAO;AAAA,MACR;AAEA,UAAI,sBAAsB,KAAK;AAC9B,eAAO,gCAAgC,KAAK,IAAI,gBAAgB,IAAI,IAAI;AAAA,MACzE;AAEA,UAAI,IAAI,cAAc,aAAa;AAClC,eAAO;AAAA,MACR;AAEA,UAAI,kBAAkB,KAAK;AAC1B,cAAM,UAAU,UAAU,IAAI,wBAAwB,IAAI,MAAM,GAAG,EAAE,CAAC,GAAG,EAAE;AAE3E,gBAAQ,IAAI,cAAc;AAAA,UACzB,KAAK;AACJ,mBAAO,WAAW,IAAI,IAAI;AAAA,UAC3B,KAAK;AACJ,mBAAO;AAAA,QAET;AAAA,MACD;AAEA,UAAI,iBAAiB,KAAK,IAAI,IAAI,GAAG;AACpC,eAAO;AAAA,MACR;AAEA,UAAI,8DAA8D,KAAK,IAAI,IAAI,GAAG;AACjF,eAAO;AAAA,MACR;AAEA,UAAI,eAAe,KAAK;AACvB,eAAO;AAAA,MACR;AAEA,aAAO;AAAA,IACR;AAEA,aAAS,gBAAgB,QAAQ;AAChC,YAAM,QAAQ,cAAc,QAAQ,UAAU,OAAO,KAAK;AAC1D,aAAO,eAAe,KAAK;AAAA,IAC5B;AAEA,WAAO,UAAU;AAAA,MAChB,eAAe;AAAA,MACf,QAAQ,eAAe,cAAc,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC;AAAA,MACzD,QAAQ,eAAe,cAAc,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC;AAAA,IAC1D;AAAA;AAAA;;;ACtIA;AAAA;AAAA;AAEA,QAAM,mBAAmB,CAAC,QAAQ,WAAW,aAAa;AACzD,UAAI,QAAQ,OAAO,QAAQ,SAAS;AACpC,UAAI,UAAU,IAAI;AACjB,eAAO;AAAA,MACR;AAEA,YAAM,kBAAkB,UAAU;AAClC,UAAI,WAAW;AACf,UAAI,cAAc;AAClB,SAAG;AACF,uBAAe,OAAO,OAAO,UAAU,QAAQ,QAAQ,IAAI,YAAY;AACvE,mBAAW,QAAQ;AACnB,gBAAQ,OAAO,QAAQ,WAAW,QAAQ;AAAA,MAC3C,SAAS,UAAU;AAEnB,qBAAe,OAAO,OAAO,QAAQ;AACrC,aAAO;AAAA,IACR;AAEA,QAAM,iCAAiC,CAAC,QAAQ,QAAQ,SAAS,UAAU;AAC1E,UAAI,WAAW;AACf,UAAI,cAAc;AAClB,SAAG;AACF,cAAM,QAAQ,OAAO,QAAQ,CAAC,MAAM;AACpC,uBAAe,OAAO,OAAO,WAAW,QAAQ,QAAQ,IAAI,SAAS,QAAQ,IAAI,UAAU,QAAQ,SAAS,QAAQ;AACpH,mBAAW,QAAQ;AACnB,gBAAQ,OAAO,QAAQ,MAAM,QAAQ;AAAA,MACtC,SAAS,UAAU;AAEnB,qBAAe,OAAO,OAAO,QAAQ;AACrC,aAAO;AAAA,IACR;AAEA,WAAO,UAAU;AAAA,MAChB;AAAA,MACA;AAAA,IACD;AAAA;AAAA;;;ACtCA;AAAA;AAAA;AACA,QAAM,iBAAiB;AACvB,QAAM,cAAc;AACpB,QAAM,eAAe;AACrB,QAAM,eAAe;AAErB,QAAM,UAAU,oBAAI,IAAI;AAAA,MACvB,CAAC,KAAK,IAAI;AAAA,MACV,CAAC,KAAK,IAAI;AAAA,MACV,CAAC,KAAK,GAAI;AAAA,MACV,CAAC,KAAK,IAAI;AAAA,MACV,CAAC,KAAK,IAAI;AAAA,MACV,CAAC,KAAK,IAAI;AAAA,MACV,CAAC,KAAK,IAAI;AAAA,MACV,CAAC,MAAM,IAAI;AAAA,MACX,CAAC,KAAK,MAAQ;AAAA,MACd,CAAC,KAAK,MAAQ;AAAA,IACf,CAAC;AAED,aAAS,SAAS,GAAG;AACpB,YAAM,IAAI,EAAE,CAAC,MAAM;AACnB,YAAM,UAAU,EAAE,CAAC,MAAM;AAEzB,UAAK,KAAK,CAAC,WAAW,EAAE,WAAW,KAAO,EAAE,CAAC,MAAM,OAAO,EAAE,WAAW,GAAI;AAC1E,eAAO,OAAO,aAAa,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;AAAA,MACpD;AAEA,UAAI,KAAK,SAAS;AACjB,eAAO,OAAO,cAAc,SAAS,EAAE,MAAM,GAAG,EAAE,GAAG,EAAE,CAAC;AAAA,MACzD;AAEA,aAAO,QAAQ,IAAI,CAAC,KAAK;AAAA,IAC1B;AAEA,aAAS,eAAe,MAAM,YAAY;AACzC,YAAM,UAAU,CAAC;AACjB,YAAM,SAAS,WAAW,KAAK,EAAE,MAAM,UAAU;AACjD,UAAI;AAEJ,iBAAW,SAAS,QAAQ;AAC3B,cAAM,SAAS,OAAO,KAAK;AAC3B,YAAI,CAAC,OAAO,MAAM,MAAM,GAAG;AAC1B,kBAAQ,KAAK,MAAM;AAAA,QACpB,WAAY,UAAU,MAAM,MAAM,YAAY,GAAI;AACjD,kBAAQ,KAAK,QAAQ,CAAC,EAAE,QAAQ,cAAc,CAAC,GAAG,QAAQ,cAAc,SAAS,SAAS,MAAM,IAAI,SAAS,CAAC;AAAA,QAC/G,OAAO;AACN,gBAAM,IAAI,MAAM,0CAA0C,KAAK,eAAe,IAAI,IAAI;AAAA,QACvF;AAAA,MACD;AAEA,aAAO;AAAA,IACR;AAEA,aAAS,WAAW,OAAO;AAC1B,kBAAY,YAAY;AAExB,YAAM,UAAU,CAAC;AACjB,UAAI;AAEJ,cAAQ,UAAU,YAAY,KAAK,KAAK,OAAO,MAAM;AACpD,cAAM,OAAO,QAAQ,CAAC;AAEtB,YAAI,QAAQ,CAAC,GAAG;AACf,gBAAM,OAAO,eAAe,MAAM,QAAQ,CAAC,CAAC;AAC5C,kBAAQ,KAAK,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC;AAAA,QACjC,OAAO;AACN,kBAAQ,KAAK,CAAC,IAAI,CAAC;AAAA,QACpB;AAAA,MACD;AAEA,aAAO;AAAA,IACR;AAEA,aAAS,WAAWC,QAAO,QAAQ;AAClC,YAAM,UAAU,CAAC;AAEjB,iBAAW,SAAS,QAAQ;AAC3B,mBAAW,SAAS,MAAM,QAAQ;AACjC,kBAAQ,MAAM,CAAC,CAAC,IAAI,MAAM,UAAU,OAAO,MAAM,MAAM,CAAC;AAAA,QACzD;AAAA,MACD;AAEA,UAAI,UAAUA;AACd,iBAAW,CAAC,WAAWC,OAAM,KAAK,OAAO,QAAQ,OAAO,GAAG;AAC1D,YAAI,CAAC,MAAM,QAAQA,OAAM,GAAG;AAC3B;AAAA,QACD;AAEA,YAAI,EAAE,aAAa,UAAU;AAC5B,gBAAM,IAAI,MAAM,wBAAwB,SAAS,EAAE;AAAA,QACpD;AAEA,kBAAUA,QAAO,SAAS,IAAI,QAAQ,SAAS,EAAE,GAAGA,OAAM,IAAI,QAAQ,SAAS;AAAA,MAChF;AAEA,aAAO;AAAA,IACR;AAEA,WAAO,UAAU,CAACD,QAAO,cAAc;AACtC,YAAM,SAAS,CAAC;AAChB,YAAM,SAAS,CAAC;AAChB,UAAI,QAAQ,CAAC;AAGb,gBAAU,QAAQ,gBAAgB,CAAC,GAAG,iBAAiB,SAAS,OAAO,OAAO,cAAc;AAC3F,YAAI,iBAAiB;AACpB,gBAAM,KAAK,SAAS,eAAe,CAAC;AAAA,QACrC,WAAW,OAAO;AACjB,gBAAM,SAAS,MAAM,KAAK,EAAE;AAC5B,kBAAQ,CAAC;AACT,iBAAO,KAAK,OAAO,WAAW,IAAI,SAAS,WAAWA,QAAO,MAAM,EAAE,MAAM,CAAC;AAC5E,iBAAO,KAAK,EAAC,SAAS,QAAQ,WAAW,KAAK,EAAC,CAAC;AAAA,QACjD,WAAW,OAAO;AACjB,cAAI,OAAO,WAAW,GAAG;AACxB,kBAAM,IAAI,MAAM,8CAA8C;AAAA,UAC/D;AAEA,iBAAO,KAAK,WAAWA,QAAO,MAAM,EAAE,MAAM,KAAK,EAAE,CAAC,CAAC;AACrD,kBAAQ,CAAC;AACT,iBAAO,IAAI;AAAA,QACZ,OAAO;AACN,gBAAM,KAAK,SAAS;AAAA,QACrB;AAAA,MACD,CAAC;AAED,aAAO,KAAK,MAAM,KAAK,EAAE,CAAC;AAE1B,UAAI,OAAO,SAAS,GAAG;AACtB,cAAM,aAAa,qCAAqC,OAAO,MAAM,mBAAmB,OAAO,WAAW,IAAI,KAAK,GAAG;AACtH,cAAM,IAAI,MAAM,UAAU;AAAA,MAC3B;AAEA,aAAO,OAAO,KAAK,EAAE;AAAA,IACtB;AAAA;AAAA;;;ACrIA;AAAA;AAAA;AACA,QAAM,aAAa;AACnB,QAAM,EAAC,QAAQ,aAAa,QAAQ,YAAW,IAAI;AACnD,QAAM;AAAA,MACL;AAAA,MACA;AAAA,IACD,IAAI;AAEJ,QAAM,EAAC,QAAO,IAAI;AAGlB,QAAM,eAAe;AAAA,MACpB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAEA,QAAM,SAAS,uBAAO,OAAO,IAAI;AAEjC,QAAM,eAAe,CAAC,QAAQ,UAAU,CAAC,MAAM;AAC9C,UAAI,QAAQ,SAAS,EAAE,OAAO,UAAU,QAAQ,KAAK,KAAK,QAAQ,SAAS,KAAK,QAAQ,SAAS,IAAI;AACpG,cAAM,IAAI,MAAM,qDAAqD;AAAA,MACtE;AAGA,YAAM,aAAa,cAAc,YAAY,QAAQ;AACrD,aAAO,QAAQ,QAAQ,UAAU,SAAY,aAAa,QAAQ;AAAA,IACnE;AAEA,QAAM,aAAN,MAAiB;AAAA,MAChB,YAAY,SAAS;AAEpB,eAAO,aAAa,OAAO;AAAA,MAC5B;AAAA,IACD;AAEA,QAAM,eAAe,aAAW;AAC/B,YAAME,SAAQ,CAAC;AACf,mBAAaA,QAAO,OAAO;AAE3B,MAAAA,OAAM,WAAW,IAAI,eAAe,SAASA,OAAM,UAAU,GAAG,UAAU;AAE1E,aAAO,eAAeA,QAAO,MAAM,SAAS;AAC5C,aAAO,eAAeA,OAAM,UAAUA,MAAK;AAE3C,MAAAA,OAAM,SAAS,cAAc,MAAM;AAClC,cAAM,IAAI,MAAM,0EAA0E;AAAA,MAC3F;AAEA,MAAAA,OAAM,SAAS,WAAW;AAE1B,aAAOA,OAAM;AAAA,IACd;AAEA,aAAS,MAAM,SAAS;AACvB,aAAO,aAAa,OAAO;AAAA,IAC5B;AAEA,eAAW,CAAC,WAAW,KAAK,KAAK,OAAO,QAAQ,UAAU,GAAG;AAC5D,aAAO,SAAS,IAAI;AAAA,QACnB,MAAM;AACL,gBAAM,UAAU,cAAc,MAAM,aAAa,MAAM,MAAM,MAAM,OAAO,KAAK,OAAO,GAAG,KAAK,QAAQ;AACtG,iBAAO,eAAe,MAAM,WAAW,EAAC,OAAO,QAAO,CAAC;AACvD,iBAAO;AAAA,QACR;AAAA,MACD;AAAA,IACD;AAEA,WAAO,UAAU;AAAA,MAChB,MAAM;AACL,cAAM,UAAU,cAAc,MAAM,KAAK,SAAS,IAAI;AACtD,eAAO,eAAe,MAAM,WAAW,EAAC,OAAO,QAAO,CAAC;AACvD,eAAO;AAAA,MACR;AAAA,IACD;AAEA,QAAM,aAAa,CAAC,OAAO,OAAO,WAAW,OAAO,OAAO,OAAO,QAAQ,SAAS;AAEnF,eAAW,SAAS,YAAY;AAC/B,aAAO,KAAK,IAAI;AAAA,QACf,MAAM;AACL,gBAAM,EAAC,MAAK,IAAI;AAChB,iBAAO,YAAa,YAAY;AAC/B,kBAAM,SAAS,aAAa,WAAW,MAAM,aAAa,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,UAAU,GAAG,WAAW,MAAM,OAAO,KAAK,OAAO;AAC7H,mBAAO,cAAc,MAAM,QAAQ,KAAK,QAAQ;AAAA,UACjD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAEA,eAAW,SAAS,YAAY;AAC/B,YAAM,UAAU,OAAO,MAAM,CAAC,EAAE,YAAY,IAAI,MAAM,MAAM,CAAC;AAC7D,aAAO,OAAO,IAAI;AAAA,QACjB,MAAM;AACL,gBAAM,EAAC,MAAK,IAAI;AAChB,iBAAO,YAAa,YAAY;AAC/B,kBAAM,SAAS,aAAa,WAAW,QAAQ,aAAa,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,UAAU,GAAG,WAAW,QAAQ,OAAO,KAAK,OAAO;AACjI,mBAAO,cAAc,MAAM,QAAQ,KAAK,QAAQ;AAAA,UACjD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAEA,QAAM,QAAQ,OAAO,iBAAiB,MAAM;AAAA,IAAC,GAAG;AAAA,MAC/C,GAAG;AAAA,MACH,OAAO;AAAA,QACN,YAAY;AAAA,QACZ,MAAM;AACL,iBAAO,KAAK,WAAW;AAAA,QACxB;AAAA,QACA,IAAI,OAAO;AACV,eAAK,WAAW,QAAQ;AAAA,QACzB;AAAA,MACD;AAAA,IACD,CAAC;AAED,QAAM,eAAe,CAAC,MAAM,OAAO,WAAW;AAC7C,UAAI;AACJ,UAAI;AACJ,UAAI,WAAW,QAAW;AACzB,kBAAU;AACV,mBAAW;AAAA,MACZ,OAAO;AACN,kBAAU,OAAO,UAAU;AAC3B,mBAAW,QAAQ,OAAO;AAAA,MAC3B;AAEA,aAAO;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,IACD;AAEA,QAAM,gBAAgB,CAAC,MAAM,SAAS,aAAa;AAClD,YAAM,UAAU,IAAI,eAAe;AAClC,YAAI,QAAQ,WAAW,CAAC,CAAC,KAAK,QAAQ,WAAW,CAAC,EAAE,GAAG,GAAG;AAEzD,iBAAO,WAAW,SAAS,SAAS,SAAS,GAAG,UAAU,CAAC;AAAA,QAC5D;AAIA,eAAO,WAAW,SAAU,WAAW,WAAW,IAAM,KAAK,WAAW,CAAC,IAAK,WAAW,KAAK,GAAG,CAAC;AAAA,MACnG;AAIA,aAAO,eAAe,SAAS,KAAK;AAEpC,cAAQ,aAAa;AACrB,cAAQ,UAAU;AAClB,cAAQ,WAAW;AAEnB,aAAO;AAAA,IACR;AAEA,QAAM,aAAa,CAAC,MAAM,WAAW;AACpC,UAAI,KAAK,SAAS,KAAK,CAAC,QAAQ;AAC/B,eAAO,KAAK,WAAW,KAAK;AAAA,MAC7B;AAEA,UAAI,SAAS,KAAK;AAElB,UAAI,WAAW,QAAW;AACzB,eAAO;AAAA,MACR;AAEA,YAAM,EAAC,SAAS,SAAQ,IAAI;AAC5B,UAAI,OAAO,QAAQ,MAAQ,MAAM,IAAI;AACpC,eAAO,WAAW,QAAW;AAI5B,mBAAS,iBAAiB,QAAQ,OAAO,OAAO,OAAO,IAAI;AAE3D,mBAAS,OAAO;AAAA,QACjB;AAAA,MACD;AAKA,YAAM,UAAU,OAAO,QAAQ,IAAI;AACnC,UAAI,YAAY,IAAI;AACnB,iBAAS,+BAA+B,QAAQ,UAAU,SAAS,OAAO;AAAA,MAC3E;AAEA,aAAO,UAAU,SAAS;AAAA,IAC3B;AAEA,QAAI;AACJ,QAAM,WAAW,CAACA,WAAU,YAAY;AACvC,YAAM,CAAC,WAAW,IAAI;AAEtB,UAAI,CAAC,QAAQ,WAAW,KAAK,CAAC,QAAQ,YAAY,GAAG,GAAG;AAGvD,eAAO,QAAQ,KAAK,GAAG;AAAA,MACxB;AAEA,YAAM,aAAa,QAAQ,MAAM,CAAC;AAClC,YAAM,QAAQ,CAAC,YAAY,IAAI,CAAC,CAAC;AAEjC,eAAS,IAAI,GAAG,IAAI,YAAY,QAAQ,KAAK;AAC5C,cAAM;AAAA,UACL,OAAO,WAAW,IAAI,CAAC,CAAC,EAAE,QAAQ,WAAW,MAAM;AAAA,UACnD,OAAO,YAAY,IAAI,CAAC,CAAC;AAAA,QAC1B;AAAA,MACD;AAEA,UAAI,aAAa,QAAW;AAC3B,mBAAW;AAAA,MACZ;AAEA,aAAO,SAASA,QAAO,MAAM,KAAK,EAAE,CAAC;AAAA,IACtC;AAEA,WAAO,iBAAiB,MAAM,WAAW,MAAM;AAE/C,QAAMA,SAAQ,MAAM;AACpB,IAAAA,OAAM,gBAAgB;AACtB,IAAAA,OAAM,SAAS,MAAM,EAAC,OAAO,cAAc,YAAY,QAAQ,EAAC,CAAC;AACjE,IAAAA,OAAM,OAAO,gBAAgB;AAE7B,WAAO,UAAUA;AAAA;AAAA;;;AClOjB,IAAAC,gBAAkB;AAClB,SAAS,eAAe;;;ACFxB,mBAAkB;AADlB,SAAS,OAAO,eAAe;AAE/B,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB,SAAS,qBAAqB;AAEvB,IAAM,mBAAmB,CAAC,QAAwB;AACvD,SAAO,IAAI,QAAQ,mBAAmB,OAAO,EAAE,YAAY;AAC7D;AAkBA,IAAM,eAA6B;AAAA,EACjC;AAAA,IACE,IAAI;AAAA,IACJ,SAAS;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,IACT,UAAU,CAACC,WAAkB;AAC3B,UAAI,CAACA,OAAM,KAAK,GAAG;AACjB,eAAO;AAAA,MACT;AAEA,aAAO;AAAA,IACT;AAAA,IACA,WAAW;AAAA,EACb;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,SAAS;AAAA,IACT,MAAM;AAAA,IACN,SACE;AAAA,IACF,SAAS;AAAA,IACT,WAAW;AAAA,EACb;AAAA;AAEF;AAEO,IAAM,oBAAoB,OAC/B,aACA,cAAc,UACI;AAClB,MAAI;AAEJ,MAAI,aAAa;AACf,aAAS,MAAM,UAAU,WAAW;AAAA,EACtC,OAAO;AAEL,QAAI,OAAO,eAAe;AAG1B,QAAI,SAAS,KAAK;AAChB,aAAO,KAAK,SAAS,QAAQ,IAAI,CAAC;AAAA,IACpC;AAEA,aAAS;AAAA,MACP,aAAa;AAAA,MACb,sBAAsB;AAAA;AAAA,IACxB;AAAA,EACF;AAGA,MAAI,CAAC,OAAO,aAAa;AACvB,UAAM,IAAI,MAAM,0BAA0B;AAAA,EAC5C;AAEA,UAAQ;AAAA,IACN,aAAAC,QAAM,IAAI,KAAK,KAAK,EAAE,EAAE,oCAA6B,OAAO,WAAW,EAAE;AAAA,EAC3E;AAGA,MAAI;AACJ,MAAI;AAEJ,MAAI,gBAAgB,KAAK;AAEvB,gBAAY,QAAQ,IAAI;AACxB,iBAAa;AAGb,UAAM,gBAAgB,MAAM,GAAG,QAAQ,SAAS;AAChD,UAAM,eAAe;AAAA,MACnB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,UAAM,sBAAsB,cAAc;AAAA,MACxC,CAAC,SAAS,CAAC,aAAa,SAAS,IAAI;AAAA,IACvC;AAEA,QAAI,qBAAqB;AACvB,cAAQ;AAAA,QACN,aAAAA,QAAM;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AACA,cAAQ,KAAK,CAAC;AAAA,IAChB;AAAA,EACF,OAAO;AAEL,iBAAa,UAAU,OAAO,WAAW;AACzC,gBAAY,KAAK,QAAQ,QAAQ,IAAI,GAAG,UAAU;AAGlD,QAAI,MAAM,GAAG,WAAW,SAAS,GAAG;AAClC,cAAQ,MAAM,aAAAA,QAAM,IAAI,aAAa,UAAU,kBAAkB,CAAC;AAClE,cAAQ,KAAK,CAAC;AAAA,IAChB;AAGA,UAAM,GAAG,UAAU,SAAS;AAAA,EAC9B;AAGA,QAAM,kBAAkB,WAAW,MAAM;AAEzC,UAAQ,IAAI,aAAAA,QAAM,MAAM,2CAAsC,CAAC;AAC/D,UAAQ,IAAI,aAAAA,QAAM,KAAK,eAAe,CAAC;AACvC,UAAQ,IAAI,aAAAA,QAAM,MAAM,QAAQ,UAAU,EAAE,CAAC;AAC7C,UAAQ,IAAI,aAAAA,QAAM,MAAM,gBAAgB,CAAC;AACzC,UAAQ,IAAI,aAAAA,QAAM,MAAM,YAAY,CAAC;AACrC,UAAQ,IAAI,aAAAA,QAAM,KAAK,8BAAuB,CAAC;AAC/C,UAAQ;AAAA,IACN,aAAAA,QAAM,MAAM,mEAA8D;AAAA,EAC5E;AACA,UAAQ,IAAI,aAAAA,QAAM,MAAM,uDAAkD,CAAC;AAC3E,UAAQ;AAAA,IACN,aAAAA,QAAM;AAAA,MACJ;AAAA,IACF;AAAA,EACF;AACA,UAAQ;AAAA,IACN,aAAAA,QAAM;AAAA,MACJ;AAAA,IACF;AAAA,EACF;AACA,UAAQ,IAAI,aAAAA,QAAM,MAAM,2BAAoB,CAAC;AAC/C;AAEA,IAAM,YAAY,OAChB,wBAC2B;AAC3B,UAAQ;AAAA,IACN,aAAAA,QAAM,IAAI,KAAK,KAAK,EAAE,EAAE,wDAAiD;AAAA,EAC3E;AAEA,QAAM,SAAwB,CAAC;AAG/B,aAAW,QAAQ,cAAc;AAC/B,QAAI,CAAC,KAAK,SAAS;AACjB;AAAA,IACF;AAEA,QAAI;AAGJ,QAAI,KAAK,OAAO,iBAAiB,qBAAqB;AAEpD,cACE,wBAAwB,MACpB,KAAK,SAAS,QAAQ,IAAI,CAAC,IAC3B;AAAA,IACR,OAAO;AAEL,cAAQ,KAAK,MAAM;AAAA,QACjB,KAAK;AACH,kBAAQ,MAAM,MAAM;AAAA,YAClB,SAAS,KAAK;AAAA,YACd,SAAS,KAAK;AAAA,YACd,UAAU,KAAK;AAAA,UACjB,CAAC;AACD;AAAA,QACF,KAAK;AACH,kBAAQ,MAAM,QAAQ;AAAA,YACpB,SAAS,KAAK;AAAA,YACd,SAAS,KAAK;AAAA,UAChB,CAAC;AACD;AAAA,QACF;AACE,gBAAM,IAAI,MAAM,sBAAsB,KAAK,IAAI,EAAE;AAAA,MACrD;AAAA,IACF;AAGA;AAAC,IAAC,OAAe,KAAK,SAAS,IAAI;AAAA,EACrC;AAGA,QAAM,yBAAyB,MAAM;AAErC,SAAO;AACT;AAEA,IAAM,2BAA2B,OAC/B,WACkB;AAClB,UAAQ,IAAI,aAAAA,QAAM,KAAK,oCAA6B,CAAC;AAGrD,aAAW,QAAQ,cAAc;AAC/B,QAAI,CAAC,KAAK,SAAS;AACjB;AAAA,IACF;AAEA,UAAM,QAAS,OAAe,KAAK,SAAS;AAC5C,UAAM,eAAe,OAAO,UAAU,YAAY,QAAQ,SAAS;AAEnE,YAAQ,IAAI,aAAAA,QAAM,MAAM,KAAK,KAAK,EAAE,KAAK,YAAY,EAAE,CAAC;AAAA,EAC1D;AAEA,QAAM,gBAAgB,MAAM,QAAQ;AAAA,IAClC,SAAS;AAAA,IACT,SAAS;AAAA,EACX,CAAC;AAED,MAAI,CAAC,eAAe;AAClB,YAAQ,IAAI,aAAAA,QAAM,OAAO,kBAAkB,CAAC;AAC5C,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;AAEA,IAAM,oBAAoB,OACxB,WACA,WACkB;AAElB,MAAI;AAGJ,QAAM,aAAa,KAAK,QAAQ,cAAc,YAAY,GAAG,CAAC;AAC9D,QAAM,gBAAgB;AAAA,IACpB,KAAK,KAAK,YAAY,WAAW;AAAA,IACjC,KAAK,KAAK,YAAY,MAAM,WAAW;AAAA,IACvC,KAAK,KAAK,YAAY,MAAM,MAAM,WAAW;AAAA;AAAA,IAC7C,KAAK,KAAK,QAAQ,IAAI,GAAG,WAAW;AAAA,IACpC,KAAK,KAAK,QAAQ,IAAI,GAAG,OAAO,WAAW;AAAA,EAC7C;AAEA,aAAW,gBAAgB,eAAe;AACxC,QAAI,MAAM,GAAG,WAAW,YAAY,GAAG;AACrC,qBAAe;AACf;AAAA,IACF;AAAA,EACF;AAEA,MAAI,CAAC,cAAc;AACjB,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,UAAQ,IAAI,aAAAA,QAAM,KAAK,qCAA8B,CAAC;AAGtD,QAAM,GAAG,KAAK,cAAc,SAAS;AAGrC,QAAM,wBAAwB,WAAW,MAAM;AACjD;AAEA,IAAM,0BAA0B,OAC9B,WACA,WACkB;AAClB,UAAQ,IAAI,aAAAA,QAAM,KAAK,wCAAiC,CAAC;AAEzD,QAAM,QAAQ,MAAM,YAAY,SAAS;AAEzC,aAAW,QAAQ,OAAO;AAExB,UAAM,MAAM,KAAK,QAAQ,IAAI;AAC7B,UAAM,iBAAiB;AAAA,MACrB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,QAAI,eAAe,SAAS,GAAG,GAAG;AAChC;AAAA,IACF;AAEA,UAAM,oBAAoB,MAAM,MAAM;AAAA,EACxC;AACF;AAEA,IAAM,cAAc,OAAO,QAAmC;AAC5D,QAAM,QAAkB,CAAC;AAEzB,QAAM,WAAW,OAAO,eAAuB;AAC7C,UAAM,QAAQ,MAAM,GAAG,QAAQ,UAAU;AAEzC,eAAW,QAAQ,OAAO;AACxB,YAAM,WAAW,KAAK,KAAK,YAAY,IAAI;AAC3C,YAAM,OAAO,MAAM,GAAG,KAAK,QAAQ;AAEnC,UAAI,KAAK,YAAY,GAAG;AAEtB,YACE,SAAS,kBACT,SAAS,UACT,CAAC,KAAK,WAAW,GAAG,GACpB;AACA,gBAAM,SAAS,QAAQ;AAAA,QACzB;AAAA,MACF,OAAO;AACL,cAAM,KAAK,QAAQ;AAAA,MACrB;AAAA,IACF;AAAA,EACF;AAEA,QAAM,SAAS,GAAG;AAElB,SAAO;AACT;AAEA,IAAM,sBAAsB,OAC1B,UACA,WACkB;AAClB,MAAI,CAAE,MAAM,GAAG,WAAW,QAAQ,GAAI;AACpC;AAAA,EACF;AAEA,MAAI,UAAU,MAAM,GAAG,SAAS,UAAU,OAAO;AAGjD,aAAW,QAAQ,cAAc;AAC/B,QAAI,CAAC,KAAK,SAAS;AACjB;AAAA,IACF;AAEA,UAAM,QAAS,OAAe,KAAK,SAAS;AAE5C,QAAI,UAAU,QAAW;AAEvB,YAAM,cAAc,KAAK,iBAAiB,KAAK,SAAS,CAAC;AAEzD,gBAAU,QAAQ,QAAQ,IAAI,OAAO,aAAa,GAAG,GAAG,OAAO,KAAK,CAAC;AAAA,IACvE;AAAA,EACF;AAGA,MAAI,OAAO,aAAa;AACtB,cAAU,QAAQ;AAAA,MAChB;AAAA,MACA,UAAU,OAAO,WAAW;AAAA,IAC9B;AAAA,EACF;AAGA,aAAW,QAAQ,cAAc;AAC/B,QAAI,CAAC,KAAK,SAAS;AACjB;AAAA,IACF;AAEA,UAAM,QAAS,OAAe,KAAK,SAAS;AAE5C,QAAI,UAAU,QAAW;AACvB,YAAM,qBAAqB,IAAI;AAAA,QAC7B,SAAS,iBAAiB,KAAK,SAAS,CAAC;AAAA,QACzC;AAAA,MACF;AAEA,gBAAU,QAAQ,QAAQ,oBAAoB,QAAQ,OAAO,EAAE;AAAA,IACjE;AAAA,EACF;AAGA,YAAU,QAAQ,QAAQ,YAAY,EAAE;AAExC,QAAM,GAAG,UAAU,UAAU,OAAO;AACtC;AAEO,IAAM,YAAY,CAAC,QAAwB;AAChD,SAAO,IACJ,QAAQ,mBAAmB,OAAO,EAClC,QAAQ,WAAW,GAAG,EACtB,YAAY;AACjB;;;AD7YA,IAAM,UAAU,IAAI,QAAQ;AAE5B,QACG,KAAK,qBAAqB,EAC1B,YAAY,mCAAmC,EAC/C,QAAQ,OAAO,EACf,SAAS,kBAAkB,+BAA+B,EAC1D,OAAO,yBAAyB,2CAA2C,EAC3E,OAAO,OAAO,aAAa,YAAY;AACtC,MAAI;AACF,UAAM,cAAc,CAAC,QAAQ;AAE7B,UAAM,kBAAkB,aAAa,WAAW;AAAA,EAClD,SAAS,OAAO;AACd,YAAQ,MAAM,cAAAC,QAAM,IAAI,8BAA8B,GAAG,KAAK;AAC9D,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF,CAAC;AAEH,QAAQ,MAAM;",
6
+ "names": ["path", "chalk", "styles", "chalk", "import_chalk", "input", "chalk", "chalk"]
7
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-raclette-app",
3
- "version": "0.0.5",
3
+ "version": "0.0.6",
4
4
  "description": "CLI tool to create a raclette application boilerplate",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -54,6 +54,7 @@
54
54
  "jest": "^29.7.0",
55
55
  "prettier": "^3.3.2",
56
56
  "ts-jest": "^29.3.4",
57
+ "ts-jest-mock-import-meta": "^1.3.1",
57
58
  "ts-node": "^10.9.2",
58
59
  "typescript": "^5.2.2",
59
60
  "typescript-eslint": "^8.33.0"
@@ -8,7 +8,7 @@ vim-session
8
8
  .DS_Store
9
9
  .vscode
10
10
 
11
- # just in case when moving around keys
11
+ # just in case prevent pushing keys
12
12
  **/keys
13
13
  keys
14
14
  /ssh
@@ -18,6 +18,7 @@ id_rsa.pub
18
18
 
19
19
  # ignore env files
20
20
  .env*
21
+ !.env.local
21
22
 
22
23
  # ignore reference folder
23
24
  **/*-ref
@@ -26,7 +27,4 @@ node_modules
26
27
  **/node_modules
27
28
 
28
29
  # raclette related
29
- .raclette
30
-
31
- .npmrc
32
- .yarnrc
30
+ .raclette
@@ -2,33 +2,34 @@
2
2
  "name": "{{PROJECT_NAME_KEBAB}}",
3
3
  "version": "0.0.1",
4
4
  "description": "A boilerplate for creating applications with raclettejs",
5
- "main": "index.js",
6
5
  "author": "Pacifico Digital Explorations GmbH",
7
6
  "license": "MIT",
8
7
  "type": "module",
9
8
  "scripts": {
9
+ "raclette": "raclette",
10
10
  "dev": "raclette dev",
11
+ "build": "raclette build",
11
12
  "down": "raclette down",
12
13
  "update": "raclette update",
13
14
  "restart": "raclette restart",
14
- "add-package": "raclette add"
15
+ "add-package": "raclette add-package",
16
+ "lint": "eslint",
17
+ "lint:fix": "eslint --fix"
15
18
  },
16
19
  "dependencies": {
17
- {{#if INCLUDE_DASHBOARD}}
18
- "@raclettejs/raclette-dashboard": "latest",
19
- {{/if}}
20
- "@raclettejs/raclette-core": "latest"
20
+ "@raclettejs/workbench": "latest",
21
+ "@raclettejs/core": "latest"
21
22
  },
22
23
  "devDependencies": {
23
24
  "@eslint/js": "^9.26.0",
24
- "@raclettejs/raclette-types": "latest",
25
+ "@raclettejs/types": "^0.0.1",
25
26
  "@sinclair/typebox": "^0.34.31",
26
27
  "@typescript-eslint/eslint-plugin": "^8.32.1",
27
28
  "@typescript-eslint/parser": "^8.32.1",
28
29
  "@vue/eslint-config-prettier": "^10.2.0",
29
30
  "@vue/eslint-config-typescript": "^14.5.0",
30
- "@vueuse/core": "13.0.0",
31
31
  "axios": "^1.7.9",
32
+ "eslint": "^9.26.0",
32
33
  "eslint-config-prettier": "^10.1.5",
33
34
  "eslint-config-standard": "^17.1.0",
34
35
  "eslint-flat-config-utils": "^2.0.1",
@@ -36,16 +37,16 @@
36
37
  "eslint-plugin-prefer-arrow-functions": "^3.6.2",
37
38
  "eslint-plugin-prettier": "^5.4.0",
38
39
  "eslint-plugin-vue": "^10.1.0",
39
- "eslint": "^9.26.0",
40
40
  "fastify": "^4.28.1",
41
41
  "globals": "^16.1.0",
42
42
  "prettier": "^3.5.3",
43
- "typescript-eslint": "^8.32.1",
43
+ "ramda": "^0.31.3",
44
44
  "typescript": "^5.4.2",
45
+ "typescript-eslint": "^8.32.1",
45
46
  "uuid": "^11.1.0",
46
47
  "vite": "^6.0.5",
47
- "vue-eslint-parser": "^10.1.3",
48
48
  "vue": "^3.5.13",
49
+ "vue-eslint-parser": "^10.1.3",
49
50
  "vuetify": "^3.8.1"
50
51
  }
51
52
  }
@@ -1,17 +1,17 @@
1
- import { defineRacletteConfig } from "@raclettejs/raclette-core"
1
+ import { defineRacletteConfig } from "@raclettejs/core"
2
2
 
3
3
  export default defineRacletteConfig({
4
4
  name: "{{PROJECT_NAME_KEBAB}}",
5
5
 
6
6
  services: {
7
- client: {
7
+ frontend: {
8
8
  enabled: true,
9
9
  port: 8081,
10
10
  },
11
- server: {
11
+ backend: {
12
12
  enabled: true,
13
13
  port: 8082,
14
- enableDebug: true,
14
+ enableDebug: process.env.ENABLE_DEBUG,
15
15
  },
16
16
  mongodb: {
17
17
  name: "raclette-mongodb",
@@ -20,26 +20,34 @@ export default defineRacletteConfig({
20
20
  volume: "raclette-mongodb",
21
21
  databaseName: "raclette",
22
22
  },
23
- redis: {
24
- name: "raclette-redis",
25
- volume: "raclette-redis",
23
+ cache: {
24
+ name: "raclette-cache",
25
+ volume: "raclette-cache",
26
26
  enabled: true,
27
27
  port: 6379,
28
28
  },
29
- {{#if INCLUDE_DASHBOARD}}
30
- dashboard: {
29
+ workbench: {
31
30
  enabled: true,
32
31
  portFrontend: 8083,
33
32
  portBackend: 8084,
33
+ debugPort: process.env.ENABLE_DEBUG ? 9228 : undefined,
34
34
  withLogs: false,
35
35
  },
36
- {{/if}}
36
+ },
37
+
38
+ env: {
39
+ development: {
40
+ RACLETTE_DEBUG_MODE: true,
41
+ },
37
42
  },
38
43
 
39
44
  frontend: {
40
- framework: "vue",
41
- vue: {
42
- plugins: ["vue-router"],
45
+ meta: {
46
+ title: "{{PROJECT_NAME}}",
43
47
  },
44
48
  },
49
+
50
+ eslint: {
51
+ useRecommended: {{USE_RECOMMENDED_ESLINT}}
52
+ }
45
53
  })
@@ -0,0 +1,17 @@
1
+ <template>
2
+ <div class="tw-p-4">
3
+ <h1>Welcome to the <span class="raclette">raclette</span> boilerplate!</h1>
4
+
5
+ <p>
6
+ <span>Get all the information you need from our </span>
7
+ <a
8
+ href="https://docs.raclettejs.com/"
9
+ taret="_blank"
10
+ >docs</a
11
+ > or visit your
12
+ <a href="http://localhost:8083">
13
+ workbench
14
+ </a> to configure your first page.
15
+ </p>
16
+ </div>
17
+ </template>
package/templates/.npmrc DELETED
@@ -1,2 +0,0 @@
1
- //git.pacifico.cloud/api/v4/packages/npm/:_authToken={{DEPLOY_TOKEN}}
2
- //git.pacifico.cloud/api/v4/projects/26/packages/npm/:_authToken={{DEPLOY_TOKEN}}
package/templates/.yarnrc DELETED
@@ -1 +0,0 @@
1
- "@raclettejs:registry" "https://git.pacifico.cloud/api/v4/packages/npm/"
@@ -1,15 +0,0 @@
1
- <template>
2
- <div class="tw-p-4">
3
- <h1>Welcome to the Raclette Boilerplate!</h1>
4
-
5
- <p>
6
- <span>Check out our awesome</span>
7
- <span>&nbsp;</span>
8
- <a
9
- href="https://docs.raclettejs.com/guide/directory-structure/eslint-config"
10
- taret="_blank"
11
- >docs</a
12
- >
13
- </p>
14
- </div>
15
- </template>