valtech-components 4.0.595 → 4.0.597

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.
@@ -1,6 +1,6 @@
1
1
  import { Injectable, inject } from '@angular/core';
2
2
  import { Auth } from '@angular/fire/auth';
3
- import { Firestore, doc, onSnapshot, serverTimestamp, setDoc } from '@angular/fire/firestore';
3
+ import { Firestore, doc, onSnapshot, setDoc } from '@angular/fire/firestore';
4
4
  import { Observable, from, of, switchMap } from 'rxjs';
5
5
  import { FirebaseService } from '../../../services/firebase/firebase.service';
6
6
  import * as i0 from "@angular/core";
@@ -48,11 +48,9 @@ export class ChessimalsAdventureProgressService {
48
48
  };
49
49
  const totalStars = Object.values(completedNodes).reduce((s, n) => s + n.stars, 0);
50
50
  await setDoc(this.progressRef(uid), {
51
- userId: uid,
52
51
  completedNodes,
53
52
  totalStars,
54
53
  updatedAt: new Date().toISOString(),
55
- updatedAtServer: serverTimestamp(),
56
54
  }, { merge: true });
57
55
  }
58
56
  empty() {
@@ -76,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
76
74
  type: Injectable,
77
75
  args: [{ providedIn: 'root' }]
78
76
  }] });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlc3NpbWFscy1hZHZlbnR1cmUtcHJvZ3Jlc3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvbWluaS1nYW1lcy9jaGVzc2ltYWxzLWFkdmVudHVyZS1wcm9ncmVzcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlGLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOztBQUk5RSxNQUFNLE9BQU8sa0NBQWtDO0lBRC9DO1FBRW1CLGlCQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLGNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztLQWtGckQ7SUFoRkMsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUM7SUFDNUMsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ3JELFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDYixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQzVCLElBQUks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Q3BCLGNBQWMsRUFBRSxLQUFLLENBQUMsY0FBYyxJQUFJLEVBQUU7WUFDMUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVLElBQUksQ0FBQztZQUNqQyxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVMsSUFBSSxFQUFFO1NBQ2pDLENBQUM7SUFDSixDQUFDO0lBRU8sV0FBVyxDQUFDLEdBQVc7UUFDN0IsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLEdBQUcsMENBQTBDLENBQUMsQ0FBQztJQUNyRixDQUFDOytHQXBGVSxrQ0FBa0M7bUhBQWxDLGtDQUFrQyxjQURyQixNQUFNOzs0RkFDbkIsa0NBQWtDO2tCQUQ5QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aCB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYXV0aCc7XG5pbXBvcnQgeyBGaXJlc3RvcmUsIGRvYywgb25TbmFwc2hvdCwgc2VydmVyVGltZXN0YW1wLCBzZXREb2MgfSBmcm9tICdAYW5ndWxhci9maXJlL2ZpcmVzdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZpcmViYXNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ZpcmViYXNlL2ZpcmViYXNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hlc3NpbWFsc0FkdmVudHVyZU5vZGVSZXN1bHQsIENoZXNzaW1hbHNBZHZlbnR1cmVQcm9ncmVzcyB9IGZyb20gJy4vdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIENoZXNzaW1hbHNBZHZlbnR1cmVQcm9ncmVzc1NlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGZpcmViYXNlQXV0aCA9IGluamVjdChBdXRoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBmaXJlc3RvcmUgPSBpbmplY3QoRmlyZXN0b3JlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBmaXJlYmFzZSA9IGluamVjdChGaXJlYmFzZVNlcnZpY2UpO1xuXG4gIGdldCBjdXJyZW50VWlkKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZmlyZWJhc2VBdXRoLmN1cnJlbnRVc2VyPy51aWQ7XG4gIH1cblxuICB3YXRjaFByb2dyZXNzKCk6IE9ic2VydmFibGU8Q2hlc3NpbWFsc0FkdmVudHVyZVByb2dyZXNzIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGZyb20odGhpcy5maXJlYmFzZS53aGVuRmlyZWJhc2VBdXRoUmVhZHkoKSkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHVpZCA9IHRoaXMuY3VycmVudFVpZDtcbiAgICAgICAgaWYgKCF1aWQpIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8Q2hlc3NpbWFsc0FkdmVudHVyZVByb2dyZXNzIHwgdW5kZWZpbmVkPihzdWJzY3JpYmVyID0+IHtcbiAgICAgICAgICBjb25zdCB1bnN1YnNjcmliZSA9IG9uU25hcHNob3QoXG4gICAgICAgICAgICB0aGlzLnByb2dyZXNzUmVmKHVpZCksXG4gICAgICAgICAgICBzbmFwID0+XG4gICAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dChcbiAgICAgICAgICAgICAgICBzbmFwLmV4aXN0cygpXG4gICAgICAgICAgICAgICAgICA/IHRoaXMubm9ybWFsaXplKHNuYXAuZGF0YSgpIGFzIFBhcnRpYWw8Q2hlc3NpbWFsc0FkdmVudHVyZVByb2dyZXNzPilcbiAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICBlcnIgPT4gc3Vic2NyaWJlci5lcnJvcihlcnIpXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gdW5zdWJzY3JpYmU7XG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgcmVjb3JkTm9kZUNvbXBsZXRlZChub2RlSWQ6IHN0cmluZywgc3RhcnM6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuZmlyZWJhc2Uud2hlbkZpcmViYXNlQXV0aFJlYWR5KCk7XG4gICAgY29uc3QgdWlkID0gdGhpcy5maXJlYmFzZUF1dGguY3VycmVudFVzZXI/LnVpZDtcbiAgICBpZiAoIXVpZCkgdGhyb3cgbmV3IEVycm9yKCdBRFZFTlRVUkVfTE9HSU5fUkVRVUlSRUQnKTtcblxuICAgIGNvbnN0IHNuYXAgPSBhd2FpdCBuZXcgUHJvbWlzZTxDaGVzc2ltYWxzQWR2ZW50dXJlUHJvZ3Jlc3M+KHJlc29sdmUgPT4ge1xuICAgICAgY29uc3QgdW5zdWIgPSBvblNuYXBzaG90KHRoaXMucHJvZ3Jlc3NSZWYodWlkKSwgcyA9PiB7XG4gICAgICAgIHVuc3ViKCk7XG4gICAgICAgIHJlc29sdmUoXG4gICAgICAgICAgcy5leGlzdHMoKVxuICAgICAgICAgICAgPyB0aGlzLm5vcm1hbGl6ZShzLmRhdGEoKSBhcyBQYXJ0aWFsPENoZXNzaW1hbHNBZHZlbnR1cmVQcm9ncmVzcz4pXG4gICAgICAgICAgICA6IHRoaXMuZW1wdHkoKVxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBwcmV2ID0gc25hcC5jb21wbGV0ZWROb2Rlc1tub2RlSWRdO1xuICAgIGlmIChwcmV2ICYmIHByZXYuc3RhcnMgPj0gc3RhcnMpIHJldHVybjtcblxuICAgIGNvbnN0IGNvbXBsZXRlZE5vZGVzOiBSZWNvcmQ8c3RyaW5nLCBDaGVzc2ltYWxzQWR2ZW50dXJlTm9kZVJlc3VsdD4gPSB7XG4gICAgICAuLi5zbmFwLmNvbXBsZXRlZE5vZGVzLFxuICAgICAgW25vZGVJZF06IHsgc3RhcnMsIGNvbXBsZXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkgfSxcbiAgICB9O1xuICAgIGNvbnN0IHRvdGFsU3RhcnMgPSBPYmplY3QudmFsdWVzKGNvbXBsZXRlZE5vZGVzKS5yZWR1Y2UoKHMsIG4pID0+IHMgKyBuLnN0YXJzLCAwKTtcblxuICAgIGF3YWl0IHNldERvYyhcbiAgICAgIHRoaXMucHJvZ3Jlc3NSZWYodWlkKSxcbiAgICAgIHtcbiAgICAgICAgdXNlcklkOiB1aWQsXG4gICAgICAgIGNvbXBsZXRlZE5vZGVzLFxuICAgICAgICB0b3RhbFN0YXJzLFxuICAgICAgICB1cGRhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgdXBkYXRlZEF0U2VydmVyOiBzZXJ2ZXJUaW1lc3RhbXAoKSxcbiAgICAgIH0sXG4gICAgICB7IG1lcmdlOiB0cnVlIH1cbiAgICApO1xuICB9XG5cbiAgZW1wdHkoKTogQ2hlc3NpbWFsc0FkdmVudHVyZVByb2dyZXNzIHtcbiAgICByZXR1cm4geyBjb21wbGV0ZWROb2Rlczoge30sIHRvdGFsU3RhcnM6IDAsIHVwZGF0ZWRBdDogJycgfTtcbiAgfVxuXG4gIHByaXZhdGUgbm9ybWFsaXplKHZhbHVlOiBQYXJ0aWFsPENoZXNzaW1hbHNBZHZlbnR1cmVQcm9ncmVzcz4pOiBDaGVzc2ltYWxzQWR2ZW50dXJlUHJvZ3Jlc3Mge1xuICAgIHJldHVybiB7XG4gICAgICB1c2VySWQ6IHZhbHVlLnVzZXJJZCxcbiAgICAgIGNvbXBsZXRlZE5vZGVzOiB2YWx1ZS5jb21wbGV0ZWROb2RlcyA/PyB7fSxcbiAgICAgIHRvdGFsU3RhcnM6IHZhbHVlLnRvdGFsU3RhcnMgPz8gMCxcbiAgICAgIHVwZGF0ZWRBdDogdmFsdWUudXBkYXRlZEF0ID8/ICcnLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHByb2dyZXNzUmVmKHVpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGRvYyh0aGlzLmZpcmVzdG9yZSwgYHVzZXJzLyR7dWlkfS9taW5pR2FtZXMvY2hlc3NpbWFscy9hZHZlbnR1cmUvcHJvZ3Jlc3NgKTtcbiAgfVxufVxuIl19
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlc3NpbWFscy1hZHZlbnR1cmUtcHJvZ3Jlc3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvbWluaS1nYW1lcy9jaGVzc2ltYWxzLWFkdmVudHVyZS1wcm9ncmVzcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkNBQTZDLENBQUM7O0FBSTlFLE1BQU0sT0FBTyxrQ0FBa0M7SUFEL0M7UUFFbUIsaUJBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsY0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QixhQUFRLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0tBZ0ZyRDtJQTlFQyxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQztJQUM1QyxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDckQsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNiLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDNUIsSUFBSSxDQUFDLEdBQUc7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QUFLLENBQUMsVUFBVSxJQUFJLENBQUM7WUFDakMsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLElBQUksRUFBRTtTQUNqQyxDQUFDO0lBQ0osQ0FBQztJQUVPLFdBQVcsQ0FBQyxHQUFXO1FBQzdCLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsU0FBUyxHQUFHLDBDQUEwQyxDQUFDLENBQUM7SUFDckYsQ0FBQzsrR0FsRlUsa0NBQWtDO21IQUFsQyxrQ0FBa0MsY0FEckIsTUFBTTs7NEZBQ25CLGtDQUFrQztrQkFEOUMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF1dGggfSBmcm9tICdAYW5ndWxhci9maXJlL2F1dGgnO1xuaW1wb3J0IHsgRmlyZXN0b3JlLCBkb2MsIG9uU25hcHNob3QsIHNldERvYyB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZmlyZXN0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZyb20sIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRmlyZWJhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZmlyZWJhc2UvZmlyZWJhc2Uuc2VydmljZSc7XG5pbXBvcnQgeyBDaGVzc2ltYWxzQWR2ZW50dXJlTm9kZVJlc3VsdCwgQ2hlc3NpbWFsc0FkdmVudHVyZVByb2dyZXNzIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQ2hlc3NpbWFsc0FkdmVudHVyZVByb2dyZXNzU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZmlyZWJhc2VBdXRoID0gaW5qZWN0KEF1dGgpO1xuICBwcml2YXRlIHJlYWRvbmx5IGZpcmVzdG9yZSA9IGluamVjdChGaXJlc3RvcmUpO1xuICBwcml2YXRlIHJlYWRvbmx5IGZpcmViYXNlID0gaW5qZWN0KEZpcmViYXNlU2VydmljZSk7XG5cbiAgZ2V0IGN1cnJlbnRVaWQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5maXJlYmFzZUF1dGguY3VycmVudFVzZXI/LnVpZDtcbiAgfVxuXG4gIHdhdGNoUHJvZ3Jlc3MoKTogT2JzZXJ2YWJsZTxDaGVzc2ltYWxzQWR2ZW50dXJlUHJvZ3Jlc3MgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gZnJvbSh0aGlzLmZpcmViYXNlLndoZW5GaXJlYmFzZUF1dGhSZWFkeSgpKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgY29uc3QgdWlkID0gdGhpcy5jdXJyZW50VWlkO1xuICAgICAgICBpZiAoIXVpZCkgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxDaGVzc2ltYWxzQWR2ZW50dXJlUHJvZ3Jlc3MgfCB1bmRlZmluZWQ+KHN1YnNjcmliZXIgPT4ge1xuICAgICAgICAgIGNvbnN0IHVuc3Vic2NyaWJlID0gb25TbmFwc2hvdChcbiAgICAgICAgICAgIHRoaXMucHJvZ3Jlc3NSZWYodWlkKSxcbiAgICAgICAgICAgIHNuYXAgPT5cbiAgICAgICAgICAgICAgc3Vic2NyaWJlci5uZXh0KFxuICAgICAgICAgICAgICAgIHNuYXAuZXhpc3RzKClcbiAgICAgICAgICAgICAgICAgID8gdGhpcy5ub3JtYWxpemUoc25hcC5kYXRhKCkgYXMgUGFydGlhbDxDaGVzc2ltYWxzQWR2ZW50dXJlUHJvZ3Jlc3M+KVxuICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGVyciA9PiBzdWJzY3JpYmVyLmVycm9yKGVycilcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybiB1bnN1YnNjcmliZTtcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBhc3luYyByZWNvcmROb2RlQ29tcGxldGVkKG5vZGVJZDogc3RyaW5nLCBzdGFyczogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5maXJlYmFzZS53aGVuRmlyZWJhc2VBdXRoUmVhZHkoKTtcbiAgICBjb25zdCB1aWQgPSB0aGlzLmZpcmViYXNlQXV0aC5jdXJyZW50VXNlcj8udWlkO1xuICAgIGlmICghdWlkKSB0aHJvdyBuZXcgRXJyb3IoJ0FEVkVOVFVSRV9MT0dJTl9SRVFVSVJFRCcpO1xuXG4gICAgY29uc3Qgc25hcCA9IGF3YWl0IG5ldyBQcm9taXNlPENoZXNzaW1hbHNBZHZlbnR1cmVQcm9ncmVzcz4ocmVzb2x2ZSA9PiB7XG4gICAgICBjb25zdCB1bnN1YiA9IG9uU25hcHNob3QodGhpcy5wcm9ncmVzc1JlZih1aWQpLCBzID0+IHtcbiAgICAgICAgdW5zdWIoKTtcbiAgICAgICAgcmVzb2x2ZShcbiAgICAgICAgICBzLmV4aXN0cygpXG4gICAgICAgICAgICA/IHRoaXMubm9ybWFsaXplKHMuZGF0YSgpIGFzIFBhcnRpYWw8Q2hlc3NpbWFsc0FkdmVudHVyZVByb2dyZXNzPilcbiAgICAgICAgICAgIDogdGhpcy5lbXB0eSgpXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHByZXYgPSBzbmFwLmNvbXBsZXRlZE5vZGVzW25vZGVJZF07XG4gICAgaWYgKHByZXYgJiYgcHJldi5zdGFycyA+PSBzdGFycykgcmV0dXJuO1xuXG4gICAgY29uc3QgY29tcGxldGVkTm9kZXM6IFJlY29yZDxzdHJpbmcsIENoZXNzaW1hbHNBZHZlbnR1cmVOb2RlUmVzdWx0PiA9IHtcbiAgICAgIC4uLnNuYXAuY29tcGxldGVkTm9kZXMsXG4gICAgICBbbm9kZUlkXTogeyBzdGFycywgY29tcGxldGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSB9LFxuICAgIH07XG4gICAgY29uc3QgdG90YWxTdGFycyA9IE9iamVjdC52YWx1ZXMoY29tcGxldGVkTm9kZXMpLnJlZHVjZSgocywgbikgPT4gcyArIG4uc3RhcnMsIDApO1xuXG4gICAgYXdhaXQgc2V0RG9jKFxuICAgICAgdGhpcy5wcm9ncmVzc1JlZih1aWQpLFxuICAgICAge1xuICAgICAgICBjb21wbGV0ZWROb2RlcyxcbiAgICAgICAgdG90YWxTdGFycyxcbiAgICAgICAgdXBkYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICB9LFxuICAgICAgeyBtZXJnZTogdHJ1ZSB9XG4gICAgKTtcbiAgfVxuXG4gIGVtcHR5KCk6IENoZXNzaW1hbHNBZHZlbnR1cmVQcm9ncmVzcyB7XG4gICAgcmV0dXJuIHsgY29tcGxldGVkTm9kZXM6IHt9LCB0b3RhbFN0YXJzOiAwLCB1cGRhdGVkQXQ6ICcnIH07XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZSh2YWx1ZTogUGFydGlhbDxDaGVzc2ltYWxzQWR2ZW50dXJlUHJvZ3Jlc3M+KTogQ2hlc3NpbWFsc0FkdmVudHVyZVByb2dyZXNzIHtcbiAgICByZXR1cm4ge1xuICAgICAgdXNlcklkOiB2YWx1ZS51c2VySWQsXG4gICAgICBjb21wbGV0ZWROb2RlczogdmFsdWUuY29tcGxldGVkTm9kZXMgPz8ge30sXG4gICAgICB0b3RhbFN0YXJzOiB2YWx1ZS50b3RhbFN0YXJzID8/IDAsXG4gICAgICB1cGRhdGVkQXQ6IHZhbHVlLnVwZGF0ZWRBdCA/PyAnJyxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBwcm9ncmVzc1JlZih1aWQ6IHN0cmluZykge1xuICAgIHJldHVybiBkb2ModGhpcy5maXJlc3RvcmUsIGB1c2Vycy8ke3VpZH0vbWluaUdhbWVzL2NoZXNzaW1hbHMvYWR2ZW50dXJlL3Byb2dyZXNzYCk7XG4gIH1cbn1cbiJdfQ==
@@ -196,7 +196,7 @@ export class ChessimalsAdventureComponent {
196
196
  }
197
197
  </div>
198
198
  </div>
199
- `, isInline: true, styles: [":host{--cs-surface: #fffaf1;--cs-border: rgba(46, 58, 44, .18);--cs-text: #2e3a2c;--cs-muted: #51643d;--cs-primary: #2e6f3e;--cs-primary-rgb: 46, 111, 62;--cs-selected: #37f28a;--cs-magic: #f7d45a;display:block;width:100%;max-width:100%;box-sizing:border-box}@media (prefers-color-scheme: dark){:host{--cs-surface: #172116;--cs-border: rgba(242, 230, 213, .2);--cs-text: #f6f3e9;--cs-muted: #c8cfb1}}.adventure-hub{padding-bottom:40px;width:100%;box-sizing:border-box}.adventure-hub__header{padding:20px 0 24px;text-align:center}.adventure-hub__eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cs-muted);margin:0 0 6px}.adventure-hub__title{font-size:1.75rem;font-weight:800;margin:0 0 6px;color:var(--cs-text)}.adventure-hub__subtitle{font-size:.9rem;color:var(--cs-muted);margin:0 0 12px}.adventure-hub__stars{display:inline-flex;align-items:center;gap:4px;background:var(--cs-surface);border:1px solid var(--cs-border);border-radius:20px;padding:4px 14px;font-weight:700;font-size:.95rem;color:var(--cs-magic)}.adventure-hub__stars ion-icon{color:var(--cs-magic);font-size:1rem}.adventure-hub__acts{display:flex;flex-direction:column;gap:16px;width:100%;min-width:0}.adventure-act{border-radius:16px;border:1px solid var(--cs-border);background:var(--cs-surface);overflow:hidden;width:100%;min-width:0;box-sizing:border-box}.adventure-act--locked{opacity:.5}.adventure-act--done{border-color:var(--cs-primary)}.adventure-act__head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--cs-border)}.adventure-act__emoji{font-size:1.75rem;line-height:1;flex-shrink:0}.adventure-act__meta{flex:1;min-width:0}.adventure-act__name{font-size:1rem;font-weight:700;margin:0 0 2px;color:var(--cs-text)}.adventure-act__desc{font-size:.8rem;color:var(--cs-muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adventure-act__lock{color:var(--cs-muted);font-size:1.25rem;flex-shrink:0}.adventure-act__progress{font-size:.8rem;font-weight:700;color:var(--cs-muted);flex-shrink:0}.adventure-act__nodes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px}.adventure-node{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 6px;border-radius:12px;border:1.5px solid var(--cs-border);background:var(--cs-surface);cursor:pointer;text-align:center;transition:transform .12s ease,border-color .12s ease;min-width:0;overflow:hidden}.adventure-node:active{transform:scale(.97)}.adventure-node--available{border-color:var(--cs-primary);background:color-mix(in srgb,var(--cs-primary) 8%,var(--cs-surface))}.adventure-node--completed{border-color:var(--cs-selected);background:color-mix(in srgb,var(--cs-selected) 8%,var(--cs-surface))}.adventure-node--locked{opacity:.4;cursor:default}.adventure-node__avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--cs-border);flex-shrink:0}.adventure-node--available .adventure-node__avatar{border-color:var(--cs-primary)}.adventure-node--completed .adventure-node__avatar{border-color:var(--cs-selected)}.adventure-node__icon{font-size:1.5rem;line-height:1}.adventure-node__label{font-size:.75rem;font-weight:600;color:var(--cs-text);line-height:1.2;word-break:break-word;max-width:100%}.adventure-node__stars{display:flex;gap:1px}.adventure-node__star{font-size:.7rem;color:var(--cs-muted)}.adventure-node__star--filled{color:var(--cs-magic)}.adventure-node__badge{position:absolute;top:-4px;right:-4px;font-size:.6rem;padding:2px 5px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonBadge, selector: "ion-badge", inputs: ["color", "mode"] }] }); }
199
+ `, isInline: true, styles: [":host{--chessimals-panel: #ffffff;--chessimals-surface: #fffaf1;--chessimals-border: rgba(46, 58, 44, .18);--chessimals-text: #2e3a2c;--chessimals-muted: #51643d;--chessimals-soft: rgba(111, 122, 60, .1);--chessimals-primary: #2e6f3e;--chessimals-primary-rgb: 46, 111, 62;--chessimals-secondary: #a8a06a;--chessimals-secondary-rgb: 168, 160, 106;--chessimals-selected: #37f28a;--chessimals-selected-rgb: 55, 242, 138;--chessimals-magic: #f7d45a;--chessimals-magic-rgb: 247, 212, 90;display:grid;gap:1.125rem;width:100%;max-width:min(100%,60rem);margin:0 auto;padding-bottom:2.5rem;color:var(--chessimals-text)}@media (prefers-color-scheme: dark){:host{--chessimals-panel: #172116;--chessimals-surface: #0f170f;--chessimals-border: rgba(242, 230, 213, .2);--chessimals-text: #f6f3e9;--chessimals-muted: #c8cfb1}}.adventure-hub__header{padding:1.25rem 0 .5rem;text-align:center}.adventure-hub__eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--chessimals-muted);margin:0 0 .375rem}.adventure-hub__title{font-size:clamp(1.5rem,5vw,2rem);font-weight:800;margin:0 0 .375rem;color:var(--chessimals-text);line-height:1.1}.adventure-hub__subtitle{font-size:.875rem;color:var(--chessimals-muted);margin:0 0 .75rem;line-height:1.4}.adventure-hub__stars{display:inline-flex;align-items:center;gap:4px;background:var(--chessimals-surface);border:1px solid var(--chessimals-border);border-radius:20px;padding:4px 14px;font-weight:700;font-size:.95rem;color:var(--chessimals-magic)}.adventure-hub__stars ion-icon{color:var(--chessimals-magic);font-size:1rem}.adventure-hub__acts{display:grid;gap:.875rem}.adventure-act{border:1px solid var(--chessimals-border);border-radius:1.125rem;background:var(--chessimals-panel);overflow:hidden}.adventure-act--locked{opacity:.55}.adventure-act--done{border-color:rgba(var(--chessimals-primary-rgb),.5)}.adventure-act__head{display:flex;align-items:center;gap:.625rem;padding:.875rem 1rem;border-bottom:1px solid var(--chessimals-border)}.adventure-act__emoji{font-size:1.625rem;line-height:1;flex-shrink:0}.adventure-act__meta{flex:1;min-width:0}.adventure-act__name{font-size:.9375rem;font-weight:700;margin:0 0 2px;color:var(--chessimals-text)}.adventure-act__desc{font-size:.8125rem;color:var(--chessimals-muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adventure-act__lock{color:var(--chessimals-muted);font-size:1.125rem;flex-shrink:0}.adventure-act__progress{font-size:.8125rem;font-weight:700;color:var(--chessimals-muted);flex-shrink:0}.adventure-act__nodes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding:.75rem}.adventure-node{position:relative;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem .375rem .625rem;border-radius:1rem;border:1px solid rgba(var(--chessimals-primary-rgb),.22);background:radial-gradient(circle at 18% 10%,rgba(255,255,255,.62),transparent 22%),linear-gradient(135deg,rgba(var(--chessimals-primary-rgb),.06),rgba(var(--chessimals-secondary-rgb),.04)),var(--chessimals-panel);cursor:pointer;text-align:center;transition:transform .12s ease,border-color .12s ease;min-width:0;overflow:hidden;font:inherit;color:inherit}.adventure-node:active{transform:scale(.97)}.adventure-node--available{border-color:rgba(var(--chessimals-primary-rgb),.6);background:radial-gradient(circle at 18% 10%,rgba(255,255,255,.74),transparent 22%),linear-gradient(135deg,rgba(var(--chessimals-primary-rgb),.12),rgba(var(--chessimals-secondary-rgb),.07)),var(--chessimals-panel)}.adventure-node--completed{border-color:rgba(var(--chessimals-selected-rgb),.5);background:radial-gradient(circle at 18% 10%,rgba(255,255,255,.74),transparent 22%),linear-gradient(135deg,rgba(var(--chessimals-selected-rgb),.08),rgba(var(--chessimals-primary-rgb),.04)),var(--chessimals-panel)}.adventure-node--locked{opacity:.4;cursor:default}.adventure-node__avatar{width:2.75rem;height:2.75rem;border-radius:50%;object-fit:cover;border:2px solid var(--chessimals-border);flex-shrink:0;filter:var(--chessimals-animal-face-filter, none);background:var(--chessimals-animal-face-bg, #fffdf7)}.adventure-node--available .adventure-node__avatar{border-color:rgba(var(--chessimals-primary-rgb),.5)}.adventure-node--completed .adventure-node__avatar{border-color:rgba(var(--chessimals-selected-rgb),.5)}.adventure-node__icon{font-size:1.5rem;line-height:1}.adventure-node__label{font-size:.75rem;font-weight:700;color:var(--chessimals-text);line-height:1.2;overflow-wrap:break-word;max-width:100%}.adventure-node__stars{display:flex;gap:1px}.adventure-node__star{font-size:.625rem;color:var(--chessimals-muted)}.adventure-node__star--filled{color:var(--chessimals-magic)}.adventure-node__badge{position:absolute;top:-4px;right:-4px;font-size:.6rem;padding:2px 5px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonBadge, selector: "ion-badge", inputs: ["color", "mode"] }] }); }
200
200
  }
201
201
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChessimalsAdventureComponent, decorators: [{
202
202
  type: Component,
@@ -281,6 +281,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
281
281
  }
282
282
  </div>
283
283
  </div>
284
- `, styles: [":host{--cs-surface: #fffaf1;--cs-border: rgba(46, 58, 44, .18);--cs-text: #2e3a2c;--cs-muted: #51643d;--cs-primary: #2e6f3e;--cs-primary-rgb: 46, 111, 62;--cs-selected: #37f28a;--cs-magic: #f7d45a;display:block;width:100%;max-width:100%;box-sizing:border-box}@media (prefers-color-scheme: dark){:host{--cs-surface: #172116;--cs-border: rgba(242, 230, 213, .2);--cs-text: #f6f3e9;--cs-muted: #c8cfb1}}.adventure-hub{padding-bottom:40px;width:100%;box-sizing:border-box}.adventure-hub__header{padding:20px 0 24px;text-align:center}.adventure-hub__eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cs-muted);margin:0 0 6px}.adventure-hub__title{font-size:1.75rem;font-weight:800;margin:0 0 6px;color:var(--cs-text)}.adventure-hub__subtitle{font-size:.9rem;color:var(--cs-muted);margin:0 0 12px}.adventure-hub__stars{display:inline-flex;align-items:center;gap:4px;background:var(--cs-surface);border:1px solid var(--cs-border);border-radius:20px;padding:4px 14px;font-weight:700;font-size:.95rem;color:var(--cs-magic)}.adventure-hub__stars ion-icon{color:var(--cs-magic);font-size:1rem}.adventure-hub__acts{display:flex;flex-direction:column;gap:16px;width:100%;min-width:0}.adventure-act{border-radius:16px;border:1px solid var(--cs-border);background:var(--cs-surface);overflow:hidden;width:100%;min-width:0;box-sizing:border-box}.adventure-act--locked{opacity:.5}.adventure-act--done{border-color:var(--cs-primary)}.adventure-act__head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--cs-border)}.adventure-act__emoji{font-size:1.75rem;line-height:1;flex-shrink:0}.adventure-act__meta{flex:1;min-width:0}.adventure-act__name{font-size:1rem;font-weight:700;margin:0 0 2px;color:var(--cs-text)}.adventure-act__desc{font-size:.8rem;color:var(--cs-muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adventure-act__lock{color:var(--cs-muted);font-size:1.25rem;flex-shrink:0}.adventure-act__progress{font-size:.8rem;font-weight:700;color:var(--cs-muted);flex-shrink:0}.adventure-act__nodes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px}.adventure-node{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 6px;border-radius:12px;border:1.5px solid var(--cs-border);background:var(--cs-surface);cursor:pointer;text-align:center;transition:transform .12s ease,border-color .12s ease;min-width:0;overflow:hidden}.adventure-node:active{transform:scale(.97)}.adventure-node--available{border-color:var(--cs-primary);background:color-mix(in srgb,var(--cs-primary) 8%,var(--cs-surface))}.adventure-node--completed{border-color:var(--cs-selected);background:color-mix(in srgb,var(--cs-selected) 8%,var(--cs-surface))}.adventure-node--locked{opacity:.4;cursor:default}.adventure-node__avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--cs-border);flex-shrink:0}.adventure-node--available .adventure-node__avatar{border-color:var(--cs-primary)}.adventure-node--completed .adventure-node__avatar{border-color:var(--cs-selected)}.adventure-node__icon{font-size:1.5rem;line-height:1}.adventure-node__label{font-size:.75rem;font-weight:600;color:var(--cs-text);line-height:1.2;word-break:break-word;max-width:100%}.adventure-node__stars{display:flex;gap:1px}.adventure-node__star{font-size:.7rem;color:var(--cs-muted)}.adventure-node__star--filled{color:var(--cs-magic)}.adventure-node__badge{position:absolute;top:-4px;right:-4px;font-size:.6rem;padding:2px 5px}\n"] }]
284
+ `, styles: [":host{--chessimals-panel: #ffffff;--chessimals-surface: #fffaf1;--chessimals-border: rgba(46, 58, 44, .18);--chessimals-text: #2e3a2c;--chessimals-muted: #51643d;--chessimals-soft: rgba(111, 122, 60, .1);--chessimals-primary: #2e6f3e;--chessimals-primary-rgb: 46, 111, 62;--chessimals-secondary: #a8a06a;--chessimals-secondary-rgb: 168, 160, 106;--chessimals-selected: #37f28a;--chessimals-selected-rgb: 55, 242, 138;--chessimals-magic: #f7d45a;--chessimals-magic-rgb: 247, 212, 90;display:grid;gap:1.125rem;width:100%;max-width:min(100%,60rem);margin:0 auto;padding-bottom:2.5rem;color:var(--chessimals-text)}@media (prefers-color-scheme: dark){:host{--chessimals-panel: #172116;--chessimals-surface: #0f170f;--chessimals-border: rgba(242, 230, 213, .2);--chessimals-text: #f6f3e9;--chessimals-muted: #c8cfb1}}.adventure-hub__header{padding:1.25rem 0 .5rem;text-align:center}.adventure-hub__eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--chessimals-muted);margin:0 0 .375rem}.adventure-hub__title{font-size:clamp(1.5rem,5vw,2rem);font-weight:800;margin:0 0 .375rem;color:var(--chessimals-text);line-height:1.1}.adventure-hub__subtitle{font-size:.875rem;color:var(--chessimals-muted);margin:0 0 .75rem;line-height:1.4}.adventure-hub__stars{display:inline-flex;align-items:center;gap:4px;background:var(--chessimals-surface);border:1px solid var(--chessimals-border);border-radius:20px;padding:4px 14px;font-weight:700;font-size:.95rem;color:var(--chessimals-magic)}.adventure-hub__stars ion-icon{color:var(--chessimals-magic);font-size:1rem}.adventure-hub__acts{display:grid;gap:.875rem}.adventure-act{border:1px solid var(--chessimals-border);border-radius:1.125rem;background:var(--chessimals-panel);overflow:hidden}.adventure-act--locked{opacity:.55}.adventure-act--done{border-color:rgba(var(--chessimals-primary-rgb),.5)}.adventure-act__head{display:flex;align-items:center;gap:.625rem;padding:.875rem 1rem;border-bottom:1px solid var(--chessimals-border)}.adventure-act__emoji{font-size:1.625rem;line-height:1;flex-shrink:0}.adventure-act__meta{flex:1;min-width:0}.adventure-act__name{font-size:.9375rem;font-weight:700;margin:0 0 2px;color:var(--chessimals-text)}.adventure-act__desc{font-size:.8125rem;color:var(--chessimals-muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adventure-act__lock{color:var(--chessimals-muted);font-size:1.125rem;flex-shrink:0}.adventure-act__progress{font-size:.8125rem;font-weight:700;color:var(--chessimals-muted);flex-shrink:0}.adventure-act__nodes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding:.75rem}.adventure-node{position:relative;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem .375rem .625rem;border-radius:1rem;border:1px solid rgba(var(--chessimals-primary-rgb),.22);background:radial-gradient(circle at 18% 10%,rgba(255,255,255,.62),transparent 22%),linear-gradient(135deg,rgba(var(--chessimals-primary-rgb),.06),rgba(var(--chessimals-secondary-rgb),.04)),var(--chessimals-panel);cursor:pointer;text-align:center;transition:transform .12s ease,border-color .12s ease;min-width:0;overflow:hidden;font:inherit;color:inherit}.adventure-node:active{transform:scale(.97)}.adventure-node--available{border-color:rgba(var(--chessimals-primary-rgb),.6);background:radial-gradient(circle at 18% 10%,rgba(255,255,255,.74),transparent 22%),linear-gradient(135deg,rgba(var(--chessimals-primary-rgb),.12),rgba(var(--chessimals-secondary-rgb),.07)),var(--chessimals-panel)}.adventure-node--completed{border-color:rgba(var(--chessimals-selected-rgb),.5);background:radial-gradient(circle at 18% 10%,rgba(255,255,255,.74),transparent 22%),linear-gradient(135deg,rgba(var(--chessimals-selected-rgb),.08),rgba(var(--chessimals-primary-rgb),.04)),var(--chessimals-panel)}.adventure-node--locked{opacity:.4;cursor:default}.adventure-node__avatar{width:2.75rem;height:2.75rem;border-radius:50%;object-fit:cover;border:2px solid var(--chessimals-border);flex-shrink:0;filter:var(--chessimals-animal-face-filter, none);background:var(--chessimals-animal-face-bg, #fffdf7)}.adventure-node--available .adventure-node__avatar{border-color:rgba(var(--chessimals-primary-rgb),.5)}.adventure-node--completed .adventure-node__avatar{border-color:rgba(var(--chessimals-selected-rgb),.5)}.adventure-node__icon{font-size:1.5rem;line-height:1}.adventure-node__label{font-size:.75rem;font-weight:700;color:var(--chessimals-text);line-height:1.2;overflow-wrap:break-word;max-width:100%}.adventure-node__stars{display:flex;gap:1px}.adventure-node__star{font-size:.625rem;color:var(--chessimals-muted)}.adventure-node__star--filled{color:var(--chessimals-magic)}.adventure-node__badge{position:absolute;top:-4px;right:-4px;font-size:.6rem;padding:2px 5px}\n"] }]
285
285
  }], ctorParameters: () => [] });
286
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlc3NpbWFscy1hZHZlbnR1cmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9taW5pLWdhbWVzL2NoZXNzaW1hbHMtYWR2ZW50dXJlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXRELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsc0JBQXNCLEVBQ3RCLHdCQUF3QixHQUN6QixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOztBQXNCN0YsTUFBTSxvQkFBb0IsR0FBRyx3QkFBd0IsQ0FBQztBQTZWdEQsTUFBTSxPQUFPLDRCQUE0QjtJQXlDdkM7UUF4Q2lCLFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0IsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixvQkFBZSxHQUFHLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FB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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUZULCtpSEFsRlMsT0FBTyxvRkFBYSxPQUFPLDJKQUFFLFFBQVE7OzRGQXdWcEMsNEJBQTRCO2tCQTNWeEMsU0FBUzsrQkFDRSwwQkFBMEIsY0FDeEIsSUFBSSxXQUNQLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLFlBQ3RDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpRlQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSW9uQmFkZ2UsIElvbkJ1dHRvbiwgSW9uSWNvbiB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IE1JTklfR0FNRVNfSTE4TiB9IGZyb20gJy4vbWluaS1nYW1lcy5pMThuJztcbmltcG9ydCB7XG4gIENIRVNTSU1BTFNfQURWRU5UVVJFX0FDVFMsXG4gIGFkdmVudHVyZUFjdElzVW5sb2NrZWQsXG4gIGFkdmVudHVyZU5vZGVJc0F2YWlsYWJsZSxcbn0gZnJvbSAnLi9jaGVzc2ltYWxzLWFkdmVudHVyZS1kYXRhJztcbmltcG9ydCB7IENoZXNzaW1hbHNBZHZlbnR1cmVQcm9ncmVzc1NlcnZpY2UgfSBmcm9tICcuL2NoZXNzaW1hbHMtYWR2ZW50dXJlLXByb2dyZXNzLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQ2hlc3NpbWFsc0FkdmVudHVyZUFjdCxcbiAgQ2hlc3NpbWFsc0FkdmVudHVyZU5vZGUsXG4gIENoZXNzaW1hbHNBZHZlbnR1cmVOb2RlU3RhdHVzLFxuICBDaGVzc2ltYWxzQWR2ZW50dXJlUHJvZ3Jlc3MsXG59IGZyb20gJy4vdHlwZXMnO1xuXG5pbnRlcmZhY2UgQWR2ZW50dXJlTm9kZVZpZXcge1xuICBub2RlOiBDaGVzc2ltYWxzQWR2ZW50dXJlTm9kZTtcbiAgc3RhdHVzOiBDaGVzc2ltYWxzQWR2ZW50dXJlTm9kZVN0YXR1cztcbiAgc3RhcnM6IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIEFkdmVudHVyZUFjdFZpZXcge1xuICBhY3Q6IENoZXNzaW1hbHNBZHZlbnR1cmVBY3Q7XG4gIHVubG9ja2VkOiBib29sZWFuO1xuICBub2RlczogQWR2ZW50dXJlTm9kZVZpZXdbXTtcbiAgY29tcGxldGVkQ291bnQ6IG51bWJlcjtcbiAgdG90YWxDb3VudDogbnVtYmVyO1xufVxuXG5jb25zdCBBRFZFTlRVUkVfUk9VVEVfQkFTRSA9ICcvbWluaS1nYW1lcy9jaGVzc2ltYWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWNoZXNzaW1hbHMtYWR2ZW50dXJlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nQ2xhc3MsIElvbkJ1dHRvbiwgSW9uSWNvbiwgSW9uQmFkZ2VdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJhZHZlbnR1cmUtaHViXCI+XG4gICAgICA8aGVhZGVyIGNsYXNzPVwiYWR2ZW50dXJlLWh1Yl9faGVhZGVyXCI+XG4gICAgICAgIDxwIGNsYXNzPVwiYWR2ZW50dXJlLWh1Yl9fZXllYnJvd1wiPnt7IHQoJ2NoZXNzaW1hbHNBZHZlbnR1cmVFeWVicm93JykgfX08L3A+XG4gICAgICAgIDxoMSBjbGFzcz1cImFkdmVudHVyZS1odWJfX3RpdGxlXCI+e3sgdCgnY2hlc3NpbWFsc0FkdmVudHVyZVRpdGxlJykgfX08L2gxPlxuICAgICAgICA8cCBjbGFzcz1cImFkdmVudHVyZS1odWJfX3N1YnRpdGxlXCI+e3sgdCgnY2hlc3NpbWFsc0FkdmVudHVyZVN1YnRpdGxlJykgfX08L3A+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhZHZlbnR1cmUtaHViX19zdGFyc1wiPlxuICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwic3RhclwiIC8+XG4gICAgICAgICAgPHNwYW4+e3sgdG90YWxTdGFycygpIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvaGVhZGVyPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiYWR2ZW50dXJlLWh1Yl9fYWN0c1wiPlxuICAgICAgICBAZm9yIChhY3RWaWV3IG9mIGFjdFZpZXdzKCk7IHRyYWNrIGFjdFZpZXcuYWN0LmlkKSB7XG4gICAgICAgICAgPHNlY3Rpb25cbiAgICAgICAgICAgIGNsYXNzPVwiYWR2ZW50dXJlLWFjdFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICdhZHZlbnR1cmUtYWN0LS1sb2NrZWQnOiAhYWN0Vmlldy51bmxvY2tlZCxcbiAgICAgICAgICAgICAgJ2FkdmVudHVyZS1hY3QtLWRvbmUnOiBhY3RWaWV3LmNvbXBsZXRlZENvdW50ID09PSBhY3RWaWV3LnRvdGFsQ291bnQgJiYgYWN0Vmlldy51bmxvY2tlZCxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZHZlbnR1cmUtYWN0X19oZWFkXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWR2ZW50dXJlLWFjdF9fZW1vamlcIj57eyBhY3RWaWV3LmFjdC5lbW9qaSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkdmVudHVyZS1hY3RfX21ldGFcIj5cbiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJhZHZlbnR1cmUtYWN0X19uYW1lXCI+e3sgdChhY3RWaWV3LmFjdC50aXRsZUtleSkgfX08L2gyPlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiYWR2ZW50dXJlLWFjdF9fZGVzY1wiPnt7IHQoYWN0Vmlldy5hY3QuZGVzY3JpcHRpb25LZXkpIH19PC9wPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgQGlmICghYWN0Vmlldy51bmxvY2tlZCkge1xuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwibG9jay1jbG9zZWQtb3V0bGluZVwiIGNsYXNzPVwiYWR2ZW50dXJlLWFjdF9fbG9ja1wiIC8+XG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWR2ZW50dXJlLWFjdF9fcHJvZ3Jlc3NcIj4ge3sgYWN0Vmlldy5jb21wbGV0ZWRDb3VudCB9fS97eyBhY3RWaWV3LnRvdGFsQ291bnQgfX0gPC9zcGFuPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgQGlmIChhY3RWaWV3LnVubG9ja2VkKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZHZlbnR1cmUtYWN0X19ub2Rlc1wiPlxuICAgICAgICAgICAgICAgIEBmb3IgKG5vZGVWaWV3IG9mIGFjdFZpZXcubm9kZXM7IHRyYWNrIG5vZGVWaWV3Lm5vZGUuaWQpIHtcbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZHZlbnR1cmUtbm9kZVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAnYWR2ZW50dXJlLW5vZGUtLWF2YWlsYWJsZSc6IG5vZGVWaWV3LnN0YXR1cyA9PT0gJ2F2YWlsYWJsZScsXG4gICAgICAgICAgICAgICAgICAgICAgJ2FkdmVudHVyZS1ub2RlLS1jb21wbGV0ZWQnOiBub2RlVmlldy5zdGF0dXMgPT09ICdjb21wbGV0ZWQnLFxuICAgICAgICAgICAgICAgICAgICAgICdhZHZlbnR1cmUtbm9kZS0tbG9ja2VkJzogbm9kZVZpZXcuc3RhdHVzID09PSAnbG9ja2VkJyxcbiAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJub2RlVmlldy5zdGF0dXMgPT09ICdsb2NrZWQnXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTm9kZVRhcChub2RlVmlldylcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChub2RlVmlldy5ub2RlLnByb2ZpbGVJZCkge1xuICAgICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWR2ZW50dXJlLW5vZGVfX2F2YXRhclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImF2YXRhclNyYyhub2RlVmlldy5ub2RlLnByb2ZpbGVJZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJ0KG5vZGVWaWV3Lm5vZGUudGl0bGVLZXkpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFkdmVudHVyZS1ub2RlX19pY29uXCI+e3sgbm9kZUljb24obm9kZVZpZXcubm9kZS50eXBlKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFkdmVudHVyZS1ub2RlX19sYWJlbFwiPnt7IHQobm9kZVZpZXcubm9kZS50aXRsZUtleSkgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWR2ZW50dXJlLW5vZGVfX3N0YXJzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgQGZvciAoaSBvZiBbMCwgMSwgMl07IHRyYWNrIGkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpb24taWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJub2RlVmlldy5zdGFycyA+IGkgPyAnc3RhcicgOiAnc3Rhci1vdXRsaW5lJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWR2ZW50dXJlLW5vZGVfX3N0YXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdhZHZlbnR1cmUtbm9kZV9fc3Rhci0tZmlsbGVkJzogbm9kZVZpZXcuc3RhcnMgPiBpIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChub2RlVmlldy5ub2RlLnR5cGUgPT09ICdib3NzJykge1xuICAgICAgICAgICAgICAgICAgICAgIDxpb24tYmFkZ2UgY29sb3I9XCJ3YXJuaW5nXCIgY2xhc3M9XCJhZHZlbnR1cmUtbm9kZV9fYmFkZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHQoJ2NoZXNzaW1hbHNBZHZlbnR1cmVCb3NzJykgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1iYWRnZT5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAvKiDilIDilIAgQ2hlc3NpbWFscyB0b2tlbnMgKGxpZ2h0KSDilIDilIAgKi9cbiAgICAgIDpob3N0IHtcbiAgICAgICAgLS1jcy1zdXJmYWNlOiAjZmZmYWYxO1xuICAgICAgICAtLWNzLWJvcmRlcjogcmdiYSg0NiwgNTgsIDQ0LCAwLjE4KTtcbiAgICAgICAgLS1jcy10ZXh0OiAjMmUzYTJjO1xuICAgICAgICAtLWNzLW11dGVkOiAjNTE2NDNkO1xuICAgICAgICAtLWNzLXByaW1hcnk6ICMyZTZmM2U7XG4gICAgICAgIC0tY3MtcHJpbWFyeS1yZ2I6IDQ2LCAxMTEsIDYyO1xuICAgICAgICAtLWNzLXNlbGVjdGVkOiAjMzdmMjhhO1xuICAgICAgICAtLWNzLW1hZ2ljOiAjZjdkNDVhO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgLS1jcy1zdXJmYWNlOiAjMTcyMTE2O1xuICAgICAgICAgIC0tY3MtYm9yZGVyOiByZ2JhKDI0MiwgMjMwLCAyMTMsIDAuMik7XG4gICAgICAgICAgLS1jcy10ZXh0OiAjZjZmM2U5O1xuICAgICAgICAgIC0tY3MtbXV0ZWQ6ICNjOGNmYjE7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLyog4pSA4pSAIExheW91dCDilIDilIAgKi9cbiAgICAgIC5hZHZlbnR1cmUtaHViIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLWh1Yl9faGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAwIDI0cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1odWJfX2V5ZWJyb3cge1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcy1tdXRlZCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDZweDtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1odWJfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICBtYXJnaW46IDAgMCA2cHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcy10ZXh0KTtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1odWJfX3N1YnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcy1tdXRlZCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDEycHg7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtaHViX19zdGFycyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDRweDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY3Mtc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNzLWJvcmRlcik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDRweCAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcy1tYWdpYyk7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtaHViX19zdGFycyBpb24taWNvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcy1tYWdpYyk7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1odWJfX2FjdHMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDE2cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qIOKUgOKUgCBBY3RzIOKUgOKUgCAqL1xuICAgICAgLmFkdmVudHVyZS1hY3Qge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcy1ib3JkZXIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcy1zdXJmYWNlKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1hY3QtLWxvY2tlZCB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1hY3QtLWRvbmUge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNzLXByaW1hcnkpO1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLWFjdF9faGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICAgICAgcGFkZGluZzogMTRweCAxNnB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY3MtYm9yZGVyKTtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1hY3RfX2Vtb2ppIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtYWN0X19tZXRhIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLWFjdF9fbmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMnB4O1xuICAgICAgICBjb2xvcjogdmFyKC0tY3MtdGV4dCk7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtYWN0X19kZXNjIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcy1tdXRlZCk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtYWN0X19sb2NrIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNzLW11dGVkKTtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1hY3RfX3Byb2dyZXNzIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcy1tdXRlZCk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuXG4gICAgICAvKiDilIDilIAgTm9kZXMgZ3JpZCDigJQgMyBjb2xzIHByb3BvcmNpb25hbGVzLCBzaW4gb3ZlcmZsb3cgcG9zaWJsZSDilIDilIAgKi9cbiAgICAgIC5hZHZlbnR1cmUtYWN0X19ub2RlcyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgfVxuXG4gICAgICAvKiDilIDilIAgTm9kZSBjYXJkIOKUgOKUgCAqL1xuICAgICAgLmFkdmVudHVyZS1ub2RlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDRweDtcbiAgICAgICAgcGFkZGluZzogMTJweCA2cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICAgIGJvcmRlcjogMS41cHggc29saWQgdmFyKC0tY3MtYm9yZGVyKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY3Mtc3VyZmFjZSk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIHRyYW5zZm9ybSAwLjEycyBlYXNlLFxuICAgICAgICAgIGJvcmRlci1jb2xvciAwLjEycyBlYXNlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtbm9kZTphY3RpdmUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTcpO1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLW5vZGUtLWF2YWlsYWJsZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3MtcHJpbWFyeSk7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jcy1wcmltYXJ5KSA4JSwgdmFyKC0tY3Mtc3VyZmFjZSkpO1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLW5vZGUtLWNvbXBsZXRlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3Mtc2VsZWN0ZWQpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY3Mtc2VsZWN0ZWQpIDglLCB2YXIoLS1jcy1zdXJmYWNlKSk7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtbm9kZS0tbG9ja2VkIHtcbiAgICAgICAgb3BhY2l0eTogMC40O1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICB9XG5cbiAgICAgIC8qIOKUgOKUgCBBdmF0YXIgKGJhdHRsZS9ib3NzKSDilIDilIAgKi9cbiAgICAgIC5hZHZlbnR1cmUtbm9kZV9fYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY3MtYm9yZGVyKTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtbm9kZS0tYXZhaWxhYmxlIC5hZHZlbnR1cmUtbm9kZV9fYXZhdGFyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcy1wcmltYXJ5KTtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1ub2RlLS1jb21wbGV0ZWQgLmFkdmVudHVyZS1ub2RlX19hdmF0YXIge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNzLXNlbGVjdGVkKTtcbiAgICAgIH1cblxuICAgICAgLyog4pSA4pSAIEVtb2ppIGljb24gKHJlc3QvbXlzdGVyeSkg4pSA4pSAICovXG4gICAgICAuYWR2ZW50dXJlLW5vZGVfX2ljb24ge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB9XG5cbiAgICAgIC8qIOKUgOKUgCBMYWJlbCDilIDilIAgKi9cbiAgICAgIC5hZHZlbnR1cmUtbm9kZV9fbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcy10ZXh0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAvKiDilIDilIAgU3RhcnMg4pSA4pSAICovXG4gICAgICAuYWR2ZW50dXJlLW5vZGVfX3N0YXJzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAxcHg7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtbm9kZV9fc3RhciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tY3MtbXV0ZWQpO1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLW5vZGVfX3N0YXItLWZpbGxlZCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcy1tYWdpYyk7XG4gICAgICB9XG5cbiAgICAgIC8qIOKUgOKUgCBCb3NzIGJhZGdlIOKUgOKUgCAqL1xuICAgICAgLmFkdmVudHVyZS1ub2RlX19iYWRnZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtNHB4O1xuICAgICAgICByaWdodDogLTRweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjZyZW07XG4gICAgICAgIHBhZGRpbmc6IDJweCA1cHg7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlc3NpbWFsc0FkdmVudHVyZUNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJvZ3Jlc3NTZXJ2aWNlID0gaW5qZWN0KENoZXNzaW1hbHNBZHZlbnR1cmVQcm9ncmVzc1NlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRvYXN0ID0gaW5qZWN0KFRvYXN0U2VydmljZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBwcm9ncmVzcyA9IHRvU2lnbmFsPENoZXNzaW1hbHNBZHZlbnR1cmVQcm9ncmVzcyB8IHVuZGVmaW5lZD4odGhpcy5wcm9ncmVzc1NlcnZpY2Uud2F0Y2hQcm9ncmVzcygpLCB7XG4gICAgaW5pdGlhbFZhbHVlOiB1bmRlZmluZWQsXG4gIH0pO1xuXG4gIHJlYWRvbmx5IHNlbGVjdGVkQWN0SWQgPSBzaWduYWw8c3RyaW5nPignYWN0MScpO1xuXG4gIHJlYWRvbmx5IHRvdGFsU3RhcnMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnByb2dyZXNzKCk/LnRvdGFsU3RhcnMgPz8gMCk7XG5cbiAgcmVhZG9ubHkgYWN0Vmlld3MgPSBjb21wdXRlZDxBZHZlbnR1cmVBY3RWaWV3W10+KCgpID0+IHtcbiAgICBjb25zdCBwcm9nID0gdGhpcy5wcm9ncmVzcygpO1xuICAgIGNvbnN0IGNvbXBsZXRlZCA9IHByb2c/LmNvbXBsZXRlZE5vZGVzID8/IHt9O1xuICAgIHJldHVybiBDSEVTU0lNQUxTX0FEVkVOVFVSRV9BQ1RTLm1hcChhY3QgPT4ge1xuICAgICAgY29uc3QgdW5sb2NrZWQgPSBhZHZlbnR1cmVBY3RJc1VubG9ja2VkKGFjdC5pZCwgY29tcGxldGVkKTtcbiAgICAgIGNvbnN0IG5vZGVzOiBBZHZlbnR1cmVOb2RlVmlld1tdID0gYWN0Lm5vZGVzLm1hcChub2RlID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gY29tcGxldGVkW25vZGUuaWRdO1xuICAgICAgICBsZXQgc3RhdHVzOiBDaGVzc2ltYWxzQWR2ZW50dXJlTm9kZVN0YXR1cztcbiAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgIHN0YXR1cyA9ICdjb21wbGV0ZWQnO1xuICAgICAgICB9IGVsc2UgaWYgKCF1bmxvY2tlZCB8fCAhYWR2ZW50dXJlTm9kZUlzQXZhaWxhYmxlKG5vZGUuaWQsIGNvbXBsZXRlZCkpIHtcbiAgICAgICAgICBzdGF0dXMgPSAnbG9ja2VkJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdGF0dXMgPSAnYXZhaWxhYmxlJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBub2RlLCBzdGF0dXMsIHN0YXJzOiByZXN1bHQ/LnN0YXJzID8/IDAgfTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYWN0LFxuICAgICAgICB1bmxvY2tlZCxcbiAgICAgICAgbm9kZXMsXG4gICAgICAgIGNvbXBsZXRlZENvdW50OiBub2Rlcy5maWx0ZXIobiA9PiBuLnN0YXR1cyA9PT0gJ2NvbXBsZXRlZCcpLmxlbmd0aCxcbiAgICAgICAgdG90YWxDb3VudDogbm9kZXMubGVuZ3RoLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKCF0aGlzLmkxOG4uaGFzTmFtZXNwYWNlKCdNaW5pR2FtZXMnKSkge1xuICAgICAgdGhpcy5pMThuLnJlZ2lzdGVyQ29udGVudCgnTWluaUdhbWVzJywgTUlOSV9HQU1FU19JMThOKTtcbiAgICB9XG4gIH1cblxuICB0KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoa2V5LCAnTWluaUdhbWVzJyk7XG4gIH1cblxuICBhdmF0YXJTcmMocHJvZmlsZUlkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgYXNzZXRzL2dhbWVzL2NoZXNzaW1hbHMvY2hhbGxlbmdlLWF2YXRhcnMvJHtwcm9maWxlSWR9LnBuZ2A7XG4gIH1cblxuICBub2RlSWNvbih0eXBlOiBDaGVzc2ltYWxzQWR2ZW50dXJlTm9kZVsndHlwZSddKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ2JhdHRsZSc6XG4gICAgICAgIHJldHVybiAn4pqU77iPJztcbiAgICAgIGNhc2UgJ2Jvc3MnOlxuICAgICAgICByZXR1cm4gJ/CfkoAnO1xuICAgICAgY2FzZSAncmVzdCc6XG4gICAgICAgIHJldHVybiAn8J+Ple+4jyc7XG4gICAgICBjYXNlICdteXN0ZXJ5JzpcbiAgICAgICAgcmV0dXJuICfinZMnO1xuICAgIH1cbiAgfVxuXG4gIG9uTm9kZVRhcChub2RlVmlldzogQWR2ZW50dXJlTm9kZVZpZXcpOiB2b2lkIHtcbiAgICBpZiAobm9kZVZpZXcuc3RhdHVzID09PSAnbG9ja2VkJykgcmV0dXJuO1xuICAgIGlmIChub2RlVmlldy5ub2RlLnR5cGUgPT09ICdyZXN0Jykge1xuICAgICAgdGhpcy5vblJlc3RUYXAobm9kZVZpZXcpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAobm9kZVZpZXcubm9kZS50eXBlID09PSAnbXlzdGVyeScpIHtcbiAgICAgIHRoaXMub25NeXN0ZXJ5VGFwKG5vZGVWaWV3KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdm9pZCB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbQURWRU5UVVJFX1JPVVRFX0JBU0VdLCB7XG4gICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICBhZHZlbnR1cmVOb2RlOiBub2RlVmlldy5ub2RlLmlkLFxuICAgICAgICBwcm9maWxlSWQ6IG5vZGVWaWV3Lm5vZGUucHJvZmlsZUlkLFxuICAgICAgICBkaWZmaWN1bHR5OiBub2RlVmlldy5ub2RlLmRpZmZpY3VsdHksXG4gICAgICAgIGJvYXJkU2l6ZTogbm9kZVZpZXcubm9kZS5ib2FyZFNpemUgPz8gNixcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9uUmVzdFRhcChub2RlVmlldzogQWR2ZW50dXJlTm9kZVZpZXcpOiB2b2lkIHtcbiAgICBpZiAobm9kZVZpZXcuc3RhdHVzID09PSAnY29tcGxldGVkJykgcmV0dXJuO1xuICAgIHZvaWQgdGhpcy5wcm9ncmVzc1NlcnZpY2UucmVjb3JkTm9kZUNvbXBsZXRlZChub2RlVmlldy5ub2RlLmlkLCAxKS50aGVuKCgpID0+IHtcbiAgICAgIHRoaXMudG9hc3Quc2hvdyh7IG1lc3NhZ2U6IHRoaXMudCgnY2hlc3NpbWFsc0FkdmVudHVyZVJlc3REb25lJyksIGNvbG9yOiAnZGFyaycsIGR1cmF0aW9uOiAyNTAwIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvbk15c3RlcnlUYXAobm9kZVZpZXc6IEFkdmVudHVyZU5vZGVWaWV3KTogdm9pZCB7XG4gICAgY29uc3QgYWN0ID0gQ0hFU1NJTUFMU19BRFZFTlRVUkVfQUNUUy5maW5kKGEgPT4gYS5pZCA9PT0gbm9kZVZpZXcubm9kZS5hY3RJZCk7XG4gICAgY29uc3QgYmF0dGxlTm9kZXMgPSBhY3Q/Lm5vZGVzLmZpbHRlcihuID0+IG4udHlwZSA9PT0gJ2JhdHRsZScgJiYgbi5wcm9maWxlSWQpID8/IFtdO1xuICAgIGlmICghYmF0dGxlTm9kZXMubGVuZ3RoKSByZXR1cm47XG4gICAgY29uc3QgcGljayA9IGJhdHRsZU5vZGVzW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGJhdHRsZU5vZGVzLmxlbmd0aCldO1xuICAgIHRoaXMudG9hc3Quc2hvdyh7IG1lc3NhZ2U6IHRoaXMudCgnY2hlc3NpbWFsc0FkdmVudHVyZU15c3RlcnlSZXZlYWwnKSwgY29sb3I6ICdkYXJrJywgZHVyYXRpb246IDIwMDAgfSk7XG4gICAgdm9pZCB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbQURWRU5UVVJFX1JPVVRFX0JBU0VdLCB7XG4gICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICBhZHZlbnR1cmVOb2RlOiBub2RlVmlldy5ub2RlLmlkLFxuICAgICAgICBwcm9maWxlSWQ6IHBpY2sucHJvZmlsZUlkLFxuICAgICAgICBkaWZmaWN1bHR5OiBwaWNrLmRpZmZpY3VsdHksXG4gICAgICAgIGJvYXJkU2l6ZTogcGljay5ib2FyZFNpemUgPz8gNixcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
286
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlc3NpbWFscy1hZHZlbnR1cmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9taW5pLWdhbWVzL2NoZXNzaW1hbHMtYWR2ZW50dXJlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXRELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsc0JBQXNCLEVBQ3RCLHdCQUF3QixHQUN6QixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOztBQXNCN0YsTUFBTSxvQkFBb0IsR0FBRyx3QkFBd0IsQ0FBQztBQXVYdEQsTUFBTSxPQUFPLDRCQUE0QjtJQXlDdkM7UUF4Q2lCLFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0IsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixvQkFBZSxHQUFHLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FB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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUZULHN4SkFsRlMsT0FBTyxvRkFBYSxPQUFPLDJKQUFFLFFBQVE7OzRGQWtYcEMsNEJBQTRCO2tCQXJYeEMsU0FBUzsrQkFDRSwwQkFBMEIsY0FDeEIsSUFBSSxXQUNQLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLFlBQ3RDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpRlQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSW9uQmFkZ2UsIElvbkJ1dHRvbiwgSW9uSWNvbiB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IE1JTklfR0FNRVNfSTE4TiB9IGZyb20gJy4vbWluaS1nYW1lcy5pMThuJztcbmltcG9ydCB7XG4gIENIRVNTSU1BTFNfQURWRU5UVVJFX0FDVFMsXG4gIGFkdmVudHVyZUFjdElzVW5sb2NrZWQsXG4gIGFkdmVudHVyZU5vZGVJc0F2YWlsYWJsZSxcbn0gZnJvbSAnLi9jaGVzc2ltYWxzLWFkdmVudHVyZS1kYXRhJztcbmltcG9ydCB7IENoZXNzaW1hbHNBZHZlbnR1cmVQcm9ncmVzc1NlcnZpY2UgfSBmcm9tICcuL2NoZXNzaW1hbHMtYWR2ZW50dXJlLXByb2dyZXNzLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQ2hlc3NpbWFsc0FkdmVudHVyZUFjdCxcbiAgQ2hlc3NpbWFsc0FkdmVudHVyZU5vZGUsXG4gIENoZXNzaW1hbHNBZHZlbnR1cmVOb2RlU3RhdHVzLFxuICBDaGVzc2ltYWxzQWR2ZW50dXJlUHJvZ3Jlc3MsXG59IGZyb20gJy4vdHlwZXMnO1xuXG5pbnRlcmZhY2UgQWR2ZW50dXJlTm9kZVZpZXcge1xuICBub2RlOiBDaGVzc2ltYWxzQWR2ZW50dXJlTm9kZTtcbiAgc3RhdHVzOiBDaGVzc2ltYWxzQWR2ZW50dXJlTm9kZVN0YXR1cztcbiAgc3RhcnM6IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIEFkdmVudHVyZUFjdFZpZXcge1xuICBhY3Q6IENoZXNzaW1hbHNBZHZlbnR1cmVBY3Q7XG4gIHVubG9ja2VkOiBib29sZWFuO1xuICBub2RlczogQWR2ZW50dXJlTm9kZVZpZXdbXTtcbiAgY29tcGxldGVkQ291bnQ6IG51bWJlcjtcbiAgdG90YWxDb3VudDogbnVtYmVyO1xufVxuXG5jb25zdCBBRFZFTlRVUkVfUk9VVEVfQkFTRSA9ICcvbWluaS1nYW1lcy9jaGVzc2ltYWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWNoZXNzaW1hbHMtYWR2ZW50dXJlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nQ2xhc3MsIElvbkJ1dHRvbiwgSW9uSWNvbiwgSW9uQmFkZ2VdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJhZHZlbnR1cmUtaHViXCI+XG4gICAgICA8aGVhZGVyIGNsYXNzPVwiYWR2ZW50dXJlLWh1Yl9faGVhZGVyXCI+XG4gICAgICAgIDxwIGNsYXNzPVwiYWR2ZW50dXJlLWh1Yl9fZXllYnJvd1wiPnt7IHQoJ2NoZXNzaW1hbHNBZHZlbnR1cmVFeWVicm93JykgfX08L3A+XG4gICAgICAgIDxoMSBjbGFzcz1cImFkdmVudHVyZS1odWJfX3RpdGxlXCI+e3sgdCgnY2hlc3NpbWFsc0FkdmVudHVyZVRpdGxlJykgfX08L2gxPlxuICAgICAgICA8cCBjbGFzcz1cImFkdmVudHVyZS1odWJfX3N1YnRpdGxlXCI+e3sgdCgnY2hlc3NpbWFsc0FkdmVudHVyZVN1YnRpdGxlJykgfX08L3A+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhZHZlbnR1cmUtaHViX19zdGFyc1wiPlxuICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwic3RhclwiIC8+XG4gICAgICAgICAgPHNwYW4+e3sgdG90YWxTdGFycygpIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvaGVhZGVyPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiYWR2ZW50dXJlLWh1Yl9fYWN0c1wiPlxuICAgICAgICBAZm9yIChhY3RWaWV3IG9mIGFjdFZpZXdzKCk7IHRyYWNrIGFjdFZpZXcuYWN0LmlkKSB7XG4gICAgICAgICAgPHNlY3Rpb25cbiAgICAgICAgICAgIGNsYXNzPVwiYWR2ZW50dXJlLWFjdFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICdhZHZlbnR1cmUtYWN0LS1sb2NrZWQnOiAhYWN0Vmlldy51bmxvY2tlZCxcbiAgICAgICAgICAgICAgJ2FkdmVudHVyZS1hY3QtLWRvbmUnOiBhY3RWaWV3LmNvbXBsZXRlZENvdW50ID09PSBhY3RWaWV3LnRvdGFsQ291bnQgJiYgYWN0Vmlldy51bmxvY2tlZCxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZHZlbnR1cmUtYWN0X19oZWFkXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWR2ZW50dXJlLWFjdF9fZW1vamlcIj57eyBhY3RWaWV3LmFjdC5lbW9qaSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkdmVudHVyZS1hY3RfX21ldGFcIj5cbiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJhZHZlbnR1cmUtYWN0X19uYW1lXCI+e3sgdChhY3RWaWV3LmFjdC50aXRsZUtleSkgfX08L2gyPlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiYWR2ZW50dXJlLWFjdF9fZGVzY1wiPnt7IHQoYWN0Vmlldy5hY3QuZGVzY3JpcHRpb25LZXkpIH19PC9wPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgQGlmICghYWN0Vmlldy51bmxvY2tlZCkge1xuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwibG9jay1jbG9zZWQtb3V0bGluZVwiIGNsYXNzPVwiYWR2ZW50dXJlLWFjdF9fbG9ja1wiIC8+XG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWR2ZW50dXJlLWFjdF9fcHJvZ3Jlc3NcIj4ge3sgYWN0Vmlldy5jb21wbGV0ZWRDb3VudCB9fS97eyBhY3RWaWV3LnRvdGFsQ291bnQgfX0gPC9zcGFuPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgQGlmIChhY3RWaWV3LnVubG9ja2VkKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZHZlbnR1cmUtYWN0X19ub2Rlc1wiPlxuICAgICAgICAgICAgICAgIEBmb3IgKG5vZGVWaWV3IG9mIGFjdFZpZXcubm9kZXM7IHRyYWNrIG5vZGVWaWV3Lm5vZGUuaWQpIHtcbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZHZlbnR1cmUtbm9kZVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAnYWR2ZW50dXJlLW5vZGUtLWF2YWlsYWJsZSc6IG5vZGVWaWV3LnN0YXR1cyA9PT0gJ2F2YWlsYWJsZScsXG4gICAgICAgICAgICAgICAgICAgICAgJ2FkdmVudHVyZS1ub2RlLS1jb21wbGV0ZWQnOiBub2RlVmlldy5zdGF0dXMgPT09ICdjb21wbGV0ZWQnLFxuICAgICAgICAgICAgICAgICAgICAgICdhZHZlbnR1cmUtbm9kZS0tbG9ja2VkJzogbm9kZVZpZXcuc3RhdHVzID09PSAnbG9ja2VkJyxcbiAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJub2RlVmlldy5zdGF0dXMgPT09ICdsb2NrZWQnXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTm9kZVRhcChub2RlVmlldylcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChub2RlVmlldy5ub2RlLnByb2ZpbGVJZCkge1xuICAgICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWR2ZW50dXJlLW5vZGVfX2F2YXRhclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImF2YXRhclNyYyhub2RlVmlldy5ub2RlLnByb2ZpbGVJZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJ0KG5vZGVWaWV3Lm5vZGUudGl0bGVLZXkpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFkdmVudHVyZS1ub2RlX19pY29uXCI+e3sgbm9kZUljb24obm9kZVZpZXcubm9kZS50eXBlKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFkdmVudHVyZS1ub2RlX19sYWJlbFwiPnt7IHQobm9kZVZpZXcubm9kZS50aXRsZUtleSkgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWR2ZW50dXJlLW5vZGVfX3N0YXJzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgQGZvciAoaSBvZiBbMCwgMSwgMl07IHRyYWNrIGkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpb24taWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJub2RlVmlldy5zdGFycyA+IGkgPyAnc3RhcicgOiAnc3Rhci1vdXRsaW5lJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWR2ZW50dXJlLW5vZGVfX3N0YXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdhZHZlbnR1cmUtbm9kZV9fc3Rhci0tZmlsbGVkJzogbm9kZVZpZXcuc3RhcnMgPiBpIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChub2RlVmlldy5ub2RlLnR5cGUgPT09ICdib3NzJykge1xuICAgICAgICAgICAgICAgICAgICAgIDxpb24tYmFkZ2UgY29sb3I9XCJ3YXJuaW5nXCIgY2xhc3M9XCJhZHZlbnR1cmUtbm9kZV9fYmFkZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHQoJ2NoZXNzaW1hbHNBZHZlbnR1cmVCb3NzJykgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1iYWRnZT5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAvKiDilIDilIAgQ2hlc3NpbWFscyB0b2tlbnMg4oCUIGlkw6ludGljb3MgYSAuY2hlc3NpbWFscy1zaGVsbCBkZWwgZ2FtZSDilIDilIAgKi9cbiAgICAgIDpob3N0IHtcbiAgICAgICAgLS1jaGVzc2ltYWxzLXBhbmVsOiAjZmZmZmZmO1xuICAgICAgICAtLWNoZXNzaW1hbHMtc3VyZmFjZTogI2ZmZmFmMTtcbiAgICAgICAgLS1jaGVzc2ltYWxzLWJvcmRlcjogcmdiYSg0NiwgNTgsIDQ0LCAwLjE4KTtcbiAgICAgICAgLS1jaGVzc2ltYWxzLXRleHQ6ICMyZTNhMmM7XG4gICAgICAgIC0tY2hlc3NpbWFscy1tdXRlZDogIzUxNjQzZDtcbiAgICAgICAgLS1jaGVzc2ltYWxzLXNvZnQ6IHJnYmEoMTExLCAxMjIsIDYwLCAwLjEpO1xuICAgICAgICAtLWNoZXNzaW1hbHMtcHJpbWFyeTogIzJlNmYzZTtcbiAgICAgICAgLS1jaGVzc2ltYWxzLXByaW1hcnktcmdiOiA0NiwgMTExLCA2MjtcbiAgICAgICAgLS1jaGVzc2ltYWxzLXNlY29uZGFyeTogI2E4YTA2YTtcbiAgICAgICAgLS1jaGVzc2ltYWxzLXNlY29uZGFyeS1yZ2I6IDE2OCwgMTYwLCAxMDY7XG4gICAgICAgIC0tY2hlc3NpbWFscy1zZWxlY3RlZDogIzM3ZjI4YTtcbiAgICAgICAgLS1jaGVzc2ltYWxzLXNlbGVjdGVkLXJnYjogNTUsIDI0MiwgMTM4O1xuICAgICAgICAtLWNoZXNzaW1hbHMtbWFnaWM6ICNmN2Q0NWE7XG4gICAgICAgIC0tY2hlc3NpbWFscy1tYWdpYy1yZ2I6IDI0NywgMjEyLCA5MDtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOiAxLjEyNXJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogbWluKDEwMCUsIDYwcmVtKTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jaGVzc2ltYWxzLXRleHQpO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgICAgIDpob3N0IHtcbiAgICAgICAgICAtLWNoZXNzaW1hbHMtcGFuZWw6ICMxNzIxMTY7XG4gICAgICAgICAgLS1jaGVzc2ltYWxzLXN1cmZhY2U6ICMwZjE3MGY7XG4gICAgICAgICAgLS1jaGVzc2ltYWxzLWJvcmRlcjogcmdiYSgyNDIsIDIzMCwgMjEzLCAwLjIpO1xuICAgICAgICAgIC0tY2hlc3NpbWFscy10ZXh0OiAjZjZmM2U5O1xuICAgICAgICAgIC0tY2hlc3NpbWFscy1tdXRlZDogI2M4Y2ZiMTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvKiDilIDilIAgSGVhZGVyIOKUgOKUgCAqL1xuICAgICAgLmFkdmVudHVyZS1odWJfX2hlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMCAwLjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1odWJfX2V5ZWJyb3cge1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jaGVzc2ltYWxzLW11dGVkKTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC4zNzVyZW07XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtaHViX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMS41cmVtLCA1dncsIDJyZW0pO1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICBtYXJnaW46IDAgMCAwLjM3NXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNoZXNzaW1hbHMtdGV4dCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtaHViX19zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jaGVzc2ltYWxzLW11dGVkKTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC43NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1odWJfX3N0YXJzIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGVzc2ltYWxzLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaGVzc2ltYWxzLWJvcmRlcik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDRweCAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jaGVzc2ltYWxzLW1hZ2ljKTtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1odWJfX3N0YXJzIGlvbi1pY29uIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNoZXNzaW1hbHMtbWFnaWMpO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICB9XG5cbiAgICAgIC8qIOKUgOKUgCBBY3RzIOKAlCBncmlkIGNvbHVtbiAoaGVyZWRhIGdhcCBkZWwgOmhvc3QpIOKUgOKUgCAqL1xuICAgICAgLmFkdmVudHVyZS1odWJfX2FjdHMge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IDAuODc1cmVtO1xuICAgICAgfVxuXG4gICAgICAvKiDilIDilIAgQWN0IGNhcmQg4oCUIGlndWFsIHF1ZSAuY2hlc3NpbWFscy1vcHRpb25zIOKUgOKUgCAqL1xuICAgICAgLmFkdmVudHVyZS1hY3Qge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaGVzc2ltYWxzLWJvcmRlcik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEuMTI1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGVzc2ltYWxzLXBhbmVsKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1hY3QtLWxvY2tlZCB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTU7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtYWN0LS1kb25lIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKHZhcigtLWNoZXNzaW1hbHMtcHJpbWFyeS1yZ2IpLCAwLjUpO1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLWFjdF9faGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuODc1cmVtIDFyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jaGVzc2ltYWxzLWJvcmRlcik7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtYWN0X19lbW9qaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1hY3RfX21ldGEge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtYWN0X19uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIG1hcmdpbjogMCAwIDJweDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNoZXNzaW1hbHMtdGV4dCk7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtYWN0X19kZXNjIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jaGVzc2ltYWxzLW11dGVkKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1hY3RfX2xvY2sge1xuICAgICAgICBjb2xvcjogdmFyKC0tY2hlc3NpbWFscy1tdXRlZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLWFjdF9fcHJvZ3Jlc3Mge1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNoZXNzaW1hbHMtbXV0ZWQpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgLyog4pSA4pSAIE5vZGVzIGdyaWQg4oCUIG1pbm1heCgwLCAxZnIpIHByZXZpZW5lIG92ZXJmbG93IOKUgOKUgCAqL1xuICAgICAgLmFkdmVudHVyZS1hY3RfX25vZGVzIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuICAgICAgICBnYXA6IDAuNXJlbTtcbiAgICAgICAgcGFkZGluZzogMC43NXJlbTtcbiAgICAgIH1cblxuICAgICAgLyog4pSA4pSAIE5vZGUgY2FyZCDigJQgbWlzbW8gcGF0csOzbiBxdWUgLmNoZXNzaW1hbHMtaG9tZS1hY3Rpb24g4pSA4pSAICovXG4gICAgICAuYWR2ZW50dXJlLW5vZGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMC4yNXJlbTtcbiAgICAgICAgcGFkZGluZzogMC43NXJlbSAwLjM3NXJlbSAwLjYyNXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSh2YXIoLS1jaGVzc2ltYWxzLXByaW1hcnktcmdiKSwgMC4yMik7XG4gICAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAxOCUgMTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjIpLCB0cmFuc3BhcmVudCAyMiUpLFxuICAgICAgICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgIDEzNWRlZyxcbiAgICAgICAgICAgIHJnYmEodmFyKC0tY2hlc3NpbWFscy1wcmltYXJ5LXJnYiksIDAuMDYpLFxuICAgICAgICAgICAgcmdiYSh2YXIoLS1jaGVzc2ltYWxzLXNlY29uZGFyeS1yZ2IpLCAwLjA0KVxuICAgICAgICAgICksXG4gICAgICAgICAgdmFyKC0tY2hlc3NpbWFscy1wYW5lbCk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIHRyYW5zZm9ybSAwLjEycyBlYXNlLFxuICAgICAgICAgIGJvcmRlci1jb2xvciAwLjEycyBlYXNlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLW5vZGU6YWN0aXZlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk3KTtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1ub2RlLS1hdmFpbGFibGUge1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEodmFyKC0tY2hlc3NpbWFscy1wcmltYXJ5LXJnYiksIDAuNik7XG4gICAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAxOCUgMTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzQpLCB0cmFuc3BhcmVudCAyMiUpLFxuICAgICAgICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgIDEzNWRlZyxcbiAgICAgICAgICAgIHJnYmEodmFyKC0tY2hlc3NpbWFscy1wcmltYXJ5LXJnYiksIDAuMTIpLFxuICAgICAgICAgICAgcmdiYSh2YXIoLS1jaGVzc2ltYWxzLXNlY29uZGFyeS1yZ2IpLCAwLjA3KVxuICAgICAgICAgICksXG4gICAgICAgICAgdmFyKC0tY2hlc3NpbWFscy1wYW5lbCk7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtbm9kZS0tY29tcGxldGVkIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKHZhcigtLWNoZXNzaW1hbHMtc2VsZWN0ZWQtcmdiKSwgMC41KTtcbiAgICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDE4JSAxMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NCksIHRyYW5zcGFyZW50IDIyJSksXG4gICAgICAgICAgbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgMTM1ZGVnLFxuICAgICAgICAgICAgcmdiYSh2YXIoLS1jaGVzc2ltYWxzLXNlbGVjdGVkLXJnYiksIDAuMDgpLFxuICAgICAgICAgICAgcmdiYSh2YXIoLS1jaGVzc2ltYWxzLXByaW1hcnktcmdiKSwgMC4wNClcbiAgICAgICAgICApLFxuICAgICAgICAgIHZhcigtLWNoZXNzaW1hbHMtcGFuZWwpO1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLW5vZGUtLWxvY2tlZCB7XG4gICAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgfVxuXG4gICAgICAvKiDilIDilIAgQXZhdGFyIOKUgOKUgCAqL1xuICAgICAgLmFkdmVudHVyZS1ub2RlX19hdmF0YXIge1xuICAgICAgICB3aWR0aDogMi43NXJlbTtcbiAgICAgICAgaGVpZ2h0OiAyLjc1cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jaGVzc2ltYWxzLWJvcmRlcik7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBmaWx0ZXI6IHZhcigtLWNoZXNzaW1hbHMtYW5pbWFsLWZhY2UtZmlsdGVyLCBub25lKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY2hlc3NpbWFscy1hbmltYWwtZmFjZS1iZywgI2ZmZmRmNyk7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtbm9kZS0tYXZhaWxhYmxlIC5hZHZlbnR1cmUtbm9kZV9fYXZhdGFyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKHZhcigtLWNoZXNzaW1hbHMtcHJpbWFyeS1yZ2IpLCAwLjUpO1xuICAgICAgfVxuXG4gICAgICAuYWR2ZW50dXJlLW5vZGUtLWNvbXBsZXRlZCAuYWR2ZW50dXJlLW5vZGVfX2F2YXRhciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSh2YXIoLS1jaGVzc2ltYWxzLXNlbGVjdGVkLXJnYiksIDAuNSk7XG4gICAgICB9XG5cbiAgICAgIC8qIOKUgOKUgCBFbW9qaSAoZGVzY2Fuc28vbWlzdGVyaW8pIOKUgOKUgCAqL1xuICAgICAgLmFkdmVudHVyZS1ub2RlX19pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgfVxuXG4gICAgICAvKiDilIDilIAgTGFiZWwg4pSA4pSAICovXG4gICAgICAuYWR2ZW50dXJlLW5vZGVfX2xhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tY2hlc3NpbWFscy10ZXh0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAvKiDilIDilIAgU3RhcnMg4pSA4pSAICovXG4gICAgICAuYWR2ZW50dXJlLW5vZGVfX3N0YXJzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAxcHg7XG4gICAgICB9XG5cbiAgICAgIC5hZHZlbnR1cmUtbm9kZV9fc3RhciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jaGVzc2ltYWxzLW11dGVkKTtcbiAgICAgIH1cblxuICAgICAgLmFkdmVudHVyZS1ub2RlX19zdGFyLS1maWxsZWQge1xuICAgICAgICBjb2xvcjogdmFyKC0tY2hlc3NpbWFscy1tYWdpYyk7XG4gICAgICB9XG5cbiAgICAgIC8qIOKUgOKUgCBCb3NzIGJhZGdlIOKUgOKUgCAqL1xuICAgICAgLmFkdmVudHVyZS1ub2RlX19iYWRnZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtNHB4O1xuICAgICAgICByaWdodDogLTRweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjZyZW07XG4gICAgICAgIHBhZGRpbmc6IDJweCA1cHg7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlc3NpbWFsc0FkdmVudHVyZUNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJvZ3Jlc3NTZXJ2aWNlID0gaW5qZWN0KENoZXNzaW1hbHNBZHZlbnR1cmVQcm9ncmVzc1NlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRvYXN0ID0gaW5qZWN0KFRvYXN0U2VydmljZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBwcm9ncmVzcyA9IHRvU2lnbmFsPENoZXNzaW1hbHNBZHZlbnR1cmVQcm9ncmVzcyB8IHVuZGVmaW5lZD4odGhpcy5wcm9ncmVzc1NlcnZpY2Uud2F0Y2hQcm9ncmVzcygpLCB7XG4gICAgaW5pdGlhbFZhbHVlOiB1bmRlZmluZWQsXG4gIH0pO1xuXG4gIHJlYWRvbmx5IHNlbGVjdGVkQWN0SWQgPSBzaWduYWw8c3RyaW5nPignYWN0MScpO1xuXG4gIHJlYWRvbmx5IHRvdGFsU3RhcnMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnByb2dyZXNzKCk/LnRvdGFsU3RhcnMgPz8gMCk7XG5cbiAgcmVhZG9ubHkgYWN0Vmlld3MgPSBjb21wdXRlZDxBZHZlbnR1cmVBY3RWaWV3W10+KCgpID0+IHtcbiAgICBjb25zdCBwcm9nID0gdGhpcy5wcm9ncmVzcygpO1xuICAgIGNvbnN0IGNvbXBsZXRlZCA9IHByb2c/LmNvbXBsZXRlZE5vZGVzID8/IHt9O1xuICAgIHJldHVybiBDSEVTU0lNQUxTX0FEVkVOVFVSRV9BQ1RTLm1hcChhY3QgPT4ge1xuICAgICAgY29uc3QgdW5sb2NrZWQgPSBhZHZlbnR1cmVBY3RJc1VubG9ja2VkKGFjdC5pZCwgY29tcGxldGVkKTtcbiAgICAgIGNvbnN0IG5vZGVzOiBBZHZlbnR1cmVOb2RlVmlld1tdID0gYWN0Lm5vZGVzLm1hcChub2RlID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gY29tcGxldGVkW25vZGUuaWRdO1xuICAgICAgICBsZXQgc3RhdHVzOiBDaGVzc2ltYWxzQWR2ZW50dXJlTm9kZVN0YXR1cztcbiAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgIHN0YXR1cyA9ICdjb21wbGV0ZWQnO1xuICAgICAgICB9IGVsc2UgaWYgKCF1bmxvY2tlZCB8fCAhYWR2ZW50dXJlTm9kZUlzQXZhaWxhYmxlKG5vZGUuaWQsIGNvbXBsZXRlZCkpIHtcbiAgICAgICAgICBzdGF0dXMgPSAnbG9ja2VkJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdGF0dXMgPSAnYXZhaWxhYmxlJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBub2RlLCBzdGF0dXMsIHN0YXJzOiByZXN1bHQ/LnN0YXJzID8/IDAgfTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYWN0LFxuICAgICAgICB1bmxvY2tlZCxcbiAgICAgICAgbm9kZXMsXG4gICAgICAgIGNvbXBsZXRlZENvdW50OiBub2Rlcy5maWx0ZXIobiA9PiBuLnN0YXR1cyA9PT0gJ2NvbXBsZXRlZCcpLmxlbmd0aCxcbiAgICAgICAgdG90YWxDb3VudDogbm9kZXMubGVuZ3RoLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKCF0aGlzLmkxOG4uaGFzTmFtZXNwYWNlKCdNaW5pR2FtZXMnKSkge1xuICAgICAgdGhpcy5pMThuLnJlZ2lzdGVyQ29udGVudCgnTWluaUdhbWVzJywgTUlOSV9HQU1FU19JMThOKTtcbiAgICB9XG4gIH1cblxuICB0KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoa2V5LCAnTWluaUdhbWVzJyk7XG4gIH1cblxuICBhdmF0YXJTcmMocHJvZmlsZUlkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgYXNzZXRzL2dhbWVzL2NoZXNzaW1hbHMvY2hhbGxlbmdlLWF2YXRhcnMvJHtwcm9maWxlSWR9LnBuZ2A7XG4gIH1cblxuICBub2RlSWNvbih0eXBlOiBDaGVzc2ltYWxzQWR2ZW50dXJlTm9kZVsndHlwZSddKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ2JhdHRsZSc6XG4gICAgICAgIHJldHVybiAn4pqU77iPJztcbiAgICAgIGNhc2UgJ2Jvc3MnOlxuICAgICAgICByZXR1cm4gJ/CfkoAnO1xuICAgICAgY2FzZSAncmVzdCc6XG4gICAgICAgIHJldHVybiAn8J+Ple+4jyc7XG4gICAgICBjYXNlICdteXN0ZXJ5JzpcbiAgICAgICAgcmV0dXJuICfinZMnO1xuICAgIH1cbiAgfVxuXG4gIG9uTm9kZVRhcChub2RlVmlldzogQWR2ZW50dXJlTm9kZVZpZXcpOiB2b2lkIHtcbiAgICBpZiAobm9kZVZpZXcuc3RhdHVzID09PSAnbG9ja2VkJykgcmV0dXJuO1xuICAgIGlmIChub2RlVmlldy5ub2RlLnR5cGUgPT09ICdyZXN0Jykge1xuICAgICAgdGhpcy5vblJlc3RUYXAobm9kZVZpZXcpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAobm9kZVZpZXcubm9kZS50eXBlID09PSAnbXlzdGVyeScpIHtcbiAgICAgIHRoaXMub25NeXN0ZXJ5VGFwKG5vZGVWaWV3KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdm9pZCB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbQURWRU5UVVJFX1JPVVRFX0JBU0VdLCB7XG4gICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICBhZHZlbnR1cmVOb2RlOiBub2RlVmlldy5ub2RlLmlkLFxuICAgICAgICBwcm9maWxlSWQ6IG5vZGVWaWV3Lm5vZGUucHJvZmlsZUlkLFxuICAgICAgICBkaWZmaWN1bHR5OiBub2RlVmlldy5ub2RlLmRpZmZpY3VsdHksXG4gICAgICAgIGJvYXJkU2l6ZTogbm9kZVZpZXcubm9kZS5ib2FyZFNpemUgPz8gNixcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9uUmVzdFRhcChub2RlVmlldzogQWR2ZW50dXJlTm9kZVZpZXcpOiB2b2lkIHtcbiAgICBpZiAobm9kZVZpZXcuc3RhdHVzID09PSAnY29tcGxldGVkJykgcmV0dXJuO1xuICAgIHZvaWQgdGhpcy5wcm9ncmVzc1NlcnZpY2UucmVjb3JkTm9kZUNvbXBsZXRlZChub2RlVmlldy5ub2RlLmlkLCAxKS50aGVuKCgpID0+IHtcbiAgICAgIHRoaXMudG9hc3Quc2hvdyh7IG1lc3NhZ2U6IHRoaXMudCgnY2hlc3NpbWFsc0FkdmVudHVyZVJlc3REb25lJyksIGNvbG9yOiAnZGFyaycsIGR1cmF0aW9uOiAyNTAwIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvbk15c3RlcnlUYXAobm9kZVZpZXc6IEFkdmVudHVyZU5vZGVWaWV3KTogdm9pZCB7XG4gICAgY29uc3QgYWN0ID0gQ0hFU1NJTUFMU19BRFZFTlRVUkVfQUNUUy5maW5kKGEgPT4gYS5pZCA9PT0gbm9kZVZpZXcubm9kZS5hY3RJZCk7XG4gICAgY29uc3QgYmF0dGxlTm9kZXMgPSBhY3Q/Lm5vZGVzLmZpbHRlcihuID0+IG4udHlwZSA9PT0gJ2JhdHRsZScgJiYgbi5wcm9maWxlSWQpID8/IFtdO1xuICAgIGlmICghYmF0dGxlTm9kZXMubGVuZ3RoKSByZXR1cm47XG4gICAgY29uc3QgcGljayA9IGJhdHRsZU5vZGVzW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGJhdHRsZU5vZGVzLmxlbmd0aCldO1xuICAgIHRoaXMudG9hc3Quc2hvdyh7IG1lc3NhZ2U6IHRoaXMudCgnY2hlc3NpbWFsc0FkdmVudHVyZU15c3RlcnlSZXZlYWwnKSwgY29sb3I6ICdkYXJrJywgZHVyYXRpb246IDIwMDAgfSk7XG4gICAgdm9pZCB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbQURWRU5UVVJFX1JPVVRFX0JBU0VdLCB7XG4gICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICBhZHZlbnR1cmVOb2RlOiBub2RlVmlldy5ub2RlLmlkLFxuICAgICAgICBwcm9maWxlSWQ6IHBpY2sucHJvZmlsZUlkLFxuICAgICAgICBkaWZmaWN1bHR5OiBwaWNrLmRpZmZpY3VsdHksXG4gICAgICAgIGJvYXJkU2l6ZTogcGljay5ib2FyZFNpemUgPz8gNixcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==