swipium 1.5.0 → 2.0.1

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 (498) hide show
  1. package/CHANGELOG.md +183 -0
  2. package/README.md +173 -280
  3. package/THREAT_MODEL.md +223 -47
  4. package/dist/appMap/automationLink.js +30 -27
  5. package/dist/appMap/automationLink.js.map +1 -1
  6. package/dist/appMap/build.js +47 -21
  7. package/dist/appMap/build.js.map +1 -1
  8. package/dist/appMap/codeIndex.js +2 -2
  9. package/dist/appMap/codeIndex.js.map +1 -1
  10. package/dist/appMap/featureIndex.js +3 -3
  11. package/dist/appMap/featureIndex.js.map +1 -1
  12. package/dist/appMap/featureModel.js +2 -2
  13. package/dist/appMap/featureModel.js.map +1 -1
  14. package/dist/appMap/firstRunApply.js +2 -2
  15. package/dist/appMap/firstRunApply.js.map +1 -1
  16. package/dist/appMap/issues.js +10 -10
  17. package/dist/appMap/issues.js.map +1 -1
  18. package/dist/appMap/migrations.js +5 -5
  19. package/dist/appMap/migrations.js.map +1 -1
  20. package/dist/appMap/prelaunch.js +2 -2
  21. package/dist/appMap/prelaunch.js.map +1 -1
  22. package/dist/appMap/projectRegistry.js +77 -11
  23. package/dist/appMap/projectRegistry.js.map +1 -1
  24. package/dist/appMap/provenance.js +2 -2
  25. package/dist/appMap/provenance.js.map +1 -1
  26. package/dist/appMap/query.js +2 -2
  27. package/dist/appMap/query.js.map +1 -1
  28. package/dist/appMap/runtimeMerge.js +3 -3
  29. package/dist/appMap/runtimeMerge.js.map +1 -1
  30. package/dist/appMap/schema.js +1 -1
  31. package/dist/appMap/schema.js.map +1 -1
  32. package/dist/appMap/screenMatch.js +1 -1
  33. package/dist/appMap/screenMatch.js.map +1 -1
  34. package/dist/appMap/staticScan.js +17 -17
  35. package/dist/appMap/staticScan.js.map +1 -1
  36. package/dist/appMap/store.js +55 -7
  37. package/dist/appMap/store.js.map +1 -1
  38. package/dist/appMap/tsAstScan.js +3 -3
  39. package/dist/appMap/tsAstScan.js.map +1 -1
  40. package/dist/artifacts/bundletool.js +5 -5
  41. package/dist/artifacts/bundletool.js.map +1 -1
  42. package/dist/artifacts/resolve.js +10 -10
  43. package/dist/artifacts/resolve.js.map +1 -1
  44. package/dist/automation/capabilities.js +3 -3
  45. package/dist/automation/capabilities.js.map +1 -1
  46. package/dist/automation/gestures.js +1 -1
  47. package/dist/automation/gestures.js.map +1 -1
  48. package/dist/automation/plan.js +7 -7
  49. package/dist/automation/plan.js.map +1 -1
  50. package/dist/automation/report.js +3 -3
  51. package/dist/automation/report.js.map +1 -1
  52. package/dist/automation/selectors.js +14 -25
  53. package/dist/automation/selectors.js.map +1 -1
  54. package/dist/automation/types.js +1 -1
  55. package/dist/automation/types.js.map +1 -1
  56. package/dist/automation/waits.js +5 -5
  57. package/dist/automation/waits.js.map +1 -1
  58. package/dist/automation/webview.js +2 -2
  59. package/dist/automation/webview.js.map +1 -1
  60. package/dist/automationGen/appiumModel.js +13 -7
  61. package/dist/automationGen/appiumModel.js.map +1 -1
  62. package/dist/automationGen/ciEmitter.js +5 -5
  63. package/dist/automationGen/ciEmitter.js.map +1 -1
  64. package/dist/automationGen/identifiers.js +224 -0
  65. package/dist/automationGen/identifiers.js.map +1 -0
  66. package/dist/automationGen/jsEmitter.js +265 -106
  67. package/dist/automationGen/jsEmitter.js.map +1 -1
  68. package/dist/automationGen/packagePatch.js +2 -2
  69. package/dist/automationGen/packagePatch.js.map +1 -1
  70. package/dist/automationGen/platformResolve.js +36 -0
  71. package/dist/automationGen/platformResolve.js.map +1 -0
  72. package/dist/automationGen/projectProfile.js +71 -26
  73. package/dist/automationGen/projectProfile.js.map +1 -1
  74. package/dist/automationGen/pythonEmitter.js +276 -105
  75. package/dist/automationGen/pythonEmitter.js.map +1 -1
  76. package/dist/automationGen/readmeEmitter.js +7 -6
  77. package/dist/automationGen/readmeEmitter.js.map +1 -1
  78. package/dist/{tools/automationGenerate.js → automationGen/run.js} +72 -113
  79. package/dist/automationGen/run.js.map +1 -0
  80. package/dist/automationGen/suitePlan.js +6 -4
  81. package/dist/automationGen/suitePlan.js.map +1 -1
  82. package/dist/automationGen/validation.js +20 -8
  83. package/dist/automationGen/validation.js.map +1 -1
  84. package/dist/build/parseBuildLog.js +2 -2
  85. package/dist/build/parseBuildLog.js.map +1 -1
  86. package/dist/build/plan.js +7 -7
  87. package/dist/build/plan.js.map +1 -1
  88. package/dist/ci/preflight.js +13 -4
  89. package/dist/ci/preflight.js.map +1 -1
  90. package/dist/cli/gc.js +74 -0
  91. package/dist/cli/gc.js.map +1 -0
  92. package/dist/cli/init.js +217 -26
  93. package/dist/cli/init.js.map +1 -1
  94. package/dist/cli/main.js +50 -0
  95. package/dist/cli/main.js.map +1 -0
  96. package/dist/cli/report.js +218 -0
  97. package/dist/cli/report.js.map +1 -0
  98. package/dist/cli/scan.js +35 -14
  99. package/dist/cli/scan.js.map +1 -1
  100. package/dist/cli/suite.js +6 -6
  101. package/dist/cli/suite.js.map +1 -1
  102. package/dist/cli/verify.js +7 -7
  103. package/dist/cli/verify.js.map +1 -1
  104. package/dist/consent/consent.js +162 -5
  105. package/dist/consent/consent.js.map +1 -1
  106. package/dist/context/detect.js +45 -14
  107. package/dist/context/detect.js.map +1 -1
  108. package/dist/context/findApps.js +6 -6
  109. package/dist/context/findApps.js.map +1 -1
  110. package/dist/context/projectRoot.js +174 -19
  111. package/dist/context/projectRoot.js.map +1 -1
  112. package/dist/context/scan.js +1 -1
  113. package/dist/context/scan.js.map +1 -1
  114. package/dist/core/capabilityGroups.js +90 -0
  115. package/dist/core/capabilityGroups.js.map +1 -0
  116. package/dist/core/target.js +3 -3
  117. package/dist/core/target.js.map +1 -1
  118. package/dist/core/targetPlan.js +65 -62
  119. package/dist/core/targetPlan.js.map +1 -1
  120. package/dist/drivers/DirectDriver.js +300 -36
  121. package/dist/drivers/DirectDriver.js.map +1 -1
  122. package/dist/drivers/SimctlDriver.js +120 -7
  123. package/dist/drivers/SimctlDriver.js.map +1 -1
  124. package/dist/drivers/WdaDriver.js +350 -50
  125. package/dist/drivers/WdaDriver.js.map +1 -1
  126. package/dist/explore/candidates.js +2 -2
  127. package/dist/explore/candidates.js.map +1 -1
  128. package/dist/explore/graph.js +5 -5
  129. package/dist/explore/graph.js.map +1 -1
  130. package/dist/explore/policy.js +5 -5
  131. package/dist/explore/policy.js.map +1 -1
  132. package/dist/explore/runner.js +301 -284
  133. package/dist/explore/runner.js.map +1 -1
  134. package/dist/explore/signatures.js +1 -1
  135. package/dist/featureTesting/executionBootstrap.js +29 -30
  136. package/dist/featureTesting/executionBootstrap.js.map +1 -1
  137. package/dist/featureTesting/featureMap.js +2 -2
  138. package/dist/featureTesting/featureMap.js.map +1 -1
  139. package/dist/featureTesting/featureScope.js +12 -12
  140. package/dist/featureTesting/featureScope.js.map +1 -1
  141. package/dist/featureTesting/mapFeatureScope.js +7 -7
  142. package/dist/featureTesting/mapFeatureScope.js.map +1 -1
  143. package/dist/featureTesting/objectiveModel.js +10 -10
  144. package/dist/featureTesting/objectiveModel.js.map +1 -1
  145. package/dist/featureTesting/resultMerge.js +6 -6
  146. package/dist/featureTesting/resultMerge.js.map +1 -1
  147. package/dist/featureTesting/sources.js +4 -4
  148. package/dist/featureTesting/sources.js.map +1 -1
  149. package/dist/featureTesting/suiteBridge.js +1 -1
  150. package/dist/featureTesting/suiteBridge.js.map +1 -1
  151. package/dist/featureTesting/synonyms.js +1 -1
  152. package/dist/featureTesting/synonyms.js.map +1 -1
  153. package/dist/featureTesting/testCaseFactory.js +11 -11
  154. package/dist/featureTesting/testCaseFactory.js.map +1 -1
  155. package/dist/featureTesting/testPlan.js +3 -3
  156. package/dist/featureTesting/testPlan.js.map +1 -1
  157. package/dist/firstRun/authStateMachine.js +1 -1
  158. package/dist/firstRun/authStateMachine.js.map +1 -1
  159. package/dist/firstRun/classifyScreen.js +5 -5
  160. package/dist/firstRun/classifyScreen.js.map +1 -1
  161. package/dist/firstRun/firstRunPlanner.js +11 -11
  162. package/dist/firstRun/firstRunPlanner.js.map +1 -1
  163. package/dist/firstRun/firstRunRunner.js +8 -8
  164. package/dist/firstRun/firstRunRunner.js.map +1 -1
  165. package/dist/firstRun/generatedDataPolicy.js +9 -9
  166. package/dist/firstRun/generatedDataPolicy.js.map +1 -1
  167. package/dist/firstRun/inputPlanner.js +5 -5
  168. package/dist/firstRun/inputPlanner.js.map +1 -1
  169. package/dist/firstRun/onboardingStateMachine.js +1 -1
  170. package/dist/firstRun/onboardingStateMachine.js.map +1 -1
  171. package/dist/firstRun/paywallPolicy.js +3 -3
  172. package/dist/firstRun/paywallPolicy.js.map +1 -1
  173. package/dist/firstRun/types.js +1 -1
  174. package/dist/firstRun/types.js.map +1 -1
  175. package/dist/fixtures/catalog.js +33 -3
  176. package/dist/fixtures/catalog.js.map +1 -1
  177. package/dist/fixtures/load.js +50 -0
  178. package/dist/fixtures/load.js.map +1 -0
  179. package/dist/flows/discover.js +2 -2
  180. package/dist/flows/discover.js.map +1 -1
  181. package/dist/flows/generate.js +20 -10
  182. package/dist/flows/generate.js.map +1 -1
  183. package/dist/flows/pack.js +3 -3
  184. package/dist/flows/pack.js.map +1 -1
  185. package/dist/flows/paths.js +57 -0
  186. package/dist/flows/paths.js.map +1 -0
  187. package/dist/flows/repair.js +111 -23
  188. package/dist/flows/repair.js.map +1 -1
  189. package/dist/flows/run.js +153 -57
  190. package/dist/flows/run.js.map +1 -1
  191. package/dist/flows/schema.js +50 -5
  192. package/dist/flows/schema.js.map +1 -1
  193. package/dist/flows/seedExec.js +4 -4
  194. package/dist/flows/seedExec.js.map +1 -1
  195. package/dist/flows/templates.js +5 -5
  196. package/dist/index.js +50 -8
  197. package/dist/index.js.map +1 -1
  198. package/dist/issues/classify.js +16 -16
  199. package/dist/issues/classify.js.map +1 -1
  200. package/dist/issues/fingerprint.js +24 -4
  201. package/dist/issues/fingerprint.js.map +1 -1
  202. package/dist/issues/index.js +94 -31
  203. package/dist/issues/index.js.map +1 -1
  204. package/dist/issues/metrics.js +4 -4
  205. package/dist/issues/metrics.js.map +1 -1
  206. package/dist/issues/recurrence.js +35 -8
  207. package/dist/issues/recurrence.js.map +1 -1
  208. package/dist/issues/report.js +4 -4
  209. package/dist/issues/report.js.map +1 -1
  210. package/dist/issues/reportBridge.js +4 -4
  211. package/dist/issues/reportBridge.js.map +1 -1
  212. package/dist/issues/schema.js +2 -2
  213. package/dist/issues/schema.js.map +1 -1
  214. package/dist/issues/sourceRevision.js +2 -2
  215. package/dist/issues/sourceRevision.js.map +1 -1
  216. package/dist/issues/store.js +110 -32
  217. package/dist/issues/store.js.map +1 -1
  218. package/dist/lib/abortScope.js +48 -0
  219. package/dist/lib/abortScope.js.map +1 -0
  220. package/dist/lib/android.js +75 -7
  221. package/dist/lib/android.js.map +1 -1
  222. package/dist/lib/coordSpace.js +1 -1
  223. package/dist/lib/coordSpace.js.map +1 -1
  224. package/dist/lib/device.js +32 -7
  225. package/dist/lib/device.js.map +1 -1
  226. package/dist/lib/gestures.js +141 -0
  227. package/dist/lib/gestures.js.map +1 -0
  228. package/dist/lib/gitignore.js +4 -3
  229. package/dist/lib/gitignore.js.map +1 -1
  230. package/dist/lib/image.js +1 -1
  231. package/dist/lib/image.js.map +1 -1
  232. package/dist/lib/lockfile.js +370 -31
  233. package/dist/lib/lockfile.js.map +1 -1
  234. package/dist/lib/needsInput.js +3 -3
  235. package/dist/lib/needsInput.js.map +1 -1
  236. package/dist/lib/png.js +2 -2
  237. package/dist/lib/png.js.map +1 -1
  238. package/dist/lib/redact.js +170 -9
  239. package/dist/lib/redact.js.map +1 -1
  240. package/dist/lib/result.js +79 -10
  241. package/dist/lib/result.js.map +1 -1
  242. package/dist/lib/schemaHash.js +3 -3
  243. package/dist/lib/schemaHash.js.map +1 -1
  244. package/dist/lib/sensitive.js +3 -2
  245. package/dist/lib/sensitive.js.map +1 -1
  246. package/dist/lib/simctl.js +3 -3
  247. package/dist/lib/simctl.js.map +1 -1
  248. package/dist/lib/spawn.js +52 -10
  249. package/dist/lib/spawn.js.map +1 -1
  250. package/dist/lib/toolAnnotations.js +114 -0
  251. package/dist/lib/toolAnnotations.js.map +1 -0
  252. package/dist/lib/wda.js +294 -15
  253. package/dist/lib/wda.js.map +1 -1
  254. package/dist/mobileAudit/checks.js +12 -12
  255. package/dist/mobileAudit/checks.js.map +1 -1
  256. package/dist/mobileAudit/evidence.js +4 -4
  257. package/dist/mobileAudit/evidence.js.map +1 -1
  258. package/dist/mobileAudit/profiles.js +1 -1
  259. package/dist/mobileAudit/profiles.js.map +1 -1
  260. package/dist/mobileAudit/results.js +3 -3
  261. package/dist/mobileAudit/results.js.map +1 -1
  262. package/dist/mobileAudit/runner.js +72 -18
  263. package/dist/mobileAudit/runner.js.map +1 -1
  264. package/dist/oracle/auth.js +1 -1
  265. package/dist/oracle/auth.js.map +1 -1
  266. package/dist/oracle/failures.js +219 -36
  267. package/dist/oracle/failures.js.map +1 -1
  268. package/dist/oracle/health.js +63 -17
  269. package/dist/oracle/health.js.map +1 -1
  270. package/dist/oracle/locator.js +13 -13
  271. package/dist/oracle/locator.js.map +1 -1
  272. package/dist/oracle/record.js +3 -3
  273. package/dist/oracle/record.js.map +1 -1
  274. package/dist/orchestration/envelope.js +2 -2
  275. package/dist/orchestration/envelope.js.map +1 -1
  276. package/dist/orchestration/goal.js +4 -4
  277. package/dist/orchestration/goal.js.map +1 -1
  278. package/dist/orchestration/testThis/execute.js +62 -21
  279. package/dist/orchestration/testThis/execute.js.map +1 -1
  280. package/dist/orchestration/testThis/pipeline.js +119 -30
  281. package/dist/orchestration/testThis/pipeline.js.map +1 -1
  282. package/dist/orchestration/testThis/plan.js +162 -73
  283. package/dist/orchestration/testThis/plan.js.map +1 -1
  284. package/dist/orchestration/testThis/sessionIntent.js +72 -0
  285. package/dist/orchestration/testThis/sessionIntent.js.map +1 -0
  286. package/dist/orchestration/testThis/terminal.js +34 -16
  287. package/dist/orchestration/testThis/terminal.js.map +1 -1
  288. package/dist/orchestration/testThis/types.js +1 -1
  289. package/dist/orchestration/testThis/types.js.map +1 -1
  290. package/dist/plan/plan.js +9 -9
  291. package/dist/plan/plan.js.map +1 -1
  292. package/dist/prompts/index.js +22 -22
  293. package/dist/prompts/index.js.map +1 -1
  294. package/dist/report/export.js +392 -37
  295. package/dist/report/export.js.map +1 -1
  296. package/dist/report/findingsDedupe.js +41 -0
  297. package/dist/report/findingsDedupe.js.map +1 -0
  298. package/dist/report/policy.js +7 -4
  299. package/dist/report/policy.js.map +1 -1
  300. package/dist/report/qaLevel.js +8 -8
  301. package/dist/report/qaLevel.js.map +1 -1
  302. package/dist/report/sarifSources.js +160 -0
  303. package/dist/report/sarifSources.js.map +1 -0
  304. package/dist/report/summary.js +2 -2
  305. package/dist/report/summary.js.map +1 -1
  306. package/dist/report/testCatalog.js +4 -4
  307. package/dist/report/testCatalog.js.map +1 -1
  308. package/dist/report/toolHealth.js +124 -0
  309. package/dist/report/toolHealth.js.map +1 -0
  310. package/dist/server.js +472 -45
  311. package/dist/server.js.map +1 -1
  312. package/dist/services/automationGenerate.js +8 -2
  313. package/dist/services/automationGenerate.js.map +1 -1
  314. package/dist/services/build.js +2 -2
  315. package/dist/services/build.js.map +1 -1
  316. package/dist/{tools → services}/flowGenerate.js +29 -13
  317. package/dist/services/flowGenerate.js.map +1 -0
  318. package/dist/services/preflight.js +4 -4
  319. package/dist/services/preflight.js.map +1 -1
  320. package/dist/services/prepareAndroid.js +46 -8
  321. package/dist/services/prepareAndroid.js.map +1 -1
  322. package/dist/services/prepareIos.js +24 -9
  323. package/dist/services/prepareIos.js.map +1 -1
  324. package/dist/services/report.js +100 -45
  325. package/dist/services/report.js.map +1 -1
  326. package/dist/services/smoke.js +32 -16
  327. package/dist/services/smoke.js.map +1 -1
  328. package/dist/services/suiteGenerate.js +28 -3
  329. package/dist/services/suiteGenerate.js.map +1 -1
  330. package/dist/services/testSuiteKnowledge.js +40 -27
  331. package/dist/services/testSuiteKnowledge.js.map +1 -1
  332. package/dist/session/attach.js +270 -6
  333. package/dist/session/attach.js.map +1 -1
  334. package/dist/session/processRegistry.js +317 -48
  335. package/dist/session/processRegistry.js.map +1 -1
  336. package/dist/session/progress.js +1 -1
  337. package/dist/session/retention.js +201 -0
  338. package/dist/session/retention.js.map +1 -0
  339. package/dist/session/store.js +275 -48
  340. package/dist/session/store.js.map +1 -1
  341. package/dist/snapshot/overlays.js +53 -8
  342. package/dist/snapshot/overlays.js.map +1 -1
  343. package/dist/snapshot/parse.js +28 -4
  344. package/dist/snapshot/parse.js.map +1 -1
  345. package/dist/snapshot/present.js +11 -5
  346. package/dist/snapshot/present.js.map +1 -1
  347. package/dist/snapshot/settle.js +39 -9
  348. package/dist/snapshot/settle.js.map +1 -1
  349. package/dist/state/consent.js +99 -0
  350. package/dist/state/consent.js.map +1 -0
  351. package/dist/state/profile.js +46 -2
  352. package/dist/state/profile.js.map +1 -1
  353. package/dist/suite/compile.js +9 -5
  354. package/dist/suite/compile.js.map +1 -1
  355. package/dist/suite/lint.js +4 -4
  356. package/dist/suite/lint.js.map +1 -1
  357. package/dist/suite/pom.js +50 -41
  358. package/dist/suite/pom.js.map +1 -1
  359. package/dist/suite/secretGuard.js +266 -0
  360. package/dist/suite/secretGuard.js.map +1 -0
  361. package/dist/suite/testcase.js +9 -7
  362. package/dist/suite/testcase.js.map +1 -1
  363. package/dist/testSuite/exporter.js +4 -4
  364. package/dist/testSuite/exporter.js.map +1 -1
  365. package/dist/testSuite/generator.js +13 -9
  366. package/dist/testSuite/generator.js.map +1 -1
  367. package/dist/testSuite/history.js +1 -1
  368. package/dist/testSuite/history.js.map +1 -1
  369. package/dist/testSuite/issueLinks.js +3 -3
  370. package/dist/testSuite/issueLinks.js.map +1 -1
  371. package/dist/testSuite/lint.js +4 -4
  372. package/dist/testSuite/lint.js.map +1 -1
  373. package/dist/testSuite/merge.js +5 -5
  374. package/dist/testSuite/merge.js.map +1 -1
  375. package/dist/testSuite/schema.js +5 -5
  376. package/dist/testSuite/schema.js.map +1 -1
  377. package/dist/testSuite/store.js +3 -3
  378. package/dist/testSuite/store.js.map +1 -1
  379. package/dist/testSuite/traceability.js +2 -2
  380. package/dist/testSuite/traceability.js.map +1 -1
  381. package/dist/tools/act.js +794 -164
  382. package/dist/tools/act.js.map +1 -1
  383. package/dist/tools/agent.js +451 -128
  384. package/dist/tools/agent.js.map +1 -1
  385. package/dist/tools/appControl.js +69 -19
  386. package/dist/tools/appControl.js.map +1 -1
  387. package/dist/tools/appMap.js +188 -130
  388. package/dist/tools/appMap.js.map +1 -1
  389. package/dist/tools/build.js +32 -42
  390. package/dist/tools/build.js.map +1 -1
  391. package/dist/tools/bundletool.js +21 -31
  392. package/dist/tools/bundletool.js.map +1 -1
  393. package/dist/tools/clearOverlay.js +55 -12
  394. package/dist/tools/clearOverlay.js.map +1 -1
  395. package/dist/tools/device.js +76 -24
  396. package/dist/tools/device.js.map +1 -1
  397. package/dist/tools/doctor.js +68 -28
  398. package/dist/tools/doctor.js.map +1 -1
  399. package/dist/tools/explore.js +41 -47
  400. package/dist/tools/explore.js.map +1 -1
  401. package/dist/tools/featureTesting.js +31 -48
  402. package/dist/tools/featureTesting.js.map +1 -1
  403. package/dist/tools/firstRun.js +34 -41
  404. package/dist/tools/firstRun.js.map +1 -1
  405. package/dist/tools/flow.js +183 -103
  406. package/dist/tools/flow.js.map +1 -1
  407. package/dist/tools/flowRepair.js +25 -13
  408. package/dist/tools/flowRepair.js.map +1 -1
  409. package/dist/tools/generate.js +52 -89
  410. package/dist/tools/generate.js.map +1 -1
  411. package/dist/tools/getArtifact.js +16 -5
  412. package/dist/tools/getArtifact.js.map +1 -1
  413. package/dist/tools/health.js +15 -12
  414. package/dist/tools/health.js.map +1 -1
  415. package/dist/tools/ios.js +45 -223
  416. package/dist/tools/ios.js.map +1 -1
  417. package/dist/tools/issues.js +251 -35
  418. package/dist/tools/issues.js.map +1 -1
  419. package/dist/tools/jobs.js +41 -16
  420. package/dist/tools/jobs.js.map +1 -1
  421. package/dist/tools/metro.js +36 -35
  422. package/dist/tools/metro.js.map +1 -1
  423. package/dist/tools/mobileAudit.js +50 -45
  424. package/dist/tools/mobileAudit.js.map +1 -1
  425. package/dist/tools/network.js +31 -14
  426. package/dist/tools/network.js.map +1 -1
  427. package/dist/tools/note.js +26 -26
  428. package/dist/tools/note.js.map +1 -1
  429. package/dist/tools/prepareIosTarget.js +10 -16
  430. package/dist/tools/prepareIosTarget.js.map +1 -1
  431. package/dist/tools/prepareTarget.js +117 -50
  432. package/dist/tools/prepareTarget.js.map +1 -1
  433. package/dist/tools/report.js +11 -22
  434. package/dist/tools/report.js.map +1 -1
  435. package/dist/tools/resolveArtifact.js +11 -15
  436. package/dist/tools/resolveArtifact.js.map +1 -1
  437. package/dist/tools/resolveTarget.js +78 -24
  438. package/dist/tools/resolveTarget.js.map +1 -1
  439. package/dist/tools/screenRecord.js +23 -21
  440. package/dist/tools/screenRecord.js.map +1 -1
  441. package/dist/tools/screenshot.js +23 -16
  442. package/dist/tools/screenshot.js.map +1 -1
  443. package/dist/tools/smoke.js +20 -16
  444. package/dist/tools/smoke.js.map +1 -1
  445. package/dist/tools/snapshot.js +155 -118
  446. package/dist/tools/snapshot.js.map +1 -1
  447. package/dist/tools/startSession.js +104 -116
  448. package/dist/tools/startSession.js.map +1 -1
  449. package/dist/tools/suite.js +72 -43
  450. package/dist/tools/suite.js.map +1 -1
  451. package/dist/tools/testSuite.js +30 -20
  452. package/dist/tools/testSuite.js.map +1 -1
  453. package/dist/tools/testThis.js +24 -28
  454. package/dist/tools/testThis.js.map +1 -1
  455. package/dist/tools/visual.js +686 -210
  456. package/dist/tools/visual.js.map +1 -1
  457. package/dist/tools/wait.js +9 -38
  458. package/dist/tools/wait.js.map +1 -1
  459. package/dist/tools/wda.js +187 -57
  460. package/dist/tools/wda.js.map +1 -1
  461. package/dist/version.js +31 -22
  462. package/dist/version.js.map +1 -1
  463. package/dist/visual/ocr.js +53 -6
  464. package/dist/visual/ocr.js.map +1 -1
  465. package/dist/visual/provider.js +80 -12
  466. package/dist/visual/provider.js.map +1 -1
  467. package/docs/README.md +24 -10
  468. package/docs/ci-reports.md +328 -0
  469. package/docs/concepts.md +227 -0
  470. package/docs/flows.md +153 -0
  471. package/docs/mcp-server.md +194 -128
  472. package/docs/physical-devices.md +84 -0
  473. package/docs/tools.md +812 -152
  474. package/package.json +3 -2
  475. package/dist/tools/assertVisual.js +0 -84
  476. package/dist/tools/assertVisual.js.map +0 -1
  477. package/dist/tools/automationGenerate.js.map +0 -1
  478. package/dist/tools/capabilities.js +0 -179
  479. package/dist/tools/capabilities.js.map +0 -1
  480. package/dist/tools/detectContext.js +0 -41
  481. package/dist/tools/detectContext.js.map +0 -1
  482. package/dist/tools/flowGenerate.js.map +0 -1
  483. package/dist/tools/history.js +0 -86
  484. package/dist/tools/history.js.map +0 -1
  485. package/dist/tools/locator.js +0 -85
  486. package/dist/tools/locator.js.map +0 -1
  487. package/dist/tools/permissions.js +0 -174
  488. package/dist/tools/permissions.js.map +0 -1
  489. package/dist/tools/plan.js +0 -52
  490. package/dist/tools/plan.js.map +0 -1
  491. package/dist/tools/screenInfo.js +0 -76
  492. package/dist/tools/screenInfo.js.map +0 -1
  493. package/dist/tools/seed.js +0 -133
  494. package/dist/tools/seed.js.map +0 -1
  495. package/dist/tools/state.js +0 -217
  496. package/dist/tools/state.js.map +0 -1
  497. package/dist/tools/visualText.js +0 -106
  498. package/dist/tools/visualText.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"wda.js","sourceRoot":"","sources":["../../src/tools/wda.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wda.js","sourceRoot":"","sources":["../../src/tools/wda.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EACL,QAAQ,EACR,uBAAuB,EACvB,4BAA4B,EAC5B,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAC;AACxC,OAAO,EACL,uBAAuB,EACvB,cAAc,EACd,UAAU,EACV,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,GAEzB,MAAM,+BAA+B,CAAC;AAGvC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA2C,CAAC;AAE5E,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7B,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;yCACyC;AACzC,SAAS,cAAc,CAAC,SAAiB;IACvC,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACjE,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnC,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,OAAO,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACnD,OAAO,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9F,CAAC;AAED;;yEAEyE;AACzE,MAAM,UAAU,mBAAmB,CAAC,OAAmC;IACrE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;SACrC,OAAO,EAAE;SACT,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC;IACxI,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,MAAM,CAAC,GAAG,CAAC,CAAC,MAAyG,CAAC;IACtH,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5D,IAAI,IAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC;QACrD,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,GAAG,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,GAAG,CAAC,OAAO,CAAC,CAAC,eAAe,KAAK,QAAQ,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7G,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1B,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,GAAG,gBAAgB,CAAC;AAEpC,SAAS,kBAAkB,CAAC,OAAgB;IAM1C,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;IAC9E,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC;IAClF,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC;IAClF,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;IACrF,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;AACxF,CAAC;AAED,SAAS,KAAK,CACZ,IAAY,EACZ,MAAc,EACd,QAAgB,EAChB,WAA2C,SAAS,EACpD,WAAoB;IAEpB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;AAC3D,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAwB;IAClD,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;QACvD,OAAO,uBAAuB,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,4BAA4B,CAAC,eAAuB;IAC3D,MAAM,QAAQ,GAAG,CAAC,CAAC;IACnB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,KAAK,GAA2C,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5F,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;QACzB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,GAAG,QAAQ;YAAE,SAAS;QACzD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,OAAiB,CAAC;QACtB,IAAI,CAAC;YACH,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC/B,IAAI,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;YACrH,IAAI,CAAC;gBACH,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;oBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/E,CAAC;YAAC,MAAM,CAAC;gBACP,mFAAmF;YACrF,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAiB,EAAE,QAAsB;IACnE,MAAM,CAAC,YAAY,CACjB,QAAQ,EACR;QACE,KAAK,EAAE,uCAAuC;QAC9C,WAAW,EACT,gHAAgH;YAChH,wHAAwH;YACxH,4GAA4G;QAC9G,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;YACrB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACpG,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+EAA+E,CAAC;YAClI,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;YACvG,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;YACnE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;YACvE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;YAC1G,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;YACzF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;YAClG,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;YACrG,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAChC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SAChC;KACF,EACD,KAAK,EAAE,EACL,SAAS,EACT,MAAM,EACN,iBAAiB,EACjB,MAAM,EACN,IAAI,EAAE,SAAS,EACf,QAAQ,EACR,cAAc,EACd,eAAe,EACf,MAAM,EACN,gBAAgB,EAChB,SAAS,EACT,OAAO,GACR,EAAE,EAAE;QACH,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO;YAAE,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACpD,kFAAkF;QAClF,IAAI,MAAM,IAAI,SAAS,IAAI,MAAM,KAAK,SAAS;YAC7C,OAAO,OAAO,CAAC;gBACb,IAAI,EAAE,uBAAuB,MAAM,eAAe,SAAS,yCAAyC;gBACpG,YAAY,EAAE,KAAK;gBACnB,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,kBAAkB;gBAC/B,SAAS,EAAE,CAAC,mBAAmB,CAAC;aACjC,CAAC,CAAC;QACL,MAAM,IAAI,GAAG,MAAM,IAAI,SAAS,CAAC;QAEjC,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,iBAAiB,IAAI,UAAU,CAAC,GAAG,CAAC;QAChD,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QACjC,4FAA4F;QAC5F,6FAA6F;QAC7F,uCAAuC;QACvC,MAAM,WAAW,GAAG,CAAC,QAAQ,IAAI,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,CAAC,QAAQ,IAAI,qBAAqB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACvE,IAAI,CAAC,QAAQ,IAAI,CAAC,gBAAgB,IAAI,CAAC,WAAW,EAAE,CAAC;YACnD,OAAO,OAAO,CAAC;gBACb,IAAI,EAAE,gCAAgC,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oDAAoD,EAAE;gBAC3H,YAAY,EAAE,KAAK;gBACnB,SAAS,EAAE,KAAK;gBAChB,WAAW,EAAE,qBAAqB;gBAClC,SAAS,EAAE;oBACT,0IAA0I,cAAc,6CAA6C;oBACrM,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,4FAA4F,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iBACtH;aACF,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YAClG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,OAAO,cAAc,CAAC;oBACpB,MAAM,EAAE,kBAAkB;oBAC1B,IAAI,EAAE,QAAQ;oBACd,YAAY,EAAE,gCAAgC,GAAG,EAAE;oBACnD,OAAO,EAAE,EAAE,GAAG,EAAE;oBAChB,OAAO,EAAE,uCAAuC,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oEAAoE,2HAA2H;iBAC/Q,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,CAAC,CAAqB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC7G,MAAM,mBAAmB,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;QACxD,yFAAyF;QACzF,iFAAiF;QACjF,MAAM,uBAAuB,GAC3B,CAAC,mBAAmB,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClH,MAAM,WAAW,GAAG,mBAAmB,IAAI,uBAAuB,CAAC;QACnE,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC;QACjH,MAAM,MAAM,GAAG,WAAW,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,eAAe,CAAC;QAC1E,qFAAqF;QACrF,oFAAoF;QACpF,MAAM,eAAe,GAAG,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;QACxE,MAAM,UAAU,GAAG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;QAC1C,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;YACtD,OAAO,OAAO,CAAC;gBACb,IAAI,EAAE,6DAA6D,OAAO,CAAC,MAAM,iCAAiC,IAAI,EAAE;gBACxH,YAAY,EAAE,KAAK;gBACnB,SAAS,EAAE,KAAK;gBAChB,WAAW,EAAE,kBAAkB;gBAC/B,SAAS,EAAE,CAAC,yFAAyF,CAAC;aACvG,CAAC,CAAC;QACL,CAAC;QAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,IAAI,OAAO,CAAC,SAAS;gBAAE,OAAO,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAC3D,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;YAC9E,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC1G,OAAO,IAAI,CACT;gBACE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC/E,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;gBACjG,iBAAiB,EAAE,cAAc,EAAE,GAAG,IAAI,IAAI;gBAC9C,iBAAiB,EAAE,cAAc,EAAE,GAAG,IAAI,IAAI;gBAC9C,iBAAiB,EAAE,cAAc,EAAE,GAAG,IAAI,IAAI;aAC/C,EACD,MAAM,CAAC,CAAC,CAAC,mBAAmB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,sCAAsC,CAClF,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,eAAe,GAAG,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAChE,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC1C,OAAO,IAAI,CACT,EAAE,iBAAiB,EAAE,GAAG,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,EAAE,EAChF,eAAe,CAAC,MAAM;gBACpB,CAAC,CAAC,gCAAgC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACrI,CAAC,CAAC,+DAA+D,CACpE,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,mFAAmF;gBACnF,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACpD,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,sBAAsB;gBAChH,IAAI,OAAO;oBAAE,wBAAwB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACnD,IAAI,OAAO,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;oBACpC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,gBAAgB,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC;oBACxE,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE;wBAC/B,IAAI,EAAE,QAAQ;wBACd,MAAM,EAAE,UAAU;wBAClB,IAAI,EAAE,KAAK;wBACX,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI,EAAE;wBACxF,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;wBAC5C,MAAM,EAAE,UAAU;wBAClB,MAAM,EAAE,eAAe,OAAO,EAAE;qBACjC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,mCAAmC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC7H,CAAC;gBACD,0FAA0F;gBAC1F,qFAAqF;gBACrF,MAAM,GAAG,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBACzC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBACnB,IAAI,OAAO;wBACT,OAAO,IAAI,CACT,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAC5D,mBAAmB,OAAO,CAAC,GAAG,gBAAgB,OAAO,EAAE,CACxD,CAAC;oBACJ,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,kDAAkD,CAAC,CAAC;gBACtF,CAAC;gBACD,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,gBAAgB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;gBAC5F,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE;oBAC/B,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,UAAU;oBAClB,IAAI,EAAE,KAAK;oBACX,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,GAAI,CAAC,WAAW,EAAE,IAAI,EAAE,GAAI,CAAC,IAAI,EAAE;oBACzF,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAC5C,MAAM,EAAE,UAAU;oBAClB,MAAM,EAAE,mEAAmE;iBAC5E,CAAC,CAAC;gBACH,OAAO,IAAI,CACT,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,EAChE,2BAA2B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,oEAAoE,CACjH,CAAC;YACJ,CAAC;YACD,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,kBAAkB;YACpB,CAAC;YACD,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACpC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAC3D,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE;gBAC/B,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,UAAU;gBAClB,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;gBAC9C,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC5C,MAAM,EAAE,UAAU;aACnB,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,2BAA2B,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5G,CAAC;QAED,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,OAAO,CAAC;oBACb,IAAI,EAAE,UAAU,MAAM,mCAAmC;oBACzD,YAAY,EAAE,KAAK;oBACnB,SAAS,EAAE,IAAI;oBACf,WAAW,EAAE,WAAW;oBACxB,SAAS,EAAE,CAAC,sEAAsE,CAAC;iBACpF,CAAC,CAAC;YACL,CAAC;YACD,IAAI,MAAM,KAAK,OAAO,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACrC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC;gBACjD,QAAQ,CAAC,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,EAAE,YAAY,CAAC,CAAC;gBAC3E,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACzC,OAAO,IAAI,CACT;wBACE,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE,IAAI;wBACZ,KAAK,EAAE,IAAI;wBACX,iBAAiB,EAAE,GAAG;wBACtB,IAAI,EAAE,UAAU;wBAChB,GAAG,EAAE,QAAQ;wBACb,SAAS,EAAE,eAAe;wBAC1B,YAAY;qBACb,EACD,0BAA0B,GAAG,0CAA0C,CACxE,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,yFAAyF;YACzF,0FAA0F;YAC1F,MAAM,OAAO,GAAG,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5E,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,OAAO,CACZ;oBACE,IAAI,EAAE,sBAAsB,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,EAAE,uCAAuC;oBAC9I,YAAY,EAAE,KAAK;oBACnB,SAAS,EAAE,IAAI;oBACf,WAAW,EAAE,kBAAkB;oBAC/B,SAAS,EAAE,CAAC,yFAAyF,CAAC;iBACvG,EACD,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAC9E,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,cAAc,EAAE,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBACrB,OAAO,OAAO,CACZ;oBACE,IAAI,EAAE,0CAA0C;oBAChD,YAAY,EAAE,KAAK;oBACnB,SAAS,EAAE,IAAI;oBACf,WAAW,EAAE,qBAAqB;oBAClC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,gDAAgD,CAAC;iBAC7E,EACD,EAAE,KAAK,EAAE,CACV,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC7C,OAAO,OAAO,CACZ;oBACE,IAAI,EAAE,UAAU,MAAM,+DAA+D;oBACrF,YAAY,EAAE,KAAK;oBACnB,SAAS,EAAE,IAAI;oBACf,WAAW,EAAE,aAAa;oBAC1B,SAAS,EAAE;wBACT,kLAAkL;qBACnL;iBACF,EACD,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,IAAI,IAAI,EAAE,gBAAgB,EAAE,CACjE,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,GACR,MAAM,KAAK,OAAO;gBAChB,CAAC,CAAC,mBAAmB,CAAC;oBAClB,WAAW;oBACX,IAAI,EAAE,UAAU;oBAChB,eAAe,EAAE,MAAM;oBACvB,MAAM;oBACN,eAAe,EAAE,UAAU,CAAC,eAAe;iBAC5C,CAAC;gBACJ,CAAC,CAAC,mBAAmB,CAAC;oBAClB,WAAW;oBACX,IAAI,EAAE,UAAU;oBAChB,eAAe,EAAE,MAAM;oBACvB,MAAM;oBACN,eAAe,EAAE,UAAU,CAAC,eAAe;iBAC5C,CAAC,CAAC;YACT,MAAM,IAAI,GAAG,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;YACzH,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE;oBAC/B,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,OAAO,MAAM,EAAE;oBACvB,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,EAAE;oBAC1F,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;oBAC5C,MAAM,EAAE,WAAW;iBACpB,CAAC,CAAC;gBACH,OAAO,cAAc,CAAC;oBACpB,MAAM,EAAE,OAAO,MAAM,EAAE;oBACvB,IAAI,EAAE,QAAQ;oBACd,YAAY,EAAE,cAAc,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;oBAC5C,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE;oBAC1C,OAAO,EAAE,GAAG,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,0FAA0F;iBAC7I,CAAC,CAAC;YACL,CAAC;YACD,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE;gBAC/B,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,OAAO,MAAM,EAAE;gBACvB,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,EAAE;gBAC1F,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACtD,MAAM,EAAE,UAAU;aACnB,CAAC,CAAC;YACH,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBACvB,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;gBAC/C,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC/D,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;gBAC7C,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;gBACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAClC,OAAO,EACP,KAAK,EACL,aAAa,IAAI,CAAC,GAAG,EAAE,MAAM,EAC7B,GAAG,EACH,YAAY,EACZ,aAAa,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CACnD,CAAC;gBACF,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,WAAW,IAAI,UAAU,EAAE,CAAC,CAAC;gBACzE,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;oBACjB,MAAM,WAAW,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;oBACjD,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE;wBAC/B,IAAI,EAAE,QAAQ;wBACd,MAAM,EAAE,WAAW;wBACnB,IAAI,EAAE,QAAQ;wBACd,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,EAAE;wBAC1F,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;wBACtD,MAAM,EAAE,SAAS;wBACjB,SAAS,EAAE,MAAM;wBACjB,MAAM,EAAE,GAAG,WAAW,UAAU,CAAC,CAAC,IAAI,EAAE;qBACzC,CAAC,CAAC;oBACH,OAAO,OAAO,CACZ;wBACE,IAAI,EACF,WAAW,KAAK,oBAAoB;4BAClC,CAAC,CAAC,6CAA6C,CAAC,CAAC,IAAI,EAAE;4BACvD,CAAC,CAAC,8BAA8B,CAAC,CAAC,IAAI,EAAE;wBAC5C,YAAY,EAAE,IAAI;wBAClB,SAAS,EAAE,WAAW,KAAK,oBAAoB;wBAC/C,WAAW;wBACX,WAAW,EAAE,MAAM;wBACnB,SAAS,EACP,WAAW,KAAK,oBAAoB;4BAClC,CAAC,CAAC;gCACE,kIAAkI;6BACnI;4BACH,CAAC,CAAC,CAAC,yEAAyE,CAAC;qBAClF,EACD,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CACxC,CAAC;gBACJ,CAAC;gBACD,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE;oBAC/B,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,WAAW;oBACnB,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,EAAE;oBAC1F,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;oBACtD,MAAM,EAAE,UAAU;oBAClB,SAAS,EAAE,MAAM;iBAClB,CAAC,CAAC;gBACH,MAAM,eAAe,GAAG,4BAA4B,CAAC,MAAM,CAAC,CAAC;gBAC7D,OAAO,IAAI,CACT;oBACE,KAAK,EAAE,IAAI;oBACX,MAAM;oBACN,KAAK;oBACL,OAAO,EAAE,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC;oBAChC,SAAS,EAAE,eAAe;oBAC1B,cAAc,EAAE,WAAW;oBAC3B,gBAAgB;oBAChB,eAAe,EAAE,MAAM;oBACvB,eAAe;iBAChB,EACD,wBAAwB,gBAAgB,KAAK,mBAAmB,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,EAAE,GAAG,WAAW,OAAO,MAAM,EAAE,CACnI,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;YACvH,MAAM,GAAG,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAE,CAAC;YAC3C,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACvC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;YAC/C,IAAI,KAAK,CAAC;YACV,IAAI,CAAC;gBACH,KAAK,GAAG,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YACnF,CAAC;oBAAS,CAAC;gBACT,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,sEAAsE;YACvF,CAAC;YACD,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YAC7C,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,gEAAgE;YACpG,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YACnE,0FAA0F;YAC1F,sBAAsB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;YACxE,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,iBAAiB,KAAK,CAAC,GAAG,IAAI,SAAS,IAAI,WAAW,IAAI,UAAU,EAAE,CAAC,CAAC;YACvG,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE;gBAC/B,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,WAAW;gBACnB,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE;oBACN,IAAI,EAAE,UAAU;oBAChB,WAAW;oBACX,eAAe,EAAE,MAAM;oBACvB,MAAM,EAAE,MAAM,IAAI,IAAI;oBACtB,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,IAAI;oBACtB,iBAAiB,EAAE,GAAG;iBACvB;gBACD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACtD,MAAM,EAAE,UAAU;gBAClB,SAAS,EAAE,MAAM;gBACjB,MAAM,EAAE,6BAA6B;aACtC,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;YACvE,QAAQ,CAAC,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YACjF,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAClB,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE;oBAC/B,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,WAAW;oBACnB,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE;wBACN,IAAI,EAAE,UAAU;wBAChB,WAAW;wBACX,eAAe,EAAE,MAAM;wBACvB,MAAM,EAAE,MAAM,IAAI,IAAI;wBACtB,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,IAAI;wBACtB,iBAAiB,EAAE,GAAG;qBACvB;oBACD,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;oBACtD,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,MAAM;oBACjB,MAAM,EAAE,uBAAuB,UAAU,CAAC,gBAAgB,IAAI;iBAC/D,CAAC,CAAC;gBACH,OAAO,OAAO,CACZ;oBACE,IAAI,EAAE,uCAAuC,GAAG,WAAW,UAAU,CAAC,gBAAgB,IAAI;oBAC1F,YAAY,EAAE,IAAI;oBAClB,SAAS,EAAE,IAAI;oBACf,WAAW,EAAE,kBAAkB;oBAC/B,WAAW,EAAE,MAAM;oBACnB,SAAS,EAAE;wBACT,mLAAmL;qBACpL;iBACF,EACD;oBACE,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,KAAK;oBACZ,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,IAAI;oBACtB,MAAM;oBACN,iBAAiB,EAAE,GAAG;oBACtB,OAAO,EAAE,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC;oBAChC,SAAS,EAAE,eAAe;oBAC1B,GAAG,EAAE,MAAM,CAAC,MAAM;oBAClB,aAAa,EAAE,MAAM,CAAC,UAAU;iBACjC,CACF,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CACT;gBACE,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,IAAI;gBACX,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,IAAI;gBACtB,MAAM;gBACN,iBAAiB,EAAE,GAAG;gBACtB,cAAc,EAAE,WAAW;gBAC3B,gBAAgB;gBAChB,OAAO,EAAE,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC;gBAChC,SAAS,EAAE,eAAe;gBAC1B,GAAG,EAAE,MAAM,CAAC,MAAM;gBAClB,aAAa,EAAE,MAAM,CAAC,UAAU;aACjC,EACD,2BAA2B,KAAK,CAAC,GAAG,IAAI,SAAS,2BAA2B,MAAM,wBAAwB,CAC3G,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,MAAM,cAAc,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC;QAClD,MAAM,KAAK,GAAG,QAAQ,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC;QAChD,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAChG,wFAAwF;QACxF,kFAAkF;QAClF,MAAM,eAAe,GACnB,UAAU,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,WAAW,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrH,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;QACxE,IAAI,YAAY,GAAmB,IAAI,CAAC;QACxC,IAAI,UAAU,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;YACpC,YAAY,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,IAAI,GAAG;YACX,YAAY,EAAE,OAAO,CAAC,QAAQ;YAC9B,KAAK;YACL,aAAa,EAAE,UAAU;YACzB,QAAQ,EAAE,KAAK;YACf,iBAAiB,EAAE,GAAG;YACtB,GAAG,EAAE,MAAM;YACX,SAAS,EAAE,eAAe;YAC1B,mBAAmB;YACnB,OAAO,EAAE,gBAAgB,CAAC,UAAU,CAAC;YACrC,eAAe;YACf,aAAa,EAAE,OAAO,CAAC,MAAM,YAAY,SAAS;YAClD,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,IAAI,IAAI;YACxC,YAAY;YACZ,eAAe,EAAE,QAAQ;YACzB,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACnG,cAAc,EAAE,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,IAAI;YACxD,YAAY,EAAE,eAAe,CAAC,SAAS,EAAE,GAAG,IAAI,IAAI;YACpD,iBAAiB,EAAE,eAAe,CAAC,cAAc,EAAE,GAAG,IAAI,IAAI;YAC9D,iBAAiB,EAAE,eAAe,CAAC,cAAc,EAAE,GAAG,IAAI,IAAI;YAC9D,iBAAiB,EAAE,eAAe,CAAC,cAAc,EAAE,GAAG,IAAI,IAAI;YAC9D,MAAM,EAAE,EAAE,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,eAAe,EAAE,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE;SACzG,CAAC;QAEF,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YACxE,MAAM,MAAM,GAAyB,EAAE,CAAC;YACxC,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,WAAW,CAAC;YACpE,IAAI,YAAY,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;gBAC/C,MAAM,CAAC,IAAI,CACT,KAAK,CAAC,kBAAkB,EAAE,mCAAmC,EAAE,2DAA2D,CAAC,CAC5H,CAAC;YACJ,IAAI,YAAY,IAAI,CAAC,KAAK,CAAC,SAAS;gBAClC,MAAM,CAAC,IAAI,CACT,KAAK,CACH,mBAAmB,EACnB,2BAA2B,EAC3B,KAAK,CAAC,KAAK,IAAI,qEAAqE,CACrF,CACF,CAAC;YACJ,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ;gBAC5C,MAAM,CAAC,IAAI,CACT,KAAK,CACH,oBAAoB,EACpB,6BAA6B,EAC7B,mFAAmF,CACpF,CACF,CAAC;YACJ,IAAI,CAAC,UAAU,IAAI,QAAQ,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvD,MAAM,CAAC,IAAI,CACT,KAAK,CACH,+BAA+B,EAC/B,6DAA6D,EAC7D,kGAAkG,EAClG,SAAS,EACT,2BAA2B,CAC5B,CACF,CAAC;YACJ,CAAC;iBAAM,IAAI,CAAC,UAAU,IAAI,QAAQ,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpE,MAAM,CAAC,IAAI,CACT,KAAK,CACH,qBAAqB,EACrB,sCAAsC,EACtC,6FAA6F,CAC9F,CACF,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,UAAU;gBACb,MAAM,CAAC,IAAI,CACT,KAAK,CACH,SAAS,EACT,mDAAmD,EACnD,sEAAsE,CACvE,CACF,CAAC;YACJ,sFAAsF;YACtF,MAAM,UAAU,GAAG,YAAY,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7F,IAAI,YAAY,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC9E,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACrD,MAAM,CAAC,IAAI,CACT,KAAK,CACH,qBAAqB,EACrB,UAAU;oBACR,CAAC,CAAC,0DAA0D,UAAU,EAAE;oBACxE,CAAC,CAAC,sFAAsF,EAC1F,UAAU;oBACR,CAAC,CAAC,yBAAyB,UAAU,sEAAsE;oBAC3G,CAAC,CAAC,2FAA2F,CAChG,CACF,CAAC;YACJ,CAAC;YACD,IAAI,YAAY,IAAI,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,eAAe,IAAI,CAAC,eAAe,CAAC,KAAK;gBACrG,MAAM,CAAC,IAAI,CACT,KAAK,CACH,eAAe,EACf,gEAAgE,eAAe,CAAC,WAAW,EAAE,EAC7F,sHAAsH,CACvH,CACF,CAAC;YACJ,IAAI,YAAY,IAAI,CAAC,UAAU,CAAC,eAAe;gBAC7C,MAAM,CAAC,IAAI,CACT,KAAK,CACH,0BAA0B,EAC1B,2DAA2D,EAC3D,oHAAoH,EACpH,MAAM,CACP,CACF,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,SAAS;gBACnB,MAAM,CAAC,IAAI,CACT,KAAK,CACH,wBAAwB,EACxB,gCAAgC,GAAG,EAAE,EACrC,6EAA6E,CAC9E,CACF,CAAC;iBACC,IAAI,CAAC,MAAM,CAAC,KAAK;gBACpB,MAAM,CAAC,IAAI,CACT,KAAK,CACH,eAAe,EACf,MAAM,CAAC,OAAO,IAAI,oBAAoB,GAAG,2BAA2B,EACpE,mDAAmD,EACnD,MAAM,CACP,CACF,CAAC;YACJ,IAAI,CAAC,KAAK;gBACR,MAAM,CAAC,IAAI,CACT,KAAK,CACH,cAAc,EACd,yDAAyD,EACzD,0EAA0E,CAC3E,CACF,CAAC;YACJ,IAAI,YAAY,KAAK,KAAK;gBACxB,MAAM,CAAC,IAAI,CACT,KAAK,CACH,mBAAmB,EACnB,aAAa,KAAK,wBAAwB,UAAU,EAAE,EACtD,+EAA+E,CAChF,CACF,CAAC;YACJ,IAAI,eAAe,CAAC,cAAc,EAAE,CAAC;gBACnC,MAAM,WAAW,GAAG,kBAAkB,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAC5E,IAAI,WAAW,KAAK,oBAAoB,EAAE,CAAC;oBACzC,MAAM,CAAC,IAAI,CACT,KAAK,CACH,oBAAoB,EACpB,+DAA+D,eAAe,CAAC,cAAc,CAAC,GAAG,EAAE,EACnG,oFAAoF,EACpF,SAAS,EACT,WAAW,CACZ,CACF,CAAC;gBACJ,CAAC;qBAAM,IAAI,WAAW,KAAK,kBAAkB,EAAE,CAAC;oBAC9C,MAAM,CAAC,IAAI,CACT,KAAK,CACH,kBAAkB,EAClB,qDAAqD,eAAe,CAAC,cAAc,CAAC,GAAG,EAAE,EACzF,sFAAsF,EACtF,SAAS,EACT,WAAW,CACZ,CACF,CAAC;gBACJ,CAAC;gBACD,MAAM,CAAC,IAAI,CACT,KAAK,CACH,oBAAoB,EACpB,kCAAkC,eAAe,CAAC,cAAc,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAC/G,uEAAuE,EACvE,MAAM,EACN,WAAW,CACZ,CACF,CAAC;YACJ,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;YAChE,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM;gBAC3B,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC5H,CAAC,CAAC,OAAO,MAAM,cAAc,GAAG,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACrF,CAAC;QAED,SAAS;QACT,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,OAAO,CACZ;gBACE,IAAI,EAAE,8DAA8D;gBACpE,YAAY,EAAE,KAAK;gBACnB,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,kBAAkB;gBAC/B,SAAS,EAAE;oBACT,6HAA6H;iBAC9H;aACF,EACD,IAAI,CACL,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,OAAO,CACZ;gBACE,IAAI,EAAE,6BAA6B,GAAG,EAAE;gBACxC,YAAY,EAAE,KAAK;gBACnB,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,4BAA4B,CAAC,MAAM,CAAC,KAAK,IAAI,aAAa,CAAC;gBACxE,SAAS,EAAE,CAAC,sFAAsF,CAAC;aACpG,EACD,IAAI,CACL,CAAC;QACJ,CAAC;QACD,IAAI,CAAC;YACH,MAAM,cAAc,GAAG;gBACrB,QAAQ,EAAE,KAAK,IAAI,SAAS;gBAC5B,IAAI,EAAE,UAAU;gBAChB,YAAY,EAAE,UAAU,CAAC,YAAY;gBACrC,QAAQ,EAAE,UAAU,CAAC,QAAQ;aAC9B,CAAC;YACF,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACjC,IAAI,OAAqD,CAAC;YAC1D,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YACxD,CAAC;oBAAS,CAAC;gBACT,eAAe,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,EAAE,QAAQ,CAAC,CAAC;YACnF,CAAC;YACD,MAAM,cAAc,GAAG,sBAAsB,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAChF,IAAI,cAAc,EAAE,CAAC;gBACnB,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE;oBAC/B,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,YAAY;oBACpB,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,EAAE,iBAAiB,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,IAAI,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE;oBAC7G,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,IAAI,WAAW,IAAI,CAAC,CAAC,OAAO,EAAE;oBAC3G,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,iCAAiC;iBAC1C,CAAC,CAAC;gBACH,OAAO,OAAO,CACZ;oBACE,IAAI,EAAE,kDAAkD,cAAc,gCAAgC,UAAU,EAAE;oBAClH,YAAY,EAAE,KAAK;oBACnB,SAAS,EAAE,KAAK;oBAChB,WAAW,EAAE,kBAAkB;oBAC/B,SAAS,EAAE,CAAC,8EAA8E,CAAC;iBAC5F,EACD,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,SAAS,EAAE,CACzF,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE;gBAChC,GAAG,cAAc;gBACjB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC;aACrE,CAAC,CAAC;YACH,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;YACxB,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC;YAC5B,IAAI,KAAK;gBAAE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;YACjC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC1B,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7E,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE;gBAC/B,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE;oBACN,iBAAiB,EAAE,GAAG;oBACtB,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,KAAK,IAAI,IAAI;oBACvB,YAAY,EAAE,OAAO,CAAC,SAAS;oBAC/B,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI;iBAC3C;gBACD,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC3E,MAAM,EAAE,UAAU;aACnB,CAAC,CAAC;YACH,OAAO,IAAI,CACT,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI,EAAE,EAC7G,0CAA0C,GAAG,sFAAsF,CACpI,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,WAAW,GAAG,4BAA4B,CAAC,MAAM,CAAE,CAAW,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;YACpF,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE;gBAC/B,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,EAAE,iBAAiB,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,IAAI,IAAI,EAAE;gBAC7E,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,IAAI,WAAW,IAAI,CAAC,CAAC,OAAO,EAAE;gBAC3G,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,MAAM,CAAE,CAAW,CAAC,OAAO,IAAI,CAAC,CAAC;aAC1C,CAAC,CAAC;YACH,OAAO,OAAO,CACZ;gBACE,IAAI,EAAE,gCAAgC,MAAM,CAAE,CAAW,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE;gBACzE,YAAY,EAAE,KAAK;gBACnB,SAAS,EAAE,IAAI;gBACf,WAAW;gBACX,SAAS,EAAE,CAAC,mGAAmG,CAAC;aACjH,EACD,IAAI,CACL,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
package/dist/version.js CHANGED
@@ -1,31 +1,28 @@
1
1
  // Single source of truth for the Swipium version and the public tool surface. Used by the
2
- // server identity, qa_doctor / qa_start_session, qa_capabilities, and `swipium verify`.
3
- export const SWIPIUM_VERSION = '1.5.0';
2
+ // server identity, qa_doctor / qa_start_session, qa_status orientation, and `swipium verify`.
3
+ export const SWIPIUM_VERSION = '2.0.1';
4
4
  export const TOOL_NAMES = [
5
- 'qa_agent_brief',
6
- 'qa_capabilities',
5
+ // Start: autopilot, orientation, polling, blockers, artifacts
7
6
  'qa_test_this',
7
+ 'qa_status',
8
8
  'qa_job_status',
9
9
  'qa_job_cancel',
10
- 'qa_status',
11
10
  'qa_explain_blocker',
12
11
  'qa_continue_from_blocker',
13
- 'qa_next_best_action',
14
12
  'qa_get_artifact',
13
+ // Setup
15
14
  'qa_doctor',
16
15
  'qa_start_session',
17
- 'qa_detect_context',
18
- 'qa_plan',
19
16
  'qa_prepare_target',
20
17
  'qa_prepare_ios_target',
21
18
  'qa_ios',
22
19
  'qa_wda',
23
- // Local build + artifact resolution (REQ "test this app")
20
+ // Local build + artifact resolution
24
21
  'qa_resolve_target',
25
22
  'qa_resolve_artifact',
26
23
  'qa_build',
27
24
  'qa_bundletool',
28
- // Device / app environment parity (Phase 5)
25
+ // Device / app environment
29
26
  'qa_device_info',
30
27
  'qa_orientation',
31
28
  'qa_geolocation',
@@ -33,6 +30,7 @@ export const TOOL_NAMES = [
33
30
  'qa_metro',
34
31
  'qa_app_control',
35
32
  'qa_screen_record',
33
+ // Drive: observe, act, assert
36
34
  'qa_snapshot',
37
35
  'qa_inspect',
38
36
  'qa_act',
@@ -40,40 +38,41 @@ export const TOOL_NAMES = [
40
38
  'qa_check_health',
41
39
  'qa_screenshot',
42
40
  'qa_note',
43
- 'qa_assert_visual',
44
- // Agent-efficiency helpers (Phase 7)
41
+ 'qa_visual',
45
42
  'qa_wait',
43
+ // Run
46
44
  'qa_smoke',
47
45
  'qa_explore',
48
46
  'qa_report',
47
+ // App knowledge map
49
48
  'qa_app_map_build',
50
49
  'qa_app_map_read',
51
50
  'qa_app_map_query',
52
51
  'qa_app_map_feature_scope',
53
52
  'qa_app_map_update',
54
- // Feature-focused testing (REQ-03: "test the X feature")
53
+ // Feature-focused testing
55
54
  'qa_test_feature',
56
- // Repeatable flow system (Phase 4)
55
+ // Repeatable flows
57
56
  'qa_flow_check',
58
57
  'qa_flow_run',
59
58
  'qa_flow_compile',
60
59
  'qa_flow_repair',
61
- // Per-run asset generation from recorded actions (1.5.0 consolidation)
60
+ // Per-run asset generation from recorded actions
62
61
  'qa_generate',
63
- // Persistent test suite (REQ-06, durable .swipium/test-suite.json)
62
+ // Persistent test suite (.swipium/test-suite.json)
64
63
  'qa_suite_read',
65
64
  'qa_suite_update',
66
65
  'qa_suite_generate',
67
66
  'qa_suite_export',
68
67
  'qa_suite_lint',
69
68
  'qa_first_run',
70
- // Durable issue memory + executable mobile audit (REQ-07/08)
69
+ // Durable issue memory + executable mobile audit
71
70
  'qa_issue_log',
72
71
  'qa_mobile_audit',
73
72
  ];
74
73
  export const TOOL_COUNT = TOOL_NAMES.length;
75
74
  export const TOOL_NAME_SET = new Set(TOOL_NAMES);
76
- /** MCP prompts (reusable workflow templates) — PHASE3-PLAN §3.3. */
75
+ /** MCP prompts (reusable workflow templates). */
77
76
  export const PROMPT_NAMES = [
78
77
  'swipium_setup_check',
79
78
  'swipium_guardrail_validation',
@@ -82,10 +81,20 @@ export const PROMPT_NAMES = [
82
81
  'swipium_convert_run_to_flow',
83
82
  ];
84
83
  export const PROMPT_COUNT = PROMPT_NAMES.length;
84
+ /** Tools removed from the public surface, mapped to their replacement. Shown in the stale-client
85
+ * hint so an agent that still sees (or remembers) an old name knows the call to use instead. */
86
+ export const REMOVED_TOOLS = {
87
+ qa_agent_brief: 'server instructions + qa_status (no sessionId)',
88
+ qa_capabilities: 'qa_status (no sessionId): capability groups',
89
+ qa_next_best_action: 'qa_status { sessionId, goal? } > nextBestAction',
90
+ qa_detect_context: 'qa_resolve_target { include: ["context"] }',
91
+ qa_plan: 'qa_resolve_target { sessionId, include: ["plan"] }',
92
+ qa_assert_visual: 'qa_visual { mode: "assert", assertion, pass? }',
93
+ };
85
94
  /** Shown when a client may be running an older build than what's installed on disk. */
86
95
  export const STALE_CLIENT_HINT = `Swipium v${SWIPIUM_VERSION} exposes ${TOOL_COUNT} tools + ${PROMPT_COUNT} prompts. If your MCP client lists a ` +
87
- `different set (e.g. qa_generate / qa_first_run / qa_flow_compile / qa_test_feature missing, or tools ` +
88
- `removed or merged in the 1.5.0 consolidation still present — including the old _plan/_run/_continue twins ` +
89
- `now folded into qa_build, qa_flow_run, and qa_first_run), it is running a server spawned before the upgrade. ` +
90
- `Restart the client to reload Swipium.`;
96
+ `different set, it is running a server spawned before the upgrade. Signs: it still shows ` +
97
+ `${Object.keys(REMOVED_TOOLS).join(' / ')} (replaced by qa_status, qa_resolve_target include:[…] and ` +
98
+ `qa_visual mode:"assert"), or qa_ios wda_* / screenshot actions (use qa_wda / qa_screenshot), or ` +
99
+ `qa_wait for:"job_done" (use qa_job_status waitMs). Restart the client to reload Swipium.`;
91
100
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,wFAAwF;AAExF,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC;AAEvC,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,gBAAgB;IAChB,iBAAiB;IACjB,cAAc;IACd,eAAe;IACf,eAAe;IACf,WAAW;IACX,oBAAoB;IACpB,0BAA0B;IAC1B,qBAAqB;IACrB,iBAAiB;IACjB,WAAW;IACX,kBAAkB;IAClB,mBAAmB;IACnB,SAAS;IACT,mBAAmB;IACnB,uBAAuB;IACvB,QAAQ;IACR,QAAQ;IACR,0DAA0D;IAC1D,mBAAmB;IACnB,qBAAqB;IACrB,UAAU;IACV,eAAe;IACf,4CAA4C;IAC5C,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,YAAY;IACZ,UAAU;IACV,gBAAgB;IAChB,kBAAkB;IAClB,aAAa;IACb,YAAY;IACZ,QAAQ;IACR,kBAAkB;IAClB,iBAAiB;IACjB,eAAe;IACf,SAAS;IACT,kBAAkB;IAClB,qCAAqC;IACrC,SAAS;IACT,UAAU;IACV,YAAY;IACZ,WAAW;IACX,kBAAkB;IAClB,iBAAiB;IACjB,kBAAkB;IAClB,0BAA0B;IAC1B,mBAAmB;IACnB,yDAAyD;IACzD,iBAAiB;IACjB,mCAAmC;IACnC,eAAe;IACf,aAAa;IACb,iBAAiB;IACjB,gBAAgB;IAChB,uEAAuE;IACvE,aAAa;IACb,mEAAmE;IACnE,eAAe;IACf,iBAAiB;IACjB,mBAAmB;IACnB,iBAAiB;IACjB,eAAe;IACf,cAAc;IACd,6DAA6D;IAC7D,cAAc;IACd,iBAAiB;CACT,CAAC;AAEX,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;AAC5C,MAAM,CAAC,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;AAEtE,oEAAoE;AACpE,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,qBAAqB;IACrB,8BAA8B;IAC9B,oBAAoB;IACpB,mBAAmB;IACnB,6BAA6B;CACrB,CAAC;AAEX,MAAM,CAAC,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC;AAEhD,uFAAuF;AACvF,MAAM,CAAC,MAAM,iBAAiB,GAC5B,YAAY,eAAe,YAAY,UAAU,YAAY,YAAY,uCAAuC;IAChH,uGAAuG;IACvG,4GAA4G;IAC5G,+GAA+G;IAC/G,uCAAuC,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,8FAA8F;AAE9F,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC;AAEvC,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,8DAA8D;IAC9D,cAAc;IACd,WAAW;IACX,eAAe;IACf,eAAe;IACf,oBAAoB;IACpB,0BAA0B;IAC1B,iBAAiB;IACjB,QAAQ;IACR,WAAW;IACX,kBAAkB;IAClB,mBAAmB;IACnB,uBAAuB;IACvB,QAAQ;IACR,QAAQ;IACR,oCAAoC;IACpC,mBAAmB;IACnB,qBAAqB;IACrB,UAAU;IACV,eAAe;IACf,2BAA2B;IAC3B,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,YAAY;IACZ,UAAU;IACV,gBAAgB;IAChB,kBAAkB;IAClB,8BAA8B;IAC9B,aAAa;IACb,YAAY;IACZ,QAAQ;IACR,kBAAkB;IAClB,iBAAiB;IACjB,eAAe;IACf,SAAS;IACT,WAAW;IACX,SAAS;IACT,MAAM;IACN,UAAU;IACV,YAAY;IACZ,WAAW;IACX,oBAAoB;IACpB,kBAAkB;IAClB,iBAAiB;IACjB,kBAAkB;IAClB,0BAA0B;IAC1B,mBAAmB;IACnB,0BAA0B;IAC1B,iBAAiB;IACjB,mBAAmB;IACnB,eAAe;IACf,aAAa;IACb,iBAAiB;IACjB,gBAAgB;IAChB,iDAAiD;IACjD,aAAa;IACb,mDAAmD;IACnD,eAAe;IACf,iBAAiB;IACjB,mBAAmB;IACnB,iBAAiB;IACjB,eAAe;IACf,cAAc;IACd,iDAAiD;IACjD,cAAc;IACd,iBAAiB;CACT,CAAC;AAIX,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;AAC5C,MAAM,CAAC,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;AAEtE,iDAAiD;AACjD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,qBAAqB;IACrB,8BAA8B;IAC9B,oBAAoB;IACpB,mBAAmB;IACnB,6BAA6B;CACrB,CAAC;AAEX,MAAM,CAAC,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC;AAEhD;gGACgG;AAChG,MAAM,CAAC,MAAM,aAAa,GAAqC;IAC7D,cAAc,EAAE,gDAAgD;IAChE,eAAe,EAAE,6CAA6C;IAC9D,mBAAmB,EAAE,iDAAiD;IACtE,iBAAiB,EAAE,4CAA4C;IAC/D,OAAO,EAAE,oDAAoD;IAC7D,gBAAgB,EAAE,gDAAgD;CACnE,CAAC;AAEF,uFAAuF;AACvF,MAAM,CAAC,MAAM,iBAAiB,GAC5B,YAAY,eAAe,YAAY,UAAU,YAAY,YAAY,uCAAuC;IAChH,0FAA0F;IAC1F,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,6DAA6D;IACtG,kGAAkG;IAClG,0FAA0F,CAAC"}
@@ -1,13 +1,54 @@
1
1
  import { rmSync, writeFileSync } from 'node:fs';
2
- import { tmpdir } from 'node:os';
3
2
  import { join } from 'node:path';
4
3
  import { loadProjectConfig } from '../cli/scan.js';
5
4
  import { captureCoordinateSpace, toDevicePoint } from '../lib/coordSpace.js';
6
- import { maskScreenshotForProvider, runVisualProvider } from './provider.js';
5
+ import { makeProviderWorkDir, maskScreenshotForProvider, runVisualProvider, } from './provider.js';
6
+ /**
7
+ * The local OCR provider contract (what `find_text` needs; no provider is bundled):
8
+ * - Configure `ocrCommand` in .swipium/config.json: an argv array (preferred), a string
9
+ * (deprecated, shell-split), or { command, io: "argv" | "json", timeoutMs }. Or use the
10
+ * SWIPIUM_OCR_CMD env var (a string). Project config wins over the env var.
11
+ * - `{image}` in the argv is replaced with the path of a PNG screenshot (already masked when
12
+ * visualMaskCommand is configured). With io:"json" the command ALSO receives one JSON line on
13
+ * stdin: { schema: "swipium.visual.provider.v1", task: "ocr", imagePath, coordinateSpace, masking }.
14
+ * - stdout must be JSON: either an array of regions or { text?, regions: [...] }, where each
15
+ * region is { text: string, confidence: 0..1, bbox: { x, y, width, height } } in SCREENSHOT
16
+ * PIXELS (top-left origin). Line-level regions work best (find_text matches a case-insensitive
17
+ * substring of one region). Non-JSON stdout is kept as plain text with no regions, so nothing
18
+ * can be located. Default timeout 30 s; Git executables are refused.
19
+ * - The command runs with cwd = the project root (relative argv such as ".swipium/ocr_tesseract.py"
20
+ * resolves there). A non-zero exit or timeout is a typed OCR_PROVIDER_FAILED failure carrying the
21
+ * exit code and trimmed (redacted) stderr, never a silent "found: false".
22
+ */
23
+ export const OCR_PROVIDER_CONTRACT = 'ocrCommand (.swipium/config.json, argv array with an {image} placeholder; or env SWIPIUM_OCR_CMD) is run on a PNG screenshot and must ' +
24
+ 'print JSON to stdout: [{"text":"Log in","confidence":0.97,"bbox":{"x":53,"y":182,"width":104,"height":38}}] (or {"regions":[...]}). ' +
25
+ 'Bbox in screenshot pixels, confidence 0..1, one region per text line. Optional {command, io:"json", timeoutMs} form also sends a ' +
26
+ 'swipium.visual.provider.v1 JSON line on stdin. Runs with cwd = project root; non-zero exit > OCR_PROVIDER_FAILED. Timeout 30 s.';
27
+ /** A verified tesseract-based provider: groups tesseract's word TSV into line regions. Save as
28
+ * e.g. .swipium/ocr_tesseract.py and set ocrCommand to ["python3", ".swipium/ocr_tesseract.py", "{image}"]. */
29
+ export const TESSERACT_OCR_EXAMPLE = `import csv, json, subprocess, sys
30
+ tsv = subprocess.run(['tesseract', sys.argv[1], 'stdout', 'tsv'], capture_output=True, text=True, check=True).stdout
31
+ lines = {}
32
+ for w in csv.DictReader(tsv.splitlines(), delimiter='\t', quoting=csv.QUOTE_NONE):
33
+ if w['level'] != '5' or not w['text'].strip() or float(w['conf']) < 0: continue
34
+ k = (w['page_num'], w['block_num'], w['par_num'], w['line_num'])
35
+ x, y, wd, ht = (int(w[c]) for c in ('left', 'top', 'width', 'height'))
36
+ l = lines.setdefault(k, {'words': [], 'conf': [], 'x0': x, 'y0': y, 'x1': x + wd, 'y1': y + ht})
37
+ l['words'].append(w['text']); l['conf'].append(float(w['conf']) / 100)
38
+ l['x0'], l['y0'] = min(l['x0'], x), min(l['y0'], y); l['x1'], l['y1'] = max(l['x1'], x + wd), max(l['y1'], y + ht)
39
+ print(json.dumps([{'text': ' '.join(l['words']), 'confidence': min(l['conf']),
40
+ 'bbox': {'x': l['x0'], 'y': l['y0'], 'width': l['x1'] - l['x0'], 'height': l['y1'] - l['y0']}} for l in lines.values()]))
41
+ `;
7
42
  export function configuredOcrCommand(root) {
8
43
  const cfg = loadProjectConfig(root)?.ocrCommand;
9
44
  return cfg ?? process.env.SWIPIUM_OCR_CMD;
10
45
  }
46
+ /** Provenance of the OCR command configuredOcrCommand() would use. */
47
+ export function ocrCommandSource(root) {
48
+ if (loadProjectConfig(root)?.ocrCommand)
49
+ return 'repository';
50
+ return process.env.SWIPIUM_OCR_CMD ? 'environment' : undefined;
51
+ }
11
52
  export function parseOcrOutput(stdout) {
12
53
  const trimmed = stdout.trim();
13
54
  if (!trimmed)
@@ -39,8 +80,11 @@ export function parseOcrOutput(stdout) {
39
80
  export async function runOcr(driver, root, command) {
40
81
  const png = await driver.screenshot();
41
82
  const coordinateSpace = await captureCoordinateSpace(driver, png);
42
- const imgPath = join(tmpdir(), `swipium-ocr-${Date.now()}.png`);
43
- const cleanup = [imgPath];
83
+ // Real (symlink-resolved) temp path: tesseract/leptonica cannot open macOS /tmp/... paths.
84
+ // A private mkdtemp (0700) dir per call, never a predictable name in the shared tmpdir.
85
+ const workDir = makeProviderWorkDir('swipium-ocr-');
86
+ const imgPath = join(workDir, 'screen.png');
87
+ const cleanup = [workDir];
44
88
  try {
45
89
  writeFileSync(imgPath, png);
46
90
  const masking = await maskScreenshotForProvider(root, imgPath, { task: 'ocr' });
@@ -50,7 +94,10 @@ export async function runOcr(driver, root, command) {
50
94
  imagePath: masking.imagePath,
51
95
  coordinateSpace,
52
96
  masking: { providerConfigured: masking.providerConfigured, masksApplied: masking.masksApplied },
53
- }, 30000);
97
+ }, 30000,
98
+ // Relative argv (".swipium/ocr_tesseract.py") resolves against the project root; a
99
+ // non-zero exit throws VisualProviderFailedError (OCR_PROVIDER_FAILED), never found:false.
100
+ { cwd: root, provider: 'ocr' });
54
101
  return {
55
102
  ...parseOcrOutput(result.stdout),
56
103
  coordinateSpace,
@@ -61,7 +108,7 @@ export async function runOcr(driver, root, command) {
61
108
  finally {
62
109
  for (const path of cleanup) {
63
110
  try {
64
- rmSync(path, { force: true });
111
+ rmSync(path, { recursive: true, force: true });
65
112
  }
66
113
  catch {
67
114
  // best-effort cleanup
@@ -1 +1 @@
1
- {"version":3,"file":"ocr.js","sourceRoot":"","sources":["../../src/visual/ocr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ocr.js","sourceRoot":"","sources":["../../src/visual/ocr.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { existsSync, rmSync } from 'node:fs';
1
+ import { existsSync, mkdtempSync, realpathSync, rmSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
3
  import { tmpdir } from 'node:os';
4
4
  import { loadProjectConfig } from '../cli/scan.js';
@@ -17,16 +17,75 @@ export function resolveVisualProvider(command, vars, defaultTimeoutMs) {
17
17
  : defaultTimeoutMs;
18
18
  return { ...resolved, io, timeoutMs };
19
19
  }
20
- export async function runVisualProvider(command, vars, payload, defaultTimeoutMs) {
20
+ /**
21
+ * Temp directory for images handed to a local provider. `tmpdir()` can be a symlink (macOS:
22
+ * /tmp > /private/tmp, /var/folders > /private/var/folders) and some native tools
23
+ * (tesseract/leptonica) fail to open the symlinked path, so always hand out the real path.
24
+ */
25
+ export function providerTempDir() {
26
+ const dir = tmpdir();
27
+ try {
28
+ return realpathSync(dir);
29
+ }
30
+ catch {
31
+ return dir;
32
+ }
33
+ }
34
+ /** A fresh private (0700, mkdtemp) directory for one provider call's images, never a
35
+ * predictable name in the shared tmpdir. The caller removes it (recursively) when done. */
36
+ export function makeProviderWorkDir(prefix) {
37
+ return mkdtempSync(join(providerTempDir(), prefix));
38
+ }
39
+ export const REPO_COMMAND_LABEL = 'configured by the repository (.swipium/config.json), unreviewed';
40
+ export function providerSourceLabel(source, envVar) {
41
+ return source === 'repository' ? REPO_COMMAND_LABEL : `configured by the ${envVar} environment variable (user)`;
42
+ }
43
+ /** A configured visual provider (OCR / mask command) exited non-zero or timed out. */
44
+ export class VisualProviderFailedError extends Error {
45
+ provider;
46
+ exitCode;
47
+ stderr;
48
+ timedOut;
49
+ code = 'OCR_PROVIDER_FAILED';
50
+ constructor(provider, exitCode, stderr, timedOut) {
51
+ super(`${provider === 'ocr' ? 'OCR' : 'Visual mask'} provider ${timedOut ? 'timed out' : `exited with code ${exitCode}`}` +
52
+ (stderr ? `: ${stderr}` : ' (no stderr)'));
53
+ this.provider = provider;
54
+ this.exitCode = exitCode;
55
+ this.stderr = stderr;
56
+ this.timedOut = timedOut;
57
+ this.name = 'VisualProviderFailedError';
58
+ }
59
+ }
60
+ /** Trim provider stderr to a bounded tail (the actionable part of a Python traceback is last). */
61
+ export function trimProviderStderr(stderr, maxChars = 1200) {
62
+ const t = stderr.trim();
63
+ return t.length > maxChars ? `…${t.slice(t.length - maxChars)}` : t;
64
+ }
65
+ /**
66
+ * Run a visual provider command. `cwd` should be the project root so relative argv entries
67
+ * (e.g. ".swipium/ocr_tesseract.py") resolve against the project, not the server's cwd.
68
+ * A non-zero exit or timeout throws VisualProviderFailedError (never a silent empty result).
69
+ */
70
+ export async function runVisualProvider(command, vars, payload, defaultTimeoutMs, opts = {}) {
21
71
  const resolved = resolveVisualProvider(command, vars, defaultTimeoutMs);
22
72
  const input = resolved.io === 'json' ? JSON.stringify({ schema: 'swipium.visual.provider.v1', ...payload }) + '\n' : undefined;
23
- const result = await run(resolved.command, resolved.args, { timeoutMs: resolved.timeoutMs, input });
73
+ const cwd = opts.cwd && existsSync(opts.cwd) ? opts.cwd : undefined;
74
+ const result = await run(resolved.command, resolved.args, { timeoutMs: resolved.timeoutMs, input, cwd });
75
+ if (result.timedOut || result.code !== 0)
76
+ throw new VisualProviderFailedError(opts.provider ?? 'ocr', result.code, trimProviderStderr(result.stderr), result.timedOut);
24
77
  return { resolved, result };
25
78
  }
26
79
  export function configuredMaskCommand(root) {
27
80
  const cfg = loadProjectConfig(root)?.visualMaskCommand;
28
81
  return cfg ?? process.env.SWIPIUM_VISUAL_MASK_CMD;
29
82
  }
83
+ /** Provenance of the mask command configuredMaskCommand() would use. */
84
+ export function maskCommandSource(root) {
85
+ if (loadProjectConfig(root)?.visualMaskCommand)
86
+ return 'repository';
87
+ return process.env.SWIPIUM_VISUAL_MASK_CMD ? 'environment' : undefined;
88
+ }
30
89
  export function resolveMaskProvider(root) {
31
90
  const command = configuredMaskCommand(root);
32
91
  return command ? resolveVisualProvider(command, { image: '<screenshot>', output: '<masked-screenshot>' }, 30000) : null;
@@ -35,13 +94,21 @@ export async function maskScreenshotForProvider(root, imagePath, context) {
35
94
  const command = configuredMaskCommand(root);
36
95
  if (!command)
37
96
  return { imagePath, tempPaths: [], masksApplied: [], providerConfigured: false };
38
- const outputPath = join(tmpdir(), `swipium-masked-${Date.now()}.png`);
39
- const { result } = await runVisualProvider(command, { image: imagePath, output: outputPath }, {
40
- task: 'mask_screenshot',
41
- imagePath,
42
- outputPath,
43
- context,
44
- }, 30000);
97
+ const workDir = makeProviderWorkDir('swipium-masked-');
98
+ const outputPath = join(workDir, 'masked.png');
99
+ let result;
100
+ try {
101
+ ({ result } = await runVisualProvider(command, { image: imagePath, output: outputPath }, {
102
+ task: 'mask_screenshot',
103
+ imagePath,
104
+ outputPath,
105
+ context,
106
+ }, 30000, { cwd: root, provider: 'mask' }));
107
+ }
108
+ catch (e) {
109
+ rmSync(workDir, { recursive: true, force: true });
110
+ throw e;
111
+ }
45
112
  let parsed = {};
46
113
  try {
47
114
  parsed = JSON.parse(result.stdout.trim());
@@ -51,13 +118,14 @@ export async function maskScreenshotForProvider(root, imagePath, context) {
51
118
  }
52
119
  const produced = typeof parsed.imagePath === 'string' && parsed.imagePath.trim() ? parsed.imagePath : outputPath;
53
120
  if (!existsSync(produced)) {
54
- rmSync(outputPath, { force: true });
121
+ rmSync(workDir, { recursive: true, force: true });
55
122
  throw new Error('visualMaskCommand did not produce a masked imagePath or output file');
56
123
  }
57
124
  const masksApplied = Array.isArray(parsed.masksApplied)
58
125
  ? parsed.masksApplied.filter((v) => typeof v === 'string')
59
126
  : ['external_mask'];
60
- return { imagePath: produced, tempPaths: produced === imagePath ? [] : [produced], masksApplied, providerConfigured: true };
127
+ // Only our private work dir is ever cleaned up, never a provider-chosen path outside it.
128
+ return { imagePath: produced, tempPaths: [workDir], masksApplied, providerConfigured: true };
61
129
  }
62
130
  export function boundedProviderObject(value, redact, maxChars = 8000) {
63
131
  const raw = redact(JSON.stringify(value)) ?? '{}';
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/visual/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/visual/provider.ts"],"names":[],"mappings":"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"}
package/docs/README.md CHANGED
@@ -1,19 +1,33 @@
1
1
  # Swipium Docs
2
2
 
3
- This directory contains public documentation for the Swipium MCP server.
3
+ Public documentation for the Swipium MCP server. Start with the top-level [README](../README.md): what Swipium does, requirements, quickstart, environment variables, the CLI, and troubleshooting.
4
4
 
5
- ## Index
5
+ ## Guides
6
6
 
7
- - [MCP Server](mcp-server.md): server setup, client configuration, and agent integration.
8
- - [Tool Reference](tools.md): public MCP tools grouped by workflow.
7
+ - [Concepts](concepts.md): sessions and jobs, project root, consent, secrets and redaction, iOS modes (visual-only vs WebDriverAgent), and a glossary of terms such as app map, flow, POM suite, and `@eN` refs.
8
+ - [Flows](flows.md): writing, running, and repairing replayable flows, with an example, variables, and CI policy.
9
+ - [MCP Server](mcp-server.md): the server command and per-client setup (Claude Code, Codex, Gemini CLI, Cursor, VS Code, Claude Desktop, Windsurf), verification, and server behavior.
10
+ - [CI Reports](ci-reports.md): `swipium report` output formats (JUnit, SARIF, GitHub summary, Markdown, JSON), a GitHub Actions recipe, and the release-gate policy.
11
+
12
+ ## Reference
13
+
14
+ - [Tool Reference](tools.md): every public MCP tool, grouped by capability, with parameters, consent behavior, the [failure-code catalog](tools.md#failure-codes), and the [1.5.0 migration table](tools.md#migrating-from-150). This is the authoritative tool list.
15
+ - [Environment variables](../README.md#configuration--environment-variables): the complete list lives in the README.
16
+ - [Physical Devices](physical-devices.md): why real devices are refused today (`PHYSICAL_DEVICE_UNSUPPORTED`) and what supporting them would require.
17
+
18
+ ## Elsewhere in the repository
19
+
20
+ - Upgrading from 1.5: the [checklist in the README](../README.md#upgrading-from-15) and the [migration table in the CHANGELOG](../CHANGELOG.md#migrating-from-150).
21
+ - Security: [Threat Model](../THREAT_MODEL.md) and [Security Policy](../SECURITY.md).
22
+ - Release history: [CHANGELOG](../CHANGELOG.md).
23
+ - Development: [Contributing](../CONTRIBUTING.md). Getting help: [Support](../SUPPORT.md).
9
24
 
10
25
  ## Scope
11
26
 
12
- Swipium is simulator-only:
27
+ Swipium is a local stdio MCP server for emulators and simulators:
13
28
 
14
- - Android Emulator.
15
- - iOS Simulator.
16
- - Local MCP stdio server.
17
- - Local artifacts and app-map memory.
29
+ - Android Emulator on macOS and Linux (Windows is experimental and untested).
30
+ - iOS Simulator on macOS.
31
+ - Evidence, app maps, flows, and test suites stored locally.
18
32
 
19
- Real devices, Jira integration, external ticket workflows, cloud execution, and certification are outside the current public scope.
33
+ Real devices and cloud execution are outside the current scope.