@itwin/core-common 5.0.0-dev.40 → 5.0.0-dev.49

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 (150) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/lib/cjs/AnalysisStyle.d.ts +0 -3
  3. package/lib/cjs/AnalysisStyle.d.ts.map +1 -1
  4. package/lib/cjs/AnalysisStyle.js +0 -3
  5. package/lib/cjs/AnalysisStyle.js.map +1 -1
  6. package/lib/cjs/FeatureSymbology.d.ts +25 -46
  7. package/lib/cjs/FeatureSymbology.d.ts.map +1 -1
  8. package/lib/cjs/FeatureSymbology.js +14 -29
  9. package/lib/cjs/FeatureSymbology.js.map +1 -1
  10. package/lib/cjs/FeatureTable.d.ts +6 -108
  11. package/lib/cjs/FeatureTable.d.ts.map +1 -1
  12. package/lib/cjs/FeatureTable.js +8 -329
  13. package/lib/cjs/FeatureTable.js.map +1 -1
  14. package/lib/cjs/Gradient.d.ts +3 -4
  15. package/lib/cjs/Gradient.d.ts.map +1 -1
  16. package/lib/cjs/Gradient.js +3 -4
  17. package/lib/cjs/Gradient.js.map +1 -1
  18. package/lib/cjs/HiddenLine.d.ts +17 -18
  19. package/lib/cjs/HiddenLine.d.ts.map +1 -1
  20. package/lib/cjs/HiddenLine.js +0 -1
  21. package/lib/cjs/HiddenLine.js.map +1 -1
  22. package/lib/cjs/Image.d.ts +7 -8
  23. package/lib/cjs/Image.d.ts.map +1 -1
  24. package/lib/cjs/Image.js +3 -4
  25. package/lib/cjs/Image.js.map +1 -1
  26. package/lib/cjs/PlanProjectionSettings.d.ts +1 -2
  27. package/lib/cjs/PlanProjectionSettings.d.ts.map +1 -1
  28. package/lib/cjs/PlanProjectionSettings.js +0 -1
  29. package/lib/cjs/PlanProjectionSettings.js.map +1 -1
  30. package/lib/cjs/PlanarClipMask.d.ts +0 -12
  31. package/lib/cjs/PlanarClipMask.d.ts.map +1 -1
  32. package/lib/cjs/PlanarClipMask.js.map +1 -1
  33. package/lib/cjs/QPoint.d.ts +5 -5
  34. package/lib/cjs/QPoint.d.ts.map +1 -1
  35. package/lib/cjs/QPoint.js +5 -5
  36. package/lib/cjs/QPoint.js.map +1 -1
  37. package/lib/cjs/RenderPolyline.d.ts +36 -0
  38. package/lib/cjs/RenderPolyline.d.ts.map +1 -0
  39. package/lib/cjs/RenderPolyline.js +26 -0
  40. package/lib/cjs/RenderPolyline.js.map +1 -0
  41. package/lib/cjs/RenderTexture.d.ts +4 -2
  42. package/lib/cjs/RenderTexture.d.ts.map +1 -1
  43. package/lib/cjs/RenderTexture.js +8 -0
  44. package/lib/cjs/RenderTexture.js.map +1 -1
  45. package/lib/cjs/TextureMapping.d.ts +17 -14
  46. package/lib/cjs/TextureMapping.d.ts.map +1 -1
  47. package/lib/cjs/TextureMapping.js +22 -17
  48. package/lib/cjs/TextureMapping.js.map +1 -1
  49. package/lib/cjs/ViewFlags.d.ts +1 -3
  50. package/lib/cjs/ViewFlags.d.ts.map +1 -1
  51. package/lib/cjs/ViewFlags.js +1 -3
  52. package/lib/cjs/ViewFlags.js.map +1 -1
  53. package/lib/cjs/core-common.d.ts +1 -1
  54. package/lib/cjs/core-common.d.ts.map +1 -1
  55. package/lib/cjs/core-common.js +1 -1
  56. package/lib/cjs/core-common.js.map +1 -1
  57. package/lib/cjs/internal/PackedFeatureTable.d.ts +111 -0
  58. package/lib/cjs/internal/PackedFeatureTable.d.ts.map +1 -0
  59. package/lib/cjs/internal/PackedFeatureTable.js +349 -0
  60. package/lib/cjs/internal/PackedFeatureTable.js.map +1 -0
  61. package/lib/cjs/internal/RenderMesh.d.ts +52 -0
  62. package/lib/cjs/internal/RenderMesh.d.ts.map +1 -0
  63. package/lib/cjs/{Render.js → internal/RenderMesh.js} +3 -25
  64. package/lib/cjs/internal/RenderMesh.js.map +1 -0
  65. package/lib/cjs/internal/cross-package.d.ts +2 -0
  66. package/lib/cjs/internal/cross-package.d.ts.map +1 -1
  67. package/lib/cjs/internal/cross-package.js +12 -0
  68. package/lib/cjs/internal/cross-package.js.map +1 -1
  69. package/lib/cjs/rpc/core/RpcRequest.d.ts +1 -1
  70. package/lib/cjs/rpc/core/RpcRequest.d.ts.map +1 -1
  71. package/lib/cjs/rpc/core/RpcRequest.js +4 -4
  72. package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
  73. package/lib/esm/AnalysisStyle.d.ts +0 -3
  74. package/lib/esm/AnalysisStyle.d.ts.map +1 -1
  75. package/lib/esm/AnalysisStyle.js +0 -3
  76. package/lib/esm/AnalysisStyle.js.map +1 -1
  77. package/lib/esm/FeatureSymbology.d.ts +25 -46
  78. package/lib/esm/FeatureSymbology.d.ts.map +1 -1
  79. package/lib/esm/FeatureSymbology.js +14 -29
  80. package/lib/esm/FeatureSymbology.js.map +1 -1
  81. package/lib/esm/FeatureTable.d.ts +6 -108
  82. package/lib/esm/FeatureTable.d.ts.map +1 -1
  83. package/lib/esm/FeatureTable.js +6 -324
  84. package/lib/esm/FeatureTable.js.map +1 -1
  85. package/lib/esm/Gradient.d.ts +3 -4
  86. package/lib/esm/Gradient.d.ts.map +1 -1
  87. package/lib/esm/Gradient.js +3 -4
  88. package/lib/esm/Gradient.js.map +1 -1
  89. package/lib/esm/HiddenLine.d.ts +17 -18
  90. package/lib/esm/HiddenLine.d.ts.map +1 -1
  91. package/lib/esm/HiddenLine.js +0 -1
  92. package/lib/esm/HiddenLine.js.map +1 -1
  93. package/lib/esm/Image.d.ts +7 -8
  94. package/lib/esm/Image.d.ts.map +1 -1
  95. package/lib/esm/Image.js +3 -4
  96. package/lib/esm/Image.js.map +1 -1
  97. package/lib/esm/PlanProjectionSettings.d.ts +1 -2
  98. package/lib/esm/PlanProjectionSettings.d.ts.map +1 -1
  99. package/lib/esm/PlanProjectionSettings.js +0 -1
  100. package/lib/esm/PlanProjectionSettings.js.map +1 -1
  101. package/lib/esm/PlanarClipMask.d.ts +0 -12
  102. package/lib/esm/PlanarClipMask.d.ts.map +1 -1
  103. package/lib/esm/PlanarClipMask.js.map +1 -1
  104. package/lib/esm/QPoint.d.ts +5 -5
  105. package/lib/esm/QPoint.d.ts.map +1 -1
  106. package/lib/esm/QPoint.js +5 -5
  107. package/lib/esm/QPoint.js.map +1 -1
  108. package/lib/esm/RenderPolyline.d.ts +36 -0
  109. package/lib/esm/RenderPolyline.d.ts.map +1 -0
  110. package/lib/esm/RenderPolyline.js +23 -0
  111. package/lib/esm/RenderPolyline.js.map +1 -0
  112. package/lib/esm/RenderTexture.d.ts +4 -2
  113. package/lib/esm/RenderTexture.d.ts.map +1 -1
  114. package/lib/esm/RenderTexture.js +8 -0
  115. package/lib/esm/RenderTexture.js.map +1 -1
  116. package/lib/esm/TextureMapping.d.ts +17 -14
  117. package/lib/esm/TextureMapping.d.ts.map +1 -1
  118. package/lib/esm/TextureMapping.js +22 -17
  119. package/lib/esm/TextureMapping.js.map +1 -1
  120. package/lib/esm/ViewFlags.d.ts +1 -3
  121. package/lib/esm/ViewFlags.d.ts.map +1 -1
  122. package/lib/esm/ViewFlags.js +1 -3
  123. package/lib/esm/ViewFlags.js.map +1 -1
  124. package/lib/esm/core-common.d.ts +1 -1
  125. package/lib/esm/core-common.d.ts.map +1 -1
  126. package/lib/esm/core-common.js +1 -1
  127. package/lib/esm/core-common.js.map +1 -1
  128. package/lib/esm/internal/PackedFeatureTable.d.ts +111 -0
  129. package/lib/esm/internal/PackedFeatureTable.d.ts.map +1 -0
  130. package/lib/esm/internal/PackedFeatureTable.js +342 -0
  131. package/lib/esm/internal/PackedFeatureTable.js.map +1 -0
  132. package/lib/esm/internal/RenderMesh.d.ts +52 -0
  133. package/lib/esm/internal/RenderMesh.d.ts.map +1 -0
  134. package/lib/esm/{Render.js → internal/RenderMesh.js} +2 -23
  135. package/lib/esm/internal/RenderMesh.js.map +1 -0
  136. package/lib/esm/internal/cross-package.d.ts +2 -0
  137. package/lib/esm/internal/cross-package.d.ts.map +1 -1
  138. package/lib/esm/internal/cross-package.js +2 -1
  139. package/lib/esm/internal/cross-package.js.map +1 -1
  140. package/lib/esm/rpc/core/RpcRequest.d.ts +1 -1
  141. package/lib/esm/rpc/core/RpcRequest.d.ts.map +1 -1
  142. package/lib/esm/rpc/core/RpcRequest.js +4 -4
  143. package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
  144. package/package.json +7 -7
  145. package/lib/cjs/Render.d.ts +0 -85
  146. package/lib/cjs/Render.d.ts.map +0 -1
  147. package/lib/cjs/Render.js.map +0 -1
  148. package/lib/esm/Render.d.ts +0 -85
  149. package/lib/esm/Render.d.ts.map +0 -1
  150. package/lib/esm/Render.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"RpcRequest.js","sourceRoot":"","sources":["../../../../src/rpc/core/RpcRequest.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAAmE;AAEnE,mDAA8E;AAE9E,yDAAsD;AACtD,iDAA8G;AAE9G,mDAAoE;AACpE,iDAA8C;AAC9C,+CAAkF;AAClF,+CAAgD;AAEhD,yDAAyD;AACzD,qBAAqB;AACrB,qDAAqD;AAErD,gBAAgB;AACH,QAAA,aAAa,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;AAEjE,gBAAgB;AAChB,MAAa,YAAY;IAEvB,IAAW,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;IAC3B,KAAK,CAAC,WAAW,KAA2B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAChE,KAAK,CAAC,IAAI,KAAoB,MAAM,IAAI,yBAAW,CAAC,4BAAa,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC/F,KAAK,CAAC,QAAQ,KAAwB,MAAM,IAAI,yBAAW,CAAC,4BAAa,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACvG,KAAK,CAAC,IAAI,KAAmB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,KAAK,CAAC,IAAI,KAAsB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3D,IAAW,QAAQ,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC;IACvC,IAAW,OAAO,KAAc,MAAM,IAAI,yBAAW,CAAC,4BAAa,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACjG,IAAW,EAAE,KAAc,OAAO,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC;IAC7E,IAAW,UAAU,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC;IACzC,IAAW,MAAM,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC;IACnC,IAAW,UAAU,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;IACtC,IAAW,OAAO,KAAuB,MAAM,IAAI,yBAAW,CAAC,4BAAa,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC1G,IAAW,IAAI,KAAmB,OAAO,OAAO,CAAC,CAAC,CAAC;IACnD,IAAW,GAAG,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;IACxB,KAAK,KAAK,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IAEtC,YAAmB,IAAS;QAC1B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;CACF;AAtBD,oCAsBC;AAwCD,MAAM,WAAW;IAER,MAAM,KAAK,CAAC;IAEnB,YAAmB,IAAgB;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED;;GAEG;AACH,MAAsB,UAAU;aACf,oBAAe,GAA4B,IAAI,GAAG,EAAE,AAArC,CAAsC;IA2BpE,qDAAqD;IAC9C,MAAM,KAAK,cAAc,KAAsC,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAEpG,2DAA2D;aACpC,WAAM,GAAoC,IAAI,sBAAO,EAAE,AAAjD,CAAkD;IAE/E,4EAA4E;aACrD,qBAAgB,GAAuC,IAAI,sBAAO,EAAE,AAApD,CAAqD;IAE5F,qEAAqE;IAC9D,MAAM,KAAK,aAAa,KAA2B,OAAO,qBAAa,CAAC,CAAC,CAAC;IAEjF;;;OAGG;IACI,MAAM,CAAC,OAAO,CAAC,OAAqB;QACzC,OAAQ,OAAe,CAAC,6BAAe,CAAC,CAAC;IAC3C,CAAC;IAoBD,kCAAkC;IAClC,IAAW,MAAM,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAE5C,mEAAmE;IACnE,IAAW,cAAc,KAAK,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAE5D,4CAA4C;IAC5C,IAAW,aAAa,KAAK,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IAE1D,wDAAwD;IACxD,IAAW,WAAW,KAAK,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAKtD,uDAAuD;IACvD,IAAW,UAAU,KAAK,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAEpD,uCAAuC;IACvC,IAAW,OAAO;QAChB,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,+BAAgB,CAAC,SAAS,CAAC;YAChC,KAAK,+BAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC9B,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,CAAC,CAAC,CAAC;gBACR,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC3C,CAAC;IAQD,qEAAqE;IACrE,IAAW,UAAU,KAAK,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAEpD,uEAAuE;IAChE,mBAAmB,CAAI,kBAA+C;QAC3E,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAClD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBAClE,IAAI,IAAI,IAAI,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;wBACvE,OAAO,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,2DAA2D;IACpD,uBAAuB;QAC5B,OAAO,IAAI,CAAC,mBAAmB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE1D,CAAC;IAED,wDAAwD;IACxD,IAAW,WAAW;QACpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,iCAAiC;IACjC,YAAmB,MAAoB,EAAE,SAAiB,EAAE,UAAiB;QA1IrE,aAAQ,GAAqE,GAAG,EAAE,CAAC,SAAS,CAAC;QAC3F,gBAAW,GAAmE,GAAG,EAAE,CAAC,SAAS,CAAC;QAChG,YAAO,GAA2B,GAAG,EAAE,CAAC,SAAS,CAAC;QAClD,eAAU,GAA2B,GAAG,EAAE,CAAC,SAAS,CAAC;QACrD,aAAQ,GAAW,CAAC,CAAC;QACrB,mBAAc,GAAW,CAAC,CAAC;QAC3B,iBAAY,GAAW,CAAC,CAAC;QAEjC,gBAAgB;QACT,YAAO,GAAqB,+BAAgB,CAAC,OAAO,CAAC;QAE5D,gBAAgB;QACT,oBAAe,GAAW,EAAE,CAAC;QAE5B,gBAAW,GAAY,KAAK,CAAC;QAC7B,YAAO,GAAY,IAAI,CAAC;QACxB,oBAAe,GAAG,KAAK,CAAC;QACxB,SAAI,GAAqC,SAAS,CAAC;QAEnD,cAAS,GAAG,CAAC,CAAC;QACd,gBAAW,GAAkB,IAAI,CAAC;QAClC,qBAAgB,GAAG,CAAC,CAAC;QACnB,cAAS,GAAyB,SAAS,CAAC;QAE/C,4BAAuB,GAAG,gCAAkB,CAAC,IAAI,CAAC;QAmHvD,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,2BAAY,CAAC,MAAM,CAAC,MAAM,CAAC,WAAkB,EAAE,SAAS,CAAC,CAAC;QAC3E,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC/E,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACjD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;YAC3B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,GAAG,mCAAgB,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,mBAAI,CAAC,WAAW,EAAE,CAAC;QAC5E,IAAI,CAAC,SAAS,CAAC,+BAAgB,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAWD,kDAAkD;IACxC,kBAAkB;QAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IAC3C,CAAC;IAES,iBAAiB,CAAC,QAAgB;QAC1C,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IACzD,CAAC;IAES,oBAAoB;QAC5B,EAAE,IAAI,CAAC,gBAAgB,CAAC;IAC1B,CAAC;IAES,wBAAwB;QAChC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;IAC5B,CAAC;IAES,sBAAsB;QAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,yBAAW,CAAC,eAAe,IAAI,gCAAkB,CAAC,wBAAwB,IAAI,IAAI,CAAC,uBAAuB,IAAI,gCAAkB,CAAC,wBAAwB,CAAC;IACnK,CAAC;IAED,eAAe;IACR,MAAM;QACX,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,WAAW,EAAE,CAAC;YAC3C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAE1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,CAAC,+BAAgB,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED,eAAe;IACR,KAAK,CAAC,MAAM;QACjB,IAAI,CAAC,IAAI,CAAC,OAAO;YACf,OAAO;QAET,IAAI,CAAC,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,EAAE,IAAI,CAAC,SAAS,CAAC;QAEjB,IAAI,IAAI,CAAC,MAAM,KAAK,+BAAgB,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,+BAAgB,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,+BAAgB,CAAC,SAAS,EAAE,CAAC;YACxI,IAAI,CAAC,SAAS,CAAC,+BAAgB,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,+BAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YACvE,IAAI,CAAC,QAAQ,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACjF,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAEzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC7C,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,WAAW,EAAE,CAAC;gBACtC,OAAO;YACT,CAAC;YACD,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAE1B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAEjD,IAAI,IAAI,CAAC,eAAe,IAAI,MAAM,KAAK,+BAAgB,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,WAAW,EAAE,CAAC;gBAC5G,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC3C,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,+BAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;gBAExE,IAAI,MAAM,KAAK,+BAAgB,CAAC,OAAO,EAAE,CAAC;oBACxC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;oBACzB,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC3C,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;oBACrC,OAAO;gBACT,CAAC;gBAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBAChC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,+BAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;gBACvE,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC3C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,+BAAgB,CAAC,uBAAuB,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YACrF,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAES,qBAAqB,CAAC,IAAY;QAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,yBAAW,CAAC,4BAAa,CAAC,KAAK,EAAE,oBAAoB,IAAI,GAAG,CAAC,CAAC,CAAC;IACjF,CAAC;IAEO,cAAc,CAAC,IAAY,EAAE,KAAyB;QAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAEnE,IAAI,+BAAgB,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;QAED,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,+BAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/B,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;YAED,KAAK,+BAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/B,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;YAED,KAAK,+BAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAChD,CAAC;YAED,KAAK,+BAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/B,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC5C,CAAC;YAED,KAAK,+BAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;gBAChC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAEO,uBAAuB,CAAC,cAAgC,EAAE,KAAyB;QACzF,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC;YACnC,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,IAAI,MAAM,GAAG,cAAc,CAAC;QAE5B,IAAI,cAAc,KAAK,+BAAgB,CAAC,OAAO,EAAE,CAAC;YAChD,MAAM,GAAG,+BAAgB,CAAC,QAAQ,CAAC;QACrC,CAAC;aAAM,IAAI,cAAc,KAAK,+BAAgB,CAAC,QAAQ,EAAE,CAAC;YACxD,MAAM,GAAG,+BAAgB,CAAC,QAAQ,CAAC;QACrC,CAAC;aAAM,IAAI,cAAc,KAAK,+BAAgB,CAAC,OAAO,EAAE,CAAC;YACvD,MAAM,GAAG,+BAAgB,CAAC,QAAQ,CAAC;QACrC,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC1G,MAAM,aAAa,GAAqB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAClE,KAAK,CAAC,OAAO,GAAG,aAAa,CAAC,aAAuB,CAAC;YAEtD,IAAI,aAAa,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBAC9C,MAAM,GAAG,+BAAgB,CAAC,OAAO,CAAC;YACpC,CAAC;iBAAM,IAAI,aAAa,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;gBACtD,MAAM,GAAG,+BAAgB,CAAC,QAAQ,CAAC;YACrC,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,cAAc,CAAC,KAAyB;QAC9C,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC;YAC1B,MAAM,MAAM,GAAc,6BAAa,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAE1E,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;YAC5B,CAAC;YAED,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,KAAyB;QAC9C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,+BAAgB,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;QAE7E,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,6BAAa,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAG,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YACxH,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,MAAM,WAAW,GAAG,CAAC,OAAO,IAAI,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,4BAAa,CAAC,KAAK,CAAC;YAC/G,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,0BAAY,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAChF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,eAAe;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,4BAAc,EAAE,CAAC,CAAC;IAC3C,CAAC;IAEO,cAAc,CAAC,MAAwB,EAAE,KAAyB;QACxE,IAAI,UAAU,CAAC,gBAAgB,CAAC,iBAAiB,KAAK,CAAC;YACrD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE7B,MAAM,QAAQ,GAAG,6BAAa,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEvB,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,UAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE;YAC1D,IAAI,WAAW;gBACb,MAAM,IAAI,yBAAW,CAAC,4BAAa,CAAC,KAAK,EAAE,yCAAyC,CAAC,CAAC;YAExF,WAAW,GAAG,IAAI,CAAC;YACnB,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QACrB,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/E,OAAO;IACT,CAAC;IAEO,OAAO,CAAC,MAAiB;QAC/B,IAAI,CAAC,IAAI,CAAC,OAAO;YACf,OAAO;QAET,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEtB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;gBACvC,MAAM,IAAI,yBAAW,CAAC,4BAAa,CAAC,KAAK,EAAE,6BAA6B,CAAC,CAAC;YAC5E,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,+BAAgB,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAEO,UAAU;QAChB,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,WAAW,EAAE,CAAC;YAC5C,MAAM,IAAI,yBAAW,CAAC,4BAAa,CAAC,KAAK,EAAE,6BAA6B,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,+BAAgB,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAES,MAAM,CAAC,MAAW;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO;YACf,OAAO;QAET,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAErB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,+BAAgB,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,gBAAgB;IACT,OAAO;QACZ,IAAI,CAAC,SAAS,CAAC,+BAAgB,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAa,CAAC;QAClC,IAAI,MAAM,CAAC,6BAAe,CAAC,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,CAAC,6BAAe,CAAC,GAAG,SAAS,CAAC;QACtC,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,MAAgC,EAAE,cAAsB;QACzE,IAAI,CAAC,IAAI,CAAC,OAAO;YACf,OAAO;QAET,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACvB,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,8BAAe,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;IAC5E,CAAC;IAEO,oBAAoB,CAAC,MAAwB;QACnD,IAAI,CAAC,IAAI,CAAC,OAAO;YACf,OAAO;QAET,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAE9D,IAAI,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC;YAC5E,IAAI,CAAC,MAAM,CAAC,IAAI,yBAAW,CAAC,4BAAa,CAAC,KAAK,EAAE,iCAAiC,CAAC,CAAC,CAAC;QACvF,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACvB,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,8BAAe,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAES,KAAK,CAAC,UAAU;QACxB,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QAC9D,IAAI,aAAa,IAAI,yBAAW,CAAC,eAAe;YAC9C,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,yBAAW,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;QAExE,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,yCAAyC,CAAC;QAC5E,MAAM,YAAY,GAAG,MAAM,mCAAgB,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE3E,IAAI,WAAW,CAAC,EAAE;YAChB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB;QAEhF,IAAI,WAAW,CAAC,kBAAkB;YAChC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,kBAAkB,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC;QAElF,IAAI,WAAW,CAAC,aAAa;YAC3B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;QAExE,IAAI,WAAW,CAAC,SAAS;YACvB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QAEhE,IAAI,WAAW,CAAC,aAAa,IAAI,YAAY,CAAC,aAAa;YACzD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;QAExE,IAAI,YAAY,CAAC,SAAS;YACxB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC1F,CAAC;IAEO,SAAS,CAAC,MAAwB;QACxC,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM;YACzB,OAAO;QAET,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,8BAAe,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;;AAtfH,gCAufC;AAED,gBAAgB;AACH,QAAA,oBAAoB,GAAG,CAAC,GAAG,EAAE;IACxC,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,OAAO,GAAG,EAAE;QACV,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,WAAW,GAAG,IAAI,CAAC;QAEnB,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;YAC9C,IAAI,IAAI,KAAK,8BAAe,CAAC,aAAa;gBACxC,OAAO;YAET,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;gBACvB,KAAK,+BAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;oBAChC,qBAAa,CAAC,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;oBAClD,MAAM;gBACR,CAAC;gBAED,KAAK,+BAAgB,CAAC,OAAO,CAAC;gBAC9B,KAAK,+BAAgB,CAAC,QAAQ,CAAC;gBAC/B,KAAK,+BAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC/B,qBAAa,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;oBACjD,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,yBAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACtC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YAEjC,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,+BAAgB,CAAC,eAAe,CAAC,CAAC,CAAC;oBACtC,qBAAa,CAAC,WAAW,GAAG,GAAG,CAAC;oBAChC,MAAM;gBACR,CAAC;gBAED,KAAK,+BAAgB,CAAC,sBAAsB,CAAC;gBAC7C,KAAK,+BAAgB,CAAC,oBAAoB,CAAC;gBAC3C,KAAK,+BAAgB,CAAC,sBAAsB,CAAC,CAAC,CAAC;oBAC7C,qBAAa,CAAC,YAAY,GAAG,GAAG,CAAC;oBACjC,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC,EAAE,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module RpcInterface\n */\n\nimport { BeEvent, BentleyStatus, Guid } from \"@itwin/core-bentley\";\nimport { IModelRpcProps } from \"../../IModel\";\nimport { BackendError, IModelError, NoContentError } from \"../../IModelError\";\nimport { RpcInterface } from \"../../RpcInterface\";\nimport { RpcConfiguration } from \"./RpcConfiguration\";\nimport { RpcProtocolEvent, RpcRequestEvent, RpcRequestStatus, RpcResponseCacheControl } from \"./RpcConstants\";\nimport { RpcNotFoundResponse } from \"./RpcControl\";\nimport { RpcMarshaling, RpcSerializedValue } from \"./RpcMarshaling\";\nimport { RpcOperation } from \"./RpcOperation\";\nimport { RpcManagedStatus, RpcProtocol, RpcProtocolVersion } from \"./RpcProtocol\";\nimport { CURRENT_REQUEST } from \"./RpcRegistry\";\n\n/* eslint-disable @typescript-eslint/naming-convention */\n// cspell:ignore csrf\n/* eslint-disable @typescript-eslint/no-deprecated */\n\n/** @internal */\nexport const aggregateLoad = { lastRequest: 0, lastResponse: 0 };\n\n/** @internal */\nexport class ResponseLike implements Response {\n private _data: Promise<any>;\n public get body() { return null; }\n public async arrayBuffer(): Promise<ArrayBuffer> { return this._data; }\n public async blob(): Promise<Blob> { throw new IModelError(BentleyStatus.ERROR, \"Not implemented.\"); }\n public async formData(): Promise<FormData> { throw new IModelError(BentleyStatus.ERROR, \"Not implemented.\"); }\n public async json(): Promise<any> { return this._data; }\n public async text(): Promise<string> { return this._data; }\n public get bodyUsed() { return false; }\n public get headers(): Headers { throw new IModelError(BentleyStatus.ERROR, \"Not implemented.\"); }\n public get ok(): boolean { return this.status >= 200 && this.status <= 299; }\n public get redirected() { return false; }\n public get status() { return 200; }\n public get statusText() { return \"\"; }\n public get trailer(): Promise<Headers> { throw new IModelError(BentleyStatus.ERROR, \"Not implemented.\"); }\n public get type(): ResponseType { return \"basic\"; }\n public get url() { return \"\"; }\n public clone() { return { ...this }; }\n\n public constructor(data: any) {\n this._data = Promise.resolve(data);\n }\n}\n\n/** Supplies an IModelRpcProps for an RPC request.\n * @internal\n */\nexport type RpcRequestTokenSupplier_T = (request: RpcRequest) => IModelRpcProps | undefined;\n\n/** Supplies the initial retry interval for an RPC request.\n * @internal\n */\nexport type RpcRequestInitialRetryIntervalSupplier_T = (configuration: RpcConfiguration) => number;\n\n/** Notification callback for an RPC request.\n * @internal\n */\nexport type RpcRequestCallback_T = (request: RpcRequest) => void;\n\n/** Determines if caching is permitted for a RPC response.\n * @internal\n */\nexport type RpcResponseCachingCallback_T = (request: RpcRequest) => RpcResponseCacheControl;\n\n/** Runtime information related to the operation load of one or more RPC interfaces.\n * @internal\n */\nexport interface RpcOperationsProfile {\n readonly lastRequest: number;\n readonly lastResponse: number;\n}\n\n/** Handles RPC request events.\n * @internal\n */\nexport type RpcRequestEventHandler = (type: RpcRequestEvent, request: RpcRequest) => void;\n\n/** Resolves \"not found\" responses for RPC requests.\n * @internal\n */\nexport type RpcRequestNotFoundHandler = (request: RpcRequest, response: RpcNotFoundResponse, resubmit: () => void, reject: (reason?: any) => void) => void;\n\nclass Cancellable<T> {\n public promise: Promise<T | undefined>;\n public cancel() { }\n\n public constructor(task: Promise<T>) {\n this.promise = new Promise((resolve, reject) => {\n this.cancel = () => resolve(undefined);\n task.then(resolve, reject);\n });\n }\n}\n\n/** A RPC operation request.\n * @internal\n */\nexport abstract class RpcRequest<TResponse = any> {\n private static _activeRequests: Map<string, RpcRequest> = new Map();\n private _resolve: (value?: TResponse | PromiseLike<TResponse> | undefined) => void = () => undefined;\n protected _resolveRaw: (value?: Response | PromiseLike<Response> | undefined) => void = () => undefined;\n private _reject: (reason?: any) => void = () => undefined;\n private _rejectRaw: (reason?: any) => void = () => undefined;\n private _created: number = 0;\n private _lastSubmitted: number = 0;\n private _lastUpdated: number = 0;\n\n /** @internal */\n public _status: RpcRequestStatus = RpcRequestStatus.Unknown;\n\n /** @internal */\n public _extendedStatus: string = \"\";\n\n private _connecting: boolean = false;\n private _active: boolean = true;\n private _hasRawListener = false;\n private _raw: ArrayBuffer | string | undefined = undefined;\n private _sending?: Cancellable<number>;\n private _attempts = 0;\n private _retryAfter: number | null = null;\n private _transientFaults = 0;\n protected _response: Response | undefined = undefined;\n protected _rawPromise: Promise<Response | undefined>;\n public responseProtocolVersion = RpcProtocolVersion.None;\n\n /** All RPC requests that are currently in flight. */\n public static get activeRequests(): ReadonlyMap<string, RpcRequest> { return this._activeRequests; }\n\n /** Events raised by RpcRequest. See [[RpcRequestEvent]] */\n public static readonly events: BeEvent<RpcRequestEventHandler> = new BeEvent();\n\n /** Resolvers for \"not found\" requests. See [[RpcRequestNotFoundHandler]] */\n public static readonly notFoundHandlers: BeEvent<RpcRequestNotFoundHandler> = new BeEvent();\n\n /** The aggregate operations profile of all active RPC interfaces. */\n public static get aggregateLoad(): RpcOperationsProfile { return aggregateLoad; }\n\n /**\n * The request for the current RPC operation.\n * @note The return value of this function is only reliable if program control was received from a RPC interface class member function that directly returns the result of calling RpcInterface.forward.\n */\n public static current(context: RpcInterface): RpcRequest {\n return (context as any)[CURRENT_REQUEST];\n }\n\n /** The unique identifier of this request. */\n public readonly id: string;\n\n /** The operation for this request. */\n public readonly operation: RpcOperation;\n\n /** The parameters for this request. */\n public parameters: any[];\n\n /** The RPC client instance for this request. */\n public readonly client: RpcInterface;\n\n /** Convenience access to the protocol of this request. */\n public readonly protocol: RpcProtocol;\n\n /** The implementation response for this request. */\n public readonly response: Promise<TResponse | undefined>;\n\n /** The status of this request. */\n public get status() { return this._status; }\n\n /** Extended status information for this request (if available). */\n public get extendedStatus() { return this._extendedStatus; }\n\n /** The last submission for this request. */\n public get lastSubmitted() { return this._lastSubmitted; }\n\n /** The last status update received for this request. */\n public get lastUpdated() { return this._lastUpdated; }\n\n /** The target interval (in milliseconds) between submission attempts for this request. */\n public retryInterval: number;\n\n /** Whether a connection is active for this request. */\n public get connecting() { return this._connecting; }\n\n /** Whether this request is pending. */\n public get pending(): boolean {\n switch (this.status) {\n case RpcRequestStatus.Submitted:\n case RpcRequestStatus.Pending: {\n return true;\n }\n\n default: {\n return false;\n }\n }\n }\n\n /** The elapsed time for this request. */\n public get elapsed(): number {\n return this._lastUpdated - this._created;\n }\n\n /** A protocol-specific path identifier for this request. */\n public path: string;\n\n /** A protocol-specific method identifier for this request. */\n public method: string;\n\n /** An attempt-specific value for when to next retry this request. */\n public get retryAfter() { return this._retryAfter; }\n\n /** Finds the first parameter of a given structural type if present. */\n public findParameterOfType<T>(requiredProperties: { [index: string]: string }): T | undefined {\n for (const param of this.parameters) {\n if (typeof (param) === \"object\" && param !== null) {\n for (const prop of Object.getOwnPropertyNames(requiredProperties)) {\n if (prop in param && typeof (param[prop]) === requiredProperties[prop]) {\n return param;\n }\n }\n }\n }\n\n return undefined;\n }\n\n /** Finds the first IModelRpcProps parameter if present. */\n public findTokenPropsParameter(): IModelRpcProps | undefined {\n return this.findParameterOfType({ iModelId: \"string\" });\n\n }\n\n /** The raw implementation response for this request. */\n public get rawResponse(): Promise<Response | undefined> {\n this._hasRawListener = true;\n return this._rawPromise;\n }\n\n /** Constructs an RPC request. */\n public constructor(client: RpcInterface, operation: string, parameters: any[]) {\n this._created = new Date().getTime();\n this.path = \"\";\n this.method = \"\";\n this.client = client;\n this.protocol = client.configuration.protocol;\n this.operation = RpcOperation.lookup(client.constructor as any, operation);\n this.parameters = parameters;\n this.retryInterval = this.operation.policy.retryInterval(client.configuration);\n this.response = new Promise((resolve, reject) => {\n this._resolve = resolve;\n this._reject = reject;\n });\n\n this._rawPromise = new Promise((resolve, reject) => {\n this._resolveRaw = resolve;\n this._rejectRaw = reject;\n });\n\n this.id = RpcConfiguration.requestContext.getId(this) || Guid.createValue();\n this.setStatus(RpcRequestStatus.Created);\n this.operation.policy.requestCallback(this);\n }\n\n /** Override to send the request. */\n protected abstract send(): Promise<number>;\n\n /** Override to load response value. */\n protected abstract load(): Promise<RpcSerializedValue>;\n\n /** Override to set request header values. */\n protected abstract setHeader(name: string, value: string): void;\n\n /** Sets the last updated time for the request. */\n protected setLastUpdatedTime() {\n this._lastUpdated = new Date().getTime();\n }\n\n protected computeRetryAfter(attempts: number) {\n return (((Math.pow(2, attempts) - 1) / 2) * 500) + 500;\n }\n\n protected recordTransientFault() {\n ++this._transientFaults;\n }\n\n protected resetTransientFaultCount() {\n this._transientFaults = 0;\n }\n\n protected supportsStatusCategory() {\n if (!this.protocol.supportsStatusCategory) {\n return false;\n }\n\n return RpcProtocol.protocolVersion >= RpcProtocolVersion.IntroducedStatusCategory && this.responseProtocolVersion >= RpcProtocolVersion.IntroducedStatusCategory;\n }\n\n /* @internal */\n public cancel() {\n if (typeof (this._sending) === \"undefined\") {\n return;\n }\n\n this._sending.cancel();\n this._sending = undefined;\n\n this._connecting = false;\n RpcRequest._activeRequests.delete(this.id);\n this.setStatus(RpcRequestStatus.Cancelled);\n }\n\n /* @internal */\n public async submit(): Promise<void> {\n if (!this._active)\n return;\n\n this._lastSubmitted = new Date().getTime();\n this._retryAfter = null;\n ++this._attempts;\n\n if (this.status === RpcRequestStatus.Created || this.status === RpcRequestStatus.NotFound || this.status === RpcRequestStatus.Cancelled) {\n this.setStatus(RpcRequestStatus.Submitted);\n }\n\n try {\n this._connecting = true;\n RpcRequest._activeRequests.set(this.id, this);\n this.protocol.events.raiseEvent(RpcProtocolEvent.RequestCreated, this);\n this._sending = new Cancellable(this.setHeaders().then(async () => this.send()));\n this.operation.policy.sentCallback(this);\n\n const response = await this._sending.promise;\n if (typeof (response) === \"undefined\") {\n return;\n }\n this._sending = undefined;\n\n const status = this.protocol.getStatus(response);\n\n if (this._hasRawListener && status === RpcRequestStatus.Resolved && typeof (this._response) !== \"undefined\") {\n this._connecting = false;\n RpcRequest._activeRequests.delete(this.id);\n this.resolveRaw();\n } else {\n this.protocol.events.raiseEvent(RpcProtocolEvent.ResponseLoading, this);\n\n if (status === RpcRequestStatus.Unknown) {\n this._connecting = false;\n RpcRequest._activeRequests.delete(this.id);\n this.handleUnknownResponse(response);\n return;\n }\n\n const value = await this.load();\n this.protocol.events.raiseEvent(RpcProtocolEvent.ResponseLoaded, this);\n RpcRequest._activeRequests.delete(this.id);\n this._connecting = false;\n this.handleResponse(response, value);\n }\n } catch (err) {\n this.protocol.events.raiseEvent(RpcProtocolEvent.ConnectionErrorReceived, this, err);\n RpcRequest._activeRequests.delete(this.id);\n this._connecting = false;\n this.reject(err);\n }\n }\n\n protected handleUnknownResponse(code: number) {\n this.reject(new IModelError(BentleyStatus.ERROR, `Unknown response ${code}.`));\n }\n\n private handleResponse(code: number, value: RpcSerializedValue) {\n const protocolStatus = this.protocol.getStatus(code);\n const status = this.transformResponseStatus(protocolStatus, value);\n\n if (RpcRequestStatus.isTransientError(status)) {\n return this.handleTransientError(status);\n }\n\n switch (status) {\n case RpcRequestStatus.Resolved: {\n return this.handleResolved(value);\n }\n\n case RpcRequestStatus.Rejected: {\n return this.handleRejected(value);\n }\n\n case RpcRequestStatus.Pending: {\n return this.setPending(status, value.objects);\n }\n\n case RpcRequestStatus.NotFound: {\n return this.handleNotFound(status, value);\n }\n\n case RpcRequestStatus.NoContent: {\n return this.handleNoContent();\n }\n }\n }\n\n private transformResponseStatus(protocolStatus: RpcRequestStatus, value: RpcSerializedValue): RpcRequestStatus {\n if (!this.supportsStatusCategory()) {\n return protocolStatus;\n }\n\n let status = protocolStatus;\n\n if (protocolStatus === RpcRequestStatus.Pending) {\n status = RpcRequestStatus.Rejected;\n } else if (protocolStatus === RpcRequestStatus.NotFound) {\n status = RpcRequestStatus.Rejected;\n } else if (protocolStatus === RpcRequestStatus.Unknown) {\n status = RpcRequestStatus.Rejected;\n }\n\n if (value.objects.indexOf(\"iTwinRpcCoreResponse\") !== -1 && value.objects.indexOf(\"managedStatus\") !== -1) {\n const managedStatus: RpcManagedStatus = JSON.parse(value.objects);\n value.objects = managedStatus.responseValue as string;\n\n if (managedStatus.managedStatus === \"pending\") {\n status = RpcRequestStatus.Pending;\n } else if (managedStatus.managedStatus === \"notFound\") {\n status = RpcRequestStatus.NotFound;\n }\n }\n\n return status;\n }\n\n private handleResolved(value: RpcSerializedValue) {\n try {\n this._raw = value.objects;\n const result: TResponse = RpcMarshaling.deserialize(this.protocol, value);\n\n if (ArrayBuffer.isView(result)) {\n this._raw = result.buffer;\n }\n\n return this.resolve(result);\n } catch (err) {\n return this.reject(err);\n }\n }\n\n private handleRejected(value: RpcSerializedValue) {\n this.protocol.events.raiseEvent(RpcProtocolEvent.BackendErrorReceived, this);\n\n try {\n const error = RpcMarshaling.deserialize(this.protocol, value);\n const hasInfo = error && typeof (error) === \"object\" && error.hasOwnProperty(\"name\") && error.hasOwnProperty(\"message\");\n const name = hasInfo ? error.name : \"\";\n const message = hasInfo ? error.message : \"\";\n const errorNumber = (hasInfo && error.hasOwnProperty(\"errorNumber\")) ? error.errorNumber : BentleyStatus.ERROR;\n return this.reject(new BackendError(errorNumber, name, message, () => error));\n } catch (err) {\n return this.reject(err);\n }\n }\n\n private handleNoContent() {\n return this.reject(new NoContentError());\n }\n\n private handleNotFound(status: RpcRequestStatus, value: RpcSerializedValue) {\n if (RpcRequest.notFoundHandlers.numberOfListeners === 0)\n this.handleRejected(value);\n\n const response = RpcMarshaling.deserialize(this.protocol, value);\n this.setStatus(status);\n\n let resubmitted = false;\n RpcRequest.notFoundHandlers.raiseEvent(this, response, () => {\n if (resubmitted)\n throw new IModelError(BentleyStatus.ERROR, `Already resubmitted using this handler.`);\n\n resubmitted = true;\n void this.submit();\n }, (reason: any) => reason ? this.reject(reason) : this.handleRejected(value));\n return;\n }\n\n private resolve(result: TResponse): void {\n if (!this._active)\n return;\n\n this._active = false;\n this.setLastUpdatedTime();\n this._resolve(result);\n\n if (this._hasRawListener) {\n if (typeof (this._raw) === \"undefined\") {\n throw new IModelError(BentleyStatus.ERROR, \"Cannot access raw response.\");\n }\n\n this._resolveRaw(new ResponseLike(this._raw));\n }\n\n this.setStatus(RpcRequestStatus.Resolved);\n this.dispose();\n }\n\n private resolveRaw() {\n if (typeof (this._response) === \"undefined\") {\n throw new IModelError(BentleyStatus.ERROR, \"Cannot access raw response.\");\n }\n\n this._active = false;\n this.setLastUpdatedTime();\n this._resolveRaw(this._response);\n this.setStatus(RpcRequestStatus.Resolved);\n this.dispose();\n }\n\n protected reject(reason: any): void {\n if (!this._active)\n return;\n\n this._active = false;\n this.setLastUpdatedTime();\n this._reject(reason);\n\n if (this._hasRawListener) {\n this._rejectRaw(reason);\n }\n\n this.setStatus(RpcRequestStatus.Rejected);\n this.dispose();\n }\n\n /** @internal */\n public dispose(): void {\n this.setStatus(RpcRequestStatus.Disposed);\n this._raw = undefined;\n this._response = undefined;\n\n const client = this.client as any;\n if (client[CURRENT_REQUEST] === this) {\n client[CURRENT_REQUEST] = undefined;\n }\n }\n\n private setPending(status: RpcRequestStatus.Pending, extendedStatus: string): void {\n if (!this._active)\n return;\n\n this.setLastUpdatedTime();\n this._extendedStatus = extendedStatus;\n this.setStatus(status);\n RpcRequest.events.raiseEvent(RpcRequestEvent.PendingUpdateReceived, this);\n }\n\n private handleTransientError(status: RpcRequestStatus) {\n if (!this._active)\n return;\n\n this.setLastUpdatedTime();\n this._retryAfter = this.computeRetryAfter(this._attempts - 1);\n\n if (this._transientFaults > this.protocol.configuration.transientFaultLimit) {\n this.reject(new IModelError(BentleyStatus.ERROR, `Exceeded transient fault limit.`));\n } else {\n this.setStatus(status);\n RpcRequest.events.raiseEvent(RpcRequestEvent.TransientErrorReceived, this);\n }\n }\n\n protected async setHeaders(): Promise<void> {\n const versionHeader = this.protocol.protocolVersionHeaderName;\n if (versionHeader && RpcProtocol.protocolVersion)\n this.setHeader(versionHeader, RpcProtocol.protocolVersion.toString());\n\n const headerNames = this.protocol.serializedClientRequestContextHeaderNames;\n const headerValues = await RpcConfiguration.requestContext.serialize(this);\n\n if (headerNames.id)\n this.setHeader(headerNames.id, headerValues.id || this.id); // Cannot be empty\n\n if (headerNames.applicationVersion)\n this.setHeader(headerNames.applicationVersion, headerValues.applicationVersion);\n\n if (headerNames.applicationId)\n this.setHeader(headerNames.applicationId, headerValues.applicationId);\n\n if (headerNames.sessionId)\n this.setHeader(headerNames.sessionId, headerValues.sessionId);\n\n if (headerNames.authorization && headerValues.authorization)\n this.setHeader(headerNames.authorization, headerValues.authorization);\n\n if (headerValues.csrfToken)\n this.setHeader(headerValues.csrfToken.headerName, headerValues.csrfToken.headerValue);\n }\n\n private setStatus(status: RpcRequestStatus): void {\n if (this._status === status)\n return;\n\n this._status = status;\n RpcRequest.events.raiseEvent(RpcRequestEvent.StatusChanged, this);\n }\n}\n\n/** @internal */\nexport const initializeRpcRequest = (() => {\n let initialized = false;\n\n return () => {\n if (initialized) {\n return;\n }\n\n initialized = true;\n\n RpcRequest.events.addListener((type, request) => {\n if (type !== RpcRequestEvent.StatusChanged)\n return;\n\n switch (request.status) {\n case RpcRequestStatus.Submitted: {\n aggregateLoad.lastRequest = request.lastSubmitted;\n break;\n }\n\n case RpcRequestStatus.Pending:\n case RpcRequestStatus.Resolved:\n case RpcRequestStatus.Rejected: {\n aggregateLoad.lastResponse = request.lastUpdated;\n break;\n }\n }\n });\n\n RpcProtocol.events.addListener((type) => {\n const now = new Date().getTime();\n\n switch (type) {\n case RpcProtocolEvent.RequestReceived: {\n aggregateLoad.lastRequest = now;\n break;\n }\n\n case RpcProtocolEvent.BackendReportedPending:\n case RpcProtocolEvent.BackendErrorOccurred:\n case RpcProtocolEvent.BackendResponseCreated: {\n aggregateLoad.lastResponse = now;\n break;\n }\n }\n });\n };\n})();\n"]}
1
+ {"version":3,"file":"RpcRequest.js","sourceRoot":"","sources":["../../../../src/rpc/core/RpcRequest.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAAmE;AAEnE,mDAA8E;AAE9E,yDAAsD;AACtD,iDAA8G;AAE9G,mDAAoE;AACpE,iDAA8C;AAC9C,+CAAkF;AAClF,+CAAgD;AAEhD,yDAAyD;AACzD,qBAAqB;AACrB,qDAAqD;AAErD,gBAAgB;AACH,QAAA,aAAa,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;AAEjE,gBAAgB;AAChB,MAAa,YAAY;IAEvB,IAAW,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;IAC3B,KAAK,CAAC,WAAW,KAA2B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAChE,KAAK,CAAC,IAAI,KAAoB,MAAM,IAAI,yBAAW,CAAC,4BAAa,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC/F,KAAK,CAAC,QAAQ,KAAwB,MAAM,IAAI,yBAAW,CAAC,4BAAa,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACvG,KAAK,CAAC,IAAI,KAAmB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,KAAK,CAAC,IAAI,KAAsB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3D,IAAW,QAAQ,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC;IACvC,IAAW,OAAO,KAAc,MAAM,IAAI,yBAAW,CAAC,4BAAa,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACjG,IAAW,EAAE,KAAc,OAAO,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC;IAC7E,IAAW,UAAU,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC;IACzC,IAAW,MAAM,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC;IACnC,IAAW,UAAU,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;IACtC,IAAW,OAAO,KAAuB,MAAM,IAAI,yBAAW,CAAC,4BAAa,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC1G,IAAW,IAAI,KAAmB,OAAO,OAAO,CAAC,CAAC,CAAC;IACnD,IAAW,GAAG,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;IACxB,KAAK,KAAK,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IAEtC,YAAmB,IAAS;QAC1B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;CACF;AAtBD,oCAsBC;AAwCD,MAAM,WAAW;IAER,MAAM,KAAK,CAAC;IAEnB,YAAmB,IAAgB;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED;;GAEG;AACH,MAAsB,UAAU;aACf,oBAAe,GAA4B,IAAI,GAAG,EAAE,AAArC,CAAsC;IA2BpE,qDAAqD;IAC9C,MAAM,KAAK,cAAc,KAAsC,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAEpG,2DAA2D;aACpC,WAAM,GAAoC,IAAI,sBAAO,EAAE,AAAjD,CAAkD;IAE/E,4EAA4E;aACrD,qBAAgB,GAAuC,IAAI,sBAAO,EAAE,AAApD,CAAqD;IAE5F,qEAAqE;IAC9D,MAAM,KAAK,aAAa,KAA2B,OAAO,qBAAa,CAAC,CAAC,CAAC;IAEjF;;;OAGG;IACI,MAAM,CAAC,OAAO,CAAC,OAAqB;QACzC,OAAQ,OAAe,CAAC,6BAAe,CAAC,CAAC;IAC3C,CAAC;IAoBD,kCAAkC;IAClC,IAAW,MAAM,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAE5C,mEAAmE;IACnE,IAAW,cAAc,KAAK,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAE5D,4CAA4C;IAC5C,IAAW,aAAa,KAAK,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IAE1D,wDAAwD;IACxD,IAAW,WAAW,KAAK,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAKtD,uDAAuD;IACvD,IAAW,UAAU,KAAK,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAEpD,uCAAuC;IACvC,IAAW,OAAO;QAChB,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,+BAAgB,CAAC,SAAS,CAAC;YAChC,KAAK,+BAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC9B,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,CAAC,CAAC,CAAC;gBACR,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC3C,CAAC;IAQD,qEAAqE;IACrE,IAAW,UAAU,KAAK,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAEpD,uEAAuE;IAChE,mBAAmB,CAAI,kBAA+C;QAC3E,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAClD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBAClE,IAAI,IAAI,IAAI,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;wBACvE,OAAO,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,2DAA2D;IACpD,uBAAuB;QAC5B,OAAO,IAAI,CAAC,mBAAmB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE1D,CAAC;IAED,wDAAwD;IACxD,IAAW,WAAW;QACpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,iCAAiC;IACjC,YAAmB,MAAoB,EAAE,SAAiB,EAAE,UAAiB;QA1IrE,aAAQ,GAAqE,GAAG,EAAE,CAAC,SAAS,CAAC;QAC3F,gBAAW,GAAmE,GAAG,EAAE,CAAC,SAAS,CAAC;QAChG,YAAO,GAA2B,GAAG,EAAE,CAAC,SAAS,CAAC;QAClD,eAAU,GAA2B,GAAG,EAAE,CAAC,SAAS,CAAC;QACrD,aAAQ,GAAW,CAAC,CAAC;QACrB,mBAAc,GAAW,CAAC,CAAC;QAC3B,iBAAY,GAAW,CAAC,CAAC;QAEjC,gBAAgB;QACT,YAAO,GAAqB,+BAAgB,CAAC,OAAO,CAAC;QAE5D,gBAAgB;QACT,oBAAe,GAAW,EAAE,CAAC;QAE5B,gBAAW,GAAY,KAAK,CAAC;QAC7B,YAAO,GAAY,IAAI,CAAC;QACxB,oBAAe,GAAG,KAAK,CAAC;QACxB,SAAI,GAAqC,SAAS,CAAC;QAEnD,cAAS,GAAG,CAAC,CAAC;QACd,gBAAW,GAAkB,IAAI,CAAC;QAClC,qBAAgB,GAAG,CAAC,CAAC;QACnB,cAAS,GAAyB,SAAS,CAAC;QAE/C,4BAAuB,GAAG,gCAAkB,CAAC,IAAI,CAAC;QAmHvD,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,2BAAY,CAAC,MAAM,CAAC,MAAM,CAAC,WAAkB,EAAE,SAAS,CAAC,CAAC;QAC3E,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC/E,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACjD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;YAC3B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,GAAG,mCAAgB,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,mBAAI,CAAC,WAAW,EAAE,CAAC;QAC5E,IAAI,CAAC,SAAS,CAAC,+BAAgB,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAWD,kDAAkD;IACxC,kBAAkB;QAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IAC3C,CAAC;IAES,iBAAiB,CAAC,QAAgB;QAC1C,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IACzD,CAAC;IAES,oBAAoB;QAC5B,EAAE,IAAI,CAAC,gBAAgB,CAAC;IAC1B,CAAC;IAES,wBAAwB;QAChC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;IAC5B,CAAC;IAES,sBAAsB;QAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,yBAAW,CAAC,eAAe,IAAI,gCAAkB,CAAC,wBAAwB,IAAI,IAAI,CAAC,uBAAuB,IAAI,gCAAkB,CAAC,wBAAwB,CAAC;IACnK,CAAC;IAED,eAAe;IACR,MAAM;QACX,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,WAAW,EAAE,CAAC;YAC3C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAE1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,CAAC,+BAAgB,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED,eAAe;IACR,KAAK,CAAC,MAAM;QACjB,IAAI,CAAC,IAAI,CAAC,OAAO;YACf,OAAO;QAET,IAAI,CAAC,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,EAAE,IAAI,CAAC,SAAS,CAAC;QAEjB,IAAI,IAAI,CAAC,MAAM,KAAK,+BAAgB,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,+BAAgB,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,+BAAgB,CAAC,SAAS,EAAE,CAAC;YACxI,IAAI,CAAC,SAAS,CAAC,+BAAgB,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,+BAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YACvE,IAAI,CAAC,QAAQ,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACjF,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAEzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC7C,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,WAAW,EAAE,CAAC;gBACtC,OAAO;YACT,CAAC;YACD,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAE1B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAEjD,IAAI,IAAI,CAAC,eAAe,IAAI,MAAM,KAAK,+BAAgB,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,WAAW,EAAE,CAAC;gBAC5G,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC3C,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,+BAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;gBAExE,IAAI,MAAM,KAAK,+BAAgB,CAAC,OAAO,EAAE,CAAC;oBACxC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;oBACzB,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC3C,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;oBACrC,OAAO;gBACT,CAAC;gBAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBAChC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,+BAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;gBACvE,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC3C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,+BAAgB,CAAC,uBAAuB,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YACrF,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAES,qBAAqB,CAAC,IAAY;QAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,yBAAW,CAAC,4BAAa,CAAC,KAAK,EAAE,oBAAoB,IAAI,GAAG,CAAC,CAAC,CAAC;IACjF,CAAC;IAEO,cAAc,CAAC,IAAY,EAAE,KAAyB;QAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAEnE,IAAI,+BAAgB,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;QAED,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,+BAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/B,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;YAED,KAAK,+BAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/B,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;YAED,KAAK,+BAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAChD,CAAC;YAED,KAAK,+BAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/B,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC5C,CAAC;YAED,KAAK,+BAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;gBAChC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAEO,uBAAuB,CAAC,cAAgC,EAAE,KAAyB;QACzF,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC;YACnC,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,IAAI,MAAM,GAAG,cAAc,CAAC;QAE5B,IAAI,cAAc,KAAK,+BAAgB,CAAC,OAAO,EAAE,CAAC;YAChD,MAAM,GAAG,+BAAgB,CAAC,QAAQ,CAAC;QACrC,CAAC;aAAM,IAAI,cAAc,KAAK,+BAAgB,CAAC,QAAQ,EAAE,CAAC;YACxD,MAAM,GAAG,+BAAgB,CAAC,QAAQ,CAAC;QACrC,CAAC;aAAM,IAAI,cAAc,KAAK,+BAAgB,CAAC,OAAO,EAAE,CAAC;YACvD,MAAM,GAAG,+BAAgB,CAAC,QAAQ,CAAC;QACrC,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC1G,MAAM,aAAa,GAAqB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAClE,KAAK,CAAC,OAAO,GAAG,aAAa,CAAC,aAAuB,CAAC;YAEtD,IAAI,aAAa,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBAC9C,MAAM,GAAG,+BAAgB,CAAC,OAAO,CAAC;YACpC,CAAC;iBAAM,IAAI,aAAa,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;gBACtD,MAAM,GAAG,+BAAgB,CAAC,QAAQ,CAAC;YACrC,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,cAAc,CAAC,KAAyB;QAC9C,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC;YAC1B,MAAM,MAAM,GAAc,6BAAa,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAE1E,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;YAC5B,CAAC;YAED,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,KAAyB;QAC9C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,+BAAgB,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;QAE7E,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,6BAAa,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAG,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YACxH,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,MAAM,WAAW,GAAG,CAAC,OAAO,IAAI,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,4BAAa,CAAC,KAAK,CAAC;YAC/G,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,0BAAY,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAChF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,eAAe;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,4BAAc,EAAE,CAAC,CAAC;IAC3C,CAAC;IAEO,cAAc,CAAC,MAAwB,EAAE,KAAyB;QACxE,IAAI,UAAU,CAAC,gBAAgB,CAAC,iBAAiB,KAAK,CAAC;YACrD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE7B,MAAM,QAAQ,GAAG,6BAAa,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEvB,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,UAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE;YAC1D,IAAI,WAAW;gBACb,MAAM,IAAI,yBAAW,CAAC,4BAAa,CAAC,KAAK,EAAE,yCAAyC,CAAC,CAAC;YAExF,WAAW,GAAG,IAAI,CAAC;YACnB,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QACrB,CAAC,EAAE,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/E,OAAO;IACT,CAAC;IAEO,OAAO,CAAC,MAAiB;QAC/B,IAAI,CAAC,IAAI,CAAC,OAAO;YACf,OAAO;QAET,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEtB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;gBACvC,MAAM,IAAI,yBAAW,CAAC,4BAAa,CAAC,KAAK,EAAE,6BAA6B,CAAC,CAAC;YAC5E,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,+BAAgB,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IACzB,CAAC;IAEO,UAAU;QAChB,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,WAAW,EAAE,CAAC;YAC5C,MAAM,IAAI,yBAAW,CAAC,4BAAa,CAAC,KAAK,EAAE,6BAA6B,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,+BAAgB,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IACzB,CAAC;IAES,MAAM,CAAC,MAAW;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO;YACf,OAAO;QAET,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAErB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,+BAAgB,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IACzB,CAAC;IAED,gBAAgB;IACT,CAAC,MAAM,CAAC,OAAO,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,+BAAgB,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAa,CAAC;QAClC,IAAI,MAAM,CAAC,6BAAe,CAAC,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,CAAC,6BAAe,CAAC,GAAG,SAAS,CAAC;QACtC,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,MAAgC,EAAE,cAAsB;QACzE,IAAI,CAAC,IAAI,CAAC,OAAO;YACf,OAAO;QAET,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACvB,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,8BAAe,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;IAC5E,CAAC;IAEO,oBAAoB,CAAC,MAAwB;QACnD,IAAI,CAAC,IAAI,CAAC,OAAO;YACf,OAAO;QAET,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAE9D,IAAI,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC;YAC5E,IAAI,CAAC,MAAM,CAAC,IAAI,yBAAW,CAAC,4BAAa,CAAC,KAAK,EAAE,iCAAiC,CAAC,CAAC,CAAC;QACvF,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACvB,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,8BAAe,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAES,KAAK,CAAC,UAAU;QACxB,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QAC9D,IAAI,aAAa,IAAI,yBAAW,CAAC,eAAe;YAC9C,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,yBAAW,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;QAExE,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,yCAAyC,CAAC;QAC5E,MAAM,YAAY,GAAG,MAAM,mCAAgB,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE3E,IAAI,WAAW,CAAC,EAAE;YAChB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB;QAEhF,IAAI,WAAW,CAAC,kBAAkB;YAChC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,kBAAkB,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC;QAElF,IAAI,WAAW,CAAC,aAAa;YAC3B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;QAExE,IAAI,WAAW,CAAC,SAAS;YACvB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QAEhE,IAAI,WAAW,CAAC,aAAa,IAAI,YAAY,CAAC,aAAa;YACzD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;QAExE,IAAI,YAAY,CAAC,SAAS;YACxB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC1F,CAAC;IAEO,SAAS,CAAC,MAAwB;QACxC,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM;YACzB,OAAO;QAET,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,8BAAe,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;;AAtfH,gCAufC;AAED,gBAAgB;AACH,QAAA,oBAAoB,GAAG,CAAC,GAAG,EAAE;IACxC,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,OAAO,GAAG,EAAE;QACV,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,WAAW,GAAG,IAAI,CAAC;QAEnB,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;YAC9C,IAAI,IAAI,KAAK,8BAAe,CAAC,aAAa;gBACxC,OAAO;YAET,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;gBACvB,KAAK,+BAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;oBAChC,qBAAa,CAAC,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;oBAClD,MAAM;gBACR,CAAC;gBAED,KAAK,+BAAgB,CAAC,OAAO,CAAC;gBAC9B,KAAK,+BAAgB,CAAC,QAAQ,CAAC;gBAC/B,KAAK,+BAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC/B,qBAAa,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;oBACjD,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,yBAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACtC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YAEjC,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,+BAAgB,CAAC,eAAe,CAAC,CAAC,CAAC;oBACtC,qBAAa,CAAC,WAAW,GAAG,GAAG,CAAC;oBAChC,MAAM;gBACR,CAAC;gBAED,KAAK,+BAAgB,CAAC,sBAAsB,CAAC;gBAC7C,KAAK,+BAAgB,CAAC,oBAAoB,CAAC;gBAC3C,KAAK,+BAAgB,CAAC,sBAAsB,CAAC,CAAC,CAAC;oBAC7C,qBAAa,CAAC,YAAY,GAAG,GAAG,CAAC;oBACjC,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC,EAAE,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module RpcInterface\n */\n\nimport { BeEvent, BentleyStatus, Guid } from \"@itwin/core-bentley\";\nimport { IModelRpcProps } from \"../../IModel\";\nimport { BackendError, IModelError, NoContentError } from \"../../IModelError\";\nimport { RpcInterface } from \"../../RpcInterface\";\nimport { RpcConfiguration } from \"./RpcConfiguration\";\nimport { RpcProtocolEvent, RpcRequestEvent, RpcRequestStatus, RpcResponseCacheControl } from \"./RpcConstants\";\nimport { RpcNotFoundResponse } from \"./RpcControl\";\nimport { RpcMarshaling, RpcSerializedValue } from \"./RpcMarshaling\";\nimport { RpcOperation } from \"./RpcOperation\";\nimport { RpcManagedStatus, RpcProtocol, RpcProtocolVersion } from \"./RpcProtocol\";\nimport { CURRENT_REQUEST } from \"./RpcRegistry\";\n\n/* eslint-disable @typescript-eslint/naming-convention */\n// cspell:ignore csrf\n/* eslint-disable @typescript-eslint/no-deprecated */\n\n/** @internal */\nexport const aggregateLoad = { lastRequest: 0, lastResponse: 0 };\n\n/** @internal */\nexport class ResponseLike implements Response {\n private _data: Promise<any>;\n public get body() { return null; }\n public async arrayBuffer(): Promise<ArrayBuffer> { return this._data; }\n public async blob(): Promise<Blob> { throw new IModelError(BentleyStatus.ERROR, \"Not implemented.\"); }\n public async formData(): Promise<FormData> { throw new IModelError(BentleyStatus.ERROR, \"Not implemented.\"); }\n public async json(): Promise<any> { return this._data; }\n public async text(): Promise<string> { return this._data; }\n public get bodyUsed() { return false; }\n public get headers(): Headers { throw new IModelError(BentleyStatus.ERROR, \"Not implemented.\"); }\n public get ok(): boolean { return this.status >= 200 && this.status <= 299; }\n public get redirected() { return false; }\n public get status() { return 200; }\n public get statusText() { return \"\"; }\n public get trailer(): Promise<Headers> { throw new IModelError(BentleyStatus.ERROR, \"Not implemented.\"); }\n public get type(): ResponseType { return \"basic\"; }\n public get url() { return \"\"; }\n public clone() { return { ...this }; }\n\n public constructor(data: any) {\n this._data = Promise.resolve(data);\n }\n}\n\n/** Supplies an IModelRpcProps for an RPC request.\n * @internal\n */\nexport type RpcRequestTokenSupplier_T = (request: RpcRequest) => IModelRpcProps | undefined;\n\n/** Supplies the initial retry interval for an RPC request.\n * @internal\n */\nexport type RpcRequestInitialRetryIntervalSupplier_T = (configuration: RpcConfiguration) => number;\n\n/** Notification callback for an RPC request.\n * @internal\n */\nexport type RpcRequestCallback_T = (request: RpcRequest) => void;\n\n/** Determines if caching is permitted for a RPC response.\n * @internal\n */\nexport type RpcResponseCachingCallback_T = (request: RpcRequest) => RpcResponseCacheControl;\n\n/** Runtime information related to the operation load of one or more RPC interfaces.\n * @internal\n */\nexport interface RpcOperationsProfile {\n readonly lastRequest: number;\n readonly lastResponse: number;\n}\n\n/** Handles RPC request events.\n * @internal\n */\nexport type RpcRequestEventHandler = (type: RpcRequestEvent, request: RpcRequest) => void;\n\n/** Resolves \"not found\" responses for RPC requests.\n * @internal\n */\nexport type RpcRequestNotFoundHandler = (request: RpcRequest, response: RpcNotFoundResponse, resubmit: () => void, reject: (reason?: any) => void) => void;\n\nclass Cancellable<T> {\n public promise: Promise<T | undefined>;\n public cancel() { }\n\n public constructor(task: Promise<T>) {\n this.promise = new Promise((resolve, reject) => {\n this.cancel = () => resolve(undefined);\n task.then(resolve, reject);\n });\n }\n}\n\n/** A RPC operation request.\n * @internal\n */\nexport abstract class RpcRequest<TResponse = any> {\n private static _activeRequests: Map<string, RpcRequest> = new Map();\n private _resolve: (value?: TResponse | PromiseLike<TResponse> | undefined) => void = () => undefined;\n protected _resolveRaw: (value?: Response | PromiseLike<Response> | undefined) => void = () => undefined;\n private _reject: (reason?: any) => void = () => undefined;\n private _rejectRaw: (reason?: any) => void = () => undefined;\n private _created: number = 0;\n private _lastSubmitted: number = 0;\n private _lastUpdated: number = 0;\n\n /** @internal */\n public _status: RpcRequestStatus = RpcRequestStatus.Unknown;\n\n /** @internal */\n public _extendedStatus: string = \"\";\n\n private _connecting: boolean = false;\n private _active: boolean = true;\n private _hasRawListener = false;\n private _raw: ArrayBuffer | string | undefined = undefined;\n private _sending?: Cancellable<number>;\n private _attempts = 0;\n private _retryAfter: number | null = null;\n private _transientFaults = 0;\n protected _response: Response | undefined = undefined;\n protected _rawPromise: Promise<Response | undefined>;\n public responseProtocolVersion = RpcProtocolVersion.None;\n\n /** All RPC requests that are currently in flight. */\n public static get activeRequests(): ReadonlyMap<string, RpcRequest> { return this._activeRequests; }\n\n /** Events raised by RpcRequest. See [[RpcRequestEvent]] */\n public static readonly events: BeEvent<RpcRequestEventHandler> = new BeEvent();\n\n /** Resolvers for \"not found\" requests. See [[RpcRequestNotFoundHandler]] */\n public static readonly notFoundHandlers: BeEvent<RpcRequestNotFoundHandler> = new BeEvent();\n\n /** The aggregate operations profile of all active RPC interfaces. */\n public static get aggregateLoad(): RpcOperationsProfile { return aggregateLoad; }\n\n /**\n * The request for the current RPC operation.\n * @note The return value of this function is only reliable if program control was received from a RPC interface class member function that directly returns the result of calling RpcInterface.forward.\n */\n public static current(context: RpcInterface): RpcRequest {\n return (context as any)[CURRENT_REQUEST];\n }\n\n /** The unique identifier of this request. */\n public readonly id: string;\n\n /** The operation for this request. */\n public readonly operation: RpcOperation;\n\n /** The parameters for this request. */\n public parameters: any[];\n\n /** The RPC client instance for this request. */\n public readonly client: RpcInterface;\n\n /** Convenience access to the protocol of this request. */\n public readonly protocol: RpcProtocol;\n\n /** The implementation response for this request. */\n public readonly response: Promise<TResponse | undefined>;\n\n /** The status of this request. */\n public get status() { return this._status; }\n\n /** Extended status information for this request (if available). */\n public get extendedStatus() { return this._extendedStatus; }\n\n /** The last submission for this request. */\n public get lastSubmitted() { return this._lastSubmitted; }\n\n /** The last status update received for this request. */\n public get lastUpdated() { return this._lastUpdated; }\n\n /** The target interval (in milliseconds) between submission attempts for this request. */\n public retryInterval: number;\n\n /** Whether a connection is active for this request. */\n public get connecting() { return this._connecting; }\n\n /** Whether this request is pending. */\n public get pending(): boolean {\n switch (this.status) {\n case RpcRequestStatus.Submitted:\n case RpcRequestStatus.Pending: {\n return true;\n }\n\n default: {\n return false;\n }\n }\n }\n\n /** The elapsed time for this request. */\n public get elapsed(): number {\n return this._lastUpdated - this._created;\n }\n\n /** A protocol-specific path identifier for this request. */\n public path: string;\n\n /** A protocol-specific method identifier for this request. */\n public method: string;\n\n /** An attempt-specific value for when to next retry this request. */\n public get retryAfter() { return this._retryAfter; }\n\n /** Finds the first parameter of a given structural type if present. */\n public findParameterOfType<T>(requiredProperties: { [index: string]: string }): T | undefined {\n for (const param of this.parameters) {\n if (typeof (param) === \"object\" && param !== null) {\n for (const prop of Object.getOwnPropertyNames(requiredProperties)) {\n if (prop in param && typeof (param[prop]) === requiredProperties[prop]) {\n return param;\n }\n }\n }\n }\n\n return undefined;\n }\n\n /** Finds the first IModelRpcProps parameter if present. */\n public findTokenPropsParameter(): IModelRpcProps | undefined {\n return this.findParameterOfType({ iModelId: \"string\" });\n\n }\n\n /** The raw implementation response for this request. */\n public get rawResponse(): Promise<Response | undefined> {\n this._hasRawListener = true;\n return this._rawPromise;\n }\n\n /** Constructs an RPC request. */\n public constructor(client: RpcInterface, operation: string, parameters: any[]) {\n this._created = new Date().getTime();\n this.path = \"\";\n this.method = \"\";\n this.client = client;\n this.protocol = client.configuration.protocol;\n this.operation = RpcOperation.lookup(client.constructor as any, operation);\n this.parameters = parameters;\n this.retryInterval = this.operation.policy.retryInterval(client.configuration);\n this.response = new Promise((resolve, reject) => {\n this._resolve = resolve;\n this._reject = reject;\n });\n\n this._rawPromise = new Promise((resolve, reject) => {\n this._resolveRaw = resolve;\n this._rejectRaw = reject;\n });\n\n this.id = RpcConfiguration.requestContext.getId(this) || Guid.createValue();\n this.setStatus(RpcRequestStatus.Created);\n this.operation.policy.requestCallback(this);\n }\n\n /** Override to send the request. */\n protected abstract send(): Promise<number>;\n\n /** Override to load response value. */\n protected abstract load(): Promise<RpcSerializedValue>;\n\n /** Override to set request header values. */\n protected abstract setHeader(name: string, value: string): void;\n\n /** Sets the last updated time for the request. */\n protected setLastUpdatedTime() {\n this._lastUpdated = new Date().getTime();\n }\n\n protected computeRetryAfter(attempts: number) {\n return (((Math.pow(2, attempts) - 1) / 2) * 500) + 500;\n }\n\n protected recordTransientFault() {\n ++this._transientFaults;\n }\n\n protected resetTransientFaultCount() {\n this._transientFaults = 0;\n }\n\n protected supportsStatusCategory() {\n if (!this.protocol.supportsStatusCategory) {\n return false;\n }\n\n return RpcProtocol.protocolVersion >= RpcProtocolVersion.IntroducedStatusCategory && this.responseProtocolVersion >= RpcProtocolVersion.IntroducedStatusCategory;\n }\n\n /* @internal */\n public cancel() {\n if (typeof (this._sending) === \"undefined\") {\n return;\n }\n\n this._sending.cancel();\n this._sending = undefined;\n\n this._connecting = false;\n RpcRequest._activeRequests.delete(this.id);\n this.setStatus(RpcRequestStatus.Cancelled);\n }\n\n /* @internal */\n public async submit(): Promise<void> {\n if (!this._active)\n return;\n\n this._lastSubmitted = new Date().getTime();\n this._retryAfter = null;\n ++this._attempts;\n\n if (this.status === RpcRequestStatus.Created || this.status === RpcRequestStatus.NotFound || this.status === RpcRequestStatus.Cancelled) {\n this.setStatus(RpcRequestStatus.Submitted);\n }\n\n try {\n this._connecting = true;\n RpcRequest._activeRequests.set(this.id, this);\n this.protocol.events.raiseEvent(RpcProtocolEvent.RequestCreated, this);\n this._sending = new Cancellable(this.setHeaders().then(async () => this.send()));\n this.operation.policy.sentCallback(this);\n\n const response = await this._sending.promise;\n if (typeof (response) === \"undefined\") {\n return;\n }\n this._sending = undefined;\n\n const status = this.protocol.getStatus(response);\n\n if (this._hasRawListener && status === RpcRequestStatus.Resolved && typeof (this._response) !== \"undefined\") {\n this._connecting = false;\n RpcRequest._activeRequests.delete(this.id);\n this.resolveRaw();\n } else {\n this.protocol.events.raiseEvent(RpcProtocolEvent.ResponseLoading, this);\n\n if (status === RpcRequestStatus.Unknown) {\n this._connecting = false;\n RpcRequest._activeRequests.delete(this.id);\n this.handleUnknownResponse(response);\n return;\n }\n\n const value = await this.load();\n this.protocol.events.raiseEvent(RpcProtocolEvent.ResponseLoaded, this);\n RpcRequest._activeRequests.delete(this.id);\n this._connecting = false;\n this.handleResponse(response, value);\n }\n } catch (err) {\n this.protocol.events.raiseEvent(RpcProtocolEvent.ConnectionErrorReceived, this, err);\n RpcRequest._activeRequests.delete(this.id);\n this._connecting = false;\n this.reject(err);\n }\n }\n\n protected handleUnknownResponse(code: number) {\n this.reject(new IModelError(BentleyStatus.ERROR, `Unknown response ${code}.`));\n }\n\n private handleResponse(code: number, value: RpcSerializedValue) {\n const protocolStatus = this.protocol.getStatus(code);\n const status = this.transformResponseStatus(protocolStatus, value);\n\n if (RpcRequestStatus.isTransientError(status)) {\n return this.handleTransientError(status);\n }\n\n switch (status) {\n case RpcRequestStatus.Resolved: {\n return this.handleResolved(value);\n }\n\n case RpcRequestStatus.Rejected: {\n return this.handleRejected(value);\n }\n\n case RpcRequestStatus.Pending: {\n return this.setPending(status, value.objects);\n }\n\n case RpcRequestStatus.NotFound: {\n return this.handleNotFound(status, value);\n }\n\n case RpcRequestStatus.NoContent: {\n return this.handleNoContent();\n }\n }\n }\n\n private transformResponseStatus(protocolStatus: RpcRequestStatus, value: RpcSerializedValue): RpcRequestStatus {\n if (!this.supportsStatusCategory()) {\n return protocolStatus;\n }\n\n let status = protocolStatus;\n\n if (protocolStatus === RpcRequestStatus.Pending) {\n status = RpcRequestStatus.Rejected;\n } else if (protocolStatus === RpcRequestStatus.NotFound) {\n status = RpcRequestStatus.Rejected;\n } else if (protocolStatus === RpcRequestStatus.Unknown) {\n status = RpcRequestStatus.Rejected;\n }\n\n if (value.objects.indexOf(\"iTwinRpcCoreResponse\") !== -1 && value.objects.indexOf(\"managedStatus\") !== -1) {\n const managedStatus: RpcManagedStatus = JSON.parse(value.objects);\n value.objects = managedStatus.responseValue as string;\n\n if (managedStatus.managedStatus === \"pending\") {\n status = RpcRequestStatus.Pending;\n } else if (managedStatus.managedStatus === \"notFound\") {\n status = RpcRequestStatus.NotFound;\n }\n }\n\n return status;\n }\n\n private handleResolved(value: RpcSerializedValue) {\n try {\n this._raw = value.objects;\n const result: TResponse = RpcMarshaling.deserialize(this.protocol, value);\n\n if (ArrayBuffer.isView(result)) {\n this._raw = result.buffer;\n }\n\n return this.resolve(result);\n } catch (err) {\n return this.reject(err);\n }\n }\n\n private handleRejected(value: RpcSerializedValue) {\n this.protocol.events.raiseEvent(RpcProtocolEvent.BackendErrorReceived, this);\n\n try {\n const error = RpcMarshaling.deserialize(this.protocol, value);\n const hasInfo = error && typeof (error) === \"object\" && error.hasOwnProperty(\"name\") && error.hasOwnProperty(\"message\");\n const name = hasInfo ? error.name : \"\";\n const message = hasInfo ? error.message : \"\";\n const errorNumber = (hasInfo && error.hasOwnProperty(\"errorNumber\")) ? error.errorNumber : BentleyStatus.ERROR;\n return this.reject(new BackendError(errorNumber, name, message, () => error));\n } catch (err) {\n return this.reject(err);\n }\n }\n\n private handleNoContent() {\n return this.reject(new NoContentError());\n }\n\n private handleNotFound(status: RpcRequestStatus, value: RpcSerializedValue) {\n if (RpcRequest.notFoundHandlers.numberOfListeners === 0)\n this.handleRejected(value);\n\n const response = RpcMarshaling.deserialize(this.protocol, value);\n this.setStatus(status);\n\n let resubmitted = false;\n RpcRequest.notFoundHandlers.raiseEvent(this, response, () => {\n if (resubmitted)\n throw new IModelError(BentleyStatus.ERROR, `Already resubmitted using this handler.`);\n\n resubmitted = true;\n void this.submit();\n }, (reason: any) => reason ? this.reject(reason) : this.handleRejected(value));\n return;\n }\n\n private resolve(result: TResponse): void {\n if (!this._active)\n return;\n\n this._active = false;\n this.setLastUpdatedTime();\n this._resolve(result);\n\n if (this._hasRawListener) {\n if (typeof (this._raw) === \"undefined\") {\n throw new IModelError(BentleyStatus.ERROR, \"Cannot access raw response.\");\n }\n\n this._resolveRaw(new ResponseLike(this._raw));\n }\n\n this.setStatus(RpcRequestStatus.Resolved);\n this[Symbol.dispose]();\n }\n\n private resolveRaw() {\n if (typeof (this._response) === \"undefined\") {\n throw new IModelError(BentleyStatus.ERROR, \"Cannot access raw response.\");\n }\n\n this._active = false;\n this.setLastUpdatedTime();\n this._resolveRaw(this._response);\n this.setStatus(RpcRequestStatus.Resolved);\n this[Symbol.dispose]();\n }\n\n protected reject(reason: any): void {\n if (!this._active)\n return;\n\n this._active = false;\n this.setLastUpdatedTime();\n this._reject(reason);\n\n if (this._hasRawListener) {\n this._rejectRaw(reason);\n }\n\n this.setStatus(RpcRequestStatus.Rejected);\n this[Symbol.dispose]();\n }\n\n /** @internal */\n public [Symbol.dispose](): void {\n this.setStatus(RpcRequestStatus.Disposed);\n this._raw = undefined;\n this._response = undefined;\n\n const client = this.client as any;\n if (client[CURRENT_REQUEST] === this) {\n client[CURRENT_REQUEST] = undefined;\n }\n }\n\n private setPending(status: RpcRequestStatus.Pending, extendedStatus: string): void {\n if (!this._active)\n return;\n\n this.setLastUpdatedTime();\n this._extendedStatus = extendedStatus;\n this.setStatus(status);\n RpcRequest.events.raiseEvent(RpcRequestEvent.PendingUpdateReceived, this);\n }\n\n private handleTransientError(status: RpcRequestStatus) {\n if (!this._active)\n return;\n\n this.setLastUpdatedTime();\n this._retryAfter = this.computeRetryAfter(this._attempts - 1);\n\n if (this._transientFaults > this.protocol.configuration.transientFaultLimit) {\n this.reject(new IModelError(BentleyStatus.ERROR, `Exceeded transient fault limit.`));\n } else {\n this.setStatus(status);\n RpcRequest.events.raiseEvent(RpcRequestEvent.TransientErrorReceived, this);\n }\n }\n\n protected async setHeaders(): Promise<void> {\n const versionHeader = this.protocol.protocolVersionHeaderName;\n if (versionHeader && RpcProtocol.protocolVersion)\n this.setHeader(versionHeader, RpcProtocol.protocolVersion.toString());\n\n const headerNames = this.protocol.serializedClientRequestContextHeaderNames;\n const headerValues = await RpcConfiguration.requestContext.serialize(this);\n\n if (headerNames.id)\n this.setHeader(headerNames.id, headerValues.id || this.id); // Cannot be empty\n\n if (headerNames.applicationVersion)\n this.setHeader(headerNames.applicationVersion, headerValues.applicationVersion);\n\n if (headerNames.applicationId)\n this.setHeader(headerNames.applicationId, headerValues.applicationId);\n\n if (headerNames.sessionId)\n this.setHeader(headerNames.sessionId, headerValues.sessionId);\n\n if (headerNames.authorization && headerValues.authorization)\n this.setHeader(headerNames.authorization, headerValues.authorization);\n\n if (headerValues.csrfToken)\n this.setHeader(headerValues.csrfToken.headerName, headerValues.csrfToken.headerValue);\n }\n\n private setStatus(status: RpcRequestStatus): void {\n if (this._status === status)\n return;\n\n this._status = status;\n RpcRequest.events.raiseEvent(RpcRequestEvent.StatusChanged, this);\n }\n}\n\n/** @internal */\nexport const initializeRpcRequest = (() => {\n let initialized = false;\n\n return () => {\n if (initialized) {\n return;\n }\n\n initialized = true;\n\n RpcRequest.events.addListener((type, request) => {\n if (type !== RpcRequestEvent.StatusChanged)\n return;\n\n switch (request.status) {\n case RpcRequestStatus.Submitted: {\n aggregateLoad.lastRequest = request.lastSubmitted;\n break;\n }\n\n case RpcRequestStatus.Pending:\n case RpcRequestStatus.Resolved:\n case RpcRequestStatus.Rejected: {\n aggregateLoad.lastResponse = request.lastUpdated;\n break;\n }\n }\n });\n\n RpcProtocol.events.addListener((type) => {\n const now = new Date().getTime();\n\n switch (type) {\n case RpcProtocolEvent.RequestReceived: {\n aggregateLoad.lastRequest = now;\n break;\n }\n\n case RpcProtocolEvent.BackendReportedPending:\n case RpcProtocolEvent.BackendErrorOccurred:\n case RpcProtocolEvent.BackendResponseCreated: {\n aggregateLoad.lastResponse = now;\n break;\n }\n }\n });\n };\n})();\n"]}
@@ -28,7 +28,6 @@ export declare class AnalysisStyleDisplacement {
28
28
  * Default value: 1.
29
29
  */
30
30
  readonly scale: number;
31
- /** @internal */
32
31
  private constructor();
33
32
  /** Create from JSON representation. */
34
33
  static fromJSON(props: AnalysisStyleDisplacementProps): AnalysisStyleDisplacement;
@@ -68,7 +67,6 @@ export declare class AnalysisStyleThematic {
68
67
  /** Settings used to produce the [[Gradient]] image. */
69
68
  readonly thematicSettings: ThematicGradientSettings;
70
69
  private _gradient?;
71
- /** @internal */
72
70
  private constructor();
73
71
  /** Create from JSON representation. */
74
72
  static fromJSON(props: AnalysisStyleThematicProps): AnalysisStyleThematic;
@@ -122,7 +120,6 @@ export declare class AnalysisStyle {
122
120
  * @note AnalysisStyle is an immutable type - use [[clone]] to produce a modified copy.
123
121
  */
124
122
  static fromJSON(props?: AnalysisStyleProps): AnalysisStyle;
125
- /** @internal */
126
123
  private constructor();
127
124
  /** Convert this style to its JSON representation. */
128
125
  toJSON(): AnalysisStyleProps;
@@ -1 +1 @@
1
- {"version":3,"file":"AnalysisStyle.d.ts","sourceRoot":"","sources":["../../src/AnalysisStyle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AnalysisStyle.d.ts","sourceRoot":"","sources":["../../src/AnalysisStyle.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;;GAIG;AACH,MAAM,WAAW,8BAA8B;IAC7C,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,qBAAa,yBAAyB;IACpC,8GAA8G;IAC9G,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC;;OAEG;IACH,SAAgB,KAAK,EAAE,MAAM,CAAC;IAE9B,OAAO;IAKP,uCAAuC;WACzB,QAAQ,CAAC,KAAK,EAAE,8BAA8B,GAAG,yBAAyB;IAIxF,sCAAsC;IAC/B,MAAM,IAAI,8BAA8B;IAQ/C,sDAAsD;IAC/C,MAAM,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO;CAGzD;AAED;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,KAAK,EAAE,YAAY,CAAC;IACpB;;OAEG;IACH,gBAAgB,CAAC,EAAE,6BAA6B,CAAC;CAClD;AAED;;;;;GAKG;AACH,qBAAa,qBAAqB;IAChC,mHAAmH;IACnH,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC;;OAEG;IACH,SAAgB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzC,uDAAuD;IACvD,SAAgB,gBAAgB,EAAE,wBAAwB,CAAC;IAC3D,OAAO,CAAC,SAAS,CAAC,CAAgB;IAElC,OAAO;IAMP,uCAAuC;WACzB,QAAQ,CAAC,KAAK,EAAE,0BAA0B,GAAG,qBAAqB;IAIhF,sCAAsC;IAC/B,MAAM,IAAI,0BAA0B;IAY3C,uDAAuD;IACvD,IAAW,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAKnC;IAED,sDAAsD;IAC/C,MAAM,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO;CAGrD;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,0CAA0C;IAC1C,YAAY,CAAC,EAAE,8BAA8B,CAAC;IAC9C;;OAEG;IACH,MAAM,CAAC,EAAE,0BAA0B,CAAC;IACpC,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,sBAAsB,CAAC,EAAE,6BAA6B,CAAC;CACxD;AAgCD;;;;;;GAMG;AACH,qBAAa,aAAa;IACxB,SAAgB,YAAY,CAAC,EAAE,yBAAyB,CAAC;IACzD,SAAgB,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjD,qHAAqH;IACrH,SAAgB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3C;;OAEG;WACW,QAAQ,CAAC,KAAK,CAAC,EAAE,kBAAkB,GAAG,aAAa;IAWjE,OAAO;IASP,qDAAqD;IAC9C,MAAM,IAAI,kBAAkB;IAiBnC,2GAA2G;IACpG,KAAK,CAAC,YAAY,EAAE,kBAAkB,GAAG,aAAa;IAO7D,0DAA0D;IACnD,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAe5C,gBAAuB,QAAQ,gBAAyB;CACzD"}
@@ -13,7 +13,6 @@ import { Gradient } from "./Gradient";
13
13
  * @public
14
14
  */
15
15
  export class AnalysisStyleDisplacement {
16
- /** @internal */
17
16
  constructor(channelName, scale = 1) {
18
17
  this.channelName = channelName;
19
18
  this.scale = scale;
@@ -41,7 +40,6 @@ export class AnalysisStyleDisplacement {
41
40
  * @public
42
41
  */
43
42
  export class AnalysisStyleThematic {
44
- /** @internal */
45
43
  constructor(props) {
46
44
  this.channelName = props.channelName;
47
45
  this.range = Range1d.fromJSON(props.range);
@@ -115,7 +113,6 @@ export class AnalysisStyle {
115
113
  return this.defaults;
116
114
  return new AnalysisStyle(props);
117
115
  }
118
- /** @internal */
119
116
  constructor(props) {
120
117
  this.normalChannelName = props.normalChannelName;
121
118
  if (props.displacement)
@@ -1 +1 @@
1
- {"version":3,"file":"AnalysisStyle.js","sourceRoot":"","sources":["../../src/AnalysisStyle.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module DisplayStyles\n */\n\nimport { Range1d, Range1dProps } from \"@itwin/core-geometry\";\nimport { ThematicGradientSettings, ThematicGradientSettingsProps } from \"./ThematicDisplay\";\nimport { Gradient } from \"./Gradient\";\n\n/** JSON representation of an [[AnalysisStyleDisplacement]].\n * @see [[AnalysisStyleProps.displacement]].\n * @public\n * @extensions\n */\nexport interface AnalysisStyleDisplacementProps {\n /** See [[AnalysisStyleDisplacement.channelName]]. */\n channelName: string;\n /** See [[AnalysisStyleDisplacement.scale]].\n * Default value: 1.\n */\n scale?: number;\n}\n\n/** Describes how an [[AnalysisStyle]] deforms a [Polyface]($core-geometry) by applying translation to its vertices.\n * @see [[AnalysisStyle.displacement]].\n * @public\n */\nexport class AnalysisStyleDisplacement {\n /** The name of the [AuxChannel]($core-geometry) supplying the displacements to be applied to the vertices. */\n public readonly channelName: string;\n /** A scale applied to the displacements to adjust the magnitude of the effect.\n * Default value: 1.\n */\n public readonly scale: number;\n\n /** @internal */\n private constructor(channelName: string, scale = 1) {\n this.channelName = channelName;\n this.scale = scale;\n }\n\n /** Create from JSON representation. */\n public static fromJSON(props: AnalysisStyleDisplacementProps): AnalysisStyleDisplacement {\n return new this(props.channelName, props.scale);\n }\n\n /** Convert to JSON representation. */\n public toJSON(): AnalysisStyleDisplacementProps {\n const props: AnalysisStyleDisplacementProps = { channelName: this.channelName };\n if (this.scale !== 1)\n props.scale = this.scale;\n\n return props;\n }\n\n /** Return true if `this` is equivalent to `other`. */\n public equals(other: AnalysisStyleDisplacement): boolean {\n return this.channelName === other.channelName && this.scale === other.scale;\n }\n}\n\n/** JSON representation of an [[AnalysisStyleThematic]].\n * @see [[AnalysisStyleProps.scalar]].\n * @public\n * @extensions\n */\nexport interface AnalysisStyleThematicProps {\n /** See [[AnalysisStyleThematic.channelName]]. */\n channelName: string;\n /** See [[AnalysisStyleThematic.range]]. */\n range: Range1dProps;\n /** See [[AnalysisStyleThematic.thematicSettings]].\n * Default value: [[ThematicGradientSettings.defaults]].\n */\n thematicSettings?: ThematicGradientSettingsProps;\n}\n\n/** Describes how an [[AnalysisStyle]] recolors [Polyface]($core-geometry) vertices by mapping values of type\n * [AuxChannelDataType.Scalar]($core-geometry) or [AuxChannelDataType.Distance]($core-geometry) supplied\n * by an [AuxChannel]($core-geometry) to colors supplied by a [[Gradient]] image.\n * @see [[AnalysisStyle.thematic]].\n * @public\n */\nexport class AnalysisStyleThematic {\n /** The name of the [AuxChannel]($core-geometry) supplying the values from which the vertex colors are computed. */\n public readonly channelName: string;\n /** The minimum and maximum values that map to colors in the [[Gradient]] image. Vertices with values outside of\n * this range are displayed with the gradient's margin color.\n */\n public readonly range: Readonly<Range1d>;\n /** Settings used to produce the [[Gradient]] image. */\n public readonly thematicSettings: ThematicGradientSettings;\n private _gradient?: Gradient.Symb;\n\n /** @internal */\n private constructor(props: AnalysisStyleThematicProps) {\n this.channelName = props.channelName;\n this.range = Range1d.fromJSON(props.range);\n this.thematicSettings = ThematicGradientSettings.fromJSON(props.thematicSettings);\n }\n\n /** Create from JSON representation. */\n public static fromJSON(props: AnalysisStyleThematicProps): AnalysisStyleThematic {\n return new this(props);\n }\n\n /** Convert to JSON representation. */\n public toJSON(): AnalysisStyleThematicProps {\n const props: AnalysisStyleThematicProps = {\n channelName: this.channelName,\n range: this.range.toJSON(),\n };\n\n if (!this.thematicSettings.equals(ThematicGradientSettings.defaults))\n props.thematicSettings = this.thematicSettings.toJSON();\n\n return props;\n }\n\n /** The gradient computed from [[thematicSettings]]. */\n public get gradient(): Gradient.Symb {\n if (!this._gradient)\n this._gradient = Gradient.Symb.createThematic(this.thematicSettings);\n\n return this._gradient;\n }\n\n /** Return true if `this` is equivalent to `other`. */\n public equals(other: AnalysisStyleThematic): boolean {\n return this.channelName === other.channelName && this.range.isAlmostEqual(other.range) && this.thematicSettings.equals(other.thematicSettings);\n }\n}\n\n/** JSON representation of an [[AnalysisStyle]].\n * @public\n * @extensions\n */\nexport interface AnalysisStyleProps {\n /** See [[AnalysisStyle.displacement]]. */\n displacement?: AnalysisStyleDisplacementProps;\n /** JSON representation of [[AnalysisStyle.thematic]].\n * @note The name \"scalar\" is used instead of \"thematic\" for backwards compatibility.\n */\n scalar?: AnalysisStyleThematicProps;\n /** See [[AnalysisStyle.normalChannelName]]. */\n normalChannelName?: string;\n}\n\n/** At time of writing, the only iModel in existence that uses AnalysisStyle is the one created by the analysis-importer test app.\n * To avoid breaking existing saved views of that iModel, AnalysisStyle.fromJSON() continues to accept the old JSON representation -\n * but that representation is not part of the public API.\n * @internal exported strictly for tests.\n */\nexport interface LegacyAnalysisStyleProps {\n displacementChannelName?: string;\n scalarChannelName?: string;\n normalChannelName?: string;\n displacementScale?: number;\n scalarRange?: Range1dProps;\n scalarThematicSettings?: ThematicGradientSettingsProps;\n}\n\nfunction tryConvertLegacyProps(input: AnalysisStyleProps): AnalysisStyleProps {\n if (input.displacement || input.scalar)\n return input;\n\n const legacy = input as LegacyAnalysisStyleProps;\n if (undefined === legacy.displacementChannelName && undefined === legacy.scalarChannelName)\n return input;\n\n const output: AnalysisStyleProps = {\n normalChannelName: input.normalChannelName,\n };\n\n if (undefined !== legacy.displacementChannelName) {\n output.displacement = {\n channelName: legacy.displacementChannelName,\n scale: legacy.displacementScale,\n };\n }\n\n if (undefined !== legacy.scalarChannelName && undefined !== legacy.scalarRange) {\n output.scalar = {\n channelName: legacy.scalarChannelName,\n range: legacy.scalarRange,\n thematicSettings: legacy.scalarThematicSettings,\n };\n }\n\n return output;\n}\n\n/** As part of a [[DisplayStyleSettings]], describes how to animate meshes in the view that have been augmented with\n * [PolyfaceAuxData]($core-geometry). The style specifies which channels to use, and can deform the meshes by\n * translating vertices and/or recolor vertices using [[ThematicDisplay]].\n * @see [[DisplayStyleSettings.analysisStyle]] to define the analysis style for a [DisplayStyle]($backend).\n * @see [[DisplayStyleSettings.analysisFraction]] to control playback of the animation.\n * @public\n */\nexport class AnalysisStyle {\n public readonly displacement?: AnalysisStyleDisplacement;\n public readonly thematic?: AnalysisStyleThematic;\n /** If defined, the name of the [AuxChannel]($core-geometry) from which to obtain normal vectors for the vertices. */\n public readonly normalChannelName?: string;\n\n /** Create an analysis style from its JSON representation.\n * @note AnalysisStyle is an immutable type - use [[clone]] to produce a modified copy.\n */\n public static fromJSON(props?: AnalysisStyleProps): AnalysisStyle {\n if (!props)\n return this.defaults;\n\n props = tryConvertLegacyProps(props);\n if (!props.displacement && !props.scalar && undefined === props.normalChannelName)\n return this.defaults;\n\n return new AnalysisStyle(props);\n }\n\n /** @internal */\n private constructor(props: AnalysisStyleProps) {\n this.normalChannelName = props.normalChannelName;\n if (props.displacement)\n this.displacement = AnalysisStyleDisplacement.fromJSON(props.displacement);\n\n if (props.scalar)\n this.thematic = AnalysisStyleThematic.fromJSON(props.scalar);\n }\n\n /** Convert this style to its JSON representation. */\n public toJSON(): AnalysisStyleProps {\n const props: AnalysisStyleProps = {};\n if (this === AnalysisStyle.defaults)\n return props;\n\n if (this.displacement)\n props.displacement = this.displacement.toJSON();\n\n if (this.thematic)\n props.scalar = this.thematic.toJSON();\n\n if (undefined !== this.normalChannelName)\n props.normalChannelName = this.normalChannelName;\n\n return props;\n }\n\n /** Produce a copy of this style identical except for properties explicitly specified by `changedProps`. */\n public clone(changedProps: AnalysisStyleProps): AnalysisStyle {\n return AnalysisStyle.fromJSON({\n ...this.toJSON(),\n ...changedProps,\n });\n }\n\n /** Return true if this style is equivalent to `other`. */\n public equals(other: AnalysisStyle): boolean {\n if (this.normalChannelName !== other.normalChannelName)\n return false;\n\n if ((undefined === this.displacement) !== (undefined === other.displacement))\n return false;\n else if (this.displacement && !this.displacement.equals(other.displacement!))\n return false;\n\n if ((undefined === this.thematic) !== (undefined === other.thematic))\n return false;\n\n return undefined === this.thematic || this.thematic.equals(other.thematic!);\n }\n\n public static readonly defaults = new AnalysisStyle({});\n}\n"]}
1
+ {"version":3,"file":"AnalysisStyle.js","sourceRoot":"","sources":["../../src/AnalysisStyle.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module DisplayStyles\n */\n\nimport { Range1d, Range1dProps } from \"@itwin/core-geometry\";\nimport { ThematicGradientSettings, ThematicGradientSettingsProps } from \"./ThematicDisplay\";\nimport { Gradient } from \"./Gradient\";\n\n/** JSON representation of an [[AnalysisStyleDisplacement]].\n * @see [[AnalysisStyleProps.displacement]].\n * @public\n * @extensions\n */\nexport interface AnalysisStyleDisplacementProps {\n /** See [[AnalysisStyleDisplacement.channelName]]. */\n channelName: string;\n /** See [[AnalysisStyleDisplacement.scale]].\n * Default value: 1.\n */\n scale?: number;\n}\n\n/** Describes how an [[AnalysisStyle]] deforms a [Polyface]($core-geometry) by applying translation to its vertices.\n * @see [[AnalysisStyle.displacement]].\n * @public\n */\nexport class AnalysisStyleDisplacement {\n /** The name of the [AuxChannel]($core-geometry) supplying the displacements to be applied to the vertices. */\n public readonly channelName: string;\n /** A scale applied to the displacements to adjust the magnitude of the effect.\n * Default value: 1.\n */\n public readonly scale: number;\n\n private constructor(channelName: string, scale = 1) {\n this.channelName = channelName;\n this.scale = scale;\n }\n\n /** Create from JSON representation. */\n public static fromJSON(props: AnalysisStyleDisplacementProps): AnalysisStyleDisplacement {\n return new this(props.channelName, props.scale);\n }\n\n /** Convert to JSON representation. */\n public toJSON(): AnalysisStyleDisplacementProps {\n const props: AnalysisStyleDisplacementProps = { channelName: this.channelName };\n if (this.scale !== 1)\n props.scale = this.scale;\n\n return props;\n }\n\n /** Return true if `this` is equivalent to `other`. */\n public equals(other: AnalysisStyleDisplacement): boolean {\n return this.channelName === other.channelName && this.scale === other.scale;\n }\n}\n\n/** JSON representation of an [[AnalysisStyleThematic]].\n * @see [[AnalysisStyleProps.scalar]].\n * @public\n * @extensions\n */\nexport interface AnalysisStyleThematicProps {\n /** See [[AnalysisStyleThematic.channelName]]. */\n channelName: string;\n /** See [[AnalysisStyleThematic.range]]. */\n range: Range1dProps;\n /** See [[AnalysisStyleThematic.thematicSettings]].\n * Default value: [[ThematicGradientSettings.defaults]].\n */\n thematicSettings?: ThematicGradientSettingsProps;\n}\n\n/** Describes how an [[AnalysisStyle]] recolors [Polyface]($core-geometry) vertices by mapping values of type\n * [AuxChannelDataType.Scalar]($core-geometry) or [AuxChannelDataType.Distance]($core-geometry) supplied\n * by an [AuxChannel]($core-geometry) to colors supplied by a [[Gradient]] image.\n * @see [[AnalysisStyle.thematic]].\n * @public\n */\nexport class AnalysisStyleThematic {\n /** The name of the [AuxChannel]($core-geometry) supplying the values from which the vertex colors are computed. */\n public readonly channelName: string;\n /** The minimum and maximum values that map to colors in the [[Gradient]] image. Vertices with values outside of\n * this range are displayed with the gradient's margin color.\n */\n public readonly range: Readonly<Range1d>;\n /** Settings used to produce the [[Gradient]] image. */\n public readonly thematicSettings: ThematicGradientSettings;\n private _gradient?: Gradient.Symb;\n\n private constructor(props: AnalysisStyleThematicProps) {\n this.channelName = props.channelName;\n this.range = Range1d.fromJSON(props.range);\n this.thematicSettings = ThematicGradientSettings.fromJSON(props.thematicSettings);\n }\n\n /** Create from JSON representation. */\n public static fromJSON(props: AnalysisStyleThematicProps): AnalysisStyleThematic {\n return new this(props);\n }\n\n /** Convert to JSON representation. */\n public toJSON(): AnalysisStyleThematicProps {\n const props: AnalysisStyleThematicProps = {\n channelName: this.channelName,\n range: this.range.toJSON(),\n };\n\n if (!this.thematicSettings.equals(ThematicGradientSettings.defaults))\n props.thematicSettings = this.thematicSettings.toJSON();\n\n return props;\n }\n\n /** The gradient computed from [[thematicSettings]]. */\n public get gradient(): Gradient.Symb {\n if (!this._gradient)\n this._gradient = Gradient.Symb.createThematic(this.thematicSettings);\n\n return this._gradient;\n }\n\n /** Return true if `this` is equivalent to `other`. */\n public equals(other: AnalysisStyleThematic): boolean {\n return this.channelName === other.channelName && this.range.isAlmostEqual(other.range) && this.thematicSettings.equals(other.thematicSettings);\n }\n}\n\n/** JSON representation of an [[AnalysisStyle]].\n * @public\n * @extensions\n */\nexport interface AnalysisStyleProps {\n /** See [[AnalysisStyle.displacement]]. */\n displacement?: AnalysisStyleDisplacementProps;\n /** JSON representation of [[AnalysisStyle.thematic]].\n * @note The name \"scalar\" is used instead of \"thematic\" for backwards compatibility.\n */\n scalar?: AnalysisStyleThematicProps;\n /** See [[AnalysisStyle.normalChannelName]]. */\n normalChannelName?: string;\n}\n\n/** At time of writing, the only iModel in existence that uses AnalysisStyle is the one created by the analysis-importer test app.\n * To avoid breaking existing saved views of that iModel, AnalysisStyle.fromJSON() continues to accept the old JSON representation -\n * but that representation is not part of the public API.\n * @internal exported strictly for tests.\n */\nexport interface LegacyAnalysisStyleProps {\n displacementChannelName?: string;\n scalarChannelName?: string;\n normalChannelName?: string;\n displacementScale?: number;\n scalarRange?: Range1dProps;\n scalarThematicSettings?: ThematicGradientSettingsProps;\n}\n\nfunction tryConvertLegacyProps(input: AnalysisStyleProps): AnalysisStyleProps {\n if (input.displacement || input.scalar)\n return input;\n\n const legacy = input as LegacyAnalysisStyleProps;\n if (undefined === legacy.displacementChannelName && undefined === legacy.scalarChannelName)\n return input;\n\n const output: AnalysisStyleProps = {\n normalChannelName: input.normalChannelName,\n };\n\n if (undefined !== legacy.displacementChannelName) {\n output.displacement = {\n channelName: legacy.displacementChannelName,\n scale: legacy.displacementScale,\n };\n }\n\n if (undefined !== legacy.scalarChannelName && undefined !== legacy.scalarRange) {\n output.scalar = {\n channelName: legacy.scalarChannelName,\n range: legacy.scalarRange,\n thematicSettings: legacy.scalarThematicSettings,\n };\n }\n\n return output;\n}\n\n/** As part of a [[DisplayStyleSettings]], describes how to animate meshes in the view that have been augmented with\n * [PolyfaceAuxData]($core-geometry). The style specifies which channels to use, and can deform the meshes by\n * translating vertices and/or recolor vertices using [[ThematicDisplay]].\n * @see [[DisplayStyleSettings.analysisStyle]] to define the analysis style for a [DisplayStyle]($backend).\n * @see [[DisplayStyleSettings.analysisFraction]] to control playback of the animation.\n * @public\n */\nexport class AnalysisStyle {\n public readonly displacement?: AnalysisStyleDisplacement;\n public readonly thematic?: AnalysisStyleThematic;\n /** If defined, the name of the [AuxChannel]($core-geometry) from which to obtain normal vectors for the vertices. */\n public readonly normalChannelName?: string;\n\n /** Create an analysis style from its JSON representation.\n * @note AnalysisStyle is an immutable type - use [[clone]] to produce a modified copy.\n */\n public static fromJSON(props?: AnalysisStyleProps): AnalysisStyle {\n if (!props)\n return this.defaults;\n\n props = tryConvertLegacyProps(props);\n if (!props.displacement && !props.scalar && undefined === props.normalChannelName)\n return this.defaults;\n\n return new AnalysisStyle(props);\n }\n\n private constructor(props: AnalysisStyleProps) {\n this.normalChannelName = props.normalChannelName;\n if (props.displacement)\n this.displacement = AnalysisStyleDisplacement.fromJSON(props.displacement);\n\n if (props.scalar)\n this.thematic = AnalysisStyleThematic.fromJSON(props.scalar);\n }\n\n /** Convert this style to its JSON representation. */\n public toJSON(): AnalysisStyleProps {\n const props: AnalysisStyleProps = {};\n if (this === AnalysisStyle.defaults)\n return props;\n\n if (this.displacement)\n props.displacement = this.displacement.toJSON();\n\n if (this.thematic)\n props.scalar = this.thematic.toJSON();\n\n if (undefined !== this.normalChannelName)\n props.normalChannelName = this.normalChannelName;\n\n return props;\n }\n\n /** Produce a copy of this style identical except for properties explicitly specified by `changedProps`. */\n public clone(changedProps: AnalysisStyleProps): AnalysisStyle {\n return AnalysisStyle.fromJSON({\n ...this.toJSON(),\n ...changedProps,\n });\n }\n\n /** Return true if this style is equivalent to `other`. */\n public equals(other: AnalysisStyle): boolean {\n if (this.normalChannelName !== other.normalChannelName)\n return false;\n\n if ((undefined === this.displacement) !== (undefined === other.displacement))\n return false;\n else if (this.displacement && !this.displacement.equals(other.displacement!))\n return false;\n\n if ((undefined === this.thematic) !== (undefined === other.thematic))\n return false;\n\n return undefined === this.thematic || this.thematic.equals(other.thematic!);\n }\n\n public static readonly defaults = new AnalysisStyle({});\n}\n"]}
@@ -189,9 +189,7 @@ export interface OverrideFeatureAppearanceOptions {
189
189
  export interface OverrideModelAppearanceOptions extends OverrideFeatureAppearanceOptions {
190
190
  /** The Id of the model whose appearance is to be overridden. */
191
191
  modelId: Id64String;
192
- /** @internal */
193
192
  elementId?: never;
194
- /** @internal */
195
193
  subCategoryId?: never;
196
194
  }
197
195
  /** Options for using [[FeatureOverrides.override]] to override the appearance of a [GeometricElement]($backend).
@@ -200,9 +198,7 @@ export interface OverrideModelAppearanceOptions extends OverrideFeatureAppearanc
200
198
  export interface OverrideElementAppearanceOptions extends OverrideFeatureAppearanceOptions {
201
199
  /** The Id of the element whose appearance is to be overridden. */
202
200
  elementId: Id64String;
203
- /** @internal */
204
201
  modelId?: never;
205
- /** @internal */
206
202
  subCategoryId?: never;
207
203
  }
208
204
  /** Options for using [[FeatureOverrides.override]] to override the appearance of a [SubCategory]($backend).
@@ -211,9 +207,7 @@ export interface OverrideElementAppearanceOptions extends OverrideFeatureAppeara
211
207
  export interface OverrideSubCategoryAppearanceOptions extends OverrideFeatureAppearanceOptions {
212
208
  /** The Id of the subcategory whose appearance is to be overridden. */
213
209
  subCategoryId: Id64String;
214
- /** @internal */
215
210
  modelId?: never;
216
- /** @internal */
217
211
  elementId?: never;
218
212
  }
219
213
  /** Arguments supplied to [[FeatureOverrides.override]].
@@ -265,11 +259,11 @@ export type IgnoreAnimationOverrides = (args: IgnoreAnimationOverridesArgs) => b
265
259
  */
266
260
  export declare class FeatureOverrides implements FeatureAppearanceSource {
267
261
  /** @internal */
268
- protected readonly _ignoreAnimationOverrides: IgnoreAnimationOverrides[];
262
+ private readonly _ignoreAnimationOverrides;
269
263
  /** Ids of elements that should never be drawn. This takes precedence over [[alwaysDrawn]]. @internal */
270
- protected readonly _neverDrawn: Id64.Uint32Set;
264
+ private readonly _neverDrawn;
271
265
  /** Ids of elements that should always be drawn. [[neverDrawn]] takes precedence over this set. @internal */
272
- protected readonly _alwaysDrawn: Id64.Uint32Set;
266
+ private readonly _alwaysDrawn;
273
267
  /** If true, no elements *except* those defined in the "always drawn" set will be drawn.
274
268
  * @see [[setAlwaysDrawn]]
275
269
  */
@@ -279,37 +273,33 @@ export declare class FeatureOverrides implements FeatureAppearanceSource {
279
273
  */
280
274
  alwaysDrawnIgnoresSubCategory: boolean;
281
275
  /** If true, all subcategories are considered visible. This is used for drawing sheets via section callouts in the absence of an actual sheet view.
282
- * @internal
283
276
  */
284
277
  ignoreSubCategory: boolean;
285
278
  /** Overrides applied to any feature not explicitly overridden. @internal */
286
- protected _defaultOverrides: FeatureAppearance;
287
- /** Whether construction geometry should be drawn. @internal */
279
+ private _defaultOverrides;
280
+ /** Whether construction geometry should be drawn. */
288
281
  protected _constructions: boolean;
289
- /** Whether dimensions should be drawn. @internal */
282
+ /** Whether dimensions should be drawn. */
290
283
  protected _dimensions: boolean;
291
- /** Whether area patterns should be drawn. @internal */
284
+ /** Whether area patterns should be drawn. */
292
285
  protected _patterns: boolean;
293
- /** Whether line weights should be applied. If false, all lines are rendered 1-pixel wide. @internal */
286
+ /** Whether line weights should be applied. If false, all lines are rendered 1-pixel wide. */
294
287
  protected _lineWeights: boolean;
295
288
  /** Overrides applied to all elements belonging to each model. @internal */
296
- protected readonly _modelOverrides: Id64.Uint32Map<FeatureAppearance>;
297
- /** Overrides applied to specific elements. @internal */
289
+ private readonly _modelOverrides;
290
+ /** Overrides applied to specific elements. */
298
291
  protected readonly _elementOverrides: Id64.Uint32Map<FeatureAppearance>;
299
- /** Overrides applied to geometry belonging to each subcategory. @internal */
292
+ /** Overrides applied to geometry belonging to each subcategory. */
300
293
  protected readonly _subCategoryOverrides: Id64.Uint32Map<FeatureAppearance>;
301
- /** The set of displayed subcategories. Geometry belonging to subcategories not included in this set will not be drawn. @internal */
294
+ /** The set of displayed subcategories. Geometry belonging to subcategories not included in this set will not be drawn. */
302
295
  protected readonly _visibleSubCategories: Id64.Uint32Set;
303
- /** Display priorities assigned to subcategories, possibly overridden by display style. Only applicable for plan projection models. @internal */
296
+ /** Display priorities assigned to subcategories, possibly overridden by display style. Only applicable for plan projection models. */
304
297
  protected readonly _subCategoryPriorities: Id64.Uint32Map<number>;
305
298
  /** Per-model, a set of subcategories whose visibility should be inverted for elements within that model.
306
299
  * Populated by Viewport.
307
- * @internal
308
300
  */
309
301
  protected readonly _modelSubCategoryOverrides: Id64.Uint32Map<Id64.Uint32Set>;
310
- /** Ids of animation nodes that should never be drawn.
311
- * @internal
312
- */
302
+ /** Ids of animation nodes that should never be drawn. */
313
303
  readonly neverDrawnAnimationNodes: Set<number>;
314
304
  /** Mapping of animation node Ids to overrides applied to the corresponding animation nodes.
315
305
  * @internal
@@ -337,21 +327,16 @@ export declare class FeatureOverrides implements FeatureAppearanceSource {
337
327
  * @note If an element is present in both `alwaysDrawn` and [[neverDrawn]], it will not be displayed - `neverDrawn` takes precedence.
338
328
  */
339
329
  get alwaysDrawn(): Id64.Uint32Set;
340
- /** @internal */
341
- protected isNeverDrawn(elemIdLo: number, elemIdHi: number, animationNodeId: number): boolean;
342
- /** @internal */
343
- protected isAlwaysDrawn(idLo: number, idHi: number): boolean;
344
- /** Returns true if the [SubCategory]($backend) specified by Id is in the set of visible subcategories. @internal */
330
+ private isNeverDrawn;
331
+ private isAlwaysDrawn;
332
+ /** Returns true if the [SubCategory]($backend) specified by Id is in the set of visible subcategories. */
345
333
  isSubCategoryVisible(idLo: number, idHi: number): boolean;
346
- /** @internal */
334
+ /** Returns true if the [SubCategory]($backend) specified by Id is in the set of visible subcategories in the context of the specified model. */
347
335
  isSubCategoryVisibleInModel(subcatLo: number, subcatHi: number, modelLo: number, modelHi: number): boolean;
348
- /** @internal */
349
- protected getModelOverrides(idLo: number, idHi: number): FeatureAppearance | undefined;
336
+ private getModelOverrides;
350
337
  private getElementAnimationOverrides;
351
- /** @internal */
352
- protected getElementOverrides(idLo: number, idHi: number, animationNodeId: number): FeatureAppearance | undefined;
353
- /** @internal */
354
- protected getSubCategoryOverrides(idLo: number, idHi: number): FeatureAppearance | undefined;
338
+ private getElementOverrides;
339
+ private getSubCategoryOverrides;
355
340
  /** Add a [SubCategory]($backend) to the set of visible subcategories. */
356
341
  setVisibleSubCategory(id: Id64String): void;
357
342
  /** Specify the Id of an element that should never be drawn. */
@@ -372,10 +357,8 @@ export declare class FeatureOverrides implements FeatureAppearanceSource {
372
357
  * @see [[getFeatureAppearance]] for an equivalent function that accepts [Id64String]($core-bentley)s instead of integer pairs.
373
358
  */
374
359
  getAppearance(elemLo: number, elemHi: number, subcatLo: number, subcatHi: number, geomClass: GeometryClass, modelLo: number, modelHi: number, type: BatchType, animationNodeId: number): FeatureAppearance | undefined;
375
- /** Classifiers behave totally differently...in particular they are never invisible unless fully-transparent.
376
- * @internal
377
- */
378
- protected getClassifierAppearance(elemLo: number, elemHi: number, subcatLo: number, subcatHi: number, modelLo: number, modelHi: number, animationNodeId: number): FeatureAppearance | undefined;
360
+ /** Classifiers behave totally differently...in particular they are never invisible unless fully-transparent. */
361
+ private getClassifierAppearance;
379
362
  /** Return whether geometry of the specified class should be drawn.
380
363
  * @see [[ViewFlags.constructions]], [[ViewFlags.dimensions]], and [[ViewFlags.patterns]].
381
364
  */
@@ -420,13 +403,9 @@ export declare class FeatureOverrides implements FeatureAppearanceSource {
420
403
  * @param replaceExisting Specifies whether to replace the current default overrides if they are already defined.
421
404
  */
422
405
  setDefaultOverrides(appearance: FeatureAppearance, replaceExisting?: boolean): void;
423
- /** Get the display priority of a subcategory. This is only relevant when using [[PlanProjectionSettings]].
424
- * @internal
425
- */
406
+ /** Get the display priority of a subcategory. This is only relevant when using [[PlanProjectionSettings]]. */
426
407
  getSubCategoryPriority(idLo: number, idHi: number): number;
427
- /** Adds all fully transparent elements to the _neverDrawn set. This is used for BatchedModels planar masks.
428
- * @internal
429
- */
408
+ /** Adds all fully transparent elements to the _neverDrawn set. This is used for BatchedModels planar masks. */
430
409
  addInvisibleElementOverridesToNeverDrawn(): void;
431
410
  /** Construct a new Overrides that overrides nothing.
432
411
  * @see [FeatureSymbology.Overrides]($frontend) to construct overrides based on a [ViewState]($frontend) or [Viewport]($frontend).
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureSymbology.d.ts","sourceRoot":"","sources":["../../src/FeatureSymbology.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FeatureSymbology.d.ts","sourceRoot":"","sources":["../../src/FeatureSymbology.ts"],"names":[],"mappings":"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"}