@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.
- package/{reference.md → REFERENCE.md} +530 -77
- package/lib/core.js +1 -1
- package/package.json +9 -3
- package/.github/dependabot.yml +0 -10
- package/.nvmrc +0 -1
- package/buf.gen.yaml +0 -20
- package/jest.config.js +0 -15
- package/src/auth.ts +0 -99
- package/src/connect.ts +0 -32
- package/src/connection.ts +0 -267
- package/src/constants/user.ts +0 -22
- package/src/core.ts +0 -139
- package/src/directory.ts +0 -431
- package/src/domain.ts +0 -273
- package/src/errors/base-exception.ts +0 -263
- package/src/errors/index.ts +0 -3
- package/src/errors/specific-exceptions.ts +0 -88
- package/src/index.ts +0 -10
- package/src/organization.ts +0 -571
- package/src/passwordless.ts +0 -139
- package/src/permission.ts +0 -310
- package/src/pkg/grpc/buf/validate/validate_pb.ts +0 -28
- package/src/pkg/grpc/google/api/annotations_pb.ts +0 -28
- package/src/pkg/grpc/google/api/field_behavior_pb.ts +0 -28
- package/src/pkg/grpc/google/api/visibility_pb.ts +0 -28
- package/src/pkg/grpc/protoc-gen-openapiv2/options/annotations_pb.ts +0 -28
- package/src/pkg/grpc/scalekit/v1/auditlogs/auditlogs_pb.ts +0 -257
- package/src/pkg/grpc/scalekit/v1/auth/auth_pb.ts +0 -836
- package/src/pkg/grpc/scalekit/v1/auth/passwordless_pb.ts +0 -264
- package/src/pkg/grpc/scalekit/v1/auth/webauthn_pb.ts +0 -794
- package/src/pkg/grpc/scalekit/v1/commons/commons_pb.ts +0 -452
- package/src/pkg/grpc/scalekit/v1/connections/connections_pb.ts +0 -2645
- package/src/pkg/grpc/scalekit/v1/directories/directories_pb.ts +0 -1393
- package/src/pkg/grpc/scalekit/v1/domains/domains_pb.ts +0 -599
- package/src/pkg/grpc/scalekit/v1/errdetails/errdetails_pb.ts +0 -311
- package/src/pkg/grpc/scalekit/v1/options/options_pb.ts +0 -200
- package/src/pkg/grpc/scalekit/v1/organizations/organizations_pb.ts +0 -1141
- package/src/pkg/grpc/scalekit/v1/roles/roles_pb.ts +0 -1491
- package/src/pkg/grpc/scalekit/v1/sessions/sessions_pb.ts +0 -497
- package/src/pkg/grpc/scalekit/v1/users/users_pb.ts +0 -1404
- package/src/role.ts +0 -463
- package/src/scalekit.ts +0 -800
- package/src/session.ts +0 -323
- package/src/types/auth.ts +0 -73
- package/src/types/organization.ts +0 -12
- package/src/types/scalekit.ts +0 -50
- package/src/types/user.ts +0 -21
- package/src/user.ts +0 -829
- package/src/webauthn.ts +0 -99
- package/tests/README.md +0 -25
- package/tests/connection.test.ts +0 -42
- package/tests/directory.test.ts +0 -46
- package/tests/domain.test.ts +0 -293
- package/tests/organization.test.ts +0 -81
- package/tests/passwordless.test.ts +0 -108
- package/tests/permission.test.ts +0 -399
- package/tests/role.test.ts +0 -323
- package/tests/scalekit.test.ts +0 -104
- package/tests/setup.ts +0 -34
- package/tests/users.test.ts +0 -168
- package/tests/utils/test-data.ts +0 -490
- package/tsconfig.json +0 -19
|
@@ -1,1491 +0,0 @@
|
|
|
1
|
-
// @generated by protoc-gen-es v2.11.0 with parameter "target=ts"
|
|
2
|
-
// @generated from file scalekit/v1/roles/roles.proto (package scalekit.v1.roles, syntax proto3)
|
|
3
|
-
/* eslint-disable */
|
|
4
|
-
|
|
5
|
-
import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
|
|
6
|
-
import { enumDesc, 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 { file_google_api_field_behavior } from "../../../google/api/field_behavior_pb";
|
|
10
|
-
import { file_google_api_visibility } from "../../../google/api/visibility_pb";
|
|
11
|
-
import type { EmptySchema, Timestamp } from "@bufbuild/protobuf/wkt";
|
|
12
|
-
import { file_google_protobuf_empty, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
|
|
13
|
-
import { file_protoc_gen_openapiv2_options_annotations } from "../../../protoc-gen-openapiv2/options/annotations_pb";
|
|
14
|
-
import { file_scalekit_v1_options_options } from "../options/options_pb";
|
|
15
|
-
import type { Message } from "@bufbuild/protobuf";
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Describes the file scalekit/v1/roles/roles.proto.
|
|
19
|
-
*/
|
|
20
|
-
export const file_scalekit_v1_roles_roles: GenFile = /*@__PURE__*/
|
|
21
|
-
fileDesc("Ch1zY2FsZWtpdC92MS9yb2xlcy9yb2xlcy5wcm90bxIRc2NhbGVraXQudjEucm9sZXMikQwKBFJvbGUSdQoCaWQYASABKAlCaZJBYzJIVW5pcXVlIHN5c3RlbS1nZW5lcmF0ZWQgaWRlbnRpZmllciBmb3IgdGhlIHJvbGUuIEltbXV0YWJsZSBvbmNlIGNyZWF0ZWQuShcicm9sZV8xMjM0YWJjZDU2NzhlZmdoIuBBAxKPAQoEbmFtZRgCIAEoCUKAAZJBcTJdVW5pcXVlIG5hbWUgaWRlbnRpZmllciBmb3IgdGhlIHJvbGUuIE11c3QgYmUgYWxwaGFudW1lcmljIHdpdGggdW5kZXJzY29yZXMsIDEtMTAwIGNoYXJhY3RlcnMuShAiY29udGVudF9lZGl0b3IiukgJyAEBcgQQARhkEocBCgxkaXNwbGF5X25hbWUYAyABKAlCcZJBYjJOSHVtYW4tcmVhZGFibGUgZGlzcGxheSBuYW1lIGZvciB0aGUgcm9sZS4gVXNlZCBpbiB1c2VyIGludGVyZmFjZXMgYW5kIHJlcG9ydHMuShAiQ29udGVudCBFZGl0b3IiukgJyAEBcgQQARhkErwBCgtkZXNjcmlwdGlvbhgEIAEoCUKmAZJBogEyVURldGFpbGVkIGRlc2NyaXB0aW9uIG9mIHRoZSByb2xlJ3MgcHVycG9zZSBhbmQgY2FwYWJpbGl0aWVzLiBNYXhpbXVtIDIwMDAgY2hhcmFjdGVycy5KSSJDYW4gY3JlYXRlLCBlZGl0LCBhbmQgcHVibGlzaCBjb250ZW50IGJ1dCBjYW5ub3QgZGVsZXRlIG9yIG1hbmFnZSB1c2VycyISbQoPZGVmYXVsdF9jcmVhdG9yGAYgASgIQlSSQVEySUluZGljYXRlcyBpZiB0aGlzIHJvbGUgaXMgdGhlIGRlZmF1bHQgY3JlYXRvciByb2xlIGZvciBuZXcgb3JnYW5pemF0aW9ucy5KBHRydWUSYwoOZGVmYXVsdF9tZW1iZXIYByABKAhCS5JBSDJASW5kaWNhdGVzIGlmIHRoaXMgcm9sZSBpcyB0aGUgZGVmYXVsdCBtZW1iZXIgcm9sZSBmb3IgbmV3IHVzZXJzLkoEdHJ1ZRKdAQoHZXh0ZW5kcxgIIAEoCUKGAZJBZDJUTmFtZSBvZiB0aGUgYmFzZSByb2xlIHRoYXQgdGhpcyByb2xlIGV4dGVuZHMuIEVuYWJsZXMgaGllcmFyY2hpY2FsIHJvbGUgaW5oZXJpdGFuY2UuSgwiYWRtaW5fcm9sZSK6SBxyGhABGGQyFF5bYS16QS1aMC05X117MSw2NH0kSACIAQES4gIKC3Blcm1pc3Npb25zGAkgAygLMiEuc2NhbGVraXQudjEucm9sZXMuUm9sZVBlcm1pc3Npb25CqQKSQaUCMnVMaXN0IG9mIHBlcm1pc3Npb25zIHdpdGggcm9sZSBzb3VyY2UgaW5mb3JtYXRpb24uIE9ubHkgaW5jbHVkZWQgd2hlbiAnaW5jbHVkZScgcGFyYW1ldGVyIGlzIHNwZWNpZmllZCBpbiB0aGUgcmVxdWVzdC5KqwFbeyJuYW1lIjogInJlYWQ6Y29udGVudCIsICJkZXNjcmlwdGlvbiI6ICJSZWFkIENvbnRlbnQiLCAicm9sZV9uYW1lIjogImFkbWluX3JvbGUifSwgeyJuYW1lIjogIndyaXRlOmNvbnRlbnQiLCAiZGVzY3JpcHRpb24iOiAiV3JpdGUgQ29udGVudCIsICJyb2xlX25hbWUiOiAiZWRpdG9yX3JvbGUifV0SewoVZGVwZW5kZW50X3JvbGVzX2NvdW50GAogASgFQlySQVkyVE51bWJlciBvZiByb2xlcyB0aGF0IGV4dGVuZCBmcm9tIHRoaXMgcm9sZSAoZGVwZW5kZW50IHJvbGVzIGNvdW50KS4gUmVhZC1vbmx5IGZpZWxkLkoBMxJPCgtpc19vcmdfcm9sZRgLIAEoCEI6kkE3Mi9JbmRpY2F0ZXMgaWYgdGhpcyByb2xlIGlzIGFuIG9yZ2FuaXphdGlvbiByb2xlLkoEdHJ1ZUIKCghfZXh0ZW5kc0oECAUQBiKYCQoKQ3JlYXRlUm9sZRLrAQoEbmFtZRgCIAEoCULcAZJBtgEyoQFVbmlxdWUgbmFtZSBpZGVudGlmaWVyIGZvciB0aGUgcm9sZS4gTXVzdCBiZSBhbHBoYW51bWVyaWMgd2l0aCB1bmRlcnNjb3JlcywgMS02NCBjaGFyYWN0ZXJzLiBUaGlzIG5hbWUgaXMgdXNlZCBpbiBBUEkgY2FsbHMgYW5kIGNhbm5vdCBiZSBjaGFuZ2VkIGFmdGVyIGNyZWF0aW9uLkoQImNvbnRlbnRfZWRpdG9yIrpIH8gBAXIaEAEYZDIUXlthLXpBLVowLTlfXXsxLDY0fSQSpQEKDGRpc3BsYXlfbmFtZRgDIAEoCUKOAZJBfzJrSHVtYW4tcmVhZGFibGUgZGlzcGxheSBuYW1lIGZvciB0aGUgcm9sZS4gVXNlZCBpbiB1c2VyIGludGVyZmFjZXMsIHJlcG9ydHMsIGFuZCB1c2VyLWZhY2luZyBjb21tdW5pY2F0aW9ucy5KECJDb250ZW50IEVkaXRvciK6SAnIAQFyBBABGGQS7gEKC2Rlc2NyaXB0aW9uGAQgASgJQtMBkkHHATJqRGV0YWlsZWQgZGVzY3JpcHRpb24gb2YgdGhlIHJvbGUncyBwdXJwb3NlLCBjYXBhYmlsaXRpZXMsIGFuZCBpbnRlbmRlZCB1c2UgY2FzZXMuIE1heGltdW0gMjAwMCBjaGFyYWN0ZXJzLkpZIkNhbiBjcmVhdGUsIGVkaXQsIGFuZCBwdWJsaXNoIGNvbnRlbnQgYnV0IGNhbm5vdCBkZWxldGUgY29udGVudCBvciBtYW5hZ2UgdXNlciBhY2NvdW50cyK6SAVyAxjQD0gAiAEBEtcBCgdleHRlbmRzGAggASgJQsABkkGdATKQAU5hbWUgb2YgdGhlIGJhc2Ugcm9sZSB0aGF0IHRoaXMgcm9sZSBleHRlbmRzLiBFbmFibGVzIGhpZXJhcmNoaWNhbCByb2xlIGluaGVyaXRhbmNlIHdoZXJlIHRoaXMgcm9sZSBpbmhlcml0cyBhbGwgcGVybWlzc2lvbnMgZnJvbSB0aGUgYmFzZSByb2xlLkoIInZpZXdlciK6SBxyGhABGGQyFF5bYS16QS1aMC05X117MSw2NH0kSAGIAQES+gEKC3Blcm1pc3Npb25zGAkgAygJQuQBkkG+ATKFAUxpc3Qgb2YgcGVybWlzc2lvbiBuYW1lcyB0byBhc3NpZ24gdG8gdGhpcyByb2xlLiBQZXJtaXNzaW9ucyBtdXN0IGV4aXN0IGluIHRoZSBjdXJyZW50IGVudmlyb25tZW50LiBNYXhpbXVtIDEwMCBwZXJtaXNzaW9ucyBwZXIgcm9sZS5KNFsicmVhZDpjb250ZW50IiwgIndyaXRlOmNvbnRlbnQiLCAicHVibGlzaDpjb250ZW50Il26SB+SARwQZCIYchYQARhAMhBeW2EtekEtWjAtOV86XSskQg4KDF9kZXNjcmlwdGlvbkIKCghfZXh0ZW5kc0oECAUQBkoECAYQB0oECAcQCCLuBQoWQ3JlYXRlT3JnYW5pemF0aW9uUm9sZRJuCgRuYW1lGAIgASgJQmCSQTsyJlVuaXF1ZSBuYW1lIG9mIHRoZSBvcmdhbml6YXRpb24ncyByb2xlShEib3JnX3ZpZXdlcl9yb2xlIrpIH8gBAXIaEAEYZDIUXlthLXpBLVowLTlfXXsxLDY0fSQSagoMZGlzcGxheV9uYW1lGAMgASgJQlSSQUUyJ0Rpc3BsYXkgbmFtZSBvZiB0aGUgb3JnYW5pemF0aW9uJ3Mgcm9sZUoaIk9yZ2FuaXphdGlvbiBWaWV3ZXIgUm9sZSK6SAnIAQFyBBABGGQSkwEKC2Rlc2NyaXB0aW9uGAQgASgJQnmSQW4yJkRlc2NyaXB0aW9uIG9mIHRoZSBvcmdhbml6YXRpb24ncyByb2xlSkQiT3JnYW5pemF0aW9uIFZpZXdlciBSb2xlIHdpbGwgYmUgdXNlZCBvbmx5IGZvciB2aWV3aW5nIHRoZSBvYmplY3RzIrpIBXIDGNAPSACIAQESbQoHZXh0ZW5kcxgIIAEoCUJXkkE1MiVCYXNlIHJvbGUgbmFtZSBmb3IgaGllcmFyY2hpY2FsIHJvbGVzSgwiYWRtaW5fcm9sZSK6SBxyGhABGGQyFF5bYS16QS1aMC05X117MSw2NH0kSAGIAQESxAEKC3Blcm1pc3Npb25zGAkgAygJQq4BkkGIATJjTGlzdCBvZiBwZXJtaXNzaW9uIG5hbWVzIHRvIGFzc2lnbiB0byB0aGlzIHJvbGUuIFBlcm1pc3Npb25zIG11c3QgZXhpc3QgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuSiFbInJlYWQ6dXNlcnMiLCAid3JpdGU6ZG9jdW1lbnRzIl26SB+SARwQZCIYchYQARhAMhBeW2EtekEtWjAtOV86XSskQg4KDF9kZXNjcmlwdGlvbkIKCghfZXh0ZW5kc0oECAUQBkoECAYQB0oECAcQCCLWAgoRQ3JlYXRlUm9sZVJlcXVlc3QSugIKBHJvbGUYAiABKAsyHS5zY2FsZWtpdC52MS5yb2xlcy5DcmVhdGVSb2xlQowCkkGCAjJsUm9sZSBjb25maWd1cmF0aW9uIGRldGFpbHMgaW5jbHVkaW5nIG5hbWUsIGRpc3BsYXkgbmFtZSwgZGVzY3JpcHRpb24sIHBlcm1pc3Npb25zLCBhbmQgaW5oZXJpdGFuY2Ugc2V0dGluZ3MuSpEBeyJuYW1lIjogImNvbnRlbnRfZWRpdG9yIiwgImRpc3BsYXlfbmFtZSI6ICJDb250ZW50IEVkaXRvciIsICJkZXNjcmlwdGlvbiI6ICJDYW4gZWRpdCBjb250ZW50IiwgInBlcm1pc3Npb25zIjogWyJyZWFkOmNvbnRlbnQiLCAid3JpdGU6Y29udGVudCJdfbpIA8gBAUoECAEQAiKUAgoSQ3JlYXRlUm9sZVJlc3BvbnNlEv0BCgRyb2xlGAEgASgLMhcuc2NhbGVraXQudjEucm9sZXMuUm9sZULVAZJB0QEyT1RoZSBjcmVhdGVkIHJvbGUgb2JqZWN0IHdpdGggc3lzdGVtLWdlbmVyYXRlZCBJRCBhbmQgYWxsIGNvbmZpZ3VyYXRpb24gZGV0YWlscy5KfnsiaWQiOiAicm9sZV8xMjM0YWJjZDU2NzhlZmdoIiwgIm5hbWUiOiAiY29udGVudF9lZGl0b3IiLCAiZGlzcGxheV9uYW1lIjogIkNvbnRlbnQgRWRpdG9yIiwgImRlc2NyaXB0aW9uIjogIkNhbiBlZGl0IGNvbnRlbnQifSLUAwoOR2V0Um9sZVJlcXVlc3QStAEKCXJvbGVfbmFtZRgCIAEoCUKgAZJBezJnVW5pcXVlIG5hbWUgaWRlbnRpZmllciBvZiB0aGUgcm9sZSB0byByZXRyaWV2ZS4gTXVzdCBiZSBhbHBoYW51bWVyaWMgd2l0aCB1bmRlcnNjb3JlcywgMS02NCBjaGFyYWN0ZXJzLkoQImNvbnRlbnRfZWRpdG9yIrpIH8gBAXIaEAEYZDIUXlthLXpBLVowLTlfXXsxLDY0fSQS+AEKB2luY2x1ZGUYAyABKAlC4QGSQbgBMqYBSW5jbHVkZSBhZGRpdGlvbmFsIGRhdGEgaW4gdGhlIHJlc3BvbnNlLiBWYWxpZCB2YWx1ZXM6ICdwZXJtaXNzaW9ucycgKGRpcmVjdCBwZXJtaXNzaW9ucyBvbmx5KSwgJ3Blcm1pc3Npb25zOmFsbCcgKGluY2x1ZGVzIGluaGVyaXRlZCBwZXJtaXNzaW9ucyBmcm9tIHJvbGUgaGllcmFyY2h5KUoNInBlcm1pc3Npb25zIrpIInIgUgBSC3Blcm1pc3Npb25zUg9wZXJtaXNzaW9uczphbGxIAIgBAUIKCghfaW5jbHVkZUoECAEQAiK4AgoPR2V0Um9sZVJlc3BvbnNlEqQCCgRyb2xlGAEgASgLMhcuc2NhbGVraXQudjEucm9sZXMuUm9sZUL8AZJB+AEyUVRoZSBjb21wbGV0ZSByb2xlIG9iamVjdCB3aXRoIGFsbCBtZXRhZGF0YSwgcGVybWlzc2lvbnMsIGFuZCBpbmhlcml0YW5jZSBkZXRhaWxzLkqiAXsiaWQiOiAicm9sZV8xMjM0YWJjZDU2NzhlZmdoIiwgIm5hbWUiOiAiY29udGVudF9lZGl0b3IiLCAiZGlzcGxheV9uYW1lIjogIkNvbnRlbnQgRWRpdG9yIiwgInBlcm1pc3Npb25zIjogW3sibmFtZSI6ICJyZWFkOmNvbnRlbnQifV0sICJkZXBlbmRlbnRfcm9sZXNfY291bnQiOiAyfSKfAgoQTGlzdFJvbGVzUmVxdWVzdBL4AQoHaW5jbHVkZRgCIAEoCULhAZJBuAEypgFJbmNsdWRlIGFkZGl0aW9uYWwgZGF0YSBpbiB0aGUgcmVzcG9uc2UuIFZhbGlkIHZhbHVlczogJ3Blcm1pc3Npb25zJyAoZGlyZWN0IHBlcm1pc3Npb25zIG9ubHkpLCAncGVybWlzc2lvbnM6YWxsJyAoaW5jbHVkZXMgaW5oZXJpdGVkIHBlcm1pc3Npb25zIGZyb20gcm9sZSBoaWVyYXJjaHkpSg0icGVybWlzc2lvbnMiukgiciBSAFILcGVybWlzc2lvbnNSD3Blcm1pc3Npb25zOmFsbEgAiAEBQgoKCF9pbmNsdWRlSgQIARACIsICChFMaXN0Um9sZXNSZXNwb25zZRKsAgoFcm9sZXMYASADKAsyFy5zY2FsZWtpdC52MS5yb2xlcy5Sb2xlQoMCkkH/ATJaTGlzdCBvZiBhbGwgcm9sZXMgaW4gdGhlIGVudmlyb25tZW50IHdpdGggdGhlaXIgbWV0YWRhdGEgYW5kIG9wdGlvbmFsbHkgdGhlaXIgcGVybWlzc2lvbnMuSqABW3siaWQiOiAicm9sZV8xMjM0YWJjZDU2NzhlZmdoIiwgIm5hbWUiOiAiYWRtaW4iLCAiZGlzcGxheV9uYW1lIjogIkFkbWluaXN0cmF0b3IifSwgeyJpZCI6ICJyb2xlXzk4NzZ6eXh3NTQzMnZ1dHMiLCAibmFtZSI6ICJ2aWV3ZXIiLCAiZGlzcGxheV9uYW1lIjogIlZpZXdlciJ9XSKtCAoKVXBkYXRlUm9sZRKvAQoMZGlzcGxheV9uYW1lGAEgASgJQpMBkkGGATJrSHVtYW4tcmVhZGFibGUgZGlzcGxheSBuYW1lIGZvciB0aGUgcm9sZS4gVXNlZCBpbiB1c2VyIGludGVyZmFjZXMsIHJlcG9ydHMsIGFuZCB1c2VyLWZhY2luZyBjb21tdW5pY2F0aW9ucy5KFyJTZW5pb3IgQ29udGVudCBFZGl0b3IiukgGcgQQARhkSACIAQES9wEKC2Rlc2NyaXB0aW9uGAIgASgJQtwBkkHOATJqRGV0YWlsZWQgZGVzY3JpcHRpb24gb2YgdGhlIHJvbGUncyBwdXJwb3NlLCBjYXBhYmlsaXRpZXMsIGFuZCBpbnRlbmRlZCB1c2UgY2FzZXMuIE1heGltdW0gMjAwMCBjaGFyYWN0ZXJzLkpgIkNhbiBjcmVhdGUsIGVkaXQsIHB1Ymxpc2gsIGFuZCBhcHByb3ZlIGNvbnRlbnQuIENhbm5vdCBkZWxldGUgY29udGVudCBvciBtYW5hZ2UgdXNlciBhY2NvdW50cy4iukgHcgUQARjQD0gBiAEBEt8BCgdleHRlbmRzGAYgASgJQsgBkkGlATKQAU5hbWUgb2YgdGhlIGJhc2Ugcm9sZSB0aGF0IHRoaXMgcm9sZSBleHRlbmRzLiBFbmFibGVzIGhpZXJhcmNoaWNhbCByb2xlIGluaGVyaXRhbmNlIHdoZXJlIHRoaXMgcm9sZSBpbmhlcml0cyBhbGwgcGVybWlzc2lvbnMgZnJvbSB0aGUgYmFzZSByb2xlLkoQImNvbnRlbnRfZWRpdG9yIrpIHHIaEAEYZDIUXlthLXpBLVowLTlfXXsxLDY0fSRIAogBARLRAgoLcGVybWlzc2lvbnMYByADKAlCuwKSQZUCMskBTGlzdCBvZiBwZXJtaXNzaW9uIG5hbWVzIHRvIGFzc2lnbiB0byB0aGlzIHJvbGUuIFdoZW4gcHJvdmlkZWQsIHRoaXMgcmVwbGFjZXMgYWxsIGV4aXN0aW5nIHJvbGUtcGVybWlzc2lvbiBtYXBwaW5ncy4gUGVybWlzc2lvbnMgbXVzdCBleGlzdCBpbiB0aGUgY3VycmVudCBlbnZpcm9ubWVudC4gTWF4aW11bSAxMDAgcGVybWlzc2lvbnMgcGVyIHJvbGUuSkdbInJlYWQ6Y29udGVudCIsICJ3cml0ZTpjb250ZW50IiwgInB1Ymxpc2g6Y29udGVudCIsICJhcHByb3ZlOmNvbnRlbnQiXbpIH5IBHBBkIhhyFhABGEAyEF5bYS16QS1aMC05XzpdKyRCDwoNX2Rpc3BsYXlfbmFtZUIOCgxfZGVzY3JpcHRpb25CCgoIX2V4dGVuZHNKBAgDEARKBAgEEAVKBAgFEAYimwMKEVVwZGF0ZVJvbGVSZXF1ZXN0ErIBCglyb2xlX25hbWUYAiABKAlCngGSQXkyZVVuaXF1ZSBuYW1lIGlkZW50aWZpZXIgb2YgdGhlIHJvbGUgdG8gdXBkYXRlLiBNdXN0IGJlIGFscGhhbnVtZXJpYyB3aXRoIHVuZGVyc2NvcmVzLCAxLTY0IGNoYXJhY3RlcnMuShAiY29udGVudF9lZGl0b3IiukgfyAEBchoQARhkMhReW2EtekEtWjAtOV9dezEsNjR9JBLKAQoEcm9sZRgDIAEoCzIdLnNjYWxla2l0LnYxLnJvbGVzLlVwZGF0ZVJvbGVCnAGSQZIBMj5Sb2xlIGZpZWxkcyB0byB1cGRhdGUuIE9ubHkgc3BlY2lmaWVkIGZpZWxkcyB3aWxsIGJlIG1vZGlmaWVkLkpQeyJkaXNwbGF5X25hbWUiOiAiU2VuaW9yIEVkaXRvciIsICJkZXNjcmlwdGlvbiI6ICJDYW4gZWRpdCBhbmQgYXBwcm92ZSBjb250ZW50In26SAPIAQFKBAgBEAIikAIKElVwZGF0ZVJvbGVSZXNwb25zZRL5AQoEcm9sZRgBIAEoCzIXLnNjYWxla2l0LnYxLnJvbGVzLlJvbGVC0QGSQc0BMj9UaGUgdXBkYXRlZCByb2xlIG9iamVjdCB3aXRoIGFsbCBjdXJyZW50IGNvbmZpZ3VyYXRpb24gZGV0YWlscy5KiQF7ImlkIjogInJvbGVfMTIzNGFiY2Q1Njc4ZWZnaCIsICJuYW1lIjogImNvbnRlbnRfZWRpdG9yIiwgImRpc3BsYXlfbmFtZSI6ICJTZW5pb3IgRWRpdG9yIiwgImRlc2NyaXB0aW9uIjogIkNhbiBlZGl0IGFuZCBhcHByb3ZlIGNvbnRlbnQifSKOBAoRRGVsZXRlUm9sZVJlcXVlc3QSrAEKCXJvbGVfbmFtZRgCIAEoCUKYAZJBczJlVW5pcXVlIG5hbWUgaWRlbnRpZmllciBvZiB0aGUgcm9sZSB0byBkZWxldGUuIE11c3QgYmUgYWxwaGFudW1lcmljIHdpdGggdW5kZXJzY29yZXMsIDEtNjQgY2hhcmFjdGVycy5KCiJvbGRfcm9sZSK6SB/IAQFyGhABGGQyFF5bYS16QS1aMC05X117MSw2NH0kEooBChByZWFzc2lnbl9yb2xlX2lkGAMgASgJQmsYAZJBRzI2Um9sZSBuYW1lIHRvIHJlYXNzaWduIHVzZXJzIHRvIHdoZW4gZGVsZXRpbmcgdGhpcyByb2xlSg0ibWVtYmVyX3JvbGUiukgcchoQARhkMhReW2EtekEtWjAtOV9dezEsNjR9JEgAiAEBEooBChJyZWFzc2lnbl9yb2xlX25hbWUYBCABKAlCaZJBRzI2Um9sZSBuYW1lIHRvIHJlYXNzaWduIHVzZXJzIHRvIHdoZW4gZGVsZXRpbmcgdGhpcyByb2xlSg0ibWVtYmVyX3JvbGUiukgcchoQARhkMhReW2EtekEtWjAtOV9dezEsNjR9JEgBiAEBQhMKEV9yZWFzc2lnbl9yb2xlX2lkQhUKE19yZWFzc2lnbl9yb2xlX25hbWVKBAgBEAIi3wEKHUNyZWF0ZU9yZ2FuaXphdGlvblJvbGVSZXF1ZXN0El8KBm9yZ19pZBgBIAEoCUJPkkE+MiVVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgb3JnYW5pemF0aW9uShUib3JnXzEyMTMxMjQzNDEyMzMxMiK6SAtyCRABGCA6A29yZxJdCgRyb2xlGAIgASgLMikuc2NhbGVraXQudjEucm9sZXMuQ3JlYXRlT3JnYW5pemF0aW9uUm9sZUIkkkEbMhlPcmdhbml6YXRpb24gcm9sZSBkZXRhaWxzukgDyAEBIkcKHkNyZWF0ZU9yZ2FuaXphdGlvblJvbGVSZXNwb25zZRIlCgRyb2xlGAEgASgLMhcuc2NhbGVraXQudjEucm9sZXMuUm9sZSLRAwoaR2V0T3JnYW5pemF0aW9uUm9sZVJlcXVlc3QSXwoGb3JnX2lkGAEgASgJQk+SQT4yJVVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBvcmdhbml6YXRpb25KFSJvcmdfMTIxMzEyNDM0MTIzMzEyIrpIC3IJEAEYIDoDb3JnEl8KCXJvbGVfbmFtZRgCIAEoCUJMkkEnMhdVbmlxdWUgbmFtZSBvZiB0aGUgcm9sZUoMImFkbWluX3JvbGUiukgfyAEBchoQARhkMhReW2EtekEtWjAtOV9dezEsNjR9JBLkAQoHaW5jbHVkZRgDIAEoCULNAZJBpAEykgFJbmNsdWRlIGFkZGl0aW9uYWwgZGF0YSBpbiB0aGUgcmVzcG9uc2UuIFZhbGlkIHZhbHVlczogJ3Blcm1pc3Npb25zJyAoZGlyZWN0IHBlcm1pc3Npb25zIG9ubHkpLCAncGVybWlzc2lvbnM6YWxsJyAoaW5jbHVkZXMgaW5oZXJpdGVkIHBlcm1pc3Npb25zKUoNInBlcm1pc3Npb25zIrpIInIgUgBSC3Blcm1pc3Npb25zUg9wZXJtaXNzaW9uczphbGxIAIgBAUIKCghfaW5jbHVkZSJEChtHZXRPcmdhbml6YXRpb25Sb2xlUmVzcG9uc2USJQoEcm9sZRgBIAEoCzIXLnNjYWxla2l0LnYxLnJvbGVzLlJvbGUi0gQKHExpc3RPcmdhbml6YXRpb25Sb2xlc1JlcXVlc3QSYgoGb3JnX2lkGAEgASgJQlKSQT4yJVVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBvcmdhbml6YXRpb25KFSJvcmdfMTIxMzEyNDM0MTIzMzEyIrpIDsgBAXIJEAEYIDoDb3JnEuQBCgdpbmNsdWRlGAIgASgJQs0BkkGkATKSAUluY2x1ZGUgYWRkaXRpb25hbCBkYXRhIGluIHRoZSByZXNwb25zZS4gVmFsaWQgdmFsdWVzOiAncGVybWlzc2lvbnMnIChkaXJlY3QgcGVybWlzc2lvbnMgb25seSksICdwZXJtaXNzaW9uczphbGwnIChpbmNsdWRlcyBpbmhlcml0ZWQgcGVybWlzc2lvbnMpSg0icGVybWlzc2lvbnMiukgiciBSAFILcGVybWlzc2lvbnNSD3Blcm1pc3Npb25zOmFsbEgAiAEBOtoBkkHWAQqwASoXTGlzdCBvcmdhbml6YXRpb24gcm9sZXMyiwFSZXRyaWV2ZXMgYSBwYWdpbmF0ZWQgbGlzdCBvZiBhbGwgcm9sZXMgd2l0aGluIHRoZSBvcmdhbml6YXRpb24uIFVzZSB0aGUgcGFnZV90b2tlbiBmcm9tIHRoZSByZXNwb25zZSB0byBhY2Nlc3Mgc3Vic2VxdWVudCBwYWdlcyBvZiByZXN1bHRz0gEGb3JnX2lkMiF7Im9yZ19pZCIgOiAib3JnXzg3NTY4NjU2ODU3NjIiIH1CCgoIX2luY2x1ZGUiYwodTGlzdE9yZ2FuaXphdGlvblJvbGVzUmVzcG9uc2USQgoFcm9sZXMYASADKAsyFy5zY2FsZWtpdC52MS5yb2xlcy5Sb2xlQhqSQRcyFUxpc3Qgb2Ygcm9sZXMgb2JqZWN0cyK0AgodVXBkYXRlT3JnYW5pemF0aW9uUm9sZVJlcXVlc3QSXwoGb3JnX2lkGAEgASgJQk+SQT4yJVVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBvcmdhbml6YXRpb25KFSJvcmdfMTIxMzEyNDM0MTIzMzEyIrpIC3IJEAEYIDoDb3JnEl8KCXJvbGVfbmFtZRgCIAEoCUJMkkEnMhdVbmlxdWUgbmFtZSBvZiB0aGUgcm9sZUoMImFkbWluX3JvbGUiukgfyAEBchoQARhkMhReW2EtekEtWjAtOV9dezEsNjR9JBJRCgRyb2xlGAMgASgLMh0uc2NhbGVraXQudjEucm9sZXMuVXBkYXRlUm9sZUIkkkEbMhlPcmdhbml6YXRpb24gcm9sZSBkZXRhaWxzukgDyAEBIkcKHlVwZGF0ZU9yZ2FuaXphdGlvblJvbGVSZXNwb25zZRIlCgRyb2xlGAEgASgLMhcuc2NhbGVraXQudjEucm9sZXMuUm9sZSKFAwodRGVsZXRlT3JnYW5pemF0aW9uUm9sZVJlcXVlc3QSXwoGb3JnX2lkGAEgASgJQk+SQT4yJVVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBvcmdhbml6YXRpb25KFSJvcmdfMTIxMzEyNDM0MTIzMzEyIrpIC3IJEAEYIDoDb3JnEl8KCXJvbGVfbmFtZRgCIAEoCUJMkkEnMhdVbmlxdWUgbmFtZSBvZiB0aGUgcm9sZUoMImFkbWluX3JvbGUiukgfyAEBchoQARhkMhReW2EtekEtWjAtOV9dezEsNjR9JBKKAQoScmVhc3NpZ25fcm9sZV9uYW1lGAMgASgJQmmSQUcyNlJvbGUgbmFtZSB0byByZWFzc2lnbiB1c2VycyB0byB3aGVuIGRlbGV0aW5nIHRoaXMgcm9sZUoNIm1lbWJlcl9yb2xlIrpIHHIaEAEYZDIUXlthLXpBLVowLTlfXXsxLDY0fSRIAIgBAUIVChNfcmVhc3NpZ25fcm9sZV9uYW1lIoEBChhHZXRSb2xlVXNlcnNDb3VudFJlcXVlc3QSXwoJcm9sZV9uYW1lGAIgASgJQkySQScyF1VuaXF1ZSBuYW1lIG9mIHRoZSByb2xlSgwiYWRtaW5fcm9sZSK6SB/IAQFyGhABGGQyFF5bYS16QS1aMC05X117MSw2NH0kSgQIARACImQKGUdldFJvbGVVc2Vyc0NvdW50UmVzcG9uc2USRwoFY291bnQYASABKANCOJJBLjIoTnVtYmVyIG9mIHVzZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGUgcm9sZUoCMTC6SAQaAiAAIu4BCiRHZXRPcmdhbml6YXRpb25Sb2xlVXNlcnNDb3VudFJlcXVlc3QSWAoGb3JnX2lkGAEgASgJQkiSQTkyJVVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBvcmdhbml6YXRpb25KECJvcmdfMTIzNDU2Nzg5MCK6SAnIAQFyBBABGGQSbAoJcm9sZV9uYW1lGAIgASgJQlmSQTQyJFVuaXF1ZSBuYW1lIG9mIHRoZSBvcmdhbml6YXRpb24gcm9sZUoMImFkbWluX3JvbGUiukgfyAEBchoQARhkMhReW2EtekEtWjAtOV9dezEsNjR9JCJ8CiVHZXRPcmdhbml6YXRpb25Sb2xlVXNlcnNDb3VudFJlc3BvbnNlElMKBWNvdW50GAEgASgDQkSSQToyNU51bWJlciBvZiB1c2VycyBhc3NvY2lhdGVkIHdpdGggdGhlIG9yZ2FuaXphdGlvbiByb2xlSgE1ukgEGgIgACKqCQoZVXBkYXRlRGVmYXVsdFJvbGVzUmVxdWVzdBKOAgoPZGVmYXVsdF9jcmVhdG9yGAIgASgLMiQuc2NhbGVraXQudjEucm9sZXMuVXBkYXRlRGVmYXVsdFJvbGVCzgEYAZJByAEySkRlZmF1bHQgY3JlYXRvciByb2xlIChkZXByZWNhdGVkIC0gdXNlIGRlZmF1bHRfY3JlYXRvcl9yb2xlIGZpZWxkIGluc3RlYWQpSnp7ImlkIjogInJvbGVfMTIzNDU2Nzg5MCIsICJuYW1lIjogImNyZWF0b3IiLCAiZGlzcGxheV9uYW1lIjogIkNyZWF0b3IgUm9sZSIsICJkZXNjcmlwdGlvbiI6ICJSb2xlIGZvciBjcmVhdGluZyByZXNvdXJjZXMifRKGAgoOZGVmYXVsdF9tZW1iZXIYAyABKAsyJC5zY2FsZWtpdC52MS5yb2xlcy5VcGRhdGVEZWZhdWx0Um9sZULHARgBkkHBATJIRGVmYXVsdCBtZW1iZXIgcm9sZSAoZGVwcmVjYXRlZCAtIHVzZSBkZWZhdWx0X21lbWJlcl9yb2xlIGZpZWxkIGluc3RlYWQpSnV7ImlkIjogInJvbGVfMDk4NzY1NDMyMSIsICJuYW1lIjogIm1lbWJlciIsICJkaXNwbGF5X25hbWUiOiAiTWVtYmVyIFJvbGUiLCAiZGVzY3JpcHRpb24iOiAiUm9sZSBmb3IgcmVndWxhciBtZW1iZXJzIn0SogIKFGRlZmF1bHRfY3JlYXRvcl9yb2xlGAQgASgJQv4BkkHbATLNAU5hbWUgb2YgdGhlIHJvbGUgdG8gc2V0IGFzIHRoZSBkZWZhdWx0IGNyZWF0b3Igcm9sZS4gVGhpcyByb2xlIHdpbGwgYmUgYXV0b21hdGljYWxseSBhc3NpZ25lZCB0byB1c2VycyB3aG8gY3JlYXRlIG5ldyByZXNvdXJjZXMgaW4gdGhlIGVudmlyb25tZW50LiBNdXN0IGJlIGEgdmFsaWQgcm9sZSBuYW1lIHRoYXQgZXhpc3RzIGluIHRoZSBlbnZpcm9ubWVudC5KCSJjcmVhdG9yIrpIHHIaEAAYZDIUXlthLXpBLVowLTlfXXsxLDY0fSRIAIgBARKWAgoTZGVmYXVsdF9tZW1iZXJfcm9sZRgFIAEoCULzAZJB0AEywwFOYW1lIG9mIHRoZSByb2xlIHRvIHNldCBhcyB0aGUgZGVmYXVsdCBtZW1iZXIgcm9sZS4gVGhpcyByb2xlIHdpbGwgYmUgYXV0b21hdGljYWxseSBhc3NpZ25lZCB0byBuZXcgdXNlcnMgd2hlbiB0aGV5IGpvaW4gdGhlIGVudmlyb25tZW50LiBNdXN0IGJlIGEgdmFsaWQgcm9sZSBuYW1lIHRoYXQgZXhpc3RzIGluIHRoZSBlbnZpcm9ubWVudC5KCCJtZW1iZXIiukgcchoQABhkMhReW2EtekEtWjAtOV9dezEsNjR9JEgBiAEBQhcKFV9kZWZhdWx0X2NyZWF0b3Jfcm9sZUIWChRfZGVmYXVsdF9tZW1iZXJfcm9sZUoECAEQAiKBAgolVXBkYXRlRGVmYXVsdE9yZ2FuaXphdGlvblJvbGVzUmVxdWVzdBJiCgZvcmdfaWQYASABKAlCUpJBPjIlVW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIG9yZ2FuaXphdGlvbkoVIm9yZ18xMjEzMTI0MzQxMjMzMTIiukgOyAEBcgkQARggOgNvcmcSdAoTZGVmYXVsdF9tZW1iZXJfcm9sZRgCIAEoCUJXkkEyMiZVbmlxdWUgbmFtZSBvZiB0aGUgZGVmYXVsdCBtZW1iZXIgcm9sZUoIIm1lbWJlciK6SB/IAQFyGhABGGQyFF5bYS16QS1aMC05X117MSw2NH0kIqcFChpVcGRhdGVEZWZhdWx0Um9sZXNSZXNwb25zZRLGAgoPZGVmYXVsdF9jcmVhdG9yGAEgASgLMhcuc2NhbGVraXQudjEucm9sZXMuUm9sZUKTApJBjwIykAFUaGUgcm9sZSB0aGF0IGlzIG5vdyBzZXQgYXMgdGhlIGRlZmF1bHQgY3JlYXRvciByb2xlIGZvciB0aGUgZW52aXJvbm1lbnQuIENvbnRhaW5zIGNvbXBsZXRlIHJvbGUgaW5mb3JtYXRpb24gaW5jbHVkaW5nIHBlcm1pc3Npb25zIGFuZCBtZXRhZGF0YS5KensiaWQiOiAicm9sZV8xMjM0NTY3ODkwIiwgIm5hbWUiOiAiY3JlYXRvciIsICJkaXNwbGF5X25hbWUiOiAiQ3JlYXRvciBSb2xlIiwgImRlc2NyaXB0aW9uIjogIlJvbGUgZm9yIGNyZWF0aW5nIHJlc291cmNlcyJ9Er8CCg5kZWZhdWx0X21lbWJlchgCIAEoCzIXLnNjYWxla2l0LnYxLnJvbGVzLlJvbGVCjQKSQYkCMo8BVGhlIHJvbGUgdGhhdCBpcyBub3cgc2V0IGFzIHRoZSBkZWZhdWx0IG1lbWJlciByb2xlIGZvciB0aGUgZW52aXJvbm1lbnQuIENvbnRhaW5zIGNvbXBsZXRlIHJvbGUgaW5mb3JtYXRpb24gaW5jbHVkaW5nIHBlcm1pc3Npb25zIGFuZCBtZXRhZGF0YS5KdXsiaWQiOiAicm9sZV8wOTg3NjU0MzIxIiwgIm5hbWUiOiAibWVtYmVyIiwgImRpc3BsYXlfbmFtZSI6ICJNZW1iZXIgUm9sZSIsICJkZXNjcmlwdGlvbiI6ICJSb2xlIGZvciByZWd1bGFyIG1lbWJlcnMifSL1AQomVXBkYXRlRGVmYXVsdE9yZ2FuaXphdGlvblJvbGVzUmVzcG9uc2USygEKDmRlZmF1bHRfbWVtYmVyGAIgASgLMhcuc2NhbGVraXQudjEucm9sZXMuUm9sZUKYAZJBlAEyG1VwZGF0ZWQgZGVmYXVsdCBtZW1iZXIgcm9sZUp1eyJpZCI6ICJyb2xlXzA5ODc2NTQzMjEiLCAibmFtZSI6ICJtZW1iZXIiLCAiZGlzcGxheV9uYW1lIjogIk1lbWJlciBSb2xlIiwgImRlc2NyaXB0aW9uIjogIlJvbGUgZm9yIHJlZ3VsYXIgbWVtYmVycyJ9IpQBChFVcGRhdGVEZWZhdWx0Um9sZRIbCgJpZBgBIAEoCUIPukgMcgoQARggOgRyb2xlElkKBG5hbWUYAiABKAlCRpJBJDIXVW5pcXVlIG5hbWUgb2YgdGhlIHJvbGVKCSJjcmVhdG9yIrpIHHIaEAAYZDIUXlthLXpBLVowLTlfXXsxLDY0fSRIAIgBAUIHCgVfbmFtZSLAAgoKUGVybWlzc2lvbhIbCgJpZBgBIAEoCUIPukgMcgoQARggOgRwZXJtEiwKBG5hbWUYAiABKAlCHrpIG8gBAXIWEAEYZDIQXlthLXpBLVowLTlfOl0rJBIdCgtkZXNjcmlwdGlvbhgDIAEoCUIIukgFcgMY0A8SLwoLY3JlYXRlX3RpbWUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi8KC3VwZGF0ZV90aW1lGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJmChZpc19zY2FsZWtpdF9wZXJtaXNzaW9uGAYgASgIQkaSQUMyO0luZGljYXRlcyB3aGV0aGVyIHRoaXMgcGVybWlzc2lvbiBpcyBwcmVkZWZpbmVkIGJ5IFNjYWxla2l0SgR0cnVlIt0CCg5Sb2xlUGVybWlzc2lvbhIbCgJpZBgBIAEoCUIPukgMcgoQARggOgRwZXJtEiwKBG5hbWUYAiABKAlCHrpIG8gBAXIWEAEYZDIQXlthLXpBLVowLTlfOl0rJBIdCgtkZXNjcmlwdGlvbhgDIAEoCUIIukgFcgMY0A8SLwoLY3JlYXRlX3RpbWUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi8KC3VwZGF0ZV90aW1lGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJ/Cglyb2xlX25hbWUYBiABKAlCbJJBRzI3TmFtZSBvZiB0aGUgcm9sZSBmcm9tIHdoaWNoIHRoaXMgcGVybWlzc2lvbiB3YXMgc291cmNlZEoMImFkbWluX3JvbGUiukgfyAEBchoQARhkMhReW2EtekEtWjAtOV9dezEsNjR9JCLuAQoQQ3JlYXRlUGVybWlzc2lvbhJoCgRuYW1lGAEgASgJQlqSQTQyIFVuaXF1ZSBuYW1lL0lEIG9mIHRoZSBwZXJtaXNzaW9uShAicmVhZDpkb2N1bWVudHMiukggyAEBchsQARhkMhVeW2EtekEtWjAtOV86XXsxLDY0fSQScAoLZGVzY3JpcHRpb24YAiABKAlCW5JBUDIdRGVzY3JpcHRpb24gb2YgdGhlIHBlcm1pc3Npb25KLyJBbGxvd3MgdXNlciB0byByZWFkIGRvY3VtZW50cyBmcm9tIHRoZSBzeXN0ZW0iukgFcgMY0A8iWgoXQ3JlYXRlUGVybWlzc2lvblJlcXVlc3QSPwoKcGVybWlzc2lvbhgBIAEoCzIjLnNjYWxla2l0LnYxLnJvbGVzLkNyZWF0ZVBlcm1pc3Npb25CBrpIA8gBASJNChhDcmVhdGVQZXJtaXNzaW9uUmVzcG9uc2USMQoKcGVybWlzc2lvbhgBIAEoCzIdLnNjYWxla2l0LnYxLnJvbGVzLlBlcm1pc3Npb24ieAoUR2V0UGVybWlzc2lvblJlcXVlc3QSYAoPcGVybWlzc2lvbl9uYW1lGAEgASgJQkeSQSYyFk5hbWUgb2YgdGhlIHBlcm1pc3Npb25KDCJyZWFkOnVzZXJzIrpIG8gBAXIWEAEYQDIQXlthLXpBLVowLTlfOl0rJCJKChVHZXRQZXJtaXNzaW9uUmVzcG9uc2USMQoKcGVybWlzc2lvbhgBIAEoCzIdLnNjYWxla2l0LnYxLnJvbGVzLlBlcm1pc3Npb24ivAEKF1VwZGF0ZVBlcm1pc3Npb25SZXF1ZXN0EmAKD3Blcm1pc3Npb25fbmFtZRgBIAEoCUJHkkEmMhZOYW1lIG9mIHRoZSBwZXJtaXNzaW9uSgwicmVhZF91c2VycyK6SBvIAQFyFhABGEAyEF5bYS16QS1aMC05XzpdKyQSPwoKcGVybWlzc2lvbhgDIAEoCzIjLnNjYWxla2l0LnYxLnJvbGVzLkNyZWF0ZVBlcm1pc3Npb25CBrpIA8gBASJNChhVcGRhdGVQZXJtaXNzaW9uUmVzcG9uc2USMQoKcGVybWlzc2lvbhgBIAEoCzIdLnNjYWxla2l0LnYxLnJvbGVzLlBlcm1pc3Npb24i7gMKFkxpc3RQZXJtaXNzaW9uc1JlcXVlc3QSWQoKcGFnZV90b2tlbhgBIAEoCUJAkkE9MitQYWdlIHRva2VuIHRvIHJldHJpZXZlIG5leHQgcGFnZSBvZiByZXN1bHRzSg4idG9rZW5fYWJjMTIzIkgAiAEBElwKCXBhZ2Vfc2l6ZRgCIAEoDUJEkkE4MjJOdW1iZXIgb2YgcGVybWlzc2lvbnMgdG8gcmV0dXJuIHBlciBwYWdlIChtYXggMTAwKUoCNTC6SAYqBBhkKAFIAYgBARL9AQoEdHlwZRgDIAEoDjIhLnNjYWxla2l0LnYxLnJvbGVzLlBlcm1pc3Npb25UeXBlQssBkkHHATK/AUZpbHRlciBwZXJtaXNzaW9ucyBieSB0eXBlOiBBTEwsIFNDQUxFS0lULCBvciBFTlZJUk9OTUVOVCwgd2hlcmUgU0NBTEVLSVQgYXJlIHByZWRlZmluZWQgU2NhbGVraXQgcGVybWlzc2lvbnMgYW5kIEVOVklST05NRU5UIGFyZSBjdXN0b20gcGVybWlzc2lvbnMgY3JlYXRlZCBpbiB0aGUgZW52aXJvbm1lbnQsIGRlZmF1bHQgaXMgQUxMSgNBTExCDQoLX3BhZ2VfdG9rZW5CDAoKX3BhZ2Vfc2l6ZSLCAgoXTGlzdFBlcm1pc3Npb25zUmVzcG9uc2USMgoLcGVybWlzc2lvbnMYASADKAsyHS5zY2FsZWtpdC52MS5yb2xlcy5QZXJtaXNzaW9uElgKD3ByZXZfcGFnZV90b2tlbhgCIAEoCUI/kkE8MipUb2tlbiB0byByZXRyaWV2ZSBwcmV2aW91cyBwYWdlIG9mIHJlc3VsdHNKDiJ0b2tlbl9kZWY0NTYiElQKD25leHRfcGFnZV90b2tlbhgDIAEoCUI7kkE4MiZUb2tlbiB0byByZXRyaWV2ZSBuZXh0IHBhZ2Ugb2YgcmVzdWx0c0oOInRva2VuX2RlZjQ1NiISQwoKdG90YWxfc2l6ZRgEIAEoDUIvkkEsMiVUb3RhbCBudW1iZXIgb2YgcGVybWlzc2lvbnMgYXZhaWxhYmxlSgMxNTAiewoXRGVsZXRlUGVybWlzc2lvblJlcXVlc3QSYAoPcGVybWlzc2lvbl9uYW1lGAEgASgJQkeSQSYyFk5hbWUgb2YgdGhlIHBlcm1pc3Npb25KDCJyZWFkX3VzZXJzIrpIG8gBAXIWEAEYQDIQXlthLXpBLVowLTlfOl0rJCJrChpMaXN0Um9sZVBlcm1pc3Npb25zUmVxdWVzdBJNCglyb2xlX25hbWUYASABKAlCOpJBGTIQTmFtZSBvZiB0aGUgcm9sZUoFYWRtaW66SBvIAQFyFhABGEAyEF5bYS16QS1aMC05Xy1dKyQiiQEKG0xpc3RSb2xlUGVybWlzc2lvbnNSZXNwb25zZRJqCgtwZXJtaXNzaW9ucxgBIAMoCzIdLnNjYWxla2l0LnYxLnJvbGVzLlBlcm1pc3Npb25CNpJBMzIxTGlzdCBvZiBwZXJtaXNzaW9ucyBkaXJlY3RseSBhc3NpZ25lZCB0byB0aGUgcm9sZSLfAQobQWRkUGVybWlzc2lvbnNUb1JvbGVSZXF1ZXN0Ek0KCXJvbGVfbmFtZRgBIAEoCUI6kkEZMhBOYW1lIG9mIHRoZSByb2xlSgVhZG1pbrpIG8gBAXIWEAEYQDIQXlthLXpBLVowLTlfOl0rJBJxChBwZXJtaXNzaW9uX25hbWVzGAIgAygJQleSQS0yK0xpc3Qgb2YgcGVybWlzc2lvbiBuYW1lcyB0byBhZGQgdG8gdGhlIHJvbGW6SCTIAQGSAR4IARBkIhhyFhABGEAyEF5bYS16QS1aMC05XzpdKyQilQEKHEFkZFBlcm1pc3Npb25zVG9Sb2xlUmVzcG9uc2USdQoLcGVybWlzc2lvbnMYASADKAsyHS5zY2FsZWtpdC52MS5yb2xlcy5QZXJtaXNzaW9uQkGSQT4yPExpc3Qgb2YgYWxsIHBlcm1pc3Npb25zIGJlbG9uZ2luZyB0byB0aGUgcm9sZSBhZnRlciBhZGRpdGlvbiLZAQofUmVtb3ZlUGVybWlzc2lvbkZyb21Sb2xlUmVxdWVzdBJMCglyb2xlX25hbWUYASABKAlCOZJBGTIQTmFtZSBvZiB0aGUgcm9sZUoFYWRtaW66SBrIAQFyFRABGEAyD15bYS16QS1aMC05X10rJBJoCg9wZXJtaXNzaW9uX25hbWUYAiABKAlCT5JBLjIgTmFtZSBvZiB0aGUgcGVybWlzc2lvbiB0byByZW1vdmVKCnJlYWRfdXNlcnO6SBvIAQFyFhABGEAyEF5bYS16QS1aMC05XzpdKyQicwojTGlzdEVmZmVjdGl2ZVJvbGVQZXJtaXNzaW9uc1JlcXVlc3QSTAoJcm9sZV9uYW1lGAEgASgJQjmSQRkyEE5hbWUgb2YgdGhlIHJvbGVKBWFkbWluukgayAEBchUQARhAMg9eW2EtekEtWjAtOV9dKyQirQEKJExpc3RFZmZlY3RpdmVSb2xlUGVybWlzc2lvbnNSZXNwb25zZRKEAQoLcGVybWlzc2lvbnMYASADKAsyHS5zY2FsZWtpdC52MS5yb2xlcy5QZXJtaXNzaW9uQlCSQU0yS0xpc3Qgb2YgYWxsIGVmZmVjdGl2ZSBwZXJtaXNzaW9ucyBpbmNsdWRpbmcgdGhvc2UgaW5oZXJpdGVkIGZyb20gYmFzZSByb2xlcyJuChlMaXN0RGVwZW5kZW50Um9sZXNSZXF1ZXN0ElEKCXJvbGVfbmFtZRgBIAEoCUI+kkEeMhVOYW1lIG9mIHRoZSBiYXNlIHJvbGVKBWFkbWluukgayAEBchUQARhAMg9eW2EtekEtWjAtOV9dKyQiYgoaTGlzdERlcGVuZGVudFJvbGVzUmVzcG9uc2USRAoFcm9sZXMYASADKAsyFy5zY2FsZWtpdC52MS5yb2xlcy5Sb2xlQhySQRkyF0xpc3Qgb2YgZGVwZW5kZW50IHJvbGVzIvMBChVEZWxldGVSb2xlQmFzZVJlcXVlc3QS2QEKCXJvbGVfbmFtZRgBIAEoCULFAZJBpAEykQFVbmlxdWUgbmFtZSBpZGVudGlmaWVyIG9mIHRoZSByb2xlIHdob3NlIGJhc2UgaW5oZXJpdGFuY2UgcmVsYXRpb25zaGlwIHNob3VsZCBiZSByZW1vdmVkLiBNdXN0IGJlIGFscGhhbnVtZXJpYyB3aXRoIHVuZGVyc2NvcmVzLCAxLTY0IGNoYXJhY3RlcnMuSg5jb250ZW50X2VkaXRvcrpIGsgBAXIVEAEYQDIPXlthLXpBLVowLTlfXSskIvcBCiFEZWxldGVPcmdhbml6YXRpb25Sb2xlQmFzZVJlcXVlc3QSXgoGb3JnX2lkGAEgASgJQk6SQT0yJFVuaXF1ZSBpZGVudGlmaWVyIHRvIGFuIE9yZ2FuaXphdGlvbkoVIm9yZ18xMjEzMTI0MzQxMjMzMTIiukgLcgkQARggOgNvcmcScgoJcm9sZV9uYW1lGAIgASgJQl+SQToyMU5hbWUgb2YgdGhlIG9yZ2FuaXphdGlvbiByb2xlIHRvIHJlbW92ZSBiYXNlIGZyb21KBWFkbWluukgfyAEBchoQARhkMhReW2EtekEtWjAtOV9dezEsNjR9JCo4Cg5QZXJtaXNzaW9uVHlwZRIHCgNBTEwQABIMCghTQ0FMRUtJVBABEg8KC0VOVklST05NRU5UEAIy67sBCgxSb2xlc1NlcnZpY2USzwUKCkNyZWF0ZVJvbGUSJC5zY2FsZWtpdC52MS5yb2xlcy5DcmVhdGVSb2xlUmVxdWVzdBolLnNjYWxla2l0LnYxLnJvbGVzLkNyZWF0ZVJvbGVSZXNwb25zZSLzBJJBzgQKBVJvbGVzEh5DcmVhdGUgbmV3IHJvbGUgaW4gZW52aXJvbm1lbnQaiANDcmVhdGVzIGEgbmV3IHJvbGUgd2l0aGluIHRoZSBlbnZpcm9ubWVudCB3aXRoIHNwZWNpZmllZCBwZXJtaXNzaW9ucyBhbmQgbWV0YWRhdGEuIFVzZSB0aGlzIGVuZHBvaW50IHRvIGRlZmluZSBjdXN0b20gcm9sZXMgdGhhdCBjYW4gYmUgYXNzaWduZWQgdG8gdXNlcnMgb3IgZ3JvdXBzLiBZb3UgY2FuIGNyZWF0ZSBoaWVyYXJjaGljYWwgcm9sZXMgYnkgZXh0ZW5kaW5nIGV4aXN0aW5nIHJvbGVzLCBhc3NpZ24gc3BlY2lmaWMgcGVybWlzc2lvbnMsIGFuZCBjb25maWd1cmUgZGlzcGxheSBpbmZvcm1hdGlvbi4gUm9sZXMgYXJlIHRoZSBmb3VuZGF0aW9uIG9mIHlvdXIgYWNjZXNzIGNvbnRyb2wgc3lzdGVtIGFuZCBkZXRlcm1pbmUgd2hhdCBhY3Rpb25zIHVzZXJzIGNhbiBwZXJmb3JtLkqZAQoDMjAxEpEBCmRSb2xlIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5LiBSZXR1cm5zIHRoZSBjb21wbGV0ZSByb2xlIG9iamVjdCB3aXRoIHN5c3RlbS1nZW5lcmF0ZWQgSUQgYW5kIHRpbWVzdGFtcHMuEikKJxolLnNjYWxla2l0LnYxLnJvbGVzLkNyZWF0ZVJvbGVSZXNwb25zZYK1GAIYRILT5JMCFToEcm9sZSINL2FwaS92MS9yb2xlcxKyBQoKVXBkYXRlUm9sZRIkLnNjYWxla2l0LnYxLnJvbGVzLlVwZGF0ZVJvbGVSZXF1ZXN0GiUuc2NhbGVraXQudjEucm9sZXMuVXBkYXRlUm9sZVJlc3BvbnNlItYEkkGlBAoFUm9sZXMSF1VwZGF0ZSByb2xlIGluZm9ybWF0aW9uGvYCTW9kaWZpZXMgYW4gZXhpc3Rpbmcgcm9sZSdzIHByb3BlcnRpZXMgaW5jbHVkaW5nIGRpc3BsYXkgbmFtZSwgZGVzY3JpcHRpb24sIHBlcm1pc3Npb25zLCBhbmQgaW5oZXJpdGFuY2UuIFVzZSB0aGlzIGVuZHBvaW50IHRvIHVwZGF0ZSByb2xlIG1ldGFkYXRhLCBjaGFuZ2UgcGVybWlzc2lvbiBhc3NpZ25tZW50cywgb3IgbW9kaWZ5IHJvbGUgaGllcmFyY2h5LiBPbmx5IHRoZSBmaWVsZHMgeW91IHNwZWNpZnkgd2lsbCBiZSB1cGRhdGVkLCBsZWF2aW5nIG90aGVyIHByb3BlcnRpZXMgdW5jaGFuZ2VkLiBXaGVuIHVwZGF0aW5nIHBlcm1pc3Npb25zLCB0aGUgbmV3IGxpc3QgcmVwbGFjZXMgYWxsIGV4aXN0aW5nIHBlcm1pc3Npb25zIGZvciB0aGUgcm9sZS5KiQEKAzIwMBKBAQpUUm9sZSB1cGRhdGVkIHN1Y2Nlc3NmdWxseS4gUmV0dXJucyB0aGUgbW9kaWZpZWQgcm9sZSBvYmplY3Qgd2l0aCB1cGRhdGVkIHRpbWVzdGFtcHMuEikKJxolLnNjYWxla2l0LnYxLnJvbGVzLlVwZGF0ZVJvbGVSZXNwb25zZYK1GAIYRILT5JMCIToEcm9sZRoZL2FwaS92MS9yb2xlcy97cm9sZV9uYW1lfRL/BAoHR2V0Um9sZRIhLnNjYWxla2l0LnYxLnJvbGVzLkdldFJvbGVSZXF1ZXN0GiIuc2NhbGVraXQudjEucm9sZXMuR2V0Um9sZVJlc3BvbnNlIqwEkkGBBAoFUm9sZXMSEEdldCByb2xlIGRldGFpbHMaqQJSZXRyaWV2ZXMgY29tcGxldGUgaW5mb3JtYXRpb24gZm9yIGEgc3BlY2lmaWMgcm9sZSBpbmNsdWRpbmcgbWV0YWRhdGEgYW5kIGluaGVyaXRhbmNlIGRldGFpbHMgKGJhc2Ugcm9sZSBhbmQgZGVwZW5kZW50IHJvbGUgY291bnQpLiBVc2UgdGhpcyBlbmRwb2ludCB0byBhdWRpdCByb2xlIGNvbmZpZ3VyYXRpb24gYW5kIHVuZGVyc3RhbmQgdGhlIHJvbGUncyBwbGFjZSBpbiB0aGUgaGllcmFyY2h5LiBUbyB2aWV3IHRoZSByb2xlJ3MgcGVybWlzc2lvbnMsIHVzZSB0aGUgTGlzdFJvbGVQZXJtaXNzaW9ucyBlbmRwb2ludC5KuQEKAzIwMBKxAQqGAVN1Y2Nlc3NmdWxseSByZXRyaWV2ZWQgcm9sZSBkZXRhaWxzLiBSZXR1cm5zIHRoZSByb2xlIG9iamVjdCBpbmNsdWRpbmcgbWV0YWRhdGEgYW5kIGluaGVyaXRhbmNlIGRldGFpbHMuIFBlcm1pc3Npb25zIGFyZSBub3QgaW5jbHVkZWQuEiYKJBoiLnNjYWxla2l0LnYxLnJvbGVzLkdldFJvbGVSZXNwb25zZYK1GAIYRILT5JMCGxIZL2FwaS92MS9yb2xlcy97cm9sZV9uYW1lfRKJBgoJTGlzdFJvbGVzEiMuc2NhbGVraXQudjEucm9sZXMuTGlzdFJvbGVzUmVxdWVzdBokLnNjYWxla2l0LnYxLnJvbGVzLkxpc3RSb2xlc1Jlc3BvbnNlIrAFkkGRBQoFUm9sZXMSHUxpc3QgYWxsIHJvbGVzIGluIGVudmlyb25tZW50GsQDUmV0cmlldmVzIGEgY29tcHJlaGVuc2l2ZSBsaXN0IG9mIGFsbCByb2xlcyBhdmFpbGFibGUgd2l0aGluIHRoZSBzcGVjaWZpZWQgZW52aXJvbm1lbnQgaW5jbHVkaW5nIG9yZ2FuaXphdGlvbiByb2xlcy4gVXNlIHRoaXMgZW5kcG9pbnQgdG8gdmlldyBhbGwgcm9sZSBkZWZpbml0aW9ucywgaW5jbHVkaW5nIGN1c3RvbSByb2xlcyBhbmQgdGhlaXIgY29uZmlndXJhdGlvbnMuIFlvdSBjYW4gb3B0aW9uYWxseSBpbmNsdWRlIHBlcm1pc3Npb24gZGV0YWlscyBmb3IgZWFjaCByb2xlIHRvIHVuZGVyc3RhbmQgdGhlaXIgY2FwYWJpbGl0aWVzLiBUaGlzIGlzIHVzZWZ1bCBmb3Igcm9sZSBtYW5hZ2VtZW50LCBhdWRpdGluZyBvcmdhbml6YXRpb24gYWNjZXNzIGNvbnRyb2xzLCBvciB1bmRlcnN0YW5kaW5nIHRoZSBhdmFpbGFibGUgYWNjZXNzIGxldmVscyB3aXRoaW4gdGhlIG9yZ2FuaXphdGlvbi5KoQEKAzIwMBKZAQptU3VjY2Vzc2Z1bGx5IHJldHJpZXZlZCBsaXN0IG9mIHJvbGVzLiBSZXR1cm5zIGFsbCByb2xlcyB3aXRoIHRoZWlyIG1ldGFkYXRhIGFuZCBvcHRpb25hbGx5IHRoZWlyIHBlcm1pc3Npb25zLhIoCiYaJC5zY2FsZWtpdC52MS5yb2xlcy5MaXN0Um9sZXNSZXNwb25zZYK1GAIYZILT5JMCDxINL2FwaS92MS9yb2xlcxKsBgoKRGVsZXRlUm9sZRIkLnNjYWxla2l0LnYxLnJvbGVzLkRlbGV0ZVJvbGVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5It8FkkG0BQoFUm9sZXMSHkRlbGV0ZSByb2xlIGFuZCByZWFzc2lnbiB1c2Vycxq7BFBlcm1hbmVudGx5IHJlbW92ZXMgYSByb2xlIGZyb20gdGhlIGVudmlyb25tZW50IGFuZCByZWFzc2lnbnMgdXNlcnMgd2hvIGhhZCB0aGF0IHJvbGUgdG8gYSBkaWZmZXJlbnQgcm9sZS4gVXNlIHRoaXMgZW5kcG9pbnQgd2hlbiB5b3UgbmVlZCB0byBjbGVhbiB1cCB1bnVzZWQgcm9sZXMgb3IgcmVzdHJ1Y3R1cmUgeW91ciBhY2Nlc3MgY29udHJvbCBzeXN0ZW0uIFRoZSByb2xlIGNhbm5vdCBiZSBkZWxldGVkIGlmIGl0IGhhcyBkZXBlbmRlbnQgcm9sZXMgKHJvbGVzIHRoYXQgZXh0ZW5kIGl0KSB1bmxlc3MgeW91IHNwZWNpZnkgYSByZXBsYWNlbWVudCByb2xlLiBJZiB1c2VycyBhcmUgYXNzaWduZWQgdG8gdGhlIHJvbGUgYmVpbmcgZGVsZXRlZCwgeW91IG11c3QgcHJvdmlkZSBhIHJlYXNzaWduX3JvbGVfbmFtZSB0byBtb3ZlIHRob3NlIHVzZXJzIHRvIGEgZGlmZmVyZW50IHJvbGUgYmVmb3JlIGRlbGV0aW9uIGNhbiBwcm9jZWVkLiBUaGlzIGFjdGlvbiBjYW5ub3QgYmUgdW5kb25lLCBzbyBlbnN1cmUgbm8gY3JpdGljYWwgdXNlcnMgZGVwZW5kIG9uIHRoZSByb2xlIGJlZm9yZSBkZWxldGlvbi5KTQoDMjAwEkYKRFJvbGUgc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQgYW5kIHVzZXJzIHJlYXNzaWduZWQuIE5vIGNvbnRlbnQgcmV0dXJuZWQugrUYAhhEgtPkkwIbKhkvYXBpL3YxL3JvbGVzL3tyb2xlX25hbWV9EtwGChZDcmVhdGVPcmdhbml6YXRpb25Sb2xlEjAuc2NhbGVraXQudjEucm9sZXMuQ3JlYXRlT3JnYW5pemF0aW9uUm9sZVJlcXVlc3QaMS5zY2FsZWtpdC52MS5yb2xlcy5DcmVhdGVPcmdhbml6YXRpb25Sb2xlUmVzcG9uc2Ui3AWSQaAFCgVSb2xlcxIYQ3JlYXRlIG9yZ2FuaXphdGlvbiByb2xlGscDQ3JlYXRlcyBhIG5ldyByb2xlIHdpdGhpbiB0aGUgc3BlY2lmaWVkIG9yZ2FuaXphdGlvbiB3aXRoIGJhc2ljIGNvbmZpZ3VyYXRpb24gaW5jbHVkaW5nIG5hbWUsIGRpc3BsYXkgbmFtZSwgZGVzY3JpcHRpb24sIGFuZCBwZXJtaXNzaW9ucy4gVXNlIHRoaXMgZW5kcG9pbnQgdG8gZGVmaW5lIGN1c3RvbSByb2xlcyB0aGF0IGNhbiBiZSBhc3NpZ25lZCB0byB1c2VycyB3aXRoaW4gdGhlIG9yZ2FuaXphdGlvbi4gWW91IGNhbiBjcmVhdGUgaGllcmFyY2hpY2FsIHJvbGVzIGJ5IGV4dGVuZGluZyBleGlzdGluZyByb2xlcyBhbmQgYXNzaWduIHNwZWNpZmljIHBlcm1pc3Npb25zIHRvIGNvbnRyb2wgYWNjZXNzIGxldmVscy4gVGhlIHJvbGUgd2lsbCBiZSBzY29wZWQgdG8gdGhlIG9yZ2FuaXphdGlvbiBhbmQgY2FuIGJlIHVzZWQgZm9yIG9yZ2FuaXphdGlvbi1zcGVjaWZpYyBhY2Nlc3MgY29udHJvbC5KsgEKAzIwMRKqAQpxT3JnYW5pemF0aW9uIHJvbGUgY3JlYXRlZCBzdWNjZXNzZnVsbHkuIFJldHVybnMgdGhlIGNvbXBsZXRlIHJvbGUgb2JqZWN0IHdpdGggc3lzdGVtLWdlbmVyYXRlZCBJRCBhbmQgdGltZXN0YW1wcy4SNQozGjEuc2NhbGVraXQudjEucm9sZXMuQ3JlYXRlT3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlgrUYAhhEgtPkkwIsOgRyb2xlIiQvYXBpL3YxL29yZ2FuaXphdGlvbnMve29yZ19pZH0vcm9sZXMStQYKFlVwZGF0ZU9yZ2FuaXphdGlvblJvbGUSMC5zY2FsZWtpdC52MS5yb2xlcy5VcGRhdGVPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBoxLnNjYWxla2l0LnYxLnJvbGVzLlVwZGF0ZU9yZ2FuaXphdGlvblJvbGVSZXNwb25zZSK1BZJB7QQKBVJvbGVzEhhVcGRhdGUgb3JnYW5pemF0aW9uIHJvbGUapANNb2RpZmllcyBhbiBleGlzdGluZyBvcmdhbml6YXRpb24gcm9sZSdzIHByb3BlcnRpZXMgaW5jbHVkaW5nIGRpc3BsYXkgbmFtZSwgZGVzY3JpcHRpb24sIHBlcm1pc3Npb25zLCBhbmQgaW5oZXJpdGFuY2Ugc2V0dGluZ3MuIFVzZSB0aGlzIGVuZHBvaW50IHRvIHVwZGF0ZSByb2xlIG1ldGFkYXRhLCBjaGFuZ2UgcGVybWlzc2lvbiBhc3NpZ25tZW50cywgb3IgbW9kaWZ5IHJvbGUgaGllcmFyY2h5IHdpdGhpbiB0aGUgb3JnYW5pemF0aW9uLiBPbmx5IHRoZSBmaWVsZHMgeW91IHNwZWNpZnkgd2lsbCBiZSB1cGRhdGVkLCBsZWF2aW5nIG90aGVyIHByb3BlcnRpZXMgdW5jaGFuZ2VkLiBXaGVuIHVwZGF0aW5nIHBlcm1pc3Npb25zLCB0aGUgbmV3IGxpc3QgcmVwbGFjZXMgYWxsIGV4aXN0aW5nIHBlcm1pc3Npb25zIGZvciB0aGUgcm9sZS5KogEKAzIwMBKaAQphT3JnYW5pemF0aW9uIHJvbGUgdXBkYXRlZCBzdWNjZXNzZnVsbHkuIFJldHVybnMgdGhlIG1vZGlmaWVkIHJvbGUgb2JqZWN0IHdpdGggdXBkYXRlZCB0aW1lc3RhbXBzLhI1CjMaMS5zY2FsZWtpdC52MS5yb2xlcy5VcGRhdGVPcmdhbml6YXRpb25Sb2xlUmVzcG9uc2WCtRgCGESC0+STAjg6BHJvbGUaMC9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9yb2xlcy97cm9sZV9uYW1lfRKgBwoTR2V0T3JnYW5pemF0aW9uUm9sZRItLnNjYWxla2l0LnYxLnJvbGVzLkdldE9yZ2FuaXphdGlvblJvbGVSZXF1ZXN0Gi4uc2NhbGVraXQudjEucm9sZXMuR2V0T3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlIqkGkkHnBQoFUm9sZXMSHUdldCBvcmdhbml6YXRpb24gcm9sZSBkZXRhaWxzGr8DUmV0cmlldmVzIGNvbXBsZXRlIGluZm9ybWF0aW9uIGZvciBhIHNwZWNpZmljIG9yZ2FuaXphdGlvbiByb2xlIGluY2x1ZGluZyBtZXRhZGF0YSwgaW5oZXJpdGFuY2UgZGV0YWlscywgYW5kIG9wdGlvbmFsbHkgcGVybWlzc2lvbnMuIFVzZSB0aGlzIGVuZHBvaW50IHRvIGF1ZGl0IHJvbGUgY29uZmlndXJhdGlvbiBhbmQgdW5kZXJzdGFuZCB0aGUgcm9sZSdzIHBsYWNlIGluIHRoZSBvcmdhbml6YXRpb24ncyByb2xlIGhpZXJhcmNoeS4gWW91IGNhbiBpbmNsdWRlIHBlcm1pc3Npb24gZGV0YWlscyB0byBzZWUgd2hhdCBjYXBhYmlsaXRpZXMgdGhlIHJvbGUgcHJvdmlkZXMuIFRoaXMgb3BlcmF0aW9uIGlzIHVzZWZ1bCBmb3Igcm9sZSBtYW5hZ2VtZW50LCB1c2VyIGFzc2lnbm1lbnQgZGVjaXNpb25zLCBvciB1bmRlcnN0YW5kaW5nIG9yZ2FuaXphdGlvbiBhY2Nlc3MgY29udHJvbHMuSvwBCgMyMDAS9AEKvQFTdWNjZXNzZnVsbHkgcmV0cmlldmVkIG9yZ2FuaXphdGlvbiByb2xlIGRldGFpbHMuIFJldHVybnMgdGhlIHJvbGUgb2JqZWN0IGluY2x1ZGluZyBtZXRhZGF0YSBhbmQgaW5oZXJpdGFuY2UgZGV0YWlscy4gUGVybWlzc2lvbnMgYXJlIGluY2x1ZGVkIG9ubHkgd2hlbiByZXF1ZXN0ZWQgdmlhIHRoZSBpbmNsdWRlIHBhcmFtZXRlci4SMgowGi4uc2NhbGVraXQudjEucm9sZXMuR2V0T3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlgrUYAhhkgtPkkwIyEjAvYXBpL3YxL29yZ2FuaXphdGlvbnMve29yZ19pZH0vcm9sZXMve3JvbGVfbmFtZX0SowYKFUxpc3RPcmdhbml6YXRpb25Sb2xlcxIvLnNjYWxla2l0LnYxLnJvbGVzLkxpc3RPcmdhbml6YXRpb25Sb2xlc1JlcXVlc3QaMC5zY2FsZWtpdC52MS5yb2xlcy5MaXN0T3JnYW5pemF0aW9uUm9sZXNSZXNwb25zZSKmBZJB8AQKBVJvbGVzEhdMaXN0IG9yZ2FuaXphdGlvbiByb2xlcxqQA1JldHJpZXZlcyBhbGwgZW52aXJvbm1lbnQgcm9sZXMgYW5kIG9yZ2FuaXphdGlvbiBzcGVjaWZpYyByb2xlcy4gVXNlIHRoaXMgZW5kcG9pbnQgdG8gdmlldyBhbGwgcm9sZSBkZWZpbml0aW9ucywgaW5jbHVkaW5nIGN1c3RvbSByb2xlcyBhbmQgdGhlaXIgY29uZmlndXJhdGlvbnMuIFlvdSBjYW4gb3B0aW9uYWxseSBpbmNsdWRlIHBlcm1pc3Npb24gZGV0YWlscyBmb3IgZWFjaCByb2xlIHRvIHVuZGVyc3RhbmQgdGhlaXIgY2FwYWJpbGl0aWVzLiBUaGlzIGlzIHVzZWZ1bCBmb3Igcm9sZSBtYW5hZ2VtZW50LCBhdWRpdGluZyBvcmdhbml6YXRpb24gYWNjZXNzIGNvbnRyb2xzLCBvciB1bmRlcnN0YW5kaW5nIHRoZSBhdmFpbGFibGUgYWNjZXNzIGxldmVscyB3aXRoaW4gdGhlIG9yZ2FuaXphdGlvbi5KugEKAzIwMBKyAQp6U3VjY2Vzc2Z1bGx5IHJldHJpZXZlZCBsaXN0IG9mIG9yZ2FuaXphdGlvbiByb2xlcy4gUmV0dXJucyBhbGwgcm9sZXMgd2l0aCB0aGVpciBtZXRhZGF0YSBhbmQgb3B0aW9uYWxseSB0aGVpciBwZXJtaXNzaW9ucy4SNAoyGjAuc2NhbGVraXQudjEucm9sZXMuTGlzdE9yZ2FuaXphdGlvblJvbGVzUmVzcG9uc2WCtRgCGGSC0+STAiYSJC9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9yb2xlcxKKBgoWRGVsZXRlT3JnYW5pemF0aW9uUm9sZRIwLnNjYWxla2l0LnYxLnJvbGVzLkRlbGV0ZU9yZ2FuaXphdGlvblJvbGVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IqUFkkHjBAoFUm9sZXMSGERlbGV0ZSBvcmdhbml6YXRpb24gcm9sZRrWA1Blcm1hbmVudGx5IHJlbW92ZXMgYSByb2xlIGZyb20gdGhlIG9yZ2FuaXphdGlvbiBhbmQgb3B0aW9uYWxseSByZWFzc2lnbnMgdXNlcnMgd2hvIGhhZCB0aGF0IHJvbGUgdG8gYSBkaWZmZXJlbnQgcm9sZS4gVXNlIHRoaXMgZW5kcG9pbnQgd2hlbiB5b3UgbmVlZCB0byBjbGVhbiB1cCB1bnVzZWQgcm9sZXMgb3IgcmVzdHJ1Y3R1cmUgeW91ciBvcmdhbml6YXRpb24ncyBhY2Nlc3MgY29udHJvbCBzeXN0ZW0uIElmIHVzZXJzIGFyZSBhc3NpZ25lZCB0byB0aGUgcm9sZSBiZWluZyBkZWxldGVkLCB5b3UgY2FuIHByb3ZpZGUgYSByZWFzc2lnbl9yb2xlX25hbWUgdG8gbW92ZSB0aG9zZSB1c2VycyB0byBhIGRpZmZlcmVudCByb2xlIGJlZm9yZSBkZWxldGlvbi4gVGhpcyBhY3Rpb24gY2Fubm90IGJlIHVuZG9uZSwgc28gZW5zdXJlIG5vIGNyaXRpY2FsIHVzZXJzIGRlcGVuZCBvbiB0aGUgcm9sZSBiZWZvcmUgZGVsZXRpb24uSmcKAzIwMBJgCl5Pcmdhbml6YXRpb24gcm9sZSBzdWNjZXNzZnVsbHkgZGVsZXRlZCBhbmQgdXNlcnMgcmVhc3NpZ25lZCBpZiBzcGVjaWZpZWQuIE5vIGNvbnRlbnQgcmV0dXJuZWQugrUYAhhEgtPkkwIyKjAvYXBpL3YxL29yZ2FuaXphdGlvbnMve29yZ19pZH0vcm9sZXMve3JvbGVfbmFtZX0S2wgKEUdldFJvbGVVc2Vyc0NvdW50Eisuc2NhbGVraXQudjEucm9sZXMuR2V0Um9sZVVzZXJzQ291bnRSZXF1ZXN0Giwuc2NhbGVraXQudjEucm9sZXMuR2V0Um9sZVVzZXJzQ291bnRSZXNwb25zZSLqB5JBswcKBVJvbGVzEhxSZXRyaWV2ZSB1c2VyIGNvdW50IGZvciByb2xlGpMFUmV0cmlldmVzIHRoZSB0b3RhbCBudW1iZXIgb2YgdXNlcnMgY3VycmVudGx5IGFzc2lnbmVkIHRvIHRoZSBzcGVjaWZpZWQgcm9sZSB3aXRoaW4gdGhlIGVudmlyb25tZW50LiBVc2UgdGhpcyBlbmRwb2ludCB0byBtb25pdG9yIHJvbGUgdXNhZ2UsIGVuZm9yY2UgdXNlciBsaW1pdHMsIG9yIHVuZGVyc3RhbmQgdGhlIHNjb3BlIG9mIHJvbGUgYXNzaWdubWVudHMuIFByb3ZpZGUgdGhlIHJvbGUncyB1bmlxdWUgbmFtZSBhcyBhIHBhdGggcGFyYW1ldGVyLCBhbmQgdGhlIHJlc3BvbnNlIHdpbGwgaW5jbHVkZSB0aGUgY3VycmVudCB1c2VyIGNvdW50IGZvciB0aGF0IHJvbGUuIFRoaXMgb3BlcmF0aW9uIGlzIHJlYWQtb25seSBhbmQgZG9lcyBub3QgbW9kaWZ5IGFueSBkYXRhIG9yIHVzZXIgYXNzaWdubWVudHMuIFRoZSBjb3VudCByZWZsZWN0cyBhbGwgdXNlcnMgd2hvIGhhdmUgdGhlIHJvbGUgZWl0aGVyIGRpcmVjdGx5IGFzc2lnbmVkIG9yIGluaGVyaXRlZCB0aHJvdWdoIG9yZ2FuaXphdGlvbiBtZW1iZXJzaGlwLiBUaGlzIGluZm9ybWF0aW9uIGlzIHVzZWZ1bCBmb3IgY2FwYWNpdHkgcGxhbm5pbmcsIHNlY3VyaXR5IGF1ZGl0aW5nLCBvciB1bmRlcnN0YW5kaW5nIHRoZSBpbXBhY3Qgb2Ygcm9sZSBjaGFuZ2VzIGFjcm9zcyB5b3VyIHVzZXIgYmFzZS5K9QEKAzIwMBLtAQq4AVN1Y2Nlc3NmdWxseSByZXRyaWV2ZWQgdXNlciBjb3VudCBmb3IgdGhlIHNwZWNpZmllZCByb2xlLiBSZXR1cm5zIHRoZSB0b3RhbCBudW1iZXIgb2YgdXNlcnMgY3VycmVudGx5IGFzc2lnbmVkIHRvIHRoZSByb2xlLCBpbmNsdWRpbmcgYm90aCBkaXJlY3QgYXNzaWdubWVudHMgYW5kIGluaGVyaXRlZCBhc3NpZ25tZW50cy4SMAouGiwuc2NhbGVraXQudjEucm9sZXMuR2V0Um9sZVVzZXJzQ291bnRSZXNwb25zZYK1GAIYRILT5JMCJxIlL2FwaS92MS9yb2xlcy97cm9sZV9uYW1lfS91c2Vyczpjb3VudBKyBwodR2V0T3JnYW5pemF0aW9uUm9sZVVzZXJzQ291bnQSNy5zY2FsZWtpdC52MS5yb2xlcy5HZXRPcmdhbml6YXRpb25Sb2xlVXNlcnNDb3VudFJlcXVlc3QaOC5zY2FsZWtpdC52MS5yb2xlcy5HZXRPcmdhbml6YXRpb25Sb2xlVXNlcnNDb3VudFJlc3BvbnNlIp0GkkHABQoFUm9sZXMSIEdldCBvcmdhbml6YXRpb24gcm9sZSB1c2VyIGNvdW50GsADUmV0cmlldmVzIHRoZSB0b3RhbCBudW1iZXIgb2YgdXNlcnMgY3VycmVudGx5IGFzc2lnbmVkIHRvIHRoZSBzcGVjaWZpZWQgb3JnYW5pemF0aW9uIHJvbGUuIFVzZSB0aGlzIGVuZHBvaW50IHRvIG1vbml0b3Igb3JnYW5pemF0aW9uIHJvbGUgdXNhZ2UsIGVuZm9yY2UgdXNlciBsaW1pdHMsIG9yIHVuZGVyc3RhbmQgdGhlIHNjb3BlIG9mIHJvbGUgYXNzaWdubWVudHMgd2l0aGluIHRoZSBvcmdhbml6YXRpb24uIFByb3ZpZGUgdGhlIG9yZ2FuaXphdGlvbiBJRCBhbmQgcm9sZSBuYW1lIGFzIHBhdGggcGFyYW1ldGVycy4gVGhlIHJlc3BvbnNlIGluY2x1ZGVzIHRoZSB1c2VyIGNvdW50IGZvciB0aGUgcmVxdWVzdGVkIG9yZ2FuaXphdGlvbiByb2xlLiBUaGlzIG9wZXJhdGlvbiBpcyByZWFkLW9ubHkgYW5kIGRvZXMgbm90IG1vZGlmeSBhbnkgZGF0YSBvciB1c2VyIGFzc2lnbm1lbnRzLkrRAQoDMjAwEskBCogBU3VjY2Vzc2Z1bGx5IHJldHJpZXZlZCB1c2VyIGNvdW50IGZvciB0aGUgc3BlY2lmaWVkIG9yZ2FuaXphdGlvbiByb2xlLiBSZXR1cm5zIHRoZSB0b3RhbCBudW1iZXIgb2YgdXNlcnMgY3VycmVudGx5IGFzc2lnbmVkIHRvIHRoZSByb2xlLhI8CjoaOC5zY2FsZWtpdC52MS5yb2xlcy5HZXRPcmdhbml6YXRpb25Sb2xlVXNlcnNDb3VudFJlc3BvbnNlgrUYAhhk+tLkkwIJEgdQUkVWSUVXgtPkkwI+EjwvYXBpL3YxL29yZ2FuaXphdGlvbnMve29yZ19pZH0vcm9sZXMve3JvbGVfbmFtZX0vdXNlcnM6Y291bnQSngYKElVwZGF0ZURlZmF1bHRSb2xlcxIsLnNjYWxla2l0LnYxLnJvbGVzLlVwZGF0ZURlZmF1bHRSb2xlc1JlcXVlc3QaLS5zY2FsZWtpdC52MS5yb2xlcy5VcGRhdGVEZWZhdWx0Um9sZXNSZXNwb25zZSKqBZJB3wQKBVJvbGVzEiRTZXQgZGVmYXVsdCBjcmVhdG9yIGFuZCBtZW1iZXIgcm9sZXMazwNVcGRhdGVzIHRoZSBkZWZhdWx0IGNyZWF0b3IgYW5kIG1lbWJlciByb2xlcyBmb3IgdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuIFVzZSB0aGlzIGVuZHBvaW50IHRvIGNvbmZpZ3VyZSB3aGljaCByb2xlcyBhcmUgYXV0b21hdGljYWxseSBhc3NpZ25lZCB0byBuZXcgdXNlcnMgd2hlbiB0aGV5IGpvaW4gdGhlIGVudmlyb25tZW50LiBZb3UgY2FuIHNwZWNpZnkgcm9sZSBuYW1lcyBmb3IgYm90aCBjcmVhdG9yIGFuZCBtZW1iZXIgZGVmYXVsdCByb2xlcy4gVGhlIHN5c3RlbSB3aWxsIHZhbGlkYXRlIHRoYXQgdGhlIHNwZWNpZmllZCByb2xlcyBleGlzdCBhbmQgdXBkYXRlIHRoZSBlbnZpcm9ubWVudCBzZXR0aW5ncyBhY2NvcmRpbmdseS4gUmV0dXJucyB0aGUgdXBkYXRlZCBkZWZhdWx0IHJvbGUgb2JqZWN0cyBpbmNsdWRpbmcgdGhlaXIgY29tcGxldGUgcm9sZSBpbmZvcm1hdGlvbiBhbmQgcGVybWlzc2lvbnMuSl4KAzIwMBJXCiJEZWZhdWx0IHJvbGVzIHVwZGF0ZWQgc3VjY2Vzc2Z1bGx5EjEKLxotLnNjYWxla2l0LnYxLnJvbGVzLlVwZGF0ZURlZmF1bHRSb2xlc1Jlc3BvbnNlgrUYAhhEgtPkkwI7OgEqWho6ASoyFS9hcGkvdjEvcm9sZXMvZGVmYXVsdDIaL2FwaS92MS9yb2xlczpzZXRfZGVmYXVsdHMSywYKHlVwZGF0ZURlZmF1bHRPcmdhbml6YXRpb25Sb2xlcxI4LnNjYWxla2l0LnYxLnJvbGVzLlVwZGF0ZURlZmF1bHRPcmdhbml6YXRpb25Sb2xlc1JlcXVlc3QaOS5zY2FsZWtpdC52MS5yb2xlcy5VcGRhdGVEZWZhdWx0T3JnYW5pemF0aW9uUm9sZXNSZXNwb25zZSKzBZJB7QQKBVJvbGVzEh5TZXQgZGVmYXVsdCBvcmdhbml6YXRpb24gcm9sZXMa+AJVcGRhdGVzIHRoZSBkZWZhdWx0IG1lbWJlciByb2xlIGZvciB0aGUgc3BlY2lmaWVkIG9yZ2FuaXphdGlvbi4gVXNlIHRoaXMgZW5kcG9pbnQgdG8gY29uZmlndXJlIHdoaWNoIHJvbGUgaXMgYXV0b21hdGljYWxseSBhc3NpZ25lZCB0byBuZXcgdXNlcnMgd2hlbiB0aGV5IGpvaW4gdGhlIG9yZ2FuaXphdGlvbi4gVGhlIHN5c3RlbSB3aWxsIHZhbGlkYXRlIHRoYXQgdGhlIHNwZWNpZmllZCByb2xlIGV4aXN0cyBhbmQgdXBkYXRlIHRoZSBvcmdhbml6YXRpb24gc2V0dGluZ3MgYWNjb3JkaW5nbHkuIFRoaXMgY29uZmlndXJhdGlvbiBhZmZlY3RzIGFsbCBuZXcgdXNlciBpbnZpdGF0aW9ucyBhbmQgbWVtYmVyc2hpcHMgd2l0aGluIHRoZSBvcmdhbml6YXRpb24uSsgBCgMyMDASwAEKf0RlZmF1bHQgb3JnYW5pemF0aW9uIHJvbGVzIHVwZGF0ZWQgc3VjY2Vzc2Z1bGx5LiBSZXR1cm5zIHRoZSB1cGRhdGVkIGRlZmF1bHQgbWVtYmVyIHJvbGUgb2JqZWN0IHdpdGggY29tcGxldGUgcm9sZSBpbmZvcm1hdGlvbi4SPQo7Gjkuc2NhbGVraXQudjEucm9sZXMuVXBkYXRlRGVmYXVsdE9yZ2FuaXphdGlvblJvbGVzUmVzcG9uc2WCtRgCGESC0+STAjY6ASoyMS9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9yb2xlczpzZXRfZGVmYXVsdHMSpAgKEkxpc3REZXBlbmRlbnRSb2xlcxIsLnNjYWxla2l0LnYxLnJvbGVzLkxpc3REZXBlbmRlbnRSb2xlc1JlcXVlc3QaLS5zY2FsZWtpdC52MS5yb2xlcy5MaXN0RGVwZW5kZW50Um9sZXNSZXNwb25zZSKwB5JB+gYKBVJvbGVzEhRMaXN0IGRlcGVuZGVudCByb2xlcxr8BFJldHJpZXZlcyBhbGwgcm9sZXMgdGhhdCBkaXJlY3RseSBleHRlbmQgdGhlIHNwZWNpZmllZCBiYXNlIHJvbGUgdGhyb3VnaCBpbmhlcml0YW5jZS4gVXNlIHRoaXMgZW5kcG9pbnQgdG8gdW5kZXJzdGFuZCB0aGUgcm9sZSBoaWVyYXJjaHkgYW5kIGlkZW50aWZ5IHdoaWNoIHJvbGVzIGluaGVyaXQgcGVybWlzc2lvbnMgZnJvbSBhIHBhcnRpY3VsYXIgYmFzZSByb2xlLiBQcm92aWRlIHRoZSBiYXNlIHJvbGUgbmFtZSBhcyBhIHBhdGggcGFyYW1ldGVyLCBhbmQgdGhlIHJlc3BvbnNlIHdpbGwgaW5jbHVkZSBhbGwgZGVwZW5kZW50IHJvbGVzIHdpdGggdGhlaXIgbWV0YWRhdGEgYW5kIHBlcm1pc3Npb24gaW5mb3JtYXRpb24uIFRoaXMgb3BlcmF0aW9uIGlzIHVzZWZ1bCBmb3IgYXVkaXRpbmcgcm9sZSBpbmhlcml0YW5jZSByZWxhdGlvbnNoaXBzLCB1bmRlcnN0YW5kaW5nIHRoZSBpbXBhY3Qgb2YgY2hhbmdlcyB0byBiYXNlIHJvbGVzLCBvciBtYW5hZ2luZyByb2xlIGhpZXJhcmNoaWVzIGVmZmVjdGl2ZWx5LiBSZXR1cm5zIGEgbGlzdCBvZiBkZXBlbmRlbnQgcm9sZSBvYmplY3RzIGluY2x1ZGluZyB0aGVpciBuYW1lcywgZGlzcGxheSBuYW1lcywgZGVzY3JpcHRpb25zLCBhbmQgcGVybWlzc2lvbiBkZXRhaWxzLkrbAQoDMjAwEtMBCp0BU3VjY2Vzc2Z1bGx5IHJldHJpZXZlZCBkZXBlbmRlbnQgcm9sZXMuIFJldHVybnMgYSBsaXN0IG9mIGFsbCByb2xlcyB0aGF0IGV4dGVuZCB0aGUgc3BlY2lmaWVkIGJhc2Ugcm9sZSwgaW5jbHVkaW5nIHRoZWlyIG1ldGFkYXRhIGFuZCBwZXJtaXNzaW9uIGluZm9ybWF0aW9uLhIxCi8aLS5zY2FsZWtpdC52MS5yb2xlcy5MaXN0RGVwZW5kZW50Um9sZXNSZXNwb25zZYK1GAIYZILT5JMCJhIkL2FwaS92MS9yb2xlcy97cm9sZV9uYW1lfS9kZXBlbmRlbnRzErcGCg5EZWxldGVSb2xlQmFzZRIoLnNjYWxla2l0LnYxLnJvbGVzLkRlbGV0ZVJvbGVCYXNlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSLiBZJBsgUKBVJvbGVzEiREZWxldGUgcm9sZSBpbmhlcml0YW5jZSByZWxhdGlvbnNoaXAahgRSZW1vdmVzIHRoZSBiYXNlIHJvbGUgaW5oZXJpdGFuY2UgcmVsYXRpb25zaGlwIGZvciBhIHNwZWNpZmllZCByb2xlLCBlZmZlY3RpdmVseSBlbGltaW5hdGluZyBhbGwgaW5oZXJpdGVkIHBlcm1pc3Npb25zIGZyb20gdGhlIGJhc2Ugcm9sZS4gVXNlIHRoaXMgZW5kcG9pbnQgd2hlbiB5b3Ugd2FudCB0byBicmVhayB0aGUgaGllcmFyY2hpY2FsIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHJvbGVzIGFuZCByZW1vdmUgaW5oZXJpdGVkIHBlcm1pc3Npb25zLiBUaGUgcm9sZSB3aWxsIHJldGFpbiBvbmx5IGl0cyBkaXJlY3RseSBhc3NpZ25lZCBwZXJtaXNzaW9ucyBhZnRlciB0aGlzIG9wZXJhdGlvbi4gVGhpcyBhY3Rpb24gY2Fubm90IGJlIHVuZG9uZSwgc28gZW5zdXJlIHRoZSByb2xlIGhhcyBzdWZmaWNpZW50IGRpcmVjdCBwZXJtaXNzaW9ucyBiZWZvcmUgcmVtb3ZpbmcgaW5oZXJpdGFuY2UuIFJldHVybnMgbm8gY29udGVudCBvbiBzdWNjZXNzZnVsIHJlbW92YWwgb2YgdGhlIGJhc2UgcmVsYXRpb25zaGlwLkp6CgMyMDAScwpxQmFzZSByb2xlIGluaGVyaXRhbmNlIHJlbGF0aW9uc2hpcCBzdWNjZXNzZnVsbHkgcmVtb3ZlZC4gVGhlIHJvbGUgbm93IGhhcyBvbmx5IGl0cyBkaXJlY3RseSBhc3NpZ25lZCBwZXJtaXNzaW9ucy6CtRgCGESC0+STAiAqHi9hcGkvdjEvcm9sZXMve3JvbGVfbmFtZX0vYmFzZRLmBgoaRGVsZXRlT3JnYW5pemF0aW9uUm9sZUJhc2USNC5zY2FsZWtpdC52MS5yb2xlcy5EZWxldGVPcmdhbml6YXRpb25Sb2xlQmFzZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHki+QWSQaMFCgVSb2xlcxIkUmVtb3ZlIG9yZ2FuaXphdGlvbiByb2xlIGluaGVyaXRhbmNlGugDUmVtb3ZlcyB0aGUgYmFzZSByb2xlIGluaGVyaXRhbmNlIHJlbGF0aW9uc2hpcCBmb3IgYSBzcGVjaWZpZWQgb3JnYW5pemF0aW9uIHJvbGUsIGVmZmVjdGl2ZWx5IGVsaW1pbmF0aW5nIGFsbCBpbmhlcml0ZWQgcGVybWlzc2lvbnMgZnJvbSB0aGUgYmFzZSByb2xlLiBVc2UgdGhpcyBlbmRwb2ludCB3aGVuIHlvdSB3YW50IHRvIGJyZWFrIHRoZSBoaWVyYXJjaGljYWwgcmVsYXRpb25zaGlwIGJldHdlZW4gcm9sZXMgYW5kIHJlbW92ZSBpbmhlcml0ZWQgcGVybWlzc2lvbnMgd2l0aGluIHRoZSBvcmdhbml6YXRpb24uIFRoZSByb2xlIHdpbGwgcmV0YWluIG9ubHkgaXRzIGRpcmVjdGx5IGFzc2lnbmVkIHBlcm1pc3Npb25zIGFmdGVyIHRoaXMgb3BlcmF0aW9uLiBUaGlzIGFjdGlvbiBjYW5ub3QgYmUgdW5kb25lLCBzbyBlbnN1cmUgdGhlIHJvbGUgaGFzIHN1ZmZpY2llbnQgZGlyZWN0IHBlcm1pc3Npb25zIGJlZm9yZSByZW1vdmluZyBpbmhlcml0YW5jZS5KiAEKAzIwMBKAAQp+T3JnYW5pemF0aW9uIHJvbGUgYmFzZSBpbmhlcml0YW5jZSByZWxhdGlvbnNoaXAgc3VjY2Vzc2Z1bGx5IHJlbW92ZWQuIFRoZSByb2xlIG5vdyBoYXMgb25seSBpdHMgZGlyZWN0bHkgYXNzaWduZWQgcGVybWlzc2lvbnMugrUYAhhE+tLkkwIJEgdQUkVWSUVXgtPkkwI3KjUvYXBpL3YxL29yZ2FuaXphdGlvbnMve29yZ19pZH0vcm9sZXMve3JvbGVfbmFtZX0vYmFzZRLPBwoQQ3JlYXRlUGVybWlzc2lvbhIqLnNjYWxla2l0LnYxLnJvbGVzLkNyZWF0ZVBlcm1pc3Npb25SZXF1ZXN0Gisuc2NhbGVraXQudjEucm9sZXMuQ3JlYXRlUGVybWlzc2lvblJlc3BvbnNlIuEGkkGwBgoLUGVybWlzc2lvbnMSFUNyZWF0ZSBuZXcgcGVybWlzc2lvbhrGBENyZWF0ZXMgYSBuZXcgcGVybWlzc2lvbiB0aGF0IHJlcHJlc2VudHMgYSBzcGVjaWZpYyBhY3Rpb24gdXNlcnMgY2FuIHBlcmZvcm0gd2l0aGluIHRoZSBlbnZpcm9ubWVudC4gVXNlIHRoaXMgZW5kcG9pbnQgdG8gZGVmaW5lIGdyYW51bGFyIGFjY2VzcyBjb250cm9scyBmb3IgeW91ciBSQkFDIHN5c3RlbS4gWW91IGNhbiBwcm92aWRlIGEgdW5pcXVlIHBlcm1pc3Npb24gbmFtZSBmb2xsb3dpbmcgdGhlIGZvcm1hdCAnYWN0aW9uOnJlc291cmNlJyAoZm9yIGV4YW1wbGUsICdyZWFkOmRvY3VtZW50cycsICd3cml0ZTp1c2VycycpIGFuZCBhbiBvcHRpb25hbCBkZXNjcmlwdGlvbiBleHBsYWluaW5nIHRoZSBwZXJtaXNzaW9uJ3MgcHVycG9zZS4gVGhlIHBlcm1pc3Npb24gbmFtZSBtdXN0IGJlIHVuaXF1ZSBhY3Jvc3MgdGhlIGVudmlyb25tZW50IGFuZCBmb2xsb3dzIGFscGhhbnVtZXJpYyBuYW1pbmcgY29udmVudGlvbnMgd2l0aCBjb2xvbnMgYW5kIHVuZGVyc2NvcmVzLiBSZXR1cm5zIHRoZSBjcmVhdGVkIHBlcm1pc3Npb24gb2JqZWN0IGluY2x1ZGluZyBzeXN0ZW0tZ2VuZXJhdGVkIElEIGFuZCB0aW1lc3RhbXBzLkrAAQoDMjAxErgBCoQBUGVybWlzc2lvbiBjcmVhdGVkIHN1Y2Nlc3NmdWxseS4gUmV0dXJucyB0aGUgY29tcGxldGUgcGVybWlzc2lvbiBvYmplY3Qgd2l0aCBzeXN0ZW0tZ2VuZXJhdGVkIElELCBuYW1lLCBkZXNjcmlwdGlvbiwgYW5kIHRpbWVzdGFtcHMuEi8KLRorLnNjYWxla2l0LnYxLnJvbGVzLkNyZWF0ZVBlcm1pc3Npb25SZXNwb25zZYK1GAIYRILT5JMCIToKcGVybWlzc2lvbiITL2FwaS92MS9wZXJtaXNzaW9ucxK9BwoNR2V0UGVybWlzc2lvbhInLnNjYWxla2l0LnYxLnJvbGVzLkdldFBlcm1pc3Npb25SZXF1ZXN0Giguc2NhbGVraXQudjEucm9sZXMuR2V0UGVybWlzc2lvblJlc3BvbnNlItgGkkGhBgoLUGVybWlzc2lvbnMSG1JldHJpZXZlIHBlcm1pc3Npb24gZGV0YWlscxqqBFJldHJpZXZlcyBjb21wbGV0ZSBpbmZvcm1hdGlvbiBmb3IgYSBzcGVjaWZpYyBwZXJtaXNzaW9uIGJ5IGl0cyB1bmlxdWUgbmFtZSBpZGVudGlmaWVyLiBVc2UgdGhpcyBlbmRwb2ludCB0byB2aWV3IHBlcm1pc3Npb24gZGV0YWlscyBpbmNsdWRpbmcgZGVzY3JpcHRpb24sIGNyZWF0aW9uIHRpbWUsIGFuZCBsYXN0IHVwZGF0ZSB0aW1lLiBQcm92aWRlIHRoZSBwZXJtaXNzaW9uIG5hbWUgaW4gdGhlIHBhdGggcGFyYW1ldGVyIGZvbGxvd2luZyB0aGUgZm9ybWF0ICdhY3Rpb246cmVzb3VyY2UnIChmb3IgZXhhbXBsZSwgJ3JlYWQ6ZG9jdW1lbnRzJykuIFRoaXMgb3BlcmF0aW9uIGlzIHVzZWZ1bCBmb3IgYXVkaXRpbmcgcGVybWlzc2lvbiBkZWZpbml0aW9ucywgdW5kZXJzdGFuZGluZyBwZXJtaXNzaW9uIHB1cnBvc2VzLCBvciB2ZXJpZnlpbmcgcGVybWlzc2lvbiBleGlzdGVuY2UgYmVmb3JlIGFzc2lnbm1lbnQuIFJldHVybnMgdGhlIGNvbXBsZXRlIHBlcm1pc3Npb24gb2JqZWN0IHdpdGggYWxsIG1ldGFkYXRhIGFuZCBzeXN0ZW0tZ2VuZXJhdGVkIHRpbWVzdGFtcHMuSscBCgMyMDASvwEKjgFTdWNjZXNzZnVsbHkgcmV0cmlldmVkIHBlcm1pc3Npb24gZGV0YWlscy4gUmV0dXJucyB0aGUgY29tcGxldGUgcGVybWlzc2lvbiBvYmplY3QgaW5jbHVkaW5nIG5hbWUsIGRlc2NyaXB0aW9uLCBjcmVhdGlvbiB0aW1lLCBhbmQgdXBkYXRlIHRpbWUuEiwKKhooLnNjYWxla2l0LnYxLnJvbGVzLkdldFBlcm1pc3Npb25SZXNwb25zZYK1GAIYRILT5JMCJxIlL2FwaS92MS9wZXJtaXNzaW9ucy97cGVybWlzc2lvbl9uYW1lfRKDCAoQVXBkYXRlUGVybWlzc2lvbhIqLnNjYWxla2l0LnYxLnJvbGVzLlVwZGF0ZVBlcm1pc3Npb25SZXF1ZXN0Gisuc2NhbGVraXQudjEucm9sZXMuVXBkYXRlUGVybWlzc2lvblJlc3BvbnNlIpUHkkHSBgoLUGVybWlzc2lvbnMSGVVwZGF0ZSBwZXJtaXNzaW9uIGRldGFpbHMa+QRNb2RpZmllcyBhbiBleGlzdGluZyBwZXJtaXNzaW9uJ3MgYXR0cmlidXRlcyBpbmNsdWRpbmcgZGVzY3JpcHRpb24gYW5kIG1ldGFkYXRhLiBVc2UgdGhpcyBlbmRwb2ludCB0byB1cGRhdGUgcGVybWlzc2lvbiBkZXNjcmlwdGlvbnMgb3IgY2xhcmlmeSBwZXJtaXNzaW9uIHB1cnBvc2VzIGFmdGVyIGNyZWF0aW9uLiBUaGUgcGVybWlzc2lvbiBpcyBpZGVudGlmaWVkIGJ5IGl0cyB1bmlxdWUgbmFtZSBpbiB0aGUgcGF0aCBwYXJhbWV0ZXIsIGFuZCBvbmx5IHRoZSBmaWVsZHMgeW91IHNwZWNpZnkgaW4gdGhlIHJlcXVlc3QgYm9keSB3aWxsIGJlIHVwZGF0ZWQuIE5vdGUgdGhhdCB0aGUgcGVybWlzc2lvbiBuYW1lIGl0c2VsZiBjYW5ub3QgYmUgY2hhbmdlZCBhcyBpdCBzZXJ2ZXMgYXMgdGhlIGltbXV0YWJsZSBpZGVudGlmaWVyLiBUaGlzIG9wZXJhdGlvbiBpcyB1c2VmdWwgZm9yIG1haW50YWluaW5nIGNsZWFyIGRvY3VtZW50YXRpb24gb2YgcGVybWlzc2lvbiBwdXJwb3NlcyBvciB1cGRhdGluZyBkZXNjcmlwdGlvbnMgdG8gcmVmbGVjdCBjaGFuZ2VzIGluIHN5c3RlbSBmdW5jdGlvbmFsaXR5LiBSZXR1cm5zIHRoZSB1cGRhdGVkIHBlcm1pc3Npb24gb2JqZWN0IHdpdGggbW9kaWZpZWQgdGltZXN0YW1wcy5KqwEKAzIwMBKjAQpwUGVybWlzc2lvbiB1cGRhdGVkIHN1Y2Nlc3NmdWxseS4gUmV0dXJucyB0aGUgbW9kaWZpZWQgcGVybWlzc2lvbiBvYmplY3Qgd2l0aCB1cGRhdGVkIGRlc2NyaXB0aW9uIGFuZCB0aW1lc3RhbXBzLhIvCi0aKy5zY2FsZWtpdC52MS5yb2xlcy5VcGRhdGVQZXJtaXNzaW9uUmVzcG9uc2WCtRgCGESC0+STAjM6CnBlcm1pc3Npb24aJS9hcGkvdjEvcGVybWlzc2lvbnMve3Blcm1pc3Npb25fbmFtZX0S8QcKD0xpc3RQZXJtaXNzaW9ucxIpLnNjYWxla2l0LnYxLnJvbGVzLkxpc3RQZXJtaXNzaW9uc1JlcXVlc3QaKi5zY2FsZWtpdC52MS5yb2xlcy5MaXN0UGVybWlzc2lvbnNSZXNwb25zZSKGB5JB4QYKC1Blcm1pc3Npb25zEhRMaXN0IGFsbCBwZXJtaXNzaW9ucxrrBFJldHJpZXZlcyBhIGNvbXByZWhlbnNpdmUsIHBhZ2luYXRlZCBsaXN0IG9mIGFsbCBwZXJtaXNzaW9ucyBhdmFpbGFibGUgd2l0aGluIHRoZSBlbnZpcm9ubWVudC4gVXNlIHRoaXMgZW5kcG9pbnQgdG8gdmlldyBhbGwgcGVybWlzc2lvbiBkZWZpbml0aW9ucyBmb3IgYXVkaXRpbmcsIHJvbGUgbWFuYWdlbWVudCwgb3IgdW5kZXJzdGFuZGluZyB0aGUgY29tcGxldGUgc2V0IG9mIGF2YWlsYWJsZSBhY2Nlc3MgY29udHJvbHMuIFRoZSByZXNwb25zZSBpbmNsdWRlcyBwYWdpbmF0aW9uIHRva2VucyB0byBuYXZpZ2F0ZSB0aHJvdWdoIGxhcmdlIHNldHMgb2YgcGVybWlzc2lvbnMgZWZmaWNpZW50bHkuIEVhY2ggcGVybWlzc2lvbiBvYmplY3QgY29udGFpbnMgdGhlIHBlcm1pc3Npb24gbmFtZSwgZGVzY3JpcHRpb24sIGNyZWF0aW9uIHRpbWUsIGFuZCBsYXN0IHVwZGF0ZSB0aW1lLiBUaGlzIG9wZXJhdGlvbiBpcyB1c2VmdWwgZm9yIGJ1aWxkaW5nIHBlcm1pc3Npb24gc2VsZWN0aW9uIGludGVyZmFjZXMsIGF1ZGl0aW5nIHBlcm1pc3Npb24gdXNhZ2UsIG9yIHVuZGVyc3RhbmRpbmcgdGhlIHNjb3BlIG9mIGF2YWlsYWJsZSBhY2Nlc3MgY29udHJvbHMgaW4geW91ciBSQkFDIHN5c3RlbS5KzQEKAzIwMBLFAQqSAVN1Y2Nlc3NmdWxseSByZXRyaWV2ZWQgdGhlIGxpc3Qgb2YgcGVybWlzc2lvbnMuIFJldHVybnMgYSBwYWdpbmF0ZWQgbGlzdCBvZiBwZXJtaXNzaW9uIG9iamVjdHMgd2l0aCBtZXRhZGF0YSBhbmQgcGFnaW5hdGlvbiB0b2tlbnMgZm9yIG5hdmlnYXRpb24uEi4KLBoqLnNjYWxla2l0LnYxLnJvbGVzLkxpc3RQZXJtaXNzaW9uc1Jlc3BvbnNlgrUYAhhEgtPkkwIVEhMvYXBpL3YxL3Blcm1pc3Npb25zEtAGChBEZWxldGVQZXJtaXNzaW9uEiouc2NhbGVraXQudjEucm9sZXMuRGVsZXRlUGVybWlzc2lvblJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHki9wWSQcAFCgtQZXJtaXNzaW9ucxIRRGVsZXRlIHBlcm1pc3Npb24a3QRQZXJtYW5lbnRseSByZW1vdmVzIGEgcGVybWlzc2lvbiBmcm9tIHRoZSBlbnZpcm9ubWVudCB1c2luZyBpdHMgdW5pcXVlIG5hbWUgaWRlbnRpZmllci4gVXNlIHRoaXMgZW5kcG9pbnQgd2hlbiB5b3UgbmVlZCB0byBjbGVhbiB1cCB1bnVzZWQgcGVybWlzc2lvbnMgb3IgcmVtb3ZlIGFjY2VzcyBjb250cm9scyB0aGF0IGFyZSBubyBsb25nZXIgcmVsZXZhbnQuIFRoZSBwZXJtaXNzaW9uIGlzIGlkZW50aWZpZWQgYnkgaXRzIG5hbWUgaW4gdGhlIHBhdGggcGFyYW1ldGVyIGZvbGxvd2luZyB0aGUgZm9ybWF0ICdhY3Rpb246cmVzb3VyY2UnLiBUaGlzIG9wZXJhdGlvbiBjYW5ub3QgYmUgdW5kb25lLCBzbyBlbnN1cmUgbm8gYWN0aXZlIHJvbGVzIGRlcGVuZCBvbiB0aGUgcGVybWlzc2lvbiBiZWZvcmUgZGVsZXRpb24uIElmIHRoZSBwZXJtaXNzaW9uIGlzIGN1cnJlbnRseSBhc3NpZ25lZCB0byBhbnkgcm9sZXMsIHlvdSBtYXkgbmVlZCB0byByZW1vdmUgdGhvc2UgYXNzaWdubWVudHMgZmlyc3Qgb3IgdXBkYXRlIHRoZSByb2xlcyB0byB1c2UgYWx0ZXJuYXRpdmUgcGVybWlzc2lvbnMuIFJldHVybnMgbm8gY29udGVudCBvbiBzdWNjZXNzZnVsIGRlbGV0aW9uLko+CgMyMDASNwo1UGVybWlzc2lvbiBzdWNjZXNzZnVsbHkgZGVsZXRlZC4gTm8gY29udGVudCByZXR1cm5lZC6CtRgCGESC0+STAicqJS9hcGkvdjEvcGVybWlzc2lvbnMve3Blcm1pc3Npb25fbmFtZX0SgAkKE0xpc3RSb2xlUGVybWlzc2lvbnMSLS5zY2FsZWtpdC52MS5yb2xlcy5MaXN0Um9sZVBlcm1pc3Npb25zUmVxdWVzdBouLnNjYWxla2l0LnYxLnJvbGVzLkxpc3RSb2xlUGVybWlzc2lvbnNSZXNwb25zZSKJCJJB0gcKBVJvbGVzEhlMaXN0IHBlcm1pc3Npb25zIGZvciByb2xlGtcFUmV0cmlldmVzIGFsbCBwZXJtaXNzaW9ucyBkaXJlY3RseSBhc3NpZ25lZCB0byB0aGUgc3BlY2lmaWVkIHJvbGUsIGV4Y2x1ZGluZyBwZXJtaXNzaW9ucyBpbmhlcml0ZWQgZnJvbSBiYXNlIHJvbGVzLiBVc2UgdGhpcyBlbmRwb2ludCB0byB2aWV3IHRoZSBleHBsaWNpdCBwZXJtaXNzaW9uIGFzc2lnbm1lbnRzIGZvciBhIHJvbGUsIHdoaWNoIGlzIHVzZWZ1bCBmb3IgdW5kZXJzdGFuZGluZyBkaXJlY3Qgcm9sZSBjYXBhYmlsaXRpZXMsIGF1ZGl0aW5nIHBlcm1pc3Npb24gYXNzaWdubWVudHMsIG9yIG1hbmFnaW5nIHJvbGUtcGVybWlzc2lvbiByZWxhdGlvbnNoaXBzLiBQcm92aWRlIHRoZSByb2xlIG5hbWUgYXMgYSBwYXRoIHBhcmFtZXRlciwgYW5kIHRoZSByZXNwb25zZSB3aWxsIGluY2x1ZGUgb25seSB0aGUgcGVybWlzc2lvbnMgdGhhdCBhcmUgZGlyZWN0bHkgYXNzaWduZWQgdG8gdGhhdCByb2xlLiBUaGlzIG9wZXJhdGlvbiBkb2VzIG5vdCBpbmNsdWRlIGluaGVyaXRlZCBwZXJtaXNzaW9ucyBmcm9tIHJvbGUgaGllcmFyY2hpZXMgLSB1c2UgTGlzdEVmZmVjdGl2ZVJvbGVQZXJtaXNzaW9ucyB0byBzZWUgdGhlIGNvbXBsZXRlIHNldCBvZiBwZXJtaXNzaW9ucyBpbmNsdWRpbmcgaW5oZXJpdGFuY2UuIFJldHVybnMgYSBsaXN0IG9mIHBlcm1pc3Npb24gb2JqZWN0cyB3aXRoIHRoZWlyIG5hbWVzLCBkZXNjcmlwdGlvbnMsIGFuZCBhc3NpZ25tZW50IG1ldGFkYXRhLkrTAQoDMjAwEssBCpQBU3VjY2Vzc2Z1bGx5IHJldHJpZXZlZCByb2xlIHBlcm1pc3Npb25zLiBSZXR1cm5zIGEgbGlzdCBvZiBhbGwgcGVybWlzc2lvbnMgZGlyZWN0bHkgYXNzaWduZWQgdG8gdGhlIHNwZWNpZmllZCByb2xlLCBleGNsdWRpbmcgaW5oZXJpdGVkIHBlcm1pc3Npb25zLhIyCjAaLi5zY2FsZWtpdC52MS5yb2xlcy5MaXN0Um9sZVBlcm1pc3Npb25zUmVzcG9uc2WCtRgCGESC0+STAicSJS9hcGkvdjEvcm9sZXMve3JvbGVfbmFtZX0vcGVybWlzc2lvbnMS+ggKFEFkZFBlcm1pc3Npb25zVG9Sb2xlEi4uc2NhbGVraXQudjEucm9sZXMuQWRkUGVybWlzc2lvbnNUb1JvbGVSZXF1ZXN0Gi8uc2NhbGVraXQudjEucm9sZXMuQWRkUGVybWlzc2lvbnNUb1JvbGVSZXNwb25zZSKACJJBxgcKBVJvbGVzEhdBZGQgcGVybWlzc2lvbnMgdG8gcm9sZRq9BUFkZHMgb25lIG9yIG1vcmUgcGVybWlzc2lvbnMgdG8gdGhlIHNwZWNpZmllZCByb2xlIHdoaWxlIHByZXNlcnZpbmcgZXhpc3RpbmcgcGVybWlzc2lvbiBhc3NpZ25tZW50cy4gVXNlIHRoaXMgZW5kcG9pbnQgdG8gZ3JhbnQgYWRkaXRpb25hbCBjYXBhYmlsaXRpZXMgdG8gYSByb2xlIHdpdGhvdXQgYWZmZWN0aW5nIGl0cyBjdXJyZW50IHBlcm1pc3Npb24gc2V0LiBQcm92aWRlIHRoZSByb2xlIG5hbWUgYXMgYSBwYXRoIHBhcmFtZXRlciBhbmQgYSBsaXN0IG9mIHBlcm1pc3Npb24gbmFtZXMgaW4gdGhlIHJlcXVlc3QgYm9keS4gVGhlIHN5c3RlbSB3aWxsIHZhbGlkYXRlIHRoYXQgYWxsIHNwZWNpZmllZCBwZXJtaXNzaW9ucyBleGlzdCBpbiB0aGUgZW52aXJvbm1lbnQgYW5kIGFkZCB0aGVtIHRvIHRoZSByb2xlLiBFeGlzdGluZyBwZXJtaXNzaW9uIGFzc2lnbm1lbnRzIHJlbWFpbiB1bmNoYW5nZWQsIG1ha2luZyB0aGlzIG9wZXJhdGlvbiBzYWZlIGZvciBpbmNyZW1lbnRhbCBwZXJtaXNzaW9uIG1hbmFnZW1lbnQuIFRoaXMgaXMgdXNlZnVsIGZvciBncmFkdWFsbHkgZXhwYW5kaW5nIHJvbGUgY2FwYWJpbGl0aWVzIG9yIGFkZGluZyBuZXcgcGVybWlzc2lvbnMgYXMgeW91ciBzeXN0ZW0gZXZvbHZlcy4gUmV0dXJucyB0aGUgdXBkYXRlZCBsaXN0IG9mIGFsbCBwZXJtaXNzaW9ucyBub3cgYXNzaWduZWQgdG8gdGhlIHJvbGUuSuMBCgMyMDAS2wEKowFQZXJtaXNzaW9ucyBhZGRlZCB0byByb2xlIHN1Y2Nlc3NmdWxseS4gUmV0dXJucyB0aGUgY29tcGxldGUgbGlzdCBvZiBhbGwgcGVybWlzc2lvbnMgbm93IGFzc2lnbmVkIHRvIHRoZSByb2xlLCBpbmNsdWRpbmcgYm90aCBleGlzdGluZyBhbmQgbmV3bHkgYWRkZWQgcGVybWlzc2lvbnMuEjMKMRovLnNjYWxla2l0LnYxLnJvbGVzLkFkZFBlcm1pc3Npb25zVG9Sb2xlUmVzcG9uc2WCtRgCGESC0+STAio6ASoiJS9hcGkvdjEvcm9sZXMve3JvbGVfbmFtZX0vcGVybWlzc2lvbnMStwcKGFJlbW92ZVBlcm1pc3Npb25Gcm9tUm9sZRIyLnNjYWxla2l0LnYxLnJvbGVzLlJlbW92ZVBlcm1pc3Npb25Gcm9tUm9sZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkizgaSQYUGCgVSb2xlcxIbUmVtb3ZlIHBlcm1pc3Npb24gZnJvbSByb2xlGpQFUmVtb3ZlcyBhIHNwZWNpZmljIHBlcm1pc3Npb24gZnJvbSB0aGUgc3BlY2lmaWVkIHJvbGUsIHJldm9raW5nIHRoYXQgY2FwYWJpbGl0eSBmcm9tIGFsbCB1c2VycyBhc3NpZ25lZCB0byB0aGUgcm9sZS4gVXNlIHRoaXMgZW5kcG9pbnQgdG8gcmVzdHJpY3Qgcm9sZSBjYXBhYmlsaXRpZXMgb3IgcmVtb3ZlIHVubmVjZXNzYXJ5IHBlcm1pc3Npb25zLiBQcm92aWRlIGJvdGggdGhlIHJvbGUgbmFtZSBhbmQgcGVybWlzc2lvbiBuYW1lIGFzIHBhdGggcGFyYW1ldGVycy4gVGhpcyBvcGVyYXRpb24gb25seSBhZmZlY3RzIHRoZSBkaXJlY3QgcGVybWlzc2lvbiBhc3NpZ25tZW50IGFuZCBkb2VzIG5vdCBpbXBhY3QgcGVybWlzc2lvbnMgaW5oZXJpdGVkIGZyb20gYmFzZSByb2xlcy4gSWYgdGhlIHBlcm1pc3Npb24gaXMgaW5oZXJpdGVkIHRocm91Z2ggcm9sZSBoaWVyYXJjaHksIHlvdSBtYXkgbmVlZCB0byBtb2RpZnkgdGhlIGJhc2Ugcm9sZSBpbnN0ZWFkLiBUaGlzIGlzIHVzZWZ1bCBmb3IgZmluZS10dW5pbmcgcm9sZSBwZXJtaXNzaW9ucywgaW1wbGVtZW50aW5nIGxlYXN0LXByaXZpbGVnZSBhY2Nlc3MgY29udHJvbHMsIG9yIHJlbW92aW5nIGRlcHJlY2F0ZWQgcGVybWlzc2lvbnMuIFJldHVybnMgbm8gY29udGVudCBvbiBzdWNjZXNzZnVsIHJlbW92YWwuSkgKAzIwMBJBCj9QZXJtaXNzaW9uIHJlbW92ZWQgZnJvbSByb2xlIHN1Y2Nlc3NmdWxseS4gTm8gY29udGVudCByZXR1cm5lZC6CtRgCGESC0+STAjkqNy9hcGkvdjEvcm9sZXMve3JvbGVfbmFtZX0vcGVybWlzc2lvbnMve3Blcm1pc3Npb25fbmFtZX0S3wkKHExpc3RFZmZlY3RpdmVSb2xlUGVybWlzc2lvbnMSNi5zY2FsZWtpdC52MS5yb2xlcy5MaXN0RWZmZWN0aXZlUm9sZVBlcm1pc3Npb25zUmVxdWVzdBo3LnNjYWxla2l0LnYxLnJvbGVzLkxpc3RFZmZlY3RpdmVSb2xlUGVybWlzc2lvbnNSZXNwb25zZSLNCJJBkggKBVJvbGVzEiNMaXN0IGVmZmVjdGl2ZSBwZXJtaXNzaW9ucyBmb3Igcm9sZRrZBVJldHJpZXZlcyB0aGUgY29tcGxldGUgc2V0IG9mIGVmZmVjdGl2ZSBwZXJtaXNzaW9ucyBmb3IgYSByb2xlLCBpbmNsdWRpbmcgYm90aCBkaXJlY3RseSBhc3NpZ25lZCBwZXJtaXNzaW9ucyBhbmQgcGVybWlzc2lvbnMgaW5oZXJpdGVkIGZyb20gYmFzZSByb2xlcyB0aHJvdWdoIHRoZSByb2xlIGhpZXJhcmNoeS4gVXNlIHRoaXMgZW5kcG9pbnQgdG8gdW5kZXJzdGFuZCB0aGUgZnVsbCBzY29wZSBvZiBjYXBhYmlsaXRpZXMgYXZhaWxhYmxlIHRvIHVzZXJzIGFzc2lnbmVkIHRvIGEgc3BlY2lmaWMgcm9sZS4gUHJvdmlkZSB0aGUgcm9sZSBuYW1lIGFzIGEgcGF0aCBwYXJhbWV0ZXIsIGFuZCB0aGUgcmVzcG9uc2Ugd2lsbCBpbmNsdWRlIGFsbCBwZXJtaXNzaW9ucyB0aGF0IGFwcGx5IHRvIHRoZSByb2xlLCBhY2NvdW50aW5nIGZvciBpbmhlcml0YW5jZSByZWxhdGlvbnNoaXBzLiBUaGlzIG9wZXJhdGlvbiBpcyBlc3NlbnRpYWwgZm9yIGF1ZGl0aW5nIHJvbGUgY2FwYWJpbGl0aWVzLCB1bmRlcnN0YW5kaW5nIHBlcm1pc3Npb24gaW5oZXJpdGFuY2UsIG9yIHZlcmlmeWluZyB0aGUgY29tcGxldGUgYWNjZXNzIHNjb3BlIGJlZm9yZSByb2xlIGFzc2lnbm1lbnQuIFJldHVybnMgYSBjb21wcmVoZW5zaXZlIGxpc3Qgb2YgcGVybWlzc2lvbiBuYW1lcyByZXByZXNlbnRpbmcgdGhlIGZ1bGwgc2V0IG9mIGVmZmVjdGl2ZSBwZXJtaXNzaW9ucyBmb3IgdGhlIHNwZWNpZmllZCByb2xlLkqHAgoDMjAwEv8BCr8BU3VjY2Vzc2Z1bGx5IHJldHJpZXZlZCBlZmZlY3RpdmUgcGVybWlzc2lvbnMuIFJldHVybnMgdGhlIGNvbXBsZXRlIGxpc3Qgb2YgYWxsIHBlcm1pc3Npb25zIHRoYXQgYXBwbHkgdG8gdGhlIHJvbGUsIGluY2x1ZGluZyBib3RoIGRpcmVjdCBhc3NpZ25tZW50cyBhbmQgaW5oZXJpdGVkIHBlcm1pc3Npb25zIGZyb20gYmFzZSByb2xlcy4SOwo5Gjcuc2NhbGVraXQudjEucm9sZXMuTGlzdEVmZmVjdGl2ZVJvbGVQZXJtaXNzaW9uc1Jlc3BvbnNlgrUYAhhEgtPkkwIrEikvYXBpL3YxL3JvbGVzL3tyb2xlX25hbWV9L3Blcm1pc3Npb25zOmFsbBriApJB3gIKBVJvbGVzEtQCUm9sZS1iYXNlZCBhY2Nlc3MgY29udHJvbCAoUkJBQykgZm9yIGRlZmluaW5nIGFuZCBtYW5hZ2luZyBwZXJtaXNzaW9ucyBpbiBhbiBlbnZpcm9ubWVudC4gQ3JlYXRlIGFuZCB1cGRhdGUgY3VzdG9tIHJvbGVzIHdpdGggZXhwbGljaXQgcGVybWlzc2lvbnMsIG1vZGVsIHJvbGUgaGllcmFyY2hpZXMgdGhyb3VnaCBpbmhlcml0YW5jZSwgdmlldyBkZXBlbmRlbnQgcm9sZXMsIG1hbmFnZSByb2xlLXBlcm1pc3Npb24gYXNzaWdubWVudHMsIGFuZCBsaXN0IHJvbGVzIGFuZCBwZXJtaXNzaW9ucy4gQWxzbyBwcm92aWRlcyBhIHV0aWxpdHkgdG8gY291bnQgdXNlcnMgYXNzaWduZWQgdG8gYSByb2xlLkIxWi9naXRodWIuY29tL3NjYWxla2l0LWluYy9zY2FsZWtpdC9wa2cvZ3JwYy9yb2xlc2IGcHJvdG8z", [file_buf_validate_validate, file_google_api_annotations, file_google_api_field_behavior, file_google_api_visibility, file_google_protobuf_empty, file_google_protobuf_timestamp, file_protoc_gen_openapiv2_options_annotations, file_scalekit_v1_options_options]);
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* @generated from message scalekit.v1.roles.Role
|
|
25
|
-
*/
|
|
26
|
-
export type Role = Message<"scalekit.v1.roles.Role"> & {
|
|
27
|
-
/**
|
|
28
|
-
* @generated from field: string id = 1;
|
|
29
|
-
*/
|
|
30
|
-
id: string;
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* @generated from field: string name = 2;
|
|
34
|
-
*/
|
|
35
|
-
name: string;
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* @generated from field: string display_name = 3;
|
|
39
|
-
*/
|
|
40
|
-
displayName: string;
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* @generated from field: string description = 4;
|
|
44
|
-
*/
|
|
45
|
-
description: string;
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* @generated from field: bool default_creator = 6;
|
|
49
|
-
*/
|
|
50
|
-
defaultCreator: boolean;
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* @generated from field: bool default_member = 7;
|
|
54
|
-
*/
|
|
55
|
-
defaultMember: boolean;
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* @generated from field: optional string extends = 8;
|
|
59
|
-
*/
|
|
60
|
-
extends?: string;
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* @generated from field: repeated scalekit.v1.roles.RolePermission permissions = 9;
|
|
64
|
-
*/
|
|
65
|
-
permissions: RolePermission[];
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* @generated from field: int32 dependent_roles_count = 10;
|
|
69
|
-
*/
|
|
70
|
-
dependentRolesCount: number;
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* @generated from field: bool is_org_role = 11;
|
|
74
|
-
*/
|
|
75
|
-
isOrgRole: boolean;
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Describes the message scalekit.v1.roles.Role.
|
|
80
|
-
* Use `create(RoleSchema)` to create a new message.
|
|
81
|
-
*/
|
|
82
|
-
export const RoleSchema: GenMessage<Role> = /*@__PURE__*/
|
|
83
|
-
messageDesc(file_scalekit_v1_roles_roles, 0);
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* @generated from message scalekit.v1.roles.CreateRole
|
|
87
|
-
*/
|
|
88
|
-
export type CreateRole = Message<"scalekit.v1.roles.CreateRole"> & {
|
|
89
|
-
/**
|
|
90
|
-
* @generated from field: string name = 2;
|
|
91
|
-
*/
|
|
92
|
-
name: string;
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* @generated from field: string display_name = 3;
|
|
96
|
-
*/
|
|
97
|
-
displayName: string;
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* @generated from field: optional string description = 4;
|
|
101
|
-
*/
|
|
102
|
-
description?: string;
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* @generated from field: optional string extends = 8;
|
|
106
|
-
*/
|
|
107
|
-
extends?: string;
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* @generated from field: repeated string permissions = 9;
|
|
111
|
-
*/
|
|
112
|
-
permissions: string[];
|
|
113
|
-
};
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* Describes the message scalekit.v1.roles.CreateRole.
|
|
117
|
-
* Use `create(CreateRoleSchema)` to create a new message.
|
|
118
|
-
*/
|
|
119
|
-
export const CreateRoleSchema: GenMessage<CreateRole> = /*@__PURE__*/
|
|
120
|
-
messageDesc(file_scalekit_v1_roles_roles, 1);
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* @generated from message scalekit.v1.roles.CreateOrganizationRole
|
|
124
|
-
*/
|
|
125
|
-
export type CreateOrganizationRole = Message<"scalekit.v1.roles.CreateOrganizationRole"> & {
|
|
126
|
-
/**
|
|
127
|
-
* @generated from field: string name = 2;
|
|
128
|
-
*/
|
|
129
|
-
name: string;
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
* @generated from field: string display_name = 3;
|
|
133
|
-
*/
|
|
134
|
-
displayName: string;
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* @generated from field: optional string description = 4;
|
|
138
|
-
*/
|
|
139
|
-
description?: string;
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* @generated from field: optional string extends = 8;
|
|
143
|
-
*/
|
|
144
|
-
extends?: string;
|
|
145
|
-
|
|
146
|
-
/**
|
|
147
|
-
* @generated from field: repeated string permissions = 9;
|
|
148
|
-
*/
|
|
149
|
-
permissions: string[];
|
|
150
|
-
};
|
|
151
|
-
|
|
152
|
-
/**
|
|
153
|
-
* Describes the message scalekit.v1.roles.CreateOrganizationRole.
|
|
154
|
-
* Use `create(CreateOrganizationRoleSchema)` to create a new message.
|
|
155
|
-
*/
|
|
156
|
-
export const CreateOrganizationRoleSchema: GenMessage<CreateOrganizationRole> = /*@__PURE__*/
|
|
157
|
-
messageDesc(file_scalekit_v1_roles_roles, 2);
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* @generated from message scalekit.v1.roles.CreateRoleRequest
|
|
161
|
-
*/
|
|
162
|
-
export type CreateRoleRequest = Message<"scalekit.v1.roles.CreateRoleRequest"> & {
|
|
163
|
-
/**
|
|
164
|
-
* @generated from field: scalekit.v1.roles.CreateRole role = 2;
|
|
165
|
-
*/
|
|
166
|
-
role?: CreateRole;
|
|
167
|
-
};
|
|
168
|
-
|
|
169
|
-
/**
|
|
170
|
-
* Describes the message scalekit.v1.roles.CreateRoleRequest.
|
|
171
|
-
* Use `create(CreateRoleRequestSchema)` to create a new message.
|
|
172
|
-
*/
|
|
173
|
-
export const CreateRoleRequestSchema: GenMessage<CreateRoleRequest> = /*@__PURE__*/
|
|
174
|
-
messageDesc(file_scalekit_v1_roles_roles, 3);
|
|
175
|
-
|
|
176
|
-
/**
|
|
177
|
-
* @generated from message scalekit.v1.roles.CreateRoleResponse
|
|
178
|
-
*/
|
|
179
|
-
export type CreateRoleResponse = Message<"scalekit.v1.roles.CreateRoleResponse"> & {
|
|
180
|
-
/**
|
|
181
|
-
* @generated from field: scalekit.v1.roles.Role role = 1;
|
|
182
|
-
*/
|
|
183
|
-
role?: Role;
|
|
184
|
-
};
|
|
185
|
-
|
|
186
|
-
/**
|
|
187
|
-
* Describes the message scalekit.v1.roles.CreateRoleResponse.
|
|
188
|
-
* Use `create(CreateRoleResponseSchema)` to create a new message.
|
|
189
|
-
*/
|
|
190
|
-
export const CreateRoleResponseSchema: GenMessage<CreateRoleResponse> = /*@__PURE__*/
|
|
191
|
-
messageDesc(file_scalekit_v1_roles_roles, 4);
|
|
192
|
-
|
|
193
|
-
/**
|
|
194
|
-
* @generated from message scalekit.v1.roles.GetRoleRequest
|
|
195
|
-
*/
|
|
196
|
-
export type GetRoleRequest = Message<"scalekit.v1.roles.GetRoleRequest"> & {
|
|
197
|
-
/**
|
|
198
|
-
* @generated from field: string role_name = 2;
|
|
199
|
-
*/
|
|
200
|
-
roleName: string;
|
|
201
|
-
|
|
202
|
-
/**
|
|
203
|
-
* @generated from field: optional string include = 3;
|
|
204
|
-
*/
|
|
205
|
-
include?: string;
|
|
206
|
-
};
|
|
207
|
-
|
|
208
|
-
/**
|
|
209
|
-
* Describes the message scalekit.v1.roles.GetRoleRequest.
|
|
210
|
-
* Use `create(GetRoleRequestSchema)` to create a new message.
|
|
211
|
-
*/
|
|
212
|
-
export const GetRoleRequestSchema: GenMessage<GetRoleRequest> = /*@__PURE__*/
|
|
213
|
-
messageDesc(file_scalekit_v1_roles_roles, 5);
|
|
214
|
-
|
|
215
|
-
/**
|
|
216
|
-
* @generated from message scalekit.v1.roles.GetRoleResponse
|
|
217
|
-
*/
|
|
218
|
-
export type GetRoleResponse = Message<"scalekit.v1.roles.GetRoleResponse"> & {
|
|
219
|
-
/**
|
|
220
|
-
* @generated from field: scalekit.v1.roles.Role role = 1;
|
|
221
|
-
*/
|
|
222
|
-
role?: Role;
|
|
223
|
-
};
|
|
224
|
-
|
|
225
|
-
/**
|
|
226
|
-
* Describes the message scalekit.v1.roles.GetRoleResponse.
|
|
227
|
-
* Use `create(GetRoleResponseSchema)` to create a new message.
|
|
228
|
-
*/
|
|
229
|
-
export const GetRoleResponseSchema: GenMessage<GetRoleResponse> = /*@__PURE__*/
|
|
230
|
-
messageDesc(file_scalekit_v1_roles_roles, 6);
|
|
231
|
-
|
|
232
|
-
/**
|
|
233
|
-
* @generated from message scalekit.v1.roles.ListRolesRequest
|
|
234
|
-
*/
|
|
235
|
-
export type ListRolesRequest = Message<"scalekit.v1.roles.ListRolesRequest"> & {
|
|
236
|
-
/**
|
|
237
|
-
* @generated from field: optional string include = 2;
|
|
238
|
-
*/
|
|
239
|
-
include?: string;
|
|
240
|
-
};
|
|
241
|
-
|
|
242
|
-
/**
|
|
243
|
-
* Describes the message scalekit.v1.roles.ListRolesRequest.
|
|
244
|
-
* Use `create(ListRolesRequestSchema)` to create a new message.
|
|
245
|
-
*/
|
|
246
|
-
export const ListRolesRequestSchema: GenMessage<ListRolesRequest> = /*@__PURE__*/
|
|
247
|
-
messageDesc(file_scalekit_v1_roles_roles, 7);
|
|
248
|
-
|
|
249
|
-
/**
|
|
250
|
-
* @generated from message scalekit.v1.roles.ListRolesResponse
|
|
251
|
-
*/
|
|
252
|
-
export type ListRolesResponse = Message<"scalekit.v1.roles.ListRolesResponse"> & {
|
|
253
|
-
/**
|
|
254
|
-
* @generated from field: repeated scalekit.v1.roles.Role roles = 1;
|
|
255
|
-
*/
|
|
256
|
-
roles: Role[];
|
|
257
|
-
};
|
|
258
|
-
|
|
259
|
-
/**
|
|
260
|
-
* Describes the message scalekit.v1.roles.ListRolesResponse.
|
|
261
|
-
* Use `create(ListRolesResponseSchema)` to create a new message.
|
|
262
|
-
*/
|
|
263
|
-
export const ListRolesResponseSchema: GenMessage<ListRolesResponse> = /*@__PURE__*/
|
|
264
|
-
messageDesc(file_scalekit_v1_roles_roles, 8);
|
|
265
|
-
|
|
266
|
-
/**
|
|
267
|
-
* @generated from message scalekit.v1.roles.UpdateRole
|
|
268
|
-
*/
|
|
269
|
-
export type UpdateRole = Message<"scalekit.v1.roles.UpdateRole"> & {
|
|
270
|
-
/**
|
|
271
|
-
* @generated from field: optional string display_name = 1;
|
|
272
|
-
*/
|
|
273
|
-
displayName?: string;
|
|
274
|
-
|
|
275
|
-
/**
|
|
276
|
-
* @generated from field: optional string description = 2;
|
|
277
|
-
*/
|
|
278
|
-
description?: string;
|
|
279
|
-
|
|
280
|
-
/**
|
|
281
|
-
* @generated from field: optional string extends = 6;
|
|
282
|
-
*/
|
|
283
|
-
extends?: string;
|
|
284
|
-
|
|
285
|
-
/**
|
|
286
|
-
* @generated from field: repeated string permissions = 7;
|
|
287
|
-
*/
|
|
288
|
-
permissions: string[];
|
|
289
|
-
};
|
|
290
|
-
|
|
291
|
-
/**
|
|
292
|
-
* Describes the message scalekit.v1.roles.UpdateRole.
|
|
293
|
-
* Use `create(UpdateRoleSchema)` to create a new message.
|
|
294
|
-
*/
|
|
295
|
-
export const UpdateRoleSchema: GenMessage<UpdateRole> = /*@__PURE__*/
|
|
296
|
-
messageDesc(file_scalekit_v1_roles_roles, 9);
|
|
297
|
-
|
|
298
|
-
/**
|
|
299
|
-
* @generated from message scalekit.v1.roles.UpdateRoleRequest
|
|
300
|
-
*/
|
|
301
|
-
export type UpdateRoleRequest = Message<"scalekit.v1.roles.UpdateRoleRequest"> & {
|
|
302
|
-
/**
|
|
303
|
-
* @generated from field: string role_name = 2;
|
|
304
|
-
*/
|
|
305
|
-
roleName: string;
|
|
306
|
-
|
|
307
|
-
/**
|
|
308
|
-
* @generated from field: scalekit.v1.roles.UpdateRole role = 3;
|
|
309
|
-
*/
|
|
310
|
-
role?: UpdateRole;
|
|
311
|
-
};
|
|
312
|
-
|
|
313
|
-
/**
|
|
314
|
-
* Describes the message scalekit.v1.roles.UpdateRoleRequest.
|
|
315
|
-
* Use `create(UpdateRoleRequestSchema)` to create a new message.
|
|
316
|
-
*/
|
|
317
|
-
export const UpdateRoleRequestSchema: GenMessage<UpdateRoleRequest> = /*@__PURE__*/
|
|
318
|
-
messageDesc(file_scalekit_v1_roles_roles, 10);
|
|
319
|
-
|
|
320
|
-
/**
|
|
321
|
-
* @generated from message scalekit.v1.roles.UpdateRoleResponse
|
|
322
|
-
*/
|
|
323
|
-
export type UpdateRoleResponse = Message<"scalekit.v1.roles.UpdateRoleResponse"> & {
|
|
324
|
-
/**
|
|
325
|
-
* @generated from field: scalekit.v1.roles.Role role = 1;
|
|
326
|
-
*/
|
|
327
|
-
role?: Role;
|
|
328
|
-
};
|
|
329
|
-
|
|
330
|
-
/**
|
|
331
|
-
* Describes the message scalekit.v1.roles.UpdateRoleResponse.
|
|
332
|
-
* Use `create(UpdateRoleResponseSchema)` to create a new message.
|
|
333
|
-
*/
|
|
334
|
-
export const UpdateRoleResponseSchema: GenMessage<UpdateRoleResponse> = /*@__PURE__*/
|
|
335
|
-
messageDesc(file_scalekit_v1_roles_roles, 11);
|
|
336
|
-
|
|
337
|
-
/**
|
|
338
|
-
* @generated from message scalekit.v1.roles.DeleteRoleRequest
|
|
339
|
-
*/
|
|
340
|
-
export type DeleteRoleRequest = Message<"scalekit.v1.roles.DeleteRoleRequest"> & {
|
|
341
|
-
/**
|
|
342
|
-
* @generated from field: string role_name = 2;
|
|
343
|
-
*/
|
|
344
|
-
roleName: string;
|
|
345
|
-
|
|
346
|
-
/**
|
|
347
|
-
* @generated from field: optional string reassign_role_id = 3 [deprecated = true];
|
|
348
|
-
* @deprecated
|
|
349
|
-
*/
|
|
350
|
-
reassignRoleId?: string;
|
|
351
|
-
|
|
352
|
-
/**
|
|
353
|
-
* @generated from field: optional string reassign_role_name = 4;
|
|
354
|
-
*/
|
|
355
|
-
reassignRoleName?: string;
|
|
356
|
-
};
|
|
357
|
-
|
|
358
|
-
/**
|
|
359
|
-
* Describes the message scalekit.v1.roles.DeleteRoleRequest.
|
|
360
|
-
* Use `create(DeleteRoleRequestSchema)` to create a new message.
|
|
361
|
-
*/
|
|
362
|
-
export const DeleteRoleRequestSchema: GenMessage<DeleteRoleRequest> = /*@__PURE__*/
|
|
363
|
-
messageDesc(file_scalekit_v1_roles_roles, 12);
|
|
364
|
-
|
|
365
|
-
/**
|
|
366
|
-
* @generated from message scalekit.v1.roles.CreateOrganizationRoleRequest
|
|
367
|
-
*/
|
|
368
|
-
export type CreateOrganizationRoleRequest = Message<"scalekit.v1.roles.CreateOrganizationRoleRequest"> & {
|
|
369
|
-
/**
|
|
370
|
-
* @generated from field: string org_id = 1;
|
|
371
|
-
*/
|
|
372
|
-
orgId: string;
|
|
373
|
-
|
|
374
|
-
/**
|
|
375
|
-
* @generated from field: scalekit.v1.roles.CreateOrganizationRole role = 2;
|
|
376
|
-
*/
|
|
377
|
-
role?: CreateOrganizationRole;
|
|
378
|
-
};
|
|
379
|
-
|
|
380
|
-
/**
|
|
381
|
-
* Describes the message scalekit.v1.roles.CreateOrganizationRoleRequest.
|
|
382
|
-
* Use `create(CreateOrganizationRoleRequestSchema)` to create a new message.
|
|
383
|
-
*/
|
|
384
|
-
export const CreateOrganizationRoleRequestSchema: GenMessage<CreateOrganizationRoleRequest> = /*@__PURE__*/
|
|
385
|
-
messageDesc(file_scalekit_v1_roles_roles, 13);
|
|
386
|
-
|
|
387
|
-
/**
|
|
388
|
-
* @generated from message scalekit.v1.roles.CreateOrganizationRoleResponse
|
|
389
|
-
*/
|
|
390
|
-
export type CreateOrganizationRoleResponse = Message<"scalekit.v1.roles.CreateOrganizationRoleResponse"> & {
|
|
391
|
-
/**
|
|
392
|
-
* @generated from field: scalekit.v1.roles.Role role = 1;
|
|
393
|
-
*/
|
|
394
|
-
role?: Role;
|
|
395
|
-
};
|
|
396
|
-
|
|
397
|
-
/**
|
|
398
|
-
* Describes the message scalekit.v1.roles.CreateOrganizationRoleResponse.
|
|
399
|
-
* Use `create(CreateOrganizationRoleResponseSchema)` to create a new message.
|
|
400
|
-
*/
|
|
401
|
-
export const CreateOrganizationRoleResponseSchema: GenMessage<CreateOrganizationRoleResponse> = /*@__PURE__*/
|
|
402
|
-
messageDesc(file_scalekit_v1_roles_roles, 14);
|
|
403
|
-
|
|
404
|
-
/**
|
|
405
|
-
* @generated from message scalekit.v1.roles.GetOrganizationRoleRequest
|
|
406
|
-
*/
|
|
407
|
-
export type GetOrganizationRoleRequest = Message<"scalekit.v1.roles.GetOrganizationRoleRequest"> & {
|
|
408
|
-
/**
|
|
409
|
-
* @generated from field: string org_id = 1;
|
|
410
|
-
*/
|
|
411
|
-
orgId: string;
|
|
412
|
-
|
|
413
|
-
/**
|
|
414
|
-
* @generated from field: string role_name = 2;
|
|
415
|
-
*/
|
|
416
|
-
roleName: string;
|
|
417
|
-
|
|
418
|
-
/**
|
|
419
|
-
* @generated from field: optional string include = 3;
|
|
420
|
-
*/
|
|
421
|
-
include?: string;
|
|
422
|
-
};
|
|
423
|
-
|
|
424
|
-
/**
|
|
425
|
-
* Describes the message scalekit.v1.roles.GetOrganizationRoleRequest.
|
|
426
|
-
* Use `create(GetOrganizationRoleRequestSchema)` to create a new message.
|
|
427
|
-
*/
|
|
428
|
-
export const GetOrganizationRoleRequestSchema: GenMessage<GetOrganizationRoleRequest> = /*@__PURE__*/
|
|
429
|
-
messageDesc(file_scalekit_v1_roles_roles, 15);
|
|
430
|
-
|
|
431
|
-
/**
|
|
432
|
-
* @generated from message scalekit.v1.roles.GetOrganizationRoleResponse
|
|
433
|
-
*/
|
|
434
|
-
export type GetOrganizationRoleResponse = Message<"scalekit.v1.roles.GetOrganizationRoleResponse"> & {
|
|
435
|
-
/**
|
|
436
|
-
* @generated from field: scalekit.v1.roles.Role role = 1;
|
|
437
|
-
*/
|
|
438
|
-
role?: Role;
|
|
439
|
-
};
|
|
440
|
-
|
|
441
|
-
/**
|
|
442
|
-
* Describes the message scalekit.v1.roles.GetOrganizationRoleResponse.
|
|
443
|
-
* Use `create(GetOrganizationRoleResponseSchema)` to create a new message.
|
|
444
|
-
*/
|
|
445
|
-
export const GetOrganizationRoleResponseSchema: GenMessage<GetOrganizationRoleResponse> = /*@__PURE__*/
|
|
446
|
-
messageDesc(file_scalekit_v1_roles_roles, 16);
|
|
447
|
-
|
|
448
|
-
/**
|
|
449
|
-
* @generated from message scalekit.v1.roles.ListOrganizationRolesRequest
|
|
450
|
-
*/
|
|
451
|
-
export type ListOrganizationRolesRequest = Message<"scalekit.v1.roles.ListOrganizationRolesRequest"> & {
|
|
452
|
-
/**
|
|
453
|
-
* @generated from field: string org_id = 1;
|
|
454
|
-
*/
|
|
455
|
-
orgId: string;
|
|
456
|
-
|
|
457
|
-
/**
|
|
458
|
-
* @generated from field: optional string include = 2;
|
|
459
|
-
*/
|
|
460
|
-
include?: string;
|
|
461
|
-
};
|
|
462
|
-
|
|
463
|
-
/**
|
|
464
|
-
* Describes the message scalekit.v1.roles.ListOrganizationRolesRequest.
|
|
465
|
-
* Use `create(ListOrganizationRolesRequestSchema)` to create a new message.
|
|
466
|
-
*/
|
|
467
|
-
export const ListOrganizationRolesRequestSchema: GenMessage<ListOrganizationRolesRequest> = /*@__PURE__*/
|
|
468
|
-
messageDesc(file_scalekit_v1_roles_roles, 17);
|
|
469
|
-
|
|
470
|
-
/**
|
|
471
|
-
* @generated from message scalekit.v1.roles.ListOrganizationRolesResponse
|
|
472
|
-
*/
|
|
473
|
-
export type ListOrganizationRolesResponse = Message<"scalekit.v1.roles.ListOrganizationRolesResponse"> & {
|
|
474
|
-
/**
|
|
475
|
-
* @generated from field: repeated scalekit.v1.roles.Role roles = 1;
|
|
476
|
-
*/
|
|
477
|
-
roles: Role[];
|
|
478
|
-
};
|
|
479
|
-
|
|
480
|
-
/**
|
|
481
|
-
* Describes the message scalekit.v1.roles.ListOrganizationRolesResponse.
|
|
482
|
-
* Use `create(ListOrganizationRolesResponseSchema)` to create a new message.
|
|
483
|
-
*/
|
|
484
|
-
export const ListOrganizationRolesResponseSchema: GenMessage<ListOrganizationRolesResponse> = /*@__PURE__*/
|
|
485
|
-
messageDesc(file_scalekit_v1_roles_roles, 18);
|
|
486
|
-
|
|
487
|
-
/**
|
|
488
|
-
* @generated from message scalekit.v1.roles.UpdateOrganizationRoleRequest
|
|
489
|
-
*/
|
|
490
|
-
export type UpdateOrganizationRoleRequest = Message<"scalekit.v1.roles.UpdateOrganizationRoleRequest"> & {
|
|
491
|
-
/**
|
|
492
|
-
* @generated from field: string org_id = 1;
|
|
493
|
-
*/
|
|
494
|
-
orgId: string;
|
|
495
|
-
|
|
496
|
-
/**
|
|
497
|
-
* @generated from field: string role_name = 2;
|
|
498
|
-
*/
|
|
499
|
-
roleName: string;
|
|
500
|
-
|
|
501
|
-
/**
|
|
502
|
-
* @generated from field: scalekit.v1.roles.UpdateRole role = 3;
|
|
503
|
-
*/
|
|
504
|
-
role?: UpdateRole;
|
|
505
|
-
};
|
|
506
|
-
|
|
507
|
-
/**
|
|
508
|
-
* Describes the message scalekit.v1.roles.UpdateOrganizationRoleRequest.
|
|
509
|
-
* Use `create(UpdateOrganizationRoleRequestSchema)` to create a new message.
|
|
510
|
-
*/
|
|
511
|
-
export const UpdateOrganizationRoleRequestSchema: GenMessage<UpdateOrganizationRoleRequest> = /*@__PURE__*/
|
|
512
|
-
messageDesc(file_scalekit_v1_roles_roles, 19);
|
|
513
|
-
|
|
514
|
-
/**
|
|
515
|
-
* @generated from message scalekit.v1.roles.UpdateOrganizationRoleResponse
|
|
516
|
-
*/
|
|
517
|
-
export type UpdateOrganizationRoleResponse = Message<"scalekit.v1.roles.UpdateOrganizationRoleResponse"> & {
|
|
518
|
-
/**
|
|
519
|
-
* @generated from field: scalekit.v1.roles.Role role = 1;
|
|
520
|
-
*/
|
|
521
|
-
role?: Role;
|
|
522
|
-
};
|
|
523
|
-
|
|
524
|
-
/**
|
|
525
|
-
* Describes the message scalekit.v1.roles.UpdateOrganizationRoleResponse.
|
|
526
|
-
* Use `create(UpdateOrganizationRoleResponseSchema)` to create a new message.
|
|
527
|
-
*/
|
|
528
|
-
export const UpdateOrganizationRoleResponseSchema: GenMessage<UpdateOrganizationRoleResponse> = /*@__PURE__*/
|
|
529
|
-
messageDesc(file_scalekit_v1_roles_roles, 20);
|
|
530
|
-
|
|
531
|
-
/**
|
|
532
|
-
* @generated from message scalekit.v1.roles.DeleteOrganizationRoleRequest
|
|
533
|
-
*/
|
|
534
|
-
export type DeleteOrganizationRoleRequest = Message<"scalekit.v1.roles.DeleteOrganizationRoleRequest"> & {
|
|
535
|
-
/**
|
|
536
|
-
* @generated from field: string org_id = 1;
|
|
537
|
-
*/
|
|
538
|
-
orgId: string;
|
|
539
|
-
|
|
540
|
-
/**
|
|
541
|
-
* @generated from field: string role_name = 2;
|
|
542
|
-
*/
|
|
543
|
-
roleName: string;
|
|
544
|
-
|
|
545
|
-
/**
|
|
546
|
-
* @generated from field: optional string reassign_role_name = 3;
|
|
547
|
-
*/
|
|
548
|
-
reassignRoleName?: string;
|
|
549
|
-
};
|
|
550
|
-
|
|
551
|
-
/**
|
|
552
|
-
* Describes the message scalekit.v1.roles.DeleteOrganizationRoleRequest.
|
|
553
|
-
* Use `create(DeleteOrganizationRoleRequestSchema)` to create a new message.
|
|
554
|
-
*/
|
|
555
|
-
export const DeleteOrganizationRoleRequestSchema: GenMessage<DeleteOrganizationRoleRequest> = /*@__PURE__*/
|
|
556
|
-
messageDesc(file_scalekit_v1_roles_roles, 21);
|
|
557
|
-
|
|
558
|
-
/**
|
|
559
|
-
* @generated from message scalekit.v1.roles.GetRoleUsersCountRequest
|
|
560
|
-
*/
|
|
561
|
-
export type GetRoleUsersCountRequest = Message<"scalekit.v1.roles.GetRoleUsersCountRequest"> & {
|
|
562
|
-
/**
|
|
563
|
-
* @generated from field: string role_name = 2;
|
|
564
|
-
*/
|
|
565
|
-
roleName: string;
|
|
566
|
-
};
|
|
567
|
-
|
|
568
|
-
/**
|
|
569
|
-
* Describes the message scalekit.v1.roles.GetRoleUsersCountRequest.
|
|
570
|
-
* Use `create(GetRoleUsersCountRequestSchema)` to create a new message.
|
|
571
|
-
*/
|
|
572
|
-
export const GetRoleUsersCountRequestSchema: GenMessage<GetRoleUsersCountRequest> = /*@__PURE__*/
|
|
573
|
-
messageDesc(file_scalekit_v1_roles_roles, 22);
|
|
574
|
-
|
|
575
|
-
/**
|
|
576
|
-
* @generated from message scalekit.v1.roles.GetRoleUsersCountResponse
|
|
577
|
-
*/
|
|
578
|
-
export type GetRoleUsersCountResponse = Message<"scalekit.v1.roles.GetRoleUsersCountResponse"> & {
|
|
579
|
-
/**
|
|
580
|
-
* @generated from field: int64 count = 1;
|
|
581
|
-
*/
|
|
582
|
-
count: bigint;
|
|
583
|
-
};
|
|
584
|
-
|
|
585
|
-
/**
|
|
586
|
-
* Describes the message scalekit.v1.roles.GetRoleUsersCountResponse.
|
|
587
|
-
* Use `create(GetRoleUsersCountResponseSchema)` to create a new message.
|
|
588
|
-
*/
|
|
589
|
-
export const GetRoleUsersCountResponseSchema: GenMessage<GetRoleUsersCountResponse> = /*@__PURE__*/
|
|
590
|
-
messageDesc(file_scalekit_v1_roles_roles, 23);
|
|
591
|
-
|
|
592
|
-
/**
|
|
593
|
-
* @generated from message scalekit.v1.roles.GetOrganizationRoleUsersCountRequest
|
|
594
|
-
*/
|
|
595
|
-
export type GetOrganizationRoleUsersCountRequest = Message<"scalekit.v1.roles.GetOrganizationRoleUsersCountRequest"> & {
|
|
596
|
-
/**
|
|
597
|
-
* @generated from field: string org_id = 1;
|
|
598
|
-
*/
|
|
599
|
-
orgId: string;
|
|
600
|
-
|
|
601
|
-
/**
|
|
602
|
-
* @generated from field: string role_name = 2;
|
|
603
|
-
*/
|
|
604
|
-
roleName: string;
|
|
605
|
-
};
|
|
606
|
-
|
|
607
|
-
/**
|
|
608
|
-
* Describes the message scalekit.v1.roles.GetOrganizationRoleUsersCountRequest.
|
|
609
|
-
* Use `create(GetOrganizationRoleUsersCountRequestSchema)` to create a new message.
|
|
610
|
-
*/
|
|
611
|
-
export const GetOrganizationRoleUsersCountRequestSchema: GenMessage<GetOrganizationRoleUsersCountRequest> = /*@__PURE__*/
|
|
612
|
-
messageDesc(file_scalekit_v1_roles_roles, 24);
|
|
613
|
-
|
|
614
|
-
/**
|
|
615
|
-
* @generated from message scalekit.v1.roles.GetOrganizationRoleUsersCountResponse
|
|
616
|
-
*/
|
|
617
|
-
export type GetOrganizationRoleUsersCountResponse = Message<"scalekit.v1.roles.GetOrganizationRoleUsersCountResponse"> & {
|
|
618
|
-
/**
|
|
619
|
-
* @generated from field: int64 count = 1;
|
|
620
|
-
*/
|
|
621
|
-
count: bigint;
|
|
622
|
-
};
|
|
623
|
-
|
|
624
|
-
/**
|
|
625
|
-
* Describes the message scalekit.v1.roles.GetOrganizationRoleUsersCountResponse.
|
|
626
|
-
* Use `create(GetOrganizationRoleUsersCountResponseSchema)` to create a new message.
|
|
627
|
-
*/
|
|
628
|
-
export const GetOrganizationRoleUsersCountResponseSchema: GenMessage<GetOrganizationRoleUsersCountResponse> = /*@__PURE__*/
|
|
629
|
-
messageDesc(file_scalekit_v1_roles_roles, 25);
|
|
630
|
-
|
|
631
|
-
/**
|
|
632
|
-
* @generated from message scalekit.v1.roles.UpdateDefaultRolesRequest
|
|
633
|
-
*/
|
|
634
|
-
export type UpdateDefaultRolesRequest = Message<"scalekit.v1.roles.UpdateDefaultRolesRequest"> & {
|
|
635
|
-
/**
|
|
636
|
-
* @generated from field: scalekit.v1.roles.UpdateDefaultRole default_creator = 2 [deprecated = true];
|
|
637
|
-
* @deprecated
|
|
638
|
-
*/
|
|
639
|
-
defaultCreator?: UpdateDefaultRole;
|
|
640
|
-
|
|
641
|
-
/**
|
|
642
|
-
* @generated from field: scalekit.v1.roles.UpdateDefaultRole default_member = 3 [deprecated = true];
|
|
643
|
-
* @deprecated
|
|
644
|
-
*/
|
|
645
|
-
defaultMember?: UpdateDefaultRole;
|
|
646
|
-
|
|
647
|
-
/**
|
|
648
|
-
* @generated from field: optional string default_creator_role = 4;
|
|
649
|
-
*/
|
|
650
|
-
defaultCreatorRole?: string;
|
|
651
|
-
|
|
652
|
-
/**
|
|
653
|
-
* @generated from field: optional string default_member_role = 5;
|
|
654
|
-
*/
|
|
655
|
-
defaultMemberRole?: string;
|
|
656
|
-
};
|
|
657
|
-
|
|
658
|
-
/**
|
|
659
|
-
* Describes the message scalekit.v1.roles.UpdateDefaultRolesRequest.
|
|
660
|
-
* Use `create(UpdateDefaultRolesRequestSchema)` to create a new message.
|
|
661
|
-
*/
|
|
662
|
-
export const UpdateDefaultRolesRequestSchema: GenMessage<UpdateDefaultRolesRequest> = /*@__PURE__*/
|
|
663
|
-
messageDesc(file_scalekit_v1_roles_roles, 26);
|
|
664
|
-
|
|
665
|
-
/**
|
|
666
|
-
* @generated from message scalekit.v1.roles.UpdateDefaultOrganizationRolesRequest
|
|
667
|
-
*/
|
|
668
|
-
export type UpdateDefaultOrganizationRolesRequest = Message<"scalekit.v1.roles.UpdateDefaultOrganizationRolesRequest"> & {
|
|
669
|
-
/**
|
|
670
|
-
* @generated from field: string org_id = 1;
|
|
671
|
-
*/
|
|
672
|
-
orgId: string;
|
|
673
|
-
|
|
674
|
-
/**
|
|
675
|
-
* @generated from field: string default_member_role = 2;
|
|
676
|
-
*/
|
|
677
|
-
defaultMemberRole: string;
|
|
678
|
-
};
|
|
679
|
-
|
|
680
|
-
/**
|
|
681
|
-
* Describes the message scalekit.v1.roles.UpdateDefaultOrganizationRolesRequest.
|
|
682
|
-
* Use `create(UpdateDefaultOrganizationRolesRequestSchema)` to create a new message.
|
|
683
|
-
*/
|
|
684
|
-
export const UpdateDefaultOrganizationRolesRequestSchema: GenMessage<UpdateDefaultOrganizationRolesRequest> = /*@__PURE__*/
|
|
685
|
-
messageDesc(file_scalekit_v1_roles_roles, 27);
|
|
686
|
-
|
|
687
|
-
/**
|
|
688
|
-
* @generated from message scalekit.v1.roles.UpdateDefaultRolesResponse
|
|
689
|
-
*/
|
|
690
|
-
export type UpdateDefaultRolesResponse = Message<"scalekit.v1.roles.UpdateDefaultRolesResponse"> & {
|
|
691
|
-
/**
|
|
692
|
-
* @generated from field: scalekit.v1.roles.Role default_creator = 1;
|
|
693
|
-
*/
|
|
694
|
-
defaultCreator?: Role;
|
|
695
|
-
|
|
696
|
-
/**
|
|
697
|
-
* @generated from field: scalekit.v1.roles.Role default_member = 2;
|
|
698
|
-
*/
|
|
699
|
-
defaultMember?: Role;
|
|
700
|
-
};
|
|
701
|
-
|
|
702
|
-
/**
|
|
703
|
-
* Describes the message scalekit.v1.roles.UpdateDefaultRolesResponse.
|
|
704
|
-
* Use `create(UpdateDefaultRolesResponseSchema)` to create a new message.
|
|
705
|
-
*/
|
|
706
|
-
export const UpdateDefaultRolesResponseSchema: GenMessage<UpdateDefaultRolesResponse> = /*@__PURE__*/
|
|
707
|
-
messageDesc(file_scalekit_v1_roles_roles, 28);
|
|
708
|
-
|
|
709
|
-
/**
|
|
710
|
-
* @generated from message scalekit.v1.roles.UpdateDefaultOrganizationRolesResponse
|
|
711
|
-
*/
|
|
712
|
-
export type UpdateDefaultOrganizationRolesResponse = Message<"scalekit.v1.roles.UpdateDefaultOrganizationRolesResponse"> & {
|
|
713
|
-
/**
|
|
714
|
-
* @generated from field: scalekit.v1.roles.Role default_member = 2;
|
|
715
|
-
*/
|
|
716
|
-
defaultMember?: Role;
|
|
717
|
-
};
|
|
718
|
-
|
|
719
|
-
/**
|
|
720
|
-
* Describes the message scalekit.v1.roles.UpdateDefaultOrganizationRolesResponse.
|
|
721
|
-
* Use `create(UpdateDefaultOrganizationRolesResponseSchema)` to create a new message.
|
|
722
|
-
*/
|
|
723
|
-
export const UpdateDefaultOrganizationRolesResponseSchema: GenMessage<UpdateDefaultOrganizationRolesResponse> = /*@__PURE__*/
|
|
724
|
-
messageDesc(file_scalekit_v1_roles_roles, 29);
|
|
725
|
-
|
|
726
|
-
/**
|
|
727
|
-
* @generated from message scalekit.v1.roles.UpdateDefaultRole
|
|
728
|
-
*/
|
|
729
|
-
export type UpdateDefaultRole = Message<"scalekit.v1.roles.UpdateDefaultRole"> & {
|
|
730
|
-
/**
|
|
731
|
-
* @generated from field: string id = 1;
|
|
732
|
-
*/
|
|
733
|
-
id: string;
|
|
734
|
-
|
|
735
|
-
/**
|
|
736
|
-
* @generated from field: optional string name = 2;
|
|
737
|
-
*/
|
|
738
|
-
name?: string;
|
|
739
|
-
};
|
|
740
|
-
|
|
741
|
-
/**
|
|
742
|
-
* Describes the message scalekit.v1.roles.UpdateDefaultRole.
|
|
743
|
-
* Use `create(UpdateDefaultRoleSchema)` to create a new message.
|
|
744
|
-
*/
|
|
745
|
-
export const UpdateDefaultRoleSchema: GenMessage<UpdateDefaultRole> = /*@__PURE__*/
|
|
746
|
-
messageDesc(file_scalekit_v1_roles_roles, 30);
|
|
747
|
-
|
|
748
|
-
/**
|
|
749
|
-
* Permission Entity
|
|
750
|
-
*
|
|
751
|
-
* @generated from message scalekit.v1.roles.Permission
|
|
752
|
-
*/
|
|
753
|
-
export type Permission = Message<"scalekit.v1.roles.Permission"> & {
|
|
754
|
-
/**
|
|
755
|
-
* @generated from field: string id = 1;
|
|
756
|
-
*/
|
|
757
|
-
id: string;
|
|
758
|
-
|
|
759
|
-
/**
|
|
760
|
-
* @generated from field: string name = 2;
|
|
761
|
-
*/
|
|
762
|
-
name: string;
|
|
763
|
-
|
|
764
|
-
/**
|
|
765
|
-
* @generated from field: string description = 3;
|
|
766
|
-
*/
|
|
767
|
-
description: string;
|
|
768
|
-
|
|
769
|
-
/**
|
|
770
|
-
* @generated from field: google.protobuf.Timestamp create_time = 4;
|
|
771
|
-
*/
|
|
772
|
-
createTime?: Timestamp;
|
|
773
|
-
|
|
774
|
-
/**
|
|
775
|
-
* @generated from field: google.protobuf.Timestamp update_time = 5;
|
|
776
|
-
*/
|
|
777
|
-
updateTime?: Timestamp;
|
|
778
|
-
|
|
779
|
-
/**
|
|
780
|
-
* @generated from field: bool is_scalekit_permission = 6;
|
|
781
|
-
*/
|
|
782
|
-
isScalekitPermission: boolean;
|
|
783
|
-
};
|
|
784
|
-
|
|
785
|
-
/**
|
|
786
|
-
* Describes the message scalekit.v1.roles.Permission.
|
|
787
|
-
* Use `create(PermissionSchema)` to create a new message.
|
|
788
|
-
*/
|
|
789
|
-
export const PermissionSchema: GenMessage<Permission> = /*@__PURE__*/
|
|
790
|
-
messageDesc(file_scalekit_v1_roles_roles, 31);
|
|
791
|
-
|
|
792
|
-
/**
|
|
793
|
-
* RolePermissions represents a permission with role source information
|
|
794
|
-
*
|
|
795
|
-
* @generated from message scalekit.v1.roles.RolePermission
|
|
796
|
-
*/
|
|
797
|
-
export type RolePermission = Message<"scalekit.v1.roles.RolePermission"> & {
|
|
798
|
-
/**
|
|
799
|
-
* @generated from field: string id = 1;
|
|
800
|
-
*/
|
|
801
|
-
id: string;
|
|
802
|
-
|
|
803
|
-
/**
|
|
804
|
-
* @generated from field: string name = 2;
|
|
805
|
-
*/
|
|
806
|
-
name: string;
|
|
807
|
-
|
|
808
|
-
/**
|
|
809
|
-
* @generated from field: string description = 3;
|
|
810
|
-
*/
|
|
811
|
-
description: string;
|
|
812
|
-
|
|
813
|
-
/**
|
|
814
|
-
* @generated from field: google.protobuf.Timestamp create_time = 4;
|
|
815
|
-
*/
|
|
816
|
-
createTime?: Timestamp;
|
|
817
|
-
|
|
818
|
-
/**
|
|
819
|
-
* @generated from field: google.protobuf.Timestamp update_time = 5;
|
|
820
|
-
*/
|
|
821
|
-
updateTime?: Timestamp;
|
|
822
|
-
|
|
823
|
-
/**
|
|
824
|
-
* @generated from field: string role_name = 6;
|
|
825
|
-
*/
|
|
826
|
-
roleName: string;
|
|
827
|
-
};
|
|
828
|
-
|
|
829
|
-
/**
|
|
830
|
-
* Describes the message scalekit.v1.roles.RolePermission.
|
|
831
|
-
* Use `create(RolePermissionSchema)` to create a new message.
|
|
832
|
-
*/
|
|
833
|
-
export const RolePermissionSchema: GenMessage<RolePermission> = /*@__PURE__*/
|
|
834
|
-
messageDesc(file_scalekit_v1_roles_roles, 32);
|
|
835
|
-
|
|
836
|
-
/**
|
|
837
|
-
* @generated from message scalekit.v1.roles.CreatePermission
|
|
838
|
-
*/
|
|
839
|
-
export type CreatePermission = Message<"scalekit.v1.roles.CreatePermission"> & {
|
|
840
|
-
/**
|
|
841
|
-
* @generated from field: string name = 1;
|
|
842
|
-
*/
|
|
843
|
-
name: string;
|
|
844
|
-
|
|
845
|
-
/**
|
|
846
|
-
* @generated from field: string description = 2;
|
|
847
|
-
*/
|
|
848
|
-
description: string;
|
|
849
|
-
};
|
|
850
|
-
|
|
851
|
-
/**
|
|
852
|
-
* Describes the message scalekit.v1.roles.CreatePermission.
|
|
853
|
-
* Use `create(CreatePermissionSchema)` to create a new message.
|
|
854
|
-
*/
|
|
855
|
-
export const CreatePermissionSchema: GenMessage<CreatePermission> = /*@__PURE__*/
|
|
856
|
-
messageDesc(file_scalekit_v1_roles_roles, 33);
|
|
857
|
-
|
|
858
|
-
/**
|
|
859
|
-
* Permission Request/Response Messages
|
|
860
|
-
*
|
|
861
|
-
* @generated from message scalekit.v1.roles.CreatePermissionRequest
|
|
862
|
-
*/
|
|
863
|
-
export type CreatePermissionRequest = Message<"scalekit.v1.roles.CreatePermissionRequest"> & {
|
|
864
|
-
/**
|
|
865
|
-
* @generated from field: scalekit.v1.roles.CreatePermission permission = 1;
|
|
866
|
-
*/
|
|
867
|
-
permission?: CreatePermission;
|
|
868
|
-
};
|
|
869
|
-
|
|
870
|
-
/**
|
|
871
|
-
* Describes the message scalekit.v1.roles.CreatePermissionRequest.
|
|
872
|
-
* Use `create(CreatePermissionRequestSchema)` to create a new message.
|
|
873
|
-
*/
|
|
874
|
-
export const CreatePermissionRequestSchema: GenMessage<CreatePermissionRequest> = /*@__PURE__*/
|
|
875
|
-
messageDesc(file_scalekit_v1_roles_roles, 34);
|
|
876
|
-
|
|
877
|
-
/**
|
|
878
|
-
* @generated from message scalekit.v1.roles.CreatePermissionResponse
|
|
879
|
-
*/
|
|
880
|
-
export type CreatePermissionResponse = Message<"scalekit.v1.roles.CreatePermissionResponse"> & {
|
|
881
|
-
/**
|
|
882
|
-
* @generated from field: scalekit.v1.roles.Permission permission = 1;
|
|
883
|
-
*/
|
|
884
|
-
permission?: Permission;
|
|
885
|
-
};
|
|
886
|
-
|
|
887
|
-
/**
|
|
888
|
-
* Describes the message scalekit.v1.roles.CreatePermissionResponse.
|
|
889
|
-
* Use `create(CreatePermissionResponseSchema)` to create a new message.
|
|
890
|
-
*/
|
|
891
|
-
export const CreatePermissionResponseSchema: GenMessage<CreatePermissionResponse> = /*@__PURE__*/
|
|
892
|
-
messageDesc(file_scalekit_v1_roles_roles, 35);
|
|
893
|
-
|
|
894
|
-
/**
|
|
895
|
-
* @generated from message scalekit.v1.roles.GetPermissionRequest
|
|
896
|
-
*/
|
|
897
|
-
export type GetPermissionRequest = Message<"scalekit.v1.roles.GetPermissionRequest"> & {
|
|
898
|
-
/**
|
|
899
|
-
* @generated from field: string permission_name = 1;
|
|
900
|
-
*/
|
|
901
|
-
permissionName: string;
|
|
902
|
-
};
|
|
903
|
-
|
|
904
|
-
/**
|
|
905
|
-
* Describes the message scalekit.v1.roles.GetPermissionRequest.
|
|
906
|
-
* Use `create(GetPermissionRequestSchema)` to create a new message.
|
|
907
|
-
*/
|
|
908
|
-
export const GetPermissionRequestSchema: GenMessage<GetPermissionRequest> = /*@__PURE__*/
|
|
909
|
-
messageDesc(file_scalekit_v1_roles_roles, 36);
|
|
910
|
-
|
|
911
|
-
/**
|
|
912
|
-
* @generated from message scalekit.v1.roles.GetPermissionResponse
|
|
913
|
-
*/
|
|
914
|
-
export type GetPermissionResponse = Message<"scalekit.v1.roles.GetPermissionResponse"> & {
|
|
915
|
-
/**
|
|
916
|
-
* @generated from field: scalekit.v1.roles.Permission permission = 1;
|
|
917
|
-
*/
|
|
918
|
-
permission?: Permission;
|
|
919
|
-
};
|
|
920
|
-
|
|
921
|
-
/**
|
|
922
|
-
* Describes the message scalekit.v1.roles.GetPermissionResponse.
|
|
923
|
-
* Use `create(GetPermissionResponseSchema)` to create a new message.
|
|
924
|
-
*/
|
|
925
|
-
export const GetPermissionResponseSchema: GenMessage<GetPermissionResponse> = /*@__PURE__*/
|
|
926
|
-
messageDesc(file_scalekit_v1_roles_roles, 37);
|
|
927
|
-
|
|
928
|
-
/**
|
|
929
|
-
* @generated from message scalekit.v1.roles.UpdatePermissionRequest
|
|
930
|
-
*/
|
|
931
|
-
export type UpdatePermissionRequest = Message<"scalekit.v1.roles.UpdatePermissionRequest"> & {
|
|
932
|
-
/**
|
|
933
|
-
* @generated from field: string permission_name = 1;
|
|
934
|
-
*/
|
|
935
|
-
permissionName: string;
|
|
936
|
-
|
|
937
|
-
/**
|
|
938
|
-
* @generated from field: scalekit.v1.roles.CreatePermission permission = 3;
|
|
939
|
-
*/
|
|
940
|
-
permission?: CreatePermission;
|
|
941
|
-
};
|
|
942
|
-
|
|
943
|
-
/**
|
|
944
|
-
* Describes the message scalekit.v1.roles.UpdatePermissionRequest.
|
|
945
|
-
* Use `create(UpdatePermissionRequestSchema)` to create a new message.
|
|
946
|
-
*/
|
|
947
|
-
export const UpdatePermissionRequestSchema: GenMessage<UpdatePermissionRequest> = /*@__PURE__*/
|
|
948
|
-
messageDesc(file_scalekit_v1_roles_roles, 38);
|
|
949
|
-
|
|
950
|
-
/**
|
|
951
|
-
* @generated from message scalekit.v1.roles.UpdatePermissionResponse
|
|
952
|
-
*/
|
|
953
|
-
export type UpdatePermissionResponse = Message<"scalekit.v1.roles.UpdatePermissionResponse"> & {
|
|
954
|
-
/**
|
|
955
|
-
* @generated from field: scalekit.v1.roles.Permission permission = 1;
|
|
956
|
-
*/
|
|
957
|
-
permission?: Permission;
|
|
958
|
-
};
|
|
959
|
-
|
|
960
|
-
/**
|
|
961
|
-
* Describes the message scalekit.v1.roles.UpdatePermissionResponse.
|
|
962
|
-
* Use `create(UpdatePermissionResponseSchema)` to create a new message.
|
|
963
|
-
*/
|
|
964
|
-
export const UpdatePermissionResponseSchema: GenMessage<UpdatePermissionResponse> = /*@__PURE__*/
|
|
965
|
-
messageDesc(file_scalekit_v1_roles_roles, 39);
|
|
966
|
-
|
|
967
|
-
/**
|
|
968
|
-
* @generated from message scalekit.v1.roles.ListPermissionsRequest
|
|
969
|
-
*/
|
|
970
|
-
export type ListPermissionsRequest = Message<"scalekit.v1.roles.ListPermissionsRequest"> & {
|
|
971
|
-
/**
|
|
972
|
-
* @generated from field: optional string page_token = 1;
|
|
973
|
-
*/
|
|
974
|
-
pageToken?: string;
|
|
975
|
-
|
|
976
|
-
/**
|
|
977
|
-
* @generated from field: optional uint32 page_size = 2;
|
|
978
|
-
*/
|
|
979
|
-
pageSize?: number;
|
|
980
|
-
|
|
981
|
-
/**
|
|
982
|
-
* @generated from field: scalekit.v1.roles.PermissionType type = 3;
|
|
983
|
-
*/
|
|
984
|
-
type: PermissionType;
|
|
985
|
-
};
|
|
986
|
-
|
|
987
|
-
/**
|
|
988
|
-
* Describes the message scalekit.v1.roles.ListPermissionsRequest.
|
|
989
|
-
* Use `create(ListPermissionsRequestSchema)` to create a new message.
|
|
990
|
-
*/
|
|
991
|
-
export const ListPermissionsRequestSchema: GenMessage<ListPermissionsRequest> = /*@__PURE__*/
|
|
992
|
-
messageDesc(file_scalekit_v1_roles_roles, 40);
|
|
993
|
-
|
|
994
|
-
/**
|
|
995
|
-
* @generated from message scalekit.v1.roles.ListPermissionsResponse
|
|
996
|
-
*/
|
|
997
|
-
export type ListPermissionsResponse = Message<"scalekit.v1.roles.ListPermissionsResponse"> & {
|
|
998
|
-
/**
|
|
999
|
-
* @generated from field: repeated scalekit.v1.roles.Permission permissions = 1;
|
|
1000
|
-
*/
|
|
1001
|
-
permissions: Permission[];
|
|
1002
|
-
|
|
1003
|
-
/**
|
|
1004
|
-
* @generated from field: string prev_page_token = 2;
|
|
1005
|
-
*/
|
|
1006
|
-
prevPageToken: string;
|
|
1007
|
-
|
|
1008
|
-
/**
|
|
1009
|
-
* @generated from field: string next_page_token = 3;
|
|
1010
|
-
*/
|
|
1011
|
-
nextPageToken: string;
|
|
1012
|
-
|
|
1013
|
-
/**
|
|
1014
|
-
* @generated from field: uint32 total_size = 4;
|
|
1015
|
-
*/
|
|
1016
|
-
totalSize: number;
|
|
1017
|
-
};
|
|
1018
|
-
|
|
1019
|
-
/**
|
|
1020
|
-
* Describes the message scalekit.v1.roles.ListPermissionsResponse.
|
|
1021
|
-
* Use `create(ListPermissionsResponseSchema)` to create a new message.
|
|
1022
|
-
*/
|
|
1023
|
-
export const ListPermissionsResponseSchema: GenMessage<ListPermissionsResponse> = /*@__PURE__*/
|
|
1024
|
-
messageDesc(file_scalekit_v1_roles_roles, 41);
|
|
1025
|
-
|
|
1026
|
-
/**
|
|
1027
|
-
* @generated from message scalekit.v1.roles.DeletePermissionRequest
|
|
1028
|
-
*/
|
|
1029
|
-
export type DeletePermissionRequest = Message<"scalekit.v1.roles.DeletePermissionRequest"> & {
|
|
1030
|
-
/**
|
|
1031
|
-
* @generated from field: string permission_name = 1;
|
|
1032
|
-
*/
|
|
1033
|
-
permissionName: string;
|
|
1034
|
-
};
|
|
1035
|
-
|
|
1036
|
-
/**
|
|
1037
|
-
* Describes the message scalekit.v1.roles.DeletePermissionRequest.
|
|
1038
|
-
* Use `create(DeletePermissionRequestSchema)` to create a new message.
|
|
1039
|
-
*/
|
|
1040
|
-
export const DeletePermissionRequestSchema: GenMessage<DeletePermissionRequest> = /*@__PURE__*/
|
|
1041
|
-
messageDesc(file_scalekit_v1_roles_roles, 42);
|
|
1042
|
-
|
|
1043
|
-
/**
|
|
1044
|
-
* @generated from message scalekit.v1.roles.ListRolePermissionsRequest
|
|
1045
|
-
*/
|
|
1046
|
-
export type ListRolePermissionsRequest = Message<"scalekit.v1.roles.ListRolePermissionsRequest"> & {
|
|
1047
|
-
/**
|
|
1048
|
-
* @generated from field: string role_name = 1;
|
|
1049
|
-
*/
|
|
1050
|
-
roleName: string;
|
|
1051
|
-
};
|
|
1052
|
-
|
|
1053
|
-
/**
|
|
1054
|
-
* Describes the message scalekit.v1.roles.ListRolePermissionsRequest.
|
|
1055
|
-
* Use `create(ListRolePermissionsRequestSchema)` to create a new message.
|
|
1056
|
-
*/
|
|
1057
|
-
export const ListRolePermissionsRequestSchema: GenMessage<ListRolePermissionsRequest> = /*@__PURE__*/
|
|
1058
|
-
messageDesc(file_scalekit_v1_roles_roles, 43);
|
|
1059
|
-
|
|
1060
|
-
/**
|
|
1061
|
-
* @generated from message scalekit.v1.roles.ListRolePermissionsResponse
|
|
1062
|
-
*/
|
|
1063
|
-
export type ListRolePermissionsResponse = Message<"scalekit.v1.roles.ListRolePermissionsResponse"> & {
|
|
1064
|
-
/**
|
|
1065
|
-
* @generated from field: repeated scalekit.v1.roles.Permission permissions = 1;
|
|
1066
|
-
*/
|
|
1067
|
-
permissions: Permission[];
|
|
1068
|
-
};
|
|
1069
|
-
|
|
1070
|
-
/**
|
|
1071
|
-
* Describes the message scalekit.v1.roles.ListRolePermissionsResponse.
|
|
1072
|
-
* Use `create(ListRolePermissionsResponseSchema)` to create a new message.
|
|
1073
|
-
*/
|
|
1074
|
-
export const ListRolePermissionsResponseSchema: GenMessage<ListRolePermissionsResponse> = /*@__PURE__*/
|
|
1075
|
-
messageDesc(file_scalekit_v1_roles_roles, 44);
|
|
1076
|
-
|
|
1077
|
-
/**
|
|
1078
|
-
* @generated from message scalekit.v1.roles.AddPermissionsToRoleRequest
|
|
1079
|
-
*/
|
|
1080
|
-
export type AddPermissionsToRoleRequest = Message<"scalekit.v1.roles.AddPermissionsToRoleRequest"> & {
|
|
1081
|
-
/**
|
|
1082
|
-
* @generated from field: string role_name = 1;
|
|
1083
|
-
*/
|
|
1084
|
-
roleName: string;
|
|
1085
|
-
|
|
1086
|
-
/**
|
|
1087
|
-
* @generated from field: repeated string permission_names = 2;
|
|
1088
|
-
*/
|
|
1089
|
-
permissionNames: string[];
|
|
1090
|
-
};
|
|
1091
|
-
|
|
1092
|
-
/**
|
|
1093
|
-
* Describes the message scalekit.v1.roles.AddPermissionsToRoleRequest.
|
|
1094
|
-
* Use `create(AddPermissionsToRoleRequestSchema)` to create a new message.
|
|
1095
|
-
*/
|
|
1096
|
-
export const AddPermissionsToRoleRequestSchema: GenMessage<AddPermissionsToRoleRequest> = /*@__PURE__*/
|
|
1097
|
-
messageDesc(file_scalekit_v1_roles_roles, 45);
|
|
1098
|
-
|
|
1099
|
-
/**
|
|
1100
|
-
* @generated from message scalekit.v1.roles.AddPermissionsToRoleResponse
|
|
1101
|
-
*/
|
|
1102
|
-
export type AddPermissionsToRoleResponse = Message<"scalekit.v1.roles.AddPermissionsToRoleResponse"> & {
|
|
1103
|
-
/**
|
|
1104
|
-
* @generated from field: repeated scalekit.v1.roles.Permission permissions = 1;
|
|
1105
|
-
*/
|
|
1106
|
-
permissions: Permission[];
|
|
1107
|
-
};
|
|
1108
|
-
|
|
1109
|
-
/**
|
|
1110
|
-
* Describes the message scalekit.v1.roles.AddPermissionsToRoleResponse.
|
|
1111
|
-
* Use `create(AddPermissionsToRoleResponseSchema)` to create a new message.
|
|
1112
|
-
*/
|
|
1113
|
-
export const AddPermissionsToRoleResponseSchema: GenMessage<AddPermissionsToRoleResponse> = /*@__PURE__*/
|
|
1114
|
-
messageDesc(file_scalekit_v1_roles_roles, 46);
|
|
1115
|
-
|
|
1116
|
-
/**
|
|
1117
|
-
* @generated from message scalekit.v1.roles.RemovePermissionFromRoleRequest
|
|
1118
|
-
*/
|
|
1119
|
-
export type RemovePermissionFromRoleRequest = Message<"scalekit.v1.roles.RemovePermissionFromRoleRequest"> & {
|
|
1120
|
-
/**
|
|
1121
|
-
* @generated from field: string role_name = 1;
|
|
1122
|
-
*/
|
|
1123
|
-
roleName: string;
|
|
1124
|
-
|
|
1125
|
-
/**
|
|
1126
|
-
* @generated from field: string permission_name = 2;
|
|
1127
|
-
*/
|
|
1128
|
-
permissionName: string;
|
|
1129
|
-
};
|
|
1130
|
-
|
|
1131
|
-
/**
|
|
1132
|
-
* Describes the message scalekit.v1.roles.RemovePermissionFromRoleRequest.
|
|
1133
|
-
* Use `create(RemovePermissionFromRoleRequestSchema)` to create a new message.
|
|
1134
|
-
*/
|
|
1135
|
-
export const RemovePermissionFromRoleRequestSchema: GenMessage<RemovePermissionFromRoleRequest> = /*@__PURE__*/
|
|
1136
|
-
messageDesc(file_scalekit_v1_roles_roles, 47);
|
|
1137
|
-
|
|
1138
|
-
/**
|
|
1139
|
-
* @generated from message scalekit.v1.roles.ListEffectiveRolePermissionsRequest
|
|
1140
|
-
*/
|
|
1141
|
-
export type ListEffectiveRolePermissionsRequest = Message<"scalekit.v1.roles.ListEffectiveRolePermissionsRequest"> & {
|
|
1142
|
-
/**
|
|
1143
|
-
* @generated from field: string role_name = 1;
|
|
1144
|
-
*/
|
|
1145
|
-
roleName: string;
|
|
1146
|
-
};
|
|
1147
|
-
|
|
1148
|
-
/**
|
|
1149
|
-
* Describes the message scalekit.v1.roles.ListEffectiveRolePermissionsRequest.
|
|
1150
|
-
* Use `create(ListEffectiveRolePermissionsRequestSchema)` to create a new message.
|
|
1151
|
-
*/
|
|
1152
|
-
export const ListEffectiveRolePermissionsRequestSchema: GenMessage<ListEffectiveRolePermissionsRequest> = /*@__PURE__*/
|
|
1153
|
-
messageDesc(file_scalekit_v1_roles_roles, 48);
|
|
1154
|
-
|
|
1155
|
-
/**
|
|
1156
|
-
* @generated from message scalekit.v1.roles.ListEffectiveRolePermissionsResponse
|
|
1157
|
-
*/
|
|
1158
|
-
export type ListEffectiveRolePermissionsResponse = Message<"scalekit.v1.roles.ListEffectiveRolePermissionsResponse"> & {
|
|
1159
|
-
/**
|
|
1160
|
-
* @generated from field: repeated scalekit.v1.roles.Permission permissions = 1;
|
|
1161
|
-
*/
|
|
1162
|
-
permissions: Permission[];
|
|
1163
|
-
};
|
|
1164
|
-
|
|
1165
|
-
/**
|
|
1166
|
-
* Describes the message scalekit.v1.roles.ListEffectiveRolePermissionsResponse.
|
|
1167
|
-
* Use `create(ListEffectiveRolePermissionsResponseSchema)` to create a new message.
|
|
1168
|
-
*/
|
|
1169
|
-
export const ListEffectiveRolePermissionsResponseSchema: GenMessage<ListEffectiveRolePermissionsResponse> = /*@__PURE__*/
|
|
1170
|
-
messageDesc(file_scalekit_v1_roles_roles, 49);
|
|
1171
|
-
|
|
1172
|
-
/**
|
|
1173
|
-
* @generated from message scalekit.v1.roles.ListDependentRolesRequest
|
|
1174
|
-
*/
|
|
1175
|
-
export type ListDependentRolesRequest = Message<"scalekit.v1.roles.ListDependentRolesRequest"> & {
|
|
1176
|
-
/**
|
|
1177
|
-
* @generated from field: string role_name = 1;
|
|
1178
|
-
*/
|
|
1179
|
-
roleName: string;
|
|
1180
|
-
};
|
|
1181
|
-
|
|
1182
|
-
/**
|
|
1183
|
-
* Describes the message scalekit.v1.roles.ListDependentRolesRequest.
|
|
1184
|
-
* Use `create(ListDependentRolesRequestSchema)` to create a new message.
|
|
1185
|
-
*/
|
|
1186
|
-
export const ListDependentRolesRequestSchema: GenMessage<ListDependentRolesRequest> = /*@__PURE__*/
|
|
1187
|
-
messageDesc(file_scalekit_v1_roles_roles, 50);
|
|
1188
|
-
|
|
1189
|
-
/**
|
|
1190
|
-
* @generated from message scalekit.v1.roles.ListDependentRolesResponse
|
|
1191
|
-
*/
|
|
1192
|
-
export type ListDependentRolesResponse = Message<"scalekit.v1.roles.ListDependentRolesResponse"> & {
|
|
1193
|
-
/**
|
|
1194
|
-
* @generated from field: repeated scalekit.v1.roles.Role roles = 1;
|
|
1195
|
-
*/
|
|
1196
|
-
roles: Role[];
|
|
1197
|
-
};
|
|
1198
|
-
|
|
1199
|
-
/**
|
|
1200
|
-
* Describes the message scalekit.v1.roles.ListDependentRolesResponse.
|
|
1201
|
-
* Use `create(ListDependentRolesResponseSchema)` to create a new message.
|
|
1202
|
-
*/
|
|
1203
|
-
export const ListDependentRolesResponseSchema: GenMessage<ListDependentRolesResponse> = /*@__PURE__*/
|
|
1204
|
-
messageDesc(file_scalekit_v1_roles_roles, 51);
|
|
1205
|
-
|
|
1206
|
-
/**
|
|
1207
|
-
* @generated from message scalekit.v1.roles.DeleteRoleBaseRequest
|
|
1208
|
-
*/
|
|
1209
|
-
export type DeleteRoleBaseRequest = Message<"scalekit.v1.roles.DeleteRoleBaseRequest"> & {
|
|
1210
|
-
/**
|
|
1211
|
-
* @generated from field: string role_name = 1;
|
|
1212
|
-
*/
|
|
1213
|
-
roleName: string;
|
|
1214
|
-
};
|
|
1215
|
-
|
|
1216
|
-
/**
|
|
1217
|
-
* Describes the message scalekit.v1.roles.DeleteRoleBaseRequest.
|
|
1218
|
-
* Use `create(DeleteRoleBaseRequestSchema)` to create a new message.
|
|
1219
|
-
*/
|
|
1220
|
-
export const DeleteRoleBaseRequestSchema: GenMessage<DeleteRoleBaseRequest> = /*@__PURE__*/
|
|
1221
|
-
messageDesc(file_scalekit_v1_roles_roles, 52);
|
|
1222
|
-
|
|
1223
|
-
/**
|
|
1224
|
-
* @generated from message scalekit.v1.roles.DeleteOrganizationRoleBaseRequest
|
|
1225
|
-
*/
|
|
1226
|
-
export type DeleteOrganizationRoleBaseRequest = Message<"scalekit.v1.roles.DeleteOrganizationRoleBaseRequest"> & {
|
|
1227
|
-
/**
|
|
1228
|
-
* @generated from field: string org_id = 1;
|
|
1229
|
-
*/
|
|
1230
|
-
orgId: string;
|
|
1231
|
-
|
|
1232
|
-
/**
|
|
1233
|
-
* @generated from field: string role_name = 2;
|
|
1234
|
-
*/
|
|
1235
|
-
roleName: string;
|
|
1236
|
-
};
|
|
1237
|
-
|
|
1238
|
-
/**
|
|
1239
|
-
* Describes the message scalekit.v1.roles.DeleteOrganizationRoleBaseRequest.
|
|
1240
|
-
* Use `create(DeleteOrganizationRoleBaseRequestSchema)` to create a new message.
|
|
1241
|
-
*/
|
|
1242
|
-
export const DeleteOrganizationRoleBaseRequestSchema: GenMessage<DeleteOrganizationRoleBaseRequest> = /*@__PURE__*/
|
|
1243
|
-
messageDesc(file_scalekit_v1_roles_roles, 53);
|
|
1244
|
-
|
|
1245
|
-
/**
|
|
1246
|
-
* @generated from enum scalekit.v1.roles.PermissionType
|
|
1247
|
-
*/
|
|
1248
|
-
export enum PermissionType {
|
|
1249
|
-
/**
|
|
1250
|
-
* @generated from enum value: ALL = 0;
|
|
1251
|
-
*/
|
|
1252
|
-
ALL = 0,
|
|
1253
|
-
|
|
1254
|
-
/**
|
|
1255
|
-
* @generated from enum value: SCALEKIT = 1;
|
|
1256
|
-
*/
|
|
1257
|
-
SCALEKIT = 1,
|
|
1258
|
-
|
|
1259
|
-
/**
|
|
1260
|
-
* @generated from enum value: ENVIRONMENT = 2;
|
|
1261
|
-
*/
|
|
1262
|
-
ENVIRONMENT = 2,
|
|
1263
|
-
}
|
|
1264
|
-
|
|
1265
|
-
/**
|
|
1266
|
-
* Describes the enum scalekit.v1.roles.PermissionType.
|
|
1267
|
-
*/
|
|
1268
|
-
export const PermissionTypeSchema: GenEnum<PermissionType> = /*@__PURE__*/
|
|
1269
|
-
enumDesc(file_scalekit_v1_roles_roles, 0);
|
|
1270
|
-
|
|
1271
|
-
/**
|
|
1272
|
-
* @generated from service scalekit.v1.roles.RolesService
|
|
1273
|
-
*/
|
|
1274
|
-
export const RolesService: GenService<{
|
|
1275
|
-
/**
|
|
1276
|
-
* @generated from rpc scalekit.v1.roles.RolesService.CreateRole
|
|
1277
|
-
*/
|
|
1278
|
-
createRole: {
|
|
1279
|
-
methodKind: "unary";
|
|
1280
|
-
input: typeof CreateRoleRequestSchema;
|
|
1281
|
-
output: typeof CreateRoleResponseSchema;
|
|
1282
|
-
},
|
|
1283
|
-
/**
|
|
1284
|
-
* @generated from rpc scalekit.v1.roles.RolesService.UpdateRole
|
|
1285
|
-
*/
|
|
1286
|
-
updateRole: {
|
|
1287
|
-
methodKind: "unary";
|
|
1288
|
-
input: typeof UpdateRoleRequestSchema;
|
|
1289
|
-
output: typeof UpdateRoleResponseSchema;
|
|
1290
|
-
},
|
|
1291
|
-
/**
|
|
1292
|
-
* @generated from rpc scalekit.v1.roles.RolesService.GetRole
|
|
1293
|
-
*/
|
|
1294
|
-
getRole: {
|
|
1295
|
-
methodKind: "unary";
|
|
1296
|
-
input: typeof GetRoleRequestSchema;
|
|
1297
|
-
output: typeof GetRoleResponseSchema;
|
|
1298
|
-
},
|
|
1299
|
-
/**
|
|
1300
|
-
* @generated from rpc scalekit.v1.roles.RolesService.ListRoles
|
|
1301
|
-
*/
|
|
1302
|
-
listRoles: {
|
|
1303
|
-
methodKind: "unary";
|
|
1304
|
-
input: typeof ListRolesRequestSchema;
|
|
1305
|
-
output: typeof ListRolesResponseSchema;
|
|
1306
|
-
},
|
|
1307
|
-
/**
|
|
1308
|
-
* @generated from rpc scalekit.v1.roles.RolesService.DeleteRole
|
|
1309
|
-
*/
|
|
1310
|
-
deleteRole: {
|
|
1311
|
-
methodKind: "unary";
|
|
1312
|
-
input: typeof DeleteRoleRequestSchema;
|
|
1313
|
-
output: typeof EmptySchema;
|
|
1314
|
-
},
|
|
1315
|
-
/**
|
|
1316
|
-
* @generated from rpc scalekit.v1.roles.RolesService.CreateOrganizationRole
|
|
1317
|
-
*/
|
|
1318
|
-
createOrganizationRole: {
|
|
1319
|
-
methodKind: "unary";
|
|
1320
|
-
input: typeof CreateOrganizationRoleRequestSchema;
|
|
1321
|
-
output: typeof CreateOrganizationRoleResponseSchema;
|
|
1322
|
-
},
|
|
1323
|
-
/**
|
|
1324
|
-
* @generated from rpc scalekit.v1.roles.RolesService.UpdateOrganizationRole
|
|
1325
|
-
*/
|
|
1326
|
-
updateOrganizationRole: {
|
|
1327
|
-
methodKind: "unary";
|
|
1328
|
-
input: typeof UpdateOrganizationRoleRequestSchema;
|
|
1329
|
-
output: typeof UpdateOrganizationRoleResponseSchema;
|
|
1330
|
-
},
|
|
1331
|
-
/**
|
|
1332
|
-
* @generated from rpc scalekit.v1.roles.RolesService.GetOrganizationRole
|
|
1333
|
-
*/
|
|
1334
|
-
getOrganizationRole: {
|
|
1335
|
-
methodKind: "unary";
|
|
1336
|
-
input: typeof GetOrganizationRoleRequestSchema;
|
|
1337
|
-
output: typeof GetOrganizationRoleResponseSchema;
|
|
1338
|
-
},
|
|
1339
|
-
/**
|
|
1340
|
-
* @generated from rpc scalekit.v1.roles.RolesService.ListOrganizationRoles
|
|
1341
|
-
*/
|
|
1342
|
-
listOrganizationRoles: {
|
|
1343
|
-
methodKind: "unary";
|
|
1344
|
-
input: typeof ListOrganizationRolesRequestSchema;
|
|
1345
|
-
output: typeof ListOrganizationRolesResponseSchema;
|
|
1346
|
-
},
|
|
1347
|
-
/**
|
|
1348
|
-
* @generated from rpc scalekit.v1.roles.RolesService.DeleteOrganizationRole
|
|
1349
|
-
*/
|
|
1350
|
-
deleteOrganizationRole: {
|
|
1351
|
-
methodKind: "unary";
|
|
1352
|
-
input: typeof DeleteOrganizationRoleRequestSchema;
|
|
1353
|
-
output: typeof EmptySchema;
|
|
1354
|
-
},
|
|
1355
|
-
/**
|
|
1356
|
-
* @generated from rpc scalekit.v1.roles.RolesService.GetRoleUsersCount
|
|
1357
|
-
*/
|
|
1358
|
-
getRoleUsersCount: {
|
|
1359
|
-
methodKind: "unary";
|
|
1360
|
-
input: typeof GetRoleUsersCountRequestSchema;
|
|
1361
|
-
output: typeof GetRoleUsersCountResponseSchema;
|
|
1362
|
-
},
|
|
1363
|
-
/**
|
|
1364
|
-
* @generated from rpc scalekit.v1.roles.RolesService.GetOrganizationRoleUsersCount
|
|
1365
|
-
*/
|
|
1366
|
-
getOrganizationRoleUsersCount: {
|
|
1367
|
-
methodKind: "unary";
|
|
1368
|
-
input: typeof GetOrganizationRoleUsersCountRequestSchema;
|
|
1369
|
-
output: typeof GetOrganizationRoleUsersCountResponseSchema;
|
|
1370
|
-
},
|
|
1371
|
-
/**
|
|
1372
|
-
* @generated from rpc scalekit.v1.roles.RolesService.UpdateDefaultRoles
|
|
1373
|
-
*/
|
|
1374
|
-
updateDefaultRoles: {
|
|
1375
|
-
methodKind: "unary";
|
|
1376
|
-
input: typeof UpdateDefaultRolesRequestSchema;
|
|
1377
|
-
output: typeof UpdateDefaultRolesResponseSchema;
|
|
1378
|
-
},
|
|
1379
|
-
/**
|
|
1380
|
-
* @generated from rpc scalekit.v1.roles.RolesService.UpdateDefaultOrganizationRoles
|
|
1381
|
-
*/
|
|
1382
|
-
updateDefaultOrganizationRoles: {
|
|
1383
|
-
methodKind: "unary";
|
|
1384
|
-
input: typeof UpdateDefaultOrganizationRolesRequestSchema;
|
|
1385
|
-
output: typeof UpdateDefaultOrganizationRolesResponseSchema;
|
|
1386
|
-
},
|
|
1387
|
-
/**
|
|
1388
|
-
* Role Hierarchy Management RPCs
|
|
1389
|
-
*
|
|
1390
|
-
* @generated from rpc scalekit.v1.roles.RolesService.ListDependentRoles
|
|
1391
|
-
*/
|
|
1392
|
-
listDependentRoles: {
|
|
1393
|
-
methodKind: "unary";
|
|
1394
|
-
input: typeof ListDependentRolesRequestSchema;
|
|
1395
|
-
output: typeof ListDependentRolesResponseSchema;
|
|
1396
|
-
},
|
|
1397
|
-
/**
|
|
1398
|
-
* @generated from rpc scalekit.v1.roles.RolesService.DeleteRoleBase
|
|
1399
|
-
*/
|
|
1400
|
-
deleteRoleBase: {
|
|
1401
|
-
methodKind: "unary";
|
|
1402
|
-
input: typeof DeleteRoleBaseRequestSchema;
|
|
1403
|
-
output: typeof EmptySchema;
|
|
1404
|
-
},
|
|
1405
|
-
/**
|
|
1406
|
-
* @generated from rpc scalekit.v1.roles.RolesService.DeleteOrganizationRoleBase
|
|
1407
|
-
*/
|
|
1408
|
-
deleteOrganizationRoleBase: {
|
|
1409
|
-
methodKind: "unary";
|
|
1410
|
-
input: typeof DeleteOrganizationRoleBaseRequestSchema;
|
|
1411
|
-
output: typeof EmptySchema;
|
|
1412
|
-
},
|
|
1413
|
-
/**
|
|
1414
|
-
* Permission Management RPCs
|
|
1415
|
-
*
|
|
1416
|
-
* @generated from rpc scalekit.v1.roles.RolesService.CreatePermission
|
|
1417
|
-
*/
|
|
1418
|
-
createPermission: {
|
|
1419
|
-
methodKind: "unary";
|
|
1420
|
-
input: typeof CreatePermissionRequestSchema;
|
|
1421
|
-
output: typeof CreatePermissionResponseSchema;
|
|
1422
|
-
},
|
|
1423
|
-
/**
|
|
1424
|
-
* @generated from rpc scalekit.v1.roles.RolesService.GetPermission
|
|
1425
|
-
*/
|
|
1426
|
-
getPermission: {
|
|
1427
|
-
methodKind: "unary";
|
|
1428
|
-
input: typeof GetPermissionRequestSchema;
|
|
1429
|
-
output: typeof GetPermissionResponseSchema;
|
|
1430
|
-
},
|
|
1431
|
-
/**
|
|
1432
|
-
* @generated from rpc scalekit.v1.roles.RolesService.UpdatePermission
|
|
1433
|
-
*/
|
|
1434
|
-
updatePermission: {
|
|
1435
|
-
methodKind: "unary";
|
|
1436
|
-
input: typeof UpdatePermissionRequestSchema;
|
|
1437
|
-
output: typeof UpdatePermissionResponseSchema;
|
|
1438
|
-
},
|
|
1439
|
-
/**
|
|
1440
|
-
* @generated from rpc scalekit.v1.roles.RolesService.ListPermissions
|
|
1441
|
-
*/
|
|
1442
|
-
listPermissions: {
|
|
1443
|
-
methodKind: "unary";
|
|
1444
|
-
input: typeof ListPermissionsRequestSchema;
|
|
1445
|
-
output: typeof ListPermissionsResponseSchema;
|
|
1446
|
-
},
|
|
1447
|
-
/**
|
|
1448
|
-
* @generated from rpc scalekit.v1.roles.RolesService.DeletePermission
|
|
1449
|
-
*/
|
|
1450
|
-
deletePermission: {
|
|
1451
|
-
methodKind: "unary";
|
|
1452
|
-
input: typeof DeletePermissionRequestSchema;
|
|
1453
|
-
output: typeof EmptySchema;
|
|
1454
|
-
},
|
|
1455
|
-
/**
|
|
1456
|
-
* Role-Permission Management RPCs
|
|
1457
|
-
*
|
|
1458
|
-
* @generated from rpc scalekit.v1.roles.RolesService.ListRolePermissions
|
|
1459
|
-
*/
|
|
1460
|
-
listRolePermissions: {
|
|
1461
|
-
methodKind: "unary";
|
|
1462
|
-
input: typeof ListRolePermissionsRequestSchema;
|
|
1463
|
-
output: typeof ListRolePermissionsResponseSchema;
|
|
1464
|
-
},
|
|
1465
|
-
/**
|
|
1466
|
-
* @generated from rpc scalekit.v1.roles.RolesService.AddPermissionsToRole
|
|
1467
|
-
*/
|
|
1468
|
-
addPermissionsToRole: {
|
|
1469
|
-
methodKind: "unary";
|
|
1470
|
-
input: typeof AddPermissionsToRoleRequestSchema;
|
|
1471
|
-
output: typeof AddPermissionsToRoleResponseSchema;
|
|
1472
|
-
},
|
|
1473
|
-
/**
|
|
1474
|
-
* @generated from rpc scalekit.v1.roles.RolesService.RemovePermissionFromRole
|
|
1475
|
-
*/
|
|
1476
|
-
removePermissionFromRole: {
|
|
1477
|
-
methodKind: "unary";
|
|
1478
|
-
input: typeof RemovePermissionFromRoleRequestSchema;
|
|
1479
|
-
output: typeof EmptySchema;
|
|
1480
|
-
},
|
|
1481
|
-
/**
|
|
1482
|
-
* @generated from rpc scalekit.v1.roles.RolesService.ListEffectiveRolePermissions
|
|
1483
|
-
*/
|
|
1484
|
-
listEffectiveRolePermissions: {
|
|
1485
|
-
methodKind: "unary";
|
|
1486
|
-
input: typeof ListEffectiveRolePermissionsRequestSchema;
|
|
1487
|
-
output: typeof ListEffectiveRolePermissionsResponseSchema;
|
|
1488
|
-
},
|
|
1489
|
-
}> = /*@__PURE__*/
|
|
1490
|
-
serviceDesc(file_scalekit_v1_roles_roles, 0);
|
|
1491
|
-
|