@schlenkr/ragents 0.1.5 → 0.1.6

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 (1052) hide show
  1. package/README.md +18 -11
  2. package/apps/server/package.json +8 -6
  3. package/apps/server/src/access-projection.ts +3 -3
  4. package/apps/server/src/access-service.ts +19 -8
  5. package/apps/server/src/access-session.ts +6 -2
  6. package/apps/server/src/api/contracts.ts +19 -18
  7. package/apps/server/src/api/core-methods.ts +45 -26
  8. package/apps/server/src/api/delivery.ts +4 -4
  9. package/apps/server/src/api/reference.ts +1 -1
  10. package/apps/server/src/api/rights.ts +86 -7
  11. package/apps/server/src/chat-context.ts +1 -1
  12. package/apps/server/src/chat-handler.ts +14 -7
  13. package/apps/server/src/config-file.ts +25 -6
  14. package/apps/server/src/config.ts +4 -4
  15. package/apps/server/src/data-directory.ts +1 -1
  16. package/apps/server/src/folder-install.ts +115 -0
  17. package/apps/server/src/host-api.json +1256 -0
  18. package/apps/server/src/host-api.ts +190 -0
  19. package/apps/server/src/host-resolution-hooks.mjs +50 -1
  20. package/apps/server/src/host-resolution.ts +26 -1
  21. package/apps/server/src/host-version.ts +41 -0
  22. package/apps/server/src/host-web.ts +59 -0
  23. package/apps/server/src/layout.ts +1 -1
  24. package/apps/server/src/main.ts +3 -2
  25. package/apps/server/src/missing-environment.ts +47 -0
  26. package/apps/server/src/parent-watch.ts +37 -0
  27. package/apps/server/src/plugin-build/build.ts +650 -0
  28. package/apps/server/src/plugin-build/host-api-names.ts +185 -0
  29. package/apps/server/src/plugin-build/plugin-description.ts +118 -0
  30. package/apps/server/src/plugin-build/typecheck.ts +66 -0
  31. package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/app-project.ts +16 -15
  32. package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/client-compiler.ts +4 -4
  33. package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/client-contracts.ts +4 -4
  34. package/apps/server/src/plugin-support/actor-programs/client-runtime.ts +27 -0
  35. package/{plugins/ragents.actor-programs → apps/server/src/plugin-support/actor-programs}/contract.ts +3 -3
  36. package/apps/server/src/plugin-support/actor-programs/service.ts +1 -1
  37. package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/tailwind.ts +2 -3
  38. package/{plugins/ragents.actor-programs → apps/server/src/plugin-support/actor-programs}/workflow/index.ts +48 -48
  39. package/apps/server/src/plugin-support/agent-tool.ts +10 -5
  40. package/apps/server/src/plugin-support/http.ts +1 -1
  41. package/apps/server/src/plugin-support/language-server/contract.ts +37 -6
  42. package/apps/server/src/plugin-support/language-server/plugin.ts +18 -8
  43. package/apps/server/src/plugin-support/language-server/snapshot-method.ts +32 -7
  44. package/apps/server/src/plugin-support/language-server/tools.ts +59 -15
  45. package/apps/server/src/plugin-support/model-aliases.ts +77 -0
  46. package/apps/server/src/plugin-support/model-choice.ts +17 -7
  47. package/apps/server/src/plugin-support/model-completion.ts +58 -0
  48. package/apps/server/src/plugin-support/model-upstreams.ts +2 -2
  49. package/apps/server/src/plugin-support/native-typescript-executor.ts +10 -7
  50. package/apps/server/src/plugin-support/plugin-config.ts +1 -1
  51. package/apps/server/src/plugin-support/plugin-folder.ts +4 -1
  52. package/apps/server/src/plugin-support/plugin-module.ts +1 -1
  53. package/apps/server/src/plugin-support/plugins-root.ts +6 -10
  54. package/apps/server/src/plugin-support/process-sandbox.ts +312 -0
  55. package/apps/server/src/plugin-support/product-model-settings-contract.ts +14 -5
  56. package/apps/server/src/plugin-support/product-model-settings.ts +10 -9
  57. package/{plugins/ragents.product/server/relay.ts → apps/server/src/plugin-support/product-relay.ts} +2 -2
  58. package/apps/server/src/plugin-support/product-start-options.ts +8 -3
  59. package/apps/server/src/plugin-support/prompt.ts +1 -1
  60. package/apps/server/src/plugin-support/provision.ts +6 -0
  61. package/apps/server/src/plugin-support/run-scripts.ts +16 -2
  62. package/apps/server/src/plugin-support/skills.ts +32 -16
  63. package/apps/server/src/plugin-support/start-entries-contract.ts +12 -3
  64. package/apps/server/src/plugin-support/start-options-contract.ts +5 -1
  65. package/apps/server/src/plugin-support/thinking-level.ts +6 -1
  66. package/apps/server/src/plugin-support/tool-availability.ts +1 -7
  67. package/apps/server/src/plugin-support/workspace-ownership.ts +12 -6
  68. package/apps/server/src/plugin-support/workspace-sandbox-host.ts +184 -37
  69. package/apps/server/src/profile/bundle-manifest.ts +183 -0
  70. package/apps/server/src/profile/compose.ts +19 -10
  71. package/apps/server/src/profile/plugin-discovery.ts +98 -46
  72. package/apps/server/src/profile/provisioning.ts +30 -26
  73. package/apps/server/src/profile-target.ts +3 -0
  74. package/apps/server/src/provider.ts +182 -99
  75. package/apps/server/src/ragents/actor-chat-history.ts +23 -22
  76. package/apps/server/src/ragents/chat-projection.ts +25 -14
  77. package/apps/server/src/ragents/chat-text-positions.ts +4 -4
  78. package/apps/server/src/ragents/coordinator.ts +27 -1
  79. package/apps/server/src/ragents/document-store.ts +1 -1
  80. package/apps/server/src/ragents/engine.ts +69 -36
  81. package/apps/server/src/ragents/global-chat.ts +26 -13
  82. package/apps/server/src/ragents/host-services.ts +15 -6
  83. package/apps/server/src/ragents/journal-chat-events.ts +31 -15
  84. package/apps/server/src/ragents/product-runtime.ts +1 -1
  85. package/apps/server/src/ragents/run-owner.ts +17 -0
  86. package/apps/server/src/ragents/runtime-bridge.ts +1 -1
  87. package/apps/server/src/ragents/session.ts +181 -82
  88. package/apps/server/src/ragents/start-option-state.ts +1 -1
  89. package/apps/server/src/ragents/typescript-tools.ts +35 -27
  90. package/apps/server/src/ragents/workspace-runtime.ts +74 -8
  91. package/apps/server/src/rpc/dispatcher.ts +17 -8
  92. package/apps/server/src/rpc/http-transport.ts +1 -3
  93. package/apps/server/src/rpc/stdio-transport.ts +1 -1
  94. package/apps/server/src/run-preparation-contract.ts +1 -1
  95. package/apps/server/src/run-preparation-input.ts +1 -1
  96. package/apps/server/src/run-preparation.ts +13 -20
  97. package/apps/server/src/run-transfer.ts +2 -2
  98. package/apps/server/src/server.ts +112 -33
  99. package/apps/server/src/settings.ts +7 -8
  100. package/apps/server/src/title-compactor.ts +5 -8
  101. package/apps/server/src/title-settings.ts +3 -3
  102. package/apps/server/src/web-bundles.ts +79 -0
  103. package/apps/server/src/web-stylesheet.ts +85 -0
  104. package/apps/server/tsconfig.json +4 -4
  105. package/apps/server/tsconfig.plugin.json +58 -0
  106. package/apps/web/dist/assets/highlighted-body-KPVGNVTW-B9qYBARS.js +1 -0
  107. package/apps/web/dist/assets/main-BCjvD2Hh.js +6 -0
  108. package/apps/web/dist/assets/mermaid-HWGCJPDP-BPn4aV2r.css +1 -0
  109. package/apps/web/dist/assets/mermaid-HWGCJPDP-CvYYFK_n.js +478 -0
  110. package/apps/web/dist/assets/runPanel-CG7kRMJh.js +21 -0
  111. package/apps/web/dist/help/guide-access.html +199 -0
  112. package/apps/web/dist/help/guide-access.md +84 -0
  113. package/apps/web/dist/help/guide-clients.html +421 -0
  114. package/apps/web/dist/help/guide-clients.md +336 -0
  115. package/apps/web/dist/help/guide-distributed.html +320 -0
  116. package/apps/web/dist/help/guide-distributed.md +225 -0
  117. package/apps/web/dist/help/guide-functions.html +231 -0
  118. package/apps/web/dist/help/guide-functions.md +127 -0
  119. package/apps/web/dist/help/guide-getting-started.html +230 -0
  120. package/apps/web/dist/help/guide-getting-started.md +123 -0
  121. package/apps/web/dist/help/guide-ideas.html +183 -0
  122. package/apps/web/dist/help/guide-ideas.md +71 -0
  123. package/apps/web/dist/help/guide-plugins.html +450 -0
  124. package/apps/web/dist/help/guide-plugins.md +341 -0
  125. package/apps/web/dist/help/guide-programs.html +359 -0
  126. package/apps/web/dist/help/guide-programs.md +271 -0
  127. package/apps/web/dist/help/guide-runtime.html +338 -0
  128. package/apps/web/dist/help/guide-runtime.md +225 -0
  129. package/apps/web/dist/help/guide.html +133 -0
  130. package/apps/web/dist/help/guide.md +13 -0
  131. package/apps/web/dist/help/homepage-bullets.js +12 -0
  132. package/apps/web/dist/help/homepage-distributed.js +261 -0
  133. package/apps/web/dist/help/homepage-plugins.js +30 -0
  134. package/apps/web/dist/help/homepage-scenes.js +368 -0
  135. package/apps/web/dist/help/homepage-stickers.js +69 -0
  136. package/apps/web/dist/help/homepage-story-nav.js +11 -0
  137. package/apps/web/dist/help/homepage-subnav.js +61 -0
  138. package/apps/web/dist/help/homepage.css +833 -0
  139. package/apps/web/dist/help/index.html +1167 -0
  140. package/apps/web/dist/help/mini-app.css +7056 -0
  141. package/apps/web/dist/help/mini-app.html +15 -0
  142. package/apps/web/dist/help/mini-app.js +131 -0
  143. package/apps/web/dist/help/screenshots/release-checklist-vscode.png +0 -0
  144. package/apps/web/dist/help/screenshots/release-checklist-web.png +0 -0
  145. package/apps/web/dist/help/scroll-vendor.js +73 -0
  146. package/apps/web/dist/help/site.css +63 -0
  147. package/apps/web/dist/help/site.js +103 -0
  148. package/apps/web/dist/host-web.json +143 -0
  149. package/apps/web/dist/index.html +15 -0
  150. package/apps/web/dist/run-panel.html +15 -0
  151. package/apps/web/package.json +2 -2
  152. package/apps/web/src/App.tsx +8 -6
  153. package/apps/web/src/Overview.tsx +5 -5
  154. package/apps/web/src/PluginActivation.ts +25 -5
  155. package/apps/web/src/PluginChat.tsx +163 -129
  156. package/apps/web/src/PluginFailureNotice.tsx +15 -0
  157. package/apps/web/src/PluginRegistry.tsx +106 -68
  158. package/apps/web/src/RunPreparationChat.tsx +40 -28
  159. package/apps/web/src/RunStore.ts +2 -2
  160. package/apps/web/src/SettingsModal.tsx +37 -37
  161. package/apps/web/src/StartOptions.tsx +81 -26
  162. package/apps/web/src/StartSelection.tsx +111 -0
  163. package/apps/web/src/StartTiles.tsx +73 -0
  164. package/apps/web/src/{CanvasShortcuts.tsx → SurfaceShortcuts.tsx} +2 -2
  165. package/apps/web/src/ThemeSettings.tsx +1 -1
  166. package/apps/web/src/WorkspacePanel.tsx +4 -4
  167. package/apps/web/src/access-session.ts +4 -1
  168. package/{plugins/ragents.orchestration/web → apps/web/src}/actor-conversation.ts +3 -3
  169. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/DataTable.tsx +9 -9
  170. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/FilePicker.tsx +4 -4
  171. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/FlowDiagram.tsx +16 -14
  172. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/FlowDiagramRenderer.tsx +3 -3
  173. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/Form.tsx +12 -12
  174. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/Layout.tsx +1 -1
  175. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/MessageList.tsx +5 -5
  176. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/Viewers.tsx +8 -7
  177. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/WorkflowDiagram.tsx +1 -1
  178. package/apps/web/src/actor-programs/client-ui/chat-contracts.d.ts +64 -0
  179. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/contracts.d.ts +2 -2
  180. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/file-selection.ts +5 -5
  181. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/index.tsx +22 -16
  182. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/layout-contracts.d.ts +1 -1
  183. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/message-list-contracts.d.ts +2 -2
  184. package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/workflow-diagram-contracts.d.ts +1 -1
  185. package/apps/web/src/api.ts +43 -22
  186. package/apps/web/src/chat/QuasselHost.tsx +12 -0
  187. package/apps/web/src/chat/StoppedActorNotice.tsx +39 -0
  188. package/apps/web/src/chat/chat-target.ts +14 -5
  189. package/apps/web/src/chat/requests.ts +13 -5
  190. package/apps/web/src/chat/useAttachmentCapabilities.ts +2 -2
  191. package/apps/web/src/chat/useChat.ts +8 -7
  192. package/apps/web/src/chat/user-location.ts +1 -1
  193. package/apps/web/src/chat-view-settings.tsx +49 -0
  194. package/apps/web/src/host-modules.ts +90 -0
  195. package/apps/web/src/language-server/api.ts +24 -0
  196. package/{plugins/ragents.lsp-roslyn/web → apps/web/src/language-server}/language-server-plugin.tsx +133 -6
  197. package/apps/web/src/main.tsx +4 -2
  198. package/apps/web/src/offered-machines.ts +11 -0
  199. package/apps/web/src/panel/ConnectionsPage.tsx +117 -0
  200. package/apps/web/src/panel/LoginForm.tsx +9 -9
  201. package/apps/web/src/panel/PanelDialogs.tsx +44 -27
  202. package/apps/web/src/panel/PanelHeader.tsx +11 -0
  203. package/apps/web/src/panel/PanelPage.tsx +8 -5
  204. package/apps/web/src/panel/RunLine.tsx +48 -0
  205. package/apps/web/src/panel/RunsPage.tsx +84 -0
  206. package/apps/web/src/panel/StartPage.tsx +163 -0
  207. package/apps/web/src/panel/connection-state.ts +40 -0
  208. package/apps/web/src/panel/contract.ts +64 -21
  209. package/apps/web/src/panel/page-props.ts +6 -0
  210. package/apps/web/src/plugin-bootstrap.ts +60 -31
  211. package/{plugins/ragents.product/web → apps/web/src/product}/ModelControl.tsx +3 -3
  212. package/{plugins/ragents.product/web → apps/web/src/product}/ProductModelSettings.tsx +7 -7
  213. package/{plugins/ragents.product/web → apps/web/src/product}/SystemPromptControl.tsx +3 -3
  214. package/{plugins/ragents.product/web → apps/web/src/product}/model-settings.ts +3 -3
  215. package/{plugins/ragents.product/web → apps/web/src/product}/start-options.tsx +2 -2
  216. package/apps/web/src/rpc/client.ts +28 -6
  217. package/apps/web/src/run-panel/RunPanelApp.tsx +334 -0
  218. package/apps/web/src/{column/ColumnRunHeader.tsx → run-panel/RunPanelHeader.tsx} +2 -2
  219. package/apps/web/src/{column/ColumnMenu.tsx → run-panel/RunPanelMenu.tsx} +4 -4
  220. package/apps/web/src/run-panel/RunPanelRail.tsx +38 -0
  221. package/apps/web/src/run-panel/RunPanelWorkspace.tsx +55 -0
  222. package/apps/web/src/{column → run-panel}/clipboard.ts +21 -10
  223. package/apps/web/src/run-panel/host-contract.ts +123 -0
  224. package/apps/web/src/{column → run-panel}/host.ts +31 -23
  225. package/apps/web/src/run-panel/input-bridge.ts +75 -0
  226. package/apps/web/src/run-panel/keyboard.ts +53 -0
  227. package/apps/web/src/run-panel/run-panel-location.ts +35 -0
  228. package/apps/web/src/{column → run-panel}/use-session-list.ts +3 -3
  229. package/apps/web/src/run-panel/workspace-state.ts +43 -0
  230. package/apps/web/src/{column.tsx → run-panel.tsx} +20 -13
  231. package/apps/web/src/run-preparation.ts +1 -1
  232. package/{plugins/ragents.orchestration/web → apps/web/src}/run-view.ts +25 -7
  233. package/apps/web/src/settings-contributions.ts +16 -18
  234. package/apps/web/src/title-model-settings.ts +1 -1
  235. package/apps/web/src/toolLine.ts +1 -1
  236. package/apps/web/src/ui/ListDetail.tsx +1 -1
  237. package/apps/web/src/ui/dialog.tsx +5 -5
  238. package/apps/web/src/ui/frame.css +1 -0
  239. package/apps/web/src/ui/index.ts +5 -0
  240. package/apps/web/src/ui/popover.tsx +2 -2
  241. package/apps/web/src/ui/quassel.css +41 -0
  242. package/apps/web/src/ui/relative-time.ts +36 -0
  243. package/apps/web/src/ui/startup-notice.tsx +22 -0
  244. package/apps/web/src/ui/state-icon.tsx +60 -0
  245. package/apps/web/src/ui/state-vocabulary.ts +31 -0
  246. package/apps/web/src/ui/stop-button.tsx +22 -0
  247. package/apps/web/src/ui/tailwind.css +2 -3
  248. package/apps/web/src/ui/theme.css +19 -19
  249. package/apps/web/tsconfig.json +4 -5
  250. package/apps/web/tsconfig.plugin.json +44 -0
  251. package/bundles/ragents.activity/ragents-bundle.json +38 -0
  252. package/bundles/ragents.activity/server/index.js +14 -0
  253. package/bundles/ragents.activity/server/index.js.map +7 -0
  254. package/bundles/ragents.activity/web/classes.json +1 -0
  255. package/bundles/ragents.activity/web/index.js +2 -0
  256. package/bundles/ragents.activity/web/index.js.map +7 -0
  257. package/bundles/ragents.actor-programs/prompt.hbs +80 -0
  258. package/bundles/ragents.actor-programs/ragents-bundle.json +214 -0
  259. package/bundles/ragents.actor-programs/server/index.js +2071 -0
  260. package/bundles/ragents.actor-programs/server/index.js.map +7 -0
  261. package/bundles/ragents.actor-programs/summary.hbs +17 -0
  262. package/bundles/ragents.actor-programs/web/classes.json +1 -0
  263. package/bundles/ragents.actor-programs/web/index.js +27 -0
  264. package/bundles/ragents.actor-programs/web/index.js.map +7 -0
  265. package/bundles/ragents.ask/ask.hbs +4 -0
  266. package/bundles/ragents.ask/ragents-bundle.json +97 -0
  267. package/bundles/ragents.ask/server/chunks/chunk-PDJO75SQ.js +13 -0
  268. package/bundles/ragents.ask/server/chunks/chunk-PDJO75SQ.js.map +7 -0
  269. package/bundles/ragents.ask/server/exports/server/contract.js +11 -0
  270. package/bundles/ragents.ask/server/exports/server/contract.js.map +7 -0
  271. package/bundles/ragents.ask/server/index.js +279 -0
  272. package/bundles/ragents.ask/server/index.js.map +7 -0
  273. package/bundles/ragents.ask/web/chunks/chunk-4VXWWEG7.js +2 -0
  274. package/bundles/ragents.ask/web/chunks/chunk-4VXWWEG7.js.map +7 -0
  275. package/bundles/ragents.ask/web/chunks/chunk-HGFDGTNC.js +2 -0
  276. package/bundles/ragents.ask/web/chunks/chunk-HGFDGTNC.js.map +7 -0
  277. package/bundles/ragents.ask/web/chunks/chunk-V7W3QDVS.js +25 -0
  278. package/bundles/ragents.ask/web/chunks/chunk-V7W3QDVS.js.map +7 -0
  279. package/bundles/ragents.ask/web/chunks/chunk-VUBJDIKQ.js +2 -0
  280. package/bundles/ragents.ask/web/chunks/chunk-VUBJDIKQ.js.map +7 -0
  281. package/bundles/ragents.ask/web/classes.json +1 -0
  282. package/bundles/ragents.ask/web/exports/ask-payload.js +2 -0
  283. package/bundles/ragents.ask/web/exports/ask-payload.js.map +7 -0
  284. package/bundles/ragents.ask/web/exports/web/QuestionCard.js +2 -0
  285. package/bundles/ragents.ask/web/exports/web/QuestionCard.js.map +7 -0
  286. package/bundles/ragents.ask/web/exports/web/api.js +2 -0
  287. package/bundles/ragents.ask/web/exports/web/api.js.map +7 -0
  288. package/bundles/ragents.ask/web/index.js +2 -0
  289. package/bundles/ragents.ask/web/index.js.map +7 -0
  290. package/bundles/ragents.browser/ragents-bundle.json +53 -0
  291. package/bundles/ragents.browser/server/chunks/chunk-2GKLLCBE.js +11 -0
  292. package/bundles/ragents.browser/server/chunks/chunk-2GKLLCBE.js.map +7 -0
  293. package/bundles/ragents.browser/server/exports/server/contract.js +9 -0
  294. package/bundles/ragents.browser/server/exports/server/contract.js.map +7 -0
  295. package/bundles/ragents.browser/server/index.js +479 -0
  296. package/bundles/ragents.browser/server/index.js.map +7 -0
  297. package/bundles/ragents.browser/skills/browser-testing/SKILL.md +38 -0
  298. package/bundles/ragents.documents/prompt.hbs +18 -0
  299. package/bundles/ragents.documents/ragents-bundle.json +120 -0
  300. package/bundles/ragents.documents/server/chunks/chunk-QIECRZ7C.js +37 -0
  301. package/bundles/ragents.documents/server/chunks/chunk-QIECRZ7C.js.map +7 -0
  302. package/bundles/ragents.documents/server/exports/contract.js +11 -0
  303. package/bundles/ragents.documents/server/exports/contract.js.map +7 -0
  304. package/bundles/ragents.documents/server/index.js +290 -0
  305. package/bundles/ragents.documents/server/index.js.map +7 -0
  306. package/bundles/ragents.documents/web/classes.json +1 -0
  307. package/bundles/ragents.documents/web/index.js +26 -0
  308. package/bundles/ragents.documents/web/index.js.map +7 -0
  309. package/bundles/ragents.lsp-fsharp/ragents-bundle.json +49 -0
  310. package/bundles/ragents.lsp-fsharp/server/index.js +82 -0
  311. package/bundles/ragents.lsp-fsharp/server/index.js.map +7 -0
  312. package/bundles/ragents.lsp-fsharp/web/classes.json +1 -0
  313. package/bundles/ragents.lsp-fsharp/web/index.js +2 -0
  314. package/bundles/ragents.lsp-fsharp/web/index.js.map +7 -0
  315. package/bundles/ragents.lsp-roslyn/ragents-bundle.json +61 -0
  316. package/bundles/ragents.lsp-roslyn/server/index.js +208 -0
  317. package/bundles/ragents.lsp-roslyn/server/index.js.map +7 -0
  318. package/bundles/ragents.lsp-roslyn/web/classes.json +1 -0
  319. package/bundles/ragents.lsp-roslyn/web/index.js +2 -0
  320. package/bundles/ragents.lsp-roslyn/web/index.js.map +7 -0
  321. package/bundles/ragents.lsp-typescript/ragents-bundle.json +36 -0
  322. package/bundles/ragents.lsp-typescript/server/index.js +13 -0
  323. package/bundles/ragents.lsp-typescript/server/index.js.map +7 -0
  324. package/bundles/ragents.lsp-typescript/web/classes.json +1 -0
  325. package/bundles/ragents.lsp-typescript/web/index.js +2 -0
  326. package/bundles/ragents.lsp-typescript/web/index.js.map +7 -0
  327. package/bundles/ragents.model-relay/ragents-bundle.json +33 -0
  328. package/bundles/ragents.model-relay/server/index.js +230 -0
  329. package/bundles/ragents.model-relay/server/index.js.map +7 -0
  330. package/bundles/ragents.orchestration/orchestration.hbs +106 -0
  331. package/bundles/ragents.orchestration/ragents-bundle.json +194 -0
  332. package/bundles/ragents.orchestration/server/index.js +277 -0
  333. package/bundles/ragents.orchestration/server/index.js.map +7 -0
  334. package/bundles/ragents.orchestration/web/chunks/chunk-ODMMQGX2.js +2 -0
  335. package/bundles/ragents.orchestration/web/chunks/chunk-ODMMQGX2.js.map +7 -0
  336. package/bundles/ragents.orchestration/web/chunks/chunk-OQYCNYXN.js +2 -0
  337. package/bundles/ragents.orchestration/web/chunks/chunk-OQYCNYXN.js.map +7 -0
  338. package/bundles/ragents.orchestration/web/chunks/chunk-OSKPH6SZ.js +2 -0
  339. package/bundles/ragents.orchestration/web/chunks/chunk-OSKPH6SZ.js.map +7 -0
  340. package/bundles/ragents.orchestration/web/chunks/chunk-XGPPQCZR.js +2 -0
  341. package/bundles/ragents.orchestration/web/chunks/chunk-XGPPQCZR.js.map +7 -0
  342. package/bundles/ragents.orchestration/web/classes.json +1 -0
  343. package/bundles/ragents.orchestration/web/exports/web/program-slot.js +2 -0
  344. package/bundles/ragents.orchestration/web/exports/web/program-slot.js.map +7 -0
  345. package/bundles/ragents.orchestration/web/exports/web/surface-entities.js +2 -0
  346. package/bundles/ragents.orchestration/web/exports/web/surface-entities.js.map +7 -0
  347. package/bundles/ragents.orchestration/web/exports/web/tile-docking.js +2 -0
  348. package/bundles/ragents.orchestration/web/exports/web/tile-docking.js.map +7 -0
  349. package/bundles/ragents.orchestration/web/index.js +51 -0
  350. package/bundles/ragents.orchestration/web/index.js.map +7 -0
  351. package/bundles/ragents.overseer/ragents-bundle.json +144 -0
  352. package/bundles/ragents.overseer/server/index.js +652 -0
  353. package/bundles/ragents.overseer/server/index.js.map +7 -0
  354. package/bundles/ragents.overseer/web/classes.json +1 -0
  355. package/bundles/ragents.overseer/web/index.js +25 -0
  356. package/bundles/ragents.overseer/web/index.js.map +7 -0
  357. package/bundles/ragents.processes/ragents-bundle.json +93 -0
  358. package/bundles/ragents.processes/server/index.js +204 -0
  359. package/bundles/ragents.processes/server/index.js.map +7 -0
  360. package/bundles/ragents.processes/web/classes.json +1 -0
  361. package/bundles/ragents.processes/web/index.js +4 -0
  362. package/bundles/ragents.processes/web/index.js.map +7 -0
  363. package/bundles/ragents.product/preamble.hbs +9 -0
  364. package/bundles/ragents.product/ragents-bundle.json +93 -0
  365. package/bundles/ragents.product/server/index.js +208 -0
  366. package/bundles/ragents.product/server/index.js.map +7 -0
  367. package/bundles/ragents.product/web/classes.json +1 -0
  368. package/bundles/ragents.product/web/index.js +2 -0
  369. package/bundles/ragents.product/web/index.js.map +7 -0
  370. package/bundles/ragents.profile-distribution/ragents-bundle.json +64 -0
  371. package/bundles/ragents.profile-distribution/server/index.js +241 -0
  372. package/bundles/ragents.profile-distribution/server/index.js.map +7 -0
  373. package/bundles/ragents.reference/ragents-bundle.json +39 -0
  374. package/bundles/ragents.reference/run-scripts/balcony-wizard/RUN.md +27 -0
  375. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/package.json +10 -0
  376. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/client.tsx +80 -0
  377. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/conversation.ts +82 -0
  378. package/bundles/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/tests/conversation.test.ts +154 -0
  379. package/bundles/ragents.reference/run-scripts/balcony-wizard/package.json +9 -0
  380. package/bundles/ragents.reference/run-scripts/balcony-wizard/src/server.ts +32 -0
  381. package/bundles/ragents.reference/run-scripts/balcony-wizard/tests/program.test.ts +59 -0
  382. package/bundles/ragents.reference/run-scripts/conversation-circle/RUN.md +13 -0
  383. package/bundles/ragents.reference/run-scripts/conversation-circle/package.json +9 -0
  384. package/bundles/ragents.reference/run-scripts/conversation-circle/src/server.ts +81 -0
  385. package/bundles/ragents.reference/run-scripts/conversation-circle/tests/helpers.ts +26 -0
  386. package/bundles/ragents.reference/run-scripts/conversation-circle/tests/program.test.ts +34 -0
  387. package/bundles/ragents.reference/run-scripts/learning-afternoon/RUN.md +24 -0
  388. package/bundles/ragents.reference/run-scripts/learning-afternoon/package.json +10 -0
  389. package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/experiment.md +1 -0
  390. package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/helper.md +5 -0
  391. package/bundles/ragents.reference/run-scripts/learning-afternoon/prompts/quiz.md +1 -0
  392. package/bundles/ragents.reference/run-scripts/learning-afternoon/src/client.tsx +27 -0
  393. package/bundles/ragents.reference/run-scripts/learning-afternoon/src/server.ts +137 -0
  394. package/bundles/ragents.reference/run-scripts/learning-afternoon/src/state.ts +38 -0
  395. package/bundles/ragents.reference/run-scripts/learning-afternoon/src/view.tsx +42 -0
  396. package/bundles/ragents.reference/run-scripts/learning-afternoon/src/workflow.ts +38 -0
  397. package/bundles/ragents.reference/run-scripts/learning-afternoon/tests/program.test.ts +218 -0
  398. package/bundles/ragents.reference/run-scripts/moderated-round/RUN.md +12 -0
  399. package/bundles/ragents.reference/run-scripts/moderated-round/package.json +9 -0
  400. package/bundles/ragents.reference/run-scripts/moderated-round/src/server.ts +60 -0
  401. package/bundles/ragents.reference/run-scripts/moderated-round/tests/helpers.ts +26 -0
  402. package/bundles/ragents.reference/run-scripts/moderated-round/tests/program.test.ts +24 -0
  403. package/bundles/ragents.reference/run-scripts/shared-actor-list/RUN.md +18 -0
  404. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/package.json +16 -0
  405. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/client.tsx +39 -0
  406. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/contract.ts +15 -0
  407. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/server.ts +14 -0
  408. package/bundles/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/tests/program.test.ts +13 -0
  409. package/bundles/ragents.reference/run-scripts/shared-actor-list/package.json +9 -0
  410. package/bundles/ragents.reference/run-scripts/shared-actor-list/src/server.ts +65 -0
  411. package/bundles/ragents.reference/run-scripts/shared-actor-list/tests/helpers.ts +26 -0
  412. package/bundles/ragents.reference/run-scripts/shared-actor-list/tests/program.test.ts +42 -0
  413. package/bundles/ragents.reference/run-scripts/word-game/RUN.md +25 -0
  414. package/bundles/ragents.reference/run-scripts/word-game/package.json +11 -0
  415. package/bundles/ragents.reference/run-scripts/word-game/src/client.tsx +27 -0
  416. package/bundles/ragents.reference/run-scripts/word-game/src/contract.ts +23 -0
  417. package/bundles/ragents.reference/run-scripts/word-game/src/server.ts +105 -0
  418. package/bundles/ragents.reference/run-scripts/word-game/src/state.ts +22 -0
  419. package/bundles/ragents.reference/run-scripts/word-game/src/view.tsx +54 -0
  420. package/bundles/ragents.reference/run-scripts/word-game/tests/program.test.ts +252 -0
  421. package/bundles/ragents.reference/server/index.js +16 -0
  422. package/bundles/ragents.reference/server/index.js.map +7 -0
  423. package/bundles/ragents.reference/skills/100-shared-actor-list/SKILL.md +12 -0
  424. package/bundles/ragents.reference/skills/110-all-card-slots/SKILL.md +12 -0
  425. package/bundles/ragents.reference/skills/150-editorial-workbench/SKILL.md +12 -0
  426. package/bundles/ragents.reference/skills/160-learning-companion/SKILL.md +12 -0
  427. package/bundles/ragents.reference/skills/170-photo-collection/SKILL.md +12 -0
  428. package/bundles/ragents.reference/skills/180-decision-workbench/SKILL.md +12 -0
  429. package/bundles/ragents.reference/skills/190-review-queue/SKILL.md +12 -0
  430. package/bundles/ragents.reference/skills/20-circle-of-four/SKILL.md +12 -0
  431. package/bundles/ragents.reference/skills/200-typescript-diagnostics/SKILL.md +12 -0
  432. package/bundles/ragents.reference/skills/210-moderator-handover/SKILL.md +12 -0
  433. package/bundles/ragents.reference/skills/220-actor-approval-list/SKILL.md +12 -0
  434. package/bundles/ragents.reference/skills/230-shared-state-views/SKILL.md +12 -0
  435. package/bundles/ragents.reference/skills/240-live-result-list/SKILL.md +12 -0
  436. package/bundles/ragents.reference/skills/250-balcony-wizard/SKILL.md +12 -0
  437. package/bundles/ragents.reference/skills/30-llm-without-runtime-knowledge/SKILL.md +12 -0
  438. package/bundles/ragents.reference/skills/35-actor-input-fifo/SKILL.md +12 -0
  439. package/bundles/ragents.reference/skills/40-subscription-matrix/SKILL.md +12 -0
  440. package/bundles/ragents.reference/skills/50-subscription-removal/SKILL.md +12 -0
  441. package/bundles/ragents.reference/skills/60-stop-in-the-circle/SKILL.md +12 -0
  442. package/bundles/ragents.reference/skills/65-artifact-least-privilege/SKILL.md +12 -0
  443. package/bundles/ragents.reference/skills/70-headless-counter/SKILL.md +12 -0
  444. package/bundles/ragents.reference/skills/75-lsp-demo/SKILL.md +12 -0
  445. package/bundles/ragents.reference/skills/80-actor-text-analysis/SKILL.md +12 -0
  446. package/bundles/ragents.reference/skills/90-actor-notes/SKILL.md +12 -0
  447. package/bundles/ragents.reference/skills/95-hello-world/SKILL.md +12 -0
  448. package/bundles/ragents.reference/skills/decision-brief/SKILL.md +33 -0
  449. package/bundles/ragents.reference/skills/learning-sprint/SKILL.md +33 -0
  450. package/bundles/ragents.reference/web/classes.json +1 -0
  451. package/bundles/ragents.reference/web/index.js +2 -0
  452. package/bundles/ragents.reference/web/index.js.map +7 -0
  453. package/bundles/ragents.todo/ragents-bundle.json +48 -0
  454. package/bundles/ragents.todo/server/index.js +108 -0
  455. package/bundles/ragents.todo/server/index.js.map +7 -0
  456. package/bundles/ragents.todo/web/classes.json +1 -0
  457. package/bundles/ragents.todo/web/index.js +2 -0
  458. package/bundles/ragents.todo/web/index.js.map +7 -0
  459. package/bundles/ragents.transcript/ragents-bundle.json +34 -0
  460. package/bundles/ragents.transcript/server/index.js +102 -0
  461. package/bundles/ragents.transcript/server/index.js.map +7 -0
  462. package/bundles/ragents.watch/ragents-bundle.json +39 -0
  463. package/bundles/ragents.watch/server/chunks/chunk-FHAM6OML.js +11 -0
  464. package/bundles/ragents.watch/server/chunks/chunk-FHAM6OML.js.map +7 -0
  465. package/bundles/ragents.watch/server/chunks/chunk-RPBX3J4P.js +10 -0
  466. package/bundles/ragents.watch/server/chunks/chunk-RPBX3J4P.js.map +7 -0
  467. package/bundles/ragents.watch/server/exports/contract.js +9 -0
  468. package/bundles/ragents.watch/server/exports/contract.js.map +7 -0
  469. package/bundles/ragents.watch/server/exports/server/contract.js +9 -0
  470. package/bundles/ragents.watch/server/exports/server/contract.js.map +7 -0
  471. package/bundles/ragents.watch/server/index.js +482 -0
  472. package/bundles/ragents.watch/server/index.js.map +7 -0
  473. package/bundles/ragents.workspace/prompt.hbs +7 -0
  474. package/bundles/ragents.workspace/ragents-bundle.json +148 -0
  475. package/bundles/ragents.workspace/server/index.js +1049 -0
  476. package/bundles/ragents.workspace/server/index.js.map +7 -0
  477. package/bundles/ragents.workspace/web/classes.json +1 -0
  478. package/bundles/ragents.workspace/web/index.js +39 -0
  479. package/bundles/ragents.workspace/web/index.js.map +7 -0
  480. package/package.json +4 -15
  481. package/packages/agent/dist/core/agent-session-runtime.d.ts +33 -0
  482. package/packages/agent/dist/core/agent-session-services.d.ts +35 -0
  483. package/packages/agent/dist/core/agent-session.d.ts +234 -0
  484. package/packages/agent/dist/core/agent-settings.d.ts +27 -0
  485. package/packages/agent/dist/core/auth-guidance.d.ts +4 -0
  486. package/packages/agent/dist/core/compaction/compaction.d.ts +116 -0
  487. package/packages/agent/dist/core/compaction/index.d.ts +6 -0
  488. package/packages/agent/dist/core/compaction/utils.d.ts +39 -0
  489. package/packages/agent/dist/core/defaults.d.ts +3 -0
  490. package/packages/agent/dist/core/extensions/index.d.ts +11 -0
  491. package/packages/agent/dist/core/extensions/loader.d.ts +12 -0
  492. package/packages/agent/dist/core/extensions/runner.d.ts +39 -0
  493. package/packages/agent/dist/core/extensions/types.d.ts +156 -0
  494. package/packages/agent/dist/core/extensions/wrapper.d.ts +12 -0
  495. package/packages/agent/dist/core/messages.d.ts +37 -0
  496. package/packages/agent/dist/core/model-runtime.d.ts +32 -0
  497. package/packages/agent/dist/core/provider-composer.d.ts +25 -0
  498. package/packages/agent/dist/core/resource-loader.d.ts +39 -0
  499. package/packages/agent/dist/core/sdk.d.ts +38 -0
  500. package/packages/agent/dist/core/session-manager.d.ts +189 -0
  501. package/packages/agent/dist/core/skills.d.ts +20 -0
  502. package/packages/agent/dist/core/source-info.d.ts +16 -0
  503. package/packages/agent/dist/core/system-prompt.d.ts +21 -0
  504. package/packages/agent/dist/core/tools/bash.d.ts +63 -0
  505. package/packages/agent/dist/core/tools/edit-diff.d.ts +98 -0
  506. package/packages/agent/dist/core/tools/edit.d.ts +41 -0
  507. package/packages/agent/dist/core/tools/file-mutation-queue.d.ts +6 -0
  508. package/packages/agent/dist/core/tools/index.d.ts +5 -0
  509. package/packages/agent/dist/core/tools/output-accumulator.d.ts +58 -0
  510. package/packages/agent/dist/core/tools/path-utils.d.ts +8 -0
  511. package/packages/agent/dist/core/tools/read.d.ts +33 -0
  512. package/packages/agent/dist/core/tools/truncate.d.ts +61 -0
  513. package/packages/agent/dist/core/tools/write.d.ts +23 -0
  514. package/packages/agent/dist/index.d.ts +13 -0
  515. package/packages/agent/dist/loop/agent-loop.d.ts +13 -0
  516. package/packages/agent/dist/loop/agent.d.ts +103 -0
  517. package/packages/agent/dist/loop/index.d.ts +5 -0
  518. package/packages/agent/dist/loop/types.d.ts +333 -0
  519. package/packages/agent/dist/loop/uuid.d.ts +2 -0
  520. package/packages/agent/dist/utils/child-process.d.ts +17 -0
  521. package/packages/agent/dist/utils/exif-orientation.d.ts +5 -0
  522. package/packages/agent/dist/utils/frontmatter.d.ts +8 -0
  523. package/packages/agent/dist/utils/image-convert.d.ts +2 -0
  524. package/packages/agent/dist/utils/image-process.d.ts +18 -0
  525. package/packages/agent/dist/utils/image-resize-core.d.ts +30 -0
  526. package/packages/agent/dist/utils/image-resize-worker.d.ts +2 -0
  527. package/packages/agent/dist/utils/image-resize.d.ts +16 -0
  528. package/packages/agent/dist/utils/mime.d.ts +3 -0
  529. package/packages/agent/dist/utils/paths.d.ts +15 -0
  530. package/packages/agent/dist/utils/photon.d.ts +21 -0
  531. package/packages/agent/dist/utils/shell.d.ts +17 -0
  532. package/packages/agent/dist/utils/sleep.d.ts +5 -0
  533. package/packages/agent/package.json +3 -32
  534. package/packages/agent/src/core/agent-session-runtime.ts +15 -469
  535. package/packages/agent/src/core/agent-session-services.ts +17 -167
  536. package/packages/agent/src/core/agent-session.ts +154 -2403
  537. package/packages/agent/src/core/agent-settings.ts +20 -0
  538. package/packages/agent/src/core/auth-guidance.ts +0 -4
  539. package/packages/agent/src/core/compaction/compaction.ts +4 -33
  540. package/packages/agent/src/core/compaction/index.ts +0 -1
  541. package/packages/agent/src/core/compaction/utils.ts +2 -2
  542. package/packages/agent/src/core/defaults.ts +1 -1
  543. package/packages/agent/src/core/extensions/index.ts +6 -117
  544. package/packages/agent/src/core/extensions/loader.ts +21 -605
  545. package/packages/agent/src/core/extensions/runner.ts +48 -969
  546. package/packages/agent/src/core/extensions/types.ts +35 -1298
  547. package/packages/agent/src/core/extensions/wrapper.ts +13 -34
  548. package/packages/agent/src/core/messages.ts +5 -109
  549. package/packages/agent/src/core/model-runtime.ts +109 -467
  550. package/packages/agent/src/core/provider-composer.ts +21 -451
  551. package/packages/agent/src/core/resource-loader.ts +18 -822
  552. package/packages/agent/src/core/sdk.ts +46 -281
  553. package/packages/agent/src/core/session-manager.ts +11 -891
  554. package/packages/agent/src/core/skills.ts +8 -440
  555. package/packages/agent/src/core/source-info.ts +0 -12
  556. package/packages/agent/src/core/system-prompt.ts +2 -41
  557. package/packages/agent/src/core/tools/bash.ts +20 -32
  558. package/packages/agent/src/core/tools/edit-diff.ts +0 -60
  559. package/packages/agent/src/core/tools/edit.ts +2 -18
  560. package/packages/agent/src/core/tools/index.ts +4 -130
  561. package/packages/agent/src/core/tools/output-accumulator.ts +33 -5
  562. package/packages/agent/src/core/tools/path-utils.ts +2 -49
  563. package/packages/agent/src/core/tools/read.ts +4 -12
  564. package/packages/agent/src/core/tools/truncate.ts +0 -15
  565. package/packages/agent/src/core/tools/write.ts +1 -8
  566. package/packages/agent/src/index.ts +11 -272
  567. package/packages/{agent-core/src → agent/src/loop}/agent-loop.ts +127 -273
  568. package/packages/{agent-core/src → agent/src/loop}/agent.ts +12 -164
  569. package/packages/{agent-core/src → agent/src/loop}/types.ts +6 -105
  570. package/packages/agent/src/utils/child-process.ts +0 -13
  571. package/packages/agent/src/utils/image-convert.ts +0 -25
  572. package/packages/agent/src/utils/paths.ts +1 -71
  573. package/packages/agent/src/utils/shell.ts +13 -156
  574. package/packages/ai/dist/api/ai-sdk-messages.d.ts +9 -0
  575. package/packages/ai/dist/api/ai-sdk-transport.d.ts +13 -0
  576. package/packages/ai/dist/api/ai-sdk.d.ts +13 -0
  577. package/packages/ai/dist/api/ai-sdk.lazy.d.ts +3 -0
  578. package/packages/ai/dist/api/lazy.d.ts +15 -0
  579. package/packages/ai/dist/api/simple-options.d.ts +4 -0
  580. package/packages/ai/dist/api/transform-messages.d.ts +8 -0
  581. package/packages/ai/dist/api-registry.d.ts +25 -0
  582. package/packages/ai/dist/auth/context.d.ts +4 -0
  583. package/packages/ai/dist/auth/helpers.d.ts +4 -0
  584. package/packages/ai/dist/auth/resolve.d.ts +19 -0
  585. package/packages/ai/dist/auth/types.d.ts +51 -0
  586. package/packages/ai/dist/env-api-keys.d.ts +8 -0
  587. package/packages/ai/dist/index.d.ts +19 -0
  588. package/packages/ai/dist/models.d.ts +71 -0
  589. package/packages/ai/dist/models.generated.d.ts +8021 -0
  590. package/packages/ai/dist/providers/all.d.ts +15 -0
  591. package/packages/ai/dist/providers/faux.d.ts +97 -0
  592. package/packages/ai/dist/providers/openrouter.d.ts +3 -0
  593. package/packages/ai/dist/providers/openrouter.models.d.ts +8019 -0
  594. package/packages/ai/dist/types.d.ts +541 -0
  595. package/packages/ai/dist/utils/diagnostics.d.ts +13 -0
  596. package/packages/ai/dist/utils/error-body.d.ts +25 -0
  597. package/packages/ai/dist/utils/estimate.d.ts +17 -0
  598. package/packages/ai/dist/utils/event-stream.d.ts +21 -0
  599. package/packages/ai/dist/utils/headers.d.ts +2 -0
  600. package/packages/ai/dist/utils/json-parse.d.ts +16 -0
  601. package/packages/ai/dist/utils/overflow.d.ts +54 -0
  602. package/packages/ai/dist/utils/provider-env.d.ts +7 -0
  603. package/packages/ai/dist/utils/retry.d.ts +12 -0
  604. package/packages/ai/dist/utils/sanitize-unicode.d.ts +22 -0
  605. package/packages/ai/dist/utils/typebox-helpers.d.ts +17 -0
  606. package/packages/ai/dist/utils/validation.d.ts +10 -0
  607. package/packages/ai/package.json +2 -6
  608. package/packages/ai/src/api/ai-sdk-transport.ts +2 -2
  609. package/packages/ai/src/api/simple-options.ts +0 -34
  610. package/packages/ai/src/api-registry.ts +1 -12
  611. package/packages/ai/src/auth/context.ts +1 -30
  612. package/packages/ai/src/auth/helpers.ts +3 -34
  613. package/packages/ai/src/auth/resolve.ts +10 -108
  614. package/packages/ai/src/auth/types.ts +9 -176
  615. package/packages/ai/src/index.ts +1 -13
  616. package/packages/ai/src/models.ts +41 -407
  617. package/packages/ai/src/providers/all.ts +3 -31
  618. package/packages/ai/src/providers/openrouter.models.ts +14 -0
  619. package/packages/ai/src/types.ts +0 -104
  620. package/packages/ai/src/utils/diagnostics.ts +0 -32
  621. package/packages/ai/src/utils/headers.ts +0 -11
  622. package/packages/ai/src/utils/overflow.ts +0 -7
  623. package/packages/ai/src/utils/validation.ts +0 -15
  624. package/packages/ragents/package.json +3 -6
  625. package/packages/ragents/src/access.ts +2 -1
  626. package/packages/ragents/src/agents/actor-input.ts +14 -18
  627. package/packages/ragents/src/agents/catalog.ts +3 -3
  628. package/packages/ragents/src/agents/plugins.ts +0 -4
  629. package/packages/ragents/src/agents/scheduler.ts +232 -78
  630. package/packages/ragents/src/agents/schemas.ts +1 -36
  631. package/packages/ragents/src/agents/tool-orientation.ts +1 -1
  632. package/packages/ragents/src/agents/tools.ts +72 -73
  633. package/packages/ragents/src/agents/toolset.ts +5 -5
  634. package/packages/ragents/src/agents/turn.ts +2 -14
  635. package/packages/ragents/src/agents/workspaces.ts +18 -0
  636. package/packages/ragents/src/domain/actor-reference.ts +22 -0
  637. package/packages/ragents/src/domain/driver.ts +0 -9
  638. package/packages/ragents/src/domain/event-semantics.ts +62 -74
  639. package/packages/ragents/src/domain/event-validation.ts +22 -21
  640. package/packages/ragents/src/domain/events.ts +19 -7
  641. package/packages/ragents/src/domain/json.ts +2 -0
  642. package/packages/ragents/src/domain/model.ts +40 -18
  643. package/packages/ragents/src/domain/projection.ts +43 -15
  644. package/packages/ragents/src/domain/schema-errors.ts +3 -3
  645. package/packages/ragents/src/drivers/agent-hooks.ts +40 -0
  646. package/packages/ragents/src/drivers/agent-runtime.ts +118 -186
  647. package/packages/ragents/src/drivers/agent.ts +5 -20
  648. package/packages/ragents/src/drivers/attachments.ts +4 -24
  649. package/packages/ragents/src/drivers/skill-preload.ts +4 -16
  650. package/packages/ragents/src/drivers/types.ts +20 -3
  651. package/packages/ragents/src/http/contracts.ts +16 -3
  652. package/packages/ragents/src/http/methods.ts +32 -33
  653. package/packages/ragents/src/index.ts +5 -15
  654. package/packages/ragents/src/plugin-host.ts +151 -105
  655. package/packages/ragents/src/plugin-types.ts +86 -23
  656. package/packages/ragents/src/rpc/peer.ts +6 -0
  657. package/packages/ragents/src/runtime/decisions/actions.ts +40 -37
  658. package/packages/ragents/src/runtime/decisions/actors.ts +90 -51
  659. package/packages/ragents/src/runtime/decisions/artifacts.ts +2 -2
  660. package/packages/ragents/src/runtime/decisions/inputs.ts +3 -3
  661. package/packages/ragents/src/runtime/decisions/subscriptions.ts +9 -7
  662. package/packages/ragents/src/runtime/decisions/turns.ts +37 -4
  663. package/packages/ragents/src/runtime/guards.ts +12 -21
  664. package/packages/ragents/src/runtime/journal-storage.ts +4 -2
  665. package/packages/ragents/src/runtime/journal.ts +1 -1
  666. package/packages/ragents/src/runtime/orchestration.ts +31 -14
  667. package/packages/ragents/src/runtime/serial-queue.ts +24 -0
  668. package/packages/ragents/src/runtime/stop.ts +19 -44
  669. package/packages/ragents/src/script/mediators.ts +4 -5
  670. package/packages/ragents/src/typescript/index.ts +2 -0
  671. package/packages/ragents/src/typescript/run-context.ts +10 -8
  672. package/packages/ragents/src/typescript/snippet.ts +7 -6
  673. package/packages/workspace-executor/package.json +2 -2
  674. package/packages/workspace-executor/src/bash-launch.ts +45 -0
  675. package/packages/workspace-executor/src/browser/contract.ts +71 -0
  676. package/packages/workspace-executor/src/browser/module.ts +74 -0
  677. package/packages/workspace-executor/src/browser/pages.ts +298 -0
  678. package/packages/workspace-executor/src/browser/playwright.ts +52 -0
  679. package/packages/workspace-executor/src/commands.ts +170 -0
  680. package/packages/workspace-executor/src/context.ts +34 -6
  681. package/packages/workspace-executor/src/errors.ts +12 -0
  682. package/packages/workspace-executor/src/executor.ts +62 -104
  683. package/packages/workspace-executor/src/files.ts +287 -0
  684. package/packages/workspace-executor/src/index.ts +82 -18
  685. package/packages/workspace-executor/src/language-server/adapters/roslyn.ts +1 -0
  686. package/packages/workspace-executor/src/language-server/contract.ts +14 -0
  687. package/packages/workspace-executor/src/language-server/host.ts +82 -26
  688. package/packages/workspace-executor/src/language-server/module.ts +107 -0
  689. package/packages/workspace-executor/src/language-server/workspace-solutions.ts +90 -0
  690. package/packages/workspace-executor/src/managed-process.ts +1 -1
  691. package/packages/workspace-executor/src/module.ts +35 -0
  692. package/packages/workspace-executor/src/modules.ts +25 -0
  693. package/packages/workspace-executor/src/paths.ts +57 -5
  694. package/packages/workspace-executor/src/process-sandbox.ts +16 -0
  695. package/packages/workspace-executor/src/processes/module.ts +48 -0
  696. package/{plugins/ragents.processes/server → packages/workspace-executor/src/processes}/process-table.ts +80 -57
  697. package/packages/workspace-executor/src/processes/scanner.ts +106 -0
  698. package/{plugins/ragents.processes/server → packages/workspace-executor/src/processes}/snapshot.ts +23 -11
  699. package/{plugins/ragents.processes/server → packages/workspace-executor/src/processes}/terminator.ts +19 -20
  700. package/packages/workspace-executor/src/run-folders.ts +33 -0
  701. package/packages/workspace-executor/src/safe-environment.ts +14 -0
  702. package/packages/workspace-executor/src/sandbox-tools.ts +206 -36
  703. package/packages/workspace-executor/src/shell-platform.ts +2 -2
  704. package/plugins/package.json +1 -1
  705. package/plugins/ragents.activity/ragents-plugin.json +3 -0
  706. package/plugins/ragents.activity/server/index.ts +2 -2
  707. package/plugins/ragents.activity/web/ActivityHeader.tsx +2 -2
  708. package/plugins/ragents.activity/web/activity.ts +1 -1
  709. package/plugins/ragents.activity/web/index.tsx +1 -1
  710. package/plugins/ragents.actor-programs/prompt.hbs +8 -7
  711. package/plugins/ragents.actor-programs/ragents-plugin.json +3 -0
  712. package/plugins/ragents.actor-programs/server/agent-tools.ts +3 -3
  713. package/{apps/server/src/plugin-support/actor-programs → plugins/ragents.actor-programs/server}/capability-resolver.ts +1 -16
  714. package/plugins/ragents.actor-programs/server/controls-template.ts +5 -18
  715. package/plugins/ragents.actor-programs/server/controls-tool.ts +8 -11
  716. package/plugins/ragents.actor-programs/server/index.ts +10 -10
  717. package/{apps/server/src/plugin-support/actor-programs → plugins/ragents.actor-programs/server}/limits.ts +4 -4
  718. package/plugins/ragents.actor-programs/server/methods.ts +2 -2
  719. package/{apps/server/src/plugin-support/actor-programs → plugins/ragents.actor-programs/server}/operations.ts +2 -4
  720. package/plugins/ragents.actor-programs/server/project-diagnostics.ts +65 -70
  721. package/plugins/ragents.actor-programs/server/prompts.ts +4 -4
  722. package/plugins/ragents.actor-programs/server/routes.ts +14 -8
  723. package/plugins/ragents.actor-programs/server/runtime.ts +132 -55
  724. package/plugins/ragents.actor-programs/server/templates.ts +35 -80
  725. package/plugins/ragents.actor-programs/server/test-report.ts +106 -0
  726. package/plugins/ragents.actor-programs/server/tool-contributor.ts +4 -4
  727. package/plugins/ragents.actor-programs/summary.hbs +1 -1
  728. package/plugins/ragents.actor-programs/web/ActorViewFrame.tsx +15 -10
  729. package/plugins/ragents.actor-programs/web/AppsPanel.tsx +47 -30
  730. package/plugins/ragents.actor-programs/web/EmbeddedApps.tsx +15 -17
  731. package/plugins/ragents.actor-programs/web/FullscreenHost.tsx +3 -3
  732. package/plugins/ragents.actor-programs/web/FunctionForm.tsx +3 -3
  733. package/plugins/ragents.actor-programs/web/ProgramSource.tsx +12 -3
  734. package/plugins/ragents.actor-programs/web/api.ts +5 -5
  735. package/plugins/ragents.actor-programs/web/bridge.ts +2 -3
  736. package/plugins/ragents.actor-programs/web/chat-state.ts +9 -8
  737. package/plugins/ragents.actor-programs/web/index.tsx +7 -17
  738. package/plugins/ragents.actor-programs/web/program-state.ts +3 -3
  739. package/plugins/ragents.actor-programs/web/state-revision.ts +2 -2
  740. package/plugins/ragents.ask/ask-payload.ts +25 -0
  741. package/plugins/ragents.ask/contract.ts +2 -2
  742. package/plugins/ragents.ask/ragents-plugin.json +7 -0
  743. package/plugins/ragents.ask/server/answer-method.ts +1 -1
  744. package/plugins/ragents.ask/server/ask-service.ts +43 -19
  745. package/plugins/ragents.ask/server/ask-tool.ts +2 -2
  746. package/plugins/ragents.ask/server/contract.ts +9 -1
  747. package/plugins/ragents.ask/server/index.ts +8 -10
  748. package/plugins/ragents.ask/server/tool-contributor.ts +3 -3
  749. package/plugins/ragents.ask/web/AskActionView.tsx +36 -0
  750. package/{apps/web/src/chat → plugins/ragents.ask/web}/QuestionCard.tsx +7 -5
  751. package/plugins/ragents.ask/web/QuestionSection.tsx +22 -21
  752. package/plugins/ragents.ask/web/api.ts +1 -1
  753. package/plugins/ragents.ask/web/index.tsx +11 -8
  754. package/plugins/ragents.browser/provision.ts +9 -8
  755. package/plugins/ragents.browser/ragents-plugin.json +6 -0
  756. package/plugins/ragents.browser/server/browser.ts +165 -286
  757. package/plugins/ragents.browser/server/contract.ts +8 -19
  758. package/plugins/ragents.browser/server/index.ts +8 -7
  759. package/plugins/ragents.browser/server/tools.ts +29 -37
  760. package/plugins/ragents.browser/skills/browser-testing/SKILL.md +3 -1
  761. package/plugins/ragents.documents/contract.ts +4 -2
  762. package/plugins/ragents.documents/ragents-plugin.json +6 -0
  763. package/plugins/ragents.documents/server/config.ts +1 -1
  764. package/plugins/ragents.documents/server/document-write-tool.ts +2 -2
  765. package/plugins/ragents.documents/server/files-route.ts +2 -3
  766. package/plugins/ragents.documents/server/index.ts +10 -11
  767. package/plugins/ragents.documents/server/show-document-tool.ts +2 -2
  768. package/plugins/ragents.documents/server/store.ts +3 -3
  769. package/plugins/ragents.documents/server/tool-contributor.ts +3 -3
  770. package/plugins/ragents.documents/web/DocumentViewer.tsx +5 -6
  771. package/plugins/ragents.documents/web/api.ts +1 -1
  772. package/plugins/ragents.documents/web/index.tsx +4 -4
  773. package/plugins/ragents.lsp-fsharp/provision.ts +2 -2
  774. package/plugins/ragents.lsp-fsharp/ragents-plugin.json +3 -0
  775. package/plugins/ragents.lsp-fsharp/server/index.ts +3 -3
  776. package/plugins/ragents.lsp-fsharp/web/index.tsx +1 -1
  777. package/plugins/ragents.lsp-roslyn/provision.ts +2 -2
  778. package/plugins/ragents.lsp-roslyn/ragents-plugin.json +3 -0
  779. package/plugins/ragents.lsp-roslyn/server/index.ts +47 -8
  780. package/plugins/ragents.lsp-roslyn/server/solution-on-start.ts +145 -0
  781. package/plugins/ragents.lsp-roslyn/web/index.tsx +1 -1
  782. package/plugins/ragents.lsp-typescript/ragents-plugin.json +3 -0
  783. package/plugins/ragents.lsp-typescript/server/index.ts +3 -3
  784. package/plugins/ragents.lsp-typescript/web/index.tsx +1 -1
  785. package/plugins/ragents.model-relay/ragents-plugin.json +3 -0
  786. package/plugins/ragents.model-relay/server/config.ts +5 -31
  787. package/plugins/ragents.model-relay/server/index.ts +5 -6
  788. package/plugins/ragents.model-relay/server/relay.ts +8 -9
  789. package/plugins/ragents.orchestration/contract.ts +13 -14
  790. package/plugins/ragents.orchestration/orchestration.hbs +4 -3
  791. package/plugins/ragents.orchestration/ragents-plugin.json +6 -0
  792. package/plugins/ragents.orchestration/server/index.ts +13 -16
  793. package/plugins/ragents.orchestration/server/run-stop-tool.ts +4 -4
  794. package/plugins/ragents.orchestration/server/{canvas-tool.ts → surface-tool.ts} +42 -43
  795. package/plugins/ragents.orchestration/surface.hbs +34 -0
  796. package/plugins/ragents.orchestration/tiled-layout.ts +16 -16
  797. package/plugins/ragents.orchestration/web/ActorChat.tsx +16 -14
  798. package/plugins/ragents.orchestration/web/ActorChatControls.tsx +23 -26
  799. package/plugins/ragents.orchestration/web/ActorChatPreview.tsx +5 -6
  800. package/plugins/ragents.orchestration/web/ActorPopout.tsx +7 -5
  801. package/plugins/ragents.orchestration/web/ActorShortcut.tsx +16 -16
  802. package/plugins/ragents.orchestration/web/{ActorCanvasControls.tsx → ActorSurfaceControls.tsx} +23 -28
  803. package/plugins/ragents.orchestration/web/ActorTile.tsx +2 -2
  804. package/plugins/ragents.orchestration/web/Center.tsx +47 -55
  805. package/plugins/ragents.orchestration/web/DocumentsSection.tsx +4 -4
  806. package/plugins/ragents.orchestration/web/ExecutionsPanel.tsx +7 -7
  807. package/plugins/ragents.orchestration/web/FlowInspector.tsx +24 -42
  808. package/plugins/ragents.orchestration/web/JournalStatus.tsx +8 -8
  809. package/plugins/ragents.orchestration/web/MaterialBody.tsx +5 -5
  810. package/plugins/ragents.orchestration/web/StopRunButton.tsx +6 -6
  811. package/plugins/ragents.orchestration/web/SurfaceStartup.tsx +8 -0
  812. package/plugins/ragents.orchestration/web/{CanvasTiles.tsx → SurfaceTiles.tsx} +18 -18
  813. package/plugins/ragents.orchestration/web/{TiledCanvas.tsx → TiledSurface.tsx} +22 -22
  814. package/plugins/ragents.orchestration/web/actor-header-settings.ts +2 -2
  815. package/plugins/ragents.orchestration/web/api.ts +4 -10
  816. package/plugins/ragents.orchestration/web/constants.ts +0 -1
  817. package/plugins/ragents.orchestration/web/executions.ts +3 -3
  818. package/plugins/ragents.orchestration/web/index.tsx +19 -124
  819. package/plugins/ragents.orchestration/web/program-slot.ts +14 -0
  820. package/plugins/ragents.orchestration/web/run-panel/AddresseeControl.tsx +95 -0
  821. package/plugins/ragents.orchestration/web/run-panel/AddresseeTree.tsx +109 -0
  822. package/plugins/ragents.orchestration/web/{column/RunColumn.tsx → run-panel/RunPanel.tsx} +211 -83
  823. package/plugins/ragents.orchestration/web/{column/ColumnSettings.tsx → run-panel/RunPanelSettings.tsx} +13 -13
  824. package/plugins/ragents.orchestration/web/run-panel/addressee-tree.ts +165 -0
  825. package/plugins/ragents.orchestration/web/{column/column-actors.ts → run-panel/run-panel-actors.ts} +14 -13
  826. package/plugins/ragents.orchestration/web/run-panel/run-panel-settings.ts +47 -0
  827. package/plugins/ragents.orchestration/web/run-panel/run-panel-startup.ts +30 -0
  828. package/plugins/ragents.orchestration/web/run-panel/run-panel-state.ts +71 -0
  829. package/plugins/ragents.orchestration/web/{column → run-panel}/sheet-status.ts +4 -4
  830. package/plugins/ragents.orchestration/web/{canvas-stage.ts → surface-entities.ts} +2 -2
  831. package/plugins/ragents.orchestration/web/{canvas-startup.ts → surface-startup.ts} +7 -10
  832. package/plugins/ragents.orchestration/web/surface-view-settings.ts +42 -0
  833. package/plugins/ragents.orchestration/web/tile-docking.ts +14 -14
  834. package/plugins/ragents.orchestration/web/tiled-view-settings.ts +26 -26
  835. package/plugins/ragents.overseer/contract.ts +20 -14
  836. package/plugins/ragents.overseer/ragents-plugin.json +3 -0
  837. package/plugins/ragents.overseer/server/api.ts +34 -23
  838. package/plugins/ragents.overseer/server/coordinator-prompt.ts +3 -3
  839. package/plugins/ragents.overseer/server/coordinator.ts +19 -0
  840. package/plugins/ragents.overseer/server/index.ts +39 -27
  841. package/plugins/ragents.overseer/server/orientation.ts +4 -5
  842. package/plugins/ragents.overseer/server/quick-answer.ts +5 -4
  843. package/plugins/ragents.overseer/server/reset-method.ts +4 -3
  844. package/plugins/ragents.overseer/server/run-directory.ts +5 -5
  845. package/plugins/ragents.overseer/server/settings-method.ts +1 -1
  846. package/plugins/ragents.overseer/server/settings.ts +6 -6
  847. package/plugins/ragents.overseer/server/user-location.ts +20 -19
  848. package/plugins/ragents.overseer/web/ModelSettings.tsx +4 -4
  849. package/plugins/ragents.overseer/web/chat-display.ts +1 -1
  850. package/plugins/ragents.overseer/web/index.tsx +51 -26
  851. package/plugins/ragents.overseer/web/model-settings.ts +1 -1
  852. package/plugins/ragents.overseer/web/quick-answers.ts +2 -2
  853. package/plugins/ragents.processes/contract.ts +5 -5
  854. package/plugins/ragents.processes/ragents-plugin.json +3 -0
  855. package/plugins/ragents.processes/server/index.ts +13 -19
  856. package/plugins/ragents.processes/server/methods.ts +18 -20
  857. package/plugins/ragents.processes/server/observer.ts +64 -104
  858. package/plugins/ragents.processes/server/run-processes.ts +24 -0
  859. package/plugins/ragents.processes/web/ProcessHeader.tsx +13 -16
  860. package/plugins/ragents.processes/web/index.tsx +2 -1
  861. package/plugins/ragents.processes/web/processes.ts +1 -1
  862. package/plugins/ragents.product/ragents-plugin.json +3 -0
  863. package/plugins/ragents.product/server/config.ts +12 -13
  864. package/plugins/ragents.product/server/index.ts +15 -16
  865. package/plugins/ragents.product/server/runtime.ts +2 -2
  866. package/plugins/ragents.product/web/index.tsx +3 -3
  867. package/plugins/ragents.profile-distribution/contract.ts +6 -9
  868. package/plugins/ragents.profile-distribution/ragents-plugin.json +3 -0
  869. package/plugins/ragents.profile-distribution/server/archive.ts +26 -51
  870. package/plugins/ragents.profile-distribution/server/config.ts +2 -2
  871. package/plugins/ragents.profile-distribution/server/index.ts +9 -16
  872. package/plugins/ragents.reference/examples.ts +1 -1
  873. package/plugins/ragents.reference/ragents-plugin.json +3 -0
  874. package/plugins/ragents.reference/run-scripts/balcony-wizard/RUN.md +2 -2
  875. package/plugins/ragents.reference/run-scripts/balcony-wizard/actors/balcony-app/src/client.tsx +1 -1
  876. package/plugins/ragents.reference/run-scripts/balcony-wizard/src/server.ts +1 -1
  877. package/plugins/ragents.reference/run-scripts/balcony-wizard/tests/program.test.ts +4 -4
  878. package/plugins/ragents.reference/run-scripts/conversation-circle/RUN.md +1 -1
  879. package/plugins/ragents.reference/run-scripts/conversation-circle/src/server.ts +1 -1
  880. package/plugins/ragents.reference/run-scripts/conversation-circle/tests/helpers.ts +1 -1
  881. package/plugins/ragents.reference/run-scripts/learning-afternoon/RUN.md +2 -2
  882. package/plugins/ragents.reference/run-scripts/learning-afternoon/src/client.tsx +1 -1
  883. package/plugins/ragents.reference/run-scripts/learning-afternoon/src/server.ts +1 -1
  884. package/plugins/ragents.reference/run-scripts/learning-afternoon/src/state.ts +2 -2
  885. package/plugins/ragents.reference/run-scripts/learning-afternoon/src/view.tsx +11 -11
  886. package/plugins/ragents.reference/run-scripts/learning-afternoon/src/workflow.ts +15 -15
  887. package/plugins/ragents.reference/run-scripts/learning-afternoon/tests/program.test.ts +3 -8
  888. package/plugins/ragents.reference/run-scripts/moderated-round/src/server.ts +1 -1
  889. package/plugins/ragents.reference/run-scripts/moderated-round/tests/helpers.ts +1 -1
  890. package/plugins/ragents.reference/run-scripts/moderated-round/tests/program.test.ts +2 -2
  891. package/plugins/ragents.reference/run-scripts/shared-actor-list/actors/shared-list/src/client.tsx +6 -6
  892. package/plugins/ragents.reference/run-scripts/shared-actor-list/src/server.ts +3 -3
  893. package/plugins/ragents.reference/run-scripts/shared-actor-list/tests/helpers.ts +1 -1
  894. package/plugins/ragents.reference/run-scripts/word-game/RUN.md +1 -1
  895. package/plugins/ragents.reference/run-scripts/word-game/src/client.tsx +1 -1
  896. package/plugins/ragents.reference/run-scripts/word-game/src/server.ts +1 -2
  897. package/plugins/ragents.reference/run-scripts/word-game/src/state.ts +6 -6
  898. package/plugins/ragents.reference/run-scripts/word-game/src/view.tsx +14 -14
  899. package/plugins/ragents.reference/run-scripts/word-game/tests/program.test.ts +4 -5
  900. package/plugins/ragents.reference/server/index.ts +2 -2
  901. package/plugins/ragents.reference/skills/160-learning-companion/SKILL.md +1 -1
  902. package/plugins/ragents.reference/skills/240-live-result-list/SKILL.md +1 -1
  903. package/plugins/ragents.reference/skills/250-balcony-wizard/SKILL.md +1 -1
  904. package/plugins/ragents.reference/skills/90-actor-notes/SKILL.md +1 -1
  905. package/plugins/ragents.reference/skills/95-hello-world/SKILL.md +2 -2
  906. package/plugins/ragents.reference/skills/decision-brief/SKILL.md +2 -2
  907. package/plugins/ragents.reference/walkthroughs.ts +19 -19
  908. package/plugins/ragents.reference/web/StartGuides.tsx +2 -2
  909. package/plugins/ragents.reference/web/index.tsx +1 -1
  910. package/plugins/ragents.todo/ragents-plugin.json +3 -0
  911. package/plugins/ragents.todo/server/index.ts +2 -2
  912. package/plugins/ragents.todo/server/todo-tool.ts +4 -5
  913. package/plugins/ragents.todo/server/tool-contributor.ts +2 -2
  914. package/plugins/ragents.todo/web/TodoSection.tsx +3 -3
  915. package/plugins/ragents.todo/web/index.ts +1 -1
  916. package/plugins/ragents.transcript/ragents-plugin.json +3 -0
  917. package/plugins/ragents.transcript/server/index.ts +4 -4
  918. package/plugins/ragents.transcript/server/transcript.ts +2 -3
  919. package/plugins/ragents.watch/ragents-plugin.json +6 -0
  920. package/plugins/ragents.watch/server/condition.ts +2 -2
  921. package/plugins/ragents.watch/server/contract.ts +1 -1
  922. package/plugins/ragents.watch/server/functions.ts +3 -3
  923. package/plugins/ragents.watch/server/index.ts +3 -3
  924. package/plugins/ragents.watch/server/observation.ts +6 -6
  925. package/plugins/ragents.watch/server/service.ts +5 -5
  926. package/plugins/ragents.workspace/client/workspace-client.ts +129 -58
  927. package/plugins/ragents.workspace/contract.ts +98 -35
  928. package/plugins/ragents.workspace/prompt.hbs +1 -8
  929. package/plugins/ragents.workspace/ragents-plugin.json +3 -0
  930. package/plugins/ragents.workspace/server/binding.ts +122 -39
  931. package/plugins/ragents.workspace/server/browse-route.ts +96 -103
  932. package/plugins/ragents.workspace/server/clients.ts +236 -68
  933. package/plugins/ragents.workspace/server/config.ts +30 -0
  934. package/plugins/ragents.workspace/server/index.ts +61 -26
  935. package/plugins/ragents.workspace/server/runtime.ts +271 -46
  936. package/{apps/server/src/plugin-support → plugins/ragents.workspace/server}/shell-platform.ts +3 -5
  937. package/{apps/server/src/plugin-support → plugins/ragents.workspace/server}/workspace-tool-naming.ts +7 -1
  938. package/plugins/ragents.workspace/web/FileBrowser.tsx +11 -8
  939. package/plugins/ragents.workspace/web/WorkspaceBinding.tsx +115 -61
  940. package/plugins/ragents.workspace/web/api.ts +1 -1
  941. package/plugins/ragents.workspace/web/index.tsx +1 -1
  942. package/ragents.config.core.ts +2 -7
  943. package/ragents.config.showcase.ts +2 -5
  944. package/scripts/agent/agent-cli.ts +265 -107
  945. package/scripts/agent/journal.ts +3 -1
  946. package/scripts/agent/turn-control.ts +19 -0
  947. package/scripts/package/build-package.ts +68 -13
  948. package/scripts/package/ragents.mjs +4 -2
  949. package/scripts/plugin/build-builtin-plugins.ts +52 -0
  950. package/scripts/plugin/plugin-cli.ts +99 -0
  951. package/scripts/provision/run-provision.ts +20 -18
  952. package/scripts/remote/connect.ts +75 -53
  953. package/scripts/remote/start.ts +2 -3
  954. package/scripts/workspace-client/run-workspace-client.ts +15 -9
  955. package/apps/server/agent-home/settings.json +0 -3
  956. package/apps/server/src/chat-attachments.ts +0 -52
  957. package/apps/server/src/chat-events.ts +0 -185
  958. package/apps/server/src/plugin-support/asset-path.ts +0 -4
  959. package/apps/server/src/profile/plugin-list.ts +0 -19
  960. package/apps/server/src/web-build.ts +0 -82
  961. package/apps/web/column.html +0 -12
  962. package/apps/web/index.html +0 -12
  963. package/apps/web/src/StartSurface.tsx +0 -161
  964. package/apps/web/src/chat/ChatInputToolbar.tsx +0 -488
  965. package/apps/web/src/chat/ChatMessages.tsx +0 -666
  966. package/apps/web/src/chat/ChatPanel.tsx +0 -61
  967. package/apps/web/src/chat/DetailModeSwitch.tsx +0 -58
  968. package/apps/web/src/chat/Markdown.tsx +0 -104
  969. package/apps/web/src/chat/StepPopover.tsx +0 -82
  970. package/apps/web/src/chat/WorkingScenes.tsx +0 -235
  971. package/apps/web/src/chat/attachments.ts +0 -53
  972. package/apps/web/src/chat/chat-scroll.ts +0 -41
  973. package/apps/web/src/chat/texts.ts +0 -61
  974. package/apps/web/src/chat/types.ts +0 -26
  975. package/apps/web/src/column/ColumnApp.tsx +0 -234
  976. package/apps/web/src/column/column-location.ts +0 -30
  977. package/apps/web/src/column/host-contract.ts +0 -93
  978. package/apps/web/src/panel/OverviewPage.tsx +0 -215
  979. package/apps/web/src/panel/SettingsPage.tsx +0 -98
  980. package/apps/web/src/panel/target-state.ts +0 -78
  981. package/apps/web/src/plugin-discovery.ts +0 -5
  982. package/apps/web/src/virtual-plugins.d.ts +0 -3
  983. package/apps/web/vite.config.ts +0 -140
  984. package/packages/agent/src/config.ts +0 -161
  985. package/packages/agent/src/core/auth-storage.ts +0 -271
  986. package/packages/agent/src/core/bash-executor.ts +0 -156
  987. package/packages/agent/src/core/compaction/branch-summarization.ts +0 -372
  988. package/packages/agent/src/core/diagnostics.ts +0 -15
  989. package/packages/agent/src/core/event-bus.ts +0 -33
  990. package/packages/agent/src/core/exec.ts +0 -107
  991. package/packages/agent/src/core/experimental.ts +0 -3
  992. package/packages/agent/src/core/footer-data-provider.ts +0 -388
  993. package/packages/agent/src/core/http-dispatcher.ts +0 -106
  994. package/packages/agent/src/core/index.ts +0 -78
  995. package/packages/agent/src/core/model-config.ts +0 -287
  996. package/packages/agent/src/core/model-registry.ts +0 -126
  997. package/packages/agent/src/core/model-resolver.ts +0 -675
  998. package/packages/agent/src/core/output-guard.ts +0 -108
  999. package/packages/agent/src/core/package-manager.ts +0 -2441
  1000. package/packages/agent/src/core/prompt-templates.ts +0 -284
  1001. package/packages/agent/src/core/resolve-config-value.ts +0 -287
  1002. package/packages/agent/src/core/runtime-credentials.ts +0 -48
  1003. package/packages/agent/src/core/session-cwd.ts +0 -59
  1004. package/packages/agent/src/core/settings-manager.ts +0 -1212
  1005. package/packages/agent/src/core/slash-commands.ts +0 -41
  1006. package/packages/agent/src/core/timings.ts +0 -50
  1007. package/packages/agent/src/core/tools/tool-definition-wrapper.ts +0 -45
  1008. package/packages/agent/src/core/trust-manager.ts +0 -244
  1009. package/packages/agent/src/utils/ansi.ts +0 -60
  1010. package/packages/agent/src/utils/fs-watch.ts +0 -30
  1011. package/packages/agent/src/utils/git.ts +0 -226
  1012. package/packages/agent/src/utils/json.ts +0 -6
  1013. package/packages/agent/src/utils/tools-manager.ts +0 -63
  1014. package/packages/agent-core/package.json +0 -32
  1015. package/packages/ai/src/api/openrouter-images.lazy.ts +0 -10
  1016. package/packages/ai/src/api/openrouter-images.ts +0 -98
  1017. package/packages/ai/src/auth/credential-store.ts +0 -51
  1018. package/packages/ai/src/compat/extension-oauth-types.ts +0 -45
  1019. package/packages/ai/src/image-models.generated.ts +0 -533
  1020. package/packages/ai/src/images-models.ts +0 -274
  1021. package/packages/ai/src/models-store.ts +0 -38
  1022. package/packages/ai/src/oauth.ts +0 -10
  1023. package/packages/ai/src/providers/openrouter-images.ts +0 -14
  1024. package/packages/ai/src/session-resources.ts +0 -24
  1025. package/packages/ai/src/utils/abort-signals.ts +0 -41
  1026. package/packages/ai/src/utils/deferred-tools.ts +0 -39
  1027. package/packages/ai/src/utils/hash.ts +0 -13
  1028. package/packages/ai/src/utils/node-http-proxy.ts +0 -112
  1029. package/plugins/ragents.actor-programs/server/client-runtime.ts +0 -16
  1030. package/plugins/ragents.ask/web/constants.ts +0 -1
  1031. package/plugins/ragents.lsp-roslyn/web/api.ts +0 -10
  1032. package/plugins/ragents.orchestration/web/CanvasStartup.tsx +0 -14
  1033. package/plugins/ragents.orchestration/web/canvas-view-settings.ts +0 -42
  1034. package/plugins/ragents.orchestration/web/column/AddresseeControl.tsx +0 -116
  1035. package/plugins/ragents.orchestration/web/column/column-settings.ts +0 -47
  1036. package/plugins/ragents.orchestration/web/column/column-state.ts +0 -68
  1037. package/plugins/ragents.orchestration/web/contract.ts +0 -25
  1038. package/plugins/ragents.product/model-settings-contract.ts +0 -10
  1039. package/plugins/ragents.profile-distribution/server/web.ts +0 -24
  1040. /package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/authoring-contracts.ts +0 -0
  1041. /package/{plugins/ragents.actor-programs/server → apps/server/src/plugin-support/actor-programs}/runtime-libraries.ts +0 -0
  1042. /package/{plugins/ragents.actor-programs → apps/server/src/plugin-support/actor-programs}/workflow/prompt-reader.ts +0 -0
  1043. /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/file-contracts.d.ts +0 -0
  1044. /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/flow-diagram-contracts.d.ts +0 -0
  1045. /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/flow-diagram.css +0 -0
  1046. /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/form-contracts.d.ts +0 -0
  1047. /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/frame-layout.ts +0 -0
  1048. /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/table-contracts.d.ts +0 -0
  1049. /package/{plugins/ragents.actor-programs → apps/web/src/actor-programs}/client-ui/viewer-contracts.d.ts +0 -0
  1050. /package/{plugins/ragents.orchestration/canvas.hbs → bundles/ragents.orchestration/surface.hbs} +0 -0
  1051. /package/packages/{agent-core/src → agent/src/loop}/index.ts +0 -0
  1052. /package/packages/{agent-core/src → agent/src/loop}/uuid.ts +0 -0
@@ -0,0 +1,73 @@
1
+ (()=>{function or(a){if(a===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return a}function ua(a,e){a.prototype=Object.create(e.prototype),a.prototype.constructor=a,a.__proto__=e}var gt={autoSleep:120,force3D:"auto",nullTargetWarn:1,units:{lineHeight:""}},Wi={duration:.5,overwrite:!1,delay:0},Xs,Ue,ue,Dt=1e8,ae=1/Dt,Ds=Math.PI*2,xu=Ds/4,yu=0,fa=Math.sqrt,vu=Math.cos,bu=Math.sin,De=function(e){return typeof e=="string"},ye=function(e){return typeof e=="function"},lr=function(e){return typeof e=="number"},zn=function(e){return typeof e>"u"},Kt=function(e){return typeof e=="object"},dt=function(e){return e!==!1},Vs=function(){return typeof window<"u"},Mn=function(e){return ye(e)||De(e)},ca=typeof ArrayBuffer=="function"&&ArrayBuffer.isView||function(){},Ze=Array.isArray,wu=/random\([^)]+\)/g,Tu=/,\s*/g,ta=/(?:-?\.?\d|\.)+/gi,Us=/[-+=.]*\d+[.e\-+]*\d*[e\-+]*\d*/g,Wr=/[-+=.]*\d+[.e-]*\d*[a-z%]*/g,Ss=/[-+=.]*\d+\.?\d*(?:e-|e\+)?\d*/gi,Ws=/[+-]=-?[.\d]+/,Su=/[^,'"\[\]\s]+/gi,Pu=/^[+\-=e\s\d]*\d+[.\d]*([a-z]*|%)\s*$/i,he,Qt,Es,Gs,wt={},Dn={},ha,_a=function(e){return(Dn=hi(e,wt))&&Ke},Nn=function(e,t){return console.warn("Invalid property",e,"set to",t,"Missing plugin? gsap.registerPlugin()")},Gi=function(e,t){return!t&&console.warn(e)},pa=function(e,t){return e&&(wt[e]=t)&&Dn&&(Dn[e]=t)||wt},qi=function(){return 0},Cu={suppressEvents:!0,isStart:!0,kill:!1},kn={suppressEvents:!0,kill:!1},Mu={suppressEvents:!0},qs={},Sr=[],As={},da,_t={},Ps={},ra=30,On=[],Hs="",js=function(e){var t=e[0],r,i;if(Kt(t)||ye(t)||(e=[e]),!(r=(t._gsap||{}).harness)){for(i=On.length;i--&&!On[i].targetTest(t););r=On[i]}for(i=e.length;i--;)e[i]&&(e[i]._gsap||(e[i]._gsap=new $s(e[i],r)))||e.splice(i,1);return e},Pr=function(e){return e._gsap||js(Et(e))[0]._gsap},Qs=function(e,t,r){return(r=e[t])&&ye(r)?e[t]():zn(r)&&e.getAttribute&&e.getAttribute(t)||r},nt=function(e,t){return(e=e.split(",")).forEach(t)||e},ve=function(e){return Math.round(e*1e5)/1e5||0},ce=function(e){return Math.round(e*1e7)/1e7||0},Gr=function(e,t){var r=t.charAt(0),i=parseFloat(t.substr(2));return e=parseFloat(e),r==="+"?e+i:r==="-"?e-i:r==="*"?e*i:e/i},ku=function(e,t){for(var r=t.length,i=0;e.indexOf(t[i])<0&&++i<r;);return i<r},En=function(){var e=Sr.length,t=Sr.slice(0),r,i;for(As={},Sr.length=0,r=0;r<e;r++)i=t[r],i&&i._lazy&&(i.render(i._lazy[0],i._lazy[1],!0)._lazy=0)},Zs=function(e){return!!(e._initted||e._startAt||e.add)},ga=function(e,t,r,i){Sr.length&&!Ue&&En(),e.render(t,r,i||!!(Ue&&t<0&&Zs(e))),Sr.length&&!Ue&&En()},ma=function(e){var t=parseFloat(e);return(t||t===0)&&(e+"").match(Su).length<2?t:De(e)?e.trim():e},xa=function(e){return e},Tt=function(e,t){for(var r in t)r in e||(e[r]=t[r]);return e},Ou=function(e){return function(t,r){for(var i in r)i in t||i==="duration"&&e||i==="ease"||(t[i]=r[i])}},hi=function(e,t){for(var r in t)e[r]=t[r];return e},ia=function a(e,t){for(var r in t)r!=="__proto__"&&r!=="constructor"&&r!=="prototype"&&(e[r]=Kt(t[r])?a(e[r]||(e[r]={}),t[r]):t[r]);return e},An=function(e,t){var r={},i;for(i in e)i in t||(r[i]=e[i]);return r},Xi=function(e){var t=e.parent||he,r=e.keyframes?Ou(Ze(e.keyframes)):Tt;if(dt(e.inherit))for(;t;)r(e,t.vars.defaults),t=t.parent||t._dp;return e},Ru=function(e,t){for(var r=e.length,i=r===t.length;i&&r--&&e[r]===t[r];);return r<0},ya=function(e,t,r,i,n){r===void 0&&(r="_first"),i===void 0&&(i="_last");var s=e[i],o;if(n)for(o=t[n];s&&s[n]>o;)s=s._prev;return s?(t._next=s._next,s._next=t):(t._next=e[r],e[r]=t),t._next?t._next._prev=t:e[i]=t,t._prev=s,t.parent=t._dp=e,t},In=function(e,t,r,i){r===void 0&&(r="_first"),i===void 0&&(i="_last");var n=t._prev,s=t._next;n?n._next=s:e[r]===t&&(e[r]=s),s?s._prev=n:e[i]===t&&(e[i]=n),t._next=t._prev=t.parent=null},Cr=function(e,t){e.parent&&(!t||e.parent.autoRemoveChildren)&&e.parent.remove&&e.parent.remove(e),e._act=0},Xr=function(e,t){if(e&&(!t||t._end>e._dur||t._start<0))for(var r=e;r;)r._dirty=1,r=r.parent;return e},Du=function(e){for(var t=e.parent;t&&t.parent;)t._dirty=1,t.totalDuration(),t=t.parent;return e},Ls=function(e,t,r,i){return e._startAt&&(Ue?e._startAt.revert(kn):e.vars.immediateRender&&!e.vars.autoRevert||e._startAt.render(t,!0,i))},Eu=function a(e){return!e||e._ts&&a(e.parent)},na=function(e){return e._repeat?_i(e._tTime,e=e.duration()+e._rDelay)*e:0},_i=function(e,t){var r=Math.floor(e=ce(e/t));return e&&r===e?r-1:r},Ln=function(e,t){return(e-t._start)*t._ts+(t._ts>=0?0:t._dirty?t.totalDuration():t._tDur)},Bn=function(e){return e._end=ce(e._start+(e._tDur/Math.abs(e._ts||e._rts||ae)||0))},Yn=function(e,t){var r=e._dp;return r&&r.smoothChildTiming&&e._ts&&(e._start=ce(r._time-(e._ts>0?t/e._ts:((e._dirty?e.totalDuration():e._tDur)-t)/-e._ts)),Bn(e),r._dirty||Xr(r,e)),e},va=function(e,t){var r;if((t._time||!t._dur&&t._initted||t._start<e._time&&(t._dur||!t.add))&&(r=Ln(e.rawTime(),t),(!t._dur||Qi(0,t.totalDuration(),r)-t._tTime>ae)&&t.render(r,!0)),Xr(e,t)._dp&&e._initted&&e._time>=e._dur&&e._ts){if(e._dur<e.duration())for(r=e;r._dp;)r.rawTime()>=0&&r.totalTime(r._tTime),r=r._dp;e._zTime=-ae}},Zt=function(e,t,r,i){return t.parent&&Cr(t),t._start=ce((lr(r)?r:r||e!==he?Rt(e,r,t):e._time)+t._delay),t._end=ce(t._start+(t.totalDuration()/Math.abs(t.timeScale())||0)),ya(e,t,"_first","_last",e._sort?"_start":0),Fs(t)||(e._recent=t),i||va(e,t),e._ts<0&&Yn(e,e._tTime),e},ba=function(e,t){return(wt.ScrollTrigger||Nn("scrollTrigger",t))&&wt.ScrollTrigger.create(t,e)},wa=function(e,t,r,i,n){if(to(e,t,n),!e._initted)return 1;if(!r&&e._pt&&!Ue&&(e._dur&&e.vars.lazy!==!1||!e._dur&&e.vars.lazy)&&da!==pt.frame)return Sr.push(e),e._lazy=[n,i],1},Au=function a(e){var t=e.parent;return t&&t._ts&&t._initted&&!t._lock&&(t.rawTime()<0||a(t))},Fs=function(e){var t=e.data;return t==="isFromStart"||t==="isStart"},Lu=function(e,t,r,i){var n=e.ratio,s=t<0||!t&&(!e._start&&Au(e)&&!(!e._initted&&Fs(e))||(e._ts<0||e._dp._ts<0)&&!Fs(e))?0:1,o=e._rDelay,l=0,u,f,c;if(o&&e._repeat&&(l=Qi(0,e._tDur,t),f=_i(l,o),e._yoyo&&f&1&&(s=1-s),f!==_i(e._tTime,o)&&(n=1-s,e.vars.repeatRefresh&&e._initted&&e.invalidate())),s!==n||Ue||i||e._zTime===ae||!t&&e._zTime){if(!e._initted&&wa(e,t,i,r,l))return;for(c=e._zTime,e._zTime=t||(r?ae:0),r||(r=t&&!c),e.ratio=s,e._from&&(s=1-s),e._time=0,e._tTime=l,u=e._pt;u;)u.r(s,u.d),u=u._next;t<0&&Ls(e,t,r,!0),e._onUpdate&&!r&&bt(e,"onUpdate"),l&&e._repeat&&!r&&e.parent&&bt(e,"onRepeat"),(t>=e._tDur||t<0)&&e.ratio===s&&(s&&Cr(e,1),!r&&!Ue&&(bt(e,s?"onComplete":"onReverseComplete",!0),e._prom&&e._prom()))}else e._zTime||(e._zTime=t)},Fu=function(e,t,r){var i;if(r>t)for(i=e._first;i&&i._start<=r;){if(i.data==="isPause"&&i._start>t)return i;i=i._next}else for(i=e._last;i&&i._start>=r;){if(i.data==="isPause"&&i._start<t)return i;i=i._prev}},pi=function(e,t,r,i){var n=e._repeat,s=ce(t)||0,o=e._tTime/e._tDur;return o&&!i&&(e._time*=s/e._dur),e._dur=s,e._tDur=n?n<0?1e10:ce(s*(n+1)+e._rDelay*n):s,o>0&&!i&&Yn(e,e._tTime=e._tDur*o),e.parent&&Bn(e),r||Xr(e.parent,e),e},sa=function(e){return e instanceof Qe?Xr(e):pi(e,e._dur)},zu={_start:0,endTime:qi,totalDuration:qi},Rt=function a(e,t,r){var i=e.labels,n=e._recent||zu,s=e.duration()>=Dt?n.endTime(!1):e._dur,o,l,u;return De(t)&&(isNaN(t)||t in i)?(l=t.charAt(0),u=t.substr(-1)==="%",o=t.indexOf("="),l==="<"||l===">"?(o>=0&&(t=t.replace(/=/,"")),(l==="<"?n._start:n.endTime(n._repeat>=0))+(parseFloat(t.substr(1))||0)*(u?(o<0?n:r).totalDuration()/100:1)):o<0?(t in i||(i[t]=s),i[t]):(l=parseFloat(t.charAt(o-1)+t.substr(o+1)),u&&r&&(l=l/100*(Ze(r)?r[0]:r).totalDuration()),o>1?a(e,t.substr(0,o-1),r)+l:s+l)):t==null?s:+t},Vi=function(e,t,r){var i=lr(t[1]),n=(i?2:1)+(e<2?0:1),s=t[n],o,l;if(i&&(s.duration=t[1]),s.parent=r,e){for(o=s,l=r;l&&!("immediateRender"in o);)o=l.vars.defaults||{},l=dt(l.vars.inherit)&&l.parent;s.immediateRender=dt(o.immediateRender),e<2?s.runBackwards=1:s.startAt=t[n-1]}return new Ce(t[0],s,t[n+1])},Mr=function(e,t){return e||e===0?t(e):t},Qi=function(e,t,r){return r<e?e:r>t?t:r},We=function(e,t){return!De(e)||!(t=Pu.exec(e))?"":t[1]},Nu=function(e,t,r){return Mr(r,function(i){return Qi(e,t,i)})},zs=[].slice,Ta=function(e,t){return e&&Kt(e)&&"length"in e&&(!t&&!e.length||e.length-1 in e&&Kt(e[0]))&&!e.nodeType&&e!==Qt},Iu=function(e,t,r){return r===void 0&&(r=[]),e.forEach(function(i){var n;return De(i)&&!t||Ta(i,1)?(n=r).push.apply(n,Et(i)):r.push(i)})||r},Et=function(e,t,r){return ue&&!t&&ue.selector?ue.selector(e):De(e)&&!r&&(Es||!di())?zs.call((t||Gs).querySelectorAll(e),0):Ze(e)?Iu(e,r):Ta(e)?zs.call(e,0):e?[e]:[]},Ns=function(e){return e=Et(e)[0]||Gi("Invalid scope")||{},function(t){var r=e.current||e.nativeElement||e;return Et(t,r.querySelectorAll?r:r===e?Gi("Invalid scope")||Gs.createElement("div"):e)}},Sa=function(e){return e.sort(function(){return .5-Math.random()})},Pa=function(e){if(ye(e))return e;var t=Kt(e)?e:{each:e},r=Vr(t.ease),i=t.from||0,n=parseFloat(t.base)||0,s={},o=i>0&&i<1,l=isNaN(i)||o,u=t.axis,f=i,c=i;return De(i)?f=c={center:.5,edges:.5,end:1}[i]||0:!o&&l&&(f=i[0],c=i[1]),function(_,h,d){var p=(d||t).length,g=s[p],y,m,w,v,T,M,b,k,P;if(!g){if(P=t.grid==="auto"?0:(t.grid||[1,Dt])[1],!P){for(b=-Dt;b<(b=d[P++].getBoundingClientRect().left)&&P<p;);P<p&&P--}for(g=s[p]=[],y=l?Math.min(P,p)*f-.5:i%P,m=P===Dt?0:l?p*c/P-.5:i/P|0,b=0,k=Dt,M=0;M<p;M++)w=M%P-y,v=m-(M/P|0),g[M]=T=u?Math.abs(u==="y"?v:w):fa(w*w+v*v),T>b&&(b=T),T<k&&(k=T);i==="random"&&Sa(g),g.max=b-k,g.min=k,g.v=p=(parseFloat(t.amount)||parseFloat(t.each)*(P>p?p-1:u?u==="y"?p/P:P:Math.max(P,p/P))||0)*(i==="edges"?-1:1),g.b=p<0?n-p:n,g.u=We(t.amount||t.each)||0,r=r&&p<0?Ku(r):r}return p=(g[_]-g.min)/g.max||0,ce(g.b+(r?r(p):p)*g.v)+g.u}},Is=function(e){var t=Math.pow(10,((e+"").split(".")[1]||"").length);return function(r){var i=ce(Math.round(parseFloat(r)/e)*e*t);return(i-i%1)/t+(lr(r)?0:We(r))}},Ca=function(e,t){var r=Ze(e),i,n;return!r&&Kt(e)&&(i=r=e.radius||Dt,e.values?(e=Et(e.values),(n=!lr(e[0]))&&(i*=i)):e=Is(e.increment)),Mr(t,r?ye(e)?function(s){return n=e(s),Math.abs(n-s)<=i?n:s}:function(s){for(var o=parseFloat(n?s.x:s),l=parseFloat(n?s.y:0),u=Dt,f=0,c=e.length,_,h;c--;)n?(_=e[c].x-o,h=e[c].y-l,_=_*_+h*h):_=Math.abs(e[c]-o),_<u&&(u=_,f=c);return f=!i||u<=i?e[f]:s,n||f===s||lr(s)?f:f+We(s)}:Is(e))},Ma=function(e,t,r,i){return Mr(Ze(e)?!t:r===!0?!!(r=0):!i,function(){return Ze(e)?e[~~(Math.random()*e.length)]:(r=r||1e-5)&&(i=r<1?Math.pow(10,(r+"").length-2):1)&&Math.floor(Math.round((e-r/2+Math.random()*(t-e+r*.99))/r)*r*i)/i})},Bu=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(i){return t.reduce(function(n,s){return s(n)},i)}},Yu=function(e,t){return function(r){return e(parseFloat(r))+(t||We(r))}},Xu=function(e,t,r){return Oa(e,t,0,1,r)},ka=function(e,t,r){return Mr(r,function(i){return e[~~t(i)]})},Vu=function a(e,t,r){var i=t-e;return Ze(e)?ka(e,a(0,e.length),t):Mr(r,function(n){return(i+(n-e)%i)%i+e})},Uu=function a(e,t,r){var i=t-e,n=i*2;return Ze(e)?ka(e,a(0,e.length-1),t):Mr(r,function(s){return s=(n+(s-e)%n)%n||0,e+(s>i?n-s:s)})},gi=function(e){return e.replace(wu,function(t){var r=t.indexOf("[")+1,i=t.substring(r||7,r?t.indexOf("]"):t.length-1).split(Tu);return Ma(r?i:+i[0],r?0:+i[1],+i[2]||1e-5)})},Oa=function(e,t,r,i,n){var s=t-e,o=i-r;return Mr(n,function(l){return r+((l-e)/s*o||0)})},Wu=function a(e,t,r,i){var n=isNaN(e+t)?0:function(h){return(1-h)*e+h*t};if(!n){var s=De(e),o={},l,u,f,c,_;if(r===!0&&(i=1)&&(r=null),s)e={p:e},t={p:t};else if(Ze(e)&&!Ze(t)){for(f=[],c=e.length,_=c-2,u=1;u<c;u++)f.push(a(e[u-1],e[u]));c--,n=function(d){d*=c;var p=Math.min(_,~~d);return f[p](d-p)},r=t}else i||(e=hi(Ze(e)?[]:{},e));if(!f){for(l in t)Js.call(o,e,l,"get",t[l]);n=function(d){return no(d,o)||(s?e.p:e)}}}return Mr(r,n)},oa=function(e,t,r){var i=e.labels,n=Dt,s,o,l;for(s in i)o=i[s]-t,o<0==!!r&&o&&n>(o=Math.abs(o))&&(l=s,n=o);return l},bt=function(e,t,r){var i=e.vars,n=i[t],s=ue,o=e._ctx,l,u,f;if(n)return l=i[t+"Params"],u=i.callbackScope||e,r&&Sr.length&&En(),o&&(ue=o),f=l?n.apply(u,l):n.call(u),ue=s,f},Bi=function(e){return Cr(e),e.scrollTrigger&&e.scrollTrigger.kill(!!Ue),e.progress()<1&&bt(e,"onInterrupt"),e},ci,Ra=[],Da=function(e){if(e)if(e=!e.name&&e.default||e,Vs()||e.headless){var t=e.name,r=ye(e),i=t&&!r&&e.init?function(){this._props=[]}:e,n={init:qi,render:no,add:Js,kill:lf,modifier:af,rawVars:0},s={targetTest:0,get:0,getSetter:Xn,aliases:{},register:0};if(di(),e!==i){if(_t[t])return;Tt(i,Tt(An(e,n),s)),hi(i.prototype,hi(n,An(e,s))),_t[i.prop=t]=i,e.targetTest&&(On.push(i),qs[t]=1),t=(t==="css"?"CSS":t.charAt(0).toUpperCase()+t.substr(1))+"Plugin"}pa(t,i),e.register&&e.register(Ke,i,st)}else Ra.push(e)},oe=255,Yi={aqua:[0,oe,oe],lime:[0,oe,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,oe],navy:[0,0,128],white:[oe,oe,oe],olive:[128,128,0],yellow:[oe,oe,0],orange:[oe,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[oe,0,0],pink:[oe,192,203],cyan:[0,oe,oe],transparent:[oe,oe,oe,0]},Cs=function(e,t,r){return e+=e<0?1:e>1?-1:0,(e*6<1?t+(r-t)*e*6:e<.5?r:e*3<2?t+(r-t)*(2/3-e)*6:t)*oe+.5|0},Ea=function(e,t,r){var i=e?lr(e)?[e>>16,e>>8&oe,e&oe]:0:Yi.black,n,s,o,l,u,f,c,_,h,d;if(!i){if(e.substr(-1)===","&&(e=e.substr(0,e.length-1)),Yi[e])i=Yi[e];else if(e.charAt(0)==="#"){if(e.length<6&&(n=e.charAt(1),s=e.charAt(2),o=e.charAt(3),e="#"+n+n+s+s+o+o+(e.length===5?e.charAt(4)+e.charAt(4):"")),e.length===9)return i=parseInt(e.substr(1,6),16),[i>>16,i>>8&oe,i&oe,parseInt(e.substr(7),16)/255];e=parseInt(e.substr(1),16),i=[e>>16,e>>8&oe,e&oe]}else if(e.substr(0,3)==="hsl"){if(i=d=e.match(ta),!t)l=+i[0]%360/360,u=+i[1]/100,f=+i[2]/100,s=f<=.5?f*(u+1):f+u-f*u,n=f*2-s,i.length>3&&(i[3]*=1),i[0]=Cs(l+1/3,n,s),i[1]=Cs(l,n,s),i[2]=Cs(l-1/3,n,s);else if(~e.indexOf("="))return i=e.match(Us),r&&i.length<4&&(i[3]=1),i}else i=e.match(ta)||Yi.transparent;i=i.map(Number)}return t&&!d&&(n=i[0]/oe,s=i[1]/oe,o=i[2]/oe,c=Math.max(n,s,o),_=Math.min(n,s,o),f=(c+_)/2,c===_?l=u=0:(h=c-_,u=f>.5?h/(2-c-_):h/(c+_),l=c===n?(s-o)/h+(s<o?6:0):c===s?(o-n)/h+2:(n-s)/h+4,l*=60),i[0]=~~(l+.5),i[1]=~~(u*100+.5),i[2]=~~(f*100+.5)),r&&i.length<4&&(i[3]=1),i},Aa=function(e){var t=[],r=[],i=-1;return e.split(ar).forEach(function(n){var s=n.match(Wr)||[];t.push.apply(t,s),r.push(i+=s.length+1)}),t.c=r,t},aa=function(e,t,r){var i="",n=(e+i).match(ar),s=t?"hsla(":"rgba(",o=0,l,u,f,c;if(!n)return e;if(n=n.map(function(_){return(_=Ea(_,t,1))&&s+(t?_[0]+","+_[1]+"%,"+_[2]+"%,"+_[3]:_.join(","))+")"}),r&&(f=Aa(e),l=r.c,l.join(i)!==f.c.join(i)))for(u=e.replace(ar,"1").split(Wr),c=u.length-1;o<c;o++)i+=u[o]+(~l.indexOf(o)?n.shift()||s+"0,0,0,0)":(f.length?f:n.length?n:r).shift());if(!u)for(u=e.split(ar),c=u.length-1;o<c;o++)i+=u[o]+n[o];return i+u[c]},ar=(function(){var a="(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#(?:[0-9a-f]{3,4}){1,2}\\b",e;for(e in Yi)a+="|"+e+"\\b";return new RegExp(a+")","gi")})(),Gu=/hsl[a]?\(/,Ks=function(e){var t=e.join(" "),r;if(ar.lastIndex=0,ar.test(t))return r=Gu.test(t),e[1]=aa(e[1],r),e[0]=aa(e[0],r,Aa(e[1])),!0},Hi,pt=(function(){var a=Date.now,e=500,t=33,r=a(),i=r,n=1e3/240,s=n,o=[],l,u,f,c,_,h,d=function p(g){var y=a()-i,m=g===!0,w,v,T,M;if((y>e||y<0)&&(r+=y-t),i+=y,T=i-r,w=T-s,(w>0||m)&&(M=++c.frame,_=T-c.time*1e3,c.time=T=T/1e3,s+=w+(w>=n?4:n-w),v=1),m||(l=u(p)),v)for(h=0;h<o.length;h++)o[h](T,_,M,g)};return c={time:0,frame:0,tick:function(){d(!0)},deltaRatio:function(g){return _/(1e3/(g||60))},wake:function(){ha&&(!Es&&Vs()&&(Qt=Es=window,Gs=Qt.document||{},wt.gsap=Ke,(Qt.gsapVersions||(Qt.gsapVersions=[])).push(Ke.version),_a(Dn||Qt.GreenSockGlobals||!Qt.gsap&&Qt||{}),Ra.forEach(Da)),f=typeof requestAnimationFrame<"u"&&requestAnimationFrame,l&&c.sleep(),u=f||function(g){return setTimeout(g,s-c.time*1e3+1|0)},Hi=1,d(2))},sleep:function(){(f?cancelAnimationFrame:clearTimeout)(l),Hi=0,u=qi},lagSmoothing:function(g,y){e=g||1/0,t=Math.min(y||33,e)},fps:function(g){n=1e3/(g||240),s=c.time*1e3+n},add:function(g,y,m){var w=y?function(v,T,M,b){g(v,T,M,b),c.remove(w)}:g;return c.remove(g),o[m?"unshift":"push"](w),di(),w},remove:function(g,y){~(y=o.indexOf(g))&&o.splice(y,1)&&h>=y&&h--},_listeners:o},c})(),di=function(){return!Hi&&pt.wake()},K={},qu=/^[\d.\-M][\d.\-,\s]/,Hu=/["']/g,ju=function(e){for(var t={},r=e.substr(1,e.length-3).split(":"),i=r[0],n=1,s=r.length,o,l,u;n<s;n++)l=r[n],o=n!==s-1?l.lastIndexOf(","):l.length,u=l.substr(0,o),t[i]=isNaN(u)?u.replace(Hu,"").trim():+u,i=l.substr(o+1).trim();return t},Qu=function(e){var t=e.indexOf("(")+1,r=e.indexOf(")"),i=e.indexOf("(",t);return e.substring(t,~i&&i<r?e.indexOf(")",r+1):r)},Zu=function(e){var t=(e+"").split("("),r=K[t[0]];return r&&t.length>1&&r.config?r.config.apply(null,~e.indexOf("{")?[ju(t[1])]:Qu(e).split(",").map(ma)):K._CE&&qu.test(e)?K._CE("",e):r},Ku=function(e){return function(t){return 1-e(1-t)}},Vr=function(e,t){return e&&(ye(e)?e:K[e]||Zu(e))||t},qr=function(e,t,r,i){r===void 0&&(r=function(l){return 1-t(1-l)}),i===void 0&&(i=function(l){return l<.5?t(l*2)/2:1-t((1-l)*2)/2});var n={easeIn:t,easeOut:r,easeInOut:i},s;return nt(e,function(o){K[o]=wt[o]=n,K[s=o.toLowerCase()]=r;for(var l in n)K[s+(l==="easeIn"?".in":l==="easeOut"?".out":".inOut")]=K[o+"."+l]=n[l]}),n},La=function(e){return function(t){return t<.5?(1-e(1-t*2))/2:.5+e((t-.5)*2)/2}},Ms=function a(e,t,r){var i=t>=1?t:1,n=(r||(e?.3:.45))/(t<1?t:1),s=n/Ds*(Math.asin(1/i)||0),o=function(f){return f===1?1:i*Math.pow(2,-10*f)*bu((f-s)*n)+1},l=e==="out"?o:e==="in"?function(u){return 1-o(1-u)}:La(o);return n=Ds/n,l.config=function(u,f){return a(e,u,f)},l},ks=function a(e,t){t===void 0&&(t=1.70158);var r=function(s){return s?--s*s*((t+1)*s+t)+1:0},i=e==="out"?r:e==="in"?function(n){return 1-r(1-n)}:La(r);return i.config=function(n){return a(e,n)},i};nt("Linear,Quad,Cubic,Quart,Quint,Strong",function(a,e){var t=e<5?e+1:e;qr(a+",Power"+(t-1),e?function(r){return Math.pow(r,t)}:function(r){return r},function(r){return 1-Math.pow(1-r,t)},function(r){return r<.5?Math.pow(r*2,t)/2:1-Math.pow((1-r)*2,t)/2})});K.Linear.easeNone=K.none=K.Linear.easeIn;qr("Elastic",Ms("in"),Ms("out"),Ms());(function(a,e){var t=1/e,r=2*t,i=2.5*t,n=function(o){return o<t?a*o*o:o<r?a*Math.pow(o-1.5/e,2)+.75:o<i?a*(o-=2.25/e)*o+.9375:a*Math.pow(o-2.625/e,2)+.984375};qr("Bounce",function(s){return 1-n(1-s)},n)})(7.5625,2.75);qr("Expo",function(a){return Math.pow(2,10*(a-1))*a+a*a*a*a*a*a*(1-a)});qr("Circ",function(a){return-(fa(1-a*a)-1)});qr("Sine",function(a){return a===1?1:-vu(a*xu)+1});qr("Back",ks("in"),ks("out"),ks());K.SteppedEase=K.steps=wt.SteppedEase={config:function(e,t){e===void 0&&(e=1);var r=1/e,i=e+(t?0:1),n=t?1:0,s=1-ae;return function(o){return((i*Qi(0,s,o)|0)+n)*r}}};Wi.ease=K["quad.out"];nt("onComplete,onUpdate,onStart,onRepeat,onReverseComplete,onInterrupt",function(a){return Hs+=a+","+a+"Params,"});var $s=function(e,t){this.id=yu++,e._gsap=this,this.target=e,this.harness=t,this.get=t?t.get:Qs,this.set=t?t.getSetter:Xn},ji=(function(){function a(t){this.vars=t,this._delay=+t.delay||0,(this._repeat=t.repeat===1/0?-2:t.repeat||0)&&(this._rDelay=t.repeatDelay||0,this._yoyo=!!t.yoyo||!!t.yoyoEase),this._ts=1,pi(this,+t.duration,1,1),this.data=t.data,ue&&(this._ctx=ue,ue.data.push(this)),Hi||pt.wake()}var e=a.prototype;return e.delay=function(r){return r||r===0?(this.parent&&this.parent.smoothChildTiming&&this.startTime(this._start+r-this._delay),this._delay=r,this):this._delay},e.duration=function(r){return arguments.length?this.totalDuration(this._repeat>0?r+(r+this._rDelay)*this._repeat:r):this.totalDuration()&&this._dur},e.totalDuration=function(r){return arguments.length?(this._dirty=0,pi(this,this._repeat<0?r:(r-this._repeat*this._rDelay)/(this._repeat+1))):this._tDur},e.totalTime=function(r,i){if(di(),!arguments.length)return this._tTime;var n=this._dp;if(n&&n.smoothChildTiming&&this._ts){for(Yn(this,r),!n._dp||n.parent||va(n,this);n&&n.parent;)n.parent._time!==n._start+(n._ts>=0?n._tTime/n._ts:(n.totalDuration()-n._tTime)/-n._ts)&&n.totalTime(n._tTime,!0),n=n.parent;!this.parent&&this._dp.autoRemoveChildren&&(this._ts>0&&r<this._tDur||this._ts<0&&r>0||!this._tDur&&!r)&&Zt(this._dp,this,this._start-this._delay)}return(this._tTime!==r||!this._dur&&!i||this._initted&&Math.abs(this._zTime)===ae||!this._initted&&this._dur&&r||!r&&!this._initted&&(this.add||this._ptLookup))&&(this._ts||(this._pTime=r),ga(this,r,i)),this},e.time=function(r,i){return arguments.length?this.totalTime(Math.min(this.totalDuration(),r+na(this))%(this._dur+this._rDelay)||(r?this._dur:0),i):this._time},e.totalProgress=function(r,i){return arguments.length?this.totalTime(this.totalDuration()*r,i):this.totalDuration()?Math.min(1,this._tTime/this._tDur):this.rawTime()>=0&&this._initted?1:0},e.progress=function(r,i){return arguments.length?this.totalTime(this.duration()*(this._yoyo&&!(this.iteration()&1)?1-r:r)+na(this),i):this.duration()?Math.min(1,this._time/this._dur):this.rawTime()>0?1:0},e.iteration=function(r,i){var n=this.duration()+this._rDelay;return arguments.length?this.totalTime(this._time+(r-1)*n,i):this._repeat?_i(this._tTime,n)+1:1},e.timeScale=function(r,i){if(!arguments.length)return this._rts===-ae?0:this._rts;if(this._rts===r)return this;var n=this.parent&&this._ts?Ln(this.parent._time,this):this._tTime;return this._rts=+r||0,this._ts=this._ps||r===-ae?0:this._rts,this.totalTime(Qi(-Math.abs(this._delay),this.totalDuration(),n),i!==!1),Bn(this),Du(this)},e.paused=function(r){return arguments.length?(this._ps!==r&&(this._ps=r,r?(this._pTime=this._tTime||Math.max(-this._delay,this.rawTime()),this._ts=this._act=0):(di(),this._ts=this._rts,this.totalTime(this.parent&&!this.parent.smoothChildTiming?this.rawTime():this._tTime||this._pTime,this.progress()===1&&Math.abs(this._zTime)!==ae&&(this._tTime-=ae)))),this):this._ps},e.startTime=function(r){if(arguments.length){this._start=ce(r);var i=this.parent||this._dp;return i&&(i._sort||!this.parent)&&Zt(i,this,this._start-this._delay),this}return this._start},e.endTime=function(r){return this._start+(dt(r)?this.totalDuration():this.duration())/Math.abs(this._ts||1)},e.rawTime=function(r){var i=this.parent||this._dp;return i?r&&(!this._ts||this._repeat&&this._time&&this.totalProgress()<1)?this._tTime%(this._dur+this._rDelay):this._ts?Ln(i.rawTime(r),this):this._tTime:this._tTime},e.revert=function(r){r===void 0&&(r=Mu);var i=Ue;return Ue=r,Zs(this)&&(this.timeline&&this.timeline.revert(r),this.totalTime(-.01,r.suppressEvents)),this.data!=="nested"&&r.kill!==!1&&this.kill(),Ue=i,this},e.globalTime=function(r){for(var i=this,n=arguments.length?r:i.rawTime();i;)n=i._start+n/(Math.abs(i._ts)||1),i=i._dp;return!this.parent&&this._sat?this._sat.globalTime(r):n},e.repeat=function(r){return arguments.length?(this._repeat=r===1/0?-2:r,sa(this)):this._repeat===-2?1/0:this._repeat},e.repeatDelay=function(r){if(arguments.length){var i=this._time;return this._rDelay=r,sa(this),i?this.time(i):this}return this._rDelay},e.yoyo=function(r){return arguments.length?(this._yoyo=r,this):this._yoyo},e.seek=function(r,i){return this.totalTime(Rt(this,r),dt(i))},e.restart=function(r,i){return this.play().totalTime(r?-this._delay:0,dt(i)),this._dur||(this._zTime=-ae),this},e.play=function(r,i){return r!=null&&this.seek(r,i),this.reversed(!1).paused(!1)},e.reverse=function(r,i){return r!=null&&this.seek(r||this.totalDuration(),i),this.reversed(!0).paused(!1)},e.pause=function(r,i){return r!=null&&this.seek(r,i),this.paused(!0)},e.resume=function(){return this.paused(!1)},e.reversed=function(r){return arguments.length?(!!r!==this.reversed()&&this.timeScale(-this._rts||(r?-ae:0)),this):this._rts<0},e.invalidate=function(){return this._initted=this._act=0,this._zTime=-ae,this},e.isActive=function(){var r=this.parent||this._dp,i=this._start,n;return!!(!r||this._ts&&this._initted&&r.isActive()&&(n=r.rawTime(!0))>=i&&n<this.endTime(!0)-ae)},e.eventCallback=function(r,i,n){var s=this.vars;return arguments.length>1?(i?(s[r]=i,n&&(s[r+"Params"]=n),r==="onUpdate"&&(this._onUpdate=i)):delete s[r],this):s[r]},e.then=function(r){var i=this,n=i._prom;return new Promise(function(s){var o=ye(r)?r:xa,l=function(){var f=i.then;i.then=null,n&&n(),ye(o)&&(o=o(i))&&(o.then||o===i)&&(i.then=f),s(o),i.then=f};i._initted&&i.totalProgress()===1&&i._ts>=0||!i._tTime&&i._ts<0?l():i._prom=l})},e.kill=function(){Bi(this)},a})();Tt(ji.prototype,{_time:0,_start:0,_end:0,_tTime:0,_tDur:0,_dirty:0,_repeat:0,_yoyo:!1,parent:null,_initted:!1,_rDelay:0,_ts:1,_dp:0,ratio:0,_zTime:-ae,_prom:0,_ps:!1,_rts:1});var Qe=(function(a){ua(e,a);function e(r,i){var n;return r===void 0&&(r={}),n=a.call(this,r)||this,n.labels={},n.smoothChildTiming=!!r.smoothChildTiming,n.autoRemoveChildren=!!r.autoRemoveChildren,n._sort=dt(r.sortChildren),he&&Zt(r.parent||he,or(n),i),r.reversed&&n.reverse(),r.paused&&n.paused(!0),r.scrollTrigger&&ba(or(n),r.scrollTrigger),n}var t=e.prototype;return t.to=function(i,n,s){return Vi(0,arguments,this),this},t.from=function(i,n,s){return Vi(1,arguments,this),this},t.fromTo=function(i,n,s,o){return Vi(2,arguments,this),this},t.set=function(i,n,s){return n.duration=0,n.parent=this,Xi(n).repeatDelay||(n.repeat=0),n.immediateRender=!!n.immediateRender,new Ce(i,n,Rt(this,s),1),this},t.call=function(i,n,s){return Zt(this,Ce.delayedCall(0,i,n),s)},t.staggerTo=function(i,n,s,o,l,u,f){return s.duration=n,s.stagger=s.stagger||o,s.onComplete=u,s.onCompleteParams=f,s.parent=this,new Ce(i,s,Rt(this,l)),this},t.staggerFrom=function(i,n,s,o,l,u,f){return s.runBackwards=1,Xi(s).immediateRender=dt(s.immediateRender),this.staggerTo(i,n,s,o,l,u,f)},t.staggerFromTo=function(i,n,s,o,l,u,f,c){return o.startAt=s,Xi(o).immediateRender=dt(o.immediateRender),this.staggerTo(i,n,o,l,u,f,c)},t.render=function(i,n,s){var o=this._time,l=this._dirty?this.totalDuration():this._tDur,u=this._dur,f=i<=0?0:ce(i),c=this._zTime<0!=i<0&&(this._initted||!u),_,h,d,p,g,y,m,w,v,T,M,b;if(this!==he&&f>l&&i>=0&&(f=l),f!==this._tTime||s||c){if(o!==this._time&&u&&(f+=this._time-o,i+=this._time-o),_=f,v=this._start,w=this._ts,y=!w,c&&(u||(o=this._zTime),(i||!n)&&(this._zTime=i)),this._repeat){if(M=this._yoyo,g=u+this._rDelay,this._repeat<-1&&i<0)return this.totalTime(g*100+i,n,s);if(_=ce(f%g),f===l?(p=this._repeat,_=u):(T=ce(f/g),p=~~T,p&&p===T&&(_=u,p--),_>u&&(_=u)),T=_i(this._tTime,g),!o&&this._tTime&&T!==p&&this._tTime-T*g-this._dur<=0&&(T=p),M&&p&1&&(_=u-_,b=1),p!==T&&!this._lock){var k=M&&T&1,P=k===(M&&p&1);if(p<T&&(k=!k),o=k?0:f%u?u:f,this._lock=1,this.render(o||(b?0:ce(p*g)),n,!u)._lock=0,this._tTime=f,!n&&this.parent&&bt(this,"onRepeat"),this.vars.repeatRefresh&&!b&&(this.invalidate()._lock=1,T=p),o&&o!==this._time||y!==!this._ts||this.vars.onRepeat&&!this.parent&&!this._act)return this;if(u=this._dur,l=this._tDur,P&&(this._lock=2,o=k?u:-1e-4,this.render(o,!0),this.vars.repeatRefresh&&!b&&this.invalidate()),this._lock=0,!this._ts&&!y)return this}}if(this._hasPause&&!this._forcing&&this._lock<2&&(m=Fu(this,ce(o),ce(_)),m&&(f-=_-(_=m._start))),this._tTime=f,this._time=_,this._act=!!w,this._initted||(this._onUpdate=this.vars.onUpdate,this._initted=1,this._zTime=i,o=0),!o&&f&&u&&!n&&!T&&(bt(this,"onStart"),this._tTime!==f))return this;if(_>=o&&i>=0)for(h=this._first;h;){if(d=h._next,(h._act||_>=h._start)&&h._ts&&m!==h){if(h.parent!==this)return this.render(i,n,s);if(h.render(h._ts>0?(_-h._start)*h._ts:(h._dirty?h.totalDuration():h._tDur)+(_-h._start)*h._ts,n,s),_!==this._time||!this._ts&&!y){m=0,d&&(f+=this._zTime=-ae);break}}h=d}else{h=this._last;for(var C=i<0?i:_;h;){if(d=h._prev,(h._act||C<=h._end)&&h._ts&&m!==h){if(h.parent!==this)return this.render(i,n,s);if(h.render(h._ts>0?(C-h._start)*h._ts:(h._dirty?h.totalDuration():h._tDur)+(C-h._start)*h._ts,n,s||Ue&&Zs(h)),_!==this._time||!this._ts&&!y){m=0,d&&(f+=this._zTime=C?-ae:ae);break}}h=d}}if(m&&!n&&(this.pause(),m.render(_>=o?0:-ae)._zTime=_>=o?1:-1,this._ts))return this._start=v,Bn(this),this.render(i,n,s);this._onUpdate&&!n&&bt(this,"onUpdate",!0),(f===l&&this._tTime>=this.totalDuration()||!f&&o)&&(v===this._start||Math.abs(w)!==Math.abs(this._ts))&&(this._lock||((i||!u)&&(f===l&&this._ts>0||!f&&this._ts<0)&&Cr(this,1),!n&&!(i<0&&!o)&&(f||o||!l)&&(bt(this,f===l&&i>=0?"onComplete":"onReverseComplete",!0),this._prom&&!(f<l&&this.timeScale()>0)&&this._prom())))}return this},t.add=function(i,n){var s=this;if(lr(n)||(n=Rt(this,n,i)),!(i instanceof ji)){if(Ze(i))return i.forEach(function(o){return s.add(o,n)}),this;if(De(i))return this.addLabel(i,n);if(ye(i))i=Ce.delayedCall(0,i);else return this}return this!==i?Zt(this,i,n):this},t.getChildren=function(i,n,s,o){i===void 0&&(i=!0),n===void 0&&(n=!0),s===void 0&&(s=!0),o===void 0&&(o=-Dt);for(var l=[],u=this._first;u;)u._start>=o&&(u instanceof Ce?n&&l.push(u):(s&&l.push(u),i&&l.push.apply(l,u.getChildren(!0,n,s)))),u=u._next;return l},t.getById=function(i){for(var n=this.getChildren(1,1,1),s=n.length;s--;)if(n[s].vars.id===i)return n[s]},t.remove=function(i){return De(i)?this.removeLabel(i):ye(i)?this.killTweensOf(i):(i.parent===this&&In(this,i),i===this._recent&&(this._recent=this._last),Xr(this))},t.totalTime=function(i,n){return arguments.length?(this._forcing=1,!this._dp&&this._ts&&(this._start=ce(pt.time-(this._ts>0?i/this._ts:(this.totalDuration()-i)/-this._ts))),a.prototype.totalTime.call(this,i,n),this._forcing=0,this):this._tTime},t.addLabel=function(i,n){return this.labels[i]=Rt(this,n),this},t.removeLabel=function(i){return delete this.labels[i],this},t.addPause=function(i,n,s){var o=Ce.delayedCall(0,n||qi,s);return o.data="isPause",this._hasPause=1,Zt(this,o,Rt(this,i))},t.removePause=function(i){var n=this._first;for(i=Rt(this,i);n;)n._start===i&&n.data==="isPause"&&Cr(n),n=n._next},t.killTweensOf=function(i,n,s){for(var o=this.getTweensOf(i,s),l=o.length;l--;)Tr!==o[l]&&o[l].kill(i,n);return this},t.getTweensOf=function(i,n){for(var s=[],o=Et(i),l=this._first,u=lr(n),f;l;)l instanceof Ce?ku(l._targets,o)&&(u?(!Tr||l._initted&&l._ts)&&l.globalTime(0)<=n&&l.globalTime(l.totalDuration())>n:!n||l.isActive())&&s.push(l):(f=l.getTweensOf(o,n)).length&&s.push.apply(s,f),l=l._next;return s},t.tweenTo=function(i,n){n=n||{};var s=this,o=Rt(s,i),l=n,u=l.startAt,f=l.onStart,c=l.onStartParams,_=l.immediateRender,h,d=Ce.to(s,Tt({ease:n.ease||"none",lazy:!1,immediateRender:!1,time:o,overwrite:"auto",duration:n.duration||Math.abs((o-(u&&"time"in u?u.time:s._time))/s.timeScale())||ae,onStart:function(){if(s.pause(),!h){var g=n.duration||Math.abs((o-(u&&"time"in u?u.time:s._time))/s.timeScale());d._dur!==g&&pi(d,g,0,1).render(d._time,!0,!0),h=1}f&&f.apply(d,c||[])}},n));return _?d.render(0):d},t.tweenFromTo=function(i,n,s){return this.tweenTo(n,Tt({startAt:{time:Rt(this,i)}},s))},t.recent=function(){return this._recent},t.nextLabel=function(i){return i===void 0&&(i=this._time),oa(this,Rt(this,i))},t.previousLabel=function(i){return i===void 0&&(i=this._time),oa(this,Rt(this,i),1)},t.currentLabel=function(i){return arguments.length?this.seek(i,!0):this.previousLabel(this._time+ae)},t.shiftChildren=function(i,n,s){s===void 0&&(s=0);var o=this._first,l=this.labels,u;for(i=ce(i);o;)o._start>=s&&(o._start+=i,o._end+=i),o=o._next;if(n)for(u in l)l[u]>=s&&(l[u]+=i);return Xr(this)},t.invalidate=function(i){var n=this._first;for(this._lock=0;n;)n.invalidate(i),n=n._next;return a.prototype.invalidate.call(this,i)},t.clear=function(i){i===void 0&&(i=!0);for(var n=this._first,s;n;)s=n._next,this.remove(n),n=s;return this._dp&&(this._time=this._tTime=this._pTime=0),i&&(this.labels={}),Xr(this)},t.totalDuration=function(i){var n=0,s=this,o=s._last,l=Dt,u,f,c;if(arguments.length)return s.timeScale((s._repeat<0?s.duration():s.totalDuration())/(s.reversed()?-i:i));if(s._dirty){for(c=s.parent;o;)u=o._prev,o._dirty&&o.totalDuration(),f=o._start,f>l&&s._sort&&o._ts&&!s._lock?(s._lock=1,Zt(s,o,f-o._delay,1)._lock=0):l=f,f<0&&o._ts&&(n-=f,(!c&&!s._dp||c&&c.smoothChildTiming)&&(s._start+=ce(f/s._ts),s._time-=f,s._tTime-=f),s.shiftChildren(-f,!1,-1/0),l=0),o._end>n&&o._ts&&(n=o._end),o=u;pi(s,s===he&&s._time>n?s._time:n,1,1),s._dirty=0}return s._tDur},e.updateRoot=function(i){if(he._ts&&(ga(he,Ln(i,he)),da=pt.frame),pt.frame>=ra){ra+=gt.autoSleep||120;var n=he._first;if((!n||!n._ts)&&gt.autoSleep&&pt._listeners.length<2){for(;n&&!n._ts;)n=n._next;n||pt.sleep()}}},e})(ji);Tt(Qe.prototype,{_lock:0,_hasPause:0,_forcing:0});var $u=function(e,t,r,i,n,s,o){var l=new st(this._pt,e,t,0,1,io,null,n),u=0,f=0,c,_,h,d,p,g,y,m;for(l.b=r,l.e=i,r+="",i+="",(y=~i.indexOf("random("))&&(i=gi(i)),s&&(m=[r,i],s(m,e,t),r=m[0],i=m[1]),_=r.match(Ss)||[];c=Ss.exec(i);)d=c[0],p=i.substring(u,c.index),h?h=(h+1)%5:p.substr(-5)==="rgba("&&(h=1),d!==_[f++]&&(g=parseFloat(_[f-1])||0,l._pt={_next:l._pt,p:p||f===1?p:",",s:g,c:d.charAt(1)==="="?Gr(g,d)-g:parseFloat(d)-g,m:h&&h<4?Math.round:0},u=Ss.lastIndex);return l.c=u<i.length?i.substring(u,i.length):"",l.fp=o,(Ws.test(i)||y)&&(l.e=0),this._pt=l,l},Js=function(e,t,r,i,n,s,o,l,u,f){ye(i)&&(i=i(n||0,e,s));var c=e[t],_=r!=="get"?r:ye(c)?u?e[t.indexOf("set")||!ye(e["get"+t.substr(3)])?t:"get"+t.substr(3)](u):e[t]():c,h=ye(c)?u?nf:Na:ro,d;if(De(i)&&(~i.indexOf("random(")&&(i=gi(i)),i.charAt(1)==="="&&(d=Gr(_,i)+(We(_)||0),(d||d===0)&&(i=d))),!f||_!==i||Bs)return!isNaN(_*i)&&i!==""?(d=new st(this._pt,e,t,+_||0,i-(_||0),typeof c=="boolean"?of:Ia,0,h),u&&(d.fp=u),o&&d.modifier(o,this,e),this._pt=d):(!c&&!(t in e)&&Nn(t,i),$u.call(this,e,t,_,i,h,l||gt.stringFilter,u))},Ju=function(e,t,r,i,n){if(ye(e)&&(e=Ui(e,n,t,r,i)),!Kt(e)||e.style&&e.nodeType||Ze(e)||ca(e))return De(e)?Ui(e,n,t,r,i):e;var s={},o;for(o in e)s[o]=Ui(e[o],n,t,r,i);return s},eo=function(e,t,r,i,n,s){var o,l,u,f;if(_t[e]&&(o=new _t[e]).init(n,o.rawVars?t[e]:Ju(t[e],i,n,s,r),r,i,s)!==!1&&(r._pt=l=new st(r._pt,n,e,0,1,o.render,o,0,o.priority),r!==ci))for(u=r._ptLookup[r._targets.indexOf(n)],f=o._props.length;f--;)u[o._props[f]]=l;return o},Tr,Bs,to=function a(e,t,r){var i=e.vars,n=i.ease,s=i.startAt,o=i.immediateRender,l=i.lazy,u=i.onUpdate,f=i.runBackwards,c=i.yoyoEase,_=i.keyframes,h=i.autoRevert,d=e._dur,p=e._startAt,g=e._targets,y=e.parent,m=y&&y.data==="nested"?y.vars.targets:g,w=e._overwrite==="auto"&&!Xs,v=e.timeline,T=i.easeReverse||c,M,b,k,P,C,E,O,N,z,B,I,A,q;if(v&&(!_||!n)&&(n="none"),e._ease=Vr(n,Wi.ease),e._rEase=T&&(Vr(T)||e._ease),e._from=!v&&!!i.runBackwards,e._from&&(e.ratio=1),!v||_&&!i.stagger){if(N=g[0]?Pr(g[0]).harness:0,A=N&&i[N.prop],M=An(i,qs),p&&(p._zTime<0&&p.progress(1),t<0&&f&&o&&!h?p.render(-1,!0):p.revert(f&&d?kn:Cu),p._lazy=0),s){if(Cr(e._startAt=Ce.set(g,Tt({data:"isStart",overwrite:!1,parent:y,immediateRender:!0,lazy:!p&&dt(l),startAt:null,delay:0,onUpdate:u&&function(){return bt(e,"onUpdate")},stagger:0},s))),e._startAt._dp=0,e._startAt._sat=e,t<0&&(Ue||!o&&!h)&&e._startAt.revert(kn),o&&d&&t<=0&&r<=0){t&&(e._zTime=t);return}}else if(f&&d&&!p){if(t&&(o=!1),k=Tt({overwrite:!1,data:"isFromStart",lazy:o&&!p&&dt(l),immediateRender:o,stagger:0,parent:y},M),A&&(k[N.prop]=A),Cr(e._startAt=Ce.set(g,k)),e._startAt._dp=0,e._startAt._sat=e,t<0&&(Ue?e._startAt.revert(kn):e._startAt.render(-1,!0)),e._zTime=t,!o)a(e._startAt,ae,ae);else if(!t)return}for(e._pt=e._ptCache=0,l=d&&dt(l)||l&&!d,b=0;b<g.length;b++){if(C=g[b],O=C._gsap||js(g)[b]._gsap,e._ptLookup[b]=B={},As[O.id]&&Sr.length&&En(),I=m===g?b:m.indexOf(C),N&&(z=new N).init(C,A||M,e,I,m)!==!1&&(e._pt=P=new st(e._pt,C,z.name,0,1,z.render,z,0,z.priority),z._props.forEach(function(te){B[te]=P}),z.priority&&(E=1)),!N||A)for(k in M)_t[k]&&(z=eo(k,M,e,I,C,m))?z.priority&&(E=1):B[k]=P=Js.call(e,C,k,"get",M[k],I,m,0,i.stringFilter);e._op&&e._op[b]&&e.kill(C,e._op[b]),w&&e._pt&&(Tr=e,he.killTweensOf(C,B,e.globalTime(t)),q=!e.parent,Tr=0),e._pt&&l&&(As[O.id]=1)}E&&so(e),e._onInit&&e._onInit(e)}e._onUpdate=u,e._initted=(!e._op||e._pt)&&!q,_&&t<=0&&v.render(Dt,!0,!0)},ef=function(e,t,r,i,n,s,o,l){var u=(e._pt&&e._ptCache||(e._ptCache={}))[t],f,c,_,h;if(!u)for(u=e._ptCache[t]=[],_=e._ptLookup,h=e._targets.length;h--;){if(f=_[h][t],f&&f.d&&f.d._pt)for(f=f.d._pt;f&&f.p!==t&&f.fp!==t;)f=f._next;if(!f)return Bs=1,e.vars[t]="+=0",to(e,o),Bs=0,l?Gi(t+" not eligible for reset. Try splitting into individual properties"):1;u.push(f)}for(h=u.length;h--;)c=u[h],f=c._pt||c,f.s=(i||i===0)&&!n?i:f.s+(i||0)+s*f.c,f.c=r-f.s,c.e&&(c.e=ve(r)+We(c.e)),c.b&&(c.b=f.s+We(c.b))},tf=function(e,t){var r=e[0]?Pr(e[0]).harness:0,i=r&&r.aliases,n,s,o,l;if(!i)return t;n=hi({},t);for(s in i)if(s in n)for(l=i[s].split(","),o=l.length;o--;)n[l[o]]=n[s];return n},rf=function(e,t,r,i){var n=t.ease||i||"power1.inOut",s,o;if(Ze(t))o=r[e]||(r[e]=[]),t.forEach(function(l,u){return o.push({t:u/(t.length-1)*100,v:l,e:n})});else for(s in t)o=r[s]||(r[s]=[]),s==="ease"||o.push({t:parseFloat(e),v:t[s],e:n})},Ui=function(e,t,r,i,n){return ye(e)?e.call(t,r,i,n):De(e)&&~e.indexOf("random(")?gi(e):e},Fa=Hs+"repeat,repeatDelay,yoyo,repeatRefresh,yoyoEase,easeReverse,autoRevert",za={};nt(Fa+",id,stagger,delay,duration,paused,scrollTrigger",function(a){return za[a]=1});var Ce=(function(a){ua(e,a);function e(r,i,n,s){var o;typeof i=="number"&&(n.duration=i,i=n,n=null),o=a.call(this,s?i:Xi(i))||this;var l=o.vars,u=l.duration,f=l.delay,c=l.immediateRender,_=l.stagger,h=l.overwrite,d=l.keyframes,p=l.defaults,g=l.scrollTrigger,y=i.parent||he,m=(Ze(r)||ca(r)?lr(r[0]):"length"in i)?[r]:Et(r),w,v,T,M,b,k,P,C;if(o._targets=m.length?js(m):Gi("GSAP target "+r+" not found. https://gsap.com",!gt.nullTargetWarn)||[],o._ptLookup=[],o._overwrite=h,d||_||Mn(u)||Mn(f)){i=o.vars;var E=i.easeReverse||i.yoyoEase;if(w=o.timeline=new Qe({data:"nested",defaults:p||{},targets:y&&y.data==="nested"?y.vars.targets:m}),w.kill(),w.parent=w._dp=or(o),w._start=0,_||Mn(u)||Mn(f)){if(M=m.length,P=_&&Pa(_),Kt(_))for(b in _)~Fa.indexOf(b)&&(C||(C={}),C[b]=_[b]);for(v=0;v<M;v++)T=An(i,za),T.stagger=0,E&&(T.easeReverse=E),C&&hi(T,C),k=m[v],T.duration=+Ui(u,or(o),v,k,m),T.delay=(+Ui(f,or(o),v,k,m)||0)-o._delay,!_&&M===1&&T.delay&&(o._delay=f=T.delay,o._start+=f,T.delay=0),w.to(k,T,P?P(v,k,m):0),w._ease=K.none;w.duration()?u=f=0:o.timeline=0}else if(d){Xi(Tt(w.vars.defaults,{ease:"none"})),w._ease=Vr(d.ease||i.ease||"none");var O=0,N,z,B;if(Ze(d))d.forEach(function(I){return w.to(m,I,">")}),w.duration();else{T={};for(b in d)b==="ease"||b==="easeEach"||rf(b,d[b],T,d.easeEach);for(b in T)for(N=T[b].sort(function(I,A){return I.t-A.t}),O=0,v=0;v<N.length;v++)z=N[v],B={ease:z.e,duration:(z.t-(v?N[v-1].t:0))/100*u},B[b]=z.v,w.to(m,B,O),O+=B.duration;w.duration()<u&&w.to({},{duration:u-w.duration()})}}u||o.duration(u=w.duration())}else o.timeline=0;return h===!0&&!Xs&&(Tr=or(o),he.killTweensOf(m),Tr=0),Zt(y,or(o),n),i.reversed&&o.reverse(),i.paused&&o.paused(!0),(c||!u&&!d&&o._start===ce(y._time)&&dt(c)&&Eu(or(o))&&y.data!=="nested")&&(o._tTime=-ae,o.render(Math.max(0,-f)||0)),g&&ba(or(o),g),o}var t=e.prototype;return t.render=function(i,n,s){var o=this._time,l=this._tDur,u=this._dur,f=i<0,c=i>l-ae&&!f?l:i<ae?0:i,_,h,d,p,g,y,m,w;if(!u)Lu(this,i,n,s);else if(c!==this._tTime||!i||s||!this._initted&&this._tTime||this._startAt&&this._zTime<0!==f||this._lazy){if(_=c,w=this.timeline,this._repeat){if(p=u+this._rDelay,this._repeat<-1&&f)return this.totalTime(p*100+i,n,s);if(_=ce(c%p),c===l?(d=this._repeat,_=u):(g=ce(c/p),d=~~g,d&&d===g?(_=u,d--):_>u&&(_=u)),y=this._yoyo&&d&1,y&&(_=u-_),g=_i(this._tTime,p),_===o&&!s&&this._initted&&d===g)return this._tTime=c,this;d!==g&&this.vars.repeatRefresh&&!y&&!this._lock&&_!==p&&this._initted&&(this._lock=s=1,this.render(ce(p*d),!0).invalidate()._lock=0)}if(!this._initted){if(wa(this,f?i:_,s,n,c))return this._tTime=0,this;if(o!==this._time&&!(s&&this.vars.repeatRefresh&&d!==g))return this;if(u!==this._dur)return this.render(i,n,s)}if(this._rEase){var v=_<o;if(v!==this._inv){var T=v?o:u-o;this._inv=v,this._from&&(this.ratio=1-this.ratio),this._invRatio=this.ratio,this._invTime=o,this._invRecip=T?(v?-1:1)/T:0,this._invScale=v?-this.ratio:1-this.ratio,this._invEase=v?this._rEase:this._ease}this.ratio=m=this._invRatio+this._invScale*this._invEase((_-this._invTime)*this._invRecip)}else this.ratio=m=this._ease(_/u);if(this._from&&(this.ratio=m=1-m),this._tTime=c,this._time=_,!this._act&&this._ts&&(this._act=1,this._lazy=0),!o&&c&&!n&&!g&&(bt(this,"onStart"),this._tTime!==c))return this;for(h=this._pt;h;)h.r(m,h.d),h=h._next;w&&w.render(i<0?i:w._dur*w._ease(_/this._dur),n,s)||this._startAt&&(this._zTime=i),this._onUpdate&&!n&&(f&&Ls(this,i,n,s),bt(this,"onUpdate")),this._repeat&&d!==g&&this.vars.onRepeat&&!n&&this.parent&&bt(this,"onRepeat"),(c===this._tDur||!c)&&this._tTime===c&&(f&&!this._onUpdate&&Ls(this,i,!0,!0),(i||!u)&&(c===this._tDur&&this._ts>0||!c&&this._ts<0)&&Cr(this,1),!n&&!(f&&!o)&&(c||o||y)&&(bt(this,c===l?"onComplete":"onReverseComplete",!0),this._prom&&!(c<l&&this.timeScale()>0)&&this._prom()))}return this},t.targets=function(){return this._targets},t.invalidate=function(i){return(!i||!this.vars.runBackwards)&&(this._startAt=0),this._pt=this._op=this._onUpdate=this._lazy=this.ratio=0,this._ptLookup=[],this.timeline&&this.timeline.invalidate(i),a.prototype.invalidate.call(this,i)},t.resetTo=function(i,n,s,o,l){Hi||pt.wake(),this._ts||this.play();var u=Math.min(this._dur,(this._dp._time-this._start)*this._ts),f;return this._initted||to(this,u),f=this._ease(u/this._dur),ef(this,i,n,s,o,f,u,l)?this.resetTo(i,n,s,o,1):(Yn(this,0),this.parent||ya(this._dp,this,"_first","_last",this._dp._sort?"_start":0),this.render(0))},t.kill=function(i,n){if(n===void 0&&(n="all"),!i&&(!n||n==="all"))return this._lazy=this._pt=0,this.parent?Bi(this):this.scrollTrigger&&this.scrollTrigger.kill(!!Ue),this;if(this.timeline){var s=this.timeline.totalDuration();return this.timeline.killTweensOf(i,n,Tr&&Tr.vars.overwrite!==!0)._first||Bi(this),this.parent&&s!==this.timeline.totalDuration()&&pi(this,this._dur*this.timeline._tDur/s,0,1),this}var o=this._targets,l=i?Et(i):o,u=this._ptLookup,f=this._pt,c,_,h,d,p,g,y;if((!n||n==="all")&&Ru(o,l))return n==="all"&&(this._pt=0),Bi(this);for(c=this._op=this._op||[],n!=="all"&&(De(n)&&(p={},nt(n,function(m){return p[m]=1}),n=p),n=tf(o,n)),y=o.length;y--;)if(~l.indexOf(o[y])){_=u[y],n==="all"?(c[y]=n,d=_,h={}):(h=c[y]=c[y]||{},d=n);for(p in d)g=_&&_[p],g&&((!("kill"in g.d)||g.d.kill(p)===!0)&&In(this,g,"_pt"),delete _[p]),h!=="all"&&(h[p]=1)}return this._initted&&!this._pt&&f&&Bi(this),this},e.to=function(i,n){return new e(i,n,arguments[2])},e.from=function(i,n){return Vi(1,arguments)},e.delayedCall=function(i,n,s,o){return new e(n,0,{immediateRender:!1,lazy:!1,overwrite:!1,delay:i,onComplete:n,onReverseComplete:n,onCompleteParams:s,onReverseCompleteParams:s,callbackScope:o})},e.fromTo=function(i,n,s){return Vi(2,arguments)},e.set=function(i,n){return n.duration=0,n.repeatDelay||(n.repeat=0),new e(i,n)},e.killTweensOf=function(i,n,s){return he.killTweensOf(i,n,s)},e})(ji);Tt(Ce.prototype,{_targets:[],_lazy:0,_startAt:0,_op:0,_onInit:0});nt("staggerTo,staggerFrom,staggerFromTo",function(a){Ce[a]=function(){var e=new Qe,t=zs.call(arguments,0);return t.splice(a==="staggerFromTo"?5:4,0,0),e[a].apply(e,t)}});var ro=function(e,t,r){return e[t]=r},Na=function(e,t,r){return e[t](r)},nf=function(e,t,r,i){return e[t](i.fp,r)},sf=function(e,t,r){return e.setAttribute(t,r)},Xn=function(e,t){return ye(e[t])?Na:zn(e[t])&&e.setAttribute?sf:ro},Ia=function(e,t){return t.set(t.t,t.p,Math.round((t.s+t.c*e)*1e6)/1e6,t)},of=function(e,t){return t.set(t.t,t.p,!!(t.s+t.c*e),t)},io=function(e,t){var r=t._pt,i="";if(!e&&t.b)i=t.b;else if(e===1&&t.e)i=t.e;else{for(;r;)i=r.p+(r.m?r.m(r.s+r.c*e):Math.round((r.s+r.c*e)*1e4)/1e4)+i,r=r._next;i+=t.c}t.set(t.t,t.p,i,t)},no=function(e,t){for(var r=t._pt;r;)r.r(e,r.d),r=r._next},af=function(e,t,r,i){for(var n=this._pt,s;n;)s=n._next,n.p===i&&n.modifier(e,t,r),n=s},lf=function(e){for(var t=this._pt,r,i;t;)i=t._next,t.p===e&&!t.op||t.op===e?In(this,t,"_pt"):t.dep||(r=1),t=i;return!r},uf=function(e,t,r,i){i.mSet(e,t,i.m.call(i.tween,r,i.mt),i)},so=function(e){for(var t=e._pt,r,i,n,s;t;){for(r=t._next,i=n;i&&i.pr>t.pr;)i=i._next;(t._prev=i?i._prev:s)?t._prev._next=t:n=t,(t._next=i)?i._prev=t:s=t,t=r}e._pt=n},st=(function(){function a(t,r,i,n,s,o,l,u,f){this.t=r,this.s=n,this.c=s,this.p=i,this.r=o||Ia,this.d=l||this,this.set=u||ro,this.pr=f||0,this._next=t,t&&(t._prev=this)}var e=a.prototype;return e.modifier=function(r,i,n){this.mSet=this.mSet||this.set,this.set=uf,this.m=r,this.mt=n,this.tween=i},a})();nt(Hs+"parent,duration,ease,delay,overwrite,runBackwards,startAt,yoyo,immediateRender,repeat,repeatDelay,data,paused,reversed,lazy,callbackScope,stringFilter,id,yoyoEase,stagger,inherit,repeatRefresh,keyframes,autoRevert,scrollTrigger,easeReverse",function(a){return qs[a]=1});wt.TweenMax=wt.TweenLite=Ce;wt.TimelineLite=wt.TimelineMax=Qe;he=new Qe({sortChildren:!1,defaults:Wi,autoRemoveChildren:!0,id:"root",smoothChildTiming:!0});gt.stringFilter=Ks;var Ur=[],Rn={},ff=[],la=0,cf=0,Os=function(e){return(Rn[e]||ff).map(function(t){return t()})},Ys=function(){var e=Date.now(),t=[];e-la>2&&(Os("matchMediaInit"),Ur.forEach(function(r){var i=r.queries,n=r.conditions,s,o,l,u;for(o in i)s=Qt.matchMedia(i[o]).matches,s&&(l=1),s!==n[o]&&(n[o]=s,u=1);u&&(r.revert(),l&&t.push(r))}),Os("matchMediaRevert"),t.forEach(function(r){return r.onMatch(r,function(i){return r.add(null,i)})}),la=e,Os("matchMedia"))},Ba=(function(){function a(t,r){this.selector=r&&Ns(r),this.data=[],this._r=[],this.isReverted=!1,this.id=cf++,t&&this.add(t)}var e=a.prototype;return e.add=function(r,i,n){ye(r)&&(n=i,i=r,r=ye);var s=this,o=function(){var u=ue,f=s.selector,c;return u&&u!==s&&u.data.push(s),n&&(s.selector=Ns(n)),ue=s,c=i.apply(s,arguments),ye(c)&&s._r.push(c),ue=u,s.selector=f,s.isReverted=!1,c};return s.last=o,r===ye?o(s,function(l){return s.add(null,l)}):r?s[r]=o:o},e.ignore=function(r){var i=ue;ue=null,r(this),ue=i},e.getTweens=function(){var r=[];return this.data.forEach(function(i){return i instanceof a?r.push.apply(r,i.getTweens()):i instanceof Ce&&!(i.parent&&i.parent.data==="nested")&&r.push(i)}),r},e.clear=function(){this._r.length=this.data.length=0},e.kill=function(r,i){var n=this;if(r?(function(){for(var o=n.getTweens(),l=n.data.length,u;l--;)u=n.data[l],u.data==="isFlip"&&(u.revert(),u.getChildren(!0,!0,!1).forEach(function(f){return o.splice(o.indexOf(f),1)}));for(o.map(function(f){return{g:f._dur||f._delay||f._sat&&!f._sat.vars.immediateRender?f.globalTime(0):-1/0,t:f}}).sort(function(f,c){return c.g-f.g||-1/0}).forEach(function(f){return f.t.revert(r)}),l=n.data.length;l--;)u=n.data[l],u instanceof Qe?u.data!=="nested"&&(u.scrollTrigger&&u.scrollTrigger.revert(),u.kill()):!(u instanceof Ce)&&u.revert&&u.revert(r);n._r.forEach(function(f){return f(r,n)}),n.isReverted=!0})():this.data.forEach(function(o){return o.kill&&o.kill()}),this.clear(),i)for(var s=Ur.length;s--;)Ur[s].id===this.id&&Ur.splice(s,1)},e.revert=function(r){this.kill(r||{})},a})(),hf=(function(){function a(t){this.contexts=[],this.scope=t,ue&&ue.data.push(this)}var e=a.prototype;return e.add=function(r,i,n){Kt(r)||(r={matches:r});var s=new Ba(0,n||this.scope),o=s.conditions={},l,u,f;ue&&!s.selector&&(s.selector=ue.selector),this.contexts.push(s),i=s.add("onMatch",i),s.queries=r;for(u in r)u==="all"?f=1:(l=Qt.matchMedia(r[u]),l&&(Ur.indexOf(s)<0&&Ur.push(s),(o[u]=l.matches)&&(f=1),l.addListener?l.addListener(Ys):l.addEventListener("change",Ys)));return f&&i(s,function(c){return s.add(null,c)}),this},e.revert=function(r){this.kill(r||{})},e.kill=function(r){this.contexts.forEach(function(i){return i.kill(r,!0)})},a})(),Fn={registerPlugin:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.forEach(function(i){return Da(i)})},timeline:function(e){return new Qe(e)},getTweensOf:function(e,t){return he.getTweensOf(e,t)},getProperty:function(e,t,r,i){De(e)&&(e=Et(e)[0]);var n=Pr(e||{}).get,s=r?xa:ma;return r==="native"&&(r=""),e&&(t?s((_t[t]&&_t[t].get||n)(e,t,r,i)):function(o,l,u){return s((_t[o]&&_t[o].get||n)(e,o,l,u))})},quickSetter:function(e,t,r){if(e=Et(e),e.length>1){var i=e.map(function(f){return Ke.quickSetter(f,t,r)}),n=i.length;return function(f){for(var c=n;c--;)i[c](f)}}e=e[0]||{};var s=_t[t],o=Pr(e),l=o.harness&&(o.harness.aliases||{})[t]||t,u=s?function(f){var c=new s;ci._pt=0,c.init(e,r?f+r:f,ci,0,[e]),c.render(1,c),ci._pt&&no(1,ci)}:o.set(e,l);return s?u:function(f){return u(e,l,r?f+r:f,o,1)}},quickTo:function(e,t,r){var i,n=Ke.to(e,Tt((i={},i[t]="+=0.1",i.paused=!0,i.stagger=0,i),r||{})),s=function(l,u,f){return n.resetTo(t,l,u,f)};return s.tween=n,s},isTweening:function(e){return he.getTweensOf(e,!0).length>0},defaults:function(e){return e&&e.ease&&(e.ease=Vr(e.ease,Wi.ease)),ia(Wi,e||{})},config:function(e){return ia(gt,e||{})},registerEffect:function(e){var t=e.name,r=e.effect,i=e.plugins,n=e.defaults,s=e.extendTimeline;(i||"").split(",").forEach(function(o){return o&&!_t[o]&&!wt[o]&&Gi(t+" effect requires "+o+" plugin.")}),Ps[t]=function(o,l,u){return r(Et(o),Tt(l||{},n),u)},s&&(Qe.prototype[t]=function(o,l,u){return this.add(Ps[t](o,Kt(l)?l:(u=l)&&{},this),u)})},registerEase:function(e,t){K[e]=Vr(t)},parseEase:function(e,t){return arguments.length?Vr(e,t):K},getById:function(e){return he.getById(e)},exportRoot:function(e,t){e===void 0&&(e={});var r=new Qe(e),i,n;for(r.smoothChildTiming=dt(e.smoothChildTiming),he.remove(r),r._dp=0,r._time=r._tTime=he._time,i=he._first;i;)n=i._next,(t||!(!i._dur&&i instanceof Ce&&i.vars.onComplete===i._targets[0]))&&Zt(r,i,i._start-i._delay),i=n;return Zt(he,r,0),r},context:function(e,t){return e?new Ba(e,t):ue},matchMedia:function(e){return new hf(e)},matchMediaRefresh:function(){return Ur.forEach(function(e){var t=e.conditions,r,i;for(i in t)t[i]&&(t[i]=!1,r=1);r&&e.revert()})||Ys()},addEventListener:function(e,t){var r=Rn[e]||(Rn[e]=[]);~r.indexOf(t)||r.push(t)},removeEventListener:function(e,t){var r=Rn[e],i=r&&r.indexOf(t);i>=0&&r.splice(i,1)},utils:{wrap:Vu,wrapYoyo:Uu,distribute:Pa,random:Ma,snap:Ca,normalize:Xu,getUnit:We,clamp:Nu,splitColor:Ea,toArray:Et,selector:Ns,mapRange:Oa,pipe:Bu,unitize:Yu,interpolate:Wu,shuffle:Sa},install:_a,effects:Ps,ticker:pt,updateRoot:Qe.updateRoot,plugins:_t,globalTimeline:he,core:{PropTween:st,globals:pa,Tween:Ce,Timeline:Qe,Animation:ji,getCache:Pr,_removeLinkedListItem:In,reverting:function(){return Ue},context:function(e){return e&&ue&&(ue.data.push(e),e._ctx=ue),ue},suppressOverwrites:function(e){return Xs=e}}};nt("to,from,fromTo,delayedCall,set,killTweensOf",function(a){return Fn[a]=Ce[a]});pt.add(Qe.updateRoot);ci=Fn.to({},{duration:0});var _f=function(e,t){for(var r=e._pt;r&&r.p!==t&&r.op!==t&&r.fp!==t;)r=r._next;return r},pf=function(e,t){var r=e._targets,i,n,s;for(i in t)for(n=r.length;n--;)s=e._ptLookup[n][i],s&&(s=s.d)&&(s._pt&&(s=_f(s,i)),s&&s.modifier&&s.modifier(t[i],e,r[n],i))},Rs=function(e,t){return{name:e,headless:1,rawVars:1,init:function(i,n,s){s._onInit=function(o){var l,u;if(De(n)&&(l={},nt(n,function(f){return l[f]=1}),n=l),t){l={};for(u in n)l[u]=t(n[u]);n=l}pf(o,n)}}}},Ke=Fn.registerPlugin({name:"attr",init:function(e,t,r,i,n){var s,o,l;this.tween=r;for(s in t)l=e.getAttribute(s)||"",o=this.add(e,"setAttribute",(l||0)+"",t[s],i,n,0,0,s),o.op=s,o.b=l,this._props.push(s)},render:function(e,t){for(var r=t._pt;r;)Ue?r.set(r.t,r.p,r.b,r):r.r(e,r.d),r=r._next}},{name:"endArray",headless:1,init:function(e,t){for(var r=t.length;r--;)this.add(e,r,e[r]||0,t[r],0,0,0,0,0,1)}},Rs("roundProps",Is),Rs("modifiers"),Rs("snap",Ca))||Fn;Ce.version=Qe.version=Ke.version="3.15.0";ha=1;Vs()&&di();var df=K.Power0,gf=K.Power1,mf=K.Power2,xf=K.Power3,yf=K.Power4,vf=K.Linear,bf=K.Quad,wf=K.Cubic,Tf=K.Quart,Sf=K.Quint,Pf=K.Strong,Cf=K.Elastic,Mf=K.Back,kf=K.SteppedEase,Of=K.Bounce,Rf=K.Sine,Df=K.Expo,Ef=K.Circ;var Ya,kr,xi,co,Zr,Af,Xa,ho,Lf=function(){return typeof window<"u"},fr={},Qr=180/Math.PI,yi=Math.PI/180,mi=Math.atan2,Va=1e8,_o=/([A-Z])/g,Ff=/(left|right|width|margin|padding|x)/i,zf=/[\s,\(]\S/,$t={autoAlpha:"opacity,visibility",scale:"scaleX,scaleY",alpha:"opacity"},ao=function(e,t){return t.set(t.t,t.p,Math.round((t.s+t.c*e)*1e4)/1e4+t.u,t)},Nf=function(e,t){return t.set(t.t,t.p,e===1?t.e:Math.round((t.s+t.c*e)*1e4)/1e4+t.u,t)},If=function(e,t){return t.set(t.t,t.p,e?Math.round((t.s+t.c*e)*1e4)/1e4+t.u:t.b,t)},Bf=function(e,t){return t.set(t.t,t.p,e===1?t.e:e?Math.round((t.s+t.c*e)*1e4)/1e4+t.u:t.b,t)},Yf=function(e,t){var r=t.s+t.c*e;t.set(t.t,t.p,~~(r+(r<0?-.5:.5))+t.u,t)},Za=function(e,t){return t.set(t.t,t.p,e?t.e:t.b,t)},Ka=function(e,t){return t.set(t.t,t.p,e!==1?t.b:t.e,t)},Xf=function(e,t,r){return e.style[t]=r},Vf=function(e,t,r){return e.style.setProperty(t,r)},Uf=function(e,t,r){return e._gsap[t]=r},Wf=function(e,t,r){return e._gsap.scaleX=e._gsap.scaleY=r},Gf=function(e,t,r,i,n){var s=e._gsap;s.scaleX=s.scaleY=r,s.renderTransform(n,s)},qf=function(e,t,r,i,n){var s=e._gsap;s[t]=r,s.renderTransform(n,s)},_e="transform",mt=_e+"Origin",Hf=function a(e,t){var r=this,i=this.target,n=i.style,s=i._gsap;if(e in fr&&n){if(this.tfm=this.tfm||{},e!=="transform")e=$t[e]||e,~e.indexOf(",")?e.split(",").forEach(function(o){return r.tfm[o]=ur(i,o)}):this.tfm[e]=s.x?s[e]:ur(i,e),e===mt&&(this.tfm.zOrigin=s.zOrigin);else return $t.transform.split(",").forEach(function(o){return a.call(r,o,t)});if(this.props.indexOf(_e)>=0)return;s.svg&&(this.svgo=i.getAttribute("data-svg-origin"),this.props.push(mt,t,"")),e=_e}(n||t)&&this.props.push(e,t,n[e])},$a=function(e){e.translate&&(e.removeProperty("translate"),e.removeProperty("scale"),e.removeProperty("rotate"))},jf=function(){var e=this.props,t=this.target,r=t.style,i=t._gsap,n,s;for(n=0;n<e.length;n+=3)e[n+1]?e[n+1]===2?t[e[n]](e[n+2]):t[e[n]]=e[n+2]:e[n+2]?r[e[n]]=e[n+2]:r.removeProperty(e[n].substr(0,2)==="--"?e[n]:e[n].replace(_o,"-$1").toLowerCase());if(this.tfm){for(s in this.tfm)i[s]=this.tfm[s];i.svg&&(i.renderTransform(),t.setAttribute("data-svg-origin",this.svgo||"")),n=ho(),(!n||!n.isStart)&&!r[_e]&&($a(r),i.zOrigin&&r[mt]&&(r[mt]+=" "+i.zOrigin+"px",i.zOrigin=0,i.renderTransform()),i.uncache=1)}},Ja=function(e,t){var r={target:e,props:[],revert:jf,save:Hf};return e._gsap||Ke.core.getCache(e),t&&e.style&&e.nodeType&&t.split(",").forEach(function(i){return r.save(i)}),r},el,lo=function(e,t){var r=kr.createElementNS?kr.createElementNS((t||"http://www.w3.org/1999/xhtml").replace(/^https/,"http"),e):kr.createElement(e);return r&&r.style?r:kr.createElement(e)},St=function a(e,t,r){var i=getComputedStyle(e);return i[t]||i.getPropertyValue(t.replace(_o,"-$1").toLowerCase())||i.getPropertyValue(t)||!r&&a(e,vi(t)||t,1)||""},Ua="O,Moz,ms,Ms,Webkit".split(","),vi=function(e,t,r){var i=t||Zr,n=i.style,s=5;if(e in n&&!r)return e;for(e=e.charAt(0).toUpperCase()+e.substr(1);s--&&!(Ua[s]+e in n););return s<0?null:(s===3?"ms":s>=0?Ua[s]:"")+e},uo=function(){Lf()&&window.document&&(Ya=window,kr=Ya.document,xi=kr.documentElement,Zr=lo("div")||{style:{}},Af=lo("div"),_e=vi(_e),mt=_e+"Origin",Zr.style.cssText="border-width:0;line-height:0;position:absolute;padding:0",el=!!vi("perspective"),ho=Ke.core.reverting,co=1)},Wa=function(e){var t=e.ownerSVGElement,r=lo("svg",t&&t.getAttribute("xmlns")||"http://www.w3.org/2000/svg"),i=e.cloneNode(!0),n;i.style.display="block",r.appendChild(i),xi.appendChild(r);try{n=i.getBBox()}catch{}return r.removeChild(i),xi.removeChild(r),n},Ga=function(e,t){for(var r=t.length;r--;)if(e.hasAttribute(t[r]))return e.getAttribute(t[r])},tl=function(e){var t,r;try{t=e.getBBox()}catch{t=Wa(e),r=1}return t&&(t.width||t.height)||r||(t=Wa(e)),t&&!t.width&&!t.x&&!t.y?{x:+Ga(e,["x","cx","x1"])||0,y:+Ga(e,["y","cy","y1"])||0,width:0,height:0}:t},rl=function(e){return!!(e.getCTM&&(!e.parentNode||e.ownerSVGElement)&&tl(e))},Rr=function(e,t){if(t){var r=e.style,i;t in fr&&t!==mt&&(t=_e),r.removeProperty?(i=t.substr(0,2),(i==="ms"||t.substr(0,6)==="webkit")&&(t="-"+t),r.removeProperty(i==="--"?t:t.replace(_o,"-$1").toLowerCase())):r.removeAttribute(t)}},Or=function(e,t,r,i,n,s){var o=new st(e._pt,t,r,0,1,s?Ka:Za);return e._pt=o,o.b=i,o.e=n,e._props.push(r),o},qa={deg:1,rad:1,turn:1},Qf={grid:1,flex:1},Dr=function a(e,t,r,i){var n=parseFloat(r)||0,s=(r+"").trim().substr((n+"").length)||"px",o=Zr.style,l=Ff.test(t),u=e.tagName.toLowerCase()==="svg",f=(u?"client":"offset")+(l?"Width":"Height"),c=100,_=i==="px",h=i==="%",d,p,g,y;if(i===s||!n||qa[i]||qa[s])return n;if(s!=="px"&&!_&&(n=a(e,t,r,"px")),y=e.getCTM&&rl(e),(h||s==="%")&&(fr[t]||~t.indexOf("adius")))return d=y?e.getBBox()[l?"width":"height"]:e[f],ve(h?n/d*c:n/100*d);if(o[l?"width":"height"]=c+(_?s:i),p=i!=="rem"&&~t.indexOf("adius")||i==="em"&&e.appendChild&&!u?e:e.parentNode,y&&(p=(e.ownerSVGElement||{}).parentNode),(!p||p===kr||!p.appendChild)&&(p=kr.body),g=p._gsap,g&&h&&g.width&&l&&g.time===pt.time&&!g.uncache)return ve(n/g.width*c);if(h&&(t==="height"||t==="width")){var m=e.style[t];e.style[t]=c+i,d=e[f],m?e.style[t]=m:Rr(e,t)}else(h||s==="%")&&!Qf[St(p,"display")]&&(o.position=St(e,"position")),p===e&&(o.position="static"),p.appendChild(Zr),d=Zr[f],p.removeChild(Zr),o.position="absolute";return l&&h&&(g=Pr(p),g.time=pt.time,g.width=p[f]),ve(_?d*n/c:d&&n?c/d*n:0)},ur=function(e,t,r,i){var n;return co||uo(),t in $t&&t!=="transform"&&(t=$t[t],~t.indexOf(",")&&(t=t.split(",")[0])),fr[t]&&t!=="transform"?(n=$i(e,i),n=t!=="transformOrigin"?n[t]:n.svg?n.origin:Un(St(e,mt))+" "+n.zOrigin+"px"):(n=e.style[t],(!n||n==="auto"||i||~(n+"").indexOf("calc("))&&(n=Vn[t]&&Vn[t](e,t,r)||St(e,t)||Qs(e,t)||(t==="opacity"?1:0))),r&&!~(n+"").trim().indexOf(" ")?Dr(e,t,n,r)+r:n},Zf=function(e,t,r,i){if(!r||r==="none"){var n=vi(t,e,1),s=n&&St(e,n,1);s&&s!==r?(t=n,r=s):t==="borderColor"&&(r=St(e,"borderTopColor"))}var o=new st(this._pt,e.style,t,0,1,io),l=0,u=0,f,c,_,h,d,p,g,y,m,w,v,T;if(o.b=r,o.e=i,r+="",i+="",i.substring(0,6)==="var(--"&&(i=St(e,i.substring(4,i.indexOf(")")))),i==="auto"&&(p=e.style[t],e.style[t]=i,i=St(e,t)||i,p?e.style[t]=p:Rr(e,t)),f=[r,i],Ks(f),r=f[0],i=f[1],_=r.match(Wr)||[],T=i.match(Wr)||[],T.length){for(;c=Wr.exec(i);)g=c[0],m=i.substring(l,c.index),d?d=(d+1)%5:(m.substr(-5)==="rgba("||m.substr(-5)==="hsla(")&&(d=1),g!==(p=_[u++]||"")&&(h=parseFloat(p)||0,v=p.substr((h+"").length),g.charAt(1)==="="&&(g=Gr(h,g)+v),y=parseFloat(g),w=g.substr((y+"").length),l=Wr.lastIndex-w.length,w||(w=w||gt.units[t]||v,l===i.length&&(i+=w,o.e+=w)),v!==w&&(h=Dr(e,t,p,w)||0),o._pt={_next:o._pt,p:m||u===1?m:",",s:h,c:y-h,m:d&&d<4||t==="zIndex"?Math.round:0});o.c=l<i.length?i.substring(l,i.length):""}else o.r=t==="display"&&i==="none"?Ka:Za;return Ws.test(i)&&(o.e=0),this._pt=o,o},Ha={top:"0%",bottom:"100%",left:"0%",right:"100%",center:"50%"},Kf=function(e){var t=e.split(" "),r=t[0],i=t[1]||"50%";return(r==="top"||r==="bottom"||i==="left"||i==="right")&&(e=r,r=i,i=e),t[0]=Ha[r]||r,t[1]=Ha[i]||i,t.join(" ")},$f=function(e,t){if(t.tween&&t.tween._time===t.tween._dur){var r=t.t,i=r.style,n=t.u,s=r._gsap,o,l,u;if(n==="all"||n===!0)i.cssText="",l=1;else for(n=n.split(","),u=n.length;--u>-1;)o=n[u],fr[o]&&(l=1,o=o==="transformOrigin"?mt:_e),Rr(r,o);l&&(Rr(r,_e),s&&(s.svg&&r.removeAttribute("transform"),i.scale=i.rotate=i.translate="none",$i(r,1),s.uncache=1,$a(i)))}},Vn={clearProps:function(e,t,r,i,n){if(n.data!=="isFromStart"){var s=e._pt=new st(e._pt,t,r,0,0,$f);return s.u=i,s.pr=-10,s.tween=n,e._props.push(r),1}}},Ki=[1,0,0,1,0,0],il={},nl=function(e){return e==="matrix(1, 0, 0, 1, 0, 0)"||e==="none"||!e},ja=function(e){var t=St(e,_e);return nl(t)?Ki:t.substr(7).match(Us).map(ve)},po=function(e,t){var r=e._gsap||Pr(e),i=e.style,n=ja(e),s,o,l,u;return r.svg&&e.getAttribute("transform")?(l=e.transform.baseVal.consolidate().matrix,n=[l.a,l.b,l.c,l.d,l.e,l.f],n.join(",")==="1,0,0,1,0,0"?Ki:n):(n===Ki&&!e.offsetParent&&e!==xi&&!r.svg&&(l=i.display,i.display="block",s=e.parentNode,(!s||!e.offsetParent&&!e.getBoundingClientRect().width)&&(u=1,o=e.nextElementSibling,xi.appendChild(e)),n=ja(e),l?i.display=l:Rr(e,"display"),u&&(o?s.insertBefore(e,o):s?s.appendChild(e):xi.removeChild(e))),t&&n.length>6?[n[0],n[1],n[4],n[5],n[12],n[13]]:n)},fo=function(e,t,r,i,n,s){var o=e._gsap,l=n||po(e,!0),u=o.xOrigin||0,f=o.yOrigin||0,c=o.xOffset||0,_=o.yOffset||0,h=l[0],d=l[1],p=l[2],g=l[3],y=l[4],m=l[5],w=t.split(" "),v=parseFloat(w[0])||0,T=parseFloat(w[1])||0,M,b,k,P;r?l!==Ki&&(b=h*g-d*p)&&(k=v*(g/b)+T*(-p/b)+(p*m-g*y)/b,P=v*(-d/b)+T*(h/b)-(h*m-d*y)/b,v=k,T=P):(M=tl(e),v=M.x+(~w[0].indexOf("%")?v/100*M.width:v),T=M.y+(~(w[1]||w[0]).indexOf("%")?T/100*M.height:T)),i||i!==!1&&o.smooth?(y=v-u,m=T-f,o.xOffset=c+(y*h+m*p)-y,o.yOffset=_+(y*d+m*g)-m):o.xOffset=o.yOffset=0,o.xOrigin=v,o.yOrigin=T,o.smooth=!!i,o.origin=t,o.originIsAbsolute=!!r,e.style[mt]="0px 0px",s&&(Or(s,o,"xOrigin",u,v),Or(s,o,"yOrigin",f,T),Or(s,o,"xOffset",c,o.xOffset),Or(s,o,"yOffset",_,o.yOffset)),e.setAttribute("data-svg-origin",v+" "+T)},$i=function(e,t){var r=e._gsap||new $s(e);if("x"in r&&!t&&!r.uncache)return r;var i=e.style,n=r.scaleX<0,s="px",o="deg",l=getComputedStyle(e),u=St(e,mt)||"0",f,c,_,h,d,p,g,y,m,w,v,T,M,b,k,P,C,E,O,N,z,B,I,A,q,te,x,Q,Ae,we,ne,pe;return f=c=_=p=g=y=m=w=v=0,h=d=1,r.svg=!!(e.getCTM&&rl(e)),l.translate&&((l.translate!=="none"||l.scale!=="none"||l.rotate!=="none")&&(i[_e]=(l.translate!=="none"?"translate3d("+(l.translate+" 0 0").split(" ").slice(0,3).join(", ")+") ":"")+(l.rotate!=="none"?"rotate("+l.rotate+") ":"")+(l.scale!=="none"?"scale("+l.scale.split(" ").join(",")+") ":"")+(l[_e]!=="none"?l[_e]:"")),i.scale=i.rotate=i.translate="none"),b=po(e,r.svg),r.svg&&(r.uncache?(q=e.getBBox(),u=r.xOrigin-q.x+"px "+(r.yOrigin-q.y)+"px",A=""):A=!t&&e.getAttribute("data-svg-origin"),fo(e,A||u,!!A||r.originIsAbsolute,r.smooth!==!1,b)),T=r.xOrigin||0,M=r.yOrigin||0,b!==Ki&&(E=b[0],O=b[1],N=b[2],z=b[3],f=B=b[4],c=I=b[5],b.length===6?(h=Math.sqrt(E*E+O*O),d=Math.sqrt(z*z+N*N),p=E||O?mi(O,E)*Qr:0,m=N||z?mi(N,z)*Qr+p:0,m&&(d*=Math.abs(Math.cos(m*yi))),r.svg&&(f-=T-(T*E+M*N),c-=M-(T*O+M*z))):(pe=b[6],we=b[7],x=b[8],Q=b[9],Ae=b[10],ne=b[11],f=b[12],c=b[13],_=b[14],k=mi(pe,Ae),g=k*Qr,k&&(P=Math.cos(-k),C=Math.sin(-k),A=B*P+x*C,q=I*P+Q*C,te=pe*P+Ae*C,x=B*-C+x*P,Q=I*-C+Q*P,Ae=pe*-C+Ae*P,ne=we*-C+ne*P,B=A,I=q,pe=te),k=mi(-N,Ae),y=k*Qr,k&&(P=Math.cos(-k),C=Math.sin(-k),A=E*P-x*C,q=O*P-Q*C,te=N*P-Ae*C,ne=z*C+ne*P,E=A,O=q,N=te),k=mi(O,E),p=k*Qr,k&&(P=Math.cos(k),C=Math.sin(k),A=E*P+O*C,q=B*P+I*C,O=O*P-E*C,I=I*P-B*C,E=A,B=q),g&&Math.abs(g)+Math.abs(p)>359.9&&(g=p=0,y=180-y),h=ve(Math.sqrt(E*E+O*O+N*N)),d=ve(Math.sqrt(I*I+pe*pe)),k=mi(B,I),m=Math.abs(k)>2e-4?k*Qr:0,v=ne?1/(ne<0?-ne:ne):0),r.svg&&(A=e.getAttribute("transform"),r.forceCSS=e.setAttribute("transform","")||!nl(St(e,_e)),A&&e.setAttribute("transform",A))),Math.abs(m)>90&&Math.abs(m)<270&&(n?(h*=-1,m+=p<=0?180:-180,p+=p<=0?180:-180):(d*=-1,m+=m<=0?180:-180)),t=t||r.uncache,r.x=f-((r.xPercent=f&&(!t&&r.xPercent||(Math.round(e.offsetWidth/2)===Math.round(-f)?-50:0)))?e.offsetWidth*r.xPercent/100:0)+s,r.y=c-((r.yPercent=c&&(!t&&r.yPercent||(Math.round(e.offsetHeight/2)===Math.round(-c)?-50:0)))?e.offsetHeight*r.yPercent/100:0)+s,r.z=_+s,r.scaleX=ve(h),r.scaleY=ve(d),r.rotation=ve(p)+o,r.rotationX=ve(g)+o,r.rotationY=ve(y)+o,r.skewX=m+o,r.skewY=w+o,r.transformPerspective=v+s,(r.zOrigin=parseFloat(u.split(" ")[2])||!t&&r.zOrigin||0)&&(i[mt]=Un(u)),r.xOffset=r.yOffset=0,r.force3D=gt.force3D,r.renderTransform=r.svg?ec:el?sl:Jf,r.uncache=0,r},Un=function(e){return(e=e.split(" "))[0]+" "+e[1]},oo=function(e,t,r){var i=We(t);return ve(parseFloat(t)+parseFloat(Dr(e,"x",r+"px",i)))+i},Jf=function(e,t){t.z="0px",t.rotationY=t.rotationX="0deg",t.force3D=0,sl(e,t)},Hr="0deg",Zi="0px",jr=") ",sl=function(e,t){var r=t||this,i=r.xPercent,n=r.yPercent,s=r.x,o=r.y,l=r.z,u=r.rotation,f=r.rotationY,c=r.rotationX,_=r.skewX,h=r.skewY,d=r.scaleX,p=r.scaleY,g=r.transformPerspective,y=r.force3D,m=r.target,w=r.zOrigin,v="",T=y==="auto"&&e&&e!==1||y===!0;if(w&&(c!==Hr||f!==Hr)){var M=parseFloat(f)*yi,b=Math.sin(M),k=Math.cos(M),P;M=parseFloat(c)*yi,P=Math.cos(M),s=oo(m,s,b*P*-w),o=oo(m,o,-Math.sin(M)*-w),l=oo(m,l,k*P*-w+w)}g!==Zi&&(v+="perspective("+g+jr),(i||n)&&(v+="translate("+i+"%, "+n+"%) "),(T||s!==Zi||o!==Zi||l!==Zi)&&(v+=l!==Zi||T?"translate3d("+s+", "+o+", "+l+") ":"translate("+s+", "+o+jr),u!==Hr&&(v+="rotate("+u+jr),f!==Hr&&(v+="rotateY("+f+jr),c!==Hr&&(v+="rotateX("+c+jr),(_!==Hr||h!==Hr)&&(v+="skew("+_+", "+h+jr),(d!==1||p!==1)&&(v+="scale("+d+", "+p+jr),m.style[_e]=v||"translate(0, 0)"},ec=function(e,t){var r=t||this,i=r.xPercent,n=r.yPercent,s=r.x,o=r.y,l=r.rotation,u=r.skewX,f=r.skewY,c=r.scaleX,_=r.scaleY,h=r.target,d=r.xOrigin,p=r.yOrigin,g=r.xOffset,y=r.yOffset,m=r.forceCSS,w=parseFloat(s),v=parseFloat(o),T,M,b,k,P;l=parseFloat(l),u=parseFloat(u),f=parseFloat(f),f&&(f=parseFloat(f),u+=f,l+=f),l||u?(l*=yi,u*=yi,T=Math.cos(l)*c,M=Math.sin(l)*c,b=Math.sin(l-u)*-_,k=Math.cos(l-u)*_,u&&(f*=yi,P=Math.tan(u-f),P=Math.sqrt(1+P*P),b*=P,k*=P,f&&(P=Math.tan(f),P=Math.sqrt(1+P*P),T*=P,M*=P)),T=ve(T),M=ve(M),b=ve(b),k=ve(k)):(T=c,k=_,M=b=0),(w&&!~(s+"").indexOf("px")||v&&!~(o+"").indexOf("px"))&&(w=Dr(h,"x",s,"px"),v=Dr(h,"y",o,"px")),(d||p||g||y)&&(w=ve(w+d-(d*T+p*b)+g),v=ve(v+p-(d*M+p*k)+y)),(i||n)&&(P=h.getBBox(),w=ve(w+i/100*P.width),v=ve(v+n/100*P.height)),P="matrix("+T+","+M+","+b+","+k+","+w+","+v+")",h.setAttribute("transform",P),m&&(h.style[_e]=P)},tc=function(e,t,r,i,n){var s=360,o=De(n),l=parseFloat(n)*(o&&~n.indexOf("rad")?Qr:1),u=l-i,f=i+u+"deg",c,_;return o&&(c=n.split("_")[1],c==="short"&&(u%=s,u!==u%(s/2)&&(u+=u<0?s:-s)),c==="cw"&&u<0?u=(u+s*Va)%s-~~(u/s)*s:c==="ccw"&&u>0&&(u=(u-s*Va)%s-~~(u/s)*s)),e._pt=_=new st(e._pt,t,r,i,u,Nf),_.e=f,_.u="deg",e._props.push(r),_},Qa=function(e,t){for(var r in t)e[r]=t[r];return e},rc=function(e,t,r){var i=Qa({},r._gsap),n="perspective,force3D,transformOrigin,svgOrigin",s=r.style,o,l,u,f,c,_,h,d;i.svg?(u=r.getAttribute("transform"),r.setAttribute("transform",""),s[_e]=t,o=$i(r,1),Rr(r,_e),r.setAttribute("transform",u)):(u=getComputedStyle(r)[_e],s[_e]=t,o=$i(r,1),s[_e]=u);for(l in fr)u=i[l],f=o[l],u!==f&&n.indexOf(l)<0&&(h=We(u),d=We(f),c=h!==d?Dr(r,l,u,d):parseFloat(u),_=parseFloat(f),e._pt=new st(e._pt,o,l,c,_-c,ao),e._pt.u=d||0,e._props.push(l));Qa(o,i)};nt("padding,margin,Width,Radius",function(a,e){var t="Top",r="Right",i="Bottom",n="Left",s=(e<3?[t,r,i,n]:[t+n,t+r,i+r,i+n]).map(function(o){return e<2?a+o:"border"+o+a});Vn[e>1?"border"+a:a]=function(o,l,u,f,c){var _,h;if(arguments.length<4)return _=s.map(function(d){return ur(o,d,u)}),h=_.join(" "),h.split(_[0]).length===5?_[0]:h;_=(f+"").split(" "),h={},s.forEach(function(d,p){return h[d]=_[p]=_[p]||_[(p-1)/2|0]}),o.init(l,h,c)}});var go={name:"css",register:uo,targetTest:function(e){return e.style&&e.nodeType},init:function(e,t,r,i,n){var s=this._props,o=e.style,l=r.vars.startAt,u,f,c,_,h,d,p,g,y,m,w,v,T,M,b,k,P;co||uo(),this.styles=this.styles||Ja(e),k=this.styles.props,this.tween=r;for(p in t)if(p!=="autoRound"&&(f=t[p],!(_t[p]&&eo(p,t,r,i,e,n)))){if(h=typeof f,d=Vn[p],h==="function"&&(f=f.call(r,i,e,n),h=typeof f),h==="string"&&~f.indexOf("random(")&&(f=gi(f)),d)d(this,e,p,f,r)&&(b=1);else if(p.substr(0,2)==="--")u=(getComputedStyle(e).getPropertyValue(p)+"").trim(),f+="",ar.lastIndex=0,ar.test(u)||(g=We(u),y=We(f),y?g!==y&&(u=Dr(e,p,u,y)+y):g&&(f+=g)),this.add(o,"setProperty",u,f,i,n,0,0,p),s.push(p),k.push(p,0,o[p]);else if(h!=="undefined"){if(l&&p in l?(u=typeof l[p]=="function"?l[p].call(r,i,e,n):l[p],De(u)&&~u.indexOf("random(")&&(u=gi(u)),We(u+"")||u==="auto"||(u+=gt.units[p]||We(ur(e,p))||""),(u+"").charAt(1)==="="&&(u=ur(e,p))):u=ur(e,p),_=parseFloat(u),m=h==="string"&&f.charAt(1)==="="&&f.substr(0,2),m&&(f=f.substr(2)),c=parseFloat(f),p in $t&&(p==="autoAlpha"&&(_===1&&ur(e,"visibility")==="hidden"&&c&&(_=0),k.push("visibility",0,o.visibility),Or(this,o,"visibility",_?"inherit":"hidden",c?"inherit":"hidden",!c)),p!=="scale"&&p!=="transform"&&(p=$t[p],~p.indexOf(",")&&(p=p.split(",")[0]))),w=p in fr,w){if(this.styles.save(p),P=f,h==="string"&&f.substring(0,6)==="var(--"){if(f=St(e,f.substring(4,f.indexOf(")"))),f.substring(0,5)==="calc("){var C=e.style.perspective;e.style.perspective=f,f=St(e,"perspective"),C?e.style.perspective=C:Rr(e,"perspective")}c=parseFloat(f)}if(v||(T=e._gsap,T.renderTransform&&!t.parseTransform||$i(e,t.parseTransform),M=t.smoothOrigin!==!1&&T.smooth,v=this._pt=new st(this._pt,o,_e,0,1,T.renderTransform,T,0,-1),v.dep=1),p==="scale")this._pt=new st(this._pt,T,"scaleY",T.scaleY,(m?Gr(T.scaleY,m+c):c)-T.scaleY||0,ao),this._pt.u=0,s.push("scaleY",p),p+="X";else if(p==="transformOrigin"){k.push(mt,0,o[mt]),f=Kf(f),T.svg?fo(e,f,0,M,0,this):(y=parseFloat(f.split(" ")[2])||0,y!==T.zOrigin&&Or(this,T,"zOrigin",T.zOrigin,y),Or(this,o,p,Un(u),Un(f)));continue}else if(p==="svgOrigin"){fo(e,f,1,M,0,this);continue}else if(p in il){tc(this,T,p,_,m?Gr(_,m+f):f);continue}else if(p==="smoothOrigin"){Or(this,T,"smooth",T.smooth,f);continue}else if(p==="force3D"){T[p]=f;continue}else if(p==="transform"){rc(this,f,e);continue}}else p in o||(p=vi(p)||p);if(w||(c||c===0)&&(_||_===0)&&!zf.test(f)&&p in o)g=(u+"").substr((_+"").length),c||(c=0),y=We(f)||(p in gt.units?gt.units[p]:g),g!==y&&(_=Dr(e,p,u,y)),this._pt=new st(this._pt,w?T:o,p,_,(m?Gr(_,m+c):c)-_,!w&&(y==="px"||p==="zIndex")&&t.autoRound!==!1?Yf:ao),this._pt.u=y||0,w&&P!==f?(this._pt.b=u,this._pt.e=P,this._pt.r=Bf):g!==y&&y!=="%"&&(this._pt.b=u,this._pt.r=If);else if(p in o)Zf.call(this,e,p,u,m?m+f:f);else if(p in e)this.add(e,p,u||e[p],m?m+f:f,i,n);else if(p!=="parseTransform"){Nn(p,f);continue}w||(p in o?k.push(p,0,o[p]):typeof e[p]=="function"?k.push(p,2,e[p]()):k.push(p,1,u||e[p])),s.push(p)}}b&&so(this)},render:function(e,t){if(t.tween._time||!ho())for(var r=t._pt;r;)r.r(e,r.d),r=r._next;else t.styles.revert()},get:ur,aliases:$t,getSetter:function(e,t,r){var i=$t[t];return i&&i.indexOf(",")<0&&(t=i),t in fr&&t!==mt&&(e._gsap.x||ur(e,"x"))?r&&Xa===r?t==="scale"?Wf:Uf:(Xa=r||{})&&(t==="scale"?Gf:qf):e.style&&!zn(e.style[t])?Xf:~t.indexOf("-")?Vf:Xn(e,t)},core:{_removeProperty:Rr,_getMatrix:po}};Ke.utils.checkPrefix=vi;Ke.core.getStyleSaver=Ja;(function(a,e,t,r){var i=nt(a+","+e+","+t,function(n){fr[n]=1});nt(e,function(n){gt.units[n]="deg",il[n]=1}),$t[i[13]]=a+","+e,nt(r,function(n){var s=n.split(":");$t[s[1]]=i[s[0]]})})("x,y,z,scale,scaleX,scaleY,xPercent,yPercent","rotation,rotationX,rotationY,skewX,skewY","transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective","0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY");nt("x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective",function(a){gt.units[a]="px"});Ke.registerPlugin(go);var Wn=Ke.registerPlugin(go)||Ke,lh=Wn.core.Tween;function ol(a,e){for(var t=0;t<e.length;t++){var r=e[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(a,r.key,r)}}function ic(a,e,t){return e&&ol(a.prototype,e),t&&ol(a,t),a}var Ge,Hn,nc,Pt,Er,Ar,wi,ll,Kr,Ti,ul,cr,Ut,fl,cl=function(){return Ge||typeof window<"u"&&(Ge=window.gsap)&&Ge.registerPlugin&&Ge},hl=1,bi=[],U=[],Wt=[],en=Date.now,mo=function(e,t){return t},sc=function(){var e=Ti.core,t=e.bridge||{},r=e._scrollers,i=e._proxies;r.push.apply(r,U),i.push.apply(i,Wt),U=r,Wt=i,mo=function(s,o){return t[s](o)}},_r=function(e,t){return~Wt.indexOf(e)&&Wt[Wt.indexOf(e)+1][t]},tn=function(e){return!!~ul.indexOf(e)},at=function(e,t,r,i,n){return e.addEventListener(t,r,{passive:i!==!1,capture:!!n})},ot=function(e,t,r,i){return e.removeEventListener(t,r,!!i)},Gn="scrollLeft",qn="scrollTop",xo=function(){return cr&&cr.isPressed||U.cache++},jn=function(e,t){var r=function i(n){if(n||n===0){hl&&(Pt.history.scrollRestoration="manual");var s=cr&&cr.isPressed;n=i.v=Math.round(n)||(cr&&cr.iOS?1:0),e(n),i.cacheID=U.cache,s&&mo("ss",n)}else(t||U.cache!==i.cacheID||mo("ref"))&&(i.cacheID=U.cache,i.v=e());return i.v+i.offset};return r.offset=0,e&&r},$e={s:Gn,p:"left",p2:"Left",os:"right",os2:"Right",d:"width",d2:"Width",a:"x",sc:jn(function(a){return arguments.length?Pt.scrollTo(a,ke.sc()):Pt.pageXOffset||Er[Gn]||Ar[Gn]||wi[Gn]||0})},ke={s:qn,p:"top",p2:"Top",os:"bottom",os2:"Bottom",d:"height",d2:"Height",a:"y",op:$e,sc:jn(function(a){return arguments.length?Pt.scrollTo($e.sc(),a):Pt.pageYOffset||Er[qn]||Ar[qn]||wi[qn]||0})},lt=function(e,t){return(t&&t._ctx&&t._ctx.selector||Ge.utils.toArray)(e)[0]||(typeof e=="string"&&Ge.config().nullTargetWarn!==!1?console.warn("Element not found:",e):null)},oc=function(e,t){for(var r=t.length;r--;)if(t[r]===e||t[r].contains(e))return!0;return!1},hr=function(e,t){var r=t.s,i=t.sc;tn(e)&&(e=Er.scrollingElement||Ar);var n=U.indexOf(e),s=i===ke.sc?1:2;!~n&&(n=U.push(e)-1),U[n+s]||at(e,"scroll",xo);var o=U[n+s],l=o||(U[n+s]=jn(_r(e,r),!0)||(tn(e)?i:jn(function(u){return arguments.length?e[r]=u:e[r]})));return l.target=e,o||(l.smooth=Ge.getProperty(e,"scrollBehavior")==="smooth"),l},Qn=function(e,t,r){var i=e,n=e,s=en(),o=s,l=t||50,u=Math.max(500,l*3),f=function(d,p){var g=en();p||g-s>l?(n=i,i=d,o=s,s=g):r?i+=d:i=n+(d-n)/(g-o)*(s-o)},c=function(){n=i=r?0:i,o=s=0},_=function(d){var p=o,g=n,y=en();return(d||d===0)&&d!==i&&f(d),s===o||y-o>u?0:(i+(r?g:-g))/((r?y:s)-p)*1e3};return{update:f,reset:c,getVelocity:_}},Ji=function(e,t){return t&&!e._gsapAllow&&e.cancelable!==!1&&e.preventDefault(),e.changedTouches?e.changedTouches[0]:e},al=function(e){var t=Math.max.apply(Math,e),r=Math.min.apply(Math,e);return Math.abs(t)>=Math.abs(r)?t:r},_l=function(){Ti=Ge.core.globals().ScrollTrigger,Ti&&Ti.core&&sc()},pl=function(e){return Ge=e||cl(),!Hn&&Ge&&typeof document<"u"&&document.body&&(Pt=window,Er=document,Ar=Er.documentElement,wi=Er.body,ul=[Pt,Er,Ar,wi],nc=Ge.utils.clamp,fl=Ge.core.context||function(){},Kr="onpointerenter"in wi?"pointer":"mouse",ll=be.isTouch=Pt.matchMedia&&Pt.matchMedia("(hover: none), (pointer: coarse)").matches?1:"ontouchstart"in Pt||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0?2:0,Ut=be.eventTypes=("ontouchstart"in Ar?"touchstart,touchmove,touchcancel,touchend":"onpointerdown"in Ar?"pointerdown,pointermove,pointercancel,pointerup":"mousedown,mousemove,mouseup,mouseup").split(","),setTimeout(function(){return hl=0},500),Hn=1),Ti||_l(),Hn};$e.op=ke;U.cache=0;var be=(function(){function a(t){this.init(t)}var e=a.prototype;return e.init=function(r){Hn||pl(Ge)||console.warn("Please gsap.registerPlugin(Observer)"),Ti||_l();var i=r.tolerance,n=r.dragMinimum,s=r.type,o=r.target,l=r.lineHeight,u=r.debounce,f=r.preventDefault,c=r.onStop,_=r.onStopDelay,h=r.ignore,d=r.wheelSpeed,p=r.event,g=r.onDragStart,y=r.onDragEnd,m=r.onDrag,w=r.onPress,v=r.onRelease,T=r.onRight,M=r.onLeft,b=r.onUp,k=r.onDown,P=r.onChangeX,C=r.onChangeY,E=r.onChange,O=r.onToggleX,N=r.onToggleY,z=r.onHover,B=r.onHoverEnd,I=r.onMove,A=r.ignoreCheck,q=r.isNormalizer,te=r.onGestureStart,x=r.onGestureEnd,Q=r.onWheel,Ae=r.onEnable,we=r.onDisable,ne=r.onClick,pe=r.scrollSpeed,Le=r.capture,de=r.allowClicks,Ye=r.lockAxis,Fe=r.onLockAxis;this.target=o=lt(o)||Ar,this.vars=r,h&&(h=Ge.utils.toArray(h)),i=i||1e-9,n=n||0,d=d||1,pe=pe||1,s=s||"wheel,touch,pointer",u=u!==!1,l||(l=parseFloat(Pt.getComputedStyle(wi).lineHeight)||22);var ge,rt,it,$,Te,ht,xt,S=this,yt=0,tr=0,xr=r.passive||!f&&r.passive!==!1,me=hr(o,$e),rr=hr(o,ke),yr=me(),zr=rr(),ze=~s.indexOf("touch")&&!~s.indexOf("pointer")&&Ut[0]==="pointerdown",vr=tn(o),Se=o.ownerDocument||Er,It=[0,0,0],Ot=[0,0,0],ir=0,Fi=function(){return ir=en()},Me=function(F,J){return(S.event=F)&&h&&oc(F.target,h)||J&&ze&&F.pointerType!=="touch"||A&&A(F,J)},Sn=function(){S._vx.reset(),S._vy.reset(),rt.pause(),c&&c(S)},nr=function(){var F=S.deltaX=al(It),J=S.deltaY=al(Ot),R=Math.abs(F)>=i,Y=Math.abs(J)>=i;E&&(R||Y)&&E(S,F,J,It,Ot),R&&(T&&S.deltaX>0&&T(S),M&&S.deltaX<0&&M(S),P&&P(S),O&&S.deltaX<0!=yt<0&&O(S),yt=S.deltaX,It[0]=It[1]=It[2]=0),Y&&(k&&S.deltaY>0&&k(S),b&&S.deltaY<0&&b(S),C&&C(S),N&&S.deltaY<0!=tr<0&&N(S),tr=S.deltaY,Ot[0]=Ot[1]=Ot[2]=0),($||it)&&(I&&I(S),it&&(g&&it===1&&g(S),m&&m(S),it=0),$=!1),ht&&!(ht=!1)&&Fe&&Fe(S),Te&&(Q(S),Te=!1),ge=0},li=function(F,J,R){It[R]+=F,Ot[R]+=J,S._vx.update(F),S._vy.update(J),u?ge||(ge=requestAnimationFrame(nr)):nr()},ui=function(F,J){Ye&&!xt&&(S.axis=xt=Math.abs(F)>Math.abs(J)?"x":"y",ht=!0),xt!=="y"&&(It[2]+=F,S._vx.update(F,!0)),xt!=="x"&&(Ot[2]+=J,S._vy.update(J,!0)),u?ge||(ge=requestAnimationFrame(nr)):nr()},br=function(F){if(!Me(F,1)){F=Ji(F,f);var J=F.clientX,R=F.clientY,Y=J-S.x,L=R-S.y,X=S.isDragging;S.x=J,S.y=R,(X||(Y||L)&&(Math.abs(S.startX-J)>=n||Math.abs(S.startY-R)>=n))&&(it||(it=X?2:1),X||(S.isDragging=!0),ui(Y,L))}},Nr=S.onPress=function(V){Me(V,1)||V&&V.button||(S.axis=xt=null,rt.pause(),S.isPressed=!0,V=Ji(V),yt=tr=0,S.startX=S.x=V.clientX,S.startY=S.y=V.clientY,S._vx.reset(),S._vy.reset(),at(q?o:Se,Ut[1],br,xr,!0),S.deltaX=S.deltaY=0,w&&w(S))},j=S.onRelease=function(V){if(!Me(V,1)){ot(q?o:Se,Ut[1],br,!0);var F=!isNaN(S.y-S.startY),J=S.isDragging,R=J&&(Math.abs(S.x-S.startX)>3||Math.abs(S.y-S.startY)>3),Y=Ji(V);!R&&F&&(S._vx.reset(),S._vy.reset(),f&&de&&Ge.delayedCall(.08,function(){if(en()-ir>300&&!V.defaultPrevented){if(V.target.click)V.target.click();else if(Se.createEvent){var L=Se.createEvent("MouseEvents");L.initMouseEvent("click",!0,!0,Pt,1,Y.screenX,Y.screenY,Y.clientX,Y.clientY,!1,!1,!1,!1,0,null),V.target.dispatchEvent(L)}}})),S.isDragging=S.isGesturing=S.isPressed=!1,c&&J&&!q&&rt.restart(!0),it&&nr(),y&&J&&y(S),v&&v(S,R)}},Ir=function(F){return F.touches&&F.touches.length>1&&(S.isGesturing=!0)&&te(F,S.isDragging)},Bt=function(){return(S.isGesturing=!1)||x(S)},Yt=function(F){if(!Me(F)){var J=me(),R=rr();li((J-yr)*pe,(R-zr)*pe,1),yr=J,zr=R,c&&rt.restart(!0)}},Xt=function(F){if(!Me(F)){F=Ji(F,f),Q&&(Te=!0);var J=(F.deltaMode===1?l:F.deltaMode===2?Pt.innerHeight:1)*d;li(F.deltaX*J,F.deltaY*J,0),c&&!q&&rt.restart(!0)}},Br=function(F){if(!Me(F)){var J=F.clientX,R=F.clientY,Y=J-S.x,L=R-S.y;S.x=J,S.y=R,$=!0,c&&rt.restart(!0),(Y||L)&&ui(Y,L)}},fi=function(F){S.event=F,z(S)},sr=function(F){S.event=F,B(S)},zi=function(F){return Me(F)||Ji(F,f)&&ne(S)};rt=S._dc=Ge.delayedCall(_||.25,Sn).pause(),S.deltaX=S.deltaY=0,S._vx=Qn(0,50,!0),S._vy=Qn(0,50,!0),S.scrollX=me,S.scrollY=rr,S.isDragging=S.isGesturing=S.isPressed=!1,fl(this),S.enable=function(V){return S.isEnabled||(at(vr?Se:o,"scroll",xo),s.indexOf("scroll")>=0&&at(vr?Se:o,"scroll",Yt,xr,Le),s.indexOf("wheel")>=0&&at(o,"wheel",Xt,xr,Le),(s.indexOf("touch")>=0&&ll||s.indexOf("pointer")>=0)&&(at(o,Ut[0],Nr,xr,Le),at(Se,Ut[2],j),at(Se,Ut[3],j),de&&at(o,"click",Fi,!0,!0),ne&&at(o,"click",zi),te&&at(Se,"gesturestart",Ir),x&&at(Se,"gestureend",Bt),z&&at(o,Kr+"enter",fi),B&&at(o,Kr+"leave",sr),I&&at(o,Kr+"move",Br)),S.isEnabled=!0,S.isDragging=S.isGesturing=S.isPressed=$=it=!1,S._vx.reset(),S._vy.reset(),yr=me(),zr=rr(),V&&V.type&&Nr(V),Ae&&Ae(S)),S},S.disable=function(){S.isEnabled&&(bi.filter(function(V){return V!==S&&tn(V.target)}).length||ot(vr?Se:o,"scroll",xo),S.isPressed&&(S._vx.reset(),S._vy.reset(),ot(q?o:Se,Ut[1],br,!0)),ot(vr?Se:o,"scroll",Yt,Le),ot(o,"wheel",Xt,Le),ot(o,Ut[0],Nr,Le),ot(Se,Ut[2],j),ot(Se,Ut[3],j),ot(o,"click",Fi,!0),ot(o,"click",zi),ot(Se,"gesturestart",Ir),ot(Se,"gestureend",Bt),ot(o,Kr+"enter",fi),ot(o,Kr+"leave",sr),ot(o,Kr+"move",Br),S.isEnabled=S.isPressed=S.isDragging=!1,we&&we(S))},S.kill=S.revert=function(){S.disable();var V=bi.indexOf(S);V>=0&&bi.splice(V,1),cr===S&&(cr=0)},bi.push(S),q&&tn(o)&&(cr=S),S.enable(p)},ic(a,[{key:"velocityX",get:function(){return this._vx.getVelocity()}},{key:"velocityY",get:function(){return this._vy.getVelocity()}}]),a})();be.version="3.15.0";be.create=function(a){return new be(a)};be.register=pl;be.getAll=function(){return bi.slice()};be.getById=function(a){return bi.filter(function(e){return e.vars.id===a})[0]};cl()&&Ge.registerPlugin(be);var D,Mi,H,ie,kt,re,Eo,cs,gn,un,nn,Zn,Je,ps,Po,ft,dl,gl,ki,El,yo,Al,ut,Co,Ll,Fl,Lr,Mo,Ao,Oi,Lo,fn,ko,vo,Kn=1,et=Date.now,bo=et(),Ft=0,sn=0,ml=function(e,t,r){var i=Mt(e)&&(e.substr(0,6)==="clamp("||e.indexOf("max")>-1);return r["_"+t+"Clamp"]=i,i?e.substr(6,e.length-7):e},xl=function(e,t){return t&&(!Mt(e)||e.substr(0,6)!=="clamp(")?"clamp("+e+")":e},ac=function a(){return sn&&requestAnimationFrame(a)},yl=function(){return ps=1},vl=function(){return ps=0},Jt=function(e){return e},on=function(e){return Math.round(e*1e5)/1e5||0},zl=function(){return typeof window<"u"},Nl=function(){return D||zl()&&(D=window.gsap)&&D.registerPlugin&&D},ii=function(e){return!!~Eo.indexOf(e)},Il=function(e){return(e==="Height"?Lo:H["inner"+e])||kt["client"+e]||re["client"+e]},Bl=function(e){return _r(e,"getBoundingClientRect")||(ii(e)?function(){return fs.width=H.innerWidth,fs.height=Lo,fs}:function(){return pr(e)})},lc=function(e,t,r){var i=r.d,n=r.d2,s=r.a;return(s=_r(e,"getBoundingClientRect"))?function(){return s()[i]}:function(){return(t?Il(n):e["client"+n])||0}},uc=function(e,t){return!t||~Wt.indexOf(e)?Bl(e):function(){return fs}},er=function(e,t){var r=t.s,i=t.d2,n=t.d,s=t.a;return Math.max(0,(r="scroll"+i)&&(s=_r(e,r))?s()-Bl(e)()[n]:ii(e)?(kt[r]||re[r])-Il(i):e[r]-e["offset"+i])},$n=function(e,t){for(var r=0;r<ki.length;r+=3)(!t||~t.indexOf(ki[r+1]))&&e(ki[r],ki[r+1],ki[r+2])},Mt=function(e){return typeof e=="string"},tt=function(e){return typeof e=="function"},an=function(e){return typeof e=="number"},$r=function(e){return typeof e=="object"},rn=function(e,t,r){return e&&e.progress(t?0:1)&&r&&e.pause()},Si=function(e,t,r){if(e.enabled){var i=e._ctx?e._ctx.add(function(){return t(e,r)}):t(e,r);i&&i.totalTime&&(e.callbackAnimation=i)}},Pi=Math.abs,Yl="left",Xl="top",Fo="right",zo="bottom",ei="width",ti="height",cn="Right",hn="Left",_n="Top",pn="Bottom",Oe="padding",At="margin",Di="Width",No="Height",Ee="px",Lt=function(e){return H.getComputedStyle(e.nodeType===Node.DOCUMENT_NODE?e.scrollingElement:e)},fc=function(e){var t=Lt(e).position;e.style.position=t==="absolute"||t==="fixed"?t:"relative"},bl=function(e,t){for(var r in t)r in e||(e[r]=t[r]);return e},pr=function(e,t){var r=t&&Lt(e)[Po]!=="matrix(1, 0, 0, 1, 0, 0)"&&D.to(e,{x:0,y:0,xPercent:0,yPercent:0,rotation:0,rotationX:0,rotationY:0,scale:1,skewX:0,skewY:0}).progress(1),i=e.getBoundingClientRect?e.getBoundingClientRect():e.scrollingElement.getBoundingClientRect();return r&&r.progress(0).kill(),i},hs=function(e,t){var r=t.d2;return e["offset"+r]||e["client"+r]||0},Vl=function(e){var t=[],r=e.labels,i=e.duration(),n;for(n in r)t.push(r[n]/i);return t},cc=function(e){return function(t){return D.utils.snap(Vl(e),t)}},Io=function(e){var t=D.utils.snap(e),r=Array.isArray(e)&&e.slice(0).sort(function(i,n){return i-n});return r?function(i,n,s){s===void 0&&(s=.001);var o;if(!n)return t(i);if(n>0){for(i-=s,o=0;o<r.length;o++)if(r[o]>=i)return r[o];return r[o-1]}else for(o=r.length,i+=s;o--;)if(r[o]<=i)return r[o];return r[0]}:function(i,n,s){s===void 0&&(s=.001);var o=t(i);return!n||Math.abs(o-i)<s||o-i<0==n<0?o:t(n<0?i-e:i+e)}},hc=function(e){return function(t,r){return Io(Vl(e))(t,r.direction)}},Jn=function(e,t,r,i){return r.split(",").forEach(function(n){return e(t,n,i)})},Be=function(e,t,r,i,n){return e.addEventListener(t,r,{passive:!i,capture:!!n})},Ie=function(e,t,r,i){return e.removeEventListener(t,r,!!i)},es=function(e,t,r){r=r&&r.wheelHandler,r&&(e(t,"wheel",r),e(t,"touchmove",r))},wl={startColor:"green",endColor:"red",indent:0,fontSize:"16px",fontWeight:"normal"},ts={toggleActions:"play",anticipatePin:0},_s={top:0,left:0,center:.5,bottom:1,right:1},os=function(e,t){if(Mt(e)){var r=e.indexOf("="),i=~r?+(e.charAt(r-1)+1)*parseFloat(e.substr(r+1)):0;~r&&(e.indexOf("%")>r&&(i*=t/100),e=e.substr(0,r-1)),e=i+(e in _s?_s[e]*t:~e.indexOf("%")?parseFloat(e)*t/100:parseFloat(e)||0)}return e},rs=function(e,t,r,i,n,s,o,l){var u=n.startColor,f=n.endColor,c=n.fontSize,_=n.indent,h=n.fontWeight,d=ie.createElement("div"),p=ii(r)||_r(r,"pinType")==="fixed",g=e.indexOf("scroller")!==-1,y=p?re:r.tagName==="IFRAME"?r.contentDocument.body:r,m=e.indexOf("start")!==-1,w=m?u:f,v="border-color:"+w+";font-size:"+c+";color:"+w+";font-weight:"+h+";pointer-events:none;white-space:nowrap;font-family:sans-serif,Arial;z-index:1000;padding:4px 8px;border-width:0;border-style:solid;";return v+="position:"+((g||l)&&p?"fixed;":"absolute;"),(g||l||!p)&&(v+=(i===ke?Fo:zo)+":"+(s+parseFloat(_))+"px;"),o&&(v+="box-sizing:border-box;text-align:left;width:"+o.offsetWidth+"px;"),d._isStart=m,d.setAttribute("class","gsap-marker-"+e+(t?" marker-"+t:"")),d.style.cssText=v,d.innerText=t||t===0?e+"-"+t:e,y.children[0]?y.insertBefore(d,y.children[0]):y.appendChild(d),d._offset=d["offset"+i.op.d2],as(d,0,i,m),d},as=function(e,t,r,i){var n={display:"block"},s=r[i?"os2":"p2"],o=r[i?"p2":"os2"];e._isFlipped=i,n[r.a+"Percent"]=i?-100:0,n[r.a]=i?"1px":0,n["border"+s+Di]=1,n["border"+o+Di]=0,n[r.p]=t+"px",D.set(e,n)},W=[],Oo={},mn,Tl=function(){return et()-Ft>34&&(mn||(mn=requestAnimationFrame(dr)))},Ci=function(){(!ut||!ut.isPressed||ut.startX>re.clientWidth)&&(U.cache++,ut?mn||(mn=requestAnimationFrame(dr)):dr(),Ft||si("scrollStart"),Ft=et())},wo=function(){Fl=H.innerWidth,Ll=H.innerHeight},ln=function(e){U.cache++,(e===!0||!Je&&!Al&&!ie.fullscreenElement&&!ie.webkitFullscreenElement&&(!Co||Fl!==H.innerWidth||Math.abs(H.innerHeight-Ll)>H.innerHeight*.25))&&cs.restart(!0)},ni={},_c=[],Ul=function a(){return Ie(G,"scrollEnd",a)||Jr(!0)},si=function(e){return ni[e]&&ni[e].map(function(t){return t()})||_c},Ct=[],Wl=function(e){for(var t=0;t<Ct.length;t+=5)(!e||Ct[t+4]&&Ct[t+4].query===e)&&(Ct[t].style.cssText=Ct[t+1],Ct[t].getBBox&&Ct[t].setAttribute("transform",Ct[t+2]||""),Ct[t+3].uncache=1)},Gl=function(){return U.forEach(function(e){return tt(e)&&++e.cacheID&&(e.rec=e())})},Bo=function(e,t){var r;for(ft=0;ft<W.length;ft++)r=W[ft],r&&(!t||r._ctx===t)&&(e?r.kill(1):r.revert(!0,!0));fn=!0,t&&Wl(t),t||si("revert")},ql=function(e,t){U.cache++,(t||!ct)&&U.forEach(function(r){return tt(r)&&r.cacheID++&&(r.rec=0)}),Mt(e)&&(H.history.scrollRestoration=Ao=e)},ct,ri=0,Sl,pc=function(){if(Sl!==ri){var e=Sl=ri;requestAnimationFrame(function(){return e===ri&&Jr(!0)})}},Hl=function(){re.appendChild(Oi),Lo=!ut&&Oi.offsetHeight||H.innerHeight,re.removeChild(Oi)},Pl=function(e){return gn(".gsap-marker-start, .gsap-marker-end, .gsap-marker-scroller-start, .gsap-marker-scroller-end").forEach(function(t){return t.style.display=e?"none":"block"})},Jr=function(e,t){if(kt=ie.documentElement,re=ie.body,Eo=[H,ie,kt,re],Ft&&!e&&!fn){Be(G,"scrollEnd",Ul);return}Hl(),ct=G.isRefreshing=!0,fn||Gl();var r=si("refreshInit");El&&G.sort(),t||Bo(),U.forEach(function(i){tt(i)&&(i.smooth&&(i.target.style.scrollBehavior="auto"),i(0))}),W.slice(0).forEach(function(i){return i.refresh()}),fn=!1,W.forEach(function(i){if(i._subPinOffset&&i.pin){var n=i.vars.horizontal?"offsetWidth":"offsetHeight",s=i.pin[n];i.revert(!0,1),i.adjustPinSpacing(i.pin[n]-s),i.refresh()}}),ko=1,Pl(!0),W.forEach(function(i){var n=er(i.scroller,i._dir),s=i.vars.end==="max"||i._endClamp&&i.end>n,o=i._startClamp&&i.start>=n;(s||o)&&i.setPositions(o?n-1:i.start,s?Math.max(o?n:i.start+1,n):i.end,!0)}),Pl(!1),ko=0,r.forEach(function(i){return i&&i.render&&i.render(-1)}),U.forEach(function(i){tt(i)&&(i.smooth&&requestAnimationFrame(function(){return i.target.style.scrollBehavior="smooth"}),i.rec&&i(i.rec))}),ql(Ao,1),cs.pause(),ri++,ct=2,dr(2),W.forEach(function(i){return tt(i.vars.onRefresh)&&i.vars.onRefresh(i)}),ct=G.isRefreshing=!1,si("refresh")},Ro=0,ls=1,dn,dr=function(e){if(e===2||!ct&&!fn){G.isUpdating=!0,dn&&dn.update(0);var t=W.length,r=et(),i=r-bo>=50,n=t&&W[0].scroll();if(ls=Ro>n?-1:1,ct||(Ro=n),i&&(Ft&&!ps&&r-Ft>200&&(Ft=0,si("scrollEnd")),nn=bo,bo=r),ls<0){for(ft=t;ft-- >0;)W[ft]&&W[ft].update(0,i);ls=1}else for(ft=0;ft<t;ft++)W[ft]&&W[ft].update(0,i);G.isUpdating=!1}mn=0},Do=[Yl,Xl,zo,Fo,At+pn,At+cn,At+_n,At+hn,"display","flexShrink","float","zIndex","gridColumnStart","gridColumnEnd","gridRowStart","gridRowEnd","gridArea","justifySelf","alignSelf","placeSelf","order"],us=Do.concat([ei,ti,"boxSizing","max"+Di,"max"+No,"position",At,Oe,Oe+_n,Oe+cn,Oe+pn,Oe+hn]),dc=function(e,t,r){Ri(r);var i=e._gsap;if(i.spacerIsNative)Ri(i.spacerState);else if(e._gsap.swappedIn){var n=t.parentNode;n&&(n.insertBefore(e,t),n.removeChild(t))}e._gsap.swappedIn=!1},To=function(e,t,r,i){if(!e._gsap.swappedIn){for(var n=Do.length,s=t.style,o=e.style,l;n--;)l=Do[n],s[l]=r[l];s.position=r.position==="absolute"?"absolute":"relative",r.display==="inline"&&(s.display="inline-block"),o[zo]=o[Fo]="auto",s.flexBasis=r.flexBasis||"auto",s.overflow="visible",s.boxSizing="border-box",s[ei]=hs(e,$e)+Ee,s[ti]=hs(e,ke)+Ee,s[Oe]=o[At]=o[Xl]=o[Yl]="0",Ri(i),o[ei]=o["max"+Di]=r[ei],o[ti]=o["max"+No]=r[ti],o[Oe]=r[Oe],e.parentNode!==t&&(e.parentNode.insertBefore(t,e),t.appendChild(e)),e._gsap.swappedIn=!0}},gc=/([A-Z])/g,Ri=function(e){if(e){var t=e.t.style,r=e.length,i=0,n,s;for((e.t._gsap||D.core.getCache(e.t)).uncache=1;i<r;i+=2)s=e[i+1],n=e[i],s?t[n]=s:t[n]&&t.removeProperty(n.replace(gc,"-$1").toLowerCase())}},is=function(e){for(var t=us.length,r=e.style,i=[],n=0;n<t;n++)i.push(us[n],r[us[n]]);return i.t=e,i},mc=function(e,t,r){for(var i=[],n=e.length,s=r?8:0,o;s<n;s+=2)o=e[s],i.push(o,o in t?t[o]:e[s+1]);return i.t=e.t,i},fs={left:0,top:0},Cl=function(e,t,r,i,n,s,o,l,u,f,c,_,h,d){tt(e)&&(e=e(l)),Mt(e)&&e.substr(0,3)==="max"&&(e=_+(e.charAt(4)==="="?os("0"+e.substr(3),r):0));var p=h?h.time():0,g,y,m;if(h&&h.seek(0),isNaN(e)||(e=+e),an(e))h&&(e=D.utils.mapRange(h.scrollTrigger.start,h.scrollTrigger.end,0,_,e)),o&&as(o,r,i,!0);else{tt(t)&&(t=t(l));var w=(e||"0").split(" "),v,T,M,b;m=lt(t,l)||re,v=pr(m)||{},(!v||!v.left&&!v.top)&&Lt(m).display==="none"&&(b=m.style.display,m.style.display="block",v=pr(m),b?m.style.display=b:m.style.removeProperty("display")),T=os(w[0],v[i.d]),M=os(w[1]||"0",r),e=v[i.p]-u[i.p]-f+T+n-M,o&&as(o,M,i,r-M<20||o._isStart&&M>20),r-=r-M}if(d&&(l[d]=e||-.001,e<0&&(e=0)),s){var k=e+r,P=s._isStart;g="scroll"+i.d2,as(s,k,i,P&&k>20||!P&&(c?Math.max(re[g],kt[g]):s.parentNode[g])<=k+1),c&&(u=pr(o),c&&(s.style[i.op.p]=u[i.op.p]-i.op.m-s._offset+Ee))}return h&&m&&(g=pr(m),h.seek(_),y=pr(m),h._caScrollDist=g[i.p]-y[i.p],e=e/h._caScrollDist*_),h&&h.seek(p),h?e:Math.round(e)},xc=/(webkit|moz|length|cssText|inset)/i,Ml=function(e,t,r,i){if(e.parentNode!==t){var n=e.style,s,o;if(t===re){e._stOrig=n.cssText,o=Lt(e);for(s in o)!+s&&!xc.test(s)&&o[s]&&typeof n[s]=="string"&&s!=="0"&&(n[s]=o[s]);n.top=r,n.left=i}else n.cssText=e._stOrig;D.core.getCache(e).uncache=1,t.appendChild(e)}},jl=function(e,t,r){var i=t,n=i;return function(s){var o=Math.round(e());return o!==i&&o!==n&&Math.abs(o-i)>3&&Math.abs(o-n)>3&&(s=o,r&&r()),n=i,i=Math.round(s),i}},ns=function(e,t,r){var i={};i[t.p]="+="+r,D.set(e,i)},kl=function(e,t){var r=hr(e,t),i="_scroll"+t.p2,n=function s(o,l,u,f,c){var _=s.tween,h=l.onComplete,d={};u=u||r();var p=jl(r,u,function(){_.kill(),s.tween=0});return c=f&&c||0,f=f||o-u,_&&_.kill(),l[i]=o,l.inherit=!1,l.modifiers=d,d[i]=function(){return p(u+f*_.ratio+c*_.ratio*_.ratio)},l.onUpdate=function(){U.cache++,s.tween&&dr()},l.onComplete=function(){s.tween=0,h&&h.call(_)},_=s.tween=D.to(e,l),_};return e[i]=r,r.wheelHandler=function(){return n.tween&&n.tween.kill()&&(n.tween=0)},Be(e,"wheel",r.wheelHandler),G.isTouch&&Be(e,"touchmove",r.wheelHandler),n},G=(function(){function a(t,r){Mi||a.register(D)||console.warn("Please gsap.registerPlugin(ScrollTrigger)"),Mo(this),this.init(t,r)}var e=a.prototype;return e.init=function(r,i){if(this.progress=this.start=0,this.vars&&this.kill(!0,!0),!sn){this.update=this.refresh=this.kill=Jt;return}r=bl(Mt(r)||an(r)||r.nodeType?{trigger:r}:r,ts);var n=r,s=n.onUpdate,o=n.toggleClass,l=n.id,u=n.onToggle,f=n.onRefresh,c=n.scrub,_=n.trigger,h=n.pin,d=n.pinSpacing,p=n.invalidateOnRefresh,g=n.anticipatePin,y=n.onScrubComplete,m=n.onSnapComplete,w=n.once,v=n.snap,T=n.pinReparent,M=n.pinSpacer,b=n.containerAnimation,k=n.fastScrollEnd,P=n.preventOverlaps,C=r.horizontal||r.containerAnimation&&r.horizontal!==!1?$e:ke,E=!c&&c!==0,O=lt(r.scroller||H),N=D.core.getCache(O),z=ii(O),B=("pinType"in r?r.pinType:_r(O,"pinType")||z&&"fixed")==="fixed",I=[r.onEnter,r.onLeave,r.onEnterBack,r.onLeaveBack],A=E&&r.toggleActions.split(" "),q="markers"in r?r.markers:ts.markers,te=z?0:parseFloat(Lt(O)["border"+C.p2+Di])||0,x=this,Q=r.onRefreshInit&&function(){return r.onRefreshInit(x)},Ae=lc(O,z,C),we=uc(O,z),ne=0,pe=0,Le=0,de=hr(O,C),Ye,Fe,ge,rt,it,$,Te,ht,xt,S,yt,tr,xr,me,rr,yr,zr,ze,vr,Se,It,Ot,ir,Fi,Me,Sn,nr,li,ui,br,Nr,j,Ir,Bt,Yt,Xt,Br,fi,sr;if(x._startClamp=x._endClamp=!1,x._dir=C,g*=45,x.scroller=O,x.scroll=b?b.time.bind(b):de,rt=de(),x.vars=r,i=i||r.animation,"refreshPriority"in r&&(El=1,r.refreshPriority===-9999&&(dn=x)),N.tweenScroll=N.tweenScroll||{top:kl(O,ke),left:kl(O,$e)},x.tweenTo=Ye=N.tweenScroll[C.p],x.scrubDuration=function(R){Ir=an(R)&&R,Ir?j?j.duration(R):j=D.to(i,{ease:"expo",totalProgress:"+=0",inherit:!1,duration:Ir,paused:!0,onComplete:function(){return y&&y(x)}}):(j&&j.progress(1).kill(),j=0)},i&&(i.vars.lazy=!1,i._initted&&!x.isReverted||i.vars.immediateRender!==!1&&r.immediateRender!==!1&&i.duration()&&i.render(0,!0,!0),x.animation=i.pause(),i.scrollTrigger=x,x.scrubDuration(c),br=0,l||(l=i.vars.id)),v&&((!$r(v)||v.push)&&(v={snapTo:v}),"scrollBehavior"in re.style&&D.set(z?[re,kt]:O,{scrollBehavior:"auto"}),U.forEach(function(R){return tt(R)&&R.target===(z?ie.scrollingElement||kt:O)&&(R.smooth=!1)}),ge=tt(v.snapTo)?v.snapTo:v.snapTo==="labels"?cc(i):v.snapTo==="labelsDirectional"?hc(i):v.directional!==!1?function(R,Y){return Io(v.snapTo)(R,et()-pe<500?0:Y.direction)}:D.utils.snap(v.snapTo),Bt=v.duration||{min:.1,max:2},Bt=$r(Bt)?un(Bt.min,Bt.max):un(Bt,Bt),Yt=D.delayedCall(v.delay||Ir/2||.1,function(){var R=de(),Y=et()-pe<500,L=Ye.tween;if((Y||Math.abs(x.getVelocity())<10)&&!L&&!ps&&ne!==R){var X=(R-$)/me,Ne=i&&!E?i.totalProgress():X,Z=Y?0:(Ne-Nr)/(et()-nn)*1e3||0,Pe=D.utils.clamp(-X,1-X,Pi(Z/2)*Z/.185),qe=X+(v.inertia===!1?0:Pe),xe,le,se=v,Vt=se.onStart,fe=se.onInterrupt,vt=se.onComplete;if(xe=ge(qe,x),an(xe)||(xe=qe),le=Math.max(0,Math.round($+xe*me)),R<=Te&&R>=$&&le!==R){if(L&&!L._initted&&L.data<=Pi(le-R))return;v.inertia===!1&&(Pe=xe-X),Ye(le,{duration:Bt(Pi(Math.max(Pi(qe-Ne),Pi(xe-Ne))*.185/Z/.05||0)),ease:v.ease||"power3",data:Pi(le-R),onInterrupt:function(){return Yt.restart(!0)&&fe&&Si(x,fe)},onComplete:function(){x.update(),ne=de(),i&&!E&&(j?j.resetTo("totalProgress",xe,i._tTime/i._tDur):i.progress(xe)),br=Nr=i&&!E?i.totalProgress():x.progress,m&&m(x),vt&&Si(x,vt)}},R,Pe*me,le-R-Pe*me),Vt&&Si(x,Vt,Ye.tween)}}else x.isActive&&ne!==R&&Yt.restart(!0)}).pause()),l&&(Oo[l]=x),_=x.trigger=lt(_||h!==!0&&h),sr=_&&_._gsap&&_._gsap.stRevert,sr&&(sr=sr(x)),h=h===!0?_:lt(h),Mt(o)&&(o={targets:_,className:o}),h&&(d===!1||d===At||(d=!d&&h.parentNode&&h.parentNode.style&&Lt(h.parentNode).display==="flex"?!1:Oe),x.pin=h,Fe=D.core.getCache(h),Fe.spacer?rr=Fe.pinState:(M&&(M=lt(M),M&&!M.nodeType&&(M=M.current||M.nativeElement),Fe.spacerIsNative=!!M,M&&(Fe.spacerState=is(M))),Fe.spacer=ze=M||ie.createElement("div"),ze.classList.add("pin-spacer"),l&&ze.classList.add("pin-spacer-"+l),Fe.pinState=rr=is(h)),r.force3D!==!1&&D.set(h,{force3D:!0}),x.spacer=ze=Fe.spacer,ui=Lt(h),Fi=ui[d+C.os2],Se=D.getProperty(h),It=D.quickSetter(h,C.a,Ee),To(h,ze,ui),zr=is(h)),q){tr=$r(q)?bl(q,wl):wl,S=rs("scroller-start",l,O,C,tr,0),yt=rs("scroller-end",l,O,C,tr,0,S),vr=S["offset"+C.op.d2];var zi=lt(_r(O,"content")||O);ht=this.markerStart=rs("start",l,zi,C,tr,vr,0,b),xt=this.markerEnd=rs("end",l,zi,C,tr,vr,0,b),b&&(fi=D.quickSetter([ht,xt],C.a,Ee)),!B&&!(Wt.length&&_r(O,"fixedMarkers")===!0)&&(fc(z?re:O),D.set([S,yt],{force3D:!0}),Sn=D.quickSetter(S,C.a,Ee),li=D.quickSetter(yt,C.a,Ee))}if(b){var V=b.vars.onUpdate,F=b.vars.onUpdateParams;b.eventCallback("onUpdate",function(){x.update(0,0,1),V&&V.apply(b,F||[])})}if(x.previous=function(){return W[W.indexOf(x)-1]},x.next=function(){return W[W.indexOf(x)+1]},x.revert=function(R,Y){if(!Y)return x.kill(!0);var L=R!==!1||!x.enabled,X=Je;L!==x.isReverted&&(L&&(Xt=Math.max(de(),x.scroll.rec||0),Le=x.progress,Br=i&&i.progress()),ht&&[ht,xt,S,yt].forEach(function(Ne){return Ne.style.display=L?"none":"block"}),L&&(Je=x,x.update(L)),h&&(!T||!x.isActive)&&(L?dc(h,ze,rr):To(h,ze,Lt(h),Me)),L||x.update(L),Je=X,x.isReverted=L)},x.refresh=function(R,Y,L,X){if(!((Je||!x.enabled)&&!Y)){if(h&&R&&Ft){Be(a,"scrollEnd",Ul);return}!ct&&Q&&Q(x),Je=x,Ye.tween&&!L&&(Ye.tween.kill(),Ye.tween=0),j&&j.pause(),p&&i&&(i.revert({kill:!1}).invalidate(),i.getChildren?i.getChildren(!0,!0,!1).forEach(function(wr){return wr.vars.immediateRender&&wr.render(0,!0,!0)}):i.vars.immediateRender&&i.render(0,!0,!0)),x.isReverted||x.revert(!0,!0),x._subPinOffset=!1;var Ne=Ae(),Z=we(),Pe=b?b.duration():er(O,C),qe=me<=.01||!me,xe=0,le=X||0,se=$r(L)?L.end:r.end,Vt=r.endTrigger||_,fe=$r(L)?L.start:r.start||(r.start===0||!_?0:h?"0 0":"0 100%"),vt=x.pinnedContainer=r.pinnedContainer&&lt(r.pinnedContainer,x),qt=_&&Math.max(0,W.indexOf(x))||0,Xe=qt,Ve,He,Yr,Pn,je,Re,Ht,Ts,ea,Ni,jt,Ii,Cn;for(q&&$r(L)&&(Ii=D.getProperty(S,C.p),Cn=D.getProperty(yt,C.p));Xe-- >0;)Re=W[Xe],Re.end||Re.refresh(0,1)||(Je=x),Ht=Re.pin,Ht&&(Ht===_||Ht===h||Ht===vt)&&!Re.isReverted&&(Ni||(Ni=[]),Ni.unshift(Re),Re.revert(!0,!0)),Re!==W[Xe]&&(qt--,Xe--);for(tt(fe)&&(fe=fe(x)),fe=ml(fe,"start",x),$=Cl(fe,_,Ne,C,de(),ht,S,x,Z,te,B,Pe,b,x._startClamp&&"_startClamp")||(h?-.001:0),tt(se)&&(se=se(x)),Mt(se)&&!se.indexOf("+=")&&(~se.indexOf(" ")?se=(Mt(fe)?fe.split(" ")[0]:"")+se:(xe=os(se.substr(2),Ne),se=Mt(fe)?fe:(b?D.utils.mapRange(0,b.duration(),b.scrollTrigger.start,b.scrollTrigger.end,$):$)+xe,Vt=_)),se=ml(se,"end",x),Te=Math.max($,Cl(se||(Vt?"100% 0":Pe),Vt,Ne,C,de()+xe,xt,yt,x,Z,te,B,Pe,b,x._endClamp&&"_endClamp"))||-.001,xe=0,Xe=qt;Xe--;)Re=W[Xe]||{},Ht=Re.pin,Ht&&Re.start-Re._pinPush<=$&&!b&&Re.end>0&&(Ve=Re.end-(x._startClamp?Math.max(0,Re.start):Re.start),(Ht===_&&Re.start-Re._pinPush<$||Ht===vt)&&isNaN(fe)&&(xe+=Ve*(1-Re.progress)),Ht===h&&(le+=Ve));if($+=xe,Te+=xe,x._startClamp&&(x._startClamp+=xe),x._endClamp&&!ct&&(x._endClamp=Te||-.001,Te=Math.min(Te,er(O,C))),me=Te-$||($-=.01)&&.001,qe&&(Le=D.utils.clamp(0,1,D.utils.normalize($,Te,Xt))),x._pinPush=le,ht&&xe&&(Ve={},Ve[C.a]="+="+xe,vt&&(Ve[C.p]="-="+de()),D.set([ht,xt],Ve)),h&&!(ko&&x.end>=er(O,C)))Ve=Lt(h),Pn=C===ke,Yr=de(),Ot=parseFloat(Se(C.a))+le,!Pe&&Te>1&&(jt=(z?ie.scrollingElement||kt:O).style,jt={style:jt,value:jt["overflow"+C.a.toUpperCase()]},z&&Lt(re)["overflow"+C.a.toUpperCase()]!=="scroll"&&(jt.style["overflow"+C.a.toUpperCase()]="scroll")),To(h,ze,Ve),zr=is(h),He=pr(h,!0),Ts=B&&hr(O,Pn?$e:ke)(),d?(Me=[d+C.os2,me+le+Ee],Me.t=ze,Xe=d===Oe?hs(h,C)+me+le:0,Xe&&(Me.push(C.d,Xe+Ee),ze.style.flexBasis!=="auto"&&(ze.style.flexBasis=Xe+Ee)),Ri(Me),vt&&W.forEach(function(wr){wr.pin===vt&&wr.vars.pinSpacing!==!1&&(wr._subPinOffset=!0)}),B&&de(Xt)):(Xe=hs(h,C),Xe&&ze.style.flexBasis!=="auto"&&(ze.style.flexBasis=Xe+Ee)),B&&(je={top:He.top+(Pn?Yr-$:Ts)+Ee,left:He.left+(Pn?Ts:Yr-$)+Ee,boxSizing:"border-box",position:"fixed"},je[ei]=je["max"+Di]=Math.ceil(He.width)+Ee,je[ti]=je["max"+No]=Math.ceil(He.height)+Ee,je[At]=je[At+_n]=je[At+cn]=je[At+pn]=je[At+hn]="0",je[Oe]=Ve[Oe],je[Oe+_n]=Ve[Oe+_n],je[Oe+cn]=Ve[Oe+cn],je[Oe+pn]=Ve[Oe+pn],je[Oe+hn]=Ve[Oe+hn],yr=mc(rr,je,T),ct&&de(0)),i?(ea=i._initted,yo(1),i.render(i.duration(),!0,!0),ir=Se(C.a)-Ot+me+le,nr=Math.abs(me-ir)>1,B&&nr&&yr.splice(yr.length-2,2),i.render(0,!0,!0),ea||i.invalidate(!0),i.parent||i.totalTime(i.totalTime()),yo(0)):ir=me,jt&&(jt.value?jt.style["overflow"+C.a.toUpperCase()]=jt.value:jt.style.removeProperty("overflow-"+C.a));else if(_&&de()&&!b)for(He=_.parentNode;He&&He!==re;)He._pinOffset&&($-=He._pinOffset,Te-=He._pinOffset),He=He.parentNode;Ni&&Ni.forEach(function(wr){return wr.revert(!1,!0)}),x.start=$,x.end=Te,rt=it=ct?Xt:de(),!b&&!ct&&(rt<Xt&&de(Xt),x.scroll.rec=0),x.revert(!1,!0),pe=et(),Yt&&(ne=-1,Yt.restart(!0)),Je=0,i&&E&&(i._initted||Br)&&i.progress()!==Br&&i.progress(Br||0,!0).render(i.time(),!0,!0),(qe||Le!==x.progress||b||p||i&&!i._initted)&&(i&&!E&&(i._initted||Le||i.vars.immediateRender!==!1)&&i.totalProgress(b&&$<-.001&&!Le?D.utils.normalize($,Te,0):Le,!0),x.progress=qe||(rt-$)/me===Le?0:Le),h&&d&&(ze._pinOffset=Math.round(x.progress*ir)),j&&j.invalidate(),isNaN(Ii)||(Ii-=D.getProperty(S,C.p),Cn-=D.getProperty(yt,C.p),ns(S,C,Ii),ns(ht,C,Ii-(X||0)),ns(yt,C,Cn),ns(xt,C,Cn-(X||0))),qe&&!ct&&x.update(),f&&!ct&&!xr&&(xr=!0,f(x),xr=!1)}},x.getVelocity=function(){return(de()-it)/(et()-nn)*1e3||0},x.endAnimation=function(){rn(x.callbackAnimation),i&&(j?j.progress(1):i.paused()?E||rn(i,x.direction<0,1):rn(i,i.reversed()))},x.labelToScroll=function(R){return i&&i.labels&&($||x.refresh()||$)+i.labels[R]/i.duration()*me||0},x.getTrailing=function(R){var Y=W.indexOf(x),L=x.direction>0?W.slice(0,Y).reverse():W.slice(Y+1);return(Mt(R)?L.filter(function(X){return X.vars.preventOverlaps===R}):L).filter(function(X){return x.direction>0?X.end<=$:X.start>=Te})},x.update=function(R,Y,L){if(!(b&&!L&&!R)){var X=ct===!0?Xt:x.scroll(),Ne=R?0:(X-$)/me,Z=Ne<0?0:Ne>1?1:Ne||0,Pe=x.progress,qe,xe,le,se,Vt,fe,vt,qt;if(Y&&(it=rt,rt=b?de():X,v&&(Nr=br,br=i&&!E?i.totalProgress():Z)),g&&h&&!Je&&!Kn&&Ft&&(!Z&&$<X+(X-it)/(et()-nn)*g?Z=1e-4:Z===1&&Te>X+(X-it)/(et()-nn)*g&&(Z=.9999)),Z!==Pe&&x.enabled){if(qe=x.isActive=!!Z&&Z<1,xe=!!Pe&&Pe<1,fe=qe!==xe,Vt=fe||!!Z!=!!Pe,x.direction=Z>Pe?1:-1,x.progress=Z,Vt&&!Je&&(le=Z&&!Pe?0:Z===1?1:Pe===1?2:3,E&&(se=!fe&&A[le+1]!=="none"&&A[le+1]||A[le],qt=i&&(se==="complete"||se==="reset"||se in i))),P&&(fe||qt)&&(qt||c||!i)&&(tt(P)?P(x):x.getTrailing(P).forEach(function(Yr){return Yr.endAnimation()})),E||(j&&!Je&&!Kn?(j._dp._time-j._start!==j._time&&j.render(j._dp._time-j._start),j.resetTo?j.resetTo("totalProgress",Z,i._tTime/i._tDur):(j.vars.totalProgress=Z,j.invalidate().restart())):i&&i.totalProgress(Z,!!(Je&&(pe||R)))),h){if(R&&d&&(ze.style[d+C.os2]=Fi),!B)It(on(Ot+ir*Z));else if(Vt){if(vt=!R&&Z>Pe&&Te+1>X&&X+1>=er(O,C),T)if(!R&&(qe||vt)){var Xe=pr(h,!0),Ve=X-$;Ml(h,re,Xe.top+(C===ke?Ve:0)+Ee,Xe.left+(C===ke?0:Ve)+Ee)}else Ml(h,ze);Ri(qe||vt?yr:zr),nr&&Z<1&&qe||It(Ot+(Z===1&&!vt?ir:0))}}v&&!Ye.tween&&!Je&&!Kn&&Yt.restart(!0),o&&(fe||w&&Z&&(Z<1||!vo))&&gn(o.targets).forEach(function(Yr){return Yr.classList[qe||w?"add":"remove"](o.className)}),s&&!E&&!R&&s(x),Vt&&!Je?(E&&(qt&&(se==="complete"?i.pause().totalProgress(1):se==="reset"?i.restart(!0).pause():se==="restart"?i.restart(!0):i[se]()),s&&s(x)),(fe||!vo)&&(u&&fe&&Si(x,u),I[le]&&Si(x,I[le]),w&&(Z===1?x.kill(!1,1):I[le]=0),fe||(le=Z===1?1:3,I[le]&&Si(x,I[le]))),k&&!qe&&Math.abs(x.getVelocity())>(an(k)?k:2500)&&(rn(x.callbackAnimation),j?j.progress(1):rn(i,se==="reverse"?1:!Z,1))):E&&s&&!Je&&s(x)}if(li){var He=b?X/b.duration()*(b._caScrollDist||0):X;Sn(He+(S._isFlipped?1:0)),li(He)}fi&&fi(-X/b.duration()*(b._caScrollDist||0))}},x.enable=function(R,Y){x.enabled||(x.enabled=!0,Be(O,"resize",ln),z||Be(O,"scroll",Ci),Q&&Be(a,"refreshInit",Q),R!==!1&&(x.progress=Le=0,rt=it=ne=de()),Y!==!1&&x.refresh())},x.getTween=function(R){return R&&Ye?Ye.tween:j},x.setPositions=function(R,Y,L,X){if(b){var Ne=b.scrollTrigger,Z=b.duration(),Pe=Ne.end-Ne.start;R=Ne.start+Pe*R/Z,Y=Ne.start+Pe*Y/Z}x.refresh(!1,!1,{start:xl(R,L&&!!x._startClamp),end:xl(Y,L&&!!x._endClamp)},X),x.update()},x.adjustPinSpacing=function(R){if(Me&&R){var Y=Me.indexOf(C.d)+1;Me[Y]=parseFloat(Me[Y])+R+Ee,Me[1]=parseFloat(Me[1])+R+Ee,Ri(Me)}},x.disable=function(R,Y){if(R!==!1&&x.revert(!0,!0),x.enabled&&(x.enabled=x.isActive=!1,Y||j&&j.pause(),Xt=0,Fe&&(Fe.uncache=1),Q&&Ie(a,"refreshInit",Q),Yt&&(Yt.pause(),Ye.tween&&Ye.tween.kill()&&(Ye.tween=0)),!z)){for(var L=W.length;L--;)if(W[L].scroller===O&&W[L]!==x)return;Ie(O,"resize",ln),z||Ie(O,"scroll",Ci)}},x.kill=function(R,Y){x.disable(R,Y),j&&!Y&&j.kill(),l&&delete Oo[l];var L=W.indexOf(x);L>=0&&W.splice(L,1),L===ft&&ls>0&&ft--,L=0,W.forEach(function(X){return X.scroller===x.scroller&&(L=1)}),L||ct||(x.scroll.rec=0),i&&(i.scrollTrigger=null,R&&i.revert({kill:!1}),Y||i.kill()),ht&&[ht,xt,S,yt].forEach(function(X){return X.parentNode&&X.parentNode.removeChild(X)}),dn===x&&(dn=0),h&&(Fe&&(Fe.uncache=1),L=0,W.forEach(function(X){return X.pin===h&&L++}),L||(Fe.spacer=0)),r.onKill&&r.onKill(x)},W.push(x),x.enable(!1,!1),sr&&sr(x),i&&i.add&&!me){var J=x.update;x.update=function(){x.update=J,U.cache++,$||Te||x.refresh()},D.delayedCall(.01,x.update),me=.01,$=Te=0}else x.refresh();h&&pc()},a.register=function(r){return Mi||(D=r||Nl(),zl()&&window.document&&a.enable(),Mi=sn),Mi},a.defaults=function(r){if(r)for(var i in r)ts[i]=r[i];return ts},a.disable=function(r,i){sn=0,W.forEach(function(s){return s[i?"kill":"disable"](r)}),Ie(H,"wheel",Ci),Ie(ie,"scroll",Ci),clearInterval(Zn),Ie(ie,"touchcancel",Jt),Ie(re,"touchstart",Jt),Jn(Ie,ie,"pointerdown,touchstart,mousedown",yl),Jn(Ie,ie,"pointerup,touchend,mouseup",vl),cs.kill(),$n(Ie);for(var n=0;n<U.length;n+=3)es(Ie,U[n],U[n+1]),es(Ie,U[n],U[n+2])},a.enable=function(){if(H=window,ie=document,kt=ie.documentElement,re=ie.body,D){if(gn=D.utils.toArray,un=D.utils.clamp,Mo=D.core.context||Jt,yo=D.core.suppressOverwrites||Jt,Ao=H.history.scrollRestoration||"auto",Ro=H.pageYOffset||0,D.core.globals("ScrollTrigger",a),re){sn=1,Oi=document.createElement("div"),Oi.style.height="100vh",Oi.style.position="absolute",Hl(),ac(),be.register(D),a.isTouch=be.isTouch,Lr=be.isTouch&&/(iPad|iPhone|iPod|Mac)/g.test(navigator.userAgent),Co=be.isTouch===1,Be(H,"wheel",Ci),Eo=[H,ie,kt,re],D.matchMedia?(a.matchMedia=function(f){var c=D.matchMedia(),_;for(_ in f)c.add(_,f[_]);return c},D.addEventListener("matchMediaInit",function(){Gl(),Bo()}),D.addEventListener("matchMediaRevert",function(){return Wl()}),D.addEventListener("matchMedia",function(){Jr(0,1),si("matchMedia")}),D.matchMedia().add("(orientation: portrait)",function(){return wo(),wo})):console.warn("Requires GSAP 3.11.0 or later"),wo(),Be(ie,"scroll",Ci);var r=re.hasAttribute("style"),i=re.style,n=i.borderTopStyle,s=D.core.Animation.prototype,o,l;for(s.revert||Object.defineProperty(s,"revert",{value:function(){return this.time(-.01,!0)}}),i.borderTopStyle="solid",o=pr(re),ke.m=Math.round(o.top+ke.sc())||0,$e.m=Math.round(o.left+$e.sc())||0,n?i.borderTopStyle=n:i.removeProperty("border-top-style"),r||(re.setAttribute("style",""),re.removeAttribute("style")),Zn=setInterval(Tl,250),D.delayedCall(.5,function(){return Kn=0}),Be(ie,"touchcancel",Jt),Be(re,"touchstart",Jt),Jn(Be,ie,"pointerdown,touchstart,mousedown",yl),Jn(Be,ie,"pointerup,touchend,mouseup",vl),Po=D.utils.checkPrefix("transform"),us.push(Po),Mi=et(),cs=D.delayedCall(.2,Jr).pause(),ki=[ie,"visibilitychange",function(){var f=H.innerWidth,c=H.innerHeight;ie.hidden?(dl=f,gl=c):(dl!==f||gl!==c)&&ln()},ie,"DOMContentLoaded",Jr,H,"load",Jr,H,"resize",ln],$n(Be),W.forEach(function(f){return f.enable(0,1)}),l=0;l<U.length;l+=3)es(Ie,U[l],U[l+1]),es(Ie,U[l],U[l+2])}else if(ie){var u=function f(){a.enable(),ie.removeEventListener("DOMContentLoaded",f)};ie.addEventListener("DOMContentLoaded",u)}}},a.config=function(r){"limitCallbacks"in r&&(vo=!!r.limitCallbacks);var i=r.syncInterval;i&&clearInterval(Zn)||(Zn=i)&&setInterval(Tl,i),"ignoreMobileResize"in r&&(Co=a.isTouch===1&&r.ignoreMobileResize),"autoRefreshEvents"in r&&($n(Ie)||$n(Be,r.autoRefreshEvents||"none"),Al=(r.autoRefreshEvents+"").indexOf("resize")===-1)},a.scrollerProxy=function(r,i){var n=lt(r),s=U.indexOf(n),o=ii(n);~s&&U.splice(s,o?6:2),i&&(o?Wt.unshift(H,i,re,i,kt,i):Wt.unshift(n,i))},a.clearMatchMedia=function(r){W.forEach(function(i){return i._ctx&&i._ctx.query===r&&i._ctx.kill(!0,!0)})},a.isInViewport=function(r,i,n){var s=(Mt(r)?lt(r):r).getBoundingClientRect(),o=s[n?ei:ti]*i||0;return n?s.right-o>0&&s.left+o<H.innerWidth:s.bottom-o>0&&s.top+o<H.innerHeight},a.positionInViewport=function(r,i,n){Mt(r)&&(r=lt(r));var s=r.getBoundingClientRect(),o=s[n?ei:ti],l=i==null?o/2:i in _s?_s[i]*o:~i.indexOf("%")?parseFloat(i)*o/100:parseFloat(i)||0;return n?(s.left+l)/H.innerWidth:(s.top+l)/H.innerHeight},a.killAll=function(r){if(W.slice(0).forEach(function(n){return n.vars.id!=="ScrollSmoother"&&n.kill()}),r!==!0){var i=ni.killAll||[];ni={},i.forEach(function(n){return n()})}},a})();G.version="3.15.0";G.saveStyles=function(a){return a?gn(a).forEach(function(e){if(e&&e.style){var t=Ct.indexOf(e);t>=0&&Ct.splice(t,5),Ct.push(e,e.style.cssText,e.getBBox&&e.getAttribute("transform"),D.core.getCache(e),Mo())}}):Ct};G.revert=function(a,e){return Bo(!a,e)};G.create=function(a,e){return new G(a,e)};G.refresh=function(a){return a?ln(!0):(Mi||G.register())&&Jr(!0)};G.update=function(a){return++U.cache&&dr(a===!0?2:0)};G.clearScrollMemory=ql;G.maxScroll=function(a,e){return er(a,e?$e:ke)};G.getScrollFunc=function(a,e){return hr(lt(a),e?$e:ke)};G.getById=function(a){return Oo[a]};G.getAll=function(){return W.filter(function(a){return a.vars.id!=="ScrollSmoother"})};G.isScrolling=function(){return!!Ft};G.snapDirectional=Io;G.addEventListener=function(a,e){var t=ni[a]||(ni[a]=[]);~t.indexOf(e)||t.push(e)};G.removeEventListener=function(a,e){var t=ni[a],r=t&&t.indexOf(e);r>=0&&t.splice(r,1)};G.batch=function(a,e){var t=[],r={},i=e.interval||.016,n=e.batchMax||1e9,s=function(u,f){var c=[],_=[],h=D.delayedCall(i,function(){f(c,_),c=[],_=[]}).pause();return function(d){c.length||h.restart(!0),c.push(d.trigger),_.push(d),n<=c.length&&h.progress(1)}},o;for(o in e)r[o]=o.substr(0,2)==="on"&&tt(e[o])&&o!=="onRefreshInit"?s(o,e[o]):e[o];return tt(n)&&(n=n(),Be(G,"refresh",function(){return n=e.batchMax()})),gn(a).forEach(function(l){var u={};for(o in r)u[o]=r[o];u.trigger=l,t.push(G.create(u))}),t};var Ol=function(e,t,r,i){return t>i?e(i):t<0&&e(0),r>i?(i-t)/(r-t):r<0?t/(t-r):1},So=function a(e,t){t===!0?e.style.removeProperty("touch-action"):e.style.touchAction=t===!0?"auto":t?"pan-"+t+(be.isTouch?" pinch-zoom":""):"none",e===kt&&a(re,t)},ss={auto:1,scroll:1},yc=function(e){var t=e.event,r=e.target,i=e.axis,n=(t.changedTouches?t.changedTouches[0]:t).target,s=n._gsap||D.core.getCache(n),o=et(),l;if(!s._isScrollT||o-s._isScrollT>2e3){for(;n&&n!==re&&(n.scrollHeight<=n.clientHeight&&n.scrollWidth<=n.clientWidth||!(ss[(l=Lt(n)).overflowY]||ss[l.overflowX]));)n=n.parentNode;s._isScroll=n&&n!==r&&!ii(n)&&(ss[(l=Lt(n)).overflowY]||ss[l.overflowX]),s._isScrollT=o}(s._isScroll||i==="x")&&(t.stopPropagation(),t._gsapAllow=!0)},Ql=function(e,t,r,i){return be.create({target:e,capture:!0,debounce:!1,lockAxis:!0,type:t,onWheel:i=i&&yc,onPress:i,onDrag:i,onScroll:i,onEnable:function(){return r&&Be(ie,be.eventTypes[0],Dl,!1,!0)},onDisable:function(){return Ie(ie,be.eventTypes[0],Dl,!0)}})},vc=/(input|label|select|textarea)/i,Rl,Dl=function(e){var t=vc.test(e.target.tagName);(t||Rl)&&(e._gsapAllow=!0,Rl=t)},bc=function(e){$r(e)||(e={}),e.preventDefault=e.isNormalizer=e.allowClicks=!0,e.type||(e.type="wheel,touch"),e.debounce=!!e.debounce,e.id=e.id||"normalizer";var t=e,r=t.normalizeScrollX,i=t.momentum,n=t.allowNestedScroll,s=t.onRelease,o,l,u=lt(e.target)||kt,f=D.core.globals().ScrollSmoother,c=f&&f.get(),_=Lr&&(e.content&&lt(e.content)||c&&e.content!==!1&&!c.smooth()&&c.content()),h=hr(u,ke),d=hr(u,$e),p=1,g=(be.isTouch&&H.visualViewport?H.visualViewport.scale*H.visualViewport.width:H.outerWidth)/H.innerWidth,y=0,m=tt(i)?function(){return i(o)}:function(){return i||2.8},w,v,T=Ql(u,e.type,!0,n),M=function(){return v=!1},b=Jt,k=Jt,P=function(){l=er(u,ke),k=un(Lr?1:0,l),r&&(b=un(0,er(u,$e))),w=ri},C=function(){_._gsap.y=on(parseFloat(_._gsap.y)+h.offset)+"px",_.style.transform="matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, "+parseFloat(_._gsap.y)+", 0, 1)",h.offset=h.cacheID=0},E=function(){if(v){requestAnimationFrame(M);var q=on(o.deltaY/2),te=k(h.v-q);if(_&&te!==h.v+h.offset){h.offset=te-h.v;var x=on((parseFloat(_&&_._gsap.y)||0)-h.offset);_.style.transform="matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, "+x+", 0, 1)",_._gsap.y=x+"px",h.cacheID=U.cache,dr()}return!0}h.offset&&C(),v=!0},O,N,z,B,I=function(){P(),O.isActive()&&O.vars.scrollY>l&&(h()>l?O.progress(1)&&h(l):O.resetTo("scrollY",l))};return _&&D.set(_,{y:"+=0"}),e.ignoreCheck=function(A){return Lr&&A.type==="touchmove"&&E(A)||p>1.05&&A.type!=="touchstart"||o.isGesturing||A.touches&&A.touches.length>1},e.onPress=function(){v=!1;var A=p;p=on((H.visualViewport&&H.visualViewport.scale||1)/g),O.pause(),A!==p&&So(u,p>1.01?!0:r?!1:"x"),N=d(),z=h(),P(),w=ri},e.onRelease=e.onGestureStart=function(A,q){if(h.offset&&C(),!q)B.restart(!0);else{U.cache++;var te=m(),x,Q;r&&(x=d(),Q=x+te*.05*-A.velocityX/.227,te*=Ol(d,x,Q,er(u,$e)),O.vars.scrollX=b(Q)),x=h(),Q=x+te*.05*-A.velocityY/.227,te*=Ol(h,x,Q,er(u,ke)),O.vars.scrollY=k(Q),O.invalidate().duration(te).play(.01),(Lr&&O.vars.scrollY>=l||x>=l-1)&&D.to({},{onUpdate:I,duration:te})}s&&s(A)},e.onWheel=function(){O._ts&&O.pause(),et()-y>1e3&&(w=0,y=et())},e.onChange=function(A,q,te,x,Q){if(ri!==w&&P(),q&&r&&d(b(x[2]===q?N+(A.startX-A.x):d()+q-x[1])),te){h.offset&&C();var Ae=Q[2]===te,we=Ae?z+A.startY-A.y:h()+te-Q[1],ne=k(we);Ae&&we!==ne&&(z+=ne-we),h(ne)}(te||q)&&dr()},e.onEnable=function(){So(u,r?!1:"x"),G.addEventListener("refresh",I),Be(H,"resize",I),h.smooth&&(h.target.style.scrollBehavior="auto",h.smooth=d.smooth=!1),T.enable()},e.onDisable=function(){So(u,!0),Ie(H,"resize",I),G.removeEventListener("refresh",I),T.kill()},e.lockAxis=e.lockAxis!==!1,o=new be(e),o.iOS=Lr,Lr&&!h()&&h(1),Lr&&D.ticker.add(Jt),B=o._dc,O=D.to(o,{ease:"power4",paused:!0,inherit:!1,scrollX:r?"+=0.1":"+=0",scrollY:"+=0.1",modifiers:{scrollY:jl(h,h(),function(){return O.pause()})},onUpdate:dr,onComplete:B.vars.onComplete}),o};G.sort=function(a){if(tt(a))return W.sort(a);var e=H.pageYOffset||0;return G.getAll().forEach(function(t){return t._sortY=t.trigger?e+t.trigger.getBoundingClientRect().top:t.start+H.innerHeight}),W.sort(a||function(t,r){return(t.vars.refreshPriority||0)*-1e6+(t.vars.containerAnimation?1e6:t._sortY)-((r.vars.containerAnimation?1e6:r._sortY)+(r.vars.refreshPriority||0)*-1e6)})};G.observe=function(a){return new be(a)};G.normalizeScroll=function(a){if(typeof a>"u")return ut;if(a===!0&&ut)return ut.enable();if(a===!1){ut&&ut.kill(),ut=a;return}var e=a instanceof be?a:bc(a);return ut&&ut.target===e.target&&ut.kill(),ii(e.target)&&(ut=e),e};G.core={_getVelocityProp:Qn,_inputObserver:Ql,_scrollers:U,_proxies:Wt,bridge:{ss:function(){Ft||si("scrollStart"),Ft=et()},ref:function(){return Je}}};Nl()&&D.registerPlugin(G);var wc=/[achlmqstvz]|(-?\d*\.?\d*(?:e[\-+]?\d+)?)[0-9]/ig,Tc=/(?:(-)?\d*\.?\d*(?:e[\-+]?\d+)?)[0-9]/ig,Sc=/[\+\-]?\d*\.?\d+e[\+\-]?\d+/ig,Pc=/(^[#\.][a-z]|[a-y][a-z])/i,Cc=Math.PI/180,Mc=180/Math.PI,ds=Math.sin,gs=Math.cos,zt=Math.abs,gr=Math.sqrt,kc=Math.atan2,Yo=1e8,Zl=function(e){return typeof e=="string"},ru=function(e){return typeof e=="number"},Oc=function(e){return typeof e>"u"},Rc={},Dc={},ms=1e5,iu=function(e){return Math.round((e+Yo)%1*ms)/ms||(e<0?0:1)},ee=function(e){return Math.round(e*ms)/ms||0},Kl=function(e){return Math.round(e*1e10)/1e10||0},$l=function(e){return e.closed=Math.abs(e[0]-e[e.length-2])<.001&&Math.abs(e[1]-e[e.length-1])<.001},Jl=function(e,t,r,i){var n=e[t],s=i===1?6:Xo(n,r,i);if((s||!i)&&s+r+2<n.length)return e.splice(t,0,n.slice(0,r+s+2)),n.splice(0,r+s),1},nu=function(e,t,r){var i=e.length,n=~~(r*i);if(e[n]>t){for(;--n&&e[n]>t;);n<0&&(n=0)}else for(;e[++n]<t&&n<i;);return n<i?n:i-1},Ec=function(e,t){var r=e.length;for(t||e.reverse();r--;)e[r].reversed||Fc(e[r])},eu=function(e,t){return t.totalLength=e.totalLength,e.samples?(t.samples=e.samples.slice(0),t.lookup=e.lookup.slice(0),t.minLength=e.minLength,t.resolution=e.resolution):e.totalPoints&&(t.totalPoints=e.totalPoints),t},Ac=function(e,t){var r=e.length,i=e[r-1]||[],n=i.length;r&&t[0]===i[n-2]&&t[1]===i[n-1]&&(t=i.concat(t.slice(2)),r--),e[r]=t};function yn(a){a=Zl(a)&&Pc.test(a)&&document.querySelector(a)||a;var e=a.getAttribute?a:0,t;return e&&(a=a.getAttribute("d"))?(e._gsPath||(e._gsPath={}),t=e._gsPath[a],t&&!t._dirty?t:e._gsPath[a]=xn(a)):a?Zl(a)?xn(a):ru(a[0])?[a]:a:console.warn("Expecting a <path> element or an SVG path data string")}function Lc(a){for(var e=[],t=0;t<a.length;t++)e[t]=eu(a[t],a[t].slice(0));return eu(a,e)}function Fc(a){var e=0,t;for(a.reverse();e<a.length;e+=2)t=a[e],a[e]=a[e+1],a[e+1]=t;a.reversed=!a.reversed}var zc=function(e,t){var r=document.createElementNS("http://www.w3.org/2000/svg","path"),i=[].slice.call(e.attributes),n=i.length,s;for(t=","+t+",";--n>-1;)s=i[n].nodeName.toLowerCase(),t.indexOf(","+s+",")<0&&r.setAttributeNS(null,s,i[n].nodeValue);return r},Nc={rect:"rx,ry,x,y,width,height",circle:"r,cx,cy",ellipse:"rx,ry,cx,cy",line:"x1,x2,y1,y2"},Ic=function(e,t){for(var r=t?t.split(","):[],i={},n=r.length;--n>-1;)i[r[n]]=+e.getAttribute(r[n])||0;return i};function su(a,e){var t=a.tagName.toLowerCase(),r=.552284749831,i,n,s,o,l,u,f,c,_,h,d,p,g,y,m,w,v,T,M,b,k,P;return t==="path"||!a.getBBox?a:(u=zc(a,"x,y,width,height,cx,cy,rx,ry,r,x1,x2,y1,y2,points"),P=Ic(a,Nc[t]),t==="rect"?(o=P.rx,l=P.ry||o,n=P.x,s=P.y,h=P.width-o*2,d=P.height-l*2,o||l?(p=n+o*(1-r),g=n+o,y=g+h,m=y+o*r,w=y+o,v=s+l*(1-r),T=s+l,M=T+d,b=M+l*r,k=M+l,i="M"+w+","+T+" V"+M+" C"+[w,b,m,k,y,k,y-(y-g)/3,k,g+(y-g)/3,k,g,k,p,k,n,b,n,M,n,M-(M-T)/3,n,T+(M-T)/3,n,T,n,v,p,s,g,s,g+(y-g)/3,s,y-(y-g)/3,s,y,s,m,s,w,v,w,T].join(",")+"z"):i="M"+(n+h)+","+s+" v"+d+" h"+-h+" v"+-d+" h"+h+"z"):t==="circle"||t==="ellipse"?(t==="circle"?(o=l=P.r,c=o*r):(o=P.rx,l=P.ry,c=l*r),n=P.cx,s=P.cy,f=o*r,i="M"+(n+o)+","+s+" C"+[n+o,s+c,n+f,s+l,n,s+l,n-f,s+l,n-o,s+c,n-o,s,n-o,s-c,n-f,s-l,n,s-l,n+f,s-l,n+o,s-c,n+o,s].join(",")+"z"):t==="line"?i="M"+P.x1+","+P.y1+" L"+P.x2+","+P.y2:(t==="polyline"||t==="polygon")&&(_=(a.getAttribute("points")+"").match(Tc)||[],n=_.shift(),s=_.shift(),i="M"+n+","+s+" L"+_.join(","),t==="polygon"&&(i+=","+n+","+s+"z")),u.setAttribute("d",Wo(u._gsRawPath=xn(i))),e&&a.parentNode&&(a.parentNode.insertBefore(u,a),a.parentNode.removeChild(a)),u)}function ou(a,e,t){var r=a[e],i=a[e+2],n=a[e+4],s;return r+=(i-r)*t,i+=(n-i)*t,r+=(i-r)*t,s=i+(n+(a[e+6]-n)*t-i)*t-r,r=a[e+1],i=a[e+3],n=a[e+5],r+=(i-r)*t,i+=(n-i)*t,r+=(i-r)*t,ee(kc(i+(n+(a[e+7]-n)*t-i)*t-r,s)*Mc)}function Vo(a,e,t){t=Oc(t)?1:Kl(t)||0,e=Kl(e)||0;var r=Math.max(0,~~(zt(t-e)-1e-8)),i=Lc(a);if(e>t&&(e=1-e,t=1-t,Ec(i),i.totalLength=0),e<0||t<0){var n=Math.abs(~~Math.min(e,t))+1;e+=n,t+=n}i.totalLength||Fr(i);var s=t>1,o=tu(i,e,Rc,!0),l=tu(i,t,Dc),u=l.segment,f=o.segment,c=l.segIndex,_=o.segIndex,h=l.i,d=o.i,p=_===c,g=h===d&&p,y,m,w,v,T,M,b,k;if(s||r){for(y=c<_||p&&h<d||g&&l.t<o.t,Jl(i,_,d,o.t)&&(_++,y||(c++,g?(l.t=(l.t-o.t)/(1-o.t),h=0):p&&(h-=d))),Math.abs(1-(t-e))<1e-5?c=_-1:!l.t&&c?c--:Jl(i,c,h,l.t)&&y&&_++,o.t===1&&(_=(_+1)%i.length),T=[],M=i.length,b=1+M*r,k=_,b+=(M-_+c)%M,v=0;v<b;v++)Ac(T,i[k++%M]);i=T}else if(w=l.t===1?6:Xo(u,h,l.t),e!==t)for(m=Xo(f,d,g?o.t/l.t:o.t),p&&(w+=m),u.splice(h+w+2),(m||d)&&f.splice(0,d+m),v=i.length;v--;)(v<_||v>c)&&i.splice(v,1);else u.angle=ou(u,h+w,0),h+=w,o=u[h],l=u[h+1],u.length=u.totalLength=0,u.totalPoints=i.totalPoints=8,u.push(o,l,o,l,o,l,o,l);return i.totalLength=0,i}function Bc(a,e,t){e=e||0,a.samples||(a.samples=[],a.lookup=[]);var r=~~a.resolution||12,i=1/r,n=t?e+t*6+1:a.length,s=a[e],o=a[e+1],l=e?e/6*r:0,u=a.samples,f=a.lookup,c=(e?a.minLength:Yo)||Yo,_=u[l+t*r-1],h=e?u[l-1]:0,d,p,g,y,m,w,v,T,M,b,k,P,C,E,O,N,z;for(u.length=f.length=0,p=e+2;p<n;p+=6){if(g=a[p+4]-s,y=a[p+2]-s,m=a[p]-s,T=a[p+5]-o,M=a[p+3]-o,b=a[p+1]-o,w=v=k=P=0,zt(g)<.01&&zt(T)<.01&&zt(m)+zt(b)<.01)a.length>8&&(a.splice(p,6),p-=6,n-=6);else for(d=1;d<=r;d++)E=i*d,C=1-E,w=v-(v=(E*E*g+3*C*(E*y+C*m))*E),k=P-(P=(E*E*T+3*C*(E*M+C*b))*E),N=gr(k*k+w*w),N<c&&(c=N),h+=N,u[l++]=h;s+=g,o+=T}if(_)for(_-=h;l<u.length;l++)u[l]+=_;if(u.length&&c){if(a.totalLength=z=u[u.length-1]||0,a.minLength=c,z/c<9999)for(N=O=0,d=0;d<z;d+=c)f[N++]=u[O]<d?++O:O}else a.totalLength=u[0]=0;return e?h-u[e/2-1]:h}function Fr(a,e){var t,r,i;for(i=t=r=0;i<a.length;i++)a[i].resolution=~~e||12,t+=Bc(a[i]),r+=a[i].length;return a.totalPoints=r,a.totalLength=t,a}function Xo(a,e,t){if(t<=0||t>=1)return 0;var r=a[e],i=a[e+1],n=a[e+2],s=a[e+3],o=a[e+4],l=a[e+5],u=a[e+6],f=a[e+7],c=r+(n-r)*t,_=n+(o-n)*t,h=i+(s-i)*t,d=s+(l-s)*t,p=c+(_-c)*t,g=h+(d-h)*t,y=o+(u-o)*t,m=l+(f-l)*t;return _+=(y-_)*t,d+=(m-d)*t,a.splice(e+2,4,ee(c),ee(h),ee(p),ee(g),ee(p+(_-p)*t),ee(g+(d-g)*t),ee(_),ee(d),ee(y),ee(m)),a.samples&&a.samples.splice(e/6*a.resolution|0,0,0,0,0,0,0,0),6}function tu(a,e,t,r){t=t||{},a.totalLength||Fr(a),(e<0||e>1)&&(e=iu(e));var i=0,n=a[0],s,o,l,u,f,c,_;if(!e)_=c=i=0,n=a[0];else if(e===1)_=1,i=a.length-1,n=a[i],c=n.length-8;else{if(a.length>1){for(l=a.totalLength*e,f=c=0;(f+=a[c++].totalLength)<l;)i=c;n=a[i],u=f-n.totalLength,e=(l-u)/(f-u)||0}s=n.samples,o=n.resolution,l=n.totalLength*e,c=n.lookup.length?n.lookup[~~(l/n.minLength)]||0:nu(s,l,e),u=c?s[c-1]:0,f=s[c],f<l&&(u=f,f=s[++c]),_=1/o*((l-u)/(f-u)+c%o),c=~~(c/o)*6,r&&_===1&&(c+6<n.length?(c+=6,_=0):i+1<a.length&&(c=_=0,n=a[++i]))}return t.t=_,t.i=c,t.path=a,t.segment=n,t.segIndex=i,t}function Uo(a,e,t,r){var i=a[0],n=r||{},s,o,l,u,f,c,_,h,d;if((e<0||e>1)&&(e=iu(e)),i.lookup||Fr(a),a.length>1){for(l=a.totalLength*e,f=c=0;(f+=a[c++].totalLength)<l;)i=a[c];u=f-i.totalLength,e=(l-u)/(f-u)||0}return s=i.samples,o=i.resolution,l=i.totalLength*e,c=i.lookup.length?i.lookup[e<1?~~(l/i.minLength):i.lookup.length-1]||0:nu(s,l,e),u=c?s[c-1]:0,f=s[c],f<l&&(u=f,f=s[++c]),_=1/o*((l-u)/(f-u)+c%o)||0,d=1-_,c=~~(c/o)*6,h=i[c],n.x=ee((_*_*(i[c+6]-h)+3*d*(_*(i[c+4]-h)+d*(i[c+2]-h)))*_+h),n.y=ee((_*_*(i[c+7]-(h=i[c+1]))+3*d*(_*(i[c+5]-h)+d*(i[c+3]-h)))*_+h),t&&(n.angle=i.totalLength?ou(i,c,_>=1?1-1e-9:_||1e-9):i.angle||0),n}function Ei(a,e,t,r,i,n,s){for(var o=a.length,l,u,f,c,_;--o>-1;)for(l=a[o],u=l.length,f=0;f<u;f+=2)c=l[f],_=l[f+1],l[f]=c*e+_*r+n,l[f+1]=c*t+_*i+s;return a._dirty=1,a}function Yc(a,e,t,r,i,n,s,o,l){if(!(a===o&&e===l)){t=zt(t),r=zt(r);var u=i%360*Cc,f=gs(u),c=ds(u),_=Math.PI,h=_*2,d=(a-o)/2,p=(e-l)/2,g=f*d+c*p,y=-c*d+f*p,m=g*g,w=y*y,v=m/(t*t)+w/(r*r);v>1&&(t=gr(v)*t,r=gr(v)*r);var T=t*t,M=r*r,b=(T*M-T*w-M*m)/(T*w+M*m);b<0&&(b=0);var k=(n===s?-1:1)*gr(b),P=k*(t*y/r),C=k*-(r*g/t),E=(a+o)/2,O=(e+l)/2,N=E+(f*P-c*C),z=O+(c*P+f*C),B=(g-P)/t,I=(y-C)/r,A=(-g-P)/t,q=(-y-C)/r,te=B*B+I*I,x=(I<0?-1:1)*Math.acos(B/gr(te)),Q=(B*q-I*A<0?-1:1)*Math.acos((B*A+I*q)/gr(te*(A*A+q*q)));isNaN(Q)&&(Q=_),!s&&Q>0?Q-=h:s&&Q<0&&(Q+=h),x%=h,Q%=h;var Ae=Math.ceil(zt(Q)/(h/4)),we=[],ne=Q/Ae,pe=4/3*ds(ne/2)/(1+gs(ne/2)),Le=f*t,de=c*t,Ye=c*-r,Fe=f*r,ge;for(ge=0;ge<Ae;ge++)i=x+ge*ne,g=gs(i),y=ds(i),B=gs(i+=ne),I=ds(i),we.push(g-pe*y,y+pe*g,B+pe*I,I-pe*B,B,I);for(ge=0;ge<we.length;ge+=2)g=we[ge],y=we[ge+1],we[ge]=g*Le+y*Ye+N,we[ge+1]=g*de+y*Fe+z;return we[ge-2]=o,we[ge-1]=l,we}}function xn(a){var e=(a+"").replace(Sc,function(P){var C=+P;return C<1e-4&&C>-1e-4?0:C}).match(wc)||[],t=[],r=0,i=0,n=2/3,s=e.length,o=0,l="ERROR: malformed path: "+a,u,f,c,_,h,d,p,g,y,m,w,v,T,M,b,k=function(C,E,O,N){m=(O-C)/3,w=(N-E)/3,p.push(C+m,E+w,O-m,N-w,O,N)};if(!a||!isNaN(e[0])||isNaN(e[1]))return console.log(l),t;for(u=0;u<s;u++)if(T=h,isNaN(e[u])?(h=e[u].toUpperCase(),d=h!==e[u]):u--,c=+e[u+1],_=+e[u+2],d&&(c+=r,_+=i),u||(g=c,y=_),h==="M")p&&(p.length<8?t.length-=1:o+=p.length,$l(p)),r=g=c,i=y=_,p=[c,_],t.push(p),u+=2,h="L";else if(h==="C")p||(p=[0,0]),d||(r=i=0),p.push(c,_,r+e[u+3]*1,i+e[u+4]*1,r+=e[u+5]*1,i+=e[u+6]*1),u+=6;else if(h==="S")m=r,w=i,(T==="C"||T==="S")&&(m+=r-p[p.length-4],w+=i-p[p.length-3]),d||(r=i=0),p.push(m,w,c,_,r+=e[u+3]*1,i+=e[u+4]*1),u+=4;else if(h==="Q")m=r+(c-r)*n,w=i+(_-i)*n,d||(r=i=0),r+=e[u+3]*1,i+=e[u+4]*1,p.push(m,w,r+(c-r)*n,i+(_-i)*n,r,i),u+=4;else if(h==="T")m=r-p[p.length-4],w=i-p[p.length-3],p.push(r+m,i+w,c+(r+m*1.5-c)*n,_+(i+w*1.5-_)*n,r=c,i=_),u+=2;else if(h==="H")k(r,i,r=c,i),u+=1;else if(h==="V")k(r,i,r,i=c+(d?i-r:0)),u+=1;else if(h==="L"||h==="Z")h==="Z"&&(c=g,_=y,p.closed=!0),(h==="L"||zt(r-c)>.5||zt(i-_)>.5)&&(k(r,i,c,_),h==="L"&&(u+=2)),r=c,i=_;else if(h==="A"){if(M=e[u+4],b=e[u+5],m=e[u+6],w=e[u+7],f=7,M.length>1&&(M.length<3?(w=m,m=b,f--):(w=b,m=M.substr(2),f-=2),b=M.charAt(1),M=M.charAt(0)),v=Yc(r,i,+e[u+1],+e[u+2],+e[u+3],+M,+b,(d?r:0)+m*1,(d?i:0)+w*1),u+=f,v)for(f=0;f<v.length;f++)p.push(v[f]);r=p[p.length-2],i=p[p.length-1]}else console.log(l);return u=p.length,u<6?(t.pop(),u=0):$l(p),t.totalPoints=o+u,t}function au(a,e){e===void 0&&(e=1);for(var t=a[0],r=0,i=[t,r],n=2;n<a.length;n+=2)i.push(t,r,a[n],r=(a[n]-t)*e/2,t=a[n],-r);return i}function xs(a,e){zt(a[0]-a[2])<1e-4&&zt(a[1]-a[3])<1e-4&&(a=a.slice(2));var t=a.length-2,r=+a[0],i=+a[1],n=+a[2],s=+a[3],o=[r,i,r,i],l=n-r,u=s-i,f=a.nonSmooth||[],c=Math.abs(a[t]-r)<.001&&Math.abs(a[t+1]-i)<.001,_,h,d,p,g,y,m,w,v,T,M,b,k,P,C;if(!t)return[r,i,r,i,r,i,r,i];for(c&&(a.push(n,s),n=r,s=i,r=a[t-2],i=a[t-1],a.unshift(r,i),t+=4,f=[0,0].concat(f)),e=e||e===0?+e:1,d=2;d<t;d+=2)if(_=r,h=i,r=n,i=s,n=+a[d+2],s=+a[d+3],!(r===n&&i===s)){if(p=l,g=u,l=n-r,u=s-i,f[d]){o.push(r-(r-_)/4,i-(i-h)/4,r,i,r+(n-r)/4,i+(s-i)/4);continue}y=gr(p*p+g*g),m=gr(l*l+u*u),w=gr(Math.pow(l/m+p/y,2)+Math.pow(u/m+g/y,2)),v=(y+m)*e*.25/w,T=r-(r-_)*(y?v/y:0),M=r+(n-r)*(m?v/m:0),b=r-(T+((M-T)*(y*3/(y+m)+.5)/4||0)),k=i-(i-h)*(y?v/y:0),P=i+(s-i)*(m?v/m:0),C=i-(k+((P-k)*(y*3/(y+m)+.5)/4||0)),o.push(ee(T+b),ee(k+C),ee(r),ee(i),ee(M+b),ee(P+C))}return r!==n||i!==s||o.length<4?o.push(ee(n),ee(s),ee(n),ee(s)):o.length-=2,o.length===2?o.push(r,i,r,i,r,i):c&&(o.splice(0,6),o.length-=6),o.closed=c,o}function Wo(a){ru(a[0])&&(a=[a]);var e="",t=a.length,r,i,n,s;for(i=0;i<t;i++){for(s=a[i],e+="M"+ee(s[0])+","+ee(s[1])+" C",r=s.length,n=2;n<r;n++)e+=ee(s[n++])+","+ee(s[n++])+" "+ee(s[n++])+","+ee(s[n++])+" "+ee(s[n++])+","+ee(s[n])+" ";s.closed&&(e+="z")}return e}var mr,oi,jo,bs,vn,ys,vs,bn,Gt="transform",Ho=Gt+"Origin",lu,uu=function(e){var t=e.ownerDocument||e;for(!(Gt in e.style)&&("msTransform"in e.style)&&(Gt="msTransform",Ho=Gt+"Origin");t.parentNode&&(t=t.parentNode););if(oi=window,vs=new wn,t){mr=t,jo=t.documentElement,bs=t.body,bn=mr.createElementNS("http://www.w3.org/2000/svg","g"),bn.style.transform="none";var r=t.createElement("div"),i=t.createElement("div"),n=t&&(t.body||t.firstElementChild);n&&n.appendChild&&(n.appendChild(r),r.appendChild(i),r.style.position="static",r.style.transform="translate3d(0,0,1px)",lu=i.offsetParent!==r,n.removeChild(r))}return t},Xc=function(e){for(var t,r;e&&e!==bs;)r=e._gsap,r&&r.uncache&&r.get(e,"x"),r&&!r.scaleX&&!r.scaleY&&r.renderTransform&&(r.scaleX=r.scaleY=1e-4,r.renderTransform(1,r),t?t.push(r):t=[r]),e=e.parentNode;return t},fu=[],cu=[],Vc=function(){return oi.pageYOffset||mr.scrollTop||jo.scrollTop||bs.scrollTop||0},Uc=function(){return oi.pageXOffset||mr.scrollLeft||jo.scrollLeft||bs.scrollLeft||0},Qo=function(e){return e.ownerSVGElement||((e.tagName+"").toLowerCase()==="svg"?e:null)},Wc=function a(e){if(oi.getComputedStyle(e).position==="fixed")return!0;if(e=e.parentNode,e&&e.nodeType===1)return a(e)},Go=function a(e,t){if(e.parentNode&&(mr||uu(e))){var r=Qo(e),i=r?r.getAttribute("xmlns")||"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",n=r?t?"rect":"g":"div",s=t!==2?0:100,o=t===3?100:0,l={position:"absolute",display:"block",pointerEvents:"none",margin:"0",padding:"0"},u=mr.createElementNS?mr.createElementNS(i.replace(/^https/,"http"),n):mr.createElement(n);return t&&(r?(ys||(ys=a(e)),u.setAttribute("width",.01),u.setAttribute("height",.01),u.setAttribute("transform","translate("+s+","+o+")"),u.setAttribute("fill","transparent"),ys.appendChild(u)):(vn||(vn=a(e),Object.assign(vn.style,l)),Object.assign(u.style,l,{width:"0.1px",height:"0.1px",top:o+"px",left:s+"px"}),vn.appendChild(u))),u}throw"Need document and parent."},Gc=function(e){for(var t=new wn,r=0;r<e.numberOfItems;r++)t.multiply(e.getItem(r).matrix);return t},qc=function(e){var t=e.getCTM(),r;return t||(r=e.style[Gt],e.style[Gt]="none",e.appendChild(bn),t=bn.getCTM(),e.removeChild(bn),r?e.style[Gt]=r:e.style.removeProperty(Gt.replace(/([A-Z])/g,"-$1").toLowerCase())),t||vs.clone()},Hc=function(e,t){var r=Qo(e),i=e===r,n=r?fu:cu,s=e.parentNode,o=s&&!r&&s.shadowRoot&&s.shadowRoot.appendChild?s.shadowRoot:s,l,u,f,c,_,h;if(e===oi)return e;if(n.length||n.push(Go(e,1),Go(e,2),Go(e,3)),l=r?ys:vn,r)i?(f=qc(e),c=-f.e/f.a,_=-f.f/f.d,u=vs):e.getBBox?(f=e.getBBox(),u=e.transform?e.transform.baseVal:{},u=u.numberOfItems?u.numberOfItems>1?Gc(u):u.getItem(0).matrix:vs,c=u.a*f.x+u.c*f.y,_=u.b*f.x+u.d*f.y):(u=new wn,c=_=0),t&&e.tagName.toLowerCase()==="g"&&(c=_=0),(i||!e.getBoundingClientRect().width?r:s).appendChild(l),l.setAttribute("transform","matrix("+u.a+","+u.b+","+u.c+","+u.d+","+(u.e+c)+","+(u.f+_)+")");else{if(c=_=0,lu)for(u=e.offsetParent,f=e;f&&(f=f.parentNode)&&f!==u&&f.parentNode;)(oi.getComputedStyle(f)[Gt]+"").length>4&&(c=f.offsetLeft,_=f.offsetTop,f=0);if(h=oi.getComputedStyle(e),h.position!=="absolute"&&h.position!=="fixed")for(u=e.offsetParent;s&&s!==u;)c+=s.scrollLeft||0,_+=s.scrollTop||0,s=s.parentNode;f=l.style,f.top=e.offsetTop-_+"px",f.left=e.offsetLeft-c+"px",f[Gt]=h[Gt],f[Ho]=h[Ho],f.position=h.position==="fixed"?"fixed":"absolute",o.appendChild(l)}return l},qo=function(e,t,r,i,n,s,o){return e.a=t,e.b=r,e.c=i,e.d=n,e.e=s,e.f=o,e},wn=(function(){function a(t,r,i,n,s,o){t===void 0&&(t=1),r===void 0&&(r=0),i===void 0&&(i=0),n===void 0&&(n=1),s===void 0&&(s=0),o===void 0&&(o=0),qo(this,t,r,i,n,s,o)}var e=a.prototype;return e.inverse=function(){var r=this.a,i=this.b,n=this.c,s=this.d,o=this.e,l=this.f,u=r*s-i*n||1e-10;return qo(this,s/u,-i/u,-n/u,r/u,(n*l-s*o)/u,-(r*l-i*o)/u)},e.multiply=function(r){var i=this.a,n=this.b,s=this.c,o=this.d,l=this.e,u=this.f,f=r.a,c=r.c,_=r.b,h=r.d,d=r.e,p=r.f;return qo(this,f*i+_*s,f*n+_*o,c*i+h*s,c*n+h*o,l+d*i+p*s,u+d*n+p*o)},e.clone=function(){return new a(this.a,this.b,this.c,this.d,this.e,this.f)},e.equals=function(r){var i=this.a,n=this.b,s=this.c,o=this.d,l=this.e,u=this.f;return i===r.a&&n===r.b&&s===r.c&&o===r.d&&l===r.e&&u===r.f},e.apply=function(r,i){i===void 0&&(i={});var n=r.x,s=r.y,o=this.a,l=this.b,u=this.c,f=this.d,c=this.e,_=this.f;return i.x=n*o+s*u+c||0,i.y=n*l+s*f+_||0,i},a})();function ai(a,e,t,r){if(!a||!a.parentNode||(mr||uu(a)).documentElement===a)return new wn;var i=Xc(a),n=Qo(a),s=n?fu:cu,o=Hc(a,t),l=s[0].getBoundingClientRect(),u=s[1].getBoundingClientRect(),f=s[2].getBoundingClientRect(),c=o.parentNode,_=!r&&Wc(a),h=new wn((u.left-l.left)/100,(u.top-l.top)/100,(f.left-l.left)/100,(f.top-l.top)/100,l.left+(_?0:Uc()),l.top+(_?0:Vc()));if(c.removeChild(o),i)for(l=i.length;l--;)u=i[l],u.scaleX=u.scaleY=0,u.renderTransform(1,u);return e?h.inverse():h}var jc="x,translateX,left,marginLeft,xPercent".split(","),Qc="y,translateY,top,marginTop,yPercent".split(","),Zc=Math.PI/180,Nt,du,Ai,Ko,Zo,hu,Kc=function(){return Nt||typeof window<"u"&&(Nt=window.gsap)&&Nt.registerPlugin&&Nt},Tn=function(e,t,r,i){for(var n=t.length,s=i===2?0:i,o=0,l;o<n;o++)e[s]=l=parseFloat(t[o][r]),i===2&&(e[s+1]=0),s+=2;return e},Li=function(e,t,r){return parseFloat(e._gsap.get(e,t,r||"px"))||0},gu=function(e){var t=e[0],r=e[1],i;for(i=2;i<e.length;i+=2)t=e[i]+=t,r=e[i+1]+=r},_u=function(e,t,r,i,n,s,o,l,u){if(o.type==="cubic")t=[t];else{o.fromCurrent!==!1&&t.unshift(Li(r,i,l),n?Li(r,n,u):0),o.relative&&gu(t);var f=n?xs:au;t=[f(t,o.curviness)]}return t=s(mu(t,r,o)),ws(e,r,i,t,"x",l),n&&ws(e,r,n,t,"y",u),Fr(t,o.resolution||(o.curviness===0?20:12))},$c=function(e){return e},Jc=/[-+\.]*\d+\.?(?:e-|e\+)?\d*/g,pu=function(e,t,r){var i=ai(e),n=0,s=0,o;return(e.tagName+"").toLowerCase()==="svg"?(o=e.viewBox.baseVal,o.width||(o={width:+e.getAttribute("width"),height:+e.getAttribute("height")})):o=t&&e.getBBox&&e.getBBox(),t&&t!=="auto"&&(n=t.push?t[0]*(o?o.width:e.offsetWidth||0):t.x,s=t.push?t[1]*(o?o.height:e.offsetHeight||0):t.y),r.apply(n||s?i.apply({x:n,y:s}):{x:i.e,y:i.f})},$o=function(e,t,r,i){var n=ai(e.parentNode,!0,!0),s=n.clone().multiply(ai(t)),o=pu(e,r,n),l=pu(t,i,n),u=l.x,f=l.y,c;return s.e=s.f=0,i==="auto"&&t.getTotalLength&&t.tagName.toLowerCase()==="path"&&(c=t.getAttribute("d").match(Jc)||[],c=s.apply({x:+c[0],y:+c[1]}),u+=c.x,f+=c.y),c&&(c=s.apply(t.getBBox()),u-=c.x,f-=c.y),s.e=u-o.x,s.f=f-o.y,s},mu=function(e,t,r){var i=r.align,n=r.matrix,s=r.offsetX,o=r.offsetY,l=r.alignOrigin,u=e[0][0],f=e[0][1],c=Li(t,"x"),_=Li(t,"y"),h,d,p;return!e||!e.length?yn("M0,0L0,0"):(i&&(i==="self"||(h=Ko(i)[0]||t)===t?Ei(e,1,0,0,1,c-u,_-f):(l&&l[2]!==!1?Nt.set(t,{transformOrigin:l[0]*100+"% "+l[1]*100+"%"}):l=[Li(t,"xPercent")/-100,Li(t,"yPercent")/-100],d=$o(t,h,l,"auto"),p=d.apply({x:u,y:f}),Ei(e,d.a,d.b,d.c,d.d,c+d.e-(p.x-d.e),_+d.f-(p.y-d.f)))),n?Ei(e,n.a,n.b,n.c,n.d,n.e,n.f):(s||o)&&Ei(e,1,0,0,1,s||0,o||0),e)},ws=function(e,t,r,i,n,s){var o=t._gsap,l=o.harness,u=l&&l.aliases&&l.aliases[r],f=u&&u.indexOf(",")<0?u:r,c=e._pt=new du(e._pt,t,f,0,0,$c,0,o.set(t,f,e));c.u=Ai(o.get(t,f,s))||0,c.path=i,c.pp=n,e._props.push(f)},eh=function(e,t){return function(r){return e||t!==1?Vo(r,e,t):r}},Jo={version:"3.15.0",name:"motionPath",register:function(e,t,r){Nt=e,Ai=Nt.utils.getUnit,Ko=Nt.utils.toArray,Zo=Nt.core.getStyleSaver,hu=Nt.core.reverting||function(){},du=r},init:function(e,t,r){if(!Nt)return console.warn("Please gsap.registerPlugin(MotionPathPlugin)"),!1;(!(typeof t=="object"&&!t.style)||!t.path)&&(t={path:t});var i=[],n=t,s=n.path,o=n.autoRotate,l=n.unitX,u=n.unitY,f=n.x,c=n.y,_=s[0],h=eh(t.start,"end"in t?t.end:1),d,p;if(this.rawPaths=i,this.target=e,this.tween=r,this.styles=Zo&&Zo(e,"transform"),(this.rotate=o||o===0)&&(this.rOffset=parseFloat(o)||0,this.radians=!!t.useRadians,this.rProp=t.rotation||"rotation",this.rSet=e._gsap.set(e,this.rProp,this),this.ru=Ai(e._gsap.get(e,this.rProp))||0),Array.isArray(s)&&!("closed"in s)&&typeof _!="number"){for(p in _)!f&&~jc.indexOf(p)?f=p:!c&&~Qc.indexOf(p)&&(c=p);f&&c?i.push(_u(this,Tn(Tn([],s,f,0),s,c,1),e,f,c,h,t,l||Ai(s[0][f]),u||Ai(s[0][c]))):f=c=0;for(p in _)p!==f&&p!==c&&i.push(_u(this,Tn([],s,p,2),e,p,0,h,t,Ai(s[0][p])))}else d=h(mu(yn(t.path),e,t)),Fr(d,t.resolution),i.push(d),ws(this,e,t.x||"x",d,"x",t.unitX||"px"),ws(this,e,t.y||"y",d,"y",t.unitY||"px");r.vars.immediateRender&&this.render(r.progress(),this)},render:function(e,t){var r=t.rawPaths,i=r.length,n=t._pt;if(t.tween._time||!hu()){for(e>1?e=1:e<0&&(e=0);i--;)Uo(r[i],e,!i&&t.rotate,r[i]);for(;n;)n.set(n.t,n.p,n.path[n.pp]+n.u,n.d,e),n=n._next;t.rotate&&t.rSet(t.target,t.rProp,r[0].angle*(t.radians?Zc:1)+t.rOffset+t.ru,t,e)}else t.styles.revert()},getLength:function(e){return Fr(yn(e)).totalLength},sliceRawPath:Vo,getRawPath:yn,pointsToSegment:xs,stringToRawPath:xn,rawPathToString:Wo,transformRawPath:Ei,getGlobalMatrix:ai,getPositionOnPath:Uo,cacheRawPathMeasurements:Fr,convertToPath:function(e,t){return Ko(e).map(function(r){return su(r,t!==!1)})},convertCoordinates:function(e,t,r){var i=ai(t,!0,!0).multiply(ai(e));return r?i.apply(r):i},getAlignMatrix:$o,getRelativePosition:function(e,t,r,i){var n=$o(e,t,r,i);return{x:n.e,y:n.f}},arrayToRawPath:function(e,t){t=t||{};var r=Tn(Tn([],e,t.x||"x",0),e,t.y||"y",1);return t.relative&&gu(r),[t.type==="cubic"?r:xs(r,t.curviness)]}};Kc()&&Nt.registerPlugin(Jo);Wn.registerPlugin(G,Jo);window.gsap=Wn;window.ScrollTrigger=G;})();
2
+ /*! Bundled license information:
3
+
4
+ gsap/gsap-core.js:
5
+ (*!
6
+ * GSAP 3.15.0
7
+ * https://gsap.com
8
+ *
9
+ * @license Copyright 2008-2026, GreenSock. All rights reserved.
10
+ * Subject to the terms at https://gsap.com/standard-license
11
+ * @author: Jack Doyle, jack@greensock.com
12
+ *)
13
+
14
+ gsap/CSSPlugin.js:
15
+ (*!
16
+ * CSSPlugin 3.15.0
17
+ * https://gsap.com
18
+ *
19
+ * Copyright 2008-2026, GreenSock. All rights reserved.
20
+ * Subject to the terms at https://gsap.com/standard-license
21
+ * @author: Jack Doyle, jack@greensock.com
22
+ *)
23
+
24
+ gsap/Observer.js:
25
+ (*!
26
+ * Observer 3.15.0
27
+ * https://gsap.com
28
+ *
29
+ * @license Copyright 2008-2026, GreenSock. All rights reserved.
30
+ * Subject to the terms at https://gsap.com/standard-license
31
+ * @author: Jack Doyle, jack@greensock.com
32
+ *)
33
+
34
+ gsap/ScrollTrigger.js:
35
+ (*!
36
+ * ScrollTrigger 3.15.0
37
+ * https://gsap.com
38
+ *
39
+ * @license Copyright 2008-2026, GreenSock. All rights reserved.
40
+ * Subject to the terms at https://gsap.com/standard-license
41
+ * @author: Jack Doyle, jack@greensock.com
42
+ *)
43
+
44
+ gsap/utils/paths.js:
45
+ (*!
46
+ * paths 3.15.0
47
+ * https://gsap.com
48
+ *
49
+ * Copyright 2008-2026, GreenSock. All rights reserved.
50
+ * Subject to the terms at https://gsap.com/standard-license
51
+ * @author: Jack Doyle, jack@greensock.com
52
+ *)
53
+
54
+ gsap/utils/matrix.js:
55
+ (*!
56
+ * matrix 3.15.0
57
+ * https://gsap.com
58
+ *
59
+ * Copyright 2008-2026, GreenSock. All rights reserved.
60
+ * Subject to the terms at https://gsap.com/standard-license
61
+ * @author: Jack Doyle, jack@greensock.com
62
+ *)
63
+
64
+ gsap/MotionPathPlugin.js:
65
+ (*!
66
+ * MotionPathPlugin 3.15.0
67
+ * https://gsap.com
68
+ *
69
+ * @license Copyright 2008-2026, GreenSock. All rights reserved.
70
+ * Subject to the terms at https://gsap.com/standard-license
71
+ * @author: Jack Doyle, jack@greensock.com
72
+ *)
73
+ */
@@ -0,0 +1,63 @@
1
+ html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height, 80px) + 20px); }
2
+ html { scrollbar-gutter: stable; }
3
+ @supports not selector(::-webkit-scrollbar) { html { scrollbar-color: #65758a #edf1f5; scrollbar-width: auto; } }
4
+ ::-webkit-scrollbar { width: 14px; height: 14px; }
5
+ ::-webkit-scrollbar-track { background: #edf1f5; }
6
+ ::-webkit-scrollbar-thumb { min-height: 48px; min-width: 48px; border: 3px solid #edf1f5; border-radius: 8px; background: #65758a; }
7
+ ::-webkit-scrollbar-thumb:hover { background: #394b63; }
8
+ .shell { width: min(1120px, calc(100% - 64px)); margin-inline: auto; }
9
+ .masthead {
10
+ position: sticky; top: 0; z-index: 20;
11
+ display: flex; align-items: center; justify-content: space-between; gap: 28px;
12
+ padding-block: 17px; border-bottom: 1px solid #e3ecf2;
13
+ background: #fffffff2; color: #223347; backdrop-filter: blur(16px);
14
+ box-shadow: 0 0 0 100vmax #fffffff2; clip-path: inset(0 -100vmax);
15
+ font: 16px/1.6 Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
16
+ }
17
+ .masthead a { color: inherit; text-decoration: none; text-underline-offset: 4px; text-decoration-thickness: 1px; }
18
+ .masthead .brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 750; font-size: 23px; letter-spacing: -.05em; }
19
+ .masthead .brand-icon { width: 29px; height: 29px; flex: none; color: #223347; }
20
+ .masthead nav { display: flex; flex-wrap: wrap; align-items: center; gap: 30px; font-size: 15px; font-weight: 600; }
21
+ .masthead nav a { display: inline-flex; align-items: center; min-height: 40px; white-space: nowrap; color: #223347; }
22
+ .masthead nav a:hover, .masthead nav a[aria-current="page"] { color: #1769b1; text-decoration: underline; }
23
+ .masthead nav .nav-github { gap: 8px; padding: 7px 14px; border: 1.5px solid #223347; border-radius: 8px; box-shadow: 3px 4px 0 #2233471a; }
24
+ .masthead nav .nav-github:hover { text-decoration: none; background: #eef4fb; }
25
+ .gh-icon { width: 18px; height: 18px; flex: none; }
26
+ .masthead .link-icon { width: 16px; height: 16px; flex: none; }
27
+ .masthead a:focus-visible { outline: 3px solid #2a94fa; outline-offset: 4px; border-radius: 2px; }
28
+ .skip { position: fixed; left: 20px; top: -100px; padding: 8px 16px; background: #fff; z-index: 6; }
29
+ .skip:focus { top: 12px; }
30
+ @media (min-width: 641px) { html[data-help-embedded] .masthead { padding-right: 64px; } }
31
+ @media (max-width: 900px) {
32
+ .masthead { gap: 18px; }
33
+ }
34
+ .nav-menu { display: none; }
35
+ @media (max-width: 720px) {
36
+ html { --header-height: 61px; }
37
+ .masthead { flex-wrap: wrap; gap: 10px; padding-block: 10px; }
38
+ .masthead nav { display: contents; }
39
+ .masthead .brand { flex: none; }
40
+ .masthead nav a:not(.nav-github) { display: none; order: 3; flex-basis: 100%; min-height: 44px; padding-inline: 2px; border-top: 1px solid #e3ecf2; font-size: 16px; }
41
+ html[data-menu-open] .masthead nav a:not(.nav-github) { display: flex; }
42
+ .masthead nav .nav-github { order: 2; min-height: 40px; padding: 5px 12px; font-size: 14px; }
43
+ .nav-menu { order: 1; display: inline-flex; align-items: center; justify-content: center; gap: 4px; min-width: 0; max-width: 46%; min-height: 34px; margin-inline: auto; padding: 4px 10px 4px 14px; border: 0; border-radius: 999px; background: #233447; color: #fff; font: 600 13.5px/1.2 Inter, system-ui, -apple-system, sans-serif; cursor: pointer; }
44
+ .nav-menu span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
45
+ .nav-menu svg { flex: none; width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; transition: transform .15s; }
46
+ html[data-menu-open] .nav-menu svg { transform: scaleY(-1); }
47
+ .nav-menu:focus-visible { outline: 3px solid #2a94fa; outline-offset: 4px; }
48
+ }
49
+ @media (max-width: 440px) {
50
+ .masthead nav .nav-github { padding-inline: 9px; }
51
+ .masthead nav .nav-github .gh-label { display: none; }
52
+ }
53
+ @media (max-width: 640px) {
54
+ .shell { width: calc(100% - 36px); }
55
+ .masthead .brand { font-size: 21px; }
56
+ .masthead .brand-icon { width: 25px; height: 25px; }
57
+ }
58
+ @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
59
+ @media print {
60
+ .shell { width: 100%; }
61
+ .masthead { position: static; box-shadow: none; }
62
+ .masthead nav, .skip { display: none; }
63
+ }
@@ -0,0 +1,103 @@
1
+ (() => {
2
+ const root = document.documentElement;
3
+ const header = document.querySelector('.masthead');
4
+ const measureHeader = () => root.style.setProperty('--header-height', header.getBoundingClientRect().height + 'px');
5
+ measureHeader();
6
+ new ResizeObserver(measureHeader).observe(header);
7
+
8
+ const burger = header.querySelector('.nav-menu');
9
+ if (burger) {
10
+ const menu = state => {
11
+ root.toggleAttribute('data-menu-open', state);
12
+ burger.setAttribute('aria-expanded', String(state));
13
+ measureHeader();
14
+ };
15
+ burger.addEventListener('click', () => menu(!root.hasAttribute('data-menu-open')));
16
+ document.addEventListener('click', event => {
17
+ if (!root.hasAttribute('data-menu-open') || burger.contains(event.target)) return;
18
+ if (event.target.closest('a') || !event.target.closest('.masthead, .subnav')) menu(false);
19
+ });
20
+ document.addEventListener('keydown', event => {
21
+ if (event.key !== 'Escape' || !root.hasAttribute('data-menu-open')) return;
22
+ menu(false);
23
+ burger.focus();
24
+ });
25
+ matchMedia('(min-width: 721px)').addEventListener('change', event => event.matches && menu(false));
26
+ }
27
+
28
+ const story = document.querySelector('.feature-story');
29
+ if (!story) return;
30
+ const { gsap, ScrollTrigger } = window;
31
+ if (!gsap || !ScrollTrigger) throw new Error('The homepage requires scroll-vendor.js with GSAP and ScrollTrigger. Run pnpm generate:homepage.');
32
+
33
+ const steps = [...story.querySelectorAll('.story-step')];
34
+ const media = gsap.matchMedia();
35
+ const topInset = () => header.getBoundingClientRect().height + 24;
36
+ let refreshFrame = 0;
37
+ let resizeFrame = 0;
38
+ let initialLayout = true;
39
+ let readingStep = null;
40
+ let measuredWidth = innerWidth;
41
+ let measuredHeight = innerHeight;
42
+
43
+ const refresh = () => {
44
+ cancelAnimationFrame(refreshFrame);
45
+ refreshFrame = requestAnimationFrame(() => ScrollTrigger.refresh());
46
+ };
47
+ const alignHash = () => {
48
+ const target = document.getElementById(decodeURIComponent(location.hash.slice(1)));
49
+ if (target) target.scrollIntoView({ behavior: 'instant', block: 'start' });
50
+ };
51
+ const rememberPosition = () => {
52
+ if (innerWidth !== measuredWidth || innerHeight !== measuredHeight) return;
53
+ const bounds = story.querySelector('.story-layout').getBoundingClientRect();
54
+ readingStep = bounds.top < topInset() && bounds.bottom > topInset()
55
+ ? steps.reduce((current, step, index) => step.getBoundingClientRect().top < innerHeight / 2 ? index : current, 0)
56
+ : null;
57
+ };
58
+ const restorePosition = () => {
59
+ const index = readingStep;
60
+ ScrollTrigger.refresh();
61
+ if (!initialLayout && index !== null) steps[index].scrollIntoView({ behavior: 'instant', block: 'start' });
62
+ measuredWidth = innerWidth;
63
+ measuredHeight = innerHeight;
64
+ rememberPosition();
65
+ };
66
+
67
+ media.add('screen and (prefers-reduced-motion: no-preference) and (hover: hover)', () => {
68
+ root.setAttribute('data-homepage-motion', '');
69
+ gsap.fromTo(root, { '--reading-progress': 0 }, {
70
+ '--reading-progress': 1, ease: 'none',
71
+ scrollTrigger: { start: 0, end: () => ScrollTrigger.maxScroll(window), scrub: true }
72
+ });
73
+ gsap.to('[data-hero-copy]', {
74
+ y: -28, ease: 'none',
75
+ scrollTrigger: { trigger: '.hero', start: 'top top', end: 'bottom top', scrub: true }
76
+ });
77
+ document.querySelectorAll('.section-heading, .feature, .support, .developer-intro, .example-list').forEach(element => {
78
+ gsap.from(element, {
79
+ opacity: 0, y: 26, duration: .65, ease: 'power2.out',
80
+ scrollTrigger: { trigger: element, start: 'top 92%', once: true }
81
+ });
82
+ });
83
+ return () => root.removeAttribute('data-homepage-motion');
84
+ });
85
+
86
+ gsap.addEventListener('matchMedia', restorePosition);
87
+ window.addEventListener('scroll', rememberPosition, { passive: true });
88
+ window.addEventListener('resize', () => {
89
+ if (innerWidth === measuredWidth && innerWidth < 960) return;
90
+ cancelAnimationFrame(resizeFrame);
91
+ resizeFrame = requestAnimationFrame(restorePosition);
92
+ });
93
+ new ResizeObserver(refresh).observe(story.querySelector('.story-steps'));
94
+ new ResizeObserver(refresh).observe(header);
95
+ document.querySelectorAll('details').forEach(details => details.addEventListener('toggle', refresh));
96
+ window.addEventListener('pageshow', refresh);
97
+ document.fonts.ready.then(() => {
98
+ ScrollTrigger.refresh();
99
+ alignHash();
100
+ initialLayout = false;
101
+ rememberPosition();
102
+ });
103
+ })();