@lodestar/types 1.50.1 → 1.51.0-dev.09763aa8d2

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 (111) hide show
  1. package/lib/altair/index.d.ts +1 -1
  2. package/lib/altair/index.d.ts.map +1 -1
  3. package/lib/altair/index.js +1 -1
  4. package/lib/altair/index.js.map +1 -1
  5. package/lib/bellatrix/index.d.ts +1 -1
  6. package/lib/bellatrix/index.d.ts.map +1 -1
  7. package/lib/bellatrix/index.js +1 -1
  8. package/lib/bellatrix/index.js.map +1 -1
  9. package/lib/bellatrix/sszTypes.d.ts +7 -7
  10. package/lib/bellatrix/sszTypes.d.ts.map +1 -1
  11. package/lib/bellatrix/sszTypes.js +2 -2
  12. package/lib/bellatrix/sszTypes.js.map +1 -1
  13. package/lib/capella/index.d.ts +1 -1
  14. package/lib/capella/index.d.ts.map +1 -1
  15. package/lib/capella/index.js +1 -1
  16. package/lib/capella/index.js.map +1 -1
  17. package/lib/capella/sszTypes.d.ts +5 -5
  18. package/lib/deneb/index.d.ts +1 -1
  19. package/lib/deneb/index.d.ts.map +1 -1
  20. package/lib/deneb/index.js +1 -1
  21. package/lib/deneb/index.js.map +1 -1
  22. package/lib/deneb/sszTypes.d.ts +8 -8
  23. package/lib/eip8025/index.d.ts +5 -0
  24. package/lib/eip8025/index.d.ts.map +1 -0
  25. package/lib/eip8025/index.js +5 -0
  26. package/lib/eip8025/index.js.map +1 -0
  27. package/lib/eip8025/sszTypes.d.ts +34 -0
  28. package/lib/eip8025/sszTypes.d.ts.map +1 -0
  29. package/lib/eip8025/sszTypes.js +28 -0
  30. package/lib/eip8025/sszTypes.js.map +1 -0
  31. package/lib/eip8025/types.d.ts +9 -0
  32. package/lib/eip8025/types.d.ts.map +1 -0
  33. package/lib/eip8025/types.js +2 -0
  34. package/lib/eip8025/types.js.map +1 -0
  35. package/lib/electra/index.d.ts +1 -1
  36. package/lib/electra/index.d.ts.map +1 -1
  37. package/lib/electra/index.js +1 -1
  38. package/lib/electra/index.js.map +1 -1
  39. package/lib/electra/sszTypes.d.ts +7 -7
  40. package/lib/fulu/index.d.ts +1 -1
  41. package/lib/fulu/index.d.ts.map +1 -1
  42. package/lib/fulu/index.js +1 -1
  43. package/lib/fulu/index.js.map +1 -1
  44. package/lib/fulu/sszTypes.d.ts +5 -5
  45. package/lib/gloas/index.d.ts +1 -1
  46. package/lib/gloas/index.d.ts.map +1 -1
  47. package/lib/gloas/index.js +1 -1
  48. package/lib/gloas/index.js.map +1 -1
  49. package/lib/gloas/sszTypes.d.ts +8 -8
  50. package/lib/gloas/sszTypes.d.ts.map +1 -1
  51. package/lib/gloas/sszTypes.js +2 -2
  52. package/lib/gloas/sszTypes.js.map +1 -1
  53. package/lib/gloas/types.d.ts +3 -0
  54. package/lib/gloas/types.d.ts.map +1 -1
  55. package/lib/heze/index.d.ts +1 -1
  56. package/lib/heze/index.d.ts.map +1 -1
  57. package/lib/heze/index.js +1 -1
  58. package/lib/heze/index.js.map +1 -1
  59. package/lib/heze/sszTypes.d.ts +5 -73
  60. package/lib/heze/sszTypes.d.ts.map +1 -1
  61. package/lib/heze/sszTypes.js +12 -6
  62. package/lib/heze/sszTypes.js.map +1 -1
  63. package/lib/heze/types.d.ts +3 -0
  64. package/lib/heze/types.d.ts.map +1 -1
  65. package/lib/index.d.ts +1 -1
  66. package/lib/index.d.ts.map +1 -1
  67. package/lib/index.js +1 -1
  68. package/lib/index.js.map +1 -1
  69. package/lib/phase0/index.d.ts +1 -1
  70. package/lib/phase0/index.d.ts.map +1 -1
  71. package/lib/phase0/index.js +1 -1
  72. package/lib/phase0/index.js.map +1 -1
  73. package/lib/primitive/index.d.ts +1 -1
  74. package/lib/primitive/index.d.ts.map +1 -1
  75. package/lib/primitive/index.js +1 -1
  76. package/lib/primitive/index.js.map +1 -1
  77. package/lib/sszTypes.d.ts +124 -258
  78. package/lib/sszTypes.d.ts.map +1 -1
  79. package/lib/sszTypes.js +2 -0
  80. package/lib/sszTypes.js.map +1 -1
  81. package/lib/types.d.ts +3 -2
  82. package/lib/types.d.ts.map +1 -1
  83. package/lib/types.js +1 -0
  84. package/lib/types.js.map +1 -1
  85. package/lib/utils/typeguards.d.ts +2 -2
  86. package/lib/utils/typeguards.d.ts.map +1 -1
  87. package/lib/utils/typeguards.js +1 -1
  88. package/lib/utils/typeguards.js.map +1 -1
  89. package/package.json +4 -4
  90. package/src/altair/index.ts +2 -1
  91. package/src/bellatrix/index.ts +2 -1
  92. package/src/bellatrix/sszTypes.ts +2 -2
  93. package/src/capella/index.ts +2 -1
  94. package/src/deneb/index.ts +2 -1
  95. package/src/eip8025/index.ts +6 -0
  96. package/src/eip8025/sszTypes.ts +46 -0
  97. package/src/eip8025/types.ts +9 -0
  98. package/src/electra/index.ts +2 -1
  99. package/src/fulu/index.ts +2 -1
  100. package/src/gloas/index.ts +2 -1
  101. package/src/gloas/sszTypes.ts +2 -1
  102. package/src/gloas/types.ts +1 -0
  103. package/src/heze/index.ts +2 -1
  104. package/src/heze/sszTypes.ts +18 -6
  105. package/src/heze/types.ts +1 -0
  106. package/src/index.ts +1 -1
  107. package/src/phase0/index.ts +2 -1
  108. package/src/primitive/index.ts +2 -1
  109. package/src/sszTypes.ts +2 -0
  110. package/src/types.ts +3 -2
  111. package/src/utils/typeguards.ts +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"sszTypes.d.ts","sourceRoot":"","sources":["../src/sszTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACrG,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAW1C,cAAc,yBAAyB,CAAC;AAExC;;;GAGG;AACH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BhB,CAAC;AAKF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA+B,CAAC;AACnD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA+B,CAAC;AACnD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAkC,CAAC;AACzD,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgC,CAAC;AACrD,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA8B,CAAC;AACjD,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgC,CAAC;AACrD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA6B,CAAC;AAC/C,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA8B,CAAC;AACjD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA6B,CAAC;AAE/C;;GAEG;AAGH,KAAK,mBAAmB,CAAC,gBAAgB,SAAS,aAAa,CAAC,GAAG,CAAC,IAAI,aAAa,CACnF,OAAO,CAAC,gBAAgB,CAAC,EACzB,aAAa,CAAC,gBAAgB,CAAC,EAC/B,eAAe,CAAC,gBAAgB,CAAC,CAClC,CAAC;AAEF,KAAK,cAAc,GAAG;KACnB,CAAC,IAAI,MAAM,OAAO,WAAW,GAAG;SAC9B,CAAC,IAAI,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACjE;CACF,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,MAAM,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,IAAI,GAGzG;KAAE,EAAE,IAAI,MAAM,cAAc,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CAAC,GAG7E,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAE7D,wBAAgB,WAAW,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,MAAM,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,EAC7F,IAAI,EAAE,CAAC,EACP,QAAQ,CAAC,EAAE,CAAC,GACX,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAQnB"}
1
+ {"version":3,"file":"sszTypes.d.ts","sourceRoot":"","sources":["../src/sszTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACrG,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAK1C,OAAO,EAAC,GAAG,IAAI,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAOrD,cAAc,yBAAyB,CAAC;AAExC;;;GAGG;AACH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BhB,CAAC;AAKF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA+B,CAAC;AACnD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA+B,CAAC;AACnD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAkC,CAAC;AACzD,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgC,CAAC;AACrD,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA8B,CAAC;AACjD,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgC,CAAC;AACrD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA6B,CAAC;AAC/C,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA8B,CAAC;AACjD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA6B,CAAC;AAC/C,eAAO,MAAM,OAAO,mBAAa,CAAC;AAElC;;GAEG;AAGH,KAAK,mBAAmB,CAAC,gBAAgB,SAAS,aAAa,CAAC,GAAG,CAAC,IAAI,aAAa,CACnF,OAAO,CAAC,gBAAgB,CAAC,EACzB,aAAa,CAAC,gBAAgB,CAAC,EAC/B,eAAe,CAAC,gBAAgB,CAAC,CAClC,CAAC;AAEF,KAAK,cAAc,GAAG;KACnB,CAAC,IAAI,MAAM,OAAO,WAAW,GAAG;SAC9B,CAAC,IAAI,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACjE;CACF,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,MAAM,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,IAAI,GAGzG;KAAE,EAAE,IAAI,MAAM,cAAc,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CAAC,GAG7E,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAE7D,wBAAgB,WAAW,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,MAAM,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,EAC7F,IAAI,EAAE,CAAC,EACP,QAAQ,CAAC,EAAE,CAAC,GACX,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAQnB"}
package/lib/sszTypes.js CHANGED
@@ -3,6 +3,7 @@ import { ssz as altairSsz } from "./altair/index.js";
3
3
  import { ssz as bellatrixSsz } from "./bellatrix/index.js";
4
4
  import { ssz as capellaSsz } from "./capella/index.js";
5
5
  import { ssz as denebSsz } from "./deneb/index.js";
6
+ import { ssz as eip8025Ssz } from "./eip8025/index.js";
6
7
  import { ssz as electraSsz } from "./electra/index.js";
7
8
  import { ssz as fuluSsz } from "./fulu/index.js";
8
9
  import { ssz as gloasSsz } from "./gloas/index.js";
@@ -54,6 +55,7 @@ export const electra = typesByFork[ForkName.electra];
54
55
  export const fulu = typesByFork[ForkName.fulu];
55
56
  export const gloas = typesByFork[ForkName.gloas];
56
57
  export const heze = typesByFork[ForkName.heze];
58
+ export const eip8025 = eip8025Ssz;
57
59
  export function sszTypesFor(fork, typeName) {
58
60
  const sszTypes = typesByFork[fork];
59
61
  if (sszTypes === undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"sszTypes.js","sourceRoot":"","sources":["../src/sszTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sszTypes.js","sourceRoot":"","sources":["../src/sszTypes.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts CHANGED
@@ -13,6 +13,7 @@ export { ts as altair } from "./altair/index.js";
13
13
  export { ts as bellatrix } from "./bellatrix/index.js";
14
14
  export { ts as capella } from "./capella/index.js";
15
15
  export { ts as deneb } from "./deneb/index.js";
16
+ export { ts as eip8025 } from "./eip8025/index.js";
16
17
  export { ts as electra } from "./electra/index.js";
17
18
  export { ts as fulu } from "./fulu/index.js";
18
19
  export { ts as gloas } from "./gloas/index.js";
@@ -326,7 +327,7 @@ type TypesByFork = {
326
327
  SignedBuilderBid: electra.SignedBuilderBid;
327
328
  SSEPayloadAttributes: gloas.SSEPayloadAttributes;
328
329
  BlockContents: gloas.BlockContents;
329
- SignedBlockContents: fulu.SignedBlockContents;
330
+ SignedBlockContents: gloas.SignedBlockContents;
330
331
  ExecutionPayloadAndBlobsBundle: fulu.ExecutionPayloadAndBlobsBundle;
331
332
  BlobsBundle: fulu.BlobsBundle;
332
333
  SyncCommittee: altair.SyncCommittee;
@@ -368,7 +369,7 @@ type TypesByFork = {
368
369
  SignedBuilderBid: electra.SignedBuilderBid;
369
370
  SSEPayloadAttributes: heze.SSEPayloadAttributes;
370
371
  BlockContents: heze.BlockContents;
371
- SignedBlockContents: fulu.SignedBlockContents;
372
+ SignedBlockContents: heze.SignedBlockContents;
372
373
  ExecutionPayloadAndBlobsBundle: fulu.ExecutionPayloadAndBlobsBundle;
373
374
  BlobsBundle: fulu.BlobsBundle;
374
375
  SyncCommittee: altair.SyncCommittee;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,QAAQ,EACR,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,aAAa,EACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAC,EAAE,IAAI,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,EAAE,IAAI,SAAS,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,EAAE,IAAI,OAAO,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,EAAE,IAAI,KAAK,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,EAAE,IAAI,OAAO,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,EAAE,IAAI,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,EAAE,IAAI,KAAK,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,EAAE,IAAI,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,EAAE,IAAI,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,IAAI,EAAC,MAAM,sBAAsB,CAAC;AAE1C,OAAO,EAAC,EAAE,IAAI,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,EAAE,IAAI,SAAS,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,EAAE,IAAI,OAAO,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,EAAE,IAAI,KAAK,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,EAAE,IAAI,OAAO,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,EAAE,IAAI,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,EAAE,IAAI,KAAK,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,EAAE,IAAI,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,EAAE,IAAI,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AAErC,yDAAyD;AACzD,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAE7B,0DAA0D;AAC1D,oBAAY,mBAAmB;IAC7B,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IACzB,IAAI,EAAE,CAAC,CAAC;IACR,kCAAkC;IAClC,KAAK,EAAE,UAAU,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI;IACjC,IAAI,EAAE,CAAC,CAAC;IACR,kCAAkC;IAClC,KAAK,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAC,CAAC;AACtD,MAAM,MAAM,gBAAgB,GAAG;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAC,CAAC;AAC5D,MAAM,MAAM,gBAAgB,GAAG;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,IAAI,CAAA;CAAC,CAAC;AAE5D,KAAK,WAAW,GAAG;IACjB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QACjB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;QAC5C,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,CAAC;QACxD,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;QAChC,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC;QACxC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;QAChC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;QAC5C,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;QAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC,WAAW,CAAC;QACtC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;QAChC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,CAAC;QAC9C,wBAAwB,EAAE,MAAM,CAAC,wBAAwB,CAAC;QAC1D,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC;QAC1C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;QAC5C,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,CAAC;QACxD,aAAa,EAAE;YAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAA;SAAC,CAAC;QAC3C,mBAAmB,EAAE;YAAC,WAAW,EAAE,MAAM,CAAC,iBAAiB,CAAA;SAAC,CAAC;KAC9D,CAAC;IACF,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QACjB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;QAC5C,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,CAAC;QACxD,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;QAChC,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC;QACxC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;QAChC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;QAC5C,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;QAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;QAC5C,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,CAAC;QAClD,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;QAC5C,yBAAyB,EAAE,MAAM,CAAC,yBAAyB,CAAC;QAC5D,2BAA2B,EAAE,MAAM,CAAC,2BAA2B,CAAC;QAChE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC;QAC1C,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC;QACpC,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC;QACpC,iBAAiB,EAAE,MAAM,CAAC,WAAW,CAAC;QACtC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;QAChC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,CAAC;QAC9C,wBAAwB,EAAE,MAAM,CAAC,wBAAwB,CAAC;QAC1D,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC;QAC1C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;QAC5C,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,CAAC;QACxD,aAAa,EAAE;YAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAA;SAAC,CAAC;QAC3C,mBAAmB,EAAE;YAAC,WAAW,EAAE,MAAM,CAAC,iBAAiB,CAAA;SAAC,CAAC;KAC9D,CAAC;IACF,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACpB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;QAC5C,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,CAAC;QACxD,WAAW,EAAE,SAAS,CAAC,WAAW,CAAC;QACnC,eAAe,EAAE,SAAS,CAAC,eAAe,CAAC;QAC3C,WAAW,EAAE,SAAS,CAAC,WAAW,CAAC;QACnC,iBAAiB,EAAE,SAAS,CAAC,iBAAiB,CAAC;QAC/C,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;QAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;QAC5C,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,CAAC;QAClD,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;QAC5C,yBAAyB,EAAE,MAAM,CAAC,yBAAyB,CAAC;QAC5D,2BAA2B,EAAE,MAAM,CAAC,2BAA2B,CAAC;QAChE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC;QAC1C,kBAAkB,EAAE,SAAS,CAAC,kBAAkB,CAAC;QACjD,sBAAsB,EAAE,SAAS,CAAC,sBAAsB,CAAC;QACzD,wBAAwB,EAAE,SAAS,CAAC,wBAAwB,CAAC;QAC7D,gBAAgB,EAAE,SAAS,CAAC,gBAAgB,CAAC;QAC7C,iBAAiB,EAAE,SAAS,CAAC,iBAAiB,CAAC;QAC/C,sBAAsB,EAAE,SAAS,CAAC,sBAAsB,CAAC;QACzD,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC;QACjC,gBAAgB,EAAE,SAAS,CAAC,gBAAgB,CAAC;QAC7C,oBAAoB,EAAE,SAAS,CAAC,oBAAoB,CAAC;QACrD,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC;QACpC,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC;QACpC,iBAAiB,EAAE,MAAM,CAAC,WAAW,CAAC;QACtC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;QAChC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,CAAC;QAC9C,wBAAwB,EAAE,MAAM,CAAC,wBAAwB,CAAC;QAC1D,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC;QAC1C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;QAC5C,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,CAAC;QACxD,aAAa,EAAE;YAAC,KAAK,EAAE,SAAS,CAAC,WAAW,CAAA;SAAC,CAAC;QAC9C,mBAAmB,EAAE;YAAC,WAAW,EAAE,SAAS,CAAC,iBAAiB,CAAA;SAAC,CAAC;KACjE,CAAC;IACF,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAClB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;QAC5C,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,CAAC;QACxD,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC;QACjC,eAAe,EAAE,OAAO,CAAC,eAAe,CAAC;QACzC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC;QACjC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC;QAC7C,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;QAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QACtB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC;QAC7C,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,CAAC;QACnD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC;QAC7C,yBAAyB,EAAE,OAAO,CAAC,yBAAyB,CAAC;QAC7D,2BAA2B,EAAE,OAAO,CAAC,2BAA2B,CAAC;QACjE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC;QAC3C,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,CAAC;QAC/C,sBAAsB,EAAE,OAAO,CAAC,sBAAsB,CAAC;QACvD,wBAAwB,EAAE,OAAO,CAAC,wBAAwB,CAAC;QAC3D,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC;QAC3C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC;QAC7C,sBAAsB,EAAE,OAAO,CAAC,sBAAsB,CAAC;QACvD,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC;QAC/B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC;QAC3C,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,CAAC;QACnD,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC;QACpC,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC;QACpC,iBAAiB,EAAE,MAAM,CAAC,WAAW,CAAC;QACtC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;QAChC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,CAAC;QAC9C,wBAAwB,EAAE,MAAM,CAAC,wBAAwB,CAAC;QAC1D,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC;QAC1C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;QAC5C,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,CAAC;QACxD,aAAa,EAAE;YAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAA;SAAC,CAAC;QAC5C,mBAAmB,EAAE;YAAC,WAAW,EAAE,OAAO,CAAC,iBAAiB,CAAA;SAAC,CAAC;KAC/D,CAAC;IACF,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QAChB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;QAC5C,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,CAAC;QACxD,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC;QAC/B,eAAe,EAAE,KAAK,CAAC,eAAe,CAAC;QACvC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC;QAC/B,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC;QAC3C,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;QAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QACtB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC;QAC3C,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,CAAC;QACjD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC;QAC3C,yBAAyB,EAAE,KAAK,CAAC,yBAAyB,CAAC;QAC3D,2BAA2B,EAAE,KAAK,CAAC,2BAA2B,CAAC;QAC/D,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,CAAC;QACzC,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,CAAC;QAC7C,sBAAsB,EAAE,KAAK,CAAC,sBAAsB,CAAC;QACrD,wBAAwB,EAAE,KAAK,CAAC,wBAAwB,CAAC;QACzD,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,CAAC;QACzC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC;QAC3C,sBAAsB,EAAE,KAAK,CAAC,sBAAsB,CAAC;QACrD,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC;QAC7B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,CAAC;QACzC,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,CAAC;QACjD,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC;QACnC,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,CAAC;QAC/C,8BAA8B,EAAE,KAAK,CAAC,8BAA8B,CAAC;QACrE,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC;QAC/B,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC;QACpC,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC;QACpC,iBAAiB,EAAE,MAAM,CAAC,WAAW,CAAC;QACtC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;QAChC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,CAAC;QAC9C,wBAAwB,EAAE,MAAM,CAAC,wBAAwB,CAAC;QAC1D,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC;QAC1C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;QAC5C,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,CAAC;KACzD,CAAC;IACF,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAClB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;QAC5C,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,CAAC;QACxD,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC;QACjC,eAAe,EAAE,OAAO,CAAC,eAAe,CAAC;QACzC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC;QACjC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC;QAC7C,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;QAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QACtB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC;QAC3C,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,CAAC;QACnD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC;QAC7C,yBAAyB,EAAE,OAAO,CAAC,yBAAyB,CAAC;QAC7D,2BAA2B,EAAE,OAAO,CAAC,2BAA2B,CAAC;QACjE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC;QAC3C,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,CAAC;QAC/C,sBAAsB,EAAE,OAAO,CAAC,sBAAsB,CAAC;QACvD,wBAAwB,EAAE,OAAO,CAAC,wBAAwB,CAAC;QAC3D,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,CAAC;QACzC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC;QAC7C,sBAAsB,EAAE,KAAK,CAAC,sBAAsB,CAAC;QACrD,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC;QAC/B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC;QAC3C,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,CAAC;QACnD,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC;QACrC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,CAAC;QACjD,8BAA8B,EAAE,KAAK,CAAC,8BAA8B,CAAC;QACrE,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC;QAC/B,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC;QACpC,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC;QACpC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC;QAC7C,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC;QACjC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,CAAC;QAC/C,wBAAwB,EAAE,OAAO,CAAC,wBAAwB,CAAC;QAC3D,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC;QAC3C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC;QAC7C,uBAAuB,EAAE,OAAO,CAAC,uBAAuB,CAAC;QACzD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC;KAC9C,CAAC;IACF,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACf,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;QAC5C,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,CAAC;QACxD,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC;QACjC,eAAe,EAAE,OAAO,CAAC,eAAe,CAAC;QACzC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC;QAC9B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC;QAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC;QACxB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;QACpB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC;QAC3C,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,CAAC;QACnD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC;QAC7C,yBAAyB,EAAE,OAAO,CAAC,yBAAyB,CAAC;QAC7D,2BAA2B,EAAE,OAAO,CAAC,2BAA2B,CAAC;QACjE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC;QAC3C,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,CAAC;QAC/C,sBAAsB,EAAE,OAAO,CAAC,sBAAsB,CAAC;QACvD,wBAAwB,EAAE,OAAO,CAAC,wBAAwB,CAAC;QAC3D,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,CAAC;QACzC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC;QAC7C,sBAAsB,EAAE,KAAK,CAAC,sBAAsB,CAAC;QACrD,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC;QAC/B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC;QAC3C,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,CAAC;QACnD,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC;QAClC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC9C,8BAA8B,EAAE,IAAI,CAAC,8BAA8B,CAAC;QACpE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC;QAC9B,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC;QACpC,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC;QACpC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC;QAC7C,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC;QACjC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,CAAC;QAC/C,wBAAwB,EAAE,OAAO,CAAC,wBAAwB,CAAC;QAC3D,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC;QAC3C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC;QAC7C,uBAAuB,EAAE,OAAO,CAAC,uBAAuB,CAAC;QACzD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC;QAC7C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC;QAC1C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,CAAC;KAC7C,CAAC;IACF,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QAChB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;QAC5C,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,CAAC;QACxD,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC;QAC/B,eAAe,EAAE,KAAK,CAAC,eAAe,CAAC;QACvC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC;QAC/B,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC;QAC3C,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC;QACxB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;QACpB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC;QAC3C,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,CAAC;QACjD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC;QAC3C,yBAAyB,EAAE,KAAK,CAAC,yBAAyB,CAAC;QAC3D,2BAA2B,EAAE,KAAK,CAAC,2BAA2B,CAAC;QAC/D,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,CAAC;QACzC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,CAAC;QAC/C,sBAAsB,EAAE,OAAO,CAAC,sBAAsB,CAAC;QACvD,wBAAwB,EAAE,OAAO,CAAC,wBAAwB,CAAC;QAC3D,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,CAAC;QACzC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC;QAC3C,sBAAsB,EAAE,KAAK,CAAC,sBAAsB,CAAC;QACrD,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC;QAC/B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC;QAC3C,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,CAAC;QACjD,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC;QACnC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC9C,8BAA8B,EAAE,IAAI,CAAC,8BAA8B,CAAC;QACpE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC;QAC9B,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC;QACpC,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC;QACpC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC;QAC7C,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC;QAC/B,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,CAAC;QAC7C,wBAAwB,EAAE,KAAK,CAAC,wBAAwB,CAAC;QACzD,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,CAAC;QACzC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC;QAC3C,uBAAuB,EAAE,KAAK,CAAC,uBAAuB,CAAC;QACvD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC;QAC3C,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,CAAC;QAC/C,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC;QAC3C,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,CAAC;KAC9C,CAAC;IACF,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACf,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;QAC5C,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,CAAC;QACxD,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC;QAC9B,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC;QACtC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC;QAC9B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC;QAC1C,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC;QACxB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;QACpB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC;QAC3C,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,CAAC;QACjD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC;QAC3C,yBAAyB,EAAE,KAAK,CAAC,yBAAyB,CAAC;QAC3D,2BAA2B,EAAE,KAAK,CAAC,2BAA2B,CAAC;QAC/D,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,CAAC;QACzC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,CAAC;QAC/C,sBAAsB,EAAE,OAAO,CAAC,sBAAsB,CAAC;QACvD,wBAAwB,EAAE,OAAO,CAAC,wBAAwB,CAAC;QAC3D,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,CAAC;QACzC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC;QAC3C,sBAAsB,EAAE,KAAK,CAAC,sBAAsB,CAAC;QACrD,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC;QAC/B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,CAAC;QAC3C,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAChD,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC;QAClC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC9C,8BAA8B,EAAE,IAAI,CAAC,8BAA8B,CAAC;QACpE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC;QAC9B,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC;QACpC,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC;QACpC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC;QAC7C,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC;QAC/B,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,CAAC;QAC7C,wBAAwB,EAAE,KAAK,CAAC,wBAAwB,CAAC;QACzD,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,CAAC;QACzC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC;QAC3C,uBAAuB,EAAE,KAAK,CAAC,uBAAuB,CAAC;QACvD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC;QAC3C,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC9C,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC;QAC3C,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,CAAC;KAC9C,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,MAAM,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,IAAI,GACnG,WAAW,CAAC,CAAC,CAAC,GACd,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AAErC,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;AACjG,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;AAE7G,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;AACrF,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;AAEvH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;AACjG,MAAM,MAAM,wBAAwB,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,IAClF,WAAW,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC;AAE7C,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;AAC7F,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,IAChF,WAAW,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;AAE3C,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;AACzF,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;AACrG,MAAM,MAAM,6BAA6B,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAEnH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;AACnH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;AACrH,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,IAChF,WAAW,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;AAC3C,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;AAEjH,MAAM,MAAM,8BAA8B,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,IAChF,WAAW,CAAC,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC;AACnD,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;AAEjG,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;AAC3G,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;AAE7G,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;AAC/G,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;AACrH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;AAC/G,MAAM,MAAM,yBAAyB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,IAC7E,WAAW,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC;AAC9C,MAAM,MAAM,2BAA2B,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,IAC/E,WAAW,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC;AAChD,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAC7G,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;AACvG,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;AAEvG,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,QAAQ,GAAG,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;AAEtF,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,QAAQ,GAAG,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;AAChF,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,QAAQ,GAAG,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAE5E,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;AACvG,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;AACnH,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,IAC9E,WAAW,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;AAEzC,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,QAAQ,GAAG,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;AACtF,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,QAAQ,GAAG,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;AAClG,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,QAAQ,GAAG,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;AACpG,MAAM,MAAM,wBAAwB,CAAC,CAAC,SAAS,QAAQ,GAAG,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC;AAChH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,QAAQ,GAAG,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAChG,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,QAAQ,GAAG,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;AAClG,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,QAAQ,GAAG,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;AAC9G,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/lib/types.js CHANGED
@@ -3,6 +3,7 @@ export { ts as altair } from "./altair/index.js";
3
3
  export { ts as bellatrix } from "./bellatrix/index.js";
4
4
  export { ts as capella } from "./capella/index.js";
5
5
  export { ts as deneb } from "./deneb/index.js";
6
+ export { ts as eip8025 } from "./eip8025/index.js";
6
7
  export { ts as electra } from "./electra/index.js";
7
8
  export { ts as fulu } from "./fulu/index.js";
8
9
  export { ts as gloas } from "./gloas/index.js";
package/lib/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,GAOT,MAAM,kBAAkB,CAAC;AAY1B,OAAO,EAAC,EAAE,IAAI,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,EAAE,IAAI,SAAS,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,EAAE,IAAI,OAAO,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,EAAE,IAAI,KAAK,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,EAAE,IAAI,OAAO,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,EAAE,IAAI,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,EAAE,IAAI,KAAK,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,EAAE,IAAI,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,EAAE,IAAI,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AAKrC,0DAA0D;AAC1D,MAAM,CAAN,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,0CAAmB,CAAA;IACnB,wCAAiB,CAAA;AACnB,CAAC,EAHW,mBAAmB,KAAnB,mBAAmB,QAG9B"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,GAOT,MAAM,kBAAkB,CAAC;AAY1B,OAAO,EAAC,EAAE,IAAI,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,EAAE,IAAI,SAAS,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,EAAE,IAAI,OAAO,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,EAAE,IAAI,KAAK,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,EAAE,IAAI,OAAO,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,EAAE,IAAI,OAAO,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,EAAE,IAAI,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,EAAE,IAAI,KAAK,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,EAAE,IAAI,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,EAAE,IAAI,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AAKrC,0DAA0D;AAC1D,MAAM,CAAN,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,0CAAmB,CAAA;IACnB,wCAAiB,CAAA;AACnB,CAAC,EAHW,mBAAmB,KAAnB,mBAAmB,QAG9B"}
@@ -1,4 +1,4 @@
1
- import { ForkPostBellatrix, ForkPostDeneb, ForkPostElectra, ForkPostGloas } from "@lodestar/params";
1
+ import { ForkPostBellatrix, ForkPostDeneb, ForkPostElectra, ForkPostGloas, ForkPreGloas } from "@lodestar/params";
2
2
  import { SignedExecutionPayloadEnvelope, SignedExecutionPayloadEnvelopeContents } from "../gloas/types.js";
3
3
  import { Attestation, BeaconBlock, BeaconBlockBody, BlindedBeaconBlock, BlindedBeaconBlockBody, BlockContents, DataColumnSidecar, ExecutionPayload, ExecutionPayloadAndBlobsBundle, ExecutionPayloadHeader, LightClientFinalityUpdate, LightClientUpdate, SignedBeaconBlock, SignedBlindedBeaconBlock, SignedBlockContents, SingleAttestation } from "../types.js";
4
4
  export declare function isExecutionPayload<F extends ForkPostBellatrix>(payload: ExecutionPayload<F> | ExecutionPayloadHeader<F>): payload is ExecutionPayload<F>;
@@ -8,7 +8,7 @@ export declare function isBlindedBeaconBlock<F extends ForkPostBellatrix>(block:
8
8
  export declare function isBlindedSignedBeaconBlock<F extends ForkPostBellatrix>(signedBlock: SignedBeaconBlock | SignedBlockContents): signedBlock is SignedBlindedBeaconBlock<F>;
9
9
  export declare function isBlindedBeaconBlockBody<F extends ForkPostBellatrix>(body: BeaconBlockBody | BlindedBeaconBlockBody): body is BlindedBeaconBlockBody<F>;
10
10
  export declare function isDenebBlockContents(data: BeaconBlock | BlockContents | SignedBeaconBlock | SignedBlockContents): data is BlockContents<ForkPostDeneb>;
11
- export declare function isDenebSignedBlockContents(data: BeaconBlock | BlockContents | SignedBeaconBlock | SignedBlockContents): data is SignedBlockContents<ForkPostDeneb>;
11
+ export declare function isDenebSignedBlockContents(data: BeaconBlock | BlockContents | SignedBeaconBlock | SignedBlockContents): data is SignedBlockContents<ForkPostDeneb & ForkPreGloas>;
12
12
  export declare function isElectraAttestation(attestation: Attestation): attestation is Attestation<ForkPostElectra>;
13
13
  export declare function isElectraSingleAttestation(singleAttestation: SingleAttestation): singleAttestation is SingleAttestation<ForkPostElectra>;
14
14
  export declare function isElectraLightClientUpdate(update: LightClientUpdate): update is LightClientUpdate<ForkPostElectra>;
@@ -1 +1 @@
1
- {"version":3,"file":"typeguards.d.ts","sourceRoot":"","sources":["../../src/utils/typeguards.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typeguards.d.ts","sourceRoot":"","sources":["../../src/utils/typeguards.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ export function isDenebBlockContents(data) {
25
25
  return data.kzgProofs !== undefined;
26
26
  }
27
27
  export function isDenebSignedBlockContents(data) {
28
- return data.kzgProofs !== undefined;
28
+ return "kzgProofs" in data && data.kzgProofs !== undefined;
29
29
  }
30
30
  export function isElectraAttestation(attestation) {
31
31
  return attestation.committeeBits !== undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"typeguards.js","sourceRoot":"","sources":["../../src/utils/typeguards.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,GAK3B,MAAM,kBAAkB,CAAC;AAqB1B,MAAM,UAAU,kBAAkB,CAChC,OAAwD;IAExD,sEAAsE;IACtE,kEAAkE;IAClE,OAAQ,OAA+B,CAAC,YAAY,KAAK,SAAS,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,OAAwD;IAExD,sEAAsE;IACtE,kEAAkE;IAClE,OAAQ,OAAqC,CAAC,gBAAgB,KAAK,SAAS,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,IAA6E;IAE7E,OAAQ,IAAsD,CAAC,WAAW,KAAK,SAAS,CAAC;AAC3F,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,KAA4E;IAE5E,OAAQ,KAAqB,CAAC,IAAI,KAAK,IAAI,IAAI,wBAAwB,CAAE,KAAqB,CAAC,IAAI,CAAC,CAAC;AACvG,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,WAAoD;IAEpD,OAAQ,WAA2C,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,KAAK,SAAS,CAAC;AACxG,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,IAA8C;IAE9C,OAAQ,IAA+B,CAAC,sBAAsB,KAAK,SAAS,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,IAA2E;IAE3E,OAAQ,IAAqC,CAAC,SAAS,KAAK,SAAS,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,IAA2E;IAE3E,OAAQ,IAA2C,CAAC,SAAS,KAAK,SAAS,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,WAAwB;IAC3D,OAAQ,WAA4C,CAAC,aAAa,KAAK,SAAS,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,iBAAoC;IAEpC,OAAQ,iBAAwD,CAAC,cAAc,KAAK,SAAS,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,MAAyB;IAClE,MAAM,iBAAiB,GAAG,MAA4C,CAAC;IACvE,OAAO,CACL,iBAAiB,CAAC,cAAc,KAAK,SAAS;QAC9C,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,KAAK,4BAA4B;YACvE,iBAAiB,CAAC,cAAc,CAAC,MAAM,KAAK,0BAA0B,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,MAAiC;IAEjC,MAAM,iBAAiB,GAAG,MAA4C,CAAC;IACvE,OAAO,CACL,iBAAiB,CAAC,cAAc,KAAK,SAAS;QAC9C,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,KAAK,4BAA4B;YACvE,iBAAiB,CAAC,cAAc,CAAC,MAAM,KAAK,0BAA0B,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAkB;IACnD,OAAQ,KAAK,CAAC,IAAuC,CAAC,yBAAyB,KAAK,SAAS,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAA0B;IACjE,OAAQ,OAA4C,CAAC,eAAe,KAAK,SAAS,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,cAAuF;IAEvF,OAAQ,cAAyD,CAAC,8BAA8B,KAAK,SAAS,CAAC;AACjH,CAAC"}
1
+ {"version":3,"file":"typeguards.js","sourceRoot":"","sources":["../../src/utils/typeguards.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,GAM3B,MAAM,kBAAkB,CAAC;AAqB1B,MAAM,UAAU,kBAAkB,CAChC,OAAwD;IAExD,sEAAsE;IACtE,kEAAkE;IAClE,OAAQ,OAA+B,CAAC,YAAY,KAAK,SAAS,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,OAAwD;IAExD,sEAAsE;IACtE,kEAAkE;IAClE,OAAQ,OAAqC,CAAC,gBAAgB,KAAK,SAAS,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,IAA6E;IAE7E,OAAQ,IAAsD,CAAC,WAAW,KAAK,SAAS,CAAC;AAC3F,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,KAA4E;IAE5E,OAAQ,KAAqB,CAAC,IAAI,KAAK,IAAI,IAAI,wBAAwB,CAAE,KAAqB,CAAC,IAAI,CAAC,CAAC;AACvG,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,WAAoD;IAEpD,OAAQ,WAA2C,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,KAAK,SAAS,CAAC;AACxG,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,IAA8C;IAE9C,OAAQ,IAA+B,CAAC,sBAAsB,KAAK,SAAS,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,IAA2E;IAE3E,OAAQ,IAAqC,CAAC,SAAS,KAAK,SAAS,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,IAA2E;IAE3E,OAAO,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,WAAwB;IAC3D,OAAQ,WAA4C,CAAC,aAAa,KAAK,SAAS,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,iBAAoC;IAEpC,OAAQ,iBAAwD,CAAC,cAAc,KAAK,SAAS,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,MAAyB;IAClE,MAAM,iBAAiB,GAAG,MAA4C,CAAC;IACvE,OAAO,CACL,iBAAiB,CAAC,cAAc,KAAK,SAAS;QAC9C,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,KAAK,4BAA4B;YACvE,iBAAiB,CAAC,cAAc,CAAC,MAAM,KAAK,0BAA0B,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,MAAiC;IAEjC,MAAM,iBAAiB,GAAG,MAA4C,CAAC;IACvE,OAAO,CACL,iBAAiB,CAAC,cAAc,KAAK,SAAS;QAC9C,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,KAAK,4BAA4B;YACvE,iBAAiB,CAAC,cAAc,CAAC,MAAM,KAAK,0BAA0B,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAkB;IACnD,OAAQ,KAAK,CAAC,IAAuC,CAAC,yBAAyB,KAAK,SAAS,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAA0B;IACjE,OAAQ,OAA4C,CAAC,eAAe,KAAK,SAAS,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,cAAuF;IAEvF,OAAQ,cAAyD,CAAC,8BAA8B,KAAK,SAAS,CAAC;AACjH,CAAC"}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "bugs": {
12
12
  "url": "https://github.com/ChainSafe/lodestar/issues"
13
13
  },
14
- "version": "1.50.1",
14
+ "version": "1.51.0-dev.09763aa8d2",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -81,8 +81,8 @@
81
81
  },
82
82
  "types": "lib/index.d.ts",
83
83
  "dependencies": {
84
- "@chainsafe/ssz": "^1.8.1",
85
- "@lodestar/params": "^1.50.1",
84
+ "@chainsafe/ssz": "^1.9.0",
85
+ "@lodestar/params": "^1.51.0-dev.09763aa8d2",
86
86
  "ethereum-cryptography": "^2.0.0"
87
87
  },
88
88
  "keywords": [
@@ -91,5 +91,5 @@
91
91
  "beacon",
92
92
  "blockchain"
93
93
  ],
94
- "gitHead": "56cf1ab7b16a2805a985e104f2e7fcbaad98a22b"
94
+ "gitHead": "d867a046ddf9403403cbf198a19f049ff18d4cf5"
95
95
  }
@@ -2,4 +2,5 @@ export * from "./types.js";
2
2
 
3
3
  import * as ssz from "./sszTypes.js";
4
4
  import * as ts from "./types.js";
5
- export {ts, ssz};
5
+
6
+ export {ssz, ts};
@@ -2,4 +2,5 @@ export * from "./types.js";
2
2
 
3
3
  import * as ssz from "./sszTypes.js";
4
4
  import * as ts from "./types.js";
5
- export {ts, ssz};
5
+
6
+ export {ssz, ts};
@@ -1,4 +1,4 @@
1
- import {ByteListType, ByteVectorType, ContainerType, ListCompositeType} from "@chainsafe/ssz";
1
+ import {ByteListType, ByteVectorType, ContainerType, ListCompositeType, SerializedListType} from "@chainsafe/ssz";
2
2
  import {
3
3
  BYTES_PER_LOGS_BLOOM,
4
4
  HISTORICAL_ROOTS_LIMIT,
@@ -35,7 +35,7 @@ export const Transaction = new ByteListType(MAX_BYTES_PER_TRANSACTION);
35
35
  *
36
36
  * Spec v1.0.1
37
37
  */
38
- export const Transactions = new ListCompositeType(Transaction, MAX_TRANSACTIONS_PER_PAYLOAD);
38
+ export const Transactions = new SerializedListType(Transaction, MAX_TRANSACTIONS_PER_PAYLOAD);
39
39
 
40
40
  export const CommonExecutionPayloadType = new ContainerType({
41
41
  parentHash: Root,
@@ -2,4 +2,5 @@ export * from "./types.js";
2
2
 
3
3
  import * as ssz from "./sszTypes.js";
4
4
  import * as ts from "./types.js";
5
- export {ts, ssz};
5
+
6
+ export {ssz, ts};
@@ -2,4 +2,5 @@ export * from "./types.js";
2
2
 
3
3
  import * as ssz from "./sszTypes.js";
4
4
  import * as ts from "./types.js";
5
- export {ts, ssz};
5
+
6
+ export {ssz, ts};
@@ -0,0 +1,6 @@
1
+ export * from "./types.js";
2
+
3
+ import * as ssz from "./sszTypes.js";
4
+ import * as ts from "./types.js";
5
+
6
+ export {ssz, ts};
@@ -0,0 +1,46 @@
1
+ import {ByteListType, ContainerType, ProgressiveContainerType} from "@chainsafe/ssz";
2
+ import {MAX_PROOF_SIZE} from "@lodestar/params";
3
+ import * as primitiveSsz from "../primitive/sszTypes.js";
4
+
5
+ const {BLSSignature, Root, Uint8, Uint16, UintBn64, ValidatorIndex} = primitiveSsz;
6
+
7
+ export const ProofData = new ByteListType(MAX_PROOF_SIZE, {typeName: "ProofData"});
8
+ export const ProofType = Uint8;
9
+
10
+ export const PublicInput = new ProgressiveContainerType(
11
+ {
12
+ newPayloadRequestRoot: Root,
13
+ successfulValidation: primitiveSsz.Boolean,
14
+ chainId: UintBn64,
15
+ schemaId: Uint16,
16
+ },
17
+ [true, true, true, true],
18
+ {typeName: "PublicInput", jsonCase: "eth2"}
19
+ );
20
+
21
+ export const ExecutionProof = new ContainerType(
22
+ {
23
+ proofData: ProofData,
24
+ proofType: ProofType,
25
+ publicInput: PublicInput,
26
+ },
27
+ {typeName: "ExecutionProof", jsonCase: "eth2"}
28
+ );
29
+
30
+ export const ExecutionProofEnvelope = new ContainerType(
31
+ {
32
+ proofData: ProofData,
33
+ proofType: ProofType,
34
+ beaconBlockRoot: Root,
35
+ },
36
+ {typeName: "ExecutionProofEnvelope", jsonCase: "eth2"}
37
+ );
38
+
39
+ export const SignedExecutionProofEnvelope = new ContainerType(
40
+ {
41
+ message: ExecutionProofEnvelope,
42
+ validatorIndex: ValidatorIndex,
43
+ signature: BLSSignature,
44
+ },
45
+ {typeName: "SignedExecutionProofEnvelope", jsonCase: "eth2"}
46
+ );
@@ -0,0 +1,9 @@
1
+ import {ValueOf} from "@chainsafe/ssz";
2
+ import * as ssz from "./sszTypes.js";
3
+
4
+ export type ProofData = ValueOf<typeof ssz.ProofData>;
5
+ export type ProofType = ValueOf<typeof ssz.ProofType>;
6
+ export type PublicInput = ValueOf<typeof ssz.PublicInput>;
7
+ export type ExecutionProof = ValueOf<typeof ssz.ExecutionProof>;
8
+ export type ExecutionProofEnvelope = ValueOf<typeof ssz.ExecutionProofEnvelope>;
9
+ export type SignedExecutionProofEnvelope = ValueOf<typeof ssz.SignedExecutionProofEnvelope>;
@@ -2,4 +2,5 @@ export * from "./types.js";
2
2
 
3
3
  import * as ssz from "./sszTypes.js";
4
4
  import * as ts from "./types.js";
5
- export {ts, ssz};
5
+
6
+ export {ssz, ts};
package/src/fulu/index.ts CHANGED
@@ -2,4 +2,5 @@ export * from "./types.js";
2
2
 
3
3
  import * as ssz from "./sszTypes.js";
4
4
  import * as ts from "./types.js";
5
- export {ts, ssz};
5
+
6
+ export {ssz, ts};
@@ -2,4 +2,5 @@ export * from "./types.js";
2
2
 
3
3
  import * as ssz from "./sszTypes.js";
4
4
  import * as ts from "./types.js";
5
- export {ts, ssz};
5
+
6
+ export {ssz, ts};
@@ -9,6 +9,7 @@ import {
9
9
  ProgressiveContainerType,
10
10
  ProgressiveListBasicType,
11
11
  ProgressiveListCompositeType,
12
+ ProgressiveSerializedListType,
12
13
  VectorBasicType,
13
14
  VectorCompositeType,
14
15
  } from "@chainsafe/ssz";
@@ -96,7 +97,7 @@ export const AttestingIndices = new ProgressiveListBasicType(ValidatorIndex, {
96
97
  limit: MAX_VALIDATORS_PER_COMMITTEE * MAX_COMMITTEES_PER_SLOT,
97
98
  });
98
99
  export const Transaction = new ProgressiveByteListType({typeName: "Transaction", limit: MAX_BYTES_PER_TRANSACTION});
99
- export const Transactions = new ProgressiveListCompositeType(Transaction, {
100
+ export const Transactions = new ProgressiveSerializedListType(Transaction, {
100
101
  typeName: "Transactions",
101
102
  limit: MAX_TRANSACTIONS_PER_PAYLOAD,
102
103
  });
@@ -63,6 +63,7 @@ export type BeaconBlockBody = ValueOf<typeof ssz.BeaconBlockBody>;
63
63
  export type BeaconBlock = ValueOf<typeof ssz.BeaconBlock>;
64
64
  export type SignedBeaconBlock = ValueOf<typeof ssz.SignedBeaconBlock>;
65
65
  export type BlockContents = ValueOf<typeof ssz.BlockContents>;
66
+ export type SignedBlockContents = {signedBlock: SignedBeaconBlock};
66
67
  export type LightClientHeader = ValueOf<typeof ssz.LightClientHeader>;
67
68
  export type LightClientBootstrap = ValueOf<typeof ssz.LightClientBootstrap>;
68
69
  export type LightClientUpdate = ValueOf<typeof ssz.LightClientUpdate>;
package/src/heze/index.ts CHANGED
@@ -2,4 +2,5 @@ export * from "./types.js";
2
2
 
3
3
  import * as ssz from "./sszTypes.js";
4
4
  import * as ts from "./types.js";
5
- export {ts, ssz};
5
+
6
+ export {ssz, ts};