klun-ui 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +106 -0
  3. package/dist/charts/index.cjs +160 -0
  4. package/dist/charts/index.cjs.map +1 -0
  5. package/dist/charts/index.d.cts +89 -0
  6. package/dist/charts/index.d.ts +89 -0
  7. package/dist/charts/index.js +154 -0
  8. package/dist/charts/index.js.map +1 -0
  9. package/dist/chunk-FTYQRXS5.cjs +10152 -0
  10. package/dist/chunk-FTYQRXS5.cjs.map +1 -0
  11. package/dist/chunk-T225J6LV.js +13 -0
  12. package/dist/chunk-T225J6LV.js.map +1 -0
  13. package/dist/chunk-TPGAXYFU.cjs +15 -0
  14. package/dist/chunk-TPGAXYFU.cjs.map +1 -0
  15. package/dist/chunk-XDAR7UMF.js +10009 -0
  16. package/dist/chunk-XDAR7UMF.js.map +1 -0
  17. package/dist/fonts/DMMono-Light.ttf +0 -0
  18. package/dist/fonts/DMMono-Medium.ttf +0 -0
  19. package/dist/fonts/DMMono-Regular.ttf +0 -0
  20. package/dist/fonts/InterDisplay-Bold.woff2 +0 -0
  21. package/dist/fonts/InterDisplay-Medium.woff2 +0 -0
  22. package/dist/fonts/InterDisplay-Regular.woff2 +0 -0
  23. package/dist/fonts/InterDisplay-SemiBold.woff2 +0 -0
  24. package/dist/fonts/InterVariable-Italic.woff2 +0 -0
  25. package/dist/fonts/InterVariable.woff2 +0 -0
  26. package/dist/index.cjs +581 -0
  27. package/dist/index.cjs.map +1 -0
  28. package/dist/index.d.cts +2701 -0
  29. package/dist/index.d.ts +2701 -0
  30. package/dist/index.js +4 -0
  31. package/dist/index.js.map +1 -0
  32. package/dist/styles.css +9137 -0
  33. package/dist/templates/index.cjs +1132 -0
  34. package/dist/templates/index.cjs.map +1 -0
  35. package/dist/templates/index.d.cts +43 -0
  36. package/dist/templates/index.d.ts +43 -0
  37. package/dist/templates/index.js +1120 -0
  38. package/dist/templates/index.js.map +1 -0
  39. package/package.json +95 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/templates/dashboard/Sidebar.tsx","../../src/templates/dashboard/TopBar.tsx","../../src/templates/dashboard/OverviewScreen.tsx","../../src/templates/dashboard/SettingsScreen.tsx","../../src/templates/dashboard/index.tsx","../../src/templates/ai-assistant/AISidebar.tsx","../../src/templates/ai-assistant/ChatView.tsx","../../src/templates/ai-assistant/Composer.tsx","../../src/templates/ai-assistant/index.tsx","../../src/templates/crypto/CryptoSidebar.tsx","../../src/templates/crypto/MarketsScreen.tsx","../../src/templates/crypto/index.tsx","../../src/templates/marketing/MarketingNav.tsx","../../src/templates/marketing/MarketingSections.tsx","../../src/templates/marketing/index.tsx","../../src/templates/calendar/index.tsx","../../src/templates/pricing/index.tsx","../../src/templates/settings/index.tsx"],"names":["jsxs","jsx","useState","useRef","Stat"],"mappings":";;;;;AAqBO,SAAS,OAAA,CAAQ,EAAE,MAAA,EAAQ,UAAA,EAAY,MAAK,EAAiB;AAClE,EAAA,MAAM,IAAA,GAAkB;AAAA,IACtB,EAAE,EAAA,EAAI,UAAA,EAAY,KAAA,EAAO,UAAA,EAAY,MAAM,mBAAA,EAAoB;AAAA,IAC/D,EAAE,IAAI,cAAA,EAAgB,KAAA,EAAO,gBAAgB,IAAA,EAAM,0BAAA,EAA4B,OAAO,IAAA,EAAK;AAAA,IAC3F,EAAE,EAAA,EAAI,OAAA,EAAS,KAAA,EAAO,OAAA,EAAS,MAAM,mBAAA,EAAoB;AAAA,IACzD,EAAE,EAAA,EAAI,WAAA,EAAa,KAAA,EAAO,WAAA,EAAa,MAAM,qBAAA,EAAsB;AAAA,IACnE,EAAE,EAAA,EAAI,UAAA,EAAY,KAAA,EAAO,UAAA,EAAY,MAAM,cAAA;AAAe,GAC5D;AACA,EAAA,MAAM,KAAA,GAAmB;AAAA,IACvB,EAAE,EAAA,EAAI,UAAA,EAAY,KAAA,EAAO,UAAA,EAAY,MAAM,oBAAA,EAAqB;AAAA,IAChE,EAAE,EAAA,EAAI,SAAA,EAAW,KAAA,EAAO,SAAA,EAAW,MAAM,mBAAA;AAAoB,GAC/D;AACA,EAAA,MAAM,IAAA,GAAO,CAAC,EAAE,EAAA,EAAG,KAAuB;AACxC,IAAA,MAAM,EAAA,GAAK,WAAW,EAAA,CAAG,EAAA;AACzB,IAAA,uBACE,IAAA,CAAC,YAAO,OAAA,EAAS,MAAM,WAAW,EAAA,CAAG,EAAE,GAAG,KAAA,EAAO;AAAA,MAC/C,OAAA,EAAS,MAAA;AAAA,MAAQ,UAAA,EAAY,QAAA;AAAA,MAAU,GAAA,EAAK,EAAA;AAAA,MAAI,KAAA,EAAO,MAAA;AAAA,MAAQ,MAAA,EAAQ,EAAA;AAAA,MAAI,OAAA,EAAS,QAAA;AAAA,MACpF,MAAA,EAAQ,MAAA;AAAA,MAAQ,YAAA,EAAc,uBAAA;AAAA,MAAyB,MAAA,EAAQ,SAAA;AAAA,MAAW,SAAA,EAAW,MAAA;AAAA,MACrF,UAAA,EAAY,KAAK,wBAAA,GAA2B,aAAA;AAAA,MAC5C,SAAA,EAAW,KAAK,oEAAA,GAAuE,MAAA;AAAA,MACvF,KAAA,EAAO,KAAK,6BAAA,GAAgC,0BAAA;AAAA,MAC5C,IAAA,EAAM;AAAA,KACR,EACE,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAW,EAAA,CAAG,IAAA,EAAM,KAAA,EAAO,EAAE,QAAA,EAAU,EAAA,EAAI,KAAA,EAAO,EAAA,GAAK,0BAAA,GAA6B,0BAAA,EAA2B,EAAG,CAAA;AAAA,sBACrH,GAAA,CAAC,UAAK,KAAA,EAAO,EAAE,MAAM,CAAA,EAAE,EAAI,aAAG,KAAA,EAAM,CAAA;AAAA,MACnC,GAAG,KAAA,mBAAQ,GAAA,CAAC,UAAK,KAAA,EAAO,EAAE,MAAM,2BAAA,EAA6B,OAAA,EAAS,WAAW,YAAA,EAAc,yBAAA,EAA2B,YAAY,wBAAA,EAA0B,KAAA,EAAO,4BAA2B,EAAI,QAAA,EAAA,EAAA,CAAG,OAAM,CAAA,GAAU;AAAA,KAAA,EAC5N,CAAA;AAAA,EAEJ,CAAA;AACA,EAAA,uBACE,IAAA,CAAC,WAAM,KAAA,EAAO,EAAE,OAAO,GAAA,EAAK,UAAA,EAAY,CAAA,EAAG,MAAA,EAAQ,MAAA,EAAQ,SAAA,EAAW,cAAc,OAAA,EAAS,MAAA,EAAQ,eAAe,QAAA,EAAU,OAAA,EAAS,IAAI,UAAA,EAAY,wBAAA,EAA0B,WAAA,EAAa,uCAAA,EAAwC,EACpO,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,EAAA,EAAI,OAAA,EAAS,cAAA,EAAe,EACpF,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,KAAA,EAAO,EAAA,EAAI,MAAA,EAAQ,EAAA,EAAI,YAAA,EAAc,uBAAA,EAAyB,UAAA,EAAY,2BAAA,EAA6B,KAAA,EAAO,0BAAA,EAA4B,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,cAAA,EAAgB,QAAA,EAAS,EACtN,QAAA,kBAAA,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,gBAAA,EAAiB,KAAA,EAAO,EAAE,QAAA,EAAU,EAAA,IAAM,CAAA,EACzD,CAAA;AAAA,2BACC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,UAAA,EAAY,KAAI,EAC5B,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,OAAO,EAAE,IAAA,EAAM,6BAA6B,KAAA,EAAO,6BAAA,IAAiC,QAAA,EAAA,cAAA,EAAY,CAAA;AAAA,wBACrG,GAAA,CAAC,SAAI,KAAA,EAAO,EAAE,MAAM,+BAAA,EAAiC,KAAA,EAAO,2BAAA,EAA4B,EAAG,QAAA,EAAA,WAAA,EAAS;AAAA,OAAA,EACtG;AAAA,KAAA,EACF,CAAA;AAAA,oBACA,IAAA,CAAC,SAAI,KAAA,EAAO,EAAE,UAAU,UAAA,EAAY,YAAA,EAAc,IAAG,EACnD,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,OAAE,SAAA,EAAU,gBAAA,EAAiB,KAAA,EAAO,EAAE,UAAU,UAAA,EAAY,IAAA,EAAM,EAAA,EAAI,GAAA,EAAK,OAAO,SAAA,EAAW,kBAAA,EAAoB,UAAU,EAAA,EAAI,KAAA,EAAO,6BAA4B,EAAG,CAAA;AAAA,sBACtK,GAAA,CAAC,OAAA,EAAA,EAAM,WAAA,EAAY,QAAA,EAAS,KAAA,EAAO,EAAE,KAAA,EAAO,MAAA,EAAQ,SAAA,EAAW,YAAA,EAAc,MAAA,EAAQ,EAAA,EAAI,OAAA,EAAS,eAAA,EAAiB,YAAA,EAAc,uBAAA,EAAyB,MAAA,EAAQ,MAAA,EAAQ,UAAA,EAAY,wBAAA,EAA0B,SAAA,EAAW,6CAAA,EAA+C,IAAA,EAAM,+BAAA,EAAiC,KAAA,EAAO,6BAAA,EAA+B,OAAA,EAAS,MAAA,EAAO,EAAG;AAAA,KAAA,EAC5W,CAAA;AAAA,oBACA,GAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,MAAM,iCAAA,EAAmC,aAAA,EAAe,qCAAA,EAAuC,aAAA,EAAe,aAAa,KAAA,EAAO,2BAAA,EAA6B,OAAA,EAAS,YAAA,IAAgB,QAAA,EAAA,MAAA,EAAI,CAAA;AAAA,oBAC1M,GAAA,CAAC,SAAI,KAAA,EAAO,EAAE,SAAS,MAAA,EAAQ,aAAA,EAAe,UAAU,GAAA,EAAK,CAAA,IAAM,QAAA,EAAA,IAAA,CAAK,GAAA,CAAI,CAAC,EAAA,qBAAO,GAAA,CAAC,QAAiB,EAAA,EAAA,EAAP,EAAA,CAAG,EAAY,CAAE,CAAA,EAAE,CAAA;AAAA,oBAClH,GAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,MAAM,iCAAA,EAAmC,aAAA,EAAe,qCAAA,EAAuC,aAAA,EAAe,aAAa,KAAA,EAAO,2BAAA,EAA6B,OAAA,EAAS,eAAA,IAAmB,QAAA,EAAA,OAAA,EAAK,CAAA;AAAA,oBAC9M,GAAA,CAAC,SAAI,KAAA,EAAO,EAAE,SAAS,MAAA,EAAQ,aAAA,EAAe,UAAU,GAAA,EAAK,CAAA,IAAM,QAAA,EAAA,KAAA,CAAM,GAAA,CAAI,CAAC,EAAA,qBAAO,GAAA,CAAC,QAAiB,EAAA,EAAA,EAAP,EAAA,CAAG,EAAY,CAAE,CAAA,EAAE,CAAA;AAAA,wBAClH,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,IAAA,EAAM,GAAE,EAAG,CAAA;AAAA,yBACxB,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,YAAY,QAAA,EAAU,GAAA,EAAK,EAAA,EAAI,OAAA,EAAS,GAAG,YAAA,EAAc,uBAAA,EAAyB,WAAW,6CAAA,EAA+C,UAAA,EAAY,0BAAyB,EAC9M,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,KAAA,EAAO,EAAA,EAAI,QAAQ,EAAA,EAAI,YAAA,EAAc,yBAAA,EAA2B,UAAA,EAAY,mCAAA,EAAqC,KAAA,EAAO,kCAAkC,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,cAAA,EAAgB,QAAA,EAAU,IAAA,EAAM,2BAAA,EAA6B,UAAA,EAAY,CAAA,EAAE,EAAI,QAAA,EAAA,IAAA,CAAK,QAAA,EAAS,CAAA;AAAA,sBAC7S,IAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,IAAA,EAAM,GAAG,QAAA,EAAU,CAAA,EAAG,UAAA,EAAY,GAAA,EAAI,EAClD,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,IAAA,EAAM,6BAA6B,KAAA,EAAO,6BAAA,EAA+B,UAAA,EAAY,QAAA,EAAU,UAAU,QAAA,EAAU,YAAA,EAAc,UAAA,EAAW,EAAI,eAAK,IAAA,EAAK,CAAA;AAAA,4BACvK,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,IAAA,EAAM,iCAAiC,KAAA,EAAO,2BAAA,EAA6B,UAAA,EAAY,QAAA,EAAU,UAAU,QAAA,EAAU,YAAA,EAAc,UAAA,EAAW,EAAI,eAAK,KAAA,EAAM;AAAA,OAAA,EAC7K,CAAA;AAAA,sBACA,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,wBAAA,EAAyB,KAAA,EAAO,EAAE,QAAA,EAAU,EAAA,EAAI,KAAA,EAAO,2BAAA,EAA4B,EAAG;AAAA,KAAA,EACrG;AAAA,GAAA,EACF,CAAA;AAEJ;ACxEO,SAAS,MAAA,CAAO,EAAE,KAAA,EAAO,QAAA,EAAS,EAAgB;AACvD,EAAA,uBACEA,IAAAA,CAAC,QAAA,EAAA,EAAO,KAAA,EAAO,EAAE,SAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,IAAI,OAAA,EAAS,WAAA,EAAa,cAAc,uCAAA,EAAyC,UAAA,EAAY,0BAAyB,EACjL,QAAA,EAAA;AAAA,oBAAAA,KAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,IAAA,EAAM,GAAE,EACpB,QAAA,EAAA;AAAA,sBAAAA,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,QAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,CAAA,EAAE,EAC1D,QAAA,EAAA;AAAA,wBAAAC,GAAAA,CAAC,IAAA,EAAA,EAAG,KAAA,EAAO,EAAE,MAAA,EAAQ,CAAA,EAAG,IAAA,EAAM,2BAAA,EAA6B,KAAA,EAAO,6BAAA,EAA8B,EAAI,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,wBAC1GA,GAAAA,CAAC,KAAA,EAAA,EAAM,OAAM,MAAA,EAAO,IAAA,EAAK,SAAQ,QAAA,EAAA,MAAA,EAAI;AAAA,OAAA,EACvC,CAAA;AAAA,sBACAA,GAAAA,CAAC,GAAA,EAAA,EAAE,KAAA,EAAO,EAAE,MAAA,EAAQ,SAAA,EAAW,IAAA,EAAM,+BAAA,EAAiC,KAAA,EAAO,0BAAA,EAA2B,EAAI,QAAA,EAAA,QAAA,EAAS;AAAA,KAAA,EACvH,CAAA;AAAA,oBACAA,GAAAA,CAAC,MAAA,EAAA,EAAO,QAAA,EAAQ,MAAC,OAAA,EAAQ,SAAA,EAAU,UAAA,EAAW,QAAA,EAAS,sBAAMA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,0BAAyB,CAAA,EAAI,CAAA;AAAA,oBACvGA,GAAAA,CAAC,MAAA,EAAA,EAAO,QAAA,EAAQ,MAAC,OAAA,EAAQ,SAAA,EAAU,UAAA,EAAW,QAAA,EAAS,sBAAMA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,oBAAmB,CAAA,EAAI,CAAA;AAAA,oBACjGA,GAAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,SAAA,EAAU,WAAA,kBAAaA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,aAAA,EAAc,CAAA,EAAI,QAAA,EAAA,cAAA,EAAY;AAAA,GAAA,EACpF,CAAA;AAEJ;ACGO,SAAS,cAAA,GAAiB;AAC/B,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAS,OAAO,CAAA;AAC1C,EAAA,MAAM,CAAC,GAAA,EAAK,MAAM,CAAA,GAAI,SAAS,KAAK,CAAA;AAEpC,EAAA,MAAM,KAAA,GAAgB;AAAA,IACpB,EAAE,KAAA,EAAO,eAAA,EAAiB,KAAA,EAAO,YAAA,EAAc,KAAA,EAAO,QAAA,EAAU,EAAA,EAAI,IAAA,EAAM,IAAA,EAAM,kBAAA,EAAoB,IAAA,EAAM,SAAA,EAAU;AAAA,IACpH,EAAE,KAAA,EAAO,QAAA,EAAU,KAAA,EAAO,YAAA,EAAc,KAAA,EAAO,OAAA,EAAS,EAAA,EAAI,IAAA,EAAM,IAAA,EAAM,oBAAA,EAAsB,IAAA,EAAM,SAAA,EAAU;AAAA,IAC9G,EAAE,KAAA,EAAO,UAAA,EAAY,KAAA,EAAO,YAAA,EAAc,KAAA,EAAO,OAAA,EAAS,EAAA,EAAI,KAAA,EAAO,IAAA,EAAM,kBAAA,EAAoB,IAAA,EAAM,SAAA,EAAU;AAAA,IAC/G,EAAE,KAAA,EAAO,SAAA,EAAW,KAAA,EAAO,YAAA,EAAc,KAAA,EAAO,OAAA,EAAS,EAAA,EAAI,IAAA,EAAM,IAAA,EAAM,gBAAA,EAAkB,IAAA,EAAM,aAAA;AAAc,GACjH;AACA,EAAA,MAAM,EAAA,GAAoB;AAAA,IACxB,EAAE,IAAA,EAAM,OAAA,EAAS,KAAK,cAAA,EAAgB,GAAA,EAAK,WAAW,IAAA,EAAM,cAAA,EAAgB,MAAA,EAAQ,WAAA,EAAa,OAAO,OAAA,EAAS,IAAA,EAAM,0BAA0B,EAAA,EAAI,mCAAA,EAAqC,IAAI,gCAAA,EAAiC;AAAA,IAC/N,EAAE,IAAA,EAAM,eAAA,EAAiB,KAAK,QAAA,EAAU,GAAA,EAAK,cAAc,IAAA,EAAM,cAAA,EAAgB,MAAA,EAAQ,WAAA,EAAa,OAAO,OAAA,EAAS,IAAA,EAAM,gBAAgB,EAAA,EAAI,mCAAA,EAAqC,IAAI,gCAAA,EAAiC;AAAA,IAC1N,EAAE,IAAA,EAAM,KAAA,EAAO,KAAK,gBAAA,EAAkB,GAAA,EAAK,YAAY,IAAA,EAAM,WAAA,EAAa,MAAA,EAAQ,SAAA,EAAW,OAAO,QAAA,EAAU,IAAA,EAAM,iBAAiB,EAAA,EAAI,mCAAA,EAAqC,IAAI,gCAAA,EAAiC;AAAA,IACnN,EAAE,IAAA,EAAM,QAAA,EAAU,KAAK,cAAA,EAAgB,GAAA,EAAK,WAAW,IAAA,EAAM,QAAA,EAAU,MAAA,EAAQ,WAAA,EAAa,OAAO,OAAA,EAAS,IAAA,EAAM,iBAAiB,EAAA,EAAI,uCAAA,EAAyC,IAAI,oCAAA,EAAqC;AAAA,IACzN,EAAE,IAAA,EAAM,oBAAA,EAAmB,KAAK,QAAA,EAAU,GAAA,EAAK,YAAY,IAAA,EAAM,QAAA,EAAU,MAAA,EAAQ,QAAA,EAAU,OAAO,KAAA,EAAO,IAAA,EAAM,qBAAqB,EAAA,EAAI,wBAAA,EAA0B,IAAI,0BAAA;AAA2B,GACrM;AACA,EAAA,MAAM,MAAA,GAA2D;AAAA,IAC/D,CAAC,SAAA,EAAW,EAAA,EAAI,SAAS,CAAA;AAAA,IACzB,CAAC,MAAA,EAAQ,EAAA,EAAI,SAAS,CAAA;AAAA,IACtB,CAAC,WAAA,EAAa,EAAA,EAAI,SAAS;AAAA,GAC7B;AAEA,EAAA,uBACED,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,EAAA,EAAI,OAAA,EAAS,MAAA,EAAQ,aAAA,EAAe,QAAA,EAAU,GAAA,EAAK,IAAG,EAC3E,QAAA,EAAA;AAAA,oBAAAA,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,QAAQ,UAAA,EAAY,QAAA,EAAU,cAAA,EAAgB,eAAA,EAAgB,EACnF,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAAC,gBAAA,EAAA,EAAiB,KAAA,EAAO,KAAA,EAAO,QAAA,EAAU,QAAA,EAAU,KAAA,EAAO,CAAC,EAAE,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,MAAA,IAAU,EAAE,KAAA,EAAO,OAAA,EAAS,KAAA,EAAO,OAAA,EAAQ,EAAG,EAAE,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,MAAA,EAAQ,CAAA,EAAG,CAAA;AAAA,sBACrKA,GAAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,SAAA,EAAU,YAAW,QAAA,EAAS,IAAA,EAAK,OAAA,EAAQ,WAAA,kBAAaA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,oBAAA,EAAqB,GAAI,QAAA,EAAA,QAAA,EAAM;AAAA,KAAA,EACtH,CAAA;AAAA,oBAEAA,IAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,mBAAA,EAAqB,gBAAA,EAAkB,GAAA,EAAK,EAAA,IACxE,QAAA,EAAA,KAAA,CAAM,GAAA,CAAI,CAAC,CAAA,qBACVD,KAAC,IAAA,EAAA,EAAmB,OAAA,EAAQ,QAAA,EAAS,OAAA,EAAS,EAAA,EAC5C,QAAA,EAAA;AAAA,sBAAAA,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,QAAQ,cAAA,EAAgB,eAAA,EAAiB,UAAA,EAAY,YAAA,EAAa,EACvF,QAAA,EAAA;AAAA,wBAAAC,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAO,EAAA,EAAI,MAAA,EAAQ,EAAA,EAAI,YAAA,EAAc,yBAAyB,UAAA,EAAY,CAAA,iBAAA,EAAoB,CAAA,CAAE,IAAI,aAAa,KAAA,EAAO,CAAA,iBAAA,EAAoB,CAAA,CAAE,IAAI,UAAU,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,gBAAgB,QAAA,EAAU,QAAA,EAAU,EAAA,EAAG,EAAG,0BAAAA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAW,CAAA,CAAE,MAAM,CAAA,EAAE,CAAA;AAAA,wBACnRA,IAAC,KAAA,EAAA,EAAM,KAAA,EAAO,EAAE,EAAA,GAAK,OAAA,GAAU,KAAA,EAAO,OAAA,EAAQ,OAAA,EAAQ,IAAA,EAAK,SAAQ,WAAA,kBAAaA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAW,CAAA,CAAE,KAAK,kBAAA,GAAqB,oBAAA,EAAsB,CAAA,EAAK,QAAA,EAAA,CAAA,CAAE,KAAA,EAAM;AAAA,OAAA,EAC/J,CAAA;AAAA,sBACAA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,SAAA,EAAW,EAAA,EAAI,IAAA,EAAM,+BAAA,EAAiC,KAAA,EAAO,0BAAA,EAA2B,EAAI,YAAE,KAAA,EAAM,CAAA;AAAA,sBAClHA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,SAAA,EAAW,CAAA,EAAG,IAAA,EAAM,2BAAA,EAA6B,KAAA,EAAO,6BAAA,EAA8B,EAAI,YAAE,KAAA,EAAM;AAAA,KAAA,EAAA,EANvG,CAAA,CAAE,KAOb,CACD,CAAA,EACH,CAAA;AAAA,oBAEAD,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,mBAAA,EAAqB,WAAA,EAAa,GAAA,EAAK,EAAA,EAAI,UAAA,EAAY,SAAQ,EAC5F,QAAA,EAAA;AAAA,sBAAAA,IAAAA,CAAC,IAAA,EAAA,EAAK,OAAA,EAAQ,QAAA,EAAS,SAAS,CAAA,EAC9B,QAAA,EAAA;AAAA,wBAAAA,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,SAAS,WAAA,EAAa,YAAA,EAAc,uCAAA,EAAyC,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,cAAA,EAAgB,iBAAgB,EAChK,QAAA,EAAA;AAAA,0BAAAC,GAAAA,CAAC,SAAI,KAAA,EAAO,EAAE,MAAM,2BAAA,EAA6B,KAAA,EAAO,6BAAA,EAA8B,EAAG,QAAA,EAAA,qBAAA,EAAmB,CAAA;AAAA,0BAC5GA,GAAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,SAAA,EAAU,YAAW,OAAA,EAAQ,IAAA,EAAK,QAAA,EAAS,YAAA,kBAAcA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,uBAAA,EAAwB,GAAI,QAAA,EAAA,UAAA,EAAQ;AAAA,SAAA,EAC5H,CAAA;AAAA,wBACAA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,SAAS,UAAA,EAAW,EAChC,QAAA,kBAAAA,GAAAA,CAAC,QAAK,KAAA,EAAO,GAAA,EAAK,QAAA,EAAU,MAAA,EAAQ,OAAO,CAAC,EAAE,KAAA,EAAO,KAAA,EAAO,OAAO,KAAA,EAAM,EAAG,EAAE,KAAA,EAAO,UAAU,KAAA,EAAO,QAAA,EAAS,EAAG,EAAE,OAAO,SAAA,EAAW,KAAA,EAAO,UAAA,EAAY,GAAG,CAAA,EAC9J,CAAA;AAAA,wBACAA,GAAAA,CAAC,KAAA,EAAA,EACE,QAAA,EAAA,EAAA,CAAG,GAAA,CAAI,CAAC,CAAA,EAAG,CAAA,qBACVD,IAAAA,CAAC,KAAA,EAAA,EAAY,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,EAAA,EAAI,OAAA,EAAS,WAAA,EAAa,SAAA,EAAW,CAAA,GAAI,uCAAA,GAA0C,MAAA,EAAO,EAC1J,QAAA,EAAA;AAAA,0BAAAC,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAO,EAAA,EAAI,MAAA,EAAQ,EAAA,EAAI,YAAA,EAAc,uBAAA,EAAyB,UAAA,EAAY,CAAA,CAAE,EAAA,EAAI,OAAO,CAAA,CAAE,EAAA,EAAI,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,cAAA,EAAgB,QAAA,EAAU,UAAU,EAAA,EAAI,UAAA,EAAY,CAAA,EAAE,EAAG,0BAAAA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAW,CAAA,CAAE,MAAM,CAAA,EAAE,CAAA;AAAA,0BACnOD,KAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,IAAA,EAAM,CAAA,EAAG,QAAA,EAAU,CAAA,EAAE,EACjC,QAAA,EAAA;AAAA,4BAAAC,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,IAAA,EAAM,6BAA6B,KAAA,EAAO,6BAAA,EAA8B,EAAI,QAAA,EAAA,CAAA,CAAE,IAAA,EAAK,CAAA;AAAA,4BACjGD,KAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,IAAA,EAAM,+BAAA,EAAiC,KAAA,EAAO,2BAAA,EAA4B,EAAI,QAAA,EAAA;AAAA,cAAA,CAAA,CAAE,GAAA;AAAA,cAAI,QAAA;AAAA,cAAI,CAAA,CAAE;AAAA,aAAA,EAAK;AAAA,WAAA,EAC/G,CAAA;AAAA,0BACAC,GAAAA,CAAC,KAAA,EAAA,EAAM,KAAA,EAAO,CAAA,CAAE,KAAA,EAAO,OAAA,EAAQ,OAAA,EAAQ,IAAA,EAAK,OAAA,EAAS,QAAA,EAAA,CAAA,CAAE,MAAA,EAAO,CAAA;AAAA,0BAC9DA,IAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,KAAA,EAAO,EAAA,EAAI,WAAW,OAAA,EAAS,IAAA,EAAM,6BAA6B,KAAA,EAAO,CAAA,CAAE,IAAI,CAAC,CAAA,KAAM,MAAM,gCAAA,GAAmC,6BAAA,EAA8B,EAAI,QAAA,EAAA,CAAA,CAAE,GAAA,EAAI;AAAA,SAAA,EAAA,EAP7K,CAQV,CACD,CAAA,EACH;AAAA,OAAA,EACF,CAAA;AAAA,sBAEAD,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,aAAA,EAAe,QAAA,EAAU,GAAA,EAAK,EAAA,EAAG,EAC9D,QAAA,EAAA;AAAA,wBAAAA,IAAAA,CAAC,IAAA,EAAA,EAAK,OAAA,EAAQ,QAAA,EAAS,OAAA,EAAS,IAAI,KAAA,EAAO,EAAE,UAAA,EAAY,2BAAA,EAA4B,EACnF,QAAA,EAAA;AAAA,0BAAAA,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,QAAQ,cAAA,EAAgB,eAAA,EAAiB,KAAA,EAAO,iCAAA,EAAkC,EACvG,QAAA,EAAA;AAAA,4BAAAC,GAAAA,CAAC,UAAK,KAAA,EAAO,EAAE,MAAM,+BAAA,EAAiC,OAAA,EAAS,GAAA,EAAG,EAAG,QAAA,EAAA,cAAA,EAAY,CAAA;AAAA,4BACjFA,IAAC,GAAA,EAAA,EAAE,SAAA,EAAU,gBAAe,KAAA,EAAO,EAAE,QAAA,EAAU,EAAA,EAAG,EAAG;AAAA,WAAA,EACvD,CAAA;AAAA,0BACAA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,SAAA,EAAW,EAAA,EAAI,IAAA,EAAM,2BAAA,EAA6B,aAAA,EAAe,QAAA,EAAU,KAAA,EAAO,iCAAA,IAAqC,QAAA,EAAA,kFAAA,EAAoD,CAAA;AAAA,0BACzLD,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,WAAW,EAAA,EAAI,OAAA,EAAS,MAAA,EAAQ,cAAA,EAAgB,iBAAiB,KAAA,EAAO,iCAAA,EAAmC,SAAS,GAAA,EAAI,IAAA,EAAM,iCAAgC,EAC1K,QAAA,EAAA;AAAA,4BAAAC,GAAAA,CAAC,UAAK,QAAA,EAAA,eAAA,EAAa,CAAA;AAAA,4BAAOA,GAAAA,CAAC,MAAA,EAAA,EAAK,QAAA,EAAA,SAAA,EAAO;AAAA,WAAA,EACzC;AAAA,SAAA,EACF,CAAA;AAAA,wBACAD,IAAAA,CAAC,IAAA,EAAA,EAAK,OAAA,EAAQ,QAAA,EAAS,SAAS,EAAA,EAC9B,QAAA,EAAA;AAAA,0BAAAA,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,QAAQ,UAAA,EAAY,QAAA,EAAU,cAAA,EAAgB,eAAA,EAAgB,EACnF,QAAA,EAAA;AAAA,4BAAAC,GAAAA,CAAC,UAAK,KAAA,EAAO,EAAE,MAAM,2BAAA,EAA6B,KAAA,EAAO,6BAAA,EAA8B,EAAG,QAAA,EAAA,gBAAA,EAAc,CAAA;AAAA,4BACxGA,GAAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,MAAM,+BAAA,EAAiC,KAAA,EAAO,0BAAA,EAA2B,EAAG,QAAA,EAAA,mBAAA,EAAiB;AAAA,WAAA,EAC9G,CAAA;AAAA,0BACAA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,SAAA,EAAW,EAAA,EAAG,EAAG,QAAA,kBAAAA,GAAAA,CAAC,WAAA,EAAA,EAAY,KAAA,EAAO,IAAI,CAAA,EAAE,CAAA;AAAA,0BACzDA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,SAAA,EAAW,EAAA,EAAI,OAAA,EAAS,MAAA,EAAQ,aAAA,EAAe,QAAA,EAAU,GAAA,EAAK,EAAA,IACzE,QAAA,EAAA,MAAA,CAAO,GAAA,CAAI,CAAC,CAAC,CAAA,EAAG,CAAA,EAAG,CAAC,CAAA,qBACnBD,IAAAA,CAAC,KAAA,EAAA,EAAY,KAAA,EAAO,EAAE,SAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,IAAG,EACnE,QAAA,EAAA;AAAA,4BAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,OAAO,CAAA,EAAG,MAAA,EAAQ,CAAA,EAAG,YAAA,EAAc,yBAAA,EAA2B,UAAA,EAAY,CAAA,iBAAA,EAAoB,CAAC,UAAS,EAAG,CAAA;AAAA,4BAC1HA,GAAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,IAAA,EAAM,CAAA,EAAG,IAAA,EAAM,+BAAA,EAAiC,KAAA,EAAO,0BAAA,EAA2B,EAAI,QAAA,EAAA,CAAA,EAAE,CAAA;AAAA,4BACvGD,KAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,IAAA,EAAM,2BAAA,EAA6B,KAAA,EAAO,6BAAA,EAA8B,EAAI,QAAA,EAAA;AAAA,cAAA,CAAA;AAAA,cAAE;AAAA,aAAA,EAAC;AAAA,WAAA,EAAA,EAHtF,CAIV,CACD,CAAA,EACH;AAAA,SAAA,EACF;AAAA,OAAA,EACF;AAAA,KAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;AChHO,SAAS,cAAA,GAAiB;AAC/B,EAAA,MAAM,CAAC,CAAA,EAAG,IAAI,CAAA,GAAIE,SAAS,IAAI,CAAA;AAC/B,EAAA,MAAM,CAAC,CAAA,EAAG,IAAI,CAAA,GAAIA,SAAS,KAAK,CAAA;AAChC,EAAA,MAAM,KAAA,GAAQ,CAAC,EAAE,KAAA,EAAO,UAAU,IAAA,EAAM,QAAA,EAAS,qBAC/CF,IAAAA,CAAC,KAAA,EAAA,EAAI,OAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,mBAAA,EAAqB,WAAA,EAAa,GAAA,EAAK,IAAI,OAAA,EAAS,QAAA,EAAU,SAAA,EAAW,uCAAA,EAAwC,EAC9I,QAAA,EAAA;AAAA,oBAAAA,KAAC,KAAA,EAAA,EACC,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAAC,KAAA,EAAA,EAAM,QAAA,EAAqB,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,MACjC,IAAA,mBAAOA,GAAAA,CAAC,KAAA,EAAA,EAAI,OAAO,EAAE,SAAA,EAAW,CAAA,EAAG,IAAA,EAAM,+BAAA,EAAiC,KAAA,EAAO,2BAAA,EAA4B,EAAI,gBAAK,CAAA,GAAS;AAAA,KAAA,EAClI,CAAA;AAAA,oBACAA,IAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,QAAA,EAAU,GAAA,IAAQ,QAAA,EAAS;AAAA,GAAA,EAC3C,CAAA;AAEF,EAAA,uBACEA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,SAAS,EAAA,EAAI,QAAA,EAAU,GAAA,EAAI,EACvC,0BAAAD,IAAAA,CAAC,IAAA,EAAA,EAAK,OAAA,EAAQ,QAAA,EAAS,SAAS,EAAA,EAC9B,QAAA,EAAA;AAAA,oBAAAA,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,QAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,EAAA,EAAG,EAC3D,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAAC,UAAK,KAAA,EAAO,EAAE,OAAO,EAAA,EAAI,MAAA,EAAQ,EAAA,EAAI,YAAA,EAAc,yBAAA,EAA2B,UAAA,EAAY,qCAAqC,KAAA,EAAO,gCAAA,EAAkC,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,gBAAgB,QAAA,EAAU,IAAA,EAAM,2BAAA,EAA4B,EAAG,QAAA,EAAA,IAAA,EAAE,CAAA;AAAA,sBACjRD,IAAAA,CAAC,KAAA,EAAA,EAAI,OAAO,EAAE,IAAA,EAAM,GAAE,EACpB,QAAA,EAAA;AAAA,wBAAAA,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,QAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,CAAA,EAAE,EAC1D,QAAA,EAAA;AAAA,0BAAAC,GAAAA,CAAC,UAAK,KAAA,EAAO,EAAE,MAAM,2BAAA,EAA6B,KAAA,EAAO,6BAAA,EAA8B,EAAG,QAAA,EAAA,eAAA,EAAa,CAAA;AAAA,0BACvGA,GAAAA,CAAC,KAAA,EAAA,EAAM,KAAA,EAAM,OAAA,EAAQ,OAAA,EAAQ,OAAA,EAAQ,IAAA,EAAK,OAAA,EAAQ,GAAA,EAAG,IAAA,EAAC,QAAA,EAAA,UAAA,EAAQ;AAAA,SAAA,EAChE,CAAA;AAAA,wBACAA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,MAAM,+BAAA,EAAiC,KAAA,EAAO,0BAAA,EAA2B,EAAG,QAAA,EAAA,oBAAA,EAAkB;AAAA,OAAA,EAC9G,CAAA;AAAA,sBACAA,GAAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,SAAA,EAAU,YAAW,QAAA,EAAS,IAAA,EAAK,OAAA,EAAQ,WAAA,kBAAaA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,kBAAA,EAAmB,GAAI,QAAA,EAAA,cAAA,EAAY;AAAA,KAAA,EAC1H,CAAA;AAAA,oBAEAD,IAAAA,CAAC,KAAA,EAAA,EAAI,OAAO,EAAE,SAAA,EAAW,GAAE,EACzB,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAAC,KAAA,EAAA,EAAM,KAAA,EAAM,WAAA,EAAY,QAAA,EAAQ,IAAA,EAC/B,QAAA,kBAAAA,GAAAA,CAAC,KAAA,EAAA,EAAM,YAAA,EAAa,eAAA,EAAgB,CAAA,EACtC,CAAA;AAAA,sBACAA,IAAC,KAAA,EAAA,EAAM,KAAA,EAAM,iBAAgB,QAAA,EAAQ,IAAA,EAAC,IAAA,EAAK,gCAAA,EACzC,QAAA,kBAAAA,GAAAA,CAAC,SAAM,IAAA,EAAK,OAAA,EAAQ,YAAA,EAAa,oBAAA,EAAqB,WAAA,kBAAaA,IAAC,GAAA,EAAA,EAAE,SAAA,EAAU,cAAA,EAAe,CAAA,EAAI,CAAA,EACrG,CAAA;AAAA,sBACAA,IAAC,KAAA,EAAA,EAAM,KAAA,EAAM,QACX,QAAA,kBAAAD,IAAAA,CAAC,MAAA,EAAA,EAAO,YAAA,EAAa,SAAA,EAAU,QAAA,EAAA;AAAA,wBAAAC,GAAAA,CAAC,QAAA,EAAA,EAAO,KAAA,EAAM,SAAA,EAAU,QAAA,EAAA,cAAA,EAAY,CAAA;AAAA,wBAASA,GAAAA,CAAC,QAAA,EAAA,EAAO,KAAA,EAAM,SAAQ,QAAA,EAAA,eAAA,EAAa,CAAA;AAAA,wBAASA,GAAAA,CAAC,QAAA,EAAA,EAAO,KAAA,EAAM,UAAS,QAAA,EAAA,QAAA,EAAM;AAAA,OAAA,EAAS,CAAA,EAChK,CAAA;AAAA,sBACAA,GAAAA,CAAC,KAAA,EAAA,EAAM,OAAM,eAAA,EAAgB,IAAA,EAAK,qBAChC,QAAA,kBAAAD,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,eAAe,QAAA,EAAU,GAAA,EAAK,IAAG,EAC9D,QAAA,EAAA;AAAA,wBAAAA,IAAAA,CAAC,OAAA,EAAA,EAAM,KAAA,EAAO,EAAE,SAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,EAAA,EAAI,IAAA,EAAM,2BAAA,EAA6B,KAAA,EAAO,+BAA8B,EACtI,QAAA,EAAA;AAAA,0BAAAC,GAAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAS,CAAA,EAAG,UAAU,IAAA,EAAM,CAAA;AAAA,UAAE;AAAA,SAAA,EACxC,CAAA;AAAA,wBACAD,IAAAA,CAAC,OAAA,EAAA,EAAM,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,KAAK,EAAA,EAAI,IAAA,EAAM,2BAAA,EAA6B,KAAA,EAAO,+BAA8B,EACtI,QAAA,EAAA;AAAA,0BAAAC,GAAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAS,CAAA,EAAG,UAAU,IAAA,EAAM,CAAA;AAAA,UAAE;AAAA,SAAA,EACxC;AAAA,OAAA,EACF,CAAA,EACF;AAAA,KAAA,EACF,CAAA;AAAA,oBAEAA,GAAAA,CAAC,OAAA,EAAA,EAAQ,OAAO,EAAE,MAAA,EAAQ,cAAa,EAAG,CAAA;AAAA,oBAC1CD,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,cAAA,EAAgB,UAAA,EAAY,GAAA,EAAK,EAAA,EAAG,EACjE,QAAA,EAAA;AAAA,sBAAAC,IAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,SAAA,EAAU,UAAA,EAAW,UAAS,QAAA,EAAA,QAAA,EAAM,CAAA;AAAA,sBACpDA,GAAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,WAAU,QAAA,EAAA,cAAA,EAAY;AAAA,KAAA,EACxC;AAAA,GAAA,EACF,CAAA,EACF,CAAA;AAEJ;AC/CA,IAAM,KAAA,GAA8B;AAAA,EAClC,QAAA,EAAU,EAAE,KAAA,EAAO,UAAA,EAAY,QAAA,EAAU,qCAAA,EAAuC,MAAA,EAAQ,sBAAMA,GAAAA,CAAC,cAAA,EAAA,EAAe,CAAA,EAAG;AAAA,EACjH,QAAA,EAAU,EAAE,KAAA,EAAO,UAAA,EAAY,QAAA,EAAU,sCAAA,EAAwC,MAAA,EAAQ,sBAAMA,GAAAA,CAAC,cAAA,EAAA,EAAe,CAAA;AACjH,CAAA;AAEO,SAAS,iBAAA,GAAoB;AAClC,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAIC,SAAS,UAAU,CAAA;AAC/C,EAAA,MAAM,IAAA,GAAa,KAAA,CAAM,MAAM,CAAA,IAAK;AAAA,IAClC,KAAA,EAAO,OAAO,CAAC,CAAA,CAAE,aAAY,GAAI,MAAA,CAAO,MAAM,CAAC,CAAA;AAAA,IAC/C,QAAA,EAAU,2BAAA;AAAA,IACV,MAAA,EAAQ,sBACNF,IAAAA,CAAC,SAAI,KAAA,EAAO,EAAE,OAAA,EAAS,EAAA,EAAI,WAAW,QAAA,EAAU,KAAA,EAAO,2BAAA,EAA6B,IAAA,EAAM,iCAAgC,EACxH,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,eAAA,EAAgB,KAAA,EAAO,EAAE,QAAA,EAAU,EAAA,EAAI,OAAA,EAAS,OAAA,EAAS,YAAA,EAAc,EAAA,EAAG,EAAG,CAAA;AAAA,MAAE;AAAA,KAAA,EAE9F;AAAA,GAEJ;AACA,EAAA,MAAM,OAAoB,EAAE,IAAA,EAAM,iBAAiB,KAAA,EAAO,oBAAA,EAAsB,UAAU,IAAA,EAAK;AAC/F,EAAA,uBACED,KAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,MAAA,EAAQ,MAAA,EAAO,EAC5C,QAAA,EAAA;AAAA,oBAAAC,GAAAA,CAAC,OAAA,EAAA,EAAQ,MAAA,EAAgB,UAAA,EAAY,WAAW,IAAA,EAAY,CAAA;AAAA,oBAC5DD,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,IAAA,EAAM,CAAA,EAAG,QAAA,EAAU,CAAA,EAAG,SAAS,MAAA,EAAQ,aAAA,EAAe,QAAA,EAAU,QAAA,EAAU,UAAS,EAC/F,QAAA,EAAA;AAAA,sBAAAC,IAAC,MAAA,EAAA,EAAO,KAAA,EAAO,KAAK,KAAA,EAAO,QAAA,EAAU,KAAK,QAAA,EAAU,CAAA;AAAA,sBACpDA,GAAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,IAAA,EAAM,CAAA,EAAG,QAAA,EAAU,MAAA,EAAQ,UAAA,EAAY,wBAAA,EAAyB,EAAI,QAAA,EAAA,IAAA,CAAK,QAAO,EAAE;AAAA,KAAA,EACnG;AAAA,GAAA,EACF,CAAA;AAEJ;AC5BO,SAAS,UAAU,EAAE,aAAA,EAAe,UAAU,QAAA,EAAU,KAAA,EAAO,MAAK,EAAmB;AAC5F,EAAA,MAAM,MAAA,GAAS;AAAA,IACb,EAAE,KAAA,EAAO,OAAA,EAAS,KAAA,EAAO,aAAA,CAAc,MAAA,CAAO,CAAC,CAAA,KAAM,CAAA,CAAE,KAAA,KAAU,OAAO,CAAA,EAAE;AAAA,IAC1E,EAAE,KAAA,EAAO,iBAAA,EAAmB,KAAA,EAAO,aAAA,CAAc,MAAA,CAAO,CAAC,CAAA,KAAM,CAAA,CAAE,KAAA,KAAU,MAAM,CAAA;AAAE,GACrF;AACA,EAAA,uBACED,KAAC,OAAA,EAAA,EAAM,KAAA,EAAO,EAAE,KAAA,EAAO,GAAA,EAAK,UAAA,EAAY,CAAA,EAAG,MAAA,EAAQ,MAAA,EAAQ,WAAW,YAAA,EAAc,OAAA,EAAS,MAAA,EAAQ,aAAA,EAAe,QAAA,EAAU,OAAA,EAAS,IAAI,UAAA,EAAY,wBAAA,EAA0B,WAAA,EAAa,uCAAA,EAAwC,EACpO,QAAA,EAAA;AAAA,oBAAAA,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,EAAA,EAAI,OAAA,EAAS,cAAA,EAAe,EACpF,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,KAAA,EAAO,EAAA,EAAI,MAAA,EAAQ,EAAA,EAAI,YAAA,EAAc,uBAAA,EAAyB,UAAA,EAAY,2BAAA,EAA6B,OAAO,0BAAA,EAA4B,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,cAAA,EAAgB,QAAA,EAAS,EACtN,0BAAAA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,qBAAA,EAAsB,KAAA,EAAO,EAAE,QAAA,EAAU,EAAA,IAAM,CAAA,EAC9D,CAAA;AAAA,sBACAA,GAAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,MAAM,2BAAA,EAA6B,KAAA,EAAO,6BAAA,EAA8B,EAAG,QAAA,EAAA,SAAA,EAAO;AAAA,KAAA,EACnG,CAAA;AAAA,oBAEAD,IAAAA,CAAC,QAAA,EAAA,EAAO,OAAA,EAAS,OAAO,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,CAAA,EAAG,OAAO,MAAA,EAAQ,MAAA,EAAQ,EAAA,EAAI,OAAA,EAAS,QAAA,EAAU,YAAA,EAAc,EAAA,EAAI,MAAA,EAAQ,QAAQ,YAAA,EAAc,uBAAA,EAAyB,MAAA,EAAQ,SAAA,EAAW,YAAY,0BAAA,EAA4B,KAAA,EAAO,iCAAA,EAAmC,IAAA,EAAM,6BAA4B,EAC5U,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAAC,OAAE,SAAA,EAAU,aAAA,EAAc,OAAO,EAAE,QAAA,EAAU,IAAG,EAAG,CAAA;AAAA,MAAE;AAAA,KAAA,EACxD,CAAA;AAAA,oBAEAD,KAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,QAAA,EAAU,UAAA,EAAY,YAAA,EAAc,EAAA,EAAG,EACnD,QAAA,EAAA;AAAA,sBAAAC,IAAC,GAAA,EAAA,EAAE,SAAA,EAAU,kBAAiB,KAAA,EAAO,EAAE,UAAU,UAAA,EAAY,IAAA,EAAM,EAAA,EAAI,GAAA,EAAK,OAAO,SAAA,EAAW,kBAAA,EAAoB,UAAU,EAAA,EAAI,KAAA,EAAO,6BAA4B,EAAG,CAAA;AAAA,sBACtKA,GAAAA,CAAC,OAAA,EAAA,EAAM,WAAA,EAAY,cAAA,EAAe,KAAA,EAAO,EAAE,KAAA,EAAO,MAAA,EAAQ,SAAA,EAAW,YAAA,EAAc,MAAA,EAAQ,EAAA,EAAI,OAAA,EAAS,eAAA,EAAiB,YAAA,EAAc,uBAAA,EAAyB,MAAA,EAAQ,MAAA,EAAQ,UAAA,EAAY,wBAAA,EAA0B,SAAA,EAAW,6CAAA,EAA+C,IAAA,EAAM,+BAAA,EAAiC,KAAA,EAAO,6BAAA,EAA+B,OAAA,EAAS,QAAO,EAAG;AAAA,KAAA,EAClX,CAAA;AAAA,oBAEAA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,MAAM,CAAA,EAAG,QAAA,EAAU,MAAA,EAAQ,OAAA,EAAS,MAAA,EAAQ,aAAA,EAAe,UAAU,GAAA,EAAK,EAAA,EAAG,EACxF,QAAA,EAAA,MAAA,CAAO,GAAA,CAAI,CAAC,CAAA,KAAM,CAAA,CAAE,KAAA,CAAM,MAAA,mBACzBD,IAAAA,CAAC,KAAA,EAAA,EACC,QAAA,EAAA;AAAA,sBAAAC,IAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,IAAA,EAAM,mCAAmC,aAAA,EAAe,qCAAA,EAAuC,aAAA,EAAe,WAAA,EAAa,OAAO,2BAAA,EAA6B,OAAA,EAAS,WAAA,EAAY,EAAI,YAAE,KAAA,EAAM,CAAA;AAAA,sBAC9MA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,SAAS,MAAA,EAAQ,aAAA,EAAe,QAAA,EAAU,GAAA,EAAK,GAAE,EAC5D,QAAA,EAAA,CAAA,CAAE,KAAA,CAAM,GAAA,CAAI,CAAC,CAAA,KAAM;AAClB,QAAA,MAAM,EAAA,GAAK,EAAE,EAAA,KAAO,QAAA;AACpB,QAAA,uBACED,KAAC,QAAA,EAAA,EAAkB,OAAA,EAAS,MAAM,QAAA,CAAS,CAAA,CAAE,EAAE,CAAA,EAAG,KAAA,EAAO;AAAA,UACvD,OAAA,EAAS,MAAA;AAAA,UAAQ,UAAA,EAAY,QAAA;AAAA,UAAU,GAAA,EAAK,CAAA;AAAA,UAAG,KAAA,EAAO,MAAA;AAAA,UAAQ,MAAA,EAAQ,EAAA;AAAA,UAAI,OAAA,EAAS,QAAA;AAAA,UACnF,MAAA,EAAQ,MAAA;AAAA,UAAQ,YAAA,EAAc,uBAAA;AAAA,UAAyB,MAAA,EAAQ,SAAA;AAAA,UAAW,SAAA,EAAW,MAAA;AAAA,UACrF,UAAA,EAAY,KAAK,wBAAA,GAA2B,aAAA;AAAA,UAC5C,SAAA,EAAW,KAAK,oEAAA,GAAuE,MAAA;AAAA,UACvF,KAAA,EAAO,KAAK,6BAAA,GAAgC,0BAAA;AAAA,UAA4B,IAAA,EAAM;AAAA,SAChF,EACE,QAAA,EAAA;AAAA,0BAAAC,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,gBAAA,EAAiB,KAAA,EAAO,EAAE,QAAA,EAAU,EAAA,EAAI,KAAA,EAAO,2BAAA,EAA6B,UAAA,EAAY,CAAA,EAAE,EAAG,CAAA;AAAA,0BAC1GA,GAAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,IAAA,EAAM,CAAA,EAAG,UAAA,EAAY,QAAA,EAAU,UAAU,QAAA,EAAU,YAAA,EAAc,UAAA,EAAW,EAAI,YAAE,KAAA,EAAM;AAAA,SAAA,EAAA,EAR5F,EAAE,EASf,CAAA;AAAA,MAEJ,CAAC,CAAA,EACH;AAAA,KAAA,EAAA,EAlBQ,CAAA,CAAE,KAmBZ,CAAA,GACE,IAAI,CAAA,EACV,CAAA;AAAA,oBAEAD,KAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,YAAY,QAAA,EAAU,GAAA,EAAK,IAAI,OAAA,EAAS,CAAA,EAAG,WAAW,CAAA,EAAG,YAAA,EAAc,yBAAyB,UAAA,EAAY,wBAAA,EAA0B,SAAA,EAAW,6CAAA,EAA8C,EAC5N,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,KAAA,EAAO,EAAA,EAAI,MAAA,EAAQ,EAAA,EAAI,YAAA,EAAc,yBAAA,EAA2B,UAAA,EAAY,mCAAA,EAAqC,KAAA,EAAO,kCAAkC,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,cAAA,EAAgB,QAAA,EAAU,IAAA,EAAM,2BAAA,EAA6B,UAAA,EAAY,CAAA,EAAE,EAAI,QAAA,EAAA,IAAA,CAAK,QAAA,EAAS,CAAA;AAAA,sBAC7SD,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,IAAA,EAAM,CAAA,EAAG,QAAA,EAAU,CAAA,EAAG,UAAA,EAAY,GAAA,EAAI,EAClD,QAAA,EAAA;AAAA,wBAAAC,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,IAAA,EAAM,6BAA6B,KAAA,EAAO,6BAAA,EAA8B,EAAI,QAAA,EAAA,IAAA,CAAK,IAAA,EAAK,CAAA;AAAA,wBACpGA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,MAAM,+BAAA,EAAiC,KAAA,EAAO,2BAAA,EAA4B,EAAG,QAAA,EAAA,WAAA,EAAS;AAAA,OAAA,EACtG,CAAA;AAAA,sBACAA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,oBAAA,EAAqB,KAAA,EAAO,EAAE,QAAA,EAAU,EAAA,EAAI,KAAA,EAAO,2BAAA,EAA4B,EAAG;AAAA,KAAA,EACjG;AAAA,GAAA,EACF,CAAA;AAEJ;AC1EA,SAAS,OAAO,EAAE,IAAA,GAAO,MAAA,EAAQ,MAAA,EAAQ,UAAS,EAAuE;AACvH,EAAA,MAAM,KAAK,IAAA,KAAS,IAAA;AACpB,EAAA,uBACED,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,aAAA,EAAe,EAAA,GAAK,gBAAgB,KAAA,EAAO,GAAA,EAAK,EAAA,EAAI,UAAA,EAAY,YAAW,EACvG,QAAA,EAAA;AAAA,IAAA,MAAA,mBAASC,IAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,UAAA,EAAY,CAAA,EAAE,EAAI,QAAA,EAAA,MAAA,EAAO,CAAA,GAAU,IAAA;AAAA,oBAC5DA,GAAAA,CAAC,KAAA,EAAA,EAAI,OAAO,EAAE,QAAA,EAAU,OAAO,OAAA,EAAS,MAAA,EAAQ,aAAA,EAAe,QAAA,EAAU,KAAK,CAAA,EAAG,UAAA,EAAY,KAAK,UAAA,GAAa,YAAA,IAC7G,QAAA,kBAAAA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,WAAA,EAAa,MAAM,+BAAA,EAAiC,YAAA,EAAc,KAAK,4FAAA,GAA+F,4FAAA,EAA8F,YAAY,EAAA,GAAK,0BAAA,GAA6B,0BAA0B,KAAA,EAAO,EAAA,GAAK,oCAAoC,6BAAA,EAA8B,EAAI,UAAS,CAAA,EAChc;AAAA,GAAA,EACF,CAAA;AAEJ;AAcO,SAAS,WAAW,EAAE,QAAA,EAAU,IAAA,EAAM,YAAA,EAAc,WAAU,EAAoB;AACvF,EAAA,MAAM,MAAA,GAAS,OAAuB,IAAI,CAAA;AAC1C,EAAA,SAAA,CAAU,MAAM;AAAE,IAAA,MAAA,CAAO,OAAA,EAAS,QAAA,GAAW,CAAA,EAAG,MAAA,CAAO,QAAQ,YAAY,CAAA;AAAA,EAAG,CAAA,EAAG,CAAC,QAAA,EAAU,IAAI,CAAC,CAAA;AAEjG,EAAA,MAAM,WAAA,GAAc;AAAA,IAClB,EAAE,IAAA,EAAM,qBAAA,EAAuB,IAAA,EAAM,8BAAA,EAA+B;AAAA,IACpE,EAAE,IAAA,EAAM,oBAAA,EAAsB,IAAA,EAAM,2BAAA,EAA4B;AAAA,IAChE,EAAE,IAAA,EAAM,mBAAA,EAAqB,IAAA,EAAM,qCAAA,EAAsC;AAAA,IACzE,EAAE,IAAA,EAAM,uBAAA,EAAyB,IAAA,EAAM,iCAAA;AAAkC,GAC3E;AAEA,EAAA,IAAI,QAAA,CAAS,WAAW,CAAA,EAAG;AACzB,IAAA,uBACED,IAAAA,CAAC,KAAA,EAAA,EAAI,OAAO,EAAE,IAAA,EAAM,GAAG,OAAA,EAAS,MAAA,EAAQ,eAAe,QAAA,EAAU,UAAA,EAAY,UAAU,cAAA,EAAgB,QAAA,EAAU,SAAS,EAAA,EAAI,SAAA,EAAW,UAAS,EAChJ,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,KAAA,EAAO,EAAA,EAAI,MAAA,EAAQ,EAAA,EAAI,YAAA,EAAc,wBAAA,EAA0B,UAAA,EAAY,2BAAA,EAA6B,OAAO,0BAAA,EAA4B,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,cAAA,EAAgB,QAAA,EAAU,QAAA,EAAU,EAAA,EAAI,YAAA,EAAc,EAAA,EAAG,EACvP,QAAA,kBAAAA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,uBAAsB,CAAA,EACrC,CAAA;AAAA,sBACAA,GAAAA,CAAC,IAAA,EAAA,EAAG,KAAA,EAAO,EAAE,MAAA,EAAQ,CAAA,EAAG,IAAA,EAAM,2BAAA,EAA6B,KAAA,EAAO,6BAAA,EAA8B,EAAG,QAAA,EAAA,yBAAA,EAAuB,CAAA;AAAA,sBAC1HA,GAAAA,CAAC,GAAA,EAAA,EAAE,KAAA,EAAO,EAAE,MAAA,EAAQ,YAAA,EAAc,IAAA,EAAM,+BAAA,EAAiC,KAAA,EAAO,0BAAA,EAA2B,EAAG,QAAA,EAAA,iDAAA,EAA+C,CAAA;AAAA,sBAC7JA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,mBAAA,EAAqB,SAAA,EAAW,GAAA,EAAK,EAAA,EAAI,QAAA,EAAU,GAAA,EAAK,KAAA,EAAO,MAAA,EAAO,EAClG,QAAA,EAAA,WAAA,CAAY,GAAA,CAAI,CAAC,CAAA,qBAChBD,IAAAA,CAAC,QAAA,EAAA,EAAoB,OAAA,EAAS,MAAM,SAAA,CAAU,CAAA,CAAE,IAAI,GAAG,KAAA,EAAO;AAAA,QAC5D,OAAA,EAAS,MAAA;AAAA,QAAQ,UAAA,EAAY,QAAA;AAAA,QAAU,GAAA,EAAK,EAAA;AAAA,QAAI,OAAA,EAAS,WAAA;AAAA,QAAa,SAAA,EAAW,MAAA;AAAA,QACjF,MAAA,EAAQ,MAAA;AAAA,QAAQ,YAAA,EAAc,uBAAA;AAAA,QAAyB,MAAA,EAAQ,SAAA;AAAA,QAAW,UAAA,EAAY,wBAAA;AAAA,QACtF,SAAA,EAAW,6CAAA;AAAA,QAA+C,IAAA,EAAM,2BAAA;AAAA,QAA6B,KAAA,EAAO;AAAA,OACtG,EACE,QAAA,EAAA;AAAA,wBAAAC,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAW,CAAA,CAAE,IAAA,EAAM,KAAA,EAAO,EAAE,QAAA,EAAU,EAAA,EAAI,KAAA,EAAO,0BAAA,EAA2B,EAAG,CAAA;AAAA,wBAClFA,GAAAA,CAAC,MAAA,EAAA,EAAM,QAAA,EAAA,CAAA,CAAE,IAAA,EAAK;AAAA,OAAA,EAAA,EANH,CAAA,CAAE,IAOf,CACD,CAAA,EACH;AAAA,KAAA,EACF,CAAA;AAAA,EAEJ;AAEA,EAAA,uBACEA,GAAAA,CAAC,KAAA,EAAA,EAAI,GAAA,EAAK,MAAA,EAAQ,KAAA,EAAO,EAAE,IAAA,EAAM,CAAA,EAAG,QAAA,EAAU,MAAA,EAAO,EACnD,QAAA,kBAAAD,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,QAAA,EAAU,GAAA,EAAK,MAAA,EAAQ,QAAA,EAAU,OAAA,EAAS,eAAA,EAAiB,OAAA,EAAS,MAAA,EAAQ,aAAA,EAAe,QAAA,EAAU,GAAA,EAAK,IAAG,EACxH,QAAA,EAAA;AAAA,IAAA,QAAA,CAAS,GAAA,CAAI,CAAC,CAAA,EAAG,CAAA,qBAChBC,GAAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QAAe,MAAM,CAAA,CAAE,IAAA;AAAA,QACtB,QAAQ,CAAA,CAAE,IAAA,KAAS,uBACfA,GAAAA,CAAC,UAAO,IAAA,EAAK,IAAA,EAAK,UAAU,YAAA,EAAc,KAAA,EAAM,UAAS,CAAA,mBACzDA,IAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,KAAA,EAAO,EAAA,EAAI,QAAQ,EAAA,EAAI,YAAA,EAAc,2BAA2B,UAAA,EAAY,2BAAA,EAA6B,OAAO,0BAAA,EAA4B,OAAA,EAAS,QAAQ,UAAA,EAAY,QAAA,EAAU,gBAAgB,QAAA,EAAU,QAAA,EAAU,IAAG,EAAG,QAAA,kBAAAA,IAAC,GAAA,EAAA,EAAE,SAAA,EAAU,uBAAsB,CAAA,EAAE,CAAA;AAAA,QACrR,QAAA,EAAA,CAAA,CAAE;AAAA,OAAA;AAAA,MAJS;AAAA,KAKd,CAAA;AAAA,IACA,uBACCA,GAAAA,CAAC,UAAO,IAAA,EAAK,MAAA,EAAO,wBAAQA,GAAAA,CAAC,UAAK,KAAA,EAAO,EAAE,OAAO,EAAA,EAAI,MAAA,EAAQ,IAAI,YAAA,EAAc,yBAAA,EAA2B,YAAY,2BAAA,EAA6B,KAAA,EAAO,0BAAA,EAA4B,OAAA,EAAS,QAAQ,UAAA,EAAY,QAAA,EAAU,gBAAgB,QAAA,EAAU,QAAA,EAAU,IAAG,EAAG,QAAA,kBAAAA,IAAC,GAAA,EAAA,EAAE,SAAA,EAAU,uBAAsB,CAAA,EAAE,CAAA,EAC3S,0BAAAD,IAAAA,CAAC,MAAA,EAAA,EAAK,WAAU,WAAA,EAAY,QAAA,EAAA;AAAA,sBAAAC,IAAC,MAAA,EAAA,EAAK,CAAA;AAAA,sBAAOA,IAAC,MAAA,EAAA,EAAK,CAAA;AAAA,sBAAOA,IAAC,MAAA,EAAA,EAAK;AAAA,KAAA,EAAO,GACrE,CAAA,GACE;AAAA,GAAA,EACN,CAAA,EACF,CAAA;AAEJ;AC1EO,SAAS,UAAA,CAAW,EAAE,MAAA,EAAQ,IAAA,EAAK,EAAoB;AAC5D,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAIC,SAAS,EAAE,CAAA;AACnC,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAIA,SAAS,SAAS,CAAA;AAC5C,EAAA,MAAM,KAAA,GAAQC,OAA4B,IAAI,CAAA;AAC9C,EAAA,MAAM,OAAO,MAAM;AACjB,IAAA,MAAM,CAAA,GAAI,KAAK,IAAA,EAAK;AACpB,IAAA,IAAI,CAAC,KAAK,IAAA,EAAM;AAChB,IAAA,MAAA,CAAO,CAAC,CAAA;AACR,IAAA,OAAA,CAAQ,EAAE,CAAA;AACV,IAAA,IAAI,KAAA,CAAM,OAAA,EAAS,KAAA,CAAM,OAAA,CAAQ,MAAM,MAAA,GAAS,MAAA;AAAA,EAClD,CAAA;AACA,EAAA,MAAM,IAAA,GAAO,CAAC,CAAA,KAAwC;AACpD,IAAA,OAAA,CAAQ,CAAA,CAAE,OAAO,KAAK,CAAA;AACtB,IAAA,CAAA,CAAE,MAAA,CAAO,MAAM,MAAA,GAAS,MAAA;AACxB,IAAA,CAAA,CAAE,MAAA,CAAO,MAAM,MAAA,GAAS,IAAA,CAAK,IAAI,CAAA,CAAE,MAAA,CAAO,YAAA,EAAc,GAAG,CAAA,GAAI,IAAA;AAAA,EACjE,CAAA;AACA,EAAA,uBACEH,IAAAA,CAAC,KAAA,EAAA,EAAI,OAAO,EAAE,OAAA,EAAS,eAAc,EACnC,QAAA,EAAA;AAAA,oBAAAA,KAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,QAAA,EAAU,KAAK,MAAA,EAAQ,QAAA,EAAU,YAAA,EAAc,wBAAA,EAA0B,YAAY,wBAAA,EAA0B,SAAA,EAAW,oEAAA,EAAsE,OAAA,EAAS,IAAG,EACxN,QAAA,EAAA;AAAA,sBAAAC,GAAAA;AAAA,QAAC,UAAA;AAAA,QAAA;AAAA,UACC,GAAA,EAAK,KAAA;AAAA,UACL,KAAA,EAAO,IAAA;AAAA,UACP,QAAA,EAAU,IAAA;AAAA,UACV,SAAA,EAAW,CAAC,CAAA,KAAM;AAAE,YAAA,IAAI,CAAA,CAAE,GAAA,KAAQ,OAAA,IAAW,CAAC,EAAE,QAAA,EAAU;AAAE,cAAA,CAAA,CAAE,cAAA,EAAe;AAAG,cAAA,IAAA,EAAK;AAAA,YAAG;AAAA,UAAE,CAAA;AAAA,UAC1F,WAAA,EAAY,4BAAA;AAAA,UACZ,IAAA,EAAM,CAAA;AAAA,UACN,KAAA,EAAO,EAAE,KAAA,EAAO,MAAA,EAAQ,WAAW,YAAA,EAAc,MAAA,EAAQ,QAAQ,OAAA,EAAS,MAAA,EAAQ,QAAQ,MAAA,EAAQ,UAAA,EAAY,eAAe,IAAA,EAAM,+BAAA,EAAiC,OAAO,6BAAA,EAA+B,OAAA,EAAS,cAAA,EAAgB,SAAA,EAAW,GAAA;AAAI;AAAA,OACpP;AAAA,sBACAD,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,CAAA,EAAE,EAC1D,QAAA,EAAA;AAAA,wBAAAC,GAAAA,CAAC,QAAA,EAAA,EAAO,KAAA,EAAM,aAAA,EAAc,KAAA,EAAO,OAAA,EAAS,QAAA,kBAAAA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,iBAAA,EAAkB,CAAA,EAAE,CAAA;AAAA,wBAC7EA,GAAAA,CAAC,QAAA,EAAA,EAAO,KAAA,EAAM,WAAA,EAAY,KAAA,EAAO,OAAA,EAAS,QAAA,kBAAAA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,eAAA,EAAgB,CAAA,EAAE,CAAA;AAAA,wBACzED,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,SAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,CAAA,EAAG,MAAA,EAAQ,IAAI,OAAA,EAAS,cAAA,EAAgB,YAAA,EAAc,uBAAA,EAAyB,UAAA,EAAY,wBAAA,EAA0B,IAAA,EAAM,2BAAA,EAA6B,KAAA,EAAO,0BAAA,EAA4B,MAAA,EAAQ,SAAA,EAAU,EACrQ,QAAA,EAAA;AAAA,0BAAAC,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,aAAA,EAAc,KAAA,EAAO,EAAE,QAAA,EAAU,EAAA,EAAI,KAAA,EAAO,2BAAA,EAA4B,EAAG,CAAA;AAAA,0BACxFD,IAAAA,CAAC,QAAA,EAAA,EAAO,KAAA,EAAO,KAAA,EAAO,QAAA,EAAU,CAAC,CAAA,KAAM,QAAA,CAAS,CAAA,CAAE,MAAA,CAAO,KAAK,GAAG,KAAA,EAAO,EAAE,UAAA,EAAY,MAAA,EAAQ,gBAAA,EAAkB,MAAA,EAAQ,MAAA,EAAQ,MAAA,EAAQ,SAAS,MAAA,EAAQ,UAAA,EAAY,aAAA,EAAe,IAAA,EAAM,2BAAA,EAA6B,KAAA,EAAO,0BAAA,EAA4B,MAAA,EAAQ,WAAU,EAC1Q,QAAA,EAAA;AAAA,4BAAAC,GAAAA,CAAC,YAAO,QAAA,EAAA,SAAA,EAAO,CAAA;AAAA,4BAASA,GAAAA,CAAC,QAAA,EAAA,EAAO,QAAA,EAAA,cAAA,EAAY,CAAA;AAAA,4BAASA,GAAAA,CAAC,QAAA,EAAA,EAAO,QAAA,EAAA,WAAA,EAAS;AAAA,WAAA,EACxE,CAAA;AAAA,0BACAA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,sBAAA,EAAuB,KAAA,EAAO,EAAE,QAAA,EAAU,EAAA,EAAI,KAAA,EAAO,2BAAA,EAA4B,EAAG;AAAA,SAAA,EACnG,CAAA;AAAA,wBACAA,GAAAA,CAAC,KAAA,EAAA,EAAI,OAAO,EAAE,IAAA,EAAM,GAAE,EAAG,CAAA;AAAA,wBACzBA,GAAAA,CAAC,QAAA,EAAA,EAAO,OAAA,EAAS,IAAA,EAAM,QAAA,EAAU,CAAC,IAAA,CAAK,IAAA,EAAK,IAAK,IAAA,EAAM,KAAA,EAAM,QAAO,KAAA,EAAO;AAAA,UACzE,OAAA,EAAS,aAAA;AAAA,UAAe,UAAA,EAAY,QAAA;AAAA,UAAU,cAAA,EAAgB,QAAA;AAAA,UAAU,KAAA,EAAO,EAAA;AAAA,UAAI,MAAA,EAAQ,EAAA;AAAA,UAC3F,MAAA,EAAQ,MAAA;AAAA,UAAQ,YAAA,EAAc,uBAAA;AAAA,UAAyB,QAAQ,IAAA,CAAK,IAAA,EAAK,IAAK,CAAC,OAAO,SAAA,GAAY,aAAA;AAAA,UAClG,YAAY,IAAA,CAAK,IAAA,EAAK,IAAK,CAAC,OAAO,0BAAA,GAA6B,yBAAA;AAAA,UAChE,OAAO,IAAA,CAAK,IAAA,EAAK,IAAK,CAAC,OAAO,iCAAA,GAAoC,2BAAA;AAAA,UAA6B,QAAA,EAAU;AAAA,WACxG,QAAA,kBAAAA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,oBAAmB,CAAA,EAAE;AAAA,OAAA,EACvC;AAAA,KAAA,EACF,CAAA;AAAA,oBACAA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,UAAU,GAAA,EAAK,MAAA,EAAQ,YAAA,EAAc,SAAA,EAAW,UAAU,IAAA,EAAM,+BAAA,EAAiC,KAAA,EAAO,2BAAA,IAA+B,QAAA,EAAA,kDAAA,EAErJ;AAAA,GAAA,EACF,CAAA;AAEJ;AAEA,IAAM,OAAA,GAAyB,EAAE,OAAA,EAAS,aAAA,EAAe,YAAY,QAAA,EAAU,cAAA,EAAgB,QAAA,EAAU,KAAA,EAAO,EAAA,EAAI,MAAA,EAAQ,IAAI,MAAA,EAAQ,MAAA,EAAQ,YAAA,EAAc,uBAAA,EAAyB,UAAA,EAAY,aAAA,EAAe,OAAO,0BAAA,EAA4B,MAAA,EAAQ,SAAA,EAAW,QAAA,EAAU,EAAA,EAAG;ACvDrR,IAAM,OAAA,GAAU;AAAA,EACd,sIAAA;AAAA,EACA,wHAAA;AAAA,EACA,kGAAA;AAAA,EACA;AACF,CAAA;AAEO,SAAS,mBAAA,GAAsB;AACpC,EAAA,MAAM,IAAA,GAAyB;AAAA,IAC7B,EAAE,EAAA,EAAI,IAAA,EAAM,KAAA,EAAO,OAAA,EAAS,OAAO,sBAAA,EAAuB;AAAA,IAC1D,EAAE,EAAA,EAAI,IAAA,EAAM,KAAA,EAAO,OAAA,EAAS,OAAO,uBAAA,EAAwB;AAAA,IAC3D,EAAE,EAAA,EAAI,IAAA,EAAM,KAAA,EAAO,MAAA,EAAQ,OAAO,mBAAA,EAAoB;AAAA,IACtD,EAAE,EAAA,EAAI,IAAA,EAAM,KAAA,EAAO,MAAA,EAAQ,OAAO,iBAAA;AAAkB,GACtD;AACA,EAAA,MAAM,CAAC,KAAK,CAAA,GAAIC,QAAAA,CAA2B,IAAI,CAAA;AAC/C,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAIA,SAAS,KAAK,CAAA;AAC9C,EAAA,MAAM,CAAC,SAAS,UAAU,CAAA,GAAIA,SAAsC,EAAE,GAAA,EAAK,EAAC,EAAG,CAAA;AAC/E,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAIA,SAAS,KAAK,CAAA;AACtC,EAAA,MAAM,IAAA,GAAe,EAAE,IAAA,EAAM,eAAA,EAAiB,UAAU,IAAA,EAAK;AAC7D,EAAA,MAAM,QAAA,GAAW,OAAA,CAAQ,QAAQ,CAAA,IAAK,EAAC;AAEvC,EAAA,MAAM,GAAA,GAAM,CAAC,IAAA,KAAiB;AAC5B,IAAA,UAAA,CAAW,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,QAAQ,GAAG,CAAC,GAAI,EAAE,QAAQ,CAAA,IAAK,EAAC,EAAI,EAAE,MAAM,IAAA,EAAM,IAAA,EAAM,CAAA,EAAE,CAAE,CAAA;AACxF,IAAA,OAAA,CAAQ,IAAI,CAAA;AACZ,IAAA,UAAA,CAAW,MAAM;AACf,MAAA,MAAM,KAAA,GAAQ,QAAQ,IAAA,CAAK,KAAA,CAAM,KAAK,MAAA,EAAO,GAAI,OAAA,CAAQ,MAAM,CAAC,CAAA;AAChE,MAAA,UAAA,CAAW,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,QAAQ,GAAG,CAAC,GAAI,CAAA,CAAE,QAAQ,CAAA,IAAK,IAAK,EAAE,IAAA,EAAM,QAAQ,IAAA,EAAM,KAAA,EAAO,CAAA,EAAE,CAAE,CAAA;AACjG,MAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,IACf,GAAG,IAAI,CAAA;AAAA,EACT,CAAA;AAEA,EAAA,MAAM,UAAU,MAAM;AAAE,IAAA,WAAA,CAAY,KAAK,CAAA;AAAG,IAAA,UAAA,CAAW,CAAC,OAAO,EAAE,GAAG,GAAG,GAAA,EAAK,IAAG,CAAE,CAAA;AAAA,EAAG,CAAA;AAEpF,EAAA,uBACEF,KAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,MAAA,EAAQ,MAAA,EAAO,EAC5C,QAAA,EAAA;AAAA,oBAAAC,IAAC,SAAA,EAAA,EAAU,aAAA,EAAe,OAAO,QAAA,EAAoB,QAAA,EAAU,CAAC,EAAA,KAAO;AAAE,MAAA,WAAA,CAAY,EAAE,CAAA;AAAG,MAAA,UAAA,CAAW,CAAC,CAAA,KAAM,CAAA,CAAE,EAAE,IAAI,CAAA,GAAI,EAAE,GAAG,CAAA,EAAG,CAAC,EAAE,GAAG,IAAI,CAAA;AAAA,IAAG,CAAA,EAAG,KAAA,EAAO,OAAA,EAAS,IAAA,EAAY,CAAA;AAAA,oBAC5KD,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,IAAA,EAAM,CAAA,EAAG,QAAA,EAAU,CAAA,EAAG,OAAA,EAAS,MAAA,EAAQ,aAAA,EAAe,UAAS,EAC3E,QAAA,EAAA;AAAA,sBAAAA,IAAAA,CAAC,QAAA,EAAA,EAAO,KAAA,EAAO,EAAE,SAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,EAAA,EAAI,OAAA,EAAS,WAAA,EAAa,YAAA,EAAc,yCAAwC,EAC3I,QAAA,EAAA;AAAA,wBAAAC,GAAAA,CAAC,UAAK,KAAA,EAAO,EAAE,MAAM,2BAAA,EAA6B,KAAA,EAAO,6BAAA,EAA8B,EAAG,QAAA,EAAA,UAAA,EAAQ,CAAA;AAAA,wBAClGA,GAAAA,CAAC,KAAA,EAAA,EAAM,KAAA,EAAM,QAAA,EAAS,SAAQ,SAAA,EAAU,IAAA,EAAK,OAAA,EAAQ,WAAA,kBAAaA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,oBAAA,EAAqB,GAAI,QAAA,EAAA,SAAA,EAAO,CAAA;AAAA,wBAC/GA,GAAAA,CAAC,KAAA,EAAA,EAAI,OAAO,EAAE,IAAA,EAAM,GAAE,EAAG,CAAA;AAAA,wBACzBA,GAAAA,CAAC,MAAA,EAAA,EAAO,QAAA,EAAQ,MAAC,OAAA,EAAQ,SAAA,EAAU,UAAA,EAAW,OAAA,EAAQ,sBAAMA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,iBAAgB,CAAA,EAAI,CAAA;AAAA,wBAC7FA,GAAAA,CAAC,MAAA,EAAA,EAAO,QAAA,EAAQ,MAAC,OAAA,EAAQ,SAAA,EAAU,UAAA,EAAW,OAAA,EAAQ,sBAAMA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,kBAAiB,CAAA,EAAI;AAAA,OAAA,EAChG,CAAA;AAAA,sBACAA,IAAC,UAAA,EAAA,EAAW,QAAA,EAAoB,MAAY,YAAA,EAAc,IAAA,CAAK,QAAA,EAAU,SAAA,EAAW,GAAA,EAAK,CAAA;AAAA,sBACzFA,GAAAA,CAAC,UAAA,EAAA,EAAW,MAAA,EAAQ,KAAK,IAAA,EAAY;AAAA,KAAA,EACvC;AAAA,GAAA,EACF,CAAA;AAEJ;AC1CO,SAAS,aAAA,CAAc,EAAE,MAAA,EAAQ,UAAA,EAAW,EAAuB;AACxE,EAAA,MAAM,IAAA,GAAkB;AAAA,IACtB,EAAE,EAAA,EAAI,SAAA,EAAW,KAAA,EAAO,SAAA,EAAW,MAAM,oBAAA,EAAqB;AAAA,IAC9D,EAAE,EAAA,EAAI,WAAA,EAAa,KAAA,EAAO,WAAA,EAAa,MAAM,qBAAA,EAAsB;AAAA,IACnE,EAAE,EAAA,EAAI,OAAA,EAAS,KAAA,EAAO,OAAA,EAAS,MAAM,cAAA,EAAe;AAAA,IACpD,EAAE,EAAA,EAAI,QAAA,EAAU,KAAA,EAAO,QAAA,EAAU,MAAM,kBAAA,EAAmB;AAAA,IAC1D,EAAE,IAAI,MAAA,EAAQ,KAAA,EAAO,QAAQ,IAAA,EAAM,eAAA,EAAiB,OAAO,KAAA;AAAM,GACnE;AACA,EAAA,MAAM,KAAA,GAAmB;AAAA,IACvB,EAAE,EAAA,EAAI,UAAA,EAAY,KAAA,EAAO,UAAA,EAAY,MAAM,iBAAA,EAAkB;AAAA,IAC7D,EAAE,EAAA,EAAI,UAAA,EAAY,KAAA,EAAO,UAAA,EAAY,MAAM,oBAAA;AAAqB,GAClE;AACA,EAAA,MAAM,IAAA,GAAO,CAAC,EAAE,EAAA,EAAG,KAAuB;AACxC,IAAA,MAAM,EAAA,GAAK,WAAW,EAAA,CAAG,EAAA;AACzB,IAAA,uBACED,KAAC,QAAA,EAAA,EAAO,OAAA,EAAS,MAAM,UAAA,CAAW,EAAA,CAAG,EAAE,CAAA,EAAG,KAAA,EAAO;AAAA,MAC/C,OAAA,EAAS,MAAA;AAAA,MAAQ,UAAA,EAAY,QAAA;AAAA,MAAU,GAAA,EAAK,EAAA;AAAA,MAAI,KAAA,EAAO,MAAA;AAAA,MAAQ,MAAA,EAAQ,EAAA;AAAA,MAAI,OAAA,EAAS,QAAA;AAAA,MACpF,MAAA,EAAQ,MAAA;AAAA,MAAQ,YAAA,EAAc,uBAAA;AAAA,MAAyB,MAAA,EAAQ,SAAA;AAAA,MAAW,SAAA,EAAW,MAAA;AAAA,MACrF,UAAA,EAAY,KAAK,wBAAA,GAA2B,aAAA;AAAA,MAC5C,SAAA,EAAW,KAAK,oEAAA,GAAuE,MAAA;AAAA,MACvF,KAAA,EAAO,KAAK,6BAAA,GAAgC,0BAAA;AAAA,MAA4B,IAAA,EAAM;AAAA,KAChF,EACE,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAW,EAAA,CAAG,IAAA,EAAM,KAAA,EAAO,EAAE,QAAA,EAAU,EAAA,EAAI,KAAA,EAAO,EAAA,GAAK,0BAAA,GAA6B,4BAA2B,EAAG,CAAA;AAAA,sBACrHA,IAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,IAAA,EAAM,CAAA,EAAE,EAAI,QAAA,EAAA,EAAA,CAAG,KAAA,EAAM,CAAA;AAAA,MACnC,EAAA,CAAG,wBAAQA,GAAAA,CAAC,UAAK,KAAA,EAAO,EAAE,MAAM,iCAAA,EAAmC,OAAA,EAAS,WAAW,YAAA,EAAc,yBAAA,EAA2B,YAAY,mCAAA,EAAqC,KAAA,EAAO,kCAAiC,EAAI,QAAA,EAAA,EAAA,CAAG,OAAM,CAAA,GAAU;AAAA,KAAA,EACnP,CAAA;AAAA,EAEJ,CAAA;AACA,EAAA,uBACED,KAAC,OAAA,EAAA,EAAM,KAAA,EAAO,EAAE,KAAA,EAAO,GAAA,EAAK,UAAA,EAAY,CAAA,EAAG,MAAA,EAAQ,MAAA,EAAQ,WAAW,YAAA,EAAc,OAAA,EAAS,MAAA,EAAQ,aAAA,EAAe,QAAA,EAAU,OAAA,EAAS,IAAI,UAAA,EAAY,wBAAA,EAA0B,WAAA,EAAa,uCAAA,EAAwC,EACpO,QAAA,EAAA;AAAA,oBAAAA,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,EAAA,EAAI,OAAA,EAAS,cAAA,EAAe,EACpF,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,KAAA,EAAO,EAAA,EAAI,MAAA,EAAQ,EAAA,EAAI,YAAA,EAAc,uBAAA,EAAyB,UAAA,EAAY,0BAAA,EAA4B,OAAO,iCAAA,EAAmC,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,cAAA,EAAgB,QAAA,EAAS,EAC5N,0BAAAA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,kBAAA,EAAmB,KAAA,EAAO,EAAE,QAAA,EAAU,EAAA,IAAM,CAAA,EAC3D,CAAA;AAAA,sBACAA,GAAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,MAAM,2BAAA,EAA6B,KAAA,EAAO,6BAAA,EAA8B,EAAG,QAAA,EAAA,eAAA,EAAa;AAAA,KAAA,EACzG,CAAA;AAAA,oBACAA,IAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,aAAA,EAAe,QAAA,EAAU,GAAA,EAAK,CAAA,IAAM,QAAA,EAAA,IAAA,CAAK,GAAA,CAAI,CAAC,EAAA,qBAAOA,GAAAA,CAAC,QAAiB,EAAA,EAAA,EAAP,EAAA,CAAG,EAAY,CAAE,CAAA,EAAE,CAAA;AAAA,oBAClHA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,MAAM,iCAAA,EAAmC,aAAA,EAAe,qCAAA,EAAuC,aAAA,EAAe,aAAa,KAAA,EAAO,2BAAA,EAA6B,OAAA,EAAS,eAAA,IAAmB,QAAA,EAAA,SAAA,EAAO,CAAA;AAAA,oBAChNA,IAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,aAAA,EAAe,QAAA,EAAU,GAAA,EAAK,CAAA,IAAM,QAAA,EAAA,KAAA,CAAM,GAAA,CAAI,CAAC,EAAA,qBAAOA,GAAAA,CAAC,QAAiB,EAAA,EAAA,EAAP,EAAA,CAAG,EAAY,CAAE,CAAA,EAAE,CAAA;AAAA,oBACnHA,GAAAA,CAAC,KAAA,EAAA,EAAI,OAAO,EAAE,IAAA,EAAM,GAAE,EAAG,CAAA;AAAA,oBACzBD,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,YAAA,EAAc,uBAAA,EAAyB,UAAA,EAAY,2BAAA,EAA6B,OAAA,EAAS,EAAA,EAAI,KAAA,EAAO,mCAAkC,EAClJ,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAAC,OAAE,SAAA,EAAU,qBAAA,EAAsB,OAAO,EAAE,QAAA,EAAU,IAAG,EAAG,CAAA;AAAA,sBAC5DA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,WAAW,CAAA,EAAG,IAAA,EAAM,2BAAA,EAA4B,EAAG,QAAA,EAAA,gBAAA,EAAc,CAAA;AAAA,sBAC/EA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,SAAA,EAAW,CAAA,EAAG,IAAA,EAAM,+BAAA,EAAiC,OAAA,EAAS,GAAA,EAAG,EAAG,QAAA,EAAA,kCAAA,EAAgC;AAAA,KAAA,EACpH;AAAA,GAAA,EACF,CAAA;AAEJ;ACxDA,SAAS,IAAA,CAAK,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,QAAQ,IAAA,EAAM,IAAA,GAAO,SAAA,EAAW,IAAA,EAAK,EAGvE;AACD,EAAA,MAAM,EAAA,GAAK,KAAA,KAAU,IAAA,GAAO,SAAA,GAAY,OAAA;AACxC,EAAA,uBACED,IAAAA,CAAC,IAAA,EAAA,EAAK,OAAA,EAAQ,QAAA,EAAS,SAAS,EAAA,EAC9B,QAAA,EAAA;AAAA,oBAAAA,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,QAAQ,UAAA,EAAY,YAAA,EAAc,cAAA,EAAgB,eAAA,EAAgB,EACvF,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,KAAA,EAAO,EAAA,EAAI,MAAA,EAAQ,EAAA,EAAI,YAAA,EAAc,uBAAA,EAAyB,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,cAAA,EAAgB,QAAA,EAAU,QAAA,EAAU,EAAA,EAAI,UAAA,EAAY,CAAA,iBAAA,EAAoB,IAAI,CAAA,SAAA,CAAA,EAAa,KAAA,EAAO,CAAA,iBAAA,EAAoB,IAAI,CAAA,MAAA,CAAA,EAAS,EAAI,QAAA,EAAA,IAAA,EAAK,CAAA;AAAA,MAC7P,KAAA,IAAS,IAAA,mBACRD,IAAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,OAAA,EAAS,aAAA,EAAe,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,CAAA,EAAG,MAAA,EAAQ,EAAA,EAAI,OAAA,EAAS,OAAA,EAAS,YAAA,EAAc,4BAAA,EAA8B,IAAA,EAAM,2BAAA,EAA6B,UAAA,EAAY,CAAA,iBAAA,EAAoB,EAAE,CAAA,SAAA,CAAA,EAAa,KAAA,EAAO,CAAA,iBAAA,EAAoB,EAAE,UAAS,EACrQ,QAAA,EAAA;AAAA,wBAAAC,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAW,KAAA,KAAU,IAAA,GAAO,kBAAA,GAAqB,oBAAA,EAAsB,KAAA,EAAO,EAAE,QAAA,EAAU,EAAA,EAAG,EAAG,CAAA;AAAA,QAAG;AAAA,OAAA,EACxG,CAAA,GACE;AAAA,KAAA,EACN,CAAA;AAAA,oBACAA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,SAAA,EAAW,EAAA,EAAI,IAAA,EAAM,+BAAA,EAAiC,KAAA,EAAO,0BAAA,EAA2B,EAAI,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,oBAChHA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,SAAA,EAAW,CAAA,EAAG,IAAA,EAAM,2BAAA,EAA6B,KAAA,EAAO,6BAAA,EAA8B,EAAI,QAAA,EAAA,KAAA,EAAM;AAAA,GAAA,EAChH,CAAA;AAEJ;AAGA,SAAS,UAAU,GAAA,EAA+B;AAChD,EAAA,MAAM,GAAA,GAAwC;AAAA,IAC5C,GAAA,EAAK,CAAC,WAAA,EAAa,SAAS,CAAA;AAAA,IAAG,GAAA,EAAK,CAAC,WAAA,EAAa,SAAS,CAAA;AAAA,IAAG,GAAA,EAAK,CAAC,WAAA,EAAa,SAAS,CAAA;AAAA,IAC1F,GAAA,EAAK,CAAC,WAAA,EAAa,SAAS,CAAA;AAAA,IAAG,GAAA,EAAK,CAAC,WAAA,EAAa,SAAS,CAAA;AAAA,IAAG,IAAA,EAAM,CAAC,WAAA,EAAa,SAAS,CAAA;AAAA,IAC3F,IAAA,EAAM,CAAC,WAAA,EAAa,SAAS,CAAA;AAAA,IAAG,GAAA,EAAK,CAAC,WAAA,EAAa,SAAS;AAAA,GAC9D;AACA,EAAA,OAAO,GAAA,CAAI,GAAG,CAAA,IAAK,CAAC,0BAA0B,0BAA0B,CAAA;AAC1E;AAOA,SAAS,QAAA,CAAS,EAAE,GAAA,EAAK,IAAA,GAAO,IAAG,EAAkB;AACnD,EAAA,MAAM,CAAC,EAAA,EAAI,EAAE,CAAA,GAAI,UAAU,GAAG,CAAA;AAC9B,EAAA,uBAAOA,GAAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,KAAA,EAAO,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAM,YAAA,EAAc,yBAAA,EAA2B,UAAA,EAAY,EAAA,EAAI,OAAO,EAAA,EAAI,OAAA,EAAS,aAAA,EAAe,UAAA,EAAY,QAAA,EAAU,cAAA,EAAgB,QAAA,EAAU,IAAA,EAAM,6BAA6B,UAAA,EAAY,GAAA,EAAK,UAAA,EAAY,CAAA,EAAE,EAAI,QAAA,EAAA,GAAA,CAAI,KAAA,CAAM,CAAA,EAAG,CAAC,CAAA,EAAE,CAAA;AACrR;AAQA,SAAS,MAAM,EAAE,EAAA,EAAI,IAAI,EAAA,EAAI,CAAA,GAAI,IAAG,EAAe;AACjD,EAAA,MAAM,GAAA,GAAM,EAAA,GAAK,CAAC,EAAA,EAAI,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAE,CAAA,GAAI,CAAC,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,CAAC,CAAA;AACjH,EAAA,MAAM,IAAA,GAAO,CAAA,IAAK,GAAA,CAAI,MAAA,GAAS,CAAA,CAAA;AAC/B,EAAA,MAAM,CAAA,GAAI,GAAA,CAAI,GAAA,CAAI,CAAC,CAAA,EAAG,MAAM,CAAA,EAAG,CAAA,GAAI,GAAA,GAAM,GAAG,CAAA,EAAA,CAAI,CAAA,GAAI,MAAM,OAAA,CAAQ,CAAC,CAAC,CAAA,CAAA,EAAA,CAAK,CAAA,GAAI,CAAA,EAAG,OAAA,CAAQ,CAAC,CAAC,CAAA,CAAE,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA;AACtG,EAAA,MAAM,CAAA,GAAI,KAAK,gCAAA,GAAmC,8BAAA;AAClD,EAAA,uBAAOA,IAAC,KAAA,EAAA,EAAI,KAAA,EAAO,GAAG,MAAA,EAAQ,CAAA,EAAG,0BAAAA,GAAAA,CAAC,MAAA,EAAA,EAAK,GAAM,IAAA,EAAK,MAAA,EAAO,QAAQ,CAAA,EAAG,WAAA,EAAY,OAAM,aAAA,EAAc,OAAA,EAAQ,cAAA,EAAe,OAAA,EAAQ,CAAA,EAAE,CAAA;AACvI;AAYO,SAAS,aAAA,GAAgB;AAC9B,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAIC,SAAS,IAAI,CAAA;AAEvC,EAAA,MAAM,QAAA,GAAsB;AAAA,IAC1B,EAAE,GAAA,EAAK,KAAA,EAAO,IAAA,EAAM,WAAW,KAAA,EAAO,SAAA,EAAW,MAAA,EAAQ,WAAA,EAAa,KAAA,EAAO,SAAA,EAAW,GAAA,EAAK,OAAA,EAAS,IAAI,IAAA,EAAK;AAAA,IAC/G,EAAE,GAAA,EAAK,KAAA,EAAO,IAAA,EAAM,YAAY,KAAA,EAAO,QAAA,EAAU,MAAA,EAAQ,UAAA,EAAY,KAAA,EAAO,SAAA,EAAW,GAAA,EAAK,OAAA,EAAS,IAAI,IAAA,EAAK;AAAA,IAC9G,EAAE,GAAA,EAAK,KAAA,EAAO,IAAA,EAAM,UAAU,KAAA,EAAO,SAAA,EAAW,MAAA,EAAQ,UAAA,EAAY,KAAA,EAAO,SAAA,EAAW,GAAA,EAAK,OAAA,EAAS,IAAI,KAAA,EAAM;AAAA,IAC9G,EAAE,GAAA,EAAK,KAAA,EAAO,IAAA,EAAM,OAAO,KAAA,EAAO,OAAA,EAAS,MAAA,EAAQ,WAAA,EAAa,KAAA,EAAO,QAAA,EAAU,GAAA,EAAK,OAAA,EAAS,IAAI,KAAA,EAAM;AAAA,IACzG,EAAE,GAAA,EAAK,KAAA,EAAO,IAAA,EAAM,OAAO,KAAA,EAAO,SAAA,EAAW,MAAA,EAAQ,UAAA,EAAY,KAAA,EAAO,QAAA,EAAU,GAAA,EAAK,OAAA,EAAS,IAAI,KAAA;AAAM,GAC5G;AACA,EAAA,MAAM,OAAA,GAAkC;AAAA,IACtC,EAAE,GAAA,EAAK,MAAA,EAAQ,QAAQ,OAAA,EAAS,MAAA,EAAQ,CAAC,CAAA,qBACvCF,KAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,YAAY,QAAA,EAAU,GAAA,EAAK,IAAG,EAC3D,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAAC,QAAA,EAAA,EAAS,GAAA,EAAK,CAAA,CAAE,GAAA,EAAK,CAAA;AAAA,sBACtBD,KAAC,KAAA,EAAA,EAAI,QAAA,EAAA;AAAA,wBAAAC,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,IAAA,EAAM,6BAA6B,KAAA,EAAO,6BAAA,EAA8B,EAAI,QAAA,EAAA,CAAA,CAAE,IAAA,EAAK,CAAA;AAAA,wBACtGA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,IAAA,EAAM,+BAAA,EAAiC,KAAA,EAAO,2BAAA,EAA4B,EAAI,QAAA,EAAA,CAAA,CAAE,GAAA,EAAI;AAAA,OAAA,EAAM;AAAA,KAAA,EAC1G,CAAA,EAAQ;AAAA,IACV,EAAE,GAAA,EAAK,OAAA,EAAS,QAAQ,OAAA,EAAS,MAAA,EAAQ,CAAC,CAAA,qBAAMA,GAAAA,CAAC,MAAA,EAAA,EAAK,OAAO,EAAE,IAAA,EAAM,6BAA4B,EAAI,QAAA,EAAA,CAAA,CAAE,OAAM,CAAA,EAAQ;AAAA,IACrH,EAAE,GAAA,EAAK,QAAA,EAAU,QAAQ,UAAA,EAAY,MAAA,EAAQ,CAAC,CAAA,qBAAMA,GAAAA,CAAC,MAAA,EAAA,EAAK,OAAO,EAAE,KAAA,EAAO,4BAA2B,EAAI,QAAA,EAAA,CAAA,CAAE,QAAO,CAAA,EAAQ;AAAA,IAC1H,EAAE,GAAA,EAAK,KAAA,EAAO,MAAA,EAAQ,OAAO,MAAA,EAAQ,CAAC,CAAA,qBAAMA,GAAAA,CAAC,KAAA,EAAA,EAAM,KAAA,EAAO,CAAA,CAAE,KAAK,OAAA,GAAU,KAAA,EAAO,OAAA,EAAQ,OAAA,EAAQ,IAAA,EAAK,OAAA,EAAQ,WAAA,kBAAaA,IAAC,GAAA,EAAA,EAAE,SAAA,EAAW,CAAA,CAAE,EAAA,GAAK,kBAAA,GAAqB,oBAAA,EAAsB,CAAA,EAAK,QAAA,EAAA,CAAA,CAAE,KAAI,CAAA,EAAS;AAAA,IAChN,EAAE,KAAK,OAAA,EAAS,MAAA,EAAQ,SAAS,KAAA,EAAO,OAAA,EAAS,MAAA,EAAQ,CAAC,CAAA,qBAAMA,IAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,IAAA,EAAM,2BAAA,EAA6B,OAAO,6BAAA,EAA8B,EAAI,QAAA,EAAA,CAAA,CAAE,KAAA,EAAM,CAAA,EAAQ;AAAA,IAC3K,EAAE,GAAA,EAAK,OAAA,EAAS,QAAQ,EAAA,EAAI,KAAA,EAAO,KAAK,KAAA,EAAO,OAAA,EAAS,MAAA,EAAQ,CAAC,sBAAMA,GAAAA,CAAC,SAAM,EAAA,EAAI,CAAA,CAAE,IAAI,CAAA;AAAG,GAC7F;AAEA,EAAA,uBACED,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,EAAA,EAAI,OAAA,EAAS,MAAA,EAAQ,aAAA,EAAe,QAAA,EAAU,GAAA,EAAK,IAAG,EAC3E,QAAA,EAAA;AAAA,oBAAAC,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,QAAQ,mBAAA,EAAqB,eAAA,EAAiB,GAAA,EAAK,EAAA,EAAG,EAC3E,QAAA,kBAAAD,KAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,UAAA,EAAY,QAAA,EAAU,OAAA,EAAS,QAAQ,mBAAA,EAAqB,gBAAA,EAAkB,GAAA,EAAK,EAAA,EAAG,EAClG,QAAA,EAAA;AAAA,sBAAAC,IAAC,IAAA,EAAA,EAAK,KAAA,EAAM,iBAAgB,KAAA,EAAM,YAAA,EAAa,OAAM,MAAA,EAAO,KAAA,EAAM,IAAA,EAAK,IAAA,EAAK,WAAU,IAAA,kBAAMA,IAAC,GAAA,EAAA,EAAE,SAAA,EAAU,oBAAmB,CAAA,EAAI,CAAA;AAAA,sBAChIA,GAAAA,CAAC,IAAA,EAAA,EAAK,OAAM,SAAA,EAAU,KAAA,EAAM,cAAa,KAAA,EAAM,MAAA,EAAO,OAAM,IAAA,EAAK,IAAA,EAAK,WAAU,IAAA,kBAAMA,IAAC,GAAA,EAAA,EAAE,SAAA,EAAU,sBAAqB,CAAA,EAAI,CAAA;AAAA,sBAC5HA,GAAAA,CAAC,IAAA,EAAA,EAAK,OAAM,WAAA,EAAY,KAAA,EAAM,cAAa,KAAA,EAAM,MAAA,EAAO,OAAM,IAAA,EAAK,IAAA,EAAK,eAAc,IAAA,kBAAMA,IAAC,GAAA,EAAA,EAAE,SAAA,EAAU,gBAAe,CAAA,EAAI;AAAA,KAAA,EAC9H,CAAA,EACF,CAAA;AAAA,oBAEAD,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,UAAA,EAAY,wBAAA,EAA0B,YAAA,EAAc,wBAAA,EAA0B,SAAA,EAAW,6CAAA,EAA+C,OAAA,EAAS,IAAG,EAChK,QAAA,EAAA;AAAA,sBAAAA,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,cAAA,EAAgB,eAAA,EAAiB,YAAA,EAAc,CAAA,EAAE,EACpG,QAAA,EAAA;AAAA,wBAAAA,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,QAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,EAAA,EAAG,EAC3D,QAAA,EAAA;AAAA,0BAAAC,GAAAA,CAAC,QAAA,EAAA,EAAS,GAAA,EAAI,KAAA,EAAM,MAAM,EAAA,EAAI,CAAA;AAAA,0BAC9BD,KAAC,KAAA,EAAA,EACC,QAAA,EAAA;AAAA,4BAAAA,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,QAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,CAAA,EAAE,EAC1D,QAAA,EAAA;AAAA,8BAAAC,GAAAA,CAAC,UAAK,KAAA,EAAO,EAAE,MAAM,2BAAA,EAA6B,KAAA,EAAO,6BAAA,EAA8B,EAAG,QAAA,EAAA,YAAA,EAAU,CAAA;AAAA,8BACpGA,GAAAA,CAAC,KAAA,EAAA,EAAM,KAAA,EAAM,OAAA,EAAQ,SAAQ,OAAA,EAAQ,IAAA,EAAK,OAAA,EAAQ,WAAA,kBAAaA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,kBAAA,EAAmB,GAAI,QAAA,EAAA,MAAA,EAAI;AAAA,aAAA,EACzG,CAAA;AAAA,4BACAA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,MAAM,+BAAA,EAAiC,KAAA,EAAO,2BAAA,EAA4B,EAAG,QAAA,EAAA,sBAAA,EAAiB;AAAA,WAAA,EAC9G;AAAA,SAAA,EACF,CAAA;AAAA,wBACAA,GAAAA,CAAC,gBAAA,EAAA,EAAiB,KAAA,EAAO,OAAO,QAAA,EAAU,QAAA,EAAU,KAAA,EAAO,CAAC,EAAE,KAAA,EAAO,IAAA,EAAM,KAAA,EAAO,MAAK,EAAG,EAAE,KAAA,EAAO,IAAA,EAAM,KAAA,EAAO,IAAA,EAAK,EAAG,EAAE,OAAO,IAAA,EAAM,KAAA,EAAO,IAAA,EAAK,EAAG,EAAE,KAAA,EAAO,IAAA,EAAM,KAAA,EAAO,IAAA,EAAM,CAAA,EAAG;AAAA,OAAA,EACvL,CAAA;AAAA,sBACAA,IAAC,SAAA,EAAA,EAAU;AAAA,KAAA,EACb,CAAA;AAAA,oBAEAD,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,UAAA,EAAY,wBAAA,EAA0B,YAAA,EAAc,wBAAA,EAA0B,SAAA,EAAW,6CAAA,EAA+C,QAAA,EAAU,UAAS,EACvK,QAAA,EAAA;AAAA,sBAAAA,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,WAAA,EAAa,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,cAAA,EAAgB,eAAA,EAAgB,EACzG,QAAA,EAAA;AAAA,wBAAAC,GAAAA,CAAC,UAAK,KAAA,EAAO,EAAE,MAAM,2BAAA,EAA6B,KAAA,EAAO,6BAAA,EAA8B,EAAG,QAAA,EAAA,eAAA,EAAa,CAAA;AAAA,wBACvGA,GAAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,WAAU,IAAA,EAAK,OAAA,EAAQ,WAAA,kBAAaA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,aAAA,EAAc,GAAI,QAAA,EAAA,YAAA,EAAU;AAAA,OAAA,EAC/F,CAAA;AAAA,sBACAA,GAAAA,CAAC,KAAA,EAAA,EAAM,SAAkB,IAAA,EAAM,QAAA,EAAU,UAAU,CAAC,CAAA,KAAM,EAAE,GAAA,EAAK,KAAA,EAAO,EAAE,YAAA,EAAc,CAAA,EAAG,WAAW,MAAA,EAAQ,SAAA,EAAW,yCAAwC,EAAG;AAAA,KAAA,EACtK;AAAA,GAAA,EACF,CAAA;AAEJ;AAEA,SAAS,SAAA,GAAuB;AAC9B,EAAA,MAAM,MAAM,CAAC,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,IAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,IAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,EAAA,EAAI,KAAK,GAAG,CAAA;AACzE,EAAA,MAAM,CAAA,GAAI,GAAA,EAAM,CAAA,GAAI,GAAA,EAAK,GAAA,GAAM,GAAA;AAC/B,EAAA,MAAM,IAAA,GAAO,CAAA,IAAK,GAAA,CAAI,MAAA,GAAS,CAAA,CAAA;AAC/B,EAAA,MAAM,IAAA,GAAO,GAAA,CAAI,GAAA,CAAI,CAAC,CAAA,EAAG,CAAA,KAAM,CAAA,EAAG,CAAA,GAAI,GAAA,GAAM,GAAG,CAAA,EAAA,CAAI,CAAA,GAAI,IAAA,EAAM,OAAA,CAAQ,CAAC,CAAC,CAAA,CAAA,EAAA,CAAK,CAAA,GAAK,CAAA,GAAI,GAAA,GAAO,CAAA,EAAG,OAAA,CAAQ,CAAC,CAAC,CAAA,CAAE,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA;AACrH,EAAA,MAAM,IAAA,GAAO,GAAG,IAAI,CAAA,EAAA,EAAK,CAAC,CAAA,CAAA,EAAI,CAAC,OAAO,CAAC,CAAA,EAAA,CAAA;AACvC,EAAA,uBACED,IAAAA,CAAC,KAAA,EAAA,EAAI,SAAS,CAAA,IAAA,EAAO,CAAC,IAAI,CAAC,CAAA,CAAA,EAAI,qBAAoB,MAAA,EAAO,KAAA,EAAO,EAAE,KAAA,EAAO,MAAA,EAAQ,QAAQ,GAAA,EAAK,OAAA,EAAS,SAAQ,EAC9G,QAAA,EAAA;AAAA,oBAAAC,GAAAA,CAAC,MAAA,EAAA,EACC,QAAA,kBAAAD,IAAAA,CAAC,oBAAe,EAAA,EAAG,YAAA,EAAa,EAAA,EAAG,GAAA,EAAI,EAAA,EAAG,GAAA,EAAI,EAAA,EAAG,GAAA,EAAI,IAAG,GAAA,EACtD,QAAA,EAAA;AAAA,sBAAAC,IAAC,MAAA,EAAA,EAAK,MAAA,EAAO,MAAK,SAAA,EAAU,0BAAA,EAA2B,aAAY,MAAA,EAAO,CAAA;AAAA,sBAC1EA,IAAC,MAAA,EAAA,EAAK,MAAA,EAAO,QAAO,SAAA,EAAU,0BAAA,EAA2B,aAAY,GAAA,EAAI;AAAA,KAAA,EAC3E,CAAA,EACF,CAAA;AAAA,oBACAA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAG,IAAA,EAAM,MAAK,kBAAA,EAAmB,CAAA;AAAA,oBACvCA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAG,MAAM,IAAA,EAAK,MAAA,EAAO,MAAA,EAAO,0BAAA,EAA2B,WAAA,EAAY,KAAA,EAAM,aAAA,EAAc,OAAA,EAAQ,gBAAe,OAAA,EAAQ;AAAA,GAAA,EAC9H,CAAA;AAEJ;AC/IO,SAAS,cAAA,GAAiB;AAC/B,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAIC,SAAS,WAAW,CAAA;AAChD,EAAA,uBACEF,KAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,MAAA,EAAQ,MAAA,EAAO,EAC5C,QAAA,EAAA;AAAA,oBAAAC,GAAAA,CAAC,aAAA,EAAA,EAAc,MAAA,EAAgB,UAAA,EAAY,SAAA,EAAW,CAAA;AAAA,oBACtDD,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,IAAA,EAAM,CAAA,EAAG,QAAA,EAAU,CAAA,EAAG,SAAS,MAAA,EAAQ,aAAA,EAAe,QAAA,EAAU,QAAA,EAAU,UAAS,EAC/F,QAAA,EAAA;AAAA,sBAAAA,KAAC,QAAA,EAAA,EAAO,KAAA,EAAO,EAAE,OAAA,EAAS,QAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,EAAA,EAAI,SAAS,WAAA,EAAa,YAAA,EAAc,uCAAA,EAAyC,UAAA,EAAY,0BAAyB,EACjL,QAAA,EAAA;AAAA,wBAAAC,IAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,IAAA,EAAM,CAAA,IAClB,QAAA,kBAAAD,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,YAAY,QAAA,EAAU,GAAA,EAAK,GAAE,EAC1D,QAAA,EAAA;AAAA,0BAAAC,GAAAA,CAAC,IAAA,EAAA,EAAG,KAAA,EAAO,EAAE,MAAA,EAAQ,CAAA,EAAG,IAAA,EAAM,2BAAA,EAA6B,KAAA,EAAO,6BAAA,EAA8B,EAAG,QAAA,EAAA,WAAA,EAAS,CAAA;AAAA,0BAC5GA,GAAAA,CAAC,KAAA,EAAA,EAAM,KAAA,EAAM,OAAA,EAAQ,OAAA,EAAQ,OAAA,EAAQ,IAAA,EAAK,OAAA,EAAQ,GAAA,EAAG,IAAA,EAAC,QAAA,EAAA,cAAA,EAAY;AAAA,SAAA,EACpE,CAAA,EACF,CAAA;AAAA,wBACAD,IAAAA,CAAC,KAAA,EAAA,EAAI,OAAO,EAAE,QAAA,EAAU,YAAW,EACjC,QAAA,EAAA;AAAA,0BAAAC,IAAC,GAAA,EAAA,EAAE,SAAA,EAAU,kBAAiB,KAAA,EAAO,EAAE,UAAU,UAAA,EAAY,IAAA,EAAM,EAAA,EAAI,GAAA,EAAK,OAAO,SAAA,EAAW,kBAAA,EAAoB,UAAU,EAAA,EAAI,KAAA,EAAO,6BAA4B,EAAG,CAAA;AAAA,0BACtKA,GAAAA,CAAC,OAAA,EAAA,EAAM,WAAA,EAAY,eAAA,EAAgB,KAAA,EAAO,EAAE,KAAA,EAAO,GAAA,EAAK,SAAA,EAAW,YAAA,EAAc,MAAA,EAAQ,EAAA,EAAI,OAAA,EAAS,eAAA,EAAiB,YAAA,EAAc,uBAAA,EAAyB,MAAA,EAAQ,MAAA,EAAQ,UAAA,EAAY,wBAAA,EAA0B,SAAA,EAAW,6CAAA,EAA+C,IAAA,EAAM,+BAAA,EAAiC,KAAA,EAAO,6BAAA,EAA+B,OAAA,EAAS,QAAO,EAAG;AAAA,SAAA,EAChX,CAAA;AAAA,wBACAA,GAAAA,CAAC,MAAA,EAAA,EAAO,QAAA,EAAQ,MAAC,OAAA,EAAQ,SAAA,EAAU,UAAA,EAAW,QAAA,EAAS,sBAAMA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,0BAAyB,CAAA,EAAI,CAAA;AAAA,wBACvGA,GAAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,SAAA,EAAU,WAAA,kBAAaA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,0BAAA,EAA2B,CAAA,EAAI,QAAA,EAAA,OAAA,EAAK;AAAA,OAAA,EAC1F,CAAA;AAAA,sBACAA,GAAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,IAAA,EAAM,CAAA,EAAG,QAAA,EAAU,MAAA,EAAQ,YAAY,wBAAA,EAAyB,EAC7E,QAAA,kBAAAA,GAAAA,CAAC,iBAAc,CAAA,EACjB;AAAA,KAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;AC9BO,SAAS,YAAA,GAAe;AAC7B,EAAA,MAAM,QAAQ,CAAC,SAAA,EAAW,WAAA,EAAa,SAAA,EAAW,aAAa,MAAM,CAAA;AACrE,EAAA,uBACEA,GAAAA,CAAC,QAAA,EAAA,EAAO,KAAA,EAAO,EAAE,QAAA,EAAU,QAAA,EAAU,GAAA,EAAK,CAAA,EAAG,QAAQ,EAAA,EAAI,UAAA,EAAY,6DAAA,EAA+D,cAAA,EAAgB,cAAc,YAAA,EAAc,uCAAA,EAAwC,EACtN,QAAA,kBAAAD,KAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,QAAA,EAAU,MAAM,MAAA,EAAQ,QAAA,EAAU,OAAA,EAAS,MAAA,EAAQ,YAAY,QAAA,EAAU,GAAA,EAAK,EAAA,EAAI,OAAA,EAAS,aAAY,EACnH,QAAA,EAAA;AAAA,oBAAAA,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,QAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,EAAA,EAAG,EAC3D,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,KAAA,EAAO,EAAA,EAAI,MAAA,EAAQ,EAAA,EAAI,YAAA,EAAc,uBAAA,EAAyB,UAAA,EAAY,2BAAA,EAA6B,OAAO,0BAAA,EAA4B,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,cAAA,EAAgB,QAAA,EAAS,EACtN,0BAAAA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,gBAAA,EAAiB,KAAA,EAAO,EAAE,QAAA,EAAU,EAAA,IAAM,CAAA,EACzD,CAAA;AAAA,sBACAA,GAAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,MAAM,2BAAA,EAA6B,KAAA,EAAO,6BAAA,EAA8B,EAAG,QAAA,EAAA,MAAA,EAAI;AAAA,KAAA,EAChG,CAAA;AAAA,oBACAA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,SAAS,MAAA,EAAQ,GAAA,EAAK,CAAA,EAAG,IAAA,EAAM,GAAE,EAC5C,QAAA,EAAA,KAAA,CAAM,GAAA,CAAI,CAAC,sBACVA,GAAAA,CAAC,GAAA,EAAA,EAAU,IAAA,EAAK,KAAI,KAAA,EAAO,EAAE,OAAA,EAAS,UAAA,EAAY,cAAc,uBAAA,EAAyB,IAAA,EAAM,2BAAA,EAA6B,KAAA,EAAO,4BAA4B,cAAA,EAAgB,MAAA,IAAW,QAAA,EAAA,CAAA,EAAA,EAAlL,CAAoL,CAC7L,CAAA,EACH,CAAA;AAAA,oBACAA,GAAAA,CAAC,GAAA,EAAA,EAAE,IAAA,EAAK,KAAI,KAAA,EAAO,EAAE,IAAA,EAAM,2BAAA,EAA6B,KAAA,EAAO,0BAAA,EAA4B,cAAA,EAAgB,MAAA,IAAU,QAAA,EAAA,SAAA,EAAO,CAAA;AAAA,oBAC5HA,GAAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,WAAU,IAAA,EAAK,OAAA,EAAQ,YAAA,kBAAcA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,qBAAA,EAAsB,GAAI,QAAA,EAAA,YAAA,EAAU;AAAA,GAAA,EACxG,CAAA,EACF,CAAA;AAEJ;ACpBA,SAASG,KAAAA,CAAK,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,QAAQ,IAAA,EAAM,IAAA,GAAO,SAAA,EAAW,IAAA,EAAK,EAGvE;AACD,EAAA,MAAM,EAAA,GAAK,KAAA,KAAU,IAAA,GAAO,SAAA,GAAY,OAAA;AACxC,EAAA,uBACEJ,IAAAA,CAAC,IAAA,EAAA,EAAK,OAAA,EAAQ,QAAA,EAAS,SAAS,EAAA,EAC9B,QAAA,EAAA;AAAA,oBAAAA,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,QAAQ,UAAA,EAAY,YAAA,EAAc,cAAA,EAAgB,eAAA,EAAgB,EACvF,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,KAAA,EAAO,EAAA,EAAI,MAAA,EAAQ,EAAA,EAAI,YAAA,EAAc,uBAAA,EAAyB,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,cAAA,EAAgB,QAAA,EAAU,QAAA,EAAU,EAAA,EAAI,UAAA,EAAY,CAAA,iBAAA,EAAoB,IAAI,CAAA,SAAA,CAAA,EAAa,KAAA,EAAO,CAAA,iBAAA,EAAoB,IAAI,CAAA,MAAA,CAAA,EAAS,EAAI,QAAA,EAAA,IAAA,EAAK,CAAA;AAAA,MAC7P,KAAA,IAAS,IAAA,mBACRD,IAAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,OAAA,EAAS,aAAA,EAAe,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,CAAA,EAAG,MAAA,EAAQ,EAAA,EAAI,OAAA,EAAS,OAAA,EAAS,YAAA,EAAc,4BAAA,EAA8B,IAAA,EAAM,2BAAA,EAA6B,UAAA,EAAY,CAAA,iBAAA,EAAoB,EAAE,CAAA,SAAA,CAAA,EAAa,KAAA,EAAO,CAAA,iBAAA,EAAoB,EAAE,UAAS,EACrQ,QAAA,EAAA;AAAA,wBAAAC,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAW,KAAA,KAAU,IAAA,GAAO,kBAAA,GAAqB,oBAAA,EAAsB,KAAA,EAAO,EAAE,QAAA,EAAU,EAAA,EAAG,EAAG,CAAA;AAAA,QAAG;AAAA,OAAA,EACxG,CAAA,GACE;AAAA,KAAA,EACN,CAAA;AAAA,oBACAA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,SAAA,EAAW,EAAA,EAAI,IAAA,EAAM,+BAAA,EAAiC,KAAA,EAAO,0BAAA,EAA2B,EAAI,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,oBAChHA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,SAAA,EAAW,CAAA,EAAG,IAAA,EAAM,2BAAA,EAA6B,KAAA,EAAO,6BAAA,EAA8B,EAAI,QAAA,EAAA,KAAA,EAAM;AAAA,GAAA,EAChH,CAAA;AAEJ;AAsBO,SAAS,iBAAA,GAAoB;AAClC,EAAA,MAAM,OAAsB,EAAE,QAAA,EAAU,MAAM,MAAA,EAAQ,QAAA,EAAU,SAAS,QAAA,EAAS;AAElF,EAAA,MAAM,QAAA,GAAsB;AAAA,IAC1B,EAAE,IAAA,EAAM,uBAAA,EAAyB,CAAA,EAAG,iBAAA,EAAmB,GAAG,4EAAA,EAA6E;AAAA,IACvI,EAAE,IAAA,EAAM,oBAAA,EAAsB,CAAA,EAAG,oBAAA,EAAsB,GAAG,sEAAA,EAAkE;AAAA,IAC5H,EAAE,IAAA,EAAM,iBAAA,EAAmB,CAAA,EAAG,oBAAA,EAAsB,GAAG,qEAAA,EAAsE;AAAA,IAC7H,EAAE,IAAA,EAAM,kBAAA,EAAoB,CAAA,EAAG,gBAAA,EAAkB,GAAG,0DAAA,EAA2D;AAAA,IAC/G,EAAE,IAAA,EAAM,qBAAA,EAAuB,CAAA,EAAG,mBAAA,EAAqB,GAAG,wDAAA,EAAyD;AAAA,IACnH,EAAE,IAAA,EAAM,sBAAA,EAAwB,CAAA,EAAG,eAAA,EAAiB,GAAG,qDAAA;AAAsD,GAC/G;AAEA,EAAA,MAAM,KAAA,GAAuB;AAAA,IAC3B,EAAE,IAAA,EAAM,SAAA,EAAW,KAAA,EAAO,IAAA,EAAM,MAAM,iBAAA,EAAmB,KAAA,EAAO,CAAC,aAAA,EAAe,iBAAiB,mBAAmB,CAAA,EAAG,GAAA,EAAK,aAAA,EAAe,UAAU,KAAA,EAAM;AAAA,IAC3J,EAAE,IAAA,EAAM,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,MAAM,oBAAA,EAAsB,KAAA,EAAO,CAAC,oBAAA,EAAsB,qBAAqB,oBAAA,EAAsB,kBAAkB,GAAG,GAAA,EAAK,kBAAA,EAAoB,UAAU,IAAA,EAAK;AAAA,IAC/L,EAAE,IAAA,EAAM,MAAA,EAAQ,KAAA,EAAO,QAAA,EAAU,MAAM,mBAAA,EAAqB,KAAA,EAAO,CAAC,mBAAA,EAAqB,eAAe,mBAAA,EAAqB,KAAK,GAAG,GAAA,EAAK,eAAA,EAAiB,UAAU,KAAA;AAAM,GAC7K;AAEA,EAAA,MAAM,aAAA,GAAgC;AAAA,IACpC,EAAE,GAAG,SAAA,EAAW,CAAA,EAAG,CAAC,YAAA,EAAc,QAAA,EAAU,WAAA,EAAa,WAAW,CAAA,EAAE;AAAA,IACtE,EAAE,GAAG,SAAA,EAAW,CAAA,EAAG,CAAC,OAAA,EAAS,SAAA,EAAW,MAAA,EAAQ,SAAS,CAAA,EAAE;AAAA,IAC3D,EAAE,GAAG,OAAA,EAAS,CAAA,EAAG,CAAC,SAAA,EAAW,OAAA,EAAS,SAAS,CAAA;AAAE,GACnD;AAEA,EAAA,uBACED,KAAC,MAAA,EAAA,EAEC,QAAA,EAAA;AAAA,oBAAAA,IAAAA,CAAC,SAAA,EAAA,EAAQ,KAAA,EAAO,EAAE,GAAG,MAAM,SAAA,EAAW,QAAA,EAAU,OAAA,EAAS,gBAAA,EAAiB,EACxE,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,eAAe,YAAA,EAAc,EAAA,EAAG,EACrD,QAAA,kBAAAA,GAAAA,CAAC,KAAA,EAAA,EAAM,OAAM,QAAA,EAAS,OAAA,EAAQ,SAAA,EAAU,WAAA,kBAAaA,GAAAA,CAAC,OAAE,SAAA,EAAU,qBAAA,EAAsB,CAAA,EAAI,QAAA,EAAA,qBAAA,EAAmB,CAAA,EACjH,CAAA;AAAA,sBACAA,GAAAA,CAAC,IAAA,EAAA,EAAG,KAAA,EAAO,EAAE,QAAQ,QAAA,EAAU,QAAA,EAAU,GAAA,EAAK,IAAA,EAAM,6BAA6B,aAAA,EAAe,+BAAA,EAAiC,KAAA,EAAO,6BAAA,IAAiC,QAAA,EAAA,uCAAA,EAEzK,CAAA;AAAA,sBACAA,GAAAA,CAAC,GAAA,EAAA,EAAE,KAAA,EAAO,EAAE,MAAA,EAAQ,aAAA,EAAe,QAAA,EAAU,GAAA,EAAK,IAAA,EAAM,+BAAA,EAAiC,KAAA,EAAO,0BAAA,IAA8B,QAAA,EAAA,iJAAA,EAE9H,CAAA;AAAA,sBACAD,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,GAAA,EAAK,EAAA,EAAI,cAAA,EAAgB,QAAA,EAAU,SAAA,EAAW,IAAG,EAC9E,QAAA,EAAA;AAAA,wBAAAC,GAAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,SAAA,EAAU,IAAA,EAAK,OAAA,EAAQ,YAAA,kBAAcA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,qBAAA,EAAsB,GAAI,QAAA,EAAA,qBAAA,EAAmB,CAAA;AAAA,wBAC/GA,GAAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,SAAA,EAAU,YAAW,QAAA,EAAS,IAAA,EAAK,OAAA,EAAQ,WAAA,kBAAaA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,gBAAA,EAAiB,GAAI,QAAA,EAAA,gBAAA,EAAc;AAAA,OAAA,EAC1H,CAAA;AAAA,sBACAA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,SAAA,EAAW,EAAA,EAAI,MAAA,EAAQ,GAAA,EAAK,cAAc,wBAAA,EAA0B,UAAA,EAAY,yEAAA,EAA2E,SAAA,EAAW,sEAAsE,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,cAAA,EAAgB,QAAA,EAAU,KAAA,EAAO,+BAAA,IAChU,QAAA,kBAAAA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,0BAAyB,KAAA,EAAO,EAAE,QAAA,EAAU,EAAA,IAAM,CAAA,EACjE;AAAA,KAAA,EACF,CAAA;AAAA,oBAGAD,KAAC,SAAA,EAAA,EAAQ,KAAA,EAAO,EAAE,GAAG,IAAA,EAAM,OAAA,EAAS,eAAA,EAAgB,EAClD,QAAA,EAAA;AAAA,sBAAAC,IAAC,GAAA,EAAA,EAAE,KAAA,EAAO,EAAE,SAAA,EAAW,UAAU,IAAA,EAAM,gCAAA,EAAkC,aAAA,EAAe,oCAAA,EAAsC,eAAe,WAAA,EAAa,KAAA,EAAO,6BAA6B,YAAA,EAAc,EAAA,IAAM,QAAA,EAAA,qBAAA,EAAmB,CAAA;AAAA,sBACrOA,GAAAA,CAAC,KAAA,EAAA,EAAI,OAAO,EAAE,OAAA,EAAS,QAAQ,QAAA,EAAU,MAAA,EAAQ,GAAA,EAAK,EAAA,EAAI,gBAAgB,QAAA,EAAU,UAAA,EAAY,UAAU,KAAA,EAAO,+BAAA,IAC9G,QAAA,EAAA,CAAC,gBAAA,EAAkB,mBAAA,EAAqB,eAAA,EAAiB,kBAAkB,eAAA,EAAiB,gBAAgB,EAAE,GAAA,CAAI,CAAC,sBAClHA,GAAAA,CAAC,OAAU,SAAA,EAAW,CAAA,EAAG,OAAO,EAAE,QAAA,EAAU,IAAG,EAAA,EAAvC,CAA0C,CACnD,CAAA,EACH;AAAA,KAAA,EACF,CAAA;AAAA,oBAGAA,IAAC,SAAA,EAAA,EAAQ,KAAA,EAAO,EAAE,GAAG,IAAA,EAAM,SAAS,gBAAA,EAAiB,EACnD,0BAAAD,IAAAA,CAAC,KAAA,EAAA,EAAI,OAAO,EAAE,OAAA,EAAS,QAAQ,mBAAA,EAAqB,gBAAA,EAAkB,GAAA,EAAK,EAAA,EAAG,EAC5E,QAAA,EAAA;AAAA,sBAAAC,IAACG,KAAAA,EAAA,EAAK,OAAM,YAAA,EAAa,KAAA,EAAM,OAAM,KAAA,EAAM,aAAA,EAAc,OAAM,IAAA,EAAK,IAAA,EAAK,WAAU,IAAA,kBAAMH,IAAC,GAAA,EAAA,EAAE,SAAA,EAAU,oBAAmB,CAAA,EAAI,CAAA;AAAA,sBAC7HA,IAACG,KAAAA,EAAA,EAAK,OAAM,eAAA,EAAgB,KAAA,EAAM,QAAO,KAAA,EAAM,eAAA,EAAgB,OAAM,IAAA,EAAK,IAAA,EAAK,eAAc,IAAA,kBAAMH,IAAC,GAAA,EAAA,EAAE,SAAA,EAAU,mBAAkB,CAAA,EAAI,CAAA;AAAA,sBACtIA,IAACG,KAAAA,EAAA,EAAK,OAAM,OAAA,EAAQ,KAAA,EAAM,UAAS,KAAA,EAAM,aAAA,EAAc,OAAM,IAAA,EAAK,IAAA,EAAK,WAAU,IAAA,kBAAMH,IAAC,GAAA,EAAA,EAAE,SAAA,EAAU,kBAAiB,CAAA,EAAI,CAAA;AAAA,sBACzHA,IAACG,KAAAA,EAAA,EAAK,OAAM,QAAA,EAAS,KAAA,EAAM,YAAW,KAAA,EAAM,SAAA,EAAU,OAAM,IAAA,EAAK,IAAA,EAAK,WAAU,IAAA,kBAAMH,IAAC,GAAA,EAAA,EAAE,SAAA,EAAU,sBAAqB,CAAA,EAAI;AAAA,KAAA,EAC9H,CAAA,EACF,CAAA;AAAA,oBAGAD,KAAC,SAAA,EAAA,EAAQ,KAAA,EAAO,EAAE,GAAG,IAAA,EAAM,OAAA,EAAS,WAAA,EAAY,EAC9C,QAAA,EAAA;AAAA,sBAAAA,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,SAAA,EAAW,UAAU,QAAA,EAAU,GAAA,EAAK,MAAA,EAAQ,aAAA,EAAc,EACtE,QAAA,EAAA;AAAA,wBAAAC,GAAAA,CAAC,IAAA,EAAA,EAAG,KAAA,EAAO,EAAE,MAAA,EAAQ,CAAA,EAAG,IAAA,EAAM,2BAAA,EAA6B,aAAA,EAAe,+BAAA,EAAiC,KAAA,EAAO,6BAAA,IAAiC,QAAA,EAAA,oCAAA,EAAkC,CAAA;AAAA,wBACrLA,GAAAA,CAAC,GAAA,EAAA,EAAE,KAAA,EAAO,EAAE,MAAA,EAAQ,UAAA,EAAY,IAAA,EAAM,+BAAA,EAAiC,KAAA,EAAO,0BAAA,EAA2B,EAAG,QAAA,EAAA,iEAAA,EAA+D;AAAA,OAAA,EAC7K,CAAA;AAAA,sBACAA,IAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,mBAAA,EAAqB,gBAAA,EAAkB,GAAA,EAAK,EAAA,IACxE,QAAA,EAAA,QAAA,CAAS,GAAA,CAAI,CAAC,CAAA,qBACbD,KAAC,IAAA,EAAA,EAAe,OAAA,EAAQ,QAAA,EAAS,OAAA,EAAS,EAAA,EACxC,QAAA,EAAA;AAAA,wBAAAC,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,KAAA,EAAO,EAAA,EAAI,MAAA,EAAQ,EAAA,EAAI,YAAA,EAAc,uBAAA,EAAyB,UAAA,EAAY,6BAAA,EAA+B,OAAO,0BAAA,EAA4B,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,cAAA,EAAgB,QAAA,EAAU,QAAA,EAAU,IAAI,YAAA,EAAc,EAAA,EAAG,EACxP,QAAA,kBAAAA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAW,CAAA,CAAE,MAAM,CAAA,EACxB,CAAA;AAAA,wBACAA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,IAAA,EAAM,2BAAA,EAA6B,KAAA,EAAO,6BAAA,EAA+B,YAAA,EAAc,CAAA,EAAE,EAAI,YAAE,CAAA,EAAE,CAAA;AAAA,wBAC/GA,GAAAA,CAAC,GAAA,EAAA,EAAE,KAAA,EAAO,EAAE,MAAA,EAAQ,CAAA,EAAG,IAAA,EAAM,+BAAA,EAAiC,KAAA,EAAO,0BAAA,EAA2B,EAAI,YAAE,CAAA,EAAE;AAAA,OAAA,EAAA,EAL/F,CAAA,CAAE,CAMb,CACD,CAAA,EACH;AAAA,KAAA,EACF,CAAA;AAAA,oBAGAD,KAAC,SAAA,EAAA,EAAQ,KAAA,EAAO,EAAE,GAAG,IAAA,EAAM,OAAA,EAAS,WAAA,EAAY,EAC9C,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,SAAA,EAAW,UAAU,YAAA,EAAc,EAAA,EAAG,EAClD,QAAA,kBAAAA,GAAAA,CAAC,IAAA,EAAA,EAAG,OAAO,EAAE,MAAA,EAAQ,CAAA,EAAG,IAAA,EAAM,2BAAA,EAA6B,aAAA,EAAe,iCAAiC,KAAA,EAAO,6BAAA,EAA8B,EAAG,QAAA,EAAA,sBAAA,EAAoB,CAAA,EACzK,CAAA;AAAA,sBACAA,IAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,qBAAqB,gBAAA,EAAkB,GAAA,EAAK,IAAI,UAAA,EAAY,OAAA,IACxF,QAAA,EAAA,KAAA,CAAM,GAAA,CAAI,CAAC,CAAA,qBACVD,IAAAA,CAAC,KAAA,EAAA,EAAiB,KAAA,EAAO;AAAA,QACvB,YAAA,EAAc,wBAAA;AAAA,QAA0B,OAAA,EAAS,EAAA;AAAA,QACjD,UAAA,EAAY,CAAA,CAAE,QAAA,GAAW,2BAAA,GAA8B,wBAAA;AAAA,QACvD,KAAA,EAAO,CAAA,CAAE,QAAA,GAAW,iCAAA,GAAoC,6BAAA;AAAA,QACxD,SAAA,EAAW,CAAA,CAAE,QAAA,GAAW,uBAAA,GAA0B;AAAA,OACpD,EACE,QAAA,EAAA;AAAA,wBAAAA,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,QAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,CAAA,EAAE,EAC1D,QAAA,EAAA;AAAA,0BAAAC,GAAAA,CAAC,UAAK,KAAA,EAAO,EAAE,MAAM,2BAAA,EAA4B,EAAI,YAAE,IAAA,EAAK,CAAA;AAAA,UAC3D,CAAA,CAAE,QAAA,mBAAWA,GAAAA,CAAC,KAAA,EAAA,EAAM,KAAA,EAAM,QAAA,EAAS,OAAA,EAAQ,QAAA,EAAS,IAAA,EAAK,OAAA,EAAQ,QAAA,EAAA,SAAA,EAAO,CAAA,GAAW;AAAA,SAAA,EACtF,CAAA;AAAA,wBACAD,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,SAAA,EAAW,EAAA,EAAI,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,UAAA,EAAY,GAAA,EAAK,GAAE,EAC3E,QAAA,EAAA;AAAA,0BAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,IAAA,EAAM,6BAA6B,aAAA,EAAe,+BAAA,EAAgC,EAAI,QAAA,EAAA,CAAA,CAAE,KAAA,EAAM,CAAA;AAAA,0BAC7GA,GAAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,IAAA,EAAM,+BAAA,EAAiC,OAAA,EAAS,GAAA,EAAG,EAAI,QAAA,EAAA,CAAA,CAAE,IAAA,EAAK;AAAA,SAAA,EAC/E,CAAA;AAAA,wBACAA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,QAAQ,QAAA,EAAU,OAAA,EAAS,MAAA,EAAQ,aAAA,EAAe,UAAU,GAAA,EAAK,EAAA,EAAG,EAC/E,QAAA,EAAA,CAAA,CAAE,MAAM,GAAA,CAAI,CAAC,CAAA,qBACZD,KAAC,KAAA,EAAA,EAAY,KAAA,EAAO,EAAE,OAAA,EAAS,QAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,CAAA,EAAG,MAAM,+BAAA,EAAiC,OAAA,EAAS,EAAE,QAAA,GAAW,GAAA,GAAK,GAAE,EACvI,QAAA,EAAA;AAAA,0BAAAC,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,yBAAA,EAA0B,KAAA,EAAO,EAAE,QAAA,EAAU,EAAA,EAAI,KAAA,EAAO,CAAA,CAAE,QAAA,GAAW,iCAAA,GAAoC,kCAAiC,EAAG,CAAA;AAAA,UAAG;AAAA,SAAA,EAAA,EADrJ,CAEV,CACD,CAAA,EACH,CAAA;AAAA,wBACAA,GAAAA,CAAC,QAAA,EAAA,EAAO,KAAA,EAAO;AAAA,UACb,KAAA,EAAO,MAAA;AAAA,UAAQ,MAAA,EAAQ,EAAA;AAAA,UAAI,MAAA,EAAQ,MAAA;AAAA,UAAQ,YAAA,EAAc,uBAAA;AAAA,UAAyB,MAAA,EAAQ,SAAA;AAAA,UAAW,IAAA,EAAM,2BAAA;AAAA,UAC3G,UAAA,EAAY,CAAA,CAAE,QAAA,GAAW,iCAAA,GAAoC,0BAAA;AAAA,UAC7D,KAAA,EAAO,CAAA,CAAE,QAAA,GAAW,iCAAA,GAAoC;AAAA,SAC1D,EAAI,YAAE,GAAA,EAAI;AAAA,OAAA,EAAA,EAzBF,CAAA,CAAE,IA0BZ,CACD,CAAA,EACH;AAAA,KAAA,EACF,CAAA;AAAA,oBAGAA,IAAC,SAAA,EAAA,EAAQ,KAAA,EAAO,EAAE,GAAG,IAAA,EAAM,OAAA,EAAS,WAAA,EAAY,EAC9C,QAAA,kBAAAD,KAAC,IAAA,EAAA,EAAK,OAAA,EAAQ,MAAA,EAAO,OAAA,EAAS,EAAA,EAAI,KAAA,EAAO,EAAE,SAAA,EAAW,QAAA,EAAU,YAAA,EAAc,wBAAA,EAAyB,EACrG,QAAA,EAAA;AAAA,sBAAAC,IAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,QAAQ,cAAA,EAAgB,QAAA,EAAU,GAAA,EAAK,CAAA,EAAG,OAAO,6BAAA,EAA+B,YAAA,EAAc,EAAA,EAAG,EACrH,WAAC,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,qBAAMA,GAAAA,CAAC,GAAA,EAAA,EAAU,SAAA,EAAU,cAAA,EAAe,OAAO,EAAE,QAAA,EAAU,IAAG,EAAA,EAAlD,CAAqD,CAAE,CAAA,EAC7F,CAAA;AAAA,sBACAA,GAAAA,CAAC,GAAA,EAAA,EAAE,KAAA,EAAO,EAAE,QAAQ,QAAA,EAAU,QAAA,EAAU,GAAA,EAAK,IAAA,EAAM,6BAA6B,KAAA,EAAO,6BAAA,EAA+B,UAAA,EAAY,0BAAA,IAA8B,QAAA,EAAA,gJAAA,EAEhK,CAAA;AAAA,sBACAD,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,gBAAgB,QAAA,EAAU,GAAA,EAAK,EAAA,EAAI,SAAA,EAAW,IAAG,EACpG,QAAA,EAAA;AAAA,wBAAAC,IAAC,MAAA,EAAA,EAAO,IAAA,EAAK,MAAK,QAAA,EAAS,IAAA,EAAK,OAAM,QAAA,EAAS,CAAA;AAAA,wBAC/CD,IAAAA,CAAC,KAAA,EAAA,EAAI,OAAO,EAAE,SAAA,EAAW,QAAO,EAC9B,QAAA,EAAA;AAAA,0BAAAC,GAAAA,CAAC,SAAI,KAAA,EAAO,EAAE,MAAM,2BAAA,EAA6B,KAAA,EAAO,6BAAA,EAA8B,EAAG,QAAA,EAAA,iBAAA,EAAe,CAAA;AAAA,0BACxGA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,MAAM,+BAAA,EAAiC,KAAA,EAAO,2BAAA,EAA4B,EAAG,QAAA,EAAA,2BAAA,EAAyB;AAAA,SAAA,EACtH;AAAA,OAAA,EACF;AAAA,KAAA,EACF,CAAA,EACF,CAAA;AAAA,oBAGAD,IAAAA,CAAC,SAAA,EAAA,EAAQ,KAAA,EAAO,EAAE,QAAA,EAAU,GAAA,EAAK,MAAA,EAAQ,QAAA,EAAU,OAAA,EAAS,WAAA,EAAY,EACtE,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAAC,IAAA,EAAA,EAAG,KAAA,EAAO,EAAE,QAAQ,UAAA,EAAY,SAAA,EAAW,QAAA,EAAU,IAAA,EAAM,6BAA6B,aAAA,EAAe,+BAAA,EAAiC,KAAA,EAAO,6BAAA,IAAiC,QAAA,EAAA,kBAAA,EAAgB,CAAA;AAAA,sBACjMA,GAAAA,CAAC,SAAA,EAAA,EAAU,WAAA,EAAY,KAAI,KAAA,EAAO;AAAA,QAChC,EAAE,EAAA,EAAI,GAAA,EAAK,KAAA,EAAO,yBAAA,EAA2B,SAAS,gIAAA,EAAiI;AAAA,QACvL,EAAE,EAAA,EAAI,GAAA,EAAK,KAAA,EAAO,iCAAA,EAAmC,SAAS,8IAAA,EAA0I;AAAA,QACxM,EAAE,EAAA,EAAI,GAAA,EAAK,KAAA,EAAO,4BAAA,EAA8B,SAAS,oIAAA,EAAqI;AAAA,QAC9L,EAAE,EAAA,EAAI,GAAA,EAAK,KAAA,EAAO,yBAAA,EAA2B,SAAS,yGAAA;AAA4G,OACpK,EAAG;AAAA,KAAA,EACL,CAAA;AAAA,oBAGAA,GAAAA,CAAC,SAAA,EAAA,EAAQ,KAAA,EAAO,EAAE,GAAG,IAAA,EAAM,OAAA,EAAS,gBAAA,EAAiB,EACnD,QAAA,kBAAAD,IAAAA,CAAC,SAAI,KAAA,EAAO,EAAE,YAAA,EAAc,wBAAA,EAA0B,OAAA,EAAS,WAAA,EAAa,SAAA,EAAW,QAAA,EAAU,UAAA,EAAY,2BAAA,EAA6B,KAAA,EAAO,iCAAA,EAAkC,EACjL,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAAC,IAAA,EAAA,EAAG,KAAA,EAAO,EAAE,MAAA,EAAQ,CAAA,EAAG,IAAA,EAAM,2BAAA,EAA6B,aAAA,EAAe,+BAAA,EAAgC,EAAG,QAAA,EAAA,4BAAA,EAA0B,CAAA;AAAA,sBACvIA,GAAAA,CAAC,GAAA,EAAA,EAAE,KAAA,EAAO,EAAE,MAAA,EAAQ,aAAA,EAAe,QAAA,EAAU,GAAA,EAAK,IAAA,EAAM,+BAAA,EAAiC,OAAA,EAAS,GAAA,IAAM,QAAA,EAAA,yCAAA,EAAuC,CAAA;AAAA,sBAC/ID,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,GAAA,EAAK,EAAA,EAAI,cAAA,EAAgB,QAAA,EAAU,SAAA,EAAW,IAAG,EAC9E,QAAA,EAAA;AAAA,wBAAAC,GAAAA,CAAC,YAAO,KAAA,EAAO,EAAE,QAAQ,EAAA,EAAI,OAAA,EAAS,UAAU,MAAA,EAAQ,MAAA,EAAQ,cAAc,uBAAA,EAAyB,MAAA,EAAQ,WAAW,IAAA,EAAM,2BAAA,EAA6B,YAAY,iCAAA,EAAmC,KAAA,EAAO,iCAAA,EAAkC,EAAG,QAAA,EAAA,YAAA,EAAU,CAAA;AAAA,wBAClQA,IAAC,QAAA,EAAA,EAAO,KAAA,EAAO,EAAE,MAAA,EAAQ,EAAA,EAAI,OAAA,EAAS,QAAA,EAAU,MAAA,EAAQ,MAAA,EAAQ,cAAc,uBAAA,EAAyB,MAAA,EAAQ,WAAW,IAAA,EAAM,2BAAA,EAA6B,YAAY,kCAAA,EAAoC,KAAA,EAAO,iCAAA,EAAkC,EAAG,QAAA,EAAA,aAAA,EAAW;AAAA,OAAA,EACtQ;AAAA,KAAA,EACF,CAAA,EACF,CAAA;AAAA,oBAGAD,IAAAA,CAAC,QAAA,EAAA,EAAO,OAAO,EAAE,SAAA,EAAW,yCAAwC,EAClE,QAAA,EAAA;AAAA,sBAAAA,KAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,GAAG,MAAM,OAAA,EAAS,MAAA,EAAQ,GAAA,EAAK,EAAA,EAAI,UAAU,MAAA,EAAQ,cAAA,EAAgB,eAAA,EAAiB,OAAA,EAAS,aAAY,EACvH,QAAA,EAAA;AAAA,wBAAAA,KAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,QAAA,EAAU,KAAI,EAC1B,QAAA,EAAA;AAAA,0BAAAA,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,EAAA,EAAI,YAAA,EAAc,EAAA,EAAG,EAC7E,QAAA,EAAA;AAAA,4BAAAC,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,KAAA,EAAO,EAAA,EAAI,MAAA,EAAQ,EAAA,EAAI,YAAA,EAAc,uBAAA,EAAyB,UAAA,EAAY,2BAAA,EAA6B,OAAO,0BAAA,EAA4B,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,cAAA,EAAgB,QAAA,EAAS,EAAG,0BAAAA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,gBAAA,EAAiB,KAAA,EAAO,EAAE,QAAA,EAAU,EAAA,IAAM,CAAA,EAAE,CAAA;AAAA,4BACpRA,GAAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,MAAM,2BAAA,EAA6B,KAAA,EAAO,6BAAA,EAA8B,EAAG,QAAA,EAAA,MAAA,EAAI;AAAA,WAAA,EAChG,CAAA;AAAA,0BACAA,GAAAA,CAAC,GAAA,EAAA,EAAE,KAAA,EAAO,EAAE,MAAA,EAAQ,CAAA,EAAG,IAAA,EAAM,+BAAA,EAAiC,KAAA,EAAO,2BAAA,EAA4B,EAAG,QAAA,EAAA,wCAAA,EAAsC;AAAA,SAAA,EAC5I,CAAA;AAAA,QACC,cAAc,GAAA,CAAI,CAAC,CAAA,qBAClBD,KAAC,KAAA,EAAA,EACC,QAAA,EAAA;AAAA,0BAAAC,IAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,IAAA,EAAM,kCAAkC,aAAA,EAAe,oCAAA,EAAsC,aAAA,EAAe,WAAA,EAAa,OAAO,2BAAA,EAA6B,YAAA,EAAc,EAAA,EAAG,EAAI,YAAE,CAAA,EAAE,CAAA;AAAA,0BACpMA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,aAAA,EAAe,QAAA,EAAU,KAAK,CAAA,EAAE,EAC5D,QAAA,EAAA,CAAA,CAAE,CAAA,CAAE,IAAI,CAAC,CAAA,qBAAMA,GAAAA,CAAC,GAAA,EAAA,EAAU,IAAA,EAAK,GAAA,EAAI,KAAA,EAAO,EAAE,IAAA,EAAM,+BAAA,EAAiC,KAAA,EAAO,0BAAA,EAA4B,gBAAgB,MAAA,EAAO,EAAI,QAAA,EAAA,CAAA,EAAA,EAA1H,CAA4H,CAAI,CAAA,EAC1J;AAAA,SAAA,EAAA,EAJQ,CAAA,CAAE,CAKZ,CACD;AAAA,OAAA,EACH,CAAA;AAAA,sBACAD,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,GAAG,IAAA,EAAM,OAAA,EAAS,MAAA,EAAQ,cAAA,EAAgB,iBAAiB,UAAA,EAAY,QAAA,EAAU,SAAS,WAAA,EAAa,SAAA,EAAW,yCAAwC,EACtK,QAAA,EAAA;AAAA,wBAAAC,GAAAA,CAAC,UAAK,KAAA,EAAO,EAAE,MAAM,+BAAA,EAAiC,KAAA,EAAO,2BAAA,EAA4B,EAAG,QAAA,EAAA,sCAAA,EAAiC,CAAA;AAAA,wBAC7HA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,GAAA,EAAK,EAAA,EAAI,KAAA,EAAO,2BAAA,EAA4B,EACxE,QAAA,EAAA,CAAC,qBAAqB,gBAAA,EAAkB,kBAAkB,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,qBAAMA,GAAAA,CAAC,OAAU,SAAA,EAAW,CAAA,EAAG,KAAA,EAAO,EAAE,QAAA,EAAU,EAAA,EAAG,EAAA,EAAvC,CAA0C,CAAE,CAAA,EAC9H;AAAA,OAAA,EACF;AAAA,KAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;ACzOO,SAAS,iBAAA,GAAoB;AAClC,EAAA,uBACED,KAAC,KAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAAC,IAAC,YAAA,EAAA,EAAa,CAAA;AAAA,oBACdA,IAAC,iBAAA,EAAA,EAAkB;AAAA,GAAA,EACrB,CAAA;AAEJ;ACMA,IAAM,GAAA,GAAM,CAAC,KAAA,EAAO,KAAA,EAAO,OAAO,KAAA,EAAO,KAAA,EAAO,OAAO,KAAK,CAAA;AAC5D,IAAM,GAAA,GAAgC;AAAA,EACpC,OAAA,EAAS,EAAE,KAAA,EAAO,MAAA,EAAQ,OAAO,SAAA,EAAU;AAAA,EAC3C,KAAA,EAAO,EAAE,KAAA,EAAO,QAAA,EAAU,OAAO,OAAA,EAAQ;AAAA,EACzC,MAAA,EAAQ,EAAE,KAAA,EAAO,OAAA,EAAS,OAAO,QAAA,EAAS;AAAA,EAC1C,MAAA,EAAQ,EAAE,KAAA,EAAO,QAAA,EAAU,OAAO,QAAA;AACpC,CAAA;AAQA,IAAM,MAAA,GAAqC;AAAA,EACzC,GAAG,CAAC,EAAE,GAAG,SAAA,EAAW,CAAA,EAAG,WAAW,CAAA;AAAA,EAClC,CAAA,EAAG,CAAC,EAAE,CAAA,EAAG,OAAA,EAAS,CAAA,EAAG,eAAA,EAAgB,EAAG,EAAE,CAAA,EAAG,QAAA,EAAU,CAAA,EAAG,WAAW,CAAA;AAAA,EACrE,GAAG,CAAC,EAAE,GAAG,QAAA,EAAU,CAAA,EAAG,cAAc,CAAA;AAAA,EACpC,GAAG,CAAC,EAAE,GAAG,SAAA,EAAW,CAAA,EAAG,WAAW,CAAA;AAAA,EAClC,IAAI,CAAC,EAAE,GAAG,SAAA,EAAW,CAAA,EAAG,WAAU,EAAG,EAAE,GAAG,OAAA,EAAS,CAAA,EAAG,cAAa,EAAG,EAAE,GAAG,QAAA,EAAU,CAAA,EAAG,WAAW,CAAA;AAAA,EACnG,IAAI,CAAC,EAAE,GAAG,QAAA,EAAU,CAAA,EAAG,WAAW,CAAA;AAAA,EAClC,IAAI,CAAC,EAAE,GAAG,OAAA,EAAS,CAAA,EAAG,aAAa,CAAA;AAAA,EACnC,IAAI,CAAC,EAAE,GAAG,SAAA,EAAW,CAAA,EAAG,aAAa,CAAA;AAAA,EACrC,IAAI,CAAC,EAAE,GAAG,QAAA,EAAU,CAAA,EAAG,WAAW,CAAA;AAAA,EAClC,IAAI,CAAC,EAAE,GAAG,QAAA,EAAU,CAAA,EAAG,WAAW,CAAA;AAAA,EAClC,IAAI,CAAC,EAAE,GAAG,SAAA,EAAW,CAAA,EAAG,YAAY;AACtC,CAAA;AAOA,SAAS,OAAA,CAAQ,EAAE,GAAA,EAAK,KAAA,EAAM,EAAiB;AAC7C,EAAA,MAAM,GAAA,GAAM,MAAA,CAAO,GAAG,CAAA,IAAK,EAAC;AAC5B,EAAA,uBACED,IAAAA,CAAC,KAAA,EAAA,EAAI,OAAO,EAAE,SAAA,EAAW,KAAK,OAAA,EAAS,CAAA,EAAG,YAAY,wBAAA,EAA0B,SAAA,EAAW,iDAAiD,OAAA,EAAS,MAAA,EAAQ,eAAe,QAAA,EAAU,GAAA,EAAK,GAAE,EAC3L,QAAA,EAAA;AAAA,oBAAAC,GAAAA,CAAC,UAAK,KAAA,EAAO;AAAA,MACX,SAAA,EAAW,YAAA;AAAA,MAAc,OAAA,EAAS,aAAA;AAAA,MAAe,UAAA,EAAY,QAAA;AAAA,MAAU,cAAA,EAAgB,QAAA;AAAA,MACvF,QAAA,EAAU,EAAA;AAAA,MAAI,MAAA,EAAQ,EAAA;AAAA,MAAI,OAAA,EAAS,OAAA;AAAA,MAAS,YAAA,EAAc,yBAAA;AAAA,MAC1D,IAAA,EAAM,2BAAA;AAAA,MAA6B,kBAAA,EAAoB,cAAA;AAAA,MACvD,UAAA,EAAY,QAAQ,0BAAA,GAA6B,aAAA;AAAA,MACjD,KAAA,EAAO,QAAQ,iCAAA,GAAoC;AAAA,OACjD,QAAA,EAAA,GAAA,EAAI,CAAA;AAAA,oBACRA,IAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,eAAe,QAAA,EAAU,GAAA,EAAK,GAAE,EAC5D,QAAA,EAAA,GAAA,CAAI,MAAM,CAAA,EAAG,CAAC,EAAE,GAAA,CAAI,CAAC,GAAG,CAAA,KAAM;AAC7B,MAAA,MAAM,GAAA,GAAM,GAAA,CAAI,CAAA,CAAE,CAAC,CAAA;AACnB,MAAA,uBACED,IAAAA,CAAC,KAAA,EAAA,EAAY,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,CAAA,EAAG,OAAA,EAAS,SAAA,EAAW,cAAc,uBAAA,EAAyB,UAAA,EAAY,CAAA,WAAA,EAAc,GAAA,CAAI,KAAK,CAAA,IAAA,CAAA,EAAQ,IAAA,EAAM,2BAAA,EAA6B,OAAO,CAAA,WAAA,EAAc,GAAA,CAAI,KAAK,CAAA,+BAAA,CAAA,EAAmC,UAAU,QAAA,EAAU,UAAA,EAAY,QAAA,EAAU,YAAA,EAAc,YAAW,EAChV,QAAA,EAAA;AAAA,wBAAAC,IAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,KAAA,EAAO,GAAG,MAAA,EAAQ,CAAA,EAAG,YAAA,EAAc,yBAAA,EAA2B,YAAY,CAAA,WAAA,EAAc,GAAA,CAAI,KAAK,CAAA,KAAA,CAAA,EAAS,IAAA,EAAM,QAAO,EAAG,CAAA;AAAA,wBACzIA,GAAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,QAAA,EAAU,QAAA,EAAU,YAAA,EAAc,UAAA,EAAW,EAAI,QAAA,EAAA,CAAA,CAAE,CAAA,EAAE;AAAA,OAAA,EAAA,EAF5D,CAGV,CAAA;AAAA,IAEJ,CAAC,CAAA,EACH;AAAA,GAAA,EACF,CAAA;AAEJ;AAQA,IAAM,MAAA,GAAwB;AAAA,EAC5B,EAAE,CAAA,EAAG,kBAAA,EAAoB,IAAA,EAAM,oBAAA,EAAiB,GAAG,SAAA,EAAU;AAAA,EAC7D,EAAE,CAAA,EAAG,YAAA,EAAc,IAAA,EAAM,oBAAA,EAAiB,GAAG,OAAA,EAAQ;AAAA,EACrD,EAAE,CAAA,EAAG,SAAA,EAAW,IAAA,EAAM,oBAAA,EAAiB,GAAG,QAAA;AAC5C,CAAA;AAGO,SAAS,gBAAA,GAAmB;AACjC,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAIC,SAAS,KAAK,CAAA;AAC1C,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAIA,SAAS,OAAO,CAAA;AAExC,EAAA,MAAM,KAAA,GAA2B,CAAC,GAAG,KAAA,CAAY,CAAC,CAAA,CAAE,IAAA,CAAK,IAAI,CAAA,EAAG,GAAG,MAAM,IAAA,CAAK,EAAE,QAAQ,EAAA,EAAG,EAAG,CAAC,CAAA,EAAG,CAAA,KAAM,CAAA,GAAI,CAAC,CAAC,CAAA;AAC9G,EAAA,uBACEF,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,QAAA,EAAU,IAAA,EAAM,MAAA,EAAQ,QAAA,EAAU,OAAA,EAAS,gBAAA,EAAiB,EACxE,QAAA,EAAA;AAAA,oBAAAA,KAAC,QAAA,EAAA,EAAO,KAAA,EAAO,EAAE,OAAA,EAAS,QAAQ,UAAA,EAAY,YAAA,EAAc,GAAA,EAAK,EAAA,EAAI,OAAO,MAAA,EAAQ,OAAA,EAAS,UAAA,EAAY,SAAA,EAAW,8CAA6C,EAC/J,QAAA,EAAA;AAAA,sBAAAA,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,SAAS,MAAA,EAAQ,aAAA,EAAe,QAAA,EAAU,GAAA,EAAK,CAAA,EAAG,IAAA,EAAM,CAAA,EAAG,QAAA,EAAU,GAAE,EACnF,QAAA,EAAA;AAAA,wBAAAC,GAAAA,CAAC,IAAA,EAAA,EAAG,KAAA,EAAO,EAAE,MAAA,EAAQ,CAAA,EAAG,IAAA,EAAM,2BAAA,EAA6B,KAAA,EAAO,6BAAA,EAA+B,aAAA,EAAe,SAAA,IAAa,QAAA,EAAA,UAAA,EAAQ,CAAA;AAAA,wBACrIA,GAAAA,CAAC,GAAA,EAAA,EAAE,KAAA,EAAO,EAAE,MAAA,EAAQ,CAAA,EAAG,IAAA,EAAM,+BAAA,EAAiC,KAAA,EAAO,0BAAA,EAA2B,EAAG,QAAA,EAAA,sCAAA,EAAiC;AAAA,OAAA,EACtI,CAAA;AAAA,sBACAA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,SAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,CAAA,EAAG,IAAA,EAAM,QAAO,EAAG,QAAA,kBAAAA,GAAAA,CAAC,MAAA,EAAA,EAAO,WAAA,kBAAaA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,aAAA,EAAc,CAAA,EAAI,QAAA,EAAA,WAAA,EAAS,CAAA,EAAS;AAAA,KAAA,EACrJ,CAAA;AAAA,oBACAD,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,SAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,cAAA,EAAgB,iBAAiB,GAAA,EAAK,EAAA,EAAI,UAAU,MAAA,EAAQ,MAAA,EAAQ,eAAc,EACrI,QAAA,EAAA;AAAA,sBAAAA,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,QAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,EAAA,EAAG,EAC3D,QAAA,EAAA;AAAA,wBAAAA,IAAAA,CAAC,SAAI,KAAA,EAAO,EAAE,SAAS,aAAA,EAAe,UAAA,EAAY,UAAU,GAAA,EAAK,CAAA,EAAG,QAAQ,EAAA,EAAI,OAAA,EAAS,gBAAgB,YAAA,EAAc,uBAAA,EAAyB,YAAY,wBAAA,EAA0B,SAAA,EAAW,+CAA8C,EAC7O,QAAA,EAAA;AAAA,0BAAAC,IAAC,QAAA,EAAA,EAAO,IAAA,EAAK,UAAS,YAAA,EAAW,iBAAA,EAAkB,SAAS,MAAM;AAAA,UAAC,CAAA,EAAG,KAAA,EAAO,EAAE,OAAA,EAAS,aAAA,EAAe,UAAA,EAAY,QAAA,EAAU,cAAA,EAAgB,QAAA,EAAU,KAAA,EAAO,EAAA,EAAI,MAAA,EAAQ,IAAI,MAAA,EAAQ,MAAA,EAAQ,UAAA,EAAY,aAAA,EAAe,KAAA,EAAO,0BAAA,EAA4B,MAAA,EAAQ,SAAA,EAAW,UAAU,EAAA,EAAI,YAAA,EAAc,uBAAA,EAAwB,EAAG,QAAA,kBAAAA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,wBAAuB,CAAA,EAAE,CAAA;AAAA,0BAC5WA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,kBAAA,EAAmB,KAAA,EAAO,EAAE,QAAA,EAAU,EAAA,EAAI,KAAA,EAAO,2BAAA,EAA4B,EAAG,CAAA;AAAA,0BAC7FD,IAAAA,CAAC,MAAA,EAAA,EAAK,OAAO,EAAE,OAAA,EAAS,eAAe,UAAA,EAAY,QAAA,EAAU,KAAK,CAAA,EAAG,IAAA,EAAM,6BAA6B,KAAA,EAAO,6BAAA,EAA+B,YAAY,QAAA,EAAU,OAAA,EAAS,SAAQ,EAAG,QAAA,EAAA;AAAA,YAAA,OAAA;AAAA,4BAAKC,IAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,KAAA,EAAO,2BAAA,IAA+B,QAAA,EAAA,QAAA,EAAC,CAAA;AAAA,YAAO;AAAA,WAAA,EAAM,CAAA;AAAA,0BAChQA,IAAC,QAAA,EAAA,EAAO,IAAA,EAAK,UAAS,YAAA,EAAW,aAAA,EAAc,SAAS,MAAM;AAAA,UAAC,CAAA,EAAG,KAAA,EAAO,EAAE,OAAA,EAAS,aAAA,EAAe,UAAA,EAAY,QAAA,EAAU,cAAA,EAAgB,QAAA,EAAU,KAAA,EAAO,EAAA,EAAI,MAAA,EAAQ,IAAI,MAAA,EAAQ,MAAA,EAAQ,UAAA,EAAY,aAAA,EAAe,KAAA,EAAO,0BAAA,EAA4B,MAAA,EAAQ,SAAA,EAAW,UAAU,EAAA,EAAI,YAAA,EAAc,uBAAA,EAAwB,EAAG,QAAA,kBAAAA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,yBAAwB,CAAA,EAAE;AAAA,SAAA,EAC3W,CAAA;AAAA,wBACAA,IAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,WAAU,UAAA,EAAW,OAAA,EAAQ,IAAA,EAAK,OAAA,EAAQ,QAAA,EAAA,OAAA,EAAK;AAAA,OAAA,EACjE,CAAA;AAAA,sBACAD,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,EAAA,EAAG,EAC3D,QAAA,EAAA;AAAA,wBAAAC,GAAAA,CAAC,WAAA,EAAA,EAAY,OAAA,EAAQ,QAAA,EAAS,IAAA,EAAK,IAAA,EAAK,OAAA,EAAS,CAAC,EAAE,QAAA,EAAU,IAAA,EAAM,KAAA,EAAO,QAAO,EAAG,EAAE,QAAA,EAAU,IAAA,EAAM,KAAA,EAAO,OAAA,EAAQ,EAAG,EAAE,QAAA,EAAU,IAAA,EAAM,KAAA,EAAO,QAAA,EAAS,EAAG,EAAE,QAAA,EAAU,IAAA,EAAM,CAAA,EAAG,CAAA;AAAA,wBACnLA,GAAAA,CAAC,gBAAA,EAAA,EAAiB,KAAA,EAAO,IAAA,EAAM,QAAA,EAAU,OAAA,EAAS,KAAA,EAAO,CAAC,EAAE,KAAA,EAAO,OAAA,EAAS,KAAA,EAAO,OAAA,EAAQ,EAAG,EAAE,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,MAAA,EAAO,EAAG,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,CAAA,EAAG;AAAA,OAAA,EACnK;AAAA,KAAA,EACF,CAAA;AAAA,oBACAA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,YAAA,EAAc,EAAA,EAAG,EAC7B,QAAA,kBAAAA,IAAC,gBAAA,EAAA,EAAiB,KAAA,EAAO,MAAA,EAAQ,QAAA,EAAU,WAAW,KAAA,EAAO;AAAA,MAC3D,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,OAAO,EAAA,EAAG;AAAA,MACxC,EAAE,KAAA,EAAO,SAAA,EAAW,KAAA,EAAO,UAAA,EAAY,KAAA,EAAO,CAAA,EAAG,IAAA,kBAAMA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,iBAAgB,CAAA,EAAG;AAAA,MACvF,EAAE,KAAA,EAAO,OAAA,EAAS,KAAA,EAAO,OAAA,EAAS,OAAO,CAAA,EAAE;AAAA,MAC3C,EAAE,KAAA,EAAO,QAAA,EAAU,KAAA,EAAO,SAAA,EAAW,OAAO,CAAA,EAAE;AAAA,MAC9C,EAAE,KAAA,EAAO,QAAA,EAAU,KAAA,EAAO,QAAA,EAAU,OAAO,CAAA;AAAE,OAC5C,CAAA,EACL,CAAA;AAAA,oBACAA,IAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,YAAA,EAAc,wBAAA,EAA0B,QAAA,EAAU,QAAA,EAAU,SAAA,EAAW,6CAAA,EAA+C,YAAY,wBAAA,EAAyB,EACvK,QAAA,kBAAAD,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,mBAAA,EAAqB,gBAAA,EAAiB,EAClE,QAAA,EAAA;AAAA,MAAA,GAAA,CAAI,GAAA,CAAI,CAAC,CAAA,qBACRC,GAAAA,CAAC,SAAY,KAAA,EAAO,EAAE,OAAA,EAAS,UAAA,EAAY,IAAA,EAAM,4DAAA,EAA8D,eAAe,OAAA,EAAS,aAAA,EAAe,WAAA,EAAa,KAAA,EAAO,2BAAA,EAA6B,UAAA,EAAY,wBAAA,EAA0B,SAAA,EAAW,+CAAA,EAAgD,EAAI,QAAA,EAAA,CAAA,EAAA,EAAlS,CAAoS,CAC/S,CAAA;AAAA,MACA,KAAA,CAAM,GAAA,CAAI,CAAC,GAAA,EAAK,CAAA,KAAM,GAAA,IAAO,IAAA,mBAC1BA,GAAAA,CAAC,KAAA,EAAA,EAAY,KAAA,EAAO,EAAE,SAAA,EAAW,GAAA,EAAK,UAAA,EAAY,wBAAA,EAA0B,SAAA,EAAW,+CAAA,EAAgD,EAAA,EAA7H,CAAgI,CAAA,mBAC1IA,GAAAA,CAAC,OAAA,EAAA,EAAgB,GAAA,EAAU,KAAA,EAAO,GAAA,KAAQ,EAAA,EAAA,EAA5B,CAAgC,CAAE;AAAA,KAAA,EACtD,CAAA,EACF,CAAA;AAAA,oBACAD,IAAAA,CAAC,KAAA,EAAA,EAAI,OAAO,EAAE,SAAA,EAAW,IAAG,EAC1B,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAAC,gBAAa,IAAA,kBAAMA,IAAC,GAAA,EAAA,EAAE,SAAA,EAAU,wBAAA,EAAyB,CAAA,EAAI,QAAA,EAAA,oBAAA,EAAe,CAAA;AAAA,sBAC7EA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,SAAS,MAAA,EAAQ,aAAA,EAAe,QAAA,EAAU,GAAA,EAAK,GAAG,SAAA,EAAW,EAAA,IACxE,QAAA,EAAA,MAAA,CAAO,GAAA,CAAI,CAAC,CAAA,EAAG,CAAA,qBACdD,IAAAA,CAAC,SAAY,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,YAAY,QAAA,EAAU,GAAA,EAAK,EAAA,EAAI,OAAA,EAAS,aAAa,YAAA,EAAc,uBAAA,EAAyB,YAAY,wBAAA,EAA0B,SAAA,EAAW,+CAA8C,EAChO,QAAA,EAAA;AAAA,wBAAAC,GAAAA,CAAC,UAAK,KAAA,EAAO,EAAE,OAAO,CAAA,EAAG,MAAA,EAAQ,IAAI,YAAA,EAAc,yBAAA,EAA2B,YAAY,CAAA,WAAA,EAAc,GAAA,CAAI,EAAE,CAAC,CAAA,CAAE,KAAK,CAAA,KAAA,CAAA,EAAS,IAAA,EAAM,QAAO,EAAG,CAAA;AAAA,wBAC/ID,KAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,IAAA,EAAM,CAAA,EAAG,QAAA,EAAU,CAAA,EAAE,EACjC,QAAA,EAAA;AAAA,0BAAAC,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,IAAA,EAAM,6BAA6B,KAAA,EAAO,6BAAA,EAA8B,EAAI,QAAA,EAAA,CAAA,CAAE,CAAA,EAAE,CAAA;AAAA,0BAC9FA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,IAAA,EAAM,+BAAA,EAAiC,KAAA,EAAO,2BAAA,EAA4B,EAAI,QAAA,EAAA,CAAA,CAAE,IAAA,EAAK;AAAA,SAAA,EACrG,CAAA;AAAA,wBACAA,GAAAA,CAAC,IAAA,EAAA,EAAK,KAAA,EAAO,IAAI,CAAA,CAAE,CAAC,CAAA,CAAE,KAAA,EAAO,KAAG,IAAA,EAAE,QAAA,EAAA,GAAA,CAAI,CAAA,CAAE,CAAC,EAAE,KAAA,EAAM;AAAA,OAAA,EAAA,EANzC,CAOV,CACD,CAAA,EACH;AAAA,KAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;AChIA,IAAM,KAAA,GAAgB;AAAA,EACpB;AAAA,IACE,EAAA,EAAI,SAAA;AAAA,IAAW,IAAA,EAAM,SAAA;AAAA,IAAW,OAAA,EAAS,kCAAA;AAAA,IAAoC,OAAA,EAAS,CAAA;AAAA,IAAG,MAAA,EAAQ,CAAA;AAAA,IAAG,GAAA,EAAK,gBAAA;AAAA,IACzG,QAAA,EAAU,CAAC,aAAA,EAAe,kBAAA,EAAoB,qBAAqB,cAAc;AAAA,GACnF;AAAA,EACA;AAAA,IACE,EAAA,EAAI,KAAA;AAAA,IAAO,IAAA,EAAM,KAAA;AAAA,IAAO,OAAA,EAAS,mCAAA;AAAA,IAAqC,OAAA,EAAS,EAAA;AAAA,IAAI,MAAA,EAAQ,EAAA;AAAA,IAAI,GAAA,EAAK,oBAAA;AAAA,IAAsB,QAAA,EAAU,IAAA;AAAA,IACpI,UAAU,CAAC,sBAAA,EAAwB,sBAAsB,kBAAA,EAAoB,gBAAA,EAAkB,sBAAsB,cAAc;AAAA,GACrI;AAAA,EACA;AAAA,IACE,EAAA,EAAI,YAAA;AAAA,IAAc,IAAA,EAAM,YAAA;AAAA,IAAc,OAAA,EAAS,6BAAA;AAAA,IAA+B,OAAA,EAAS,IAAA;AAAA,IAAM,MAAA,EAAQ,IAAA;AAAA,IAAM,GAAA,EAAK,eAAA;AAAA,IAChH,UAAU,CAAC,mBAAA,EAAqB,cAAc,YAAA,EAAc,mBAAA,EAAqB,aAAa,kBAAkB;AAAA;AAEpH,CAAA;AAOA,SAAS,KAAA,CAAM,EAAE,IAAA,EAAM,KAAA,EAAM,EAAe;AAC1C,EAAA,IAAI,IAAA,CAAK,WAAW,IAAA,EAAM;AACxB,IAAA,uBAAOA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,IAAA,EAAM,2BAAA,EAA6B,KAAA,EAAO,6BAAA,EAA+B,aAAA,EAAe,QAAA,EAAS,EAAG,QAAA,EAAA,QAAA,EAAM,CAAA;AAAA,EACjI;AACA,EAAA,MAAM,GAAA,GAAM,KAAA,KAAU,QAAA,GAAW,IAAA,CAAK,SAAS,IAAA,CAAK,OAAA;AACpD,EAAA,uBACED,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,UAAA,EAAY,GAAA,EAAK,CAAA,EAAE,EAC5D,QAAA,EAAA;AAAA,oBAAAA,IAAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,IAAA,EAAM,6BAA6B,KAAA,EAAO,6BAAA,EAA+B,aAAA,EAAe,QAAA,EAAS,EAAG,QAAA,EAAA;AAAA,MAAA,GAAA;AAAA,MAAE;AAAA,KAAA,EAAI,CAAA;AAAA,oBACzHC,GAAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,MAAM,+BAAA,EAAiC,KAAA,EAAO,2BAAA,EAA4B,EAAG,QAAA,EAAA,MAAA,EAAI;AAAA,GAAA,EAClG,CAAA;AAEJ;AAOA,SAAS,QAAA,CAAS,EAAE,IAAA,EAAM,KAAA,EAAM,EAAkB;AAChD,EAAA,MAAM,WAAW,IAAA,CAAK,QAAA;AACtB,EAAA,uBACED,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO;AAAA,IACV,QAAA,EAAU,UAAA;AAAA,IAAY,OAAA,EAAS,MAAA;AAAA,IAAQ,aAAA,EAAe,QAAA;AAAA,IAAU,GAAA,EAAK,EAAA;AAAA,IAAI,OAAA,EAAS,EAAA;AAAA,IAAI,IAAA,EAAM,CAAA;AAAA,IAAG,QAAA,EAAU,CAAA;AAAA,IACzG,YAAA,EAAc,8BAAA;AAAA,IAAgC,UAAA,EAAY,wBAAA;AAAA,IAC1D,SAAA,EAAW,WACP,uGAAA,GACA;AAAA,GACN,EACE,QAAA,EAAA;AAAA,oBAAAA,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,QAAQ,UAAA,EAAY,QAAA,EAAU,cAAA,EAAgB,eAAA,EAAgB,EACnF,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,IAAA,EAAM,6BAA6B,KAAA,EAAO,6BAAA,EAA8B,EAAI,QAAA,EAAA,IAAA,CAAK,IAAA,EAAK,CAAA;AAAA,MACpG,QAAA,mBAAWA,GAAAA,CAAC,KAAA,EAAA,EAAM,OAAM,MAAA,EAAO,OAAA,EAAQ,SAAA,EAAU,QAAA,EAAA,cAAA,EAAY,CAAA,GAAW;AAAA,KAAA,EAC3E,CAAA;AAAA,oBACAA,GAAAA,CAAC,GAAA,EAAA,EAAE,KAAA,EAAO,EAAE,QAAQ,CAAA,EAAG,IAAA,EAAM,+BAAA,EAAiC,KAAA,EAAO,4BAA4B,SAAA,EAAW,EAAA,EAAI,UAAU,QAAA,EAAS,EAAI,eAAK,OAAA,EAAQ,CAAA;AAAA,oBACpJA,GAAAA,CAAC,KAAA,EAAA,EAAM,IAAA,EAAY,KAAA,EAAc,CAAA;AAAA,IAChC,QAAA,mBACGA,GAAAA,CAAC,MAAA,EAAA,EAAO,MAAK,OAAA,EAAQ,SAAA,EAAS,MAAE,QAAA,EAAA,IAAA,CAAK,GAAA,EAAI,oBACzCA,GAAAA,CAAC,UAAO,SAAA,EAAS,IAAA,EAAC,SAAQ,SAAA,EAAU,UAAA,EAAW,QAAA,EAAU,QAAA,EAAA,IAAA,CAAK,GAAA,EAAI,CAAA;AAAA,oBACtEA,IAAC,OAAA,EAAA,EAAQ,CAAA;AAAA,oBACTA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,aAAA,EAAe,QAAA,EAAU,GAAA,EAAK,EAAA,EAAG,EAC7D,QAAA,EAAA,IAAA,CAAK,SAAS,GAAA,CAAI,CAAC,CAAA,EAAG,CAAA,qBACrBD,IAAAA,CAAC,KAAA,EAAA,EAAY,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,KAAK,EAAA,EAAI,IAAA,EAAM,+BAAA,EAAiC,KAAA,EAAO,4BAA2B,EAC7I,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,eAAA,EAAgB,KAAA,EAAO,EAAE,QAAA,EAAU,EAAA,EAAI,KAAA,EAAO,gCAAA,EAAiC,EAAG,CAAA;AAAA,MAAG;AAAA,KAAA,EAAA,EAD1F,CAEV,CACD,CAAA,EACH;AAAA,GAAA,EACF,CAAA;AAEJ;AAEA,IAAM,GAAA,GAAuB;AAAA,EAC3B,EAAE,EAAA,EAAI,IAAA,EAAM,KAAA,EAAO,2BAAA,EAA6B,SAAS,sFAAA,EAAkF;AAAA,EAC3I,EAAE,EAAA,EAAI,IAAA,EAAM,KAAA,EAAO,4BAAA,EAA8B,SAAS,qEAAA,EAAsE;AAAA,EAChI,EAAE,EAAA,EAAI,IAAA,EAAM,KAAA,EAAO,qCAAA,EAAuC,SAAS,0EAAA,EAA2E;AAAA,EAC9I,EAAE,EAAA,EAAI,IAAA,EAAM,KAAA,EAAO,yCAAA,EAA2C,SAAS,yDAAA;AACzE,CAAA;AAGO,SAAS,eAAA,GAAkB;AAChC,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAIC,SAAgB,SAAS,CAAA;AACnD,EAAA,uBACEF,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,QAAA,EAAU,IAAA,EAAM,MAAA,EAAQ,QAAA,EAAU,OAAA,EAAS,gBAAA,EAAiB,EACxE,QAAA,EAAA;AAAA,oBAAAA,KAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,QAAQ,aAAA,EAAe,QAAA,EAAU,UAAA,EAAY,QAAA,EAAU,KAAK,EAAA,EAAI,SAAA,EAAW,QAAA,EAAU,YAAA,EAAc,IAAG,EAC3H,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAAC,YAAA,EAAA,EAAa,KAAA,EAAM,MAAA,EAAO,IAAA,kBAAMA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,qBAAA,EAAsB,CAAA,EAAI,QAAA,EAAA,SAAA,EAAO,CAAA;AAAA,sBAC/EA,GAAAA,CAAC,IAAA,EAAA,EAAG,OAAO,EAAE,MAAA,EAAQ,GAAG,IAAA,EAAM,2BAAA,EAA6B,KAAA,EAAO,6BAAA,EAA+B,eAAe,QAAA,EAAU,QAAA,EAAU,KAAK,QAAA,EAAU,SAAA,IAAa,QAAA,EAAA,qCAAA,EAAmC,CAAA;AAAA,sBACnMA,GAAAA,CAAC,GAAA,EAAA,EAAE,KAAA,EAAO,EAAE,QAAQ,CAAA,EAAG,IAAA,EAAM,+BAAA,EAAiC,KAAA,EAAO,4BAA4B,QAAA,EAAU,GAAA,EAAK,QAAA,EAAU,QAAA,IAAY,QAAA,EAAA,uEAAA,EAAqE,CAAA;AAAA,sBAC3MD,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,aAAA,EAAe,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,EAAA,EAAI,SAAA,EAAW,GAAE,EAChF,QAAA,EAAA;AAAA,wBAAAC,GAAAA;AAAA,UAAC,gBAAA;AAAA,UAAA;AAAA,YACC,KAAA,EAAO,KAAA;AAAA,YAAO,QAAA,EAAU,CAAC,CAAA,KAAM,QAAA,CAAS,CAAU,CAAA;AAAA,YAClD,KAAA,EAAO,CAAC,EAAE,KAAA,EAAO,SAAA,EAAW,KAAA,EAAO,SAAA,EAAU,EAAG,EAAE,KAAA,EAAO,QAAA,EAAU,KAAA,EAAO,UAAU;AAAA;AAAA,SACtF;AAAA,wBACAA,GAAAA,CAAC,KAAA,EAAA,EAAM,OAAM,OAAA,EAAQ,OAAA,EAAQ,WAAU,QAAA,EAAA,UAAA,EAAQ;AAAA,OAAA,EACjD;AAAA,KAAA,EACF,CAAA;AAAA,oBACAA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,GAAA,EAAK,EAAA,EAAI,UAAA,EAAY,SAAA,EAAW,QAAA,EAAU,MAAA,EAAO,EAC7E,QAAA,EAAA,KAAA,CAAM,GAAA,CAAI,CAAC,CAAA,qBAAMA,GAAAA,CAAC,QAAA,EAAA,EAAoB,IAAA,EAAM,CAAA,EAAG,KAAA,EAAA,EAAf,CAAA,CAAE,EAA2B,CAAE,CAAA,EAClE,CAAA;AAAA,oBACAA,GAAAA,CAAC,KAAA,EAAA,EAAM,QAAO,aAAA,EAAc,KAAA,EAAM,0BAAyB,IAAA,kBAAMA,IAAC,GAAA,EAAA,EAAE,SAAA,EAAU,qBAAoB,CAAA,EAAI,KAAA,EAAO,EAAE,SAAA,EAAW,EAAA,IAAM,QAAA,EAAA,6FAAA,EAAsF,CAAA;AAAA,oBACtND,IAAAA,CAAC,KAAA,EAAA,EAAI,OAAO,EAAE,SAAA,EAAW,IAAG,EAC1B,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAAC,IAAA,EAAA,EAAG,KAAA,EAAO,EAAE,QAAQ,SAAA,EAAW,IAAA,EAAM,2BAAA,EAA6B,KAAA,EAAO,+BAA+B,aAAA,EAAe,QAAA,EAAU,SAAA,EAAW,QAAA,IAAY,QAAA,EAAA,4BAAA,EAA0B,CAAA;AAAA,sBACnLA,GAAAA,CAAC,GAAA,EAAA,EAAE,KAAA,EAAO,EAAE,MAAA,EAAQ,UAAA,EAAY,IAAA,EAAM,+BAAA,EAAiC,KAAA,EAAO,0BAAA,EAA4B,SAAA,EAAW,QAAA,IAAY,QAAA,EAAA,sDAAA,EAAoD,CAAA;AAAA,sBACrLA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,QAAA,EAAU,GAAA,EAAK,MAAA,EAAQ,QAAA,IACnC,QAAA,kBAAAA,GAAAA,CAAC,SAAA,EAAA,EAAU,KAAA,EAAO,KAAK,CAAA,EACzB;AAAA,KAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;ACzGA,SAAS,IAAI,EAAE,KAAA,EAAO,IAAA,EAAM,QAAA,EAAU,KAAI,EAAa;AACrD,EAAA,uBACED,IAAAA,CAAC,KAAA,EAAA,EAAI,OAAO,EAAE,OAAA,EAAS,QAAQ,mBAAA,EAAqB,WAAA,EAAa,KAAK,EAAA,EAAI,OAAA,EAAS,UAAU,UAAA,EAAY,GAAA,GAAM,eAAe,QAAA,EAAU,SAAA,EAAW,8CAA6C,EAC9L,QAAA,EAAA;AAAA,oBAAAA,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,QAAQ,aAAA,EAAe,QAAA,EAAU,GAAA,EAAK,CAAA,EAAE,EAC7D,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAAC,SAAO,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,MACb,IAAA,mBAAOA,GAAAA,CAAC,MAAA,EAAA,EAAK,OAAO,EAAE,IAAA,EAAM,+BAAA,EAAiC,KAAA,EAAO,2BAAA,EAA6B,QAAA,EAAU,QAAA,EAAS,EAAI,gBAAK,CAAA,GAAU;AAAA,KAAA,EAC1I,CAAA;AAAA,oBACAA,IAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,QAAA,EAAU,CAAA,IAAM,QAAA,EAAS;AAAA,GAAA,EACzC,CAAA;AAEJ;AAEA,SAAS,KAAA,CAAM,EAAE,QAAA,EAAS,EAA4B;AACpD,EAAA,uBAAOA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,UAAA,EAAY,wBAAA,EAA0B,YAAA,EAAc,wBAAA,EAA0B,SAAA,EAAW,6CAAA,EAA+C,OAAA,EAAS,eAAA,IAAoB,QAAA,EAAS,CAAA;AACrM;AAEA,SAAS,UAAA,GAAa;AACpB,EAAA,MAAM,CAAC,GAAA,EAAK,MAAM,CAAA,GAAIC,SAAS,kDAAkD,CAAA;AACjF,EAAA,uBACEF,KAAC,KAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAAC,IAAC,GAAA,EAAA,EAAI,KAAA,EAAM,OAAA,EAAQ,IAAA,EAAK,0BAAyB,GAAA,EAAG,IAAA,EAClD,QAAA,kBAAAA,GAAAA,CAAC,eAAY,KAAA,EAAM,kBAAA,EAAmB,IAAA,EAAK,0BAAA,EAAwB,UAAU,MAAM;AAAA,IAAC,CAAA,EAAG,GAAA,EAAI,EAAA,EAAG,CAAA,EAChG,CAAA;AAAA,oBACAA,GAAAA,CAAC,GAAA,EAAA,EAAI,KAAA,EAAM,aACT,QAAA,kBAAAD,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,GAAA,EAAK,IAAG,EACrC,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAAC,KAAA,EAAA,EAAM,YAAA,EAAa,QAAA,EAAS,aAAY,YAAA,EAAa,CAAA;AAAA,sBACtDA,GAAAA,CAAC,KAAA,EAAA,EAAM,YAAA,EAAa,QAAA,EAAS,aAAY,WAAA,EAAY;AAAA,KAAA,EACvD,CAAA,EACF,CAAA;AAAA,oBACAA,IAAC,GAAA,EAAA,EAAI,KAAA,EAAM,iBAAgB,IAAA,EAAK,qCAAA,EAC9B,0BAAAA,GAAAA,CAAC,KAAA,EAAA,EAAM,MAAK,OAAA,EAAQ,YAAA,EAAa,qBAAoB,WAAA,kBAAaA,IAAC,GAAA,EAAA,EAAE,SAAA,EAAU,cAAA,EAAe,CAAA,EAAI,CAAA,EACpG,CAAA;AAAA,oBACAA,GAAAA,CAAC,GAAA,EAAA,EAAI,KAAA,EAAM,MAAA,EACT,QAAA,kBAAAA,GAAAA,CAAC,UAAA,EAAA,EAAW,KAAA,EAAM,QAAA,EAAS,QAAA,EAAU,MAAM;AAAA,IAAC,GAAG,OAAA,EAAS;AAAA,MACtD,EAAE,KAAA,EAAO,QAAA,EAAU,KAAA,EAAO,UAAA,EAAY,IAAA,kBAAMA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,wBAAA,EAAyB,CAAA,EAAG;AAAA,MACrF,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,UAAA,EAAY,IAAA,kBAAMA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,sBAAA,EAAuB,CAAA,EAAG;AAAA,MAChF,EAAE,KAAA,EAAO,IAAA,EAAM,KAAA,EAAO,iBAAA,EAAmB,IAAA,kBAAMA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,mBAAA,EAAoB,CAAA;AAAG,OAClF,CAAA,EACL,CAAA;AAAA,oBACAA,IAAC,GAAA,EAAA,EAAI,KAAA,EAAM,OAAM,IAAA,EAAK,uCAAA,EAAwC,KAAG,IAAA,EAC/D,QAAA,kBAAAD,KAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,eAAe,QAAA,EAAU,GAAA,EAAK,GAAE,EAC7D,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAAC,QAAA,EAAA,EAAS,KAAA,EAAO,GAAA,EAAK,UAAU,CAAC,CAAA,KAAwC,MAAA,CAAO,CAAA,CAAE,OAAO,KAAK,CAAA,EAAG,IAAA,EAAM,CAAA,EAAG,WAAW,GAAA,EAAK,CAAA;AAAA,sBAC1HA,GAAAA,CAAC,KAAA,EAAA,EAAI,OAAO,EAAE,OAAA,EAAS,QAAQ,cAAA,EAAgB,UAAA,EAAW,EAAG,QAAA,kBAAAA,IAAC,gBAAA,EAAA,EAAiB,KAAA,EAAO,IAAI,MAAA,EAAQ,GAAA,EAAK,KAAK,CAAA,EAAE;AAAA,KAAA,EAChH,CAAA,EACF,CAAA;AAAA,oBACAD,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,cAAA,EAAgB,UAAA,EAAY,GAAA,EAAK,EAAA,EAAI,UAAA,EAAY,IAAG,EACjF,QAAA,EAAA;AAAA,sBAAAC,IAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,SAAA,EAAU,UAAA,EAAW,UAAS,QAAA,EAAA,QAAA,EAAM,CAAA;AAAA,sBACpDA,GAAAA,CAAC,MAAA,EAAA,EAAO,QAAA,EAAA,cAAA,EAAY;AAAA,KAAA,EACtB;AAAA,GAAA,EACF,CAAA;AAEJ;AAQA,SAAS,gBAAA,GAAmB;AAC1B,EAAA,MAAM,CAAC,CAAA,EAAG,IAAI,CAAA,GAAIC,QAAAA,CAAkC,EAAE,OAAA,EAAS,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAM,UAAU,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,SAAA,EAAW,OAAO,CAAA;AACrI,EAAA,MAAM,MAAM,CAAC,CAAA,KAAc,IAAA,CAAK,CAAC,OAAO,EAAE,GAAG,CAAA,EAAG,CAAC,CAAC,GAAG,CAAC,CAAA,CAAE,CAAC,GAAE,CAAE,CAAA;AAC7D,EAAA,MAAM,KAAA,GAA+B;AAAA,IACnC,EAAE,CAAA,EAAG,SAAA,EAAW,KAAA,EAAO,iBAAA,EAAmB,MAAM,gCAAA,EAAiC;AAAA,IACjF,EAAE,CAAA,EAAG,QAAA,EAAU,KAAA,EAAO,eAAA,EAAiB,MAAM,qCAAA,EAAsC;AAAA,IACnF,EAAE,CAAA,EAAG,UAAA,EAAY,KAAA,EAAO,qBAAA,EAAuB,MAAM,6BAAA,EAA8B;AAAA,IACnF,EAAE,CAAA,EAAG,UAAA,EAAY,KAAA,EAAO,iBAAA,EAAmB,MAAM,gCAAA,EAAiC;AAAA,IAClF,EAAE,CAAA,EAAG,WAAA,EAAa,KAAA,EAAO,kBAAA,EAAoB,MAAM,wBAAA;AAAyB,GAC9E;AACA,EAAA,uBACEF,KAAC,KAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAAC,GAAAA,CAAC,gBAAa,KAAA,EAAO,EAAE,YAAY,EAAA,EAAI,OAAA,EAAS,OAAA,EAAQ,EAAG,QAAA,EAAA,OAAA,EAAK,CAAA;AAAA,IAC/D,MAAM,GAAA,CAAI,CAAC,uBACVA,GAAAA,CAAC,OAAe,KAAA,EAAO,EAAA,CAAG,KAAA,EAAO,IAAA,EAAM,GAAG,IAAA,EACxC,QAAA,kBAAAA,IAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,cAAA,EAAgB,UAAA,IAC7C,QAAA,kBAAAA,GAAAA,CAAC,UAAO,OAAA,EAAS,CAAA,CAAE,GAAG,CAAC,CAAA,EAAG,UAAU,MAAM,GAAA,CAAI,GAAG,CAAC,CAAA,EAAG,GACvD,CAAA,EAAA,EAHQ,EAAA,CAAG,CAIb,CACD,CAAA;AAAA,oBACDA,GAAAA,CAAC,KAAA,EAAA,EAAM,MAAA,EAAO,aAAA,EAAc,sBAAMA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,yBAAwB,CAAA,EAAI,KAAA,EAAO,EAAE,SAAA,EAAW,EAAA,IAAM,QAAA,EAAA,uEAAA,EAAgE;AAAA,GAAA,EACvK,CAAA;AAEJ;AASA,SAAS,eAAA,GAAkB;AACzB,EAAA,MAAM,CAAC,CAAA,EAAG,IAAI,CAAA,GAAIC,SAAkC,EAAE,KAAA,EAAO,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAM,KAAA,EAAO,KAAA,EAAO,MAAA,EAAQ,OAAO,CAAA;AAC9G,EAAA,MAAM,MAAM,CAAC,CAAA,KAAc,IAAA,CAAK,CAAC,OAAO,EAAE,GAAG,CAAA,EAAG,CAAC,CAAC,GAAG,CAAC,CAAA,CAAE,CAAC,GAAE,CAAE,CAAA;AAC7D,EAAA,MAAM,IAAA,GAAyB;AAAA,IAC7B,EAAE,GAAG,OAAA,EAAS,IAAA,EAAM,SAAS,IAAA,EAAM,eAAA,EAAiB,MAAM,kCAAA,EAAmC;AAAA,IAC7F,EAAE,GAAG,QAAA,EAAU,IAAA,EAAM,UAAU,IAAA,EAAM,gBAAA,EAAkB,MAAM,iCAAA,EAAkC;AAAA,IAC/F,EAAE,GAAG,OAAA,EAAS,IAAA,EAAM,SAAS,IAAA,EAAM,eAAA,EAAiB,MAAM,8BAAA,EAA+B;AAAA,IACzF,EAAE,GAAG,QAAA,EAAU,IAAA,EAAM,UAAU,IAAA,EAAM,oBAAA,EAAsB,MAAM,uBAAA;AAAwB,GAC3F;AACA,EAAA,uBACED,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,aAAA,EAAe,QAAA,EAAU,KAAK,EAAA,EAAG,EAC7D,QAAA,EAAA,IAAA,CAAK,GAAA,CAAI,CAAC,CAAA,qBACTD,IAAAA,CAAC,KAAA,EAAA,EAAc,OAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,UAAU,GAAA,EAAK,EAAA,EAAI,OAAA,EAAS,EAAA,EAAI,cAAc,wBAAA,EAA0B,UAAA,EAAY,wBAAA,EAA0B,SAAA,EAAW,+CAA8C,EAC1N,QAAA,EAAA;AAAA,oBAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,SAAS,aAAA,EAAe,UAAA,EAAY,QAAA,EAAU,cAAA,EAAgB,QAAA,EAAU,KAAA,EAAO,EAAA,EAAI,MAAA,EAAQ,IAAI,IAAA,EAAM,MAAA,EAAQ,YAAA,EAAc,uBAAA,EAAyB,UAAA,EAAY,wBAAA,EAA0B,SAAA,EAAW,6CAAA,EAA+C,OAAO,0BAAA,EAA4B,QAAA,EAAU,EAAA,EAAG,EAAG,0BAAAA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAW,CAAA,CAAE,MAAM,CAAA,EAAE,CAAA;AAAA,oBAC9UD,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,aAAA,EAAe,QAAA,EAAU,KAAK,CAAA,EAAG,IAAA,EAAM,CAAA,EAAG,QAAA,EAAU,GAAE,EACnF,QAAA,EAAA;AAAA,sBAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,IAAA,EAAM,6BAA6B,KAAA,EAAO,6BAAA,EAA8B,EAAI,QAAA,EAAA,CAAA,CAAE,IAAA,EAAK,CAAA;AAAA,sBAClGA,GAAAA,CAAC,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,IAAA,EAAM,+BAAA,EAAiC,KAAA,EAAO,0BAAA,EAA2B,EAAI,QAAA,EAAA,CAAA,CAAE,IAAA,EAAK;AAAA,KAAA,EACrG,CAAA;AAAA,oBACAA,GAAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAS,CAAA,CAAE,CAAA,CAAE,CAAC,CAAA,EAAG,QAAA,EAAU,MAAM,GAAA,CAAI,CAAA,CAAE,CAAC,CAAA,EAAG;AAAA,GAAA,EAAA,EAN3C,CAAA,CAAE,CAOZ,CACD,CAAA,EACH,CAAA;AAEJ;AAEA,IAAM,IAAA,GAAkB;AAAA,EACtB,EAAE,KAAA,EAAO,SAAA,EAAW,KAAA,EAAO,SAAA,EAAU;AAAA,EACrC,EAAE,KAAA,EAAO,eAAA,EAAiB,KAAA,EAAO,eAAA,EAAgB;AAAA,EACjD,EAAE,KAAA,EAAO,cAAA,EAAgB,KAAA,EAAO,cAAA,EAAgB,OAAO,GAAA;AACzD,CAAA;AAGO,SAAS,gBAAA,GAAmB;AACjC,EAAA,MAAM,CAAC,GAAA,EAAK,MAAM,CAAA,GAAIC,SAAS,SAAS,CAAA;AACxC,EAAA,uBACEF,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,QAAA,EAAU,GAAA,EAAK,MAAA,EAAQ,QAAA,EAAU,OAAA,EAAS,gBAAA,EAAiB,EACvE,QAAA,EAAA;AAAA,oBAAAA,KAAC,QAAA,EAAA,EAAO,KAAA,EAAO,EAAE,OAAA,EAAS,QAAQ,UAAA,EAAY,YAAA,EAAc,GAAA,EAAK,EAAA,EAAI,OAAO,MAAA,EAAQ,OAAA,EAAS,UAAA,EAAY,SAAA,EAAW,8CAA6C,EAC/J,QAAA,EAAA;AAAA,sBAAAA,IAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,SAAS,MAAA,EAAQ,aAAA,EAAe,QAAA,EAAU,GAAA,EAAK,CAAA,EAAG,IAAA,EAAM,CAAA,EAAG,QAAA,EAAU,GAAE,EACnF,QAAA,EAAA;AAAA,wBAAAC,GAAAA,CAAC,IAAA,EAAA,EAAG,KAAA,EAAO,EAAE,MAAA,EAAQ,CAAA,EAAG,IAAA,EAAM,2BAAA,EAA6B,KAAA,EAAO,6BAAA,EAA+B,aAAA,EAAe,SAAA,IAAa,QAAA,EAAA,UAAA,EAAQ,CAAA;AAAA,wBACrIA,GAAAA,CAAC,GAAA,EAAA,EAAE,KAAA,EAAO,EAAE,MAAA,EAAQ,CAAA,EAAG,IAAA,EAAM,+BAAA,EAAiC,KAAA,EAAO,0BAAA,EAA2B,EAAG,QAAA,EAAA,wDAAA,EAAsD;AAAA,OAAA,EAC3J,CAAA;AAAA,sBACAA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,SAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,CAAA,EAAG,IAAA,EAAM,QAAO,EAAG,QAAA,kBAAAA,GAAAA,CAAC,KAAA,EAAA,EAAM,KAAA,EAAM,OAAA,EAAQ,SAAQ,SAAA,EAAU,GAAA,EAAG,IAAA,EAAC,QAAA,EAAA,mBAAA,EAAiB,CAAA,EAAQ;AAAA,KAAA,EACnJ,CAAA;AAAA,oBACAA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,QAAQ,aAAA,EAAc,EAClC,QAAA,kBAAAA,GAAAA,CAAC,QAAK,KAAA,EAAO,IAAA,EAAM,OAAO,GAAA,EAAK,QAAA,EAAU,QAAQ,CAAA,EACnD,CAAA;AAAA,IACC,GAAA,KAAQ,SAAA,mBAAYA,GAAAA,CAAC,cAAW,CAAA,GAAK,GAAA,KAAQ,eAAA,mBAAkBA,GAAAA,CAAC,gBAAA,EAAA,EAAiB,CAAA,mBAAKA,IAAC,eAAA,EAAA,EAAgB;AAAA,GAAA,EAC1G,CAAA;AAEJ","file":"index.js","sourcesContent":["// Klun UI dashboard sidebar — brand, nav sections, footer profile.\n\nexport interface SidebarUser {\n name: string;\n email: string;\n initials: string;\n}\n\nexport interface SidebarProps {\n active: string;\n onNavigate: (id: string) => void;\n user: SidebarUser;\n}\n\ninterface NavItem {\n id: string;\n label: string;\n icon: string;\n badge?: string;\n}\n\nexport function Sidebar({ active, onNavigate, user }: SidebarProps) {\n const main: NavItem[] = [\n { id: \"overview\", label: \"Overview\", icon: \"ri-dashboard-line\" },\n { id: \"transactions\", label: \"Transactions\", icon: \"ri-arrow-left-right-line\", badge: \"24\" },\n { id: \"cards\", label: \"Cards\", icon: \"ri-bank-card-line\" },\n { id: \"analytics\", label: \"Analytics\", icon: \"ri-bar-chart-2-line\" },\n { id: \"invoices\", label: \"Invoices\", icon: \"ri-bill-line\" },\n ];\n const other: NavItem[] = [\n { id: \"settings\", label: \"Settings\", icon: \"ri-settings-2-line\" },\n { id: \"support\", label: \"Support\", icon: \"ri-headphone-line\" },\n ];\n const Item = ({ it }: { it: NavItem }) => {\n const on = active === it.id;\n return (\n <button onClick={() => onNavigate(it.id)} style={{\n display: \"flex\", alignItems: \"center\", gap: 10, width: \"100%\", height: 38, padding: \"0 12px\",\n border: \"none\", borderRadius: \"var(--klun-radius-lg)\", cursor: \"pointer\", textAlign: \"left\",\n background: on ? \"var(--klun-bg-white-0)\" : \"transparent\",\n boxShadow: on ? \"var(--klun-shadow-xs), inset 0 0 0 1px var(--klun-stroke-soft-200)\" : \"none\",\n color: on ? \"var(--klun-text-strong-950)\" : \"var(--klun-text-sub-600)\",\n font: \"var(--klun-text-label-sm)\",\n }}>\n <i className={it.icon} style={{ fontSize: 20, color: on ? \"var(--klun-primary-base)\" : \"var(--klun-icon-sub-600)\" }} />\n <span style={{ flex: 1 }}>{it.label}</span>\n {it.badge ? <span style={{ font: \"var(--klun-text-label-xs)\", padding: \"1px 6px\", borderRadius: \"var(--klun-radius-pill)\", background: \"var(--klun-bg-weak-50)\", color: \"var(--klun-text-sub-600)\" }}>{it.badge}</span> : null}\n </button>\n );\n };\n return (\n <aside style={{ width: 272, flexShrink: 0, height: \"100%\", boxSizing: \"border-box\", display: \"flex\", flexDirection: \"column\", padding: 20, background: \"var(--klun-bg-weak-50)\", borderRight: \"1px solid var(--klun-stroke-soft-200)\" }}>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 10, padding: \"4px 8px 18px\" }}>\n <div style={{ width: 36, height: 36, borderRadius: \"var(--klun-radius-lg)\", background: \"var(--klun-bg-strong-950)\", color: \"var(--klun-text-white-0)\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\" }}>\n <i className=\"ri-shapes-line\" style={{ fontSize: 20 }} />\n </div>\n <div style={{ lineHeight: 1.1 }}>\n <div style={{ font: \"var(--klun-text-label-md)\", color: \"var(--klun-text-strong-950)\" }}>Apex Finance</div>\n <div style={{ font: \"var(--klun-text-paragraph-xs)\", color: \"var(--klun-text-soft-400)\" }}>Workspace</div>\n </div>\n </div>\n <div style={{ position: \"relative\", marginBottom: 16 }}>\n <i className=\"ri-search-line\" style={{ position: \"absolute\", left: 12, top: \"50%\", transform: \"translateY(-50%)\", fontSize: 18, color: \"var(--klun-icon-soft-400)\" }} />\n <input placeholder=\"Search\" style={{ width: \"100%\", boxSizing: \"border-box\", height: 36, padding: \"0 12px 0 36px\", borderRadius: \"var(--klun-radius-lg)\", border: \"none\", background: \"var(--klun-bg-white-0)\", boxShadow: \"inset 0 0 0 1px var(--klun-stroke-soft-200)\", font: \"var(--klun-text-paragraph-sm)\", color: \"var(--klun-text-strong-950)\", outline: \"none\" }} />\n </div>\n <div style={{ font: \"var(--klun-text-subheading-2xs)\", letterSpacing: \"var(--klun-subheading-2xs-tracking)\", textTransform: \"uppercase\", color: \"var(--klun-text-soft-400)\", padding: \"0 12px 8px\" }}>Main</div>\n <nav style={{ display: \"flex\", flexDirection: \"column\", gap: 2 }}>{main.map((it) => <Item key={it.id} it={it} />)}</nav>\n <div style={{ font: \"var(--klun-text-subheading-2xs)\", letterSpacing: \"var(--klun-subheading-2xs-tracking)\", textTransform: \"uppercase\", color: \"var(--klun-text-soft-400)\", padding: \"20px 12px 8px\" }}>Other</div>\n <nav style={{ display: \"flex\", flexDirection: \"column\", gap: 2 }}>{other.map((it) => <Item key={it.id} it={it} />)}</nav>\n <div style={{ flex: 1 }} />\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 10, padding: 8, borderRadius: \"var(--klun-radius-xl)\", boxShadow: \"inset 0 0 0 1px var(--klun-stroke-soft-200)\", background: \"var(--klun-bg-white-0)\" }}>\n <span style={{ width: 36, height: 36, borderRadius: \"var(--klun-radius-pill)\", background: \"var(--klun-state-feature-lighter)\", color: \"var(--klun-state-feature-base)\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\", font: \"var(--klun-text-label-sm)\", flexShrink: 0 }}>{user.initials}</span>\n <div style={{ flex: 1, minWidth: 0, lineHeight: 1.2 }}>\n <div style={{ font: \"var(--klun-text-label-sm)\", color: \"var(--klun-text-strong-950)\", whiteSpace: \"nowrap\", overflow: \"hidden\", textOverflow: \"ellipsis\" }}>{user.name}</div>\n <div style={{ font: \"var(--klun-text-paragraph-xs)\", color: \"var(--klun-text-soft-400)\", whiteSpace: \"nowrap\", overflow: \"hidden\", textOverflow: \"ellipsis\" }}>{user.email}</div>\n </div>\n <i className=\"ri-expand-up-down-line\" style={{ fontSize: 18, color: \"var(--klun-icon-soft-400)\" }} />\n </div>\n </aside>\n );\n}\n","// Klun UI dashboard top bar — page title, search, actions.\nimport { Button, Badge } from \"../../index\";\n\nexport interface TopBarProps {\n title: string;\n subtitle: string;\n}\n\nexport function TopBar({ title, subtitle }: TopBarProps) {\n return (\n <header style={{ display: \"flex\", alignItems: \"center\", gap: 16, padding: \"20px 32px\", borderBottom: \"1px solid var(--klun-stroke-soft-200)\", background: \"var(--klun-bg-white-0)\" }}>\n <div style={{ flex: 1 }}>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 8 }}>\n <h1 style={{ margin: 0, font: \"var(--klun-text-title-h5)\", color: \"var(--klun-text-strong-950)\" }}>{title}</h1>\n <Badge color=\"gray\" size=\"small\">Live</Badge>\n </div>\n <p style={{ margin: \"2px 0 0\", font: \"var(--klun-text-paragraph-sm)\", color: \"var(--klun-text-sub-600)\" }}>{subtitle}</p>\n </div>\n <Button iconOnly variant=\"neutral\" appearance=\"stroke\" icon={<i className=\"ri-notification-3-line\" />} />\n <Button iconOnly variant=\"neutral\" appearance=\"stroke\" icon={<i className=\"ri-calendar-line\" />} />\n <Button variant=\"primary\" leadingIcon={<i className=\"ri-add-line\" />}>New transfer</Button>\n </header>\n );\n}\n","// Klun UI dashboard — Overview screen. Stat cards, balance, recent transactions table.\nimport { useState } from \"react\";\nimport { Card, Badge, Button, ProgressBar, SegmentedControl, Tabs } from \"../../index\";\nimport type { BadgeColor } from \"../../index\";\n\ninterface Stat {\n label: string;\n value: string;\n delta: string;\n up: boolean;\n icon: string;\n tint: string;\n}\n\ninterface Transaction {\n name: string;\n sub: string;\n amt: string;\n date: string;\n status: string;\n color: BadgeColor;\n icon: string;\n bg: string;\n fg: string;\n}\n\nexport function OverviewScreen() {\n const [range, setRange] = useState(\"month\");\n const [tab, setTab] = useState(\"all\");\n\n const stats: Stat[] = [\n { label: \"Total balance\", value: \"$84,920.50\", delta: \"+12.4%\", up: true, icon: \"ri-wallet-3-line\", tint: \"feature\" },\n { label: \"Income\", value: \"$24,300.00\", delta: \"+8.1%\", up: true, icon: \"ri-arrow-down-line\", tint: \"success\" },\n { label: \"Expenses\", value: \"$11,240.80\", delta: \"-3.2%\", up: false, icon: \"ri-arrow-up-line\", tint: \"warning\" },\n { label: \"Savings\", value: \"$13,059.20\", delta: \"+5.7%\", up: true, icon: \"ri-safe-2-line\", tint: \"information\" },\n ];\n const tx: Transaction[] = [\n { name: \"Figma\", sub: \"Subscription\", amt: \"-$45.00\", date: \"Today, 10:24\", status: \"Completed\", color: \"green\", icon: \"ri-pencil-ruler-2-line\", bg: \"var(--klun-state-feature-lighter)\", fg: \"var(--klun-state-feature-base)\" },\n { name: \"Stripe payout\", sub: \"Income\", amt: \"+$2,400.00\", date: \"Today, 08:10\", status: \"Completed\", color: \"green\", icon: \"ri-bank-line\", bg: \"var(--klun-state-success-lighter)\", fg: \"var(--klun-state-success-base)\" },\n { name: \"AWS\", sub: \"Infrastructure\", amt: \"-$312.40\", date: \"Yesterday\", status: \"Pending\", color: \"orange\", icon: \"ri-cloud-line\", bg: \"var(--klun-state-warning-lighter)\", fg: \"var(--klun-state-warning-base)\" },\n { name: \"Linear\", sub: \"Subscription\", amt: \"-$96.00\", date: \"Mar 12\", status: \"Completed\", color: \"green\", icon: \"ri-flow-chart\", bg: \"var(--klun-state-information-lighter)\", fg: \"var(--klun-state-information-base)\" },\n { name: \"Refund · Notion\", sub: \"Income\", amt: \"+$120.00\", date: \"Mar 11\", status: \"Failed\", color: \"red\", icon: \"ri-file-text-line\", bg: \"var(--klun-bg-weak-50)\", fg: \"var(--klun-text-sub-600)\" },\n ];\n const budget: ReadonlyArray<readonly [string, number, string]> = [\n [\"Housing\", 38, \"feature\"],\n [\"Food\", 24, \"success\"],\n [\"Transport\", 18, \"warning\"],\n ];\n\n return (\n <div style={{ padding: 32, display: \"flex\", flexDirection: \"column\", gap: 24 }}>\n <div style={{ display: \"flex\", alignItems: \"center\", justifyContent: \"space-between\" }}>\n <SegmentedControl value={range} onChange={setRange} items={[{ value: \"week\", label: \"Week\" }, { value: \"month\", label: \"Month\" }, { value: \"year\", label: \"Year\" }]} />\n <Button variant=\"neutral\" appearance=\"stroke\" size=\"small\" leadingIcon={<i className=\"ri-download-2-line\" />}>Export</Button>\n </div>\n\n <div style={{ display: \"grid\", gridTemplateColumns: \"repeat(4, 1fr)\", gap: 16 }}>\n {stats.map((s) => (\n <Card key={s.label} variant=\"stroke\" padding={18}>\n <div style={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"flex-start\" }}>\n <div style={{ width: 40, height: 40, borderRadius: \"var(--klun-radius-lg)\", background: `var(--klun-state-${s.tint}-lighter)`, color: `var(--klun-state-${s.tint}-base)`, display: \"flex\", alignItems: \"center\", justifyContent: \"center\", fontSize: 22 }}><i className={s.icon} /></div>\n <Badge color={s.up ? \"green\" : \"red\"} variant=\"light\" size=\"small\" leadingIcon={<i className={s.up ? \"ri-arrow-up-line\" : \"ri-arrow-down-line\"} />}>{s.delta}</Badge>\n </div>\n <div style={{ marginTop: 16, font: \"var(--klun-text-paragraph-sm)\", color: \"var(--klun-text-sub-600)\" }}>{s.label}</div>\n <div style={{ marginTop: 2, font: \"var(--klun-text-title-h5)\", color: \"var(--klun-text-strong-950)\" }}>{s.value}</div>\n </Card>\n ))}\n </div>\n\n <div style={{ display: \"grid\", gridTemplateColumns: \"1.7fr 1fr\", gap: 16, alignItems: \"start\" }}>\n <Card variant=\"stroke\" padding={0}>\n <div style={{ padding: \"16px 20px\", borderBottom: \"1px solid var(--klun-stroke-soft-200)\", display: \"flex\", alignItems: \"center\", justifyContent: \"space-between\" }}>\n <div style={{ font: \"var(--klun-text-label-lg)\", color: \"var(--klun-text-strong-950)\" }}>Recent transactions</div>\n <Button variant=\"neutral\" appearance=\"ghost\" size=\"xsmall\" trailingIcon={<i className=\"ri-arrow-right-s-line\" />}>View all</Button>\n </div>\n <div style={{ padding: \"8px 12px\" }}>\n <Tabs value={tab} onChange={setTab} items={[{ value: \"all\", label: \"All\" }, { value: \"income\", label: \"Income\" }, { value: \"expense\", label: \"Expenses\" }]} />\n </div>\n <div>\n {tx.map((t, i) => (\n <div key={i} style={{ display: \"flex\", alignItems: \"center\", gap: 12, padding: \"12px 20px\", borderTop: i ? \"1px solid var(--klun-stroke-soft-200)\" : \"none\" }}>\n <div style={{ width: 38, height: 38, borderRadius: \"var(--klun-radius-lg)\", background: t.bg, color: t.fg, display: \"flex\", alignItems: \"center\", justifyContent: \"center\", fontSize: 20, flexShrink: 0 }}><i className={t.icon} /></div>\n <div style={{ flex: 1, minWidth: 0 }}>\n <div style={{ font: \"var(--klun-text-label-sm)\", color: \"var(--klun-text-strong-950)\" }}>{t.name}</div>\n <div style={{ font: \"var(--klun-text-paragraph-xs)\", color: \"var(--klun-text-soft-400)\" }}>{t.sub} · {t.date}</div>\n </div>\n <Badge color={t.color} variant=\"light\" size=\"small\">{t.status}</Badge>\n <div style={{ width: 92, textAlign: \"right\", font: \"var(--klun-text-label-sm)\", color: t.amt[0] === \"+\" ? \"var(--klun-state-success-base)\" : \"var(--klun-text-strong-950)\" }}>{t.amt}</div>\n </div>\n ))}\n </div>\n </Card>\n\n <div style={{ display: \"flex\", flexDirection: \"column\", gap: 16 }}>\n <Card variant=\"shadow\" padding={20} style={{ background: \"var(--klun-bg-strong-950)\" }}>\n <div style={{ display: \"flex\", justifyContent: \"space-between\", color: \"var(--klun-static-static-white)\" }}>\n <span style={{ font: \"var(--klun-text-paragraph-sm)\", opacity: .7 }}>Virtual card</span>\n <i className=\"ri-visa-line\" style={{ fontSize: 24 }} />\n </div>\n <div style={{ marginTop: 28, font: \"var(--klun-text-label-lg)\", letterSpacing: \"0.12em\", color: \"var(--klun-static-static-white)\" }}>4218&nbsp;&nbsp;••••&nbsp;&nbsp;••••&nbsp;&nbsp;9042</div>\n <div style={{ marginTop: 16, display: \"flex\", justifyContent: \"space-between\", color: \"var(--klun-static-static-white)\", opacity: .8, font: \"var(--klun-text-paragraph-xs)\" }}>\n <span>Arthur Taylor</span><span>09 / 28</span>\n </div>\n </Card>\n <Card variant=\"stroke\" padding={20}>\n <div style={{ display: \"flex\", alignItems: \"center\", justifyContent: \"space-between\" }}>\n <span style={{ font: \"var(--klun-text-label-md)\", color: \"var(--klun-text-strong-950)\" }}>Monthly budget</span>\n <span style={{ font: \"var(--klun-text-paragraph-sm)\", color: \"var(--klun-text-sub-600)\" }}>$11,240 / $16,000</span>\n </div>\n <div style={{ marginTop: 14 }}><ProgressBar value={70} /></div>\n <div style={{ marginTop: 16, display: \"flex\", flexDirection: \"column\", gap: 10 }}>\n {budget.map(([l, p, c]) => (\n <div key={l} style={{ display: \"flex\", alignItems: \"center\", gap: 10 }}>\n <span style={{ width: 8, height: 8, borderRadius: \"var(--klun-radius-pill)\", background: `var(--klun-state-${c}-base)` }} />\n <span style={{ flex: 1, font: \"var(--klun-text-paragraph-sm)\", color: \"var(--klun-text-sub-600)\" }}>{l}</span>\n <span style={{ font: \"var(--klun-text-label-sm)\", color: \"var(--klun-text-strong-950)\" }}>{p}%</span>\n </div>\n ))}\n </div>\n </Card>\n </div>\n </div>\n </div>\n );\n}\n","// Klun UI dashboard — Settings screen (profile form).\nimport { useState } from \"react\";\nimport type { ReactNode } from \"react\";\nimport { Card, Input, Select, Switch, Label, Button, Badge, Divider } from \"../../index\";\n\ninterface FieldProps {\n label: ReactNode;\n children: ReactNode;\n hint?: ReactNode;\n required?: boolean;\n}\n\nexport function SettingsScreen() {\n const [n, setN] = useState(true);\n const [m, setM] = useState(false);\n const Field = ({ label, children, hint, required }: FieldProps) => (\n <div style={{ display: \"grid\", gridTemplateColumns: \"220px 1fr\", gap: 24, padding: \"20px 0\", borderTop: \"1px solid var(--klun-stroke-soft-200)\" }}>\n <div>\n <Label required={required}>{label}</Label>\n {hint ? <div style={{ marginTop: 2, font: \"var(--klun-text-paragraph-xs)\", color: \"var(--klun-text-soft-400)\" }}>{hint}</div> : null}\n </div>\n <div style={{ maxWidth: 420 }}>{children}</div>\n </div>\n );\n return (\n <div style={{ padding: 32, maxWidth: 920 }}>\n <Card variant=\"stroke\" padding={24}>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 16 }}>\n <span style={{ width: 64, height: 64, borderRadius: \"var(--klun-radius-pill)\", background: \"var(--klun-state-feature-lighter)\", color: \"var(--klun-state-feature-base)\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\", font: \"var(--klun-text-title-h5)\" }}>AT</span>\n <div style={{ flex: 1 }}>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 8 }}>\n <span style={{ font: \"var(--klun-text-label-lg)\", color: \"var(--klun-text-strong-950)\" }}>Arthur Taylor</span>\n <Badge color=\"green\" variant=\"light\" size=\"small\" dot>Verified</Badge>\n </div>\n <div style={{ font: \"var(--klun-text-paragraph-sm)\", color: \"var(--klun-text-sub-600)\" }}>arthur@alignui.com</div>\n </div>\n <Button variant=\"neutral\" appearance=\"stroke\" size=\"small\" leadingIcon={<i className=\"ri-upload-2-line\" />}>Change photo</Button>\n </div>\n\n <div style={{ marginTop: 8 }}>\n <Field label=\"Full name\" required>\n <Input defaultValue=\"Arthur Taylor\" />\n </Field>\n <Field label=\"Email address\" required hint=\"Used for sign-in and receipts.\">\n <Input type=\"email\" defaultValue=\"arthur@alignui.com\" leadingIcon={<i className=\"ri-mail-line\" />} />\n </Field>\n <Field label=\"Role\">\n <Select defaultValue=\"finance\"><option value=\"finance\">Finance lead</option><option value=\"admin\">Administrator</option><option value=\"member\">Member</option></Select>\n </Field>\n <Field label=\"Notifications\" hint=\"How we reach you.\">\n <div style={{ display: \"flex\", flexDirection: \"column\", gap: 14 }}>\n <label style={{ display: \"flex\", alignItems: \"center\", gap: 10, font: \"var(--klun-text-label-sm)\", color: \"var(--klun-text-strong-950)\" }}>\n <Switch checked={n} onChange={setN} /> Email notifications\n </label>\n <label style={{ display: \"flex\", alignItems: \"center\", gap: 10, font: \"var(--klun-text-label-sm)\", color: \"var(--klun-text-strong-950)\" }}>\n <Switch checked={m} onChange={setM} /> Marketing updates\n </label>\n </div>\n </Field>\n </div>\n\n <Divider style={{ margin: \"8px 0 20px\" }} />\n <div style={{ display: \"flex\", justifyContent: \"flex-end\", gap: 10 }}>\n <Button variant=\"neutral\" appearance=\"stroke\">Cancel</Button>\n <Button variant=\"primary\">Save changes</Button>\n </div>\n </Card>\n </div>\n );\n}\n","// Klun UI dashboard template — app shell composing sidebar, top bar, and screens.\nimport { useState } from \"react\";\nimport type { ReactNode } from \"react\";\nimport { Sidebar } from \"./Sidebar\";\nimport type { SidebarUser } from \"./Sidebar\";\nimport { TopBar } from \"./TopBar\";\nimport { OverviewScreen } from \"./OverviewScreen\";\nimport { SettingsScreen } from \"./SettingsScreen\";\n\nexport { Sidebar } from \"./Sidebar\";\nexport type { SidebarProps, SidebarUser } from \"./Sidebar\";\nexport { TopBar } from \"./TopBar\";\nexport type { TopBarProps } from \"./TopBar\";\nexport { OverviewScreen } from \"./OverviewScreen\";\nexport { SettingsScreen } from \"./SettingsScreen\";\n\ninterface Page {\n title: string;\n subtitle: string;\n render: () => ReactNode;\n}\n\nconst PAGES: Record<string, Page> = {\n overview: { title: \"Overview\", subtitle: \"Your money at a glance, March 2026.\", render: () => <OverviewScreen /> },\n settings: { title: \"Settings\", subtitle: \"Manage your profile and preferences.\", render: () => <SettingsScreen /> },\n};\n\nexport function DashboardTemplate() {\n const [active, setActive] = useState(\"overview\");\n const page: Page = PAGES[active] ?? {\n title: active[0].toUpperCase() + active.slice(1),\n subtitle: \"Coming soon in this demo.\",\n render: () => (\n <div style={{ padding: 64, textAlign: \"center\", color: \"var(--klun-text-soft-400)\", font: \"var(--klun-text-paragraph-lg)\" }}>\n <i className=\"ri-inbox-line\" style={{ fontSize: 40, display: \"block\", marginBottom: 12 }} />\n This screen isn't part of the demo — try Overview or Settings.\n </div>\n ),\n };\n const user: SidebarUser = { name: \"Arthur Taylor\", email: \"arthur@alignui.com\", initials: \"AT\" };\n return (\n <div style={{ display: \"flex\", height: \"100%\" }}>\n <Sidebar active={active} onNavigate={setActive} user={user} />\n <div style={{ flex: 1, minWidth: 0, display: \"flex\", flexDirection: \"column\", overflow: \"hidden\" }}>\n <TopBar title={page.title} subtitle={page.subtitle} />\n <main style={{ flex: 1, overflow: \"auto\", background: \"var(--klun-bg-weak-50)\" }}>{page.render()}</main>\n </div>\n </div>\n );\n}\n","// Klun UI AI assistant — conversations sidebar.\n\nexport interface AIConversation {\n id: string;\n group: \"today\" | \"week\";\n title: string;\n}\n\nexport interface AIUser {\n name: string;\n initials: string;\n}\n\nexport interface AISidebarProps {\n conversations: AIConversation[];\n activeId: string;\n onSelect: (id: string) => void;\n onNew: () => void;\n user: AIUser;\n}\n\nexport function AISidebar({ conversations, activeId, onSelect, onNew, user }: AISidebarProps) {\n const groups = [\n { label: \"Today\", items: conversations.filter((c) => c.group === \"today\") },\n { label: \"Previous 7 days\", items: conversations.filter((c) => c.group === \"week\") },\n ];\n return (\n <aside style={{ width: 280, flexShrink: 0, height: \"100%\", boxSizing: \"border-box\", display: \"flex\", flexDirection: \"column\", padding: 16, background: \"var(--klun-bg-weak-50)\", borderRight: \"1px solid var(--klun-stroke-soft-200)\" }}>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 10, padding: \"4px 6px 16px\" }}>\n <div style={{ width: 32, height: 32, borderRadius: \"var(--klun-radius-md)\", background: \"var(--klun-bg-strong-950)\", color: \"var(--klun-text-white-0)\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\" }}>\n <i className=\"ri-sparkling-2-fill\" style={{ fontSize: 18 }} />\n </div>\n <span style={{ font: \"var(--klun-text-label-md)\", color: \"var(--klun-text-strong-950)\" }}>Klun AI</span>\n </div>\n\n <button onClick={onNew} style={{ display: \"flex\", alignItems: \"center\", gap: 8, width: \"100%\", height: 40, padding: \"0 12px\", marginBottom: 16, border: \"none\", borderRadius: \"var(--klun-radius-lg)\", cursor: \"pointer\", background: \"var(--klun-primary-base)\", color: \"var(--klun-static-static-white)\", font: \"var(--klun-text-label-sm)\" }}>\n <i className=\"ri-add-line\" style={{ fontSize: 20 }} /> New chat\n </button>\n\n <div style={{ position: \"relative\", marginBottom: 16 }}>\n <i className=\"ri-search-line\" style={{ position: \"absolute\", left: 12, top: \"50%\", transform: \"translateY(-50%)\", fontSize: 18, color: \"var(--klun-icon-soft-400)\" }} />\n <input placeholder=\"Search chats\" style={{ width: \"100%\", boxSizing: \"border-box\", height: 36, padding: \"0 12px 0 36px\", borderRadius: \"var(--klun-radius-lg)\", border: \"none\", background: \"var(--klun-bg-white-0)\", boxShadow: \"inset 0 0 0 1px var(--klun-stroke-soft-200)\", font: \"var(--klun-text-paragraph-sm)\", color: \"var(--klun-text-strong-950)\", outline: \"none\" }} />\n </div>\n\n <div style={{ flex: 1, overflow: \"auto\", display: \"flex\", flexDirection: \"column\", gap: 14 }}>\n {groups.map((g) => g.items.length ? (\n <div key={g.label}>\n <div style={{ font: \"var(--klun-text-subheading-2xs)\", letterSpacing: \"var(--klun-subheading-2xs-tracking)\", textTransform: \"uppercase\", color: \"var(--klun-text-soft-400)\", padding: \"0 8px 6px\" }}>{g.label}</div>\n <div style={{ display: \"flex\", flexDirection: \"column\", gap: 2 }}>\n {g.items.map((c) => {\n const on = c.id === activeId;\n return (\n <button key={c.id} onClick={() => onSelect(c.id)} style={{\n display: \"flex\", alignItems: \"center\", gap: 8, width: \"100%\", height: 36, padding: \"0 10px\",\n border: \"none\", borderRadius: \"var(--klun-radius-md)\", cursor: \"pointer\", textAlign: \"left\",\n background: on ? \"var(--klun-bg-white-0)\" : \"transparent\",\n boxShadow: on ? \"var(--klun-shadow-xs), inset 0 0 0 1px var(--klun-stroke-soft-200)\" : \"none\",\n color: on ? \"var(--klun-text-strong-950)\" : \"var(--klun-text-sub-600)\", font: \"var(--klun-text-label-sm)\",\n }}>\n <i className=\"ri-chat-1-line\" style={{ fontSize: 18, color: \"var(--klun-icon-soft-400)\", flexShrink: 0 }} />\n <span style={{ flex: 1, whiteSpace: \"nowrap\", overflow: \"hidden\", textOverflow: \"ellipsis\" }}>{c.title}</span>\n </button>\n );\n })}\n </div>\n </div>\n ) : null)}\n </div>\n\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 10, padding: 8, marginTop: 8, borderRadius: \"var(--klun-radius-xl)\", background: \"var(--klun-bg-white-0)\", boxShadow: \"inset 0 0 0 1px var(--klun-stroke-soft-200)\" }}>\n <span style={{ width: 32, height: 32, borderRadius: \"var(--klun-radius-pill)\", background: \"var(--klun-state-feature-lighter)\", color: \"var(--klun-state-feature-base)\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\", font: \"var(--klun-text-label-xs)\", flexShrink: 0 }}>{user.initials}</span>\n <div style={{ flex: 1, minWidth: 0, lineHeight: 1.2 }}>\n <div style={{ font: \"var(--klun-text-label-sm)\", color: \"var(--klun-text-strong-950)\" }}>{user.name}</div>\n <div style={{ font: \"var(--klun-text-paragraph-xs)\", color: \"var(--klun-text-soft-400)\" }}>Free plan</div>\n </div>\n <i className=\"ri-settings-3-line\" style={{ fontSize: 18, color: \"var(--klun-icon-soft-400)\" }} />\n </div>\n </aside>\n );\n}\n","// Klun UI AI assistant — chat thread + welcome state.\nimport { useEffect, useRef } from \"react\";\nimport type { ReactNode } from \"react\";\nimport { Avatar } from \"../../index\";\n\nfunction Bubble({ from = \"them\", avatar, children }: { from?: \"me\" | \"them\"; avatar?: ReactNode; children?: ReactNode }) {\n const me = from === \"me\";\n return (\n <div style={{ display: \"flex\", flexDirection: me ? \"row-reverse\" : \"row\", gap: 10, alignItems: \"flex-end\" }}>\n {avatar ? <span style={{ flexShrink: 0 }}>{avatar}</span> : null}\n <div style={{ maxWidth: \"76%\", display: \"flex\", flexDirection: \"column\", gap: 4, alignItems: me ? \"flex-end\" : \"flex-start\" }}>\n <div style={{ padding: \"10px 14px\", font: \"var(--klun-text-paragraph-sm)\", borderRadius: me ? \"var(--klun-radius-2xl) var(--klun-radius-2xl) var(--klun-radius-sm) var(--klun-radius-2xl)\" : \"var(--klun-radius-2xl) var(--klun-radius-2xl) var(--klun-radius-2xl) var(--klun-radius-sm)\", background: me ? \"var(--klun-primary-base)\" : \"var(--klun-bg-weak-50)\", color: me ? \"var(--klun-static-static-white)\" : \"var(--klun-text-strong-950)\" }}>{children}</div>\n </div>\n </div>\n );\n}\n\nexport interface AIMessage {\n from: \"me\" | \"them\";\n text: string;\n}\n\nexport interface AIChatViewProps {\n messages: AIMessage[];\n busy: boolean;\n userInitials: string;\n onSuggest: (text: string) => void;\n}\n\nexport function AIChatView({ messages, busy, userInitials, onSuggest }: AIChatViewProps) {\n const endRef = useRef<HTMLDivElement>(null);\n useEffect(() => { endRef.current?.scrollTo?.(0, endRef.current.scrollHeight); }, [messages, busy]);\n\n const suggestions = [\n { icon: \"ri-file-list-3-line\", text: \"Summarize my unread invoices\" },\n { icon: \"ri-line-chart-line\", text: \"Compare Q1 and Q2 revenue\" },\n { icon: \"ri-mail-send-line\", text: \"Draft a follow-up email to a client\" },\n { icon: \"ri-calendar-todo-line\", text: \"Plan my week around 3 deadlines\" },\n ];\n\n if (messages.length === 0) {\n return (\n <div style={{ flex: 1, display: \"flex\", flexDirection: \"column\", alignItems: \"center\", justifyContent: \"center\", padding: 32, textAlign: \"center\" }}>\n <div style={{ width: 56, height: 56, borderRadius: \"var(--klun-radius-2xl)\", background: \"var(--klun-bg-strong-950)\", color: \"var(--klun-text-white-0)\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\", fontSize: 28, marginBottom: 20 }}>\n <i className=\"ri-sparkling-2-fill\" />\n </div>\n <h1 style={{ margin: 0, font: \"var(--klun-text-title-h4)\", color: \"var(--klun-text-strong-950)\" }}>How can I help, Arthur?</h1>\n <p style={{ margin: \"8px 0 28px\", font: \"var(--klun-text-paragraph-md)\", color: \"var(--klun-text-sub-600)\" }}>Ask anything, or start from a suggestion below.</p>\n <div style={{ display: \"grid\", gridTemplateColumns: \"1fr 1fr\", gap: 12, maxWidth: 540, width: \"100%\" }}>\n {suggestions.map((s) => (\n <button key={s.text} onClick={() => onSuggest(s.text)} style={{\n display: \"flex\", alignItems: \"center\", gap: 10, padding: \"14px 16px\", textAlign: \"left\",\n border: \"none\", borderRadius: \"var(--klun-radius-xl)\", cursor: \"pointer\", background: \"var(--klun-bg-white-0)\",\n boxShadow: \"inset 0 0 0 1px var(--klun-stroke-soft-200)\", font: \"var(--klun-text-label-sm)\", color: \"var(--klun-text-strong-950)\",\n }}>\n <i className={s.icon} style={{ fontSize: 20, color: \"var(--klun-primary-base)\" }} />\n <span>{s.text}</span>\n </button>\n ))}\n </div>\n </div>\n );\n }\n\n return (\n <div ref={endRef} style={{ flex: 1, overflow: \"auto\" }}>\n <div style={{ maxWidth: 720, margin: \"0 auto\", padding: \"24px 24px 8px\", display: \"flex\", flexDirection: \"column\", gap: 20 }}>\n {messages.map((m, i) => (\n <Bubble key={i} from={m.from}\n avatar={m.from === \"me\"\n ? <Avatar size=\"32\" initials={userInitials} color=\"purple\" />\n : <span style={{ width: 32, height: 32, borderRadius: \"var(--klun-radius-pill)\", background: \"var(--klun-bg-strong-950)\", color: \"var(--klun-text-white-0)\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\", fontSize: 16 }}><i className=\"ri-sparkling-2-fill\" /></span>}\n >{m.text}</Bubble>\n ))}\n {busy ? (\n <Bubble from=\"them\" avatar={<span style={{ width: 32, height: 32, borderRadius: \"var(--klun-radius-pill)\", background: \"var(--klun-bg-strong-950)\", color: \"var(--klun-text-white-0)\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\", fontSize: 16 }}><i className=\"ri-sparkling-2-fill\" /></span>}>\n <span className=\"ai-typing\"><span></span><span></span><span></span></span>\n </Bubble>\n ) : null}\n </div>\n </div>\n );\n}\n","// Klun UI AI assistant — prompt composer with model select, attachments, send.\nimport { useRef, useState, type ChangeEvent, type CSSProperties } from \"react\";\n\nexport interface AIComposerProps {\n onSend: (text: string) => void;\n busy: boolean;\n}\n\nexport function AIComposer({ onSend, busy }: AIComposerProps) {\n const [text, setText] = useState(\"\");\n const [model, setModel] = useState(\"Klun-4o\");\n const taRef = useRef<HTMLTextAreaElement>(null);\n const send = () => {\n const t = text.trim();\n if (!t || busy) return;\n onSend(t);\n setText(\"\");\n if (taRef.current) taRef.current.style.height = \"auto\";\n };\n const grow = (e: ChangeEvent<HTMLTextAreaElement>) => {\n setText(e.target.value);\n e.target.style.height = \"auto\";\n e.target.style.height = Math.min(e.target.scrollHeight, 160) + \"px\";\n };\n return (\n <div style={{ padding: \"0 24px 20px\" }}>\n <div style={{ maxWidth: 720, margin: \"0 auto\", borderRadius: \"var(--klun-radius-3xl)\", background: \"var(--klun-bg-white-0)\", boxShadow: \"var(--klun-shadow-md), inset 0 0 0 1px var(--klun-stroke-soft-200)\", padding: 12 }}>\n <textarea\n ref={taRef}\n value={text}\n onChange={grow}\n onKeyDown={(e) => { if (e.key === \"Enter\" && !e.shiftKey) { e.preventDefault(); send(); } }}\n placeholder=\"Ask Klun AI anything…\"\n rows={1}\n style={{ width: \"100%\", boxSizing: \"border-box\", border: \"none\", outline: \"none\", resize: \"none\", background: \"transparent\", font: \"var(--klun-text-paragraph-md)\", color: \"var(--klun-text-strong-950)\", padding: \"6px 6px 10px\", maxHeight: 160 }}\n />\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 8 }}>\n <button title=\"Attach file\" style={iconBtn}><i className=\"ri-attachment-2\" /></button>\n <button title=\"Add image\" style={iconBtn}><i className=\"ri-image-line\" /></button>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 4, height: 32, padding: \"0 8px 0 10px\", borderRadius: \"var(--klun-radius-md)\", background: \"var(--klun-bg-weak-50)\", font: \"var(--klun-text-label-sm)\", color: \"var(--klun-text-sub-600)\", cursor: \"pointer\" }}>\n <i className=\"ri-cpu-line\" style={{ fontSize: 16, color: \"var(--klun-icon-soft-400)\" }} />\n <select value={model} onChange={(e) => setModel(e.target.value)} style={{ appearance: \"none\", WebkitAppearance: \"none\", border: \"none\", outline: \"none\", background: \"transparent\", font: \"var(--klun-text-label-sm)\", color: \"var(--klun-text-sub-600)\", cursor: \"pointer\" }}>\n <option>Klun-4o</option><option>Klun-4 Turbo</option><option>Klun-mini</option>\n </select>\n <i className=\"ri-arrow-down-s-line\" style={{ fontSize: 16, color: \"var(--klun-icon-soft-400)\" }} />\n </div>\n <div style={{ flex: 1 }} />\n <button onClick={send} disabled={!text.trim() || busy} title=\"Send\" style={{\n display: \"inline-flex\", alignItems: \"center\", justifyContent: \"center\", width: 36, height: 36,\n border: \"none\", borderRadius: \"var(--klun-radius-lg)\", cursor: text.trim() && !busy ? \"pointer\" : \"not-allowed\",\n background: text.trim() && !busy ? \"var(--klun-primary-base)\" : \"var(--klun-bg-soft-200)\",\n color: text.trim() && !busy ? \"var(--klun-static-static-white)\" : \"var(--klun-text-soft-400)\", fontSize: 20,\n }}><i className=\"ri-arrow-up-line\" /></button>\n </div>\n </div>\n <div style={{ maxWidth: 720, margin: \"8px auto 0\", textAlign: \"center\", font: \"var(--klun-text-paragraph-xs)\", color: \"var(--klun-text-soft-400)\" }}>\n Klun AI can make mistakes. Check important info.\n </div>\n </div>\n );\n}\n\nconst iconBtn: CSSProperties = { display: \"inline-flex\", alignItems: \"center\", justifyContent: \"center\", width: 32, height: 32, border: \"none\", borderRadius: \"var(--klun-radius-md)\", background: \"transparent\", color: \"var(--klun-icon-sub-600)\", cursor: \"pointer\", fontSize: 18 };\n","// Klun UI AI assistant — full template composition.\nimport { useState } from \"react\";\nimport { Badge, Button } from \"../../index\";\nimport { AISidebar, type AIConversation, type AIUser } from \"./AISidebar\";\nimport { AIChatView, type AIMessage } from \"./ChatView\";\nimport { AIComposer } from \"./Composer\";\n\nconst REPLIES = [\n \"Here's a quick summary: you have 3 unread invoices totaling $4,512. Two are overdue — Apex Ltd ($2,400) and Northwind ($1,800).\",\n \"Happy to help with that. Based on your data, Q2 revenue is up 12.4% over Q1, driven mainly by recurring subscriptions.\",\n \"Done — I've drafted a friendly follow-up. Want me to adjust the tone or add a payment link?\",\n \"Got it. I've blocked focus time around your 3 deadlines and left buffers for review. Shall I add them to your calendar?\",\n];\n\nexport function AIAssistantTemplate() {\n const seed: AIConversation[] = [\n { id: \"c1\", group: \"today\", title: \"Q2 revenue breakdown\" },\n { id: \"c2\", group: \"today\", title: \"Follow-up email draft\" },\n { id: \"c3\", group: \"week\", title: \"Invoice reminders\" },\n { id: \"c4\", group: \"week\", title: \"Weekly planning\" },\n ];\n const [convs] = useState<AIConversation[]>(seed);\n const [activeId, setActiveId] = useState(\"new\");\n const [threads, setThreads] = useState<Record<string, AIMessage[]>>({ new: [] });\n const [busy, setBusy] = useState(false);\n const user: AIUser = { name: \"Arthur Taylor\", initials: \"AT\" };\n const messages = threads[activeId] || [];\n\n const ask = (text: string) => {\n setThreads((t) => ({ ...t, [activeId]: [...(t[activeId] || []), { from: \"me\", text }] }));\n setBusy(true);\n setTimeout(() => {\n const reply = REPLIES[Math.floor(Math.random() * REPLIES.length)];\n setThreads((t) => ({ ...t, [activeId]: [...(t[activeId] || []), { from: \"them\", text: reply }] }));\n setBusy(false);\n }, 1100);\n };\n\n const newChat = () => { setActiveId(\"new\"); setThreads((t) => ({ ...t, new: [] })); };\n\n return (\n <div style={{ display: \"flex\", height: \"100%\" }}>\n <AISidebar conversations={convs} activeId={activeId} onSelect={(id) => { setActiveId(id); setThreads((t) => t[id] ? t : { ...t, [id]: [] }); }} onNew={newChat} user={user} />\n <div style={{ flex: 1, minWidth: 0, display: \"flex\", flexDirection: \"column\" }}>\n <header style={{ display: \"flex\", alignItems: \"center\", gap: 12, padding: \"14px 24px\", borderBottom: \"1px solid var(--klun-stroke-soft-200)\" }}>\n <span style={{ font: \"var(--klun-text-label-md)\", color: \"var(--klun-text-strong-950)\" }}>New chat</span>\n <Badge color=\"purple\" variant=\"lighter\" size=\"small\" leadingIcon={<i className=\"ri-flashlight-fill\" />}>Klun-4o</Badge>\n <div style={{ flex: 1 }} />\n <Button iconOnly variant=\"neutral\" appearance=\"ghost\" icon={<i className=\"ri-share-line\" />} />\n <Button iconOnly variant=\"neutral\" appearance=\"ghost\" icon={<i className=\"ri-more-2-fill\" />} />\n </header>\n <AIChatView messages={messages} busy={busy} userInitials={user.initials} onSuggest={ask} />\n <AIComposer onSend={ask} busy={busy} />\n </div>\n </div>\n );\n}\n","// Klun UI crypto — trading sidebar.\n\ninterface NavItem {\n id: string;\n label: string;\n icon: string;\n badge?: string;\n}\n\nexport interface CryptoSidebarProps {\n active: string;\n onNavigate: (id: string) => void;\n}\n\nexport function CryptoSidebar({ active, onNavigate }: CryptoSidebarProps) {\n const main: NavItem[] = [\n { id: \"markets\", label: \"Markets\", icon: \"ri-line-chart-line\" },\n { id: \"portfolio\", label: \"Portfolio\", icon: \"ri-pie-chart-2-line\" },\n { id: \"trade\", label: \"Trade\", icon: \"ri-swap-line\" },\n { id: \"wallet\", label: \"Wallet\", icon: \"ri-wallet-3-line\" },\n { id: \"earn\", label: \"Earn\", icon: \"ri-funds-line\", badge: \"New\" },\n ];\n const other: NavItem[] = [\n { id: \"activity\", label: \"Activity\", icon: \"ri-history-line\" },\n { id: \"settings\", label: \"Settings\", icon: \"ri-settings-2-line\" },\n ];\n const Item = ({ it }: { it: NavItem }) => {\n const on = active === it.id;\n return (\n <button onClick={() => onNavigate(it.id)} style={{\n display: \"flex\", alignItems: \"center\", gap: 10, width: \"100%\", height: 38, padding: \"0 12px\",\n border: \"none\", borderRadius: \"var(--klun-radius-lg)\", cursor: \"pointer\", textAlign: \"left\",\n background: on ? \"var(--klun-bg-white-0)\" : \"transparent\",\n boxShadow: on ? \"var(--klun-shadow-xs), inset 0 0 0 1px var(--klun-stroke-soft-200)\" : \"none\",\n color: on ? \"var(--klun-text-strong-950)\" : \"var(--klun-text-sub-600)\", font: \"var(--klun-text-label-sm)\",\n }}>\n <i className={it.icon} style={{ fontSize: 20, color: on ? \"var(--klun-primary-base)\" : \"var(--klun-icon-sub-600)\" }} />\n <span style={{ flex: 1 }}>{it.label}</span>\n {it.badge ? <span style={{ font: \"var(--klun-text-subheading-2xs)\", padding: \"1px 6px\", borderRadius: \"var(--klun-radius-pill)\", background: \"var(--klun-state-success-lighter)\", color: \"var(--klun-state-success-base)\" }}>{it.badge}</span> : null}\n </button>\n );\n };\n return (\n <aside style={{ width: 256, flexShrink: 0, height: \"100%\", boxSizing: \"border-box\", display: \"flex\", flexDirection: \"column\", padding: 18, background: \"var(--klun-bg-weak-50)\", borderRight: \"1px solid var(--klun-stroke-soft-200)\" }}>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 10, padding: \"4px 8px 18px\" }}>\n <div style={{ width: 34, height: 34, borderRadius: \"var(--klun-radius-lg)\", background: \"var(--klun-primary-base)\", color: \"var(--klun-static-static-white)\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\" }}>\n <i className=\"ri-currency-line\" style={{ fontSize: 20 }} />\n </div>\n <span style={{ font: \"var(--klun-text-label-md)\", color: \"var(--klun-text-strong-950)\" }}>Apex Exchange</span>\n </div>\n <nav style={{ display: \"flex\", flexDirection: \"column\", gap: 2 }}>{main.map((it) => <Item key={it.id} it={it} />)}</nav>\n <div style={{ font: \"var(--klun-text-subheading-2xs)\", letterSpacing: \"var(--klun-subheading-2xs-tracking)\", textTransform: \"uppercase\", color: \"var(--klun-text-soft-400)\", padding: \"20px 12px 8px\" }}>Account</div>\n <nav style={{ display: \"flex\", flexDirection: \"column\", gap: 2 }}>{other.map((it) => <Item key={it.id} it={it} />)}</nav>\n <div style={{ flex: 1 }} />\n <div style={{ borderRadius: \"var(--klun-radius-xl)\", background: \"var(--klun-bg-strong-950)\", padding: 16, color: \"var(--klun-static-static-white)\" }}>\n <i className=\"ri-vip-crown-2-line\" style={{ fontSize: 22 }} />\n <div style={{ marginTop: 8, font: \"var(--klun-text-label-sm)\" }}>Upgrade to Pro</div>\n <div style={{ marginTop: 2, font: \"var(--klun-text-paragraph-xs)\", opacity: .7 }}>0% maker fees & advanced charts.</div>\n </div>\n </aside>\n );\n}\n","// Klun UI crypto — Markets/Portfolio screen.\nimport { useState } from \"react\";\nimport type { ReactNode } from \"react\";\nimport { Card, Table, Badge, SegmentedControl, Button } from \"../../index\";\n\nfunction Stat({ label, value, delta, trend = \"up\", tint = \"feature\", icon }: {\n label: ReactNode; value: ReactNode; delta?: ReactNode; trend?: \"up\" | \"down\";\n tint?: \"feature\" | \"success\" | \"warning\" | \"information\" | \"error\"; icon?: ReactNode;\n}) {\n const dc = trend === \"up\" ? \"success\" : \"error\";\n return (\n <Card variant=\"stroke\" padding={18}>\n <div style={{ display: \"flex\", alignItems: \"flex-start\", justifyContent: \"space-between\" }}>\n <span style={{ width: 40, height: 40, borderRadius: \"var(--klun-radius-lg)\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\", fontSize: 22, background: `var(--klun-state-${tint}-lighter)`, color: `var(--klun-state-${tint}-base)` }}>{icon}</span>\n {delta != null ? (\n <span style={{ display: \"inline-flex\", alignItems: \"center\", gap: 2, height: 20, padding: \"0 6px\", borderRadius: \"var(--klun-radius-capsule)\", font: \"var(--klun-text-label-xs)\", background: `var(--klun-state-${dc}-lighter)`, color: `var(--klun-state-${dc}-base)` }}>\n <i className={trend === \"up\" ? \"ri-arrow-up-line\" : \"ri-arrow-down-line\"} style={{ fontSize: 14 }} />{delta}\n </span>\n ) : null}\n </div>\n <div style={{ marginTop: 16, font: \"var(--klun-text-paragraph-sm)\", color: \"var(--klun-text-sub-600)\" }}>{label}</div>\n <div style={{ marginTop: 2, font: \"var(--klun-text-title-h5)\", color: \"var(--klun-text-strong-950)\" }}>{value}</div>\n </Card>\n );\n}\nimport type { TableColumn } from \"../../index\";\n\nfunction coinStyle(sym: string): [string, string] {\n const map: Record<string, [string, string]> = {\n BTC: [\"#F7931A22\", \"#F7931A\"], ETH: [\"#627EEA22\", \"#627EEA\"], SOL: [\"#9945FF22\", \"#9945FF\"],\n XRP: [\"#23292F22\", \"#23292F\"], BNB: [\"#F3BA2F22\", \"#C99A2C\"], USDC: [\"#2775CA22\", \"#2775CA\"],\n AVAX: [\"#E8414222\", \"#E84142\"], ADA: [\"#0033AD22\", \"#0033AD\"],\n };\n return map[sym] || [\"var(--klun-bg-weak-50)\", \"var(--klun-text-sub-600)\"];\n}\n\ninterface CoinIconProps {\n sym: string;\n size?: number;\n}\n\nfunction CoinIcon({ sym, size = 32 }: CoinIconProps) {\n const [bg, fg] = coinStyle(sym);\n return <span style={{ width: size, height: size, borderRadius: \"var(--klun-radius-pill)\", background: bg, color: fg, display: \"inline-flex\", alignItems: \"center\", justifyContent: \"center\", font: \"var(--klun-text-label-xs)\", fontWeight: 600, flexShrink: 0 }}>{sym.slice(0, 3)}</span>;\n}\n\ninterface SparkProps {\n up: boolean;\n w?: number;\n h?: number;\n}\n\nfunction Spark({ up, w = 96, h = 32 }: SparkProps) {\n const pts = up ? [10, 12, 8, 14, 11, 16, 13, 20, 18, 24, 22, 28] : [26, 22, 24, 18, 20, 16, 18, 12, 14, 10, 12, 8];\n const step = w / (pts.length - 1);\n const d = pts.map((p, i) => `${i ? \"L\" : \"M\"}${(i * step).toFixed(1)},${(h - p).toFixed(1)}`).join(\" \");\n const c = up ? \"var(--klun-state-success-base)\" : \"var(--klun-state-error-base)\";\n return <svg width={w} height={h}><path d={d} fill=\"none\" stroke={c} strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\n}\n\ninterface Holding {\n sym: string;\n name: string;\n price: string;\n amount: string;\n value: string;\n chg: string;\n up: boolean;\n}\n\nexport function MarketsScreen() {\n const [range, setRange] = useState(\"1w\");\n\n const holdings: Holding[] = [\n { sym: \"BTC\", name: \"Bitcoin\", price: \"$64,210\", amount: \"0.842 BTC\", value: \"$54,065\", chg: \"+2.4%\", up: true },\n { sym: \"ETH\", name: \"Ethereum\", price: \"$3,180\", amount: \"6.20 ETH\", value: \"$19,716\", chg: \"+1.3%\", up: true },\n { sym: \"SOL\", name: \"Solana\", price: \"$142.50\", amount: \"84.0 SOL\", value: \"$11,970\", chg: \"-2.3%\", up: false },\n { sym: \"XRP\", name: \"XRP\", price: \"$0.62\", amount: \"9,400 XRP\", value: \"$5,828\", chg: \"-0.2%\", up: false },\n { sym: \"BNB\", name: \"BNB\", price: \"$590.10\", amount: \"12.0 BNB\", value: \"$7,081\", chg: \"-1.5%\", up: false },\n ];\n const columns: TableColumn<Holding>[] = [\n { key: \"name\", header: \"Asset\", render: (r) => (\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 10 }}>\n <CoinIcon sym={r.sym} />\n <div><div style={{ font: \"var(--klun-text-label-sm)\", color: \"var(--klun-text-strong-950)\" }}>{r.name}</div>\n <div style={{ font: \"var(--klun-text-paragraph-xs)\", color: \"var(--klun-text-soft-400)\" }}>{r.sym}</div></div>\n </div>) },\n { key: \"price\", header: \"Price\", render: (r) => <span style={{ font: \"var(--klun-text-label-sm)\" }}>{r.price}</span> },\n { key: \"amount\", header: \"Holdings\", render: (r) => <span style={{ color: \"var(--klun-text-sub-600)\" }}>{r.amount}</span> },\n { key: \"chg\", header: \"24h\", render: (r) => <Badge color={r.up ? \"green\" : \"red\"} variant=\"light\" size=\"small\" leadingIcon={<i className={r.up ? \"ri-arrow-up-line\" : \"ri-arrow-down-line\"} />}>{r.chg}</Badge> },\n { key: \"value\", header: \"Value\", align: \"right\", render: (r) => <span style={{ font: \"var(--klun-text-label-sm)\", color: \"var(--klun-text-strong-950)\" }}>{r.value}</span> },\n { key: \"spark\", header: \"\", width: 110, align: \"right\", render: (r) => <Spark up={r.up} /> },\n ];\n\n return (\n <div style={{ padding: 28, display: \"flex\", flexDirection: \"column\", gap: 20 }}>\n <div style={{ display: \"grid\", gridTemplateColumns: \"1.6fr 1fr 1fr\", gap: 16 }}>\n <div style={{ gridColumn: \"1 / -1\", display: \"grid\", gridTemplateColumns: \"repeat(3, 1fr)\", gap: 16 }}>\n <Stat label=\"Total balance\" value=\"$98,659.40\" delta=\"3.8%\" trend=\"up\" tint=\"feature\" icon={<i className=\"ri-wallet-3-line\" />} />\n <Stat label=\"24h P&L\" value=\"+$1,842.10\" delta=\"1.9%\" trend=\"up\" tint=\"success\" icon={<i className=\"ri-line-chart-line\" />} />\n <Stat label=\"Available\" value=\"$12,430.00\" delta=\"0.0%\" trend=\"up\" tint=\"information\" icon={<i className=\"ri-cash-line\" />} />\n </div>\n </div>\n\n <div style={{ background: \"var(--klun-bg-white-0)\", borderRadius: \"var(--klun-radius-2xl)\", boxShadow: \"inset 0 0 0 1px var(--klun-stroke-soft-200)\", padding: 20 }}>\n <div style={{ display: \"flex\", alignItems: \"center\", justifyContent: \"space-between\", marginBottom: 8 }}>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 12 }}>\n <CoinIcon sym=\"BTC\" size={36} />\n <div>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 8 }}>\n <span style={{ font: \"var(--klun-text-title-h5)\", color: \"var(--klun-text-strong-950)\" }}>$64,210.40</span>\n <Badge color=\"green\" variant=\"light\" size=\"small\" leadingIcon={<i className=\"ri-arrow-up-line\" />}>2.4%</Badge>\n </div>\n <div style={{ font: \"var(--klun-text-paragraph-sm)\", color: \"var(--klun-text-soft-400)\" }}>Bitcoin · BTC/USD</div>\n </div>\n </div>\n <SegmentedControl value={range} onChange={setRange} items={[{ value: \"1d\", label: \"1D\" }, { value: \"1w\", label: \"1W\" }, { value: \"1m\", label: \"1M\" }, { value: \"1y\", label: \"1Y\" }]} />\n </div>\n <AreaChart />\n </div>\n\n <div style={{ background: \"var(--klun-bg-white-0)\", borderRadius: \"var(--klun-radius-2xl)\", boxShadow: \"inset 0 0 0 1px var(--klun-stroke-soft-200)\", overflow: \"hidden\" }}>\n <div style={{ padding: \"16px 20px\", display: \"flex\", alignItems: \"center\", justifyContent: \"space-between\" }}>\n <span style={{ font: \"var(--klun-text-label-lg)\", color: \"var(--klun-text-strong-950)\" }}>Your holdings</span>\n <Button variant=\"primary\" size=\"small\" leadingIcon={<i className=\"ri-add-line\" />}>Buy crypto</Button>\n </div>\n <Table columns={columns} rows={holdings} getRowId={(r) => r.sym} style={{ borderRadius: 0, boxShadow: \"none\", borderTop: \"1px solid var(--klun-stroke-soft-200)\" }} />\n </div>\n </div>\n );\n}\n\nfunction AreaChart(): ReactNode {\n const pts = [40, 44, 38, 52, 48, 60, 55, 72, 68, 84, 78, 96, 90, 108, 118];\n const w = 1000, h = 160, max = 130;\n const step = w / (pts.length - 1);\n const line = pts.map((p, i) => `${i ? \"L\" : \"M\"}${(i * step).toFixed(1)},${(h - (p / max) * h).toFixed(1)}`).join(\" \");\n const area = `${line} L${w},${h} L0,${h} Z`;\n return (\n <svg viewBox={`0 0 ${w} ${h}`} preserveAspectRatio=\"none\" style={{ width: \"100%\", height: 160, display: \"block\" }}>\n <defs>\n <linearGradient id=\"cryptoFill\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n <stop offset=\"0%\" stopColor=\"var(--klun-primary-base)\" stopOpacity=\"0.18\" />\n <stop offset=\"100%\" stopColor=\"var(--klun-primary-base)\" stopOpacity=\"0\" />\n </linearGradient>\n </defs>\n <path d={area} fill=\"url(#cryptoFill)\" />\n <path d={line} fill=\"none\" stroke=\"var(--klun-primary-base)\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n );\n}\n","// Klun UI crypto — trading dashboard template.\n// Markets/portfolio starting point — balance cards, area chart, holdings table.\nimport { useState } from \"react\";\nimport { Badge, Button } from \"../../index\";\nimport { CryptoSidebar } from \"./CryptoSidebar\";\nimport { MarketsScreen } from \"./MarketsScreen\";\n\nexport function CryptoTemplate() {\n const [active, setActive] = useState(\"portfolio\");\n return (\n <div style={{ display: \"flex\", height: \"100%\" }}>\n <CryptoSidebar active={active} onNavigate={setActive} />\n <div style={{ flex: 1, minWidth: 0, display: \"flex\", flexDirection: \"column\", overflow: \"hidden\" }}>\n <header style={{ display: \"flex\", alignItems: \"center\", gap: 16, padding: \"16px 28px\", borderBottom: \"1px solid var(--klun-stroke-soft-200)\", background: \"var(--klun-bg-white-0)\" }}>\n <div style={{ flex: 1 }}>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 8 }}>\n <h1 style={{ margin: 0, font: \"var(--klun-text-title-h5)\", color: \"var(--klun-text-strong-950)\" }}>Portfolio</h1>\n <Badge color=\"green\" variant=\"light\" size=\"small\" dot>Markets open</Badge>\n </div>\n </div>\n <div style={{ position: \"relative\" }}>\n <i className=\"ri-search-line\" style={{ position: \"absolute\", left: 12, top: \"50%\", transform: \"translateY(-50%)\", fontSize: 18, color: \"var(--klun-icon-soft-400)\" }}></i>\n <input placeholder=\"Search assets\" style={{ width: 220, boxSizing: \"border-box\", height: 36, padding: \"0 12px 0 36px\", borderRadius: \"var(--klun-radius-lg)\", border: \"none\", background: \"var(--klun-bg-weak-50)\", boxShadow: \"inset 0 0 0 1px var(--klun-stroke-soft-200)\", font: \"var(--klun-text-paragraph-sm)\", color: \"var(--klun-text-strong-950)\", outline: \"none\" }} />\n </div>\n <Button iconOnly variant=\"neutral\" appearance=\"stroke\" icon={<i className=\"ri-notification-3-line\" />} />\n <Button variant=\"primary\" leadingIcon={<i className=\"ri-arrow-left-right-line\" />}>Trade</Button>\n </header>\n <main style={{ flex: 1, overflow: \"auto\", background: \"var(--klun-bg-weak-50)\" }}>\n <MarketsScreen />\n </main>\n </div>\n </div>\n );\n}\n","// Klun UI marketing — top nav.\nimport { Button } from \"../../index\";\n\nexport function MarketingNav() {\n const links = [\"Product\", \"Solutions\", \"Pricing\", \"Customers\", \"Docs\"];\n return (\n <header style={{ position: \"sticky\", top: 0, zIndex: 20, background: \"color-mix(in srgb, var(--klun-bg-white-0) 80%, transparent)\", backdropFilter: \"blur(12px)\", borderBottom: \"1px solid var(--klun-stroke-soft-200)\" }}>\n <div style={{ maxWidth: 1120, margin: \"0 auto\", display: \"flex\", alignItems: \"center\", gap: 24, padding: \"14px 24px\" }}>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 10 }}>\n <div style={{ width: 32, height: 32, borderRadius: \"var(--klun-radius-md)\", background: \"var(--klun-bg-strong-950)\", color: \"var(--klun-text-white-0)\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\" }}>\n <i className=\"ri-shapes-line\" style={{ fontSize: 18 }} />\n </div>\n <span style={{ font: \"var(--klun-text-label-lg)\", color: \"var(--klun-text-strong-950)\" }}>Klun</span>\n </div>\n <nav style={{ display: \"flex\", gap: 4, flex: 1 }}>\n {links.map((l) => (\n <a key={l} href=\"#\" style={{ padding: \"6px 12px\", borderRadius: \"var(--klun-radius-md)\", font: \"var(--klun-text-label-sm)\", color: \"var(--klun-text-sub-600)\", textDecoration: \"none\" }}>{l}</a>\n ))}\n </nav>\n <a href=\"#\" style={{ font: \"var(--klun-text-label-sm)\", color: \"var(--klun-text-sub-600)\", textDecoration: \"none\" }}>Sign in</a>\n <Button variant=\"neutral\" size=\"small\" trailingIcon={<i className=\"ri-arrow-right-line\" />}>Start free</Button>\n </div>\n </header>\n );\n}\n","// Klun UI marketing — page sections.\nimport type { CSSProperties, ReactNode } from \"react\";\nimport { Badge, Button, Card, Accordion, Avatar } from \"../../index\";\n\nfunction Stat({ label, value, delta, trend = \"up\", tint = \"feature\", icon }: {\n label: ReactNode; value: ReactNode; delta?: ReactNode; trend?: \"up\" | \"down\";\n tint?: \"feature\" | \"success\" | \"warning\" | \"information\" | \"error\"; icon?: ReactNode;\n}) {\n const dc = trend === \"up\" ? \"success\" : \"error\";\n return (\n <Card variant=\"stroke\" padding={18}>\n <div style={{ display: \"flex\", alignItems: \"flex-start\", justifyContent: \"space-between\" }}>\n <span style={{ width: 40, height: 40, borderRadius: \"var(--klun-radius-lg)\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\", fontSize: 22, background: `var(--klun-state-${tint}-lighter)`, color: `var(--klun-state-${tint}-base)` }}>{icon}</span>\n {delta != null ? (\n <span style={{ display: \"inline-flex\", alignItems: \"center\", gap: 2, height: 20, padding: \"0 6px\", borderRadius: \"var(--klun-radius-capsule)\", font: \"var(--klun-text-label-xs)\", background: `var(--klun-state-${dc}-lighter)`, color: `var(--klun-state-${dc}-base)` }}>\n <i className={trend === \"up\" ? \"ri-arrow-up-line\" : \"ri-arrow-down-line\"} style={{ fontSize: 14 }} />{delta}\n </span>\n ) : null}\n </div>\n <div style={{ marginTop: 16, font: \"var(--klun-text-paragraph-sm)\", color: \"var(--klun-text-sub-600)\" }}>{label}</div>\n <div style={{ marginTop: 2, font: \"var(--klun-text-title-h5)\", color: \"var(--klun-text-strong-950)\" }}>{value}</div>\n </Card>\n );\n}\n\ninterface Feature {\n icon: string;\n t: string;\n d: string;\n}\n\ninterface PricingTier {\n name: string;\n price: string;\n note: string;\n feats: string[];\n cta: string;\n featured: boolean;\n}\n\ninterface FooterColumn {\n h: string;\n l: string[];\n}\n\nexport function MarketingSections() {\n const wrap: CSSProperties = { maxWidth: 1120, margin: \"0 auto\", padding: \"0 24px\" };\n\n const features: Feature[] = [\n { icon: \"ri-contrast-drop-line\", t: \"Semantic tokens\", d: \"Every color, radius and space is a named token that re-themes in one line.\" },\n { icon: \"ri-moon-clear-line\", t: \"Dark mode built-in\", d: \"Light and dark resolve automatically — no duplicate components.\" },\n { icon: \"ri-palette-line\", t: \"Four accent themes\", d: \"Blue, purple, orange or green. Switch with a single data attribute.\" },\n { icon: \"ri-puzzle-2-line\", t: \"50+ components\", d: \"Buttons to command menus, all composable and accessible.\" },\n { icon: \"ri-layout-grid-line\", t: \"Product templates\", d: \"Dashboards, AI chat and trading screens ready to fork.\" },\n { icon: \"ri-code-s-slash-line\", t: \"Figma to code\", d: \"Tokens and structure map straight to your codebase.\" },\n ];\n\n const tiers: PricingTier[] = [\n { name: \"Starter\", price: \"$0\", note: \"for solo makers\", feats: [\"Core tokens\", \"30 components\", \"Community support\"], cta: \"Get started\", featured: false },\n { name: \"Pro\", price: \"$29\", note: \"per editor / month\", feats: [\"All 50+ components\", \"Product templates\", \"Dark mode & themes\", \"Priority support\"], cta: \"Start free trial\", featured: true },\n { name: \"Team\", price: \"Custom\", note: \"for organizations\", feats: [\"Everything in Pro\", \"SSO & roles\", \"Design ops review\", \"SLA\"], cta: \"Contact sales\", featured: false },\n ];\n\n const footerColumns: FooterColumn[] = [\n { h: \"Product\", l: [\"Components\", \"Tokens\", \"Templates\", \"Changelog\"] },\n { h: \"Company\", l: [\"About\", \"Careers\", \"Blog\", \"Contact\"] },\n { h: \"Legal\", l: [\"Privacy\", \"Terms\", \"License\"] },\n ];\n\n return (\n <main>\n {/* Hero */}\n <section style={{ ...wrap, textAlign: \"center\", padding: \"80px 24px 64px\" }}>\n <div style={{ display: \"inline-flex\", marginBottom: 20 }}>\n <Badge color=\"purple\" variant=\"lighter\" leadingIcon={<i className=\"ri-sparkling-2-fill\" />}>Klun UI 2.0 is here</Badge>\n </div>\n <h1 style={{ margin: \"0 auto\", maxWidth: 760, font: \"var(--klun-text-title-h1)\", letterSpacing: \"var(--klun-title-h1-tracking)\", color: \"var(--klun-text-strong-950)\" }}>\n The design system that ships with you\n </h1>\n <p style={{ margin: \"20px auto 0\", maxWidth: 560, font: \"var(--klun-text-paragraph-lg)\", color: \"var(--klun-text-sub-600)\" }}>\n Tokens, components and full product templates — themeable, dark-mode ready, and built to move from Figma to production without the redraw.\n </p>\n <div style={{ display: \"flex\", gap: 12, justifyContent: \"center\", marginTop: 28 }}>\n <Button variant=\"primary\" size=\"large\" trailingIcon={<i className=\"ri-arrow-right-line\" />}>Start building free</Button>\n <Button variant=\"neutral\" appearance=\"stroke\" size=\"large\" leadingIcon={<i className=\"ri-github-fill\" />}>View on GitHub</Button>\n </div>\n <div style={{ marginTop: 40, height: 280, borderRadius: \"var(--klun-radius-3xl)\", background: \"linear-gradient(180deg, var(--klun-bg-weak-50), var(--klun-bg-white-0))\", boxShadow: \"var(--klun-shadow-lg), inset 0 0 0 1px var(--klun-stroke-soft-200)\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\", color: \"var(--klun-text-disabled-300)\" }}>\n <i className=\"ri-layout-masonry-line\" style={{ fontSize: 56 }} />\n </div>\n </section>\n\n {/* Social proof */}\n <section style={{ ...wrap, padding: \"8px 24px 56px\" }}>\n <p style={{ textAlign: \"center\", font: \"var(--klun-text-subheading-xs)\", letterSpacing: \"var(--klun-subheading-xs-tracking)\", textTransform: \"uppercase\", color: \"var(--klun-text-soft-400)\", marginBottom: 20 }}>Trusted by teams at</p>\n <div style={{ display: \"flex\", flexWrap: \"wrap\", gap: 40, justifyContent: \"center\", alignItems: \"center\", color: \"var(--klun-text-disabled-300)\" }}>\n {[\"ri-google-fill\", \"ri-microsoft-fill\", \"ri-slack-fill\", \"ri-notion-fill\", \"ri-figma-fill\", \"ri-amazon-fill\"].map((i) => (\n <i key={i} className={i} style={{ fontSize: 30 }} />\n ))}\n </div>\n </section>\n\n {/* Stats */}\n <section style={{ ...wrap, padding: \"16px 24px 64px\" }}>\n <div style={{ display: \"grid\", gridTemplateColumns: \"repeat(4, 1fr)\", gap: 16 }}>\n <Stat label=\"Components\" value=\"50+\" delta=\"2.0 release\" trend=\"up\" tint=\"feature\" icon={<i className=\"ri-puzzle-2-line\" />} />\n <Stat label=\"Design tokens\" value=\"700+\" delta=\"9 collections\" trend=\"up\" tint=\"information\" icon={<i className=\"ri-palette-line\" />} />\n <Stat label=\"Icons\" value=\"4,200+\" delta=\"line & fill\" trend=\"up\" tint=\"success\" icon={<i className=\"ri-shapes-line\" />} />\n <Stat label=\"Themes\" value=\"4 + dark\" delta=\"instant\" trend=\"up\" tint=\"warning\" icon={<i className=\"ri-contrast-2-line\" />} />\n </div>\n </section>\n\n {/* Features */}\n <section style={{ ...wrap, padding: \"56px 24px\" }}>\n <div style={{ textAlign: \"center\", maxWidth: 560, margin: \"0 auto 40px\" }}>\n <h2 style={{ margin: 0, font: \"var(--klun-text-title-h3)\", letterSpacing: \"var(--klun-title-h3-tracking)\", color: \"var(--klun-text-strong-950)\" }}>Everything you need to design fast</h2>\n <p style={{ margin: \"12px 0 0\", font: \"var(--klun-text-paragraph-md)\", color: \"var(--klun-text-sub-600)\" }}>One coherent system from the smallest token to the full screen.</p>\n </div>\n <div style={{ display: \"grid\", gridTemplateColumns: \"repeat(3, 1fr)\", gap: 16 }}>\n {features.map((f) => (\n <Card key={f.t} variant=\"stroke\" padding={24}>\n <div style={{ width: 40, height: 40, borderRadius: \"var(--klun-radius-lg)\", background: \"var(--klun-primary-lighter)\", color: \"var(--klun-primary-base)\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\", fontSize: 22, marginBottom: 16 }}>\n <i className={f.icon} />\n </div>\n <div style={{ font: \"var(--klun-text-label-lg)\", color: \"var(--klun-text-strong-950)\", marginBottom: 6 }}>{f.t}</div>\n <p style={{ margin: 0, font: \"var(--klun-text-paragraph-sm)\", color: \"var(--klun-text-sub-600)\" }}>{f.d}</p>\n </Card>\n ))}\n </div>\n </section>\n\n {/* Pricing */}\n <section style={{ ...wrap, padding: \"56px 24px\" }}>\n <div style={{ textAlign: \"center\", marginBottom: 40 }}>\n <h2 style={{ margin: 0, font: \"var(--klun-text-title-h3)\", letterSpacing: \"var(--klun-title-h3-tracking)\", color: \"var(--klun-text-strong-950)\" }}>Simple, fair pricing</h2>\n </div>\n <div style={{ display: \"grid\", gridTemplateColumns: \"repeat(3, 1fr)\", gap: 16, alignItems: \"start\" }}>\n {tiers.map((p) => (\n <div key={p.name} style={{\n borderRadius: \"var(--klun-radius-3xl)\", padding: 28,\n background: p.featured ? \"var(--klun-bg-strong-950)\" : \"var(--klun-bg-white-0)\",\n color: p.featured ? \"var(--klun-static-static-white)\" : \"var(--klun-text-strong-950)\",\n boxShadow: p.featured ? \"var(--klun-shadow-lg)\" : \"inset 0 0 0 1px var(--klun-stroke-soft-200)\",\n }}>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 8 }}>\n <span style={{ font: \"var(--klun-text-label-lg)\" }}>{p.name}</span>\n {p.featured ? <Badge color=\"purple\" variant=\"filled\" size=\"small\">Popular</Badge> : null}\n </div>\n <div style={{ marginTop: 16, display: \"flex\", alignItems: \"baseline\", gap: 6 }}>\n <span style={{ font: \"var(--klun-text-title-h2)\", letterSpacing: \"var(--klun-title-h2-tracking)\" }}>{p.price}</span>\n <span style={{ font: \"var(--klun-text-paragraph-sm)\", opacity: .7 }}>{p.note}</span>\n </div>\n <div style={{ margin: \"20px 0\", display: \"flex\", flexDirection: \"column\", gap: 10 }}>\n {p.feats.map((f) => (\n <div key={f} style={{ display: \"flex\", alignItems: \"center\", gap: 8, font: \"var(--klun-text-paragraph-sm)\", opacity: p.featured ? .9 : 1 }}>\n <i className=\"ri-checkbox-circle-fill\" style={{ fontSize: 18, color: p.featured ? \"var(--klun-static-static-white)\" : \"var(--klun-state-success-base)\" }} />{f}\n </div>\n ))}\n </div>\n <button style={{\n width: \"100%\", height: 44, border: \"none\", borderRadius: \"var(--klun-radius-xl)\", cursor: \"pointer\", font: \"var(--klun-text-label-md)\",\n background: p.featured ? \"var(--klun-static-static-white)\" : \"var(--klun-primary-base)\",\n color: p.featured ? \"var(--klun-static-static-black)\" : \"var(--klun-static-static-white)\",\n }}>{p.cta}</button>\n </div>\n ))}\n </div>\n </section>\n\n {/* Testimonial */}\n <section style={{ ...wrap, padding: \"56px 24px\" }}>\n <Card variant=\"flat\" padding={40} style={{ textAlign: \"center\", borderRadius: \"var(--klun-radius-4xl)\" }}>\n <div style={{ display: \"flex\", justifyContent: \"center\", gap: 4, color: \"var(--klun-state-away-base)\", marginBottom: 16 }}>\n {[0, 1, 2, 3, 4].map((i) => <i key={i} className=\"ri-star-fill\" style={{ fontSize: 20 }} />)}\n </div>\n <p style={{ margin: \"0 auto\", maxWidth: 680, font: \"var(--klun-text-title-h5)\", color: \"var(--klun-text-strong-950)\", fontFamily: \"var(--klun-font-display)\" }}>\n “We replaced three internal libraries with Klun UI and shipped our dashboard a month early. The token system alone paid for itself.”\n </p>\n <div style={{ display: \"flex\", alignItems: \"center\", justifyContent: \"center\", gap: 12, marginTop: 24 }}>\n <Avatar size=\"48\" initials=\"SW\" color=\"purple\" />\n <div style={{ textAlign: \"left\" }}>\n <div style={{ font: \"var(--klun-text-label-md)\", color: \"var(--klun-text-strong-950)\" }}>Sophia Williams</div>\n <div style={{ font: \"var(--klun-text-paragraph-sm)\", color: \"var(--klun-text-soft-400)\" }}>Head of Design, Northwind</div>\n </div>\n </div>\n </Card>\n </section>\n\n {/* FAQ */}\n <section style={{ maxWidth: 720, margin: \"0 auto\", padding: \"56px 24px\" }}>\n <h2 style={{ margin: \"0 0 28px\", textAlign: \"center\", font: \"var(--klun-text-title-h3)\", letterSpacing: \"var(--klun-title-h3-tracking)\", color: \"var(--klun-text-strong-950)\" }}>Frequently asked</h2>\n <Accordion defaultOpen=\"a\" items={[\n { id: \"a\", title: \"Is Klun UI free to use?\", content: \"The Starter tier with core tokens and 30 components is free forever. Pro unlocks the full component set, templates and themes.\" },\n { id: \"b\", title: \"Does it work with my framework?\", content: \"Components ship as framework-agnostic patterns driven by CSS custom properties — drop the tokens into React, Vue, Svelte or plain HTML.\" },\n { id: \"c\", title: \"Can I customize the theme?\", content: \"Yes. Swap the accent (blue/purple/orange/green) and neutral ramp (gray/slate) with a single data attribute, or override any token.\" },\n { id: \"d\", title: \"Do you offer dark mode?\", content: \"Dark mode is built in. Set data-theme=\\\"dark\\\" and every component re-themes through its semantic tokens.\" },\n ]} />\n </section>\n\n {/* CTA */}\n <section style={{ ...wrap, padding: \"40px 24px 80px\" }}>\n <div style={{ borderRadius: \"var(--klun-radius-4xl)\", padding: \"56px 24px\", textAlign: \"center\", background: \"var(--klun-bg-strong-950)\", color: \"var(--klun-static-static-white)\" }}>\n <h2 style={{ margin: 0, font: \"var(--klun-text-title-h2)\", letterSpacing: \"var(--klun-title-h2-tracking)\" }}>Start designing in harmony</h2>\n <p style={{ margin: \"12px auto 0\", maxWidth: 480, font: \"var(--klun-text-paragraph-lg)\", opacity: .8 }}>Free to start. No credit card required.</p>\n <div style={{ display: \"flex\", gap: 12, justifyContent: \"center\", marginTop: 28 }}>\n <button style={{ height: 48, padding: \"0 24px\", border: \"none\", borderRadius: \"var(--klun-radius-xl)\", cursor: \"pointer\", font: \"var(--klun-text-label-md)\", background: \"var(--klun-static-static-white)\", color: \"var(--klun-static-static-black)\" }}>Start free</button>\n <button style={{ height: 48, padding: \"0 24px\", border: \"none\", borderRadius: \"var(--klun-radius-xl)\", cursor: \"pointer\", font: \"var(--klun-text-label-md)\", background: \"var(--klun-alpha-white-alpha-16)\", color: \"var(--klun-static-static-white)\" }}>Book a demo</button>\n </div>\n </div>\n </section>\n\n {/* Footer */}\n <footer style={{ borderTop: \"1px solid var(--klun-stroke-soft-200)\" }}>\n <div style={{ ...wrap, display: \"flex\", gap: 24, flexWrap: \"wrap\", justifyContent: \"space-between\", padding: \"40px 24px\" }}>\n <div style={{ maxWidth: 260 }}>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 10, marginBottom: 12 }}>\n <div style={{ width: 28, height: 28, borderRadius: \"var(--klun-radius-md)\", background: \"var(--klun-bg-strong-950)\", color: \"var(--klun-text-white-0)\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\" }}><i className=\"ri-shapes-line\" style={{ fontSize: 16 }} /></div>\n <span style={{ font: \"var(--klun-text-label-md)\", color: \"var(--klun-text-strong-950)\" }}>Klun</span>\n </div>\n <p style={{ margin: 0, font: \"var(--klun-text-paragraph-sm)\", color: \"var(--klun-text-soft-400)\" }}>The design system that ships with you.</p>\n </div>\n {footerColumns.map((c) => (\n <div key={c.h}>\n <div style={{ font: \"var(--klun-text-subheading-xs)\", letterSpacing: \"var(--klun-subheading-xs-tracking)\", textTransform: \"uppercase\", color: \"var(--klun-text-soft-400)\", marginBottom: 12 }}>{c.h}</div>\n <div style={{ display: \"flex\", flexDirection: \"column\", gap: 8 }}>\n {c.l.map((x) => <a key={x} href=\"#\" style={{ font: \"var(--klun-text-paragraph-sm)\", color: \"var(--klun-text-sub-600)\", textDecoration: \"none\" }}>{x}</a>)}\n </div>\n </div>\n ))}\n </div>\n <div style={{ ...wrap, display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\", padding: \"20px 24px\", borderTop: \"1px solid var(--klun-stroke-soft-200)\" }}>\n <span style={{ font: \"var(--klun-text-paragraph-xs)\", color: \"var(--klun-text-soft-400)\" }}>© 2026 Klun. All rights reserved.</span>\n <div style={{ display: \"flex\", gap: 14, color: \"var(--klun-icon-soft-400)\" }}>\n {[\"ri-twitter-x-fill\", \"ri-github-fill\", \"ri-linkedin-fill\"].map((i) => <i key={i} className={i} style={{ fontSize: 18 }} />)}\n </div>\n </div>\n </footer>\n </main>\n );\n}\n","// Klun UI marketing template — SaaS landing page composition.\nimport { MarketingNav } from \"./MarketingNav\";\nimport { MarketingSections } from \"./MarketingSections\";\n\n/** Marketing site starting point — hero, features, pricing, FAQ, footer. */\nexport function MarketingTemplate() {\n return (\n <div>\n <MarketingNav />\n <MarketingSections />\n </div>\n );\n}\n","// Klun UI calendar template — month grid with period nav, filters, event chips\n// and an agenda list. Single-page composition built from klun-ui components.\nimport { useState } from \"react\";\nimport {\n HorizontalFilter,\n Button,\n SegmentedControl,\n AvatarGroup,\n Chip,\n ContentLabel,\n} from \"../../index\";\nimport type { ChipColor } from \"../../index\";\n\ninterface Category {\n color: ChipColor;\n label: string;\n}\n\nconst DOW = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"];\nconst CAT: Record<string, Category> = {\n meeting: { color: \"blue\", label: \"Meeting\" },\n focus: { color: \"purple\", label: \"Focus\" },\n review: { color: \"green\", label: \"Review\" },\n travel: { color: \"orange\", label: \"Travel\" },\n};\n\ninterface DayEvent {\n c: keyof typeof CAT;\n t: string;\n}\n\n// March 2026 starts on a Sunday; offset so Monday-first grid leads with 6 blanks.\nconst EVENTS: Record<number, DayEvent[]> = {\n 3: [{ c: \"meeting\", t: \"Standup\" }],\n 4: [{ c: \"focus\", t: \"Design review\" }, { c: \"review\", t: \"PR #482\" }],\n 6: [{ c: \"travel\", t: \"Flight SFO\" }],\n 9: [{ c: \"meeting\", t: \"1:1 Mia\" }],\n 12: [{ c: \"meeting\", t: \"Roadmap\" }, { c: \"focus\", t: \"Spec draft\" }, { c: \"review\", t: \"QA pass\" }],\n 17: [{ c: \"review\", t: \"Release\" }],\n 18: [{ c: \"focus\", t: \"Deep work\" }],\n 20: [{ c: \"meeting\", t: \"All-hands\" }],\n 24: [{ c: \"travel\", t: \"Offsite\" }],\n 25: [{ c: \"travel\", t: \"Offsite\" }],\n 27: [{ c: \"meeting\", t: \"Demo day\" }],\n};\n\ninterface DayCellProps {\n day: number;\n today: boolean;\n}\n\nfunction DayCell({ day, today }: DayCellProps) {\n const evs = EVENTS[day] || [];\n return (\n <div style={{ minHeight: 116, padding: 8, background: \"var(--klun-bg-white-0)\", boxShadow: \"inset -1px -1px 0 var(--klun-stroke-soft-200)\", display: \"flex\", flexDirection: \"column\", gap: 4 }}>\n <span style={{\n alignSelf: \"flex-start\", display: \"inline-flex\", alignItems: \"center\", justifyContent: \"center\",\n minWidth: 24, height: 24, padding: \"0 6px\", borderRadius: \"var(--klun-radius-pill)\",\n font: \"var(--klun-text-label-xs)\", fontVariantNumeric: \"tabular-nums\",\n background: today ? \"var(--klun-primary-base)\" : \"transparent\",\n color: today ? \"var(--klun-static-static-white)\" : \"var(--klun-text-sub-600)\",\n }}>{day}</span>\n <div style={{ display: \"flex\", flexDirection: \"column\", gap: 3 }}>\n {evs.slice(0, 3).map((e, i) => {\n const cat = CAT[e.c];\n return (\n <div key={i} style={{ display: \"flex\", alignItems: \"center\", gap: 6, padding: \"3px 6px\", borderRadius: \"var(--klun-radius-sm)\", background: `var(--klun-${cat.color}-50)`, font: \"var(--klun-text-label-xs)\", color: `var(--klun-${cat.color}-600, var(--klun-text-sub-600))`, overflow: \"hidden\", whiteSpace: \"nowrap\", textOverflow: \"ellipsis\" }}>\n <span style={{ width: 6, height: 6, borderRadius: \"var(--klun-radius-pill)\", background: `var(--klun-${cat.color}-500)`, flex: \"none\" }} />\n <span style={{ overflow: \"hidden\", textOverflow: \"ellipsis\" }}>{e.t}</span>\n </div>\n );\n })}\n </div>\n </div>\n );\n}\n\ninterface AgendaEntry {\n t: string;\n time: string;\n c: keyof typeof CAT;\n}\n\nconst AGENDA: AgendaEntry[] = [\n { t: \"Roadmap planning\", time: \"10:00 – 11:00\", c: \"meeting\" },\n { t: \"Spec draft\", time: \"13:30 – 15:00\", c: \"focus\" },\n { t: \"QA pass\", time: \"16:00 – 16:30\", c: \"review\" },\n];\n\n/** Calendar starting point — month grid, period nav, filters and agenda. */\nexport function CalendarTemplate() {\n const [filter, setFilter] = useState(\"all\");\n const [view, setView] = useState(\"month\");\n // 6 leading blanks (March 1 2026 = Sunday, Monday-first grid), 31 days.\n const cells: (number | null)[] = [...Array<null>(6).fill(null), ...Array.from({ length: 31 }, (_, i) => i + 1)];\n return (\n <div style={{ maxWidth: 1120, margin: \"0 auto\", padding: \"40px 32px 80px\" }}>\n <header style={{ display: \"flex\", alignItems: \"flex-start\", gap: 16, width: \"100%\", padding: \"0 0 20px\", boxShadow: \"inset 0 -1px 0 var(--klun-stroke-soft-200)\" }}>\n <div style={{ display: \"flex\", flexDirection: \"column\", gap: 4, flex: 1, minWidth: 0 }}>\n <h1 style={{ margin: 0, font: \"var(--klun-text-title-h5)\", color: \"var(--klun-text-strong-950)\", letterSpacing: \"-0.01em\" }}>Calendar</h1>\n <p style={{ margin: 0, font: \"var(--klun-text-paragraph-sm)\", color: \"var(--klun-text-sub-600)\" }}>March 2026 · 11 events this month</p>\n </div>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 8, flex: \"none\" }}><Button leadingIcon={<i className=\"ri-add-line\" />}>New event</Button></div>\n </header>\n <div style={{ display: \"flex\", alignItems: \"center\", justifyContent: \"space-between\", gap: 16, flexWrap: \"wrap\", margin: \"24px 0 16px\" }}>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 12 }}>\n <div style={{ display: \"inline-flex\", alignItems: \"center\", gap: 6, height: 36, padding: \"0 4px 0 10px\", borderRadius: \"var(--klun-radius-lg)\", background: \"var(--klun-bg-white-0)\", boxShadow: \"inset 0 0 0 1px var(--klun-stroke-soft-200)\" }}>\n <button type=\"button\" aria-label=\"Previous period\" onClick={() => {}} style={{ display: \"inline-flex\", alignItems: \"center\", justifyContent: \"center\", width: 28, height: 28, border: \"none\", background: \"transparent\", color: \"var(--klun-icon-sub-600)\", cursor: \"pointer\", fontSize: 18, borderRadius: \"var(--klun-radius-sm)\" }}><i className=\"ri-arrow-left-s-line\" /></button>\n <i className=\"ri-calendar-line\" style={{ fontSize: 18, color: \"var(--klun-icon-soft-400)\" }} />\n <span style={{ display: \"inline-flex\", alignItems: \"center\", gap: 6, font: \"var(--klun-text-label-sm)\", color: \"var(--klun-text-strong-950)\", whiteSpace: \"nowrap\", padding: \"0 2px\" }}>Mar 1<span style={{ color: \"var(--klun-text-soft-400)\" }}>→</span>Mar 31</span>\n <button type=\"button\" aria-label=\"Next period\" onClick={() => {}} style={{ display: \"inline-flex\", alignItems: \"center\", justifyContent: \"center\", width: 28, height: 28, border: \"none\", background: \"transparent\", color: \"var(--klun-icon-sub-600)\", cursor: \"pointer\", fontSize: 18, borderRadius: \"var(--klun-radius-sm)\" }}><i className=\"ri-arrow-right-s-line\" /></button>\n </div>\n <Button variant=\"neutral\" appearance=\"ghost\" size=\"small\">Today</Button>\n </div>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 12 }}>\n <AvatarGroup variant=\"stroke\" size=\"24\" avatars={[{ initials: \"AT\", color: \"blue\" }, { initials: \"MB\", color: \"green\" }, { initials: \"JK\", color: \"orange\" }, { initials: \"RP\" }]} />\n <SegmentedControl value={view} onChange={setView} items={[{ value: \"month\", label: \"Month\" }, { value: \"week\", label: \"Week\" }, { value: \"day\", label: \"Day\" }]} />\n </div>\n </div>\n <div style={{ marginBottom: 16 }}>\n <HorizontalFilter value={filter} onChange={setFilter} items={[\n { value: \"all\", label: \"All\", count: 11 },\n { value: \"meeting\", label: \"Meetings\", count: 5, icon: <i className=\"ri-group-line\" /> },\n { value: \"focus\", label: \"Focus\", count: 3 },\n { value: \"review\", label: \"Reviews\", count: 3 },\n { value: \"travel\", label: \"Travel\", count: 3 },\n ]} />\n </div>\n <div style={{ borderRadius: \"var(--klun-radius-2xl)\", overflow: \"hidden\", boxShadow: \"inset 0 0 0 1px var(--klun-stroke-soft-200)\", background: \"var(--klun-bg-white-0)\" }}>\n <div style={{ display: \"grid\", gridTemplateColumns: \"repeat(7, 1fr)\" }}>\n {DOW.map((d) => (\n <div key={d} style={{ padding: \"10px 8px\", font: \"var(--klun-text-subheading-2xs, var(--klun-text-label-xs))\", letterSpacing: \".06em\", textTransform: \"uppercase\", color: \"var(--klun-text-soft-400)\", background: \"var(--klun-bg-weak-50)\", boxShadow: \"inset -1px -1px 0 var(--klun-stroke-soft-200)\" }}>{d}</div>\n ))}\n {cells.map((day, i) => day == null\n ? <div key={i} style={{ minHeight: 116, background: \"var(--klun-bg-weak-50)\", boxShadow: \"inset -1px -1px 0 var(--klun-stroke-soft-200)\" }} />\n : <DayCell key={i} day={day} today={day === 12} />)}\n </div>\n </div>\n <div style={{ marginTop: 28 }}>\n <ContentLabel icon={<i className=\"ri-calendar-event-line\" />}>Up next · today</ContentLabel>\n <div style={{ display: \"flex\", flexDirection: \"column\", gap: 8, marginTop: 12 }}>\n {AGENDA.map((e, i) => (\n <div key={i} style={{ display: \"flex\", alignItems: \"center\", gap: 14, padding: \"12px 16px\", borderRadius: \"var(--klun-radius-xl)\", background: \"var(--klun-bg-white-0)\", boxShadow: \"inset 0 0 0 1px var(--klun-stroke-soft-200)\" }}>\n <span style={{ width: 4, height: 36, borderRadius: \"var(--klun-radius-pill)\", background: `var(--klun-${CAT[e.c].color}-500)`, flex: \"none\" }} />\n <div style={{ flex: 1, minWidth: 0 }}>\n <div style={{ font: \"var(--klun-text-label-sm)\", color: \"var(--klun-text-strong-950)\" }}>{e.t}</div>\n <div style={{ font: \"var(--klun-text-paragraph-xs)\", color: \"var(--klun-text-soft-400)\" }}>{e.time}</div>\n </div>\n <Chip color={CAT[e.c].color} dot>{CAT[e.c].label}</Chip>\n </div>\n ))}\n </div>\n </div>\n </div>\n );\n}\n","// Klun UI pricing template — plan toggle, tier cards and an FAQ. Single-page\n// composition built from klun-ui components.\nimport { useState } from \"react\";\nimport {\n SegmentedControl,\n Badge,\n Button,\n ContentLabel,\n Accordion,\n Alert,\n Divider,\n} from \"../../index\";\nimport type { AccordionItem } from \"../../index\";\n\ntype Cycle = \"monthly\" | \"yearly\";\n\ninterface Plan {\n id: string;\n name: string;\n tagline: string;\n monthly: number | null;\n yearly: number | null;\n cta: string;\n featured?: boolean;\n features: string[];\n}\n\nconst PLANS: Plan[] = [\n {\n id: \"starter\", name: \"Starter\", tagline: \"For individuals getting started.\", monthly: 0, yearly: 0, cta: \"Start for free\",\n features: [\"1 workspace\", \"Up to 3 projects\", \"Community support\", \"1 GB storage\"],\n },\n {\n id: \"pro\", name: \"Pro\", tagline: \"For growing teams that ship fast.\", monthly: 24, yearly: 19, cta: \"Start 14-day trial\", featured: true,\n features: [\"Unlimited workspaces\", \"Unlimited projects\", \"Priority support\", \"100 GB storage\", \"Advanced analytics\", \"Custom roles\"],\n },\n {\n id: \"enterprise\", name: \"Enterprise\", tagline: \"For organizations at scale.\", monthly: null, yearly: null, cta: \"Contact sales\",\n features: [\"Everything in Pro\", \"SSO & SCIM\", \"Audit logs\", \"Dedicated manager\", \"99.9% SLA\", \"Custom contracts\"],\n },\n];\n\ninterface PriceProps {\n plan: Plan;\n cycle: Cycle;\n}\n\nfunction Price({ plan, cycle }: PriceProps) {\n if (plan.monthly == null) {\n return <div style={{ font: \"var(--klun-text-title-h3)\", color: \"var(--klun-text-strong-950)\", letterSpacing: \"-.02em\" }}>Custom</div>;\n }\n const amt = cycle === \"yearly\" ? plan.yearly : plan.monthly;\n return (\n <div style={{ display: \"flex\", alignItems: \"baseline\", gap: 4 }}>\n <span style={{ font: \"var(--klun-text-title-h2)\", color: \"var(--klun-text-strong-950)\", letterSpacing: \"-.02em\" }}>${amt}</span>\n <span style={{ font: \"var(--klun-text-paragraph-sm)\", color: \"var(--klun-text-soft-400)\" }}>/ mo</span>\n </div>\n );\n}\n\ninterface PlanCardProps {\n plan: Plan;\n cycle: Cycle;\n}\n\nfunction PlanCard({ plan, cycle }: PlanCardProps) {\n const featured = plan.featured;\n return (\n <div style={{\n position: \"relative\", display: \"flex\", flexDirection: \"column\", gap: 20, padding: 28, flex: 1, minWidth: 0,\n borderRadius: \"var(--klun-radius-4xl, 24px)\", background: \"var(--klun-bg-white-0)\",\n boxShadow: featured\n ? \"inset 0 0 0 2px var(--klun-primary-base), var(--klun-shadow-lg, 0 24px 48px -16px rgba(14,18,27,.16))\"\n : \"inset 0 0 0 1px var(--klun-stroke-soft-200), var(--klun-shadow-xs, 0 1px 2px rgba(10,13,20,.03))\",\n }}>\n <div style={{ display: \"flex\", alignItems: \"center\", justifyContent: \"space-between\" }}>\n <span style={{ font: \"var(--klun-text-label-lg)\", color: \"var(--klun-text-strong-950)\" }}>{plan.name}</span>\n {featured ? <Badge color=\"blue\" variant=\"lighter\">Most popular</Badge> : null}\n </div>\n <p style={{ margin: 0, font: \"var(--klun-text-paragraph-sm)\", color: \"var(--klun-text-sub-600)\", minHeight: 40, textWrap: \"pretty\" }}>{plan.tagline}</p>\n <Price plan={plan} cycle={cycle} />\n {featured\n ? <Button kind=\"fancy\" fullWidth>{plan.cta}</Button>\n : <Button fullWidth variant=\"neutral\" appearance=\"stroke\">{plan.cta}</Button>}\n <Divider />\n <div style={{ display: \"flex\", flexDirection: \"column\", gap: 12 }}>\n {plan.features.map((f, i) => (\n <div key={i} style={{ display: \"flex\", alignItems: \"center\", gap: 10, font: \"var(--klun-text-paragraph-sm)\", color: \"var(--klun-text-sub-600)\" }}>\n <i className=\"ri-check-line\" style={{ fontSize: 18, color: \"var(--klun-state-success-base)\" }} />{f}\n </div>\n ))}\n </div>\n </div>\n );\n}\n\nconst FAQ: AccordionItem[] = [\n { id: \"f1\", title: \"Can I change plans later?\", content: \"Yes — upgrade or downgrade anytime. Changes are prorated to your billing cycle.\" },\n { id: \"f2\", title: \"Do you offer a free trial?\", content: \"Every paid plan includes a 14-day trial. No card required to start.\" },\n { id: \"f3\", title: \"What payment methods do you accept?\", content: \"All major cards and ACH for annual plans. Enterprise can pay by invoice.\" },\n { id: \"f4\", title: \"Is there a discount for annual billing?\", content: \"Annual billing saves roughly 20% versus paying monthly.\" },\n];\n\n/** Pricing starting point — plan toggle, tier cards and an FAQ. */\nexport function PricingTemplate() {\n const [cycle, setCycle] = useState<Cycle>(\"monthly\");\n return (\n <div style={{ maxWidth: 1080, margin: \"0 auto\", padding: \"72px 32px 96px\" }}>\n <div style={{ display: \"flex\", flexDirection: \"column\", alignItems: \"center\", gap: 16, textAlign: \"center\", marginBottom: 40 }}>\n <ContentLabel color=\"blue\" icon={<i className=\"ri-price-tag-3-line\" />}>Pricing</ContentLabel>\n <h1 style={{ margin: 0, font: \"var(--klun-text-title-h1)\", color: \"var(--klun-text-strong-950)\", letterSpacing: \"-.03em\", maxWidth: 640, textWrap: \"balance\" }}>Simple pricing that scales with you</h1>\n <p style={{ margin: 0, font: \"var(--klun-text-paragraph-lg)\", color: \"var(--klun-text-sub-600)\", maxWidth: 520, textWrap: \"pretty\" }}>Start free, then pick a plan when your team is ready. No hidden fees.</p>\n <div style={{ display: \"inline-flex\", alignItems: \"center\", gap: 10, marginTop: 8 }}>\n <SegmentedControl\n value={cycle} onChange={(v) => setCycle(v as Cycle)}\n items={[{ value: \"monthly\", label: \"Monthly\" }, { value: \"yearly\", label: \"Yearly\" }]}\n />\n <Badge color=\"green\" variant=\"lighter\">Save 20%</Badge>\n </div>\n </div>\n <div style={{ display: \"flex\", gap: 20, alignItems: \"stretch\", flexWrap: \"wrap\" }}>\n {PLANS.map((p) => <PlanCard key={p.id} plan={p} cycle={cycle} />)}\n </div>\n <Alert status=\"information\" title=\"Education & nonprofits\" icon={<i className=\"ri-lightbulb-line\" />} style={{ marginTop: 24 }}>Qualifying teams get 50% off any paid plan — reach out to sales to verify eligibility.</Alert>\n <div style={{ marginTop: 72 }}>\n <h2 style={{ margin: \"0 0 8px\", font: \"var(--klun-text-title-h4)\", color: \"var(--klun-text-strong-950)\", letterSpacing: \"-.02em\", textAlign: \"center\" }}>Frequently asked questions</h2>\n <p style={{ margin: \"0 0 28px\", font: \"var(--klun-text-paragraph-md)\", color: \"var(--klun-text-sub-600)\", textAlign: \"center\" }}>Everything you need to know about plans and billing.</p>\n <div style={{ maxWidth: 720, margin: \"0 auto\" }}>\n <Accordion items={FAQ} />\n </div>\n </div>\n </div>\n );\n}\n","// Klun UI settings template — tabbed account settings with a profile form,\n// notification toggles and integrations. Single-page composition built from\n// klun-ui components.\nimport { useState } from \"react\";\nimport type { ChangeEvent, ReactNode } from \"react\";\nimport {\n Alert,\n Tabs,\n Button,\n Input,\n Textarea,\n Label,\n Switch,\n SelectMenu,\n ImageUpload,\n ContentLabel,\n CharacterCounter,\n Badge,\n} from \"../../index\";\nimport type { TabItem } from \"../../index\";\n\ninterface RowProps {\n label: ReactNode;\n hint?: ReactNode;\n children: ReactNode;\n top?: boolean;\n}\n\nfunction Row({ label, hint, children, top }: RowProps) {\n return (\n <div style={{ display: \"grid\", gridTemplateColumns: \"240px 1fr\", gap: 24, padding: \"20px 0\", alignItems: top ? \"flex-start\" : \"center\", boxShadow: \"inset 0 -1px 0 var(--klun-stroke-soft-200)\" }}>\n <div style={{ display: \"flex\", flexDirection: \"column\", gap: 2 }}>\n <Label>{label}</Label>\n {hint ? <span style={{ font: \"var(--klun-text-paragraph-xs)\", color: \"var(--klun-text-soft-400)\", textWrap: \"pretty\" }}>{hint}</span> : null}\n </div>\n <div style={{ minWidth: 0 }}>{children}</div>\n </div>\n );\n}\n\nfunction Panel({ children }: { children: ReactNode }) {\n return <div style={{ background: \"var(--klun-bg-white-0)\", borderRadius: \"var(--klun-radius-2xl)\", boxShadow: \"inset 0 0 0 1px var(--klun-stroke-soft-200)\", padding: \"8px 24px 24px\" }}>{children}</div>;\n}\n\nfunction ProfileTab() {\n const [bio, setBio] = useState(\"Product designer focused on systems and tooling.\");\n return (\n <Panel>\n <Row label=\"Photo\" hint=\"PNG or JPG, up to 5MB.\" top>\n <ImageUpload label=\"Upload new photo\" hint=\"Recommended 400×400px\" onRemove={() => {}} src=\"\" />\n </Row>\n <Row label=\"Full name\">\n <div style={{ display: \"flex\", gap: 12 }}>\n <Input defaultValue=\"Arthur\" placeholder=\"First name\" />\n <Input defaultValue=\"Taylor\" placeholder=\"Last name\" />\n </div>\n </Row>\n <Row label=\"Email address\" hint=\"Used for sign-in and notifications.\">\n <Input type=\"email\" defaultValue=\"arthur@klunui.com\" leadingIcon={<i className=\"ri-mail-line\" />} />\n </Row>\n <Row label=\"Role\">\n <SelectMenu value=\"design\" onChange={() => {}} options={[\n { value: \"design\", label: \"Designer\", icon: <i className=\"ri-pencil-ruler-2-line\" /> },\n { value: \"eng\", label: \"Engineer\", icon: <i className=\"ri-code-s-slash-line\" /> },\n { value: \"pm\", label: \"Product manager\", icon: <i className=\"ri-compass-3-line\" /> },\n ]} />\n </Row>\n <Row label=\"Bio\" hint=\"A short description for your profile.\" top>\n <div style={{ display: \"flex\", flexDirection: \"column\", gap: 6 }}>\n <Textarea value={bio} onChange={(e: ChangeEvent<HTMLTextAreaElement>) => setBio(e.target.value)} rows={3} maxLength={160} />\n <div style={{ display: \"flex\", justifyContent: \"flex-end\" }}><CharacterCounter value={bio.length} max={160} /></div>\n </div>\n </Row>\n <div style={{ display: \"flex\", justifyContent: \"flex-end\", gap: 10, paddingTop: 20 }}>\n <Button variant=\"neutral\" appearance=\"stroke\">Cancel</Button>\n <Button>Save changes</Button>\n </div>\n </Panel>\n );\n}\n\ninterface NotificationItemDef {\n k: string;\n label: string;\n hint: string;\n}\n\nfunction NotificationsTab() {\n const [s, setS] = useState<Record<string, boolean>>({ product: true, weekly: true, mentions: true, security: true, marketing: false });\n const set = (k: string) => setS((p) => ({ ...p, [k]: !p[k] }));\n const items: NotificationItemDef[] = [\n { k: \"product\", label: \"Product updates\", hint: \"New features and improvements.\" },\n { k: \"weekly\", label: \"Weekly digest\", hint: \"A summary of activity every Monday.\" },\n { k: \"mentions\", label: \"Mentions & comments\", hint: \"When someone @mentions you.\" },\n { k: \"security\", label: \"Security alerts\", hint: \"Sign-ins and password changes.\" },\n { k: \"marketing\", label: \"Marketing emails\", hint: \"Tips, offers and news.\" },\n ];\n return (\n <Panel>\n <ContentLabel style={{ paddingTop: 20, display: \"block\" }}>Email</ContentLabel>\n {items.map((it) => (\n <Row key={it.k} label={it.label} hint={it.hint}>\n <div style={{ display: \"flex\", justifyContent: \"flex-end\" }}>\n <Switch checked={s[it.k]} onChange={() => set(it.k)} />\n </div>\n </Row>\n ))}\n <Alert status=\"information\" icon={<i className=\"ri-information-2-line\" />} style={{ marginTop: 20 }}>Security alerts can't be turned off — they protect your account.</Alert>\n </Panel>\n );\n}\n\ninterface IntegrationDef {\n k: string;\n name: string;\n icon: string;\n desc: string;\n}\n\nfunction IntegrationsTab() {\n const [c, setC] = useState<Record<string, boolean>>({ slack: true, github: true, figma: false, linear: false });\n const set = (k: string) => setC((p) => ({ ...p, [k]: !p[k] }));\n const rows: IntegrationDef[] = [\n { k: \"slack\", name: \"Slack\", icon: \"ri-slack-line\", desc: \"Post notifications to a channel.\" },\n { k: \"github\", name: \"GitHub\", icon: \"ri-github-line\", desc: \"Link commits and pull requests.\" },\n { k: \"figma\", name: \"Figma\", icon: \"ri-figma-line\", desc: \"Embed frames and prototypes.\" },\n { k: \"linear\", name: \"Linear\", icon: \"ri-flashlight-line\", desc: \"Sync issues two ways.\" },\n ];\n return (\n <div style={{ display: \"flex\", flexDirection: \"column\", gap: 12 }}>\n {rows.map((r) => (\n <div key={r.k} style={{ display: \"flex\", alignItems: \"center\", gap: 12, padding: 16, borderRadius: \"var(--klun-radius-2xl)\", background: \"var(--klun-bg-white-0)\", boxShadow: \"inset 0 0 0 1px var(--klun-stroke-soft-200)\" }}>\n <span style={{ display: \"inline-flex\", alignItems: \"center\", justifyContent: \"center\", width: 40, height: 40, flex: \"none\", borderRadius: \"var(--klun-radius-lg)\", background: \"var(--klun-bg-weak-50)\", boxShadow: \"inset 0 0 0 1px var(--klun-stroke-soft-200)\", color: \"var(--klun-icon-sub-600)\", fontSize: 22 }}><i className={r.icon} /></span>\n <div style={{ display: \"flex\", flexDirection: \"column\", gap: 2, flex: 1, minWidth: 0 }}>\n <span style={{ font: \"var(--klun-text-label-sm)\", color: \"var(--klun-text-strong-950)\" }}>{r.name}</span>\n <span style={{ font: \"var(--klun-text-paragraph-xs)\", color: \"var(--klun-text-sub-600)\" }}>{r.desc}</span>\n </div>\n <Switch checked={c[r.k]} onChange={() => set(r.k)} />\n </div>\n ))}\n </div>\n );\n}\n\nconst TABS: TabItem[] = [\n { value: \"profile\", label: \"Profile\" },\n { value: \"notifications\", label: \"Notifications\" },\n { value: \"integrations\", label: \"Integrations\", badge: \"4\" },\n];\n\n/** Account settings starting point — tabbed sections, profile form, notifications, integrations. */\nexport function SettingsTemplate() {\n const [tab, setTab] = useState(\"profile\");\n return (\n <div style={{ maxWidth: 880, margin: \"0 auto\", padding: \"48px 32px 80px\" }}>\n <header style={{ display: \"flex\", alignItems: \"flex-start\", gap: 16, width: \"100%\", padding: \"0 0 20px\", boxShadow: \"inset 0 -1px 0 var(--klun-stroke-soft-200)\" }}>\n <div style={{ display: \"flex\", flexDirection: \"column\", gap: 4, flex: 1, minWidth: 0 }}>\n <h1 style={{ margin: 0, font: \"var(--klun-text-title-h5)\", color: \"var(--klun-text-strong-950)\", letterSpacing: \"-0.01em\" }}>Settings</h1>\n <p style={{ margin: 0, font: \"var(--klun-text-paragraph-sm)\", color: \"var(--klun-text-sub-600)\" }}>Manage your profile, notifications and connected apps.</p>\n </div>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 8, flex: \"none\" }}><Badge color=\"green\" variant=\"lighter\" dot>All changes saved</Badge></div>\n </header>\n <div style={{ margin: \"24px 0 28px\" }}>\n <Tabs items={TABS} value={tab} onChange={setTab} />\n </div>\n {tab === \"profile\" ? <ProfileTab /> : tab === \"notifications\" ? <NotificationsTab /> : <IntegrationsTab />}\n </div>\n );\n}\n"]}