fhirpath-ts 0.2.0 → 0.2.2

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 (83) hide show
  1. package/README.md +12 -5
  2. package/dist/analyzer/analyze-dto.d.ts.map +1 -1
  3. package/dist/analyzer/analyze-dto.js +14 -8
  4. package/dist/analyzer/analyze-dto.js.map +1 -1
  5. package/dist/analyzer/analyze.d.ts +23 -12
  6. package/dist/analyzer/analyze.d.ts.map +1 -1
  7. package/dist/analyzer/analyze.js +138 -46
  8. package/dist/analyzer/analyze.js.map +1 -1
  9. package/dist/analyzer/declarations.d.ts +6 -0
  10. package/dist/analyzer/declarations.d.ts.map +1 -1
  11. package/dist/analyzer/declarations.js +7 -0
  12. package/dist/analyzer/declarations.js.map +1 -1
  13. package/dist/analyzer/expression-policy.d.ts +88 -14
  14. package/dist/analyzer/expression-policy.d.ts.map +1 -1
  15. package/dist/analyzer/expression-policy.js +296 -41
  16. package/dist/analyzer/expression-policy.js.map +1 -1
  17. package/dist/analyzer/operator-rules.d.ts.map +1 -1
  18. package/dist/analyzer/operator-rules.js +7 -6
  19. package/dist/analyzer/operator-rules.js.map +1 -1
  20. package/dist/analyzer/signatures.d.ts +49 -0
  21. package/dist/analyzer/signatures.d.ts.map +1 -1
  22. package/dist/analyzer/signatures.js +76 -31
  23. package/dist/analyzer/signatures.js.map +1 -1
  24. package/dist/analyzer/source-options.d.ts +17 -0
  25. package/dist/analyzer/source-options.d.ts.map +1 -0
  26. package/dist/analyzer/source-options.js +3 -0
  27. package/dist/analyzer/source-options.js.map +1 -0
  28. package/dist/api/dto.d.ts +9 -4
  29. package/dist/api/dto.d.ts.map +1 -1
  30. package/dist/api/dto.js +14 -3
  31. package/dist/api/dto.js.map +1 -1
  32. package/dist/api/strict.d.ts.map +1 -1
  33. package/dist/api/strict.js +8 -3
  34. package/dist/api/strict.js.map +1 -1
  35. package/dist/cli/dto-check.d.ts +9 -0
  36. package/dist/cli/dto-check.d.ts.map +1 -1
  37. package/dist/cli/dto-check.js +49 -6
  38. package/dist/cli/dto-check.js.map +1 -1
  39. package/dist/cli/fhirpath-check.js +161 -31
  40. package/dist/cli/fhirpath-check.js.map +1 -1
  41. package/dist/eslint/index.d.ts.map +1 -1
  42. package/dist/eslint/index.js +13 -8
  43. package/dist/eslint/index.js.map +1 -1
  44. package/dist/r4/generated/resources-data.d.ts +6 -2
  45. package/dist/r4/generated/resources-data.d.ts.map +1 -1
  46. package/dist/r4/generated/resources-data.js +626 -28627
  47. package/dist/r4/generated/resources-data.js.map +1 -1
  48. package/dist/r4/generated/types-data.d.ts +6 -2
  49. package/dist/r4/generated/types-data.d.ts.map +1 -1
  50. package/dist/r4/generated/types-data.js +84 -2204
  51. package/dist/r4/generated/types-data.js.map +1 -1
  52. package/dist/r4/index.d.ts.map +1 -1
  53. package/dist/r4/index.js +10 -4
  54. package/dist/r4/index.js.map +1 -1
  55. package/dist/r4/model-data.d.ts +17 -0
  56. package/dist/r4/model-data.d.ts.map +1 -1
  57. package/dist/r4/model-data.js +118 -1
  58. package/dist/r4/model-data.js.map +1 -1
  59. package/dist/sites/index.d.ts +31 -2
  60. package/dist/sites/index.d.ts.map +1 -1
  61. package/dist/sites/index.js +351 -30
  62. package/dist/sites/index.js.map +1 -1
  63. package/dist/typed/infer.d.ts +2 -0
  64. package/dist/typed/infer.d.ts.map +1 -1
  65. package/package.json +1 -1
  66. package/src/analyzer/analyze-dto.ts +19 -9
  67. package/src/analyzer/analyze.ts +186 -54
  68. package/src/analyzer/declarations.ts +12 -0
  69. package/src/analyzer/expression-policy.ts +423 -47
  70. package/src/analyzer/operator-rules.ts +7 -6
  71. package/src/analyzer/signatures.ts +100 -36
  72. package/src/analyzer/source-options.ts +19 -0
  73. package/src/api/dto.ts +35 -9
  74. package/src/api/strict.ts +8 -3
  75. package/src/cli/dto-check.ts +56 -6
  76. package/src/cli/fhirpath-check.ts +180 -34
  77. package/src/eslint/index.ts +15 -12
  78. package/src/r4/generated/resources-data.ts +624 -28628
  79. package/src/r4/generated/types-data.ts +82 -2205
  80. package/src/r4/index.ts +11 -5
  81. package/src/r4/model-data.ts +127 -0
  82. package/src/sites/index.ts +428 -40
  83. package/src/typed/infer.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"types-data.js","sourceRoot":"","sources":["../../../src/r4/generated/types-data.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,aAAa,GAA4C;IACpE,OAAO,EAAE;QACP,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,OAAO,EAAE;gBACP,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,QAAQ,EAAE;gBACR,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,QAAQ,CAAC;gBACb,CAAC,EAAE,CAAC;aACL;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,UAAU,EAAE;gBACV,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;YACD,GAAG,EAAE;gBACH,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;SACF;KACF;IACD,GAAG,EAAE;QACH,CAAC,EAAE,UAAU;QACb,CAAC,EAAE;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;YACD,UAAU,EAAE;gBACV,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,KAAK,CAAC;aACX;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,SAAS,CAAC;aACf;SACF;KACF;IACD,UAAU,EAAE;QACV,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;gBAC1B,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,CAAC;aAChE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,UAAU,CAAC;aAChB;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,UAAU,CAAC;aAChB;SACF;KACF;IACD,UAAU,EAAE;QACV,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,WAAW,EAAE;gBACX,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;YACD,QAAQ,EAAE;gBACR,CAAC,EAAE,CAAC,UAAU,CAAC;aAChB;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,cAAc,CAAC;aACpB;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,cAAc,CAAC;aACpB;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,QAAQ,EAAE;gBACR,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,aAAa,CAAC;aACnB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,GAAG,EAAE;gBACH,CAAC,EAAE,CAAC,KAAK,CAAC;aACX;SACF;KACF;IACD,eAAe,EAAE;QACf,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,iBAAiB,EAAE;gBACjB,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;SACF;KACF;IACD,eAAe,EAAE;QACf,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,QAAQ,CAAC;gBACb,CAAC,EAAE,CAAC;aACL;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;SACF;KACF;IACD,MAAM,EAAE;QACN,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;YACD,OAAO,EAAE;gBACP,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,KAAK,CAAC;aACX;YACD,YAAY,EAAE;gBACZ,CAAC,EAAE,CAAC,SAAS,CAAC;aACf;YACD,OAAO,EAAE;gBACP,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;SACF;KACF;IACD,aAAa,EAAE;QACb,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,OAAO,EAAE;gBACP,CAAC,EAAE,CAAC,cAAc,CAAC;gBACnB,CAAC,EAAE,CAAC;aACL;SACF;KACF;IACD,YAAY,EAAE;QACZ,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,aAAa,CAAC;aACnB;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;YACD,GAAG,EAAE;gBACH,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;SACF;KACF;IACD,WAAW,EAAE;QACX,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,OAAO,EAAE;gBACP,CAAC,EAAE,CAAC,eAAe,CAAC;gBACpB,CAAC,EAAE,CAAC;aACL;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;SACF;KACF;IACD,KAAK,EAAE;QACL,CAAC,EAAE,UAAU;QACb,CAAC,EAAE;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;YACD,UAAU,EAAE;gBACV,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,KAAK,CAAC;aACX;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,SAAS,CAAC;aACf;SACF;KACF;IACD,eAAe,EAAE;QACf,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,UAAU,EAAE;gBACV,CAAC,EAAE,CAAC,4BAA4B,CAAC;gBACjC,CAAC,EAAE,CAAC;aACL;YACD,UAAU,EAAE;gBACV,CAAC,EAAE,CAAC,4BAA4B,CAAC;gBACjC,CAAC,EAAE,CAAC;aACL;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,aAAa,CAAC;aACnB;YACD,WAAW,EAAE;gBACX,CAAC,EAAE,CAAC,QAAQ,CAAC;gBACb,CAAC,EAAE,CAAC;aACL;YACD,OAAO,EAAE;gBACP,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,sBAAsB,CAAC;gBAC3B,CAAC,EAAE,CAAC;aACL;YACD,OAAO,EAAE;gBACP,CAAC,EAAE,CAAC,iBAAiB,EAAE,WAAW,CAAC;gBACnC,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC,OAAO,CAAC;aACb;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;SACF;KACF;IACD,4BAA4B,EAAE;QAC5B,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,QAAQ,CAAC;gBACb,CAAC,EAAE,CAAC;aACL;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,WAAW,EAAE;gBACX,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,QAAQ,EAAE;gBACR,CAAC,EAAE,CAAC,WAAW,CAAC;aACjB;SACF;KACF;IACD,4BAA4B,EAAE;QAC5B,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,WAAW,EAAE;gBACX,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC;gBACrC,CAAC,EAAE,CAAC;aACL;SACF;KACF;IACD,sBAAsB,EAAE;QACtB,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;SACF;KACF;IACD,QAAQ,EAAE;QACR,CAAC,EAAE,UAAU;QACb,CAAC,EAAE;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;YACD,UAAU,EAAE;gBACV,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,KAAK,CAAC;aACX;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,SAAS,CAAC;aACf;SACF;KACF;IACD,MAAM,EAAE;QACN,CAAC,EAAE,iBAAiB;QACpB,CAAC,EAAE;YACD,qBAAqB,EAAE;gBACrB,CAAC,EAAE,CAAC,iBAAiB,CAAC;gBACtB,CAAC,EAAE,CAAC;aACL;YACD,QAAQ,EAAE;gBACR,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC;gBACjC,CAAC,EAAE,CAAC;aACL;YACD,WAAW,EAAE;gBACX,CAAC,EAAE,CAAC,oBAAoB,CAAC;gBACzB,CAAC,EAAE,CAAC;aACL;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,wBAAwB,EAAE;gBACxB,CAAC,EAAE,CAAC,UAAU,CAAC;aAChB;YACD,kBAAkB,EAAE;gBAClB,CAAC,EAAE,CAAC,UAAU,CAAC;aAChB;YACD,gBAAgB,EAAE;gBAChB,CAAC,EAAE,CAAC,OAAO,CAAC;aACb;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,iBAAiB,CAAC;aACvB;YACD,iBAAiB,EAAE;gBACjB,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,kBAAkB,EAAE;gBAClB,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,iBAAiB,CAAC;aACvB;YACD,QAAQ,EAAE;gBACR,CAAC,EAAE,CAAC,SAAS,CAAC;aACf;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,iBAAiB,CAAC;aACvB;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;SACF;KACF;IACD,oBAAoB,EAAE;QACpB,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;gBACxB,CAAC,EAAE,CAAC;aACL;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC;gBACjC,CAAC,EAAE,CAAC;aACL;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,iBAAiB,CAAC;aACvB;SACF;KACF;IACD,QAAQ,EAAE;QACR,CAAC,EAAE,UAAU;QACb,CAAC,EAAE;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;YACD,UAAU,EAAE;gBACV,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,KAAK,CAAC;aACX;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,SAAS,CAAC;aACf;SACF;KACF;IACD,OAAO,EAAE;QACP,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;SACF;KACF;IACD,iBAAiB,EAAE;QACjB,CAAC,EAAE,iBAAiB;QACpB,CAAC,EAAE;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,QAAQ,CAAC;gBACb,CAAC,EAAE,CAAC;aACL;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,wBAAwB,CAAC;aAC9B;YACD,OAAO,EAAE;gBACP,CAAC,EAAE,CAAC,2BAA2B,CAAC;aACjC;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,QAAQ,CAAC;gBACb,CAAC,EAAE,CAAC;aACL;YACD,OAAO,EAAE;gBACP,CAAC,EAAE,CAAC,UAAU,CAAC;aAChB;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,IAAI,CAAC;gBACT,CAAC,EAAE,CAAC;aACL;YACD,UAAU,EAAE;gBACV,CAAC,EAAE,CAAC,8BAA8B,CAAC;gBACnC,CAAC,EAAE,CAAC;aACL;YACD,gBAAgB,EAAE;gBAChB,CAAC,EAAE,CAAC,KAAK,CAAC;aACX;YACD,YAAY,EAAE;gBACZ,CAAC,EAAE;oBACD,cAAc;oBACd,SAAS;oBACT,WAAW;oBACX,MAAM;oBACN,MAAM;oBACN,UAAU;oBACV,SAAS;oBACT,IAAI;oBACJ,SAAS;oBACT,SAAS;oBACT,UAAU;oBACV,KAAK;oBACL,aAAa;oBACb,QAAQ;oBACR,MAAM;oBACN,aAAa;oBACb,KAAK;oBACL,KAAK;oBACL,MAAM;oBACN,SAAS;oBACT,KAAK;oBACL,YAAY;oBACZ,YAAY;oBACZ,iBAAiB;oBACjB,QAAQ;oBACR,cAAc;oBACd,OAAO;oBACP,UAAU;oBACV,UAAU;oBACV,WAAW;oBACX,YAAY;oBACZ,OAAO;oBACP,QAAQ;oBACR,UAAU;oBACV,OAAO;oBACP,OAAO;oBACP,WAAW;oBACX,aAAa;oBACb,WAAW;oBACX,QAAQ;oBACR,eAAe;oBACf,aAAa;oBACb,iBAAiB;oBACjB,YAAY;oBACZ,qBAAqB;oBACrB,iBAAiB;oBACjB,mBAAmB;oBACnB,cAAc;oBACd,QAAQ;oBACR,MAAM;iBACP;gBACD,CAAC,EAAE,CAAC;aACL;YACD,UAAU,EAAE;gBACV,CAAC,EAAE,CAAC,UAAU,CAAC;aAChB;YACD,OAAO,EAAE;gBACP,CAAC,EAAE,CAAC,2BAA2B,CAAC;gBAChC,CAAC,EAAE,CAAC;aACL;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,KAAK,EAAE;gBACL,CAAC,EAAE;oBACD,cAAc;oBACd,SAAS;oBACT,WAAW;oBACX,MAAM;oBACN,MAAM;oBACN,UAAU;oBACV,SAAS;oBACT,IAAI;oBACJ,SAAS;oBACT,SAAS;oBACT,UAAU;oBACV,KAAK;oBACL,aAAa;oBACb,QAAQ;oBACR,MAAM;oBACN,aAAa;oBACb,KAAK;oBACL,KAAK;oBACL,MAAM;oBACN,SAAS;oBACT,KAAK;oBACL,YAAY;oBACZ,YAAY;oBACZ,iBAAiB;oBACjB,QAAQ;oBACR,cAAc;oBACd,OAAO;oBACP,UAAU;oBACV,UAAU;oBACV,WAAW;oBACX,YAAY;oBACZ,OAAO;oBACP,QAAQ;oBACR,UAAU;oBACV,OAAO;oBACP,OAAO;oBACP,WAAW;oBACX,aAAa;oBACb,WAAW;oBACX,QAAQ;oBACR,eAAe;oBACf,aAAa;oBACb,iBAAiB;oBACjB,YAAY;oBACZ,qBAAqB;oBACrB,iBAAiB;oBACjB,mBAAmB;oBACnB,cAAc;oBACd,QAAQ;oBACR,MAAM;iBACP;gBACD,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,UAAU,EAAE;gBACV,CAAC,EAAE,CAAC,SAAS,CAAC;aACf;YACD,gBAAgB,EAAE;gBAChB,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,SAAS,CAAC;aACf;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,OAAO,EAAE;gBACP,CAAC,EAAE,CAAC,2BAA2B,CAAC;gBAChC,CAAC,EAAE,CAAC;aACL;YACD,GAAG,EAAE;gBACH,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,SAAS,CAAC;aACf;YACD,QAAQ,EAAE;gBACR,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,CAAC;gBAC1G,CAAC,EAAE,CAAC;aACL;YACD,kBAAkB,EAAE;gBAClB,CAAC,EAAE,CAAC,UAAU,CAAC;aAChB;YACD,GAAG,EAAE;gBACH,CAAC,EAAE,CAAC,aAAa,CAAC;aACnB;YACD,QAAQ,EAAE;gBACR,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,CAAC;gBAC1G,CAAC,EAAE,CAAC;aACL;YACD,iBAAiB,EAAE;gBACjB,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,WAAW,EAAE;gBACX,CAAC,EAAE,CAAC,SAAS,CAAC;aACf;YACD,YAAY,EAAE;gBACZ,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,OAAO,EAAE;gBACP,CAAC,EAAE;oBACD,cAAc;oBACd,SAAS;oBACT,WAAW;oBACX,MAAM;oBACN,MAAM;oBACN,UAAU;oBACV,SAAS;oBACT,IAAI;oBACJ,SAAS;oBACT,SAAS;oBACT,UAAU;oBACV,KAAK;oBACL,aAAa;oBACb,QAAQ;oBACR,MAAM;oBACN,aAAa;oBACb,KAAK;oBACL,KAAK;oBACL,MAAM;oBACN,SAAS;oBACT,KAAK;oBACL,YAAY;oBACZ,YAAY;oBACZ,iBAAiB;oBACjB,QAAQ;oBACR,cAAc;oBACd,OAAO;oBACP,UAAU;oBACV,UAAU;oBACV,WAAW;oBACX,YAAY;oBACZ,OAAO;oBACP,QAAQ;oBACR,UAAU;oBACV,OAAO;oBACP,OAAO;oBACP,WAAW;oBACX,aAAa;oBACb,WAAW;oBACX,QAAQ;oBACR,eAAe;oBACf,aAAa;oBACb,iBAAiB;oBACjB,YAAY;oBACZ,qBAAqB;oBACrB,iBAAiB;oBACjB,mBAAmB;oBACnB,cAAc;oBACd,QAAQ;oBACR,MAAM;iBACP;gBACD,CAAC,EAAE,CAAC;aACL;YACD,cAAc,EAAE;gBACd,CAAC,EAAE,CAAC,MAAM,CAAC;gBACX,CAAC,EAAE,CAAC;aACL;YACD,YAAY,EAAE;gBACZ,CAAC,EAAE,CAAC,UAAU,CAAC;aAChB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,mBAAmB,EAAE;gBACnB,CAAC,EAAE,CAAC,SAAS,CAAC;aACf;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,OAAO,EAAE;gBACP,CAAC,EAAE,CAAC,2BAA2B,CAAC;aACjC;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,wBAAwB,CAAC;gBAC7B,CAAC,EAAE,CAAC;aACL;SACF;KACF;IACD,wBAAwB,EAAE;QACxB,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,GAAG,EAAE;gBACH,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,GAAG,EAAE;gBACH,CAAC,EAAE,CAAC,aAAa,CAAC;aACnB;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;SACF;KACF;IACD,2BAA2B,EAAE;QAC3B,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,WAAW,EAAE;gBACX,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,QAAQ,EAAE;gBACR,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;YACD,QAAQ,EAAE;gBACR,CAAC,EAAE,CAAC,WAAW,CAAC;aACjB;SACF;KACF;IACD,8BAA8B,EAAE;QAC9B,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,UAAU,EAAE;gBACV,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,GAAG,EAAE;gBACH,CAAC,EAAE,CAAC,IAAI,CAAC;aACV;YACD,YAAY,EAAE;gBACZ,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,QAAQ,EAAE;gBACR,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,WAAW,CAAC;aACjB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;SACF;KACF;IACD,2BAA2B,EAAE;QAC3B,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,KAAK,EAAE;gBACL,CAAC,EAAE;oBACD,cAAc;oBACd,SAAS;oBACT,WAAW;oBACX,MAAM;oBACN,MAAM;oBACN,UAAU;oBACV,SAAS;oBACT,IAAI;oBACJ,SAAS;oBACT,SAAS;oBACT,UAAU;oBACV,KAAK;oBACL,aAAa;oBACb,QAAQ;oBACR,MAAM;oBACN,aAAa;oBACb,KAAK;oBACL,KAAK;oBACL,MAAM;oBACN,SAAS;oBACT,KAAK;oBACL,YAAY;oBACZ,YAAY;oBACZ,iBAAiB;oBACjB,QAAQ;oBACR,cAAc;oBACd,OAAO;oBACP,UAAU;oBACV,UAAU;oBACV,WAAW;oBACX,YAAY;oBACZ,OAAO;oBACP,QAAQ;oBACR,UAAU;oBACV,OAAO;oBACP,OAAO;oBACP,WAAW;oBACX,aAAa;oBACb,WAAW;oBACX,QAAQ;oBACR,eAAe;oBACf,aAAa;oBACb,iBAAiB;oBACjB,YAAY;oBACZ,qBAAqB;oBACrB,iBAAiB;oBACjB,mBAAmB;oBACnB,cAAc;oBACd,QAAQ;oBACR,MAAM;iBACP;gBACD,CAAC,EAAE,CAAC;aACL;SACF;KACF;IACD,2BAA2B,EAAE;QAC3B,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,OAAO,EAAE;gBACP,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,QAAQ,EAAE;gBACR,CAAC,EAAE,CAAC,IAAI,CAAC;aACV;YACD,QAAQ,EAAE;gBACR,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;YACD,GAAG,EAAE;gBACH,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;SACF;KACF;IACD,2BAA2B,EAAE;QAC3B,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,WAAW,EAAE;gBACX,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,aAAa,EAAE;gBACb,CAAC,EAAE,CAAC,yCAAyC,CAAC;gBAC9C,CAAC,EAAE,CAAC;aACL;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,OAAO,EAAE;gBACP,CAAC,EAAE,CAAC,SAAS,CAAC;aACf;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;SACF;KACF;IACD,yCAAyC,EAAE;QACzC,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;SACF;KACF;IACD,wBAAwB,EAAE;QACxB,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,WAAW,EAAE;gBACX,CAAC,EAAE,CAAC,MAAM,CAAC;gBACX,CAAC,EAAE,CAAC;aACL;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,KAAK,CAAC;aACX;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,OAAO,EAAE;gBACP,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,aAAa,EAAE;gBACb,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,UAAU,EAAE;gBACV,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;SACF;KACF;IACD,UAAU,EAAE;QACV,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,WAAW,EAAE;gBACX,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,UAAU,EAAE;gBACV,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,QAAQ,EAAE;gBACR,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,IAAI,CAAC;aACV;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,KAAK,CAAC;aACX;SACF;KACF;IACD,SAAS,EAAE;QACT,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,GAAG,EAAE;gBACH,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE;oBACD,cAAc;oBACd,SAAS;oBACT,WAAW;oBACX,MAAM;oBACN,MAAM;oBACN,UAAU;oBACV,SAAS;oBACT,IAAI;oBACJ,SAAS;oBACT,SAAS;oBACT,UAAU;oBACV,KAAK;oBACL,aAAa;oBACb,QAAQ;oBACR,MAAM;oBACN,aAAa;oBACb,KAAK;oBACL,KAAK;oBACL,MAAM;oBACN,SAAS;oBACT,KAAK;oBACL,YAAY;oBACZ,YAAY;oBACZ,iBAAiB;oBACjB,QAAQ;oBACR,cAAc;oBACd,OAAO;oBACP,UAAU;oBACV,UAAU;oBACV,WAAW;oBACX,YAAY;oBACZ,OAAO;oBACP,QAAQ;oBACR,UAAU;oBACV,OAAO;oBACP,OAAO;oBACP,WAAW;oBACX,aAAa;oBACb,WAAW;oBACX,QAAQ;oBACR,eAAe;oBACf,aAAa;oBACb,iBAAiB;oBACjB,YAAY;oBACZ,qBAAqB;oBACrB,iBAAiB;oBACjB,mBAAmB;oBACnB,cAAc;oBACd,QAAQ;oBACR,MAAM;iBACP;gBACD,CAAC,EAAE,CAAC;aACL;SACF;KACF;IACD,SAAS,EAAE;QACT,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,QAAQ,CAAC;gBACb,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,QAAQ,CAAC;gBACb,CAAC,EAAE,CAAC;aACL;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,QAAQ,CAAC;gBACb,CAAC,EAAE,CAAC;aACL;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,GAAG,EAAE;gBACH,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;SACF;KACF;IACD,UAAU,EAAE;QACV,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,QAAQ,EAAE;gBACR,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC,cAAc,CAAC;aACpB;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,KAAK,CAAC;aACX;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,iBAAiB,CAAC;aACvB;YACD,GAAG,EAAE;gBACH,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;SACF;KACF;IACD,eAAe,EAAE;QACf,CAAC,EAAE,iBAAiB;QACpB,CAAC,EAAE;YACD,OAAO,EAAE;gBACP,CAAC,EAAE,CAAC,iBAAiB,CAAC;aACvB;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,YAAY,EAAE;gBACZ,CAAC,EAAE,CAAC,iBAAiB,CAAC;aACvB;YACD,iBAAiB,EAAE;gBACjB,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,WAAW,EAAE;gBACX,CAAC,EAAE,CAAC,UAAU,CAAC;aAChB;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,iBAAiB,CAAC;aACvB;SACF;KACF;IACD,IAAI,EAAE;QACJ,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,OAAO,EAAE;gBACP,CAAC,EAAE,CAAC,WAAW,CAAC;aACjB;YACD,QAAQ,EAAE;gBACR,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,WAAW,CAAC;aACjB;YACD,WAAW,EAAE;gBACX,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,OAAO,EAAE;gBACP,CAAC,EAAE,CAAC,SAAS,CAAC;aACf;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,WAAW,EAAE;gBACX,CAAC,EAAE,CAAC,SAAS,CAAC;aACf;YACD,UAAU,EAAE;gBACV,CAAC,EAAE,CAAC,WAAW,CAAC;aACjB;YACD,OAAO,EAAE;gBACP,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,OAAO,EAAE;gBACP,CAAC,EAAE,CAAC,KAAK,CAAC;aACX;YACD,QAAQ,EAAE;gBACR,CAAC,EAAE,CAAC,QAAQ,CAAC;gBACb,CAAC,EAAE,CAAC;aACL;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,KAAK,CAAC;aACX;YACD,GAAG,EAAE;gBACH,CAAC,EAAE,CAAC,QAAQ,CAAC;gBACb,CAAC,EAAE,CAAC;aACL;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,IAAI,CAAC;aACV;SACF;KACF;IACD,KAAK,EAAE;QACL,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,QAAQ,EAAE;gBACR,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,SAAS,CAAC;aACf;SACF;KACF;IACD,aAAa,EAAE;QACb,CAAC,EAAE,UAAU;QACb,CAAC,EAAE,EAAE;KACN;IACD,SAAS,EAAE;QACT,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,GAAG,EAAE;gBACH,CAAC,EAAE,CAAC,OAAO,CAAC;aACb;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;SACF;KACF;IACD,mBAAmB,EAAE;QACnB,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,aAAa,EAAE;gBACb,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,GAAG,EAAE;gBACH,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,GAAG,EAAE;gBACH,CAAC,EAAE,CAAC,SAAS,CAAC;aACf;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;YACD,OAAO,EAAE;gBACP,CAAC,EAAE,CAAC,WAAW,CAAC;aACjB;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;YACD,GAAG,EAAE;gBACH,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;SACF;KACF;IACD,MAAM,EAAE;QACN,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,GAAG,EAAE;gBACH,CAAC,EAAE,CAAC,UAAU,CAAC;aAChB;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,UAAU,CAAC;aAChB;SACF;KACF;IACD,UAAU,EAAE;QACV,CAAC,EAAE,iBAAiB;QACpB,CAAC,EAAE;YACD,GAAG,EAAE;gBACH,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC;gBAC/B,CAAC,EAAE,CAAC;aACL;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,iBAAiB,CAAC;aACvB;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,iBAAiB,EAAE;gBACjB,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,sBAAsB,EAAE;gBACtB,CAAC,EAAE,CAAC,iBAAiB,CAAC;aACvB;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,iBAAiB,CAAC;aACvB;SACF;KACF;IACD,kBAAkB,EAAE;QAClB,CAAC,EAAE,iBAAiB;QACpB,CAAC,EAAE;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,QAAQ,CAAC;gBACb,CAAC,EAAE,CAAC;aACL;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,UAAU,CAAC;aAChB;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,gBAAgB,EAAE;gBAChB,CAAC,EAAE,CAAC,UAAU,CAAC;aAChB;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,UAAU,CAAC;aAChB;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,YAAY,CAAC;gBACjB,CAAC,EAAE,CAAC;aACL;YACD,OAAO,EAAE;gBACP,CAAC,EAAE,CAAC,QAAQ,CAAC;gBACb,CAAC,EAAE,CAAC;aACL;YACD,iBAAiB,EAAE;gBACjB,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,aAAa,EAAE;gBACb,CAAC,EAAE,CAAC,UAAU,CAAC;aAChB;YACD,OAAO,EAAE;gBACP,CAAC,EAAE,CAAC,iBAAiB,CAAC;aACvB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,UAAU,CAAC;aAChB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,UAAU,CAAC;aAChB;SACF;KACF;IACD,gBAAgB,EAAE;QAChB,CAAC,EAAE,iBAAiB;QACpB,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,UAAU,EAAE;gBACV,CAAC,EAAE,CAAC,YAAY,CAAC;aAClB;YACD,iBAAiB,EAAE;gBACjB,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,UAAU,CAAC;aAChB;YACD,4BAA4B,EAAE;gBAC5B,CAAC,EAAE,CAAC,iBAAiB,CAAC;gBACtB,CAAC,EAAE,CAAC;aACL;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,iBAAiB,CAAC;aACvB;SACF;KACF;IACD,QAAQ,EAAE;QACR,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;YACD,UAAU,EAAE;gBACV,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,KAAK,CAAC;aACX;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,SAAS,CAAC;aACf;SACF;KACF;IACD,KAAK,EAAE;QACL,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,UAAU,CAAC;aAChB;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,GAAG,EAAE;gBACH,CAAC,EAAE,CAAC,UAAU,CAAC;aAChB;SACF;KACF;IACD,KAAK,EAAE;QACL,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,WAAW,EAAE;gBACX,CAAC,EAAE,CAAC,UAAU,CAAC;aAChB;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,UAAU,CAAC;aAChB;SACF;KACF;IACD,SAAS,EAAE;QACT,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,OAAO,EAAE;gBACP,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,UAAU,EAAE;gBACV,CAAC,EAAE,CAAC,YAAY,CAAC;aAClB;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,KAAK,CAAC;aACX;SACF;KACF;IACD,eAAe,EAAE;QACf,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,QAAQ,EAAE;gBACR,CAAC,EAAE,CAAC,UAAU,CAAC;aAChB;YACD,OAAO,EAAE;gBACP,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,QAAQ,EAAE;gBACR,CAAC,EAAE,CAAC,YAAY,CAAC;aAClB;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,QAAQ,EAAE;gBACR,CAAC,EAAE,CAAC,WAAW,CAAC;aACjB;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;YACD,GAAG,EAAE;gBACH,CAAC,EAAE,CAAC,KAAK,CAAC;aACX;SACF;KACF;IACD,WAAW,EAAE;QACX,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,UAAU,EAAE;gBACV,CAAC,EAAE,CAAC,aAAa,CAAC;aACnB;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,SAAS,CAAC;aACf;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,UAAU,EAAE;gBACV,CAAC,EAAE,CAAC,SAAS,CAAC;aACf;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,UAAU,CAAC;aAChB;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,SAAS,CAAC;aACf;YACD,UAAU,EAAE;gBACV,CAAC,EAAE,CAAC,SAAS,CAAC;aACf;SACF;KACF;IACD,SAAS,EAAE;QACT,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,cAAc,CAAC;aACpB;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,UAAU,EAAE;gBACV,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,CAAC;aAC9F;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;YACD,YAAY,EAAE;gBACZ,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,QAAQ,CAAC;gBACb,CAAC,EAAE,CAAC;aACL;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,SAAS,CAAC;aACf;YACD,GAAG,EAAE;gBACH,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,CAAC;aAC9F;SACF;KACF;IACD,cAAc,EAAE;QACd,CAAC,EAAE,UAAU;QACb,CAAC,EAAE,EAAE;KACN;IACD,eAAe,EAAE;QACf,CAAC,EAAE,iBAAiB;QACpB,CAAC,EAAE;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC;gBAClC,CAAC,EAAE,CAAC;aACL;YACD,UAAU,EAAE;gBACV,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,UAAU,EAAE;gBACV,CAAC,EAAE,CAAC,iBAAiB,CAAC;aACvB;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,iBAAiB,EAAE;gBACjB,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,cAAc,EAAE;gBACd,CAAC,EAAE,CAAC,gCAAgC,CAAC;aACtC;SACF;KACF;IACD,gCAAgC,EAAE;QAChC,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,UAAU,CAAC;aAChB;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,QAAQ,EAAE;gBACR,CAAC,EAAE,CAAC,UAAU,CAAC;aAChB;SACF;KACF;IACD,MAAM,EAAE;QACN,CAAC,EAAE,iBAAiB;QACpB,CAAC,EAAE;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,iBAAiB,CAAC;aACvB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,UAAU,CAAC;gBACf,CAAC,EAAE,CAAC;aACL;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,iBAAiB,EAAE;gBACjB,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;SACF;KACF;IACD,eAAe,EAAE;QACf,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC;gBAClC,CAAC,EAAE,CAAC;aACL;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,aAAa,CAAC;aACnB;YACD,QAAQ,EAAE;gBACR,CAAC,EAAE,CAAC,aAAa,CAAC;aACnB;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,MAAM,CAAC;gBACX,CAAC,EAAE,CAAC;aACL;YACD,QAAQ,EAAE;gBACR,CAAC,EAAE,CAAC,SAAS,CAAC;aACf;YACD,WAAW,EAAE;gBACX,CAAC,EAAE,CAAC,SAAS,CAAC;aACf;YACD,YAAY,EAAE;gBACZ,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,aAAa,CAAC;aACnB;YACD,YAAY,EAAE;gBACZ,CAAC,EAAE,CAAC,aAAa,CAAC;aACnB;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,aAAa,CAAC;aACnB;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,SAAS,CAAC;aACf;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,SAAS,CAAC;aACf;YACD,UAAU,EAAE;gBACV,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,MAAM,CAAC;gBACX,CAAC,EAAE,CAAC;aACL;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,MAAM,CAAC;gBACX,CAAC,EAAE,CAAC;aACL;SACF;KACF;IACD,iBAAiB,EAAE;QACjB,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,YAAY,CAAC;aAClB;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,iBAAiB,CAAC;gBACtB,CAAC,EAAE,CAAC;aACL;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC;gBAC9C,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC,UAAU,CAAC;aAChB;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,MAAM,CAAC;aACZ;SACF;KACF;IACD,YAAY,EAAE;QACZ,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,QAAQ,CAAC;aACd;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC;gBACxD,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE;oBACD,gBAAgB;oBAChB,eAAe;oBACf,eAAe;oBACf,mBAAmB;oBACnB,OAAO;oBACP,UAAU;oBACV,cAAc;iBACf;aACF;SACF;KACF;IACD,YAAY,EAAE;QACZ,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;SACF;KACF;IACD,OAAO,EAAE;QACP,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,gBAAgB,CAAC;aACtB;SACF;KACF;IACD,SAAS,EAAE;QACT,CAAC,EAAE,KAAK;QACR,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;SACF;KACF;IACD,IAAI,EAAE;QACJ,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;SACF;KACF;IACD,IAAI,EAAE;QACJ,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,aAAa,CAAC;aACnB;SACF;KACF;IACD,QAAQ,EAAE;QACR,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,iBAAiB,CAAC;aACvB;SACF;KACF;IACD,OAAO,EAAE;QACP,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,gBAAgB,CAAC;aACtB;SACF;KACF;IACD,EAAE,EAAE;QACF,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;SACF;KACF;IACD,OAAO,EAAE;QACP,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,iBAAiB,CAAC;aACvB;SACF;KACF;IACD,OAAO,EAAE;QACP,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,gBAAgB,CAAC;aACtB;SACF;KACF;IACD,QAAQ,EAAE;QACR,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;SACF;KACF;IACD,GAAG,EAAE;QACH,CAAC,EAAE,KAAK;QACR,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;SACF;KACF;IACD,WAAW,EAAE;QACX,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;SACF;KACF;IACD,MAAM,EAAE;QACN,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;SACF;KACF;IACD,IAAI,EAAE;QACJ,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,aAAa,CAAC;aACnB;SACF;KACF;IACD,WAAW,EAAE;QACX,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;SACF;KACF;IACD,GAAG,EAAE;QACH,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;SACF;KACF;IACD,GAAG,EAAE;QACH,CAAC,EAAE,KAAK;QACR,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;SACF;KACF;IACD,IAAI,EAAE;QACJ,CAAC,EAAE,KAAK;QACR,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;gBAChB,CAAC,EAAE,CAAC;aACL;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;SACF;KACF;IACD,KAAK,EAAE;QACL,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,WAAW,CAAC;aACjB;YACD,EAAE,EAAE;gBACF,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,eAAe,CAAC;aACrB;SACF;KACF;CACF,CAAA"}
1
+ {"version":3,"file":"types-data.js","sourceRoot":"","sources":["../../../src/r4/generated/types-data.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,kDAAkD;AAElD;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDA4ES,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/r4/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAOtE,OAAO,EAAE,wBAAwB,IAAI,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC1F,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAmCtE,uFAAuF;AACvF,eAAO,MAAM,OAAO,EAAE,aA0DrB,CAAA;AAED,iGAAiG;AACjG,eAAO,MAAM,EAAE;;EAAyC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/r4/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAOtE,OAAO,EAAE,wBAAwB,IAAI,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC1F,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAsCtE,uFAAuF;AACvF,eAAO,MAAM,OAAO,EAAE,aA6DrB,CAAA;AAED,iGAAiG;AACjG,eAAO,MAAM,EAAE;;EAAyC,CAAA"}
package/dist/r4/index.js CHANGED
@@ -1,13 +1,16 @@
1
1
  import { FhirPathEngine } from "../api/engine.js";
2
- import { R4_RESOURCES } from "./generated/resources-data.js";
3
- import { R4_DATA_TYPES } from "./generated/types-data.js";
2
+ import { R4_RESOURCES_COMPACT } from "./generated/resources-data.js";
3
+ import { R4_DATA_TYPES_COMPACT } from "./generated/types-data.js";
4
+ import { CompactTypeTable } from "./model-data.js";
4
5
  // One canonical FHIR-primitive → System map lives in values/typed-value.ts;
5
6
  // re-exported here because the model subpath is where consumers look for it.
6
7
  export { FHIR_PRIMITIVE_TO_SYSTEM as PRIMITIVE_TO_SYSTEM } from "../values/typed-value.js";
7
8
  const NAMESPACE = 'FHIR';
8
9
  const PREFIX = `${NAMESPACE}.`;
10
+ const RESOURCES = new CompactTypeTable(R4_RESOURCES_COMPACT);
11
+ const DATA_TYPES = new CompactTypeTable(R4_DATA_TYPES_COMPACT);
9
12
  function lookupType(name) {
10
- return R4_RESOURCES[name] ?? R4_DATA_TYPES[name];
13
+ return RESOURCES.get(name) ?? DATA_TYPES.get(name);
11
14
  }
12
15
  function localName(canonical) {
13
16
  return canonical.startsWith(PREFIX) ? canonical.slice(PREFIX.length) : canonical;
@@ -73,7 +76,10 @@ export const r4Model = {
73
76
  }
74
77
  current = definition.b;
75
78
  }
76
- return names;
79
+ // The tables carry each inherited element only on the type that declares
80
+ // it, so the walk yields own elements before inherited ones; sorting gives
81
+ // callers one stable order independent of where an element is declared.
82
+ return names.sort();
77
83
  },
78
84
  isSubtypeOf(type, base) {
79
85
  const target = localName(base);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/r4/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/r4/index.ts"],"names":[],"mappings":"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"}
@@ -14,4 +14,21 @@ export interface GeneratedType {
14
14
  b?: string;
15
15
  e: Record<string, GeneratedElement>;
16
16
  }
17
+ /** Encodes a generated table into the compact string form (generator-side; see the format above). */
18
+ export declare function encodeCompactTypes(types: Record<string, GeneratedType>): string;
19
+ /** Eagerly decodes a whole table; for build scripts, not the runtime path. */
20
+ export declare function decodeCompactTypes(encoded: string): Record<string, GeneratedType>;
21
+ /**
22
+ * Lazy view over a compact-encoded table. The line index is built on first
23
+ * lookup and each type is decoded once, on demand, so importing the model costs
24
+ * almost nothing until an expression actually navigates it.
25
+ */
26
+ export declare class CompactTypeTable {
27
+ private readonly encoded;
28
+ private index;
29
+ private readonly decoded;
30
+ constructor(encoded: string);
31
+ get(name: string): GeneratedType | undefined;
32
+ private lines;
33
+ }
17
34
  //# sourceMappingURL=model-data.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-data.d.ts","sourceRoot":"","sources":["../../src/r4/model-data.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,MAAM,WAAW,gBAAgB;IAC/B,uEAAuE;IACvE,CAAC,EAAE,MAAM,EAAE,CAAA;IACX,mDAAmD;IACnD,CAAC,CAAC,EAAE,CAAC,CAAA;IACL,sFAAsF;IACtF,CAAC,CAAC,EAAE,CAAC,CAAA;IACL,kGAAkG;IAClG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAA;CACb;AAED,MAAM,WAAW,aAAa;IAC5B,kEAAkE;IAClE,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CACpC"}
1
+ {"version":3,"file":"model-data.d.ts","sourceRoot":"","sources":["../../src/r4/model-data.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,MAAM,WAAW,gBAAgB;IAC/B,uEAAuE;IACvE,CAAC,EAAE,MAAM,EAAE,CAAA;IACX,mDAAmD;IACnD,CAAC,CAAC,EAAE,CAAC,CAAA;IACL,sFAAsF;IACtF,CAAC,CAAC,EAAE,CAAC,CAAA;IACL,kGAAkG;IAClG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAA;CACb;AAED,MAAM,WAAW,aAAa;IAC5B,kEAAkE;IAClE,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CACpC;AA0BD,qGAAqG;AACrG,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,MAAM,CAmB/E;AAmCD,8EAA8E;AAC9E,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAMjF;AAED;;;;GAIG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;gBAE/C,OAAO,EAAE,MAAM;IAI3B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAc5C,OAAO,CAAC,KAAK;CASd"}
@@ -1,2 +1,119 @@
1
- export {};
1
+ /**
2
+ * The generated tables ship as one compact string instead of an object literal:
3
+ * the string is smaller to download and cheaper to decode than a large literal
4
+ * is to parse, and `CompactTypeTable` decodes one type at a time so only the
5
+ * types an application touches are ever materialized.
6
+ *
7
+ * Format, one line per type:
8
+ *
9
+ * Name|Base|element:type1,type2*^<Target1,Target2;element2:type
10
+ *
11
+ * `*` marks a collection (`a: 1`), `^` a choice element (`c: 1`), and `<`
12
+ * starts the Reference target list (`r`). An empty Base segment means the type
13
+ * has no base. Elements identical to the nearest ancestor's entry are omitted
14
+ * by the generator; lookups walk the base chain (see index.ts).
15
+ */
16
+ const RESERVED_IN_COMPACT = /[|;:,*^<\n\\`$]/;
17
+ function assertCompactSafe(name) {
18
+ if (RESERVED_IN_COMPACT.test(name)) {
19
+ throw new Error(`name contains a character reserved by the compact model encoding: ${name}`);
20
+ }
21
+ return name;
22
+ }
23
+ /** Encodes a generated table into the compact string form (generator-side; see the format above). */
24
+ export function encodeCompactTypes(types) {
25
+ const lines = [];
26
+ for (const [name, type] of Object.entries(types)) {
27
+ const elements = Object.entries(type.e).map(([element, info]) => {
28
+ let entry = `${assertCompactSafe(element)}:${info.t.map(assertCompactSafe).join(',')}`;
29
+ if (info.a === 1) {
30
+ entry += '*';
31
+ }
32
+ if (info.c === 1) {
33
+ entry += '^';
34
+ }
35
+ if (info.r !== undefined) {
36
+ entry += `<${info.r.map(assertCompactSafe).join(',')}`;
37
+ }
38
+ return entry;
39
+ });
40
+ lines.push(`${assertCompactSafe(name)}|${assertCompactSafe(type.b ?? '')}|${elements.join(';')}`);
41
+ }
42
+ return lines.join('\n');
43
+ }
44
+ /** Decodes the segment after the second `|` of a line. */
45
+ function decodeTypeLine(line) {
46
+ const baseStart = line.indexOf('|') + 1;
47
+ const baseEnd = line.indexOf('|', baseStart);
48
+ const base = line.slice(baseStart, baseEnd);
49
+ const e = {};
50
+ const body = line.slice(baseEnd + 1);
51
+ if (body !== '') {
52
+ for (const entry of body.split(';')) {
53
+ const colon = entry.indexOf(':');
54
+ const name = entry.slice(0, colon);
55
+ let rest = entry.slice(colon + 1);
56
+ const element = { t: [] };
57
+ const targetsStart = rest.indexOf('<');
58
+ if (targetsStart >= 0) {
59
+ element.r = rest.slice(targetsStart + 1).split(',');
60
+ rest = rest.slice(0, targetsStart);
61
+ }
62
+ if (rest.endsWith('^')) {
63
+ element.c = 1;
64
+ rest = rest.slice(0, -1);
65
+ }
66
+ if (rest.endsWith('*')) {
67
+ element.a = 1;
68
+ rest = rest.slice(0, -1);
69
+ }
70
+ element.t = rest.split(',');
71
+ e[name] = element;
72
+ }
73
+ }
74
+ return base === '' ? { e } : { b: base, e };
75
+ }
76
+ /** Eagerly decodes a whole table; for build scripts, not the runtime path. */
77
+ export function decodeCompactTypes(encoded) {
78
+ const types = {};
79
+ for (const line of encoded.split('\n')) {
80
+ types[line.slice(0, line.indexOf('|'))] = decodeTypeLine(line);
81
+ }
82
+ return types;
83
+ }
84
+ /**
85
+ * Lazy view over a compact-encoded table. The line index is built on first
86
+ * lookup and each type is decoded once, on demand, so importing the model costs
87
+ * almost nothing until an expression actually navigates it.
88
+ */
89
+ export class CompactTypeTable {
90
+ encoded;
91
+ index;
92
+ decoded = new Map();
93
+ constructor(encoded) {
94
+ this.encoded = encoded;
95
+ }
96
+ get(name) {
97
+ const cached = this.decoded.get(name);
98
+ if (cached !== undefined) {
99
+ return cached;
100
+ }
101
+ const line = this.lines().get(name);
102
+ if (line === undefined) {
103
+ return undefined;
104
+ }
105
+ const type = decodeTypeLine(line);
106
+ this.decoded.set(name, type);
107
+ return type;
108
+ }
109
+ lines() {
110
+ if (this.index === undefined) {
111
+ this.index = new Map();
112
+ for (const line of this.encoded.split('\n')) {
113
+ this.index.set(line.slice(0, line.indexOf('|')), line);
114
+ }
115
+ }
116
+ return this.index;
117
+ }
118
+ }
2
119
  //# sourceMappingURL=model-data.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-data.js","sourceRoot":"","sources":["../../src/r4/model-data.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"model-data.js","sourceRoot":"","sources":["../../src/r4/model-data.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * a separate ESTree walker that uses the same expression policy.
5
5
  */
6
6
  import type TS from 'typescript';
7
- import { type FileColumnFunction, type LocalModuleOptions } from '../analyzer/expression-policy.ts';
7
+ import { type FileColumnFunction, type LocalModuleOptions, type SiteContext } from '../analyzer/expression-policy.ts';
8
8
  /** The TypeScript namespace accepted by `createSiteFinder`. */
9
9
  export type TypeScriptApi = typeof TS;
10
10
  export interface ExpressionSite {
@@ -17,15 +17,44 @@ export interface ExpressionSite {
17
17
  inputType?: string;
18
18
  /** A DTO member site, which `analyzeSite` checks with source-only limits. */
19
19
  dto?: true;
20
+ /** Inline per-call environment and row-variable declarations visible to this expression. */
21
+ variables?: NonNullable<SiteContext['variables']>;
22
+ /** Ordered per-call vars, interpreted together with loaded engine defaults by analyzeSite. */
23
+ variablePlan?: NonNullable<SiteContext['variablePlan']>;
24
+ /** The call binds variables the source cannot name (a computed key or spread) — see `SiteContext`. */
25
+ openVariables?: true;
20
26
  /** Callable DTO columns declared in the same file. */
21
27
  functions?: Readonly<Record<string, FileColumnFunction>>;
22
28
  }
29
+ export interface SkippedExpressionSite {
30
+ /** Stable reason suitable for CLI/editor policy. */
31
+ reason: 'dynamic-expression' | 'unrecognized-receiver';
32
+ message: string;
33
+ line: number;
34
+ column: number;
35
+ }
36
+ export interface DtoSourceDeclaration {
37
+ name: string;
38
+ line: number;
39
+ column: number;
40
+ /** True when importing the module can enumerate this class, directly or through an exported subclass. */
41
+ loadable: boolean;
42
+ }
43
+ export interface SiteScanResult {
44
+ sites: ExpressionSite[];
45
+ skipped: SkippedExpressionSite[];
46
+ dtoDeclarations: DtoSourceDeclaration[];
47
+ }
23
48
  /** Finds every static FHIRPath expression in one source file. */
24
49
  export type SiteFinder = (sourceText: string, fileName: string, options?: LocalModuleOptions) => ExpressionSite[];
50
+ /** Scans expressions plus coverage gaps that a caller may choose to report. */
51
+ export type SiteScanner = (sourceText: string, fileName: string, options?: LocalModuleOptions) => SiteScanResult;
25
52
  /**
26
53
  * Creates a finder for the calls and tags in `CALL_SITES`. DTO fields include a
27
54
  * root type when the class declares one, and each column is exposed as a local
28
55
  * function declaration. Dynamic expressions are skipped.
29
56
  */
30
- export declare function createSiteFinder(ts: TypeScriptApi): SiteFinder;
57
+ export declare function createSiteScanner(ts: TypeScriptApi, program?: TS.Program): SiteScanner;
58
+ /** Creates the compatibility finder that returns only expressions successfully extracted. */
59
+ export declare function createSiteFinder(ts: TypeScriptApi, program?: TS.Program): SiteFinder;
31
60
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sites/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAA;AAEhC,OAAO,EAUL,KAAK,kBAAkB,EAIvB,KAAK,kBAAkB,EAMxB,MAAM,kCAAkC,CAAA;AAEzC,+DAA+D;AAC/D,MAAM,MAAM,aAAa,GAAG,OAAO,EAAE,CAAA;AAErC,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,6EAA6E;IAC7E,GAAG,CAAC,EAAE,IAAI,CAAA;IACV,sDAAsD;IACtD,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAA;CACzD;AAED,iEAAiE;AACjE,MAAM,MAAM,UAAU,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,KAAK,cAAc,EAAE,CAAA;AAEjH;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,aAAa,GAAG,UAAU,CAiO9D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sites/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAA;AAEhC,OAAO,EAYL,KAAK,kBAAkB,EAIvB,KAAK,kBAAkB,EAEvB,KAAK,WAAW,EAGjB,MAAM,kCAAkC,CAAA;AAEzC,+DAA+D;AAC/D,MAAM,MAAM,aAAa,GAAG,OAAO,EAAE,CAAA;AAErC,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,6EAA6E;IAC7E,GAAG,CAAC,EAAE,IAAI,CAAA;IACV,4FAA4F;IAC5F,SAAS,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAA;IACjD,8FAA8F;IAC9F,YAAY,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAA;IACvD,sGAAsG;IACtG,aAAa,CAAC,EAAE,IAAI,CAAA;IACpB,sDAAsD;IACtD,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAA;CACzD;AAED,MAAM,WAAW,qBAAqB;IACpC,oDAAoD;IACpD,MAAM,EAAE,oBAAoB,GAAG,uBAAuB,CAAA;IACtD,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,yGAAyG;IACzG,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,OAAO,EAAE,qBAAqB,EAAE,CAAA;IAChC,eAAe,EAAE,oBAAoB,EAAE,CAAA;CACxC;AAED,iEAAiE;AACjE,MAAM,MAAM,UAAU,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,KAAK,cAAc,EAAE,CAAA;AAEjH,+EAA+E;AAC/E,MAAM,MAAM,WAAW,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,KAAK,cAAc,CAAA;AAEhH;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,GAAG,WAAW,CA+jBtF;AAED,6FAA6F;AAC7F,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,GAAG,UAAU,CAGpF"}