valtech-components 2.0.682 → 2.0.684
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/esm2022/lib/services/feedback/feedback.service.mjs +24 -21
- package/esm2022/lib/services/i18n/default-content.mjs +21 -1
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/valtech-components.mjs +44 -21
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/atoms/rights-footer/rights-footer.component.d.ts +1 -1
- package/lib/components/organisms/article/article.component.d.ts +2 -2
- package/lib/components/organisms/toolbar/toolbar.component.d.ts +1 -1
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -152,35 +152,38 @@ export class FeedbackService {
|
|
|
152
152
|
* ```
|
|
153
153
|
*/
|
|
154
154
|
async checkFeedback(entityType, entityId) {
|
|
155
|
+
// Si no hay usuario autenticado, no puede haber feedback previo
|
|
156
|
+
// Retornar inmediatamente sin llamar al API (evita 401 y redirect a login)
|
|
157
|
+
const userId = this.auth?.user()?.userId;
|
|
158
|
+
if (!userId) {
|
|
159
|
+
return { operationId: '', hasFeedback: false };
|
|
160
|
+
}
|
|
155
161
|
// 1. Intentar Firebase primero (si está disponible)
|
|
156
|
-
if (this.firestore
|
|
162
|
+
if (this.firestore) {
|
|
157
163
|
try {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
createdAt: doc.createdAt?.toISOString(),
|
|
172
|
-
};
|
|
173
|
-
}
|
|
174
|
-
// Doc no existe = no hay feedback
|
|
175
|
-
return { operationId: '', hasFeedback: false };
|
|
164
|
+
// Path: feedback/{entityType}/{entityId}/{userId}
|
|
165
|
+
// FirestoreService agrega automáticamente el prefijo apps/{appId}/
|
|
166
|
+
const collectionPath = `feedback/${entityType}/${entityId}`;
|
|
167
|
+
const doc = await this.firestore.getDoc(collectionPath, userId);
|
|
168
|
+
if (doc) {
|
|
169
|
+
return {
|
|
170
|
+
operationId: '',
|
|
171
|
+
hasFeedback: true,
|
|
172
|
+
feedbackId: doc.feedbackId,
|
|
173
|
+
type: doc.type,
|
|
174
|
+
reactionValue: doc.reactionValue,
|
|
175
|
+
createdAt: doc.createdAt?.toISOString(),
|
|
176
|
+
};
|
|
176
177
|
}
|
|
178
|
+
// Doc no existe = no hay feedback
|
|
179
|
+
return { operationId: '', hasFeedback: false };
|
|
177
180
|
}
|
|
178
181
|
catch (error) {
|
|
179
182
|
console.warn('[FeedbackService] Firebase check failed, falling back to API:', error);
|
|
180
183
|
// Fallback a API
|
|
181
184
|
}
|
|
182
185
|
}
|
|
183
|
-
// 2. Fallback: llamar API
|
|
186
|
+
// 2. Fallback: llamar API (solo si hay usuario autenticado)
|
|
184
187
|
const params = new URLSearchParams({
|
|
185
188
|
appId: this.config.appId,
|
|
186
189
|
entityType,
|
|
@@ -290,4 +293,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
290
293
|
type: Injectable,
|
|
291
294
|
args: [{ providedIn: 'root' }]
|
|
292
295
|
}] });
|
|
293
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZGJhY2suc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvZmVlZGJhY2svZmVlZGJhY2suc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFjLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFhbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUVuRDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUVILE1BQU0sT0FBTyxlQUFlO0lBRDVCO1FBRVUsV0FBTSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3pDLFNBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUIsY0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0EyU3hEO0lBelNDOztPQUVHO0lBQ0gsSUFBWSxPQUFPO1FBQ2pCLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzlELENBQUM7SUFFRDs7T0FFRztJQUNILG9CQUFvQjtRQUNsQixNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDO1FB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QUN0RCxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDN0MsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDNUIsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQ2hELElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1YsT0FBTyxTQUFTLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDL0MsQ0FBQztZQUNELE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7UUFDRCxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDN0MsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDL0QsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztZQUFFLE9BQU8sT0FBTyxDQUFDO1FBQ3pDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7K0dBOVNVLGVBQWU7bUhBQWYsZUFBZSxjQURGLE1BQU07OzRGQUNuQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBWQUxURUNIX0ZFRURCQUNLX0NPTkZJRyB9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7XG4gIENyZWF0ZUZlZWRiYWNrUmVxdWVzdCxcbiAgQ3JlYXRlRmVlZGJhY2tSZXNwb25zZSxcbiAgR2V0RmVlZGJhY2tSZXNwb25zZSxcbiAgQ2hlY2tGZWVkYmFja1Jlc3BvbnNlLFxuICBEZXZpY2VDb250ZXh0LFxuICBGZWVkYmFja1R5cGUsXG4gIENvbnRlbnRSZWYsXG4gIEVudGl0eVJlZixcbiAgUmVhY3Rpb25WYWx1ZSxcbiAgRmVlZGJhY2tGaXJlc3RvcmVEb2MsXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgRmlyZXN0b3JlU2VydmljZSB9IGZyb20gJy4uL2ZpcmViYXNlL2ZpcmVzdG9yZS5zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aC9hdXRoLnNlcnZpY2UnO1xuXG4vKipcbiAqIFNlcnZpY2lvIHBhcmEgZ2VzdGlvbmFyIGZlZWRiYWNrIGRlIHVzdWFyaW9zLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBAQ29tcG9uZW50KHsuLi59KVxuICogZXhwb3J0IGNsYXNzIE15Q29tcG9uZW50IHtcbiAqICAgcHJpdmF0ZSBmZWVkYmFja1NlcnZpY2UgPSBpbmplY3QoRmVlZGJhY2tTZXJ2aWNlKTtcbiAqXG4gKiAgIGFzeW5jIHN1Ym1pdEZlZWRiYWNrKCkge1xuICogICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5mZWVkYmFja1NlcnZpY2UuY3JlYXRlQXN5bmMoXG4gKiAgICAgICAnZmVlZGJhY2snLFxuICogICAgICAgJ01pIGNvbWVudGFyaW8nLFxuICogICAgICAgJ0Rlc2NyaXBjacOzbiBkZXRhbGxhZGEuLi4nXG4gKiAgICAgKTtcbiAqICAgICBjb25zb2xlLmxvZygnRmVlZGJhY2sgZW52aWFkbzonLCByZXNwb25zZS5mZWVkYmFja0lkKTtcbiAqICAgfVxuICogfVxuICogYGBgXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgRmVlZGJhY2tTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBjb25maWcgPSBpbmplY3QoVkFMVEVDSF9GRUVEQkFDS19DT05GSUcpO1xuICBwcml2YXRlIGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gIHByaXZhdGUgZmlyZXN0b3JlID0gaW5qZWN0KEZpcmVzdG9yZVNlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHByaXZhdGUgYXV0aCA9IGluamVjdChBdXRoU2VydmljZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICAvKipcbiAgICogVVJMIGJhc2UgcGFyYSBlbmRwb2ludHMgZGUgZmVlZGJhY2suXG4gICAqL1xuICBwcml2YXRlIGdldCBiYXNlVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuY29uZmlnLmFwaVVybH0ke3RoaXMuY29uZmlnLmZlZWRiYWNrUHJlZml4fWA7XG4gIH1cblxuICAvKipcbiAgICogQ2FwdHVyYSBlbCBjb250ZXh0byBkZWwgZGlzcG9zaXRpdm8gYXV0b23DoXRpY2FtZW50ZS5cbiAgICovXG4gIGNhcHR1cmVEZXZpY2VDb250ZXh0KCk6IERldmljZUNvbnRleHQge1xuICAgIGNvbnN0IHVhID0gbmF2aWdhdG9yLnVzZXJBZ2VudDtcbiAgICByZXR1cm4ge1xuICAgICAgYnJvd3NlcjogdGhpcy5kZXRlY3RCcm93c2VyKHVhKSxcbiAgICAgIG9zOiB0aGlzLmRldGVjdE9TKHVhKSxcbiAgICAgIHZpZXdwb3J0OiBgJHt3aW5kb3cuaW5uZXJXaWR0aH14JHt3aW5kb3cuaW5uZXJIZWlnaHR9YCxcbiAgICAgIGxhbmd1YWdlOiBuYXZpZ2F0b3IubGFuZ3VhZ2UsXG4gICAgICB1c2VyQWdlbnQ6IHVhLFxuICAgICAgcGFnZVVybDogd2luZG93LmxvY2F0aW9uLmhyZWYsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhIHVuIG51ZXZvIGZlZWRiYWNrLlxuICAgKlxuICAgKiBAcGFyYW0gdHlwZSAtIFRpcG8gZGUgZmVlZGJhY2tcbiAgICogQHBhcmFtIHRpdGxlIC0gVMOtdHVsbyBkZWwgZmVlZGJhY2tcbiAgICogQHBhcmFtIGRlc2NyaXB0aW9uIC0gRGVzY3JpcGNpw7NuIGRldGFsbGFkYVxuICAgKiBAcGFyYW0gYXR0YWNobWVudHMgLSBVUkxzIGRlIGFyY2hpdm9zIGFkanVudG9zIChvcGNpb25hbClcbiAgICogQHBhcmFtIGNvbnRlbnRSZWYgLSBSZWZlcmVuY2lhIGEgY29udGVuaWRvIGVzcGVjw61maWNvIChvcGNpb25hbClcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBjb24gbGEgcmVzcHVlc3RhXG4gICAqL1xuICBjcmVhdGUoXG4gICAgdHlwZTogRmVlZGJhY2tUeXBlLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgZGVzY3JpcHRpb246IHN0cmluZyxcbiAgICBhdHRhY2htZW50czogc3RyaW5nW10gPSBbXSxcbiAgICBjb250ZW50UmVmPzogQ29udGVudFJlZlxuICApOiBPYnNlcnZhYmxlPENyZWF0ZUZlZWRiYWNrUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBDcmVhdGVGZWVkYmFja1JlcXVlc3QgPSB7XG4gICAgICB0eXBlLFxuICAgICAgdGl0bGUsXG4gICAgICBkZXNjcmlwdGlvbixcbiAgICAgIGF0dGFjaG1lbnRzLFxuICAgICAgY29udGVudFJlZixcbiAgICAgIGRldmljZUNvbnRleHQ6IHRoaXMuY2FwdHVyZURldmljZUNvbnRleHQoKSxcbiAgICAgIGFwcElkOiB0aGlzLmNvbmZpZy5hcHBJZCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENyZWF0ZUZlZWRiYWNrUmVzcG9uc2U+KHRoaXMuYmFzZVVybCwgcmVxdWVzdCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYSB1biBudWV2byBmZWVkYmFjayAodmVyc2nDs24gYXN5bmMvYXdhaXQpLlxuICAgKi9cbiAgYXN5bmMgY3JlYXRlQXN5bmMoXG4gICAgdHlwZTogRmVlZGJhY2tUeXBlLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgZGVzY3JpcHRpb246IHN0cmluZyxcbiAgICBhdHRhY2htZW50czogc3RyaW5nW10gPSBbXSxcbiAgICBjb250ZW50UmVmPzogQ29udGVudFJlZlxuICApOiBQcm9taXNlPENyZWF0ZUZlZWRiYWNrUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLmNyZWF0ZSh0eXBlLCB0aXRsZSwgZGVzY3JpcHRpb24sIGF0dGFjaG1lbnRzLCBjb250ZW50UmVmKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogT2J0aWVuZSB1biBmZWVkYmFjayBwb3IgSUQgKHNvbG8gZWwgcHJvcGlldGFyaW8pLlxuICAgKlxuICAgKiBAcGFyYW0gZmVlZGJhY2tJZCAtIElEIGRlbCBmZWVkYmFja1xuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIGNvbiBsYSByZXNwdWVzdGFcbiAgICovXG4gIGdldEJ5SWQoZmVlZGJhY2tJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxHZXRGZWVkYmFja1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8R2V0RmVlZGJhY2tSZXNwb25zZT4oYCR7dGhpcy5iYXNlVXJsfS8ke2ZlZWRiYWNrSWR9YCk7XG4gIH1cblxuICAvKipcbiAgICogT2J0aWVuZSB1biBmZWVkYmFjayBwb3IgSUQgKHZlcnNpw7NuIGFzeW5jL2F3YWl0KS5cbiAgICovXG4gIGFzeW5jIGdldEJ5SWRBc3luYyhmZWVkYmFja0lkOiBzdHJpbmcpOiBQcm9taXNlPEdldEZlZWRiYWNrUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5nZXRCeUlkKGZlZWRiYWNrSWQpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGEgc2kgdW4gYXJjaGl2byBjdW1wbGUgY29uIGxhcyByZXN0cmljY2lvbmVzLlxuICAgKi9cbiAgdmFsaWRhdGVGaWxlKGZpbGU6IEZpbGUpOiB7IHZhbGlkOiBib29sZWFuOyBlcnJvcj86IHN0cmluZyB9IHtcbiAgICAvLyBWZXJpZmljYXIgdGFtYcOxb1xuICAgIGlmIChmaWxlLnNpemUgPiB0aGlzLmNvbmZpZy5tYXhGaWxlU2l6ZSEpIHtcbiAgICAgIGNvbnN0IG1heFNpemVNQiA9IE1hdGgucm91bmQodGhpcy5jb25maWcubWF4RmlsZVNpemUhIC8gKDEwMjQgKiAxMDI0KSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB2YWxpZDogZmFsc2UsXG4gICAgICAgIGVycm9yOiBgRWwgYXJjaGl2byBleGNlZGUgZWwgdGFtYcOxbyBtw6F4aW1vIGRlICR7bWF4U2l6ZU1CfU1CYCxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gVmVyaWZpY2FyIHRpcG9cbiAgICBjb25zdCBhbGxvd2VkVHlwZXMgPSB0aGlzLmNvbmZpZy5hbGxvd2VkRmlsZVR5cGVzIHx8IFtdO1xuICAgIGNvbnN0IGlzQWxsb3dlZCA9IGFsbG93ZWRUeXBlcy5zb21lKChwYXR0ZXJuKSA9PiB7XG4gICAgICBpZiAocGF0dGVybi5lbmRzV2l0aCgnLyonKSkge1xuICAgICAgICBjb25zdCBiYXNlVHlwZSA9IHBhdHRlcm4ucmVwbGFjZSgnLyonLCAnJyk7XG4gICAgICAgIHJldHVybiBmaWxlLnR5cGUuc3RhcnRzV2l0aChiYXNlVHlwZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmlsZS50eXBlID09PSBwYXR0ZXJuO1xuICAgIH0pO1xuXG4gICAgaWYgKCFpc0FsbG93ZWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHZhbGlkOiBmYWxzZSxcbiAgICAgICAgZXJyb3I6ICdUaXBvIGRlIGFyY2hpdm8gbm8gcGVybWl0aWRvJyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgdmFsaWQ6IHRydWUgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnRpZW5lIGxhIGNvbmZpZ3VyYWNpw7NuIGFjdHVhbCBkZWwgc2VydmljaW8uXG4gICAqL1xuICBnZXRDb25maWcoKTogUmVhZG9ubHk8dHlwZW9mIHRoaXMuY29uZmlnPiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBSZWFjdGlvbiBNZXRob2RzIChDb250ZW50IGZlZWRiYWNrIHdpdGggZW1vamlzKVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIFZlcmlmaWNhIHNpIGVsIHVzdWFyaW8geWEgZGlvIGZlZWRiYWNrIHBhcmEgdW5hIGVudGlkYWQgZXNwZWPDrWZpY2EuXG4gICAqXG4gICAqIFByaW1lcm8gaW50ZW50YSBsZWVyIGRlIEZpcmViYXNlIChyw6FwaWRvLCBzaW4gbGF0ZW5jaWEgZGUgcmVkIGFsIGJhY2tlbmQpLlxuICAgKiBTaSBGaXJlYmFzZSBubyBlc3TDoSBkaXNwb25pYmxlIG8gZmFsbGEsIGhhY2UgZmFsbGJhY2sgYSBsYSBBUEkuXG4gICAqXG4gICAqIEBwYXJhbSBlbnRpdHlUeXBlIC0gVGlwbyBkZSBlbnRpZGFkIChhcnRpY2xlLCBkb2NzLCBmZWF0dXJlLCBldGMuKVxuICAgKiBAcGFyYW0gZW50aXR5SWQgLSBJRCBkZSBsYSBlbnRpZGFkXG4gICAqIEByZXR1cm5zIFByb21pc2UgY29uIGxhIHJlc3B1ZXN0YSBkZSB2ZXJpZmljYWNpw7NuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgY2hlY2sgPSBhd2FpdCB0aGlzLmZlZWRiYWNrU2VydmljZS5jaGVja0ZlZWRiYWNrKCdhcnRpY2xlJywgJ2FydC0xMjMnKTtcbiAgICogaWYgKGNoZWNrLmhhc0ZlZWRiYWNrKSB7XG4gICAqICAgY29uc29sZS5sb2coJ1lhIGRpbyBmZWVkYmFjazonLCBjaGVjay5yZWFjdGlvblZhbHVlKTtcbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIGFzeW5jIGNoZWNrRmVlZGJhY2soXG4gICAgZW50aXR5VHlwZTogc3RyaW5nLFxuICAgIGVudGl0eUlkOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxDaGVja0ZlZWRiYWNrUmVzcG9uc2U+IHtcbiAgICAvLyAxLiBJbnRlbnRhciBGaXJlYmFzZSBwcmltZXJvIChzaSBlc3TDoSBkaXNwb25pYmxlKVxuICAgIGlmICh0aGlzLmZpcmVzdG9yZSAmJiB0aGlzLmF1dGgpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHVzZXJJZCA9IHRoaXMuYXV0aC51c2VyKCk/LnVzZXJJZDtcbiAgICAgICAgaWYgKHVzZXJJZCkge1xuICAgICAgICAgIC8vIFBhdGg6IGZlZWRiYWNrL3tlbnRpdHlUeXBlfS97ZW50aXR5SWR9L3t1c2VySWR9XG4gICAgICAgICAgLy8gRmlyZXN0b3JlU2VydmljZSBhZ3JlZ2EgYXV0b23DoXRpY2FtZW50ZSBlbCBwcmVmaWpvIGFwcHMve2FwcElkfS9cbiAgICAgICAgICBjb25zdCBjb2xsZWN0aW9uUGF0aCA9IGBmZWVkYmFjay8ke2VudGl0eVR5cGV9LyR7ZW50aXR5SWR9YDtcbiAgICAgICAgICBjb25zdCBkb2MgPSBhd2FpdCB0aGlzLmZpcmVzdG9yZS5nZXREb2M8RmVlZGJhY2tGaXJlc3RvcmVEb2M+KFxuICAgICAgICAgICAgY29sbGVjdGlvblBhdGgsXG4gICAgICAgICAgICB1c2VySWRcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgaWYgKGRvYykge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgb3BlcmF0aW9uSWQ6ICcnLFxuICAgICAgICAgICAgICBoYXNGZWVkYmFjazogdHJ1ZSxcbiAgICAgICAgICAgICAgZmVlZGJhY2tJZDogZG9jLmZlZWRiYWNrSWQsXG4gICAgICAgICAgICAgIHR5cGU6IGRvYy50eXBlIGFzIEZlZWRiYWNrVHlwZSxcbiAgICAgICAgICAgICAgcmVhY3Rpb25WYWx1ZTogZG9jLnJlYWN0aW9uVmFsdWUgYXMgUmVhY3Rpb25WYWx1ZSxcbiAgICAgICAgICAgICAgY3JlYXRlZEF0OiBkb2MuY3JlYXRlZEF0Py50b0lTT1N0cmluZygpLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBEb2Mgbm8gZXhpc3RlID0gbm8gaGF5IGZlZWRiYWNrXG4gICAgICAgICAgcmV0dXJuIHsgb3BlcmF0aW9uSWQ6ICcnLCBoYXNGZWVkYmFjazogZmFsc2UgfTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdbRmVlZGJhY2tTZXJ2aWNlXSBGaXJlYmFzZSBjaGVjayBmYWlsZWQsIGZhbGxpbmcgYmFjayB0byBBUEk6JywgZXJyb3IpO1xuICAgICAgICAvLyBGYWxsYmFjayBhIEFQSVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIDIuIEZhbGxiYWNrOiBsbGFtYXIgQVBJXG4gICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh7XG4gICAgICBhcHBJZDogdGhpcy5jb25maWcuYXBwSWQsXG4gICAgICBlbnRpdHlUeXBlLFxuICAgICAgZW50aXR5SWQsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLmh0dHAuZ2V0PENoZWNrRmVlZGJhY2tSZXNwb25zZT4oYCR7dGhpcy5iYXNlVXJsfS9jaGVjaz8ke3BhcmFtc31gKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYSBvIGFjdHVhbGl6YSB1bmEgcmVhY2Npw7NuIChmZWVkYmFjayBjb24gZW1vamkpLlxuICAgKlxuICAgKiBAcGFyYW0gZW50aXR5UmVmIC0gUmVmZXJlbmNpYSBhIGxhIGVudGlkYWRcbiAgICogQHBhcmFtIHZhbHVlIC0gVmFsb3IgZGUgbGEgcmVhY2Npw7NuIChuZWdhdGl2ZSwgbmV1dHJhbCwgcG9zaXRpdmUpXG4gICAqIEBwYXJhbSBjb21tZW50IC0gQ29tZW50YXJpbyBvcGNpb25hbCAobcOheCA1MDAgY2FyYWN0ZXJlcylcbiAgICogQHJldHVybnMgUHJvbWlzZSBjb24gbGEgcmVzcHVlc3RhXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmZlZWRiYWNrU2VydmljZS5jcmVhdGVSZWFjdGlvbihcbiAgICogICB7IGVudGl0eVR5cGU6ICdhcnRpY2xlJywgZW50aXR5SWQ6ICdhcnQtMTIzJyB9LFxuICAgKiAgICdwb3NpdGl2ZScsXG4gICAqICAgJ011eSDDunRpbCEnXG4gICAqICk7XG4gICAqIGBgYFxuICAgKi9cbiAgYXN5bmMgY3JlYXRlUmVhY3Rpb24oXG4gICAgZW50aXR5UmVmOiBFbnRpdHlSZWYsXG4gICAgdmFsdWU6IFJlYWN0aW9uVmFsdWUsXG4gICAgY29tbWVudD86IHN0cmluZ1xuICApOiBQcm9taXNlPENyZWF0ZUZlZWRiYWNrUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBDcmVhdGVGZWVkYmFja1JlcXVlc3QgPSB7XG4gICAgICB0eXBlOiAncmVhY3Rpb24nLFxuICAgICAgZW50aXR5UmVmLFxuICAgICAgcmVhY3Rpb25WYWx1ZTogdmFsdWUsXG4gICAgICBkZXNjcmlwdGlvbjogY29tbWVudCB8fCAnJyxcbiAgICAgIGRldmljZUNvbnRleHQ6IHRoaXMuY2FwdHVyZURldmljZUNvbnRleHQoKSxcbiAgICAgIGFwcElkOiB0aGlzLmNvbmZpZy5hcHBJZCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5odHRwLnBvc3Q8Q3JlYXRlRmVlZGJhY2tSZXNwb25zZT4odGhpcy5iYXNlVXJsLCByZXF1ZXN0KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYSBmZWVkYmFjayBhbsOzbmltbyAoc2luIGF1dGVudGljYWNpw7NuIHJlcXVlcmlkYSkuXG4gICAqIFVzYWRvIHBhcmEgYmxvZ3MsIEZBUXMgeSBjb250ZW5pZG8gcMO6YmxpY28uXG4gICAqXG4gICAqIEBwYXJhbSBlbnRpdHlSZWYgLSBSZWZlcmVuY2lhIGEgbGEgZW50aWRhZFxuICAgKiBAcGFyYW0gdmFsdWUgLSBWYWxvciBkZSBsYSByZWFjY2nDs24gKG5lZ2F0aXZlLCBuZXV0cmFsLCBwb3NpdGl2ZSlcbiAgICogQHBhcmFtIGNvbW1lbnQgLSBDb21lbnRhcmlvIG9wY2lvbmFsIChtw6F4IDUwMCBjYXJhY3RlcmVzKVxuICAgKiBAcmV0dXJucyBQcm9taXNlIGNvbiBsYSByZXNwdWVzdGFcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiAvLyBFbiB1biBibG9nIHDDumJsaWNvXG4gICAqIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5mZWVkYmFja1NlcnZpY2UuY3JlYXRlQW5vbnltb3VzUmVhY3Rpb24oXG4gICAqICAgeyBlbnRpdHlUeXBlOiAnYmxvZycsIGVudGl0eUlkOiAnbXktcG9zdC1zbHVnJyB9LFxuICAgKiAgICdwb3NpdGl2ZSdcbiAgICogKTtcbiAgICogYGBgXG4gICAqL1xuICBhc3luYyBjcmVhdGVBbm9ueW1vdXNSZWFjdGlvbihcbiAgICBlbnRpdHlSZWY6IEVudGl0eVJlZixcbiAgICB2YWx1ZTogUmVhY3Rpb25WYWx1ZSxcbiAgICBjb21tZW50Pzogc3RyaW5nXG4gICk6IFByb21pc2U8Q3JlYXRlRmVlZGJhY2tSZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcXVlc3QgPSB7XG4gICAgICB0eXBlOiAncmVhY3Rpb24nIGFzIGNvbnN0LFxuICAgICAgZW50aXR5UmVmLFxuICAgICAgcmVhY3Rpb25WYWx1ZTogdmFsdWUsXG4gICAgICBkZXNjcmlwdGlvbjogY29tbWVudCB8fCAnJyxcbiAgICAgIGRldmljZUNvbnRleHQ6IHRoaXMuY2FwdHVyZURldmljZUNvbnRleHQoKSxcbiAgICAgIGFwcElkOiB0aGlzLmNvbmZpZy5hcHBJZCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5odHRwLnBvc3Q8Q3JlYXRlRmVlZGJhY2tSZXNwb25zZT4oYCR7dGhpcy5iYXNlVXJsfS9hbm9ueW1vdXNgLCByZXF1ZXN0KVxuICAgICk7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIEhlbHBlcnMgcHJpdmFkb3MgcGFyYSBkZXRlY2Npw7NuIGRlIGJyb3dzZXIvT1NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIHByaXZhdGUgZGV0ZWN0QnJvd3Nlcih1YTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAodWEuaW5jbHVkZXMoJ0VkZy8nKSkgcmV0dXJuICdFZGdlJztcbiAgICBpZiAodWEuaW5jbHVkZXMoJ0Nocm9tZS8nKSkgcmV0dXJuICdDaHJvbWUnO1xuICAgIGlmICh1YS5pbmNsdWRlcygnRmlyZWZveC8nKSkgcmV0dXJuICdGaXJlZm94JztcbiAgICBpZiAodWEuaW5jbHVkZXMoJ1NhZmFyaS8nKSAmJiAhdWEuaW5jbHVkZXMoJ0Nocm9tZScpKSByZXR1cm4gJ1NhZmFyaSc7XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdPcGVyYScpIHx8IHVhLmluY2x1ZGVzKCdPUFIvJykpIHJldHVybiAnT3BlcmEnO1xuICAgIHJldHVybiAnVW5rbm93bic7XG4gIH1cblxuICBwcml2YXRlIGRldGVjdE9TKHVhOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICh1YS5pbmNsdWRlcygnV2luZG93cyBOVCAxMCcpKSByZXR1cm4gJ1dpbmRvd3MgMTAnO1xuICAgIGlmICh1YS5pbmNsdWRlcygnV2luZG93cyBOVCAxMScpKSByZXR1cm4gJ1dpbmRvd3MgMTEnO1xuICAgIGlmICh1YS5pbmNsdWRlcygnV2luZG93cycpKSByZXR1cm4gJ1dpbmRvd3MnO1xuICAgIGlmICh1YS5pbmNsdWRlcygnTWFjIE9TIFgnKSkge1xuICAgICAgY29uc3QgbWF0Y2ggPSB1YS5tYXRjaCgvTWFjIE9TIFggKFxcZCtbLl9dXFxkKykvKTtcbiAgICAgIGlmIChtYXRjaCkge1xuICAgICAgICByZXR1cm4gYG1hY09TICR7bWF0Y2hbMV0ucmVwbGFjZSgnXycsICcuJyl9YDtcbiAgICAgIH1cbiAgICAgIHJldHVybiAnbWFjT1MnO1xuICAgIH1cbiAgICBpZiAodWEuaW5jbHVkZXMoJ0FuZHJvaWQnKSkgcmV0dXJuICdBbmRyb2lkJztcbiAgICBpZiAodWEuaW5jbHVkZXMoJ2lQaG9uZScpIHx8IHVhLmluY2x1ZGVzKCdpUGFkJykpIHJldHVybiAnaU9TJztcbiAgICBpZiAodWEuaW5jbHVkZXMoJ0xpbnV4JykpIHJldHVybiAnTGludXgnO1xuICAgIHJldHVybiAnVW5rbm93bic7XG4gIH1cbn1cbiJdfQ==
|
|
296
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZGJhY2suc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvZmVlZGJhY2svZmVlZGJhY2suc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFjLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFhbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUVuRDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUVILE1BQU0sT0FBTyxlQUFlO0lBRDVCO1FBRVUsV0FBTSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3pDLFNBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUIsY0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0ErU3hEO0lBN1NDOztPQUVHO0lBQ0gsSUFBWSxPQUFPO1FBQ2pCLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzlELENBQUM7SUFFRDs7T0FFRztJQUNILG9CQUFvQjtRQUNsQixNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDO1FB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WSxDQUFDO1FBQ3RELElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUM7WUFBRSxPQUFPLFlBQVksQ0FBQztRQUN0RCxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDN0MsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDNUIsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQ2hELElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1YsT0FBTyxTQUFTLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDL0MsQ0FBQztZQUNELE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7UUFDRCxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDN0MsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDL0QsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztZQUFFLE9BQU8sT0FBTyxDQUFDO1FBQ3pDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7K0dBbFRVLGVBQWU7bUhBQWYsZUFBZSxjQURGLE1BQU07OzRGQUNuQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBWQUxURUNIX0ZFRURCQUNLX0NPTkZJRyB9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7XG4gIENyZWF0ZUZlZWRiYWNrUmVxdWVzdCxcbiAgQ3JlYXRlRmVlZGJhY2tSZXNwb25zZSxcbiAgR2V0RmVlZGJhY2tSZXNwb25zZSxcbiAgQ2hlY2tGZWVkYmFja1Jlc3BvbnNlLFxuICBEZXZpY2VDb250ZXh0LFxuICBGZWVkYmFja1R5cGUsXG4gIENvbnRlbnRSZWYsXG4gIEVudGl0eVJlZixcbiAgUmVhY3Rpb25WYWx1ZSxcbiAgRmVlZGJhY2tGaXJlc3RvcmVEb2MsXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgRmlyZXN0b3JlU2VydmljZSB9IGZyb20gJy4uL2ZpcmViYXNlL2ZpcmVzdG9yZS5zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aC9hdXRoLnNlcnZpY2UnO1xuXG4vKipcbiAqIFNlcnZpY2lvIHBhcmEgZ2VzdGlvbmFyIGZlZWRiYWNrIGRlIHVzdWFyaW9zLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBAQ29tcG9uZW50KHsuLi59KVxuICogZXhwb3J0IGNsYXNzIE15Q29tcG9uZW50IHtcbiAqICAgcHJpdmF0ZSBmZWVkYmFja1NlcnZpY2UgPSBpbmplY3QoRmVlZGJhY2tTZXJ2aWNlKTtcbiAqXG4gKiAgIGFzeW5jIHN1Ym1pdEZlZWRiYWNrKCkge1xuICogICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5mZWVkYmFja1NlcnZpY2UuY3JlYXRlQXN5bmMoXG4gKiAgICAgICAnZmVlZGJhY2snLFxuICogICAgICAgJ01pIGNvbWVudGFyaW8nLFxuICogICAgICAgJ0Rlc2NyaXBjacOzbiBkZXRhbGxhZGEuLi4nXG4gKiAgICAgKTtcbiAqICAgICBjb25zb2xlLmxvZygnRmVlZGJhY2sgZW52aWFkbzonLCByZXNwb25zZS5mZWVkYmFja0lkKTtcbiAqICAgfVxuICogfVxuICogYGBgXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgRmVlZGJhY2tTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBjb25maWcgPSBpbmplY3QoVkFMVEVDSF9GRUVEQkFDS19DT05GSUcpO1xuICBwcml2YXRlIGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gIHByaXZhdGUgZmlyZXN0b3JlID0gaW5qZWN0KEZpcmVzdG9yZVNlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHByaXZhdGUgYXV0aCA9IGluamVjdChBdXRoU2VydmljZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICAvKipcbiAgICogVVJMIGJhc2UgcGFyYSBlbmRwb2ludHMgZGUgZmVlZGJhY2suXG4gICAqL1xuICBwcml2YXRlIGdldCBiYXNlVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuY29uZmlnLmFwaVVybH0ke3RoaXMuY29uZmlnLmZlZWRiYWNrUHJlZml4fWA7XG4gIH1cblxuICAvKipcbiAgICogQ2FwdHVyYSBlbCBjb250ZXh0byBkZWwgZGlzcG9zaXRpdm8gYXV0b23DoXRpY2FtZW50ZS5cbiAgICovXG4gIGNhcHR1cmVEZXZpY2VDb250ZXh0KCk6IERldmljZUNvbnRleHQge1xuICAgIGNvbnN0IHVhID0gbmF2aWdhdG9yLnVzZXJBZ2VudDtcbiAgICByZXR1cm4ge1xuICAgICAgYnJvd3NlcjogdGhpcy5kZXRlY3RCcm93c2VyKHVhKSxcbiAgICAgIG9zOiB0aGlzLmRldGVjdE9TKHVhKSxcbiAgICAgIHZpZXdwb3J0OiBgJHt3aW5kb3cuaW5uZXJXaWR0aH14JHt3aW5kb3cuaW5uZXJIZWlnaHR9YCxcbiAgICAgIGxhbmd1YWdlOiBuYXZpZ2F0b3IubGFuZ3VhZ2UsXG4gICAgICB1c2VyQWdlbnQ6IHVhLFxuICAgICAgcGFnZVVybDogd2luZG93LmxvY2F0aW9uLmhyZWYsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhIHVuIG51ZXZvIGZlZWRiYWNrLlxuICAgKlxuICAgKiBAcGFyYW0gdHlwZSAtIFRpcG8gZGUgZmVlZGJhY2tcbiAgICogQHBhcmFtIHRpdGxlIC0gVMOtdHVsbyBkZWwgZmVlZGJhY2tcbiAgICogQHBhcmFtIGRlc2NyaXB0aW9uIC0gRGVzY3JpcGNpw7NuIGRldGFsbGFkYVxuICAgKiBAcGFyYW0gYXR0YWNobWVudHMgLSBVUkxzIGRlIGFyY2hpdm9zIGFkanVudG9zIChvcGNpb25hbClcbiAgICogQHBhcmFtIGNvbnRlbnRSZWYgLSBSZWZlcmVuY2lhIGEgY29udGVuaWRvIGVzcGVjw61maWNvIChvcGNpb25hbClcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBjb24gbGEgcmVzcHVlc3RhXG4gICAqL1xuICBjcmVhdGUoXG4gICAgdHlwZTogRmVlZGJhY2tUeXBlLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgZGVzY3JpcHRpb246IHN0cmluZyxcbiAgICBhdHRhY2htZW50czogc3RyaW5nW10gPSBbXSxcbiAgICBjb250ZW50UmVmPzogQ29udGVudFJlZlxuICApOiBPYnNlcnZhYmxlPENyZWF0ZUZlZWRiYWNrUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBDcmVhdGVGZWVkYmFja1JlcXVlc3QgPSB7XG4gICAgICB0eXBlLFxuICAgICAgdGl0bGUsXG4gICAgICBkZXNjcmlwdGlvbixcbiAgICAgIGF0dGFjaG1lbnRzLFxuICAgICAgY29udGVudFJlZixcbiAgICAgIGRldmljZUNvbnRleHQ6IHRoaXMuY2FwdHVyZURldmljZUNvbnRleHQoKSxcbiAgICAgIGFwcElkOiB0aGlzLmNvbmZpZy5hcHBJZCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENyZWF0ZUZlZWRiYWNrUmVzcG9uc2U+KHRoaXMuYmFzZVVybCwgcmVxdWVzdCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYSB1biBudWV2byBmZWVkYmFjayAodmVyc2nDs24gYXN5bmMvYXdhaXQpLlxuICAgKi9cbiAgYXN5bmMgY3JlYXRlQXN5bmMoXG4gICAgdHlwZTogRmVlZGJhY2tUeXBlLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgZGVzY3JpcHRpb246IHN0cmluZyxcbiAgICBhdHRhY2htZW50czogc3RyaW5nW10gPSBbXSxcbiAgICBjb250ZW50UmVmPzogQ29udGVudFJlZlxuICApOiBQcm9taXNlPENyZWF0ZUZlZWRiYWNrUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLmNyZWF0ZSh0eXBlLCB0aXRsZSwgZGVzY3JpcHRpb24sIGF0dGFjaG1lbnRzLCBjb250ZW50UmVmKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogT2J0aWVuZSB1biBmZWVkYmFjayBwb3IgSUQgKHNvbG8gZWwgcHJvcGlldGFyaW8pLlxuICAgKlxuICAgKiBAcGFyYW0gZmVlZGJhY2tJZCAtIElEIGRlbCBmZWVkYmFja1xuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIGNvbiBsYSByZXNwdWVzdGFcbiAgICovXG4gIGdldEJ5SWQoZmVlZGJhY2tJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxHZXRGZWVkYmFja1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8R2V0RmVlZGJhY2tSZXNwb25zZT4oYCR7dGhpcy5iYXNlVXJsfS8ke2ZlZWRiYWNrSWR9YCk7XG4gIH1cblxuICAvKipcbiAgICogT2J0aWVuZSB1biBmZWVkYmFjayBwb3IgSUQgKHZlcnNpw7NuIGFzeW5jL2F3YWl0KS5cbiAgICovXG4gIGFzeW5jIGdldEJ5SWRBc3luYyhmZWVkYmFja0lkOiBzdHJpbmcpOiBQcm9taXNlPEdldEZlZWRiYWNrUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5nZXRCeUlkKGZlZWRiYWNrSWQpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGEgc2kgdW4gYXJjaGl2byBjdW1wbGUgY29uIGxhcyByZXN0cmljY2lvbmVzLlxuICAgKi9cbiAgdmFsaWRhdGVGaWxlKGZpbGU6IEZpbGUpOiB7IHZhbGlkOiBib29sZWFuOyBlcnJvcj86IHN0cmluZyB9IHtcbiAgICAvLyBWZXJpZmljYXIgdGFtYcOxb1xuICAgIGlmIChmaWxlLnNpemUgPiB0aGlzLmNvbmZpZy5tYXhGaWxlU2l6ZSEpIHtcbiAgICAgIGNvbnN0IG1heFNpemVNQiA9IE1hdGgucm91bmQodGhpcy5jb25maWcubWF4RmlsZVNpemUhIC8gKDEwMjQgKiAxMDI0KSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB2YWxpZDogZmFsc2UsXG4gICAgICAgIGVycm9yOiBgRWwgYXJjaGl2byBleGNlZGUgZWwgdGFtYcOxbyBtw6F4aW1vIGRlICR7bWF4U2l6ZU1CfU1CYCxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gVmVyaWZpY2FyIHRpcG9cbiAgICBjb25zdCBhbGxvd2VkVHlwZXMgPSB0aGlzLmNvbmZpZy5hbGxvd2VkRmlsZVR5cGVzIHx8IFtdO1xuICAgIGNvbnN0IGlzQWxsb3dlZCA9IGFsbG93ZWRUeXBlcy5zb21lKChwYXR0ZXJuKSA9PiB7XG4gICAgICBpZiAocGF0dGVybi5lbmRzV2l0aCgnLyonKSkge1xuICAgICAgICBjb25zdCBiYXNlVHlwZSA9IHBhdHRlcm4ucmVwbGFjZSgnLyonLCAnJyk7XG4gICAgICAgIHJldHVybiBmaWxlLnR5cGUuc3RhcnRzV2l0aChiYXNlVHlwZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmlsZS50eXBlID09PSBwYXR0ZXJuO1xuICAgIH0pO1xuXG4gICAgaWYgKCFpc0FsbG93ZWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHZhbGlkOiBmYWxzZSxcbiAgICAgICAgZXJyb3I6ICdUaXBvIGRlIGFyY2hpdm8gbm8gcGVybWl0aWRvJyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgdmFsaWQ6IHRydWUgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnRpZW5lIGxhIGNvbmZpZ3VyYWNpw7NuIGFjdHVhbCBkZWwgc2VydmljaW8uXG4gICAqL1xuICBnZXRDb25maWcoKTogUmVhZG9ubHk8dHlwZW9mIHRoaXMuY29uZmlnPiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBSZWFjdGlvbiBNZXRob2RzIChDb250ZW50IGZlZWRiYWNrIHdpdGggZW1vamlzKVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIFZlcmlmaWNhIHNpIGVsIHVzdWFyaW8geWEgZGlvIGZlZWRiYWNrIHBhcmEgdW5hIGVudGlkYWQgZXNwZWPDrWZpY2EuXG4gICAqXG4gICAqIFByaW1lcm8gaW50ZW50YSBsZWVyIGRlIEZpcmViYXNlIChyw6FwaWRvLCBzaW4gbGF0ZW5jaWEgZGUgcmVkIGFsIGJhY2tlbmQpLlxuICAgKiBTaSBGaXJlYmFzZSBubyBlc3TDoSBkaXNwb25pYmxlIG8gZmFsbGEsIGhhY2UgZmFsbGJhY2sgYSBsYSBBUEkuXG4gICAqXG4gICAqIEBwYXJhbSBlbnRpdHlUeXBlIC0gVGlwbyBkZSBlbnRpZGFkIChhcnRpY2xlLCBkb2NzLCBmZWF0dXJlLCBldGMuKVxuICAgKiBAcGFyYW0gZW50aXR5SWQgLSBJRCBkZSBsYSBlbnRpZGFkXG4gICAqIEByZXR1cm5zIFByb21pc2UgY29uIGxhIHJlc3B1ZXN0YSBkZSB2ZXJpZmljYWNpw7NuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgY2hlY2sgPSBhd2FpdCB0aGlzLmZlZWRiYWNrU2VydmljZS5jaGVja0ZlZWRiYWNrKCdhcnRpY2xlJywgJ2FydC0xMjMnKTtcbiAgICogaWYgKGNoZWNrLmhhc0ZlZWRiYWNrKSB7XG4gICAqICAgY29uc29sZS5sb2coJ1lhIGRpbyBmZWVkYmFjazonLCBjaGVjay5yZWFjdGlvblZhbHVlKTtcbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIGFzeW5jIGNoZWNrRmVlZGJhY2soXG4gICAgZW50aXR5VHlwZTogc3RyaW5nLFxuICAgIGVudGl0eUlkOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxDaGVja0ZlZWRiYWNrUmVzcG9uc2U+IHtcbiAgICAvLyBTaSBubyBoYXkgdXN1YXJpbyBhdXRlbnRpY2Fkbywgbm8gcHVlZGUgaGFiZXIgZmVlZGJhY2sgcHJldmlvXG4gICAgLy8gUmV0b3JuYXIgaW5tZWRpYXRhbWVudGUgc2luIGxsYW1hciBhbCBBUEkgKGV2aXRhIDQwMSB5IHJlZGlyZWN0IGEgbG9naW4pXG4gICAgY29uc3QgdXNlcklkID0gdGhpcy5hdXRoPy51c2VyKCk/LnVzZXJJZDtcbiAgICBpZiAoIXVzZXJJZCkge1xuICAgICAgcmV0dXJuIHsgb3BlcmF0aW9uSWQ6ICcnLCBoYXNGZWVkYmFjazogZmFsc2UgfTtcbiAgICB9XG5cbiAgICAvLyAxLiBJbnRlbnRhciBGaXJlYmFzZSBwcmltZXJvIChzaSBlc3TDoSBkaXNwb25pYmxlKVxuICAgIGlmICh0aGlzLmZpcmVzdG9yZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gUGF0aDogZmVlZGJhY2sve2VudGl0eVR5cGV9L3tlbnRpdHlJZH0ve3VzZXJJZH1cbiAgICAgICAgLy8gRmlyZXN0b3JlU2VydmljZSBhZ3JlZ2EgYXV0b23DoXRpY2FtZW50ZSBlbCBwcmVmaWpvIGFwcHMve2FwcElkfS9cbiAgICAgICAgY29uc3QgY29sbGVjdGlvblBhdGggPSBgZmVlZGJhY2svJHtlbnRpdHlUeXBlfS8ke2VudGl0eUlkfWA7XG4gICAgICAgIGNvbnN0IGRvYyA9IGF3YWl0IHRoaXMuZmlyZXN0b3JlLmdldERvYzxGZWVkYmFja0ZpcmVzdG9yZURvYz4oXG4gICAgICAgICAgY29sbGVjdGlvblBhdGgsXG4gICAgICAgICAgdXNlcklkXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGRvYykge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBvcGVyYXRpb25JZDogJycsXG4gICAgICAgICAgICBoYXNGZWVkYmFjazogdHJ1ZSxcbiAgICAgICAgICAgIGZlZWRiYWNrSWQ6IGRvYy5mZWVkYmFja0lkLFxuICAgICAgICAgICAgdHlwZTogZG9jLnR5cGUgYXMgRmVlZGJhY2tUeXBlLFxuICAgICAgICAgICAgcmVhY3Rpb25WYWx1ZTogZG9jLnJlYWN0aW9uVmFsdWUgYXMgUmVhY3Rpb25WYWx1ZSxcbiAgICAgICAgICAgIGNyZWF0ZWRBdDogZG9jLmNyZWF0ZWRBdD8udG9JU09TdHJpbmcoKSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRG9jIG5vIGV4aXN0ZSA9IG5vIGhheSBmZWVkYmFja1xuICAgICAgICByZXR1cm4geyBvcGVyYXRpb25JZDogJycsIGhhc0ZlZWRiYWNrOiBmYWxzZSB9O1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdbRmVlZGJhY2tTZXJ2aWNlXSBGaXJlYmFzZSBjaGVjayBmYWlsZWQsIGZhbGxpbmcgYmFjayB0byBBUEk6JywgZXJyb3IpO1xuICAgICAgICAvLyBGYWxsYmFjayBhIEFQSVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIDIuIEZhbGxiYWNrOiBsbGFtYXIgQVBJIChzb2xvIHNpIGhheSB1c3VhcmlvIGF1dGVudGljYWRvKVxuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoe1xuICAgICAgYXBwSWQ6IHRoaXMuY29uZmlnLmFwcElkLFxuICAgICAgZW50aXR5VHlwZSxcbiAgICAgIGVudGl0eUlkLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5odHRwLmdldDxDaGVja0ZlZWRiYWNrUmVzcG9uc2U+KGAke3RoaXMuYmFzZVVybH0vY2hlY2s/JHtwYXJhbXN9YClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWEgbyBhY3R1YWxpemEgdW5hIHJlYWNjacOzbiAoZmVlZGJhY2sgY29uIGVtb2ppKS5cbiAgICpcbiAgICogQHBhcmFtIGVudGl0eVJlZiAtIFJlZmVyZW5jaWEgYSBsYSBlbnRpZGFkXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFZhbG9yIGRlIGxhIHJlYWNjacOzbiAobmVnYXRpdmUsIG5ldXRyYWwsIHBvc2l0aXZlKVxuICAgKiBAcGFyYW0gY29tbWVudCAtIENvbWVudGFyaW8gb3BjaW9uYWwgKG3DoXggNTAwIGNhcmFjdGVyZXMpXG4gICAqIEByZXR1cm5zIFByb21pc2UgY29uIGxhIHJlc3B1ZXN0YVxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5mZWVkYmFja1NlcnZpY2UuY3JlYXRlUmVhY3Rpb24oXG4gICAqICAgeyBlbnRpdHlUeXBlOiAnYXJ0aWNsZScsIGVudGl0eUlkOiAnYXJ0LTEyMycgfSxcbiAgICogICAncG9zaXRpdmUnLFxuICAgKiAgICdNdXkgw7p0aWwhJ1xuICAgKiApO1xuICAgKiBgYGBcbiAgICovXG4gIGFzeW5jIGNyZWF0ZVJlYWN0aW9uKFxuICAgIGVudGl0eVJlZjogRW50aXR5UmVmLFxuICAgIHZhbHVlOiBSZWFjdGlvblZhbHVlLFxuICAgIGNvbW1lbnQ/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxDcmVhdGVGZWVkYmFja1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdDogQ3JlYXRlRmVlZGJhY2tSZXF1ZXN0ID0ge1xuICAgICAgdHlwZTogJ3JlYWN0aW9uJyxcbiAgICAgIGVudGl0eVJlZixcbiAgICAgIHJlYWN0aW9uVmFsdWU6IHZhbHVlLFxuICAgICAgZGVzY3JpcHRpb246IGNvbW1lbnQgfHwgJycsXG4gICAgICBkZXZpY2VDb250ZXh0OiB0aGlzLmNhcHR1cmVEZXZpY2VDb250ZXh0KCksXG4gICAgICBhcHBJZDogdGhpcy5jb25maWcuYXBwSWQsXG4gICAgfTtcblxuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuaHR0cC5wb3N0PENyZWF0ZUZlZWRiYWNrUmVzcG9uc2U+KHRoaXMuYmFzZVVybCwgcmVxdWVzdClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWEgZmVlZGJhY2sgYW7Ds25pbW8gKHNpbiBhdXRlbnRpY2FjacOzbiByZXF1ZXJpZGEpLlxuICAgKiBVc2FkbyBwYXJhIGJsb2dzLCBGQVFzIHkgY29udGVuaWRvIHDDumJsaWNvLlxuICAgKlxuICAgKiBAcGFyYW0gZW50aXR5UmVmIC0gUmVmZXJlbmNpYSBhIGxhIGVudGlkYWRcbiAgICogQHBhcmFtIHZhbHVlIC0gVmFsb3IgZGUgbGEgcmVhY2Npw7NuIChuZWdhdGl2ZSwgbmV1dHJhbCwgcG9zaXRpdmUpXG4gICAqIEBwYXJhbSBjb21tZW50IC0gQ29tZW50YXJpbyBvcGNpb25hbCAobcOheCA1MDAgY2FyYWN0ZXJlcylcbiAgICogQHJldHVybnMgUHJvbWlzZSBjb24gbGEgcmVzcHVlc3RhXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogLy8gRW4gdW4gYmxvZyBww7pibGljb1xuICAgKiBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuZmVlZGJhY2tTZXJ2aWNlLmNyZWF0ZUFub255bW91c1JlYWN0aW9uKFxuICAgKiAgIHsgZW50aXR5VHlwZTogJ2Jsb2cnLCBlbnRpdHlJZDogJ215LXBvc3Qtc2x1ZycgfSxcbiAgICogICAncG9zaXRpdmUnXG4gICAqICk7XG4gICAqIGBgYFxuICAgKi9cbiAgYXN5bmMgY3JlYXRlQW5vbnltb3VzUmVhY3Rpb24oXG4gICAgZW50aXR5UmVmOiBFbnRpdHlSZWYsXG4gICAgdmFsdWU6IFJlYWN0aW9uVmFsdWUsXG4gICAgY29tbWVudD86IHN0cmluZ1xuICApOiBQcm9taXNlPENyZWF0ZUZlZWRiYWNrUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xuICAgICAgdHlwZTogJ3JlYWN0aW9uJyBhcyBjb25zdCxcbiAgICAgIGVudGl0eVJlZixcbiAgICAgIHJlYWN0aW9uVmFsdWU6IHZhbHVlLFxuICAgICAgZGVzY3JpcHRpb246IGNvbW1lbnQgfHwgJycsXG4gICAgICBkZXZpY2VDb250ZXh0OiB0aGlzLmNhcHR1cmVEZXZpY2VDb250ZXh0KCksXG4gICAgICBhcHBJZDogdGhpcy5jb25maWcuYXBwSWQsXG4gICAgfTtcblxuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuaHR0cC5wb3N0PENyZWF0ZUZlZWRiYWNrUmVzcG9uc2U+KGAke3RoaXMuYmFzZVVybH0vYW5vbnltb3VzYCwgcmVxdWVzdClcbiAgICApO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBIZWxwZXJzIHByaXZhZG9zIHBhcmEgZGV0ZWNjacOzbiBkZSBicm93c2VyL09TXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICBwcml2YXRlIGRldGVjdEJyb3dzZXIodWE6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdFZGcvJykpIHJldHVybiAnRWRnZSc7XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdDaHJvbWUvJykpIHJldHVybiAnQ2hyb21lJztcbiAgICBpZiAodWEuaW5jbHVkZXMoJ0ZpcmVmb3gvJykpIHJldHVybiAnRmlyZWZveCc7XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdTYWZhcmkvJykgJiYgIXVhLmluY2x1ZGVzKCdDaHJvbWUnKSkgcmV0dXJuICdTYWZhcmknO1xuICAgIGlmICh1YS5pbmNsdWRlcygnT3BlcmEnKSB8fCB1YS5pbmNsdWRlcygnT1BSLycpKSByZXR1cm4gJ09wZXJhJztcbiAgICByZXR1cm4gJ1Vua25vd24nO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXRlY3RPUyh1YTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAodWEuaW5jbHVkZXMoJ1dpbmRvd3MgTlQgMTAnKSkgcmV0dXJuICdXaW5kb3dzIDEwJztcbiAgICBpZiAodWEuaW5jbHVkZXMoJ1dpbmRvd3MgTlQgMTEnKSkgcmV0dXJuICdXaW5kb3dzIDExJztcbiAgICBpZiAodWEuaW5jbHVkZXMoJ1dpbmRvd3MnKSkgcmV0dXJuICdXaW5kb3dzJztcbiAgICBpZiAodWEuaW5jbHVkZXMoJ01hYyBPUyBYJykpIHtcbiAgICAgIGNvbnN0IG1hdGNoID0gdWEubWF0Y2goL01hYyBPUyBYIChcXGQrWy5fXVxcZCspLyk7XG4gICAgICBpZiAobWF0Y2gpIHtcbiAgICAgICAgcmV0dXJuIGBtYWNPUyAke21hdGNoWzFdLnJlcGxhY2UoJ18nLCAnLicpfWA7XG4gICAgICB9XG4gICAgICByZXR1cm4gJ21hY09TJztcbiAgICB9XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdBbmRyb2lkJykpIHJldHVybiAnQW5kcm9pZCc7XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdpUGhvbmUnKSB8fCB1YS5pbmNsdWRlcygnaVBhZCcpKSByZXR1cm4gJ2lPUyc7XG4gICAgaWYgKHVhLmluY2x1ZGVzKCdMaW51eCcpKSByZXR1cm4gJ0xpbnV4JztcbiAgICByZXR1cm4gJ1Vua25vd24nO1xuICB9XG59XG4iXX0=
|
|
@@ -493,5 +493,25 @@ export const VALTECH_DEFAULT_CONTENT = {
|
|
|
493
493
|
maintenanceMessage: 'We are making improvements. Come back soon.',
|
|
494
494
|
},
|
|
495
495
|
},
|
|
496
|
+
ContentReaction: {
|
|
497
|
+
es: {
|
|
498
|
+
question: '¿Te resultó útil este contenido?',
|
|
499
|
+
commentPlaceholder: 'Cuéntanos más (opcional)...',
|
|
500
|
+
submit: 'Enviar',
|
|
501
|
+
update: 'Actualizar',
|
|
502
|
+
thankYou: '¡Gracias por tu opinión!',
|
|
503
|
+
submitted: 'Tu opinión ha sido registrada',
|
|
504
|
+
errorSubmitting: 'Error al enviar. Intenta de nuevo.',
|
|
505
|
+
},
|
|
506
|
+
en: {
|
|
507
|
+
question: 'Was this content helpful?',
|
|
508
|
+
commentPlaceholder: 'Tell us more (optional)...',
|
|
509
|
+
submit: 'Submit',
|
|
510
|
+
update: 'Update',
|
|
511
|
+
thankYou: 'Thanks for your feedback!',
|
|
512
|
+
submitted: 'Your feedback has been recorded',
|
|
513
|
+
errorSubmitting: 'Error submitting. Please try again.',
|
|
514
|
+
},
|
|
515
|
+
},
|
|
496
516
|
};
|
|
497
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1jb250ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9pMThuL2RlZmF1bHQtY29udGVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkJHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQWlCO0lBQ25ELE9BQU8sRUFBRTtRQUNQLEVBQUUsRUFBRTtZQUNGLG1CQUFtQjtZQUNuQixNQUFNLEVBQUUsUUFBUTtZQUNoQixNQUFNLEVBQUUsVUFBVTtZQUNsQixJQUFJLEVBQUUsU0FBUztZQUNmLE1BQU0sRUFBRSxVQUFVO1lBQ2xCLElBQUksRUFBRSxRQUFRO1lBQ2QsS0FBSyxFQUFFLFFBQVE7WUFDZixJQUFJLEVBQUUsUUFBUTtZQUNkLElBQUksRUFBRSxXQUFXO1lBQ2pCLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLFNBQVMsRUFBRSxXQUFXO1lBRXRCLFVBQVU7WUFDVixPQUFPLEVBQUUsT0FBTztZQUNoQixLQUFLLEVBQUUsT0FBTztZQUNkLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLElBQUksRUFBRSxhQUFhO1lBRW5CLGlCQUFpQjtZQUNqQixhQUFhLEVBQUUsdUNBQXVDO1lBQ3RELGFBQWEsRUFBRSx1Q0FBdUM7WUFFdEQsbUJBQW1CO1lBQ25CLFNBQVMsRUFBRSw4QkFBOEI7WUFDekMsUUFBUSxFQUFFLHlCQUF5QjtZQUVuQyxhQUFhO1lBQ2IsSUFBSSxFQUFFLFFBQVE7WUFDZCxRQUFRLEVBQUUsZUFBZTtZQUN6QixPQUFPLEVBQUUsUUFBUTtZQUNqQixNQUFNLEVBQUUsZUFBZTtZQUV2QixVQUFVO1lBQ1YsZUFBZSxFQUFFLFNBQVM7WUFDMUIsZUFBZSxFQUFFLFNBQVM7WUFFMUIsZ0NBQWdDO1lBQ2hDLEVBQUUsRUFBRSxT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QUFpQztZQUN4RCxnQkFBZ0IsRUFBRSxrQ0FBa0M7WUFDcEQsaUJBQWlCLEVBQUUsc0JBQXNCO1lBQ3pDLGdCQUFnQixFQUFFLGdCQUFnQjtZQUNsQyxnQkFBZ0IsRUFBRSxzQ0FBc0M7WUFDeEQsb0JBQW9CLEVBQUUsb0NBQW9DO1lBQzFELG1CQUFtQixFQUFFLDZCQUE2QjtZQUNsRCxpQkFBaUIsRUFBRSxzQkFBc0I7WUFDekMsZ0JBQWdCLEVBQUUsc0JBQXNCO1lBQ3hDLFlBQVksRUFBRSxzQ0FBc0M7U0FDckQ7S0FDRjtJQUVELFNBQVMsRUFBRTtRQUNULEVBQUUsRUFBRTtZQUNGLGdCQUFnQjtZQUNoQixlQUFlLEVBQUUsMEJBQTBCO1lBQzNDLFNBQVMsRUFBRSxrQkFBa0I7WUFDN0IsYUFBYSxFQUFFLG1EQUFtRDtZQUVsRSxtQkFBbUI7WUFDbkIsZUFBZSxFQUFFLDBCQUEwQjtZQUMzQyxrQkFBa0IsRUFBRSw0Q0FBNEM7U0FDakU7UUFDRCxFQUFFLEVBQUU7WUFDRixnQkFBZ0I7WUFDaEIsZUFBZSxFQUFFLHVCQUF1QjtZQUN4QyxTQUFTLEVBQUUsWUFBWTtZQUN2QixhQUFhLEVBQUUsNENBQTRDO1lBRTNELG1CQUFtQjtZQUNuQixlQUFlLEVBQUUsMEJBQTBCO1lBQzNDLGtCQUFrQixFQUFFLDZDQUE2QztTQUNsRTtLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRlbnRTdG9yZSB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIFRyYWR1Y2Npb25lcyBwb3IgZGVmZWN0byBkZSB2YWx0ZWNoLWNvbXBvbmVudHMuXG4gKlxuICogRXN0YXMgdHJhZHVjY2lvbmVzIHNlIGNhcmdhbiBhdXRvbcOhdGljYW1lbnRlIGN1YW5kbyBzZSB1c2EgcHJvdmlkZVZhbHRlY2hJMThuKClcbiAqIHNpbiBuZWNlc2lkYWQgZGUgY29uZmlndXJhY2nDs24gYWRpY2lvbmFsLlxuICpcbiAqIExhcyBhcHBzIHB1ZWRlbiBzb2JyZXNjcmliaXIgY3VhbHF1aWVyIGtleSBwYXNhbmRvIHN1IHByb3BpbyBjb250ZW50OlxuICpcbiAqIEBleGFtcGxlIFNvYnJlc2NyaWJpciB0cmFkdWNjaW9uZXMgZXNwZWPDrWZpY2FzXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBwcm92aWRlVmFsdGVjaEkxOG4oe1xuICogICBjb250ZW50OiB7XG4gKiAgICAgX2dsb2JhbDoge1xuICogICAgICAgZXM6IHsgc3VjY2VzczogJ8KhTG8gaGljaW1vcyEnIH0sICAvLyBTb2JyZXNjcmliZSBzb2xvIGVzdGEga2V5XG4gKiAgICAgICBlbjogeyBzdWNjZXNzOiAnV2UgZGlkIGl0IScgfSxcbiAqICAgICB9LFxuICogICB9LFxuICogfSlcbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIERlc2FjdGl2YXIgdHJhZHVjY2lvbmVzIHBvciBkZWZlY3RvXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBwcm92aWRlVmFsdGVjaEkxOG4oe1xuICogICBpbmNsdWRlRGVmYXVsdENvbnRlbnQ6IGZhbHNlLFxuICogICBjb250ZW50OiBNWV9DVVNUT01fQ09OVEVOVCxcbiAqIH0pXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IFZBTFRFQ0hfREVGQVVMVF9DT05URU5UOiBDb250ZW50U3RvcmUgPSB7XG4gIF9nbG9iYWw6IHtcbiAgICBlczoge1xuICAgICAgLy8gQWNjaW9uZXMgY29tdW5lc1xuICAgICAgc3VibWl0OiAnRW52aWFyJyxcbiAgICAgIGNhbmNlbDogJ0NhbmNlbGFyJyxcbiAgICAgIHNhdmU6ICdHdWFyZGFyJyxcbiAgICAgIGRlbGV0ZTogJ0VsaW1pbmFyJyxcbiAgICAgIGVkaXQ6ICdFZGl0YXInLFxuICAgICAgY2xvc2U6ICdDZXJyYXInLFxuICAgICAgYmFjazogJ1ZvbHZlcicsXG4gICAgICBuZXh0OiAnU2lndWllbnRlJyxcbiAgICAgIHByZXZpb3VzOiAnQW50ZXJpb3InLFxuICAgICAgbG9hZGluZzogJ0NhcmdhbmRvLi4uJyxcbiAgICAgIHNlYXJjaDogJ0J1c2NhcicsXG4gICAgICBsZWFybk1vcmU6ICdTYWJlciBtw6FzJyxcblxuICAgICAgLy8gRXN0YWRvc1xuICAgICAgc3VjY2VzczogJ8OJeGl0bycsXG4gICAgICBlcnJvcjogJ0Vycm9yJyxcbiAgICAgIHdhcm5pbmc6ICdBZHZlcnRlbmNpYScsXG4gICAgICBpbmZvOiAnSW5mb3JtYWNpw7NuJyxcblxuICAgICAgLy8gQ29uZmlybWFjaW9uZXNcbiAgICAgIGNvbmZpcm1EZWxldGU6ICfCv0VzdMOhcyBzZWd1cm8gZGUgcXVlIGRlc2VhcyBlbGltaW5hcj8nLFxuICAgICAgY29uZmlybUNhbmNlbDogJ8K/RXN0w6FzIHNlZ3VybyBkZSBxdWUgZGVzZWFzIGNhbmNlbGFyPycsXG5cbiAgICAgIC8vIE1lbnNhamVzIGNvbXVuZXNcbiAgICAgIG5vUmVzdWx0czogJ05vIHNlIGVuY29udHJhcm9uIHJlc3VsdGFkb3MnLFxuICAgICAgcmVxdWlyZWQ6ICdFc3RlIGNhbXBvIGVzIHJlcXVlcmlkbycsXG5cbiAgICAgIC8vIE5hdmVnYWNpw7NuXG4gICAgICBob21lOiAnSW5pY2lvJyxcbiAgICAgIHNldHRpbmdzOiAnQ29uZmlndXJhY2nDs24nLFxuICAgICAgcHJvZmlsZTogJ1BlcmZpbCcsXG4gICAgICBsb2dvdXQ6ICdDZXJyYXIgc2VzacOzbicsXG5cbiAgICAgIC8vIElkaW9tYXNcbiAgICAgIGxhbmd1YWdlTmFtZV9lczogJ0VzcGHDsW9sJyxcbiAgICAgIGxhbmd1YWdlTmFtZV9lbjogJ0VuZ2xpc2gnLFxuXG4gICAgICAvLyBDb21wb25lbnRlcyAtIE1vZGFsZXMvU2VsZWN0c1xuICAgICAgb2s6ICdBY2VwdGFyJyxcbiAgICAgIHNlbGVjdE9wdGlvbjogJ1NlbGVjY2lvbmFyIG9wY2nDs24nLFxuICAgICAgc2VsZWN0UGxhY2Vob2xkZXI6ICdTZWxlY2Npb25hci4uLicsXG4gICAgICBpdGVtc1NlbGVjdGVkOiAnZWxlbWVudG9zIHNlbGVjY2lvbmFkb3MnLFxuICAgICAgc2VsZWN0QWxsOiAnU2VsZWNjaW9uYXIgdG9kb3MnLFxuICAgICAgY2xlYXI6ICdMaW1waWFyJyxcbiAgICAgIGFwcGx5OiAnQXBsaWNhcicsXG5cbiAgICAgIC8vIENvbXBvbmVudGVzIC0gRmVjaGFzXG4gICAgICBzdGFydERhdGU6ICdGZWNoYSBpbmljaW8nLFxuICAgICAgZW5kRGF0ZTogJ0ZlY2hhIGZpbicsXG4gICAgICBkYXk6ICdkw61hJyxcbiAgICAgIGRheXM6ICdkw61hcycsXG5cbiAgICAgIC8vIENvbXBvbmVudGVzIC0gRm9ybXVsYXJpb3NcbiAgICAgIHVwbG9hZEZpbGU6ICdTdWJpciBhcmNoaXZvJyxcbiAgICAgIG5vRmlsZVNlbGVjdGVkOiAnTm8gaGFzIHNlbGVjY2lvbmFkbyBhcmNoaXZvJyxcbiAgICAgIHRpdGxlOiAnVMOtdHVsbycsXG4gICAgICBkZXNjcmlwdGlvbjogJ0Rlc2NyaXBjacOzbicsXG4gICAgICBmZWVkYmFja1R5cGU6ICdUaXBvIGRlIGZlZWRiYWNrJyxcbiAgICAgIGZlZWRiYWNrU3VjY2VzczogJ0ZlZWRiYWNrIGVudmlhZG8gZXhpdG9zYW1lbnRlJyxcbiAgICAgIGZlZWRiYWNrRXJyb3I6ICdFcnJvciBhbCBlbnZpYXIgZWwgZmVlZGJhY2snLFxuICAgICAgdGl0bGVQbGFjZWhvbGRlcjogJ0Rlc2NyaWJlIGJyZXZlbWVudGUuLi4nLFxuICAgICAgdGl0bGVWYWxpZGF0aW9uOiAnRWwgdMOtdHVsbyBkZWJlIHRlbmVyIGVudHJlIDUgeSAyMDAgY2FyYWN0ZXJlcycsXG4gICAgICBkZXNjcmlwdGlvblBsYWNlaG9sZGVyOiAnUHJvcG9yY2lvbmEgbcOhcyBkZXRhbGxlcy4uLicsXG4gICAgICBkZXNjcmlwdGlvblZhbGlkYXRpb246ICdMYSBkZXNjcmlwY2nDs24gZGViZSB0ZW5lciBlbnRyZSAxMCB5IDUwMDAgY2FyYWN0ZXJlcycsXG5cbiAgICAgIC8vIENvbXBvbmVudGVzIC0gQsO6c3F1ZWRhL0dyaWRcbiAgICAgIHNlYXJjaE51bWJlcjogJ0J1c2NhciBuw7ptZXJvLi4uJyxcbiAgICAgIHNlbGVjdGVkOiAnc2VsZWNjaW9uYWRvL3MnLFxuICAgICAgbWF4OiAnbcOheDonLFxuXG4gICAgICAvLyBDb21wb25lbnRlcyAtIExpc3Rhc1xuICAgICAgbG9hZE1vcmVDb21tZW50czogJ0NhcmdhciBtw6FzIGNvbWVudGFyaW9zJyxcbiAgICAgIG5vRGF0YTogJ05vIGhheSBkYXRvcycsXG4gICAgICBub1JlY29yZHNGb3VuZDogJ05vIHNlIGVuY29udHJhcm9uIHJlZ2lzdHJvcyBwYXJhIG1vc3RyYXIuJyxcblxuICAgICAgLy8gQ29tcG9uZW50ZXMgLSBBY2Npb25lc1xuICAgICAgY29waWVkVG9DbGlwYm9hcmQ6ICfCoUNvcGlhZG8gYWwgcG9ydGFwYXBlbGVzIScsXG4gICAgICBsYW5ndWFnZTogJ0lkaW9tYScsXG4gICAgICBzZWxlY3RMYW5ndWFnZTogJ1NlbGVjY2lvbmFyIGlkaW9tYS4uLicsXG4gICAgICBkb3dubG9hZDogJ0Rlc2NhcmdhcicsXG4gICAgICBjb3B5OiAnQ29waWFyJyxcbiAgICAgIHNoYXJlOiAnQ29tcGFydGlyJyxcblxuICAgICAgLy8gQ29tcG9uZW50ZXMgLSBEYXRhIFRhYmxlIC8gUGFnaW5hY2nDs25cbiAgICAgIGFjdGlvbnM6ICdBY2Npb25lcycsXG4gICAgICBzaG93aW5nOiAnTW9zdHJhbmRvJyxcbiAgICAgIG9mOiAnZGUnLFxuICAgICAgcGVyUGFnZTogJ3BvciBww6FnaW5hJyxcbiAgICAgIGZpcnN0UGFnZTogJ1ByaW1lcmEgcMOhZ2luYScsXG4gICAgICBwcmV2aW91c1BhZ2U6ICdQw6FnaW5hIGFudGVyaW9yJyxcbiAgICAgIG5leHRQYWdlOiAnUMOhZ2luYSBzaWd1aWVudGUnLFxuICAgICAgbGFzdFBhZ2U6ICfDmmx0aW1hIHDDoWdpbmEnLFxuXG4gICAgICAvLyBDb21wb25lbnRlcyAtIFBhcnRpY2lwYW50IENhcmRcbiAgICAgIHdpbm5lcjogJ0dhbmFkb3InLFxuICAgICAgdGlja2V0OiAnYm9sZXRvJyxcbiAgICAgIHRpY2tldHM6ICdib2xldG9zJyxcbiAgICAgIG1vcmU6ICdtw6FzJyxcbiAgICAgIG5vdGVzOiAnTm90YXM6JyxcblxuICAgICAgLy8gRm9vdGVyXG4gICAgICBhbGxSaWdodHNSZXNlcnZlZDogJ1RvZG9zIGxvcyBkZXJlY2hvcyByZXNlcnZhZG9zLicsXG5cbiAgICAgIC8vIENsaXBib2FyZFxuICAgICAgbGlua0NvcGllZDogJ8KhRW5sYWNlIGNvcGlhZG8hJyxcblxuICAgICAgLy8gU2VsZWN0aW9uXG4gICAgICBzZWxlY3Q6ICdTZWxlY2Npb25hcicsXG4gICAgICBzZWxlY3RPcHRpb25zOiAnU2VsZWNjaW9uYXIgb3BjaW9uZXMnLFxuXG4gICAgICAvLyBDb21tZW50c1xuICAgICAgcGlubmVkOiAnRmlqYWRvJyxcbiAgICAgIGVkaXRlZDogJyhlZGl0YWRvKScsXG4gICAgICBzaG93Q29tbWVudDogJ01vc3RyYXIgY29tZW50YXJpbycsXG4gICAgICBoaWRlUmVwbGllczogJ09jdWx0YXIgcmVzcHVlc3RhcycsXG4gICAgICBsb2FkTW9yZVJlcGxpZXM6ICdDYXJnYXIgbcOhcyByZXNwdWVzdGFzJyxcbiAgICAgIHZpZXdSZXBsaWVzOiAnVmVyIHJlc3B1ZXN0YXMnLFxuICAgICAgY29tbWVudHM6ICdDb21lbnRhcmlvcycsXG4gICAgICBub0NvbW1lbnRzWWV0OiAnU2luIGNvbWVudGFyaW9zIGHDum4nLFxuICAgICAgcHVibGlzaDogJ1B1YmxpY2FyJyxcbiAgICAgIHNvcnRCeTogJ09yZGVuYXIgcG9yJyxcbiAgICAgIHdyaXRlQ29tbWVudDogJ0VzY3JpYmUgdW4gY29tZW50YXJpby4uLicsXG4gICAgICBiZUZpcnN0VG9Db21tZW50OiAnwqFTw6kgZWwgcHJpbWVybyBlbiBjb21wYXJ0aXIgdHUgb3BpbmnDs24hJyxcblxuICAgICAgLy8gVGltZXN0YW1wc1xuICAgICAganVzdE5vdzogJ0Fob3JhIG1pc21vJyxcbiAgICAgIG1pbnV0ZXNBZ286ICdoYWNlIHttaW51dGVzfW0nLFxuICAgICAgaG91cnNBZ286ICdoYWNlIHtob3Vyc31oJyxcbiAgICAgIGRheXNBZ286ICdoYWNlIHtkYXlzfWQnLFxuXG4gICAgICAvLyBMaXN0c1xuICAgICAgbG9hZE1vcmU6ICdDYXJnYXIgbcOhcycsXG4gICAgICBub01vcmVJdGVtczogJ05vIGhheSBtw6FzIGl0ZW1zJyxcbiAgICAgIGxvYWRpbmdJdGVtczogJ0NhcmdhbmRvIGl0ZW1zLi4uJyxcbiAgICAgIGFsbEl0ZW1zTG9hZGVkOiAnVG9kb3MgbG9zIGl0ZW1zIGhhbiBzaWRvIGNhcmdhZG9zJyxcbiAgICAgIGVycm9yT2NjdXJyZWQ6ICdPY3VycmnDsyB1biBlcnJvcicsXG4gICAgICByZXRyeTogJ1JlaW50ZW50YXInLFxuXG4gICAgICAvLyBOYXZpZ2F0aW9uXG4gICAgICBzZWVNb3JlOiAnVmVyIG3DoXMnLFxuXG4gICAgICAvLyBGb3JtcyAtIFJhbmdlXG4gICAgICBmcm9tOiAnSW5pY2lhbCcsXG4gICAgICB0bzogJ0ZpbmFsJyxcblxuICAgICAgLy8gU3RlcHBlclxuICAgICAgZGVjcmVhc2U6ICdEaXNtaW51aXInLFxuICAgICAgaW5jcmVhc2U6ICdBdW1lbnRhcicsXG5cbiAgICAgIC8vIE1pc2NcbiAgICAgIHJhbmRvbTogJ0FsZWF0b3JpbycsXG4gICAgICBwdWxsVG9SZWZyZXNoOiAnQXJyYXN0cmEgcGFyYSBhY3R1YWxpemFyJyxcbiAgICAgIHRpbWVFeHBpcmVkOiAnVGllbXBvIGFnb3RhZG8nLFxuICAgICAgcXJDb2RlOiAnQ8OzZGlnbyBRUicsXG5cbiAgICAgIC8vIFBheW1lbnQgc3RhdHVzXG4gICAgICBwYXltZW50UGVuZGluZzogJ1BlbmRpZW50ZScsXG4gICAgICBwYXltZW50UHJvY2Vzc2luZzogJ1Byb2Nlc2FuZG8nLFxuICAgICAgcGF5bWVudFBhaWQ6ICdQYWdhZG8nLFxuICAgICAgcGF5bWVudFJlZnVuZGVkOiAnUmVlbWJvbHNhZG8nLFxuICAgICAgcGF5bWVudEZhaWxlZDogJ0ZhbGxpZG8nLFxuICAgIH0sXG4gICAgZW46IHtcbiAgICAgIC8vIENvbW1vbiBhY3Rpb25zXG4gICAgICBzdWJtaXQ6ICdTdWJtaXQnLFxuICAgICAgY2FuY2VsOiAnQ2FuY2VsJyxcbiAgICAgIHNhdmU6ICdTYXZlJyxcbiAgICAgIGRlbGV0ZTogJ0RlbGV0ZScsXG4gICAgICBlZGl0OiAnRWRpdCcsXG4gICAgICBjbG9zZTogJ0Nsb3NlJyxcbiAgICAgIGJhY2s6ICdCYWNrJyxcbiAgICAgIG5leHQ6ICdOZXh0JyxcbiAgICAgIHByZXZpb3VzOiAnUHJldmlvdXMnLFxuICAgICAgbG9hZGluZzogJ0xvYWRpbmcuLi4nLFxuICAgICAgc2VhcmNoOiAnU2VhcmNoJyxcbiAgICAgIGxlYXJuTW9yZTogJ0xlYXJuIG1vcmUnLFxuXG4gICAgICAvLyBTdGF0ZXNcbiAgICAgIHN1Y2Nlc3M6ICdTdWNjZXNzJyxcbiAgICAgIGVycm9yOiAnRXJyb3InLFxuICAgICAgd2FybmluZzogJ1dhcm5pbmcnLFxuICAgICAgaW5mbzogJ0luZm9ybWF0aW9uJyxcblxuICAgICAgLy8gQ29uZmlybWF0aW9uc1xuICAgICAgY29uZmlybURlbGV0ZTogJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGU/JyxcbiAgICAgIGNvbmZpcm1DYW5jZWw6ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY2FuY2VsPycsXG5cbiAgICAgIC8vIENvbW1vbiBtZXNzYWdlc1xuICAgICAgbm9SZXN1bHRzOiAnTm8gcmVzdWx0cyBmb3VuZCcsXG4gICAgICByZXF1aXJlZDogJ1RoaXMgZmllbGQgaXMgcmVxdWlyZWQnLFxuXG4gICAgICAvLyBOYXZpZ2F0aW9uXG4gICAgICBob21lOiAnSG9tZScsXG4gICAgICBzZXR0aW5nczogJ1NldHRpbmdzJyxcbiAgICAgIHByb2ZpbGU6ICdQcm9maWxlJyxcbiAgICAgIGxvZ291dDogJ0xvZyBvdXQnLFxuXG4gICAgICAvLyBMYW5ndWFnZXNcbiAgICAgIGxhbmd1YWdlTmFtZV9lczogJ0VzcGHDsW9sJyxcbiAgICAgIGxhbmd1YWdlTmFtZV9lbjogJ0VuZ2xpc2gnLFxuXG4gICAgICAvLyBDb21wb25lbnRzIC0gTW9kYWxzL1NlbGVjdHNcbiAgICAgIG9rOiAnT0snLFxuICAgICAgc2VsZWN0T3B0aW9uOiAnU2VsZWN0IG9wdGlvbicsXG4gICAgICBzZWxlY3RQbGFjZWhvbGRlcjogJ1NlbGVjdC4uLicsXG4gICAgICBpdGVtc1NlbGVjdGVkOiAnaXRlbXMgc2VsZWN0ZWQnLFxuICAgICAgc2VsZWN0QWxsOiAnU2VsZWN0IGFsbCcsXG4gICAgICBjbGVhcjogJ0NsZWFyJyxcbiAgICAgIGFwcGx5OiAnQXBwbHknLFxuXG4gICAgICAvLyBDb21wb25lbnRzIC0gRGF0ZXNcbiAgICAgIHN0YXJ0RGF0ZTogJ1N0YXJ0IGRhdGUnLFxuICAgICAgZW5kRGF0ZTogJ0VuZCBkYXRlJyxcbiAgICAgIGRheTogJ2RheScsXG4gICAgICBkYXlzOiAnZGF5cycsXG5cbiAgICAgIC8vIENvbXBvbmVudHMgLSBGb3Jtc1xuICAgICAgdXBsb2FkRmlsZTogJ1VwbG9hZCBmaWxlJyxcbiAgICAgIG5vRmlsZVNlbGVjdGVkOiAnTm8gZmlsZSBzZWxlY3RlZCcsXG4gICAgICB0aXRsZTogJ1RpdGxlJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24nLFxuICAgICAgZmVlZGJhY2tUeXBlOiAnRmVlZGJhY2sgdHlwZScsXG4gICAgICBmZWVkYmFja1N1Y2Nlc3M6ICdGZWVkYmFjayBzZW50IHN1Y2Nlc3NmdWxseScsXG4gICAgICBmZWVkYmFja0Vycm9yOiAnRXJyb3Igc2VuZGluZyBmZWVkYmFjaycsXG4gICAgICB0aXRsZVBsYWNlaG9sZGVyOiAnRGVzY3JpYmUgYnJpZWZseS4uLicsXG4gICAgICB0aXRsZVZhbGlkYXRpb246ICdUaXRsZSBtdXN0IGJlIGJldHdlZW4gNSBhbmQgMjAwIGNoYXJhY3RlcnMnLFxuICAgICAgZGVzY3JpcHRpb25QbGFjZWhvbGRlcjogJ1Byb3ZpZGUgbW9yZSBkZXRhaWxzLi4uJyxcbiAgICAgIGRlc2NyaXB0aW9uVmFsaWRhdGlvbjogJ0Rlc2NyaXB0aW9uIG11c3QgYmUgYmV0d2VlbiAxMCBhbmQgNTAwMCBjaGFyYWN0ZXJzJyxcblxuICAgICAgLy8gQ29tcG9uZW50cyAtIFNlYXJjaC9HcmlkXG4gICAgICBzZWFyY2hOdW1iZXI6ICdTZWFyY2ggbnVtYmVyLi4uJyxcbiAgICAgIHNlbGVjdGVkOiAnc2VsZWN0ZWQnLFxuICAgICAgbWF4OiAnbWF4OicsXG5cbiAgICAgIC8vIENvbXBvbmVudHMgLSBMaXN0c1xuICAgICAgbG9hZE1vcmVDb21tZW50czogJ0xvYWQgbW9yZSBjb21tZW50cycsXG4gICAgICBub0RhdGE6ICdObyBkYXRhJyxcbiAgICAgIG5vUmVjb3Jkc0ZvdW5kOiAnTm8gcmVjb3JkcyBmb3VuZCB0byBkaXNwbGF5LicsXG5cbiAgICAgIC8vIENvbXBvbmVudHMgLSBBY3Rpb25zXG4gICAgICBjb3BpZWRUb0NsaXBib2FyZDogJ0NvcGllZCB0byBjbGlwYm9hcmQhJyxcbiAgICAgIGxhbmd1YWdlOiAnTGFuZ3VhZ2UnLFxuICAgICAgc2VsZWN0TGFuZ3VhZ2U6ICdTZWxlY3QgbGFuZ3VhZ2UuLi4nLFxuICAgICAgZG93bmxvYWQ6ICdEb3dubG9hZCcsXG4gICAgICBjb3B5OiAnQ29weScsXG4gICAgICBzaGFyZTogJ1NoYXJlJyxcblxuICAgICAgLy8gQ29tcG9uZW50cyAtIERhdGEgVGFibGUgLyBQYWdpbmF0aW9uXG4gICAgICBhY3Rpb25zOiAnQWN0aW9ucycsXG4gICAgICBzaG93aW5nOiAnU2hvd2luZycsXG4gICAgICBvZjogJ29mJyxcbiAgICAgIHBlclBhZ2U6ICdwZXIgcGFnZScsXG4gICAgICBmaXJzdFBhZ2U6ICdGaXJzdCBwYWdlJyxcbiAgICAgIHByZXZpb3VzUGFnZTogJ1ByZXZpb3VzIHBhZ2UnLFxuICAgICAgbmV4dFBhZ2U6ICdOZXh0IHBhZ2UnLFxuICAgICAgbGFzdFBhZ2U6ICdMYXN0IHBhZ2UnLFxuXG4gICAgICAvLyBDb21wb25lbnRzIC0gUGFydGljaXBhbnQgQ2FyZFxuICAgICAgd2lubmVyOiAnV2lubmVyJyxcbiAgICAgIHRpY2tldDogJ3RpY2tldCcsXG4gICAgICB0aWNrZXRzOiAndGlja2V0cycsXG4gICAgICBtb3JlOiAnbW9yZScsXG4gICAgICBub3RlczogJ05vdGVzOicsXG5cbiAgICAgIC8vIEZvb3RlclxuICAgICAgYWxsUmlnaHRzUmVzZXJ2ZWQ6ICdBbGwgcmlnaHRzIHJlc2VydmVkLicsXG5cbiAgICAgIC8vIENsaXBib2FyZFxuICAgICAgbGlua0NvcGllZDogJ0xpbmsgY29waWVkIScsXG5cbiAgICAgIC8vIFNlbGVjdGlvblxuICAgICAgc2VsZWN0OiAnU2VsZWN0JyxcbiAgICAgIHNlbGVjdE9wdGlvbnM6ICdTZWxlY3Qgb3B0aW9ucycsXG5cbiAgICAgIC8vIENvbW1lbnRzXG4gICAgICBwaW5uZWQ6ICdQaW5uZWQnLFxuICAgICAgZWRpdGVkOiAnKGVkaXRlZCknLFxuICAgICAgc2hvd0NvbW1lbnQ6ICdTaG93IGNvbW1lbnQnLFxuICAgICAgaGlkZVJlcGxpZXM6ICdIaWRlIHJlcGxpZXMnLFxuICAgICAgbG9hZE1vcmVSZXBsaWVzOiAnTG9hZCBtb3JlIHJlcGxpZXMnLFxuICAgICAgdmlld1JlcGxpZXM6ICdWaWV3IHJlcGxpZXMnLFxuICAgICAgY29tbWVudHM6ICdDb21tZW50cycsXG4gICAgICBub0NvbW1lbnRzWWV0OiAnTm8gY29tbWVudHMgeWV0JyxcbiAgICAgIHB1Ymxpc2g6ICdQdWJsaXNoJyxcbiAgICAgIHNvcnRCeTogJ1NvcnQgYnknLFxuICAgICAgd3JpdGVDb21tZW50OiAnV3JpdGUgYSBjb21tZW50Li4uJyxcbiAgICAgIGJlRmlyc3RUb0NvbW1lbnQ6ICdCZSB0aGUgZmlyc3QgdG8gc2hhcmUgeW91ciB0aG91Z2h0cyEnLFxuXG4gICAgICAvLyBUaW1lc3RhbXBzXG4gICAgICBqdXN0Tm93OiAnSnVzdCBub3cnLFxuICAgICAgbWludXRlc0FnbzogJ3ttaW51dGVzfW0gYWdvJyxcbiAgICAgIGhvdXJzQWdvOiAne2hvdXJzfWggYWdvJyxcbiAgICAgIGRheXNBZ286ICd7ZGF5c31kIGFnbycsXG5cbiAgICAgIC8vIExpc3RzXG4gICAgICBsb2FkTW9yZTogJ0xvYWQgbW9yZScsXG4gICAgICBub01vcmVJdGVtczogJ05vIG1vcmUgaXRlbXMnLFxuICAgICAgbG9hZGluZ0l0ZW1zOiAnTG9hZGluZyBpdGVtcy4uLicsXG4gICAgICBhbGxJdGVtc0xvYWRlZDogJ0FsbCBpdGVtcyBsb2FkZWQnLFxuICAgICAgZXJyb3JPY2N1cnJlZDogJ0FuIGVycm9yIG9jY3VycmVkJyxcbiAgICAgIHJldHJ5OiAnUmV0cnknLFxuXG4gICAgICAvLyBOYXZpZ2F0aW9uXG4gICAgICBzZWVNb3JlOiAnU2VlIG1vcmUnLFxuXG4gICAgICAvLyBGb3JtcyAtIFJhbmdlXG4gICAgICBmcm9tOiAnRnJvbScsXG4gICAgICB0bzogJ1RvJyxcblxuICAgICAgLy8gU3RlcHBlclxuICAgICAgZGVjcmVhc2U6ICdEZWNyZWFzZScsXG4gICAgICBpbmNyZWFzZTogJ0luY3JlYXNlJyxcblxuICAgICAgLy8gTWlzY1xuICAgICAgcmFuZG9tOiAnUmFuZG9tJyxcbiAgICAgIHB1bGxUb1JlZnJlc2g6ICdQdWxsIHRvIHJlZnJlc2gnLFxuICAgICAgdGltZUV4cGlyZWQ6ICdUaW1lIGV4cGlyZWQnLFxuICAgICAgcXJDb2RlOiAnUVIgQ29kZScsXG5cbiAgICAgIC8vIFBheW1lbnQgc3RhdHVzXG4gICAgICBwYXltZW50UGVuZGluZzogJ1BlbmRpbmcnLFxuICAgICAgcGF5bWVudFByb2Nlc3Npbmc6ICdQcm9jZXNzaW5nJyxcbiAgICAgIHBheW1lbnRQYWlkOiAnUGFpZCcsXG4gICAgICBwYXltZW50UmVmdW5kZWQ6ICdSZWZ1bmRlZCcsXG4gICAgICBwYXltZW50RmFpbGVkOiAnRmFpbGVkJyxcbiAgICB9LFxuICB9LFxuXG4gIF9hdXRoOiB7XG4gICAgZXM6IHtcbiAgICAgIC8vIExvZ2luXG4gICAgICBsb2dpblRpdGxlOiAnSW5pY2lhciBzZXNpw7NuJyxcbiAgICAgIGVtYWlsOiAnQ29ycmVvIGVsZWN0csOzbmljbycsXG4gICAgICBlbWFpbFBsYWNlaG9sZGVyOiAndHVAZW1haWwuY29tJyxcbiAgICAgIGVtYWlsUmVxdWlyZWQ6ICdFbCBjb3JyZW8gZXMgcmVxdWVyaWRvJyxcbiAgICAgIGVtYWlsSW52YWxpZDogJ0luZ3Jlc2EgdW4gY29ycmVvIHbDoWxpZG8nLFxuICAgICAgcGFzc3dvcmQ6ICdDb250cmFzZcOxYScsXG4gICAgICBwYXNzd29yZFBsYWNlaG9sZGVyOiAn4oCi4oCi4oCi4oCi4oCi4oCi4oCi4oCiJyxcbiAgICAgIHBhc3N3b3JkUmVxdWlyZWQ6ICdMYSBjb250cmFzZcOxYSBlcyByZXF1ZXJpZGEnLFxuICAgICAgbG9naW5TdWJtaXQ6ICdJbmljaWFyIHNlc2nDs24nLFxuXG4gICAgICAvLyBPQXV0aFxuICAgICAgb3JDb250aW51ZVdpdGg6ICdvIGNvbnRpbsO6YSBjb24nLFxuICAgICAgY29udGludWVXaXRoR29vZ2xlOiAnQ29udGludWFyIGNvbiBHb29nbGUnLFxuICAgICAgY29udGludWVXaXRoQXBwbGU6ICdDb250aW51YXIgY29uIEFwcGxlJyxcbiAgICAgIGNvbnRpbnVlV2l0aE1pY3Jvc29mdDogJ0NvbnRpbnVhciBjb24gTWljcm9zb2Z0JyxcbiAgICAgIGNvbm5lY3Rpbmc6ICdDb25lY3RhbmRvLi4uJyxcblxuICAgICAgLy8gUmVnaXN0ZXJcbiAgICAgIHJlZ2lzdGVyVGl0bGU6ICdDcmVhciBjdWVudGEnLFxuICAgICAgZnVsbE5hbWU6ICdOb21icmUgY29tcGxldG8nLFxuICAgICAgbmFtZVBsYWNlaG9sZGVyOiAnVHUgbm9tYnJlJyxcbiAgICAgIG5hbWVSZXF1aXJlZDogJ0VsIG5vbWJyZSBlcyByZXF1ZXJpZG8nLFxuICAgICAgbmFtZU1pbkxlbmd0aDogJ03DrW5pbW8gMiBjYXJhY3RlcmVzJyxcbiAgICAgIHBhc3N3b3JkTWluTGVuZ3RoOiAnTcOtbmltbyA4IGNhcmFjdGVyZXMnLFxuICAgICAgcmVnaXN0ZXJTdWJtaXQ6ICdSZWdpc3RyYXJzZScsXG4gICAgICBub0FjY291bnQ6ICfCv05vIHRpZW5lcyBjdWVudGE/JyxcbiAgICAgIHJlZ2lzdGVyOiAnUmVnaXN0cmFyc2UnLFxuICAgICAgaGFzQWNjb3VudDogJ8K/WWEgdGllbmVzIGN1ZW50YT8nLFxuICAgICAgc2lnbkluOiAnSW5pY2lhciBzZXNpw7NuJyxcblxuICAgICAgLy8gVmVyaWZ5IGVtYWlsXG4gICAgICB2ZXJpZnlUaXRsZTogJ1ZlcmlmaWNhciBjb3JyZW8nLFxuICAgICAgdmVyaWZ5RGVzY3JpcHRpb246ICdJbmdyZXNhIGVsIGPDs2RpZ28gZGUgdmVyaWZpY2FjacOzbiBlbnZpYWRvIGEgdHUgY29ycmVvLicsXG4gICAgICB2ZXJpZnlTdWJtaXQ6ICdWZXJpZmljYXInLFxuICAgICAgY29kZVJlcXVpcmVkOiAnRWwgY8OzZGlnbyBlcyByZXF1ZXJpZG8nLFxuICAgICAgY29kZU1pbkxlbmd0aDogJ0luZ3Jlc2EgbG9zIDYgZMOtZ2l0b3MnLFxuICAgICAgbm9Db2RlUmVjZWl2ZWQ6ICfCv05vIGhhcyByZWNpYmlkbyB0dSBjw7NkaWdvPycsXG4gICAgICByZXNlbmQ6ICdSZWVudmlhcicsXG4gICAgICByZXNlbmRJbjogJ1JlZW52aWFyIGVuIHtzZWNvbmRzfXMnLFxuICAgICAgY29kZVNlbnQ6ICdDw7NkaWdvIHJlZW52aWFkby4gUmV2aXNhIHR1IGVtYWlsLicsXG4gICAgICBlbWFpbFZlcmlmaWVkOiAnwqFFbWFpbCB2ZXJpZmljYWRvISBCaWVudmVuaWRvLicsXG5cbiAgICAgIC8vIE1GQVxuICAgICAgbWZhVGl0bGU6ICdWZXJpZmljYWNpw7NuIE1GQScsXG4gICAgICBtZmFUT1RQOiAnSW5ncmVzYSBlbCBjw7NkaWdvIGRlIHR1IGFwcCBkZSBhdXRlbnRpY2FjacOzbicsXG4gICAgICBtZmFFbWFpbDogJ0luZ3Jlc2EgZWwgY8OzZGlnbyBlbnZpYWRvIGEgdHUgY29ycmVvJyxcbiAgICAgIG1mYVNNUzogJ0luZ3Jlc2EgZWwgY8OzZGlnbyBlbnZpYWRvIGEgdHUgdGVsw6lmb25vJyxcblxuICAgICAgLy8gRm9yZ290L1Jlc2V0IHBhc3N3b3JkXG4gICAgICBmb3Jnb3RUaXRsZTogJ1JlY3VwZXJhciBjb250cmFzZcOxYScsXG4gICAgICBmb3Jnb3REZXNjcmlwdGlvbjogJ0luZ3Jlc2EgdHUgY29ycmVvIGVsZWN0csOzbmljbyB5IHRlIGVudmlhcmVtb3MgdW4gY8OzZGlnby4nLFxuICAgICAgZm9yZ290U3VibWl0OiAnRW52aWFyIGPDs2RpZ28nLFxuICAgICAgZm9yZ290TGluazogJ8K/T2x2aWRhc3RlIHR1IGNvbnRyYXNlw7FhPycsXG4gICAgICByZWNvdmVyUGFzc3dvcmQ6ICdSZWN1cGVyYXIgY29udHJhc2XDsWEnLFxuICAgICAgcmVzZXRUaXRsZTogJ1Jlc3RhYmxlY2VyIGNvbnRyYXNlw7FhJyxcbiAgICAgIHJlc2V0RGVzY3JpcHRpb246ICdIZW1vcyBlbnZpYWRvIHVuIGPDs2RpZ28gZGUgdmVyaWZpY2FjacOzbiBhIHR1IGNvcnJlby4nLFxuICAgICAgbmV3UGFzc3dvcmQ6ICdOdWV2YSBjb250cmFzZcOxYScsXG4gICAgICBuZXdQYXNzd29yZEhpbnQ6ICdNw61uaW1vIDggY2FyYWN0ZXJlcycsXG4gICAgICByZXNldFN1Ym1pdDogJ0NhbWJpYXIgY29udHJhc2XDsWEnLFxuICAgICAgcGFzc3dvcmRVcGRhdGVkOiAnwqFDb250cmFzZcOxYSBhY3R1YWxpemFkYSEgWWEgcHVlZGVzIGluaWNpYXIgc2VzacOzbi4nLFxuXG4gICAgICAvLyBMZWdhbFxuICAgICAgbGVnYWxQcmVmaXg6ICdVdGlsaXphbW9zIGxvcyBzZXJ2aWNpb3MgZGUnLFxuICAgICAgbGVnYWxTdWZmaXg6XG4gICAgICAgICdwYXJhIG9mcmVjZXJ0ZSB1bmEgZXhwZXJpZW5jaWEgc2VndXJhLiBBbCBpbmljaWFyIHNlc2nDs24sIGFjZXB0YXMgbnVlc3Ryb3MnLFxuICAgICAgdGVybXNBbmRDb25kaXRpb25zOiAnVMOpcm1pbm9zIHkgQ29uZGljaW9uZXMnLFxuICAgICAgYW5kOiAneScsXG4gICAgICBwcml2YWN5UG9saWN5OiAnUG9sw610aWNhIGRlIFByaXZhY2lkYWQnLFxuXG4gICAgICAvLyBUb2FzdHNcbiAgICAgIHdlbGNvbWU6ICfCoUJpZW52ZW5pZG8hJyxcbiAgICAgIGNvbXBsZXRlQWxsRmllbGRzOiAnQ29tcGxldGEgdG9kb3MgbG9zIGNhbXBvcy4nLFxuICAgICAgZW50ZXJFbWFpbDogJ0luZ3Jlc2EgdHUgY29ycmVvIGVsZWN0csOzbmljby4nLFxuXG4gICAgICAvLyBFcnJvcnMgKG1hcGVhZG9zIGRlIGPDs2RpZ29zIGJhY2tlbmQpXG4gICAgICBlcnJvckludmFsaWRDcmVkZW50aWFsczogJ0NvcnJlbyBvIGNvbnRyYXNlw7FhIGluY29ycmVjdG9zJyxcbiAgICAgIGVycm9yRW1haWxOb3RWZXJpZmllZDogJ0RlYmVzIHZlcmlmaWNhciB0dSBjb3JyZW8gZWxlY3Ryw7NuaWNvJyxcbiAgICAgIGVycm9yQWNjb3VudFN1c3BlbmRlZDogJ1R1IGN1ZW50YSBoYSBzaWRvIHN1c3BlbmRpZGEnLFxuICAgICAgZXJyb3JFbWFpbEV4aXN0czogJ0VzdGUgY29ycmVvIHlhIGVzdMOhIHJlZ2lzdHJhZG8nLFxuICAgICAgZXJyb3JXZWFrUGFzc3dvcmQ6ICdMYSBjb250cmFzZcOxYSBlcyBtdXkgZMOpYmlsJyxcbiAgICAgIGVycm9ySW52YWxpZENvZGU6ICdDw7NkaWdvIGluY29ycmVjdG8nLFxuICAgICAgZXJyb3JFeHBpcmVkQ29kZTogJ0VsIGPDs2RpZ28gaGEgZXhwaXJhZG8uIFNvbGljaXRhIHVubyBudWV2by4nLFxuICAgICAgZXJyb3JUb29NYW55QXR0ZW1wdHM6ICdEZW1hc2lhZG9zIGludGVudG9zLCBpbnRlbnRhIG3DoXMgdGFyZGUnLFxuICAgICAgZXJyb3JNRkFJbnZhbGlkQ29kZTogJ0PDs2RpZ28gZGUgdmVyaWZpY2FjacOzbiBpbmNvcnJlY3RvJyxcbiAgICAgIGVycm9yUG9wdXBCbG9ja2VkOiAnUG9yIGZhdm9yLCBwZXJtaXRlIHZlbnRhbmFzIGVtZXJnZW50ZXMnLFxuICAgICAgZXJyb3JPQXV0aEZhaWxlZDogJ0Vycm9yIGRlIGF1dGVudGljYWNpw7NuJyxcbiAgICAgIGVycm9yR2VuZXJpYzogJ0hhIG9jdXJyaWRvIHVuIGVycm9yLiBJbnRlbnRhIGRlIG51ZXZvLicsXG4gICAgfSxcbiAgICBlbjoge1xuICAgICAgLy8gTG9naW5cbiAgICAgIGxvZ2luVGl0bGU6ICdTaWduIGluJyxcbiAgICAgIGVtYWlsOiAnRW1haWwnLFxuICAgICAgZW1haWxQbGFjZWhvbGRlcjogJ3lvdUBlbWFpbC5jb20nLFxuICAgICAgZW1haWxSZXF1aXJlZDogJ0VtYWlsIGlzIHJlcXVpcmVkJyxcbiAgICAgIGVtYWlsSW52YWxpZDogJ0VudGVyIGEgdmFsaWQgZW1haWwnLFxuICAgICAgcGFzc3dvcmQ6ICdQYXNzd29yZCcsXG4gICAgICBwYXNzd29yZFBsYWNlaG9sZGVyOiAn4oCi4oCi4oCi4oCi4oCi4oCi4oCi4oCiJyxcbiAgICAgIHBhc3N3b3JkUmVxdWlyZWQ6ICdQYXNzd29yZCBpcyByZXF1aXJlZCcsXG4gICAgICBsb2dpblN1Ym1pdDogJ1NpZ24gaW4nLFxuXG4gICAgICAvLyBPQXV0aFxuICAgICAgb3JDb250aW51ZVdpdGg6ICdvciBjb250aW51ZSB3aXRoJyxcbiAgICAgIGNvbnRpbnVlV2l0aEdvb2dsZTogJ0NvbnRpbnVlIHdpdGggR29vZ2xlJyxcbiAgICAgIGNvbnRpbnVlV2l0aEFwcGxlOiAnQ29udGludWUgd2l0aCBBcHBsZScsXG4gICAgICBjb250aW51ZVdpdGhNaWNyb3NvZnQ6ICdDb250aW51ZSB3aXRoIE1pY3Jvc29mdCcsXG4gICAgICBjb25uZWN0aW5nOiAnQ29ubmVjdGluZy4uLicsXG5cbiAgICAgIC8vIFJlZ2lzdGVyXG4gICAgICByZWdpc3RlclRpdGxlOiAnQ3JlYXRlIGFjY291bnQnLFxuICAgICAgZnVsbE5hbWU6ICdGdWxsIG5hbWUnLFxuICAgICAgbmFtZVBsYWNlaG9sZGVyOiAnWW91ciBuYW1lJyxcbiAgICAgIG5hbWVSZXF1aXJlZDogJ05hbWUgaXMgcmVxdWlyZWQnLFxuICAgICAgbmFtZU1pbkxlbmd0aDogJ01pbmltdW0gMiBjaGFyYWN0ZXJzJyxcbiAgICAgIHBhc3N3b3JkTWluTGVuZ3RoOiAnTWluaW11bSA4IGNoYXJhY3RlcnMnLFxuICAgICAgcmVnaXN0ZXJTdWJtaXQ6ICdTaWduIHVwJyxcbiAgICAgIG5vQWNjb3VudDogXCJEb24ndCBoYXZlIGFuIGFjY291bnQ/XCIsXG4gICAgICByZWdpc3RlcjogJ1NpZ24gdXAnLFxuICAgICAgaGFzQWNjb3VudDogJ0FscmVhZHkgaGF2ZSBhbiBhY2NvdW50PycsXG4gICAgICBzaWduSW46ICdTaWduIGluJyxcblxuICAgICAgLy8gVmVyaWZ5IGVtYWlsXG4gICAgICB2ZXJpZnlUaXRsZTogJ1ZlcmlmeSBlbWFpbCcsXG4gICAgICB2ZXJpZnlEZXNjcmlwdGlvbjogJ0VudGVyIHRoZSB2ZXJpZmljYXRpb24gY29kZSBzZW50IHRvIHlvdXIgZW1haWwuJyxcbiAgICAgIHZlcmlmeVN1Ym1pdDogJ1ZlcmlmeScsXG4gICAgICBjb2RlUmVxdWlyZWQ6ICdDb2RlIGlzIHJlcXVpcmVkJyxcbiAgICAgIGNvZGVNaW5MZW5ndGg6ICdFbnRlciBhbGwgNiBkaWdpdHMnLFxuICAgICAgbm9Db2RlUmVjZWl2ZWQ6IFwiRGlkbid0IHJlY2VpdmUgeW91ciBjb2RlP1wiLFxuICAgICAgcmVzZW5kOiAnUmVzZW5kJyxcbiAgICAgIHJlc2VuZEluOiAnUmVzZW5kIGluIHtzZWNvbmRzfXMnLFxuICAgICAgY29kZVNlbnQ6ICdDb2RlIHJlc2VudC4gQ2hlY2sgeW91ciBlbWFpbC4nLFxuICAgICAgZW1haWxWZXJpZmllZDogJ0VtYWlsIHZlcmlmaWVkISBXZWxjb21lLicsXG5cbiAgICAgIC8vIE1GQVxuICAgICAgbWZhVGl0bGU6ICdNRkEgVmVyaWZpY2F0aW9uJyxcbiAgICAgIG1mYVRPVFA6ICdFbnRlciB0aGUgY29kZSBmcm9tIHlvdXIgYXV0aGVudGljYXRvciBhcHAnLFxuICAgICAgbWZhRW1haWw6ICdFbnRlciB0aGUgY29kZSBzZW50IHRvIHlvdXIgZW1haWwnLFxuICAgICAgbWZhU01TOiAnRW50ZXIgdGhlIGNvZGUgc2VudCB0byB5b3VyIHBob25lJyxcblxuICAgICAgLy8gRm9yZ290L1Jlc2V0IHBhc3N3b3JkXG4gICAgICBmb3Jnb3RUaXRsZTogJ1JlY292ZXIgcGFzc3dvcmQnLFxuICAgICAgZm9yZ290RGVzY3JpcHRpb246ICdFbnRlciB5b3VyIGVtYWlsIGFuZCB3ZSB3aWxsIHNlbmQgeW91IGEgY29kZS4nLFxuICAgICAgZm9yZ290U3VibWl0OiAnU2VuZCBjb2RlJyxcbiAgICAgIGZvcmdvdExpbms6ICdGb3Jnb3QgeW91ciBwYXNzd29yZD8nLFxuICAgICAgcmVjb3ZlclBhc3N3b3JkOiAnUmVjb3ZlciBwYXNzd29yZCcsXG4gICAgICByZXNldFRpdGxlOiAnUmVzZXQgcGFzc3dvcmQnLFxuICAgICAgcmVzZXREZXNjcmlwdGlvbjogJ1dlIGhhdmUgc2VudCBhIHZlcmlmaWNhdGlvbiBjb2RlIHRvIHlvdXIgZW1haWwuJyxcbiAgICAgIG5ld1Bhc3N3b3JkOiAnTmV3IHBhc3N3b3JkJyxcbiAgICAgIG5ld1Bhc3N3b3JkSGludDogJ01pbmltdW0gOCBjaGFyYWN0ZXJzJyxcbiAgICAgIHJlc2V0U3VibWl0OiAnQ2hhbmdlIHBhc3N3b3JkJyxcbiAgICAgIHBhc3N3b3JkVXBkYXRlZDogJ1Bhc3N3b3JkIHVwZGF0ZWQhIFlvdSBjYW4gbm93IHNpZ24gaW4uJyxcblxuICAgICAgLy8gTGVnYWxcbiAgICAgIGxlZ2FsUHJlZml4OiAnV2UgdXNlIHRoZSBzZXJ2aWNlcyBvZicsXG4gICAgICBsZWdhbFN1ZmZpeDogJ3RvIG9mZmVyIHlvdSBhIHNlY3VyZSBleHBlcmllbmNlLiBCeSBzaWduaW5nIGluLCB5b3UgYWNjZXB0IG91cicsXG4gICAgICB0ZXJtc0FuZENvbmRpdGlvbnM6ICdUZXJtcyBhbmQgQ29uZGl0aW9ucycsXG4gICAgICBhbmQ6ICdhbmQnLFxuICAgICAgcHJpdmFjeVBvbGljeTogJ1ByaXZhY3kgUG9saWN5JyxcblxuICAgICAgLy8gVG9hc3RzXG4gICAgICB3ZWxjb21lOiAnV2VsY29tZSEnLFxuICAgICAgY29tcGxldGVBbGxGaWVsZHM6ICdDb21wbGV0ZSBhbGwgZmllbGRzLicsXG4gICAgICBlbnRlckVtYWlsOiAnRW50ZXIgeW91ciBlbWFpbC4nLFxuXG4gICAgICAvLyBFcnJvcnNcbiAgICAgIGVycm9ySW52YWxpZENyZWRlbnRpYWxzOiAnSW5jb3JyZWN0IGVtYWlsIG9yIHBhc3N3b3JkJyxcbiAgICAgIGVycm9yRW1haWxOb3RWZXJpZmllZDogJ1lvdSBtdXN0IHZlcmlmeSB5b3VyIGVtYWlsJyxcbiAgICAgIGVycm9yQWNjb3VudFN1c3BlbmRlZDogJ1lvdXIgYWNjb3VudCBoYXMgYmVlbiBzdXNwZW5kZWQnLFxuICAgICAgZXJyb3JFbWFpbEV4aXN0czogJ1RoaXMgZW1haWwgaXMgYWxyZWFkeSByZWdpc3RlcmVkJyxcbiAgICAgIGVycm9yV2Vha1Bhc3N3b3JkOiAnUGFzc3dvcmQgaXMgdG9vIHdlYWsnLFxuICAgICAgZXJyb3JJbnZhbGlkQ29kZTogJ0luY29ycmVjdCBjb2RlJyxcbiAgICAgIGVycm9yRXhwaXJlZENvZGU6ICdDb2RlIGhhcyBleHBpcmVkLiBSZXF1ZXN0IGEgbmV3IG9uZS4nLFxuICAgICAgZXJyb3JUb29NYW55QXR0ZW1wdHM6ICdUb28gbWFueSBhdHRlbXB0cywgdHJ5IGFnYWluIGxhdGVyJyxcbiAgICAgIGVycm9yTUZBSW52YWxpZENvZGU6ICdJbmNvcnJlY3QgdmVyaWZpY2F0aW9uIGNvZGUnLFxuICAgICAgZXJyb3JQb3B1cEJsb2NrZWQ6ICdQbGVhc2UgYWxsb3cgcG9wLXVwcycsXG4gICAgICBlcnJvck9BdXRoRmFpbGVkOiAnQXV0aGVudGljYXRpb24gZXJyb3InLFxuICAgICAgZXJyb3JHZW5lcmljOiAnQW4gZXJyb3Igb2NjdXJyZWQuIFBsZWFzZSB0cnkgYWdhaW4uJyxcbiAgICB9LFxuICB9LFxuXG4gIEFwcENvbmZpZzoge1xuICAgIGVzOiB7XG4gICAgICAvLyBVcGRhdGUgYmFubmVyXG4gICAgICB1cGRhdGVBdmFpbGFibGU6ICdOdWV2YSB2ZXJzacOzbiBkaXNwb25pYmxlJyxcbiAgICAgIHVwZGF0ZU5vdzogJ0FjdHVhbGl6YXIgYWhvcmEnLFxuICAgICAgY2xpY2tUb1VwZGF0ZTogJ0hheiBjbGljIGFxdcOtIHBhcmEgYWN0dWFsaXphciBhIGxhIMO6bHRpbWEgdmVyc2nDs24nLFxuXG4gICAgICAvLyBNYWludGVuYW5jZSBwYWdlXG4gICAgICBtYWludGVuYW5jZU1vZGU6ICdTaXN0ZW1hIGVuIG1hbnRlbmltaWVudG8nLFxuICAgICAgbWFpbnRlbmFuY2VNZXNzYWdlOiAnRXN0YW1vcyByZWFsaXphbmRvIG1lam9yYXMuIFZ1ZWx2ZSBwcm9udG8uJyxcbiAgICB9LFxuICAgIGVuOiB7XG4gICAgICAvLyBVcGRhdGUgYmFubmVyXG4gICAgICB1cGRhdGVBdmFpbGFibGU6ICdOZXcgdmVyc2lvbiBhdmFpbGFibGUnLFxuICAgICAgdXBkYXRlTm93OiAnVXBkYXRlIG5vdycsXG4gICAgICBjbGlja1RvVXBkYXRlOiAnQ2xpY2sgaGVyZSB0byB1cGRhdGUgdG8gdGhlIGxhdGVzdCB2ZXJzaW9uJyxcblxuICAgICAgLy8gTWFpbnRlbmFuY2UgcGFnZVxuICAgICAgbWFpbnRlbmFuY2VNb2RlOiAnU3lzdGVtIHVuZGVyIG1haW50ZW5hbmNlJyxcbiAgICAgIG1haW50ZW5hbmNlTWVzc2FnZTogJ1dlIGFyZSBtYWtpbmcgaW1wcm92ZW1lbnRzLiBDb21lIGJhY2sgc29vbi4nLFxuICAgIH0sXG4gIH0sXG59O1xuIl19
|
|
517
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1jb250ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9pMThuL2RlZmF1bHQtY29udGVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkJHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQWlCO0lBQ25ELE9BQU8sRUFBRTtRQUNQLEVBQUUsRUFBRTtZQUNGLG1CQUFtQjtZQUNuQixNQUFNLEVBQUUsUUFBUTtZQUNoQixNQUFNLEVBQUUsVUFBVTtZQUNsQixJQUFJLEVBQUUsU0FBUztZQUNmLE1BQU0sRUFBRSxVQUFVO1lBQ2xCLElBQUksRUFBRSxRQUFRO1lBQ2QsS0FBSyxFQUFFLFFBQVE7WUFDZixJQUFJLEVBQUUsUUFBUTtZQUNkLElBQUksRUFBRSxXQUFXO1lBQ2pCLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLFNBQVMsRUFBRSxXQUFXO1lBRXRCLFVBQVU7WUFDVixPQUFPLEVBQUUsT0FBTztZQUNoQixLQUFLLEVBQUUsT0FBTztZQUNkLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLElBQUksRUFBRSxhQUFhO1lBRW5CLGlCQUFpQjtZQUNqQixhQUFhLEVBQUUsdUNBQXVDO1lBQ3RELGFBQWEsRUFBRSx1Q0FBdUM7WUFFdEQsbUJBQW1CO1lBQ25CLFNBQVMsRUFBRSw4QkFBOEI7WUFDekMsUUFBUSxFQUFFLHlCQUF5QjtZQUVuQyxhQUFhO1lBQ2IsSUFBSSxFQUFFLFFBQVE7WUFDZCxRQUFRLEVBQUUsZUFBZTtZQUN6QixPQUFPLEVBQUUsUUFBUTtZQUNqQixNQUFNLEVBQUUsZUFBZTtZQUV2QixVQUFVO1lBQ1YsZUFBZSxFQUFFLFNBQVM7WUFDMUIsZUFBZSxFQUFFLFNBQVM7WUFFMUIsZ0NBQWdDO1lBQ2hDLEVBQUUsRUFBRSxT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QTJCO1lBQ3JDLFNBQVMsRUFBRSxpQ0FBaUM7WUFDNUMsZUFBZSxFQUFFLHFDQUFxQztTQUN2RDtLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRlbnRTdG9yZSB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIFRyYWR1Y2Npb25lcyBwb3IgZGVmZWN0byBkZSB2YWx0ZWNoLWNvbXBvbmVudHMuXG4gKlxuICogRXN0YXMgdHJhZHVjY2lvbmVzIHNlIGNhcmdhbiBhdXRvbcOhdGljYW1lbnRlIGN1YW5kbyBzZSB1c2EgcHJvdmlkZVZhbHRlY2hJMThuKClcbiAqIHNpbiBuZWNlc2lkYWQgZGUgY29uZmlndXJhY2nDs24gYWRpY2lvbmFsLlxuICpcbiAqIExhcyBhcHBzIHB1ZWRlbiBzb2JyZXNjcmliaXIgY3VhbHF1aWVyIGtleSBwYXNhbmRvIHN1IHByb3BpbyBjb250ZW50OlxuICpcbiAqIEBleGFtcGxlIFNvYnJlc2NyaWJpciB0cmFkdWNjaW9uZXMgZXNwZWPDrWZpY2FzXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBwcm92aWRlVmFsdGVjaEkxOG4oe1xuICogICBjb250ZW50OiB7XG4gKiAgICAgX2dsb2JhbDoge1xuICogICAgICAgZXM6IHsgc3VjY2VzczogJ8KhTG8gaGljaW1vcyEnIH0sICAvLyBTb2JyZXNjcmliZSBzb2xvIGVzdGEga2V5XG4gKiAgICAgICBlbjogeyBzdWNjZXNzOiAnV2UgZGlkIGl0IScgfSxcbiAqICAgICB9LFxuICogICB9LFxuICogfSlcbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIERlc2FjdGl2YXIgdHJhZHVjY2lvbmVzIHBvciBkZWZlY3RvXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBwcm92aWRlVmFsdGVjaEkxOG4oe1xuICogICBpbmNsdWRlRGVmYXVsdENvbnRlbnQ6IGZhbHNlLFxuICogICBjb250ZW50OiBNWV9DVVNUT01fQ09OVEVOVCxcbiAqIH0pXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IFZBTFRFQ0hfREVGQVVMVF9DT05URU5UOiBDb250ZW50U3RvcmUgPSB7XG4gIF9nbG9iYWw6IHtcbiAgICBlczoge1xuICAgICAgLy8gQWNjaW9uZXMgY29tdW5lc1xuICAgICAgc3VibWl0OiAnRW52aWFyJyxcbiAgICAgIGNhbmNlbDogJ0NhbmNlbGFyJyxcbiAgICAgIHNhdmU6ICdHdWFyZGFyJyxcbiAgICAgIGRlbGV0ZTogJ0VsaW1pbmFyJyxcbiAgICAgIGVkaXQ6ICdFZGl0YXInLFxuICAgICAgY2xvc2U6ICdDZXJyYXInLFxuICAgICAgYmFjazogJ1ZvbHZlcicsXG4gICAgICBuZXh0OiAnU2lndWllbnRlJyxcbiAgICAgIHByZXZpb3VzOiAnQW50ZXJpb3InLFxuICAgICAgbG9hZGluZzogJ0NhcmdhbmRvLi4uJyxcbiAgICAgIHNlYXJjaDogJ0J1c2NhcicsXG4gICAgICBsZWFybk1vcmU6ICdTYWJlciBtw6FzJyxcblxuICAgICAgLy8gRXN0YWRvc1xuICAgICAgc3VjY2VzczogJ8OJeGl0bycsXG4gICAgICBlcnJvcjogJ0Vycm9yJyxcbiAgICAgIHdhcm5pbmc6ICdBZHZlcnRlbmNpYScsXG4gICAgICBpbmZvOiAnSW5mb3JtYWNpw7NuJyxcblxuICAgICAgLy8gQ29uZmlybWFjaW9uZXNcbiAgICAgIGNvbmZpcm1EZWxldGU6ICfCv0VzdMOhcyBzZWd1cm8gZGUgcXVlIGRlc2VhcyBlbGltaW5hcj8nLFxuICAgICAgY29uZmlybUNhbmNlbDogJ8K/RXN0w6FzIHNlZ3VybyBkZSBxdWUgZGVzZWFzIGNhbmNlbGFyPycsXG5cbiAgICAgIC8vIE1lbnNhamVzIGNvbXVuZXNcbiAgICAgIG5vUmVzdWx0czogJ05vIHNlIGVuY29udHJhcm9uIHJlc3VsdGFkb3MnLFxuICAgICAgcmVxdWlyZWQ6ICdFc3RlIGNhbXBvIGVzIHJlcXVlcmlkbycsXG5cbiAgICAgIC8vIE5hdmVnYWNpw7NuXG4gICAgICBob21lOiAnSW5pY2lvJyxcbiAgICAgIHNldHRpbmdzOiAnQ29uZmlndXJhY2nDs24nLFxuICAgICAgcHJvZmlsZTogJ1BlcmZpbCcsXG4gICAgICBsb2dvdXQ6ICdDZXJyYXIgc2VzacOzbicsXG5cbiAgICAgIC8vIElkaW9tYXNcbiAgICAgIGxhbmd1YWdlTmFtZV9lczogJ0VzcGHDsW9sJyxcbiAgICAgIGxhbmd1YWdlTmFtZV9lbjogJ0VuZ2xpc2gnLFxuXG4gICAgICAvLyBDb21wb25lbnRlcyAtIE1vZGFsZXMvU2VsZWN0c1xuICAgICAgb2s6ICdBY2VwdGFyJyxcbiAgICAgIHNlbGVjdE9wdGlvbjogJ1NlbGVjY2lvbmFyIG9wY2nDs24nLFxuICAgICAgc2VsZWN0UGxhY2Vob2xkZXI6ICdTZWxlY2Npb25hci4uLicsXG4gICAgICBpdGVtc1NlbGVjdGVkOiAnZWxlbWVudG9zIHNlbGVjY2lvbmFkb3MnLFxuICAgICAgc2VsZWN0QWxsOiAnU2VsZWNjaW9uYXIgdG9kb3MnLFxuICAgICAgY2xlYXI6ICdMaW1waWFyJyxcbiAgICAgIGFwcGx5OiAnQXBsaWNhcicsXG5cbiAgICAgIC8vIENvbXBvbmVudGVzIC0gRmVjaGFzXG4gICAgICBzdGFydERhdGU6ICdGZWNoYSBpbmljaW8nLFxuICAgICAgZW5kRGF0ZTogJ0ZlY2hhIGZpbicsXG4gICAgICBkYXk6ICdkw61hJyxcbiAgICAgIGRheXM6ICdkw61hcycsXG5cbiAgICAgIC8vIENvbXBvbmVudGVzIC0gRm9ybXVsYXJpb3NcbiAgICAgIHVwbG9hZEZpbGU6ICdTdWJpciBhcmNoaXZvJyxcbiAgICAgIG5vRmlsZVNlbGVjdGVkOiAnTm8gaGFzIHNlbGVjY2lvbmFkbyBhcmNoaXZvJyxcbiAgICAgIHRpdGxlOiAnVMOtdHVsbycsXG4gICAgICBkZXNjcmlwdGlvbjogJ0Rlc2NyaXBjacOzbicsXG4gICAgICBmZWVkYmFja1R5cGU6ICdUaXBvIGRlIGZlZWRiYWNrJyxcbiAgICAgIGZlZWRiYWNrU3VjY2VzczogJ0ZlZWRiYWNrIGVudmlhZG8gZXhpdG9zYW1lbnRlJyxcbiAgICAgIGZlZWRiYWNrRXJyb3I6ICdFcnJvciBhbCBlbnZpYXIgZWwgZmVlZGJhY2snLFxuICAgICAgdGl0bGVQbGFjZWhvbGRlcjogJ0Rlc2NyaWJlIGJyZXZlbWVudGUuLi4nLFxuICAgICAgdGl0bGVWYWxpZGF0aW9uOiAnRWwgdMOtdHVsbyBkZWJlIHRlbmVyIGVudHJlIDUgeSAyMDAgY2FyYWN0ZXJlcycsXG4gICAgICBkZXNjcmlwdGlvblBsYWNlaG9sZGVyOiAnUHJvcG9yY2lvbmEgbcOhcyBkZXRhbGxlcy4uLicsXG4gICAgICBkZXNjcmlwdGlvblZhbGlkYXRpb246ICdMYSBkZXNjcmlwY2nDs24gZGViZSB0ZW5lciBlbnRyZSAxMCB5IDUwMDAgY2FyYWN0ZXJlcycsXG5cbiAgICAgIC8vIENvbXBvbmVudGVzIC0gQsO6c3F1ZWRhL0dyaWRcbiAgICAgIHNlYXJjaE51bWJlcjogJ0J1c2NhciBuw7ptZXJvLi4uJyxcbiAgICAgIHNlbGVjdGVkOiAnc2VsZWNjaW9uYWRvL3MnLFxuICAgICAgbWF4OiAnbcOheDonLFxuXG4gICAgICAvLyBDb21wb25lbnRlcyAtIExpc3Rhc1xuICAgICAgbG9hZE1vcmVDb21tZW50czogJ0NhcmdhciBtw6FzIGNvbWVudGFyaW9zJyxcbiAgICAgIG5vRGF0YTogJ05vIGhheSBkYXRvcycsXG4gICAgICBub1JlY29yZHNGb3VuZDogJ05vIHNlIGVuY29udHJhcm9uIHJlZ2lzdHJvcyBwYXJhIG1vc3RyYXIuJyxcblxuICAgICAgLy8gQ29tcG9uZW50ZXMgLSBBY2Npb25lc1xuICAgICAgY29waWVkVG9DbGlwYm9hcmQ6ICfCoUNvcGlhZG8gYWwgcG9ydGFwYXBlbGVzIScsXG4gICAgICBsYW5ndWFnZTogJ0lkaW9tYScsXG4gICAgICBzZWxlY3RMYW5ndWFnZTogJ1NlbGVjY2lvbmFyIGlkaW9tYS4uLicsXG4gICAgICBkb3dubG9hZDogJ0Rlc2NhcmdhcicsXG4gICAgICBjb3B5OiAnQ29waWFyJyxcbiAgICAgIHNoYXJlOiAnQ29tcGFydGlyJyxcblxuICAgICAgLy8gQ29tcG9uZW50ZXMgLSBEYXRhIFRhYmxlIC8gUGFnaW5hY2nDs25cbiAgICAgIGFjdGlvbnM6ICdBY2Npb25lcycsXG4gICAgICBzaG93aW5nOiAnTW9zdHJhbmRvJyxcbiAgICAgIG9mOiAnZGUnLFxuICAgICAgcGVyUGFnZTogJ3BvciBww6FnaW5hJyxcbiAgICAgIGZpcnN0UGFnZTogJ1ByaW1lcmEgcMOhZ2luYScsXG4gICAgICBwcmV2aW91c1BhZ2U6ICdQw6FnaW5hIGFudGVyaW9yJyxcbiAgICAgIG5leHRQYWdlOiAnUMOhZ2luYSBzaWd1aWVudGUnLFxuICAgICAgbGFzdFBhZ2U6ICfDmmx0aW1hIHDDoWdpbmEnLFxuXG4gICAgICAvLyBDb21wb25lbnRlcyAtIFBhcnRpY2lwYW50IENhcmRcbiAgICAgIHdpbm5lcjogJ0dhbmFkb3InLFxuICAgICAgdGlja2V0OiAnYm9sZXRvJyxcbiAgICAgIHRpY2tldHM6ICdib2xldG9zJyxcbiAgICAgIG1vcmU6ICdtw6FzJyxcbiAgICAgIG5vdGVzOiAnTm90YXM6JyxcblxuICAgICAgLy8gRm9vdGVyXG4gICAgICBhbGxSaWdodHNSZXNlcnZlZDogJ1RvZG9zIGxvcyBkZXJlY2hvcyByZXNlcnZhZG9zLicsXG5cbiAgICAgIC8vIENsaXBib2FyZFxuICAgICAgbGlua0NvcGllZDogJ8KhRW5sYWNlIGNvcGlhZG8hJyxcblxuICAgICAgLy8gU2VsZWN0aW9uXG4gICAgICBzZWxlY3Q6ICdTZWxlY2Npb25hcicsXG4gICAgICBzZWxlY3RPcHRpb25zOiAnU2VsZWNjaW9uYXIgb3BjaW9uZXMnLFxuXG4gICAgICAvLyBDb21tZW50c1xuICAgICAgcGlubmVkOiAnRmlqYWRvJyxcbiAgICAgIGVkaXRlZDogJyhlZGl0YWRvKScsXG4gICAgICBzaG93Q29tbWVudDogJ01vc3RyYXIgY29tZW50YXJpbycsXG4gICAgICBoaWRlUmVwbGllczogJ09jdWx0YXIgcmVzcHVlc3RhcycsXG4gICAgICBsb2FkTW9yZVJlcGxpZXM6ICdDYXJnYXIgbcOhcyByZXNwdWVzdGFzJyxcbiAgICAgIHZpZXdSZXBsaWVzOiAnVmVyIHJlc3B1ZXN0YXMnLFxuICAgICAgY29tbWVudHM6ICdDb21lbnRhcmlvcycsXG4gICAgICBub0NvbW1lbnRzWWV0OiAnU2luIGNvbWVudGFyaW9zIGHDum4nLFxuICAgICAgcHVibGlzaDogJ1B1YmxpY2FyJyxcbiAgICAgIHNvcnRCeTogJ09yZGVuYXIgcG9yJyxcbiAgICAgIHdyaXRlQ29tbWVudDogJ0VzY3JpYmUgdW4gY29tZW50YXJpby4uLicsXG4gICAgICBiZUZpcnN0VG9Db21tZW50OiAnwqFTw6kgZWwgcHJpbWVybyBlbiBjb21wYXJ0aXIgdHUgb3BpbmnDs24hJyxcblxuICAgICAgLy8gVGltZXN0YW1wc1xuICAgICAganVzdE5vdzogJ0Fob3JhIG1pc21vJyxcbiAgICAgIG1pbnV0ZXNBZ286ICdoYWNlIHttaW51dGVzfW0nLFxuICAgICAgaG91cnNBZ286ICdoYWNlIHtob3Vyc31oJyxcbiAgICAgIGRheXNBZ286ICdoYWNlIHtkYXlzfWQnLFxuXG4gICAgICAvLyBMaXN0c1xuICAgICAgbG9hZE1vcmU6ICdDYXJnYXIgbcOhcycsXG4gICAgICBub01vcmVJdGVtczogJ05vIGhheSBtw6FzIGl0ZW1zJyxcbiAgICAgIGxvYWRpbmdJdGVtczogJ0NhcmdhbmRvIGl0ZW1zLi4uJyxcbiAgICAgIGFsbEl0ZW1zTG9hZGVkOiAnVG9kb3MgbG9zIGl0ZW1zIGhhbiBzaWRvIGNhcmdhZG9zJyxcbiAgICAgIGVycm9yT2NjdXJyZWQ6ICdPY3VycmnDsyB1biBlcnJvcicsXG4gICAgICByZXRyeTogJ1JlaW50ZW50YXInLFxuXG4gICAgICAvLyBOYXZpZ2F0aW9uXG4gICAgICBzZWVNb3JlOiAnVmVyIG3DoXMnLFxuXG4gICAgICAvLyBGb3JtcyAtIFJhbmdlXG4gICAgICBmcm9tOiAnSW5pY2lhbCcsXG4gICAgICB0bzogJ0ZpbmFsJyxcblxuICAgICAgLy8gU3RlcHBlclxuICAgICAgZGVjcmVhc2U6ICdEaXNtaW51aXInLFxuICAgICAgaW5jcmVhc2U6ICdBdW1lbnRhcicsXG5cbiAgICAgIC8vIE1pc2NcbiAgICAgIHJhbmRvbTogJ0FsZWF0b3JpbycsXG4gICAgICBwdWxsVG9SZWZyZXNoOiAnQXJyYXN0cmEgcGFyYSBhY3R1YWxpemFyJyxcbiAgICAgIHRpbWVFeHBpcmVkOiAnVGllbXBvIGFnb3RhZG8nLFxuICAgICAgcXJDb2RlOiAnQ8OzZGlnbyBRUicsXG5cbiAgICAgIC8vIFBheW1lbnQgc3RhdHVzXG4gICAgICBwYXltZW50UGVuZGluZzogJ1BlbmRpZW50ZScsXG4gICAgICBwYXltZW50UHJvY2Vzc2luZzogJ1Byb2Nlc2FuZG8nLFxuICAgICAgcGF5bWVudFBhaWQ6ICdQYWdhZG8nLFxuICAgICAgcGF5bWVudFJlZnVuZGVkOiAnUmVlbWJvbHNhZG8nLFxuICAgICAgcGF5bWVudEZhaWxlZDogJ0ZhbGxpZG8nLFxuICAgIH0sXG4gICAgZW46IHtcbiAgICAgIC8vIENvbW1vbiBhY3Rpb25zXG4gICAgICBzdWJtaXQ6ICdTdWJtaXQnLFxuICAgICAgY2FuY2VsOiAnQ2FuY2VsJyxcbiAgICAgIHNhdmU6ICdTYXZlJyxcbiAgICAgIGRlbGV0ZTogJ0RlbGV0ZScsXG4gICAgICBlZGl0OiAnRWRpdCcsXG4gICAgICBjbG9zZTogJ0Nsb3NlJyxcbiAgICAgIGJhY2s6ICdCYWNrJyxcbiAgICAgIG5leHQ6ICdOZXh0JyxcbiAgICAgIHByZXZpb3VzOiAnUHJldmlvdXMnLFxuICAgICAgbG9hZGluZzogJ0xvYWRpbmcuLi4nLFxuICAgICAgc2VhcmNoOiAnU2VhcmNoJyxcbiAgICAgIGxlYXJuTW9yZTogJ0xlYXJuIG1vcmUnLFxuXG4gICAgICAvLyBTdGF0ZXNcbiAgICAgIHN1Y2Nlc3M6ICdTdWNjZXNzJyxcbiAgICAgIGVycm9yOiAnRXJyb3InLFxuICAgICAgd2FybmluZzogJ1dhcm5pbmcnLFxuICAgICAgaW5mbzogJ0luZm9ybWF0aW9uJyxcblxuICAgICAgLy8gQ29uZmlybWF0aW9uc1xuICAgICAgY29uZmlybURlbGV0ZTogJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGU/JyxcbiAgICAgIGNvbmZpcm1DYW5jZWw6ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY2FuY2VsPycsXG5cbiAgICAgIC8vIENvbW1vbiBtZXNzYWdlc1xuICAgICAgbm9SZXN1bHRzOiAnTm8gcmVzdWx0cyBmb3VuZCcsXG4gICAgICByZXF1aXJlZDogJ1RoaXMgZmllbGQgaXMgcmVxdWlyZWQnLFxuXG4gICAgICAvLyBOYXZpZ2F0aW9uXG4gICAgICBob21lOiAnSG9tZScsXG4gICAgICBzZXR0aW5nczogJ1NldHRpbmdzJyxcbiAgICAgIHByb2ZpbGU6ICdQcm9maWxlJyxcbiAgICAgIGxvZ291dDogJ0xvZyBvdXQnLFxuXG4gICAgICAvLyBMYW5ndWFnZXNcbiAgICAgIGxhbmd1YWdlTmFtZV9lczogJ0VzcGHDsW9sJyxcbiAgICAgIGxhbmd1YWdlTmFtZV9lbjogJ0VuZ2xpc2gnLFxuXG4gICAgICAvLyBDb21wb25lbnRzIC0gTW9kYWxzL1NlbGVjdHNcbiAgICAgIG9rOiAnT0snLFxuICAgICAgc2VsZWN0T3B0aW9uOiAnU2VsZWN0IG9wdGlvbicsXG4gICAgICBzZWxlY3RQbGFjZWhvbGRlcjogJ1NlbGVjdC4uLicsXG4gICAgICBpdGVtc1NlbGVjdGVkOiAnaXRlbXMgc2VsZWN0ZWQnLFxuICAgICAgc2VsZWN0QWxsOiAnU2VsZWN0IGFsbCcsXG4gICAgICBjbGVhcjogJ0NsZWFyJyxcbiAgICAgIGFwcGx5OiAnQXBwbHknLFxuXG4gICAgICAvLyBDb21wb25lbnRzIC0gRGF0ZXNcbiAgICAgIHN0YXJ0RGF0ZTogJ1N0YXJ0IGRhdGUnLFxuICAgICAgZW5kRGF0ZTogJ0VuZCBkYXRlJyxcbiAgICAgIGRheTogJ2RheScsXG4gICAgICBkYXlzOiAnZGF5cycsXG5cbiAgICAgIC8vIENvbXBvbmVudHMgLSBGb3Jtc1xuICAgICAgdXBsb2FkRmlsZTogJ1VwbG9hZCBmaWxlJyxcbiAgICAgIG5vRmlsZVNlbGVjdGVkOiAnTm8gZmlsZSBzZWxlY3RlZCcsXG4gICAgICB0aXRsZTogJ1RpdGxlJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24nLFxuICAgICAgZmVlZGJhY2tUeXBlOiAnRmVlZGJhY2sgdHlwZScsXG4gICAgICBmZWVkYmFja1N1Y2Nlc3M6ICdGZWVkYmFjayBzZW50IHN1Y2Nlc3NmdWxseScsXG4gICAgICBmZWVkYmFja0Vycm9yOiAnRXJyb3Igc2VuZGluZyBmZWVkYmFjaycsXG4gICAgICB0aXRsZVBsYWNlaG9sZGVyOiAnRGVzY3JpYmUgYnJpZWZseS4uLicsXG4gICAgICB0aXRsZVZhbGlkYXRpb246ICdUaXRsZSBtdXN0IGJlIGJldHdlZW4gNSBhbmQgMjAwIGNoYXJhY3RlcnMnLFxuICAgICAgZGVzY3JpcHRpb25QbGFjZWhvbGRlcjogJ1Byb3ZpZGUgbW9yZSBkZXRhaWxzLi4uJyxcbiAgICAgIGRlc2NyaXB0aW9uVmFsaWRhdGlvbjogJ0Rlc2NyaXB0aW9uIG11c3QgYmUgYmV0d2VlbiAxMCBhbmQgNTAwMCBjaGFyYWN0ZXJzJyxcblxuICAgICAgLy8gQ29tcG9uZW50cyAtIFNlYXJjaC9HcmlkXG4gICAgICBzZWFyY2hOdW1iZXI6ICdTZWFyY2ggbnVtYmVyLi4uJyxcbiAgICAgIHNlbGVjdGVkOiAnc2VsZWN0ZWQnLFxuICAgICAgbWF4OiAnbWF4OicsXG5cbiAgICAgIC8vIENvbXBvbmVudHMgLSBMaXN0c1xuICAgICAgbG9hZE1vcmVDb21tZW50czogJ0xvYWQgbW9yZSBjb21tZW50cycsXG4gICAgICBub0RhdGE6ICdObyBkYXRhJyxcbiAgICAgIG5vUmVjb3Jkc0ZvdW5kOiAnTm8gcmVjb3JkcyBmb3VuZCB0byBkaXNwbGF5LicsXG5cbiAgICAgIC8vIENvbXBvbmVudHMgLSBBY3Rpb25zXG4gICAgICBjb3BpZWRUb0NsaXBib2FyZDogJ0NvcGllZCB0byBjbGlwYm9hcmQhJyxcbiAgICAgIGxhbmd1YWdlOiAnTGFuZ3VhZ2UnLFxuICAgICAgc2VsZWN0TGFuZ3VhZ2U6ICdTZWxlY3QgbGFuZ3VhZ2UuLi4nLFxuICAgICAgZG93bmxvYWQ6ICdEb3dubG9hZCcsXG4gICAgICBjb3B5OiAnQ29weScsXG4gICAgICBzaGFyZTogJ1NoYXJlJyxcblxuICAgICAgLy8gQ29tcG9uZW50cyAtIERhdGEgVGFibGUgLyBQYWdpbmF0aW9uXG4gICAgICBhY3Rpb25zOiAnQWN0aW9ucycsXG4gICAgICBzaG93aW5nOiAnU2hvd2luZycsXG4gICAgICBvZjogJ29mJyxcbiAgICAgIHBlclBhZ2U6ICdwZXIgcGFnZScsXG4gICAgICBmaXJzdFBhZ2U6ICdGaXJzdCBwYWdlJyxcbiAgICAgIHByZXZpb3VzUGFnZTogJ1ByZXZpb3VzIHBhZ2UnLFxuICAgICAgbmV4dFBhZ2U6ICdOZXh0IHBhZ2UnLFxuICAgICAgbGFzdFBhZ2U6ICdMYXN0IHBhZ2UnLFxuXG4gICAgICAvLyBDb21wb25lbnRzIC0gUGFydGljaXBhbnQgQ2FyZFxuICAgICAgd2lubmVyOiAnV2lubmVyJyxcbiAgICAgIHRpY2tldDogJ3RpY2tldCcsXG4gICAgICB0aWNrZXRzOiAndGlja2V0cycsXG4gICAgICBtb3JlOiAnbW9yZScsXG4gICAgICBub3RlczogJ05vdGVzOicsXG5cbiAgICAgIC8vIEZvb3RlclxuICAgICAgYWxsUmlnaHRzUmVzZXJ2ZWQ6ICdBbGwgcmlnaHRzIHJlc2VydmVkLicsXG5cbiAgICAgIC8vIENsaXBib2FyZFxuICAgICAgbGlua0NvcGllZDogJ0xpbmsgY29waWVkIScsXG5cbiAgICAgIC8vIFNlbGVjdGlvblxuICAgICAgc2VsZWN0OiAnU2VsZWN0JyxcbiAgICAgIHNlbGVjdE9wdGlvbnM6ICdTZWxlY3Qgb3B0aW9ucycsXG5cbiAgICAgIC8vIENvbW1lbnRzXG4gICAgICBwaW5uZWQ6ICdQaW5uZWQnLFxuICAgICAgZWRpdGVkOiAnKGVkaXRlZCknLFxuICAgICAgc2hvd0NvbW1lbnQ6ICdTaG93IGNvbW1lbnQnLFxuICAgICAgaGlkZVJlcGxpZXM6ICdIaWRlIHJlcGxpZXMnLFxuICAgICAgbG9hZE1vcmVSZXBsaWVzOiAnTG9hZCBtb3JlIHJlcGxpZXMnLFxuICAgICAgdmlld1JlcGxpZXM6ICdWaWV3IHJlcGxpZXMnLFxuICAgICAgY29tbWVudHM6ICdDb21tZW50cycsXG4gICAgICBub0NvbW1lbnRzWWV0OiAnTm8gY29tbWVudHMgeWV0JyxcbiAgICAgIHB1Ymxpc2g6ICdQdWJsaXNoJyxcbiAgICAgIHNvcnRCeTogJ1NvcnQgYnknLFxuICAgICAgd3JpdGVDb21tZW50OiAnV3JpdGUgYSBjb21tZW50Li4uJyxcbiAgICAgIGJlRmlyc3RUb0NvbW1lbnQ6ICdCZSB0aGUgZmlyc3QgdG8gc2hhcmUgeW91ciB0aG91Z2h0cyEnLFxuXG4gICAgICAvLyBUaW1lc3RhbXBzXG4gICAgICBqdXN0Tm93OiAnSnVzdCBub3cnLFxuICAgICAgbWludXRlc0FnbzogJ3ttaW51dGVzfW0gYWdvJyxcbiAgICAgIGhvdXJzQWdvOiAne2hvdXJzfWggYWdvJyxcbiAgICAgIGRheXNBZ286ICd7ZGF5c31kIGFnbycsXG5cbiAgICAgIC8vIExpc3RzXG4gICAgICBsb2FkTW9yZTogJ0xvYWQgbW9yZScsXG4gICAgICBub01vcmVJdGVtczogJ05vIG1vcmUgaXRlbXMnLFxuICAgICAgbG9hZGluZ0l0ZW1zOiAnTG9hZGluZyBpdGVtcy4uLicsXG4gICAgICBhbGxJdGVtc0xvYWRlZDogJ0FsbCBpdGVtcyBsb2FkZWQnLFxuICAgICAgZXJyb3JPY2N1cnJlZDogJ0FuIGVycm9yIG9jY3VycmVkJyxcbiAgICAgIHJldHJ5OiAnUmV0cnknLFxuXG4gICAgICAvLyBOYXZpZ2F0aW9uXG4gICAgICBzZWVNb3JlOiAnU2VlIG1vcmUnLFxuXG4gICAgICAvLyBGb3JtcyAtIFJhbmdlXG4gICAgICBmcm9tOiAnRnJvbScsXG4gICAgICB0bzogJ1RvJyxcblxuICAgICAgLy8gU3RlcHBlclxuICAgICAgZGVjcmVhc2U6ICdEZWNyZWFzZScsXG4gICAgICBpbmNyZWFzZTogJ0luY3JlYXNlJyxcblxuICAgICAgLy8gTWlzY1xuICAgICAgcmFuZG9tOiAnUmFuZG9tJyxcbiAgICAgIHB1bGxUb1JlZnJlc2g6ICdQdWxsIHRvIHJlZnJlc2gnLFxuICAgICAgdGltZUV4cGlyZWQ6ICdUaW1lIGV4cGlyZWQnLFxuICAgICAgcXJDb2RlOiAnUVIgQ29kZScsXG5cbiAgICAgIC8vIFBheW1lbnQgc3RhdHVzXG4gICAgICBwYXltZW50UGVuZGluZzogJ1BlbmRpbmcnLFxuICAgICAgcGF5bWVudFByb2Nlc3Npbmc6ICdQcm9jZXNzaW5nJyxcbiAgICAgIHBheW1lbnRQYWlkOiAnUGFpZCcsXG4gICAgICBwYXltZW50UmVmdW5kZWQ6ICdSZWZ1bmRlZCcsXG4gICAgICBwYXltZW50RmFpbGVkOiAnRmFpbGVkJyxcbiAgICB9LFxuICB9LFxuXG4gIF9hdXRoOiB7XG4gICAgZXM6IHtcbiAgICAgIC8vIExvZ2luXG4gICAgICBsb2dpblRpdGxlOiAnSW5pY2lhciBzZXNpw7NuJyxcbiAgICAgIGVtYWlsOiAnQ29ycmVvIGVsZWN0csOzbmljbycsXG4gICAgICBlbWFpbFBsYWNlaG9sZGVyOiAndHVAZW1haWwuY29tJyxcbiAgICAgIGVtYWlsUmVxdWlyZWQ6ICdFbCBjb3JyZW8gZXMgcmVxdWVyaWRvJyxcbiAgICAgIGVtYWlsSW52YWxpZDogJ0luZ3Jlc2EgdW4gY29ycmVvIHbDoWxpZG8nLFxuICAgICAgcGFzc3dvcmQ6ICdDb250cmFzZcOxYScsXG4gICAgICBwYXNzd29yZFBsYWNlaG9sZGVyOiAn4oCi4oCi4oCi4oCi4oCi4oCi4oCi4oCiJyxcbiAgICAgIHBhc3N3b3JkUmVxdWlyZWQ6ICdMYSBjb250cmFzZcOxYSBlcyByZXF1ZXJpZGEnLFxuICAgICAgbG9naW5TdWJtaXQ6ICdJbmljaWFyIHNlc2nDs24nLFxuXG4gICAgICAvLyBPQXV0aFxuICAgICAgb3JDb250aW51ZVdpdGg6ICdvIGNvbnRpbsO6YSBjb24nLFxuICAgICAgY29udGludWVXaXRoR29vZ2xlOiAnQ29udGludWFyIGNvbiBHb29nbGUnLFxuICAgICAgY29udGludWVXaXRoQXBwbGU6ICdDb250aW51YXIgY29uIEFwcGxlJyxcbiAgICAgIGNvbnRpbnVlV2l0aE1pY3Jvc29mdDogJ0NvbnRpbnVhciBjb24gTWljcm9zb2Z0JyxcbiAgICAgIGNvbm5lY3Rpbmc6ICdDb25lY3RhbmRvLi4uJyxcblxuICAgICAgLy8gUmVnaXN0ZXJcbiAgICAgIHJlZ2lzdGVyVGl0bGU6ICdDcmVhciBjdWVudGEnLFxuICAgICAgZnVsbE5hbWU6ICdOb21icmUgY29tcGxldG8nLFxuICAgICAgbmFtZVBsYWNlaG9sZGVyOiAnVHUgbm9tYnJlJyxcbiAgICAgIG5hbWVSZXF1aXJlZDogJ0VsIG5vbWJyZSBlcyByZXF1ZXJpZG8nLFxuICAgICAgbmFtZU1pbkxlbmd0aDogJ03DrW5pbW8gMiBjYXJhY3RlcmVzJyxcbiAgICAgIHBhc3N3b3JkTWluTGVuZ3RoOiAnTcOtbmltbyA4IGNhcmFjdGVyZXMnLFxuICAgICAgcmVnaXN0ZXJTdWJtaXQ6ICdSZWdpc3RyYXJzZScsXG4gICAgICBub0FjY291bnQ6ICfCv05vIHRpZW5lcyBjdWVudGE/JyxcbiAgICAgIHJlZ2lzdGVyOiAnUmVnaXN0cmFyc2UnLFxuICAgICAgaGFzQWNjb3VudDogJ8K/WWEgdGllbmVzIGN1ZW50YT8nLFxuICAgICAgc2lnbkluOiAnSW5pY2lhciBzZXNpw7NuJyxcblxuICAgICAgLy8gVmVyaWZ5IGVtYWlsXG4gICAgICB2ZXJpZnlUaXRsZTogJ1ZlcmlmaWNhciBjb3JyZW8nLFxuICAgICAgdmVyaWZ5RGVzY3JpcHRpb246ICdJbmdyZXNhIGVsIGPDs2RpZ28gZGUgdmVyaWZpY2FjacOzbiBlbnZpYWRvIGEgdHUgY29ycmVvLicsXG4gICAgICB2ZXJpZnlTdWJtaXQ6ICdWZXJpZmljYXInLFxuICAgICAgY29kZVJlcXVpcmVkOiAnRWwgY8OzZGlnbyBlcyByZXF1ZXJpZG8nLFxuICAgICAgY29kZU1pbkxlbmd0aDogJ0luZ3Jlc2EgbG9zIDYgZMOtZ2l0b3MnLFxuICAgICAgbm9Db2RlUmVjZWl2ZWQ6ICfCv05vIGhhcyByZWNpYmlkbyB0dSBjw7NkaWdvPycsXG4gICAgICByZXNlbmQ6ICdSZWVudmlhcicsXG4gICAgICByZXNlbmRJbjogJ1JlZW52aWFyIGVuIHtzZWNvbmRzfXMnLFxuICAgICAgY29kZVNlbnQ6ICdDw7NkaWdvIHJlZW52aWFkby4gUmV2aXNhIHR1IGVtYWlsLicsXG4gICAgICBlbWFpbFZlcmlmaWVkOiAnwqFFbWFpbCB2ZXJpZmljYWRvISBCaWVudmVuaWRvLicsXG5cbiAgICAgIC8vIE1GQVxuICAgICAgbWZhVGl0bGU6ICdWZXJpZmljYWNpw7NuIE1GQScsXG4gICAgICBtZmFUT1RQOiAnSW5ncmVzYSBlbCBjw7NkaWdvIGRlIHR1IGFwcCBkZSBhdXRlbnRpY2FjacOzbicsXG4gICAgICBtZmFFbWFpbDogJ0luZ3Jlc2EgZWwgY8OzZGlnbyBlbnZpYWRvIGEgdHUgY29ycmVvJyxcbiAgICAgIG1mYVNNUzogJ0luZ3Jlc2EgZWwgY8OzZGlnbyBlbnZpYWRvIGEgdHUgdGVsw6lmb25vJyxcblxuICAgICAgLy8gRm9yZ290L1Jlc2V0IHBhc3N3b3JkXG4gICAgICBmb3Jnb3RUaXRsZTogJ1JlY3VwZXJhciBjb250cmFzZcOxYScsXG4gICAgICBmb3Jnb3REZXNjcmlwdGlvbjogJ0luZ3Jlc2EgdHUgY29ycmVvIGVsZWN0csOzbmljbyB5IHRlIGVudmlhcmVtb3MgdW4gY8OzZGlnby4nLFxuICAgICAgZm9yZ290U3VibWl0OiAnRW52aWFyIGPDs2RpZ28nLFxuICAgICAgZm9yZ290TGluazogJ8K/T2x2aWRhc3RlIHR1IGNvbnRyYXNlw7FhPycsXG4gICAgICByZWNvdmVyUGFzc3dvcmQ6ICdSZWN1cGVyYXIgY29udHJhc2XDsWEnLFxuICAgICAgcmVzZXRUaXRsZTogJ1Jlc3RhYmxlY2VyIGNvbnRyYXNlw7FhJyxcbiAgICAgIHJlc2V0RGVzY3JpcHRpb246ICdIZW1vcyBlbnZpYWRvIHVuIGPDs2RpZ28gZGUgdmVyaWZpY2FjacOzbiBhIHR1IGNvcnJlby4nLFxuICAgICAgbmV3UGFzc3dvcmQ6ICdOdWV2YSBjb250cmFzZcOxYScsXG4gICAgICBuZXdQYXNzd29yZEhpbnQ6ICdNw61uaW1vIDggY2FyYWN0ZXJlcycsXG4gICAgICByZXNldFN1Ym1pdDogJ0NhbWJpYXIgY29udHJhc2XDsWEnLFxuICAgICAgcGFzc3dvcmRVcGRhdGVkOiAnwqFDb250cmFzZcOxYSBhY3R1YWxpemFkYSEgWWEgcHVlZGVzIGluaWNpYXIgc2VzacOzbi4nLFxuXG4gICAgICAvLyBMZWdhbFxuICAgICAgbGVnYWxQcmVmaXg6ICdVdGlsaXphbW9zIGxvcyBzZXJ2aWNpb3MgZGUnLFxuICAgICAgbGVnYWxTdWZmaXg6XG4gICAgICAgICdwYXJhIG9mcmVjZXJ0ZSB1bmEgZXhwZXJpZW5jaWEgc2VndXJhLiBBbCBpbmljaWFyIHNlc2nDs24sIGFjZXB0YXMgbnVlc3Ryb3MnLFxuICAgICAgdGVybXNBbmRDb25kaXRpb25zOiAnVMOpcm1pbm9zIHkgQ29uZGljaW9uZXMnLFxuICAgICAgYW5kOiAneScsXG4gICAgICBwcml2YWN5UG9saWN5OiAnUG9sw610aWNhIGRlIFByaXZhY2lkYWQnLFxuXG4gICAgICAvLyBUb2FzdHNcbiAgICAgIHdlbGNvbWU6ICfCoUJpZW52ZW5pZG8hJyxcbiAgICAgIGNvbXBsZXRlQWxsRmllbGRzOiAnQ29tcGxldGEgdG9kb3MgbG9zIGNhbXBvcy4nLFxuICAgICAgZW50ZXJFbWFpbDogJ0luZ3Jlc2EgdHUgY29ycmVvIGVsZWN0csOzbmljby4nLFxuXG4gICAgICAvLyBFcnJvcnMgKG1hcGVhZG9zIGRlIGPDs2RpZ29zIGJhY2tlbmQpXG4gICAgICBlcnJvckludmFsaWRDcmVkZW50aWFsczogJ0NvcnJlbyBvIGNvbnRyYXNlw7FhIGluY29ycmVjdG9zJyxcbiAgICAgIGVycm9yRW1haWxOb3RWZXJpZmllZDogJ0RlYmVzIHZlcmlmaWNhciB0dSBjb3JyZW8gZWxlY3Ryw7NuaWNvJyxcbiAgICAgIGVycm9yQWNjb3VudFN1c3BlbmRlZDogJ1R1IGN1ZW50YSBoYSBzaWRvIHN1c3BlbmRpZGEnLFxuICAgICAgZXJyb3JFbWFpbEV4aXN0czogJ0VzdGUgY29ycmVvIHlhIGVzdMOhIHJlZ2lzdHJhZG8nLFxuICAgICAgZXJyb3JXZWFrUGFzc3dvcmQ6ICdMYSBjb250cmFzZcOxYSBlcyBtdXkgZMOpYmlsJyxcbiAgICAgIGVycm9ySW52YWxpZENvZGU6ICdDw7NkaWdvIGluY29ycmVjdG8nLFxuICAgICAgZXJyb3JFeHBpcmVkQ29kZTogJ0VsIGPDs2RpZ28gaGEgZXhwaXJhZG8uIFNvbGljaXRhIHVubyBudWV2by4nLFxuICAgICAgZXJyb3JUb29NYW55QXR0ZW1wdHM6ICdEZW1hc2lhZG9zIGludGVudG9zLCBpbnRlbnRhIG3DoXMgdGFyZGUnLFxuICAgICAgZXJyb3JNRkFJbnZhbGlkQ29kZTogJ0PDs2RpZ28gZGUgdmVyaWZpY2FjacOzbiBpbmNvcnJlY3RvJyxcbiAgICAgIGVycm9yUG9wdXBCbG9ja2VkOiAnUG9yIGZhdm9yLCBwZXJtaXRlIHZlbnRhbmFzIGVtZXJnZW50ZXMnLFxuICAgICAgZXJyb3JPQXV0aEZhaWxlZDogJ0Vycm9yIGRlIGF1dGVudGljYWNpw7NuJyxcbiAgICAgIGVycm9yR2VuZXJpYzogJ0hhIG9jdXJyaWRvIHVuIGVycm9yLiBJbnRlbnRhIGRlIG51ZXZvLicsXG4gICAgfSxcbiAgICBlbjoge1xuICAgICAgLy8gTG9naW5cbiAgICAgIGxvZ2luVGl0bGU6ICdTaWduIGluJyxcbiAgICAgIGVtYWlsOiAnRW1haWwnLFxuICAgICAgZW1haWxQbGFjZWhvbGRlcjogJ3lvdUBlbWFpbC5jb20nLFxuICAgICAgZW1haWxSZXF1aXJlZDogJ0VtYWlsIGlzIHJlcXVpcmVkJyxcbiAgICAgIGVtYWlsSW52YWxpZDogJ0VudGVyIGEgdmFsaWQgZW1haWwnLFxuICAgICAgcGFzc3dvcmQ6ICdQYXNzd29yZCcsXG4gICAgICBwYXNzd29yZFBsYWNlaG9sZGVyOiAn4oCi4oCi4oCi4oCi4oCi4oCi4oCi4oCiJyxcbiAgICAgIHBhc3N3b3JkUmVxdWlyZWQ6ICdQYXNzd29yZCBpcyByZXF1aXJlZCcsXG4gICAgICBsb2dpblN1Ym1pdDogJ1NpZ24gaW4nLFxuXG4gICAgICAvLyBPQXV0aFxuICAgICAgb3JDb250aW51ZVdpdGg6ICdvciBjb250aW51ZSB3aXRoJyxcbiAgICAgIGNvbnRpbnVlV2l0aEdvb2dsZTogJ0NvbnRpbnVlIHdpdGggR29vZ2xlJyxcbiAgICAgIGNvbnRpbnVlV2l0aEFwcGxlOiAnQ29udGludWUgd2l0aCBBcHBsZScsXG4gICAgICBjb250aW51ZVdpdGhNaWNyb3NvZnQ6ICdDb250aW51ZSB3aXRoIE1pY3Jvc29mdCcsXG4gICAgICBjb25uZWN0aW5nOiAnQ29ubmVjdGluZy4uLicsXG5cbiAgICAgIC8vIFJlZ2lzdGVyXG4gICAgICByZWdpc3RlclRpdGxlOiAnQ3JlYXRlIGFjY291bnQnLFxuICAgICAgZnVsbE5hbWU6ICdGdWxsIG5hbWUnLFxuICAgICAgbmFtZVBsYWNlaG9sZGVyOiAnWW91ciBuYW1lJyxcbiAgICAgIG5hbWVSZXF1aXJlZDogJ05hbWUgaXMgcmVxdWlyZWQnLFxuICAgICAgbmFtZU1pbkxlbmd0aDogJ01pbmltdW0gMiBjaGFyYWN0ZXJzJyxcbiAgICAgIHBhc3N3b3JkTWluTGVuZ3RoOiAnTWluaW11bSA4IGNoYXJhY3RlcnMnLFxuICAgICAgcmVnaXN0ZXJTdWJtaXQ6ICdTaWduIHVwJyxcbiAgICAgIG5vQWNjb3VudDogXCJEb24ndCBoYXZlIGFuIGFjY291bnQ/XCIsXG4gICAgICByZWdpc3RlcjogJ1NpZ24gdXAnLFxuICAgICAgaGFzQWNjb3VudDogJ0FscmVhZHkgaGF2ZSBhbiBhY2NvdW50PycsXG4gICAgICBzaWduSW46ICdTaWduIGluJyxcblxuICAgICAgLy8gVmVyaWZ5IGVtYWlsXG4gICAgICB2ZXJpZnlUaXRsZTogJ1ZlcmlmeSBlbWFpbCcsXG4gICAgICB2ZXJpZnlEZXNjcmlwdGlvbjogJ0VudGVyIHRoZSB2ZXJpZmljYXRpb24gY29kZSBzZW50IHRvIHlvdXIgZW1haWwuJyxcbiAgICAgIHZlcmlmeVN1Ym1pdDogJ1ZlcmlmeScsXG4gICAgICBjb2RlUmVxdWlyZWQ6ICdDb2RlIGlzIHJlcXVpcmVkJyxcbiAgICAgIGNvZGVNaW5MZW5ndGg6ICdFbnRlciBhbGwgNiBkaWdpdHMnLFxuICAgICAgbm9Db2RlUmVjZWl2ZWQ6IFwiRGlkbid0IHJlY2VpdmUgeW91ciBjb2RlP1wiLFxuICAgICAgcmVzZW5kOiAnUmVzZW5kJyxcbiAgICAgIHJlc2VuZEluOiAnUmVzZW5kIGluIHtzZWNvbmRzfXMnLFxuICAgICAgY29kZVNlbnQ6ICdDb2RlIHJlc2VudC4gQ2hlY2sgeW91ciBlbWFpbC4nLFxuICAgICAgZW1haWxWZXJpZmllZDogJ0VtYWlsIHZlcmlmaWVkISBXZWxjb21lLicsXG5cbiAgICAgIC8vIE1GQVxuICAgICAgbWZhVGl0bGU6ICdNRkEgVmVyaWZpY2F0aW9uJyxcbiAgICAgIG1mYVRPVFA6ICdFbnRlciB0aGUgY29kZSBmcm9tIHlvdXIgYXV0aGVudGljYXRvciBhcHAnLFxuICAgICAgbWZhRW1haWw6ICdFbnRlciB0aGUgY29kZSBzZW50IHRvIHlvdXIgZW1haWwnLFxuICAgICAgbWZhU01TOiAnRW50ZXIgdGhlIGNvZGUgc2VudCB0byB5b3VyIHBob25lJyxcblxuICAgICAgLy8gRm9yZ290L1Jlc2V0IHBhc3N3b3JkXG4gICAgICBmb3Jnb3RUaXRsZTogJ1JlY292ZXIgcGFzc3dvcmQnLFxuICAgICAgZm9yZ290RGVzY3JpcHRpb246ICdFbnRlciB5b3VyIGVtYWlsIGFuZCB3ZSB3aWxsIHNlbmQgeW91IGEgY29kZS4nLFxuICAgICAgZm9yZ290U3VibWl0OiAnU2VuZCBjb2RlJyxcbiAgICAgIGZvcmdvdExpbms6ICdGb3Jnb3QgeW91ciBwYXNzd29yZD8nLFxuICAgICAgcmVjb3ZlclBhc3N3b3JkOiAnUmVjb3ZlciBwYXNzd29yZCcsXG4gICAgICByZXNldFRpdGxlOiAnUmVzZXQgcGFzc3dvcmQnLFxuICAgICAgcmVzZXREZXNjcmlwdGlvbjogJ1dlIGhhdmUgc2VudCBhIHZlcmlmaWNhdGlvbiBjb2RlIHRvIHlvdXIgZW1haWwuJyxcbiAgICAgIG5ld1Bhc3N3b3JkOiAnTmV3IHBhc3N3b3JkJyxcbiAgICAgIG5ld1Bhc3N3b3JkSGludDogJ01pbmltdW0gOCBjaGFyYWN0ZXJzJyxcbiAgICAgIHJlc2V0U3VibWl0OiAnQ2hhbmdlIHBhc3N3b3JkJyxcbiAgICAgIHBhc3N3b3JkVXBkYXRlZDogJ1Bhc3N3b3JkIHVwZGF0ZWQhIFlvdSBjYW4gbm93IHNpZ24gaW4uJyxcblxuICAgICAgLy8gTGVnYWxcbiAgICAgIGxlZ2FsUHJlZml4OiAnV2UgdXNlIHRoZSBzZXJ2aWNlcyBvZicsXG4gICAgICBsZWdhbFN1ZmZpeDogJ3RvIG9mZmVyIHlvdSBhIHNlY3VyZSBleHBlcmllbmNlLiBCeSBzaWduaW5nIGluLCB5b3UgYWNjZXB0IG91cicsXG4gICAgICB0ZXJtc0FuZENvbmRpdGlvbnM6ICdUZXJtcyBhbmQgQ29uZGl0aW9ucycsXG4gICAgICBhbmQ6ICdhbmQnLFxuICAgICAgcHJpdmFjeVBvbGljeTogJ1ByaXZhY3kgUG9saWN5JyxcblxuICAgICAgLy8gVG9hc3RzXG4gICAgICB3ZWxjb21lOiAnV2VsY29tZSEnLFxuICAgICAgY29tcGxldGVBbGxGaWVsZHM6ICdDb21wbGV0ZSBhbGwgZmllbGRzLicsXG4gICAgICBlbnRlckVtYWlsOiAnRW50ZXIgeW91ciBlbWFpbC4nLFxuXG4gICAgICAvLyBFcnJvcnNcbiAgICAgIGVycm9ySW52YWxpZENyZWRlbnRpYWxzOiAnSW5jb3JyZWN0IGVtYWlsIG9yIHBhc3N3b3JkJyxcbiAgICAgIGVycm9yRW1haWxOb3RWZXJpZmllZDogJ1lvdSBtdXN0IHZlcmlmeSB5b3VyIGVtYWlsJyxcbiAgICAgIGVycm9yQWNjb3VudFN1c3BlbmRlZDogJ1lvdXIgYWNjb3VudCBoYXMgYmVlbiBzdXNwZW5kZWQnLFxuICAgICAgZXJyb3JFbWFpbEV4aXN0czogJ1RoaXMgZW1haWwgaXMgYWxyZWFkeSByZWdpc3RlcmVkJyxcbiAgICAgIGVycm9yV2Vha1Bhc3N3b3JkOiAnUGFzc3dvcmQgaXMgdG9vIHdlYWsnLFxuICAgICAgZXJyb3JJbnZhbGlkQ29kZTogJ0luY29ycmVjdCBjb2RlJyxcbiAgICAgIGVycm9yRXhwaXJlZENvZGU6ICdDb2RlIGhhcyBleHBpcmVkLiBSZXF1ZXN0IGEgbmV3IG9uZS4nLFxuICAgICAgZXJyb3JUb29NYW55QXR0ZW1wdHM6ICdUb28gbWFueSBhdHRlbXB0cywgdHJ5IGFnYWluIGxhdGVyJyxcbiAgICAgIGVycm9yTUZBSW52YWxpZENvZGU6ICdJbmNvcnJlY3QgdmVyaWZpY2F0aW9uIGNvZGUnLFxuICAgICAgZXJyb3JQb3B1cEJsb2NrZWQ6ICdQbGVhc2UgYWxsb3cgcG9wLXVwcycsXG4gICAgICBlcnJvck9BdXRoRmFpbGVkOiAnQXV0aGVudGljYXRpb24gZXJyb3InLFxuICAgICAgZXJyb3JHZW5lcmljOiAnQW4gZXJyb3Igb2NjdXJyZWQuIFBsZWFzZSB0cnkgYWdhaW4uJyxcbiAgICB9LFxuICB9LFxuXG4gIEFwcENvbmZpZzoge1xuICAgIGVzOiB7XG4gICAgICAvLyBVcGRhdGUgYmFubmVyXG4gICAgICB1cGRhdGVBdmFpbGFibGU6ICdOdWV2YSB2ZXJzacOzbiBkaXNwb25pYmxlJyxcbiAgICAgIHVwZGF0ZU5vdzogJ0FjdHVhbGl6YXIgYWhvcmEnLFxuICAgICAgY2xpY2tUb1VwZGF0ZTogJ0hheiBjbGljIGFxdcOtIHBhcmEgYWN0dWFsaXphciBhIGxhIMO6bHRpbWEgdmVyc2nDs24nLFxuXG4gICAgICAvLyBNYWludGVuYW5jZSBwYWdlXG4gICAgICBtYWludGVuYW5jZU1vZGU6ICdTaXN0ZW1hIGVuIG1hbnRlbmltaWVudG8nLFxuICAgICAgbWFpbnRlbmFuY2VNZXNzYWdlOiAnRXN0YW1vcyByZWFsaXphbmRvIG1lam9yYXMuIFZ1ZWx2ZSBwcm9udG8uJyxcbiAgICB9LFxuICAgIGVuOiB7XG4gICAgICAvLyBVcGRhdGUgYmFubmVyXG4gICAgICB1cGRhdGVBdmFpbGFibGU6ICdOZXcgdmVyc2lvbiBhdmFpbGFibGUnLFxuICAgICAgdXBkYXRlTm93OiAnVXBkYXRlIG5vdycsXG4gICAgICBjbGlja1RvVXBkYXRlOiAnQ2xpY2sgaGVyZSB0byB1cGRhdGUgdG8gdGhlIGxhdGVzdCB2ZXJzaW9uJyxcblxuICAgICAgLy8gTWFpbnRlbmFuY2UgcGFnZVxuICAgICAgbWFpbnRlbmFuY2VNb2RlOiAnU3lzdGVtIHVuZGVyIG1haW50ZW5hbmNlJyxcbiAgICAgIG1haW50ZW5hbmNlTWVzc2FnZTogJ1dlIGFyZSBtYWtpbmcgaW1wcm92ZW1lbnRzLiBDb21lIGJhY2sgc29vbi4nLFxuICAgIH0sXG4gIH0sXG5cbiAgQ29udGVudFJlYWN0aW9uOiB7XG4gICAgZXM6IHtcbiAgICAgIHF1ZXN0aW9uOiAnwr9UZSByZXN1bHTDsyDDunRpbCBlc3RlIGNvbnRlbmlkbz8nLFxuICAgICAgY29tbWVudFBsYWNlaG9sZGVyOiAnQ3XDqW50YW5vcyBtw6FzIChvcGNpb25hbCkuLi4nLFxuICAgICAgc3VibWl0OiAnRW52aWFyJyxcbiAgICAgIHVwZGF0ZTogJ0FjdHVhbGl6YXInLFxuICAgICAgdGhhbmtZb3U6ICfCoUdyYWNpYXMgcG9yIHR1IG9waW5pw7NuIScsXG4gICAgICBzdWJtaXR0ZWQ6ICdUdSBvcGluacOzbiBoYSBzaWRvIHJlZ2lzdHJhZGEnLFxuICAgICAgZXJyb3JTdWJtaXR0aW5nOiAnRXJyb3IgYWwgZW52aWFyLiBJbnRlbnRhIGRlIG51ZXZvLicsXG4gICAgfSxcbiAgICBlbjoge1xuICAgICAgcXVlc3Rpb246ICdXYXMgdGhpcyBjb250ZW50IGhlbHBmdWw/JyxcbiAgICAgIGNvbW1lbnRQbGFjZWhvbGRlcjogJ1RlbGwgdXMgbW9yZSAob3B0aW9uYWwpLi4uJyxcbiAgICAgIHN1Ym1pdDogJ1N1Ym1pdCcsXG4gICAgICB1cGRhdGU6ICdVcGRhdGUnLFxuICAgICAgdGhhbmtZb3U6ICdUaGFua3MgZm9yIHlvdXIgZmVlZGJhY2shJyxcbiAgICAgIHN1Ym1pdHRlZDogJ1lvdXIgZmVlZGJhY2sgaGFzIGJlZW4gcmVjb3JkZWQnLFxuICAgICAgZXJyb3JTdWJtaXR0aW5nOiAnRXJyb3Igc3VibWl0dGluZy4gUGxlYXNlIHRyeSBhZ2Fpbi4nLFxuICAgIH0sXG4gIH0sXG59O1xuIl19
|
package/esm2022/lib/version.mjs
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Current version of valtech-components.
|
|
3
3
|
* This is automatically updated during the publish process.
|
|
4
4
|
*/
|
|
5
|
-
export const VERSION = '2.0.
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
export const VERSION = '2.0.684';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzIuMC42ODQnO1xuIl19
|
|
@@ -50,7 +50,7 @@ import 'prismjs/components/prism-json';
|
|
|
50
50
|
* Current version of valtech-components.
|
|
51
51
|
* This is automatically updated during the publish process.
|
|
52
52
|
*/
|
|
53
|
-
const VERSION = '2.0.
|
|
53
|
+
const VERSION = '2.0.684';
|
|
54
54
|
|
|
55
55
|
/**
|
|
56
56
|
* Servicio para gestionar presets de componentes.
|
|
@@ -4246,6 +4246,26 @@ const VALTECH_DEFAULT_CONTENT = {
|
|
|
4246
4246
|
maintenanceMessage: 'We are making improvements. Come back soon.',
|
|
4247
4247
|
},
|
|
4248
4248
|
},
|
|
4249
|
+
ContentReaction: {
|
|
4250
|
+
es: {
|
|
4251
|
+
question: '¿Te resultó útil este contenido?',
|
|
4252
|
+
commentPlaceholder: 'Cuéntanos más (opcional)...',
|
|
4253
|
+
submit: 'Enviar',
|
|
4254
|
+
update: 'Actualizar',
|
|
4255
|
+
thankYou: '¡Gracias por tu opinión!',
|
|
4256
|
+
submitted: 'Tu opinión ha sido registrada',
|
|
4257
|
+
errorSubmitting: 'Error al enviar. Intenta de nuevo.',
|
|
4258
|
+
},
|
|
4259
|
+
en: {
|
|
4260
|
+
question: 'Was this content helpful?',
|
|
4261
|
+
commentPlaceholder: 'Tell us more (optional)...',
|
|
4262
|
+
submit: 'Submit',
|
|
4263
|
+
update: 'Update',
|
|
4264
|
+
thankYou: 'Thanks for your feedback!',
|
|
4265
|
+
submitted: 'Your feedback has been recorded',
|
|
4266
|
+
errorSubmitting: 'Error submitting. Please try again.',
|
|
4267
|
+
},
|
|
4268
|
+
},
|
|
4249
4269
|
};
|
|
4250
4270
|
|
|
4251
4271
|
/**
|
|
@@ -38403,35 +38423,38 @@ class FeedbackService {
|
|
|
38403
38423
|
* ```
|
|
38404
38424
|
*/
|
|
38405
38425
|
async checkFeedback(entityType, entityId) {
|
|
38426
|
+
// Si no hay usuario autenticado, no puede haber feedback previo
|
|
38427
|
+
// Retornar inmediatamente sin llamar al API (evita 401 y redirect a login)
|
|
38428
|
+
const userId = this.auth?.user()?.userId;
|
|
38429
|
+
if (!userId) {
|
|
38430
|
+
return { operationId: '', hasFeedback: false };
|
|
38431
|
+
}
|
|
38406
38432
|
// 1. Intentar Firebase primero (si está disponible)
|
|
38407
|
-
if (this.firestore
|
|
38433
|
+
if (this.firestore) {
|
|
38408
38434
|
try {
|
|
38409
|
-
|
|
38410
|
-
|
|
38411
|
-
|
|
38412
|
-
|
|
38413
|
-
|
|
38414
|
-
|
|
38415
|
-
|
|
38416
|
-
|
|
38417
|
-
|
|
38418
|
-
|
|
38419
|
-
|
|
38420
|
-
|
|
38421
|
-
|
|
38422
|
-
createdAt: doc.createdAt?.toISOString(),
|
|
38423
|
-
};
|
|
38424
|
-
}
|
|
38425
|
-
// Doc no existe = no hay feedback
|
|
38426
|
-
return { operationId: '', hasFeedback: false };
|
|
38435
|
+
// Path: feedback/{entityType}/{entityId}/{userId}
|
|
38436
|
+
// FirestoreService agrega automáticamente el prefijo apps/{appId}/
|
|
38437
|
+
const collectionPath = `feedback/${entityType}/${entityId}`;
|
|
38438
|
+
const doc = await this.firestore.getDoc(collectionPath, userId);
|
|
38439
|
+
if (doc) {
|
|
38440
|
+
return {
|
|
38441
|
+
operationId: '',
|
|
38442
|
+
hasFeedback: true,
|
|
38443
|
+
feedbackId: doc.feedbackId,
|
|
38444
|
+
type: doc.type,
|
|
38445
|
+
reactionValue: doc.reactionValue,
|
|
38446
|
+
createdAt: doc.createdAt?.toISOString(),
|
|
38447
|
+
};
|
|
38427
38448
|
}
|
|
38449
|
+
// Doc no existe = no hay feedback
|
|
38450
|
+
return { operationId: '', hasFeedback: false };
|
|
38428
38451
|
}
|
|
38429
38452
|
catch (error) {
|
|
38430
38453
|
console.warn('[FeedbackService] Firebase check failed, falling back to API:', error);
|
|
38431
38454
|
// Fallback a API
|
|
38432
38455
|
}
|
|
38433
38456
|
}
|
|
38434
|
-
// 2. Fallback: llamar API
|
|
38457
|
+
// 2. Fallback: llamar API (solo si hay usuario autenticado)
|
|
38435
38458
|
const params = new URLSearchParams({
|
|
38436
38459
|
appId: this.config.appId,
|
|
38437
38460
|
entityType,
|