@coralogix/rum-cli 1.1.41 → 1.1.43
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/README.md +1 -0
- package/api/base/base.api.ts +29 -34
- package/api/dsym/dsym.api.ts +8 -0
- package/api/proguard/proguard.api.ts +8 -0
- package/api/react-native/react-native.api.ts +8 -0
- package/api/source-maps/source-maps.api.ts +4 -74
- package/cli/commands/dsym/upload-dsym-command.ts +4 -2
- package/cli/commands/proguard/upload-proguard-command.ts +4 -2
- package/cli/commands/react-native/upload-react-native-source-maps-command.ts +4 -2
- package/cli/commands/source-maps/upload-source-maps-command.ts +3 -2
- package/dist/api/base/base.api.d.ts +4 -5
- package/dist/api/base/base.api.js +16 -25
- package/dist/api/dsym/dsym.api.d.ts +2 -2
- package/dist/api/dsym/dsym.api.js +7 -3
- package/dist/api/proguard/proguard.api.d.ts +2 -2
- package/dist/api/proguard/proguard.api.js +7 -3
- package/dist/api/react-native/react-native.api.d.ts +2 -2
- package/dist/api/react-native/react-native.api.js +7 -3
- package/dist/api/source-maps/source-maps.api.d.ts +2 -5
- package/dist/api/source-maps/source-maps.api.js +5 -55
- package/dist/cli/commands/dsym/upload-dsym-command.js +5 -3
- package/dist/cli/commands/proguard/upload-proguard-command.js +5 -3
- package/dist/cli/commands/react-native/upload-react-native-source-maps-command.js +5 -3
- package/dist/cli/commands/source-maps/upload-source-maps-command.js +4 -3
- package/dist/grpc-client/grpc-client-factory.d.ts +86 -0
- package/dist/models/dsym-commands.model.d.ts +2 -0
- package/dist/models/dsym-commands.model.js +1 -1
- package/dist/models/proguard-commands.model.d.ts +2 -0
- package/dist/models/proguard-commands.model.js +1 -1
- package/dist/models/react-native-commands.model.d.ts +2 -0
- package/dist/models/react-native-commands.model.js +1 -1
- package/dist/models/source-maps-commands.model.d.ts +1 -0
- package/dist/models/source-maps-commands.model.js +1 -1
- package/dist/proto-models/com/coralogix/blobset/v2/entity_metadata.d.ts +16 -0
- package/dist/proto-models/com/coralogix/blobset/v2/entity_metadata.js +162 -6
- package/dist/proto-models/com/coralogix/rum/v2/ai_assist.d.ts +89 -0
- package/dist/proto-models/com/coralogix/rum/v2/ai_assist.js +290 -0
- package/dist/proto-models/com/coralogix/rum/v2/release_entity_metadata.d.ts +15 -0
- package/dist/proto-models/com/coralogix/rum/v2/release_entity_metadata.js +133 -2
- package/dist/proto-models/com/coralogix/rum/v2/rum_source_map_service.d.ts +48 -1
- package/dist/proto-models/com/coralogix/rum/v2/rum_source_map_service.js +160 -2
- package/dist/proto-models/com/coralogix/rum/v2/saved_filter.d.ts +2 -1
- package/dist/proto-models/com/coralogix/rum/v2/saved_filter.js +7 -1
- package/dist/proto-models/google/protobuf/struct.d.ts +127 -0
- package/dist/proto-models/google/protobuf/struct.js +476 -0
- package/dist/services/base/base.service.d.ts +1 -1
- package/dist/services/base/base.service.js +7 -5
- package/dist/services/source-maps/source-maps.service.d.ts +0 -1
- package/dist/services/source-maps/source-maps.service.js +1 -23
- package/dist/utils/upload-mode.utils.d.ts +12 -0
- package/dist/utils/upload-mode.utils.js +26 -0
- package/dist/utils/version-context.utils.d.ts +20 -0
- package/dist/utils/version-context.utils.js +71 -0
- package/models/dsym-commands.model.ts +2 -0
- package/models/proguard-commands.model.ts +2 -0
- package/models/react-native-commands.model.ts +2 -0
- package/models/source-maps-commands.model.ts +1 -0
- package/package.json +2 -2
- package/protofetch.lock +4 -4
- package/protofetch.toml +2 -2
- package/services/base/base.service.ts +7 -3
- package/services/source-maps/source-maps.service.ts +0 -26
- package/utils/upload-mode.utils.ts +30 -0
- package/utils/version-context.utils.ts +95 -0
- package/proto-models/com/coralogix/blobset/v2/audit_log.ts +0 -84
- package/proto-models/com/coralogix/blobset/v2/blobset_query_service.ts +0 -64
- package/proto-models/com/coralogix/blobset/v2/blobset_service.ts +0 -209
- package/proto-models/com/coralogix/blobset/v2/case_file.ts +0 -188
- package/proto-models/com/coralogix/blobset/v2/dsym.ts +0 -434
- package/proto-models/com/coralogix/blobset/v2/entity_metadata.ts +0 -782
- package/proto-models/com/coralogix/blobset/v2/entity_type.ts +0 -68
- package/proto-models/com/coralogix/blobset/v2/investigation_file.ts +0 -188
- package/proto-models/com/coralogix/blobset/v2/proguard.ts +0 -466
- package/proto-models/com/coralogix/blobset/v2/s3_metadata.ts +0 -154
- package/proto-models/com/coralogix/blobset/v2/source_map.ts +0 -418
- package/proto-models/com/coralogix/rum/v2/analytics.ts +0 -924
- package/proto-models/com/coralogix/rum/v2/application_releases.ts +0 -213
- package/proto-models/com/coralogix/rum/v2/audit_log.ts +0 -84
- package/proto-models/com/coralogix/rum/v2/chunk.ts +0 -399
- package/proto-models/com/coralogix/rum/v2/file.ts +0 -159
- package/proto-models/com/coralogix/rum/v2/hide_errors.ts +0 -234
- package/proto-models/com/coralogix/rum/v2/merge_error.ts +0 -201
- package/proto-models/com/coralogix/rum/v2/release_entity_metadata.ts +0 -791
- package/proto-models/com/coralogix/rum/v2/release_entity_type.ts +0 -56
- package/proto-models/com/coralogix/rum/v2/rum_hide_errors_service.ts +0 -605
- package/proto-models/com/coralogix/rum/v2/rum_merge_erros_service.ts +0 -566
- package/proto-models/com/coralogix/rum/v2/rum_react_native_source_map_service.ts +0 -229
- package/proto-models/com/coralogix/rum/v2/rum_saved_filters_service.ts +0 -1679
- package/proto-models/com/coralogix/rum/v2/rum_sdk_versions.ts +0 -279
- package/proto-models/com/coralogix/rum/v2/rum_service.ts +0 -2620
- package/proto-models/com/coralogix/rum/v2/rum_session_recording_service.ts +0 -16
- package/proto-models/com/coralogix/rum/v2/rum_settings.ts +0 -215
- package/proto-models/com/coralogix/rum/v2/rum_settings_service.ts +0 -283
- package/proto-models/com/coralogix/rum/v2/rum_source_map_service.ts +0 -1069
- package/proto-models/com/coralogix/rum/v2/saved_filter.ts +0 -325
- package/proto-models/com/coralogix/rum/v2/source_code_file_mapping.ts +0 -358
- package/proto-models/com/coralogix/rum/v2/source_map_release.ts +0 -301
- package/proto-models/com/coralogix/rum/v2/template.ts +0 -620
- package/proto-models/google/protobuf/descriptor.ts +0 -4921
- package/protos/com/coralogix/blobset/v2/audit_log.proto +0 -13
- package/protos/com/coralogix/blobset/v2/blobset_query_service.proto +0 -19
- package/protos/com/coralogix/blobset/v2/blobset_service.proto +0 -18
- package/protos/com/coralogix/blobset/v2/case_file.proto +0 -12
- package/protos/com/coralogix/blobset/v2/dsym.proto +0 -20
- package/protos/com/coralogix/blobset/v2/entity_metadata.proto +0 -48
- package/protos/com/coralogix/blobset/v2/entity_type.proto +0 -13
- package/protos/com/coralogix/blobset/v2/investigation_file.proto +0 -12
- package/protos/com/coralogix/blobset/v2/proguard.proto +0 -30
- package/protos/com/coralogix/blobset/v2/s3_metadata.proto +0 -14
- package/protos/com/coralogix/blobset/v2/source_map.proto +0 -30
- package/protos/com/coralogix/rum/v2/analytics.proto +0 -57
- package/protos/com/coralogix/rum/v2/application_releases.proto +0 -14
- package/protos/com/coralogix/rum/v2/audit_log.proto +0 -13
- package/protos/com/coralogix/rum/v2/chunk.proto +0 -24
- package/protos/com/coralogix/rum/v2/file.proto +0 -8
- package/protos/com/coralogix/rum/v2/hide_errors.proto +0 -19
- package/protos/com/coralogix/rum/v2/merge_error.proto +0 -13
- package/protos/com/coralogix/rum/v2/release_entity_metadata.proto +0 -51
- package/protos/com/coralogix/rum/v2/release_entity_type.proto +0 -11
- package/protos/com/coralogix/rum/v2/rum_hide_errors_service.proto +0 -42
- package/protos/com/coralogix/rum/v2/rum_merge_erros_service.proto +0 -42
- package/protos/com/coralogix/rum/v2/rum_react_native_source_map_service.proto +0 -19
- package/protos/com/coralogix/rum/v2/rum_saved_filters_service.proto +0 -117
- package/protos/com/coralogix/rum/v2/rum_sdk_versions.proto +0 -17
- package/protos/com/coralogix/rum/v2/rum_service.proto +0 -167
- package/protos/com/coralogix/rum/v2/rum_session_recording_service.proto +0 -4
- package/protos/com/coralogix/rum/v2/rum_settings.proto +0 -26
- package/protos/com/coralogix/rum/v2/rum_settings_service.proto +0 -23
- package/protos/com/coralogix/rum/v2/rum_source_map_service.proto +0 -69
- package/protos/com/coralogix/rum/v2/saved_filter.proto +0 -31
- package/protos/com/coralogix/rum/v2/source_code_file_mapping.proto +0 -16
- package/protos/com/coralogix/rum/v2/source_map_release.proto +0 -18
- package/protos/com/coralogix/rum/v2/template.proto +0 -42
- package/protoset.bin +0 -0
|
@@ -0,0 +1,476 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
3
|
+
// versions:
|
|
4
|
+
// protoc-gen-ts_proto v1.181.1
|
|
5
|
+
// protoc v3.19.1
|
|
6
|
+
// source: google/protobuf/struct.proto
|
|
7
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
8
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
9
|
+
};
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.ListValue = exports.Value = exports.Struct_FieldsEntry = exports.Struct = exports.nullValueToJSON = exports.nullValueFromJSON = exports.NullValue = exports.protobufPackage = void 0;
|
|
12
|
+
/* eslint-disable */
|
|
13
|
+
const minimal_1 = __importDefault(require("protobufjs/minimal"));
|
|
14
|
+
exports.protobufPackage = "google.protobuf";
|
|
15
|
+
/**
|
|
16
|
+
* `NullValue` is a singleton enumeration to represent the null value for the
|
|
17
|
+
* `Value` type union.
|
|
18
|
+
*
|
|
19
|
+
* The JSON representation for `NullValue` is JSON `null`.
|
|
20
|
+
*/
|
|
21
|
+
var NullValue;
|
|
22
|
+
(function (NullValue) {
|
|
23
|
+
/** NULL_VALUE - Null value. */
|
|
24
|
+
NullValue[NullValue["NULL_VALUE"] = 0] = "NULL_VALUE";
|
|
25
|
+
})(NullValue = exports.NullValue || (exports.NullValue = {}));
|
|
26
|
+
function nullValueFromJSON(object) {
|
|
27
|
+
switch (object) {
|
|
28
|
+
case 0:
|
|
29
|
+
case "NULL_VALUE":
|
|
30
|
+
return NullValue.NULL_VALUE;
|
|
31
|
+
default:
|
|
32
|
+
throw new globalThis.Error("Unrecognized enum value " + object + " for enum NullValue");
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.nullValueFromJSON = nullValueFromJSON;
|
|
36
|
+
function nullValueToJSON(object) {
|
|
37
|
+
switch (object) {
|
|
38
|
+
case NullValue.NULL_VALUE:
|
|
39
|
+
return "NULL_VALUE";
|
|
40
|
+
default:
|
|
41
|
+
throw new globalThis.Error("Unrecognized enum value " + object + " for enum NullValue");
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.nullValueToJSON = nullValueToJSON;
|
|
45
|
+
function createBaseStruct() {
|
|
46
|
+
return { fields: {} };
|
|
47
|
+
}
|
|
48
|
+
exports.Struct = {
|
|
49
|
+
encode(message, writer = minimal_1.default.Writer.create()) {
|
|
50
|
+
Object.entries(message.fields).forEach(([key, value]) => {
|
|
51
|
+
if (value !== undefined) {
|
|
52
|
+
exports.Struct_FieldsEntry.encode({ key: key, value }, writer.uint32(10).fork()).ldelim();
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
return writer;
|
|
56
|
+
},
|
|
57
|
+
decode(input, length) {
|
|
58
|
+
const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
|
|
59
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
60
|
+
const message = createBaseStruct();
|
|
61
|
+
while (reader.pos < end) {
|
|
62
|
+
const tag = reader.uint32();
|
|
63
|
+
switch (tag >>> 3) {
|
|
64
|
+
case 1:
|
|
65
|
+
if (tag !== 10) {
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
const entry1 = exports.Struct_FieldsEntry.decode(reader, reader.uint32());
|
|
69
|
+
if (entry1.value !== undefined) {
|
|
70
|
+
message.fields[entry1.key] = entry1.value;
|
|
71
|
+
}
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
reader.skipType(tag & 7);
|
|
78
|
+
}
|
|
79
|
+
return message;
|
|
80
|
+
},
|
|
81
|
+
fromJSON(object) {
|
|
82
|
+
return {
|
|
83
|
+
fields: isObject(object.fields)
|
|
84
|
+
? Object.entries(object.fields).reduce((acc, [key, value]) => {
|
|
85
|
+
acc[key] = value;
|
|
86
|
+
return acc;
|
|
87
|
+
}, {})
|
|
88
|
+
: {},
|
|
89
|
+
};
|
|
90
|
+
},
|
|
91
|
+
toJSON(message) {
|
|
92
|
+
const obj = {};
|
|
93
|
+
if (message.fields) {
|
|
94
|
+
const entries = Object.entries(message.fields);
|
|
95
|
+
if (entries.length > 0) {
|
|
96
|
+
obj.fields = {};
|
|
97
|
+
entries.forEach(([k, v]) => {
|
|
98
|
+
obj.fields[k] = v;
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return obj;
|
|
103
|
+
},
|
|
104
|
+
create(base) {
|
|
105
|
+
return exports.Struct.fromPartial(base !== null && base !== void 0 ? base : {});
|
|
106
|
+
},
|
|
107
|
+
fromPartial(object) {
|
|
108
|
+
var _a;
|
|
109
|
+
const message = createBaseStruct();
|
|
110
|
+
message.fields = Object.entries((_a = object.fields) !== null && _a !== void 0 ? _a : {}).reduce((acc, [key, value]) => {
|
|
111
|
+
if (value !== undefined) {
|
|
112
|
+
acc[key] = value;
|
|
113
|
+
}
|
|
114
|
+
return acc;
|
|
115
|
+
}, {});
|
|
116
|
+
return message;
|
|
117
|
+
},
|
|
118
|
+
wrap(object) {
|
|
119
|
+
const struct = createBaseStruct();
|
|
120
|
+
if (object !== undefined) {
|
|
121
|
+
for (const key of Object.keys(object)) {
|
|
122
|
+
struct.fields[key] = object[key];
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return struct;
|
|
126
|
+
},
|
|
127
|
+
unwrap(message) {
|
|
128
|
+
const object = {};
|
|
129
|
+
if (message.fields) {
|
|
130
|
+
for (const key of Object.keys(message.fields)) {
|
|
131
|
+
object[key] = message.fields[key];
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return object;
|
|
135
|
+
},
|
|
136
|
+
};
|
|
137
|
+
function createBaseStruct_FieldsEntry() {
|
|
138
|
+
return { key: "", value: undefined };
|
|
139
|
+
}
|
|
140
|
+
exports.Struct_FieldsEntry = {
|
|
141
|
+
encode(message, writer = minimal_1.default.Writer.create()) {
|
|
142
|
+
if (message.key !== "") {
|
|
143
|
+
writer.uint32(10).string(message.key);
|
|
144
|
+
}
|
|
145
|
+
if (message.value !== undefined) {
|
|
146
|
+
exports.Value.encode(exports.Value.wrap(message.value), writer.uint32(18).fork()).ldelim();
|
|
147
|
+
}
|
|
148
|
+
return writer;
|
|
149
|
+
},
|
|
150
|
+
decode(input, length) {
|
|
151
|
+
const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
|
|
152
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
153
|
+
const message = createBaseStruct_FieldsEntry();
|
|
154
|
+
while (reader.pos < end) {
|
|
155
|
+
const tag = reader.uint32();
|
|
156
|
+
switch (tag >>> 3) {
|
|
157
|
+
case 1:
|
|
158
|
+
if (tag !== 10) {
|
|
159
|
+
break;
|
|
160
|
+
}
|
|
161
|
+
message.key = reader.string();
|
|
162
|
+
continue;
|
|
163
|
+
case 2:
|
|
164
|
+
if (tag !== 18) {
|
|
165
|
+
break;
|
|
166
|
+
}
|
|
167
|
+
message.value = exports.Value.unwrap(exports.Value.decode(reader, reader.uint32()));
|
|
168
|
+
continue;
|
|
169
|
+
}
|
|
170
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
171
|
+
break;
|
|
172
|
+
}
|
|
173
|
+
reader.skipType(tag & 7);
|
|
174
|
+
}
|
|
175
|
+
return message;
|
|
176
|
+
},
|
|
177
|
+
fromJSON(object) {
|
|
178
|
+
return {
|
|
179
|
+
key: isSet(object.key) ? globalThis.String(object.key) : "",
|
|
180
|
+
value: isSet(object === null || object === void 0 ? void 0 : object.value) ? object.value : undefined,
|
|
181
|
+
};
|
|
182
|
+
},
|
|
183
|
+
toJSON(message) {
|
|
184
|
+
const obj = {};
|
|
185
|
+
if (message.key !== "") {
|
|
186
|
+
obj.key = message.key;
|
|
187
|
+
}
|
|
188
|
+
if (message.value !== undefined) {
|
|
189
|
+
obj.value = message.value;
|
|
190
|
+
}
|
|
191
|
+
return obj;
|
|
192
|
+
},
|
|
193
|
+
create(base) {
|
|
194
|
+
return exports.Struct_FieldsEntry.fromPartial(base !== null && base !== void 0 ? base : {});
|
|
195
|
+
},
|
|
196
|
+
fromPartial(object) {
|
|
197
|
+
var _a, _b;
|
|
198
|
+
const message = createBaseStruct_FieldsEntry();
|
|
199
|
+
message.key = (_a = object.key) !== null && _a !== void 0 ? _a : "";
|
|
200
|
+
message.value = (_b = object.value) !== null && _b !== void 0 ? _b : undefined;
|
|
201
|
+
return message;
|
|
202
|
+
},
|
|
203
|
+
};
|
|
204
|
+
function createBaseValue() {
|
|
205
|
+
return { kind: undefined };
|
|
206
|
+
}
|
|
207
|
+
exports.Value = {
|
|
208
|
+
encode(message, writer = minimal_1.default.Writer.create()) {
|
|
209
|
+
var _a;
|
|
210
|
+
switch ((_a = message.kind) === null || _a === void 0 ? void 0 : _a.$case) {
|
|
211
|
+
case "nullValue":
|
|
212
|
+
writer.uint32(8).int32(message.kind.nullValue);
|
|
213
|
+
break;
|
|
214
|
+
case "numberValue":
|
|
215
|
+
writer.uint32(17).double(message.kind.numberValue);
|
|
216
|
+
break;
|
|
217
|
+
case "stringValue":
|
|
218
|
+
writer.uint32(26).string(message.kind.stringValue);
|
|
219
|
+
break;
|
|
220
|
+
case "boolValue":
|
|
221
|
+
writer.uint32(32).bool(message.kind.boolValue);
|
|
222
|
+
break;
|
|
223
|
+
case "structValue":
|
|
224
|
+
exports.Struct.encode(exports.Struct.wrap(message.kind.structValue), writer.uint32(42).fork()).ldelim();
|
|
225
|
+
break;
|
|
226
|
+
case "listValue":
|
|
227
|
+
exports.ListValue.encode(exports.ListValue.wrap(message.kind.listValue), writer.uint32(50).fork()).ldelim();
|
|
228
|
+
break;
|
|
229
|
+
}
|
|
230
|
+
return writer;
|
|
231
|
+
},
|
|
232
|
+
decode(input, length) {
|
|
233
|
+
const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
|
|
234
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
235
|
+
const message = createBaseValue();
|
|
236
|
+
while (reader.pos < end) {
|
|
237
|
+
const tag = reader.uint32();
|
|
238
|
+
switch (tag >>> 3) {
|
|
239
|
+
case 1:
|
|
240
|
+
if (tag !== 8) {
|
|
241
|
+
break;
|
|
242
|
+
}
|
|
243
|
+
message.kind = { $case: "nullValue", nullValue: reader.int32() };
|
|
244
|
+
continue;
|
|
245
|
+
case 2:
|
|
246
|
+
if (tag !== 17) {
|
|
247
|
+
break;
|
|
248
|
+
}
|
|
249
|
+
message.kind = { $case: "numberValue", numberValue: reader.double() };
|
|
250
|
+
continue;
|
|
251
|
+
case 3:
|
|
252
|
+
if (tag !== 26) {
|
|
253
|
+
break;
|
|
254
|
+
}
|
|
255
|
+
message.kind = { $case: "stringValue", stringValue: reader.string() };
|
|
256
|
+
continue;
|
|
257
|
+
case 4:
|
|
258
|
+
if (tag !== 32) {
|
|
259
|
+
break;
|
|
260
|
+
}
|
|
261
|
+
message.kind = { $case: "boolValue", boolValue: reader.bool() };
|
|
262
|
+
continue;
|
|
263
|
+
case 5:
|
|
264
|
+
if (tag !== 42) {
|
|
265
|
+
break;
|
|
266
|
+
}
|
|
267
|
+
message.kind = { $case: "structValue", structValue: exports.Struct.unwrap(exports.Struct.decode(reader, reader.uint32())) };
|
|
268
|
+
continue;
|
|
269
|
+
case 6:
|
|
270
|
+
if (tag !== 50) {
|
|
271
|
+
break;
|
|
272
|
+
}
|
|
273
|
+
message.kind = { $case: "listValue", listValue: exports.ListValue.unwrap(exports.ListValue.decode(reader, reader.uint32())) };
|
|
274
|
+
continue;
|
|
275
|
+
}
|
|
276
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
277
|
+
break;
|
|
278
|
+
}
|
|
279
|
+
reader.skipType(tag & 7);
|
|
280
|
+
}
|
|
281
|
+
return message;
|
|
282
|
+
},
|
|
283
|
+
fromJSON(object) {
|
|
284
|
+
return {
|
|
285
|
+
kind: isSet(object.nullValue)
|
|
286
|
+
? { $case: "nullValue", nullValue: nullValueFromJSON(object.nullValue) }
|
|
287
|
+
: isSet(object.numberValue)
|
|
288
|
+
? { $case: "numberValue", numberValue: globalThis.Number(object.numberValue) }
|
|
289
|
+
: isSet(object.stringValue)
|
|
290
|
+
? { $case: "stringValue", stringValue: globalThis.String(object.stringValue) }
|
|
291
|
+
: isSet(object.boolValue)
|
|
292
|
+
? { $case: "boolValue", boolValue: globalThis.Boolean(object.boolValue) }
|
|
293
|
+
: isSet(object.structValue)
|
|
294
|
+
? { $case: "structValue", structValue: object.structValue }
|
|
295
|
+
: isSet(object.listValue)
|
|
296
|
+
? { $case: "listValue", listValue: [...object.listValue] }
|
|
297
|
+
: undefined,
|
|
298
|
+
};
|
|
299
|
+
},
|
|
300
|
+
toJSON(message) {
|
|
301
|
+
var _a, _b, _c, _d, _e, _f;
|
|
302
|
+
const obj = {};
|
|
303
|
+
if (((_a = message.kind) === null || _a === void 0 ? void 0 : _a.$case) === "nullValue") {
|
|
304
|
+
obj.nullValue = nullValueToJSON(message.kind.nullValue);
|
|
305
|
+
}
|
|
306
|
+
if (((_b = message.kind) === null || _b === void 0 ? void 0 : _b.$case) === "numberValue") {
|
|
307
|
+
obj.numberValue = message.kind.numberValue;
|
|
308
|
+
}
|
|
309
|
+
if (((_c = message.kind) === null || _c === void 0 ? void 0 : _c.$case) === "stringValue") {
|
|
310
|
+
obj.stringValue = message.kind.stringValue;
|
|
311
|
+
}
|
|
312
|
+
if (((_d = message.kind) === null || _d === void 0 ? void 0 : _d.$case) === "boolValue") {
|
|
313
|
+
obj.boolValue = message.kind.boolValue;
|
|
314
|
+
}
|
|
315
|
+
if (((_e = message.kind) === null || _e === void 0 ? void 0 : _e.$case) === "structValue") {
|
|
316
|
+
obj.structValue = message.kind.structValue;
|
|
317
|
+
}
|
|
318
|
+
if (((_f = message.kind) === null || _f === void 0 ? void 0 : _f.$case) === "listValue") {
|
|
319
|
+
obj.listValue = message.kind.listValue;
|
|
320
|
+
}
|
|
321
|
+
return obj;
|
|
322
|
+
},
|
|
323
|
+
create(base) {
|
|
324
|
+
return exports.Value.fromPartial(base !== null && base !== void 0 ? base : {});
|
|
325
|
+
},
|
|
326
|
+
fromPartial(object) {
|
|
327
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
328
|
+
const message = createBaseValue();
|
|
329
|
+
if (((_a = object.kind) === null || _a === void 0 ? void 0 : _a.$case) === "nullValue" && ((_b = object.kind) === null || _b === void 0 ? void 0 : _b.nullValue) !== undefined && ((_c = object.kind) === null || _c === void 0 ? void 0 : _c.nullValue) !== null) {
|
|
330
|
+
message.kind = { $case: "nullValue", nullValue: object.kind.nullValue };
|
|
331
|
+
}
|
|
332
|
+
if (((_d = object.kind) === null || _d === void 0 ? void 0 : _d.$case) === "numberValue" &&
|
|
333
|
+
((_e = object.kind) === null || _e === void 0 ? void 0 : _e.numberValue) !== undefined &&
|
|
334
|
+
((_f = object.kind) === null || _f === void 0 ? void 0 : _f.numberValue) !== null) {
|
|
335
|
+
message.kind = { $case: "numberValue", numberValue: object.kind.numberValue };
|
|
336
|
+
}
|
|
337
|
+
if (((_g = object.kind) === null || _g === void 0 ? void 0 : _g.$case) === "stringValue" &&
|
|
338
|
+
((_h = object.kind) === null || _h === void 0 ? void 0 : _h.stringValue) !== undefined &&
|
|
339
|
+
((_j = object.kind) === null || _j === void 0 ? void 0 : _j.stringValue) !== null) {
|
|
340
|
+
message.kind = { $case: "stringValue", stringValue: object.kind.stringValue };
|
|
341
|
+
}
|
|
342
|
+
if (((_k = object.kind) === null || _k === void 0 ? void 0 : _k.$case) === "boolValue" && ((_l = object.kind) === null || _l === void 0 ? void 0 : _l.boolValue) !== undefined && ((_m = object.kind) === null || _m === void 0 ? void 0 : _m.boolValue) !== null) {
|
|
343
|
+
message.kind = { $case: "boolValue", boolValue: object.kind.boolValue };
|
|
344
|
+
}
|
|
345
|
+
if (((_o = object.kind) === null || _o === void 0 ? void 0 : _o.$case) === "structValue" &&
|
|
346
|
+
((_p = object.kind) === null || _p === void 0 ? void 0 : _p.structValue) !== undefined &&
|
|
347
|
+
((_q = object.kind) === null || _q === void 0 ? void 0 : _q.structValue) !== null) {
|
|
348
|
+
message.kind = { $case: "structValue", structValue: object.kind.structValue };
|
|
349
|
+
}
|
|
350
|
+
if (((_r = object.kind) === null || _r === void 0 ? void 0 : _r.$case) === "listValue" && ((_s = object.kind) === null || _s === void 0 ? void 0 : _s.listValue) !== undefined && ((_t = object.kind) === null || _t === void 0 ? void 0 : _t.listValue) !== null) {
|
|
351
|
+
message.kind = { $case: "listValue", listValue: object.kind.listValue };
|
|
352
|
+
}
|
|
353
|
+
return message;
|
|
354
|
+
},
|
|
355
|
+
wrap(value) {
|
|
356
|
+
const result = createBaseValue();
|
|
357
|
+
if (value === null) {
|
|
358
|
+
result.kind = { $case: "nullValue", nullValue: NullValue.NULL_VALUE };
|
|
359
|
+
}
|
|
360
|
+
else if (typeof value === "boolean") {
|
|
361
|
+
result.kind = { $case: "boolValue", boolValue: value };
|
|
362
|
+
}
|
|
363
|
+
else if (typeof value === "number") {
|
|
364
|
+
result.kind = { $case: "numberValue", numberValue: value };
|
|
365
|
+
}
|
|
366
|
+
else if (typeof value === "string") {
|
|
367
|
+
result.kind = { $case: "stringValue", stringValue: value };
|
|
368
|
+
}
|
|
369
|
+
else if (globalThis.Array.isArray(value)) {
|
|
370
|
+
result.kind = { $case: "listValue", listValue: value };
|
|
371
|
+
}
|
|
372
|
+
else if (typeof value === "object") {
|
|
373
|
+
result.kind = { $case: "structValue", structValue: value };
|
|
374
|
+
}
|
|
375
|
+
else if (typeof value !== "undefined") {
|
|
376
|
+
throw new globalThis.Error("Unsupported any value type: " + typeof value);
|
|
377
|
+
}
|
|
378
|
+
return result;
|
|
379
|
+
},
|
|
380
|
+
unwrap(message) {
|
|
381
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
382
|
+
if (((_a = message.kind) === null || _a === void 0 ? void 0 : _a.$case) === "nullValue") {
|
|
383
|
+
return null;
|
|
384
|
+
}
|
|
385
|
+
else if (((_b = message.kind) === null || _b === void 0 ? void 0 : _b.$case) === "numberValue") {
|
|
386
|
+
return (_c = message.kind) === null || _c === void 0 ? void 0 : _c.numberValue;
|
|
387
|
+
}
|
|
388
|
+
else if (((_d = message.kind) === null || _d === void 0 ? void 0 : _d.$case) === "stringValue") {
|
|
389
|
+
return (_e = message.kind) === null || _e === void 0 ? void 0 : _e.stringValue;
|
|
390
|
+
}
|
|
391
|
+
else if (((_f = message.kind) === null || _f === void 0 ? void 0 : _f.$case) === "boolValue") {
|
|
392
|
+
return (_g = message.kind) === null || _g === void 0 ? void 0 : _g.boolValue;
|
|
393
|
+
}
|
|
394
|
+
else if (((_h = message.kind) === null || _h === void 0 ? void 0 : _h.$case) === "structValue") {
|
|
395
|
+
return (_j = message.kind) === null || _j === void 0 ? void 0 : _j.structValue;
|
|
396
|
+
}
|
|
397
|
+
else if (((_k = message.kind) === null || _k === void 0 ? void 0 : _k.$case) === "listValue") {
|
|
398
|
+
return (_l = message.kind) === null || _l === void 0 ? void 0 : _l.listValue;
|
|
399
|
+
}
|
|
400
|
+
else {
|
|
401
|
+
return undefined;
|
|
402
|
+
}
|
|
403
|
+
},
|
|
404
|
+
};
|
|
405
|
+
function createBaseListValue() {
|
|
406
|
+
return { values: [] };
|
|
407
|
+
}
|
|
408
|
+
exports.ListValue = {
|
|
409
|
+
encode(message, writer = minimal_1.default.Writer.create()) {
|
|
410
|
+
for (const v of message.values) {
|
|
411
|
+
exports.Value.encode(exports.Value.wrap(v), writer.uint32(10).fork()).ldelim();
|
|
412
|
+
}
|
|
413
|
+
return writer;
|
|
414
|
+
},
|
|
415
|
+
decode(input, length) {
|
|
416
|
+
const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
|
|
417
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
418
|
+
const message = createBaseListValue();
|
|
419
|
+
while (reader.pos < end) {
|
|
420
|
+
const tag = reader.uint32();
|
|
421
|
+
switch (tag >>> 3) {
|
|
422
|
+
case 1:
|
|
423
|
+
if (tag !== 10) {
|
|
424
|
+
break;
|
|
425
|
+
}
|
|
426
|
+
message.values.push(exports.Value.unwrap(exports.Value.decode(reader, reader.uint32())));
|
|
427
|
+
continue;
|
|
428
|
+
}
|
|
429
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
430
|
+
break;
|
|
431
|
+
}
|
|
432
|
+
reader.skipType(tag & 7);
|
|
433
|
+
}
|
|
434
|
+
return message;
|
|
435
|
+
},
|
|
436
|
+
fromJSON(object) {
|
|
437
|
+
return { values: globalThis.Array.isArray(object === null || object === void 0 ? void 0 : object.values) ? [...object.values] : [] };
|
|
438
|
+
},
|
|
439
|
+
toJSON(message) {
|
|
440
|
+
var _a;
|
|
441
|
+
const obj = {};
|
|
442
|
+
if ((_a = message.values) === null || _a === void 0 ? void 0 : _a.length) {
|
|
443
|
+
obj.values = message.values;
|
|
444
|
+
}
|
|
445
|
+
return obj;
|
|
446
|
+
},
|
|
447
|
+
create(base) {
|
|
448
|
+
return exports.ListValue.fromPartial(base !== null && base !== void 0 ? base : {});
|
|
449
|
+
},
|
|
450
|
+
fromPartial(object) {
|
|
451
|
+
var _a;
|
|
452
|
+
const message = createBaseListValue();
|
|
453
|
+
message.values = ((_a = object.values) === null || _a === void 0 ? void 0 : _a.map((e) => e)) || [];
|
|
454
|
+
return message;
|
|
455
|
+
},
|
|
456
|
+
wrap(array) {
|
|
457
|
+
const result = createBaseListValue();
|
|
458
|
+
result.values = array !== null && array !== void 0 ? array : [];
|
|
459
|
+
return result;
|
|
460
|
+
},
|
|
461
|
+
unwrap(message) {
|
|
462
|
+
if ((message === null || message === void 0 ? void 0 : message.hasOwnProperty("values")) && globalThis.Array.isArray(message.values)) {
|
|
463
|
+
return message.values;
|
|
464
|
+
}
|
|
465
|
+
else {
|
|
466
|
+
return message;
|
|
467
|
+
}
|
|
468
|
+
},
|
|
469
|
+
};
|
|
470
|
+
function isObject(value) {
|
|
471
|
+
return typeof value === "object" && value !== null;
|
|
472
|
+
}
|
|
473
|
+
function isSet(value) {
|
|
474
|
+
return value !== null && value !== undefined;
|
|
475
|
+
}
|
|
476
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvdG8tbW9kZWxzL2dvb2dsZS9wcm90b2J1Zi9zdHJ1Y3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHNEQUFzRDtBQUN0RCxZQUFZO0FBQ1osa0NBQWtDO0FBQ2xDLGlDQUFpQztBQUNqQyx1Q0FBdUM7Ozs7OztBQUV2QyxvQkFBb0I7QUFDcEIsaUVBQXFDO0FBRXhCLFFBQUEsZUFBZSxHQUFHLGlCQUFpQixDQUFDO0FBRWpEOzs7OztHQUtHO0FBQ0gsSUFBWSxTQUdYO0FBSEQsV0FBWSxTQUFTO0lBQ25CLCtCQUErQjtJQUMvQixxREFBYyxDQUFBO0FBQ2hCLENBQUMsRUFIVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQUdwQjtBQUVELFNBQWdCLGlCQUFpQixDQUFDLE1BQVc7SUFDM0MsUUFBUSxNQUFNLEVBQUU7UUFDZCxLQUFLLENBQUMsQ0FBQztRQUNQLEtBQUssWUFBWTtZQUNmLE9BQU8sU0FBUyxDQUFDLFVBQVUsQ0FBQztRQUM5QjtZQUNFLE1BQU0sSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLDBCQUEwQixHQUFHLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxDQUFDO0tBQzNGO0FBQ0gsQ0FBQztBQVJELDhDQVFDO0FBRUQsU0FBZ0IsZUFBZSxDQUFDLE1BQWlCO0lBQy9DLFFBQVEsTUFBTSxFQUFFO1FBQ2QsS0FBSyxTQUFTLENBQUMsVUFBVTtZQUN2QixPQUFPLFlBQVksQ0FBQztRQUN0QjtZQUNFLE1BQU0sSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLDBCQUEwQixHQUFHLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxDQUFDO0tBQzNGO0FBQ0gsQ0FBQztBQVBELDBDQU9DO0FBbURELFNBQVMsZ0JBQWdCO0lBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUM7QUFDeEIsQ0FBQztBQUVZLFFBQUEsTUFBTSxHQUFHO0lBQ3BCLE1BQU0sQ0FBQyxPQUFlLEVBQUUsU0FBcUIsaUJBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQzlELE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDdEQsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO2dCQUN2QiwwQkFBa0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBVSxFQUFFLEtBQUssRUFBRSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUMxRjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUE4QixFQUFFLE1BQWU7UUFDcEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxZQUFZLGlCQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGlCQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5RSxJQUFJLEdBQUcsR0FBRyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUNsRSxNQUFNLE9BQU8sR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ25DLE9BQU8sTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUU7WUFDdkIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVCLFFBQVEsR0FBRyxLQUFLLENBQUMsRUFBRTtnQkFDakIsS0FBSyxDQUFDO29CQUNKLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRTt3QkFDZCxNQUFNO3FCQUNQO29CQUVELE1BQU0sTUFBTSxHQUFHLDBCQUFrQixDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7b0JBQ2xFLElBQUksTUFBTSxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUU7d0JBQzlCLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7cUJBQzNDO29CQUNELFNBQVM7YUFDWjtZQUNELElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUU7Z0JBQ2hDLE1BQU07YUFDUDtZQUNELE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzFCO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFXO1FBQ2xCLE9BQU87WUFDTCxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7Z0JBQzdCLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQXFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7b0JBQy9GLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUF3QixDQUFDO29CQUNwQyxPQUFPLEdBQUcsQ0FBQztnQkFDYixDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNOLENBQUMsQ0FBQyxFQUFFO1NBQ1AsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBZTtRQUNwQixNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUM7UUFDcEIsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ2xCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQy9DLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3RCLEdBQUcsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO2dCQUNoQixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDekIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3BCLENBQUMsQ0FBQyxDQUFDO2FBQ0o7U0FDRjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUEwQjtRQUMvQixPQUFPLGNBQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxhQUFKLElBQUksY0FBSixJQUFJLEdBQUksRUFBRSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUNELFdBQVcsQ0FBQyxNQUEyQjs7UUFDckMsTUFBTSxPQUFPLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUNuQyxPQUFPLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBQSxNQUFNLENBQUMsTUFBTSxtQ0FBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQ3pELENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDcEIsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO2dCQUN2QixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO2FBQ2xCO1lBQ0QsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQ0QsRUFBRSxDQUNILENBQUM7UUFDRixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsSUFBSSxDQUFDLE1BQTBDO1FBQzdDLE1BQU0sTUFBTSxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFFbEMsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFO1lBQ3hCLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDckMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDbEM7U0FDRjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBZTtRQUNwQixNQUFNLE1BQU0sR0FBMkIsRUFBRSxDQUFDO1FBQzFDLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUNsQixLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUM3QyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNuQztTQUNGO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUNGLENBQUM7QUFFRixTQUFTLDRCQUE0QjtJQUNuQyxPQUFPLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUM7QUFDdkMsQ0FBQztBQUVZLFFBQUEsa0JBQWtCLEdBQUc7SUFDaEMsTUFBTSxDQUFDLE9BQTJCLEVBQUUsU0FBcUIsaUJBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQzFFLElBQUksT0FBTyxDQUFDLEdBQUcsS0FBSyxFQUFFLEVBQUU7WUFDdEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3ZDO1FBQ0QsSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUMvQixhQUFLLENBQUMsTUFBTSxDQUFDLGFBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUM1RTtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBOEIsRUFBRSxNQUFlO1FBQ3BELE1BQU0sTUFBTSxHQUFHLEtBQUssWUFBWSxpQkFBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxpQkFBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUUsSUFBSSxHQUFHLEdBQUcsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDbEUsTUFBTSxPQUFPLEdBQUcsNEJBQTRCLEVBQUUsQ0FBQztRQUMvQyxPQUFPLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFO1lBQ3ZCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM1QixRQUFRLEdBQUcsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLEtBQUssQ0FBQztvQkFDSixJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUU7d0JBQ2QsTUFBTTtxQkFDUDtvQkFFRCxPQUFPLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDOUIsU0FBUztnQkFDWCxLQUFLLENBQUM7b0JBQ0osSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFO3dCQUNkLE1BQU07cUJBQ1A7b0JBRUQsT0FBTyxDQUFDLEtBQUssR0FBRyxhQUFLLENBQUMsTUFBTSxDQUFDLGFBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQ3BFLFNBQVM7YUFDWjtZQUNELElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUU7Z0JBQ2hDLE1BQU07YUFDUDtZQUNELE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzFCO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFXO1FBQ2xCLE9BQU87WUFDTCxHQUFHLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDM0QsS0FBSyxFQUFFLEtBQUssQ0FBQyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVM7U0FDdkQsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBMkI7UUFDaEMsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLElBQUksT0FBTyxDQUFDLEdBQUcsS0FBSyxFQUFFLEVBQUU7WUFDdEIsR0FBRyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDO1NBQ3ZCO1FBQ0QsSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUMvQixHQUFHLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7U0FDM0I7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBc0M7UUFDM0MsT0FBTywwQkFBa0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxhQUFKLElBQUksY0FBSixJQUFJLEdBQUksRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUNELFdBQVcsQ0FBQyxNQUF1Qzs7UUFDakQsTUFBTSxPQUFPLEdBQUcsNEJBQTRCLEVBQUUsQ0FBQztRQUMvQyxPQUFPLENBQUMsR0FBRyxHQUFHLE1BQUEsTUFBTSxDQUFDLEdBQUcsbUNBQUksRUFBRSxDQUFDO1FBQy9CLE9BQU8sQ0FBQyxLQUFLLEdBQUcsTUFBQSxNQUFNLENBQUMsS0FBSyxtQ0FBSSxTQUFTLENBQUM7UUFDMUMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGLENBQUM7QUFFRixTQUFTLGVBQWU7SUFDdEIsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztBQUM3QixDQUFDO0FBRVksUUFBQSxLQUFLLEdBQUc7SUFDbkIsTUFBTSxDQUFDLE9BQWMsRUFBRSxTQUFxQixpQkFBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7O1FBQzdELFFBQVEsTUFBQSxPQUFPLENBQUMsSUFBSSwwQ0FBRSxLQUFLLEVBQUU7WUFDM0IsS0FBSyxXQUFXO2dCQUNkLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQy9DLE1BQU07WUFDUixLQUFLLGFBQWE7Z0JBQ2hCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ25ELE1BQU07WUFDUixLQUFLLGFBQWE7Z0JBQ2hCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ25ELE1BQU07WUFDUixLQUFLLFdBQVc7Z0JBQ2QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDL0MsTUFBTTtZQUNSLEtBQUssYUFBYTtnQkFDaEIsY0FBTSxDQUFDLE1BQU0sQ0FBQyxjQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN4RixNQUFNO1lBQ1IsS0FBSyxXQUFXO2dCQUNkLGlCQUFTLENBQUMsTUFBTSxDQUFDLGlCQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUM1RixNQUFNO1NBQ1Q7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQThCLEVBQUUsTUFBZTtRQUNwRCxNQUFNLE1BQU0sR0FBRyxLQUFLLFlBQVksaUJBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsaUJBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlFLElBQUksR0FBRyxHQUFHLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ2xFLE1BQU0sT0FBTyxHQUFHLGVBQWUsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUU7WUFDdkIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVCLFFBQVEsR0FBRyxLQUFLLENBQUMsRUFBRTtnQkFDakIsS0FBSyxDQUFDO29CQUNKLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRTt3QkFDYixNQUFNO3FCQUNQO29CQUVELE9BQU8sQ0FBQyxJQUFJLEdBQUcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsS0FBSyxFQUFTLEVBQUUsQ0FBQztvQkFDeEUsU0FBUztnQkFDWCxLQUFLLENBQUM7b0JBQ0osSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFO3dCQUNkLE1BQU07cUJBQ1A7b0JBRUQsT0FBTyxDQUFDLElBQUksR0FBRyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO29CQUN0RSxTQUFTO2dCQUNYLEtBQUssQ0FBQztvQkFDSixJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUU7d0JBQ2QsTUFBTTtxQkFDUDtvQkFFRCxPQUFPLENBQUMsSUFBSSxHQUFHLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7b0JBQ3RFLFNBQVM7Z0JBQ1gsS0FBSyxDQUFDO29CQUNKLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRTt3QkFDZCxNQUFNO3FCQUNQO29CQUVELE9BQU8sQ0FBQyxJQUFJLEdBQUcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztvQkFDaEUsU0FBUztnQkFDWCxLQUFLLENBQUM7b0JBQ0osSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFO3dCQUNkLE1BQU07cUJBQ1A7b0JBRUQsT0FBTyxDQUFDLElBQUksR0FBRyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLGNBQU0sQ0FBQyxNQUFNLENBQUMsY0FBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUM1RyxTQUFTO2dCQUNYLEtBQUssQ0FBQztvQkFDSixJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUU7d0JBQ2QsTUFBTTtxQkFDUDtvQkFFRCxPQUFPLENBQUMsSUFBSSxHQUFHLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsaUJBQVMsQ0FBQyxNQUFNLENBQUMsaUJBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDOUcsU0FBUzthQUNaO1lBQ0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRTtnQkFDaEMsTUFBTTthQUNQO1lBQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDMUI7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQVc7UUFDbEIsT0FBTztZQUNMLElBQUksRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztnQkFDM0IsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUN4RSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7b0JBQzNCLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFO29CQUM5RSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7d0JBQzNCLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFO3dCQUM5RSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7NEJBQ3pCLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFOzRCQUN6RSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7Z0NBQzNCLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXLEVBQUU7Z0NBQzNELENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztvQ0FDekIsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRTtvQ0FDMUQsQ0FBQyxDQUFDLFNBQVM7U0FDZCxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFjOztRQUNuQixNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFBLE1BQUEsT0FBTyxDQUFDLElBQUksMENBQUUsS0FBSyxNQUFLLFdBQVcsRUFBRTtZQUN2QyxHQUFHLENBQUMsU0FBUyxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3pEO1FBQ0QsSUFBSSxDQUFBLE1BQUEsT0FBTyxDQUFDLElBQUksMENBQUUsS0FBSyxNQUFLLGFBQWEsRUFBRTtZQUN6QyxHQUFHLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQzVDO1FBQ0QsSUFBSSxDQUFBLE1BQUEsT0FBTyxDQUFDLElBQUksMENBQUUsS0FBSyxNQUFLLGFBQWEsRUFBRTtZQUN6QyxHQUFHLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQzVDO1FBQ0QsSUFBSSxDQUFBLE1BQUEsT0FBTyxDQUFDLElBQUksMENBQUUsS0FBSyxNQUFLLFdBQVcsRUFBRTtZQUN2QyxHQUFHLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQ3hDO1FBQ0QsSUFBSSxDQUFBLE1BQUEsT0FBTyxDQUFDLElBQUksMENBQUUsS0FBSyxNQUFLLGFBQWEsRUFBRTtZQUN6QyxHQUFHLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQzVDO1FBQ0QsSUFBSSxDQUFBLE1BQUEsT0FBTyxDQUFDLElBQUksMENBQUUsS0FBSyxNQUFLLFdBQVcsRUFBRTtZQUN2QyxHQUFHLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQ3hDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQXlCO1FBQzlCLE9BQU8sYUFBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLGFBQUosSUFBSSxjQUFKLElBQUksR0FBSSxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsV0FBVyxDQUFDLE1BQTBCOztRQUNwQyxNQUFNLE9BQU8sR0FBRyxlQUFlLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUEsTUFBQSxNQUFNLENBQUMsSUFBSSwwQ0FBRSxLQUFLLE1BQUssV0FBVyxJQUFJLENBQUEsTUFBQSxNQUFNLENBQUMsSUFBSSwwQ0FBRSxTQUFTLE1BQUssU0FBUyxJQUFJLENBQUEsTUFBQSxNQUFNLENBQUMsSUFBSSwwQ0FBRSxTQUFTLE1BQUssSUFBSSxFQUFFO1lBQ2pILE9BQU8sQ0FBQyxJQUFJLEdBQUcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ3pFO1FBQ0QsSUFDRSxDQUFBLE1BQUEsTUFBTSxDQUFDLElBQUksMENBQUUsS0FBSyxNQUFLLGFBQWE7WUFDcEMsQ0FBQSxNQUFBLE1BQU0sQ0FBQyxJQUFJLDBDQUFFLFdBQVcsTUFBSyxTQUFTO1lBQ3RDLENBQUEsTUFBQSxNQUFNLENBQUMsSUFBSSwwQ0FBRSxXQUFXLE1BQUssSUFBSSxFQUNqQztZQUNBLE9BQU8sQ0FBQyxJQUFJLEdBQUcsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQy9FO1FBQ0QsSUFDRSxDQUFBLE1BQUEsTUFBTSxDQUFDLElBQUksMENBQUUsS0FBSyxNQUFLLGFBQWE7WUFDcEMsQ0FBQSxNQUFBLE1BQU0sQ0FBQyxJQUFJLDBDQUFFLFdBQVcsTUFBSyxTQUFTO1lBQ3RDLENBQUEsTUFBQSxNQUFNLENBQUMsSUFBSSwwQ0FBRSxXQUFXLE1BQUssSUFBSSxFQUNqQztZQUNBLE9BQU8sQ0FBQyxJQUFJLEdBQUcsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQy9FO1FBQ0QsSUFBSSxDQUFBLE1BQUEsTUFBTSxDQUFDLElBQUksMENBQUUsS0FBSyxNQUFLLFdBQVcsSUFBSSxDQUFBLE1BQUEsTUFBTSxDQUFDLElBQUksMENBQUUsU0FBUyxNQUFLLFNBQVMsSUFBSSxDQUFBLE1BQUEsTUFBTSxDQUFDLElBQUksMENBQUUsU0FBUyxNQUFLLElBQUksRUFBRTtZQUNqSCxPQUFPLENBQUMsSUFBSSxHQUFHLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUN6RTtRQUNELElBQ0UsQ0FBQSxNQUFBLE1BQU0sQ0FBQyxJQUFJLDBDQUFFLEtBQUssTUFBSyxhQUFhO1lBQ3BDLENBQUEsTUFBQSxNQUFNLENBQUMsSUFBSSwwQ0FBRSxXQUFXLE1BQUssU0FBUztZQUN0QyxDQUFBLE1BQUEsTUFBTSxDQUFDLElBQUksMENBQUUsV0FBVyxNQUFLLElBQUksRUFDakM7WUFDQSxPQUFPLENBQUMsSUFBSSxHQUFHLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUMvRTtRQUNELElBQUksQ0FBQSxNQUFBLE1BQU0sQ0FBQyxJQUFJLDBDQUFFLEtBQUssTUFBSyxXQUFXLElBQUksQ0FBQSxNQUFBLE1BQU0sQ0FBQyxJQUFJLDBDQUFFLFNBQVMsTUFBSyxTQUFTLElBQUksQ0FBQSxNQUFBLE1BQU0sQ0FBQyxJQUFJLDBDQUFFLFNBQVMsTUFBSyxJQUFJLEVBQUU7WUFDakgsT0FBTyxDQUFDLElBQUksR0FBRyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDekU7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQVU7UUFDYixNQUFNLE1BQU0sR0FBRyxlQUFlLEVBQUUsQ0FBQztRQUNqQyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDbEIsTUFBTSxDQUFDLElBQUksR0FBRyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUN2RTthQUFNLElBQUksT0FBTyxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQ3JDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztTQUN4RDthQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQ3BDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQztTQUM1RDthQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQ3BDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQztTQUM1RDthQUFNLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDMUMsTUFBTSxDQUFDLElBQUksR0FBRyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO1NBQ3hEO2FBQU0sSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDcEMsTUFBTSxDQUFDLElBQUksR0FBRyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDO1NBQzVEO2FBQU0sSUFBSSxPQUFPLEtBQUssS0FBSyxXQUFXLEVBQUU7WUFDdkMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsOEJBQThCLEdBQUcsT0FBTyxLQUFLLENBQUMsQ0FBQztTQUMzRTtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBYzs7UUFDbkIsSUFBSSxDQUFBLE1BQUEsT0FBTyxDQUFDLElBQUksMENBQUUsS0FBSyxNQUFLLFdBQVcsRUFBRTtZQUN2QyxPQUFPLElBQUksQ0FBQztTQUNiO2FBQU0sSUFBSSxDQUFBLE1BQUEsT0FBTyxDQUFDLElBQUksMENBQUUsS0FBSyxNQUFLLGFBQWEsRUFBRTtZQUNoRCxPQUFPLE1BQUEsT0FBTyxDQUFDLElBQUksMENBQUUsV0FBVyxDQUFDO1NBQ2xDO2FBQU0sSUFBSSxDQUFBLE1BQUEsT0FBTyxDQUFDLElBQUksMENBQUUsS0FBSyxNQUFLLGFBQWEsRUFBRTtZQUNoRCxPQUFPLE1BQUEsT0FBTyxDQUFDLElBQUksMENBQUUsV0FBVyxDQUFDO1NBQ2xDO2FBQU0sSUFBSSxDQUFBLE1BQUEsT0FBTyxDQUFDLElBQUksMENBQUUsS0FBSyxNQUFLLFdBQVcsRUFBRTtZQUM5QyxPQUFPLE1BQUEsT0FBTyxDQUFDLElBQUksMENBQUUsU0FBUyxDQUFDO1NBQ2hDO2FBQU0sSUFBSSxDQUFBLE1BQUEsT0FBTyxDQUFDLElBQUksMENBQUUsS0FBSyxNQUFLLGFBQWEsRUFBRTtZQUNoRCxPQUFPLE1BQUEsT0FBTyxDQUFDLElBQUksMENBQUUsV0FBVyxDQUFDO1NBQ2xDO2FBQU0sSUFBSSxDQUFBLE1BQUEsT0FBTyxDQUFDLElBQUksMENBQUUsS0FBSyxNQUFLLFdBQVcsRUFBRTtZQUM5QyxPQUFPLE1BQUEsT0FBTyxDQUFDLElBQUksMENBQUUsU0FBUyxDQUFDO1NBQ2hDO2FBQU07WUFDTCxPQUFPLFNBQVMsQ0FBQztTQUNsQjtJQUNILENBQUM7Q0FDRixDQUFDO0FBRUYsU0FBUyxtQkFBbUI7SUFDMUIsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQztBQUN4QixDQUFDO0FBRVksUUFBQSxTQUFTLEdBQUc7SUFDdkIsTUFBTSxDQUFDLE9BQWtCLEVBQUUsU0FBcUIsaUJBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQ2pFLEtBQUssTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUM5QixhQUFLLENBQUMsTUFBTSxDQUFDLGFBQUssQ0FBQyxJQUFJLENBQUMsQ0FBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ2pFO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUE4QixFQUFFLE1BQWU7UUFDcEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxZQUFZLGlCQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGlCQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5RSxJQUFJLEdBQUcsR0FBRyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUNsRSxNQUFNLE9BQU8sR0FBRyxtQkFBbUIsRUFBRSxDQUFDO1FBQ3RDLE9BQU8sTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUU7WUFDdkIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVCLFFBQVEsR0FBRyxLQUFLLENBQUMsRUFBRTtnQkFDakIsS0FBSyxDQUFDO29CQUNKLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRTt3QkFDZCxNQUFNO3FCQUNQO29CQUVELE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQUssQ0FBQyxNQUFNLENBQUMsYUFBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN6RSxTQUFTO2FBQ1o7WUFDRCxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxFQUFFO2dCQUNoQyxNQUFNO2FBQ1A7WUFDRCxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMxQjtRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBVztRQUNsQixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDeEYsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFrQjs7UUFDdkIsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLElBQUksTUFBQSxPQUFPLENBQUMsTUFBTSwwQ0FBRSxNQUFNLEVBQUU7WUFDMUIsR0FBRyxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1NBQzdCO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQTZCO1FBQ2xDLE9BQU8saUJBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxhQUFKLElBQUksY0FBSixJQUFJLEdBQUksRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUNELFdBQVcsQ0FBQyxNQUE4Qjs7UUFDeEMsTUFBTSxPQUFPLEdBQUcsbUJBQW1CLEVBQUUsQ0FBQztRQUN0QyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUEsTUFBQSxNQUFNLENBQUMsTUFBTSwwQ0FBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFJLEVBQUUsQ0FBQztRQUNwRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQTZCO1FBQ2hDLE1BQU0sTUFBTSxHQUFHLG1CQUFtQixFQUFFLENBQUM7UUFDckMsTUFBTSxDQUFDLE1BQU0sR0FBRyxLQUFLLGFBQUwsS0FBSyxjQUFMLEtBQUssR0FBSSxFQUFFLENBQUM7UUFDNUIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFrQjtRQUN2QixJQUFJLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLGNBQWMsQ0FBQyxRQUFRLENBQUMsS0FBSSxVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDakYsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDO1NBQ3ZCO2FBQU07WUFDTCxPQUFPLE9BQWMsQ0FBQztTQUN2QjtJQUNILENBQUM7Q0FDRixDQUFDO0FBV0YsU0FBUyxRQUFRLENBQUMsS0FBVTtJQUMxQixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDO0FBQ3JELENBQUM7QUFFRCxTQUFTLEtBQUssQ0FBQyxLQUFVO0lBQ3ZCLE9BQU8sS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxDQUFDO0FBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb2RlIGdlbmVyYXRlZCBieSBwcm90b2MtZ2VuLXRzX3Byb3RvLiBETyBOT1QgRURJVC5cbi8vIHZlcnNpb25zOlxuLy8gICBwcm90b2MtZ2VuLXRzX3Byb3RvICB2MS4xODEuMVxuLy8gICBwcm90b2MgICAgICAgICAgICAgICB2My4xOS4xXG4vLyBzb3VyY2U6IGdvb2dsZS9wcm90b2J1Zi9zdHJ1Y3QucHJvdG9cblxuLyogZXNsaW50LWRpc2FibGUgKi9cbmltcG9ydCBfbTAgZnJvbSBcInByb3RvYnVmanMvbWluaW1hbFwiO1xuXG5leHBvcnQgY29uc3QgcHJvdG9idWZQYWNrYWdlID0gXCJnb29nbGUucHJvdG9idWZcIjtcblxuLyoqXG4gKiBgTnVsbFZhbHVlYCBpcyBhIHNpbmdsZXRvbiBlbnVtZXJhdGlvbiB0byByZXByZXNlbnQgdGhlIG51bGwgdmFsdWUgZm9yIHRoZVxuICogYFZhbHVlYCB0eXBlIHVuaW9uLlxuICpcbiAqICBUaGUgSlNPTiByZXByZXNlbnRhdGlvbiBmb3IgYE51bGxWYWx1ZWAgaXMgSlNPTiBgbnVsbGAuXG4gKi9cbmV4cG9ydCBlbnVtIE51bGxWYWx1ZSB7XG4gIC8qKiBOVUxMX1ZBTFVFIC0gTnVsbCB2YWx1ZS4gKi9cbiAgTlVMTF9WQUxVRSA9IDAsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBudWxsVmFsdWVGcm9tSlNPTihvYmplY3Q6IGFueSk6IE51bGxWYWx1ZSB7XG4gIHN3aXRjaCAob2JqZWN0KSB7XG4gICAgY2FzZSAwOlxuICAgIGNhc2UgXCJOVUxMX1ZBTFVFXCI6XG4gICAgICByZXR1cm4gTnVsbFZhbHVlLk5VTExfVkFMVUU7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBnbG9iYWxUaGlzLkVycm9yKFwiVW5yZWNvZ25pemVkIGVudW0gdmFsdWUgXCIgKyBvYmplY3QgKyBcIiBmb3IgZW51bSBOdWxsVmFsdWVcIik7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG51bGxWYWx1ZVRvSlNPTihvYmplY3Q6IE51bGxWYWx1ZSk6IHN0cmluZyB7XG4gIHN3aXRjaCAob2JqZWN0KSB7XG4gICAgY2FzZSBOdWxsVmFsdWUuTlVMTF9WQUxVRTpcbiAgICAgIHJldHVybiBcIk5VTExfVkFMVUVcIjtcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IGdsb2JhbFRoaXMuRXJyb3IoXCJVbnJlY29nbml6ZWQgZW51bSB2YWx1ZSBcIiArIG9iamVjdCArIFwiIGZvciBlbnVtIE51bGxWYWx1ZVwiKTtcbiAgfVxufVxuXG4vKipcbiAqIGBTdHJ1Y3RgIHJlcHJlc2VudHMgYSBzdHJ1Y3R1cmVkIGRhdGEgdmFsdWUsIGNvbnNpc3Rpbmcgb2YgZmllbGRzXG4gKiB3aGljaCBtYXAgdG8gZHluYW1pY2FsbHkgdHlwZWQgdmFsdWVzLiBJbiBzb21lIGxhbmd1YWdlcywgYFN0cnVjdGBcbiAqIG1pZ2h0IGJlIHN1cHBvcnRlZCBieSBhIG5hdGl2ZSByZXByZXNlbnRhdGlvbi4gRm9yIGV4YW1wbGUsIGluXG4gKiBzY3JpcHRpbmcgbGFuZ3VhZ2VzIGxpa2UgSlMgYSBzdHJ1Y3QgaXMgcmVwcmVzZW50ZWQgYXMgYW5cbiAqIG9iamVjdC4gVGhlIGRldGFpbHMgb2YgdGhhdCByZXByZXNlbnRhdGlvbiBhcmUgZGVzY3JpYmVkIHRvZ2V0aGVyXG4gKiB3aXRoIHRoZSBwcm90byBzdXBwb3J0IGZvciB0aGUgbGFuZ3VhZ2UuXG4gKlxuICogVGhlIEpTT04gcmVwcmVzZW50YXRpb24gZm9yIGBTdHJ1Y3RgIGlzIEpTT04gb2JqZWN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0cnVjdCB7XG4gIC8qKiBVbm9yZGVyZWQgbWFwIG9mIGR5bmFtaWNhbGx5IHR5cGVkIHZhbHVlcy4gKi9cbiAgZmllbGRzOiB7IFtrZXk6IHN0cmluZ106IGFueSB8IHVuZGVmaW5lZCB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0cnVjdF9GaWVsZHNFbnRyeSB7XG4gIGtleTogc3RyaW5nO1xuICB2YWx1ZTogYW55IHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIGBWYWx1ZWAgcmVwcmVzZW50cyBhIGR5bmFtaWNhbGx5IHR5cGVkIHZhbHVlIHdoaWNoIGNhbiBiZSBlaXRoZXJcbiAqIG51bGwsIGEgbnVtYmVyLCBhIHN0cmluZywgYSBib29sZWFuLCBhIHJlY3Vyc2l2ZSBzdHJ1Y3QgdmFsdWUsIG9yIGFcbiAqIGxpc3Qgb2YgdmFsdWVzLiBBIHByb2R1Y2VyIG9mIHZhbHVlIGlzIGV4cGVjdGVkIHRvIHNldCBvbmUgb2YgdGhlc2VcbiAqIHZhcmlhbnRzLiBBYnNlbmNlIG9mIGFueSB2YXJpYW50IGluZGljYXRlcyBhbiBlcnJvci5cbiAqXG4gKiBUaGUgSlNPTiByZXByZXNlbnRhdGlvbiBmb3IgYFZhbHVlYCBpcyBKU09OIHZhbHVlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbHVlIHtcbiAga2luZD86XG4gICAgfCB7ICRjYXNlOiBcIm51bGxWYWx1ZVwiOyBudWxsVmFsdWU6IE51bGxWYWx1ZSB9XG4gICAgfCB7ICRjYXNlOiBcIm51bWJlclZhbHVlXCI7IG51bWJlclZhbHVlOiBudW1iZXIgfVxuICAgIHwgeyAkY2FzZTogXCJzdHJpbmdWYWx1ZVwiOyBzdHJpbmdWYWx1ZTogc3RyaW5nIH1cbiAgICB8IHsgJGNhc2U6IFwiYm9vbFZhbHVlXCI7IGJvb2xWYWx1ZTogYm9vbGVhbiB9XG4gICAgfCB7ICRjYXNlOiBcInN0cnVjdFZhbHVlXCI7IHN0cnVjdFZhbHVlOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgdW5kZWZpbmVkIH1cbiAgICB8IHsgJGNhc2U6IFwibGlzdFZhbHVlXCI7IGxpc3RWYWx1ZTogQXJyYXk8YW55PiB8IHVuZGVmaW5lZCB9XG4gICAgfCB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogYExpc3RWYWx1ZWAgaXMgYSB3cmFwcGVyIGFyb3VuZCBhIHJlcGVhdGVkIGZpZWxkIG9mIHZhbHVlcy5cbiAqXG4gKiBUaGUgSlNPTiByZXByZXNlbnRhdGlvbiBmb3IgYExpc3RWYWx1ZWAgaXMgSlNPTiBhcnJheS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaXN0VmFsdWUge1xuICAvKiogUmVwZWF0ZWQgZmllbGQgb2YgZHluYW1pY2FsbHkgdHlwZWQgdmFsdWVzLiAqL1xuICB2YWx1ZXM6IGFueVtdO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVCYXNlU3RydWN0KCk6IFN0cnVjdCB7XG4gIHJldHVybiB7IGZpZWxkczoge30gfTtcbn1cblxuZXhwb3J0IGNvbnN0IFN0cnVjdCA9IHtcbiAgZW5jb2RlKG1lc3NhZ2U6IFN0cnVjdCwgd3JpdGVyOiBfbTAuV3JpdGVyID0gX20wLldyaXRlci5jcmVhdGUoKSk6IF9tMC5Xcml0ZXIge1xuICAgIE9iamVjdC5lbnRyaWVzKG1lc3NhZ2UuZmllbGRzKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIFN0cnVjdF9GaWVsZHNFbnRyeS5lbmNvZGUoeyBrZXk6IGtleSBhcyBhbnksIHZhbHVlIH0sIHdyaXRlci51aW50MzIoMTApLmZvcmsoKSkubGRlbGltKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHdyaXRlcjtcbiAgfSxcblxuICBkZWNvZGUoaW5wdXQ6IF9tMC5SZWFkZXIgfCBVaW50OEFycmF5LCBsZW5ndGg/OiBudW1iZXIpOiBTdHJ1Y3Qge1xuICAgIGNvbnN0IHJlYWRlciA9IGlucHV0IGluc3RhbmNlb2YgX20wLlJlYWRlciA/IGlucHV0IDogX20wLlJlYWRlci5jcmVhdGUoaW5wdXQpO1xuICAgIGxldCBlbmQgPSBsZW5ndGggPT09IHVuZGVmaW5lZCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBjcmVhdGVCYXNlU3RydWN0KCk7XG4gICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgIGNhc2UgMTpcbiAgICAgICAgICBpZiAodGFnICE9PSAxMCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgZW50cnkxID0gU3RydWN0X0ZpZWxkc0VudHJ5LmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSk7XG4gICAgICAgICAgaWYgKGVudHJ5MS52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBtZXNzYWdlLmZpZWxkc1tlbnRyeTEua2V5XSA9IGVudHJ5MS52YWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAoKHRhZyAmIDcpID09PSA0IHx8IHRhZyA9PT0gMCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG5cbiAgZnJvbUpTT04ob2JqZWN0OiBhbnkpOiBTdHJ1Y3Qge1xuICAgIHJldHVybiB7XG4gICAgICBmaWVsZHM6IGlzT2JqZWN0KG9iamVjdC5maWVsZHMpXG4gICAgICAgID8gT2JqZWN0LmVudHJpZXMob2JqZWN0LmZpZWxkcykucmVkdWNlPHsgW2tleTogc3RyaW5nXTogYW55IHwgdW5kZWZpbmVkIH0+KChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICAgIGFjY1trZXldID0gdmFsdWUgYXMgYW55IHwgdW5kZWZpbmVkO1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sIHt9KVxuICAgICAgICA6IHt9LFxuICAgIH07XG4gIH0sXG5cbiAgdG9KU09OKG1lc3NhZ2U6IFN0cnVjdCk6IHVua25vd24ge1xuICAgIGNvbnN0IG9iajogYW55ID0ge307XG4gICAgaWYgKG1lc3NhZ2UuZmllbGRzKSB7XG4gICAgICBjb25zdCBlbnRyaWVzID0gT2JqZWN0LmVudHJpZXMobWVzc2FnZS5maWVsZHMpO1xuICAgICAgaWYgKGVudHJpZXMubGVuZ3RoID4gMCkge1xuICAgICAgICBvYmouZmllbGRzID0ge307XG4gICAgICAgIGVudHJpZXMuZm9yRWFjaCgoW2ssIHZdKSA9PiB7XG4gICAgICAgICAgb2JqLmZpZWxkc1trXSA9IHY7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gb2JqO1xuICB9LFxuXG4gIGNyZWF0ZShiYXNlPzogRGVlcFBhcnRpYWw8U3RydWN0Pik6IFN0cnVjdCB7XG4gICAgcmV0dXJuIFN0cnVjdC5mcm9tUGFydGlhbChiYXNlID8/IHt9KTtcbiAgfSxcbiAgZnJvbVBhcnRpYWwob2JqZWN0OiBEZWVwUGFydGlhbDxTdHJ1Y3Q+KTogU3RydWN0IHtcbiAgICBjb25zdCBtZXNzYWdlID0gY3JlYXRlQmFzZVN0cnVjdCgpO1xuICAgIG1lc3NhZ2UuZmllbGRzID0gT2JqZWN0LmVudHJpZXMob2JqZWN0LmZpZWxkcyA/PyB7fSkucmVkdWNlPHsgW2tleTogc3RyaW5nXTogYW55IHwgdW5kZWZpbmVkIH0+KFxuICAgICAgKGFjYywgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgYWNjW2tleV0gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSxcbiAgICAgIHt9LFxuICAgICk7XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG5cbiAgd3JhcChvYmplY3Q6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCB1bmRlZmluZWQpOiBTdHJ1Y3Qge1xuICAgIGNvbnN0IHN0cnVjdCA9IGNyZWF0ZUJhc2VTdHJ1Y3QoKTtcblxuICAgIGlmIChvYmplY3QgIT09IHVuZGVmaW5lZCkge1xuICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMob2JqZWN0KSkge1xuICAgICAgICBzdHJ1Y3QuZmllbGRzW2tleV0gPSBvYmplY3Rba2V5XTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHN0cnVjdDtcbiAgfSxcblxuICB1bndyYXAobWVzc2FnZTogU3RydWN0KTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgY29uc3Qgb2JqZWN0OiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XG4gICAgaWYgKG1lc3NhZ2UuZmllbGRzKSB7XG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhtZXNzYWdlLmZpZWxkcykpIHtcbiAgICAgICAgb2JqZWN0W2tleV0gPSBtZXNzYWdlLmZpZWxkc1trZXldO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gb2JqZWN0O1xuICB9LFxufTtcblxuZnVuY3Rpb24gY3JlYXRlQmFzZVN0cnVjdF9GaWVsZHNFbnRyeSgpOiBTdHJ1Y3RfRmllbGRzRW50cnkge1xuICByZXR1cm4geyBrZXk6IFwiXCIsIHZhbHVlOiB1bmRlZmluZWQgfTtcbn1cblxuZXhwb3J0IGNvbnN0IFN0cnVjdF9GaWVsZHNFbnRyeSA9IHtcbiAgZW5jb2RlKG1lc3NhZ2U6IFN0cnVjdF9GaWVsZHNFbnRyeSwgd3JpdGVyOiBfbTAuV3JpdGVyID0gX20wLldyaXRlci5jcmVhdGUoKSk6IF9tMC5Xcml0ZXIge1xuICAgIGlmIChtZXNzYWdlLmtleSAhPT0gXCJcIikge1xuICAgICAgd3JpdGVyLnVpbnQzMigxMCkuc3RyaW5nKG1lc3NhZ2Uua2V5KTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2UudmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgVmFsdWUuZW5jb2RlKFZhbHVlLndyYXAobWVzc2FnZS52YWx1ZSksIHdyaXRlci51aW50MzIoMTgpLmZvcmsoKSkubGRlbGltKCk7XG4gICAgfVxuICAgIHJldHVybiB3cml0ZXI7XG4gIH0sXG5cbiAgZGVjb2RlKGlucHV0OiBfbTAuUmVhZGVyIHwgVWludDhBcnJheSwgbGVuZ3RoPzogbnVtYmVyKTogU3RydWN0X0ZpZWxkc0VudHJ5IHtcbiAgICBjb25zdCByZWFkZXIgPSBpbnB1dCBpbnN0YW5jZW9mIF9tMC5SZWFkZXIgPyBpbnB1dCA6IF9tMC5SZWFkZXIuY3JlYXRlKGlucHV0KTtcbiAgICBsZXQgZW5kID0gbGVuZ3RoID09PSB1bmRlZmluZWQgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICBjb25zdCBtZXNzYWdlID0gY3JlYXRlQmFzZVN0cnVjdF9GaWVsZHNFbnRyeSgpO1xuICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgaWYgKHRhZyAhPT0gMTApIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG1lc3NhZ2Uua2V5ID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgaWYgKHRhZyAhPT0gMTgpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG1lc3NhZ2UudmFsdWUgPSBWYWx1ZS51bndyYXAoVmFsdWUuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpKSk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAoKHRhZyAmIDcpID09PSA0IHx8IHRhZyA9PT0gMCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG5cbiAgZnJvbUpTT04ob2JqZWN0OiBhbnkpOiBTdHJ1Y3RfRmllbGRzRW50cnkge1xuICAgIHJldHVybiB7XG4gICAgICBrZXk6IGlzU2V0KG9iamVjdC5rZXkpID8gZ2xvYmFsVGhpcy5TdHJpbmcob2JqZWN0LmtleSkgOiBcIlwiLFxuICAgICAgdmFsdWU6IGlzU2V0KG9iamVjdD8udmFsdWUpID8gb2JqZWN0LnZhbHVlIDogdW5kZWZpbmVkLFxuICAgIH07XG4gIH0sXG5cbiAgdG9KU09OKG1lc3NhZ2U6IFN0cnVjdF9GaWVsZHNFbnRyeSk6IHVua25vd24ge1xuICAgIGNvbnN0IG9iajogYW55ID0ge307XG4gICAgaWYgKG1lc3NhZ2Uua2V5ICE9PSBcIlwiKSB7XG4gICAgICBvYmoua2V5ID0gbWVzc2FnZS5rZXk7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlLnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG9iai52YWx1ZSA9IG1lc3NhZ2UudmFsdWU7XG4gICAgfVxuICAgIHJldHVybiBvYmo7XG4gIH0sXG5cbiAgY3JlYXRlKGJhc2U/OiBEZWVwUGFydGlhbDxTdHJ1Y3RfRmllbGRzRW50cnk+KTogU3RydWN0X0ZpZWxkc0VudHJ5IHtcbiAgICByZXR1cm4gU3RydWN0X0ZpZWxkc0VudHJ5LmZyb21QYXJ0aWFsKGJhc2UgPz8ge30pO1xuICB9LFxuICBmcm9tUGFydGlhbChvYmplY3Q6IERlZXBQYXJ0aWFsPFN0cnVjdF9GaWVsZHNFbnRyeT4pOiBTdHJ1Y3RfRmllbGRzRW50cnkge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBjcmVhdGVCYXNlU3RydWN0X0ZpZWxkc0VudHJ5KCk7XG4gICAgbWVzc2FnZS5rZXkgPSBvYmplY3Qua2V5ID8/IFwiXCI7XG4gICAgbWVzc2FnZS52YWx1ZSA9IG9iamVjdC52YWx1ZSA/PyB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG59O1xuXG5mdW5jdGlvbiBjcmVhdGVCYXNlVmFsdWUoKTogVmFsdWUge1xuICByZXR1cm4geyBraW5kOiB1bmRlZmluZWQgfTtcbn1cblxuZXhwb3J0IGNvbnN0IFZhbHVlID0ge1xuICBlbmNvZGUobWVzc2FnZTogVmFsdWUsIHdyaXRlcjogX20wLldyaXRlciA9IF9tMC5Xcml0ZXIuY3JlYXRlKCkpOiBfbTAuV3JpdGVyIHtcbiAgICBzd2l0Y2ggKG1lc3NhZ2Uua2luZD8uJGNhc2UpIHtcbiAgICAgIGNhc2UgXCJudWxsVmFsdWVcIjpcbiAgICAgICAgd3JpdGVyLnVpbnQzMig4KS5pbnQzMihtZXNzYWdlLmtpbmQubnVsbFZhbHVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwibnVtYmVyVmFsdWVcIjpcbiAgICAgICAgd3JpdGVyLnVpbnQzMigxNykuZG91YmxlKG1lc3NhZ2Uua2luZC5udW1iZXJWYWx1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcInN0cmluZ1ZhbHVlXCI6XG4gICAgICAgIHdyaXRlci51aW50MzIoMjYpLnN0cmluZyhtZXNzYWdlLmtpbmQuc3RyaW5nVmFsdWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJib29sVmFsdWVcIjpcbiAgICAgICAgd3JpdGVyLnVpbnQzMigzMikuYm9vbChtZXNzYWdlLmtpbmQuYm9vbFZhbHVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwic3RydWN0VmFsdWVcIjpcbiAgICAgICAgU3RydWN0LmVuY29kZShTdHJ1Y3Qud3JhcChtZXNzYWdlLmtpbmQuc3RydWN0VmFsdWUpLCB3cml0ZXIudWludDMyKDQyKS5mb3JrKCkpLmxkZWxpbSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJsaXN0VmFsdWVcIjpcbiAgICAgICAgTGlzdFZhbHVlLmVuY29kZShMaXN0VmFsdWUud3JhcChtZXNzYWdlLmtpbmQubGlzdFZhbHVlKSwgd3JpdGVyLnVpbnQzMig1MCkuZm9yaygpKS5sZGVsaW0oKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiB3cml0ZXI7XG4gIH0sXG5cbiAgZGVjb2RlKGlucHV0OiBfbTAuUmVhZGVyIHwgVWludDhBcnJheSwgbGVuZ3RoPzogbnVtYmVyKTogVmFsdWUge1xuICAgIGNvbnN0IHJlYWRlciA9IGlucHV0IGluc3RhbmNlb2YgX20wLlJlYWRlciA/IGlucHV0IDogX20wLlJlYWRlci5jcmVhdGUoaW5wdXQpO1xuICAgIGxldCBlbmQgPSBsZW5ndGggPT09IHVuZGVmaW5lZCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBjcmVhdGVCYXNlVmFsdWUoKTtcbiAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgIGlmICh0YWcgIT09IDgpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG1lc3NhZ2Uua2luZCA9IHsgJGNhc2U6IFwibnVsbFZhbHVlXCIsIG51bGxWYWx1ZTogcmVhZGVyLmludDMyKCkgYXMgYW55IH07XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgICBpZiAodGFnICE9PSAxNykge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWVzc2FnZS5raW5kID0geyAkY2FzZTogXCJudW1iZXJWYWx1ZVwiLCBudW1iZXJWYWx1ZTogcmVhZGVyLmRvdWJsZSgpIH07XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIGNhc2UgMzpcbiAgICAgICAgICBpZiAodGFnICE9PSAyNikge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWVzc2FnZS5raW5kID0geyAkY2FzZTogXCJzdHJpbmdWYWx1ZVwiLCBzdHJpbmdWYWx1ZTogcmVhZGVyLnN0cmluZygpIH07XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIGNhc2UgNDpcbiAgICAgICAgICBpZiAodGFnICE9PSAzMikge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWVzc2FnZS5raW5kID0geyAkY2FzZTogXCJib29sVmFsdWVcIiwgYm9vbFZhbHVlOiByZWFkZXIuYm9vbCgpIH07XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIGNhc2UgNTpcbiAgICAgICAgICBpZiAodGFnICE9PSA0Mikge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWVzc2FnZS5raW5kID0geyAkY2FzZTogXCJzdHJ1Y3RWYWx1ZVwiLCBzdHJ1Y3RWYWx1ZTogU3RydWN0LnVud3JhcChTdHJ1Y3QuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpKSkgfTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgY2FzZSA2OlxuICAgICAgICAgIGlmICh0YWcgIT09IDUwKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBtZXNzYWdlLmtpbmQgPSB7ICRjYXNlOiBcImxpc3RWYWx1ZVwiLCBsaXN0VmFsdWU6IExpc3RWYWx1ZS51bndyYXAoTGlzdFZhbHVlLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSkpIH07XG4gICAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAoKHRhZyAmIDcpID09PSA0IHx8IHRhZyA9PT0gMCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG5cbiAgZnJvbUpTT04ob2JqZWN0OiBhbnkpOiBWYWx1ZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGtpbmQ6IGlzU2V0KG9iamVjdC5udWxsVmFsdWUpXG4gICAgICAgID8geyAkY2FzZTogXCJudWxsVmFsdWVcIiwgbnVsbFZhbHVlOiBudWxsVmFsdWVGcm9tSlNPTihvYmplY3QubnVsbFZhbHVlKSB9XG4gICAgICAgIDogaXNTZXQob2JqZWN0Lm51bWJlclZhbHVlKVxuICAgICAgICA/IHsgJGNhc2U6IFwibnVtYmVyVmFsdWVcIiwgbnVtYmVyVmFsdWU6IGdsb2JhbFRoaXMuTnVtYmVyKG9iamVjdC5udW1iZXJWYWx1ZSkgfVxuICAgICAgICA6IGlzU2V0KG9iamVjdC5zdHJpbmdWYWx1ZSlcbiAgICAgICAgPyB7ICRjYXNlOiBcInN0cmluZ1ZhbHVlXCIsIHN0cmluZ1ZhbHVlOiBnbG9iYWxUaGlzLlN0cmluZyhvYmplY3Quc3RyaW5nVmFsdWUpIH1cbiAgICAgICAgOiBpc1NldChvYmplY3QuYm9vbFZhbHVlKVxuICAgICAgICA/IHsgJGNhc2U6IFwiYm9vbFZhbHVlXCIsIGJvb2xWYWx1ZTogZ2xvYmFsVGhpcy5Cb29sZWFuKG9iamVjdC5ib29sVmFsdWUpIH1cbiAgICAgICAgOiBpc1NldChvYmplY3Quc3RydWN0VmFsdWUpXG4gICAgICAgID8geyAkY2FzZTogXCJzdHJ1Y3RWYWx1ZVwiLCBzdHJ1Y3RWYWx1ZTogb2JqZWN0LnN0cnVjdFZhbHVlIH1cbiAgICAgICAgOiBpc1NldChvYmplY3QubGlzdFZhbHVlKVxuICAgICAgICA/IHsgJGNhc2U6IFwibGlzdFZhbHVlXCIsIGxpc3RWYWx1ZTogWy4uLm9iamVjdC5saXN0VmFsdWVdIH1cbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgfTtcbiAgfSxcblxuICB0b0pTT04obWVzc2FnZTogVmFsdWUpOiB1bmtub3duIHtcbiAgICBjb25zdCBvYmo6IGFueSA9IHt9O1xuICAgIGlmIChtZXNzYWdlLmtpbmQ/LiRjYXNlID09PSBcIm51bGxWYWx1ZVwiKSB7XG4gICAgICBvYmoubnVsbFZhbHVlID0gbnVsbFZhbHVlVG9KU09OKG1lc3NhZ2Uua2luZC5udWxsVmFsdWUpO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZS5raW5kPy4kY2FzZSA9PT0gXCJudW1iZXJWYWx1ZVwiKSB7XG4gICAgICBvYmoubnVtYmVyVmFsdWUgPSBtZXNzYWdlLmtpbmQubnVtYmVyVmFsdWU7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlLmtpbmQ/LiRjYXNlID09PSBcInN0cmluZ1ZhbHVlXCIpIHtcbiAgICAgIG9iai5zdHJpbmdWYWx1ZSA9IG1lc3NhZ2Uua2luZC5zdHJpbmdWYWx1ZTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2Uua2luZD8uJGNhc2UgPT09IFwiYm9vbFZhbHVlXCIpIHtcbiAgICAgIG9iai5ib29sVmFsdWUgPSBtZXNzYWdlLmtpbmQuYm9vbFZhbHVlO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZS5raW5kPy4kY2FzZSA9PT0gXCJzdHJ1Y3RWYWx1ZVwiKSB7XG4gICAgICBvYmouc3RydWN0VmFsdWUgPSBtZXNzYWdlLmtpbmQuc3RydWN0VmFsdWU7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlLmtpbmQ/LiRjYXNlID09PSBcImxpc3RWYWx1ZVwiKSB7XG4gICAgICBvYmoubGlzdFZhbHVlID0gbWVzc2FnZS5raW5kLmxpc3RWYWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIG9iajtcbiAgfSxcblxuICBjcmVhdGUoYmFzZT86IERlZXBQYXJ0aWFsPFZhbHVlPik6IFZhbHVlIHtcbiAgICByZXR1cm4gVmFsdWUuZnJvbVBhcnRpYWwoYmFzZSA/PyB7fSk7XG4gIH0sXG4gIGZyb21QYXJ0aWFsKG9iamVjdDogRGVlcFBhcnRpYWw8VmFsdWU+KTogVmFsdWUge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBjcmVhdGVCYXNlVmFsdWUoKTtcbiAgICBpZiAob2JqZWN0LmtpbmQ/LiRjYXNlID09PSBcIm51bGxWYWx1ZVwiICYmIG9iamVjdC5raW5kPy5udWxsVmFsdWUgIT09IHVuZGVmaW5lZCAmJiBvYmplY3Qua2luZD8ubnVsbFZhbHVlICE9PSBudWxsKSB7XG4gICAgICBtZXNzYWdlLmtpbmQgPSB7ICRjYXNlOiBcIm51bGxWYWx1ZVwiLCBudWxsVmFsdWU6IG9iamVjdC5raW5kLm51bGxWYWx1ZSB9O1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBvYmplY3Qua2luZD8uJGNhc2UgPT09IFwibnVtYmVyVmFsdWVcIiAmJlxuICAgICAgb2JqZWN0LmtpbmQ/Lm51bWJlclZhbHVlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIG9iamVjdC5raW5kPy5udW1iZXJWYWx1ZSAhPT0gbnVsbFxuICAgICkge1xuICAgICAgbWVzc2FnZS5raW5kID0geyAkY2FzZTogXCJudW1iZXJWYWx1ZVwiLCBudW1iZXJWYWx1ZTogb2JqZWN0LmtpbmQubnVtYmVyVmFsdWUgfTtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgb2JqZWN0LmtpbmQ/LiRjYXNlID09PSBcInN0cmluZ1ZhbHVlXCIgJiZcbiAgICAgIG9iamVjdC5raW5kPy5zdHJpbmdWYWx1ZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBvYmplY3Qua2luZD8uc3RyaW5nVmFsdWUgIT09IG51bGxcbiAgICApIHtcbiAgICAgIG1lc3NhZ2Uua2luZCA9IHsgJGNhc2U6IFwic3RyaW5nVmFsdWVcIiwgc3RyaW5nVmFsdWU6IG9iamVjdC5raW5kLnN0cmluZ1ZhbHVlIH07XG4gICAgfVxuICAgIGlmIChvYmplY3Qua2luZD8uJGNhc2UgPT09IFwiYm9vbFZhbHVlXCIgJiYgb2JqZWN0LmtpbmQ/LmJvb2xWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIG9iamVjdC5raW5kPy5ib29sVmFsdWUgIT09IG51bGwpIHtcbiAgICAgIG1lc3NhZ2Uua2luZCA9IHsgJGNhc2U6IFwiYm9vbFZhbHVlXCIsIGJvb2xWYWx1ZTogb2JqZWN0LmtpbmQuYm9vbFZhbHVlIH07XG4gICAgfVxuICAgIGlmIChcbiAgICAgIG9iamVjdC5raW5kPy4kY2FzZSA9PT0gXCJzdHJ1Y3RWYWx1ZVwiICYmXG4gICAgICBvYmplY3Qua2luZD8uc3RydWN0VmFsdWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgb2JqZWN0LmtpbmQ/LnN0cnVjdFZhbHVlICE9PSBudWxsXG4gICAgKSB7XG4gICAgICBtZXNzYWdlLmtpbmQgPSB7ICRjYXNlOiBcInN0cnVjdFZhbHVlXCIsIHN0cnVjdFZhbHVlOiBvYmplY3Qua2luZC5zdHJ1Y3RWYWx1ZSB9O1xuICAgIH1cbiAgICBpZiAob2JqZWN0LmtpbmQ/LiRjYXNlID09PSBcImxpc3RWYWx1ZVwiICYmIG9iamVjdC5raW5kPy5saXN0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBvYmplY3Qua2luZD8ubGlzdFZhbHVlICE9PSBudWxsKSB7XG4gICAgICBtZXNzYWdlLmtpbmQgPSB7ICRjYXNlOiBcImxpc3RWYWx1ZVwiLCBsaXN0VmFsdWU6IG9iamVjdC5raW5kLmxpc3RWYWx1ZSB9O1xuICAgIH1cbiAgICByZXR1cm4gbWVzc2FnZTtcbiAgfSxcblxuICB3cmFwKHZhbHVlOiBhbnkpOiBWYWx1ZSB7XG4gICAgY29uc3QgcmVzdWx0ID0gY3JlYXRlQmFzZVZhbHVlKCk7XG4gICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXN1bHQua2luZCA9IHsgJGNhc2U6IFwibnVsbFZhbHVlXCIsIG51bGxWYWx1ZTogTnVsbFZhbHVlLk5VTExfVkFMVUUgfTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJib29sZWFuXCIpIHtcbiAgICAgIHJlc3VsdC5raW5kID0geyAkY2FzZTogXCJib29sVmFsdWVcIiwgYm9vbFZhbHVlOiB2YWx1ZSB9O1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSBcIm51bWJlclwiKSB7XG4gICAgICByZXN1bHQua2luZCA9IHsgJGNhc2U6IFwibnVtYmVyVmFsdWVcIiwgbnVtYmVyVmFsdWU6IHZhbHVlIH07XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIHJlc3VsdC5raW5kID0geyAkY2FzZTogXCJzdHJpbmdWYWx1ZVwiLCBzdHJpbmdWYWx1ZTogdmFsdWUgfTtcbiAgICB9IGVsc2UgaWYgKGdsb2JhbFRoaXMuQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIHJlc3VsdC5raW5kID0geyAkY2FzZTogXCJsaXN0VmFsdWVcIiwgbGlzdFZhbHVlOiB2YWx1ZSB9O1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiKSB7XG4gICAgICByZXN1bHQua2luZCA9IHsgJGNhc2U6IFwic3RydWN0VmFsdWVcIiwgc3RydWN0VmFsdWU6IHZhbHVlIH07XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIHRocm93IG5ldyBnbG9iYWxUaGlzLkVycm9yKFwiVW5zdXBwb3J0ZWQgYW55IHZhbHVlIHR5cGU6IFwiICsgdHlwZW9mIHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfSxcblxuICB1bndyYXAobWVzc2FnZTogVmFsdWUpOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgT2JqZWN0IHwgbnVsbCB8IEFycmF5PGFueT4gfCB1bmRlZmluZWQge1xuICAgIGlmIChtZXNzYWdlLmtpbmQ/LiRjYXNlID09PSBcIm51bGxWYWx1ZVwiKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9IGVsc2UgaWYgKG1lc3NhZ2Uua2luZD8uJGNhc2UgPT09IFwibnVtYmVyVmFsdWVcIikge1xuICAgICAgcmV0dXJuIG1lc3NhZ2Uua2luZD8ubnVtYmVyVmFsdWU7XG4gICAgfSBlbHNlIGlmIChtZXNzYWdlLmtpbmQ/LiRjYXNlID09PSBcInN0cmluZ1ZhbHVlXCIpIHtcbiAgICAgIHJldHVybiBtZXNzYWdlLmtpbmQ/LnN0cmluZ1ZhbHVlO1xuICAgIH0gZWxzZSBpZiAobWVzc2FnZS5raW5kPy4kY2FzZSA9PT0gXCJib29sVmFsdWVcIikge1xuICAgICAgcmV0dXJuIG1lc3NhZ2Uua2luZD8uYm9vbFZhbHVlO1xuICAgIH0gZWxzZSBpZiAobWVzc2FnZS5raW5kPy4kY2FzZSA9PT0gXCJzdHJ1Y3RWYWx1ZVwiKSB7XG4gICAgICByZXR1cm4gbWVzc2FnZS5raW5kPy5zdHJ1Y3RWYWx1ZTtcbiAgICB9IGVsc2UgaWYgKG1lc3NhZ2Uua2luZD8uJGNhc2UgPT09IFwibGlzdFZhbHVlXCIpIHtcbiAgICAgIHJldHVybiBtZXNzYWdlLmtpbmQ/Lmxpc3RWYWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH0sXG59O1xuXG5mdW5jdGlvbiBjcmVhdGVCYXNlTGlzdFZhbHVlKCk6IExpc3RWYWx1ZSB7XG4gIHJldHVybiB7IHZhbHVlczogW10gfTtcbn1cblxuZXhwb3J0IGNvbnN0IExpc3RWYWx1ZSA9IHtcbiAgZW5jb2RlKG1lc3NhZ2U6IExpc3RWYWx1ZSwgd3JpdGVyOiBfbTAuV3JpdGVyID0gX20wLldyaXRlci5jcmVhdGUoKSk6IF9tMC5Xcml0ZXIge1xuICAgIGZvciAoY29uc3QgdiBvZiBtZXNzYWdlLnZhbHVlcykge1xuICAgICAgVmFsdWUuZW5jb2RlKFZhbHVlLndyYXAodiEpLCB3cml0ZXIudWludDMyKDEwKS5mb3JrKCkpLmxkZWxpbSgpO1xuICAgIH1cbiAgICByZXR1cm4gd3JpdGVyO1xuICB9LFxuXG4gIGRlY29kZShpbnB1dDogX20wLlJlYWRlciB8IFVpbnQ4QXJyYXksIGxlbmd0aD86IG51bWJlcik6IExpc3RWYWx1ZSB7XG4gICAgY29uc3QgcmVhZGVyID0gaW5wdXQgaW5zdGFuY2VvZiBfbTAuUmVhZGVyID8gaW5wdXQgOiBfbTAuUmVhZGVyLmNyZWF0ZShpbnB1dCk7XG4gICAgbGV0IGVuZCA9IGxlbmd0aCA9PT0gdW5kZWZpbmVkID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgY29uc3QgbWVzc2FnZSA9IGNyZWF0ZUJhc2VMaXN0VmFsdWUoKTtcbiAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgIGlmICh0YWcgIT09IDEwKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBtZXNzYWdlLnZhbHVlcy5wdXNoKFZhbHVlLnVud3JhcChWYWx1ZS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCkpKSk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAoKHRhZyAmIDcpID09PSA0IHx8IHRhZyA9PT0gMCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG5cbiAgZnJvbUpTT04ob2JqZWN0OiBhbnkpOiBMaXN0VmFsdWUge1xuICAgIHJldHVybiB7IHZhbHVlczogZ2xvYmFsVGhpcy5BcnJheS5pc0FycmF5KG9iamVjdD8udmFsdWVzKSA/IFsuLi5vYmplY3QudmFsdWVzXSA6IFtdIH07XG4gIH0sXG5cbiAgdG9KU09OKG1lc3NhZ2U6IExpc3RWYWx1ZSk6IHVua25vd24ge1xuICAgIGNvbnN0IG9iajogYW55ID0ge307XG4gICAgaWYgKG1lc3NhZ2UudmFsdWVzPy5sZW5ndGgpIHtcbiAgICAgIG9iai52YWx1ZXMgPSBtZXNzYWdlLnZhbHVlcztcbiAgICB9XG4gICAgcmV0dXJuIG9iajtcbiAgfSxcblxuICBjcmVhdGUoYmFzZT86IERlZXBQYXJ0aWFsPExpc3RWYWx1ZT4pOiBMaXN0VmFsdWUge1xuICAgIHJldHVybiBMaXN0VmFsdWUuZnJvbVBhcnRpYWwoYmFzZSA/PyB7fSk7XG4gIH0sXG4gIGZyb21QYXJ0aWFsKG9iamVjdDogRGVlcFBhcnRpYWw8TGlzdFZhbHVlPik6IExpc3RWYWx1ZSB7XG4gICAgY29uc3QgbWVzc2FnZSA9IGNyZWF0ZUJhc2VMaXN0VmFsdWUoKTtcbiAgICBtZXNzYWdlLnZhbHVlcyA9IG9iamVjdC52YWx1ZXM/Lm1hcCgoZSkgPT4gZSkgfHwgW107XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG5cbiAgd3JhcChhcnJheTogQXJyYXk8YW55PiB8IHVuZGVmaW5lZCk6IExpc3RWYWx1ZSB7XG4gICAgY29uc3QgcmVzdWx0ID0gY3JlYXRlQmFzZUxpc3RWYWx1ZSgpO1xuICAgIHJlc3VsdC52YWx1ZXMgPSBhcnJheSA/PyBbXTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9LFxuXG4gIHVud3JhcChtZXNzYWdlOiBMaXN0VmFsdWUpOiBBcnJheTxhbnk+IHtcbiAgICBpZiAobWVzc2FnZT8uaGFzT3duUHJvcGVydHkoXCJ2YWx1ZXNcIikgJiYgZ2xvYmFsVGhpcy5BcnJheS5pc0FycmF5KG1lc3NhZ2UudmFsdWVzKSkge1xuICAgICAgcmV0dXJuIG1lc3NhZ2UudmFsdWVzO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbWVzc2FnZSBhcyBhbnk7XG4gICAgfVxuICB9LFxufTtcblxudHlwZSBCdWlsdGluID0gRGF0ZSB8IEZ1bmN0aW9uIHwgVWludDhBcnJheSB8IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbmV4cG9ydCB0eXBlIERlZXBQYXJ0aWFsPFQ+ID0gVCBleHRlbmRzIEJ1aWx0aW4gPyBUXG4gIDogVCBleHRlbmRzIGdsb2JhbFRoaXMuQXJyYXk8aW5mZXIgVT4gPyBnbG9iYWxUaGlzLkFycmF5PERlZXBQYXJ0aWFsPFU+PlxuICA6IFQgZXh0ZW5kcyBSZWFkb25seUFycmF5PGluZmVyIFU+ID8gUmVhZG9ubHlBcnJheTxEZWVwUGFydGlhbDxVPj5cbiAgOiBUIGV4dGVuZHMgeyAkY2FzZTogc3RyaW5nIH0gPyB7IFtLIGluIGtleW9mIE9taXQ8VCwgXCIkY2FzZVwiPl0/OiBEZWVwUGFydGlhbDxUW0tdPiB9ICYgeyAkY2FzZTogVFtcIiRjYXNlXCJdIH1cbiAgOiBUIGV4dGVuZHMge30gPyB7IFtLIGluIGtleW9mIFRdPzogRGVlcFBhcnRpYWw8VFtLXT4gfVxuICA6IFBhcnRpYWw8VD47XG5cbmZ1bmN0aW9uIGlzT2JqZWN0KHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIiAmJiB2YWx1ZSAhPT0gbnVsbDtcbn1cblxuZnVuY3Rpb24gaXNTZXQodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHVuZGVmaW5lZDtcbn1cbiJdfQ==
|
|
@@ -5,5 +5,5 @@ export declare abstract class BaseService {
|
|
|
5
5
|
protected abstract getFileProcessorMethod(): (path: string, request: UploadBlobRequest, fileExtension: string) => Promise<void>;
|
|
6
6
|
protected abstract getLogPrefix(): string;
|
|
7
7
|
protected abstract getFileExtension(): string;
|
|
8
|
-
upload(application: string, version: string, repoName: string | undefined, commitHash: string | undefined, orgName: string | undefined, folderPath: string, env: string, privateKey: string): Promise<void>;
|
|
8
|
+
upload(application: string, version: string, repoName: string | undefined, commitHash: string | undefined, orgName: string | undefined, folderPath: string, env: string, privateKey: string, override?: boolean, merge?: boolean): Promise<void>;
|
|
9
9
|
}
|
|
@@ -12,16 +12,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.BaseService = void 0;
|
|
13
13
|
const blobset_service_1 = require("../../proto-models/com/coralogix/blobset/v2/blobset_service");
|
|
14
14
|
const consts_1 = require("../../consts/consts");
|
|
15
|
+
const upload_mode_utils_1 = require("../../utils/upload-mode.utils");
|
|
15
16
|
class BaseService {
|
|
16
|
-
upload(application, version, repoName, commitHash, orgName, folderPath, env, privateKey) {
|
|
17
|
+
upload(application, version, repoName, commitHash, orgName, folderPath, env, privateKey, override = false, merge = false) {
|
|
17
18
|
return __awaiter(this, void 0, void 0, function* () {
|
|
18
19
|
const request = blobset_service_1.UploadBlobRequest.create();
|
|
19
20
|
const api = this.getApi();
|
|
20
|
-
|
|
21
|
+
const mode = (0, upload_mode_utils_1.getUploadMode)({ override, merge });
|
|
22
|
+
console.log(consts_1.GRAY_COLOR, `🚀 ${upload_mode_utils_1.UPLOAD_LABELS.ongoing[mode]} ${this.getLogPrefix()}... (${new Date().toUTCString()})`);
|
|
21
23
|
try {
|
|
22
24
|
yield this.getFileProcessorMethod()(folderPath, request, this.getFileExtension());
|
|
23
|
-
yield api.upload(request, application, version, repoName, commitHash, orgName, env, privateKey);
|
|
24
|
-
console.log(consts_1.GREEN_COLOR, `✅ ${this.getLogPrefix()}
|
|
25
|
+
yield api.upload(request, application, version, repoName, commitHash, orgName, env, privateKey, override, merge);
|
|
26
|
+
console.log(consts_1.GREEN_COLOR, `✅ ${this.getLogPrefix()} ${upload_mode_utils_1.UPLOAD_LABELS.completed[mode]} successfully!`);
|
|
25
27
|
console.log(consts_1.GREEN_COLOR, '✅ Processing complete.');
|
|
26
28
|
}
|
|
27
29
|
catch (error) {
|
|
@@ -31,4 +33,4 @@ class BaseService {
|
|
|
31
33
|
}
|
|
32
34
|
}
|
|
33
35
|
exports.BaseService = BaseService;
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc2VydmljZXMvYmFzZS9iYXNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsaUdBQWdHO0FBQ2hHLGdEQUE4RDtBQUU5RCxxRUFBNkU7QUFFN0UsTUFBc0IsV0FBVztJQU16QixNQUFNLENBQ1YsV0FBbUIsRUFDbkIsT0FBZSxFQUNmLFFBQTRCLEVBQzVCLFVBQThCLEVBQzlCLE9BQTJCLEVBQzNCLFVBQWtCLEVBQ2xCLEdBQVcsRUFDWCxVQUFrQixFQUNsQixRQUFRLEdBQUcsS0FBSyxFQUNoQixLQUFLLEdBQUcsS0FBSzs7WUFFYixNQUFNLE9BQU8sR0FBc0IsbUNBQWlCLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDOUQsTUFBTSxHQUFHLEdBQVksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ25DLE1BQU0sSUFBSSxHQUFHLElBQUEsaUNBQWEsRUFBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBRWhELE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQVUsRUFBRSxNQUFNLGlDQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUVySCxJQUFJO2dCQUNGLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO2dCQUVsRixNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBRWpILE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQVcsRUFBRSxLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxpQ0FBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztnQkFDcEcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBVyxFQUFFLHdCQUF3QixDQUFDLENBQUM7YUFDcEQ7WUFBQyxPQUFPLEtBQUssRUFBRTtnQkFDZCxNQUFNLEtBQUssQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0NBQ0Y7QUFuQ0Qsa0NBbUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXBsb2FkQmxvYlJlcXVlc3QgfSBmcm9tICcuLi8uLi9wcm90by1tb2RlbHMvY29tL2NvcmFsb2dpeC9ibG9ic2V0L3YyL2Jsb2JzZXRfc2VydmljZSc7XG5pbXBvcnQgeyBHUkFZX0NPTE9SLCBHUkVFTl9DT0xPUiB9IGZyb20gJy4uLy4uL2NvbnN0cy9jb25zdHMnO1xuaW1wb3J0IHsgQmFzZUFwaSB9IGZyb20gJy4uLy4uL2FwaS9iYXNlL2Jhc2UuYXBpJztcbmltcG9ydCB7IGdldFVwbG9hZE1vZGUsIFVQTE9BRF9MQUJFTFMgfSBmcm9tICcuLi8uLi91dGlscy91cGxvYWQtbW9kZS51dGlscyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlU2VydmljZSB7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRBcGkoKTogQmFzZUFwaTtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldEZpbGVQcm9jZXNzb3JNZXRob2QoKTogKHBhdGg6IHN0cmluZywgcmVxdWVzdDogVXBsb2FkQmxvYlJlcXVlc3QsIGZpbGVFeHRlbnNpb246IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPjtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldExvZ1ByZWZpeCgpOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRGaWxlRXh0ZW5zaW9uKCk6IHN0cmluZztcblxuICBhc3luYyB1cGxvYWQoXG4gICAgYXBwbGljYXRpb246IHN0cmluZyxcbiAgICB2ZXJzaW9uOiBzdHJpbmcsXG4gICAgcmVwb05hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBjb21taXRIYXNoOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgb3JnTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIGZvbGRlclBhdGg6IHN0cmluZyxcbiAgICBlbnY6IHN0cmluZyxcbiAgICBwcml2YXRlS2V5OiBzdHJpbmcsXG4gICAgb3ZlcnJpZGUgPSBmYWxzZSxcbiAgICBtZXJnZSA9IGZhbHNlLFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBVcGxvYWRCbG9iUmVxdWVzdCA9IFVwbG9hZEJsb2JSZXF1ZXN0LmNyZWF0ZSgpO1xuICAgIGNvbnN0IGFwaTogQmFzZUFwaSA9IHRoaXMuZ2V0QXBpKCk7XG4gICAgY29uc3QgbW9kZSA9IGdldFVwbG9hZE1vZGUoeyBvdmVycmlkZSwgbWVyZ2UgfSk7XG5cbiAgICBjb25zb2xlLmxvZyhHUkFZX0NPTE9SLCBg8J+agCAke1VQTE9BRF9MQUJFTFMub25nb2luZ1ttb2RlXX0gJHt0aGlzLmdldExvZ1ByZWZpeCgpfS4uLiAoJHtuZXcgRGF0ZSgpLnRvVVRDU3RyaW5nKCl9KWApO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuZ2V0RmlsZVByb2Nlc3Nvck1ldGhvZCgpKGZvbGRlclBhdGgsIHJlcXVlc3QsIHRoaXMuZ2V0RmlsZUV4dGVuc2lvbigpKTtcblxuICAgICAgYXdhaXQgYXBpLnVwbG9hZChyZXF1ZXN0LCBhcHBsaWNhdGlvbiwgdmVyc2lvbiwgcmVwb05hbWUsIGNvbW1pdEhhc2gsIG9yZ05hbWUsIGVudiwgcHJpdmF0ZUtleSwgb3ZlcnJpZGUsIG1lcmdlKTtcblxuICAgICAgY29uc29sZS5sb2coR1JFRU5fQ09MT1IsIGDinIUgJHt0aGlzLmdldExvZ1ByZWZpeCgpfSAke1VQTE9BRF9MQUJFTFMuY29tcGxldGVkW21vZGVdfSBzdWNjZXNzZnVsbHkhYCk7XG4gICAgICBjb25zb2xlLmxvZyhHUkVFTl9DT0xPUiwgJ+KchSBQcm9jZXNzaW5nIGNvbXBsZXRlLicpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -6,5 +6,4 @@ export declare class SourceMapsService extends BaseService {
|
|
|
6
6
|
protected getFileProcessorMethod(): typeof FileProcessor.traverse;
|
|
7
7
|
protected getLogPrefix(): string;
|
|
8
8
|
protected getFileExtension(): string;
|
|
9
|
-
upload(application: string, version: string, repoName: string | undefined, commitHash: string | undefined, orgName: string | undefined, folderPath: string, env: string, privateKey: string, override?: boolean): Promise<void>;
|
|
10
9
|
}
|