@napi-rs/cli 3.0.0-alpha.90 → 3.0.0-alpha.92

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 (133) hide show
  1. package/dist/api/create-npm-dirs.d.ts +5 -0
  2. package/dist/api/templates/index.d.ts +0 -7
  3. package/dist/cli.js +3892 -15
  4. package/dist/index.cjs +9212 -8791
  5. package/dist/index.js +3643 -32
  6. package/package.json +10 -8
  7. package/src/api/build.ts +15 -15
  8. package/src/api/create-npm-dirs.ts +4 -2
  9. package/src/api/templates/index.ts +0 -7
  10. package/src/api/templates/load-wasi-template.ts +23 -0
  11. package/src/utils/config.ts +9 -0
  12. package/dist/api/__tests__/new.spec.js +0 -283
  13. package/dist/api/__tests__/new.spec.js.map +0 -1
  14. package/dist/api/artifacts.js +0 -74
  15. package/dist/api/artifacts.js.map +0 -1
  16. package/dist/api/build.js +0 -707
  17. package/dist/api/build.js.map +0 -1
  18. package/dist/api/create-npm-dirs.js +0 -101
  19. package/dist/api/create-npm-dirs.js.map +0 -1
  20. package/dist/api/new.js +0 -360
  21. package/dist/api/new.js.map +0 -1
  22. package/dist/api/pre-publish.js +0 -160
  23. package/dist/api/pre-publish.js.map +0 -1
  24. package/dist/api/rename.js +0 -91
  25. package/dist/api/rename.js.map +0 -1
  26. package/dist/api/templates/.gitignore.d.ts +0 -1
  27. package/dist/api/templates/.gitignore.js +0 -200
  28. package/dist/api/templates/.gitignore.js.map +0 -1
  29. package/dist/api/templates/.npmignore.d.ts +0 -1
  30. package/dist/api/templates/.npmignore.js +0 -15
  31. package/dist/api/templates/.npmignore.js.map +0 -1
  32. package/dist/api/templates/build.rs.d.ts +0 -1
  33. package/dist/api/templates/build.rs.js +0 -5
  34. package/dist/api/templates/build.rs.js.map +0 -1
  35. package/dist/api/templates/cargo.toml.d.ts +0 -6
  36. package/dist/api/templates/cargo.toml.js +0 -27
  37. package/dist/api/templates/cargo.toml.js.map +0 -1
  38. package/dist/api/templates/ci-template.d.ts +0 -3
  39. package/dist/api/templates/ci-template.js +0 -593
  40. package/dist/api/templates/ci-template.js.map +0 -1
  41. package/dist/api/templates/ci.yml.d.ts +0 -3
  42. package/dist/api/templates/ci.yml.js +0 -115
  43. package/dist/api/templates/ci.yml.js.map +0 -1
  44. package/dist/api/templates/index.js +0 -9
  45. package/dist/api/templates/index.js.map +0 -1
  46. package/dist/api/templates/js-binding.js +0 -213
  47. package/dist/api/templates/js-binding.js.map +0 -1
  48. package/dist/api/templates/lib.rs.d.ts +0 -1
  49. package/dist/api/templates/lib.rs.js +0 -8
  50. package/dist/api/templates/lib.rs.js.map +0 -1
  51. package/dist/api/templates/load-wasi-template.js +0 -168
  52. package/dist/api/templates/load-wasi-template.js.map +0 -1
  53. package/dist/api/templates/package.json.d.ts +0 -15
  54. package/dist/api/templates/package.json.js +0 -54
  55. package/dist/api/templates/package.json.js.map +0 -1
  56. package/dist/api/templates/wasi-worker-template.js +0 -122
  57. package/dist/api/templates/wasi-worker-template.js.map +0 -1
  58. package/dist/api/universalize.js +0 -39
  59. package/dist/api/universalize.js.map +0 -1
  60. package/dist/api/version.js +0 -17
  61. package/dist/api/version.js.map +0 -1
  62. package/dist/cli.js.map +0 -1
  63. package/dist/commands/artifacts.js +0 -20
  64. package/dist/commands/artifacts.js.map +0 -1
  65. package/dist/commands/build.js +0 -35
  66. package/dist/commands/build.js.map +0 -1
  67. package/dist/commands/create-npm-dirs.js +0 -8
  68. package/dist/commands/create-npm-dirs.js.map +0 -1
  69. package/dist/commands/help.js +0 -13
  70. package/dist/commands/help.js.map +0 -1
  71. package/dist/commands/new.js +0 -110
  72. package/dist/commands/new.js.map +0 -1
  73. package/dist/commands/pre-publish.js +0 -9
  74. package/dist/commands/pre-publish.js.map +0 -1
  75. package/dist/commands/rename.js +0 -8
  76. package/dist/commands/rename.js.map +0 -1
  77. package/dist/commands/universalize.js +0 -8
  78. package/dist/commands/universalize.js.map +0 -1
  79. package/dist/commands/version.js +0 -8
  80. package/dist/commands/version.js.map +0 -1
  81. package/dist/def/artifacts.js +0 -47
  82. package/dist/def/artifacts.js.map +0 -1
  83. package/dist/def/build.js +0 -140
  84. package/dist/def/build.js.map +0 -1
  85. package/dist/def/create-npm-dirs.js +0 -43
  86. package/dist/def/create-npm-dirs.js.map +0 -1
  87. package/dist/def/new.js +0 -77
  88. package/dist/def/new.js.map +0 -1
  89. package/dist/def/pre-publish.js +0 -61
  90. package/dist/def/pre-publish.js.map +0 -1
  91. package/dist/def/rename.js +0 -63
  92. package/dist/def/rename.js.map +0 -1
  93. package/dist/def/universalize.js +0 -38
  94. package/dist/def/universalize.js.map +0 -1
  95. package/dist/def/version.js +0 -38
  96. package/dist/def/version.js.map +0 -1
  97. package/dist/index.js.map +0 -1
  98. package/dist/utils/__tests__/config.spec.js +0 -63
  99. package/dist/utils/__tests__/config.spec.js.map +0 -1
  100. package/dist/utils/__tests__/target.spec.js +0 -11
  101. package/dist/utils/__tests__/target.spec.js.map +0 -1
  102. package/dist/utils/__tests__/typegen.spec.js +0 -42
  103. package/dist/utils/__tests__/typegen.spec.js.map +0 -1
  104. package/dist/utils/__tests__/version.spec.js +0 -6
  105. package/dist/utils/__tests__/version.spec.js.map +0 -1
  106. package/dist/utils/cargo.js +0 -34
  107. package/dist/utils/cargo.js.map +0 -1
  108. package/dist/utils/config.js +0 -75
  109. package/dist/utils/config.js.map +0 -1
  110. package/dist/utils/index.js +0 -10
  111. package/dist/utils/index.js.map +0 -1
  112. package/dist/utils/log.js +0 -15
  113. package/dist/utils/log.js.map +0 -1
  114. package/dist/utils/metadata.js +0 -40
  115. package/dist/utils/metadata.js.map +0 -1
  116. package/dist/utils/misc.js +0 -43
  117. package/dist/utils/misc.js.map +0 -1
  118. package/dist/utils/read-config.js +0 -8
  119. package/dist/utils/read-config.js.map +0 -1
  120. package/dist/utils/target.js +0 -135
  121. package/dist/utils/target.js.map +0 -1
  122. package/dist/utils/typegen.js +0 -210
  123. package/dist/utils/typegen.js.map +0 -1
  124. package/dist/utils/version.js +0 -62
  125. package/dist/utils/version.js.map +0 -1
  126. package/src/api/templates/.gitignore.ts +0 -199
  127. package/src/api/templates/.npmignore.ts +0 -14
  128. package/src/api/templates/build.rs.ts +0 -4
  129. package/src/api/templates/cargo.toml.ts +0 -36
  130. package/src/api/templates/ci-template.ts +0 -602
  131. package/src/api/templates/ci.yml.ts +0 -140
  132. package/src/api/templates/lib.rs.ts +0 -7
  133. package/src/api/templates/package.json.ts +0 -90
@@ -1 +0,0 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/api/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEhD,OAAO,KAAK,MAAM,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,GAAG,IAAI,SAAS,EAAE,MAAM,WAAW,CAAA;AAGtE,OAAO,EACL,WAAW,EACX,aAAa,EAEb,YAAY,EACZ,uBAAuB,EACvB,UAAU,EACV,sBAAsB,EACtB,eAAe,EACf,UAAU,EAEV,aAAa,EACb,WAAW,EACX,cAAc,EACd,aAAa,EACb,cAAc,EAEd,cAAc,EACd,qBAAqB,EACrB,WAAW,EACX,cAAc,EACd,cAAc,EACd,YAAY,GAEb,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACzE,OAAO,EACL,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EACL,8BAA8B,EAC9B,oBAAoB,GACrB,MAAM,qCAAqC,CAAA;AAE5C,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;AACnC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAQ9C,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,UAAwB;IACzD,KAAK,CAAC,wCAAwC,EAAE,UAAU,CAAC,CAAA;IAE3D,MAAM,OAAO,GAAuB;QAClC,QAAQ,EAAE,IAAI;QACd,GAAG,UAAU;QACb,GAAG,EAAE,UAAU,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;KACrC,CAAA;IAED,MAAM,WAAW,GAAG,CAAC,GAAG,KAAe,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAA;IAE1E,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,YAAY,IAAI,YAAY,CAAC,CAAA;IACtE,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,CAAA;IAElD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACzC,0BAA0B;QAC1B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,CAAA;QACnC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,CAAC,aAAa,KAAK,YAAY,CAAA;QACzC,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,uJAAuJ,CACxJ,CAAA;IACH,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC,WAAW,CACT,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,eAAe,IAAI,cAAc,CAChE,EACD,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CACjE,CAAA;IAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAE7D,OAAO,OAAO,CAAC,KAAK,EAAE,CAAA;AACxB,CAAC;AAED,MAAM,OAAO;IAYQ;IACA;IACA;IACA;IAdF,IAAI,GAAa,EAAE,CAAA;IACnB,IAAI,GAA2B,EAAE,CAAA;IACjC,OAAO,GAAa,EAAE,CAAA;IAEtB,MAAM,CAAQ;IACd,QAAQ,CAAQ;IAChB,SAAS,CAAQ;IACjB,SAAS,CAAQ;IACjB,aAAa,GAAY,KAAK,CAAA;IAE/C,YACmB,QAAgC,EAChC,KAAY,EACZ,MAAkB,EAClB,OAA2B;QAH3B,aAAQ,GAAR,QAAQ,CAAwB;QAChC,UAAK,GAAL,KAAK,CAAO;QACZ,WAAM,GAAN,MAAM,CAAY;QAClB,YAAO,GAAP,OAAO,CAAoB;QAE5C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;YAC1B,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;YAC7B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB;gBAC9B,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;gBAC7C,CAAC,CAAC,sBAAsB,EAAE,CAAA;QAC9B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,CAAA;QAC9C,IAAI,CAAC,SAAS,GAAG,OAAO,CACtB,IAAI,CAAC,OAAO,CAAC,GAAG,EAChB,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,CACnC,CAAA;QACD,IAAI,CAAC,SAAS;YACZ,OAAO,CAAC,SAAS;gBACjB,OAAO,CAAC,GAAG,CAAC,sBAAsB;gBAClC,QAAQ,CAAC,gBAAgB,CAAA;QAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAC/C,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAC,IAAI,KAAK,aAAa;YAC1B,CAAC,GAAG,CAAC,qBAAqB,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CACnE,CAAA;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,kBAAkB,GACtB,8FAA8F,CAAA;YAChG,KAAK,CAAC,IAAI,CACR,GAAG,kBAAkB,8EAA8E,CACpG,CAAA;YAED,IACE,IAAI,CAAC,OAAO,CAAC,GAAG;gBAChB,IAAI,CAAC,OAAO,CAAC,SAAS;gBACtB,IAAI,CAAC,MAAM,CAAC,SAAS;gBACrB,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,CAAC;gBACD,KAAK,CAAC,IAAI,CACR,GAAG,kBAAkB,4DAA4D,CAClF,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACrE,EAAE,IAAI,CAAA;IACV,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CACL,IAAI,CAAC,OAAO,CAAC,GAAG;YAChB,qDAAqD;YACrD,CAAC,IAAI,CAAC,UAAU;gBACd,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CACzE,CAAA;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,OAAO,GACX,0GAA0G,CAAA;YAE5G,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACrB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;YAC1B,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,EAAE;aACrB,UAAU,EAAE;aACZ,WAAW,EAAE;aACb,SAAS,EAAE;aACX,kBAAkB,EAAE;aACpB,OAAO,EAAE;aACT,aAAa,EAAE;aACf,IAAI,EAAE,CAAA;IACX,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CACR,qGAAqG,CACtG,CAAA;QACH,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CACR,iHAAiH,CAClH,CAAA;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAA;YAEjE,MAAM,KAAK,GAA2B;gBACpC,yBAAyB,EAAE,qBAAqB;aACjD,CAAA;YAED,MAAM,aAAa,GAAG,IAAI,CACxB,OAAO,EAAE,EACT,UAAU,EACV,iBAAiB,EACjB,OAAO,EACP,IAAI,CAAC,MAAM,CAAC,MAAM,CACnB,CAAA;YACD,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAC7C,IAAI,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;gBACpD,KAAK,CAAC,aAAa,aAAa,0BAA0B,CAAC,CAAA;YAC7D,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;gBAC7D,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;YAClC,CAAC;YACD,MAAM,eAAe,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAC1D,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;YACvE,MAAM,SAAS,GAAG,gBAAgB,eAAe,SAAS,CAAA;YAC1D,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CACzB,aAAa,EACb,KAAK,EACL,GAAG,eAAe,MAAM,CACzB,CAAA;YACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;gBAChC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAChC,aAAa,EACb,eAAe,EACf,SAAS,CACV,CAAA;YACH,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAC3B,aAAa,EACb,KAAK,EACL,GAAG,eAAe,KAAK,CACxB,CAAA;YACH,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;gBAC/B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAC/B,aAAa,EACb,KAAK,EACL,GAAG,eAAe,SAAS,CAC5B,CAAA;YACH,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;gBAChC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAChC,aAAa,EACb,KAAK,EACL,GAAG,eAAe,UAAU,CAC7B,CAAA;YACH,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;gBACvC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,IAAI,CACvC,aAAa,EACb,eAAe,EACf,SAAS,EACT,KAAK,EACL,UAAU,CACX,CAAA;YACH,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;gBAC9C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,GAAG,eAAe,MAAM,CAAC,CAAA;gBACtE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAC3B,aAAa,EACb,KAAK,EACL,GAAG,eAAe,MAAM,CACzB,CAAA;YACH,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;gBAChD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,GAAG,eAAe,MAAM,CAAC,CAAA;gBACvE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAC5B,aAAa,EACb,KAAK,EACL,GAAG,eAAe,MAAM,CACzB,CAAA;YACH,CAAC;YACD,IACE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,OAAO,CAAC;gBAClC,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC;oBACzC,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,EAC1C,CAAC;gBACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAA;gBACvC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,aAAa,IAAI,CAAC,IAAI,CAAC,cAAc,oBAAoB,aAAa,IAAI,MAAM,EAAE,CAAA;YACvG,CAAC;YACD,IACE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,SAAS,CAAC;gBACrC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC;oBAC5C,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,EAC7C,CAAC;gBACD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAA;gBAC3C,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,aAAa,IAAI,CAAC,IAAI,CAAC,cAAc,oBAAoB,aAAa,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAA;YACvH,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI;gBAC7B,CAAC,CAAC,GAAG,aAAa,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE;gBAC9D,CAAC,CAAC,GAAG,aAAa,QAAQ,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;QAChD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,KAAK,CAAC,IAAI,CAAC,6BAA6B,EAAE,CAAU,CAAC,CAAA;YACrD,qBAAqB;QACvB,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,IAAI;QACV,KAAK,CAAC,yBAAyB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;QACjD,KAAK,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAE7C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QAExC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAA;QAChC,MAAM,SAAS,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;gBACvD,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAA;YACH,CAAC;YACD,MAAM,OAAO,GACX,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;YAClE,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE;gBAC7C,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE;gBACrC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;gBACzD,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;gBACrB,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAA;YAEF,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACjC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACf,KAAK,CAAC,IAAI,EAAE,eAAe,IAAI,CAAC,KAAK,CAAC,IAAI,gBAAgB,CAAC,CAAA;oBAC3D,OAAO,EAAE,CAAA;gBACX,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC,CAAA;gBAC1D,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;gBAC/B,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YAC1E,CAAC,CAAC,CAAA;YAEF,iDAAiD;YACjD,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;gBAC9B,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;gBACrB,IAAI,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC/C,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;gBAClC,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,OAAO;YACL,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5C,KAAK,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE;SAChC,CAAA;IACH,CAAC;IAEO,UAAU;QAChB,IAAI,GAAG,GAAG,KAAK,CAAA;QACf,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvB,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACnB,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;YAC7D,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;gBAC9B,qBAAqB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;gBAC7C,sEAAsE;gBACtE,OAAO;gBACP,+DAA+D;gBAC/D,kEAAkE;gBAClE,IAAI,CAAC,IAAI,CAAC,IAAI,CACZ,OAAO,EACP,OAAO,EACP,IAAI,EACJ,gBAAgB,EAChB,IAAI,EACJ,IAAI,CAAC,QAAQ,EACb,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAA;gBACD,GAAG,GAAG,IAAI,CAAA;YACZ,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACrC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;oBACjC,KAAK,CAAC,IAAI,CACR,2FAA2F,CAC5F,CAAA;gBACH,CAAC;qBAAM,CAAC;oBACN,oDAAoD;oBACpD,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;oBAC7B,qBAAqB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;oBAC3C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;oBAC/B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBAChC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;oBAC7B,CAAC;oBACD,GAAG,GAAG,IAAI,CAAA;gBACZ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IACE,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO;oBAChC,OAAO,CAAC,QAAQ,KAAK,OAAO;oBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI;oBACjC,CAAC,UAAU,GAAkB;wBAC3B,MAAM,mBAAmB;wBACvB,mBAAmB;wBACnB,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,mBAAmB,CAAA;wBAC1D,MAAM,IAAI,GAAG,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAA;wBACjD,OAAO,GAAG,KAAK,IAAI,CAAA;oBACrB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EACnB,CAAC;oBACD,KAAK,CAAC,IAAI,CACR,yFAAyF,CAC1F,CAAA;gBACH,CAAC;qBAAM,IACL,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ;oBACjC,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAC7B,CAAC;oBACD,KAAK,CAAC,IAAI,CACR,2FAA2F,CAC5F,CAAA;gBACH,CAAC;qBAAM,CAAC;oBACN,yDAAyD;oBACzD,KAAK,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAA;oBACjC,qBAAqB,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAA;oBACnD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;oBAC1B,GAAG,GAAG,IAAI,CAAA;gBACZ,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACzB,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,UAAU;QAChB,MAAM,IAAI,GAAG,EAAE,CAAA;QAEf,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC9C,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAClC,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,KAAK,CAAC,qBAAqB,CAAC,CAAA;YAC5B,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;QACzB,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,SAAS;QACf,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAClC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAEjC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAE9C,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,OAAO;QACb,WAAW;QACX,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,wBAAwB;gBAChC,IAAI,CAAC,iCAAiC,EAAE,CAAA;YAC1C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;QAC5D,CAAC;QAED,YAAY;QACZ,IAAI,SAAS,GACX,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE,CAAA;QAElE,IACE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC;YACjC,CAAC,SAAS,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EACjD,CAAC;YACD,SAAS,IAAI,gCAAgC,CAAA;QAC/C,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7D,SAAS,IAAI,iBAAiB,CAAA;QAChC,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QACjC,CAAC;QACD,gBAAgB;QAEhB,SAAS;QACT,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;YACtC,CAAC,CAAC,KAAK,CAAC;YACR,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACvC,QAAQ;QACR,4EAA4E;QAC5E,uDAAuD;QACvD,wDAAwD;QACxD,MAAM,SAAS,GAAG,gBAAgB,cAAc,CAC9C,IAAI,CAAC,MAAM,CAAC,MAAM,CACnB,SAAS,CAAA;QACV,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,CAAA;QAC/B,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAA;YAC/C,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC7B,KAAK,CAAC,IAAI,CACR,GAAG,MAAM,CAAC,GAAG,CACX,yBAAyB,CAC1B,kCAAkC,CACpC,CAAA;YACH,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;YACpE,MAAM,cAAc,GAClB,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAA;YAC5D,MAAM,YAAY,GAChB,OAAO,CAAC,QAAQ,KAAK,QAAQ;gBAC3B,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO;oBAC5B,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,OAAO,CAAA;YACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;gBACvB,yCAAyC,EAAE,GAAG,uBAAuB,6BAA6B,YAAY,eAAe,UAAU,wBAAwB;gBAC/J,2CAA2C,EAAE,GAAG,uBAAuB,6BAA6B,YAAY,eAAe,UAAU,4BAA4B;gBACrK,SAAS,EAAE,GAAG,uBAAuB,6BAA6B,YAAY,eAAe,UAAU,UAAU,cAAc,QAAQ;gBACvI,UAAU,EAAE,GAAG,uBAAuB,6BAA6B,YAAY,eAAe,UAAU,UAAU,cAAc,UAAU;gBAC1I,SAAS,EAAE,GAAG,uBAAuB,6BAA6B,YAAY,qBAAqB;gBACnG,aAAa,EAAE,GAAG,uBAAuB,6BAA6B,YAAY,yBAAyB;gBAC3G,WAAW,EAAE,uBAAuB;gBACpC,IAAI,EAAE,GAAG,uBAAuB,6BAA6B,YAAY,eAAe,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE;aAC3G,CAAC,CAAA;QACJ,CAAC;QACD,aAAa;QAEb,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,IAAI,CACjB,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EACzB,IAAI,EACJ,KAAK,EACL,qBAAqB,CACtB,CAAA;YACD,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAA;YAClC,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAA;YACrC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,GAAG,CAAA;YAErC,IAAI,aAAa,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC/C,IAAI,CAAC,IAAI,CAAC,gDAAgD,GAAG,IAAI,CAC/D,aAAa,EACb,KAAK,EACL,SAAS,CACV,CAAA;gBACD,IAAI,CAAC,IAAI,CAAC,iCAAiC,GAAG,IAAI,CAChD,aAAa,EACb,KAAK,EACL,SAAS,CACV,CAAA;gBACD,IAAI,CAAC,IAAI,CAAC,yCAAyC,GAAG,IAAI,CACxD,aAAa,EACb,KAAK,EACL,SAAS,CACV,CAAA;gBACD,IAAI,CAAC,IAAI,CAAC,iCAAiC,GAAG,IAAI,CAChD,aAAa,EACb,KAAK,EACL,SAAS,CACV,CAAA;gBACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;gBACjE,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAA;gBACpE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;gBAC9D,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;gBACtE,IAAI,CAAC,iBAAiB,CACpB,QAAQ,EACR,0CAA0C,aAAa,2DAA2D,aAAa,EAAE,CAClI,CAAA;gBACD,IAAI,CAAC,iBAAiB,CACpB,UAAU,EACV,0CAA0C,aAAa,2DAA2D,aAAa,EAAE,CAClI,CAAA;gBACD,IAAI,CAAC,iBAAiB,CACpB,SAAS,EACT,YAAY,aAAa,2CAA2C,CACrE,CAAA;YACH,CAAC;QACH,CAAC;QAED,KAAK,CAAC,YAAY,CAAC,CAAA;QACnB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;YAC3C,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC5B,CAAC,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,iBAAiB,CAAC,gBAAwB;QAChD,0GAA0G;QAC1G,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACvC,IACE,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC;gBACxD,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAC/C,CAAC;gBACD,IAAI,CAAC,IAAI,CACP,oBAAoB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAClE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAA;YAC3B,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,WAAW;QACjB,MAAM,IAAI,GAAG,EAAE,CAAA;QACf,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC/D,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAA;QACH,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAC7B,CAAC;aAAM,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QACpC,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACnD,CAAC;QAED,KAAK,CAAC,sBAAsB,CAAC,CAAA;QAC7B,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;QAEvB,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,aAAa;QACnB,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC7B,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC7B,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACxD,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACnD,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QAC9D,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QAC9C,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,iCAAiC;QACvC,IAAI,MAAM,GAAG,IAAI,CACf,IAAI,CAAC,SAAS,EACd,SAAS,EACT,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC,QAAQ,CAAC;aACvC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;aAChC,MAAM,CAAC,WAAW,CAAC;aACnB,MAAM,CAAC,KAAK,CAAC;aACb,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CACrB,CAAA;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC3B,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YAChD,MAAM,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAA;QAC5B,CAAC;QAED,UAAU,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAEvC,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,KAAK,CAAC,SAAS;QACrB,IAAI,CAAC;YACH,KAAK,CAAC,iCAAiC,CAAC,CAAA;YACxC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;YAC7B,MAAM,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YACrD,KAAK,CAAC,0BAA0B,CAAC,CAAA;QACnC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,CAAC,SAAS,EAAE,EAAE;gBACrE,KAAK,EAAE,CAAC;aACT,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;QAEhD,kBAAkB;QAClB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAA;YAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;YAClD,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CACpD,cAAc,EACd,MAAM,CACP,CAAA;YACD,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC7B,CAAC;YACD,IAAI,kBAAkB,EAAE,CAAC;gBACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACnE,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,OAAM;QACR,CAAC;QAED,MAAM,OAAO,GACX,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QACtE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QACtE,KAAK,CAAC,wBAAwB,GAAG,GAAG,CAAC,CAAA;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAErC,IAAI,CAAC;YACH,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,KAAK,CAAC,qCAAqC,CAAC,CAAA;gBAC5C,MAAM,WAAW,CAAC,IAAI,CAAC,CAAA;YACzB,CAAC;YACD,KAAK,CAAC,mBAAmB,CAAC,CAAA;YAC1B,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YACnB,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAA;gBAC5D,KAAK,CAAC,4BAA4B,CAAC,CAAA;gBACnC,IAAI,CAAC;oBACH,MAAM,eAAe,GAAG,IAAI,YAAY,EAAE;yBACvC,aAAa,CAAC,IAAI,CAAC;yBACnB,mBAAmB,CAAC,IAAI,CAAC;yBACzB,wBAAwB,CAAC,IAAI,CAAC;yBAC9B,qBAAqB,CAAC,IAAI,CAAC;yBAC3B,cAAc,CAAC,KAAK,CAAC;yBACrB,KAAK,CAAC,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC,CAAA;oBAClC,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;oBACtD,MAAM,cAAc,CAClB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,EACtC,eAAe,CAChB,CAAA;oBACD,KAAK,CAAC,8BAA8B,CAAC,CAAA;oBACrC,MAAM,iBAAiB,GAAG,IAAI,YAAY,EAAE;yBACzC,aAAa,CAAC,KAAK,CAAC;yBACpB,mBAAmB,CAAC,KAAK,CAAC;yBAC1B,wBAAwB,CAAC,KAAK,CAAC;yBAC/B,qBAAqB,CAAC,KAAK,CAAC;yBAC5B,cAAc,CAAC,KAAK,CAAC;yBACrB,kBAAkB,CAAC,KAAK,CAAC;yBACzB,KAAK,CAAC,eAAe,CAAC,CAAA;oBACzB,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;oBAC3D,MAAM,cAAc,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;gBAC/C,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,KAAK,CAAC,IAAI,CACR,yCAA0C,CAAS,CAAC,OAAO,IAAI,CAAC,EAAE,CACnE,CAAA;oBACD,MAAM,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;gBAChC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YAChC,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;gBAC/D,IAAI,EAAE,IAAI;aACX,CAAC,CAAA;YACF,OAAO,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACrE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;QAC1D,CAAC;IACH,CAAC;IAEO,gBAAgB;QACtB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;YACjD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAA;YAEzE,MAAM,OAAO,GACX,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ;gBAC/B,CAAC,CAAC,MAAM,MAAM,QAAQ;gBACtB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO;oBAChC,CAAC,CAAC,GAAG,MAAM,MAAM;oBACjB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,MAAM;wBAClE,CAAC,CAAC,GAAG,MAAM,OAAO;wBAClB,CAAC,CAAC,MAAM,MAAM,KAAK,CAAA;YAE3B,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAA;YACrC,qCAAqC;YACrC,6BAA6B;YAC7B,uBAAuB;YACvB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC1B,QAAQ,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAA;YAC/C,CAAC;YACD,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9B,QAAQ,IAAI,OAAO,CAAA;YACrB,CAAC;iBAAM,CAAC;gBACN,QAAQ,IAAI,OAAO,CAAA;YACrB,CAAC;YAED,OAAO;gBACL,OAAO;gBACP,QAAQ;gBACR,UAAU;oBACR,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,eAAe,OAAO;oBAChE,CAAC,CAAC,IAAI;aACT,CAAA;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,OAAO,GACX,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAA;YAEzE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAC3B,CAAC;QAED,OAAO,EAAE,CAAA;IACX,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAA;QACrD,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YAC/D,OAAO,EAAE,CAAA;QACX,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,YAAY,CAAC,CAAA;QAEnE,IAAI,MAAM,GAAG,EAAE,CAAA;QACf,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,IAAI,OAAO,GAAa,EAAE,CAAA;QAE1B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAA;YACjE,8EAA8E;YAC9E,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACH,MAAM,GAAG,MAAM,aAAa,CAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EACjD,OAAO,CACR,CAAA;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,KAAK,CAAC,IAAI,CACR,kCAAkC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAC7D,CAAC,CACF,CAAA;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,SAAS,EAAE,CAAC;gBACrB,MAAM,GAAG,SAAS,CAAA;YACpB,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,uBAAuB,CAAA;YAClC,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;QAErE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClB,KAAK,CAAC,oDAAoD,CAAC,CAAA;YAC3D,OAAO,EAAE,CAAA;QACX,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;gBACnB,SAAQ;YACV,CAAC;YAED,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,cAAc,CACjE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,EAC3B,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,CACxD,CAAA;YAED,GAAG,IAAI,OAAO,CAAA;YACd,OAAO,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAA;QAC9B,CAAC;QAED,IAAI,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI;;;;;;;CAOf,CAAA;QACG,CAAC;QAED,GAAG,GAAG,MAAM,GAAG,GAAG,CAAA;QAElB,IAAI,CAAC;YACH,KAAK,CAAC,sBAAsB,CAAC,CAAA;YAC7B,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YACnB,MAAM,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;YACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QAChD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,KAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;YAC5C,KAAK,CAAC,KAAK,CAAC,CAAU,CAAC,CAAA;QACzB,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,MAAgB;QAC3C,IACE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ;YACtB,wEAAwE;YACxE,IAAI,CAAC,OAAO,CAAC,WAAW;YACxB,MAAM,CAAC,MAAM,KAAK,CAAC,EACnB,CAAC;YACD,OAAM;QACR,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,UAAU,CAAA;QAEjD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAA;QAC5E,MAAM,OAAO,GAAG,aAAa,CAC3B,IAAI,CAAC,MAAM,CAAC,UAAU,EACtB,IAAI,CAAC,MAAM,CAAC,WAAW,EACvB,MAAM,CACP,CAAA;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;YACvC,KAAK,CAAC,wBAAwB,CAAC,CAAA;YAC/B,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YACnB,MAAM,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YAC5C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAmB,CAAA;QACpD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;QAClE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,YAAuC,EACvC,MAAgB;QAEhB,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,YAAY,CAAC,CAAA;YACzC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,WAAW,CAAC,CAAA;YACnE,MAAM,kBAAkB,GAAG,IAAI,CAC7B,GAAG,EACH,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,kBAAkB,CAC5C,CAAA;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAA;YAC/C,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAA;YAC9D,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;YAChD,MAAM,WAAW,GACf,yCAAyC;gBACzC,MAAM;qBACH,GAAG,CACF,CAAC,KAAK,EAAE,EAAE,CACR,kBAAkB,KAAK,2BAA2B,KAAK,EAAE,CAC5D;qBACA,IAAI,CAAC,IAAI,CAAC,CAAA;YACf,MAAM,cAAc,CAClB,WAAW,EACX,iBAAiB,CACf,IAAI,EACJ,IAAI,CAAC,MAAM,CAAC,WAAW,EACvB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,EAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAChC;gBACC,WAAW;gBACX,IAAI,EACN,MAAM,CACP,CAAA;YACD,MAAM,cAAc,CAClB,kBAAkB,EAClB,wBAAwB,CACtB,IAAI,EACJ,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,EAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,EAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CACrC;gBACC,uCAAuC;gBACvC,MAAM;qBACH,GAAG,CACF,CAAC,KAAK,EAAE,EAAE,CACR,gBAAgB,KAAK,2BAA2B,KAAK,EAAE,CAC1D;qBACA,IAAI,CAAC,IAAI,CAAC;gBACb,IAAI,EACN,MAAM,CACP,CAAA;YACD,MAAM,cAAc,CAAC,UAAU,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAAA;YAC9D,MAAM,cAAc,CAClB,iBAAiB,EACjB,8BAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,KAAK,CAAC,EACtE,MAAM,CACP,CAAA;YACD,MAAM,cAAc,CAClB,gBAAgB,EAChB,kBAAkB,IAAI,CAAC,MAAM,CAAC,WAAW,iBAAiB,CAC3D,CAAA;YACD,OAAO;gBACL,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE;gBACjC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE;gBACxC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;gBAChC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE;gBACvC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE;aACpB,CAAA;QACtB,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC;IAEO,iBAAiB,CAAC,GAAW,EAAE,KAAa;QAClD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QACxB,CAAC;IACH,CAAC;CACF"}
@@ -1,101 +0,0 @@
1
- import { join, resolve } from 'node:path';
2
- import { parse } from 'semver';
3
- import { applyDefaultCreateNpmDirsOptions, } from '../def/create-npm-dirs.js';
4
- import { debugFactory, readNapiConfig, mkdirAsync as rawMkdirAsync, pick, writeFileAsync as rawWriteFileAsync, } from '../utils/index.js';
5
- const debug = debugFactory('create-npm-dirs');
6
- export async function createNpmDirs(userOptions) {
7
- const options = applyDefaultCreateNpmDirsOptions(userOptions);
8
- async function mkdirAsync(dir) {
9
- debug('Try to create dir: %i', dir);
10
- if (options.dryRun) {
11
- return;
12
- }
13
- await rawMkdirAsync(dir, {
14
- recursive: true,
15
- });
16
- }
17
- async function writeFileAsync(file, content) {
18
- debug('Writing file %i', file);
19
- if (options.dryRun) {
20
- debug(content);
21
- return;
22
- }
23
- await rawWriteFileAsync(file, content);
24
- }
25
- const packageJsonPath = resolve(options.cwd, options.packageJsonPath);
26
- const npmPath = resolve(options.cwd, options.npmDir);
27
- debug(`Read content from [${options.configPath ?? packageJsonPath}]`);
28
- const { targets, binaryName, packageName, packageJson } = await readNapiConfig(packageJsonPath, options.configPath ? resolve(options.cwd, options.configPath) : undefined);
29
- for (const target of targets) {
30
- const targetDir = join(npmPath, `${target.platformArchABI}`);
31
- await mkdirAsync(targetDir);
32
- const binaryFileName = target.arch === 'wasm32'
33
- ? `${binaryName}.${target.platformArchABI}.wasm`
34
- : `${binaryName}.${target.platformArchABI}.node`;
35
- const scopedPackageJson = {
36
- name: `${packageName}-${target.platformArchABI}`,
37
- version: packageJson.version,
38
- cpu: target.arch !== 'universal' ? [target.arch] : undefined,
39
- main: binaryFileName,
40
- files: [binaryFileName],
41
- ...pick(packageJson, 'description', 'keywords', 'author', 'authors', 'homepage', 'license', 'engines', 'publishConfig', 'repository', 'bugs'),
42
- };
43
- if (target.arch !== 'wasm32') {
44
- // @ts-expect-error
45
- scopedPackageJson.os = [target.platform];
46
- }
47
- else {
48
- const entry = `${binaryName}.wasi.cjs`;
49
- scopedPackageJson.main = entry;
50
- // @ts-expect-error
51
- scopedPackageJson.browser = `${binaryName}.wasi-browser.js`;
52
- scopedPackageJson.files.push(entry,
53
- // @ts-expect-error
54
- scopedPackageJson.browser, `wasi-worker.mjs`, `wasi-worker-browser.mjs`);
55
- let needRestrictNodeVersion = true;
56
- if (scopedPackageJson.engines?.node) {
57
- try {
58
- const { major } = parse(scopedPackageJson.engines.node) ?? {
59
- major: 0,
60
- };
61
- if (major >= 14) {
62
- needRestrictNodeVersion = false;
63
- }
64
- }
65
- catch {
66
- // ignore
67
- }
68
- }
69
- if (needRestrictNodeVersion) {
70
- scopedPackageJson.engines = {
71
- node: '>=14.0.0',
72
- };
73
- }
74
- const wasmRuntime = await fetch(`https://registry.npmjs.org/@napi-rs/wasm-runtime`).then((res) => res.json());
75
- // @ts-expect-error
76
- scopedPackageJson.dependencies = {
77
- '@napi-rs/wasm-runtime': `^${wasmRuntime['dist-tags'].latest}`,
78
- };
79
- }
80
- if (target.abi === 'gnu') {
81
- // @ts-expect-error
82
- scopedPackageJson.libc = ['glibc'];
83
- }
84
- else if (target.abi === 'musl') {
85
- // @ts-expect-error
86
- scopedPackageJson.libc = ['musl'];
87
- }
88
- const targetPackageJson = join(targetDir, 'package.json');
89
- await writeFileAsync(targetPackageJson, JSON.stringify(scopedPackageJson, null, 2) + '\n');
90
- const targetReadme = join(targetDir, 'README.md');
91
- await writeFileAsync(targetReadme, readme(packageName, target));
92
- debug.info(`${packageName} -${target.platformArchABI} created`);
93
- }
94
- }
95
- function readme(packageName, target) {
96
- return `# \`${packageName}-${target.platformArchABI}\`
97
-
98
- This is the **${target.triple}** binary for \`${packageName}\`
99
- `;
100
- }
101
- //# sourceMappingURL=create-npm-dirs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-npm-dirs.js","sourceRoot":"","sources":["../../src/api/create-npm-dirs.ts"],"names":[],"mappings":"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"}
package/dist/api/new.js DELETED
@@ -1,360 +0,0 @@
1
- import { exec, execSync } from 'node:child_process';
2
- import { existsSync } from 'node:fs';
3
- import { homedir } from 'node:os';
4
- import path from 'node:path';
5
- import { promises as fs } from 'node:fs';
6
- import { load as yamlLoad, dump as yamlDump } from 'js-yaml';
7
- import { applyDefaultNewOptions, } from '../def/new.js';
8
- import { AVAILABLE_TARGETS, debugFactory, DEFAULT_TARGETS, mkdirAsync, readdirAsync, statAsync, } from '../utils/index.js';
9
- import { napiEngineRequirement } from '../utils/version.js';
10
- import { renameProject } from './rename.js';
11
- // Template imports removed as we're now using external templates
12
- const debug = debugFactory('new');
13
- const TEMPLATE_REPOS = {
14
- yarn: 'https://github.com/napi-rs/package-template',
15
- pnpm: 'https://github.com/napi-rs/package-template-pnpm',
16
- };
17
- async function checkGitCommand() {
18
- try {
19
- await new Promise((resolve) => {
20
- const cp = exec('git --version');
21
- cp.on('error', () => {
22
- resolve(false);
23
- });
24
- cp.on('exit', (code) => {
25
- if (code === 0) {
26
- resolve(true);
27
- }
28
- else {
29
- resolve(false);
30
- }
31
- });
32
- });
33
- return true;
34
- }
35
- catch {
36
- return false;
37
- }
38
- }
39
- async function ensureCacheDir(packageManager) {
40
- const cacheDir = path.join(homedir(), '.napi-rs', 'template', packageManager);
41
- await mkdirAsync(cacheDir, { recursive: true });
42
- return cacheDir;
43
- }
44
- async function downloadTemplate(packageManager, cacheDir) {
45
- const repoUrl = TEMPLATE_REPOS[packageManager];
46
- const templatePath = path.join(cacheDir, 'repo');
47
- if (existsSync(templatePath)) {
48
- debug(`Template cache found at ${templatePath}, updating...`);
49
- try {
50
- // Fetch latest changes and reset to remote
51
- await new Promise((resolve, reject) => {
52
- const cp = exec('git fetch origin', { cwd: templatePath });
53
- cp.on('error', reject);
54
- cp.on('exit', (code) => {
55
- if (code === 0) {
56
- resolve();
57
- }
58
- else {
59
- reject(new Error(`Failed to fetch latest changes, git process exited with code ${code}`));
60
- }
61
- });
62
- });
63
- execSync('git reset --hard origin/main', {
64
- cwd: templatePath,
65
- stdio: 'ignore',
66
- });
67
- debug('Template updated successfully');
68
- }
69
- catch (error) {
70
- debug(`Failed to update template: ${error}`);
71
- throw new Error(`Failed to update template from ${repoUrl}: ${error}`);
72
- }
73
- }
74
- else {
75
- debug(`Cloning template from ${repoUrl}...`);
76
- try {
77
- execSync(`git clone ${repoUrl} repo`, { cwd: cacheDir, stdio: 'inherit' });
78
- debug('Template cloned successfully');
79
- }
80
- catch (error) {
81
- throw new Error(`Failed to clone template from ${repoUrl}: ${error}`);
82
- }
83
- }
84
- }
85
- async function copyDirectory(src, dest, includeWasiBindings) {
86
- await mkdirAsync(dest, { recursive: true });
87
- const entries = await fs.readdir(src, { withFileTypes: true });
88
- for (const entry of entries) {
89
- const srcPath = path.join(src, entry.name);
90
- const destPath = path.join(dest, entry.name);
91
- // Skip .git directory
92
- if (entry.name === '.git') {
93
- continue;
94
- }
95
- if (entry.isDirectory()) {
96
- await copyDirectory(srcPath, destPath, includeWasiBindings);
97
- }
98
- else {
99
- if (!includeWasiBindings &&
100
- (entry.name.endsWith('.wasi-browser.js') ||
101
- entry.name.endsWith('.wasi.cjs') ||
102
- entry.name.endsWith('wasi-worker.browser.mjs ') ||
103
- entry.name.endsWith('wasi-worker.mjs') ||
104
- entry.name.endsWith('browser.js'))) {
105
- continue;
106
- }
107
- await fs.copyFile(srcPath, destPath);
108
- }
109
- }
110
- }
111
- async function filterTargetsInPackageJson(filePath, enabledTargets) {
112
- const content = await fs.readFile(filePath, 'utf-8');
113
- const packageJson = JSON.parse(content);
114
- // Filter napi.targets
115
- if (packageJson.napi?.targets) {
116
- packageJson.napi.targets = packageJson.napi.targets.filter((target) => enabledTargets.includes(target));
117
- }
118
- await fs.writeFile(filePath, JSON.stringify(packageJson, null, 2) + '\n');
119
- }
120
- async function filterTargetsInGithubActions(filePath, enabledTargets) {
121
- const content = await fs.readFile(filePath, 'utf-8');
122
- const yaml = yamlLoad(content);
123
- const macOSAndWindowsTargets = new Set([
124
- 'x86_64-pc-windows-msvc',
125
- 'aarch64-pc-windows-msvc',
126
- 'x86_64-apple-darwin',
127
- ]);
128
- const linuxTargets = new Set([
129
- 'x86_64-unknown-linux-gnu',
130
- 'x86_64-unknown-linux-musl',
131
- 'aarch64-unknown-linux-gnu',
132
- 'aarch64-unknown-linux-musl',
133
- 'armv7-unknown-linux-gnueabihf',
134
- 'armv7-unknown-linux-musleabihf',
135
- 'riscv64gc-unknown-linux-gnu',
136
- 'powerpc64le-unknown-linux-gnu',
137
- 's390x-unknown-linux-gnu',
138
- 'aarch64-linux-android',
139
- 'armv7-linux-androideabi',
140
- ]);
141
- // Check if any Linux targets are enabled
142
- const hasLinuxTargets = enabledTargets.some((target) => linuxTargets.has(target));
143
- // Filter the matrix configurations in the build job
144
- if (yaml?.jobs?.build?.strategy?.matrix?.settings) {
145
- yaml.jobs.build.strategy.matrix.settings =
146
- yaml.jobs.build.strategy.matrix.settings.filter((setting) => {
147
- if (setting.target) {
148
- return enabledTargets.includes(setting.target);
149
- }
150
- return true;
151
- });
152
- }
153
- const jobsToRemove = [];
154
- if (enabledTargets.every((target) => !macOSAndWindowsTargets.has(target))) {
155
- jobsToRemove.push('test-macOS-windows-binding');
156
- }
157
- else {
158
- // Filter the matrix configurations in the test-macOS-windows-binding job
159
- if (yaml?.jobs?.['test-macOS-windows-binding']?.strategy?.matrix?.settings) {
160
- yaml.jobs['test-macOS-windows-binding'].strategy.matrix.settings =
161
- yaml.jobs['test-macOS-windows-binding'].strategy.matrix.settings.filter((setting) => {
162
- if (setting.target) {
163
- return enabledTargets.includes(setting.target);
164
- }
165
- return true;
166
- });
167
- }
168
- }
169
- // If no Linux targets are enabled, remove Linux-specific jobs
170
- if (!hasLinuxTargets) {
171
- // Remove test-linux-binding job
172
- if (yaml?.jobs?.['test-linux-binding']) {
173
- jobsToRemove.push('test-linux-binding');
174
- }
175
- }
176
- else {
177
- // Filter the matrix configurations in the test-linux-x64-gnu-binding job
178
- if (yaml?.jobs?.['test-linux-binding']?.strategy?.matrix?.target) {
179
- yaml.jobs['test-linux-binding'].strategy.matrix.target = yaml.jobs['test-linux-binding'].strategy.matrix.target.filter((target) => {
180
- if (target) {
181
- return enabledTargets.includes(target);
182
- }
183
- return true;
184
- });
185
- }
186
- }
187
- if (!enabledTargets.includes('wasm32-wasip1-threads')) {
188
- jobsToRemove.push('test-wasi');
189
- }
190
- if (!enabledTargets.includes('x86_64-unknown-freebsd')) {
191
- jobsToRemove.push('build-freebsd');
192
- }
193
- // Filter other test jobs based on target
194
- for (const [jobName, jobConfig] of Object.entries(yaml.jobs || {})) {
195
- if (jobName.startsWith('test-') &&
196
- jobName !== 'test-macOS-windows-binding' &&
197
- jobName !== 'test-linux-x64-gnu-binding') {
198
- // Extract target from job name or config
199
- const job = jobConfig;
200
- if (job.strategy?.matrix?.settings?.[0]?.target) {
201
- const target = job.strategy.matrix.settings[0].target;
202
- if (!enabledTargets.includes(target)) {
203
- jobsToRemove.push(jobName);
204
- }
205
- }
206
- }
207
- }
208
- // Remove jobs for disabled targets
209
- for (const jobName of jobsToRemove) {
210
- delete yaml.jobs[jobName];
211
- }
212
- if (Array.isArray(yaml.jobs?.publish?.needs)) {
213
- yaml.jobs.publish.needs = yaml.jobs.publish.needs.filter((need) => !jobsToRemove.includes(need));
214
- }
215
- // Write back the filtered YAML
216
- const updatedYaml = yamlDump(yaml, {
217
- lineWidth: -1,
218
- noRefs: true,
219
- sortKeys: false,
220
- });
221
- await fs.writeFile(filePath, updatedYaml);
222
- }
223
- function processOptions(options) {
224
- debug('Processing options...');
225
- if (!options.path) {
226
- throw new Error('Please provide the path as the argument');
227
- }
228
- options.path = path.resolve(process.cwd(), options.path);
229
- debug(`Resolved target path to: ${options.path}`);
230
- if (!options.name) {
231
- options.name = path.parse(options.path).base;
232
- debug(`No project name provided, fix it to dir name: ${options.name}`);
233
- }
234
- if (!options.targets?.length) {
235
- if (options.enableAllTargets) {
236
- options.targets = AVAILABLE_TARGETS.concat();
237
- debug('Enable all targets');
238
- }
239
- else if (options.enableDefaultTargets) {
240
- options.targets = DEFAULT_TARGETS.concat();
241
- debug('Enable default targets');
242
- }
243
- else {
244
- throw new Error('At least one target must be enabled');
245
- }
246
- }
247
- if (options.targets.some((target) => target === 'wasm32-wasi-preview1-threads')) {
248
- const out = execSync(`rustup target list`, {
249
- encoding: 'utf8',
250
- });
251
- if (out.includes('wasm32-wasip1-threads')) {
252
- options.targets = options.targets.map((target) => target === 'wasm32-wasi-preview1-threads'
253
- ? 'wasm32-wasip1-threads'
254
- : target);
255
- }
256
- }
257
- return applyDefaultNewOptions(options);
258
- }
259
- export async function newProject(userOptions) {
260
- debug('Will create napi-rs project with given options:');
261
- debug(userOptions);
262
- const options = processOptions(userOptions);
263
- debug('Targets to be enabled:');
264
- debug(options.targets);
265
- // Check if git is available
266
- if (!(await checkGitCommand())) {
267
- throw new Error('Git is not installed or not available in PATH. Please install Git to continue.');
268
- }
269
- const packageManager = options.packageManager;
270
- // Ensure target directory exists and is empty
271
- await ensurePath(options.path, options.dryRun);
272
- if (!options.dryRun) {
273
- try {
274
- // Download or update template
275
- const cacheDir = await ensureCacheDir(packageManager);
276
- await downloadTemplate(packageManager, cacheDir);
277
- // Copy template files to target directory
278
- const templatePath = path.join(cacheDir, 'repo');
279
- await copyDirectory(templatePath, options.path, options.targets.includes('wasm32-wasip1-threads'));
280
- // Rename project using the rename API
281
- await renameProject({
282
- cwd: options.path,
283
- name: options.name,
284
- binaryName: getBinaryName(options.name),
285
- });
286
- // Filter targets in package.json
287
- const packageJsonPath = path.join(options.path, 'package.json');
288
- if (existsSync(packageJsonPath)) {
289
- await filterTargetsInPackageJson(packageJsonPath, options.targets);
290
- }
291
- // Filter targets in GitHub Actions CI
292
- const ciPath = path.join(options.path, '.github', 'workflows', 'CI.yml');
293
- if (existsSync(ciPath) && options.enableGithubActions) {
294
- await filterTargetsInGithubActions(ciPath, options.targets);
295
- }
296
- else if (!options.enableGithubActions &&
297
- existsSync(path.join(options.path, '.github'))) {
298
- // Remove .github directory if GitHub Actions is not enabled
299
- await fs.rm(path.join(options.path, '.github'), {
300
- recursive: true,
301
- force: true,
302
- });
303
- }
304
- // Update package.json with additional configurations
305
- const pkgJsonContent = await fs.readFile(packageJsonPath, 'utf-8');
306
- const pkgJson = JSON.parse(pkgJsonContent);
307
- // Update engine requirement
308
- if (!pkgJson.engines) {
309
- pkgJson.engines = {};
310
- }
311
- pkgJson.engines.node = napiEngineRequirement(options.minNodeApiVersion);
312
- // Update license if different from template
313
- if (options.license && pkgJson.license !== options.license) {
314
- pkgJson.license = options.license;
315
- }
316
- // Update test framework if needed
317
- if (options.testFramework !== 'ava') {
318
- // This would require more complex logic to update test scripts and dependencies
319
- debug(`Test framework ${options.testFramework} requested but not yet implemented`);
320
- }
321
- await fs.writeFile(packageJsonPath, JSON.stringify(pkgJson, null, 2) + '\n');
322
- }
323
- catch (error) {
324
- throw new Error(`Failed to create project: ${error}`);
325
- }
326
- }
327
- debug(`Project created at: ${options.path}`);
328
- }
329
- async function ensurePath(path, dryRun = false) {
330
- const stat = await statAsync(path, {}).catch(() => undefined);
331
- // file descriptor exists
332
- if (stat) {
333
- if (stat.isFile()) {
334
- throw new Error(`Path ${path} for creating new napi-rs project already exists and it's not a directory.`);
335
- }
336
- else if (stat.isDirectory()) {
337
- const files = await readdirAsync(path);
338
- if (files.length) {
339
- throw new Error(`Path ${path} for creating new napi-rs project already exists and it's not empty.`);
340
- }
341
- }
342
- }
343
- if (!dryRun) {
344
- try {
345
- debug(`Try to create target directory: ${path}`);
346
- if (!dryRun) {
347
- await mkdirAsync(path, { recursive: true });
348
- }
349
- }
350
- catch (e) {
351
- throw new Error(`Failed to create target directory: ${path}`, {
352
- cause: e,
353
- });
354
- }
355
- }
356
- }
357
- function getBinaryName(name) {
358
- return name.split('/').pop();
359
- }
360
- //# sourceMappingURL=new.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/api/new.ts"],"names":[],"mappings":"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"}