@shivaedev/create-app 0.4.1 → 0.4.2

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.2 - 2026-10-16
4
+
5
+ ### Fixed
6
+
7
+ - A generated app excludes `@shivaedev/*` from pnpm's release-age wait so framework releases can install immediately, while third-party packages keep pnpm's default wait.
8
+
3
9
  ## 0.4.1 - 2026-10-16
4
10
 
5
11
  ### Fixed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shivaedev/create-app",
3
- "version": "0.4.1",
3
+ "version": "0.4.2",
4
4
  "description": "Create and install a Platform application from the maintained starter",
5
5
  "homepage": "https://github.com/ShivaeDev/platform/tree/main/packages/create-app#readme",
6
6
  "bugs": {
@@ -41,7 +41,7 @@
41
41
  "devDependencies": {
42
42
  "@effect/platform-node": "4.0.4",
43
43
  "@effect/platform-node-shared": "4.0.4",
44
- "@shivaedev/quality": "0.21.1",
44
+ "@shivaedev/quality": "0.22.0",
45
45
  "@types/node": "24.19.1",
46
46
  "effect": "4.0.4",
47
47
  "esbuild": "0.28.2",
package/template.json CHANGED
@@ -1 +1 @@
1
- [{"content":"REFUQUJBU0VfVVJMPXBvc3RncmVzcWw6Ly9wb3N0Z3Jlczpwb3N0Z3Jlc0AxMjcuMC4wLjE6NTU0MzIvc3RhcnRlcl9kZXYKVEVTVF9EQVRBQkFTRV9VUkw9cG9zdGdyZXNxbDovL3Bvc3RncmVzOnBvc3RncmVzQDEyNy4wLjAuMTo1NTQzMi9zdGFydGVyX3Rlc3QKQkVUVEVSX0FVVEhfU0VDUkVUPXJlcGxhY2Utd2l0aC1hLXJhbmRvbS1zZWNyZXQtb2YtYXQtbGVhc3QtMzItY2hhcmFjdGVycwojIFBVQkxJQ19VUkw9aHR0cHM6Ly9hcHAuZXhhbXBsZQo=","path":".env.example"},{"content":"bmFtZTogQ0kKCm9uOgogIHB1c2g6CiAgcHVsbF9yZXF1ZXN0OgoKcGVybWlzc2lvbnM6CiAgY29udGVudHM6IHJlYWQKCmpvYnM6CiAgY2hlY2s6CiAgICBydW5zLW9uOiB1YnVudHUtbGF0ZXN0CiAgICB0aW1lb3V0LW1pbnV0ZXM6IDEwCiAgICBzZXJ2aWNlczoKICAgICAgcG9zdGdyZXM6CiAgICAgICAgaW1hZ2U6IHBvc3RncmVzOjE4CiAgICAgICAgZW52OgogICAgICAgICAgUE9TVEdSRVNfVVNFUjogcG9zdGdyZXMKICAgICAgICAgIFBPU1RHUkVTX1BBU1NXT1JEOiBwb3N0Z3JlcwogICAgICAgICAgUE9TVEdSRVNfREI6IGFwcF90ZXN0CiAgICAgICAgcG9ydHM6CiAgICAgICAgICAtIDU0MzI6NTQzMgogICAgICAgIG9wdGlvbnM6ID4tCiAgICAgICAgICAtLWhlYWx0aC1jbWQgcGdfaXNyZWFkeQogICAgICAgICAgLS1oZWFsdGgtaW50ZXJ2YWwgMTBzCiAgICAgICAgICAtLWhlYWx0aC10aW1lb3V0IDVzCiAgICAgICAgICAtLWhlYWx0aC1yZXRyaWVzIDUKICAgIGVudjoKICAgICAgVEVTVF9EQVRBQkFTRV9VUkw6IHBvc3RncmVzOi8vcG9zdGdyZXM6cG9zdGdyZXNAbG9jYWxob3N0OjU0MzIvYXBwX3Rlc3QKICAgIHN0ZXBzOgogICAgICAtIHVzZXM6IGFjdGlvbnMvY2hlY2tvdXRAM2QzYzQyZTVhYWM1YmE4MDU4MjVkYTc2NDEwYzE4MTI3M2JhOTBiMSAjIHY3CiAgICAgICAgd2l0aDoKICAgICAgICAgIHBlcnNpc3QtY3JlZGVudGlhbHM6IGZhbHNlCiAgICAgIC0gdXNlczogYWN0aW9ucy9zZXR1cC1ub2RlQDgyMDc2Mjc4NjAyNjc0MGM3NmYzNjA4NWIwZWZjNDdhMzFmZTUwMjAgIyB2NwogICAgICAgIHdpdGg6CiAgICAgICAgICBub2RlLXZlcnNpb246IDI0CiAgICAgICAgICBwYWNrYWdlLW1hbmFnZXItY2FjaGU6IGZhbHNlCiAgICAgIC0gdXNlczogcG5wbS9zZXR1cEBmYmRhNGM4NWZjMmUxZTA4NzIxY2Q4NzYzYWZlYThmNDhkNjBmMDI0ICMgdjMuMC4wCiAgICAgICAgd2l0aDoKICAgICAgICAgIGNhY2hlOiBmYWxzZQogICAgICAgICAgbm9kZS12ZXJzaW9uLWZpbGU6IGZhbHNlCiAgICAgIC0gcnVuOiBwbnBtIGluc3RhbGwgLS1mcm96ZW4tbG9ja2ZpbGUKICAgICAgLSBuYW1lOiBMaW50LCB0eXBlY2hlY2ssIGJ1aWxkIGFuZCB0ZXN0CiAgICAgICAgcnVuOiBwbnBtIHJ1biBjaQo=","path":".github/workflows/ci.yml"},{"content":"bm9kZV9tb2R1bGVzLwpkaXN0LwouZW52LmxvY2FsCmNvdmVyYWdlLwo=","path":".gitignore"},{"content":"aW1wb3J0IHsgY3JlYXRlUmFpbHdheUNvbnRleHQsIHByb2plY3QgfSBmcm9tICJyYWlsd2F5L2lhYyI7CmltcG9ydCB7IGV4cGVjdCwgaXQgfSBmcm9tICJ2aXRlc3QiOwppbXBvcnQgcmFpbHdheSBmcm9tICIuL3JhaWx3YXkudHMiOwoKaXQoImNvbmZpZ3VyZXMgd2ViIGFuZCB3b3JrZXIgd2l0aCBzaGFyZWQgYXV0aCBzZXR0aW5ncywgUG9zdGdyZVNRTCBhbmQgbWlncmF0aW9ucyBiZWZvcmUgc3RhcnQiLCBhc3luYyAoKSA9PiB7Cgljb25zdCBkZWZpbml0aW9uID0gYXdhaXQgcmFpbHdheShjcmVhdGVSYWlsd2F5Q29udGV4dCh7IHByb2plY3ROYW1lOiAibm90ZXMiIH0pLCBwcm9qZWN0KTsKCWV4cGVjdChkZWZpbml0aW9uLm5hbWUpLnRvQmUoIm5vdGVzIik7CglleHBlY3QoZGVmaW5pdGlvbi5yZXNvdXJjZXMpLnRvRXF1YWwoWwoJCWV4cGVjdC5vYmplY3RDb250YWluaW5nKHsgYWRkcmVzczogImRhdGFiYXNlLlBvc3RncmVzIiwgZW5naW5lOiAicG9zdGdyZXMiIH0pLAoJCWV4cGVjdC5vYmplY3RDb250YWluaW5nKHsKCQkJYWRkcmVzczogInNlcnZpY2Uud2ViIiwKCQkJYnVpbGQ6IHsgYnVpbGRDb21tYW5kOiAicG5wbSBidWlsZCIsIGJ1aWxkZXI6ICJSQUlMUEFDSyIgfSwKCQkJZGVwbG95OiB7CgkJCQloZWFsdGhjaGVja1BhdGg6ICIvaGVhbHRoIiwKCQkJCWhlYWx0aGNoZWNrVGltZW91dDogMTIwLAoJCQkJcHJlRGVwbG95Q29tbWFuZDogWyJwbnBtIG1pZ3JhdGUiXSwKCQkJCXN0YXJ0Q29tbWFuZDogInBucG0gc3RhcnQiLAoJCQl9LAoJCQl2YXJpYWJsZXM6IHsKCQkJCSJCRVRURVJfQVVUSF9TRUNSRVQiOiB7IG5hbWU6ICJCRVRURVJfQVVUSF9TRUNSRVQiLCB0eXBlOiAic2hhcmVkUmVmZXJlbmNlIiB9LAoJCQkJIkRBVEFCQVNFX1VSTCI6IHsgb3V0cHV0OiAiREFUQUJBU0VfVVJMIiwgcmVzb3VyY2U6ICJkYXRhYmFzZS5Qb3N0Z3JlcyIsIHR5cGU6ICJyZWZlcmVuY2UiIH0sCgkJCQkiSE9TVCI6IHsgdHlwZTogImxpdGVyYWwiLCB2YWx1ZTogIjAuMC4wLjAiIH0sCgkJCQkiUFVCTElDX1VSTCI6IHsgbmFtZTogIlBVQkxJQ19VUkwiLCB0eXBlOiAic2hhcmVkUmVmZXJlbmNlIiB9LAoJCQkJIlRSVVNURURfUFJPWFkiOiB7IHR5cGU6ICJsaXRlcmFsIiwgdmFsdWU6ICIxMDAuNjQuMC4wLzEwIiB9LAoJCQl9LAoJCX0pLAoJCWV4cGVjdC5vYmplY3RDb250YWluaW5nKHsKCQkJYWRkcmVzczogInNlcnZpY2Uud29ya2VyIiwKCQkJYnVpbGQ6IHsgYnVpbGRDb21tYW5kOiAicG5wbSBidWlsZCIsIGJ1aWxkZXI6ICJSQUlMUEFDSyIgfSwKCQkJZGVwbG95OiB7IHByZURlcGxveUNvbW1hbmQ6IFsicG5wbSBtaWdyYXRlIl0sIHN0YXJ0Q29tbWFuZDogInBucG0gd29ya2VyIiB9LAoJCQl2YXJpYWJsZXM6IHsKCQkJCSJCRVRURVJfQVVUSF9TRUNSRVQiOiB7IG5hbWU6ICJCRVRURVJfQVVUSF9TRUNSRVQiLCB0eXBlOiAic2hhcmVkUmVmZXJlbmNlIiB9LAoJCQkJIkRBVEFCQVNFX1VSTCI6IHsgb3V0cHV0OiAiREFUQUJBU0VfVVJMIiwgcmVzb3VyY2U6ICJkYXRhYmFzZS5Qb3N0Z3JlcyIsIHR5cGU6ICJyZWZlcmVuY2UiIH0sCgkJCQkiUFVCTElDX1VSTCI6IHsgbmFtZTogIlBVQkxJQ19VUkwiLCB0eXBlOiAic2hhcmVkUmVmZXJlbmNlIiB9LAoJCQl9LAoJCX0pLAoJXSk7Cn0pOwo=","path":".railway/railway.test.ts"},{"content":"aW1wb3J0IHsgZGVmaW5lUmFpbHdheSwgcG9zdGdyZXMsIHByb2plY3QsIHNlcnZpY2UgfSBmcm9tICJyYWlsd2F5L2lhYyI7CgpleHBvcnQgZGVmYXVsdCBkZWZpbmVSYWlsd2F5KChjdHgpID0+IHsKCWNvbnN0IGRhdGFiYXNlID0gcG9zdGdyZXMoIlBvc3RncmVzIik7Cgljb25zdCB3ZWIgPSBzZXJ2aWNlKCJ3ZWIiLCB7CgkJYnVpbGQ6IHsgYnVpbGRDb21tYW5kOiAicG5wbSBidWlsZCIsIGJ1aWxkZXI6ICJSQUlMUEFDSyIgfSwKCQllbnY6IHsKCQkJIkJFVFRFUl9BVVRIX1NFQ1JFVCI6IGN0eC5zaGFyZWQuQkVUVEVSX0FVVEhfU0VDUkVULAoJCQkiREFUQUJBU0VfVVJMIjogZGF0YWJhc2UuZW52LkRBVEFCQVNFX1VSTCwKCQkJIkhPU1QiOiAiMC4wLjAuMCIsCgkJCSJQVUJMSUNfVVJMIjogY3R4LnNoYXJlZC5QVUJMSUNfVVJMLAoJCQkiVFJVU1RFRF9QUk9YWSI6ICIxMDAuNjQuMC4wLzEwIiwKCQl9LAoJCWhlYWx0aGNoZWNrOiAiL2hlYWx0aCIsCgkJaGVhbHRoY2hlY2tUaW1lb3V0OiAxMjAsCgkJcHJlRGVwbG95OiAicG5wbSBtaWdyYXRlIiwKCQlzdGFydDogInBucG0gc3RhcnQiLAoJfSk7Cgljb25zdCB3b3JrZXIgPSBzZXJ2aWNlKCJ3b3JrZXIiLCB7CgkJYnVpbGQ6IHsgYnVpbGRDb21tYW5kOiAicG5wbSBidWlsZCIsIGJ1aWxkZXI6ICJSQUlMUEFDSyIgfSwKCQllbnY6IHsKCQkJIkJFVFRFUl9BVVRIX1NFQ1JFVCI6IGN0eC5zaGFyZWQuQkVUVEVSX0FVVEhfU0VDUkVULAoJCQkiREFUQUJBU0VfVVJMIjogZGF0YWJhc2UuZW52LkRBVEFCQVNFX1VSTCwKCQkJIlBVQkxJQ19VUkwiOiBjdHguc2hhcmVkLlBVQkxJQ19VUkwsCgkJfSwKCQlwcmVEZXBsb3k6ICJwbnBtIG1pZ3JhdGUiLAoJCXN0YXJ0OiAicG5wbSB3b3JrZXIiLAoJfSk7CglyZXR1cm4gcHJvamVjdChjdHgucHJvamVjdE5hbWUgPz8gImFwcCIsIHsgcmVzb3VyY2VzOiBbZGF0YWJhc2UsIHdlYiwgd29ya2VyXSB9KTsKfSk7Cg==","path":".railway/railway.ts"},{"content":"IyBTdGFydGVyIGFwcGxpY2F0aW9uCgpUaGlzIHByaXZhdGUgYXBwbGljYXRpb24gaXMgdGhlIHNvdXJjZSB0ZW1wbGF0ZSB0aGF0IGBAc2hpdmFlZGV2L2NyZWF0ZS1hcHBgIHBhY2thZ2VzIGZvciBuZXcgUGxhdGZvcm0gYXBwcy4gS2VlcCBpdCBzbWFsbCBlbm91Z2ggdG8gdW5kZXJzdGFuZCBpbiBvbmUgc2l0dGluZzogb25lIGRvbWFpbiB0YWJsZSwgYW4gYXV0aGVudGljYXRlZCBub3RlcyB3b3JrZmxvdyBhbmQgYSBzaWduLWluIHNjcmVlbi4gQmV0dGVyIEF1dGggb3ducyBpdHMgYWNjb3VudCBhbmQgc2Vzc2lvbiB0YWJsZXM7IHRoZSBzdGFydGVyJ3MgbnVtYmVyZWQgbWlncmF0aW9uIHBhdGggY3JlYXRlcyB0aGVtLiBQcmVmZXIgbmF0aXZlIEVmZmVjdCBjb21wb3NpdGlvbiBhbmQgdGhlIGZyYW1ld29yaydzIGV4aXN0aW5nIHBhdGggb3ZlciBoZWxwZXJzIHRoYXQgb2JzY3VyZSBpdC4KClRoZSBhcHBsaWNhdGlvbiBvd25zIGl0cyBVSSBhbmQgbG9jYWwgc2Vzc2lvbiBwb2xpY3kuIFNoYXJlZCBkZWNsYXJhdGlvbnMgc3RheSBicm93c2VyIHNhZmU7IFBvc3RncmVTUUwsIHNlcnZpY2VzIGFuZCB0aGUgYXBwIGhvc3Qgc3RheSBvbiB0aGUgc2VydmVyLiBLZWVwIHRoZSBwbnBtIGNhdGFsb2cgYW5kIFR5cGVTY3JpcHQgY29uZmlndXJhdGlvbiBzZWxmLWNvbnRhaW5lZCBzbyBnZW5lcmF0aW5nIHRoZSBhcHAgZG9lcyBub3QgcmVxdWlyZSByZXBvc2l0b3J5IGZpbGVzLgoKVXNlIHRoZSByb290IHJlcG9zaXRvcnkgZ3VpZGFuY2Ugd2hpbGUgZGV2ZWxvcGluZyB0aGlzIHRlbXBsYXRlLiBUaGUgW3F1aWNrc3RhcnRdKGh0dHBzOi8vZ2l0aHViLmNvbS9TaGl2YWVEZXYvcGxhdGZvcm0vYmxvYi9tYWluL2RvY3MvZnJhbWV3b3JrL3F1aWNrc3RhcnQubWQpIGV4cGxhaW5zIGNyZWF0aW5nIGFuZCBydW5uaW5nIHRoZSBhcHAuIEEgc2VydmVyIGNoYW5nZSBuZWVkcyB0aGUgcmVhbCBQb3N0Z3JlU1FMIHJvdW5kLXRyaXAgdGVzdDsgYSBmb3JtIGNoYW5nZSBuZWVkcyBpdHMgaGFwcHktZG9tIHRlc3QuCgpXcml0ZSBuZXcgdGVzdHMgYXMgc3RvcmllcyBvbiB0aGUga2l0cyBpbiBgc3JjL3Rlc3Qtc3VwcG9ydC9gOiBgYXBwbGljYXRpb24udHNgIGZvciByZWFsIFBvc3RncmVTUUwgYW5kIEhUVFAsIGBzY3JlZW5zLnRzYCBmb3IgZm9jdXNlZCBoYXBweS1kb20gYmVoYXZpb3IsIGFuZCBgbWlncmF0aW9uLnRzYCBmb3Igc2NoZW1hIHVwZ3JhZGVzLiBBZGQgZG9tYWluIHRyYWl0cyBhbmQgdmVyYnMgdG8gdGhlIGtpdCBpbnN0ZWFkIG9mIGJ1aWxkaW5nIGhvc3RzLCBwcm94aWVzLCBzZXNzaW9ucyBvciByZXF1ZXN0cyBpbmxpbmUgaW4gc3BlY3MuIEtlZXAgaW5mcmFzdHJ1Y3R1cmUgc2NvcGVkLCB1c2UgYSBsaXZlIGNsb2NrIGZvciBIVFRQIGFuZCBET00gc3RvcmllcywgYW5kIHJldGFpbiBpbmRlcGVuZGVudCBTUUwgYXNzZXJ0aW9ucyB3aGVyZSBwZXJzaXN0ZW5jZSBpcyB0aGUgYmVoYXZpb3IuIFNlZSB0aGUgUkVBRE1FIGZvciB0aGUgc21hbGxlc3Qgc3RvcnkuCg==","path":"AGENTS.md"},{"content":"IyBTdGFydGVyIGFwcGxpY2F0aW9uCgpUaGlzIHByaXZhdGUgYXBwbGljYXRpb24gaXMgdGhlIHNvdXJjZSB0ZW1wbGF0ZSB0aGF0IGBAc2hpdmFlZGV2L2NyZWF0ZS1hcHBgIHBhY2thZ2VzIGZvciBuZXcgUGxhdGZvcm0gYXBwcy4gS2VlcCBpdCBzbWFsbCBlbm91Z2ggdG8gdW5kZXJzdGFuZCBpbiBvbmUgc2l0dGluZzogb25lIGRvbWFpbiB0YWJsZSwgYW4gYXV0aGVudGljYXRlZCBub3RlcyB3b3JrZmxvdyBhbmQgYSBzaWduLWluIHNjcmVlbi4gQmV0dGVyIEF1dGggb3ducyBpdHMgYWNjb3VudCBhbmQgc2Vzc2lvbiB0YWJsZXM7IHRoZSBzdGFydGVyJ3MgbnVtYmVyZWQgbWlncmF0aW9uIHBhdGggY3JlYXRlcyB0aGVtLiBQcmVmZXIgbmF0aXZlIEVmZmVjdCBjb21wb3NpdGlvbiBhbmQgdGhlIGZyYW1ld29yaydzIGV4aXN0aW5nIHBhdGggb3ZlciBoZWxwZXJzIHRoYXQgb2JzY3VyZSBpdC4KClRoZSBhcHBsaWNhdGlvbiBvd25zIGl0cyBVSSBhbmQgbG9jYWwgc2Vzc2lvbiBwb2xpY3kuIFNoYXJlZCBkZWNsYXJhdGlvbnMgc3RheSBicm93c2VyIHNhZmU7IFBvc3RncmVTUUwsIHNlcnZpY2VzIGFuZCB0aGUgYXBwIGhvc3Qgc3RheSBvbiB0aGUgc2VydmVyLiBLZWVwIHRoZSBwbnBtIGNhdGFsb2cgYW5kIFR5cGVTY3JpcHQgY29uZmlndXJhdGlvbiBzZWxmLWNvbnRhaW5lZCBzbyBnZW5lcmF0aW5nIHRoZSBhcHAgZG9lcyBub3QgcmVxdWlyZSByZXBvc2l0b3J5IGZpbGVzLgoKVXNlIHRoZSByb290IHJlcG9zaXRvcnkgZ3VpZGFuY2Ugd2hpbGUgZGV2ZWxvcGluZyB0aGlzIHRlbXBsYXRlLiBUaGUgW3F1aWNrc3RhcnRdKGh0dHBzOi8vZ2l0aHViLmNvbS9TaGl2YWVEZXYvcGxhdGZvcm0vYmxvYi9tYWluL2RvY3MvZnJhbWV3b3JrL3F1aWNrc3RhcnQubWQpIGV4cGxhaW5zIGNyZWF0aW5nIGFuZCBydW5uaW5nIHRoZSBhcHAuIEEgc2VydmVyIGNoYW5nZSBuZWVkcyB0aGUgcmVhbCBQb3N0Z3JlU1FMIHJvdW5kLXRyaXAgdGVzdDsgYSBmb3JtIGNoYW5nZSBuZWVkcyBpdHMgaGFwcHktZG9tIHRlc3QuCgpXcml0ZSBuZXcgdGVzdHMgYXMgc3RvcmllcyBvbiB0aGUga2l0cyBpbiBgc3JjL3Rlc3Qtc3VwcG9ydC9gOiBgYXBwbGljYXRpb24udHNgIGZvciByZWFsIFBvc3RncmVTUUwgYW5kIEhUVFAsIGBzY3JlZW5zLnRzYCBmb3IgZm9jdXNlZCBoYXBweS1kb20gYmVoYXZpb3IsIGFuZCBgbWlncmF0aW9uLnRzYCBmb3Igc2NoZW1hIHVwZ3JhZGVzLiBBZGQgZG9tYWluIHRyYWl0cyBhbmQgdmVyYnMgdG8gdGhlIGtpdCBpbnN0ZWFkIG9mIGJ1aWxkaW5nIGhvc3RzLCBwcm94aWVzLCBzZXNzaW9ucyBvciByZXF1ZXN0cyBpbmxpbmUgaW4gc3BlY3MuIEtlZXAgaW5mcmFzdHJ1Y3R1cmUgc2NvcGVkLCB1c2UgYSBsaXZlIGNsb2NrIGZvciBIVFRQIGFuZCBET00gc3RvcmllcywgYW5kIHJldGFpbiBpbmRlcGVuZGVudCBTUUwgYXNzZXJ0aW9ucyB3aGVyZSBwZXJzaXN0ZW5jZSBpcyB0aGUgYmVoYXZpb3IuIFNlZSB0aGUgUkVBRE1FIGZvciB0aGUgc21hbGxlc3Qgc3RvcnkuCg==","path":"CLAUDE.md"},{"content":"IyBAc2hpdmFlZGV2L3N0YXJ0ZXIKCkEgc21hbGwgbm90ZXMgYXBwIHNob3dpbmcgUGxhdGZvcm0ncyBwYXRoIGZyb20gYSBtaWdyYXRlZCBQb3N0Z3JlU1FMIHRhYmxlIHRocm91Z2ggUlBDIHRvIGEgUmVhY3QgZm9ybS4gQ3JlYXRlIHlvdXIgb3duIGFwcGxpY2F0aW9uIHdpdGggYHBucG0gY3JlYXRlIEBzaGl2YWVkZXYvYXBwIG15LWFwcGAuCgpgYGB0c3gKY29uc3QgcXVlcnkgPSB1c2VRdWVyeShjbGllbnQuYXBpLmxpc3QucXVlcnkoKSk7CmBgYAoKVGhlIGF1dGhlbnRpY2F0ZWQgcm91dGUgbG9hZGVycyBhbmQgc2NyZWVucyBzaGFyZSB0aGUgc2FtZSBuYXRpdmUgcXVlcnkgcmVnaXN0cnkuIENyZWF0ZSBhIG5vdGUsIG9wZW4gaXRzIHRpdGxlIHRvIGVkaXQgaXQsIG9yIGRlbGV0ZSBpdCBhbmQgcmV0dXJuIHRvIHRoZSByZWZyZXNoZWQgbGlzdC4gQmV0dGVyIEF1dGggc3VwcGxpZXMgc2lnbnVwLCBzaWduLWluIGFuZCBzaWduLW91dDsgZWFjaCBhY2NvdW50IHNlZXMgaXRzIG93biBub3Rlcy4KClRoZSBgL25vdGVzLyRub3RlSWRgIHJvdXRlIHBhcnNlcyBhIG51bWVyaWMgSUQgYW5kIGxvYWRzIGBub3Rlcy5nZXRgIHRocm91Z2ggYGxvYWRRdWVyeWAuIEl0cyBmb3JtIHVzZXMgYHVzZUVkaXRvcmA6IGEgbGl2ZSByZWZyZXNoIGtlZXBzIGVkaXRlZCBmaWVsZHMsIGEgcmVqZWN0ZWQgc2F2ZSBrZWVwcyB0aGUgaW5wdXQsIGFuZCBhIHN1Y2Nlc3NmdWwgc2F2ZSBhcHBsaWVzIHRoZSByZXR1cm5lZCB0aXRsZS4gVXBkYXRlcyBhbmQgZGVsZXRlcyBzZW5kIHRoZSB2ZXJzaW9uIHRoZSBjbGllbnQgcmVhZC4gQSBzdGFsZSB2ZXJzaW9uIHJldHVybnMgUGxhdGZvcm0ncyBgQ29uZmxpY3RgIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHJvdzsgcmVmcmVzaCBhbmQgcmV2aWV3IHRoZSByZXRhaW5lZCBkcmFmdCBiZWZvcmUgc2F2aW5nIGFnYWluLiBBbm90aGVyIGFjY291bnQgcmVjZWl2ZXMgYE5vdEZvdW5kYCBmb3IgYW4gaW5kaXZpZHVhbCBub3RlLiBUaGUgd29yZC1jb3VudCB3b3JrZXIgdXNlcyB0aGUgc2FtZSB2ZXJzaW9uZWQgbm90ZXMgcmVwb3NpdG9yeSBhbmQgcmVjYWxjdWxhdGVzIHRoZSBjb3VudCBhZnRlciBhbiBlZGl0LgoKIyMgQ3JlYXRlIG9yIHJ1biBpdAoKRm9sbG93IHRoZSBbcXVpY2tzdGFydF0oaHR0cHM6Ly9naXRodWIuY29tL1NoaXZhZURldi9wbGF0Zm9ybS9ibG9iL21haW4vZG9jcy9mcmFtZXdvcmsvcXVpY2tzdGFydC5tZCkuIEdlbmVyYXRlZCBhcHBzIGFscmVhZHkgaGF2ZSBhIGdpdC1pZ25vcmVkIGAuZW52LmxvY2FsYCB3aXRoIGEgZnJlc2ggYXV0aGVudGljYXRpb24gc2VjcmV0IGFuZCBkZXZlbG9wbWVudCBhbmQgdGVzdCBkYXRhYmFzZSBVUkxzLiBJbiB0aGlzIHJlcG9zaXRvcnksIHJ1biBgLi9zY3JpcHQvdXBkYXRlYCBhdCB0aGUgcm9vdCwgY29weSBgLmVudi5leGFtcGxlYCB0byBgLmVudi5sb2NhbGAgaGVyZSwgYW5kIHJlcGxhY2UgdGhlIGV4YW1wbGUgc2VjcmV0IHdpdGggdGhlIG91dHB1dCBvZiBgb3BlbnNzbCByYW5kIC1iYXNlNjQgMzJgLiBSdW4gYHBucG0gZGV2YCBhbmQgb3BlbiBgaHR0cDovLzEyNy4wLjAuMTo1MTczYC4KCmBwbnBtIGRldmAgZmlyc3QgcnVucyBgcG5wbSBkYjpzZXR1cGAsIHdoaWNoIHByZXBhcmVzIGJvdGggbG9jYWwgZGF0YWJhc2VzIHRocm91Z2ggYEBzaGl2YWVkZXYvbG9jYWwtcG9zdGdyZXNgLiBIYXZlIFBvc3RncmVTUUwgMTguNiBvbiBsb29wYmFjayBwb3J0IDU1NDMyIG9yIGxvY2FsIERvY2tlciBhdmFpbGFibGUuIFJ1biBgcG5wbSBkYjpzZXR1cGAgc2VwYXJhdGVseSB0byBwcmVwYXJlIGRhdGFiYXNlcyB3aXRob3V0IHN0YXJ0aW5nIHRoZSBhcHAuCgpUaGUgYXBwIHVzZXMgVGFpbHdpbmQncyBuZXV0cmFsIHNoYWRjbiB0aGVtZSBhbmQgYXBwbGljYXRpb24tb3duZWQgYEJ1dHRvbmAgYW5kIGBJbnB1dGAgY29tcG9uZW50cy4gU2VydmVyIGVudHJ5IHBvaW50cyBhcmUgaW4gYHNyYy9zZXJ2ZXJgOyB0aGUgc2hhcmVkIGNvbnRyYWN0IGlzIGBzcmMvbm90ZXMudHNgOyB0aGUgYnJvd3NlciBzdGFydHMgaW4gYHNyYy9jbGllbnQvZW50cnkudHN4YC4KCmBwbnBtIGJ1aWxkICYmIHBucG0gc3RhcnRgIHNlcnZlcyB0aGUgYnVpbHQgVUksIEJldHRlciBBdXRoIGVuZHBvaW50cyBhbmQgSFRUUC9OREpTT04gUlBDIHRvZ2V0aGVyIGF0IGBodHRwOi8vMTI3LjAuMC4xOjMwMDBgLiBTZXQgYERBVEFCQVNFX1VSTGAgYW5kIGBCRVRURVJfQVVUSF9TRUNSRVRgIGluIGAuZW52LmxvY2FsYCBvciB0aGUgc2hlbGwuIFRoZSBzZWNyZXQgbmVlZHMgYXQgbGVhc3QgMzIgcmFuZG9tIGNoYXJhY3RlcnM7IGdlbmVyYXRlIG9uZSB3aXRoIGBvcGVuc3NsIHJhbmQgLWJhc2U2NCAzMmAuIEZvciBob3N0aW5nIGJlaGluZCBhIHByb3h5LCBmb2xsb3cgdGhlIHF1aWNrc3RhcnQncyBbRGVwbG95IHNlY3Rpb25dKGh0dHBzOi8vZ2l0aHViLmNvbS9TaGl2YWVEZXYvcGxhdGZvcm0vYmxvYi9tYWluL2RvY3MvZnJhbWV3b3JrL3F1aWNrc3RhcnQubWQjZGVwbG95KSwgc2V0dGluZyBgUFVCTElDX1VSTGAgdG8geW91ciBwdWJsaWMgYXBwIFVSTC4KCmBUUlVTVEVEX1BST1hZYCBjb250cm9scyBib3RoIHRoZSBob3N0J3MgZm9yd2FyZGVkIGF1dGhvcml0eSBhbmQgQmV0dGVyIEF1dGgncyBjbGllbnQgSVBzIGZvciBhdXRoIHJhdGUgbGltaXRpbmcuIEF1dGggYWNjZXB0cyBgWC1Gb3J3YXJkZWQtRm9yYCBvbmx5IGZyb20gYSBtYXRjaGluZyB0cmFuc3BvcnQgcGVlciBhbmQgbGV0cyBCZXR0ZXIgQXV0aCByZXNvbHZlIHRoZSBmb3J3YXJkZWQgY2hhaW4gd2l0aCB0aGUgc2FtZSB0cnVzdGVkIHByb3h5IGFkZHJlc3NlcyBhbmQgcmFuZ2VzLiBUaGUgcHJveHkgbXVzdCBvdmVyd3JpdGUgdGhlIGhlYWRlciBvciBhcHBlbmQgdGhlIGFjdHVhbCBjbGllbnQgSVAuIFdoZW4gYFRSVVNURURfUFJPWFlgIGlzIHVuc2V0LCBhdXRoIGlnbm9yZXMgZm9yd2FyZGVkIElQIGhlYWRlcnM7IGluIHByb2R1Y3Rpb24gQmV0dGVyIEF1dGggd2FybnMgYW5kIHNoYXJlcyBvbmUgcmF0ZS1saW1pdCBidWNrZXQgcGVyIHBhdGggYWNyb3NzIHZpc2l0b3JzLgoKQSBnZW5lcmF0ZWQgYXBwIHJ1bnMgYHBucG0gcnVuIHNldHVwYCBiZWZvcmUgaXRzIGZpcnN0IGNvbW1pdDogZGVwZW5kZW5jaWVzIGFuZCBRdWFsaXR5J3MgcHJlLWNvbW1pdCBob29rIGFyZSBpbnN0YWxsZWQsIGFuZCB0aGUgY29tbWl0IHJ1bnMgbGludCBhbmQgdHlwZWNoZWNrLiBBZnRlciBjbG9uaW5nIHRoZSBnZW5lcmF0ZWQgcmVwb3NpdG9yeSwgcnVuIGBwbnBtIHJ1biBzZXR1cGAgYWdhaW4gZm9yIHRoYXQgY2hlY2tvdXQuIFNldHVwIGluc3RhbGxzIGEgaG9vayBvbmx5IHdoZW4gdGhlIGFwcCBoYXMgaXRzIG93biBgLmdpdGA7IGl0IGxlYXZlcyBhbiBlbmNsb3NpbmcgcmVwb3NpdG9yeSdzIGhvb2tzIGFsb25lLiBSdW4gYHBucG0gcmVhZHlgIGZvciB0aGUgZnVsbCBsb2NhbCBnYXRlLiBJdCB1c2VzIHRoZSBzYW1lIGxpbnQsIHR5cGVjaGVjaywgYnVpbGQgYW5kIHRlc3Qgc2NyaXB0IGFzIGAuZ2l0aHViL3dvcmtmbG93cy9jaS55bWxgIGFuZCB0aGUgcHVibGlzaGVkLXN0YXJ0ZXIgY2hlY2ssIHdpdGggUG9zdGdyZVNRTCBiYWNraW5nIHRoZSB0ZXN0cy4gVGhlIFJhaWx3YXkgQ0xJIGFwcGxpZXMgYC5yYWlsd2F5L3JhaWx3YXkudHNgIHRvIGNvbmZpZ3VyZSBQb3N0Z3JlU1FMLCB3ZWIgYW5kIHdvcmtlciBzZXJ2aWNlcy4gQm90aCBzZXJ2aWNlcyBidWlsZCBhbmQgcnVuIGBwbnBtIG1pZ3JhdGVgIGJlZm9yZSBkZXBsb3ltZW50OyB0aGUgd2ViIHNlcnZpY2Ugc3RhcnRzIEhUVFAgYW5kIGNoZWNrcyBgL2hlYWx0aGAsIHdoaWxlIHRoZSB3b3JrZXIgc3RhcnRzIGBwbnBtIHdvcmtlcmAuIEZvbGxvdyB0aGUgcXVpY2tzdGFydCB0byBwbGFuIGFuZCBhcHBseSB0aGUgY29uZmlndXJhdGlvbiwgY29ubmVjdCB0aGUgcmVwb3NpdG9yeSBhbmQgZGVwbG95IGJvdGggc2VydmljZXMuCgpUaGUgc3RhcnRlcidzIG51bWJlcmVkIG1pZ3JhdGlvbiBwYXRoIGNyZWF0ZXMgQmV0dGVyIEF1dGgncyB0YWJsZXMgd2l0aCBgZ2V0TWlncmF0aW9ucyhhdXRoLm9wdGlvbnMpYCBmb2xsb3dlZCBieSBgcnVuTWlncmF0aW9ucygpYC4gTm8gc2VwYXJhdGUgYXV0aCBtaWdyYXRpb24gY29tbWFuZCBpcyBuZWVkZWQuIFByb3RlY3RlZCBvcGVyYXRpb25zIGRlY2xhcmUgYEF1dGhlbnRpY2F0ZWRVc2VyYDsgYGF1dGhlbnRpY2F0ZWRVc2VyTGF5ZXIoc2Vzc2lvbnMpYCBzdXBwbGllcyBgU2Vzc2lvblVzZXJgIGZyb20gdGhlIGBiZXR0ZXJBdXRoU2Vzc2lvbnNgIHByb3ZpZGVyLiBOb3RlIGhhbmRsZXJzIHVzZSBpdHMgaWQgZm9yIG93bmVyc2hpcCwgYW5kIGBub3Rlcy53aG9hbWlgIHJldHVybnMgaWQsIG5hbWUgYW5kIGVtYWlsIHdpdGhvdXQgcXVlcnlpbmcgYXV0aCB0YWJsZXM7IHNpZ25lZC1vdXQgY2FsbHMgcmV0dXJuIHR5cGVkIGBVbmF1dGhvcml6ZWRgIGZhaWx1cmVzLiBUaGUgVUkgc2hvd3MgYSBzaWduLWluIHByb21wdCwgYW5kIGBTZXNzaW9uQm91bmRhcnlgIHJlcGxhY2VzIGNhY2hlZCBxdWVyaWVzIGFuZCBkcmFmdHMgd2hlbiB0aGUgc2Vzc2lvbiBjaGFuZ2VzLgoKVGhlIGJyb3dzZXIgZW50cnkgcG9pbnQgY3JlYXRlcyBgbWFrZUF1dGgoeyBiYXNlVXJsIH0pYCBhbmQgc3VwcGxpZXMgaXQgdG8gYEFwcGAuIFNlc3Npb24gY2hlY2tpbmcgYW5kIGF1dGggYWN0aW9ucyB1c2UgdGhhdCBpbnN0YW5jZS4gU3RvcmllcyBjYW4gY3JlYXRlIGFuIGF1dGggY2xpZW50IGZvciB0aGVpciBvd24gSFRUUCBob3N0IHdpdGggdGhlIGFwcGxpY2F0aW9uIGtpdOKAmXMgYGF1dGhDbGllbnQoKWAgdmVyYi4KClRoZSBUeXBlU2NyaXB0IGNvbmZpZ3VyYXRpb24ga2VlcHMgc3RyaWN0IGFwcGxpY2F0aW9uIGNoZWNraW5nIGFuZCBzZXRzIGBza2lwTGliQ2hlY2s6IHRydWVgIGZvciBkZXBlbmRlbmNpZXMgdGhhdCBkZWNsYXJlIHVudXNlZCBydW50aW1lIHR5cGVzLiBFeGlzdGluZyBub3RlcyBmcm9tIHRoZSB1bmF1dGhlbnRpY2F0ZWQgc3RhcnRlciBoYXZlIG5vIGFjY291bnQgb3duZXIgYW5kIGFyZSBub3Qgc2hvd24gdG8gc2lnbmVkLWluIHVzZXJzLgoKV3JpdGUgbmV3IHRlc3RzIGFzIHN0b3JpZXMuIFRoZSBraXQgaW4gW2BzcmMvdGVzdC1zdXBwb3J0L2FwcGxpY2F0aW9uLnRzYF0oc3JjL3Rlc3Qtc3VwcG9ydC9hcHBsaWNhdGlvbi50cykgb3ducyBhIGRpc3Bvc2FibGUgUG9zdGdyZVNRTCBkYXRhYmFzZSBhbmQgdGhlIHJlYWwgSFRUUCBhcHAgaG9zdC4gVHJhaXRzIHN1Y2ggYXMgYHNpZ25lZEluKClgLCBgbGVnYWN5Tm90ZSh0aXRsZSlgIGFuZCBgYmVoaW5kUHJveHkoKWAgZGVzY3JpYmUgc2V0dXA7IHZlcmJzIGRyaXZlIGF1dGhlbnRpY2F0ZWQgbm90ZXMgcmVxdWVzdHMsIHJlcnVuIG1pZ3JhdGlvbnMgdGhyb3VnaCBhbm90aGVyIGhvc3QgYW5kIHN0YXJ0IHRoZSB3b3JkLWNvdW50IHdvcmtlci4gRXh0ZW5kIHRoZSBraXQgd2l0aCBhIHRyYWl0IG9yIHZlcmIgd2hlbiBhIGZlYXR1cmUgbmVlZHMgYW5vdGhlciBzZXR1cCBvciBhY3Rpb24uCgpgYGB0cwppbXBvcnQgeyBleHBlY3QgfSBmcm9tICJ2aXRlc3QiOwppbXBvcnQgeyBhcHAsIHNpZ25lZEluIH0gZnJvbSAiI3Rlc3Qtc3VwcG9ydC9hcHBsaWNhdGlvbi50cyI7CgphcHAuaXQoInNhdmVzIGEgdGl0bGUgZm9yIHRoZSBzaWduZWQtaW4gYWNjb3VudCIsIFtzaWduZWRJbigpXSwgZnVuY3Rpb24qICh7IGFjdG9yIH0pIHsKIGNvbnN0IG5vdGVzID0gYWN0b3IoKS5ub3RlczsKIGNvbnN0IHNhdmVkID0geWllbGQqIG5vdGVzLmNyZWF0ZSh7IHRpdGxlOiAiRmlyc3Qgbm90ZSIgfSk7CiBleHBlY3QoeWllbGQqIG5vdGVzLmxpc3QoKSkudG9FcXVhbChbc2F2ZWRdKTsKfSk7CmBgYAoKVGhlIGtpdCB1c2VzIGBAc2hpdmFlZGV2L3Rlc3Qtc3RvcnlgIG9uIGBlZmZlY3QtdGVzdGAuIERhdGFiYXNlIHN0b3JpZXMgcnVuIHNlcmlhbGx5IHdpdGhpbiBlYWNoIHdvcmtlciwgdXNlIGEgbGl2ZSBjbG9jaywgY29tbWl0IEhUVFAgd3JpdGVzIGFuZCBkaXNwb3NlIHRoZWlyIGRhdGFiYXNlIGNsb25lcyBhZnRlciB0aGUgaG9zdCBhbmQgcG9vbHMgY2xvc2UuIEZhaWx1cmVzIHByaW50IHRoZSBzdG9yeSBhbmQgYWNjb3VudCBhbGlhc2VzIGFuZCBob3N0IGRldGFpbHMsIHdpdGhvdXQgc2Vzc2lvbiBjb29raWVzLiBUaGUgZGVwbG95IHN0b3J5IHVzZXMgYSBsb29wYmFjayBwcm94eSB3aXRoIEhUVFBTIGZvcndhcmRpbmcgaGVhZGVycyBhbmQgY2hlY2tzIHNlY3VyZSBzZXNzaW9uIGNvb2tpZXMgYW5kIGZvcmVpZ24tb3JpZ2luIHJlamVjdGlvbi4gSXQgZG9lcyBub3QgZXhlcmNpc2UgYSBicm93c2VyIG9yIFRMUyB0ZXJtaW5hdGlvbi4gW2BzcmMvdGVzdC1zdXBwb3J0L3NjcmVlbnMudHNgXShzcmMvdGVzdC1zdXBwb3J0L3NjcmVlbnMudHMpIHN1cHBsaWVzIHRoZSBzZXBhcmF0ZSBoYXBweS1kb20gc3Rvcnkga2l0OyB0aG9zZSBzdG9yaWVzIHVzZSB0aGUgaW4tbWVtb3J5IFJQQyBmaXh0dXJlIHRvIHByb3ZlIHNjcmVlbiBhbmQgZm9ybSBiZWhhdmlvci4gW2BzcmMvdGVzdC1zdXBwb3J0L21pZ3JhdGlvbi50c2BdKHNyYy90ZXN0LXN1cHBvcnQvbWlncmF0aW9uLnRzKSBpc29sYXRlcyB0aGUgbWlncmF0aW9uIHVwZ3JhZGUgc3Rvcnkgd2l0aG91dCBzdGFydGluZyBhIGhvc3QuCgpgcG5wbSB0ZXN0YCBsb2FkcyBgLmVudi5sb2NhbGAgYW5kIHJ1bnMgdGhlIFJlYWN0IHRlc3RzLCB0aGUgUG9zdGdyZVNRTC9IVFRQIHJvdW5kIHRyaXBzIGFuZCB0aGUgbm90ZXMgbWlncmF0aW9uIHVwZ3JhZGUgY2hlY2suIFRoZSB1cGdyYWRlIGNoZWNrIGFwcGxpZXMgYW4gb2xkZXIgbWlncmF0aW9uIHByZWZpeCwgdXBncmFkZXMgdG8gdGhlIGxhdGVzdCBtaWdyYXRpb25zLCBhbmQgY29tcGFyZXMgdGhlIGxpdmUgY29sdW1uIG5hbWVzIGFuZCBQb3N0Z3JlU1FMIHR5cGVzIHdpdGggdGhlIG5vdGVzIHJlcG9zaXRvcnkgbW9kZWwuIFNldCBgVEVTVF9EQVRBQkFTRV9VUkxgIHRvIGEgZGVkaWNhdGVkIFBvc3RncmVTUUwgZGF0YWJhc2Ugd2hvc2Ugcm9sZSBjYW4gY3JlYXRlIGRhdGFiYXNlczsgdGhlIHRlc3RzIGNyZWF0ZSBkaXNwb3NhYmxlIGNsb25lcy4gUmVwb3NpdG9yeSB0ZXN0IHJ1bnMgc3VwcGx5IGBQTEFURk9STV9FRkZFQ1RfU1FMX1RFU1RfREFUQUJBU0VfVVJMYCBpbnN0ZWFkLiBNaXNzaW5nIGRhdGFiYXNlIGNvbmZpZ3VyYXRpb24gZmFpbHMgdGhlIHRlc3QuCgpUbyB2ZXJpZnkgdGhlIGdlbmVyYXRlZCBhcHAsIHJ1biBgcG5wbSAtLWZpbHRlciBAc2hpdmFlZGV2L3N0YXJ0ZXIgY2hlY2s6cHVibGlzaGVkYCBmcm9tIHRoZSByZXBvc2l0b3J5IHJvb3QuIEl0IGluc3RhbGxzIHRoZSBleGFjdCB2ZXJzaW9ucyBpbiBgcHVibGlzaGVkLXZlcnNpb25zLmpzb25gIGludG8gdGVtcG9yYXJ5IGZvbGRlcnMgb3V0c2lkZSB0aGUgd29ya3NwYWNlLCBjaGVja3MgaW1wb3J0cyBmcm9tIHRoZSBmcmFtZXdvcmsgUkVBRE1FcyBhbmQgcXVpY2tzdGFydCwgcGFja3MgdGhlIGNyZWF0ZSBjb21tYW5kLCBnZW5lcmF0ZXMgYW4gYXBwLCBhbmQgcnVucyBpdHMgUXVhbGl0eSBsaW50LCB0eXBlY2hlY2ssIGJ1aWxkLCBQb3N0Z3JlU1FML2F1dGhlbnRpY2F0ZWQgSFRUUCB0ZXN0cyBhbmQgbm90ZXMgbWlncmF0aW9uIHVwZ3JhZGUgY2hlY2suIEl0IGV4ZXJjaXNlcyBwdWJsaXNoZWQgZGVjbGFyYXRpb24gYW5kIHJ1bnRpbWUgZXhwb3J0cyB3aXRob3V0IHRoZSB3b3Jrc3BhY2UncyBgc291cmNlYCBjb25kaXRpb24uIFVzZSB0aGUgbG9jYWwgdGVzdCBkYXRhYmFzZSBmcm9tIHNldHVwIG9yIHNldCBgVEVTVF9EQVRBQkFTRV9VUkxgOyB0aGUgY2hlY2sgZmFpbHMgaWYgUG9zdGdyZVNRTCBpcyB1bmF2YWlsYWJsZS4gVXBkYXRlIHRoZSB2ZXJzaW9uIGZpbGUgd2hlbiBhZG9wdGluZyBhbm90aGVyIHB1Ymxpc2hlZCBmcmFtZXdvcmsgcmVsZWFzZSwgdGhlbiBydW4gdGhlIGNoZWNrIGFnYWluLgoKQWRkIGAtLXJlZ2lzdHJ5YCB0byBnZW5lcmF0ZSB0aGUgYXBwIHdpdGggdGhlIHB1Ymxpc2hlZCBgcG5wbSBjcmVhdGUgQHNoaXZhZWRldi9hcHBgIGNvbW1hbmQgaW5zdGVhZCBvZiBwYWNraW5nIHRoZSBsb2NhbCBnZW5lcmF0b3IuIFRoZSBQdWJsaXNoZWQgc3RhcnRlciB3b3JrZmxvdyBydW5zIHRoaXMgbW9kZSBhZ2FpbnN0IGEgUG9zdGdyZVNRTCBzZXJ2aWNlIGRhaWx5IGF0IDA2OjE3IFVUQywgb24gbWFudWFsIGRpc3BhdGNoLCBhZnRlciBlYWNoIHN1Y2Nlc3NmdWwgcGFja2FnZSBwdWJsaXNoLCBhbmQgb24gcHVsbCByZXF1ZXN0cyB0aGF0IGNoYW5nZSB0aGUgY2hlY2suIEEgcHVsbCByZXF1ZXN0IHdob3NlIHBpbm5lZCB2ZXJzaW9ucyBhcmUgbm90IG9uIG5wbSB5ZXQgaXMgYSByZWxlYXNlLCBzbyB0aGUgd29ya2Zsb3cgc2tpcHMgcmVnaXN0cnkgbW9kZSB0aGVyZTsgdGhlIHBhY2tlZCBzdGFydGVyIGNoZWNrcyB0aG9zZSB2ZXJzaW9ucyBpbiBDSSwgYW5kIHRoZSBydW4gYWZ0ZXIgcHVibGlzaGluZyBjaGVja3MgdGhlbSBvbiBucG0uIFRoYXQgcnVuIGdlbmVyYXRlcyB0aGUgYXBwIHdpdGggdGhlIGNyZWF0ZS1hcHAgdmVyc2lvbiB0aGF0IGp1c3QgcHVibGlzaGVkOyB0aGUgb3RoZXIgcnVucyB1c2UgYGxhdGVzdGAsIHdoaWNoIHBucG0gcmVzb2x2ZXMgdG8gdGhlIG5ld2VzdCB2ZXJzaW9uIHBhc3QgaXRzIG9uZS1kYXkgcmVsZWFzZSBhZ2UsIHRoZSB2ZXJzaW9uIGEgbmV3IHVzZXIgZ2V0cy4gSXRzIG9wdGlvbmFsIGBjcmVhdGUtYXBwLXZlcnNpb25gIGlucHV0IHNlbGVjdHMgYSBwdWJsaXNoZWQgZ2VuZXJhdG9yIHZlcnNpb247IGFuIHVuYXZhaWxhYmxlIHZlcnNpb24gZmFpbHMgdGhlIHJ1bi4gUmVnaXN0cnkgbW9kZSBjYW5ub3QgdXNlIGAtLWFyY2hpdmVzYC4K","path":"README.md"},{"content":"ewoJImV4dGVuZHMiOiBbIkBzaGl2YWVkZXYvcXVhbGl0eS9iaW9tZSJdLAoJInJvb3QiOiB0cnVlCn0K","path":"biome.json"},{"content":"PCFkb2N0eXBlIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KCTxoZWFkPgoJCTxtZXRhIGNoYXJzZXQ9IlVURi04IiAvPgoJCTxtZXRhIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiIG5hbWU9InZpZXdwb3J0IiAvPgoJCTx0aXRsZT5Ob3RlczwvdGl0bGU+Cgk8L2hlYWQ+Cgk8Ym9keT4KCQk8ZGl2IGlkPSJyb290Ij48L2Rpdj4KCQk8c2NyaXB0IHNyYz0iL3NyYy9jbGllbnQvZW50cnkudHN4IiB0eXBlPSJtb2R1bGUiPjwvc2NyaXB0PgoJPC9ib2R5Pgo8L2h0bWw+Cg==","path":"index.html"},{"content":"ewoJIm5hbWUiOiAiQHNoaXZhZWRldi9zdGFydGVyIiwKCSJ2ZXJzaW9uIjogIjAuMC4wIiwKCSJwcml2YXRlIjogdHJ1ZSwKCSJ0eXBlIjogIm1vZHVsZSIsCgkiaW1wb3J0cyI6IHsKCQkiIyoiOiAiLi9zcmMvKiIKCX0sCgkic2NyaXB0cyI6IHsKCQkiYnVpbGQiOiAidml0ZSBidWlsZCIsCgkJImNpIjogInBucG0gbGludCAmJiBwbnBtIHR5cGVjaGVjayAmJiBwbnBtIGJ1aWxkICYmIHBucG0gdGVzdCIsCgkJImRiOnNldHVwIjogIm5vZGUgLS1lbnYtZmlsZS1pZi1leGlzdHM9LmVudi5sb2NhbCBzcmMvc2VydmVyL3NldHVwLWRhdGFiYXNlLnRzIiwKCQkiZGV2IjogInBucG0gZGI6c2V0dXAgJiYgbm9kZSAtLWVudi1maWxlLWlmLWV4aXN0cz0uZW52LmxvY2FsIHNyYy9zZXJ2ZXIvZGV2LnRzIiwKCQkiZm9ybWF0IjogInF1YWxpdHkgZml4IiwKCQkibGludCI6ICJxdWFsaXR5IGxpbnQiLAoJCSJtaWdyYXRlIjogIm5vZGUgLS1lbnYtZmlsZS1pZi1leGlzdHM9LmVudi5sb2NhbCBzcmMvc2VydmVyL21pZ3JhdGUudHMiLAoJCSJyZWFkeSI6ICJwbnBtIHJ1biBjaSIsCgkJInNldHVwIjogInBucG0gaW5zdGFsbCAmJiBub2RlIHNyYy9zZXR1cC50cyIsCgkJInN0YXJ0IjogIm5vZGUgLS1lbnYtZmlsZS1pZi1leGlzdHM9LmVudi5sb2NhbCBzcmMvc2VydmVyL3NlcnZlci50cyIsCgkJInRlc3QiOiAibm9kZSAtLWVudi1maWxlLWlmLWV4aXN0cz0uZW52LmxvY2FsIG5vZGVfbW9kdWxlcy92aXRlc3Qvdml0ZXN0Lm1qcyBydW4iLAoJCSJ0eXBlY2hlY2siOiAidHNjNiAtLW5vRW1pdCIsCgkJIndvcmtlciI6ICJub2RlIC0tZW52LWZpbGUtaWYtZXhpc3RzPS5lbnYubG9jYWwgc3JjL3NlcnZlci93b3JrZXIudHMiCgl9LAoJImRlcGVuZGVuY2llcyI6IHsKCQkiQGVmZmVjdC9hdG9tLXJlYWN0IjogImNhdGFsb2c6IiwKCQkiQGVmZmVjdC9wbGF0Zm9ybS1ub2RlIjogImNhdGFsb2c6IiwKCQkiQGVmZmVjdC9zcWwtcGciOiAiY2F0YWxvZzoiLAoJCSJAc2hpdmFlZGV2L2VmZmVjdC1jb250cmFjdCI6ICIwLjUuMCIsCgkJIkBzaGl2YWVkZXYvZWZmZWN0LWZvcm0iOiAiMC40LjAiLAoJCSJAc2hpdmFlZGV2L2VmZmVjdC1wZy1ib3NzIjogIjAuNS4wIiwKCQkiQHNoaXZhZWRldi9lZmZlY3QtcmVhY3QiOiAiMC40LjAiLAoJCSJAc2hpdmFlZGV2L2VmZmVjdC1zZXJ2aWNlIjogIjAuMy4wIiwKCQkiQHNoaXZhZWRldi9lZmZlY3Qtc3FsIjogIjAuMy4wIiwKCQkiQHNoaXZhZWRldi9sb2NhbC1wb3N0Z3JlcyI6ICIwLjIuMCIsCgkJIkBzaGl2YWVkZXYvcGxhdGZvcm0iOiAiMC4xMi4wIiwKCQkiQHRhbnN0YWNrL3JlYWN0LXJvdXRlciI6ICJjYXRhbG9nOiIsCgkJImJldHRlci1hdXRoIjogImNhdGFsb2c6IiwKCQkiY2xhc3MtdmFyaWFuY2UtYXV0aG9yaXR5IjogImNhdGFsb2c6IiwKCQkiY2xzeCI6ICJjYXRhbG9nOiIsCgkJImVmZmVjdCI6ICJjYXRhbG9nOiIsCgkJInBnIjogImNhdGFsb2c6IiwKCQkicmVhY3QiOiAiY2F0YWxvZzoiLAoJCSJyZWFjdC1kb20iOiAiY2F0YWxvZzoiLAoJCSJ0YWlsd2luZC1tZXJnZSI6ICJjYXRhbG9nOiIKCX0sCgkiZGV2RGVwZW5kZW5jaWVzIjogewoJCSJAZWZmZWN0L3ZpdGVzdCI6ICJjYXRhbG9nOiIsCgkJIkBzaGl2YWVkZXYvZWZmZWN0LXRlc3QiOiAiMC40LjAiLAoJCSJAc2hpdmFlZGV2L2VmZmVjdC10ZXN0LXNxbCI6ICIwLjMuMCIsCgkJIkBzaGl2YWVkZXYvcXVhbGl0eSI6ICIwLjIxLjEiLAoJCSJAc2hpdmFlZGV2L3Rlc3Qtc3RvcnkiOiAiMC4yLjAiLAoJCSJAdGFpbHdpbmRjc3Mvdml0ZSI6ICJjYXRhbG9nOiIsCgkJIkB0eXBlcy9ub2RlIjogImNhdGFsb2c6IiwKCQkiQHR5cGVzL3BnIjogImNhdGFsb2c6IiwKCQkiQHR5cGVzL3JlYWN0IjogImNhdGFsb2c6IiwKCQkiQHR5cGVzL3JlYWN0LWRvbSI6ICJjYXRhbG9nOiIsCgkJIkB2aXRlanMvcGx1Z2luLXJlYWN0IjogImNhdGFsb2c6IiwKCQkiaGFwcHktZG9tIjogImNhdGFsb2c6IiwKCQkicmFpbHdheSI6ICJjYXRhbG9nOiIsCgkJInRhaWx3aW5kY3NzIjogImNhdGFsb2c6IiwKCQkidHlwZXNjcmlwdCI6ICJjYXRhbG9nOiIsCgkJInZpdGUiOiAiY2F0YWxvZzoiLAoJCSJ2aXRlc3QiOiAiY2F0YWxvZzoiCgl9LAoJInBhY2thZ2VNYW5hZ2VyIjogInBucG1AMTIuOC4xIiwKCSJlbmdpbmVzIjogewoJCSJub2RlIjogIj49MjQiCgl9Cn0K","path":"package.json"},{"content":"cGFja2FnZXM6IFtdCgpvdmVycmlkZXM6CiAgIkBlZmZlY3QvcGxhdGZvcm0tbm9kZS1zaGFyZWQiOiAiY2F0YWxvZzoiCgphbGxvd0J1aWxkczoKICBlc2J1aWxkOiB0cnVlCiAgbXNncGFja3ItZXh0cmFjdDogdHJ1ZQoKY2F0YWxvZzoKICByYWlsd2F5OiAzLjEzLjEKICAiQGVmZmVjdC9hdG9tLXJlYWN0IjogNC4wLjQKICAiQGVmZmVjdC9wbGF0Zm9ybS1ub2RlIjogNC4wLjQKICAiQGVmZmVjdC9wbGF0Zm9ybS1ub2RlLXNoYXJlZCI6IDQuMC40CiAgIkBlZmZlY3Qvc3FsLXBnIjogNC4wLjQKICAiQGVmZmVjdC92aXRlc3QiOiA0LjAuNAogICJAdGFpbHdpbmRjc3Mvdml0ZSI6IDQuMy4zCiAgIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXIiOiAxLjE3MC40MQogICJAdHlwZXMvbm9kZSI6IDI0LjE5LjEKICAiQHR5cGVzL3BnIjogOC4yMC4wCiAgIkB0eXBlcy9yZWFjdCI6IDE5LjIuMTgKICAiQHR5cGVzL3JlYWN0LWRvbSI6IDE5LjIuNAogICJAdml0ZWpzL3BsdWdpbi1yZWFjdCI6IDYuMC41CiAgY2xhc3MtdmFyaWFuY2UtYXV0aG9yaXR5OiAwLjcuMQogIGJldHRlci1hdXRoOiAxLjcuNwogIGNsc3g6IDIuMS4xCiAgZWZmZWN0OiA0LjAuNAogIGhhcHB5LWRvbTogMjAuMTQuNgogIHBnOiA4LjIzLjAKICByZWFjdDogMTkuMi44CiAgcmVhY3QtZG9tOiAxOS4yLjgKICB0YWlsd2luZC1tZXJnZTogMy43LjAKICB0YWlsd2luZGNzczogNC4zLjMKICB0eXBlc2NyaXB0OiBucG06QHR5cGVzY3JpcHQvdHlwZXNjcmlwdDZANi4wLjIKICB2aXRlOiA4LjIuMAogIHZpdGVzdDogNS4wLjMK","path":"pnpm-workspace.yaml"},{"content":"ewoJIkBzaGl2YWVkZXYvZWZmZWN0LWNoYW5nZXMiOiAiMC4zLjAiLAoJIkBzaGl2YWVkZXYvZWZmZWN0LWNoYW5nZXMtcHJpc21hIjogIjAuNS4wIiwKCSJAc2hpdmFlZGV2L2VmZmVjdC1jb250cmFjdCI6ICIwLjUuMCIsCgkiQHNoaXZhZWRldi9lZmZlY3QtZm9ybSI6ICIwLjQuMCIsCgkiQHNoaXZhZWRldi9lZmZlY3QtcGctYm9zcyI6ICIwLjUuMCIsCgkiQHNoaXZhZWRldi9lZmZlY3QtcHJpc21hIjogIjAuOS4wIiwKCSJAc2hpdmFlZGV2L2VmZmVjdC1yZWFjdCI6ICIwLjQuMCIsCgkiQHNoaXZhZWRldi9lZmZlY3Qtc2VydmljZSI6ICIwLjMuMCIsCgkiQHNoaXZhZWRldi9lZmZlY3Qtc3FsIjogIjAuMy4wIiwKCSJAc2hpdmFlZGV2L2VmZmVjdC10ZXN0IjogIjAuNC4wIiwKCSJAc2hpdmFlZGV2L2VmZmVjdC10ZXN0LXNxbCI6ICIwLjMuMCIsCgkiQHNoaXZhZWRldi9lZmZlY3QtdHJwYyI6ICIwLjcuMCIsCgkiQHNoaXZhZWRldi9sb2NhbC1wb3N0Z3JlcyI6ICIwLjIuMCIsCgkiQHNoaXZhZWRldi9wbGF0Zm9ybSI6ICIwLjEyLjAiLAoJIkBzaGl2YWVkZXYvcXVhbGl0eSI6ICIwLjIxLjEiLAoJIkBzaGl2YWVkZXYvdGVzdC1zdG9yeSI6ICIwLjIuMCIsCgkiQHNoaXZhZWRldi90eXBlcyI6ICIwLjIuMCIKfQo=","path":"published-versions.json"},{"content":"aW1wb3J0IHsgY3JlYXRlTWVtb3J5SGlzdG9yeSB9IGZyb20gIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXIiOwppbXBvcnQgeyBhY3QgfSBmcm9tICJyZWFjdCI7CmltcG9ydCB7IGV4cGVjdCwgb25UZXN0RmluaXNoZWQgfSBmcm9tICJ2aXRlc3QiOwppbXBvcnQgeyBldmVudHVhbGx5LCBleHBlY3ROb1JlYWN0V2FybmluZ3MsIHJlbmRlciB9IGZyb20gIkBzaGl2YWVkZXYvZWZmZWN0LXJlYWN0L3Rlc3RpbmcudHMiOwppbXBvcnQgeyBhcHBBdXRoIH0gZnJvbSAiI3Rlc3Qtc3VwcG9ydC9hcHBBdXRoLnRzIjsKaW1wb3J0IHsgbm90ZXNDbGllbnQgfSBmcm9tICIjdGVzdC1zdXBwb3J0L25vdGVzQ2xpZW50LnRzIjsKaW1wb3J0IHsgc2NyZWVucyB9IGZyb20gIiN0ZXN0LXN1cHBvcnQvc2NyZWVucy50cyI7CmltcG9ydCB7IEFwcCB9IGZyb20gIi4vQXBwLnRzeCI7CgpPYmplY3QuYXNzaWduKGdsb2JhbFRoaXMsIHsgIklTX1JFQUNUX0FDVF9FTlZJUk9OTUVOVCI6IHRydWUgfSk7CmV4cGVjdE5vUmVhY3RXYXJuaW5ncygpOwoKc2NyZWVucy5pdCgiY2hlY2tzIGFuZCByZXRyaWVzIHRoZSBzZXNzaW9uIHRocm91Z2ggaXRzIGluamVjdGVkIGF1dGggY2xpZW50IiwgW10sIGZ1bmN0aW9uKiAoeyBpbnRlcmFjdCB9KSB7Cgl5aWVsZCogaW50ZXJhY3QoYXN5bmMgKCkgPT4gewoJCWNvbnN0IGZpeHR1cmUgPSBhcHBBdXRoKHsgYmFzZVVybDogImh0dHA6Ly9zZXNzaW9uLnN0b3J5LnRlc3QiLCBzZXNzaW9uRmFpbHVyZTogdHJ1ZSB9KTsKCQljb25zdCBjbGllbnQgPSBub3Rlc0NsaWVudCgpOwoJCWNvbnN0IGhpc3RvcnkgPSBjcmVhdGVNZW1vcnlIaXN0b3J5KHsgaW5pdGlhbEVudHJpZXM6IFsiL3NpZ24taW4iXSB9KTsKCQljb25zdCB2aWV3ID0gYXdhaXQgcmVuZGVyKDxBcHAgYXV0aD17Zml4dHVyZS5hdXRofSBjb25uZWN0PXsoKSA9PiBjbGllbnR9IGhpc3Rvcnk9e2hpc3Rvcnl9IC8+KTsKCQlvblRlc3RGaW5pc2hlZCh2aWV3LnVubW91bnQpOwoJCWF3YWl0IGV2ZW50dWFsbHkoKCkgPT4gZXhwZWN0KHZpZXcuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoIltyb2xlPWFsZXJ0XSIpPy50ZXh0Q29udGVudCkudG9CZSgiQ291bGQgbm90IGNoZWNrIHlvdXIgc2Vzc2lvbi4iKSk7CgkJZml4dHVyZS5yZWNvdmVyKCk7CgkJYXdhaXQgYWN0KGFzeW5jICgpID0+IHsKCQkJdmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcjxIVE1MQnV0dG9uRWxlbWVudD4oImJ1dHRvbiIpPy5jbGljaygpOwoJCQlhd2FpdCBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCAxMCkpOwoJCX0pOwoJCWF3YWl0IGV2ZW50dWFsbHkoKCkgPT4gZXhwZWN0KHZpZXcuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoImgxIik/LnRleHRDb250ZW50KS50b0JlKCJTaWduIGluIikpOwoJCWV4cGVjdChmaXh0dXJlLnJlcXVlc3RzLm1hcCgodXJsKSA9PiB1cmwuaHJlZikpLnRvRXF1YWwoWwoJCQkiaHR0cDovL3Nlc3Npb24uc3RvcnkudGVzdC9hcGkvYXV0aC9nZXQtc2Vzc2lvbiIsCgkJCSJodHRwOi8vc2Vzc2lvbi5zdG9yeS50ZXN0L2FwaS9hdXRoL2dldC1zZXNzaW9uIiwKCQldKTsKCX0pOwp9KTsKCnNjcmVlbnMuaXQoInJvdXRlcyBzaWduLW91dCB0aHJvdWdoIHRoZSBzYW1lIGluamVjdGVkIGF1dGggY2xpZW50IGFzIGl0cyBzZXNzaW9uIGNoZWNrIiwgW10sIGZ1bmN0aW9uKiAoeyBpbnRlcmFjdCB9KSB7Cgl5aWVsZCogaW50ZXJhY3QoYXN5bmMgKCkgPT4gewoJCWNvbnN0IGZpeHR1cmUgPSBhcHBBdXRoKHsgYmFzZVVybDogImh0dHA6Ly9hY3Rpb25zLnN0b3J5LnRlc3QiLCBzaWduZWRJbjogdHJ1ZSwgc2lnbk91dEZhaWx1cmU6ICJQcm92aWRlciByZWZ1c2VkIHNpZ24tb3V0IiB9KTsKCQljb25zdCBjbGllbnQgPSBub3Rlc0NsaWVudCgpOwoJCWNvbnN0IGhpc3RvcnkgPSBjcmVhdGVNZW1vcnlIaXN0b3J5KHsgaW5pdGlhbEVudHJpZXM6IFsiLyJdIH0pOwoJCWNvbnN0IHZpZXcgPSBhd2FpdCByZW5kZXIoPEFwcCBhdXRoPXtmaXh0dXJlLmF1dGh9IGNvbm5lY3Q9eygpID0+IGNsaWVudH0gaGlzdG9yeT17aGlzdG9yeX0gLz4pOwoJCW9uVGVzdEZpbmlzaGVkKHZpZXcudW5tb3VudCk7CgkJYXdhaXQgZXZlbnR1YWxseSgoKSA9PiBleHBlY3Qodmlldy5jb250YWluZXIudGV4dENvbnRlbnQpLnRvQ29udGFpbigiTm8gbm90ZXMgeWV0IikpOwoJCWF3YWl0IGFjdCgoKSA9PiBbLi4udmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgiYnV0dG9uIildLmZpbmQoKGJ1dHRvbikgPT4gYnV0dG9uLnRleHRDb250ZW50ID09PSAiU2lnbiBvdXQiKT8uY2xpY2soKSk7CgkJYXdhaXQgZXZlbnR1YWxseSgoKSA9PiBleHBlY3Qodmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigiW3JvbGU9YWxlcnRdIik/LnRleHRDb250ZW50KS50b0JlKCJQcm92aWRlciByZWZ1c2VkIHNpZ24tb3V0IikpOwoJCWV4cGVjdChmaXh0dXJlLnJlcXVlc3RzLnNvbWUoKHVybCkgPT4gdXJsLnBhdGhuYW1lID09PSAiL2FwaS9hdXRoL3NpZ24tb3V0IikpLnRvQmUodHJ1ZSk7CgkJZXhwZWN0KGZpeHR1cmUucmVxdWVzdHMuZXZlcnkoKHVybCkgPT4gdXJsLm9yaWdpbiA9PT0gImh0dHA6Ly9hY3Rpb25zLnN0b3J5LnRlc3QiKSkudG9CZSh0cnVlKTsKCX0pOwp9KTsK","path":"src/client/App.dom.test.tsx"},{"content":"aW1wb3J0IHR5cGUgeyBBdXRoIH0gZnJvbSAiLi9hdXRoLnRzIjsKaW1wb3J0IHsgU2Vzc2lvbkFwcCB9IGZyb20gIi4vU2Vzc2lvbkFwcC50c3giOwoKdHlwZSBTZXNzaW9uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBTZXNzaW9uQXBwPlswXTsKCmV4cG9ydCBmdW5jdGlvbiBBcHAoeyBhdXRoLCBjb25uZWN0LCBoaXN0b3J5IH06IHsgcmVhZG9ubHkgYXV0aDogQXV0aCB9ICYgUGljazxTZXNzaW9uUHJvcHMsICJjb25uZWN0IiB8ICJoaXN0b3J5Ij4pIHsKCWNvbnN0IHNlc3Npb24gPSBhdXRoLmNsaWVudC51c2VTZXNzaW9uKCk7CglpZiAoc2Vzc2lvbi5pc1BlbmRpbmcpIHsKCQlyZXR1cm4gKAoJCQk8cCBjbGFzc05hbWU9InAtOCIgcm9sZT0ic3RhdHVzIj4KCQkJCUNoZWNraW5nIHlvdXIgc2Vzc2lvbuKApgoJCQk8L3A+CgkJKTsKCX0KCWlmIChzZXNzaW9uLmVycm9yICE9PSBudWxsKSB7CgkJcmV0dXJuICgKCQkJPG1haW4gY2xhc3NOYW1lPSJzcGFjZS15LTQgcC04Ij4KCQkJCTxwIHJvbGU9ImFsZXJ0Ij5Db3VsZCBub3QgY2hlY2sgeW91ciBzZXNzaW9uLjwvcD4KCQkJCTxidXR0b24gb25DbGljaz17KCkgPT4gdm9pZCBzZXNzaW9uLnJlZmV0Y2goKX0gdHlwZT0iYnV0dG9uIj4KCQkJCQlSZXRyeQoJCQkJPC9idXR0b24+CgkJCTwvbWFpbj4KCQkpOwoJfQoJcmV0dXJuICgKCQk8U2Vzc2lvbkFwcAoJCQlhdXRoPXthdXRoLmFjdGlvbnN9CgkJCWNvbm5lY3Q9e2Nvbm5lY3R9CgkJCWhpc3Rvcnk9e2hpc3Rvcnl9CgkJCXJlY2hlY2s9eygpID0+IHZvaWQgc2Vzc2lvbi5yZWZldGNoKCl9CgkJCXNlc3Npb25JZD17c2Vzc2lvbi5kYXRhPy5zZXNzaW9uLmlkID8/ICJhbm9ueW1vdXMifQoJCS8+CgkpOwp9Cg==","path":"src/client/App.tsx"},{"content":"aW1wb3J0IHsgY3ZhLCB0eXBlIFZhcmlhbnRQcm9wcyB9IGZyb20gImNsYXNzLXZhcmlhbmNlLWF1dGhvcml0eSI7CmltcG9ydCB0eXBlIHsgQ29tcG9uZW50UHJvcHMgfSBmcm9tICJyZWFjdCI7CmltcG9ydCB7IGNuIH0gZnJvbSAiLi9jbi50cyI7Cgpjb25zdCBidXR0b25WYXJpYW50cyA9IGN2YSgKCSJpbmxpbmUtZmxleCBoLTEwIHNocmluay0wIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB3aGl0ZXNwYWNlLW5vd3JhcCByb3VuZGVkLW1kIHB4LTQgZm9udC1tZWRpdW0gdGV4dC1zbSB0cmFuc2l0aW9uLWNvbG9ycyBmb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctcmluZyBkaXNhYmxlZDpwb2ludGVyLWV2ZW50cy1ub25lIGRpc2FibGVkOm9wYWNpdHktNTAiLAoJewoJCWRlZmF1bHRWYXJpYW50czogeyB2YXJpYW50OiAiZGVmYXVsdCIgfSwKCQl2YXJpYW50czogewoJCQl2YXJpYW50OiB7IGRlZmF1bHQ6ICJiZy1wcmltYXJ5IHRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kIGhvdmVyOmJnLXByaW1hcnkvOTAiLCBvdXRsaW5lOiAiYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIGhvdmVyOmJnLW11dGVkIiB9LAoJCX0sCgl9LAopOwoKZXhwb3J0IGZ1bmN0aW9uIEJ1dHRvbih7IGNsYXNzTmFtZSwgdmFyaWFudCwgdHlwZSA9ICJidXR0b24iLCAuLi5wcm9wcyB9OiBDb21wb25lbnRQcm9wczwiYnV0dG9uIj4gJiBWYXJpYW50UHJvcHM8dHlwZW9mIGJ1dHRvblZhcmlhbnRzPikgewoJcmV0dXJuIDxidXR0b24gY2xhc3NOYW1lPXtjbihidXR0b25WYXJpYW50cyh7IHZhcmlhbnQgfSksIGNsYXNzTmFtZSl9IHR5cGU9e3R5cGV9IHsuLi5wcm9wc30gLz47Cn0K","path":"src/client/Button.tsx"},{"content":"aW1wb3J0IHR5cGUgeyBDb21wb25lbnRQcm9wcyB9IGZyb20gInJlYWN0IjsKaW1wb3J0IHsgY24gfSBmcm9tICIuL2NuLnRzIjsKCmV4cG9ydCBmdW5jdGlvbiBJbnB1dCh7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfTogQ29tcG9uZW50UHJvcHM8ImlucHV0Ij4pIHsKCXJldHVybiAoCgkJPGlucHV0CgkJCWNsYXNzTmFtZT17Y24oCgkJCQkiaC0xMCB3LWZ1bGwgbWluLXctMCByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItaW5wdXQgYmctYmFja2dyb3VuZCBweC0zIHRleHQtc20gZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmUgZm9jdXMtdmlzaWJsZTpyaW5nLTIgZm9jdXMtdmlzaWJsZTpyaW5nLXJpbmcgZGlzYWJsZWQ6b3BhY2l0eS01MCIsCgkJCQljbGFzc05hbWUsCgkJCSl9CgkJCXsuLi5wcm9wc30KCQkvPgoJKTsKfQo=","path":"src/client/Input.tsx"},{"content":"aW1wb3J0IHsgYWN0IH0gZnJvbSAicmVhY3QiOwppbXBvcnQgeyBleHBlY3QsIG9uVGVzdEZpbmlzaGVkIH0gZnJvbSAidml0ZXN0IjsKaW1wb3J0IHsgZXZlbnR1YWxseSwgZXhwZWN0Tm9SZWFjdFdhcm5pbmdzLCByZW5kZXIgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1yZWFjdC90ZXN0aW5nLnRzIjsKaW1wb3J0IHsgc2NyZWVucyB9IGZyb20gIiN0ZXN0LXN1cHBvcnQvc2NyZWVucy50cyI7CmltcG9ydCB0eXBlIHsgQXV0aEFjdGlvbnMsIENyZWRlbnRpYWxzIH0gZnJvbSAiLi9hdXRoLnRzIjsKaW1wb3J0IHsgTG9naW5TY3JlZW4gfSBmcm9tICIuL0xvZ2luU2NyZWVuLnRzeCI7CgpPYmplY3QuYXNzaWduKGdsb2JhbFRoaXMsIHsgIklTX1JFQUNUX0FDVF9FTlZJUk9OTUVOVCI6IHRydWUgfSk7CmV4cGVjdE5vUmVhY3RXYXJuaW5ncygpOwoKc2NyZWVucy5pdCgKCSJzdWJtaXRzIHNpZ251cCBhbmQgc2lnbi1pbiwgcmV0YWlucyByZWplY3RlZCBpbnB1dCwgYW5kIHNob3dzIHByb3ZpZGVyIGFuZCBuZXR3b3JrIGZhaWx1cmVzIiwKCVtdLAoJZnVuY3Rpb24qICh7IGludGVyYWN0LCBlbnRlciwgc3VibWl0IH0pIHsKCQl5aWVsZCogaW50ZXJhY3QoYXN5bmMgKCkgPT4gewoJCQljb25zdCBjYWxsczogeyBtb2RlOiBzdHJpbmc7IGNyZWRlbnRpYWxzOiBDcmVkZW50aWFscyB9W10gPSBbXTsKCQkJbGV0IG91dGNvbWU6IHN0cmluZyB8IHVuZGVmaW5lZCA9ICJFbWFpbCBpcyBhbHJlYWR5IHJlZ2lzdGVyZWQiOwoJCQlsZXQgdW5hdmFpbGFibGUgPSBmYWxzZTsKCQkJbGV0IGF1dGhlbnRpY2F0ZWQgPSAwOwoJCQljb25zdCBhdXRoOiBBdXRoQWN0aW9ucyA9IHsKCQkJCXNpZ25PdXQ6ICgpID0+IFByb21pc2UucmVzb2x2ZSh1bmRlZmluZWQpLAoJCQkJc3VibWl0OiAobW9kZSwgY3JlZGVudGlhbHMpID0+IHsKCQkJCQljYWxscy5wdXNoKHsgY3JlZGVudGlhbHMsIG1vZGUgfSk7CgkJCQkJaWYgKHVuYXZhaWxhYmxlKSB7CgkJCQkJCXJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoIm9mZmxpbmUiKSk7CgkJCQkJfQoJCQkJCXJldHVybiBQcm9taXNlLnJlc29sdmUob3V0Y29tZSk7CgkJCQl9LAoJCQl9OwoJCQljb25zdCB2aWV3ID0gYXdhaXQgcmVuZGVyKAoJCQkJPExvZ2luU2NyZWVuCgkJCQkJYXV0aD17YXV0aH0KCQkJCQlvbkF1dGhlbnRpY2F0ZWQ9eygpID0+IHsKCQkJCQkJYXV0aGVudGljYXRlZCArPSAxOwoJCQkJCX19CgkJCQkvPiwKCQkJKTsKCQkJb25UZXN0RmluaXNoZWQodmlldy51bm1vdW50KTsKCgkJCWF3YWl0IGFjdCgoKSA9PiBbLi4udmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgiYnV0dG9uIildLmZpbmQoKGJ1dHRvbikgPT4gYnV0dG9uLnRleHRDb250ZW50ID09PSAiQ3JlYXRlIGFuIGFjY291bnQiKT8uY2xpY2soKSk7CgkJCWF3YWl0IGVudGVyKHZpZXcuY29udGFpbmVyLCAiQWxpY2UiLCAiTmFtZSIpOwoJCQlhd2FpdCBlbnRlcih2aWV3LmNvbnRhaW5lciwgImFsaWNlQHN0YXJ0ZXIudGVzdCIsICJFbWFpbCIpOwoJCQlhd2FpdCBlbnRlcih2aWV3LmNvbnRhaW5lciwgImNvcnJlY3QtaG9yc2UiLCAiUGFzc3dvcmQiKTsKCQkJYXdhaXQgc3VibWl0KHZpZXcuY29udGFpbmVyKTsKCQkJZXhwZWN0KGNhbGxzKS50b0VxdWFsKFt7IGNyZWRlbnRpYWxzOiB7IGVtYWlsOiAiYWxpY2VAc3RhcnRlci50ZXN0IiwgbmFtZTogIkFsaWNlIiwgcGFzc3dvcmQ6ICJjb3JyZWN0LWhvcnNlIiB9LCBtb2RlOiAic2lnbi11cCIgfV0pOwoJCQlleHBlY3Qodmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigiW3JvbGU9YWxlcnRdIik/LnRleHRDb250ZW50KS50b0JlKG91dGNvbWUpOwoJCQlleHBlY3Qodmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcjxIVE1MSW5wdXRFbGVtZW50PigiaW5wdXRbdHlwZT1lbWFpbF0iKT8udmFsdWUpLnRvQmUoImFsaWNlQHN0YXJ0ZXIudGVzdCIpOwoJCQlleHBlY3QoYXV0aGVudGljYXRlZCkudG9CZSgwKTsKCQkJb3V0Y29tZSA9IHVuZGVmaW5lZDsKCQkJYXdhaXQgc3VibWl0KHZpZXcuY29udGFpbmVyKTsKCQkJYXdhaXQgZXZlbnR1YWxseSgoKSA9PiBleHBlY3QoYXV0aGVudGljYXRlZCkudG9CZSgxKSk7CgkJCWF3YWl0IGFjdCgoKSA9PiBbLi4udmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgiYnV0dG9uIildLmZpbmQoKGJ1dHRvbikgPT4gYnV0dG9uLnRleHRDb250ZW50ID09PSAiVXNlIGFuIGV4aXN0aW5nIGFjY291bnQiKT8uY2xpY2soKSk7CgkJCXVuYXZhaWxhYmxlID0gdHJ1ZTsKCQkJYXdhaXQgc3VibWl0KHZpZXcuY29udGFpbmVyKTsKCQkJZXhwZWN0KGNhbGxzLmF0KC0xKT8ubW9kZSkudG9CZSgic2lnbi1pbiIpOwoJCQlleHBlY3Qodmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigiW3JvbGU9YWxlcnRdIik/LnRleHRDb250ZW50KS50b0JlKCJDb3VsZCBub3QgcmVhY2ggYXV0aGVudGljYXRpb24uIFRyeSBhZ2Fpbi4iKTsKCQkJdW5hdmFpbGFibGUgPSBmYWxzZTsKCQkJYXdhaXQgc3VibWl0KHZpZXcuY29udGFpbmVyKTsKCQkJZXhwZWN0KGF1dGhlbnRpY2F0ZWQpLnRvQmUoMik7CgkJfSk7Cgl9LAopOwo=","path":"src/client/LoginScreen.dom.test.tsx"},{"content":"aW1wb3J0IHsgdXNlSWQsIHVzZVN0YXRlIH0gZnJvbSAicmVhY3QiOwppbXBvcnQgdHlwZSB7IEF1dGhBY3Rpb25zIH0gZnJvbSAiLi9hdXRoLnRzIjsKaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAiLi9CdXR0b24udHN4IjsKaW1wb3J0IHsgSW5wdXQgfSBmcm9tICIuL0lucHV0LnRzeCI7CgpleHBvcnQgZnVuY3Rpb24gTG9naW5TY3JlZW4oeyBhdXRoLCBvbkF1dGhlbnRpY2F0ZWQgfTogeyByZWFkb25seSBhdXRoOiBBdXRoQWN0aW9uczsgcmVhZG9ubHkgb25BdXRoZW50aWNhdGVkOiAoKSA9PiB2b2lkIH0pIHsKCWNvbnN0IGlkID0gdXNlSWQoKTsKCWNvbnN0IFttb2RlLCBzZXRNb2RlXSA9IHVzZVN0YXRlPCJzaWduLWluIiB8ICJzaWduLXVwIj4oInNpZ24taW4iKTsKCWNvbnN0IFtjcmVkZW50aWFscywgc2V0Q3JlZGVudGlhbHNdID0gdXNlU3RhdGUoeyBlbWFpbDogIiIsIG5hbWU6ICIiLCBwYXNzd29yZDogIiIgfSk7Cgljb25zdCBbcGVuZGluZywgc2V0UGVuZGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7Cgljb25zdCBbZmFpbHVyZSwgc2V0RmFpbHVyZV0gPSB1c2VTdGF0ZTxzdHJpbmc+KCk7Cgljb25zdCBzdWJtaXRMYWJlbCA9IG1vZGUgPT09ICJzaWduLWluIiA/ICJTaWduIGluIiA6ICJDcmVhdGUgYWNjb3VudCI7Cgljb25zdCBidXR0b25MYWJlbCA9IHBlbmRpbmcgPyAiUGxlYXNlIHdhaXTigKYiIDogc3VibWl0TGFiZWw7Cglhc3luYyBmdW5jdGlvbiBzdWJtaXQoKSB7CgkJc2V0UGVuZGluZyh0cnVlKTsKCQlzZXRGYWlsdXJlKHVuZGVmaW5lZCk7CgkJdHJ5IHsKCQkJY29uc3QgZXJyb3IgPSBhd2FpdCBhdXRoLnN1Ym1pdChtb2RlLCBjcmVkZW50aWFscyk7CgkJCWlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CgkJCQlvbkF1dGhlbnRpY2F0ZWQoKTsKCQkJfSBlbHNlIHsKCQkJCXNldEZhaWx1cmUoZXJyb3IpOwoJCQl9CgkJfSBjYXRjaCB7CgkJCXNldEZhaWx1cmUoIkNvdWxkIG5vdCByZWFjaCBhdXRoZW50aWNhdGlvbi4gVHJ5IGFnYWluLiIpOwoJCX0gZmluYWxseSB7CgkJCXNldFBlbmRpbmcoZmFsc2UpOwoJCX0KCX0KCXJldHVybiAoCgkJPG1haW4gY2xhc3NOYW1lPSJteC1hdXRvIHctZnVsbCBtYXgtdy1tZCBzcGFjZS15LTYgcHgtNCBweS0xMiI+CgkJCTxoMSBjbGFzc05hbWU9ImZvbnQtc2VtaWJvbGQgdGV4dC0zeGwiPnttb2RlID09PSAic2lnbi1pbiIgPyAiU2lnbiBpbiIgOiAiQ3JlYXRlIGFuIGFjY291bnQifTwvaDE+CgkJCTxwIGNsYXNzTmFtZT0idGV4dC1tdXRlZC1mb3JlZ3JvdW5kIj5TaWduIGluIHRvIHZpZXcgYW5kIGFkZCB5b3VyIG5vdGVzLjwvcD4KCQkJPGZvcm0KCQkJCWNsYXNzTmFtZT0ic3BhY2UteS00IgoJCQkJb25TdWJtaXQ9eyhldmVudCkgPT4gewoJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7CgkJCQkJdm9pZCBzdWJtaXQoKTsKCQkJCX19CgkJCT4KCQkJCXttb2RlID09PSAic2lnbi11cCIgJiYgKAoJCQkJCTxkaXYgY2xhc3NOYW1lPSJzcGFjZS15LTIiPgoJCQkJCQk8bGFiZWwgaHRtbEZvcj17YCR7aWR9LW5hbWVgfT5OYW1lPC9sYWJlbD4KCQkJCQkJPElucHV0CgkJCQkJCQlhdXRvQ29tcGxldGU9Im5hbWUiCgkJCQkJCQlpZD17YCR7aWR9LW5hbWVgfQoJCQkJCQkJb25DaGFuZ2U9eyhldmVudCkgPT4gc2V0Q3JlZGVudGlhbHMoeyAuLi5jcmVkZW50aWFscywgbmFtZTogZXZlbnQudGFyZ2V0LnZhbHVlIH0pfQoJCQkJCQkJcmVxdWlyZWQKCQkJCQkJCXZhbHVlPXtjcmVkZW50aWFscy5uYW1lfQoJCQkJCQkvPgoJCQkJCTwvZGl2PgoJCQkJKX0KCQkJCTxkaXYgY2xhc3NOYW1lPSJzcGFjZS15LTIiPgoJCQkJCTxsYWJlbCBodG1sRm9yPXtgJHtpZH0tZW1haWxgfT5FbWFpbDwvbGFiZWw+CgkJCQkJPElucHV0CgkJCQkJCWF1dG9Db21wbGV0ZT0iZW1haWwiCgkJCQkJCWlkPXtgJHtpZH0tZW1haWxgfQoJCQkJCQlvbkNoYW5nZT17KGV2ZW50KSA9PiBzZXRDcmVkZW50aWFscyh7IC4uLmNyZWRlbnRpYWxzLCBlbWFpbDogZXZlbnQudGFyZ2V0LnZhbHVlIH0pfQoJCQkJCQlyZXF1aXJlZAoJCQkJCQl0eXBlPSJlbWFpbCIKCQkJCQkJdmFsdWU9e2NyZWRlbnRpYWxzLmVtYWlsfQoJCQkJCS8+CgkJCQk8L2Rpdj4KCQkJCTxkaXYgY2xhc3NOYW1lPSJzcGFjZS15LTIiPgoJCQkJCTxsYWJlbCBodG1sRm9yPXtgJHtpZH0tcGFzc3dvcmRgfT5QYXNzd29yZDwvbGFiZWw+CgkJCQkJPElucHV0CgkJCQkJCWF1dG9Db21wbGV0ZT17bW9kZSA9PT0gInNpZ24taW4iID8gImN1cnJlbnQtcGFzc3dvcmQiIDogIm5ldy1wYXNzd29yZCJ9CgkJCQkJCWlkPXtgJHtpZH0tcGFzc3dvcmRgfQoJCQkJCQltaW5MZW5ndGg9ezh9CgkJCQkJCW9uQ2hhbmdlPXsoZXZlbnQpID0+IHNldENyZWRlbnRpYWxzKHsgLi4uY3JlZGVudGlhbHMsIHBhc3N3b3JkOiBldmVudC50YXJnZXQudmFsdWUgfSl9CgkJCQkJCXJlcXVpcmVkCgkJCQkJCXR5cGU9InBhc3N3b3JkIgoJCQkJCQl2YWx1ZT17Y3JlZGVudGlhbHMucGFzc3dvcmR9CgkJCQkJLz4KCQkJCTwvZGl2PgoJCQkJe2ZhaWx1cmUgIT09IHVuZGVmaW5lZCAmJiAoCgkJCQkJPHAgY2xhc3NOYW1lPSJ0ZXh0LWRlc3RydWN0aXZlIiByb2xlPSJhbGVydCI+CgkJCQkJCXtmYWlsdXJlfQoJCQkJCTwvcD4KCQkJCSl9CgkJCQk8QnV0dG9uIGRpc2FibGVkPXtwZW5kaW5nfSB0eXBlPSJzdWJtaXQiPgoJCQkJCXtidXR0b25MYWJlbH0KCQkJCTwvQnV0dG9uPgoJCQk8L2Zvcm0+CgkJCTxCdXR0b24KCQkJCWRpc2FibGVkPXtwZW5kaW5nfQoJCQkJb25DbGljaz17KCkgPT4gewoJCQkJCXNldE1vZGUobW9kZSA9PT0gInNpZ24taW4iID8gInNpZ24tdXAiIDogInNpZ24taW4iKTsKCQkJCQlzZXRGYWlsdXJlKHVuZGVmaW5lZCk7CgkJCQl9fQoJCQkJdmFyaWFudD0ib3V0bGluZSIKCQkJPgoJCQkJe21vZGUgPT09ICJzaWduLWluIiA/ICJDcmVhdGUgYW4gYWNjb3VudCIgOiAiVXNlIGFuIGV4aXN0aW5nIGFjY291bnQifQoJCQk8L0J1dHRvbj4KCQk8L21haW4+CgkpOwp9Cg==","path":"src/client/LoginScreen.tsx"},{"content":"aW1wb3J0IHsgT3B0aW9uLCBQcmVkaWNhdGUgfSBmcm9tICJlZmZlY3QiOwppbXBvcnQgeyB1c2VJZCB9IGZyb20gInJlYWN0IjsKaW1wb3J0IHsgdXNlRmllbGQgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1mb3JtL3JlYWN0LnRzIjsKaW1wb3J0IHsgdXNlQ3JlYXRlIH0gZnJvbSAiQHNoaXZhZWRldi9lZmZlY3QtcmVhY3QvY3JlYXRlLnRzIjsKaW1wb3J0IHsgTm90ZUZpZWxkcyB9IGZyb20gIiNub3Rlcy50cyI7CmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gIi4vQnV0dG9uLnRzeCI7CmltcG9ydCB7IElucHV0IH0gZnJvbSAiLi9JbnB1dC50c3giOwppbXBvcnQgdHlwZSB7IE5vdGVzQ2xpZW50IH0gZnJvbSAiLi9tYWtlTm90ZXMudHMiOwoKZXhwb3J0IGZ1bmN0aW9uIE5vdGVDcmVhdGUoeyBjbGllbnQgfTogeyByZWFkb25seSBjbGllbnQ6IE5vdGVzQ2xpZW50IH0pIHsKCWNvbnN0IHRpdGxlSWQgPSB1c2VJZCgpOwoJY29uc3QgZXJyb3JJZCA9IHVzZUlkKCk7Cgljb25zdCBjcmVhdGUgPSB1c2VDcmVhdGUoeyBjcmVhdGU6IGNsaWVudC5hcGkuY3JlYXRlLnJ1biwgZmllbGRzOiBOb3RlRmllbGRzLCBpbml0aWFsVmFsdWVzOiB7IHRpdGxlOiAiIiB9LCBydW50aW1lOiBjbGllbnQucnVudGltZSB9KTsKCWNvbnN0IHRpdGxlID0gdXNlRmllbGQoY3JlYXRlLmZvcm0sICJ0aXRsZSIpOwoJcmV0dXJuICgKCQk8Zm9ybQoJCQljbGFzc05hbWU9InNwYWNlLXktMyIKCQkJb25TdWJtaXQ9eyhldmVudCkgPT4gewoJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsKCQkJCWNyZWF0ZS5zYXZlKCk7CgkJCX19CgkJPgoJCQk8bGFiZWwgY2xhc3NOYW1lPSJibG9jayBmb250LW1lZGl1bSB0ZXh0LXNtIiBodG1sRm9yPXt0aXRsZUlkfT4KCQkJCU5ldyBub3RlCgkJCTwvbGFiZWw+CgkJCTxkaXYgY2xhc3NOYW1lPSJmbGV4IGZsZXgtY29sIGdhcC0zIHNtOmZsZXgtcm93Ij4KCQkJCTxJbnB1dAoJCQkJCWFyaWEtZGVzY3JpYmVkYnk9e3RpdGxlLmVycm9yID8gZXJyb3JJZCA6IHVuZGVmaW5lZH0KCQkJCQlhcmlhLWludmFsaWQ9e0Jvb2xlYW4odGl0bGUuZXJyb3IpfQoJCQkJCWlkPXt0aXRsZUlkfQoJCQkJCW9uQmx1cj17dGl0bGUub25CbHVyfQoJCQkJCW9uQ2hhbmdlPXsoZXZlbnQpID0+IHRpdGxlLm9uQ2hhbmdlKGV2ZW50LnRhcmdldC52YWx1ZSl9CgkJCQkJcGxhY2Vob2xkZXI9IlNvbWV0aGluZyB0byByZW1lbWJlciIKCQkJCQl2YWx1ZT17dGl0bGUudmFsdWV9CgkJCQkvPgoJCQkJPEJ1dHRvbiBkaXNhYmxlZD17Y3JlYXRlLnNhdmluZ30gdHlwZT0ic3VibWl0Ij4KCQkJCQl7Y3JlYXRlLnNhdmluZyA/ICJBZGRpbmfigKYiIDogIkFkZCBub3RlIn0KCQkJCTwvQnV0dG9uPgoJCQk8L2Rpdj4KCQkJe0Jvb2xlYW4odGl0bGUuZXJyb3IpICYmICgKCQkJCTxwIGNsYXNzTmFtZT0idGV4dC1kZXN0cnVjdGl2ZSB0ZXh0LXNtIiBpZD17ZXJyb3JJZH0gcm9sZT0iYWxlcnQiPgoJCQkJCXt0aXRsZS5lcnJvcn0KCQkJCTwvcD4KCQkJKX0KCQkJe09wdGlvbi5pc1NvbWUoY3JlYXRlLmZhaWx1cmUpICYmICgKCQkJCTxwIGNsYXNzTmFtZT0idGV4dC1kZXN0cnVjdGl2ZSB0ZXh0LXNtIiByb2xlPSJhbGVydCI+CgkJCQkJe1ByZWRpY2F0ZS5pc1RhZ2dlZChjcmVhdGUuZmFpbHVyZS52YWx1ZSwgIlVuYXV0aG9yaXplZCIpID8gIlNpZ24gaW4gdG8gYWRkIGEgbm90ZS4iIDogIkNvdWxkIG5vdCBhZGQgdGhlIG5vdGUuIFRyeSBhZ2Fpbi4ifQoJCQkJPC9wPgoJCQkpfQoJCQk8cCBhcmlhLWxpdmU9InBvbGl0ZSIgY2xhc3NOYW1lPSJ0ZXh0LW11dGVkLWZvcmVncm91bmQgdGV4dC1zbSI+CgkJCQl7T3B0aW9uLmlzU29tZShjcmVhdGUuY3JlYXRlZCkgPyBgQWRkZWQgJHtjcmVhdGUuY3JlYXRlZC52YWx1ZS50aXRsZX1gIDogIk5vdGVzIGFyZSBzYXZlZCB0byBQb3N0Z3JlU1FMLiJ9CgkJCTwvcD4KCQk8L2Zvcm0+CgkpOwp9Cg==","path":"src/client/NoteCreate.tsx"},{"content":"aW1wb3J0IHsgQ2F1c2UsIE9wdGlvbiwgUHJlZGljYXRlIH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gInJlYWN0IjsKaW1wb3J0IHsgdXNlQWN0aW9uIH0gZnJvbSAiQHNoaXZhZWRldi9lZmZlY3QtcmVhY3QvcmVzdWx0LXN0YXRlLnRzIjsKaW1wb3J0IHR5cGUgeyBEZWxldGUsIE5vdGUgfSBmcm9tICIjbm90ZXMudHMiOwppbXBvcnQgeyBCdXR0b24gfSBmcm9tICIuL0J1dHRvbi50c3giOwppbXBvcnQgdHlwZSB7IE5vdGVzQ2xpZW50IH0gZnJvbSAiLi9tYWtlTm90ZXMudHMiOwoKZXhwb3J0IGZ1bmN0aW9uIE5vdGVEZWxldGUoewoJY2xpZW50LAoJbm90ZSwKCW9uRGVsZXRlZCwKCXNhdmluZywKfTogewoJcmVhZG9ubHkgY2xpZW50OiBOb3Rlc0NsaWVudDsKCXJlYWRvbmx5IG5vdGU6IHR5cGVvZiBOb3RlLlR5cGU7CglyZWFkb25seSBvbkRlbGV0ZWQ6ICgpID0+IHZvaWQ7CglyZWFkb25seSBzYXZpbmc6IGJvb2xlYW47Cn0pIHsKCWNvbnN0IFtyZW1vdmVdID0gdXNlU3RhdGUoKCkgPT4gY2xpZW50LnJ1bnRpbWUuZm4oKGlucHV0OiB0eXBlb2YgRGVsZXRlLnBheWxvYWQuVHlwZSkgPT4gY2xpZW50LmFwaS5kZWxldGUucnVuKGlucHV0KSkpOwoJY29uc3QgYWN0aW9uID0gdXNlQWN0aW9uKHJlbW92ZSk7Cgl1c2VFZmZlY3QoKCkgPT4gewoJCWlmIChPcHRpb24uaXNTb21lKGFjdGlvbi5kYXRhKSkgewoJCQlvbkRlbGV0ZWQoKTsKCQl9Cgl9LCBbYWN0aW9uLmRhdGEsIG9uRGVsZXRlZF0pOwoJY29uc3QgZmFpbHVyZSA9IE9wdGlvbi5mbGF0TWFwKGFjdGlvbi5jYXVzZSwgQ2F1c2UuZmluZEVycm9yT3B0aW9uKTsKCXJldHVybiAoCgkJPGRpdiBjbGFzc05hbWU9InNwYWNlLXktMyI+CgkJCTxCdXR0b24gZGlzYWJsZWQ9e3NhdmluZyB8fCBhY3Rpb24ucGVuZGluZ30gb25DbGljaz17KCkgPT4gYWN0aW9uLmRpc3BhdGNoKHsgaWQ6IG5vdGUuaWQsIHZlcnNpb246IG5vdGUudmVyc2lvbiB9KX0gdmFyaWFudD0ib3V0bGluZSI+CgkJCQl7YWN0aW9uLnBlbmRpbmcgPyAiRGVsZXRpbmfigKYiIDogIkRlbGV0ZSBub3RlIn0KCQkJPC9CdXR0b24+CgkJCXtPcHRpb24uaXNTb21lKGZhaWx1cmUpICYmICgKCQkJCTxwIGNsYXNzTmFtZT0idGV4dC1kZXN0cnVjdGl2ZSB0ZXh0LXNtIiByb2xlPSJhbGVydCI+CgkJCQkJe1ByZWRpY2F0ZS5pc1RhZ2dlZChmYWlsdXJlLnZhbHVlLCAiQ29uZmxpY3QiKSA/IGZhaWx1cmUudmFsdWUubWVzc2FnZSA6ICJDb3VsZCBub3QgZGVsZXRlIHRoZSBub3RlLiBUcnkgYWdhaW4uIn0KCQkJCTwvcD4KCQkJKX0KCQk8L2Rpdj4KCSk7Cn0K","path":"src/client/NoteDelete.tsx"},{"content":"aW1wb3J0ICogYXMgQXN5bmNSZXN1bHQgZnJvbSAiZWZmZWN0L3JlYWN0aXZpdHkvQXN5bmNSZXN1bHQiOwppbXBvcnQgeyBhY3QgfSBmcm9tICJyZWFjdCI7CmltcG9ydCB7IGV4cGVjdCB9IGZyb20gInZpdGVzdCI7CmltcG9ydCB7IGV2ZW50dWFsbHksIGV4cGVjdE5vUmVhY3RXYXJuaW5ncyB9IGZyb20gIkBzaGl2YWVkZXYvZWZmZWN0LXJlYWN0L3Rlc3RpbmcudHMiOwppbXBvcnQgeyBlZGl0aW5nTm90ZSwgc2NyZWVucyB9IGZyb20gIiN0ZXN0LXN1cHBvcnQvc2NyZWVucy50cyI7CgpPYmplY3QuYXNzaWduKGdsb2JhbFRoaXMsIHsgIklTX1JFQUNUX0FDVF9FTlZJUk9OTUVOVCI6IHRydWUgfSk7CmV4cGVjdE5vUmVhY3RXYXJuaW5ncygpOwoKc2NyZWVucy5pdCgic2hhcmVzIHRoZSB0eXBlZCBkZXRhaWwgcm91dGUncyBxdWVyeSBhbmQgcmV0YWlucyBhbiBlZGl0IHRocm91Z2ggYSBsaXZlIHJlZnJlc2giLCBbZWRpdGluZ05vdGUoKV0sIGZ1bmN0aW9uKiAoeyBpbnRlcmFjdCwgZWRpdG9yIH0pIHsKCXlpZWxkKiBpbnRlcmFjdChhc3luYyAoKSA9PiB7CgkJY29uc3QgeyBjbGllbnQsIGVudGVyLCB2aWV3IH0gPSBlZGl0b3IoKTsKCQlleHBlY3QoY2xpZW50LmNhbGxzKS50b0VxdWFsKFsiZ2V0Il0pOwoJCWF3YWl0IGVudGVyKCJLZWVwIG15IGRyYWZ0Iik7CgkJYXdhaXQgYWN0KCgpID0+IGNsaWVudC5yZXZpc2VOb3RlKDEsICJDaGFuZ2VkIGVsc2V3aGVyZSIpKTsKCQlhd2FpdCBldmVudHVhbGx5KCgpID0+CgkJCWV4cGVjdChBc3luY1Jlc3VsdC5nZXRPckVsc2Uodmlldy5yZWdpc3RyeS5nZXQoY2xpZW50LmFwaS5nZXQucXVlcnkoeyBpZDogMSB9KSksICgpID0+IHVuZGVmaW5lZCk/LnRpdGxlKS50b0JlKCJDaGFuZ2VkIGVsc2V3aGVyZSIpLAoJCSk7CgkJZXhwZWN0KGNsaWVudC5jYWxscy5maWx0ZXIoKGNhbGwpID0+IGNhbGwgPT09ICJnZXQiKS5sZW5ndGgpLnRvQmVHcmVhdGVyVGhhbigxKTsKCQlleHBlY3Qodmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigiaW5wdXQiKT8udmFsdWUpLnRvQmUoIktlZXAgbXkgZHJhZnQiKTsKCQlleHBlY3Qodmlldy5jb250YWluZXIudGV4dENvbnRlbnQpLnRvQ29udGFpbigiVW5zYXZlZCBjaGFuZ2VzIik7Cgl9KTsKfSk7CgpzY3JlZW5zLml0KAoJInNob3dzIGEgc3RhbGUgZWRpdCBjb25mbGljdCwga2VlcHMgdGhlIGlucHV0LCB0aGVuIHJlZnJlc2hlcyBhbmQgc2F2ZXMgdGhlIHJldmlld2VkIGRyYWZ0IiwKCVtlZGl0aW5nTm90ZSgpXSwKCWZ1bmN0aW9uKiAoeyBpbnRlcmFjdCwgZWRpdG9yIH0pIHsKCQl5aWVsZCogaW50ZXJhY3QoYXN5bmMgKCkgPT4gewoJCQljb25zdCB7IGNsaWNrLCBjbGllbnQsIGVudGVyLCB2aWV3IH0gPSBlZGl0b3IoKTsKCQkJYXdhaXQgZW50ZXIoIiAgTXkgZHJhZnQgICIpOwoJCQlhd2FpdCBjbGllbnQucmV2aXNlTm90ZSgxLCAiU2F2ZWQgZWxzZXdoZXJlIiwgZmFsc2UpOwoJCQlhd2FpdCBjbGljaygiU2F2ZSBub3RlIik7CgkJCWF3YWl0IGV2ZW50dWFsbHkoKCkgPT4gZXhwZWN0KHZpZXcuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoIltyb2xlPWFsZXJ0XSIpPy50ZXh0Q29udGVudCkudG9Db250YWluKCJUaGlzIG5vdGUgY2hhbmdlZCIpKTsKCQkJZXhwZWN0KHZpZXcuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoImlucHV0Iik/LnZhbHVlKS50b0JlKCIgIE15IGRyYWZ0ICAiKTsKCQkJYXdhaXQgY2xpY2soIlJlZnJlc2giKTsKCQkJYXdhaXQgZXZlbnR1YWxseSgoKSA9PiBleHBlY3QoY2xpZW50LmNhbGxzLmZpbHRlcigoY2FsbCkgPT4gY2FsbCA9PT0gImdldCIpKS50b0hhdmVMZW5ndGgoMikpOwoJCQlleHBlY3Qodmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigiaW5wdXQiKT8udmFsdWUpLnRvQmUoIiAgTXkgZHJhZnQgICIpOwoJCQlhd2FpdCBjbGljaygiU2F2ZSBub3RlIik7CgkJCWF3YWl0IGV2ZW50dWFsbHkoKCkgPT4gZXhwZWN0KHZpZXcuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoImlucHV0Iik/LnZhbHVlKS50b0JlKCJNeSBkcmFmdCIpKTsKCQkJZXhwZWN0KHZpZXcuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoIltyb2xlPWFsZXJ0XSIpKS50b0JlTnVsbCgpOwoJCQlleHBlY3Qodmlldy5jb250YWluZXIudGV4dENvbnRlbnQpLnRvQ29udGFpbigiQWxsIGNoYW5nZXMgc2F2ZWQiKTsKCQl9KTsKCX0sCik7CgpzY3JlZW5zLml0KCJyZXRhaW5zIGEgZmllbGQgcmVqZWN0aW9uIHdoaWxlIGVkaXRpbmciLCBbZWRpdGluZ05vdGUoKV0sIGZ1bmN0aW9uKiAoeyBpbnRlcmFjdCwgZWRpdG9yIH0pIHsKCXlpZWxkKiBpbnRlcmFjdChhc3luYyAoKSA9PiB7CgkJY29uc3QgeyBjbGljaywgZW50ZXIsIHZpZXcgfSA9IGVkaXRvcigpOwoJCWF3YWl0IGVudGVyKCJyZXNlcnZlZCIpOwoJCWF3YWl0IGNsaWNrKCJTYXZlIG5vdGUiKTsKCQlhd2FpdCBldmVudHVhbGx5KCgpID0+IGV4cGVjdCh2aWV3LmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCJbcm9sZT1hbGVydF0iKT8udGV4dENvbnRlbnQpLnRvQmUoIkNob29zZSBhbm90aGVyIHRpdGxlIikpOwoJCWV4cGVjdCh2aWV3LmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpPy52YWx1ZSkudG9CZSgicmVzZXJ2ZWQiKTsKCX0pOwp9KTsKCnNjcmVlbnMuaXQoImRlbGV0ZXMgYSBub3RlIGFuZCByZXR1cm5zIHRvIHRoZSByZWZyZXNoZWQgbGlzdCB3aXRob3V0IGl0IiwgW2VkaXRpbmdOb3RlKCldLCBmdW5jdGlvbiogKHsgaW50ZXJhY3QsIGVkaXRvciB9KSB7Cgl5aWVsZCogaW50ZXJhY3QoYXN5bmMgKCkgPT4gewoJCWNvbnN0IHsgY2xpY2ssIGNsaWVudCwgcm91dGVyLCB2aWV3IH0gPSBlZGl0b3IoKTsKCQlhd2FpdCBhY3QoKCkgPT4gcm91dGVyLm5hdmlnYXRlKHsgdG86ICIvIiB9KSk7CgkJYXdhaXQgZXZlbnR1YWxseSgoKSA9PiBleHBlY3Qodmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigibGkgPiBhIik/LnRleHRDb250ZW50KS50b0JlKCJGaXJzdCBub3RlIikpOwoJCWF3YWl0IGFjdCgoKSA9PiB2aWV3LmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yPEhUTUxBbmNob3JFbGVtZW50PigibGkgPiBhIik/LmNsaWNrKCkpOwoJCWF3YWl0IGV2ZW50dWFsbHkoKCkgPT4gZXhwZWN0KHZpZXcuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoImlucHV0Iik/LnZhbHVlKS50b0JlKCJGaXJzdCBub3RlIikpOwoJCWF3YWl0IGNsaWNrKCJEZWxldGUgbm90ZSIpOwoJCWF3YWl0IGV2ZW50dWFsbHkoKCkgPT4gZXhwZWN0KHJvdXRlci5zdGF0ZS5sb2NhdGlvbi5wYXRobmFtZSkudG9CZSgiLyIpKTsKCQlhd2FpdCBldmVudHVhbGx5KCgpID0+IGV4cGVjdCh2aWV3LmNvbnRhaW5lci50ZXh0Q29udGVudCkudG9Db250YWluKCJObyBub3RlcyB5ZXQiKSk7CgkJZXhwZWN0KHZpZXcuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoImxpIikpLnRvQmVOdWxsKCk7CgkJZXhwZWN0KGNsaWVudC5jYWxscykudG9Db250YWluKCJkZWxldGUiKTsKCQlleHBlY3QoY2xpZW50LmNhbGxzLmZpbHRlcigoY2FsbCkgPT4gY2FsbCA9PT0gImxpc3QiKS5sZW5ndGgpLnRvQmVHcmVhdGVyVGhhbigxKTsKCX0pOwp9KTsKCnNjcmVlbnMuaXQoImtlZXBzIHRoZSBlZGl0b3Igb3BlbiB3aGVuIGRlbGV0aW9uIGNvbmZsaWN0cyB3aXRoIGEgbmV3ZXIgdmVyc2lvbiIsIFtlZGl0aW5nTm90ZSgpXSwgZnVuY3Rpb24qICh7IGludGVyYWN0LCBlZGl0b3IgfSkgewoJeWllbGQqIGludGVyYWN0KGFzeW5jICgpID0+IHsKCQljb25zdCB7IGNsaWNrLCBjbGllbnQsIHJvdXRlciwgdmlldyB9ID0gZWRpdG9yKCk7CgkJYXdhaXQgY2xpZW50LnJldmlzZU5vdGUoMSwgIlNhdmVkIGVsc2V3aGVyZSIsIGZhbHNlKTsKCQlhd2FpdCBjbGljaygiRGVsZXRlIG5vdGUiKTsKCQlhd2FpdCBldmVudHVhbGx5KCgpID0+IGV4cGVjdCh2aWV3LmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCJbcm9sZT1hbGVydF0iKT8udGV4dENvbnRlbnQpLnRvQ29udGFpbigiVGhpcyBub3RlIGNoYW5nZWQiKSk7CgkJZXhwZWN0KHJvdXRlci5zdGF0ZS5sb2NhdGlvbi5wYXRobmFtZSkudG9CZSgiL25vdGVzLzEiKTsKCQlleHBlY3Qodmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigiaW5wdXQiKT8udmFsdWUpLnRvQmUoIkZpcnN0IG5vdGUiKTsKCX0pOwp9KTsK","path":"src/client/NoteEdit.dom.test.tsx"},{"content":"aW1wb3J0IHsgdXNlQXRvbU1vdW50IH0gZnJvbSAiQGVmZmVjdC9hdG9tLXJlYWN0IjsKaW1wb3J0IHsgTGluayB9IGZyb20gIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXIiOwppbXBvcnQgeyBPcHRpb24sIFByZWRpY2F0ZSB9IGZyb20gImVmZmVjdCI7CmltcG9ydCB7IHVzZUlkIH0gZnJvbSAicmVhY3QiOwppbXBvcnQgeyB1c2VGaWVsZCB9IGZyb20gIkBzaGl2YWVkZXYvZWZmZWN0LWZvcm0vcmVhY3QudHMiOwppbXBvcnQgdHlwZSB7IEZvcm0gfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1mb3JtL3NoYXBlLnRzIjsKaW1wb3J0IHsgdXNlRWRpdG9yIH0gZnJvbSAiQHNoaXZhZWRldi9lZmZlY3QtcmVhY3QvZWRpdG9yLnRzIjsKaW1wb3J0IHsgZmllbGRSZWplY3Rpb25PZiB9IGZyb20gIkBzaGl2YWVkZXYvZWZmZWN0LXJlYWN0L2ZpZWxkLXJlamVjdGlvbi50cyI7CmltcG9ydCB7IE5vdGVFZGl0RmllbGRzIH0gZnJvbSAiI25vdGVzLnRzIjsKaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAiLi9CdXR0b24udHN4IjsKaW1wb3J0IHsgSW5wdXQgfSBmcm9tICIuL0lucHV0LnRzeCI7CmltcG9ydCB0eXBlIHsgTm90ZXNDbGllbnQgfSBmcm9tICIuL21ha2VOb3Rlcy50cyI7CmltcG9ydCB7IE5vdGVEZWxldGUgfSBmcm9tICIuL05vdGVEZWxldGUudHN4IjsKCmZ1bmN0aW9uIFRpdGxlPEEsIEUsIFRSdW50aW1lRXJyb3I+KHsgZm9ybSB9OiB7IHJlYWRvbmx5IGZvcm06IEZvcm08dHlwZW9mIE5vdGVFZGl0RmllbGRzLmZpZWxkcywgQSwgRSwgVFJ1bnRpbWVFcnJvcj4gfSkgewoJY29uc3QgdGl0bGUgPSB1c2VGaWVsZChmb3JtLCAidGl0bGUiKTsKCWNvbnN0IHRpdGxlSWQgPSB1c2VJZCgpOwoJY29uc3QgZXJyb3JJZCA9IHVzZUlkKCk7CglyZXR1cm4gKAoJCTxkaXYgY2xhc3NOYW1lPSJzcGFjZS15LTIiPgoJCQk8bGFiZWwgY2xhc3NOYW1lPSJibG9jayBmb250LW1lZGl1bSB0ZXh0LXNtIiBodG1sRm9yPXt0aXRsZUlkfT4KCQkJCVRpdGxlCgkJCTwvbGFiZWw+CgkJCTxJbnB1dAoJCQkJYXJpYS1kZXNjcmliZWRieT17dGl0bGUuZXJyb3IgPyBlcnJvcklkIDogdW5kZWZpbmVkfQoJCQkJYXJpYS1pbnZhbGlkPXtCb29sZWFuKHRpdGxlLmVycm9yKX0KCQkJCWlkPXt0aXRsZUlkfQoJCQkJb25CbHVyPXt0aXRsZS5vbkJsdXJ9CgkJCQlvbkNoYW5nZT17KGV2ZW50KSA9PiB0aXRsZS5vbkNoYW5nZShldmVudC50YXJnZXQudmFsdWUpfQoJCQkJdmFsdWU9e3RpdGxlLnZhbHVlfQoJCQkvPgoJCQl7Qm9vbGVhbih0aXRsZS5lcnJvcikgJiYgKAoJCQkJPHAgY2xhc3NOYW1lPSJ0ZXh0LWRlc3RydWN0aXZlIHRleHQtc20iIGlkPXtlcnJvcklkfSByb2xlPSJhbGVydCI+CgkJCQkJe3RpdGxlLmVycm9yfQoJCQkJPC9wPgoJCQkpfQoJCTwvZGl2PgoJKTsKfQoKZXhwb3J0IGZ1bmN0aW9uIE5vdGVFZGl0KHsgY2xpZW50LCBub3RlSWQsIG9uRGVsZXRlZCB9OiB7IHJlYWRvbmx5IGNsaWVudDogTm90ZXNDbGllbnQ7IHJlYWRvbmx5IG5vdGVJZDogbnVtYmVyOyByZWFkb25seSBvbkRlbGV0ZWQ6ICgpID0+IHZvaWQgfSkgewoJdXNlQXRvbU1vdW50KGNsaWVudC5jb25uZWN0aW9uKTsKCWNvbnN0IGVkaXRvciA9IHVzZUVkaXRvcih7CgkJZmllbGRzOiBOb3RlRWRpdEZpZWxkcywKCQlxdWVyeTogY2xpZW50LmFwaS5nZXQucXVlcnkoeyBpZDogbm90ZUlkIH0pLAoJCXJlamVjdEZpZWxkOiBmaWVsZFJlamVjdGlvbk9mKE5vdGVFZGl0RmllbGRzKSwKCQlydW50aW1lOiBjbGllbnQucnVudGltZSwKCQlzYXZlOiAodmFsdWVzKSA9PiBjbGllbnQuYXBpLnVwZGF0ZS5ydW4oeyBpZDogbm90ZUlkLCAuLi52YWx1ZXMgfSksCgkJdmFsdWVzOiAocm93KSA9PiAoeyB0aXRsZTogcm93LnRpdGxlLCB2ZXJzaW9uOiByb3cudmVyc2lvbiB9KSwKCX0pOwoJY29uc3QgY3VycmVudE5vdGUgPSBPcHRpb24uZ2V0T3JVbmRlZmluZWQoZWRpdG9yLnF1ZXJ5LmRhdGEpOwoJY29uc3QgZmFpbHVyZSA9IE9wdGlvbi5tYXAoZWRpdG9yLmZhaWx1cmUsIChlcnJvcikgPT4gewoJCWlmIChQcmVkaWNhdGUuaXNUYWdnZWQoZXJyb3IsICJDb25mbGljdCIpKSB7CgkJCXJldHVybiBlcnJvci5tZXNzYWdlOwoJCX0KCQlpZiAoUHJlZGljYXRlLmlzVGFnZ2VkKGVycm9yLCAiVW5hdXRob3JpemVkIikpIHsKCQkJcmV0dXJuICJTaWduIGluIHRvIHNhdmUgdGhpcyBub3RlLiI7CgkJfQoJCXJldHVybiAiQ291bGQgbm90IHNhdmUgdGhlIG5vdGUuIFRyeSBhZ2Fpbi4iOwoJfSk7CglyZXR1cm4gKAoJCTxtYWluIGNsYXNzTmFtZT0ibXgtYXV0byB3LWZ1bGwgbWF4LXctMnhsIHNwYWNlLXktNiBweC00IHB5LTEyIHNtOnB4LTYiPgoJCQk8TGluayBjbGFzc05hbWU9InVuZGVybGluZSIgdG89Ii8iPgoJCQkJQmFjayB0byBub3RlcwoJCQk8L0xpbms+CgkJCTxoMSBjbGFzc05hbWU9ImZvbnQtc2VtaWJvbGQgdGV4dC0zeGwgdHJhY2tpbmctdGlnaHQiPkVkaXQgbm90ZTwvaDE+CgkJCTxCdXR0b24gZGlzYWJsZWQ9e2VkaXRvci5xdWVyeS5wZW5kaW5nfSBvbkNsaWNrPXtlZGl0b3IucXVlcnkucmVmcmVzaH0gdmFyaWFudD0ib3V0bGluZSI+CgkJCQlSZWZyZXNoCgkJCTwvQnV0dG9uPgoJCQl7T3B0aW9uLmlzU29tZShlZGl0b3IucXVlcnkuY2F1c2UpICYmIDxwIHJvbGU9ImFsZXJ0Ij5Db3VsZCBub3QgbG9hZCB0aGlzIG5vdGUuIFRyeSByZWZyZXNoaW5nLjwvcD59CgkJCXtlZGl0b3IuZm9ybSA9PT0gdW5kZWZpbmVkID8gKAoJCQkJPHAgcm9sZT0ic3RhdHVzIj5Mb2FkaW5nIG5vdGXigKY8L3A+CgkJCSkgOiAoCgkJCQk8Zm9ybQoJCQkJCWNsYXNzTmFtZT0ic3BhY2UteS00IHJvdW5kZWQtbGcgYm9yZGVyIGJnLWNhcmQgcC01IHNoYWRvdy1zbSIKCQkJCQlvblN1Ym1pdD17KGV2ZW50KSA9PiB7CgkJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7CgkJCQkJCWVkaXRvci5zYXZlKCk7CgkJCQkJfX0KCQkJCT4KCQkJCQk8VGl0bGUgZm9ybT17ZWRpdG9yLmZvcm19IC8+CgkJCQkJPEJ1dHRvbiBkaXNhYmxlZD17ZWRpdG9yLnNhdmluZ30gdHlwZT0ic3VibWl0Ij4KCQkJCQkJe2VkaXRvci5zYXZpbmcgPyAiU2F2aW5n4oCmIiA6ICJTYXZlIG5vdGUifQoJCQkJCTwvQnV0dG9uPgoJCQkJCXtPcHRpb24uaXNTb21lKGZhaWx1cmUpICYmICgKCQkJCQkJPHAgY2xhc3NOYW1lPSJ0ZXh0LWRlc3RydWN0aXZlIHRleHQtc20iIHJvbGU9ImFsZXJ0Ij4KCQkJCQkJCXtmYWlsdXJlLnZhbHVlfQoJCQkJCQk8L3A+CgkJCQkJKX0KCQkJCQk8cCBhcmlhLWxpdmU9InBvbGl0ZSIgY2xhc3NOYW1lPSJ0ZXh0LW11dGVkLWZvcmVncm91bmQgdGV4dC1zbSI+CgkJCQkJCXtlZGl0b3IuZGlydHkgPyAiVW5zYXZlZCBjaGFuZ2VzIiA6ICJBbGwgY2hhbmdlcyBzYXZlZCJ9CgkJCQkJPC9wPgoJCQkJPC9mb3JtPgoJCQkpfQoJCQl7Y3VycmVudE5vdGUgIT09IHVuZGVmaW5lZCAmJiA8Tm90ZURlbGV0ZSBjbGllbnQ9e2NsaWVudH0gbm90ZT17Y3VycmVudE5vdGV9IG9uRGVsZXRlZD17b25EZWxldGVkfSBzYXZpbmc9e2VkaXRvci5zYXZpbmd9IC8+fQoJCTwvbWFpbj4KCSk7Cn0K","path":"src/client/NoteEdit.tsx"},{"content":"aW1wb3J0IHsgY3JlYXRlTWVtb3J5SGlzdG9yeSwgUm91dGVyUHJvdmlkZXIgfSBmcm9tICJAdGFuc3RhY2svcmVhY3Qtcm91dGVyIjsKaW1wb3J0IHsgYWN0IH0gZnJvbSAicmVhY3QiOwppbXBvcnQgeyBleHBlY3QsIG9uVGVzdEZpbmlzaGVkIH0gZnJvbSAidml0ZXN0IjsKaW1wb3J0IHsgZXZlbnR1YWxseSwgZXhwZWN0Tm9SZWFjdFdhcm5pbmdzLCByZW5kZXIgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1yZWFjdC90ZXN0aW5nLnRzIjsKaW1wb3J0IHsgbm90ZXNDbGllbnQgfSBmcm9tICIjdGVzdC1zdXBwb3J0L25vdGVzQ2xpZW50LnRzIjsKaW1wb3J0IHsgc2NyZWVuQXV0aCB9IGZyb20gIiN0ZXN0LXN1cHBvcnQvc2NyZWVuQXV0aC50cyI7CmltcG9ydCB7IHNjcmVlbnMgfSBmcm9tICIjdGVzdC1zdXBwb3J0L3NjcmVlbnMudHMiOwppbXBvcnQgeyBhcHBSb3V0ZXIgfSBmcm9tICIuL2FwcFJvdXRlci50c3giOwoKT2JqZWN0LmFzc2lnbihnbG9iYWxUaGlzLCB7ICJJU19SRUFDVF9BQ1RfRU5WSVJPTk1FTlQiOiB0cnVlIH0pOwpleHBlY3ROb1JlYWN0V2FybmluZ3MoKTsKCnNjcmVlbnMuaXQoCgkic2hhcmVzIHRoZSByb3V0ZSBxdWVyeSwgdmFsaWRhdGVzIHRoZSBmb3JtLCByZXRhaW5zIGEgcmVqZWN0ZWQgdGl0bGUgYW5kIHJlZnJlc2hlcyBhZnRlciBjcmVhdGlvbiIsCglbXSwKCWZ1bmN0aW9uKiAoeyBpbnRlcmFjdCwgZW50ZXIsIHN1Ym1pdCB9KSB7CgkJeWllbGQqIGludGVyYWN0KGFzeW5jICgpID0+IHsKCQkJY29uc3QgY2xpZW50ID0gbm90ZXNDbGllbnQoKTsKCQkJY29uc3QgdmlldyA9IGF3YWl0IHJlbmRlcihudWxsKTsKCQkJb25UZXN0RmluaXNoZWQodmlldy51bm1vdW50KTsKCQkJY29uc3Qgcm91dGVyID0gYXBwUm91dGVyKHZpZXcucmVnaXN0cnksIGNsaWVudCwgc2NyZWVuQXV0aCgpLCBjcmVhdGVNZW1vcnlIaXN0b3J5KHsgaW5pdGlhbEVudHJpZXM6IFsiLyJdIH0pKTsKCQkJYXdhaXQgdmlldy5yZW5kZXIoPFJvdXRlclByb3ZpZGVyIHJvdXRlcj17cm91dGVyfSAvPik7CgkJCWF3YWl0IGV2ZW50dWFsbHkoKCkgPT4gZXhwZWN0KHZpZXcuY29udGFpbmVyLnRleHRDb250ZW50KS50b0NvbnRhaW4oIk5vIG5vdGVzIHlldCIpKTsKCQkJZXhwZWN0KGNsaWVudC5jYWxscykudG9FcXVhbChbImxpc3QiXSk7CgoJCQlhd2FpdCBzdWJtaXQodmlldy5jb250YWluZXIpOwoJCQlhd2FpdCBldmVudHVhbGx5KCgpID0+IGV4cGVjdCh2aWV3LmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCJbcm9sZT1hbGVydF0iKT8udGV4dENvbnRlbnQpLnRvQmUoIlJlcXVpcmVkIikpOwoJCQlleHBlY3QoY2xpZW50LmNhbGxzKS50b0VxdWFsKFsibGlzdCJdKTsKCQkJYXdhaXQgZW50ZXIodmlldy5jb250YWluZXIsICJyZXNlcnZlZCIpOwoJCQlhd2FpdCBzdWJtaXQodmlldy5jb250YWluZXIpOwoJCQlhd2FpdCBldmVudHVhbGx5KCgpID0+IGV4cGVjdCh2aWV3LmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCJbcm9sZT1hbGVydF0iKT8udGV4dENvbnRlbnQpLnRvQmUoIkNob29zZSBhbm90aGVyIHRpdGxlIikpOwoJCQlleHBlY3Qodmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigiaW5wdXQiKT8udmFsdWUpLnRvQmUoInJlc2VydmVkIik7CgkJCWF3YWl0IGVudGVyKHZpZXcuY29udGFpbmVyLCAiRmlyc3Qgbm90ZSIpOwoJCQlhd2FpdCBzdWJtaXQodmlldy5jb250YWluZXIpOwoJCQlhd2FpdCBldmVudHVhbGx5KCgpID0+IGV4cGVjdCh2aWV3LmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCJsaSA+IGEiKT8udGV4dENvbnRlbnQpLnRvQmUoIkZpcnN0IG5vdGUiKSk7CgkJCWV4cGVjdCh2aWV3LmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpPy52YWx1ZSkudG9CZSgiIik7CgkJCWV4cGVjdCh2aWV3LmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCJbcm9sZT1hbGVydF0iKSkudG9CZU51bGwoKTsKCQkJZXhwZWN0KGNsaWVudC5jYWxscykudG9FcXVhbChbImxpc3QiLCAiY3JlYXRlIiwgImxpc3QiXSk7CgkJCWV4cGVjdCh2aWV3LmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCJsaSIpPy50ZXh0Q29udGVudCkudG9Db250YWluKCJDb3VudGluZyB3b3Jkc+KApiIpOwoJCQlhd2FpdCBhY3QoKCkgPT4gY2xpZW50LmZpbmlzaE5vdGUoMSwgMikpOwoJCQlhd2FpdCBldmVudHVhbGx5KCgpID0+IGV4cGVjdCh2aWV3LmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCJsaSIpPy50ZXh0Q29udGVudCkudG9Db250YWluKCIyIHdvcmRzIikpOwoJCQlleHBlY3QoY2xpZW50LmNhbGxzLmZpbHRlcigoY2FsbCkgPT4gY2FsbCA9PT0gImxpc3QiKS5sZW5ndGgpLnRvQmVHcmVhdGVyVGhhbigyKTsKCQkJYXdhaXQgYWN0KCgpID0+IGNsaWVudC5maW5pc2hOb3RlKDEsIDEpKTsKCQkJYXdhaXQgZXZlbnR1YWxseSgoKSA9PiBleHBlY3Qodmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigibGkiKT8udGV4dENvbnRlbnQpLnRvQ29udGFpbigiMSB3b3JkIikpOwoJCQlleHBlY3Qodmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigibGkiKT8udGV4dENvbnRlbnQpLm5vdC50b0NvbnRhaW4oIjEgd29yZHMiKTsKCQl9KTsKCX0sCik7Cg==","path":"src/client/NotesScreen.dom.test.tsx"},{"content":"aW1wb3J0IHsgdXNlQXRvbU1vdW50IH0gZnJvbSAiQGVmZmVjdC9hdG9tLXJlYWN0IjsKaW1wb3J0IHsgTGluayB9IGZyb20gIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXIiOwppbXBvcnQgeyBPcHRpb24gfSBmcm9tICJlZmZlY3QiOwppbXBvcnQgeyB1c2VTdGF0ZSB9IGZyb20gInJlYWN0IjsKaW1wb3J0IHsgdXNlUXVlcnkgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1yZWFjdC9yZXN1bHQtc3RhdGUudHMiOwppbXBvcnQgdHlwZSB7IE5vdGUgfSBmcm9tICIjbm90ZXMudHMiOwppbXBvcnQgeyBCdXR0b24gfSBmcm9tICIuL0J1dHRvbi50c3giOwppbXBvcnQgdHlwZSB7IE5vdGVzQ2xpZW50IH0gZnJvbSAiLi9tYWtlTm90ZXMudHMiOwppbXBvcnQgeyBOb3RlQ3JlYXRlIH0gZnJvbSAiLi9Ob3RlQ3JlYXRlLnRzeCI7CgpmdW5jdGlvbiB3b3JkQ291bnRMYWJlbChjb3VudDogbnVtYmVyIHwgbnVsbCkgewoJaWYgKGNvdW50ID09PSBudWxsKSB7CgkJcmV0dXJuICJDb3VudGluZyB3b3Jkc+KApiI7Cgl9CglyZXR1cm4gYCR7Y291bnR9ICR7Y291bnQgPT09IDEgPyAid29yZCIgOiAid29yZHMifWA7Cn0KCmZ1bmN0aW9uIFNhdmVkTm90ZSh7IG5vdGUgfTogeyByZWFkb25seSBub3RlOiB0eXBlb2YgTm90ZS5UeXBlIH0pIHsKCXJldHVybiAoCgkJPGxpIGNsYXNzTmFtZT0iYnJlYWstd29yZHMgcm91bmRlZC1sZyBib3JkZXIgYmctY2FyZCBwLTQiPgoJCQk8TGluayBjbGFzc05hbWU9InVuZGVybGluZSIgcGFyYW1zPXt7IG5vdGVJZDogU3RyaW5nKG5vdGUuaWQpIH19IHRvPSIvbm90ZXMvJG5vdGVJZCI+CgkJCQl7bm90ZS50aXRsZX0KCQkJPC9MaW5rPgoJCQk8cCBjbGFzc05hbWU9Im10LTIgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIHRleHQtc20iPnt3b3JkQ291bnRMYWJlbChub3RlLndvcmRDb3VudCl9PC9wPgoJCTwvbGk+CgkpOwp9CgpleHBvcnQgZnVuY3Rpb24gTm90ZXNTY3JlZW4oeyBjbGllbnQsIG9uU2lnbk91dCB9OiB7IHJlYWRvbmx5IGNsaWVudDogTm90ZXNDbGllbnQ7IHJlYWRvbmx5IG9uU2lnbk91dD86ICgpID0+IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB9KSB7Cgl1c2VBdG9tTW91bnQoY2xpZW50LmNvbm5lY3Rpb24pOwoJY29uc3QgW3NpZ25pbmdPdXQsIHNldFNpZ25pbmdPdXRdID0gdXNlU3RhdGUoZmFsc2UpOwoJY29uc3QgW2ZhaWx1cmUsIHNldEZhaWx1cmVdID0gdXNlU3RhdGU8c3RyaW5nPigpOwoJYXN5bmMgZnVuY3Rpb24gc2lnbk91dCgpIHsKCQlzZXRTaWduaW5nT3V0KHRydWUpOwoJCXRyeSB7CgkJCXNldEZhaWx1cmUoYXdhaXQgb25TaWduT3V0Py4oKSk7CgkJfSBjYXRjaCB7CgkJCXNldEZhaWx1cmUoIkNvdWxkIG5vdCBzaWduIG91dC4gVHJ5IGFnYWluLiIpOwoJCX0gZmluYWxseSB7CgkJCXNldFNpZ25pbmdPdXQoZmFsc2UpOwoJCX0KCX0KCWNvbnN0IHF1ZXJ5ID0gdXNlUXVlcnkoY2xpZW50LmFwaS5saXN0LnF1ZXJ5KCkpOwoJY29uc3Qgcm93cyA9IE9wdGlvbi5nZXRPckVsc2UocXVlcnkuZGF0YSwgKCkgPT4gW10pOwoJcmV0dXJuICgKCQk8bWFpbiBjbGFzc05hbWU9Im14LWF1dG8gdy1mdWxsIG1heC13LTJ4bCBzcGFjZS15LTggcHgtNCBweS0xMiBzbTpweC02Ij4KCQkJPGhlYWRlciBjbGFzc05hbWU9InNwYWNlLXktMiI+CgkJCQk8cCBjbGFzc05hbWU9ImZvbnQtbWVkaXVtIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCB0ZXh0LXNtIj5Zb3VyIGZpcnN0IGFwcDwvcD4KCQkJCTxoMSBjbGFzc05hbWU9ImZvbnQtc2VtaWJvbGQgdGV4dC0zeGwgdHJhY2tpbmctdGlnaHQiPk5vdGVzPC9oMT4KCQkJCTxwIGNsYXNzTmFtZT0idGV4dC1tdXRlZC1mb3JlZ3JvdW5kIj5BIHNtYWxsIHBsYWNlIGZvciB0aGluZ3Mgd29ydGgga2VlcGluZy48L3A+CgkJCQl7b25TaWduT3V0ICE9PSB1bmRlZmluZWQgJiYgKAoJCQkJCTxCdXR0b24gZGlzYWJsZWQ9e3NpZ25pbmdPdXR9IG9uQ2xpY2s9eygpID0+IHZvaWQgc2lnbk91dCgpfSB2YXJpYW50PSJvdXRsaW5lIj4KCQkJCQkJU2lnbiBvdXQKCQkJCQk8L0J1dHRvbj4KCQkJCSl9CgkJCQl7ZmFpbHVyZSAhPT0gdW5kZWZpbmVkICYmIDxwIHJvbGU9ImFsZXJ0Ij57ZmFpbHVyZX08L3A+fQoJCQk8L2hlYWRlcj4KCQkJPHNlY3Rpb24gYXJpYS1sYWJlbD0iQWRkIGEgbm90ZSIgY2xhc3NOYW1lPSJyb3VuZGVkLWxnIGJvcmRlciBiZy1jYXJkIHAtNSBzaGFkb3ctc20iPgoJCQkJPE5vdGVDcmVhdGUgY2xpZW50PXtjbGllbnR9IC8+CgkJCTwvc2VjdGlvbj4KCQkJPHNlY3Rpb24gYXJpYS1sYWJlbD0iU2F2ZWQgbm90ZXMiIGNsYXNzTmFtZT0ic3BhY2UteS00Ij4KCQkJCTxkaXYgY2xhc3NOYW1lPSJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4iPgoJCQkJCTxoMiBjbGFzc05hbWU9ImZvbnQtc2VtaWJvbGQgdGV4dC1sZyI+U2F2ZWQgbm90ZXM8L2gyPgoJCQkJCTxCdXR0b24gZGlzYWJsZWQ9e3F1ZXJ5LnBlbmRpbmd9IG9uQ2xpY2s9e3F1ZXJ5LnJlZnJlc2h9IHZhcmlhbnQ9Im91dGxpbmUiPgoJCQkJCQlSZWZyZXNoCgkJCQkJPC9CdXR0b24+CgkJCQk8L2Rpdj4KCQkJCXtPcHRpb24uaXNTb21lKHF1ZXJ5LmNhdXNlKSAmJiA8cCByb2xlPSJhbGVydCI+Q291bGQgbm90IGxvYWQgbm90ZXMuIFRyeSByZWZyZXNoaW5nLjwvcD59CgkJCQl7cXVlcnkucGVuZGluZyA/IDxwIHJvbGU9InN0YXR1cyI+TG9hZGluZyBub3Rlc+KApjwvcD4gOiBudWxsfQoJCQkJeyFxdWVyeS5wZW5kaW5nICYmIHJvd3MubGVuZ3RoID09PSAwICYmIDxwIGNsYXNzTmFtZT0idGV4dC1tdXRlZC1mb3JlZ3JvdW5kIHRleHQtc20iPk5vIG5vdGVzIHlldC4gQWRkIHlvdXIgZmlyc3Qgb25lIGFib3ZlLjwvcD59CgkJCQk8dWwgY2xhc3NOYW1lPSJzcGFjZS15LTMiPgoJCQkJCXtyb3dzLm1hcCgocm93KSA9PiAoCgkJCQkJCTxTYXZlZE5vdGUga2V5PXtyb3cuaWR9IG5vdGU9e3Jvd30gLz4KCQkJCQkpKX0KCQkJCTwvdWw+CgkJCTwvc2VjdGlvbj4KCQk8L21haW4+CgkpOwp9Cg==","path":"src/client/NotesScreen.tsx"},{"content":"aW1wb3J0IHsgdHlwZSBFcnJvckNvbXBvbmVudFByb3BzLCBMaW5rIH0gZnJvbSAiQHRhbnN0YWNrL3JlYWN0LXJvdXRlciI7CmltcG9ydCB7IFByZWRpY2F0ZSB9IGZyb20gImVmZmVjdCI7CgpleHBvcnQgZnVuY3Rpb24gUm91dGVGYWlsdXJlKHsgZXJyb3IsIHJlc2V0OiBoYW5kbGVDbGljayB9OiBFcnJvckNvbXBvbmVudFByb3BzKSB7Cgljb25zdCB1bmF1dGhvcml6ZWQgPSBQcmVkaWNhdGUuaXNUYWdnZWQoZXJyb3IsICJVbmF1dGhvcml6ZWQiKTsKCXJldHVybiAoCgkJPG1haW4gY2xhc3NOYW1lPSJteC1hdXRvIG1heC13LW1kIHNwYWNlLXktNCBweC00IHB5LTEyIj4KCQkJPHAgcm9sZT0iYWxlcnQiPnt1bmF1dGhvcml6ZWQgPyAiU2lnbiBpbiB0byB2aWV3IHlvdXIgbm90ZXMuIiA6ICJDb3VsZCBub3QgbG9hZCBub3Rlcy4ifTwvcD4KCQkJe3VuYXV0aG9yaXplZCA/ICgKCQkJCTxMaW5rIGNsYXNzTmFtZT0idW5kZXJsaW5lIiB0bz0iL3NpZ24taW4iPgoJCQkJCVNpZ24gaW4KCQkJCTwvTGluaz4KCQkJKSA6ICgKCQkJCTxidXR0b24gb25DbGljaz17aGFuZGxlQ2xpY2t9IHR5cGU9ImJ1dHRvbiI+CgkJCQkJUmV0cnkKCQkJCTwvYnV0dG9uPgoJCQkpfQoJCTwvbWFpbj4KCSk7Cn0K","path":"src/client/RouteFailure.tsx"},{"content":"aW1wb3J0IHsgY3JlYXRlTWVtb3J5SGlzdG9yeSB9IGZyb20gIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXIiOwppbXBvcnQgeyBhY3QgfSBmcm9tICJyZWFjdCI7CmltcG9ydCB7IGV4cGVjdCwgb25UZXN0RmluaXNoZWQgfSBmcm9tICJ2aXRlc3QiOwppbXBvcnQgeyBldmVudHVhbGx5LCBleHBlY3ROb1JlYWN0V2FybmluZ3MsIHJlbmRlciB9IGZyb20gIkBzaGl2YWVkZXYvZWZmZWN0LXJlYWN0L3Rlc3RpbmcudHMiOwppbXBvcnQgeyBub3Rlc0NsaWVudCB9IGZyb20gIiN0ZXN0LXN1cHBvcnQvbm90ZXNDbGllbnQudHMiOwppbXBvcnQgeyBzY3JlZW5BdXRoIH0gZnJvbSAiI3Rlc3Qtc3VwcG9ydC9zY3JlZW5BdXRoLnRzIjsKaW1wb3J0IHsgc2NyZWVucyB9IGZyb20gIiN0ZXN0LXN1cHBvcnQvc2NyZWVucy50cyI7CmltcG9ydCB7IFNlc3Npb25BcHAgfSBmcm9tICIuL1Nlc3Npb25BcHAudHN4IjsKCk9iamVjdC5hc3NpZ24oZ2xvYmFsVGhpcywgeyAiSVNfUkVBQ1RfQUNUX0VOVklST05NRU5UIjogdHJ1ZSB9KTsKZXhwZWN0Tm9SZWFjdFdhcm5pbmdzKCk7CgpzY3JlZW5zLml0KCJyZXBsYWNlcyBjYWNoZWQgbm90ZXMgYW5kIHRoZSBkcmFmdCB3aGVuIHRoZSBhdXRoZW50aWNhdGlvbiBvd25lcidzIHNlc3Npb24gY2hhbmdlcyIsIFtdLCBmdW5jdGlvbiogKHsgaW50ZXJhY3QsIGVudGVyIH0pIHsKCXlpZWxkKiBpbnRlcmFjdChhc3luYyAoKSA9PiB7CgkJY29uc3QgYWxpY2UgPSBub3Rlc0NsaWVudCgpOwoJCWNvbnN0IGJvYiA9IG5vdGVzQ2xpZW50KCk7CgkJZnVuY3Rpb24gY29ubmVjdGlvbih7IGlkIH06IHsgcmVhZG9ubHkgaWQ6IHN0cmluZyB9KSB7CgkJCXJldHVybiBpZCA9PT0gImFsaWNlIiA/IGFsaWNlIDogYm9iOwoJCX0KCQljb25zdCBhdXRoID0gc2NyZWVuQXV0aCgpOwoJCWNvbnN0IGhpc3RvcnkgPSBjcmVhdGVNZW1vcnlIaXN0b3J5KHsgaW5pdGlhbEVudHJpZXM6IFsiLyJdIH0pOwoJCWZ1bmN0aW9uIHJlY2hlY2soKSB7CgkJCXJldHVybiB1bmRlZmluZWQ7CgkJfQoJCWNvbnN0IHZpZXcgPSBhd2FpdCByZW5kZXIoPFNlc3Npb25BcHAgYXV0aD17YXV0aH0gY29ubmVjdD17Y29ubmVjdGlvbn0gaGlzdG9yeT17aGlzdG9yeX0gcmVjaGVjaz17cmVjaGVja30gc2Vzc2lvbklkPSJhbGljZSIgLz4pOwoJCW9uVGVzdEZpbmlzaGVkKHZpZXcudW5tb3VudCk7CgkJYXdhaXQgZXZlbnR1YWxseSgoKSA9PiBleHBlY3QoYWxpY2UuY2FsbHMpLnRvRXF1YWwoWyJsaXN0Il0pKTsKCgkJYXdhaXQgZW50ZXIodmlldy5jb250YWluZXIsICJBbGljZSdzIHNhdmVkIG5vdGUiKTsKCQlhd2FpdCBhY3QoKCkgPT4gdmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigiZm9ybSIpPy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgic3VibWl0IiwgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pKSk7CgkJYXdhaXQgZXZlbnR1YWxseSgoKSA9PiBleHBlY3Qodmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigibGkgPiBhIik/LnRleHRDb250ZW50KS50b0JlKCJBbGljZSdzIHNhdmVkIG5vdGUiKSk7CgkJYXdhaXQgZW50ZXIodmlldy5jb250YWluZXIsICJBbGljZSdzIHByaXZhdGUgZHJhZnQiKTsKCQlhd2FpdCB2aWV3LnJlbmRlcig8U2Vzc2lvbkFwcCBhdXRoPXthdXRofSBjb25uZWN0PXtjb25uZWN0aW9ufSBoaXN0b3J5PXtoaXN0b3J5fSByZWNoZWNrPXtyZWNoZWNrfSBzZXNzaW9uSWQ9ImJvYiIgLz4pOwoJCWF3YWl0IGV2ZW50dWFsbHkoKCkgPT4gZXhwZWN0KGJvYi5jYWxscykudG9FcXVhbChbImxpc3QiXSkpOwoJCWV4cGVjdCh2aWV3LmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCJsaSIpKS50b0JlTnVsbCgpOwoJCWV4cGVjdCh2aWV3LmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpPy52YWx1ZSkudG9CZSgiIik7Cgl9KTsKfSk7Cg==","path":"src/client/SessionApp.dom.test.tsx"},{"content":"aW1wb3J0IHsgUmVnaXN0cnlDb250ZXh0IH0gZnJvbSAiQGVmZmVjdC9hdG9tLXJlYWN0IjsKaW1wb3J0IHsgdHlwZSBSb3V0ZXJIaXN0b3J5LCBSb3V0ZXJQcm92aWRlciB9IGZyb20gIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXIiOwppbXBvcnQgeyB1c2VDb250ZXh0LCB1c2VTdGF0ZSB9IGZyb20gInJlYWN0IjsKaW1wb3J0IHsgU2Vzc2lvbkJvdW5kYXJ5IH0gZnJvbSAiQHNoaXZhZWRldi9lZmZlY3QtcmVhY3Qvc2Vzc2lvbi1ib3VuZGFyeS50cyI7CmltcG9ydCB7IGFwcFJvdXRlciB9IGZyb20gIi4vYXBwUm91dGVyLnRzeCI7CmltcG9ydCB0eXBlIHsgQXV0aEFjdGlvbnMgfSBmcm9tICIuL2F1dGgudHMiOwppbXBvcnQgdHlwZSB7IE5vdGVzQ2xpZW50IH0gZnJvbSAiLi9tYWtlTm90ZXMudHMiOwoKaW50ZXJmYWNlIFNlc3Npb24gewoJcmVhZG9ubHkgaWQ6IHN0cmluZzsKfQppbnRlcmZhY2UgUm91dGluZyB7CglyZWFkb25seSBhdXRoOiBBdXRoQWN0aW9uczsKCXJlYWRvbmx5IGNsaWVudDogTm90ZXNDbGllbnQ7CglyZWFkb25seSBoaXN0b3J5OiBSb3V0ZXJIaXN0b3J5IHwgdW5kZWZpbmVkOwp9CgpmdW5jdGlvbiBSb3V0ZWRBcHAoeyBjbGllbnQsIGF1dGgsIGhpc3RvcnkgfTogUm91dGluZykgewoJY29uc3QgcmVnaXN0cnkgPSB1c2VDb250ZXh0KFJlZ2lzdHJ5Q29udGV4dCk7Cgljb25zdCBbcm91dGVyXSA9IHVzZVN0YXRlKCgpID0+IGFwcFJvdXRlcihyZWdpc3RyeSwgY2xpZW50LCBhdXRoLCBoaXN0b3J5KSk7CglyZXR1cm4gPFJvdXRlclByb3ZpZGVyIHJvdXRlcj17cm91dGVyfSAvPjsKfQoKZnVuY3Rpb24gaWRlbnRpZnkoc2Vzc2lvbjogU2Vzc2lvbikgewoJcmV0dXJuIHNlc3Npb24uaWQ7Cn0KCmV4cG9ydCBmdW5jdGlvbiBTZXNzaW9uQXBwKHsKCXNlc3Npb25JZCwKCXJlY2hlY2ssCglhdXRoLAoJY29ubmVjdDogY29ubmVjdGlvbiwKCWhpc3RvcnksCn06IHsKCXJlYWRvbmx5IHNlc3Npb25JZDogc3RyaW5nOwoJcmVhZG9ubHkgcmVjaGVjazogKCkgPT4gdm9pZDsKCXJlYWRvbmx5IGF1dGg6IEF1dGhBY3Rpb25zOwoJcmVhZG9ubHkgY29ubmVjdDogKHNlc3Npb246IFNlc3Npb24pID0+IE5vdGVzQ2xpZW50OwoJcmVhZG9ubHkgaGlzdG9yeT86IFJvdXRlckhpc3RvcnkgfCB1bmRlZmluZWQ7Cn0pIHsKCXJldHVybiAoCgkJPFNlc3Npb25Cb3VuZGFyeSBjb25uZWN0PXtjb25uZWN0aW9ufSBpZGVudGlmeT17aWRlbnRpZnl9IHJlY2hlY2s9e3JlY2hlY2t9IHNlc3Npb249e3sgaWQ6IHNlc3Npb25JZCB9fT4KCQkJeyhjbGllbnQpID0+IDxSb3V0ZWRBcHAgYXV0aD17YXV0aH0gY2xpZW50PXtjbGllbnR9IGhpc3Rvcnk9e2hpc3Rvcnl9IC8+fQoJCTwvU2Vzc2lvbkJvdW5kYXJ5PgoJKTsKfQo=","path":"src/client/SessionApp.tsx"},{"content":"aW1wb3J0IHsgY3JlYXRlUm9vdFJvdXRlV2l0aENvbnRleHQsIGNyZWF0ZVJvdXRlLCBjcmVhdGVSb3V0ZXIsIHR5cGUgUm91dGVySGlzdG9yeSB9IGZyb20gIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXIiOwppbXBvcnQgeyBTY2hlbWEgfSBmcm9tICJlZmZlY3QiOwppbXBvcnQgdHlwZSAqIGFzIEF0b21SZWdpc3RyeSBmcm9tICJlZmZlY3QvcmVhY3Rpdml0eS9BdG9tUmVnaXN0cnkiOwppbXBvcnQgeyBsb2FkUXVlcnkgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1yZWFjdC9yb3V0ZXIudHMiOwppbXBvcnQgdHlwZSB7IEF1dGhBY3Rpb25zIH0gZnJvbSAiLi9hdXRoLnRzIjsKaW1wb3J0IHsgTG9naW5TY3JlZW4gfSBmcm9tICIuL0xvZ2luU2NyZWVuLnRzeCI7CmltcG9ydCB0eXBlIHsgTm90ZXNDbGllbnQgfSBmcm9tICIuL21ha2VOb3Rlcy50cyI7CmltcG9ydCB7IE5vdGVFZGl0IH0gZnJvbSAiLi9Ob3RlRWRpdC50c3giOwppbXBvcnQgeyBOb3Rlc1NjcmVlbiB9IGZyb20gIi4vTm90ZXNTY3JlZW4udHN4IjsKaW1wb3J0IHsgUm91dGVGYWlsdXJlIH0gZnJvbSAiLi9Sb3V0ZUZhaWx1cmUudHN4IjsKCmV4cG9ydCBmdW5jdGlvbiBhcHBSb3V0ZXIocmVnaXN0cnk6IEF0b21SZWdpc3RyeS5BdG9tUmVnaXN0cnksIGNsaWVudDogTm90ZXNDbGllbnQsIGF1dGg6IEF1dGhBY3Rpb25zLCBoaXN0b3J5PzogUm91dGVySGlzdG9yeSkgewoJY29uc3Qgcm9vdCA9IGNyZWF0ZVJvb3RSb3V0ZVdpdGhDb250ZXh0PHsgcmVhZG9ubHkgcmVnaXN0cnk6IEF0b21SZWdpc3RyeS5BdG9tUmVnaXN0cnkgfT4oKSgpOwoJY29uc3Qgbm90ZXMgPSBjcmVhdGVSb3V0ZSh7CgkJY29tcG9uZW50OiAoKSA9PiA8Tm90ZXNTY3JlZW4gY2xpZW50PXtjbGllbnR9IG9uU2lnbk91dD17KCkgPT4gYXV0aC5zaWduT3V0KCl9IC8+LAoJCWVycm9yQ29tcG9uZW50OiBSb3V0ZUZhaWx1cmUsCgkJZ2V0UGFyZW50Um91dGU6ICgpID0+IHJvb3QsCgkJbG9hZGVyOiAoY29udGV4dCkgPT4gbG9hZFF1ZXJ5KGNvbnRleHQuY29udGV4dC5yZWdpc3RyeSwgY2xpZW50LmFwaS5saXN0LnF1ZXJ5KCksIGNvbnRleHQpLAoJCXBhdGg6ICIvIiwKCX0pOwoJY29uc3QgbG9naW4gPSBjcmVhdGVSb3V0ZSh7CgkJY29tcG9uZW50OiAoKSA9PiA8TG9naW5TY3JlZW4gYXV0aD17YXV0aH0gb25BdXRoZW50aWNhdGVkPXsoKSA9PiB2b2lkIHJvdXRlci5uYXZpZ2F0ZSh7IHRvOiAiLyIgfSl9IC8+LAoJCWdldFBhcmVudFJvdXRlOiAoKSA9PiByb290LAoJCXBhdGg6ICIvc2lnbi1pbiIsCgl9KTsKCWNvbnN0IG5vdGUgPSBjcmVhdGVSb3V0ZSh7CgkJY29tcG9uZW50OiAoKSA9PiB7CgkJCWNvbnN0IHsgbm90ZUlkIH0gPSBub3RlLnVzZVBhcmFtcygpOwoJCQlyZXR1cm4gPE5vdGVFZGl0IGNsaWVudD17Y2xpZW50fSBrZXk9e25vdGVJZH0gbm90ZUlkPXtub3RlSWR9IG9uRGVsZXRlZD17KCkgPT4gdm9pZCByb3V0ZXIubmF2aWdhdGUoeyB0bzogIi8iIH0pfSAvPjsKCQl9LAoJCWVycm9yQ29tcG9uZW50OiBSb3V0ZUZhaWx1cmUsCgkJZ2V0UGFyZW50Um91dGU6ICgpID0+IHJvb3QsCgkJbG9hZGVyOiAoY29udGV4dCkgPT4gbG9hZFF1ZXJ5KGNvbnRleHQuY29udGV4dC5yZWdpc3RyeSwgY2xpZW50LmFwaS5nZXQucXVlcnkoeyBpZDogY29udGV4dC5wYXJhbXMubm90ZUlkIH0pLCBjb250ZXh0KSwKCQlwYXJhbXM6IHsKCQkJcGFyc2U6ICh7IG5vdGVJZCB9KSA9PiAoeyBub3RlSWQ6IFNjaGVtYS5kZWNvZGVVbmtub3duU3luYyhTY2hlbWEuTnVtYmVyRnJvbVN0cmluZy5jaGVjayhTY2hlbWEuaXNJbnQoKSwgU2NoZW1hLmlzR3JlYXRlclRoYW4oMCkpKShub3RlSWQpIH0pLAoJCQlzdHJpbmdpZnk6ICh7IG5vdGVJZCB9OiB7IHJlYWRvbmx5IG5vdGVJZDogbnVtYmVyIH0pID0+ICh7IG5vdGVJZDogU3RyaW5nKG5vdGVJZCkgfSksCgkJfSwKCQlwYXRoOiAiL25vdGVzLyRub3RlSWQiLAoJfSk7Cgljb25zdCByb3V0ZXIgPSBjcmVhdGVSb3V0ZXIoewoJCWNvbnRleHQ6IHsgcmVnaXN0cnkgfSwKCQkuLi4oaGlzdG9yeSA9PT0gdW5kZWZpbmVkID8ge30gOiB7IGhpc3RvcnkgfSksCgkJcm91dGVUcmVlOiByb290LmFkZENoaWxkcmVuKFtub3RlcywgbG9naW4sIG5vdGVdKSwKCX0pOwoJcmV0dXJuIHJvdXRlcjsKfQo=","path":"src/client/appRouter.tsx"},{"content":"aW1wb3J0IHsgY3JlYXRlQXV0aENsaWVudCB9IGZyb20gImJldHRlci1hdXRoL3JlYWN0IjsKCmV4cG9ydCBpbnRlcmZhY2UgQ3JlZGVudGlhbHMgewoJcmVhZG9ubHkgZW1haWw6IHN0cmluZzsKCXJlYWRvbmx5IG5hbWU6IHN0cmluZzsKCXJlYWRvbmx5IHBhc3N3b3JkOiBzdHJpbmc7Cn0KCmV4cG9ydCBpbnRlcmZhY2UgQXV0aEFjdGlvbnMgewoJcmVhZG9ubHkgc2lnbk91dDogKCkgPT4gUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+OwoJcmVhZG9ubHkgc3VibWl0OiAobW9kZTogInNpZ24taW4iIHwgInNpZ24tdXAiLCBjcmVkZW50aWFsczogQ3JlZGVudGlhbHMpID0+IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPjsKfQoKZXhwb3J0IGZ1bmN0aW9uIG1ha2VBdXRoKG9wdGlvbnM6IHsKCXJlYWRvbmx5IGJhc2VVcmw6IHN0cmluZzsKCXJlYWRvbmx5IGZldGNoT3B0aW9ucz86IE5vbk51bGxhYmxlPFBhcmFtZXRlcnM8dHlwZW9mIGNyZWF0ZUF1dGhDbGllbnQ+WzBdPlsiZmV0Y2hPcHRpb25zIl07Cn0pIHsKCWNvbnN0IGNsaWVudCA9IGNyZWF0ZUF1dGhDbGllbnQoeyAiYmFzZVVSTCI6IG9wdGlvbnMuYmFzZVVybCwgLi4uKCJmZXRjaE9wdGlvbnMiIGluIG9wdGlvbnMgPyB7IGZldGNoT3B0aW9uczogb3B0aW9ucy5mZXRjaE9wdGlvbnMgfSA6IHt9KSB9KTsKCWNvbnN0IGFjdGlvbnM6IEF1dGhBY3Rpb25zID0gewoJCXNpZ25PdXQ6IGFzeW5jICgpID0+IHsKCQkJY29uc3QgcmVzdWx0ID0gYXdhaXQgY2xpZW50LnNpZ25PdXQoKTsKCQkJcmV0dXJuIHJlc3VsdC5lcnJvcj8ubWVzc2FnZTsKCQl9LAoJCXN1Ym1pdDogYXN5bmMgKG1vZGUsIGNyZWRlbnRpYWxzKSA9PiB7CgkJCWNvbnN0IHJlc3VsdCA9IG1vZGUgPT09ICJzaWduLXVwIiA/IGF3YWl0IGNsaWVudC5zaWduVXAuZW1haWwoY3JlZGVudGlhbHMpIDogYXdhaXQgY2xpZW50LnNpZ25Jbi5lbWFpbChjcmVkZW50aWFscyk7CgkJCXJldHVybiByZXN1bHQuZXJyb3I/Lm1lc3NhZ2U7CgkJfSwKCX07CglyZXR1cm4geyBhY3Rpb25zLCBjbGllbnQgfTsKfQoKZXhwb3J0IHR5cGUgQXV0aCA9IFJldHVyblR5cGU8dHlwZW9mIG1ha2VBdXRoPjsK","path":"src/client/auth.ts"},{"content":"aW1wb3J0IHsgY3JlYXRlTWVtb3J5SGlzdG9yeSwgUm91dGVyUHJvdmlkZXIgfSBmcm9tICJAdGFuc3RhY2svcmVhY3Qtcm91dGVyIjsKaW1wb3J0IHsgYWN0IH0gZnJvbSAicmVhY3QiOwppbXBvcnQgeyBiZWZvcmVFYWNoLCBleHBlY3QsIG9uVGVzdEZpbmlzaGVkLCB2aSB9IGZyb20gInZpdGVzdCI7CmltcG9ydCB7IGV2ZW50dWFsbHksIHJlbmRlciB9IGZyb20gIkBzaGl2YWVkZXYvZWZmZWN0LXJlYWN0L3Rlc3RpbmcudHMiOwppbXBvcnQgeyBVbmF1dGhvcml6ZWQgfSBmcm9tICJAc2hpdmFlZGV2L3BsYXRmb3JtL2Vycm9ycy90YXhvbm9teS50cyI7CmltcG9ydCB7IG5vdGVzQ2xpZW50IH0gZnJvbSAiI3Rlc3Qtc3VwcG9ydC9ub3Rlc0NsaWVudC50cyI7CmltcG9ydCB7IHNjcmVlbkF1dGggfSBmcm9tICIjdGVzdC1zdXBwb3J0L3NjcmVlbkF1dGgudHMiOwppbXBvcnQgeyBzY3JlZW5zIH0gZnJvbSAiI3Rlc3Qtc3VwcG9ydC9zY3JlZW5zLnRzIjsKaW1wb3J0IHsgYXBwUm91dGVyIH0gZnJvbSAiLi9hcHBSb3V0ZXIudHN4IjsKaW1wb3J0IHsgTm90ZXNTY3JlZW4gfSBmcm9tICIuL05vdGVzU2NyZWVuLnRzeCI7CgpPYmplY3QuYXNzaWduKGdsb2JhbFRoaXMsIHsgIklTX1JFQUNUX0FDVF9FTlZJUk9OTUVOVCI6IHRydWUgfSk7CmxldCBleHBlY3RlZEVycm9yczogcmVhZG9ubHkgKHJlYWRvbmx5IHVua25vd25bXSlbXSA9IFtdOwpiZWZvcmVFYWNoKCgpID0+IHsKCWV4cGVjdGVkRXJyb3JzID0gW107Cgljb25zdCBlcnJvcnMgPSB2aS5zcHlPbihjb25zb2xlLCAiZXJyb3IiKTsKCW9uVGVzdEZpbmlzaGVkKCgpID0+IHsKCQljb25zdCBjYWxscyA9IGVycm9ycy5tb2NrLmNhbGxzOwoJCWVycm9ycy5tb2NrUmVzdG9yZSgpOwoJCWV4cGVjdChjYWxscykudG9FcXVhbChleHBlY3RlZEVycm9ycyk7Cgl9KTsKfSk7CgpzY3JlZW5zLml0KCJzaG93cyB0aGUgcHJvdGVjdGVkIHJvdXRlJ3MgdHlwZWQgVW5hdXRob3JpemVkIGZhaWx1cmUgYW5kIGxpbmtzIHRvIHNpZ24taW4iLCBbXSwgZnVuY3Rpb24qICh7IGludGVyYWN0IH0pIHsKCXlpZWxkKiBpbnRlcmFjdChhc3luYyAoKSA9PiB7CgkJY29uc3QgY2xpZW50ID0gbm90ZXNDbGllbnQoKTsKCQljbGllbnQuc2Vzc2lvbi5zaWduZWRJbiA9IGZhbHNlOwoJCWV4cGVjdGVkRXJyb3JzID0gWwoJCQlbCgkJCQlleHBlY3QuYW55KFN0cmluZyksCgkJCQluZXcgVW5hdXRob3JpemVkKHsgbWVzc2FnZTogIkF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkIiB9KSwKCQkJCSJUaGUgYWJvdmUgZXJyb3Igb2NjdXJyZWQgaW4gdGhlIDxNYXRjaElubmVySW1wbD4gY29tcG9uZW50LiIsCgkJCQkiUmVhY3Qgd2lsbCB0cnkgdG8gcmVjcmVhdGUgdGhpcyBjb21wb25lbnQgdHJlZSBmcm9tIHNjcmF0Y2ggdXNpbmcgdGhlIGVycm9yIGJvdW5kYXJ5IHlvdSBwcm92aWRlZCwgQ2F0Y2hCb3VuZGFyeS4iLAoJCQldLAoJCV07CgkJY29uc3QgdmlldyA9IGF3YWl0IHJlbmRlcihudWxsKTsKCQlvblRlc3RGaW5pc2hlZCh2aWV3LnVubW91bnQpOwoJCWNvbnN0IHJvdXRlciA9IGFwcFJvdXRlcih2aWV3LnJlZ2lzdHJ5LCBjbGllbnQsIHNjcmVlbkF1dGgoKSwgY3JlYXRlTWVtb3J5SGlzdG9yeSh7IGluaXRpYWxFbnRyaWVzOiBbIi8iXSB9KSk7CgkJYXdhaXQgdmlldy5yZW5kZXIoPFJvdXRlclByb3ZpZGVyIHJvdXRlcj17cm91dGVyfSAvPik7CgkJYXdhaXQgZXZlbnR1YWxseSgoKSA9PiBleHBlY3Qodmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigiW3JvbGU9YWxlcnRdIik/LnRleHRDb250ZW50KS50b0JlKCJTaWduIGluIHRvIHZpZXcgeW91ciBub3Rlcy4iKSk7CgkJZXhwZWN0KHZpZXcuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoImEiKT8uZ2V0QXR0cmlidXRlKCJocmVmIikpLnRvQmUoIi9zaWduLWluIik7CgkJZXhwZWN0KHZpZXcuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoImZvcm0iKSkudG9CZU51bGwoKTsKCQlleHBlY3QoY2xpZW50LmNhbGxzKS50b0VxdWFsKFtdKTsKCX0pOwp9KTsKCnNjcmVlbnMuaXQoInNob3dzIHR5cGVkIGNvbW1hbmQgcmVqZWN0aW9uIGFmdGVyIGV4cGlyeSB3aXRob3V0IGNsZWFyaW5nIHRoZSBkcmFmdCIsIFtdLCBmdW5jdGlvbiogKHsgaW50ZXJhY3QgfSkgewoJeWllbGQqIGludGVyYWN0KGFzeW5jICgpID0+IHsKCQljb25zdCBjbGllbnQgPSBub3Rlc0NsaWVudCgpOwoJCWNvbnN0IHZpZXcgPSBhd2FpdCByZW5kZXIoPE5vdGVzU2NyZWVuIGNsaWVudD17Y2xpZW50fSAvPik7CgkJb25UZXN0RmluaXNoZWQodmlldy51bm1vdW50KTsKCQlhd2FpdCBldmVudHVhbGx5KCgpID0+IGV4cGVjdChjbGllbnQuY2FsbHMpLnRvRXF1YWwoWyJsaXN0Il0pKTsKCQljbGllbnQuc2Vzc2lvbi5zaWduZWRJbiA9IGZhbHNlOwoJCWNvbnN0IGlucHV0ID0gdmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigiaW5wdXQiKTsKCQlpZiAoIShpbnB1dCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQpKSB7CgkJCXRocm93IG5ldyBFcnJvcigiTWlzc2luZyBub3RlIGlucHV0Iik7CgkJfQoJCWF3YWl0IGFjdCgoKSA9PiB7CgkJCU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSFRNTElucHV0RWxlbWVudC5wcm90b3R5cGUsICJ2YWx1ZSIpPy5zZXQ/LmNhbGwoaW5wdXQsICJLZWVwIHRoaXMgZHJhZnQiKTsKCQkJaW5wdXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImlucHV0IiwgeyBidWJibGVzOiB0cnVlIH0pKTsKCQl9KTsKCQlhd2FpdCBhY3QoKCkgPT4gdmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigiZm9ybSIpPy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgic3VibWl0IiwgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pKSk7CgkJYXdhaXQgZXZlbnR1YWxseSgoKSA9PiBleHBlY3Qodmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigiW3JvbGU9YWxlcnRdIik/LnRleHRDb250ZW50KS50b0JlKCJTaWduIGluIHRvIGFkZCBhIG5vdGUuIikpOwoJCWV4cGVjdChpbnB1dC52YWx1ZSkudG9CZSgiS2VlcCB0aGlzIGRyYWZ0Iik7CgkJZXhwZWN0KGNsaWVudC5jYWxscykudG9FcXVhbChbImxpc3QiXSk7Cgl9KTsKfSk7CgpzY3JlZW5zLml0KCJjYWxscyBzaWduLW91dCBhbmQgc2hvd3MgYSBmYWlsZWQgc2lnbi1vdXQgd2l0aG91dCBjbGFpbWluZyBzdWNjZXNzIiwgW10sIGZ1bmN0aW9uKiAoeyBpbnRlcmFjdCB9KSB7Cgl5aWVsZCogaW50ZXJhY3QoYXN5bmMgKCkgPT4gewoJCWNvbnN0IGNsaWVudCA9IG5vdGVzQ2xpZW50KCk7CgkJbGV0IGNhbGxzID0gMDsKCQljb25zdCB2aWV3ID0gYXdhaXQgcmVuZGVyKAoJCQk8Tm90ZXNTY3JlZW4KCQkJCWNsaWVudD17Y2xpZW50fQoJCQkJb25TaWduT3V0PXsoKSA9PiB7CgkJCQkJY2FsbHMgKz0gMTsKCQkJCQlyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJDb3VsZCBub3Qgc2lnbiBvdXQiKTsKCQkJCX19CgkJCS8+LAoJCSk7CgkJb25UZXN0RmluaXNoZWQodmlldy51bm1vdW50KTsKCQlhd2FpdCBhY3QoYXN5bmMgKCkgPT4gewoJCQlbLi4udmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgiYnV0dG9uIildLmZpbmQoKGJ1dHRvbikgPT4gYnV0dG9uLnRleHRDb250ZW50ID09PSAiU2lnbiBvdXQiKT8uY2xpY2soKTsKCQkJYXdhaXQgUHJvbWlzZS5yZXNvbHZlKCk7CgkJfSk7CgkJZXhwZWN0KGNhbGxzKS50b0JlKDEpOwoJCWV4cGVjdCh2aWV3LmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCJbcm9sZT1hbGVydF0iKT8udGV4dENvbnRlbnQpLnRvQmUoIkNvdWxkIG5vdCBzaWduIG91dCIpOwoJfSk7Cn0pOwo=","path":"src/client/authFailures.dom.spec.tsx"},{"content":"aW1wb3J0IHsgdHlwZSBDbGFzc1ZhbHVlLCBjbHN4IH0gZnJvbSAiY2xzeCI7CmltcG9ydCB7IHR3TWVyZ2UgfSBmcm9tICJ0YWlsd2luZC1tZXJnZSI7CgpleHBvcnQgZnVuY3Rpb24gY24oLi4uaW5wdXRzOiBDbGFzc1ZhbHVlW10pIHsKCXJldHVybiB0d01lcmdlKGNsc3goaW5wdXRzKSk7Cn0K","path":"src/client/cn.ts"},{"content":"QGltcG9ydCAidGFpbHdpbmRjc3MiIHNvdXJjZSgiLi8iKTsKCkB0aGVtZSBpbmxpbmUgewoJLS1jb2xvci1iYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kKTsKCS0tY29sb3ItZm9yZWdyb3VuZDogdmFyKC0tZm9yZWdyb3VuZCk7CgktLWNvbG9yLWNhcmQ6IHZhcigtLWJhY2tncm91bmQpOwoJLS1jb2xvci1wcmltYXJ5OiB2YXIoLS1mb3JlZ3JvdW5kKTsKCS0tY29sb3ItcHJpbWFyeS1mb3JlZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kKTsKCS0tY29sb3ItbXV0ZWQ6IHZhcigtLW11dGVkKTsKCS0tY29sb3ItbXV0ZWQtZm9yZWdyb3VuZDogdmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCk7CgktLWNvbG9yLWRlc3RydWN0aXZlOiBva2xjaCgwLjU3NyAwLjI0NSAyNy4zMjUpOwoJLS1jb2xvci1ib3JkZXI6IHZhcigtLWJvcmRlcik7CgktLWNvbG9yLWlucHV0OiB2YXIoLS1ib3JkZXIpOwoJLS1jb2xvci1yaW5nOiBva2xjaCgwLjcwOCAwIDApOwoJLS1yYWRpdXMtbWQ6IDAuNXJlbTsKCS0tcmFkaXVzLWxnOiAwLjYyNXJlbTsKfQoKOnJvb3QgewoJLS1iYWNrZ3JvdW5kOiBva2xjaCgxIDAgMCk7CgktLWZvcmVncm91bmQ6IG9rbGNoKDAuMTQ1IDAgMCk7CgktLW11dGVkOiBva2xjaCgwLjk3IDAgMCk7CgktLW11dGVkLWZvcmVncm91bmQ6IG9rbGNoKDAuNTU2IDAgMCk7CgktLWJvcmRlcjogb2tsY2goMC45MjIgMCAwKTsKfQoKQGxheWVyIGJhc2UgewoJKiB7CgkJQGFwcGx5IGJvcmRlci1ib3JkZXI7Cgl9Cglib2R5IHsKCQlAYXBwbHkgYmctYmFja2dyb3VuZCB0ZXh0LWZvcmVncm91bmQ7Cgl9Cn0K","path":"src/client/entry.css"},{"content":"aW1wb3J0IHsgY3JlYXRlUm9vdCB9IGZyb20gInJlYWN0LWRvbS9jbGllbnQiOwppbXBvcnQgeyBBcHAgfSBmcm9tICIuL0FwcC50c3giOwppbXBvcnQgeyBtYWtlQXV0aCB9IGZyb20gIi4vYXV0aC50cyI7CmltcG9ydCB7IG1ha2VOb3Rlc0NsaWVudCB9IGZyb20gIi4vbWFrZU5vdGVzLnRzIjsKaW1wb3J0ICIjY2xpZW50L2VudHJ5LmNzcyI7Cgpjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicm9vdCIpOwppZiAoY29udGFpbmVyID09PSBudWxsKSB7Cgl0aHJvdyBuZXcgRXJyb3IoIk1pc3NpbmcgYXBwbGljYXRpb24gcm9vdCIpOwp9CmNvbnN0IGF1dGggPSBtYWtlQXV0aCh7IGJhc2VVcmw6IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gfSk7CmZ1bmN0aW9uIGNvbm5lY3QoKSB7CglyZXR1cm4gbWFrZU5vdGVzQ2xpZW50KG5ldyBVUkwoIi9ycGMiLCB3aW5kb3cubG9jYXRpb24uaHJlZikuaHJlZik7Cn0KY3JlYXRlUm9vdChjb250YWluZXIpLnJlbmRlcig8QXBwIGF1dGg9e2F1dGh9IGNvbm5lY3Q9e2Nvbm5lY3R9IC8+KTsK","path":"src/client/entry.tsx"},{"content":"aW1wb3J0IHsgTGF5ZXIgfSBmcm9tICJlZmZlY3QiOwppbXBvcnQgeyBGZXRjaEh0dHBDbGllbnQgfSBmcm9tICJlZmZlY3QvaHR0cCI7CmltcG9ydCAqIGFzIEF0b21ScGMgZnJvbSAiZWZmZWN0L3JlYWN0aXZpdHkvQXRvbVJwYyI7CmltcG9ydCB7IFJwY0NsaWVudCwgUnBjU2VyaWFsaXphdGlvbiB9IGZyb20gImVmZmVjdC9ycGMiOwppbXBvcnQgeyBiaW5kIH0gZnJvbSAiQHNoaXZhZWRldi9lZmZlY3QtY29udHJhY3QvYmluZC50cyI7CmltcG9ydCB7IGxpdmUgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1jb250cmFjdC9saXZlLnRzIjsKaW1wb3J0IHsgcmVzdW1lU2lnbmFsIH0gZnJvbSAiQHNoaXZhZWRldi9lZmZlY3QtY29udHJhY3QvcmVzdW1lLnRzIjsKaW1wb3J0IHsgTm90ZXMsIFN1YnNjcmliZSB9IGZyb20gIiNub3Rlcy50cyI7CgpleHBvcnQgZnVuY3Rpb24gbWFrZU5vdGVzQ2xpZW50KHVybDogc3RyaW5nLCB0cmFuc2Zvcm1DbGllbnQ/OiBOb25OdWxsYWJsZTxQYXJhbWV0ZXJzPHR5cGVvZiBScGNDbGllbnQubGF5ZXJQcm90b2NvbEh0dHA+WzBdWyJ0cmFuc2Zvcm1DbGllbnQiXT4pIHsKCWNsYXNzIE5vdGVzQ2xpZW50IGV4dGVuZHMgQXRvbVJwYy5TZXJ2aWNlPE5vdGVzQ2xpZW50PigpKCJzdGFydGVyL05vdGVzQ2xpZW50IiwgewoJCWdyb3VwOiBOb3RlcywKCQlwcm90b2NvbDogUnBjQ2xpZW50LmxheWVyUHJvdG9jb2xIdHRwKHsgLi4uKHRyYW5zZm9ybUNsaWVudCA9PT0gdW5kZWZpbmVkID8ge30gOiB7IHRyYW5zZm9ybUNsaWVudCB9KSwgdXJsIH0pLnBpcGUoCgkJCUxheWVyLnByb3ZpZGUoW0ZldGNoSHR0cENsaWVudC5sYXllciwgUnBjU2VyaWFsaXphdGlvbi5sYXllck5kanNvbl0pLAoJCSksCgl9KSB7fQoJY29uc3QgYXBpID0gYmluZChOb3RlcywgTm90ZXNDbGllbnQpOwoJY29uc3Qgc3Vic2NyaXB0aW9uID0gbGl2ZShOb3Rlc0NsaWVudC5ydW50aW1lLCB7CgkJcmVzdW1lOiByZXN1bWVTaWduYWwodHlwZW9mIHdpbmRvdyA9PT0gInVuZGVmaW5lZCIgPyB7fSA6IHsgd2luZG93IH0pLAoJCXJlc3luY0tleXM6IFN1YnNjcmliZS5yZWFkcyh1bmRlZmluZWQpLAoJCXN0cmVhbTogYXBpLnN1YnNjcmliZS5ydW4odW5kZWZpbmVkKSwKCX0pOwoJcmV0dXJuIHsgYXBpLCBydW50aW1lOiBOb3Rlc0NsaWVudC5ydW50aW1lLCAuLi5zdWJzY3JpcHRpb24gfTsKfQoKZXhwb3J0IHR5cGUgTm90ZXNDbGllbnQgPSBSZXR1cm5UeXBlPHR5cGVvZiBtYWtlTm90ZXNDbGllbnQ+Owo=","path":"src/client/makeNotes.ts"},{"content":"ZGVjbGFyZSBtb2R1bGUgIiouY3NzIiB7fQo=","path":"src/client/styles.d.ts"},{"content":"aW1wb3J0IHsgU2NoZW1hIH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgTW9kZWwgfSBmcm9tICJlZmZlY3Qvc2NoZW1hIjsKaW1wb3J0IHsgY29udHJhY3QgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1jb250cmFjdC9jb250cmFjdC50cyI7CmltcG9ydCB7IGNvbGxlY3Rpb24gfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1jb250cmFjdC9rZXlzLnRzIjsKaW1wb3J0IHsgTGl2ZUhpbnQgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1jb250cmFjdC9saXZlLnRzIjsKaW1wb3J0IHsgY29tbWFuZCwgcXVlcnksIHN0cmVhbSB9IGZyb20gIkBzaGl2YWVkZXYvZWZmZWN0LWNvbnRyYWN0L29wZXJhdGlvbi50cyI7CmltcG9ydCB7IGZpZWxkUmVqZWN0aW9uIH0gZnJvbSAiQHNoaXZhZWRldi9lZmZlY3QtY29udHJhY3QvcmVqZWN0aW9uLnRzIjsKaW1wb3J0IHsgQ29uZmxpY3QsIE5vdEZvdW5kLCBTZXJ2aWNlVW5hdmFpbGFibGUgfSBmcm9tICJAc2hpdmFlZGV2L3BsYXRmb3JtL2Vycm9ycy90YXhvbm9teS50cyI7CmltcG9ydCB7IEF1dGhlbnRpY2F0ZWRVc2VyIH0gZnJvbSAiQHNoaXZhZWRldi9wbGF0Zm9ybS9ycGMvbWlkZGxld2FyZS50cyI7CgpleHBvcnQgY2xhc3MgTm90ZSBleHRlbmRzIE1vZGVsLkNsYXNzPE5vdGU+KCJOb3RlIikoewoJaWQ6IE1vZGVsLkZpZWxkKHsganNvbjogU2NoZW1hLk51bWJlciwgc2VsZWN0OiBTY2hlbWEuTnVtYmVyLCB1cGRhdGU6IFNjaGVtYS5OdW1iZXIgfSksCgl0aXRsZTogU2NoZW1hLk5vbkVtcHR5U3RyaW5nLAoJdmVyc2lvbjogTW9kZWwuRmllbGQoeyBqc29uOiBTY2hlbWEuTnVtYmVyLCBzZWxlY3Q6IFNjaGVtYS5OdW1iZXIsIHVwZGF0ZTogU2NoZW1hLk51bWJlciB9KSwKCXdvcmRDb3VudDogU2NoZW1hLk51bGxPcihTY2hlbWEuTnVtYmVyKSwKfSkge30KZXhwb3J0IGNvbnN0IE5vdGVGaWVsZHMgPSBTY2hlbWEuU3RydWN0KHsgdGl0bGU6IE5vdGUuZmllbGRzLnRpdGxlIH0pOwpleHBvcnQgY29uc3QgTm90ZUVkaXRGaWVsZHMgPSBTY2hlbWEuU3RydWN0KHsgdGl0bGU6IE5vdGUuZmllbGRzLnRpdGxlLCB2ZXJzaW9uOiBOb3RlLmZpZWxkcy52ZXJzaW9uIH0pOwpjb25zdCBOb3RlSWQgPSBTY2hlbWEuU3RydWN0KHsgaWQ6IFNjaGVtYS5OdW1iZXIgfSk7CmNvbnN0IE5vdGVWZXJzaW9uID0gU2NoZW1hLlN0cnVjdCh7IC4uLk5vdGVJZC5maWVsZHMsIHZlcnNpb246IE5vdGUuZmllbGRzLnZlcnNpb24gfSk7CmV4cG9ydCBjb25zdCBub3RlcyA9IGNvbGxlY3Rpb24oInN0YXJ0ZXJOb3RlcyIsIFNjaGVtYS5OdW1iZXIpOwpleHBvcnQgY29uc3QgR2V0ID0gcXVlcnkoImdldCIsIHsKCXBheWxvYWQ6IE5vdGVJZCwKCXJlYWRzOiAoeyBpZCB9KSA9PiBbbm90ZXMuaXRlbShpZCksIG5vdGVzLmxpc3RdLAoJcmVqZWN0aW9uczogeyBOb3RGb3VuZCwgU2VydmljZVVuYXZhaWxhYmxlIH0sCglzdWNjZXNzOiBOb3RlLmpzb24sCn0pOwpleHBvcnQgY29uc3QgTGlzdCA9IHF1ZXJ5KCJsaXN0IiwgewoJcmVhZHM6ICgpID0+IFtub3Rlcy5saXN0XSwKCXJlamVjdGlvbnM6IHsgU2VydmljZVVuYXZhaWxhYmxlIH0sCglzdWNjZXNzOiBTY2hlbWEuQXJyYXkoTm90ZS5qc29uKSwKfSk7CmV4cG9ydCBjb25zdCBDcmVhdGUgPSBjb21tYW5kKCJjcmVhdGUiLCB7CglpbnZhbGlkYXRlczogKF9pbnB1dCwgcm93KSA9PiBbbm90ZXMuaXRlbShyb3cuaWQpXSwKCXBheWxvYWQ6IE5vdGVGaWVsZHMsCglyZWplY3Rpb25zOiB7IEludmFsaWQ6IGZpZWxkUmVqZWN0aW9uKE5vdGVGaWVsZHMpLCBTZXJ2aWNlVW5hdmFpbGFibGUgfSwKCXN1Y2Nlc3M6IE5vdGUuanNvbiwKfSk7CmV4cG9ydCBjb25zdCBTdWJzY3JpYmUgPSBzdHJlYW0oInN1YnNjcmliZSIsIHsKCXJlYWRzOiAoKSA9PiBbbm90ZXMubGlzdF0sCglzdWNjZXNzOiBMaXZlSGludCwKfSk7CmV4cG9ydCBjb25zdCBVcGRhdGUgPSBjb21tYW5kKCJ1cGRhdGUiLCB7CglpbnZhbGlkYXRlczogKHsgaWQgfSkgPT4gW25vdGVzLml0ZW0oaWQpXSwKCXBheWxvYWQ6IFNjaGVtYS5TdHJ1Y3QoeyAuLi5Ob3RlSWQuZmllbGRzLCAuLi5Ob3RlRWRpdEZpZWxkcy5maWVsZHMgfSksCglyZWplY3Rpb25zOiB7IENvbmZsaWN0LCBJbnZhbGlkOiBmaWVsZFJlamVjdGlvbihOb3RlRWRpdEZpZWxkcyksIE5vdEZvdW5kLCBTZXJ2aWNlVW5hdmFpbGFibGUgfSwKCXN1Y2Nlc3M6IE5vdGUuanNvbiwKfSk7CmV4cG9ydCBjb25zdCBEZWxldGUgPSBjb21tYW5kKCJkZWxldGUiLCB7CglpbnZhbGlkYXRlczogKHsgaWQgfSkgPT4gW25vdGVzLml0ZW0oaWQpXSwKCXBheWxvYWQ6IE5vdGVWZXJzaW9uLAoJcmVqZWN0aW9uczogeyBDb25mbGljdCwgTm90Rm91bmQsIFNlcnZpY2VVbmF2YWlsYWJsZSB9LAoJc3VjY2VzczogU2NoZW1hLlZvaWQsCn0pOwpleHBvcnQgY29uc3QgV2hvYW1pID0gcXVlcnkoIndob2FtaSIsIHsKCXJlYWRzOiAoKSA9PiBbXSwKCXN1Y2Nlc3M6IFNjaGVtYS5TdHJ1Y3QoeyBlbWFpbDogU2NoZW1hLlN0cmluZywgaWQ6IFNjaGVtYS5TdHJpbmcsIG5hbWU6IFNjaGVtYS5TdHJpbmcgfSksCn0pOwpleHBvcnQgY29uc3QgTm90ZXMgPSBjb250cmFjdCgibm90ZXMiLCB7IGNvbW1hbmRzOiBbQ3JlYXRlLCBVcGRhdGUsIERlbGV0ZV0sIHF1ZXJpZXM6IFtMaXN0LCBHZXQsIFdob2FtaV0sIHN0cmVhbXM6IFtTdWJzY3JpYmVdIH0pLm1pZGRsZXdhcmUoCglBdXRoZW50aWNhdGVkVXNlciwKKTsK","path":"src/notes.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0IH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0ICogYXMgUmVhY3Rpdml0eSBmcm9tICJlZmZlY3QvcmVhY3Rpdml0eS9SZWFjdGl2aXR5IjsKaW1wb3J0IHsgU3FsQ2xpZW50IH0gZnJvbSAiZWZmZWN0L3NxbCI7CmltcG9ydCB7IGludmFsaWRhdGlvbktleXMgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1jb250cmFjdC9rZXlzLnRzIjsKaW1wb3J0IHsgZGVmaW5lU2VydmljZSB9IGZyb20gIkBzaGl2YWVkZXYvZWZmZWN0LXNlcnZpY2UvZGVmaW5lLXNlcnZpY2UudHMiOwppbXBvcnQgeyBpbnZhbGlkYXRlT25Db21taXQsIHRyYW5zYWN0IH0gZnJvbSAiQHNoaXZhZWRldi9lZmZlY3Qtc3FsL3RyYW5zYWN0LnRzIjsKaW1wb3J0IHsgQ29uZmxpY3QsIE5vdEZvdW5kLCBTZXJ2aWNlVW5hdmFpbGFibGUgfSBmcm9tICJAc2hpdmFlZGV2L3BsYXRmb3JtL2Vycm9ycy90YXhvbm9teS50cyI7CmltcG9ydCB7IENyZWF0ZSwgdHlwZSBEZWxldGUsIG5vdGVzLCBVcGRhdGUgfSBmcm9tICIjbm90ZXMudHMiOwppbXBvcnQgeyBqb2JEYXRhYmFzZSB9IGZyb20gIi4vam9iRGF0YWJhc2UudHMiOwppbXBvcnQgeyBtYWtlTm90ZXNSZXBvc2l0b3J5IH0gZnJvbSAiLi9tYWtlTm90ZXNSZXBvc2l0b3J5LnRzIjsKaW1wb3J0IHsgQ291bnRXb3JkcywgTm90ZUpvYnMgfSBmcm9tICIuL25vdGVKb2JzLnRzIjsKCmZ1bmN0aW9uIHVuYXZhaWxhYmxlKCkgewoJcmV0dXJuIG5ldyBTZXJ2aWNlVW5hdmFpbGFibGUoeyBtZXNzYWdlOiAiQ291bGQgbm90IHJlYWNoIHRoZSBub3RlcyBkYXRhYmFzZSIgfSk7Cn0KZnVuY3Rpb24gd3JpdGVGYWlsdXJlKGVycm9yOiB7IHJlYWRvbmx5IF90YWc6IHN0cmluZyB9KSB7CglyZXR1cm4gZXJyb3IuX3RhZyA9PT0gIk9wdGltaXN0aWNDb25jdXJyZW5jeUVycm9yIgoJCT8gbmV3IENvbmZsaWN0KHsgbWVzc2FnZTogIlRoaXMgbm90ZSBjaGFuZ2VkLiBSZWZyZXNoIGFuZCByZXZpZXcgeW91ciBkcmFmdCBiZWZvcmUgdHJ5aW5nIGFnYWluLiIgfSkKCQk6IHVuYXZhaWxhYmxlKCk7Cn0KCmV4cG9ydCBjb25zdCBOb3Rlc1NlcnZpY2UgPSBkZWZpbmVTZXJ2aWNlKHsKCWlkOiAic3RhcnRlci9Ob3Rlc1NlcnZpY2UiLAoJaW5pdGlhbGl6ZTogbWFrZU5vdGVzUmVwb3NpdG9yeSwKCW1ldGhvZHM6IChyZXBvc2l0b3J5KSA9PiB7CgkJZnVuY3Rpb24gZ2V0KGlkOiBudW1iZXIsIG93bmVySWQ6IHN0cmluZykgewoJCQlyZXR1cm4gRWZmZWN0LmdlbihmdW5jdGlvbiogKCkgewoJCQkJY29uc3Qgcm93cyA9IHlpZWxkKiByZXBvc2l0b3J5LmZpbmRNYW55KHsgbGltaXQ6IDEsIHdoZXJlOiB7IGlkLCBvd25lcklkIH0gfSkucGlwZShFZmZlY3QubWFwRXJyb3IodW5hdmFpbGFibGUpKTsKCQkJCXJldHVybiByb3dzWzBdID8/ICh5aWVsZCogRWZmZWN0LmZhaWwobmV3IE5vdEZvdW5kKHsgbWVzc2FnZTogIk5vdGUgbm90IGZvdW5kIiB9KSkpOwoJCQl9KTsKCQl9CgkJZnVuY3Rpb24gZW5xdWV1ZShub3RlSWQ6IG51bWJlcikgewoJCQlyZXR1cm4gRWZmZWN0LmdlbihmdW5jdGlvbiogKCkgewoJCQkJY29uc3Qgam9icyA9IHlpZWxkKiBOb3RlSm9iczsKCQkJCWNvbnN0IGRiID0geWllbGQqIGpvYkRhdGFiYXNlOwoJCQkJeWllbGQqIGpvYnMuZW5xdWV1ZShDb3VudFdvcmRzLCB7IG5vdGVJZCB9LCB7IGRiIH0pLnBpcGUoRWZmZWN0Lm1hcEVycm9yKHVuYXZhaWxhYmxlKSk7CgkJCQl5aWVsZCogaW52YWxpZGF0ZU9uQ29tbWl0KGludmFsaWRhdGlvbktleXMoW25vdGVzLml0ZW0obm90ZUlkKV0pKTsKCQkJfSk7CgkJfQoJCXJldHVybiB7CgkJCWNyZWF0ZTogKHsgdGl0bGUgfTogdHlwZW9mIENyZWF0ZS5wYXlsb2FkLlR5cGUsIG93bmVySWQ6IHN0cmluZykgPT4KCQkJCUVmZmVjdC5nZW4oZnVuY3Rpb24qICgpIHsKCQkJCQljb25zdCB0cmltbWVkID0gdGl0bGUudHJpbSgpOwoJCQkJCWlmICh0cmltbWVkID09PSAiIikgewoJCQkJCQlyZXR1cm4geWllbGQqIENyZWF0ZS5yZWplY3QuSW52YWxpZCh7IGZpZWxkOiAidGl0bGUiLCBtZXNzYWdlOiAiRW50ZXIgYSB0aXRsZSIgfSk7CgkJCQkJfQoJCQkJCWNvbnN0IHJvdyA9IHlpZWxkKiByZXBvc2l0b3J5Lmluc2VydCh7IG93bmVySWQsIHRpdGxlOiB0cmltbWVkLCB3b3JkQ291bnQ6IG51bGwgfSkucGlwZShFZmZlY3QubWFwRXJyb3IodW5hdmFpbGFibGUpKTsKCQkJCQl5aWVsZCogZW5xdWV1ZShyb3cuaWQpOwoJCQkJCXJldHVybiByb3c7CgkJCQl9KS5waXBlKHRyYW5zYWN0KHsgb25TcWxFcnJvcjogdW5hdmFpbGFibGUgfSkpLAoJCQlkZWxldGU6IChpbnB1dDogdHlwZW9mIERlbGV0ZS5wYXlsb2FkLlR5cGUsIG93bmVySWQ6IHN0cmluZykgPT4KCQkJCUVmZmVjdC5nZW4oZnVuY3Rpb24qICgpIHsKCQkJCQl5aWVsZCogZ2V0KGlucHV0LmlkLCBvd25lcklkKTsKCQkJCQl5aWVsZCogcmVwb3NpdG9yeS5kZWxldGUoaW5wdXQuaWQsIGlucHV0LnZlcnNpb24pLnBpcGUoRWZmZWN0Lm1hcEVycm9yKHdyaXRlRmFpbHVyZSkpOwoJCQkJCXlpZWxkKiBpbnZhbGlkYXRlT25Db21taXQoaW52YWxpZGF0aW9uS2V5cyhbbm90ZXMuaXRlbShpbnB1dC5pZCldKSk7CgkJCQl9KS5waXBlKHRyYW5zYWN0KHsgb25TcWxFcnJvcjogdW5hdmFpbGFibGUgfSkpLAoJCQlnZXQsCgkJCWxpc3Q6IChvd25lcklkOiBzdHJpbmcpID0+CgkJCQlyZXBvc2l0b3J5CgkJCQkJLmZpbmRNYW55KHsgb3JkZXJCeTogeyBkaXJlY3Rpb246ICJkZXNjIiwgZmllbGQ6ICJpZCIgfSwgc2VsZWN0OiBbImlkIiwgInRpdGxlIiwgIndvcmRDb3VudCIsICJ2ZXJzaW9uIl0sIHdoZXJlOiB7IG93bmVySWQgfSB9KQoJCQkJCS5waXBlKEVmZmVjdC5tYXBFcnJvcih1bmF2YWlsYWJsZSkpLAoJCQl1cGRhdGU6IChpbnB1dDogdHlwZW9mIFVwZGF0ZS5wYXlsb2FkLlR5cGUsIG93bmVySWQ6IHN0cmluZykgPT4KCQkJCUVmZmVjdC5nZW4oZnVuY3Rpb24qICgpIHsKCQkJCQljb25zdCByb3cgPSB5aWVsZCogZ2V0KGlucHV0LmlkLCBvd25lcklkKTsKCQkJCQljb25zdCB0aXRsZSA9IGlucHV0LnRpdGxlLnRyaW0oKTsKCQkJCQlpZiAodGl0bGUgPT09ICIiKSB7CgkJCQkJCXJldHVybiB5aWVsZCogVXBkYXRlLnJlamVjdC5JbnZhbGlkKHsgZmllbGQ6ICJ0aXRsZSIsIG1lc3NhZ2U6ICJFbnRlciBhIHRpdGxlIiB9KTsKCQkJCQl9CgkJCQkJY29uc3Qgc2F2ZWQgPSB5aWVsZCogcmVwb3NpdG9yeS51cGRhdGUoeyAuLi5yb3csIC4uLmlucHV0LCB0aXRsZSwgd29yZENvdW50OiBudWxsIH0pLnBpcGUoRWZmZWN0Lm1hcEVycm9yKHdyaXRlRmFpbHVyZSkpOwoJCQkJCXlpZWxkKiBlbnF1ZXVlKHNhdmVkLmlkKTsKCQkJCQlyZXR1cm4gc2F2ZWQ7CgkJCQl9KS5waXBlKHRyYW5zYWN0KHsgb25TcWxFcnJvcjogdW5hdmFpbGFibGUgfSkpLAoJCX07Cgl9LAoJcmVxdWlyZXM6IFtTcWxDbGllbnQuU3FsQ2xpZW50LCBSZWFjdGl2aXR5LlJlYWN0aXZpdHksIE5vdGVKb2JzXSwKfSk7Cg==","path":"src/server/NotesService.ts"},{"content":"aW1wb3J0IHsgYmV0dGVyQXV0aCB9IGZyb20gImJldHRlci1hdXRoIjsKaW1wb3J0IHsgQ29uZmlnLCBFZmZlY3QsIE9wdGlvbiwgUmVkYWN0ZWQgfSBmcm9tICJlZmZlY3QiOwppbXBvcnQgeyBIdHRwUm91dGVyLCBIdHRwU2VydmVyUmVxdWVzdCwgSHR0cFNlcnZlclJlc3BvbnNlIH0gZnJvbSAiZWZmZWN0L2h0dHAiOwppbXBvcnQgeyBiZXR0ZXJBdXRoU2Vzc2lvbnMgfSBmcm9tICJAc2hpdmFlZGV2L3BsYXRmb3JtL3JwYy1zZXJ2ZXIvYWRhcHRlcnMvYmV0dGVyLWF1dGgtc2Vzc2lvbnMudHMiOwppbXBvcnQgeyB0cnVzdGVkUHJveHlQZWVyLCB0cnVzdGVkUHJveHlSYW5nZXMgfSBmcm9tICJAc2hpdmFlZGV2L3BsYXRmb3JtL3JwYy1zZXJ2ZXIvbG9jYWwudHMiOwppbXBvcnQgeyBhdXRoRGF0YWJhc2UgfSBmcm9tICIuL2F1dGhEYXRhYmFzZS50cyI7CgpleHBvcnQgY29uc3QgbWFrZUF1dGggPSBFZmZlY3QuZm4oIlN0YXJ0ZXIubWFrZUF1dGgiKShmdW5jdGlvbiogKGNvbmZpZzogewoJcmVhZG9ubHkgZGF0YWJhc2VVcmw6IFJlZGFjdGVkLlJlZGFjdGVkPHN0cmluZz47CglyZWFkb25seSBzZWNyZXQ/OiBSZWRhY3RlZC5SZWRhY3RlZDxzdHJpbmc+Owp9KSB7Cgljb25zdCBzZWNyZXQgPSBjb25maWcuc2VjcmV0ID8/ICh5aWVsZCogQ29uZmlnLlJlZGFjdGVkKCJCRVRURVJfQVVUSF9TRUNSRVQiKSk7Cgljb25zdCBwdWJsaWNVcmwgPSB5aWVsZCogQ29uZmlnLlVSTCgiUFVCTElDX1VSTCIpLnBpcGUoQ29uZmlnLm9wdGlvbik7Cgljb25zdCBvcmlnaW4gPSBPcHRpb24ubWFwKHB1YmxpY1VybCwgKHVybCkgPT4gdXJsLm9yaWdpbik7Cgljb25zdCB0cnVzdGVkUHJveHkgPSBPcHRpb24uZ2V0T3JVbmRlZmluZWQoeWllbGQqIENvbmZpZy5TdHJpbmcoIlRSVVNURURfUFJPWFkiKS5waXBlKENvbmZpZy5vcHRpb24pKTsKCWNvbnN0IGlzVHJ1c3RlZFByb3h5ID0gdHJ1c3RlZFByb3h5UGVlcih0cnVzdGVkUHJveHkpOwoJY29uc3QgdHJ1c3RlZFByb3hpZXMgPSB0cnVzdGVkUHJveHlSYW5nZXModHJ1c3RlZFByb3h5KTsKCWNvbnN0IHBvb2wgPSB5aWVsZCogYXV0aERhdGFiYXNlKGNvbmZpZy5kYXRhYmFzZVVybCk7Cgljb25zdCBhdXRoID0gYmV0dGVyQXV0aCh7CgkJYWR2YW5jZWQ6IHsKCQkJaXBBZGRyZXNzOiB7CgkJCQlpcEFkZHJlc3NIZWFkZXJzOiB0cnVzdGVkUHJveGllcy5sZW5ndGggPT09IDAgPyBbXSA6IFsieC1mb3J3YXJkZWQtZm9yIl0sCgkJCQl0cnVzdGVkUHJveGllcywKCQkJfSwKCQkJdXNlU2VjdXJlQ29va2llczogT3B0aW9uLmlzU29tZShwdWJsaWNVcmwpICYmIHB1YmxpY1VybC52YWx1ZS5wcm90b2NvbCA9PT0gImh0dHBzOiIsCgkJfSwKCQkiYmFzZVVSTCI6IE9wdGlvbi5nZXRPckVsc2Uob3JpZ2luLCAoKSA9PiAoeyBhbGxvd2VkSG9zdHM6IFsiMTI3LjAuMC4xOioiXSwgcHJvdG9jb2w6ICJodHRwIiBhcyBjb25zdCB9KSksCgkJZGF0YWJhc2U6IHBvb2wsCgkJZW1haWxBbmRQYXNzd29yZDogeyBlbmFibGVkOiB0cnVlIH0sCgkJc2VjcmV0OiBSZWRhY3RlZC52YWx1ZShzZWNyZXQpLAoJCXNlc3Npb246IHsgY29va2llQ2FjaGU6IHsgZW5hYmxlZDogZmFsc2UgfSB9LAoJCXRydXN0ZWRPcmlnaW5zOiBbT3B0aW9uLmdldE9yRWxzZShvcmlnaW4sICgpID0+ICJodHRwOi8vMTI3LjAuMC4xOioiKV0sCgl9KTsKCWNvbnN0IHJvdXRlcyA9IEh0dHBSb3V0ZXIudXNlKChyb3V0ZXIpID0+CgkJcm91dGVyLmFkZCgiKiIsICIvYXBpL2F1dGgvKiIsIChyZXF1ZXN0KSA9PgoJCQlFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoKSB7CgkJCQljb25zdCB3ZWIgPSB5aWVsZCogSHR0cFNlcnZlclJlcXVlc3QudG9XZWIocmVxdWVzdCk7CgkJCQlpZiAoIU9wdGlvbi5leGlzdHMocmVxdWVzdC5yZW1vdGVBZGRyZXNzLCBpc1RydXN0ZWRQcm94eSkpIHsKCQkJCQl3ZWIuaGVhZGVycy5kZWxldGUoIngtZm9yd2FyZGVkLWZvciIpOwoJCQkJfQoJCQkJcmV0dXJuIEh0dHBTZXJ2ZXJSZXNwb25zZS5mcm9tV2ViKHlpZWxkKiBFZmZlY3QudHJ5UHJvbWlzZSgoKSA9PiBhdXRoLmhhbmRsZXIod2ViKSkpOwoJCQl9KS5waXBlKEVmZmVjdC5jYXRjaCgoKSA9PiBFZmZlY3Quc3VjY2VlZChIdHRwU2VydmVyUmVzcG9uc2UudGV4dCgiQXV0aGVudGljYXRpb24gaXMgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUiLCB7IHN0YXR1czogNTAzIH0pKSkpLAoJCSksCgkpOwoJcmV0dXJuIHsKCQlhdXRoLAoJCXJvdXRlcywKCQlzZXNzaW9uczogewoJCQlvcmlnaW46ICh7IGhlYWRlcnMgfTogeyByZWFkb25seSBoZWFkZXJzOiBSZWFkb25seTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB9KSA9PgoJCQkJaGVhZGVycy5vcmlnaW4gPT09IHVuZGVmaW5lZCB8fCBoZWFkZXJzLm9yaWdpbiA9PT0gT3B0aW9uLmdldE9yRWxzZShvcmlnaW4sICgpID0+IGBodHRwOi8vJHtoZWFkZXJzLmhvc3R9YCksCgkJCXByb3ZpZGVyOiBiZXR0ZXJBdXRoU2Vzc2lvbnMoKGhlYWRlcnMpID0+IGF1dGguYXBpLmdldFNlc3Npb24oeyBoZWFkZXJzIH0pKSwKCQl9LAoJfTsKfSk7CgpleHBvcnQgdHlwZSBTdGFydGVyQXV0aCA9IEVmZmVjdC5TdWNjZXNzPFJldHVyblR5cGU8dHlwZW9mIG1ha2VBdXRoPj5bImF1dGgiXTsK","path":"src/server/auth.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0LCBSZXN1bHQgfSBmcm9tICJlZmZlY3QiOwppbXBvcnQgeyBleHBlY3QgfSBmcm9tICJ2aXRlc3QiOwppbXBvcnQgeyBVbmF1dGhvcml6ZWQgfSBmcm9tICJAc2hpdmFlZGV2L3BsYXRmb3JtL2Vycm9ycy90YXhvbm9teS50cyI7CmltcG9ydCB7IGFwcCB9IGZyb20gIiN0ZXN0LXN1cHBvcnQvYXBwbGljYXRpb24udHMiOwppbXBvcnQgeyBjcmVkZW50aWFscyB9IGZyb20gIiN0ZXN0LXN1cHBvcnQvYXV0aEh0dHAudHMiOwoKYXBwLml0KCJ0YXJnZXRzIGl0cyBvd24gaG9zdCBmb3IgYXV0aCBhY3Rpb25zIGFuZCBzZXNzaW9uIGNoZWNrcyIsIFtdLCBmdW5jdGlvbiogKHsgYXV0aENsaWVudCwgYXV0aGVudGljYXRlLCBub3RlcyB9KSB7Cgljb25zdCBhdXRoID0gYXV0aENsaWVudCgpOwoJY29uc3QgYWNjb3VudCA9IGNyZWRlbnRpYWxzKCJjbGllbnQtdXNlciIpOwoJZXhwZWN0KCh5aWVsZCogRWZmZWN0LnByb21pc2UoKCkgPT4gYXV0aC5jbGllbnQuZ2V0U2Vzc2lvbigpKSkuZGF0YSkudG9CZU51bGwoKTsKCWV4cGVjdCh5aWVsZCogRWZmZWN0LnByb21pc2UoKCkgPT4gYXV0aC5hY3Rpb25zLnN1Ym1pdCgic2lnbi11cCIsIGFjY291bnQpKSkudG9CZVVuZGVmaW5lZCgpOwoJZXhwZWN0KHlpZWxkKiBFZmZlY3QucHJvbWlzZSgoKSA9PiBhdXRoLmFjdGlvbnMuc3VibWl0KCJzaWduLWluIiwgYWNjb3VudCkpKS50b0JlVW5kZWZpbmVkKCk7Cgljb25zdCBjb29raWUgPSB5aWVsZCogYXV0aGVudGljYXRlKCJjbGllbnQtdXNlciIsICJzaWduLWluL2VtYWlsIik7Cgljb25zdCBzaWduZWRJbiA9IGF1dGhDbGllbnQoY29va2llKTsKCWNvbnN0IHNlc3Npb24gPSB5aWVsZCogRWZmZWN0LnByb21pc2UoKCkgPT4gc2lnbmVkSW4uY2xpZW50LmdldFNlc3Npb24oKSk7CglleHBlY3Qoc2Vzc2lvbi5kYXRhPy51c2VyKS50b01hdGNoT2JqZWN0KHsgZW1haWw6IGFjY291bnQuZW1haWwsIG5hbWU6IGFjY291bnQubmFtZSB9KTsKCWNvbnN0IGNsaWVudCA9IHlpZWxkKiBub3Rlcyhjb29raWUpOwoJZXhwZWN0KHlpZWxkKiBjbGllbnQud2hvYW1pKCkpLnRvRXF1YWwoeyBlbWFpbDogYWNjb3VudC5lbWFpbCwgaWQ6IHNlc3Npb24uZGF0YT8udXNlci5pZCwgbmFtZTogYWNjb3VudC5uYW1lIH0pOwoJZXhwZWN0KHlpZWxkKiBFZmZlY3QucHJvbWlzZSgoKSA9PiBzaWduZWRJbi5hY3Rpb25zLnNpZ25PdXQoKSkpLnRvQmVVbmRlZmluZWQoKTsKCWV4cGVjdCgoeWllbGQqIEVmZmVjdC5wcm9taXNlKCgpID0+IHNpZ25lZEluLmNsaWVudC5nZXRTZXNzaW9uKCkpKS5kYXRhKS50b0JlTnVsbCgpOwoJY29uc3QgcmV2b2tlZCA9IHlpZWxkKiBjbGllbnQud2hvYW1pKCkucGlwZShFZmZlY3QucmVzdWx0KTsKCWV4cGVjdChSZXN1bHQuaXNGYWlsdXJlKHJldm9rZWQpICYmIHJldm9rZWQuZmFpbHVyZSkudG9CZUluc3RhbmNlT2YoVW5hdXRob3JpemVkKTsKfSk7Cg==","path":"src/server/authClient.spec.ts"},{"content":"aW1wb3J0IHsgZXhwZWN0IH0gZnJvbSAidml0ZXN0IjsKaW1wb3J0IHsgYXBwIH0gZnJvbSAiI3Rlc3Qtc3VwcG9ydC9hcHBsaWNhdGlvbi50cyI7Cgpmb3IgKGNvbnN0IHRydXN0ZWRQcm94eSBvZiBbIjEyNy4wLjAuMSIsICIgMTkyLjAuMi4xLCAxMjcuMC4wLjAvOCwgMjAwMTpkYjg6Oi8zMiAiLCAiOjpmZmZmOjEyNy4wLjAuMC8xMDQiLCAiOjpmZmZmOjdmMDA6MC8xMDQiXSkgewoJYXBwLml0KGBpc29sYXRlcyBwcm9kdWN0aW9uIHNpZ24taW4gbGltaXRzIHRocm91Z2ggYSB0cnVzdGVkIHByb3h5ICgke3RydXN0ZWRQcm94eX0pIHdpdGhvdXQgYW4gSVAgd2FybmluZ2AsIFtdLCBmdW5jdGlvbiogKHsgYXV0aFJhdGVMaW1pdHMgfSkgewoJCWNvbnN0IGxpbWl0cyA9IHlpZWxkKiBhdXRoUmF0ZUxpbWl0cyh0cnVzdGVkUHJveHkpOwoJCWNvbnN0IGFsaWNlID0geWllbGQqIGxpbWl0cy52aXNpdG9yKCIxOTguNTEuMTAwLjEwLCAxMjcuMC4wLjEiKTsKCQljb25zdCBib2IgPSB5aWVsZCogbGltaXRzLnZpc2l0b3IoIjE5OC41MS4xMDAuMjAsIDEyNy4wLjAuMSIpOwoJCWZvciAobGV0IGF0dGVtcHQgPSAwOyBhdHRlbXB0IDwgMzsgYXR0ZW1wdCArPSAxKSB7CgkJCWV4cGVjdCh5aWVsZCogYWxpY2Uuc2lnbkluKCkpLnRvQmUoNDAxKTsKCQl9CgkJZXhwZWN0KHlpZWxkKiBhbGljZS5zaWduSW4oKSkudG9CZSg0MjkpOwoJCWV4cGVjdCh5aWVsZCogYm9iLnNpZ25JbigpKS50b0JlKDQwMSk7CgkJZXhwZWN0KGxpbWl0cy5vdXRwdXQoKSkubm90LnRvQ29udGFpbigiY291bGQgbm90IGRldGVybWluZSBhIGNsaWVudCBJUCIpOwoJCWV4cGVjdChsaW1pdHMub3V0cHV0KCkpLm5vdC50b0NvbnRhaW4oIklnbm9yaW5nIGludmFsaWQiKTsKCX0pOwp9CmZvciAoY29uc3QgdHJ1c3RlZFByb3h5IG9mIFt1bmRlZmluZWQsICIxMjcuMC4wLjIiLCAiOjpmZmZmOjEyNi4wLjAuMC8xMDQiXSkgewoJYXBwLml0KGBpZ25vcmVzIGZvcndhcmRlZCBjbGllbnQgSVBzIHdoZW4gcHJveHkgdHJ1c3QgaXMgJHt0cnVzdGVkUHJveHkgPz8gInVuc2V0In1gLCBbXSwgZnVuY3Rpb24qICh7IGF1dGhSYXRlTGltaXRzIH0pIHsKCQljb25zdCBsaW1pdHMgPSB5aWVsZCogYXV0aFJhdGVMaW1pdHModHJ1c3RlZFByb3h5KTsKCQljb25zdCBhbGljZSA9IHlpZWxkKiBsaW1pdHMudmlzaXRvcigiMTk4LjUxLjEwMC4xMCIpOwoJCWNvbnN0IGJvYiA9IHlpZWxkKiBsaW1pdHMudmlzaXRvcigiMTk4LjUxLjEwMC4yMCIpOwoJCWZvciAobGV0IGF0dGVtcHQgPSAwOyBhdHRlbXB0IDwgMzsgYXR0ZW1wdCArPSAxKSB7CgkJCWV4cGVjdCh5aWVsZCogYWxpY2Uuc2lnbkluKCkpLnRvQmUoNDAxKTsKCQl9CgkJZXhwZWN0KHlpZWxkKiBib2Iuc2lnbkluKCkpLnRvQmUoNDI5KTsKCQlleHBlY3QobGltaXRzLm91dHB1dCgpKS50b0NvbnRhaW4oImNvdWxkIG5vdCBkZXRlcm1pbmUgYSBjbGllbnQgSVAiKTsKCX0pOwp9Cg==","path":"src/server/authClientIp.spec.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0LCBSZWRhY3RlZCB9IGZyb20gImVmZmVjdCI7CmltcG9ydCB7IFBvb2wsIHR5cGUgUG9vbENsaWVudCB9IGZyb20gInBnIjsKCmV4cG9ydCBjb25zdCBhdXRoRGF0YWJhc2UgPSBFZmZlY3QuZm4oIlN0YXJ0ZXIuYXV0aERhdGFiYXNlIikoZnVuY3Rpb24qICh1cmw6IFJlZGFjdGVkLlJlZGFjdGVkPHN0cmluZz4pIHsKCWNvbnN0IGNsaWVudHMgPSBuZXcgU2V0PFBvb2xDbGllbnQ+KCk7CglyZXR1cm4geWllbGQqIEVmZmVjdC5hY3F1aXJlUmVsZWFzZSgKCQlFZmZlY3Quc3luYygoKSA9PiB7CgkJCWNvbnN0IHBvb2wgPSBuZXcgUG9vbCh7IGNvbm5lY3Rpb25TdHJpbmc6IFJlZGFjdGVkLnZhbHVlKHVybCkgfSk7CgkJCXBvb2wub24oImNvbm5lY3QiLCAoY2xpZW50KSA9PiBjbGllbnRzLmFkZChjbGllbnQpKTsKCQkJcG9vbC5vbigicmVtb3ZlIiwgKGNsaWVudCkgPT4gY2xpZW50cy5kZWxldGUoY2xpZW50KSk7CgkJCXJldHVybiBwb29sOwoJCX0pLAoJCShwb29sKSA9PgoJCQlFZmZlY3QucHJvbWlzZShhc3luYyAoKSA9PiB7CgkJCQkvLyBwZy1wb29sIHJlc29sdmVzIGVuZCBiZWZvcmUgaXRzIGNsaWVudHMgZmluaXNoIGRpc2Nvbm5lY3RpbmcuCgkJCQljb25zdCBkaXNjb25uZWN0ZWQgPSBbLi4uY2xpZW50c10ubWFwKChjbGllbnQpID0+IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiBjbGllbnQub25jZSgiZW5kIiwgcmVzb2x2ZSkpKTsKCQkJCWF3YWl0IHBvb2wuZW5kKCk7CgkJCQlhd2FpdCBQcm9taXNlLmFsbChkaXNjb25uZWN0ZWQpOwoJCQl9KSwKCSk7Cn0pOwo=","path":"src/server/authDatabase.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0LCBSZXN1bHQgfSBmcm9tICJlZmZlY3QiOwppbXBvcnQgKiBhcyBBc3luY1Jlc3VsdCBmcm9tICJlZmZlY3QvcmVhY3Rpdml0eS9Bc3luY1Jlc3VsdCI7CmltcG9ydCB7IFNxbENsaWVudCB9IGZyb20gImVmZmVjdC9zcWwiOwppbXBvcnQgeyBleHBlY3QsIHZpIH0gZnJvbSAidml0ZXN0IjsKaW1wb3J0IHsgdHJhbnNhY3QgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1zcWwvdHJhbnNhY3QudHMiOwppbXBvcnQgeyBhcHAsIHNpZ25lZEluIH0gZnJvbSAiI3Rlc3Qtc3VwcG9ydC9hcHBsaWNhdGlvbi50cyI7CmltcG9ydCB7IE5vdGVzU2VydmljZSB9IGZyb20gIi4vTm90ZXNTZXJ2aWNlLnRzIjsKCmFwcC5pdCgKCSJydW5zIGNvbW1pdHRlZCBqb2JzIG9uY2UgdGhyb3VnaCB0aGUgd29ya2VyIGRhdGFiYXNlIGFuZCByZWZldGNoZXMgdGhlIGxpdmUgY2xpZW50LCB3aGlsZSByb2xsYmFjayBkaXNjYXJkcyBhIGpvYiIsCglbc2lnbmVkSW4oKV0sCglmdW5jdGlvbiogKHsgYWN0b3IsIHJ1bm5pbmdIb3N0LCBzdGFydFdvcmtlciwgbGl2ZU5vdGVzIH0pIHsKCQljb25zdCBzcWwgPSB5aWVsZCogU3FsQ2xpZW50LlNxbENsaWVudDsKCQljb25zdCB7IGNvbnRleHQgfSA9IHJ1bm5pbmdIb3N0KCk7CgkJY29uc3QgeyBub3RlczogaHR0cCB9ID0gYWN0b3IoKTsKCQljb25zdCB7IGxpc3QsIHJlZ2lzdHJ5IH0gPSB5aWVsZCogbGl2ZU5vdGVzKCk7CgkJY29uc3Qgbm90ZSA9IHlpZWxkKiBodHRwLmNyZWF0ZSh7IHRpdGxlOiAiQ291bnQgdGhlc2UgdGhyZWUgd29yZHMiIH0pOwoJCWV4cGVjdChub3RlLndvcmRDb3VudCkudG9CZU51bGwoKTsKCQl5aWVsZCogRWZmZWN0LnByb21pc2UoKCkgPT4gdmkud2FpdEZvcigoKSA9PiBleHBlY3QoQXN5bmNSZXN1bHQuZ2V0T3JFbHNlKHJlZ2lzdHJ5LmdldChsaXN0KSwgKCkgPT4gW10pKS50b0VxdWFsKFtub3RlXSkpKTsKCQljb25zdCB1c2VycyA9IHlpZWxkKiBzcWw8eyBpZDogc3RyaW5nIH0+YHNlbGVjdCBpZCBmcm9tICJ1c2VyIiB3aGVyZSBlbWFpbCA9ICdhbGljZUBzdGFydGVyLnRlc3QnYDsKCQljb25zdCBvd25lcklkID0gdXNlcnNbMF0/LmlkOwoJCWlmIChvd25lcklkID09PSB1bmRlZmluZWQpIHsKCQkJcmV0dXJuIHlpZWxkKiBFZmZlY3QuZGllKCJNaXNzaW5nIGFjY291bnQiKTsKCQl9CgkJY29uc3Qgcm9sbGJhY2sgPSB5aWVsZCogRWZmZWN0LmdlbihmdW5jdGlvbiogKCkgewoJCQljb25zdCBzZXJ2aWNlID0geWllbGQqIE5vdGVzU2VydmljZTsKCQkJeWllbGQqIHNlcnZpY2UuY3JlYXRlKHsgdGl0bGU6ICJSb2xsZWQgYmFjayIgfSwgb3duZXJJZCk7CgkJCXJldHVybiB5aWVsZCogRWZmZWN0LmZhaWwoInJvbGxiYWNrIik7CgkJfSkucGlwZSh0cmFuc2FjdCh7IG9uU3FsRXJyb3I6IChlcnJvcikgPT4gZXJyb3IgfSksIEVmZmVjdC5wcm92aWRlKGNvbnRleHQpLCBFZmZlY3QucmVzdWx0KTsKCQlleHBlY3QoUmVzdWx0LmlzRmFpbHVyZShyb2xsYmFjaykgJiYgcm9sbGJhY2suZmFpbHVyZSkudG9CZSgicm9sbGJhY2siKTsKCQlleHBlY3QoeWllbGQqIHNxbGBzZWxlY3QgY291bnQoKik6OmludCBhcyBjb3VudCBmcm9tIHBnYm9zcy5qb2Igd2hlcmUgbmFtZSA9ICdjb3VudC1ub3RlLXdvcmRzJ2ApLnRvRXF1YWwoW3sgY291bnQ6IDEgfV0pOwoJCXlpZWxkKiBFZmZlY3Quc2xlZXAoIjEyMDAgbWlsbGlzIik7CgkJZXhwZWN0KHlpZWxkKiBzcWxgc2VsZWN0ICJ3b3JkQ291bnQiIGZyb20gc3RhcnRlcl9ub3RlcyB3aGVyZSBpZCA9ICR7bm90ZS5pZH1gKS50b0VxdWFsKFt7IHdvcmRDb3VudDogbnVsbCB9XSk7CgkJeWllbGQqIHN0YXJ0V29ya2VyKCk7CgkJeWllbGQqIEVmZmVjdC5wcm9taXNlKCgpID0+CgkJCXZpLndhaXRGb3IoKCkgPT4gZXhwZWN0KEFzeW5jUmVzdWx0LmdldE9yRWxzZShyZWdpc3RyeS5nZXQobGlzdCksICgpID0+IFtdKSkudG9FcXVhbChbeyAuLi5ub3RlLCB2ZXJzaW9uOiAxLCB3b3JkQ291bnQ6IDQgfV0pLCB7CgkJCQl0aW1lb3V0OiA1MDAwLAoJCQl9KSwKCQkpOwoJCWNvbnN0IHNlY29uZCA9IHlpZWxkKiBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoKSB7CgkJCWNvbnN0IHNlcnZpY2UgPSB5aWVsZCogTm90ZXNTZXJ2aWNlOwoJCQljb25zdCBwZW5kaW5nID0geWllbGQqIHNlcnZpY2UuY3JlYXRlKHsgdGl0bGU6ICJBZnRlciBjb21taXQiIH0sIG93bmVySWQpOwoJCQlleHBlY3QoeWllbGQqIHNxbGBzZWxlY3QgY291bnQoKik6OmludCBhcyBjb3VudCBmcm9tIHBnYm9zcy5qb2Igd2hlcmUgbmFtZSA9ICdjb3VudC1ub3RlLXdvcmRzJ2ApLnRvRXF1YWwoW3sgY291bnQ6IDEgfV0pOwoJCQl5aWVsZCogRWZmZWN0LnNsZWVwKCIxMjAwIG1pbGxpcyIpOwoJCQljb25zdCB0cmFuc2FjdGlvblNxbCA9IHlpZWxkKiBTcWxDbGllbnQuU3FsQ2xpZW50OwoJCQlleHBlY3QoeWllbGQqIHRyYW5zYWN0aW9uU3FsYHNlbGVjdCAid29yZENvdW50IiBmcm9tIHN0YXJ0ZXJfbm90ZXMgd2hlcmUgaWQgPSAke3BlbmRpbmcuaWR9YCkudG9FcXVhbChbeyB3b3JkQ291bnQ6IG51bGwgfV0pOwoJCQlyZXR1cm4gcGVuZGluZzsKCQl9KS5waXBlKHRyYW5zYWN0KHsgb25TcWxFcnJvcjogKGVycm9yKSA9PiBlcnJvciB9KSwgRWZmZWN0LnByb3ZpZGUoY29udGV4dCkpOwoJCXlpZWxkKiBFZmZlY3QucHJvbWlzZSgoKSA9PgoJCQl2aS53YWl0Rm9yKAoJCQkJKCkgPT4KCQkJCQlleHBlY3QoQXN5bmNSZXN1bHQuZ2V0T3JFbHNlKHJlZ2lzdHJ5LmdldChsaXN0KSwgKCkgPT4gW10pKS50b0VxdWFsKFsKCQkJCQkJeyBpZDogc2Vjb25kLmlkLCB0aXRsZTogc2Vjb25kLnRpdGxlLCB2ZXJzaW9uOiAxLCB3b3JkQ291bnQ6IDIgfSwKCQkJCQkJeyAuLi5ub3RlLCB2ZXJzaW9uOiAxLCB3b3JkQ291bnQ6IDQgfSwKCQkJCQldKSwKCQkJCXsgdGltZW91dDogNTAwMCB9LAoJCQkpLAoJCSk7CgkJY29uc3QgY29tcGxldGVkID0gc3FsYHNlbGVjdCBzdGF0ZSwgcmV0cnlfY291bnQgYXMgInJldHJ5Q291bnQiIGZyb20gcGdib3NzLmpvYiB3aGVyZSBuYW1lID0gJ2NvdW50LW5vdGUtd29yZHMnIG9yZGVyIGJ5IGNyZWF0ZWRfb25gOwoJCXlpZWxkKiBFZmZlY3QucHJvbWlzZSgoKSA9PgoJCQl2aS53YWl0Rm9yKAoJCQkJYXN5bmMgKCkgPT4KCQkJCQlleHBlY3QoYXdhaXQgRWZmZWN0LnJ1blByb21pc2UoY29tcGxldGVkKSkudG9FcXVhbChbCgkJCQkJCXsgcmV0cnlDb3VudDogMCwgc3RhdGU6ICJjb21wbGV0ZWQiIH0sCgkJCQkJCXsgcmV0cnlDb3VudDogMCwgc3RhdGU6ICJjb21wbGV0ZWQiIH0sCgkJCQkJXSksCgkJCQl7IHRpbWVvdXQ6IDUwMDAgfSwKCQkJKSwKCQkpOwoJCWV4cGVjdCh5aWVsZCogc3FsYHNlbGVjdCBjb3VudCgqKTo6aW50IGFzIGNvdW50IGZyb20gc3RhcnRlcl9ub3Rlc2ApLnRvRXF1YWwoW3sgY291bnQ6IDIgfV0pOwoJfSwKCTE1XzAwMCwKKTsK","path":"src/server/committedJobs.spec.ts"},{"content":"aW1wb3J0IHR5cGUgeyBSZWRhY3RlZCB9IGZyb20gImVmZmVjdCI7CmltcG9ydCB0eXBlIHsgU3RhcnRlckF1dGggfSBmcm9tICIuL2F1dGgudHMiOwppbXBvcnQgeyBtaWdyYXRpb25zIH0gZnJvbSAiLi9taWdyYXRpb25zLnRzIjsKCmV4cG9ydCBmdW5jdGlvbiBkYXRhYmFzZU9wdGlvbnMoYXV0aDogU3RhcnRlckF1dGgsIGRhdGFiYXNlVXJsOiBSZWRhY3RlZC5SZWRhY3RlZDxzdHJpbmc+KSB7CglyZXR1cm4gewoJCWNvbmZpZzogeyBjaGFuZ2VzOiB7IGNoYW5uZWw6ICJzdGFydGVyX25vdGVzX2NoYW5nZXMiIH0sIGRhdGFiYXNlVXJsIH0sCgkJbWlncmF0aW9uczogbWlncmF0aW9ucyhhdXRoKSwKCX07Cn0K","path":"src/server/databaseOptions.ts"},{"content":"aW1wb3J0IHByb2Nlc3MgZnJvbSAibm9kZTpwcm9jZXNzIjsKaW1wb3J0IHsgTm9kZVJ1bnRpbWUsIE5vZGVTZXJ2aWNlcyB9IGZyb20gIkBlZmZlY3QvcGxhdGZvcm0tbm9kZSI7CmltcG9ydCB7IEVmZmVjdCB9IGZyb20gImVmZmVjdCI7CmltcG9ydCB7IENoaWxkUHJvY2VzcywgQ2hpbGRQcm9jZXNzU3Bhd25lciB9IGZyb20gImVmZmVjdC9wcm9jZXNzIjsKCmNvbnN0IHByb2dyYW0gPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoKSB7Cgljb25zdCBzcGF3bmVyID0geWllbGQqIENoaWxkUHJvY2Vzc1NwYXduZXIuQ2hpbGRQcm9jZXNzU3Bhd25lcjsKCWNvbnN0IG9wdGlvbnMgPSB7IHN0ZGVycjogImluaGVyaXQiLCBzdGRvdXQ6ICJpbmhlcml0IiB9IGFzIGNvbnN0OwoJY29uc3Qgc2VydmVyID0gQ2hpbGRQcm9jZXNzLm1ha2UocHJvY2Vzcy5leGVjUGF0aCwgWyItLXdhdGNoIiwgInNyYy9zZXJ2ZXIvc2VydmVyLnRzIl0sIG9wdGlvbnMpOwoJY29uc3Qgdml0ZSA9IENoaWxkUHJvY2Vzcy5tYWtlKCJwbnBtIiwgWyJleGVjIiwgInZpdGUiXSwgb3B0aW9ucyk7Cgljb25zdCB3b3JrZXIgPSBDaGlsZFByb2Nlc3MubWFrZShwcm9jZXNzLmV4ZWNQYXRoLCBbIi0td2F0Y2giLCAic3JjL3NlcnZlci93b3JrZXIudHMiXSwgb3B0aW9ucyk7Cglwcm9jZXNzLmV4aXRDb2RlID0geWllbGQqIEVmZmVjdC5yYWNlQWxsKFtzcGF3bmVyLmV4aXRDb2RlKHNlcnZlciksIHNwYXduZXIuZXhpdENvZGUod29ya2VyKSwgc3Bhd25lci5leGl0Q29kZSh2aXRlKV0pOwp9KTsKCk5vZGVSdW50aW1lLnJ1bk1haW4ocHJvZ3JhbS5waXBlKEVmZmVjdC5wcm92aWRlKE5vZGVTZXJ2aWNlcy5sYXllcikpKTsK","path":"src/server/dev.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0IH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgU3FsQ2xpZW50IH0gZnJvbSAiZWZmZWN0L3NxbCI7CgpleHBvcnQgY29uc3Qgam9iRGF0YWJhc2UgPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoKSB7Cgljb25zdCBzcWwgPSB5aWVsZCogU3FsQ2xpZW50LlNxbENsaWVudDsKCWNvbnN0IGNvbnRleHQgPSB5aWVsZCogRWZmZWN0LmNvbnRleHQ8bmV2ZXI+KCk7CglyZXR1cm4gewoJCWV4ZWN1dGVTcWw6ICh0ZXh0OiBzdHJpbmcsIHZhbHVlcz86IHVua25vd25bXSkgPT4KCQkJRWZmZWN0LnJ1blByb21pc2UoCgkJCQlzcWwudW5zYWZlKHRleHQsIHZhbHVlcykucGlwZSgKCQkJCQlFZmZlY3QucHJvdmlkZShjb250ZXh0KSwKCQkJCQlFZmZlY3QubWFwKChyb3dzKSA9PiAoeyByb3dzOiBbLi4ucm93c10gfSkpLAoJCQkJKSwKCQkJKSwKCX07Cn0pOwo=","path":"src/server/jobDatabase.ts"},{"content":"aW1wb3J0IHsgU2NoZW1hIH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgTW9kZWwgfSBmcm9tICJlZmZlY3Qvc2NoZW1hIjsKaW1wb3J0IHsgbWFrZVJlcG9zaXRvcnkgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1zcWwvcmVwb3NpdG9yeS50cyI7CmltcG9ydCB7IE5vdGUgfSBmcm9tICIjbm90ZXMudHMiOwoKZXhwb3J0IGNsYXNzIFN0b3JlZE5vdGUgZXh0ZW5kcyBNb2RlbC5DbGFzczxTdG9yZWROb3RlPigiU3RvcmVkTm90ZSIpKHsKCWlkOiBNb2RlbC5GaWVsZCh7IGpzb246IFNjaGVtYS5OdW1iZXIsIHNlbGVjdDogU2NoZW1hLk51bWJlciwgdXBkYXRlOiBTY2hlbWEuTnVtYmVyIH0pLAoJb3duZXJJZDogU2NoZW1hLk51bGxPcihTY2hlbWEuU3RyaW5nKSwKCXRpdGxlOiBOb3RlLmZpZWxkcy50aXRsZSwKCXZlcnNpb246IE1vZGVsLkZpZWxkKHsganNvbjogU2NoZW1hLk51bWJlciwgc2VsZWN0OiBTY2hlbWEuTnVtYmVyLCB1cGRhdGU6IFNjaGVtYS5OdW1iZXIgfSksCgl3b3JkQ291bnQ6IE5vdGUuZmllbGRzLndvcmRDb3VudCwKfSkge30KCmV4cG9ydCBjb25zdCBtYWtlTm90ZXNSZXBvc2l0b3J5ID0gbWFrZVJlcG9zaXRvcnkoU3RvcmVkTm90ZSwgewoJaWRDb2x1bW46ICJpZCIsCglzcGFuUHJlZml4OiAiTm90ZXMiLAoJdGFibGVOYW1lOiAic3RhcnRlcl9ub3RlcyIsCgl2ZXJzaW9uQ29sdW1uOiAidmVyc2lvbiIsCn0pOwo=","path":"src/server/makeNotesRepository.ts"},{"content":"aW1wb3J0IHsgTm9kZVJ1bnRpbWUsIE5vZGVTZXJ2aWNlcyB9IGZyb20gIkBlZmZlY3QvcGxhdGZvcm0tbm9kZSI7CmltcG9ydCB7IEVmZmVjdCB9IGZyb20gImVmZmVjdCI7CmltcG9ydCB7IG1pZ3JhdGVEYXRhYmFzZSB9IGZyb20gIi4vbWlncmF0ZURhdGFiYXNlLnRzIjsKCk5vZGVSdW50aW1lLnJ1bk1haW4obWlncmF0ZURhdGFiYXNlLnBpcGUoRWZmZWN0LnNjb3BlZCwgRWZmZWN0LnByb3ZpZGUoTm9kZVNlcnZpY2VzLmxheWVyKSkpOwo=","path":"src/server/migrate.ts"},{"content":"aW1wb3J0IHByb2Nlc3MgZnJvbSAibm9kZTpwcm9jZXNzIjsKaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCB9IGZyb20gIm5vZGU6dXJsIjsKaW1wb3J0IHsgTm9kZVNlcnZpY2VzIH0gZnJvbSAiQGVmZmVjdC9wbGF0Zm9ybS1ub2RlIjsKaW1wb3J0IHsgQ29uZmlnUHJvdmlkZXIsIEVmZmVjdCwgUmVkYWN0ZWQgfSBmcm9tICJlZmZlY3QiOwppbXBvcnQgeyBDaGlsZFByb2Nlc3MsIENoaWxkUHJvY2Vzc1NwYXduZXIgfSBmcm9tICJlZmZlY3QvcHJvY2VzcyI7CmltcG9ydCB7IFNxbENsaWVudCB9IGZyb20gImVmZmVjdC9zcWwiOwppbXBvcnQgeyBleHBlY3QgfSBmcm9tICJ2aXRlc3QiOwppbXBvcnQgeyBQb3N0Z3Jlc1Rlc3REYXRhYmFzZSB9IGZyb20gIkBzaGl2YWVkZXYvZWZmZWN0LXRlc3Qtc3FsL2RhdGFiYXNlLnRzIjsKaW1wb3J0IHsgbWlncmF0aW9uIH0gZnJvbSAiI3Rlc3Qtc3VwcG9ydC9taWdyYXRpb24udHMiOwppbXBvcnQgeyBtaWdyYXRlRGF0YWJhc2UgfSBmcm9tICIuL21pZ3JhdGVEYXRhYmFzZS50cyI7CgptaWdyYXRpb24uaXQoImFwcGxpZXMgZGVwbG95bWVudCBtaWdyYXRpb25zIHdpdGhvdXQgc3RhcnRpbmcgSFRUUCBhbmQgc2FmZWx5IHJ1bnMgYWdhaW4iLCBbXSwgZnVuY3Rpb24qICgpIHsKCWNvbnN0IGRhdGFiYXNlID0geWllbGQqIFBvc3RncmVzVGVzdERhdGFiYXNlOwoJY29uc3QgZW52aXJvbm1lbnQgPSB7CgkJIkJFVFRFUl9BVVRIX1NFQ1JFVCI6ICJtaWdyYXRpb24tdGVzdC1zZWNyZXQtd2l0aC1hdC1sZWFzdC0zMi1jaGFyYWN0ZXJzIiwKCQkiREFUQUJBU0VfVVJMIjogUmVkYWN0ZWQudmFsdWUoZGF0YWJhc2UudXJsKSwKCX07Cgljb25zdCBjb2RlID0geWllbGQqIEVmZmVjdC5mbGF0TWFwKENoaWxkUHJvY2Vzc1NwYXduZXIuQ2hpbGRQcm9jZXNzU3Bhd25lciwgKHNwYXduZXIpID0+CgkJc3Bhd25lci5leGl0Q29kZSgKCQkJQ2hpbGRQcm9jZXNzLm1ha2UocHJvY2Vzcy5leGVjUGF0aCwgW2ZpbGVVUkxUb1BhdGgobmV3IFVSTCgiLi9taWdyYXRlLnRzIiwgaW1wb3J0Lm1ldGEudXJsKSldLCB7IGVudjogZW52aXJvbm1lbnQsIGV4dGVuZEVudjogdHJ1ZSB9KSwKCQkpLAoJKS5waXBlKEVmZmVjdC5wcm92aWRlKE5vZGVTZXJ2aWNlcy5sYXllcikpOwoJZXhwZWN0KGNvZGUpLnRvQmUoMCk7Cgljb25zdCBtaWdyYXRlID0gbWlncmF0ZURhdGFiYXNlLnBpcGUoRWZmZWN0LnByb3ZpZGUoQ29uZmlnUHJvdmlkZXIubGF5ZXIoQ29uZmlnUHJvdmlkZXIuZnJvbUVudih7IGVudjogZW52aXJvbm1lbnQgfSkpKSk7CglleHBlY3QoeWllbGQqIG1pZ3JhdGUpLnRvRXF1YWwoW10pOwoJY29uc3Qgc3FsID0geWllbGQqIFNxbENsaWVudC5TcWxDbGllbnQ7CglleHBlY3QoeWllbGQqIHNxbGBzZWxlY3QgY291bnQoKik6OmludGVnZXIgYXMgY291bnQgZnJvbSBzdGFydGVyX21pZ3JhdGlvbnNgKS50b0VxdWFsKFt7IGNvdW50OiA1IH1dKTsKCWV4cGVjdCh5aWVsZCogc3FsYHNlbGVjdCB0aXRsZSwgIm93bmVySWQiLCAid29yZENvdW50IiwgdmVyc2lvbiBmcm9tIHN0YXJ0ZXJfbm90ZXNgKS50b0VxdWFsKFtdKTsKCWV4cGVjdCh5aWVsZCogc3FsYHNlbGVjdCBjb3VudCgqKTo6aW50ZWdlciBhcyBjb3VudCBmcm9tICJ1c2VyImApLnRvRXF1YWwoW3sgY291bnQ6IDAgfV0pOwp9KTsK","path":"src/server/migrateDatabase.test.ts"},{"content":"aW1wb3J0IHsgUGdDbGllbnQgfSBmcm9tICJAZWZmZWN0L3NxbC1wZyI7CmltcG9ydCB7IENvbmZpZywgRWZmZWN0IH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgbWlncmF0ZVBvc3RncmVzIH0gZnJvbSAiQHNoaXZhZWRldi9lZmZlY3Qtc3FsL21pZ3JhdGlvbnMudHMiOwppbXBvcnQgeyBtYWtlQXV0aCB9IGZyb20gIi4vYXV0aC50cyI7CmltcG9ydCB7IG1pZ3JhdGlvbnMgfSBmcm9tICIuL21pZ3JhdGlvbnMudHMiOwoKZXhwb3J0IGNvbnN0IG1pZ3JhdGVEYXRhYmFzZSA9IEVmZmVjdC5nZW4oZnVuY3Rpb24qICgpIHsKCWNvbnN0IHVybCA9IHlpZWxkKiBDb25maWcuUmVkYWN0ZWQoIkRBVEFCQVNFX1VSTCIpOwoJY29uc3QgeyBhdXRoIH0gPSB5aWVsZCogbWFrZUF1dGgoeyBkYXRhYmFzZVVybDogdXJsIH0pOwoJcmV0dXJuIHlpZWxkKiBtaWdyYXRlUG9zdGdyZXMobWlncmF0aW9ucyhhdXRoKSkucGlwZShFZmZlY3QucHJvdmlkZShQZ0NsaWVudC5sYXllcih7IHVybCB9KSkpOwp9KTsK","path":"src/server/migrateDatabase.ts"},{"content":"aW1wb3J0IHsgZ2V0TWlncmF0aW9ucyB9IGZyb20gImJldHRlci1hdXRoL2RiL21pZ3JhdGlvbiI7CmltcG9ydCB7IEVmZmVjdCB9IGZyb20gImVmZmVjdCI7CmltcG9ydCB7IE1pZ3JhdG9yLCBTcWxDbGllbnQgfSBmcm9tICJlZmZlY3Qvc3FsIjsKaW1wb3J0IHR5cGUgeyBTdGFydGVyQXV0aCB9IGZyb20gIi4vYXV0aC50cyI7CgpleHBvcnQgZnVuY3Rpb24gbWlncmF0aW9ucyhhdXRoOiBTdGFydGVyQXV0aCkgewoJcmV0dXJuIHsKCQlsb2FkZXI6IE1pZ3JhdG9yLmZyb21SZWNvcmQoewoJCQkiMDAxX2NyZWF0ZV9ub3RlcyI6IEVmZmVjdC5nZW4oZnVuY3Rpb24qICgpIHsKCQkJCWNvbnN0IHNxbCA9IHlpZWxkKiBTcWxDbGllbnQuU3FsQ2xpZW50OwoJCQkJeWllbGQqIHNxbGBjcmVhdGUgdGFibGUgc3RhcnRlcl9ub3RlcyAoaWQgc2VyaWFsIHByaW1hcnkga2V5LCB0aXRsZSB0ZXh0IG5vdCBudWxsKWA7CgkJCX0pLAoJCQkiMDAyX2NyZWF0ZV9hdXRoIjogRWZmZWN0LnRyeVByb21pc2UoYXN5bmMgKCkgPT4gewoJCQkJY29uc3QgbWlncmF0aW9uID0gYXdhaXQgZ2V0TWlncmF0aW9ucyhhdXRoLm9wdGlvbnMpOwoJCQkJYXdhaXQgbWlncmF0aW9uLnJ1bk1pZ3JhdGlvbnMoKTsKCQkJfSksCgkJCSIwMDNfbm90ZV9vd25lciI6IEVmZmVjdC5nZW4oZnVuY3Rpb24qICgpIHsKCQkJCWNvbnN0IHNxbCA9IHlpZWxkKiBTcWxDbGllbnQuU3FsQ2xpZW50OwoJCQkJeWllbGQqIHNxbGBhbHRlciB0YWJsZSBzdGFydGVyX25vdGVzIGFkZCBjb2x1bW4gIm93bmVySWQiIHRleHRgOwoJCQl9KSwKCQkJIjAwNF9ub3RlX3dvcmRfY291bnQiOiBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoKSB7CgkJCQljb25zdCBzcWwgPSB5aWVsZCogU3FsQ2xpZW50LlNxbENsaWVudDsKCQkJCXlpZWxkKiBzcWxgYWx0ZXIgdGFibGUgc3RhcnRlcl9ub3RlcyBhZGQgY29sdW1uICJ3b3JkQ291bnQiIGludGVnZXJgOwoJCQkJeWllbGQqIHNxbGB1cGRhdGUgc3RhcnRlcl9ub3RlcyBzZXQgIndvcmRDb3VudCIgPSBjYXJkaW5hbGl0eShyZWdleHBfc3BsaXRfdG9fYXJyYXkodHJpbSh0aXRsZSksICdbWzpzcGFjZTpdXSsnKSlgOwoJCQl9KSwKCQkJIjAwNV9ub3RlX3ZlcnNpb24iOiBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoKSB7CgkJCQljb25zdCBzcWwgPSB5aWVsZCogU3FsQ2xpZW50LlNxbENsaWVudDsKCQkJCXlpZWxkKiBzcWxgYWx0ZXIgdGFibGUgc3RhcnRlcl9ub3RlcyBhZGQgY29sdW1uIHZlcnNpb24gaW50ZWdlciBub3QgbnVsbCBkZWZhdWx0IDBgOwoJCQl9KSwKCQl9KSwKCQlsb2NrVGltZW91dDogIjUgc2Vjb25kcyIgYXMgY29uc3QsCgkJdGFibGU6ICJzdGFydGVyX21pZ3JhdGlvbnMiLAoJfTsKfQo=","path":"src/server/migrations.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0LCBSZXN1bHQgfSBmcm9tICJlZmZlY3QiOwppbXBvcnQgeyBTcWxDbGllbnQgfSBmcm9tICJlZmZlY3Qvc3FsIjsKaW1wb3J0IHsgZXhwZWN0IH0gZnJvbSAidml0ZXN0IjsKaW1wb3J0IHsgYXBwLCBzaWduZWRJbiB9IGZyb20gIiN0ZXN0LXN1cHBvcnQvYXBwbGljYXRpb24udHMiOwoKYXBwLml0KCJvcGVucywgdXBkYXRlcyBhbmQgZGVsZXRlcyBub3RlcyBvdmVyIEhUVFAsIHJlamVjdGluZyBzdGFsZSB3cml0ZXMgd2l0aG91dCBjaGFuZ2luZyB0aGUgcGVyc2lzdGVkIHJvdyIsIFtzaWduZWRJbigpXSwgZnVuY3Rpb24qICh7IGFjdG9yIH0pIHsKCWNvbnN0IHsgbm90ZXM6IGNsaWVudCB9ID0gYWN0b3IoKTsKCWNvbnN0IG9yaWdpbmFsID0geWllbGQqIGNsaWVudC5jcmVhdGUoeyB0aXRsZTogIk9yaWdpbmFsIiB9KTsKCWV4cGVjdChvcmlnaW5hbC52ZXJzaW9uKS50b0JlKDApOwoJZXhwZWN0KHlpZWxkKiBjbGllbnQuZ2V0KHsgaWQ6IG9yaWdpbmFsLmlkIH0pKS50b0VxdWFsKG9yaWdpbmFsKTsKCWNvbnN0IHNhdmVkID0geWllbGQqIGNsaWVudC51cGRhdGUoeyAuLi5vcmlnaW5hbCwgdGl0bGU6ICIgIFNhdmVkIG5vdGUgICIgfSk7CglleHBlY3Qoc2F2ZWQpLnRvRXF1YWwoeyAuLi5vcmlnaW5hbCwgdGl0bGU6ICJTYXZlZCBub3RlIiwgdmVyc2lvbjogMSB9KTsKCWNvbnN0IHNxbCA9IHlpZWxkKiBTcWxDbGllbnQuU3FsQ2xpZW50OwoJY29uc3QgYmVmb3JlID0geWllbGQqIHNxbGBzZWxlY3QgKiBmcm9tIHN0YXJ0ZXJfbm90ZXMgd2hlcmUgaWQgPSAke29yaWdpbmFsLmlkfWA7Cglmb3IgKGNvbnN0IGNhbGwgb2YgWwoJCWNsaWVudC51cGRhdGUoeyAuLi5vcmlnaW5hbCwgdGl0bGU6ICJTdGFsZSBkcmFmdCIgfSkucGlwZShFZmZlY3QuYXNWb2lkKSwKCQljbGllbnQuZGVsZXRlKHsgaWQ6IG9yaWdpbmFsLmlkLCB2ZXJzaW9uOiBvcmlnaW5hbC52ZXJzaW9uIH0pLAoJXSkgewoJCWNvbnN0IHJlamVjdGVkID0geWllbGQqIGNhbGwucGlwZShFZmZlY3QucmVzdWx0KTsKCQlleHBlY3QoUmVzdWx0LmlzRmFpbHVyZShyZWplY3RlZCkgJiYgcmVqZWN0ZWQuZmFpbHVyZS5fdGFnKS50b0JlKCJDb25mbGljdCIpOwoJCWV4cGVjdCh5aWVsZCogc3FsYHNlbGVjdCAqIGZyb20gc3RhcnRlcl9ub3RlcyB3aGVyZSBpZCA9ICR7b3JpZ2luYWwuaWR9YCkudG9FcXVhbChiZWZvcmUpOwoJfQoJZXhwZWN0KHlpZWxkKiBzcWxgc2VsZWN0IGNvdW50KCopOjppbnQgYXMgY291bnQgZnJvbSBwZ2Jvc3Muam9iIHdoZXJlIG5hbWUgPSAnY291bnQtbm90ZS13b3JkcydgKS50b0VxdWFsKFt7IGNvdW50OiAyIH1dKTsKCWNvbnN0IGludmFsaWQgPSB5aWVsZCogY2xpZW50LnVwZGF0ZSh7IC4uLnNhdmVkLCB0aXRsZTogIiAgICIgfSkucGlwZShFZmZlY3QucmVzdWx0KTsKCWV4cGVjdChSZXN1bHQuaXNGYWlsdXJlKGludmFsaWQpICYmIGludmFsaWQuZmFpbHVyZSkudG9NYXRjaE9iamVjdCh7IF90YWc6ICJJbnZhbGlkIiwgZmllbGQ6ICJ0aXRsZSIsIG1lc3NhZ2U6ICJFbnRlciBhIHRpdGxlIiB9KTsKCWV4cGVjdCh5aWVsZCogY2xpZW50LmdldCh7IGlkOiBzYXZlZC5pZCB9KSkudG9FcXVhbChzYXZlZCk7Cgl5aWVsZCogY2xpZW50LmRlbGV0ZSh7IGlkOiBzYXZlZC5pZCwgdmVyc2lvbjogc2F2ZWQudmVyc2lvbiB9KTsKCWV4cGVjdCh5aWVsZCogY2xpZW50Lmxpc3QoKSkudG9FcXVhbChbXSk7Cglmb3IgKGNvbnN0IGNhbGwgb2YgWwoJCWNsaWVudC5nZXQoeyBpZDogc2F2ZWQuaWQgfSkucGlwZShFZmZlY3QuYXNWb2lkKSwKCQljbGllbnQudXBkYXRlKHsgLi4uc2F2ZWQsIHRpdGxlOiAiTWlzc2luZyIgfSkucGlwZShFZmZlY3QuYXNWb2lkKSwKCQljbGllbnQuZGVsZXRlKHsgaWQ6IHNhdmVkLmlkLCB2ZXJzaW9uOiBzYXZlZC52ZXJzaW9uIH0pLAoJXSkgewoJCWNvbnN0IG1pc3NpbmcgPSB5aWVsZCogY2FsbC5waXBlKEVmZmVjdC5yZXN1bHQpOwoJCWV4cGVjdChSZXN1bHQuaXNGYWlsdXJlKG1pc3NpbmcpICYmIG1pc3NpbmcuZmFpbHVyZS5fdGFnKS50b0JlKCJOb3RGb3VuZCIpOwoJfQp9KTsKCmFwcC5pdCgKCSJyZXR1cm5zIE5vdEZvdW5kIHRvIGFub3RoZXIgYWNjb3VudCBmb3IgZ2V0LCB1cGRhdGUgYW5kIGRlbGV0ZSwgYW5kIHJlcXVpcmVzIGEgc2Vzc2lvbiIsCglbc2lnbmVkSW4oKSwgc2lnbmVkSW4oImJvYiIpXSwKCWZ1bmN0aW9uKiAoeyBhY3RvciwgYW5vbnltb3VzIH0pIHsKCQljb25zdCB7IG5vdGVzOiBhbGljZSB9ID0gYWN0b3IoKTsKCQljb25zdCBvcmlnaW5hbCA9IHlpZWxkKiBhbGljZS5jcmVhdGUoeyB0aXRsZTogIkFsaWNlJ3Mgbm90ZSIgfSk7CgkJY29uc3QgYm9iID0gYWN0b3IoImJvYiIpLm5vdGVzOwoJCWNvbnN0IHNpZ25lZE91dCA9IHlpZWxkKiBhbm9ueW1vdXMoKTsKCQlmb3IgKGNvbnN0IFtjbGllbnQsIHRhZ10gb2YgWwoJCQlbYm9iLCAiTm90Rm91bmQiXSwKCQkJW3NpZ25lZE91dCwgIlVuYXV0aG9yaXplZCJdLAoJCV0gYXMgY29uc3QpIHsKCQkJZm9yIChjb25zdCBjYWxsIG9mIFsKCQkJCWNsaWVudC5nZXQoeyBpZDogb3JpZ2luYWwuaWQgfSkucGlwZShFZmZlY3QuYXNWb2lkKSwKCQkJCWNsaWVudC51cGRhdGUoeyAuLi5vcmlnaW5hbCwgdGl0bGU6ICJBbm90aGVyIGFjY291bnQiIH0pLnBpcGUoRWZmZWN0LmFzVm9pZCksCgkJCQljbGllbnQuZGVsZXRlKHsgaWQ6IG9yaWdpbmFsLmlkLCB2ZXJzaW9uOiBvcmlnaW5hbC52ZXJzaW9uIH0pLAoJCQldKSB7CgkJCQljb25zdCByZWplY3RlZCA9IHlpZWxkKiBjYWxsLnBpcGUoRWZmZWN0LnJlc3VsdCk7CgkJCQlleHBlY3QoUmVzdWx0LmlzRmFpbHVyZShyZWplY3RlZCkgJiYgcmVqZWN0ZWQuZmFpbHVyZS5fdGFnKS50b0JlKHRhZyk7CgkJCX0KCQl9CgkJZXhwZWN0KHlpZWxkKiBhbGljZS5nZXQoeyBpZDogb3JpZ2luYWwuaWQgfSkpLnRvRXF1YWwob3JpZ2luYWwpOwoJfSwKKTsK","path":"src/server/noteEditingHost.spec.ts"},{"content":"aW1wb3J0IHsgU2NoZW1hIH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgZGVmaW5lUXVldWUgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1wZy1ib3NzL2RlZmluaXRpb24udHMiOwppbXBvcnQgeyBtYWtlUGdCb3NzIH0gZnJvbSAiQHNoaXZhZWRldi9lZmZlY3QtcGctYm9zcy9zZXJ2aWNlLnRzIjsKCmV4cG9ydCBjb25zdCBDb3VudFdvcmRzID0gZGVmaW5lUXVldWUoewoJbmFtZTogImNvdW50LW5vdGUtd29yZHMiLAoJcXVldWU6IHsgcmV0cnlCYWNrb2ZmOiB0cnVlLCByZXRyeUxpbWl0OiAzIH0sCglzY2hlbWE6IFNjaGVtYS5TdHJ1Y3QoeyBub3RlSWQ6IFNjaGVtYS5OdW1iZXIgfSksCgl3b3JrZXI6IHsgcG9sbGluZ0ludGVydmFsU2Vjb25kczogMSB9LAp9KTsKCmV4cG9ydCBjb25zdCBOb3RlSm9icyA9IG1ha2VQZ0Jvc3MoInN0YXJ0ZXIvTm90ZUpvYnMiKTsK","path":"src/server/noteJobs.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0LCBSZXN1bHQgfSBmcm9tICJlZmZlY3QiOwppbXBvcnQgeyBTcWxDbGllbnQgfSBmcm9tICJlZmZlY3Qvc3FsIjsKaW1wb3J0IHsgZXhwZWN0LCB2aSB9IGZyb20gInZpdGVzdCI7CmltcG9ydCB7IGFwcCwgc2lnbmVkSW4gfSBmcm9tICIjdGVzdC1zdXBwb3J0L2FwcGxpY2F0aW9uLnRzIjsKCmFwcC5pdCgKCSJjb3VudHMgdGhlIGVkaXRlZCB0aXRsZSB0aHJvdWdoIHRoZSB2ZXJzaW9uZWQgcmVwb3NpdG9yeSBhbmQgY29tcGxldGVzIGpvYnMgZm9yIGRlbGV0ZWQgbm90ZXMiLAoJW3NpZ25lZEluKCldLAoJZnVuY3Rpb24qICh7IGFjdG9yLCBzdGFydFdvcmtlciB9KSB7CgkJY29uc3QgeyBub3RlczogY2xpZW50IH0gPSBhY3RvcigpOwoJCWNvbnN0IG9yaWdpbmFsID0geWllbGQqIGNsaWVudC5jcmVhdGUoeyB0aXRsZTogIk9sZCB0aXRsZSIgfSk7CgkJY29uc3QgZWRpdGVkID0geWllbGQqIGNsaWVudC51cGRhdGUoeyAuLi5vcmlnaW5hbCwgdGl0bGU6ICJUaHJlZSBuZXcgd29yZHMiIH0pOwoJCWV4cGVjdChlZGl0ZWQud29yZENvdW50KS50b0JlTnVsbCgpOwoJCWNvbnN0IGRlbGV0ZWQgPSB5aWVsZCogY2xpZW50LmNyZWF0ZSh7IHRpdGxlOiAiRGVsZXRlZCBiZWZvcmUgY291bnRpbmciIH0pOwoJCXlpZWxkKiBjbGllbnQuZGVsZXRlKHsgaWQ6IGRlbGV0ZWQuaWQsIHZlcnNpb246IGRlbGV0ZWQudmVyc2lvbiB9KTsKCQl5aWVsZCogc3RhcnRXb3JrZXIoKTsKCQljb25zdCBjb3VudGVkID0geyAuLi5lZGl0ZWQsIHZlcnNpb246IDIsIHdvcmRDb3VudDogMyB9OwoJCXlpZWxkKiBFZmZlY3QucHJvbWlzZSgoKSA9PgoJCQl2aS53YWl0Rm9yKAoJCQkJYXN5bmMgKCkgPT4gewoJCQkJCWV4cGVjdChhd2FpdCBFZmZlY3QucnVuUHJvbWlzZShjbGllbnQuZ2V0KHsgaWQ6IGVkaXRlZC5pZCB9KSkpLnRvRXF1YWwoY291bnRlZCk7CgkJCQl9LAoJCQkJeyB0aW1lb3V0OiA1MDAwIH0sCgkJCSksCgkJKTsKCQljb25zdCBzdGFsZSA9IHlpZWxkKiBjbGllbnQudXBkYXRlKHsgLi4uZWRpdGVkLCB0aXRsZTogIkJlZm9yZSBjb3VudGluZyIgfSkucGlwZShFZmZlY3QucmVzdWx0KTsKCQlleHBlY3QoUmVzdWx0LmlzRmFpbHVyZShzdGFsZSkgJiYgc3RhbGUuZmFpbHVyZS5fdGFnKS50b0JlKCJDb25mbGljdCIpOwoJCWV4cGVjdCh5aWVsZCogY2xpZW50Lmxpc3QoKSkudG9FcXVhbChbY291bnRlZF0pOwoJCWNvbnN0IHNxbCA9IHlpZWxkKiBTcWxDbGllbnQuU3FsQ2xpZW50OwoJCXlpZWxkKiBFZmZlY3QucHJvbWlzZSgoKSA9PgoJCQl2aS53YWl0Rm9yKAoJCQkJYXN5bmMgKCkgPT4gewoJCQkJCWV4cGVjdChhd2FpdCBFZmZlY3QucnVuUHJvbWlzZShzcWxgc2VsZWN0IHN0YXRlIGZyb20gcGdib3NzLmpvYiB3aGVyZSBuYW1lID0gJ2NvdW50LW5vdGUtd29yZHMnYCkpLnRvRXF1YWwoWwoJCQkJCQl7IHN0YXRlOiAiY29tcGxldGVkIiB9LAoJCQkJCQl7IHN0YXRlOiAiY29tcGxldGVkIiB9LAoJCQkJCQl7IHN0YXRlOiAiY29tcGxldGVkIiB9LAoJCQkJCV0pOwoJCQkJfSwKCQkJCXsgdGltZW91dDogNTAwMCB9LAoJCQkpLAoJCSk7Cgl9LAoJMTVfMDAwLAopOwo=","path":"src/server/noteJobsEditing.spec.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0LCBMYXllciB9IGZyb20gImVmZmVjdCI7CmltcG9ydCB7IGRlZmF1bHRDbGllbnRGYWN0b3J5IH0gZnJvbSAiQHNoaXZhZWRldi9lZmZlY3QtcGctYm9zcy9jbGllbnQudHMiOwppbXBvcnQgeyB0b1BnQm9zc0Vycm9yIH0gZnJvbSAiQHNoaXZhZWRldi9lZmZlY3QtcGctYm9zcy9lcnJvci50cyI7CmltcG9ydCB7IGRlYWRMZXR0ZXJRdWV1ZU5hbWUgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1wZy1ib3NzL2hlYWx0aC50cyI7CmltcG9ydCB7IENvdW50V29yZHMsIE5vdGVKb2JzIH0gZnJvbSAiLi9ub3RlSm9icy50cyI7CgpleHBvcnQgZnVuY3Rpb24gbm90ZVByb2R1Y2VyKGNvbm5lY3Rpb25TdHJpbmc6IHN0cmluZykgewoJcmV0dXJuIExheWVyLnVud3JhcCgKCQlFZmZlY3Quc3luYygoKSA9PiB7CgkJCWNvbnN0IGNsaWVudCA9IGRlZmF1bHRDbGllbnRGYWN0b3J5KHsgY29ubmVjdGlvblN0cmluZyB9KTsKCQkJY29uc3QgcXVldWVzID0gRWZmZWN0LnRyeVByb21pc2UoewoJCQkJY2F0Y2g6IChlcnJvcikgPT4gdG9QZ0Jvc3NFcnJvcigicmVnaXN0ZXIiLCBlcnJvciksCgkJCQl0cnk6IGFzeW5jICgpID0+IHsKCQkJCQljb25zdCBkZWFkTGV0dGVyID0gZGVhZExldHRlclF1ZXVlTmFtZShDb3VudFdvcmRzLm5hbWUpOwoJCQkJCWF3YWl0IGNsaWVudC5jcmVhdGVRdWV1ZShkZWFkTGV0dGVyKTsKCQkJCQlhd2FpdCBjbGllbnQuY3JlYXRlUXVldWUoQ291bnRXb3Jkcy5uYW1lLCB7IC4uLkNvdW50V29yZHMucXVldWVPcHRpb25zLCBkZWFkTGV0dGVyIH0pOwoJCQkJfSwKCQkJfSk7CgkJCXJldHVybiBMYXllci5lZmZlY3REaXNjYXJkKHF1ZXVlcykucGlwZShMYXllci5wcm92aWRlTWVyZ2UoTm90ZUpvYnMubGF5ZXIoeyBjbGllbnRGYWN0b3J5OiAoKSA9PiBjbGllbnQsIGNvbm5lY3Rpb25TdHJpbmcsIGpvYnM6IFtdIH0pKSk7CgkJfSksCgkpOwp9Cg==","path":"src/server/noteProducer.ts"},{"content":"aW1wb3J0IHsgQ29uZmlnLCBFZmZlY3QsIExheWVyLCBSZWRhY3RlZCB9IGZyb20gImVmZmVjdCI7CmltcG9ydCB7IGludmFsaWRhdGlvbktleXMgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1jb250cmFjdC9rZXlzLnRzIjsKaW1wb3J0IHsgaW52YWxpZGF0ZU9uQ29tbWl0LCB0cmFuc2FjdCB9IGZyb20gIkBzaGl2YWVkZXYvZWZmZWN0LXNxbC90cmFuc2FjdC50cyI7CmltcG9ydCB7IGFwcERhdGFiYXNlIH0gZnJvbSAiQHNoaXZhZWRldi9wbGF0Zm9ybS9hcHBIb3N0LnRzIjsKaW1wb3J0IHsgbm90ZXMgfSBmcm9tICIjbm90ZXMudHMiOwppbXBvcnQgeyBtYWtlQXV0aCB9IGZyb20gIi4vYXV0aC50cyI7CmltcG9ydCB7IGRhdGFiYXNlT3B0aW9ucyB9IGZyb20gIi4vZGF0YWJhc2VPcHRpb25zLnRzIjsKaW1wb3J0IHsgbWFrZU5vdGVzUmVwb3NpdG9yeSB9IGZyb20gIi4vbWFrZU5vdGVzUmVwb3NpdG9yeS50cyI7CmltcG9ydCB7IENvdW50V29yZHMsIE5vdGVKb2JzIH0gZnJvbSAiLi9ub3RlSm9icy50cyI7Cgpjb25zdCBjb3VudFdvcmRzID0gQ291bnRXb3Jkcy5oYW5kbGUoKHsgbm90ZUlkIH0pID0+CglFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoKSB7CgkJY29uc3QgcmVwb3NpdG9yeSA9IHlpZWxkKiBtYWtlTm90ZXNSZXBvc2l0b3J5OwoJCWNvbnN0IHJvd3MgPSB5aWVsZCogcmVwb3NpdG9yeS5maW5kTWFueSh7IHdoZXJlOiB7IGlkOiBub3RlSWQsIHdvcmRDb3VudDogbnVsbCB9IH0pOwoJCWZvciAoY29uc3Qgcm93IG9mIHJvd3MpIHsKCQkJeWllbGQqIHJlcG9zaXRvcnkudXBkYXRlKHsgLi4ucm93LCB3b3JkQ291bnQ6IHJvdy50aXRsZS5zcGxpdCgvXHMrL3UpLmxlbmd0aCB9KTsKCQl9CgkJeWllbGQqIGludmFsaWRhdGVPbkNvbW1pdChpbnZhbGlkYXRpb25LZXlzKFtub3Rlcy5pdGVtKG5vdGVJZCldKSk7Cgl9KS5waXBlKHRyYW5zYWN0KHsgb25TcWxFcnJvcjogKGVycm9yKSA9PiBlcnJvciB9KSksCik7CgpleHBvcnQgZnVuY3Rpb24gbm90ZVdvcmtlcihjb25maWc/OiB7IHJlYWRvbmx5IGRhdGFiYXNlVXJsPzogUmVkYWN0ZWQuUmVkYWN0ZWQ8c3RyaW5nPjsgcmVhZG9ubHkgc2VjcmV0PzogUmVkYWN0ZWQuUmVkYWN0ZWQ8c3RyaW5nPiB9KSB7CglyZXR1cm4gTGF5ZXIudW53cmFwKAoJCUVmZmVjdC5nZW4oZnVuY3Rpb24qICgpIHsKCQkJY29uc3QgZGF0YWJhc2VVcmwgPSBjb25maWc/LmRhdGFiYXNlVXJsID8/ICh5aWVsZCogQ29uZmlnLlJlZGFjdGVkKCJEQVRBQkFTRV9VUkwiKSk7CgkJCWNvbnN0IHsgYXV0aCB9ID0geWllbGQqIG1ha2VBdXRoKHsgZGF0YWJhc2VVcmwsIC4uLihjb25maWc/LnNlY3JldCA9PT0gdW5kZWZpbmVkID8ge30gOiB7IHNlY3JldDogY29uZmlnLnNlY3JldCB9KSB9KTsKCQkJcmV0dXJuIE5vdGVKb2JzLmxheWVyKHsgY29ubmVjdGlvblN0cmluZzogUmVkYWN0ZWQudmFsdWUoZGF0YWJhc2VVcmwpLCBqb2JzOiBbY291bnRXb3Jkc10gfSkucGlwZSgKCQkJCUxheWVyLnByb3ZpZGVNZXJnZShhcHBEYXRhYmFzZShkYXRhYmFzZU9wdGlvbnMoYXV0aCwgZGF0YWJhc2VVcmwpKSksCgkJCSk7CgkJfSksCgkpOwp9Cg==","path":"src/server/noteWorker.ts"},{"content":"aW1wb3J0IHsgYXNzZXJ0TW9kZWxDb2x1bW5zIH0gZnJvbSAiQHNoaXZhZWRldi9lZmZlY3QtdGVzdC1zcWwvYXNzZXJ0TW9kZWxDb2x1bW5zLnRzIjsKaW1wb3J0IHsgYmVmb3JlVmVyc2lvbmVkTm90ZXMsIG1pZ3JhdGlvbiB9IGZyb20gIiN0ZXN0LXN1cHBvcnQvbWlncmF0aW9uLnRzIjsKaW1wb3J0IHsgU3RvcmVkTm90ZSB9IGZyb20gIi4vbWFrZU5vdGVzUmVwb3NpdG9yeS50cyI7CgptaWdyYXRpb24uaXQoCgkidXBncmFkZXMgdGhlIHByZS12ZXJzaW9uIG5vdGVzIHRhYmxlIHRvIGV2ZXJ5IGN1cnJlbnQgbW9kZWwgY29sdW1uIGFuZCBQb3N0Z3JlU1FMIHR5cGUiLAoJW2JlZm9yZVZlcnNpb25lZE5vdGVzKCldLAoJZnVuY3Rpb24qICh7IHVwZ3JhZGUgfSkgewoJCWNvbnN0IGNvbHVtbnMgPSB5aWVsZCogdXBncmFkZSgpOwoJCXlpZWxkKiBhc3NlcnRNb2RlbENvbHVtbnMoY29sdW1ucywgU3RvcmVkTm90ZSwgeyBpZDogImludGVnZXIiLCBvd25lcklkOiAidGV4dCIsIHRpdGxlOiAidGV4dCIsIHZlcnNpb246ICJpbnRlZ2VyIiwgd29yZENvdW50OiAiaW50ZWdlciIgfSk7Cgl9LAopOwo=","path":"src/server/notesMigration.spec.ts"},{"content":"aW1wb3J0IHsgTm9kZVJ1bnRpbWUgfSBmcm9tICJAZWZmZWN0L3BsYXRmb3JtLW5vZGUiOwppbXBvcnQgeyBMYXllciB9IGZyb20gImVmZmVjdCI7CmltcG9ydCB7IHN0YXJ0ZXJIb3N0IH0gZnJvbSAiLi9zdGFydGVySG9zdC50cyI7CgpOb2RlUnVudGltZS5ydW5NYWluKExheWVyLmxhdW5jaChzdGFydGVySG9zdCgpKSk7Cg==","path":"src/server/server.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0LCBSZXN1bHQgfSBmcm9tICJlZmZlY3QiOwppbXBvcnQgeyBTcWxDbGllbnQgfSBmcm9tICJlZmZlY3Qvc3FsIjsKaW1wb3J0IHsgZXhwZWN0IH0gZnJvbSAidml0ZXN0IjsKaW1wb3J0IHsgVW5hdXRob3JpemVkIH0gZnJvbSAiQHNoaXZhZWRldi9wbGF0Zm9ybS9lcnJvcnMvdGF4b25vbXkudHMiOwppbXBvcnQgeyBhcHAsIHNpZ25lZEluIH0gZnJvbSAiI3Rlc3Qtc3VwcG9ydC9hcHBsaWNhdGlvbi50cyI7CgphcHAuaXQoCgkicmVhZHMgZWFjaCBzaWduZWQtaW4gdXNlcidzIHByb2ZpbGUgdGhyb3VnaCBTZXNzaW9uVXNlciBvdmVyIFBvc3RncmVTUUwgYW5kIEhUVFAiLAoJW3NpZ25lZEluKCksIHNpZ25lZEluKCJib2IiKV0sCglmdW5jdGlvbiogKHsgYWN0b3IsIGFub255bW91cywgYXV0aGVudGljYXRlIH0pIHsKCQljb25zdCB7IGNvb2tpZTogYWxpY2VDb29raWUsIG5vdGVzOiBhbGljZSB9ID0gYWN0b3IoKTsKCQljb25zdCBib2IgPSBhY3RvcigiYm9iIikubm90ZXM7CgkJY29uc3QgcHJvZmlsZXMgPSB5aWVsZCogRWZmZWN0LmFsbCgKCQkJQXJyYXkuZnJvbSh7IGxlbmd0aDogMTIgfSwgKF8sIGluZGV4KSA9PiAoaW5kZXggJSAyID09PSAwID8gYWxpY2UgOiBib2IpLndob2FtaSgpKSwKCQkJewoJCQkJY29uY3VycmVuY3k6ICJ1bmJvdW5kZWQiLAoJCQl9LAoJCSk7CgkJY29uc3QgYWxpY2VQcm9maWxlID0gcHJvZmlsZXNbMF07CgkJY29uc3QgYm9iUHJvZmlsZSA9IHByb2ZpbGVzWzFdOwoJCWV4cGVjdChhbGljZVByb2ZpbGUpLnRvRXF1YWwoeyBlbWFpbDogImFsaWNlQHN0YXJ0ZXIudGVzdCIsIGlkOiBleHBlY3QuYW55KFN0cmluZyksIG5hbWU6ICJhbGljZSIgfSk7CgkJZXhwZWN0KGJvYlByb2ZpbGUpLnRvRXF1YWwoeyBlbWFpbDogImJvYkBzdGFydGVyLnRlc3QiLCBpZDogZXhwZWN0LmFueShTdHJpbmcpLCBuYW1lOiAiYm9iIiB9KTsKCQlleHBlY3QoYWxpY2VQcm9maWxlPy5pZCkubm90LnRvQmUoYm9iUHJvZmlsZT8uaWQpOwoJCXByb2ZpbGVzLmZvckVhY2goKHByb2ZpbGUsIGluZGV4KSA9PiB7CgkJCWV4cGVjdChwcm9maWxlKS50b0VxdWFsKGluZGV4ICUgMiA9PT0gMCA/IGFsaWNlUHJvZmlsZSA6IGJvYlByb2ZpbGUpOwoJCX0pOwoJCWNvbnN0IG5vdGUgPSB5aWVsZCogYWxpY2UuY3JlYXRlKHsgdGl0bGU6ICJPd25lZCBieSB0aGUgY3VycmVudCB1c2VyIiB9KTsKCQljb25zdCBzcWwgPSB5aWVsZCogU3FsQ2xpZW50LlNxbENsaWVudDsKCQlleHBlY3QoeWllbGQqIHNxbGBzZWxlY3QgIm93bmVySWQiIGZyb20gc3RhcnRlcl9ub3RlcyB3aGVyZSBpZCA9ICR7bm90ZS5pZH1gKS50b0VxdWFsKFt7IG93bmVySWQ6IGFsaWNlUHJvZmlsZT8uaWQgfV0pOwoJCWNvbnN0IHNpZ25lZE91dCA9IHlpZWxkKiBhbm9ueW1vdXMoKTsKCQljb25zdCBkZW5pZWQgPSB5aWVsZCogc2lnbmVkT3V0Lndob2FtaSgpLnBpcGUoRWZmZWN0LnJlc3VsdCk7CgkJZXhwZWN0KFJlc3VsdC5pc0ZhaWx1cmUoZGVuaWVkKSAmJiBkZW5pZWQuZmFpbHVyZSkudG9CZUluc3RhbmNlT2YoVW5hdXRob3JpemVkKTsKCQl5aWVsZCogYXV0aGVudGljYXRlKCJhbGljZSIsICJzaWduLW91dCIsIGFsaWNlQ29va2llKTsKCQljb25zdCByZXZva2VkID0geWllbGQqIGFsaWNlLndob2FtaSgpLnBpcGUoRWZmZWN0LnJlc3VsdCk7CgkJZXhwZWN0KFJlc3VsdC5pc0ZhaWx1cmUocmV2b2tlZCkgJiYgcmV2b2tlZC5mYWlsdXJlKS50b0JlSW5zdGFuY2VPZihVbmF1dGhvcml6ZWQpOwoJfSwKKTsK","path":"src/server/sessionUser.spec.ts"},{"content":"aW1wb3J0IHsgcmVhZEZpbGVTeW5jIH0gZnJvbSAibm9kZTpmcyI7CmltcG9ydCB7IENvbmZpZywgRWZmZWN0LCBTY2hlbWEgfSBmcm9tICJlZmZlY3QiOwppbXBvcnQgeyBhc3NlcnRMb2NhbERhdGFiYXNlLCBsb2NhbFBvc3RncmVzLCBsb2NhbFNlcnZlciB9IGZyb20gIkBzaGl2YWVkZXYvbG9jYWwtcG9zdGdyZXMvbG9jYWxQb3N0Z3Jlcy50cyI7Cgpjb25zdCB7IG5hbWUgfSA9IFNjaGVtYS5kZWNvZGVVbmtub3duU3luYyhTY2hlbWEuZnJvbUpzb25TdHJpbmcoU2NoZW1hLlN0cnVjdCh7IG5hbWU6IFNjaGVtYS5TdHJpbmcgfSkpKSgKCXJlYWRGaWxlU3luYyhuZXcgVVJMKCIuLi8uLi9wYWNrYWdlLmpzb24iLCBpbXBvcnQubWV0YS51cmwpLCAidXRmOCIpLAopOwpjb25zdCBkYXRhYmFzZSA9IChuYW1lLnNwbGl0KCIvIikuYXQoLTEpID8/IG5hbWUpCgkucmVwbGFjZUFsbCgvWy4tXS9ndSwgIl8iKQoJLnJlcGxhY2UoL15bXmEtel0vdSwgImFwcF8kJiIpCgkuc2xpY2UoMCwgNTgpOwpjb25zdCBkZXZlbG9wbWVudCA9IEVmZmVjdC5ydW5TeW5jKENvbmZpZy5TdHJpbmcoIkRBVEFCQVNFX1VSTCIpLnBpcGUoQ29uZmlnLndpdGhEZWZhdWx0KGAke2xvY2FsU2VydmVyfS8ke2RhdGFiYXNlfV9kZXZgKSkpOwpjb25zdCB0ZXN0cyA9IEVmZmVjdC5ydW5TeW5jKENvbmZpZy5TdHJpbmcoIlRFU1RfREFUQUJBU0VfVVJMIikucGlwZShDb25maWcud2l0aERlZmF1bHQoYCR7bG9jYWxTZXJ2ZXJ9LyR7ZGF0YWJhc2V9X3Rlc3RgKSkpOwphc3NlcnRMb2NhbERhdGFiYXNlKGRldmVsb3BtZW50LCBbYCR7ZGF0YWJhc2V9X2RldmBdKTsKYXNzZXJ0TG9jYWxEYXRhYmFzZSh0ZXN0cywgW2Ake2RhdGFiYXNlfV90ZXN0YF0pOwpsb2NhbFBvc3RncmVzKAoJRWZmZWN0LnJ1blN5bmMoCgkJQ29uZmlnLmFsbCh7CgkJCSJET0NLRVJfQ09OVEVYVCI6IENvbmZpZy5TdHJpbmcoIkRPQ0tFUl9DT05URVhUIikucGlwZShDb25maWcud2l0aERlZmF1bHQoIiIpKSwKCQkJIkRPQ0tFUl9IT1NUIjogQ29uZmlnLlN0cmluZygiRE9DS0VSX0hPU1QiKS5waXBlKENvbmZpZy53aXRoRGVmYXVsdCgiIikpLAoJCX0pLAoJKSwKKS5wcmVwYXJlRGF0YWJhc2VzKFtkZXZlbG9wbWVudCwgdGVzdHNdKTsK","path":"src/server/setup-database.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0IH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgZXhwZWN0IH0gZnJvbSAidml0ZXN0IjsKaW1wb3J0IHsgYXBwLCBiZWhpbmRQcm94eSB9IGZyb20gIiN0ZXN0LXN1cHBvcnQvYXBwbGljYXRpb24udHMiOwoKYXBwLml0KCJzZXJ2ZXMgdGhlIGRlcGxveW1lbnQgaGVhbHRoIGNoZWNrIGFmdGVyIGRhdGFiYXNlIG1pZ3JhdGlvbnMiLCBbXSwgZnVuY3Rpb24qICh7IHJ1bm5pbmdIb3N0IH0pIHsKCWNvbnN0IHJlc3BvbnNlID0geWllbGQqIEVmZmVjdC5wcm9taXNlKCgpID0+IGZldGNoKGAke3J1bm5pbmdIb3N0KCkuYmFzZVVybH0vaGVhbHRoYCkpOwoJZXhwZWN0KHJlc3BvbnNlLnN0YXR1cykudG9CZSgyMDApOwoJZXhwZWN0KHlpZWxkKiBFZmZlY3QucHJvbWlzZSgoKSA9PiByZXNwb25zZS50ZXh0KCkpKS50b0JlKCJSZWFkeSIpOwp9KTsKCmFwcC5pdCgKCSJhdXRoZW50aWNhdGVzIGFuZCBzZXJ2ZXMgcHJvdGVjdGVkIFJQQyBiZWhpbmQgYW4gSFRUUFMgZm9yd2FyZGluZyBwcm94eSB1c2luZyBlbnZpcm9ubWVudCBzZXR0aW5ncyIsCglbYmVoaW5kUHJveHkoKV0sCglmdW5jdGlvbiogKHsgYXV0aGVudGljYXRlLCBub3RlcywgZm9yZWlnblJlcXVlc3QgfSkgewoJCWZvciAoY29uc3QgcGF0aCBvZiBbInNpZ24tdXAvZW1haWwiLCAic2lnbi1pbi9lbWFpbCJdKSB7CgkJCWNvbnN0IGNvb2tpZSA9IHlpZWxkKiBhdXRoZW50aWNhdGUoImRlcGxveWVkIiwgcGF0aCk7CgkJCWNvbnN0IGNsaWVudCA9IHlpZWxkKiBub3Rlcyhjb29raWUpOwoJCQlleHBlY3QoeWllbGQqIGNsaWVudC5saXN0KCkpLnRvRXF1YWwoW10pOwoJCQl5aWVsZCogZm9yZWlnblJlcXVlc3QoY29va2llKTsKCQl9Cgl9LAopOwo=","path":"src/server/starterDeploy.spec.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0LCBSZXN1bHQgfSBmcm9tICJlZmZlY3QiOwppbXBvcnQgeyBTcWxDbGllbnQgfSBmcm9tICJlZmZlY3Qvc3FsIjsKaW1wb3J0IHsgZXhwZWN0IH0gZnJvbSAidml0ZXN0IjsKaW1wb3J0IHsgYXBwLCBsZWdhY3lOb3RlLCBzaWduZWRJbiB9IGZyb20gIiN0ZXN0LXN1cHBvcnQvYXBwbGljYXRpb24udHMiOwoKYXBwLml0KCJtaWdyYXRlcyBQb3N0Z3JlU1FMIGFuZCBjcmVhdGVzIGFuZCBxdWVyaWVzIGEgcGVyc2lzdGVkIG5vdGUgb3ZlciBhdXRoZW50aWNhdGVkIEhUVFAvTkRKU09OIiwgW3NpZ25lZEluKCldLCBmdW5jdGlvbiogKHsgYWN0b3IgfSkgewoJY29uc3QgeyBub3RlczogY2xpZW50IH0gPSBhY3RvcigpOwoJZXhwZWN0KHlpZWxkKiBjbGllbnQubGlzdCgpKS50b0VxdWFsKFtdKTsKCWNvbnN0IGNyZWF0ZWQgPSB5aWVsZCogY2xpZW50LmNyZWF0ZSh7IHRpdGxlOiAiICBGaXJzdCBub3RlICAiIH0pOwoJZXhwZWN0KGNyZWF0ZWQudGl0bGUpLnRvQmUoIkZpcnN0IG5vdGUiKTsKCWV4cGVjdCh5aWVsZCogY2xpZW50Lmxpc3QoKSkudG9FcXVhbChbY3JlYXRlZF0pOwoJY29uc3Qgc3FsID0geWllbGQqIFNxbENsaWVudC5TcWxDbGllbnQ7CglleHBlY3QoeWllbGQqIHNxbGBzZWxlY3QgaWQsIHRpdGxlLCAid29yZENvdW50IiwgdmVyc2lvbiBmcm9tIHN0YXJ0ZXJfbm90ZXNgKS50b0VxdWFsKFtjcmVhdGVkXSk7Cgljb25zdCBpbnZhbGlkID0geWllbGQqIGNsaWVudC5jcmVhdGUoeyB0aXRsZTogIiAgICIgfSkucGlwZShFZmZlY3QucmVzdWx0KTsKCWV4cGVjdChSZXN1bHQuaXNGYWlsdXJlKGludmFsaWQpICYmIGludmFsaWQuZmFpbHVyZS5fdGFnKS50b0JlKCJJbnZhbGlkIik7CglleHBlY3QoeWllbGQqIGNsaWVudC5saXN0KCkpLnRvRXF1YWwoW2NyZWF0ZWRdKTsKfSk7CgphcHAuaXQoCgkicmVydW5zIHRoZSBzdGFydGVyIG1pZ3JhdGlvbiBwYXRoIHdpdGhvdXQgbG9zaW5nIGF1dGggYWNjb3VudHMgb3Igbm90ZXMiLAoJW3NpZ25lZEluKCldLAoJZnVuY3Rpb24qICh7IGFjdG9yLCByZXJ1bk1pZ3JhdGlvbnMsIGF1dGhlbnRpY2F0ZSwgbm90ZXMgfSkgewoJCWNvbnN0IHsgbm90ZXM6IGNsaWVudCB9ID0gYWN0b3IoKTsKCQljb25zdCBub3RlID0geWllbGQqIGNsaWVudC5jcmVhdGUoeyB0aXRsZTogIktlZXAgdGhpcyBub3RlIiB9KTsKCQl5aWVsZCogcmVydW5NaWdyYXRpb25zKCk7CgkJY29uc3QgcmV0dXJuaW5nID0geWllbGQqIGF1dGhlbnRpY2F0ZSgiYWxpY2UiLCAic2lnbi1pbi9lbWFpbCIpOwoJCWNvbnN0IHJlb3BlbmVkID0geWllbGQqIG5vdGVzKHJldHVybmluZyk7CgkJZXhwZWN0KHlpZWxkKiByZW9wZW5lZC5saXN0KCkpLnRvRXF1YWwoW25vdGVdKTsKCX0sCik7CgphcHAuaXQoImFkZHMgd29yZCBjb3VudHMgdG8gbm90ZXMgc2F2ZWQgYmVmb3JlIHRoZSBqb2IgbWlncmF0aW9uIiwgW3NpZ25lZEluKCldLCBmdW5jdGlvbiogKHsgYWN0b3IsIHJlcnVuTWlncmF0aW9ucyB9KSB7Cgljb25zdCB7IG5vdGVzOiBjbGllbnQgfSA9IGFjdG9yKCk7Cgljb25zdCBub3RlID0geWllbGQqIGNsaWVudC5jcmVhdGUoeyB0aXRsZTogIktlZXAgdGhpcyBvbGQgbm90ZSIgfSk7Cgljb25zdCBzcWwgPSB5aWVsZCogU3FsQ2xpZW50LlNxbENsaWVudDsKCXlpZWxkKiBzcWxgYWx0ZXIgdGFibGUgc3RhcnRlcl9ub3RlcyBkcm9wIGNvbHVtbiAid29yZENvdW50ImA7Cgl5aWVsZCogc3FsYGFsdGVyIHRhYmxlIHN0YXJ0ZXJfbm90ZXMgZHJvcCBjb2x1bW4gdmVyc2lvbmA7Cgl5aWVsZCogc3FsYGRlbGV0ZSBmcm9tIHN0YXJ0ZXJfbWlncmF0aW9ucyB3aGVyZSBtaWdyYXRpb25faWQgPj0gNGA7Cgl5aWVsZCogcmVydW5NaWdyYXRpb25zKCk7CglleHBlY3QoeWllbGQqIGNsaWVudC5saXN0KCkpLnRvRXF1YWwoW3sgLi4ubm90ZSwgd29yZENvdW50OiA0IH1dKTsKfSk7CgphcHAuaXQoInVwZ3JhZGVzIGV4aXN0aW5nIG5vdGVzIHdpdGggdmVyc2lvbiB6ZXJvIGFuZCBhY2NlcHRzIHRoZWlyIGZpcnN0IHZlcnNpb25lZCBlZGl0IiwgW3NpZ25lZEluKCldLCBmdW5jdGlvbiogKHsgYWN0b3IsIHJlcnVuTWlncmF0aW9ucyB9KSB7Cgljb25zdCB7IG5vdGVzOiBjbGllbnQgfSA9IGFjdG9yKCk7Cgljb25zdCBub3RlID0geWllbGQqIGNsaWVudC5jcmVhdGUoeyB0aXRsZTogIkV4aXN0aW5nIG5vdGUiIH0pOwoJY29uc3Qgc3FsID0geWllbGQqIFNxbENsaWVudC5TcWxDbGllbnQ7Cgl5aWVsZCogc3FsYGFsdGVyIHRhYmxlIHN0YXJ0ZXJfbm90ZXMgZHJvcCBjb2x1bW4gdmVyc2lvbmA7Cgl5aWVsZCogc3FsYGRlbGV0ZSBmcm9tIHN0YXJ0ZXJfbWlncmF0aW9ucyB3aGVyZSBtaWdyYXRpb25faWQgPSA1YDsKCXlpZWxkKiByZXJ1bk1pZ3JhdGlvbnMoKTsKCWV4cGVjdCh5aWVsZCogY2xpZW50LmdldCh7IGlkOiBub3RlLmlkIH0pKS50b0VxdWFsKHsgLi4ubm90ZSwgdmVyc2lvbjogMCB9KTsKCWV4cGVjdCh5aWVsZCogY2xpZW50LnVwZGF0ZSh7IC4uLm5vdGUsIHRpdGxlOiAiRWRpdGVkIG9sZCBub3RlIiB9KSkudG9FcXVhbCh7IC4uLm5vdGUsIHRpdGxlOiAiRWRpdGVkIG9sZCBub3RlIiwgdmVyc2lvbjogMSB9KTsKfSk7CgphcHAuaXQoCgkicHJvdGVjdHMgcXVlcmllcyBhbmQgY29tbWFuZHMsIGlzb2xhdGVzIHVzZXJzLCBhbmQgcmV2b2tlcyB0aGUgc2lnbmVkLW91dCBzZXNzaW9uIGJlZm9yZSBzaWduaW5nIGluIGFnYWluIiwKCVtzaWduZWRJbigpLCBzaWduZWRJbigiYm9iIiksIGxlZ2FjeU5vdGUoIkxlZ2FjeSBub3RlIildLAoJZnVuY3Rpb24qICh7IGFjdG9yLCBhdXRoZW50aWNhdGUsIG5vdGVzLCBhbm9ueW1vdXMgfSkgewoJCWNvbnN0IHNxbCA9IHlpZWxkKiBTcWxDbGllbnQuU3FsQ2xpZW50OwoJCWNvbnN0IHNpZ25lZE91dCA9IHlpZWxkKiBhbm9ueW1vdXMoKTsKCQlmb3IgKGNvbnN0IGNhbGwgb2YgW3NpZ25lZE91dC5saXN0KCkucGlwZShFZmZlY3QuYXNWb2lkKSwgc2lnbmVkT3V0LmNyZWF0ZSh7IHRpdGxlOiAiQW5vbnltb3VzIG5vdGUiIH0pLnBpcGUoRWZmZWN0LmFzVm9pZCldKSB7CgkJCWNvbnN0IHJlc3VsdCA9IHlpZWxkKiBFZmZlY3QucmVzdWx0KGNhbGwpOwoJCQlleHBlY3QoUmVzdWx0LmlzRmFpbHVyZShyZXN1bHQpICYmIHJlc3VsdC5mYWlsdXJlLl90YWcpLnRvQmUoIlVuYXV0aG9yaXplZCIpOwoJCX0KCQljb25zdCB7IGNvb2tpZTogYWxpY2VDb29raWUsIG5vdGVzOiBhbGljZSB9ID0gYWN0b3IoKTsKCQljb25zdCBub3RlID0geWllbGQqIGFsaWNlLmNyZWF0ZSh7IHRpdGxlOiAiQWxpY2UncyBub3RlIiB9KTsKCQljb25zdCBib2IgPSBhY3RvcigiYm9iIikubm90ZXM7CgkJZXhwZWN0KHlpZWxkKiBib2IubGlzdCgpKS50b0VxdWFsKFtdKTsKCQlleHBlY3QoeWllbGQqIGFsaWNlLmxpc3QoKSkudG9FcXVhbChbbm90ZV0pOwoJCWNvbnN0IHVzZXIgPSB5aWVsZCogYWxpY2Uud2hvYW1pKCk7CgkJZXhwZWN0KHlpZWxkKiBzcWxgc2VsZWN0ICJvd25lcklkIiBmcm9tIHN0YXJ0ZXJfbm90ZXMgd2hlcmUgdGl0bGUgPSAke25vdGUudGl0bGV9YCkudG9FcXVhbChbeyBvd25lcklkOiB1c2VyLmlkIH1dKTsKCQlleHBlY3QoeWllbGQqIHNxbGBzZWxlY3QgIm93bmVySWQiIGZyb20gc3RhcnRlcl9ub3RlcyB3aGVyZSB0aXRsZSA9ICdMZWdhY3kgbm90ZSdgKS50b0VxdWFsKFt7IG93bmVySWQ6IG51bGwgfV0pOwoJCXlpZWxkKiBhdXRoZW50aWNhdGUoImFsaWNlIiwgInNpZ24tb3V0IiwgYWxpY2VDb29raWUpOwoJCWNvbnN0IHJldm9rZWQgPSB5aWVsZCogYWxpY2UuY3JlYXRlKHsgdGl0bGU6ICJSZXZva2VkIG5vdGUiIH0pLnBpcGUoRWZmZWN0LnJlc3VsdCk7CgkJZXhwZWN0KFJlc3VsdC5pc0ZhaWx1cmUocmV2b2tlZCkgJiYgcmV2b2tlZC5mYWlsdXJlLl90YWcpLnRvQmUoIlVuYXV0aG9yaXplZCIpOwoJCWNvbnN0IHJldHVybmluZ0Nvb2tpZSA9IHlpZWxkKiBhdXRoZW50aWNhdGUoImFsaWNlIiwgInNpZ24taW4vZW1haWwiKTsKCQljb25zdCByZXR1cm5pbmcgPSB5aWVsZCogbm90ZXMocmV0dXJuaW5nQ29va2llKTsKCQlleHBlY3QoeWllbGQqIHJldHVybmluZy5saXN0KCkpLnRvRXF1YWwoW25vdGVdKTsKCX0sCik7Cg==","path":"src/server/starterHost.test.ts"},{"content":"aW1wb3J0IHsgQ29uZmlnLCBFZmZlY3QsIExheWVyLCBSZWRhY3RlZCB9IGZyb20gImVmZmVjdCI7CmltcG9ydCB7IEh0dHBSb3V0ZXIsIEh0dHBTZXJ2ZXJSZXNwb25zZSwgSHR0cFN0YXRpY1NlcnZlciB9IGZyb20gImVmZmVjdC9odHRwIjsKaW1wb3J0IHsgQXBwQ2hhbmdlcywgYXBwSG9zdCB9IGZyb20gIkBzaGl2YWVkZXYvcGxhdGZvcm0vYXBwSG9zdC50cyI7CmltcG9ydCB7IFNlc3Npb25Vc2VyIH0gZnJvbSAiQHNoaXZhZWRldi9wbGF0Zm9ybS9ycGMvaWRlbnRpdHkudHMiOwppbXBvcnQgeyBhdXRoZW50aWNhdGVkVXNlckxheWVyIH0gZnJvbSAiQHNoaXZhZWRldi9wbGF0Zm9ybS9ycGMtc2VydmVyL3Nlc3Npb24udHMiOwppbXBvcnQgeyBOb3RlcywgU3Vic2NyaWJlIH0gZnJvbSAiI25vdGVzLnRzIjsKaW1wb3J0IHsgbWFrZUF1dGggfSBmcm9tICIuL2F1dGgudHMiOwppbXBvcnQgeyBkYXRhYmFzZU9wdGlvbnMgfSBmcm9tICIuL2RhdGFiYXNlT3B0aW9ucy50cyI7CmltcG9ydCB7IE5vdGVzU2VydmljZSB9IGZyb20gIi4vTm90ZXNTZXJ2aWNlLnRzIjsKaW1wb3J0IHsgbm90ZVByb2R1Y2VyIH0gZnJvbSAiLi9ub3RlUHJvZHVjZXIudHMiOwoKY29uc3QgaGFuZGxlcnMgPSBOb3Rlcy50b0xheWVyKAoJRWZmZWN0LmdlbihmdW5jdGlvbiogKCkgewoJCWNvbnN0IHNlcnZpY2UgPSB5aWVsZCogTm90ZXNTZXJ2aWNlOwoJCWNvbnN0IGNoYW5nZXMgPSB5aWVsZCogQXBwQ2hhbmdlczsKCQlyZXR1cm4gTm90ZXMub2YoewoJCQkibm90ZXMuY3JlYXRlIjogKGlucHV0KSA9PiBFZmZlY3QuZmxhdE1hcChTZXNzaW9uVXNlciwgKHsgaWQgfSkgPT4gc2VydmljZS5jcmVhdGUoaW5wdXQsIGlkKSksCgkJCSJub3Rlcy5kZWxldGUiOiAoaW5wdXQpID0+IEVmZmVjdC5mbGF0TWFwKFNlc3Npb25Vc2VyLCAoeyBpZCB9KSA9PiBzZXJ2aWNlLmRlbGV0ZShpbnB1dCwgaWQpKSwKCQkJIm5vdGVzLmdldCI6IChpbnB1dCkgPT4gRWZmZWN0LmZsYXRNYXAoU2Vzc2lvblVzZXIsICh7IGlkIH0pID0+IHNlcnZpY2UuZ2V0KGlucHV0LmlkLCBpZCkpLAoJCQkibm90ZXMubGlzdCI6ICgpID0+IEVmZmVjdC5mbGF0TWFwKFNlc3Npb25Vc2VyLCAoeyBpZCB9KSA9PiBzZXJ2aWNlLmxpc3QoaWQpKSwKCQkJIm5vdGVzLnN1YnNjcmliZSI6ICgpID0+IGNoYW5nZXMuc3RyZWFtKFN1YnNjcmliZS5yZWFkcyh1bmRlZmluZWQpKSwKCQkJIm5vdGVzLnVwZGF0ZSI6IChpbnB1dCkgPT4gRWZmZWN0LmZsYXRNYXAoU2Vzc2lvblVzZXIsICh7IGlkIH0pID0+IHNlcnZpY2UudXBkYXRlKGlucHV0LCBpZCkpLAoJCQkibm90ZXMud2hvYW1pIjogKCkgPT4gRWZmZWN0Lm1hcChTZXNzaW9uVXNlciwgKHVzZXIpID0+IHVzZXIpLAoJCX0pOwoJfSksCik7CgpleHBvcnQgZnVuY3Rpb24gc3RhcnRlckhvc3QoY29uZmlnPzogewoJcmVhZG9ubHkgZGF0YWJhc2VVcmw/OiBSZWRhY3RlZC5SZWRhY3RlZDxzdHJpbmc+OwoJcmVhZG9ubHkgcG9ydD86IG51bWJlcjsKCXJlYWRvbmx5IHNlY3JldD86IFJlZGFjdGVkLlJlZGFjdGVkPHN0cmluZz47Cn0pIHsKCXJldHVybiBMYXllci51bndyYXAoCgkJRWZmZWN0LmdlbihmdW5jdGlvbiogKCkgewoJCQljb25zdCBkYXRhYmFzZVVybCA9IGNvbmZpZz8uZGF0YWJhc2VVcmwgPz8gKHlpZWxkKiBDb25maWcuUmVkYWN0ZWQoIkRBVEFCQVNFX1VSTCIpKTsKCQkJY29uc3QgeyBhdXRoLCByb3V0ZXMsIHNlc3Npb25zIH0gPSB5aWVsZCogbWFrZUF1dGgoeyBkYXRhYmFzZVVybCwgLi4uKGNvbmZpZz8uc2VjcmV0ID09PSB1bmRlZmluZWQgPyB7fSA6IHsgc2VjcmV0OiBjb25maWcuc2VjcmV0IH0pIH0pOwoJCQljb25zdCBkYXRhYmFzZSA9IGRhdGFiYXNlT3B0aW9ucyhhdXRoLCBkYXRhYmFzZVVybCk7CgkJCWNvbnN0IHByb2R1Y2VyID0gbm90ZVByb2R1Y2VyKFJlZGFjdGVkLnZhbHVlKGRhdGFiYXNlVXJsKSk7CgkJCXJldHVybiBhcHBIb3N0KHsKCQkJCWNvbmZpZzogeyAuLi5kYXRhYmFzZS5jb25maWcsIC4uLihjb25maWc/LnBvcnQgPT09IHVuZGVmaW5lZCA/IHt9IDogeyBwb3J0OiBjb25maWcucG9ydCB9KSB9LAoJCQkJZ3JvdXA6IE5vdGVzLAoJCQkJaGFuZGxlcnM6IExheWVyLm1lcmdlQWxsKAoJCQkJCWhhbmRsZXJzLAoJCQkJCWF1dGhlbnRpY2F0ZWRVc2VyTGF5ZXIoc2Vzc2lvbnMpLAoJCQkJCXJvdXRlcywKCQkJCQlIdHRwUm91dGVyLmFkZCgiR0VUIiwgIi9oZWFsdGgiLCBIdHRwU2VydmVyUmVzcG9uc2UudGV4dCgiUmVhZHkiKSksCgkJCQkJSHR0cFN0YXRpY1NlcnZlci5sYXllcih7IHJvb3Q6ICJkaXN0Iiwgc3BhOiB0cnVlIH0pLAoJCQkJKSwKCQkJCW1pZ3JhdGlvbnM6IGRhdGFiYXNlLm1pZ3JhdGlvbnMsCgkJCQlzZXJ2aWNlczogTm90ZXNTZXJ2aWNlLmxheWVyLnBpcGUoTGF5ZXIucHJvdmlkZU1lcmdlKHByb2R1Y2VyKSksCgkJCQlzZXNzaW9ucywKCQkJfSk7CgkJfSksCgkpOwp9Cg==","path":"src/server/starterHost.ts"},{"content":"aW1wb3J0IHsgTm9kZVJ1bnRpbWUgfSBmcm9tICJAZWZmZWN0L3BsYXRmb3JtLW5vZGUiOwppbXBvcnQgeyBMYXllciB9IGZyb20gImVmZmVjdCI7CmltcG9ydCB7IG5vdGVXb3JrZXIgfSBmcm9tICIuL25vdGVXb3JrZXIudHMiOwoKTm9kZVJ1bnRpbWUucnVuTWFpbihMYXllci5sYXVuY2gobm90ZVdvcmtlcigpKSk7Cg==","path":"src/server/worker.ts"},{"content":"aW1wb3J0IHsgTm9kZVJ1bnRpbWUsIE5vZGVTZXJ2aWNlcyB9IGZyb20gIkBlZmZlY3QvcGxhdGZvcm0tbm9kZSI7CmltcG9ydCB7IEVmZmVjdCwgRmlsZVN5c3RlbSB9IGZyb20gImVmZmVjdCI7CmltcG9ydCB7IENoaWxkUHJvY2VzcywgQ2hpbGRQcm9jZXNzU3Bhd25lciB9IGZyb20gImVmZmVjdC9wcm9jZXNzIjsKCmNvbnN0IGluc3RhbGxIb29rID0gRWZmZWN0LmdlbihmdW5jdGlvbiogKCkgewoJY29uc3QgZnMgPSB5aWVsZCogRmlsZVN5c3RlbS5GaWxlU3lzdGVtOwoJaWYgKCEoeWllbGQqIGZzLmV4aXN0cygiLmdpdCIpKSkgewoJCXJldHVybjsKCX0KCWNvbnN0IHNwYXduZXIgPSB5aWVsZCogQ2hpbGRQcm9jZXNzU3Bhd25lci5DaGlsZFByb2Nlc3NTcGF3bmVyOwoJY29uc3QgY29kZSA9IHlpZWxkKiBzcGF3bmVyLmV4aXRDb2RlKENoaWxkUHJvY2Vzcy5tYWtlKCJwbnBtIiwgWyJleGVjIiwgInF1YWxpdHkiLCAiaG9va3MiLCAiaW5zdGFsbCJdLCB7IHN0ZGVycjogImluaGVyaXQiLCBzdGRvdXQ6ICJpbmhlcml0IiB9KSk7CglpZiAoY29kZSAhPT0gMCkgewoJCXJldHVybiB5aWVsZCogRWZmZWN0LmZhaWwobmV3IEVycm9yKGBJbnN0YWxsaW5nIHRoZSBRdWFsaXR5IGhvb2sgZmFpbGVkIChleGl0ICR7Y29kZX0pLmApKTsKCX0KfSk7CgpOb2RlUnVudGltZS5ydW5NYWluKGluc3RhbGxIb29rLnBpcGUoRWZmZWN0LnByb3ZpZGUoTm9kZVNlcnZpY2VzLmxheWVyKSkpOwo=","path":"src/setup.ts"},{"content":"aW1wb3J0IHsgbWFrZUF1dGggfSBmcm9tICIjY2xpZW50L2F1dGgudHMiOwoKZXhwb3J0IGZ1bmN0aW9uIGFwcEF1dGgob3B0aW9uczogewoJcmVhZG9ubHkgYmFzZVVybDogc3RyaW5nOwoJcmVhZG9ubHkgc2lnbmVkSW4/OiBib29sZWFuOwoJcmVhZG9ubHkgc2Vzc2lvbkZhaWx1cmU/OiBib29sZWFuOwoJcmVhZG9ubHkgc2lnbk91dEZhaWx1cmU/OiBzdHJpbmc7Cn0pIHsKCWxldCBzZXNzaW9uRmFpbHVyZSA9IG9wdGlvbnMuc2Vzc2lvbkZhaWx1cmUgPz8gZmFsc2U7Cgljb25zdCByZXF1ZXN0czogVVJMW10gPSBbXTsKCWNvbnN0IGRhdGUgPSAiMjAyNi0wMS0wMVQwMDowMDowMC4wMDBaIjsKCWNvbnN0IHNlc3Npb24gPSBvcHRpb25zLnNpZ25lZEluCgkJPyB7CgkJCQlzZXNzaW9uOiB7CgkJCQkJY3JlYXRlZEF0OiBkYXRlLAoJCQkJCWV4cGlyZXNBdDogIjIwOTktMDEtMDFUMDA6MDA6MDAuMDAwWiIsCgkJCQkJaWQ6ICJhbGljZS1zZXNzaW9uIiwKCQkJCQl1cGRhdGVkQXQ6IGRhdGUsCgkJCQkJdXNlcklkOiAiYWxpY2UiLAoJCQkJfSwKCQkJCXVzZXI6IHsgY3JlYXRlZEF0OiBkYXRlLCBlbWFpbDogImFsaWNlQHN0YXJ0ZXIudGVzdCIsIGVtYWlsVmVyaWZpZWQ6IHRydWUsIGlkOiAiYWxpY2UiLCBuYW1lOiAiQWxpY2UiLCB1cGRhdGVkQXQ6IGRhdGUgfSwKCQkJfQoJCTogbnVsbDsKCWNvbnN0IGF1dGggPSBtYWtlQXV0aCh7CgkJYmFzZVVybDogb3B0aW9ucy5iYXNlVXJsLAoJCWZldGNoT3B0aW9uczogewoJCQljdXN0b21GZXRjaEltcGw6IChpbnB1dCwgaW5pdCkgPT4gewoJCQkJY29uc3QgcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KGlucHV0LCBpbml0KTsKCQkJCWNvbnN0IHVybCA9IG5ldyBVUkwocmVxdWVzdC51cmwpOwoJCQkJcmVxdWVzdHMucHVzaCh1cmwpOwoJCQkJaWYgKHVybC5wYXRobmFtZSA9PT0gIi9hcGkvYXV0aC9nZXQtc2Vzc2lvbiIpIHsKCQkJCQlyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKAoJCQkJCQlSZXNwb25zZS5qc29uKHNlc3Npb25GYWlsdXJlID8geyBjb2RlOiAiVU5BVkFJTEFCTEUiLCBtZXNzYWdlOiAiU2Vzc2lvbiBjaGVjayB1bmF2YWlsYWJsZSIgfSA6IHNlc3Npb24sIHsKCQkJCQkJCXN0YXR1czogc2Vzc2lvbkZhaWx1cmUgPyA1MDAgOiAyMDAsCgkJCQkJCX0pLAoJCQkJCSk7CgkJCQl9CgkJCQlpZiAodXJsLnBhdGhuYW1lID09PSAiL2FwaS9hdXRoL3NpZ24tb3V0IikgewoJCQkJCXJldHVybiBQcm9taXNlLnJlc29sdmUoUmVzcG9uc2UuanNvbih7IGNvZGU6ICJSRUZVU0VEIiwgbWVzc2FnZTogb3B0aW9ucy5zaWduT3V0RmFpbHVyZSB9LCB7IHN0YXR1czogNDAwIH0pKTsKCQkJCX0KCQkJCXJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgYXV0aCByZXF1ZXN0OiAke3VybH1gKSk7CgkJCX0sCgkJCXJldHJ5OiAwLAoJCX0sCgl9KTsKCXJldHVybiB7CgkJYXV0aCwKCQlyZWNvdmVyOiAoKSA9PiB7CgkJCXNlc3Npb25GYWlsdXJlID0gZmFsc2U7CgkJfSwKCQlyZXF1ZXN0cywKCX07Cn0K","path":"src/test-support/appAuth.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0LCBMYXllciB9IGZyb20gImVmZmVjdCI7CmltcG9ydCB7IFNxbENsaWVudCB9IGZyb20gImVmZmVjdC9zcWwiOwppbXBvcnQgeyBQb3N0Z3Jlc1Rlc3REYXRhYmFzZSB9IGZyb20gIkBzaGl2YWVkZXYvZWZmZWN0LXRlc3Qtc3FsL2RhdGFiYXNlLnRzIjsKaW1wb3J0IHsgd2l0aElzb2xhdGVkRGF0YWJhc2UgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC10ZXN0LXNxbC93aXRoSXNvbGF0ZWREYXRhYmFzZS50cyI7CmltcG9ydCB7IHN0b3J5S2l0IH0gZnJvbSAiQHNoaXZhZWRldi90ZXN0LXN0b3J5L3N0b3J5S2l0LnRzIjsKaW1wb3J0IHsgbWFrZUF1dGggfSBmcm9tICIjY2xpZW50L2F1dGgudHMiOwppbXBvcnQgeyBub3RlV29ya2VyIH0gZnJvbSAiI3NlcnZlci9ub3RlV29ya2VyLnRzIjsKaW1wb3J0IHsgYXV0aFJhdGVMaW1pdHMgfSBmcm9tICIuL2F1dGhSYXRlTGltaXRzLnRzIjsKaW1wb3J0IHsgdHlwZSBSdW5uaW5nSG9zdCwgc2VjcmV0LCBzdGFydEhvc3QgfSBmcm9tICIuL2hvc3QudHMiOwppbXBvcnQgeyBsaXZlTm90ZXMgfSBmcm9tICIuL2xpdmVOb3Rlcy50cyI7CmltcG9ydCB7IHBvc3RncmVzIH0gZnJvbSAiLi9wb3N0Z3Jlcy50cyI7CmltcG9ydCB7IHJlcXVlc3RzIH0gZnJvbSAiLi9yZXF1ZXN0cy50cyI7CgppbnRlcmZhY2UgQWN0b3IgewoJcmVhZG9ubHkgY29va2llOiBzdHJpbmc7CglyZWFkb25seSBub3RlczogRWZmZWN0LlN1Y2Nlc3M8UmV0dXJuVHlwZTxSZXR1cm5UeXBlPHR5cGVvZiByZXF1ZXN0cz5bIm5vdGVzIl0+PjsKfQoKaW50ZXJmYWNlIEVuZ2luZSB7CglhY3RvcnM6IE1hcDxzdHJpbmcsIEFjdG9yPjsKCWRlcGxveWVkOiBib29sZWFuOwoJaG9zdDogUnVubmluZ0hvc3QgfCB1bmRlZmluZWQ7Cgl0ZWxsOiAobGluZTogc3RyaW5nKSA9PiB2b2lkOwp9CgpleHBvcnQgY29uc3QgYXBwID0gc3RvcnlLaXQoewoJYWZ0ZXI6IHsKCQkqaG9zdGluZyhlbmdpbmUpIHsKCQkJZW5naW5lLmhvc3QgPSB5aWVsZCogc3RhcnRIb3N0KGVuZ2luZS5kZXBsb3llZCk7CgkJfSwKCX0sCglhcm91bmQ6IHdpdGhJc29sYXRlZERhdGFiYXNlLAoJY2xvY2s6ICJsaXZlIiwKCWNyZWF0ZTogKCk6IEVuZ2luZSA9PiAoeyBhY3RvcnM6IG5ldyBNYXAoKSwgZGVwbG95ZWQ6IGZhbHNlLCBob3N0OiB1bmRlZmluZWQsIHRlbGw6ICgpID0+IHVuZGVmaW5lZCB9KSwKCWluc3BlY3Q6IChlbmdpbmUpID0+ICh7IGFjY291bnRzOiBbLi4uZW5naW5lLmFjdG9ycy5rZXlzKCldLCBiYXNlVXJsOiBlbmdpbmUuaG9zdD8uYmFzZVVybCwgZGVwbG95ZWQ6IGVuZ2luZS5kZXBsb3llZCB9KSwKCWxheWVyOiBwb3N0Z3JlcywKCW5hbWU6ICJzdGFydGVyIiwKCXN0YWdlczogWyJob3N0aW5nIiwgImFjY291bnRzIiwgIm5vdGVzIl0sCgl2ZXJiczogKGVuZ2luZSwgc3RvcnkpID0+IHsKCQlmdW5jdGlvbiBob3N0KCkgewoJCQlpZiAoZW5naW5lLmhvc3QgPT09IHVuZGVmaW5lZCkgewoJCQkJdGhyb3cgbmV3IEVycm9yKCJIb3N0IGhhcyBub3Qgc3RhcnRlZCIpOwoJCQl9CgkJCXJldHVybiBlbmdpbmUuaG9zdDsKCQl9CgkJZW5naW5lLnRlbGwgPSBzdG9yeS50ZWxsOwoJCWZ1bmN0aW9uIGh0dHAoKSB7CgkJCXJldHVybiByZXF1ZXN0cyhob3N0KCksIHN0b3J5LnRlbGwpOwoJCX0KCQlyZXR1cm4gewoJCQlhY3RvcjogKG5hbWUgPSAiYWxpY2UiKSA9PiB7CgkJCQljb25zdCBhY3RvciA9IGVuZ2luZS5hY3RvcnMuZ2V0KG5hbWUpOwoJCQkJaWYgKGFjdG9yID09PSB1bmRlZmluZWQpIHsKCQkJCQl0aHJvdyBuZXcgRXJyb3IoYE5vIHNpZ25lZC1pbiBhY2NvdW50ICR7bmFtZX1gKTsKCQkJCX0KCQkJCXJldHVybiBhY3RvcjsKCQkJfSwKCQkJYW5vbnltb3VzOiAoKSA9PiBodHRwKCkubm90ZXMoKSwKCQkJYXV0aENsaWVudDogKGNvb2tpZSA9ICIiKSA9PiB7CgkJCQlzdG9yeS50ZWxsKCJjb25uZWN0IGFuIGF1dGggY2xpZW50IHRvIHRoaXMgc3RvcnkncyBhcHAgaG9zdCIpOwoJCQkJY29uc3QgeyBiYXNlVXJsLCBvcmlnaW4gfSA9IGhvc3QoKTsKCQkJCXJldHVybiBtYWtlQXV0aCh7IGJhc2VVcmwsIGZldGNoT3B0aW9uczogeyBoZWFkZXJzOiB7IGNvb2tpZSwgb3JpZ2luIH0gfSB9KTsKCQkJfSwKCQkJYXV0aGVudGljYXRlOiAobmFtZTogc3RyaW5nLCBwYXRoPzogc3RyaW5nLCBjb29raWU/OiBzdHJpbmcpID0+IGh0dHAoKS5hdXRoZW50aWNhdGUobmFtZSwgcGF0aCwgY29va2llKSwKCQkJYXV0aFJhdGVMaW1pdHM6IEVmZmVjdC5mbigiU3RhcnRlclN0b3J5LmF1dGhSYXRlTGltaXRzIikoZnVuY3Rpb24qICh0cnVzdGVkUHJveHk/OiBzdHJpbmcpIHsKCQkJCXN0b3J5LnRlbGwoYHN0YXJ0IHByb2R1Y3Rpb24gYXV0aCB3aXRoIHByb3h5IHRydXN0ICR7dHJ1c3RlZFByb3h5ID8/ICJ1bnNldCJ9YCk7CgkJCQljb25zdCBkYXRhYmFzZSA9IHlpZWxkKiBQb3N0Z3Jlc1Rlc3REYXRhYmFzZTsKCQkJCXJldHVybiB5aWVsZCogYXV0aFJhdGVMaW1pdHMoZGF0YWJhc2UudXJsLCB0cnVzdGVkUHJveHksIHN0b3J5LnRlbGwpOwoJCQl9KSwKCQkJZm9yZWlnblJlcXVlc3Q6IChjb29raWU6IHN0cmluZykgPT4gaHR0cCgpLmZvcmVpZ25SZXF1ZXN0KGNvb2tpZSksCgkJCWxpdmVOb3RlczogKG5hbWUgPSAiYWxpY2UiKSA9PiB7CgkJCQlzdG9yeS50ZWxsKGAke25hbWV9IHdhdGNoZXMgdGhlIGxpdmUgbm90ZXMgbGlzdGApOwoJCQkJY29uc3QgYWN0b3IgPSBlbmdpbmUuYWN0b3JzLmdldChuYW1lKTsKCQkJCWlmIChhY3RvciA9PT0gdW5kZWZpbmVkKSB7CgkJCQkJdGhyb3cgbmV3IEVycm9yKGBObyBzaWduZWQtaW4gYWNjb3VudCAke25hbWV9YCk7CgkJCQl9CgkJCQlyZXR1cm4gbGl2ZU5vdGVzKGhvc3QoKSwgYWN0b3IuY29va2llKTsKCQkJfSwKCQkJbm90ZXM6IChjb29raWU6IHN0cmluZykgPT4gaHR0cCgpLm5vdGVzKGNvb2tpZSksCgkJCXJlcnVuTWlncmF0aW9uczogRWZmZWN0LmZuKCJTdGFydGVyU3RvcnkucmVydW5NaWdyYXRpb25zIikoZnVuY3Rpb24qICgpIHsKCQkJCXN0b3J5LnRlbGwoIm9wZW4gYW5vdGhlciBhcHAgaG9zdCBhbmQgcmVydW4gaXRzIG1pZ3JhdGlvbnMiKTsKCQkJCWVuZ2luZS5ob3N0ID0geWllbGQqIHN0YXJ0SG9zdChlbmdpbmUuZGVwbG95ZWQpOwoJCQl9KSwKCQkJcnVubmluZ0hvc3Q6IGhvc3QsCgkJCXN0YXJ0V29ya2VyOiBFZmZlY3QuZm4oIlN0YXJ0ZXJTdG9yeS5zdGFydFdvcmtlciIpKGZ1bmN0aW9uKiAoKSB7CgkJCQlzdG9yeS50ZWxsKCJzdGFydCB0aGUgd29yZC1jb3VudCB3b3JrZXIiKTsKCQkJCWNvbnN0IGRhdGFiYXNlID0geWllbGQqIFBvc3RncmVzVGVzdERhdGFiYXNlOwoJCQkJeWllbGQqIExheWVyLmJ1aWxkKG5vdGVXb3JrZXIoeyBkYXRhYmFzZVVybDogZGF0YWJhc2UudXJsLCBzZWNyZXQgfSkpOwoJCQl9KSwKCQl9OwoJfSwKfSk7CgpleHBvcnQgZnVuY3Rpb24gc2lnbmVkSW4obmFtZSA9ICJhbGljZSIpIHsKCXJldHVybiBhcHAudHJhaXQoImFjY291bnRzIiwgYCR7bmFtZX0gaXMgc2lnbmVkIGluYCwgZnVuY3Rpb24qIChlbmdpbmUpIHsKCQlpZiAoZW5naW5lLmhvc3QgPT09IHVuZGVmaW5lZCkgewoJCQlyZXR1cm4geWllbGQqIEVmZmVjdC5kaWUoIkhvc3QgaGFzIG5vdCBzdGFydGVkIik7CgkJfQoJCWNvbnN0IGh0dHAgPSByZXF1ZXN0cyhlbmdpbmUuaG9zdCwgKGxpbmUpID0+IGVuZ2luZS50ZWxsKGxpbmUpKTsKCQljb25zdCBjb29raWUgPSB5aWVsZCogaHR0cC5hdXRoZW50aWNhdGUobmFtZSk7CgkJZW5naW5lLmFjdG9ycy5zZXQobmFtZSwgeyBjb29raWUsIG5vdGVzOiB5aWVsZCogaHR0cC5ub3Rlcyhjb29raWUpIH0pOwoJfSk7Cn0KCmV4cG9ydCBmdW5jdGlvbiBiZWhpbmRQcm94eSgpIHsKCXJldHVybiBhcHAudHJhaXQoImhvc3RpbmciLCAidGhlIGFwcCBpcyBiZWhpbmQgYW4gSFRUUFMgZm9yd2FyZGluZyBwcm94eSIsIChlbmdpbmUpID0+IHsKCQllbmdpbmUuZGVwbG95ZWQgPSB0cnVlOwoJfSk7Cn0KCmV4cG9ydCBmdW5jdGlvbiBsZWdhY3lOb3RlKHRpdGxlOiBzdHJpbmcpIHsKCXJldHVybiBhcHAudHJhaXQoIm5vdGVzIiwgYFBvc3RncmVTUUwgY29udGFpbnMgdGhlIHVub3duZWQgbm90ZSAke0pTT04uc3RyaW5naWZ5KHRpdGxlKX1gLCBmdW5jdGlvbiogKCkgewoJCWNvbnN0IHNxbCA9IHlpZWxkKiBTcWxDbGllbnQuU3FsQ2xpZW50OwoJCXlpZWxkKiBzcWxgaW5zZXJ0IGludG8gc3RhcnRlcl9ub3RlcyAodGl0bGUpIHZhbHVlcyAoJHt0aXRsZX0pYDsKCX0pOwp9Cg==","path":"src/test-support/application.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0LCBMYXllciB9IGZyb20gImVmZmVjdCI7CmltcG9ydCB7IEZldGNoSHR0cENsaWVudCwgSHR0cENsaWVudCwgSHR0cENsaWVudFJlcXVlc3QgfSBmcm9tICJlZmZlY3QvaHR0cCI7CmltcG9ydCB7IFJwY0NsaWVudCwgUnBjU2VyaWFsaXphdGlvbiB9IGZyb20gImVmZmVjdC9ycGMiOwppbXBvcnQgeyBleHBlY3QgfSBmcm9tICJ2aXRlc3QiOwppbXBvcnQgeyBOb3RlcyB9IGZyb20gIiNub3Rlcy50cyI7CgpleHBvcnQgY29uc3QgYXV0aFBvc3QgPSBFZmZlY3QuZm4oIlN0YXJ0ZXJUZXN0LmF1dGhQb3N0IikoZnVuY3Rpb24qIChiYXNlVXJsOiBzdHJpbmcsIHBhdGg6IHN0cmluZywgYm9keTogb2JqZWN0LCBjb29raWUgPSAiIiwgb3JpZ2luID0gYmFzZVVybCkgewoJY29uc3QgcmVzcG9uc2UgPSB5aWVsZCogRWZmZWN0LnByb21pc2UoKCkgPT4KCQlmZXRjaChgJHtiYXNlVXJsfS9hcGkvYXV0aC8ke3BhdGh9YCwgewoJCQlib2R5OiBKU09OLnN0cmluZ2lmeShib2R5KSwKCQkJaGVhZGVyczogeyAiY29udGVudC10eXBlIjogImFwcGxpY2F0aW9uL2pzb24iLCBjb29raWUsIG9yaWdpbiB9LAoJCQltZXRob2Q6ICJQT1NUIiwKCQl9KSwKCSk7CglleHBlY3QocmVzcG9uc2Uuc3RhdHVzKS50b0JlKDIwMCk7Cgl5aWVsZCogRWZmZWN0LnByb21pc2UoKCkgPT4gcmVzcG9uc2UudGV4dCgpKTsKCWNvbnN0IGNvb2tpZXMgPSByZXNwb25zZS5oZWFkZXJzLmdldFNldENvb2tpZSgpOwoJaWYgKG9yaWdpbi5zdGFydHNXaXRoKCJodHRwczovLyIpKSB7CgkJZXhwZWN0KGNvb2tpZXMuc29tZSgodmFsdWUpID0+IHZhbHVlLnN0YXJ0c1dpdGgoIl9fU2VjdXJlLWJldHRlci1hdXRoLnNlc3Npb25fdG9rZW49IikgJiYgLzsgU2VjdXJlKD86O3wkKS9pdi50ZXN0KHZhbHVlKSkpLnRvQmUodHJ1ZSk7Cgl9CglyZXR1cm4gY29va2llcy5tYXAoKHZhbHVlKSA9PiB2YWx1ZS5zcGxpdCgiOyIpWzBdKS5qb2luKCI7ICIpOwp9KTsKCmV4cG9ydCBmdW5jdGlvbiBub3Rlc0h0dHAoYmFzZVVybDogc3RyaW5nLCBjb29raWUgPSAiIiwgb3JpZ2luID0gYmFzZVVybCkgewoJY29uc3QgcHJvdG9jb2wgPSBScGNDbGllbnQubGF5ZXJQcm90b2NvbEh0dHAoewoJCXRyYW5zZm9ybUNsaWVudDogKGNsaWVudCkgPT4gSHR0cENsaWVudC5tYXBSZXF1ZXN0KGNsaWVudCwgSHR0cENsaWVudFJlcXVlc3Quc2V0SGVhZGVycyh7IGNvb2tpZSwgb3JpZ2luIH0pKSwKCQl1cmw6IGAke2Jhc2VVcmx9L3JwY2AsCgl9KS5waXBlKExheWVyLnByb3ZpZGUoW0ZldGNoSHR0cENsaWVudC5sYXllciwgUnBjU2VyaWFsaXphdGlvbi5sYXllck5kanNvbl0pKTsKCXJldHVybiBScGNDbGllbnQubWFrZShOb3RlcykucGlwZShFZmZlY3QucHJvdmlkZShwcm90b2NvbCkpOwp9CgpleHBvcnQgZnVuY3Rpb24gY3JlZGVudGlhbHMobmFtZTogc3RyaW5nKSB7CglyZXR1cm4geyBlbWFpbDogYCR7bmFtZX1Ac3RhcnRlci50ZXN0YCwgbmFtZSwgcGFzc3dvcmQ6ICJjb3JyZWN0LWhvcnNlLWJhdHRlcnktc3RhcGxlIiB9Owp9Cg==","path":"src/test-support/authHttp.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0LCB0eXBlIFJlZGFjdGVkIH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgY3JlZGVudGlhbHMgfSBmcm9tICIuL2F1dGhIdHRwLnRzIjsKaW1wb3J0IHsgZm9yd2FyZGluZ1Byb3h5IH0gZnJvbSAiLi9mb3J3YXJkaW5nUHJveHkudHMiOwppbXBvcnQgeyBwcm9kdWN0aW9uQXV0aCB9IGZyb20gIi4vcHJvZHVjdGlvbkF1dGgudHMiOwoKZXhwb3J0IGNvbnN0IGF1dGhSYXRlTGltaXRzID0gRWZmZWN0LmZuKCJTdGFydGVyU3RvcnkuYXV0aFJhdGVMaW1pdHMiKShmdW5jdGlvbiogKAoJZGF0YWJhc2VVcmw6IFJlZGFjdGVkLlJlZGFjdGVkPHN0cmluZz4sCgl0cnVzdGVkUHJveHk6IHN0cmluZyB8IHVuZGVmaW5lZCwKCXRlbGw6IChsaW5lOiBzdHJpbmcpID0+IHZvaWQsCikgewoJY29uc3QgaG9zdCA9IHlpZWxkKiBwcm9kdWN0aW9uQXV0aChkYXRhYmFzZVVybCwgdHJ1c3RlZFByb3h5KTsKCXJldHVybiB7CgkJb3V0cHV0OiBob3N0Lm91dHB1dCwKCQl2aXNpdG9yOiBFZmZlY3QuZm4oIlN0YXJ0ZXJTdG9yeS52aXNpdG9yIikoZnVuY3Rpb24qIChjbGllbnRJcDogc3RyaW5nKSB7CgkJCXRlbGwoYGEgdmlzaXRvciBjb25uZWN0cyB0aHJvdWdoIGEgcHJveHkgZm9yd2FyZGluZyAke2NsaWVudElwfWApOwoJCQljb25zdCBwcm94eSA9IHlpZWxkKiBFZmZlY3QuYWNxdWlyZVJlbGVhc2UoCgkJCQlFZmZlY3QucHJvbWlzZSgoKSA9PiBmb3J3YXJkaW5nUHJveHkoaG9zdC51cmwsIGNsaWVudElwKSksCgkJCQkoZml4dHVyZSkgPT4gRWZmZWN0LnByb21pc2UoKCkgPT4gZml4dHVyZS5jbG9zZSgpKSwKCQkJKTsKCQkJcmV0dXJuIHsKCQkJCXNpZ25JbjogRWZmZWN0LmZuKCJTdGFydGVyU3Rvcnkuc2lnbkluIikoZnVuY3Rpb24qICgpIHsKCQkJCQl0ZWxsKGB0aGUgdmlzaXRvciBhdCAke2NsaWVudElwfSBhdHRlbXB0cyBzaWduLWluYCk7CgkJCQkJcmV0dXJuIHlpZWxkKiBFZmZlY3QucHJvbWlzZShhc3luYyAoKSA9PiB7CgkJCQkJCWNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYCR7cHJveHkudXJsfS9hcGkvYXV0aC9zaWduLWluL2VtYWlsYCwgewoJCQkJCQkJYm9keTogSlNPTi5zdHJpbmdpZnkoY3JlZGVudGlhbHMoInVua25vd24iKSksCgkJCQkJCQloZWFkZXJzOiB7ICJjb250ZW50LXR5cGUiOiAiYXBwbGljYXRpb24vanNvbiIsIG9yaWdpbjogImh0dHBzOi8vYXBwLmV4YW1wbGUiIH0sCgkJCQkJCQltZXRob2Q6ICJQT1NUIiwKCQkJCQkJfSk7CgkJCQkJCWF3YWl0IHJlc3BvbnNlLnRleHQoKTsKCQkJCQkJcmV0dXJuIHJlc3BvbnNlLnN0YXR1czsKCQkJCQl9KTsKCQkJCX0pLAoJCQl9OwoJCX0pLAoJfTsKfSk7Cg==","path":"src/test-support/authRateLimits.ts"},{"content":"aW1wb3J0IHsgb25jZSB9IGZyb20gIm5vZGU6ZXZlbnRzIjsKaW1wb3J0IHsgY3JlYXRlU2VydmVyLCByZXF1ZXN0IH0gZnJvbSAibm9kZTpodHRwIjsKCmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmb3J3YXJkaW5nUHJveHkodXBzdHJlYW06IHN0cmluZywgY2xpZW50SXA/OiBzdHJpbmcpIHsKCWNvbnN0IHNlcnZlciA9IGNyZWF0ZVNlcnZlcigoaW5jb21pbmcsIHJlc3BvbnNlKSA9PiB7CgkJY29uc3Qgb3V0Z29pbmcgPSByZXF1ZXN0KAoJCQlgJHt1cHN0cmVhbX0ke2luY29taW5nLnVybH1gLAoJCQl7CgkJCQloZWFkZXJzOiB7CgkJCQkJLi4uaW5jb21pbmcuaGVhZGVycywKCQkJCQlob3N0OiAiaW50ZXJuYWwudGVzdCIsCgkJCQkJLi4uKGNsaWVudElwID09PSB1bmRlZmluZWQgPyB7fSA6IHsgIngtZm9yd2FyZGVkLWZvciI6IGNsaWVudElwIH0pLAoJCQkJCSJ4LWZvcndhcmRlZC1ob3N0IjogImFwcC5leGFtcGxlIiwKCQkJCQkieC1mb3J3YXJkZWQtcHJvdG8iOiAiaHR0cHMiLAoJCQkJfSwKCQkJCW1ldGhvZDogaW5jb21pbmcubWV0aG9kLAoJCQl9LAoJCQkocmVzdWx0KSA9PiB7CgkJCQlyZXNwb25zZS53cml0ZUhlYWQocmVzdWx0LnN0YXR1c0NvZGUgPz8gNTAyLCByZXN1bHQuaGVhZGVycyk7CgkJCQlyZXN1bHQucGlwZShyZXNwb25zZSk7CgkJCX0sCgkJKTsKCQlvdXRnb2luZy5vbigiZXJyb3IiLCAoKSA9PiB7CgkJCXJlc3BvbnNlLndyaXRlSGVhZCg1MDIpOwoJCQlyZXNwb25zZS5lbmQoKTsKCQl9KTsKCQlpbmNvbWluZy5waXBlKG91dGdvaW5nKTsKCX0pOwoJc2VydmVyLmxpc3RlbigwLCAiMTI3LjAuMC4xIik7Cglhd2FpdCBvbmNlKHNlcnZlciwgImxpc3RlbmluZyIpOwoJY29uc3QgYWRkcmVzcyA9IHNlcnZlci5hZGRyZXNzKCk7CglpZiAoYWRkcmVzcyA9PT0gbnVsbCB8fCB0eXBlb2YgYWRkcmVzcyA9PT0gInN0cmluZyIpIHsKCQl0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdGVkIHByb3h5IFRDUCBhZGRyZXNzIik7Cgl9CglyZXR1cm4gewoJCWNsb3NlOiAoKSA9PgoJCQluZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CgkJCQlzZXJ2ZXIuY2xvc2VBbGxDb25uZWN0aW9ucygpOwoJCQkJc2VydmVyLmNsb3NlKChlcnJvcikgPT4gKGVycm9yID09PSB1bmRlZmluZWQgPyByZXNvbHZlKCkgOiByZWplY3QoZXJyb3IpKSk7CgkJCX0pLAoJCXVybDogYGh0dHA6Ly8xMjcuMC4wLjE6JHthZGRyZXNzLnBvcnR9YCwKCX07Cn0K","path":"src/test-support/forwardingProxy.ts"},{"content":"aW1wb3J0IHsgQ29uZmlnUHJvdmlkZXIsIEVmZmVjdCwgTGF5ZXIsIFJlZGFjdGVkIH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgSHR0cFNlcnZlciB9IGZyb20gImVmZmVjdC9odHRwIjsKaW1wb3J0ICogYXMgTmV0QWRkcmVzcyBmcm9tICJlZmZlY3QvbmV0L05ldEFkZHJlc3MiOwppbXBvcnQgeyBQb3N0Z3Jlc1Rlc3REYXRhYmFzZSB9IGZyb20gIkBzaGl2YWVkZXYvZWZmZWN0LXRlc3Qtc3FsL2RhdGFiYXNlLnRzIjsKaW1wb3J0IHsgc3RhcnRlckhvc3QgfSBmcm9tICIjc2VydmVyL3N0YXJ0ZXJIb3N0LnRzIjsKaW1wb3J0IHsgZm9yd2FyZGluZ1Byb3h5IH0gZnJvbSAiLi9mb3J3YXJkaW5nUHJveHkudHMiOwoKZXhwb3J0IGNvbnN0IHNlY3JldCA9IFJlZGFjdGVkLm1ha2UoInN0YXJ0ZXItdGVzdC1zZWNyZXQtd2l0aC1hdC1sZWFzdC0zMi1jaGFyYWN0ZXJzIik7CmV4cG9ydCBjb25zdCBQVUJMSUNfVVJMID0gImh0dHBzOi8vYXBwLmV4YW1wbGUiOwoKZXhwb3J0IGNvbnN0IHN0YXJ0SG9zdCA9IEVmZmVjdC5mbigiU3RhcnRlclN0b3J5LnN0YXJ0SG9zdCIpKGZ1bmN0aW9uKiAoZGVwbG95ZWQgPSBmYWxzZSkgewoJY29uc3QgZGF0YWJhc2UgPSB5aWVsZCogUG9zdGdyZXNUZXN0RGF0YWJhc2U7Cgljb25zdCBob3N0ID0gZGVwbG95ZWQKCQk/IHN0YXJ0ZXJIb3N0KHsgZGF0YWJhc2VVcmw6IGRhdGFiYXNlLnVybCwgc2VjcmV0IH0pLnBpcGUoCgkJCQlMYXllci5wcm92aWRlKAoJCQkJCUNvbmZpZ1Byb3ZpZGVyLmxheWVyKAoJCQkJCQlDb25maWdQcm92aWRlci5mcm9tRW52KHsKCQkJCQkJCWVudjogeyAiSE9TVCI6ICIwLjAuMC4wIiwgIlBPUlQiOiAiMCIsICJQVUJMSUNfVVJMIjogUFVCTElDX1VSTCwgIlRSVVNURURfUFJPWFkiOiAiMTI3LjAuMC4xIiB9LAoJCQkJCQl9KSwKCQkJCQkpLAoJCQkJKSwKCQkJKQoJCTogc3RhcnRlckhvc3QoeyBkYXRhYmFzZVVybDogZGF0YWJhc2UudXJsLCBwb3J0OiAwLCBzZWNyZXQgfSk7Cgljb25zdCBjb250ZXh0ID0geWllbGQqIExheWVyLmJ1aWxkKGhvc3QpOwoJY29uc3Qgc2VydmVyID0geWllbGQqIEh0dHBTZXJ2ZXIuSHR0cFNlcnZlci5waXBlKEVmZmVjdC5wcm92aWRlQ29udGV4dChjb250ZXh0KSk7CglpZiAoIU5ldEFkZHJlc3MuaXNJbmV0QWRkcmVzcyhzZXJ2ZXIuYWRkcmVzcykpIHsKCQlyZXR1cm4geWllbGQqIEVmZmVjdC5kaWUoIkV4cGVjdGVkIGEgVENQIHNlcnZlciIpOwoJfQoJY29uc3QgdXBzdHJlYW0gPSBgaHR0cDovLzEyNy4wLjAuMToke3NlcnZlci5hZGRyZXNzLnBvcnR9YDsKCWNvbnN0IHByb3h5ID0gZGVwbG95ZWQKCQk/IHlpZWxkKiBFZmZlY3QuYWNxdWlyZVJlbGVhc2UoCgkJCQlFZmZlY3QucHJvbWlzZSgoKSA9PiBmb3J3YXJkaW5nUHJveHkodXBzdHJlYW0pKSwKCQkJCShmaXh0dXJlKSA9PiBFZmZlY3QucHJvbWlzZSgoKSA9PiBmaXh0dXJlLmNsb3NlKCkpLAoJCQkpCgkJOiB1bmRlZmluZWQ7Cgljb25zdCBiYXNlVXJsID0gcHJveHk/LnVybCA/PyB1cHN0cmVhbTsKCXJldHVybiB7IGJhc2VVcmwsIGNvbnRleHQsIG9yaWdpbjogZGVwbG95ZWQgPyBQVUJMSUNfVVJMIDogYmFzZVVybCB9Owp9KTsKCmV4cG9ydCB0eXBlIFJ1bm5pbmdIb3N0ID0gRWZmZWN0LlN1Y2Nlc3M8UmV0dXJuVHlwZTx0eXBlb2Ygc3RhcnRIb3N0Pj47Cg==","path":"src/test-support/host.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0IH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cENsaWVudFJlcXVlc3QgfSBmcm9tICJlZmZlY3QvaHR0cCI7CmltcG9ydCAqIGFzIEF0b21SZWdpc3RyeSBmcm9tICJlZmZlY3QvcmVhY3Rpdml0eS9BdG9tUmVnaXN0cnkiOwppbXBvcnQgeyBleHBlY3QsIHZpIH0gZnJvbSAidml0ZXN0IjsKaW1wb3J0IHsgbWFrZU5vdGVzQ2xpZW50IH0gZnJvbSAiI2NsaWVudC9tYWtlTm90ZXMudHMiOwppbXBvcnQgdHlwZSB7IFJ1bm5pbmdIb3N0IH0gZnJvbSAiLi9ob3N0LnRzIjsKCmV4cG9ydCBjb25zdCBsaXZlTm90ZXMgPSBFZmZlY3QuZm4oIlN0YXJ0ZXJTdG9yeS5saXZlTm90ZXMiKShmdW5jdGlvbiogKGhvc3Q6IFJ1bm5pbmdIb3N0LCBjb29raWU6IHN0cmluZykgewoJY29uc3QgY2xpZW50ID0gbWFrZU5vdGVzQ2xpZW50KGAke2hvc3QuYmFzZVVybH0vcnBjYCwgKHRyYW5zcG9ydCkgPT4KCQlIdHRwQ2xpZW50Lm1hcFJlcXVlc3QodHJhbnNwb3J0LCBIdHRwQ2xpZW50UmVxdWVzdC5zZXRIZWFkZXJzKHsgY29va2llLCBvcmlnaW46IGhvc3Qub3JpZ2luIH0pKSwKCSk7Cgljb25zdCByZWdpc3RyeSA9IHlpZWxkKiBFZmZlY3QuYWNxdWlyZVJlbGVhc2UoCgkJRWZmZWN0LnN5bmMoKCkgPT4gQXRvbVJlZ2lzdHJ5Lm1ha2UoKSksCgkJKHZhbHVlKSA9PiBFZmZlY3Quc3luYygoKSA9PiB2YWx1ZS5kaXNwb3NlKCkpLAoJKTsKCWNvbnN0IGxpc3QgPSBjbGllbnQuYXBpLmxpc3QucXVlcnkoKTsKCXJlZ2lzdHJ5Lm1vdW50KGxpc3QpOwoJcmVnaXN0cnkubW91bnQoY2xpZW50LmNvbm5lY3Rpb24pOwoJeWllbGQqIEVmZmVjdC5wcm9taXNlKCgpID0+IHZpLndhaXRGb3IoKCkgPT4gZXhwZWN0KHJlZ2lzdHJ5LmdldChjbGllbnQuc3RhdHVzKS5jb25uZWN0aW9uKS50b0JlKCJsaXZlIikpKTsKCXJldHVybiB7IGNsaWVudCwgbGlzdCwgcmVnaXN0cnkgfTsKfSk7Cg==","path":"src/test-support/liveNotes.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0IH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgUG9zdGdyZXNUZXN0RGF0YWJhc2UgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC10ZXN0LXNxbC9kYXRhYmFzZS50cyI7CmltcG9ydCB7IG1pZ3JhdGlvblVwZ3JhZGUgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC10ZXN0LXNxbC9taWdyYXRpb25VcGdyYWRlLnRzIjsKaW1wb3J0IHsgd2l0aElzb2xhdGVkRGF0YWJhc2UgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC10ZXN0LXNxbC93aXRoSXNvbGF0ZWREYXRhYmFzZS50cyI7CmltcG9ydCB7IHN0b3J5S2l0IH0gZnJvbSAiQHNoaXZhZWRldi90ZXN0LXN0b3J5L3N0b3J5S2l0LnRzIjsKaW1wb3J0IHsgbWFrZUF1dGggfSBmcm9tICIjc2VydmVyL2F1dGgudHMiOwppbXBvcnQgeyBtaWdyYXRpb25zIH0gZnJvbSAiI3NlcnZlci9taWdyYXRpb25zLnRzIjsKaW1wb3J0IHsgc2VjcmV0IH0gZnJvbSAiLi9ob3N0LnRzIjsKaW1wb3J0IHsgcG9zdGdyZXMgfSBmcm9tICIuL3Bvc3RncmVzLnRzIjsKCmV4cG9ydCBjb25zdCBtaWdyYXRpb24gPSBzdG9yeUtpdCh7Cglhcm91bmQ6IHdpdGhJc29sYXRlZERhdGFiYXNlLAoJY2xvY2s6ICJsaXZlIiwKCWNyZWF0ZTogKCkgPT4gKHsgdXBUbzogMCB9KSwKCWxheWVyOiBwb3N0Z3JlcywKCW5hbWU6ICJub3RlcyBtaWdyYXRpb24iLAoJc3RhZ2VzOiBbInNjaGVtYSJdLAoJdmVyYnM6IChlbmdpbmUsIHN0b3J5KSA9PiAoewoJCXVwZ3JhZGU6IEVmZmVjdC5mbigiU3RhcnRlclN0b3J5LnVwZ3JhZGUiKShmdW5jdGlvbiogKCkgewoJCQlzdG9yeS50ZWxsKGB1cGdyYWRlIHRoZSBub3RlcyBzY2hlbWEgZnJvbSBtaWdyYXRpb24gJHtlbmdpbmUudXBUb31gKTsKCQkJY29uc3QgZGF0YWJhc2UgPSB5aWVsZCogUG9zdGdyZXNUZXN0RGF0YWJhc2U7CgkJCWNvbnN0IHsgYXV0aCB9ID0geWllbGQqIG1ha2VBdXRoKHsgZGF0YWJhc2VVcmw6IGRhdGFiYXNlLnVybCwgc2VjcmV0IH0pOwoJCQlyZXR1cm4geWllbGQqIG1pZ3JhdGlvblVwZ3JhZGUoeyBtaWdyYXRpb25zOiBtaWdyYXRpb25zKGF1dGgpLCB0YWJsZTogInN0YXJ0ZXJfbm90ZXMiLCB1cFRvOiBlbmdpbmUudXBUbyB9KTsKCQl9KSwKCX0pLAp9KTsKCmV4cG9ydCBmdW5jdGlvbiBiZWZvcmVWZXJzaW9uZWROb3RlcygpIHsKCXJldHVybiBtaWdyYXRpb24udHJhaXQoInNjaGVtYSIsICJ0aGUgbm90ZXMgc2NoZW1hIHByZWRhdGVzIHZlcnNpb25lZCB3cml0ZXMiLCAoZW5naW5lKSA9PiB7CgkJZW5naW5lLnVwVG8gPSA0OwoJfSk7Cn0K","path":"src/test-support/migration.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0LCBMYXllciwgUHViU3ViLCBTdHJlYW0gfSBmcm9tICJlZmZlY3QiOwppbXBvcnQgKiBhcyBBdG9tUnBjIGZyb20gImVmZmVjdC9yZWFjdGl2aXR5L0F0b21ScGMiOwppbXBvcnQgeyBScGNUZXN0IH0gZnJvbSAiZWZmZWN0L3JwYyI7CmltcG9ydCB7IGJpbmQgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1jb250cmFjdC9iaW5kLnRzIjsKaW1wb3J0IHsgdHlwZSBMaXZlSGludCwgbGl2ZSB9IGZyb20gIkBzaGl2YWVkZXYvZWZmZWN0LWNvbnRyYWN0L2xpdmUudHMiOwppbXBvcnQgeyBDb25mbGljdCwgTm90Rm91bmQsIFVuYXV0aG9yaXplZCB9IGZyb20gIkBzaGl2YWVkZXYvcGxhdGZvcm0vZXJyb3JzL3RheG9ub215LnRzIjsKaW1wb3J0IHsgSWRlbnRpdHksIFNlc3Npb25Vc2VyIH0gZnJvbSAiQHNoaXZhZWRldi9wbGF0Zm9ybS9ycGMvaWRlbnRpdHkudHMiOwppbXBvcnQgeyBBdXRoZW50aWNhdGVkVXNlciB9IGZyb20gIkBzaGl2YWVkZXYvcGxhdGZvcm0vcnBjL21pZGRsZXdhcmUudHMiOwppbXBvcnQgeyBDcmVhdGUsIHR5cGUgTm90ZSwgTm90ZXMsIG5vdGVzLCBTdWJzY3JpYmUsIFVwZGF0ZSB9IGZyb20gIiNub3Rlcy50cyI7CgpleHBvcnQgZnVuY3Rpb24gbm90ZXNDbGllbnQoaW5pdGlhbDogcmVhZG9ubHkgKHR5cGVvZiBOb3RlLlR5cGUpW10gPSBbXSkgewoJY29uc3Qgcm93cyA9IFsuLi5pbml0aWFsXTsKCWNvbnN0IGNhbGxzOiBzdHJpbmdbXSA9IFtdOwoJY29uc3QgaGludHMgPSBFZmZlY3QucnVuU3luYyhQdWJTdWIudW5ib3VuZGVkPExpdmVIaW50PigpKTsKCWNvbnN0IHNlc3Npb24gPSB7IHNpZ25lZEluOiB0cnVlIH07Cgljb25zdCBhdXRoZW50aWNhdGlvbiA9IExheWVyLnN1Y2NlZWQoQXV0aGVudGljYXRlZFVzZXIsIChlZmZlY3QpID0+CgkJc2Vzc2lvbi5zaWduZWRJbgoJCQk/IGVmZmVjdC5waXBlKAoJCQkJCUVmZmVjdC5wcm92aWRlU2VydmljZShJZGVudGl0eSwgeyBpZDogImFsaWNlIiB9KSwKCQkJCQlFZmZlY3QucHJvdmlkZVNlcnZpY2UoU2Vzc2lvblVzZXIsIHsgZW1haWw6ICJhbGljZUBzdGFydGVyLnRlc3QiLCBpZDogImFsaWNlIiwgbmFtZTogIkFsaWNlIiB9KSwKCQkJCSkKCQkJOiBFZmZlY3QuZmFpbChuZXcgVW5hdXRob3JpemVkKHsgbWVzc2FnZTogIkF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkIiB9KSksCgkpOwoJZnVuY3Rpb24gZ2V0KGlkOiBudW1iZXIpIHsKCQlyZXR1cm4gRWZmZWN0LnN1c3BlbmQoKCkgPT4gewoJCQljb25zdCByb3cgPSByb3dzLmZpbmQoKG5vdGUpID0+IG5vdGUuaWQgPT09IGlkKTsKCQkJcmV0dXJuIHJvdyA9PT0gdW5kZWZpbmVkID8gRWZmZWN0LmZhaWwobmV3IE5vdEZvdW5kKHsgbWVzc2FnZTogIk5vdGUgbm90IGZvdW5kIiB9KSkgOiBFZmZlY3Quc3VjY2VlZCh7IC4uLnJvdyB9KTsKCQl9KTsKCX0KCWZ1bmN0aW9uIGNvbmZsaWN0KCkgewoJCXJldHVybiBuZXcgQ29uZmxpY3QoeyBtZXNzYWdlOiAiVGhpcyBub3RlIGNoYW5nZWQuIFJlZnJlc2ggYW5kIHJldmlldyB5b3VyIGRyYWZ0IGJlZm9yZSB0cnlpbmcgYWdhaW4uIiB9KTsKCX0KCWNvbnN0IGhhbmRsZXJzID0gTm90ZXMudG9MYXllcih7CgkJIm5vdGVzLmNyZWF0ZSI6ICh7IHRpdGxlIH0pID0+CgkJCXRpdGxlLnRyaW0oKSA9PT0gInJlc2VydmVkIgoJCQkJPyBDcmVhdGUucmVqZWN0LkludmFsaWQoeyBmaWVsZDogInRpdGxlIiwgbWVzc2FnZTogIkNob29zZSBhbm90aGVyIHRpdGxlIiB9KQoJCQkJOiBFZmZlY3Quc3luYygoKSA9PiB7CgkJCQkJCWNhbGxzLnB1c2goImNyZWF0ZSIpOwoJCQkJCQljb25zdCByb3cgPSB7IGlkOiByb3dzLmxlbmd0aCArIDEsIHRpdGxlOiB0aXRsZS50cmltKCksIHZlcnNpb246IDAsIHdvcmRDb3VudDogbnVsbCB9OwoJCQkJCQlyb3dzLnVuc2hpZnQocm93KTsKCQkJCQkJcmV0dXJuIHJvdzsKCQkJCQl9KSwKCQkibm90ZXMuZGVsZXRlIjogKGlucHV0KSA9PgoJCQlFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoKSB7CgkJCQljYWxscy5wdXNoKCJkZWxldGUiKTsKCQkJCWNvbnN0IHJvdyA9IHlpZWxkKiBnZXQoaW5wdXQuaWQpOwoJCQkJaWYgKHJvdy52ZXJzaW9uICE9PSBpbnB1dC52ZXJzaW9uKSB7CgkJCQkJcmV0dXJuIHlpZWxkKiBFZmZlY3QuZmFpbChjb25mbGljdCgpKTsKCQkJCX0KCQkJCXJvd3Muc3BsaWNlKAoJCQkJCXJvd3MuZmluZEluZGV4KChub3RlKSA9PiBub3RlLmlkID09PSByb3cuaWQpLAoJCQkJCTEsCgkJCQkpOwoJCQl9KSwKCQkibm90ZXMuZ2V0IjogKHsgaWQgfSkgPT4KCQkJRWZmZWN0LnRhcChnZXQoaWQpLCAoKSA9PgoJCQkJRWZmZWN0LnN5bmMoKCkgPT4gewoJCQkJCWNhbGxzLnB1c2goImdldCIpOwoJCQkJfSksCgkJCSksCgkJIm5vdGVzLmxpc3QiOiAoKSA9PgoJCQlFZmZlY3Quc3luYygoKSA9PiB7CgkJCQljYWxscy5wdXNoKCJsaXN0Iik7CgkJCQlyZXR1cm4gWy4uLnJvd3NdOwoJCQl9KSwKCQkibm90ZXMuc3Vic2NyaWJlIjogKCkgPT4gU3RyZWFtLmZyb21QdWJTdWIoaGludHMpLAoJCSJub3Rlcy51cGRhdGUiOiAoaW5wdXQpID0+CgkJCUVmZmVjdC5nZW4oZnVuY3Rpb24qICgpIHsKCQkJCWNhbGxzLnB1c2goInVwZGF0ZSIpOwoJCQkJY29uc3Qgcm93ID0geWllbGQqIGdldChpbnB1dC5pZCk7CgkJCQlpZiAocm93LnZlcnNpb24gIT09IGlucHV0LnZlcnNpb24pIHsKCQkJCQlyZXR1cm4geWllbGQqIEVmZmVjdC5mYWlsKGNvbmZsaWN0KCkpOwoJCQkJfQoJCQkJaWYgKGlucHV0LnRpdGxlLnRyaW0oKSA9PT0gInJlc2VydmVkIikgewoJCQkJCXJldHVybiB5aWVsZCogVXBkYXRlLnJlamVjdC5JbnZhbGlkKHsgZmllbGQ6ICJ0aXRsZSIsIG1lc3NhZ2U6ICJDaG9vc2UgYW5vdGhlciB0aXRsZSIgfSk7CgkJCQl9CgkJCQljb25zdCBzYXZlZCA9IHsgLi4ucm93LCB0aXRsZTogaW5wdXQudGl0bGUudHJpbSgpLCB2ZXJzaW9uOiByb3cudmVyc2lvbiArIDEsIHdvcmRDb3VudDogbnVsbCB9OwoJCQkJcm93c1tyb3dzLmZpbmRJbmRleCgobm90ZSkgPT4gbm90ZS5pZCA9PT0gcm93LmlkKV0gPSBzYXZlZDsKCQkJCXJldHVybiBzYXZlZDsKCQkJfSksCgkJIm5vdGVzLndob2FtaSI6ICgpID0+IEVmZmVjdC5tYXAoU2Vzc2lvblVzZXIsICh1c2VyKSA9PiB1c2VyKSwKCX0pOwoJY2xhc3MgQ2xpZW50IGV4dGVuZHMgQXRvbVJwYy5TZXJ2aWNlPENsaWVudD4oKSgic3RhcnRlci9Ob3Rlc0NsaWVudCIsIHsKCQlncm91cDogTm90ZXMsCgkJbWFrZUVmZmVjdDogUnBjVGVzdC5tYWtlQ2xpZW50KE5vdGVzLCB7IGZsYXR0ZW46IHRydWUgfSksCgkJcHJvdG9jb2w6IGhhbmRsZXJzLnBpcGUoTGF5ZXIucHJvdmlkZU1lcmdlKGF1dGhlbnRpY2F0aW9uKSksCgl9KSB7fQoJY29uc3QgYXBpID0gYmluZChOb3RlcywgQ2xpZW50KTsKCWNvbnN0IHN1YnNjcmlwdGlvbiA9IGxpdmUoQ2xpZW50LnJ1bnRpbWUsIHsgcmVzeW5jS2V5czogU3Vic2NyaWJlLnJlYWRzKHVuZGVmaW5lZCksIHN0cmVhbTogYXBpLnN1YnNjcmliZS5ydW4odW5kZWZpbmVkKSB9KTsKCWZ1bmN0aW9uIGZpbmlzaE5vdGUoaWQ6IG51bWJlciwgd29yZENvdW50OiBudW1iZXIpIHsKCQljb25zdCBpbmRleCA9IHJvd3MuZmluZEluZGV4KChub3RlKSA9PiBub3RlLmlkID09PSBpZCk7CgkJY29uc3Qgcm93ID0gcm93c1tpbmRleF07CgkJaWYgKHJvdyAhPT0gdW5kZWZpbmVkKSB7CgkJCXJvd3NbaW5kZXhdID0geyAuLi5yb3csIHZlcnNpb246IHJvdy52ZXJzaW9uICsgMSwgd29yZENvdW50IH07CgkJfQoJCXJldHVybiBFZmZlY3QucnVuUHJvbWlzZShQdWJTdWIucHVibGlzaChoaW50cywgeyBfdGFnOiAiQ2hhbmdlZCIsIGtleXM6IFtub3Rlcy5pdGVtKGlkKV0gfSkpOwoJfQoJZnVuY3Rpb24gcmV2aXNlTm90ZShpZDogbnVtYmVyLCB0aXRsZTogc3RyaW5nLCBub3RpZnkgPSB0cnVlKSB7CgkJY29uc3QgaW5kZXggPSByb3dzLmZpbmRJbmRleCgobm90ZSkgPT4gbm90ZS5pZCA9PT0gaWQpOwoJCWNvbnN0IHJvdyA9IHJvd3NbaW5kZXhdOwoJCWlmIChyb3cgIT09IHVuZGVmaW5lZCkgewoJCQlyb3dzW2luZGV4XSA9IHsgLi4ucm93LCB0aXRsZSwgdmVyc2lvbjogcm93LnZlcnNpb24gKyAxIH07CgkJfQoJCXJldHVybiBub3RpZnkgPyBFZmZlY3QucnVuUHJvbWlzZShQdWJTdWIucHVibGlzaChoaW50cywgeyBfdGFnOiAiQ2hhbmdlZCIsIGtleXM6IFtub3Rlcy5pdGVtKGlkKV0gfSkpLnRoZW4oKCkgPT4gdW5kZWZpbmVkKSA6IFByb21pc2UucmVzb2x2ZSgpOwoJfQoJcmV0dXJuIHsgYXBpLCBjYWxscywgZmluaXNoTm90ZSwgcmV2aXNlTm90ZSwgcnVudGltZTogQ2xpZW50LnJ1bnRpbWUsIHNlc3Npb24sIC4uLnN1YnNjcmlwdGlvbiB9Owp9Cg==","path":"src/test-support/notesClient.ts"},{"content":"aW1wb3J0IHsgY3JlYXRlTWVtb3J5SGlzdG9yeSwgUm91dGVyUHJvdmlkZXIgfSBmcm9tICJAdGFuc3RhY2svcmVhY3Qtcm91dGVyIjsKaW1wb3J0IHsgYWN0IH0gZnJvbSAicmVhY3QiOwppbXBvcnQgeyBleHBlY3QsIG9uVGVzdEZpbmlzaGVkIH0gZnJvbSAidml0ZXN0IjsKaW1wb3J0IHsgZXZlbnR1YWxseSwgcmVuZGVyIH0gZnJvbSAiQHNoaXZhZWRldi9lZmZlY3QtcmVhY3QvdGVzdGluZy50cyI7CmltcG9ydCB7IGFwcFJvdXRlciB9IGZyb20gIiNjbGllbnQvYXBwUm91dGVyLnRzeCI7CmltcG9ydCB7IG5vdGVzQ2xpZW50IH0gZnJvbSAiLi9ub3Rlc0NsaWVudC50cyI7CmltcG9ydCB7IHNjcmVlbkF1dGggfSBmcm9tICIuL3NjcmVlbkF1dGgudHMiOwoKZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG9wZW5Ob3RlKHRlbGw6IChsaW5lOiBzdHJpbmcpID0+IHZvaWQpIHsKCWNvbnN0IGNsaWVudCA9IG5vdGVzQ2xpZW50KFt7IGlkOiAxLCB0aXRsZTogIkZpcnN0IG5vdGUiLCB2ZXJzaW9uOiAwLCB3b3JkQ291bnQ6IG51bGwgfV0pOwoJY29uc3QgdmlldyA9IGF3YWl0IHJlbmRlcihudWxsKTsKCW9uVGVzdEZpbmlzaGVkKHZpZXcudW5tb3VudCk7Cgljb25zdCByb3V0ZXIgPSBhcHBSb3V0ZXIodmlldy5yZWdpc3RyeSwgY2xpZW50LCBzY3JlZW5BdXRoKCksIGNyZWF0ZU1lbW9yeUhpc3RvcnkoeyBpbml0aWFsRW50cmllczogWyIvbm90ZXMvMSJdIH0pKTsKCWF3YWl0IHZpZXcucmVuZGVyKDxSb3V0ZXJQcm92aWRlciByb3V0ZXI9e3JvdXRlcn0gLz4pOwoJYXdhaXQgZXZlbnR1YWxseSgoKSA9PiBleHBlY3Qodmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigiaW5wdXQiKT8udmFsdWUpLnRvQmUoIkZpcnN0IG5vdGUiKSk7Cglhc3luYyBmdW5jdGlvbiBlbnRlcih2YWx1ZTogc3RyaW5nKSB7CgkJdGVsbChgZW50ZXIgJHtKU09OLnN0cmluZ2lmeSh2YWx1ZSl9IGluIHRoZSB0aXRsZWApOwoJCWNvbnN0IGlucHV0ID0gdmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigiaW5wdXQiKTsKCQlpZiAoIShpbnB1dCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQpKSB7CgkJCXRocm93IG5ldyBFcnJvcigiTWlzc2luZyB0aXRsZSBpbnB1dCIpOwoJCX0KCQlhd2FpdCBhY3QoKCkgPT4gewoJCQlPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEhUTUxJbnB1dEVsZW1lbnQucHJvdG90eXBlLCAidmFsdWUiKT8uc2V0Py5jYWxsKGlucHV0LCB2YWx1ZSk7CgkJCWlucHV0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJpbnB1dCIsIHsgYnViYmxlczogdHJ1ZSB9KSk7CgkJfSk7Cgl9Cglhc3luYyBmdW5jdGlvbiBjbGljayhsYWJlbDogc3RyaW5nKSB7CgkJdGVsbChgY2xpY2sgJHtsYWJlbH1gKTsKCQljb25zdCBidXR0b24gPSBbLi4udmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgiYnV0dG9uIildLmZpbmQoKGNhbmRpZGF0ZSkgPT4gY2FuZGlkYXRlLnRleHRDb250ZW50ID09PSBsYWJlbCk7CgkJaWYgKGJ1dHRvbiA9PT0gdW5kZWZpbmVkKSB7CgkJCXRocm93IG5ldyBFcnJvcihgTWlzc2luZyAke2xhYmVsfSBidXR0b25gKTsKCQl9CgkJYXdhaXQgYWN0KCgpID0+IGJ1dHRvbi5jbGljaygpKTsKCX0KCXJldHVybiB7IGNsaWNrLCBjbGllbnQsIGVudGVyLCByb3V0ZXIsIHZpZXcgfTsKfQo=","path":"src/test-support/openNote.tsx"},{"content":"aW1wb3J0IHsgQ29uZmlnLCBFZmZlY3QsIExheWVyIH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgTWlncmF0b3IgfSBmcm9tICJlZmZlY3Qvc3FsIjsKaW1wb3J0IHsgbWFrZVBvc3RncmVzVGVzdExheWVyIH0gZnJvbSAiQHNoaXZhZWRldi9lZmZlY3QtdGVzdC1zcWwvcG9zdGdyZXMudHMiOwoKZXhwb3J0IGNvbnN0IHBvc3RncmVzID0gTGF5ZXIudW53cmFwKAoJRWZmZWN0Lm1hcChDb25maWcuUmVkYWN0ZWQoIlBMQVRGT1JNX0VGRkVDVF9TUUxfVEVTVF9EQVRBQkFTRV9VUkwiKS5waXBlKENvbmZpZy5vckVsc2UoKCkgPT4gQ29uZmlnLlJlZGFjdGVkKCJURVNUX0RBVEFCQVNFX1VSTCIpKSksICh1cmwpID0+CgkJbWFrZVBvc3RncmVzVGVzdExheWVyKHsgbWlncmF0aW9uczogeyBsb2FkZXI6IE1pZ3JhdG9yLmZyb21SZWNvcmQoe30pLCBsb2NrVGltZW91dDogIjUgc2Vjb25kcyIgfSwgdXJsIH0pLAoJKSwKKTsK","path":"src/test-support/postgres.ts"},{"content":"aW1wb3J0IHByb2Nlc3MgZnJvbSAibm9kZTpwcm9jZXNzIjsKaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCB9IGZyb20gIm5vZGU6dXJsIjsKaW1wb3J0IHsgTm9kZVNlcnZpY2VzIH0gZnJvbSAiQGVmZmVjdC9wbGF0Zm9ybS1ub2RlIjsKaW1wb3J0IHsgRGVmZXJyZWQsIEVmZmVjdCwgUmVkYWN0ZWQsIFN0cmVhbSB9IGZyb20gImVmZmVjdCI7CmltcG9ydCB7IENoaWxkUHJvY2VzcyB9IGZyb20gImVmZmVjdC9wcm9jZXNzIjsKCmV4cG9ydCBjb25zdCBwcm9kdWN0aW9uQXV0aCA9IEVmZmVjdC5mbigiVGVzdC5wcm9kdWN0aW9uQXV0aCIpKGZ1bmN0aW9uKiAoZGF0YWJhc2VVcmw6IFJlZGFjdGVkLlJlZGFjdGVkPHN0cmluZz4sIHRydXN0ZWRQcm94eT86IHN0cmluZykgewoJbGV0IG91dHB1dCA9ICIiOwoJY29uc3QgcmVhZHkgPSB5aWVsZCogRGVmZXJyZWQubWFrZTxzdHJpbmc+KCk7Cgljb25zdCBjaGlsZCA9IHlpZWxkKiBDaGlsZFByb2Nlc3MubWFrZSgKCQlwcm9jZXNzLmV4ZWNQYXRoLAoJCVsKCQkJLi4uKGltcG9ydC5tZXRhLnJlc29sdmUoIkBzaGl2YWVkZXYvcGxhdGZvcm0vYXBwSG9zdC50cyIpLmVuZHNXaXRoKCIudHMiKSA/IFsiLS1jb25kaXRpb25zPXNvdXJjZSJdIDogW10pLAoJCQlmaWxlVVJMVG9QYXRoKG5ldyBVUkwoIi4vcHJvZHVjdGlvbkhvc3QudHMiLCBpbXBvcnQubWV0YS51cmwpKSwKCQldLAoJCXsKCQkJZW52OiB7CgkJCQkiQkVUVEVSX0FVVEhfU0VDUkVUIjogInN0YXJ0ZXItdGVzdC1zZWNyZXQtd2l0aC1hdC1sZWFzdC0zMi1jaGFyYWN0ZXJzIiwKCQkJCSJEQVRBQkFTRV9VUkwiOiBSZWRhY3RlZC52YWx1ZShkYXRhYmFzZVVybCksCgkJCQkiTk9ERV9FTlYiOiAicHJvZHVjdGlvbiIsCgkJCQkiUFVCTElDX1VSTCI6ICJodHRwczovL2FwcC5leGFtcGxlIiwKCQkJCSJURVNUIjogImZhbHNlIiwKCQkJCSJUUlVTVEVEX1BST1hZIjogdHJ1c3RlZFByb3h5LAoJCQl9LAoJCQlleHRlbmRFbnY6IHRydWUsCgkJfSwKCSk7Cgl5aWVsZCogY2hpbGQuYWxsLnBpcGUoCgkJU3RyZWFtLmRlY29kZVRleHQoKSwKCQlTdHJlYW0ucnVuRm9yRWFjaCgodGV4dCkgPT4KCQkJRWZmZWN0LmdlbihmdW5jdGlvbiogKCkgewoJCQkJb3V0cHV0ICs9IHRleHQ7CgkJCQljb25zdCB1cmwgPSAvQVVUSF9VUkw9KD88dXJsPmh0dHA6XC9cLzEyN1wuMFwuMFwuMTpcZCspXG4vdS5leGVjKG91dHB1dCk/Lmdyb3Vwcz8udXJsOwoJCQkJaWYgKHVybCAhPT0gdW5kZWZpbmVkKSB7CgkJCQkJeWllbGQqIERlZmVycmVkLnN1Y2NlZWQocmVhZHksIHVybCk7CgkJCQl9CgkJCX0pLAoJCSksCgkJRWZmZWN0LmZvcmtTY29wZWQsCgkpOwoJY29uc3QgdXJsID0geWllbGQqIERlZmVycmVkLmF3YWl0KHJlYWR5KS5waXBlKAoJCUVmZmVjdC5yYWNlRmlyc3QoY2hpbGQuZXhpdENvZGUucGlwZShFZmZlY3QuZmxhdE1hcCgoY29kZSkgPT4gRWZmZWN0LmRpZShuZXcgRXJyb3IoYFByb2R1Y3Rpb24gaG9zdCBleGl0ZWQgKCR7Y29kZX0pOiAke291dHB1dH1gKSkpKSksCgkJRWZmZWN0LnRpbWVvdXQoIjIwIHNlY29uZHMiKSwKCSk7CglyZXR1cm4geyBvdXRwdXQ6ICgpID0+IG91dHB1dCwgdXJsIH07Cn0sIEVmZmVjdC5wcm92aWRlKE5vZGVTZXJ2aWNlcy5sYXllcikpOwo=","path":"src/test-support/productionAuth.ts"},{"content":"aW1wb3J0IHsgTm9kZVJ1bnRpbWUgfSBmcm9tICJAZWZmZWN0L3BsYXRmb3JtLW5vZGUiOwppbXBvcnQgeyBFZmZlY3QsIExheWVyIH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgSHR0cFNlcnZlciB9IGZyb20gImVmZmVjdC9odHRwIjsKaW1wb3J0ICogYXMgTmV0QWRkcmVzcyBmcm9tICJlZmZlY3QvbmV0L05ldEFkZHJlc3MiOwppbXBvcnQgeyBzdGFydGVySG9zdCB9IGZyb20gIiNzZXJ2ZXIvc3RhcnRlckhvc3QudHMiOwoKTm9kZVJ1bnRpbWUucnVuTWFpbigKCUVmZmVjdC5nZW4oZnVuY3Rpb24qICgpIHsKCQljb25zdCBjb250ZXh0ID0geWllbGQqIExheWVyLmJ1aWxkKHN0YXJ0ZXJIb3N0KHsgcG9ydDogMCB9KSk7CgkJY29uc3Qgc2VydmVyID0geWllbGQqIEh0dHBTZXJ2ZXIuSHR0cFNlcnZlci5waXBlKEVmZmVjdC5wcm92aWRlQ29udGV4dChjb250ZXh0KSk7CgkJaWYgKCFOZXRBZGRyZXNzLmlzSW5ldEFkZHJlc3Moc2VydmVyLmFkZHJlc3MpKSB7CgkJCXJldHVybiB5aWVsZCogRWZmZWN0LmRpZSgiRXhwZWN0ZWQgYSBUQ1Agc2VydmVyIik7CgkJfQoJCXByb2Nlc3Muc3Rkb3V0LndyaXRlKGBBVVRIX1VSTD1odHRwOi8vMTI3LjAuMC4xOiR7c2VydmVyLmFkZHJlc3MucG9ydH1cbmApOwoJCXlpZWxkKiBFZmZlY3QubmV2ZXI7Cgl9KS5waXBlKEVmZmVjdC5zY29wZWQpLAopOwoKaW1wb3J0IHByb2Nlc3MgZnJvbSAibm9kZTpwcm9jZXNzIjsK","path":"src/test-support/productionHost.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0IH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgZXhwZWN0IH0gZnJvbSAidml0ZXN0IjsKaW1wb3J0IHsgYXV0aFBvc3QsIGNyZWRlbnRpYWxzLCBub3Rlc0h0dHAgfSBmcm9tICIuL2F1dGhIdHRwLnRzIjsKaW1wb3J0IHR5cGUgeyBSdW5uaW5nSG9zdCB9IGZyb20gIi4vaG9zdC50cyI7CgpleHBvcnQgZnVuY3Rpb24gcmVxdWVzdHMoaG9zdDogUnVubmluZ0hvc3QsIHRlbGw6IChsaW5lOiBzdHJpbmcpID0+IHZvaWQpIHsKCWNvbnN0IGF1dGhlbnRpY2F0ZSA9IEVmZmVjdC5mbigiU3RhcnRlclN0b3J5LmF1dGhlbnRpY2F0ZSIpKGZ1bmN0aW9uKiAobmFtZTogc3RyaW5nLCBwYXRoID0gInNpZ24tdXAvZW1haWwiLCBjb29raWUgPSAiIikgewoJCXRlbGwoYCR7bmFtZX0gY2FsbHMgJHtwYXRofWApOwoJCXJldHVybiB5aWVsZCogYXV0aFBvc3QoaG9zdC5iYXNlVXJsLCBwYXRoLCBwYXRoID09PSAic2lnbi1vdXQiID8ge30gOiBjcmVkZW50aWFscyhuYW1lKSwgY29va2llLCBob3N0Lm9yaWdpbik7Cgl9KTsKCWNvbnN0IG5vdGVzID0gRWZmZWN0LmZuKCJTdGFydGVyU3Rvcnkubm90ZXMiKShmdW5jdGlvbiogKGNvb2tpZSA9ICIiKSB7CgkJY29uc3QgY2xpZW50ID0geWllbGQqIG5vdGVzSHR0cChob3N0LmJhc2VVcmwsIGNvb2tpZSwgaG9zdC5vcmlnaW4pOwoJCWZ1bmN0aW9uIGNhbGw8QSwgRSwgUj4obGluZTogc3RyaW5nLCBlZmZlY3Q6IEVmZmVjdC5FZmZlY3Q8QSwgRSwgUj4pIHsKCQkJcmV0dXJuIEVmZmVjdC5zdXNwZW5kKCgpID0+IHsKCQkJCXRlbGwobGluZSk7CgkJCQlyZXR1cm4gZWZmZWN0OwoJCQl9KTsKCQl9CgkJcmV0dXJuIHsKCQkJY3JlYXRlOiAoaW5wdXQ6IFBhcmFtZXRlcnM8KHR5cGVvZiBjbGllbnQpWyJub3Rlcy5jcmVhdGUiXT5bMF0pID0+CgkJCQljYWxsKGBjcmVhdGUgbm90ZSAke0pTT04uc3RyaW5naWZ5KGlucHV0LnRpdGxlKX1gLCBjbGllbnRbIm5vdGVzLmNyZWF0ZSJdKGlucHV0KSksCgkJCWRlbGV0ZTogKGlucHV0OiBQYXJhbWV0ZXJzPCh0eXBlb2YgY2xpZW50KVsibm90ZXMuZGVsZXRlIl0+WzBdKSA9PgoJCQkJY2FsbChgZGVsZXRlIG5vdGUgJHtpbnB1dC5pZH0gYXQgdmVyc2lvbiAke2lucHV0LnZlcnNpb259YCwgY2xpZW50WyJub3Rlcy5kZWxldGUiXShpbnB1dCkpLAoJCQlnZXQ6IChpbnB1dDogUGFyYW1ldGVyczwodHlwZW9mIGNsaWVudClbIm5vdGVzLmdldCJdPlswXSkgPT4gY2FsbChgb3BlbiBub3RlICR7aW5wdXQuaWR9YCwgY2xpZW50WyJub3Rlcy5nZXQiXShpbnB1dCkpLAoJCQlsaXN0OiAoKSA9PiBjYWxsKCJsaXN0IG5vdGVzIiwgY2xpZW50WyJub3Rlcy5saXN0Il0oKSksCgkJCXVwZGF0ZTogKGlucHV0OiBQYXJhbWV0ZXJzPCh0eXBlb2YgY2xpZW50KVsibm90ZXMudXBkYXRlIl0+WzBdKSA9PgoJCQkJY2FsbChgZWRpdCBub3RlICR7aW5wdXQuaWR9IGF0IHZlcnNpb24gJHtpbnB1dC52ZXJzaW9ufWAsIGNsaWVudFsibm90ZXMudXBkYXRlIl0oaW5wdXQpKSwKCQkJd2hvYW1pOiAoKSA9PiBjYWxsKCJyZWFkIHRoZSBzaWduZWQtaW4gcHJvZmlsZSIsIGNsaWVudFsibm90ZXMud2hvYW1pIl0oKSksCgkJfTsKCX0pOwoJY29uc3QgZm9yZWlnblJlcXVlc3QgPSBFZmZlY3QuZm4oIlN0YXJ0ZXJTdG9yeS5mb3JlaWduUmVxdWVzdCIpKGZ1bmN0aW9uKiAoY29va2llOiBzdHJpbmcpIHsKCQl0ZWxsKCJhIGZvcmVpZ24gb3JpZ2luIGNhbGxzIHByb3RlY3RlZCBSUEMiKTsKCQljb25zdCByZXNwb25zZSA9IHlpZWxkKiBFZmZlY3QucHJvbWlzZSgoKSA9PgoJCQlmZXRjaChgJHtob3N0LmJhc2VVcmx9L3JwY2AsIHsKCQkJCWJvZHk6ICJbXSIsCgkJCQloZWFkZXJzOiB7ICJjb250ZW50LXR5cGUiOiAiYXBwbGljYXRpb24vbmRqc29uIiwgY29va2llLCBvcmlnaW46ICJodHRwczovL2ZvcmVpZ24uZXhhbXBsZSIgfSwKCQkJCW1ldGhvZDogIlBPU1QiLAoJCQl9KSwKCQkpOwoJCWV4cGVjdChyZXNwb25zZS5zdGF0dXMpLnRvQmUoNDAzKTsKCQl5aWVsZCogRWZmZWN0LnByb21pc2UoKCkgPT4gcmVzcG9uc2UudGV4dCgpKTsKCX0pOwoJcmV0dXJuIHsgYXV0aGVudGljYXRlLCBmb3JlaWduUmVxdWVzdCwgbm90ZXMgfTsKfQo=","path":"src/test-support/requests.ts"},{"content":"aW1wb3J0IHsgYWN0IH0gZnJvbSAicmVhY3QiOwoKZXhwb3J0IGZ1bmN0aW9uIHNjcmVlbkFjdGlvbnModGVsbDogKGxpbmU6IHN0cmluZykgPT4gdm9pZCkgewoJcmV0dXJuIHsKCQllbnRlcjogYXN5bmMgKGNvbnRhaW5lcjogSFRNTEVsZW1lbnQsIHZhbHVlOiBzdHJpbmcsIGxhYmVsPzogc3RyaW5nKSA9PiB7CgkJCXRlbGwoYGVudGVyICR7SlNPTi5zdHJpbmdpZnkodmFsdWUpfSBpbiAke2xhYmVsID8/ICJ0aGUgdGl0bGUifWApOwoJCQljb25zdCBmaWVsZCA9IGxhYmVsID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiBbLi4uY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoImxhYmVsIildLmZpbmQoKGVsZW1lbnQpID0+IGVsZW1lbnQudGV4dENvbnRlbnQgPT09IGxhYmVsKTsKCQkJY29uc3QgaW5wdXQgPSBsYWJlbCA9PT0gdW5kZWZpbmVkID8gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoImlucHV0IikgOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChmaWVsZD8uaHRtbEZvciA/PyAiIik7CgkJCWlmICghKGlucHV0IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCkpIHsKCQkJCXRocm93IG5ldyBFcnJvcihgTWlzc2luZyAke2xhYmVsID8/ICJ0aXRsZSJ9IGlucHV0YCk7CgkJCX0KCQkJYXdhaXQgYWN0KCgpID0+IHsKCQkJCU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSFRNTElucHV0RWxlbWVudC5wcm90b3R5cGUsICJ2YWx1ZSIpPy5zZXQ/LmNhbGwoaW5wdXQsIHZhbHVlKTsKCQkJCWlucHV0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJpbnB1dCIsIHsgYnViYmxlczogdHJ1ZSB9KSk7CgkJCX0pOwoJCX0sCgkJc3VibWl0OiBhc3luYyAoY29udGFpbmVyOiBIVE1MRWxlbWVudCkgPT4gewoJCQl0ZWxsKCJzdWJtaXQgdGhlIGZvcm0iKTsKCQkJY29uc3QgZm9ybSA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCJmb3JtIik7CgkJCWlmIChmb3JtID09PSBudWxsKSB7CgkJCQl0aHJvdyBuZXcgRXJyb3IoIk1pc3NpbmcgZm9ybSIpOwoJCQl9CgkJCWF3YWl0IGFjdChhc3luYyAoKSA9PiB7CgkJCQlmb3JtLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJzdWJtaXQiLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkpOwoJCQkJYXdhaXQgUHJvbWlzZS5yZXNvbHZlKCk7CgkJCX0pOwoJCX0sCgl9Owp9Cg==","path":"src/test-support/screenActions.ts"},{"content":"aW1wb3J0IHR5cGUgeyBBdXRoQWN0aW9ucyB9IGZyb20gIiNjbGllbnQvYXV0aC50cyI7CgpleHBvcnQgZnVuY3Rpb24gc2NyZWVuQXV0aCgpOiBBdXRoQWN0aW9ucyB7CglmdW5jdGlvbiB1bmF2YWlsYWJsZSgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4gewoJCXJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoIlRoaXMgc2NyZWVuIGZpeHR1cmUgZG9lcyBub3QgcHJvdmlkZSBhdXRoZW50aWNhdGlvbiIpKTsKCX0KCXJldHVybiB7IHNpZ25PdXQ6IHVuYXZhaWxhYmxlLCBzdWJtaXQ6IHVuYXZhaWxhYmxlIH07Cn0K","path":"src/test-support/screenAuth.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0IH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgc3RvcnlLaXQgfSBmcm9tICJAc2hpdmFlZGV2L3Rlc3Qtc3Rvcnkvc3RvcnlLaXQudHMiOwppbXBvcnQgeyBvcGVuTm90ZSB9IGZyb20gIi4vb3Blbk5vdGUudHN4IjsKaW1wb3J0IHsgc2NyZWVuQWN0aW9ucyB9IGZyb20gIi4vc2NyZWVuQWN0aW9ucy50cyI7CgppbnRlcmZhY2UgU2NyZWVuIHsKCWVkaXRvcjogQXdhaXRlZDxSZXR1cm5UeXBlPHR5cGVvZiBvcGVuTm90ZT4+IHwgdW5kZWZpbmVkOwoJdGVsbDogKGxpbmU6IHN0cmluZykgPT4gdm9pZDsKfQoKZXhwb3J0IGNvbnN0IHNjcmVlbnMgPSBzdG9yeUtpdCh7CgljbG9jazogImxpdmUiLAoJY3JlYXRlOiAoKTogU2NyZWVuID0+ICh7IGVkaXRvcjogdW5kZWZpbmVkLCB0ZWxsOiAoKSA9PiB1bmRlZmluZWQgfSksCglpbnNwZWN0OiAoZW5naW5lKSA9PiAoeyB0ZXh0OiBlbmdpbmUuZWRpdG9yPy52aWV3LmNvbnRhaW5lci50ZXh0Q29udGVudCB9KSwKCW5hbWU6ICJzdGFydGVyIHNjcmVlbiIsCglzdGFnZXM6IFsic2NyZWVuIl0sCgl2ZXJiczogKGVuZ2luZSwgc3RvcnkpID0+IHsKCQllbmdpbmUudGVsbCA9IHN0b3J5LnRlbGw7CgkJcmV0dXJuIHsKCQkJZWRpdG9yOiAoKSA9PiB7CgkJCQlpZiAoZW5naW5lLmVkaXRvciA9PT0gdW5kZWZpbmVkKSB7CgkJCQkJdGhyb3cgbmV3IEVycm9yKCJUaGUgZWRpdG9yIGlzIG5vdCBvcGVuIik7CgkJCQl9CgkJCQlyZXR1cm4gZW5naW5lLmVkaXRvcjsKCQkJfSwKCQkJaW50ZXJhY3Q6IChydW46ICgpID0+IFByb21pc2U8dm9pZD4pID0+IEVmZmVjdC5wcm9taXNlKHJ1biksCgkJCS4uLnNjcmVlbkFjdGlvbnMoc3RvcnkudGVsbCksCgkJfTsKCX0sCn0pOwoKZXhwb3J0IGZ1bmN0aW9uIGVkaXRpbmdOb3RlKCkgewoJcmV0dXJuIHNjcmVlbnMudHJhaXQoInNjcmVlbiIsICJ0aGUgZmlyc3Qgbm90ZSBpcyBvcGVuIGluIHRoZSBlZGl0b3IiLCBmdW5jdGlvbiogKGVuZ2luZSkgewoJCWVuZ2luZS5lZGl0b3IgPSB5aWVsZCogRWZmZWN0LnByb21pc2UoKCkgPT4gb3Blbk5vdGUoKGxpbmUpID0+IGVuZ2luZS50ZWxsKGxpbmUpKSk7Cgl9KTsKfQo=","path":"src/test-support/screens.ts"},{"content":"ewoJImNvbXBpbGVyT3B0aW9ucyI6IHsKCQkiY3VzdG9tQ29uZGl0aW9ucyI6IFtdLAoJCSJqc3giOiAicmVhY3QtanN4IiwKCQkibGliIjogWyJFU05leHQiLCAiRE9NIiwgIkRPTS5JdGVyYWJsZSJdLAoJCSJza2lwTGliQ2hlY2siOiB0cnVlLAoJCSJ0eXBlcyI6IFsibm9kZSIsICJyZWFjdCIsICJyZWFjdC1kb20iXQoJfSwKCSJleHRlbmRzIjogIkBzaGl2YWVkZXYvcXVhbGl0eS90c2NvbmZpZy9iYXNlLmpzb24iLAoJImluY2x1ZGUiOiBbInNyYyIsICJzY3JpcHQiLCAiLnJhaWx3YXkiLCAidml0ZS5jb25maWcudHMiLCAidml0ZXN0LmNvbmZpZy50cyJdCn0K","path":"tsconfig.json"},{"content":"aW1wb3J0IHRhaWx3aW5kY3NzIGZyb20gIkB0YWlsd2luZGNzcy92aXRlIjsKaW1wb3J0IHJlYWN0IGZyb20gIkB2aXRlanMvcGx1Z2luLXJlYWN0IjsKaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSAidml0ZSI7CgpleHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoewoJcGx1Z2luczogW3RhaWx3aW5kY3NzKCksIHJlYWN0KCldLAoJcmVzb2x2ZTogeyBjb25kaXRpb25zOiBbXSwgdHNjb25maWdQYXRoczogdHJ1ZSB9LAoJc2VydmVyOiB7CgkJaG9zdDogIjEyNy4wLjAuMSIsCgkJcG9ydDogNTE3MywKCQlwcm94eTogewoJCQkiL2FwaS9hdXRoIjogeyBjaGFuZ2VPcmlnaW46IGZhbHNlLCB0YXJnZXQ6ICJodHRwOi8vMTI3LjAuMC4xOjMwMDAiIH0sCgkJCSIvcnBjIjogeyBjaGFuZ2VPcmlnaW46IGZhbHNlLCB0YXJnZXQ6ICJodHRwOi8vMTI3LjAuMC4xOjMwMDAiIH0sCgkJfSwKCQlzdHJpY3RQb3J0OiB0cnVlLAoJfSwKfSk7Cg==","path":"vite.config.ts"},{"content":"aW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSAidml0ZXN0L2NvbmZpZyI7CmltcG9ydCB7IHRlc3RQcm9qZWN0cyB9IGZyb20gIkBzaGl2YWVkZXYvcXVhbGl0eS90ZXN0UHJvamVjdHMudHMiOwoKZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29uZmlnKHsKCXJlc29sdmU6IHsgY29uZGl0aW9uczogWyJtb2R1bGUiLCAiYnJvd3NlciIsICJkZXZlbG9wbWVudHxwcm9kdWN0aW9uIl0gfSwKCXNzcjogeyByZXNvbHZlOiB7IGNvbmRpdGlvbnM6IFsibm9kZSIsICJkZXZlbG9wbWVudHxwcm9kdWN0aW9uIl0gfSB9LAoJdGVzdDogdGVzdFByb2plY3RzKCksCn0pOwo=","path":"vitest.config.ts"}]
1
+ [{"content":"REFUQUJBU0VfVVJMPXBvc3RncmVzcWw6Ly9wb3N0Z3Jlczpwb3N0Z3Jlc0AxMjcuMC4wLjE6NTU0MzIvc3RhcnRlcl9kZXYKVEVTVF9EQVRBQkFTRV9VUkw9cG9zdGdyZXNxbDovL3Bvc3RncmVzOnBvc3RncmVzQDEyNy4wLjAuMTo1NTQzMi9zdGFydGVyX3Rlc3QKQkVUVEVSX0FVVEhfU0VDUkVUPXJlcGxhY2Utd2l0aC1hLXJhbmRvbS1zZWNyZXQtb2YtYXQtbGVhc3QtMzItY2hhcmFjdGVycwojIFBVQkxJQ19VUkw9aHR0cHM6Ly9hcHAuZXhhbXBsZQo=","path":".env.example"},{"content":"bmFtZTogQ0kKCm9uOgogIHB1c2g6CiAgcHVsbF9yZXF1ZXN0OgoKcGVybWlzc2lvbnM6CiAgY29udGVudHM6IHJlYWQKCmpvYnM6CiAgY2hlY2s6CiAgICBydW5zLW9uOiB1YnVudHUtbGF0ZXN0CiAgICB0aW1lb3V0LW1pbnV0ZXM6IDEwCiAgICBzZXJ2aWNlczoKICAgICAgcG9zdGdyZXM6CiAgICAgICAgaW1hZ2U6IHBvc3RncmVzOjE4CiAgICAgICAgZW52OgogICAgICAgICAgUE9TVEdSRVNfVVNFUjogcG9zdGdyZXMKICAgICAgICAgIFBPU1RHUkVTX1BBU1NXT1JEOiBwb3N0Z3JlcwogICAgICAgICAgUE9TVEdSRVNfREI6IGFwcF90ZXN0CiAgICAgICAgcG9ydHM6CiAgICAgICAgICAtIDU0MzI6NTQzMgogICAgICAgIG9wdGlvbnM6ID4tCiAgICAgICAgICAtLWhlYWx0aC1jbWQgcGdfaXNyZWFkeQogICAgICAgICAgLS1oZWFsdGgtaW50ZXJ2YWwgMTBzCiAgICAgICAgICAtLWhlYWx0aC10aW1lb3V0IDVzCiAgICAgICAgICAtLWhlYWx0aC1yZXRyaWVzIDUKICAgIGVudjoKICAgICAgVEVTVF9EQVRBQkFTRV9VUkw6IHBvc3RncmVzOi8vcG9zdGdyZXM6cG9zdGdyZXNAbG9jYWxob3N0OjU0MzIvYXBwX3Rlc3QKICAgIHN0ZXBzOgogICAgICAtIHVzZXM6IGFjdGlvbnMvY2hlY2tvdXRAM2QzYzQyZTVhYWM1YmE4MDU4MjVkYTc2NDEwYzE4MTI3M2JhOTBiMSAjIHY3CiAgICAgICAgd2l0aDoKICAgICAgICAgIHBlcnNpc3QtY3JlZGVudGlhbHM6IGZhbHNlCiAgICAgIC0gdXNlczogYWN0aW9ucy9zZXR1cC1ub2RlQDgyMDc2Mjc4NjAyNjc0MGM3NmYzNjA4NWIwZWZjNDdhMzFmZTUwMjAgIyB2NwogICAgICAgIHdpdGg6CiAgICAgICAgICBub2RlLXZlcnNpb246IDI0CiAgICAgICAgICBwYWNrYWdlLW1hbmFnZXItY2FjaGU6IGZhbHNlCiAgICAgIC0gdXNlczogcG5wbS9zZXR1cEBmYmRhNGM4NWZjMmUxZTA4NzIxY2Q4NzYzYWZlYThmNDhkNjBmMDI0ICMgdjMuMC4wCiAgICAgICAgd2l0aDoKICAgICAgICAgIGNhY2hlOiBmYWxzZQogICAgICAgICAgbm9kZS12ZXJzaW9uLWZpbGU6IGZhbHNlCiAgICAgIC0gcnVuOiBwbnBtIGluc3RhbGwgLS1mcm96ZW4tbG9ja2ZpbGUKICAgICAgLSBuYW1lOiBMaW50LCB0eXBlY2hlY2ssIGJ1aWxkIGFuZCB0ZXN0CiAgICAgICAgcnVuOiBwbnBtIHJ1biBjaQo=","path":".github/workflows/ci.yml"},{"content":"bm9kZV9tb2R1bGVzLwpkaXN0LwouZW52LmxvY2FsCmNvdmVyYWdlLwo=","path":".gitignore"},{"content":"aW1wb3J0IHsgY3JlYXRlUmFpbHdheUNvbnRleHQsIHByb2plY3QgfSBmcm9tICJyYWlsd2F5L2lhYyI7CmltcG9ydCB7IGV4cGVjdCwgaXQgfSBmcm9tICJ2aXRlc3QiOwppbXBvcnQgcmFpbHdheSBmcm9tICIuL3JhaWx3YXkudHMiOwoKaXQoImNvbmZpZ3VyZXMgd2ViIGFuZCB3b3JrZXIgd2l0aCBzaGFyZWQgYXV0aCBzZXR0aW5ncywgUG9zdGdyZVNRTCBhbmQgbWlncmF0aW9ucyBiZWZvcmUgc3RhcnQiLCBhc3luYyAoKSA9PiB7Cgljb25zdCBkZWZpbml0aW9uID0gYXdhaXQgcmFpbHdheShjcmVhdGVSYWlsd2F5Q29udGV4dCh7IHByb2plY3ROYW1lOiAibm90ZXMiIH0pLCBwcm9qZWN0KTsKCWV4cGVjdChkZWZpbml0aW9uLm5hbWUpLnRvQmUoIm5vdGVzIik7CglleHBlY3QoZGVmaW5pdGlvbi5yZXNvdXJjZXMpLnRvRXF1YWwoWwoJCWV4cGVjdC5vYmplY3RDb250YWluaW5nKHsgYWRkcmVzczogImRhdGFiYXNlLlBvc3RncmVzIiwgZW5naW5lOiAicG9zdGdyZXMiIH0pLAoJCWV4cGVjdC5vYmplY3RDb250YWluaW5nKHsKCQkJYWRkcmVzczogInNlcnZpY2Uud2ViIiwKCQkJYnVpbGQ6IHsgYnVpbGRDb21tYW5kOiAicG5wbSBidWlsZCIsIGJ1aWxkZXI6ICJSQUlMUEFDSyIgfSwKCQkJZGVwbG95OiB7CgkJCQloZWFsdGhjaGVja1BhdGg6ICIvaGVhbHRoIiwKCQkJCWhlYWx0aGNoZWNrVGltZW91dDogMTIwLAoJCQkJcHJlRGVwbG95Q29tbWFuZDogWyJwbnBtIG1pZ3JhdGUiXSwKCQkJCXN0YXJ0Q29tbWFuZDogInBucG0gc3RhcnQiLAoJCQl9LAoJCQl2YXJpYWJsZXM6IHsKCQkJCSJCRVRURVJfQVVUSF9TRUNSRVQiOiB7IG5hbWU6ICJCRVRURVJfQVVUSF9TRUNSRVQiLCB0eXBlOiAic2hhcmVkUmVmZXJlbmNlIiB9LAoJCQkJIkRBVEFCQVNFX1VSTCI6IHsgb3V0cHV0OiAiREFUQUJBU0VfVVJMIiwgcmVzb3VyY2U6ICJkYXRhYmFzZS5Qb3N0Z3JlcyIsIHR5cGU6ICJyZWZlcmVuY2UiIH0sCgkJCQkiSE9TVCI6IHsgdHlwZTogImxpdGVyYWwiLCB2YWx1ZTogIjAuMC4wLjAiIH0sCgkJCQkiUFVCTElDX1VSTCI6IHsgbmFtZTogIlBVQkxJQ19VUkwiLCB0eXBlOiAic2hhcmVkUmVmZXJlbmNlIiB9LAoJCQkJIlRSVVNURURfUFJPWFkiOiB7IHR5cGU6ICJsaXRlcmFsIiwgdmFsdWU6ICIxMDAuNjQuMC4wLzEwIiB9LAoJCQl9LAoJCX0pLAoJCWV4cGVjdC5vYmplY3RDb250YWluaW5nKHsKCQkJYWRkcmVzczogInNlcnZpY2Uud29ya2VyIiwKCQkJYnVpbGQ6IHsgYnVpbGRDb21tYW5kOiAicG5wbSBidWlsZCIsIGJ1aWxkZXI6ICJSQUlMUEFDSyIgfSwKCQkJZGVwbG95OiB7IHByZURlcGxveUNvbW1hbmQ6IFsicG5wbSBtaWdyYXRlIl0sIHN0YXJ0Q29tbWFuZDogInBucG0gd29ya2VyIiB9LAoJCQl2YXJpYWJsZXM6IHsKCQkJCSJCRVRURVJfQVVUSF9TRUNSRVQiOiB7IG5hbWU6ICJCRVRURVJfQVVUSF9TRUNSRVQiLCB0eXBlOiAic2hhcmVkUmVmZXJlbmNlIiB9LAoJCQkJIkRBVEFCQVNFX1VSTCI6IHsgb3V0cHV0OiAiREFUQUJBU0VfVVJMIiwgcmVzb3VyY2U6ICJkYXRhYmFzZS5Qb3N0Z3JlcyIsIHR5cGU6ICJyZWZlcmVuY2UiIH0sCgkJCQkiUFVCTElDX1VSTCI6IHsgbmFtZTogIlBVQkxJQ19VUkwiLCB0eXBlOiAic2hhcmVkUmVmZXJlbmNlIiB9LAoJCQl9LAoJCX0pLAoJXSk7Cn0pOwo=","path":".railway/railway.test.ts"},{"content":"aW1wb3J0IHsgZGVmaW5lUmFpbHdheSwgcG9zdGdyZXMsIHByb2plY3QsIHNlcnZpY2UgfSBmcm9tICJyYWlsd2F5L2lhYyI7CgpleHBvcnQgZGVmYXVsdCBkZWZpbmVSYWlsd2F5KChjdHgpID0+IHsKCWNvbnN0IGRhdGFiYXNlID0gcG9zdGdyZXMoIlBvc3RncmVzIik7Cgljb25zdCB3ZWIgPSBzZXJ2aWNlKCJ3ZWIiLCB7CgkJYnVpbGQ6IHsgYnVpbGRDb21tYW5kOiAicG5wbSBidWlsZCIsIGJ1aWxkZXI6ICJSQUlMUEFDSyIgfSwKCQllbnY6IHsKCQkJIkJFVFRFUl9BVVRIX1NFQ1JFVCI6IGN0eC5zaGFyZWQuQkVUVEVSX0FVVEhfU0VDUkVULAoJCQkiREFUQUJBU0VfVVJMIjogZGF0YWJhc2UuZW52LkRBVEFCQVNFX1VSTCwKCQkJIkhPU1QiOiAiMC4wLjAuMCIsCgkJCSJQVUJMSUNfVVJMIjogY3R4LnNoYXJlZC5QVUJMSUNfVVJMLAoJCQkiVFJVU1RFRF9QUk9YWSI6ICIxMDAuNjQuMC4wLzEwIiwKCQl9LAoJCWhlYWx0aGNoZWNrOiAiL2hlYWx0aCIsCgkJaGVhbHRoY2hlY2tUaW1lb3V0OiAxMjAsCgkJcHJlRGVwbG95OiAicG5wbSBtaWdyYXRlIiwKCQlzdGFydDogInBucG0gc3RhcnQiLAoJfSk7Cgljb25zdCB3b3JrZXIgPSBzZXJ2aWNlKCJ3b3JrZXIiLCB7CgkJYnVpbGQ6IHsgYnVpbGRDb21tYW5kOiAicG5wbSBidWlsZCIsIGJ1aWxkZXI6ICJSQUlMUEFDSyIgfSwKCQllbnY6IHsKCQkJIkJFVFRFUl9BVVRIX1NFQ1JFVCI6IGN0eC5zaGFyZWQuQkVUVEVSX0FVVEhfU0VDUkVULAoJCQkiREFUQUJBU0VfVVJMIjogZGF0YWJhc2UuZW52LkRBVEFCQVNFX1VSTCwKCQkJIlBVQkxJQ19VUkwiOiBjdHguc2hhcmVkLlBVQkxJQ19VUkwsCgkJfSwKCQlwcmVEZXBsb3k6ICJwbnBtIG1pZ3JhdGUiLAoJCXN0YXJ0OiAicG5wbSB3b3JrZXIiLAoJfSk7CglyZXR1cm4gcHJvamVjdChjdHgucHJvamVjdE5hbWUgPz8gImFwcCIsIHsgcmVzb3VyY2VzOiBbZGF0YWJhc2UsIHdlYiwgd29ya2VyXSB9KTsKfSk7Cg==","path":".railway/railway.ts"},{"content":"IyBTdGFydGVyIGFwcGxpY2F0aW9uCgpUaGlzIHByaXZhdGUgYXBwbGljYXRpb24gaXMgdGhlIHNvdXJjZSB0ZW1wbGF0ZSB0aGF0IGBAc2hpdmFlZGV2L2NyZWF0ZS1hcHBgIHBhY2thZ2VzIGZvciBuZXcgUGxhdGZvcm0gYXBwcy4gS2VlcCBpdCBzbWFsbCBlbm91Z2ggdG8gdW5kZXJzdGFuZCBpbiBvbmUgc2l0dGluZzogb25lIGRvbWFpbiB0YWJsZSwgYW4gYXV0aGVudGljYXRlZCBub3RlcyB3b3JrZmxvdyBhbmQgYSBzaWduLWluIHNjcmVlbi4gQmV0dGVyIEF1dGggb3ducyBpdHMgYWNjb3VudCBhbmQgc2Vzc2lvbiB0YWJsZXM7IHRoZSBzdGFydGVyJ3MgbnVtYmVyZWQgbWlncmF0aW9uIHBhdGggY3JlYXRlcyB0aGVtLiBQcmVmZXIgbmF0aXZlIEVmZmVjdCBjb21wb3NpdGlvbiBhbmQgdGhlIGZyYW1ld29yaydzIGV4aXN0aW5nIHBhdGggb3ZlciBoZWxwZXJzIHRoYXQgb2JzY3VyZSBpdC4KClRoZSBhcHBsaWNhdGlvbiBvd25zIGl0cyBVSSBhbmQgbG9jYWwgc2Vzc2lvbiBwb2xpY3kuIFNoYXJlZCBkZWNsYXJhdGlvbnMgc3RheSBicm93c2VyIHNhZmU7IFBvc3RncmVTUUwsIHNlcnZpY2VzIGFuZCB0aGUgYXBwIGhvc3Qgc3RheSBvbiB0aGUgc2VydmVyLiBLZWVwIHRoZSBwbnBtIGNhdGFsb2cgYW5kIFR5cGVTY3JpcHQgY29uZmlndXJhdGlvbiBzZWxmLWNvbnRhaW5lZCBzbyBnZW5lcmF0aW5nIHRoZSBhcHAgZG9lcyBub3QgcmVxdWlyZSByZXBvc2l0b3J5IGZpbGVzLgoKVXNlIHRoZSByb290IHJlcG9zaXRvcnkgZ3VpZGFuY2Ugd2hpbGUgZGV2ZWxvcGluZyB0aGlzIHRlbXBsYXRlLiBUaGUgW3F1aWNrc3RhcnRdKGh0dHBzOi8vZ2l0aHViLmNvbS9TaGl2YWVEZXYvcGxhdGZvcm0vYmxvYi9tYWluL2RvY3MvZnJhbWV3b3JrL3F1aWNrc3RhcnQubWQpIGV4cGxhaW5zIGNyZWF0aW5nIGFuZCBydW5uaW5nIHRoZSBhcHAuIEEgc2VydmVyIGNoYW5nZSBuZWVkcyB0aGUgcmVhbCBQb3N0Z3JlU1FMIHJvdW5kLXRyaXAgdGVzdDsgYSBmb3JtIGNoYW5nZSBuZWVkcyBpdHMgaGFwcHktZG9tIHRlc3QuCgpXcml0ZSBuZXcgdGVzdHMgYXMgc3RvcmllcyBvbiB0aGUga2l0cyBpbiBgc3JjL3Rlc3Qtc3VwcG9ydC9gOiBgYXBwbGljYXRpb24udHNgIGZvciByZWFsIFBvc3RncmVTUUwgYW5kIEhUVFAsIGBzY3JlZW5zLnRzYCBmb3IgZm9jdXNlZCBoYXBweS1kb20gYmVoYXZpb3IsIGFuZCBgbWlncmF0aW9uLnRzYCBmb3Igc2NoZW1hIHVwZ3JhZGVzLiBBZGQgZG9tYWluIHRyYWl0cyBhbmQgdmVyYnMgdG8gdGhlIGtpdCBpbnN0ZWFkIG9mIGJ1aWxkaW5nIGhvc3RzLCBwcm94aWVzLCBzZXNzaW9ucyBvciByZXF1ZXN0cyBpbmxpbmUgaW4gc3BlY3MuIEtlZXAgaW5mcmFzdHJ1Y3R1cmUgc2NvcGVkLCB1c2UgYSBsaXZlIGNsb2NrIGZvciBIVFRQIGFuZCBET00gc3RvcmllcywgYW5kIHJldGFpbiBpbmRlcGVuZGVudCBTUUwgYXNzZXJ0aW9ucyB3aGVyZSBwZXJzaXN0ZW5jZSBpcyB0aGUgYmVoYXZpb3IuIFNlZSB0aGUgUkVBRE1FIGZvciB0aGUgc21hbGxlc3Qgc3RvcnkuCg==","path":"AGENTS.md"},{"content":"IyBTdGFydGVyIGFwcGxpY2F0aW9uCgpUaGlzIHByaXZhdGUgYXBwbGljYXRpb24gaXMgdGhlIHNvdXJjZSB0ZW1wbGF0ZSB0aGF0IGBAc2hpdmFlZGV2L2NyZWF0ZS1hcHBgIHBhY2thZ2VzIGZvciBuZXcgUGxhdGZvcm0gYXBwcy4gS2VlcCBpdCBzbWFsbCBlbm91Z2ggdG8gdW5kZXJzdGFuZCBpbiBvbmUgc2l0dGluZzogb25lIGRvbWFpbiB0YWJsZSwgYW4gYXV0aGVudGljYXRlZCBub3RlcyB3b3JrZmxvdyBhbmQgYSBzaWduLWluIHNjcmVlbi4gQmV0dGVyIEF1dGggb3ducyBpdHMgYWNjb3VudCBhbmQgc2Vzc2lvbiB0YWJsZXM7IHRoZSBzdGFydGVyJ3MgbnVtYmVyZWQgbWlncmF0aW9uIHBhdGggY3JlYXRlcyB0aGVtLiBQcmVmZXIgbmF0aXZlIEVmZmVjdCBjb21wb3NpdGlvbiBhbmQgdGhlIGZyYW1ld29yaydzIGV4aXN0aW5nIHBhdGggb3ZlciBoZWxwZXJzIHRoYXQgb2JzY3VyZSBpdC4KClRoZSBhcHBsaWNhdGlvbiBvd25zIGl0cyBVSSBhbmQgbG9jYWwgc2Vzc2lvbiBwb2xpY3kuIFNoYXJlZCBkZWNsYXJhdGlvbnMgc3RheSBicm93c2VyIHNhZmU7IFBvc3RncmVTUUwsIHNlcnZpY2VzIGFuZCB0aGUgYXBwIGhvc3Qgc3RheSBvbiB0aGUgc2VydmVyLiBLZWVwIHRoZSBwbnBtIGNhdGFsb2cgYW5kIFR5cGVTY3JpcHQgY29uZmlndXJhdGlvbiBzZWxmLWNvbnRhaW5lZCBzbyBnZW5lcmF0aW5nIHRoZSBhcHAgZG9lcyBub3QgcmVxdWlyZSByZXBvc2l0b3J5IGZpbGVzLgoKVXNlIHRoZSByb290IHJlcG9zaXRvcnkgZ3VpZGFuY2Ugd2hpbGUgZGV2ZWxvcGluZyB0aGlzIHRlbXBsYXRlLiBUaGUgW3F1aWNrc3RhcnRdKGh0dHBzOi8vZ2l0aHViLmNvbS9TaGl2YWVEZXYvcGxhdGZvcm0vYmxvYi9tYWluL2RvY3MvZnJhbWV3b3JrL3F1aWNrc3RhcnQubWQpIGV4cGxhaW5zIGNyZWF0aW5nIGFuZCBydW5uaW5nIHRoZSBhcHAuIEEgc2VydmVyIGNoYW5nZSBuZWVkcyB0aGUgcmVhbCBQb3N0Z3JlU1FMIHJvdW5kLXRyaXAgdGVzdDsgYSBmb3JtIGNoYW5nZSBuZWVkcyBpdHMgaGFwcHktZG9tIHRlc3QuCgpXcml0ZSBuZXcgdGVzdHMgYXMgc3RvcmllcyBvbiB0aGUga2l0cyBpbiBgc3JjL3Rlc3Qtc3VwcG9ydC9gOiBgYXBwbGljYXRpb24udHNgIGZvciByZWFsIFBvc3RncmVTUUwgYW5kIEhUVFAsIGBzY3JlZW5zLnRzYCBmb3IgZm9jdXNlZCBoYXBweS1kb20gYmVoYXZpb3IsIGFuZCBgbWlncmF0aW9uLnRzYCBmb3Igc2NoZW1hIHVwZ3JhZGVzLiBBZGQgZG9tYWluIHRyYWl0cyBhbmQgdmVyYnMgdG8gdGhlIGtpdCBpbnN0ZWFkIG9mIGJ1aWxkaW5nIGhvc3RzLCBwcm94aWVzLCBzZXNzaW9ucyBvciByZXF1ZXN0cyBpbmxpbmUgaW4gc3BlY3MuIEtlZXAgaW5mcmFzdHJ1Y3R1cmUgc2NvcGVkLCB1c2UgYSBsaXZlIGNsb2NrIGZvciBIVFRQIGFuZCBET00gc3RvcmllcywgYW5kIHJldGFpbiBpbmRlcGVuZGVudCBTUUwgYXNzZXJ0aW9ucyB3aGVyZSBwZXJzaXN0ZW5jZSBpcyB0aGUgYmVoYXZpb3IuIFNlZSB0aGUgUkVBRE1FIGZvciB0aGUgc21hbGxlc3Qgc3RvcnkuCg==","path":"CLAUDE.md"},{"content":"IyBAc2hpdmFlZGV2L3N0YXJ0ZXIKCkEgc21hbGwgbm90ZXMgYXBwIHNob3dpbmcgUGxhdGZvcm0ncyBwYXRoIGZyb20gYSBtaWdyYXRlZCBQb3N0Z3JlU1FMIHRhYmxlIHRocm91Z2ggUlBDIHRvIGEgUmVhY3QgZm9ybS4gQ3JlYXRlIHlvdXIgb3duIGFwcGxpY2F0aW9uIHdpdGggYHBucG0gY3JlYXRlIEBzaGl2YWVkZXYvYXBwIG15LWFwcGAuCgpgYGB0c3gKY29uc3QgcXVlcnkgPSB1c2VRdWVyeShjbGllbnQuYXBpLmxpc3QucXVlcnkoKSk7CmBgYAoKVGhlIGF1dGhlbnRpY2F0ZWQgcm91dGUgbG9hZGVycyBhbmQgc2NyZWVucyBzaGFyZSB0aGUgc2FtZSBuYXRpdmUgcXVlcnkgcmVnaXN0cnkuIENyZWF0ZSBhIG5vdGUsIG9wZW4gaXRzIHRpdGxlIHRvIGVkaXQgaXQsIG9yIGRlbGV0ZSBpdCBhbmQgcmV0dXJuIHRvIHRoZSByZWZyZXNoZWQgbGlzdC4gQmV0dGVyIEF1dGggc3VwcGxpZXMgc2lnbnVwLCBzaWduLWluIGFuZCBzaWduLW91dDsgZWFjaCBhY2NvdW50IHNlZXMgaXRzIG93biBub3Rlcy4KClRoZSBgL25vdGVzLyRub3RlSWRgIHJvdXRlIHBhcnNlcyBhIG51bWVyaWMgSUQgYW5kIGxvYWRzIGBub3Rlcy5nZXRgIHRocm91Z2ggYGxvYWRRdWVyeWAuIEl0cyBmb3JtIHVzZXMgYHVzZUVkaXRvcmA6IGEgbGl2ZSByZWZyZXNoIGtlZXBzIGVkaXRlZCBmaWVsZHMsIGEgcmVqZWN0ZWQgc2F2ZSBrZWVwcyB0aGUgaW5wdXQsIGFuZCBhIHN1Y2Nlc3NmdWwgc2F2ZSBhcHBsaWVzIHRoZSByZXR1cm5lZCB0aXRsZS4gVXBkYXRlcyBhbmQgZGVsZXRlcyBzZW5kIHRoZSB2ZXJzaW9uIHRoZSBjbGllbnQgcmVhZC4gQSBzdGFsZSB2ZXJzaW9uIHJldHVybnMgUGxhdGZvcm0ncyBgQ29uZmxpY3RgIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHJvdzsgcmVmcmVzaCBhbmQgcmV2aWV3IHRoZSByZXRhaW5lZCBkcmFmdCBiZWZvcmUgc2F2aW5nIGFnYWluLiBBbm90aGVyIGFjY291bnQgcmVjZWl2ZXMgYE5vdEZvdW5kYCBmb3IgYW4gaW5kaXZpZHVhbCBub3RlLiBUaGUgd29yZC1jb3VudCB3b3JrZXIgdXNlcyB0aGUgc2FtZSB2ZXJzaW9uZWQgbm90ZXMgcmVwb3NpdG9yeSBhbmQgcmVjYWxjdWxhdGVzIHRoZSBjb3VudCBhZnRlciBhbiBlZGl0LgoKIyMgQ3JlYXRlIG9yIHJ1biBpdAoKRm9sbG93IHRoZSBbcXVpY2tzdGFydF0oaHR0cHM6Ly9naXRodWIuY29tL1NoaXZhZURldi9wbGF0Zm9ybS9ibG9iL21haW4vZG9jcy9mcmFtZXdvcmsvcXVpY2tzdGFydC5tZCkuIEdlbmVyYXRlZCBhcHBzIGFscmVhZHkgaGF2ZSBhIGdpdC1pZ25vcmVkIGAuZW52LmxvY2FsYCB3aXRoIGEgZnJlc2ggYXV0aGVudGljYXRpb24gc2VjcmV0IGFuZCBkZXZlbG9wbWVudCBhbmQgdGVzdCBkYXRhYmFzZSBVUkxzLiBJbiB0aGlzIHJlcG9zaXRvcnksIHJ1biBgLi9zY3JpcHQvdXBkYXRlYCBhdCB0aGUgcm9vdCwgY29weSBgLmVudi5leGFtcGxlYCB0byBgLmVudi5sb2NhbGAgaGVyZSwgYW5kIHJlcGxhY2UgdGhlIGV4YW1wbGUgc2VjcmV0IHdpdGggdGhlIG91dHB1dCBvZiBgb3BlbnNzbCByYW5kIC1iYXNlNjQgMzJgLiBSdW4gYHBucG0gZGV2YCBhbmQgb3BlbiBgaHR0cDovLzEyNy4wLjAuMTo1MTczYC4KCmBwbnBtIGRldmAgZmlyc3QgcnVucyBgcG5wbSBkYjpzZXR1cGAsIHdoaWNoIHByZXBhcmVzIGJvdGggbG9jYWwgZGF0YWJhc2VzIHRocm91Z2ggYEBzaGl2YWVkZXYvbG9jYWwtcG9zdGdyZXNgLiBIYXZlIFBvc3RncmVTUUwgMTguNiBvbiBsb29wYmFjayBwb3J0IDU1NDMyIG9yIGxvY2FsIERvY2tlciBhdmFpbGFibGUuIFJ1biBgcG5wbSBkYjpzZXR1cGAgc2VwYXJhdGVseSB0byBwcmVwYXJlIGRhdGFiYXNlcyB3aXRob3V0IHN0YXJ0aW5nIHRoZSBhcHAuCgpUaGUgYXBwIHVzZXMgVGFpbHdpbmQncyBuZXV0cmFsIHNoYWRjbiB0aGVtZSBhbmQgYXBwbGljYXRpb24tb3duZWQgYEJ1dHRvbmAgYW5kIGBJbnB1dGAgY29tcG9uZW50cy4gU2VydmVyIGVudHJ5IHBvaW50cyBhcmUgaW4gYHNyYy9zZXJ2ZXJgOyB0aGUgc2hhcmVkIGNvbnRyYWN0IGlzIGBzcmMvbm90ZXMudHNgOyB0aGUgYnJvd3NlciBzdGFydHMgaW4gYHNyYy9jbGllbnQvZW50cnkudHN4YC4KCmBwbnBtIGJ1aWxkICYmIHBucG0gc3RhcnRgIHNlcnZlcyB0aGUgYnVpbHQgVUksIEJldHRlciBBdXRoIGVuZHBvaW50cyBhbmQgSFRUUC9OREpTT04gUlBDIHRvZ2V0aGVyIGF0IGBodHRwOi8vMTI3LjAuMC4xOjMwMDBgLiBTZXQgYERBVEFCQVNFX1VSTGAgYW5kIGBCRVRURVJfQVVUSF9TRUNSRVRgIGluIGAuZW52LmxvY2FsYCBvciB0aGUgc2hlbGwuIFRoZSBzZWNyZXQgbmVlZHMgYXQgbGVhc3QgMzIgcmFuZG9tIGNoYXJhY3RlcnM7IGdlbmVyYXRlIG9uZSB3aXRoIGBvcGVuc3NsIHJhbmQgLWJhc2U2NCAzMmAuIEZvciBob3N0aW5nIGJlaGluZCBhIHByb3h5LCBmb2xsb3cgdGhlIHF1aWNrc3RhcnQncyBbRGVwbG95IHNlY3Rpb25dKGh0dHBzOi8vZ2l0aHViLmNvbS9TaGl2YWVEZXYvcGxhdGZvcm0vYmxvYi9tYWluL2RvY3MvZnJhbWV3b3JrL3F1aWNrc3RhcnQubWQjZGVwbG95KSwgc2V0dGluZyBgUFVCTElDX1VSTGAgdG8geW91ciBwdWJsaWMgYXBwIFVSTC4KCmBUUlVTVEVEX1BST1hZYCBjb250cm9scyBib3RoIHRoZSBob3N0J3MgZm9yd2FyZGVkIGF1dGhvcml0eSBhbmQgQmV0dGVyIEF1dGgncyBjbGllbnQgSVBzIGZvciBhdXRoIHJhdGUgbGltaXRpbmcuIEF1dGggYWNjZXB0cyBgWC1Gb3J3YXJkZWQtRm9yYCBvbmx5IGZyb20gYSBtYXRjaGluZyB0cmFuc3BvcnQgcGVlciBhbmQgbGV0cyBCZXR0ZXIgQXV0aCByZXNvbHZlIHRoZSBmb3J3YXJkZWQgY2hhaW4gd2l0aCB0aGUgc2FtZSB0cnVzdGVkIHByb3h5IGFkZHJlc3NlcyBhbmQgcmFuZ2VzLiBUaGUgcHJveHkgbXVzdCBvdmVyd3JpdGUgdGhlIGhlYWRlciBvciBhcHBlbmQgdGhlIGFjdHVhbCBjbGllbnQgSVAuIFdoZW4gYFRSVVNURURfUFJPWFlgIGlzIHVuc2V0LCBhdXRoIGlnbm9yZXMgZm9yd2FyZGVkIElQIGhlYWRlcnM7IGluIHByb2R1Y3Rpb24gQmV0dGVyIEF1dGggd2FybnMgYW5kIHNoYXJlcyBvbmUgcmF0ZS1saW1pdCBidWNrZXQgcGVyIHBhdGggYWNyb3NzIHZpc2l0b3JzLgoKQSBnZW5lcmF0ZWQgYXBwIHJ1bnMgYHBucG0gcnVuIHNldHVwYCBiZWZvcmUgaXRzIGZpcnN0IGNvbW1pdDogZGVwZW5kZW5jaWVzIGFuZCBRdWFsaXR5J3MgcHJlLWNvbW1pdCBob29rIGFyZSBpbnN0YWxsZWQsIGFuZCB0aGUgY29tbWl0IHJ1bnMgbGludCBhbmQgdHlwZWNoZWNrLiBBZnRlciBjbG9uaW5nIHRoZSBnZW5lcmF0ZWQgcmVwb3NpdG9yeSwgcnVuIGBwbnBtIHJ1biBzZXR1cGAgYWdhaW4gZm9yIHRoYXQgY2hlY2tvdXQuIFNldHVwIGluc3RhbGxzIGEgaG9vayBvbmx5IHdoZW4gdGhlIGFwcCBoYXMgaXRzIG93biBgLmdpdGA7IGl0IGxlYXZlcyBhbiBlbmNsb3NpbmcgcmVwb3NpdG9yeSdzIGhvb2tzIGFsb25lLiBSdW4gYHBucG0gcmVhZHlgIGZvciB0aGUgZnVsbCBsb2NhbCBnYXRlLiBJdCB1c2VzIHRoZSBzYW1lIGxpbnQsIHR5cGVjaGVjaywgYnVpbGQgYW5kIHRlc3Qgc2NyaXB0IGFzIGAuZ2l0aHViL3dvcmtmbG93cy9jaS55bWxgIGFuZCB0aGUgcHVibGlzaGVkLXN0YXJ0ZXIgY2hlY2ssIHdpdGggUG9zdGdyZVNRTCBiYWNraW5nIHRoZSB0ZXN0cy4gVGhlIFJhaWx3YXkgQ0xJIGFwcGxpZXMgYC5yYWlsd2F5L3JhaWx3YXkudHNgIHRvIGNvbmZpZ3VyZSBQb3N0Z3JlU1FMLCB3ZWIgYW5kIHdvcmtlciBzZXJ2aWNlcy4gQm90aCBzZXJ2aWNlcyBidWlsZCBhbmQgcnVuIGBwbnBtIG1pZ3JhdGVgIGJlZm9yZSBkZXBsb3ltZW50OyB0aGUgd2ViIHNlcnZpY2Ugc3RhcnRzIEhUVFAgYW5kIGNoZWNrcyBgL2hlYWx0aGAsIHdoaWxlIHRoZSB3b3JrZXIgc3RhcnRzIGBwbnBtIHdvcmtlcmAuIEZvbGxvdyB0aGUgcXVpY2tzdGFydCB0byBwbGFuIGFuZCBhcHBseSB0aGUgY29uZmlndXJhdGlvbiwgY29ubmVjdCB0aGUgcmVwb3NpdG9yeSBhbmQgZGVwbG95IGJvdGggc2VydmljZXMuCgpUaGUgc3RhcnRlcidzIG51bWJlcmVkIG1pZ3JhdGlvbiBwYXRoIGNyZWF0ZXMgQmV0dGVyIEF1dGgncyB0YWJsZXMgd2l0aCBgZ2V0TWlncmF0aW9ucyhhdXRoLm9wdGlvbnMpYCBmb2xsb3dlZCBieSBgcnVuTWlncmF0aW9ucygpYC4gTm8gc2VwYXJhdGUgYXV0aCBtaWdyYXRpb24gY29tbWFuZCBpcyBuZWVkZWQuIFByb3RlY3RlZCBvcGVyYXRpb25zIGRlY2xhcmUgYEF1dGhlbnRpY2F0ZWRVc2VyYDsgYGF1dGhlbnRpY2F0ZWRVc2VyTGF5ZXIoc2Vzc2lvbnMpYCBzdXBwbGllcyBgU2Vzc2lvblVzZXJgIGZyb20gdGhlIGBiZXR0ZXJBdXRoU2Vzc2lvbnNgIHByb3ZpZGVyLiBOb3RlIGhhbmRsZXJzIHVzZSBpdHMgaWQgZm9yIG93bmVyc2hpcCwgYW5kIGBub3Rlcy53aG9hbWlgIHJldHVybnMgaWQsIG5hbWUgYW5kIGVtYWlsIHdpdGhvdXQgcXVlcnlpbmcgYXV0aCB0YWJsZXM7IHNpZ25lZC1vdXQgY2FsbHMgcmV0dXJuIHR5cGVkIGBVbmF1dGhvcml6ZWRgIGZhaWx1cmVzLiBUaGUgVUkgc2hvd3MgYSBzaWduLWluIHByb21wdCwgYW5kIGBTZXNzaW9uQm91bmRhcnlgIHJlcGxhY2VzIGNhY2hlZCBxdWVyaWVzIGFuZCBkcmFmdHMgd2hlbiB0aGUgc2Vzc2lvbiBjaGFuZ2VzLgoKVGhlIGJyb3dzZXIgZW50cnkgcG9pbnQgY3JlYXRlcyBgbWFrZUF1dGgoeyBiYXNlVXJsIH0pYCBhbmQgc3VwcGxpZXMgaXQgdG8gYEFwcGAuIFNlc3Npb24gY2hlY2tpbmcgYW5kIGF1dGggYWN0aW9ucyB1c2UgdGhhdCBpbnN0YW5jZS4gU3RvcmllcyBjYW4gY3JlYXRlIGFuIGF1dGggY2xpZW50IGZvciB0aGVpciBvd24gSFRUUCBob3N0IHdpdGggdGhlIGFwcGxpY2F0aW9uIGtpdOKAmXMgYGF1dGhDbGllbnQoKWAgdmVyYi4KClRoZSBUeXBlU2NyaXB0IGNvbmZpZ3VyYXRpb24ga2VlcHMgc3RyaWN0IGFwcGxpY2F0aW9uIGNoZWNraW5nIGFuZCBzZXRzIGBza2lwTGliQ2hlY2s6IHRydWVgIGZvciBkZXBlbmRlbmNpZXMgdGhhdCBkZWNsYXJlIHVudXNlZCBydW50aW1lIHR5cGVzLiBFeGlzdGluZyBub3RlcyBmcm9tIHRoZSB1bmF1dGhlbnRpY2F0ZWQgc3RhcnRlciBoYXZlIG5vIGFjY291bnQgb3duZXIgYW5kIGFyZSBub3Qgc2hvd24gdG8gc2lnbmVkLWluIHVzZXJzLgoKV3JpdGUgbmV3IHRlc3RzIGFzIHN0b3JpZXMuIFRoZSBraXQgaW4gW2BzcmMvdGVzdC1zdXBwb3J0L2FwcGxpY2F0aW9uLnRzYF0oc3JjL3Rlc3Qtc3VwcG9ydC9hcHBsaWNhdGlvbi50cykgb3ducyBhIGRpc3Bvc2FibGUgUG9zdGdyZVNRTCBkYXRhYmFzZSBhbmQgdGhlIHJlYWwgSFRUUCBhcHAgaG9zdC4gVHJhaXRzIHN1Y2ggYXMgYHNpZ25lZEluKClgLCBgbGVnYWN5Tm90ZSh0aXRsZSlgIGFuZCBgYmVoaW5kUHJveHkoKWAgZGVzY3JpYmUgc2V0dXA7IHZlcmJzIGRyaXZlIGF1dGhlbnRpY2F0ZWQgbm90ZXMgcmVxdWVzdHMsIHJlcnVuIG1pZ3JhdGlvbnMgdGhyb3VnaCBhbm90aGVyIGhvc3QgYW5kIHN0YXJ0IHRoZSB3b3JkLWNvdW50IHdvcmtlci4gRXh0ZW5kIHRoZSBraXQgd2l0aCBhIHRyYWl0IG9yIHZlcmIgd2hlbiBhIGZlYXR1cmUgbmVlZHMgYW5vdGhlciBzZXR1cCBvciBhY3Rpb24uCgpgYGB0cwppbXBvcnQgeyBleHBlY3QgfSBmcm9tICJ2aXRlc3QiOwppbXBvcnQgeyBhcHAsIHNpZ25lZEluIH0gZnJvbSAiI3Rlc3Qtc3VwcG9ydC9hcHBsaWNhdGlvbi50cyI7CgphcHAuaXQoInNhdmVzIGEgdGl0bGUgZm9yIHRoZSBzaWduZWQtaW4gYWNjb3VudCIsIFtzaWduZWRJbigpXSwgZnVuY3Rpb24qICh7IGFjdG9yIH0pIHsKIGNvbnN0IG5vdGVzID0gYWN0b3IoKS5ub3RlczsKIGNvbnN0IHNhdmVkID0geWllbGQqIG5vdGVzLmNyZWF0ZSh7IHRpdGxlOiAiRmlyc3Qgbm90ZSIgfSk7CiBleHBlY3QoeWllbGQqIG5vdGVzLmxpc3QoKSkudG9FcXVhbChbc2F2ZWRdKTsKfSk7CmBgYAoKVGhlIGtpdCB1c2VzIGBAc2hpdmFlZGV2L3Rlc3Qtc3RvcnlgIG9uIGBlZmZlY3QtdGVzdGAuIERhdGFiYXNlIHN0b3JpZXMgcnVuIHNlcmlhbGx5IHdpdGhpbiBlYWNoIHdvcmtlciwgdXNlIGEgbGl2ZSBjbG9jaywgY29tbWl0IEhUVFAgd3JpdGVzIGFuZCBkaXNwb3NlIHRoZWlyIGRhdGFiYXNlIGNsb25lcyBhZnRlciB0aGUgaG9zdCBhbmQgcG9vbHMgY2xvc2UuIEZhaWx1cmVzIHByaW50IHRoZSBzdG9yeSBhbmQgYWNjb3VudCBhbGlhc2VzIGFuZCBob3N0IGRldGFpbHMsIHdpdGhvdXQgc2Vzc2lvbiBjb29raWVzLiBUaGUgZGVwbG95IHN0b3J5IHVzZXMgYSBsb29wYmFjayBwcm94eSB3aXRoIEhUVFBTIGZvcndhcmRpbmcgaGVhZGVycyBhbmQgY2hlY2tzIHNlY3VyZSBzZXNzaW9uIGNvb2tpZXMgYW5kIGZvcmVpZ24tb3JpZ2luIHJlamVjdGlvbi4gSXQgZG9lcyBub3QgZXhlcmNpc2UgYSBicm93c2VyIG9yIFRMUyB0ZXJtaW5hdGlvbi4gW2BzcmMvdGVzdC1zdXBwb3J0L3NjcmVlbnMudHNgXShzcmMvdGVzdC1zdXBwb3J0L3NjcmVlbnMudHMpIHN1cHBsaWVzIHRoZSBzZXBhcmF0ZSBoYXBweS1kb20gc3Rvcnkga2l0OyB0aG9zZSBzdG9yaWVzIHVzZSB0aGUgaW4tbWVtb3J5IFJQQyBmaXh0dXJlIHRvIHByb3ZlIHNjcmVlbiBhbmQgZm9ybSBiZWhhdmlvci4gW2BzcmMvdGVzdC1zdXBwb3J0L21pZ3JhdGlvbi50c2BdKHNyYy90ZXN0LXN1cHBvcnQvbWlncmF0aW9uLnRzKSBpc29sYXRlcyB0aGUgbWlncmF0aW9uIHVwZ3JhZGUgc3Rvcnkgd2l0aG91dCBzdGFydGluZyBhIGhvc3QuCgpgcG5wbSB0ZXN0YCBsb2FkcyBgLmVudi5sb2NhbGAgYW5kIHJ1bnMgdGhlIFJlYWN0IHRlc3RzLCB0aGUgUG9zdGdyZVNRTC9IVFRQIHJvdW5kIHRyaXBzIGFuZCB0aGUgbm90ZXMgbWlncmF0aW9uIHVwZ3JhZGUgY2hlY2suIFRoZSB1cGdyYWRlIGNoZWNrIGFwcGxpZXMgYW4gb2xkZXIgbWlncmF0aW9uIHByZWZpeCwgdXBncmFkZXMgdG8gdGhlIGxhdGVzdCBtaWdyYXRpb25zLCBhbmQgY29tcGFyZXMgdGhlIGxpdmUgY29sdW1uIG5hbWVzIGFuZCBQb3N0Z3JlU1FMIHR5cGVzIHdpdGggdGhlIG5vdGVzIHJlcG9zaXRvcnkgbW9kZWwuIFNldCBgVEVTVF9EQVRBQkFTRV9VUkxgIHRvIGEgZGVkaWNhdGVkIFBvc3RncmVTUUwgZGF0YWJhc2Ugd2hvc2Ugcm9sZSBjYW4gY3JlYXRlIGRhdGFiYXNlczsgdGhlIHRlc3RzIGNyZWF0ZSBkaXNwb3NhYmxlIGNsb25lcy4gUmVwb3NpdG9yeSB0ZXN0IHJ1bnMgc3VwcGx5IGBQTEFURk9STV9FRkZFQ1RfU1FMX1RFU1RfREFUQUJBU0VfVVJMYCBpbnN0ZWFkLiBNaXNzaW5nIGRhdGFiYXNlIGNvbmZpZ3VyYXRpb24gZmFpbHMgdGhlIHRlc3QuCgpUbyB2ZXJpZnkgdGhlIGdlbmVyYXRlZCBhcHAsIHJ1biBgcG5wbSAtLWZpbHRlciBAc2hpdmFlZGV2L3N0YXJ0ZXIgY2hlY2s6cHVibGlzaGVkYCBmcm9tIHRoZSByZXBvc2l0b3J5IHJvb3QuIEl0IGluc3RhbGxzIHRoZSBleGFjdCB2ZXJzaW9ucyBpbiBgcHVibGlzaGVkLXZlcnNpb25zLmpzb25gIGludG8gdGVtcG9yYXJ5IGZvbGRlcnMgb3V0c2lkZSB0aGUgd29ya3NwYWNlLCBjaGVja3MgaW1wb3J0cyBmcm9tIHRoZSBmcmFtZXdvcmsgUkVBRE1FcyBhbmQgcXVpY2tzdGFydCwgcGFja3MgdGhlIGNyZWF0ZSBjb21tYW5kLCBnZW5lcmF0ZXMgYW4gYXBwLCBhbmQgcnVucyBpdHMgUXVhbGl0eSBsaW50LCB0eXBlY2hlY2ssIGJ1aWxkLCBQb3N0Z3JlU1FML2F1dGhlbnRpY2F0ZWQgSFRUUCB0ZXN0cyBhbmQgbm90ZXMgbWlncmF0aW9uIHVwZ3JhZGUgY2hlY2suIEl0IGV4ZXJjaXNlcyBwdWJsaXNoZWQgZGVjbGFyYXRpb24gYW5kIHJ1bnRpbWUgZXhwb3J0cyB3aXRob3V0IHRoZSB3b3Jrc3BhY2UncyBgc291cmNlYCBjb25kaXRpb24uIFVzZSB0aGUgbG9jYWwgdGVzdCBkYXRhYmFzZSBmcm9tIHNldHVwIG9yIHNldCBgVEVTVF9EQVRBQkFTRV9VUkxgOyB0aGUgY2hlY2sgZmFpbHMgaWYgUG9zdGdyZVNRTCBpcyB1bmF2YWlsYWJsZS4gVXBkYXRlIHRoZSB2ZXJzaW9uIGZpbGUgd2hlbiBhZG9wdGluZyBhbm90aGVyIHB1Ymxpc2hlZCBmcmFtZXdvcmsgcmVsZWFzZSwgdGhlbiBydW4gdGhlIGNoZWNrIGFnYWluLgoKQWRkIGAtLXJlZ2lzdHJ5YCB0byBnZW5lcmF0ZSB0aGUgYXBwIHdpdGggdGhlIHB1Ymxpc2hlZCBgcG5wbSBjcmVhdGUgQHNoaXZhZWRldi9hcHBgIGNvbW1hbmQgaW5zdGVhZCBvZiBwYWNraW5nIHRoZSBsb2NhbCBnZW5lcmF0b3IuIFRoZSBQdWJsaXNoZWQgc3RhcnRlciB3b3JrZmxvdyBydW5zIHRoaXMgbW9kZSBhZ2FpbnN0IGEgUG9zdGdyZVNRTCBzZXJ2aWNlIGRhaWx5IGF0IDA2OjE3IFVUQywgb24gbWFudWFsIGRpc3BhdGNoLCBhZnRlciBlYWNoIHN1Y2Nlc3NmdWwgcGFja2FnZSBwdWJsaXNoLCBhbmQgb24gcHVsbCByZXF1ZXN0cyB0aGF0IGNoYW5nZSB0aGUgY2hlY2suIEEgcHVsbCByZXF1ZXN0IHdob3NlIHBpbm5lZCB2ZXJzaW9ucyBhcmUgbm90IG9uIG5wbSB5ZXQgaXMgYSByZWxlYXNlLCBzbyB0aGUgd29ya2Zsb3cgc2tpcHMgcmVnaXN0cnkgbW9kZSB0aGVyZTsgdGhlIHBhY2tlZCBzdGFydGVyIGNoZWNrcyB0aG9zZSB2ZXJzaW9ucyBpbiBDSSwgYW5kIHRoZSBydW4gYWZ0ZXIgcHVibGlzaGluZyBjaGVja3MgdGhlbSBvbiBucG0uIFRoYXQgcnVuIGdlbmVyYXRlcyB0aGUgYXBwIHdpdGggdGhlIGNyZWF0ZS1hcHAgdmVyc2lvbiB0aGF0IGp1c3QgcHVibGlzaGVkOyB0aGUgb3RoZXIgcnVucyB1c2UgYGxhdGVzdGAsIHdoaWNoIHBucG0gcmVzb2x2ZXMgdG8gdGhlIG5ld2VzdCB2ZXJzaW9uIHBhc3QgaXRzIG9uZS1kYXkgcmVsZWFzZSBhZ2UsIHRoZSB2ZXJzaW9uIGEgbmV3IHVzZXIgZ2V0cy4gSXRzIG9wdGlvbmFsIGBjcmVhdGUtYXBwLXZlcnNpb25gIGlucHV0IHNlbGVjdHMgYSBwdWJsaXNoZWQgZ2VuZXJhdG9yIHZlcnNpb247IGFuIHVuYXZhaWxhYmxlIHZlcnNpb24gZmFpbHMgdGhlIHJ1bi4gUmVnaXN0cnkgbW9kZSBjYW5ub3QgdXNlIGAtLWFyY2hpdmVzYC4K","path":"README.md"},{"content":"ewoJImV4dGVuZHMiOiBbIkBzaGl2YWVkZXYvcXVhbGl0eS9iaW9tZSJdLAoJInJvb3QiOiB0cnVlCn0K","path":"biome.json"},{"content":"PCFkb2N0eXBlIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KCTxoZWFkPgoJCTxtZXRhIGNoYXJzZXQ9IlVURi04IiAvPgoJCTxtZXRhIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiIG5hbWU9InZpZXdwb3J0IiAvPgoJCTx0aXRsZT5Ob3RlczwvdGl0bGU+Cgk8L2hlYWQ+Cgk8Ym9keT4KCQk8ZGl2IGlkPSJyb290Ij48L2Rpdj4KCQk8c2NyaXB0IHNyYz0iL3NyYy9jbGllbnQvZW50cnkudHN4IiB0eXBlPSJtb2R1bGUiPjwvc2NyaXB0PgoJPC9ib2R5Pgo8L2h0bWw+Cg==","path":"index.html"},{"content":"ewoJIm5hbWUiOiAiQHNoaXZhZWRldi9zdGFydGVyIiwKCSJ2ZXJzaW9uIjogIjAuMC4wIiwKCSJwcml2YXRlIjogdHJ1ZSwKCSJ0eXBlIjogIm1vZHVsZSIsCgkiaW1wb3J0cyI6IHsKCQkiIyoiOiAiLi9zcmMvKiIKCX0sCgkic2NyaXB0cyI6IHsKCQkiYnVpbGQiOiAidml0ZSBidWlsZCIsCgkJImNpIjogInBucG0gbGludCAmJiBwbnBtIHR5cGVjaGVjayAmJiBwbnBtIGJ1aWxkICYmIHBucG0gdGVzdCIsCgkJImRiOnNldHVwIjogIm5vZGUgLS1lbnYtZmlsZS1pZi1leGlzdHM9LmVudi5sb2NhbCBzcmMvc2VydmVyL3NldHVwLWRhdGFiYXNlLnRzIiwKCQkiZGV2IjogInBucG0gZGI6c2V0dXAgJiYgbm9kZSAtLWVudi1maWxlLWlmLWV4aXN0cz0uZW52LmxvY2FsIHNyYy9zZXJ2ZXIvZGV2LnRzIiwKCQkiZm9ybWF0IjogInF1YWxpdHkgZml4IiwKCQkibGludCI6ICJxdWFsaXR5IGxpbnQiLAoJCSJtaWdyYXRlIjogIm5vZGUgLS1lbnYtZmlsZS1pZi1leGlzdHM9LmVudi5sb2NhbCBzcmMvc2VydmVyL21pZ3JhdGUudHMiLAoJCSJyZWFkeSI6ICJwbnBtIHJ1biBjaSIsCgkJInNldHVwIjogInBucG0gaW5zdGFsbCAmJiBub2RlIHNyYy9zZXR1cC50cyIsCgkJInN0YXJ0IjogIm5vZGUgLS1lbnYtZmlsZS1pZi1leGlzdHM9LmVudi5sb2NhbCBzcmMvc2VydmVyL3NlcnZlci50cyIsCgkJInRlc3QiOiAibm9kZSAtLWVudi1maWxlLWlmLWV4aXN0cz0uZW52LmxvY2FsIG5vZGVfbW9kdWxlcy92aXRlc3Qvdml0ZXN0Lm1qcyBydW4iLAoJCSJ0eXBlY2hlY2siOiAidHNjNiAtLW5vRW1pdCIsCgkJIndvcmtlciI6ICJub2RlIC0tZW52LWZpbGUtaWYtZXhpc3RzPS5lbnYubG9jYWwgc3JjL3NlcnZlci93b3JrZXIudHMiCgl9LAoJImRlcGVuZGVuY2llcyI6IHsKCQkiQGVmZmVjdC9hdG9tLXJlYWN0IjogImNhdGFsb2c6IiwKCQkiQGVmZmVjdC9wbGF0Zm9ybS1ub2RlIjogImNhdGFsb2c6IiwKCQkiQGVmZmVjdC9zcWwtcGciOiAiY2F0YWxvZzoiLAoJCSJAc2hpdmFlZGV2L2VmZmVjdC1jb250cmFjdCI6ICIwLjUuMCIsCgkJIkBzaGl2YWVkZXYvZWZmZWN0LWZvcm0iOiAiMC40LjAiLAoJCSJAc2hpdmFlZGV2L2VmZmVjdC1wZy1ib3NzIjogIjAuNS4wIiwKCQkiQHNoaXZhZWRldi9lZmZlY3QtcmVhY3QiOiAiMC40LjAiLAoJCSJAc2hpdmFlZGV2L2VmZmVjdC1zZXJ2aWNlIjogIjAuMy4wIiwKCQkiQHNoaXZhZWRldi9lZmZlY3Qtc3FsIjogIjAuMy4wIiwKCQkiQHNoaXZhZWRldi9sb2NhbC1wb3N0Z3JlcyI6ICIwLjIuMCIsCgkJIkBzaGl2YWVkZXYvcGxhdGZvcm0iOiAiMC4xMi4wIiwKCQkiQHRhbnN0YWNrL3JlYWN0LXJvdXRlciI6ICJjYXRhbG9nOiIsCgkJImJldHRlci1hdXRoIjogImNhdGFsb2c6IiwKCQkiY2xhc3MtdmFyaWFuY2UtYXV0aG9yaXR5IjogImNhdGFsb2c6IiwKCQkiY2xzeCI6ICJjYXRhbG9nOiIsCgkJImVmZmVjdCI6ICJjYXRhbG9nOiIsCgkJInBnIjogImNhdGFsb2c6IiwKCQkicmVhY3QiOiAiY2F0YWxvZzoiLAoJCSJyZWFjdC1kb20iOiAiY2F0YWxvZzoiLAoJCSJ0YWlsd2luZC1tZXJnZSI6ICJjYXRhbG9nOiIKCX0sCgkiZGV2RGVwZW5kZW5jaWVzIjogewoJCSJAZWZmZWN0L3ZpdGVzdCI6ICJjYXRhbG9nOiIsCgkJIkBzaGl2YWVkZXYvZWZmZWN0LXRlc3QiOiAiMC40LjAiLAoJCSJAc2hpdmFlZGV2L2VmZmVjdC10ZXN0LXNxbCI6ICIwLjMuMCIsCgkJIkBzaGl2YWVkZXYvcXVhbGl0eSI6ICIwLjIxLjEiLAoJCSJAc2hpdmFlZGV2L3Rlc3Qtc3RvcnkiOiAiMC4zLjAiLAoJCSJAdGFpbHdpbmRjc3Mvdml0ZSI6ICJjYXRhbG9nOiIsCgkJIkB0eXBlcy9ub2RlIjogImNhdGFsb2c6IiwKCQkiQHR5cGVzL3BnIjogImNhdGFsb2c6IiwKCQkiQHR5cGVzL3JlYWN0IjogImNhdGFsb2c6IiwKCQkiQHR5cGVzL3JlYWN0LWRvbSI6ICJjYXRhbG9nOiIsCgkJIkB2aXRlanMvcGx1Z2luLXJlYWN0IjogImNhdGFsb2c6IiwKCQkiaGFwcHktZG9tIjogImNhdGFsb2c6IiwKCQkicmFpbHdheSI6ICJjYXRhbG9nOiIsCgkJInRhaWx3aW5kY3NzIjogImNhdGFsb2c6IiwKCQkidHlwZXNjcmlwdCI6ICJjYXRhbG9nOiIsCgkJInZpdGUiOiAiY2F0YWxvZzoiLAoJCSJ2aXRlc3QiOiAiY2F0YWxvZzoiCgl9LAoJInBhY2thZ2VNYW5hZ2VyIjogInBucG1AMTIuOC4xIiwKCSJlbmdpbmVzIjogewoJCSJub2RlIjogIj49MjQiCgl9Cn0K","path":"package.json"},{"content":"cGFja2FnZXM6IFtdCgojIEZyYW1ld29yayByZWxlYXNlcyBtdXN0IGJlIHVzYWJsZSB0b2dldGhlciBhcyBzb29uIGFzIHRoZXkgcHVibGlzaC4KbWluaW11bVJlbGVhc2VBZ2VFeGNsdWRlOiBbIkBzaGl2YWVkZXYvKiJdCgpvdmVycmlkZXM6CiAgIkBlZmZlY3QvcGxhdGZvcm0tbm9kZS1zaGFyZWQiOiAiY2F0YWxvZzoiCgphbGxvd0J1aWxkczoKICBlc2J1aWxkOiB0cnVlCiAgbXNncGFja3ItZXh0cmFjdDogdHJ1ZQoKY2F0YWxvZzoKICByYWlsd2F5OiAzLjEzLjEKICAiQGVmZmVjdC9hdG9tLXJlYWN0IjogNC4wLjQKICAiQGVmZmVjdC9wbGF0Zm9ybS1ub2RlIjogNC4wLjQKICAiQGVmZmVjdC9wbGF0Zm9ybS1ub2RlLXNoYXJlZCI6IDQuMC40CiAgIkBlZmZlY3Qvc3FsLXBnIjogNC4wLjQKICAiQGVmZmVjdC92aXRlc3QiOiA0LjAuNAogICJAdGFpbHdpbmRjc3Mvdml0ZSI6IDQuMy4zCiAgIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXIiOiAxLjE3MC40MQogICJAdHlwZXMvbm9kZSI6IDI0LjE5LjEKICAiQHR5cGVzL3BnIjogOC4yMC4wCiAgIkB0eXBlcy9yZWFjdCI6IDE5LjIuMTgKICAiQHR5cGVzL3JlYWN0LWRvbSI6IDE5LjIuNAogICJAdml0ZWpzL3BsdWdpbi1yZWFjdCI6IDYuMC41CiAgY2xhc3MtdmFyaWFuY2UtYXV0aG9yaXR5OiAwLjcuMQogIGJldHRlci1hdXRoOiAxLjcuNwogIGNsc3g6IDIuMS4xCiAgZWZmZWN0OiA0LjAuNAogIGhhcHB5LWRvbTogMjAuMTQuNgogIHBnOiA4LjIzLjAKICByZWFjdDogMTkuMi44CiAgcmVhY3QtZG9tOiAxOS4yLjgKICB0YWlsd2luZC1tZXJnZTogMy43LjAKICB0YWlsd2luZGNzczogNC4zLjMKICB0eXBlc2NyaXB0OiBucG06QHR5cGVzY3JpcHQvdHlwZXNjcmlwdDZANi4wLjIKICB2aXRlOiA4LjIuMAogIHZpdGVzdDogNS4wLjMK","path":"pnpm-workspace.yaml"},{"content":"ewoJIkBzaGl2YWVkZXYvZWZmZWN0LWNoYW5nZXMiOiAiMC4zLjAiLAoJIkBzaGl2YWVkZXYvZWZmZWN0LWNoYW5nZXMtcHJpc21hIjogIjAuNS4wIiwKCSJAc2hpdmFlZGV2L2VmZmVjdC1jb250cmFjdCI6ICIwLjUuMCIsCgkiQHNoaXZhZWRldi9lZmZlY3QtZm9ybSI6ICIwLjQuMCIsCgkiQHNoaXZhZWRldi9lZmZlY3QtcGctYm9zcyI6ICIwLjUuMCIsCgkiQHNoaXZhZWRldi9lZmZlY3QtcHJpc21hIjogIjAuOS4wIiwKCSJAc2hpdmFlZGV2L2VmZmVjdC1yZWFjdCI6ICIwLjQuMCIsCgkiQHNoaXZhZWRldi9lZmZlY3Qtc2VydmljZSI6ICIwLjMuMCIsCgkiQHNoaXZhZWRldi9lZmZlY3Qtc3FsIjogIjAuMy4wIiwKCSJAc2hpdmFlZGV2L2VmZmVjdC10ZXN0IjogIjAuNC4wIiwKCSJAc2hpdmFlZGV2L2VmZmVjdC10ZXN0LXNxbCI6ICIwLjMuMCIsCgkiQHNoaXZhZWRldi9lZmZlY3QtdHJwYyI6ICIwLjcuMCIsCgkiQHNoaXZhZWRldi9sb2NhbC1wb3N0Z3JlcyI6ICIwLjIuMCIsCgkiQHNoaXZhZWRldi9wbGF0Zm9ybSI6ICIwLjEyLjAiLAoJIkBzaGl2YWVkZXYvcXVhbGl0eSI6ICIwLjIxLjEiLAoJIkBzaGl2YWVkZXYvdGVzdC1zdG9yeSI6ICIwLjMuMCIsCgkiQHNoaXZhZWRldi90eXBlcyI6ICIwLjIuMCIKfQo=","path":"published-versions.json"},{"content":"aW1wb3J0IHsgY3JlYXRlTWVtb3J5SGlzdG9yeSB9IGZyb20gIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXIiOwppbXBvcnQgeyBhY3QgfSBmcm9tICJyZWFjdCI7CmltcG9ydCB7IGV4cGVjdCwgb25UZXN0RmluaXNoZWQgfSBmcm9tICJ2aXRlc3QiOwppbXBvcnQgeyBldmVudHVhbGx5LCBleHBlY3ROb1JlYWN0V2FybmluZ3MsIHJlbmRlciB9IGZyb20gIkBzaGl2YWVkZXYvZWZmZWN0LXJlYWN0L3Rlc3RpbmcudHMiOwppbXBvcnQgeyBhcHBBdXRoIH0gZnJvbSAiI3Rlc3Qtc3VwcG9ydC9hcHBBdXRoLnRzIjsKaW1wb3J0IHsgbm90ZXNDbGllbnQgfSBmcm9tICIjdGVzdC1zdXBwb3J0L25vdGVzQ2xpZW50LnRzIjsKaW1wb3J0IHsgc2NyZWVucyB9IGZyb20gIiN0ZXN0LXN1cHBvcnQvc2NyZWVucy50cyI7CmltcG9ydCB7IEFwcCB9IGZyb20gIi4vQXBwLnRzeCI7CgpPYmplY3QuYXNzaWduKGdsb2JhbFRoaXMsIHsgIklTX1JFQUNUX0FDVF9FTlZJUk9OTUVOVCI6IHRydWUgfSk7CmV4cGVjdE5vUmVhY3RXYXJuaW5ncygpOwoKc2NyZWVucy5pdCgiY2hlY2tzIGFuZCByZXRyaWVzIHRoZSBzZXNzaW9uIHRocm91Z2ggaXRzIGluamVjdGVkIGF1dGggY2xpZW50IiwgW10sIGZ1bmN0aW9uKiAoeyBpbnRlcmFjdCB9KSB7Cgl5aWVsZCogaW50ZXJhY3QoYXN5bmMgKCkgPT4gewoJCWNvbnN0IGZpeHR1cmUgPSBhcHBBdXRoKHsgYmFzZVVybDogImh0dHA6Ly9zZXNzaW9uLnN0b3J5LnRlc3QiLCBzZXNzaW9uRmFpbHVyZTogdHJ1ZSB9KTsKCQljb25zdCBjbGllbnQgPSBub3Rlc0NsaWVudCgpOwoJCWNvbnN0IGhpc3RvcnkgPSBjcmVhdGVNZW1vcnlIaXN0b3J5KHsgaW5pdGlhbEVudHJpZXM6IFsiL3NpZ24taW4iXSB9KTsKCQljb25zdCB2aWV3ID0gYXdhaXQgcmVuZGVyKDxBcHAgYXV0aD17Zml4dHVyZS5hdXRofSBjb25uZWN0PXsoKSA9PiBjbGllbnR9IGhpc3Rvcnk9e2hpc3Rvcnl9IC8+KTsKCQlvblRlc3RGaW5pc2hlZCh2aWV3LnVubW91bnQpOwoJCWF3YWl0IGV2ZW50dWFsbHkoKCkgPT4gZXhwZWN0KHZpZXcuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoIltyb2xlPWFsZXJ0XSIpPy50ZXh0Q29udGVudCkudG9CZSgiQ291bGQgbm90IGNoZWNrIHlvdXIgc2Vzc2lvbi4iKSk7CgkJZml4dHVyZS5yZWNvdmVyKCk7CgkJYXdhaXQgYWN0KGFzeW5jICgpID0+IHsKCQkJdmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcjxIVE1MQnV0dG9uRWxlbWVudD4oImJ1dHRvbiIpPy5jbGljaygpOwoJCQlhd2FpdCBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCAxMCkpOwoJCX0pOwoJCWF3YWl0IGV2ZW50dWFsbHkoKCkgPT4gZXhwZWN0KHZpZXcuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoImgxIik/LnRleHRDb250ZW50KS50b0JlKCJTaWduIGluIikpOwoJCWV4cGVjdChmaXh0dXJlLnJlcXVlc3RzLm1hcCgodXJsKSA9PiB1cmwuaHJlZikpLnRvRXF1YWwoWwoJCQkiaHR0cDovL3Nlc3Npb24uc3RvcnkudGVzdC9hcGkvYXV0aC9nZXQtc2Vzc2lvbiIsCgkJCSJodHRwOi8vc2Vzc2lvbi5zdG9yeS50ZXN0L2FwaS9hdXRoL2dldC1zZXNzaW9uIiwKCQldKTsKCX0pOwp9KTsKCnNjcmVlbnMuaXQoInJvdXRlcyBzaWduLW91dCB0aHJvdWdoIHRoZSBzYW1lIGluamVjdGVkIGF1dGggY2xpZW50IGFzIGl0cyBzZXNzaW9uIGNoZWNrIiwgW10sIGZ1bmN0aW9uKiAoeyBpbnRlcmFjdCB9KSB7Cgl5aWVsZCogaW50ZXJhY3QoYXN5bmMgKCkgPT4gewoJCWNvbnN0IGZpeHR1cmUgPSBhcHBBdXRoKHsgYmFzZVVybDogImh0dHA6Ly9hY3Rpb25zLnN0b3J5LnRlc3QiLCBzaWduZWRJbjogdHJ1ZSwgc2lnbk91dEZhaWx1cmU6ICJQcm92aWRlciByZWZ1c2VkIHNpZ24tb3V0IiB9KTsKCQljb25zdCBjbGllbnQgPSBub3Rlc0NsaWVudCgpOwoJCWNvbnN0IGhpc3RvcnkgPSBjcmVhdGVNZW1vcnlIaXN0b3J5KHsgaW5pdGlhbEVudHJpZXM6IFsiLyJdIH0pOwoJCWNvbnN0IHZpZXcgPSBhd2FpdCByZW5kZXIoPEFwcCBhdXRoPXtmaXh0dXJlLmF1dGh9IGNvbm5lY3Q9eygpID0+IGNsaWVudH0gaGlzdG9yeT17aGlzdG9yeX0gLz4pOwoJCW9uVGVzdEZpbmlzaGVkKHZpZXcudW5tb3VudCk7CgkJYXdhaXQgZXZlbnR1YWxseSgoKSA9PiBleHBlY3Qodmlldy5jb250YWluZXIudGV4dENvbnRlbnQpLnRvQ29udGFpbigiTm8gbm90ZXMgeWV0IikpOwoJCWF3YWl0IGFjdCgoKSA9PiBbLi4udmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgiYnV0dG9uIildLmZpbmQoKGJ1dHRvbikgPT4gYnV0dG9uLnRleHRDb250ZW50ID09PSAiU2lnbiBvdXQiKT8uY2xpY2soKSk7CgkJYXdhaXQgZXZlbnR1YWxseSgoKSA9PiBleHBlY3Qodmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigiW3JvbGU9YWxlcnRdIik/LnRleHRDb250ZW50KS50b0JlKCJQcm92aWRlciByZWZ1c2VkIHNpZ24tb3V0IikpOwoJCWV4cGVjdChmaXh0dXJlLnJlcXVlc3RzLnNvbWUoKHVybCkgPT4gdXJsLnBhdGhuYW1lID09PSAiL2FwaS9hdXRoL3NpZ24tb3V0IikpLnRvQmUodHJ1ZSk7CgkJZXhwZWN0KGZpeHR1cmUucmVxdWVzdHMuZXZlcnkoKHVybCkgPT4gdXJsLm9yaWdpbiA9PT0gImh0dHA6Ly9hY3Rpb25zLnN0b3J5LnRlc3QiKSkudG9CZSh0cnVlKTsKCX0pOwp9KTsK","path":"src/client/App.dom.test.tsx"},{"content":"aW1wb3J0IHR5cGUgeyBBdXRoIH0gZnJvbSAiLi9hdXRoLnRzIjsKaW1wb3J0IHsgU2Vzc2lvbkFwcCB9IGZyb20gIi4vU2Vzc2lvbkFwcC50c3giOwoKdHlwZSBTZXNzaW9uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBTZXNzaW9uQXBwPlswXTsKCmV4cG9ydCBmdW5jdGlvbiBBcHAoeyBhdXRoLCBjb25uZWN0LCBoaXN0b3J5IH06IHsgcmVhZG9ubHkgYXV0aDogQXV0aCB9ICYgUGljazxTZXNzaW9uUHJvcHMsICJjb25uZWN0IiB8ICJoaXN0b3J5Ij4pIHsKCWNvbnN0IHNlc3Npb24gPSBhdXRoLmNsaWVudC51c2VTZXNzaW9uKCk7CglpZiAoc2Vzc2lvbi5pc1BlbmRpbmcpIHsKCQlyZXR1cm4gKAoJCQk8cCBjbGFzc05hbWU9InAtOCIgcm9sZT0ic3RhdHVzIj4KCQkJCUNoZWNraW5nIHlvdXIgc2Vzc2lvbuKApgoJCQk8L3A+CgkJKTsKCX0KCWlmIChzZXNzaW9uLmVycm9yICE9PSBudWxsKSB7CgkJcmV0dXJuICgKCQkJPG1haW4gY2xhc3NOYW1lPSJzcGFjZS15LTQgcC04Ij4KCQkJCTxwIHJvbGU9ImFsZXJ0Ij5Db3VsZCBub3QgY2hlY2sgeW91ciBzZXNzaW9uLjwvcD4KCQkJCTxidXR0b24gb25DbGljaz17KCkgPT4gdm9pZCBzZXNzaW9uLnJlZmV0Y2goKX0gdHlwZT0iYnV0dG9uIj4KCQkJCQlSZXRyeQoJCQkJPC9idXR0b24+CgkJCTwvbWFpbj4KCQkpOwoJfQoJcmV0dXJuICgKCQk8U2Vzc2lvbkFwcAoJCQlhdXRoPXthdXRoLmFjdGlvbnN9CgkJCWNvbm5lY3Q9e2Nvbm5lY3R9CgkJCWhpc3Rvcnk9e2hpc3Rvcnl9CgkJCXJlY2hlY2s9eygpID0+IHZvaWQgc2Vzc2lvbi5yZWZldGNoKCl9CgkJCXNlc3Npb25JZD17c2Vzc2lvbi5kYXRhPy5zZXNzaW9uLmlkID8/ICJhbm9ueW1vdXMifQoJCS8+CgkpOwp9Cg==","path":"src/client/App.tsx"},{"content":"aW1wb3J0IHsgY3ZhLCB0eXBlIFZhcmlhbnRQcm9wcyB9IGZyb20gImNsYXNzLXZhcmlhbmNlLWF1dGhvcml0eSI7CmltcG9ydCB0eXBlIHsgQ29tcG9uZW50UHJvcHMgfSBmcm9tICJyZWFjdCI7CmltcG9ydCB7IGNuIH0gZnJvbSAiLi9jbi50cyI7Cgpjb25zdCBidXR0b25WYXJpYW50cyA9IGN2YSgKCSJpbmxpbmUtZmxleCBoLTEwIHNocmluay0wIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB3aGl0ZXNwYWNlLW5vd3JhcCByb3VuZGVkLW1kIHB4LTQgZm9udC1tZWRpdW0gdGV4dC1zbSB0cmFuc2l0aW9uLWNvbG9ycyBmb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctcmluZyBkaXNhYmxlZDpwb2ludGVyLWV2ZW50cy1ub25lIGRpc2FibGVkOm9wYWNpdHktNTAiLAoJewoJCWRlZmF1bHRWYXJpYW50czogeyB2YXJpYW50OiAiZGVmYXVsdCIgfSwKCQl2YXJpYW50czogewoJCQl2YXJpYW50OiB7IGRlZmF1bHQ6ICJiZy1wcmltYXJ5IHRleHQtcHJpbWFyeS1mb3JlZ3JvdW5kIGhvdmVyOmJnLXByaW1hcnkvOTAiLCBvdXRsaW5lOiAiYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIGhvdmVyOmJnLW11dGVkIiB9LAoJCX0sCgl9LAopOwoKZXhwb3J0IGZ1bmN0aW9uIEJ1dHRvbih7IGNsYXNzTmFtZSwgdmFyaWFudCwgdHlwZSA9ICJidXR0b24iLCAuLi5wcm9wcyB9OiBDb21wb25lbnRQcm9wczwiYnV0dG9uIj4gJiBWYXJpYW50UHJvcHM8dHlwZW9mIGJ1dHRvblZhcmlhbnRzPikgewoJcmV0dXJuIDxidXR0b24gY2xhc3NOYW1lPXtjbihidXR0b25WYXJpYW50cyh7IHZhcmlhbnQgfSksIGNsYXNzTmFtZSl9IHR5cGU9e3R5cGV9IHsuLi5wcm9wc30gLz47Cn0K","path":"src/client/Button.tsx"},{"content":"aW1wb3J0IHR5cGUgeyBDb21wb25lbnRQcm9wcyB9IGZyb20gInJlYWN0IjsKaW1wb3J0IHsgY24gfSBmcm9tICIuL2NuLnRzIjsKCmV4cG9ydCBmdW5jdGlvbiBJbnB1dCh7IGNsYXNzTmFtZSwgLi4ucHJvcHMgfTogQ29tcG9uZW50UHJvcHM8ImlucHV0Ij4pIHsKCXJldHVybiAoCgkJPGlucHV0CgkJCWNsYXNzTmFtZT17Y24oCgkJCQkiaC0xMCB3LWZ1bGwgbWluLXctMCByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItaW5wdXQgYmctYmFja2dyb3VuZCBweC0zIHRleHQtc20gZm9jdXMtdmlzaWJsZTpvdXRsaW5lLW5vbmUgZm9jdXMtdmlzaWJsZTpyaW5nLTIgZm9jdXMtdmlzaWJsZTpyaW5nLXJpbmcgZGlzYWJsZWQ6b3BhY2l0eS01MCIsCgkJCQljbGFzc05hbWUsCgkJCSl9CgkJCXsuLi5wcm9wc30KCQkvPgoJKTsKfQo=","path":"src/client/Input.tsx"},{"content":"aW1wb3J0IHsgYWN0IH0gZnJvbSAicmVhY3QiOwppbXBvcnQgeyBleHBlY3QsIG9uVGVzdEZpbmlzaGVkIH0gZnJvbSAidml0ZXN0IjsKaW1wb3J0IHsgZXZlbnR1YWxseSwgZXhwZWN0Tm9SZWFjdFdhcm5pbmdzLCByZW5kZXIgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1yZWFjdC90ZXN0aW5nLnRzIjsKaW1wb3J0IHsgc2NyZWVucyB9IGZyb20gIiN0ZXN0LXN1cHBvcnQvc2NyZWVucy50cyI7CmltcG9ydCB0eXBlIHsgQXV0aEFjdGlvbnMsIENyZWRlbnRpYWxzIH0gZnJvbSAiLi9hdXRoLnRzIjsKaW1wb3J0IHsgTG9naW5TY3JlZW4gfSBmcm9tICIuL0xvZ2luU2NyZWVuLnRzeCI7CgpPYmplY3QuYXNzaWduKGdsb2JhbFRoaXMsIHsgIklTX1JFQUNUX0FDVF9FTlZJUk9OTUVOVCI6IHRydWUgfSk7CmV4cGVjdE5vUmVhY3RXYXJuaW5ncygpOwoKc2NyZWVucy5pdCgKCSJzdWJtaXRzIHNpZ251cCBhbmQgc2lnbi1pbiwgcmV0YWlucyByZWplY3RlZCBpbnB1dCwgYW5kIHNob3dzIHByb3ZpZGVyIGFuZCBuZXR3b3JrIGZhaWx1cmVzIiwKCVtdLAoJZnVuY3Rpb24qICh7IGludGVyYWN0LCBlbnRlciwgc3VibWl0IH0pIHsKCQl5aWVsZCogaW50ZXJhY3QoYXN5bmMgKCkgPT4gewoJCQljb25zdCBjYWxsczogeyBtb2RlOiBzdHJpbmc7IGNyZWRlbnRpYWxzOiBDcmVkZW50aWFscyB9W10gPSBbXTsKCQkJbGV0IG91dGNvbWU6IHN0cmluZyB8IHVuZGVmaW5lZCA9ICJFbWFpbCBpcyBhbHJlYWR5IHJlZ2lzdGVyZWQiOwoJCQlsZXQgdW5hdmFpbGFibGUgPSBmYWxzZTsKCQkJbGV0IGF1dGhlbnRpY2F0ZWQgPSAwOwoJCQljb25zdCBhdXRoOiBBdXRoQWN0aW9ucyA9IHsKCQkJCXNpZ25PdXQ6ICgpID0+IFByb21pc2UucmVzb2x2ZSh1bmRlZmluZWQpLAoJCQkJc3VibWl0OiAobW9kZSwgY3JlZGVudGlhbHMpID0+IHsKCQkJCQljYWxscy5wdXNoKHsgY3JlZGVudGlhbHMsIG1vZGUgfSk7CgkJCQkJaWYgKHVuYXZhaWxhYmxlKSB7CgkJCQkJCXJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoIm9mZmxpbmUiKSk7CgkJCQkJfQoJCQkJCXJldHVybiBQcm9taXNlLnJlc29sdmUob3V0Y29tZSk7CgkJCQl9LAoJCQl9OwoJCQljb25zdCB2aWV3ID0gYXdhaXQgcmVuZGVyKAoJCQkJPExvZ2luU2NyZWVuCgkJCQkJYXV0aD17YXV0aH0KCQkJCQlvbkF1dGhlbnRpY2F0ZWQ9eygpID0+IHsKCQkJCQkJYXV0aGVudGljYXRlZCArPSAxOwoJCQkJCX19CgkJCQkvPiwKCQkJKTsKCQkJb25UZXN0RmluaXNoZWQodmlldy51bm1vdW50KTsKCgkJCWF3YWl0IGFjdCgoKSA9PiBbLi4udmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgiYnV0dG9uIildLmZpbmQoKGJ1dHRvbikgPT4gYnV0dG9uLnRleHRDb250ZW50ID09PSAiQ3JlYXRlIGFuIGFjY291bnQiKT8uY2xpY2soKSk7CgkJCWF3YWl0IGVudGVyKHZpZXcuY29udGFpbmVyLCAiQWxpY2UiLCAiTmFtZSIpOwoJCQlhd2FpdCBlbnRlcih2aWV3LmNvbnRhaW5lciwgImFsaWNlQHN0YXJ0ZXIudGVzdCIsICJFbWFpbCIpOwoJCQlhd2FpdCBlbnRlcih2aWV3LmNvbnRhaW5lciwgImNvcnJlY3QtaG9yc2UiLCAiUGFzc3dvcmQiKTsKCQkJYXdhaXQgc3VibWl0KHZpZXcuY29udGFpbmVyKTsKCQkJZXhwZWN0KGNhbGxzKS50b0VxdWFsKFt7IGNyZWRlbnRpYWxzOiB7IGVtYWlsOiAiYWxpY2VAc3RhcnRlci50ZXN0IiwgbmFtZTogIkFsaWNlIiwgcGFzc3dvcmQ6ICJjb3JyZWN0LWhvcnNlIiB9LCBtb2RlOiAic2lnbi11cCIgfV0pOwoJCQlleHBlY3Qodmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigiW3JvbGU9YWxlcnRdIik/LnRleHRDb250ZW50KS50b0JlKG91dGNvbWUpOwoJCQlleHBlY3Qodmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcjxIVE1MSW5wdXRFbGVtZW50PigiaW5wdXRbdHlwZT1lbWFpbF0iKT8udmFsdWUpLnRvQmUoImFsaWNlQHN0YXJ0ZXIudGVzdCIpOwoJCQlleHBlY3QoYXV0aGVudGljYXRlZCkudG9CZSgwKTsKCQkJb3V0Y29tZSA9IHVuZGVmaW5lZDsKCQkJYXdhaXQgc3VibWl0KHZpZXcuY29udGFpbmVyKTsKCQkJYXdhaXQgZXZlbnR1YWxseSgoKSA9PiBleHBlY3QoYXV0aGVudGljYXRlZCkudG9CZSgxKSk7CgkJCWF3YWl0IGFjdCgoKSA9PiBbLi4udmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgiYnV0dG9uIildLmZpbmQoKGJ1dHRvbikgPT4gYnV0dG9uLnRleHRDb250ZW50ID09PSAiVXNlIGFuIGV4aXN0aW5nIGFjY291bnQiKT8uY2xpY2soKSk7CgkJCXVuYXZhaWxhYmxlID0gdHJ1ZTsKCQkJYXdhaXQgc3VibWl0KHZpZXcuY29udGFpbmVyKTsKCQkJZXhwZWN0KGNhbGxzLmF0KC0xKT8ubW9kZSkudG9CZSgic2lnbi1pbiIpOwoJCQlleHBlY3Qodmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigiW3JvbGU9YWxlcnRdIik/LnRleHRDb250ZW50KS50b0JlKCJDb3VsZCBub3QgcmVhY2ggYXV0aGVudGljYXRpb24uIFRyeSBhZ2Fpbi4iKTsKCQkJdW5hdmFpbGFibGUgPSBmYWxzZTsKCQkJYXdhaXQgc3VibWl0KHZpZXcuY29udGFpbmVyKTsKCQkJZXhwZWN0KGF1dGhlbnRpY2F0ZWQpLnRvQmUoMik7CgkJfSk7Cgl9LAopOwo=","path":"src/client/LoginScreen.dom.test.tsx"},{"content":"aW1wb3J0IHsgdXNlSWQsIHVzZVN0YXRlIH0gZnJvbSAicmVhY3QiOwppbXBvcnQgdHlwZSB7IEF1dGhBY3Rpb25zIH0gZnJvbSAiLi9hdXRoLnRzIjsKaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAiLi9CdXR0b24udHN4IjsKaW1wb3J0IHsgSW5wdXQgfSBmcm9tICIuL0lucHV0LnRzeCI7CgpleHBvcnQgZnVuY3Rpb24gTG9naW5TY3JlZW4oeyBhdXRoLCBvbkF1dGhlbnRpY2F0ZWQgfTogeyByZWFkb25seSBhdXRoOiBBdXRoQWN0aW9uczsgcmVhZG9ubHkgb25BdXRoZW50aWNhdGVkOiAoKSA9PiB2b2lkIH0pIHsKCWNvbnN0IGlkID0gdXNlSWQoKTsKCWNvbnN0IFttb2RlLCBzZXRNb2RlXSA9IHVzZVN0YXRlPCJzaWduLWluIiB8ICJzaWduLXVwIj4oInNpZ24taW4iKTsKCWNvbnN0IFtjcmVkZW50aWFscywgc2V0Q3JlZGVudGlhbHNdID0gdXNlU3RhdGUoeyBlbWFpbDogIiIsIG5hbWU6ICIiLCBwYXNzd29yZDogIiIgfSk7Cgljb25zdCBbcGVuZGluZywgc2V0UGVuZGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7Cgljb25zdCBbZmFpbHVyZSwgc2V0RmFpbHVyZV0gPSB1c2VTdGF0ZTxzdHJpbmc+KCk7Cgljb25zdCBzdWJtaXRMYWJlbCA9IG1vZGUgPT09ICJzaWduLWluIiA/ICJTaWduIGluIiA6ICJDcmVhdGUgYWNjb3VudCI7Cgljb25zdCBidXR0b25MYWJlbCA9IHBlbmRpbmcgPyAiUGxlYXNlIHdhaXTigKYiIDogc3VibWl0TGFiZWw7Cglhc3luYyBmdW5jdGlvbiBzdWJtaXQoKSB7CgkJc2V0UGVuZGluZyh0cnVlKTsKCQlzZXRGYWlsdXJlKHVuZGVmaW5lZCk7CgkJdHJ5IHsKCQkJY29uc3QgZXJyb3IgPSBhd2FpdCBhdXRoLnN1Ym1pdChtb2RlLCBjcmVkZW50aWFscyk7CgkJCWlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CgkJCQlvbkF1dGhlbnRpY2F0ZWQoKTsKCQkJfSBlbHNlIHsKCQkJCXNldEZhaWx1cmUoZXJyb3IpOwoJCQl9CgkJfSBjYXRjaCB7CgkJCXNldEZhaWx1cmUoIkNvdWxkIG5vdCByZWFjaCBhdXRoZW50aWNhdGlvbi4gVHJ5IGFnYWluLiIpOwoJCX0gZmluYWxseSB7CgkJCXNldFBlbmRpbmcoZmFsc2UpOwoJCX0KCX0KCXJldHVybiAoCgkJPG1haW4gY2xhc3NOYW1lPSJteC1hdXRvIHctZnVsbCBtYXgtdy1tZCBzcGFjZS15LTYgcHgtNCBweS0xMiI+CgkJCTxoMSBjbGFzc05hbWU9ImZvbnQtc2VtaWJvbGQgdGV4dC0zeGwiPnttb2RlID09PSAic2lnbi1pbiIgPyAiU2lnbiBpbiIgOiAiQ3JlYXRlIGFuIGFjY291bnQifTwvaDE+CgkJCTxwIGNsYXNzTmFtZT0idGV4dC1tdXRlZC1mb3JlZ3JvdW5kIj5TaWduIGluIHRvIHZpZXcgYW5kIGFkZCB5b3VyIG5vdGVzLjwvcD4KCQkJPGZvcm0KCQkJCWNsYXNzTmFtZT0ic3BhY2UteS00IgoJCQkJb25TdWJtaXQ9eyhldmVudCkgPT4gewoJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7CgkJCQkJdm9pZCBzdWJtaXQoKTsKCQkJCX19CgkJCT4KCQkJCXttb2RlID09PSAic2lnbi11cCIgJiYgKAoJCQkJCTxkaXYgY2xhc3NOYW1lPSJzcGFjZS15LTIiPgoJCQkJCQk8bGFiZWwgaHRtbEZvcj17YCR7aWR9LW5hbWVgfT5OYW1lPC9sYWJlbD4KCQkJCQkJPElucHV0CgkJCQkJCQlhdXRvQ29tcGxldGU9Im5hbWUiCgkJCQkJCQlpZD17YCR7aWR9LW5hbWVgfQoJCQkJCQkJb25DaGFuZ2U9eyhldmVudCkgPT4gc2V0Q3JlZGVudGlhbHMoeyAuLi5jcmVkZW50aWFscywgbmFtZTogZXZlbnQudGFyZ2V0LnZhbHVlIH0pfQoJCQkJCQkJcmVxdWlyZWQKCQkJCQkJCXZhbHVlPXtjcmVkZW50aWFscy5uYW1lfQoJCQkJCQkvPgoJCQkJCTwvZGl2PgoJCQkJKX0KCQkJCTxkaXYgY2xhc3NOYW1lPSJzcGFjZS15LTIiPgoJCQkJCTxsYWJlbCBodG1sRm9yPXtgJHtpZH0tZW1haWxgfT5FbWFpbDwvbGFiZWw+CgkJCQkJPElucHV0CgkJCQkJCWF1dG9Db21wbGV0ZT0iZW1haWwiCgkJCQkJCWlkPXtgJHtpZH0tZW1haWxgfQoJCQkJCQlvbkNoYW5nZT17KGV2ZW50KSA9PiBzZXRDcmVkZW50aWFscyh7IC4uLmNyZWRlbnRpYWxzLCBlbWFpbDogZXZlbnQudGFyZ2V0LnZhbHVlIH0pfQoJCQkJCQlyZXF1aXJlZAoJCQkJCQl0eXBlPSJlbWFpbCIKCQkJCQkJdmFsdWU9e2NyZWRlbnRpYWxzLmVtYWlsfQoJCQkJCS8+CgkJCQk8L2Rpdj4KCQkJCTxkaXYgY2xhc3NOYW1lPSJzcGFjZS15LTIiPgoJCQkJCTxsYWJlbCBodG1sRm9yPXtgJHtpZH0tcGFzc3dvcmRgfT5QYXNzd29yZDwvbGFiZWw+CgkJCQkJPElucHV0CgkJCQkJCWF1dG9Db21wbGV0ZT17bW9kZSA9PT0gInNpZ24taW4iID8gImN1cnJlbnQtcGFzc3dvcmQiIDogIm5ldy1wYXNzd29yZCJ9CgkJCQkJCWlkPXtgJHtpZH0tcGFzc3dvcmRgfQoJCQkJCQltaW5MZW5ndGg9ezh9CgkJCQkJCW9uQ2hhbmdlPXsoZXZlbnQpID0+IHNldENyZWRlbnRpYWxzKHsgLi4uY3JlZGVudGlhbHMsIHBhc3N3b3JkOiBldmVudC50YXJnZXQudmFsdWUgfSl9CgkJCQkJCXJlcXVpcmVkCgkJCQkJCXR5cGU9InBhc3N3b3JkIgoJCQkJCQl2YWx1ZT17Y3JlZGVudGlhbHMucGFzc3dvcmR9CgkJCQkJLz4KCQkJCTwvZGl2PgoJCQkJe2ZhaWx1cmUgIT09IHVuZGVmaW5lZCAmJiAoCgkJCQkJPHAgY2xhc3NOYW1lPSJ0ZXh0LWRlc3RydWN0aXZlIiByb2xlPSJhbGVydCI+CgkJCQkJCXtmYWlsdXJlfQoJCQkJCTwvcD4KCQkJCSl9CgkJCQk8QnV0dG9uIGRpc2FibGVkPXtwZW5kaW5nfSB0eXBlPSJzdWJtaXQiPgoJCQkJCXtidXR0b25MYWJlbH0KCQkJCTwvQnV0dG9uPgoJCQk8L2Zvcm0+CgkJCTxCdXR0b24KCQkJCWRpc2FibGVkPXtwZW5kaW5nfQoJCQkJb25DbGljaz17KCkgPT4gewoJCQkJCXNldE1vZGUobW9kZSA9PT0gInNpZ24taW4iID8gInNpZ24tdXAiIDogInNpZ24taW4iKTsKCQkJCQlzZXRGYWlsdXJlKHVuZGVmaW5lZCk7CgkJCQl9fQoJCQkJdmFyaWFudD0ib3V0bGluZSIKCQkJPgoJCQkJe21vZGUgPT09ICJzaWduLWluIiA/ICJDcmVhdGUgYW4gYWNjb3VudCIgOiAiVXNlIGFuIGV4aXN0aW5nIGFjY291bnQifQoJCQk8L0J1dHRvbj4KCQk8L21haW4+CgkpOwp9Cg==","path":"src/client/LoginScreen.tsx"},{"content":"aW1wb3J0IHsgT3B0aW9uLCBQcmVkaWNhdGUgfSBmcm9tICJlZmZlY3QiOwppbXBvcnQgeyB1c2VJZCB9IGZyb20gInJlYWN0IjsKaW1wb3J0IHsgdXNlRmllbGQgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1mb3JtL3JlYWN0LnRzIjsKaW1wb3J0IHsgdXNlQ3JlYXRlIH0gZnJvbSAiQHNoaXZhZWRldi9lZmZlY3QtcmVhY3QvY3JlYXRlLnRzIjsKaW1wb3J0IHsgTm90ZUZpZWxkcyB9IGZyb20gIiNub3Rlcy50cyI7CmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gIi4vQnV0dG9uLnRzeCI7CmltcG9ydCB7IElucHV0IH0gZnJvbSAiLi9JbnB1dC50c3giOwppbXBvcnQgdHlwZSB7IE5vdGVzQ2xpZW50IH0gZnJvbSAiLi9tYWtlTm90ZXMudHMiOwoKZXhwb3J0IGZ1bmN0aW9uIE5vdGVDcmVhdGUoeyBjbGllbnQgfTogeyByZWFkb25seSBjbGllbnQ6IE5vdGVzQ2xpZW50IH0pIHsKCWNvbnN0IHRpdGxlSWQgPSB1c2VJZCgpOwoJY29uc3QgZXJyb3JJZCA9IHVzZUlkKCk7Cgljb25zdCBjcmVhdGUgPSB1c2VDcmVhdGUoeyBjcmVhdGU6IGNsaWVudC5hcGkuY3JlYXRlLnJ1biwgZmllbGRzOiBOb3RlRmllbGRzLCBpbml0aWFsVmFsdWVzOiB7IHRpdGxlOiAiIiB9LCBydW50aW1lOiBjbGllbnQucnVudGltZSB9KTsKCWNvbnN0IHRpdGxlID0gdXNlRmllbGQoY3JlYXRlLmZvcm0sICJ0aXRsZSIpOwoJcmV0dXJuICgKCQk8Zm9ybQoJCQljbGFzc05hbWU9InNwYWNlLXktMyIKCQkJb25TdWJtaXQ9eyhldmVudCkgPT4gewoJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsKCQkJCWNyZWF0ZS5zYXZlKCk7CgkJCX19CgkJPgoJCQk8bGFiZWwgY2xhc3NOYW1lPSJibG9jayBmb250LW1lZGl1bSB0ZXh0LXNtIiBodG1sRm9yPXt0aXRsZUlkfT4KCQkJCU5ldyBub3RlCgkJCTwvbGFiZWw+CgkJCTxkaXYgY2xhc3NOYW1lPSJmbGV4IGZsZXgtY29sIGdhcC0zIHNtOmZsZXgtcm93Ij4KCQkJCTxJbnB1dAoJCQkJCWFyaWEtZGVzY3JpYmVkYnk9e3RpdGxlLmVycm9yID8gZXJyb3JJZCA6IHVuZGVmaW5lZH0KCQkJCQlhcmlhLWludmFsaWQ9e0Jvb2xlYW4odGl0bGUuZXJyb3IpfQoJCQkJCWlkPXt0aXRsZUlkfQoJCQkJCW9uQmx1cj17dGl0bGUub25CbHVyfQoJCQkJCW9uQ2hhbmdlPXsoZXZlbnQpID0+IHRpdGxlLm9uQ2hhbmdlKGV2ZW50LnRhcmdldC52YWx1ZSl9CgkJCQkJcGxhY2Vob2xkZXI9IlNvbWV0aGluZyB0byByZW1lbWJlciIKCQkJCQl2YWx1ZT17dGl0bGUudmFsdWV9CgkJCQkvPgoJCQkJPEJ1dHRvbiBkaXNhYmxlZD17Y3JlYXRlLnNhdmluZ30gdHlwZT0ic3VibWl0Ij4KCQkJCQl7Y3JlYXRlLnNhdmluZyA/ICJBZGRpbmfigKYiIDogIkFkZCBub3RlIn0KCQkJCTwvQnV0dG9uPgoJCQk8L2Rpdj4KCQkJe0Jvb2xlYW4odGl0bGUuZXJyb3IpICYmICgKCQkJCTxwIGNsYXNzTmFtZT0idGV4dC1kZXN0cnVjdGl2ZSB0ZXh0LXNtIiBpZD17ZXJyb3JJZH0gcm9sZT0iYWxlcnQiPgoJCQkJCXt0aXRsZS5lcnJvcn0KCQkJCTwvcD4KCQkJKX0KCQkJe09wdGlvbi5pc1NvbWUoY3JlYXRlLmZhaWx1cmUpICYmICgKCQkJCTxwIGNsYXNzTmFtZT0idGV4dC1kZXN0cnVjdGl2ZSB0ZXh0LXNtIiByb2xlPSJhbGVydCI+CgkJCQkJe1ByZWRpY2F0ZS5pc1RhZ2dlZChjcmVhdGUuZmFpbHVyZS52YWx1ZSwgIlVuYXV0aG9yaXplZCIpID8gIlNpZ24gaW4gdG8gYWRkIGEgbm90ZS4iIDogIkNvdWxkIG5vdCBhZGQgdGhlIG5vdGUuIFRyeSBhZ2Fpbi4ifQoJCQkJPC9wPgoJCQkpfQoJCQk8cCBhcmlhLWxpdmU9InBvbGl0ZSIgY2xhc3NOYW1lPSJ0ZXh0LW11dGVkLWZvcmVncm91bmQgdGV4dC1zbSI+CgkJCQl7T3B0aW9uLmlzU29tZShjcmVhdGUuY3JlYXRlZCkgPyBgQWRkZWQgJHtjcmVhdGUuY3JlYXRlZC52YWx1ZS50aXRsZX1gIDogIk5vdGVzIGFyZSBzYXZlZCB0byBQb3N0Z3JlU1FMLiJ9CgkJCTwvcD4KCQk8L2Zvcm0+CgkpOwp9Cg==","path":"src/client/NoteCreate.tsx"},{"content":"aW1wb3J0IHsgQ2F1c2UsIE9wdGlvbiwgUHJlZGljYXRlIH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gInJlYWN0IjsKaW1wb3J0IHsgdXNlQWN0aW9uIH0gZnJvbSAiQHNoaXZhZWRldi9lZmZlY3QtcmVhY3QvcmVzdWx0LXN0YXRlLnRzIjsKaW1wb3J0IHR5cGUgeyBEZWxldGUsIE5vdGUgfSBmcm9tICIjbm90ZXMudHMiOwppbXBvcnQgeyBCdXR0b24gfSBmcm9tICIuL0J1dHRvbi50c3giOwppbXBvcnQgdHlwZSB7IE5vdGVzQ2xpZW50IH0gZnJvbSAiLi9tYWtlTm90ZXMudHMiOwoKZXhwb3J0IGZ1bmN0aW9uIE5vdGVEZWxldGUoewoJY2xpZW50LAoJbm90ZSwKCW9uRGVsZXRlZCwKCXNhdmluZywKfTogewoJcmVhZG9ubHkgY2xpZW50OiBOb3Rlc0NsaWVudDsKCXJlYWRvbmx5IG5vdGU6IHR5cGVvZiBOb3RlLlR5cGU7CglyZWFkb25seSBvbkRlbGV0ZWQ6ICgpID0+IHZvaWQ7CglyZWFkb25seSBzYXZpbmc6IGJvb2xlYW47Cn0pIHsKCWNvbnN0IFtyZW1vdmVdID0gdXNlU3RhdGUoKCkgPT4gY2xpZW50LnJ1bnRpbWUuZm4oKGlucHV0OiB0eXBlb2YgRGVsZXRlLnBheWxvYWQuVHlwZSkgPT4gY2xpZW50LmFwaS5kZWxldGUucnVuKGlucHV0KSkpOwoJY29uc3QgYWN0aW9uID0gdXNlQWN0aW9uKHJlbW92ZSk7Cgl1c2VFZmZlY3QoKCkgPT4gewoJCWlmIChPcHRpb24uaXNTb21lKGFjdGlvbi5kYXRhKSkgewoJCQlvbkRlbGV0ZWQoKTsKCQl9Cgl9LCBbYWN0aW9uLmRhdGEsIG9uRGVsZXRlZF0pOwoJY29uc3QgZmFpbHVyZSA9IE9wdGlvbi5mbGF0TWFwKGFjdGlvbi5jYXVzZSwgQ2F1c2UuZmluZEVycm9yT3B0aW9uKTsKCXJldHVybiAoCgkJPGRpdiBjbGFzc05hbWU9InNwYWNlLXktMyI+CgkJCTxCdXR0b24gZGlzYWJsZWQ9e3NhdmluZyB8fCBhY3Rpb24ucGVuZGluZ30gb25DbGljaz17KCkgPT4gYWN0aW9uLmRpc3BhdGNoKHsgaWQ6IG5vdGUuaWQsIHZlcnNpb246IG5vdGUudmVyc2lvbiB9KX0gdmFyaWFudD0ib3V0bGluZSI+CgkJCQl7YWN0aW9uLnBlbmRpbmcgPyAiRGVsZXRpbmfigKYiIDogIkRlbGV0ZSBub3RlIn0KCQkJPC9CdXR0b24+CgkJCXtPcHRpb24uaXNTb21lKGZhaWx1cmUpICYmICgKCQkJCTxwIGNsYXNzTmFtZT0idGV4dC1kZXN0cnVjdGl2ZSB0ZXh0LXNtIiByb2xlPSJhbGVydCI+CgkJCQkJe1ByZWRpY2F0ZS5pc1RhZ2dlZChmYWlsdXJlLnZhbHVlLCAiQ29uZmxpY3QiKSA/IGZhaWx1cmUudmFsdWUubWVzc2FnZSA6ICJDb3VsZCBub3QgZGVsZXRlIHRoZSBub3RlLiBUcnkgYWdhaW4uIn0KCQkJCTwvcD4KCQkJKX0KCQk8L2Rpdj4KCSk7Cn0K","path":"src/client/NoteDelete.tsx"},{"content":"aW1wb3J0ICogYXMgQXN5bmNSZXN1bHQgZnJvbSAiZWZmZWN0L3JlYWN0aXZpdHkvQXN5bmNSZXN1bHQiOwppbXBvcnQgeyBhY3QgfSBmcm9tICJyZWFjdCI7CmltcG9ydCB7IGV4cGVjdCB9IGZyb20gInZpdGVzdCI7CmltcG9ydCB7IGV2ZW50dWFsbHksIGV4cGVjdE5vUmVhY3RXYXJuaW5ncyB9IGZyb20gIkBzaGl2YWVkZXYvZWZmZWN0LXJlYWN0L3Rlc3RpbmcudHMiOwppbXBvcnQgeyBlZGl0aW5nTm90ZSwgc2NyZWVucyB9IGZyb20gIiN0ZXN0LXN1cHBvcnQvc2NyZWVucy50cyI7CgpPYmplY3QuYXNzaWduKGdsb2JhbFRoaXMsIHsgIklTX1JFQUNUX0FDVF9FTlZJUk9OTUVOVCI6IHRydWUgfSk7CmV4cGVjdE5vUmVhY3RXYXJuaW5ncygpOwoKc2NyZWVucy5pdCgic2hhcmVzIHRoZSB0eXBlZCBkZXRhaWwgcm91dGUncyBxdWVyeSBhbmQgcmV0YWlucyBhbiBlZGl0IHRocm91Z2ggYSBsaXZlIHJlZnJlc2giLCBbZWRpdGluZ05vdGUoKV0sIGZ1bmN0aW9uKiAoeyBpbnRlcmFjdCwgZWRpdG9yIH0pIHsKCXlpZWxkKiBpbnRlcmFjdChhc3luYyAoKSA9PiB7CgkJY29uc3QgeyBjbGllbnQsIGVudGVyLCB2aWV3IH0gPSBlZGl0b3IoKTsKCQlleHBlY3QoY2xpZW50LmNhbGxzKS50b0VxdWFsKFsiZ2V0Il0pOwoJCWF3YWl0IGVudGVyKCJLZWVwIG15IGRyYWZ0Iik7CgkJYXdhaXQgYWN0KCgpID0+IGNsaWVudC5yZXZpc2VOb3RlKDEsICJDaGFuZ2VkIGVsc2V3aGVyZSIpKTsKCQlhd2FpdCBldmVudHVhbGx5KCgpID0+CgkJCWV4cGVjdChBc3luY1Jlc3VsdC5nZXRPckVsc2Uodmlldy5yZWdpc3RyeS5nZXQoY2xpZW50LmFwaS5nZXQucXVlcnkoeyBpZDogMSB9KSksICgpID0+IHVuZGVmaW5lZCk/LnRpdGxlKS50b0JlKCJDaGFuZ2VkIGVsc2V3aGVyZSIpLAoJCSk7CgkJZXhwZWN0KGNsaWVudC5jYWxscy5maWx0ZXIoKGNhbGwpID0+IGNhbGwgPT09ICJnZXQiKS5sZW5ndGgpLnRvQmVHcmVhdGVyVGhhbigxKTsKCQlleHBlY3Qodmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigiaW5wdXQiKT8udmFsdWUpLnRvQmUoIktlZXAgbXkgZHJhZnQiKTsKCQlleHBlY3Qodmlldy5jb250YWluZXIudGV4dENvbnRlbnQpLnRvQ29udGFpbigiVW5zYXZlZCBjaGFuZ2VzIik7Cgl9KTsKfSk7CgpzY3JlZW5zLml0KAoJInNob3dzIGEgc3RhbGUgZWRpdCBjb25mbGljdCwga2VlcHMgdGhlIGlucHV0LCB0aGVuIHJlZnJlc2hlcyBhbmQgc2F2ZXMgdGhlIHJldmlld2VkIGRyYWZ0IiwKCVtlZGl0aW5nTm90ZSgpXSwKCWZ1bmN0aW9uKiAoeyBpbnRlcmFjdCwgZWRpdG9yIH0pIHsKCQl5aWVsZCogaW50ZXJhY3QoYXN5bmMgKCkgPT4gewoJCQljb25zdCB7IGNsaWNrLCBjbGllbnQsIGVudGVyLCB2aWV3IH0gPSBlZGl0b3IoKTsKCQkJYXdhaXQgZW50ZXIoIiAgTXkgZHJhZnQgICIpOwoJCQlhd2FpdCBjbGllbnQucmV2aXNlTm90ZSgxLCAiU2F2ZWQgZWxzZXdoZXJlIiwgZmFsc2UpOwoJCQlhd2FpdCBjbGljaygiU2F2ZSBub3RlIik7CgkJCWF3YWl0IGV2ZW50dWFsbHkoKCkgPT4gZXhwZWN0KHZpZXcuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoIltyb2xlPWFsZXJ0XSIpPy50ZXh0Q29udGVudCkudG9Db250YWluKCJUaGlzIG5vdGUgY2hhbmdlZCIpKTsKCQkJZXhwZWN0KHZpZXcuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoImlucHV0Iik/LnZhbHVlKS50b0JlKCIgIE15IGRyYWZ0ICAiKTsKCQkJYXdhaXQgY2xpY2soIlJlZnJlc2giKTsKCQkJYXdhaXQgZXZlbnR1YWxseSgoKSA9PiBleHBlY3QoY2xpZW50LmNhbGxzLmZpbHRlcigoY2FsbCkgPT4gY2FsbCA9PT0gImdldCIpKS50b0hhdmVMZW5ndGgoMikpOwoJCQlleHBlY3Qodmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigiaW5wdXQiKT8udmFsdWUpLnRvQmUoIiAgTXkgZHJhZnQgICIpOwoJCQlhd2FpdCBjbGljaygiU2F2ZSBub3RlIik7CgkJCWF3YWl0IGV2ZW50dWFsbHkoKCkgPT4gZXhwZWN0KHZpZXcuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoImlucHV0Iik/LnZhbHVlKS50b0JlKCJNeSBkcmFmdCIpKTsKCQkJZXhwZWN0KHZpZXcuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoIltyb2xlPWFsZXJ0XSIpKS50b0JlTnVsbCgpOwoJCQlleHBlY3Qodmlldy5jb250YWluZXIudGV4dENvbnRlbnQpLnRvQ29udGFpbigiQWxsIGNoYW5nZXMgc2F2ZWQiKTsKCQl9KTsKCX0sCik7CgpzY3JlZW5zLml0KCJyZXRhaW5zIGEgZmllbGQgcmVqZWN0aW9uIHdoaWxlIGVkaXRpbmciLCBbZWRpdGluZ05vdGUoKV0sIGZ1bmN0aW9uKiAoeyBpbnRlcmFjdCwgZWRpdG9yIH0pIHsKCXlpZWxkKiBpbnRlcmFjdChhc3luYyAoKSA9PiB7CgkJY29uc3QgeyBjbGljaywgZW50ZXIsIHZpZXcgfSA9IGVkaXRvcigpOwoJCWF3YWl0IGVudGVyKCJyZXNlcnZlZCIpOwoJCWF3YWl0IGNsaWNrKCJTYXZlIG5vdGUiKTsKCQlhd2FpdCBldmVudHVhbGx5KCgpID0+IGV4cGVjdCh2aWV3LmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCJbcm9sZT1hbGVydF0iKT8udGV4dENvbnRlbnQpLnRvQmUoIkNob29zZSBhbm90aGVyIHRpdGxlIikpOwoJCWV4cGVjdCh2aWV3LmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpPy52YWx1ZSkudG9CZSgicmVzZXJ2ZWQiKTsKCX0pOwp9KTsKCnNjcmVlbnMuaXQoImRlbGV0ZXMgYSBub3RlIGFuZCByZXR1cm5zIHRvIHRoZSByZWZyZXNoZWQgbGlzdCB3aXRob3V0IGl0IiwgW2VkaXRpbmdOb3RlKCldLCBmdW5jdGlvbiogKHsgaW50ZXJhY3QsIGVkaXRvciB9KSB7Cgl5aWVsZCogaW50ZXJhY3QoYXN5bmMgKCkgPT4gewoJCWNvbnN0IHsgY2xpY2ssIGNsaWVudCwgcm91dGVyLCB2aWV3IH0gPSBlZGl0b3IoKTsKCQlhd2FpdCBhY3QoKCkgPT4gcm91dGVyLm5hdmlnYXRlKHsgdG86ICIvIiB9KSk7CgkJYXdhaXQgZXZlbnR1YWxseSgoKSA9PiBleHBlY3Qodmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigibGkgPiBhIik/LnRleHRDb250ZW50KS50b0JlKCJGaXJzdCBub3RlIikpOwoJCWF3YWl0IGFjdCgoKSA9PiB2aWV3LmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yPEhUTUxBbmNob3JFbGVtZW50PigibGkgPiBhIik/LmNsaWNrKCkpOwoJCWF3YWl0IGV2ZW50dWFsbHkoKCkgPT4gZXhwZWN0KHZpZXcuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoImlucHV0Iik/LnZhbHVlKS50b0JlKCJGaXJzdCBub3RlIikpOwoJCWF3YWl0IGNsaWNrKCJEZWxldGUgbm90ZSIpOwoJCWF3YWl0IGV2ZW50dWFsbHkoKCkgPT4gZXhwZWN0KHJvdXRlci5zdGF0ZS5sb2NhdGlvbi5wYXRobmFtZSkudG9CZSgiLyIpKTsKCQlhd2FpdCBldmVudHVhbGx5KCgpID0+IGV4cGVjdCh2aWV3LmNvbnRhaW5lci50ZXh0Q29udGVudCkudG9Db250YWluKCJObyBub3RlcyB5ZXQiKSk7CgkJZXhwZWN0KHZpZXcuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoImxpIikpLnRvQmVOdWxsKCk7CgkJZXhwZWN0KGNsaWVudC5jYWxscykudG9Db250YWluKCJkZWxldGUiKTsKCQlleHBlY3QoY2xpZW50LmNhbGxzLmZpbHRlcigoY2FsbCkgPT4gY2FsbCA9PT0gImxpc3QiKS5sZW5ndGgpLnRvQmVHcmVhdGVyVGhhbigxKTsKCX0pOwp9KTsKCnNjcmVlbnMuaXQoImtlZXBzIHRoZSBlZGl0b3Igb3BlbiB3aGVuIGRlbGV0aW9uIGNvbmZsaWN0cyB3aXRoIGEgbmV3ZXIgdmVyc2lvbiIsIFtlZGl0aW5nTm90ZSgpXSwgZnVuY3Rpb24qICh7IGludGVyYWN0LCBlZGl0b3IgfSkgewoJeWllbGQqIGludGVyYWN0KGFzeW5jICgpID0+IHsKCQljb25zdCB7IGNsaWNrLCBjbGllbnQsIHJvdXRlciwgdmlldyB9ID0gZWRpdG9yKCk7CgkJYXdhaXQgY2xpZW50LnJldmlzZU5vdGUoMSwgIlNhdmVkIGVsc2V3aGVyZSIsIGZhbHNlKTsKCQlhd2FpdCBjbGljaygiRGVsZXRlIG5vdGUiKTsKCQlhd2FpdCBldmVudHVhbGx5KCgpID0+IGV4cGVjdCh2aWV3LmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCJbcm9sZT1hbGVydF0iKT8udGV4dENvbnRlbnQpLnRvQ29udGFpbigiVGhpcyBub3RlIGNoYW5nZWQiKSk7CgkJZXhwZWN0KHJvdXRlci5zdGF0ZS5sb2NhdGlvbi5wYXRobmFtZSkudG9CZSgiL25vdGVzLzEiKTsKCQlleHBlY3Qodmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigiaW5wdXQiKT8udmFsdWUpLnRvQmUoIkZpcnN0IG5vdGUiKTsKCX0pOwp9KTsK","path":"src/client/NoteEdit.dom.test.tsx"},{"content":"aW1wb3J0IHsgdXNlQXRvbU1vdW50IH0gZnJvbSAiQGVmZmVjdC9hdG9tLXJlYWN0IjsKaW1wb3J0IHsgTGluayB9IGZyb20gIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXIiOwppbXBvcnQgeyBPcHRpb24sIFByZWRpY2F0ZSB9IGZyb20gImVmZmVjdCI7CmltcG9ydCB7IHVzZUlkIH0gZnJvbSAicmVhY3QiOwppbXBvcnQgeyB1c2VGaWVsZCB9IGZyb20gIkBzaGl2YWVkZXYvZWZmZWN0LWZvcm0vcmVhY3QudHMiOwppbXBvcnQgdHlwZSB7IEZvcm0gfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1mb3JtL3NoYXBlLnRzIjsKaW1wb3J0IHsgdXNlRWRpdG9yIH0gZnJvbSAiQHNoaXZhZWRldi9lZmZlY3QtcmVhY3QvZWRpdG9yLnRzIjsKaW1wb3J0IHsgZmllbGRSZWplY3Rpb25PZiB9IGZyb20gIkBzaGl2YWVkZXYvZWZmZWN0LXJlYWN0L2ZpZWxkLXJlamVjdGlvbi50cyI7CmltcG9ydCB7IE5vdGVFZGl0RmllbGRzIH0gZnJvbSAiI25vdGVzLnRzIjsKaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAiLi9CdXR0b24udHN4IjsKaW1wb3J0IHsgSW5wdXQgfSBmcm9tICIuL0lucHV0LnRzeCI7CmltcG9ydCB0eXBlIHsgTm90ZXNDbGllbnQgfSBmcm9tICIuL21ha2VOb3Rlcy50cyI7CmltcG9ydCB7IE5vdGVEZWxldGUgfSBmcm9tICIuL05vdGVEZWxldGUudHN4IjsKCmZ1bmN0aW9uIFRpdGxlPEEsIEUsIFRSdW50aW1lRXJyb3I+KHsgZm9ybSB9OiB7IHJlYWRvbmx5IGZvcm06IEZvcm08dHlwZW9mIE5vdGVFZGl0RmllbGRzLmZpZWxkcywgQSwgRSwgVFJ1bnRpbWVFcnJvcj4gfSkgewoJY29uc3QgdGl0bGUgPSB1c2VGaWVsZChmb3JtLCAidGl0bGUiKTsKCWNvbnN0IHRpdGxlSWQgPSB1c2VJZCgpOwoJY29uc3QgZXJyb3JJZCA9IHVzZUlkKCk7CglyZXR1cm4gKAoJCTxkaXYgY2xhc3NOYW1lPSJzcGFjZS15LTIiPgoJCQk8bGFiZWwgY2xhc3NOYW1lPSJibG9jayBmb250LW1lZGl1bSB0ZXh0LXNtIiBodG1sRm9yPXt0aXRsZUlkfT4KCQkJCVRpdGxlCgkJCTwvbGFiZWw+CgkJCTxJbnB1dAoJCQkJYXJpYS1kZXNjcmliZWRieT17dGl0bGUuZXJyb3IgPyBlcnJvcklkIDogdW5kZWZpbmVkfQoJCQkJYXJpYS1pbnZhbGlkPXtCb29sZWFuKHRpdGxlLmVycm9yKX0KCQkJCWlkPXt0aXRsZUlkfQoJCQkJb25CbHVyPXt0aXRsZS5vbkJsdXJ9CgkJCQlvbkNoYW5nZT17KGV2ZW50KSA9PiB0aXRsZS5vbkNoYW5nZShldmVudC50YXJnZXQudmFsdWUpfQoJCQkJdmFsdWU9e3RpdGxlLnZhbHVlfQoJCQkvPgoJCQl7Qm9vbGVhbih0aXRsZS5lcnJvcikgJiYgKAoJCQkJPHAgY2xhc3NOYW1lPSJ0ZXh0LWRlc3RydWN0aXZlIHRleHQtc20iIGlkPXtlcnJvcklkfSByb2xlPSJhbGVydCI+CgkJCQkJe3RpdGxlLmVycm9yfQoJCQkJPC9wPgoJCQkpfQoJCTwvZGl2PgoJKTsKfQoKZXhwb3J0IGZ1bmN0aW9uIE5vdGVFZGl0KHsgY2xpZW50LCBub3RlSWQsIG9uRGVsZXRlZCB9OiB7IHJlYWRvbmx5IGNsaWVudDogTm90ZXNDbGllbnQ7IHJlYWRvbmx5IG5vdGVJZDogbnVtYmVyOyByZWFkb25seSBvbkRlbGV0ZWQ6ICgpID0+IHZvaWQgfSkgewoJdXNlQXRvbU1vdW50KGNsaWVudC5jb25uZWN0aW9uKTsKCWNvbnN0IGVkaXRvciA9IHVzZUVkaXRvcih7CgkJZmllbGRzOiBOb3RlRWRpdEZpZWxkcywKCQlxdWVyeTogY2xpZW50LmFwaS5nZXQucXVlcnkoeyBpZDogbm90ZUlkIH0pLAoJCXJlamVjdEZpZWxkOiBmaWVsZFJlamVjdGlvbk9mKE5vdGVFZGl0RmllbGRzKSwKCQlydW50aW1lOiBjbGllbnQucnVudGltZSwKCQlzYXZlOiAodmFsdWVzKSA9PiBjbGllbnQuYXBpLnVwZGF0ZS5ydW4oeyBpZDogbm90ZUlkLCAuLi52YWx1ZXMgfSksCgkJdmFsdWVzOiAocm93KSA9PiAoeyB0aXRsZTogcm93LnRpdGxlLCB2ZXJzaW9uOiByb3cudmVyc2lvbiB9KSwKCX0pOwoJY29uc3QgY3VycmVudE5vdGUgPSBPcHRpb24uZ2V0T3JVbmRlZmluZWQoZWRpdG9yLnF1ZXJ5LmRhdGEpOwoJY29uc3QgZmFpbHVyZSA9IE9wdGlvbi5tYXAoZWRpdG9yLmZhaWx1cmUsIChlcnJvcikgPT4gewoJCWlmIChQcmVkaWNhdGUuaXNUYWdnZWQoZXJyb3IsICJDb25mbGljdCIpKSB7CgkJCXJldHVybiBlcnJvci5tZXNzYWdlOwoJCX0KCQlpZiAoUHJlZGljYXRlLmlzVGFnZ2VkKGVycm9yLCAiVW5hdXRob3JpemVkIikpIHsKCQkJcmV0dXJuICJTaWduIGluIHRvIHNhdmUgdGhpcyBub3RlLiI7CgkJfQoJCXJldHVybiAiQ291bGQgbm90IHNhdmUgdGhlIG5vdGUuIFRyeSBhZ2Fpbi4iOwoJfSk7CglyZXR1cm4gKAoJCTxtYWluIGNsYXNzTmFtZT0ibXgtYXV0byB3LWZ1bGwgbWF4LXctMnhsIHNwYWNlLXktNiBweC00IHB5LTEyIHNtOnB4LTYiPgoJCQk8TGluayBjbGFzc05hbWU9InVuZGVybGluZSIgdG89Ii8iPgoJCQkJQmFjayB0byBub3RlcwoJCQk8L0xpbms+CgkJCTxoMSBjbGFzc05hbWU9ImZvbnQtc2VtaWJvbGQgdGV4dC0zeGwgdHJhY2tpbmctdGlnaHQiPkVkaXQgbm90ZTwvaDE+CgkJCTxCdXR0b24gZGlzYWJsZWQ9e2VkaXRvci5xdWVyeS5wZW5kaW5nfSBvbkNsaWNrPXtlZGl0b3IucXVlcnkucmVmcmVzaH0gdmFyaWFudD0ib3V0bGluZSI+CgkJCQlSZWZyZXNoCgkJCTwvQnV0dG9uPgoJCQl7T3B0aW9uLmlzU29tZShlZGl0b3IucXVlcnkuY2F1c2UpICYmIDxwIHJvbGU9ImFsZXJ0Ij5Db3VsZCBub3QgbG9hZCB0aGlzIG5vdGUuIFRyeSByZWZyZXNoaW5nLjwvcD59CgkJCXtlZGl0b3IuZm9ybSA9PT0gdW5kZWZpbmVkID8gKAoJCQkJPHAgcm9sZT0ic3RhdHVzIj5Mb2FkaW5nIG5vdGXigKY8L3A+CgkJCSkgOiAoCgkJCQk8Zm9ybQoJCQkJCWNsYXNzTmFtZT0ic3BhY2UteS00IHJvdW5kZWQtbGcgYm9yZGVyIGJnLWNhcmQgcC01IHNoYWRvdy1zbSIKCQkJCQlvblN1Ym1pdD17KGV2ZW50KSA9PiB7CgkJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7CgkJCQkJCWVkaXRvci5zYXZlKCk7CgkJCQkJfX0KCQkJCT4KCQkJCQk8VGl0bGUgZm9ybT17ZWRpdG9yLmZvcm19IC8+CgkJCQkJPEJ1dHRvbiBkaXNhYmxlZD17ZWRpdG9yLnNhdmluZ30gdHlwZT0ic3VibWl0Ij4KCQkJCQkJe2VkaXRvci5zYXZpbmcgPyAiU2F2aW5n4oCmIiA6ICJTYXZlIG5vdGUifQoJCQkJCTwvQnV0dG9uPgoJCQkJCXtPcHRpb24uaXNTb21lKGZhaWx1cmUpICYmICgKCQkJCQkJPHAgY2xhc3NOYW1lPSJ0ZXh0LWRlc3RydWN0aXZlIHRleHQtc20iIHJvbGU9ImFsZXJ0Ij4KCQkJCQkJCXtmYWlsdXJlLnZhbHVlfQoJCQkJCQk8L3A+CgkJCQkJKX0KCQkJCQk8cCBhcmlhLWxpdmU9InBvbGl0ZSIgY2xhc3NOYW1lPSJ0ZXh0LW11dGVkLWZvcmVncm91bmQgdGV4dC1zbSI+CgkJCQkJCXtlZGl0b3IuZGlydHkgPyAiVW5zYXZlZCBjaGFuZ2VzIiA6ICJBbGwgY2hhbmdlcyBzYXZlZCJ9CgkJCQkJPC9wPgoJCQkJPC9mb3JtPgoJCQkpfQoJCQl7Y3VycmVudE5vdGUgIT09IHVuZGVmaW5lZCAmJiA8Tm90ZURlbGV0ZSBjbGllbnQ9e2NsaWVudH0gbm90ZT17Y3VycmVudE5vdGV9IG9uRGVsZXRlZD17b25EZWxldGVkfSBzYXZpbmc9e2VkaXRvci5zYXZpbmd9IC8+fQoJCTwvbWFpbj4KCSk7Cn0K","path":"src/client/NoteEdit.tsx"},{"content":"aW1wb3J0IHsgY3JlYXRlTWVtb3J5SGlzdG9yeSwgUm91dGVyUHJvdmlkZXIgfSBmcm9tICJAdGFuc3RhY2svcmVhY3Qtcm91dGVyIjsKaW1wb3J0IHsgYWN0IH0gZnJvbSAicmVhY3QiOwppbXBvcnQgeyBleHBlY3QsIG9uVGVzdEZpbmlzaGVkIH0gZnJvbSAidml0ZXN0IjsKaW1wb3J0IHsgZXZlbnR1YWxseSwgZXhwZWN0Tm9SZWFjdFdhcm5pbmdzLCByZW5kZXIgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1yZWFjdC90ZXN0aW5nLnRzIjsKaW1wb3J0IHsgbm90ZXNDbGllbnQgfSBmcm9tICIjdGVzdC1zdXBwb3J0L25vdGVzQ2xpZW50LnRzIjsKaW1wb3J0IHsgc2NyZWVuQXV0aCB9IGZyb20gIiN0ZXN0LXN1cHBvcnQvc2NyZWVuQXV0aC50cyI7CmltcG9ydCB7IHNjcmVlbnMgfSBmcm9tICIjdGVzdC1zdXBwb3J0L3NjcmVlbnMudHMiOwppbXBvcnQgeyBhcHBSb3V0ZXIgfSBmcm9tICIuL2FwcFJvdXRlci50c3giOwoKT2JqZWN0LmFzc2lnbihnbG9iYWxUaGlzLCB7ICJJU19SRUFDVF9BQ1RfRU5WSVJPTk1FTlQiOiB0cnVlIH0pOwpleHBlY3ROb1JlYWN0V2FybmluZ3MoKTsKCnNjcmVlbnMuaXQoCgkic2hhcmVzIHRoZSByb3V0ZSBxdWVyeSwgdmFsaWRhdGVzIHRoZSBmb3JtLCByZXRhaW5zIGEgcmVqZWN0ZWQgdGl0bGUgYW5kIHJlZnJlc2hlcyBhZnRlciBjcmVhdGlvbiIsCglbXSwKCWZ1bmN0aW9uKiAoeyBpbnRlcmFjdCwgZW50ZXIsIHN1Ym1pdCB9KSB7CgkJeWllbGQqIGludGVyYWN0KGFzeW5jICgpID0+IHsKCQkJY29uc3QgY2xpZW50ID0gbm90ZXNDbGllbnQoKTsKCQkJY29uc3QgdmlldyA9IGF3YWl0IHJlbmRlcihudWxsKTsKCQkJb25UZXN0RmluaXNoZWQodmlldy51bm1vdW50KTsKCQkJY29uc3Qgcm91dGVyID0gYXBwUm91dGVyKHZpZXcucmVnaXN0cnksIGNsaWVudCwgc2NyZWVuQXV0aCgpLCBjcmVhdGVNZW1vcnlIaXN0b3J5KHsgaW5pdGlhbEVudHJpZXM6IFsiLyJdIH0pKTsKCQkJYXdhaXQgdmlldy5yZW5kZXIoPFJvdXRlclByb3ZpZGVyIHJvdXRlcj17cm91dGVyfSAvPik7CgkJCWF3YWl0IGV2ZW50dWFsbHkoKCkgPT4gZXhwZWN0KHZpZXcuY29udGFpbmVyLnRleHRDb250ZW50KS50b0NvbnRhaW4oIk5vIG5vdGVzIHlldCIpKTsKCQkJZXhwZWN0KGNsaWVudC5jYWxscykudG9FcXVhbChbImxpc3QiXSk7CgoJCQlhd2FpdCBzdWJtaXQodmlldy5jb250YWluZXIpOwoJCQlhd2FpdCBldmVudHVhbGx5KCgpID0+IGV4cGVjdCh2aWV3LmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCJbcm9sZT1hbGVydF0iKT8udGV4dENvbnRlbnQpLnRvQmUoIlJlcXVpcmVkIikpOwoJCQlleHBlY3QoY2xpZW50LmNhbGxzKS50b0VxdWFsKFsibGlzdCJdKTsKCQkJYXdhaXQgZW50ZXIodmlldy5jb250YWluZXIsICJyZXNlcnZlZCIpOwoJCQlhd2FpdCBzdWJtaXQodmlldy5jb250YWluZXIpOwoJCQlhd2FpdCBldmVudHVhbGx5KCgpID0+IGV4cGVjdCh2aWV3LmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCJbcm9sZT1hbGVydF0iKT8udGV4dENvbnRlbnQpLnRvQmUoIkNob29zZSBhbm90aGVyIHRpdGxlIikpOwoJCQlleHBlY3Qodmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigiaW5wdXQiKT8udmFsdWUpLnRvQmUoInJlc2VydmVkIik7CgkJCWF3YWl0IGVudGVyKHZpZXcuY29udGFpbmVyLCAiRmlyc3Qgbm90ZSIpOwoJCQlhd2FpdCBzdWJtaXQodmlldy5jb250YWluZXIpOwoJCQlhd2FpdCBldmVudHVhbGx5KCgpID0+IGV4cGVjdCh2aWV3LmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCJsaSA+IGEiKT8udGV4dENvbnRlbnQpLnRvQmUoIkZpcnN0IG5vdGUiKSk7CgkJCWV4cGVjdCh2aWV3LmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpPy52YWx1ZSkudG9CZSgiIik7CgkJCWV4cGVjdCh2aWV3LmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCJbcm9sZT1hbGVydF0iKSkudG9CZU51bGwoKTsKCQkJZXhwZWN0KGNsaWVudC5jYWxscykudG9FcXVhbChbImxpc3QiLCAiY3JlYXRlIiwgImxpc3QiXSk7CgkJCWV4cGVjdCh2aWV3LmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCJsaSIpPy50ZXh0Q29udGVudCkudG9Db250YWluKCJDb3VudGluZyB3b3Jkc+KApiIpOwoJCQlhd2FpdCBhY3QoKCkgPT4gY2xpZW50LmZpbmlzaE5vdGUoMSwgMikpOwoJCQlhd2FpdCBldmVudHVhbGx5KCgpID0+IGV4cGVjdCh2aWV3LmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCJsaSIpPy50ZXh0Q29udGVudCkudG9Db250YWluKCIyIHdvcmRzIikpOwoJCQlleHBlY3QoY2xpZW50LmNhbGxzLmZpbHRlcigoY2FsbCkgPT4gY2FsbCA9PT0gImxpc3QiKS5sZW5ndGgpLnRvQmVHcmVhdGVyVGhhbigyKTsKCQkJYXdhaXQgYWN0KCgpID0+IGNsaWVudC5maW5pc2hOb3RlKDEsIDEpKTsKCQkJYXdhaXQgZXZlbnR1YWxseSgoKSA9PiBleHBlY3Qodmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigibGkiKT8udGV4dENvbnRlbnQpLnRvQ29udGFpbigiMSB3b3JkIikpOwoJCQlleHBlY3Qodmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigibGkiKT8udGV4dENvbnRlbnQpLm5vdC50b0NvbnRhaW4oIjEgd29yZHMiKTsKCQl9KTsKCX0sCik7Cg==","path":"src/client/NotesScreen.dom.test.tsx"},{"content":"aW1wb3J0IHsgdXNlQXRvbU1vdW50IH0gZnJvbSAiQGVmZmVjdC9hdG9tLXJlYWN0IjsKaW1wb3J0IHsgTGluayB9IGZyb20gIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXIiOwppbXBvcnQgeyBPcHRpb24gfSBmcm9tICJlZmZlY3QiOwppbXBvcnQgeyB1c2VTdGF0ZSB9IGZyb20gInJlYWN0IjsKaW1wb3J0IHsgdXNlUXVlcnkgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1yZWFjdC9yZXN1bHQtc3RhdGUudHMiOwppbXBvcnQgdHlwZSB7IE5vdGUgfSBmcm9tICIjbm90ZXMudHMiOwppbXBvcnQgeyBCdXR0b24gfSBmcm9tICIuL0J1dHRvbi50c3giOwppbXBvcnQgdHlwZSB7IE5vdGVzQ2xpZW50IH0gZnJvbSAiLi9tYWtlTm90ZXMudHMiOwppbXBvcnQgeyBOb3RlQ3JlYXRlIH0gZnJvbSAiLi9Ob3RlQ3JlYXRlLnRzeCI7CgpmdW5jdGlvbiB3b3JkQ291bnRMYWJlbChjb3VudDogbnVtYmVyIHwgbnVsbCkgewoJaWYgKGNvdW50ID09PSBudWxsKSB7CgkJcmV0dXJuICJDb3VudGluZyB3b3Jkc+KApiI7Cgl9CglyZXR1cm4gYCR7Y291bnR9ICR7Y291bnQgPT09IDEgPyAid29yZCIgOiAid29yZHMifWA7Cn0KCmZ1bmN0aW9uIFNhdmVkTm90ZSh7IG5vdGUgfTogeyByZWFkb25seSBub3RlOiB0eXBlb2YgTm90ZS5UeXBlIH0pIHsKCXJldHVybiAoCgkJPGxpIGNsYXNzTmFtZT0iYnJlYWstd29yZHMgcm91bmRlZC1sZyBib3JkZXIgYmctY2FyZCBwLTQiPgoJCQk8TGluayBjbGFzc05hbWU9InVuZGVybGluZSIgcGFyYW1zPXt7IG5vdGVJZDogU3RyaW5nKG5vdGUuaWQpIH19IHRvPSIvbm90ZXMvJG5vdGVJZCI+CgkJCQl7bm90ZS50aXRsZX0KCQkJPC9MaW5rPgoJCQk8cCBjbGFzc05hbWU9Im10LTIgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIHRleHQtc20iPnt3b3JkQ291bnRMYWJlbChub3RlLndvcmRDb3VudCl9PC9wPgoJCTwvbGk+CgkpOwp9CgpleHBvcnQgZnVuY3Rpb24gTm90ZXNTY3JlZW4oeyBjbGllbnQsIG9uU2lnbk91dCB9OiB7IHJlYWRvbmx5IGNsaWVudDogTm90ZXNDbGllbnQ7IHJlYWRvbmx5IG9uU2lnbk91dD86ICgpID0+IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB9KSB7Cgl1c2VBdG9tTW91bnQoY2xpZW50LmNvbm5lY3Rpb24pOwoJY29uc3QgW3NpZ25pbmdPdXQsIHNldFNpZ25pbmdPdXRdID0gdXNlU3RhdGUoZmFsc2UpOwoJY29uc3QgW2ZhaWx1cmUsIHNldEZhaWx1cmVdID0gdXNlU3RhdGU8c3RyaW5nPigpOwoJYXN5bmMgZnVuY3Rpb24gc2lnbk91dCgpIHsKCQlzZXRTaWduaW5nT3V0KHRydWUpOwoJCXRyeSB7CgkJCXNldEZhaWx1cmUoYXdhaXQgb25TaWduT3V0Py4oKSk7CgkJfSBjYXRjaCB7CgkJCXNldEZhaWx1cmUoIkNvdWxkIG5vdCBzaWduIG91dC4gVHJ5IGFnYWluLiIpOwoJCX0gZmluYWxseSB7CgkJCXNldFNpZ25pbmdPdXQoZmFsc2UpOwoJCX0KCX0KCWNvbnN0IHF1ZXJ5ID0gdXNlUXVlcnkoY2xpZW50LmFwaS5saXN0LnF1ZXJ5KCkpOwoJY29uc3Qgcm93cyA9IE9wdGlvbi5nZXRPckVsc2UocXVlcnkuZGF0YSwgKCkgPT4gW10pOwoJcmV0dXJuICgKCQk8bWFpbiBjbGFzc05hbWU9Im14LWF1dG8gdy1mdWxsIG1heC13LTJ4bCBzcGFjZS15LTggcHgtNCBweS0xMiBzbTpweC02Ij4KCQkJPGhlYWRlciBjbGFzc05hbWU9InNwYWNlLXktMiI+CgkJCQk8cCBjbGFzc05hbWU9ImZvbnQtbWVkaXVtIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCB0ZXh0LXNtIj5Zb3VyIGZpcnN0IGFwcDwvcD4KCQkJCTxoMSBjbGFzc05hbWU9ImZvbnQtc2VtaWJvbGQgdGV4dC0zeGwgdHJhY2tpbmctdGlnaHQiPk5vdGVzPC9oMT4KCQkJCTxwIGNsYXNzTmFtZT0idGV4dC1tdXRlZC1mb3JlZ3JvdW5kIj5BIHNtYWxsIHBsYWNlIGZvciB0aGluZ3Mgd29ydGgga2VlcGluZy48L3A+CgkJCQl7b25TaWduT3V0ICE9PSB1bmRlZmluZWQgJiYgKAoJCQkJCTxCdXR0b24gZGlzYWJsZWQ9e3NpZ25pbmdPdXR9IG9uQ2xpY2s9eygpID0+IHZvaWQgc2lnbk91dCgpfSB2YXJpYW50PSJvdXRsaW5lIj4KCQkJCQkJU2lnbiBvdXQKCQkJCQk8L0J1dHRvbj4KCQkJCSl9CgkJCQl7ZmFpbHVyZSAhPT0gdW5kZWZpbmVkICYmIDxwIHJvbGU9ImFsZXJ0Ij57ZmFpbHVyZX08L3A+fQoJCQk8L2hlYWRlcj4KCQkJPHNlY3Rpb24gYXJpYS1sYWJlbD0iQWRkIGEgbm90ZSIgY2xhc3NOYW1lPSJyb3VuZGVkLWxnIGJvcmRlciBiZy1jYXJkIHAtNSBzaGFkb3ctc20iPgoJCQkJPE5vdGVDcmVhdGUgY2xpZW50PXtjbGllbnR9IC8+CgkJCTwvc2VjdGlvbj4KCQkJPHNlY3Rpb24gYXJpYS1sYWJlbD0iU2F2ZWQgbm90ZXMiIGNsYXNzTmFtZT0ic3BhY2UteS00Ij4KCQkJCTxkaXYgY2xhc3NOYW1lPSJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4iPgoJCQkJCTxoMiBjbGFzc05hbWU9ImZvbnQtc2VtaWJvbGQgdGV4dC1sZyI+U2F2ZWQgbm90ZXM8L2gyPgoJCQkJCTxCdXR0b24gZGlzYWJsZWQ9e3F1ZXJ5LnBlbmRpbmd9IG9uQ2xpY2s9e3F1ZXJ5LnJlZnJlc2h9IHZhcmlhbnQ9Im91dGxpbmUiPgoJCQkJCQlSZWZyZXNoCgkJCQkJPC9CdXR0b24+CgkJCQk8L2Rpdj4KCQkJCXtPcHRpb24uaXNTb21lKHF1ZXJ5LmNhdXNlKSAmJiA8cCByb2xlPSJhbGVydCI+Q291bGQgbm90IGxvYWQgbm90ZXMuIFRyeSByZWZyZXNoaW5nLjwvcD59CgkJCQl7cXVlcnkucGVuZGluZyA/IDxwIHJvbGU9InN0YXR1cyI+TG9hZGluZyBub3Rlc+KApjwvcD4gOiBudWxsfQoJCQkJeyFxdWVyeS5wZW5kaW5nICYmIHJvd3MubGVuZ3RoID09PSAwICYmIDxwIGNsYXNzTmFtZT0idGV4dC1tdXRlZC1mb3JlZ3JvdW5kIHRleHQtc20iPk5vIG5vdGVzIHlldC4gQWRkIHlvdXIgZmlyc3Qgb25lIGFib3ZlLjwvcD59CgkJCQk8dWwgY2xhc3NOYW1lPSJzcGFjZS15LTMiPgoJCQkJCXtyb3dzLm1hcCgocm93KSA9PiAoCgkJCQkJCTxTYXZlZE5vdGUga2V5PXtyb3cuaWR9IG5vdGU9e3Jvd30gLz4KCQkJCQkpKX0KCQkJCTwvdWw+CgkJCTwvc2VjdGlvbj4KCQk8L21haW4+CgkpOwp9Cg==","path":"src/client/NotesScreen.tsx"},{"content":"aW1wb3J0IHsgdHlwZSBFcnJvckNvbXBvbmVudFByb3BzLCBMaW5rIH0gZnJvbSAiQHRhbnN0YWNrL3JlYWN0LXJvdXRlciI7CmltcG9ydCB7IFByZWRpY2F0ZSB9IGZyb20gImVmZmVjdCI7CgpleHBvcnQgZnVuY3Rpb24gUm91dGVGYWlsdXJlKHsgZXJyb3IsIHJlc2V0OiBoYW5kbGVDbGljayB9OiBFcnJvckNvbXBvbmVudFByb3BzKSB7Cgljb25zdCB1bmF1dGhvcml6ZWQgPSBQcmVkaWNhdGUuaXNUYWdnZWQoZXJyb3IsICJVbmF1dGhvcml6ZWQiKTsKCXJldHVybiAoCgkJPG1haW4gY2xhc3NOYW1lPSJteC1hdXRvIG1heC13LW1kIHNwYWNlLXktNCBweC00IHB5LTEyIj4KCQkJPHAgcm9sZT0iYWxlcnQiPnt1bmF1dGhvcml6ZWQgPyAiU2lnbiBpbiB0byB2aWV3IHlvdXIgbm90ZXMuIiA6ICJDb3VsZCBub3QgbG9hZCBub3Rlcy4ifTwvcD4KCQkJe3VuYXV0aG9yaXplZCA/ICgKCQkJCTxMaW5rIGNsYXNzTmFtZT0idW5kZXJsaW5lIiB0bz0iL3NpZ24taW4iPgoJCQkJCVNpZ24gaW4KCQkJCTwvTGluaz4KCQkJKSA6ICgKCQkJCTxidXR0b24gb25DbGljaz17aGFuZGxlQ2xpY2t9IHR5cGU9ImJ1dHRvbiI+CgkJCQkJUmV0cnkKCQkJCTwvYnV0dG9uPgoJCQkpfQoJCTwvbWFpbj4KCSk7Cn0K","path":"src/client/RouteFailure.tsx"},{"content":"aW1wb3J0IHsgY3JlYXRlTWVtb3J5SGlzdG9yeSB9IGZyb20gIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXIiOwppbXBvcnQgeyBhY3QgfSBmcm9tICJyZWFjdCI7CmltcG9ydCB7IGV4cGVjdCwgb25UZXN0RmluaXNoZWQgfSBmcm9tICJ2aXRlc3QiOwppbXBvcnQgeyBldmVudHVhbGx5LCBleHBlY3ROb1JlYWN0V2FybmluZ3MsIHJlbmRlciB9IGZyb20gIkBzaGl2YWVkZXYvZWZmZWN0LXJlYWN0L3Rlc3RpbmcudHMiOwppbXBvcnQgeyBub3Rlc0NsaWVudCB9IGZyb20gIiN0ZXN0LXN1cHBvcnQvbm90ZXNDbGllbnQudHMiOwppbXBvcnQgeyBzY3JlZW5BdXRoIH0gZnJvbSAiI3Rlc3Qtc3VwcG9ydC9zY3JlZW5BdXRoLnRzIjsKaW1wb3J0IHsgc2NyZWVucyB9IGZyb20gIiN0ZXN0LXN1cHBvcnQvc2NyZWVucy50cyI7CmltcG9ydCB7IFNlc3Npb25BcHAgfSBmcm9tICIuL1Nlc3Npb25BcHAudHN4IjsKCk9iamVjdC5hc3NpZ24oZ2xvYmFsVGhpcywgeyAiSVNfUkVBQ1RfQUNUX0VOVklST05NRU5UIjogdHJ1ZSB9KTsKZXhwZWN0Tm9SZWFjdFdhcm5pbmdzKCk7CgpzY3JlZW5zLml0KCJyZXBsYWNlcyBjYWNoZWQgbm90ZXMgYW5kIHRoZSBkcmFmdCB3aGVuIHRoZSBhdXRoZW50aWNhdGlvbiBvd25lcidzIHNlc3Npb24gY2hhbmdlcyIsIFtdLCBmdW5jdGlvbiogKHsgaW50ZXJhY3QsIGVudGVyIH0pIHsKCXlpZWxkKiBpbnRlcmFjdChhc3luYyAoKSA9PiB7CgkJY29uc3QgYWxpY2UgPSBub3Rlc0NsaWVudCgpOwoJCWNvbnN0IGJvYiA9IG5vdGVzQ2xpZW50KCk7CgkJZnVuY3Rpb24gY29ubmVjdGlvbih7IGlkIH06IHsgcmVhZG9ubHkgaWQ6IHN0cmluZyB9KSB7CgkJCXJldHVybiBpZCA9PT0gImFsaWNlIiA/IGFsaWNlIDogYm9iOwoJCX0KCQljb25zdCBhdXRoID0gc2NyZWVuQXV0aCgpOwoJCWNvbnN0IGhpc3RvcnkgPSBjcmVhdGVNZW1vcnlIaXN0b3J5KHsgaW5pdGlhbEVudHJpZXM6IFsiLyJdIH0pOwoJCWZ1bmN0aW9uIHJlY2hlY2soKSB7CgkJCXJldHVybiB1bmRlZmluZWQ7CgkJfQoJCWNvbnN0IHZpZXcgPSBhd2FpdCByZW5kZXIoPFNlc3Npb25BcHAgYXV0aD17YXV0aH0gY29ubmVjdD17Y29ubmVjdGlvbn0gaGlzdG9yeT17aGlzdG9yeX0gcmVjaGVjaz17cmVjaGVja30gc2Vzc2lvbklkPSJhbGljZSIgLz4pOwoJCW9uVGVzdEZpbmlzaGVkKHZpZXcudW5tb3VudCk7CgkJYXdhaXQgZXZlbnR1YWxseSgoKSA9PiBleHBlY3QoYWxpY2UuY2FsbHMpLnRvRXF1YWwoWyJsaXN0Il0pKTsKCgkJYXdhaXQgZW50ZXIodmlldy5jb250YWluZXIsICJBbGljZSdzIHNhdmVkIG5vdGUiKTsKCQlhd2FpdCBhY3QoKCkgPT4gdmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigiZm9ybSIpPy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgic3VibWl0IiwgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pKSk7CgkJYXdhaXQgZXZlbnR1YWxseSgoKSA9PiBleHBlY3Qodmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigibGkgPiBhIik/LnRleHRDb250ZW50KS50b0JlKCJBbGljZSdzIHNhdmVkIG5vdGUiKSk7CgkJYXdhaXQgZW50ZXIodmlldy5jb250YWluZXIsICJBbGljZSdzIHByaXZhdGUgZHJhZnQiKTsKCQlhd2FpdCB2aWV3LnJlbmRlcig8U2Vzc2lvbkFwcCBhdXRoPXthdXRofSBjb25uZWN0PXtjb25uZWN0aW9ufSBoaXN0b3J5PXtoaXN0b3J5fSByZWNoZWNrPXtyZWNoZWNrfSBzZXNzaW9uSWQ9ImJvYiIgLz4pOwoJCWF3YWl0IGV2ZW50dWFsbHkoKCkgPT4gZXhwZWN0KGJvYi5jYWxscykudG9FcXVhbChbImxpc3QiXSkpOwoJCWV4cGVjdCh2aWV3LmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCJsaSIpKS50b0JlTnVsbCgpOwoJCWV4cGVjdCh2aWV3LmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpPy52YWx1ZSkudG9CZSgiIik7Cgl9KTsKfSk7Cg==","path":"src/client/SessionApp.dom.test.tsx"},{"content":"aW1wb3J0IHsgUmVnaXN0cnlDb250ZXh0IH0gZnJvbSAiQGVmZmVjdC9hdG9tLXJlYWN0IjsKaW1wb3J0IHsgdHlwZSBSb3V0ZXJIaXN0b3J5LCBSb3V0ZXJQcm92aWRlciB9IGZyb20gIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXIiOwppbXBvcnQgeyB1c2VDb250ZXh0LCB1c2VTdGF0ZSB9IGZyb20gInJlYWN0IjsKaW1wb3J0IHsgU2Vzc2lvbkJvdW5kYXJ5IH0gZnJvbSAiQHNoaXZhZWRldi9lZmZlY3QtcmVhY3Qvc2Vzc2lvbi1ib3VuZGFyeS50cyI7CmltcG9ydCB7IGFwcFJvdXRlciB9IGZyb20gIi4vYXBwUm91dGVyLnRzeCI7CmltcG9ydCB0eXBlIHsgQXV0aEFjdGlvbnMgfSBmcm9tICIuL2F1dGgudHMiOwppbXBvcnQgdHlwZSB7IE5vdGVzQ2xpZW50IH0gZnJvbSAiLi9tYWtlTm90ZXMudHMiOwoKaW50ZXJmYWNlIFNlc3Npb24gewoJcmVhZG9ubHkgaWQ6IHN0cmluZzsKfQppbnRlcmZhY2UgUm91dGluZyB7CglyZWFkb25seSBhdXRoOiBBdXRoQWN0aW9uczsKCXJlYWRvbmx5IGNsaWVudDogTm90ZXNDbGllbnQ7CglyZWFkb25seSBoaXN0b3J5OiBSb3V0ZXJIaXN0b3J5IHwgdW5kZWZpbmVkOwp9CgpmdW5jdGlvbiBSb3V0ZWRBcHAoeyBjbGllbnQsIGF1dGgsIGhpc3RvcnkgfTogUm91dGluZykgewoJY29uc3QgcmVnaXN0cnkgPSB1c2VDb250ZXh0KFJlZ2lzdHJ5Q29udGV4dCk7Cgljb25zdCBbcm91dGVyXSA9IHVzZVN0YXRlKCgpID0+IGFwcFJvdXRlcihyZWdpc3RyeSwgY2xpZW50LCBhdXRoLCBoaXN0b3J5KSk7CglyZXR1cm4gPFJvdXRlclByb3ZpZGVyIHJvdXRlcj17cm91dGVyfSAvPjsKfQoKZnVuY3Rpb24gaWRlbnRpZnkoc2Vzc2lvbjogU2Vzc2lvbikgewoJcmV0dXJuIHNlc3Npb24uaWQ7Cn0KCmV4cG9ydCBmdW5jdGlvbiBTZXNzaW9uQXBwKHsKCXNlc3Npb25JZCwKCXJlY2hlY2ssCglhdXRoLAoJY29ubmVjdDogY29ubmVjdGlvbiwKCWhpc3RvcnksCn06IHsKCXJlYWRvbmx5IHNlc3Npb25JZDogc3RyaW5nOwoJcmVhZG9ubHkgcmVjaGVjazogKCkgPT4gdm9pZDsKCXJlYWRvbmx5IGF1dGg6IEF1dGhBY3Rpb25zOwoJcmVhZG9ubHkgY29ubmVjdDogKHNlc3Npb246IFNlc3Npb24pID0+IE5vdGVzQ2xpZW50OwoJcmVhZG9ubHkgaGlzdG9yeT86IFJvdXRlckhpc3RvcnkgfCB1bmRlZmluZWQ7Cn0pIHsKCXJldHVybiAoCgkJPFNlc3Npb25Cb3VuZGFyeSBjb25uZWN0PXtjb25uZWN0aW9ufSBpZGVudGlmeT17aWRlbnRpZnl9IHJlY2hlY2s9e3JlY2hlY2t9IHNlc3Npb249e3sgaWQ6IHNlc3Npb25JZCB9fT4KCQkJeyhjbGllbnQpID0+IDxSb3V0ZWRBcHAgYXV0aD17YXV0aH0gY2xpZW50PXtjbGllbnR9IGhpc3Rvcnk9e2hpc3Rvcnl9IC8+fQoJCTwvU2Vzc2lvbkJvdW5kYXJ5PgoJKTsKfQo=","path":"src/client/SessionApp.tsx"},{"content":"aW1wb3J0IHsgY3JlYXRlUm9vdFJvdXRlV2l0aENvbnRleHQsIGNyZWF0ZVJvdXRlLCBjcmVhdGVSb3V0ZXIsIHR5cGUgUm91dGVySGlzdG9yeSB9IGZyb20gIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXIiOwppbXBvcnQgeyBTY2hlbWEgfSBmcm9tICJlZmZlY3QiOwppbXBvcnQgdHlwZSAqIGFzIEF0b21SZWdpc3RyeSBmcm9tICJlZmZlY3QvcmVhY3Rpdml0eS9BdG9tUmVnaXN0cnkiOwppbXBvcnQgeyBsb2FkUXVlcnkgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1yZWFjdC9yb3V0ZXIudHMiOwppbXBvcnQgdHlwZSB7IEF1dGhBY3Rpb25zIH0gZnJvbSAiLi9hdXRoLnRzIjsKaW1wb3J0IHsgTG9naW5TY3JlZW4gfSBmcm9tICIuL0xvZ2luU2NyZWVuLnRzeCI7CmltcG9ydCB0eXBlIHsgTm90ZXNDbGllbnQgfSBmcm9tICIuL21ha2VOb3Rlcy50cyI7CmltcG9ydCB7IE5vdGVFZGl0IH0gZnJvbSAiLi9Ob3RlRWRpdC50c3giOwppbXBvcnQgeyBOb3Rlc1NjcmVlbiB9IGZyb20gIi4vTm90ZXNTY3JlZW4udHN4IjsKaW1wb3J0IHsgUm91dGVGYWlsdXJlIH0gZnJvbSAiLi9Sb3V0ZUZhaWx1cmUudHN4IjsKCmV4cG9ydCBmdW5jdGlvbiBhcHBSb3V0ZXIocmVnaXN0cnk6IEF0b21SZWdpc3RyeS5BdG9tUmVnaXN0cnksIGNsaWVudDogTm90ZXNDbGllbnQsIGF1dGg6IEF1dGhBY3Rpb25zLCBoaXN0b3J5PzogUm91dGVySGlzdG9yeSkgewoJY29uc3Qgcm9vdCA9IGNyZWF0ZVJvb3RSb3V0ZVdpdGhDb250ZXh0PHsgcmVhZG9ubHkgcmVnaXN0cnk6IEF0b21SZWdpc3RyeS5BdG9tUmVnaXN0cnkgfT4oKSgpOwoJY29uc3Qgbm90ZXMgPSBjcmVhdGVSb3V0ZSh7CgkJY29tcG9uZW50OiAoKSA9PiA8Tm90ZXNTY3JlZW4gY2xpZW50PXtjbGllbnR9IG9uU2lnbk91dD17KCkgPT4gYXV0aC5zaWduT3V0KCl9IC8+LAoJCWVycm9yQ29tcG9uZW50OiBSb3V0ZUZhaWx1cmUsCgkJZ2V0UGFyZW50Um91dGU6ICgpID0+IHJvb3QsCgkJbG9hZGVyOiAoY29udGV4dCkgPT4gbG9hZFF1ZXJ5KGNvbnRleHQuY29udGV4dC5yZWdpc3RyeSwgY2xpZW50LmFwaS5saXN0LnF1ZXJ5KCksIGNvbnRleHQpLAoJCXBhdGg6ICIvIiwKCX0pOwoJY29uc3QgbG9naW4gPSBjcmVhdGVSb3V0ZSh7CgkJY29tcG9uZW50OiAoKSA9PiA8TG9naW5TY3JlZW4gYXV0aD17YXV0aH0gb25BdXRoZW50aWNhdGVkPXsoKSA9PiB2b2lkIHJvdXRlci5uYXZpZ2F0ZSh7IHRvOiAiLyIgfSl9IC8+LAoJCWdldFBhcmVudFJvdXRlOiAoKSA9PiByb290LAoJCXBhdGg6ICIvc2lnbi1pbiIsCgl9KTsKCWNvbnN0IG5vdGUgPSBjcmVhdGVSb3V0ZSh7CgkJY29tcG9uZW50OiAoKSA9PiB7CgkJCWNvbnN0IHsgbm90ZUlkIH0gPSBub3RlLnVzZVBhcmFtcygpOwoJCQlyZXR1cm4gPE5vdGVFZGl0IGNsaWVudD17Y2xpZW50fSBrZXk9e25vdGVJZH0gbm90ZUlkPXtub3RlSWR9IG9uRGVsZXRlZD17KCkgPT4gdm9pZCByb3V0ZXIubmF2aWdhdGUoeyB0bzogIi8iIH0pfSAvPjsKCQl9LAoJCWVycm9yQ29tcG9uZW50OiBSb3V0ZUZhaWx1cmUsCgkJZ2V0UGFyZW50Um91dGU6ICgpID0+IHJvb3QsCgkJbG9hZGVyOiAoY29udGV4dCkgPT4gbG9hZFF1ZXJ5KGNvbnRleHQuY29udGV4dC5yZWdpc3RyeSwgY2xpZW50LmFwaS5nZXQucXVlcnkoeyBpZDogY29udGV4dC5wYXJhbXMubm90ZUlkIH0pLCBjb250ZXh0KSwKCQlwYXJhbXM6IHsKCQkJcGFyc2U6ICh7IG5vdGVJZCB9KSA9PiAoeyBub3RlSWQ6IFNjaGVtYS5kZWNvZGVVbmtub3duU3luYyhTY2hlbWEuTnVtYmVyRnJvbVN0cmluZy5jaGVjayhTY2hlbWEuaXNJbnQoKSwgU2NoZW1hLmlzR3JlYXRlclRoYW4oMCkpKShub3RlSWQpIH0pLAoJCQlzdHJpbmdpZnk6ICh7IG5vdGVJZCB9OiB7IHJlYWRvbmx5IG5vdGVJZDogbnVtYmVyIH0pID0+ICh7IG5vdGVJZDogU3RyaW5nKG5vdGVJZCkgfSksCgkJfSwKCQlwYXRoOiAiL25vdGVzLyRub3RlSWQiLAoJfSk7Cgljb25zdCByb3V0ZXIgPSBjcmVhdGVSb3V0ZXIoewoJCWNvbnRleHQ6IHsgcmVnaXN0cnkgfSwKCQkuLi4oaGlzdG9yeSA9PT0gdW5kZWZpbmVkID8ge30gOiB7IGhpc3RvcnkgfSksCgkJcm91dGVUcmVlOiByb290LmFkZENoaWxkcmVuKFtub3RlcywgbG9naW4sIG5vdGVdKSwKCX0pOwoJcmV0dXJuIHJvdXRlcjsKfQo=","path":"src/client/appRouter.tsx"},{"content":"aW1wb3J0IHsgY3JlYXRlQXV0aENsaWVudCB9IGZyb20gImJldHRlci1hdXRoL3JlYWN0IjsKCmV4cG9ydCBpbnRlcmZhY2UgQ3JlZGVudGlhbHMgewoJcmVhZG9ubHkgZW1haWw6IHN0cmluZzsKCXJlYWRvbmx5IG5hbWU6IHN0cmluZzsKCXJlYWRvbmx5IHBhc3N3b3JkOiBzdHJpbmc7Cn0KCmV4cG9ydCBpbnRlcmZhY2UgQXV0aEFjdGlvbnMgewoJcmVhZG9ubHkgc2lnbk91dDogKCkgPT4gUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+OwoJcmVhZG9ubHkgc3VibWl0OiAobW9kZTogInNpZ24taW4iIHwgInNpZ24tdXAiLCBjcmVkZW50aWFsczogQ3JlZGVudGlhbHMpID0+IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPjsKfQoKZXhwb3J0IGZ1bmN0aW9uIG1ha2VBdXRoKG9wdGlvbnM6IHsKCXJlYWRvbmx5IGJhc2VVcmw6IHN0cmluZzsKCXJlYWRvbmx5IGZldGNoT3B0aW9ucz86IE5vbk51bGxhYmxlPFBhcmFtZXRlcnM8dHlwZW9mIGNyZWF0ZUF1dGhDbGllbnQ+WzBdPlsiZmV0Y2hPcHRpb25zIl07Cn0pIHsKCWNvbnN0IGNsaWVudCA9IGNyZWF0ZUF1dGhDbGllbnQoeyAiYmFzZVVSTCI6IG9wdGlvbnMuYmFzZVVybCwgLi4uKCJmZXRjaE9wdGlvbnMiIGluIG9wdGlvbnMgPyB7IGZldGNoT3B0aW9uczogb3B0aW9ucy5mZXRjaE9wdGlvbnMgfSA6IHt9KSB9KTsKCWNvbnN0IGFjdGlvbnM6IEF1dGhBY3Rpb25zID0gewoJCXNpZ25PdXQ6IGFzeW5jICgpID0+IHsKCQkJY29uc3QgcmVzdWx0ID0gYXdhaXQgY2xpZW50LnNpZ25PdXQoKTsKCQkJcmV0dXJuIHJlc3VsdC5lcnJvcj8ubWVzc2FnZTsKCQl9LAoJCXN1Ym1pdDogYXN5bmMgKG1vZGUsIGNyZWRlbnRpYWxzKSA9PiB7CgkJCWNvbnN0IHJlc3VsdCA9IG1vZGUgPT09ICJzaWduLXVwIiA/IGF3YWl0IGNsaWVudC5zaWduVXAuZW1haWwoY3JlZGVudGlhbHMpIDogYXdhaXQgY2xpZW50LnNpZ25Jbi5lbWFpbChjcmVkZW50aWFscyk7CgkJCXJldHVybiByZXN1bHQuZXJyb3I/Lm1lc3NhZ2U7CgkJfSwKCX07CglyZXR1cm4geyBhY3Rpb25zLCBjbGllbnQgfTsKfQoKZXhwb3J0IHR5cGUgQXV0aCA9IFJldHVyblR5cGU8dHlwZW9mIG1ha2VBdXRoPjsK","path":"src/client/auth.ts"},{"content":"aW1wb3J0IHsgY3JlYXRlTWVtb3J5SGlzdG9yeSwgUm91dGVyUHJvdmlkZXIgfSBmcm9tICJAdGFuc3RhY2svcmVhY3Qtcm91dGVyIjsKaW1wb3J0IHsgYWN0IH0gZnJvbSAicmVhY3QiOwppbXBvcnQgeyBiZWZvcmVFYWNoLCBleHBlY3QsIG9uVGVzdEZpbmlzaGVkLCB2aSB9IGZyb20gInZpdGVzdCI7CmltcG9ydCB7IGV2ZW50dWFsbHksIHJlbmRlciB9IGZyb20gIkBzaGl2YWVkZXYvZWZmZWN0LXJlYWN0L3Rlc3RpbmcudHMiOwppbXBvcnQgeyBVbmF1dGhvcml6ZWQgfSBmcm9tICJAc2hpdmFlZGV2L3BsYXRmb3JtL2Vycm9ycy90YXhvbm9teS50cyI7CmltcG9ydCB7IG5vdGVzQ2xpZW50IH0gZnJvbSAiI3Rlc3Qtc3VwcG9ydC9ub3Rlc0NsaWVudC50cyI7CmltcG9ydCB7IHNjcmVlbkF1dGggfSBmcm9tICIjdGVzdC1zdXBwb3J0L3NjcmVlbkF1dGgudHMiOwppbXBvcnQgeyBzY3JlZW5zIH0gZnJvbSAiI3Rlc3Qtc3VwcG9ydC9zY3JlZW5zLnRzIjsKaW1wb3J0IHsgYXBwUm91dGVyIH0gZnJvbSAiLi9hcHBSb3V0ZXIudHN4IjsKaW1wb3J0IHsgTm90ZXNTY3JlZW4gfSBmcm9tICIuL05vdGVzU2NyZWVuLnRzeCI7CgpPYmplY3QuYXNzaWduKGdsb2JhbFRoaXMsIHsgIklTX1JFQUNUX0FDVF9FTlZJUk9OTUVOVCI6IHRydWUgfSk7CmxldCBleHBlY3RlZEVycm9yczogcmVhZG9ubHkgKHJlYWRvbmx5IHVua25vd25bXSlbXSA9IFtdOwpiZWZvcmVFYWNoKCgpID0+IHsKCWV4cGVjdGVkRXJyb3JzID0gW107Cgljb25zdCBlcnJvcnMgPSB2aS5zcHlPbihjb25zb2xlLCAiZXJyb3IiKTsKCW9uVGVzdEZpbmlzaGVkKCgpID0+IHsKCQljb25zdCBjYWxscyA9IGVycm9ycy5tb2NrLmNhbGxzOwoJCWVycm9ycy5tb2NrUmVzdG9yZSgpOwoJCWV4cGVjdChjYWxscykudG9FcXVhbChleHBlY3RlZEVycm9ycyk7Cgl9KTsKfSk7CgpzY3JlZW5zLml0KCJzaG93cyB0aGUgcHJvdGVjdGVkIHJvdXRlJ3MgdHlwZWQgVW5hdXRob3JpemVkIGZhaWx1cmUgYW5kIGxpbmtzIHRvIHNpZ24taW4iLCBbXSwgZnVuY3Rpb24qICh7IGludGVyYWN0IH0pIHsKCXlpZWxkKiBpbnRlcmFjdChhc3luYyAoKSA9PiB7CgkJY29uc3QgY2xpZW50ID0gbm90ZXNDbGllbnQoKTsKCQljbGllbnQuc2Vzc2lvbi5zaWduZWRJbiA9IGZhbHNlOwoJCWV4cGVjdGVkRXJyb3JzID0gWwoJCQlbCgkJCQlleHBlY3QuYW55KFN0cmluZyksCgkJCQluZXcgVW5hdXRob3JpemVkKHsgbWVzc2FnZTogIkF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkIiB9KSwKCQkJCSJUaGUgYWJvdmUgZXJyb3Igb2NjdXJyZWQgaW4gdGhlIDxNYXRjaElubmVySW1wbD4gY29tcG9uZW50LiIsCgkJCQkiUmVhY3Qgd2lsbCB0cnkgdG8gcmVjcmVhdGUgdGhpcyBjb21wb25lbnQgdHJlZSBmcm9tIHNjcmF0Y2ggdXNpbmcgdGhlIGVycm9yIGJvdW5kYXJ5IHlvdSBwcm92aWRlZCwgQ2F0Y2hCb3VuZGFyeS4iLAoJCQldLAoJCV07CgkJY29uc3QgdmlldyA9IGF3YWl0IHJlbmRlcihudWxsKTsKCQlvblRlc3RGaW5pc2hlZCh2aWV3LnVubW91bnQpOwoJCWNvbnN0IHJvdXRlciA9IGFwcFJvdXRlcih2aWV3LnJlZ2lzdHJ5LCBjbGllbnQsIHNjcmVlbkF1dGgoKSwgY3JlYXRlTWVtb3J5SGlzdG9yeSh7IGluaXRpYWxFbnRyaWVzOiBbIi8iXSB9KSk7CgkJYXdhaXQgdmlldy5yZW5kZXIoPFJvdXRlclByb3ZpZGVyIHJvdXRlcj17cm91dGVyfSAvPik7CgkJYXdhaXQgZXZlbnR1YWxseSgoKSA9PiBleHBlY3Qodmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigiW3JvbGU9YWxlcnRdIik/LnRleHRDb250ZW50KS50b0JlKCJTaWduIGluIHRvIHZpZXcgeW91ciBub3Rlcy4iKSk7CgkJZXhwZWN0KHZpZXcuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoImEiKT8uZ2V0QXR0cmlidXRlKCJocmVmIikpLnRvQmUoIi9zaWduLWluIik7CgkJZXhwZWN0KHZpZXcuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoImZvcm0iKSkudG9CZU51bGwoKTsKCQlleHBlY3QoY2xpZW50LmNhbGxzKS50b0VxdWFsKFtdKTsKCX0pOwp9KTsKCnNjcmVlbnMuaXQoInNob3dzIHR5cGVkIGNvbW1hbmQgcmVqZWN0aW9uIGFmdGVyIGV4cGlyeSB3aXRob3V0IGNsZWFyaW5nIHRoZSBkcmFmdCIsIFtdLCBmdW5jdGlvbiogKHsgaW50ZXJhY3QgfSkgewoJeWllbGQqIGludGVyYWN0KGFzeW5jICgpID0+IHsKCQljb25zdCBjbGllbnQgPSBub3Rlc0NsaWVudCgpOwoJCWNvbnN0IHZpZXcgPSBhd2FpdCByZW5kZXIoPE5vdGVzU2NyZWVuIGNsaWVudD17Y2xpZW50fSAvPik7CgkJb25UZXN0RmluaXNoZWQodmlldy51bm1vdW50KTsKCQlhd2FpdCBldmVudHVhbGx5KCgpID0+IGV4cGVjdChjbGllbnQuY2FsbHMpLnRvRXF1YWwoWyJsaXN0Il0pKTsKCQljbGllbnQuc2Vzc2lvbi5zaWduZWRJbiA9IGZhbHNlOwoJCWNvbnN0IGlucHV0ID0gdmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigiaW5wdXQiKTsKCQlpZiAoIShpbnB1dCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQpKSB7CgkJCXRocm93IG5ldyBFcnJvcigiTWlzc2luZyBub3RlIGlucHV0Iik7CgkJfQoJCWF3YWl0IGFjdCgoKSA9PiB7CgkJCU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSFRNTElucHV0RWxlbWVudC5wcm90b3R5cGUsICJ2YWx1ZSIpPy5zZXQ/LmNhbGwoaW5wdXQsICJLZWVwIHRoaXMgZHJhZnQiKTsKCQkJaW5wdXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImlucHV0IiwgeyBidWJibGVzOiB0cnVlIH0pKTsKCQl9KTsKCQlhd2FpdCBhY3QoKCkgPT4gdmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigiZm9ybSIpPy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgic3VibWl0IiwgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pKSk7CgkJYXdhaXQgZXZlbnR1YWxseSgoKSA9PiBleHBlY3Qodmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigiW3JvbGU9YWxlcnRdIik/LnRleHRDb250ZW50KS50b0JlKCJTaWduIGluIHRvIGFkZCBhIG5vdGUuIikpOwoJCWV4cGVjdChpbnB1dC52YWx1ZSkudG9CZSgiS2VlcCB0aGlzIGRyYWZ0Iik7CgkJZXhwZWN0KGNsaWVudC5jYWxscykudG9FcXVhbChbImxpc3QiXSk7Cgl9KTsKfSk7CgpzY3JlZW5zLml0KCJjYWxscyBzaWduLW91dCBhbmQgc2hvd3MgYSBmYWlsZWQgc2lnbi1vdXQgd2l0aG91dCBjbGFpbWluZyBzdWNjZXNzIiwgW10sIGZ1bmN0aW9uKiAoeyBpbnRlcmFjdCB9KSB7Cgl5aWVsZCogaW50ZXJhY3QoYXN5bmMgKCkgPT4gewoJCWNvbnN0IGNsaWVudCA9IG5vdGVzQ2xpZW50KCk7CgkJbGV0IGNhbGxzID0gMDsKCQljb25zdCB2aWV3ID0gYXdhaXQgcmVuZGVyKAoJCQk8Tm90ZXNTY3JlZW4KCQkJCWNsaWVudD17Y2xpZW50fQoJCQkJb25TaWduT3V0PXsoKSA9PiB7CgkJCQkJY2FsbHMgKz0gMTsKCQkJCQlyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJDb3VsZCBub3Qgc2lnbiBvdXQiKTsKCQkJCX19CgkJCS8+LAoJCSk7CgkJb25UZXN0RmluaXNoZWQodmlldy51bm1vdW50KTsKCQlhd2FpdCBhY3QoYXN5bmMgKCkgPT4gewoJCQlbLi4udmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgiYnV0dG9uIildLmZpbmQoKGJ1dHRvbikgPT4gYnV0dG9uLnRleHRDb250ZW50ID09PSAiU2lnbiBvdXQiKT8uY2xpY2soKTsKCQkJYXdhaXQgUHJvbWlzZS5yZXNvbHZlKCk7CgkJfSk7CgkJZXhwZWN0KGNhbGxzKS50b0JlKDEpOwoJCWV4cGVjdCh2aWV3LmNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCJbcm9sZT1hbGVydF0iKT8udGV4dENvbnRlbnQpLnRvQmUoIkNvdWxkIG5vdCBzaWduIG91dCIpOwoJfSk7Cn0pOwo=","path":"src/client/authFailures.dom.spec.tsx"},{"content":"aW1wb3J0IHsgdHlwZSBDbGFzc1ZhbHVlLCBjbHN4IH0gZnJvbSAiY2xzeCI7CmltcG9ydCB7IHR3TWVyZ2UgfSBmcm9tICJ0YWlsd2luZC1tZXJnZSI7CgpleHBvcnQgZnVuY3Rpb24gY24oLi4uaW5wdXRzOiBDbGFzc1ZhbHVlW10pIHsKCXJldHVybiB0d01lcmdlKGNsc3goaW5wdXRzKSk7Cn0K","path":"src/client/cn.ts"},{"content":"QGltcG9ydCAidGFpbHdpbmRjc3MiIHNvdXJjZSgiLi8iKTsKCkB0aGVtZSBpbmxpbmUgewoJLS1jb2xvci1iYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kKTsKCS0tY29sb3ItZm9yZWdyb3VuZDogdmFyKC0tZm9yZWdyb3VuZCk7CgktLWNvbG9yLWNhcmQ6IHZhcigtLWJhY2tncm91bmQpOwoJLS1jb2xvci1wcmltYXJ5OiB2YXIoLS1mb3JlZ3JvdW5kKTsKCS0tY29sb3ItcHJpbWFyeS1mb3JlZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kKTsKCS0tY29sb3ItbXV0ZWQ6IHZhcigtLW11dGVkKTsKCS0tY29sb3ItbXV0ZWQtZm9yZWdyb3VuZDogdmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCk7CgktLWNvbG9yLWRlc3RydWN0aXZlOiBva2xjaCgwLjU3NyAwLjI0NSAyNy4zMjUpOwoJLS1jb2xvci1ib3JkZXI6IHZhcigtLWJvcmRlcik7CgktLWNvbG9yLWlucHV0OiB2YXIoLS1ib3JkZXIpOwoJLS1jb2xvci1yaW5nOiBva2xjaCgwLjcwOCAwIDApOwoJLS1yYWRpdXMtbWQ6IDAuNXJlbTsKCS0tcmFkaXVzLWxnOiAwLjYyNXJlbTsKfQoKOnJvb3QgewoJLS1iYWNrZ3JvdW5kOiBva2xjaCgxIDAgMCk7CgktLWZvcmVncm91bmQ6IG9rbGNoKDAuMTQ1IDAgMCk7CgktLW11dGVkOiBva2xjaCgwLjk3IDAgMCk7CgktLW11dGVkLWZvcmVncm91bmQ6IG9rbGNoKDAuNTU2IDAgMCk7CgktLWJvcmRlcjogb2tsY2goMC45MjIgMCAwKTsKfQoKQGxheWVyIGJhc2UgewoJKiB7CgkJQGFwcGx5IGJvcmRlci1ib3JkZXI7Cgl9Cglib2R5IHsKCQlAYXBwbHkgYmctYmFja2dyb3VuZCB0ZXh0LWZvcmVncm91bmQ7Cgl9Cn0K","path":"src/client/entry.css"},{"content":"aW1wb3J0IHsgY3JlYXRlUm9vdCB9IGZyb20gInJlYWN0LWRvbS9jbGllbnQiOwppbXBvcnQgeyBBcHAgfSBmcm9tICIuL0FwcC50c3giOwppbXBvcnQgeyBtYWtlQXV0aCB9IGZyb20gIi4vYXV0aC50cyI7CmltcG9ydCB7IG1ha2VOb3Rlc0NsaWVudCB9IGZyb20gIi4vbWFrZU5vdGVzLnRzIjsKaW1wb3J0ICIjY2xpZW50L2VudHJ5LmNzcyI7Cgpjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicm9vdCIpOwppZiAoY29udGFpbmVyID09PSBudWxsKSB7Cgl0aHJvdyBuZXcgRXJyb3IoIk1pc3NpbmcgYXBwbGljYXRpb24gcm9vdCIpOwp9CmNvbnN0IGF1dGggPSBtYWtlQXV0aCh7IGJhc2VVcmw6IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gfSk7CmZ1bmN0aW9uIGNvbm5lY3QoKSB7CglyZXR1cm4gbWFrZU5vdGVzQ2xpZW50KG5ldyBVUkwoIi9ycGMiLCB3aW5kb3cubG9jYXRpb24uaHJlZikuaHJlZik7Cn0KY3JlYXRlUm9vdChjb250YWluZXIpLnJlbmRlcig8QXBwIGF1dGg9e2F1dGh9IGNvbm5lY3Q9e2Nvbm5lY3R9IC8+KTsK","path":"src/client/entry.tsx"},{"content":"aW1wb3J0IHsgTGF5ZXIgfSBmcm9tICJlZmZlY3QiOwppbXBvcnQgeyBGZXRjaEh0dHBDbGllbnQgfSBmcm9tICJlZmZlY3QvaHR0cCI7CmltcG9ydCAqIGFzIEF0b21ScGMgZnJvbSAiZWZmZWN0L3JlYWN0aXZpdHkvQXRvbVJwYyI7CmltcG9ydCB7IFJwY0NsaWVudCwgUnBjU2VyaWFsaXphdGlvbiB9IGZyb20gImVmZmVjdC9ycGMiOwppbXBvcnQgeyBiaW5kIH0gZnJvbSAiQHNoaXZhZWRldi9lZmZlY3QtY29udHJhY3QvYmluZC50cyI7CmltcG9ydCB7IGxpdmUgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1jb250cmFjdC9saXZlLnRzIjsKaW1wb3J0IHsgcmVzdW1lU2lnbmFsIH0gZnJvbSAiQHNoaXZhZWRldi9lZmZlY3QtY29udHJhY3QvcmVzdW1lLnRzIjsKaW1wb3J0IHsgTm90ZXMsIFN1YnNjcmliZSB9IGZyb20gIiNub3Rlcy50cyI7CgpleHBvcnQgZnVuY3Rpb24gbWFrZU5vdGVzQ2xpZW50KHVybDogc3RyaW5nLCB0cmFuc2Zvcm1DbGllbnQ/OiBOb25OdWxsYWJsZTxQYXJhbWV0ZXJzPHR5cGVvZiBScGNDbGllbnQubGF5ZXJQcm90b2NvbEh0dHA+WzBdWyJ0cmFuc2Zvcm1DbGllbnQiXT4pIHsKCWNsYXNzIE5vdGVzQ2xpZW50IGV4dGVuZHMgQXRvbVJwYy5TZXJ2aWNlPE5vdGVzQ2xpZW50PigpKCJzdGFydGVyL05vdGVzQ2xpZW50IiwgewoJCWdyb3VwOiBOb3RlcywKCQlwcm90b2NvbDogUnBjQ2xpZW50LmxheWVyUHJvdG9jb2xIdHRwKHsgLi4uKHRyYW5zZm9ybUNsaWVudCA9PT0gdW5kZWZpbmVkID8ge30gOiB7IHRyYW5zZm9ybUNsaWVudCB9KSwgdXJsIH0pLnBpcGUoCgkJCUxheWVyLnByb3ZpZGUoW0ZldGNoSHR0cENsaWVudC5sYXllciwgUnBjU2VyaWFsaXphdGlvbi5sYXllck5kanNvbl0pLAoJCSksCgl9KSB7fQoJY29uc3QgYXBpID0gYmluZChOb3RlcywgTm90ZXNDbGllbnQpOwoJY29uc3Qgc3Vic2NyaXB0aW9uID0gbGl2ZShOb3Rlc0NsaWVudC5ydW50aW1lLCB7CgkJcmVzdW1lOiByZXN1bWVTaWduYWwodHlwZW9mIHdpbmRvdyA9PT0gInVuZGVmaW5lZCIgPyB7fSA6IHsgd2luZG93IH0pLAoJCXJlc3luY0tleXM6IFN1YnNjcmliZS5yZWFkcyh1bmRlZmluZWQpLAoJCXN0cmVhbTogYXBpLnN1YnNjcmliZS5ydW4odW5kZWZpbmVkKSwKCX0pOwoJcmV0dXJuIHsgYXBpLCBydW50aW1lOiBOb3Rlc0NsaWVudC5ydW50aW1lLCAuLi5zdWJzY3JpcHRpb24gfTsKfQoKZXhwb3J0IHR5cGUgTm90ZXNDbGllbnQgPSBSZXR1cm5UeXBlPHR5cGVvZiBtYWtlTm90ZXNDbGllbnQ+Owo=","path":"src/client/makeNotes.ts"},{"content":"ZGVjbGFyZSBtb2R1bGUgIiouY3NzIiB7fQo=","path":"src/client/styles.d.ts"},{"content":"aW1wb3J0IHsgU2NoZW1hIH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgTW9kZWwgfSBmcm9tICJlZmZlY3Qvc2NoZW1hIjsKaW1wb3J0IHsgY29udHJhY3QgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1jb250cmFjdC9jb250cmFjdC50cyI7CmltcG9ydCB7IGNvbGxlY3Rpb24gfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1jb250cmFjdC9rZXlzLnRzIjsKaW1wb3J0IHsgTGl2ZUhpbnQgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1jb250cmFjdC9saXZlLnRzIjsKaW1wb3J0IHsgY29tbWFuZCwgcXVlcnksIHN0cmVhbSB9IGZyb20gIkBzaGl2YWVkZXYvZWZmZWN0LWNvbnRyYWN0L29wZXJhdGlvbi50cyI7CmltcG9ydCB7IGZpZWxkUmVqZWN0aW9uIH0gZnJvbSAiQHNoaXZhZWRldi9lZmZlY3QtY29udHJhY3QvcmVqZWN0aW9uLnRzIjsKaW1wb3J0IHsgQ29uZmxpY3QsIE5vdEZvdW5kLCBTZXJ2aWNlVW5hdmFpbGFibGUgfSBmcm9tICJAc2hpdmFlZGV2L3BsYXRmb3JtL2Vycm9ycy90YXhvbm9teS50cyI7CmltcG9ydCB7IEF1dGhlbnRpY2F0ZWRVc2VyIH0gZnJvbSAiQHNoaXZhZWRldi9wbGF0Zm9ybS9ycGMvbWlkZGxld2FyZS50cyI7CgpleHBvcnQgY2xhc3MgTm90ZSBleHRlbmRzIE1vZGVsLkNsYXNzPE5vdGU+KCJOb3RlIikoewoJaWQ6IE1vZGVsLkZpZWxkKHsganNvbjogU2NoZW1hLk51bWJlciwgc2VsZWN0OiBTY2hlbWEuTnVtYmVyLCB1cGRhdGU6IFNjaGVtYS5OdW1iZXIgfSksCgl0aXRsZTogU2NoZW1hLk5vbkVtcHR5U3RyaW5nLAoJdmVyc2lvbjogTW9kZWwuRmllbGQoeyBqc29uOiBTY2hlbWEuTnVtYmVyLCBzZWxlY3Q6IFNjaGVtYS5OdW1iZXIsIHVwZGF0ZTogU2NoZW1hLk51bWJlciB9KSwKCXdvcmRDb3VudDogU2NoZW1hLk51bGxPcihTY2hlbWEuTnVtYmVyKSwKfSkge30KZXhwb3J0IGNvbnN0IE5vdGVGaWVsZHMgPSBTY2hlbWEuU3RydWN0KHsgdGl0bGU6IE5vdGUuZmllbGRzLnRpdGxlIH0pOwpleHBvcnQgY29uc3QgTm90ZUVkaXRGaWVsZHMgPSBTY2hlbWEuU3RydWN0KHsgdGl0bGU6IE5vdGUuZmllbGRzLnRpdGxlLCB2ZXJzaW9uOiBOb3RlLmZpZWxkcy52ZXJzaW9uIH0pOwpjb25zdCBOb3RlSWQgPSBTY2hlbWEuU3RydWN0KHsgaWQ6IFNjaGVtYS5OdW1iZXIgfSk7CmNvbnN0IE5vdGVWZXJzaW9uID0gU2NoZW1hLlN0cnVjdCh7IC4uLk5vdGVJZC5maWVsZHMsIHZlcnNpb246IE5vdGUuZmllbGRzLnZlcnNpb24gfSk7CmV4cG9ydCBjb25zdCBub3RlcyA9IGNvbGxlY3Rpb24oInN0YXJ0ZXJOb3RlcyIsIFNjaGVtYS5OdW1iZXIpOwpleHBvcnQgY29uc3QgR2V0ID0gcXVlcnkoImdldCIsIHsKCXBheWxvYWQ6IE5vdGVJZCwKCXJlYWRzOiAoeyBpZCB9KSA9PiBbbm90ZXMuaXRlbShpZCksIG5vdGVzLmxpc3RdLAoJcmVqZWN0aW9uczogeyBOb3RGb3VuZCwgU2VydmljZVVuYXZhaWxhYmxlIH0sCglzdWNjZXNzOiBOb3RlLmpzb24sCn0pOwpleHBvcnQgY29uc3QgTGlzdCA9IHF1ZXJ5KCJsaXN0IiwgewoJcmVhZHM6ICgpID0+IFtub3Rlcy5saXN0XSwKCXJlamVjdGlvbnM6IHsgU2VydmljZVVuYXZhaWxhYmxlIH0sCglzdWNjZXNzOiBTY2hlbWEuQXJyYXkoTm90ZS5qc29uKSwKfSk7CmV4cG9ydCBjb25zdCBDcmVhdGUgPSBjb21tYW5kKCJjcmVhdGUiLCB7CglpbnZhbGlkYXRlczogKF9pbnB1dCwgcm93KSA9PiBbbm90ZXMuaXRlbShyb3cuaWQpXSwKCXBheWxvYWQ6IE5vdGVGaWVsZHMsCglyZWplY3Rpb25zOiB7IEludmFsaWQ6IGZpZWxkUmVqZWN0aW9uKE5vdGVGaWVsZHMpLCBTZXJ2aWNlVW5hdmFpbGFibGUgfSwKCXN1Y2Nlc3M6IE5vdGUuanNvbiwKfSk7CmV4cG9ydCBjb25zdCBTdWJzY3JpYmUgPSBzdHJlYW0oInN1YnNjcmliZSIsIHsKCXJlYWRzOiAoKSA9PiBbbm90ZXMubGlzdF0sCglzdWNjZXNzOiBMaXZlSGludCwKfSk7CmV4cG9ydCBjb25zdCBVcGRhdGUgPSBjb21tYW5kKCJ1cGRhdGUiLCB7CglpbnZhbGlkYXRlczogKHsgaWQgfSkgPT4gW25vdGVzLml0ZW0oaWQpXSwKCXBheWxvYWQ6IFNjaGVtYS5TdHJ1Y3QoeyAuLi5Ob3RlSWQuZmllbGRzLCAuLi5Ob3RlRWRpdEZpZWxkcy5maWVsZHMgfSksCglyZWplY3Rpb25zOiB7IENvbmZsaWN0LCBJbnZhbGlkOiBmaWVsZFJlamVjdGlvbihOb3RlRWRpdEZpZWxkcyksIE5vdEZvdW5kLCBTZXJ2aWNlVW5hdmFpbGFibGUgfSwKCXN1Y2Nlc3M6IE5vdGUuanNvbiwKfSk7CmV4cG9ydCBjb25zdCBEZWxldGUgPSBjb21tYW5kKCJkZWxldGUiLCB7CglpbnZhbGlkYXRlczogKHsgaWQgfSkgPT4gW25vdGVzLml0ZW0oaWQpXSwKCXBheWxvYWQ6IE5vdGVWZXJzaW9uLAoJcmVqZWN0aW9uczogeyBDb25mbGljdCwgTm90Rm91bmQsIFNlcnZpY2VVbmF2YWlsYWJsZSB9LAoJc3VjY2VzczogU2NoZW1hLlZvaWQsCn0pOwpleHBvcnQgY29uc3QgV2hvYW1pID0gcXVlcnkoIndob2FtaSIsIHsKCXJlYWRzOiAoKSA9PiBbXSwKCXN1Y2Nlc3M6IFNjaGVtYS5TdHJ1Y3QoeyBlbWFpbDogU2NoZW1hLlN0cmluZywgaWQ6IFNjaGVtYS5TdHJpbmcsIG5hbWU6IFNjaGVtYS5TdHJpbmcgfSksCn0pOwpleHBvcnQgY29uc3QgTm90ZXMgPSBjb250cmFjdCgibm90ZXMiLCB7IGNvbW1hbmRzOiBbQ3JlYXRlLCBVcGRhdGUsIERlbGV0ZV0sIHF1ZXJpZXM6IFtMaXN0LCBHZXQsIFdob2FtaV0sIHN0cmVhbXM6IFtTdWJzY3JpYmVdIH0pLm1pZGRsZXdhcmUoCglBdXRoZW50aWNhdGVkVXNlciwKKTsK","path":"src/notes.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0IH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0ICogYXMgUmVhY3Rpdml0eSBmcm9tICJlZmZlY3QvcmVhY3Rpdml0eS9SZWFjdGl2aXR5IjsKaW1wb3J0IHsgU3FsQ2xpZW50IH0gZnJvbSAiZWZmZWN0L3NxbCI7CmltcG9ydCB7IGludmFsaWRhdGlvbktleXMgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1jb250cmFjdC9rZXlzLnRzIjsKaW1wb3J0IHsgZGVmaW5lU2VydmljZSB9IGZyb20gIkBzaGl2YWVkZXYvZWZmZWN0LXNlcnZpY2UvZGVmaW5lLXNlcnZpY2UudHMiOwppbXBvcnQgeyBpbnZhbGlkYXRlT25Db21taXQsIHRyYW5zYWN0IH0gZnJvbSAiQHNoaXZhZWRldi9lZmZlY3Qtc3FsL3RyYW5zYWN0LnRzIjsKaW1wb3J0IHsgQ29uZmxpY3QsIE5vdEZvdW5kLCBTZXJ2aWNlVW5hdmFpbGFibGUgfSBmcm9tICJAc2hpdmFlZGV2L3BsYXRmb3JtL2Vycm9ycy90YXhvbm9teS50cyI7CmltcG9ydCB7IENyZWF0ZSwgdHlwZSBEZWxldGUsIG5vdGVzLCBVcGRhdGUgfSBmcm9tICIjbm90ZXMudHMiOwppbXBvcnQgeyBqb2JEYXRhYmFzZSB9IGZyb20gIi4vam9iRGF0YWJhc2UudHMiOwppbXBvcnQgeyBtYWtlTm90ZXNSZXBvc2l0b3J5IH0gZnJvbSAiLi9tYWtlTm90ZXNSZXBvc2l0b3J5LnRzIjsKaW1wb3J0IHsgQ291bnRXb3JkcywgTm90ZUpvYnMgfSBmcm9tICIuL25vdGVKb2JzLnRzIjsKCmZ1bmN0aW9uIHVuYXZhaWxhYmxlKCkgewoJcmV0dXJuIG5ldyBTZXJ2aWNlVW5hdmFpbGFibGUoeyBtZXNzYWdlOiAiQ291bGQgbm90IHJlYWNoIHRoZSBub3RlcyBkYXRhYmFzZSIgfSk7Cn0KZnVuY3Rpb24gd3JpdGVGYWlsdXJlKGVycm9yOiB7IHJlYWRvbmx5IF90YWc6IHN0cmluZyB9KSB7CglyZXR1cm4gZXJyb3IuX3RhZyA9PT0gIk9wdGltaXN0aWNDb25jdXJyZW5jeUVycm9yIgoJCT8gbmV3IENvbmZsaWN0KHsgbWVzc2FnZTogIlRoaXMgbm90ZSBjaGFuZ2VkLiBSZWZyZXNoIGFuZCByZXZpZXcgeW91ciBkcmFmdCBiZWZvcmUgdHJ5aW5nIGFnYWluLiIgfSkKCQk6IHVuYXZhaWxhYmxlKCk7Cn0KCmV4cG9ydCBjb25zdCBOb3Rlc1NlcnZpY2UgPSBkZWZpbmVTZXJ2aWNlKHsKCWlkOiAic3RhcnRlci9Ob3Rlc1NlcnZpY2UiLAoJaW5pdGlhbGl6ZTogbWFrZU5vdGVzUmVwb3NpdG9yeSwKCW1ldGhvZHM6IChyZXBvc2l0b3J5KSA9PiB7CgkJZnVuY3Rpb24gZ2V0KGlkOiBudW1iZXIsIG93bmVySWQ6IHN0cmluZykgewoJCQlyZXR1cm4gRWZmZWN0LmdlbihmdW5jdGlvbiogKCkgewoJCQkJY29uc3Qgcm93cyA9IHlpZWxkKiByZXBvc2l0b3J5LmZpbmRNYW55KHsgbGltaXQ6IDEsIHdoZXJlOiB7IGlkLCBvd25lcklkIH0gfSkucGlwZShFZmZlY3QubWFwRXJyb3IodW5hdmFpbGFibGUpKTsKCQkJCXJldHVybiByb3dzWzBdID8/ICh5aWVsZCogRWZmZWN0LmZhaWwobmV3IE5vdEZvdW5kKHsgbWVzc2FnZTogIk5vdGUgbm90IGZvdW5kIiB9KSkpOwoJCQl9KTsKCQl9CgkJZnVuY3Rpb24gZW5xdWV1ZShub3RlSWQ6IG51bWJlcikgewoJCQlyZXR1cm4gRWZmZWN0LmdlbihmdW5jdGlvbiogKCkgewoJCQkJY29uc3Qgam9icyA9IHlpZWxkKiBOb3RlSm9iczsKCQkJCWNvbnN0IGRiID0geWllbGQqIGpvYkRhdGFiYXNlOwoJCQkJeWllbGQqIGpvYnMuZW5xdWV1ZShDb3VudFdvcmRzLCB7IG5vdGVJZCB9LCB7IGRiIH0pLnBpcGUoRWZmZWN0Lm1hcEVycm9yKHVuYXZhaWxhYmxlKSk7CgkJCQl5aWVsZCogaW52YWxpZGF0ZU9uQ29tbWl0KGludmFsaWRhdGlvbktleXMoW25vdGVzLml0ZW0obm90ZUlkKV0pKTsKCQkJfSk7CgkJfQoJCXJldHVybiB7CgkJCWNyZWF0ZTogKHsgdGl0bGUgfTogdHlwZW9mIENyZWF0ZS5wYXlsb2FkLlR5cGUsIG93bmVySWQ6IHN0cmluZykgPT4KCQkJCUVmZmVjdC5nZW4oZnVuY3Rpb24qICgpIHsKCQkJCQljb25zdCB0cmltbWVkID0gdGl0bGUudHJpbSgpOwoJCQkJCWlmICh0cmltbWVkID09PSAiIikgewoJCQkJCQlyZXR1cm4geWllbGQqIENyZWF0ZS5yZWplY3QuSW52YWxpZCh7IGZpZWxkOiAidGl0bGUiLCBtZXNzYWdlOiAiRW50ZXIgYSB0aXRsZSIgfSk7CgkJCQkJfQoJCQkJCWNvbnN0IHJvdyA9IHlpZWxkKiByZXBvc2l0b3J5Lmluc2VydCh7IG93bmVySWQsIHRpdGxlOiB0cmltbWVkLCB3b3JkQ291bnQ6IG51bGwgfSkucGlwZShFZmZlY3QubWFwRXJyb3IodW5hdmFpbGFibGUpKTsKCQkJCQl5aWVsZCogZW5xdWV1ZShyb3cuaWQpOwoJCQkJCXJldHVybiByb3c7CgkJCQl9KS5waXBlKHRyYW5zYWN0KHsgb25TcWxFcnJvcjogdW5hdmFpbGFibGUgfSkpLAoJCQlkZWxldGU6IChpbnB1dDogdHlwZW9mIERlbGV0ZS5wYXlsb2FkLlR5cGUsIG93bmVySWQ6IHN0cmluZykgPT4KCQkJCUVmZmVjdC5nZW4oZnVuY3Rpb24qICgpIHsKCQkJCQl5aWVsZCogZ2V0KGlucHV0LmlkLCBvd25lcklkKTsKCQkJCQl5aWVsZCogcmVwb3NpdG9yeS5kZWxldGUoaW5wdXQuaWQsIGlucHV0LnZlcnNpb24pLnBpcGUoRWZmZWN0Lm1hcEVycm9yKHdyaXRlRmFpbHVyZSkpOwoJCQkJCXlpZWxkKiBpbnZhbGlkYXRlT25Db21taXQoaW52YWxpZGF0aW9uS2V5cyhbbm90ZXMuaXRlbShpbnB1dC5pZCldKSk7CgkJCQl9KS5waXBlKHRyYW5zYWN0KHsgb25TcWxFcnJvcjogdW5hdmFpbGFibGUgfSkpLAoJCQlnZXQsCgkJCWxpc3Q6IChvd25lcklkOiBzdHJpbmcpID0+CgkJCQlyZXBvc2l0b3J5CgkJCQkJLmZpbmRNYW55KHsgb3JkZXJCeTogeyBkaXJlY3Rpb246ICJkZXNjIiwgZmllbGQ6ICJpZCIgfSwgc2VsZWN0OiBbImlkIiwgInRpdGxlIiwgIndvcmRDb3VudCIsICJ2ZXJzaW9uIl0sIHdoZXJlOiB7IG93bmVySWQgfSB9KQoJCQkJCS5waXBlKEVmZmVjdC5tYXBFcnJvcih1bmF2YWlsYWJsZSkpLAoJCQl1cGRhdGU6IChpbnB1dDogdHlwZW9mIFVwZGF0ZS5wYXlsb2FkLlR5cGUsIG93bmVySWQ6IHN0cmluZykgPT4KCQkJCUVmZmVjdC5nZW4oZnVuY3Rpb24qICgpIHsKCQkJCQljb25zdCByb3cgPSB5aWVsZCogZ2V0KGlucHV0LmlkLCBvd25lcklkKTsKCQkJCQljb25zdCB0aXRsZSA9IGlucHV0LnRpdGxlLnRyaW0oKTsKCQkJCQlpZiAodGl0bGUgPT09ICIiKSB7CgkJCQkJCXJldHVybiB5aWVsZCogVXBkYXRlLnJlamVjdC5JbnZhbGlkKHsgZmllbGQ6ICJ0aXRsZSIsIG1lc3NhZ2U6ICJFbnRlciBhIHRpdGxlIiB9KTsKCQkJCQl9CgkJCQkJY29uc3Qgc2F2ZWQgPSB5aWVsZCogcmVwb3NpdG9yeS51cGRhdGUoeyAuLi5yb3csIC4uLmlucHV0LCB0aXRsZSwgd29yZENvdW50OiBudWxsIH0pLnBpcGUoRWZmZWN0Lm1hcEVycm9yKHdyaXRlRmFpbHVyZSkpOwoJCQkJCXlpZWxkKiBlbnF1ZXVlKHNhdmVkLmlkKTsKCQkJCQlyZXR1cm4gc2F2ZWQ7CgkJCQl9KS5waXBlKHRyYW5zYWN0KHsgb25TcWxFcnJvcjogdW5hdmFpbGFibGUgfSkpLAoJCX07Cgl9LAoJcmVxdWlyZXM6IFtTcWxDbGllbnQuU3FsQ2xpZW50LCBSZWFjdGl2aXR5LlJlYWN0aXZpdHksIE5vdGVKb2JzXSwKfSk7Cg==","path":"src/server/NotesService.ts"},{"content":"aW1wb3J0IHsgYmV0dGVyQXV0aCB9IGZyb20gImJldHRlci1hdXRoIjsKaW1wb3J0IHsgQ29uZmlnLCBFZmZlY3QsIE9wdGlvbiwgUmVkYWN0ZWQgfSBmcm9tICJlZmZlY3QiOwppbXBvcnQgeyBIdHRwUm91dGVyLCBIdHRwU2VydmVyUmVxdWVzdCwgSHR0cFNlcnZlclJlc3BvbnNlIH0gZnJvbSAiZWZmZWN0L2h0dHAiOwppbXBvcnQgeyBiZXR0ZXJBdXRoU2Vzc2lvbnMgfSBmcm9tICJAc2hpdmFlZGV2L3BsYXRmb3JtL3JwYy1zZXJ2ZXIvYWRhcHRlcnMvYmV0dGVyLWF1dGgtc2Vzc2lvbnMudHMiOwppbXBvcnQgeyB0cnVzdGVkUHJveHlQZWVyLCB0cnVzdGVkUHJveHlSYW5nZXMgfSBmcm9tICJAc2hpdmFlZGV2L3BsYXRmb3JtL3JwYy1zZXJ2ZXIvbG9jYWwudHMiOwppbXBvcnQgeyBhdXRoRGF0YWJhc2UgfSBmcm9tICIuL2F1dGhEYXRhYmFzZS50cyI7CgpleHBvcnQgY29uc3QgbWFrZUF1dGggPSBFZmZlY3QuZm4oIlN0YXJ0ZXIubWFrZUF1dGgiKShmdW5jdGlvbiogKGNvbmZpZzogewoJcmVhZG9ubHkgZGF0YWJhc2VVcmw6IFJlZGFjdGVkLlJlZGFjdGVkPHN0cmluZz47CglyZWFkb25seSBzZWNyZXQ/OiBSZWRhY3RlZC5SZWRhY3RlZDxzdHJpbmc+Owp9KSB7Cgljb25zdCBzZWNyZXQgPSBjb25maWcuc2VjcmV0ID8/ICh5aWVsZCogQ29uZmlnLlJlZGFjdGVkKCJCRVRURVJfQVVUSF9TRUNSRVQiKSk7Cgljb25zdCBwdWJsaWNVcmwgPSB5aWVsZCogQ29uZmlnLlVSTCgiUFVCTElDX1VSTCIpLnBpcGUoQ29uZmlnLm9wdGlvbik7Cgljb25zdCBvcmlnaW4gPSBPcHRpb24ubWFwKHB1YmxpY1VybCwgKHVybCkgPT4gdXJsLm9yaWdpbik7Cgljb25zdCB0cnVzdGVkUHJveHkgPSBPcHRpb24uZ2V0T3JVbmRlZmluZWQoeWllbGQqIENvbmZpZy5TdHJpbmcoIlRSVVNURURfUFJPWFkiKS5waXBlKENvbmZpZy5vcHRpb24pKTsKCWNvbnN0IGlzVHJ1c3RlZFByb3h5ID0gdHJ1c3RlZFByb3h5UGVlcih0cnVzdGVkUHJveHkpOwoJY29uc3QgdHJ1c3RlZFByb3hpZXMgPSB0cnVzdGVkUHJveHlSYW5nZXModHJ1c3RlZFByb3h5KTsKCWNvbnN0IHBvb2wgPSB5aWVsZCogYXV0aERhdGFiYXNlKGNvbmZpZy5kYXRhYmFzZVVybCk7Cgljb25zdCBhdXRoID0gYmV0dGVyQXV0aCh7CgkJYWR2YW5jZWQ6IHsKCQkJaXBBZGRyZXNzOiB7CgkJCQlpcEFkZHJlc3NIZWFkZXJzOiB0cnVzdGVkUHJveGllcy5sZW5ndGggPT09IDAgPyBbXSA6IFsieC1mb3J3YXJkZWQtZm9yIl0sCgkJCQl0cnVzdGVkUHJveGllcywKCQkJfSwKCQkJdXNlU2VjdXJlQ29va2llczogT3B0aW9uLmlzU29tZShwdWJsaWNVcmwpICYmIHB1YmxpY1VybC52YWx1ZS5wcm90b2NvbCA9PT0gImh0dHBzOiIsCgkJfSwKCQkiYmFzZVVSTCI6IE9wdGlvbi5nZXRPckVsc2Uob3JpZ2luLCAoKSA9PiAoeyBhbGxvd2VkSG9zdHM6IFsiMTI3LjAuMC4xOioiXSwgcHJvdG9jb2w6ICJodHRwIiBhcyBjb25zdCB9KSksCgkJZGF0YWJhc2U6IHBvb2wsCgkJZW1haWxBbmRQYXNzd29yZDogeyBlbmFibGVkOiB0cnVlIH0sCgkJc2VjcmV0OiBSZWRhY3RlZC52YWx1ZShzZWNyZXQpLAoJCXNlc3Npb246IHsgY29va2llQ2FjaGU6IHsgZW5hYmxlZDogZmFsc2UgfSB9LAoJCXRydXN0ZWRPcmlnaW5zOiBbT3B0aW9uLmdldE9yRWxzZShvcmlnaW4sICgpID0+ICJodHRwOi8vMTI3LjAuMC4xOioiKV0sCgl9KTsKCWNvbnN0IHJvdXRlcyA9IEh0dHBSb3V0ZXIudXNlKChyb3V0ZXIpID0+CgkJcm91dGVyLmFkZCgiKiIsICIvYXBpL2F1dGgvKiIsIChyZXF1ZXN0KSA9PgoJCQlFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoKSB7CgkJCQljb25zdCB3ZWIgPSB5aWVsZCogSHR0cFNlcnZlclJlcXVlc3QudG9XZWIocmVxdWVzdCk7CgkJCQlpZiAoIU9wdGlvbi5leGlzdHMocmVxdWVzdC5yZW1vdGVBZGRyZXNzLCBpc1RydXN0ZWRQcm94eSkpIHsKCQkJCQl3ZWIuaGVhZGVycy5kZWxldGUoIngtZm9yd2FyZGVkLWZvciIpOwoJCQkJfQoJCQkJcmV0dXJuIEh0dHBTZXJ2ZXJSZXNwb25zZS5mcm9tV2ViKHlpZWxkKiBFZmZlY3QudHJ5UHJvbWlzZSgoKSA9PiBhdXRoLmhhbmRsZXIod2ViKSkpOwoJCQl9KS5waXBlKEVmZmVjdC5jYXRjaCgoKSA9PiBFZmZlY3Quc3VjY2VlZChIdHRwU2VydmVyUmVzcG9uc2UudGV4dCgiQXV0aGVudGljYXRpb24gaXMgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUiLCB7IHN0YXR1czogNTAzIH0pKSkpLAoJCSksCgkpOwoJcmV0dXJuIHsKCQlhdXRoLAoJCXJvdXRlcywKCQlzZXNzaW9uczogewoJCQlvcmlnaW46ICh7IGhlYWRlcnMgfTogeyByZWFkb25seSBoZWFkZXJzOiBSZWFkb25seTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB9KSA9PgoJCQkJaGVhZGVycy5vcmlnaW4gPT09IHVuZGVmaW5lZCB8fCBoZWFkZXJzLm9yaWdpbiA9PT0gT3B0aW9uLmdldE9yRWxzZShvcmlnaW4sICgpID0+IGBodHRwOi8vJHtoZWFkZXJzLmhvc3R9YCksCgkJCXByb3ZpZGVyOiBiZXR0ZXJBdXRoU2Vzc2lvbnMoKGhlYWRlcnMpID0+IGF1dGguYXBpLmdldFNlc3Npb24oeyBoZWFkZXJzIH0pKSwKCQl9LAoJfTsKfSk7CgpleHBvcnQgdHlwZSBTdGFydGVyQXV0aCA9IEVmZmVjdC5TdWNjZXNzPFJldHVyblR5cGU8dHlwZW9mIG1ha2VBdXRoPj5bImF1dGgiXTsK","path":"src/server/auth.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0LCBSZXN1bHQgfSBmcm9tICJlZmZlY3QiOwppbXBvcnQgeyBleHBlY3QgfSBmcm9tICJ2aXRlc3QiOwppbXBvcnQgeyBVbmF1dGhvcml6ZWQgfSBmcm9tICJAc2hpdmFlZGV2L3BsYXRmb3JtL2Vycm9ycy90YXhvbm9teS50cyI7CmltcG9ydCB7IGFwcCB9IGZyb20gIiN0ZXN0LXN1cHBvcnQvYXBwbGljYXRpb24udHMiOwppbXBvcnQgeyBjcmVkZW50aWFscyB9IGZyb20gIiN0ZXN0LXN1cHBvcnQvYXV0aEh0dHAudHMiOwoKYXBwLml0KCJ0YXJnZXRzIGl0cyBvd24gaG9zdCBmb3IgYXV0aCBhY3Rpb25zIGFuZCBzZXNzaW9uIGNoZWNrcyIsIFtdLCBmdW5jdGlvbiogKHsgYXV0aENsaWVudCwgYXV0aGVudGljYXRlLCBub3RlcyB9KSB7Cgljb25zdCBhdXRoID0gYXV0aENsaWVudCgpOwoJY29uc3QgYWNjb3VudCA9IGNyZWRlbnRpYWxzKCJjbGllbnQtdXNlciIpOwoJZXhwZWN0KCh5aWVsZCogRWZmZWN0LnByb21pc2UoKCkgPT4gYXV0aC5jbGllbnQuZ2V0U2Vzc2lvbigpKSkuZGF0YSkudG9CZU51bGwoKTsKCWV4cGVjdCh5aWVsZCogRWZmZWN0LnByb21pc2UoKCkgPT4gYXV0aC5hY3Rpb25zLnN1Ym1pdCgic2lnbi11cCIsIGFjY291bnQpKSkudG9CZVVuZGVmaW5lZCgpOwoJZXhwZWN0KHlpZWxkKiBFZmZlY3QucHJvbWlzZSgoKSA9PiBhdXRoLmFjdGlvbnMuc3VibWl0KCJzaWduLWluIiwgYWNjb3VudCkpKS50b0JlVW5kZWZpbmVkKCk7Cgljb25zdCBjb29raWUgPSB5aWVsZCogYXV0aGVudGljYXRlKCJjbGllbnQtdXNlciIsICJzaWduLWluL2VtYWlsIik7Cgljb25zdCBzaWduZWRJbiA9IGF1dGhDbGllbnQoY29va2llKTsKCWNvbnN0IHNlc3Npb24gPSB5aWVsZCogRWZmZWN0LnByb21pc2UoKCkgPT4gc2lnbmVkSW4uY2xpZW50LmdldFNlc3Npb24oKSk7CglleHBlY3Qoc2Vzc2lvbi5kYXRhPy51c2VyKS50b01hdGNoT2JqZWN0KHsgZW1haWw6IGFjY291bnQuZW1haWwsIG5hbWU6IGFjY291bnQubmFtZSB9KTsKCWNvbnN0IGNsaWVudCA9IHlpZWxkKiBub3Rlcyhjb29raWUpOwoJZXhwZWN0KHlpZWxkKiBjbGllbnQud2hvYW1pKCkpLnRvRXF1YWwoeyBlbWFpbDogYWNjb3VudC5lbWFpbCwgaWQ6IHNlc3Npb24uZGF0YT8udXNlci5pZCwgbmFtZTogYWNjb3VudC5uYW1lIH0pOwoJZXhwZWN0KHlpZWxkKiBFZmZlY3QucHJvbWlzZSgoKSA9PiBzaWduZWRJbi5hY3Rpb25zLnNpZ25PdXQoKSkpLnRvQmVVbmRlZmluZWQoKTsKCWV4cGVjdCgoeWllbGQqIEVmZmVjdC5wcm9taXNlKCgpID0+IHNpZ25lZEluLmNsaWVudC5nZXRTZXNzaW9uKCkpKS5kYXRhKS50b0JlTnVsbCgpOwoJY29uc3QgcmV2b2tlZCA9IHlpZWxkKiBjbGllbnQud2hvYW1pKCkucGlwZShFZmZlY3QucmVzdWx0KTsKCWV4cGVjdChSZXN1bHQuaXNGYWlsdXJlKHJldm9rZWQpICYmIHJldm9rZWQuZmFpbHVyZSkudG9CZUluc3RhbmNlT2YoVW5hdXRob3JpemVkKTsKfSk7Cg==","path":"src/server/authClient.spec.ts"},{"content":"aW1wb3J0IHsgZXhwZWN0IH0gZnJvbSAidml0ZXN0IjsKaW1wb3J0IHsgYXBwIH0gZnJvbSAiI3Rlc3Qtc3VwcG9ydC9hcHBsaWNhdGlvbi50cyI7Cgpmb3IgKGNvbnN0IHRydXN0ZWRQcm94eSBvZiBbIjEyNy4wLjAuMSIsICIgMTkyLjAuMi4xLCAxMjcuMC4wLjAvOCwgMjAwMTpkYjg6Oi8zMiAiLCAiOjpmZmZmOjEyNy4wLjAuMC8xMDQiLCAiOjpmZmZmOjdmMDA6MC8xMDQiXSkgewoJYXBwLml0KGBpc29sYXRlcyBwcm9kdWN0aW9uIHNpZ24taW4gbGltaXRzIHRocm91Z2ggYSB0cnVzdGVkIHByb3h5ICgke3RydXN0ZWRQcm94eX0pIHdpdGhvdXQgYW4gSVAgd2FybmluZ2AsIFtdLCBmdW5jdGlvbiogKHsgYXV0aFJhdGVMaW1pdHMgfSkgewoJCWNvbnN0IGxpbWl0cyA9IHlpZWxkKiBhdXRoUmF0ZUxpbWl0cyh0cnVzdGVkUHJveHkpOwoJCWNvbnN0IGFsaWNlID0geWllbGQqIGxpbWl0cy52aXNpdG9yKCIxOTguNTEuMTAwLjEwLCAxMjcuMC4wLjEiKTsKCQljb25zdCBib2IgPSB5aWVsZCogbGltaXRzLnZpc2l0b3IoIjE5OC41MS4xMDAuMjAsIDEyNy4wLjAuMSIpOwoJCWZvciAobGV0IGF0dGVtcHQgPSAwOyBhdHRlbXB0IDwgMzsgYXR0ZW1wdCArPSAxKSB7CgkJCWV4cGVjdCh5aWVsZCogYWxpY2Uuc2lnbkluKCkpLnRvQmUoNDAxKTsKCQl9CgkJZXhwZWN0KHlpZWxkKiBhbGljZS5zaWduSW4oKSkudG9CZSg0MjkpOwoJCWV4cGVjdCh5aWVsZCogYm9iLnNpZ25JbigpKS50b0JlKDQwMSk7CgkJZXhwZWN0KGxpbWl0cy5vdXRwdXQoKSkubm90LnRvQ29udGFpbigiY291bGQgbm90IGRldGVybWluZSBhIGNsaWVudCBJUCIpOwoJCWV4cGVjdChsaW1pdHMub3V0cHV0KCkpLm5vdC50b0NvbnRhaW4oIklnbm9yaW5nIGludmFsaWQiKTsKCX0pOwp9CmZvciAoY29uc3QgdHJ1c3RlZFByb3h5IG9mIFt1bmRlZmluZWQsICIxMjcuMC4wLjIiLCAiOjpmZmZmOjEyNi4wLjAuMC8xMDQiXSkgewoJYXBwLml0KGBpZ25vcmVzIGZvcndhcmRlZCBjbGllbnQgSVBzIHdoZW4gcHJveHkgdHJ1c3QgaXMgJHt0cnVzdGVkUHJveHkgPz8gInVuc2V0In1gLCBbXSwgZnVuY3Rpb24qICh7IGF1dGhSYXRlTGltaXRzIH0pIHsKCQljb25zdCBsaW1pdHMgPSB5aWVsZCogYXV0aFJhdGVMaW1pdHModHJ1c3RlZFByb3h5KTsKCQljb25zdCBhbGljZSA9IHlpZWxkKiBsaW1pdHMudmlzaXRvcigiMTk4LjUxLjEwMC4xMCIpOwoJCWNvbnN0IGJvYiA9IHlpZWxkKiBsaW1pdHMudmlzaXRvcigiMTk4LjUxLjEwMC4yMCIpOwoJCWZvciAobGV0IGF0dGVtcHQgPSAwOyBhdHRlbXB0IDwgMzsgYXR0ZW1wdCArPSAxKSB7CgkJCWV4cGVjdCh5aWVsZCogYWxpY2Uuc2lnbkluKCkpLnRvQmUoNDAxKTsKCQl9CgkJZXhwZWN0KHlpZWxkKiBib2Iuc2lnbkluKCkpLnRvQmUoNDI5KTsKCQlleHBlY3QobGltaXRzLm91dHB1dCgpKS50b0NvbnRhaW4oImNvdWxkIG5vdCBkZXRlcm1pbmUgYSBjbGllbnQgSVAiKTsKCX0pOwp9Cg==","path":"src/server/authClientIp.spec.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0LCBSZWRhY3RlZCB9IGZyb20gImVmZmVjdCI7CmltcG9ydCB7IFBvb2wsIHR5cGUgUG9vbENsaWVudCB9IGZyb20gInBnIjsKCmV4cG9ydCBjb25zdCBhdXRoRGF0YWJhc2UgPSBFZmZlY3QuZm4oIlN0YXJ0ZXIuYXV0aERhdGFiYXNlIikoZnVuY3Rpb24qICh1cmw6IFJlZGFjdGVkLlJlZGFjdGVkPHN0cmluZz4pIHsKCWNvbnN0IGNsaWVudHMgPSBuZXcgU2V0PFBvb2xDbGllbnQ+KCk7CglyZXR1cm4geWllbGQqIEVmZmVjdC5hY3F1aXJlUmVsZWFzZSgKCQlFZmZlY3Quc3luYygoKSA9PiB7CgkJCWNvbnN0IHBvb2wgPSBuZXcgUG9vbCh7IGNvbm5lY3Rpb25TdHJpbmc6IFJlZGFjdGVkLnZhbHVlKHVybCkgfSk7CgkJCXBvb2wub24oImNvbm5lY3QiLCAoY2xpZW50KSA9PiBjbGllbnRzLmFkZChjbGllbnQpKTsKCQkJcG9vbC5vbigicmVtb3ZlIiwgKGNsaWVudCkgPT4gY2xpZW50cy5kZWxldGUoY2xpZW50KSk7CgkJCXJldHVybiBwb29sOwoJCX0pLAoJCShwb29sKSA9PgoJCQlFZmZlY3QucHJvbWlzZShhc3luYyAoKSA9PiB7CgkJCQkvLyBwZy1wb29sIHJlc29sdmVzIGVuZCBiZWZvcmUgaXRzIGNsaWVudHMgZmluaXNoIGRpc2Nvbm5lY3RpbmcuCgkJCQljb25zdCBkaXNjb25uZWN0ZWQgPSBbLi4uY2xpZW50c10ubWFwKChjbGllbnQpID0+IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiBjbGllbnQub25jZSgiZW5kIiwgcmVzb2x2ZSkpKTsKCQkJCWF3YWl0IHBvb2wuZW5kKCk7CgkJCQlhd2FpdCBQcm9taXNlLmFsbChkaXNjb25uZWN0ZWQpOwoJCQl9KSwKCSk7Cn0pOwo=","path":"src/server/authDatabase.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0LCBSZXN1bHQgfSBmcm9tICJlZmZlY3QiOwppbXBvcnQgKiBhcyBBc3luY1Jlc3VsdCBmcm9tICJlZmZlY3QvcmVhY3Rpdml0eS9Bc3luY1Jlc3VsdCI7CmltcG9ydCB7IFNxbENsaWVudCB9IGZyb20gImVmZmVjdC9zcWwiOwppbXBvcnQgeyBleHBlY3QsIHZpIH0gZnJvbSAidml0ZXN0IjsKaW1wb3J0IHsgdHJhbnNhY3QgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1zcWwvdHJhbnNhY3QudHMiOwppbXBvcnQgeyBhcHAsIHNpZ25lZEluIH0gZnJvbSAiI3Rlc3Qtc3VwcG9ydC9hcHBsaWNhdGlvbi50cyI7CmltcG9ydCB7IE5vdGVzU2VydmljZSB9IGZyb20gIi4vTm90ZXNTZXJ2aWNlLnRzIjsKCmFwcC5pdCgKCSJydW5zIGNvbW1pdHRlZCBqb2JzIG9uY2UgdGhyb3VnaCB0aGUgd29ya2VyIGRhdGFiYXNlIGFuZCByZWZldGNoZXMgdGhlIGxpdmUgY2xpZW50LCB3aGlsZSByb2xsYmFjayBkaXNjYXJkcyBhIGpvYiIsCglbc2lnbmVkSW4oKV0sCglmdW5jdGlvbiogKHsgYWN0b3IsIHJ1bm5pbmdIb3N0LCBzdGFydFdvcmtlciwgbGl2ZU5vdGVzIH0pIHsKCQljb25zdCBzcWwgPSB5aWVsZCogU3FsQ2xpZW50LlNxbENsaWVudDsKCQljb25zdCB7IGNvbnRleHQgfSA9IHJ1bm5pbmdIb3N0KCk7CgkJY29uc3QgeyBub3RlczogaHR0cCB9ID0gYWN0b3IoKTsKCQljb25zdCB7IGxpc3QsIHJlZ2lzdHJ5IH0gPSB5aWVsZCogbGl2ZU5vdGVzKCk7CgkJY29uc3Qgbm90ZSA9IHlpZWxkKiBodHRwLmNyZWF0ZSh7IHRpdGxlOiAiQ291bnQgdGhlc2UgdGhyZWUgd29yZHMiIH0pOwoJCWV4cGVjdChub3RlLndvcmRDb3VudCkudG9CZU51bGwoKTsKCQl5aWVsZCogRWZmZWN0LnByb21pc2UoKCkgPT4gdmkud2FpdEZvcigoKSA9PiBleHBlY3QoQXN5bmNSZXN1bHQuZ2V0T3JFbHNlKHJlZ2lzdHJ5LmdldChsaXN0KSwgKCkgPT4gW10pKS50b0VxdWFsKFtub3RlXSkpKTsKCQljb25zdCB1c2VycyA9IHlpZWxkKiBzcWw8eyBpZDogc3RyaW5nIH0+YHNlbGVjdCBpZCBmcm9tICJ1c2VyIiB3aGVyZSBlbWFpbCA9ICdhbGljZUBzdGFydGVyLnRlc3QnYDsKCQljb25zdCBvd25lcklkID0gdXNlcnNbMF0/LmlkOwoJCWlmIChvd25lcklkID09PSB1bmRlZmluZWQpIHsKCQkJcmV0dXJuIHlpZWxkKiBFZmZlY3QuZGllKCJNaXNzaW5nIGFjY291bnQiKTsKCQl9CgkJY29uc3Qgcm9sbGJhY2sgPSB5aWVsZCogRWZmZWN0LmdlbihmdW5jdGlvbiogKCkgewoJCQljb25zdCBzZXJ2aWNlID0geWllbGQqIE5vdGVzU2VydmljZTsKCQkJeWllbGQqIHNlcnZpY2UuY3JlYXRlKHsgdGl0bGU6ICJSb2xsZWQgYmFjayIgfSwgb3duZXJJZCk7CgkJCXJldHVybiB5aWVsZCogRWZmZWN0LmZhaWwoInJvbGxiYWNrIik7CgkJfSkucGlwZSh0cmFuc2FjdCh7IG9uU3FsRXJyb3I6IChlcnJvcikgPT4gZXJyb3IgfSksIEVmZmVjdC5wcm92aWRlKGNvbnRleHQpLCBFZmZlY3QucmVzdWx0KTsKCQlleHBlY3QoUmVzdWx0LmlzRmFpbHVyZShyb2xsYmFjaykgJiYgcm9sbGJhY2suZmFpbHVyZSkudG9CZSgicm9sbGJhY2siKTsKCQlleHBlY3QoeWllbGQqIHNxbGBzZWxlY3QgY291bnQoKik6OmludCBhcyBjb3VudCBmcm9tIHBnYm9zcy5qb2Igd2hlcmUgbmFtZSA9ICdjb3VudC1ub3RlLXdvcmRzJ2ApLnRvRXF1YWwoW3sgY291bnQ6IDEgfV0pOwoJCXlpZWxkKiBFZmZlY3Quc2xlZXAoIjEyMDAgbWlsbGlzIik7CgkJZXhwZWN0KHlpZWxkKiBzcWxgc2VsZWN0ICJ3b3JkQ291bnQiIGZyb20gc3RhcnRlcl9ub3RlcyB3aGVyZSBpZCA9ICR7bm90ZS5pZH1gKS50b0VxdWFsKFt7IHdvcmRDb3VudDogbnVsbCB9XSk7CgkJeWllbGQqIHN0YXJ0V29ya2VyKCk7CgkJeWllbGQqIEVmZmVjdC5wcm9taXNlKCgpID0+CgkJCXZpLndhaXRGb3IoKCkgPT4gZXhwZWN0KEFzeW5jUmVzdWx0LmdldE9yRWxzZShyZWdpc3RyeS5nZXQobGlzdCksICgpID0+IFtdKSkudG9FcXVhbChbeyAuLi5ub3RlLCB2ZXJzaW9uOiAxLCB3b3JkQ291bnQ6IDQgfV0pLCB7CgkJCQl0aW1lb3V0OiA1MDAwLAoJCQl9KSwKCQkpOwoJCWNvbnN0IHNlY29uZCA9IHlpZWxkKiBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoKSB7CgkJCWNvbnN0IHNlcnZpY2UgPSB5aWVsZCogTm90ZXNTZXJ2aWNlOwoJCQljb25zdCBwZW5kaW5nID0geWllbGQqIHNlcnZpY2UuY3JlYXRlKHsgdGl0bGU6ICJBZnRlciBjb21taXQiIH0sIG93bmVySWQpOwoJCQlleHBlY3QoeWllbGQqIHNxbGBzZWxlY3QgY291bnQoKik6OmludCBhcyBjb3VudCBmcm9tIHBnYm9zcy5qb2Igd2hlcmUgbmFtZSA9ICdjb3VudC1ub3RlLXdvcmRzJ2ApLnRvRXF1YWwoW3sgY291bnQ6IDEgfV0pOwoJCQl5aWVsZCogRWZmZWN0LnNsZWVwKCIxMjAwIG1pbGxpcyIpOwoJCQljb25zdCB0cmFuc2FjdGlvblNxbCA9IHlpZWxkKiBTcWxDbGllbnQuU3FsQ2xpZW50OwoJCQlleHBlY3QoeWllbGQqIHRyYW5zYWN0aW9uU3FsYHNlbGVjdCAid29yZENvdW50IiBmcm9tIHN0YXJ0ZXJfbm90ZXMgd2hlcmUgaWQgPSAke3BlbmRpbmcuaWR9YCkudG9FcXVhbChbeyB3b3JkQ291bnQ6IG51bGwgfV0pOwoJCQlyZXR1cm4gcGVuZGluZzsKCQl9KS5waXBlKHRyYW5zYWN0KHsgb25TcWxFcnJvcjogKGVycm9yKSA9PiBlcnJvciB9KSwgRWZmZWN0LnByb3ZpZGUoY29udGV4dCkpOwoJCXlpZWxkKiBFZmZlY3QucHJvbWlzZSgoKSA9PgoJCQl2aS53YWl0Rm9yKAoJCQkJKCkgPT4KCQkJCQlleHBlY3QoQXN5bmNSZXN1bHQuZ2V0T3JFbHNlKHJlZ2lzdHJ5LmdldChsaXN0KSwgKCkgPT4gW10pKS50b0VxdWFsKFsKCQkJCQkJeyBpZDogc2Vjb25kLmlkLCB0aXRsZTogc2Vjb25kLnRpdGxlLCB2ZXJzaW9uOiAxLCB3b3JkQ291bnQ6IDIgfSwKCQkJCQkJeyAuLi5ub3RlLCB2ZXJzaW9uOiAxLCB3b3JkQ291bnQ6IDQgfSwKCQkJCQldKSwKCQkJCXsgdGltZW91dDogNTAwMCB9LAoJCQkpLAoJCSk7CgkJY29uc3QgY29tcGxldGVkID0gc3FsYHNlbGVjdCBzdGF0ZSwgcmV0cnlfY291bnQgYXMgInJldHJ5Q291bnQiIGZyb20gcGdib3NzLmpvYiB3aGVyZSBuYW1lID0gJ2NvdW50LW5vdGUtd29yZHMnIG9yZGVyIGJ5IGNyZWF0ZWRfb25gOwoJCXlpZWxkKiBFZmZlY3QucHJvbWlzZSgoKSA9PgoJCQl2aS53YWl0Rm9yKAoJCQkJYXN5bmMgKCkgPT4KCQkJCQlleHBlY3QoYXdhaXQgRWZmZWN0LnJ1blByb21pc2UoY29tcGxldGVkKSkudG9FcXVhbChbCgkJCQkJCXsgcmV0cnlDb3VudDogMCwgc3RhdGU6ICJjb21wbGV0ZWQiIH0sCgkJCQkJCXsgcmV0cnlDb3VudDogMCwgc3RhdGU6ICJjb21wbGV0ZWQiIH0sCgkJCQkJXSksCgkJCQl7IHRpbWVvdXQ6IDUwMDAgfSwKCQkJKSwKCQkpOwoJCWV4cGVjdCh5aWVsZCogc3FsYHNlbGVjdCBjb3VudCgqKTo6aW50IGFzIGNvdW50IGZyb20gc3RhcnRlcl9ub3Rlc2ApLnRvRXF1YWwoW3sgY291bnQ6IDIgfV0pOwoJfSwKCTE1XzAwMCwKKTsK","path":"src/server/committedJobs.spec.ts"},{"content":"aW1wb3J0IHsgY29va2llQXBwIH0gZnJvbSAiI3Rlc3Qtc3VwcG9ydC9jb29raWVBcHAudHMiOwoKY29va2llQXBwLml0KCJzaWduLXVwIGFuZCBzaWduLWluIGtlZXAgdGhlaXIgY29va2llIHNlc3Npb25zIGFnYWluc3QgdGhlIFBvc3RncmVTUUwgaG9zdCIsIFtdLCBmdW5jdGlvbiogKHsgc2lnblVwLCBzaWduSW4sIHNpZ25PdXQsIHNlc3Npb25JcyB9KSB7Cgl5aWVsZCogc2lnblVwKCk7Cgl5aWVsZCogc2Vzc2lvbklzKCJhbGljZUBzdGFydGVyLnRlc3QiKTsKCXlpZWxkKiBzaWduT3V0KCk7Cgl5aWVsZCogc2Vzc2lvbklzKG51bGwpOwoJeWllbGQqIHNpZ25JbigpOwoJeWllbGQqIHNlc3Npb25JcygiYWxpY2VAc3RhcnRlci50ZXN0Iik7Cgl5aWVsZCogc2lnbk91dCgpOwoJeWllbGQqIHNlc3Npb25JcyhudWxsKTsKfSk7Cg==","path":"src/server/cookieSessions.dom.spec.ts"},{"content":"aW1wb3J0IHR5cGUgeyBSZWRhY3RlZCB9IGZyb20gImVmZmVjdCI7CmltcG9ydCB0eXBlIHsgU3RhcnRlckF1dGggfSBmcm9tICIuL2F1dGgudHMiOwppbXBvcnQgeyBtaWdyYXRpb25zIH0gZnJvbSAiLi9taWdyYXRpb25zLnRzIjsKCmV4cG9ydCBmdW5jdGlvbiBkYXRhYmFzZU9wdGlvbnMoYXV0aDogU3RhcnRlckF1dGgsIGRhdGFiYXNlVXJsOiBSZWRhY3RlZC5SZWRhY3RlZDxzdHJpbmc+KSB7CglyZXR1cm4gewoJCWNvbmZpZzogeyBjaGFuZ2VzOiB7IGNoYW5uZWw6ICJzdGFydGVyX25vdGVzX2NoYW5nZXMiIH0sIGRhdGFiYXNlVXJsIH0sCgkJbWlncmF0aW9uczogbWlncmF0aW9ucyhhdXRoKSwKCX07Cn0K","path":"src/server/databaseOptions.ts"},{"content":"aW1wb3J0IHByb2Nlc3MgZnJvbSAibm9kZTpwcm9jZXNzIjsKaW1wb3J0IHsgTm9kZVJ1bnRpbWUsIE5vZGVTZXJ2aWNlcyB9IGZyb20gIkBlZmZlY3QvcGxhdGZvcm0tbm9kZSI7CmltcG9ydCB7IEVmZmVjdCB9IGZyb20gImVmZmVjdCI7CmltcG9ydCB7IENoaWxkUHJvY2VzcywgQ2hpbGRQcm9jZXNzU3Bhd25lciB9IGZyb20gImVmZmVjdC9wcm9jZXNzIjsKCmNvbnN0IHByb2dyYW0gPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoKSB7Cgljb25zdCBzcGF3bmVyID0geWllbGQqIENoaWxkUHJvY2Vzc1NwYXduZXIuQ2hpbGRQcm9jZXNzU3Bhd25lcjsKCWNvbnN0IG9wdGlvbnMgPSB7IHN0ZGVycjogImluaGVyaXQiLCBzdGRvdXQ6ICJpbmhlcml0IiB9IGFzIGNvbnN0OwoJY29uc3Qgc2VydmVyID0gQ2hpbGRQcm9jZXNzLm1ha2UocHJvY2Vzcy5leGVjUGF0aCwgWyItLXdhdGNoIiwgInNyYy9zZXJ2ZXIvc2VydmVyLnRzIl0sIG9wdGlvbnMpOwoJY29uc3Qgdml0ZSA9IENoaWxkUHJvY2Vzcy5tYWtlKCJwbnBtIiwgWyJleGVjIiwgInZpdGUiXSwgb3B0aW9ucyk7Cgljb25zdCB3b3JrZXIgPSBDaGlsZFByb2Nlc3MubWFrZShwcm9jZXNzLmV4ZWNQYXRoLCBbIi0td2F0Y2giLCAic3JjL3NlcnZlci93b3JrZXIudHMiXSwgb3B0aW9ucyk7Cglwcm9jZXNzLmV4aXRDb2RlID0geWllbGQqIEVmZmVjdC5yYWNlQWxsKFtzcGF3bmVyLmV4aXRDb2RlKHNlcnZlciksIHNwYXduZXIuZXhpdENvZGUod29ya2VyKSwgc3Bhd25lci5leGl0Q29kZSh2aXRlKV0pOwp9KTsKCk5vZGVSdW50aW1lLnJ1bk1haW4ocHJvZ3JhbS5waXBlKEVmZmVjdC5wcm92aWRlKE5vZGVTZXJ2aWNlcy5sYXllcikpKTsK","path":"src/server/dev.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0IH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgU3FsQ2xpZW50IH0gZnJvbSAiZWZmZWN0L3NxbCI7CgpleHBvcnQgY29uc3Qgam9iRGF0YWJhc2UgPSBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoKSB7Cgljb25zdCBzcWwgPSB5aWVsZCogU3FsQ2xpZW50LlNxbENsaWVudDsKCWNvbnN0IGNvbnRleHQgPSB5aWVsZCogRWZmZWN0LmNvbnRleHQ8bmV2ZXI+KCk7CglyZXR1cm4gewoJCWV4ZWN1dGVTcWw6ICh0ZXh0OiBzdHJpbmcsIHZhbHVlcz86IHVua25vd25bXSkgPT4KCQkJRWZmZWN0LnJ1blByb21pc2UoCgkJCQlzcWwudW5zYWZlKHRleHQsIHZhbHVlcykucGlwZSgKCQkJCQlFZmZlY3QucHJvdmlkZShjb250ZXh0KSwKCQkJCQlFZmZlY3QubWFwKChyb3dzKSA9PiAoeyByb3dzOiBbLi4ucm93c10gfSkpLAoJCQkJKSwKCQkJKSwKCX07Cn0pOwo=","path":"src/server/jobDatabase.ts"},{"content":"aW1wb3J0IHsgU2NoZW1hIH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgTW9kZWwgfSBmcm9tICJlZmZlY3Qvc2NoZW1hIjsKaW1wb3J0IHsgbWFrZVJlcG9zaXRvcnkgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1zcWwvcmVwb3NpdG9yeS50cyI7CmltcG9ydCB7IE5vdGUgfSBmcm9tICIjbm90ZXMudHMiOwoKZXhwb3J0IGNsYXNzIFN0b3JlZE5vdGUgZXh0ZW5kcyBNb2RlbC5DbGFzczxTdG9yZWROb3RlPigiU3RvcmVkTm90ZSIpKHsKCWlkOiBNb2RlbC5GaWVsZCh7IGpzb246IFNjaGVtYS5OdW1iZXIsIHNlbGVjdDogU2NoZW1hLk51bWJlciwgdXBkYXRlOiBTY2hlbWEuTnVtYmVyIH0pLAoJb3duZXJJZDogU2NoZW1hLk51bGxPcihTY2hlbWEuU3RyaW5nKSwKCXRpdGxlOiBOb3RlLmZpZWxkcy50aXRsZSwKCXZlcnNpb246IE1vZGVsLkZpZWxkKHsganNvbjogU2NoZW1hLk51bWJlciwgc2VsZWN0OiBTY2hlbWEuTnVtYmVyLCB1cGRhdGU6IFNjaGVtYS5OdW1iZXIgfSksCgl3b3JkQ291bnQ6IE5vdGUuZmllbGRzLndvcmRDb3VudCwKfSkge30KCmV4cG9ydCBjb25zdCBtYWtlTm90ZXNSZXBvc2l0b3J5ID0gbWFrZVJlcG9zaXRvcnkoU3RvcmVkTm90ZSwgewoJaWRDb2x1bW46ICJpZCIsCglzcGFuUHJlZml4OiAiTm90ZXMiLAoJdGFibGVOYW1lOiAic3RhcnRlcl9ub3RlcyIsCgl2ZXJzaW9uQ29sdW1uOiAidmVyc2lvbiIsCn0pOwo=","path":"src/server/makeNotesRepository.ts"},{"content":"aW1wb3J0IHsgTm9kZVJ1bnRpbWUsIE5vZGVTZXJ2aWNlcyB9IGZyb20gIkBlZmZlY3QvcGxhdGZvcm0tbm9kZSI7CmltcG9ydCB7IEVmZmVjdCB9IGZyb20gImVmZmVjdCI7CmltcG9ydCB7IG1pZ3JhdGVEYXRhYmFzZSB9IGZyb20gIi4vbWlncmF0ZURhdGFiYXNlLnRzIjsKCk5vZGVSdW50aW1lLnJ1bk1haW4obWlncmF0ZURhdGFiYXNlLnBpcGUoRWZmZWN0LnNjb3BlZCwgRWZmZWN0LnByb3ZpZGUoTm9kZVNlcnZpY2VzLmxheWVyKSkpOwo=","path":"src/server/migrate.ts"},{"content":"aW1wb3J0IHByb2Nlc3MgZnJvbSAibm9kZTpwcm9jZXNzIjsKaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCB9IGZyb20gIm5vZGU6dXJsIjsKaW1wb3J0IHsgTm9kZVNlcnZpY2VzIH0gZnJvbSAiQGVmZmVjdC9wbGF0Zm9ybS1ub2RlIjsKaW1wb3J0IHsgQ29uZmlnUHJvdmlkZXIsIEVmZmVjdCwgUmVkYWN0ZWQgfSBmcm9tICJlZmZlY3QiOwppbXBvcnQgeyBDaGlsZFByb2Nlc3MsIENoaWxkUHJvY2Vzc1NwYXduZXIgfSBmcm9tICJlZmZlY3QvcHJvY2VzcyI7CmltcG9ydCB7IFNxbENsaWVudCB9IGZyb20gImVmZmVjdC9zcWwiOwppbXBvcnQgeyBleHBlY3QgfSBmcm9tICJ2aXRlc3QiOwppbXBvcnQgeyBQb3N0Z3Jlc1Rlc3REYXRhYmFzZSB9IGZyb20gIkBzaGl2YWVkZXYvZWZmZWN0LXRlc3Qtc3FsL2RhdGFiYXNlLnRzIjsKaW1wb3J0IHsgbWlncmF0aW9uIH0gZnJvbSAiI3Rlc3Qtc3VwcG9ydC9taWdyYXRpb24udHMiOwppbXBvcnQgeyBtaWdyYXRlRGF0YWJhc2UgfSBmcm9tICIuL21pZ3JhdGVEYXRhYmFzZS50cyI7CgptaWdyYXRpb24uaXQoImFwcGxpZXMgZGVwbG95bWVudCBtaWdyYXRpb25zIHdpdGhvdXQgc3RhcnRpbmcgSFRUUCBhbmQgc2FmZWx5IHJ1bnMgYWdhaW4iLCBbXSwgZnVuY3Rpb24qICgpIHsKCWNvbnN0IGRhdGFiYXNlID0geWllbGQqIFBvc3RncmVzVGVzdERhdGFiYXNlOwoJY29uc3QgZW52aXJvbm1lbnQgPSB7CgkJIkJFVFRFUl9BVVRIX1NFQ1JFVCI6ICJtaWdyYXRpb24tdGVzdC1zZWNyZXQtd2l0aC1hdC1sZWFzdC0zMi1jaGFyYWN0ZXJzIiwKCQkiREFUQUJBU0VfVVJMIjogUmVkYWN0ZWQudmFsdWUoZGF0YWJhc2UudXJsKSwKCX07Cgljb25zdCBjb2RlID0geWllbGQqIEVmZmVjdC5mbGF0TWFwKENoaWxkUHJvY2Vzc1NwYXduZXIuQ2hpbGRQcm9jZXNzU3Bhd25lciwgKHNwYXduZXIpID0+CgkJc3Bhd25lci5leGl0Q29kZSgKCQkJQ2hpbGRQcm9jZXNzLm1ha2UocHJvY2Vzcy5leGVjUGF0aCwgW2ZpbGVVUkxUb1BhdGgobmV3IFVSTCgiLi9taWdyYXRlLnRzIiwgaW1wb3J0Lm1ldGEudXJsKSldLCB7IGVudjogZW52aXJvbm1lbnQsIGV4dGVuZEVudjogdHJ1ZSB9KSwKCQkpLAoJKS5waXBlKEVmZmVjdC5wcm92aWRlKE5vZGVTZXJ2aWNlcy5sYXllcikpOwoJZXhwZWN0KGNvZGUpLnRvQmUoMCk7Cgljb25zdCBtaWdyYXRlID0gbWlncmF0ZURhdGFiYXNlLnBpcGUoRWZmZWN0LnByb3ZpZGUoQ29uZmlnUHJvdmlkZXIubGF5ZXIoQ29uZmlnUHJvdmlkZXIuZnJvbUVudih7IGVudjogZW52aXJvbm1lbnQgfSkpKSk7CglleHBlY3QoeWllbGQqIG1pZ3JhdGUpLnRvRXF1YWwoW10pOwoJY29uc3Qgc3FsID0geWllbGQqIFNxbENsaWVudC5TcWxDbGllbnQ7CglleHBlY3QoeWllbGQqIHNxbGBzZWxlY3QgY291bnQoKik6OmludGVnZXIgYXMgY291bnQgZnJvbSBzdGFydGVyX21pZ3JhdGlvbnNgKS50b0VxdWFsKFt7IGNvdW50OiA1IH1dKTsKCWV4cGVjdCh5aWVsZCogc3FsYHNlbGVjdCB0aXRsZSwgIm93bmVySWQiLCAid29yZENvdW50IiwgdmVyc2lvbiBmcm9tIHN0YXJ0ZXJfbm90ZXNgKS50b0VxdWFsKFtdKTsKCWV4cGVjdCh5aWVsZCogc3FsYHNlbGVjdCBjb3VudCgqKTo6aW50ZWdlciBhcyBjb3VudCBmcm9tICJ1c2VyImApLnRvRXF1YWwoW3sgY291bnQ6IDAgfV0pOwp9KTsK","path":"src/server/migrateDatabase.test.ts"},{"content":"aW1wb3J0IHsgUGdDbGllbnQgfSBmcm9tICJAZWZmZWN0L3NxbC1wZyI7CmltcG9ydCB7IENvbmZpZywgRWZmZWN0IH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgbWlncmF0ZVBvc3RncmVzIH0gZnJvbSAiQHNoaXZhZWRldi9lZmZlY3Qtc3FsL21pZ3JhdGlvbnMudHMiOwppbXBvcnQgeyBtYWtlQXV0aCB9IGZyb20gIi4vYXV0aC50cyI7CmltcG9ydCB7IG1pZ3JhdGlvbnMgfSBmcm9tICIuL21pZ3JhdGlvbnMudHMiOwoKZXhwb3J0IGNvbnN0IG1pZ3JhdGVEYXRhYmFzZSA9IEVmZmVjdC5nZW4oZnVuY3Rpb24qICgpIHsKCWNvbnN0IHVybCA9IHlpZWxkKiBDb25maWcuUmVkYWN0ZWQoIkRBVEFCQVNFX1VSTCIpOwoJY29uc3QgeyBhdXRoIH0gPSB5aWVsZCogbWFrZUF1dGgoeyBkYXRhYmFzZVVybDogdXJsIH0pOwoJcmV0dXJuIHlpZWxkKiBtaWdyYXRlUG9zdGdyZXMobWlncmF0aW9ucyhhdXRoKSkucGlwZShFZmZlY3QucHJvdmlkZShQZ0NsaWVudC5sYXllcih7IHVybCB9KSkpOwp9KTsK","path":"src/server/migrateDatabase.ts"},{"content":"aW1wb3J0IHsgZ2V0TWlncmF0aW9ucyB9IGZyb20gImJldHRlci1hdXRoL2RiL21pZ3JhdGlvbiI7CmltcG9ydCB7IEVmZmVjdCB9IGZyb20gImVmZmVjdCI7CmltcG9ydCB7IE1pZ3JhdG9yLCBTcWxDbGllbnQgfSBmcm9tICJlZmZlY3Qvc3FsIjsKaW1wb3J0IHR5cGUgeyBTdGFydGVyQXV0aCB9IGZyb20gIi4vYXV0aC50cyI7CgpleHBvcnQgZnVuY3Rpb24gbWlncmF0aW9ucyhhdXRoOiBTdGFydGVyQXV0aCkgewoJcmV0dXJuIHsKCQlsb2FkZXI6IE1pZ3JhdG9yLmZyb21SZWNvcmQoewoJCQkiMDAxX2NyZWF0ZV9ub3RlcyI6IEVmZmVjdC5nZW4oZnVuY3Rpb24qICgpIHsKCQkJCWNvbnN0IHNxbCA9IHlpZWxkKiBTcWxDbGllbnQuU3FsQ2xpZW50OwoJCQkJeWllbGQqIHNxbGBjcmVhdGUgdGFibGUgc3RhcnRlcl9ub3RlcyAoaWQgc2VyaWFsIHByaW1hcnkga2V5LCB0aXRsZSB0ZXh0IG5vdCBudWxsKWA7CgkJCX0pLAoJCQkiMDAyX2NyZWF0ZV9hdXRoIjogRWZmZWN0LnRyeVByb21pc2UoYXN5bmMgKCkgPT4gewoJCQkJY29uc3QgbWlncmF0aW9uID0gYXdhaXQgZ2V0TWlncmF0aW9ucyhhdXRoLm9wdGlvbnMpOwoJCQkJYXdhaXQgbWlncmF0aW9uLnJ1bk1pZ3JhdGlvbnMoKTsKCQkJfSksCgkJCSIwMDNfbm90ZV9vd25lciI6IEVmZmVjdC5nZW4oZnVuY3Rpb24qICgpIHsKCQkJCWNvbnN0IHNxbCA9IHlpZWxkKiBTcWxDbGllbnQuU3FsQ2xpZW50OwoJCQkJeWllbGQqIHNxbGBhbHRlciB0YWJsZSBzdGFydGVyX25vdGVzIGFkZCBjb2x1bW4gIm93bmVySWQiIHRleHRgOwoJCQl9KSwKCQkJIjAwNF9ub3RlX3dvcmRfY291bnQiOiBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoKSB7CgkJCQljb25zdCBzcWwgPSB5aWVsZCogU3FsQ2xpZW50LlNxbENsaWVudDsKCQkJCXlpZWxkKiBzcWxgYWx0ZXIgdGFibGUgc3RhcnRlcl9ub3RlcyBhZGQgY29sdW1uICJ3b3JkQ291bnQiIGludGVnZXJgOwoJCQkJeWllbGQqIHNxbGB1cGRhdGUgc3RhcnRlcl9ub3RlcyBzZXQgIndvcmRDb3VudCIgPSBjYXJkaW5hbGl0eShyZWdleHBfc3BsaXRfdG9fYXJyYXkodHJpbSh0aXRsZSksICdbWzpzcGFjZTpdXSsnKSlgOwoJCQl9KSwKCQkJIjAwNV9ub3RlX3ZlcnNpb24iOiBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoKSB7CgkJCQljb25zdCBzcWwgPSB5aWVsZCogU3FsQ2xpZW50LlNxbENsaWVudDsKCQkJCXlpZWxkKiBzcWxgYWx0ZXIgdGFibGUgc3RhcnRlcl9ub3RlcyBhZGQgY29sdW1uIHZlcnNpb24gaW50ZWdlciBub3QgbnVsbCBkZWZhdWx0IDBgOwoJCQl9KSwKCQl9KSwKCQlsb2NrVGltZW91dDogIjUgc2Vjb25kcyIgYXMgY29uc3QsCgkJdGFibGU6ICJzdGFydGVyX21pZ3JhdGlvbnMiLAoJfTsKfQo=","path":"src/server/migrations.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0LCBSZXN1bHQgfSBmcm9tICJlZmZlY3QiOwppbXBvcnQgeyBTcWxDbGllbnQgfSBmcm9tICJlZmZlY3Qvc3FsIjsKaW1wb3J0IHsgZXhwZWN0IH0gZnJvbSAidml0ZXN0IjsKaW1wb3J0IHsgYXBwLCBzaWduZWRJbiB9IGZyb20gIiN0ZXN0LXN1cHBvcnQvYXBwbGljYXRpb24udHMiOwoKYXBwLml0KCJvcGVucywgdXBkYXRlcyBhbmQgZGVsZXRlcyBub3RlcyBvdmVyIEhUVFAsIHJlamVjdGluZyBzdGFsZSB3cml0ZXMgd2l0aG91dCBjaGFuZ2luZyB0aGUgcGVyc2lzdGVkIHJvdyIsIFtzaWduZWRJbigpXSwgZnVuY3Rpb24qICh7IGFjdG9yIH0pIHsKCWNvbnN0IHsgbm90ZXM6IGNsaWVudCB9ID0gYWN0b3IoKTsKCWNvbnN0IG9yaWdpbmFsID0geWllbGQqIGNsaWVudC5jcmVhdGUoeyB0aXRsZTogIk9yaWdpbmFsIiB9KTsKCWV4cGVjdChvcmlnaW5hbC52ZXJzaW9uKS50b0JlKDApOwoJZXhwZWN0KHlpZWxkKiBjbGllbnQuZ2V0KHsgaWQ6IG9yaWdpbmFsLmlkIH0pKS50b0VxdWFsKG9yaWdpbmFsKTsKCWNvbnN0IHNhdmVkID0geWllbGQqIGNsaWVudC51cGRhdGUoeyAuLi5vcmlnaW5hbCwgdGl0bGU6ICIgIFNhdmVkIG5vdGUgICIgfSk7CglleHBlY3Qoc2F2ZWQpLnRvRXF1YWwoeyAuLi5vcmlnaW5hbCwgdGl0bGU6ICJTYXZlZCBub3RlIiwgdmVyc2lvbjogMSB9KTsKCWNvbnN0IHNxbCA9IHlpZWxkKiBTcWxDbGllbnQuU3FsQ2xpZW50OwoJY29uc3QgYmVmb3JlID0geWllbGQqIHNxbGBzZWxlY3QgKiBmcm9tIHN0YXJ0ZXJfbm90ZXMgd2hlcmUgaWQgPSAke29yaWdpbmFsLmlkfWA7Cglmb3IgKGNvbnN0IGNhbGwgb2YgWwoJCWNsaWVudC51cGRhdGUoeyAuLi5vcmlnaW5hbCwgdGl0bGU6ICJTdGFsZSBkcmFmdCIgfSkucGlwZShFZmZlY3QuYXNWb2lkKSwKCQljbGllbnQuZGVsZXRlKHsgaWQ6IG9yaWdpbmFsLmlkLCB2ZXJzaW9uOiBvcmlnaW5hbC52ZXJzaW9uIH0pLAoJXSkgewoJCWNvbnN0IHJlamVjdGVkID0geWllbGQqIGNhbGwucGlwZShFZmZlY3QucmVzdWx0KTsKCQlleHBlY3QoUmVzdWx0LmlzRmFpbHVyZShyZWplY3RlZCkgJiYgcmVqZWN0ZWQuZmFpbHVyZS5fdGFnKS50b0JlKCJDb25mbGljdCIpOwoJCWV4cGVjdCh5aWVsZCogc3FsYHNlbGVjdCAqIGZyb20gc3RhcnRlcl9ub3RlcyB3aGVyZSBpZCA9ICR7b3JpZ2luYWwuaWR9YCkudG9FcXVhbChiZWZvcmUpOwoJfQoJZXhwZWN0KHlpZWxkKiBzcWxgc2VsZWN0IGNvdW50KCopOjppbnQgYXMgY291bnQgZnJvbSBwZ2Jvc3Muam9iIHdoZXJlIG5hbWUgPSAnY291bnQtbm90ZS13b3JkcydgKS50b0VxdWFsKFt7IGNvdW50OiAyIH1dKTsKCWNvbnN0IGludmFsaWQgPSB5aWVsZCogY2xpZW50LnVwZGF0ZSh7IC4uLnNhdmVkLCB0aXRsZTogIiAgICIgfSkucGlwZShFZmZlY3QucmVzdWx0KTsKCWV4cGVjdChSZXN1bHQuaXNGYWlsdXJlKGludmFsaWQpICYmIGludmFsaWQuZmFpbHVyZSkudG9NYXRjaE9iamVjdCh7IF90YWc6ICJJbnZhbGlkIiwgZmllbGQ6ICJ0aXRsZSIsIG1lc3NhZ2U6ICJFbnRlciBhIHRpdGxlIiB9KTsKCWV4cGVjdCh5aWVsZCogY2xpZW50LmdldCh7IGlkOiBzYXZlZC5pZCB9KSkudG9FcXVhbChzYXZlZCk7Cgl5aWVsZCogY2xpZW50LmRlbGV0ZSh7IGlkOiBzYXZlZC5pZCwgdmVyc2lvbjogc2F2ZWQudmVyc2lvbiB9KTsKCWV4cGVjdCh5aWVsZCogY2xpZW50Lmxpc3QoKSkudG9FcXVhbChbXSk7Cglmb3IgKGNvbnN0IGNhbGwgb2YgWwoJCWNsaWVudC5nZXQoeyBpZDogc2F2ZWQuaWQgfSkucGlwZShFZmZlY3QuYXNWb2lkKSwKCQljbGllbnQudXBkYXRlKHsgLi4uc2F2ZWQsIHRpdGxlOiAiTWlzc2luZyIgfSkucGlwZShFZmZlY3QuYXNWb2lkKSwKCQljbGllbnQuZGVsZXRlKHsgaWQ6IHNhdmVkLmlkLCB2ZXJzaW9uOiBzYXZlZC52ZXJzaW9uIH0pLAoJXSkgewoJCWNvbnN0IG1pc3NpbmcgPSB5aWVsZCogY2FsbC5waXBlKEVmZmVjdC5yZXN1bHQpOwoJCWV4cGVjdChSZXN1bHQuaXNGYWlsdXJlKG1pc3NpbmcpICYmIG1pc3NpbmcuZmFpbHVyZS5fdGFnKS50b0JlKCJOb3RGb3VuZCIpOwoJfQp9KTsKCmFwcC5pdCgKCSJyZXR1cm5zIE5vdEZvdW5kIHRvIGFub3RoZXIgYWNjb3VudCBmb3IgZ2V0LCB1cGRhdGUgYW5kIGRlbGV0ZSwgYW5kIHJlcXVpcmVzIGEgc2Vzc2lvbiIsCglbc2lnbmVkSW4oKSwgc2lnbmVkSW4oImJvYiIpXSwKCWZ1bmN0aW9uKiAoeyBhY3RvciwgYW5vbnltb3VzIH0pIHsKCQljb25zdCB7IG5vdGVzOiBhbGljZSB9ID0gYWN0b3IoKTsKCQljb25zdCBvcmlnaW5hbCA9IHlpZWxkKiBhbGljZS5jcmVhdGUoeyB0aXRsZTogIkFsaWNlJ3Mgbm90ZSIgfSk7CgkJY29uc3QgYm9iID0gYWN0b3IoImJvYiIpLm5vdGVzOwoJCWNvbnN0IHNpZ25lZE91dCA9IHlpZWxkKiBhbm9ueW1vdXMoKTsKCQlmb3IgKGNvbnN0IFtjbGllbnQsIHRhZ10gb2YgWwoJCQlbYm9iLCAiTm90Rm91bmQiXSwKCQkJW3NpZ25lZE91dCwgIlVuYXV0aG9yaXplZCJdLAoJCV0gYXMgY29uc3QpIHsKCQkJZm9yIChjb25zdCBjYWxsIG9mIFsKCQkJCWNsaWVudC5nZXQoeyBpZDogb3JpZ2luYWwuaWQgfSkucGlwZShFZmZlY3QuYXNWb2lkKSwKCQkJCWNsaWVudC51cGRhdGUoeyAuLi5vcmlnaW5hbCwgdGl0bGU6ICJBbm90aGVyIGFjY291bnQiIH0pLnBpcGUoRWZmZWN0LmFzVm9pZCksCgkJCQljbGllbnQuZGVsZXRlKHsgaWQ6IG9yaWdpbmFsLmlkLCB2ZXJzaW9uOiBvcmlnaW5hbC52ZXJzaW9uIH0pLAoJCQldKSB7CgkJCQljb25zdCByZWplY3RlZCA9IHlpZWxkKiBjYWxsLnBpcGUoRWZmZWN0LnJlc3VsdCk7CgkJCQlleHBlY3QoUmVzdWx0LmlzRmFpbHVyZShyZWplY3RlZCkgJiYgcmVqZWN0ZWQuZmFpbHVyZS5fdGFnKS50b0JlKHRhZyk7CgkJCX0KCQl9CgkJZXhwZWN0KHlpZWxkKiBhbGljZS5nZXQoeyBpZDogb3JpZ2luYWwuaWQgfSkpLnRvRXF1YWwob3JpZ2luYWwpOwoJfSwKKTsK","path":"src/server/noteEditingHost.spec.ts"},{"content":"aW1wb3J0IHsgU2NoZW1hIH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgZGVmaW5lUXVldWUgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1wZy1ib3NzL2RlZmluaXRpb24udHMiOwppbXBvcnQgeyBtYWtlUGdCb3NzIH0gZnJvbSAiQHNoaXZhZWRldi9lZmZlY3QtcGctYm9zcy9zZXJ2aWNlLnRzIjsKCmV4cG9ydCBjb25zdCBDb3VudFdvcmRzID0gZGVmaW5lUXVldWUoewoJbmFtZTogImNvdW50LW5vdGUtd29yZHMiLAoJcXVldWU6IHsgcmV0cnlCYWNrb2ZmOiB0cnVlLCByZXRyeUxpbWl0OiAzIH0sCglzY2hlbWE6IFNjaGVtYS5TdHJ1Y3QoeyBub3RlSWQ6IFNjaGVtYS5OdW1iZXIgfSksCgl3b3JrZXI6IHsgcG9sbGluZ0ludGVydmFsU2Vjb25kczogMSB9LAp9KTsKCmV4cG9ydCBjb25zdCBOb3RlSm9icyA9IG1ha2VQZ0Jvc3MoInN0YXJ0ZXIvTm90ZUpvYnMiKTsK","path":"src/server/noteJobs.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0LCBSZXN1bHQgfSBmcm9tICJlZmZlY3QiOwppbXBvcnQgeyBTcWxDbGllbnQgfSBmcm9tICJlZmZlY3Qvc3FsIjsKaW1wb3J0IHsgZXhwZWN0LCB2aSB9IGZyb20gInZpdGVzdCI7CmltcG9ydCB7IGFwcCwgc2lnbmVkSW4gfSBmcm9tICIjdGVzdC1zdXBwb3J0L2FwcGxpY2F0aW9uLnRzIjsKCmFwcC5pdCgKCSJjb3VudHMgdGhlIGVkaXRlZCB0aXRsZSB0aHJvdWdoIHRoZSB2ZXJzaW9uZWQgcmVwb3NpdG9yeSBhbmQgY29tcGxldGVzIGpvYnMgZm9yIGRlbGV0ZWQgbm90ZXMiLAoJW3NpZ25lZEluKCldLAoJZnVuY3Rpb24qICh7IGFjdG9yLCBzdGFydFdvcmtlciB9KSB7CgkJY29uc3QgeyBub3RlczogY2xpZW50IH0gPSBhY3RvcigpOwoJCWNvbnN0IG9yaWdpbmFsID0geWllbGQqIGNsaWVudC5jcmVhdGUoeyB0aXRsZTogIk9sZCB0aXRsZSIgfSk7CgkJY29uc3QgZWRpdGVkID0geWllbGQqIGNsaWVudC51cGRhdGUoeyAuLi5vcmlnaW5hbCwgdGl0bGU6ICJUaHJlZSBuZXcgd29yZHMiIH0pOwoJCWV4cGVjdChlZGl0ZWQud29yZENvdW50KS50b0JlTnVsbCgpOwoJCWNvbnN0IGRlbGV0ZWQgPSB5aWVsZCogY2xpZW50LmNyZWF0ZSh7IHRpdGxlOiAiRGVsZXRlZCBiZWZvcmUgY291bnRpbmciIH0pOwoJCXlpZWxkKiBjbGllbnQuZGVsZXRlKHsgaWQ6IGRlbGV0ZWQuaWQsIHZlcnNpb246IGRlbGV0ZWQudmVyc2lvbiB9KTsKCQl5aWVsZCogc3RhcnRXb3JrZXIoKTsKCQljb25zdCBjb3VudGVkID0geyAuLi5lZGl0ZWQsIHZlcnNpb246IDIsIHdvcmRDb3VudDogMyB9OwoJCXlpZWxkKiBFZmZlY3QucHJvbWlzZSgoKSA9PgoJCQl2aS53YWl0Rm9yKAoJCQkJYXN5bmMgKCkgPT4gewoJCQkJCWV4cGVjdChhd2FpdCBFZmZlY3QucnVuUHJvbWlzZShjbGllbnQuZ2V0KHsgaWQ6IGVkaXRlZC5pZCB9KSkpLnRvRXF1YWwoY291bnRlZCk7CgkJCQl9LAoJCQkJeyB0aW1lb3V0OiA1MDAwIH0sCgkJCSksCgkJKTsKCQljb25zdCBzdGFsZSA9IHlpZWxkKiBjbGllbnQudXBkYXRlKHsgLi4uZWRpdGVkLCB0aXRsZTogIkJlZm9yZSBjb3VudGluZyIgfSkucGlwZShFZmZlY3QucmVzdWx0KTsKCQlleHBlY3QoUmVzdWx0LmlzRmFpbHVyZShzdGFsZSkgJiYgc3RhbGUuZmFpbHVyZS5fdGFnKS50b0JlKCJDb25mbGljdCIpOwoJCWV4cGVjdCh5aWVsZCogY2xpZW50Lmxpc3QoKSkudG9FcXVhbChbY291bnRlZF0pOwoJCWNvbnN0IHNxbCA9IHlpZWxkKiBTcWxDbGllbnQuU3FsQ2xpZW50OwoJCXlpZWxkKiBFZmZlY3QucHJvbWlzZSgoKSA9PgoJCQl2aS53YWl0Rm9yKAoJCQkJYXN5bmMgKCkgPT4gewoJCQkJCWV4cGVjdChhd2FpdCBFZmZlY3QucnVuUHJvbWlzZShzcWxgc2VsZWN0IHN0YXRlIGZyb20gcGdib3NzLmpvYiB3aGVyZSBuYW1lID0gJ2NvdW50LW5vdGUtd29yZHMnYCkpLnRvRXF1YWwoWwoJCQkJCQl7IHN0YXRlOiAiY29tcGxldGVkIiB9LAoJCQkJCQl7IHN0YXRlOiAiY29tcGxldGVkIiB9LAoJCQkJCQl7IHN0YXRlOiAiY29tcGxldGVkIiB9LAoJCQkJCV0pOwoJCQkJfSwKCQkJCXsgdGltZW91dDogNTAwMCB9LAoJCQkpLAoJCSk7Cgl9LAoJMTVfMDAwLAopOwo=","path":"src/server/noteJobsEditing.spec.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0LCBMYXllciB9IGZyb20gImVmZmVjdCI7CmltcG9ydCB7IGRlZmF1bHRDbGllbnRGYWN0b3J5IH0gZnJvbSAiQHNoaXZhZWRldi9lZmZlY3QtcGctYm9zcy9jbGllbnQudHMiOwppbXBvcnQgeyB0b1BnQm9zc0Vycm9yIH0gZnJvbSAiQHNoaXZhZWRldi9lZmZlY3QtcGctYm9zcy9lcnJvci50cyI7CmltcG9ydCB7IGRlYWRMZXR0ZXJRdWV1ZU5hbWUgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1wZy1ib3NzL2hlYWx0aC50cyI7CmltcG9ydCB7IENvdW50V29yZHMsIE5vdGVKb2JzIH0gZnJvbSAiLi9ub3RlSm9icy50cyI7CgpleHBvcnQgZnVuY3Rpb24gbm90ZVByb2R1Y2VyKGNvbm5lY3Rpb25TdHJpbmc6IHN0cmluZykgewoJcmV0dXJuIExheWVyLnVud3JhcCgKCQlFZmZlY3Quc3luYygoKSA9PiB7CgkJCWNvbnN0IGNsaWVudCA9IGRlZmF1bHRDbGllbnRGYWN0b3J5KHsgY29ubmVjdGlvblN0cmluZyB9KTsKCQkJY29uc3QgcXVldWVzID0gRWZmZWN0LnRyeVByb21pc2UoewoJCQkJY2F0Y2g6IChlcnJvcikgPT4gdG9QZ0Jvc3NFcnJvcigicmVnaXN0ZXIiLCBlcnJvciksCgkJCQl0cnk6IGFzeW5jICgpID0+IHsKCQkJCQljb25zdCBkZWFkTGV0dGVyID0gZGVhZExldHRlclF1ZXVlTmFtZShDb3VudFdvcmRzLm5hbWUpOwoJCQkJCWF3YWl0IGNsaWVudC5jcmVhdGVRdWV1ZShkZWFkTGV0dGVyKTsKCQkJCQlhd2FpdCBjbGllbnQuY3JlYXRlUXVldWUoQ291bnRXb3Jkcy5uYW1lLCB7IC4uLkNvdW50V29yZHMucXVldWVPcHRpb25zLCBkZWFkTGV0dGVyIH0pOwoJCQkJfSwKCQkJfSk7CgkJCXJldHVybiBMYXllci5lZmZlY3REaXNjYXJkKHF1ZXVlcykucGlwZShMYXllci5wcm92aWRlTWVyZ2UoTm90ZUpvYnMubGF5ZXIoeyBjbGllbnRGYWN0b3J5OiAoKSA9PiBjbGllbnQsIGNvbm5lY3Rpb25TdHJpbmcsIGpvYnM6IFtdIH0pKSk7CgkJfSksCgkpOwp9Cg==","path":"src/server/noteProducer.ts"},{"content":"aW1wb3J0IHsgQ29uZmlnLCBFZmZlY3QsIExheWVyLCBSZWRhY3RlZCB9IGZyb20gImVmZmVjdCI7CmltcG9ydCB7IGludmFsaWRhdGlvbktleXMgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1jb250cmFjdC9rZXlzLnRzIjsKaW1wb3J0IHsgaW52YWxpZGF0ZU9uQ29tbWl0LCB0cmFuc2FjdCB9IGZyb20gIkBzaGl2YWVkZXYvZWZmZWN0LXNxbC90cmFuc2FjdC50cyI7CmltcG9ydCB7IGFwcERhdGFiYXNlIH0gZnJvbSAiQHNoaXZhZWRldi9wbGF0Zm9ybS9hcHBIb3N0LnRzIjsKaW1wb3J0IHsgbm90ZXMgfSBmcm9tICIjbm90ZXMudHMiOwppbXBvcnQgeyBtYWtlQXV0aCB9IGZyb20gIi4vYXV0aC50cyI7CmltcG9ydCB7IGRhdGFiYXNlT3B0aW9ucyB9IGZyb20gIi4vZGF0YWJhc2VPcHRpb25zLnRzIjsKaW1wb3J0IHsgbWFrZU5vdGVzUmVwb3NpdG9yeSB9IGZyb20gIi4vbWFrZU5vdGVzUmVwb3NpdG9yeS50cyI7CmltcG9ydCB7IENvdW50V29yZHMsIE5vdGVKb2JzIH0gZnJvbSAiLi9ub3RlSm9icy50cyI7Cgpjb25zdCBjb3VudFdvcmRzID0gQ291bnRXb3Jkcy5oYW5kbGUoKHsgbm90ZUlkIH0pID0+CglFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoKSB7CgkJY29uc3QgcmVwb3NpdG9yeSA9IHlpZWxkKiBtYWtlTm90ZXNSZXBvc2l0b3J5OwoJCWNvbnN0IHJvd3MgPSB5aWVsZCogcmVwb3NpdG9yeS5maW5kTWFueSh7IHdoZXJlOiB7IGlkOiBub3RlSWQsIHdvcmRDb3VudDogbnVsbCB9IH0pOwoJCWZvciAoY29uc3Qgcm93IG9mIHJvd3MpIHsKCQkJeWllbGQqIHJlcG9zaXRvcnkudXBkYXRlKHsgLi4ucm93LCB3b3JkQ291bnQ6IHJvdy50aXRsZS5zcGxpdCgvXHMrL3UpLmxlbmd0aCB9KTsKCQl9CgkJeWllbGQqIGludmFsaWRhdGVPbkNvbW1pdChpbnZhbGlkYXRpb25LZXlzKFtub3Rlcy5pdGVtKG5vdGVJZCldKSk7Cgl9KS5waXBlKHRyYW5zYWN0KHsgb25TcWxFcnJvcjogKGVycm9yKSA9PiBlcnJvciB9KSksCik7CgpleHBvcnQgZnVuY3Rpb24gbm90ZVdvcmtlcihjb25maWc/OiB7IHJlYWRvbmx5IGRhdGFiYXNlVXJsPzogUmVkYWN0ZWQuUmVkYWN0ZWQ8c3RyaW5nPjsgcmVhZG9ubHkgc2VjcmV0PzogUmVkYWN0ZWQuUmVkYWN0ZWQ8c3RyaW5nPiB9KSB7CglyZXR1cm4gTGF5ZXIudW53cmFwKAoJCUVmZmVjdC5nZW4oZnVuY3Rpb24qICgpIHsKCQkJY29uc3QgZGF0YWJhc2VVcmwgPSBjb25maWc/LmRhdGFiYXNlVXJsID8/ICh5aWVsZCogQ29uZmlnLlJlZGFjdGVkKCJEQVRBQkFTRV9VUkwiKSk7CgkJCWNvbnN0IHsgYXV0aCB9ID0geWllbGQqIG1ha2VBdXRoKHsgZGF0YWJhc2VVcmwsIC4uLihjb25maWc/LnNlY3JldCA9PT0gdW5kZWZpbmVkID8ge30gOiB7IHNlY3JldDogY29uZmlnLnNlY3JldCB9KSB9KTsKCQkJcmV0dXJuIE5vdGVKb2JzLmxheWVyKHsgY29ubmVjdGlvblN0cmluZzogUmVkYWN0ZWQudmFsdWUoZGF0YWJhc2VVcmwpLCBqb2JzOiBbY291bnRXb3Jkc10gfSkucGlwZSgKCQkJCUxheWVyLnByb3ZpZGVNZXJnZShhcHBEYXRhYmFzZShkYXRhYmFzZU9wdGlvbnMoYXV0aCwgZGF0YWJhc2VVcmwpKSksCgkJCSk7CgkJfSksCgkpOwp9Cg==","path":"src/server/noteWorker.ts"},{"content":"aW1wb3J0IHsgYXNzZXJ0TW9kZWxDb2x1bW5zIH0gZnJvbSAiQHNoaXZhZWRldi9lZmZlY3QtdGVzdC1zcWwvYXNzZXJ0TW9kZWxDb2x1bW5zLnRzIjsKaW1wb3J0IHsgYmVmb3JlVmVyc2lvbmVkTm90ZXMsIG1pZ3JhdGlvbiB9IGZyb20gIiN0ZXN0LXN1cHBvcnQvbWlncmF0aW9uLnRzIjsKaW1wb3J0IHsgU3RvcmVkTm90ZSB9IGZyb20gIi4vbWFrZU5vdGVzUmVwb3NpdG9yeS50cyI7CgptaWdyYXRpb24uaXQoCgkidXBncmFkZXMgdGhlIHByZS12ZXJzaW9uIG5vdGVzIHRhYmxlIHRvIGV2ZXJ5IGN1cnJlbnQgbW9kZWwgY29sdW1uIGFuZCBQb3N0Z3JlU1FMIHR5cGUiLAoJW2JlZm9yZVZlcnNpb25lZE5vdGVzKCldLAoJZnVuY3Rpb24qICh7IHVwZ3JhZGUgfSkgewoJCWNvbnN0IGNvbHVtbnMgPSB5aWVsZCogdXBncmFkZSgpOwoJCXlpZWxkKiBhc3NlcnRNb2RlbENvbHVtbnMoY29sdW1ucywgU3RvcmVkTm90ZSwgeyBpZDogImludGVnZXIiLCBvd25lcklkOiAidGV4dCIsIHRpdGxlOiAidGV4dCIsIHZlcnNpb246ICJpbnRlZ2VyIiwgd29yZENvdW50OiAiaW50ZWdlciIgfSk7Cgl9LAopOwo=","path":"src/server/notesMigration.spec.ts"},{"content":"aW1wb3J0IHsgTm9kZVJ1bnRpbWUgfSBmcm9tICJAZWZmZWN0L3BsYXRmb3JtLW5vZGUiOwppbXBvcnQgeyBMYXllciB9IGZyb20gImVmZmVjdCI7CmltcG9ydCB7IHN0YXJ0ZXJIb3N0IH0gZnJvbSAiLi9zdGFydGVySG9zdC50cyI7CgpOb2RlUnVudGltZS5ydW5NYWluKExheWVyLmxhdW5jaChzdGFydGVySG9zdCgpKSk7Cg==","path":"src/server/server.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0LCBSZXN1bHQgfSBmcm9tICJlZmZlY3QiOwppbXBvcnQgeyBTcWxDbGllbnQgfSBmcm9tICJlZmZlY3Qvc3FsIjsKaW1wb3J0IHsgZXhwZWN0IH0gZnJvbSAidml0ZXN0IjsKaW1wb3J0IHsgVW5hdXRob3JpemVkIH0gZnJvbSAiQHNoaXZhZWRldi9wbGF0Zm9ybS9lcnJvcnMvdGF4b25vbXkudHMiOwppbXBvcnQgeyBhcHAsIHNpZ25lZEluIH0gZnJvbSAiI3Rlc3Qtc3VwcG9ydC9hcHBsaWNhdGlvbi50cyI7CgphcHAuaXQoCgkicmVhZHMgZWFjaCBzaWduZWQtaW4gdXNlcidzIHByb2ZpbGUgdGhyb3VnaCBTZXNzaW9uVXNlciBvdmVyIFBvc3RncmVTUUwgYW5kIEhUVFAiLAoJW3NpZ25lZEluKCksIHNpZ25lZEluKCJib2IiKV0sCglmdW5jdGlvbiogKHsgYWN0b3IsIGFub255bW91cywgYXV0aGVudGljYXRlIH0pIHsKCQljb25zdCB7IGNvb2tpZTogYWxpY2VDb29raWUsIG5vdGVzOiBhbGljZSB9ID0gYWN0b3IoKTsKCQljb25zdCBib2IgPSBhY3RvcigiYm9iIikubm90ZXM7CgkJY29uc3QgcHJvZmlsZXMgPSB5aWVsZCogRWZmZWN0LmFsbCgKCQkJQXJyYXkuZnJvbSh7IGxlbmd0aDogMTIgfSwgKF8sIGluZGV4KSA9PiAoaW5kZXggJSAyID09PSAwID8gYWxpY2UgOiBib2IpLndob2FtaSgpKSwKCQkJewoJCQkJY29uY3VycmVuY3k6ICJ1bmJvdW5kZWQiLAoJCQl9LAoJCSk7CgkJY29uc3QgYWxpY2VQcm9maWxlID0gcHJvZmlsZXNbMF07CgkJY29uc3QgYm9iUHJvZmlsZSA9IHByb2ZpbGVzWzFdOwoJCWV4cGVjdChhbGljZVByb2ZpbGUpLnRvRXF1YWwoeyBlbWFpbDogImFsaWNlQHN0YXJ0ZXIudGVzdCIsIGlkOiBleHBlY3QuYW55KFN0cmluZyksIG5hbWU6ICJhbGljZSIgfSk7CgkJZXhwZWN0KGJvYlByb2ZpbGUpLnRvRXF1YWwoeyBlbWFpbDogImJvYkBzdGFydGVyLnRlc3QiLCBpZDogZXhwZWN0LmFueShTdHJpbmcpLCBuYW1lOiAiYm9iIiB9KTsKCQlleHBlY3QoYWxpY2VQcm9maWxlPy5pZCkubm90LnRvQmUoYm9iUHJvZmlsZT8uaWQpOwoJCXByb2ZpbGVzLmZvckVhY2goKHByb2ZpbGUsIGluZGV4KSA9PiB7CgkJCWV4cGVjdChwcm9maWxlKS50b0VxdWFsKGluZGV4ICUgMiA9PT0gMCA/IGFsaWNlUHJvZmlsZSA6IGJvYlByb2ZpbGUpOwoJCX0pOwoJCWNvbnN0IG5vdGUgPSB5aWVsZCogYWxpY2UuY3JlYXRlKHsgdGl0bGU6ICJPd25lZCBieSB0aGUgY3VycmVudCB1c2VyIiB9KTsKCQljb25zdCBzcWwgPSB5aWVsZCogU3FsQ2xpZW50LlNxbENsaWVudDsKCQlleHBlY3QoeWllbGQqIHNxbGBzZWxlY3QgIm93bmVySWQiIGZyb20gc3RhcnRlcl9ub3RlcyB3aGVyZSBpZCA9ICR7bm90ZS5pZH1gKS50b0VxdWFsKFt7IG93bmVySWQ6IGFsaWNlUHJvZmlsZT8uaWQgfV0pOwoJCWNvbnN0IHNpZ25lZE91dCA9IHlpZWxkKiBhbm9ueW1vdXMoKTsKCQljb25zdCBkZW5pZWQgPSB5aWVsZCogc2lnbmVkT3V0Lndob2FtaSgpLnBpcGUoRWZmZWN0LnJlc3VsdCk7CgkJZXhwZWN0KFJlc3VsdC5pc0ZhaWx1cmUoZGVuaWVkKSAmJiBkZW5pZWQuZmFpbHVyZSkudG9CZUluc3RhbmNlT2YoVW5hdXRob3JpemVkKTsKCQl5aWVsZCogYXV0aGVudGljYXRlKCJhbGljZSIsICJzaWduLW91dCIsIGFsaWNlQ29va2llKTsKCQljb25zdCByZXZva2VkID0geWllbGQqIGFsaWNlLndob2FtaSgpLnBpcGUoRWZmZWN0LnJlc3VsdCk7CgkJZXhwZWN0KFJlc3VsdC5pc0ZhaWx1cmUocmV2b2tlZCkgJiYgcmV2b2tlZC5mYWlsdXJlKS50b0JlSW5zdGFuY2VPZihVbmF1dGhvcml6ZWQpOwoJfSwKKTsK","path":"src/server/sessionUser.spec.ts"},{"content":"aW1wb3J0IHsgcmVhZEZpbGVTeW5jIH0gZnJvbSAibm9kZTpmcyI7CmltcG9ydCB7IENvbmZpZywgRWZmZWN0LCBTY2hlbWEgfSBmcm9tICJlZmZlY3QiOwppbXBvcnQgeyBhc3NlcnRMb2NhbERhdGFiYXNlLCBsb2NhbFBvc3RncmVzLCBsb2NhbFNlcnZlciB9IGZyb20gIkBzaGl2YWVkZXYvbG9jYWwtcG9zdGdyZXMvbG9jYWxQb3N0Z3Jlcy50cyI7Cgpjb25zdCB7IG5hbWUgfSA9IFNjaGVtYS5kZWNvZGVVbmtub3duU3luYyhTY2hlbWEuZnJvbUpzb25TdHJpbmcoU2NoZW1hLlN0cnVjdCh7IG5hbWU6IFNjaGVtYS5TdHJpbmcgfSkpKSgKCXJlYWRGaWxlU3luYyhuZXcgVVJMKCIuLi8uLi9wYWNrYWdlLmpzb24iLCBpbXBvcnQubWV0YS51cmwpLCAidXRmOCIpLAopOwpjb25zdCBkYXRhYmFzZSA9IChuYW1lLnNwbGl0KCIvIikuYXQoLTEpID8/IG5hbWUpCgkucmVwbGFjZUFsbCgvWy4tXS9ndSwgIl8iKQoJLnJlcGxhY2UoL15bXmEtel0vdSwgImFwcF8kJiIpCgkuc2xpY2UoMCwgNTgpOwpjb25zdCBkZXZlbG9wbWVudCA9IEVmZmVjdC5ydW5TeW5jKENvbmZpZy5TdHJpbmcoIkRBVEFCQVNFX1VSTCIpLnBpcGUoQ29uZmlnLndpdGhEZWZhdWx0KGAke2xvY2FsU2VydmVyfS8ke2RhdGFiYXNlfV9kZXZgKSkpOwpjb25zdCB0ZXN0cyA9IEVmZmVjdC5ydW5TeW5jKENvbmZpZy5TdHJpbmcoIlRFU1RfREFUQUJBU0VfVVJMIikucGlwZShDb25maWcud2l0aERlZmF1bHQoYCR7bG9jYWxTZXJ2ZXJ9LyR7ZGF0YWJhc2V9X3Rlc3RgKSkpOwphc3NlcnRMb2NhbERhdGFiYXNlKGRldmVsb3BtZW50LCBbYCR7ZGF0YWJhc2V9X2RldmBdKTsKYXNzZXJ0TG9jYWxEYXRhYmFzZSh0ZXN0cywgW2Ake2RhdGFiYXNlfV90ZXN0YF0pOwpsb2NhbFBvc3RncmVzKAoJRWZmZWN0LnJ1blN5bmMoCgkJQ29uZmlnLmFsbCh7CgkJCSJET0NLRVJfQ09OVEVYVCI6IENvbmZpZy5TdHJpbmcoIkRPQ0tFUl9DT05URVhUIikucGlwZShDb25maWcud2l0aERlZmF1bHQoIiIpKSwKCQkJIkRPQ0tFUl9IT1NUIjogQ29uZmlnLlN0cmluZygiRE9DS0VSX0hPU1QiKS5waXBlKENvbmZpZy53aXRoRGVmYXVsdCgiIikpLAoJCX0pLAoJKSwKKS5wcmVwYXJlRGF0YWJhc2VzKFtkZXZlbG9wbWVudCwgdGVzdHNdKTsK","path":"src/server/setup-database.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0IH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgZXhwZWN0IH0gZnJvbSAidml0ZXN0IjsKaW1wb3J0IHsgYXBwLCBiZWhpbmRQcm94eSB9IGZyb20gIiN0ZXN0LXN1cHBvcnQvYXBwbGljYXRpb24udHMiOwoKYXBwLml0KCJzZXJ2ZXMgdGhlIGRlcGxveW1lbnQgaGVhbHRoIGNoZWNrIGFmdGVyIGRhdGFiYXNlIG1pZ3JhdGlvbnMiLCBbXSwgZnVuY3Rpb24qICh7IHJ1bm5pbmdIb3N0IH0pIHsKCWNvbnN0IHJlc3BvbnNlID0geWllbGQqIEVmZmVjdC5wcm9taXNlKCgpID0+IGZldGNoKGAke3J1bm5pbmdIb3N0KCkuYmFzZVVybH0vaGVhbHRoYCkpOwoJZXhwZWN0KHJlc3BvbnNlLnN0YXR1cykudG9CZSgyMDApOwoJZXhwZWN0KHlpZWxkKiBFZmZlY3QucHJvbWlzZSgoKSA9PiByZXNwb25zZS50ZXh0KCkpKS50b0JlKCJSZWFkeSIpOwp9KTsKCmFwcC5pdCgKCSJhdXRoZW50aWNhdGVzIGFuZCBzZXJ2ZXMgcHJvdGVjdGVkIFJQQyBiZWhpbmQgYW4gSFRUUFMgZm9yd2FyZGluZyBwcm94eSB1c2luZyBlbnZpcm9ubWVudCBzZXR0aW5ncyIsCglbYmVoaW5kUHJveHkoKV0sCglmdW5jdGlvbiogKHsgYXV0aGVudGljYXRlLCBub3RlcywgZm9yZWlnblJlcXVlc3QgfSkgewoJCWZvciAoY29uc3QgcGF0aCBvZiBbInNpZ24tdXAvZW1haWwiLCAic2lnbi1pbi9lbWFpbCJdKSB7CgkJCWNvbnN0IGNvb2tpZSA9IHlpZWxkKiBhdXRoZW50aWNhdGUoImRlcGxveWVkIiwgcGF0aCk7CgkJCWNvbnN0IGNsaWVudCA9IHlpZWxkKiBub3Rlcyhjb29raWUpOwoJCQlleHBlY3QoeWllbGQqIGNsaWVudC5saXN0KCkpLnRvRXF1YWwoW10pOwoJCQl5aWVsZCogZm9yZWlnblJlcXVlc3QoY29va2llKTsKCQl9Cgl9LAopOwo=","path":"src/server/starterDeploy.spec.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0LCBSZXN1bHQgfSBmcm9tICJlZmZlY3QiOwppbXBvcnQgeyBTcWxDbGllbnQgfSBmcm9tICJlZmZlY3Qvc3FsIjsKaW1wb3J0IHsgZXhwZWN0IH0gZnJvbSAidml0ZXN0IjsKaW1wb3J0IHsgYXBwLCBsZWdhY3lOb3RlLCBzaWduZWRJbiB9IGZyb20gIiN0ZXN0LXN1cHBvcnQvYXBwbGljYXRpb24udHMiOwoKYXBwLml0KCJtaWdyYXRlcyBQb3N0Z3JlU1FMIGFuZCBjcmVhdGVzIGFuZCBxdWVyaWVzIGEgcGVyc2lzdGVkIG5vdGUgb3ZlciBhdXRoZW50aWNhdGVkIEhUVFAvTkRKU09OIiwgW3NpZ25lZEluKCldLCBmdW5jdGlvbiogKHsgYWN0b3IgfSkgewoJY29uc3QgeyBub3RlczogY2xpZW50IH0gPSBhY3RvcigpOwoJZXhwZWN0KHlpZWxkKiBjbGllbnQubGlzdCgpKS50b0VxdWFsKFtdKTsKCWNvbnN0IGNyZWF0ZWQgPSB5aWVsZCogY2xpZW50LmNyZWF0ZSh7IHRpdGxlOiAiICBGaXJzdCBub3RlICAiIH0pOwoJZXhwZWN0KGNyZWF0ZWQudGl0bGUpLnRvQmUoIkZpcnN0IG5vdGUiKTsKCWV4cGVjdCh5aWVsZCogY2xpZW50Lmxpc3QoKSkudG9FcXVhbChbY3JlYXRlZF0pOwoJY29uc3Qgc3FsID0geWllbGQqIFNxbENsaWVudC5TcWxDbGllbnQ7CglleHBlY3QoeWllbGQqIHNxbGBzZWxlY3QgaWQsIHRpdGxlLCAid29yZENvdW50IiwgdmVyc2lvbiBmcm9tIHN0YXJ0ZXJfbm90ZXNgKS50b0VxdWFsKFtjcmVhdGVkXSk7Cgljb25zdCBpbnZhbGlkID0geWllbGQqIGNsaWVudC5jcmVhdGUoeyB0aXRsZTogIiAgICIgfSkucGlwZShFZmZlY3QucmVzdWx0KTsKCWV4cGVjdChSZXN1bHQuaXNGYWlsdXJlKGludmFsaWQpICYmIGludmFsaWQuZmFpbHVyZS5fdGFnKS50b0JlKCJJbnZhbGlkIik7CglleHBlY3QoeWllbGQqIGNsaWVudC5saXN0KCkpLnRvRXF1YWwoW2NyZWF0ZWRdKTsKfSk7CgphcHAuaXQoCgkicmVydW5zIHRoZSBzdGFydGVyIG1pZ3JhdGlvbiBwYXRoIHdpdGhvdXQgbG9zaW5nIGF1dGggYWNjb3VudHMgb3Igbm90ZXMiLAoJW3NpZ25lZEluKCldLAoJZnVuY3Rpb24qICh7IGFjdG9yLCByZXJ1bk1pZ3JhdGlvbnMsIGF1dGhlbnRpY2F0ZSwgbm90ZXMgfSkgewoJCWNvbnN0IHsgbm90ZXM6IGNsaWVudCB9ID0gYWN0b3IoKTsKCQljb25zdCBub3RlID0geWllbGQqIGNsaWVudC5jcmVhdGUoeyB0aXRsZTogIktlZXAgdGhpcyBub3RlIiB9KTsKCQl5aWVsZCogcmVydW5NaWdyYXRpb25zKCk7CgkJY29uc3QgcmV0dXJuaW5nID0geWllbGQqIGF1dGhlbnRpY2F0ZSgiYWxpY2UiLCAic2lnbi1pbi9lbWFpbCIpOwoJCWNvbnN0IHJlb3BlbmVkID0geWllbGQqIG5vdGVzKHJldHVybmluZyk7CgkJZXhwZWN0KHlpZWxkKiByZW9wZW5lZC5saXN0KCkpLnRvRXF1YWwoW25vdGVdKTsKCX0sCik7CgphcHAuaXQoImFkZHMgd29yZCBjb3VudHMgdG8gbm90ZXMgc2F2ZWQgYmVmb3JlIHRoZSBqb2IgbWlncmF0aW9uIiwgW3NpZ25lZEluKCldLCBmdW5jdGlvbiogKHsgYWN0b3IsIHJlcnVuTWlncmF0aW9ucyB9KSB7Cgljb25zdCB7IG5vdGVzOiBjbGllbnQgfSA9IGFjdG9yKCk7Cgljb25zdCBub3RlID0geWllbGQqIGNsaWVudC5jcmVhdGUoeyB0aXRsZTogIktlZXAgdGhpcyBvbGQgbm90ZSIgfSk7Cgljb25zdCBzcWwgPSB5aWVsZCogU3FsQ2xpZW50LlNxbENsaWVudDsKCXlpZWxkKiBzcWxgYWx0ZXIgdGFibGUgc3RhcnRlcl9ub3RlcyBkcm9wIGNvbHVtbiAid29yZENvdW50ImA7Cgl5aWVsZCogc3FsYGFsdGVyIHRhYmxlIHN0YXJ0ZXJfbm90ZXMgZHJvcCBjb2x1bW4gdmVyc2lvbmA7Cgl5aWVsZCogc3FsYGRlbGV0ZSBmcm9tIHN0YXJ0ZXJfbWlncmF0aW9ucyB3aGVyZSBtaWdyYXRpb25faWQgPj0gNGA7Cgl5aWVsZCogcmVydW5NaWdyYXRpb25zKCk7CglleHBlY3QoeWllbGQqIGNsaWVudC5saXN0KCkpLnRvRXF1YWwoW3sgLi4ubm90ZSwgd29yZENvdW50OiA0IH1dKTsKfSk7CgphcHAuaXQoInVwZ3JhZGVzIGV4aXN0aW5nIG5vdGVzIHdpdGggdmVyc2lvbiB6ZXJvIGFuZCBhY2NlcHRzIHRoZWlyIGZpcnN0IHZlcnNpb25lZCBlZGl0IiwgW3NpZ25lZEluKCldLCBmdW5jdGlvbiogKHsgYWN0b3IsIHJlcnVuTWlncmF0aW9ucyB9KSB7Cgljb25zdCB7IG5vdGVzOiBjbGllbnQgfSA9IGFjdG9yKCk7Cgljb25zdCBub3RlID0geWllbGQqIGNsaWVudC5jcmVhdGUoeyB0aXRsZTogIkV4aXN0aW5nIG5vdGUiIH0pOwoJY29uc3Qgc3FsID0geWllbGQqIFNxbENsaWVudC5TcWxDbGllbnQ7Cgl5aWVsZCogc3FsYGFsdGVyIHRhYmxlIHN0YXJ0ZXJfbm90ZXMgZHJvcCBjb2x1bW4gdmVyc2lvbmA7Cgl5aWVsZCogc3FsYGRlbGV0ZSBmcm9tIHN0YXJ0ZXJfbWlncmF0aW9ucyB3aGVyZSBtaWdyYXRpb25faWQgPSA1YDsKCXlpZWxkKiByZXJ1bk1pZ3JhdGlvbnMoKTsKCWV4cGVjdCh5aWVsZCogY2xpZW50LmdldCh7IGlkOiBub3RlLmlkIH0pKS50b0VxdWFsKHsgLi4ubm90ZSwgdmVyc2lvbjogMCB9KTsKCWV4cGVjdCh5aWVsZCogY2xpZW50LnVwZGF0ZSh7IC4uLm5vdGUsIHRpdGxlOiAiRWRpdGVkIG9sZCBub3RlIiB9KSkudG9FcXVhbCh7IC4uLm5vdGUsIHRpdGxlOiAiRWRpdGVkIG9sZCBub3RlIiwgdmVyc2lvbjogMSB9KTsKfSk7CgphcHAuaXQoCgkicHJvdGVjdHMgcXVlcmllcyBhbmQgY29tbWFuZHMsIGlzb2xhdGVzIHVzZXJzLCBhbmQgcmV2b2tlcyB0aGUgc2lnbmVkLW91dCBzZXNzaW9uIGJlZm9yZSBzaWduaW5nIGluIGFnYWluIiwKCVtzaWduZWRJbigpLCBzaWduZWRJbigiYm9iIiksIGxlZ2FjeU5vdGUoIkxlZ2FjeSBub3RlIildLAoJZnVuY3Rpb24qICh7IGFjdG9yLCBhdXRoZW50aWNhdGUsIG5vdGVzLCBhbm9ueW1vdXMgfSkgewoJCWNvbnN0IHNxbCA9IHlpZWxkKiBTcWxDbGllbnQuU3FsQ2xpZW50OwoJCWNvbnN0IHNpZ25lZE91dCA9IHlpZWxkKiBhbm9ueW1vdXMoKTsKCQlmb3IgKGNvbnN0IGNhbGwgb2YgW3NpZ25lZE91dC5saXN0KCkucGlwZShFZmZlY3QuYXNWb2lkKSwgc2lnbmVkT3V0LmNyZWF0ZSh7IHRpdGxlOiAiQW5vbnltb3VzIG5vdGUiIH0pLnBpcGUoRWZmZWN0LmFzVm9pZCldKSB7CgkJCWNvbnN0IHJlc3VsdCA9IHlpZWxkKiBFZmZlY3QucmVzdWx0KGNhbGwpOwoJCQlleHBlY3QoUmVzdWx0LmlzRmFpbHVyZShyZXN1bHQpICYmIHJlc3VsdC5mYWlsdXJlLl90YWcpLnRvQmUoIlVuYXV0aG9yaXplZCIpOwoJCX0KCQljb25zdCB7IGNvb2tpZTogYWxpY2VDb29raWUsIG5vdGVzOiBhbGljZSB9ID0gYWN0b3IoKTsKCQljb25zdCBub3RlID0geWllbGQqIGFsaWNlLmNyZWF0ZSh7IHRpdGxlOiAiQWxpY2UncyBub3RlIiB9KTsKCQljb25zdCBib2IgPSBhY3RvcigiYm9iIikubm90ZXM7CgkJZXhwZWN0KHlpZWxkKiBib2IubGlzdCgpKS50b0VxdWFsKFtdKTsKCQlleHBlY3QoeWllbGQqIGFsaWNlLmxpc3QoKSkudG9FcXVhbChbbm90ZV0pOwoJCWNvbnN0IHVzZXIgPSB5aWVsZCogYWxpY2Uud2hvYW1pKCk7CgkJZXhwZWN0KHlpZWxkKiBzcWxgc2VsZWN0ICJvd25lcklkIiBmcm9tIHN0YXJ0ZXJfbm90ZXMgd2hlcmUgdGl0bGUgPSAke25vdGUudGl0bGV9YCkudG9FcXVhbChbeyBvd25lcklkOiB1c2VyLmlkIH1dKTsKCQlleHBlY3QoeWllbGQqIHNxbGBzZWxlY3QgIm93bmVySWQiIGZyb20gc3RhcnRlcl9ub3RlcyB3aGVyZSB0aXRsZSA9ICdMZWdhY3kgbm90ZSdgKS50b0VxdWFsKFt7IG93bmVySWQ6IG51bGwgfV0pOwoJCXlpZWxkKiBhdXRoZW50aWNhdGUoImFsaWNlIiwgInNpZ24tb3V0IiwgYWxpY2VDb29raWUpOwoJCWNvbnN0IHJldm9rZWQgPSB5aWVsZCogYWxpY2UuY3JlYXRlKHsgdGl0bGU6ICJSZXZva2VkIG5vdGUiIH0pLnBpcGUoRWZmZWN0LnJlc3VsdCk7CgkJZXhwZWN0KFJlc3VsdC5pc0ZhaWx1cmUocmV2b2tlZCkgJiYgcmV2b2tlZC5mYWlsdXJlLl90YWcpLnRvQmUoIlVuYXV0aG9yaXplZCIpOwoJCWNvbnN0IHJldHVybmluZ0Nvb2tpZSA9IHlpZWxkKiBhdXRoZW50aWNhdGUoImFsaWNlIiwgInNpZ24taW4vZW1haWwiKTsKCQljb25zdCByZXR1cm5pbmcgPSB5aWVsZCogbm90ZXMocmV0dXJuaW5nQ29va2llKTsKCQlleHBlY3QoeWllbGQqIHJldHVybmluZy5saXN0KCkpLnRvRXF1YWwoW25vdGVdKTsKCX0sCik7Cg==","path":"src/server/starterHost.test.ts"},{"content":"aW1wb3J0IHsgQ29uZmlnLCBFZmZlY3QsIExheWVyLCBSZWRhY3RlZCB9IGZyb20gImVmZmVjdCI7CmltcG9ydCB7IEh0dHBSb3V0ZXIsIEh0dHBTZXJ2ZXJSZXNwb25zZSwgSHR0cFN0YXRpY1NlcnZlciB9IGZyb20gImVmZmVjdC9odHRwIjsKaW1wb3J0IHsgQXBwQ2hhbmdlcywgYXBwSG9zdCB9IGZyb20gIkBzaGl2YWVkZXYvcGxhdGZvcm0vYXBwSG9zdC50cyI7CmltcG9ydCB7IFNlc3Npb25Vc2VyIH0gZnJvbSAiQHNoaXZhZWRldi9wbGF0Zm9ybS9ycGMvaWRlbnRpdHkudHMiOwppbXBvcnQgeyBhdXRoZW50aWNhdGVkVXNlckxheWVyIH0gZnJvbSAiQHNoaXZhZWRldi9wbGF0Zm9ybS9ycGMtc2VydmVyL3Nlc3Npb24udHMiOwppbXBvcnQgeyBOb3RlcywgU3Vic2NyaWJlIH0gZnJvbSAiI25vdGVzLnRzIjsKaW1wb3J0IHsgbWFrZUF1dGggfSBmcm9tICIuL2F1dGgudHMiOwppbXBvcnQgeyBkYXRhYmFzZU9wdGlvbnMgfSBmcm9tICIuL2RhdGFiYXNlT3B0aW9ucy50cyI7CmltcG9ydCB7IE5vdGVzU2VydmljZSB9IGZyb20gIi4vTm90ZXNTZXJ2aWNlLnRzIjsKaW1wb3J0IHsgbm90ZVByb2R1Y2VyIH0gZnJvbSAiLi9ub3RlUHJvZHVjZXIudHMiOwoKY29uc3QgaGFuZGxlcnMgPSBOb3Rlcy50b0xheWVyKAoJRWZmZWN0LmdlbihmdW5jdGlvbiogKCkgewoJCWNvbnN0IHNlcnZpY2UgPSB5aWVsZCogTm90ZXNTZXJ2aWNlOwoJCWNvbnN0IGNoYW5nZXMgPSB5aWVsZCogQXBwQ2hhbmdlczsKCQlyZXR1cm4gTm90ZXMub2YoewoJCQkibm90ZXMuY3JlYXRlIjogKGlucHV0KSA9PiBFZmZlY3QuZmxhdE1hcChTZXNzaW9uVXNlciwgKHsgaWQgfSkgPT4gc2VydmljZS5jcmVhdGUoaW5wdXQsIGlkKSksCgkJCSJub3Rlcy5kZWxldGUiOiAoaW5wdXQpID0+IEVmZmVjdC5mbGF0TWFwKFNlc3Npb25Vc2VyLCAoeyBpZCB9KSA9PiBzZXJ2aWNlLmRlbGV0ZShpbnB1dCwgaWQpKSwKCQkJIm5vdGVzLmdldCI6IChpbnB1dCkgPT4gRWZmZWN0LmZsYXRNYXAoU2Vzc2lvblVzZXIsICh7IGlkIH0pID0+IHNlcnZpY2UuZ2V0KGlucHV0LmlkLCBpZCkpLAoJCQkibm90ZXMubGlzdCI6ICgpID0+IEVmZmVjdC5mbGF0TWFwKFNlc3Npb25Vc2VyLCAoeyBpZCB9KSA9PiBzZXJ2aWNlLmxpc3QoaWQpKSwKCQkJIm5vdGVzLnN1YnNjcmliZSI6ICgpID0+IGNoYW5nZXMuc3RyZWFtKFN1YnNjcmliZS5yZWFkcyh1bmRlZmluZWQpKSwKCQkJIm5vdGVzLnVwZGF0ZSI6IChpbnB1dCkgPT4gRWZmZWN0LmZsYXRNYXAoU2Vzc2lvblVzZXIsICh7IGlkIH0pID0+IHNlcnZpY2UudXBkYXRlKGlucHV0LCBpZCkpLAoJCQkibm90ZXMud2hvYW1pIjogKCkgPT4gRWZmZWN0Lm1hcChTZXNzaW9uVXNlciwgKHVzZXIpID0+IHVzZXIpLAoJCX0pOwoJfSksCik7CgpleHBvcnQgZnVuY3Rpb24gc3RhcnRlckhvc3QoY29uZmlnPzogewoJcmVhZG9ubHkgZGF0YWJhc2VVcmw/OiBSZWRhY3RlZC5SZWRhY3RlZDxzdHJpbmc+OwoJcmVhZG9ubHkgcG9ydD86IG51bWJlcjsKCXJlYWRvbmx5IHNlY3JldD86IFJlZGFjdGVkLlJlZGFjdGVkPHN0cmluZz47Cn0pIHsKCXJldHVybiBMYXllci51bndyYXAoCgkJRWZmZWN0LmdlbihmdW5jdGlvbiogKCkgewoJCQljb25zdCBkYXRhYmFzZVVybCA9IGNvbmZpZz8uZGF0YWJhc2VVcmwgPz8gKHlpZWxkKiBDb25maWcuUmVkYWN0ZWQoIkRBVEFCQVNFX1VSTCIpKTsKCQkJY29uc3QgeyBhdXRoLCByb3V0ZXMsIHNlc3Npb25zIH0gPSB5aWVsZCogbWFrZUF1dGgoeyBkYXRhYmFzZVVybCwgLi4uKGNvbmZpZz8uc2VjcmV0ID09PSB1bmRlZmluZWQgPyB7fSA6IHsgc2VjcmV0OiBjb25maWcuc2VjcmV0IH0pIH0pOwoJCQljb25zdCBkYXRhYmFzZSA9IGRhdGFiYXNlT3B0aW9ucyhhdXRoLCBkYXRhYmFzZVVybCk7CgkJCWNvbnN0IHByb2R1Y2VyID0gbm90ZVByb2R1Y2VyKFJlZGFjdGVkLnZhbHVlKGRhdGFiYXNlVXJsKSk7CgkJCXJldHVybiBhcHBIb3N0KHsKCQkJCWNvbmZpZzogeyAuLi5kYXRhYmFzZS5jb25maWcsIC4uLihjb25maWc/LnBvcnQgPT09IHVuZGVmaW5lZCA/IHt9IDogeyBwb3J0OiBjb25maWcucG9ydCB9KSB9LAoJCQkJZ3JvdXA6IE5vdGVzLAoJCQkJaGFuZGxlcnM6IExheWVyLm1lcmdlQWxsKAoJCQkJCWhhbmRsZXJzLAoJCQkJCWF1dGhlbnRpY2F0ZWRVc2VyTGF5ZXIoc2Vzc2lvbnMpLAoJCQkJCXJvdXRlcywKCQkJCQlIdHRwUm91dGVyLmFkZCgiR0VUIiwgIi9oZWFsdGgiLCBIdHRwU2VydmVyUmVzcG9uc2UudGV4dCgiUmVhZHkiKSksCgkJCQkJSHR0cFN0YXRpY1NlcnZlci5sYXllcih7IHJvb3Q6ICJkaXN0Iiwgc3BhOiB0cnVlIH0pLAoJCQkJKSwKCQkJCW1pZ3JhdGlvbnM6IGRhdGFiYXNlLm1pZ3JhdGlvbnMsCgkJCQlzZXJ2aWNlczogTm90ZXNTZXJ2aWNlLmxheWVyLnBpcGUoTGF5ZXIucHJvdmlkZU1lcmdlKHByb2R1Y2VyKSksCgkJCQlzZXNzaW9ucywKCQkJfSk7CgkJfSksCgkpOwp9Cg==","path":"src/server/starterHost.ts"},{"content":"aW1wb3J0IHsgTm9kZVJ1bnRpbWUgfSBmcm9tICJAZWZmZWN0L3BsYXRmb3JtLW5vZGUiOwppbXBvcnQgeyBMYXllciB9IGZyb20gImVmZmVjdCI7CmltcG9ydCB7IG5vdGVXb3JrZXIgfSBmcm9tICIuL25vdGVXb3JrZXIudHMiOwoKTm9kZVJ1bnRpbWUucnVuTWFpbihMYXllci5sYXVuY2gobm90ZVdvcmtlcigpKSk7Cg==","path":"src/server/worker.ts"},{"content":"aW1wb3J0IHsgTm9kZVJ1bnRpbWUsIE5vZGVTZXJ2aWNlcyB9IGZyb20gIkBlZmZlY3QvcGxhdGZvcm0tbm9kZSI7CmltcG9ydCB7IEVmZmVjdCwgRmlsZVN5c3RlbSB9IGZyb20gImVmZmVjdCI7CmltcG9ydCB7IENoaWxkUHJvY2VzcywgQ2hpbGRQcm9jZXNzU3Bhd25lciB9IGZyb20gImVmZmVjdC9wcm9jZXNzIjsKCmNvbnN0IGluc3RhbGxIb29rID0gRWZmZWN0LmdlbihmdW5jdGlvbiogKCkgewoJY29uc3QgZnMgPSB5aWVsZCogRmlsZVN5c3RlbS5GaWxlU3lzdGVtOwoJaWYgKCEoeWllbGQqIGZzLmV4aXN0cygiLmdpdCIpKSkgewoJCXJldHVybjsKCX0KCWNvbnN0IHNwYXduZXIgPSB5aWVsZCogQ2hpbGRQcm9jZXNzU3Bhd25lci5DaGlsZFByb2Nlc3NTcGF3bmVyOwoJY29uc3QgY29kZSA9IHlpZWxkKiBzcGF3bmVyLmV4aXRDb2RlKENoaWxkUHJvY2Vzcy5tYWtlKCJwbnBtIiwgWyJleGVjIiwgInF1YWxpdHkiLCAiaG9va3MiLCAiaW5zdGFsbCJdLCB7IHN0ZGVycjogImluaGVyaXQiLCBzdGRvdXQ6ICJpbmhlcml0IiB9KSk7CglpZiAoY29kZSAhPT0gMCkgewoJCXJldHVybiB5aWVsZCogRWZmZWN0LmZhaWwobmV3IEVycm9yKGBJbnN0YWxsaW5nIHRoZSBRdWFsaXR5IGhvb2sgZmFpbGVkIChleGl0ICR7Y29kZX0pLmApKTsKCX0KfSk7CgpOb2RlUnVudGltZS5ydW5NYWluKGluc3RhbGxIb29rLnBpcGUoRWZmZWN0LnByb3ZpZGUoTm9kZVNlcnZpY2VzLmxheWVyKSkpOwo=","path":"src/setup.ts"},{"content":"aW1wb3J0IHsgbWFrZUF1dGggfSBmcm9tICIjY2xpZW50L2F1dGgudHMiOwoKZXhwb3J0IGZ1bmN0aW9uIGFwcEF1dGgob3B0aW9uczogewoJcmVhZG9ubHkgYmFzZVVybDogc3RyaW5nOwoJcmVhZG9ubHkgc2lnbmVkSW4/OiBib29sZWFuOwoJcmVhZG9ubHkgc2Vzc2lvbkZhaWx1cmU/OiBib29sZWFuOwoJcmVhZG9ubHkgc2lnbk91dEZhaWx1cmU/OiBzdHJpbmc7Cn0pIHsKCWxldCBzZXNzaW9uRmFpbHVyZSA9IG9wdGlvbnMuc2Vzc2lvbkZhaWx1cmUgPz8gZmFsc2U7Cgljb25zdCByZXF1ZXN0czogVVJMW10gPSBbXTsKCWNvbnN0IGRhdGUgPSAiMjAyNi0wMS0wMVQwMDowMDowMC4wMDBaIjsKCWNvbnN0IHNlc3Npb24gPSBvcHRpb25zLnNpZ25lZEluCgkJPyB7CgkJCQlzZXNzaW9uOiB7CgkJCQkJY3JlYXRlZEF0OiBkYXRlLAoJCQkJCWV4cGlyZXNBdDogIjIwOTktMDEtMDFUMDA6MDA6MDAuMDAwWiIsCgkJCQkJaWQ6ICJhbGljZS1zZXNzaW9uIiwKCQkJCQl1cGRhdGVkQXQ6IGRhdGUsCgkJCQkJdXNlcklkOiAiYWxpY2UiLAoJCQkJfSwKCQkJCXVzZXI6IHsgY3JlYXRlZEF0OiBkYXRlLCBlbWFpbDogImFsaWNlQHN0YXJ0ZXIudGVzdCIsIGVtYWlsVmVyaWZpZWQ6IHRydWUsIGlkOiAiYWxpY2UiLCBuYW1lOiAiQWxpY2UiLCB1cGRhdGVkQXQ6IGRhdGUgfSwKCQkJfQoJCTogbnVsbDsKCWNvbnN0IGF1dGggPSBtYWtlQXV0aCh7CgkJYmFzZVVybDogb3B0aW9ucy5iYXNlVXJsLAoJCWZldGNoT3B0aW9uczogewoJCQljdXN0b21GZXRjaEltcGw6IChpbnB1dCwgaW5pdCkgPT4gewoJCQkJY29uc3QgcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KGlucHV0LCBpbml0KTsKCQkJCWNvbnN0IHVybCA9IG5ldyBVUkwocmVxdWVzdC51cmwpOwoJCQkJcmVxdWVzdHMucHVzaCh1cmwpOwoJCQkJaWYgKHVybC5wYXRobmFtZSA9PT0gIi9hcGkvYXV0aC9nZXQtc2Vzc2lvbiIpIHsKCQkJCQlyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKAoJCQkJCQlSZXNwb25zZS5qc29uKHNlc3Npb25GYWlsdXJlID8geyBjb2RlOiAiVU5BVkFJTEFCTEUiLCBtZXNzYWdlOiAiU2Vzc2lvbiBjaGVjayB1bmF2YWlsYWJsZSIgfSA6IHNlc3Npb24sIHsKCQkJCQkJCXN0YXR1czogc2Vzc2lvbkZhaWx1cmUgPyA1MDAgOiAyMDAsCgkJCQkJCX0pLAoJCQkJCSk7CgkJCQl9CgkJCQlpZiAodXJsLnBhdGhuYW1lID09PSAiL2FwaS9hdXRoL3NpZ24tb3V0IikgewoJCQkJCXJldHVybiBQcm9taXNlLnJlc29sdmUoUmVzcG9uc2UuanNvbih7IGNvZGU6ICJSRUZVU0VEIiwgbWVzc2FnZTogb3B0aW9ucy5zaWduT3V0RmFpbHVyZSB9LCB7IHN0YXR1czogNDAwIH0pKTsKCQkJCX0KCQkJCXJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgYXV0aCByZXF1ZXN0OiAke3VybH1gKSk7CgkJCX0sCgkJCXJldHJ5OiAwLAoJCX0sCgl9KTsKCXJldHVybiB7CgkJYXV0aCwKCQlyZWNvdmVyOiAoKSA9PiB7CgkJCXNlc3Npb25GYWlsdXJlID0gZmFsc2U7CgkJfSwKCQlyZXF1ZXN0cywKCX07Cn0K","path":"src/test-support/appAuth.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0LCBMYXllciB9IGZyb20gImVmZmVjdCI7CmltcG9ydCB7IFNxbENsaWVudCB9IGZyb20gImVmZmVjdC9zcWwiOwppbXBvcnQgeyBQb3N0Z3Jlc1Rlc3REYXRhYmFzZSB9IGZyb20gIkBzaGl2YWVkZXYvZWZmZWN0LXRlc3Qtc3FsL2RhdGFiYXNlLnRzIjsKaW1wb3J0IHsgd2l0aElzb2xhdGVkRGF0YWJhc2UgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC10ZXN0LXNxbC93aXRoSXNvbGF0ZWREYXRhYmFzZS50cyI7CmltcG9ydCB7IHN0b3J5S2l0IH0gZnJvbSAiQHNoaXZhZWRldi90ZXN0LXN0b3J5L3N0b3J5S2l0LnRzIjsKaW1wb3J0IHsgbWFrZUF1dGggfSBmcm9tICIjY2xpZW50L2F1dGgudHMiOwppbXBvcnQgeyBub3RlV29ya2VyIH0gZnJvbSAiI3NlcnZlci9ub3RlV29ya2VyLnRzIjsKaW1wb3J0IHsgYXV0aFJhdGVMaW1pdHMgfSBmcm9tICIuL2F1dGhSYXRlTGltaXRzLnRzIjsKaW1wb3J0IHsgdHlwZSBSdW5uaW5nSG9zdCwgc2VjcmV0LCBzdGFydEhvc3QgfSBmcm9tICIuL2hvc3QudHMiOwppbXBvcnQgeyBsaXZlTm90ZXMgfSBmcm9tICIuL2xpdmVOb3Rlcy50cyI7CmltcG9ydCB7IHBvc3RncmVzIH0gZnJvbSAiLi9wb3N0Z3Jlcy50cyI7CmltcG9ydCB7IHJlcXVlc3RzIH0gZnJvbSAiLi9yZXF1ZXN0cy50cyI7CgppbnRlcmZhY2UgQWN0b3IgewoJcmVhZG9ubHkgY29va2llOiBzdHJpbmc7CglyZWFkb25seSBub3RlczogRWZmZWN0LlN1Y2Nlc3M8UmV0dXJuVHlwZTxSZXR1cm5UeXBlPHR5cGVvZiByZXF1ZXN0cz5bIm5vdGVzIl0+PjsKfQoKaW50ZXJmYWNlIEVuZ2luZSB7CglhY3RvcnM6IE1hcDxzdHJpbmcsIEFjdG9yPjsKCWRlcGxveWVkOiBib29sZWFuOwoJaG9zdDogUnVubmluZ0hvc3QgfCB1bmRlZmluZWQ7Cgl0ZWxsOiAobGluZTogc3RyaW5nKSA9PiB2b2lkOwp9CgpleHBvcnQgY29uc3QgYXBwID0gc3RvcnlLaXQoewoJYWZ0ZXI6IHsKCQkqaG9zdGluZyhlbmdpbmUpIHsKCQkJZW5naW5lLmhvc3QgPSB5aWVsZCogc3RhcnRIb3N0KGVuZ2luZS5kZXBsb3llZCk7CgkJfSwKCX0sCglhcm91bmQ6IHdpdGhJc29sYXRlZERhdGFiYXNlLAoJY2xvY2s6ICJsaXZlIiwKCWNyZWF0ZTogKCk6IEVuZ2luZSA9PiAoeyBhY3RvcnM6IG5ldyBNYXAoKSwgZGVwbG95ZWQ6IGZhbHNlLCBob3N0OiB1bmRlZmluZWQsIHRlbGw6ICgpID0+IHVuZGVmaW5lZCB9KSwKCWluc3BlY3Q6IChlbmdpbmUpID0+ICh7IGFjY291bnRzOiBbLi4uZW5naW5lLmFjdG9ycy5rZXlzKCldLCBiYXNlVXJsOiBlbmdpbmUuaG9zdD8uYmFzZVVybCwgZGVwbG95ZWQ6IGVuZ2luZS5kZXBsb3llZCB9KSwKCWxheWVyOiBwb3N0Z3JlcywKCW5hbWU6ICJzdGFydGVyIiwKCXN0YWdlczogWyJob3N0aW5nIiwgImFjY291bnRzIiwgIm5vdGVzIl0sCgl2ZXJiczogKGVuZ2luZSwgc3RvcnkpID0+IHsKCQlmdW5jdGlvbiBob3N0KCkgewoJCQlpZiAoZW5naW5lLmhvc3QgPT09IHVuZGVmaW5lZCkgewoJCQkJdGhyb3cgbmV3IEVycm9yKCJIb3N0IGhhcyBub3Qgc3RhcnRlZCIpOwoJCQl9CgkJCXJldHVybiBlbmdpbmUuaG9zdDsKCQl9CgkJZW5naW5lLnRlbGwgPSBzdG9yeS50ZWxsOwoJCWZ1bmN0aW9uIGh0dHAoKSB7CgkJCXJldHVybiByZXF1ZXN0cyhob3N0KCksIHN0b3J5LnRlbGwpOwoJCX0KCQlyZXR1cm4gewoJCQlhY3RvcjogKG5hbWUgPSAiYWxpY2UiKSA9PiB7CgkJCQljb25zdCBhY3RvciA9IGVuZ2luZS5hY3RvcnMuZ2V0KG5hbWUpOwoJCQkJaWYgKGFjdG9yID09PSB1bmRlZmluZWQpIHsKCQkJCQl0aHJvdyBuZXcgRXJyb3IoYE5vIHNpZ25lZC1pbiBhY2NvdW50ICR7bmFtZX1gKTsKCQkJCX0KCQkJCXJldHVybiBhY3RvcjsKCQkJfSwKCQkJYW5vbnltb3VzOiAoKSA9PiBodHRwKCkubm90ZXMoKSwKCQkJYXV0aENsaWVudDogKGNvb2tpZSA9ICIiKSA9PiB7CgkJCQlzdG9yeS50ZWxsKCJjb25uZWN0IGFuIGF1dGggY2xpZW50IHRvIHRoaXMgc3RvcnkncyBhcHAgaG9zdCIpOwoJCQkJY29uc3QgeyBiYXNlVXJsLCBvcmlnaW4gfSA9IGhvc3QoKTsKCQkJCXJldHVybiBtYWtlQXV0aCh7IGJhc2VVcmwsIGZldGNoT3B0aW9uczogeyBoZWFkZXJzOiB7IGNvb2tpZSwgb3JpZ2luIH0gfSB9KTsKCQkJfSwKCQkJYXV0aGVudGljYXRlOiAobmFtZTogc3RyaW5nLCBwYXRoPzogc3RyaW5nLCBjb29raWU/OiBzdHJpbmcpID0+IGh0dHAoKS5hdXRoZW50aWNhdGUobmFtZSwgcGF0aCwgY29va2llKSwKCQkJYXV0aFJhdGVMaW1pdHM6IEVmZmVjdC5mbigiU3RhcnRlclN0b3J5LmF1dGhSYXRlTGltaXRzIikoZnVuY3Rpb24qICh0cnVzdGVkUHJveHk/OiBzdHJpbmcpIHsKCQkJCXN0b3J5LnRlbGwoYHN0YXJ0IHByb2R1Y3Rpb24gYXV0aCB3aXRoIHByb3h5IHRydXN0ICR7dHJ1c3RlZFByb3h5ID8/ICJ1bnNldCJ9YCk7CgkJCQljb25zdCBkYXRhYmFzZSA9IHlpZWxkKiBQb3N0Z3Jlc1Rlc3REYXRhYmFzZTsKCQkJCXJldHVybiB5aWVsZCogYXV0aFJhdGVMaW1pdHMoZGF0YWJhc2UudXJsLCB0cnVzdGVkUHJveHksIHN0b3J5LnRlbGwpOwoJCQl9KSwKCQkJZm9yZWlnblJlcXVlc3Q6IChjb29raWU6IHN0cmluZykgPT4gaHR0cCgpLmZvcmVpZ25SZXF1ZXN0KGNvb2tpZSksCgkJCWxpdmVOb3RlczogKG5hbWUgPSAiYWxpY2UiKSA9PiB7CgkJCQlzdG9yeS50ZWxsKGAke25hbWV9IHdhdGNoZXMgdGhlIGxpdmUgbm90ZXMgbGlzdGApOwoJCQkJY29uc3QgYWN0b3IgPSBlbmdpbmUuYWN0b3JzLmdldChuYW1lKTsKCQkJCWlmIChhY3RvciA9PT0gdW5kZWZpbmVkKSB7CgkJCQkJdGhyb3cgbmV3IEVycm9yKGBObyBzaWduZWQtaW4gYWNjb3VudCAke25hbWV9YCk7CgkJCQl9CgkJCQlyZXR1cm4gbGl2ZU5vdGVzKGhvc3QoKSwgYWN0b3IuY29va2llKTsKCQkJfSwKCQkJbm90ZXM6IChjb29raWU6IHN0cmluZykgPT4gaHR0cCgpLm5vdGVzKGNvb2tpZSksCgkJCXJlcnVuTWlncmF0aW9uczogRWZmZWN0LmZuKCJTdGFydGVyU3RvcnkucmVydW5NaWdyYXRpb25zIikoZnVuY3Rpb24qICgpIHsKCQkJCXN0b3J5LnRlbGwoIm9wZW4gYW5vdGhlciBhcHAgaG9zdCBhbmQgcmVydW4gaXRzIG1pZ3JhdGlvbnMiKTsKCQkJCWVuZ2luZS5ob3N0ID0geWllbGQqIHN0YXJ0SG9zdChlbmdpbmUuZGVwbG95ZWQpOwoJCQl9KSwKCQkJcnVubmluZ0hvc3Q6IGhvc3QsCgkJCXN0YXJ0V29ya2VyOiBFZmZlY3QuZm4oIlN0YXJ0ZXJTdG9yeS5zdGFydFdvcmtlciIpKGZ1bmN0aW9uKiAoKSB7CgkJCQlzdG9yeS50ZWxsKCJzdGFydCB0aGUgd29yZC1jb3VudCB3b3JrZXIiKTsKCQkJCWNvbnN0IGRhdGFiYXNlID0geWllbGQqIFBvc3RncmVzVGVzdERhdGFiYXNlOwoJCQkJeWllbGQqIExheWVyLmJ1aWxkKG5vdGVXb3JrZXIoeyBkYXRhYmFzZVVybDogZGF0YWJhc2UudXJsLCBzZWNyZXQgfSkpOwoJCQl9KSwKCQl9OwoJfSwKfSk7CgpleHBvcnQgZnVuY3Rpb24gc2lnbmVkSW4obmFtZSA9ICJhbGljZSIpIHsKCXJldHVybiBhcHAudHJhaXQoImFjY291bnRzIiwgYCR7bmFtZX0gaXMgc2lnbmVkIGluYCwgZnVuY3Rpb24qIChlbmdpbmUpIHsKCQlpZiAoZW5naW5lLmhvc3QgPT09IHVuZGVmaW5lZCkgewoJCQlyZXR1cm4geWllbGQqIEVmZmVjdC5kaWUoIkhvc3QgaGFzIG5vdCBzdGFydGVkIik7CgkJfQoJCWNvbnN0IGh0dHAgPSByZXF1ZXN0cyhlbmdpbmUuaG9zdCwgKGxpbmUpID0+IGVuZ2luZS50ZWxsKGxpbmUpKTsKCQljb25zdCBjb29raWUgPSB5aWVsZCogaHR0cC5hdXRoZW50aWNhdGUobmFtZSk7CgkJZW5naW5lLmFjdG9ycy5zZXQobmFtZSwgeyBjb29raWUsIG5vdGVzOiB5aWVsZCogaHR0cC5ub3Rlcyhjb29raWUpIH0pOwoJfSk7Cn0KCmV4cG9ydCBmdW5jdGlvbiBiZWhpbmRQcm94eSgpIHsKCXJldHVybiBhcHAudHJhaXQoImhvc3RpbmciLCAidGhlIGFwcCBpcyBiZWhpbmQgYW4gSFRUUFMgZm9yd2FyZGluZyBwcm94eSIsIChlbmdpbmUpID0+IHsKCQllbmdpbmUuZGVwbG95ZWQgPSB0cnVlOwoJfSk7Cn0KCmV4cG9ydCBmdW5jdGlvbiBsZWdhY3lOb3RlKHRpdGxlOiBzdHJpbmcpIHsKCXJldHVybiBhcHAudHJhaXQoIm5vdGVzIiwgYFBvc3RncmVTUUwgY29udGFpbnMgdGhlIHVub3duZWQgbm90ZSAke0pTT04uc3RyaW5naWZ5KHRpdGxlKX1gLCBmdW5jdGlvbiogKCkgewoJCWNvbnN0IHNxbCA9IHlpZWxkKiBTcWxDbGllbnQuU3FsQ2xpZW50OwoJCXlpZWxkKiBzcWxgaW5zZXJ0IGludG8gc3RhcnRlcl9ub3RlcyAodGl0bGUpIHZhbHVlcyAoJHt0aXRsZX0pYDsKCX0pOwp9Cg==","path":"src/test-support/application.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0LCBMYXllciB9IGZyb20gImVmZmVjdCI7CmltcG9ydCB7IEZldGNoSHR0cENsaWVudCwgSHR0cENsaWVudCwgSHR0cENsaWVudFJlcXVlc3QgfSBmcm9tICJlZmZlY3QvaHR0cCI7CmltcG9ydCB7IFJwY0NsaWVudCwgUnBjU2VyaWFsaXphdGlvbiB9IGZyb20gImVmZmVjdC9ycGMiOwppbXBvcnQgeyBleHBlY3QgfSBmcm9tICJ2aXRlc3QiOwppbXBvcnQgeyBOb3RlcyB9IGZyb20gIiNub3Rlcy50cyI7CgpleHBvcnQgY29uc3QgYXV0aFBvc3QgPSBFZmZlY3QuZm4oIlN0YXJ0ZXJUZXN0LmF1dGhQb3N0IikoZnVuY3Rpb24qIChiYXNlVXJsOiBzdHJpbmcsIHBhdGg6IHN0cmluZywgYm9keTogb2JqZWN0LCBjb29raWUgPSAiIiwgb3JpZ2luID0gYmFzZVVybCkgewoJY29uc3QgcmVzcG9uc2UgPSB5aWVsZCogRWZmZWN0LnByb21pc2UoKCkgPT4KCQlmZXRjaChgJHtiYXNlVXJsfS9hcGkvYXV0aC8ke3BhdGh9YCwgewoJCQlib2R5OiBKU09OLnN0cmluZ2lmeShib2R5KSwKCQkJaGVhZGVyczogeyAiY29udGVudC10eXBlIjogImFwcGxpY2F0aW9uL2pzb24iLCBjb29raWUsIG9yaWdpbiB9LAoJCQltZXRob2Q6ICJQT1NUIiwKCQl9KSwKCSk7CglleHBlY3QocmVzcG9uc2Uuc3RhdHVzKS50b0JlKDIwMCk7Cgl5aWVsZCogRWZmZWN0LnByb21pc2UoKCkgPT4gcmVzcG9uc2UudGV4dCgpKTsKCWNvbnN0IGNvb2tpZXMgPSByZXNwb25zZS5oZWFkZXJzLmdldFNldENvb2tpZSgpOwoJaWYgKG9yaWdpbi5zdGFydHNXaXRoKCJodHRwczovLyIpKSB7CgkJZXhwZWN0KGNvb2tpZXMuc29tZSgodmFsdWUpID0+IHZhbHVlLnN0YXJ0c1dpdGgoIl9fU2VjdXJlLWJldHRlci1hdXRoLnNlc3Npb25fdG9rZW49IikgJiYgLzsgU2VjdXJlKD86O3wkKS9pdi50ZXN0KHZhbHVlKSkpLnRvQmUodHJ1ZSk7Cgl9CglyZXR1cm4gY29va2llcy5tYXAoKHZhbHVlKSA9PiB2YWx1ZS5zcGxpdCgiOyIpWzBdKS5qb2luKCI7ICIpOwp9KTsKCmV4cG9ydCBmdW5jdGlvbiBub3Rlc0h0dHAoYmFzZVVybDogc3RyaW5nLCBjb29raWUgPSAiIiwgb3JpZ2luID0gYmFzZVVybCkgewoJY29uc3QgcHJvdG9jb2wgPSBScGNDbGllbnQubGF5ZXJQcm90b2NvbEh0dHAoewoJCXRyYW5zZm9ybUNsaWVudDogKGNsaWVudCkgPT4gSHR0cENsaWVudC5tYXBSZXF1ZXN0KGNsaWVudCwgSHR0cENsaWVudFJlcXVlc3Quc2V0SGVhZGVycyh7IGNvb2tpZSwgb3JpZ2luIH0pKSwKCQl1cmw6IGAke2Jhc2VVcmx9L3JwY2AsCgl9KS5waXBlKExheWVyLnByb3ZpZGUoW0ZldGNoSHR0cENsaWVudC5sYXllciwgUnBjU2VyaWFsaXphdGlvbi5sYXllck5kanNvbl0pKTsKCXJldHVybiBScGNDbGllbnQubWFrZShOb3RlcykucGlwZShFZmZlY3QucHJvdmlkZShwcm90b2NvbCkpOwp9CgpleHBvcnQgZnVuY3Rpb24gY3JlZGVudGlhbHMobmFtZTogc3RyaW5nKSB7CglyZXR1cm4geyBlbWFpbDogYCR7bmFtZX1Ac3RhcnRlci50ZXN0YCwgbmFtZSwgcGFzc3dvcmQ6ICJjb3JyZWN0LWhvcnNlLWJhdHRlcnktc3RhcGxlIiB9Owp9Cg==","path":"src/test-support/authHttp.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0LCB0eXBlIFJlZGFjdGVkIH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgY3JlZGVudGlhbHMgfSBmcm9tICIuL2F1dGhIdHRwLnRzIjsKaW1wb3J0IHsgZm9yd2FyZGluZ1Byb3h5IH0gZnJvbSAiLi9mb3J3YXJkaW5nUHJveHkudHMiOwppbXBvcnQgeyBwcm9kdWN0aW9uQXV0aCB9IGZyb20gIi4vcHJvZHVjdGlvbkF1dGgudHMiOwoKZXhwb3J0IGNvbnN0IGF1dGhSYXRlTGltaXRzID0gRWZmZWN0LmZuKCJTdGFydGVyU3RvcnkuYXV0aFJhdGVMaW1pdHMiKShmdW5jdGlvbiogKAoJZGF0YWJhc2VVcmw6IFJlZGFjdGVkLlJlZGFjdGVkPHN0cmluZz4sCgl0cnVzdGVkUHJveHk6IHN0cmluZyB8IHVuZGVmaW5lZCwKCXRlbGw6IChsaW5lOiBzdHJpbmcpID0+IHZvaWQsCikgewoJY29uc3QgaG9zdCA9IHlpZWxkKiBwcm9kdWN0aW9uQXV0aChkYXRhYmFzZVVybCwgdHJ1c3RlZFByb3h5KTsKCXJldHVybiB7CgkJb3V0cHV0OiBob3N0Lm91dHB1dCwKCQl2aXNpdG9yOiBFZmZlY3QuZm4oIlN0YXJ0ZXJTdG9yeS52aXNpdG9yIikoZnVuY3Rpb24qIChjbGllbnRJcDogc3RyaW5nKSB7CgkJCXRlbGwoYGEgdmlzaXRvciBjb25uZWN0cyB0aHJvdWdoIGEgcHJveHkgZm9yd2FyZGluZyAke2NsaWVudElwfWApOwoJCQljb25zdCBwcm94eSA9IHlpZWxkKiBFZmZlY3QuYWNxdWlyZVJlbGVhc2UoCgkJCQlFZmZlY3QucHJvbWlzZSgoKSA9PiBmb3J3YXJkaW5nUHJveHkoaG9zdC51cmwsIGNsaWVudElwKSksCgkJCQkoZml4dHVyZSkgPT4gRWZmZWN0LnByb21pc2UoKCkgPT4gZml4dHVyZS5jbG9zZSgpKSwKCQkJKTsKCQkJcmV0dXJuIHsKCQkJCXNpZ25JbjogRWZmZWN0LmZuKCJTdGFydGVyU3Rvcnkuc2lnbkluIikoZnVuY3Rpb24qICgpIHsKCQkJCQl0ZWxsKGB0aGUgdmlzaXRvciBhdCAke2NsaWVudElwfSBhdHRlbXB0cyBzaWduLWluYCk7CgkJCQkJcmV0dXJuIHlpZWxkKiBFZmZlY3QucHJvbWlzZShhc3luYyAoKSA9PiB7CgkJCQkJCWNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYCR7cHJveHkudXJsfS9hcGkvYXV0aC9zaWduLWluL2VtYWlsYCwgewoJCQkJCQkJYm9keTogSlNPTi5zdHJpbmdpZnkoY3JlZGVudGlhbHMoInVua25vd24iKSksCgkJCQkJCQloZWFkZXJzOiB7ICJjb250ZW50LXR5cGUiOiAiYXBwbGljYXRpb24vanNvbiIsIG9yaWdpbjogImh0dHBzOi8vYXBwLmV4YW1wbGUiIH0sCgkJCQkJCQltZXRob2Q6ICJQT1NUIiwKCQkJCQkJfSk7CgkJCQkJCWF3YWl0IHJlc3BvbnNlLnRleHQoKTsKCQkJCQkJcmV0dXJuIHJlc3BvbnNlLnN0YXR1czsKCQkJCQl9KTsKCQkJCX0pLAoJCQl9OwoJCX0pLAoJfTsKfSk7Cg==","path":"src/test-support/authRateLimits.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0IH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgZXhwZWN0IH0gZnJvbSAidml0ZXN0IjsKaW1wb3J0IHsgd2l0aElzb2xhdGVkRGF0YWJhc2UgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC10ZXN0LXNxbC93aXRoSXNvbGF0ZWREYXRhYmFzZS50cyI7CmltcG9ydCB7IGRvbUZldGNoIH0gZnJvbSAiQHNoaXZhZWRldi90ZXN0LXN0b3J5L2RvbUZldGNoLnRzIjsKaW1wb3J0IHsgc3RvcnlLaXQgfSBmcm9tICJAc2hpdmFlZGV2L3Rlc3Qtc3Rvcnkvc3RvcnlLaXQudHMiOwppbXBvcnQgeyBtYWtlQXV0aCB9IGZyb20gIiNjbGllbnQvYXV0aC50cyI7CmltcG9ydCB7IGNyZWRlbnRpYWxzIH0gZnJvbSAiLi9hdXRoSHR0cC50cyI7CmltcG9ydCB7IHN0YXJ0SG9zdCB9IGZyb20gIi4vaG9zdC50cyI7CmltcG9ydCB7IHBvc3RncmVzIH0gZnJvbSAiLi9wb3N0Z3Jlcy50cyI7Cgpjb25zdCBhbGljZSA9IGNyZWRlbnRpYWxzKCJhbGljZSIpOwpleHBvcnQgY29uc3QgY29va2llQXBwID0gc3RvcnlLaXQoewoJYXJvdW5kOiB3aXRoSXNvbGF0ZWREYXRhYmFzZSwKCWNsb2NrOiAibGl2ZSIsCgkqY3JlYXRlKCkgewoJCWNvbnN0IHsgYmFzZVVybCB9ID0geWllbGQqIHN0YXJ0SG9zdCgpOwoJCWNvbnN0IHByZXZpb3VzTG9jYXRpb24gPSB3aW5kb3cubG9jYXRpb24uaHJlZjsKCQljb25zdCBmZXRjaCA9IGRvbUZldGNoKGJhc2VVcmwpOwoJCXlpZWxkKiBFZmZlY3QuYWRkRmluYWxpemVyKCgpID0+CgkJCUVmZmVjdC5wcm9taXNlKGFzeW5jICgpID0+IHsKCQkJCXRyeSB7CgkJCQkJY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCgiL2FwaS9hdXRoL3NpZ24tb3V0IiwgeyBib2R5OiAie30iLCBoZWFkZXJzOiB7ICJjb250ZW50LXR5cGUiOiAiYXBwbGljYXRpb24vanNvbiIgfSwgbWV0aG9kOiAiUE9TVCIgfSk7CgkJCQkJZXhwZWN0KHJlc3BvbnNlLnN0YXR1cykudG9CZSgyMDApOwoJCQkJCWF3YWl0IHJlc3BvbnNlLnRleHQoKTsKCQkJCX0gZmluYWxseSB7CgkJCQkJd2luZG93LmxvY2F0aW9uLmhyZWYgPSBwcmV2aW91c0xvY2F0aW9uOwoJCQkJfQoJCQl9KS5waXBlKEVmZmVjdC50aW1lb3V0KCI1IHNlY29uZHMiKSwgRWZmZWN0Lm9yRGllKSwKCQkpOwoJCXJldHVybiB7IGJhc2VVcmwsIGNsaWVudDogbWFrZUF1dGgoeyBiYXNlVXJsIH0pLmNsaWVudCwgZmV0Y2ggfTsKCX0sCglpbnNwZWN0OiAoKSA9PiAoeyBhdXRoZW50aWNhdGlvbjogImNvb2tpZSBzZXNzaW9uIiB9KSwKCWxheWVyOiBwb3N0Z3JlcywKCW5hbWU6ICJjb29raWUgYXV0aCIsCglzdGFnZXM6IFsiYWNjb3VudCJdLAoJdmVyYnM6ICh7IGJhc2VVcmwsIGNsaWVudCwgZmV0Y2ggfSwgc3RvcnkpID0+IHsKCQlmdW5jdGlvbiBwb3N0KHBhdGg6IHN0cmluZywgYm9keTogb2JqZWN0KSB7CgkJCXJldHVybiBFZmZlY3QucHJvbWlzZShhc3luYyAoKSA9PiB7CgkJCQljb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKAoJCQkJCW5ldyBSZXF1ZXN0KGAke2Jhc2VVcmx9L2FwaS9hdXRoLyR7cGF0aH1gLCB7CgkJCQkJCWJvZHk6IEpTT04uc3RyaW5naWZ5KGJvZHkpLAoJCQkJCQloZWFkZXJzOiB7ICJjb250ZW50LXR5cGUiOiAiYXBwbGljYXRpb24vanNvbiIgfSwKCQkJCQkJbWV0aG9kOiAiUE9TVCIsCgkJCQkJfSksCgkJCQkpOwoJCQkJZXhwZWN0KHJlc3BvbnNlLnN0YXR1cykudG9CZSgyMDApOwoJCQkJYXdhaXQgcmVzcG9uc2UudGV4dCgpOwoJCQl9KTsKCQl9CgkJcmV0dXJuIHsKCQkJc2Vzc2lvbklzOiAoZW1haWw6IHN0cmluZyB8IG51bGwpID0+CgkJCQlFZmZlY3QucHJvbWlzZShhc3luYyAoKSA9PiB7CgkJCQkJc3RvcnkudGVsbChlbWFpbCA9PT0gbnVsbCA/ICJBbGljZSBoYXMgbm8gc2Vzc2lvbiIgOiAiQWxpY2UgcmVhZHMgaGVyIGNvb2tpZSBzZXNzaW9uIik7CgkJCQkJY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChuZXcgUmVxdWVzdChgJHtiYXNlVXJsfS9hcGkvYXV0aC9nZXQtc2Vzc2lvbmAsIHsgY2FjaGU6ICJuby1zdG9yZSIgfSkpOwoJCQkJCWV4cGVjdChyZXNwb25zZS5vaykudG9CZSh0cnVlKTsKCQkJCQlleHBlY3QocmVzcG9uc2Uuc3RhdHVzKS50b0JlKDIwMCk7CgkJCQkJZXhwZWN0KHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCJjb250ZW50LXR5cGUiKSkudG9Db250YWluKCJhcHBsaWNhdGlvbi9qc29uIik7CgkJCQkJZXhwZWN0KHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCJzZXQtY29va2llIikpLnRvQmVOdWxsKCk7CgkJCQkJY29uc3Qgc2Vzc2lvbjogdW5rbm93biA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTsKCQkJCQljb25zdCByZXN1bHQgPSBhd2FpdCBjbGllbnQuZ2V0U2Vzc2lvbigpOwoJCQkJCWV4cGVjdChyZXN1bHQuZXJyb3IpLnRvQmVOdWxsKCk7CgoJCQkJCWlmIChlbWFpbCA9PT0gbnVsbCkgewoJCQkJCQlleHBlY3Qoc2Vzc2lvbikudG9CZU51bGwoKTsKCQkJCQkJZXhwZWN0KHJlc3VsdC5kYXRhKS50b0JlTnVsbCgpOwoJCQkJCX0gZWxzZSB7CgkJCQkJCWV4cGVjdChzZXNzaW9uKS50b01hdGNoT2JqZWN0KHsgdXNlcjogeyBlbWFpbCB9IH0pOwoJCQkJCQlleHBlY3QocmVzdWx0LmRhdGEpLnRvTWF0Y2hPYmplY3QoeyB1c2VyOiB7IGVtYWlsIH0gfSk7CgkJCQkJfQoJCQkJfSksCgkJCXNpZ25JbjogKCkgPT4gewoJCQkJc3RvcnkudGVsbCgiQWxpY2Ugc2lnbnMgaW4iKTsKCQkJCXJldHVybiBFZmZlY3QucHJvbWlzZShhc3luYyAoKSA9PiB7CgkJCQkJZXhwZWN0KChhd2FpdCBjbGllbnQuc2lnbkluLmVtYWlsKGFsaWNlKSkuZXJyb3IpLnRvQmVOdWxsKCk7CgkJCQl9KTsKCQkJfSwKCQkJc2lnbk91dDogKCkgPT4gewoJCQkJc3RvcnkudGVsbCgiQWxpY2Ugc2lnbnMgb3V0Iik7CgkJCQlyZXR1cm4gcG9zdCgic2lnbi1vdXQiLCB7fSk7CgkJCX0sCgkJCXNpZ25VcDogKCkgPT4gewoJCQkJc3RvcnkudGVsbCgiQWxpY2Ugc2lnbnMgdXAiKTsKCQkJCXJldHVybiBFZmZlY3QucHJvbWlzZShhc3luYyAoKSA9PiB7CgkJCQkJZXhwZWN0KChhd2FpdCBjbGllbnQuc2lnblVwLmVtYWlsKGFsaWNlKSkuZXJyb3IpLnRvQmVOdWxsKCk7CgkJCQl9KTsKCQkJfSwKCQl9OwoJfSwKfSk7Cg==","path":"src/test-support/cookieApp.ts"},{"content":"aW1wb3J0IHsgb25jZSB9IGZyb20gIm5vZGU6ZXZlbnRzIjsKaW1wb3J0IHsgY3JlYXRlU2VydmVyLCByZXF1ZXN0IH0gZnJvbSAibm9kZTpodHRwIjsKCmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmb3J3YXJkaW5nUHJveHkodXBzdHJlYW06IHN0cmluZywgY2xpZW50SXA/OiBzdHJpbmcpIHsKCWNvbnN0IHNlcnZlciA9IGNyZWF0ZVNlcnZlcigoaW5jb21pbmcsIHJlc3BvbnNlKSA9PiB7CgkJY29uc3Qgb3V0Z29pbmcgPSByZXF1ZXN0KAoJCQlgJHt1cHN0cmVhbX0ke2luY29taW5nLnVybH1gLAoJCQl7CgkJCQloZWFkZXJzOiB7CgkJCQkJLi4uaW5jb21pbmcuaGVhZGVycywKCQkJCQlob3N0OiAiaW50ZXJuYWwudGVzdCIsCgkJCQkJLi4uKGNsaWVudElwID09PSB1bmRlZmluZWQgPyB7fSA6IHsgIngtZm9yd2FyZGVkLWZvciI6IGNsaWVudElwIH0pLAoJCQkJCSJ4LWZvcndhcmRlZC1ob3N0IjogImFwcC5leGFtcGxlIiwKCQkJCQkieC1mb3J3YXJkZWQtcHJvdG8iOiAiaHR0cHMiLAoJCQkJfSwKCQkJCW1ldGhvZDogaW5jb21pbmcubWV0aG9kLAoJCQl9LAoJCQkocmVzdWx0KSA9PiB7CgkJCQlyZXNwb25zZS53cml0ZUhlYWQocmVzdWx0LnN0YXR1c0NvZGUgPz8gNTAyLCByZXN1bHQuaGVhZGVycyk7CgkJCQlyZXN1bHQucGlwZShyZXNwb25zZSk7CgkJCX0sCgkJKTsKCQlvdXRnb2luZy5vbigiZXJyb3IiLCAoKSA9PiB7CgkJCXJlc3BvbnNlLndyaXRlSGVhZCg1MDIpOwoJCQlyZXNwb25zZS5lbmQoKTsKCQl9KTsKCQlpbmNvbWluZy5waXBlKG91dGdvaW5nKTsKCX0pOwoJc2VydmVyLmxpc3RlbigwLCAiMTI3LjAuMC4xIik7Cglhd2FpdCBvbmNlKHNlcnZlciwgImxpc3RlbmluZyIpOwoJY29uc3QgYWRkcmVzcyA9IHNlcnZlci5hZGRyZXNzKCk7CglpZiAoYWRkcmVzcyA9PT0gbnVsbCB8fCB0eXBlb2YgYWRkcmVzcyA9PT0gInN0cmluZyIpIHsKCQl0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdGVkIHByb3h5IFRDUCBhZGRyZXNzIik7Cgl9CglyZXR1cm4gewoJCWNsb3NlOiAoKSA9PgoJCQluZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CgkJCQlzZXJ2ZXIuY2xvc2VBbGxDb25uZWN0aW9ucygpOwoJCQkJc2VydmVyLmNsb3NlKChlcnJvcikgPT4gKGVycm9yID09PSB1bmRlZmluZWQgPyByZXNvbHZlKCkgOiByZWplY3QoZXJyb3IpKSk7CgkJCX0pLAoJCXVybDogYGh0dHA6Ly8xMjcuMC4wLjE6JHthZGRyZXNzLnBvcnR9YCwKCX07Cn0K","path":"src/test-support/forwardingProxy.ts"},{"content":"aW1wb3J0IHsgQ29uZmlnUHJvdmlkZXIsIEVmZmVjdCwgTGF5ZXIsIFJlZGFjdGVkIH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgSHR0cFNlcnZlciB9IGZyb20gImVmZmVjdC9odHRwIjsKaW1wb3J0ICogYXMgTmV0QWRkcmVzcyBmcm9tICJlZmZlY3QvbmV0L05ldEFkZHJlc3MiOwppbXBvcnQgeyBQb3N0Z3Jlc1Rlc3REYXRhYmFzZSB9IGZyb20gIkBzaGl2YWVkZXYvZWZmZWN0LXRlc3Qtc3FsL2RhdGFiYXNlLnRzIjsKaW1wb3J0IHsgc3RhcnRlckhvc3QgfSBmcm9tICIjc2VydmVyL3N0YXJ0ZXJIb3N0LnRzIjsKaW1wb3J0IHsgZm9yd2FyZGluZ1Byb3h5IH0gZnJvbSAiLi9mb3J3YXJkaW5nUHJveHkudHMiOwoKZXhwb3J0IGNvbnN0IHNlY3JldCA9IFJlZGFjdGVkLm1ha2UoInN0YXJ0ZXItdGVzdC1zZWNyZXQtd2l0aC1hdC1sZWFzdC0zMi1jaGFyYWN0ZXJzIik7CmV4cG9ydCBjb25zdCBQVUJMSUNfVVJMID0gImh0dHBzOi8vYXBwLmV4YW1wbGUiOwoKZXhwb3J0IGNvbnN0IHN0YXJ0SG9zdCA9IEVmZmVjdC5mbigiU3RhcnRlclN0b3J5LnN0YXJ0SG9zdCIpKGZ1bmN0aW9uKiAoZGVwbG95ZWQgPSBmYWxzZSkgewoJY29uc3QgZGF0YWJhc2UgPSB5aWVsZCogUG9zdGdyZXNUZXN0RGF0YWJhc2U7Cgljb25zdCBob3N0ID0gZGVwbG95ZWQKCQk/IHN0YXJ0ZXJIb3N0KHsgZGF0YWJhc2VVcmw6IGRhdGFiYXNlLnVybCwgc2VjcmV0IH0pLnBpcGUoCgkJCQlMYXllci5wcm92aWRlKAoJCQkJCUNvbmZpZ1Byb3ZpZGVyLmxheWVyKAoJCQkJCQlDb25maWdQcm92aWRlci5mcm9tRW52KHsKCQkJCQkJCWVudjogeyAiSE9TVCI6ICIwLjAuMC4wIiwgIlBPUlQiOiAiMCIsICJQVUJMSUNfVVJMIjogUFVCTElDX1VSTCwgIlRSVVNURURfUFJPWFkiOiAiMTI3LjAuMC4xIiB9LAoJCQkJCQl9KSwKCQkJCQkpLAoJCQkJKSwKCQkJKQoJCTogc3RhcnRlckhvc3QoeyBkYXRhYmFzZVVybDogZGF0YWJhc2UudXJsLCBwb3J0OiAwLCBzZWNyZXQgfSk7Cgljb25zdCBjb250ZXh0ID0geWllbGQqIExheWVyLmJ1aWxkKGhvc3QpOwoJY29uc3Qgc2VydmVyID0geWllbGQqIEh0dHBTZXJ2ZXIuSHR0cFNlcnZlci5waXBlKEVmZmVjdC5wcm92aWRlQ29udGV4dChjb250ZXh0KSk7CglpZiAoIU5ldEFkZHJlc3MuaXNJbmV0QWRkcmVzcyhzZXJ2ZXIuYWRkcmVzcykpIHsKCQlyZXR1cm4geWllbGQqIEVmZmVjdC5kaWUoIkV4cGVjdGVkIGEgVENQIHNlcnZlciIpOwoJfQoJY29uc3QgdXBzdHJlYW0gPSBgaHR0cDovLzEyNy4wLjAuMToke3NlcnZlci5hZGRyZXNzLnBvcnR9YDsKCWNvbnN0IHByb3h5ID0gZGVwbG95ZWQKCQk/IHlpZWxkKiBFZmZlY3QuYWNxdWlyZVJlbGVhc2UoCgkJCQlFZmZlY3QucHJvbWlzZSgoKSA9PiBmb3J3YXJkaW5nUHJveHkodXBzdHJlYW0pKSwKCQkJCShmaXh0dXJlKSA9PiBFZmZlY3QucHJvbWlzZSgoKSA9PiBmaXh0dXJlLmNsb3NlKCkpLAoJCQkpCgkJOiB1bmRlZmluZWQ7Cgljb25zdCBiYXNlVXJsID0gcHJveHk/LnVybCA/PyB1cHN0cmVhbTsKCXJldHVybiB7IGJhc2VVcmwsIGNvbnRleHQsIG9yaWdpbjogZGVwbG95ZWQgPyBQVUJMSUNfVVJMIDogYmFzZVVybCB9Owp9KTsKCmV4cG9ydCB0eXBlIFJ1bm5pbmdIb3N0ID0gRWZmZWN0LlN1Y2Nlc3M8UmV0dXJuVHlwZTx0eXBlb2Ygc3RhcnRIb3N0Pj47Cg==","path":"src/test-support/host.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0IH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cENsaWVudFJlcXVlc3QgfSBmcm9tICJlZmZlY3QvaHR0cCI7CmltcG9ydCAqIGFzIEF0b21SZWdpc3RyeSBmcm9tICJlZmZlY3QvcmVhY3Rpdml0eS9BdG9tUmVnaXN0cnkiOwppbXBvcnQgeyBleHBlY3QsIHZpIH0gZnJvbSAidml0ZXN0IjsKaW1wb3J0IHsgbWFrZU5vdGVzQ2xpZW50IH0gZnJvbSAiI2NsaWVudC9tYWtlTm90ZXMudHMiOwppbXBvcnQgdHlwZSB7IFJ1bm5pbmdIb3N0IH0gZnJvbSAiLi9ob3N0LnRzIjsKCmV4cG9ydCBjb25zdCBsaXZlTm90ZXMgPSBFZmZlY3QuZm4oIlN0YXJ0ZXJTdG9yeS5saXZlTm90ZXMiKShmdW5jdGlvbiogKGhvc3Q6IFJ1bm5pbmdIb3N0LCBjb29raWU6IHN0cmluZykgewoJY29uc3QgY2xpZW50ID0gbWFrZU5vdGVzQ2xpZW50KGAke2hvc3QuYmFzZVVybH0vcnBjYCwgKHRyYW5zcG9ydCkgPT4KCQlIdHRwQ2xpZW50Lm1hcFJlcXVlc3QodHJhbnNwb3J0LCBIdHRwQ2xpZW50UmVxdWVzdC5zZXRIZWFkZXJzKHsgY29va2llLCBvcmlnaW46IGhvc3Qub3JpZ2luIH0pKSwKCSk7Cgljb25zdCByZWdpc3RyeSA9IHlpZWxkKiBFZmZlY3QuYWNxdWlyZVJlbGVhc2UoCgkJRWZmZWN0LnN5bmMoKCkgPT4gQXRvbVJlZ2lzdHJ5Lm1ha2UoKSksCgkJKHZhbHVlKSA9PiBFZmZlY3Quc3luYygoKSA9PiB2YWx1ZS5kaXNwb3NlKCkpLAoJKTsKCWNvbnN0IGxpc3QgPSBjbGllbnQuYXBpLmxpc3QucXVlcnkoKTsKCXJlZ2lzdHJ5Lm1vdW50KGxpc3QpOwoJcmVnaXN0cnkubW91bnQoY2xpZW50LmNvbm5lY3Rpb24pOwoJeWllbGQqIEVmZmVjdC5wcm9taXNlKCgpID0+IHZpLndhaXRGb3IoKCkgPT4gZXhwZWN0KHJlZ2lzdHJ5LmdldChjbGllbnQuc3RhdHVzKS5jb25uZWN0aW9uKS50b0JlKCJsaXZlIikpKTsKCXJldHVybiB7IGNsaWVudCwgbGlzdCwgcmVnaXN0cnkgfTsKfSk7Cg==","path":"src/test-support/liveNotes.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0IH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgUG9zdGdyZXNUZXN0RGF0YWJhc2UgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC10ZXN0LXNxbC9kYXRhYmFzZS50cyI7CmltcG9ydCB7IG1pZ3JhdGlvblVwZ3JhZGUgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC10ZXN0LXNxbC9taWdyYXRpb25VcGdyYWRlLnRzIjsKaW1wb3J0IHsgd2l0aElzb2xhdGVkRGF0YWJhc2UgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC10ZXN0LXNxbC93aXRoSXNvbGF0ZWREYXRhYmFzZS50cyI7CmltcG9ydCB7IHN0b3J5S2l0IH0gZnJvbSAiQHNoaXZhZWRldi90ZXN0LXN0b3J5L3N0b3J5S2l0LnRzIjsKaW1wb3J0IHsgbWFrZUF1dGggfSBmcm9tICIjc2VydmVyL2F1dGgudHMiOwppbXBvcnQgeyBtaWdyYXRpb25zIH0gZnJvbSAiI3NlcnZlci9taWdyYXRpb25zLnRzIjsKaW1wb3J0IHsgc2VjcmV0IH0gZnJvbSAiLi9ob3N0LnRzIjsKaW1wb3J0IHsgcG9zdGdyZXMgfSBmcm9tICIuL3Bvc3RncmVzLnRzIjsKCmV4cG9ydCBjb25zdCBtaWdyYXRpb24gPSBzdG9yeUtpdCh7Cglhcm91bmQ6IHdpdGhJc29sYXRlZERhdGFiYXNlLAoJY2xvY2s6ICJsaXZlIiwKCWNyZWF0ZTogKCkgPT4gKHsgdXBUbzogMCB9KSwKCWxheWVyOiBwb3N0Z3JlcywKCW5hbWU6ICJub3RlcyBtaWdyYXRpb24iLAoJc3RhZ2VzOiBbInNjaGVtYSJdLAoJdmVyYnM6IChlbmdpbmUsIHN0b3J5KSA9PiAoewoJCXVwZ3JhZGU6IEVmZmVjdC5mbigiU3RhcnRlclN0b3J5LnVwZ3JhZGUiKShmdW5jdGlvbiogKCkgewoJCQlzdG9yeS50ZWxsKGB1cGdyYWRlIHRoZSBub3RlcyBzY2hlbWEgZnJvbSBtaWdyYXRpb24gJHtlbmdpbmUudXBUb31gKTsKCQkJY29uc3QgZGF0YWJhc2UgPSB5aWVsZCogUG9zdGdyZXNUZXN0RGF0YWJhc2U7CgkJCWNvbnN0IHsgYXV0aCB9ID0geWllbGQqIG1ha2VBdXRoKHsgZGF0YWJhc2VVcmw6IGRhdGFiYXNlLnVybCwgc2VjcmV0IH0pOwoJCQlyZXR1cm4geWllbGQqIG1pZ3JhdGlvblVwZ3JhZGUoeyBtaWdyYXRpb25zOiBtaWdyYXRpb25zKGF1dGgpLCB0YWJsZTogInN0YXJ0ZXJfbm90ZXMiLCB1cFRvOiBlbmdpbmUudXBUbyB9KTsKCQl9KSwKCX0pLAp9KTsKCmV4cG9ydCBmdW5jdGlvbiBiZWZvcmVWZXJzaW9uZWROb3RlcygpIHsKCXJldHVybiBtaWdyYXRpb24udHJhaXQoInNjaGVtYSIsICJ0aGUgbm90ZXMgc2NoZW1hIHByZWRhdGVzIHZlcnNpb25lZCB3cml0ZXMiLCAoZW5naW5lKSA9PiB7CgkJZW5naW5lLnVwVG8gPSA0OwoJfSk7Cn0K","path":"src/test-support/migration.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0LCBMYXllciwgUHViU3ViLCBTdHJlYW0gfSBmcm9tICJlZmZlY3QiOwppbXBvcnQgKiBhcyBBdG9tUnBjIGZyb20gImVmZmVjdC9yZWFjdGl2aXR5L0F0b21ScGMiOwppbXBvcnQgeyBScGNUZXN0IH0gZnJvbSAiZWZmZWN0L3JwYyI7CmltcG9ydCB7IGJpbmQgfSBmcm9tICJAc2hpdmFlZGV2L2VmZmVjdC1jb250cmFjdC9iaW5kLnRzIjsKaW1wb3J0IHsgdHlwZSBMaXZlSGludCwgbGl2ZSB9IGZyb20gIkBzaGl2YWVkZXYvZWZmZWN0LWNvbnRyYWN0L2xpdmUudHMiOwppbXBvcnQgeyBDb25mbGljdCwgTm90Rm91bmQsIFVuYXV0aG9yaXplZCB9IGZyb20gIkBzaGl2YWVkZXYvcGxhdGZvcm0vZXJyb3JzL3RheG9ub215LnRzIjsKaW1wb3J0IHsgSWRlbnRpdHksIFNlc3Npb25Vc2VyIH0gZnJvbSAiQHNoaXZhZWRldi9wbGF0Zm9ybS9ycGMvaWRlbnRpdHkudHMiOwppbXBvcnQgeyBBdXRoZW50aWNhdGVkVXNlciB9IGZyb20gIkBzaGl2YWVkZXYvcGxhdGZvcm0vcnBjL21pZGRsZXdhcmUudHMiOwppbXBvcnQgeyBDcmVhdGUsIHR5cGUgTm90ZSwgTm90ZXMsIG5vdGVzLCBTdWJzY3JpYmUsIFVwZGF0ZSB9IGZyb20gIiNub3Rlcy50cyI7CgpleHBvcnQgZnVuY3Rpb24gbm90ZXNDbGllbnQoaW5pdGlhbDogcmVhZG9ubHkgKHR5cGVvZiBOb3RlLlR5cGUpW10gPSBbXSkgewoJY29uc3Qgcm93cyA9IFsuLi5pbml0aWFsXTsKCWNvbnN0IGNhbGxzOiBzdHJpbmdbXSA9IFtdOwoJY29uc3QgaGludHMgPSBFZmZlY3QucnVuU3luYyhQdWJTdWIudW5ib3VuZGVkPExpdmVIaW50PigpKTsKCWNvbnN0IHNlc3Npb24gPSB7IHNpZ25lZEluOiB0cnVlIH07Cgljb25zdCBhdXRoZW50aWNhdGlvbiA9IExheWVyLnN1Y2NlZWQoQXV0aGVudGljYXRlZFVzZXIsIChlZmZlY3QpID0+CgkJc2Vzc2lvbi5zaWduZWRJbgoJCQk/IGVmZmVjdC5waXBlKAoJCQkJCUVmZmVjdC5wcm92aWRlU2VydmljZShJZGVudGl0eSwgeyBpZDogImFsaWNlIiB9KSwKCQkJCQlFZmZlY3QucHJvdmlkZVNlcnZpY2UoU2Vzc2lvblVzZXIsIHsgZW1haWw6ICJhbGljZUBzdGFydGVyLnRlc3QiLCBpZDogImFsaWNlIiwgbmFtZTogIkFsaWNlIiB9KSwKCQkJCSkKCQkJOiBFZmZlY3QuZmFpbChuZXcgVW5hdXRob3JpemVkKHsgbWVzc2FnZTogIkF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkIiB9KSksCgkpOwoJZnVuY3Rpb24gZ2V0KGlkOiBudW1iZXIpIHsKCQlyZXR1cm4gRWZmZWN0LnN1c3BlbmQoKCkgPT4gewoJCQljb25zdCByb3cgPSByb3dzLmZpbmQoKG5vdGUpID0+IG5vdGUuaWQgPT09IGlkKTsKCQkJcmV0dXJuIHJvdyA9PT0gdW5kZWZpbmVkID8gRWZmZWN0LmZhaWwobmV3IE5vdEZvdW5kKHsgbWVzc2FnZTogIk5vdGUgbm90IGZvdW5kIiB9KSkgOiBFZmZlY3Quc3VjY2VlZCh7IC4uLnJvdyB9KTsKCQl9KTsKCX0KCWZ1bmN0aW9uIGNvbmZsaWN0KCkgewoJCXJldHVybiBuZXcgQ29uZmxpY3QoeyBtZXNzYWdlOiAiVGhpcyBub3RlIGNoYW5nZWQuIFJlZnJlc2ggYW5kIHJldmlldyB5b3VyIGRyYWZ0IGJlZm9yZSB0cnlpbmcgYWdhaW4uIiB9KTsKCX0KCWNvbnN0IGhhbmRsZXJzID0gTm90ZXMudG9MYXllcih7CgkJIm5vdGVzLmNyZWF0ZSI6ICh7IHRpdGxlIH0pID0+CgkJCXRpdGxlLnRyaW0oKSA9PT0gInJlc2VydmVkIgoJCQkJPyBDcmVhdGUucmVqZWN0LkludmFsaWQoeyBmaWVsZDogInRpdGxlIiwgbWVzc2FnZTogIkNob29zZSBhbm90aGVyIHRpdGxlIiB9KQoJCQkJOiBFZmZlY3Quc3luYygoKSA9PiB7CgkJCQkJCWNhbGxzLnB1c2goImNyZWF0ZSIpOwoJCQkJCQljb25zdCByb3cgPSB7IGlkOiByb3dzLmxlbmd0aCArIDEsIHRpdGxlOiB0aXRsZS50cmltKCksIHZlcnNpb246IDAsIHdvcmRDb3VudDogbnVsbCB9OwoJCQkJCQlyb3dzLnVuc2hpZnQocm93KTsKCQkJCQkJcmV0dXJuIHJvdzsKCQkJCQl9KSwKCQkibm90ZXMuZGVsZXRlIjogKGlucHV0KSA9PgoJCQlFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoKSB7CgkJCQljYWxscy5wdXNoKCJkZWxldGUiKTsKCQkJCWNvbnN0IHJvdyA9IHlpZWxkKiBnZXQoaW5wdXQuaWQpOwoJCQkJaWYgKHJvdy52ZXJzaW9uICE9PSBpbnB1dC52ZXJzaW9uKSB7CgkJCQkJcmV0dXJuIHlpZWxkKiBFZmZlY3QuZmFpbChjb25mbGljdCgpKTsKCQkJCX0KCQkJCXJvd3Muc3BsaWNlKAoJCQkJCXJvd3MuZmluZEluZGV4KChub3RlKSA9PiBub3RlLmlkID09PSByb3cuaWQpLAoJCQkJCTEsCgkJCQkpOwoJCQl9KSwKCQkibm90ZXMuZ2V0IjogKHsgaWQgfSkgPT4KCQkJRWZmZWN0LnRhcChnZXQoaWQpLCAoKSA9PgoJCQkJRWZmZWN0LnN5bmMoKCkgPT4gewoJCQkJCWNhbGxzLnB1c2goImdldCIpOwoJCQkJfSksCgkJCSksCgkJIm5vdGVzLmxpc3QiOiAoKSA9PgoJCQlFZmZlY3Quc3luYygoKSA9PiB7CgkJCQljYWxscy5wdXNoKCJsaXN0Iik7CgkJCQlyZXR1cm4gWy4uLnJvd3NdOwoJCQl9KSwKCQkibm90ZXMuc3Vic2NyaWJlIjogKCkgPT4gU3RyZWFtLmZyb21QdWJTdWIoaGludHMpLAoJCSJub3Rlcy51cGRhdGUiOiAoaW5wdXQpID0+CgkJCUVmZmVjdC5nZW4oZnVuY3Rpb24qICgpIHsKCQkJCWNhbGxzLnB1c2goInVwZGF0ZSIpOwoJCQkJY29uc3Qgcm93ID0geWllbGQqIGdldChpbnB1dC5pZCk7CgkJCQlpZiAocm93LnZlcnNpb24gIT09IGlucHV0LnZlcnNpb24pIHsKCQkJCQlyZXR1cm4geWllbGQqIEVmZmVjdC5mYWlsKGNvbmZsaWN0KCkpOwoJCQkJfQoJCQkJaWYgKGlucHV0LnRpdGxlLnRyaW0oKSA9PT0gInJlc2VydmVkIikgewoJCQkJCXJldHVybiB5aWVsZCogVXBkYXRlLnJlamVjdC5JbnZhbGlkKHsgZmllbGQ6ICJ0aXRsZSIsIG1lc3NhZ2U6ICJDaG9vc2UgYW5vdGhlciB0aXRsZSIgfSk7CgkJCQl9CgkJCQljb25zdCBzYXZlZCA9IHsgLi4ucm93LCB0aXRsZTogaW5wdXQudGl0bGUudHJpbSgpLCB2ZXJzaW9uOiByb3cudmVyc2lvbiArIDEsIHdvcmRDb3VudDogbnVsbCB9OwoJCQkJcm93c1tyb3dzLmZpbmRJbmRleCgobm90ZSkgPT4gbm90ZS5pZCA9PT0gcm93LmlkKV0gPSBzYXZlZDsKCQkJCXJldHVybiBzYXZlZDsKCQkJfSksCgkJIm5vdGVzLndob2FtaSI6ICgpID0+IEVmZmVjdC5tYXAoU2Vzc2lvblVzZXIsICh1c2VyKSA9PiB1c2VyKSwKCX0pOwoJY2xhc3MgQ2xpZW50IGV4dGVuZHMgQXRvbVJwYy5TZXJ2aWNlPENsaWVudD4oKSgic3RhcnRlci9Ob3Rlc0NsaWVudCIsIHsKCQlncm91cDogTm90ZXMsCgkJbWFrZUVmZmVjdDogUnBjVGVzdC5tYWtlQ2xpZW50KE5vdGVzLCB7IGZsYXR0ZW46IHRydWUgfSksCgkJcHJvdG9jb2w6IGhhbmRsZXJzLnBpcGUoTGF5ZXIucHJvdmlkZU1lcmdlKGF1dGhlbnRpY2F0aW9uKSksCgl9KSB7fQoJY29uc3QgYXBpID0gYmluZChOb3RlcywgQ2xpZW50KTsKCWNvbnN0IHN1YnNjcmlwdGlvbiA9IGxpdmUoQ2xpZW50LnJ1bnRpbWUsIHsgcmVzeW5jS2V5czogU3Vic2NyaWJlLnJlYWRzKHVuZGVmaW5lZCksIHN0cmVhbTogYXBpLnN1YnNjcmliZS5ydW4odW5kZWZpbmVkKSB9KTsKCWZ1bmN0aW9uIGZpbmlzaE5vdGUoaWQ6IG51bWJlciwgd29yZENvdW50OiBudW1iZXIpIHsKCQljb25zdCBpbmRleCA9IHJvd3MuZmluZEluZGV4KChub3RlKSA9PiBub3RlLmlkID09PSBpZCk7CgkJY29uc3Qgcm93ID0gcm93c1tpbmRleF07CgkJaWYgKHJvdyAhPT0gdW5kZWZpbmVkKSB7CgkJCXJvd3NbaW5kZXhdID0geyAuLi5yb3csIHZlcnNpb246IHJvdy52ZXJzaW9uICsgMSwgd29yZENvdW50IH07CgkJfQoJCXJldHVybiBFZmZlY3QucnVuUHJvbWlzZShQdWJTdWIucHVibGlzaChoaW50cywgeyBfdGFnOiAiQ2hhbmdlZCIsIGtleXM6IFtub3Rlcy5pdGVtKGlkKV0gfSkpOwoJfQoJZnVuY3Rpb24gcmV2aXNlTm90ZShpZDogbnVtYmVyLCB0aXRsZTogc3RyaW5nLCBub3RpZnkgPSB0cnVlKSB7CgkJY29uc3QgaW5kZXggPSByb3dzLmZpbmRJbmRleCgobm90ZSkgPT4gbm90ZS5pZCA9PT0gaWQpOwoJCWNvbnN0IHJvdyA9IHJvd3NbaW5kZXhdOwoJCWlmIChyb3cgIT09IHVuZGVmaW5lZCkgewoJCQlyb3dzW2luZGV4XSA9IHsgLi4ucm93LCB0aXRsZSwgdmVyc2lvbjogcm93LnZlcnNpb24gKyAxIH07CgkJfQoJCXJldHVybiBub3RpZnkgPyBFZmZlY3QucnVuUHJvbWlzZShQdWJTdWIucHVibGlzaChoaW50cywgeyBfdGFnOiAiQ2hhbmdlZCIsIGtleXM6IFtub3Rlcy5pdGVtKGlkKV0gfSkpLnRoZW4oKCkgPT4gdW5kZWZpbmVkKSA6IFByb21pc2UucmVzb2x2ZSgpOwoJfQoJcmV0dXJuIHsgYXBpLCBjYWxscywgZmluaXNoTm90ZSwgcmV2aXNlTm90ZSwgcnVudGltZTogQ2xpZW50LnJ1bnRpbWUsIHNlc3Npb24sIC4uLnN1YnNjcmlwdGlvbiB9Owp9Cg==","path":"src/test-support/notesClient.ts"},{"content":"aW1wb3J0IHsgY3JlYXRlTWVtb3J5SGlzdG9yeSwgUm91dGVyUHJvdmlkZXIgfSBmcm9tICJAdGFuc3RhY2svcmVhY3Qtcm91dGVyIjsKaW1wb3J0IHsgYWN0IH0gZnJvbSAicmVhY3QiOwppbXBvcnQgeyBleHBlY3QsIG9uVGVzdEZpbmlzaGVkIH0gZnJvbSAidml0ZXN0IjsKaW1wb3J0IHsgZXZlbnR1YWxseSwgcmVuZGVyIH0gZnJvbSAiQHNoaXZhZWRldi9lZmZlY3QtcmVhY3QvdGVzdGluZy50cyI7CmltcG9ydCB7IGFwcFJvdXRlciB9IGZyb20gIiNjbGllbnQvYXBwUm91dGVyLnRzeCI7CmltcG9ydCB7IG5vdGVzQ2xpZW50IH0gZnJvbSAiLi9ub3Rlc0NsaWVudC50cyI7CmltcG9ydCB7IHNjcmVlbkF1dGggfSBmcm9tICIuL3NjcmVlbkF1dGgudHMiOwoKZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG9wZW5Ob3RlKHRlbGw6IChsaW5lOiBzdHJpbmcpID0+IHZvaWQpIHsKCWNvbnN0IGNsaWVudCA9IG5vdGVzQ2xpZW50KFt7IGlkOiAxLCB0aXRsZTogIkZpcnN0IG5vdGUiLCB2ZXJzaW9uOiAwLCB3b3JkQ291bnQ6IG51bGwgfV0pOwoJY29uc3QgdmlldyA9IGF3YWl0IHJlbmRlcihudWxsKTsKCW9uVGVzdEZpbmlzaGVkKHZpZXcudW5tb3VudCk7Cgljb25zdCByb3V0ZXIgPSBhcHBSb3V0ZXIodmlldy5yZWdpc3RyeSwgY2xpZW50LCBzY3JlZW5BdXRoKCksIGNyZWF0ZU1lbW9yeUhpc3RvcnkoeyBpbml0aWFsRW50cmllczogWyIvbm90ZXMvMSJdIH0pKTsKCWF3YWl0IHZpZXcucmVuZGVyKDxSb3V0ZXJQcm92aWRlciByb3V0ZXI9e3JvdXRlcn0gLz4pOwoJYXdhaXQgZXZlbnR1YWxseSgoKSA9PiBleHBlY3Qodmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigiaW5wdXQiKT8udmFsdWUpLnRvQmUoIkZpcnN0IG5vdGUiKSk7Cglhc3luYyBmdW5jdGlvbiBlbnRlcih2YWx1ZTogc3RyaW5nKSB7CgkJdGVsbChgZW50ZXIgJHtKU09OLnN0cmluZ2lmeSh2YWx1ZSl9IGluIHRoZSB0aXRsZWApOwoJCWNvbnN0IGlucHV0ID0gdmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvcigiaW5wdXQiKTsKCQlpZiAoIShpbnB1dCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQpKSB7CgkJCXRocm93IG5ldyBFcnJvcigiTWlzc2luZyB0aXRsZSBpbnB1dCIpOwoJCX0KCQlhd2FpdCBhY3QoKCkgPT4gewoJCQlPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEhUTUxJbnB1dEVsZW1lbnQucHJvdG90eXBlLCAidmFsdWUiKT8uc2V0Py5jYWxsKGlucHV0LCB2YWx1ZSk7CgkJCWlucHV0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJpbnB1dCIsIHsgYnViYmxlczogdHJ1ZSB9KSk7CgkJfSk7Cgl9Cglhc3luYyBmdW5jdGlvbiBjbGljayhsYWJlbDogc3RyaW5nKSB7CgkJdGVsbChgY2xpY2sgJHtsYWJlbH1gKTsKCQljb25zdCBidXR0b24gPSBbLi4udmlldy5jb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgiYnV0dG9uIildLmZpbmQoKGNhbmRpZGF0ZSkgPT4gY2FuZGlkYXRlLnRleHRDb250ZW50ID09PSBsYWJlbCk7CgkJaWYgKGJ1dHRvbiA9PT0gdW5kZWZpbmVkKSB7CgkJCXRocm93IG5ldyBFcnJvcihgTWlzc2luZyAke2xhYmVsfSBidXR0b25gKTsKCQl9CgkJYXdhaXQgYWN0KCgpID0+IGJ1dHRvbi5jbGljaygpKTsKCX0KCXJldHVybiB7IGNsaWNrLCBjbGllbnQsIGVudGVyLCByb3V0ZXIsIHZpZXcgfTsKfQo=","path":"src/test-support/openNote.tsx"},{"content":"aW1wb3J0IHsgQ29uZmlnLCBFZmZlY3QsIExheWVyIH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgTWlncmF0b3IgfSBmcm9tICJlZmZlY3Qvc3FsIjsKaW1wb3J0IHsgbWFrZVBvc3RncmVzVGVzdExheWVyIH0gZnJvbSAiQHNoaXZhZWRldi9lZmZlY3QtdGVzdC1zcWwvcG9zdGdyZXMudHMiOwoKZXhwb3J0IGNvbnN0IHBvc3RncmVzID0gTGF5ZXIudW53cmFwKAoJRWZmZWN0Lm1hcChDb25maWcuUmVkYWN0ZWQoIlBMQVRGT1JNX0VGRkVDVF9TUUxfVEVTVF9EQVRBQkFTRV9VUkwiKS5waXBlKENvbmZpZy5vckVsc2UoKCkgPT4gQ29uZmlnLlJlZGFjdGVkKCJURVNUX0RBVEFCQVNFX1VSTCIpKSksICh1cmwpID0+CgkJbWFrZVBvc3RncmVzVGVzdExheWVyKHsgbWlncmF0aW9uczogeyBsb2FkZXI6IE1pZ3JhdG9yLmZyb21SZWNvcmQoe30pLCBsb2NrVGltZW91dDogIjUgc2Vjb25kcyIgfSwgdXJsIH0pLAoJKSwKKTsK","path":"src/test-support/postgres.ts"},{"content":"aW1wb3J0IHByb2Nlc3MgZnJvbSAibm9kZTpwcm9jZXNzIjsKaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCB9IGZyb20gIm5vZGU6dXJsIjsKaW1wb3J0IHsgTm9kZVNlcnZpY2VzIH0gZnJvbSAiQGVmZmVjdC9wbGF0Zm9ybS1ub2RlIjsKaW1wb3J0IHsgRGVmZXJyZWQsIEVmZmVjdCwgUmVkYWN0ZWQsIFN0cmVhbSB9IGZyb20gImVmZmVjdCI7CmltcG9ydCB7IENoaWxkUHJvY2VzcyB9IGZyb20gImVmZmVjdC9wcm9jZXNzIjsKCmV4cG9ydCBjb25zdCBwcm9kdWN0aW9uQXV0aCA9IEVmZmVjdC5mbigiVGVzdC5wcm9kdWN0aW9uQXV0aCIpKGZ1bmN0aW9uKiAoZGF0YWJhc2VVcmw6IFJlZGFjdGVkLlJlZGFjdGVkPHN0cmluZz4sIHRydXN0ZWRQcm94eT86IHN0cmluZykgewoJbGV0IG91dHB1dCA9ICIiOwoJY29uc3QgcmVhZHkgPSB5aWVsZCogRGVmZXJyZWQubWFrZTxzdHJpbmc+KCk7Cgljb25zdCBjaGlsZCA9IHlpZWxkKiBDaGlsZFByb2Nlc3MubWFrZSgKCQlwcm9jZXNzLmV4ZWNQYXRoLAoJCVsKCQkJLi4uKGltcG9ydC5tZXRhLnJlc29sdmUoIkBzaGl2YWVkZXYvcGxhdGZvcm0vYXBwSG9zdC50cyIpLmVuZHNXaXRoKCIudHMiKSA/IFsiLS1jb25kaXRpb25zPXNvdXJjZSJdIDogW10pLAoJCQlmaWxlVVJMVG9QYXRoKG5ldyBVUkwoIi4vcHJvZHVjdGlvbkhvc3QudHMiLCBpbXBvcnQubWV0YS51cmwpKSwKCQldLAoJCXsKCQkJZW52OiB7CgkJCQkiQkVUVEVSX0FVVEhfU0VDUkVUIjogInN0YXJ0ZXItdGVzdC1zZWNyZXQtd2l0aC1hdC1sZWFzdC0zMi1jaGFyYWN0ZXJzIiwKCQkJCSJEQVRBQkFTRV9VUkwiOiBSZWRhY3RlZC52YWx1ZShkYXRhYmFzZVVybCksCgkJCQkiTk9ERV9FTlYiOiAicHJvZHVjdGlvbiIsCgkJCQkiUFVCTElDX1VSTCI6ICJodHRwczovL2FwcC5leGFtcGxlIiwKCQkJCSJURVNUIjogImZhbHNlIiwKCQkJCSJUUlVTVEVEX1BST1hZIjogdHJ1c3RlZFByb3h5LAoJCQl9LAoJCQlleHRlbmRFbnY6IHRydWUsCgkJfSwKCSk7Cgl5aWVsZCogY2hpbGQuYWxsLnBpcGUoCgkJU3RyZWFtLmRlY29kZVRleHQoKSwKCQlTdHJlYW0ucnVuRm9yRWFjaCgodGV4dCkgPT4KCQkJRWZmZWN0LmdlbihmdW5jdGlvbiogKCkgewoJCQkJb3V0cHV0ICs9IHRleHQ7CgkJCQljb25zdCB1cmwgPSAvQVVUSF9VUkw9KD88dXJsPmh0dHA6XC9cLzEyN1wuMFwuMFwuMTpcZCspXG4vdS5leGVjKG91dHB1dCk/Lmdyb3Vwcz8udXJsOwoJCQkJaWYgKHVybCAhPT0gdW5kZWZpbmVkKSB7CgkJCQkJeWllbGQqIERlZmVycmVkLnN1Y2NlZWQocmVhZHksIHVybCk7CgkJCQl9CgkJCX0pLAoJCSksCgkJRWZmZWN0LmZvcmtTY29wZWQsCgkpOwoJY29uc3QgdXJsID0geWllbGQqIERlZmVycmVkLmF3YWl0KHJlYWR5KS5waXBlKAoJCUVmZmVjdC5yYWNlRmlyc3QoY2hpbGQuZXhpdENvZGUucGlwZShFZmZlY3QuZmxhdE1hcCgoY29kZSkgPT4gRWZmZWN0LmRpZShuZXcgRXJyb3IoYFByb2R1Y3Rpb24gaG9zdCBleGl0ZWQgKCR7Y29kZX0pOiAke291dHB1dH1gKSkpKSksCgkJRWZmZWN0LnRpbWVvdXQoIjIwIHNlY29uZHMiKSwKCSk7CglyZXR1cm4geyBvdXRwdXQ6ICgpID0+IG91dHB1dCwgdXJsIH07Cn0sIEVmZmVjdC5wcm92aWRlKE5vZGVTZXJ2aWNlcy5sYXllcikpOwo=","path":"src/test-support/productionAuth.ts"},{"content":"aW1wb3J0IHsgTm9kZVJ1bnRpbWUgfSBmcm9tICJAZWZmZWN0L3BsYXRmb3JtLW5vZGUiOwppbXBvcnQgeyBFZmZlY3QsIExheWVyIH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgSHR0cFNlcnZlciB9IGZyb20gImVmZmVjdC9odHRwIjsKaW1wb3J0ICogYXMgTmV0QWRkcmVzcyBmcm9tICJlZmZlY3QvbmV0L05ldEFkZHJlc3MiOwppbXBvcnQgeyBzdGFydGVySG9zdCB9IGZyb20gIiNzZXJ2ZXIvc3RhcnRlckhvc3QudHMiOwoKTm9kZVJ1bnRpbWUucnVuTWFpbigKCUVmZmVjdC5nZW4oZnVuY3Rpb24qICgpIHsKCQljb25zdCBjb250ZXh0ID0geWllbGQqIExheWVyLmJ1aWxkKHN0YXJ0ZXJIb3N0KHsgcG9ydDogMCB9KSk7CgkJY29uc3Qgc2VydmVyID0geWllbGQqIEh0dHBTZXJ2ZXIuSHR0cFNlcnZlci5waXBlKEVmZmVjdC5wcm92aWRlQ29udGV4dChjb250ZXh0KSk7CgkJaWYgKCFOZXRBZGRyZXNzLmlzSW5ldEFkZHJlc3Moc2VydmVyLmFkZHJlc3MpKSB7CgkJCXJldHVybiB5aWVsZCogRWZmZWN0LmRpZSgiRXhwZWN0ZWQgYSBUQ1Agc2VydmVyIik7CgkJfQoJCXByb2Nlc3Muc3Rkb3V0LndyaXRlKGBBVVRIX1VSTD1odHRwOi8vMTI3LjAuMC4xOiR7c2VydmVyLmFkZHJlc3MucG9ydH1cbmApOwoJCXlpZWxkKiBFZmZlY3QubmV2ZXI7Cgl9KS5waXBlKEVmZmVjdC5zY29wZWQpLAopOwoKaW1wb3J0IHByb2Nlc3MgZnJvbSAibm9kZTpwcm9jZXNzIjsK","path":"src/test-support/productionHost.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0IH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgZXhwZWN0IH0gZnJvbSAidml0ZXN0IjsKaW1wb3J0IHsgYXV0aFBvc3QsIGNyZWRlbnRpYWxzLCBub3Rlc0h0dHAgfSBmcm9tICIuL2F1dGhIdHRwLnRzIjsKaW1wb3J0IHR5cGUgeyBSdW5uaW5nSG9zdCB9IGZyb20gIi4vaG9zdC50cyI7CgpleHBvcnQgZnVuY3Rpb24gcmVxdWVzdHMoaG9zdDogUnVubmluZ0hvc3QsIHRlbGw6IChsaW5lOiBzdHJpbmcpID0+IHZvaWQpIHsKCWNvbnN0IGF1dGhlbnRpY2F0ZSA9IEVmZmVjdC5mbigiU3RhcnRlclN0b3J5LmF1dGhlbnRpY2F0ZSIpKGZ1bmN0aW9uKiAobmFtZTogc3RyaW5nLCBwYXRoID0gInNpZ24tdXAvZW1haWwiLCBjb29raWUgPSAiIikgewoJCXRlbGwoYCR7bmFtZX0gY2FsbHMgJHtwYXRofWApOwoJCXJldHVybiB5aWVsZCogYXV0aFBvc3QoaG9zdC5iYXNlVXJsLCBwYXRoLCBwYXRoID09PSAic2lnbi1vdXQiID8ge30gOiBjcmVkZW50aWFscyhuYW1lKSwgY29va2llLCBob3N0Lm9yaWdpbik7Cgl9KTsKCWNvbnN0IG5vdGVzID0gRWZmZWN0LmZuKCJTdGFydGVyU3Rvcnkubm90ZXMiKShmdW5jdGlvbiogKGNvb2tpZSA9ICIiKSB7CgkJY29uc3QgY2xpZW50ID0geWllbGQqIG5vdGVzSHR0cChob3N0LmJhc2VVcmwsIGNvb2tpZSwgaG9zdC5vcmlnaW4pOwoJCWZ1bmN0aW9uIGNhbGw8QSwgRSwgUj4obGluZTogc3RyaW5nLCBlZmZlY3Q6IEVmZmVjdC5FZmZlY3Q8QSwgRSwgUj4pIHsKCQkJcmV0dXJuIEVmZmVjdC5zdXNwZW5kKCgpID0+IHsKCQkJCXRlbGwobGluZSk7CgkJCQlyZXR1cm4gZWZmZWN0OwoJCQl9KTsKCQl9CgkJcmV0dXJuIHsKCQkJY3JlYXRlOiAoaW5wdXQ6IFBhcmFtZXRlcnM8KHR5cGVvZiBjbGllbnQpWyJub3Rlcy5jcmVhdGUiXT5bMF0pID0+CgkJCQljYWxsKGBjcmVhdGUgbm90ZSAke0pTT04uc3RyaW5naWZ5KGlucHV0LnRpdGxlKX1gLCBjbGllbnRbIm5vdGVzLmNyZWF0ZSJdKGlucHV0KSksCgkJCWRlbGV0ZTogKGlucHV0OiBQYXJhbWV0ZXJzPCh0eXBlb2YgY2xpZW50KVsibm90ZXMuZGVsZXRlIl0+WzBdKSA9PgoJCQkJY2FsbChgZGVsZXRlIG5vdGUgJHtpbnB1dC5pZH0gYXQgdmVyc2lvbiAke2lucHV0LnZlcnNpb259YCwgY2xpZW50WyJub3Rlcy5kZWxldGUiXShpbnB1dCkpLAoJCQlnZXQ6IChpbnB1dDogUGFyYW1ldGVyczwodHlwZW9mIGNsaWVudClbIm5vdGVzLmdldCJdPlswXSkgPT4gY2FsbChgb3BlbiBub3RlICR7aW5wdXQuaWR9YCwgY2xpZW50WyJub3Rlcy5nZXQiXShpbnB1dCkpLAoJCQlsaXN0OiAoKSA9PiBjYWxsKCJsaXN0IG5vdGVzIiwgY2xpZW50WyJub3Rlcy5saXN0Il0oKSksCgkJCXVwZGF0ZTogKGlucHV0OiBQYXJhbWV0ZXJzPCh0eXBlb2YgY2xpZW50KVsibm90ZXMudXBkYXRlIl0+WzBdKSA9PgoJCQkJY2FsbChgZWRpdCBub3RlICR7aW5wdXQuaWR9IGF0IHZlcnNpb24gJHtpbnB1dC52ZXJzaW9ufWAsIGNsaWVudFsibm90ZXMudXBkYXRlIl0oaW5wdXQpKSwKCQkJd2hvYW1pOiAoKSA9PiBjYWxsKCJyZWFkIHRoZSBzaWduZWQtaW4gcHJvZmlsZSIsIGNsaWVudFsibm90ZXMud2hvYW1pIl0oKSksCgkJfTsKCX0pOwoJY29uc3QgZm9yZWlnblJlcXVlc3QgPSBFZmZlY3QuZm4oIlN0YXJ0ZXJTdG9yeS5mb3JlaWduUmVxdWVzdCIpKGZ1bmN0aW9uKiAoY29va2llOiBzdHJpbmcpIHsKCQl0ZWxsKCJhIGZvcmVpZ24gb3JpZ2luIGNhbGxzIHByb3RlY3RlZCBSUEMiKTsKCQljb25zdCByZXNwb25zZSA9IHlpZWxkKiBFZmZlY3QucHJvbWlzZSgoKSA9PgoJCQlmZXRjaChgJHtob3N0LmJhc2VVcmx9L3JwY2AsIHsKCQkJCWJvZHk6ICJbXSIsCgkJCQloZWFkZXJzOiB7ICJjb250ZW50LXR5cGUiOiAiYXBwbGljYXRpb24vbmRqc29uIiwgY29va2llLCBvcmlnaW46ICJodHRwczovL2ZvcmVpZ24uZXhhbXBsZSIgfSwKCQkJCW1ldGhvZDogIlBPU1QiLAoJCQl9KSwKCQkpOwoJCWV4cGVjdChyZXNwb25zZS5zdGF0dXMpLnRvQmUoNDAzKTsKCQl5aWVsZCogRWZmZWN0LnByb21pc2UoKCkgPT4gcmVzcG9uc2UudGV4dCgpKTsKCX0pOwoJcmV0dXJuIHsgYXV0aGVudGljYXRlLCBmb3JlaWduUmVxdWVzdCwgbm90ZXMgfTsKfQo=","path":"src/test-support/requests.ts"},{"content":"aW1wb3J0IHsgYWN0IH0gZnJvbSAicmVhY3QiOwoKZXhwb3J0IGZ1bmN0aW9uIHNjcmVlbkFjdGlvbnModGVsbDogKGxpbmU6IHN0cmluZykgPT4gdm9pZCkgewoJcmV0dXJuIHsKCQllbnRlcjogYXN5bmMgKGNvbnRhaW5lcjogSFRNTEVsZW1lbnQsIHZhbHVlOiBzdHJpbmcsIGxhYmVsPzogc3RyaW5nKSA9PiB7CgkJCXRlbGwoYGVudGVyICR7SlNPTi5zdHJpbmdpZnkodmFsdWUpfSBpbiAke2xhYmVsID8/ICJ0aGUgdGl0bGUifWApOwoJCQljb25zdCBmaWVsZCA9IGxhYmVsID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiBbLi4uY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoImxhYmVsIildLmZpbmQoKGVsZW1lbnQpID0+IGVsZW1lbnQudGV4dENvbnRlbnQgPT09IGxhYmVsKTsKCQkJY29uc3QgaW5wdXQgPSBsYWJlbCA9PT0gdW5kZWZpbmVkID8gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoImlucHV0IikgOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChmaWVsZD8uaHRtbEZvciA/PyAiIik7CgkJCWlmICghKGlucHV0IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCkpIHsKCQkJCXRocm93IG5ldyBFcnJvcihgTWlzc2luZyAke2xhYmVsID8/ICJ0aXRsZSJ9IGlucHV0YCk7CgkJCX0KCQkJYXdhaXQgYWN0KCgpID0+IHsKCQkJCU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSFRNTElucHV0RWxlbWVudC5wcm90b3R5cGUsICJ2YWx1ZSIpPy5zZXQ/LmNhbGwoaW5wdXQsIHZhbHVlKTsKCQkJCWlucHV0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJpbnB1dCIsIHsgYnViYmxlczogdHJ1ZSB9KSk7CgkJCX0pOwoJCX0sCgkJc3VibWl0OiBhc3luYyAoY29udGFpbmVyOiBIVE1MRWxlbWVudCkgPT4gewoJCQl0ZWxsKCJzdWJtaXQgdGhlIGZvcm0iKTsKCQkJY29uc3QgZm9ybSA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCJmb3JtIik7CgkJCWlmIChmb3JtID09PSBudWxsKSB7CgkJCQl0aHJvdyBuZXcgRXJyb3IoIk1pc3NpbmcgZm9ybSIpOwoJCQl9CgkJCWF3YWl0IGFjdChhc3luYyAoKSA9PiB7CgkJCQlmb3JtLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJzdWJtaXQiLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkpOwoJCQkJYXdhaXQgUHJvbWlzZS5yZXNvbHZlKCk7CgkJCX0pOwoJCX0sCgl9Owp9Cg==","path":"src/test-support/screenActions.ts"},{"content":"aW1wb3J0IHR5cGUgeyBBdXRoQWN0aW9ucyB9IGZyb20gIiNjbGllbnQvYXV0aC50cyI7CgpleHBvcnQgZnVuY3Rpb24gc2NyZWVuQXV0aCgpOiBBdXRoQWN0aW9ucyB7CglmdW5jdGlvbiB1bmF2YWlsYWJsZSgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4gewoJCXJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoIlRoaXMgc2NyZWVuIGZpeHR1cmUgZG9lcyBub3QgcHJvdmlkZSBhdXRoZW50aWNhdGlvbiIpKTsKCX0KCXJldHVybiB7IHNpZ25PdXQ6IHVuYXZhaWxhYmxlLCBzdWJtaXQ6IHVuYXZhaWxhYmxlIH07Cn0K","path":"src/test-support/screenAuth.ts"},{"content":"aW1wb3J0IHsgRWZmZWN0IH0gZnJvbSAiZWZmZWN0IjsKaW1wb3J0IHsgc3RvcnlLaXQgfSBmcm9tICJAc2hpdmFlZGV2L3Rlc3Qtc3Rvcnkvc3RvcnlLaXQudHMiOwppbXBvcnQgeyBvcGVuTm90ZSB9IGZyb20gIi4vb3Blbk5vdGUudHN4IjsKaW1wb3J0IHsgc2NyZWVuQWN0aW9ucyB9IGZyb20gIi4vc2NyZWVuQWN0aW9ucy50cyI7CgppbnRlcmZhY2UgU2NyZWVuIHsKCWVkaXRvcjogQXdhaXRlZDxSZXR1cm5UeXBlPHR5cGVvZiBvcGVuTm90ZT4+IHwgdW5kZWZpbmVkOwoJdGVsbDogKGxpbmU6IHN0cmluZykgPT4gdm9pZDsKfQoKZXhwb3J0IGNvbnN0IHNjcmVlbnMgPSBzdG9yeUtpdCh7CgljbG9jazogImxpdmUiLAoJY3JlYXRlOiAoKTogU2NyZWVuID0+ICh7IGVkaXRvcjogdW5kZWZpbmVkLCB0ZWxsOiAoKSA9PiB1bmRlZmluZWQgfSksCglpbnNwZWN0OiAoZW5naW5lKSA9PiAoeyB0ZXh0OiBlbmdpbmUuZWRpdG9yPy52aWV3LmNvbnRhaW5lci50ZXh0Q29udGVudCB9KSwKCW5hbWU6ICJzdGFydGVyIHNjcmVlbiIsCglzdGFnZXM6IFsic2NyZWVuIl0sCgl2ZXJiczogKGVuZ2luZSwgc3RvcnkpID0+IHsKCQllbmdpbmUudGVsbCA9IHN0b3J5LnRlbGw7CgkJcmV0dXJuIHsKCQkJZWRpdG9yOiAoKSA9PiB7CgkJCQlpZiAoZW5naW5lLmVkaXRvciA9PT0gdW5kZWZpbmVkKSB7CgkJCQkJdGhyb3cgbmV3IEVycm9yKCJUaGUgZWRpdG9yIGlzIG5vdCBvcGVuIik7CgkJCQl9CgkJCQlyZXR1cm4gZW5naW5lLmVkaXRvcjsKCQkJfSwKCQkJaW50ZXJhY3Q6IChydW46ICgpID0+IFByb21pc2U8dm9pZD4pID0+IEVmZmVjdC5wcm9taXNlKHJ1biksCgkJCS4uLnNjcmVlbkFjdGlvbnMoc3RvcnkudGVsbCksCgkJfTsKCX0sCn0pOwoKZXhwb3J0IGZ1bmN0aW9uIGVkaXRpbmdOb3RlKCkgewoJcmV0dXJuIHNjcmVlbnMudHJhaXQoInNjcmVlbiIsICJ0aGUgZmlyc3Qgbm90ZSBpcyBvcGVuIGluIHRoZSBlZGl0b3IiLCBmdW5jdGlvbiogKGVuZ2luZSkgewoJCWVuZ2luZS5lZGl0b3IgPSB5aWVsZCogRWZmZWN0LnByb21pc2UoKCkgPT4gb3Blbk5vdGUoKGxpbmUpID0+IGVuZ2luZS50ZWxsKGxpbmUpKSk7Cgl9KTsKfQo=","path":"src/test-support/screens.ts"},{"content":"ewoJImNvbXBpbGVyT3B0aW9ucyI6IHsKCQkiY3VzdG9tQ29uZGl0aW9ucyI6IFtdLAoJCSJqc3giOiAicmVhY3QtanN4IiwKCQkibGliIjogWyJFU05leHQiLCAiRE9NIiwgIkRPTS5JdGVyYWJsZSJdLAoJCSJza2lwTGliQ2hlY2siOiB0cnVlLAoJCSJ0eXBlcyI6IFsibm9kZSIsICJyZWFjdCIsICJyZWFjdC1kb20iXQoJfSwKCSJleHRlbmRzIjogIkBzaGl2YWVkZXYvcXVhbGl0eS90c2NvbmZpZy9iYXNlLmpzb24iLAoJImluY2x1ZGUiOiBbInNyYyIsICJzY3JpcHQiLCAiLnJhaWx3YXkiLCAidml0ZS5jb25maWcudHMiLCAidml0ZXN0LmNvbmZpZy50cyJdCn0K","path":"tsconfig.json"},{"content":"aW1wb3J0IHRhaWx3aW5kY3NzIGZyb20gIkB0YWlsd2luZGNzcy92aXRlIjsKaW1wb3J0IHJlYWN0IGZyb20gIkB2aXRlanMvcGx1Z2luLXJlYWN0IjsKaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSAidml0ZSI7CgpleHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoewoJcGx1Z2luczogW3RhaWx3aW5kY3NzKCksIHJlYWN0KCldLAoJcmVzb2x2ZTogeyBjb25kaXRpb25zOiBbXSwgdHNjb25maWdQYXRoczogdHJ1ZSB9LAoJc2VydmVyOiB7CgkJaG9zdDogIjEyNy4wLjAuMSIsCgkJcG9ydDogNTE3MywKCQlwcm94eTogewoJCQkiL2FwaS9hdXRoIjogeyBjaGFuZ2VPcmlnaW46IGZhbHNlLCB0YXJnZXQ6ICJodHRwOi8vMTI3LjAuMC4xOjMwMDAiIH0sCgkJCSIvcnBjIjogeyBjaGFuZ2VPcmlnaW46IGZhbHNlLCB0YXJnZXQ6ICJodHRwOi8vMTI3LjAuMC4xOjMwMDAiIH0sCgkJfSwKCQlzdHJpY3RQb3J0OiB0cnVlLAoJfSwKfSk7Cg==","path":"vite.config.ts"},{"content":"aW1wb3J0IHsgZmlsZVVSTFRvUGF0aCB9IGZyb20gIm5vZGU6dXJsIjsKaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSAidml0ZXN0L2NvbmZpZyI7CmltcG9ydCB7IHRlc3RQcm9qZWN0cyB9IGZyb20gIkBzaGl2YWVkZXYvcXVhbGl0eS90ZXN0UHJvamVjdHMudHMiOwoKY29uc3QgdGVzdCA9IHRlc3RQcm9qZWN0cygpOwpmb3IgKGNvbnN0IHByb2plY3Qgb2YgdGVzdC5wcm9qZWN0cyA/PyBbXSkgewoJaWYgKHR5cGVvZiBwcm9qZWN0ID09PSAib2JqZWN0IiAmJiAidGVzdCIgaW4gcHJvamVjdCAmJiBwcm9qZWN0LnRlc3Q/Lm5hbWUgPT09ICJkb20iKSB7CgkJcHJvamVjdC50ZXN0LmVudmlyb25tZW50ID0gZmlsZVVSTFRvUGF0aChpbXBvcnQubWV0YS5yZXNvbHZlKCJAc2hpdmFlZGV2L3Rlc3Qtc3RvcnkvZG9tRW52aXJvbm1lbnQuY29uZmlnLnRzIikpOwoJfQp9CgpleHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoewoJcmVzb2x2ZTogeyBjb25kaXRpb25zOiBbIm1vZHVsZSIsICJicm93c2VyIiwgImRldmVsb3BtZW50fHByb2R1Y3Rpb24iXSB9LAoJc3NyOiB7IHJlc29sdmU6IHsgY29uZGl0aW9uczogWyJub2RlIiwgImRldmVsb3BtZW50fHByb2R1Y3Rpb24iXSB9IH0sCgl0ZXN0LAp9KTsK","path":"vitest.config.ts"}]