@geekity/cms 0.27.0 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/README.md +469 -84
  2. package/admin/layouts/shell.njk +6 -0
  3. package/admin/pages/comments/all.njk +3 -1
  4. package/admin/pages/documents/editor.njk +4 -0
  5. package/admin/pages/federation/followers.njk +8 -2
  6. package/admin/pages/plugins/installed.njk +1 -1
  7. package/admin/pages/tools/dev-mode.njk +47 -0
  8. package/admin/static/admin.css +8 -0
  9. package/admin/static/editor-actions.js +13 -9
  10. package/admin/static/editor.js +31 -17
  11. package/dist/admin/comments.d.ts +2 -0
  12. package/dist/admin/comments.d.ts.map +1 -1
  13. package/dist/admin/comments.js +19 -49
  14. package/dist/admin/comments.js.map +1 -1
  15. package/dist/admin/dev-mode.d.ts +9 -0
  16. package/dist/admin/dev-mode.d.ts.map +1 -0
  17. package/dist/admin/dev-mode.js +42 -0
  18. package/dist/admin/dev-mode.js.map +1 -0
  19. package/dist/admin/documents.d.ts +5 -0
  20. package/dist/admin/documents.d.ts.map +1 -1
  21. package/dist/admin/documents.js +45 -17
  22. package/dist/admin/documents.js.map +1 -1
  23. package/dist/admin/editor-actions.js +3 -1
  24. package/dist/admin/editor-actions.js.map +1 -1
  25. package/dist/admin/federation.d.ts +21 -1
  26. package/dist/admin/federation.d.ts.map +1 -1
  27. package/dist/admin/federation.js +19 -7
  28. package/dist/admin/federation.js.map +1 -1
  29. package/dist/admin/menu.d.ts.map +1 -1
  30. package/dist/admin/menu.js +2 -0
  31. package/dist/admin/menu.js.map +1 -1
  32. package/dist/admin/own-paragraph.d.ts +7 -0
  33. package/dist/admin/own-paragraph.d.ts.map +1 -0
  34. package/dist/admin/own-paragraph.js +9 -0
  35. package/dist/admin/own-paragraph.js.map +1 -0
  36. package/dist/admin/plugins.d.ts.map +1 -1
  37. package/dist/admin/plugins.js +19 -8
  38. package/dist/admin/plugins.js.map +1 -1
  39. package/dist/admin/preview.d.ts.map +1 -1
  40. package/dist/admin/preview.js +4 -1
  41. package/dist/admin/preview.js.map +1 -1
  42. package/dist/admin/routes.d.ts.map +1 -1
  43. package/dist/admin/routes.js +4 -0
  44. package/dist/admin/routes.js.map +1 -1
  45. package/dist/admin/settings-email.d.ts.map +1 -1
  46. package/dist/admin/settings-email.js +4 -0
  47. package/dist/admin/settings-email.js.map +1 -1
  48. package/dist/admin/store.d.ts +68 -12
  49. package/dist/admin/store.d.ts.map +1 -1
  50. package/dist/admin/store.js +167 -18
  51. package/dist/admin/store.js.map +1 -1
  52. package/dist/admin/templates.d.ts +1 -0
  53. package/dist/admin/templates.d.ts.map +1 -1
  54. package/dist/admin/templates.js +1 -0
  55. package/dist/admin/templates.js.map +1 -1
  56. package/dist/admin/uploads.d.ts +7 -1
  57. package/dist/admin/uploads.d.ts.map +1 -1
  58. package/dist/admin/uploads.js +33 -30
  59. package/dist/admin/uploads.js.map +1 -1
  60. package/dist/cli.d.ts +1 -1
  61. package/dist/cli.d.ts.map +1 -1
  62. package/dist/cli.js +78 -12
  63. package/dist/cli.js.map +1 -1
  64. package/dist/comments/form.d.ts +3 -1
  65. package/dist/comments/form.d.ts.map +1 -1
  66. package/dist/comments/form.js +2 -1
  67. package/dist/comments/form.js.map +1 -1
  68. package/dist/comments/index.d.ts +2 -2
  69. package/dist/comments/index.d.ts.map +1 -1
  70. package/dist/comments/index.js +1 -1
  71. package/dist/comments/index.js.map +1 -1
  72. package/dist/comments/records.d.ts +25 -20
  73. package/dist/comments/records.d.ts.map +1 -1
  74. package/dist/comments/records.js +113 -33
  75. package/dist/comments/records.js.map +1 -1
  76. package/dist/comments/reply-notices.d.ts +42 -0
  77. package/dist/comments/reply-notices.d.ts.map +1 -0
  78. package/dist/comments/reply-notices.js +76 -0
  79. package/dist/comments/reply-notices.js.map +1 -0
  80. package/dist/comments/reply-post.d.ts +49 -0
  81. package/dist/comments/reply-post.d.ts.map +1 -0
  82. package/dist/comments/reply-post.js +66 -0
  83. package/dist/comments/reply-post.js.map +1 -0
  84. package/dist/comments/routes.d.ts +6 -1
  85. package/dist/comments/routes.d.ts.map +1 -1
  86. package/dist/comments/routes.js +49 -21
  87. package/dist/comments/routes.js.map +1 -1
  88. package/dist/comments/submission.d.ts +8 -25
  89. package/dist/comments/submission.d.ts.map +1 -1
  90. package/dist/comments/submission.js +19 -38
  91. package/dist/comments/submission.js.map +1 -1
  92. package/dist/comments/viewer.d.ts.map +1 -1
  93. package/dist/comments/viewer.js +1 -0
  94. package/dist/comments/viewer.js.map +1 -1
  95. package/dist/config.d.ts +21 -0
  96. package/dist/config.d.ts.map +1 -1
  97. package/dist/config.js +2 -0
  98. package/dist/config.js.map +1 -1
  99. package/dist/content/citation.d.ts +1 -0
  100. package/dist/content/citation.d.ts.map +1 -1
  101. package/dist/content/citation.js +2 -0
  102. package/dist/content/citation.js.map +1 -1
  103. package/dist/content/markdown.d.ts.map +1 -1
  104. package/dist/content/markdown.js +33 -1
  105. package/dist/content/markdown.js.map +1 -1
  106. package/dist/content/migrated.d.ts +6 -0
  107. package/dist/content/migrated.d.ts.map +1 -0
  108. package/dist/content/migrated.js +12 -0
  109. package/dist/content/migrated.js.map +1 -0
  110. package/dist/content/original.d.ts +8 -0
  111. package/dist/content/original.d.ts.map +1 -0
  112. package/dist/content/original.js +15 -0
  113. package/dist/content/original.js.map +1 -0
  114. package/dist/content/parser.d.ts +5 -0
  115. package/dist/content/parser.d.ts.map +1 -1
  116. package/dist/content/parser.js +1 -1
  117. package/dist/content/parser.js.map +1 -1
  118. package/dist/content/schedule.d.ts +7 -0
  119. package/dist/content/schedule.d.ts.map +1 -1
  120. package/dist/content/schedule.js +11 -2
  121. package/dist/content/schedule.js.map +1 -1
  122. package/dist/content/store.d.ts +43 -11
  123. package/dist/content/store.d.ts.map +1 -1
  124. package/dist/content/store.js +170 -10
  125. package/dist/content/store.js.map +1 -1
  126. package/dist/content/sync.d.ts +8 -0
  127. package/dist/content/sync.d.ts.map +1 -1
  128. package/dist/content/sync.js +172 -57
  129. package/dist/content/sync.js.map +1 -1
  130. package/dist/content/video.d.ts +12 -0
  131. package/dist/content/video.d.ts.map +1 -0
  132. package/dist/content/video.js +91 -0
  133. package/dist/content/video.js.map +1 -0
  134. package/dist/dev-mode.d.ts +28 -0
  135. package/dist/dev-mode.d.ts.map +1 -0
  136. package/dist/dev-mode.js +64 -0
  137. package/dist/dev-mode.js.map +1 -0
  138. package/dist/drain.d.ts +9 -3
  139. package/dist/drain.d.ts.map +1 -1
  140. package/dist/drain.js +24 -3
  141. package/dist/drain.js.map +1 -1
  142. package/dist/federation/article.d.ts.map +1 -1
  143. package/dist/federation/article.js +2 -1
  144. package/dist/federation/article.js.map +1 -1
  145. package/dist/federation/backfill.d.ts +114 -0
  146. package/dist/federation/backfill.d.ts.map +1 -0
  147. package/dist/federation/backfill.js +312 -0
  148. package/dist/federation/backfill.js.map +1 -0
  149. package/dist/federation/delivery.d.ts +2 -0
  150. package/dist/federation/delivery.d.ts.map +1 -1
  151. package/dist/federation/delivery.js +46 -16
  152. package/dist/federation/delivery.js.map +1 -1
  153. package/dist/federation/inbox.d.ts.map +1 -1
  154. package/dist/federation/inbox.js +14 -4
  155. package/dist/federation/inbox.js.map +1 -1
  156. package/dist/federation/mount.d.ts.map +1 -1
  157. package/dist/federation/mount.js +8 -4
  158. package/dist/federation/mount.js.map +1 -1
  159. package/dist/federation/records.d.ts +13 -0
  160. package/dist/federation/records.d.ts.map +1 -1
  161. package/dist/federation/records.js +49 -10
  162. package/dist/federation/records.js.map +1 -1
  163. package/dist/federation/relays.d.ts.map +1 -1
  164. package/dist/federation/relays.js +16 -1
  165. package/dist/federation/relays.js.map +1 -1
  166. package/dist/federation/replies.d.ts +6 -0
  167. package/dist/federation/replies.d.ts.map +1 -1
  168. package/dist/federation/replies.js +18 -1
  169. package/dist/federation/replies.js.map +1 -1
  170. package/dist/index.d.ts +13 -3
  171. package/dist/index.d.ts.map +1 -1
  172. package/dist/index.js +95 -14
  173. package/dist/index.js.map +1 -1
  174. package/dist/indexnow.d.ts +1 -1
  175. package/dist/indexnow.d.ts.map +1 -1
  176. package/dist/indexnow.js +7 -0
  177. package/dist/indexnow.js.map +1 -1
  178. package/dist/init.d.ts +1 -1
  179. package/dist/init.d.ts.map +1 -1
  180. package/dist/init.js +1 -7
  181. package/dist/init.js.map +1 -1
  182. package/dist/mail/service.d.ts +3 -1
  183. package/dist/mail/service.d.ts.map +1 -1
  184. package/dist/mail/service.js +17 -0
  185. package/dist/mail/service.js.map +1 -1
  186. package/dist/notify.d.ts +1 -1
  187. package/dist/notify.d.ts.map +1 -1
  188. package/dist/notify.js +7 -0
  189. package/dist/notify.js.map +1 -1
  190. package/dist/plugin.d.ts +67 -4
  191. package/dist/plugin.d.ts.map +1 -1
  192. package/dist/plugin.js.map +1 -1
  193. package/dist/plugins/folder.d.ts +2 -0
  194. package/dist/plugins/folder.d.ts.map +1 -1
  195. package/dist/plugins/folder.js +26 -5
  196. package/dist/plugins/folder.js.map +1 -1
  197. package/dist/plugins/manage.d.ts +8 -6
  198. package/dist/plugins/manage.d.ts.map +1 -1
  199. package/dist/plugins/manage.js +1 -4
  200. package/dist/plugins/manage.js.map +1 -1
  201. package/dist/plugins/site.d.ts.map +1 -1
  202. package/dist/plugins/site.js +56 -0
  203. package/dist/plugins/site.js.map +1 -1
  204. package/dist/supervisor/control.d.ts +15 -0
  205. package/dist/supervisor/control.d.ts.map +1 -0
  206. package/dist/supervisor/control.js +89 -0
  207. package/dist/supervisor/control.js.map +1 -0
  208. package/dist/supervisor/primary.d.ts +18 -4
  209. package/dist/supervisor/primary.d.ts.map +1 -1
  210. package/dist/supervisor/primary.js +128 -16
  211. package/dist/supervisor/primary.js.map +1 -1
  212. package/dist/supervisor/protocol.d.ts +12 -0
  213. package/dist/supervisor/protocol.d.ts.map +1 -1
  214. package/dist/supervisor/protocol.js +21 -2
  215. package/dist/supervisor/protocol.js.map +1 -1
  216. package/dist/supervisor/supervision.d.ts +1 -0
  217. package/dist/supervisor/supervision.d.ts.map +1 -1
  218. package/dist/supervisor/supervision.js +14 -1
  219. package/dist/supervisor/supervision.js.map +1 -1
  220. package/dist/supervisor/worker.d.ts.map +1 -1
  221. package/dist/supervisor/worker.js +31 -6
  222. package/dist/supervisor/worker.js.map +1 -1
  223. package/dist/web/context.d.ts +22 -0
  224. package/dist/web/context.d.ts.map +1 -1
  225. package/dist/web/context.js +20 -4
  226. package/dist/web/context.js.map +1 -1
  227. package/dist/web/conversation.d.ts +155 -16
  228. package/dist/web/conversation.d.ts.map +1 -1
  229. package/dist/web/conversation.js +602 -135
  230. package/dist/web/conversation.js.map +1 -1
  231. package/dist/web/documents.d.ts +0 -22
  232. package/dist/web/documents.d.ts.map +1 -1
  233. package/dist/web/documents.js +1 -34
  234. package/dist/web/documents.js.map +1 -1
  235. package/dist/web/feed-item.d.ts +19 -14
  236. package/dist/web/feed-item.d.ts.map +1 -1
  237. package/dist/web/feed-item.js +10 -9
  238. package/dist/web/feed-item.js.map +1 -1
  239. package/dist/web/feed-rss.d.ts +2 -2
  240. package/dist/web/feed-rss.d.ts.map +1 -1
  241. package/dist/web/feed-rss.js +36 -12
  242. package/dist/web/feed-rss.js.map +1 -1
  243. package/dist/web/feed-source.d.ts +30 -1
  244. package/dist/web/feed-source.d.ts.map +1 -1
  245. package/dist/web/feed-source.js +25 -0
  246. package/dist/web/feed-source.js.map +1 -1
  247. package/dist/web/feeds.d.ts +1 -1
  248. package/dist/web/feeds.d.ts.map +1 -1
  249. package/dist/web/feeds.js +7 -2
  250. package/dist/web/feeds.js.map +1 -1
  251. package/dist/web/guids.d.ts +59 -0
  252. package/dist/web/guids.d.ts.map +1 -0
  253. package/dist/web/guids.js +79 -0
  254. package/dist/web/guids.js.map +1 -0
  255. package/dist/web/index.d.ts +5 -6
  256. package/dist/web/index.d.ts.map +1 -1
  257. package/dist/web/index.js +3 -3
  258. package/dist/web/index.js.map +1 -1
  259. package/dist/web/redirects.d.ts +29 -10
  260. package/dist/web/redirects.d.ts.map +1 -1
  261. package/dist/web/redirects.js +99 -53
  262. package/dist/web/redirects.js.map +1 -1
  263. package/dist/web/render.d.ts +19 -9
  264. package/dist/web/render.d.ts.map +1 -1
  265. package/dist/web/render.js +44 -42
  266. package/dist/web/render.js.map +1 -1
  267. package/dist/web/routes.d.ts +2 -2
  268. package/dist/web/routes.d.ts.map +1 -1
  269. package/dist/web/routes.js +94 -31
  270. package/dist/web/routes.js.map +1 -1
  271. package/dist/webmention/index.d.ts +1 -1
  272. package/dist/webmention/index.d.ts.map +1 -1
  273. package/dist/webmention/index.js +1 -1
  274. package/dist/webmention/index.js.map +1 -1
  275. package/dist/webmention/links.d.ts +55 -0
  276. package/dist/webmention/links.d.ts.map +1 -1
  277. package/dist/webmention/links.js +162 -0
  278. package/dist/webmention/links.js.map +1 -1
  279. package/dist/webmention/microformats.d.ts +15 -0
  280. package/dist/webmention/microformats.d.ts.map +1 -1
  281. package/dist/webmention/microformats.js +63 -1
  282. package/dist/webmention/microformats.js.map +1 -1
  283. package/dist/webmention/pingback.js +2 -1
  284. package/dist/webmention/pingback.js.map +1 -1
  285. package/dist/webmention/receive.d.ts +5 -0
  286. package/dist/webmention/receive.d.ts.map +1 -1
  287. package/dist/webmention/receive.js +99 -3
  288. package/dist/webmention/receive.js.map +1 -1
  289. package/dist/webmention/reply-context.d.ts +15 -0
  290. package/dist/webmention/reply-context.d.ts.map +1 -1
  291. package/dist/webmention/reply-context.js +29 -0
  292. package/dist/webmention/reply-context.js.map +1 -1
  293. package/dist/webmention/reply-contexts.d.ts +6 -0
  294. package/dist/webmention/reply-contexts.d.ts.map +1 -1
  295. package/dist/webmention/reply-contexts.js +16 -10
  296. package/dist/webmention/reply-contexts.js.map +1 -1
  297. package/dist/webmention/routes.d.ts.map +1 -1
  298. package/dist/webmention/routes.js +2 -1
  299. package/dist/webmention/routes.js.map +1 -1
  300. package/dist/webmention/service.d.ts +31 -2
  301. package/dist/webmention/service.d.ts.map +1 -1
  302. package/dist/webmention/service.js +183 -33
  303. package/dist/webmention/service.js.map +1 -1
  304. package/package.json +1 -2
  305. package/themes/default/README.md +390 -75
  306. package/themes/default/layouts/base.njk +19 -2
  307. package/themes/default/layouts/comment.njk +90 -0
  308. package/themes/default/layouts/front-page.njk +9 -47
  309. package/themes/default/layouts/page.njk +2 -0
  310. package/themes/default/layouts/post.njk +22 -4
  311. package/themes/default/partials/backlinks.njk +19 -0
  312. package/themes/default/partials/body-end.njk +1 -0
  313. package/themes/default/partials/cited-page.njk +3 -1
  314. package/themes/default/partials/comment-form.njk +10 -0
  315. package/themes/default/partials/comment.njk +79 -0
  316. package/themes/default/partials/conversation.njk +14 -59
  317. package/themes/default/partials/head-end.njk +1 -0
  318. package/themes/default/src/style.css +46 -0
  319. package/themes/default/static/style.css +75 -0
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/content/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/content/store.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAuB,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AASjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,+EAA+E;AAC/E,eAAO,MAAM,eAAe,WAAW,CAAC;AAExC;;;;;GAKG;AACH,MAAM,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC;AAE/B,wDAAwD;AACxD,eAAO,MAAM,WAAW,EAAE,KAAwB,CAAC;AAEnD,wDAAwD;AACxD,MAAM,WAAW,uBAAuB;IACtC,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IACxB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,sEAAsE;AACtE,MAAM,WAAW,YAAY;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAC/C,yEAAyE;IACzE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACrC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;;;;OAQG;IACH,GAAG,IAAI,IAAI,CAAC;IACZ;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IACjC,0EAA0E;IAC1E,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IAC/C,+EAA+E;IAC/E,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,IAAI,IAAI,CAAC;IACd,+DAA+D;IAC/D,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC9C;;;;;;;OAOG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IACxD;;;;;;;;;OASG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC5D;;;;;;;;OAQG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC9D;;;OAGG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC9C,qEAAqE;IACrE,SAAS,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,QAAQ,EAAE,CAAC;IAC7C;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,kBAAkB,CAAC;IACnD;;;;;;OAMG;IACH,OAAO,IAAI,MAAM,GAAG,SAAS,CAAC;IAC9B;;;;;;OAMG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE,CAAC;IACxC;;;;;;OAMG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,QAAQ,EAAE,CAAC;IAC/D,2EAA2E;IAC3E,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,QAAQ,EAAE,CAAC;IACzE;;;;;;;;;;;;;;OAcG;IACH,YAAY,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,QAAQ,EAAE,CAAC;IAC1E;;;;;OAKG;IACH,kBAAkB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACzD,+EAA+E;IAC/E,OAAO,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,QAAQ,EAAE,CAAC;IAC9C;;;;;;;;;;OAUG;IACH,aAAa,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,QAAQ,EAAE,CAAC;IACjD;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtD,gFAAgF;IAChF,cAAc,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,QAAQ,EAAE,CAAC;IAClD;;;;OAIG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,EAAE,CAAC;IAC1C;;;;;;;;;;;;;OAaG;IACH,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,QAAQ,EAAE,CAAC;IACnE,iFAAiF;IACjF,SAAS,IAAI,MAAM,EAAE,CAAC;IACtB,iDAAiD;IACjD,MAAM,IAAI,aAAa,CAAC;IACxB,2DAA2D;IAC3D,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAAC;IAC5D,4GAA4G;IAC5G,QAAQ,IAAI,QAAQ,EAAE,CAAC;IACvB;;;;;;;;OAQG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GAAG,MAAM,GAAG,SAAS,CAAC;IAC3F,0EAA0E;IAC1E,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAAC;IACtE,gGAAgG;IAChG,aAAa,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC;IAChD,+EAA+E;IAC/E,cAAc,IAAI,aAAa,EAAE,CAAC;IAClC;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,EAAE,CAAC;IACnD;;;;;;;;;;OAUG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,EAAE,CAAC;IAC1D,gFAAgF;IAChF,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC;;;;OAIG;IACH,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,8CAA8C;IAC9C,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC,kEAAkE;IAClE,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC7B;AAED,oEAAoE;AACpE,MAAM,WAAW,SAAS;IACxB,oBAAoB;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,sCAAsC;AACtC,MAAM,WAAW,WAAW;IAC1B,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,8DAA8D;AAC9D,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,oDAAoD;IACpD,IAAI,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;CACjC;AAED,0EAA0E;AAC1E,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,oDAAoD;IACpD,IAAI,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAChC,4EAA4E;IAC5E,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,6EAA6E;IAC7E,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,gDAAgD;AAChD,MAAM,WAAW,aAAa;IAC5B,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,uFAAuF;IACvF,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,yDAAyD;AACzD,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wEAAwE;AACxE,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,UAAU,CAAC;AAE9C,qDAAqD;AACrD,MAAM,WAAW,SAAS;IACxB,uFAAuF;IACvF,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,SAAS,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,SAAkB,IAAI,6BAA6B;IACnD,0CAA0C;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,uCAAuC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7C,YAAY,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,SAAS,EAS/E;CACF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAInE;AAoED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,YAAY,CAitB/E"}
@@ -3,6 +3,11 @@ import { featuredPosts, PINNED_FRONT_MATTER_KEY } from './pinned.js';
3
3
  import { searchExpression, searchText, SNIPPET_CLOSE, SNIPPET_OPEN } from './search.js';
4
4
  import { tagKey, uniqueTags } from './tags.js';
5
5
  import { VISIBILITIES, VISIBILITY_FRONT_MATTER_KEY } from './visibility.js';
6
+ import { repliesKey } from '../web/feed-source.js';
7
+ import { feedGuid, postObjectId } from '../web/guids.js';
8
+ import { absoluteUrl } from '../web/negotiate.js';
9
+ import { NO_REDIRECTS } from '../web/redirects.js';
10
+ import { linksInto, ownSiteLinks, siteLinkKey, spelling } from '../webmention/links.js';
6
11
  export { DATABASE_FILE } from '../cache.js';
7
12
  /** Directory name that marks a document as thrown away but not yet deleted. */
8
13
  export const TRASH_DIRECTORY = '_trash';
@@ -124,10 +129,12 @@ export function openContentStore(options) {
124
129
  insert: db.prepare(`
125
130
  INSERT INTO documents (
126
131
  path, type, slug, permalink, title, date, date_sort, updated, draft, trashed,
127
- description, author, in_reply_to, activitypub, extra, body, html, hash
132
+ description, author, in_reply_to, activitypub, extra, body, html, hash,
133
+ replies_key, reply_post_key, keys_base
128
134
  ) VALUES (
129
135
  :path, :type, :slug, :permalink, :title, :date, :date_sort, :updated, :draft, :trashed,
130
- :description, :author, :in_reply_to, :activitypub, :extra, :body, :html, :hash
136
+ :description, :author, :in_reply_to, :activitypub, :extra, :body, :html, :hash,
137
+ :replies_key, :reply_post_key, :keys_base
131
138
  )
132
139
  ON CONFLICT (path) DO UPDATE SET
133
140
  type = excluded.type,
@@ -146,7 +153,21 @@ export function openContentStore(options) {
146
153
  extra = excluded.extra,
147
154
  body = excluded.body,
148
155
  html = excluded.html,
149
- hash = excluded.hash
156
+ hash = excluded.hash,
157
+ replies_key = excluded.replies_key,
158
+ reply_post_key = excluded.reply_post_key,
159
+ keys_base = excluded.keys_base
160
+ `),
161
+ rowsKeyedElsewhere: db.prepare('SELECT * FROM documents WHERE keys_base IS NOT ?'),
162
+ writeKeys: db.prepare(`
163
+ UPDATE documents
164
+ SET replies_key = :replies_key, reply_post_key = :reply_post_key, keys_base = :keys_base
165
+ WHERE path = :path
166
+ `),
167
+ byRepliesKey: db.prepare(`
168
+ SELECT * FROM documents
169
+ WHERE (replies_key = ?1 OR reply_post_key = ?1) AND ${SERVED_CLAUSE}
170
+ ORDER BY replies_key = ?1 DESC, date_sort DESC, path DESC
150
171
  `),
151
172
  deleteTags: db.prepare('DELETE FROM document_tags WHERE path = ?'),
152
173
  insertTag: db.prepare('INSERT INTO document_tags (path, tag, key, position) VALUES (?, ?, ?, ?)'),
@@ -156,6 +177,9 @@ export function openContentStore(options) {
156
177
  remove: db.prepare('DELETE FROM documents WHERE path = ?'),
157
178
  byPath: db.prepare('SELECT * FROM documents WHERE path = ?'),
158
179
  byPermalink: db.prepare('SELECT * FROM documents WHERE permalink = ? ORDER BY trashed, path DESC LIMIT 1'),
180
+ deleteLinks: db.prepare('DELETE FROM document_links WHERE path = ?'),
181
+ insertLink: db.prepare('INSERT INTO document_links (path, target, query) VALUES (?, ?, ?)'),
182
+ servedAt: db.prepare(`SELECT 1 FROM documents WHERE permalink = ? AND ${SERVED_CLAUSE} LIMIT 1`),
159
183
  deleteRedirects: db.prepare('DELETE FROM document_redirects WHERE path = ?'),
160
184
  insertRedirect: db.prepare('INSERT INTO document_redirects (path, url, position) VALUES (?, ?, ?)'),
161
185
  redirectsFor: db.prepare('SELECT url FROM document_redirects WHERE path = ? ORDER BY position'),
@@ -226,6 +250,27 @@ export function openContentStore(options) {
226
250
  `),
227
251
  };
228
252
  let open = true;
253
+ /**
254
+ * Work out again everything worked out against another base, or none: the
255
+ * `/replies/` keys and the links to the site's own pages.
256
+ */
257
+ function refreshAgainstBase(baseUrl) {
258
+ db.exec('BEGIN');
259
+ try {
260
+ for (const row of statements.rowsKeyedElsewhere.all(baseUrl)) {
261
+ const document = toDocument(row, [], []);
262
+ statements.writeKeys.run({ path: document.path, ...repliesKeysOf(document, baseUrl) });
263
+ writeLinks(document, baseUrl);
264
+ }
265
+ db.exec('COMMIT');
266
+ }
267
+ catch (error) {
268
+ db.exec('ROLLBACK');
269
+ throw error;
270
+ }
271
+ }
272
+ if (options.baseUrl !== undefined)
273
+ refreshAgainstBase(options.baseUrl);
229
274
  let cachedSpellings;
230
275
  const staleKeys = new Set();
231
276
  const MOST_KEYS_REFRESHED = 500;
@@ -285,13 +330,32 @@ export function openContentStore(options) {
285
330
  function hydrateAll(rows) {
286
331
  return rows.map(hydrateOne);
287
332
  }
333
+ function writeLinks(document, baseUrl) {
334
+ statements.deleteLinks.run(document.path);
335
+ if (baseUrl === undefined)
336
+ return;
337
+ const pageUrl = absoluteUrl(document.permalink, baseUrl);
338
+ for (const { path, query } of ownSiteLinks(document.html, pageUrl, baseUrl)) {
339
+ statements.insertLink.run(document.path, path, query);
340
+ }
341
+ }
342
+ /**
343
+ * The paths a link to `document` may name: its permalink, and each of its
344
+ * former ones that the site still answers with it rather than with a live
345
+ * document holding it now or another document claiming it.
346
+ */
347
+ function linkKeysOf(document) {
348
+ const former = (document.redirectFrom ?? []).filter((url) => statements.byPermalink.get(url) === undefined &&
349
+ text(statements.byFormerPermalink.get(url, nowKey())?.['path']) === document.path);
350
+ return [...new Set([document.permalink, ...former].map(siteLinkKey))];
351
+ }
288
352
  function writeOne(document) {
289
353
  const contentPath = document.path;
290
354
  markTagsStaleBeforeWrite(contentPath);
291
355
  for (const tag of document.tags)
292
356
  staleKeys.add(tagKey(tag));
293
357
  try {
294
- statements.insert.run(toRow(document));
358
+ statements.insert.run({ ...toRow(document), ...repliesKeysOf(document, options.baseUrl) });
295
359
  }
296
360
  catch (error) {
297
361
  throw translateWriteError(error, document, statements.pathForPermalink);
@@ -308,6 +372,7 @@ export function openContentStore(options) {
308
372
  (document.redirectFrom ?? []).forEach((url, position) => {
309
373
  statements.insertRedirect.run(contentPath, url, position);
310
374
  });
375
+ writeLinks(document, options.baseUrl);
311
376
  // The words it is found by. Replaced rather than updated, because an FTS5
312
377
  // table has no key to conflict on: the path is only a column in it.
313
378
  const words = searchText(document);
@@ -408,6 +473,7 @@ export function openContentStore(options) {
408
473
  db.exec('DELETE FROM document_tags');
409
474
  db.exec('DELETE FROM document_categories');
410
475
  db.exec('DELETE FROM document_redirects');
476
+ db.exec('DELETE FROM document_links');
411
477
  db.exec('DELETE FROM documents');
412
478
  db.exec('COMMIT');
413
479
  }
@@ -436,12 +502,6 @@ export function openContentStore(options) {
436
502
  listPosts(options = {}) {
437
503
  return select(["type = 'post'", LISTED_CLAUSE], [nowKey()], options);
438
504
  },
439
- listPostsSince(instant) {
440
- const since = dateSortKey(instant);
441
- if (since === null)
442
- return [];
443
- return select(["type = 'post'", LISTED_CLAUSE, 'date_sort >= ?'], [nowKey(), since], {});
444
- },
445
505
  neighbours(document) {
446
506
  // A page is nobody's neighbour, and neither is a document the archive
447
507
  // does not order: without a date there is no place in the sequence to be
@@ -515,6 +575,46 @@ export function openContentStore(options) {
515
575
  listFederated(options = {}) {
516
576
  return select([`type = 'post'`, FEDERATED_CLAUSE], [], options);
517
577
  },
578
+ listRepliesTo(targets) {
579
+ const wanted = [...new Set(targets)];
580
+ if (wanted.length === 0)
581
+ return [];
582
+ return select(["type = 'post'", SERVED_CLAUSE, `in_reply_to IN (${wanted.map(() => '?').join(', ')})`], [nowKey(), ...wanted], {});
583
+ },
584
+ listReplyPosts(options = {}) {
585
+ return select(["type = 'post'", SERVED_CLAUSE, 'in_reply_to IS NOT NULL'], [nowKey()], options);
586
+ },
587
+ listByRepliesKey(key) {
588
+ return hydrateAll(statements.byRepliesKey.all(key, nowKey()));
589
+ },
590
+ listBacklinks(document, site = {}) {
591
+ const now = nowKey();
592
+ const answeredAt = linkKeysOf(document);
593
+ if (site.home === true)
594
+ answeredAt.push('/');
595
+ const into = linksInto(site.redirects ?? NO_REDIRECTS, answeredAt, (sitePath) => [sitePath, `${sitePath}/`].some((url) => statements.servedAt.get(url, now) !== undefined ||
596
+ statements.byFormerPermalink.get(url, now) !== undefined));
597
+ return select([
598
+ LISTED_CLAUSE,
599
+ 'path <> ?',
600
+ `path IN (
601
+ SELECT path FROM document_links
602
+ WHERE target IN (SELECT value FROM json_each(?))
603
+ AND (query = '' OR target || '?' || query NOT IN (SELECT value FROM json_each(?)))
604
+ UNION
605
+ SELECT path FROM document_links
606
+ WHERE target IN (SELECT value FROM json_each(?))
607
+ AND target || '?' || query IN (SELECT value FROM json_each(?))
608
+ )`,
609
+ ], [
610
+ now,
611
+ document.path,
612
+ JSON.stringify(into.paths),
613
+ JSON.stringify(into.intercepted),
614
+ JSON.stringify(into.queries.map((link) => link.path)),
615
+ JSON.stringify(into.queries.map(spelling)),
616
+ ], {});
617
+ },
518
618
  listPaths() {
519
619
  return statements.paths.all().map((row) => String(row['path']));
520
620
  },
@@ -688,6 +788,23 @@ function limitParams(options) {
688
788
  return [];
689
789
  return [options.limit ?? -1, options.offset ?? 0];
690
790
  }
791
+ /**
792
+ * The `/replies/` keys of a document (TASK-327): its feed guid's, and for a
793
+ * reply post its object id's, which is what it is named by in the thread it
794
+ * answers. The two differ only for a reply post with a stored `guid`. Both are
795
+ * worked out against `baseUrl`, which is recorded beside them so a change of
796
+ * site URL is noticed on the next open; with no base there are no keys.
797
+ */
798
+ function repliesKeysOf(document, baseUrl) {
799
+ if (baseUrl === undefined)
800
+ return { replies_key: null, reply_post_key: null, keys_base: null };
801
+ const isReplyPost = document.type === 'post' && document.inReplyTo !== undefined;
802
+ return {
803
+ replies_key: repliesKey(feedGuid(document, baseUrl)),
804
+ reply_post_key: isReplyPost ? repliesKey(postObjectId(document, baseUrl)) : null,
805
+ keys_base: baseUrl,
806
+ };
807
+ }
691
808
  /** A {@link Document} as the columns of the `documents` table. */
692
809
  function toRow(document) {
693
810
  return {
@@ -932,5 +1049,48 @@ const MIGRATIONS = [
932
1049
  DELETE FROM documents;
933
1050
  `,
934
1051
  },
1052
+ {
1053
+ version: 9,
1054
+ sql: `
1055
+ -- A thread finds the reply posts answering it by their \`in-reply-to\`
1056
+ -- (TASK-300).
1057
+ CREATE INDEX documents_in_reply_to ON documents (in_reply_to);
1058
+ `,
1059
+ },
1060
+ {
1061
+ version: 10,
1062
+ sql: `
1063
+ -- What a \`/replies/\` key names (TASK-327), so resolving one is a lookup
1064
+ -- rather than a walk of the site. The keys hang off the base URL, which
1065
+ -- a migration does not know: the rows are filled when the store is
1066
+ -- opened with one, as they are whenever that base changes.
1067
+ ALTER TABLE documents ADD COLUMN replies_key TEXT;
1068
+ ALTER TABLE documents ADD COLUMN reply_post_key TEXT;
1069
+ ALTER TABLE documents ADD COLUMN keys_base TEXT;
1070
+ CREATE INDEX documents_replies_key ON documents (replies_key);
1071
+ CREATE INDEX documents_reply_post_key ON documents (reply_post_key);
1072
+ `,
1073
+ },
1074
+ {
1075
+ version: 11,
1076
+ sql: `
1077
+ -- The pages of the site each document links to (TASK-322), as the paths
1078
+ -- the links name rather than the documents they lead to, which are
1079
+ -- matched when a document's backlinks are read. A link keeps its query
1080
+ -- (TASK-330), sorted as a redirect source's is, because the site answers
1081
+ -- \`/?p=7\` with a redirect rather than with \`/\`. Like the \`/replies/\`
1082
+ -- keys they are read against the base URL, so forgetting every row's
1083
+ -- base is what makes the next open with one fill them from the stored
1084
+ -- HTML, with no scan of the files.
1085
+ CREATE TABLE document_links (
1086
+ path TEXT NOT NULL REFERENCES documents (path) ON DELETE CASCADE,
1087
+ target TEXT NOT NULL,
1088
+ query TEXT NOT NULL DEFAULT '',
1089
+ PRIMARY KEY (path, target, query)
1090
+ );
1091
+ CREATE INDEX document_links_target ON document_links (target);
1092
+ UPDATE documents SET keys_base = NULL;
1093
+ `,
1094
+ },
935
1095
  ];
936
1096
  //# sourceMappingURL=store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/content/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/content/store.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGzD,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAExF,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,+EAA+E;AAC/E,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC;AAUxC,wDAAwD;AACxD,MAAM,CAAC,MAAM,WAAW,GAAU,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;AAuYnD;;;;GAIG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAC9B,IAAI,GAAG,yBAAyB,CAAC;IACnD,0CAA0C;IACjC,SAAS,CAAS;IAC3B,uCAAuC;IAC9B,IAAI,CAAS;IACtB,4EAA4E;IACnE,eAAe,CAAqB;IAE7C,YAAY,SAAiB,EAAE,IAAY,EAAE,eAAmC;QAC9E,MAAM,KAAK,GAAG,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,eAAe,GAAG,CAAC;QAC1F,KAAK,CACH,iBAAiB,IAAI,oBAAoB,SAAS,uBAAuB,KAAK,IAAI;YAChF,mEAAmE,CACtE,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,WAAmB;IAC/C,OAAO,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,IAAwB;IAClD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;AACtE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,GAAG,uCAAuC,CAAC;AAE3D,sEAAsE;AACtE,MAAM,gBAAgB,GAAG,2CAA2C,CAAC;AAErE,MAAM,cAAc,GAAG,mCAAmC,2BAA2B,eAAe,CAAC;AAErG,MAAM,aAAa,GAAG,kCAAkC,UAAU,QAAQ,cAAc,QAAQ,YAAY,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAEnK,MAAM,aAAa,GAAG,IAAI,aAAa,QAAQ,cAAc,cAAc,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,aAAa,GAAG,mCAAmC,uBAAuB,uBAAuB,CAAC;AAExG;;;;;;;;;;;GAWG;AACH,MAAM,gBAAgB,GAAG,8DAA8D,CAAC;AAExF;;;;;;;;GAQG;AACH,MAAM,WAAW,GAAG;;;;UAIV,aAAa;CACtB,CAAC;AAEF;;;;GAIG;AACH,MAAM,cAAc,GAAG,0BAA0B,CAAC;AAElD;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgC;IAC/D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,IAAI,WAAW,CAAC;IAEzC,yEAAyE;IACzE,SAAS,MAAM;QACb,OAAO,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,EAAE,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;IAE9F,MAAM,UAAU,GAAG;QACjB,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA+BlB,CAAC;QACF,kBAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,kDAAkD,CAAC;QAClF,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC;;;;KAIrB,CAAC;QACF,YAAY,EAAE,EAAE,CAAC,OAAO,CAAC;;4DAE+B,aAAa;;KAEpE,CAAC;QACF,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC,0CAA0C,CAAC;QAClE,SAAS,EAAE,EAAE,CAAC,OAAO,CACnB,0EAA0E,CAC3E;QACD,gBAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,gDAAgD,CAAC;QAC9E,cAAc,EAAE,EAAE,CAAC,OAAO,CACxB,6EAA6E,CAC9E;QACD,gBAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,gEAAgE,CAAC;QAC9F,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,sCAAsC,CAAC;QAC1D,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,wCAAwC,CAAC;QAC5D,WAAW,EAAE,EAAE,CAAC,OAAO,CACrB,iFAAiF,CAClF;QACD,WAAW,EAAE,EAAE,CAAC,OAAO,CAAC,2CAA2C,CAAC;QACpE,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC,mEAAmE,CAAC;QAC3F,QAAQ,EAAE,EAAE,CAAC,OAAO,CAClB,mDAAmD,aAAa,UAAU,CAC3E;QACD,eAAe,EAAE,EAAE,CAAC,OAAO,CAAC,+CAA+C,CAAC;QAC5E,cAAc,EAAE,EAAE,CAAC,OAAO,CACxB,uEAAuE,CACxE;QACD,YAAY,EAAE,EAAE,CAAC,OAAO,CAAC,qEAAqE,CAAC;QAC/F,iBAAiB,EAAE,EAAE,CAAC,OAAO,CAAC;;;;cAIpB,aAAa;;;KAGtB,CAAC;QACF,gBAAgB,EAAE,EAAE,CAAC,OAAO,CAC1B,8FAA8F,CAC/F;QACD,MAAM,EAAE,EAAE,CAAC,OAAO,CAChB,mFAAmF,CACpF;QACD,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,qEAAqE,CAAC;QAC1F,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,8CAA8C,CAAC;QACnE,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAC1C,eAAe,EAAE,EAAE,CAAC,OAAO,CACzB,eAAe,CAAC,2DAA2D,CAAC,CAC7E;QACD,iBAAiB,EAAE,EAAE,CAAC,OAAO,CAC3B,eAAe,CAAC,yDAAyD,CAAC,CAC3E;QACD,WAAW,EAAE,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC;QAC9C,aAAa,EAAE,EAAE,CAAC,OAAO,CACvB,2EAA2E,CAC5E;QACD,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,0CAA0C,CAAC;QAC7D,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC;;;yCAGkB,aAAa;yCACb,aAAa;;qDAED,gBAAgB;;;KAGhE,CAAC;QACF,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC;;;;cAIZ,aAAa;;KAEtB,CAAC;QACF,cAAc,EAAE,EAAE,CAAC,OAAO,CAAC;;;;cAIjB,aAAa;;;KAGtB,CAAC;QACF,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACnD,aAAa,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC7D,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;;4CAEoB,gBAAgB;KACvD,CAAC;QACF,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC,0CAA0C,CAAC;QAClE,UAAU,EAAE,EAAE,CAAC,OAAO,CACpB,0FAA0F,CAC3F;QACD,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC;;sCAEe,YAAY,OAAO,aAAa;QAC9D,WAAW;qCACkB,cAAc;;KAE9C,CAAC;QACF,WAAW,EAAE,EAAE,CAAC,OAAO,CAAC,4BAA4B,WAAW,EAAE,CAAC;QAClE,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC;;;;;KAKpB,CAAC;KACH,CAAC;IAEF,IAAI,IAAI,GAAG,IAAI,CAAC;IAEhB;;;OAGG;IACH,SAAS,kBAAkB,CAAC,OAAe;QACzC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjB,IAAI,CAAC;YACH,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAA8B,EAAE,CAAC;gBAC1F,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBACzC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;gBACvF,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChC,CAAC;YACD,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;QAAE,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvE,IAAI,eAA4C,CAAC;IACjD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,MAAM,mBAAmB,GAAG,GAAG,CAAC;IAEhC,SAAS,aAAa;QACpB,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;QACrB,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC;QACnE,MAAM,OAAO,GACX,eAAe,KAAK,SAAS,IAAI,SAAS,CAAC,eAAe,EAAE,WAAW,EAAE,GAAG,CAAC;YAC3E,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC;QAE5B,IAAI,OAAO,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,OAAO,CAAC;QAElE,MAAM,gBAAgB,GAAG,OAAO,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,IAAI,mBAAmB,CAAC;QACxF,MAAM,KAAK,GAAG,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,EAAkB,CAAC;QACrE,MAAM,IAAI,GAAG,gBAAgB;YAC3B,CAAC,CAAC,qBAAqB,CAAC,KAAK,EAAE,GAAG,CAAC;YACnC,CAAC,CAAE,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAA+B,CAAC;QACjE,KAAK,MAAM,GAAG,IAAI,IAAI;YAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1E,SAAS,CAAC,KAAK,EAAE,CAAC;QAElB,MAAM,eAAe,GAAG,IAAI,CAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAA6B,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9F,eAAe,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,eAAe,EAAE,CAAC;QAC5E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,qBAAqB,CAC5B,KAA0B,EAC1B,GAAW;QAEX,KAAK,MAAM,GAAG,IAAI,SAAS;YAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/C,OAAO,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,EAAE,GAAG,CAGhF,CAAC;IACN,CAAC;IAED,SAAS,wBAAwB,CAAC,WAAmB;QACnD,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;YAAE,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,SAAS,MAAM,CAAC,WAAmB;QACjC,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;QAClC,OAAO,UAAU,CAAC,OAAO;aACtB,GAAG,CAAC,WAAW,CAAC;aAChB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,SAAS,YAAY,CAAC,WAAmB;QACvC,OAAO,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACzF,CAAC;IAED,SAAS,OAAO,CAAC,GAAwC;QACvD,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACxC,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,SAAS,UAAU,CAAC,GAA4B;QAC9C,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY;aACzC,GAAG,CAAC,WAAW,CAAC;aAChB,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9C,OAAO;YACL,GAAG,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;YAClE,GAAG,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;SACvD,CAAC;IACJ,CAAC;IAED,SAAS,UAAU,CAAC,IAA+B;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS,UAAU,CAAC,QAAkB,EAAE,OAA2B;QACjE,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO;QAClC,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACzD,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;YAC5E,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,SAAS,UAAU,CAAC,QAAkB;QACpC,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,CACjD,CAAC,GAAG,EAAE,EAAE,CACN,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS;YAC7C,IAAI,CAEA,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,CAC/C,EAAE,CAAC,MAAM,CAAC,CACZ,KAAK,QAAQ,CAAC,IAAI,CACtB,CAAC;QACF,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,SAAS,QAAQ,CAAC,QAAkB;QAClC,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC;QAClC,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACtC,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI;YAAE,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC;YACH,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,GAAG,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC7F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC1E,CAAC;QACD,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACvC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;YAClD,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC7C,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE;YACjD,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;YACtD,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACtC,0EAA0E;QAC1E,oEAAoE;QACpE,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QACnC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACvC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAClG,CAAC;IAED;;;;OAIG;IACH,SAAS,YAAY,CAAC,KAAgB,EAAE,IAAY,EAAE,OAAyB;QAC7E,MAAM,KAAK,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QACjD,MAAM,MAAM,GAAc,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC1B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,+EAA+E;IAC/E,SAAS,WAAW,CAAC,KAAgB,EAAE,IAAY,EAAE,OAAyB;QAC5E,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;QACrC,MAAM,KAAK,GAAG,CAAC,aAAa,EAAE,GAAG,KAAK,IAAI,WAAW,MAAM,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAc,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,GAAG,GAAG,EAAE;aACX,OAAO,CACN,iCAAiC,KAAK;8CACA,KAAK;iBAClC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAC/B;aACA,GAAG,CAAC,GAAI,MAAkB,CAA4B,CAAC;QAC1D,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACH,SAAS,SAAS,CAChB,SAAoB,EACpB,KAAqB,EACrB,GAAW,EACX,WAAmB;QAEnB,MAAM,GAAG,GAAG,EAAE;aACX,OAAO,CACN;mCAC2B,aAAa;;mCAEb,SAAS;8BACd,KAAK,UAAU,KAAK;iBACjC,CACV;aACA,GAAG,CAAC,GAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,WAAW,CAAa,CAAwC,CAAC;QAC5F,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,SAAS,MAAM,CAAC,KAAe,EAAE,MAAiB,EAAE,OAAoB;QACtE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,GAAG,EAAE;aACZ,OAAO,CACN,2BAA2B,MAAM,uCAAuC,WAAW,CAAC,OAAO,CAAC,EAAE,CAC/F;aACA,GAAG,CAAC,GAAI,MAAkB,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;QACxD,OAAO,UAAU,CAAC,IAAiC,CAAC,CAAC;IACvD,CAAC;IAED,OAAO;QACL,IAAI;QAEJ,GAAG;YACD,OAAO,KAAK,EAAE,CAAC;QACjB,CAAC;QAED,MAAM,CAAC,QAAQ;YACb,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrB,CAAC;QAED,SAAS,CAAC,SAAS;YACjB,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjB,IAAI,CAAC;gBACH,KAAK,MAAM,QAAQ,IAAI,SAAS;oBAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACrD,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACpB,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,MAAM,CAAC,WAAW;YAChB,wBAAwB,CAAC,WAAW,CAAC,CAAC;YACtC,kEAAkE;YAClE,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACvC,OAAO,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;QACxD,CAAC;QAED,KAAK;YACH,eAAe,GAAG,SAAS,CAAC;YAC5B,SAAS,CAAC,KAAK,EAAE,CAAC;YAClB,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjB,IAAI,CAAC;gBACH,oEAAoE;gBACpE,sEAAsE;gBACtE,uEAAuE;gBACvE,qDAAqD;gBACrD,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;gBACrC,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;gBACrC,EAAE,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;gBAC3C,EAAE,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;gBAC1C,EAAE,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;gBACtC,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBACjC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACpB,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,SAAS,CAAC,WAAW;YACnB,OAAO,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAwC,CAAC,CAAC;QAC5F,CAAC;QAED,cAAc,CAAC,SAAS;YACtB,OAAO,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAwC,CAAC,CAAC;QAC/F,CAAC;QAED,mBAAmB,CAAC,QAAQ;YAC1B,IAAI,QAAQ,KAAK,EAAE;gBAAE,OAAO,SAAS,CAAC;YACtC,OAAO,OAAO,CACZ,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAwC,CACjF,CAAC;QACJ,CAAC;QAED,oBAAoB,CAAC,SAAS;YAC5B,OAAO,OAAO,CACZ,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,CACf,CACtC,CAAC;QACJ,CAAC;QAED,SAAS,CAAC,IAAI;YACZ,OAAO,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAwC,CAAC,CAAC;QACrF,CAAC;QAED,SAAS,CAAC,OAAO,GAAG,EAAE;YACpB,OAAO,MAAM,CAAC,CAAC,eAAe,EAAE,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QACvE,CAAC;QAED,UAAU,CAAC,QAAQ;YACjB,sEAAsE;YACtE,yEAAyE;YACzE,kBAAkB;YAClB,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAO,EAAE,CAAC;YAExD,uEAAuE;YACvE,yEAAyE;YACzE,wEAAwE;YACxE,oEAAoE;YACpE,UAAU;YACV,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5D,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEvD,OAAO;gBACL,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;gBAC/C,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;aACxC,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAA4B,CAAC;YACxE,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1B,CAAC;QAED,YAAY,CAAC,KAAK;YAChB,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,CAA8B,CAAC;YACnF,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,EAAE;YACzB,OAAO,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC;QAED,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,EAAE;YACnC,OAAO,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC;QAED,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,EAAE;YAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAClC,OAAO,MAAM,CACX,CAAC,eAAe,EAAE,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EACrD,CAAC,MAAM,EAAE,EAAE,GAAG,KAAK,CAAC,EACpB,OAAO,CACR,CAAC;QACJ,CAAC;QAED,kBAAkB,CAAC,KAAK;YACtB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAClC,OAAO,aAAa,CAClB,MAAM,CACJ,CAAC,eAAe,EAAE,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,EACpE,CAAC,MAAM,EAAE,EAAE,GAAG,KAAK,CAAC,EACpB,EAAE,CACH,CACF,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,OAAO,GAAG,EAAE;YAClB,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAc,EAAE,CAAC;YAE7B,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAChC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACpC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;gBAC9D,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACxB,CAAC;YAED,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAClD,CAAC;YACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC7C,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5D,CAAC;YAED,OAAO,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC;QAED,aAAa,CAAC,OAAO,GAAG,EAAE;YACxB,OAAO,MAAM,CAAC,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QAClE,CAAC;QAED,aAAa,CAAC,OAAO;YACnB,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YACrC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YACnC,OAAO,MAAM,CACX,CAAC,eAAe,EAAE,aAAa,EAAE,mBAAmB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EACxF,CAAC,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,EACrB,EAAE,CACH,CAAC;QACJ,CAAC;QAED,cAAc,CAAC,OAAO,GAAG,EAAE;YACzB,OAAO,MAAM,CACX,CAAC,eAAe,EAAE,aAAa,EAAE,yBAAyB,CAAC,EAC3D,CAAC,MAAM,EAAE,CAAC,EACV,OAAO,CACR,CAAC;QACJ,CAAC;QAED,gBAAgB,CAAC,GAAG;YAClB,OAAO,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,CAA8B,CAAC,CAAC;QAC7F,CAAC;QAED,aAAa,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE;YAC/B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;YACrB,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YACxC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;gBAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,IAAI,YAAY,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE,CAC9E,CAAC,QAAQ,EAAE,GAAG,QAAQ,GAAG,CAAC,CAAC,IAAI,CAC7B,CAAC,GAAG,EAAE,EAAE,CACN,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,SAAS;gBAC/C,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,SAAS,CAC3D,CACF,CAAC;YACF,OAAO,MAAM,CACX;gBACE,aAAa;gBACb,WAAW;gBACX;;;;;;;;YAQE;aACH,EACD;gBACE,GAAG;gBACH,QAAQ,CAAC,IAAI;gBACb,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;gBAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aAC3C,EACD,EAAE,CACH,CAAC;QACJ,CAAC;QAED,SAAS;YACP,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC;QAED,MAAM;YACJ,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;YACrB,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAA4B,CAAC;YAC5E,OAAO;gBACL,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC3B,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC3B,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC3B,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC7B,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACnC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;aAChC,CAAC;QACJ,CAAC;QAED,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,EAAE;YAC1B,OAAO,WAAW,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;QAED,eAAe,CAAC,QAAQ,EAAE,OAAO,GAAG,EAAE;YACpC,OAAO,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9D,CAAC;QAED,aAAa,CAAC,KAAK;YACjB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,CAAC,CAAC;YACjC,MAAM,GAAG,GAAG,EAAE;iBACX,OAAO,CACN;qCAC2B,aAAa,QAAQ,YAAY,CAAC,KAAK,CAAC,EAAE,CACtE;iBACA,GAAG,CAAC,GAAI,CAAC,MAAM,EAAE,EAAE,GAAG,KAAK,CAAa,CAA4B,CAAC;YACxE,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9B,CAAC;QAED,QAAQ;YACN,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;YAClC,OAAO,UAAU,CAAC,SAAS;iBACxB,GAAG,CAAC,MAAM,EAAE,CAAC;iBACb,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACb,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC5D,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aAC5B,CAAC,CAAC;iBACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,sBAAsB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/E,CAAC;QAED,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,EAAE;YAC3B,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;gBAAE,OAAO,aAAa,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7E,MAAM,GAAG,GAAG,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAC1C,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,EAClD,MAAM,EAAE,CACT,CAAC;YACF,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5B,CAAC;QAED,cAAc;YACZ,OAAO,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC3D,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACjC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aAC5B,CAAC,CAAC,CAAC;QACN,CAAC;QAED,aAAa,CAAC,QAAQ;YACpB,MAAM,KAAK,GAAG,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC;YAClF,MAAM,SAAS,GACb,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;YACnD,OAAO,KAAK;iBACT,GAAG,CAAC,MAAM,EAAE,CAAC;iBACb,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACb,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC9D,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACnC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aAC5B,CAAC,CAAC;iBACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,EAAE;YACxB,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,UAAU,KAAK,SAAS;gBAAE,OAAO,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAChC,UAAU,EACV,MAAM,EAAE,EACR,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,EACnB,OAAO,CAAC,MAAM,IAAI,CAAC,CACS,CAAC;YAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7F,CAAC;QAED,WAAW,CAAC,KAAK;YACf,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,UAAU,KAAK,SAAS;gBAAE,OAAO,CAAC,CAAC;YACvC,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,CAA4B,CAAC;YACxF,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9B,CAAC;QAED,WAAW,CAAC,QAAQ;YAClB,EAAE,CAAC,IAAI,CAAC,uBAAuB,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,KAAK;YACH,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,IAAI,GAAG,KAAK,CAAC;YACb,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC;KACF,CAAC;AACJ,CAAC;AASD,MAAM,WAAW,GAA8C;IAC7D,GAAG,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;IACjF,QAAQ,EAAE;QACR,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,UAAU;QACvB,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ;KAC9B;CACF,CAAC;AASF,SAAS,SAAS,CAAC,KAAsB,EAAE,WAAoB,EAAE,GAAW;IAC1E,OAAO,CACL,sBAAsB,CAAC,KAAK,EAAE,WAAW,CAAC;QAC1C,oBAAoB,CAAC,KAAK,EAAE,GAAG,CAAC;QAChC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAC1B,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAsB,EAAE,WAAoB;IAC1E,OAAO,KAAK,CAAC,WAAW,KAAK,WAAW,CAAC;AAC3C,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAsB,EAAE,GAAW;IAC/D,OAAO,KAAK,CAAC,eAAe,KAAK,SAAS,IAAI,GAAG,IAAI,KAAK,CAAC,eAAe,CAAC;AAC7E,CAAC;AAED,SAAS,aAAa,CAAC,KAAsB,EAAE,GAAW;IACxD,OAAO,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC;AACjC,CAAC;AAED,SAAS,sBAAsB,CAAC,CAAS,EAAE,CAAS;IAClD,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,KAAK,EAAE,WAAW,EAAa;IACnD,OAAO,6BAA6B,KAAK,UAAU,WAAW,OAAO,CAAC;AACxE,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO;;;;;;;;;;;;YAYG,aAAa;;;UAGf,KAAK;;;;;GAKZ,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAa;IAC7D,OAAO;aACI,KAAK,IAAI,WAAW,gBAAgB,KAAK,IAAI,MAAM;qBAC3C,aAAa;;WAEvB,KAAK;yCACyB,KAAK;eAC/B,KAAK,IAAI,WAAW;GAChC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,KAAwB;IAC5C,OAAO,cAAc,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAC1D,CAAC;AAED,SAAS,WAAW,CAAC,OAAoB;IACvC,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAC3E,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,SAAS,WAAW,CAAC,OAAoB;IACvC,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAC3E,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,CAAY,CAAC;AAC/D,CAAC;AAED;;;;;;GAMG;AACH,SAAS,aAAa,CACpB,QAAkB,EAClB,OAA2B;IAE3B,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC/F,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,KAAK,MAAM,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC;IACjF,OAAO;QACL,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACpD,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QAChF,SAAS,EAAE,OAAO;KACnB,CAAC;AACJ,CAAC;AAED,kEAAkE;AAClE,SAAS,KAAK,CAAC,QAAkB;IAC/B,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,IAAI;QAC3B,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;QACrC,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI;QACjC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,IAAI;QACzC,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,IAAI;QAC/B,WAAW,EAAE,QAAQ,CAAC,SAAS,IAAI,IAAI;QACvC,WAAW,EAAE,QAAQ,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC7F,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;QACrC,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;KACpB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CAAC,GAA4B,EAAE,IAAc,EAAE,UAAoB;IACpF,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAiB;QACzC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACnC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3B,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACtC,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5C,IAAI;QACJ,UAAU;QACV,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;QACzB,GAAG,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;QACpD,GAAG,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1C,GAAG,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;QAClD,GAAG,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAsB,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;QACzE,KAAK,EAAE,IAAI,CAA0B,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE;QACxD,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;KAC1B,CAAC;AACJ,CAAC;AAED,SAAS,IAAI,CAAC,KAAc;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,SAAS,IAAI,CAAI,KAAc;IAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAM,CAAC;AAChC,CAAC;AAED,SAAS,QAAQ,CAAsB,GAAM,EAAE,KAAoB;IACjE,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAmB,CAAC;AACvE,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAC1B,KAAc,EACd,QAAkB,EAClB,gBAA+B;IAE/B,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,qBAAqB,CAAC;QAAE,OAAO,KAAK,CAAC;IAEnE,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAwC,CAAC;IAC5F,OAAO,IAAI,uBAAuB,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc,EAAE,MAAc;IACvD,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,IAAI,GAAI,KAA4B,CAAC,IAAI,CAAC;IAChD,IAAI,IAAI,KAAK,kBAAkB;QAAE,OAAO,KAAK,CAAC;IAC9C,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC9F,CAAC;AAED,+DAA+D;AAC/D,MAAM,MAAM,GAAG,YAAY,CAAC;AAE5B;;;;GAIG;AACH,MAAM,UAAU,GAAyB;IACvC;QACE,OAAO,EAAE,CAAC;QACV,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiCJ;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,GAAG,EAAE;;;;;;;;;;;;;;;;KAgBJ;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,GAAG,EAAE;;;;;;;;;KASJ;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,GAAG,EAAE;;;;;;;;;;;;;;;;;;;KAmBJ;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,GAAG,EAAE;;;;;;;;KAQJ;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,GAAG,EAAE;;;;;;;;;;;;;;;KAeJ;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,GAAG,EAAE;;;;;;;KAOJ;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,GAAG,EAAE;;;;;;;;;;;;;;;;;KAiBJ;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,GAAG,EAAE;;;;KAIJ;KACF;IACD;QACE,OAAO,EAAE,EAAE;QACX,GAAG,EAAE;;;;;;;;;;KAUJ;KACF;IACD;QACE,OAAO,EAAE,EAAE;QACX,GAAG,EAAE;;;;;;;;;;;;;;;;;KAiBJ;KACF;CACF,CAAC"}
@@ -129,6 +129,14 @@ export interface ContentSync {
129
129
  * for it.
130
130
  */
131
131
  announce(change: DocumentChange): Promise<void>;
132
+ /**
133
+ * Run `listener` each time the index settles: after every full scan, and
134
+ * after a run of watcher changes once no more are waiting. It runs on the
135
+ * sync's own queue, so no file is reconciled while it does, and a scan
136
+ * resolves only once it has finished. Returns the function that
137
+ * unsubscribes.
138
+ */
139
+ onSettled(listener: () => unknown): () => void;
132
140
  /** Walk the content directory once, reconciling every file and dropping rows whose file is gone. */
133
141
  sync(): Promise<SyncResult>;
134
142
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/content/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/content/sync.ts"],"names":[],"mappings":"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"}