equilibria-mcp-server 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/CHANGELOG.md +142 -0
  2. package/LICENSE +21 -0
  3. package/README.md +240 -0
  4. package/dist/builders/YAMLBuilder.d.ts +77 -0
  5. package/dist/builders/YAMLBuilder.d.ts.map +1 -0
  6. package/dist/builders/YAMLBuilder.js +251 -0
  7. package/dist/builders/YAMLBuilder.js.map +1 -0
  8. package/dist/economics/constants.d.ts +39 -0
  9. package/dist/economics/constants.d.ts.map +1 -0
  10. package/dist/economics/constants.js +46 -0
  11. package/dist/economics/constants.js.map +1 -0
  12. package/dist/economics/formulas.d.ts +19 -0
  13. package/dist/economics/formulas.d.ts.map +1 -0
  14. package/dist/economics/formulas.js +260 -0
  15. package/dist/economics/formulas.js.map +1 -0
  16. package/dist/economics/index.d.ts +9 -0
  17. package/dist/economics/index.d.ts.map +1 -0
  18. package/dist/economics/index.js +9 -0
  19. package/dist/economics/index.js.map +1 -0
  20. package/dist/economics/validators.d.ts +18 -0
  21. package/dist/economics/validators.d.ts.map +1 -0
  22. package/dist/economics/validators.js +111 -0
  23. package/dist/economics/validators.js.map +1 -0
  24. package/dist/errors/index.d.ts +172 -0
  25. package/dist/errors/index.d.ts.map +1 -0
  26. package/dist/errors/index.js +313 -0
  27. package/dist/errors/index.js.map +1 -0
  28. package/dist/formatters/index.d.ts +8 -0
  29. package/dist/formatters/index.d.ts.map +1 -0
  30. package/dist/formatters/index.js +8 -0
  31. package/dist/formatters/index.js.map +1 -0
  32. package/dist/formatters/redux.d.ts +15 -0
  33. package/dist/formatters/redux.d.ts.map +1 -0
  34. package/dist/formatters/redux.js +35 -0
  35. package/dist/formatters/redux.js.map +1 -0
  36. package/dist/formatters/yaml.d.ts +18 -0
  37. package/dist/formatters/yaml.d.ts.map +1 -0
  38. package/dist/formatters/yaml.js +40 -0
  39. package/dist/formatters/yaml.js.map +1 -0
  40. package/dist/index.d.ts +11 -0
  41. package/dist/index.d.ts.map +1 -0
  42. package/dist/index.js +19 -0
  43. package/dist/index.js.map +1 -0
  44. package/dist/server.d.ts +14 -0
  45. package/dist/server.d.ts.map +1 -0
  46. package/dist/server.js +86 -0
  47. package/dist/server.js.map +1 -0
  48. package/dist/templates/advancedMicro.d.ts +8 -0
  49. package/dist/templates/advancedMicro.d.ts.map +1 -0
  50. package/dist/templates/advancedMicro.js +834 -0
  51. package/dist/templates/advancedMicro.js.map +1 -0
  52. package/dist/templates/consumer.d.ts +12 -0
  53. package/dist/templates/consumer.d.ts.map +1 -0
  54. package/dist/templates/consumer.js +1978 -0
  55. package/dist/templates/consumer.js.map +1 -0
  56. package/dist/templates/elasticity.d.ts +8 -0
  57. package/dist/templates/elasticity.d.ts.map +1 -0
  58. package/dist/templates/elasticity.js +500 -0
  59. package/dist/templates/elasticity.js.map +1 -0
  60. package/dist/templates/externalities.d.ts +11 -0
  61. package/dist/templates/externalities.d.ts.map +1 -0
  62. package/dist/templates/externalities.js +997 -0
  63. package/dist/templates/externalities.js.map +1 -0
  64. package/dist/templates/financeBehavioral.d.ts +8 -0
  65. package/dist/templates/financeBehavioral.d.ts.map +1 -0
  66. package/dist/templates/financeBehavioral.js +860 -0
  67. package/dist/templates/financeBehavioral.js.map +1 -0
  68. package/dist/templates/growth.d.ts +8 -0
  69. package/dist/templates/growth.d.ts.map +1 -0
  70. package/dist/templates/growth.js +740 -0
  71. package/dist/templates/growth.js.map +1 -0
  72. package/dist/templates/index.d.ts +31 -0
  73. package/dist/templates/index.d.ts.map +1 -0
  74. package/dist/templates/index.js +91 -0
  75. package/dist/templates/index.js.map +1 -0
  76. package/dist/templates/inequality.d.ts +8 -0
  77. package/dist/templates/inequality.d.ts.map +1 -0
  78. package/dist/templates/inequality.js +562 -0
  79. package/dist/templates/inequality.js.map +1 -0
  80. package/dist/templates/intertemporalMacro.d.ts +8 -0
  81. package/dist/templates/intertemporalMacro.d.ts.map +1 -0
  82. package/dist/templates/intertemporalMacro.js +550 -0
  83. package/dist/templates/intertemporalMacro.js.map +1 -0
  84. package/dist/templates/isLM.d.ts +8 -0
  85. package/dist/templates/isLM.d.ts.map +1 -0
  86. package/dist/templates/isLM.js +747 -0
  87. package/dist/templates/isLM.js.map +1 -0
  88. package/dist/templates/macro.d.ts +8 -0
  89. package/dist/templates/macro.d.ts.map +1 -0
  90. package/dist/templates/macro.js +600 -0
  91. package/dist/templates/macro.js.map +1 -0
  92. package/dist/templates/marketStructures.d.ts +11 -0
  93. package/dist/templates/marketStructures.d.ts.map +1 -0
  94. package/dist/templates/marketStructures.js +1135 -0
  95. package/dist/templates/marketStructures.js.map +1 -0
  96. package/dist/templates/newKeynesian.d.ts +8 -0
  97. package/dist/templates/newKeynesian.d.ts.map +1 -0
  98. package/dist/templates/newKeynesian.js +633 -0
  99. package/dist/templates/newKeynesian.js.map +1 -0
  100. package/dist/templates/oligopoly.d.ts +11 -0
  101. package/dist/templates/oligopoly.d.ts.map +1 -0
  102. package/dist/templates/oligopoly.js +1113 -0
  103. package/dist/templates/oligopoly.js.map +1 -0
  104. package/dist/templates/ppf.d.ts +8 -0
  105. package/dist/templates/ppf.d.ts.map +1 -0
  106. package/dist/templates/ppf.js +439 -0
  107. package/dist/templates/ppf.js.map +1 -0
  108. package/dist/templates/producer.d.ts +11 -0
  109. package/dist/templates/producer.d.ts.map +1 -0
  110. package/dist/templates/producer.js +979 -0
  111. package/dist/templates/producer.js.map +1 -0
  112. package/dist/templates/production.d.ts +8 -0
  113. package/dist/templates/production.d.ts.map +1 -0
  114. package/dist/templates/production.js +574 -0
  115. package/dist/templates/production.js.map +1 -0
  116. package/dist/templates/supplyDemand.d.ts +8 -0
  117. package/dist/templates/supplyDemand.d.ts.map +1 -0
  118. package/dist/templates/supplyDemand.js +1282 -0
  119. package/dist/templates/supplyDemand.js.map +1 -0
  120. package/dist/templates/tradeGrowth.d.ts +8 -0
  121. package/dist/templates/tradeGrowth.d.ts.map +1 -0
  122. package/dist/templates/tradeGrowth.js +637 -0
  123. package/dist/templates/tradeGrowth.js.map +1 -0
  124. package/dist/tools/index.d.ts +25 -0
  125. package/dist/tools/index.d.ts.map +1 -0
  126. package/dist/tools/index.js +54 -0
  127. package/dist/tools/index.js.map +1 -0
  128. package/dist/tools/models.d.ts +8 -0
  129. package/dist/tools/models.d.ts.map +1 -0
  130. package/dist/tools/models.js +828 -0
  131. package/dist/tools/models.js.map +1 -0
  132. package/dist/tools/output.d.ts +8 -0
  133. package/dist/tools/output.d.ts.map +1 -0
  134. package/dist/tools/output.js +236 -0
  135. package/dist/tools/output.js.map +1 -0
  136. package/dist/tools/templates.d.ts +8 -0
  137. package/dist/tools/templates.d.ts.map +1 -0
  138. package/dist/tools/templates.js +247 -0
  139. package/dist/tools/templates.js.map +1 -0
  140. package/dist/tools/validation.d.ts +8 -0
  141. package/dist/tools/validation.d.ts.map +1 -0
  142. package/dist/tools/validation.js +181 -0
  143. package/dist/tools/validation.js.map +1 -0
  144. package/dist/types/index.d.ts +187 -0
  145. package/dist/types/index.d.ts.map +1 -0
  146. package/dist/types/index.js +7 -0
  147. package/dist/types/index.js.map +1 -0
  148. package/dist/utils/cache.d.ts +99 -0
  149. package/dist/utils/cache.d.ts.map +1 -0
  150. package/dist/utils/cache.js +192 -0
  151. package/dist/utils/cache.js.map +1 -0
  152. package/dist/utils/index.d.ts +8 -0
  153. package/dist/utils/index.d.ts.map +1 -0
  154. package/dist/utils/index.js +8 -0
  155. package/dist/utils/index.js.map +1 -0
  156. package/dist/utils/logger.d.ts +128 -0
  157. package/dist/utils/logger.d.ts.map +1 -0
  158. package/dist/utils/logger.js +251 -0
  159. package/dist/utils/logger.js.map +1 -0
  160. package/dist/validation/index.d.ts +42 -0
  161. package/dist/validation/index.d.ts.map +1 -0
  162. package/dist/validation/index.js +282 -0
  163. package/dist/validation/index.js.map +1 -0
  164. package/package.json +73 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isLM.js","sourceRoot":"","sources":["../../src/templates/isLM.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH;;;GAGG;AACH,MAAM,SAAS,GAAkB;IAC/B,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,aAAa;IACnB,WAAW,EACT,gFAAgF;IAClF,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,eAAe;IACtB,IAAI,EAAE,CAAC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,CAAC;IAChF,UAAU,EAAE;QACV,kBAAkB,EAAE;YAClB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,GAAG;YACZ,WAAW,EAAE,mCAAmC;SACjD;QACD,GAAG,EAAE;YACH,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,GAAG;YACZ,WAAW,EAAE,gCAAgC;SAC9C;QACD,qBAAqB,EAAE;YACrB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,yCAAyC;SACvD;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,GAAG;YACZ,WAAW,EAAE,yBAAyB;SACvC;QACD,iBAAiB,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,GAAG;YACZ,WAAW,EAAE,qCAAqC;SACnD;QACD,mBAAmB,EAAE;YACnB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,GAAG;YACZ,WAAW,EAAE,uCAAuC;SACrD;KACF;IACD,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;QACnB,MAAM,CAAC,GAAI,MAAM,CAAC,kBAA6B,IAAI,GAAG,CAAC;QACvD,MAAM,CAAC,GAAI,MAAM,CAAC,GAAc,IAAI,GAAG,CAAC;QACxC,MAAM,CAAC,GAAI,MAAM,CAAC,qBAAgC,IAAI,EAAE,CAAC;QACzD,MAAM,CAAC,GAAI,MAAM,CAAC,WAAsB,IAAI,GAAG,CAAC;QAChD,MAAM,CAAC,GAAI,MAAM,CAAC,iBAA4B,IAAI,GAAG,CAAC;QACtD,MAAM,CAAC,GAAI,MAAM,CAAC,mBAA8B,IAAI,GAAG,CAAC;QAExD,OAAO;YACL,QAAQ,EAAE;gBACR,WAAW,EAAE,KAAK;gBAClB,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,qDAAqD;aACnE;YACD,UAAU,EAAE;gBACV,sBAAsB;gBACtB,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;gBACjE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC9D,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;gBACnE,sBAAsB;gBACtB,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;gBAChE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE;gBACzE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;gBACjE,aAAa;gBACb,IAAI,EAAE;oBACJ,UAAU,EAAE,aAAa;oBACzB,KAAK,EAAE,YAAY;oBACnB,QAAQ,EAAE,IAAI;iBACf;gBACD,2BAA2B;gBAC3B,IAAI,EAAE;oBACJ,UAAU,EAAE,6CAA6C;oBACzD,KAAK,EAAE,oBAAoB;oBAC3B,QAAQ,EAAE,IAAI;iBACf;gBACD,IAAI,EAAE;oBACJ,UAAU,EAAE,oBAAoB;oBAChC,KAAK,EAAE,2BAA2B;oBAClC,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,MAAM,EAAE;gBACN;oBACE,EAAE,EAAE,MAAM;oBACV,KAAK,EAAE,aAAa;oBACpB,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,gBAAgB,EAAE;oBAC7D,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;oBACtD,QAAQ,EAAE;wBACR,6EAA6E;wBAC7E;4BACE,EAAE,EAAE,IAAI;4BACR,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,wBAAwB;4BAClC,KAAK,EAAE,SAAS;4BAChB,WAAW,EAAE,CAAC;4BACd,KAAK,EAAE,IAAI;4BACX,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE;yBACnE;wBACD,8BAA8B;wBAC9B;4BACE,EAAE,EAAE,IAAI;4BACR,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,iBAAiB;4BAC3B,KAAK,EAAE,SAAS;4BAChB,WAAW,EAAE,CAAC;4BACd,KAAK,EAAE,IAAI;4BACX,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE;yBACnE;wBACD,oBAAoB;wBACpB;4BACE,EAAE,EAAE,aAAa;4BACjB,IAAI,EAAE,OAAO;4BACb,CAAC,EAAE,MAAM;4BACT,CAAC,EAAE,MAAM;4BACT,KAAK,EAAE,SAAS;4BAChB,IAAI,EAAE,EAAE;4BACR,KAAK,EAAE,GAAG;4BACV,SAAS,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE;yBAChC;qBACF;oBACD,WAAW,EAAE;wBACX;4BACE,EAAE,EAAE,mBAAmB;4BACvB,IAAI,EAAE,qCAAqC;4BAC3C,CAAC,EAAE,YAAY;4BACf,CAAC,EAAE,UAAU;4BACb,KAAK,EAAE,SAAS;yBACjB;qBACF;iBACF;aACF;SAC+B,CAAC;IACrC,CAAC;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,gBAAgB,GAAkB;IACtC,EAAE,EAAE,qBAAqB;IACzB,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EACT,mFAAmF;IACrF,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,eAAe;IACtB,IAAI,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,cAAc,CAAC;IACvE,UAAU,EAAE;QACV,eAAe,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,GAAG;YACZ,WAAW,EAAE,6BAA6B;SAC3C;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,oCAAoC;SAClD;QACD,GAAG,EAAE;YACH,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,GAAG;YACZ,WAAW,EAAE,gCAAgC;SAC9C;KACF;IACD,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;QACnB,MAAM,EAAE,GAAI,MAAM,CAAC,eAA0B,IAAI,GAAG,CAAC;QACrD,MAAM,EAAE,GAAI,MAAM,CAAC,YAAuB,IAAI,EAAE,CAAC;QACjD,MAAM,CAAC,GAAI,MAAM,CAAC,GAAc,IAAI,GAAG,CAAC;QAExC,OAAO;YACL,QAAQ,EAAE;gBACR,WAAW,EAAE,KAAK;gBAClB,KAAK,EAAE,sBAAsB;gBAC7B,WAAW,EAAE,2CAA2C;aACzD;YACD,UAAU,EAAE;gBACV,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE;gBAC5C,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;gBACnD,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACpE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC9D,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE;gBACjD,IAAI,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACxE,eAAe;gBACf,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE;gBACxC,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC7B,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC7B,sBAAsB;gBACtB,EAAE,EAAE;oBACF,UAAU,EAAE,8CAA8C;oBAC1D,KAAK,EAAE,WAAW;oBAClB,QAAQ,EAAE,IAAI;iBACf;gBACD,EAAE,EAAE;oBACF,UAAU,EAAE,kBAAkB;oBAC9B,KAAK,EAAE,WAAW;oBAClB,QAAQ,EAAE,IAAI;iBACf;gBACD,kBAAkB;gBAClB,EAAE,EAAE;oBACF,UAAU,EAAE,8CAA8C;oBAC1D,KAAK,EAAE,OAAO;oBACd,QAAQ,EAAE,IAAI;iBACf;gBACD,EAAE,EAAE;oBACF,UAAU,EAAE,kBAAkB;oBAC9B,KAAK,EAAE,OAAO;oBACd,QAAQ,EAAE,IAAI;iBACf;gBACD,eAAe;gBACf,WAAW,EAAE;oBACX,UAAU,EAAE,uBAAuB;oBACnC,KAAK,EAAE,cAAc;oBACrB,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,MAAM,EAAE;gBACN;oBACE,EAAE,EAAE,MAAM;oBACV,KAAK,EAAE,sBAAsB;oBAC7B,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,0BAA0B,EAAE;oBACvE,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;oBACtD,QAAQ,EAAE;wBACR,aAAa;wBACb;4BACE,EAAE,EAAE,KAAK;4BACT,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,yBAAyB;4BACnC,KAAK,EAAE,SAAS;4BAChB,SAAS,EAAE,QAAQ;4BACnB,WAAW,EAAE,CAAC;4BACd,KAAK,EAAE,KAAK;yBACb;wBACD,SAAS;wBACT;4BACE,EAAE,EAAE,KAAK;4BACT,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,yBAAyB;4BACnC,KAAK,EAAE,SAAS;4BAChB,WAAW,EAAE,CAAC;4BACd,KAAK,EAAE,KAAK;yBACb;wBACD,iBAAiB;wBACjB;4BACE,EAAE,EAAE,IAAI;4BACR,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,iBAAiB;4BAC3B,KAAK,EAAE,SAAS;4BAChB,WAAW,EAAE,CAAC;4BACd,KAAK,EAAE,IAAI;yBACZ;wBACD,sBAAsB;wBACtB;4BACE,EAAE,EAAE,KAAK;4BACT,IAAI,EAAE,OAAO;4BACb,CAAC,EAAE,IAAI;4BACP,CAAC,EAAE,IAAI;4BACP,KAAK,EAAE,SAAS;4BAChB,KAAK,EAAE,IAAI;yBACZ;wBACD,kBAAkB;wBAClB;4BACE,EAAE,EAAE,KAAK;4BACT,IAAI,EAAE,OAAO;4BACb,CAAC,EAAE,IAAI;4BACP,CAAC,EAAE,IAAI;4BACP,KAAK,EAAE,SAAS;4BAChB,IAAI,EAAE,EAAE;4BACR,KAAK,EAAE,IAAI;4BACX,SAAS,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE;yBAChC;qBACF;oBACD,WAAW,EAAE;wBACX;4BACE,EAAE,EAAE,aAAa;4BACjB,IAAI,EAAE,8BAA8B;4BACpC,CAAC,EAAE,sBAAsB;4BACzB,CAAC,EAAE,EAAE;4BACL,KAAK,EAAE,SAAS;yBACjB;wBACD;4BACE,EAAE,EAAE,gBAAgB;4BACpB,IAAI,EAAE,mCAAmC;4BACzC,CAAC,EAAE,UAAU;4BACb,CAAC,EAAE,UAAU;4BACb,KAAK,EAAE,SAAS;yBACjB;qBACF;iBACF;aACF;SAC+B,CAAC;IACrC,CAAC;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,kBAAkB,GAAkB;IACxC,EAAE,EAAE,uBAAuB;IAC3B,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EACT,uEAAuE;IACzE,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,eAAe;IACtB,IAAI,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,CAAC;IACnE,UAAU,EAAE;QACV,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,GAAG;YACZ,WAAW,EAAE,4BAA4B;SAC1C;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,GAAG;YACZ,WAAW,EAAE,6BAA6B;SAC3C;KACF;IACD,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;QACnB,MAAM,EAAE,GAAI,MAAM,CAAC,YAAuB,IAAI,GAAG,CAAC;QAClD,MAAM,EAAE,GAAI,MAAM,CAAC,WAAsB,IAAI,GAAG,CAAC;QAEjD,OAAO;YACL,QAAQ,EAAE;gBACR,WAAW,EAAE,KAAK;gBAClB,KAAK,EAAE,wBAAwB;gBAC/B,WAAW,EAAE,6CAA6C;aAC3D;YACD,UAAU,EAAE;gBACV,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,qBAAqB,EAAE;gBAC/C,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC/B,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE;gBACjD,IAAI,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACxE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;gBACpE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;gBACnD,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACxE,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC7B,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC7B,sBAAsB;gBACtB,EAAE,EAAE;oBACF,UAAU,EAAE,8CAA8C;oBAC1D,KAAK,EAAE,WAAW;oBAClB,QAAQ,EAAE,IAAI;iBACf;gBACD,EAAE,EAAE;oBACF,UAAU,EAAE,mBAAmB;oBAC/B,KAAK,EAAE,WAAW;oBAClB,QAAQ,EAAE,IAAI;iBACf;gBACD,kBAAkB;gBAClB,EAAE,EAAE;oBACF,UAAU,EAAE,8CAA8C;oBAC1D,KAAK,EAAE,OAAO;oBACd,QAAQ,EAAE,IAAI;iBACf;gBACD,EAAE,EAAE;oBACF,UAAU,EAAE,mBAAmB;oBAC/B,KAAK,EAAE,OAAO;oBACd,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,MAAM,EAAE;gBACN;oBACE,EAAE,EAAE,MAAM;oBACV,KAAK,EAAE,wBAAwB;oBAC/B,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,gBAAgB,EAAE;oBAC7D,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;oBACvD,QAAQ,EAAE;wBACR,iBAAiB;wBACjB;4BACE,EAAE,EAAE,IAAI;4BACR,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,wBAAwB;4BAClC,KAAK,EAAE,SAAS;4BAChB,WAAW,EAAE,CAAC;4BACd,KAAK,EAAE,IAAI;yBACZ;wBACD,aAAa;wBACb;4BACE,EAAE,EAAE,KAAK;4BACT,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,kBAAkB;4BAC5B,KAAK,EAAE,SAAS;4BAChB,SAAS,EAAE,QAAQ;4BACnB,WAAW,EAAE,CAAC;4BACd,KAAK,EAAE,KAAK;yBACb;wBACD,SAAS;wBACT;4BACE,EAAE,EAAE,KAAK;4BACT,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,kBAAkB;4BAC5B,KAAK,EAAE,SAAS;4BAChB,WAAW,EAAE,CAAC;4BACd,KAAK,EAAE,KAAK;yBACb;wBACD,sBAAsB;wBACtB;4BACE,EAAE,EAAE,KAAK;4BACT,IAAI,EAAE,OAAO;4BACb,CAAC,EAAE,IAAI;4BACP,CAAC,EAAE,IAAI;4BACP,KAAK,EAAE,SAAS;4BAChB,KAAK,EAAE,IAAI;yBACZ;wBACD,kBAAkB;wBAClB;4BACE,EAAE,EAAE,KAAK;4BACT,IAAI,EAAE,OAAO;4BACb,CAAC,EAAE,IAAI;4BACP,CAAC,EAAE,IAAI;4BACP,KAAK,EAAE,SAAS;4BAChB,IAAI,EAAE,EAAE;4BACR,KAAK,EAAE,IAAI;4BACX,SAAS,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE;yBAChC;qBACF;oBACD,WAAW,EAAE;wBACX;4BACE,EAAE,EAAE,aAAa;4BACjB,IAAI,EAAE,qDAAqD;4BAC3D,CAAC,EAAE,gBAAgB;4BACnB,CAAC,EAAE,EAAE;4BACL,KAAK,EAAE,SAAS;yBACjB;wBACD;4BACE,EAAE,EAAE,cAAc;4BAClB,IAAI,EAAE,2CAA2C;4BACjD,CAAC,EAAE,UAAU;4BACb,CAAC,EAAE,UAAU;4BACb,KAAK,EAAE,SAAS;yBACjB;qBACF;iBACF;aACF;SAC+B,CAAC;IACrC,CAAC;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,aAAa,GAAkB;IACnC,EAAE,EAAE,kBAAkB;IACtB,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,sEAAsE;IACxE,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,eAAe;IACtB,IAAI,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,CAAC;IACjF,UAAU,EAAE;QACV,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,oCAAoC;SAClD;QACD,cAAc,EAAE;YACd,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,6BAA6B;SAC3C;KACF;IACD,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;QACnB,MAAM,EAAE,GAAI,MAAM,CAAC,YAAuB,IAAI,EAAE,CAAC;QACjD,MAAM,EAAE,GAAI,MAAM,CAAC,cAAyB,IAAI,EAAE,CAAC;QAEnD,OAAO;YACL,QAAQ,EAAE;gBACR,WAAW,EAAE,KAAK;gBAClB,KAAK,EAAE,mBAAmB;gBAC1B,WAAW,EAAE,wCAAwC;aACtD;YACD,UAAU,EAAE;gBACV,kBAAkB;gBAClB,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,kBAAkB,EAAE;gBAC7C,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,sBAAsB,EAAE;gBACjD,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC/B,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE;gBAC3C,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC7B,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC7B,IAAI,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE;gBACjD,iBAAiB;gBACjB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;gBAClD,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;gBACnD,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE;gBAC3C,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE;gBAC3C,sBAAsB;gBACtB,EAAE,EAAE;oBACF,UAAU,EAAE,+CAA+C;oBAC3D,KAAK,EAAE,WAAW;oBAClB,QAAQ,EAAE,IAAI;iBACf;gBACD,EAAE,EAAE;oBACF,UAAU,EAAE,mBAAmB;oBAC/B,KAAK,EAAE,eAAe;oBACtB,QAAQ,EAAE,IAAI;iBACf;gBACD,oBAAoB;gBACpB,EAAE,EAAE;oBACF,UAAU,EAAE,+CAA+C;oBAC3D,KAAK,EAAE,SAAS;oBAChB,QAAQ,EAAE,IAAI;iBACf;gBACD,EAAE,EAAE;oBACF,UAAU,EAAE,mBAAmB;oBAC/B,KAAK,EAAE,aAAa;oBACpB,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,MAAM,EAAE;gBACN;oBACE,EAAE,EAAE,MAAM;oBACV,KAAK,EAAE,mBAAmB;oBAC1B,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,0BAA0B,EAAE;oBACvE,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;oBACvD,QAAQ,EAAE;wBACR,aAAa;wBACb;4BACE,EAAE,EAAE,KAAK;4BACT,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,yBAAyB;4BACnC,KAAK,EAAE,SAAS;4BAChB,SAAS,EAAE,QAAQ;4BACnB,KAAK,EAAE,KAAK;yBACb;wBACD,WAAW;wBACX;4BACE,EAAE,EAAE,KAAK;4BACT,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,yBAAyB;4BACnC,KAAK,EAAE,SAAS;4BAChB,WAAW,EAAE,CAAC;4BACd,KAAK,EAAE,KAAK;yBACb;wBACD,aAAa;wBACb;4BACE,EAAE,EAAE,KAAK;4BACT,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,kBAAkB;4BAC5B,KAAK,EAAE,SAAS;4BAChB,SAAS,EAAE,QAAQ;4BACnB,KAAK,EAAE,KAAK;yBACb;wBACD,WAAW;wBACX;4BACE,EAAE,EAAE,KAAK;4BACT,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,kBAAkB;4BAC5B,KAAK,EAAE,SAAS;4BAChB,WAAW,EAAE,CAAC;4BACd,KAAK,EAAE,KAAK;yBACb;wBACD,sBAAsB;wBACtB;4BACE,EAAE,EAAE,KAAK;4BACT,IAAI,EAAE,OAAO;4BACb,CAAC,EAAE,IAAI;4BACP,CAAC,EAAE,IAAI;4BACP,KAAK,EAAE,SAAS;4BAChB,IAAI,EAAE,CAAC;4BACP,KAAK,EAAE,IAAI;yBACZ;wBACD,oBAAoB;wBACpB;4BACE,EAAE,EAAE,KAAK;4BACT,IAAI,EAAE,OAAO;4BACb,CAAC,EAAE,IAAI;4BACP,CAAC,EAAE,IAAI;4BACP,KAAK,EAAE,SAAS;4BAChB,IAAI,EAAE,EAAE;4BACR,KAAK,EAAE,IAAI;4BACX,SAAS,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE;yBAChC;qBACF;oBACD,WAAW,EAAE;wBACX;4BACE,EAAE,EAAE,cAAc;4BAClB,IAAI,EAAE,oBAAoB;4BAC1B,CAAC,EAAE,iBAAiB;4BACpB,CAAC,EAAE,EAAE;4BACL,KAAK,EAAE,SAAS;yBACjB;wBACD;4BACE,EAAE,EAAE,cAAc;4BAClB,IAAI,EAAE,mCAAmC;4BACzC,CAAC,EAAE,eAAe;4BAClB,CAAC,EAAE,mBAAmB;4BACtB,KAAK,EAAE,SAAS;yBACjB;qBACF;iBACF;aACF;SAC+B,CAAC;IACrC,CAAC;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,cAAc,GAAkB;IACpC,EAAE,EAAE,iBAAiB;IACrB,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EACT,kFAAkF;IACpF,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,cAAc;IACrB,IAAI,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,CAAC;IACpF,UAAU,EAAE;QACV,eAAe,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,mDAAmD;SACjE;QACD,iBAAiB,EAAE;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,yBAAyB;SACvC;QACD,cAAc,EAAE;YACd,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,WAAW,EAAE,yCAAyC;SACvD;KACF;IACD,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;QACnB,MAAM,QAAQ,GAAI,MAAM,CAAC,eAA0B,IAAI,CAAC,CAAC;QACzD,MAAM,MAAM,GAAI,MAAM,CAAC,iBAA4B,IAAI,CAAC,CAAC;QAEzD,OAAO;YACL,QAAQ,EAAE;gBACR,WAAW,EAAE,KAAK;gBAClB,KAAK,EAAE,uBAAuB;gBAC9B,WAAW,EAAE,wCAAwC;aACtD;YACD,UAAU,EAAE;gBACV,wBAAwB;gBACxB,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,qBAAqB,EAAE;gBAC/C,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC/B,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE;gBAC3C,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,mBAAmB,EAAE;gBAC7C,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE;gBACxC,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC7B,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;gBAC7B,eAAe;gBACf,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;gBACxE,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;gBACpF,uCAAuC;gBACvC,IAAI,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACjF,cAAc;gBACd,IAAI,EAAE;oBACJ,UAAU,EAAE,iDAAiD;oBAC7D,KAAK,EAAE,eAAe;oBACtB,QAAQ,EAAE,IAAI;iBACf;gBACD,IAAI,EAAE;oBACJ,UAAU,EAAE,oBAAoB;oBAChC,KAAK,EAAE,eAAe;oBACtB,QAAQ,EAAE,IAAI;iBACf;gBACD,sCAAsC;gBACtC,IAAI,EAAE;oBACJ,UAAU,EAAE,2BAA2B;oBACvC,KAAK,EAAE,eAAe;oBACtB,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,MAAM,EAAE;gBACN;oBACE,EAAE,EAAE,MAAM;oBACV,KAAK,EAAE,4BAA4B;oBACnC,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,gBAAgB,EAAE;oBAC7D,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;oBACtD,QAAQ,EAAE;wBACR,oCAAoC;wBACpC;4BACE,EAAE,EAAE,IAAI;4BACR,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,wBAAwB;4BAClC,KAAK,EAAE,SAAS;4BAChB,WAAW,EAAE,CAAC;4BACd,KAAK,EAAE,IAAI;yBACZ;wBACD,WAAW;wBACX;4BACE,EAAE,EAAE,IAAI;4BACR,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,iBAAiB;4BAC3B,KAAK,EAAE,SAAS;4BAChB,WAAW,EAAE,CAAC;4BACd,KAAK,EAAE,IAAI;yBACZ;wBACD,+CAA+C;wBAC/C;4BACE,EAAE,EAAE,IAAI;4BACR,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,iCAAiC;4BAC3C,KAAK,EAAE,SAAS;4BAChB,WAAW,EAAE,CAAC;4BACd,KAAK,EAAE,IAAI;4BACX,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE;yBACnE;wBACD,cAAc;wBACd;4BACE,EAAE,EAAE,aAAa;4BACjB,IAAI,EAAE,OAAO;4BACb,CAAC,EAAE,MAAM;4BACT,CAAC,EAAE,MAAM;4BACT,KAAK,EAAE,SAAS;4BAChB,IAAI,EAAE,EAAE;4BACR,KAAK,EAAE,GAAG;4BACV,SAAS,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE;yBAChC;wBACD,uBAAuB;wBACvB;4BACE,EAAE,EAAE,YAAY;4BAChB,IAAI,EAAE,gBAAgB;4BACtB,CAAC,EAAE,IAAI;4BACP,KAAK,EAAE,SAAS;4BAChB,SAAS,EAAE,QAAQ;4BACnB,WAAW,EAAE,CAAC;yBACf;qBACF;oBACD,WAAW,EAAE;wBACX;4BACE,EAAE,EAAE,UAAU;4BACd,IAAI,EAAE,qCAAqC;4BAC3C,CAAC,EAAE,gBAAgB;4BACnB,CAAC,EAAE,kDAAkD;4BACrD,KAAK,EAAE,SAAS;yBACjB;wBACD;4BACE,EAAE,EAAE,kBAAkB;4BACtB,IAAI,EAAE,qBAAqB;4BAC3B,CAAC,EAAE,gBAAgB;4BACnB,CAAC,EAAE,UAAU;4BACb,KAAK,EAAE,SAAS;yBACjB;qBACF;iBACF;aACF;SAC+B,CAAC;IACrC,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC5C,SAAS;IACT,gBAAgB;IAChB,kBAAkB;IAClB,aAAa;IACb,cAAc;CACf,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Basic Macroeconomics Templates
3
+ *
4
+ * Templates for AD-AS, money market, and basic macro models.
5
+ */
6
+ import type { ModelTemplate } from '../types/index.js';
7
+ export declare const macroTemplates: ModelTemplate[];
8
+ //# sourceMappingURL=macro.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"macro.d.ts","sourceRoot":"","sources":["../../src/templates/macro.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AA6lBvD,eAAO,MAAM,cAAc,EAAE,aAAa,EAMzC,CAAC"}
@@ -0,0 +1,600 @@
1
+ /**
2
+ * Basic Macroeconomics Templates
3
+ *
4
+ * Templates for AD-AS, money market, and basic macro models.
5
+ */
6
+ /**
7
+ * Aggregate Demand - Aggregate Supply
8
+ */
9
+ const adAsBasic = {
10
+ id: 'ad_as_basic',
11
+ name: 'AD-AS Model',
12
+ description: 'Basic Aggregate Demand and Aggregate Supply model showing macroeconomic equilibrium.',
13
+ category: 'macro',
14
+ level: 'high_school',
15
+ tags: ['AD-AS', 'aggregate demand', 'aggregate supply', 'macroeconomics', 'GDP'],
16
+ parameters: {
17
+ adIntercept: {
18
+ type: 'number',
19
+ default: 200,
20
+ description: 'AD curve intercept',
21
+ },
22
+ adSlope: {
23
+ type: 'number',
24
+ default: 1,
25
+ description: 'AD curve slope',
26
+ },
27
+ srasIntercept: {
28
+ type: 'number',
29
+ default: 50,
30
+ description: 'Short-run AS intercept',
31
+ },
32
+ srasSlope: {
33
+ type: 'number',
34
+ default: 0.5,
35
+ description: 'Short-run AS slope',
36
+ },
37
+ potentialGDP: {
38
+ type: 'number',
39
+ default: 100,
40
+ description: 'Potential GDP (long-run AS)',
41
+ },
42
+ },
43
+ generate: (params) => {
44
+ const adInt = params.adIntercept ?? 200;
45
+ const adSlope = params.adSlope ?? 1;
46
+ const srasInt = params.srasIntercept ?? 50;
47
+ const srasSlope = params.srasSlope ?? 0.5;
48
+ const Yp = params.potentialGDP ?? 100;
49
+ return {
50
+ metadata: {
51
+ specVersion: '1.3',
52
+ title: 'Aggregate Demand - Aggregate Supply',
53
+ description: 'Basic AD-AS model of the macroeconomy',
54
+ },
55
+ parameters: {
56
+ adInt: { value: adInt, label: 'AD Intercept', min: 100, max: 300 },
57
+ adSlope: { value: adSlope, label: 'AD Slope', min: 0.5, max: 2, step: 0.1 },
58
+ srasInt: { value: srasInt, label: 'SRAS Intercept', min: 0, max: 100 },
59
+ srasSlope: { value: srasSlope, label: 'SRAS Slope', min: 0.1, max: 1, step: 0.1 },
60
+ Yp: { value: Yp, label: 'Potential GDP', min: 50, max: 150 },
61
+ Y_eq: {
62
+ expression: '(adInt - srasInt) / (adSlope + srasSlope)',
63
+ label: 'Equilibrium GDP',
64
+ readonly: true,
65
+ },
66
+ P_eq: {
67
+ expression: 'srasInt + srasSlope * Y_eq',
68
+ label: 'Equilibrium Price Level',
69
+ readonly: true,
70
+ },
71
+ outputGap: {
72
+ expression: 'Y_eq - Yp',
73
+ label: 'Output Gap',
74
+ readonly: true,
75
+ },
76
+ },
77
+ charts: [
78
+ {
79
+ id: 'main',
80
+ title: 'AD-AS Model',
81
+ xAxis: { label: 'Real GDP (Y)', min: 0, max: 'adInt / adSlope * 1.1' },
82
+ yAxis: { label: 'Price Level (P)', min: 0, max: 'adInt * 1.1' },
83
+ elements: [
84
+ // AD curve
85
+ {
86
+ id: 'ad',
87
+ type: 'line',
88
+ equation: 'adInt - adSlope * x',
89
+ color: '#2563EB',
90
+ strokeWidth: 3,
91
+ label: 'AD',
92
+ curveLabel: { text: 'AD', x: 'adInt / adSlope * 0.9', position: 'below' },
93
+ },
94
+ // SRAS curve
95
+ {
96
+ id: 'sras',
97
+ type: 'line',
98
+ equation: 'srasInt + srasSlope * x',
99
+ color: '#DC2626',
100
+ strokeWidth: 3,
101
+ label: 'SRAS',
102
+ curveLabel: { text: 'SRAS', x: 'adInt / adSlope * 0.9', position: 'above' },
103
+ },
104
+ // LRAS (vertical at potential GDP)
105
+ {
106
+ id: 'lras',
107
+ type: 'verticalLine',
108
+ x: 'Yp',
109
+ color: '#16A34A',
110
+ strokeWidth: 2,
111
+ label: 'LRAS',
112
+ },
113
+ // Equilibrium
114
+ {
115
+ id: 'equilibrium',
116
+ type: 'point',
117
+ x: 'Y_eq',
118
+ y: 'P_eq',
119
+ color: '#7C3AED',
120
+ label: 'E',
121
+ droplines: { x: 'Y*', y: 'P*' },
122
+ },
123
+ ],
124
+ annotations: [
125
+ {
126
+ id: 'lras-label',
127
+ text: 'LRAS',
128
+ x: 'Yp + 5',
129
+ y: 'adInt * 0.8',
130
+ color: '#16A34A',
131
+ },
132
+ {
133
+ id: 'gap-label',
134
+ text: 'Gap = ${outputGap:.1f}',
135
+ x: '(Y_eq + Yp) / 2',
136
+ y: 'P_eq + 10',
137
+ color: '#7C3AED',
138
+ },
139
+ ],
140
+ },
141
+ ],
142
+ };
143
+ },
144
+ };
145
+ /**
146
+ * AD-AS with Demand Shock
147
+ */
148
+ const adAsDemandShock = {
149
+ id: 'ad_as_demand_shock',
150
+ name: 'AD-AS Demand Shock',
151
+ description: 'Shows the effect of an aggregate demand shock (fiscal or monetary policy).',
152
+ category: 'macro',
153
+ level: 'undergraduate',
154
+ tags: ['AD-AS', 'demand shock', 'fiscal policy', 'monetary policy'],
155
+ parameters: {
156
+ initialAD: {
157
+ type: 'number',
158
+ default: 180,
159
+ description: 'Initial AD intercept',
160
+ },
161
+ adShift: {
162
+ type: 'number',
163
+ default: 30,
164
+ description: 'AD shift amount (positive = right shift)',
165
+ },
166
+ srasIntercept: {
167
+ type: 'number',
168
+ default: 50,
169
+ description: 'SRAS intercept',
170
+ },
171
+ },
172
+ generate: (params) => {
173
+ const ad0 = params.initialAD ?? 180;
174
+ const shift = params.adShift ?? 30;
175
+ const srasInt = params.srasIntercept ?? 50;
176
+ return {
177
+ metadata: {
178
+ specVersion: '1.3',
179
+ title: 'AD-AS: Demand Shock',
180
+ description: 'Effect of expansionary or contractionary demand shock',
181
+ },
182
+ parameters: {
183
+ AD0: { value: ad0, label: 'Initial AD' },
184
+ shift: { value: shift, label: 'AD Shift', min: -50, max: 50 },
185
+ AD1: { expression: 'AD0 + shift', hidden: true },
186
+ sras: { value: srasInt, label: 'SRAS Intercept' },
187
+ Y0: { expression: '(AD0 - sras) / 1.5', label: 'Initial Y', readonly: true },
188
+ P0: { expression: 'sras + 0.5 * Y0', label: 'Initial P', readonly: true },
189
+ Y1: { expression: '(AD1 - sras) / 1.5', label: 'New Y', readonly: true },
190
+ P1: { expression: 'sras + 0.5 * Y1', label: 'New P', readonly: true },
191
+ dY: { expression: 'Y1 - Y0', label: 'Change in Y', readonly: true },
192
+ dP: { expression: 'P1 - P0', label: 'Change in P', readonly: true },
193
+ },
194
+ charts: [
195
+ {
196
+ id: 'main',
197
+ title: 'Aggregate Demand Shock',
198
+ xAxis: { label: 'Real GDP (Y)', min: 0, max: 'max(AD0, AD1) * 1.1' },
199
+ yAxis: { label: 'Price Level (P)', min: 0, max: 'max(AD0, AD1) * 1.1' },
200
+ elements: [
201
+ {
202
+ id: 'ad0',
203
+ type: 'line',
204
+ equation: 'AD0 - x',
205
+ color: '#93C5FD',
206
+ lineStyle: 'dashed',
207
+ label: 'AD₀',
208
+ },
209
+ {
210
+ id: 'ad1',
211
+ type: 'line',
212
+ equation: 'AD1 - x',
213
+ color: '#2563EB',
214
+ strokeWidth: 3,
215
+ label: 'AD₁',
216
+ },
217
+ {
218
+ id: 'sras',
219
+ type: 'line',
220
+ equation: 'sras + 0.5 * x',
221
+ color: '#DC2626',
222
+ strokeWidth: 3,
223
+ label: 'SRAS',
224
+ },
225
+ {
226
+ id: 'eq0',
227
+ type: 'point',
228
+ x: 'Y0',
229
+ y: 'P0',
230
+ color: '#6B7280',
231
+ label: 'E₀',
232
+ },
233
+ {
234
+ id: 'eq1',
235
+ type: 'point',
236
+ x: 'Y1',
237
+ y: 'P1',
238
+ color: '#16A34A',
239
+ label: 'E₁',
240
+ droplines: { x: true, y: true },
241
+ },
242
+ ],
243
+ annotations: [
244
+ {
245
+ id: 'shift-arrow',
246
+ text: 'AD shifts ${shift > 0 ? "right" : "left"}',
247
+ x: '(Y0 + Y1) / 2',
248
+ y: 'max(P0, P1) * 1.2',
249
+ color: '#2563EB',
250
+ },
251
+ ],
252
+ },
253
+ ],
254
+ };
255
+ },
256
+ };
257
+ /**
258
+ * Money Market
259
+ */
260
+ const moneyMarket = {
261
+ id: 'money_market',
262
+ name: 'Money Market',
263
+ description: 'Shows money supply and money demand determining the equilibrium interest rate.',
264
+ category: 'macro',
265
+ level: 'undergraduate',
266
+ tags: ['money market', 'interest rate', 'money supply', 'money demand', 'monetary policy'],
267
+ parameters: {
268
+ moneySupply: {
269
+ type: 'number',
270
+ default: 100,
271
+ description: 'Money supply (vertical)',
272
+ },
273
+ mdIntercept: {
274
+ type: 'number',
275
+ default: 15,
276
+ description: 'Money demand intercept',
277
+ },
278
+ mdSlope: {
279
+ type: 'number',
280
+ default: 0.1,
281
+ description: 'Money demand slope',
282
+ },
283
+ },
284
+ generate: (params) => {
285
+ const Ms = params.moneySupply ?? 100;
286
+ const mdInt = params.mdIntercept ?? 15;
287
+ const mdSlope = params.mdSlope ?? 0.1;
288
+ return {
289
+ metadata: {
290
+ specVersion: '1.3',
291
+ title: 'Money Market Equilibrium',
292
+ description: 'Money supply and demand determining interest rates',
293
+ },
294
+ parameters: {
295
+ Ms: { value: Ms, label: 'Money Supply', min: 50, max: 200 },
296
+ a: { value: mdInt, label: 'MD Intercept' },
297
+ b: { value: mdSlope, label: 'MD Slope', step: 0.01 },
298
+ r_eq: {
299
+ expression: 'a - b * Ms',
300
+ label: 'Equilibrium Interest Rate (%)',
301
+ readonly: true,
302
+ },
303
+ },
304
+ charts: [
305
+ {
306
+ id: 'main',
307
+ title: 'Money Market',
308
+ xAxis: { label: 'Quantity of Money', min: 0, max: 'Ms * 2' },
309
+ yAxis: { label: 'Interest Rate (r)', min: 0, max: 'a * 1.5' },
310
+ elements: [
311
+ {
312
+ id: 'ms',
313
+ type: 'verticalLine',
314
+ x: 'Ms',
315
+ color: '#DC2626',
316
+ strokeWidth: 3,
317
+ label: 'Money Supply (Ms)',
318
+ },
319
+ {
320
+ id: 'md',
321
+ type: 'line',
322
+ equation: 'a - b * x',
323
+ color: '#2563EB',
324
+ strokeWidth: 2,
325
+ label: 'Money Demand (Md)',
326
+ },
327
+ {
328
+ id: 'equilibrium',
329
+ type: 'point',
330
+ x: 'Ms',
331
+ y: 'r_eq',
332
+ color: '#16A34A',
333
+ label: 'Equilibrium',
334
+ droplines: { x: true, y: true },
335
+ },
336
+ ],
337
+ annotations: [
338
+ {
339
+ id: 'ms-label',
340
+ text: 'Ms',
341
+ x: 'Ms + 5',
342
+ y: 'a * 1.2',
343
+ color: '#DC2626',
344
+ },
345
+ {
346
+ id: 'md-label',
347
+ text: 'Md',
348
+ x: 'Ms * 1.8',
349
+ y: 'a - b * Ms * 1.8 + 1',
350
+ color: '#2563EB',
351
+ },
352
+ {
353
+ id: 'r-label',
354
+ text: 'r* = ${r_eq:.1f}%',
355
+ x: 'Ms * 0.3',
356
+ y: 'r_eq',
357
+ color: '#16A34A',
358
+ },
359
+ ],
360
+ },
361
+ ],
362
+ };
363
+ },
364
+ };
365
+ /**
366
+ * Business Cycle
367
+ */
368
+ const businessCycle = {
369
+ id: 'business_cycle',
370
+ name: 'Business Cycle',
371
+ description: 'Shows the business cycle phases: expansion, peak, contraction, and trough.',
372
+ category: 'macro',
373
+ level: 'high_school',
374
+ tags: ['business cycle', 'GDP', 'recession', 'expansion', 'fluctuations'],
375
+ parameters: {
376
+ trendGrowth: {
377
+ type: 'number',
378
+ default: 2,
379
+ description: 'Trend growth rate (%)',
380
+ },
381
+ cycleAmplitude: {
382
+ type: 'number',
383
+ default: 5,
384
+ description: 'Cycle amplitude (%)',
385
+ },
386
+ cyclePeriod: {
387
+ type: 'number',
388
+ default: 8,
389
+ description: 'Cycle period (years)',
390
+ },
391
+ },
392
+ generate: (params) => {
393
+ const trend = params.trendGrowth ?? 2;
394
+ const amplitude = params.cycleAmplitude ?? 5;
395
+ const period = params.cyclePeriod ?? 8;
396
+ return {
397
+ metadata: {
398
+ specVersion: '1.3',
399
+ title: 'Business Cycle',
400
+ description: 'Economic fluctuations around long-run trend',
401
+ },
402
+ parameters: {
403
+ g: { value: trend, label: 'Trend Growth (%)' },
404
+ A: { value: amplitude, label: 'Amplitude (%)' },
405
+ T: { value: period, label: 'Period (years)' },
406
+ Y0: { value: 100, label: 'Initial GDP' },
407
+ t: { value: 0, label: 'Year', min: 0, max: 20 },
408
+ },
409
+ charts: [
410
+ {
411
+ id: 'main',
412
+ title: 'Business Cycle',
413
+ xAxis: { label: 'Time (years)', min: 0, max: 20 },
414
+ yAxis: { label: 'Real GDP', min: 80, max: 180 },
415
+ elements: [
416
+ // Trend line
417
+ {
418
+ id: 'trend',
419
+ type: 'line',
420
+ equation: 'Y0 * (1 + g/100)^x',
421
+ color: '#6B7280',
422
+ lineStyle: 'dashed',
423
+ label: 'Potential GDP (Trend)',
424
+ },
425
+ // Actual GDP with cycles
426
+ {
427
+ id: 'actual',
428
+ type: 'line',
429
+ equation: 'Y0 * (1 + g/100)^x * (1 + A/100 * sin(2 * pi * x / T))',
430
+ color: '#2563EB',
431
+ strokeWidth: 3,
432
+ label: 'Actual GDP',
433
+ },
434
+ // Phase markers
435
+ {
436
+ id: 'peak',
437
+ type: 'point',
438
+ x: 'T / 4',
439
+ y: 'Y0 * (1 + g/100)^(T/4) * (1 + A/100)',
440
+ color: '#16A34A',
441
+ label: 'Peak',
442
+ },
443
+ {
444
+ id: 'trough',
445
+ type: 'point',
446
+ x: '3 * T / 4',
447
+ y: 'Y0 * (1 + g/100)^(3*T/4) * (1 - A/100)',
448
+ color: '#DC2626',
449
+ label: 'Trough',
450
+ },
451
+ ],
452
+ annotations: [
453
+ {
454
+ id: 'expansion',
455
+ text: 'Expansion',
456
+ x: 'T / 8',
457
+ y: 160,
458
+ color: '#22C55E',
459
+ },
460
+ {
461
+ id: 'contraction',
462
+ text: 'Contraction',
463
+ x: 'T / 2',
464
+ y: 160,
465
+ color: '#EF4444',
466
+ },
467
+ ],
468
+ },
469
+ ],
470
+ };
471
+ },
472
+ };
473
+ /**
474
+ * Phillips Curve (Short-Run)
475
+ */
476
+ const phillipsCurve = {
477
+ id: 'phillips_curve',
478
+ name: 'Phillips Curve',
479
+ description: 'Shows the short-run trade-off between inflation and unemployment.',
480
+ category: 'macro',
481
+ level: 'undergraduate',
482
+ tags: ['Phillips curve', 'inflation', 'unemployment', 'trade-off'],
483
+ parameters: {
484
+ naturalRate: {
485
+ type: 'number',
486
+ default: 5,
487
+ description: 'Natural rate of unemployment (%)',
488
+ },
489
+ expectedInflation: {
490
+ type: 'number',
491
+ default: 2,
492
+ description: 'Expected inflation (%)',
493
+ },
494
+ slope: {
495
+ type: 'number',
496
+ default: 0.5,
497
+ description: 'Phillips curve slope',
498
+ },
499
+ },
500
+ generate: (params) => {
501
+ const un = params.naturalRate ?? 5;
502
+ const pe = params.expectedInflation ?? 2;
503
+ const slope = params.slope ?? 0.5;
504
+ return {
505
+ metadata: {
506
+ specVersion: '1.3',
507
+ title: 'Phillips Curve',
508
+ description: 'Short-run inflation-unemployment trade-off',
509
+ },
510
+ parameters: {
511
+ un: { value: un, label: 'Natural Rate (%)', min: 2, max: 10 },
512
+ pe: { value: pe, label: 'Expected Inflation (%)', min: 0, max: 10 },
513
+ alpha: { value: slope, label: 'PC Slope', min: 0.1, max: 1, step: 0.1 },
514
+ u: { value: un, label: 'Unemployment (%)', min: 2, max: 10 },
515
+ pi: {
516
+ expression: 'pe - alpha * (u - un)',
517
+ label: 'Inflation (%)',
518
+ readonly: true,
519
+ },
520
+ },
521
+ charts: [
522
+ {
523
+ id: 'main',
524
+ title: 'Short-Run Phillips Curve',
525
+ xAxis: { label: 'Unemployment Rate (%)', min: 0, max: 12 },
526
+ yAxis: { label: 'Inflation Rate (%)', min: -2, max: 10 },
527
+ elements: [
528
+ // LRPC (vertical at natural rate)
529
+ {
530
+ id: 'lrpc',
531
+ type: 'verticalLine',
532
+ x: 'un',
533
+ color: '#16A34A',
534
+ lineStyle: 'dashed',
535
+ label: 'LRPC',
536
+ },
537
+ // SRPC
538
+ {
539
+ id: 'srpc',
540
+ type: 'line',
541
+ equation: 'pe - alpha * (x - un)',
542
+ color: '#2563EB',
543
+ strokeWidth: 3,
544
+ label: 'SRPC',
545
+ },
546
+ // Current point
547
+ {
548
+ id: 'current',
549
+ type: 'point',
550
+ x: 'u',
551
+ y: 'pi',
552
+ color: '#DC2626',
553
+ label: 'Current',
554
+ droplines: { x: true, y: true },
555
+ draggable: true,
556
+ dragConfig: {
557
+ mode: 'expression',
558
+ parameters: { expressions: { u: 'x' } },
559
+ constraints: { bounds: { minX: 2, maxX: 10 } },
560
+ },
561
+ },
562
+ // Natural rate point
563
+ {
564
+ id: 'nairu',
565
+ type: 'point',
566
+ x: 'un',
567
+ y: 'pe',
568
+ color: '#16A34A',
569
+ label: 'NAIRU',
570
+ },
571
+ ],
572
+ annotations: [
573
+ {
574
+ id: 'lrpc-label',
575
+ text: 'LRPC (Natural Rate)',
576
+ x: 'un + 1',
577
+ y: 8,
578
+ color: '#16A34A',
579
+ },
580
+ {
581
+ id: 'srpc-label',
582
+ text: 'SRPC (πᵉ = ${pe}%)',
583
+ x: 9,
584
+ y: 'pe - alpha * (9 - un) + 1',
585
+ color: '#2563EB',
586
+ },
587
+ ],
588
+ },
589
+ ],
590
+ };
591
+ },
592
+ };
593
+ export const macroTemplates = [
594
+ adAsBasic,
595
+ adAsDemandShock,
596
+ moneyMarket,
597
+ businessCycle,
598
+ phillipsCurve,
599
+ ];
600
+ //# sourceMappingURL=macro.js.map