@cloudbase/js-sdk 3.3.14-beta.3 → 3.3.14-beta.5

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 (707) hide show
  1. package/ai/src/index.d.ts +1 -0
  2. package/ai/src/index.ts +1 -0
  3. package/analytics/src/index.d.ts +2 -0
  4. package/analytics/src/index.ts +4 -0
  5. package/apis/src/index.d.ts +1 -0
  6. package/apis/src/index.ts +1 -0
  7. package/app/src/index.d.ts +9 -0
  8. package/app/src/index.ts +17 -0
  9. package/auth/src/index.d.ts +2 -0
  10. package/auth/src/index.ts +8 -0
  11. package/cloudrun/src/index.d.ts +1 -0
  12. package/cloudrun/src/index.ts +1 -0
  13. package/container/src/index.d.ts +2 -0
  14. package/container/src/index.ts +8 -0
  15. package/database/src/index.d.ts +3 -0
  16. package/database/src/index.ts +486 -0
  17. package/dist/index.cjs.js +1 -1
  18. package/dist/index.esm.js +1 -1
  19. package/functions/src/index.d.ts +2 -0
  20. package/functions/src/index.ts +8 -0
  21. package/miniprogram_dist/index.js +1 -1
  22. package/model/src/index.d.ts +1 -0
  23. package/model/src/index.ts +1 -0
  24. package/mysql/src/index.d.ts +1 -0
  25. package/mysql/src/index.ts +1 -0
  26. package/node_modules/@cloudbase/ai/.eslintrc.js +15 -0
  27. package/node_modules/@cloudbase/ai/dist/cjs/AI.d.ts +27 -0
  28. package/node_modules/@cloudbase/ai/dist/cjs/AI.js +224 -0
  29. package/node_modules/@cloudbase/ai/dist/cjs/bot/index.d.ts +41 -0
  30. package/node_modules/@cloudbase/ai/dist/cjs/bot/index.js +376 -0
  31. package/node_modules/@cloudbase/ai/dist/cjs/bot/types.d.ts +144 -0
  32. package/node_modules/@cloudbase/ai/dist/cjs/bot/types.js +3 -0
  33. package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/index.d.ts +2 -0
  34. package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/index.js +6 -0
  35. package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/parse.d.ts +2 -0
  36. package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/parse.js +126 -0
  37. package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/stream.d.ts +5 -0
  38. package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/stream.js +40 -0
  39. package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/types.d.ts +16 -0
  40. package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/types.js +3 -0
  41. package/node_modules/@cloudbase/ai/dist/cjs/index.d.ts +40 -0
  42. package/node_modules/@cloudbase/ai/dist/cjs/index.js +187 -0
  43. package/node_modules/@cloudbase/ai/dist/cjs/models/Ark/index.d.ts +10 -0
  44. package/node_modules/@cloudbase/ai/dist/cjs/models/Ark/index.js +130 -0
  45. package/node_modules/@cloudbase/ai/dist/cjs/models/Ark/type.d.ts +71 -0
  46. package/node_modules/@cloudbase/ai/dist/cjs/models/Ark/type.js +3 -0
  47. package/node_modules/@cloudbase/ai/dist/cjs/models/DashScope/index.d.ts +10 -0
  48. package/node_modules/@cloudbase/ai/dist/cjs/models/DashScope/index.js +130 -0
  49. package/node_modules/@cloudbase/ai/dist/cjs/models/DashScope/type.d.ts +74 -0
  50. package/node_modules/@cloudbase/ai/dist/cjs/models/DashScope/type.js +3 -0
  51. package/node_modules/@cloudbase/ai/dist/cjs/models/DeepSeek/index.d.ts +10 -0
  52. package/node_modules/@cloudbase/ai/dist/cjs/models/DeepSeek/index.js +126 -0
  53. package/node_modules/@cloudbase/ai/dist/cjs/models/Default/index.d.ts +10 -0
  54. package/node_modules/@cloudbase/ai/dist/cjs/models/Default/index.js +122 -0
  55. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuan/index.d.ts +10 -0
  56. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuan/index.js +135 -0
  57. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuan/type.d.ts +74 -0
  58. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuan/type.js +3 -0
  59. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuan/util.d.ts +4 -0
  60. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuan/util.js +56 -0
  61. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuanBeta/index.d.ts +10 -0
  62. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuanBeta/index.js +127 -0
  63. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuanExp/index.d.ts +10 -0
  64. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuanExp/index.js +125 -0
  65. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuanOpen/index.d.ts +10 -0
  66. package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuanOpen/index.js +127 -0
  67. package/node_modules/@cloudbase/ai/dist/cjs/models/Moonshot/index.d.ts +10 -0
  68. package/node_modules/@cloudbase/ai/dist/cjs/models/Moonshot/index.js +130 -0
  69. package/node_modules/@cloudbase/ai/dist/cjs/models/Moonshot/type.d.ts +85 -0
  70. package/node_modules/@cloudbase/ai/dist/cjs/models/Moonshot/type.js +3 -0
  71. package/node_modules/@cloudbase/ai/dist/cjs/models/Yi/index.d.ts +10 -0
  72. package/node_modules/@cloudbase/ai/dist/cjs/models/Yi/index.js +133 -0
  73. package/node_modules/@cloudbase/ai/dist/cjs/models/Yi/type.d.ts +75 -0
  74. package/node_modules/@cloudbase/ai/dist/cjs/models/Yi/type.js +3 -0
  75. package/node_modules/@cloudbase/ai/dist/cjs/models/ZhiPu/index.d.ts +10 -0
  76. package/node_modules/@cloudbase/ai/dist/cjs/models/ZhiPu/index.js +139 -0
  77. package/node_modules/@cloudbase/ai/dist/cjs/models/ZhiPu/type.d.ts +71 -0
  78. package/node_modules/@cloudbase/ai/dist/cjs/models/ZhiPu/type.js +3 -0
  79. package/node_modules/@cloudbase/ai/dist/cjs/models/image-model.d.ts +18 -0
  80. package/node_modules/@cloudbase/ai/dist/cjs/models/image-model.js +85 -0
  81. package/node_modules/@cloudbase/ai/dist/cjs/models/index.d.ts +26 -0
  82. package/node_modules/@cloudbase/ai/dist/cjs/models/index.js +42 -0
  83. package/node_modules/@cloudbase/ai/dist/cjs/models/model.d.ts +40 -0
  84. package/node_modules/@cloudbase/ai/dist/cjs/models/model.js +481 -0
  85. package/node_modules/@cloudbase/ai/dist/cjs/type.d.ts +190 -0
  86. package/node_modules/@cloudbase/ai/dist/cjs/type.js +10 -0
  87. package/node_modules/@cloudbase/ai/dist/cjs/utils.d.ts +38 -0
  88. package/node_modules/@cloudbase/ai/dist/cjs/utils.js +263 -0
  89. package/node_modules/@cloudbase/ai/dist/esm/AI.d.ts +27 -0
  90. package/node_modules/@cloudbase/ai/dist/esm/AI.js +198 -0
  91. package/node_modules/@cloudbase/ai/dist/esm/bot/index.d.ts +41 -0
  92. package/node_modules/@cloudbase/ai/dist/esm/bot/index.js +373 -0
  93. package/node_modules/@cloudbase/ai/dist/esm/bot/types.d.ts +144 -0
  94. package/node_modules/@cloudbase/ai/dist/esm/bot/types.js +2 -0
  95. package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/index.d.ts +2 -0
  96. package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/index.js +2 -0
  97. package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/parse.d.ts +2 -0
  98. package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/parse.js +122 -0
  99. package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/stream.d.ts +5 -0
  100. package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/stream.js +37 -0
  101. package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/types.d.ts +16 -0
  102. package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/types.js +2 -0
  103. package/node_modules/@cloudbase/ai/dist/esm/index.d.ts +40 -0
  104. package/node_modules/@cloudbase/ai/dist/esm/index.js +152 -0
  105. package/node_modules/@cloudbase/ai/dist/esm/models/Ark/index.d.ts +10 -0
  106. package/node_modules/@cloudbase/ai/dist/esm/models/Ark/index.js +127 -0
  107. package/node_modules/@cloudbase/ai/dist/esm/models/Ark/type.d.ts +71 -0
  108. package/node_modules/@cloudbase/ai/dist/esm/models/Ark/type.js +2 -0
  109. package/node_modules/@cloudbase/ai/dist/esm/models/DashScope/index.d.ts +10 -0
  110. package/node_modules/@cloudbase/ai/dist/esm/models/DashScope/index.js +127 -0
  111. package/node_modules/@cloudbase/ai/dist/esm/models/DashScope/type.d.ts +74 -0
  112. package/node_modules/@cloudbase/ai/dist/esm/models/DashScope/type.js +2 -0
  113. package/node_modules/@cloudbase/ai/dist/esm/models/DeepSeek/index.d.ts +10 -0
  114. package/node_modules/@cloudbase/ai/dist/esm/models/DeepSeek/index.js +123 -0
  115. package/node_modules/@cloudbase/ai/dist/esm/models/Default/index.d.ts +10 -0
  116. package/node_modules/@cloudbase/ai/dist/esm/models/Default/index.js +119 -0
  117. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuan/index.d.ts +10 -0
  118. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuan/index.js +132 -0
  119. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuan/type.d.ts +74 -0
  120. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuan/type.js +2 -0
  121. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuan/util.d.ts +4 -0
  122. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuan/util.js +51 -0
  123. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuanBeta/index.d.ts +10 -0
  124. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuanBeta/index.js +124 -0
  125. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuanExp/index.d.ts +10 -0
  126. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuanExp/index.js +122 -0
  127. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuanOpen/index.d.ts +10 -0
  128. package/node_modules/@cloudbase/ai/dist/esm/models/HunYuanOpen/index.js +124 -0
  129. package/node_modules/@cloudbase/ai/dist/esm/models/Moonshot/index.d.ts +10 -0
  130. package/node_modules/@cloudbase/ai/dist/esm/models/Moonshot/index.js +127 -0
  131. package/node_modules/@cloudbase/ai/dist/esm/models/Moonshot/type.d.ts +85 -0
  132. package/node_modules/@cloudbase/ai/dist/esm/models/Moonshot/type.js +2 -0
  133. package/node_modules/@cloudbase/ai/dist/esm/models/Yi/index.d.ts +10 -0
  134. package/node_modules/@cloudbase/ai/dist/esm/models/Yi/index.js +130 -0
  135. package/node_modules/@cloudbase/ai/dist/esm/models/Yi/type.d.ts +75 -0
  136. package/node_modules/@cloudbase/ai/dist/esm/models/Yi/type.js +2 -0
  137. package/node_modules/@cloudbase/ai/dist/esm/models/ZhiPu/index.d.ts +10 -0
  138. package/node_modules/@cloudbase/ai/dist/esm/models/ZhiPu/index.js +136 -0
  139. package/node_modules/@cloudbase/ai/dist/esm/models/ZhiPu/type.d.ts +71 -0
  140. package/node_modules/@cloudbase/ai/dist/esm/models/ZhiPu/type.js +2 -0
  141. package/node_modules/@cloudbase/ai/dist/esm/models/image-model.d.ts +18 -0
  142. package/node_modules/@cloudbase/ai/dist/esm/models/image-model.js +82 -0
  143. package/node_modules/@cloudbase/ai/dist/esm/models/index.d.ts +26 -0
  144. package/node_modules/@cloudbase/ai/dist/esm/models/index.js +27 -0
  145. package/node_modules/@cloudbase/ai/dist/esm/models/model.d.ts +40 -0
  146. package/node_modules/@cloudbase/ai/dist/esm/models/model.js +478 -0
  147. package/node_modules/@cloudbase/ai/dist/esm/type.d.ts +190 -0
  148. package/node_modules/@cloudbase/ai/dist/esm/type.js +7 -0
  149. package/node_modules/@cloudbase/ai/dist/esm/utils.d.ts +38 -0
  150. package/node_modules/@cloudbase/ai/dist/esm/utils.js +252 -0
  151. package/node_modules/@cloudbase/ai/dist/miniprogram/index.js +2 -0
  152. package/node_modules/@cloudbase/ai/dist/miniprogram/index.js.LICENSE.txt +22 -0
  153. package/node_modules/@cloudbase/ai/package.json +32 -0
  154. package/node_modules/@cloudbase/analytics/.eslintrc.js +15 -0
  155. package/node_modules/@cloudbase/analytics/dist/cjs/index.d.ts +2 -0
  156. package/node_modules/@cloudbase/analytics/dist/cjs/index.js +144 -0
  157. package/node_modules/@cloudbase/analytics/dist/esm/index.d.ts +2 -0
  158. package/node_modules/@cloudbase/analytics/dist/esm/index.js +140 -0
  159. package/node_modules/@cloudbase/analytics/package.json +22 -0
  160. package/node_modules/@cloudbase/apis/.eslintrc.js +15 -0
  161. package/node_modules/@cloudbase/apis/dist/cjs/callApis.d.ts +20 -0
  162. package/node_modules/@cloudbase/apis/dist/cjs/callApis.js +154 -0
  163. package/node_modules/@cloudbase/apis/dist/cjs/index.d.ts +5 -0
  164. package/node_modules/@cloudbase/apis/dist/cjs/index.js +53 -0
  165. package/node_modules/@cloudbase/apis/dist/cjs/type.d.ts +14 -0
  166. package/node_modules/@cloudbase/apis/dist/cjs/type.js +3 -0
  167. package/node_modules/@cloudbase/apis/dist/esm/callApis.d.ts +20 -0
  168. package/node_modules/@cloudbase/apis/dist/esm/callApis.js +148 -0
  169. package/node_modules/@cloudbase/apis/dist/esm/index.d.ts +5 -0
  170. package/node_modules/@cloudbase/apis/dist/esm/index.js +35 -0
  171. package/node_modules/@cloudbase/apis/dist/esm/type.d.ts +14 -0
  172. package/node_modules/@cloudbase/apis/dist/esm/type.js +2 -0
  173. package/node_modules/@cloudbase/apis/dist/miniprogram/index.js +1 -0
  174. package/node_modules/@cloudbase/apis/package.json +28 -0
  175. package/node_modules/@cloudbase/app/.eslintrc.js +12 -0
  176. package/node_modules/@cloudbase/app/dist/cjs/constants/common.d.ts +38 -0
  177. package/node_modules/@cloudbase/app/dist/cjs/constants/common.js +103 -0
  178. package/node_modules/@cloudbase/app/dist/cjs/index.d.ts +65 -0
  179. package/node_modules/@cloudbase/app/dist/cjs/index.js +340 -0
  180. package/node_modules/@cloudbase/app/dist/cjs/index.node.d.ts +6 -0
  181. package/node_modules/@cloudbase/app/dist/cjs/index.node.js +20 -0
  182. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/constants.d.ts +33 -0
  183. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/constants.js +38 -0
  184. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/context.d.ts +13 -0
  185. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/context.js +162 -0
  186. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/index.d.ts +23 -0
  187. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/index.js +124 -0
  188. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/metadata.d.ts +14 -0
  189. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/metadata.js +130 -0
  190. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/request.d.ts +38 -0
  191. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/request.js +445 -0
  192. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/tool.d.ts +2 -0
  193. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/tool.js +228 -0
  194. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/types.d.ts +78 -0
  195. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/types.js +3 -0
  196. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/utils.d.ts +17 -0
  197. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/utils.js +221 -0
  198. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter.d.ts +3 -0
  199. package/node_modules/@cloudbase/app/dist/cjs/libs/adapter.js +163 -0
  200. package/node_modules/@cloudbase/app/dist/cjs/libs/cache.d.ts +6 -0
  201. package/node_modules/@cloudbase/app/dist/cjs/libs/cache.js +38 -0
  202. package/node_modules/@cloudbase/app/dist/cjs/libs/component.d.ts +3 -0
  203. package/node_modules/@cloudbase/app/dist/cjs/libs/component.js +126 -0
  204. package/node_modules/@cloudbase/app/dist/cjs/libs/lang.d.ts +23 -0
  205. package/node_modules/@cloudbase/app/dist/cjs/libs/lang.js +59 -0
  206. package/node_modules/@cloudbase/app/dist/cjs/libs/request.d.ts +62 -0
  207. package/node_modules/@cloudbase/app/dist/cjs/libs/request.js +480 -0
  208. package/node_modules/@cloudbase/app/dist/esm/constants/common.d.ts +38 -0
  209. package/node_modules/@cloudbase/app/dist/esm/constants/common.js +91 -0
  210. package/node_modules/@cloudbase/app/dist/esm/index.d.ts +65 -0
  211. package/node_modules/@cloudbase/app/dist/esm/index.js +335 -0
  212. package/node_modules/@cloudbase/app/dist/esm/index.node.d.ts +6 -0
  213. package/node_modules/@cloudbase/app/dist/esm/index.node.js +12 -0
  214. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/constants.d.ts +33 -0
  215. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/constants.js +35 -0
  216. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/context.d.ts +13 -0
  217. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/context.js +156 -0
  218. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/index.d.ts +23 -0
  219. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/index.js +118 -0
  220. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/metadata.d.ts +14 -0
  221. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/metadata.js +123 -0
  222. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/request.d.ts +38 -0
  223. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/request.js +442 -0
  224. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/tool.d.ts +2 -0
  225. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/tool.js +224 -0
  226. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/types.d.ts +78 -0
  227. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/types.js +2 -0
  228. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/utils.d.ts +17 -0
  229. package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/utils.js +205 -0
  230. package/node_modules/@cloudbase/app/dist/esm/libs/adapter.d.ts +3 -0
  231. package/node_modules/@cloudbase/app/dist/esm/libs/adapter.js +136 -0
  232. package/node_modules/@cloudbase/app/dist/esm/libs/cache.d.ts +6 -0
  233. package/node_modules/@cloudbase/app/dist/esm/libs/cache.js +32 -0
  234. package/node_modules/@cloudbase/app/dist/esm/libs/component.d.ts +3 -0
  235. package/node_modules/@cloudbase/app/dist/esm/libs/component.js +121 -0
  236. package/node_modules/@cloudbase/app/dist/esm/libs/lang.d.ts +23 -0
  237. package/node_modules/@cloudbase/app/dist/esm/libs/lang.js +54 -0
  238. package/node_modules/@cloudbase/app/dist/esm/libs/request.d.ts +62 -0
  239. package/node_modules/@cloudbase/app/dist/esm/libs/request.js +475 -0
  240. package/node_modules/@cloudbase/app/dist/miniprogram/index.js +2 -0
  241. package/node_modules/@cloudbase/app/dist/miniprogram/index.js.LICENSE.txt +7 -0
  242. package/node_modules/@cloudbase/app/package.json +59 -0
  243. package/node_modules/@cloudbase/auth/.eslintrc.js +15 -0
  244. package/node_modules/@cloudbase/auth/dist/cjs/adapter.d.ts +2 -0
  245. package/node_modules/@cloudbase/auth/dist/cjs/adapter.js +272 -0
  246. package/node_modules/@cloudbase/auth/dist/cjs/index.d.ts +283 -0
  247. package/node_modules/@cloudbase/auth/dist/cjs/index.js +3018 -0
  248. package/node_modules/@cloudbase/auth/dist/cjs/type.d.ts +258 -0
  249. package/node_modules/@cloudbase/auth/dist/cjs/type.js +6 -0
  250. package/node_modules/@cloudbase/auth/dist/cjs/utilities.d.ts +7 -0
  251. package/node_modules/@cloudbase/auth/dist/cjs/utilities.js +23 -0
  252. package/node_modules/@cloudbase/auth/dist/cjs/utils.d.ts +5 -0
  253. package/node_modules/@cloudbase/auth/dist/cjs/utils.js +60 -0
  254. package/node_modules/@cloudbase/auth/dist/cjs/v1-compat.d.ts +77 -0
  255. package/node_modules/@cloudbase/auth/dist/cjs/v1-compat.js +423 -0
  256. package/node_modules/@cloudbase/auth/dist/esm/adapter.d.ts +2 -0
  257. package/node_modules/@cloudbase/auth/dist/esm/adapter.js +268 -0
  258. package/node_modules/@cloudbase/auth/dist/esm/index.d.ts +283 -0
  259. package/node_modules/@cloudbase/auth/dist/esm/index.js +3008 -0
  260. package/node_modules/@cloudbase/auth/dist/esm/type.d.ts +258 -0
  261. package/node_modules/@cloudbase/auth/dist/esm/type.js +3 -0
  262. package/node_modules/@cloudbase/auth/dist/esm/utilities.d.ts +7 -0
  263. package/node_modules/@cloudbase/auth/dist/esm/utilities.js +8 -0
  264. package/node_modules/@cloudbase/auth/dist/esm/utils.d.ts +5 -0
  265. package/node_modules/@cloudbase/auth/dist/esm/utils.js +52 -0
  266. package/node_modules/@cloudbase/auth/dist/esm/v1-compat.d.ts +77 -0
  267. package/node_modules/@cloudbase/auth/dist/esm/v1-compat.js +419 -0
  268. package/node_modules/@cloudbase/auth/dist/miniprogram/index.js +1 -0
  269. package/node_modules/@cloudbase/auth/package.json +31 -0
  270. package/node_modules/@cloudbase/cloudrun/.eslintrc.js +15 -0
  271. package/node_modules/@cloudbase/cloudrun/dist/cjs/index.d.ts +4 -0
  272. package/node_modules/@cloudbase/cloudrun/dist/cjs/index.js +154 -0
  273. package/node_modules/@cloudbase/cloudrun/dist/esm/index.d.ts +4 -0
  274. package/node_modules/@cloudbase/cloudrun/dist/esm/index.js +149 -0
  275. package/node_modules/@cloudbase/cloudrun/package.json +30 -0
  276. package/node_modules/@cloudbase/container/.eslintrc.js +15 -0
  277. package/node_modules/@cloudbase/container/.prettierrc.js +41 -0
  278. package/node_modules/@cloudbase/container/dist/cjs/constants/index.d.ts +1 -0
  279. package/node_modules/@cloudbase/container/dist/cjs/constants/index.js +5 -0
  280. package/node_modules/@cloudbase/container/dist/cjs/go_wams_exec.d.ts +2 -0
  281. package/node_modules/@cloudbase/container/dist/cjs/go_wams_exec.js +538 -0
  282. package/node_modules/@cloudbase/container/dist/cjs/index.d.ts +13 -0
  283. package/node_modules/@cloudbase/container/dist/cjs/index.js +343 -0
  284. package/node_modules/@cloudbase/container/dist/cjs/utils/index.d.ts +3 -0
  285. package/node_modules/@cloudbase/container/dist/cjs/utils/index.js +83 -0
  286. package/node_modules/@cloudbase/container/dist/cjs/utils/loader.d.ts +8 -0
  287. package/node_modules/@cloudbase/container/dist/cjs/utils/loader.js +186 -0
  288. package/node_modules/@cloudbase/container/dist/cjs/utils/request.d.ts +12 -0
  289. package/node_modules/@cloudbase/container/dist/cjs/utils/request.js +106 -0
  290. package/node_modules/@cloudbase/container/dist/esm/constants/index.d.ts +1 -0
  291. package/node_modules/@cloudbase/container/dist/esm/constants/index.js +2 -0
  292. package/node_modules/@cloudbase/container/dist/esm/go_wams_exec.d.ts +2 -0
  293. package/node_modules/@cloudbase/container/dist/esm/go_wams_exec.js +536 -0
  294. package/node_modules/@cloudbase/container/dist/esm/index.d.ts +13 -0
  295. package/node_modules/@cloudbase/container/dist/esm/index.js +338 -0
  296. package/node_modules/@cloudbase/container/dist/esm/utils/index.d.ts +3 -0
  297. package/node_modules/@cloudbase/container/dist/esm/utils/index.js +77 -0
  298. package/node_modules/@cloudbase/container/dist/esm/utils/loader.d.ts +8 -0
  299. package/node_modules/@cloudbase/container/dist/esm/utils/loader.js +178 -0
  300. package/node_modules/@cloudbase/container/dist/esm/utils/request.d.ts +12 -0
  301. package/node_modules/@cloudbase/container/dist/esm/utils/request.js +102 -0
  302. package/node_modules/@cloudbase/container/package.json +30 -0
  303. package/node_modules/@cloudbase/database/README.md +119 -0
  304. package/node_modules/@cloudbase/database/dist/commonjs/aggregate.d.ts +29 -0
  305. package/node_modules/@cloudbase/database/dist/commonjs/aggregate.js +156 -0
  306. package/node_modules/@cloudbase/database/dist/commonjs/collection.d.ts +9 -0
  307. package/node_modules/@cloudbase/database/dist/commonjs/collection.js +49 -0
  308. package/node_modules/@cloudbase/database/dist/commonjs/command.d.ts +175 -0
  309. package/node_modules/@cloudbase/database/dist/commonjs/command.js +299 -0
  310. package/node_modules/@cloudbase/database/dist/commonjs/commands/logic.d.ts +24 -0
  311. package/node_modules/@cloudbase/database/dist/commonjs/commands/logic.js +89 -0
  312. package/node_modules/@cloudbase/database/dist/commonjs/commands/query.d.ts +68 -0
  313. package/node_modules/@cloudbase/database/dist/commonjs/commands/query.js +160 -0
  314. package/node_modules/@cloudbase/database/dist/commonjs/commands/update.d.ts +29 -0
  315. package/node_modules/@cloudbase/database/dist/commonjs/commands/update.js +51 -0
  316. package/node_modules/@cloudbase/database/dist/commonjs/config/app.config.d.ts +6 -0
  317. package/node_modules/@cloudbase/database/dist/commonjs/config/app.config.js +7 -0
  318. package/node_modules/@cloudbase/database/dist/commonjs/config/error.config.d.ts +3 -0
  319. package/node_modules/@cloudbase/database/dist/commonjs/config/error.config.js +16 -0
  320. package/node_modules/@cloudbase/database/dist/commonjs/const/code.d.ts +30 -0
  321. package/node_modules/@cloudbase/database/dist/commonjs/const/code.js +33 -0
  322. package/node_modules/@cloudbase/database/dist/commonjs/constant.d.ts +51 -0
  323. package/node_modules/@cloudbase/database/dist/commonjs/constant.js +75 -0
  324. package/node_modules/@cloudbase/database/dist/commonjs/document.d.ts +11 -0
  325. package/node_modules/@cloudbase/database/dist/commonjs/document.js +260 -0
  326. package/node_modules/@cloudbase/database/dist/commonjs/geo/index.d.ts +6 -0
  327. package/node_modules/@cloudbase/database/dist/commonjs/geo/index.js +22 -0
  328. package/node_modules/@cloudbase/database/dist/commonjs/geo/interface.d.ts +24 -0
  329. package/node_modules/@cloudbase/database/dist/commonjs/geo/interface.js +2 -0
  330. package/node_modules/@cloudbase/database/dist/commonjs/geo/lineString.d.ts +19 -0
  331. package/node_modules/@cloudbase/database/dist/commonjs/geo/lineString.js +86 -0
  332. package/node_modules/@cloudbase/database/dist/commonjs/geo/multiLineString.d.ts +18 -0
  333. package/node_modules/@cloudbase/database/dist/commonjs/geo/multiLineString.js +95 -0
  334. package/node_modules/@cloudbase/database/dist/commonjs/geo/multiPoint.d.ts +18 -0
  335. package/node_modules/@cloudbase/database/dist/commonjs/geo/multiPoint.js +79 -0
  336. package/node_modules/@cloudbase/database/dist/commonjs/geo/multiPolygon.d.ts +18 -0
  337. package/node_modules/@cloudbase/database/dist/commonjs/geo/multiPolygon.js +122 -0
  338. package/node_modules/@cloudbase/database/dist/commonjs/geo/point.d.ts +19 -0
  339. package/node_modules/@cloudbase/database/dist/commonjs/geo/point.js +50 -0
  340. package/node_modules/@cloudbase/database/dist/commonjs/geo/polygon.d.ts +19 -0
  341. package/node_modules/@cloudbase/database/dist/commonjs/geo/polygon.js +109 -0
  342. package/node_modules/@cloudbase/database/dist/commonjs/helper/symbol.d.ts +14 -0
  343. package/node_modules/@cloudbase/database/dist/commonjs/helper/symbol.js +31 -0
  344. package/node_modules/@cloudbase/database/dist/commonjs/index.d.ts +40 -0
  345. package/node_modules/@cloudbase/database/dist/commonjs/index.js +61 -0
  346. package/node_modules/@cloudbase/database/dist/commonjs/lib/util.d.ts +1 -0
  347. package/node_modules/@cloudbase/database/dist/commonjs/lib/util.js +26 -0
  348. package/node_modules/@cloudbase/database/dist/commonjs/operator-map.d.ts +4 -0
  349. package/node_modules/@cloudbase/database/dist/commonjs/operator-map.js +24 -0
  350. package/node_modules/@cloudbase/database/dist/commonjs/query.d.ts +22 -0
  351. package/node_modules/@cloudbase/database/dist/commonjs/query.js +252 -0
  352. package/node_modules/@cloudbase/database/dist/commonjs/regexp/index.d.ts +14 -0
  353. package/node_modules/@cloudbase/database/dist/commonjs/regexp/index.js +33 -0
  354. package/node_modules/@cloudbase/database/dist/commonjs/serializer/common.d.ts +11 -0
  355. package/node_modules/@cloudbase/database/dist/commonjs/serializer/common.js +127 -0
  356. package/node_modules/@cloudbase/database/dist/commonjs/serializer/datatype.d.ts +7 -0
  357. package/node_modules/@cloudbase/database/dist/commonjs/serializer/datatype.js +132 -0
  358. package/node_modules/@cloudbase/database/dist/commonjs/serializer/query.d.ts +7 -0
  359. package/node_modules/@cloudbase/database/dist/commonjs/serializer/query.js +232 -0
  360. package/node_modules/@cloudbase/database/dist/commonjs/serializer/update.d.ts +15 -0
  361. package/node_modules/@cloudbase/database/dist/commonjs/serializer/update.js +142 -0
  362. package/node_modules/@cloudbase/database/dist/commonjs/serverDate/index.d.ts +13 -0
  363. package/node_modules/@cloudbase/database/dist/commonjs/serverDate/index.js +30 -0
  364. package/node_modules/@cloudbase/database/dist/commonjs/transaction/collection.d.ts +7 -0
  365. package/node_modules/@cloudbase/database/dist/commonjs/transaction/collection.js +49 -0
  366. package/node_modules/@cloudbase/database/dist/commonjs/transaction/document.d.ts +27 -0
  367. package/node_modules/@cloudbase/database/dist/commonjs/transaction/document.js +205 -0
  368. package/node_modules/@cloudbase/database/dist/commonjs/transaction/index.d.ts +30 -0
  369. package/node_modules/@cloudbase/database/dist/commonjs/transaction/index.js +215 -0
  370. package/node_modules/@cloudbase/database/dist/commonjs/transaction/query.d.ts +43 -0
  371. package/node_modules/@cloudbase/database/dist/commonjs/transaction/query.js +261 -0
  372. package/node_modules/@cloudbase/database/dist/commonjs/typings/index.d.ts +40 -0
  373. package/node_modules/@cloudbase/database/dist/commonjs/typings/index.js +2 -0
  374. package/node_modules/@cloudbase/database/dist/commonjs/typings/realtime.d.ts +219 -0
  375. package/node_modules/@cloudbase/database/dist/commonjs/typings/realtime.js +2 -0
  376. package/node_modules/@cloudbase/database/dist/commonjs/util.d.ts +9 -0
  377. package/node_modules/@cloudbase/database/dist/commonjs/util.js +145 -0
  378. package/node_modules/@cloudbase/database/dist/commonjs/utils/error.d.ts +38 -0
  379. package/node_modules/@cloudbase/database/dist/commonjs/utils/error.js +91 -0
  380. package/node_modules/@cloudbase/database/dist/commonjs/utils/msg.d.ts +0 -0
  381. package/node_modules/@cloudbase/database/dist/commonjs/utils/msg.js +0 -0
  382. package/node_modules/@cloudbase/database/dist/commonjs/utils/symbol.d.ts +8 -0
  383. package/node_modules/@cloudbase/database/dist/commonjs/utils/symbol.js +58 -0
  384. package/node_modules/@cloudbase/database/dist/commonjs/utils/type.d.ts +13 -0
  385. package/node_modules/@cloudbase/database/dist/commonjs/utils/type.js +34 -0
  386. package/node_modules/@cloudbase/database/dist/commonjs/utils/utils.d.ts +4 -0
  387. package/node_modules/@cloudbase/database/dist/commonjs/utils/utils.js +39 -0
  388. package/node_modules/@cloudbase/database/dist/commonjs/validate.d.ts +1 -0
  389. package/node_modules/@cloudbase/database/dist/commonjs/validate.js +60 -0
  390. package/node_modules/@cloudbase/database/dist/esm/aggregate.d.ts +29 -0
  391. package/node_modules/@cloudbase/database/dist/esm/aggregate.js +154 -0
  392. package/node_modules/@cloudbase/database/dist/esm/collection.d.ts +9 -0
  393. package/node_modules/@cloudbase/database/dist/esm/collection.js +46 -0
  394. package/node_modules/@cloudbase/database/dist/esm/command.d.ts +175 -0
  395. package/node_modules/@cloudbase/database/dist/esm/command.js +296 -0
  396. package/node_modules/@cloudbase/database/dist/esm/commands/logic.d.ts +24 -0
  397. package/node_modules/@cloudbase/database/dist/esm/commands/logic.js +84 -0
  398. package/node_modules/@cloudbase/database/dist/esm/commands/query.d.ts +68 -0
  399. package/node_modules/@cloudbase/database/dist/esm/commands/query.js +154 -0
  400. package/node_modules/@cloudbase/database/dist/esm/commands/update.d.ts +29 -0
  401. package/node_modules/@cloudbase/database/dist/esm/commands/update.js +46 -0
  402. package/node_modules/@cloudbase/database/dist/esm/config/app.config.d.ts +6 -0
  403. package/node_modules/@cloudbase/database/dist/esm/config/app.config.js +5 -0
  404. package/node_modules/@cloudbase/database/dist/esm/config/error.config.d.ts +3 -0
  405. package/node_modules/@cloudbase/database/dist/esm/config/error.config.js +13 -0
  406. package/node_modules/@cloudbase/database/dist/esm/const/code.d.ts +30 -0
  407. package/node_modules/@cloudbase/database/dist/esm/const/code.js +30 -0
  408. package/node_modules/@cloudbase/database/dist/esm/constant.d.ts +51 -0
  409. package/node_modules/@cloudbase/database/dist/esm/constant.js +65 -0
  410. package/node_modules/@cloudbase/database/dist/esm/document.d.ts +11 -0
  411. package/node_modules/@cloudbase/database/dist/esm/document.js +257 -0
  412. package/node_modules/@cloudbase/database/dist/esm/geo/index.d.ts +6 -0
  413. package/node_modules/@cloudbase/database/dist/esm/geo/index.js +6 -0
  414. package/node_modules/@cloudbase/database/dist/esm/geo/interface.d.ts +24 -0
  415. package/node_modules/@cloudbase/database/dist/esm/geo/interface.js +1 -0
  416. package/node_modules/@cloudbase/database/dist/esm/geo/lineString.d.ts +19 -0
  417. package/node_modules/@cloudbase/database/dist/esm/geo/lineString.js +83 -0
  418. package/node_modules/@cloudbase/database/dist/esm/geo/multiLineString.d.ts +18 -0
  419. package/node_modules/@cloudbase/database/dist/esm/geo/multiLineString.js +92 -0
  420. package/node_modules/@cloudbase/database/dist/esm/geo/multiPoint.d.ts +18 -0
  421. package/node_modules/@cloudbase/database/dist/esm/geo/multiPoint.js +76 -0
  422. package/node_modules/@cloudbase/database/dist/esm/geo/multiPolygon.d.ts +18 -0
  423. package/node_modules/@cloudbase/database/dist/esm/geo/multiPolygon.js +119 -0
  424. package/node_modules/@cloudbase/database/dist/esm/geo/point.d.ts +19 -0
  425. package/node_modules/@cloudbase/database/dist/esm/geo/point.js +47 -0
  426. package/node_modules/@cloudbase/database/dist/esm/geo/polygon.d.ts +19 -0
  427. package/node_modules/@cloudbase/database/dist/esm/geo/polygon.js +106 -0
  428. package/node_modules/@cloudbase/database/dist/esm/helper/symbol.d.ts +14 -0
  429. package/node_modules/@cloudbase/database/dist/esm/helper/symbol.js +14 -0
  430. package/node_modules/@cloudbase/database/dist/esm/index.d.ts +40 -0
  431. package/node_modules/@cloudbase/database/dist/esm/index.js +55 -0
  432. package/node_modules/@cloudbase/database/dist/esm/lib/util.d.ts +1 -0
  433. package/node_modules/@cloudbase/database/dist/esm/lib/util.js +22 -0
  434. package/node_modules/@cloudbase/database/dist/esm/operator-map.d.ts +4 -0
  435. package/node_modules/@cloudbase/database/dist/esm/operator-map.js +20 -0
  436. package/node_modules/@cloudbase/database/dist/esm/query.d.ts +22 -0
  437. package/node_modules/@cloudbase/database/dist/esm/query.js +249 -0
  438. package/node_modules/@cloudbase/database/dist/esm/regexp/index.d.ts +14 -0
  439. package/node_modules/@cloudbase/database/dist/esm/regexp/index.js +29 -0
  440. package/node_modules/@cloudbase/database/dist/esm/serializer/common.d.ts +11 -0
  441. package/node_modules/@cloudbase/database/dist/esm/serializer/common.js +118 -0
  442. package/node_modules/@cloudbase/database/dist/esm/serializer/datatype.d.ts +7 -0
  443. package/node_modules/@cloudbase/database/dist/esm/serializer/datatype.js +127 -0
  444. package/node_modules/@cloudbase/database/dist/esm/serializer/query.d.ts +7 -0
  445. package/node_modules/@cloudbase/database/dist/esm/serializer/query.js +229 -0
  446. package/node_modules/@cloudbase/database/dist/esm/serializer/update.d.ts +15 -0
  447. package/node_modules/@cloudbase/database/dist/esm/serializer/update.js +139 -0
  448. package/node_modules/@cloudbase/database/dist/esm/serverDate/index.d.ts +13 -0
  449. package/node_modules/@cloudbase/database/dist/esm/serverDate/index.js +26 -0
  450. package/node_modules/@cloudbase/database/dist/esm/transaction/collection.d.ts +7 -0
  451. package/node_modules/@cloudbase/database/dist/esm/transaction/collection.js +46 -0
  452. package/node_modules/@cloudbase/database/dist/esm/transaction/document.d.ts +27 -0
  453. package/node_modules/@cloudbase/database/dist/esm/transaction/document.js +202 -0
  454. package/node_modules/@cloudbase/database/dist/esm/transaction/index.d.ts +30 -0
  455. package/node_modules/@cloudbase/database/dist/esm/transaction/index.js +210 -0
  456. package/node_modules/@cloudbase/database/dist/esm/transaction/query.d.ts +43 -0
  457. package/node_modules/@cloudbase/database/dist/esm/transaction/query.js +258 -0
  458. package/node_modules/@cloudbase/database/dist/esm/typings/index.d.ts +40 -0
  459. package/node_modules/@cloudbase/database/dist/esm/typings/index.js +1 -0
  460. package/node_modules/@cloudbase/database/dist/esm/typings/realtime.d.ts +219 -0
  461. package/node_modules/@cloudbase/database/dist/esm/typings/realtime.js +1 -0
  462. package/node_modules/@cloudbase/database/dist/esm/util.d.ts +9 -0
  463. package/node_modules/@cloudbase/database/dist/esm/util.js +142 -0
  464. package/node_modules/@cloudbase/database/dist/esm/utils/error.d.ts +38 -0
  465. package/node_modules/@cloudbase/database/dist/esm/utils/error.js +84 -0
  466. package/node_modules/@cloudbase/database/dist/esm/utils/msg.d.ts +0 -0
  467. package/node_modules/@cloudbase/database/dist/esm/utils/msg.js +0 -0
  468. package/node_modules/@cloudbase/database/dist/esm/utils/symbol.d.ts +8 -0
  469. package/node_modules/@cloudbase/database/dist/esm/utils/symbol.js +55 -0
  470. package/node_modules/@cloudbase/database/dist/esm/utils/type.d.ts +13 -0
  471. package/node_modules/@cloudbase/database/dist/esm/utils/type.js +20 -0
  472. package/node_modules/@cloudbase/database/dist/esm/utils/utils.d.ts +4 -0
  473. package/node_modules/@cloudbase/database/dist/esm/utils/utils.js +33 -0
  474. package/node_modules/@cloudbase/database/dist/esm/validate.d.ts +1 -0
  475. package/node_modules/@cloudbase/database/dist/esm/validate.js +57 -0
  476. package/node_modules/@cloudbase/database/package.json +36 -0
  477. package/node_modules/@cloudbase/database/tsconfig.test.json +15 -0
  478. package/node_modules/@cloudbase/functions/.eslintrc.js +15 -0
  479. package/node_modules/@cloudbase/functions/dist/cjs/index.d.ts +2 -0
  480. package/node_modules/@cloudbase/functions/dist/cjs/index.js +223 -0
  481. package/node_modules/@cloudbase/functions/dist/esm/index.d.ts +2 -0
  482. package/node_modules/@cloudbase/functions/dist/esm/index.js +219 -0
  483. package/node_modules/@cloudbase/functions/package.json +32 -0
  484. package/node_modules/@cloudbase/model/.eslintrc.js +15 -0
  485. package/node_modules/@cloudbase/model/dist/cjs/index.d.ts +5 -0
  486. package/node_modules/@cloudbase/model/dist/cjs/index.js +144 -0
  487. package/node_modules/@cloudbase/model/dist/esm/index.d.ts +5 -0
  488. package/node_modules/@cloudbase/model/dist/esm/index.js +125 -0
  489. package/node_modules/@cloudbase/model/package.json +29 -0
  490. package/node_modules/@cloudbase/mysql/.eslintrc.js +6 -0
  491. package/node_modules/@cloudbase/mysql/dist/cjs/index.d.ts +4 -0
  492. package/node_modules/@cloudbase/mysql/dist/cjs/index.d.ts.map +1 -0
  493. package/node_modules/@cloudbase/mysql/dist/cjs/index.js +173 -0
  494. package/node_modules/@cloudbase/mysql/dist/esm/index.d.ts +3 -0
  495. package/node_modules/@cloudbase/mysql/dist/esm/index.js +155 -0
  496. package/node_modules/@cloudbase/mysql/package.json +30 -0
  497. package/node_modules/@cloudbase/oauth/.eslintrc.js +15 -0
  498. package/node_modules/@cloudbase/oauth/dist/cjs/auth/apis.d.ts +142 -0
  499. package/node_modules/@cloudbase/oauth/dist/cjs/auth/apis.js +1280 -0
  500. package/node_modules/@cloudbase/oauth/dist/cjs/auth/auth-error.d.ts +22 -0
  501. package/node_modules/@cloudbase/oauth/dist/cjs/auth/auth-error.js +278 -0
  502. package/node_modules/@cloudbase/oauth/dist/cjs/auth/consts.d.ts +139 -0
  503. package/node_modules/@cloudbase/oauth/dist/cjs/auth/consts.js +147 -0
  504. package/node_modules/@cloudbase/oauth/dist/cjs/auth/models.d.ts +557 -0
  505. package/node_modules/@cloudbase/oauth/dist/cjs/auth/models.js +3 -0
  506. package/node_modules/@cloudbase/oauth/dist/cjs/captcha/captcha-dom.d.ts +3 -0
  507. package/node_modules/@cloudbase/oauth/dist/cjs/captcha/captcha-dom.js +223 -0
  508. package/node_modules/@cloudbase/oauth/dist/cjs/captcha/captcha.d.ts +42 -0
  509. package/node_modules/@cloudbase/oauth/dist/cjs/captcha/captcha.js +205 -0
  510. package/node_modules/@cloudbase/oauth/dist/cjs/index.d.ts +22 -0
  511. package/node_modules/@cloudbase/oauth/dist/cjs/index.js +107 -0
  512. package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/consts.d.ts +20 -0
  513. package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/consts.js +26 -0
  514. package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/interface.d.ts +15 -0
  515. package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/interface.js +10 -0
  516. package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/models.d.ts +74 -0
  517. package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/models.js +3 -0
  518. package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/oauth2client.d.ts +129 -0
  519. package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/oauth2client.js +1174 -0
  520. package/node_modules/@cloudbase/oauth/dist/cjs/utils/base64.d.ts +9 -0
  521. package/node_modules/@cloudbase/oauth/dist/cjs/utils/base64.js +112 -0
  522. package/node_modules/@cloudbase/oauth/dist/cjs/utils/encrypt.d.ts +4 -0
  523. package/node_modules/@cloudbase/oauth/dist/cjs/utils/encrypt.js +26 -0
  524. package/node_modules/@cloudbase/oauth/dist/cjs/utils/encryptlong/index.d.ts +546 -0
  525. package/node_modules/@cloudbase/oauth/dist/cjs/utils/encryptlong/index.js +2982 -0
  526. package/node_modules/@cloudbase/oauth/dist/cjs/utils/function/single-promise.d.ts +6 -0
  527. package/node_modules/@cloudbase/oauth/dist/cjs/utils/function/single-promise.js +94 -0
  528. package/node_modules/@cloudbase/oauth/dist/cjs/utils/index.d.ts +2 -0
  529. package/node_modules/@cloudbase/oauth/dist/cjs/utils/index.js +56 -0
  530. package/node_modules/@cloudbase/oauth/dist/cjs/utils/mp.d.ts +2 -0
  531. package/node_modules/@cloudbase/oauth/dist/cjs/utils/mp.js +66 -0
  532. package/node_modules/@cloudbase/oauth/dist/cjs/utils/urlSearchParams.d.ts +13 -0
  533. package/node_modules/@cloudbase/oauth/dist/cjs/utils/urlSearchParams.js +66 -0
  534. package/node_modules/@cloudbase/oauth/dist/cjs/utils/uuid.d.ts +1 -0
  535. package/node_modules/@cloudbase/oauth/dist/cjs/utils/uuid.js +12 -0
  536. package/node_modules/@cloudbase/oauth/dist/esm/auth/apis.d.ts +142 -0
  537. package/node_modules/@cloudbase/oauth/dist/esm/auth/apis.js +768 -0
  538. package/node_modules/@cloudbase/oauth/dist/esm/auth/auth-error.d.ts +22 -0
  539. package/node_modules/@cloudbase/oauth/dist/esm/auth/auth-error.js +255 -0
  540. package/node_modules/@cloudbase/oauth/dist/esm/auth/consts.d.ts +139 -0
  541. package/node_modules/@cloudbase/oauth/dist/esm/auth/consts.js +144 -0
  542. package/node_modules/@cloudbase/oauth/dist/esm/auth/models.d.ts +557 -0
  543. package/node_modules/@cloudbase/oauth/dist/esm/auth/models.js +2 -0
  544. package/node_modules/@cloudbase/oauth/dist/esm/captcha/captcha-dom.d.ts +3 -0
  545. package/node_modules/@cloudbase/oauth/dist/esm/captcha/captcha-dom.js +130 -0
  546. package/node_modules/@cloudbase/oauth/dist/esm/captcha/captcha.d.ts +42 -0
  547. package/node_modules/@cloudbase/oauth/dist/esm/captcha/captcha.js +104 -0
  548. package/node_modules/@cloudbase/oauth/dist/esm/index.d.ts +22 -0
  549. package/node_modules/@cloudbase/oauth/dist/esm/index.js +64 -0
  550. package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/consts.d.ts +20 -0
  551. package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/consts.js +22 -0
  552. package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/interface.d.ts +15 -0
  553. package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/interface.js +3 -0
  554. package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/models.d.ts +74 -0
  555. package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/models.js +2 -0
  556. package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/oauth2client.d.ts +129 -0
  557. package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/oauth2client.js +711 -0
  558. package/node_modules/@cloudbase/oauth/dist/esm/utils/base64.d.ts +9 -0
  559. package/node_modules/@cloudbase/oauth/dist/esm/utils/base64.js +104 -0
  560. package/node_modules/@cloudbase/oauth/dist/esm/utils/encrypt.d.ts +4 -0
  561. package/node_modules/@cloudbase/oauth/dist/esm/utils/encrypt.js +18 -0
  562. package/node_modules/@cloudbase/oauth/dist/esm/utils/encryptlong/index.d.ts +546 -0
  563. package/node_modules/@cloudbase/oauth/dist/esm/utils/encryptlong/index.js +2953 -0
  564. package/node_modules/@cloudbase/oauth/dist/esm/utils/function/single-promise.d.ts +6 -0
  565. package/node_modules/@cloudbase/oauth/dist/esm/utils/function/single-promise.js +34 -0
  566. package/node_modules/@cloudbase/oauth/dist/esm/utils/index.d.ts +2 -0
  567. package/node_modules/@cloudbase/oauth/dist/esm/utils/index.js +51 -0
  568. package/node_modules/@cloudbase/oauth/dist/esm/utils/mp.d.ts +2 -0
  569. package/node_modules/@cloudbase/oauth/dist/esm/utils/mp.js +61 -0
  570. package/node_modules/@cloudbase/oauth/dist/esm/utils/urlSearchParams.d.ts +13 -0
  571. package/node_modules/@cloudbase/oauth/dist/esm/utils/urlSearchParams.js +58 -0
  572. package/node_modules/@cloudbase/oauth/dist/esm/utils/uuid.d.ts +1 -0
  573. package/node_modules/@cloudbase/oauth/dist/esm/utils/uuid.js +8 -0
  574. package/node_modules/@cloudbase/oauth/dist/miniprogram/index.js +1 -0
  575. package/node_modules/@cloudbase/oauth/package.json +20 -0
  576. package/node_modules/@cloudbase/realtime/.eslintrc.js +15 -0
  577. package/node_modules/@cloudbase/realtime/dist/cjs/common.d.ts +4 -0
  578. package/node_modules/@cloudbase/realtime/dist/cjs/common.js +22 -0
  579. package/node_modules/@cloudbase/realtime/dist/cjs/error.d.ts +36 -0
  580. package/node_modules/@cloudbase/realtime/dist/cjs/error.js +106 -0
  581. package/node_modules/@cloudbase/realtime/dist/cjs/index.d.ts +2 -0
  582. package/node_modules/@cloudbase/realtime/dist/cjs/index.js +36 -0
  583. package/node_modules/@cloudbase/realtime/dist/cjs/listener.d.ts +14 -0
  584. package/node_modules/@cloudbase/realtime/dist/cjs/listener.js +18 -0
  585. package/node_modules/@cloudbase/realtime/dist/cjs/message.d.ts +3 -0
  586. package/node_modules/@cloudbase/realtime/dist/cjs/message.js +13 -0
  587. package/node_modules/@cloudbase/realtime/dist/cjs/snapshot.d.ts +17 -0
  588. package/node_modules/@cloudbase/realtime/dist/cjs/snapshot.js +45 -0
  589. package/node_modules/@cloudbase/realtime/dist/cjs/utils.d.ts +1 -0
  590. package/node_modules/@cloudbase/realtime/dist/cjs/utils.js +9 -0
  591. package/node_modules/@cloudbase/realtime/dist/cjs/virtual-websocket-client.d.ts +62 -0
  592. package/node_modules/@cloudbase/realtime/dist/cjs/virtual-websocket-client.js +960 -0
  593. package/node_modules/@cloudbase/realtime/dist/cjs/websocket-client.d.ts +78 -0
  594. package/node_modules/@cloudbase/realtime/dist/cjs/websocket-client.js +750 -0
  595. package/node_modules/@cloudbase/realtime/dist/cjs/ws-event.d.ts +126 -0
  596. package/node_modules/@cloudbase/realtime/dist/cjs/ws-event.js +141 -0
  597. package/node_modules/@cloudbase/realtime/dist/esm/common.d.ts +4 -0
  598. package/node_modules/@cloudbase/realtime/dist/esm/common.js +15 -0
  599. package/node_modules/@cloudbase/realtime/dist/esm/error.d.ts +36 -0
  600. package/node_modules/@cloudbase/realtime/dist/esm/error.js +100 -0
  601. package/node_modules/@cloudbase/realtime/dist/esm/index.d.ts +2 -0
  602. package/node_modules/@cloudbase/realtime/dist/esm/index.js +32 -0
  603. package/node_modules/@cloudbase/realtime/dist/esm/listener.d.ts +14 -0
  604. package/node_modules/@cloudbase/realtime/dist/esm/listener.js +15 -0
  605. package/node_modules/@cloudbase/realtime/dist/esm/message.d.ts +3 -0
  606. package/node_modules/@cloudbase/realtime/dist/esm/message.js +8 -0
  607. package/node_modules/@cloudbase/realtime/dist/esm/snapshot.d.ts +17 -0
  608. package/node_modules/@cloudbase/realtime/dist/esm/snapshot.js +42 -0
  609. package/node_modules/@cloudbase/realtime/dist/esm/utils.d.ts +1 -0
  610. package/node_modules/@cloudbase/realtime/dist/esm/utils.js +5 -0
  611. package/node_modules/@cloudbase/realtime/dist/esm/virtual-websocket-client.d.ts +62 -0
  612. package/node_modules/@cloudbase/realtime/dist/esm/virtual-websocket-client.js +954 -0
  613. package/node_modules/@cloudbase/realtime/dist/esm/websocket-client.d.ts +78 -0
  614. package/node_modules/@cloudbase/realtime/dist/esm/websocket-client.js +747 -0
  615. package/node_modules/@cloudbase/realtime/dist/esm/ws-event.d.ts +126 -0
  616. package/node_modules/@cloudbase/realtime/dist/esm/ws-event.js +137 -0
  617. package/node_modules/@cloudbase/realtime/package.json +29 -0
  618. package/node_modules/@cloudbase/storage/.eslintrc.js +15 -0
  619. package/node_modules/@cloudbase/storage/dist/cjs/index.d.ts +195 -0
  620. package/node_modules/@cloudbase/storage/dist/cjs/index.js +1426 -0
  621. package/node_modules/@cloudbase/storage/dist/cjs/supabase/errors.d.ts +20 -0
  622. package/node_modules/@cloudbase/storage/dist/cjs/supabase/errors.js +65 -0
  623. package/node_modules/@cloudbase/storage/dist/cjs/supabase/types.d.ts +64 -0
  624. package/node_modules/@cloudbase/storage/dist/cjs/supabase/types.js +3 -0
  625. package/node_modules/@cloudbase/storage/dist/esm/index.d.ts +195 -0
  626. package/node_modules/@cloudbase/storage/dist/esm/index.js +1422 -0
  627. package/node_modules/@cloudbase/storage/dist/esm/supabase/errors.d.ts +20 -0
  628. package/node_modules/@cloudbase/storage/dist/esm/supabase/errors.js +61 -0
  629. package/node_modules/@cloudbase/storage/dist/esm/supabase/types.d.ts +64 -0
  630. package/node_modules/@cloudbase/storage/dist/esm/supabase/types.js +2 -0
  631. package/node_modules/@cloudbase/storage/package.json +28 -0
  632. package/node_modules/@cloudbase/types/auth.d.ts +99 -0
  633. package/node_modules/@cloudbase/types/cache.d.ts +26 -0
  634. package/node_modules/@cloudbase/types/cloudrun.d.ts +9 -0
  635. package/node_modules/@cloudbase/types/component.d.ts +17 -0
  636. package/node_modules/@cloudbase/types/database.d.ts +31 -0
  637. package/node_modules/@cloudbase/types/events.d.ts +13 -0
  638. package/node_modules/@cloudbase/types/functions.d.ts +40 -0
  639. package/node_modules/@cloudbase/types/index.d.ts +211 -0
  640. package/node_modules/@cloudbase/types/index.js +1 -0
  641. package/node_modules/@cloudbase/types/package.json +43 -0
  642. package/node_modules/@cloudbase/types/realtime.d.ts +350 -0
  643. package/node_modules/@cloudbase/types/request.d.ts +30 -0
  644. package/node_modules/@cloudbase/types/storage.d.ts +126 -0
  645. package/node_modules/@cloudbase/utilities/.eslintrc.js +15 -0
  646. package/node_modules/@cloudbase/utilities/dist/cjs/adapters/index.d.ts +45 -0
  647. package/node_modules/@cloudbase/utilities/dist/cjs/adapters/index.js +68 -0
  648. package/node_modules/@cloudbase/utilities/dist/cjs/adapters/platforms/web.d.ts +20 -0
  649. package/node_modules/@cloudbase/utilities/dist/cjs/adapters/platforms/web.js +278 -0
  650. package/node_modules/@cloudbase/utilities/dist/cjs/constants/common.d.ts +6 -0
  651. package/node_modules/@cloudbase/utilities/dist/cjs/constants/common.js +24 -0
  652. package/node_modules/@cloudbase/utilities/dist/cjs/constants/errors.d.ts +8 -0
  653. package/node_modules/@cloudbase/utilities/dist/cjs/constants/errors.js +12 -0
  654. package/node_modules/@cloudbase/utilities/dist/cjs/constants/index.d.ts +3 -0
  655. package/node_modules/@cloudbase/utilities/dist/cjs/constants/index.js +21 -0
  656. package/node_modules/@cloudbase/utilities/dist/cjs/helpers/decorators.d.ts +11 -0
  657. package/node_modules/@cloudbase/utilities/dist/cjs/helpers/decorators.js +238 -0
  658. package/node_modules/@cloudbase/utilities/dist/cjs/helpers/index.d.ts +1 -0
  659. package/node_modules/@cloudbase/utilities/dist/cjs/helpers/index.js +18 -0
  660. package/node_modules/@cloudbase/utilities/dist/cjs/index.d.ts +13 -0
  661. package/node_modules/@cloudbase/utilities/dist/cjs/index.js +51 -0
  662. package/node_modules/@cloudbase/utilities/dist/cjs/libs/abortController.d.ts +9 -0
  663. package/node_modules/@cloudbase/utilities/dist/cjs/libs/abortController.js +25 -0
  664. package/node_modules/@cloudbase/utilities/dist/cjs/libs/cache.d.ts +17 -0
  665. package/node_modules/@cloudbase/utilities/dist/cjs/libs/cache.js +261 -0
  666. package/node_modules/@cloudbase/utilities/dist/cjs/libs/events.d.ts +27 -0
  667. package/node_modules/@cloudbase/utilities/dist/cjs/libs/events.js +108 -0
  668. package/node_modules/@cloudbase/utilities/dist/cjs/libs/langEvent.d.ts +3 -0
  669. package/node_modules/@cloudbase/utilities/dist/cjs/libs/langEvent.js +7 -0
  670. package/node_modules/@cloudbase/utilities/dist/cjs/libs/util.d.ts +49 -0
  671. package/node_modules/@cloudbase/utilities/dist/cjs/libs/util.js +282 -0
  672. package/node_modules/@cloudbase/utilities/dist/esm/adapters/index.d.ts +45 -0
  673. package/node_modules/@cloudbase/utilities/dist/esm/adapters/index.js +40 -0
  674. package/node_modules/@cloudbase/utilities/dist/esm/adapters/platforms/web.d.ts +20 -0
  675. package/node_modules/@cloudbase/utilities/dist/esm/adapters/platforms/web.js +274 -0
  676. package/node_modules/@cloudbase/utilities/dist/esm/constants/common.d.ts +6 -0
  677. package/node_modules/@cloudbase/utilities/dist/esm/constants/common.js +17 -0
  678. package/node_modules/@cloudbase/utilities/dist/esm/constants/errors.d.ts +8 -0
  679. package/node_modules/@cloudbase/utilities/dist/esm/constants/errors.js +9 -0
  680. package/node_modules/@cloudbase/utilities/dist/esm/constants/index.d.ts +3 -0
  681. package/node_modules/@cloudbase/utilities/dist/esm/constants/index.js +4 -0
  682. package/node_modules/@cloudbase/utilities/dist/esm/helpers/decorators.d.ts +11 -0
  683. package/node_modules/@cloudbase/utilities/dist/esm/helpers/decorators.js +234 -0
  684. package/node_modules/@cloudbase/utilities/dist/esm/helpers/index.d.ts +1 -0
  685. package/node_modules/@cloudbase/utilities/dist/esm/helpers/index.js +2 -0
  686. package/node_modules/@cloudbase/utilities/dist/esm/index.d.ts +13 -0
  687. package/node_modules/@cloudbase/utilities/dist/esm/index.js +14 -0
  688. package/node_modules/@cloudbase/utilities/dist/esm/libs/abortController.d.ts +9 -0
  689. package/node_modules/@cloudbase/utilities/dist/esm/libs/abortController.js +23 -0
  690. package/node_modules/@cloudbase/utilities/dist/esm/libs/cache.d.ts +17 -0
  691. package/node_modules/@cloudbase/utilities/dist/esm/libs/cache.js +258 -0
  692. package/node_modules/@cloudbase/utilities/dist/esm/libs/events.d.ts +27 -0
  693. package/node_modules/@cloudbase/utilities/dist/esm/libs/events.js +102 -0
  694. package/node_modules/@cloudbase/utilities/dist/esm/libs/langEvent.d.ts +3 -0
  695. package/node_modules/@cloudbase/utilities/dist/esm/libs/langEvent.js +4 -0
  696. package/node_modules/@cloudbase/utilities/dist/esm/libs/util.d.ts +49 -0
  697. package/node_modules/@cloudbase/utilities/dist/esm/libs/util.js +254 -0
  698. package/node_modules/@cloudbase/utilities/dist/miniprogram/index.js +1 -0
  699. package/node_modules/@cloudbase/utilities/package.json +26 -0
  700. package/oauth/src/index.d.ts +1 -0
  701. package/oauth/src/index.ts +1 -0
  702. package/package.json +20 -6
  703. package/realtime/src/index.d.ts +2 -0
  704. package/realtime/src/index.ts +8 -0
  705. package/storage/src/index.d.ts +2 -0
  706. package/storage/src/index.js +5 -0
  707. package/storage/src/index.ts +4 -0
@@ -0,0 +1,442 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ import { formatUrl, } from '@cloudbase/adapter-interface';
49
+ import { ADMIN_PATH, CLIENT_AUTH_PATH } from './constants';
50
+ import { getCloudbaseContext, getSecretInfo, INIT_CONFIG } from './context';
51
+ import { getEnv, isFormData, toQueryString, safeParseJson, obj2StrRecord, headersInit2Indexable, getCurrRunEnvTag, } from './utils';
52
+ import { getSdkVersion } from '../../constants/common';
53
+ var signFn = null;
54
+ function getSign() {
55
+ return __awaiter(this, void 0, void 0, function () {
56
+ var mod, e_1;
57
+ return __generator(this, function (_a) {
58
+ switch (_a.label) {
59
+ case 0:
60
+ if (!!signFn) return [3, 4];
61
+ _a.label = 1;
62
+ case 1:
63
+ _a.trys.push([1, 3, , 4]);
64
+ return [4, import('@cloudbase/signature-nodejs')];
65
+ case 2:
66
+ mod = _a.sent();
67
+ signFn = mod.sign;
68
+ return [3, 4];
69
+ case 3:
70
+ e_1 = _a.sent();
71
+ console.error('缺少依赖 @cloudbase/signature-nodejs,请执行以下命令安装:\n\n'
72
+ + ' npm install @cloudbase/signature-nodejs\n\n'
73
+ + '该依赖用于 Node 环境下的请求签名。');
74
+ return [3, 4];
75
+ case 4: return [2, signFn];
76
+ }
77
+ });
78
+ });
79
+ }
80
+ var NodeRequest = (function () {
81
+ function NodeRequest(config) {
82
+ var _this = this;
83
+ this.getReqOptions = function (url, options) { return __awaiter(_this, void 0, void 0, function () {
84
+ var urlObj, TCB_SOURCE, SOURCE, _a, _b, isAdminPath, UNSUPPORTED_V3_SIGN_PATH, token, _c, secretId, secretKey, sessionToken, secretType, method, body, headers, params, secretInfo, signedParams, sign, _d, authorization, timestamp;
85
+ var _e, _f, _g, _h, _j, _k, _l, _m;
86
+ return __generator(this, function (_o) {
87
+ switch (_o.label) {
88
+ case 0:
89
+ urlObj = new URL(url);
90
+ TCB_SOURCE = getCloudbaseContext().TCB_SOURCE;
91
+ _b = (_a = "".concat(((_f = (_e = INIT_CONFIG.context) === null || _e === void 0 ? void 0 : _e.extendedContext) === null || _f === void 0 ? void 0 : _f.source) || TCB_SOURCE || '', ",")).concat;
92
+ return [4, getCurrRunEnvTag()];
93
+ case 1:
94
+ SOURCE = _b.apply(_a, [_o.sent()]);
95
+ options.headers = __assign(__assign({}, options.headers), { 'User-Agent': "adapter-node/".concat(((_g = options.headers) === null || _g === void 0 ? void 0 : _g['X-SDK-Version']) || "@cloudbase/js-sdk/".concat(getSdkVersion())), 'X-TCB-Source': SOURCE, 'X-Client-Timestamp': new Date().valueOf(), 'X-TCB-Region': INIT_CONFIG.region || getEnv('TENCENTCLOUD_REGION') || '', Host: urlObj.host });
96
+ if ((_j = (_h = options.headers.Authorization) === null || _h === void 0 ? void 0 : _h.replace('Bearer', '')) === null || _j === void 0 ? void 0 : _j.trim()) {
97
+ return [2, options];
98
+ }
99
+ if (urlObj.pathname.startsWith('/auth/') && urlObj.pathname !== CLIENT_AUTH_PATH) {
100
+ return [2, options];
101
+ }
102
+ isAdminPath = urlObj.pathname === ADMIN_PATH;
103
+ UNSUPPORTED_V3_SIGN_PATH = ['/v1/model/', '/v1/rdb/', '/v1/ai/'];
104
+ if (!UNSUPPORTED_V3_SIGN_PATH.some(function (v) { return urlObj.pathname.startsWith(v); })) return [3, 3];
105
+ return [4, this.getClientCredential({ origin: urlObj.origin })];
106
+ case 2:
107
+ token = _o.sent();
108
+ options.headers.Authorization = "Bearer ".concat(token);
109
+ return [2, options];
110
+ case 3:
111
+ _c = ((_k = this.config) === null || _k === void 0 ? void 0 : _k.auth) || {}, secretId = _c.secretId, secretKey = _c.secretKey, sessionToken = _c.sessionToken;
112
+ secretType = (((_l = this.config) === null || _l === void 0 ? void 0 : _l.auth) || {}).secretType;
113
+ method = options.method, body = options.body;
114
+ headers = JSON.parse(JSON.stringify(options.headers));
115
+ params = typeof body === 'object' ? body : safeParseJson(body) || {};
116
+ params.envName = (params === null || params === void 0 ? void 0 : params.env) || this.config.env || ((_m = getSecretInfo()) === null || _m === void 0 ? void 0 : _m.env) || '';
117
+ if (params.access_token) {
118
+ return [2, options];
119
+ }
120
+ if (method.toLowerCase() === 'get') {
121
+ params = undefined;
122
+ }
123
+ if (!secretId || !secretKey || secretType === 'SESSION_SECRET') {
124
+ secretInfo = getSecretInfo();
125
+ secretId = secretInfo.secretId;
126
+ secretKey = secretInfo.secretKey;
127
+ sessionToken = secretInfo.sessionToken;
128
+ }
129
+ if (!secretId || !secretKey) {
130
+ return [2, options];
131
+ }
132
+ delete headers.Authorization;
133
+ if (headers['content-type']) {
134
+ headers['content-type'] = headers['content-type'].toLowerCase();
135
+ }
136
+ else if (headers['Content-Type']) {
137
+ headers['Content-Type'] = headers['Content-Type'].toLowerCase();
138
+ }
139
+ if (isAdminPath && !!sessionToken) {
140
+ params.sessionToken = sessionToken;
141
+ }
142
+ signedParams = {
143
+ secretId: secretId,
144
+ secretKey: secretKey,
145
+ method: method,
146
+ url: url,
147
+ params: params,
148
+ headers: headers,
149
+ withSignedParams: isAdminPath,
150
+ timestamp: Math.floor(new Date().getTime() / 1000) - 1,
151
+ isCloudApi: !isAdminPath,
152
+ };
153
+ if (!headers['content-type'] && !headers['Content-Type']) {
154
+ return [2, options];
155
+ }
156
+ return [4, getSign()];
157
+ case 4:
158
+ sign = _o.sent();
159
+ if (!sign)
160
+ return [2, options];
161
+ _d = sign(signedParams), authorization = _d.authorization, timestamp = _d.timestamp;
162
+ if (typeof sessionToken === 'string' && sessionToken !== '') {
163
+ if (isAdminPath) {
164
+ headers.Authorization = "".concat(authorization);
165
+ headers['X-Timestamp'] = timestamp;
166
+ headers['X-Signature-Expires'] = 600;
167
+ }
168
+ else {
169
+ headers.Authorization = "".concat(authorization, ", Timestamp=").concat(timestamp, ", Token=").concat(sessionToken);
170
+ }
171
+ }
172
+ else {
173
+ headers.Authorization = "".concat(authorization, ", Timestamp=").concat(timestamp);
174
+ if (isAdminPath) {
175
+ headers['X-Timestamp'] = timestamp;
176
+ headers['X-Signature-Expires'] = 600;
177
+ }
178
+ }
179
+ return [2, __assign(__assign({}, options), { headers: headers, body: typeof params === 'object' ? JSON.stringify(params) : params })];
180
+ }
181
+ });
182
+ }); };
183
+ this.get = function (options) { return _this.request(__assign(__assign({}, options), { method: 'get' }), _this.restrictedMethods.includes('get')); };
184
+ this.post = function (options) { return _this.request(__assign(__assign({}, options), { method: 'post' }), _this.restrictedMethods.includes('post')); };
185
+ this.put = function (options) { return _this.request(__assign(__assign({}, options), { method: 'put' })); };
186
+ this.upload = function (options) {
187
+ var _a;
188
+ var _data = options.data, file = options.file, name = options.name, method = options.method, _b = options.headers, headers = _b === void 0 ? {} : _b;
189
+ if (file === undefined || name == undefined) {
190
+ throw new Error('file and name is required');
191
+ }
192
+ var data = obj2StrRecord(_data !== null && _data !== void 0 ? _data : {});
193
+ var loweredMethod = method === null || method === void 0 ? void 0 : method.toLowerCase();
194
+ var reqMethod = (_a = ['post', 'put'].find(function (m) { return m === loweredMethod; })) !== null && _a !== void 0 ? _a : 'put';
195
+ var formData = new FormData();
196
+ if (reqMethod === 'post') {
197
+ Object.keys(data).forEach(function (key) {
198
+ formData.append(key, data[key]);
199
+ });
200
+ formData.append('key', name);
201
+ formData.append('file', file);
202
+ return _this.request(__assign(__assign({}, options), { data: formData, method: reqMethod }), _this.restrictedMethods.includes('upload'));
203
+ }
204
+ return _this.request(__assign(__assign({}, options), { method: 'put', headers: headers, body: file }), _this.restrictedMethods.includes('upload'));
205
+ };
206
+ this.download = function (options) { return __awaiter(_this, void 0, void 0, function () {
207
+ var data, url, fileName, link;
208
+ var _a;
209
+ return __generator(this, function (_b) {
210
+ switch (_b.label) {
211
+ case 0: return [4, this.get(__assign(__assign({}, options), { headers: {}, responseType: 'blob' }))];
212
+ case 1:
213
+ data = (_b.sent()).data;
214
+ url = window.URL.createObjectURL(new Blob([data]));
215
+ fileName = decodeURIComponent(new URL((_a = options === null || options === void 0 ? void 0 : options.url) !== null && _a !== void 0 ? _a : '').pathname.split('/').pop() || '');
216
+ link = document.createElement('a');
217
+ link.href = url;
218
+ link.setAttribute('download', fileName);
219
+ link.style.display = 'none';
220
+ document.body.appendChild(link);
221
+ link.click();
222
+ window.URL.revokeObjectURL(url);
223
+ document.body.removeChild(link);
224
+ return [2, new Promise(function (resolve) {
225
+ resolve({
226
+ statusCode: 200,
227
+ tempFilePath: options.url,
228
+ });
229
+ })];
230
+ }
231
+ });
232
+ }); };
233
+ this.fetch = function (options) { return __awaiter(_this, void 0, void 0, function () {
234
+ var _a, enableAbort, _b, stream, signal, customReqOpts, url, abortController, timeout, timer, headers, fetchOptions, res, ret, _c, _d;
235
+ var _e;
236
+ return __generator(this, function (_f) {
237
+ switch (_f.label) {
238
+ case 0:
239
+ _a = options.enableAbort, enableAbort = _a === void 0 ? false : _a, _b = options.stream, stream = _b === void 0 ? false : _b, signal = options.signal, customReqOpts = options.customReqOpts;
240
+ url = this.getRealUrl(options.url, options.headers || {}, options.body);
241
+ abortController = new AbortController();
242
+ timeout = (customReqOpts === null || customReqOpts === void 0 ? void 0 : customReqOpts.timeout) || this.timeout;
243
+ if (signal) {
244
+ if (signal.aborted) {
245
+ abortController.abort();
246
+ }
247
+ else {
248
+ signal.addEventListener('abort', function () { return abortController.abort(); });
249
+ }
250
+ }
251
+ timer = undefined;
252
+ if (enableAbort || timeout) {
253
+ timer = setTimeout(function () {
254
+ var timeoutMsg = "\u8BF7\u6C42\u5728".concat(timeout / 1000, "s\u5185\u672A\u5B8C\u6210\uFF0C\u5DF2\u4E2D\u65AD");
255
+ console.warn(timeoutMsg);
256
+ abortController.abort(new Error(timeoutMsg));
257
+ }, timeout);
258
+ }
259
+ headers = options.headers ? headersInit2Indexable(options.headers) : undefined;
260
+ return [4, this.getReqOptions(url, __assign(__assign({}, options), { headers: headers, body: options.body, signal: abortController.signal }))];
261
+ case 1:
262
+ fetchOptions = _f.sent();
263
+ return [4, fetch(url, fetchOptions)
264
+ .then(function (x) {
265
+ clearTimeout(timer);
266
+ return x;
267
+ })
268
+ .catch(function (x) {
269
+ clearTimeout(timer);
270
+ return Promise.reject(x);
271
+ })];
272
+ case 2:
273
+ res = _f.sent();
274
+ _e = {};
275
+ if (!(+res.status === 204)) return [3, 3];
276
+ _c = '';
277
+ return [3, 7];
278
+ case 3:
279
+ if (!stream) return [3, 4];
280
+ _d = res.body;
281
+ return [3, 6];
282
+ case 4: return [4, res.json()];
283
+ case 5:
284
+ _d = _f.sent();
285
+ _f.label = 6;
286
+ case 6:
287
+ _c = _d;
288
+ _f.label = 7;
289
+ case 7:
290
+ ret = (_e.data = _c,
291
+ _e.statusCode = res.status,
292
+ _e.header = res.headers,
293
+ _e);
294
+ return [2, ret];
295
+ }
296
+ });
297
+ }); };
298
+ this.request = function (options, enableAbort) {
299
+ if (enableAbort === void 0) { enableAbort = false; }
300
+ return __awaiter(_this, void 0, void 0, function () {
301
+ var url, _a, _headers, data, responseType, withCredentials, body, _method, customReqOpts, headers, method, abortController, signal, timeout, payload, realUrl, timer, requestOptions, response, result_1, _b, _c, _d, e_2, _e, _f, headers_1;
302
+ return __generator(this, function (_g) {
303
+ switch (_g.label) {
304
+ case 0:
305
+ url = options.url, _a = options.headers, _headers = _a === void 0 ? {} : _a, data = options.data, responseType = options.responseType, withCredentials = options.withCredentials, body = options.body, _method = options.method, customReqOpts = options.customReqOpts;
306
+ headers = obj2StrRecord(_headers);
307
+ method = String(_method).toLowerCase() || 'get';
308
+ abortController = new AbortController();
309
+ signal = abortController.signal;
310
+ timeout = (customReqOpts === null || customReqOpts === void 0 ? void 0 : customReqOpts.timeout) || this.timeout;
311
+ if (isFormData(data)) {
312
+ payload = data;
313
+ }
314
+ else if (headers['content-type'] === 'application/x-www-form-urlencoded') {
315
+ payload = toQueryString(data !== null && data !== void 0 ? data : {});
316
+ }
317
+ else if (body) {
318
+ payload = body;
319
+ }
320
+ else {
321
+ payload = data ? JSON.stringify(data) : undefined;
322
+ }
323
+ realUrl = this.getRealUrl(formatUrl('https', url !== null && url !== void 0 ? url : '', method === 'get' ? data : {}), options.headers || {}, payload);
324
+ if (enableAbort || timeout) {
325
+ timer = setTimeout(function () {
326
+ var timeoutMsg = "\u8BF7\u6C42\u5728".concat(timeout / 1000, "s\u5185\u672A\u5B8C\u6210\uFF0C\u5DF2\u4E2D\u65AD");
327
+ console.warn(timeoutMsg);
328
+ abortController.abort(new Error(timeoutMsg));
329
+ }, timeout);
330
+ }
331
+ return [4, this.getReqOptions(realUrl, {
332
+ method: method,
333
+ headers: headers,
334
+ body: payload,
335
+ credentials: withCredentials ? 'include' : 'same-origin',
336
+ signal: signal,
337
+ })];
338
+ case 1:
339
+ requestOptions = _g.sent();
340
+ _g.label = 2;
341
+ case 2:
342
+ _g.trys.push([2, , 15, 16]);
343
+ return [4, fetch(realUrl, requestOptions)];
344
+ case 3:
345
+ response = _g.sent();
346
+ result_1 = {
347
+ header: {},
348
+ statusCode: response.status,
349
+ };
350
+ _g.label = 4;
351
+ case 4:
352
+ _g.trys.push([4, 9, , 14]);
353
+ _b = result_1;
354
+ if (!(responseType === 'blob')) return [3, 6];
355
+ return [4, response.blob()];
356
+ case 5:
357
+ _c = _g.sent();
358
+ return [3, 8];
359
+ case 6:
360
+ _d = safeParseJson;
361
+ return [4, response.text()];
362
+ case 7:
363
+ _c = _d.apply(void 0, [_g.sent()]);
364
+ _g.label = 8;
365
+ case 8:
366
+ _b.data = _c;
367
+ return [3, 14];
368
+ case 9:
369
+ e_2 = _g.sent();
370
+ console.log('catch an error', e_2);
371
+ _e = result_1;
372
+ if (!(responseType === 'blob')) return [3, 11];
373
+ return [4, response.blob()];
374
+ case 10:
375
+ _f = _g.sent();
376
+ return [3, 13];
377
+ case 11: return [4, response.text()];
378
+ case 12:
379
+ _f = _g.sent();
380
+ _g.label = 13;
381
+ case 13:
382
+ _e.data = _f;
383
+ return [3, 14];
384
+ case 14:
385
+ headers_1 = response.headers;
386
+ headers_1.forEach(function (val, key) { return (result_1.header[key.toLowerCase()] = val); });
387
+ return [2, result_1];
388
+ case 15:
389
+ clearTimeout(timer);
390
+ return [7];
391
+ case 16: return [2];
392
+ }
393
+ });
394
+ });
395
+ };
396
+ var timeout = config.timeout, restrictedMethods = config.restrictedMethods;
397
+ this.timeout = timeout || 15000;
398
+ this.restrictedMethods = restrictedMethods || ['get', 'post', 'upload', 'download'];
399
+ this.config = config;
400
+ }
401
+ NodeRequest.prototype.getClientCredential = function (opts) {
402
+ var _a;
403
+ return __awaiter(this, void 0, void 0, function () {
404
+ var res;
405
+ return __generator(this, function (_b) {
406
+ switch (_b.label) {
407
+ case 0: return [4, this.fetch({
408
+ url: "".concat(opts.origin).concat(CLIENT_AUTH_PATH),
409
+ method: 'POST',
410
+ headers: {
411
+ 'content-type': 'application/json',
412
+ },
413
+ body: JSON.stringify({
414
+ grant_type: 'client_credentials',
415
+ }),
416
+ })];
417
+ case 1:
418
+ res = _b.sent();
419
+ return [2, (_a = res.data) === null || _a === void 0 ? void 0 : _a.access_token];
420
+ }
421
+ });
422
+ });
423
+ };
424
+ NodeRequest.prototype.getRealUrl = function (url, headers, body) {
425
+ var _a, _b, _c, _d;
426
+ if ((_b = (_a = headers.Authorization) === null || _a === void 0 ? void 0 : _a.replace('Bearer', '')) === null || _b === void 0 ? void 0 : _b.trim()) {
427
+ return url;
428
+ }
429
+ var params = typeof body === 'object' ? body : safeParseJson(body) || '';
430
+ if (params.access_token) {
431
+ return url;
432
+ }
433
+ var urlObj = new URL(url);
434
+ if (urlObj.pathname === '/web' && ((_c = this.config.auth) === null || _c === void 0 ? void 0 : _c.secretId) && ((_d = this.config.auth) === null || _d === void 0 ? void 0 : _d.secretKey)) {
435
+ urlObj.pathname = ADMIN_PATH;
436
+ }
437
+ return urlObj.toString();
438
+ };
439
+ return NodeRequest;
440
+ }());
441
+ export { NodeRequest };
442
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWJzL2FkYXB0ZXItbm9kZS9yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsT0FBTyxFQU9MLFNBQVMsR0FDVixNQUFNLDhCQUE4QixDQUFBO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFM0UsT0FBTyxFQUNMLE1BQU0sRUFDTixVQUFVLEVBQ1YsYUFBYSxFQUNiLGFBQWEsRUFDYixhQUFhLEVBQ2IscUJBQXFCLEVBQ3JCLGdCQUFnQixHQUNqQixNQUFNLFNBQVMsQ0FBQTtBQUVoQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFHdEQsSUFBSSxNQUFNLEdBQXFDLElBQUksQ0FBQTtBQUNuRCxTQUFlLE9BQU87Ozs7Ozt5QkFDaEIsQ0FBQyxNQUFNLEVBQVAsY0FBTzs7OztvQkFHSyxXQUFNLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxFQUFBOztvQkFBakQsR0FBRyxHQUFHLFNBQTJDO29CQUN2RCxNQUFNLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQTs7OztvQkFFakIsT0FBTyxDQUFDLEtBQUssQ0FBQyxpREFBaUQ7MEJBQzNELCtDQUErQzswQkFDL0Msc0JBQXNCLENBQUMsQ0FBQTs7d0JBRy9CLFdBQU8sTUFBTyxFQUFBOzs7O0NBQ2Y7QUFPRDtJQVVFLHFCQUFZLE1BQXlDO1FBQXJELGlCQUtDO1FBdURNLGtCQUFhLEdBQUcsVUFDckIsR0FBVyxFQUNYLE9BT0M7Ozs7Ozt3QkFFSyxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7d0JBRW5CLFVBQVUsR0FBSyxtQkFBbUIsRUFBRSxXQUExQixDQUEwQjs2Q0FFMUIsQ0FBQSxNQUFBLE1BQUEsV0FBVyxDQUFDLE9BQU8sMENBQUUsZUFBZSwwQ0FBRSxNQUFNLEtBQUksVUFBVSxJQUFJLEVBQUU7d0JBQUksV0FBTSxnQkFBZ0IsRUFBRSxFQUFBOzt3QkFBeEcsTUFBTSxHQUFHLGNBQXVFLFNBQXdCLEVBQUU7d0JBRWhILE9BQU8sQ0FBQyxPQUFPLHlCQUNWLE9BQU8sQ0FBQyxPQUFPLEtBQ2xCLFlBQVksRUFBRSx1QkFBZ0IsQ0FBQSxNQUFBLE9BQU8sQ0FBQyxPQUFPLDBDQUFHLGVBQWUsQ0FBQyxLQUFJLDRCQUFxQixhQUFhLEVBQUUsQ0FBRSxDQUFFLEVBQzVHLGNBQWMsRUFBRSxNQUFNLEVBQ3RCLG9CQUFvQixFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQzFDLGNBQWMsRUFBRSxXQUFXLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsRUFDekUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEdBQ2xCLENBQUE7d0JBR0QsSUFBSSxNQUFBLE1BQUEsT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLDBDQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLDBDQUFFLElBQUksRUFBRSxFQUFFOzRCQUNoRSxXQUFPLE9BQU8sRUFBQTt5QkFDZjt3QkFHRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssZ0JBQWdCLEVBQUU7NEJBQ2hGLFdBQU8sT0FBTyxFQUFBO3lCQUNmO3dCQUVLLFdBQVcsR0FBRyxNQUFNLENBQUMsUUFBUSxLQUFLLFVBQVUsQ0FBQTt3QkFHNUMsd0JBQXdCLEdBQUcsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFBOzZCQUVsRSx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBN0IsQ0FBNkIsQ0FBQyxFQUFqRSxjQUFpRTt3QkFDckQsV0FBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUE7O3dCQUFqRSxLQUFLLEdBQUcsU0FBeUQ7d0JBQ3ZFLE9BQU8sQ0FBQyxPQUFPLENBQUMsYUFBYSxHQUFHLGlCQUFVLEtBQUssQ0FBRSxDQUFBO3dCQUNqRCxXQUFPLE9BQU8sRUFBQTs7d0JBR1osS0FBd0MsQ0FBQSxNQUFBLElBQUksQ0FBQyxNQUFNLDBDQUFFLElBQUksS0FBSSxFQUFFLEVBQTdELFFBQVEsY0FBQSxFQUFFLFNBQVMsZUFBQSxFQUFFLFlBQVksa0JBQUEsQ0FBNEI7d0JBQzNELFVBQVUsR0FBSyxDQUFBLENBQUEsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxJQUFJLEtBQUksRUFBRSxDQUFBLFdBQTVCLENBQTRCO3dCQUN0QyxNQUFNLEdBQVcsT0FBTyxPQUFsQixFQUFFLElBQUksR0FBSyxPQUFPLEtBQVosQ0FBWTt3QkFDMUIsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTt3QkFDdkQsTUFBTSxHQUFHLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFBO3dCQUV4RSxNQUFNLENBQUMsT0FBTyxHQUFHLENBQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLEdBQUcsS0FBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSSxNQUFBLGFBQWEsRUFBRSwwQ0FBRSxHQUFHLENBQUEsSUFBSSxFQUFFLENBQUE7d0JBRzdFLElBQUksTUFBTSxDQUFDLFlBQVksRUFBRTs0QkFDdkIsV0FBTyxPQUFPLEVBQUE7eUJBQ2Y7d0JBR0QsSUFBSSxNQUFNLENBQUMsV0FBVyxFQUFFLEtBQUssS0FBSyxFQUFFOzRCQUNsQyxNQUFNLEdBQUcsU0FBUyxDQUFBO3lCQUNuQjt3QkFHRCxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsU0FBUyxJQUFJLFVBQVUsS0FBSyxnQkFBZ0IsRUFBRTs0QkFDeEQsVUFBVSxHQUFHLGFBQWEsRUFBRSxDQUFBOzRCQUNsQyxRQUFRLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQTs0QkFDOUIsU0FBUyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUE7NEJBQ2hDLFlBQVksR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFBO3lCQUN2Qzt3QkFHRCxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsU0FBUyxFQUFFOzRCQUMzQixXQUFPLE9BQU8sRUFBQTt5QkFDZjt3QkFFRCxPQUFPLE9BQU8sQ0FBQyxhQUFhLENBQUE7d0JBRzVCLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxFQUFFOzRCQUMzQixPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFBO3lCQUNoRTs2QkFBTSxJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQUMsRUFBRTs0QkFDbEMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQTt5QkFDaEU7d0JBRUQsSUFBSSxXQUFXLElBQUksQ0FBQyxDQUFDLFlBQVksRUFBRTs0QkFDakMsTUFBTSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUE7eUJBQ25DO3dCQUVLLFlBQVksR0FBRzs0QkFDbkIsUUFBUSxVQUFBOzRCQUNSLFNBQVMsV0FBQTs0QkFDVCxNQUFNLFFBQUE7NEJBQ04sR0FBRyxLQUFBOzRCQUNILE1BQU0sUUFBQTs0QkFDTixPQUFPLFNBQUE7NEJBQ1AsZ0JBQWdCLEVBQUUsV0FBVzs0QkFDN0IsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDOzRCQUN0RCxVQUFVLEVBQUUsQ0FBQyxXQUFXO3lCQUN6QixDQUFBO3dCQUVELElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLEVBQUU7NEJBQ3hELFdBQU8sT0FBTyxFQUFBO3lCQUNmO3dCQUVZLFdBQU0sT0FBTyxFQUFFLEVBQUE7O3dCQUF0QixJQUFJLEdBQUcsU0FBZTt3QkFDNUIsSUFBSSxDQUFDLElBQUk7NEJBQUUsV0FBTyxPQUFPLEVBQUE7d0JBRW5CLEtBQStCLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBL0MsYUFBYSxtQkFBQSxFQUFFLFNBQVMsZUFBQSxDQUF1Qjt3QkFFdkQsSUFBSSxPQUFPLFlBQVksS0FBSyxRQUFRLElBQUksWUFBWSxLQUFLLEVBQUUsRUFBRTs0QkFDM0QsSUFBSSxXQUFXLEVBQUU7Z0NBQ2YsT0FBTyxDQUFDLGFBQWEsR0FBRyxVQUFHLGFBQWEsQ0FBRSxDQUFBO2dDQUMxQyxPQUFPLENBQUMsYUFBYSxDQUFDLEdBQUcsU0FBUyxDQUFBO2dDQUNsQyxPQUFPLENBQUMscUJBQXFCLENBQUMsR0FBRyxHQUFHLENBQUE7NkJBQ3JDO2lDQUFPO2dDQUVOLE9BQU8sQ0FBQyxhQUFhLEdBQUcsVUFBRyxhQUFhLHlCQUFlLFNBQVMscUJBQVcsWUFBWSxDQUFFLENBQUE7NkJBQzFGO3lCQUNGOzZCQUFNOzRCQUNMLE9BQU8sQ0FBQyxhQUFhLEdBQUcsVUFBRyxhQUFhLHlCQUFlLFNBQVMsQ0FBRSxDQUFBOzRCQUdsRSxJQUFJLFdBQVcsRUFBRTtnQ0FDZixPQUFPLENBQUMsYUFBYSxDQUFDLEdBQUcsU0FBUyxDQUFBO2dDQUNsQyxPQUFPLENBQUMscUJBQXFCLENBQUMsR0FBRyxHQUFHLENBQUE7NkJBQ3JDO3lCQUNGO3dCQUVELGlDQUNLLE9BQU8sS0FDVixPQUFPLFNBQUEsRUFDUCxJQUFJLEVBQUUsT0FBTyxNQUFNLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQ25FOzs7YUFDRixDQUFBO1FBRU0sUUFBRyxHQUFHLFVBQUMsT0FBd0IsSUFBOEIsT0FBQSxLQUFJLENBQUMsT0FBTyx1QkFFekUsT0FBTyxLQUNWLE1BQU0sRUFBRSxLQUFLLEtBRWYsS0FBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FDdkMsRUFObUUsQ0FNbkUsQ0FBQTtRQUVNLFNBQUksR0FBRyxVQUFDLE9BQXdCLElBQThCLE9BQUEsS0FBSSxDQUFDLE9BQU8sdUJBRTFFLE9BQU8sS0FDVixNQUFNLEVBQUUsTUFBTSxLQUVoQixLQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUN4QyxFQU5vRSxDQU1wRSxDQUFBO1FBRU0sUUFBRyxHQUFHLFVBQUMsT0FBd0IsSUFBOEIsT0FBQSxLQUFJLENBQUMsT0FBTyx1QkFDM0UsT0FBTyxLQUNWLE1BQU0sRUFBRSxLQUFLLElBQ2IsRUFIa0UsQ0FHbEUsQ0FBQTtRQU9LLFdBQU0sR0FBRyxVQUFDLE9BQXdCOztZQUMvQixJQUFNLEtBQUssR0FBdUMsT0FBTyxLQUE5QyxFQUFFLElBQUksR0FBaUMsT0FBTyxLQUF4QyxFQUFFLElBQUksR0FBMkIsT0FBTyxLQUFsQyxFQUFFLE1BQU0sR0FBbUIsT0FBTyxPQUExQixFQUFFLEtBQWlCLE9BQU8sUUFBWixFQUFaLE9BQU8sbUJBQUcsRUFBRSxLQUFBLENBQVk7WUFDakUsSUFBSSxJQUFJLEtBQUssU0FBUyxJQUFJLElBQUksSUFBSSxTQUFTLEVBQUU7Z0JBQzNDLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQTthQUM3QztZQUNELElBQU0sSUFBSSxHQUFHLGFBQWEsQ0FBQyxLQUFLLGFBQUwsS0FBSyxjQUFMLEtBQUssR0FBSSxFQUFFLENBQUMsQ0FBQTtZQUN2QyxJQUFNLGFBQWEsR0FBRyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsV0FBVyxFQUFFLENBQUE7WUFDM0MsSUFBTSxTQUFTLEdBQUcsTUFBQSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLEtBQUssYUFBYSxFQUFuQixDQUFtQixDQUFDLG1DQUFJLEtBQUssQ0FBQTtZQUN6RSxJQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFBO1lBQy9CLElBQUksU0FBUyxLQUFLLE1BQU0sRUFBRTtnQkFDeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQyxHQUFHO29CQUM1QixRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtnQkFDakMsQ0FBQyxDQUFDLENBQUE7Z0JBQ0YsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUE7Z0JBQzVCLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFBO2dCQUM3QixPQUFPLEtBQUksQ0FBQyxPQUFPLHVCQUVaLE9BQU8sS0FDVixJQUFJLEVBQUUsUUFBUSxFQUNkLE1BQU0sRUFBRSxTQUFTLEtBRW5CLEtBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQzFDLENBQUE7YUFDRjtZQUVELE9BQU8sS0FBSSxDQUFDLE9BQU8sdUJBRVosT0FBTyxLQUNWLE1BQU0sRUFBRSxLQUFLLEVBQ2IsT0FBTyxTQUFBLEVBQ1AsSUFBSSxFQUFFLElBQUksS0FFWixLQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUMxQyxDQUFBO1FBQ0gsQ0FBQyxDQUFBO1FBR00sYUFBUSxHQUFHLFVBQU8sT0FBd0I7Ozs7OzRCQUM5QixXQUFNLElBQUksQ0FBQyxHQUFHLHVCQUMxQixPQUFPLEtBQ1YsT0FBTyxFQUFFLEVBQUUsRUFDWCxZQUFZLEVBQUUsTUFBTSxJQUNwQixFQUFBOzt3QkFKTSxJQUFJLEdBQUssQ0FBQSxTQUlmLENBQUEsS0FKVTt3QkFLTixHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7d0JBQ2xELFFBQVEsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxHQUFHLG1DQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7d0JBQzFGLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFBO3dCQUV4QyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQTt3QkFDZixJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQTt3QkFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFBO3dCQUUzQixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTt3QkFDL0IsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO3dCQUNaLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFBO3dCQUMvQixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTt3QkFDL0IsV0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFDLE9BQU87Z0NBQ3pCLE9BQU8sQ0FBQztvQ0FDTixVQUFVLEVBQUUsR0FBRztvQ0FDZixZQUFZLEVBQUUsT0FBTyxDQUFDLEdBQUc7aUNBQzFCLENBQUMsQ0FBQTs0QkFDSixDQUFDLENBQUMsRUFBQTs7O2FBQ0gsQ0FBQTtRQU1NLFVBQUssR0FBRyxVQUFPLE9BQWlHOzs7Ozs7d0JBQzdHLEtBQStELE9BQU8sWUFBbkQsRUFBbkIsV0FBVyxtQkFBRyxLQUFLLEtBQUEsRUFBRSxLQUEwQyxPQUFPLE9BQW5DLEVBQWQsTUFBTSxtQkFBRyxLQUFLLEtBQUEsRUFBRSxNQUFNLEdBQW9CLE9BQU8sT0FBM0IsRUFBRSxhQUFhLEdBQUssT0FBTyxjQUFaLENBQVk7d0JBQ3hFLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO3dCQUN2RSxlQUFlLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQTt3QkFDdkMsT0FBTyxHQUFHLENBQUEsYUFBYSxhQUFiLGFBQWEsdUJBQWIsYUFBYSxDQUFFLE9BQU8sS0FBSSxJQUFJLENBQUMsT0FBTyxDQUFBO3dCQUd0RCxJQUFJLE1BQU0sRUFBRTs0QkFDVixJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUU7Z0NBQ2xCLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQTs2QkFDeEI7aUNBQU07Z0NBQ0wsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxjQUFNLE9BQUEsZUFBZSxDQUFDLEtBQUssRUFBRSxFQUF2QixDQUF1QixDQUFDLENBQUE7NkJBQ2hFO3lCQUNGO3dCQUdHLEtBQUssR0FBRyxTQUFTLENBQUE7d0JBQ3JCLElBQUksV0FBVyxJQUFJLE9BQU8sRUFBRTs0QkFDMUIsS0FBSyxHQUFHLFVBQVUsQ0FBQztnQ0FDakIsSUFBTSxVQUFVLEdBQUcsNEJBQU0sT0FBTyxHQUFHLElBQUksc0RBQVcsQ0FBQTtnQ0FDbEQsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtnQ0FDeEIsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFBOzRCQUM5QyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUE7eUJBQ1o7d0JBRUssT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBO3dCQUUvRCxXQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyx3QkFDNUMsT0FBTyxLQUNWLE9BQU8sU0FBQSxFQUNQLElBQUksRUFBRSxPQUFPLENBQUMsSUFBb0MsRUFDbEQsTUFBTSxFQUFFLGVBQWUsQ0FBQyxNQUFNLElBQzlCLEVBQUE7O3dCQUxJLFlBQVksR0FBRyxTQUtuQjt3QkFFVSxXQUFNLEtBQUssQ0FBQyxHQUFHLEVBQUUsWUFBMkIsQ0FBQztpQ0FDdEQsSUFBSSxDQUFDLFVBQUMsQ0FBQztnQ0FDTixZQUFZLENBQUMsS0FBSyxDQUFDLENBQUE7Z0NBQ25CLE9BQU8sQ0FBQyxDQUFBOzRCQUNWLENBQUMsQ0FBQztpQ0FDRCxLQUFLLENBQUMsVUFBQyxDQUFDO2dDQUNQLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQTtnQ0FDbkIsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBOzRCQUMxQixDQUFDLENBQUMsRUFBQTs7d0JBUkUsR0FBRyxHQUFHLFNBUVI7OzZCQUlBLENBQUEsQ0FBQyxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQSxFQUFuQixjQUFtQjt3QkFDZixLQUFBLEVBQUUsQ0FBQTs7OzZCQUNGLE1BQU0sRUFBTixjQUFNO3dCQUNKLEtBQUEsR0FBRyxDQUFDLElBQUksQ0FBQTs7NEJBQ1IsV0FBTSxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUE7O3dCQUFoQixLQUFBLFNBQWdCLENBQUE7Ozt3QkFGbEIsUUFFa0I7Ozt3QkFOcEIsR0FBRyxJQUNQLE9BQUksS0FLb0I7NEJBQ3hCLGFBQVUsR0FBRSxHQUFHLENBQUMsTUFBTTs0QkFDdEIsU0FBTSxHQUFFLEdBQUcsQ0FBQyxPQUFPOytCQUNwQjt3QkFDRCxXQUFPLEdBQUcsRUFBQTs7O2FBQ1gsQ0FBQTtRQVNNLFlBQU8sR0FBRyxVQUFPLE9BQXdCLEVBQUUsV0FBbUI7WUFBbkIsNEJBQUEsRUFBQSxtQkFBbUI7Ozs7Ozs0QkFFakUsR0FBRyxHQVFELE9BQU8sSUFSTixFQUNILEtBT0UsT0FBTyxRQVBhLEVBQWIsUUFBUSxtQkFBRyxFQUFFLEtBQUEsRUFDdEIsSUFBSSxHQU1GLE9BQU8sS0FOTCxFQUNKLFlBQVksR0FLVixPQUFPLGFBTEcsRUFDWixlQUFlLEdBSWIsT0FBTyxnQkFKTSxFQUNmLElBQUksR0FHRixPQUFPLEtBSEwsRUFDSSxPQUFPLEdBRWIsT0FBTyxPQUZNLEVBQ2YsYUFBYSxHQUNYLE9BQU8sY0FESSxDQUNKOzRCQUNMLE9BQU8sR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUE7NEJBQ2pDLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLElBQUksS0FBSyxDQUFBOzRCQUMvQyxlQUFlLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQTs0QkFDckMsTUFBTSxHQUFLLGVBQWUsT0FBcEIsQ0FBb0I7NEJBQzVCLE9BQU8sR0FBRyxDQUFBLGFBQWEsYUFBYixhQUFhLHVCQUFiLGFBQWEsQ0FBRSxPQUFPLEtBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQTs0QkFJdEQsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0NBQ3BCLE9BQU8sR0FBRyxJQUFJLENBQUE7NkJBQ2Y7aUNBQU0sSUFBSSxPQUFPLENBQUMsY0FBYyxDQUFDLEtBQUssbUNBQW1DLEVBQUU7Z0NBQzFFLE9BQU8sR0FBRyxhQUFhLENBQUMsSUFBSSxhQUFKLElBQUksY0FBSixJQUFJLEdBQUksRUFBRSxDQUFDLENBQUE7NkJBQ3BDO2lDQUFNLElBQUksSUFBSSxFQUFFO2dDQUNmLE9BQU8sR0FBRyxJQUFJLENBQUE7NkJBQ2Y7aUNBQU07Z0NBQ0wsT0FBTyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBOzZCQUNsRDs0QkFFSyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FDN0IsU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLGFBQUgsR0FBRyxjQUFILEdBQUcsR0FBSSxFQUFFLEVBQUUsTUFBTSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFDM0QsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQ3JCLE9BQU8sQ0FDUixDQUFBOzRCQUtELElBQUksV0FBVyxJQUFJLE9BQU8sRUFBRTtnQ0FDMUIsS0FBSyxHQUFHLFVBQVUsQ0FBQztvQ0FDakIsSUFBTSxVQUFVLEdBQUcsNEJBQU0sT0FBTyxHQUFHLElBQUksc0RBQVcsQ0FBQTtvQ0FDbEQsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtvQ0FDeEIsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFBO2dDQUM5QyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUE7NkJBQ1o7NEJBRXNCLFdBQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUU7b0NBQ3ZELE1BQU0sUUFBQTtvQ0FDTixPQUFPLFNBQUE7b0NBQ1AsSUFBSSxFQUFFLE9BQU87b0NBQ2IsV0FBVyxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxhQUFhO29DQUN4RCxNQUFNLFFBQUE7aUNBQ1AsQ0FBQyxFQUFBOzs0QkFOSSxjQUFjLEdBQUcsU0FNckI7Ozs7NEJBR2lCLFdBQU0sS0FBSyxDQUFDLE9BQU8sRUFBRSxjQUE2QixDQUFDLEVBQUE7OzRCQUE5RCxRQUFRLEdBQUcsU0FBbUQ7NEJBQzlELFdBQXlCO2dDQUM3QixNQUFNLEVBQUUsRUFBRTtnQ0FDVixVQUFVLEVBQUUsUUFBUSxDQUFDLE1BQU07NkJBQzVCLENBQUE7Ozs7NEJBR0MsS0FBQSxRQUFNLENBQUE7aUNBQVEsQ0FBQSxZQUFZLEtBQUssTUFBTSxDQUFBLEVBQXZCLGNBQXVCOzRCQUFHLFdBQU0sUUFBUSxDQUFDLElBQUksRUFBRSxFQUFBOzs0QkFBckIsS0FBQSxTQUFxQixDQUFBOzs7NEJBQUcsS0FBQSxhQUFhLENBQUE7NEJBQUMsV0FBTSxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUE7OzRCQUFuQyxLQUFBLGtCQUFjLFNBQXFCLEVBQUMsQ0FBQTs7OzRCQUFwRyxHQUFPLElBQUksS0FBeUYsQ0FBQTs7Ozs0QkFHcEcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxHQUFDLENBQUMsQ0FBQTs0QkFDaEMsS0FBQSxRQUFNLENBQUE7aUNBQVEsQ0FBQSxZQUFZLEtBQUssTUFBTSxDQUFBLEVBQXZCLGVBQXVCOzRCQUFHLFdBQU0sUUFBUSxDQUFDLElBQUksRUFBRSxFQUFBOzs0QkFBckIsS0FBQSxTQUFxQixDQUFBOztpQ0FBRyxXQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBQTs7NEJBQXJCLEtBQUEsU0FBcUIsQ0FBQTs7OzRCQUFyRixHQUFPLElBQUksS0FBMEUsQ0FBQTs7OzRCQUkvRSxZQUFZLFFBQVEsUUFBYixDQUFhOzRCQUM1QixTQUFPLENBQUMsT0FBTyxDQUFDLFVBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSyxPQUFBLENBQUMsUUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBeEMsQ0FBd0MsQ0FBQyxDQUFBOzRCQUV2RSxXQUFPLFFBQU0sRUFBQTs7NEJBRWIsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFBOzs7Ozs7U0FFdEIsQ0FBQTtRQS9hUyxJQUFBLE9BQU8sR0FBd0IsTUFBTSxRQUE5QixFQUFFLGlCQUFpQixHQUFLLE1BQU0sa0JBQVgsQ0FBVztRQUM3QyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxLQUFLLENBQUE7UUFDL0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUE7UUFDbkYsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7SUFDdEIsQ0FBQztJQU1LLHlDQUFtQixHQUF6QixVQUEwQixJQUF3Qjs7Ozs7OzRCQUNwQyxXQUFNLElBQUksQ0FBQyxLQUFLLENBQUM7NEJBQzNCLEdBQUcsRUFBRSxVQUFHLElBQUksQ0FBQyxNQUFNLFNBQUcsZ0JBQWdCLENBQUU7NEJBQ3hDLE1BQU0sRUFBRSxNQUFNOzRCQUNkLE9BQU8sRUFBRTtnQ0FDUCxjQUFjLEVBQUUsa0JBQWtCOzZCQUNuQzs0QkFDRCxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQ0FDbkIsVUFBVSxFQUFFLG9CQUFvQjs2QkFDakMsQ0FBQzt5QkFDSCxDQUFDLEVBQUE7O3dCQVRJLEdBQUcsR0FBRyxTQVNWO3dCQUVGLFdBQU8sTUFBQSxHQUFHLENBQUMsSUFBSSwwQ0FBRSxZQUFZLEVBQUE7Ozs7S0FDOUI7SUFPRCxnQ0FBVSxHQUFWLFVBQVcsR0FBVyxFQUFFLE9BQTRCLEVBQUUsSUFBUzs7UUFDN0QsSUFBSSxNQUFBLE1BQUEsT0FBTyxDQUFDLGFBQWEsMENBQUUsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsMENBQUUsSUFBSSxFQUFFLEVBQUU7WUFDeEQsT0FBTyxHQUFHLENBQUE7U0FDWDtRQUVELElBQU0sTUFBTSxHQUFHLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFBO1FBRTFFLElBQUksTUFBTSxDQUFDLFlBQVksRUFBRTtZQUN2QixPQUFPLEdBQUcsQ0FBQTtTQUNYO1FBRUQsSUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7UUFFM0IsSUFBSSxNQUFNLENBQUMsUUFBUSxLQUFLLE1BQU0sS0FBSSxNQUFBLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSwwQ0FBRSxRQUFRLENBQUEsS0FBSSxNQUFBLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSwwQ0FBRSxTQUFTLENBQUEsRUFBRTtZQUMzRixNQUFNLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQTtTQUM3QjtRQUNELE9BQU8sTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQzFCLENBQUM7SUFpWUgsa0JBQUM7QUFBRCxDQUFDLEFBM2JELElBMmJDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tbmVzdGVkLXRlcm5hcnkgKi9cbmltcG9ydCB7XG4gIElGZXRjaE9wdGlvbnMsXG4gIElSZXF1ZXN0Q29uZmlnLFxuICBJUmVxdWVzdE1ldGhvZCxcbiAgSVJlcXVlc3RPcHRpb25zLFxuICBSZXNwb25zZU9iamVjdCxcbiAgU0RLUmVxdWVzdEludGVyZmFjZSxcbiAgZm9ybWF0VXJsLFxufSBmcm9tICdAY2xvdWRiYXNlL2FkYXB0ZXItaW50ZXJmYWNlJ1xuaW1wb3J0IHsgQURNSU5fUEFUSCwgQ0xJRU5UX0FVVEhfUEFUSCB9IGZyb20gJy4vY29uc3RhbnRzJ1xuaW1wb3J0IHsgZ2V0Q2xvdWRiYXNlQ29udGV4dCwgZ2V0U2VjcmV0SW5mbywgSU5JVF9DT05GSUcgfSBmcm9tICcuL2NvbnRleHQnXG5pbXBvcnQgdHlwZSB7IElDdXN0b21SZXFPcHRzIH0gZnJvbSAnLi90eXBlcydcbmltcG9ydCB7XG4gIGdldEVudixcbiAgaXNGb3JtRGF0YSxcbiAgdG9RdWVyeVN0cmluZyxcbiAgc2FmZVBhcnNlSnNvbixcbiAgb2JqMlN0clJlY29yZCxcbiAgaGVhZGVyc0luaXQySW5kZXhhYmxlLFxuICBnZXRDdXJyUnVuRW52VGFnLFxufSBmcm9tICcuL3V0aWxzJ1xuaW1wb3J0IHsgSUNsb3VkYmFzZUNvbmZpZyB9IGZyb20gJ0BjbG91ZGJhc2UvdHlwZXMnXG5pbXBvcnQgeyBnZXRTZGtWZXJzaW9uIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2NvbW1vbidcbi8vIOW7tui/n+WKoOi9ve+8jOmBv+WFjemdniBOb2RlIOeOr+Wig+aJk+WMheaXtuW8leWFpeatpOWMhVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbmxldCBzaWduRm46ICgoLi4uYXJnczogYW55W10pID0+IGFueSkgfCBudWxsID0gbnVsbFxuYXN5bmMgZnVuY3Rpb24gZ2V0U2lnbigpIHtcbiAgaWYgKCFzaWduRm4pIHtcbiAgICB0cnkge1xuICAgICAgLy8gQHRzLWlnbm9yZSDigJQg6K+l5YyF5LuF5ZyoIE5vZGUg6L+Q6KGM5pe25a2Y5Zyo77yM5byA5Y+R546v5aKD5Y+v6IO95pyq5a6J6KOFXG4gICAgICBjb25zdCBtb2QgPSBhd2FpdCBpbXBvcnQoJ0BjbG91ZGJhc2Uvc2lnbmF0dXJlLW5vZGVqcycpXG4gICAgICBzaWduRm4gPSBtb2Quc2lnblxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ+e8uuWwkeS+nei1liBAY2xvdWRiYXNlL3NpZ25hdHVyZS1ub2RlanPvvIzor7fmiafooYzku6XkuIvlkb3ku6Tlronoo4XvvJpcXG5cXG4nXG4gICAgICAgICsgJyAgbnBtIGluc3RhbGwgQGNsb3VkYmFzZS9zaWduYXR1cmUtbm9kZWpzXFxuXFxuJ1xuICAgICAgICArICfor6Xkvp3otZbnlKjkuo4gTm9kZSDnjq/looPkuIvnmoTor7fmsYLnrb7lkI3jgIInKVxuICAgIH1cbiAgfVxuICByZXR1cm4gc2lnbkZuIVxufVxuXG4vKipcbiAqIE5vZGUuanMg546v5aKD5LiL55qEIEhUVFAg6K+35rGC5a6e546wXG4gKiDln7rkuo7ljp/nlJ8gZmV0Y2jvvIzmlK/mjIEgR0VUL1BPU1QvUFVUL+S4iuS8oC/kuIvovb0v5rWB5byP6K+35rGCXG4gKiDoh6rliqjlpITnkIYgVjMg562+5ZCN5ZKMIEJlYXJlciBUb2tlbiDorqTor4FcbiAqL1xuZXhwb3J0IGNsYXNzIE5vZGVSZXF1ZXN0IGltcGxlbWVudHMgU0RLUmVxdWVzdEludGVyZmFjZSB7XG4gIC8qKiDor7fmsYLphY3nva7vvIzljIXlkKvorqTor4Hkv6Hmga8gKi9cbiAgY29uZmlnOiBJUmVxdWVzdENvbmZpZyAmIElDbG91ZGJhc2VDb25maWdcblxuICAvKiog6K+35rGC6LaF5pe25pe26Ze077yI5q+r56eS77yJ77yM6buY6K6kIDE1MDAwICovXG4gIHByaXZhdGUgcmVhZG9ubHkgdGltZW91dDogbnVtYmVyXG5cbiAgLyoqIOWPl+i2heaXtuaOp+WItueahOivt+axguexu+Wei+WIl+ihqCAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHJlc3RyaWN0ZWRNZXRob2RzOiBBcnJheTxJUmVxdWVzdE1ldGhvZD5cblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IElSZXF1ZXN0Q29uZmlnICYgSUNsb3VkYmFzZUNvbmZpZykge1xuICAgIGNvbnN0IHsgdGltZW91dCwgcmVzdHJpY3RlZE1ldGhvZHMgfSA9IGNvbmZpZ1xuICAgIHRoaXMudGltZW91dCA9IHRpbWVvdXQgfHwgMTUwMDBcbiAgICB0aGlzLnJlc3RyaWN0ZWRNZXRob2RzID0gcmVzdHJpY3RlZE1ldGhvZHMgfHwgWydnZXQnLCAncG9zdCcsICd1cGxvYWQnLCAnZG93bmxvYWQnXVxuICAgIHRoaXMuY29uZmlnID0gY29uZmlnXG4gIH1cblxuICAvKipcbiAgICog6I635Y+W5a6i5oi356uv5Yet6K+BIGFjY2Vzc190b2tlbu+8jOS4uueuoeeQhuWRmOadg+mZkFxuICAgKiDnlKjkuo7kuI3mlK/mjIEgVjMg562+5ZCN55qE5o6l5Y+j77yI5aaC5pWw5o2u5qih5Z6L44CB5YWz57O75Z6L5pWw5o2u5bqT44CBQUnvvIlcbiAgICovXG4gIGFzeW5jIGdldENsaWVudENyZWRlbnRpYWwob3B0czogeyBvcmlnaW46IHN0cmluZyB9KTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmZldGNoKHtcbiAgICAgIHVybDogYCR7b3B0cy5vcmlnaW59JHtDTElFTlRfQVVUSF9QQVRIfWAsXG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgJ2NvbnRlbnQtdHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIH0sXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIGdyYW50X3R5cGU6ICdjbGllbnRfY3JlZGVudGlhbHMnLFxuICAgICAgfSksXG4gICAgfSlcblxuICAgIHJldHVybiByZXMuZGF0YT8uYWNjZXNzX3Rva2VuXG4gIH1cblxuICAvKipcbiAgICog6I635Y+W5a6e6ZmF6K+35rGCIFVSTFxuICAgKiDlvZPor7fmsYLmnKrmkLrluKYgQXV0aG9yaXphdGlvbiDkuJTmnKroh6rluKYgYWNjZXNzX3Rva2VuIOaXtu+8jFxuICAgKiDlsIYgL3dlYiDot6/lvoTmm7/mjaLkuLogL2FkbWlu77yI566h55CG56uv562+5ZCN6Lev5b6E77yJXG4gICAqL1xuICBnZXRSZWFsVXJsKHVybDogc3RyaW5nLCBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBib2R5OiBhbnkpIHtcbiAgICBpZiAoaGVhZGVycy5BdXRob3JpemF0aW9uPy5yZXBsYWNlKCdCZWFyZXInLCAnJyk/LnRyaW0oKSkge1xuICAgICAgcmV0dXJuIHVybFxuICAgIH1cblxuICAgIGNvbnN0IHBhcmFtcyA9IHR5cGVvZiBib2R5ID09PSAnb2JqZWN0JyA/IGJvZHkgOiBzYWZlUGFyc2VKc29uKGJvZHkpIHx8ICcnXG5cbiAgICBpZiAocGFyYW1zLmFjY2Vzc190b2tlbikge1xuICAgICAgcmV0dXJuIHVybFxuICAgIH1cblxuICAgIGNvbnN0IHVybE9iaiA9IG5ldyBVUkwodXJsKVxuXG4gICAgaWYgKHVybE9iai5wYXRobmFtZSA9PT0gJy93ZWInICYmIHRoaXMuY29uZmlnLmF1dGg/LnNlY3JldElkICYmIHRoaXMuY29uZmlnLmF1dGg/LnNlY3JldEtleSkge1xuICAgICAgdXJsT2JqLnBhdGhuYW1lID0gQURNSU5fUEFUSFxuICAgIH1cbiAgICByZXR1cm4gdXJsT2JqLnRvU3RyaW5nKClcbiAgfVxuXG4gIC8qKlxuICAgKiDkuLror7fmsYLmt7vliqDnrb7lkI3miJborqTor4Hkv6Hmga9cbiAgICpcbiAgICog5aSE55CG6YC76L6R5LyY5YWI57qn77yaXG4gICAqIDEuIOW3suaciSBBdXRob3JpemF0aW9uIGhlYWRlciDihpIg55u05o6l6L+U5ZueXG4gICAqIDIuIC9hdXRoLyDot6/lvoQg4oaSIFNESyDorqTor4HmjqXlj6PvvIzml6DpnIDnrb7lkI1cbiAgICogMy4g5LiN5pSv5oyBIFYzIOetvuWQjeeahOi3r+W+hO+8iC92MS9tb2RlbC8g562J77yJ4oaSIOeUqCBjbGllbnRDcmVkZW50aWFsIEJlYXJlciBUb2tlblxuICAgKiA0LiDlj4LmlbDlkKsgYWNjZXNzX3Rva2VuIOKGkiDml6DpnIDnrb7lkI1cbiAgICogNS4g5YW25LuWIOKGkiDkvb/nlKggVjMg562+5ZCN77yIVEMzLUhNQUMtU0hBMjU277yJXG4gICAqL1xuICBwdWJsaWMgZ2V0UmVxT3B0aW9ucyA9IGFzeW5jIChcbiAgICB1cmw6IHN0cmluZyxcbiAgICBvcHRpb25zOiB7XG4gICAgICBtZXRob2Q/OiBhbnlcbiAgICAgIGhlYWRlcnM6IGFueVxuICAgICAgYm9keT86IGFueVxuICAgICAgY3JlZGVudGlhbHM/OiBzdHJpbmdcbiAgICAgIHNpZ25hbD86IEFib3J0U2lnbmFsXG4gICAgICB1cmw/OiBhbnlcbiAgICB9LFxuICApID0+IHtcbiAgICBjb25zdCB1cmxPYmogPSBuZXcgVVJMKHVybClcblxuICAgIGNvbnN0IHsgVENCX1NPVVJDRSB9ID0gZ2V0Q2xvdWRiYXNlQ29udGV4dCgpXG4gICAgLy8gTm90ZTog5LqR5Ye95pWw6KKr6LCD55So5pe25Y+v6IO96LCD55So56uv5pyq5Lyg6YCSIFNPVVJDRe+8jFRDQl9TT1VSQ0Ug5Y+v6IO95Li656m6XG4gICAgY29uc3QgU09VUkNFID0gYCR7SU5JVF9DT05GSUcuY29udGV4dD8uZXh0ZW5kZWRDb250ZXh0Py5zb3VyY2UgfHwgVENCX1NPVVJDRSB8fCAnJ30sJHthd2FpdCBnZXRDdXJyUnVuRW52VGFnKCl9YFxuXG4gICAgb3B0aW9ucy5oZWFkZXJzID0ge1xuICAgICAgLi4ub3B0aW9ucy5oZWFkZXJzLFxuICAgICAgJ1VzZXItQWdlbnQnOiBgYWRhcHRlci1ub2RlLyR7b3B0aW9ucy5oZWFkZXJzPy5bJ1gtU0RLLVZlcnNpb24nXSB8fCBgQGNsb3VkYmFzZS9qcy1zZGsvJHtnZXRTZGtWZXJzaW9uKCl9YH1gLFxuICAgICAgJ1gtVENCLVNvdXJjZSc6IFNPVVJDRSxcbiAgICAgICdYLUNsaWVudC1UaW1lc3RhbXAnOiBuZXcgRGF0ZSgpLnZhbHVlT2YoKSxcbiAgICAgICdYLVRDQi1SZWdpb24nOiBJTklUX0NPTkZJRy5yZWdpb24gfHwgZ2V0RW52KCdURU5DRU5UQ0xPVURfUkVHSU9OJykgfHwgJycsXG4gICAgICBIb3N0OiB1cmxPYmouaG9zdCxcbiAgICB9XG5cbiAgICAvLyDlt7LmkLrluKbmnInmlYggQXV0aG9yaXphdGlvbu+8jOebtOaOpei/lOWbnlxuICAgIGlmIChvcHRpb25zLmhlYWRlcnMuQXV0aG9yaXphdGlvbj8ucmVwbGFjZSgnQmVhcmVyJywgJycpPy50cmltKCkpIHtcbiAgICAgIHJldHVybiBvcHRpb25zXG4gICAgfVxuXG4gICAgLy8gYXV0aCDnm7jlhbPmjqXlj6PkuI3pnIDopoHnrb7lkI1cbiAgICBpZiAodXJsT2JqLnBhdGhuYW1lLnN0YXJ0c1dpdGgoJy9hdXRoLycpICYmIHVybE9iai5wYXRobmFtZSAhPT0gQ0xJRU5UX0FVVEhfUEFUSCkge1xuICAgICAgcmV0dXJuIG9wdGlvbnNcbiAgICB9XG5cbiAgICBjb25zdCBpc0FkbWluUGF0aCA9IHVybE9iai5wYXRobmFtZSA9PT0gQURNSU5fUEFUSFxuXG4gICAgLy8g6L+Z5Lqb6Lev5b6E5LiN5pSv5oyBIFYzIOetvuWQje+8jOaUueeUqCBjbGllbnRDcmVkZW50aWFsIOiOt+WPliBCZWFyZXIgVG9rZW5cbiAgICBjb25zdCBVTlNVUFBPUlRFRF9WM19TSUdOX1BBVEggPSBbJy92MS9tb2RlbC8nLCAnL3YxL3JkYi8nLCAnL3YxL2FpLyddXG5cbiAgICBpZiAoVU5TVVBQT1JURURfVjNfU0lHTl9QQVRILnNvbWUodiA9PiB1cmxPYmoucGF0aG5hbWUuc3RhcnRzV2l0aCh2KSkpIHtcbiAgICAgIGNvbnN0IHRva2VuID0gYXdhaXQgdGhpcy5nZXRDbGllbnRDcmVkZW50aWFsKHsgb3JpZ2luOiB1cmxPYmoub3JpZ2luIH0pXG4gICAgICBvcHRpb25zLmhlYWRlcnMuQXV0aG9yaXphdGlvbiA9IGBCZWFyZXIgJHt0b2tlbn1gXG4gICAgICByZXR1cm4gb3B0aW9uc1xuICAgIH1cblxuICAgIGxldCB7IHNlY3JldElkLCBzZWNyZXRLZXksIHNlc3Npb25Ub2tlbiB9ID0gdGhpcy5jb25maWc/LmF1dGggfHwge31cbiAgICBjb25zdCB7IHNlY3JldFR5cGUgfSA9IHRoaXMuY29uZmlnPy5hdXRoIHx8IHt9XG4gICAgY29uc3QgeyBtZXRob2QsIGJvZHkgfSA9IG9wdGlvbnNcbiAgICBjb25zdCBoZWFkZXJzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShvcHRpb25zLmhlYWRlcnMpKVxuICAgIGxldCBwYXJhbXMgPSB0eXBlb2YgYm9keSA9PT0gJ29iamVjdCcgPyBib2R5IDogc2FmZVBhcnNlSnNvbihib2R5KSB8fCB7fVxuXG4gICAgcGFyYW1zLmVudk5hbWUgPSBwYXJhbXM/LmVudiB8fCB0aGlzLmNvbmZpZy5lbnYgfHwgZ2V0U2VjcmV0SW5mbygpPy5lbnYgfHwgJydcblxuICAgIC8vIOWPguaVsOiHquW4piBhY2Nlc3NfdG9rZW7vvIzml6DpnIDnrb7lkI1cbiAgICBpZiAocGFyYW1zLmFjY2Vzc190b2tlbikge1xuICAgICAgcmV0dXJuIG9wdGlvbnNcbiAgICB9XG5cbiAgICAvLyBHRVQg6K+35rGC5Y+C5pWw5bey5ZyoIFVSTCDkuK3vvIznrb7lkI3ml7YgcGFyYW1zIOe9ruepulxuICAgIGlmIChtZXRob2QudG9Mb3dlckNhc2UoKSA9PT0gJ2dldCcpIHtcbiAgICAgIHBhcmFtcyA9IHVuZGVmaW5lZFxuICAgIH1cblxuICAgIC8vIFNFU1NJT05fU0VDUkVUIOexu+Wei+aIluaXoOWvhumSpeaXtu+8jOS7jueOr+Wig+WPmOmHj+iOt+WPluS4tOaXtuWvhumSpVxuICAgIGlmICghc2VjcmV0SWQgfHwgIXNlY3JldEtleSB8fCBzZWNyZXRUeXBlID09PSAnU0VTU0lPTl9TRUNSRVQnKSB7XG4gICAgICBjb25zdCBzZWNyZXRJbmZvID0gZ2V0U2VjcmV0SW5mbygpXG4gICAgICBzZWNyZXRJZCA9IHNlY3JldEluZm8uc2VjcmV0SWRcbiAgICAgIHNlY3JldEtleSA9IHNlY3JldEluZm8uc2VjcmV0S2V5XG4gICAgICBzZXNzaW9uVG9rZW4gPSBzZWNyZXRJbmZvLnNlc3Npb25Ub2tlblxuICAgIH1cblxuICAgIC8vIOS7jeaXoOWvhumSpeWImei3s+i/h+etvuWQjVxuICAgIGlmICghc2VjcmV0SWQgfHwgIXNlY3JldEtleSkge1xuICAgICAgcmV0dXJuIG9wdGlvbnNcbiAgICB9XG5cbiAgICBkZWxldGUgaGVhZGVycy5BdXRob3JpemF0aW9uXG5cbiAgICAvLyBjb250ZW50LXR5cGUg6ZyA5LiO5pyN5Yqh56uv562+5ZCN6aqM6K+B5L+d5oyB5aSn5bCP5YaZ5LiA6Ie0XG4gICAgaWYgKGhlYWRlcnNbJ2NvbnRlbnQtdHlwZSddKSB7XG4gICAgICBoZWFkZXJzWydjb250ZW50LXR5cGUnXSA9IGhlYWRlcnNbJ2NvbnRlbnQtdHlwZSddLnRvTG93ZXJDYXNlKClcbiAgICB9IGVsc2UgaWYgKGhlYWRlcnNbJ0NvbnRlbnQtVHlwZSddKSB7XG4gICAgICBoZWFkZXJzWydDb250ZW50LVR5cGUnXSA9IGhlYWRlcnNbJ0NvbnRlbnQtVHlwZSddLnRvTG93ZXJDYXNlKClcbiAgICB9XG5cbiAgICBpZiAoaXNBZG1pblBhdGggJiYgISFzZXNzaW9uVG9rZW4pIHtcbiAgICAgIHBhcmFtcy5zZXNzaW9uVG9rZW4gPSBzZXNzaW9uVG9rZW5cbiAgICB9XG5cbiAgICBjb25zdCBzaWduZWRQYXJhbXMgPSB7XG4gICAgICBzZWNyZXRJZCxcbiAgICAgIHNlY3JldEtleSxcbiAgICAgIG1ldGhvZCxcbiAgICAgIHVybCxcbiAgICAgIHBhcmFtcyxcbiAgICAgIGhlYWRlcnMsXG4gICAgICB3aXRoU2lnbmVkUGFyYW1zOiBpc0FkbWluUGF0aCxcbiAgICAgIHRpbWVzdGFtcDogTWF0aC5mbG9vcihuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDApIC0gMSxcbiAgICAgIGlzQ2xvdWRBcGk6ICFpc0FkbWluUGF0aCxcbiAgICB9XG5cbiAgICBpZiAoIWhlYWRlcnNbJ2NvbnRlbnQtdHlwZSddICYmICFoZWFkZXJzWydDb250ZW50LVR5cGUnXSkge1xuICAgICAgcmV0dXJuIG9wdGlvbnNcbiAgICB9XG5cbiAgICBjb25zdCBzaWduID0gYXdhaXQgZ2V0U2lnbigpXG4gICAgaWYgKCFzaWduKSByZXR1cm4gb3B0aW9uc1xuXG4gICAgY29uc3QgeyBhdXRob3JpemF0aW9uLCB0aW1lc3RhbXAgfSA9IHNpZ24oc2lnbmVkUGFyYW1zKVxuXG4gICAgaWYgKHR5cGVvZiBzZXNzaW9uVG9rZW4gPT09ICdzdHJpbmcnICYmIHNlc3Npb25Ub2tlbiAhPT0gJycpIHtcbiAgICAgIGlmIChpc0FkbWluUGF0aCkge1xuICAgICAgICBoZWFkZXJzLkF1dGhvcml6YXRpb24gPSBgJHthdXRob3JpemF0aW9ufWBcbiAgICAgICAgaGVhZGVyc1snWC1UaW1lc3RhbXAnXSA9IHRpbWVzdGFtcFxuICAgICAgICBoZWFkZXJzWydYLVNpZ25hdHVyZS1FeHBpcmVzJ10gPSA2MDBcbiAgICAgIH0gZWxzZSAge1xuICAgICAgICAvLyDkuLTml7blr4bpkqXpnIDopoHpop3lpJbpmYTluKYgVG9rZW5cbiAgICAgICAgaGVhZGVycy5BdXRob3JpemF0aW9uID0gYCR7YXV0aG9yaXphdGlvbn0sIFRpbWVzdGFtcD0ke3RpbWVzdGFtcH0sIFRva2VuPSR7c2Vzc2lvblRva2VufWBcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaGVhZGVycy5BdXRob3JpemF0aW9uID0gYCR7YXV0aG9yaXphdGlvbn0sIFRpbWVzdGFtcD0ke3RpbWVzdGFtcH1gXG5cbiAgICAgIC8vIGFkbWluIOi3r+W+hOmcgOimgemineWklueahOaXtumXtOaIs+WSjOi/h+acn+WktFxuICAgICAgaWYgKGlzQWRtaW5QYXRoKSB7XG4gICAgICAgIGhlYWRlcnNbJ1gtVGltZXN0YW1wJ10gPSB0aW1lc3RhbXBcbiAgICAgICAgaGVhZGVyc1snWC1TaWduYXR1cmUtRXhwaXJlcyddID0gNjAwXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBoZWFkZXJzLFxuICAgICAgYm9keTogdHlwZW9mIHBhcmFtcyA9PT0gJ29iamVjdCcgPyBKU09OLnN0cmluZ2lmeShwYXJhbXMpIDogcGFyYW1zLFxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgPSAob3B0aW9uczogSVJlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxSZXNwb25zZU9iamVjdD4gPT4gdGhpcy5yZXF1ZXN0KFxuICAgIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBtZXRob2Q6ICdnZXQnLFxuICAgIH0sXG4gICAgdGhpcy5yZXN0cmljdGVkTWV0aG9kcy5pbmNsdWRlcygnZ2V0JyksXG4gIClcblxuICBwdWJsaWMgcG9zdCA9IChvcHRpb25zOiBJUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPFJlc3BvbnNlT2JqZWN0PiA9PiB0aGlzLnJlcXVlc3QoXG4gICAge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgIH0sXG4gICAgdGhpcy5yZXN0cmljdGVkTWV0aG9kcy5pbmNsdWRlcygncG9zdCcpLFxuICApXG5cbiAgcHVibGljIHB1dCA9IChvcHRpb25zOiBJUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPFJlc3BvbnNlT2JqZWN0PiA9PiB0aGlzLnJlcXVlc3Qoe1xuICAgIC4uLm9wdGlvbnMsXG4gICAgbWV0aG9kOiAncHV0JyxcbiAgfSlcblxuICAvKipcbiAgICog5paH5Lu25LiK5LygXG4gICAqIFBPU1Qg5pa55byP77ya5p6E5bu6IEZvcm1EYXRhIOS4iuS8oFxuICAgKiBQVVQg5pa55byP77ya55u05o6l5bCG5paH5Lu25L2c5Li6IGJvZHkg5LiK5LygXG4gICAqL1xuICBwdWJsaWMgdXBsb2FkID0gKG9wdGlvbnM6IElSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8UmVzcG9uc2VPYmplY3Q+ID0+IHtcbiAgICBjb25zdCB7IGRhdGE6IF9kYXRhLCBmaWxlLCBuYW1lLCBtZXRob2QsIGhlYWRlcnMgPSB7fSB9ID0gb3B0aW9uc1xuICAgIGlmIChmaWxlID09PSB1bmRlZmluZWQgfHwgbmFtZSA9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZmlsZSBhbmQgbmFtZSBpcyByZXF1aXJlZCcpXG4gICAgfVxuICAgIGNvbnN0IGRhdGEgPSBvYmoyU3RyUmVjb3JkKF9kYXRhID8/IHt9KVxuICAgIGNvbnN0IGxvd2VyZWRNZXRob2QgPSBtZXRob2Q/LnRvTG93ZXJDYXNlKClcbiAgICBjb25zdCByZXFNZXRob2QgPSBbJ3Bvc3QnLCAncHV0J10uZmluZChtID0+IG0gPT09IGxvd2VyZWRNZXRob2QpID8/ICdwdXQnXG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKVxuICAgIGlmIChyZXFNZXRob2QgPT09ICdwb3N0Jykge1xuICAgICAgT2JqZWN0LmtleXMoZGF0YSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZChrZXksIGRhdGFba2V5XSlcbiAgICAgIH0pXG4gICAgICBmb3JtRGF0YS5hcHBlbmQoJ2tleScsIG5hbWUpXG4gICAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlKVxuICAgICAgcmV0dXJuIHRoaXMucmVxdWVzdChcbiAgICAgICAge1xuICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgZGF0YTogZm9ybURhdGEsXG4gICAgICAgICAgbWV0aG9kOiByZXFNZXRob2QsXG4gICAgICAgIH0sXG4gICAgICAgIHRoaXMucmVzdHJpY3RlZE1ldGhvZHMuaW5jbHVkZXMoJ3VwbG9hZCcpLFxuICAgICAgKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnJlcXVlc3QoXG4gICAgICB7XG4gICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgIG1ldGhvZDogJ3B1dCcsXG4gICAgICAgIGhlYWRlcnMsXG4gICAgICAgIGJvZHk6IGZpbGUsXG4gICAgICB9LFxuICAgICAgdGhpcy5yZXN0cmljdGVkTWV0aG9kcy5pbmNsdWRlcygndXBsb2FkJyksXG4gICAgKVxuICB9XG5cbiAgLyoqIOaWh+S7tuS4i+i9ve+8iOa1j+iniOWZqOeOr+Wig++8jOmAmui/h+WIm+W7uiA8YT4g5qCH562+6Kem5Y+R5LiL6L2977yJICovXG4gIHB1YmxpYyBkb3dubG9hZCA9IGFzeW5jIChvcHRpb25zOiBJUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPHVua25vd24+ID0+IHtcbiAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IHRoaXMuZ2V0KHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBoZWFkZXJzOiB7fSxcbiAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InLFxuICAgIH0pXG4gICAgY29uc3QgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwobmV3IEJsb2IoW2RhdGFdKSlcbiAgICBjb25zdCBmaWxlTmFtZSA9IGRlY29kZVVSSUNvbXBvbmVudChuZXcgVVJMKG9wdGlvbnM/LnVybCA/PyAnJykucGF0aG5hbWUuc3BsaXQoJy8nKS5wb3AoKSB8fCAnJylcbiAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpXG5cbiAgICBsaW5rLmhyZWYgPSB1cmxcbiAgICBsaW5rLnNldEF0dHJpYnV0ZSgnZG93bmxvYWQnLCBmaWxlTmFtZSlcbiAgICBsaW5rLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSdcblxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluaylcbiAgICBsaW5rLmNsaWNrKClcbiAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpXG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKVxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgcmVzb2x2ZSh7XG4gICAgICAgIHN0YXR1c0NvZGU6IDIwMCxcbiAgICAgICAgdGVtcEZpbGVQYXRoOiBvcHRpb25zLnVybCxcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiDlupXlsYIgZmV0Y2gg6K+35rGC77yM5pSv5oyB5rWB5byP5ZON5bqUXG4gICAqIOi2heaXtumAmui/hyBBYm9ydENvbnRyb2xsZXIgKyBzZXRUaW1lb3V0IOWunueOsFxuICAgKi9cbiAgcHVibGljIGZldGNoID0gYXN5bmMgKG9wdGlvbnM6IE9taXQ8SUZldGNoT3B0aW9ucywgJ3NpZ25hbCc+ICYgeyBzaWduYWw/OiBBYm9ydFNpZ25hbDsgY3VzdG9tUmVxT3B0cz86IElDdXN0b21SZXFPcHRzIH0pOiBQcm9taXNlPFJlc3BvbnNlT2JqZWN0PiA9PiB7XG4gICAgY29uc3QgeyBlbmFibGVBYm9ydCA9IGZhbHNlLCBzdHJlYW0gPSBmYWxzZSwgc2lnbmFsLCBjdXN0b21SZXFPcHRzIH0gPSBvcHRpb25zXG4gICAgY29uc3QgdXJsID0gdGhpcy5nZXRSZWFsVXJsKG9wdGlvbnMudXJsLCBvcHRpb25zLmhlYWRlcnMgfHwge30sIG9wdGlvbnMuYm9keSlcbiAgICBjb25zdCBhYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKClcbiAgICBjb25zdCB0aW1lb3V0ID0gY3VzdG9tUmVxT3B0cz8udGltZW91dCB8fCB0aGlzLnRpbWVvdXRcblxuICAgIC8vIOahpeaOpeWklumDqCBzaWduYWwg5Yiw5YaF6YOoIEFib3J0Q29udHJvbGxlclxuICAgIGlmIChzaWduYWwpIHtcbiAgICAgIGlmIChzaWduYWwuYWJvcnRlZCkge1xuICAgICAgICBhYm9ydENvbnRyb2xsZXIuYWJvcnQoKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoJ2Fib3J0JywgKCkgPT4gYWJvcnRDb250cm9sbGVyLmFib3J0KCkpXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8g6LaF5pe26Ieq5Yqo5Lit5patXG4gICAgbGV0IHRpbWVyID0gdW5kZWZpbmVkXG4gICAgaWYgKGVuYWJsZUFib3J0IHx8IHRpbWVvdXQpIHtcbiAgICAgIHRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHRpbWVvdXRNc2cgPSBg6K+35rGC5ZyoJHt0aW1lb3V0IC8gMTAwMH1z5YaF5pyq5a6M5oiQ77yM5bey5Lit5patYFxuICAgICAgICBjb25zb2xlLndhcm4odGltZW91dE1zZylcbiAgICAgICAgYWJvcnRDb250cm9sbGVyLmFib3J0KG5ldyBFcnJvcih0aW1lb3V0TXNnKSlcbiAgICAgIH0sIHRpbWVvdXQpXG4gICAgfVxuXG4gICAgY29uc3QgaGVhZGVycyA9IG9wdGlvbnMuaGVhZGVycyA/IGhlYWRlcnNJbml0MkluZGV4YWJsZShvcHRpb25zLmhlYWRlcnMpIDogdW5kZWZpbmVkXG5cbiAgICBjb25zdCBmZXRjaE9wdGlvbnMgPSBhd2FpdCB0aGlzLmdldFJlcU9wdGlvbnModXJsLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgaGVhZGVycyxcbiAgICAgIGJvZHk6IG9wdGlvbnMuYm9keSBhcyBhbnkgYXMgTm9kZUpTLlJlYWRhYmxlU3RyZWFtLFxuICAgICAgc2lnbmFsOiBhYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pXG5cbiAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaCh1cmwsIGZldGNoT3B0aW9ucyBhcyBSZXF1ZXN0SW5pdClcbiAgICAgIC50aGVuKCh4KSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aW1lcilcbiAgICAgICAgcmV0dXJuIHhcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKHgpID0+IHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyKVxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoeClcbiAgICAgIH0pXG5cbiAgICBjb25zdCByZXQgPSB7XG4gICAgICBkYXRhOlxuICAgICAgICArcmVzLnN0YXR1cyA9PT0gMjA0XG4gICAgICAgICAgPyAnJyAvLyAyMDQgTm8gQ29udGVudFxuICAgICAgICAgIDogc3RyZWFtXG4gICAgICAgICAgICA/IHJlcy5ib2R5XG4gICAgICAgICAgICA6IGF3YWl0IHJlcy5qc29uKCksXG4gICAgICBzdGF0dXNDb2RlOiByZXMuc3RhdHVzLFxuICAgICAgaGVhZGVyOiByZXMuaGVhZGVycyxcbiAgICB9XG4gICAgcmV0dXJuIHJldFxuICB9XG5cbiAgLyoqXG4gICAqIOmAmueUqOivt+axguaWueazle+8jOiiqyBnZXQvcG9zdC9wdXQvdXBsb2FkIOetieiwg+eUqFxuICAgKiDotJ/otKPmnoTlu7ogcGF5bG9hZOOAgeiuvue9rui2heaXtuOAgeino+aekOWTjeW6lFxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIOivt+axgumAiemhuVxuICAgKiBAcGFyYW0gZW5hYmxlQWJvcnQgLSDmmK/lkKblkK/nlKjotoXml7bkuK3mlq3vvIjnlLEgcmVzdHJpY3RlZE1ldGhvZHMg5Yaz5a6a77yJXG4gICAqL1xuICBwdWJsaWMgcmVxdWVzdCA9IGFzeW5jIChvcHRpb25zOiBJUmVxdWVzdE9wdGlvbnMsIGVuYWJsZUFib3J0ID0gZmFsc2UpOiBQcm9taXNlPFJlc3BvbnNlT2JqZWN0PiA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgdXJsLFxuICAgICAgaGVhZGVyczogX2hlYWRlcnMgPSB7fSxcbiAgICAgIGRhdGEsXG4gICAgICByZXNwb25zZVR5cGUsXG4gICAgICB3aXRoQ3JlZGVudGlhbHMsXG4gICAgICBib2R5LFxuICAgICAgbWV0aG9kOiBfbWV0aG9kLFxuICAgICAgY3VzdG9tUmVxT3B0cyxcbiAgICB9ID0gb3B0aW9uc1xuICAgIGNvbnN0IGhlYWRlcnMgPSBvYmoyU3RyUmVjb3JkKF9oZWFkZXJzKVxuICAgIGNvbnN0IG1ldGhvZCA9IFN0cmluZyhfbWV0aG9kKS50b0xvd2VyQ2FzZSgpIHx8ICdnZXQnXG4gICAgY29uc3QgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpXG4gICAgY29uc3QgeyBzaWduYWwgfSA9IGFib3J0Q29udHJvbGxlclxuICAgIGNvbnN0IHRpbWVvdXQgPSBjdXN0b21SZXFPcHRzPy50aW1lb3V0IHx8IHRoaXMudGltZW91dFxuXG4gICAgLy8g5p6E5bu66K+35rGCIHBheWxvYWTvvJpGb3JtRGF0YSA+IHVybGVuY29kZWQgPiByYXcgYm9keSA+IEpTT05cbiAgICBsZXQgcGF5bG9hZFxuICAgIGlmIChpc0Zvcm1EYXRhKGRhdGEpKSB7XG4gICAgICBwYXlsb2FkID0gZGF0YVxuICAgIH0gZWxzZSBpZiAoaGVhZGVyc1snY29udGVudC10eXBlJ10gPT09ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnKSB7XG4gICAgICBwYXlsb2FkID0gdG9RdWVyeVN0cmluZyhkYXRhID8/IHt9KVxuICAgIH0gZWxzZSBpZiAoYm9keSkge1xuICAgICAgcGF5bG9hZCA9IGJvZHlcbiAgICB9IGVsc2Uge1xuICAgICAgcGF5bG9hZCA9IGRhdGEgPyBKU09OLnN0cmluZ2lmeShkYXRhKSA6IHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGNvbnN0IHJlYWxVcmwgPSB0aGlzLmdldFJlYWxVcmwoXG4gICAgICBmb3JtYXRVcmwoJ2h0dHBzJywgdXJsID8/ICcnLCBtZXRob2QgPT09ICdnZXQnID8gZGF0YSA6IHt9KSxcbiAgICAgIG9wdGlvbnMuaGVhZGVycyB8fCB7fSxcbiAgICAgIHBheWxvYWQsXG4gICAgKVxuXG4gICAgLy8g6LaF5pe26YCa6L+HIEFib3J0Q29udHJvbGxlciArIHNldFRpbWVvdXQg5a6e546wXG4gICAgbGV0IHRpbWVyXG5cbiAgICBpZiAoZW5hYmxlQWJvcnQgfHwgdGltZW91dCkge1xuICAgICAgdGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgY29uc3QgdGltZW91dE1zZyA9IGDor7fmsYLlnKgke3RpbWVvdXQgLyAxMDAwfXPlhoXmnKrlrozmiJDvvIzlt7LkuK3mlq1gXG4gICAgICAgIGNvbnNvbGUud2Fybih0aW1lb3V0TXNnKVxuICAgICAgICBhYm9ydENvbnRyb2xsZXIuYWJvcnQobmV3IEVycm9yKHRpbWVvdXRNc2cpKVxuICAgICAgfSwgdGltZW91dClcbiAgICB9XG5cbiAgICBjb25zdCByZXF1ZXN0T3B0aW9ucyA9IGF3YWl0IHRoaXMuZ2V0UmVxT3B0aW9ucyhyZWFsVXJsLCB7XG4gICAgICBtZXRob2QsXG4gICAgICBoZWFkZXJzLFxuICAgICAgYm9keTogcGF5bG9hZCxcbiAgICAgIGNyZWRlbnRpYWxzOiB3aXRoQ3JlZGVudGlhbHMgPyAnaW5jbHVkZScgOiAnc2FtZS1vcmlnaW4nLFxuICAgICAgc2lnbmFsLFxuICAgIH0pXG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChyZWFsVXJsLCByZXF1ZXN0T3B0aW9ucyBhcyBSZXF1ZXN0SW5pdClcbiAgICAgIGNvbnN0IHJlc3VsdDogUmVzcG9uc2VPYmplY3QgPSB7XG4gICAgICAgIGhlYWRlcjoge30sXG4gICAgICAgIHN0YXR1c0NvZGU6IHJlc3BvbnNlLnN0YXR1cyxcbiAgICAgIH1cblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmVzdWx0LmRhdGEgPSByZXNwb25zZVR5cGUgPT09ICdibG9iJyA/IGF3YWl0IHJlc3BvbnNlLmJsb2IoKSA6IHNhZmVQYXJzZUpzb24oYXdhaXQgcmVzcG9uc2UudGV4dCgpKVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAvLyDkuIrkvKAgUE9TVCDor7fmsYLlj6/og73ov5Tlm54gWE1MIOetiemdniBKU09OIOagvOW8j++8jOWuuemUmeWkhOeQhlxuICAgICAgICBjb25zb2xlLmxvZygnY2F0Y2ggYW4gZXJyb3InLCBlKVxuICAgICAgICByZXN1bHQuZGF0YSA9IHJlc3BvbnNlVHlwZSA9PT0gJ2Jsb2InID8gYXdhaXQgcmVzcG9uc2UuYmxvYigpIDogYXdhaXQgcmVzcG9uc2UudGV4dCgpXG4gICAgICB9XG5cbiAgICAgIC8vIOWwhuWTjeW6lOWktOe7n+S4gOi9rOS4uuWwj+WGmSBrZXlcbiAgICAgIGNvbnN0IHsgaGVhZGVycyB9ID0gcmVzcG9uc2VcbiAgICAgIGhlYWRlcnMuZm9yRWFjaCgodmFsLCBrZXkpID0+IChyZXN1bHQuaGVhZGVyW2tleS50b0xvd2VyQ2FzZSgpXSA9IHZhbCkpXG5cbiAgICAgIHJldHVybiByZXN1bHRcbiAgICB9IGZpbmFsbHkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyKVxuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ import { ICloudbaseConfig } from '@cloudbase/types';
2
+ export declare const nodeTool: (app: any, config: ICloudbaseConfig) => void;