@coralogix/rum-cli 1.1.17 → 1.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/.prettierrc +15 -0
  2. package/README.md +26 -19
  3. package/api/rum-api.ts +104 -91
  4. package/cli/commands/delete-source-maps-command.ts +34 -0
  5. package/cli/commands/index.ts +7 -0
  6. package/cli/commands/update-source-maps-command.ts +38 -0
  7. package/cli/commands/upload-source-maps-command.ts +38 -0
  8. package/cli/rum-cli.ts +13 -47
  9. package/cli/validators/index.ts +9 -10
  10. package/config/config.ts +21 -21
  11. package/consts/consts.ts +16 -0
  12. package/dist/api/rum-api.d.ts +4 -3
  13. package/dist/api/rum-api.js +60 -72
  14. package/dist/cli/commands/delete-source-maps-command.d.ts +2 -0
  15. package/dist/cli/commands/delete-source-maps-command.js +43 -0
  16. package/dist/cli/commands/index.d.ts +6 -0
  17. package/dist/cli/commands/index.js +8 -0
  18. package/dist/cli/commands/update-source-maps-command.d.ts +2 -0
  19. package/dist/cli/commands/update-source-maps-command.js +47 -0
  20. package/dist/cli/commands/upload-source-maps-command.d.ts +2 -0
  21. package/dist/cli/commands/upload-source-maps-command.js +47 -0
  22. package/dist/cli/rum-cli.js +14 -55
  23. package/dist/cli/validators/index.js +5 -6
  24. package/dist/config/config.js +6 -5
  25. package/dist/{cli/theme/index.d.ts → consts/consts.d.ts} +2 -0
  26. package/dist/consts/consts.js +16 -0
  27. package/dist/models/commands.model.d.ts +29 -0
  28. package/dist/models/commands.model.js +3 -0
  29. package/dist/proto-models/com/coralogix/rum/v2/audit_log.d.ts +1 -1
  30. package/dist/proto-models/com/coralogix/rum/v2/audit_log.js +5 -3
  31. package/dist/proto-models/com/coralogix/rum/v2/chunk.d.ts +1 -1
  32. package/dist/proto-models/com/coralogix/rum/v2/chunk.js +54 -49
  33. package/dist/proto-models/com/coralogix/rum/v2/file.d.ts +1 -1
  34. package/dist/proto-models/com/coralogix/rum/v2/file.js +24 -34
  35. package/dist/proto-models/com/coralogix/rum/v2/rum_service.d.ts +89 -2
  36. package/dist/proto-models/com/coralogix/rum/v2/rum_service.js +304 -78
  37. package/dist/proto-models/com/coralogix/rum/v2/rum_session_recording_service.d.ts +65 -0
  38. package/dist/proto-models/com/coralogix/rum/v2/rum_session_recording_service.js +174 -0
  39. package/dist/proto-models/com/coralogix/rum/v2/rum_source_map_service.d.ts +93 -1
  40. package/dist/proto-models/com/coralogix/rum/v2/rum_source_map_service.js +306 -17
  41. package/dist/proto-models/com/coralogix/rum/v2/source_code_file_mapping.d.ts +1 -1
  42. package/dist/proto-models/com/coralogix/rum/v2/source_code_file_mapping.js +47 -24
  43. package/dist/proto-models/com/coralogix/rum/v2/source_map_release.d.ts +14 -1
  44. package/dist/proto-models/com/coralogix/rum/v2/source_map_release.js +113 -33
  45. package/dist/proto-models/com/coralogix/rum/v2/template.d.ts +1 -1
  46. package/dist/proto-models/com/coralogix/rum/v2/template.js +66 -53
  47. package/dist/proto-models/google/protobuf/descriptor.d.ts +1 -1
  48. package/dist/proto-models/google/protobuf/descriptor.js +537 -427
  49. package/dist/services/source-maps.service.d.ts +5 -0
  50. package/dist/services/source-maps.service.js +80 -0
  51. package/dist/utils/index.d.ts +6 -0
  52. package/dist/utils/index.js +115 -0
  53. package/models/commands.model.ts +31 -0
  54. package/package.json +5 -3
  55. package/proto-models/com/coralogix/rum/v2/audit_log.ts +6 -4
  56. package/proto-models/com/coralogix/rum/v2/chunk.ts +55 -56
  57. package/proto-models/com/coralogix/rum/v2/file.ts +25 -39
  58. package/proto-models/com/coralogix/rum/v2/rum_service.ts +345 -89
  59. package/proto-models/com/coralogix/rum/v2/rum_session_recording_service.ts +202 -0
  60. package/proto-models/com/coralogix/rum/v2/rum_source_map_service.ts +355 -18
  61. package/proto-models/com/coralogix/rum/v2/source_code_file_mapping.ts +48 -27
  62. package/proto-models/com/coralogix/rum/v2/source_map_release.ts +126 -36
  63. package/proto-models/com/coralogix/rum/v2/template.ts +67 -60
  64. package/proto-models/google/protobuf/descriptor.ts +551 -464
  65. package/protofetch.lock +2 -2
  66. package/protofetch.toml +1 -1
  67. package/protos/com/coralogix/rum/v2/rum_service.proto +16 -1
  68. package/protos/com/coralogix/rum/v2/rum_session_recording_service.proto +15 -0
  69. package/protos/com/coralogix/rum/v2/rum_source_map_service.proto +18 -0
  70. package/protos/com/coralogix/rum/v2/source_map_release.proto +6 -0
  71. package/protoset.bin +0 -0
  72. package/services/source-maps.service.ts +96 -0
  73. package/utils/index.ts +93 -0
  74. package/cli/consts/consts.ts +0 -2
  75. package/cli/theme/index.ts +0 -5
  76. package/dist/cli/consts/consts.d.ts +0 -2
  77. package/dist/cli/consts/consts.js +0 -6
  78. package/dist/cli/theme/index.js +0 -7
  79. package/dist/model/cli.model.d.ts +0 -1
  80. package/dist/model/cli.model.js +0 -12
  81. package/dist/services/source-maps/source-maps.service.d.ts +0 -3
  82. package/dist/services/source-maps/source-maps.service.js +0 -42
  83. package/dist/services/source-maps/utils/traverse-folder.util.d.ts +0 -2
  84. package/dist/services/source-maps/utils/traverse-folder.util.js +0 -42
  85. package/model/cli.model.ts +0 -8
  86. package/services/source-maps/source-maps.service.ts +0 -31
  87. package/services/source-maps/utils/traverse-folder.util.ts +0 -33
@@ -0,0 +1,65 @@
1
+ import _m0 from "protobufjs/minimal";
2
+ export declare const protobufPackage = "com.coralogix.rum.v2";
3
+ export interface GetSessionRecordingRequest {
4
+ sessionId: string;
5
+ application: string;
6
+ }
7
+ export interface GetSessionRecordingResponse {
8
+ sessionRecordings: Uint8Array;
9
+ }
10
+ export declare const GetSessionRecordingRequest: {
11
+ encode(message: GetSessionRecordingRequest, writer?: _m0.Writer): _m0.Writer;
12
+ decode(input: _m0.Reader | Uint8Array, length?: number): GetSessionRecordingRequest;
13
+ fromJSON(object: any): GetSessionRecordingRequest;
14
+ toJSON(message: GetSessionRecordingRequest): unknown;
15
+ create(base?: DeepPartial<GetSessionRecordingRequest>): GetSessionRecordingRequest;
16
+ fromPartial(object: DeepPartial<GetSessionRecordingRequest>): GetSessionRecordingRequest;
17
+ };
18
+ export declare const GetSessionRecordingResponse: {
19
+ encode(message: GetSessionRecordingResponse, writer?: _m0.Writer): _m0.Writer;
20
+ decode(input: _m0.Reader | Uint8Array, length?: number): GetSessionRecordingResponse;
21
+ fromJSON(object: any): GetSessionRecordingResponse;
22
+ toJSON(message: GetSessionRecordingResponse): unknown;
23
+ create(base?: DeepPartial<GetSessionRecordingResponse>): GetSessionRecordingResponse;
24
+ fromPartial(object: DeepPartial<GetSessionRecordingResponse>): GetSessionRecordingResponse;
25
+ };
26
+ export type RumSessionRecordingServiceDefinition = typeof RumSessionRecordingServiceDefinition;
27
+ export declare const RumSessionRecordingServiceDefinition: {
28
+ readonly name: "RumSessionRecordingService";
29
+ readonly fullName: "com.coralogix.rum.v2.RumSessionRecordingService";
30
+ readonly methods: {
31
+ readonly getSessionRecording: {
32
+ readonly name: "GetSessionRecording";
33
+ readonly requestType: {
34
+ encode(message: GetSessionRecordingRequest, writer?: _m0.Writer): _m0.Writer;
35
+ decode(input: _m0.Reader | Uint8Array, length?: number): GetSessionRecordingRequest;
36
+ fromJSON(object: any): GetSessionRecordingRequest;
37
+ toJSON(message: GetSessionRecordingRequest): unknown;
38
+ create(base?: DeepPartial<GetSessionRecordingRequest>): GetSessionRecordingRequest;
39
+ fromPartial(object: DeepPartial<GetSessionRecordingRequest>): GetSessionRecordingRequest;
40
+ };
41
+ readonly requestStream: false;
42
+ readonly responseType: {
43
+ encode(message: GetSessionRecordingResponse, writer?: _m0.Writer): _m0.Writer;
44
+ decode(input: _m0.Reader | Uint8Array, length?: number): GetSessionRecordingResponse;
45
+ fromJSON(object: any): GetSessionRecordingResponse;
46
+ toJSON(message: GetSessionRecordingResponse): unknown;
47
+ create(base?: DeepPartial<GetSessionRecordingResponse>): GetSessionRecordingResponse;
48
+ fromPartial(object: DeepPartial<GetSessionRecordingResponse>): GetSessionRecordingResponse;
49
+ };
50
+ readonly responseStream: false;
51
+ readonly options: {};
52
+ };
53
+ };
54
+ };
55
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
56
+ export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {
57
+ $case: string;
58
+ } ? {
59
+ [K in keyof Omit<T, "$case">]?: DeepPartial<T[K]>;
60
+ } & {
61
+ $case: T["$case"];
62
+ } : T extends {} ? {
63
+ [K in keyof T]?: DeepPartial<T[K]>;
64
+ } : Partial<T>;
65
+ export {};
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.RumSessionRecordingServiceDefinition = exports.GetSessionRecordingResponse = exports.GetSessionRecordingRequest = exports.protobufPackage = void 0;
7
+ /* eslint-disable */
8
+ const minimal_1 = __importDefault(require("protobufjs/minimal"));
9
+ exports.protobufPackage = "com.coralogix.rum.v2";
10
+ function createBaseGetSessionRecordingRequest() {
11
+ return { sessionId: "", application: "" };
12
+ }
13
+ exports.GetSessionRecordingRequest = {
14
+ encode(message, writer = minimal_1.default.Writer.create()) {
15
+ if (message.sessionId !== "") {
16
+ writer.uint32(10).string(message.sessionId);
17
+ }
18
+ if (message.application !== "") {
19
+ writer.uint32(18).string(message.application);
20
+ }
21
+ return writer;
22
+ },
23
+ decode(input, length) {
24
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
25
+ let end = length === undefined ? reader.len : reader.pos + length;
26
+ const message = createBaseGetSessionRecordingRequest();
27
+ while (reader.pos < end) {
28
+ const tag = reader.uint32();
29
+ switch (tag >>> 3) {
30
+ case 1:
31
+ if (tag !== 10) {
32
+ break;
33
+ }
34
+ message.sessionId = reader.string();
35
+ continue;
36
+ case 2:
37
+ if (tag !== 18) {
38
+ break;
39
+ }
40
+ message.application = reader.string();
41
+ continue;
42
+ }
43
+ if ((tag & 7) === 4 || tag === 0) {
44
+ break;
45
+ }
46
+ reader.skipType(tag & 7);
47
+ }
48
+ return message;
49
+ },
50
+ fromJSON(object) {
51
+ return {
52
+ sessionId: isSet(object.sessionId) ? globalThis.String(object.sessionId) : "",
53
+ application: isSet(object.application) ? globalThis.String(object.application) : "",
54
+ };
55
+ },
56
+ toJSON(message) {
57
+ const obj = {};
58
+ if (message.sessionId !== "") {
59
+ obj.sessionId = message.sessionId;
60
+ }
61
+ if (message.application !== "") {
62
+ obj.application = message.application;
63
+ }
64
+ return obj;
65
+ },
66
+ create(base) {
67
+ return exports.GetSessionRecordingRequest.fromPartial(base !== null && base !== void 0 ? base : {});
68
+ },
69
+ fromPartial(object) {
70
+ var _a, _b;
71
+ const message = createBaseGetSessionRecordingRequest();
72
+ message.sessionId = (_a = object.sessionId) !== null && _a !== void 0 ? _a : "";
73
+ message.application = (_b = object.application) !== null && _b !== void 0 ? _b : "";
74
+ return message;
75
+ },
76
+ };
77
+ function createBaseGetSessionRecordingResponse() {
78
+ return { sessionRecordings: new Uint8Array(0) };
79
+ }
80
+ exports.GetSessionRecordingResponse = {
81
+ encode(message, writer = minimal_1.default.Writer.create()) {
82
+ if (message.sessionRecordings.length !== 0) {
83
+ writer.uint32(10).bytes(message.sessionRecordings);
84
+ }
85
+ return writer;
86
+ },
87
+ decode(input, length) {
88
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
89
+ let end = length === undefined ? reader.len : reader.pos + length;
90
+ const message = createBaseGetSessionRecordingResponse();
91
+ while (reader.pos < end) {
92
+ const tag = reader.uint32();
93
+ switch (tag >>> 3) {
94
+ case 1:
95
+ if (tag !== 10) {
96
+ break;
97
+ }
98
+ message.sessionRecordings = reader.bytes();
99
+ continue;
100
+ }
101
+ if ((tag & 7) === 4 || tag === 0) {
102
+ break;
103
+ }
104
+ reader.skipType(tag & 7);
105
+ }
106
+ return message;
107
+ },
108
+ fromJSON(object) {
109
+ return {
110
+ sessionRecordings: isSet(object.sessionRecordings)
111
+ ? bytesFromBase64(object.sessionRecordings)
112
+ : new Uint8Array(0),
113
+ };
114
+ },
115
+ toJSON(message) {
116
+ const obj = {};
117
+ if (message.sessionRecordings.length !== 0) {
118
+ obj.sessionRecordings = base64FromBytes(message.sessionRecordings);
119
+ }
120
+ return obj;
121
+ },
122
+ create(base) {
123
+ return exports.GetSessionRecordingResponse.fromPartial(base !== null && base !== void 0 ? base : {});
124
+ },
125
+ fromPartial(object) {
126
+ var _a;
127
+ const message = createBaseGetSessionRecordingResponse();
128
+ message.sessionRecordings = (_a = object.sessionRecordings) !== null && _a !== void 0 ? _a : new Uint8Array(0);
129
+ return message;
130
+ },
131
+ };
132
+ exports.RumSessionRecordingServiceDefinition = {
133
+ name: "RumSessionRecordingService",
134
+ fullName: "com.coralogix.rum.v2.RumSessionRecordingService",
135
+ methods: {
136
+ getSessionRecording: {
137
+ name: "GetSessionRecording",
138
+ requestType: exports.GetSessionRecordingRequest,
139
+ requestStream: false,
140
+ responseType: exports.GetSessionRecordingResponse,
141
+ responseStream: false,
142
+ options: {},
143
+ },
144
+ },
145
+ };
146
+ function bytesFromBase64(b64) {
147
+ if (globalThis.Buffer) {
148
+ return Uint8Array.from(globalThis.Buffer.from(b64, "base64"));
149
+ }
150
+ else {
151
+ const bin = globalThis.atob(b64);
152
+ const arr = new Uint8Array(bin.length);
153
+ for (let i = 0; i < bin.length; ++i) {
154
+ arr[i] = bin.charCodeAt(i);
155
+ }
156
+ return arr;
157
+ }
158
+ }
159
+ function base64FromBytes(arr) {
160
+ if (globalThis.Buffer) {
161
+ return globalThis.Buffer.from(arr).toString("base64");
162
+ }
163
+ else {
164
+ const bin = [];
165
+ arr.forEach((byte) => {
166
+ bin.push(globalThis.String.fromCharCode(byte));
167
+ });
168
+ return globalThis.btoa(bin.join(""));
169
+ }
170
+ }
171
+ function isSet(value) {
172
+ return value !== null && value !== undefined;
173
+ }
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVtX3Nlc3Npb25fcmVjb3JkaW5nX3NlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm90by1tb2RlbHMvY29tL2NvcmFsb2dpeC9ydW0vdjIvcnVtX3Nlc3Npb25fcmVjb3JkaW5nX3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLGlFQUFxQztBQUV4QixRQUFBLGVBQWUsR0FBRyxzQkFBc0IsQ0FBQztBQVd0RCxTQUFTLG9DQUFvQztJQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUM7QUFDNUMsQ0FBQztBQUVZLFFBQUEsMEJBQTBCLEdBQUc7SUFDeEMsTUFBTSxDQUFDLE9BQW1DLEVBQUUsU0FBcUIsaUJBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQ2xGLElBQUksT0FBTyxDQUFDLFNBQVMsS0FBSyxFQUFFLEVBQUU7WUFDNUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzdDO1FBQ0QsSUFBSSxPQUFPLENBQUMsV0FBVyxLQUFLLEVBQUUsRUFBRTtZQUM5QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDL0M7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQThCLEVBQUUsTUFBZTtRQUNwRCxNQUFNLE1BQU0sR0FBRyxLQUFLLFlBQVksaUJBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsaUJBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlFLElBQUksR0FBRyxHQUFHLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ2xFLE1BQU0sT0FBTyxHQUFHLG9DQUFvQyxFQUFFLENBQUM7UUFDdkQsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRTtZQUN2QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDNUIsUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFO2dCQUNqQixLQUFLLENBQUM7b0JBQ0osSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFO3dCQUNkLE1BQU07cUJBQ1A7b0JBRUQsT0FBTyxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ3BDLFNBQVM7Z0JBQ1gsS0FBSyxDQUFDO29CQUNKLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRTt3QkFDZCxNQUFNO3FCQUNQO29CQUVELE9BQU8sQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUN0QyxTQUFTO2FBQ1o7WUFDRCxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxFQUFFO2dCQUNoQyxNQUFNO2FBQ1A7WUFDRCxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMxQjtRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBVztRQUNsQixPQUFPO1lBQ0wsU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzdFLFdBQVcsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUNwRixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFtQztRQUN4QyxNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUM7UUFDcEIsSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLEVBQUUsRUFBRTtZQUM1QixHQUFHLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7U0FDbkM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxXQUFXLEtBQUssRUFBRSxFQUFFO1lBQzlCLEdBQUcsQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQztTQUN2QztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUE4QztRQUNuRCxPQUFPLGtDQUEwQixDQUFDLFdBQVcsQ0FBQyxJQUFJLGFBQUosSUFBSSxjQUFKLElBQUksR0FBSSxFQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBQ0QsV0FBVyxDQUFDLE1BQStDOztRQUN6RCxNQUFNLE9BQU8sR0FBRyxvQ0FBb0MsRUFBRSxDQUFDO1FBQ3ZELE9BQU8sQ0FBQyxTQUFTLEdBQUcsTUFBQSxNQUFNLENBQUMsU0FBUyxtQ0FBSSxFQUFFLENBQUM7UUFDM0MsT0FBTyxDQUFDLFdBQVcsR0FBRyxNQUFBLE1BQU0sQ0FBQyxXQUFXLG1DQUFJLEVBQUUsQ0FBQztRQUMvQyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YsQ0FBQztBQUVGLFNBQVMscUNBQXFDO0lBQzVDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ2xELENBQUM7QUFFWSxRQUFBLDJCQUEyQixHQUFHO0lBQ3pDLE1BQU0sQ0FBQyxPQUFvQyxFQUFFLFNBQXFCLGlCQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUNuRixJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1NBQ3BEO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUE4QixFQUFFLE1BQWU7UUFDcEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxZQUFZLGlCQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGlCQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5RSxJQUFJLEdBQUcsR0FBRyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUNsRSxNQUFNLE9BQU8sR0FBRyxxQ0FBcUMsRUFBRSxDQUFDO1FBQ3hELE9BQU8sTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUU7WUFDdkIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVCLFFBQVEsR0FBRyxLQUFLLENBQUMsRUFBRTtnQkFDakIsS0FBSyxDQUFDO29CQUNKLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRTt3QkFDZCxNQUFNO3FCQUNQO29CQUVELE9BQU8sQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQzNDLFNBQVM7YUFDWjtZQUNELElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUU7Z0JBQ2hDLE1BQU07YUFDUDtZQUNELE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzFCO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFXO1FBQ2xCLE9BQU87WUFDTCxpQkFBaUIsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDO2dCQUNoRCxDQUFDLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQztnQkFDM0MsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQztTQUN0QixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFvQztRQUN6QyxNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUM7UUFDcEIsSUFBSSxPQUFPLENBQUMsaUJBQWlCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMxQyxHQUFHLENBQUMsaUJBQWlCLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1NBQ3BFO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQStDO1FBQ3BELE9BQU8sbUNBQTJCLENBQUMsV0FBVyxDQUFDLElBQUksYUFBSixJQUFJLGNBQUosSUFBSSxHQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFDRCxXQUFXLENBQUMsTUFBZ0Q7O1FBQzFELE1BQU0sT0FBTyxHQUFHLHFDQUFxQyxFQUFFLENBQUM7UUFDeEQsT0FBTyxDQUFDLGlCQUFpQixHQUFHLE1BQUEsTUFBTSxDQUFDLGlCQUFpQixtQ0FBSSxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRSxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YsQ0FBQztBQUdXLFFBQUEsb0NBQW9DLEdBQUc7SUFDbEQsSUFBSSxFQUFFLDRCQUE0QjtJQUNsQyxRQUFRLEVBQUUsaURBQWlEO0lBQzNELE9BQU8sRUFBRTtRQUNQLG1CQUFtQixFQUFFO1lBQ25CLElBQUksRUFBRSxxQkFBcUI7WUFDM0IsV0FBVyxFQUFFLGtDQUEwQjtZQUN2QyxhQUFhLEVBQUUsS0FBSztZQUNwQixZQUFZLEVBQUUsbUNBQTJCO1lBQ3pDLGNBQWMsRUFBRSxLQUFLO1lBQ3JCLE9BQU8sRUFBRSxFQUFFO1NBQ1o7S0FDRjtDQUNPLENBQUM7QUFFWCxTQUFTLGVBQWUsQ0FBQyxHQUFXO0lBQ2xDLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRTtRQUNyQixPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7S0FDL0Q7U0FBTTtRQUNMLE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakMsTUFBTSxHQUFHLEdBQUcsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFO1lBQ25DLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzVCO1FBQ0QsT0FBTyxHQUFHLENBQUM7S0FDWjtBQUNILENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxHQUFlO0lBQ3RDLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRTtRQUNyQixPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUN2RDtTQUFNO1FBQ0wsTUFBTSxHQUFHLEdBQWEsRUFBRSxDQUFDO1FBQ3pCLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNuQixHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0tBQ3RDO0FBQ0gsQ0FBQztBQVdELFNBQVMsS0FBSyxDQUFDLEtBQVU7SUFDdkIsT0FBTyxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLENBQUM7QUFDL0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlICovXG5pbXBvcnQgX20wIGZyb20gXCJwcm90b2J1ZmpzL21pbmltYWxcIjtcblxuZXhwb3J0IGNvbnN0IHByb3RvYnVmUGFja2FnZSA9IFwiY29tLmNvcmFsb2dpeC5ydW0udjJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBHZXRTZXNzaW9uUmVjb3JkaW5nUmVxdWVzdCB7XG4gIHNlc3Npb25JZDogc3RyaW5nO1xuICBhcHBsaWNhdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFNlc3Npb25SZWNvcmRpbmdSZXNwb25zZSB7XG4gIHNlc3Npb25SZWNvcmRpbmdzOiBVaW50OEFycmF5O1xufVxuXG5mdW5jdGlvbiBjcmVhdGVCYXNlR2V0U2Vzc2lvblJlY29yZGluZ1JlcXVlc3QoKTogR2V0U2Vzc2lvblJlY29yZGluZ1JlcXVlc3Qge1xuICByZXR1cm4geyBzZXNzaW9uSWQ6IFwiXCIsIGFwcGxpY2F0aW9uOiBcIlwiIH07XG59XG5cbmV4cG9ydCBjb25zdCBHZXRTZXNzaW9uUmVjb3JkaW5nUmVxdWVzdCA9IHtcbiAgZW5jb2RlKG1lc3NhZ2U6IEdldFNlc3Npb25SZWNvcmRpbmdSZXF1ZXN0LCB3cml0ZXI6IF9tMC5Xcml0ZXIgPSBfbTAuV3JpdGVyLmNyZWF0ZSgpKTogX20wLldyaXRlciB7XG4gICAgaWYgKG1lc3NhZ2Uuc2Vzc2lvbklkICE9PSBcIlwiKSB7XG4gICAgICB3cml0ZXIudWludDMyKDEwKS5zdHJpbmcobWVzc2FnZS5zZXNzaW9uSWQpO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZS5hcHBsaWNhdGlvbiAhPT0gXCJcIikge1xuICAgICAgd3JpdGVyLnVpbnQzMigxOCkuc3RyaW5nKG1lc3NhZ2UuYXBwbGljYXRpb24pO1xuICAgIH1cbiAgICByZXR1cm4gd3JpdGVyO1xuICB9LFxuXG4gIGRlY29kZShpbnB1dDogX20wLlJlYWRlciB8IFVpbnQ4QXJyYXksIGxlbmd0aD86IG51bWJlcik6IEdldFNlc3Npb25SZWNvcmRpbmdSZXF1ZXN0IHtcbiAgICBjb25zdCByZWFkZXIgPSBpbnB1dCBpbnN0YW5jZW9mIF9tMC5SZWFkZXIgPyBpbnB1dCA6IF9tMC5SZWFkZXIuY3JlYXRlKGlucHV0KTtcbiAgICBsZXQgZW5kID0gbGVuZ3RoID09PSB1bmRlZmluZWQgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICBjb25zdCBtZXNzYWdlID0gY3JlYXRlQmFzZUdldFNlc3Npb25SZWNvcmRpbmdSZXF1ZXN0KCk7XG4gICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgIGNhc2UgMTpcbiAgICAgICAgICBpZiAodGFnICE9PSAxMCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWVzc2FnZS5zZXNzaW9uSWQgPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgICBpZiAodGFnICE9PSAxOCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWVzc2FnZS5hcHBsaWNhdGlvbiA9IHJlYWRlci5zdHJpbmcoKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGlmICgodGFnICYgNykgPT09IDQgfHwgdGFnID09PSAwKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgcmVhZGVyLnNraXBUeXBlKHRhZyAmIDcpO1xuICAgIH1cbiAgICByZXR1cm4gbWVzc2FnZTtcbiAgfSxcblxuICBmcm9tSlNPTihvYmplY3Q6IGFueSk6IEdldFNlc3Npb25SZWNvcmRpbmdSZXF1ZXN0IHtcbiAgICByZXR1cm4ge1xuICAgICAgc2Vzc2lvbklkOiBpc1NldChvYmplY3Quc2Vzc2lvbklkKSA/IGdsb2JhbFRoaXMuU3RyaW5nKG9iamVjdC5zZXNzaW9uSWQpIDogXCJcIixcbiAgICAgIGFwcGxpY2F0aW9uOiBpc1NldChvYmplY3QuYXBwbGljYXRpb24pID8gZ2xvYmFsVGhpcy5TdHJpbmcob2JqZWN0LmFwcGxpY2F0aW9uKSA6IFwiXCIsXG4gICAgfTtcbiAgfSxcblxuICB0b0pTT04obWVzc2FnZTogR2V0U2Vzc2lvblJlY29yZGluZ1JlcXVlc3QpOiB1bmtub3duIHtcbiAgICBjb25zdCBvYmo6IGFueSA9IHt9O1xuICAgIGlmIChtZXNzYWdlLnNlc3Npb25JZCAhPT0gXCJcIikge1xuICAgICAgb2JqLnNlc3Npb25JZCA9IG1lc3NhZ2Uuc2Vzc2lvbklkO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZS5hcHBsaWNhdGlvbiAhPT0gXCJcIikge1xuICAgICAgb2JqLmFwcGxpY2F0aW9uID0gbWVzc2FnZS5hcHBsaWNhdGlvbjtcbiAgICB9XG4gICAgcmV0dXJuIG9iajtcbiAgfSxcblxuICBjcmVhdGUoYmFzZT86IERlZXBQYXJ0aWFsPEdldFNlc3Npb25SZWNvcmRpbmdSZXF1ZXN0Pik6IEdldFNlc3Npb25SZWNvcmRpbmdSZXF1ZXN0IHtcbiAgICByZXR1cm4gR2V0U2Vzc2lvblJlY29yZGluZ1JlcXVlc3QuZnJvbVBhcnRpYWwoYmFzZSA/PyB7fSk7XG4gIH0sXG4gIGZyb21QYXJ0aWFsKG9iamVjdDogRGVlcFBhcnRpYWw8R2V0U2Vzc2lvblJlY29yZGluZ1JlcXVlc3Q+KTogR2V0U2Vzc2lvblJlY29yZGluZ1JlcXVlc3Qge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBjcmVhdGVCYXNlR2V0U2Vzc2lvblJlY29yZGluZ1JlcXVlc3QoKTtcbiAgICBtZXNzYWdlLnNlc3Npb25JZCA9IG9iamVjdC5zZXNzaW9uSWQgPz8gXCJcIjtcbiAgICBtZXNzYWdlLmFwcGxpY2F0aW9uID0gb2JqZWN0LmFwcGxpY2F0aW9uID8/IFwiXCI7XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG59O1xuXG5mdW5jdGlvbiBjcmVhdGVCYXNlR2V0U2Vzc2lvblJlY29yZGluZ1Jlc3BvbnNlKCk6IEdldFNlc3Npb25SZWNvcmRpbmdSZXNwb25zZSB7XG4gIHJldHVybiB7IHNlc3Npb25SZWNvcmRpbmdzOiBuZXcgVWludDhBcnJheSgwKSB9O1xufVxuXG5leHBvcnQgY29uc3QgR2V0U2Vzc2lvblJlY29yZGluZ1Jlc3BvbnNlID0ge1xuICBlbmNvZGUobWVzc2FnZTogR2V0U2Vzc2lvblJlY29yZGluZ1Jlc3BvbnNlLCB3cml0ZXI6IF9tMC5Xcml0ZXIgPSBfbTAuV3JpdGVyLmNyZWF0ZSgpKTogX20wLldyaXRlciB7XG4gICAgaWYgKG1lc3NhZ2Uuc2Vzc2lvblJlY29yZGluZ3MubGVuZ3RoICE9PSAwKSB7XG4gICAgICB3cml0ZXIudWludDMyKDEwKS5ieXRlcyhtZXNzYWdlLnNlc3Npb25SZWNvcmRpbmdzKTtcbiAgICB9XG4gICAgcmV0dXJuIHdyaXRlcjtcbiAgfSxcblxuICBkZWNvZGUoaW5wdXQ6IF9tMC5SZWFkZXIgfCBVaW50OEFycmF5LCBsZW5ndGg/OiBudW1iZXIpOiBHZXRTZXNzaW9uUmVjb3JkaW5nUmVzcG9uc2Uge1xuICAgIGNvbnN0IHJlYWRlciA9IGlucHV0IGluc3RhbmNlb2YgX20wLlJlYWRlciA/IGlucHV0IDogX20wLlJlYWRlci5jcmVhdGUoaW5wdXQpO1xuICAgIGxldCBlbmQgPSBsZW5ndGggPT09IHVuZGVmaW5lZCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBjcmVhdGVCYXNlR2V0U2Vzc2lvblJlY29yZGluZ1Jlc3BvbnNlKCk7XG4gICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgIGNhc2UgMTpcbiAgICAgICAgICBpZiAodGFnICE9PSAxMCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWVzc2FnZS5zZXNzaW9uUmVjb3JkaW5ncyA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgaWYgKCh0YWcgJiA3KSA9PT0gNCB8fCB0YWcgPT09IDApIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgfVxuICAgIHJldHVybiBtZXNzYWdlO1xuICB9LFxuXG4gIGZyb21KU09OKG9iamVjdDogYW55KTogR2V0U2Vzc2lvblJlY29yZGluZ1Jlc3BvbnNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2Vzc2lvblJlY29yZGluZ3M6IGlzU2V0KG9iamVjdC5zZXNzaW9uUmVjb3JkaW5ncylcbiAgICAgICAgPyBieXRlc0Zyb21CYXNlNjQob2JqZWN0LnNlc3Npb25SZWNvcmRpbmdzKVxuICAgICAgICA6IG5ldyBVaW50OEFycmF5KDApLFxuICAgIH07XG4gIH0sXG5cbiAgdG9KU09OKG1lc3NhZ2U6IEdldFNlc3Npb25SZWNvcmRpbmdSZXNwb25zZSk6IHVua25vd24ge1xuICAgIGNvbnN0IG9iajogYW55ID0ge307XG4gICAgaWYgKG1lc3NhZ2Uuc2Vzc2lvblJlY29yZGluZ3MubGVuZ3RoICE9PSAwKSB7XG4gICAgICBvYmouc2Vzc2lvblJlY29yZGluZ3MgPSBiYXNlNjRGcm9tQnl0ZXMobWVzc2FnZS5zZXNzaW9uUmVjb3JkaW5ncyk7XG4gICAgfVxuICAgIHJldHVybiBvYmo7XG4gIH0sXG5cbiAgY3JlYXRlKGJhc2U/OiBEZWVwUGFydGlhbDxHZXRTZXNzaW9uUmVjb3JkaW5nUmVzcG9uc2U+KTogR2V0U2Vzc2lvblJlY29yZGluZ1Jlc3BvbnNlIHtcbiAgICByZXR1cm4gR2V0U2Vzc2lvblJlY29yZGluZ1Jlc3BvbnNlLmZyb21QYXJ0aWFsKGJhc2UgPz8ge30pO1xuICB9LFxuICBmcm9tUGFydGlhbChvYmplY3Q6IERlZXBQYXJ0aWFsPEdldFNlc3Npb25SZWNvcmRpbmdSZXNwb25zZT4pOiBHZXRTZXNzaW9uUmVjb3JkaW5nUmVzcG9uc2Uge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBjcmVhdGVCYXNlR2V0U2Vzc2lvblJlY29yZGluZ1Jlc3BvbnNlKCk7XG4gICAgbWVzc2FnZS5zZXNzaW9uUmVjb3JkaW5ncyA9IG9iamVjdC5zZXNzaW9uUmVjb3JkaW5ncyA/PyBuZXcgVWludDhBcnJheSgwKTtcbiAgICByZXR1cm4gbWVzc2FnZTtcbiAgfSxcbn07XG5cbmV4cG9ydCB0eXBlIFJ1bVNlc3Npb25SZWNvcmRpbmdTZXJ2aWNlRGVmaW5pdGlvbiA9IHR5cGVvZiBSdW1TZXNzaW9uUmVjb3JkaW5nU2VydmljZURlZmluaXRpb247XG5leHBvcnQgY29uc3QgUnVtU2Vzc2lvblJlY29yZGluZ1NlcnZpY2VEZWZpbml0aW9uID0ge1xuICBuYW1lOiBcIlJ1bVNlc3Npb25SZWNvcmRpbmdTZXJ2aWNlXCIsXG4gIGZ1bGxOYW1lOiBcImNvbS5jb3JhbG9naXgucnVtLnYyLlJ1bVNlc3Npb25SZWNvcmRpbmdTZXJ2aWNlXCIsXG4gIG1ldGhvZHM6IHtcbiAgICBnZXRTZXNzaW9uUmVjb3JkaW5nOiB7XG4gICAgICBuYW1lOiBcIkdldFNlc3Npb25SZWNvcmRpbmdcIixcbiAgICAgIHJlcXVlc3RUeXBlOiBHZXRTZXNzaW9uUmVjb3JkaW5nUmVxdWVzdCxcbiAgICAgIHJlcXVlc3RTdHJlYW06IGZhbHNlLFxuICAgICAgcmVzcG9uc2VUeXBlOiBHZXRTZXNzaW9uUmVjb3JkaW5nUmVzcG9uc2UsXG4gICAgICByZXNwb25zZVN0cmVhbTogZmFsc2UsXG4gICAgICBvcHRpb25zOiB7fSxcbiAgICB9LFxuICB9LFxufSBhcyBjb25zdDtcblxuZnVuY3Rpb24gYnl0ZXNGcm9tQmFzZTY0KGI2NDogc3RyaW5nKTogVWludDhBcnJheSB7XG4gIGlmIChnbG9iYWxUaGlzLkJ1ZmZlcikge1xuICAgIHJldHVybiBVaW50OEFycmF5LmZyb20oZ2xvYmFsVGhpcy5CdWZmZXIuZnJvbShiNjQsIFwiYmFzZTY0XCIpKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBiaW4gPSBnbG9iYWxUaGlzLmF0b2IoYjY0KTtcbiAgICBjb25zdCBhcnIgPSBuZXcgVWludDhBcnJheShiaW4ubGVuZ3RoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGJpbi5sZW5ndGg7ICsraSkge1xuICAgICAgYXJyW2ldID0gYmluLmNoYXJDb2RlQXQoaSk7XG4gICAgfVxuICAgIHJldHVybiBhcnI7XG4gIH1cbn1cblxuZnVuY3Rpb24gYmFzZTY0RnJvbUJ5dGVzKGFycjogVWludDhBcnJheSk6IHN0cmluZyB7XG4gIGlmIChnbG9iYWxUaGlzLkJ1ZmZlcikge1xuICAgIHJldHVybiBnbG9iYWxUaGlzLkJ1ZmZlci5mcm9tKGFycikudG9TdHJpbmcoXCJiYXNlNjRcIik7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgYmluOiBzdHJpbmdbXSA9IFtdO1xuICAgIGFyci5mb3JFYWNoKChieXRlKSA9PiB7XG4gICAgICBiaW4ucHVzaChnbG9iYWxUaGlzLlN0cmluZy5mcm9tQ2hhckNvZGUoYnl0ZSkpO1xuICAgIH0pO1xuICAgIHJldHVybiBnbG9iYWxUaGlzLmJ0b2EoYmluLmpvaW4oXCJcIikpO1xuICB9XG59XG5cbnR5cGUgQnVpbHRpbiA9IERhdGUgfCBGdW5jdGlvbiB8IFVpbnQ4QXJyYXkgfCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG5leHBvcnQgdHlwZSBEZWVwUGFydGlhbDxUPiA9IFQgZXh0ZW5kcyBCdWlsdGluID8gVFxuICA6IFQgZXh0ZW5kcyBnbG9iYWxUaGlzLkFycmF5PGluZmVyIFU+ID8gZ2xvYmFsVGhpcy5BcnJheTxEZWVwUGFydGlhbDxVPj5cbiAgOiBUIGV4dGVuZHMgUmVhZG9ubHlBcnJheTxpbmZlciBVPiA/IFJlYWRvbmx5QXJyYXk8RGVlcFBhcnRpYWw8VT4+XG4gIDogVCBleHRlbmRzIHsgJGNhc2U6IHN0cmluZyB9ID8geyBbSyBpbiBrZXlvZiBPbWl0PFQsIFwiJGNhc2VcIj5dPzogRGVlcFBhcnRpYWw8VFtLXT4gfSAmIHsgJGNhc2U6IFRbXCIkY2FzZVwiXSB9XG4gIDogVCBleHRlbmRzIHt9ID8geyBbSyBpbiBrZXlvZiBUXT86IERlZXBQYXJ0aWFsPFRbS10+IH1cbiAgOiBQYXJ0aWFsPFQ+O1xuXG5mdW5jdGlvbiBpc1NldCh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkO1xufVxuIl19
@@ -9,8 +9,24 @@ export interface UploadSourceMapsRequest {
9
9
  user?: string | undefined;
10
10
  files: FileMetadata[];
11
11
  }
12
+ export interface UpdateSourceMapRequest {
13
+ application: string;
14
+ releaseId: string;
15
+ commitHash?: string | undefined;
16
+ repoName?: string | undefined;
17
+ user?: string | undefined;
18
+ files: FileMetadata[];
19
+ }
20
+ export interface DeleteSourceMapRequest {
21
+ application: string;
22
+ releaseId: string;
23
+ }
12
24
  export interface UploadSourceMapsResponse {
13
25
  }
26
+ export interface UpdateSourceMapResponse {
27
+ }
28
+ export interface DeleteSourceMapResponse {
29
+ }
14
30
  export declare const UploadSourceMapsRequest: {
15
31
  encode(message: UploadSourceMapsRequest, writer?: _m0.Writer): _m0.Writer;
16
32
  decode(input: _m0.Reader | Uint8Array, length?: number): UploadSourceMapsRequest;
@@ -19,6 +35,22 @@ export declare const UploadSourceMapsRequest: {
19
35
  create(base?: DeepPartial<UploadSourceMapsRequest>): UploadSourceMapsRequest;
20
36
  fromPartial(object: DeepPartial<UploadSourceMapsRequest>): UploadSourceMapsRequest;
21
37
  };
38
+ export declare const UpdateSourceMapRequest: {
39
+ encode(message: UpdateSourceMapRequest, writer?: _m0.Writer): _m0.Writer;
40
+ decode(input: _m0.Reader | Uint8Array, length?: number): UpdateSourceMapRequest;
41
+ fromJSON(object: any): UpdateSourceMapRequest;
42
+ toJSON(message: UpdateSourceMapRequest): unknown;
43
+ create(base?: DeepPartial<UpdateSourceMapRequest>): UpdateSourceMapRequest;
44
+ fromPartial(object: DeepPartial<UpdateSourceMapRequest>): UpdateSourceMapRequest;
45
+ };
46
+ export declare const DeleteSourceMapRequest: {
47
+ encode(message: DeleteSourceMapRequest, writer?: _m0.Writer): _m0.Writer;
48
+ decode(input: _m0.Reader | Uint8Array, length?: number): DeleteSourceMapRequest;
49
+ fromJSON(object: any): DeleteSourceMapRequest;
50
+ toJSON(message: DeleteSourceMapRequest): unknown;
51
+ create(base?: DeepPartial<DeleteSourceMapRequest>): DeleteSourceMapRequest;
52
+ fromPartial(object: DeepPartial<DeleteSourceMapRequest>): DeleteSourceMapRequest;
53
+ };
22
54
  export declare const UploadSourceMapsResponse: {
23
55
  encode(_: UploadSourceMapsResponse, writer?: _m0.Writer): _m0.Writer;
24
56
  decode(input: _m0.Reader | Uint8Array, length?: number): UploadSourceMapsResponse;
@@ -27,6 +59,22 @@ export declare const UploadSourceMapsResponse: {
27
59
  create(base?: DeepPartial<UploadSourceMapsResponse>): UploadSourceMapsResponse;
28
60
  fromPartial(_: DeepPartial<UploadSourceMapsResponse>): UploadSourceMapsResponse;
29
61
  };
62
+ export declare const UpdateSourceMapResponse: {
63
+ encode(_: UpdateSourceMapResponse, writer?: _m0.Writer): _m0.Writer;
64
+ decode(input: _m0.Reader | Uint8Array, length?: number): UpdateSourceMapResponse;
65
+ fromJSON(_: any): UpdateSourceMapResponse;
66
+ toJSON(_: UpdateSourceMapResponse): unknown;
67
+ create(base?: DeepPartial<UpdateSourceMapResponse>): UpdateSourceMapResponse;
68
+ fromPartial(_: DeepPartial<UpdateSourceMapResponse>): UpdateSourceMapResponse;
69
+ };
70
+ export declare const DeleteSourceMapResponse: {
71
+ encode(_: DeleteSourceMapResponse, writer?: _m0.Writer): _m0.Writer;
72
+ decode(input: _m0.Reader | Uint8Array, length?: number): DeleteSourceMapResponse;
73
+ fromJSON(_: any): DeleteSourceMapResponse;
74
+ toJSON(_: DeleteSourceMapResponse): unknown;
75
+ create(base?: DeepPartial<DeleteSourceMapResponse>): DeleteSourceMapResponse;
76
+ fromPartial(_: DeepPartial<DeleteSourceMapResponse>): DeleteSourceMapResponse;
77
+ };
30
78
  export type RumSourceMapServiceDefinition = typeof RumSourceMapServiceDefinition;
31
79
  export declare const RumSourceMapServiceDefinition: {
32
80
  readonly name: "RumSourceMapService";
@@ -54,10 +102,54 @@ export declare const RumSourceMapServiceDefinition: {
54
102
  readonly responseStream: false;
55
103
  readonly options: {};
56
104
  };
105
+ readonly updateSourceMap: {
106
+ readonly name: "UpdateSourceMap";
107
+ readonly requestType: {
108
+ encode(message: UpdateSourceMapRequest, writer?: _m0.Writer): _m0.Writer;
109
+ decode(input: _m0.Reader | Uint8Array, length?: number): UpdateSourceMapRequest;
110
+ fromJSON(object: any): UpdateSourceMapRequest;
111
+ toJSON(message: UpdateSourceMapRequest): unknown;
112
+ create(base?: DeepPartial<UpdateSourceMapRequest>): UpdateSourceMapRequest;
113
+ fromPartial(object: DeepPartial<UpdateSourceMapRequest>): UpdateSourceMapRequest;
114
+ };
115
+ readonly requestStream: false;
116
+ readonly responseType: {
117
+ encode(_: UpdateSourceMapResponse, writer?: _m0.Writer): _m0.Writer;
118
+ decode(input: _m0.Reader | Uint8Array, length?: number): UpdateSourceMapResponse;
119
+ fromJSON(_: any): UpdateSourceMapResponse;
120
+ toJSON(_: UpdateSourceMapResponse): unknown;
121
+ create(base?: DeepPartial<UpdateSourceMapResponse>): UpdateSourceMapResponse;
122
+ fromPartial(_: DeepPartial<UpdateSourceMapResponse>): UpdateSourceMapResponse;
123
+ };
124
+ readonly responseStream: false;
125
+ readonly options: {};
126
+ };
127
+ readonly deleteSourceMap: {
128
+ readonly name: "DeleteSourceMap";
129
+ readonly requestType: {
130
+ encode(message: DeleteSourceMapRequest, writer?: _m0.Writer): _m0.Writer;
131
+ decode(input: _m0.Reader | Uint8Array, length?: number): DeleteSourceMapRequest;
132
+ fromJSON(object: any): DeleteSourceMapRequest;
133
+ toJSON(message: DeleteSourceMapRequest): unknown;
134
+ create(base?: DeepPartial<DeleteSourceMapRequest>): DeleteSourceMapRequest;
135
+ fromPartial(object: DeepPartial<DeleteSourceMapRequest>): DeleteSourceMapRequest;
136
+ };
137
+ readonly requestStream: false;
138
+ readonly responseType: {
139
+ encode(_: DeleteSourceMapResponse, writer?: _m0.Writer): _m0.Writer;
140
+ decode(input: _m0.Reader | Uint8Array, length?: number): DeleteSourceMapResponse;
141
+ fromJSON(_: any): DeleteSourceMapResponse;
142
+ toJSON(_: DeleteSourceMapResponse): unknown;
143
+ create(base?: DeepPartial<DeleteSourceMapResponse>): DeleteSourceMapResponse;
144
+ fromPartial(_: DeepPartial<DeleteSourceMapResponse>): DeleteSourceMapResponse;
145
+ };
146
+ readonly responseStream: false;
147
+ readonly options: {};
148
+ };
57
149
  };
58
150
  };
59
151
  type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
60
- export type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {
152
+ export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {
61
153
  $case: string;
62
154
  } ? {
63
155
  [K in keyof Omit<T, "$case">]?: DeepPartial<T[K]>;