@scalekit-sdk/node 2.2.0 → 2.2.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.
Files changed (62) hide show
  1. package/{reference.md → REFERENCE.md} +530 -77
  2. package/lib/core.js +1 -1
  3. package/package.json +9 -3
  4. package/.github/dependabot.yml +0 -10
  5. package/.nvmrc +0 -1
  6. package/buf.gen.yaml +0 -20
  7. package/jest.config.js +0 -15
  8. package/src/auth.ts +0 -99
  9. package/src/connect.ts +0 -32
  10. package/src/connection.ts +0 -267
  11. package/src/constants/user.ts +0 -22
  12. package/src/core.ts +0 -139
  13. package/src/directory.ts +0 -431
  14. package/src/domain.ts +0 -273
  15. package/src/errors/base-exception.ts +0 -263
  16. package/src/errors/index.ts +0 -3
  17. package/src/errors/specific-exceptions.ts +0 -88
  18. package/src/index.ts +0 -10
  19. package/src/organization.ts +0 -571
  20. package/src/passwordless.ts +0 -139
  21. package/src/permission.ts +0 -310
  22. package/src/pkg/grpc/buf/validate/validate_pb.ts +0 -28
  23. package/src/pkg/grpc/google/api/annotations_pb.ts +0 -28
  24. package/src/pkg/grpc/google/api/field_behavior_pb.ts +0 -28
  25. package/src/pkg/grpc/google/api/visibility_pb.ts +0 -28
  26. package/src/pkg/grpc/protoc-gen-openapiv2/options/annotations_pb.ts +0 -28
  27. package/src/pkg/grpc/scalekit/v1/auditlogs/auditlogs_pb.ts +0 -257
  28. package/src/pkg/grpc/scalekit/v1/auth/auth_pb.ts +0 -836
  29. package/src/pkg/grpc/scalekit/v1/auth/passwordless_pb.ts +0 -264
  30. package/src/pkg/grpc/scalekit/v1/auth/webauthn_pb.ts +0 -794
  31. package/src/pkg/grpc/scalekit/v1/commons/commons_pb.ts +0 -452
  32. package/src/pkg/grpc/scalekit/v1/connections/connections_pb.ts +0 -2645
  33. package/src/pkg/grpc/scalekit/v1/directories/directories_pb.ts +0 -1393
  34. package/src/pkg/grpc/scalekit/v1/domains/domains_pb.ts +0 -599
  35. package/src/pkg/grpc/scalekit/v1/errdetails/errdetails_pb.ts +0 -311
  36. package/src/pkg/grpc/scalekit/v1/options/options_pb.ts +0 -200
  37. package/src/pkg/grpc/scalekit/v1/organizations/organizations_pb.ts +0 -1141
  38. package/src/pkg/grpc/scalekit/v1/roles/roles_pb.ts +0 -1491
  39. package/src/pkg/grpc/scalekit/v1/sessions/sessions_pb.ts +0 -497
  40. package/src/pkg/grpc/scalekit/v1/users/users_pb.ts +0 -1404
  41. package/src/role.ts +0 -463
  42. package/src/scalekit.ts +0 -800
  43. package/src/session.ts +0 -323
  44. package/src/types/auth.ts +0 -73
  45. package/src/types/organization.ts +0 -12
  46. package/src/types/scalekit.ts +0 -50
  47. package/src/types/user.ts +0 -21
  48. package/src/user.ts +0 -829
  49. package/src/webauthn.ts +0 -99
  50. package/tests/README.md +0 -25
  51. package/tests/connection.test.ts +0 -42
  52. package/tests/directory.test.ts +0 -46
  53. package/tests/domain.test.ts +0 -293
  54. package/tests/organization.test.ts +0 -81
  55. package/tests/passwordless.test.ts +0 -108
  56. package/tests/permission.test.ts +0 -399
  57. package/tests/role.test.ts +0 -323
  58. package/tests/scalekit.test.ts +0 -104
  59. package/tests/setup.ts +0 -34
  60. package/tests/users.test.ts +0 -168
  61. package/tests/utils/test-data.ts +0 -490
  62. package/tsconfig.json +0 -19
@@ -1,497 +0,0 @@
1
- // @generated by protoc-gen-es v2.11.0 with parameter "target=ts"
2
- // @generated from file scalekit/v1/sessions/sessions.proto (package scalekit.v1.sessions, syntax proto3)
3
- /* eslint-disable */
4
-
5
- import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
6
- import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
7
- import { file_buf_validate_validate } from "../../../buf/validate/validate_pb";
8
- import { file_google_api_annotations } from "../../../google/api/annotations_pb";
9
- import type { Timestamp } from "@bufbuild/protobuf/wkt";
10
- import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
11
- import { file_protoc_gen_openapiv2_options_annotations } from "../../../protoc-gen-openapiv2/options/annotations_pb";
12
- import { file_scalekit_v1_options_options } from "../options/options_pb";
13
- import type { Message } from "@bufbuild/protobuf";
14
-
15
- /**
16
- * Describes the file scalekit/v1/sessions/sessions.proto.
17
- */
18
- export const file_scalekit_v1_sessions_sessions: GenFile = /*@__PURE__*/
19
- fileDesc("CiNzY2FsZWtpdC92MS9zZXNzaW9ucy9zZXNzaW9ucy5wcm90bxIUc2NhbGVraXQudjEuc2Vzc2lvbnMiogEKFVNlc3Npb25EZXRhaWxzUmVxdWVzdBKIAQoKc2Vzc2lvbl9pZBgBIAEoCUJ0kkFbMkFVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHNlc3Npb24uIE11c3Qgc3RhcnQgd2l0aCAnc2VzXycgcHJlZml4LkoWInNlc18xMjM0NTY3ODkwMTIzNDU2IrpIE8gBAXIOMgxec2VzX1swLTldKyQiowcKGVVzZXJTZXNzaW9uRGV0YWlsc1JlcXVlc3QSngEKB3VzZXJfaWQYASABKAlCjAGSQXMyWVVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgdXNlciB3aG9zZSBzZXNzaW9ucyB0byByZXRyaWV2ZS4gTXVzdCBzdGFydCB3aXRoICd1c3JfJyBwcmVmaXguShYidXNyXzEyMzQ1Njc4OTAxMjM0NTYiukgTyAEBcg4yDF51c3JfWzAtOV0rJBLqAQoJcGFnZV9zaXplGAIgASgNQtYBkkHSATLLAU1heGltdW0gbnVtYmVyIG9mIHNlc3Npb25zIHRvIHJldHVybiBpbiBhIHNpbmdsZSBwYWdlLiBPcHRpb25hbCBwYXJhbWV0ZXIuIElmIG5vdCBzcGVjaWZpZWQsIGRlZmF1bHRzIHRvIGEgc2VydmVyLWRlZmluZWQgbGltaXQuIFVzZSBzbWFsbGVyIHZhbHVlcyBmb3IgZmFzdGVyIHJlc3BvbnNlcywgbGFyZ2VyIHZhbHVlcyBmb3IgZmV3ZXIgcmVxdWVzdHMuSgI1MBKQAgoKcGFnZV90b2tlbhgDIAEoCUL7AZJB9wEywAFQYWdpbmF0aW9uIHRva2VuIGZyb20gdGhlIHByZXZpb3VzIHJlc3BvbnNlIGZvciByZXRyaWV2aW5nIHRoZSBuZXh0IHBhZ2Ugb2YgcmVzdWx0cy4gTGVhdmUgZW1wdHkgZm9yIHRoZSBmaXJzdCBwYWdlLiBVc2UgdGhlIG5leHRfcGFnZV90b2tlbiBmcm9tIGEgcHJldmlvdXMgcmVzcG9uc2UgdG8gZmV0Y2ggc3Vic2VxdWVudCBwYWdlcy5KMiJleUp3WVdkbElqb2dNaXdnSW14aGMzUmZhV1FpT2lBaWMyVnpYekV5TXpRMUluMD0iEuQBCgZmaWx0ZXIYBCABKAsyJy5zY2FsZWtpdC52MS5zZXNzaW9ucy5Vc2VyU2Vzc2lvbkZpbHRlckKqAZJBpgEyowFPcHRpb25hbCBmaWx0ZXIgY3JpdGVyaWEgdG8gbmFycm93IHNlc3Npb24gcmVzdWx0cy4gQ2FuIGZpbHRlciBieSBvbmUgb3IgbW9yZSBzdGF0dXNlcyBhbmQvb3IgYSB0aW1lIHJhbmdlIG9mIGNyZWF0aW9uIGRhdGVzLiBMZWF2ZSBlbXB0eSB0byByZXRyaWV2ZSBhbGwgc2Vzc2lvbnMuIpQGChFVc2VyU2Vzc2lvbkZpbHRlchKnAgoGc3RhdHVzGAEgAygJQpYCkkGSAjKDAkZpbHRlciBzZXNzaW9ucyBieSBvbmUgb3IgbW9yZSBzdGF0dXMgdmFsdWVzLiBQb3NzaWJsZSB2YWx1ZXM6ICdhY3RpdmUnLCAnZXhwaXJlZCcsICdyZXZva2VkJywgJ2xvZ291dCcuIExlYXZlIGVtcHR5IHRvIGluY2x1ZGUgYWxsIHN0YXR1c2VzLiBNdWx0aXBsZSB2YWx1ZXMgdXNlIE9SIGxvZ2ljIChlLmcuLCBzdGF0dXM9WydhY3RpdmUnLCAnZXhwaXJlZCddIHJldHVybnMgc2Vzc2lvbnMgdGhhdCBhcmUgZWl0aGVyIGFjdGl2ZSBPUiBleHBpcmVkKS5KClsiYWN0aXZlIl0S7wEKCnN0YXJ0X3RpbWUYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQr4BkkG6ATKfAUZpbHRlciB0byBpbmNsdWRlIG9ubHkgc2Vzc2lvbnMgY3JlYXRlZCBvbiBvciBhZnRlciB0aGlzIHRpbWVzdGFtcC4gT3B0aW9uYWwuIFVzZXMgUkZDIDMzMzkgZm9ybWF0LiBVc2VmdWwgZm9yIHF1ZXJ5aW5nIHNlc3Npb25zIHdpdGhpbiBhIHNwZWNpZmljIHRpbWUgd2luZG93LkoWIjIwMjUtMDEtMDFUMDA6MDA6MDBaIhLiAQoIZW5kX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQrMBkkGvATKUAUZpbHRlciB0byBpbmNsdWRlIG9ubHkgc2Vzc2lvbnMgY3JlYXRlZCBvbiBvciBiZWZvcmUgdGhpcyB0aW1lc3RhbXAuIE9wdGlvbmFsLiBVc2VzIFJGQyAzMzM5IGZvcm1hdC4gTXVzdCBiZSBhZnRlciBzdGFydF90aW1lIGlmIGJvdGggYXJlIHNwZWNpZmllZC5KFiIyMDI1LTEyLTMxVDIzOjU5OjU5WiIiqwEKFFJldm9rZVNlc3Npb25SZXF1ZXN0EpIBCgpzZXNzaW9uX2lkGAEgASgJQn6SQWUyS1VuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgc2Vzc2lvbiB0byByZXZva2UuIE11c3Qgc3RhcnQgd2l0aCAnc2VzXycgcHJlZml4LkoWInNlc18xMjM0NTY3ODkwMTIzNDU2IrpIE8gBAXIOMgxec2VzX1swLTldKyQi5gEKFVJldm9rZVNlc3Npb25SZXNwb25zZRLMAQoPcmV2b2tlZF9zZXNzaW9uGAEgASgLMisuc2NhbGVraXQudjEuc2Vzc2lvbnMuUmV2b2tlZFNlc3Npb25EZXRhaWxzQoUBkkGBATJ/RGV0YWlscyBvZiB0aGUgcmV2b2tlZCBzZXNzaW9uIGluY2x1ZGluZyBzZXNzaW9uIElELCB1c2VyIElELCBjcmVhdGlvbiBhbmQgcmV2b2NhdGlvbiB0aW1lc3RhbXBzLCBhbmQgZmluYWwgZGV2aWNlIGluZm9ybWF0aW9uLiLHAQocUmV2b2tlQWxsVXNlclNlc3Npb25zUmVxdWVzdBKmAQoHdXNlcl9pZBgBIAEoCUKUAZJBezJhVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSB1c2VyIHdob3NlIGFsbCBzZXNzaW9ucyB3aWxsIGJlIHJldm9rZWQuIE11c3Qgc3RhcnQgd2l0aCAndXNyXycgcHJlZml4LkoWInVzcl8xMjM0NTY3ODkwMTIzNDU2IrpIE8gBAXIOMgxedXNyX1swLTldKyQi9wIKHVJldm9rZUFsbFVzZXJTZXNzaW9uc1Jlc3BvbnNlEtgBChByZXZva2VkX3Nlc3Npb25zGAEgAygLMisuc2NhbGVraXQudjEuc2Vzc2lvbnMuUmV2b2tlZFNlc3Npb25EZXRhaWxzQpABkkGMATKJAUxpc3Qgb2YgYWxsIHNlc3Npb25zIHRoYXQgd2VyZSByZXZva2VkLCBpbmNsdWRpbmcgZGV0YWlsZWQgaW5mb3JtYXRpb24gZm9yIGVhY2ggcmV2b2tlZCBzZXNzaW9uIHdpdGggSURzLCB0aW1lc3RhbXBzLCBhbmQgZGV2aWNlIGRldGFpbHMuEnsKDXRvdGFsX3Jldm9rZWQYAiABKA1CZJJBYTJcVG90YWwgY291bnQgb2YgYWN0aXZlIHNlc3Npb25zIHRoYXQgd2VyZSByZXZva2VkLiBVc2VmdWwgZm9yIGNvbmZpcm1hdGlvbiBhbmQgYXVkaXQgbG9nZ2luZy5KATUi/gYKElVzZXJTZXNzaW9uRGV0YWlscxLQAQoIc2Vzc2lvbnMYASADKAsyJC5zY2FsZWtpdC52MS5zZXNzaW9ucy5TZXNzaW9uRGV0YWlsc0KXAZJBkwEykAFBcnJheSBvZiBzZXNzaW9uIG9iamVjdHMgZm9yIHRoZSByZXF1ZXN0ZWQgdXNlci4gTWF5IGNvbnRhaW4gZmV3ZXIgZW50cmllcyB0aGFuIHRoZSByZXF1ZXN0ZWQgcGFnZV9zaXplIHdoZW4gcmVhY2hpbmcgdGhlIGZpbmFsIHBhZ2Ugb2YgcmVzdWx0cy4S5AEKD25leHRfcGFnZV90b2tlbhgCIAEoCULKAZJBxgEyjwFQYWdpbmF0aW9uIHRva2VuIGZvciByZXRyaWV2aW5nIHRoZSBuZXh0IHBhZ2Ugb2YgcmVzdWx0cy4gRW1wdHkgc3RyaW5nIGlmIHRoZXJlIGFyZSBubyBtb3JlIHBhZ2VzICh5b3UgaGF2ZSByZWFjaGVkIHRoZSBmaW5hbCBwYWdlIG9mIHJlc3VsdHMpLkoyImV5SndZV2RsSWpvZ01pd2dJbXhoYzNSZmFXUWlPaUFpYzJWelh6RXlNelExSW4wPSIS5wEKD3ByZXZfcGFnZV90b2tlbhgDIAEoCULNAZJByQEykgFQYWdpbmF0aW9uIHRva2VuIGZvciByZXRyaWV2aW5nIHRoZSBwcmV2aW91cyBwYWdlIG9mIHJlc3VsdHMuIEVtcHR5IHN0cmluZyBmb3IgdGhlIGZpcnN0IHBhZ2UuIFVzZSB0aGlzIHRvIG5hdmlnYXRlIGJhY2t3YXJkIHRocm91Z2ggcmVzdWx0IHBhZ2VzLkoyImV5SndZV2RsSWpvZ01Dd2dJbVpwY25OMFgybGtJam9nSW5ObGMxODNPVEF4SW4wPSISwwEKCnRvdGFsX3NpemUYBCABKA1CrgGSQaoBMqMBVG90YWwgbnVtYmVyIG9mIHNlc3Npb25zIG1hdGNoaW5nIHRoZSBhcHBsaWVkIGZpbHRlciBjcml0ZXJpYSwgcmVnYXJkbGVzcyBvZiBwYWdpbmF0aW9uLiBUaGlzIHJlcHJlc2VudHMgdGhlIGNvbXBsZXRlIHJlc3VsdCBzZXQgc2l6ZSBiZWZvcmUgcGFnaW5hdGlvbiBpcyBhcHBsaWVkLkoCNDIihBsKDlNlc3Npb25EZXRhaWxzEpUBCgpzZXNzaW9uX2lkGAEgASgJQoABkkF9MmNVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHNlc3Npb24uIFN5c3RlbS1nZW5lcmF0ZWQgcmVhZC1vbmx5IGZpZWxkIHVzZWQgdG8gcmVmZXJlbmNlIHRoaXMgc2Vzc2lvbi5KFiJzZXNfMTIzNDU2Nzg5MDEyMzQ1NiISfwoHdXNlcl9pZBgCIAEoCUJukkFrMlFVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHVzZXIgd2hvIG93bnMgYW5kIGlzIGF1dGhlbnRpY2F0ZWQgd2l0aGluIHRoaXMgc2Vzc2lvbi5KFiJ1c3JfMTIzNDU2Nzg5MDEyMzQ1NiISgAIKG2F1dGhlbnRpY2F0ZWRfb3JnYW5pemF0aW9ucxgDIAMoCULaAZJB1gEyuwFMaXN0IG9mIG9yZ2FuaXphdGlvbiBJRHMgdGhhdCBoYXZlIGJlZW4gYXV0aGVudGljYXRlZCBmb3IgdGhpcyB1c2VyIHdpdGhpbiB0aGUgY3VycmVudCBzZXNzaW9uLiBDb250YWlucyBhbGwgb3JnYW5pemF0aW9ucyB3aGVyZSB0aGUgdXNlciBoYXMgc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZCBTU08gb3IgYXV0aGVudGljYXRpb24uShZbIm9yZ18xMjMiLCAib3JnXzQ1NiJdEtgBCg9vcmdhbml6YXRpb25faWQYBCABKAlCvgGSQboBMp8BT3JnYW5pemF0aW9uIElEIGZvciB0aGUgdXNlcidzIG1vc3QgcmVjZW50bHkgYWN0aXZlIG9yZ2FuaXphdGlvbiB3aXRoaW4gdGhpcyBzZXNzaW9uLiBUaGlzIHJlcHJlc2VudHMgdGhlIHByaW1hcnkgb3JnYW5pemF0aW9uIGNvbnRleHQgZm9yIHRoZSBjdXJyZW50IHNlc3Npb24uShYib3JnXzEyMzQ1Njc4OTAxMjM0NTYiEt0BCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEKsAZJBqAEyjQFUaW1lc3RhbXAgaW5kaWNhdGluZyB3aGVuIHRoZSBzZXNzaW9uIHdhcyBjcmVhdGVkLiBUaGlzIGlzIHNldCBvbmNlIGF0IHNlc3Npb24gY3JlYXRpb24gYW5kIHJlbWFpbnMgY29uc3RhbnQgdGhyb3VnaG91dCB0aGUgc2Vzc2lvbiBsaWZldGltZS5KFiIyMDI1LTAxLTE1VDEwOjMwOjAwWiIS6AEKCnVwZGF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQrcBkkGzATKYAVRpbWVzdGFtcCBpbmRpY2F0aW5nIHdoZW4gdGhlIHNlc3Npb24gd2FzIGxhc3QgdXBkYXRlZC4gVXBkYXRlZCB3aGVuZXZlciBzZXNzaW9uIHN0YXRlIGNoYW5nZXMgc3VjaCBhcyBvcmdhbml6YXRpb24gY29udGV4dCBjaGFuZ2VzIG9yIG1ldGFkYXRhIHVwZGF0ZXMuShYiMjAyNS0wMS0xNVQxMDo0NTowMFoiEqsCCg9pZGxlX2V4cGlyZXNfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQvUBkkHxATLWAVByb2plY3RlZCBleHBpcmF0aW9uIHRpbWVzdGFtcCBpZiB0aGUgc2Vzc2lvbiByZW1haW5zIGlkbGUgd2l0aG91dCB1c2VyIGFjdGl2aXR5LiBUaGlzIHRpbWVzdGFtcCBpcyByZWNhbGN1bGF0ZWQgd2l0aCBlYWNoIHVzZXIgYWN0aXZpdHkuIFNlc3Npb24gd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHRlcm1pbmF0ZWQgYXQgdGhpcyB0aW1lIGlmIG5vIGFjdGl2aXR5IG9jY3Vycy5KFiIyMDI1LTAxLTE1VDExOjMwOjAwWiISkQIKE2Fic29sdXRlX2V4cGlyZXNfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQtcBkkHTATK4AUhhcmQgZXhwaXJhdGlvbiB0aW1lc3RhbXAgZm9yIHRoZSBzZXNzaW9uIHJlZ2FyZGxlc3Mgb2YgdXNlciBhY3Rpdml0eS4gVGhlIHNlc3Npb24gd2lsbCBiZSBmb3JjaWJseSB0ZXJtaW5hdGVkIGF0IHRoaXMgdGltZS4gVGhpcyByZXByZXNlbnRzIHRoZSBtYXhpbXVtIHNlc3Npb24gbGlmZXRpbWUgZnJvbSBjcmVhdGlvbi5KFiIyMDI1LTAxLTIyVDEwOjMwOjAwWiIS2QIKCmV4cGlyZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQqgCkkGkAjKJAlRpbWVzdGFtcCB3aGVuIHRoZSBzZXNzaW9uIHdhcyB0ZXJtaW5hdGVkLiBOdWxsIGlmIHRoZSBzZXNzaW9uIGlzIHN0aWxsIGFjdGl2ZS4gU2V0IHdoZW4gdGhlIHNlc3Npb24gZXhwaXJlcyBkdWUgdG8gcmVhY2hpbmcgaWRsZV9leHBpcmVzX2F0IG9yIGFic29sdXRlX2V4cGlyZXNfYXQgdGltZW91dCwgb3Igd2hlbiBhZG1pbmlzdHJhdGl2ZWx5IHJldm9rZWQuIE5vdCBzZXQgZm9yIHVzZXItaW5pdGlhdGVkIGxvZ291dCAoc2VlIGxvZ291dF9hdCBpbnN0ZWFkKS5KFiIyMDI1LTAxLTE1VDEyOjAwOjAwWiISigIKCWxvZ291dF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBC2gGSQdYBMrsBVGltZXN0YW1wIHdoZW4gdGhlIHVzZXIgZXhwbGljaXRseSBsb2dnZWQgb3V0IGZyb20gdGhlIHNlc3Npb24uIE51bGwgaWYgdGhlIHVzZXIgaGFzIG5vdCBsb2dnZWQgb3V0LiBXaGVuIHNldCwgaW5kaWNhdGVzIHRoZSBzZXNzaW9uIGVuZGVkIGR1ZSB0byBleHBsaWNpdCB1c2VyIGxvZ291dCByYXRoZXIgdGhhbiB0aW1lb3V0LkoWIjIwMjUtMDEtMTVUMTQ6MDA6MDBaIhLvAgoGc3RhdHVzGAsgASgJQt4CkkHaAjLNAkN1cnJlbnQgb3BlcmF0aW9uYWwgc3RhdHVzIG9mIHRoZSBzZXNzaW9uLiBQb3NzaWJsZSB2YWx1ZXM6ICdhY3RpdmUnIChzZXNzaW9uIGlzIHZhbGlkIGFuZCByZXF1ZXN0cyBhcmUgYWxsb3dlZCksICdleHBpcmVkJyAoc2Vzc2lvbiB0ZXJtaW5hdGVkIGR1ZSB0byBpZGxlIG9yIGFic29sdXRlIHRpbWVvdXQpLCAncmV2b2tlZCcgKHNlc3Npb24gd2FzIGFkbWluaXN0cmF0aXZlbHkgcmV2b2tlZCksICdsb2dvdXQnICh1c2VyIGV4cGxpY2l0bHkgbG9nZ2VkIG91dCkuIFVzZSB0aGlzIHRvIGRldGVybWluZSBpZiB0aGUgc2Vzc2lvbiBjYW4gYmUgdXNlZCBmb3IgbmV3IHJlcXVlc3RzLkoIImFjdGl2ZSIS0QEKBmRldmljZRgMIAEoCzIjLnNjYWxla2l0LnYxLnNlc3Npb25zLkRldmljZURldGFpbHNCmwGSQZcBMpQBQ29tcGxldGUgZGV2aWNlIG1ldGFkYXRhIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHNlc3Npb24gaW5jbHVkaW5nIGJyb3dzZXIsIG9wZXJhdGluZyBzeXN0ZW0sIGRldmljZSB0eXBlLCBhbmQgZ2VvZ3JhcGhpYyBsb2NhdGlvbiBiYXNlZCBvbiBJUCBhZGRyZXNzLhKRAgoObGFzdF9hY3RpdmVfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQtwBkkHYATK9AVRpbWVzdGFtcCBvZiB0aGUgbW9zdCByZWNlbnQgdXNlciBhY3Rpdml0eSBkZXRlY3RlZCBpbiB0aGlzIHNlc3Npb24uIFVwZGF0ZWQgb24gZWFjaCBBUEkgcmVxdWVzdCBvciB1c2VyIGludGVyYWN0aW9uLiBVc2VkIHRvIGRldGVybWluZSBpZiBhIHNlc3Npb24gaGFzIGV4Y2VlZGVkIHRoZSBpZGxlIHRpbWVvdXQgdGhyZXNob2xkLkoWIjIwMjUtMDEtMTVUMTA6NTU6MzBaIhKqAQoVYXV0aGVudGljYXRlZF9jbGllbnRzGA4gAygLMiouc2NhbGVraXQudjEuc2Vzc2lvbnMuQXV0aGVudGljYXRlZENsaWVudHNCX5JBXDJaRGV0YWlscyBvZiB0aGUgYXV0aGVudGljYXRlZCBjbGllbnRzIGZvciB0aGlzIHNlc3Npb246IGNsaWVudCBJRCBhbmQgb3JnYW5pemF0aW9uIGNvbnRleHQuIp8NCg1EZXZpY2VEZXRhaWxzEtcCCgp1c2VyX2FnZW50GAwgASgJQsICkkG+AjLCAUNvbXBsZXRlIEhUVFAgVXNlci1BZ2VudCBoZWFkZXIgc3RyaW5nIGZyb20gdGhlIGNsaWVudCByZXF1ZXN0LiBDb250YWlucyBicm93c2VyIHR5cGUsIHZlcnNpb24sIGFuZCBvcGVyYXRpbmcgc3lzdGVtIGluZm9ybWF0aW9uLiBVc2VkIGZvciBkZXRhaWxlZCBkZXZpY2UgZmluZ2VycHJpbnRpbmcgYW5kIHVzZXIgYWdlbnQgYW5hbHlzaXMuSnciTW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTVfNykgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyMC4wLjAuMCBTYWZhcmkvNTM3LjM2IhKSAQoCb3MYDSABKAlChQGSQYEBMnZPcGVyYXRpbmcgc3lzdGVtIG5hbWUgZXh0cmFjdGVkIGZyb20gdGhlIHVzZXIgYWdlbnQgYW5kIGRldmljZSBoZWFkZXJzLiBFeGFtcGxlczogbWFjT1MsIFdpbmRvd3MsIExpbnV4LCBpT1MsIEFuZHJvaWQuSgcibWFjT1MiEnsKCm9zX3ZlcnNpb24YDiABKAlCZ5JBZDJaVmVyc2lvbiBvZiB0aGUgb3BlcmF0aW5nIHN5c3RlbS4gUmVwcmVzZW50cyB0aGUgc3BlY2lmaWMgT1MgcmVsZWFzZSB0aGUgZGV2aWNlIGlzIHJ1bm5pbmcuSgYiMTQuMiISjgEKB2Jyb3dzZXIYDyABKAlCfZJBejJuQnJvd3NlciBuYW1lIGFuZCBmYW1pbHkgZXh0cmFjdGVkIGZyb20gdGhlIHVzZXIgYWdlbnQuIEV4YW1wbGVzOiBDaHJvbWUsIFNhZmFyaSwgRmlyZWZveCwgRWRnZSwgTW9iaWxlIFNhZmFyaS5KCCJDaHJvbWUiEpEBCg9icm93c2VyX3ZlcnNpb24YECABKAlCeJJBdTJmVmVyc2lvbiBvZiB0aGUgYnJvd3NlciBhcHBsaWNhdGlvbi4gUmVwcmVzZW50cyB0aGUgc3BlY2lmaWMgcmVsZWFzZSB2ZXJzaW9uIG9mIHRoZSBicm93c2VyIGJlaW5nIHVzZWQuSgsiMTIwLjAuMC4wIhKOAgoLZGV2aWNlX3R5cGUYESABKAlC+AGSQfQBMuYBQ2F0ZWdvcml6ZWQgZGV2aWNlIHR5cGUgY2xhc3NpZmljYXRpb24uIFBvc3NpYmxlIHZhbHVlczogJ2Rlc2t0b3AnICh0cmFkaXRpb25hbCBjb21wdXRlcnMpLCAnbW9iaWxlJyAoc21hcnRwaG9uZXMgYW5kIHNtYWxsIHRhYmxldHMpLCAndGFibGV0JyAobGFyZ2UgdGFibGV0cyksICdvdGhlcicuIFVzZWZ1bCBmb3IgZGlzcGxheWluZyBzZXNzaW9uIGluZm9ybWF0aW9uIGJ5IGRldmljZSBjYXRlZ29yeS5KCSJkZXNrdG9wIhLfAQoCaXAYEyABKAlC0gGSQc4BMr4BSVAgYWRkcmVzcyBvZiB0aGUgZGV2aWNlIHRoYXQgaW5pdGlhdGVkIHRoZSBzZXNzaW9uLiBUaGlzIGlzIHRoZSBwdWJsaWMtZmFjaW5nIElQIGFkZHJlc3MgdXNlZCB0byBjb25uZWN0IHRvIHRoZSBhcHBsaWNhdGlvbi4gVXNlZnVsIGZvciBzZWN1cml0eSBhdWRpdHMgYW5kIGdlb2dyYXBoaWMgZGlzdHJpYnV0aW9uIGFuYWx5c2lzLkoLIjE5Mi4wLjIuMSISiQIKCGxvY2F0aW9uGBQgASgLMh4uc2NhbGVraXQudjEuc2Vzc2lvbnMuTG9jYXRpb25C1gGSQdIBMs8BR2VvZ3JhcGhpYyBsb2NhdGlvbiBpbmZvcm1hdGlvbiBkZXJpdmVkIGZyb20gSVAgYWRkcmVzcyBnZW9sb2NhdGlvbi4gSW5jbHVkZXMgY291bnRyeSwgcmVnaW9uLCBjaXR5LCBhbmQgY29vcmRpbmF0ZXMuIE5vdGU6IEJhc2VkIG9uIElQIGxvY2F0aW9uIGRhdGEgYW5kIG1heSBub3QgcmVwcmVzZW50IHRoZSB1c2VyJ3MgZXhhY3QgcGh5c2ljYWwgbG9jYXRpb24uItEOChVSZXZva2VkU2Vzc2lvbkRldGFpbHMSfQoKc2Vzc2lvbl9pZBgBIAEoCUJpkkFmMkxVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHJldm9rZWQgc2Vzc2lvbi4gU3lzdGVtLWdlbmVyYXRlZCByZWFkLW9ubHkgZmllbGQuShYic2VzXzEyMzQ1Njc4OTAxMjM0NTYiEmQKB3VzZXJfaWQYAiABKAlCU5JBUDI2VW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSB1c2VyIHdobyBvd25lZCB0aGlzIHNlc3Npb24uShYidXNyXzEyMzQ1Njc4OTAxMjM0NTYiEpwBCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEJskkFpMk9UaW1lc3RhbXAgaW5kaWNhdGluZyB3aGVuIHRoZSBzZXNzaW9uIHdhcyBvcmlnaW5hbGx5IGNyZWF0ZWQgYmVmb3JlIHJldm9jYXRpb24uShYiMjAyNS0wMS0xNVQxMDozMDowMFoiEpcBCgp1cGRhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEJnkkFkMkpUaW1lc3RhbXAgaW5kaWNhdGluZyB3aGVuIHRoZSBzZXNzaW9uIHdhcyBsYXN0IG1vZGlmaWVkIGJlZm9yZSByZXZvY2F0aW9uLkoWIjIwMjUtMDEtMTVUMTA6NDU6MDBaIhLsAQoPaWRsZV9leHBpcmVzX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEK2AZJBsgEylwFUaGUgaWRsZSBleHBpcmF0aW9uIHRpbWVzdGFtcCB0aGF0IHdhcyBjb25maWd1cmVkIGZvciB0aGlzIHNlc3Npb24gYmVmb3JlIHJldm9jYXRpb24uIFJlcHJlc2VudHMgd2hlbiB0aGUgc2Vzc2lvbiB3b3VsZCBoYXZlIGV4cGlyZWQgZHVlIHRvIGluYWN0aXZpdHkuShYiMjAyNS0wMS0xNVQxMTozMDowMFoiEucBChNhYnNvbHV0ZV9leHBpcmVzX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEKtAZJBqQEyjgFUaGUgYWJzb2x1dGUgZXhwaXJhdGlvbiB0aW1lc3RhbXAgdGhhdCB3YXMgY29uZmlndXJlZCBmb3IgdGhpcyBzZXNzaW9uIGJlZm9yZSByZXZvY2F0aW9uLiBSZXByZXNlbnRzIHRoZSBoYXJkIGRlYWRsaW5lIHJlZ2FyZGxlc3Mgb2YgYWN0aXZpdHkuShYiMjAyNS0wMS0yMlQxMDozMDowMFoiEroBCgpleHBpcmVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEKJAZJBhQEya1RpbWVzdGFtcCB3aGVuIHRoZSBzZXNzaW9uIHdhcyBhY3R1YWxseSB0ZXJtaW5hdGVkLiBTZXQgdG8gdGhlIHJldm9jYXRpb24gdGltZSB3aGVuIHRoZSBzZXNzaW9uIGlzIHJldm9rZWQuShYiMjAyNS0wMS0xNVQxMjowMDowMFoiEsIBCglsb2dvdXRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQpIBkkGOATJ0VGltZXN0YW1wIHdoZW4gdGhlIHVzZXIgZXhwbGljaXRseSBsb2dnZWQgb3V0IChpZiBhcHBsaWNhYmxlKS4gTnVsbCBpZiB0aGUgc2Vzc2lvbiB3YXMgcmV2b2tlZCB3aXRob3V0IHByaW9yIGxvZ291dC5KFiIyMDI1LTAxLTE1VDE0OjAwOjAwWiIS5AEKBnN0YXR1cxgLIAEoCULTAZJBzwEywQFTdGF0dXMgb2YgdGhlIHNlc3Npb24gYWZ0ZXIgcmV2b2NhdGlvbi4gQWx3YXlzICdyZXZva2VkJyBzaW5jZSBvbmx5IGFjdGl2ZSBzZXNzaW9ucyBjYW4gYmUgcmV2b2tlZC4gU2Vzc2lvbnMgdGhhdCB3ZXJlIGFscmVhZHkgZXhwaXJlZCBvciBsb2dnZWQgb3V0IGFyZSBub3QgaW5jbHVkZWQgaW4gdGhlIHJldm9jYXRpb24gcmVzcG9uc2UuSgkicmV2b2tlZCIS1wEKDmxhc3RfYWN0aXZlX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEKiAZJBngEygwFUaW1lc3RhbXAgb2YgdGhlIGxhc3QgcmVjb3JkZWQgdXNlciBhY3Rpdml0eSBpbiB0aGlzIHNlc3Npb24gYmVmb3JlIHJldm9jYXRpb24uIEhlbHBzIGlkZW50aWZ5IGluYWN0aXZlIHNlc3Npb25zIHRoYXQgd2VyZSByZXZva2VkLkoWIjIwMjUtMDEtMTVUMTA6NTU6MzBaIiLoBgoITG9jYXRpb24SpAEKBnJlZ2lvbhgBIAEoCUKTAZJBjwEyfEdlb2dyYXBoaWMgcmVnaW9uIG5hbWUgZGVyaXZlZCBmcm9tIElQIGdlb2xvY2F0aW9uLiBSZXByZXNlbnRzIHRoZSBjb3VudHJ5LWxldmVsIGxvY2F0aW9uIChlLmcuLCAnVW5pdGVkIFN0YXRlcycsICdGcmFuY2UnKS5KDyJVbml0ZWQgU3RhdGVzIhKqAQoScmVnaW9uX3N1YmRpdmlzaW9uGAIgASgJQo0BkkGJATKAAVJlZ2lvbmFsIHN1YmRpdmlzaW9uIGNvZGUgb3IgbmFtZSAoZS5nLiwgc3RhdGUgYWJicmV2aWF0aW9uIGZvciBVUywgcHJvdmluY2UgZm9yIENhbmFkYSkuIFR3by1sZXR0ZXIgSVNPIGZvcm1hdCB3aGVuIGFwcGxpY2FibGUuSgQiQ0EiEpMBCgRjaXR5GAMgASgJQoQBkkGAATJtQ2l0eSBuYW1lIHdoZXJlIHRoZSBzZXNzaW9uIG9yaWdpbmF0ZWQgYmFzZWQgb24gSVAgZ2VvbG9jYXRpb24uIEFwcHJveGltYXRlIGxvY2F0aW9uIGRlcml2ZWQgZnJvbSBJUCBhZGRyZXNzLkoPIlNhbiBGcmFuY2lzY28iErQBCghsYXRpdHVkZRgEIAEoCUKhAZJBnQEyjwFMYXRpdHVkZSBjb29yZGluYXRlIG9mIHRoZSBlc3RpbWF0ZWQgbG9jYXRpb24uIERlY2ltYWwgZm9ybWF0IChlLmcuLCAnMzcuNzc0OScpLiBOb3RlOiBSZXByZXNlbnRzIElQIGdlb2xvY2F0aW9uIGNlbnRlciBhbmQgbWF5IG5vdCBiZSBwcmVjaXNlLkoJIjM3Ljc3NDkiEroBCglsb25naXR1ZGUYBSABKAlCpgGSQaIBMpIBTG9uZ2l0dWRlIGNvb3JkaW5hdGUgb2YgdGhlIGVzdGltYXRlZCBsb2NhdGlvbi4gRGVjaW1hbCBmb3JtYXQgKGUuZy4sICctMTIyLjQxOTQnKS4gTm90ZTogUmVwcmVzZW50cyBJUCBnZW9sb2NhdGlvbiBjZW50ZXIgYW5kIG1heSBub3QgYmUgcHJlY2lzZS5KCyItMTIyLjQxOTQiIv0BChRBdXRoZW50aWNhdGVkQ2xpZW50cxJkCgljbGllbnRfaWQYASABKAlCUZJBTjI6VW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGF1dGhlbnRpY2F0ZWQgY2xpZW50IGFwcGxpY2F0aW9uLkoQInNrY18xMjM0NTY3ODkwIhJ/Cg9vcmdhbml6YXRpb25faWQYAiABKAlCZpJBYzJPQWN0aXZlIG9yIGxhc3QgYWN0aXZlIE9yZ2FuaXphdGlvbiBJRCBhc3NvY2lhdGVkIHdpdGggdGhlIGF1dGhlbnRpY2F0ZWQgY2xpZW50LkoQIm9yZ18xMjM0NTY3ODkwIjLIHwoOU2Vzc2lvblNlcnZpY2US2wYKCkdldFNlc3Npb24SKy5zY2FsZWtpdC52MS5zZXNzaW9ucy5TZXNzaW9uRGV0YWlsc1JlcXVlc3QaJC5zY2FsZWtpdC52MS5zZXNzaW9ucy5TZXNzaW9uRGV0YWlscyL5BZJBygUKCFNlc3Npb25zEhNHZXQgc2Vzc2lvbiBkZXRhaWxzGs0EUmV0cmlldmVzIGNvbXByZWhlbnNpdmUgZGV0YWlscyBmb3IgYSBzcGVjaWZpYyB1c2VyIHNlc3Npb24gaW5jbHVkaW5nIGF1dGhlbnRpY2F0aW9uIHN0YXR1cywgZGV2aWNlIGluZm9ybWF0aW9uLCBhbmQgZXhwaXJhdGlvbiB0aW1lbGluZXMuIFVzZSB0aGlzIGVuZHBvaW50IHRvIGZldGNoIGN1cnJlbnQgc2Vzc2lvbiBtZXRhZGF0YSBmb3Igc2VjdXJpdHkgYXVkaXRzLCBzZXNzaW9uIHZhbGlkYXRpb24sIG9yIHRvIGRpc3BsYXkgc2Vzc2lvbiBpbmZvcm1hdGlvbiBpbiB1c2VyIGFjY291bnQgbWFuYWdlbWVudCBpbnRlcmZhY2VzLiBSZXR1cm5zIGFsbCBzZXNzaW9uIHByb3BlcnRpZXMgaW5jbHVkaW5nIHRoZSB1c2VyIElELCBhdXRoZW50aWNhdGVkIG9yZ2FuaXphdGlvbnMsIGRldmljZSBkZXRhaWxzIHdpdGggYnJvd3Nlci9PUyBpbmZvcm1hdGlvbiwgSVAgYWRkcmVzcyBhbmQgZ2VvbG9jYXRpb24sIGFuZCBhbGwgcmVsZXZhbnQgdGltZXN0YW1wcyAoY3JlYXRpb24sIGxhc3QgYWN0aXZpdHksIGlkbGUgZXhwaXJhdGlvbiwgYWJzb2x1dGUgZXhwaXJhdGlvbiwgYW5kIGFjdHVhbCBleHBpcmF0aW9uIGlmIGFwcGxpY2FibGUpLkpZCgMyMDASUgomU3VjY2Vzc2Z1bGx5IHJldHJpZXZlZCBzZXNzaW9uIGRldGFpbHMSKAomGiQuc2NhbGVraXQudjEuc2Vzc2lvbnMuU2Vzc2lvbkRldGFpbHOCtRgCGESC0+STAh8SHS9hcGkvdjEvc2Vzc2lvbnMve3Nlc3Npb25faWR9EqIGCg1SZXZva2VTZXNzaW9uEiouc2NhbGVraXQudjEuc2Vzc2lvbnMuUmV2b2tlU2Vzc2lvblJlcXVlc3QaKy5zY2FsZWtpdC52MS5zZXNzaW9ucy5SZXZva2VTZXNzaW9uUmVzcG9uc2UitwWSQYEFCghTZXNzaW9ucxITUmV2b2tlIHVzZXIgc2Vzc2lvbhreA0ltbWVkaWF0ZWx5IGludmFsaWRhdGVzIGEgc3BlY2lmaWMgdXNlciBzZXNzaW9uIGJ5IHNlc3Npb24gSUQsIHNldHRpbmcgaXRzIHN0YXR1cyB0byAncmV2b2tlZCcuIE9uY2UgcmV2b2tlZCwgdGhlIHNlc3Npb24gY2Fubm90IGJlIHVzZWQgZm9yIGFueSBmdXR1cmUgQVBJIHJlcXVlc3RzIG9yIGFwcGxpY2F0aW9uIGFjY2Vzcy4gVXNlIHRoaXMgZW5kcG9pbnQgdG8gaW1wbGVtZW50IHNlc3Npb24tbGV2ZWwgbG9nb3V0LCBmb3JjZSBhIHVzZXIgdG8gcmVhdXRoZW50aWNhdGUgb24gYSBzcGVjaWZpYyBkZXZpY2UsIG9yIHRlcm1pbmF0ZSBzdXNwaWNpb3VzIHNlc3Npb25zLiBUaGUgcmV2b2NhdGlvbiBpcyBpbnN0YW50YW5lb3VzIGFuZCBpcnJldmVyc2libGUuIFJldHVybnMgdGhlIHJldm9rZWQgc2Vzc2lvbiBkZXRhaWxzIGluY2x1ZGluZyB0aGUgc2Vzc2lvbiBJRCwgdXNlciBJRCwgYW5kIHRoZSByZXZvY2F0aW9uIHRpbWVzdGFtcC5KfwoDMjAwEngKRVN1Y2Nlc3NmdWxseSByZXZva2VkIHRoZSBzZXNzaW9uLiBSZXR1cm5zIHRoZSByZXZva2VkIHNlc3Npb24gZGV0YWlscxIvCi0aKy5zY2FsZWtpdC52MS5zZXNzaW9ucy5SZXZva2VTZXNzaW9uUmVzcG9uc2WCtRgCGESC0+STAiYiJC9hcGkvdjEvc2Vzc2lvbnMve3Nlc3Npb25faWR9L3Jldm9rZRKwBwoPR2V0VXNlclNlc3Npb25zEi8uc2NhbGVraXQudjEuc2Vzc2lvbnMuVXNlclNlc3Npb25EZXRhaWxzUmVxdWVzdBooLnNjYWxla2l0LnYxLnNlc3Npb25zLlVzZXJTZXNzaW9uRGV0YWlscyLBBpJBjwYKCFNlc3Npb25zEhJMaXN0IHVzZXIgc2Vzc2lvbnMa1wRSZXRyaWV2ZXMgYSBwYWdpbmF0ZWQgbGlzdCBvZiBhbGwgc2Vzc2lvbnMgYXNzb2NpYXRlZCB3aXRoIGEgc3BlY2lmaWMgdXNlciBhY3Jvc3MgYWxsIGRldmljZXMgYW5kIGJyb3dzZXJzLiBVc2UgdGhpcyBlbmRwb2ludCB0byBhdWRpdCB1c2VyIGFjdGl2aXR5LCBkaXNwbGF5IGFsbCBhY3RpdmUgc2Vzc2lvbnMgaW4gYWNjb3VudCBtYW5hZ2VtZW50IGludGVyZmFjZXMsIG9yIHZlcmlmeSB1c2VyIGF1dGhlbnRpY2F0aW9uIHN0YXR1cyBhY3Jvc3MgZGV2aWNlcy4gU3VwcG9ydHMgZmlsdGVyaW5nIGJ5IHNlc3Npb24gc3RhdHVzIChhY3RpdmUsIGV4cGlyZWQsIHJldm9rZWQsIGxvZ291dCkgYW5kIHRpbWUgcmFuZ2UgKGNyZWF0aW9uIGRhdGUpLiBSZXR1cm5zIHNlc3Npb24gZGV0YWlscyBmb3IgZWFjaCBzZXNzaW9uIGluY2x1ZGluZyBkZXZpY2UgaW5mb3JtYXRpb24sIElQIGFkZHJlc3MsIGdlb2xvY2F0aW9uLCBhbmQgY3VycmVudCBzdGF0dXMuIFRoZSByZXNwb25zZSBpbmNsdWRlcyBwYWdpbmF0aW9uIG1ldGFkYXRhIChwYWdlIHRva2VucyBhbmQgdG90YWwgY291bnQpIHRvIGhhbmRsZSBsYXJnZSBzZXNzaW9uIGxpc3RzIGVmZmljaWVudGx5LkqUAQoDMjAwEowBClxTdWNjZXNzZnVsbHkgcmV0cmlldmVkIHVzZXIgc2Vzc2lvbnMuIFJldHVybnMgYSBsaXN0IG9mIHNlc3Npb25zIHdpdGggcGFnaW5hdGlvbiBpbmZvcm1hdGlvbhIsCioaKC5zY2FsZWtpdC52MS5zZXNzaW9ucy5Vc2VyU2Vzc2lvbkRldGFpbHOCtRgCGESC0+STAiISIC9hcGkvdjEvdXNlcnMve3VzZXJfaWR9L3Nlc3Npb25zEr4HChVSZXZva2VBbGxVc2VyU2Vzc2lvbnMSMi5zY2FsZWtpdC52MS5zZXNzaW9ucy5SZXZva2VBbGxVc2VyU2Vzc2lvbnNSZXF1ZXN0GjMuc2NhbGVraXQudjEuc2Vzc2lvbnMuUmV2b2tlQWxsVXNlclNlc3Npb25zUmVzcG9uc2UiuwaSQYIGCghTZXNzaW9ucxIYUmV2b2tlIGFsbCB1c2VyIHNlc3Npb25zGrkESW1tZWRpYXRlbHkgaW52YWxpZGF0ZXMgYWxsIGFjdGl2ZSBzZXNzaW9ucyBmb3IgYSBzcGVjaWZpYyB1c2VyIGFjcm9zcyBhbGwgZGV2aWNlcyBhbmQgYnJvd3NlcnMsIHNldHRpbmcgdGhlaXIgc3RhdHVzIHRvICdyZXZva2VkJy4gVXNlIHRoaXMgZW5kcG9pbnQgdG8gaW1wbGVtZW50IGdsb2JhbCBsb2dvdXQgZnVuY3Rpb25hbGl0eSwgZm9yY2UgcmUtYXV0aGVudGljYXRpb24gYWZ0ZXIgc2VjdXJpdHkgaW5jaWRlbnRzLCBvciB0ZXJtaW5hdGUgYWxsIHNlc3Npb25zIGZvbGxvd2luZyBhIHBhc3N3b3JkIHJlc2V0IG9yIGNyZWRlbnRpYWwgY29tcHJvbWlzZS4gT25seSBhY3RpdmUgc2Vzc2lvbnMgYXJlIHJldm9rZWQ7IGFscmVhZHkgZXhwaXJlZCwgbG9nb3V0LCBvciBwcmV2aW91c2x5IHJldm9rZWQgc2Vzc2lvbnMgcmVtYWluIHVuY2hhbmdlZC4gVGhlIHJldm9jYXRpb24gaXMgYXRvbWljIGFuZCBpbnN0YW50YW5lb3VzLiBSZXR1cm5zIGEgbGlzdCBvZiBhbGwgcmV2b2tlZCBzZXNzaW9ucyB3aXRoIHRoZWlyIGRldGFpbHMgYW5kIGEgdG90YWwgY291bnQgb2Ygc2Vzc2lvbnMgcmV2b2tlZC5KnwEKAzIwMBKXAQpcU3VjY2Vzc2Z1bGx5IHJldm9rZWQgYWxsIHVzZXIgc2Vzc2lvbnMuIFJldHVybnMgdGhlIGxpc3Qgb2YgcmV2b2tlZCBzZXNzaW9ucyBhbmQgdG90YWwgY291bnQSNwo1GjMuc2NhbGVraXQudjEuc2Vzc2lvbnMuUmV2b2tlQWxsVXNlclNlc3Npb25zUmVzcG9uc2WCtRgCGESC0+STAikiJy9hcGkvdjEvdXNlcnMve3VzZXJfaWR9L3Nlc3Npb25zL3Jldm9rZRq+A5JBugMKCFNlc3Npb25zEq0DQ29tcHJlaGVuc2l2ZSBzZXNzaW9uIG1hbmFnZW1lbnQgZm9yIHVzZXIgYXV0aGVudGljYXRpb24gYW5kIGF1dGhvcml6YXRpb24uIFRoaXMgc2VydmljZSBwcm92aWRlcyBlbmRwb2ludHMgZm9yIHJldHJpZXZpbmcgc2Vzc2lvbiBkZXRhaWxzLCBtYW5hZ2luZyB1c2VyIHNlc3Npb25zIGFjcm9zcyBkZXZpY2VzLCByZXZva2luZyBpbmRpdmlkdWFsIHNlc3Npb25zLCBhbmQgdGVybWluYXRpbmcgYWxsIGFjdGl2ZSBzZXNzaW9ucyBmb3IgYSB1c2VyLiBJdCBzdXBwb3J0cyBzZXNzaW9uIGF1ZGl0aW5nLCBkZXZpY2UgdHJhY2tpbmcsIGFuZCBzZWN1cml0eSBtb25pdG9yaW5nIHdpdGggZGV0YWlsZWQgc2Vzc2lvbiBtZXRhZGF0YSBpbmNsdWRpbmcgZGV2aWNlIGluZm9ybWF0aW9uLCBJUCBnZW9sb2NhdGlvbiwgYW5kIGFjdGl2aXR5IHRpbWVzdGFtcHMuQjRaMmdpdGh1Yi5jb20vc2NhbGVraXQtaW5jL3NjYWxla2l0L3BrZy9ncnBjL3Nlc3Npb25zYgZwcm90bzM", [file_buf_validate_validate, file_google_api_annotations, file_google_protobuf_timestamp, file_protoc_gen_openapiv2_options_annotations, file_scalekit_v1_options_options]);
20
-
21
- /**
22
- * @generated from message scalekit.v1.sessions.SessionDetailsRequest
23
- */
24
- export type SessionDetailsRequest = Message<"scalekit.v1.sessions.SessionDetailsRequest"> & {
25
- /**
26
- * @generated from field: string session_id = 1;
27
- */
28
- sessionId: string;
29
- };
30
-
31
- /**
32
- * Describes the message scalekit.v1.sessions.SessionDetailsRequest.
33
- * Use `create(SessionDetailsRequestSchema)` to create a new message.
34
- */
35
- export const SessionDetailsRequestSchema: GenMessage<SessionDetailsRequest> = /*@__PURE__*/
36
- messageDesc(file_scalekit_v1_sessions_sessions, 0);
37
-
38
- /**
39
- * @generated from message scalekit.v1.sessions.UserSessionDetailsRequest
40
- */
41
- export type UserSessionDetailsRequest = Message<"scalekit.v1.sessions.UserSessionDetailsRequest"> & {
42
- /**
43
- * @generated from field: string user_id = 1;
44
- */
45
- userId: string;
46
-
47
- /**
48
- * @generated from field: uint32 page_size = 2;
49
- */
50
- pageSize: number;
51
-
52
- /**
53
- * @generated from field: string page_token = 3;
54
- */
55
- pageToken: string;
56
-
57
- /**
58
- * @generated from field: scalekit.v1.sessions.UserSessionFilter filter = 4;
59
- */
60
- filter?: UserSessionFilter;
61
- };
62
-
63
- /**
64
- * Describes the message scalekit.v1.sessions.UserSessionDetailsRequest.
65
- * Use `create(UserSessionDetailsRequestSchema)` to create a new message.
66
- */
67
- export const UserSessionDetailsRequestSchema: GenMessage<UserSessionDetailsRequest> = /*@__PURE__*/
68
- messageDesc(file_scalekit_v1_sessions_sessions, 1);
69
-
70
- /**
71
- * @generated from message scalekit.v1.sessions.UserSessionFilter
72
- */
73
- export type UserSessionFilter = Message<"scalekit.v1.sessions.UserSessionFilter"> & {
74
- /**
75
- * @generated from field: repeated string status = 1;
76
- */
77
- status: string[];
78
-
79
- /**
80
- * @generated from field: google.protobuf.Timestamp start_time = 2;
81
- */
82
- startTime?: Timestamp;
83
-
84
- /**
85
- * @generated from field: google.protobuf.Timestamp end_time = 3;
86
- */
87
- endTime?: Timestamp;
88
- };
89
-
90
- /**
91
- * Describes the message scalekit.v1.sessions.UserSessionFilter.
92
- * Use `create(UserSessionFilterSchema)` to create a new message.
93
- */
94
- export const UserSessionFilterSchema: GenMessage<UserSessionFilter> = /*@__PURE__*/
95
- messageDesc(file_scalekit_v1_sessions_sessions, 2);
96
-
97
- /**
98
- * @generated from message scalekit.v1.sessions.RevokeSessionRequest
99
- */
100
- export type RevokeSessionRequest = Message<"scalekit.v1.sessions.RevokeSessionRequest"> & {
101
- /**
102
- * @generated from field: string session_id = 1;
103
- */
104
- sessionId: string;
105
- };
106
-
107
- /**
108
- * Describes the message scalekit.v1.sessions.RevokeSessionRequest.
109
- * Use `create(RevokeSessionRequestSchema)` to create a new message.
110
- */
111
- export const RevokeSessionRequestSchema: GenMessage<RevokeSessionRequest> = /*@__PURE__*/
112
- messageDesc(file_scalekit_v1_sessions_sessions, 3);
113
-
114
- /**
115
- * @generated from message scalekit.v1.sessions.RevokeSessionResponse
116
- */
117
- export type RevokeSessionResponse = Message<"scalekit.v1.sessions.RevokeSessionResponse"> & {
118
- /**
119
- * @generated from field: scalekit.v1.sessions.RevokedSessionDetails revoked_session = 1;
120
- */
121
- revokedSession?: RevokedSessionDetails;
122
- };
123
-
124
- /**
125
- * Describes the message scalekit.v1.sessions.RevokeSessionResponse.
126
- * Use `create(RevokeSessionResponseSchema)` to create a new message.
127
- */
128
- export const RevokeSessionResponseSchema: GenMessage<RevokeSessionResponse> = /*@__PURE__*/
129
- messageDesc(file_scalekit_v1_sessions_sessions, 4);
130
-
131
- /**
132
- * @generated from message scalekit.v1.sessions.RevokeAllUserSessionsRequest
133
- */
134
- export type RevokeAllUserSessionsRequest = Message<"scalekit.v1.sessions.RevokeAllUserSessionsRequest"> & {
135
- /**
136
- * @generated from field: string user_id = 1;
137
- */
138
- userId: string;
139
- };
140
-
141
- /**
142
- * Describes the message scalekit.v1.sessions.RevokeAllUserSessionsRequest.
143
- * Use `create(RevokeAllUserSessionsRequestSchema)` to create a new message.
144
- */
145
- export const RevokeAllUserSessionsRequestSchema: GenMessage<RevokeAllUserSessionsRequest> = /*@__PURE__*/
146
- messageDesc(file_scalekit_v1_sessions_sessions, 5);
147
-
148
- /**
149
- * @generated from message scalekit.v1.sessions.RevokeAllUserSessionsResponse
150
- */
151
- export type RevokeAllUserSessionsResponse = Message<"scalekit.v1.sessions.RevokeAllUserSessionsResponse"> & {
152
- /**
153
- * @generated from field: repeated scalekit.v1.sessions.RevokedSessionDetails revoked_sessions = 1;
154
- */
155
- revokedSessions: RevokedSessionDetails[];
156
-
157
- /**
158
- * @generated from field: uint32 total_revoked = 2;
159
- */
160
- totalRevoked: number;
161
- };
162
-
163
- /**
164
- * Describes the message scalekit.v1.sessions.RevokeAllUserSessionsResponse.
165
- * Use `create(RevokeAllUserSessionsResponseSchema)` to create a new message.
166
- */
167
- export const RevokeAllUserSessionsResponseSchema: GenMessage<RevokeAllUserSessionsResponse> = /*@__PURE__*/
168
- messageDesc(file_scalekit_v1_sessions_sessions, 6);
169
-
170
- /**
171
- * @generated from message scalekit.v1.sessions.UserSessionDetails
172
- */
173
- export type UserSessionDetails = Message<"scalekit.v1.sessions.UserSessionDetails"> & {
174
- /**
175
- * @generated from field: repeated scalekit.v1.sessions.SessionDetails sessions = 1;
176
- */
177
- sessions: SessionDetails[];
178
-
179
- /**
180
- * @generated from field: string next_page_token = 2;
181
- */
182
- nextPageToken: string;
183
-
184
- /**
185
- * @generated from field: string prev_page_token = 3;
186
- */
187
- prevPageToken: string;
188
-
189
- /**
190
- * @generated from field: uint32 total_size = 4;
191
- */
192
- totalSize: number;
193
- };
194
-
195
- /**
196
- * Describes the message scalekit.v1.sessions.UserSessionDetails.
197
- * Use `create(UserSessionDetailsSchema)` to create a new message.
198
- */
199
- export const UserSessionDetailsSchema: GenMessage<UserSessionDetails> = /*@__PURE__*/
200
- messageDesc(file_scalekit_v1_sessions_sessions, 7);
201
-
202
- /**
203
- * @generated from message scalekit.v1.sessions.SessionDetails
204
- */
205
- export type SessionDetails = Message<"scalekit.v1.sessions.SessionDetails"> & {
206
- /**
207
- * @generated from field: string session_id = 1;
208
- */
209
- sessionId: string;
210
-
211
- /**
212
- * @generated from field: string user_id = 2;
213
- */
214
- userId: string;
215
-
216
- /**
217
- * @generated from field: repeated string authenticated_organizations = 3;
218
- */
219
- authenticatedOrganizations: string[];
220
-
221
- /**
222
- * @generated from field: string organization_id = 4;
223
- */
224
- organizationId: string;
225
-
226
- /**
227
- * @generated from field: google.protobuf.Timestamp created_at = 5;
228
- */
229
- createdAt?: Timestamp;
230
-
231
- /**
232
- * @generated from field: google.protobuf.Timestamp updated_at = 6;
233
- */
234
- updatedAt?: Timestamp;
235
-
236
- /**
237
- * @generated from field: google.protobuf.Timestamp idle_expires_at = 7;
238
- */
239
- idleExpiresAt?: Timestamp;
240
-
241
- /**
242
- * @generated from field: google.protobuf.Timestamp absolute_expires_at = 8;
243
- */
244
- absoluteExpiresAt?: Timestamp;
245
-
246
- /**
247
- * @generated from field: google.protobuf.Timestamp expired_at = 9;
248
- */
249
- expiredAt?: Timestamp;
250
-
251
- /**
252
- * @generated from field: google.protobuf.Timestamp logout_at = 10;
253
- */
254
- logoutAt?: Timestamp;
255
-
256
- /**
257
- * @generated from field: string status = 11;
258
- */
259
- status: string;
260
-
261
- /**
262
- * @generated from field: scalekit.v1.sessions.DeviceDetails device = 12;
263
- */
264
- device?: DeviceDetails;
265
-
266
- /**
267
- * @generated from field: google.protobuf.Timestamp last_active_at = 13;
268
- */
269
- lastActiveAt?: Timestamp;
270
-
271
- /**
272
- * @generated from field: repeated scalekit.v1.sessions.AuthenticatedClients authenticated_clients = 14;
273
- */
274
- authenticatedClients: AuthenticatedClients[];
275
- };
276
-
277
- /**
278
- * Describes the message scalekit.v1.sessions.SessionDetails.
279
- * Use `create(SessionDetailsSchema)` to create a new message.
280
- */
281
- export const SessionDetailsSchema: GenMessage<SessionDetails> = /*@__PURE__*/
282
- messageDesc(file_scalekit_v1_sessions_sessions, 8);
283
-
284
- /**
285
- * @generated from message scalekit.v1.sessions.DeviceDetails
286
- */
287
- export type DeviceDetails = Message<"scalekit.v1.sessions.DeviceDetails"> & {
288
- /**
289
- * @generated from field: string user_agent = 12;
290
- */
291
- userAgent: string;
292
-
293
- /**
294
- * @generated from field: string os = 13;
295
- */
296
- os: string;
297
-
298
- /**
299
- * @generated from field: string os_version = 14;
300
- */
301
- osVersion: string;
302
-
303
- /**
304
- * @generated from field: string browser = 15;
305
- */
306
- browser: string;
307
-
308
- /**
309
- * @generated from field: string browser_version = 16;
310
- */
311
- browserVersion: string;
312
-
313
- /**
314
- * @generated from field: string device_type = 17;
315
- */
316
- deviceType: string;
317
-
318
- /**
319
- * @generated from field: string ip = 19;
320
- */
321
- ip: string;
322
-
323
- /**
324
- * @generated from field: scalekit.v1.sessions.Location location = 20;
325
- */
326
- location?: Location;
327
- };
328
-
329
- /**
330
- * Describes the message scalekit.v1.sessions.DeviceDetails.
331
- * Use `create(DeviceDetailsSchema)` to create a new message.
332
- */
333
- export const DeviceDetailsSchema: GenMessage<DeviceDetails> = /*@__PURE__*/
334
- messageDesc(file_scalekit_v1_sessions_sessions, 9);
335
-
336
- /**
337
- * @generated from message scalekit.v1.sessions.RevokedSessionDetails
338
- */
339
- export type RevokedSessionDetails = Message<"scalekit.v1.sessions.RevokedSessionDetails"> & {
340
- /**
341
- * @generated from field: string session_id = 1;
342
- */
343
- sessionId: string;
344
-
345
- /**
346
- * @generated from field: string user_id = 2;
347
- */
348
- userId: string;
349
-
350
- /**
351
- * @generated from field: google.protobuf.Timestamp created_at = 5;
352
- */
353
- createdAt?: Timestamp;
354
-
355
- /**
356
- * @generated from field: google.protobuf.Timestamp updated_at = 6;
357
- */
358
- updatedAt?: Timestamp;
359
-
360
- /**
361
- * @generated from field: google.protobuf.Timestamp idle_expires_at = 7;
362
- */
363
- idleExpiresAt?: Timestamp;
364
-
365
- /**
366
- * @generated from field: google.protobuf.Timestamp absolute_expires_at = 8;
367
- */
368
- absoluteExpiresAt?: Timestamp;
369
-
370
- /**
371
- * @generated from field: google.protobuf.Timestamp expired_at = 9;
372
- */
373
- expiredAt?: Timestamp;
374
-
375
- /**
376
- * @generated from field: google.protobuf.Timestamp logout_at = 10;
377
- */
378
- logoutAt?: Timestamp;
379
-
380
- /**
381
- * @generated from field: string status = 11;
382
- */
383
- status: string;
384
-
385
- /**
386
- * @generated from field: google.protobuf.Timestamp last_active_at = 12;
387
- */
388
- lastActiveAt?: Timestamp;
389
- };
390
-
391
- /**
392
- * Describes the message scalekit.v1.sessions.RevokedSessionDetails.
393
- * Use `create(RevokedSessionDetailsSchema)` to create a new message.
394
- */
395
- export const RevokedSessionDetailsSchema: GenMessage<RevokedSessionDetails> = /*@__PURE__*/
396
- messageDesc(file_scalekit_v1_sessions_sessions, 10);
397
-
398
- /**
399
- * @generated from message scalekit.v1.sessions.Location
400
- */
401
- export type Location = Message<"scalekit.v1.sessions.Location"> & {
402
- /**
403
- * @generated from field: string region = 1;
404
- */
405
- region: string;
406
-
407
- /**
408
- * @generated from field: string region_subdivision = 2;
409
- */
410
- regionSubdivision: string;
411
-
412
- /**
413
- * @generated from field: string city = 3;
414
- */
415
- city: string;
416
-
417
- /**
418
- * @generated from field: string latitude = 4;
419
- */
420
- latitude: string;
421
-
422
- /**
423
- * @generated from field: string longitude = 5;
424
- */
425
- longitude: string;
426
- };
427
-
428
- /**
429
- * Describes the message scalekit.v1.sessions.Location.
430
- * Use `create(LocationSchema)` to create a new message.
431
- */
432
- export const LocationSchema: GenMessage<Location> = /*@__PURE__*/
433
- messageDesc(file_scalekit_v1_sessions_sessions, 11);
434
-
435
- /**
436
- * AuthenticatedClients represents an authenticated client in a session along with its organization context.
437
- *
438
- * @generated from message scalekit.v1.sessions.AuthenticatedClients
439
- */
440
- export type AuthenticatedClients = Message<"scalekit.v1.sessions.AuthenticatedClients"> & {
441
- /**
442
- * @generated from field: string client_id = 1;
443
- */
444
- clientId: string;
445
-
446
- /**
447
- * @generated from field: string organization_id = 2;
448
- */
449
- organizationId: string;
450
- };
451
-
452
- /**
453
- * Describes the message scalekit.v1.sessions.AuthenticatedClients.
454
- * Use `create(AuthenticatedClientsSchema)` to create a new message.
455
- */
456
- export const AuthenticatedClientsSchema: GenMessage<AuthenticatedClients> = /*@__PURE__*/
457
- messageDesc(file_scalekit_v1_sessions_sessions, 12);
458
-
459
- /**
460
- * @generated from service scalekit.v1.sessions.SessionService
461
- */
462
- export const SessionService: GenService<{
463
- /**
464
- * @generated from rpc scalekit.v1.sessions.SessionService.GetSession
465
- */
466
- getSession: {
467
- methodKind: "unary";
468
- input: typeof SessionDetailsRequestSchema;
469
- output: typeof SessionDetailsSchema;
470
- },
471
- /**
472
- * @generated from rpc scalekit.v1.sessions.SessionService.RevokeSession
473
- */
474
- revokeSession: {
475
- methodKind: "unary";
476
- input: typeof RevokeSessionRequestSchema;
477
- output: typeof RevokeSessionResponseSchema;
478
- },
479
- /**
480
- * @generated from rpc scalekit.v1.sessions.SessionService.GetUserSessions
481
- */
482
- getUserSessions: {
483
- methodKind: "unary";
484
- input: typeof UserSessionDetailsRequestSchema;
485
- output: typeof UserSessionDetailsSchema;
486
- },
487
- /**
488
- * @generated from rpc scalekit.v1.sessions.SessionService.RevokeAllUserSessions
489
- */
490
- revokeAllUserSessions: {
491
- methodKind: "unary";
492
- input: typeof RevokeAllUserSessionsRequestSchema;
493
- output: typeof RevokeAllUserSessionsResponseSchema;
494
- },
495
- }> = /*@__PURE__*/
496
- serviceDesc(file_scalekit_v1_sessions_sessions, 0);
497
-